external/boringssl: Sync to 8625ec4b436ccb4098ed4aac10891eff8372be41.

This includes the following changes:

https://boringssl.googlesource.com/boringssl/+log/c596415ec62b501523d80f9afa26b135406da6bf..8625ec4b436ccb4098ed4aac10891eff8372be41

Test: cts -m CtsLibcoreTestCases
Change-Id: I47a45e6b6f46b19fcbcb6c917895867d56dcd2ca
diff --git a/src/.gitignore b/src/.gitignore
index 5e9e8f7..db50b0b 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -15,8 +15,11 @@
 util/bot/cmake-win32.zip
 util/bot/golang
 util/bot/gyp
+util/bot/libcxx
+util/bot/libcxxabi
 util/bot/libFuzzer
 util/bot/llvm-build
+util/bot/nasm-win32.exe
 util/bot/perl-win32
 util/bot/perl-win32.zip
 util/bot/sde-linux64
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 97ea289..7ba4a95 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -38,6 +38,9 @@
   message(FATAL_ERROR "Could not find Go")
 endif()
 
+if (USE_CUSTOM_LIBCXX)
+  set(BORINGSSL_ALLOW_CXX_RUNTIME 1)
+endif()
 if (BORINGSSL_ALLOW_CXX_RUNTIME)
   add_definitions(-DBORINGSSL_ALLOW_CXX_RUNTIME)
 endif()
@@ -151,6 +154,8 @@
       "C4820" # 'bytes' bytes padding added after construct 'member_name'
       "C5026" # move constructor was implicitly defined as deleted
       "C5027" # move assignment operator was implicitly defined as deleted
+      "C5045" # Compiler will insert Spectre mitigation for memory load if
+              # /Qspectre switch specified
       )
   set(MSVC_LEVEL4_WARNINGS_LIST
       # See https://connect.microsoft.com/VisualStudio/feedback/details/1217660/warning-c4265-when-using-functional-header
@@ -170,8 +175,11 @@
   add_definitions(-DNOMINMAX)
   # Allow use of fopen.
   add_definitions(-D_CRT_SECURE_NO_WARNINGS)
-  # VS 2017 and higher supports STL-only warning suppressions.
-  add_definitions("-D_STL_EXTRA_DISABLED_WARNINGS=4774 4987")
+  # VS 2017 and higher supports STL-only warning suppressions. Manually add to
+  # C++ only to work around a CMake quoting bug when using NASM with the Visual
+  # Studio generator. This will be fixed in CMake 3.13.0. See
+  # https://gitlab.kitware.com/cmake/cmake/merge_requests/2179
+  add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-D_STL_EXTRA_DISABLED_WARNINGS=4774\ 4987>)
 endif()
 
 if((CMAKE_COMPILER_IS_GNUCXX AND CMAKE_C_COMPILER_VERSION VERSION_GREATER "4.7.99") OR
@@ -208,7 +216,7 @@
 
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address -fsanitize-coverage=edge,indirect-calls,trace-pc-guard")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fsanitize-coverage=edge,indirect-calls,trace-pc-guard")
-  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_C_FLAGS} -fsanitize=address")
+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=address")
   link_directories(.)
 endif()
 
@@ -263,6 +271,16 @@
   set(OPENSSL_NO_ASM "1")
 endif()
 
+if(TSAN)
+  if(NOT CLANG)
+    message(FATAL_ERROR "Cannot enable TSAN unless using Clang")
+  endif()
+
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=thread")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread")
+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fsanitize=thread")
+endif()
+
 if (GCOV)
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fprofile-arcs -ftest-coverage")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
@@ -346,6 +364,61 @@
   set(ARCH "x86_64")
 endif()
 
+if (USE_CUSTOM_LIBCXX)
+  if (NOT CLANG)
+    message(FATAL_ERROR "USE_CUSTOM_LIBCXX only supported with Clang")
+  endif()
+
+  # CMAKE_CXX_FLAGS ends up in the linker flags as well, so use
+  # add_compile_options. There does not appear to be a way to set
+  # language-specific compile-only flags.
+  add_compile_options("-nostdinc++")
+  set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib++")
+  include_directories(
+    SYSTEM
+    util/bot/libcxx/include
+    util/bot/libcxxabi/include
+  )
+
+  # This is patterned after buildtools/third_party/libc++/BUILD.gn and
+  # buildtools/third_party/libc++abi/BUILD.gn in Chromium.
+
+  file(GLOB LIBCXX_SOURCES "util/bot/libcxx/src/*.cpp")
+  file(GLOB LIBCXXABI_SOURCES "util/bot/libcxxabi/src/*.cpp")
+
+  # This file is meant for exception-less builds.
+  list(REMOVE_ITEM LIBCXXABI_SOURCES "trunk/src/cxa_noexception.cpp")
+  # libc++ also defines new and delete.
+  list(REMOVE_ITEM LIBCXXABI_SOURCES "trunk/src/stdlib_new_delete.cpp")
+  if (TSAN)
+    # ThreadSanitizer tries to intercept these symbols. Skip them to avoid
+    # symbol conflicts.
+    list(REMOVE_ITEM LIBCXXABI_SOURCES "trunk/src/cxa_guard.cpp")
+  endif()
+
+  add_library(libcxxabi ${LIBCXXABI_SOURCES})
+  target_compile_definitions(
+    libcxxabi PRIVATE
+    -D_LIBCPP_ENABLE_CXX17_REMOVED_UNEXPECTED_FUNCTIONS
+  )
+  set_target_properties(libcxxabi PROPERTIES COMPILE_FLAGS "-Wno-missing-prototypes -Wno-implicit-fallthrough")
+
+  add_library(libcxx ${LIBCXX_SOURCES})
+  if (ASAN OR MSAN OR TSAN)
+    # Sanitizers try to intercept new and delete.
+    target_compile_definitions(
+      libcxx PRIVATE
+      -D_LIBCPP_DISABLE_NEW_DELETE_DEFINITIONS
+    )
+  endif()
+  target_compile_definitions(
+    libcxx PRIVATE
+    -D_LIBCPP_BUILDING_LIBRARY
+    -DLIBCXX_BUILDING_LIBCXXABI
+  )
+  target_link_libraries(libcxx libcxxabi)
+endif()
+
 # Add minimal googletest targets. The provided one has many side-effects, and
 # googletest has a very straightforward build.
 add_library(boringssl_gtest third_party/googletest/src/gtest-all.cc)
@@ -399,5 +472,5 @@
             ${GO_EXECUTABLE} test -shim-path $<TARGET_FILE:bssl_shim>
               ${RUNNER_ARGS}
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-    DEPENDS all_tests bssl_shim
+    DEPENDS all_tests bssl_shim handshaker
     ${MAYBE_USES_TERMINAL})
diff --git a/src/PORTING.md b/src/PORTING.md
index 66347eb..9adaf73 100644
--- a/src/PORTING.md
+++ b/src/PORTING.md
@@ -123,7 +123,7 @@
 
 To enable renegotiation, call `SSL_set_renegotiate_mode` and set it to
 `ssl_renegotiate_once` or `ssl_renegotiate_freely`. Renegotiation is only
-supported as a client in SSL3/TLS and the HelloRequest must be received at a
+supported as a client in TLS and the HelloRequest must be received at a
 quiet point in the application protocol. This is sufficient to support the
 common use of requesting a new client certificate between an HTTP request and
 response in (unpipelined) HTTP/1.1.
diff --git a/src/codereview.settings b/src/codereview.settings
index 3620348..934cc7e 100644
--- a/src/codereview.settings
+++ b/src/codereview.settings
@@ -1,4 +1,4 @@
-# This file is used by gcl to get repository specific information. 
+# This file is used by "git cl" to get repository specific information.
 GERRIT_HOST: True
 GERRIT_PORT: True
 CODE_REVIEW_SERVER: https://boringssl-review.googlesource.com
diff --git a/src/crypto/CMakeLists.txt b/src/crypto/CMakeLists.txt
index 1095916..d0a4d97 100644
--- a/src/crypto/CMakeLists.txt
+++ b/src/crypto/CMakeLists.txt
@@ -109,7 +109,7 @@
 add_subdirectory(dsa)
 add_subdirectory(rsa_extra)
 add_subdirectory(ec_extra)
-add_subdirectory(ecdh)
+add_subdirectory(ecdh_extra)
 add_subdirectory(ecdsa_extra)
 
 # Level 3
@@ -192,7 +192,7 @@
   $<TARGET_OBJECTS:dsa>
   $<TARGET_OBJECTS:rsa_extra>
   $<TARGET_OBJECTS:ec_extra>
-  $<TARGET_OBJECTS:ecdh>
+  $<TARGET_OBJECTS:ecdh_extra>
   $<TARGET_OBJECTS:ecdsa_extra>
   $<TARGET_OBJECTS:cmac>
   $<TARGET_OBJECTS:evp>
@@ -216,6 +216,12 @@
   target_link_libraries(crypto pthread)
 endif()
 
+# Every target depends on crypto, so we add libcxx as a dependency here to
+# simplify injecting it everywhere.
+if(USE_CUSTOM_LIBCXX)
+  target_link_libraries(crypto libcxx)
+endif()
+
 # TODO(davidben): Convert the remaining tests to GTest.
 add_executable(
   crypto_test
@@ -234,7 +240,7 @@
   curve25519/ed25519_test.cc
   curve25519/spake25519_test.cc
   curve25519/x25519_test.cc
-  ecdh/ecdh_test.cc
+  ecdh_extra/ecdh_test.cc
   dh/dh_test.cc
   digest_extra/digest_test.cc
   dsa/dsa_test.cc
@@ -265,6 +271,7 @@
   test/file_test_gtest.cc
   thread_test.cc
   x509/x509_test.cc
+  x509/x509_time_test.cc
   x509v3/tab_test.cc
   x509v3/v3name_test.cc
 
diff --git a/src/crypto/asn1/a_mbstr.c b/src/crypto/asn1/a_mbstr.c
index a2789ed..1bbcd1b 100644
--- a/src/crypto/asn1/a_mbstr.c
+++ b/src/crypto/asn1/a_mbstr.c
@@ -56,23 +56,16 @@
 
 #include <openssl/asn1.h>
 
+#include <limits.h>
 #include <string.h>
 
+#include <openssl/bytestring.h>
 #include <openssl/err.h>
 #include <openssl/mem.h>
 
 #include "asn1_locl.h"
+#include "../bytestring/internal.h"
 
-static int traverse_string(const unsigned char *p, int len, int inform,
-                           int (*rfunc) (uint32_t value, void *in),
-                           void *arg);
-static int in_utf8(uint32_t value, void *arg);
-static int out_utf8(uint32_t value, void *arg);
-static int type_str(uint32_t value, void *arg);
-static int cpy_asc(uint32_t value, void *arg);
-static int cpy_bmp(uint32_t value, void *arg);
-static int cpy_univ(uint32_t value, void *arg);
-static int cpy_utf8(uint32_t value, void *arg);
 static int is_printable(uint32_t value);
 
 /*
@@ -90,55 +83,45 @@
     return ASN1_mbstring_ncopy(out, in, len, inform, mask, 0, 0);
 }
 
+OPENSSL_DECLARE_ERROR_REASON(ASN1, INVALID_BMPSTRING)
+OPENSSL_DECLARE_ERROR_REASON(ASN1, INVALID_UNIVERSALSTRING)
+OPENSSL_DECLARE_ERROR_REASON(ASN1, INVALID_UTF8STRING)
+
 int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len,
                         int inform, unsigned long mask,
                         long minsize, long maxsize)
 {
     int str_type;
-    int ret;
     char free_out;
-    int outform, outlen = 0;
     ASN1_STRING *dest;
-    unsigned char *p;
-    int nchar;
+    size_t nchar = 0;
     char strbuf[32];
-    int (*cpyfunc) (uint32_t, void *) = NULL;
     if (len == -1)
         len = strlen((const char *)in);
     if (!mask)
         mask = DIRSTRING_TYPE;
 
-    /* First do a string check and work out the number of characters */
+    int (*decode_func)(CBS *, uint32_t*);
+    int error;
     switch (inform) {
-
     case MBSTRING_BMP:
-        if (len & 1) {
-            OPENSSL_PUT_ERROR(ASN1, ASN1_R_INVALID_BMPSTRING_LENGTH);
-            return -1;
-        }
-        nchar = len >> 1;
+        decode_func = cbs_get_ucs2_be;
+        error = ASN1_R_INVALID_BMPSTRING;
         break;
 
     case MBSTRING_UNIV:
-        if (len & 3) {
-            OPENSSL_PUT_ERROR(ASN1, ASN1_R_INVALID_UNIVERSALSTRING_LENGTH);
-            return -1;
-        }
-        nchar = len >> 2;
+        decode_func = cbs_get_utf32_be;
+        error = ASN1_R_INVALID_UNIVERSALSTRING;
         break;
 
     case MBSTRING_UTF8:
-        nchar = 0;
-        /* This counts the characters and does utf8 syntax checking */
-        ret = traverse_string(in, len, MBSTRING_UTF8, in_utf8, &nchar);
-        if (ret < 0) {
-            OPENSSL_PUT_ERROR(ASN1, ASN1_R_INVALID_UTF8STRING);
-            return -1;
-        }
+        decode_func = cbs_get_utf8;
+        error = ASN1_R_INVALID_UTF8STRING;
         break;
 
     case MBSTRING_ASC:
-        nchar = len;
+        decode_func = cbs_get_latin1;
+        error = ERR_R_INTERNAL_ERROR;  // Latin-1 inputs are never invalid.
         break;
 
     default:
@@ -146,44 +129,92 @@
         return -1;
     }
 
-    if ((minsize > 0) && (nchar < minsize)) {
+    /* Check |minsize| and |maxsize| and work out the minimal type, if any. */
+    CBS cbs;
+    CBS_init(&cbs, in, len);
+    size_t utf8_len = 0;
+    while (CBS_len(&cbs) != 0) {
+        uint32_t c;
+        if (!decode_func(&cbs, &c)) {
+            OPENSSL_PUT_ERROR(ASN1, error);
+            return -1;
+        }
+        if (nchar == 0 &&
+            (inform == MBSTRING_BMP || inform == MBSTRING_UNIV) &&
+            c == 0xfeff) {
+            /* Reject byte-order mark. We could drop it but that would mean
+             * adding ambiguity around whether a BOM was included or not when
+             * matching strings.
+             *
+             * For a little-endian UCS-2 string, the BOM will appear as 0xfffe
+             * and will be rejected as noncharacter, below. */
+            OPENSSL_PUT_ERROR(ASN1, ASN1_R_ILLEGAL_CHARACTERS);
+            return -1;
+        }
+
+        /* Update which output formats are still possible. */
+        if ((mask & B_ASN1_PRINTABLESTRING) && !is_printable(c)) {
+            mask &= ~B_ASN1_PRINTABLESTRING;
+        }
+        if ((mask & B_ASN1_IA5STRING) && (c > 127)) {
+            mask &= ~B_ASN1_IA5STRING;
+        }
+        if ((mask & B_ASN1_T61STRING) && (c > 0xff)) {
+            mask &= ~B_ASN1_T61STRING;
+        }
+        if ((mask & B_ASN1_BMPSTRING) && (c > 0xffff)) {
+            mask &= ~B_ASN1_BMPSTRING;
+        }
+        if (!mask) {
+            OPENSSL_PUT_ERROR(ASN1, ASN1_R_ILLEGAL_CHARACTERS);
+            return -1;
+        }
+
+        nchar++;
+        utf8_len += cbb_get_utf8_len(c);
+    }
+
+    if (minsize > 0 && nchar < (size_t)minsize) {
         OPENSSL_PUT_ERROR(ASN1, ASN1_R_STRING_TOO_SHORT);
         BIO_snprintf(strbuf, sizeof strbuf, "%ld", minsize);
         ERR_add_error_data(2, "minsize=", strbuf);
         return -1;
     }
 
-    if ((maxsize > 0) && (nchar > maxsize)) {
+    if (maxsize > 0 && nchar > (size_t)maxsize) {
         OPENSSL_PUT_ERROR(ASN1, ASN1_R_STRING_TOO_LONG);
         BIO_snprintf(strbuf, sizeof strbuf, "%ld", maxsize);
         ERR_add_error_data(2, "maxsize=", strbuf);
         return -1;
     }
 
-    /* Now work out minimal type (if any) */
-    if (traverse_string(in, len, inform, type_str, &mask) < 0) {
-        OPENSSL_PUT_ERROR(ASN1, ASN1_R_ILLEGAL_CHARACTERS);
-        return -1;
-    }
-
     /* Now work out output format and string type */
-    outform = MBSTRING_ASC;
-    if (mask & B_ASN1_PRINTABLESTRING)
+    int (*encode_func)(CBB *, uint32_t) = cbb_add_latin1;
+    size_t size_estimate = nchar;
+    int outform = MBSTRING_ASC;
+    if (mask & B_ASN1_PRINTABLESTRING) {
         str_type = V_ASN1_PRINTABLESTRING;
-    else if (mask & B_ASN1_IA5STRING)
+    } else if (mask & B_ASN1_IA5STRING) {
         str_type = V_ASN1_IA5STRING;
-    else if (mask & B_ASN1_T61STRING)
+    } else if (mask & B_ASN1_T61STRING) {
         str_type = V_ASN1_T61STRING;
-    else if (mask & B_ASN1_BMPSTRING) {
+    } else if (mask & B_ASN1_BMPSTRING) {
         str_type = V_ASN1_BMPSTRING;
         outform = MBSTRING_BMP;
+        encode_func = cbb_add_ucs2_be;
+        size_estimate = 2 * nchar;
     } else if (mask & B_ASN1_UNIVERSALSTRING) {
         str_type = V_ASN1_UNIVERSALSTRING;
+        encode_func = cbb_add_utf32_be;
+        size_estimate = 4 * nchar;
         outform = MBSTRING_UNIV;
     } else {
         str_type = V_ASN1_UTF8STRING;
         outform = MBSTRING_UTF8;
+        encode_func = cbb_add_utf8;
+        size_estimate = utf8_len;
     }
+
     if (!out)
         return str_type;
     if (*out) {
@@ -204,6 +235,7 @@
         }
         *out = dest;
     }
+
     /* If both the same type just copy across */
     if (inform == outform) {
         if (!ASN1_STRING_set(dest, in, len)) {
@@ -213,179 +245,41 @@
         return str_type;
     }
 
-    /* Work out how much space the destination will need */
-    switch (outform) {
-    case MBSTRING_ASC:
-        outlen = nchar;
-        cpyfunc = cpy_asc;
-        break;
-
-    case MBSTRING_BMP:
-        outlen = nchar << 1;
-        cpyfunc = cpy_bmp;
-        break;
-
-    case MBSTRING_UNIV:
-        outlen = nchar << 2;
-        cpyfunc = cpy_univ;
-        break;
-
-    case MBSTRING_UTF8:
-        outlen = 0;
-        traverse_string(in, len, inform, out_utf8, &outlen);
-        cpyfunc = cpy_utf8;
-        break;
-    }
-    if (!(p = OPENSSL_malloc(outlen + 1))) {
-        if (free_out)
-            ASN1_STRING_free(dest);
+    CBB cbb;
+    if (!CBB_init(&cbb, size_estimate + 1)) {
         OPENSSL_PUT_ERROR(ASN1, ERR_R_MALLOC_FAILURE);
-        return -1;
+        goto err;
     }
-    dest->length = outlen;
-    dest->data = p;
-    p[outlen] = 0;
-    traverse_string(in, len, inform, cpyfunc, &p);
+    CBS_init(&cbs, in, len);
+    while (CBS_len(&cbs) != 0) {
+        uint32_t c;
+        if (!decode_func(&cbs, &c) ||
+            !encode_func(&cbb, c)) {
+            OPENSSL_PUT_ERROR(ASN1, ERR_R_INTERNAL_ERROR);
+            goto err;
+        }
+    }
+    uint8_t *data = NULL;
+    size_t data_len;
+    if (/* OpenSSL historically NUL-terminated this value with a single byte,
+         * even for |MBSTRING_BMP| and |MBSTRING_UNIV|. */
+        !CBB_add_u8(&cbb, 0) ||
+        !CBB_finish(&cbb, &data, &data_len) ||
+        data_len < 1 ||
+        data_len > INT_MAX) {
+        OPENSSL_PUT_ERROR(ASN1, ERR_R_INTERNAL_ERROR);
+        OPENSSL_free(data);
+        goto err;
+    }
+    dest->length = (int)(data_len - 1);
+    dest->data = data;
     return str_type;
-}
 
-/*
- * This function traverses a string and passes the value of each character to
- * an optional function along with a void * argument.
- */
-
-static int traverse_string(const unsigned char *p, int len, int inform,
-                           int (*rfunc) (uint32_t value, void *in),
-                           void *arg)
-{
-    uint32_t value;
-    int ret;
-    while (len) {
-        if (inform == MBSTRING_ASC) {
-            value = *p++;
-            len--;
-        } else if (inform == MBSTRING_BMP) {
-            value = *p++ << 8;
-            value |= *p++;
-            len -= 2;
-        } else if (inform == MBSTRING_UNIV) {
-            value = ((uint32_t)*p++) << 24;
-            value |= ((uint32_t)*p++) << 16;
-            value |= *p++ << 8;
-            value |= *p++;
-            len -= 4;
-        } else {
-            ret = UTF8_getc(p, len, &value);
-            if (ret < 0)
-                return -1;
-            len -= ret;
-            p += ret;
-        }
-        if (rfunc) {
-            ret = rfunc(value, arg);
-            if (ret <= 0)
-                return ret;
-        }
-    }
-    return 1;
-}
-
-/* Various utility functions for traverse_string */
-
-/* Just count number of characters */
-
-static int in_utf8(uint32_t value, void *arg)
-{
-    int *nchar;
-    nchar = arg;
-    (*nchar)++;
-    return 1;
-}
-
-/* Determine size of output as a UTF8 String */
-
-static int out_utf8(uint32_t value, void *arg)
-{
-    int *outlen;
-    outlen = arg;
-    *outlen += UTF8_putc(NULL, -1, value);
-    return 1;
-}
-
-/*
- * Determine the "type" of a string: check each character against a supplied
- * "mask".
- */
-
-static int type_str(uint32_t value, void *arg)
-{
-    unsigned long types;
-    types = *((unsigned long *)arg);
-    if ((types & B_ASN1_PRINTABLESTRING) && !is_printable(value))
-        types &= ~B_ASN1_PRINTABLESTRING;
-    if ((types & B_ASN1_IA5STRING) && (value > 127))
-        types &= ~B_ASN1_IA5STRING;
-    if ((types & B_ASN1_T61STRING) && (value > 0xff))
-        types &= ~B_ASN1_T61STRING;
-    if ((types & B_ASN1_BMPSTRING) && (value > 0xffff))
-        types &= ~B_ASN1_BMPSTRING;
-    if (!types)
-        return -1;
-    *((unsigned long *)arg) = types;
-    return 1;
-}
-
-/* Copy one byte per character ASCII like strings */
-
-static int cpy_asc(uint32_t value, void *arg)
-{
-    unsigned char **p, *q;
-    p = arg;
-    q = *p;
-    *q = (unsigned char)value;
-    (*p)++;
-    return 1;
-}
-
-/* Copy two byte per character BMPStrings */
-
-static int cpy_bmp(uint32_t value, void *arg)
-{
-    unsigned char **p, *q;
-    p = arg;
-    q = *p;
-    *q++ = (unsigned char)((value >> 8) & 0xff);
-    *q = (unsigned char)(value & 0xff);
-    *p += 2;
-    return 1;
-}
-
-/* Copy four byte per character UniversalStrings */
-
-static int cpy_univ(uint32_t value, void *arg)
-{
-    unsigned char **p, *q;
-    p = arg;
-    q = *p;
-    *q++ = (unsigned char)((value >> 24) & 0xff);
-    *q++ = (unsigned char)((value >> 16) & 0xff);
-    *q++ = (unsigned char)((value >> 8) & 0xff);
-    *q = (unsigned char)(value & 0xff);
-    *p += 4;
-    return 1;
-}
-
-/* Copy to a UTF8String */
-
-static int cpy_utf8(uint32_t value, void *arg)
-{
-    unsigned char **p;
-    int ret;
-    p = arg;
-    /* We already know there is enough room so pass 0xff as the length */
-    ret = UTF8_putc(*p, 0xff, value);
-    *p += ret;
-    return 1;
+ err:
+    if (free_out)
+        ASN1_STRING_free(dest);
+    CBB_cleanup(&cbb);
+    return -1;
 }
 
 /* Return 1 if the character is permitted in a PrintableString */
diff --git a/src/crypto/bytestring/CMakeLists.txt b/src/crypto/bytestring/CMakeLists.txt
index 37ff51c..2bb4c15 100644
--- a/src/crypto/bytestring/CMakeLists.txt
+++ b/src/crypto/bytestring/CMakeLists.txt
@@ -9,4 +9,5 @@
   ber.c
   cbs.c
   cbb.c
+  unicode.c
 )
diff --git a/src/crypto/bytestring/ber.c b/src/crypto/bytestring/ber.c
index bb5e17c..7437239 100644
--- a/src/crypto/bytestring/ber.c
+++ b/src/crypto/bytestring/ber.c
@@ -189,7 +189,7 @@
   return looking_for_eoc == 0;
 }
 
-int CBS_asn1_ber_to_der(CBS *in, uint8_t **out, size_t *out_len) {
+int CBS_asn1_ber_to_der(CBS *in, CBS *out, uint8_t **out_storage) {
   CBB cbb;
 
   // First, do a quick walk to find any indefinite-length elements. Most of the
@@ -200,18 +200,22 @@
   }
 
   if (!conversion_needed) {
-    *out = NULL;
-    *out_len = 0;
+    if (!CBS_get_any_asn1_element(in, out, NULL, NULL)) {
+      return 0;
+    }
+    *out_storage = NULL;
     return 1;
   }
 
+  size_t len;
   if (!CBB_init(&cbb, CBS_len(in)) ||
       !cbs_convert_ber(in, &cbb, 0, 0, 0) ||
-      !CBB_finish(&cbb, out, out_len)) {
+      !CBB_finish(&cbb, out_storage, &len)) {
     CBB_cleanup(&cbb);
     return 0;
   }
 
+  CBS_init(out, *out_storage, len);
   return 1;
 }
 
diff --git a/src/crypto/bytestring/bytestring_test.cc b/src/crypto/bytestring/bytestring_test.cc
index 10eac69..639ddc7 100644
--- a/src/crypto/bytestring/bytestring_test.cc
+++ b/src/crypto/bytestring/bytestring_test.cc
@@ -558,19 +558,18 @@
                              size_t der_len, const uint8_t *ber,
                              size_t ber_len) {
   SCOPED_TRACE(name);
-  CBS in;
-  uint8_t *out;
-  size_t out_len;
+  CBS in, out;
+  uint8_t *storage;
 
   CBS_init(&in, ber, ber_len);
-  ASSERT_TRUE(CBS_asn1_ber_to_der(&in, &out, &out_len));
-  bssl::UniquePtr<uint8_t> scoper(out);
+  ASSERT_TRUE(CBS_asn1_ber_to_der(&in, &out, &storage));
+  bssl::UniquePtr<uint8_t> scoper(storage);
 
-  if (out == NULL) {
-    EXPECT_EQ(Bytes(der_expected, der_len), Bytes(ber, ber_len));
-  } else {
+  EXPECT_EQ(Bytes(der_expected, der_len), Bytes(CBS_data(&out), CBS_len(&out)));
+  if (storage != nullptr) {
     EXPECT_NE(Bytes(der_expected, der_len), Bytes(ber, ber_len));
-    EXPECT_EQ(Bytes(der_expected, der_len), Bytes(out, out_len));
+  } else {
+    EXPECT_EQ(Bytes(der_expected, der_len), Bytes(ber, ber_len));
   }
 }
 
@@ -1051,3 +1050,221 @@
     EXPECT_FALSE(CBB_flush_asn1_set_of(&child));
   }
 }
+
+template <class T>
+static std::vector<uint8_t> LiteralToBytes(const T *str) {
+  std::vector<uint8_t> ret;
+  for (; *str != 0; str++) {
+    for (size_t i = 0; i < sizeof(T); i++) {
+      ret.push_back(static_cast<uint8_t>(*str >> (8 * (sizeof(T) - 1 - i))));
+    }
+  }
+  return ret;
+}
+
+static std::vector<uint32_t> LiteralToCodePoints(const char32_t *str) {
+  std::vector<uint32_t> ret;
+  for (; *str != 0; str++) {
+    ret.push_back(static_cast<uint32_t>(*str));
+  }
+  return ret;
+}
+
+TEST(CBBTest, Unicode) {
+  struct {
+    int (*decode)(CBS *, uint32_t *);
+    int (*encode)(CBB *, uint32_t);
+    std::vector<uint8_t> in;
+    std::vector<uint32_t> out;
+    bool ok;
+  } kTests[] = {
+      {cbs_get_utf8, cbb_add_utf8,
+       // This test string captures all four cases in UTF-8.
+       LiteralToBytes(u8"Hello, δΈ–η•Œ! ¡Hola, 🌎!"),
+       LiteralToCodePoints(U"Hello, δΈ–η•Œ! ¡Hola, 🌎!"), true},
+
+      // Some invalid inputs adapted from
+      // http://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
+      // 2.1  First possible sequence of a certain length. (5- and 6-bit
+      // sequences no longer exist.)
+      {cbs_get_utf8, cbb_add_utf8, {0xf8, 0x88, 0x80, 0x80, 0x80}, {}, false},
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xfc, 0x84, 0x80, 0x80, 0x80, 0x80},
+       {},
+       false},
+      // 3.1  Unexpected continuation bytes.
+      {cbs_get_utf8, cbb_add_utf8, {0x80}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xbf}, {}, false},
+      // 3.2  Lonely start characters.
+      {cbs_get_utf8, cbb_add_utf8, {0xc0, ' '}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xe0, ' '}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xf0, ' '}, {}, false},
+      // 3.3  Sequences with last continuation byte missing
+      {cbs_get_utf8, cbb_add_utf8, {0xc0}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xe0, 0x80}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xf0, 0x80, 0x80}, {}, false},
+      // Variation of the above with unexpected spaces.
+      {cbs_get_utf8, cbb_add_utf8, {0xe0, 0x80, ' '}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xf0, 0x80, 0x80, ' '}, {}, false},
+      // 4.1  Examples of an overlong ASCII character
+      {cbs_get_utf8, cbb_add_utf8, {0xc0, 0xaf}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xe0, 0x80, 0xaf}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xf0, 0x80, 0x80, 0xaf}, {}, false},
+      // 4.2  Maximum overlong sequences
+      {cbs_get_utf8, cbb_add_utf8, {0xc1, 0xbf}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xe0, 0x9f, 0xbf}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xf0, 0x8f, 0xbf, 0xbf}, {}, false},
+      // 4.3  Overlong representation of the NUL character
+      {cbs_get_utf8, cbb_add_utf8, {0xc0, 0x80}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xe0, 0x80, 0x80}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xf0, 0x80, 0x80, 0x80}, {}, false},
+      // 5.1  Single UTF-16 surrogates
+      {cbs_get_utf8, cbb_add_utf8, {0xed, 0xa0, 0x80}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xed, 0xad, 0xbf}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xed, 0xae, 0x80}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xed, 0xb0, 0x80}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xed, 0xbe, 0x80}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xed, 0xbf, 0xbf}, {}, false},
+      // 5.2  Paired UTF-16 surrogates
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xed, 0xa0, 0x80, 0xed, 0xb0, 0x80},
+       {},
+       false},
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xed, 0xa0, 0x80, 0xed, 0xbf, 0xbf},
+       {},
+       false},
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xed, 0xad, 0xbf, 0xed, 0xb0, 0x80},
+       {},
+       false},
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xed, 0xad, 0xbf, 0xed, 0xbf, 0xbf},
+       {},
+       false},
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xed, 0xae, 0x80, 0xed, 0xb0, 0x80},
+       {},
+       false},
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xed, 0xae, 0x80, 0xed, 0xbf, 0xbf},
+       {},
+       false},
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xed, 0xaf, 0xbf, 0xed, 0xb0, 0x80},
+       {},
+       false},
+      {cbs_get_utf8,
+       cbb_add_utf8,
+       {0xed, 0xaf, 0xbf, 0xed, 0xbf, 0xbf},
+       {},
+       false},
+      // 5.3  Noncharacter code positions
+      {cbs_get_utf8, cbb_add_utf8, {0xef, 0xbf, 0xbe}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xef, 0xbf, 0xbf}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xef, 0xb7, 0x90}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xef, 0xb7, 0xaf}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xf0, 0x9f, 0xbf, 0xbe}, {}, false},
+      {cbs_get_utf8, cbb_add_utf8, {0xf0, 0x9f, 0xbf, 0xbf}, {}, false},
+
+      {cbs_get_latin1, cbb_add_latin1, LiteralToBytes("\xa1Hola!"),
+       LiteralToCodePoints(U"¡Hola!"), true},
+
+      // UCS-2 matches UTF-16 on the BMP.
+      {cbs_get_ucs2_be, cbb_add_ucs2_be, LiteralToBytes(u"Hello, δΈ–η•Œ!"),
+       LiteralToCodePoints(U"Hello, δΈ–η•Œ!"), true},
+      // It does not support characters beyond the BMP.
+      {cbs_get_ucs2_be, cbb_add_ucs2_be,
+       LiteralToBytes(u"Hello, δΈ–η•Œ! ¡Hola, 🌎!"),
+       LiteralToCodePoints(U"Hello, δΈ–η•Œ! ¡Hola, "), false},
+      // Unpaired surrogates and non-characters are also rejected.
+      {cbs_get_ucs2_be, cbb_add_ucs2_be, {0xd8, 0x00}, {}, false},
+      {cbs_get_ucs2_be, cbb_add_ucs2_be, {0xff, 0xfe}, {}, false},
+
+      {cbs_get_utf32_be, cbb_add_utf32_be,
+       LiteralToBytes(U"Hello, δΈ–η•Œ! ¡Hola, 🌎!"),
+       LiteralToCodePoints(U"Hello, δΈ–η•Œ! ¡Hola, 🌎!"), true},
+      // Unpaired surrogates and non-characters are rejected.
+      {cbs_get_utf32_be, cbb_add_utf32_be, {0x00, 0x00, 0xd8, 0x00}, {}, false},
+      {cbs_get_utf32_be, cbb_add_utf32_be, {0x00, 0x00, 0xff, 0xfe}, {}, false},
+
+      // Test that the NUL character can be encoded.
+      {cbs_get_latin1, cbb_add_latin1, {0}, {0}, true},
+      {cbs_get_utf8, cbb_add_utf8, {0}, {0}, true},
+      {cbs_get_ucs2_be, cbb_add_ucs2_be, {0, 0}, {0}, true},
+      {cbs_get_utf32_be, cbb_add_utf32_be, {0, 0, 0, 0}, {0}, true},
+  };
+  for (const auto &t : kTests) {
+    SCOPED_TRACE(Bytes(t.in));
+
+    // Test decoding.
+    CBS cbs;
+    CBS_init(&cbs, t.in.data(), t.in.size());
+    std::vector<uint32_t> out;
+    bool ok = true;
+    while (CBS_len(&cbs) != 0) {
+      uint32_t u;
+      if (!t.decode(&cbs, &u)) {
+        ok = false;
+        break;
+      }
+      out.push_back(u);
+    }
+    EXPECT_EQ(t.ok, ok);
+    EXPECT_EQ(t.out, out);
+
+    // Test encoding.
+    if (t.ok) {
+      bssl::ScopedCBB cbb;
+      ASSERT_TRUE(CBB_init(cbb.get(), 0));
+      for (uint32_t u : t.out) {
+        ASSERT_TRUE(t.encode(cbb.get(), u));
+      }
+      EXPECT_EQ(Bytes(t.in), Bytes(CBB_data(cbb.get()), CBB_len(cbb.get())));
+    }
+  }
+
+  static const uint32_t kBadCodePoints[] = {
+    // Surrogate pairs.
+    0xd800,
+    0xdfff,
+    // Non-characters.
+    0xfffe,
+    0xffff,
+    0xfdd0,
+    0x1fffe,
+    0x1ffff,
+    // Too big.
+    0x110000,
+  };
+  bssl::ScopedCBB cbb;
+  ASSERT_TRUE(CBB_init(cbb.get(), 0));
+  for (uint32_t v : kBadCodePoints) {
+    SCOPED_TRACE(v);
+    EXPECT_FALSE(cbb_add_utf8(cbb.get(), v));
+    EXPECT_FALSE(cbb_add_latin1(cbb.get(), v));
+    EXPECT_FALSE(cbb_add_ucs2_be(cbb.get(), v));
+    EXPECT_FALSE(cbb_add_utf32_be(cbb.get(), v));
+  }
+
+  // Additional values that are out of range.
+  EXPECT_FALSE(cbb_add_latin1(cbb.get(), 0x100));
+  EXPECT_FALSE(cbb_add_ucs2_be(cbb.get(), 0x10000));
+
+  EXPECT_EQ(1u, cbb_get_utf8_len(0));
+  EXPECT_EQ(1u, cbb_get_utf8_len(0x7f));
+  EXPECT_EQ(2u, cbb_get_utf8_len(0x80));
+  EXPECT_EQ(2u, cbb_get_utf8_len(0x7ff));
+  EXPECT_EQ(3u, cbb_get_utf8_len(0x800));
+  EXPECT_EQ(3u, cbb_get_utf8_len(0xffff));
+  EXPECT_EQ(4u, cbb_get_utf8_len(0x10000));
+  EXPECT_EQ(4u, cbb_get_utf8_len(0x10ffff));
+}
diff --git a/src/crypto/bytestring/internal.h b/src/crypto/bytestring/internal.h
index f6ac32c..7ef0e21 100644
--- a/src/crypto/bytestring/internal.h
+++ b/src/crypto/bytestring/internal.h
@@ -24,12 +24,10 @@
 
 // CBS_asn1_ber_to_der reads a BER element from |in|. If it finds
 // indefinite-length elements or constructed strings then it converts the BER
-// data to DER and sets |*out| and |*out_length| to describe a malloced buffer
-// containing the DER data. Additionally, |*in| will be advanced over the BER
-// element.
-//
-// If it doesn't find any indefinite-length elements or constructed strings then
-// it sets |*out| to NULL and |*in| is unmodified.
+// data to DER, sets |out| to the converted contents and |*out_storage| to a
+// buffer which the caller must release with |OPENSSL_free|. Otherwise, it sets
+// |out| to the original BER element in |in| and |*out_storage| to NULL.
+// Additionally, |*in| will be advanced over the BER element.
 //
 // This function should successfully process any valid BER input, however it
 // will not convert all of BER's deviations from DER. BER is ambiguous between
@@ -39,7 +37,8 @@
 // must also account for BER variations in the contents of a primitive.
 //
 // It returns one on success and zero otherwise.
-OPENSSL_EXPORT int CBS_asn1_ber_to_der(CBS *in, uint8_t **out, size_t *out_len);
+OPENSSL_EXPORT int CBS_asn1_ber_to_der(CBS *in, CBS *out,
+                                       uint8_t **out_storage);
 
 // CBS_get_asn1_implicit_string parses a BER string of primitive type
 // |inner_tag| implicitly-tagged with |outer_tag|. It sets |out| to the
@@ -68,6 +67,28 @@
 int CBB_finish_i2d(CBB *cbb, uint8_t **outp);
 
 
+// Unicode utilities.
+
+// The following functions read one Unicode code point from |cbs| with the
+// corresponding encoding and store it in |*out|. They return one on success and
+// zero on error.
+OPENSSL_EXPORT int cbs_get_utf8(CBS *cbs, uint32_t *out);
+OPENSSL_EXPORT int cbs_get_latin1(CBS *cbs, uint32_t *out);
+OPENSSL_EXPORT int cbs_get_ucs2_be(CBS *cbs, uint32_t *out);
+OPENSSL_EXPORT int cbs_get_utf32_be(CBS *cbs, uint32_t *out);
+
+// cbb_get_utf8_len returns the number of bytes needed to represent |u| in
+// UTF-8.
+OPENSSL_EXPORT size_t cbb_get_utf8_len(uint32_t u);
+
+// The following functions encode |u| to |cbb| with the corresponding
+// encoding. They return one on success and zero on error.
+OPENSSL_EXPORT int cbb_add_utf8(CBB *cbb, uint32_t u);
+OPENSSL_EXPORT int cbb_add_latin1(CBB *cbb, uint32_t u);
+OPENSSL_EXPORT int cbb_add_ucs2_be(CBB *cbb, uint32_t u);
+OPENSSL_EXPORT int cbb_add_utf32_be(CBB *cbb, uint32_t u);
+
+
 #if defined(__cplusplus)
 }  // extern C
 #endif
diff --git a/src/crypto/bytestring/unicode.c b/src/crypto/bytestring/unicode.c
new file mode 100644
index 0000000..6f9467f
--- /dev/null
+++ b/src/crypto/bytestring/unicode.c
@@ -0,0 +1,155 @@
+/* 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 <openssl/bytestring.h>
+
+#include "internal.h"
+
+
+static int is_valid_code_point(uint32_t v) {
+  // References in the following are to Unicode 9.0.0.
+  if (// The Unicode space runs from zero to 0x10ffff (3.4 D9).
+      v > 0x10ffff ||
+      // Values 0x...fffe, 0x...ffff, and 0xfdd0-0xfdef are permanently reserved
+      // (3.4 D14)
+      (v & 0xfffe) == 0xfffe ||
+      (v >= 0xfdd0 && v <= 0xfdef) ||
+      // Surrogate code points are invalid (3.2 C1).
+      (v >= 0xd800 && v <= 0xdfff)) {
+    return 0;
+  }
+  return 1;
+}
+
+// BOTTOM_BITS returns a byte with the bottom |n| bits set.
+#define BOTTOM_BITS(n) (uint8_t)((1u << (n)) - 1)
+
+// TOP_BITS returns a byte with the top |n| bits set.
+#define TOP_BITS(n) ((uint8_t)~BOTTOM_BITS(8 - (n)))
+
+int cbs_get_utf8(CBS *cbs, uint32_t *out) {
+  uint8_t c;
+  if (!CBS_get_u8(cbs, &c)) {
+    return 0;
+  }
+  if (c <= 0x7f) {
+    *out = c;
+    return 1;
+  }
+  uint32_t v, lower_bound;
+  size_t len;
+  if ((c & TOP_BITS(3)) == TOP_BITS(2)) {
+    v = c & BOTTOM_BITS(5);
+    len = 1;
+    lower_bound = 0x80;
+  } else if ((c & TOP_BITS(4)) == TOP_BITS(3)) {
+    v = c & BOTTOM_BITS(4);
+    len = 2;
+    lower_bound = 0x800;
+  } else if ((c & TOP_BITS(5)) == TOP_BITS(4)) {
+    v = c & BOTTOM_BITS(3);
+    len = 3;
+    lower_bound = 0x10000;
+  } else {
+    return 0;
+  }
+  for (size_t i = 0; i < len; i++) {
+    if (!CBS_get_u8(cbs, &c) ||
+        (c & TOP_BITS(2)) != TOP_BITS(1)) {
+      return 0;
+    }
+    v <<= 6;
+    v |= c & BOTTOM_BITS(6);
+  }
+  if (!is_valid_code_point(v) ||
+      v < lower_bound) {
+    return 0;
+  }
+  *out = v;
+  return 1;
+}
+
+int cbs_get_latin1(CBS *cbs, uint32_t *out) {
+  uint8_t c;
+  if (!CBS_get_u8(cbs, &c)) {
+    return 0;
+  }
+  *out = c;
+  return 1;
+}
+
+int cbs_get_ucs2_be(CBS *cbs, uint32_t *out) {
+  // Note UCS-2 (used by BMPString) does not support surrogates.
+  uint16_t c;
+  if (!CBS_get_u16(cbs, &c) ||
+      !is_valid_code_point(c)) {
+    return 0;
+  }
+  *out = c;
+  return 1;
+}
+
+int cbs_get_utf32_be(CBS *cbs, uint32_t *out) {
+  return CBS_get_u32(cbs, out) && is_valid_code_point(*out);
+}
+
+size_t cbb_get_utf8_len(uint32_t u) {
+  if (u <= 0x7f) {
+    return 1;
+  }
+  if (u <= 0x7ff) {
+    return 2;
+  }
+  if (u <= 0xffff) {
+    return 3;
+  }
+  return 4;
+}
+
+int cbb_add_utf8(CBB *cbb, uint32_t u) {
+  if (!is_valid_code_point(u)) {
+    return 0;
+  }
+  if (u <= 0x7f) {
+    return CBB_add_u8(cbb, (uint8_t)u);
+  }
+  if (u <= 0x7ff) {
+    return CBB_add_u8(cbb, TOP_BITS(2) | (u >> 6)) &&
+           CBB_add_u8(cbb, TOP_BITS(1) | (u & BOTTOM_BITS(6)));
+  }
+  if (u <= 0xffff) {
+    return CBB_add_u8(cbb, TOP_BITS(3) | (u >> 12)) &&
+           CBB_add_u8(cbb, TOP_BITS(1) | ((u >> 6) & BOTTOM_BITS(6))) &&
+           CBB_add_u8(cbb, TOP_BITS(1) | (u & BOTTOM_BITS(6)));
+  }
+  if (u <= 0x10ffff) {
+    return CBB_add_u8(cbb, TOP_BITS(4) | (u >> 18)) &&
+           CBB_add_u8(cbb, TOP_BITS(1) | ((u >> 12) & BOTTOM_BITS(6))) &&
+           CBB_add_u8(cbb, TOP_BITS(1) | ((u >> 6) & BOTTOM_BITS(6))) &&
+           CBB_add_u8(cbb, TOP_BITS(1) | (u & BOTTOM_BITS(6)));
+  }
+  return 0;
+}
+
+int cbb_add_latin1(CBB *cbb, uint32_t u) {
+  return u <= 0xff && CBB_add_u8(cbb, (uint8_t)u);
+}
+
+int cbb_add_ucs2_be(CBB *cbb, uint32_t u) {
+  return u <= 0xffff && is_valid_code_point(u) && CBB_add_u16(cbb, (uint16_t)u);
+}
+
+int cbb_add_utf32_be(CBB *cbb, uint32_t u) {
+  return is_valid_code_point(u) && CBB_add_u32(cbb, u);
+}
diff --git a/src/crypto/chacha/chacha.c b/src/crypto/chacha/chacha.c
index 646ef7a..eac51a5 100644
--- a/src/crypto/chacha/chacha.c
+++ b/src/crypto/chacha/chacha.c
@@ -22,12 +22,48 @@
 #include <openssl/cpu.h>
 
 #include "../internal.h"
+#include "internal.h"
 
 
 #define U8TO32_LITTLE(p)                              \
   (((uint32_t)((p)[0])) | ((uint32_t)((p)[1]) << 8) | \
    ((uint32_t)((p)[2]) << 16) | ((uint32_t)((p)[3]) << 24))
 
+// sigma contains the ChaCha constants, which happen to be an ASCII string.
+static const uint8_t sigma[16] = { 'e', 'x', 'p', 'a', 'n', 'd', ' ', '3',
+                                   '2', '-', 'b', 'y', 't', 'e', ' ', 'k' };
+
+#define ROTATE(v, n) (((v) << (n)) | ((v) >> (32 - (n))))
+
+// QUARTERROUND updates a, b, c, d with a ChaCha "quarter" round.
+#define QUARTERROUND(a, b, c, d)                \
+  x[a] += x[b]; x[d] = ROTATE(x[d] ^ x[a], 16); \
+  x[c] += x[d]; x[b] = ROTATE(x[b] ^ x[c], 12); \
+  x[a] += x[b]; x[d] = ROTATE(x[d] ^ x[a],  8); \
+  x[c] += x[d]; x[b] = ROTATE(x[b] ^ x[c],  7);
+
+void CRYPTO_hchacha20(uint8_t out[32], const uint8_t key[32],
+                      const uint8_t nonce[16]) {
+  uint32_t x[16];
+  OPENSSL_memcpy(x, sigma, sizeof(sigma));
+  OPENSSL_memcpy(&x[4], key, 32);
+  OPENSSL_memcpy(&x[12], nonce, 16);
+
+  for (size_t i = 0; i < 20; i += 2) {
+    QUARTERROUND(0, 4, 8, 12)
+    QUARTERROUND(1, 5, 9, 13)
+    QUARTERROUND(2, 6, 10, 14)
+    QUARTERROUND(3, 7, 11, 15)
+    QUARTERROUND(0, 5, 10, 15)
+    QUARTERROUND(1, 6, 11, 12)
+    QUARTERROUND(2, 7, 8, 13)
+    QUARTERROUND(3, 4, 9, 14)
+  }
+
+  OPENSSL_memcpy(out, &x[0], sizeof(uint32_t) * 4);
+  OPENSSL_memcpy(&out[16], &x[12], sizeof(uint32_t) * 4);
+}
+
 #if !defined(OPENSSL_NO_ASM) &&                         \
     (defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \
      defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))
@@ -69,12 +105,6 @@
 
 #else
 
-// sigma contains the ChaCha constants, which happen to be an ASCII string.
-static const uint8_t sigma[16] = { 'e', 'x', 'p', 'a', 'n', 'd', ' ', '3',
-                                   '2', '-', 'b', 'y', 't', 'e', ' ', 'k' };
-
-#define ROTATE(v, n) (((v) << (n)) | ((v) >> (32 - (n))))
-
 #define U32TO8_LITTLE(p, v)    \
   {                            \
     (p)[0] = (v >> 0) & 0xff;  \
@@ -83,13 +113,6 @@
     (p)[3] = (v >> 24) & 0xff; \
   }
 
-// QUARTERROUND updates a, b, c, d with a ChaCha "quarter" round.
-#define QUARTERROUND(a, b, c, d)                \
-  x[a] += x[b]; x[d] = ROTATE(x[d] ^ x[a], 16); \
-  x[c] += x[d]; x[b] = ROTATE(x[b] ^ x[c], 12); \
-  x[a] += x[b]; x[d] = ROTATE(x[d] ^ x[a],  8); \
-  x[c] += x[d]; x[b] = ROTATE(x[b] ^ x[c],  7);
-
 // chacha_core performs 20 rounds of ChaCha on the input words in
 // |input| and writes the 64 output bytes to |output|.
 static void chacha_core(uint8_t output[64], const uint32_t input[16]) {
diff --git a/src/crypto/chacha/internal.h b/src/crypto/chacha/internal.h
new file mode 100644
index 0000000..5a49811
--- /dev/null
+++ b/src/crypto/chacha/internal.h
@@ -0,0 +1,35 @@
+/* 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_CHACHA_INTERNAL
+#define OPENSSL_HEADER_CHACHA_INTERNAL
+
+#include <openssl/base.h>
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+
+
+// CRYPTO_hchacha20 computes the HChaCha20 function, which should only be used
+// as part of XChaCha20.
+void CRYPTO_hchacha20(uint8_t out[32], const uint8_t key[32],
+                      const uint8_t nonce[16]);
+
+
+#if defined(__cplusplus)
+}  // extern C
+#endif
+
+#endif  // OPENSSL_HEADER_CHACHA_INTERNAL
diff --git a/src/crypto/cipher_extra/CMakeLists.txt b/src/crypto/cipher_extra/CMakeLists.txt
index d2a15ae..5e0c06f 100644
--- a/src/crypto/cipher_extra/CMakeLists.txt
+++ b/src/crypto/cipher_extra/CMakeLists.txt
@@ -27,7 +27,6 @@
 
   tls_cbc.c
   e_tls.c
-  e_ssl3.c
 
   ${CIPHER_ARCH_SOURCES}
 )
diff --git a/src/crypto/cipher_extra/aead_test.cc b/src/crypto/cipher_extra/aead_test.cc
index b5bbe88..fff7d43 100644
--- a/src/crypto/cipher_extra/aead_test.cc
+++ b/src/crypto/cipher_extra/aead_test.cc
@@ -27,6 +27,7 @@
 #include "../internal.h"
 #include "../test/file_test.h"
 #include "../test/test_util.h"
+#include "../test/wycheproof_util.h"
 
 
 struct KnownAEAD {
@@ -35,8 +36,8 @@
   const char *test_vectors;
   // limited_implementation indicates that tests that assume a generic AEAD
   // interface should not be performed. For example, the key-wrap AEADs only
-  // handle inputs that are a multiple of eight bytes in length and the
-  // SSLv3/TLS AEADs have the concept of “direction”.
+  // handle inputs that are a multiple of eight bytes in length and the TLS CBC
+  // AEADs have the concept of “direction”.
   bool limited_implementation;
   // truncated_tags is true if the AEAD supports truncating tags to arbitrary
   // lengths.
@@ -62,6 +63,8 @@
 #endif
     {"ChaCha20Poly1305", EVP_aead_chacha20_poly1305,
      "chacha20_poly1305_tests.txt", false, true, 0},
+    {"XChaCha20Poly1305", EVP_aead_xchacha20_poly1305,
+     "xchacha20_poly1305_tests.txt", false, true, 0},
     {"AES_128_CBC_SHA1_TLS", EVP_aead_aes_128_cbc_sha1_tls,
      "aes_128_cbc_sha1_tls_tests.txt", true, false, 11},
     {"AES_128_CBC_SHA1_TLSImplicitIV",
@@ -83,12 +86,6 @@
     {"DES_EDE3_CBC_SHA1_TLSImplicitIV",
      EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv,
      "des_ede3_cbc_sha1_tls_implicit_iv_tests.txt", true, false, 11},
-    {"AES_128_CBC_SHA1_SSL3", EVP_aead_aes_128_cbc_sha1_ssl3,
-     "aes_128_cbc_sha1_ssl3_tests.txt", true, false, 9},
-    {"AES_256_CBC_SHA1_SSL3", EVP_aead_aes_256_cbc_sha1_ssl3,
-     "aes_256_cbc_sha1_ssl3_tests.txt", true, false, 9},
-    {"DES_EDE3_CBC_SHA1_SSL3", EVP_aead_des_ede3_cbc_sha1_ssl3,
-     "des_ede3_cbc_sha1_ssl3_tests.txt", true, false, 9},
     {"AES_128_CTR_HMAC_SHA256", EVP_aead_aes_128_ctr_hmac_sha256,
      "aes_128_ctr_hmac_sha256.txt", false, true, 0},
     {"AES_256_CTR_HMAC_SHA256", EVP_aead_aes_256_ctr_hmac_sha256,
@@ -691,3 +688,128 @@
   ASSERT_EQ(out_len, kPlaintext.size());
   EXPECT_EQ(Bytes(kPlaintext), Bytes(out.data(), kPlaintext.size()));
 }
+
+static void RunWycheproofTestCase(FileTest *t, const EVP_AEAD *aead) {
+  t->IgnoreInstruction("ivSize");
+
+  std::vector<uint8_t> aad, ct, iv, key, msg, tag;
+  ASSERT_TRUE(t->GetBytes(&aad, "aad"));
+  ASSERT_TRUE(t->GetBytes(&ct, "ct"));
+  ASSERT_TRUE(t->GetBytes(&iv, "iv"));
+  ASSERT_TRUE(t->GetBytes(&key, "key"));
+  ASSERT_TRUE(t->GetBytes(&msg, "msg"));
+  ASSERT_TRUE(t->GetBytes(&tag, "tag"));
+  std::string tag_size_str;
+  ASSERT_TRUE(t->GetInstruction(&tag_size_str, "tagSize"));
+  size_t tag_size = static_cast<size_t>(atoi(tag_size_str.c_str()));
+  ASSERT_EQ(0u, tag_size % 8);
+  tag_size /= 8;
+  WycheproofResult result;
+  ASSERT_TRUE(GetWycheproofResult(t, &result));
+
+  std::vector<uint8_t> ct_and_tag = ct;
+  ct_and_tag.insert(ct_and_tag.end(), tag.begin(), tag.end());
+
+  bssl::ScopedEVP_AEAD_CTX ctx;
+  ASSERT_TRUE(EVP_AEAD_CTX_init(ctx.get(), aead, key.data(), key.size(),
+                                tag_size, nullptr));
+  std::vector<uint8_t> out(msg.size());
+  size_t out_len;
+  // Wycheproof tags small AES-GCM IVs as "acceptable" and otherwise does not
+  // use it in AEADs. Any AES-GCM IV that isn't 96 bits is absurd, but our API
+  // supports those, so we treat "acceptable" as "valid" here.
+  if (result != WycheproofResult::kInvalid) {
+    // Decryption should succeed.
+    ASSERT_TRUE(EVP_AEAD_CTX_open(ctx.get(), out.data(), &out_len, out.size(),
+                                  iv.data(), iv.size(), ct_and_tag.data(),
+                                  ct_and_tag.size(), aad.data(), aad.size()));
+    EXPECT_EQ(Bytes(msg), Bytes(out.data(), out_len));
+
+    // Decryption in-place should succeed.
+    out = ct_and_tag;
+    ASSERT_TRUE(EVP_AEAD_CTX_open(ctx.get(), out.data(), &out_len, out.size(),
+                                  iv.data(), iv.size(), out.data(), out.size(),
+                                  aad.data(), aad.size()));
+    EXPECT_EQ(Bytes(msg), Bytes(out.data(), out_len));
+
+    // AEADs are deterministic, so encryption should produce the same result.
+    out.resize(ct_and_tag.size());
+    ASSERT_TRUE(EVP_AEAD_CTX_seal(ctx.get(), out.data(), &out_len, out.size(),
+                                  iv.data(), iv.size(), msg.data(), msg.size(),
+                                  aad.data(), aad.size()));
+    EXPECT_EQ(Bytes(ct_and_tag), Bytes(out.data(), out_len));
+
+    // Encrypt in-place.
+    out = msg;
+    out.resize(ct_and_tag.size());
+    ASSERT_TRUE(EVP_AEAD_CTX_seal(ctx.get(), out.data(), &out_len, out.size(),
+                                  iv.data(), iv.size(), out.data(), msg.size(),
+                                  aad.data(), aad.size()));
+    EXPECT_EQ(Bytes(ct_and_tag), Bytes(out.data(), out_len));
+  } else {
+    // Decryption should fail.
+    EXPECT_FALSE(EVP_AEAD_CTX_open(ctx.get(), out.data(), &out_len, out.size(),
+                                   iv.data(), iv.size(), ct_and_tag.data(),
+                                   ct_and_tag.size(), aad.data(), aad.size()));
+
+    // Decryption in-place should also fail.
+    out = ct_and_tag;
+    EXPECT_FALSE(EVP_AEAD_CTX_open(ctx.get(), out.data(), &out_len, out.size(),
+                                   iv.data(), iv.size(), out.data(), out.size(),
+                                   aad.data(), aad.size()));
+  }
+}
+
+TEST(AEADTest, WycheproofAESGCMSIV) {
+  FileTestGTest("third_party/wycheproof_testvectors/aes_gcm_siv_test.txt",
+                [](FileTest *t) {
+    std::string key_size_str;
+    ASSERT_TRUE(t->GetInstruction(&key_size_str, "keySize"));
+    const EVP_AEAD *aead;
+    switch (atoi(key_size_str.c_str())) {
+      case 128:
+        aead = EVP_aead_aes_128_gcm_siv();
+        break;
+      case 256:
+        aead = EVP_aead_aes_256_gcm_siv();
+        break;
+      default:
+        FAIL() << "Unknown key size: " << key_size_str;
+    }
+
+    RunWycheproofTestCase(t, aead);
+  });
+}
+
+TEST(AEADTest, WycheproofAESGCM) {
+  FileTestGTest("third_party/wycheproof_testvectors/aes_gcm_test.txt",
+                [](FileTest *t) {
+    std::string key_size_str;
+    ASSERT_TRUE(t->GetInstruction(&key_size_str, "keySize"));
+    const EVP_AEAD *aead;
+    switch (atoi(key_size_str.c_str())) {
+      case 128:
+        aead = EVP_aead_aes_128_gcm();
+        break;
+      case 192:
+        // Skip AES-192-GCM tests.
+        t->SkipCurrent();
+        return;
+      case 256:
+        aead = EVP_aead_aes_256_gcm();
+        break;
+      default:
+        FAIL() << "Unknown key size: " << key_size_str;
+    }
+
+    RunWycheproofTestCase(t, aead);
+  });
+}
+
+TEST(AEADTest, WycheproofChaCha20Poly1305) {
+  FileTestGTest("third_party/wycheproof_testvectors/chacha20_poly1305_test.txt",
+                [](FileTest *t) {
+    t->IgnoreInstruction("keySize");
+    RunWycheproofTestCase(t, EVP_aead_chacha20_poly1305());
+  });
+}
diff --git a/src/crypto/cipher_extra/cipher_extra.c b/src/crypto/cipher_extra/cipher_extra.c
index fc8e24b..1b23ad3 100644
--- a/src/crypto/cipher_extra/cipher_extra.c
+++ b/src/crypto/cipher_extra/cipher_extra.c
@@ -94,20 +94,41 @@
   } else if (OPENSSL_strcasecmp(name, "des-cbc") == 0) {
     return EVP_des_cbc();
   } else if (OPENSSL_strcasecmp(name, "des-ede3-cbc") == 0 ||
+             // This is not a name used by OpenSSL, but tcpdump registers it
+             // with |EVP_add_cipher_alias|. Our |EVP_add_cipher_alias| is a
+             // no-op, so we support the name here.
              OPENSSL_strcasecmp(name, "3des") == 0) {
     return EVP_des_ede3_cbc();
   } else if (OPENSSL_strcasecmp(name, "aes-128-cbc") == 0) {
     return EVP_aes_128_cbc();
+  } else if (OPENSSL_strcasecmp(name, "aes-192-cbc") == 0) {
+    return EVP_aes_192_cbc();
   } else if (OPENSSL_strcasecmp(name, "aes-256-cbc") == 0) {
     return EVP_aes_256_cbc();
   } else if (OPENSSL_strcasecmp(name, "aes-128-ctr") == 0) {
     return EVP_aes_128_ctr();
+  } else if (OPENSSL_strcasecmp(name, "aes-192-ctr") == 0) {
+    return EVP_aes_192_ctr();
   } else if (OPENSSL_strcasecmp(name, "aes-256-ctr") == 0) {
     return EVP_aes_256_ctr();
   } else if (OPENSSL_strcasecmp(name, "aes-128-ecb") == 0) {
     return EVP_aes_128_ecb();
+  } else if (OPENSSL_strcasecmp(name, "aes-192-ecb") == 0) {
+    return EVP_aes_192_ecb();
   } else if (OPENSSL_strcasecmp(name, "aes-256-ecb") == 0) {
     return EVP_aes_256_ecb();
+  } else if (OPENSSL_strcasecmp(name, "aes-128-gcm") == 0) {
+    return EVP_aes_128_gcm();
+  } else if (OPENSSL_strcasecmp(name, "aes-192-gcm") == 0) {
+    return EVP_aes_192_gcm();
+  } else if (OPENSSL_strcasecmp(name, "aes-256-gcm") == 0) {
+    return EVP_aes_256_gcm();
+  } else if (OPENSSL_strcasecmp(name, "aes-128-ofb") == 0) {
+    return EVP_aes_128_ofb();
+  } else if (OPENSSL_strcasecmp(name, "aes-192-ofb") == 0) {
+    return EVP_aes_192_ofb();
+  } else if (OPENSSL_strcasecmp(name, "aes-256-ofb") == 0) {
+    return EVP_aes_256_ofb();
   }
 
   return NULL;
diff --git a/src/crypto/cipher_extra/cipher_test.cc b/src/crypto/cipher_extra/cipher_test.cc
index 977243c..62ef939 100644
--- a/src/crypto/cipher_extra/cipher_test.cc
+++ b/src/crypto/cipher_extra/cipher_test.cc
@@ -51,9 +51,11 @@
  * ====================================================================
  */
 
+#include <limits.h>
 #include <stdlib.h>
 #include <string.h>
 
+#include <algorithm>
 #include <string>
 #include <vector>
 
@@ -61,9 +63,11 @@
 
 #include <openssl/cipher.h>
 #include <openssl/err.h>
+#include <openssl/span.h>
 
 #include "../test/file_test.h"
 #include "../test/test_util.h"
+#include "../test/wycheproof_util.h"
 
 
 static const EVP_CIPHER *GetCipher(const std::string &name) {
@@ -97,6 +101,8 @@
     return EVP_aes_192_ctr();
   } else if (name == "AES-192-ECB") {
     return EVP_aes_192_ecb();
+  } else if (name == "AES-192-OFB") {
+    return EVP_aes_192_ofb();
   } else if (name == "AES-256-CBC") {
     return EVP_aes_256_cbc();
   } else if (name == "AES-128-CTR") {
@@ -111,6 +117,38 @@
   return nullptr;
 }
 
+static bool DoCipher(EVP_CIPHER_CTX *ctx, std::vector<uint8_t> *out,
+                     bssl::Span<const uint8_t> in, size_t chunk) {
+  size_t max_out = in.size();
+  if ((EVP_CIPHER_CTX_flags(ctx) & EVP_CIPH_NO_PADDING) == 0 &&
+      EVP_CIPHER_CTX_encrypting(ctx)) {
+    unsigned block_size = EVP_CIPHER_CTX_block_size(ctx);
+    max_out += block_size - (max_out % block_size);
+  }
+  out->resize(max_out);
+
+  size_t total = 0;
+  int len;
+  while (!in.empty()) {
+    size_t todo = chunk == 0 ? in.size() : std::min(in.size(), chunk);
+    EXPECT_LE(todo, static_cast<size_t>(INT_MAX));
+    if (!EVP_CipherUpdate(ctx, out->data() + total, &len, in.data(),
+                          static_cast<int>(todo))) {
+      return false;
+    }
+    EXPECT_GE(len, 0);
+    total += static_cast<size_t>(len);
+    in = in.subspan(todo);
+  }
+  if (!EVP_CipherFinal_ex(ctx, out->data() + total, &len)) {
+    return false;
+  }
+  EXPECT_GE(len, 0);
+  total += static_cast<size_t>(len);
+  out->resize(total);
+  return true;
+}
+
 static void TestOperation(FileTest *t, const EVP_CIPHER *cipher, bool encrypt,
                           size_t chunk_size, const std::vector<uint8_t> &key,
                           const std::vector<uint8_t> &iv,
@@ -134,58 +172,40 @@
                          encrypt ? 1 : 0));
   if (t->HasAttribute("IV")) {
     if (is_aead) {
-      ASSERT_TRUE(
-          EVP_CIPHER_CTX_ctrl(ctx.get(), EVP_CTRL_GCM_SET_IVLEN, iv.size(), 0));
+      ASSERT_TRUE(EVP_CIPHER_CTX_ctrl(ctx.get(), EVP_CTRL_AEAD_SET_IVLEN,
+                                      iv.size(), 0));
     } else {
       ASSERT_EQ(iv.size(), EVP_CIPHER_CTX_iv_length(ctx.get()));
     }
   }
   if (is_aead && !encrypt) {
-    ASSERT_TRUE(EVP_CIPHER_CTX_ctrl(ctx.get(), EVP_CTRL_GCM_SET_TAG, tag.size(),
+    ASSERT_TRUE(EVP_CIPHER_CTX_ctrl(ctx.get(), EVP_CTRL_AEAD_SET_TAG,
+                                    tag.size(),
                                     const_cast<uint8_t *>(tag.data())));
   }
   // The ciphers are run with no padding. For each of the ciphers we test, the
   // output size matches the input size.
-  std::vector<uint8_t> result(in->size());
   ASSERT_EQ(in->size(), out->size());
-  int unused, result_len1 = 0, result_len2;
   ASSERT_TRUE(EVP_CIPHER_CTX_set_key_length(ctx.get(), key.size()));
   ASSERT_TRUE(EVP_CipherInit_ex(ctx.get(), nullptr, nullptr, key.data(),
                                 iv.data(), -1));
-  // Note: the deprecated |EVP_CIPHER|-based AES-GCM API is sensitive to whether
+  // Note: the deprecated |EVP_CIPHER|-based AEAD API is sensitive to whether
   // parameters are NULL, so it is important to skip the |in| and |aad|
   // |EVP_CipherUpdate| calls when empty.
   if (!aad.empty()) {
+    int unused;
     ASSERT_TRUE(
         EVP_CipherUpdate(ctx.get(), nullptr, &unused, aad.data(), aad.size()));
   }
   ASSERT_TRUE(EVP_CIPHER_CTX_set_padding(ctx.get(), 0));
-  if (chunk_size != 0) {
-    for (size_t i = 0; i < in->size();) {
-      size_t todo = chunk_size;
-      if (i + todo > in->size()) {
-        todo = in->size() - i;
-      }
-
-      int len;
-      ASSERT_TRUE(EVP_CipherUpdate(ctx.get(), result.data() + result_len1, &len,
-                                   in->data() + i, todo));
-      result_len1 += len;
-      i += todo;
-    }
-  } else if (!in->empty()) {
-    ASSERT_TRUE(EVP_CipherUpdate(ctx.get(), result.data(), &result_len1,
-                                 in->data(), in->size()));
-  }
-  ASSERT_TRUE(
-      EVP_CipherFinal_ex(ctx.get(), result.data() + result_len1, &result_len2));
-  result.resize(result_len1 + result_len2);
+  std::vector<uint8_t> result;
+  ASSERT_TRUE(DoCipher(ctx.get(), &result, *in, chunk_size));
   EXPECT_EQ(Bytes(*out), Bytes(result));
   if (encrypt && is_aead) {
     uint8_t rtag[16];
     ASSERT_LE(tag.size(), sizeof(rtag));
-    ASSERT_TRUE(
-        EVP_CIPHER_CTX_ctrl(ctx.get(), EVP_CTRL_GCM_GET_TAG, tag.size(), rtag));
+    ASSERT_TRUE(EVP_CIPHER_CTX_ctrl(ctx.get(), EVP_CTRL_AEAD_GET_TAG,
+                                    tag.size(), rtag));
     EXPECT_EQ(Bytes(tag), Bytes(rtag, tag.size()));
   }
 }
@@ -285,3 +305,61 @@
 TEST(CipherTest, CAVP_TDES_ECB) {
   FileTestGTest("crypto/cipher_extra/test/nist_cavp/tdes_ecb.txt", TestCipher);
 }
+
+TEST(CipherTest, WycheproofAESCBC) {
+  FileTestGTest("third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt",
+                [](FileTest *t) {
+    t->IgnoreInstruction("type");
+    t->IgnoreInstruction("ivSize");
+
+    std::string key_size;
+    ASSERT_TRUE(t->GetInstruction(&key_size, "keySize"));
+    const EVP_CIPHER *cipher;
+    switch (atoi(key_size.c_str())) {
+      case 128:
+        cipher = EVP_aes_128_cbc();
+        break;
+      case 192:
+        cipher = EVP_aes_192_cbc();
+        break;
+      case 256:
+        cipher = EVP_aes_256_cbc();
+        break;
+      default:
+        FAIL() << "Unsupported key size: " << key_size;
+    }
+
+    std::vector<uint8_t> key, iv, msg, ct;
+    ASSERT_TRUE(t->GetBytes(&key, "key"));
+    ASSERT_TRUE(t->GetBytes(&iv, "iv"));
+    ASSERT_TRUE(t->GetBytes(&msg, "msg"));
+    ASSERT_TRUE(t->GetBytes(&ct, "ct"));
+    ASSERT_EQ(EVP_CIPHER_key_length(cipher), key.size());
+    ASSERT_EQ(EVP_CIPHER_iv_length(cipher), iv.size());
+    WycheproofResult result;
+    ASSERT_TRUE(GetWycheproofResult(t, &result));
+
+    bssl::ScopedEVP_CIPHER_CTX ctx;
+    std::vector<uint8_t> out;
+    const std::vector<size_t> chunk_sizes = {0,  1,  2,  5,  7,  8,  9,  15, 16,
+                                             17, 31, 32, 33, 63, 64, 65, 512};
+    for (size_t chunk : chunk_sizes) {
+      SCOPED_TRACE(chunk);
+      if (result == WycheproofResult::kValid) {
+        ASSERT_TRUE(EVP_DecryptInit_ex(ctx.get(), cipher, nullptr, key.data(),
+                                       iv.data()));
+        ASSERT_TRUE(DoCipher(ctx.get(), &out, ct, chunk));
+        EXPECT_EQ(Bytes(msg), Bytes(out));
+
+        ASSERT_TRUE(EVP_EncryptInit_ex(ctx.get(), cipher, nullptr, key.data(),
+                                       iv.data()));
+        ASSERT_TRUE(DoCipher(ctx.get(), &out, msg, chunk));
+        EXPECT_EQ(Bytes(ct), Bytes(out));
+      } else {
+        ASSERT_TRUE(EVP_DecryptInit_ex(ctx.get(), cipher, nullptr, key.data(),
+                                       iv.data()));
+        EXPECT_FALSE(DoCipher(ctx.get(), &out, ct, chunk));
+      }
+    }
+  });
+}
diff --git a/src/crypto/cipher_extra/e_chacha20poly1305.c b/src/crypto/cipher_extra/e_chacha20poly1305.c
index 64ab457..e632010 100644
--- a/src/crypto/cipher_extra/e_chacha20poly1305.c
+++ b/src/crypto/cipher_extra/e_chacha20poly1305.c
@@ -26,6 +26,7 @@
 
 #include "../fipsmodule/cipher/internal.h"
 #include "../internal.h"
+#include "../chacha/internal.h"
 
 
 #define POLY1305_TAG_LEN 16
@@ -151,16 +152,15 @@
 }
 
 // calc_tag fills |tag| with the authentication tag for the given inputs.
-static void calc_tag(uint8_t tag[POLY1305_TAG_LEN],
-                     const struct aead_chacha20_poly1305_ctx *c20_ctx,
+static void calc_tag(uint8_t tag[POLY1305_TAG_LEN], const uint8_t *key,
                      const uint8_t nonce[12], const uint8_t *ad, size_t ad_len,
                      const uint8_t *ciphertext, size_t ciphertext_len,
                      const uint8_t *ciphertext_extra,
                      size_t ciphertext_extra_len) {
   alignas(16) uint8_t poly1305_key[32];
   OPENSSL_memset(poly1305_key, 0, sizeof(poly1305_key));
-  CRYPTO_chacha_20(poly1305_key, poly1305_key, sizeof(poly1305_key),
-                   c20_ctx->key, nonce, 0);
+  CRYPTO_chacha_20(poly1305_key, poly1305_key, sizeof(poly1305_key), key, nonce,
+                   0);
 
   static const uint8_t padding[16] = { 0 };  // Padding is all zeros.
   poly1305_state ctx;
@@ -181,18 +181,16 @@
   CRYPTO_poly1305_finish(&ctx, tag);
 }
 
-static int aead_chacha20_poly1305_seal_scatter(
-    const EVP_AEAD_CTX *ctx, uint8_t *out, uint8_t *out_tag,
+static int chacha20_poly1305_seal_scatter(
+    const uint8_t *key, uint8_t *out, uint8_t *out_tag,
     size_t *out_tag_len, size_t max_out_tag_len, const uint8_t *nonce,
     size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *extra_in,
-    size_t extra_in_len, const uint8_t *ad, size_t ad_len) {
-  const struct aead_chacha20_poly1305_ctx *c20_ctx = ctx->aead_state;
-
-  if (extra_in_len + ctx->tag_len < ctx->tag_len) {
+    size_t extra_in_len, const uint8_t *ad, size_t ad_len, size_t tag_len) {
+  if (extra_in_len + tag_len < tag_len) {
     OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_TOO_LARGE);
     return 0;
   }
-  if (max_out_tag_len < ctx->tag_len + extra_in_len) {
+  if (max_out_tag_len < tag_len + extra_in_len) {
     OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BUFFER_TOO_SMALL);
     return 0;
   }
@@ -213,7 +211,7 @@
     return 0;
   }
 
-  if (max_out_tag_len < ctx->tag_len) {
+  if (max_out_tag_len < tag_len) {
     OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BUFFER_TOO_SMALL);
     return 0;
   }
@@ -228,7 +226,7 @@
 
     for (size_t done = 0; done < extra_in_len; block_counter++) {
       memset(block, 0, sizeof(block));
-      CRYPTO_chacha_20(block, block, sizeof(block), c20_ctx->key, nonce,
+      CRYPTO_chacha_20(block, block, sizeof(block), key, nonce,
                        block_counter);
       for (size_t i = offset; i < sizeof(block) && done < extra_in_len;
            i++, done++) {
@@ -240,35 +238,69 @@
 
   union seal_data data;
   if (asm_capable()) {
-    OPENSSL_memcpy(data.in.key, c20_ctx->key, 32);
+    OPENSSL_memcpy(data.in.key, key, 32);
     data.in.counter = 0;
     OPENSSL_memcpy(data.in.nonce, nonce, 12);
     data.in.extra_ciphertext = out_tag;
     data.in.extra_ciphertext_len = extra_in_len;
     chacha20_poly1305_seal(out, in, in_len, ad, ad_len, &data);
   } else {
-    CRYPTO_chacha_20(out, in, in_len, c20_ctx->key, nonce, 1);
-    calc_tag(data.out.tag, c20_ctx, nonce, ad, ad_len, out, in_len, out_tag,
+    CRYPTO_chacha_20(out, in, in_len, key, nonce, 1);
+    calc_tag(data.out.tag, key, nonce, ad, ad_len, out, in_len, out_tag,
              extra_in_len);
   }
 
-  OPENSSL_memcpy(out_tag + extra_in_len, data.out.tag, ctx->tag_len);
-  *out_tag_len = extra_in_len + ctx->tag_len;
+  OPENSSL_memcpy(out_tag + extra_in_len, data.out.tag, tag_len);
+  *out_tag_len = extra_in_len + tag_len;
   return 1;
 }
 
-static int aead_chacha20_poly1305_open_gather(
-    const EVP_AEAD_CTX *ctx, uint8_t *out, const uint8_t *nonce,
-    size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *in_tag,
-    size_t in_tag_len, const uint8_t *ad, size_t ad_len) {
+static int aead_chacha20_poly1305_seal_scatter(
+    const EVP_AEAD_CTX *ctx, uint8_t *out, uint8_t *out_tag,
+    size_t *out_tag_len, size_t max_out_tag_len, const uint8_t *nonce,
+    size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *extra_in,
+    size_t extra_in_len, const uint8_t *ad, size_t ad_len) {
   const struct aead_chacha20_poly1305_ctx *c20_ctx = ctx->aead_state;
 
+  return chacha20_poly1305_seal_scatter(
+      c20_ctx->key, out, out_tag, out_tag_len, max_out_tag_len, nonce,
+      nonce_len, in, in_len, extra_in, extra_in_len, ad, ad_len, ctx->tag_len);
+}
+
+static int aead_xchacha20_poly1305_seal_scatter(
+    const EVP_AEAD_CTX *ctx, uint8_t *out, uint8_t *out_tag,
+    size_t *out_tag_len, size_t max_out_tag_len, const uint8_t *nonce,
+    size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *extra_in,
+    size_t extra_in_len, const uint8_t *ad, size_t ad_len) {
+  const struct aead_chacha20_poly1305_ctx *c20_ctx = ctx->aead_state;
+
+  if (nonce_len != 24) {
+    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_UNSUPPORTED_NONCE_SIZE);
+    return 0;
+  }
+
+  alignas(4) uint8_t derived_key[32];
+  alignas(4) uint8_t derived_nonce[12];
+  CRYPTO_hchacha20(derived_key, c20_ctx->key, nonce);
+  OPENSSL_memset(derived_nonce, 0, 4);
+  OPENSSL_memcpy(&derived_nonce[4], &nonce[16], 8);
+
+  return chacha20_poly1305_seal_scatter(
+      derived_key, out, out_tag, out_tag_len, max_out_tag_len,
+      derived_nonce, sizeof(derived_nonce), in, in_len, extra_in, extra_in_len,
+      ad, ad_len, ctx->tag_len);
+}
+
+static int chacha20_poly1305_open_gather(
+    const uint8_t *key, uint8_t *out, const uint8_t *nonce,
+    size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *in_tag,
+    size_t in_tag_len, const uint8_t *ad, size_t ad_len, size_t tag_len) {
   if (nonce_len != 12) {
     OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_UNSUPPORTED_NONCE_SIZE);
     return 0;
   }
 
-  if (in_tag_len != ctx->tag_len) {
+  if (in_tag_len != tag_len) {
     OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BAD_DECRYPT);
     return 0;
   }
@@ -287,16 +319,16 @@
 
   union open_data data;
   if (asm_capable()) {
-    OPENSSL_memcpy(data.in.key, c20_ctx->key, 32);
+    OPENSSL_memcpy(data.in.key, key, 32);
     data.in.counter = 0;
     OPENSSL_memcpy(data.in.nonce, nonce, 12);
     chacha20_poly1305_open(out, in, in_len, ad, ad_len, &data);
   } else {
-    calc_tag(data.out.tag, c20_ctx, nonce, ad, ad_len, in, in_len, NULL, 0);
-    CRYPTO_chacha_20(out, in, in_len, c20_ctx->key, nonce, 1);
+    calc_tag(data.out.tag, key, nonce, ad, ad_len, in, in_len, NULL, 0);
+    CRYPTO_chacha_20(out, in, in_len, key, nonce, 1);
   }
 
-  if (CRYPTO_memcmp(data.out.tag, in_tag, ctx->tag_len) != 0) {
+  if (CRYPTO_memcmp(data.out.tag, in_tag, tag_len) != 0) {
     OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BAD_DECRYPT);
     return 0;
   }
@@ -304,6 +336,39 @@
   return 1;
 }
 
+static int aead_chacha20_poly1305_open_gather(
+    const EVP_AEAD_CTX *ctx, uint8_t *out, const uint8_t *nonce,
+    size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *in_tag,
+    size_t in_tag_len, const uint8_t *ad, size_t ad_len) {
+  const struct aead_chacha20_poly1305_ctx *c20_ctx = ctx->aead_state;
+
+  return chacha20_poly1305_open_gather(c20_ctx->key, out, nonce, nonce_len, in,
+                                       in_len, in_tag, in_tag_len, ad, ad_len,
+                                       ctx->tag_len);
+}
+
+static int aead_xchacha20_poly1305_open_gather(
+    const EVP_AEAD_CTX *ctx, uint8_t *out, const uint8_t *nonce,
+    size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *in_tag,
+    size_t in_tag_len, const uint8_t *ad, size_t ad_len) {
+  const struct aead_chacha20_poly1305_ctx *c20_ctx = ctx->aead_state;
+
+  if (nonce_len != 24) {
+    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_UNSUPPORTED_NONCE_SIZE);
+    return 0;
+  }
+
+  alignas(4) uint8_t derived_key[32];
+  alignas(4) uint8_t derived_nonce[12];
+  CRYPTO_hchacha20(derived_key, c20_ctx->key, nonce);
+  OPENSSL_memset(derived_nonce, 0, 4);
+  OPENSSL_memcpy(&derived_nonce[4], &nonce[16], 8);
+
+  return chacha20_poly1305_open_gather(
+      derived_key, out, derived_nonce, sizeof(derived_nonce), in, in_len,
+      in_tag, in_tag_len, ad, ad_len, ctx->tag_len);
+}
+
 static const EVP_AEAD aead_chacha20_poly1305 = {
     32,                // key len
     12,                // nonce len
@@ -321,6 +386,27 @@
     NULL,  // tag_len
 };
 
+static const EVP_AEAD aead_xchacha20_poly1305 = {
+    32,                // key len
+    24,                // nonce len
+    POLY1305_TAG_LEN,  // overhead
+    POLY1305_TAG_LEN,  // max tag length
+    1,                 // seal_scatter_supports_extra_in
+
+    aead_chacha20_poly1305_init,
+    NULL,  // init_with_direction
+    aead_chacha20_poly1305_cleanup,
+    NULL /* open */,
+    aead_xchacha20_poly1305_seal_scatter,
+    aead_xchacha20_poly1305_open_gather,
+    NULL,  // get_iv
+    NULL,  // tag_len
+};
+
 const EVP_AEAD *EVP_aead_chacha20_poly1305(void) {
   return &aead_chacha20_poly1305;
 }
+
+const EVP_AEAD *EVP_aead_xchacha20_poly1305(void) {
+  return &aead_xchacha20_poly1305;
+}
diff --git a/src/crypto/cipher_extra/e_ssl3.c b/src/crypto/cipher_extra/e_ssl3.c
deleted file mode 100644
index 61f25ca..0000000
--- a/src/crypto/cipher_extra/e_ssl3.c
+++ /dev/null
@@ -1,460 +0,0 @@
-/* Copyright (c) 2014, 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 <assert.h>
-#include <limits.h>
-#include <string.h>
-
-#include <openssl/aead.h>
-#include <openssl/cipher.h>
-#include <openssl/err.h>
-#include <openssl/hmac.h>
-#include <openssl/md5.h>
-#include <openssl/mem.h>
-#include <openssl/sha.h>
-
-#include "internal.h"
-#include "../internal.h"
-#include "../fipsmodule/cipher/internal.h"
-
-
-typedef struct {
-  EVP_CIPHER_CTX cipher_ctx;
-  EVP_MD_CTX md_ctx;
-} AEAD_SSL3_CTX;
-
-static int ssl3_mac(AEAD_SSL3_CTX *ssl3_ctx, uint8_t *out, unsigned *out_len,
-                    const uint8_t *ad, size_t ad_len, const uint8_t *in,
-                    size_t in_len) {
-  size_t md_size = EVP_MD_CTX_size(&ssl3_ctx->md_ctx);
-  size_t pad_len = (md_size == 20) ? 40 : 48;
-
-  // To allow for CBC mode which changes cipher length, |ad| doesn't include the
-  // length for legacy ciphers.
-  uint8_t ad_extra[2];
-  ad_extra[0] = (uint8_t)(in_len >> 8);
-  ad_extra[1] = (uint8_t)(in_len & 0xff);
-
-  EVP_MD_CTX md_ctx;
-  EVP_MD_CTX_init(&md_ctx);
-
-  uint8_t pad[48];
-  uint8_t tmp[EVP_MAX_MD_SIZE];
-  OPENSSL_memset(pad, 0x36, pad_len);
-  if (!EVP_MD_CTX_copy_ex(&md_ctx, &ssl3_ctx->md_ctx) ||
-      !EVP_DigestUpdate(&md_ctx, pad, pad_len) ||
-      !EVP_DigestUpdate(&md_ctx, ad, ad_len) ||
-      !EVP_DigestUpdate(&md_ctx, ad_extra, sizeof(ad_extra)) ||
-      !EVP_DigestUpdate(&md_ctx, in, in_len) ||
-      !EVP_DigestFinal_ex(&md_ctx, tmp, NULL)) {
-    EVP_MD_CTX_cleanup(&md_ctx);
-    return 0;
-  }
-
-  OPENSSL_memset(pad, 0x5c, pad_len);
-  if (!EVP_MD_CTX_copy_ex(&md_ctx, &ssl3_ctx->md_ctx) ||
-      !EVP_DigestUpdate(&md_ctx, pad, pad_len) ||
-      !EVP_DigestUpdate(&md_ctx, tmp, md_size) ||
-      !EVP_DigestFinal_ex(&md_ctx, out, out_len)) {
-    EVP_MD_CTX_cleanup(&md_ctx);
-    return 0;
-  }
-  EVP_MD_CTX_cleanup(&md_ctx);
-  return 1;
-}
-
-static void aead_ssl3_cleanup(EVP_AEAD_CTX *ctx) {
-  AEAD_SSL3_CTX *ssl3_ctx = (AEAD_SSL3_CTX *)ctx->aead_state;
-  EVP_CIPHER_CTX_cleanup(&ssl3_ctx->cipher_ctx);
-  EVP_MD_CTX_cleanup(&ssl3_ctx->md_ctx);
-  OPENSSL_free(ssl3_ctx);
-  ctx->aead_state = NULL;
-}
-
-static int aead_ssl3_init(EVP_AEAD_CTX *ctx, const uint8_t *key, size_t key_len,
-                          size_t tag_len, enum evp_aead_direction_t dir,
-                          const EVP_CIPHER *cipher, const EVP_MD *md) {
-  if (tag_len != EVP_AEAD_DEFAULT_TAG_LENGTH &&
-      tag_len != EVP_MD_size(md)) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_UNSUPPORTED_TAG_SIZE);
-    return 0;
-  }
-
-  if (key_len != EVP_AEAD_key_length(ctx->aead)) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BAD_KEY_LENGTH);
-    return 0;
-  }
-
-  size_t mac_key_len = EVP_MD_size(md);
-  size_t enc_key_len = EVP_CIPHER_key_length(cipher);
-  assert(mac_key_len + enc_key_len + EVP_CIPHER_iv_length(cipher) == key_len);
-
-  AEAD_SSL3_CTX *ssl3_ctx = OPENSSL_malloc(sizeof(AEAD_SSL3_CTX));
-  if (ssl3_ctx == NULL) {
-    OPENSSL_PUT_ERROR(CIPHER, ERR_R_MALLOC_FAILURE);
-    return 0;
-  }
-  EVP_CIPHER_CTX_init(&ssl3_ctx->cipher_ctx);
-  EVP_MD_CTX_init(&ssl3_ctx->md_ctx);
-
-  ctx->aead_state = ssl3_ctx;
-  if (!EVP_CipherInit_ex(&ssl3_ctx->cipher_ctx, cipher, NULL, &key[mac_key_len],
-                         &key[mac_key_len + enc_key_len],
-                         dir == evp_aead_seal) ||
-      !EVP_DigestInit_ex(&ssl3_ctx->md_ctx, md, NULL) ||
-      !EVP_DigestUpdate(&ssl3_ctx->md_ctx, key, mac_key_len)) {
-    aead_ssl3_cleanup(ctx);
-    ctx->aead_state = NULL;
-    return 0;
-  }
-  EVP_CIPHER_CTX_set_padding(&ssl3_ctx->cipher_ctx, 0);
-
-  return 1;
-}
-
-static size_t aead_ssl3_tag_len(const EVP_AEAD_CTX *ctx, const size_t in_len,
-                                const size_t extra_in_len) {
-  assert(extra_in_len == 0);
-  const AEAD_SSL3_CTX *ssl3_ctx = (AEAD_SSL3_CTX*)ctx->aead_state;
-
-  const size_t digest_len = EVP_MD_CTX_size(&ssl3_ctx->md_ctx);
-  if (EVP_CIPHER_CTX_mode(&ssl3_ctx->cipher_ctx) != EVP_CIPH_CBC_MODE) {
-    // The NULL cipher.
-    return digest_len;
-  }
-
-  const size_t block_size = EVP_CIPHER_CTX_block_size(&ssl3_ctx->cipher_ctx);
-  // An overflow of |in_len + digest_len| doesn't affect the result mod
-  // |block_size|, provided that |block_size| is a smaller power of two.
-  assert(block_size != 0 && (block_size & (block_size - 1)) == 0);
-  const size_t pad_len = block_size - ((in_len + digest_len) % block_size);
-  return digest_len + pad_len;
-}
-
-static int aead_ssl3_seal_scatter(const EVP_AEAD_CTX *ctx, uint8_t *out,
-                                  uint8_t *out_tag, size_t *out_tag_len,
-                                  const size_t max_out_tag_len,
-                                  const uint8_t *nonce, const size_t nonce_len,
-                                  const uint8_t *in, const size_t in_len,
-                                  const uint8_t *extra_in,
-                                  const size_t extra_in_len, const uint8_t *ad,
-                                  const size_t ad_len) {
-  AEAD_SSL3_CTX *ssl3_ctx = (AEAD_SSL3_CTX *)ctx->aead_state;
-
-  if (!ssl3_ctx->cipher_ctx.encrypt) {
-    // Unlike a normal AEAD, an SSL3 AEAD may only be used in one direction.
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_INVALID_OPERATION);
-    return 0;
-  }
-
-  if (in_len > INT_MAX) {
-    // EVP_CIPHER takes int as input.
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_TOO_LARGE);
-    return 0;
-  }
-
-  if (max_out_tag_len < aead_ssl3_tag_len(ctx, in_len, extra_in_len)) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BUFFER_TOO_SMALL);
-    return 0;
-  }
-
-  if (nonce_len != 0) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_IV_TOO_LARGE);
-    return 0;
-  }
-
-  if (ad_len != 11 - 2 /* length bytes */) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_INVALID_AD_SIZE);
-    return 0;
-  }
-
-  // Compute the MAC. This must be first in case the operation is being done
-  // in-place.
-  uint8_t mac[EVP_MAX_MD_SIZE];
-  unsigned mac_len;
-  if (!ssl3_mac(ssl3_ctx, mac, &mac_len, ad, ad_len, in, in_len)) {
-    return 0;
-  }
-
-  // Encrypt the input.
-  int len;
-  if (!EVP_EncryptUpdate(&ssl3_ctx->cipher_ctx, out, &len, in,
-                         (int)in_len)) {
-    return 0;
-  }
-
-  const size_t block_size = EVP_CIPHER_CTX_block_size(&ssl3_ctx->cipher_ctx);
-
-  // Feed the MAC into the cipher in two steps. First complete the final partial
-  // block from encrypting the input and split the result between |out| and
-  // |out_tag|. Then encrypt the remainder.
-
-  size_t early_mac_len = (block_size - (in_len % block_size)) % block_size;
-  if (early_mac_len != 0) {
-    assert(len + block_size - early_mac_len == in_len);
-    uint8_t buf[EVP_MAX_BLOCK_LENGTH];
-    int buf_len;
-    if (!EVP_EncryptUpdate(&ssl3_ctx->cipher_ctx, buf, &buf_len, mac,
-                           (int)early_mac_len)) {
-      return 0;
-    }
-    assert(buf_len == (int)block_size);
-    OPENSSL_memcpy(out + len, buf, block_size - early_mac_len);
-    OPENSSL_memcpy(out_tag, buf + block_size - early_mac_len, early_mac_len);
-  }
-  size_t tag_len = early_mac_len;
-
-  if (!EVP_EncryptUpdate(&ssl3_ctx->cipher_ctx, out_tag + tag_len, &len,
-                         mac + tag_len, mac_len - tag_len)) {
-    return 0;
-  }
-  tag_len += len;
-
-  if (block_size > 1) {
-    assert(block_size <= 256);
-    assert(EVP_CIPHER_CTX_mode(&ssl3_ctx->cipher_ctx) == EVP_CIPH_CBC_MODE);
-
-    // Compute padding and feed that into the cipher.
-    uint8_t padding[256];
-    size_t padding_len = block_size - ((in_len + mac_len) % block_size);
-    OPENSSL_memset(padding, 0, padding_len - 1);
-    padding[padding_len - 1] = padding_len - 1;
-    if (!EVP_EncryptUpdate(&ssl3_ctx->cipher_ctx, out_tag + tag_len, &len, padding,
-                           (int)padding_len)) {
-      return 0;
-    }
-    tag_len += len;
-  }
-
-  if (!EVP_EncryptFinal_ex(&ssl3_ctx->cipher_ctx, out_tag + tag_len, &len)) {
-    return 0;
-  }
-  tag_len += len;
-  assert(tag_len == aead_ssl3_tag_len(ctx, in_len, extra_in_len));
-
-  *out_tag_len = tag_len;
-  return 1;
-}
-
-static int aead_ssl3_open(const EVP_AEAD_CTX *ctx, uint8_t *out,
-                         size_t *out_len, size_t max_out_len,
-                         const uint8_t *nonce, size_t nonce_len,
-                         const uint8_t *in, size_t in_len,
-                         const uint8_t *ad, size_t ad_len) {
-  AEAD_SSL3_CTX *ssl3_ctx = (AEAD_SSL3_CTX *)ctx->aead_state;
-
-  if (ssl3_ctx->cipher_ctx.encrypt) {
-    // Unlike a normal AEAD, an SSL3 AEAD may only be used in one direction.
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_INVALID_OPERATION);
-    return 0;
-  }
-
-  size_t mac_len = EVP_MD_CTX_size(&ssl3_ctx->md_ctx);
-  if (in_len < mac_len) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BAD_DECRYPT);
-    return 0;
-  }
-
-  if (max_out_len < in_len) {
-    // This requires that the caller provide space for the MAC, even though it
-    // will always be removed on return.
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BUFFER_TOO_SMALL);
-    return 0;
-  }
-
-  if (nonce_len != 0) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_TOO_LARGE);
-    return 0;
-  }
-
-  if (ad_len != 11 - 2 /* length bytes */) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_INVALID_AD_SIZE);
-    return 0;
-  }
-
-  if (in_len > INT_MAX) {
-    // EVP_CIPHER takes int as input.
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_TOO_LARGE);
-    return 0;
-  }
-
-  // Decrypt to get the plaintext + MAC + padding.
-  size_t total = 0;
-  int len;
-  if (!EVP_DecryptUpdate(&ssl3_ctx->cipher_ctx, out, &len, in, (int)in_len)) {
-    return 0;
-  }
-  total += len;
-  if (!EVP_DecryptFinal_ex(&ssl3_ctx->cipher_ctx, out + total, &len)) {
-    return 0;
-  }
-  total += len;
-  assert(total == in_len);
-
-  // Remove CBC padding and MAC. This would normally be timing-sensitive, but
-  // SSLv3 CBC ciphers are already broken. Support will be removed eventually.
-  // https://www.openssl.org/~bodo/ssl-poodle.pdf
-  size_t data_len;
-  if (EVP_CIPHER_CTX_mode(&ssl3_ctx->cipher_ctx) == EVP_CIPH_CBC_MODE) {
-    unsigned padding_length = out[total - 1];
-    if (total < padding_length + 1 + mac_len) {
-      OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BAD_DECRYPT);
-      return 0;
-    }
-    // The padding must be minimal.
-    if (padding_length + 1 > EVP_CIPHER_CTX_block_size(&ssl3_ctx->cipher_ctx)) {
-      OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BAD_DECRYPT);
-      return 0;
-    }
-    data_len = total - padding_length - 1 - mac_len;
-  } else {
-    data_len = total - mac_len;
-  }
-
-  // Compute the MAC and compare against the one in the record.
-  uint8_t mac[EVP_MAX_MD_SIZE];
-  if (!ssl3_mac(ssl3_ctx, mac, NULL, ad, ad_len, out, data_len)) {
-    return 0;
-  }
-  if (CRYPTO_memcmp(&out[data_len], mac, mac_len) != 0) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_BAD_DECRYPT);
-    return 0;
-  }
-
-  *out_len = data_len;
-  return 1;
-}
-
-static int aead_ssl3_get_iv(const EVP_AEAD_CTX *ctx, const uint8_t **out_iv,
-                            size_t *out_iv_len) {
-  AEAD_SSL3_CTX *ssl3_ctx = (AEAD_SSL3_CTX *)ctx->aead_state;
-  const size_t iv_len = EVP_CIPHER_CTX_iv_length(&ssl3_ctx->cipher_ctx);
-  if (iv_len <= 1) {
-    return 0;
-  }
-
-  *out_iv = ssl3_ctx->cipher_ctx.iv;
-  *out_iv_len = iv_len;
-  return 1;
-}
-
-static int aead_aes_128_cbc_sha1_ssl3_init(EVP_AEAD_CTX *ctx, const uint8_t *key,
-                                           size_t key_len, size_t tag_len,
-                                           enum evp_aead_direction_t dir) {
-  return aead_ssl3_init(ctx, key, key_len, tag_len, dir, EVP_aes_128_cbc(),
-                        EVP_sha1());
-}
-
-static int aead_aes_256_cbc_sha1_ssl3_init(EVP_AEAD_CTX *ctx, const uint8_t *key,
-                                           size_t key_len, size_t tag_len,
-                                           enum evp_aead_direction_t dir) {
-  return aead_ssl3_init(ctx, key, key_len, tag_len, dir, EVP_aes_256_cbc(),
-                        EVP_sha1());
-}
-static int aead_des_ede3_cbc_sha1_ssl3_init(EVP_AEAD_CTX *ctx,
-                                            const uint8_t *key, size_t key_len,
-                                            size_t tag_len,
-                                            enum evp_aead_direction_t dir) {
-  return aead_ssl3_init(ctx, key, key_len, tag_len, dir, EVP_des_ede3_cbc(),
-                        EVP_sha1());
-}
-
-static int aead_null_sha1_ssl3_init(EVP_AEAD_CTX *ctx, const uint8_t *key,
-                                    size_t key_len, size_t tag_len,
-                                    enum evp_aead_direction_t dir) {
-  return aead_ssl3_init(ctx, key, key_len, tag_len, dir, EVP_enc_null(),
-                        EVP_sha1());
-}
-
-static const EVP_AEAD aead_aes_128_cbc_sha1_ssl3 = {
-    SHA_DIGEST_LENGTH + 16 + 16,  // key len (SHA1 + AES128 + IV)
-    0,                            // nonce len
-    16 + SHA_DIGEST_LENGTH,       // overhead (padding + SHA1)
-    SHA_DIGEST_LENGTH,            // max tag length
-    0,                            // seal_scatter_supports_extra_in
-
-    NULL,  // init
-    aead_aes_128_cbc_sha1_ssl3_init,
-    aead_ssl3_cleanup,
-    aead_ssl3_open,
-    aead_ssl3_seal_scatter,
-    NULL,  // open_gather
-    aead_ssl3_get_iv,
-    aead_ssl3_tag_len,
-};
-
-static const EVP_AEAD aead_aes_256_cbc_sha1_ssl3 = {
-    SHA_DIGEST_LENGTH + 32 + 16,  // key len (SHA1 + AES256 + IV)
-    0,                            // nonce len
-    16 + SHA_DIGEST_LENGTH,       // overhead (padding + SHA1)
-    SHA_DIGEST_LENGTH,            // max tag length
-    0,                            // seal_scatter_supports_extra_in
-
-    NULL,  // init
-    aead_aes_256_cbc_sha1_ssl3_init,
-    aead_ssl3_cleanup,
-    aead_ssl3_open,
-    aead_ssl3_seal_scatter,
-    NULL,  // open_gather
-    aead_ssl3_get_iv,
-    aead_ssl3_tag_len,
-};
-
-static const EVP_AEAD aead_des_ede3_cbc_sha1_ssl3 = {
-    SHA_DIGEST_LENGTH + 24 + 8,  // key len (SHA1 + 3DES + IV)
-    0,                           // nonce len
-    8 + SHA_DIGEST_LENGTH,       // overhead (padding + SHA1)
-    SHA_DIGEST_LENGTH,           // max tag length
-    0,                           // seal_scatter_supports_extra_in
-
-    NULL,  // init
-    aead_des_ede3_cbc_sha1_ssl3_init,
-    aead_ssl3_cleanup,
-    aead_ssl3_open,
-    aead_ssl3_seal_scatter,
-    NULL,  // open_gather
-    aead_ssl3_get_iv,
-    aead_ssl3_tag_len,
-};
-
-static const EVP_AEAD aead_null_sha1_ssl3 = {
-    SHA_DIGEST_LENGTH,  // key len
-    0,                  // nonce len
-    SHA_DIGEST_LENGTH,  // overhead (SHA1)
-    SHA_DIGEST_LENGTH,  // max tag length
-    0,                  // seal_scatter_supports_extra_in
-
-    NULL,  // init
-    aead_null_sha1_ssl3_init,
-    aead_ssl3_cleanup,
-    aead_ssl3_open,
-    aead_ssl3_seal_scatter,
-    NULL,  // open_gather
-    NULL,  // get_iv
-    aead_ssl3_tag_len,
-};
-
-const EVP_AEAD *EVP_aead_aes_128_cbc_sha1_ssl3(void) {
-  return &aead_aes_128_cbc_sha1_ssl3;
-}
-
-const EVP_AEAD *EVP_aead_aes_256_cbc_sha1_ssl3(void) {
-  return &aead_aes_256_cbc_sha1_ssl3;
-}
-
-const EVP_AEAD *EVP_aead_des_ede3_cbc_sha1_ssl3(void) {
-  return &aead_des_ede3_cbc_sha1_ssl3;
-}
-
-const EVP_AEAD *EVP_aead_null_sha1_ssl3(void) { return &aead_null_sha1_ssl3; }
diff --git a/src/crypto/cipher_extra/test/aes_128_cbc_sha1_ssl3_tests.txt b/src/crypto/cipher_extra/test/aes_128_cbc_sha1_ssl3_tests.txt
deleted file mode 100644
index 4dad41d..0000000
--- a/src/crypto/cipher_extra/test/aes_128_cbc_sha1_ssl3_tests.txt
+++ /dev/null
@@ -1,3785 +0,0 @@
-# Generated by
-#   go run make_legacy_aead_tests.go -cipher aes128 -mac sha1 -ssl3
-#
-# Note: aead_test's input format splits the ciphertext and tag positions of the
-# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may
-# also include padding. We write the byte length of the MAC to 'TAG_LEN' and
-# include the unencrypted MAC in the 'DIGEST' tag above # each test case.
-# each test case.
-
-# Test with non-minimal padding.
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: b7b9920735
-TAG: d05707f3640947f30968fd28b859368f54f0640312ac250fd5c300f0bc1e4c696b6b18c7049fba428940f5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test with bad padding values.
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: b7b9920735
-TAG: d05707f3640947f30968fde881c9d54eb5146816cf46b6acc2efb8
-TAG_LEN: 20
-NO_SEAL: 01
-
-# Test with no padding.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test with maximal padding.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b062a09dc2c5fa375916a8f72169625ae00
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test if the unpadded input is too short for a MAC, but not publicly so.
-# DIGEST: 095a8f557f75cba8e2452ddf97c053904b48827f
-KEY: 18cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1
-NONCE: 
-IN: 
-AD: 936a91d0b5d2c02672
-CT: 
-TAG: fa2be56dc0df7c762dfed83a406eb6f2b4ed193aee583e4f71f00570b31afa048e699fe17bb40580b7adfea54bab1fe8fea8149eadb13fab2c45dcdff87b90e6d3dae8bae6712d34b12557b8da9b2a27b68e23a8da45506412100d107ab34af6f5b50705a24862447abe9f610c9ac62d77584da9c5f5bcbda5876345e19b9ff97aabd319812474742fb2cfc835fd4285f27a70be6d602ea3b0d7c3b8eabbe0fb3d309074bd46db51733aab23ac136da9747ec8145cf1ad8677894d2a417b6324b49844c8da51103ab0b0cee5c812248c6660e6a3d37ed27492f500255e57d19e697461ed9906ff50a81f981c0476ce3207a0fa1308b1c70560ae243a143ecfd6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test that each byte of incorrect padding is noticed.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b44059ab8aa3e5156b8f7cbb74b29419a6a5018e939c8f13ab27b91d33f0197470e8b36af42b60276b5dbc57834d3304d422f8b134b00a4cc732b42ce3147c306a047fd4fee78d16d88b04336293e00c1c2e2da501141c5f419407732967a7b210f2c66c75b4eb72e8a82d50b7b61776fc5fa4f34bcae2a72d5919b798d9997ca02127d98be95c809e686bc49f0633156ad3d4601626ba4d5e327474c52d0de00666bd9a4504de3e94eef168752e9c1834dea1d0470e9b8b39dddb258e773a4d7baaef0701db1bfb06d3757060f1fb6581a3766a2f4a44f45fa9f4494c884fd7234a2e3f32afae93acfadc4b023e697f8194b0d7fbf945c58cf1a1546058f856c4beb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b440528b55c9ca984344de8ae7b64c6a6b24be05c31b0c6715b9416efa10e5f8776ed4b3ce463d7c8387a7aac52256db1eaf618c6ff76cf703b989a129acfd45b3ad866a3cfe6f2c302a11ca0745507d7daffb88e6f3cd404e12d387c618d01e93ec64389d246f4ab9c58af3e843e3d9711463fee424749f0389b6eea54fc67bc45189e72c3d09679f948d14d8d43daf1040f56872eced0ced75349accab6bafcb80e2b46730e7c93c1c5f671b873c3fdf3ae90613d6a8476cda1bccfbcc3e56b909c3a98c309cf19746ab024c0b275c605e3d86657c60939b6f62d5561f88f69b60e4080c38ea23954b953e283c803bd1b443d9e363fb5b2cc9a0a80a2b761b4cc17
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a65bd6b200cd7cda719e9d3e4b2b9b6520ef88d37daa2c0dd66a99d4eaaee5b6061a8c7eb7da2ebeaca47108731e6cb30fb03150a14f3667c2afe6c049fc5cf6022987c0a2ae424989bd2507d72ce90df07a0b5ee00209aa7551eee2d437dc7e05333c2c77f78ea6ea9367c79fbf3396800c7539aff86d9f29ad471a35deb01632139d0fa9629991743ab1c5514d9d103a365836d7feb7fcde55c856591112271be7579403bfe8ef8d808e8a431553761120f73eec23227fb18fc780bcffa8908361df1775755246f43417e4f6a19d89a1c7d316f6324375049668be186685ed6db1f138a7a215a4a1503b93d4b6f3d13ca630f45e13d22e66814844d4c3866a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405fe614ec9384990f063f5a8dc1fd3b514ccdb0cdc63487e235cdaae7e40d064725c86c24f47ceee6972c58148c17db5c6c5b4a734ff461cf4df1f5e18bf6b7c19796c0b819d4d77bd228ce7d105a0b9c77738fbf94c014f2f1b97863e078e7b8709fc0c86eb84be437d2179d43567e10a1b87801cf19eaa0296741ff57220e4a0d162e95d0549525cbe6a419cbf3888b27e622d9213f3d7dbbb4a40841c478959fb9e5abb70e467ad7a8a00ecdf60157c019db7ac68eb5e3c0ec7c546c4a563dc5a135b5a369e7a5765f19858fde8ec6fc0e45d04fbf5fbdb8de2962c9736431b57b2e60f2e34809abf728105e05ffc34cf6f20c8868f8491187f6de7388a2c92
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b44054c5cbf6226f2412877f36f9f9384c25ca623a7ab157850ada336fb6ae6afdec486c0a3efad909edb319e2650b06c7b9641afe23d5d891b98ea95c8f0c7f122bdb48437817f9c4b2e2711e8736262d2b012a8bd5484ff3028a0d32cd15dbe2de2507cdbae4fe8effbfcfc184c0e744960d296ee51220ea40584d5651d93768b73afa7a41dd337a235a394ebdc426d77f6a80d1c630ebbb627463b9c2f836e8ebf84371cb97b87f4799cd58ac402d83962a35dc11a89f58b352cccd527eb228e390a0315a9a82357559b82d540d0bf9e83891ec3b1838f1cb365ac99b03f032cbd4fa0e32997ce5945dd33231ed12b317de2a34a6d75a2fa1c52719260f57c1284
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405c5adabdb5718284a9f74add24b28b71bd2be74f55b0478e88c3630a0d2451ad7fa46d248f8f307931e6d93590027afd0958c4b279355773ddb9f60984704b05dc00bb1ce597d472e9782078cb8904c9b5b046c855bafadf3b5dca41890a165fbe815e66ef0e845bacfbbf753b6c4b8dadc7f15b9552002cf743f229df3f82291fcd0c96e9da43f1603f19663944b052c859e4fa307b05a24778b2935b09a1a9606c131434158aa8c52e49c011094017d77690179270b0ae0cdf2f4ba35e353bb2b3d926b4c16614201eeed3898cb90598502cddaf9ea12c68d2089412c918a1ab0d4a86cbe2a7fa6e299d22aec38f013d811a669809d02693e3e31aee0d9a894
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405dbd8cb2ec2e530ad5cf6077a53394099df2c39d459e96c225f898df8bbea407eb81d8fdc979775166ec5779829a4249efa68c9c7cee91f6fff1ae756a19ff878e50df724bc8b9d1da86ef33e5e1da2a610a9495b6bf654a8403e06ee2675d19d9d375d2fe879af48d01298d6cc569d702bc9dbd806a0937534bb7bb580f0a76a12ad48e9b77e4f67521ce1d594dd161e682a1fe25e1e9889f82f6cbbe8b576fe255dbf736030c7f085b7837d9becf9ef823fc258735377fe07ee47b6cd748a33a5f9114b52caea0301a85d2cb52e96d7e029fc6aa55bd8d22672afbce748eec047619a6ac6cd2f43cc22ffac7dc1dbc987f07ee9846492653fda080ec8d1d173
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b440500c0f36b6d8a37fbc14c254cafaaa00e75cfdac41352ec264fae0ee45c3ee0c9ba83da44cd92109d7af2d574b341e23354b57e34bfd646af1183e12e9e8656a47a400c76d1575afe30184f32e746310eb7fa4b2e30bab2c80a981777491bddf73a5d4c5ca2b1ebbf4d40a09895680670b55e6da61b038bde5d129436f41b85a0fa0c987037efd743614a2c71d071b1de6cd39d9cf7df9ebb7ed266e759d18e97069e2b102e1d6dabdf162d3db2234242146f0f744647f17afeea5c460707860112330893cdd97d55df64527c7f18f8546fd2376aa0cda9f93d7da7f175ac8b19b84a62025a0622b21e4177e4119cd36fc31bd6382d5ee89b74631513bcbdf82b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405394fa3397a0a192c65adab5d01c4c5ea5ba598a5b75f972937a6cdcdb3be2b07e8c14bc422c2eef509e0d4121db73a92b63864b5aff247df5a3d853e66b09f9b67d15cded1cf3f5f1cad992ae87a668797f54d0b4e265f7743a68cf9d75054140068e0bf023863a3a33cc0fb88e1b9dd5e062b078eec937d9eac9916c599be78312e010685a2c2504f962ed233c8b6e3134b97769bc292babffbe821b62966940f76f13e95f65d544bc949c217454ef7fdf465fe6efbe14dfe58148048fd06d1624e03eaa0c31878b6cb56ee380db1a145a17a6a40716db5a4ac5b7b5dad6501012254592b3d650391109bc4f8fef49479b75d9ccfb07c00688d2042804f62fa
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405588634d0ccde646710ffcfb5a68e095bf8b9a19df1711525261a511b435b312dc1971c25eb22605e23b35d334d061579d71f1513e1584740795d06a1df5fc9386ea690d2d206455dcc179af8a265af71bad1872f1df636f900974b6fc637857bbb8f4e91105770cdd77962087f98f29f6c9f6ef8672f8ddf6fa56a06bc9d11ae8daf30ae2ab92ff6e189440ac543d88be2b3a1fb91b88e3db15c2db578625dbf425b177bdd2c2e868b760d9941f361ac48495da288e8f5bee74d98b973878429bdffc97f437e9f00587051c87314c1df4f3ba3f0412f24e66a0e1077f9e28c637938b8907b5347a3ab86993501cf2c3ea5aaeda2ca4f3961e28089876f7e1fc8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b440544ff11a1bc6957282908577c4cf0fe508c513742198191ff8e715d42ce7df4556865ccf2fe61519fb847c2176b727ca185abf66fd5889bccdbb7149de586b78bfc64b927ce04c639f18d51b4c7cdee45bf89b3632c3e18a077dafe5651838e8c6220e33fe4158a696e79797303443e2c842f0c58e34a6afb73a689fefff18fce4c9b66dd7430d604b8dab55a4b642613efbde5254da90e74f87617a9b2aeae285b06e24b812c45bba019c05ae8602c655ee3ef2050370e53b06bfd876ff951571dbf2dc92fb93451c721113395c96afb577b8bbe06b79f91e8089142f34f75099f10b89363e99b12d44b08efe13fc039d3b8def7a5cd865b5674c129c2022957
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b44057a2ea3da57f9121c843537e85e3e817babf706774da962a7187445a82fa1c5220bfa267a702433ce8fa9515ea599d4071c6ec5de01cceece43b53afef0b39eaaf1d54a11610457a5037199e4aa670474ea2d5be0cf159db9da272feefcfb5b8509fd47289010495876af6cbdc3582b5bf4d348885e83c53423a5943fa895727f108502d3f1661496767751a59a0673cc723b9b7083472d82399e29b4005cb181ea669f9cb3b6f8fc0068134b31d9da671f3f366dbdc7cbebd62202822221c4b6a796c91cd502b7d47c40b8cc4f723b644b6c52b8769b54bf465580cf50544a9805847e6ca6d761e3c19f2d2a00ca0ed1ebeee533ee97c97097cd91754668272e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405b3fab2b484e3030b020b9880b73f3c2dd1f994e3ce360ef5a8ba8456380acbbeb3137ef96ce6407b910d82c32feb16560abdb40cd7e237d912116b2fa9aff20abb95e8242e7feb8f501739a3a482004cb4e66423cf97b9cffc9821766bee7c88e124832f1a3e240d0e1892fb7565875bd967afc60717d93048a9292d67c1129e2c087a0f8f82344e55e819ae28ca5f04cacfae89f58be1bed7ce320c97ca6d17a71ff1713e6e58aa3aceb2f8ee1a884d37a1cc84f43cea2ac4afbf24002c1386b08a2c8a6f9758bdcdab8405c4503aa454672f5beeace6d2dfeeabbd23b2f445758aea3f1ef8b374573b71ab08bbd21603906e638231d93c4b7054d601bbe320
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b44050bbd42de2d8a1a7a7cddb30ac583543bdda8ed409b6fec1ba536c34c7154e5d982d3127555ed9d68e463a08741013008900282875c30e60eafd2f79adf95fa5aa2cc13054600c606a5b9836eca38be106edb41337a75d8a35113bb0d9dfbf57bce555caa42a6a2fdda3e9e2617a5c5d460aefe3bcf6452a8da40df20cad5b4a3eb55f9c7b823483a80aa17552a619223683a147329da73ffc0b00ab7cd09b4a3dc81dc0ac6bd01909564c76328654e5a34819330d1d77e18231b4e12afab6e88c8ecf21c3ed03461af606012f0c4a42e93af15afc253bc2d44eb26c238d438f0b4e42b9cdc0781d2c9885f09e005ca93a04256c454beae74f70e01f3d817bb4e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405517989b9ea5b5a461d7b5c6274788478d01081c30d3d9cc63abcd04e6c355a7cf7a66f661aa26f644ad96f3ea471b24852de8b28fa4d4e27722f77554eba2905bd8a03ed842be90099e3bad76b265c52141d89ee967f1ccca4b752805445025ec3a5b1c9f1b722c74f7bc1fb4113aab1ebd1e351c1634217c771bdaa861b9eb69678de05ae93249e5c65f1aa75708d89a5e946fbe1b8182299ed55d0ab3bcb274d8533bd453210aea39586af40610fbb966b85f973a58c9c9e50a778894ac0c69888d5ddde126abca1ba572542493d9ded8a93e3cb73352ffaf8465d71bbdf16d431065492733921d9f9816e167286520a6cb22d0cb0df3f3af81d92726a0d29
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b44050f07acf7d53d48b87a19e15d43120003c4f3fee04b5b6574ff91944bc8d9545b772ac8ebbbf0024dc57fe10eb9311a979fc02eab9e34f94756f2ba8d617a3b70846f1f3bad4f42e016ebb3659be952c113b8724f17f6e90a111537216a9ebfef242b0d9780c6afe009d651fec478e3fee84f373fd128396e2d2c3ffea74cb47e92d972a44edfbd079a337ecba725fcbfe37e13411dc46c73a65b7f2ca20f5ede212645d3c80c5461d37c6610790a419904872077db5ec7c8a476f0b0d1468fd004f9bb3002b322c5b828952fc6ee17ce228417e8fcbb91412656cc5a5d3c2ce26bd1d264a396d8897f67c221795e2827f0da3e1c120550906dee0a5377892e15
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4763b4f90ba67220fcabaf6d6801ba5a6bd2e4d0c3f9df0f7b3aac0adc6533504ebdd8fbcf13f12dd103210ebf866ea9a7bb1f43836b837cd1dd41efb678695f65924ee703e1ee59a2d5a155e49546214ee11347d2576b289f878a85008acb69f6bdff2f07706cefcc1fd3610d613483caee1eeccdf5ec29bf70dbe1cbf586f1783b24743bbb4ced4b70f6e3f7665a8227c9ca3eab2e9490f83dc143298dfdef15c9815c593aac5f4ff5f9a92bd3a35456688b1215013a3844f5eaf99d0e0187b5a28e26ab2c8036474b74ef0ece3342483688520529174570017132a2e2c5253c305c838e07ba57b46e911571148f37d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4afe319f681ebd78e958d6c54f7cbbb8bdedd7fe971c9635eaa3a21139bed9b17d85b6e38cf99328489c226d243707e7d6100b2216c59b39f60a276eb67fb0bb52dd70275204e477182aa73bcf532f61b72a79a5d995e587e0f53b8b994544d8b8581a515bf04e424a097218eab42698b30097244cfe9644e63c64b0cd8dc2aafc67a24798930a3234c358fa8013daad10538df1e990859799efe466f374436dde84fde95e7dad4381df4f0d95ef15db23061906aa62ac77c3a82fe91ffb8aa61cf57971f0e3ca3a2b87987683fcfd818db9ce4dcbd9d1e53d81deabff7e0f79f79e513982b85f52322521a96311696d6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b48621f13f52dae06d73f898d2aa6d7d7d93d648224a9c74ebf9b9faa1b3647bdb73ec3abe12d714dc6ff5e92bab71f3cc83cf7ee7ec6c2c98bbc1bb78879abee9f867b95daca2a8c17809758043fb0b7aaf8fd1daca4c49fe57311739952935bc6497f5d870324a82b38b33b79a721afd9c4225fcf0b23333c6786952c8f205253f5f3d9a240883d0ccbab2509a50a1ac93bf9215f7653ff0084501f973f209594ca87089308f840222d312d8dd0015ec20cbd8b47145b3e9c10b975d1c3cab8ad05a8c46c8182b142251e6b83e69d237765688fd462bb83d58b431efe7da1bb852889b5d599c2a4569e33b879291a672
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b44c2a2cafdcc197def77f6ab18d6e3b765a26934e79c0be2d9505a2a53267cd93717917f5d8b37d4072f80365d631c0aa6530c2f631256e0e7dbc0b081a7b755e0a0f7e27edd0a73978cac998485544a49c9c100253975cbe1a25b8267f7508219f4194dfcaf360318e8ede6a01889cbf82d4a949a10556ecbb0ecae69bf3756e4dfe197a311e8b45ad0e3874c790d83ad5811dee7bcb59a6151d65893592a8cdfaed3018475052e77f0fa0d65f3884cfd6d95d736bcfb95361faebf5f9ea0922107a2d90b3e459c7754cb1aaa0880c05dfff27d9d7176033049ecc9bb9c63c17a85d27b0708dca5f69c5cda073f1cee5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4c5c1b819ae9a6034775292ac443aaed052f2045a42dc6e620f7d58e0d5841e570bc3933b59de96c2373d1ff9df0b79ba7ef738c622d34ccb8fa599790cb813ef379895054b9854215b498665347e2f4f6e31ff1c72b5fb99844c34a0738b2ec8bd4e4b7d0e8ae5bf2daa49aa2e66cf5706072f0fc0942deea876861b82b656148a89ee8670623300d479be2e12d0bca03021ea48064f908ce4d0d8066d0ef43356678dc64f4f832c3ff23f86f3fa047a1dc78b2fff5737b31250c21fe13446e4dc50e4b5970af142ce62c7865fd7b0022347e4a088d8e95f1a9b261dd4317b5e479e6969d075fd0ef955b13535b26a32
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b454d268a4f22ea1ae961c4d518d2410f8dd24ff997129cc907cc0f0babc12fcceddf55b094272d0a6649a4013cade27853b9c4103dec90ef40f758d1b52a62ec54786e50b0734b5842209208e7338960a655ec7c54e8f5a32372028e5a3f30df1a096c28a4c21fd350217fd4b9b729dd7eed57d95beecb5e98fbacb5338742f28410aabc3e6c46ab0191ee7d5516fcd2da0066a4a9b596a09e558349a81dae20b404d612e200d1ed6f6f617d93f1b4c42f64f72ac14763bf0f594e9439d4c19de165ca5b1cb687d612a7411720ce685c504c05b12ba87fd42641959f8ee763f035a1657ed3b54fbed7ff083166ed10419
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b48a39abf67fd14223f9105f7703dc582e509b3b8917d7880f0b8a319efcbe877da7b23ec6ebe6084a2480d37f72ff81333f3f4dc53d3374d3e4777f32517f5464951fca1738fa9fdb4cabb53477dd5163029ec229bbc7936d75672fd7bd8dcddeaa1703c058a34cab5655c317633eef6cb28f38be63393089fba7d8c3ada7865baeec87ecbbe5874d3d1cdf6b5a19d5d0760fb5dded56013f425ec994317cac79eb061e8d303b3730e679f8bb3e13e96076c27a9484ca6d0e261e7dbe03374d01db054b87a29552b9e768e365d7ba70ba3464ca3918f8fef11814824b8b9f42b5dcdf4de647a62dfb1bcfe39b75511690
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b485264b2714f233b97bf89c0dcc5a44eccba32f951f357a599f03c5998480d697dfd6841296a01f2a50c970ece9515501a243f6ef50f82620bcb16d77eea8904bb7137f6ca703f43dbe7f78ff00ed22a335286170d8e84ef1e6eaa802e6d5c619f38467f083c9e1ea1376b271ac0c700eb373b9060f29ba729f69caa8bcb41e237c639b83868ce6cdf06de560c495915306e457c311c1a4ecc9a566e5db2b1520d2a421bbd115b7193e48f8882291f00ba85248175cc0a4951f3d6a844d4b5cbf08e246822ab61339eb4b42fc48ce40a9f54f59aa4e29348d695bfcacfdb66369e7b13ac9b97b4b706893f177b64c1044
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b408b9f50b305a5882d37ed71c5810f3843a34dd792ae9217864c8ec5b076e4c1e7277d6fb27da2cbd4f76607dc7409f77d273d5cc963ff2964c35a768baefb327bdbc3b5236168bd49b70f63d13f847f7ae53a36f16c49da5064fe66019063cc7fad687365433bf1812c402580f83188cc3477a1e009610a19995541a08df3711f43e4de87fb1c07b61a0fe894c99d5770847089ed2ed63cfd8426f014ea75ee4bec92824234e4628cdafc1fa7bf7852fb265f83fafe618d35359b6fd33ffc0b14ddd5e084db7f4aa20685b1b42e08e307c5b9beaa133e94bfa4a23743977a3018de0605682d6eaa0eee7429ff127531f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4104aaad4e1877fda5f3568d80ebf2724238e3061188e96b05d46c92b54c919d7f9cd68fd8d4f19f6f2e2433263cd39322d83b5c35e7961d1d473521c4bd0dee158861d7c2c033a609c40525409e350e38c118db2129668486d2a27067c0cf60f3ae623011d566aaba115e4646423ea18a5e28f20921a0938ae27cec9081fa9d3ff79b6b891669d758a66810774b39ce55228982e815920dee1a9d9246f9a6bf84833560a581338eefc75074da66c98b39cfeadd80e5bc93f52540cbab976a54e6c1a0c0f91434cb54dd5a13e957be26fbbf3032e27ae470e52f3c6da07466706148415691dad511a3ef2789b07916125
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4a325d09ff66928b41ff9f5776efc3a9e91423a8af2e6eb2a8f01d701b6a2234b62cd1f75cfdbda95e8d7c260a5fde85cb37531c3dd069bf3e7645a33c5f3e15f0a951fa8a82ee9cbffe1ba362dd30d08c226a4e47174665f2f78ac22ffec17447245eee5f33bb5d7865dd3a98ddc5af7bf69a31d8b2b8dfbfe4d701a185aa9344ff736b0ca0d55673914757511799bf9f7ac67be247fdab2286272b897dd2e4c0ded56ebb487a9acaccdb877bb7dedbea9b22ef9098c89943611c2e8012ee48edf2919151c17101432642e1bc4927e84a852ee0bba9edf6c8c35af0b569183c642eae1bdfe25610f944e96292045cd01
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4ba5750e323c6ae71fe6ef97bbc42c53e7fd2a56cb0dfac0129d0ccb01b6f8b4c6e37463721c9b5406ed23e6a889208fc7b969809e48274b65fb926c621b45f4fffbc07a99929613ff5e1bb7de22682560e8467e47049d110fd408385aa0022f4d5e35517ede1d9fb05bff943538bb5fa23dd525d9541cbf779c33cf8939f0492fb6220f2e163c12adb9d59576fe9991ebceee1d65bd06d3725c57382297851132054efeb1d3642d92db1303cf6874f17e1bf48bbf974a1b21af5ed348420887335ac876839a4a568985c7c0fb98e293713fdffe8e9aa48b8aea268512b2edf7ea56972807d52c4000b7d63095b9fb38c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4fc6a362761c0379decec859071b4b8eebcf586d5cb1da98f7b4adc54261c13ba1da34343b7fdfe6ce7efea782b6ea65ea36d772e40606210330c88ceaafce083c526506ad37c4ad6afb9594ede8c5476fd6ffdc6ffefd5bc573e69ed67c7393b015e0fb9aa472ddd267ce288bc79c6a749e56d411b2bc9f3b9cbb319475534112e63d07928e9274d386424c3134f672fac726b74758898cda62dbf528e0ab827d850b4e4c4594be33a4ba5bb2cb3ea7a7abacf929822a24db599b2222e185dd48a7b675095ee1bfbc8a19838e61d70cc370e7f2f3b6c99f0c337d903c8d4e9e044b923cb2a7e641f9be5c08c285039df
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b441845bf36ef9f3092999918820de98a4fda9ed0f4b88d755bd676a279f78acc783f1a19d126bade45c45275d2d02f12b5e52e50005dc09642d060638f52b493a37d2e749bf0d00a16446c152b94caabea0d548354f8ce0d5a92f59c6d7a7c6c259e0f6a5b530c5692c00616279b1bc91de590a9353f6eaca6c0014580b413316568e0ce0c560e517510d721b2d33b5f73091618611dd2b3d17b2be8f4beb0c2f44af91c62749ad94e06762a0d4f04078a96c7f7385872afdafba8c022d78b4b37f1088f8f837f1be9c4fe8aa4fa79c100d8cc0b2b6000f5bafe73ea13891bc7e83398b0a46dc1ee6be0bf59f93bee358
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b498e3a68fb60993235a9ed7ca0fb88c02554f32422580f68e39e38809ef4700b852c27a30588b77a0b812f27291915d77bd40bba5c55fe71479a6f0284343ff78056b45bdff98c188555f177271e1e8f371a9ce925ceaa03d9fe082a0ed6b42fbcefae403014c932bed237e740f6b0c7e0021f11451fcc4a8a589020bf193943a4119c227b1384dca1584f9dec0845e5df7c1ee13ce487f6c28f166ccf9439e8ca223e2ecc7c62c5ad23908ad616c4f0024da66c411db01b2ab17a2da53503493ec687548a3a750114a029f9735097a265617ff364e434414f606cea078d672537570d4b8e242a9e5e4917b5fd39871ed
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4302e4c88afa000bf15df15eec881187fdb849791468f81fc15a9783f8f512f6c2528fced8c80865efe2d91872ff42e624af24b2ece3299bdbeec7a389511b54e4db98054d3b4299be114153e2274a5f8c18be8334b456d941aa378b346efa15b25497a0b96fb577c354ab0613696b262febe776259cc47a95466c2dc948fecbffb0b29bc4d313046aa43c93708598f571e515a4970f5cd6f039e7b9d2cd644fa177233518025a9ab05036786bb7e7be848f2151d278137708d4e0ae989f808516f8bf12f0c44ca3bd5bfef0ee1ea78ab310ddb93584cff7388ad19b8551fdae78357a7cd45ab2642ac50bdaa4d7ab755
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a567b5d1bebc1e6d956540fec77754e2272f5c4473f62ece29f453b6ab8292ac8932293f105051e7092aeb21ae259d6cf4add013c29d185ee5412f42878354b1e7087577fc4d82bdc65a0d540a815caf09904f7b2382badf2144e222e0adb11ee07ecfb17d518c71a8bd89578e8181cb04d77243d1958b7c83f557db46f22edd9d8a4e4f51823885e55720b75d60b7ff5e9780f25fc401b5658d4e7fac22c4f0013277e26bedd6fadb1e479c2b20aecd74381a0053940a741b72209256970d917c159932be47900e41ad2c1120699958906ba66dc7cf740a78cf8d1e59ff2e8a9d74
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a5671cc49efffef621516a50f91e92a3b850ee55936ec11d3929db4f671c599b2e02c46c92331315d1ae08e745c37ffa202754c5939971730abf232157b1b2a1bac8ffcd329a4a00ad3b8b3bed238c9bee9282c686191e06d08ec57ec35406d5acaee18840b51b984a457712ab3e900fdcdf30ba294ea20073a166a76421760df008a7fe3755768ada997b8e9f09032b101aa5f4b66cf625b4058a835b6ddc9bda4fc49e43951eceb425ec1791672b5f3cd36b4013f2d20c363ace676f6ec26695e3c30896ae5983ab34bcdbcbfadbd3d6a505cd1d061e9479d5319ba5fcd12e4838
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a5678150abea32a7e8c90291e661fab690d8377921b5950b7f578a697a129c9e604f9c750b1c27ecce9281d75946c41bc54b8402e329cf6b00d1b200d0d3df6cf6886cfd22c9b8167ce67eadeab063f2170b4d4095d141f38ebb457a3c9b47e3a509575a9facc3f5949f9677fb12fbe91848361068fe99dbbc0774460b371146653df7b281e7916b6198f28da1ec5a710aec912443c52fe6564d93c78dc9b646cfb15c39379e3b13c659d83c9793e3657b18ae553df67d3690af71471b28257176fb1a3b55c9d8a56adc4c357fc8825aa769c98d28eb16879f42e602098e0b740c5d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56729d5cc49bc9b9428789561069ffb9721914bba318ea78ad1c357c0260d3e974f09daa1c90620b36776d41e430881a465678c982d77db8fe103d069368cfd52da506f18161f3ab84a641deeb2b7cde41405cd4e561c30fd9c04edef48f8b1758e933ccba613afc701be507da1903233fdf8fe879cecaa41a5a380f668dfb798d07b8a9f88bb64c22cc92b7228b1ece6c2985d3fa0cfc52f5cfdced0c8fd698a34ab34d3b5e2fea752aac6243ede85b56e9dafd91ad8fb0ec33f2da6e8873f3d8b97b638c48a5e040b3b1ba41ef75c4ffa94a43b5b7c91bcdbf76c24c298f3450c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a5671f2f3e2ce71369acb992eda87891719ebed083ff7dc1470a152b7481f385620b15aea431af64f554ed01a52c704548f24e1942bc4f87dfc27881ca62ea5e60eb57032626316b6b2d46f31d94b9c8ea931eda784bb4ab0a5647abb0a67164e3b7d3c801910d24e6474cc7cd638d4a350e73b816a6cc8e3f8246401d4f85cc45058245dee015122dc688883c55f05731bcec3baec8bad98a4e0cf85436ebe9d3d25ce433adb71de387638f8fb0bd870712912119e0803c8f09f98d3969bfb39f42238280686a9a0a5ea3f32b4f7bfa16fc8c0a24f4970c9e72b4835d3f82f0ec8b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a567790a2467a1503929760de245508438b81d42fec8623cbe41578f193e8fe64c35ca5508784abed1eb4b07d44dee7e03d523d4bb5b428897e9534f0555f9dcc1f074c52db070f42642c0379780c0bb45e2366eddb5bfd489457f02667a00c41ffd065cf77c2158c3d2849815241434bc5b146d30d8d51de883c83db233b5871ffa86d19527c98452a2830fcce5933f0e8e27951650708df2298229a34ab4d2ad8b25cd718092fb8bb21544e2efbf61407906ade63791093e8a47c11288ac1d3639ac527ea5b377ddf8ee33eabb267d7b70df890809d560025572bdc1328cc0b503
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a5674063b842c38017b6452f39f62f24da2d04996253ce202677cc4c47c6f8e3cfc25020a9103f2da72738f6db6fd3c4e8ed1a0f505f29b84050f1a7bb45404803bc1ec58ac5ea2821c640d8eeb857214d80ce0257d0c25ffe7f2830a9596b4838d63e896433808f68e12161e595bc5d9249faa3c9aa073afbd9660b8f2e29e74010949dd6f9e2dbbfe07f280ccb41dc9f834adb21632c914a1062c3e7064ea11c2833d251a61b7271bf35c34631c7cd025084fb7bcf8d57c65d23f28fbf1c1bae049d5eb5ec6f05a9a89abe3573c6b3eaff656f030a8f7592f635f09884b767bce7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a567893356f36ea091d2fc3c84385e1867642a6aaeb349863eb2281005f3f0514876788b86e6af387e1b317b1317caaceea9093d05e5fd76667a5338c159bf914b5c8fb21568274972a14f2597c009cec323d7b2ad76c611f4acbf6516c3948fe8dbaeb0b68ac97b4d6d3552db5f827df377a7a82d3414ce87d3e8a53deb2679e7da17a439bbb99f18d8a85e4d1b5b9493281d8e50e9143b42d88b84a4e3db47475f139fb1aca3be9f3df8b74a196b1208dfc4d557823aee69b5801f4781741cb74a76369a1ee476c5d48e96919fcd9a7ad3e32e57a35b8f9f05b3bbced6055f182b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a5673dffd1d9e671337d937ad63c7820c979768f6b2bf8161e8622e27d738af25df3f8dbba976b56e73d6bbd5913f013d0f1c4a6d7496f7915d2d8fcd6a324f3455b81b968fdb6690061d407858931afb0a368d54aaafd9e89dd55d35f5d21241ff212deeccdd9d8fee43e47bdef4e4b82d22efdfd9a539b119f9997a37fbadf9b4f184837b696520fb4489d266d4f93c02a09ae5c968401c0d151c37c8d7e550e9ccc0cb9fc5ae107e132d3ab6871fb619ef3e505ef440881cef0e575761d2cb97a29d77b3a3b8098b38309b813ec89377be7f00dd18b28d36248c4f4e9fd969ad2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a567b3038ec763f55385af3832e621bf20e63e9921d03fdd98c8557d1eff06e87af996d1bc5ea98cc6a18fbe23a4f26714b9eba3216479b9cfc31f6b72c58277ecf393ff5898be5e4c98735e1ed3b69cec267fedc16a6802a67b0d344c7f59017d2912698a274e4ab9e4c7ce7a70ab7624aae02ceb01d79e81e6036b860b8ef74c5ff7c0861804e81af25f4a3f5ac00322e5d12fe962b00619c1694881ee0e68016d2ea56b81c35bafce7d50e559a115e79d474626fcd04faadebb68bcb69c7ebbd124c431138c9733eaf65682ab7e5d6c79e458a14906571250ac21d10a362abf84
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a567f8d998dad81065119e27ed75c544e80fe060be4e7ab019db619c81818b0efdd3e0fff57e6f96e93ed98dc6da6184d588bf12289d2ad5bf2c37b6d894c18a286e72090fb8214cb8665e34fbead428abbae9a1ad29de7d47dbe74ce36b994e89cf5d2c23ffba9fd32c93740b2fc022f34544ed536e728248f1774b330377f5bc88099a09a08914d2977909150b32f8ae77f0804be3976c4ef7b2f79ff6f2ec894179438ffa1a989a1ec6eb57df8ad778189fe78e36aaec9021158ef5081c60b13a35510cd99321d0aa954207a36be36f4594542536a44e54542ed97574c0493caa
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56761d6b3bf51181e4482b664bf26d4f907432ab836e6a54f26042f7dc9b9a33db3af9f22f19aa1b72c0aa44986247ae0a3e8ac206780e0f9d3cddff5f5a92840948f5f9c974648a4d9834726b7c93f4738d70b3eabbd5d4af94c526a0666a2bc837b5a24e3792b6cfb1cf07e583a7ef40b068ae4d8cd219281f1cc8a6f58dbaae8b14e5b8ad64d0a01e321ae1f22901c10f304317f5eba4f3808d4b34ea66feba37267cb29d214d063142decf51b875feaea425ccf32b19a1e274afce4c953345cfe0f6e19a5421699e6af5bcaf313847bf055244e38997c22ea112cbdeb15c91e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56767987d60192c2ad0d0dd35fcacfed2ee1e2607c58eedc4e62a5067a31231c18d5d1688d7dfe58cf21029ede439673bf32b4f28e9f045d08dcf47e36eb371ac4aebf7cbf62d798c249f5bf7539da745618b6553f13a21b6dcc79917544f1fa1aeb52c63a5bad46f83fe1a70d1a9809899b914399e267d495c263aafa9af0749be648486de81beac253b0d9879bf7ef88156e4b7b5a20381935b36b3a0b225fabf2457aa8e692bb65f7c0c0fae314de36f736f8f9576032412c15e592b0f05be395041d28ecf1ebde97881bfd3b3e5def58601f76489231c6bccc5336920478c78
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56715577c643d9e84b53a00b819996e6f1f9960b2a8c98edd946cffa2c28e06c5a5ad4a3dd667ba22fbfbdffce45fe9d83f8d8de3861da22f1fcf88e3eacf6cd2e79682d65fcede64890ebde1e2fc48cf511561ed6c8b87d6f8c5d630260170492f812eb67c0ef9f96c7db3a2c956e8b511f6ec2cb8185401c5df9a260db3053f64da0c297c0b43d2beb01f199342409630f3563ac88405c696b74bdab4895bcd225d8f29b7619287ee572d07745421b1b0dd370d685f304b61f7d6f99405f290e215b863fc6532ee9abdcce55197fe9ae91b686d6add2573002c94748a48c0433d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a5673a8d92e901c0553341dc7e446f360133fa33f47418834c7c5f97669f6e3e65e109c3746527ee9c4d367259b919a6b1ee914e2310bf23d0be18d727cf2e58b93c342be0d892f052d377b352ab4333c9a2360ba59e6d2dcd26a1aadb9b69f0b35d80fcd59c19013ccd281d39d342bdb427879aeececeed06e3484284282d7eb71aa93b477d60505d3f1f1e7b3bf5f56ba89daf2f74f4ad377044d80c4fdd54fe585b2157287ef0308e6a8f2c652420e7123465fd45d46ea1cc75cbe5df2de740d5c278b60f29516ffc9c965916aa95fe7a89b403d0c2470d6b173471c6e522da29
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56782386da5ef911b4e8cd6555790396f8be53b12377262570c6cbb1cbf5f4f13c6092f75d5edacc7e4aea4b7c2cae8ab8aae46bdc9dbd20b3154f3fc43c3f4ac34fa403a5dca57f9cfa165282f67b9f37338c272a8e695a48875af0e14523fc344b1320626f8b95b44c2143c5f72934d0ba067bc5e71beda82ab8da8bd9baad81ecf1f8d482889db2bc47f5abf71159aa16dce85f0adc62bac8985340c29e2c9bb30488e8b20f500706d0fe4f76d127436cfc508c04ca065836eef7d3c26cd59a08ee1c802c157f9c0f41a05369dde654b247491d5f20c2c51e6e5a43228077fe7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8deddc8257af1927d7dcaf82d8ae26b948af819b88459c3903388b9d9537f9863745a27e238092290423bc7112cc8ee3f12a853245cd05f03de35b589617240ca2ecf7225e87c283d0523bee8772fc03f682bded7956b55f3a4076335c9f5aab6f6a0eb4183f450f157c33d26394cc79c3601c5a0f1426ea24e288f727d723b144bac7e706627f3bac749a9cd2821feef0eb3b151f3e247eb39e496a6d9764fe934ef5fcd55ae91c83365e3e5885093901404ed061dc1ea932eac31e6461b65a6fd8bd1e5e20e7cd5d24a706a9e5afe34413b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd491cb45dee8e8b1af1931aef7fca903daa0edd0d7e5c22a7e8e5fb87d16caa3152122c4f8a0f48a83ccb8c15be2ca89479d5e26488ac449e824376d71ed67d84e45f0dd68d9bc49b16a6524b1b066a06f9536e6b21c4c3230b7878fd2af6e20893b4d7e6feeb4df8c6234b5dfdeb5194dfaed7d2efff2d733a91e22bd7f6ad7219bb15009c653f13fcaeeaf4cfda4cdd0a59455f4e8b1d1cfface3ccbbde942aac4c56e3e329b2a8ffaf020184d3ffdc823d7c704f9e8b334646d73918f49083e7ad91a14a307d732752a39bdf020454
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd485c2c14b97184de9f702147ccab27195ab7ac35bc182123ad28b7ccbc088abb3ee9559dddcd7ec763091825ca256c02092a29657ce1e8dab5abae4e461ec9442bf8688c44adaac55fa0d5d4194d6897ae7b2940f043d8fc22cf1cdffa94b32a615a331e480d1c6f2106db559d964a8cdba9545a9b421d2ebc0784a7dfa20358c6c55866801230758301c7e33a68f9a7e5564bea449387db5e4502c9e036120bc63a41dc1762d2f7ab22fa3a78dba6e125aefa6322f2330948f177f283c89fe4875464310b4de76175fd8ae242285913
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd675b96980e256448f117e7e3645785c7892b9686e1ca9c04eb05c3519cf4148eee5d7e88ddbd3d90fafef10afc130ae87ea34ee65a472f79e58abfb582cda149f4b79a9f6f22235700547e48c8b0a1f7bbec84bdf32132a8a6136f2923cfbedc8076014b97aec56b53c2baa09a0480a01c3fdf718370ba0e3e1a032771a74187b3c697acd82fe6b90f082d885d967fc94d942a250c5d105c196281f4f0198b352cf791aab15d9be7c310a54c0eafbf40834d2f9b859bf28b8d47560e12b545bb069142558e93b8a8fc5989cc7575b9cd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8deddef8651abb30d9e45e8cf62ea16d9a80f7875824fabfce174f0cd64644aba149b693cc9e39cfc080bc7e16476fb8f46aa90293183803f5e76c79eded78bd95b12272f660110e57cef238527ce9208c7ad269014bfdeacd3e0088267c0deecc3db337882528972da269faa6e73c6e08a89fc7d8c6f10056d79bf6e07f29e92bb087a3b6a98d1ac40e6bf66d800b8ab4818c761c27f4402c73f8e93d75a5d9436f9a9c4e848d2bb028dcbd9a22eb1f92e643a50f82ed8edef8cb7bd92d3718e5fb25f2d332188d68f67dddce9be4eec321e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd8bb6c6ed5f6dc9e5e50732160598763b42daf122ef509da0ea15281fc013c536d2eefbd6731f4b0dd0e9ddabff429a4ab3b2a9d74c9083c424c63deb7dc4d617f9424b5e0e2818424f8cdd38d22153fd90dbc93c46aae4025cb2f6e9747397746926d7c2983edb29d294ac4ca5d1fbda86ebd571ba5f07c3f9bce6215275f4e8096a08a3ce6a2a609c0527839418788db32b843405a2bdafba9d60711a341ca7f1bc0213eada680d12f991d610313b4a99fdbe74c516c37b7c61758c2776d363c508f5488e85463db071dbff8b315fef
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8deddd873b15b1c51454748234045f88f78c7dff5d0da9658629789db99d8845beb0b49448f51afd559ab02cd39cf6e226898c3c9f54ce2dd507649b9d99523c412450cf31beeec99d5cdc81495f560d7cf92d8cc0c564c99009fdfd4da272892668eb24a146fc9053476955b128785ec416a6263808b4993d17b78c908b7e2ae96e22fe3a052c629ec05dc7daf3a02a64f092bac42efa1b94fc4bab8d4ab3c7a04aac0344ec76ea2a81b712cc77ea2c695e64237c6da863acc17a4ac5faaf62b98ce002bdd31cf9df1b3d5c5fcc6cdee313a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd9f63f3a6039bc20ccc240333b752573a5b684a9397f8c3c59e9bee6b8c28debb3ea21a274d6a199acba999e43dfe6797910ed80b4b532568788778ddf01e42de6597aefda693f17a3be8865791f2312427feebe4d24938f090c277af3b2f6bb6d59a597ac732aaf5f3808ff867a285ab412dee22e722487904aaf5d73df22f2b066e388635bc3acab16ef61c9b100686b62349167b226583197e22b757ec4d295e56c4bebdf4350d6125877d1a481349e07fba018197cb8c2ac163df242dd106c91f663502e092bc55ef2a54f1857bb1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd552003b3525bfcb864951edc8fa0ea1aaae89be23451f560c8eacf5103459bbeee16b3a20db35c3fd6aed4ed21db8a0f979031ca733d0baf917fb64c8179695003e0c05ce2fd3953a8e27b201ed12bfe327bbf04a5197a7ab05b898223ea26345925fdb77d6d11cec63550506f35e9f165c863c50357a58a5b250cce8de711715368cc6927e34a839b2279de2c524f01646146b285104a8d175e54303970e9d8eb90aca29814d4b7893fdd331fd165d74377456b9cf771a89798227808e248514f44ac3ab83f45d6760cecc1e9eee4ad
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd518463143417daaefd42d529d475fafe361d0f14b1b3a785cde9617fe09a001a44bbf27a63e832d1879803285439d42030449e79654f6a414b9af3705dcd60f32b7dc1eed2fc641867b321385e3b568aada775d722a18c62afbb3f9b608c6fa1bee9376e9ff9b032f0e90699a2ba5f85da6058c61e334baf7553c5d1f3f0415f0ebb1fe05bb847991b31137af081f4aad351d45f1a502b28d97e4ffb429ae5030db2736077483e0a6f83340053eee913f9cab65a37ccc6c83800652b3b5d793e4d369763e3513fb6829a9bfa7f694271
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd56dbe44402c6a1367c460d00337192d01c1023efc66032f81eec298e53c6944d6078a6de7bc90c88c91d5a2f798264e8ac48b7e4333dd55c92a90a2c2db2dac77702f037ffe7a3e4b53327636508205c454d3e0118c0b0f42b5d2defc7ca97536cfe190d42b83349836959ca8c033f83908cc6b70ed1fb617d40db4ec07a5bb3b7e265f4a609179edc52b17e0bf8921ad7714571f9b289472cdc75437f8a5cb67be8272b499b977a1fe59720dadbb4a6da49973e6f1644ba7b073fde184a26a82d7fc883f750bbad98dae03eb14acd32
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd8c6ba3bbdf1b145ccb16f0e266d4101ef15756c580ec8fb373418deb5b711a1fba3213c5b0f7f12743863fd12a97b5bf0778ab0539a762750538642dd9a4426729b60b6fbd71a60e58bf29f35885a4d618ec3d3222ee289d8d753adcc88a4c823c33817cd2f696b14947fe6a3a6278f8bc9e918b16b7c043aed2a4312765d32e043bacab66c644c1e280ca9c3e7c02feef7a2286b1ed40a8bebd1043d07a9594ed45a8bed6a6d5b9d495bf3325f7ceb47af3df8c071010cf97d01969efd63bd73b13a05a05124994bfd105885a548024
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8deddaac4e3b20a13b7eba003cc2a6a157dab06e4e99322c7cb6873da030588c03851affa1f604946b843b180cf6ceb8e4635c1907b05dad4e8f9914ebbf9cd0af6ff523351d905b9334b4887b40feb831e91fee77b088b5bb0b32887d6e8bc78a1530f60d4b63b611dd137ff9f00c26299360ae3dc4e93f60ec96774342375d12f53a9b389b8a01d3e95c107753302933685f12d32301d969140e02082cd799aadda089dc5ebe88609c4c94b9b4f570285f1e34db19ef6b27c71e37d4234b344d3660bccd98ce8e220ddd87b7a65a47e6e05
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd3ae337b2037f685c0ac195fd32a38e4d23ded0f902f40fbe0e8d2c05e96ba0400bcdc8b1b252a15631328726af3151e90ba15bcc9fb1f020ec48ac6ab6d033918f817a126d37a0d787d463d737c1b784d5423b4a5cc9428780b4e09314b62c7aac85d583ed012bfed82b7ee2970e41ca99d65bb1c2c52601a853d265c0966947c7597e9d0ee09b8aa506c85ea916c7148449c4422393f392ed555e15f4bfe649fc6425b4fd7b009e60d0c05b15368605e1a556000116e40f8f1373c4ffd7fff12c51ab43e3aaed9de466388bef49edfb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd924c7afdfbb99eff99d5101b4453189300c661a16e2335f36691e8cf99a877d89d586eddb75e67dd5c7fe3a1eb86db4789b73a10dedcaade5d7087d12b586d61a6ff35e577144174852732fbec34638f3c7d79499b5c24876dbcce59ec71a76a14d3af42d70574336c548235c52ebef07e6ff756bc72f904494e71b53d792e75b5540745d625dd2322d81384084b0068b81247a4da47e78d038c4351ca2251b861c20cff7fbb77c132ca1fb5c7ffc20c6dd02a3054fc9c60491232b6690ea0532853020c8800f6de372bc07d2eb7fa2f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedd4fc69dc079f2f1a874a055b9ba488a901b550ab8784268ed12987584e9bebae38ca6f0b0c2553f6ea0f10f1cbe9318b0d64b38269664a02e1458c2a3a498ef8edb47e1b150ffe55466d60850b2062e85b8be6ec5b13fa11e47f888b1f7ede31b4b3f6d557a2ef9a60f0073441897f6a4d21ecc2a28f71241f3b42b5737d98c67b362ab2eafffa641eaa6c6aa3874618e93441b4ca41786ec44050ab2ab00986084ccfcadd3d8c58bfb4156daeee06f6692d60227270478b0ba96f64848d9dd8d07df6321f38b22e5a64233bf67c816d6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626272d2d42325b2d6a8c2ff75179ee80f77cf348f0be7f4598d3200f2acc53533b7d66caf5e18f496d8dfb824c7caec657fe57e444c37fe30ba9210f6757c9634f834bb8bb3a2b72519064c1cbd50cdd01ac81193ec960c404d9c75a74498af6023a21b4779cb4b37c32e7518023d1102264447e25722e3a13969782ed25dd80539d2bae7d77f265f5218effced85d5ca436c62d7f6a5d93d9a1f05888432ae33941b4cde31184984865bbf57b86ecb05c3dce103ad8db2dc4f65fd652ce6312412
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d8856262f8ee3391aea77b1e29f988e3e8724634b048a33bd658824068bfcdf162f590200548c2c12a0777a51aa5a58462364224bd2bb4ecfa2ec462b5a4606b4506d70a6dbf17690f05e6d24a3488ac76ec785f532cc5af7dfa95fe2c463f0133bbdf21315523f9d8ea42009c63942df8a87c5647cd17b02d4324af4591cbeff0d34ab8f5734b8bcd552f05d3532b64444d409317ca81a4bf2328cc87f52ec2d375dcecd279b7952a6a116c81adf8a570431c389434b42e4be5caa1eb2e6e551914773c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d88562627c1475d5cec6a530918549df7580e73babccd78a352b848073e7860112b0e30ea2d0ae385493098d8df56924961ac0caad501427d8bef0cab93ecddcf166e954cf6e97f699641b85aa369f27626ebcc28c2ef0aa3301ad5e4b115851bc4370facf24a84da37ab2b8c14e47e5fbcbec3d20b66bc36652863ae37735816dc3afca590bf1e82ef7f7cfeb097decf927df953b394427829de9dbf60fcef08247aeda0075624b3ea3e36e7e5ad5e2dc53d8dd8a9c852e73d3cb32290b08efee3c3abe
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d8856262f32634b1e38f289eec09caa7f9f9acca6506aa9099c0b22ed6a1afa72f1383bf95336f953f15840c40564aee2a061cec115c05e683529416c4daf826ce7256998e698c75efc3e91ba35b0e95158eda244067529479a8af4339d8475c5aaaf96dbaafffda10f74a228c1976c6c4a9a0ae6e1ce4898c314b230fd91009bf3301b2f51624ba500f3bb5d7da0818c13ea9776e9128010000a5a940b32b39b17b0bbe64bd8485d87e9b8dc60cab9fdaff9d0d78135e69e8005fb3240a12f56fa040a1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626228fa52726f737774f150feda507de4002f0d754f370fa3cb1a04ceef1c5efbf0686052eaa8f4ff924de02d3215cb6527b6e0675adf8324a095ff62e2a987ac19143cf21758db65f335dd5360f6ef00499e92852422bd12464cea587fa0a77d094a841ca594cc1983473fe94a9c5f5fc4ac4acffaf532d7d00fc894b1a4c810884d350c08c66d4e8b4526bce42c92223ba993280e5e65e207534e4c008555ec88afd257c6968e545e5c605ac34fc2762e14d873a40b15221f4094f1e78ee0e47f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d88562628e4c4acf766149e24450cf2187efa55fa4e24f108070116ff2983bc5413235aa16414d5c9ad44b80bdb7f508aadca514184fab7758566773c8677270c6cb2165b194e6234bec75a466bbfb477a4f37c103456aa0e6bf6deadca111364ed42a2d4be2a62246906988e7636871588c77b4041b7f18b4bde7becf47bca8cc32d899fef752f3035202873927125afecb9a494a344ddebddcd5dd9ce138342bb11be5c553c1a9820b5465289d9cf991f76738f86a54aacbd5ecece7683d71eb01f3f6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d8856262f98db07a9e15e3291b5320da132eb906ab3ec82f98d3b03292887d02e5e2d6b86a859fcd20114fb4df8a900544b2a8146a9ce29a13eb6461e7a3ff938d1cd203146e293fe2ec4376191a762a8416e28b668ea34544d070bf2315fa67144394c0f5cbc7fcf4bc182f684853747f7f5645dc2d110cda325631127c6d699bce24f23ba3a272f50abcab86bce5cac5dc36b37c86cba5b6d4626ef0359bc64ab2a8774cb2dc330b1622ef7c0bdc1d6aec0142816717902a5128da3fd78bf63bd5bc68
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d88562620e8ada1497871f194c2e5d35b748c683a3b98a5b4b722575546c3c34a1a3700c1fce2c69bfd6db7f2a4e73224aefce41dd7383295a0206a012fbae39670e2bc381625dd39e1e14a2a89ab68df9f100530a9d88a8b99c5379f0b3d00d70aa5515d2d0fbf3b1daf7b6f3b7f044a80431eee5649db70cb8b0d9222c196454a924e3f2045eae7bbaf98e1b86b1c37695e545bac5042a864d6ad7032f40267fe262a5e2fd4bc34689489e6ad35434936c8802d548586851495398cf335b81abe3f192
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d8856262e85e21f450ebe1ee935e08c4bda3e5920838be23ee11ce1435d1b2736b2e2b0ad42b2baf8941253a0eddb01ed6416558e48e6c987d8fd1bedb2e9c425354d9fe32ae4ff1ec1cf30e46a5a5e651893a9bcb03465c01372aed9a83dd21dfa3087b925fe2d989fe331abfb04c7c8559afb4910cdfece4b6154522b4811dd988abf6325f94d4e1b835fe2615a8ee58b960c8d43ccf63f7be67cd52fc79c64753198e57e8abeb07a7a418a273b9e765ab1c13480810dd2577802446f9d344eea2a795
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626218af4e33ebcd4ecc8a71b8226ef0ad5edcc8277a14f8229405d1c354fa3e93e70297e2a7d0a1518bc77253e4693dcf8412f29a2e5c63ef171b671d53b86d0cb709b86cb0d24b819cf930f66de9c61ad5186e6a7c09e63e0a47cc7e9fc453492bc7e097d32a3243c0e683bb62528fe1e1d24fbe3e3815807de335edf99d16d13ff1e72f1c1e5b00bd5fd9da548c9c474ce1ce55c56993adf3e0fc1f8c19598792798929a1b383da531c703f085dd30b9c361090d113d34c104dc8c6dfb5317276
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d8856262723076ed43e1dcf3c4be3aa69b8a105c69d2c45442c02706c64be9a54077ab8716c5e33619644429549f6c62b8ac87630952aa0caefa8bec07ff06939afa2debb15312b21643a3c1f080fae110abe6e4fdb46729227528e3be9af61ceaf7abada506ec873f663cbeea3c1c613ab76513aaaeb42d935c8cd18f5a1e9d6461a828c2f3cd98551efa3a1d5f5c77468420533d572b5814853340cd5743e28567f52655b73ed7157e1d24f5d09dd1bd82455b2c0d793709ff1fdb4a7d0155570ca95e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d8856262592f9d283bcd9c3c2eb9d092c59117f39038d86fd1ad54aaf63e972369f2fcf4426267ce3b408f1672c88f498d9c398c4ab86a64e8658ee615619121155b29c6151080f08fa5b8e5f84112dbf6e8636d27e299bcf7b1929c0d5e2126dad114a456990a9cd2d0beda84a46ff5b8debf6aa1ae37f81f07086ee5ac8ffc74626dec8758de090f3296ccb0f8076cc0049d69bcbb6a3ff704193c82beafdc69ee0dda02beb011d3875197ef394b587c2f8469eefec9d96a37c0ce4c29f008afcf3400
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d8856262b21993ec8f2bc4aaec3304ac640ae12e2056cc664a37e0a75f4c929423a0469da972938467ee073824c244885ed9e1475452eddb1c519f0371cd72b01cc4bf2b9025368d9fa06eb631ecc30099a643aba4f6feb4bfca95dd82fb65dd57e62fbd222b3c38b305dc59f999ba5c78f77dd80c18f58706c3f214278bed090c46c7ab023af4feb359f9d1a14d78992d25f76e52192b28e1247482aae4ebd50aaad333ccf30e9a7166fd26963aa6acf62be4a22f73342521db7843607983a949950bff
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d8856262b5cb715093c2c30f79c6b32ac0d40a94585d7f11f1dd4b98b5b42fed7094ddda8b142fc53b9578c000acc9feb4adfd2eeca769213a7928a041da26a2d07a0b7e7d519b2ac944365003da0be4e2932e8ac0e7e9b761308136d36a8ca3dbb5caf475670743c336717d48de40e95569e63703c15dfc4377cdb366f59eb6d3ab8507bdd67e9d6b54b3ce819ba458190802bfb436c9fa1a9a30875779610cdc295f9dc73023bd8276ef6cf02113bbe421115553d0c5aadffa7374d10e06987830a0ab
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d88562622bc38714230f9f5d14f4204a111d8cf5216fa63796a74222dc31eef70f93c6bd3329cd9cbb7c1c60a23370042be1cf75c7ab3d79a2607fca6f29852404db8a38928f38486ddf8b62c7f4518129e5cb153a44a17852bada082a80e17f92b7b77e0372ad885f0ce967d6b76b82b5d929e4a52bb2175c1e9106d583a163d3535a41835ffc27463e2cdbc00e4a43d13bfcc839f6adf5b4905d84b6b32bc1be9cd33879c3899e39b35dd2afb1a441cb90f057b232e7cb49fb53a7dbafcd17098498fa
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d88562627400b936d5dde679628839a5cda451cba639982cc9a118eb2149c51ef23d66f0efba6f451c7d915ceb1758d62d1d73cefe069c6a31c0a6362554ce500278ddff1e2dab176ebebe9a3b35c00e6864047fd59e82f9f1d7dbd9806cd7d322dc8acf05e22b7a6747b97dccc9f6efec58d306cc3b74b64de1fbd63c41897bc08a30cebb954ed4afbefd623bd01d25c4edd01134445aad903fb6c0a1ce6845b897a41d239ee5401b9ff0676360a4b3f6fb30fa910649866226f3e59ff05b795e00db2b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f26e5e546fd7ccb2827bdd58db6e9862c77bd1b2e7b88fc39fb4f9d23ed1ac17ae23a1d931dd2de8564e891f9829d79a5990c679a2270e76b9c0b498333c8cdc0393516368bda2a6e68c4798fbbd487f50029bd153595d67050bb1fd48c5c2ad0ca4376b20bc5756e7b74cb08a1c7efff1aac0b10e3e0c4a041b987da2cab91080fc51f811a6fda7e299d3c20a2d59d19799bb16a815e72a905ca074eab56aa32cd6abe5e9dd42a2b62053cf88a5623b00
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f20e63e8504652695474a93b209dd2eff4b96fa0685b0cf649cad5a51cb056f13f3d6a3ee25dea45bf12834342cec2abb2b747b64abd60526e8832311f94c8c343060526efac8db412ee4b9ed64cd9c40c2079f4b04bec64bb60b8abc4d0df9420ccdd705779aae7f4b18c6d959648359793aa08d0a25da96f33b2c0bf3329b2ff70fd9cf1364457135d8e93e77bf4b01a5fccb0af8774997a8fd4bfadbb088cb28e8653382fdeb44c98f38634f4d6eac0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2da25dc7d32b0f0f0c6b301db8eca9d1157cfc943b587b7b4068e44821b9c1954f4e9993f71f6e5e7cac79332731ed83bb139d049989a97344f780680215d9ffb0e93f2d5de32d8c76b3e1c0b0e3dc96f0494d6276ee4b226138b15993455328e3b24c65224ccb903a655945e3ac696f0d7ae6db469faf6ec4f098bafc07e4f4ab6f591a81b2bc43823fc20a5464d1ac044ca515053d39a1cf3f299fe003918b37a7e6a4aea636f4d9368624fc704a3c5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2511e4cf33ba35ae30b5adec36aaf1a5694bda1ecfd9a0bac756f2ceea5a9b41e0af1aa4538f5f3708469e9f4e5bb16f2b3289f1b07b30af3dae30bbcc01ba30b5b5b6cd8bf868cf668348a692aefa31962ada809bdaccfcaecf5e33f7bac02bb1db3925c9e7c30f72f79eec14104045d0f1890dd8d133e6dcdc76ccad3c576a6b1f7f180ddab47fde8673e0e294fbfd7dbdd6d148b46b647476a1e9f8f3f7f534a7563ec11cee6e559f538f3a9aa4ab4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2d1dceccc17a1b86b300ff1448a1cc3c50b4eb54c41630542f8bdf5f3a32a7b01e787fa14ba0dd5976bd3286f453fa060c57eef52712c084e4095c2dd0fc153223042e69119ae1cb8e36161e247b3301f31804326d91b1a8d9694f3f11506dcd742cbecdd295443aefb58e737363c189228874cdce4791f48256ebe930599781accda5927b1909a7afc5df21c6b661f5d14ae85a0048067395ceaf56bc538da40aa8698b8b8132d8b36f3fdaebe4f306a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2528755eef2e7d00a57a47bd8e2cbb97d2a44d2b16c4afb888fc0eb1e94e4503ec251c576d69de37d5acbe447aeec9674dab2a626e3ec03d0606350435ba8d80ce323de8e905604cdd3742aefd03b750fc9a7bf6da63958df88c8f1be0425a8d028eff49c881976c570310a4488dbdb2111128a96b21889f46cdcc1da9e7774a2c0772dc1613c860f0abc71ae2b92e1709ac36f1b33b07292f72c4102b63c2e112479d56ebf72af7c12602c38caed1604
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f23e3e40de5ed5c72c3b16a31c776ef0ba8a4c007c4a2f563a36be6e36e612696092b48e837bda809dcfc0d5b02022bb15b22e99a5e9bb34b6491cadb1b5ab72070cd16556b5839ade21a2887ff12daa0f468b547dde73240b406ba0038e52062cafa7891e13a6e2386145007ef459c6d2bdd793ee57ee9347d45589081bcc109b4fe3469e7d242c489229490428a510b985007061a557ba0ba32601cd8244f5815fefb68fad061c02e64cbde46fc839f0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2a032db5d0a227ed536d58944774e1825a541918295d77c695c38db8bf0c18599aee641eb2dbef370fb03096510c85ec45ad9dc6b3174eb80518c6560a61cb48932542159289b0310327100d3fed64262fc75b935a54e7d0582cff31f9f1007aa73a8b25f84ec9ec099023d204f681b47a06833a85c635e2d340ab18c32af45870d083b96487f187f85aee146f031641976cd63d8735c9ad70dae0928b9ba0efc13224e870e385afe21f2e84556ab4960
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2936a93c27ca2d65842461f45f71408aa9dd355a15eef75af52b334213e7fa6007066f2c2b00c26240b41cc3366e8b67a10f41839bc37af7e4af18a1a94fa6fb8227c022467ad31dd35068c942441c818d6f33ba4ae3c5c6a3fbd835fe9bc1eef252b14e36e544a7b8789b1cf2fa0b12da302b2dc131b2e629ac4b990d5a610c93a4e50e57aa986e29c500ae9a8957e831fb0e0d110465839bffba14f1a3efe2242508ad928e0657688939e3d954ba774
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2bc85be744bfce4f051f1dfaffb87972ee92a9d3f30ca0732b685f6868dd6ebacc7b84efcf819e5c6a692acb91556db8598f438dd352c90bcd6f7b09e870cc963dca9b494775df04e86027b462eb544ccf898162ea75459608fb795ddf5b381b421ce2e40782be6281321f1fd88c89a45c353089f9f8218f10a2ddc9761ecd4b00b60b58ea4317e8141cc2c830a0fcbc20a096e399b5d0d85262fea59465887bb34ec4bead20a823df6648a09b2798842
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2b6731974ace4825dd2f88f1871c193052d48cac6ab5993d84651f41d3dde5e3d791e3580caba2dfd9cf02362a8cee1d3116b3e6a15428cc2cdbb02ac2d84111f2d12c5884099e1dd4d5b86bb6855054a419ce6a1e5fb841a4d95828da3e9165664fae3e1bbdff9b5c8b7daa3ce0bfe62729913f61cafb89efb83ed927db495996c23c5a5b0d34e436e43ed609f257f744745c897297b0f8ecea34a221428ad8c0c038c4c9b205322eddd4daa6fbca970
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2eb03a0e69a4701ffce318b872432945ec3ff476e322ecd418181641bda881894c3896a7ab5f9a714e0c628205b1c184eb41efc3047a8b8fb50a5a17c33f81be5f13c9da35350a2c9e5302bc3b2049dcef2412a6dcadf888af98a09f5376e2c05c86a49524afa61c9dec00b9132db19a0478c2020ca5bd29a79d7a564e95a0f8eead1fe769c1324916a1959362556935feb7b563aede22380d2ea0562f2c16080ddcee86078e0666fb6519bea0f87e33e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f238d6c739ebac87e3ace360206ce0d0d55f99dd884479e4a0966a0e4d7babc36b6b624669de1e7734b49f7c2728fb3cd7b08f4f7a4ac8667af043f191a7387a40cc0453cdee5a523062691ed8531f660410c50d2266c15d84f9e2b369e7c6811dcc524d45b2d600fc9f227ba0fba5e17a7565470d85ef98252e90ec3bf6d8bdf4204b47f581cdb6c88c9f7a00516fc1e0617a61d44fbafb3aa900d051038fa86eed11ce146f921d699b94c0239d6278d9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f228b81789e39fd131bf1b2189f6e72fb7e22c00552bf772bbcffde7f56e5c1ce4fe95863d042b516115f5c3815c688317c4081461b1973b7c14becf0f45ae5e11800da6cc78669ec45528ca2324b91b2849facd6528cdbee4bcb4b86d550d6afdf660be6d9e0abccff15d2b49eead3585a14aeff6c38ec19771da2b581993f80f15ce057a314972f6696b89fb28db40fce3dbd56a031e334c9e09d021da308d64510a73e55609ff70e029ed88d1545022
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f2aab4aafe3bd0ede7ce2382a1b8b6320d05939fb368fcf0fa3bf09d4149f57109f31e55d90471cbbfa57732fd779e1e0cedd37bc555ab618204b35491179e3460c3c0e28272804d05e6d8b0e5c6f2dad9aa0d7211ddf25797b24ccdacc4be3df4acb40487eda911361ef54217179f2b8078b7db112fde6c20eae9f01b0e15759cb0e554852e41caf8796a8361f0cee532eda10c7471df08a2f92a517daabce9a7ede887411f3ee9e02bdbc4b5cedbc657
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f227d93e355b9bebc35fd9d42dbc36e1d2f85e4b5e27906fe5c87275927fa021717c3a898c2af97eca25cf5e890640c469626cb4da4e292d070a2404f861e454ddc0a195880a7df5a1ac92cdd1cbdeb87b43247c788862eee6b489ca221be067d8e269bd099bc1b04fab7f7e8f75810c978346eb61bed3d42ea50410ddc543a411c65e49866011f5b725c11e9ed05f73e13695c000c4f0c419ac121a0f3476c42c99425e4f8a7b86f713a66374e4949e34
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f62ddac56cdf9567470c07ad761cdabb45f6bc9cfb44ad2799b52d81350535cf51f9547047fc10fb2d947e1dd1c7953257411bcbeeec7985607bce833a75aeae450821d1cf15828366d8b55457b451acbd7d91396ea31fa4c138eec52384a664dc96e61d9770114668e8ffd81656f7ec82c1298982daecd6ae9c1912dfe172404e6496015d09a40883f91c902b4df4b0132183c90a8a5956f1d717e4e2ab901a4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f9dd2134c0451d7bf59a57a09cd24559d894bf6e866998a6b0369172142e2e0f703e7a859cb52b0ce0f98caa2d8c00ef3855139a34e34e04a86cddb43cf49af4d90a555ec3b2193bb08a84a8bf288fa24e4c4a4ba52cc89d233e3a7ad7b31ea08fea1dc60a1fd4d198fa91ee5667a2ec4c739ca680137c295188fbaef4a359108ec81bdab6932b0196f570f376602bd3835aee22e21d041ea49fb5d76981f4b1a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f757565a2a1a3ee661fc36c97eb67ef8c078120229a399d7a9168160620c504712f852f1f7047fe3a1c10ddcbafc5135f3ca7ba9606ee9b12b69e3a83b19ff7fe9f928ca75d63fcd154a29afc12dfcd372d1bff8dbc2bedbc0bcc66a23c324363f67a6700488c14023009823396b3a7a0d3f2734b3d9eedea3d1ae445c78d4e95c1b5e4bf890ff9d99426aaf324ef7be23a1af00ce2b42b2c8396b970585d2bc9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f232e3c8515c6cc359620cbde420eb385c23faa5776c3107122c34b6aa011c742ec5ee874292b531bd11e70799aefebe43043770f130a068885615e4962c2e9c35ea57baf0c2a589d585da25d543cfaf3ad2b92ba9b07aceeaf1b487e10f570a980ca63e308cadaae34c8a2ebc35ec85f586a61e813f7a6cf5b8d60948b8453cd854175408636e5bb761257599700d3d50b67267866a030efb23bc3173fdb236a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6fbcedc328bb0b0ab3d811b06c90924e044b2ad12c20082dd71d91dcd48c1544ad951085a3daa2e739f5f14deb28353a9a5c92f899221f48687646842de1044125803233241b7394b568cba18aa916731459fed640c0fc57a952358091bcb4808d3305ab9548991e4d89e60e9f53eb78f2ba29e46dc14654c3debd10914648f2a90a5f57338553bd18946a10f945878787ef5b9841d947df2de199e971c8f1eff3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f18727d468ad5ab21dd0258954aa48dcb0a2efc6d9e238e2f2f21f36fd86a8955a048908ab3979765ef640e9a405ad987eaf82f25e2fea3d613d7021d6407cdd30133d9e1572eb4d6b4524e9eba0e8c8cb01b4c8eb02de1419621562a6e041034f882c9b914458d0d4e41ada64e155d2a33f7b60ac6018bee33f993e0c8f015de5347e2e2d48cbd100e141aaeca0adb0a70eeb3904ce979b96940dae3fec00fda
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f385dd025ee8bb3be45d21814c3cc3370dfd14e08fc3bafd3a03c4e190d75457f71e49719bbd1f421b09ab287ffc455ff56fa06c8eeb16e98d378e11a1ab01b572087a40fd9a3bef2ad80d73caa8b5f18b1237c917182be22292b89565d6ebe55f03b2c19b1b060def5e83b4018396dce83e637f2323114c8f1074f0767240da280c4b60131876c81955839be9d8e9c18cb7001bb2abbca842168976ebc7b1a2b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f76433978d3f272947ea437f70be6c6cde4c474a2fca330f6c059ebda7464d23982f3d471d4d75444f1e29f0c0ce07b3c07ce7631ebd8d10c7cbb5d4ab788d4bd4762333c26c6955ebf24fb428dd55a1d03027df216eb9a56e90606fcfc2815ed72d068fa766546fc52c7b746039a155c23f21cebd978cfb8e78609ef70f3e556de664fe720d01e2251c9c76b9356da47cb2a1f51b032eddf5363e226e8f3d77a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6fc7961f27322c952c0e878bcb33059294aa580a9b296c74257a2c08dcbc77ccc5eddd958fc0c71e91e1838ef25be214f4f09546178f31a4f6d73582d5d31535fd8eb72c941cce6f2a9e0281c90eb9786fcbd748c7bddc6517e21999c82a0f5d655ffa885cc490f8fa270c8c70eff6f4158a8b5bc6ea29cff0b513bbb540acf0d7ce771f20959edde8ccec2410337c30fa092514095c12a64bb72af7098e3ef186
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f1f53ad14e18fd29998e0f4039037275c31624d2763daed1255ef8e44ac51f6595724d4b570c0aa9c61017ca4c6a026630e33440cce31189061192ae92f261e4f2b10d4cd316580ba3ebf4109f41bcf1aab28ec0f46863fbee9726fc62320a7eeec61db55bd5507a23e2d361b1ae54e6df93804552163b262aa824c2090dd88691155924d10564d082d778b11875ddd405a907d6a20d163d67e8e718ce196fd2a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f044a9864cbb9b926df76fcc775f3d267209a9633e1d2966455aac3aee6f342df3c8210f7831db6b29b1f969e008635db0e7616d928fcfedf2d0fe6cd51757b89b2d09b7a4863169d1596a6b61d4a692e76eb8da1e057f3f2fc0eb4a2e787979d4b0f04da04451e14d5b52ea7b2fe75c0c079e5935594b591a43361023520b2b4a47022efe7e6a61782952ba4c898aa50b631a477dd92292680f71c6752227d2e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f751de45a3526bbfb6b87f090fea408d4f145f19c020e9af0561a04cba36681f08180488402cdb80ab7d16e8a264442fe316139bbd98c2960d61cc7aac1789c081f00f89da47875772129193748712612524fdc0fb368521c6b1aad473a2e6468a7e4559a4ed27108ce96a8d52a0b5d90fbc8ded9ce894a900b71347210d97496bbf0785dfa0f14e181b6ac6916eda5848e336bfc627db8a1beb14ef33be966b1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6fc8410676d1e1d77f129ca3756173aed017d427d5d905ccba878cfc6ae7eb2bf001865e62156b2ba2c26b026011d1ca07c0dc6e5c64ca97d1ebba1bdf01a6cb61ed69bc36257e7ff96fcf90567e5699929d85ae3ce95703d19cf0b1757e24f1ea390d27e88debfba8894c3277b7d511531fc16ac71cceb65346625a8be2dc10f3ec311bae446ac773338f3b683e08a2ea4d42ef34eacf473c0bc70c51f2944c27
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f3b501f5b5d831eb7e0004eeb760057a8c3e11fa029b6b774a83c8aa41582db1187f2b8d6291d7698fc8f842774b7c147138550209dd255a28c8d35c459189be5a67bdfb339d8513df993b359511cfa97a57cbf5853fbdf5ec62ad4f731c3226aff717728a1b9c175c4772bbd59a3fb53a69578992d76052287e2a7490863be8a1cb43e1e76e53f54f84f6efe8be51081fe987d836b0918f46d02037ecc39d23a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f928b194180e0809641f0d713a960f7789c2f20c83dae3097b7a3a5a7b03e3fc54ad9e95fd6aa863fb01f02246e08cc136b11e919ffcac41b6b47073db503fd86d6caaf97e7a226921c080e5c8e848c64d9c3d1aa62ba0529e946dac196aea21b321da99df231fff121f66ad33c66d205abed7e9a612b818aef3a5704cbbf6c30b85a92f7182365d79261ecafae9c9567224218bc8d0ea37673ad19d911e08266
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f1497e25492ad7a887412d9eff6ded23960d95026c2c8182b10190169398c6420c52ea6733cb3462aaa2971333130f3d532c0471a780df2da469390bf157f9d5597bd9b1fd9340ee4a61034b18c188c5f37dfe3d89e5c1af7893454d63b11a5e5540acaf326715debadf5b5674dca55ba2dc720ea0216a8ef2595d3687235c754c1f871b6d52cc27e7a9f2ddfde49a4479ab4f44d9d91524ab8ac323f618213d2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bf495265b11a6b571eac415bb8cca861c4641dbe0567fc285293a1de69d801ea50df484cad136e4a8b5cfb7d430a259d1ffe210518aa0affd8d3447dab3add207d75c1b0f3bcd74a2e31f44405f6da4f3dabedd02a9f17823ee809cc689ea687e4d29607abbd029848f69e2f3c54ad26d55e7a62be8f47e79d684458796396562e2594017f32389711348719e7db8635c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b3df558cadecf184d3a218d18ebd7adbef9e71924d1d15cf3d335741eb1107aaa9291212b30a90c11e0d6c75b3f08a2019934e075992289cc5c696c39c5dd7d0ba73b4612b95a2fd5fbea939f3b3008f32c8174b7e036ba04db2144fff2213596b480edeb1ff88de2c30ec26a045f45c81b0cf5b259a1d419e38d598fa6a3ef04108ac1c46c4971d2e4f59ad210445995
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b5c44375bb14fc0ec49f0b8caec8761b0fddcb87a17f8d589541afd4fea463e9e3e02b6b38909dc009eec6152885a2475da366108d29c0e3cbc15ed476eb1b97e30dc24d8390dcfd4f08feb282c409448429471e8582a9f834c17d8c130481534f314f22c890867e53457ab3de119a4c8cbb2da5229c577258710d4b6385f5636ca4a8b53c7953d4685ff9a5749186bb1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b5c55dd6250eeb86fad40fbec1729d1c7b60a8595af385ea0642dc13502bca943426a97b18bdc79b7d8e6743ef4f9275ac030f0b1215e5a1703279ccda50d9b3d4f9ec11b9f044c040d61fe721eb54340ba97f8c7c1f5cba14eff87ef52f9d918d4de0401c0fb0c22a0a213aa3a21f203f5a45b4c38b195228e695ddc856ff5f0b0cdbeffd2cb01753306ac3054b7f4c0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b3af97ad628a89c19e8f93d9b0b0b3b8e936171dd03eff4efa46e8c080a0b16e2b95c692128956a90c3e6d972836adf88647d011251267c4c365c5982de30236b3f15a6eb1a799df8739dadaf992f50194f6f8065ec0510905a428564301ac3ad26a274b31154b6507d194e58b168f6ea305061b5720f087ca037344d5757b8b6d0a516b8099b39dfb27099c8d1bfe592
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bd1275a6d196ff1f1dd9d784c8986399defe013f4171ce7fb5fce425964594fd2c7d6990809b86e9bcffef671991aa4dc0d37b1082efb6a7353a2e13b259d43e174641ee3e2fd122d7a027dcecec1f9f5a463dce64aba38612a336c23cdb4b3850bc6c6d0a98b32d40935df409c03be45e997ef566ec1a01f4caf7d823b50bb0162f96eb64ca7e5497aa15d1a49f20a86
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb230e04b2ae53e7a460f75334a04a041b0c04f0ad6bc8569f113d11e8da499fa886dc63d309d8d18b0507a7ad320b637f4b2506a9ef867d77fccc6d7fd211f9485a7b8c9a05aa7bad75264d90ec3e5de0e3e478d2b0330c37459eba5c63c7aa3265862bf1bf494617438c6fdf8a694db093683773d236956c882f59d68912e2f0f1c8326e5f7f28882c7c313d5c77d84
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b4416351b4bdcac0073f615959362157c12fc063fe415cb5b6dee3346e7b89a36658da817271f0fbbf435685c91e54823cdf9cc083dc4a516fa58a0bd382d63b23084fc3d0578bac7a74153e17c5eb48b8ad18d8130d938ad5490820c86d329f42e9d02a02721ca062c45cabc072ba4dfb3be0c117cf59b56a6dd4cea62346b143e77affa9fdaf6869665f9c71e2ff4a0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b0197434d19989a6897e07e70187d689e3fc5fc6ac7d877ffa9658334a948426614bb44ae12910e8bdeca4db3bdeb2530d45fd1942545c600cb5ca02f64dc3c15b9b51e407f57fe84c7312eeb392eb26e5b42c1fb9cb1259c5d0fbf7ea294d03ec533e9a211e8c5346a5a9d385bccc7f7328c34e4d1c942f433ba3e61eeb5a8c64d5bb82f01b71bb00691381f2e238867
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b9a7e0dacc1d36446a069a49d4af21d90bccf3f9ff8d9618b9b59e2c125fbae4df5d8637b272ab5fe1a4cd26a39962fbc34f55cfadcfe55ce9312f0ff3b92783201279cae52b79eee915093aa98620cfb307b76ac56a5ac25775fee0da9434095915e242707d21b4d6303b28286342bbcfa87d2fc295c91c1534560d20cebb057d0f801d67c136f21aaefc493ac919f9c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b1f7d0a9c3498902af83ed335896b05946ec1205ba0b9370df237eb1eafb85680f6c9b010fbbad647d780e60b91682d88e48f0132dd4e121c95008954fa0becf2a540fee081b0b571eb64b85a9365da9670c9e27ab3d7e4367af28529d9c5c45d024bdc4cd974a797010124bd2576280a5fdebfdc6bfcb841f65358251e545264af7b56f0ac1686e4480f8833eacc84e7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b341d45d6962b179c9e018b5cb775576a59bdc11d4da51fc25615415901b3aaa7397a6ee2a94ff10267f82bcb466772680a099a54ea66032313b7ca8fead7b4089c3dc9368fb9fdd04db7fdc2bc0df0a0180b6e2f2b66edbd6841478d5205b2f4606693d9f196805788e6a64179b2c30c7a722379cf5dc466e99d0b71382a67d4e999deb6a51a6e76ec6607bb4a12f21b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b0564e0607e6f3d56d977c8bb9616291f989c024215e9f84ca39b7a67f86337718f88714d6a2ff5ee009c494cba00d6ebc4db062b599c9d685a1eff59ceec8b9dba2ed2d8501287d50763fd3ae5c89bb2263c6a58bedb5cf0db2a1f1d72883c0d49461b2ce2c022236087613edd7db5e283cefbba7209f70262a55bb7015f26015677a98598a8eff3ab6150dc9da2f76b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b08ce83dcab748ceac68843af80b9f6d7d9ed96b9b83f9037c0215fefae784694dbe9516134890292b7dc277bba8635a62edaa341c330a88f515a5a5c044c3f848ec6106f675c7ef9e0b06cb4e6cfb3a2dbba44c3f7a5610910ba09fc58cd3e52a4556125a4ae3036ef6ca98024fe93dbacca554bb54aadaa04a3b4e06614c2588426b1178c9ed3ea5eb0add1313a30aa
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b97def10a8e08ad315f6b0f2cae4a8b8a221976d60720047575abfbbf13efb3f385751bb9f46b7d4326f7a0fc6dcc65365a093bed380f376d075cf4e2d581f8ddf340c4eea2b468641b7962a96c89edd265e74fff59be03a7c084b61f421d0f1a82da63be6a85265c666040264f5cde98720965db81909044aa2b55aad9712773a708be8814a2441fc1cab524f0276f4c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660b7c9e8e052dc1b081d66a184242866027871cbad1ac742bded180b7a021c783877f1ca7ff90cfb2d3974fb0f03454949e0e91a7545e1dbc53d6bfd4a04ca6026ee7e723188cef7c8714a28416cd6dc30a8ea73bace6ecdc48c122f5ca7e356ff34568cacc4759149d82fd4dd6d940f8d710493257dfb39c21524a0f96da9d1c395a0f3ba8b53e341f9714da8464293370
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f9024480e7f3595a331a9faf154c691cc8349ee7ea2e059bb7c4929f71466dc7955f1fa039cd14b9d10fa2038b3ae9bac299c5577ce29eb8768d6c810d272231dd8e39bf7ae17e6b7a69ed35c37b17ef8d09eb8971bd8bfbd4d43456537d5e92986b43267645b92b7c6093bbd7988227d5c15efe135bdbf1f5745b7413b5f672f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f0c4b7471d3b38e0f13757722536b094fe372c50cd7993edf462b749f360fdd41ca336b4f9bdd74e09fdca30e553457e8fcdd0c593f96f334bd8055652c5b72c06642cf7601665d675207f713c6034b19fb7ffad3cf1be4e904d86415e2292b62a88f0c14824b44c5a187ce2c0313ca6c63fb908e9b5c8a7dba47c9b77963a2ab
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f83cfce0324290f2fe69a0bba000ccd0bbf0843805999b9ad08c774a9c3f78fe9ce887b26095dc4783475c5135f54b692704d09b4c725153da01dfd9d229d9d560789fbe180e15f4e01f10381bec7b7ed72df3bfe3249ca57c5905c0953a5c81b7492b648acbc6a5fca2ef8442d332dd8205fb5fd3a241d92d994321747de113e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578fb82583264c4849c68863a8852173948aa8cca3e8fdba9beb354919b8d0033f25a218834ac5782a4d71576abc65b8c5fc4bdf9181184cf3be072133cb454d6289da0ef69a975bc89c78b101ab4b3314be32caf20690a65d6a53537ab0fb8b1e4a41182bed8cc77f06525bf4cb5ce5d83e44013c07e2b7b47f8e1b9b23357fc66c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578fdc88e739c56adfbfbf00cc9dea357fb1e46e085d0d6fb1b1b3aa720df8611300cc809ebc1530e3573eef7dbe8afd7e314218de3d8948724d428bbaeeac4402bf0f6ea8c5c9b01f5e7697d6fc48e336255ddb6a950227f6a0d36645b699c21eb556ff535c4052a76177cabe62a4eb63a7ff2ad407a59dc7a11a2c1e21b316989c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f07d6d75d8c0f83593779f62fd94394c9e598d666909d10bd22bd490275f846f4ccbde264200d8e87140270b7c6452f126eab9a0e59fb2e3dc2d89c5bffdd099003d3dafce6dea8d9e06a4bedb00dfa8ceb012f6a2a203bf639b3902ef7b4ffbe12540617b0ffbf1c05345d5459817bd08dd6ad2942aad34d00ee52ca8e451de8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578fa11a4941617e2bbd6541da23102fac46ddda067a9bc483791fb98dc18d42b1824c9f977ae7dd7de1c4985b69be78ff2c5e30916520c1a393407a314ae941f399b724b0b3c228d298b2234c6ab2572c3083f40ad7453fe345824c5c705b13cbcc213a69033aadeb661b3e2f8a4f7283353f132b82efad331fc3ab0a37fa5eb3f1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f4dd8b7673190922d0ba6e5e70d0859a187d2772927f020fa92fa1b5d02996715533533d03a1c078bcacbdbfd0ef45f69717a9ed300cb8f3f86e0284a34942ec36c2a31f7f2c7dc2decba858b0fa7254c09043ef902fd4591583dec52c4d0f65155c75eb23100a40a93cc265070fb4013e3f92d51d31243d047194f13560e372f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578fd6502b6b7c2b8d30d3fa495a59369deffd6556855a70e35c923b219209fed6998d477218e49bd560ea8cd37675519dfd3eea726b31659d7acb73a9f2ea64f3606e7301a39e1470fd12820bb4a751a78d2be4463dea069fe213ba9a20a45bff3a658437df928b3f5974aab550cb388a5d376e8356c27bfedd074e8a2504b5ee8f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578ffcd08a482f92478eb055a564971b447bcd46f9ac4ef46705375e1bb379784d00806350513a1b09aae73a667fc3ba2dc639a9675c471cf0cfe3eae93f8bd07a118f1414873add1de1f872f5b853ba1bc975310f8e395952131faf7161fe8c234dff6cc2ec119cefb73e8f14d607ea650b9fafb9bb0b1dbf8391ef307487c3bc8c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578ff6c1a9cdb6374bb15c17d94b699949c0eb4358a3b85d253f540c7ee527b97ed593382b94de85503912d9d760e355a067c1afadcf6f5791211ef552be8e8f3e22c31ba46cad395c8116ea2cda7baa862e1b6ae9eafcc38162d8cf5820c2eff5aaea99928a2796f01db19d4fb00f3726fe84cf6921ac13c36c03846b18dbf5e879
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578fc84768fa7077ef199c564e34c97ff2686c601165363458c5ba3719c201dbc1bf6f97509d665751689c0040dcc0dd8f0b15f148f6f5ef1a402ab5c66f68168524657e7d6ddcbf36171fddc2e07feb06ca715b96904d371336cb43238fdd30466658ec48ca408cbb06516ddb1f238a71550e31f443887a8f0cf63c00f059f5cc98
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578fef0f38f2cab759e8eaf59ac6ee15d9be7e9d31dbd13feeb4f2eafeb2e5e2628a0fd5ad3368f1152717326d870e7721dd5f5bb96fa7c5fbc7840dff0d77fdba333195cfeabe410e55ca2e5d9ceaf18207761ea6dfd0747238a8dd5305229221e53a8e88f95de76716fa82329e0966c6a298e3b4afdea6bfdb373c760a93136ee9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578fe7d5307d0bfc04b83f02e7d60c18be48f9804f2baaa78dea472a9cae8428fbcf3f07634b95ec3480b5fe93c5ede45d0c77f469e7e5b0ef77b999acc6ee821c23a0599d00d1fe52a5f685fd087a5c3a0f6e23e4f944d68bd8474123a7bb8fe5ec3b13fbeecde798f1c79a419b4734b4931a6a56dcad75d24410862d268d159e3e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f32d4c7ea4a934152d38a1ee7b994c91206eaa83b2412eb0ae998f645642ccdab2d8ef576dbc56b9016e5231720b4a7ed3cbe679803c9b8b5603d0463bed397d1e22403ca786a2d51ceb53ac850b5c238b0532db9e68f7648a6c909235c8f9a4e94cadcca9f3b07e13366990333b6a11574c10af87e190a8848fa4f2e71f60b72
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f20189a9c926e56beaec19b09c2878586389a3f3f36f123a23835e5dcf9d75ae55b164fc2300fa19499fb0ed245c7fc124398bdd43f5618b9a7105ab37d6812f3aefa3b602c0377d7a7257d2df9332c215525e56c48a00ac95d7d0e522d7532de30de97b9ec2b9239dbf75678a657cc9143bf1f77b0d3a1d2a552a5d35b3e3e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587df8fa89a7f422a979def971894dee576c3817b3dbc6041cf5346a3e499fcd92a061cca3cc3df536480c635d3bf4fcf57c01a1f05c170c3b10d2e24521da5dbeb623d4e8bb6bcc727ce14277af3130460d862f65d1f16c8cab4c7fba0f34b1289aaea780e6c5e2c474a98e0d7ae596eaac
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d9f66ecf45357a97aff91111a9f96973b30387c0becda57d16e898688e7deb698475cd317c4e3703ae996cf2e850c3a6aaccd66557458a4d3df6b524f8a8c596a957c2dbc9dde19aab275b65c406c36ac315d4f29294880c382b2d73ea20a4cba0d8a06387ac6cf9fadce71eb03fa806d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587dc8e944ce3f0a907561e7c56c01c8dd6aaad20d0d3ee101ef48b10996ba84737499fffe40d0432e6f65e44ddbe15e009653c5165fd68073da410559895fa53e052d4994346c4a4702a9f40fd24a39886a732a30903648f3aa27d480979c22b2781e1ed1eba5702ed7656985a55f10a11f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587df8e72740f184e517fe5aeaaa404f48edd1bc3f0c91ca3d86e332ae57c6c4669e531ae90e7aa7cf1c4981447cd5c357ddf14144ff48d008a49d4ffe09b3c597c45275adb0444d992456c879e99091d876da2696de4d7decf220dac095a9c4d28fcb1a04807988d8359bc28b4452cdb12a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587dbbdcfd2106efedf501222831a2b3bc10181d3e07ab5b8cc590e844680953e9d1ab866c66c804d4e26b94a6f7b48f1b4fb36cc0fdc2bb11154a77e4558059fe2a65ec7bed298379ba7f6cc3be8b05e4d23ae2357704b38dfeee1dba8ffbc8ed0ae1fa836ed244f61e880809410a7b3f63
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d87d109a0f755ec95435336df47c8b3e25ba96c2c76b1a507a8fec58043a18bdef2e8bdaefae090a63821451250c4479b3e9ccd4c66fe0ccdaa99a470e974b370152b4a57ffade6b76c1ef796c6ae0c3103aa3827824142c0121b635f41d8c674ece4854b96cf668047418f728e20944c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d8f3b7030346508951c6d7257bb5d564ca0065fa822e9848e4f5f1a9c97fc214ffdf8c3d6cf310edb0b8ad1706fb1c3fd3e405d8112644aaf78ee48698ea8c77be5130924807b56143a8d7be68bee5f7b43aeee3d17b75ea6b3a5a834be4e801c8f905fc179699f16a9140d14d7103088
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d9265a529e12dd046d49fb2808330d973cbe86c4da2bb4169322b50267ae89bc4f774c81ab088b263cf31b5c6990a79f778a60472d180cb1aee8faca1320412cf956489ad7f0aa08ac38c7c6eb85e9ec77af32460e5e0186ed3581df287f57be6b895cc71fb8b7b14ae04459131a45039
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d88d391590dd64b4d03bcd8b47c96c9da55b60bcc1139e3de3ff2b569c4430308d39183df112c2d175227a67d9ba1676c4b9dbfa78c6b86dd1179e0fbfdbd34f8532da3bda9d7d1251626b639aa8b8783436cc51c59d7d6e0c0573fb3550ebbd7a600529dbfe9feec4c077207bbd9cf9e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d906724106fa1e9e896de3ea111782edffa7df147f7474faab3d17bbae61ed5c3e8582b69e58ee6eec666626c7d13f744b1ce98f9ec1616b1c8c3232c275a130bc7f3cf89aef944a77d4a36b5281d91e86f169ccd648ac15afd8e022aab778f8b32dd5a1e105b5cb899ab31affffcca9b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587dc25b313d2fd87b6f680c74a86957395b227fa26d118214f500a481d29bd3f94764b3968d12aa178232316fcd2641dd2f890cbc1deef2757b8428b56d348c4a71894e0dc5d5e48560cbfe9666b76682215789bf93b2a473f1deadca123175e5a8a2ee4536646f301ed83e2db6f1ed2a46
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587decedf7ce497c87391c81504e47a19a697352663e9fd63404b12f88de6c0826b1c9244f36bafab6f747a7a0eb151de798ab14b8814babeb70fd2b16b46151c2da0b86826d4ea25446fa06b294cac44502cb63d35ce603978d0d8086f596d63bab5169146ebab6334cc9602b86c8a451be
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d5cfdd8c89ce1c376758f034682ec46a58211bbfa91b81c04a44b4abf82de6d957543b1af4a6c430f79d0b0d930ff7e862ec2358f0ed585e8a0ae0ef7bca85f2ec1dfccee52b059e1f925d2f92c9f14a64c082b902a224b878425e4f22e9665c4ef2a9ab17093fb1ff9c8f3faaa671527
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d62c6da0e9a8aee21bd8fd4e92cc0fa29f2c6d17e84fa8e4d02f147594ddb3ce3de96359785bdc991805605c8f9324ce6c4664a025166fcabcce0a495c5f5ab7b291ad4a06baaa54246d4d31624b01221e1df8cba939a4d6e931019cf15aa2652a18093d9beef5599b0b3f3f8819a6255
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587d87cefcf6a5f4ac67fb0f322dd7d1137843675df128646e8217eed9752bdc96102f3e71c5b236451293e201f71941e4edfa7c93450f74eaa1bed5a2a6dfe22ccf3f6eadac1ab2da6954cb446f60dd323f3d605c1f6e97f3ad8e942a856d799b797d7fd57925c50c2c092a37463edf8575
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587de9ed0c049647015656192931358371b1eedbf254e943bdeafea672506dd02c2daea5b7b09f9473f0e5881ac8718dd1c38b33aef02c98f9aa6fb415d951d978c426c83a68f9f7e5f807d017eb1bb9fa54c23970cd2a08623cba60885e7a7def1775531fb7cdd9dc46f53e4d9ffc82a457
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a05ded97c1fc8b54a4bac2b4e32651956b48831a2fd19ea5e4407f7ee329314696d0179eb48c2559e48e9af92f15f349c905ecf5c996fdedde6a26953682c9d0c956dc72bf0232bb5568d8ce5dd1313873fb797bb9d64ea74d92bc2eec776b67c18
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0553a443da980d6169c0cf23b1481966d4c10f50411fb81a76721b20fe8959aa050f4dfe7d6b023c7afccbb481d33e3361b44b5582a7a807820177dd8ab03912ea6853938395b9b9ff3a44b8225f915d4ba051bd8d1301e4882969441c186c6482
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a05cfb17cc0f69e2c94f7c1deecbda913caf6934d0d6b3ec1672f4a701de5c2552bf266af5f80929b1e960c20c113797c7db93f07c6cadc979890505df512d90b07f67d110dee056a9a551e72704fa801a969315d0617609d43a3dd18daa63f3c7d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a05c937ffe1953a2dbee265aeedfc5ff5dbf4e169626edcf99179868f69270abfaea56325077547cc84dc749cb3a0d2477718244b8bd8fc7c2709fe201106c6cbd9eb2245ef49a2ca2d4fb30eb390dfa3d195c0168003db086f458df74caf165ddd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a05e03426e741ce31f80c4543761287474241f31257f570a909e3f9e628b92a55d2a2185f3fe9233e170293c594fc08b76ab0c6ff7739f15c1c4d795a1713caedd38843f94ff3caa44955c923aae68f2ddf43ebeebd70df8e6575170e5f9cbdd7b6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a05cd83e9f7f2b4c5e25b9034e0fd2c127cf864748fc22c5f11e671a15b058409a645ecbbb146ffb01cd90d9f3298139f7fd682f49fdd83968025ff277f46991ff0d8ce54f0b9600d47804f900a6c051843cf978cbb8e856944ee5b81e01b5cbaa3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a056f7652c5ec8189a961e4a27cfc379a5f3abe6f1f2db99c1650befa06e2cccbbf440ac41144a51e0101c7b8d9d4ee435b36a10f4963fa3f147929e4973ac3790ed8b8832d53f9fc1f1674a4abcb7440d87770599a303ab17ebcff5698c862ce5c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0556d0825a604d9a99b924d56f1c77245a450377418bd79050d66b520d7625f46927d99c4ca49a69070e44539034de23eba02b7f934f440cddbb73565e3589fe0472a45472d01c65ed98654639fe649323f645dacd7aef72e923d27ab60eeab0ac
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a05997619e0f127e299a10dc0a82716285a3a7c7c73de8a72fc6117462f916d9f6feaa37203c5febb313b017986b60cccf24413598db6165c8e204ea8fcba8cdca1c058bef590c1ac45c22e9ba8cccfa8e4b8a4cd7c22a2a5af9013b59a4acf0919
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a059cb80406467c6941845f4bb8ca7a346323b566c0f2b2084de30abd746950e94e5a709da648370229d1b22d2ba6a0fcfeabd862e4c3f4a13d23442df65f3bdef90d5675d67688bf7056fd7fddd26a8f91d155dbe5d9846f515dd94b367387b29f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a05f53b4c8646570adf3fa450682e44286d3322e4f2c7d363acb8cf198dd5762b9c3983dbf9c584da976c5d402395f36265387f13719af53bdf5d5fad9c3c6e72c14248328fb19d5b835e676494d9be68018c3e20f3ab44dd8fa4b77dd2b00c3fc4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0524bfc5aa0a54923efbec298ab914553d8b72ca3b98e24cc21aad610e832470d505370b4f08d3e5a9f1219817574b2ef2b5e430a40f4f03f21320ce39bd400c226a7c78657169b4d101ace0c95f9702562980f5729507fbc1603fbae6026df2a3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0593d15024202717c4f85a7023c1d7bf66107d1ed44b0fd8c3ddb634f714a004d3c151d1a8577b43305fc3aa144f2c96db5fe0ee8e12c76b88b8fc4df15e8763b186facb7fbc11da1c0a5f6dcd3d939e7c9cf734001bb37cd95a2809e2cc8e0612
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a054c8989c55cd65d9bc8ba2361d77c9d72fb8a5321a51f0f1b807fa1f523eb611e8174187af495f506e32e43b741bbf6f048c572b50fbd03b613d37b6071a92dfceb4008d18d8685d3c1c96ffc25f610543137ba776c620717ba84113e8c77e017
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a056e9f3210706e32ee873449d161601a609606f5cafb9c25335d31805d10350507a72221a05f275f181808ff0aa140ebe1bd1f93f60509d05cedaecf019477fb11ab2e488447ee47501c4014e81a3a18fbca2becd9c58d5c3f7c4877284040b9f4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a05fbddb91b949b0194b67641ea0da8a9a76ae2451a1456441eac4af319fa4558a202bb7b777fd52789ee53c6c7d644c2a8907b573c92183b88ca573a7acb879fd39b4f587254850513330c1fa936521b9f3c0eb3f813e74d09368ee7ab2340eba3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628cb2288d49e057d5b990ef03cdd0bcdbc23b71c37e22a5373bc819df09414356e8e2e988eff54744d8215af506b2857902496f6203f3fb298e8a574535f48593a3348a2ed64baabebe856c2b650042e17a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628cbbf3d925ee166f3d2eddfc11d14da05ce4d764e987d25f748e1a84c8f635d7a7fa33efe19a4d6cd47da18f4db269bc98b39e1a0aae23067e64eb9265696bcdfb58a955c6eb4bfa43429705e6f94223a3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628c42c06527d8fcd61e406f1cd6d0c35aa406c7727d109882728134f5bba62b91e5406b1f2b99bc1f3e25cf96a404d0fb607b4ef0c619caa357098b9a5a63b2d4bbd22873db2268cd8f294b0e623e7f7cbf
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628c0290d069dde81238fedcf1d8e7740a0e1275821532ba4f2548417738285721968f273cc2255ed076aa02847e8f6f2282fd8d2ee7b640b9d12148b5f4bb5c13664dfcf8ea3e8e01c7302a8c3bb6575530
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628c1f825e4ff049db3ec69e4d1b35df9778313091fa6fc814a5d5346e3c9ba1d06e0ef2e2415ec3983d826b4ef57d5d667a88ba9551dbb46a1151733c2e7f3f976d116ba17c3393f7667cad82389770e701
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628c770b3c8a0875c243cd3877d299706990b1d7358a1e1a8eb221a93fdba00e5474a2971f3f1d45c86b6505fb762a4f2279bb8b76a3949b9f84a9b588b54c9c03082b228138238a8b8efb7410cf96f42e69
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628c4a8e929baa0e3727e4f50a5d9e5b032cd9dd15a8f05ab273e927ebc7561c03efed98a42e94d6bb85f822a5685e698c603418652c40e9fc2913a380f51e3ab70a09c903722246ebac47c220ea3b877498
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628cd01edd64a1695906e12fc1d6f6fc9b2d6e2fcb9ad7d2d9bc578aa268de37c7fd4724210031b306355bd1c40d860d4200cf96bc7aec7f6bd6122f2bd18d043440f0c325cd84d4dcc50e4c1069de31a7af
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628cd26cf677d9c112a87c181bce54de90bc6ceb07a977b86917829fa4f22d49fc0416af392d328ef5b333ec701c61cd473c9ee4488dfad31d3ba39ad08e3f3f38bfd8ca408491263c5cc9947e0dbcc5d564
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ce23a8955f3987f8f93f230cf7fec4627568e0db88428fb08d0200d4e8219e16929ba1de8ecadd95ba136dbfb92bd51a173886144a3bc0ed31d58a8c89ecd400a15362bc1bf71fff316631a98c24a1f91
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628cfc26c95ec2a8158b452767384f6ca2d50a771f864e90a4b0893cb3a59e99498f411e5605f734a43acc0d536c7f610e187016712b2d7c85a7de09f9a84b3c6ab41a72a34031853ae425c34c9432cf096d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628c1636de859cb485de7eac4ae25e073e917aa0e9ba870abde16542d294f9efa4538b611b5289f9440d17d370543d11f4ad9a25a55b0273279093a082f03085353308bb9818a60d967bd895a00168b66295
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ce68d0e9a656b633696eafde704fa06f44d2e6049f0b1fd23aaf11b755427cc6a53c36331f9e4029d2ba0a0683a3ed393ffa2a11afc120c35c9ebef6483428dd3045517e6b7f2265fa0a067416f5967cc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628c146b5b14f1e03a6502cf0fcdac6147cfb1f3ea361229bd6e1287fd0d4e51d74640fe7e4682ab27447d26471e951fa24464fab2d94f3d152c21e6159fd4dbb42e460a2af855dceb1c06999aca8c6a88f4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628cd8a2f31e805370302f45e6c7cbbe587ab14a3c5f2367a84a60cae30a2569b398da263e1669ab14cac9d607098f5443c4780abe58d9a7bc4a47c680d84d395f0808aaa81961a79ea7f693c39d72a2e5d4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ceb2c2ba0d80d63b3549983ebaae279994b7f62abec11ae6def3fd8b8b160e292a818784694ed25d2c70e63f44a7d07c73a63b1a89a966cbe026d72b9d8ef8963744b510c0a9823c982ecb3d222ccbed2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b51b10c8945d78f16a9dd1fd55006ec29236f88f806465d9ba66c80da54eb76f00705f0fc7d3f048d3cee163ffdd5735803c263e1856208f47deb40e8b14d0009
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b73684663a06644594711095d78af90f7070a108adc6e1e98a8191de62ec0cf477088567861503a6e040aaad9a578139f6de9b33cf2dd3657f487706b34e7206f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b0ab04761d5f9b269bc8fe1f262472f25f5a0330bffb86548a1275555678c617fb536284a0110e192b7e22889341a07a2e8e3ed07856d201395d838556f89b581
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b8bc78f53bdcf2d660c2007cf1a4748559aa92e19daf13013853fb9069304342ac38f51cbee1a292d01720610614554b5e0a40c1e7b32ee9e1ee81f3cee2247d4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0ba8221659bf585c5de42f4931cdc69c6dddd76377ec1e546b5e9c21a58c1278ae635796e6edde6669844ac002f1d43fd25e0d8097cc1ac61e34929aecd98fa87a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b305a245c1f92a1ed6d7bf7908301c857a6fc72a5ed3b95739064a98de16e6bc1304a75061b864c3e88fe6b77378c79f9d1e8f39bdc44723980971673c5a3da97
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b7696367cca042317e9f9d027ffcb9040a50edb5a1c56d1fac08244984acaf1a4d57388b49dc76caca21afd37381f175137af2f328cc5c30e355dc2e18db4564f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0bf9b0d907620960293b8cdbf9d2282e3a7deb53ef1de79ec8789f7c98258ab6469ea096f3161a022945947596e5f65e630559efd0939649a6141eeb5a040a62e9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b567a5cf87c7495a8348c4b5556f008db93260588e8687167dfa1d8b65fd29e31e88f9a232318e6a53303ffe5fa5d0df1fa7727930f738be9ee7dba2c92a0c5e4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0bfaed61243b8a6879ea75838b1836d53b78735aae0f0aa6e3d7e177f157abcae34e37b20b49502e2dd2fd8df7347b5d83786a69c361ed4c6e8ba0cbe62c1e605e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0ba41df8574e34378aa2b3adf819c5d5bfdc5509a176d6d14c542a7b1ebccabe4abe3f4ab04e3d59f59e5c9349067e610373a072ae96518ad356ced78d17e133b6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b76c12d7243959bd7d9c753d86d5199e266f0b4874ef10aa3f70e860956eb969e1dbebc9df4edc0a501b6f0c093fc9fee263f058278955686168c7b54abcf6c94
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0baeba077bef16c7c97f918ea02769424d9685106645892c5c7647ac197d95e927bb28a5ca19403277d6b3bf1526c6396b639665e3c82fa83ef24954bbf429c0d5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b6950b8dfad2aade609ccf70bd1d280376e37e43497d9bacb7ada092662ef73211c59b766536160335de85475593119f83a6fc3d30bc43a53f591970d048c62c6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b77e3d1f43296c6e6e53cec2eb98680ba8dbf4a139cf327a6488dcc735d43dac3734eb21207794026da1372a836252fe9de4b3cade24789fd7690d29c486e2c11
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b75e20c01d5978213509c504e4244b105e198cfd504f68e9213cc5085fa9b337c831703b809a739246f8f12e175f1bd5ae9fcccaf90ee6506769be1730deadaee
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8473ad6d1f4eed43091e4daa75706ca799725097c673e16f259f5e168554909554d22160040f3f980b25108eb1074dfafc7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847ccf8b218a8a29a08ab0defa33327185bc9b1618f357a13e51189fddef9369d137cca6ffc185647668ba512b50b1973b2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847ecc467350e3278280d6d28a8a2d0602f58ac7cbbbe0da2bb9960ef3e0125f9d5e66c04fed81db9c091bb8ea10a2222d1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8476d6f59d786055e744adf8e91cb27f1ced14263238c378e00e453ed7beca030cf3406df1c5fcf8f8cdfc255564fb604ba
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847b05a56b3dda561993a951727764b15b9798eca0c1fa3bab51a742b9f78c7c0a18ed889100e6ac4dbe87b5c46cb86730a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8477ca923c244e238893b64d2a822ef601bac688e2508b7c7d2458b88e2df570ee5f62873cd9ad4f263795509eb33b33a4f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847f1b161bd08a7623ea9c3894692bd2c3a2627a0f21feaa32f589daa91273b1605810b8f70ef841caeb26d0f699973d2fa
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847ae865ddb9feed96664261da1d75b4a373ce94b186453b9b8e04bf04cbf1fa9f96cbfdd43e92d848cd594f86547c02af8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847859486948efe59d91dfe73622da608d423606a97a56fba7b60a62f39abfe61224cf7de0375cbd737e7bacffdbd586f51
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a84726b967bdc96872352e2009f5365d2e5e76c3707754ea857620969dafa879af8c10b61dbbde5bedfb09f6818d822fb057
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a84707646787434a7fa82134ee19ddfc2f7d697bd00bdfa471856f2b4848f3628094cf0c47e8566ec09e89435ea2be12005b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847bd37ee3bd0b0250adc384fe1ab65ceae9d9c9cb345cd50fd465290fdb80765436228767aa6eee96b3bbf9d0da2a04ba8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847048f3cff325ac376948ca61a70553086cdc0fe4592c5ead9da920f496954a8f60c5110fbc9d5ebe4d3ee50a958f4dc8f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847df91606f20763bd20d58c56f645f3c7a2e032458ef8fd4a199fca4218ba9d6c1829fdb04f7fa4f8afa6b549d6c588de9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f747582a661353b7da833138da5bf928b0a636da39224d58c27d1969b72e0a146429b86a07ef81973e80f632ae8bfdc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a847d7f55649c875d8d0489b72e132623b22d6b02e4dbf5a3435e9d7efd5054f6191078d552b2a05d45a158e65a063a06b8b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76b3d177e1ebf68b19c25061cff75b2f11a447d65370461330efb792848bae4a33
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f7685c8212de575f4b0c415a3f60315c004965a5afb6043292976397a30f891d78c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769421c7e5e3b1f62717415c6c52a6c26d4a5cb92d9beec5f313a0244643db4af6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76b3e2175109ad906c37be473e2e0dc6687a5086796b8a0b5ce291300c848e2294
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76f2816d8b131769c91a91c446e46aa1dc9074515bc989a55f1247682558ed1b11
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769cbbeb12e4c0edd08cba5e5bb57eb2c8a6af71a3779bb20a6517d90728915770
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f7615e866a2739f95e101f0e9f1494a181a7ac11a5e33d6c28e51a8cf5dc75194a3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76cc56e4424649ec5401e1cb390cd2f5660aaf11745c74d00f89bd5ce09482b760
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f7623f703cc1882b07a2fe7ae5c433b12252c18cd7da3118e68cd2f54ad6594573c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76adcd77dce57016c70ae492dcf4e569c72ce377eecb95717a02536b7fce3afe80
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76e38b9bf9b9157b15be9e63a72497affeb732aa561972c30ba2042a9c2052ac3d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76c2cc20a4526522d1fc558fb30dd2bb1d36f674ea4348ce529aecb610ce17d725
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76837d5276a04448081f4a30ade2ee49a1a27ca1339452654f122d3b879552061a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76ec1f5044f3ef8655ca98f66970bdfeeeb4ac4452141e77183719b75c29068300
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f768a10b58ab800901730b35850e4449e69a56a338c22754caf1975450f389d634a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f76c8002d1c8af0e63dd4de8e038dae13e10c0e8eba36dc6837222351586425b162
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b061014bd890cce4df789eef73bc3d7025d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b06b7153024e2bbef3589ed4b80a3d965c3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b064d9f466e6ed89fb08dad714f363c0cbe
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b0661cf620009e77542b886e881bf08f38a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b0612f29340400a1e69897c0852cf4e210d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b06a625528a263a37a14013556113dfce51
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b06f90d159b2ccd770b53783681be8a6f5e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b06ea53ca87e26c6dac81fe70f0a5efaa17
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b06d71ed6942ea360f3639dcf3db58df19d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b06b65a97fdb3b21631a76662be7f672400
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b0618ccee5e588d8b9ca226876a76d13a71
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b067dc170d5e05461086f1a390ba7fcc236
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b06865be6e27a8a8e8cf9fcb846caa771fc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b0616474e8107b7870cb2fe52d1244a7161
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b06122647310b916f95a7123fe0eda40cca
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: cd8df431309589084bfa5bcce99cbe08433cba6fd69fbb3e22a492644f3dfa7697d9bec176735e241721025b
-TAG: 158cf6c3158503d5e540f784482988db925b4405a653ee4405ad58b3103d58a59a90d5b4d8b55e9c581134d6c522a7e26460a56772b588d8bc71dfa9557bbab24cf8dedde5489673baddb8eafc0f9a14d885626210ca29a5de2d8d3cbf0321c2d4e048f22d15345d18cbb80a5db5b79148ff3d6f8dfb9334e83898157bfe610ac0bd660bb86a77573c13c22d15b70d9c531d578f6f66946e2aaec737057204351ef3587da6845db897482b878cd4e1d38e429a0534f3875f5bf0522ed0a984571af9628ca454035434c3ec11c2f2c098d264ba0b631695a306803bc2d432c47ca051a8478f6c5078d15ec447d297c5abf7d73f769e9f260ab3f4fbbc53f581d193452b0632c6d629c5482b71ebc5fb4e56590a5c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: 095a8f557f75cba8e2452ddf97c053904b48827f
-KEY: 18cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1
-NONCE: 
-IN: 
-AD: 936a91d0b5d2c02672
-CT: 
-TAG: 7d9d5462c4f740b310431406f80161cadcb4d8776b38956269abd09f42858567
-TAG_LEN: 20
-
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: b7b9920735
-TAG: d05707f3640947f30968fd253aaf0edf8053b0b9c0ca0b9b2739b1
-TAG_LEN: 20
-
-# DIGEST: f1efd4c11318f4558eb4a50d5a5b9b1e540f6dfc
-KEY: b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30
-NONCE: 
-IN: 936a91d0b5d2c0267218
-AD: cb7090c6171386d641
-CT: f0a8aea40ca2ba9a2145
-TAG: f873ed1b4b52ef82d4a2e5f414512abaa3a18f9779e8
-TAG_LEN: 20
-
-# DIGEST: 995341bee01fb91132d1af8394401144a35bd965
-KEY: e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c617
-AD: 1386d641b87797b684
-CT: 91d9ee5d0e6bbd3f13c762435f5a2c
-TAG: 73d2bc9886e18625607eff26db158e790822f17df79706cd13570834650b13efff
-TAG_LEN: 20
-
-# DIGEST: 73dc06657c34ffcc71e6662ec0a52aa7168c22e0
-KEY: 3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b8
-AD: 7797b684e0fb56f97c
-CT: 22942bc47874d585696e300e22001886f7de6fc6
-TAG: e1c0e57442d758bb21fc808643d71f74063eed34636ade5b64d14b3f
-TAG_LEN: 20
-
-# DIGEST: 6a5e3024f92e29f8f3e294f87fb25572c0390dd1
-KEY: 2993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0
-AD: fb56f97c3961d8afa2
-CT: f85d7039aff0b22339c6702939871d20d8804be733efe4fd46
-TAG: 37d06ed8197577d9b68012507e3864811e709d004b0df2
-TAG_LEN: 20
-
-# DIGEST: 6f192a6acc2fed00007506adeb1dd454e2e92809
-KEY: b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c39
-AD: 61d8afa22993a340b9
-CT: c7a6e129afa18060afc5ec3cc8c8d7cc0bdddad58186347060619084ff87
-TAG: 425764abb4e56e9f85447700d241781a85c4190d01bb9f1820397fe4215fba47b81d
-TAG_LEN: 20
-
-# DIGEST: 7faa4d4ec92841e45297553097f2ac2ca53d2592
-KEY: 1df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa229
-AD: 93a340b9b3c589c748
-CT: d1e4fdf3e846eea505a2bb7145030858c57ccb15ce9e6ec7877d7d7da83d7fae2ce095
-TAG: eb0e796270a8b9a94d0b54393279e2881ddbc465f75250162512b56ee2
-TAG_LEN: 20
-
-# DIGEST: d6cf3a4fe57328e885cb10cc7088e0562c7f91b3
-KEY: a23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3
-AD: c589c7481df3f4183a
-CT: b486a616710a6e368fdafa8b43d425fcc8a9fa75131777592430af12463231fa472de20408f14db3
-TAG: e7cf1f15a06fff2a1d74ad6ca7b12fad7f7bbc7d0e51bb1e
-TAG_LEN: 20
-
-# DIGEST: a2ba1bff3a6dc3ffa8c405fb8f69c41ce7c1a1f5
-KEY: d88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be9937
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481d
-AD: f3f4183aa23fd8d7ef
-CT: 37e4da118fed51f937b7a8a8cb85d3d19537e44fef418028ca61e4d4540eea883bf8bc413743ec6a0cf0802bc9
-TAG: 4a84d7fded4b04a469c48218ba44422bcb3cbc3f1bf6c1cb62d9ea688b7845a9cfb9c2
-TAG_LEN: 20
-
-# DIGEST: e2825275a794df011a9dd0c6061de3a9eb2efd48
-KEY: 8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa2
-AD: 3fd8d7efd88503f78b
-CT: 65f79b105f63cefb347951e445f1b85347a7829396a0c81d3c1cf62471bfb7684d7aa5b88ba3a7001df506bdbcb0f1897529
-TAG: 3b45f4f90cbaff2ae7c799743f9f45b5e5fc73a8f1868552d8a4c42ab36c
-TAG_LEN: 20
-
-# DIGEST: ab656533e45e90a45a508392ce59ab9bbcac27c2
-KEY: 2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd8
-AD: 8503f78b8ed1c8e9ba
-CT: 8ae03461319d0b57ab69559037e155b10f48f3ec9d8d3839d8835eede6aac57918b5f1b08ef51a55acdd1f6e67c8828cf9064e8632ad49
-TAG: e99f381d0209c4edf5933cb4fa117f268ec54f487c492dca37
-TAG_LEN: 20
-
-# DIGEST: 0614460f6ee128d42ae79b1dda518a0f0e4d0d16
-KEY: 0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8e
-AD: d1c8e9ba2fd6773e0d
-CT: 5dd7c1f3d9bd475e50d28d166ba8b28ef7657a71467dfd75a49e286d06adabcf1e145a080fe198e2bf146fd69b252f2e3087a5ca55195fc0e36861ae
-TAG: 34d960fb6a6d19809a5de444db1b06db948c6f127429a01b45ea4c1cca37e0491845978b
-TAG_LEN: 20
-
-# DIGEST: 629525ee366d420f18c6a88fa3a8cfecaa1331f9
-KEY: e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f
-AD: d6773e0d0c302a5f47
-CT: d8b2abc3b5f2b5a239ba8f7dabe6a8e3edb4848ea6bd1acb861b34f1e88558ef4fbfa897908a3d4b5d5f31d90faa3a158927f4d47078b4f8d9287d3d54e1ffaad0
-TAG: 64c7eb12b230537b02e93c795488f7fe52ac5ac50569ca8abadb9fc9bf3db9
-TAG_LEN: 20
-
-# DIGEST: 79b26abc71e1670444167ecf48e093d505678371
-KEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c
-AD: 302a5f47e037446f58
-CT: 3eceac2e338b4dfd9f4840d77db69ed23ee286b522cd4a324b04b1865cc772914c8d84abbf0db1a3a2d15401759b18d6fb3b7020cca1e31d136fb97b26bc772b7425ce8f7315
-TAG: 34cff2c871be5a61ecb4eb45c25a2c5868a624b266d385bf2c1c
-TAG_LEN: 20
-
-# DIGEST: 6cd5a6f762364b9814deb6e1cfba1eae5b0f31d3
-KEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0
-AD: 37446f5891d77df660
-CT: e3af374fb6f33c64fc2e4cc1e1b635bbe890f02359b6adb2a747beda433e003e30e1803f2169ff6abc81ff8095601cdff7aebae5fd8fc012387a70dd7db18e7e3cc172fa74b37fec00a3e3
-TAG: 84a0f0e8ef7856f3af00a1d9388370056b55b313ea
-TAG_LEN: 20
-
-# DIGEST: 2d3f449046b625672e740920da76e6cb0b297236
-KEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891
-AD: d77df660ed82933f62
-CT: c7de96bb45663dfe6da2a64ffc9ddfa7c3dc63077079bd4bc2ce52fea89924a75664782a5026fb5a099ec460eb9c6d7c3d5ea383092c8f4c67a70fc499a7689bd3c0ac2b8c18256e4919e6f6bfe53144
-TAG: d32c731d087a809a682f653b8f171526509126898bb88b1eed92578d9072948f
-TAG_LEN: 20
-
-# DIGEST: f321845e9752dd4bbc414648274459099c9e5574
-KEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed
-AD: 82933f62be8dc55b43
-CT: 8780167385b8856be346b71b042332368067d5d9420b3793fe94bc1ba92991756523c7a8e0114af8fa7296ffef8fae01796b47edea43bdcaa8832a08e823c45c1ccfaf1190cc7fc73a67decbdf407c72d4cbd2d387
-TAG: e0c058a146cc624f813cb42d0e24d9aba48105a44ddc4027d8a9e8
-TAG_LEN: 20
-
-# DIGEST: da9868a42a40dc263e0a0fe4247ee859569d7f63
-KEY: 7e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2ea
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be
-AD: 8dc55b436965aabe47
-CT: 889ed4c7bd5455821c5b95a67a277a197140816784e820ad8e126b3d3f0ddaca73e3eede78c1c1d3ff5c2a98c0cadd644393b7e3c2273aea2be1c6fd20374b71edbed5658237d819b5e4e206698c8cc88319eb3cb12ea91bdbd4
-TAG: c8380b44f1023ce340fc1d7a5e84e58aa9dfc2163e87
-TAG_LEN: 20
-
-# DIGEST: a17d268f79216e57050079ed4a85ce137f83cf5e
-KEY: 99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae021
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b4369
-AD: 65aabe477e0cdd46be
-CT: 182dc2f9f412f305a8fa4813e8c8eb7a41f9708efb516fe3feaa6ae94c89b4437cbdba7c738fb97ef9739ed94d988bd60af5359194d2b5f8a48e3f5482c3be294ae65ce803e21acdee157d436188980b9151b640bd810acf2f9fbe2e23e617
-TAG: b965d9b9078044dc9c2d737ac3c49e204d05998b2da40a08faf351ffa15a2a5af3
-TAG_LEN: 20
-
-# DIGEST: 44ba8d9c06c6788865a1dd76287a443eb0c22aa0
-KEY: 7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e
-AD: 0cdd46be99371eb8da
-CT: a850ddac6117f7b13e15c17621fc7c99f2276ed7337cde87ada287814150f8b3f3e8ba7108a1237fa6a9ddcebb07c234660ec93b8279bb4614be85c5973603568e885f5f8ea102d0621b5ba77fc58af4285c15996d6868c520f3e09ec5b6a4685266d61e
-TAG: d0318558a7f76c6d7a459f4f5ac36d0490f9b6e96b60b2d93d0efe97
-TAG_LEN: 20
-
-# DIGEST: 5b0d95d9ca1dc4d0ccd940d38881b8864757c9d2
-KEY: fd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-AD: 371eb8da7dac997dea
-CT: f90604401a507574dcfe5d7c5e0c36c5fa65d9a8f0a25daaa9fe5c50ffb3758f52c9c883c2f85d879f26845a130044d395b58497979cf24a9e18ee1f27d1eac4d0cd994a6338c5755c74419111b2bebed645c3d8b8071a7b5304eab2c33777ede3c27758074699755a
-TAG: 3ddff4edcdf269db62839ffdda253539a85ffaa23fcb5c
-TAG_LEN: 20
-
-# DIGEST: 310801f266e960f886f9a02cc9e8adaead89dd29
-KEY: de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f2
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7d
-AD: ac997deafd64b1fc65
-CT: 0f0483dd1e9ef91f215f7f9817b7f82e0b96c0d3b2996b2a1d878d0be3a70c07a4bbbba3721e646405a8a7f44347557d482d7899044af37f6df054070eb4debf7471072af1e4c98dfb3c192e956b2931967d7fdf200b464be1ff1955a658bf8615cec296c37f0989faa0d3a2fa61
-TAG: f38bed8a5afaa1d9ffffe3ce1015ffa160fa18b790e5cb64b76e4f391106f88d8d8b
-TAG_LEN: 20
-
-# DIGEST: f6998ed9b090ceb8422100ff91e5e2671a49d980
-KEY: 41a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d03
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd
-AD: 64b1fc65de39f4f035
-CT: ccecdb03830e84c5267a5b6f68dc909cafe94a1c872602961e8467b4b2723af537d79d723fc4e8f0397fe169186c23f50cf9e78af3156f507bfd38181dffcc05695583863d8a167df062cd16aeec0cc548a7b5e16b148ced8bc2a60a33a583779fef6d7160e0f6c31a03b8a0f1ed8e18415cd0
-TAG: f22ee9c68405a1d06391f8228c58dc15dbe2a86142ca235ab05976c57c
-TAG_LEN: 20
-
-# DIGEST: af2873f1a7fcd4930f1c8a554ff271c5ee9185ce
-KEY: a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de
-AD: 39f4f03541a11be112
-CT: a06030a844e38f9e049bcf318b10e1cd2db6b60a2611cf9788f0c1fb31a366d2038b3a1692865b926196594850807895523a851a993b77e49c911f840f28aaa42b4f427eead4e2a578d57b101bb4795aedcffc58212e0eaecadf503e3b208eeb72d53072caa44677d6667a0d22639db7eaab14e537cf7484
-TAG: 62d0b651be85179e50a3c46d6f33a6923261baa2f7b8094b
-TAG_LEN: 20
-
-# DIGEST: c4eaa1d6c4d2d5a8d2f4d96890bd0299f1d699d8
-KEY: 4ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541
-AD: a11be112a72933c7b5
-CT: d0076d9cc2f829a33a0b1972f6c0d8c67718a7593975798e0667135db3ce31b4d9bea98710909313a4a2af88bae720963ee738f26bde44b54dd5820992569e5d2eea000baf5de9e0f76dc8e0b93244a8474beb7e922a5f30a5b5977611594af25ed35aab12a61de68f215d73173fd38f8c81e0b79a01bdc9e9182df9ae
-TAG: b1561aab1044da40826e6a14df0453407670db42b64956d19b967a07744000f8497421
-TAG_LEN: 20
-
-# DIGEST: e9bb0964e1cb09fde5e8f852937c4d8e1605b714
-KEY: 905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7
-AD: 2933c7b54ed4fad0be
-CT: 688cd509094cd4bbc4084ae78885afbd16845ca8cd47077450408a85c8f3da0025623f3365a65f04d281ba5397fa74b6f90e01cf138e01ee22280fb3a7d4da5c1a3b0e0507bd46636984a0b91e11492ea47136b32c2f364cdfff19625878ba42a4fa736bb277740e58e4aef1566167157411426cd2803709478bb2bf9bc0ae5c9faa
-TAG: 227455727126ea3e9c69311574cfc72a0ac74c97e0bb5e427d04370421eb
-TAG_LEN: 20
-
-# DIGEST: 659746de28fff60cf3bcaa07eb7a95c5b7d3200a
-KEY: 5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a74
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e
-AD: d4fad0be905d41203f
-CT: 90c83b333d6aa133026223c4966a43fb67f666db06d95f45cff479a626698bc2a73c64066e904ef04800aa8151adec851a51293b7bab1ce22d3e86cd3ba3924d8c0a1253f9714b7c1add9fba2be58b243e6f7ff4f0cf9ae6d4ccd2d4edbbc54d09abb8b9e3f0b269a2cf424a213f0dde7a716f71798f1e96af75a9990279df6fdae208635849a1
-TAG: 4b4f1191c7bb9f94b6bb709f64a48e4e6c67a09f3abd141256
-TAG_LEN: 20
-
-# DIGEST: 170202dac332954785ff6f866f165ca62510d9bb
-KEY: b2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90
-AD: 5d41203f5dce998f8f
-CT: 2e844cc46c1eb905c90fa857be56d4bf947ffe31238ecd92f62c3fdbb1df4c65b14acce9aedbcf6e0d6b0099023fb89084d0658af9d148c00798ba511cfe93ca2604109939a2ed5c8be6a6557f270c14ec9dcf1953014c5324bddbd19c5de88cdfd90c17b06161dc3faac0b551ea15fb282d8aa7cf37601360ba2b8a31f9f17573d43733050f46bb5c8550cf
-TAG: 0b03a5843b50d501008db5cca395c2f85e6cefc019a4f3b8ec93016be7424d6d4a521733
-TAG_LEN: 20
-
-# DIGEST: 767d4f588b55b2593cfbdc46acc6064616f75c2a
-KEY: e02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b144476
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d
-AD: ce998f8fb2eaad409a
-CT: 0a24641339c4667401990cc343e88c724f0973e555243627d3c207427860b5b4ecfd0ca62166228bb4c489bc843d14391302dccc41d52ab5a94ce2747f8266b38115b8fb6a290e2375beb61a8465f766334738b2a951cd2c6dfae290873a59a7da14cfd29cb6227c26502269962b657c0f50b79537546ef1f472b6737b6c56998dc94cdda0f7ce1572bcb21bf13f8dfb83
-TAG: fb419b741e842d675bb27724d14b2d10e14d5e1ad246e841ab1ffb450fb8af
-TAG_LEN: 20
-
-# DIGEST: 27937a84ae455678a2f3c73b523d600135e6dcdf
-KEY: ae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2
-AD: eaad409ae02116417d
-CT: 8e587c5840ac0cbaf4d3c7b761f5c28c7f7643b82d6c2a9c3161692b815a912b2760865316c1632352822070ad23308530a25a3b6122d4b418692a33598c29165698c2d1febb3bbbd0808dd23aa8abb1d0da0c87fe08de7e08f1646798149dcfb6921a038974d656929bc3bcf70dafac2269ec0871d5b9868830f317cbb8246c1d9329b5ca3a5add5c7308dcb7c4c32812024670693e
-TAG: acf64680a4d772c154e585b4d70361baa3c19ec0350cc825892d
-TAG_LEN: 20
-
-# DIGEST: b1c534558a6ecb0ea225369be47ddfe669190d41
-KEY: 9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0
-AD: 2116417dae0cef457b
-CT: 766ded347e52114c6f858c41a14f40865b13742dcafdfe7fe8863e6244d12ef42e6ef941149d0dbbef968a64e6a9b5312a68ad7d8cd26237d78654180272b67ee8bcfd11ffb6a07eee9e9420370f9a3db54a4d4e8613f00f1db63239dbf9127b1611edaeb6477b4978ebe754e0899fef68d398d70672da44290abac0dbc5bc2cd957e8bc85a3888e8055fb3f2edd2562f3d5eabcc00983e673b2ae
-TAG: 4d1b62a81c3d4fdfb001eae20339af92a75e0da11f
-TAG_LEN: 20
-
-# DIGEST: 774dbbcae39eaf44fc300eb00977f4e56e4dc0d6
-KEY: b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3a
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae
-AD: 0cef457b9e5e16dcc5
-CT: d3f3616ccf281682a7dba30092564afcf74dcf12ab69486ac7131890b4ccb9d6995a8f829f6a53660637f9d7dd7ccd5ab552dcdcd9cda27bbdaede240b55c1ada451855b95dfdd8fd876c432ff76efebac1e7201aee7fd3f2bb58104d45ac9d99a8d4e75ba90c3e2deb60f396e375c253796b0d4ce6e896e9b4e59fe7e8bda1133f2ba4783d915867b1d6e35f083b2bc0fbba220a3f9ea5fa78be507768e895a
-TAG: 3e5430228a240724caae8f150e3488b19cc6f2c12b6e61bd3a7608e2b80391f3
-TAG_LEN: 20
-
-# DIGEST: 5c6b13d8f7e9f764136921bf62cf406b9dcc8615
-KEY: 0d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b18
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e
-AD: 5e16dcc5b6f25607f0
-CT: 41d5edf93095449590cc702feda28c76f9741406b3c56786ec0581d552e7180e3e5ba0816b5a18356fdbbb3b3fa8e4c8b9bae97687ba6106eb8de6598d38020b81ae1c8828f3ba7b5606fee312d8d9a0fd7fa320dc207a0ea5f69a3b323ccc4ceb0423a0c54f1a3b7aadf8559b0ca838925cea554c2f1396831d3025eb9192a0bacffd5317cd51b2a39859d584fb6ed8361d9f6ce1b2eebc6e49f017195453213b47727a66
-TAG: 4843ec42e0be6bbc31d69a72cba34c097cfa730e4f3b73354536c7
-TAG_LEN: 20
-
-# DIGEST: b72799f51e711da0ea2528a5125a994e33078898
-KEY: b09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6
-AD: f25607f00d033fb95f
-CT: 37540a55755a9895e547e06bd2d0965edf678924925b055a72e6c122923ff83c387b0868239bea740a4e0c430c8cc3d95c7d7ed9386284686855609854f987aefd01a304f03950b5cd12374736851a2058dd854a875b253408ff097d8f742eb56d3a7ec85228a250e890670615809b36cb0383b3ea52b4c05a6d229d637dba73c6b33721d1a5861be9f209e2700f17e1a040549b4a81425cc99023d004f1b9ecea75cd3ff38f8d20a333
-TAG: f321b93a7e0d0816db07cf4139599233325d0f8d78be
-TAG_LEN: 20
-
-# DIGEST: c2c932a2159da6861262e601fe835e4feb139fc6
-KEY: 172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d
-AD: 033fb95fb09e4d00d6
-CT: 4fb36cf192f45d7c858d792f8272a7a804cf1f11f66da95e125d15e1a7c1906a9e16f2616362db28abab333f08e06b52921075036b183b98dd3abeccf6629e94d5391e1bb0ded50e1d49ec2d9e2c08ce24282522bfbc246292b0eb1a6e13b86578d238e97de105c9768ead8d420dd49b64f7c5d12f25759fe5e6a9c284f4e66b0f8154f0919c36d5dd0fbbde50b01e78d57cfc09947066838679a433c62936f6bf8d35e3da4c43ad7cd352aa11c07d
-TAG: 012ab097228d1bf243cb06d62fba90ed5623c4d8107ac20ebc202b9637fe155813
-TAG_LEN: 20
-
-# DIGEST: 25b40da26cc2da8afe980d0287004507d92a426d
-KEY: b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb0
-AD: 9e4d00d6172e780ab8
-CT: bf748eb6bde598154952e5d806bc09dd015e0ae9809dd3390e1625a5811283d7551e730888bda40b166ca025fb4975c4fdad3a8947f50736c1e9a6c44aa927bc67f423cd0a817358254e4b7671ba216e61ae8acc961f53e738018b52573969f05d14c3c3c6f14b18f432f01298dfc981e8b6e67214e96d882517c27bc98ac00f19c81238384774e0787b541984de83ee57162a1350ea6387b43a39bc994e8d9d911d684ff60561d618363f18adf47247986c1905
-TAG: dcf0b3096200de85e50adbfd46aac83c6411ae3c2b2a52525133f522
-TAG_LEN: 20
-
-# DIGEST: 2b6449832e28e0f08469119a61c6119ecaf747be
-KEY: 7a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d617
-AD: 2e780ab8b700433a95
-CT: b7bdc09d52c63e35f3b770c1fa574693699bbc52308d0ab251cc295c1bdc60a9d9e85317037ec3cba2814502d5bae26308bcbb1f740fd344021a41b7cb01c8ba8e3ce3304c25d56a6086d7ca6c87e3c02d166d821f16aa07af7dabb0a422c62c7cd1db4d929cb6c0257fb9919ac016d1fd7dd69b444028312714c998caf234b989892406510ce40ca2c0b0a7a00b1ac2e6dba05f3ec5ad9daad89ae3ae4edd17204dbe9c3ae2d3eda07fa8a683acbee694b5da283e092abc68
-TAG: 4c3e1fa3e7d974c449372aafdef2b9ca879df8b55ef89c
-TAG_LEN: 20
-
-# DIGEST: 4e2f1dae39e30675c6b32f427ca47ce502a02191
-KEY: 0f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b7
-AD: 00433a957a741c9eb8
-CT: f6373678f3268213ac98576dcaa25d90a8711c01360c42eccd4e0c4a25cfe0656e82e47fc3ff9e6c007d6751ac82ebafdf70f3859b9470dc56f8a191059b21301f005dc4ad600ee8e1b5592f43f15e73c21c93dfbe76ec12b3f9142464f570089d9f85dd65df2a0092cf5ada2a34657748d6cfb8985ec96a23899b1dfefc0b726272194ae7ac2b16a8ab5b1e14ddf598066a3b4e31f5701e33119f0a5e11d19f4935815a6b6d0767ea98d7b7336f2e6b9411eb6fa94dba3fa7bca18bedb4
-TAG: 3cec0bc4cdd9fe0c81bdb7f626c358c299dfe095e4043dd88ff8eee50ba9a4632779
-TAG_LEN: 20
-
-# DIGEST: 4b779331c327101cda11bbea17702561aa8a410d
-KEY: 44769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a
-AD: 741c9eb80f2b021b14
-CT: ad41dfbad76ad8377906e900dfcb0a3eda073fda5b3a873733624657da5e9fe4508b030270d7383a2cf1d5b6970c35bd330aef18219ecfe9e3bb919b2cffea524f9a7c753f1f2533687d92481430c893a42ab2ea3d2b7bb55f8f17a42434fd6aeb4322b4967038836789241aed4cfc046c542a01b2cc36e2e8a134b8e7d6ade6de03b3553acbba4af9be7a929d7f90977251d6a4e32d9fa8af9856b3398739efc3a1eaaf836dc6930e3f33aa187ad84d824d681be019c5d97ddfeaf2cafbd4e42f9797
-TAG: 260e2a135eb00fb8687694582794ab50da1b2178b7dd95d3bafec01ded
-TAG_LEN: 20
-
-# DIGEST: 708364fadfaaf52792bc2fe5bdaabcf986af7aa9
-KEY: cfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f
-AD: 2b021b1444769da00f
-CT: b091341790c5e5de9a9fc4b8c64bc9cc715772f8e6f1ac1a1b11684bad8098d024cb5418048801cb346e8fb8a48fec71c66e4d537bf7b7ed9e1123bfabb375c29179684ef9c2eabc5cecf65b0311651960b150651908460193becfd50bd18ee57f98db537105e7387aae92b7f41144c1ad6cc12be844f8e592a225138eaca3486f3db95872944fe0e692da3b9df4395aa49f8cd5f8807ba5bb20b316a33c05a190dcb3f49192fe6b1a0394fffa2439d160876e92f6390ce0ee85e7f1d4f5dfde789bf5bb677cade2
-TAG: f138d094ca086d853a64020af3b69b6bcd6ffd9425c67c1a
-TAG_LEN: 20
-
-# DIGEST: 335c241743268f08b03aa63abf9642360d22a112
-KEY: b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e7
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444
-AD: 769da00fcfab0f5f93
-CT: c0bdff9e90f0b5bb77539901d778c506cabb1f589c446154226e5cdc1bc123b3aefb12c9df23a1da0a9652e85b4b009103e39dc7312530b7ea98bcd7a60000b9eb9dbadd992f299d297d4918e84a1dc7dfcac337e82a4d718ab924e93dc22d5f57f6cf70bea55a2fd63827cda07d5ab9a85d5c2bb2ba4d3aac391d268fc3eee30574656761239a4434d05fb280310d377278ddf813656608c894d9e54ca3927b0e32ed01bd61eca0cd7b7578cdfc197a1ea5a037b2cad21845abb91699350349cd72515dc9fc00484208d330db
-TAG: 3bc4b5cef547e9a9a0c2784d55d8e626c803e03963518fbe921ed3648a848fd7485168
-TAG_LEN: 20
-
-# DIGEST: ae61ce3c2b1475f8afdfb1be68addaaeb6489356
-KEY: 5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcf
-AD: ab0f5f93b511060c9c
-CT: 4befd25f071ff621a072685e6569932405baa183e28849b056c564496cd966d8ce4b10fcaaf673f238a8d4519b9bd557dd1ad252c0bcfe158502b5fbb2a0815fb98d5480c28ffd52a717d6380750d5b015e0e02087989a2e79bffcc6866c7b1977d53adad2ed4100141c6f6673b25f17f7cc0432d852b3d65918fe8ced7a87414837c0618255ff02fc616fdfb507df8cbc8298063857b450dbe35e77045af2e91f54af1da77cde9b2a55fa901bd82c8df6cc2a6c5a15ff157ce013f6a035fc2c7983bc31fa37b0e07bdc7e22c357c6ea4f3d
-TAG: d4cfac8c3a5dc97abed99ada5ed5751c07293bb68eb6633b16c2b129138a
-TAG_LEN: 20
-
-# DIGEST: dc6621d897775dba7bacf8b7f82bac003e984b00
-KEY: 1b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d29
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b5
-AD: 11060c9c5f3aacefe6
-CT: 00b35be27f55c837a5b872b61b44832da05eb41a78dbd7d58892ef1b4f09ac96f5728810c5c04100aba6ca84b7fd30de4ba7710a606153f98691707bad0e1a810b8bd49545766055237d94094d701af245285aed50976af790a719b9fc84546636bd53ed519318fcdccbbe57473edd6830218472f56813fbb0a3ff204a5e4c7b929208753cf784f87a48adfbe1d117bb7b8e5da54ed4dfc5cade94078592f3d57463329494408ed38f4e01fd1550ecf547b2ab04bc6dffabd3cb118f02e6a3ee10b0ebd1c70457d9b8a1bd448abf7f040c72491548dada
-TAG: 57f680f498ad689d9c1018cf8f871d9f32044c7a063fad1ba8
-TAG_LEN: 20
-
-# DIGEST: d2e6d3eeb6b5565d9a407fb96c74b8b3be42e64e
-KEY: 3939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f
-AD: 3aacefe61b184ad246
-CT: 54e43d3b42420bbe8471975ba2b7daa8979824cb28f519828a0e14c38929af839f703ba6fe3d519260475a3dba7737a3129844111739b75812ab257377eb9ce32ba43909e6247a31ff2c96715f5e2fb95b533dd2e2c1434aaff5bf1edd8086fdb2a565aae5accf05c88d8f29e31c70931c52f911dae835ca0772d78b76272c8ad3f5752daa25ac1afb869a8edd572f0864210fb0d7956d2669685a5a58b2c8e9414ccb9ddfd99ab91df6691b56fe81629b38df6d3ef8fb6e19c9b2054dbc5a1296a0f07bf3e2e95a23a9e9eb8de3c732dec0a23a0bbf780c68722b36
-TAG: 7bd513a64f3479520625ed8c76f46b26b4d965802e9faed7a6e9c027fa14ac9ecad17be2
-TAG_LEN: 20
-
-# DIGEST: 238d50a0695b1f255d5b3944c623876919f9cc6f
-KEY: e97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b
-AD: 184ad2463939ed518c
-CT: ed34a3841c9afb1fe87c3accb423db53b4d0cac02fa98b282d1aef34f7870fccb9bd13501d7997be3504c58c0efce356a90623e75eb38e61aa87e36e6caea0255e6d49275264a0fce9eb96909ec669ae0fea49a6e9a906aa979af08b8fee384b1acfd7b209f2821c4416cec91b93bbaeb4c1a027fc3bb27861b97e5de853ad7ada10c3cc14fce4545d895e37584e95c72675f7c9814c73369dc9ad574b7f81c514e2305ccc95066b793df943971e30d6472797740678594b71389a1a22ea9e15a0ac4b75e59e94b9cb994bbd1b04fd938561284025d64fe2169312dc4706dc3d9b
-TAG: f9f98b88bd1affd86c169790e72fac11b217eb57f992112c1e97dbd040b51f
-TAG_LEN: 20
-
-# DIGEST: 562090fcf982854158b6068786792d26d2af3cb4
-KEY: 3d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad24639
-AD: 39ed518ce97c3fdd29
-CT: a95a94ccb2aacd93f91403b637162a7353d6c2d68d68d74a5a53afe10a093a1971a4ec84afa1d3db7c28f7ec9a521eca0b91a9802ba754ed782bc8ff89cc21564ee8b86c0de4873710f3a7a03eed0e12c6beaceb1b2dda1ec9a1b999487410aaa8dfe2c3234fd6d5dd8d6bdbfdcd5c766d3687d0b1049188cf7ebe212d201c13799a7bcdac060a5ddbe3a9f9d4c5eaeb6b067547b6cb5675f9118fba865c87188f6b530044e5d0d9278261f53df2c7ba028074abed9959830317ced6f2a4d2d13c6dc9668c1aef0737881d0fcb0df8794e65fc65c9896d2366e6506fecae7ad383b7de72e77e
-TAG: e734778db5bbd962f7609fa5deca9450fb029e83172d3f45736f
-TAG_LEN: 20
-
-# DIGEST: 0c2eff5f73e4ec6371200ea4e3ed600ca22116cf
-KEY: fdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e10
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce9
-AD: 7c3fdd293d72afc09f
-CT: 605b3d1a86af6271020d5fb07275a837c16808a7f764a31ac872d85310a473e4520a6fc58f0bde468d9e916c087603260eee24f29a6d07eb294aeb4b42924b05cd003c3b6e88b000e851de33ddaa0fdbfec7648d23b797e893fd6b8478a1afc9cc18f42b229aafd5f52e0b244e5f18c65c88fb18009e32f64e93b85bd0ff735c62781a159e6abcdd96147940ec1605b26b1acebc4bc33986ba9696fb9d6c5fe9b1122095b2982f45e6bfa30804d977e9d4a89041ef918afae83daa2f70e7d7777873b41e0f80ba3d55e24499261af10f1e0b17801ad82305a6b29b8e02413f36803bf4ff71c09db4ec2981
-TAG: ca8ebd9da270b677f95d8cf6683b67a44f53ed0f75
-TAG_LEN: 20
-
-# DIGEST: 7e81f0c3bb2f9c2073120134be9d0b1d0521989a
-KEY: 249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e8
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d
-AD: 72afc09ffdd4f41963
-CT: 60e655a80816b8ba9dcae0757f8f4ab01084748cd772bbf3c12b8b690c92b90b6a31372cebfe4b4aa961febb94942d80eced62b60e5cce3b2525231db333fb464af259ab5b1f3470d3bfa56cf68b8b859c168d8bc08917db3712da5b2a6a4e5f69f1565c967af6e6f58765ee1b410d4cdd5137489047d18cfef1b103e5021b68b7413bdfe7c698e5deb453aa62de38df9f401bebe6c466ab2451912078d2f0271c792b666f3297f6eb414fd267f61d2c1a3cb89e5e28a41a61388563a38bcb1a3412c0b770831147a1d93c0544fba45116622758e30718c3af24175ae1334dcdbe68b2b2c59fbfcfe14b1f930c56fcfa
-TAG: 7ea933ed12b8bc7e9a23c165693b0737d6467d92031b471582c3c2f60c7e815d
-TAG_LEN: 20
-
-# DIGEST: 28a454911a3ce17c0248d2f535f4073b6b092f6e
-KEY: 2e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffd
-AD: d4f41963249cd299b9
-CT: 8afe66ac7b8e1729bfb8b3263421ce64485ddb0afccc30d48934e126cf48ede99412917710eda1f62f32f2cff868abbecdcbb6861ac5a95e8f43aab4abb62dbdd2d045b3cf1c3b6f5cde94e4a55dbeb3971cc2dd96479c8c4ad3eb3a523b66410200848e8e76d2b43fc654deda360b97746904dfa48897756118678cf0b7e7547b879ec70c120d8d44e268f83d7af4adfecb6890ec6aea24e2154f51078b821057ad5081d1ac107ec3bc474e59817bd00495e148545605e41e06cf1e1527091412c130d412b083b3912d3bd0a8597b317054d0e40ff330d37ea61968261fa97b8f54893e7f61b0726ddc62ff7519305c8bd053013d
-TAG: 3a1ac32acfdb40e25247f8710102ca8c344160ac034e5c75e341f6
-TAG_LEN: 20
-
-# DIGEST: 179d0ff2661ea9bbc7a42df1b3368bd48c176a91
-KEY: c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a02
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f4196324
-AD: 9cd299b92e55ca24d8
-CT: 1ad1da12e4162e0865531e146c3c7c740068d820abb2dd3c9814614acf8cc2e250fc3586acfc96eefa1a37c5d87902ce6a4ac195f6a6f966b59bfcdbaea6f98b794287f9c8da3185eee6d6a27dd65f0404ab35238e29a70723a9c893caa348617a2ace66d23427898f75f0e52ac3dbb44a32f517320c82c845a976964c3fbfc8cf674e9a2ec4a81a32d8abc5c4474785c317723b6a2eddde810a7fbacb9a452e5e933613fec9c72b46be999e0572ddfbc600b59adc009b84617fb862bd0c170e369737d4d321cbd8942f5728147a40521baf6c70faf17d8a1b51b99938b325f1f2fe74d5e0bc7697cc6d7716e3cdeabcf0d01a208ffc9a735a2e
-TAG: cba465414b6ca6e64048d30168e6c62603338448b8ec
-TAG_LEN: 20
-
-# DIGEST: 35f3568ac38767bbb0464106b32622a101523d0f
-KEY: c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e
-AD: 55ca24d8c078c49f78
-CT: 0ac4f333b7aea61acacaadaae5fe3498598a54b3d2e5733493097cea25414b4da594075bda7d1792378090e27982f123299bfe05bbb6aa8568bdd52e11d94ec59d377ba0980b926ed03d5cfd521357f5125cdb44b3bff564fba3997c886ab0c6625395a10ffbf1baa01b93a8c297fe2d0f70ee361195ecab4a846b0a56014c003da3d4aaccc60d72ffbcab085efa19139ccb613c45d2bba0c2fbe85a980b9f5b285fd27179390d2a99e3bf09c1932753c274b1e22c6554e24e647116a2c75986d2723a5643b20be78311ffba6568c905a5ad51881e83fd886dd269503d7c5c2f2e061312f46f961248d10d23e3ffb288c43da634203cbde6c253bf9aa49865
-TAG: f9545dfb09724a1a090740b1836e45dcd6fd9e94c4b022b52421dccf0c783b0aab
-TAG_LEN: 20
-
-# DIGEST: 720ba4f4eaf71a85873c01a80fcbcea419d22ce5
-KEY: 025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a7
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c0
-AD: 78c49f78c7e713710a
-CT: 306e3f7c91d47fa6a3de3d332df7574e5821d5db45a82b54f511c0e5f474fdf0f7cb3fe630497b6c2e3f829a2bf64eb75edb64ca8d799880991132119723f0d99f7b67763b70170b82cf539aeeb130c1dcf31eabf0f0f23f6e758cda367f178ba0e8912f6f33fab716f1c11b1cc5b196e316fcca2fa669886a1ee14fbf7e8f0aa74ee9da7d7f69f646fc880e888b219c8e40a0e07f7dc02ffbd877671a6b6deac1bdb58ab312fbe0cbf597b583ed58c4858a696ffa544e9353f2742c950d682d544713df70d6da303ac80a6de1fbea21811468d715659677366f3cafeae487a1e8a4b7bfb2a14068ecab067714ad5c054baeff16d367af6612ef57577f8f72ceb534beaa
-TAG: ab24762a922af8b44879befe22c40574f58af91626859dbaeb3b7df9
-TAG_LEN: 20
-
-# DIGEST: e531dc2be28c8985a08dc53ed098457cca032116
-KEY: 1d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b38
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7
-AD: e713710a025cb8b9d7
-CT: b32e08b56e5b06463ca2fa7e91549ce7e59ef0787043cffa87fa2b7a064a88cef7e324c829f89aff1bd700720cf271957bddc392ce04306c93cfa9e00e178f067bf689c34e23d0c5b65ede2ad00f1302d1b357bb8142516c6ded22563bbb89dd4678cb9166823286c6ff22e41cca350718e2ce77881e1b15139b3e66a3ad0b400c5a41efef51437416ff81c25ce20fb6979a1e696f6794296049420497757d56af9ed00bac106932f4a70331f9238df963e3c4704a92aa8126428f464c9665a1f8005c7ac66468de208c46526ab0e075bf141022fb304a85e382b19d08972d6729362976d337416f639aad1912c3326a79e9cbf5159a50b5358af208c346ea2f9410d36d609c3f2fe8
-TAG: 3407ab0a61630a7ca92c58159c4a1c6368bc6064f084d8
-TAG_LEN: 20
-
-# DIGEST: 87828be40716e1acb0ce876660045cef3bbbda49
-KEY: e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a02
-AD: 5cb8b9d71d2989ab33
-CT: 58305048a89a282ec8bf637b4ae237fb9058dd3a717e740df06270cebd047b316edce730d8459c51f9e497e625b101617172a3a779d6a0d2e749a8fb5dc214403855219c7ac2a23023dddf4350127e17fe0fc8f7b1a542813c1282d5b9a794390d3fc7bf55758e1fccab70be4189a7d10edf46166744a64532fe59ca99c48301cfeb7ae4442ae1a4c44e82204daf9f3feaed9268ee15a7f08bc174de7cddfb1fba817cba3f33174aefe46473f829d18eac6488afecf461ea9f48173e9e17967bf4c0d7a69e6fc2dd6c3e2f112e71e09f4f69669a5d9fd94691ced1fdc5a99e47f0d7a63d264acad33c997891b7e29e80e66fe7cc9d0813864803b0b912949d15a8e751601d48f62668aa62ea4501
-TAG: d7501ee11650542f8c95135fd2a29aad03073b5f9e16b0819fc1bee06981d7df4e97
-TAG_LEN: 20
-
-# DIGEST: c413683815bcbf3858fbb654590434d5b9f1eaae
-KEY: 3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d
-AD: 2989ab33e978c4451e
-CT: 5f186db973bda7fe447606fe3416985e7ff19af8a7d35870c8c5484eaee4377af9143ee54edb9de9fe4a7599ae151b41213139e71dc40865386a28d74ce6d1dbaf9e69b63cb93f4233a63d2e598c12192f56bfa1e2cb547971b725a21c031b27e2083fd0e75f3a6bd63920965ce19ed8e8e20a1cc0c692a3b93a869b0adcfb4f106b106051177b7b5dbdf89f7ec7a43414e80d6f5efe836c722b43f70f23593abd716a3f773f6b73bb2306981e83021e4a1e501f46d1bac175306eac26b9af21b94b6ca2ea4866e7d9e9e73d54f90c7107951b275ca2bb123471223d62f34221915b1f2be0ad1a7ee88553ad753ab102604727df8ff859ccef1de1d5233f0aa9274b924090fa05fd2df999784fe2ec9a2ca0dc
-TAG: 982db2b50bcd4aac25d9a786dfba3cea0b888df28e5a99376a96f166fa
-TAG_LEN: 20
-
-# DIGEST: e55813b42aa337183d3c091b9f88f8e37832692a
-KEY: 2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e9
-AD: 78c4451e3be585a29a
-CT: 25e850730513fbb44ead76fd93f55ff6bfcff1acee2ccf9976211a91980b684151cc4aeb75d6355d3aa7d4946820781a8bcb58fb31f1d7c90845ef3a25cd7be562c5219b110bd658fc1c537ebac8241585e21a6419508983fd7739d5f26a113c9ea66139819ecf4f1fd63a163995ce066d9ad470049574091be85c41b8e96f7ab01159089c47ec90be1f656e5269af258c4dae3e5f95b0789ed23b617efe319494a678ee26e118e67c350e47807fb957c68441eca8fc0f709016c9120f82bf0fd83b0376d2db086998e0ce994454a9b89fbcfc2ceb17c8810b113b1ba1211871b528c0279aa0a09aafdc3bb69f7d37e21d762dd38cab926b3b782da291fbc6d9108ea1e50c1dd92ffae215b270219748b9380f25f20f81a4
-TAG: be8671bd469fdee372ff7df774f681fe92d685ea70ee220f
-TAG_LEN: 20
-
-# DIGEST: 013c5a98871203f5494bc2d6927d15ace1e719ea
-KEY: 1e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3b
-AD: e585a29a2af12feef7
-CT: dc8e8fe548a6402c45ccf78f6e839f61521a0c2aca5f3c352393d9b077a72a08826f47a170a28ebf098052424b76229278ad6510d3242d2370864a716e0a763d8f1dbc28955a997031a7f36f0f546af1b50cf1e74853a9cc95b1d35753caf4e71944ee0d7822e3a45225666437bc634f673f40fec822b447d631f3e49eacf0085d54d6f289f37793f9400e37ae3155fb5a8763e91612746c44b112924a34f3ac4d96f11afe2fa132214c7483698884c6814635ba2647f7f4bae78b9a0b3b291448a3c6ec9e644ae011ea9d22e66f9e3fede1be4b1edcc77ef7d76146b1746c5b5b940e4378a16cb269b910fe06d580704f5908c2475c42f8bca3684e7ce22376c7fff7ff481595c3ffa912e567289e99616625d89be4993b3a2dd5a1ee
-TAG: 67d673de806371d8e3830d4c980f83817fb21f9513cb10afa68ffccb25d85974c2d64b
-TAG_LEN: 20
-
-# DIGEST: 7f9e8085dff06dec7a2250bcc60532aedf162762
-KEY: e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a4172
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2a
-AD: f12feef71e1063b0b4
-CT: 8cc3fb65529ac15824db72dbf63c2f26627579a62019d4b136f8599aa6661f19eaea69b4a5b2a3fb48d69fd4d14c4237e31d1d4e28fe4e7c57d2c1f68c418bfe65686b5fd091e80e9eb88ca2399749e531730ba59fdcdd46cd203b6b7e997a16d0d461b2bddda388d5467eced67ebe132c80e2ff85293cfcec59c67e03c6606c986ae55e0d74678e382985d9fed8ffff01e72031051e91778a9b27db9a6819a6b2adb717985c40078ba3de1cb0409186412adda2754580c05c080ee7ead1c18e3cb578f5e70d572cd2699016fe64189666295bf78c09bff6d87c7f7a96c49272519d8766eedacdb7bb3ee39c2097fe9bbf7a15a4fed737dc0bc76a8ebe67663c38828faf5a1e88b461d8f4178ab9e6af65f8127bb0b116e68db61931ce1351e7b166
-TAG: f171bf79c8bc80bae4b6e88f15450a7cbd7f889e989c6b7edea5fa8ec727
-TAG_LEN: 20
-
-# DIGEST: 0254594a43b8c9b638cb456593750b3f8f9ada22
-KEY: 04bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e
-AD: 1063b0b4e6e8992003
-CT: 154d22b4a4e10199334fca00b50abc2eb4ceb36e3f6d672c68c285d1336ac9d94af9f7c0b642150f1066f15a4fa2a11379108c746510e1b3ab7089dbfc7d0704f6e1aaf07f9877a04fa13e241ece9382c2964e00ae2d16cec7aa97d9c5462d28c07ead215a0e57fcc0fc62c1a2a0020198ac5373f7454e8712d08811e10c7117d17d3ac028fb88675f9fb7585dd5fd4a17cb163c1f1a7550ddd9058967a8b70e6f9b049aa195a4caca88cf0eb585778b1a3d28686486c7f640e74d41dab92ae3e8f0b11c4085bcc928d658cff333cfb786b890a4f4d072d8adb2a7423670b20fedc088fd44ff5954f641179b577ec4567aa60fb836c8b6bad381a3437028f4d31afda51a56cf047812d78bb3cdbb440448ecd0bd8e7a8e409bb992f139cce33e8d9896b8d8cafc
-TAG: 9f6e0843130a7752e00e329f2062de42b275c5d215565a0dcc
-TAG_LEN: 20
-
-# DIGEST: 15059d32a3357610e64a48c19dec95d256455404
-KEY: 2a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6
-AD: e899200304bd350813
-CT: 76800b5422d1c8b76798998ce256b4e36e6b516eac77a664044c34b81f6b6733939d54cab7d104a31d14b7d0ecd87af242a3fc80cd24b86427a6d74c45cdadea04fd9a59369952e0d83e668c6b65cfb8b06c8579d95b424340e89b2c5ed6e8f41b3d59e19be86117e8b53f8757991ca8291309d17431a51296d06e9eb19c2a718c6a69c53558795d00989df9a5bdb6bc8844358b6d1d8fda0dcd648a46e6cf2c13aef90540fcbe3bc0673b41d8ddc11e2bb74c3b17a077c6d62ab7f2224aaa81271aa0ccdf997b32304ef04d0c454c227083c999f9ea14cc6c1cc440ae1ee083e1fe6e8ee07d7e7bdd0a354d6b348e0952a09bcc8a251eef9075e18ddb5db47c80890552a416722f82db26425961816149c4d091db9e749b0453b05bce02520ec585f730498ebbc32246acd9
-TAG: 0032436021675996d1a45d5d2900299b4bb90cc5e0337e922cea6cd8bfd6841125e13a19
-TAG_LEN: 20
-
-# DIGEST: df289e1d102b25ad07e98f430cdd24eef513f8d4
-KEY: c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a0
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304
-AD: bd3508132a027d1ff4
-CT: e3ee0b719f73bccab6fc848298457fddee3ccb2ea8996fa82a3f8d5e0b9eb7facad873a47c572edfce0bc537a3f1ac4cf91eb748a5856ecb419dc16e1fe9c6e28e39afa1be7ef2b579b7e477fccf61e51a942d0cec83a8229991204107dbed7267b52ee160285099e6a709372823d467ce651cdf6425178d1bc3c76c99d3932eb458745b63a2faaf87efbc338da19342d202ad4ee05e038138823144ff993bb3dde55ff0fa86d039ba7145c45336eff7ca66ef984e86cef017a9e941399dc1c8a050c17049bb0bccc1c029fb860fc68798fe2e3a27224f48728ddbd25dde87f74d63b28ec02e77bd78b22695762b91f4e79cdab886871393a5ad2ad27f3a7b07dc57b4b9168086c9d785849ed8b4307e551dd14c4bfb367869ab1526e9a32bfd0a071abb2edd065a6afafc12f0a2196952
-TAG: f79a77dbd90b461572f5481ef251477dab7c9f852589681385942ac3d00dc9
-TAG_LEN: 20
-
-# DIGEST: 3faf5b20ff66fd6583a2b62901c1ccd798c0e9eb
-KEY: 57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab6997
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a
-AD: 027d1ff4c047b3ef4f
-CT: fa6e8219de9fd33ec48f71106a0bc5299d3147b5a3205f584ae899405c8d99d544fa5104bde77c1a17f57877e81ba030707936664fdc95b1855a3303fc272001c89f9881b6e01ab7e1f788937d31a94ad005f1fade8ab5c198f5d0229a2c83b793501c96a6565d75532afe9cf50129492f6b1357d4a212b718c70ee756d530fd1f0ffbd43e41188ee565d963b90d427cca1a0473aaa382f1a72a0687522aa086219209e3881183b2cf7991b53adce8f04c56e0e7736f4584c5b08da023d94cfe5b124472ddd150091eea988ba4f026a8e7e05d0b3ff0aeeb3b443f4136b783802e8645664ca2795fc6de05783a60b24b7fe2adcbe26262aa27279376b1199600fb1bfb32b8a9f1fb03b44f8968a063f98728418ec097ffe1e75e9da32b48afe2487c48a6e1a911da4b1dd70e826fc3fcce610c12fd24
-TAG: ec0b6b4db75dd27196f54b33dc60e7a92ca82fb3faedb0641994
-TAG_LEN: 20
-
-# DIGEST: 2a1f12db7c66ef374e510b2fee81431a4902fd8d
-KEY: 4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c0
-AD: 47b3ef4f57a74706de
-CT: 803d8d67bfe35a42adf45278c408e6a76f2227192b24a6dff6c7d01de04ac2d2571e3979db68080faa58b0c6fdbbea6b9eb6e55ecf56c040739ff4d788e1dcbc01b53808c0fbbf063da5502f15cc3953faaf039cfcf16ef08c97df88212ef25f5e66e6faf1f66feb5b533a3627a59a14b1e4655056672a8212b5bd89f832c40a4b5c67bae2d19025648ecbc97da85996d52f5aa652c2ab0d8f6b96898f87f34ea090b311d1c3e519fb513f989f9338b54e7ef5bccd076e4f16c17516ead02c75d108d2e7c3bbc6187592ab2b2dbbc8c4797bc65950fb67be129dc86f9f6fbea8f78109b05a113b5b318848ad5b1e2a91b76263c275a4b6026e89f06ef7fefc1b105e6dad0823461af8be8d6e7abaa911f98aaf61357093189eff0fab83832367ec42a6742ce7c6b0f516bc4d5c9bde79da59fe0f1be3565e48e5b2
-TAG: 742a97166f515983dd839a6f3bb6a0d92702a6520b
-TAG_LEN: 20
-
-# DIGEST: 524f8d38ff527d6ba89c51265f6a55211a443a04
-KEY: f164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57
-AD: a74706de4b381c692e
-CT: c712fd90ed4cdc005e86c2787e247e358d72847974137a0764992010db9420563a3fbfd7dcc1193f80b5a07ce846a6dbe6c43315eacef7fe26f414ece76b711e92425ceafaa408ab834235f325a54465a2105a82f0a36970b6512330567fa4d408c47aea6ca694ef66f6c5406773990463c79dfeec84da60a56c8e142aaf5a36a8fe6cac983fc8b7ffb289a77b979fdb4cb33d1370e2c80f623471160cb10c6cfec048de7c138d2b0ec74fdd14123b6c35edabcc7234a70cd63d5d571ee3a3e8db71c67be5a466455ecd1b40e90415c0128f7211817cb40d40d746b5e02d95346e8855e3313ceed8064c778a1cc671b3f655c45a21995888318be9ce3ca712c6299ecee3c972ce8e972b26e69f91ae98aa251d9cc047f7be5a7cf4442ff3c3842de17fdfab8b714b49b9d86e7940299a7381c8344e3c2ab116912758d398b14d
-TAG: 0bd7fc8b827e03373eeab446f9e802d10ae6a6646240821bb59b154b0e0b44be
-TAG_LEN: 20
-
-# DIGEST: b50c58268b989fac3ad8f6d25a401211ddc5cef4
-KEY: b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b
-AD: 381c692ef164101b89
-CT: e44230b5eb0d9d7f9893d444866694911cb7ba6e4bd4133f9b2ddfae8e1e9a968e130c5c606c2102ca8ab58751060aa1209ae64cf9595d0cc993667f14d88a2f33a071bf7c81487d0d5fe5a4c24adb662079a3d1bc542cc8a996e6e43a767e23579d50caedea812400fd64a6968f37021f8b082d269af1c3c152b22a54730f3c2408813b39af7b8f6ed29d0df502900f3f7b7fae51ceca9bfdba2c651cd413d7e288632c739d045e253a2893e517352e69ce40da3a9493d3ba8478833d7b7b0d62e6503ffa83154163f0089173b381e4d38575fe9ee745a060eb1fd923387b6180ccb1d1f73f4b2d9f07ad597423442789cebd984d3e466d391389da356476ebd15c3f8cd6eb149bd1f3e266cf02688f923094352ba0870fba92dec5769707c04ae089884e3796da437c964980d4ce97a88f87ebfad4388b3276576f16e20877d5e25e7c02
-TAG: 2de687eb88e7198afb9aaa778428724803d0200fd2c2aa5e56a737
-TAG_LEN: 20
-
-# DIGEST: 7337152aba55f41574aac9d678dedcf895a1fd7c
-KEY: f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef1
-AD: 64101b89b476f72b27
-CT: 26a204d8d3a7d792195e9d29788789c4c5813f73a3f72a39a8ab0584aa7654ded987429bd3e7aa49dea71e5ee220ce4a82b04108965b5f64c749133e8b1c5544e46d1ffb2b8f11fdb760546d1d53ebb6d6ef9444805a388b19dd032408d564cf37c7f54495a83576f555e0fa4fb9ff1d285c0ece6f5bea86e50f40e2804337f1c4d1236f6447c8100764c12c458571f0950b1a516070a106f94148f9df78ef1d1550fad379185fb025553a2632be51af3d41498d431b69717f64f99bf3ed9420b1903a43eadfbf27af1e7d9a91e8799ee36b19d61c77d4939a6b60d6239cba57329d480c4815089bbbac2bbaba566f72b8dbab821e5ca41c5305366ad6818261042952703683360c740f719909239118e108b7ca9804a1c05248479b7d25bbd94ad5eededadd302d11d7bfeed257bd3f842e63649e6a038f5c8352b9330410c58ec1dfa8c6e1b5241832
-TAG: aac6841bc5f387bfbb0821df47f87c7cc2819e7c6479
-TAG_LEN: 20
-
-# DIGEST: 6578de87f977f4cd4c5d6dd6f6f99daa338ceef4
-KEY: 67cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb105
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b4
-AD: 76f72b27f06f520c92
-CT: 79c9e7f23613ad4f5a4481634c0be510c6399c7ff4d840286b3239f8d6b819caa0c4e7b3768e4e91db4d9d6a191debac42f5f80d84c7857947f8a38dfd16f73b107cac3e128e501daa710824df1a4c56b5796630fbb5445cba50d676e192c47f2d9becb1de53c4ad0de8fab0ea04737f9a43b9636cdc75cb2327c5866d2058fe905e48ccb1996e4ceba984a077bbbe717039d8cb85c6c7ffe51d2301b527dab0ef517fa26035aaa8797710b7c614f56a0d2d342c29e482845e5829a75db3331ddff5e7f5a6b5778e129c05dc0a49a7409d68fac05c2977069ef951fd4f337455c5ff94dbb225ceaeaa51de287095b8760a81cc037ca3f13bcf31cb5d66a812abf4b3063391f0139086e4761567e0cdfee7c94758be99b023fa2351a88a050c5b9ab057129a5eccda057a60971cc8d5809becca6dc6eb500ca622281972c77746384343025bbba46c0471d812f5e580
-TAG: 2d95a34cab0f45e2ae5c2a4991f5c55a3f956a8e64e5d3eddd0cac64c7c7192633
-TAG_LEN: 20
-
-# DIGEST: 38dda49f961e8d18556e2f4cc30812a7e17d827a
-KEY: 41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f0
-AD: 6f520c9267cf71408a
-CT: b9a705ae374d3307c38dbe85075b03fd87684950b301553906633f02b82494149b0ba8b85992ebe95d4ca941851ff043ac8de57c4f7214029b862b870a9058fe41fb26ab7d8cf09a03330516d4364c7b47a3ecc37b341be35ed862c839cba7ecd9f629aa78ea2d6f139c050abbafc46e3ee0a61643f83ff9eaf261217764d5e4182c2c7435cc74a2d880a9d9c94397855b05270f27147cfbe976edae6a5c98579e34bdf987efce69ce87d498c280556e8cf46ea0803449b38659ccafb449dc7302412535ef31d4727b9ca780b50060a1c72d5c71b5ff4aeb9e0f4c3fcdf2e5f020e96ba88d61f6f5fc29acaa130c3897b0fce71b67daba9510aa737ea8f039c2effcd1f6742bf1d807a37d556e22e16d6759a456a5fb80f1cd259e0c40aade69291e4dc1a1281f91817662e56a6e8a30f6008d2db2ecd648e8983de55a61c25a673134e3fd27d17c367362759169cfd62b614b22
-TAG: 89805ead2c54051f6c8ae48d7b6b04ce4d2b4d6e1f46ba739f2d0499
-TAG_LEN: 20
-
-# DIGEST: 9a4462e5c302d0657a599d31a78f3581e4b1684b
-KEY: 877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267
-AD: cf71408a41729bacb5
-CT: 7e3cccab056aeacc8baacb254b7363b1b8f29b89616ff1e085d9549a3b7c4ed3c08b5ff539a656f0b6a08af40359dee39011cddaea181aab7ff8bf02040db0fd37cf78e1bb1fcbf2ad7db294b1a52534ad088b6466c15fdca345f500581982c8c8d6468c4f65a5d03dc8ae337279605b883140b1c6c5c996c7b70b6c56efa01d8690e1aba0f5f2311bef4b9ad10eb41aef328064bc80a4e1a934dd08039e989fa8db790629109bc86b7e9124e39a160d3b4c89c14fb94ac44fd3fa07ee6de892c022eb36e486342192f1b4ae79661f3eab3ff565a455c3df19192828d9f15fd5cbef0e45afc2a9d46efefe037534e82fb015da8db17da9ab80d40e3f1544a40b83cf8767e1882e5520ef46f73b7a7d0e1574e0d176e2335ee6b8d4b9d75712f51259c5fa9f260b2d8ffc3b307c592252f97524b4a80bb388531b1aa8c7359b805c04d42924bbc4225720ed67c1776d969cb920aa221821f952
-TAG: 7a4cdf2e2f6b4cff873227806611c39e755d6f4507cd3d
-TAG_LEN: 20
-
-# DIGEST: c96066fba6ca75beaddcbf7b6bf1b43b2a7b6353
-KEY: fa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41
-AD: 729bacb5877e72cdfc
-CT: b55e0f831a669d23feb4e6bdb8ab31374cc15f40f3687e7f0ac46e5e2326204ae0a6c3fcffac2dd19655cbfd9b8c61f07857d59c7cead206bd572fd16801fe0db5ac9f6253eb1e74ffd8c628572fd831aa19e3a231be4f8b1a03405832046c2135113a7ddb93fd850cde55be920e977eace1e3dc9d850c0766084ffef0e5328d10e621b5dc3a1845546ada5e1b230722bb167fbf6639f26de5908d08a02ce5aed467d342bc784226df88844f4c888d0f1b1952d54304d987661f4e05c77cb064055551e2e50f48c36e16edd9406fc35da6b7decad304405ba7549882e960a87d72631aed385cab4454bf59cee68352db32e19bcf4912160a500c27da10ec5760aad09bd109c528f67f67dbcf9de8814f940329ea7bf50e1a47ca7bc9a2e62f229f00952360dd4709a6543d49ce92f4427f00a94c7c8def47b633af2bff6954e7550728b0498deaa007ad865e4320ae07ad22fd61653101bc28161ecc5e9e
-TAG: 00f0f37ece30523a61246bff093210fc0abb7b0b62a9fec2232f804365f467e5563f
-TAG_LEN: 20
-
-# DIGEST: 0cd3dccc73f4bbfcc3c62b4638bcca5a633a2b37
-KEY: 07a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d50
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb587
-AD: 7e72cdfcfa76aed067
-CT: e3a075fa77212e9872278a3feeb1b4f9be63d2a3425f3572a205ad8f9241eb15421a53cfd667bd97100178882832b6c4c0ab87d277bfb2e1ca355516787427fdf34b05b88008aa0a7539c8055941af184e70bc596f7d9a09a3671241f8684dbf076fd38f16fb8d209f43bab026562a74d49cb8b02c0ce252b16957fd09e8fd979fdf00e0d4ff0921f36d87c7f011b214ce6938168933d9038ebb5e06d78fce4409e8e1ce6bdfd0cc836552ae524b0f02938fcdb6e43c373f5e0b60f9678ee788ba6c453377942de41730e83191c0db43b3779d1381a31fc5bccdadb04aaf2970f281d5c5953faba0e8a7ccbb5f9b7cb59bc252d1c09c2ab0f72740c82ebca6e4fbdeeb0a395d9261fd3a33ccc90b35b6b58a77b8d6cd67dbd09bd256268aa57122bd1606267da63e0a4c2f5237716d8b705d0e259d2b3ee4469d97e05f44891dba51f6c8583fbfeed8de18389afba0f7448ee132978632e3a66933ade488ea8c0ba864
-TAG: e0a9e21d18caedfe14d5fecc7a9200f91211c4b111840076f5b76b2900
-TAG_LEN: 20
-
-# DIGEST: 61f7a437ed58c4d0c66997aeed34757d4f36926f
-KEY: 699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa
-AD: 76aed06707a07c3dab
-CT: 6319f0bebd865b4cb2dc2f5a4260831fe1c1dbec9881ae34dd981ced02c024a599b934f3605e49799080ff83c0a463517be7ec06bf3f85ff42e9283208dbe38090d735c59a879ee558833a9f1cbf51d39718d74d09bfda726bad568c06792c44c9108f8b7ac7602dd3f6cc0369a0a4c13e88f6e2f3be45c6e7f38da0c08f6b6d74187f4f3c422b58b12116ede6c8ab6781f3fe5388bb98fb1ccaa0c7482d5b2455f9910a47e39371795c037e22f5ab113e9e160518d2a8cd406af416bb59de06e062d340f32d0eb2b10673bda6e151c09e5c2011b39d7f850b972d4db419973268fe7bbbe8898c43c09bcf75bd8dbccffbb9b13c032084f0f0ff57ceac4f8e92a588862c271bf1df0fad32ca8f6552a11317c683accba791afe33c13b5ac2513a0b51fc484f1dac9b6971fe7077f484bd9669d92d6e0f0acb2f005722800590951bad06fad379af6b36ab18aa5cc2dd50d02c57fa7ffbf54497faf041b123c695ee831bc039761cf
-TAG: 33e8e10d32dfc35deb4fe29345ea8a3a55bfc78a55b0c95d
-TAG_LEN: 20
-
-# DIGEST: 9b062a7f63d081bc4fbb8cf13db57ffdb7d113bc
-KEY: 2eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707
-AD: a07c3dab699719fe88
-CT: 128223f1076a84eba1348c8d2b2d7c01a760817c24e89f27a262474add983297dea63ad25139f2607bf194a8d44cd6a542486a81c35bbfca64ee3181230684c33daa5f1e7e32e3cb441225a1fa40d2baa75151324f1237fd8af7216ed9e8c1e93a0eb1c1f08ca71c69fd5792c6eac47a13f2faefe615b6f89dae0a1eb830248c83d6426c8638877cd44753e40ce05ee149afbb98b0cfa97ecdce28eecf0a22a90388b0496d6fb8c7aea5ee951e8c8926323bf2ce35c3cd9ffa75dfae779615951dc037784037d51c342d8a9916ac5f0d61fb1d44367b14a06de96bc820ba07b4a2f2b7057b889cc174d5a50744670d1b4d06536b81c804e44e26dc816345df9da27a1602137ba223ef693d7e3b27de924088f7c871ce4d1795f45bf0b2592d4f8c264a50df66ed1d761fcac9e4920b73085bd3b25a93f39b2f6b64a4e5a81a8f7ccb4d5adacfa28e9a046b62306dce758b03177b126977bc178a59bf0d974a0114464c0c1ee8ce042414886b8d
-TAG: bff0d714fb5097c16c208b4fe6d99feb1062b39b2bfed2dce3aae0aa8344ec7f88c39e
-TAG_LEN: 20
-
-# DIGEST: ee4812a7dc3e037844fd9c35770734168c4ce2ce
-KEY: ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab69
-AD: 9719fe882eee2fee55
-CT: 942972c32cc84a252ce6188065ea54e7f607b3042b98d8ae9fe723a01fa60995eb2da39844ac491750df99510dd46d5d9d212de3d507be8e5f8ad196117fa1ed8224e3cea3630a08955fef38a94b9aa402d5c4a88702d72bee078ab8d5a9e4ac5be9b741fb0e9bad9293e1fa4e5f78bf8839abda0393ef14d0ce299cb913dcd2cd3407cfa816bde8ba892d20699cc2e52d52a0c90eef4f106cb93df5910423c5aec6d02ea502c85445771eb7b3c2a196fc729b1108e6596e502de1ec94a5481dfd78272586a3b30a28e759514de18f883eb657072483c49f3a4189c0ef5e4b7d442a66bf8f2c49753a3072094e3edd8ea99642a3a4b477e36c3fc7075931c8abe234d30ed9e54d971ab4d8c1331a157817f3222db9bcedea9040d937d454de48a854623ad459721aac92e71f27f5c816d236822f4afd01b1cfff9e7b58ac33a8c4586bf6ca4a9ae4cddf73f42c5b9baecb5b4b50db930144a32c6a47fbd3044258b8e770b3089ff8dbb5b8376181872b3b1f
-TAG: 11fe16dc475016b3a51ce69e3b95e1e41659c9ba74e4af26eb2489763771
-TAG_LEN: 20
-
-# DIGEST: 4209b9f203b29926176f7d54ae89ce7e903009cf
-KEY: 870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882e
-AD: ee2fee55ed8b11534c
-CT: f8f1c7527108ea4c0d6a7df691008cb6b9afb3cb3a059e68f291118d1f648ea03ce9694bbaf8bc74758253ed94fbc8e0b0c3942af881ea659a0a8ab72f8db73e76d817752779390b2ae398edcb88f115090bd226d1ffe0f691163e54c59b6d7a513183184304c2e2c1da41226062a1a07dcd1bbbec218a8a41c77f11f93c367fa1f1de8ae88c843f65015613b54f7e9ab76c409045ec301525b40393c956bf93ed409457e332e1719d1d8d5e921e7ec1507174c78a65ea33eec1bf8b569cd6a963dda00aa9769f851eb669474d9cc562e4f47ed0650eb07b3d6eaec76b9dc2b5475b737b27f65c6bd2b22f3abc04b4c5f7329c407c897986f59b55148cf89e94be3b608f55374b404e4f24547a74457595cd39b4636ec19e3b21ff45b4787322ec175407ec64bc8dfd817a086b746f7f35085f2b4fc961ca7a8861c5d05b13df7eaa208e45284aae89a47583847f3d157337bd4c9a27c5d5a4baf251d9067beb5d64f677edd31001493a55e3af990b9e5efe53e3efc14d
-TAG: 2c7ef037b97898f79743cc6849ad7a062464196d8cdadddd62
-TAG_LEN: 20
-
-# DIGEST: ef5c6927cf43e0994fe5d8e87aeee052b6828289
-KEY: 14bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee585777
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed
-AD: 8b11534c870dc695b8
-CT: ccf04e624b835dd92156603e3b69810c38f25f63a09025b8ee7fa83538ebdf8fcf77de4f7d42030f8f1f0f86306092bb4d820d31a3204b182dc67af9ea900cd10d4a336a8089c7270b3fdbf9af1227ca0e0df6fedd7e49568f952c0b3948c96e2b80b9874a2511d2284b8533ff3ea02aaafa5b485cc0c932242e1b5e0733d1de3e1d42b797fc734d6f8f5d2dfa61c770723f85701656cf21c096c982c7408cddfbffea583e641b7cdd962fa3a0b6d21203548d4c4bc6b7d216d152e3a4aeb3e14b41eca61187becd9592004ff3129e400ee08ef2dc24c3f9e2e335582274cedfc957e64c17b59179126147760bb03f9f0f5ad741adb96850f3eb4ff687edbce048c1c1f30fd7a1f487c99ac407858e3974462baf435591b8d5757ef3ad60a208d7e9d3ec1fa6f60e668d3e2b6a801e42463e16ec9c5c3b70b03e22f2b8fd9d83bc3d51a3c45424f169e22c4d50f2e8012fdd6911933dd182edcd916a18ffc9de98bb69bd7400287590a944ac0d8c7565751ec8709fda693033e6ddc9
-TAG: d2e91440af8fc4fa60e00d13eff7851c4037095661e0abde170cfa05e1f4d4ac9db34b94
-TAG_LEN: 20
-
-# DIGEST: f239c330cddd57a5e88e777c848cd66e508bbac0
-KEY: b1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c87
-AD: 0dc695b814bdf1a87b
-CT: 49c21170700ee18f3361ccb378ee5f2882494ded0fb841b2e5b6eb496247cefeca919920d50d51e837186372183cc4c20b7cda4c7efc05aa3d2ae4db38dd91856cc7125879348faa22cd4f9f2c9772b0f0ab44b6084ddeda17f7125c12a11caeb1dc1295af3c652fb9942d4f72a8f5ee5d9d45b1389ac8e54a7cdde5937fa6108bcab1905f5a0a22898f9884961bf2cc146a417f931dc3ea91a9e59905d94816ca1b43f6b9762357e1a4ba972e8b4129f93cd50d0cca773b97830f7d180585e3e547bb7a28ec65b7604cba0638cde0fec588481c01ca223732200a96f50260584995731a2ec0cab84b7dde25c088f29f17b7106e30f60ce18d979d1371914fea038afa4a4c7ae1200acb7dced53bff9a10083b4c5f47e0ae51637bb610092014e1279b6388c422d53a21635d171e46463dc033f7a56c7a73766ce8ab24295995e66b5ab966711294355f5028c12ec777c449ff2affe39a00bc038b2f2603b461e6416387da9f860c42e8644532cd2deaea9fd5ce637117819fd8a679f8787048cf
-TAG: 86b84f7b8024dd69693bd1cf222f1b5c2f697a51ab2bd51b514cdcf7e486c7
-TAG_LEN: 20
-
-# DIGEST: 7384b8e3650297f0e51d9a8f76de34eaa4bc9fcd
-KEY: a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814
-AD: bdf1a87bb1052c6755
-CT: a0ffd519afcbe9b82a13cab3dab68f94a29edb808186510d76b6d39529eaaef3aa5a609370abf26af8f312bc6508c3bdde15e1493790f081eae48482cf667e42fc88a58b97772a05eab5dca063fda2beabe878c00558591bd7edc62aca4260ead112a6b0f2fbc971ba74867279e6b806986475be83bc9a3bfccc93948334f78088d82fc43562e4149539c503f0b81f4f09af31400101670d5eea77ac41f6321b13f999b10797e0c87ce64ea0ae30949097ae9ad16c3467e6cd7cd020fac6d175735eab6397803fd4afac03be5aea1ed4db1f0a1d17db9f9ac5bd6deaf2d3e1eca9f61e3878c84f933b9c90937b0e3c0ba5f5fd138ea21f80d69c2675f1764295171a4a40b330b5caca13ca4f0e1627dffb6c829d378f4ec8828ac316343d777ca0504faafa9d604157cdbd37a439865ee701b34b2699e48a6d8a697b931989d925704123659b083c221541f8df159b472abb6fd054a151656f522348cacaafe7e088733baa4c4baa6ffe4b52b0b0be9a39b3f141ede7455c9f509ed7dcf5b95cc5fb4bc5fc91
-TAG: 8a76b24dc44d7beca38c905411e47c28807e52a67603bcd3fd43
-TAG_LEN: 20
-
-# DIGEST: dab0914dde7a8845203fb78f9b0af41ce550adf8
-KEY: 095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1
-AD: 052c6755a7a116bfc9
-CT: a34b32667725ca007a6d17ee2884aa65002018a80050b6947c4b25d989205a1cbffaa44f4605347d3e49ceb4252b2c01fe37795350671266d571d813af732cdac9c91cfe462c7efa64150194b6e646b792e7dbde75fe4ae2275ce22957484b9c063f5a9c05877d32b809b8550240c0c68b9715032595fdcb354459cf0fcb3ebd863d93afc1d3371857091da669d235fde1060f81f62740812edfa67c5ed5a16d0d39b5318b88a000a8653c8bde809f18cfb9295d79c5a3a5d8431887e36bc67371744bacff3da434c16383acc99e7a79713641f58329ecf7f7f82682facdd44dc603a57bc4e2b8ba762fe3c9acf99eb36c0573bbed96b8ee90654b8dff7a0175f30b043fc5112341e38bbd7d38cb2677dcbd1616502e5bc8a194d1eee74e7d0f46d49fbb613f5b03370fdded59ee658f44aaa0b9428b9d75bc8168924b58ab0cee0ab0491c42b70036de73441008c962315f81a19915123da47f774e530803f9b2f3bc01aab752fcf566adb133d3e12c536a09df14bebc4d12aa62871d1cb35c2842e089e8357659b63c29
-TAG: faff397394b96c420778054db3b9288c80200a843c
-TAG_LEN: 20
-
-# DIGEST: b139e0011fe2e768284091a4f838f86fea1e4a7a
-KEY: d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf78
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7
-AD: a116bfc9095da49db3
-CT: 738c00b73914a5aef2d755f650917418ba836583ff2acd6844f68e26cf90b18b2c63308020bef9b4b82b6cb1744510bdbda4491853f56d841b5457d50ec175691bb3dd9f2d209cf956edc949c65a624996c9cfdd31b6301dd7d7aef584497117662ae87aeb21866d02607d36d8f1ccc67b5f04581a7daa36f86f3aa469c06be6a2718d3f366dd4bb25c8917b3e225e0eaa2a06208a975b4fa1de731062cd3cb1d26773f256338eb3b815091a7f575a146e2ffd7c539be1b5e08d6e62543325f19d078dfe32dd03ec6b1ec1e6fa5534dc5dfb1b19880a4bc7a932d1e1341970a878cd095502d69402eacd321451f587c627811d0f3cd282d0a58de10a645c11266bc87a89d554325afc3a0d406bf458c4a74a24e10be233a2cce31568ccaa1ab33b3a707e68c38403a4cc1887a5304be4c87aa3cb694f6d8bed8b6261cbb98bbe86ae71a17cef2c23503589c9bbc4d90fb163680aa0ede951d4d2b003aa2ad6f0723ac9820e5b84e3754cc06a7b5ae8ceb38740044be456b2b41442de186a2e51d4ac9dfddcb00f480f8f55f268741c5f
-TAG: c90a977f412c2e79e8d8d0d0b2101592f196dcbb2053ddf16bdb149f77056551
-TAG_LEN: 20
-
-# DIGEST: b338ffac4bbf3a2e41fd1b3b6d9d224d4263b547
-KEY: 5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc909
-AD: 5da49db3d71f4b975c
-CT: 917ccae5a4490cb239366ba41e15f1e1f31eb70a30002ad8312f24aa1f261ce4e6685891d3c71eb97ffd9fd26efa2e9d0976f5d2433806a03065464ad01c2791042f2f516be040644aa1507f8ab025c79511253cd82697cc32c319c4d85b701cf18550222403dc417aae5564ce35e42594534818342a46035a3005471d986e212de8e751cc926a15e58f26d991564922a410f491620781642f07a40ae1259162bcd954a05e69b3b0de1b543e510957cd1ca34958f810177d713c1a4a7d2a033f0b10c2bd3bc161e75566a46877a77d9c8a1e8714048438efbc2bf030928d53c5864593400f0c926e6931b9277dda4e8de45abed0df2fe0fe9ee0d932c13b7bfab02568eae46a68a4d3e9edc479a26686c839b1b5fc1d04e82580eeaf4818267cc15ef419fedc26d83f8c7f43a7a25af6cbf1ed3a2cc5d607e0ed89b092ff7f8b840a6dd98320640c824cf4a88af6b5d66efba3e0d166aeca3a1e27ddea006473a47e3559c8d15f09228c85edd16fb62f462d5d4a9527fd1038cb498aa9951bf53f5faed1c22ceb2485f19c0c98441f7398ee523a67
-TAG: c1fd929bcc38abe3d945ebe0ab943403c42145667715e44781193f
-TAG_LEN: 20
-
-# DIGEST: c9dc1fbf134470bd3ac0d9855918516e5b8d8778
-KEY: 22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d7
-AD: 1f4b975c5d503f478b
-CT: 17a9508234ec1c8f49210531da64cea6fa25f599dd8546e8eb23f45f056c60cc44309a9a7372b0f01395ba0c74cba680204d81515885cc0168ad44e07e76ff2f110c71eaf79f04b0f21a5385e2ba8d0ae5e2ecdea8b34d45c15fab0157069cfd273c62a749c6b0b5958a4e3695ce6f6e4781583a8b6a8e21bdd84fc90307e0b40c546bde6be01ad9af4c5b26f06f206fb262778349c20478e41cd0e426abc2fdeec5c3ee9eca534fdeacd7989463896478673258b3e77458d4609967b7b395c2be6a2e6715d92ad299cc36ebf23f2c1e78f7d568571b29b6f1198aa96ab10063fea3562ce8dc6efe1d940630b7c5ab5504776d41da740407df7439de25b3ffc03f988fbd6263ee63d7727b8aea8b01ac60f7470bacb7e997bbe625f1a4f05b790bfaeae6803c8a399becb9bae37821b9d266c706326cc19d06dfd47b4498b536ce0e521087d61e212ee07931ed4eaff00445eb3d38f9953b7938e0c0c4626f4eda3e329c22593235a1f52ee24cd5ac8b3b442b59e1f21332ddcc81eadc6969eabe9be90ec54192f87cbb500092af496ddcafaa961d543ff56c42
-TAG: daf06f34019aaf45018f9fc89d88a2b540bd68c21e18
-TAG_LEN: 20
-
-# DIGEST: a551ad393bcdeb8c1bb1a4a70e367b069ec549c7
-KEY: e6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d
-AD: 503f478b22dc8253be
-CT: e56d450c090f228798e8614ec86041b3d6a064c8da667a9c81ff7def573082e051d09807f92cf74ec5c193cda867b4f369d712374e8403b42aae4a42e06885ad3e2ac81f5e768cc320f8cbd420256f7d603afec7554bfda909ab7c7ea80d4517bffa5f21dd616bde564066e2ced03837586ab364eca65b04a083823af15243564f00737697050604c28842f1e4545fa5a28ee86cfbb8b8adfa24ebcfa04028d3a0b9a42601a2358d83a6135f07647921fece532b7fc6bf13b6f3c8bbb6afb5fed1d65ef501a6584f31cab0251046993754f5a8aa63fed71b9060c0794d04820c3fc6b35ffe321da325fc66f320195c94cc1554f0c1f87e293c2afa4810734ece8d71678690e984dac197c60053fcff2ee752c749ae8b7d77bff8e37fc9a44c86cb4c4e0503813406aa206dfd85856f1402369aabaa19c7ded53af990bd62be4bf6b7617042274223cd4d96de406dc35c5757bb0b66c2f8de0cb77abc0e2a9840830e2c19fda54b1e66ee75e7f13072f5f9b16e75b76d829bbc38325c5fc3fa4d97887539ff935268a92cfb0176844eba3e2a88357ac1550c672300c6644a54
-TAG: f1851aedaa1a5e025da1186450b46c0ea8a53b669bd45c0f85f85942992227610b
-TAG_LEN: 20
-
-# DIGEST: 45b1d26c62717ec46530a565c9e11c18206bab29
-KEY: 307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22
-AD: dc8253bee6fd1b174c
-CT: f1eedcdfbfcc756cda733cdb5abb1d5c65fc83e3493ad57cdaeac2d0bc2019003af3df605d8ad531ddc332391fcb89c18e40054c70522719717565e739d04e301d03653b4c24359d4750acb34adf65cb69e541d12b7b4f9e3ead269f813b1ead7f478a0c715905422647437416f2acc1cf08293562b1d25ed8ede56c76698a12acdff235ae3229eb4398bf9fc4fdc0a9bec6a2b414df01575b71a6ac0132d0d41f21e2e54bcd20b62dd4dc1d49cf08d62696e97789ab47d399a73020e72b630b5f6df6bd145e3b7ecd1327acfb02d054176bdcce4f4a6d2148f47e3d0c7920e89f5cf6c2430dc3d83c5a66029c6623ff8da0acee26fb0260e932220e97e33aad185ed958f7521fc1759a52c21518bab27c6983d8d552ff6b8f763e335e7b174b44ffdad689c688b2f8698ee99cc11fd80d8ec61cf55260f7d4c2d1de9b714d3f4807a23e7a2c76c6f0da094b8f8ec58f65ff2b36bea220dbf3f9de860ab3c920366c9b3dda95de87b25b071a4f7ce4e1b7c2f8336b0b529c26cd3133b0b27e86b771200d1b32f1add46637c3e0fada0d95c21bd68be7353ed6ca164efad44314cf933eaa
-TAG: a39e10e35ed1b516cd7c0e0048dde3773b27696a37cdd282414025cd
-TAG_LEN: 20
-
-# DIGEST: aa7cb8f1b995ca51405931f1d021ef30a5b0eb3d
-KEY: abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6
-AD: fd1b174c307f01be95
-CT: ea3065eff1aabc0f0109b530efbce516fb8cd620c0a00dd68755215b59786badb0639e81a5b42b72c63dffd53f3ee32aa3d25d4892c432f2c8cbe0adf614535698ac030557ff820705b06143098f070d5c35eb8b9f04a0f7cd7591708495ec355f194d12e1609a0217d574950797f14f539f0b7f8ea436f723a01e5f876c19e589a021904b6f76521a9481339d10cfdbcafb02d3f6dd7a9a05600f76a1163e14227ce99f11abdee90c22e529bbee7d529c5836196b5a30849c5b77790bb33e352b716473013e85bdd13a6fd191a19281b133cc0c43e758b710c314bdba5ad1e9e1634089e2968a2bab1a2341e95295f3c6665bca1ab6807e56741e9055f9ac63daba7b0843283bfb7fbf3a5556be03dd48324eefa4791d28f5e9817cf366dc1334946c1daa6be561634d321ad2e1b9fd0b12e7c22757b52d3939b425ca6b7daa7813cc4ba15f5dcfb3947870be86d777f80aae58145c5d1e93e29e9a857dafa7808eeccdda2fe45c0639db30da5a6f62563ddab3cca6286a2588f91cbb40e07dc460a495cec7a5dbbfc23dec43ac6a754c6ffb4f9785fd4d405aa8de3460ea01e306e221478cddbd42
-TAG: 851bffda466e51bce176e5f1ac15125651126f24400e0a
-TAG_LEN: 20
-
-# DIGEST: bdbd450e5d302436cffcae83ca3a444c0253a85c
-KEY: 57772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f9823
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c30
-AD: 7f01be95abaa9bee58
-CT: f656eca05d6825e75936e7ab5b6cf591e15e0c7f8b930713242119afc813032f448a9260afbfce9e153337013709b90b642835a458be2a634cb8bea24add0b3ef14f18061893d8332bf341f8336d9a32d67e5be51a37595b5b3e3235fcd53edd8297415c0307a76de6cfe8f771736bbea29d2e359cdc433f08d8f2fc1bffe6da9f93965c527284d95e5b4b1ee4ecb3155cbf04098279185f5c8c4b8b257b0903a732f725f656d7a1ed83a9b8b4424e9569d9f10376cd9f8ef6314190031a4d84895de0c1b95421b875aab2e9b105578a674cda20656229e1467a8a77feef112ab60f0f0ae97e06529701da1f35c92729e39294fb0a020bac4312ca618183652c1aedcb5606d57cde32510d2b056b4dc1f8f36d5fd7156eb1b9cd46a1ba6ffe630a9b1bc0bb4eccd252ef5eeaa1fac39e26d0f404901ad02bedf6e058b3fcf053085318bbf5cfb358ff8b89739db2032ddd255893b3ba1d86a2b7877e72eb73fe41d1e526f6c1d5fe4cb4c0978e8503325ab0b516cd418a185f21dcddd3a788ff5cd9cbbf4834b1d15544d933437e27c807124d6ff069a7a5436c3cc90c2c9a3cfcfe40785cc11c900f76a00d99eb
-TAG: 9d0d2fd07587eb01c9739bdbcfefa20435b01d8be195bd3dedc3e8b6396e54c95f31
-TAG_LEN: 20
-
-# DIGEST: af3f40d07667dc7e32a1fa664c6f5503c3e2c8f1
-KEY: a4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95ab
-AD: aa9bee5857772305da
-CT: ea8673a09898576733b3c3adacdd7e1f6f78b33df73c93543c531279172edc2011fd36c7cbf37645ca5e02f08bbbc23e63eea341374b7321afd810376c8086d8dd4a62101e113c3b5961d7e9bf140731963aa62f41526436e1c90dc838e83472882cbd7bfc33ac02298e5d8c2371ecdd2e50570c5a3171a3ad96d9b680bc59cc7f98ad96d51a4174138d0f6d11e46fe271d78755a809d91fd30380e600a4bf89e69660dba2fb38dfd600bd77317f25da06cb099b29186facb68dc2c8609b6f7bae3fa2ce89c3005010593d5014652994655233958716384e0b1da5845a6a84baa3aef8378178964cca583fed12edf52ad6a6937a64b726cceecb2362b7d9d60b1e7bc685c8160e6c18b37875e3fee39993050ff004aff75ec2f42944fae732430ffab1bbf084275fbabb94c1d2eb49403b929f232dadf3d8381de29939d6bee7c0f002427841abbc458b8e9bcf05c303a6ea9e96c5b36839fa67bda668d1e22191f7ea654d16ee23d4bedcd5fcd3adb4944e154f1d1c581714ff839c3dea726f6489ca6c5855ced7fa2ed5164bb343de912eaec324c0a50df3924d430a54b7ab036debeeb11dbf005fbb40c35f7d1beeff336b
-TAG: a0847ddc012d843d2356016fba57c07ea9a88288c7fb8cba8f03572491
-TAG_LEN: 20
-
-# DIGEST: c6830aca35b85932f7c5df33907ca59bcc489a85
-KEY: 05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f31
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857
-AD: 772305daa4b550d75f
-CT: e5c217213bffb311cf3d91dc4b3f7ee13a0196ac2fed97597522b732f4d46b33bfc47f63eb397efd387ff17922fa40d0e2caacb1caab186e4f4d52e7084fa4a5f1070a268548029e467ffdd5aaa31f3bcc6fce90a072584f36a2dcc2a8f452a31eccb6c6c032a74d6be58cbd585251f955bc7ccfaf4811923a811d656a942c33c02f8993234a75bd84d4d7752675fe917d4d75d53e1e1912db353a40cad7fdb6ca978288be5de67adc4231510b2d7876dfb52b3a4538f8270845bab57f0215dc66f89190087d9cce65ea69841236a364c78e0bb9248aa1d8bbfb2cbc2fd7579e3507fd33f33e608ef895fb49b65b5507e338fb4152645c036a208ddf3342b6606ac221b0f475b24b3f2705da4f7517bbcac0bf330f7c87559a276ebbc6743e9d1be245fb89e9e411a94a71b13e1f5678dc5e139db351a1de5774b082b2ce3c94ce25dc89c06c88ad558453e221c52c1618e9e4500c1d02f0f1b3bd6e38b602d3e3a19bbddc6f129e7927063ac39f7d792262386d8031cf58d29f0bfe5619d24c7ff225628c89def92c309502b744b67526ac7234e63bdc8059bea89070301dcb8f6cb5841e71d2c65f4ac17a1091d4050f0d452bf423fe3d
-TAG: 7ecdbc345533b1648b6a83163ca00e1ca9a5da7827f70c58
-TAG_LEN: 20
-
-# DIGEST: ccbdb85e0a5bae6416136d8d64ef0fc8ef3bd52c
-KEY: fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4
-AD: b550d75f05d8089850
-CT: b798be3ad9f7dde8652c009af2e1856653d23ab304aa268f16072cba20acfe52bf29ed47b979db0683e5ad0e8b0016614926f0ddb21e94ebb4806814a5742eaf2a19891d043c07ca01e082944ec69e518428fe476818d533dd169ead2bde9b887ffa182d06dbadea375c2e935fc88ce601e83664de9234173dc27e734da972ca4fb77990b82510f50b9716ea077b096b6e3233bab2636a1193009baaa1514eb71c251647b7d6cfc02987c5c10239ba348128f13a221db9e4db79a4e5ee1cc25d95b17f416a70f4bc74e8b8ca05923d7d4b7be109b4c7dfdc7a07cdfb8db6121b3ff5edad457fd5bc23c7093094ce349e11f4e4fa9962e0ad6be7a388cf6dfd3ecf1248267968f852047ed322bc818d170ecd468913358b631e194e8c257868704f7a59abeb348b661b72bfabc41507b8fe3661a40ef9e92aa6220b16ca4c6718f79077e83c637181c4f2c4628fb5112ae332f61a83725dd8c9f81b981fc3a30b7af22e6aaaf7cf4799ba4d5a5a7b654528f505903ea324d0e06e1d0c46fca011b8febae6d2f49b69bbb87d3ad7b5269fb14455c8897891db909417db4619bc13df1fa043ea9bce2352bed5fb2464b6f9e8c8e1f0117e00b66cb105f759
-TAG: 26b4ecc375b3cf33760ce81c9ca626d021f15665c1c544ea83771b73338087704f5027
-TAG_LEN: 20
-
-# DIGEST: 9bc71f6083d602ea43a5be27534283d8953578aa
-KEY: bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05
-AD: d8089850fea3711265
-CT: 822928b9b6dac27693dec121706ab0f5f60d6891afcecc0cb4c32d9e13d5c4792d16b005d3b86fc271a086aa18735d6b33edaa6c74054eee6d28911a11481d5d266134145a83c9af2a0c4b0d1c29584afa5e9383a34bdb81ee43b06351a08d806b4bf93e9bc35e1ae917d268bd76f99dcbaa9261dbe800b7bfc21aa91f25ef3545aa2e7fc1dcb246a898d3b68a29d1ce279b9d5424b090a04e727fa2c7e07bd18df63b2700a84b3bfe78f2be2ec550d0790338fa2baed3c0f9299bfe3755785a28e8537e59d7d0de086a693dc20c344f35a6b909c8abc99ed1440d75393b7a5630b788b46653ee98d800ee6a695de91cd993d19600a50114898ef275f0e3a2f08d72fd9197e858ac65c6a2cbdac648ade97002e960c15856735318d5deafc31a8418463ff32c999ae62cf5c1b7f5f48e5671cb356738fff751657ba3346a63e6525aad4375d3517e9db09815e386da08a4dc7e29c1f3faa17ca86e166cec6ce8ae33c291f09df418606a8767c6dd28ebe2919dfad2e010877c327d057db6e31a65b411bb2263786a83ff5c7bbb8d5b405d62947ac8fea97a9a51852d9adab006638e0673e97d794e9f407b80805cd3faa0f1e3ed6be0c4cc485aa5834ecc478b288e
-TAG: e3611ede19a5ca40583fb13b137b80a6efc73b4d2747990eb1a453eedc29
-TAG_LEN: 20
-
-# DIGEST: c39bd34f093d3b18f254e8a94d2afd8f70eb4d75
-KEY: 0bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fe
-AD: a3711265bf78261046
-CT: 6c2493fc8bf1226539fde9a58ad9167069a8e79cb9a536e1b4f69ed6869805736326216009681a9b21819aaa868bdebfe4a8bb464b58f3e3956213a269850ee6290395d94cdee1add5eb89705be26ae39fc84c2998eabc0eae41e08233f644c61ab84ad8d07253ad19c33ae45de76b2eebd5dd1994db355c26eee5ba6f326954e8e6805c6d90f60ea6a826ed43c7ce7d932541b2005e994b0890a43e4cbff30d522bb75ac8329ddfd663f43ae9bd338f6b8b36327802804ef124dd9126085b377d57429320d9d635a6fc19757789d36fa75c6b135c5a90ee42069659f017455800e3a585d514d0b61431b0fe55a789de8835525b2d18a7efc468c0b6d9c4ead9ea3cf98ceb06be198ad5bd5fb7d741cf2b7cccf11f885d4cfd91f88ef1b677ff08d34412d5d10b27e66afe549724a8a210e85bf5504ad9aa6d97bfa930f406f3b2e3f04101503970aa816843411307b9a2c2a686773221f54235a5884c5986ec7d0ac6fcf49ca3e0f5e678f1fc410df48e7349d69672348d26f65fd5b3a3dc257684b64a025c175bb5c4c7a7434e3a3e91527189c335fa54505efbb7665ff105c9649407d52633d74e8a404827371e37aac91bff5dc3a3624bd0fc5b5027cdf908df802bda6ecf
-TAG: 00ed7dc8f5c0d79cb6719b11e491e4f564fdefcbd0cac134a9
-TAG_LEN: 20
-
-# DIGEST: 630e1d99053b3cb7dc8c5c78dcb39fa7b0b53e74
-KEY: 2e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e93
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf
-AD: 782610460bfd24ba02
-CT: 65312debfd2840f9cb5499c1d50efbeeddf8403e0e2bed3652ae1eef633da8f7e7206a3eb053745183828d887815a1df5556e024ba29f5c5ee073b9d7c92bc3d23ccae04da293d106d041329682e1ffc726a856d397a3df9df19900513e048c17fcfa79c09cc183613badf96dfbf60c86c273a4e2955f0cce8a0798ad123f8b97350af4ec03f385d30cffa4f1da7d1c7c2eadbe1f074bc1d2bb9bafa2a3cb01666f0ba08dfad720c27f6a1b25cec4f77abaea1ec2099a019173172bf5e3eb99856c909b76494d46e5731292b7a7d6b0d5bbca8f31280fb9cfc46a2587224b97e7bbad29c5629a627026b39cd58a9a8befaa123cc90150e330ea2a638c4d03eab62f857818c92c133eb96468e97305087f30ea440fc12f5bcff58e1ecdc175b43e3145691513552fbd77dfd8ab31947e33e2b09511b2837429f60fafd480167e572c4846811b444af97b71e8b4fed1ecc15c9b3b6ad537d0ea421eac4334357f2f60bc0d74f6f3c2a8077a37a12cd0ab19a48a86dcc0c1d44cba8458bcb0b00ce405b9a95c1a9735c3bd119abd12bf93859049b73ede8b549fe96e8c623da61eef972abd88cb62968c478fdb51dc1b64a68c20035902e179be9815fe4f22adc00d9c1d10da7d3ea89bec7177b
-TAG: 6bafbc33dc04dad6232f8622376e193b32ec71fbccad98563adf24107208eed3f6b178d7
-TAG_LEN: 20
-
-# DIGEST: 083d60536c78fbe909d2b35cd5b891be34f2a60a
-KEY: c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a694
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460b
-AD: fd24ba022e6da12dd4
-CT: 9b29da1fa8eadf575a8460c16d4cf12c5e427accdf0dd30cfaa7afa28990ae731bad393e7dee5f5a415c9f7ee97ebbd51d92f422bafaacb601ffb1b7aaf6badf6ebb5efa691e6682c8d6275ccee2f307aa241ec93a42f4e78e09fd42bfc60e479a8608058f893f0835325ea1fbb6f9621230c8f06e2beaf8ef2403e80fcfc79f9037a7d6654aa1d28a6b6199807daff0a790879dd18b828314388d99cd51a7dd0d130a2805e84ad2f98b0dd46b805e127d2cf6f84d2b0a163dcaa254802cec2f843cac216a95780ad04558c3d3a6fd4ebc4eef7261591c01c7e68d56bd1a81aa5e9898c1093fda42ffc9aadeeb9e6010186afd8ef196fd44865bf4ed5d67ac5293300c6795c8e7c9d607e22b1ae0a0463b4c8b633bb3727e3259fc25398cd8ce4dbd64a02fb47123b1bf46e3b5d00e36fc128dac05e279312b5ff2966ee1e2969881510f64539c2c04495c68208bf3ca12e9e8c5edd6be6eb6ecd2fedbd3e980ecc5ceae99d46924ebeb0dc90b9f7efe0a75f12c52e18d68dd46f031b79bb9f6cccf0493e069b6d4e14a59e29f8b507cb1892c7973bf0ffcd0112f9312c97c9eb8f561da4430a7b0e72b9f8d940374f66b8f8e322f5db0c4848538e3b2b59d21cf598499826e6db079a6f66a30bb23b3b5
-TAG: c122e21a22209b6cf81ac5567b8a4583d9df8c4942d29058d80e13f908397c
-TAG_LEN: 20
-
-# DIGEST: ba36e689ce5c9e3dbeba5ed1cb00b265c7b30d79
-KEY: 0974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d72227
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e
-AD: 6da12dd4c27f437248
-CT: a93aa7823d34f8b035d7bed4528aacf556446ce80a1fdce5e9f64dba84727a3fadafac1b2f6a88a913882e5765bc481ae13aadba33efd7bfeadec03559d2072ead19a96a1dd7ef1e04d982a5c6307da72270ca0cb9da56c439314b4b0d37aad7d14d8d034dfc0919bfacdb62d619baf501ed1ef8283438d5da788f85e001ab834e15b64d3b90c959fb3f1af52478d30182c49618a8b99aec4e12fb660c7662f327cfdc55b23ebc213d02388e7d94b8019b240ce6f842225010cdbc95f98a6fd81d074a7a492c9cf35540ed43b3959c798b84b7ebe951eec1b2814f4660577f7e11403bf6c21a67c27603d3dd8cb9b93c4d83b0ad6914411874bf2936289747b204f214b3d5a8c80917115bc6b59580b8449b8fdd5d2fd466ee87b326c50617fd07a5c2fb13d3abb9b30a52c3c0dde9b4a9d4fa47072467b0c338a9ea4ad4c5ccd199a8d4b52b1a10352697a3a24192957454cc5d9482c02138c5d83b9bce9df2a42fac1a52bf3edb9d29408a9e3e855096acf97176361675abb3a2fd307193792cec150a7ebd5d1f58326693d85e54039048bcc2d426afefae8c62c564241dec4fc7df196d23e414b2ce29d6391035abff70532504416272b0eb0e349d9b533624ef27b31fecb90fe504c454b413299eb3a6f06e9820
-TAG: a5f6bacf2bde2be33e5191afe50dbf95105c830b97baea623927
-TAG_LEN: 20
-
-# DIGEST: 2f9b29467c1e54888b4d4db41fe3a943887e305e
-KEY: c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a82526
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2
-AD: 7f4372480974454879
-CT: 813e34d511852d0ecc7654e61c29d27e7255e00bcd26203fee7871f87e225495512ab5b4928e09106c123885c32f9f4d8c49fd8e6924056641f19c561c1690e71e31b16f9f077b590572ba8179a7193487da47f2650f6fe79bae11b3ad5d8a7b20ac3cd1865d42752c4e7f9db8541853875790ba51f95d2bef2e8e7a1cededc9682c2a821922a908ccdeda441f031212952bd888a1654b585a84365fae1d451d432fc69cede6a8a122a0ef6c0e44a2cdef42b5e39dd1c3ff698c6e0f1504f351d40f84a8b40b9cbfbbab8aa9ee2b33e954ac8ca096b73ac9123e124826a5405db2c004d4af645e7e92bee41370937660983f36314cb1f24c645e6b043aed1e2aeec6c762684c62a3aeff1dd3a1a5704741174944b60234839ed11a365eaa04f208d13f2522d9f574e77c61f0ba69a4c67892b88c661981d27c56aa02ebede387756c9a5bb137000134eeba255a3e482d631f1d7cf11b9d5b2e675a27000fc425bb76b0c33432560ae67f4b2bd85d3ab43081c1202ed532d1d8d5f72083ed835a60c72ed5cdc76370e3bbfc119a5755a1ffb02843cb6613d606ec3fdc0c1c538e6c4ac8efdc7d4fca2c4dc437f2b5932b9d1799ebf672d5357f11c6ae8fde8872b2c157894d2c0c631492a047ef6b37b300b81ef74aa66f08210850
-TAG: bd48134151ddf62842a1ed42dfe36251be3c2272b3
-TAG_LEN: 20
-
-# DIGEST: 070f23e02cb53f55b0127fd3fddbab83e5682275
-KEY: 98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e97704531
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809
-AD: 74454879c41de9ac9f
-CT: a6973cdda2077c619562f707d67b195a87b856408e55246f4c50256359b510ae9e7ac578f85d993901d87d92d845909adf6df42bc33e2c9cabc020987415347b3f2e43db4596debf6576f7d5aed7c536996fb1cc0da14294386e5a077f92fe4a51148a5d823065f834c196cbd8f35cfc513d4ca44da13a387a768519128e3c5af0d2184268080772553844d87589498ed0be54977140f849bad5aff53dcddfc87f63eea5d047bfe3a40c668dfd856cd2768c3d1ce390df698b0ba44ae9396d220bd9499105beb06480573175d9e2f776efc05917371ac4e6146cd9447e389187f8321bc06b04b7ecc76e2def2e27574d5eda1f5308a06578e1ef1163e8383469d5ba121bfeebb3bf1f14cc1a8453e0d3a0fecc87b5dc308028a3c3cff0458409e957c56559801028ea26e7600723db06acd3213955193402f64bbfd7114f3a0a4f2992ec6efb54768093620b8a759786d984f0500d0fb339e3d5d11eb15752a79f5af18915bb0be7f7974e4b526c3b6b16263ea90d2062da7fdc64bbcdf8eaabf01235b43faa0dfdf55316495768b3ad8ac8b64577c64a72fc758cb174abfdf4bbe79792516ba0a22b862edb81bb92b2a2844cf48e19648e959dae0b1a0de913fba70d3aee74e050da8218663c44520ae86a63a777a1e980add28a86522b86ee
-TAG: df8982c601f51be7459b26021f138c414bd8f4655dc34f3d856ac6723dcae8a2
-TAG_LEN: 20
-
-# DIGEST: a09f0450fec556fbb3a1f869c9780c3d12547311
-KEY: 79a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4
-AD: 1de9ac9f98233b5a73
-CT: da8ecd3f75f4def35959d74a96174bf5b2557f8ee76748e256980fa49ff0229bd76b4d8f28af0a42276b0eb75ab2c25d6d692a2d2e9bae6442eb58c557a9064e2750a282cde738a0fc8f9d75a176bb9ac5eb30edd7b299d8e2d50de750c97394c6013ba6b855c270860474c18b7fb268c2adc20cc8adc5b3126c5922aa1deb220d33ca9f4b27df8914e073222184872ef90222e05fb206d6cddd72f7ef5c04d192904acf15c261a1d1ce1054bfdceddb06829dea04c64bd87a37ac7c6094e41e464d4b0019839b5f14081ce2488e018292036f1d92e1bb6a2c5ef2c5b70cb97b056ddc7619c1ede30fbefcdfc75ad790bcbd4fa00e9bed812895c03405f7886f20a0599994e210d18433cc52d54d02e34e2d80f3c260b943f30325ba2cac7f0131514ea71f7158bd9de54cc5865a20fecd89d60ad377d3bf2b2181a637fb53a79e648223553c1bc77b513379b0a0f50c25284eaabbb45e8247923b72e99f99f7adb65d2096e8ae18d4178285e03f9c720b39215016d023b6a9ad39dc10cf32f69ffaafedbd20a63324fd587ccb1b2cca0c454f9d239cc953b695e2cac454476f2f52ce94be35a3d47585161eda1b85a5bf089e85a0fd789daefb9ebd0a6ac3b2187134873be399c505cc443cdb5a59cd228e73be207a6da57286fe7adb3379f44c06b4910d
-TAG: 1a56aa3fd35042738858b4b65a39a92e20c6b13c88d5b0ea28fa80
-TAG_LEN: 20
-
-# DIGEST: 32559b69ebdbf4f1fe7c6e5ada9a4117836eaf4e
-KEY: 0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98
-AD: 233b5a7379a561792c
-CT: cf3f4de53bfba97b3576fc56739eb98dfb728e2d0b4944fad81cf2b7217d38b87b043bdadb58ad2bb0c1aaf373a0512222026b7601044dba3515c2c3609ff905233dab916dda38e90cff749d70649503409dc8768eb40954f8dc7f39d482242d911f22f0b2e26204b36dece5e871a92c4025c0038c9371a53934a8296286d5ae10cfa6ea54b00da5e54b18cb4c22af94aaf00fdf0fc8e0a3170036996885688d9fa09556e519c3bbbfaaaaa2fa9c79d8a3471bd651b68c64e8f1400384ca35853a04015228c5e5ea76b8355215614deeb4cfe103b7d24777620063d90065fb48c0c81a0deeddf15785363405a9a378fe07fcf0eaf030c52f5a9ebba80b6ca7457fd34cc133fa4b30d4eb31b4a4e40479f002b5a878fcc90999a03164b19cfa58a2aed8354ba6f8b325f80f8eb9598bff11f47e7688d46137d0ece20b9bb3a4b7a16f0ebb767aaece5e85075676c96cdf52f7ca01a1b37b40bcf97ce2b432eda27fa4f0af86b3a14a5560aba1377f680f14cc9ab9571b81e977a85c5ca8ae0be4a8668432f53ff45b74fed7c0d8528a74b67e0a83ad655f6bcf0324ee94b45addec81d628155690f4403a40522618b1d143193b13f5214d463690036b83eea81063e9dab96ae76d3b18470ccc5d6762349089dde6ef5f445a7d3a5b9e16ded53390a2208bfd31e412e1fd
-TAG: 32fcd46e1ed22fe3fa4077ca274b9cae824eadf9fd2d
-TAG_LEN: 20
-
-# DIGEST: bcdc01526c7b0248abf3a41ac893bb72adf422eb
-KEY: 8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379
-AD: a561792c0f3116430e
-CT: 2b48e2e4aa61ca10c9175cb004b0c9e56e17652a7de545221ac10fd1763e4e41169b161452c937d33b6ee6feb52b5db56d8a1168118c7bd1a70f4395a091a96048fa8473737fed577015a0de9016bded4f09d1a2e53b482c5ff13ef2566b19c8a3526b7aca7f59d0e89b3bc2d6e417fa8613f2dfd3fb6ab20b5917533a0cf18f8e1bebc9264708085daa7f89b244d82c9e45021ab1908d971a847cb965b61f95b8813f27f671734e0f527db0bc3532ad7c052da83b8086ebb5479390e419d6ffc43cf7dd7d66545bd35a215956f4fde6e3515508ca2d5d229b3dffeb0fa62cb3edbbbab98b62872927a804a07a441bf17080931791b890229d1d8edc6bd34bd3f491744ea04620b805107c50532f1ed4db7b8e45d9a1325a02212b6bc7747e007d1565cc646523df015af4842e82bcfab0f229683c508f08f0f0a6bd0249123008b89d9c665c91da8fd538337a4413173aa21039cb35022fb9f8e1d12ccfc736a0e78ce98f426f8eeb42a2a92391c5ce70ee5a571939ea139dbab5dc90c75219a963ed1c40f4f7cc9d53056d8f52094ddef9e633ea154a7ca544066c58c992a1215fb97e2ee09993ea5cbabbe0ce1653039ea084a754ea98f5dcc157a51c8e3b3d15cd52c8618383ac70440c670f1772cde101e7305e4b2e88c0a7d34995f6b0c05949c67b5a21473d481275eca8ad
-TAG: e9734ec349483bfd2add27a8ea0ed527bdfd4a8536b00007464eaca59a1633ac63
-TAG_LEN: 20
-
diff --git a/src/crypto/cipher_extra/test/aes_256_cbc_sha1_ssl3_tests.txt b/src/crypto/cipher_extra/test/aes_256_cbc_sha1_ssl3_tests.txt
deleted file mode 100644
index e834015..0000000
--- a/src/crypto/cipher_extra/test/aes_256_cbc_sha1_ssl3_tests.txt
+++ /dev/null
@@ -1,3785 +0,0 @@
-# Generated by
-#   go run make_legacy_aead_tests.go -cipher aes256 -mac sha1 -ssl3
-#
-# Note: aead_test's input format splits the ciphertext and tag positions of the
-# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may
-# also include padding. We write the byte length of the MAC to 'TAG_LEN' and
-# include the unencrypted MAC in the 'DIGEST' tag above # each test case.
-# each test case.
-
-# Test with non-minimal padding.
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: c38859c091
-TAG: 50f4c2dcbd409a6ff0d4d748ec14027a3a88c8117b119c2fbbebe4693c8fa8e966cac88a81834c0d8ff6ff
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test with bad padding values.
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: c38859c091
-TAG: 50f4c2dcbd409a6ff0d4d79db071e54d654ad6d2781978de4e88d0
-TAG_LEN: 20
-NO_SEAL: 01
-
-# Test with no padding.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test with maximal padding.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece8d68423655f04792c0d0e9d10ecca8b7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test if the unpadded input is too short for a MAC, but not publicly so.
-# DIGEST: 095a8f557f75cba8e2452ddf97c053904b48827f
-KEY: 18cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744
-NONCE: 
-IN: 
-AD: 936a91d0b5d2c02672
-CT: 
-TAG: 01cb4c7831eafe39321af304205409516797a424e14c144784645a6d67aea6e8185f5ef2f93fb6022900e885795e8af770cdd182fd5b56fff96f8b567575573a62f78c40d0553c2f00ea97bad8320813753365d10ee7fde79a7a99279acfcd974083cc8138ff704341f2fbdf1c3e5cfc81874e9e47ff457828fa0a399ea5eff04926eea2bb8f722bbf771189ac0aa317e1815abb63759eba9793151183ad599a89a08de1a2e2b8e679774f646270bd84122ac771b7261e3d9d60bc997c88a2afcc75c9abf697f1da0d71007214819d6d53e43b94e088729cdff13aa99da234cedbd107c1fdcf04c4437400965e3d9bd635a180ca154797679253ae4586fb5c5c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test that each byte of incorrect padding is noticed.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c4261b78aba87b8de2f7b806c27b840dfdddd9d1b7bea5174b5e3d5d4d25fc03def5221839970193f31cfe2aaed4dac3ac776b884c0f777898826a60f457361d6f8278bc9ab0b1d7d78d657a21a56d7cf3bd585a35cda0aa69a6dd4d1b2a146cc285a3c91dbc768445ea52ec523ced412797adbef21c2332914d9034ae32e2861a915f7470f7b53a39be3402b1f52b51e591171180a4bb2ba86d5b3845e3871c82e0231ec2b663d8c6511cab50bb1e14f3611ba22b7e0315839fa6e69ca764c27d03ee5ccfd9ab7974c031af682a6805d477c9508922b1edd4f23824c96e17d520ed7f4d02aeb8b07ef72911dc83251be15086646c8b8091ed08feeec8ea62c64
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c1aca8db430b065919ffd1c460420e20d2dc49a469e762c608ef318536414438d8ece5e6840ce3d0e3403a1f0d0a133a1b4a513a83fbb1a40977ce17609f9e87b3f272e1d91e0ae563a448c297734409c09190ca68e08104f35d3934b8da8eac4658bc0aa972784b821dc313c91d3d9d84936da3e3e38587617381e69c6440fb35285a673efc015cb408a2dde4da9c9c3530a8ac4731e70bbd0eea475bbcc609184e6d046c2d22c2df7a65c2234e6928babeb3e0872034617c4874be64870b2056350f2024d19e8c1c11355d937ff7f6eef244ec2c3cb945c2cdac31de38f6b401a66d978447daeefcaf720abec96c998ef148da5e9c95c3869347e52ab84866f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c993303ba86787591db5a2c50f621b30bf214c922d24182ebca64b0c9498fa95e20b0148f9b95ca04c147e7d58607eeeba8487eb2871c2d75eb9179e79058a5fad294319ac2f59394bcf56d54a6c7630424e0449bccead5adaff2ec272f67e0c461101a76789a839d14d8dc2d3754a232b210a858f7b588b985df75f61f224347951dec2553018dab94fedff927ebec354fee5aa549f30b5057f987b7635e47ef87f6e24adf9ff1313c9f4b8829318623cd6a74d9e9ac2bdc8b1a183dfb2f66115b04d403dddde68bbde2877cc9cb83a35d950b1b4aa194f3d34b863a6b41d52cbfcf57eddad2a57bd10eda61018c8e3ff575441c55725d3020073508df5f962a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c3868d6d42a5b7662ab0fae8f412d5cf262737850ce1b9689bdac524f56af5d3a0840170a5e4e95a12edd6eeb36c94b0ac3b271cceaa11af8626af6241ec8fcdacc0505b148dfa83181b8fff2d99417008f3752d7b144543d4042c44612039f5c65c9646bd75f8007e5f867c0a28f74796591a47193ea7dcf885080f4a5c378b70ad9c86cabb24216f505d66cf4973d525ff535c40070a38df42935920e2a5c5b414cef6902046dff4f8a06a549286b59946673fe399a21f8760f18d2c08ed95b96552f81043412b2a5349a099bf7eba9846d888dcc044de910f92a4cbf8e02c7b3946d35b2821be41ff56ac70f0d5c3e91f94165353d4f3cd61491e468efc91d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c3c5960ed36272494da48efd35b1656093e76bd156ea761a931355914ed6c0a390d97072ff71ae5d8c8a4f28a0c507f5332daab12b7a0ae0744ec71b53fd9c58c29f9452f15e1adc21b6af38f9ad7d87a79ac6b2823e6530691118af5ae0cf255db7d3c3b05bf9059419c09eb11692679adbc5beb000ef7af9dfc4c429dc052fe7df1d7c7d24aa520d783ee8bbe55b6314d1c8118818eeb97957d19d022e3d7b10c10af13c58ffbb5cf76fe6a2f198a73337954d90ccf7371021958addb62351bef2f733a410f0819246c32fd88d674cdfa994d144a2603a4a92cb1b6e0ff23d9ff067c02fd43f872fa80e232377f6fb3471d6282cda5686076bc45fd8a62ce99
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c4cc0f30647410a22b8830e1fb76c5167d215e8c2d411df537b743d482cc939413dffc60c720b373d4e16097a545b7b988b2182884b0f5ef963f67574be4dac8de88fa0686f484fede78f8b67c8bae64972f37c65bd40855387e0c5571efacd88b3bddb445302f6564afef4a31854418b75ca04146a53c2e2853d4849b3cb45ab2ea3bdccca6c307734753e168d57cef80ff85c994686b305abf582047ced51428f5e4645f2de1874f14cf0aac7050f9db71cbbf85f87440ce95a4027ee2095e5996fdbe9fed378ffcc1c1b60cadb7f330a612a13ac0267ece5888bf2aa346a338cce9560f8f224e2b2fc5e0d17949d11cf58c2ed613d9421d4b34a312d92cee6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c71e759906fbb3f487805c414abb50edd923cc7aaa494473e97643afbdc143ad968e0e4213654fa5952be0ed1dbc64fe2ae1d75e47f3e6824ab44b13dcf720b37b11e32226a5a15dd12e5b13fa0d9b8080eafb1543d8dc40fa5af0bd036606ace855bf08a6014fd9a28f936b08c6a19e6968fbb6ca9ccf69364da8b7a5bcf3e8366abb8ebccbf870dca228339cf4677683034ff73e87e4b8f35fe0a5f46d188378df4d93f635160328d008a16cf3316fb94bba76f15a3a84103a249311d1a80e4311935ee847d9dce3337b0778da2366167d12f7e750e886d7e95dedd6ab38f9f101411d853b75fe895af4001cb6db0ed6895e62fcdf3f31004563ce22a2bd02a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c83983b0af789af16cfa705338595e83f924a4f02e233eb7b0dea0f4800604104bc5c76247f67fa513d112ae88699769269e7b4060b6566aa4493a754655c4d944c147b9ff139ae32159d80ff6c371b968f36d52e696c926a720ac12c3384e0fad91b2fceff69c290b2236e2de35964b38c9ac2c3c63d02e596a775c184a51340a99f326cf2fc64f9ab94081736aacf0e5311042c5bd8e2edc20bce0c8852b198928400da0939e556e59a00457e00f07a06023152a4cadb48af08949dd2a29e90de7356a4a53d88586899b9eba224553330eec05affbe4fb52c28bd2fd40593882c643e6eaa83265c8f2c923126945eeb7189e1c8205baff8b9a1c9dd6272b3b2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140ca0f7c239089bd9506395bd67c86840d32707980db6ec04de3c6dc23ce99f5561fe1fe404b85370f151cf740253fcf4c89ac3d7b62403dfda272ac83ed3f590aab6b1feda1a1a40440bbb705473420b015df8bc06cd2c45d6b02918bac2774428c9c53fe144cf84cabd0df25546b4bd6fba72eb5fab9705c6b34c3118555a001b20f1c273557e2515ec973730f2928693d542e54503e895892657966238e21aede773d45f2f0ee76827ba11b75979e36aac5bb47e9d473b247659405ee7410ff3fa0ede51128d62f398ce36c81372440e5d55d9c5ec3c6c6320ff276b8338e99422ea7a4e154867b9df014fc18c785098e411d1699b5870c034825bc0aa01dfcb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c6df47061b17a3937c36e21118d48929eda865dd66ad5694644385289d90b1d53bff71af62473af8c8cb0d2f6ecbee14c881b54127e8d1bbb2ac72bb3d63f2fc1d3564e44eb2c7877eec6a917b2edc517380a402a7d37c737a3bfd5cf05d35e16730df821d283876e40c4b2839efb2f23a28e099755a98bf942d1ac2a2f2787a1cf3e1c585ff3bc2e0bf40f10b41f4cfa872b20a1b72ec749c3587dad0133f9d2ab8422d999adf086cb4d31b69849861f65eda2771522cea3876b8b8ba1ffa1f1872dda4a9d7a21cfa7381e05673445a6ecad072a66a1126e8d62899bfe59063762961c6a5f4c4ae3d029d3c05933785908efde6d9b6e2ee9449ca15ac434a238
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c2bc0da1adba8ca306e8f6eed79e8910d79d2bd15e2f56d66354e7d238c9240f0a25618a976c374b8d443add76c3efaf1b8c6d3befced354fc46dc07ce2b1a4954615d904968fe9ba94589e10696a63ecdb90f06ec458c303dc6dd8d256a8f50d0261713eec1fa4a5e7e2846024a00d7ace23a38bbc9fb5ce127f86725dc1ff7ebb88b5222e919ec461c963d86ae3768a8dc9d62a69af51d4ea85ad378317b800e9532b9f6e8e6af1a21988f1e45a96e43bd387caece181a44f0a83f17535f016ebba301a0a78f4042713278e936f092028429779d47bd23fff9fbe38828c4e013da33d2efeaa91c8cc888866d721f287b4ddfcaa60da436f8eb677c2a6ae615d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c424e200a6800c3020c9728eaf7483e31769360fb1f5c299e2473234bb9b4d4e2e63bfa39ac273fb3ef2cfd4fa8ff634b03c9948698e9c69c9d92e35c2dcb4282121809b0f9ac0a8a393603b77531c7fdc9d43a8c2747c36c2137ad59d44a4d515c176bca985c8b482e484a6d815935fa057faf144ae52e361f1e1e86a1b4ed997ba071a049f8dfc62fe55e98bcfb4beab27ba64f17a3ac80c7679fd6e156cbb28233f4439a96223c1ade6d1d31c69ec3da94f4c966fcde28d6520aebc4421c0be3ea263256c8ccbd1ea900ec3414ca2caa9388478db0317b18f1c2c5f4fd748f3b31d9dda7fa81a35f2833012679621568a9f627685c1f19af05b733c9b08ae5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c638ff6eea0408a9d7f7d7ee0faa4f730246b7b92869e13e40947a514ddc29c267732d1366aba12145718e70a07ea06e22e43e815c04c449b5313f3bb5ab0d1e2eca42ce029c34f69ebbcc4c3708cae4b2279f20225b816b3a891f4dec8d9d11fcefa71594b577be389589ca2f6e3414a4e5202c97ecc4b702a847c8d333cac376bc0509d9b3970249f42263726f2c36cf16c30c5850c08d79bdda35b504097b790d9141202f07f0aee1e26c8d36cb7ccd84b761e4c823a9800fe978b36d94b54afe911ccbfb178cf5394905e6c2bf02554eee0fb8d512dec96b5262c9671326b7e1010dca2048575b1496f6016747463ebf264bfafb9662473d6a824003885c8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c40c637eefee4a3dfe7e01aa2369987d6b5990c0388343b44f7135624dd92e5bb2e61be13ea2c1dd3c56b9c4cb8304092268a6c9913ad0d80ad7516f14548b32dbd64593a1899f8b9fe4309d71b1c163e249e43ac7cbe1414d289c9ff74516c6684e63e25030f9c0a60852f0864ef270d91491d834699e5e2892860df6a685089dd578463f7af0917ca2959803256027f166553707242d0eba0861bfca7d34003fe99e6d86b6755906f9e608bbf23086a4599fcf5062f693079e5ff2b8dc0558c8d744e479ec07a975c20fc6fad584579bece0089e10dc1cbf918def720d95ff94435a34d8eb14f1f162a2b1819f13dd3bfa64d562a5685ff6909c1583068e076
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cc9903b53737d2c75fbe2e97eff446afd6af51acc48a56178e32115da223f52c5ed4e571945036a18d798e75e3d1679c5c646497fd685992db71cfc3ffdaead5e7debc370cd694f8e05501b7db4fe71804474323a93bbf75770c41d902688a4abc638c17f2de41c7e7bda7279e2cf20836b0b0767eb237a726be5c8b8f5d71918eee8e7810876c10346dd5f827048ff5294ccf329e8ec17b70f3453c4963586852458dfc7330ff38eddf188ee8135242fc767d898a6bd91874af2955ba41eed563047f4f9e740b04d6ef26e06c6aa0f375534359d3a1b8cc0ea0c1fe55a86d6f6c76bdeadb263edcd4e524bc7bfcf006b3e5364d18556e6ccbec833f8888f962f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140c5ee8d13d439b3b1d269e1d5879d1bd2fe19d8c15b54e5c910b5bc2cb9be4aa75e02c3648fd28fcfa87b698025e282902c3018b1743fdac8ca4c0b4fc359c717b47b7ead54880c603fe6973721036cc1844f96cdb7777a1890dfdda95aa5fa75868fb40aebebfa05def06bc52443cea0f02da1cb7f32fec6102b213488d84e4dd1e5f21d01b7de35cf768793bf807d725285d89d9522f534bffe3dfb545be8e2793e93b581ec5135c67f5f7254bf496d722a96f4747b6fcfb436fc98dfd7141f11b20856a7e01514c5a029239860dc358872f5d090f1cbf462f45e41aa93e333c3141c491232f2e59e41fc4343ddec2c9a2473e6a696d782e436fa1a2484b12bb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa85abfededb19cb8c09a8498080c2d8d98d69bf38d7b4a9767bc20da14b0c95671f589a40170acfb26a0800b4e0b8bc507206a22ee505a8f4410c91a373e775f8fd1b6a5b7dca8900dabb653efaa8391166b436768cd79f9983962b3a76c94e0aff8f0b91408dd429b86668506e55c34dcf453027eb36d91655dce1a416ec340fc263381228edb7de4093b76e0ef6fb73a82919a93d7eaf6754fd0be54a7f164dcd208aeac9a39fdc5a1a61d5d36af83e84ae4764e2a1fcdd1aeaf267dcdee61964ccd74a8b537e8f6d0a428cb26d4be016ca2c3255b8e1972e66facb90aa9c24a714f329a1802bd3fa5adef23639f2b7f2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8539f062e12c26b23c954b3f013f9980358a953fb5abe2269b253a99a28597706713fc3917638a8ce20e9a167aa43f1464d04e8d44a27596f8fa98d7cef518b89122faf38d5ebed188bb69e9c3c05626a8a5f509ea8568b5c4b89bd7cf2ba9b55aec8bf68d1ce09359ed549e5969aa53f52b57aff688a87af913e692b104da9ab1c82719693a9bd75c8e0dfac6994d1d548ce946c9f584f552c5394d949f70ad46f94c0b3536cb471ea818ff7a929eb211319f261f967861cab37c51815f4f8df5e9137e84d63be04aaa02bf9a3515a731050ced79ab4b27d9d9f694fce0daccfe144fa006545a0ad2fe145c6b09cb2260
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa853c74886a342a11f2af7833849a71f4b8e88487f8f8be7e0c0f2cb1ffc430146d8973240f22a44d49f24f669c59d19d1a3036dad4e346fbf3c85101476650c55c859bd6e9e3c76637f3038e36def46a1a1dbbea0649cc04a124c44625e6448d029f9da63f1c00501bda23b58742e914c6336beb3aca2383371e4a590fd040aac505cd64b06a6e786f6f5cb7a968d3011b5415f173777f80095e54b858e174432e35367d49a91dd319411090271d18ce5fa91f21a5e69315f006821796d0112030f21c79936b877dcf5183e825bcb1faef4359f09c6e7eb2c66ea3459a668d94993176d39f3503d46e2a21a6be5db5b761
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa857749eafd062802585c441d226448c673d184ca45915ea1d4f0008f59b2ffbdcfaa215f481c178e9ab3514cc816cd6cbdb9c6d46c59ab5da9969d8f11f7bda6d8ad0bda48600f75bc6c8ccebf80be3ac92403bce6b11b448dbc9c2b92aac98104b3ca000c292a670a9b581912bed743cc7d451c506a7fae57b37b4cd1930e81b9d90cabcb4e6c90e92e753fe629f4f5a030a45ab8d3556f5f31ae5b18b6e91bce3c07e12f8168d62f096a29c940c87ced3fe8506c99e35c0d1f8e30278c719d30871fdc2b4bafc1041dd91351e06974b341925a7f9812d4274ba57e3c140affad33fdbee1418eb783df61ce4c4ad62993
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa853a302896d8441516d105271da0c8c366cf56cd7d3f015c0bec4faef4e37bd2b99603f4a73c25a921cb53d8b922034e175802b3559a6669bb2bb65d0159e1c6e7ca32cdf3d1b3a6f0ee700240abbec6ee701c07cdc730185d1b93c8dfef1ede6c773fb6139674649f3d0e15dde76f63b067289cbcd12ad023ec0af959bbca308548602401ef3b477cb0dee2d29bfa5ad81d2e1dbe176a856feacc536234a664087c714ec8967f3836986f4e153fec38efbf40f03882720431df01d6ffecfd56bfe4c96bbca83c1e71a196c251c56e81b6b43e25b41c6799e77647f484182bc2e781e4ccad158c53f4870d2a26de380bc5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa858816438c2fef1a90d6c9fcca13899ab4e248ab8e02ed488387bf7dfe60fc971dcc3974373800b73f1aacca3c1a11b465d874ce9653140ea869f6a767d6a22d677596ec374383298c8151fa7a2f2a0a4832b7a318d07ad52f55ac7e913487a1161a0e6f5faf2745b2e79032c581bd819ddf6c481b8c5ba8bfccfad5ef2d1703fab19ae08bba643cc1b92b0785396acbefcd0f09cdcbd544eb704dec67367ed2c8c7ec10c84db367f3ee08a1d5e2ea12e90e6f7146a1e11d2199168f1c81d02570d67a1771a13acc36a90532e8c2120e89c99115b15386d994954c2dd801391bfcb7f8a02e17f496a131a663c2d0a467cb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa854c387af5b7bb7495f001732fcb6af0ac13d56b53c2088ab51e440a0e49cfe0ecca059c61282abed5c12b857fa6930a655563ff1e38273867cb8f0210c9d775fe44306fddd6a1953e0a07e55087f7fa8a7e065b866e9eacde718883a223b7597392abe69089364d747249d89ce1acc13ed4fc49d1587a1b78b6ccfd88cb0eefe43d17160c23e02653a50d0eb3d536373fc9a807acd86afeb3c8937cb56c69e4748b561cf9e31991f82f4680c8b9fa4218cd9e72cfacc08b8ebf53f92b1cd97f64484b7f6a709362fa92f1e807794fcb8bf9e8ca65b914a2b7557cadc480afab30f23cd19bf542d9158116eb478f5da4ae
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa85721ab87ebac44a5e52aeac9a51248b572ceb65fcb6b1ab725d27bfd445c8eb80a4bdec280a5fc25593fa41bd2ed420912e2f24d151d8fe9c343c7ac91171ccabc8a1db53770bd494dd4949ccbdc83680eaef5f283ea9826a9e843bf08609f76ccfc4f0f98163dd37675257d4f54ad3a3229eea61e68f3d2c1127a3c01c54b6bfd452267a88c0b766a3ec93e30ecc7a33cd2ab8cb0a9cb76703745c6fd86a7b7b6f0e46ed85d3e4fe7be11e7ad9462f8daf031bfc8029f22ddcb0d6a3b7a7dd673ae6d6c44ee729601808bde47fa1b8ab6f26188d561682679b16d1ada3ac2327487375d330c3558a39e3dc7367a21598
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa853968b8dc0a2416b7f679df807b644c790086ef88c01d47168815f31eedcbc5f226feabd20fff1c6c154a1d16ad07b5d38551579db3981eb22864d7c8ae819487552d3fd27020515c9b059a0a5fbeb1efe65761c7513c3a53019f68fdf8686e715d530f13840a729089af280d7c63fae70c4ca8c3be6f1b7af9290d0461411ec23e37b03ba58190055b160be1ee266d08f91a7cc7514cfd1a6dd50b6e616be98a7d673cbdeff66c43419a376f4279a350681649102edec536180cb77d3abd76a5305528f6b7a12837619f44fcbe874e44ca0c45195d26c7f94007f4e663148c3fd6c2d3c553f257fbbebc7619c7a50f85
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa85d73523e687e7b20240bab89fc7dd66dfbfda687ab2734b7e14834fb6dde1d8760739780c69657638a682e201a4707d929887188b67c0472a16a364ae3a6ed3fd4b6756ff1acabee88e003366ba020ec9740d6403ef6187f4339b02d824f160a87832887a9f09768b459ffde6d20e074dc06388a0d392bb996c6b72559bc1b26ce073cf6a71cfe4c5fe2d697b12a422b8aa844221661b4dc0180c145523237dbfef30cf141e8223e50e9a7e37f557b786b7b4c56f3cc70bc4e70ac542f74e9a90eda801cbc5e10577bce69a081c0d53cc97ff81efdf9d165aaef39cf2e7761ed9d220a214966afe93794991b7de1c3fb9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa85eac325c55e1e512c220b8e6e5934ff71e3ab251f65873f9d3d95de0bca3db2dd30dd92521d659889f943147a563a6f7a5be956bfb6dc96e849549373b81829e321045860a46d820a2d61019549b10d3d502b9df8cb1bfc91a25fb5700c335e90a530fcd9d011dcb55e2af7d2fccf593f6b4f968e072c2f31c9b748477c7751d5de64dbdc850a73f8b4ba7d5a50700ab84f6289c5ac8120c89043eeb29775d777f86ec8dd48e10c90c3f316eca853f54142d6e1bd3c5fcb58e5c442f589eb7da884a889d75efe6a6c68990c5a5c518d9dad74ad71adf46a6e18ebf1c9cc28321c82f286d44f8ad187b6ba363911e43871
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8580a2090dbe6dab99de0f7a5baab85b6e6f3869a20e537509786427ec14eb7ffb96ab7b4ebfcd6e2c91c509416f8eee0101336272949df659cac6566c17a56ec39f2dbacd0795cbf35d571d6f24e6c9f7e77a9e410806fa495cd10e55715e7eb3679930afe32f89caa836a4f2f4af9ab002e2eaf460419edf3ced91c2f305baf88e1cd3fc144c46c7b26cd60cd0e069bc0384bc96b3fb31733661a6cf16d742e07e9db373f4399233f6144f59dd153a1518dd70581ca9d4bbe6027ac040bf7e67655e03acbb104f2554b384ca2939161ae98e8848ccd0bc414149d45737e0e96695354313145f0d8b7f9b595b886da85d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa85d12f8d0d7b1b3333c85fc1b74f1d7564fdf1073a2c038922ea27cc099f7a1ffdfe3f742c2a71fba35616ee59877b3d62704f7bc3f258a006f57d09181374dfa33a1ed677196a9e34fc17af5c5fe609624464df5442903861d0c5047e4811a6029e4b9d822e21809f5a4a96778f11bdecfc9a7abff83fe5649f004800bc3b2545173e8fed490e4e7eef490384615fe02e0bc4e1adddde3171ca4a02ba80eb52933471b0463b20249362c46e9d6b8aafedd9393b9e8f6cfcf902490d7bacc357aaa3d752e7ea4aa70033adefa6bfa7302786f3945096857093951db4898f35ecc1677697d647a56874b098317c77892354
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa857bad5cbade98840a906cdd3e0638a6dcd6119c988da1bf2e1949e17bfe8369c3781600f11741aed3665e4d63211e2324b20fc7d765a82537505bda9c511cfdebb1000a485cdb022690029f32d51711377ae290b8cf453e5e19d32e56101f259c5266a168099e6e5b1f381e4a1077b927befd3654b82a5d3de88f84e0559d9fd85bc3cf4937378c9258f0bdc5c28c95c252ad27e62d2c79541ae522c773dedbc259fea124c958ed43982ee3f7ca8ee2e4de0c5932524a3eda187a8f4cd7797d2013e132c66358b667d9c47a5c1aeebd266ebf1646c8c2abe086bb06f4fd1e9d10b6e577146b8de8d476fab5e5b470a27e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa859a9a423e5303e54ae8ba4760ec5f8484a43af0e31d384c92c4e266c470c95e13711b2800320720b81cef2af3708daa270ff2fcc782d914e16574f8cf9a2d39e8880b94c18ef0e670837b639abef627020a04fdba87735c35a72af998cf90586a2f538a5ce720f3af8855aa438747ce9e0e9a82ff1f6fc5366aa3f2eff7735c59f380d32f4be67c5983fec7f406d174c1f75364f4521f0b7cd6e398f78e983ca9c42bda026b8b6cf2ec28fa2568be078d9b1dd162f5610c2964b2ab7c1f6bcb3482b0c0fd9e1e3fc3b0b67f661cb61835e6075c5ec532093d5f80634eb79238a5db2a562f0c6f14ea9053ac7c278bc306
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa851e62ca8230d38efc48b436ca46cf2eee3f6ed964fae6716fe2d8a6eb55907a024d68ea5645d7ef228d9feb88e67347d197da4c12efec718b9db26151f0b515a2b993442b448c13fc9593d8a40dcbaebb9c9941464e2405c5d55dae4711a83c5a0e82e4aa1d514f5909b025ea622f876d090dcff54c2282ca2b66a163ba7260d361c2f3e670422cf245a5f94f10a314dd8a9daf8327df73871be1cfed49c51240312b6ae6c371cc01400c191e15a71f39e44cf01a4a3b457e9111ed3cf4b9f767cb11779c39e03da88e512755508ac8086c89e3ae5e9f7440ae59586e58aa008b354507950da17e984a5479eb1122f2b9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c91b676a3080e40d04492c10a4f52e09009b9ec418b0b0f0a4efa73177098b81a33eacacdef63c380e678abe57e781f02709c00d50cd3d04d0b11da9ecaad5ab7f873707531c352237c0ef1da248dcd80633b9d665cea86cb255b81bd9e5d83232fd3228a85d5ecd0c1c922e824d2bffe9587dda6235236f3debb748e1a08adfc21253e6e6ea98bbfafd27be0a25b9be140142e4710b9692819b69628eea7c5b13d3a37f1d333a0feb19b0b63e01d9df4bd0da5745b2dbc82a9bff573e18c5cd4a1b387fd0fd781dda61002976409631c06cddc616de68fc119b0e3b6b44a302b0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c92854c96193e53b62eb2306a8f7444807d204a257bab8c38cac2e9ee2fd0a0e41e3e89af77a225715c5faff1057e01e5fa8be52a580d4faad9f52c4fcd2f133e4a03a3a44e33984da69b1dc07cf1d82a09a2702fb00d6237f2eb6ea95bdee12237880267462ab3173468d1b4211d75079fca42c89bfba4a9c47f47be0f6e18296fa6d85d203be7bcc2d5b1f567c3a174e71c814c48987c71a88492cfc65dced1a73b729945cbf1fbdc15edb064f9007cb94d6aa160945e4be277e2c77bb9735f2a41c2b5554cdc9a28e00cfab612ac63beba48bea97a6423e5d6b8f55903b0727
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c90a746ed2fd69369109e17bf2243da269c124553a8da952d93eb0c675b0840f688f4701e20918183f60856488df88f6b8f9af8724de31fc6ff0f166cea285441bc7b41e294083e77ed24d63e20194eab8b74cac1d85e8f65def0988ba05d3ea2d2efe8234f0c6171b13e7e21d5542c199006f2193ae48112a90b27357ae3df1c33718dd9685ffb09660a2ecda941b8470b08515392e158e234721b66dce41dcb549dbec5ad4b8f4c896e76abb502cc2284a17e5f12b3b2eba6a029f7f86e5849329ace80cdf48f16aaca396d2a84b0d68f0ffda08a9544439c88df96807ecefdc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9a2fe524375e07c78d3c7b6648228c098172efc56d2a8069fc7982dffe9cf65f6c9c700e8d2b2b1b108c29aaadde78330f3f892413d1b7c13cb4b26b22ecb2bdaa97ab508217e70f9921cd5613bf9030bb0febbed1a7eacb462cc7c45e6bbf7587e4ac082321380f9375a2c4ecd4b5ddb4ca2009387c51f74fd1b217f739994d2cb38e6bfc57c547453a1367b0f8ad339bca03966f12399d2f6e51b9c72ecb55e3d6bcc68d7c9feff233923859576b9569e142f01c9a4b29bbdb242d618866d611be637bb409d5276f8570283d3b8321515a3fe49c0bc172de17d2f051c7dce4e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c960943899c9e58658fe715b5784109e9d27a52b64a318fa3e6ae46035fa9fc15461c8656702c4842076a96de00286c1ffdddd3e18bdec4df832289b92cde41a38c7760135765fbf72e3c484f5ef4fecccaac1a302aee7747d1b03954f0a3dfde2c7a7e167c66d5c01bd57cf46ec0d5163f4fc488cf1b80030587ac222ccf26f4afbe885c66c956959f33322933479347156629db78cf510d3c5bf63e1b39b9f44eb4a08a255b5f4901d52b845de0106c3bb01df0ce100532bdc65d3f210bc38544f439d292d1f7ac856d249f8789a5061389c1c0670be7938627c6fb5636d07b1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c95217c937e45545533ce254b170ac37ddc5736913e8e32413e4ddcf51bdb26f2b95bff8b06be0f80a259557c9215321f245ab4d246b5b95cb52cc2cbc641ba9d3d7bd74d09e8ffe84c4c48c5ecd6eb1580a39da40aad445a3834e75f87a1b0f0e7c19af9202c61a242ea1d00000669e980da9d94f685fde386cab33bd08e761b87d8bb811ef53ec29ae4317c69bd2ed9e0fc12587ffbe996ac6a707b955a6095945968d1e38bb646f75fb7e9ba3318b7f0af83ff3818fab69a3f524ecfcc6a3656b291c06a39b8a4a23b3816aeafe5b511480c7888fe9f800da1e5364e5820164
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c93e9a9c0af49b367e0d1276a580b8f6e3790df471fcd9a2a8bf6d684259ba8bcf1e5d0f5779d780bb90be7d67f533f5b4dd5bc7823a8c9002b2cc2b42ceaa976bc694b924cf7f17daa7147268c13ef4f111c7cdee6ca21ac9cec21569ba65020b325b2006aa7a11e904f42d9954e6afa3785d26f84fc5227cddf878ad49a476d472730324b86af0b364e19948222af0d3e270e4d3adeccd1f9db0439e18d55197604a711f149610a3b6f11fe318eeef76a85ca6968499ebff42e0e5f4a99e28e0a12b24e5254c5fda4bced5271ae5dc5b3175a177633ed6944f4955272a4cf9b6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c923ec1c43c668b209c68b769fced22c922be2f307d0eb0e9636ac3e3f08a7b0992b4897af050914511331289d19e5dd5fc6275a02fadb2f5b7d2698af07810b22081ca8d31b5f1fd9c18b058801d7f16b7240a66070f247b48e0f009b01b0872bdd2172710349b803d34fb5aaed7848dbf2575980cfa4d59a043516b672afe675ab1bf12943d7a67f1d47aaa22d97d1492ecac690c77f1dd7273edbda80b7906c142a91d00684a6166a3a697f81100e28f37040b0a724e8c70b2ca22afabe2c9a36678bfe9eb23ec5c9b5c41e42b14b60ea88db00a3897b9a5c6443b4e4773bff
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c97813809bd8d70a21d928b8f88e651ec5a03b2839fbc12165223b10ca27d0c35cc6cd2d0a915634bf6e556e2d4cc4f5d3621831ed8ad012e5b07dfe232f63e750a97b4b1e31c09fd6221e451a23ae8cc1d91e39b6ef1c7b7af8f27a3fbdfd42fc498aac9a620a9dc6a10c262270a6c8c5e52f111b8a29be927d455a70d705f83f12c99d4111927bc3429c6ece7ae95fd5e8bacaa7a1f0bd2dbcb7748f146b8ba58eeb6ddc83f10c5d3b4d6724ce4ffb436ff55fc9b5f5ec949ccffc496a566a4f9ff5922974f739e2d384754c66af2878c84d5d4b66b0d496d3a2830537331880
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9b157ea41710b6ef97b0244bd87857b51d3861a95a38fedfe948ec0f798398255ee1f9eb87cebd07c37a936a3dd8a7de72401797b5fa75c16fbd276eda97a1821977b68d8f713d66807417dc7e263073fef2de67166f4e47f0291f9d595bb1c5e3adc60d668a151f8f8596204ddb160b6ffb82a01c03d2b63857c820ac2cf0e82eb3ddea88c4746d7624ab80ca3baccdcd8b520f245e0251c005b5ab670e64174e7670f02d52ed632bf381f0afca19759647977c2deb731d2689be018af5c9acf5a284573d7b9e8513d6fbdbf0c70f8e82910dfc8de3400a8924871601bd8903e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c930aa7606cf52ed72451e41890f387d4eabf75d75fa38bd9ba4d3cc132658383b7672472b1e4f0be83427b0f4d47a54e262ddc2abd5e9b8b9b2428ba9c6ae1bdae313896ee3e2f3417f104dc604a78bca29ed6af2e7cedc79e8f15db891afb14a78921b00a12cfc445adb733b91028e646a9b5302ea3e6e75393865a6ef9721a1330307179cd9f804017bba068f1c0dd5a12bbc307260ebf957f8ccf1a9d3aeb4f06943978a910ad62d8b7f0baa818e56eb138d1cbe80eb50f4cb2fcdf5113356321b62177f6fcf6f36b0f30ae68ee6600775ac3a5a72e2b38140062df94583f0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9e894708b06fabc5ab286f86b36d37f039643ca979c712bab7b08e7d6991c4effb5968864d584f20339733148cc737de4bbe61f14b8aceb03c219ca4d4fa3ba9ae4f81217ec2076388179080e002e0e8215ff21f033a80102eacc1e476104caa7fbac4fc889b9d374e97ac24ae84eaa39b3d6b26b87d883ccb7cc20294f83356a4939201fffb84679ca96a0e88a1aa514e217eb839c13345ce2962b92ff30479e8e9ce4715753bd58faebfde7f6c6afcacb10e021e14032765e21ed5f2c9b71251f8b480337eab30e029ba90628015d180a1377052ba593dfaac272414458092e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9ab5c62a9c6437e19d166b3c55cbea67e706b22a1d21e19de378bf67f012e4242418b029fd28d67b4f1bfe4e6a3387540a17e9584137a0452ed2e8394297273e5da67bc1df04ff9031d224aeddb0f69352b99d29efcf4a2f562546837cb3bb15a1115bc6be6de388fdf1f4ecf53fa9624a15f0149d7c51c1940e1b069715501dad6fdc59e87eb27f844c34d224c1531df2a901825770a1e884cd8190c7f496c19a621f74e6d3c6b2e066a00f0e672718892a642aad13c0f673da9c0e1ebf7692242efa1bf2161fa4044a3018b8e8b16f5a63801eb8dd3d41ece4f2a6a7eb661d7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9918bc1f9ba829372f537fc41ceec2e396ad753383ae3f4d94fe6d23f8e55efcf520b07ab3c36a11f12f0242e16d2a4a6ff93dea00be07693fad534ca613179743d6cffc588c3fe05248d60ec4f5a8c96d39b8f56eae0160d7617b5dc8916a712ee156a0474edde551911bd765dcafb48a4ac5e313fbdca1709bbc3e6dad27a47251250bd4636f7081e2103c7e79ea9bf60647393def6a4e6908a9d46282316417364c05ed6063085cfabdd1acf8b64db90b674b6671e8bfeeaad41378bb54bee5df111b54a759ceab1f2397d4d89a5c69dfa7a6f16831f5855cf700c2a1c2078
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c95cc210c5c3e0ceeec395392b8d38e5c5bd2eeff45e424c74d8d5915c0cc1d8e4aa983501224ad9a6f5d2e0bc2d0216c4847b81a70b8b0eb43ef86dba274f5edf98b77fee5a16df67af64b774647957056195b37836685aa2889f0d480229bf9c20e6e40a4adcd396436ef686b95ff6318273fb60d313b4cf550326188b498ae695ff5fecf5e50c64c74a16de9fd9d4b52f87bc2b1d4502cc8e90be1a03f5aeb80c6f1ab39a4fef04dfbc0327eefa61959469cd7cc150bff1323a11d4560a82190c8ef8f09008b3fcc35afe346ba257dd6517bcb8e1e8c621856607669f7b50f1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9159fc257a4f571780c7e13b04977029c85fcc56f31acc56b25bda5ca6174b2aa34bafcd02789c730bb1208fcac2788ff2576876c1dad1ad428abac5c1b890293a4a624302cb55a7e3fded9b3ea6c6e00a2dce30dab6890588dea8d090155ecc260aa6a2e296e7ea22c6d11531723f591973f933f404e91809a57bbc50b1b48f152dd2f574f1cd4bf7327034e3f1ca136414449961f4acc2f48262b6df0aad0c9ba424bbd913aa3d07b341e8b89a6eb88d51d69baa9e3941fcefcb6b8817fe62260045e57e4c58b622411701548594fdd2125c7abfdd785f936a85cd8df97a561
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c5489632a12116f263c0c563813687bbb27d1baf7eada2e8d5a3bc764962c90ee07d8ed1be285f76a7b034d2f8ec88d5370592915a7e43d78ff9576652db80669dd3245f40e42e4fc8d9a59446e2f97cf3ead85f7e3dc14a103945afe6adc80bf74eaace640ed1895cb8a0d58be9c0e0c905f5ab66fa193e72e4286a22a55fb7b7984c8f43b44926be68f13de23c9cf15fdaa3466833b8f87a3a8696d60e2f6c2a387d295ddc7f3bcf5dedc4ff19d52b6e36fdf5aecc5979f968b8e94664e57b7eba0a13c635e35890aa9e23ac6d78880f7522f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963b14781675d8b0c27e4851bd4fa70903c6dd9afccfba82c43674a1e75249c31c840786b32bc6bac44c3c71e65dbd99721d4c578c51326a651ffd5fd906a9e936c0b678da8e219b0759160981735eed13f3608377785da4ad7cd8cb9d9ec733dfdbbff1af01d59998da340965302fead96a89dd7572df1fed4fc5eef4f94eb12a46b1b6ace394789574ea420dca299c50990db94447ac82f9720a532f70016d9aeb3f228f3ede7b5a8c1f16c8e0d1f05f8b6a9f34eed479a2e9c622aafbe9657423a6b5710ebdadaaea68250ad053c265f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c5489637d651f0001c2bb71e7ea56c8d762cc17930a2955c8bde0886895cb4c85de66e6a3cf4fdb59f901d9dc4605fde66012e0af1378dcb8eee0677864842a9d9ec406c150b8b8f80306e35a03f809561c16365befdb8f0c8f23909b17d4efc3dfc74580fd4f66eecc7c73bfb5efdafb4b409d0bf377866eb92a7561b44735db83949132a487c9e96e0a1fddb5d25674f92e47191d5873eb15b5888e10b7b9037bbc6b63874de68c185847ad9745bd81d234773d8c6e1c8be92cea1aea2e5220df5a2f204b5aee58b501ec16cb0676f2975761
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963abe972130062cf09ee61afca0a6073cdef5e8b374e4bd69074a47dc3881887b865e51881b3a8298318c094e35ad7decd68a4e4780d3e530a7d7700c50c608be08a349c5c63ad166a95bb4005ffabfffde939ec49be8d0892b106d52ca2ae62e1bbbee12d73f65b8e110c9a706fab7f387341afc36fc81bb40cfcb0a3f34dd19d6c5a3d96a3e0f0c76a31d2a4cd3be2f3cdaa9269d791307169ff9ec7b55c9163bfde0e7cf741ec1c0fcc1e07345235e53cd05d55dda57124ded07cdc6e7860de99b1d64fbf3c5954517034e27d02fc18
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c54896367c278b00b934ebacb02bdcb52ab9086b3ca119f651057cb285ec5e9d67ed1394d165848658c82fc11a2ee480fba765144fb2a03ebdaf2d6962491274d85eecc614e92fbd59a0d5283fbb22259ae376e4aaa7159bbd7689d54b719e7eddf88b2b50d37a6ea4644670ceaf9d84f2dc4f8860e05752ce501a0b2c76848276ae4ea576588ad40c1af538d1045d237391df21b330008ba7a128c4e21536e11d2892f8fcf5ac5b5f65194ef98ddf7ee43c797b0afc31a412bfbf71aa23f685e61f40546a40e1c09ea54297f60cef736766a03
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c54896330c39b66f91563a6de57487ba849fab12fc9bba942c2d238546db6413174ff946344ffaf85aab93e82f1fd2a641729bcffc4f8d352c0396ce9ba400eaf2d6b5f70f0bd7147ee5cb8ce3028febc3a6270e9e1ceaa9c1165498e59fe3d24177260a91b6ab9396b98d775dde1c25fd37495d89183f863b6c72be65e47fe9973250616410797fee6664fbf06f1d6e5170675218966d001b753b84208d7cd66e90cbca9ee5adf166b93743de65e32bf4095b9762a02b983cce42aff651e66d764502bb89cfa9bc39fc4c27ea0af1184b7aa5a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c54896361fb4f88b000b3c509576c6a6c660ed7078ea8301717ed6a9009364e71658cf71264706d93df504956ae936127823cc890260c2f0a6d77bb651db63304de13012586a095f0f09a0585e466b096fee8a055161739a040a8400bf2380efdada9bcf4cdcd1a0f15d5258db6e43fc343c991a196a87401093c435f4e1127c162d2ce4c4462d008f5ed8f29482609ee404d4c88d74a0976b221aa63d958ad3c43c140bd3c4d30437f15b2e49841583b9b92ceff74c77644adb9e4dc10562bbf76b7b747f9b8b829ef5e72bc932febfe4e7ebb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c5489630fabde139d1ba354cd00eafd629bb24f121e748bf60e7f2b99e95eb3ab76a6c5ba3177b2a93cfb24a1d04c7bf5f3545abfdd4a120e904493f78c0559f832dcf194f467226f69992505562e22b43b570df52dc83da00749b3ca5fdd3a7b3207808dde12c4e4937fa79163910e79681c39cf21ed3dc80947ea623d38dba8d2bdc998a771f75f02c1c77edd9d721e1d7a6d3312918fa65d67ae630789dfaa521049c4566077d0906240600ded0eac9e4cde369747d8c41b5c50d54377e9ecda2ba0af3a8a5ff3215f27fe530430fe6bb38c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963528153ac3359841d86944b0defa9659aaa95e28a3f78d4b62fe2bfdbcf0a7eb678c47cac292a60005af3d5e84f7c3cb93734baec9a20cfacfdca5c0d2396a875b1041d058eda11fa273c2f3bc6626ff3b44da0eca4c3268f129ee50a6987e942cc5f5af0a3af09c11d5377fa978ef97e39bc69506a55aef56ab7d138ad9d2b494c12d9d053c2c6c630afd417971ab41fc99902d8b8b485325f7c8763f631fa0439f2c91aee3b476063e9f80f604001ecc79732f413dac7498a06d12884fe26e75d6fbbc6676e7bbbe214e7919b4b6d29
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c54896339a4dadd3abe19b8e450de0eb8275eb88a564c7462ee30d1512772f4718b1942e79d75a30a81b1a04cff1f0c999306aa5cff4b240e1da428585493dce925f4c103c6197e61e272aa8c23442f1300768198529f7af6dbe86d320bcdc18b6bb4827beff3aa50148400f677f487f5dc9f1c0e74eb1b395a9350bf3583a0211a00da04aa86f3201224aaf3ce86a0ee96160dc8688f76be5d32a97973c8ae89c09e9d108b40a331c1fee8fc16c889c86c2b142f78fa6afb97c6d9dc6930bb3ec8d36243c03087753d39bc65e4012b4f725242
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c5489636f941442843a939812806ff51cc7eab6cce21e637f3631ba6102f801aaa58a2251852cabf777d58f493f0ad9d0a3ad4469e98277594c37f29c51b057dd11aff665a0d0633bff6c2e8401101603392783c0dbc3ed59a69ea3d27a4639a3318bdfea5cafb5306822db776c7523a23915a7f680ddc520f766e3f3e99b84bc8725fd3b91b801d971e016a4e4e47ca486f2b2b7e9aaf29746fcb39686da83bc65dcc861f9c76d3ce2b8819bf0eae5d5481b19612f949676da3f69c6f7405690586b63dd36909c6ac86a3b7325b9364ca64111
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c5489632dd27e25b836a5b856a8332d163f57b70506e694ddcf36e393aca984d10a0c1d166edb26a75166281148a3c7523fa19ec87a67425fc0d89aec019fcfacf19a68aebeef192b202ed3c35ba0af47c6cf190a1c81ac3674e98341db0436391d98ff7d391a6911e0e8804e0dcf0a96a13fa6a746308f96c116295e657adab60ed8171ccaf048823c1702ba38e381ddab6994dae8d3516bcf39213e22283e5cc8aab69a980d98cf0302b7fcb44b8efb3760bbe9f9057f1e1f72ce9cc5aaf37345cfc3877055f51dac7c8e636202df9fb9530d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963607bbc82a83948616d1e4ecd53f7b661996c10926abc288a3531e15d83fb6e8a373850d0067c3d429daf707045c167c9fee1291df4f8f58aced7438407b0d0c294616afc69b6b0323b5e88328359c1aa5dc09c465c0bc42099167581ef5c83ee32971991f05b3f21b38f734f344fa653c7229fa11e1a7c719b20216c3e9afb1a27f802b365057ac5afda4313ee28539d55a29514d0eb054a16dde97ad802bbda96066781f42d8da9acc12500d9edf4f15637b314415779f0428027635a69470d8f8db1251d855d89c3b1700bff0af3f6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c5489633681dbfc76e70755a80f1c28be2af683e9dc3ab724a4063101af49c7059956899bbdc7b7a6f993cb5f0f5c2a3e881a8b33d2e0ff9d992a790ade3c32d21f27002cfbed7b306a8ce19438b016e0e733db61e0f4833679f49edd7f2fc2171d5e9f07797273133b61482653c1128467cfe4e7a77246ab47cb35f1ca4155c4d4216ea6e83025681bb279669fca9aa57fd2a57884f6d0e06ef437e3e3cc2e45dd285df52bfb949da0e0b0afd3ef8934afd2c31679903b1ce1b7c122aa3d3a20782b7dc4331bb019850900c837fefd7e73dfb5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963182cd07f857490b2188c0d383364b478f4f1b6571b52ed27127cbf1efe7d2c90b0ee765d1e86de7875ab28d185daea85d8dcd530c930d5af1ff862af4fa54a950b0e77761ecebfbf957224038244c477de7772b705b101b9bf79e1c6dc65c3dba8f07ecaff538a49480fbb3f871d4df971c68629f5880648785971e5b8b10dbe059e5f120a5001fcfe4590721e917563fbb13aba69d9996e025c41141e30807ca8deea1165ee1e813742118f2df739e318d1d5daaf508d909b0801026f0456e81737faa6b3f4c3b8fc7ef9daf3873c79
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963b30ddf49356da0bcc4afc73bfc8e6a4efac4d70fcf0618fbbb6ef48de857812e9acee29ffdc24097c86f93937ed46fc1ba625a00f998276e840045312239317798a9a864d9ecdb7bbc60e7002fe9160eeb2fe2b4487b0bb20d6f7005d2b94508e57eeca1271b29e6683ea0d2f8906f3b7b1605dc0f332bcdb3fbaf6d16c596a0f83659f32456f4e3837b273d5b62c8c7fcdc063065bdaeb6e091fe8e2e4ea346bb0e5fca966c31c595b23a0a1a4369b44b07dd47f95f80d8b64ee0c340edba0d85c7134707de1d59b9146de37949d161
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4e119abdca7a7bd51438775a98bcb310fe747ec5f4d983e179a80cd4e2a14a849146fa3bb32b825a765a3109bbd29509d67842992e196be0b3a553b2536814fbf4da02ecd4172b00a2ab7f793a8a3505af4b52682da294b6f50da5fb02ea8b5b190779e082037d6866aecaf5534640bfe88e9228378b2cb0d79fb1dc6f0be3e7acaeba4f92c8ca9032394a1bb77108d62ba717e4a973f478c8931441f59af9e157ff99ebb60b28aec15165344e19011160d34bc441bee6f7b949a2b9354b4376f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e463121ba6074a158f93cccfd507abcf825826933ecd61c6052359e098cbb4de4f7fe1e97428dfde164d70b0cd6573a416796952283df5537dbc54ea2245ac583f90edcdefbab3d8ebdeebd2ad2b2aa54b4621ef792ccdc67aa99f25d1da316201e4a3918b3925dc516d392af321deeb9f956bef7ea97969116abbd4587211c9b62f4291094b744f61b5476e2cbc0c37532cdeea6e1e0233fdf8e6de959ce2769ef7fa7d41b5edbb3cab524e58259734e55e9c22961a347a83f72c2382246264de
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4a05084057b22e5e30a1fbe2a7b43d6af776a7dafd441c12342766283e76fc801c887802ecff0c775ae8e34a19206e4fed9e30c70285e06188b0e92950f5450f89701a5d170c2e54a0e769b1b751287de99a84d8f00f5506e305dce0c13c70df1cba7cc94bb52bdb0560193eac58ce8578cf39661a8737073a94f76152610b0b10bf9c07af85d2604c094ef026ad3d7f1f1b88eed26181b9a1945061c3ab9db9acaab418ec4fad44108342299095e943db3e349186a4eeef5e79b9beea5808f52
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4e4de8ec913880dba3b1c85b1858b732b1973d168918edb54cb2140caf4356ce9ddab9a00e5bb49de69fe3cf94bc8e4e63dfc87bdacf47122947ad70b6297b23efbcc5d3ffa5ef9b4c78f378379bb058c434c67f511feb82913534099fcc1b80e3497c24e76aa36dd125196bd314c1431f9fb12611e40342e54c7cff625cf110dda6adb5947322957fbf66b6d30518b4cee74e6e797cb71ce8cab3d7711e49628b9f92358efd09a84b3d30d34375aa96fbf409d974d406c0aaa0f6a9000816cd6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e431bdf160139f20b7f63e106851b6e7c605c1ee2e0f7d9a25d56d119874a7289b68fd1819c95e0cf5bd85cfb96108dd5e788efc0291f2f8c9a9a06d3aadf0c54bacf8510906fe3e0c270a5bf254baa063f5fe38059e343a27a91b5155f7c5563c410fb55b9b0783887c384b6a170ff2787b85c98a6f92df598a3291acf5d8be4187c361e281a36d5e9541aabc0d0035053f267dff0bcf65ca45df5c8fd7fa1a495131cf470309c31c1c9dd5f4f3c8ef973071d03a36dabac93c1df7523c34a0f7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4f2b5798bf8244f97303907a33992e041aa6796b7c2d6d63aada8edb002d19de59fc971b7157256992784ad143d8fccd1c4c17e00063309f71791f2f3d42b0a4dbfbac9d75a06edd6bc435a0c8785ad6b90358a9b5cd13949f402f02bb0c597006e5120c900dda8ec3b3be94f4e221bec45777cb4b1d9db4dfeb234dd03ddbbe2f735be7e4af28a3b9cdaddce413f03886efaf11490aa95b3003f5f72dc362854a68cdb2c0f3998b63d32cd691852fa73336c0699ac21b57f3b50fc8aec156b26
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e415f85b22e2629fb7ba1ddadff4b91ba7f7dea2e0c0af747ce34e19e0d22a86ceba1841fb9cc1895fa4c29e0667afd0c3d56d1a0fec9f6ea0686b7bc1db25d7e71477108b781a6b8e92071b17db07928a1f75b806b78eee2bf245c408259ba0dc04536231dd8d589eabeb5000488f6b2e6663980a3038af322a372ba12bffe3c987b101a9bcc0812e044858cf591f941a6cf19538a00f07049140a3c956100d2d30eb876de87dee36985aaa14f09095f5d99757a70b2ffe2bf6ac1c654db49efb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e468cc8c5c286b78a498ae833217879cba5fc9b6d673b818c4be71bbbb67ef68aed5f1f35f7baeaea19db612ef46ac4603c1d2aa1020230760455b66fcf342bab964cf29213725785ca99b44f545130711c8b9d086c6521e45f551c5d202c2bc63795404afa7b7d051ce500ead1a6313f80b64ac43f5d29b255f64d7b35cfd87412100a318deb7c37e888dbf07563be59927b68a74b84988f077a9dbab3704e3bf5086c25bc148ea3866f6181d3402c9b6af06e83747690051c9f89572cb3dc108
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4b56202856bcc92dc562664e5bf0a8dcd27688e1d3f35460d34b977dbbb874f41d662f004ddc7fab4c4ad06e443f33152f9b6552d68e70728e3eb245ca74488e7151d88993f2482667f392f8bf818b4b52ec38b25fe5f6eaa56b6d8f6faee764e0eb38fd9132bf5d869d499dce854c9dd8989b259da651d05076e35db87fefea1a71f9b1ae5836a78f58775696a2052e2287d0f7d805dd59aeab9de99bae97c2cc6e7245c7863e3ea997e1991eded55a4a1d1a32e8d913d0f4b31ea0997faf0e3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e45d64f1e5f3b3bbc18140282e9893b662dd6c760512bbd89dda05d2c40643c49363be8af47c5d0e9d366566c336dc324311e4b38cae6c754813ab8655262219f791551a42faf27a3321b2a534c3f030778f42a8e8319174f81d7a88786d1caec76c3a2858dbd423d53e9d709ebbd1e6cb90e629ca99150785e900fc3462123ea0547d59755647beb3eaabe8e8e0a0efc788da0bc33f1b8dc27c446cd2defb0734f4e12ea6fb7d76985ed82142a5c0fabf89c0875fa2edb66e4f87e792a321371c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4eeb0d20dbed3e60372e7db422edbe6d22cc5fcbdb8da8eee75e3b888a6f98516bdf545a439d67f1b300fb0bed75d468176b0acaf2e67be976c6def8b9a21c57dcf708a9a54b4082849cb0d49176bdae241a9e3eaf68660c21af5cfd7af84014a5b70dbfcd32699ea442e46f60026416fab44586872ce9ae30f7843bb3b6c17d4fc1856a27b41c00a015df9503f392688751a1bfa9e9c7d8e416801b6b40c33ba7c27eec776308680f49ee716aad0a5584c57679d2a5a6f8480d5064c1496aa59
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e464ce8e0d3a1a50d481b5dc8fff68fad1e5581d03d080f3c34d00804789e6e5ba009bf9e53c8b4076e18f8e130afb31df14a2662057b988ce13fbdec20d739183306cf6c3b042bb270614ac681c0e631780b1fb88605374ae396a080e7b94acd9673a1116cc9028f0b0de7d5650833ae3f91c9dd25f8604cf59d23f3e29374d1c4bb04564e2db4cb8a428bbf060652a519261c56520764b3f284f04ee35353e5e10288c6aa71f73d8d8923afbfa6a6c35d65ef04af2e463f90742fc20a71055a7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4298620046b22b9c84f2b3111350bfab4080258681f200a591d3a5e5da2efc666d24ef9a450327321c7361b41628cf4279abd5abc2a81500512d1512fe256464cacf662e917b73dfd0a0734f655f2078caf64ed1efd0ff832a5745ca5f1b30559b2388396585b8ef800092e27a2260c0ecd0e0196e5c403e8a4f2e55c4516b4b10ad7d06aa2d07337673b4d2056462550ec336d971a2c154b81508322cd48d8e5f6be0777e71d5cca4235be6b2b2c6e645f53920a34900d0652b1ed54c64f015b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4dc6c6c4eb96969142fa89a051e48d11c729c21c5cae1f9d8e242e46c52b37ee3c94fb89d53d690269b115edf9ec470b37f66450e3bf2e291fa69b6e0cadeb03f1d620f5e41f4a48df7a48904fc793ebc78e2ecda39eeece32932001a1952d1644b6cbc7a83d4ee77b8a5bfb38bbe75e011e44171df802a4a9b13285bc2377528b30b4257e69fd53113a8807e7d7be39068f7cb6b2910a71c9e676a401cef14f80bb1bccc30e0e6e7856aeba434a6dfa9188d00dbd93683bd0b4e989a8eacf114
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4a51c30e9a4440a2c65de9db7818b9f77e754485b1ffa339e7ed7ef5ed98c990577f41143eb5f86d185e52f465bfc5cb06aa69e574acb4b59dc538f96c274980d40f040ade9da91ea156b890e4ea88835558395e056a99d300dbb8b938a66b80b9c87abf817682cd937936ebff429e991ced577087735a0b4faf1b63d4d1c97f447cc1f5b9c48ddea2a8905109fbe79166a26f754ad22ee063757bcdc49b95428fa70afb8e0fab60b6feb46377a359121230787c50853e3e54143e5f365546f96
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e438403e145103fbb6619c1520b079957c2530e55db74cf7520060343a43456eb56b43b76cdd1d089f3d1944316b086f5372ae987fb4c3d5a99bb113ddff9e5ab5f923ae44cc4c672675e6181d3c452066b0acff2aa9f4101e31b79714f370281050f47fc30d9751c1b9b936482c48b0e80ea36f085f18d454e3ff259be2eb72468f38d31c2fc518256318ba5919f4b20fedfb63385c8c29cc58fc37fa9ba6e9cdc5a73cf9ea2369964cb01f2296f8e6bf7dd9e84463c1c366da8ede5cb208ca24
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0af662bd92a77b35fd569d20d07323a101ed5e393a428b2b584f714028aeaeae32b3a4e71222aa44d1539e23e3f2521c1b2f4859f1b13f619533324dd1a3207a12e8c193ed6608e6ae2491c04280515860f996bc300ac54a7a64a6fd9fce59d262c935ac602af7e450f09b608f96fa76f87e3feb7fae90a164a1a1de523d0d69e347f46958dc252d48cb64def33cc8b3852809dbffb866ea0d7ffc21c41b13fc9d1c0fbb515fc2d122974d5722139249be
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a9954d6953eab5e56b66996f703a47f201bf22b6f4e4f422f71be2cc4490da56d1d64f3fbac4dba3d56c977b34d656a3b28eecaac4bdcdc9061429a53fd4537aa690c6ef8f69df2f9005ce6a17b3426ad1013fc0c8534550ce001b74850f3731894f13fdd8ad1e7408e9b733d4c39d147e4a4bd74289f3bbf08232cfc4e75052c6076a76d7e2ee6c59da71b3f5dbd47fa980896fdf781dabb17cd745a4ac6e9d609728d93ae26a1a94471bdc365351c8a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a4ce81a7e90a6594c11303604a2636a5c7c0e26300dffdc70d4717d41f650ca2c903b249db2d59fae8d114bef4675aa4af092cbd79205ea9b90303e00927130aef7a51e93491f6153a7d6b317c1b18da235d833e6b68e2f8c5271bfe038cddf799c49ce21472c2a25c3f1b6a15e6597d05dc15c45916a9bab8024b81ab3c9b69e68263c26102488e1420c3248e5394afcccb102f14e31ec7938ead94a2bb2e02d1c9082bdd38785442e47ea57b1ed2395
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a1594d1994aff749b05658012655ef54d952f98dcb1137ada2034c74f55367c02cdb35941024fde808dd8cd75a28c1b185627a5255c84908ee068acc39eff08e4f730709be0b474f062456ef4e98e4a2dbb933253634420abbe993e14ad27c5bb61c883d2bce30575ff08b048fb4e71ba9736f2960a88d0c42554f249647b3abd14963feb0e54f1195a1e5c77b8669fa1a8d6d558a8d7e69057c3362d46b3e7705923f5db8a74b966f7d66520807b20cb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0ae11a69289f1a407fa0a820402effae120e8489463e16b32f68488e20e0c55511900fb6252fea086aaaf9ecb9962a8f870e991b811dbf6689a7716f1e2123ba68b8ed5c3b30ff2419fcfa802d0c40d45cebe28c3240680f171befa41f4b9fea91bbab429f5f5ae78be085fbcfb6bdfc8775577bb21465776a20fffdc96b5e31a91635f5949da00cab35626a7b2634ca2ea98d83b9c988f7c302527f5cd502c9c234297f7e2225fd61b77d2edfc7bf5f74
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a402ba1d3b18ab0d2d769c879918568158e74a8c651a555dd8adcf8c20cca2b7cbc7f5dcebcf5c346489aec1c43a4639b2dca3e7bdfbdcc2a362008af5c6cf460b0f733e53d84aea0a820b5bad6540000aa9dff17b1c993bcf143768c4c4c5c20de23552de944b5e1802f9887a1baadbf280b241d1797da3ac16e774a194b00b40c609241b249ee9e57e2a61c4e8ba9634422f0fa512eaeac9e913543a2706746fe6492263c1c2f7885c83592f9d00ee4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0af31ad89025eb18595ab061bdea0477419360bcefa214db569541cd61de0f81b4fa2f7482b6a638af85a133cec473bcac57fc822a2a5156fc92f464e07bdd7e382a8e54ca005bd5351c597bdca71bfc15af21019b65720a607224dd13cc8d8fa58e77790906c4aecad52cdc75ca08add3c37f6ff53e29014defbedf67bfffbfe296781fd35c3c2910b5d6c0f32b3bfef7ec8d800b6b7efcface03232b3cdfec7c24b2e1b212526573a0bd080da05e7977
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0aba110a877d72888def3d74191130a8928da8586bad3c5bf6407d85138df5fd88bc446ee3aa8f0737eeefa0058889031cafd1bcd1fb134a836024f8572fcc29932727af745cf2d964715decb649d83985c4530d260918fee4ba90a8d9c94074312f4716face5cb33f540ec50cc84ae463d2adec298307263688ac25ba5be06192342dc7682bb27510973816f7fb33a6fef10a4ab472969b411a3524b742712aa7ba35f9151c77793c9dd708ef8b19e2b6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0ad288df9bd6098a00a99d72878041c778c6f10cb2f8ec007492e8c4f7b84d2e2f809646609036b40e6fc178ff7927e12ab252070c2b6938b8300bd291f8061951173821ab2f5193f0ff5b8b9e0d4b41a566186db760d47995b2754287587f219956e800fb5a60f555922bcab99064def13e3d38a6dd1d40ed32b86cb3db3a7f9bdcf14f37eac0a43cd4cf396ce3947bfe93351c192170b7982964b0d2d696c64c59fbe9f53a383268f73679432bb66fcd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0ae7ea5038aa551f38ffbb5e9ef372184ac3fc5e09542ab989faeaaeabf7e855818b5ae802edd3065f9a87cdd9b34f88b8f2469af10978e08f46ff7052eb6b51e85734cbd152ab2664036b9277b9102bf569debd1cc468115280b150bdf21ed44bef32d50b4016848f4936bb7c85a140aa20a602acebf16bb63ffcbf6f34a30e8df4c7ec93142ae175b4640938616c8be1ba83a1f50444f666e3d406e86d9982396029119c858e0ff0efdc979b01e1d84d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0aadb6dbfea7523e7d458911f2c77d80ce2ad13091a6b3b2ce8dc1db835eaf9bc672200b445cc2ee395612c634a12f7b764feaf409574467998aa568a3504268c410296e382517912eef270cdebdbf1ce5f9b3f8a0ed0bdef2bf57094558e819dddeff123aca5681fe80d01e16fc18f334a560a3b6b87a00bcf429acd075a7f27016e630bcc063e9c45a1bed53e57ae4a9145738c05aa195795fa28037259d961edb4a523eb8dc6f0ec0f5e01c47827461
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a8355981ea462d67fd310abd45bb0606d47b39132592c3e9eeca94e2d0e3047647331e79ef206e17bdf97bb64d6048d43f3a26eaa79a889b191dac49547e47c37e353f89d4beca2a511e4d4c017cfb7190310eee8d662db995a3bc6c72cd8a98ac7a6be87fe4858a9d332b7120e86502272918c9a713a7bb550e6fb2a447a81c21b0cc89ea907d5d0b923f0f6fe8d5daceb00a94c55d10e8a725d566ae4366441d9be3bf2aa4fa11cdc957e128b51d3e2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0ae534fddf9c1aec95aad7135765d6139d774b1461890751144ffe8601568546a679099775cf2632fc641fdf7725c2761b5c8035cad3cfa9b9726577f6d1be48252f9c943dc57998555e5ce93bec1b2753bfff8bc3b0df59016b760452954b58af4d189d1e3fc97318880b5aacd739149325b763a9aa11746c3bdfde9c29e00e7fa19d1bbab8d856d71eee741c31bbc3331e4db383090a2ce8173750ae9774f8ee6c2180156f07a87eebfb5b61e0a7e09c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a63001589f7af872a92eb9951480be260f811d33b964f182999b21c6b55146ac3e2cdf364716fa756b69ec8496e66cfac995e72202f34cbf4d83dde510d5929437d89d30e8aad4e8e7a5d34fd2e2cebf0cdbe5d935a8f4f62be48bcb177bb929067a3f92e3ee05e3bcc5233fab936313d8acfeaac242721aea94860c8e220f0892935b74210375f15faa24cd220fe5e50accef6e8b1bd65449aa1498da4aad48e950abe6ec65a716f8af3da7057371cc0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0addae09ecf6d97d902788bdf27a041d2914eca309ce34ae254c61fa4e5aed5aacdcf65ad765b701f3a36765464dac7ab21ab40937c9e64de9cb6775b9072e4552e853aa910d63f908339266fa438541b7532d3ec4f9fb1cb0f099766b70137776ebbec37fde13f9e354a2d2570c0e7337dbdc70be1ce392ffd99930ed5bacf9ad96729f272959268fd6418b0b4098d60737f68d38fdef9c02b0194abf01c9fdc811454ee03bc9a1ba170906847341e9ca
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0ad7a35653225264b5f2b1645859d6b70dad7fe71eb6d580000f91c03d66b063e5704cff952de63bd6f246b8b5dad01a983be7d932593ed46422c0d89a4eea976de384019e002707b26d99b390b50c48c3835a654b35ae21bf7e25f4c9f3e4e7afa289e4060d8a9f32fd7431740154422a1f771352b456577eb98d3e43064f4a053b9e9ede192aff1440fb93cb55b49168cc149efcb1e328aba6b80bc5b874f7e873abd980f550d068bd89a9d6595b65f6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d5a09eadb528dadc4298ff1ee5a646882c7343afbb860ff66116fbcc788f7b8f3285fa275198cff32529f2eeb4a850a10dc20d88524debf0e318e53e090027e30e583317a60a7682fe0ef7a6d54d82bb7391776d1ee7a0f409b70df1d772c15911fee0dd7a9a9b5f686c0ff88a35b532c1fa4914b5e4a2d91bd3adecaeb40dcb936f5ebfced6c5651bacf3d46b7b763a22b4f0fa868430b971ccf4f3ff576775d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d2edc62ebf6315ff82df3b786e34bc4814f61bfa3d52621e3e95a7cc9e8468061abdfdc3ada1864d2f3984c5f44ad107901330ffcb9ef0497effd796818d6c1bf0e5822e0d01d0b042e03f433604000e14292b3aee94f53027a495d0b333f0ddbafdc78f0f35fc494fa9f1f7cef7dbc21c04a7abe04bdf0b771801c3739383782c22f35ca8b9b8e1cfc8850c29b344f0e5424bc45f93f7d33777c6e87f5ece23c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018db47876c04390dfc622c1cb11b46862eefa2102fdf867d890da985ba460766990815ed14568fda7918d4990f7d69c0c6fd73ec876f4cadffef445d16f1cecc972350fe00116106fe5a5f414ae6a8eb74f7614d114c33c593b07428de38eca06a36ed20395150812fbcb7e4a8ff9396325bdf7d7e9ae864b3eb9af6f8b804d68beb6d135058392191e76161c412ff0c5164b038e00bb55a3cbf8d52932d6e6c82c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d5cd778129c0709e4a4c74cb5187d36e4bd33ae760ace18d1e725aa7fe286472b117cad8a6e49a0c51f2ea2b0511859a0d598fab1469491532c47797cbba7fb998a6acbad2a17ce2893054fb55ac691d0c3571d4060437f8dcac888dde640e5d07ad5ee25387962e43886e3f410e33d77d3aa9bc40efcc71ccdfc5b83ea9e26cd6e844a60ff354221da286407df757406a734e4f0ee2bf41603a55ae3d48891c1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d99a9f555f533570a28a2864a8a0531fd2a4628143a2be54d7efcc2a6b2bd865d1ff8c0c841bb311a27bdd083a5e0b78e6302c0dfc2e887d4325a71dd504ffbcf2dc76d8fed75d6009acffb113054b0a06044177ed7269b849101aec25a4f3f6245475f4ec8efa38806e82a96aab75fbb67823923e3740d7989e7c28ca8be14ca804212ba4d7e0c1afe1e69285395447a6cd33cef96e44b5e695602567318abcb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d6f65ed0caf127a65aacf0691238d86540eda944ca64cddc78fc02d53c49462abad85962172c73735696dc3aaae700ecd7f778518c3b62e9008aa642f8cc59a192dd0298abac21a57b24cc4c7908d80c3f85cb4e9a3f0b3fc8d7b5374cd89010c730d1684fc8538782c6d0d3b8b30342708f852c4f2a12def8cc799875f4409354710678551237cac40932ed349eb1c8451503a104f97ac3d2d2eb96ad5022e96
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d526c0ce5ebdfa86812853a88a9ddc7b065b3ac1520e438eeeb8800231a8884e3726440d858f52d723678a1f31729aa090c0b54033853fc2cce530426af760d7e689d45ec2eecc6568b29f99d1b82a958c6468dabc314bcb6e99890e1fc51e97b696d7a6ff7001d335428b822d780ad91371d2e4f8e006c78e2fce5d3c54e3f2d3f48d96813b856944ac1630fc2a554038cf604a3d88504fac873fe34c47d2248
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d97a4a1537b08bbaef601d45183f7b7f0e6fda6c544ee3661ac8809b36c29f358f7545e42c3f5649be50b6e2eaf03708ee45afa52d0869c44cf190c299c00a89a2e7d6aa0d3aa51c2a72c188b910f2f5ad684d34ded6c5ec6b0a366a1be1fb546fe06e1c05e19f94109b94bcdd034d32455710cc3578dae0f768aa3cad68b162f47c4d3b02dbb83145101489e8c6f0014159e32e876b7296ea81adfdc2aacfd53
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018dff64ad1b4e92a70d8aba45c2a6454999a24b4a0def0858f9249124a11d849b1f97fe72525c9bea1c3a463f9bdeb09fdaf4c8efb5b189fa3ccbd65f0a6ec0d5ebbf9b064f8db2cba35c101858903a92cd6b1075065660eca0a8edc0a765080feaa8d3b33bf8bcd805d39d3b698712bd902821577246d055a14fedc06934c4b54e12d120060f6cf1279f4ce909ff3025cc4f38e896d07296875488e05551f18361
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d647545d7e3cd7d492ce3fafc72a00e0d60a754d1fdbab87055d1dc3eb1e638a48480f2c19dc2cbed853d027e67fe4f1da74371a478f1f54d2a8e1be236f5d09b4b99edfb3e25dbf250827de2bc14817b5cfa8b0571841c9a1392c47279f5630e8593cffdb7f9c68a381066fb98855a946514673bff2380eae0e3c7f32d3c2a0ed3eea7855c12515f9494bbcb84f58ce7d9fb12c2c7af0cbe038c581e05c221b8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d4fef5c85a29382fcbcbebed0430eccffceb712ec5fe6b93a1ec913b60e66298e8a528c35170481c370b194991360ccffb82a0026abef6ee55aff13c8e77198291f0474c5c2df087d4bf81c4943a4a1286c4edbc07f6a1ead315217eda035a03aa7e8a9253cf9b6923eb4b0d6f817971b1d1cddce5866abe5cb6e08a1704f829c511ee276e739e38b00b0747162c90438b6d7ff847d9fb36dd337665e1168bd1b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d880c34acc6996096e79372bda07bbca3caf11fec4efe9d77b7894f3d5e79894d15bad9e21a6ee833a3f40169180ab8bfa14865aa4a209e8e6c328417ddeabe8d4f715102303afb3b7a932d3638c0ded9ddd2235ede4019b12e09e4403e2803254afbe30c666e6c677c885e301b886065e4099f6b83ed6a0d394962637e03200d825b063278eb60ededc38e1c1fe5d5903daae3f85b63515cf26a502b804ebc5f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018dc13b8e4baefad6da34c3d6fff2b40a1ea643313aec7d122810ff6aa8834629fee56de1b51e300849fdc24f55431beb1670485246ad8326c6429bfb891b0a8b485d5d064e4eb9bb8c9052c7d256370628e53f9d17fff4f20c05062298c183171fa34cfff9f1013712be504c86b6d29d272e0aea008a2294379665fe8aab0056a4ccda88b97d71b6df5b29b9219ea08794cb4ba03ceaf83b1591641b20c3f366f9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d807b0f525098e98be1c81e582a2046bcf67d49d7664d428a3c6b6336205d7481acd43a4cb44b3ebeb29c593536cf54c22f69d05118a5c7851eb424eeffc4437b42182d9cef3c4fbfe2d66c0a956374506f2a9b54e747cfbc01db05ff5eec98ba1b2e6368df084460597454283ef26a83a61591cb59401c1892e21115e9a9a38e7c0e06f85c2214d983fe903b739a3dafcdf4291eda6b91ba4f6b3384033492ba
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d90f47dc292c9c6edf4972fbef499ce39b90260f404ad05ca87f6bf8f812394f1a1254fdb1d9dcfef9ac328b5b3cc8bad79118194ecd84c5d662770cf1f7840632c4e4cf46cee0cc2a31c22462af05e907263e4e103fbe82a07a7f64d765be13ff02325f40a126160365fbe76f36d81ea6e5d9e2e3702c5250844cf56728cebca8ee1c4cd4e3d472cae865a9b11127ba8c52d52ad254dbdb46dddbbd4853cb2d3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018d29609c22eda2b1bb6856c6759073e1cc35052ee534032627252bb462dbbb0503b7e1fd710253dc216352397c1e060f744a3acff06ed7410a2ddf5906d52fd0be342c0565a000681e3215f9f9fa5d68720ef552a382d6d1585d2b0da37014f8dd218d841c500180fa471e7cca498d8bed7630ecabc691e8d1d89690e5af00d986a8652a938436cfe791be1f0a5ef71b20b002921692d548fe0ce7080d7bed6b34
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d9647307557c9c6638d6c567ac2d872027c54f82c54560c72173724b34af0de98b414c99d07abf8344f7af6266357bb687bb6763cdb6010b479ce4fcd83cac6af3fde9d13a7e6211715296b781681f360d3b8a5c4294eda2a568fc59d02c733d84c313c80775cca868844725f6c13ecec235a95ee36d280cc2889e2d49bc0b40cbac1b2ea645666792a5adb9c776c39982f2cb635d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d9647307557f4f602e4c4695b0e7986296d364f4501ba6c7f8e4a4d760e6574b8d215884155993ecc010ac30291e6a45298e696a33b79c66e19abc24c63bd1185df66ed1489fa3855b9721c9578859c2166cbc73347e4b188e3a94b0d535d43cc9d595e9feafde008b4b5a40f29951451b5186c081a7345b2ae06085ea95ec5fd5af0b623f99ae347e1a233e9ca5e6d1dae019c4cf
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755932347d8aaef781abe5a509239a9ff48d922e7268d9ed2792274f700b694cfe74774fcfb08e4cd93182b4f054c057a8afb174c1af04abb56918c2ffa4c2e3550aec0c9e1bc5e3c64ab2ee9418943c9fe7d88793f086f74b5183f16cf233092baa1513c42f915cb749f445557d5b909359d106965458e7c2cb2b5c8a4fd2b37a0df36b1d4510d8f4414c2c0b084c424c4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755077871c8457d7f39bf04302e8d0f1e450a96b06e9d559626bfad3cb46a577b9beddc115ed749ef26385147009a6e5ae8cb370c632991eb611867fe9b851bb82fdff12f70961fcba2dd662a1ffd195a536164130673c8dff3c0c69e043cb2dafd35faeba1d899d1b8c45683a11c23d4fea7da742cba4c9079ccbde810183639850c84a0cb9d98a07a702b537288742811
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755d1d8f77541d0d90863b0c85de1c2a1c676366b7bd730314f1dfe990c5215912a2cab9deb16f89d927a117d3117fef54dd3e9204b7a61dabc2dafcda1826dd842978e24ca64ab4bbad7ae25dd0e20a818b3c8709b0dfa0d55b50ce71cb06222337c935b7cf3b55c09f5e505d24ac29f341da82ea23fbd5c7f0dcaa4646ec97fa78453ecd465a04336ba2a3ab596e19c3e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755ab44044a94bb9b5a2b20b4d6f1a115eb1b99299a4b40adcf25f062c07568d344b60c404353711050c9ab66623a62753ec3a59fdb6d6d181391794ecc0ced2d269ad1c5c25ec9269271c47327cd702d459a031cde2ab3d68b128bf15fcf3e421e35074fb39c684fa79f62fd1040ca422abd59cde392da74093d106154c84ba16dc2a7ac45ea9340203a5fdfb4647cc786
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d96473075541b6006f92857562a9633a863e9e102c4d3365af973acfa166930654421c05a7865b59ed9d5d7d51ae5e235773ed44bc45e58a9780ec29589d0558dd3704287a6df684935a6692e0ca7de43ffb1dea9052062c0ae49998d1d8dda1e8f4a72ca0ebaa3cd75e70c32467beec28ef9d22525fd5361503a238bc06142b35ff0140d9befb5efe57b02f10c3cb907fcf22aa5f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755ff65d16b5afc87667c4954290e5816959e31718a0673f01ebdf41dc59181a6b1aff1a0244c51491dc13cde89b7ae04103b09f6e1b80c60f6c7e70a35fd482c8b4f392074a3ffc37a12b59056a507619c94419dbd6c606464ec07548a815ce21cda0064435d91622c766d6e4fc93244f220b6c3edcae8164c8991c96935a2cb45ab6f16f5a03ae39958954ee92d86fd0f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755e556ecbc368b057bff5a2970402a0c1d89197caf2d640723f759aaf0b005093d3d218e8e680c9d64f02e0e699c8c4e94335ef602f32c29447c6451a037f597316ccf321767114aa74393d94546e5b22facdab76ab0a933d9368b16979492c7841bcf07a369fc2aed62d71dc6efa7c8d0760b8cd8522616ce5beb77c7a9a4e6994b11304ce80719d9e1cf41ed72006f21
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755c544a7e585e77901bc4a54b8ad310c407373a22e86e5d161ad3bcc4bfcd7a354897f2d2979a9b66bbd686e3ce4e7469356e52c38e3d0ef63127949146a611f76f902f4e7d84bcc67e3b2e0d3f0032c721b52f7d10a7a94ac33835d25b8c52193c45ca07c588257eb52b7fee1e72094c3a71396aa514ecceaec9970f09d336983dd96e9047b62dcf420873a594ae8588a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d96473075584c00ecd11ac0d712b7b153b81baa5711166518427888deb5c8d9cc3d897b1877d1e633a407b85616ac6b0acbc469dcc265f4dd69058db25b7297b5230f333793604f016ea7f70e6bfcfb1ee5dbdf46fe8216de7cd05f52895aa3d04f6f156db5ff2693038764da58bfe2a277699cdd94d353e3777eb90ea9c9e74e0f78dff2cd0ba7c9f53c9553330219689c218b138
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d96473075599b8c4fdb981ffc11d969686b6f21e8aac99c8f1b21741ef2c2c14d7486290fe987c3845522549f00d65659e395cc8614a65c94d3bc9c8efbe9fdae1446028c1eb4bffe1123d8b588573fa38b9fa5844b8b2c5d91d19b56c5c816f18f2b3e2eedff827c117c9ee491f47ad40b90394df755888bfbbce70043fd4c0c05dd165ad89a4d901538342b72f0f2a248a920d3b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755c85229a27773497380fcbf9753aa7e4b337f41127b86430a3466644ea969d5689022b4b84c3bccadbff1048d272bf483f4f1da8b8d51235a8ad3be36c7b27dd8281c665417a7b549ae807aaf735e23086a31d451cc3f813a1722470b3afbfc9669a74093c9f106f9efd04243c14bbf9d54259875eb06640e9957de532441d6671f18ce8ba4c6d71d61a157cb886593c1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d9647307557ff9c9e9714174086a090dc25c3670916060a709b8a3f36c81428424d22fab3b9023a34642122742f5b73d856b48b69f588e5e603ff0d20b55d5f5fe4400539bb246777c0968d4f3d0cb24b5e78ba7f3c353fe58dddf85fb9e4060a54b3b98e4a7ddd5a5bc11912d68c105053a6eebf5545cf2a5202cdd91c062c44a072fa81d3a6f485e68247f222dd9edd0d2fa9aa8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d96473075575bf7772e7ffe02d8a18f2c9e48a3ce20663e1f6d4c4730b05ef54efaab08e756843a83da0f1a4851c4aae05f360fd8b6dec19bd7ce25e09250d7a9f530c84ca049bc57c74237e4ac04bd82df132f66ac1aad6e9d2a08366bc5d394342347d46e7640acf1117f0e84019ca4c80dbe052e81b8cf24df07a7ef5ab6e1e009c73d7f96a109d20ca425b18fe734c44396539
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755b1479a16227373165e86d5091047280126f9271e60c33f9888acc28c94825a1f062c2d7826273694d0bea6c1ed0865721a721c8695866cd6523c559021f53327e2c3d33fa80442c0078c5f924ab13942cdf42e7be3d35e211da60e27eab9cbf5ac646699d58496c9a4718d4c06c2ffadfc779d4ab24b92e3d6cb9faf3cde03621ff510bb724fdfb69880a7e2531a9418
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a29f1a0269f33784692328e48bb93153e08bc3fe5643aca3661b1c08f04b723d1ec1825d95462e2bbba5145fe6cd032d7abb62cb64766fceb12862f8f80565d6dc9b19b67d7b415e90556cdaa4fa1d960576765573da906f9387ee35673186b3c3a1ebd00d168073f6cfc883ebfe9aba81b71ae72d8d5ad8b88728eebc986b144a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a26ca6eeda85923ff8930ab9d246ebaedf2e1c6573eb5a655a3e3c23434d06ed3f56e35b583b271758278c9d2eff6366b4a21477d1f4938d66a2f1ef15f17cd0216b65731643c49a37f4496347c5890fdd224f1abfa97cb671ec5a8801d2cbf9c5a5b290611d8a6bd603fe62cfdbb786af8b10e46aaad69998576892d942d171ec
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a293fa0b5575fc4523685b5a41ce5cf96bd651bc24b10a94e5d13ac7636469487cbedb995d7cb66bf3515978b55445deb12403d9104a70b6aaee51aed2b4c4bafb5636eb2bca133bbe3f49b929633f031af88030047fcc111faf6e4844b1795f70b84f5c3c243d1171e0722d0affc9e36fac92f1d6e54ca738c2f8199670cf5125
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a2409dd1f8c1432a97d85d928d56cbdf535673f28255692df3569c2fde45ebc62311c9e0ce570db0a825198a9523ea266a3519de3f8abf3fe2fda2b06e1e7ef16d64c94ae2f61383d1e45ac581cb385ba8924af528da7cc765af0a01ab7a537edb069f388ff601641d0b1ea110fc992ed81a014b8e0e439557453cb87ac1640d40
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a2d3257dda63c1a13aa944a44405f46bca0744d9a80b90c1bdd04f59824c9f0d2a8d588f0ce6279609f526430820b04bb602788e966ae3f3a202845e452f7f4d13958a01252c054cb12ac6f37cbbfad5cc3975e4f52d7854b5902576758771a272de1188cbb3e023cfb23dfa523751661f20e3ef6f5feaa209a1e626ab114d0ece
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a2d07e56ce493c29e8a21a7d6a8201a2ea3b3503713a73969cc93a7a25dd1cfb78de450e616a5a0812070dcc96477ae0dabe5ef9d651c51b3ae4dd85f867284254997a47a25eae08cf74862b82d4411d30ef1f383c6c4a5533ef5171ff99c4f7b25bc67e6ed63f6fcb864d38d9a07e892eba3b2ba7e80bc6ce5d50871f400ab16d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a2d32b30086ccacd9127cd3bc7fb84e1863553cfd2c8b83103a5adb10a01934d6fc19a59998bbcecd01b40d0ec46991df747e231f3d3529b54bf86c5897e4044d4194547fd53a419fa607ad52f108c78cda91381c3163aa5454b29f7722c8009f844503d19df1320ab7cd541c17eb58d6e745a2b1dfdcc8b15f3938fd973308f8a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a27fdc021b5694a80a54e22e29cf78ba8b8fa74c05afd03d1fa8a8b5afbdca6d9822be6d0859cb63b6c11bc6718da88da8ab1bac2e37172188124206cf9444fb73b295e7e8b0cebe829034648ee8de583c3186622af9895ea0c3480dfeb07a1c9e3dff4fb78875708ccccac18c05382b6cd7e7506a9b4ae62a438d33a5011377f5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a20c13a620736cda89d7f23ea1369e61250ad2022f4d52707d1eab38e0717ed8d764c8963c1831edc1ea1ab03b10db7bba6b2bc5a0970ac733308b392fb364f2398bce8a1ba5d5fea6393ddb9c9ab961712fdcf7618e1e06365cfc29ac4723e8beba93ffcd9092742ed6e93d6fb8fd1dd37a8ce48d0875a25efa02fb79d8a8a88d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a29755ab3556ab129653a8b1988336c299924fa59129ea043592c6b7dfd4a4a6e981d48531797148ab7442099c1bb107dc1074fe35b080d32f23216b0c93e99f942283fc684d98ba4311322410f5a97c77c5af380064288f6441fbdf9b242aa4a1f3a4be9afb1f54dd494bc590b030771b4b179760631c549c55a7787f91d0f5df
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a2926bfefee6599740193cc53b16199ee9938278a7cb7066708379ae8788ce795e3756677941b79b9d04ad9cceb2d70318df03594662248761a48f6c3c60f642073189d0aa12431eba81c56bdb4414abc37e33ec7272d964dcf9b263bee27f3a9371c148cf54e64c56dcdfbba8a0359d344d548b0f34e471004daa355a079b2805
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a257bcaffdd905a55bfad8f14b421000d436450f02100da3153229a5a5aa06cd72d23a79ba4a0ed3f882bd6475d9d79f746a31667a6d9abe30e32048e8cea52139f0cf6cd4571b22e16748d304b5f5ae3d5656b100b103874795f1d512f390f49b4a3988c64f26b7f19a8f03eeff98d2094ecd5fb69fd7a07aaed79f26b4c1af4c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a2fcf45b5609280ab5289e83d1fc7b0e718d6e7576d0ca321fcf4d3e4ec5957ced6fba222cc007ded0a0ee6808a7ffaeefe7ae38a4333c146ea839b4957742b08ac84ebeb82a3ec9aff3b1bfdb6512f747dcdf3bba66fcc575ce05e0209257b9287a435135f3ee9f3e42b6bbd161f08901416752f7682d7e0c0974e77ae15e6ea5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a2c3056e523476e744c3c685c9e2490b1e9f9f875206a4f927058f276081f13a4866dea5dc61f280e4dfd1e74ac93745e2baac0167b5db2b053bc0604cd247e88adc2a7499cdabc95b3ce7ad2a6c1f15169c80fc4ef0b736c0918a752a26a3218521b12918cc748d4645e383098f63d9e94f098de766be5dbf4bd2ce31ae5a36f5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a2c3f87d634f3ae298542d4096f355007d305c09bbd6c8ad6140547ea5e6124493416ccc36c955ca44f5b0a1e68c694f3984341ea1331fbac70ea38879374b7cdba07fc8782e37beef5c2abbb72def986ba33dc1635cff6d7d69eec19d9b8327db7f1762cf7587d8a948e00231d7e1bbbc7c7d8eafc48039c69142615c1e2feefb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a24c06ff4e8eb6d2c150616a8997959343781988e25246afc84e474d3abbf6554d40d0a8d2a9bf5bb642f248ae89d2b4fbebc825561f220156837655e1e8b781c2fba9230e2f1565d0ef4614f43126776040ba4acf2d316a1a77a82a2d0148c0ad707274bbdaadd3d7dd336409273525efa70c5c854297204a961731c28316a1b3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d822e65c7dabde1f8fa438db3f55fa40574ee38cdde0635b3f1be309171093735b7b66af17a72b1866a744ff175c119df15a636b7baae23ef835808b1ed57278628fd8c254de2c6a1f8c5aa873834bcc33fdf39d5ce995b9d554d0730f93c69c5055ba30cde5571de0c182dc5c57f57
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e83727316a6760bf6d794d02a90807cd684a5fd1ac04eaeb5e5d84aaaa97a61ee38a1dd6f22a4505a599f49f0c62196198c6a9992cf6d84eb795663c432c710cf206160580ad003ab6a85f1a1b17d0ae4f28d109253727a5cabc5126e4c08e7e2c1739c25b1610ee9a4c5f26f8090081423030
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837278ecc3cbfeed37a919e1dfd2a2c52158d5db7c8a238d5a977b9949f899755307c46f27f68ae0bfd772ad373823f0cc7803889bf4ee4ac9e44f9d652b7256894b12ab02a08017df99ca95846c70437557ac808f2365e5d88704ef3ba78817ce8aa29c6cf5ec415294a2f6037fc304147b3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e83727b643f67a9889e20fdf70b340d52341e34b6119666bc1ebf48b47499eb1f203101fae598eb4f820703938a0b68b4c693c4435137fd8f182a27c754aa3f65eadb39591445eec852a004dfc50a25f5e56d1c5254ddda0d7c0fc0872f2e50c7a9ec57da633ff164adc5af4c5aa18386cf2e4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e83727905342ab22c46f8b90c2d62cff112e2b21a41a83073bf6091045465c3e35cbf831c862b133d580456625326c78c6845bc7b6d852aeabb094ad7abfe994d8c242d5309dac2388667e7535aacc0a62fc38fcb40080c2f1443692b48ade25f4e5d7e8dc62649583b5abd53d606cc9c6864c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e8372738ccf95f0fa2da9c9f23e23743ad51a81e0345ce627b43b4551728805088a0067c26e92b71d6a6c1e62fe9b0ac6bfd1ed62058897611b78a5ee6b6b9640c58ff4bac4cf472c8d040fb9d5410efcdbd61e5aefc59bd95762bab0144c5a6cf90bf4a24816f5c7bf879f534def6ce116227
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837270413f83bca202386bce27feb2fc74e8c84bfd98472a989db99d1964a59c85e7e153d44e1450571b148ddbfcbb6c58568e08aff0f54529d8baff7b24ea2f7de08444b20455667154b3ef6597d71ab8cc8868cd4eb777133c6eea73843a93db5973b8e112f271bc261f3d7e5bb97e5dd09
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e83727c5d2129501e7e20ee49504cdd029f01a661999e733bb3ca0bb64e9db77809e84a1829df35b4be802e8a6107d3e2fc7b2a2acd9e132196b5a0f0c6d11850488f726e63d292320ce43e338f8263b621d2c945ff8d5672f6aa3dcbfb0757cf583bd2885253e78d9d45dbf6990666d860e83
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837273f5ba538698801407903fda70224e2ac537ee5a997415a028d4eeccb00988309d80c19dbab527f523a72fc454c2978f79942eb5883e4ffb995940d011fcff4ea53f6fa1a00665716ebc08ccb20503e9e9b1fc6bd979c1bfaa788ab91dee87c0b8db2287576869dceeaef742a37c8d1d8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837270fbc23dd66f560b6ac542b68dd0c9f3751eb78ac147e59655ce241ecc8e5f65ced942e733e7f0a49007d2a88ec8f38247414d6b32d3bcd9f3b32663f907f2c068fe46a4695136af9678affab9f059bfaaba4b2469d6decf7b63fb1b8490edfb09163500c4914b47604699ced055998d0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837270402ff5b657a6a85abf55282f29ef2722f829c12ea5c21a1798aea2d168cc494d618af5ae8e8a5bdaca25c750a13d70177044cb79b023368085df815f03f2e067f2a83485fd7e1ebd1b47537ccacf1f73157ad786b69ca7eb3bcd3b0301b69a52342275476409dd950ba98304ca656e8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274c1338dfc80251359eb4a1a4a4cf985e41c1b094e35131b13faa311f562c3238b42a195c6f3bff7a1bd35f5ba44c98d1182763bcd14bb431ac8e1b549334267456cd968130c9b3d5503de01a70000066fa34e2b3a67ce93d6752aeb7badf7a66cb0dd3b69bd3aa5c406bd66a29dbfef5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e83727ef4c0e2a21463f63033bfa850e93f95a59e41be48fd92d6fe8253bdefb6fe9b50bbef60a4726bcf52b35939293deec2d3a7669fc55390282e8a038dc495ce186a3f6b4e72548caeec6cbefed1902ff9fa0b34e6e687ee4ca60c2dd8a081b046e3a24323006feaae8961dda09bb245843
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e83727a9c57116f34138f974a770ee0b9ab2532af97e87114c8458faa15cb7470bb29dffcb4217ca79d52cd55acc62ae823e219c7e6e305c00454686fea301ff22da9c0a27ec11a81ebfcfd6a3996673206c908a490a1dfc4f174271da6863fedee8127961793602c14c5cc9e28ac4badc1585
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e83727b529a0acd69528ad14ef557e1ac030df5e522017b4d7d40f987d0c2aea1f9f5048ad2b74fecd7ff68c7ff99014971d7ae1c486e509f5dbb0762478910e33e4a4fced74f7a7941d7ade9296c9b7d64b663c492184a0a6a51538762be6edad53bc23bce1cd94f391b8e949e001e08c3452
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837275a9bed13a093eba15bc4487dec5c37921e137a38491e7418eb0c5fea4b033e5b0a5754deb6b2185c473276f3e6232c7c6890f897120b0802086b17e20566c7a56b4ab97d6ec9ab3bfe7d3be1e059f10b3c2cec338725e8bb8e9165c11cb902e012dccafdf8d312638ea0a8de17e263c1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f6258b44411c4d4c99b48107483600e090c7be3e0d58061947d0593ff05417313faf17b265a6b39f1d1483cacd7cd44654a49f6cba6545dd4369805640d858efe2b2d7c39cf71aaeeae85f75593485b6d19b35d8544b559d4fedf346d398e1c85
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f9122e4ab9c56bcb885443f3dc949aea1ff7ffc9eb62fc90830736c1f4dbebf4b1867032d43bfe6a493a466a806940cf493a736f093c082bc35351eddfa593f057451dc956dc05f3cc7c1d52e5d2b8a7f2fc38c6a4d77d5e8ea1650da7ee9f279
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418fe3448d214d5ccc09445ad032a568a3806e274d23e56889632b843de29f992cc0b294e9a9195bc279a1ef0e5ebc5789c6449a259d497331eca218245cf399592f3c727410f13b38b7eafdadad952bcb58d2055790eee734d237e250873b77a889
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f79be095619fa69a5c187e75419439d5ffbc1a314d799bab6c3a2b270da623e971ad1892d212751600d31b181eb61784f1cfd500b6e71070d1478b61cdab7f6d80d6dae703a7c9214acb62faae2610f59455021592d611c1f5ade028c24b70938
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f07488ccb5bde8bc7848df4fd64ac89366c4e1eb39f77fade5639bce857a283d733f3334bf271537e3f7b8dbefae9f4bb18eea3ed3ec9c6582cf835077bfd97fd4702f0737bdc86f3824690d187400b69d3483acd42c7ab3493737387cb4c8da2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f704a0712b3106622c1752ed984a52bced50373a2e65bed56b7f778389160bf7282fd87490692dc0ab17d93a426f709c5188883b383d7a2acd83b79d8086666b87c1f6bc942ed5fce6bb72205a9a3083af640305f2b6cfd02242ad78f989fde56
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418fd39789b82859a5acaba7f54c6ca7fba5171cb3ffe7a8fc9959dbe273c8cd22bd110b64f42c6b5106f41e4a45471a1348fb38e2bf33933804908416129677a986a2aba4aec6b707ba0a9298f55be8f8bf0f572a4e35f06dad2472769c233cb152
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418fc317ca838f2ba7440c425c42eca96cf8a448447aef35a60b294c3c900ee39818fb66946ccac474b4bf044d67ecbab66c50e95073bd3d4804c1b43efb1b4cfce2cc8f5c7f72aeb120be0a957bd5061bc98ac26f6b76be105779bea2e8fe7fdd02
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f570e0fe074a5770f7c5daa353c83cbefe0a1d502dd8927ea68eaf45454680f94e0760c5f4e14c3ceb2af92d4c982df14a44b7ff77fbe51bb8de90de4865adc46b93c0bd98440183141a96b8d580d6f00162644c05101867a765fe29a5d0e3b0c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f501553557e1579028b4aa4f77030a8f808d7a58f16bc155eea9071b71a5a3473d332ab7851447786b39e9d5c5ae890c238674581750665a0254287838cb4040b7b65c21496a3a59011b422b126f9168936b0806e15a5887425826f381aca8bc5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418facd56a5ee504149d9694fba00bf6cbedc5bd2c49404962cd6f9096af195bdd92a048384c9f20e6920b46afb12bf031272cffc81fd3c57c3ff63cacdcee28577a247ddcaef7ef678b9ff0b0d5a44dacc256e4b025fdfcc58315e0d5f4e8a6bb0f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418facc46e59298d419199e0b1e78cb7612ef03935b4e6d09a42eff5ac61ad459e0868be76c6e58e9c2cdead64655a52e487652116053cc0e08bc861d8231eac23e8f21d62406f73e64bce75cd278cb2eba8a56a53524fd3da4e05744158b6aa197c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f7c85c01f0ec6700b475679a2bc7fafbacda61863191bb9c3e49d4a606d01ed292f46721f365e75c14da6cef55146c6b801bd0c61c600764eed76087e2eafacd87734bf73705a4827238d903347cd94a848084718741564e1705e09bcd6b20075
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418fb01065dc180d664c5ed57d91439d3d175660dd745a6a04381ddc3d71c593b5646b1df8bd55c4cce476072ef13062e89e2f920fd3314d1d856c181c53288fed39dc3e75b56d0b5895610b708d86e5921a6098de8ac1516afc621d203211a471af
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f0f80023f1def876fcefac74e941e8eb4f5b22ec2efeb723935b22bfbfd6ea53ab1c3e7b32cbce53a9789fe36378e5261ae839901aca40455a14f6c585aeea6fdf52ec75aee3764e73a9e5a2ce636cb27df5b3b44739a2b59cf267a8adead91f5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f67186a7602d1ab0a831867c101cbe9de754aa2a8754922a66cddf24e96e8b87e124ca69bc96b3a61be005f899eac7dd75f36c30b8ac20582ca87f7bf40ab2a8f5535a625da404a2a5e91a855b54782ede41288332ea4d59a9ccf3a2cbff26df2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed80faf72aae6081dc990b2cbdf2173dc7dc6784ab808d4acc756161f1cfb16a0c2bd2032b405a37783449afee25312a028d92f23ed743e9522c20e108833d799565c76abd0e28f5a3521e28cae36c0a04
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fedb731763cf30c565b1f3aba51bb36aef3356be3760ddff0dd9dc4b3a7f473739ba241c38e6d3fb0b8c55e226a1cc028d29234f8472fad98d37f945cb1a5cd81bf3dd823b0d8e6183a74ee7f0b3d9a5f62
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed637118b49765712d85eac6a2c43128d639ded7003985c0b4f912744fc9e691800a7bf18e26a703b61d17aea20a0ec799e4a893ff359893414df06a4e1c9eefce96c6ba58168ec0b2346e7d1933675fa2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fedfd8f7659aed85b17eee4c6d620cb20fda28599871bebbab3e9750a281bce8e0c942df43e112c3c18c8835b447e4fd6e63188dae60738f74a94dcb43816ae699f64bea0689695b797ba94838401f4529a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fedfcf8198aa744a7726883480b14449517140f4e651eb870cf5122b762a86f4ea7372e70b96c6b181e40b68775b4f747d3124def42754a47acaee7cc3445a14ea7e98755d183ef9f2ce18bcf0b54e850c4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed4ce8db8a268d302c582b0d6ad094e02b3e43dcbbd43fa674888d94151bd02a9c131e66d135bfa59536f5766ecdb63621a6047d66c1ad10bd515a96333575e6c61e37333eaca2bdc407a1e4fbfb86b076
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed671b32eb3c609eb963b7864f63fb1d4cbebee5c5310a38ba9e0f122631de9c45b9dd453191a1ed8afe3d89ddca7379d8e8b50a7672a521c1638647f347351cc02ff5f85754494f3ba144fa0fbc8b4ed0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed681d7b429b4bedf78b4ed01aed991bdd3f33a128e6465e51b3428eca6ec51ac33c487e92a579680d77f15135474da6410507c23c6197d5885a27116af4a9a6d117a69232ab83b9b84dcc9c7e76ca492c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda6b0f2ab20ab93bbc2c44b961ea15e4391d98e9141bb4792ce5a3222c66e99c157efbd6fdb432ffb3756baebc84cc725b6c7eab736b1a363a013374f28a3eec7a748418d56419014ae7dad17cafe198b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fedb7958a9d1a5635587ed316fb43bc04e42c162115910d4c11f42dea1c6462176e018f6aab685c49e50654f94a4182c606c57f98534253b1d98ed1b7020211cf5d19074a17f94c3ef0429ee3b3866863b7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed9ccb93abf2529cfac39b2b6af89b5c926e0631656dd0916bdffbb8486e0ce7c9bd96a5d1cb82d9f2e77988496fb42b7b4cc3a6ccdedf0975013eab1b5de8c7ec225155faf858d32287af0c235a275852
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fedc469c1fac1cdfce3701daff433bc0a211768f0d6946cefdcf878922077b9e6930624866f258ef4e6823e1c9d528def4d02bad56293b62d51a70b61b52203ec0eb855ddeda13fc282ef61af85e72415b2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed6c64e15b1f5c81edd49bff9c3076a5c0f7e0288a483214c6dc52e7b38027e69a2c70f1092def07a7601534baeb3f5107a6ff5e8420da5c5007efb3ae7b665650cc7f16cd3c98b11a950fab8c52d009e9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed589e6695270bbb62b08a51779317aac9112f6b66bd586315ba779dbc0e8fe8e885839b2e1cd66f88c9e7f6c5bbd3a2008bdc1ad466d13c215c6349c6346da741c44f361519ef97674b0ada039a53343b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fede49e4688fd0e7b50ef8dc5580dee5dcb18399704a89717373a7197f6e55f87b0f0e9e249fb7aeae2fcca31505baf6eb721be0df399b9191325889bfac5009972328a2f9113dbc3358f9c65da1a459cff
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0fed6680f94567cac4a030cd56ec0d6e8abf2f0a368314320c43a248f9380d5511ddb7df60ba994bcb0606109fad58a1e46ad077dfb1827ff6963614f9c210e0749fd8fd37d719cb1b554f88043e17b3f9d4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551d617dd2023ad03e1f8acaa4b7e820710adfd76d72df2e21f977edba61d1ed24c9d14d79337851cf0ef9de6f642fbd91d5acee688e08e8d2e7d95d3d8f3665cd9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce5514876c1f89ce84a07baccfa91871fdd44e21fe0f2ff8b45fa40d82413d5ff89c1312d518aadef8f57cc55d7ef6c68dfd4dc48361b2964251aaa86c894a6d984c6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551c850f1caf6e8e5547743ab1499f46880b86b77751d28ebff6c96cb6d099320a8574ed3681d9f0bce4fd97282cd67dc104bb63a9c2e455d9dacf705d67a46ecc6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551c106a8d2dbc92fddacc74632f08531db377e3d4be4744cffe39f9f2070ffdc14aedd21c639bbaa5aced10c3a6f6bdd98a4a4b295e13dd40bf0677013eebaaeec
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce5514be30a285b8cfeac3d9f7721e5bcd56aff40c88f79bd484514e1da9518fae24907da7c1b58df127c13cb9e619736aa4f2a9cc58651924d5b99441ee2068cbadb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551fceb5da3b0868911b8842406be94fc773187a868ca34be1d9207c37c856db3d18dcf9f777b8d057b674837da04d21adcef2b1e8695ea244e6e335cad36247ae6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce55141ea4c270bdc979af52be4b9af5a3df386812ae777e776c5edeb9cf960bfd272ad0e597e9d323f5a24a39f92ba1326af7baac9517aab6e40d0f080fe510aaec2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce5519982a03ff99bc342b3d80bc4b7bfeeb8d4c698b7ec9a9e44f29389c90de2ede1aee49279b4e275c6b121341a8209a0bcb4a17840fcab90db3b5b22f4fa971411
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551ec7b8f4b61ecab052044bfd1de1675bc69278741517f74e1f90e2d1bd3cbedd3abcfb4bb8e1e7783b4fc8dc0523ec067ba2b8c49d93941ba7fcb86165d0e5915
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551de676a675ee1dd297eaaf79eba9675839e81a73592dac2814fe9c172ec53493bd7feb4ad6e700e2ceedaf506454b8c86e6b3ded5b835783edb2f126f3bca74f7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce5516ab535e445b0b1bf1781db2ab8f0757f1b7c64f20bd51aaf89e9cdabaaf2dec6a40c006884ff763e0057fd1b51296294a500d46b895da1eb8be6ee49f4758e0e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce5517cea5d8a2b339f3bea30af6120f87c08fa80b77b18d43e1b4e1d543ff8368419860563a6697581c4624e90b66efd53d2b51d2aa81ae45e24568abcee3a5e685a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce55155b026ca32b4b9df697f4b957a4fc5d0caad6e9eda722e783af0d19b61228ccd3c4e685e1b713cbfb01cb6acda797a703b847c889d78af3b34ef4c9d1ba0b91e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551886ba9b3edff352890eead6f67130ef6f91086b0481d75dbed4bf57a769529dd3d1f4bbd47d7a46e8566957d3e70fa078055e0d328208a4fa1c81fff363b6761
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551b828f14ca8485abab97c74dd2447cfe3a8d02ebcbcaefc5e260498678443a8d9ad33a0db7982bee87c3b5a44b0caa5b6679a6158a71e85a48eb7bb3679f233a7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce5513911fb3850cd6224bcdc2d1e2f741301d2751d50406613e85ac87cf6e403eaa607f3051f805c42d602f1ee2ed62f52706bf75ccbc2ca41993823b45faffb6974
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a0b0b9093c6ccbfb8131e7ac50b30774a0711cc3ce5877e6261886a70bdbe03aa3e7b6c7c44a2a3b19595d6c35b1392d6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a6b0044b2fea338a3b88d4692154b05a29a1c3b4849666201bd278ae19776a8ae5fa5d3d3f778341db564bf21d00db806
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411ad2a7322b17e2558050076e142cb18d5554d5503791d0316beae1068ca94cf13b16ba42f0e8d673a1a6eedee171e1fe3c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411af46e97955798691d35a91389b438fd00b7cd4970f588b7d1ea398086df1e5b2786e225c20eb14d4ec10c31b316d5079c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a332c56b325500e8649ebfeab3d5fddcc3c3c269bf0eb3e049650956b1b80cef89fd7d97da002b21694374002c8433752
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a50223ab0ece0f8101931c3ab6a8fa1a768baf90fcedbe0fd143d1c0caef7291680f17ce3b32223b7d779df978f94a887
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a062f581ab1cd9acec26f8ffb0559e3179c23fd2ddd5d38bd8509635d9bada1a97dddc471d4e2d0ca2afc7dbf09202696
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a2141f11f47f712fdddc1b89efe106f7cee670a39e3044a734bbf685bcd24585c7303ae863d3c5051dacf0b4b56d7e93d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a0f072d0cccd76eddf65141dac78c54366bea2c89235b642ffe7f1c17308d7d9248465ef50634f8a458fadbb9cfd73c32
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a600628367eb9eda5ee8ea20136e7d8c53fadf4da0cf49a56ab726ff86dbfa4bc7a870d9894651d3ed96a68ffeba1909d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a819c9e76e1a12c96829f220d7a57e4740dff6f2e908d204a24273bebee430a1677366d1703dad09a9a7953d7dc5a55ab
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411adb2064385c88068a9790ba0dc0bc321ff94f4cb7dc45c7b53ec8d54d987a535094ba8f3dcc519dda88888ee316f9a9f4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411ac3d92bc259a957f3465fe598bafcd5703e6c6da0c647f4ac6506497fad4dceb1d591f692ab0c714c595efeeb90a59b5f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a6aa2db99e526ec3bbfd1491b63e89b845a4f1a43b4dcc093816766f4e7391790c34bde1a8fdc454064f2036a77fc73d2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411abcfd68b536800cdbd54a1ba6c3759cff8253e22b1f2792077f932543c181fedd18c26a4325733babfc8b646e3015ec95
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a0981378e7c6f7058fec887b37a5755f6c7d730b445aeb33d83ba8bd3da203d8e232c3771dcf8251e49406a73e24102ce
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4c9bbc968dd1319a79c9de334ad43c506aeb3dc184b28be92ebf8f6bde7eae301
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4043f2c27053a84f6a6d63a9bbeb48c5b147349a1da6c8cfe90da8fe169e7187a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4d684b965bf277a50bed907e5b385c99e11aef087ba2a9807eb5dcd3141a9d64c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4904791a25a64e285276e282b9b2386cb3406b9eed29480d3e3752fcb6f38b4c8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b494350db6e4d73e4ab2154ee506a3662f49a30641dd2549b764115bcbe4bc74ff
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b449393fddf7bf8c1909f9f9c2b1df7b4dea63a731adda91f22625240540e2a8a7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4e13182507c76fb35b8e5e0719055eb37ef7823b9dd6e9d32900527435ed66a07
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b450a8b42797b1aede6aeb73d21957d268b64088b90a14713237c9f7d66fdd6115
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b44587e02aed2e0051ec3491ad5d92489a76e5060b20a6b6e26ad8d4e69c8997a6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4248691932a4944764d99850b3ee8ed8077fcb04c76f94f1fc499d39f45a56d34
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4ac4d33527d16e38e9fe59463a8433cc1eac312e40d8196c25449104c66854ef4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4eba0e9b2cd4783587b5bf1a9b468b727ab1e0248fd48b03d935f244aef9678d0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b4671d4d2d9f4d72d2bd29e72a96524099856ff5f26c30d1daec616b6b5f3b93d6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b40682c6c78c9399c4028b5236e945d3714be4137a61e53f597edbecf17a6b1710
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b436360eba03a25e9aa88458b78dfbc7801690fabf029aeb03882214a5b00c7691
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b49eaccb002262d7468b401237a60548b61de5301882ffa8168b6d172a8ba0937c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ecea6d92547492f03d5e5ff50a4dc4711b3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece9ac255e0b2b296319a5f65e8ed2cfe31
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ecee2f8690858a41d85e0f644f2674b9050
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3eced639edf3d5ef8147431e28e3fa1364ba
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece3a19bcfdb9bc6665ba78e78700118e07
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece199bd309c295062fe0a9c116ec2aa55d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3eced1be12596885a4482c372fbc999e8331
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece17d505d0fce4b284a84fa2b020eeaea5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece92a4ce0a653a1e6b18ed1f5f1d927b70
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece61ca0c5c439a3921780a782b08e8cfd2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece000c0dcc51787ffed877d2381caa4849
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece87ced30c5463889552813fde794321df
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3eceeccd29ddf40018eb10b2517511d0096f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ecebedc3c8ac1ba6d6e494f48a398f986c7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece489362158d06c02bff6e9c8be4cd8e7b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: c24738f07b81998c80b1c66a0d4e9c4c2f6c80c13eb9e557e70768f86382a300724998cfc1b0850270e9b4c4
-TAG: 25ab146e770a444418e57b6ab4bbcb78b2f1140cf70cba3bd2fca99aea70d195e0beaa8526cab8e0c0974e8d740415efa40204c9dbaa299c612ffd92be07f0dd4c548963dd5744703dd47a8a30a7ef46297401e4bdfcd23c932635d9f51cb0cfa717bc0a991703d4c318af09a04c664126e4018daacd226a92252899615554d964730755cd267d679f17dd192be9cff2f59317a22e2cb22410db7c19a3d94bb941e837274d31fb35f602a123ee0e2ea0e4e5418f87ea165b4c53651156fcfe645e6f0feda51988c82d2ec5d145f7e378977ce551e32ad75dd81d22185a6818703841411a4f8ad2cfceec3703d4cb0591df6964b496c6cf7d5499209352e513f64d5d3ece57c5027481c12c5ad3905328424e9b0c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: 095a8f557f75cba8e2452ddf97c053904b48827f
-KEY: 18cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e03744
-NONCE: 
-IN: 
-AD: 936a91d0b5d2c02672
-CT: 
-TAG: f0f0bdffdd657edfb0a67683de74526ff023548d1f03b78cf28be8a0e3c83523
-TAG_LEN: 20
-
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77d
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: c38859c091
-TAG: 50f4c2dcbd409a6ff0d4d7e8e993099edbe911646ebed3f6d87edf
-TAG_LEN: 20
-
-# DIGEST: f1efd4c11318f4558eb4a50d5a5b9b1e540f6dfc
-KEY: b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed8293
-NONCE: 
-IN: 936a91d0b5d2c0267218
-AD: cb7090c6171386d641
-CT: c115f1a248d83231feca
-TAG: 6ffc5cd326750f8f8187179b60f166e92d542483c0b7
-TAG_LEN: 20
-
-# DIGEST: 995341bee01fb91132d1af8394401144a35bd965
-KEY: e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c617
-AD: 1386d641b87797b684
-CT: 8631130ef1a5b83efe184f1ee509e3
-TAG: c4303ad9b3e4713c7dd6b4fce8eac3adde92cde2047ca81c172cd08d1dba079452
-TAG_LEN: 20
-
-# DIGEST: 73dc06657c34ffcc71e6662ec0a52aa7168c22e0
-KEY: 3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aa
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b8
-AD: 7797b684e0fb56f97c
-CT: 2b1d137dd25f4a56ba01c8f593f02570020636b7
-TAG: 7007113b3ccd87d21292e5d674c0a1ea04a5dc7c9bd1aed245311ac4
-TAG_LEN: 20
-
-# DIGEST: 6a5e3024f92e29f8f3e294f87fb25572c0390dd1
-KEY: 2993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0
-AD: fb56f97c3961d8afa2
-CT: 4757880b2deee616ee76b399b5daa8847d4ba61b4d8e48a171
-TAG: 16a809ba43123adea3041010b265b1c8719473aaebe3b3
-TAG_LEN: 20
-
-# DIGEST: 6f192a6acc2fed00007506adeb1dd454e2e92809
-KEY: b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c39
-AD: 61d8afa22993a340b9
-CT: a64c22f959677dd500a8ce52b3b43ace3fe4d49550accd6de18d02fff1d2
-TAG: 8d292a3fe514d44cd38873098e987ae5c5112e2eb827f1a59b85e249fff2f7de54c7
-TAG_LEN: 20
-
-# DIGEST: 7faa4d4ec92841e45297553097f2ac2ca53d2592
-KEY: 1df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa229
-AD: 93a340b9b3c589c748
-CT: da502c1268d382682c692d05a27e9a2fd87823c47c1fadc0fcbaa7ebc5ec33182fa710
-TAG: 8468bd9ecb858b475664641e24c80cdf664d37c1a2a1155cb95b5ed714
-TAG_LEN: 20
-
-# DIGEST: d6cf3a4fe57328e885cb10cc7088e0562c7f91b3
-KEY: a23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3
-AD: c589c7481df3f4183a
-CT: 08ab0e7477cd533684f773e3f2df2c02e41e9a2de22b398fe1bf170a52778b9aa8f29439e8328b7e
-TAG: bc54e75548b29ca7ef7b15d6a4d40ab43d52ace1c3f1e97e
-TAG_LEN: 20
-
-# DIGEST: a2ba1bff3a6dc3ffa8c405fb8f69c41ce7c1a1f5
-KEY: d88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481d
-AD: f3f4183aa23fd8d7ef
-CT: 2c0c4953cb8b272100002493ab55612e80a9a395495a89c31fc1b927d17a058d980dba7cdbb96012eb300ec57f
-TAG: 13bac6bbac27b0fcb5c8bc0c43d3d9f7a6ef251e2f86c56a7620a353faea7527a50bf7
-TAG_LEN: 20
-
-# DIGEST: e2825275a794df011a9dd0c6061de3a9eb2efd48
-KEY: 8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa2
-AD: 3fd8d7efd88503f78b
-CT: 9da9a98c18acb8585d11615ff6fc6847f67f5c123868be7f59b834af799bd322841bd2745c83d93b880ce4982de88d8a1db4
-TAG: 9ccfb3a87a774f30b159a804b6ec173b19c696e67802cd2ce4eddba2f686
-TAG_LEN: 20
-
-# DIGEST: ab656533e45e90a45a508392ce59ab9bbcac27c2
-KEY: 2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd8
-AD: 8503f78b8ed1c8e9ba
-CT: aa10f163502c489d9d4e51893fcdeb21d28e682d37f202f4a606eb8bf7543cfcde20c758f58e64f93bebc2d8c2fc8408ab882be84ef65c
-TAG: d2e1467b1ae696bc221bd1412abab6b61e5efa7f96e234f407
-TAG_LEN: 20
-
-# DIGEST: 0614460f6ee128d42ae79b1dda518a0f0e4d0d16
-KEY: 0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fa
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8e
-AD: d1c8e9ba2fd6773e0d
-CT: 1d76d74a882c23d4a9c2f025d99239bc51c2756c038302bafc74cbeb85d79602a5d2cc80f0e81fa2869ce3f0de2612ca60c7a2e46993b3cbe5d9dc63
-TAG: a30ca51820b3b4c3ab43812a163d27c9c1540f2d60ada9b3e0dfba2acb213b53d99b8393
-TAG_LEN: 20
-
-# DIGEST: 629525ee366d420f18c6a88fa3a8cfecaa1331f9
-KEY: e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f
-AD: d6773e0d0c302a5f47
-CT: 8c486099ddb7e81637f3e7c80af6b1212a140f56ae463ebcdc4bf6637994b9a5fa363f5f2013e426d3b86867beec506dee1d833909ea8005656b3e809c2b3c3985
-TAG: d6d7dea1f7f9471f17b9d1ee7d73716c491cf321f68a2e6008facf99fb31a9
-TAG_LEN: 20
-
-# DIGEST: 79b26abc71e1670444167ecf48e093d505678371
-KEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c
-AD: 302a5f47e037446f58
-CT: 87bf1af7e4987cdab35bfe32adc6b1be286751426cf926217f2c699bc095bde7b6ff3d6cc96b79328ab776547c2cb756d9de8c1245d21619a51dba8364ef69143a9e7a0d4c7f
-TAG: c792362f2c47f90ca9d6dae35d906d4fa112a5e7c7e4da861b5e
-TAG_LEN: 20
-
-# DIGEST: 6cd5a6f762364b9814deb6e1cfba1eae5b0f31d3
-KEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0
-AD: 37446f5891d77df660
-CT: 33ac574b7962d03b7816c0199a7f661a485832b9023867a749fc4bfe8ff0485571744f801139afd8215863b23e2d68ee7a254c60d8029e0f1ee10a1b947a4984df605829260ac2db2c216a
-TAG: 22abf02fc3c1444a138ed55217c7b16fbd7809d79a
-TAG_LEN: 20
-
-# DIGEST: 2d3f449046b625672e740920da76e6cb0b297236
-KEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891
-AD: d77df660ed82933f62
-CT: 4d754c684658bcc89208bcd75f24dc8e18b70a28b8a2201535e60ab755fb20e1ddfa98742d257eadd02d96c6a65f880d058312311efdf67f9a106beff9f5ace09965962e11aa37cc75d6e73936c18f79
-TAG: 6f51b8a86772bbd5e395111fdc06ed623189291e7aa947a3b625128e871662c7
-TAG_LEN: 20
-
-# DIGEST: f321845e9752dd4bbc414648274459099c9e5574
-KEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed
-AD: 82933f62be8dc55b43
-CT: 9b51ba0eebf72bbcd7a1b8452a49f30bf2d96bf0cde4d9e5efe7f1903eb4e09f53aec649c5a8ad7e7fc6c28a0dcf4bd3556f4377bbf8b3f9c79dffa5978692559f732c109a7a02390746f5975d5a0aac8c84c047ab
-TAG: 87167a1669c5ba03e0e79805d2ac8e6d141a50044facb483e050ec
-TAG_LEN: 20
-
-# DIGEST: da9868a42a40dc263e0a0fe4247ee859569d7f63
-KEY: 7e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be
-AD: 8dc55b436965aabe47
-CT: eded2db8c302b3b5b5b0c0d556f8d34408fdb2af75d38231049b5f91e02a4086e6ffcfabcba5e3ec68173dfde382a41523d3c8ea1f7944351baad1588516c548125b1005d3375b03a4ff4bb19937068e9ce780436943d161baa2
-TAG: 19ecbb3d73a5238767af07748b696b4f06086e157da2
-TAG_LEN: 20
-
-# DIGEST: a17d268f79216e57050079ed4a85ce137f83cf5e
-KEY: 99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f256
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b4369
-AD: 65aabe477e0cdd46be
-CT: fe6540372ad1c40ec1dd644e935c480b9e34aed05a7f21e2e37dd46db52ebc5352cbc3be2aa289cc2e9712aa7d393f4454c9fa3a4acc30db41ada1257693d3469b0a1d5680dc8dbfea8cbb4768161f828cbca92abb73d24780fbcfaa65f505
-TAG: a372c73315375069abd35f6cbb2195dbf5751581624be7f7434859f67f211a9ca4
-TAG_LEN: 20
-
-# DIGEST: 44ba8d9c06c6788865a1dd76287a443eb0c22aa0
-KEY: 7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e
-AD: 0cdd46be99371eb8da
-CT: ee9fa11a7d6f965e7d65d8f48810754770b9d237ba0111978b97e24f223817d0c6ce4dbde85c4e0979bea607a36c66f908c25384184fc334d8d985b78c2e9872d82c4cb1aad49d7dc21d6484b80f9192bd724ca57cdced2fdf142283126721c17127c31a
-TAG: 384cc05446f5cf8e8eb96b334b35968f92de7892dc5a86662262beee
-TAG_LEN: 20
-
-# DIGEST: 5b0d95d9ca1dc4d0ccd940d38881b8864757c9d2
-KEY: fd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-AD: 371eb8da7dac997dea
-CT: 90712d5e3edeed5000c62ce80212d41773a393792a3a8fc62a1cfbff38b3555aadd88f0e36f93c8a12897d7779972b3e42978cdf85da7a3ba2e4b261f0a0cf4e1edaf259849e87133a9c057e5d3e693a2a181eff1f5d6f84e0679c625ad9a0f7a13ceb503d62c1fa74
-TAG: 94b8c8e766c78f90df099bbaf385f2a428dcfa697e032a
-TAG_LEN: 20
-
-# DIGEST: 310801f266e960f886f9a02cc9e8adaead89dd29
-KEY: de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e78
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7d
-AD: ac997deafd64b1fc65
-CT: e59fdb3d1413cd6a1098b5daf1662c698076996e2581e11a286e5acd6f29d41ff9d04da8308ce7f5defc52be0b4d1ee96d8e5f4eddbdd5fa9894e7d1b0a1bed483b7e7549e1c10cf5b8ebd1e7f1177972ff061cdecdad8d97bb0308b19bbc2c8e3359853830d6cd1e41a85052789
-TAG: 1a1e2e8c512d9b86a2df2036d99bd956f1b2d6ff38b2d1e05db60a4b8ef8987e40e8
-TAG_LEN: 20
-
-# DIGEST: f6998ed9b090ceb8422100ff91e5e2671a49d980
-KEY: 41a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b70043
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd
-AD: 64b1fc65de39f4f035
-CT: 8a1448acbd769e42bfdf00ddd801153db3202daf5ba7997890f5f42a183d3a66faf66d899c7099fa99bbcf5b62b6adcb6ee87fafdd0275a8f625f3f959b0ea9acca88070aa9c61141787435cd60f63e262a80b6aaf931ba554ade7e0fb46b03a318347f1ca84e9fa1786d721b6c222b13d5d36
-TAG: 322f70c5e087b05666b1ab11873443a2a1c75dc8579a3e0b8753e7b9eb
-TAG_LEN: 20
-
-# DIGEST: af2873f1a7fcd4930f1c8a554ff271c5ee9185ce
-KEY: a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de
-AD: 39f4f03541a11be112
-CT: 10ee64784345c076e3f9aaeacc87cd51d6ee0b0facc9f40b4e6a1b4bec669ac3c5252c948b0c0a4d8e798248e6b10ee247e51c81793c2be91aa8c9666e0d8774439ea159e4745014bdd2e9f379ba461a7e638cab9ba2aba1498397044edd3f271e2b4dbb5990c383167c9191ceeaa82324a339abf8f81c79
-TAG: 08a429bb449d611eb4c37625048b5aa2445e14b3c2ac0e4d
-TAG_LEN: 20
-
-# DIGEST: c4eaa1d6c4d2d5a8d2f4d96890bd0299f1d699d8
-KEY: 4ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b02
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541
-AD: a11be112a72933c7b5
-CT: 9c61bfbbd3e8395be166b30a56b3e192748ba3bbbdc334dc3720206ac10c90dd777aa4957695bddaea0b7e554951c94f2f74a2bb7547ac20a7e357fe249614204401144fef61394c140553d5566c18ded15e0fa50fd5836cb725d277fa46210eb588a96d7baec9e2c947fee1b85cbe65ec6b81c709ffbaf595f17a0fe5
-TAG: edc3b61a279f08460ed6854ffd1fde25ba01b037df54df3dd9cad8f68d008c4287aa3e
-TAG_LEN: 20
-
-# DIGEST: e9bb0964e1cb09fde5e8f852937c4d8e1605b714
-KEY: 905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7
-AD: 2933c7b54ed4fad0be
-CT: 997bd62c118718ee23b9d75f5ad15bea914cace8858ccf9534ffc79a626768802f7e86930243b3dae80d38782a6a61429cf0278d37bdb60a0ce3ea74163ab77eb299285efafa2895fac6d7f2ea65b35e579e07a7a6395e2488db288c415b402a913d727cbf3df623ae4a205d9867c5962ea0c9749b791dc33a0e6e635983bb65d299
-TAG: 13e213ca6ab308f86c8ec4ec5258fad44a8aee2259a27f0e9a82cb602121
-TAG_LEN: 20
-
-# DIGEST: 659746de28fff60cf3bcaa07eb7a95c5b7d3200a
-KEY: 5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e
-AD: d4fad0be905d41203f
-CT: 368ce97b3b9c28678363cbcee49ac8474b6a12ff63d783060a8cb33ad951edd059260c4927d5bc2ce252b4deabfd902ec1025a8847bd6fa57324d1d8cdad0f23aacd338c8162f77024291f106dd73b1dba3746e7a8dc3c3132c6edf1367aa576046a7d537df7827059b25e469dbb6aec7a62207bacc22c93a6704eb2cba7ae26843bcf55d829cb
-TAG: 54ac8538338872357a6e7d99bc6aa361bf314e5ac48e91eb8c
-TAG_LEN: 20
-
-# DIGEST: 170202dac332954785ff6f866f165ca62510d9bb
-KEY: b2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b51106
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90
-AD: 5d41203f5dce998f8f
-CT: a7a27ff44599a6263753294a057c527552f4659590b97b9135c74da778a88607d0781df713f4e0d72d044f0c2c7daab6fdcbf162cd700d236999e29c25be1c599b5b5941c774432494b848f6d862da9f95d28d132c7333a4ab436d5488466ff8304415494bac0a922c8aadf885ac23db5e65f05767aea7da7721255b9c5c853387c33e51236579e1c220479b
-TAG: a41bd71ac3c697ffb3a6b30e90e484f8787d8440ab9ecd38e99984ad00b1fac217b5e60d
-TAG_LEN: 20
-
-# DIGEST: 767d4f588b55b2593cfbdc46acc6064616f75c2a
-KEY: e02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aac
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d
-AD: ce998f8fb2eaad409a
-CT: 26084337bbba564153818959e07afc3b13632b7f5fc304979d073460eef46f853152b9059990e582b700e8cef904670514026d4a62c34f77ad6f614a9a48a0abc3be830ec88eb9cdcb98d441e70f1c0d389bb9e9e7517cbba7b2fdf43e115aa556429e5a91a925dd9d4b1af3c9ea8df004bb33ad11584a1d51cd4b31e4f94d9ff69708c27da44c0d4622b3d602ae0a0597
-TAG: 2bee246b778aad1831dae3eb7a77e59ed7de5b09ad3296b251fdff3b9042e7
-TAG_LEN: 20
-
-# DIGEST: 27937a84ae455678a2f3c73b523d600135e6dcdf
-KEY: ae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184a
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2
-AD: eaad409ae02116417d
-CT: 3210ec37a258006ad6ad1e65906abd6f74810eec72d7ab162703aaf18d3275d4272a1124d4da1be565e29eb1673c5151762bde617fb2279ab77c8a376670622c5ab068ed36719969baaca7d42ca0d781dda79230d7af3e05cf913f39e5b4e93e99e5cbec9988d7179b621a13c78f0f9b64173bc7163cc2268a5f0f390b9a1f188c5ff5b73e325819e2be58af313ed5c626d755101e12
-TAG: a5cf1e36c0cdfdf23a507c6955359d5019c2f482967209548f1e
-TAG_LEN: 20
-
-# DIGEST: b1c534558a6ecb0ea225369be47ddfe669190d41
-KEY: 9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0
-AD: 2116417dae0cef457b
-CT: e51ceb1ee67c681952d48022d3ade08d04bbd85f2b609e37bb52b2a0a43206aae01e249c2c7b30ecfd28f78add255b02691a15c660d28fc76eda5ea7971c8b11ca995b338251124a12e7ce550a5e692ce2b0248b6982823a22305c7a928cadb23cb9f14c10d3c006757abd0257361b447b8c3407bf7730c6b6d28afd10f1bbf828029f6aa972c24aacad252a64ce86bcc6b5db9dfe214fa7e6ee33
-TAG: 2fac35ae8fe91ed70afa5f74f676faf14eb6020038
-TAG_LEN: 20
-
-# DIGEST: 774dbbcae39eaf44fc300eb00977f4e56e4dc0d6
-KEY: b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae
-AD: 0cef457b9e5e16dcc5
-CT: 77b4e444d271670653f04d99105b36886383a2853163a47615b431eb3347fcb7e013392376ca0c7bd2ba68e9b3e9e8513c783df10c1e71650c952c31821db41a509b7163f509f1445ec13f31090fcf566b69f6f1c5330ab588eea6f229025409c4b749edc4e22e1f4612a9dd9df978e685e30d6c27a8f50d7063c73be06ba9e8897d13031380f070abe014f7249c3862e92241c4317659b3bfa24ab2b14c5e1c
-TAG: f5f0ba6d292c78d84609f9dfd3f7baa32742efa2321cfbbf5dc9a68229f4bb9c
-TAG_LEN: 20
-
-# DIGEST: 5c6b13d8f7e9f764136921bf62cf406b9dcc8615
-KEY: 0d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72af
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e
-AD: 5e16dcc5b6f25607f0
-CT: f48adc232363a0490e75ff78e4071f299eb70eccefe5e2b93a5e223e2521a266d9b5f9f2d6ee01c1aee3e4b85e71551c8d22535406146d9561eee1ab3b3ddf46cb55cbe4f38d309da8c71a508892f19a86940101e191d0b2fedda544b64f5baff9829554be885553500f09d707357c4cbbc7fe96ecd36a699645d5257f71ce7d99ff6e8d1cab03e91e03f8921862cd0912853433c8af5b173ef777ccf55349b3e922fadfff
-TAG: d5f6ae475801b875de1de5c12e11add4bbce9eb7ca8bcad23c9019
-TAG_LEN: 20
-
-# DIGEST: b72799f51e711da0ea2528a5125a994e33078898
-KEY: b09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6
-AD: f25607f00d033fb95f
-CT: f4cbe7ed67750574ab0716367351b71575476b76987a082de8c92e79861d945779aff8e89905bf3c9ba0bad99b8710fdba8298510063b646b4e1dda6ab11890e6cb30350d110c46f954f3bde6738828d339c6380b5008ae314ff09ba49dfaffce583400765a52af8970ca0e542b963219c0cf6c0d627b68df25ae47e1d81df1d6b9b23c54daeea7b49cfa0a42486c48f7966261b0fe16b1b116b379d6e64eb774424edd9b0157bc44cfd
-TAG: 1b53ba0589f7e6aa5e142cdcb9791ded0370689e672c
-TAG_LEN: 20
-
-# DIGEST: c2c932a2159da6861262e601fe835e4feb139fc6
-KEY: 172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd2
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d
-AD: 033fb95fb09e4d00d6
-CT: a96cd704bd0516225a1ebaa7b4624e0e368aa56c0f75307802a3dabc6ec6c767a9d00769d74b48f7f93a3d5c53822e2dc8eee7df367345adbcd0516092af64ee9977e0cbffd3d2c631afff977bb14909d3859c6abb2a48c14960f1c99da2c6efe025201a7e50c994f214e67c66d995ca58ea0ceff350c9c3d6ad5276e56804d63ea4b80073cae3cff6b8f236faa26f934734ba5990c826fe2b49af193a2d487f297c396731b266c20de6849d9775d5
-TAG: 727b358c3e607df1471e9f556aefceda90dda065645df2f44f97bbbf12cc7f3ef6
-TAG_LEN: 20
-
-# DIGEST: 25b40da26cc2da8afe980d0287004507d92a426d
-KEY: b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb0
-AD: 9e4d00d6172e780ab8
-CT: d2b2a4db33fcfae2c6ec8cce4e5856333aa8fe628b522ff9e407f279e64c091634057036ba811354b902f72f039a509a585aea1a5b403ca70cc2860d64c487adeecd0002817cafa85e73b259f5cdfb8f2563cc767b8f32b2bbed0c4eac259f351cb81548918cb8d8bf7450bfadd0fdd0d0b880f23256a80eecfcdd9855b0b9a0f5c820bee13c40c002909d811e428ddcf28cf80ac1e7f4f258fb811c4394f708eb6d269a3f09ccb7eaef32fda306b007e9e3eda3
-TAG: b06c3d25f522732b2feccc6fd3f1422159627c6ed15b5491cc6bc675
-TAG_LEN: 20
-
-# DIGEST: 2b6449832e28e0f08469119a61c6119ecaf747be
-KEY: 7a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d617
-AD: 2e780ab8b700433a95
-CT: 92f2af21175b4820901ab086fd9abbf8ac6bbdda20a1d4dba5217fb6f325940bb90fb6755b09ebcb54283f03795eb74f19efdd758caf83c22c8d2f9e69593a255fb96646d3b7593b3e4682ac2132e0568d01b516ef3af057faacf4fc90b9ed42728a91f28fe91610c275906a1b6bda159562f3e23c4658e40e0d3a3b6e955ae014eb538a818808f062a67e6f301e0145b4294626e754b83bc95ab107d29eb0a56bc7858710e1bd5ab68b59219610f1d41c4341f675a1db128c
-TAG: 81a25adcd3f3568c669002e897aef8a594c19f66a19a2f
-TAG_LEN: 20
-
-# DIGEST: 4e2f1dae39e30675c6b32f427ca47ce502a02191
-KEY: 0f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b7
-AD: 00433a957a741c9eb8
-CT: 43daaafd62f3733ee7805bf8cd9a7189eb1343eff0ce3f2cc2aaec323899f676aacb0a22bc44317eb9cd1fc8ff6d98c19d4b00ddab897d600de8c07d9993fa221ccec98977addf87f03fb7883cdd704bf788a5e9ff04775d3272987afd072cce7ffde5739754d7fb6b449e1d45523cecdb039e8596b7cb22467750ff04722deebfa0ded35c23ec5ec46f40fe43eeebb96ffe0090006dc0d631098103ee773598de70237b3ba2c0e8ecb52a3ca7a494f9805190ef0c7187f4d8d369de7c83
-TAG: e142e424cdada41fdebe493808d72b18ccdfe7df7e65cc77b6f961201c318b5bf89e
-TAG_LEN: 20
-
-# DIGEST: 4b779331c327101cda11bbea17702561aa8a410d
-KEY: 44769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a
-AD: 741c9eb80f2b021b14
-CT: 8de1f281a40131d37e88a68372e39f5c89e74df53a9cdc6d9802878667985ed45a6f200e8207a53c4c95ed03e245adef990153e52a7079bc94a8b7d6127a0f03b94ad68227a79ed6d1d642bd8dba6f5a8614a41bdb0256222fc02bede6bc1c9caad38d4d27bcdbb0e49b2dbaebd1ec589f56b5523c9df3519be8ff4808836a228b46fcf021f4a248ae5b05c8f2016f7cb8cbe88ce2971d52c782b6357940f37df373ecb3e050e070a3cb5c02acab38e2f4b41385f9e9c19df93c4520a9dbfcaa5ae72f
-TAG: 52a38cff805313cf9a97751e929fc014f5c589e9a60ef388e2d4486433
-TAG_LEN: 20
-
-# DIGEST: 708364fadfaaf52792bc2fe5bdaabcf986af7aa9
-KEY: cfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f
-AD: 2b021b1444769da00f
-CT: 06f47b618e70d204b9a2081eb0b48fa8e006088d69ab34c7f6632e23c0c4fe4033728dc89c88903531f6315950b637475d553d0b35f369c7d4df7d1558fcff67583b983f6cd858dc2eb958bfb2ebd3a2632da37ead5ceea92b8b49faa175a9192054e27eebe05fa871d07cedea8023a8794f71cbcccd82f3e25911b95b432af1e60803704175599b2e7b53918c0670dc08d3b220bfe007df18972a09cda4d55eed67d55d66141ef243528c7e87c2e641cba18f332b7abded77669d7692ef84ea31f95b35a11d49b8
-TAG: 6d8a6e990713d6c5cbebb5cd2f2fb7cf6eb897254cfbbab0
-TAG_LEN: 20
-
-# DIGEST: 335c241743268f08b03aa63abf9642360d22a112
-KEY: b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444
-AD: 769da00fcfab0f5f93
-CT: ad3cc5a9c59067452fd219bcf53d99d6d82866fda051b69ba1d83e6e671b6de596aad44b6f22f1dd898a1e8e40e74d8f018e07c9e9e73912a94d9078392447a6a4d0c52808933983b1e668b39790bd65926e039cd54bff207ec74af8ef77ad33a897fd3677d5442876365cf1f28d88b6525a00c5c81d0125560fc6f1ec3ff1d15949ef1c1e828ed4e4ff00f27e61ce0c9cb9e9fd4c45cdbb642ed4ae73077b5fb1085c04150b50a36199f0d5e3a00bf16ebc5228cfaaeb3e0eb5c552b502eb8b4f1050b11a3e9ab81692545cec
-TAG: 206ed8ba4badff3844e69467613ebdda3c119557eb9e3980e3652328c523477ac251bc
-TAG_LEN: 20
-
-# DIGEST: ae61ce3c2b1475f8afdfb1be68addaaeb6489356
-KEY: 5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcf
-AD: ab0f5f93b511060c9c
-CT: e4d1bb73127386320be2b84f9ca0aa40b95fd7f81892942fcb954257a7b9b8886f1253f0db712af44c1db5655042e552a26e7e9b5cf46bbbb4540826d05f21e3f9a3c336ad2d19bba71ed71a8985fa4de946ab419a56f9d15d18c9a31437efbd8d3a3e091649ff9ab1a7f9a10f15a1deced2af148b42fcb1b2eb9019bc40b3b4102579527087d427c62777960aa8653326523c26388753883f406b7db999856a01a7e9f3242b3ba50d4434a6ef4f8b46d34ff8d94369f217b73c62c53f2aa4b3a20c5550749ac8e231046b358b4c6d9196e2
-TAG: 10a1d14029a187a0c5f67dc2b9549831cc6d40f445e331944c7bd435db5a
-TAG_LEN: 20
-
-# DIGEST: dc6621d897775dba7bacf8b7f82bac003e984b00
-KEY: 1b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b5
-AD: 11060c9c5f3aacefe6
-CT: 560f3a3feeefd071458aec326be08d3672129e77d60f4686200e5449ce2593a2a8d01b981d16388f2eef742bea8d5f0cccbb9a1bbffe53220c763dc6e384e87e76dc5c31296d18cc9510ec00cf5c7dec2d40aec17f7c1ac55e5ff919a5957f8bd56dda58e1d0d6b2af3878a714ddc891109166655de5253a4213bfc3caca4c69204b27f46d19b0dbc2df066559a894ea31b066fe6035012f4d8002dcac151bb4e48404bafd6121fc1a2d62a85d13850b221a9ee2773a87a1b01fa7662265a694f0a1c9b8397f12dd23e61f770280080051d5077f090696
-TAG: 4e9888c98114f9635793af9fed9140314b0ef14ebbf5bade39
-TAG_LEN: 20
-
-# DIGEST: d2e6d3eeb6b5565d9a407fb96c74b8b3be42e64e
-KEY: 3939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f
-AD: 3aacefe61b184ad246
-CT: 1cb08ffca3e3e9af65d527b96e75dde23a3674df40ec4866dd55ea60d023c8119b7e4b4d4c72ac3a26907d25a549d77762bb5673d52e296d6a894d68e87dc4eb63d5eb6d262a206891baa2c1c4bccf9e8958c5ee374c2b503d3db7cd91ba30d0aa1c3d13068ee09299dc1816717071fecf98f7a6f2ce7ca458c80e0d9e430c8d90b96667d60cc3973091619a75c56b7535d73b72bad57b7ae670aa2e7793a8299dcbfcb7a4b0dc22dadd37ef3562b0f2c0c41aa68dc26d14cf8552683c362f906aea3613b920716459e086c56cbc7e888d9dba744e807bd137095991
-TAG: 1c8f9390dba82fc48915766cd9bbb2c5db72501e90a8f1dc6a52e73a047bdf3ab548ccf2
-TAG_LEN: 20
-
-# DIGEST: 238d50a0695b1f255d5b3944c623876919f9cc6f
-KEY: e97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b
-AD: 184ad2463939ed518c
-CT: c2a2d4990449ded87c4992bdd79e0fa70ec3be505db46c1e17673caaecd6b24b36b2acecf0dec640832a2de1e3d9dcac02f5ccda46decd8d19eb038a6bac782760721cc9b90e7037238b55132f1c3f94ebd67cdfee66c0b08962dd69f71285c5a76173d85ce830c04008dab0ad2b5d4d00ab2ac093579d7763f8b64863198cc3eb899861f73a2368d1e2d6a709f29db09403080606ba78cfbb9ca6d282f6f1b6066e92d3ec8d7c66977194120c0cb393c543086144619ed854fd65db3bb17b5f86a7d396e13cf48dd67df52bca570dab759fce1b2237ed9f0a8c1c53fa3cde4f49
-TAG: 2928050742c9a32abbcf19e64c0d9baa2878c8458ab1f8a8700d6debd2df1b
-TAG_LEN: 20
-
-# DIGEST: 562090fcf982854158b6068786792d26d2af3cb4
-KEY: 3d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd35
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad24639
-AD: 39ed518ce97c3fdd29
-CT: 47779ce727a9319dc4da77d809cf8b79f3e3658f7ba3679e96411f7c201f3638bb6a10c70f79d21ea99bf709150a7a556f2684bc3b67bb716dbdba980cdb37f2317809b2fc7f034a76eea0d217959cefdce844b826611ada73c2dd12630206077bfb5da1112a92cd8fa5b6f768422f288c1de123710dec8f3e95f88c63a2224e35e8406fb06ac93cabfee0dc27208b7bcdd785c18023c81159223c6b9a2e5980388460b67bc38183d5953248b8886139d7b2865b9c5255197458c8155c1641969ebdac9f5ae511108b0bd541eee3211159d30f1e8ab451563678d3de24748ba0cc648f5c96af
-TAG: a9c3ad32436c301135d24542dba3192d514650bcd27366fe5ef6
-TAG_LEN: 20
-
-# DIGEST: 0c2eff5f73e4ec6371200ea4e3ed600ca22116cf
-KEY: fdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce9
-AD: 7c3fdd293d72afc09f
-CT: bf5f4271222a6b8f88aff52aba803e69cbc1faaac7cce89f7d2fa6287556835990ce1d81c706ab63ba3758f8699ccba1a00a89c4e454c4e61dd1447fe635ad75c5b56637e82fccf5a635c5e4746807b3baf9d2ae7a495b75788de46c58648eff4c6a5aa95ca1c86a26706a1fb258a801b35e152ee3c0eb1cdc9053cd9dd97b360a8fb4369899605101f46e13e3b8f7c2e92c721703e5f234f85d9a51bc748d34512eab57a38befb3caa27fcdcbeb76e7f70d3d5b70d1e0db56cb5492b27b5ed36e612b9a9060929d0ba93f2d6bb4b8acdbd7219395fbb14f10bb8ba04ed8bafeea055754a1c412e4b68190
-TAG: 13178238d3b2f52380b87ccb05ffd189a89cac726a
-TAG_LEN: 20
-
-# DIGEST: 7e81f0c3bb2f9c2073120134be9d0b1d0521989a
-KEY: 249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d
-AD: 72afc09ffdd4f41963
-CT: ef1d5106820950033607cb01ed020cf464b1752c60719958611f95569a665d388560bd7214f85ce9a257efb83518744ca9525ab3aa5262f1f1eb4d3ee753cbe6b4531f9a2b97fc482d22279dc42372401d38388d1798a47753cab483132c30d43a093a9abd285bdc35106079c1ccf7c1fc356d3cdef55f28a43b949ba30b8b14c5602d82f005c15db8e216ee027089884e5512ea6c75b46ab3806739f389f998a76c7c752ee6ccbdf02646bc4d4af5407c91e826b2859b6fd6f14376fcf42b4973d6106b1ca04c4c944fa91ed3198000d6141363c1fb1db6a6630701c233a6cd56f6479925bc02dabd7ed778806b3685
-TAG: debc637b71d1022c0971f331e005b1be8937cf34667c0e6a90b763974f9f809e
-TAG_LEN: 20
-
-# DIGEST: 28a454911a3ce17c0248d2f535f4073b6b092f6e
-KEY: 2e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a747
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffd
-AD: d4f41963249cd299b9
-CT: dc3ec8109d10797f038763f228f2b09ec5f5ab9e575c3e965135aae0327a709d39947aadaa1a7d3be9c73ef1c3c2ff740fe4c294fce8a28deef09a100bd079ece1a82c96cc679428686b439fb3bf4392fc2155b4f4f4aa510eaad21ffe8898d2bf8d7e47120203d7efcb163163b89ca9ff7db4555d248caa91c1ef64b3376e5d95f5eee2123e0f932b0f4f22c67e81689466aaecea9e8a167d3f17509ea2c5827100b3e8b0db42150958595aa7e48df36906fc510c36bf3ae1d47d5991501fa6f07587a3db0d8bf92ef614486e62d4c0b6d47f2db2c27be7122c63cdc06f46bc69ef9090d2c43783d0128e174e58ac71607d0b2ade
-TAG: 8cfc7f568ed7eb32d0284a7696624e7a79a0f3165f80fe207d45c5
-TAG_LEN: 20
-
-# DIGEST: 179d0ff2661ea9bbc7a42df1b3368bd48c176a91
-KEY: c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f4196324
-AD: 9cd299b92e55ca24d8
-CT: 7bb7bdec9f7a88752fac855f095aa4861045f35d39bd7183785931cba565bcded1146323c13bf4d8f19fd365fd41f83e91f9ce1a295cf3eb1b00ff4d99522496af0a633d2db59a0c65e2586c82df31917ab7d59b888926c94cf262c97d0a157e5db083de3a9f6ebce2c675e079c95d64d09b926c4d2838fccaaab418f22ffe00f26afecf9f6ecc8cfb777b9356d9e04ae7400ea0640cb447ae19d54e9f617fc700720a8a705492d69b2de7593e55a6ef5ea5f6aab63b6e49f5a5d63d0bd6a07f1e63b2cd6bc07017d663027cc029f5d916e75935ed45dbd9c8b352ad36f94d6b11dafea430c8409d46a427cd16653d2c5c43aecba23bdd93ce73
-TAG: 28973e94d057f3e0f0aa2ae835f6227aeacf75cea641
-TAG_LEN: 20
-
-# DIGEST: 35f3568ac38767bbb0464106b32622a101523d0f
-KEY: c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef16410
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e
-AD: 55ca24d8c078c49f78
-CT: 0ab3deb7e70e17a62eb723138ab79ff735fa1afb15ffdfa40e0ac94c961da191a19b3f0e91d12304bcf80aa651e6d8b3ff2602ac79227450a6e321ff24fbcc6c0b19261c557da187acfd00d3da83a2210b9331bb9fb2585fcb9641745322ab8c1cc0f1def713af660b94a388b5719e38dc3610ba6ed09e675cd350d637536193bf94d95a8e14c92024417a3ffbab61c03aca0e8e2973876eb3e2b2a9daf5608bbbeece9900b86f0f2a47e6d0af95f06be0037721cdb2c94cc1f7ca37afab618fda75378eaf63ffb41f472c0f6a1c5a5767081aea7b5435feddcc27324a13d45a6c12861753dc7be75c6c962ccfa061ca3e2ba72a8f7a572ea27e84d9bd045a
-TAG: 791bf083fa8f45be1617852e007ccd8f44f0a5f140d2a5b994d381836db18a9551
-TAG_LEN: 20
-
-# DIGEST: 720ba4f4eaf71a85873c01a80fcbcea419d22ce5
-KEY: 025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f7
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c0
-AD: 78c49f78c7e713710a
-CT: 5beea8abccb14c5f200e93dd25742477cd3c63368a50060a73667011e0db1939bf17ae2ab7c8cc31a03b075d694c357737eb79aeb6433956b1f91cd99a6be1664ea93b88cd8d9a3672aaab7046051d91fcc4b1e1794dcba499f1c05adae879c1f2a9631ae97303f5acbd4601debfa5e31f9df46f99026b8c2bb7f669847624abe75de43c77d8c628097771271930ff2b9b5d846bdab2d12e6f7a90bd07f4ef4fa87932cc038be88e1556c0dcf35d659c165d4ac3c19f3eb1036f954a02320ba7ec600129cc2725677b598d95c5468b3d7743286f05c9f1821af752d1e2ad61290cdb25950e9fdfdb61edd74527d95cf96716dc1826e3ed1f1ba451f725792e653ad4df20
-TAG: 202d4e1064dad10f8d763a1a8079cf71fa31ee81c2cf29cefb4792c2
-TAG_LEN: 20
-
-# DIGEST: e531dc2be28c8985a08dc53ed098457cca032116
-KEY: 1d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f52
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7
-AD: e713710a025cb8b9d7
-CT: e7f4549699e18497448d0e730dbdd2b1c6055fccf9fef5442ad0e6d67a92fb7dda31422f52b2b2c8b0ee0ae0d532ebaab9d4c2f81e7579e24cdc4142aa50c5ff041f6b76985461775017a9169183ded52fa0ecc5392e95dd61f7d6ba2103f75ead01673f2388ba8d4257666aa3f73559ec2078beede99e963b7003ab9c041ed6a97b50947cfaef864269e84a33a598f81c7dc27191962c8936403f198e9012f19bb8b57868c11aa5ff89c312e7224d7b170c74ec38c5c1e6bce87426129313658fc3ad88de0a12d2012c92e9ffb25ba5faa9ff8456cadc94346aeea7d8d115a50e3de7bd92cc3f45c73bce249d1318ed4c64a1743a189d8cf9a9d3cb0d7cb64d230608efe6a674e031
-TAG: 4d5b838cfb2cf5e2829248542000a6e7a11863f40198f7
-TAG_LEN: 20
-
-# DIGEST: 87828be40716e1acb0ce876660045cef3bbbda49
-KEY: e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a02
-AD: 5cb8b9d71d2989ab33
-CT: 8a0c0690a36109d3e1647d0cfeb9561bae8c54fe971bccd634a33ddc02590fa3332cc74b2ebec342844c1e89a2589af6a72c118b9052ae12b11788342ee169c2e0c51189e8ca8dba3faf6d1d97ccf929e7ffb05e218c36eab2b4943d29a00224dd6ad98e6092967c5dffef62aba7008478bdf97f2a762c9251aeedb01e57eac36a7322b967b5bca4bd6b8bd54e234a0aeac200ace65afbb4708b3509873b7ea7946d8586d5db3ed1eee98650eeabf51467dc139dbc7ebe0e7706171cc8b840d5c328c66fd570540f874eb43fa864c137339449cffca080670b60dc885543e95503e24ad384c2664dc824bc09823c9418bce39715e6aad665aeba78588a382b0f24b52387efae6380663ecc7522ef
-TAG: cef2d2ae170a2177f3d653489f4a1c2987f3a0864070414be1e53d1dd43187d2a15e
-TAG_LEN: 20
-
-# DIGEST: c413683815bcbf3858fbb654590434d5b9f1eaae
-KEY: 3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d
-AD: 2989ab33e978c4451e
-CT: 059daac7128bfdaf3391a02322a1032a52057d6cdc30a2a83ff6e2cf5cf7c06611a5d25af94232c15d7462a89e556654e4fcb14cafb8df79aefca9e632bd25321e7ef7b91545cb67b5cedfb5a075f8c28430368d0f18113772db67a8b0b11f41192716be6ae0a7f2102be589b95e3d379110fae8384fa3f98a9314deae55e8b158d953508f0f81853385cb8eeefabfdda6f95a351b42002c7768c5e48fb276b3390af75c94c4ea14648235d9066e4812c6dbc50c2d739f27eb94a76d9a1fa4178657a7bdb616cbfa86f2a83ed1567d2d5d947f27a02192a94704d61785cc2fe3c6c5d575e98153f6c0ec0976c9e367e51ffe4d6c02a6c13f66be873ed77a9d15f7ca7ce4ffdfb9d7b56ecf2d59078391fa0e4f
-TAG: 24066861a1a5fd6702291a3e7e1cb71c0915268760f2b4dc6c66ee76d5
-TAG_LEN: 20
-
-# DIGEST: e55813b42aa337183d3c091b9f88f8e37832692a
-KEY: 2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e9
-AD: 78c4451e3be585a29a
-CT: 83a51fdf1e0a256ee3c01fdec162c5008bd4192c2b526dbb4163b593afcd7413166994c6195202488e537296ee818d0cf6a5a8e47a0925e1e51004bc1a2b4607ef26c9237404f69255756e244a0cb06f1a1ad00a6e5d261d507cffea930b3a393fdf0e52e56199ef9e23a09bdf8c6fb441df2772a5c3e6905097b1ee0ad5bd54bcbd6eb7a2674a2ce63af37a96992e5fb353dfffce5a17a8cce059c16537fac26fc9a681b6e2929d6e717098040900b988827c219aeaff1388049e07c030d80315b15104fed0ccd37c46e271c1e4e04829f931eeeca824ff4ed1f747d7c57498588bec7e87c8ff8d67b7580e2062caff3f9d8e93b482cd6e3c01f60d02570871542f3132e462e4fbd27a60fc59a7a7cc97179ba7df2aca3f
-TAG: f6bee51e0f8e4e26f9bc679ea57cabe6825b641707dbc257
-TAG_LEN: 20
-
-# DIGEST: 013c5a98871203f5494bc2d6927d15ace1e719ea
-KEY: 1e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76ae
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3b
-AD: e585a29a2af12feef7
-CT: 2d50ca52c8f44d507dba0b611cfe7c249d0df7b92404fa74456f79cb32bdbfdb7f5c5a6d505087ba180079f38d27bb4cf2b070d60d8d22d224203480d254dcd60e837b8dbfd51c1550e722ff2fdfbb589f84f259349df71eb8af4b69839b23f2380deee9e01aefc4de8ed96f9a9c371127c5b6ec2045f37912d50fb9d389ebc89d9239ce6f029fc5c7eaaadbdc6336a8f56aadadd9606a3726f10ff17b03a1f3ea05e5dcd06e9e4a1ec0d8dca837158b875f646bf36ce9b142e9621819519002bcddc1a0efa76e94c63af2b928bdd4f8b1e6f90842c4b744468de6b8beb3417fae3d87553169fe1667d2b353bd30ff0f9b8ba05dbf177bff699c1905bc20c61540da0bfab6b6387f981a6108e98d3f10b5f61dc2faffad3ed3daefaf40
-TAG: 9346ad45e8b841749643b219dc43ccd183b5691f9bf0459f75fcada9f99e178c63894a
-TAG_LEN: 20
-
-# DIGEST: 7f9e8085dff06dec7a2250bcc60532aedf162762
-KEY: e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2a
-AD: f12feef71e1063b0b4
-CT: 0207ba7e4e575a6b442e7c0822473cbb2a243f2ffb701a4060f989298a9a75922fc801ad4170608a0461e721f1092d2197d8b7509b3a818f219b2e9aaab3f267e88ecc4b25e26f423a44b140d09bb0d082785dceb2b00bc7b28b5edb6de8e51f5e8d0ebf82928d24b02f1cbd302c87daa1fe115c30e8f7c1b12322a44493f1f2b1ec626463aa838f86ae65994fc3a2def1d1f75aa68c2d873c218d1c312b2f0e66c2db0e7770966db07451b49319307347032a8c86d01282f95d19832bd57bcaac0c566e8d7108902cbff432031b050a909fd8164ea85dbc916228f17ca50df79ce92673fd74b8b0deeda3261fb0ab8574747189162a692ac09e796a655f83583b46b63dfa1eb3e448243bfcab53c2d4672228e445c9b9f2e5a88783aec4f4f56710
-TAG: bf69ea9a3f7334a441fa26b00777825b2e63fc052705f41ba9a956e50426
-TAG_LEN: 20
-
-# DIGEST: 0254594a43b8c9b638cb456593750b3f8f9ada22
-KEY: 04bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e
-AD: 1063b0b4e6e8992003
-CT: b0d3bc02cae47ee3aa38465fa9bec9015334c2b6c84bb5c06a0d273094655c449164e22c374937b29ee21c21dc4efb3b3bcdcc31ddb08eea4b9f69704ce32aefcf08fb3039da9636964079e15002855f4ba8757e536b2dc83d4fa81d0cfdc173a61c6c5dc7591b09e64000d105a934c7d9738e7a09a9cbd6f6661eb90155d1ea7a3de606c6e0767c64bc714cf7ba35dd618ba823ce6d89b80d555bd6861eea22a926ce39d4d3e88e0f141a40f65361a30d8c72a0c6e56056a32961f7dd4d54eb6673ec2c6ef90fca76c5817f021eaec43b0598ee952a52d7d79c0f345c42a4394ed82e3bb706d9636c246ab6adf04922e4bb350dd225664cf136d383ce2abca36b3f6a7cb512f82d2fd5a838151c33a47e104033d74540a23144ad73d1608c45662cc4c5958e45
-TAG: d59b088e0db076149b3d407e76180bf18cb3293a57adacd5d3
-TAG_LEN: 20
-
-# DIGEST: 15059d32a3357610e64a48c19dec95d256455404
-KEY: 2a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6
-AD: e899200304bd350813
-CT: 7702d1d52c644f0ba13e433448710ff25d3cfbe67c93247156cb8a7506551b3c7176ee639b4123440ba6647dfa6ac4f539c619fc2a0c60bff8085d04ad0ad809907253068c3ba12b54d8e17ca20006044e7c86d3541f9f03de3c6684ff57b2fd47eeb88c8a5597b4303c248c502bc73da18bdfcde09a108ced804cd3020e6e4407117052bc3d971edb348d203df7fa3634e3c1ec1dffaebe5810a9121bd74e71f27ead339abf7f437cf00a9366ee70e78499639f484e44dc86b4efcb640a64c417048449e20b837d0a7e9329ecc82c0f1ecd29b13ec252d91ee1e0c3367ee0cc304c0a736d91048dfee0619691d39a916fa1acb87fa9513bf4de17cf844dfd1f5d6310afa07d654a70908355b2dfcf5e911cc5e941647ecf2c612462d691639f39cd8665824d6cc2f63349bc
-TAG: 9fc2e67ed66d6c979a666e5a4dafa13f0ed9131d173057251f74bcf13948f72782e91ad9
-TAG_LEN: 20
-
-# DIGEST: df289e1d102b25ad07e98f430cdd24eef513f8d4
-KEY: c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304
-AD: bd3508132a027d1ff4
-CT: 8879c6ae66d6d1c0dc4ebfd79bacc10bf2084dd379195aac9356263681e5820a834c2d1f97f2471be4e381bc832ac47fed2d487365716c47a6b7746560ff155e90fad5dbf779540f2a952bd779f09e73191e29e3d053a35cb2f0816dff86a80fc4964059c5fd6982d2d6713bab09d0ccfa50db5cbe264b5b1903d2c0e7a300f3adfa46d88bd85fb1c7c6493b99439aec1dd948ec55f9884ccd9db1219afc094fd003d05f0a0368889afe88d450de70ab803b281dfd94d8a39999d0a8c4b5dd5d5eb0fc763818cfd489e75663a97c35755f33af1bab261d27fdf280a9b0d569609de1da440ba3bd1ebf0c8bd3bbc748303754a8ab42a3277594af4416f073a7e5edd1638593e9ccd97bf2961f408a8f2d39510010ac0f8710ef97588b056d6d003c70ed7833170a9ae8735728f2f00a26dd
-TAG: 345be9e17240e085a36ee9c1e66ce0973aa867186aa0728a651fd345b5cf45
-TAG_LEN: 20
-
-# DIGEST: 3faf5b20ff66fd6583a2b62901c1ccd798c0e9eb
-KEY: 57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc6
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a
-AD: 027d1ff4c047b3ef4f
-CT: caf92c526ca2f6df21d1f72cc6e2f0d538a7550aa6bae2f3f26b31d4b9d60748c3138784df673d78feb662c33c9b6cb2f53040a64d7b94851eacc0bc688f4863a77425f21060fd948b9f76d3cad6f5560fe7c8612234d72453dbe4cb3017639c90bf3d7bd249e1bac830cf3eeba58a55a24aa1f150640e8f369e365d3f534d113607659405f2b5b34eb9c5b324752b40d2fb7b06d75008fc94554c9bc5b5a7fe6d06934b488e82587b8173bac173110e4823107533e66c3bba0dfeb5bcf89a6abfa7e5ccfb31f7b75cbd461d57baf37c65bf530ffc47c7a1e214263436b55ef9291548516abb3747a37f1447e8a2a6bc5d14490d25efd196fb4453ddef5ceab17b5035beb528750f529a30a593c48c820384182d2a22b0b84f704ee4fb0d70df89f0eadbddd97233af94a72f6cec219cda8c7782a658
-TAG: 8021bf5ee35b219e8e7323563879824fd497ab431d82effc5887
-TAG_LEN: 20
-
-# DIGEST: 2a1f12db7c66ef374e510b2fee81431a4902fd8d
-KEY: 4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c0
-AD: 47b3ef4f57a74706de
-CT: 41b726de79e3f6c4c752c1b9acdad102527540bb6300a8bdc438c6116705fdf7669c951c997ddbcd7f97e9467425a6d2ced02b18dea62ce491d6aebed24f92b06412c419a7b69abf964ac82382a60375a9abbad905936de5053d6439404a46efe12bad7ba50162bb195f83c6cbf4c0c6065bd47a50d4a46999e74f4645ea68e5f7c1fdcbde253298b55f66c2766196a1218f86a8ffa849efaf616bc66637b87af68ec420708aa081052e7c4608ef8bb740bc8255ea23473ca58c914f8180aff5a217b401e155d9bfbc362c5e3a3fe49f9a49f847cb8489be7950399644cf53c1f52b7357de1aa4ee24a8fe4e942a35a15e8e7cd228880bbe6cbec83f64efec4085e1f5211b15f503369407d3024941de3e9f89c819f64e077c92789b9cedd7766d0177b0671dd26157e6b66df801b24735b09e7c6952f100fe4eb5
-TAG: 5e0ab84b5baf8f163cf3c814ace4386a126a2e6c99
-TAG_LEN: 20
-
-# DIGEST: 524f8d38ff527d6ba89c51265f6a55211a443a04
-KEY: f164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57
-AD: a74706de4b381c692e
-CT: 8508187fa18f9f1e202027290ace1355dba08d4af8e4afb74d52a7e0aa2005f5815006990468f5982cf5bc97141b783d3713ee8ae335c8ed63d3cfcceb4d433b4cad0aabad5a7b3387c52af24e48bfaf4cf0a6511c0e52c2c985a1be41186976838acbe49ed9f9ee157f8480997a448b0fb4786ef69e3a8bf660d12df28968ce6cb04196225c6a2d14f69d8668a0567bee5e6b1dcadc9ab65742b4561332e68206e78d100724719b4c47e2febe647129b7c896bd92ff0a3787acff249006b856c78d71b860402e0fceb1013c92de542b02abbd4392b86c10438c87bd056ee57d074b57c3d4491959db47d622bd958be19ed4aeb8db0f656d2fcd9bd489b6340a32384167bb35f16b11882878ddd05484afb0dc46f6e89f35674943c3d4a1b3b82240c10036418bacbf74afa4195052534d64ab256547f3534a1604d5d3c752ed
-TAG: a856228996b1b4e0a8f8d86d5ebfd4858c63377e0391984fa84e37a580a7ac14
-TAG_LEN: 20
-
-# DIGEST: b50c58268b989fac3ad8f6d25a401211ddc5cef4
-KEY: b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b
-AD: 381c692ef164101b89
-CT: 10dfd18c8af7dd4c5d11e7570d4715730c8a63d7e270763129f251360a076942d5b1c64f953495a2e3cae2015347c02f7abf2055b0816022c0c281339022788ef520233919e89e417a58846eefc727885509a1e921c27889b3cd9867edf342ae11565a2811d594fd84e95fc3205c8604f1643d2adc3fd3f7080857d1d9ce0f24eb1a72287e97cece89bad62e4a7012115874d04aebce6a89a193922b7611e3d0a05ef6c9197ee7affa2f4be7c62012148251034013398536bdc0041c62a7d5c304d2f033e88b1fb593449abcf722ceedfc3e1823875adcfcbdd705096f856fc61e705537686e1ca298c281d8c3f4bbe1842fd26b8c21116a2061437e9772a7f70a3fa62e5f1027e13c102970e9998d03ada32b0e91bdf8b5f9b7b4aa6fa69b6687597e2cbf280a26b04aa4c15e143dcb3f7a223b6772dfa1a09e166ca02252027549cd9f2d
-TAG: 548d75b6ec7692048e4a0de1f44677091562efc32398b6e06596b0
-TAG_LEN: 20
-
-# DIGEST: 7337152aba55f41574aac9d678dedcf895a1fd7c
-KEY: f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef1
-AD: 64101b89b476f72b27
-CT: 4e22afb3b591e9a83871c8549747ce7a0093158b36a830f8d67354c13731d8f8d55ce6205cd65c87a91f61fcc601d941eb594710dfe181e4df12253cbfea685fb89ddc9d54d980596825060cf2bf50c4fa712119ad816673c33d51aca814acbd5173b9908b1f1e1c6985597b54d8e996b9e2f15bfb3a01fb521e31bd6d5d7405f1af3f2a805d2416349c6c6a8ad7b0b5adcccb65fb342ceb12e0f2d384c729567ced9fb2e7fa6f5c6155f5dd02c45e5a482b8f3b96c2a602cf3060d026f1ea1d7653667ab46a5b9ffaa685dd5dd736047cd9a77f11182e2327b1caa6e82109b71d2c8b974ed200416c676a374282c60dd7bf7f07f9202908ae5827bc061fcad2e85f795a0d1a8bedf8ed288b61c308e458dad4129ad7d2f08c95ab143df22f90810bce4fd8ecdfa154a64c8331ec0ea3ce452bcc9410cc9037b037eb522f16e793c28900077ccebdc539
-TAG: 34e222a77e3b7c53c56122b36b729db0e55a7102a621
-TAG_LEN: 20
-
-# DIGEST: 6578de87f977f4cd4c5d6dd6f6f99daa338ceef4
-KEY: 67cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b4
-AD: 76f72b27f06f520c92
-CT: df2b10cbabc4176218c6b9c6f108c1bb25807fefbdfde2ecba5ccd2361cf63db84035427017766b44bfdf329953adb786e6653d5d220408d6bcb4461b204768eb0d8e7f56eaa2ac707182972a65597a4534183972b48d5190d61a497609026825f7d02bdeeb1d9421d13c217e3c17faa9bfc3ad587600f934ac8b508be37589416a51f5703c9244178b3102ae59d5f7b5d574ddaed1b3fd1ad7c47939d9c1ee08bbbbce47288eafe3b508743211c79b75db22873c1eac4b9c61d5684d94d3aa4c11b01cb43fecf4fa06e0945767519d7e7a89526c4c821d24678baa7ce6ede7f2e8b4c9bc70706be730148d159c1d6158f27d7511ba66e1310e1bc74faa5b60f12fbf9b539cc25734a9ac0762204b57f565fb35dd6e96fb84b1b7934fffc01e5afbca911ccac4953b1e63c596fb9268ff11676571df4084236b327e802f8855466089850d0ea9e96873f774796dcba
-TAG: 106d6268916078a9062421a6168de4c38791b5c4fbcb6cf996696d97e7dd218337
-TAG_LEN: 20
-
-# DIGEST: 38dda49f961e8d18556e2f4cc30812a7e17d827a
-KEY: 41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f0
-AD: 6f520c9267cf71408a
-CT: 52b3ab3912ef6e742a285968809db8eca231dcce87daeee16c7ed2557167b8df32b194e17218e03f8a4fa53aceda990b2b76c3ca4b527d89affd2fa47a19a876196296cafa94b72a0b85b7fe2f9b49d6c43e1c4862c703bb7b8433b2db76dd9ca6eac8a7bd7e994db7521b7c1c628a728387f042fda0be75de1f783a957ec75aaaec6b3db998ca8f238ed636633f87d0ee73dd8a3d4889ec61006e10d5412d9501b8a25fc4ea73f8a08883850bd573ffcbfef595f6baccce2e343718fa71fe72db06f5022f05b2bc06eb92ff836af3426c313d1813b849690e983c90e2d3f502f4cf7003b85af82b844d1058874d2d48986bf90c781adbb404b79b644d298988077f192d25df9697a4b9577b6b56a72fd079adada11b719b7063f72858f4a993ee3d89bf92f36f4ee23194181d393783405fa6c87448753b7b3ff387777d8757ca65932b24b494398a9bca45fb578b63d81d3d1f
-TAG: 191d565e63f2a1e70ce4a2f392b64d7981a20bdb7cbea3317ab719d8
-TAG_LEN: 20
-
-# DIGEST: 9a4462e5c302d0657a599d31a78f3581e4b1684b
-KEY: 877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc82
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267
-AD: cf71408a41729bacb5
-CT: ed1c1e41992c0784cb35b220c4c1acd1985a6b96c2084f2dd6a8ea7409d39cb0f983ec2aae41e72ee9ef204a1401d4478ca5f2b068c9c5327ca260b2587d44ad53bd6d830340411da14bedd9ddb161df5ffcea3cd1c51e98c16512b657a9dd38f1ad9bad415c6f7d29c059507531594c44145d560f6fc9e11ba2f44efbb0309f9fe15df97bf1f5599d71707a45afb8a366bae722597a6087ec82357ce748db0ba87812e2ae60b12a1db5c36c1eb041dc9910335d44f35b209129394524ac043ec759fa1e9d46a31b4cb3e248817bb2e636bfbcf946e1c61b81288d571f693ccc02967bc7a1f21b7b75a0aa3858f732149c6c97697b1fb37f8e41ce99aeec3b0b31f8e1b2f6d612c52f6764f63dfee41699c26d54fbe15001a80b026de35025031043821b79900c08eaec35112ff48f36116fa847c40ec9fe98e92d11954d35e8538c3b57cdb8c2dcb9d1c96011147c743abd3550b69c6e4035
-TAG: 9de012976cf00a1ace82de693c002cba9df69d29ea8467
-TAG_LEN: 20
-
-# DIGEST: c96066fba6ca75beaddcbf7b6bf1b43b2a7b6353
-KEY: fa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41
-AD: 729bacb5877e72cdfc
-CT: c97f9422501111b5e8d41a02331c741db0f170ab55371933ca372c3b1c77c15abe3771fabfd2f3f4bb8f163aff56e5e04307cd6361903b037d5a555a518dfc7bc7819348db0a05c6079c6650b7f8560a971d07bbf9dc9c3034450937735807145e8abea960da5435a4b7bd69204f97ac4f3eee248939d3c1f890585c408158d9ca3b5c1fc59d75de526892967c09730b23d89623b6219b6646e503de4d088170928973d78b54d742363c6313e793c557a6717d16fc7f73f144f8687420637b2624ba3a23955e1342930a6c350b095101b9b3598bfd1d8331cd0b0b44443835456ec42b29adb89efa9b64f6498df3c8850d6165f5d74b5796ae4ca8bd29fd7cf30e9a3970700d741f6b9f00548bd1e997c89d2fd0a16075fbbc5deac2661fe25d9704f4e27237b86124feb77490f005cf0e5a1b706812b91667b4c025d733d2290e8f704e6098650a8cc720bd4217e20ea8649ded31317a540f070d154932
-TAG: 19f401653dfd2afb2309c0e4d06a2dadfbb06299fc25fdfea99655051c8bba078921
-TAG_LEN: 20
-
-# DIGEST: 0cd3dccc73f4bbfcc3c62b4638bcca5a633a2b37
-KEY: 07a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb587
-AD: 7e72cdfcfa76aed067
-CT: 3f144ecae12b64b1754688f0eac019e5803454c5b79f94c679495f2f2e26b6376949d2b9f8d322ef2a04d4c514e17d8cb9afde3961a434acc21e09a022d83381aa25e4592779433402f772a175f5d685982ca4e908134ad9a13916e125f33dfd10be9922f739f038107297e72708a19dc2452c7a2a64293aa8ae508072d99f4c83ec9a1c2df5f48e4fae6d27edeca1892444aadadbf83c669a86b1defb2be7322e659f3478b38ad82525e4b412127661b676f798cc4c0c21522948d9db6e51d31cf11a495b4c38159d4939952c313dbca903b9b87524d7bcc7fdbf19126e926a6afd970a53c6542ca38986d90967853c502cf7b8adf0f77b38bc004b563025fa1c0e9c4e17e97a8f37daa112d03e35fa3526bc136f178897776bc35b6fd6194d8c661978da5b50bced6811ffadde94bef268d97162cafedbb237d2eda805b43b18e8a356aba96c9d7beecfbe4a8d35e37fc88acaf4bb851e06fe75d9b1f3505f4fb0ea
-TAG: 0fb806f5ecb135d44542bef68540720e81d7abcbb337641c74716ad11f
-TAG_LEN: 20
-
-# DIGEST: 61f7a437ed58c4d0c66997aeed34757d4f36926f
-KEY: 699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa
-AD: 76aed06707a07c3dab
-CT: 9169e6bab5e2c9bb2efbafa95242efc4e42dc6905000653b98c179ec663578417c9c2149b9868709a7bc550bd7831939ac540c6510fe15661b09192c0814a22f03ac79190a0889b1aa5d165c927149c86b9ac0abb32cc50d33736edcd31da2ba1e4f60fcf35e8d088df63cb003898ba843aa99e410cdb1b8abdcc3dc3fec2bd3752ae5ab0a2b858c3e451fc62b95dd8b46ed0cdaab69608376fd711d0eb7e017d11528f353fd37965e26d905ee161637dcfca5cabef495d3b074f5be708e074008324792a0d901cfee936dd165ef18799ed7db508898370574255a95e190f428b1fab0693f400a47811e4acf0319c76581146e48912be4cc8c8e496c2df2fe634a8e18f99eaf1ba5fcd21c810bf8c9ab28dc5dc59da6685603ad3c14281075948268b452ae0187ad6bbbaa8f8d275c227ce6921c4b0c5a837e36ee17ee5d2460213495a2995a8872cc6b3c621dd338bb4c375448a74bbc7eee4d6a3b4ce26caab655fccc39324799
-TAG: cc4078a33107faa6e1a05d54646e5b83b2ab91fc61000327
-TAG_LEN: 20
-
-# DIGEST: 9b062a7f63d081bc4fbb8cf13db57ffdb7d113bc
-KEY: 2eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee58577723
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707
-AD: a07c3dab699719fe88
-CT: acd60034dadbeb0b29f9e43f33df5e650e474d48ff007a6ebbd7f86d8bdf8177b81e3c31347fa78cf1216fcab0952f00a189dac9164c58639aff79c9138519a84100af1911dad011f01e8b9e49496a51e11b7e211efa64df95eebcdcc3ad152ae5066e2b80a31f456357290d07b637df0566e4dcfc672bb60fc30725c7940f397e3d486d044ea41df0626355a36913f6f6d4b68ff7e7f35926eca8f0f0eabe6baf4480ecac852078c4609e3e92f942bd63bb4438c4d370dc0cb7d4e40228273fcfc96c08e39a3fe7b765ef18753b6c1c07afffb902c788ad058e31440480f1dc2def700caeb66d980fba5eb72d14cd7b385e91712cc719f0b6654b250a823848b0ff42646ba211816f8c71958a50c090db514fee0a4ffd706a3b95ec71112e272fb8832e34fae9b2d3f82c94c6f808f708a3c7e1c5d8d5929d9e44b0a7bfccb1a1c198d42b9e30986b581c1bb185a1225389df109ff1687345d7b4be9f6d5addd6608c87071968415a12c97933
-TAG: 079be4482362ba3c9acb80924ec02f359a4ce7b8d5ee784081002b31717662b6bed9cc
-TAG_LEN: 20
-
-# DIGEST: ee4812a7dc3e037844fd9c35770734168c4ce2ce
-KEY: ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab69
-AD: 9719fe882eee2fee55
-CT: 96514bbba87db4dba9b5ddec2139efbb5887b65fad1212133f6da03ce1a71b77987fbfe4c4447455f956aedae52a6241a88a4fdede9fb0e1bad955cc96abf5b1b34caddb470a1e094ac62152a5685c57877319aa3775fee4db3e2d179bcb3cb86f58c0e0e4f4e38d03782ee926a399c3332e9bd136b45929fc6a00e12035754d135809bd6705602a2162a29f87ae13ed832a2140255a23bbb68bfe71c99e8cd25251a04fe87f30937f763cb5d6973a90495c906b0ed74581ea0e8c1cfa6ab5d977407d74a0c3c7c131d276d802bb993497079788c9f6a3525cb18a2d65fdcf757c0062d5c19fd0cf184ef0806008cd1ae87fadfa04d7b5a95c5e2716139b82b25aede042caa76ca315e17c4c4e58ce793e3725ec5a40dcc65e102d21eba7b85074f0c496e28a63274de40407dc2ffcf6da8a7187a8370c9826698402521ca3bc9fb20bcddaf728182dea0a728d48a03056636844ff12cbec4eec7792c62a37ef9c020f3cb69608d92520900bef2f6abe55e9
-TAG: 17d0ce12d1b2f2a41097589b01897b76019e4d23180af96ca5463df8a7b4
-TAG_LEN: 20
-
-# DIGEST: 4209b9f203b29926176f7d54ae89ce7e903009cf
-KEY: 870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d808
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882e
-AD: ee2fee55ed8b11534c
-CT: a97d4be4873411771d0c3c86bb4a4610649a74d05b1e10db57af6b45d273823462258a9df3b133e46bb134dee4ce97bec666f1c21e029a55b5d40bb34faed140a7e932b0a4b3c9ceb9028221076dd8a9e4e7d18c3c90f19fef440a9304be5fb9c55b241dbdfdfe728808fe06ded668984b9a574c47cf8a3224e2935182502261f1d21455938b39b75dbbc2399b0a105c1dda39e05a262ef27fe4f47343ffe9010c9abf69a8351a7d7c4b30a312a20ad5bf55b5606180b2a12cf5fa1a0b78140adc2db254942849c01d567196063ecb79c9d7ace4331e40e57df620b751cd098fa8c875ae83edd30c40ab9852f98a8cf6afbf60e8adefefb538045117f5e362605305776b748382d048d84cea0e04eb9615f5c26f75c725cdc8f7034ee1d0ae6cc6e08862fe9826945586d5e99f96b79c545e6e7e0579f594199ed16198703de56deac61735d8410534721a32c734856ca66e260d3499838419e4859e8133f9deae819d4dfd561daac4f45d0471e71ab863bc1c1a832c41
-TAG: 2e3fd936ea0ceb6cd190cd9844dbd8a860dc5b33e29ea2d248
-TAG_LEN: 20
-
-# DIGEST: ef5c6927cf43e0994fe5d8e87aeee052b6828289
-KEY: 14bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea371
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed
-AD: 8b11534c870dc695b8
-CT: 5d4c72fb3d29791d044da718b25de9934e6b297dd9e33d0f5cb0be6a9193cfe7d850350bd26f6ef889b2295a9f9a82bc7fa139b4201c6ac59c45bff394dfa707178f4ef94ae3739a0f1ef6e385702966102d231fd27a41493318cd51418e90d322439e4ff58feb1f9b45b233eee8eed28738158bca9d53b579184ef5d5687b2a419dc1cef68d4b4f7a782e979f7c4ef2f97f801da6b5aa9d1c0bc0736f50cd3ed4dece7573d895b67a2f2d6fb004806778f6e9c6bb14df1deb8e931dba87287980b3290c84bd7b55aa7daabef5037e583bc5932dfe526a55a128095dee020a5cd99fa3af69ce674a71dab3b4c282e904b8d6eb6f4cacf3026ccaeef0e260381129527e1968fb9c8b728d342100e2d500ecc4d1060a6b32e6730d695fb8aba898d0c64a1fc4a0f39bf64cacaa9265eb2520082f0f8d0c967c4a5113762096bc6a553fa68d2f9778b08807c5e99cad5acc5b14cd6963399b05520e8ecd7b50a1fe448051450960f74ad4b9aec57605e0c1cd78253bee7c6a7339b1aa22
-TAG: 440fa165e7e44760eab4aac87688b8b0c84500647c5be225d31d3e03787039311d629b77
-TAG_LEN: 20
-
-# DIGEST: f239c330cddd57a5e88e777c848cd66e508bbac0
-KEY: b1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf7826
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c87
-AD: 0dc695b814bdf1a87b
-CT: 083deb38197f9b8378269fe2c20a28aad6218aa3805d4d1722a6ba7a447710f71244e38d0c33c195949e6171e9c1fb53a522296a2c27562d35896d5948b886f7d5f6ef95a4b27a16a6b524ceb60acf96e1896f76144972b07a763243b5cbbd74599d2a2b64fe9e0e5cf1826f07f8273de31cf819c890d8c1d6ada8f1562d1bd0327671ee4271e1ccf765de3eba46caaf48394265233e3460486f60a3f56926d6807566a712acaa03b04f4623a4abbe0a31c3bd109d58e96cad275d9dadf7790aa1e4be7014be6eb9bced40feed4a3232a179f672aa1c162156a31beb5602527db08883e4bd39c8ec32715a826e957b1f8575a3e5840e373ec45b2aa2ccfb81b2a17a0f23d3114d6c7301c964c7120e722e013140d002a2991920d19f2fe5d25ed265190569b4c3e197e49d19a43dc9f126da52f46ee2b9ec75dbaaa6f594474531b7228ca66be6c820c9b7d42c390b68cde3ce98e886c91fb77a0d10716641d073127c00172078004578965243127e8dfc67f1590dffd2f2455e3854e5f18cfeae
-TAG: 2d0a2b6c24de67c02a0dc65593c57a3ab3abf2d9824b9df0f4778e99dd1520
-TAG_LEN: 20
-
-# DIGEST: 7384b8e3650297f0e51d9a8f76de34eaa4bc9fcd
-KEY: a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814
-AD: bdf1a87bb1052c6755
-CT: 27d1f2bd2e21f99e75ea4b99877cde2d22c34b2ef059aac79802efa77504e3dbe6883ae4d5e41f0616784d3188add7d06d45d26fdea979be4ea5ae687c81e250c6fc6f8fe1076bd37ec50768889652d7c604b026c41eb97d884cef82cd4c80e93675fcc0a059ce3e0cfc61bf18e84233fed0521a136a4080316b4c9176849732e8e48d61a17d7bd614a4c86e0ba9cd2672d0ece285dd86a532a403cea4b431bb821653b97defcb2076f278f5abf8110239b5319d8b9a6abddbe96228dc16dd512d06c8bf5abdeb2554827952f5b98e93fdd7d49b9a3686e093e8cacc2fe5e283bda680500b48854bc185c703e79969d3181d922f02f2ed0b651646b1c6126849047a3b9f79c624a33e3f8ef68038929252345e1ff1c693b96325c04a897dbc09d363c9eeb63037772808c1911343cca530eb11c69ce39860f82e9b676493499b7f6191bdffe780a770b79aa1a74f0a49fa37f15a24f585869327d24fe599470091965715871d1368fcfc71fb6ccacb1f50cda71213944a9a250f63f3a169e986c7e8c9e573e9
-TAG: 3edec03d44484e16b89dcc8c298594e247eaf8d5bb1e2d26b428
-TAG_LEN: 20
-
-# DIGEST: dab0914dde7a8845203fb78f9b0af41ce550adf8
-KEY: 095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1
-AD: 052c6755a7a116bfc9
-CT: e2ea2cac5a4cfdd8631ee6309ff2119e4625d73ffb6e48e8d694c55b7d636fdf3bfca7b100dc78eecfec200fcf58d06314399ae4e646e73f7605fac3c63733c2a5045d4cf83ffcf68603e63f8c646793be1ca25676ecb384810c2cc13ca8007cbe723ceee6f392eb831f9c4c541e21ea993876636326947677ac5b89804f30df4a27d07631c880d3f03776a1b7f24114d0ca4b7d9964757e02066f62ecc4a61922318fd71182de1a56b2202e92c00b8885666f385e07657ad6b92201f7492e8aaf14e741c6f38d7f799d4ad9acf129df2bc634373b5973f1bd257a316cad58a0f17eb03549e5f706ddfa8926f0f20a2c0fa0f81ff4e608b4c968c79305e58e34b528fc1605cedb88f6b733c7544ae95d38f99969f150f189556e5618e525f43437e666be027fc6ac8ecb261043d669eb94ee553e275fd64095f6df62d5789b90aab649d3f7f7167b414fd1e748dc80ab9b0f69bd1abf1b6eb6e737755910e68256f13bcac73f6e950fc26d7b4f58a5cd3105053e6031b88ded4645f95ab03ce2eeb886e4e5d52d7b414cdf
-TAG: 730b82e6a4515e1c8f061d5978181d07a4bcc49d49
-TAG_LEN: 20
-
-# DIGEST: b139e0011fe2e768284091a4f838f86fea1e4a7a
-KEY: d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7
-AD: a116bfc9095da49db3
-CT: 58b87fe042cb0c4c869213616b87685eb2eb8ccf80eaf00e68747c919892e7d8bc38d9aa485d9f3822f4da3e2ca327124b0ed52c2f7378a08e0bd787fb7a336439b401c8500b1d70f32d6632a21e411b1160cf967c4178b25e1d479eeb0c455a666d9ea7a7efe210c0978f72eb11990df5fa4153d93baa9bad94641a170f954cea1d2d4cb1ce7e96f9ee793ff25d4d43d008b6d5cf133f61512eaff05fb14be90739e9619796c6d3831deaa7fa2506fa3170f9a4e4a106714744e8196dac22a31e6c9c3a2aa8d6da4d568a61e54e3028a4e59c8c492583314e90479ad88c49ca6394a0ecc3dadf40d5ff0a28cc29eae4a495f180837120dc7e6bbe45abac52b90e8ad0899f40332a07e646888de5a8ea55db87ff1876fd6b7c8ef50f69e1b40029632b9c58d4006fb26c8ba1abf64708009ef67820f670e60db618df3efd9f40e7faee7f859a113d5e9ea7181bf68a26d180bc394856ce57217f4f1d620f3e5b7c9e1220ea726f407aa4a0ec242cb6bae6e180b7d4322fdf49bf27eab946692b51e873e7b9b76e53de4991ad062df286
-TAG: ff874419f1864dd71aabb83447da95508c164ecf4f985b7fe0ae148b556b41e7
-TAG_LEN: 20
-
-# DIGEST: b338ffac4bbf3a2e41fd1b3b6d9d224d4263b547
-KEY: 5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f437248097445
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc909
-AD: 5da49db3d71f4b975c
-CT: c69587a3af9209656e7c8592fbc8a79fffec4dbec3682bfaa5bbab1e9977bb081fac7a73c840de583e97decbbf5a6752576223c4b08958a71e0f981e1f27b1fc4b96cd1e7fd2df2303d6af831ea7ce2b6674d693c74917d04198fc96257f192b9c08cf208251a62e8a66cf99d2e8283dfdb5212095bc16cd88dd00005bc34be680737e64e6d1089e8edf85393fbaaad1c28369ad366ade7baac9a971c00f39d9eb84467410025b98fea49413adbd48196cb9512dd1c806e18570d1f6cc2c2914472f48cdf5993fcf7d6df6cfbd372fb71982304763a0603124104419cca2ccc303774951e9d1a4f41e608623904c4aac898ff3bed9d353279e15a032a04a7bbf4dddb0764728ac457bb4b1d243d8ac0dc73a9c2420029288b97029fd7fe59725d0f6313d81539b7c11558c94947264b4c00a974dd62191b59453731360338be011e381ae6d46a92785147c17ad1dd725221176782ec699620570e35cb348b36d974e6e45f7ea49889094f31756cdbc0fd238fd247e5d2c51bf6fe727285356345677147aac72b1f45477f41bee8f692206db9f5632
-TAG: 63751d3cf739a2f7a77c476cc78dff1c23f98b8c57b6d276019acb
-TAG_LEN: 20
-
-# DIGEST: c9dc1fbf134470bd3ac0d9855918516e5b8d8778
-KEY: 22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d7
-AD: 1f4b975c5d503f478b
-CT: bbb6bab0cbe78c3d1066c7095262110fc14c479e44411d469c83e852abe3fd3bbbbfb3456306735b0f469ef93f9d792d7f4a4f3062978f9bc838d664583167da462152f25266bfa520dda945fe7562bfdc2a78191d3c55195f1492af8f31703c171375ff2b2221e9efc6251b346e6a0ea9c10772926a5bb1bc4004f8fdea3e7baca834646803b5177a5c4b6f7822a92a4e4d28c6db9c0932b5c2d019aa1059c376e675f452a6ba35eb7e3517e20dc8ef44996229ba1d69846442ed4f2c5bf9cfb555fb73bd29912d6e5afea45b502a0a5f4de7d90a2922bd80d968fcd39f699590354636de8cac1c49258550d46fbd8298d6cf34dd859f9f2bf6b3ea20aee0e60dbe7f9b7b06d5e6993ca977416e6d450029a5232e4d7349d2707673fae01730810c7a2f5f77d5af3d69f20cb6fd1746d5afe4c1542dcd9a0876960178838aa6cf2edc0e17f87a21634d7efa0f208ef3ef5e6dce8f8b16f46f7e379b1f1eac4b0d789fa4ce9c6484519fd907935c8a250e226e4b330a4a109697dbcc79d4520729640f59a7d0e40a22b9652e2b34480994fc73f54f70c20c4f4f
-TAG: 011725210947153971efdbcc388f14d616d80403b774
-TAG_LEN: 20
-
-# DIGEST: a551ad393bcdeb8c1bb1a4a70e367b069ec549c7
-KEY: e6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d
-AD: 503f478b22dc8253be
-CT: 92a056b861f4177ea827a5fe32c15ecc05ee1243de09975aeb00d5b32ce60666ad858be3ba1deca076199b702003cdf64a4e40d7b3950e5f7f4601366f906eb03a550c2d811221a8a6b2e768ab8d1e576c49b11301ae55939dc7d2aa030936922458e2ec07721cd122a5706a39f0021dc348424ecbe92af1bbf383db837958848ee5655c6a443b3a29a5366ab3b6ab9cf3add4c65cbf39250273a079345611bae3b1096f841f6e027277df046c122d29e1e5b9b882b36bdd0f2ce051dd889b73abf0c454e22e5476f918d357a6091ba3299294c6c2ace938793a56c14072b9166e388644deee327982b773c823636ab0d962881e4805d778cdb6c6034966d4489e86af4399b8076702d6035edf5c38ab4e80e73429460b7631cd212993cce12778f137c97abedba19f38b713870f8d7f63315af67607100a78f704dd0bc44a3a404fd70ca604b6a22b5407f7349281eae5380b698c9e20a3878bd23c9cf35f77e43c529baf21cfd10e3b60fdb06d52a34581bca607573de309d182f080e273d896f9879438773f16b050a414744f59d42478b1033e2eb263a5b7f0bcf3feb8
-TAG: 870f45c780292d4d2836c4a927270975712dd2568fc7c5f6218bc620df04a749fe
-TAG_LEN: 20
-
-# DIGEST: 45b1d26c62717ec46530a565c9e11c18206bab29
-KEY: 307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22
-AD: dc8253bee6fd1b174c
-CT: f8c9831657e40d019c0d05b8f79185eb0e75d27098fc1aa99c66ebff5c97969a378e448fdf30d6f38a792d104228129e4d87e70e85a7ad0a973851c5eeb4a2ede2f35796a2ce6a056f2e8cde884cd0cb4d9f5f7ee1c2ce932d3a597029596af97b07b14b844f4084a7de41106cb77e9d24fb2e4bc647d59c3c47cea97215b08b258ccfa92a30d3cb099b5e5cd6f3fb58de0dca4058e60de309ae9eeab026662eb670db60d6d7de664204e3d7102443182309f4f40321cc1d115995511f16c4c9c2e08486ad616e387739176ec2c7a69435a61f654f27516667785bfa75ce5393896824928e9b69ddc0955c055644d3a704b8dc14650ab1fe01c38c6ff925d07457d72f4a435e36dbeba36ac5cfb19c47af263aaf52912eb77243ec0017b58940efbfadce7cabe38fcb06347f7da1cae9bb03f091984625192375e9c0e3b51ff64c34096de9e3f26fcc02c5a9d023fb5e5d81baadba649cf93699af5131ac44f5f0e08cd1efe577aa7febfe7893667ba892d7a9ed93af763fef4c06cee67d42010c17e0b934841158a8d888cbc94082da6c632eab6f3fc1a4559d26daf7245a67f4af0e34
-TAG: e9b0529e04dbd1bccafb6999818eee13e04283bf16a4d2e81becfdbe
-TAG_LEN: 20
-
-# DIGEST: aa7cb8f1b995ca51405931f1d021ef30a5b0eb3d
-KEY: abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6
-AD: fd1b174c307f01be95
-CT: bc607a6306096ce9e70e6bbca7a22d39ad642c58fea6b3f3681dbb24da8279244badf409292187125c7dae096687e19fbe139a5f0f751bed53b960cd39e8918b072680bc3fff249ef9ae5045640bd7f038855f3e4786ba66919cca8dd38dbe8d3f2ab2778d44af12c6bdf4434add471d1e93168df1b7b6e310d9cc727b1f68e186a34498fdedc3b1ecd0de9e79b59b6ca3d5adaa3c75a2b8bb2a892a214aaa37fb321f71d006a1bff1f4d2fd33dcc500d14221ca590b8308aff3c5abb149e137acef7d822ee3442d9740dcc9843a81c542918611cacdf0f80f297c1d4a74aeb9528109b80e23858eb942b507736b5c94942558ac79cd266fd2dd746d2592ce9a043537588d692009d9b417e002fa18689c6ca1a5437745f83ffb925e387ae3552fceb8ef347f1797d37f049986fa07b4b2a4a8bdd043f91fc863c5dc8734463e5761051ef4e038a874b6c8cbded85a399c27eeffb2fb79aab5d3ecda4ff316db38dd05f23a6c6353f12e38bfbc2d415b7633e778600516ff1785a876c300bd3db01ceb5efe28cdfdb94239b3ee543e84532ec96e22aee767a977ef74547e476b818fe2c9425a2bcb5e
-TAG: 3592e8a8351776f03d49bf373b6227157f58ef5630cfef
-TAG_LEN: 20
-
-# DIGEST: bdbd450e5d302436cffcae83ca3a444c0253a85c
-KEY: 57772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea0
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c30
-AD: 7f01be95abaa9bee58
-CT: 546f158f89157e304802d3b194f4679d887fa5e7b9380fd8a529fa7c101c3ff237c819fb254a75a385bf8e22c4c5129a920c1b0297c6fe06cce701c36ec8dfec315f54b9a1a9c438b39b4f302b921546bbcea00d9bdc1ed7d74e71eeb3f763b41d6f0a640395faf59d61c7b99570004004a5a0e5c97b28cf350cf79e9948c91c1cbb8cf81baef18bffd1cdbe22e82c5c60432003fd7a72da57a2b93f37b9456fab6511ba1c09b6627466cbba48405190d1199fae0eae624903b0c828dfa85341ece889301ee3c38624c4bf6eb19100326761e2dd001eb95791b31ca1fa9d1547d91ef5637b53a0e8461cd3d3515abf9c8afcdd076200cf65bef73903f5565504723b41811d2b49460e08bb401af8969ace8ade353c78fc7a483416b1a7c0c2b06ae1f9cef65a3b7e7db9fffc50bdcce947fae8790dc531bd556fdf447cff672255a5f2316425537c1d6623e7b5239fa87e5e6e4ab781ca21184340c59d9996a22ffe312f3560caf6de5ce18d8d6abb1ed5e4b25e51deee7cc64d389cd8d0dd611d3d7fec39159f7d4c07ba7accfadb8a0134630d2d3b8fadc4fc1b7e74ba00e9c31c5d665c45c7f73fa18c999459
-TAG: 0d769f93e5cf3fef5350680620405958171116b990ab4984e60ba3375bad82202439
-TAG_LEN: 20
-
-# DIGEST: af3f40d07667dc7e32a1fa664c6f5503c3e2c8f1
-KEY: a4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95ab
-AD: aa9bee5857772305da
-CT: d63e48dba3eb1d466e836e4e0098739655a4a78557aa3bd8e57be6f9625844c2c42941178d96ea3c1e86faf93299fc8b9b40aa9542b84542370883939cd81266576da98855962d002fa6598fe7bc5c6f5804280b64672d6b7a3a06c4c76afbf62fece44fe375620ada56eae3e4c40b2ee8cb1b4d085e2d7cc9f836e55dda114f5a2dd21df88ebea6ea0a97d65ef014dcf79279571546ade3fba652f6969ae21c692a1f65b5544f7338d3adf420093e519ebe4b11fe589fb8cc952fd267d65b64829c0cec40fd1b44a0ebc8b5b9356b97672248c45c6f357e8c4d493f44395af88d3f905d96040cfa227e301438043f8874d9e4bbf0349fd784157d13c9f3c96d371b9901b550a7376e446bad5435cb885101e950d340c62e1b4b8cf179a7c0f7c407e41f51bab8265f6e5ecc56a921669c9d4e1d13999b442cc40c777b990cccf51b65cc65d72c2cf2e242a34325d8639a4c8a533a3e4e3130fa33346f13c807b21e5fa15121d025f17e0c773d936cd5c294c96292c2f1c40d80940277176cf5667f15fbf593927b1cc0519cf77d227ff21624b8be4d10fd8fb1aff93a3a97fecc194170f3e397d8295c3bee39b48ac92b15c8
-TAG: 5af958023fb57a5fe20ffa77947bb23bc8a6cccba5a5592465dbb214e9
-TAG_LEN: 20
-
-# DIGEST: c6830aca35b85932f7c5df33907ca59bcc489a85
-KEY: 05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857
-AD: 772305daa4b550d75f
-CT: 761dcb055f9c8420fc734bc8ed9db220299e342e205ae568bad20d8d2936f76a5ab824e43f29cc60568e80e4fda30bb0bd02a2ddfa188c609102aee343dd4c5916877b982e11637f6a2bc719b48b6fd3f54e26210b2ee307ba31eaa15f1ba29e17ca2cab38f219de9559de06de87ecf0dc490e0f7910ca70c588abad351c39491546ff9e49ef1626fbce474ba66690c57d4b856dc2e298ffa02b807d81dec4f13f0aa29f8708b5fe5762de65204276dec4f7e22bfb6771cb1b29919162a4c469cc4f179ea31eec7088a0b546e66daa7798afa655696b486f7ad23c2816fa7b468e9974f1b33d559e8c84eb2a1574a0a20f2a1c084b95b4c8de8d73e104058fc8a434dd2094bd7bf3a4e59d44747c1e7aa9b18747b1c44ac1ec5367e974ee62f5197e0d67cf65ac4505ef465adfd76b858cca29ce86ee1997ca6b12b6468e3b1cc9e651c5cb7272c18781007888a28e9def8e92fb3df84c1858b3f1300e645fd7ce835d41eccd07efe87bd22df4f7f1205a28fda90913586dd79b847bdfef187e0f3c43d6ff51329fa9cd53b536da7eb233cee64cc8975e7ec43415a8032457b4c6b5d23494cc698c74bff88b7684773542a0977fc011f05d
-TAG: 36af855a92b91f4933516e7ddf95aef4629594da2b0f0387
-TAG_LEN: 20
-
-# DIGEST: ccbdb85e0a5bae6416136d8d64ef0fc8ef3bd52c
-KEY: fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937a
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4
-AD: b550d75f05d8089850
-CT: 12048f02ca2ef39e4f29e114aa976b6947f28fc51c0d428baec2e180f4a8bcf24d28c954f3f43070ba235576f322231b2cff04e890e916d43eab6cfd9ac0503eab292d5b51bce8e6da431d23bfdcc47841bee19affbe2d8ad7df33a3f6e3f07dfcd00f77f542cfb6f5434967d1ba10ad4b82fd332ae3c973acc2ebe3b905a04806a500ccbfac27c9e73f382a211052115b5a850ecbc797a9c07bc29c3965452f8ebb8500f30312c03ca0028aadb92bd7481e8017ffe05947f3677eb15d17f4441e3ca9f108f54bf60162a55777f98bfe9fda5ca80cb8c3e1bba672fb6e4789042c0f33e3c74a6c05936e3c483496ad901e021cb2f3196ad8d079309c75f27068d3c3c623d56e86154b55634205e580b51323e2de1a73a868b7b055ee616fd2fec4dc7a7920f6178cfe254134e013fb559a02600913c9d2137a2f87964e9bf081c34cc0a71b7afe1a72cf8b21784ddaa7e838325a40f036d20d18de6f6961311854082a099e9be0d543521d4989bf6d386a71091bcd8639e1140be65729d7662b069b0918a1d824dc3152776db07186a3f4168c4210747e3ea54d1dbcd14e4a85f37510c405bb9be210d2efb2a53af490da9a229fc275f5549c61c6635a
-TAG: bfea4143deb9409af6e8afc5608d1e0682570499a4e2f697eb93fc9675ed36b713b8b1
-TAG_LEN: 20
-
-# DIGEST: 9bc71f6083d602ea43a5be27534283d8953578aa
-KEY: bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05
-AD: d8089850fea3711265
-CT: 97c08f8a306208ddc424cd17ee5d596f635b225aab285e7ff5c18227b520c22946ecf7d4d449db30817b89876ced2f3e490e7417c7c4d7b6d13de1583ad02d492829c83a7ff09a35989a21816b3a68492fb179d6281bc2572c37b6a615b3b117bce255a43610171efeaaccc99228dc940a439e9e20773d257ce232095b7a02ade7290dbb95cb48445db7056d5d30f5de69ffcbe2e65bc38c70776c37f0439d4b16b39008a293f2fb9b3dda7b2160aa78b7a16e55c901107f92984b528039844198826ee1709f495b34bf6fe5af4eaca12940f065d3059892c824dcc3950c1e012e82c0b3e19d4d7ddc6404ae3d474f28cbbd50ca02ba17e711094db7ca776c248a96722d7ff94bb208c6c02e05d6dca8170080b5cd07e0f9d303d92c0b6cd1c509d728399be71725393e7ab8aacc206487b0c7290f8418cd2eb529d4a3dd095c367efecc8135c465b427f6fe35d3d00da4d87ecf19001ba8373906aea88cc3414dcf4aff273f283846c39d908ee52536523c078b353fe6d94ebdc16aafd7ad4101bdbcfa1ae8a4066a5aaf1e1ff7a9d068fa3246cf545fe64f80647da52d912a9e64525db3d9093d6fe948062c8f741e07d0336e135c20ad3981c6ea4f14afdf9f93
-TAG: 0e50c8feb13bd4e7d7059b2e2dd8f940e25c43bdc446c1c6234e3aee4ee8
-TAG_LEN: 20
-
-# DIGEST: c39bd34f093d3b18f254e8a94d2afd8f70eb4d75
-KEY: 0bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d7222712
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fe
-AD: a3711265bf78261046
-CT: 2382a3e4d43619e1596ef90c5b79fb198e4eb178c3ce524b812ccefd8e758427f5854eec76f3b408b1247d6be5fe0b1d6dc5bd061b2a7494b6d40c0fadcf555811de17999d5fb561a542f1269d44b6eb3b7b101b3e746a741b55fc434999bec21fb30fb7d4dd4b75b61e889976cd64b76fea5834a038bad5eac4d8c5bd476a64cfbc08095e36544520aa52b18b25ffc9652eb3523f87e12b82570a590be4c43b124719b50dd14030370f90e9c6e7f55ceefa2f135a98206fd5c7906f75d135639152130fab38a6c2a7edd9bf21a4847da2968e886eb450b5e8f00afd94a21268353ae170220835efa524dae65ae9e6172f32adaf21c3ea29280e6e01c4f380dde9c6d8fac5cd158a95edeb84abeae89c8748c484fc4a58e42003d50bacc1f55094385b17f7a5a1acee5f2ea1e737b832891f1ff344ab2b9b9531e68c5487fbab69772e4abc0d149ea1007fdfdd3cb201d3f2e5753098faca3b0bf1432a9ff55a988222343be6cb131af249fed51e92c24b168bb44acd283354060f28fbfb807036ca11229af09b1d325964cbac93f8a0c674324d81a4dadebc08f6deb368b58bd33413c5a2596aaf69656bf4a6524a2ae17a1e21f52bbddea5acd3b133f4d84e0393d92b7362b2
-TAG: 34abde7c30a4f9da4208933a9a391a6187af1951995ecc18aa
-TAG_LEN: 20
-
-# DIGEST: 630e1d99053b3cb7dc8c5c78dcb39fa7b0b53e74
-KEY: 2e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf
-AD: 782610460bfd24ba02
-CT: e3658fce6b8bb64c0fbe21eca4027dfaae745275bc257d5c99feb998abd4a6e9521ca1ffba8d54c2d909cb2f2561046d79cdf42a1b8bd086bba23f942c0bc5d56f74f4a9a72f25a4f470f431b64dcd78673836fb238439a21fc1338f09a8e813b08e168f70fd24d880aa304f3dee3184b963c4925766b8aaa44289573943a0c066f208c302ef1536bf125a2b139722581d36d34e904f6d7c5dc354218e1532a0918ac115d0b5fed7cfee50c6430540b64e618cda52f44ea26e7d62c01d6ef12205fffd5a4ed40a5f4581a57394b4e429deda25a96e7d38ecd27f9cbd596701c2e1f42aadcacd4d7cb7ed9713111765ce50476c8888875ed0ccc29edb3f6521a1b1708030d24caabd7725420c5691c642261f43694900b2b357449d43b19309d5e8fbe6a084ff202850cd48aca018cc3e3ed42114c1e3dfcd687be51f27e68cf397273c19209825570d1fbc3444f6ab20bfffe25760e736a3062e8fe0354cfb248a7a48a4f191792abf3c895d8b6b9c934a8c2a499e49d858100159027a067cf0bce2c9de65e4570b4f21761989f8f5af25de362ec3ab61f3544c5381f55e1e2f0cf529397144a5e064dcfb1b3262734eb7184e176f16524bd4fb53e91ff0553753f5c7375539b6fef45cd20b
-TAG: fc3bd476250cdceae7bc798268d9dec1af8dec713022951f306f59041759667b34a5f7c3
-TAG_LEN: 20
-
-# DIGEST: 083d60536c78fbe909d2b35cd5b891be34f2a60a
-KEY: c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460b
-AD: fd24ba022e6da12dd4
-CT: 5452596a11cab5e8247db758ea029b27fd2a413d4ea5c7e7e9b7f4e72b3fb93eb4cae4f26f4c443feb029473ff8f229100ecfd6c397bfd6cc4ea775fa2b12f2422383ca4abc4118417c9fa64335fbf0354e152f2245e83cc111475d56a0a2c816ec3f920ca96c446644a44193d744b4ad95f1dd3c1485db8ba50eb8463902019e0e47852dcc2b5367280e1724c357f911f691299ebe68f321d269b5ee5f3ffed5ef4493e125539f85b299f4ec037767a3d68d8c010e9c7a2d0b2d7e3b05c9ee1fd8216698e7e7e79954c1c433a49647d1d3162ec0faee67fda9b027ff5800ab72522036a9cce5e6e42b8a0b8e59d4b3ccb6d2b327e41f8be742196829138214109abb0a34af0f4e91712be0ba6aca8742cca08f0b3117e7be7a91925a4600d7cc69e58583aa61574fef12215f4b4c46e075f62dbcd0f69f6fd655857ed104d921642988a015ecc083a64227dd80ce0b7e9ce080f814542d4243c82c4760b2626ad327a5be9dda7df5daa3c5936924d49514c9a6e3d12d8f31ef0801c0ff34d6188630ced37e4ac3de3d986f20415bc87f6ad86c4046995da036b3a223d0aa16e2e78aa4a809ddb47fc92ad21a76cc358167b152a92f66e89eb967c35fdc129ae309e4c5d6d8cb8f96a5f9272593fd1f2e2
-TAG: 871367b1bcf057c83c54747b48a800b0c78cb0026c5f1f1ef85b3564785775
-TAG_LEN: 20
-
-# DIGEST: ba36e689ce5c9e3dbeba5ed1cb00b265c7b30d79
-KEY: 0974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e
-AD: 6da12dd4c27f437248
-CT: 41e1a02a53b81e3d916b0f7ab52fdf917459dd672a60f366a46112cb26007fb5b2b38f3ca9dc32c116d9c73119061a5c9b1cc421bc63359439dfa4a02891711f858b8206e1b02731b8fd7b40921ebf02c4cc9349978b3c1589c1c81217d19556c33b9f1d45e6afe2f8aa753d13393bd3556f60b71e58a57bec31c828bd3d2c20b148eae0ebedbc7654a080d0aae0766ad0be0b08906ebeb2dc68670815ee91aa0f2ad302d0e28662cd84d83031917f85296fd706028b0c11d41efd8814f22b8c665181b905d1a690394fbfd3317a077b10637e4dce89d85aa54643053d04a0c179aae0498d91130fd1aef5af0f5e12c7fc02bbc6f425995437c24cc59f45f005647f7035e494ae1bb4aad4372f62794bc33bce0b58459a8c32b0986405c2697dfec246e2d74bca42535f424be5d9404b7998695405987f5de3df233ace70be7722e4e36097b1f6f0aa58e6dbb211f4f820e81a697082671bc717259511e2e790b56001fb1d9c1451a729a9d435ee9d4ff2d57225f28c48c20a5ca984597ea5b221e4fdb83f9c7eb3a7fdc16c1fb6851380afd0c2c20c4c555f60c7563a42c4287cf9e62f93508a8d9eb3d21491b4dec3ea042e8a3a9453cb8a6c6d0b74661b0ef667aec6e11799c635932c6fbb31f87d01e6fc66828a
-TAG: 8e8fc61cf5bf178fc270ae283bf1914e5de1cf1c1b82fa896d27
-TAG_LEN: 20
-
-# DIGEST: 2f9b29467c1e54888b4d4db41fe3a943887e305e
-KEY: c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2
-AD: 7f4372480974454879
-CT: 54b7b878731dee0ed7e52959582a4ac1c0c112ccc1c92b12f3e5bcf9391161aa48badac21a27051a423f7ce8d346486b347b2ceec45ceda308183bce1add943c6d85031327d5e27fd9cbe28bb7b18ffef443b778858fb60359540aaf62e74e750115a8dba069817d0c324ea6a3a23475997ed851e9a299afc2bf0ac7f653dc5362e846efe9392a720b24b64fa9d446321fd0ef2d54e39737dea22cf94764743522cb67cf21ed9a8ca698dac845fd37fe1beaa3732de61faef354df0e04f8e8ec0fd60e86fab12965e95b8e0b82dd3bd35991c74314cc34c13a9ccfe627520b3a9ed9266bce8bf4b340607e8b0b7d2d2548690ada448d5203963d363f425fcd0fc681f0eec748273127f8f0e366ca10e7f024f82dcc763e587c053a05f49a09c9962617aad3fa6f600ab4081f19de809b431453ea6236afecb5688a5b1a3ac3bc205341a80666c602ade7298969cfb322ef26e154d16b88700ffbea28185f9aa1c109fb0357071e3d8c5655c304095660779c3731ca4f5ff53d577490db2e44a03a8283dcca422eabee388f2f2b2d53d774c0928d5b6e7191aeded5fd2c24ee9c92e5cea9af6b20818b7033464d8cb199513af1b582c36ccef51a1093da9123d7aee836f37f3bda6a6457f0d9bdef8d2dc6212753f182d75c6a9d4f
-TAG: a61047dcd2893003c5abbe59e6838305107ee46052
-TAG_LEN: 20
-
-# DIGEST: 070f23e02cb53f55b0127fd3fddbab83e5682275
-KEY: 98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd558
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809
-AD: 74454879c41de9ac9f
-CT: 7b61fdc182df0b0f3e1ef36e99bafb954b295ab39b2aa67f0cbfa848dbbc6ddea6e762e103216e814340b92a539deb7f8aed37a258c993381635b0d00e9fa912abcab37e135e0d88befe38d172c9331376cd541e279dfbed6b7a04fee4f8a4cb9f9f4cafef5d1da9ec104c8eb1eef2fbf79fcac547bcdb6589c03323bf95af0c5e3b3f297467bd40d1c2b11ad38ed396460945ab9cdbf807367fbdc0257519aadb8dc6cb46cc9fe2fc09782a475ecd870e6325f8c42abab69be453aee523c2fcd729b4cece57d82b72c4b4a3d4715f73e1612a894527c1e214f0ff0cba5bcdc5ce830bb1db12f70159d90db8b454b8a19f7d2d14137f64a11ec93886be20dd58af01c6649010158c88fd5b3e19d492977e0ec991832142f5f78361acb243b9419b7a928261cef944f9fa8f00c8bb76ef7b9ce257738da2331cd4504eaf0dc0f61ad2027654c0cbd590f99210243eec65a776faebac13e96f00a03837cceef450fb997c39b1aa680645b8a8bf31afcc05e07ccf0f39fa45d779ccca69dce520cb15717ef4dfad98fc5bf2776a4635edceceb71e99f0278ad0dad826c5dc8b186873de60030c9336d41e877394b3c5a3d8af97927e62351d3ff8879cd8f0bba12993d61b3c1542d275896ad0d841fdc86f1a86e80960be9216eefdc1eb93e3844b
-TAG: 9da671229732bd10f61e1d5a2a1fc9670df5fdf20e9cbf479f9f9e7fdebebc16
-TAG_LEN: 20
-
-# DIGEST: a09f0450fec556fbb3a1f869c9780c3d12547311
-KEY: 79a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d45481
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4
-AD: 1de9ac9f98233b5a73
-CT: 4a8618bb21c8b2a26a50d5efde0f4adfef21664419951e96c0ce5b3776c693d49a2cde406ffb23f212c293a60f1884c8be12c902bc24fb52cdbe41e225d3782f62cf2d9d5ad31ff210ab35d07a5fe395b168f575aee5a75b405f7b15dde886f39e34cc038f4bf075764dd9a1ae448e16e64c6538d36f621c10763482961d99ecc1476898d26bfade04cd796ca59b4c6ce92ddecc91109a0bb37b0fc0b08daad10d8c6bc86eb22f3a354d943dfb4d8f3c3805ecb39c645eaac13ecfed6457e254b1bcd2f589d2032e7221a7e179445c5fc063fe1d08e828b03abbfe92ffb95eb442a30f7a469f89f3515455dc647324679bf4df189b8624861a2a17c021ed11ceecbe1a247133d8739b88b93280b2c9279fc967675539f61e1163fb2b64e9eac8219f2ea1faad49a1c77c8246c41c62bac5fe6554fe6d3c6b4e46ab3c305244dbd1e8975bf73dbf8039ad6db23c356bd9865dca873076cdd8b3f6baf659613305dbbc2d04560f2fef872da55e1994d7fbb14320e51b7711354e7edbb9e7709766fadf0c6c44ffadbad87609eccc2b70d4cee87db79efd515de9065d69c24e7b40782d7548e789ebb7c6946989224a3701e02e28e355724f140198aea804fb2dbee5f0507ef3579b5c0acdbdeff7d16c667205bb0677b9e5bb33234d481aef7bba0e491d142b
-TAG: 6b75ac4687bc4e93d80b0efb1d74b9e869f280b487e386280be7d8
-TAG_LEN: 20
-
-# DIGEST: 32559b69ebdbf4f1fe7c6e5ada9a4117836eaf4e
-KEY: 0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a00
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98
-AD: 233b5a7379a561792c
-CT: 40867ea63f638c79bb33c4defbf8e35be3a632c60b1bce1eb70f4ecb80c0ec31dfc873bfec82ef82fe170e30cc2ebe3b1dbe341d5b49781a00f2e2b2cf1a5cdada3409c341b141b6ce3c7ea4a6d92c98bc3288297c0cdf11975337b6f03be152bb7917387a3b2b50de49d501e57a06c78e04167d9ed058a6770699e43797ab4b1e51e3c5e622f237ae9e1f99def71a67466db2d957e1ac80b856813337d0969dc3b788c68973fd2b58792a5bb570b8d113fe88763c58d17951c345f5c13fcade97e3c0124c5be3e979f64796746b5667950ac0f0fd43c1930e9e1e90d3598d8c15daa463aa42a46995b21c9d2046814a8a0cf2583a0f21c87755bc340c0270692909b6969d2cabaed1e801bcacfa3218ca1043f5e94fb2935ec55ea7b43f5e47fb9267cf887c2a81d023987ab41b26d4d00e8cdfff7aa486298a97fdaa939e0b0b5a880ccbae8ca68b3f0fa9c6914fa702e87e412b6b5e3e673dfcba087c5f98fe203973b98561aeca0fa33856cfd16cc37cd0f1373575b6badc2163f565e8ce2765cbfe9264076388f431161b652e9fa5547529b9e6c3c7e848d97d9253005609654975c17d1d5fc600c803d8108b9ecfcadd354bdfb96edc46607d41556c44c1d5c981dd38e2b7e72b00f7eb4e52462c0323522794b3791ddbb272547b038362623d5dc4312960c60c
-TAG: 67e5b3e5650300957899dd1a39ae3d5e725736729b8d
-TAG_LEN: 20
-
-# DIGEST: bcdc01526c7b0248abf3a41ac893bb72adf422eb
-KEY: 8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd55813e8d454817c212d3a0063be26e063
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379
-AD: a561792c0f3116430e
-CT: 02c169fa50f4bbbe70f9fa2193ad1e2abe20477b7f0bc3a966819d04b65892d1159154c703219632c7a3c9ad3129de230c3d3cc3e88517712531583dfd6b7f57ddfffe8b7eb4d0ac81ed3be7fc80f6d71d82a322f890e071dd210d1726bc1cc1f6abd78d044b65036dd7cfb728589fbffe26b7b954578ac0036c5e9f7eacbff13ab98201f1e894f57304bce324ff5bc61f5850f1048f30f302086a5804f366bf58ce61d949465ba2ba7d31cc3ac7f5952356ab3de8e7844a6f2c197b67e32ecc2b8480f8e81af75e6d1019e11f7ee0b9338de462871910783faff9eaa1f0fbca258f6872a7ca2dd708b1c059d41e4cdcd7fa1eb616f817b53bb3d4f6820fa87ae44c65bc5dd74e0e922bf4ff540221424568bfe74feb139e1af8a540a5e8431532f7332ef924af01922070da6c14f3ae784a18790368a1f1a0e4295fa6ce0a686641de77fa91a615dce62a0eda98c9ef252eff58280243bace254db39b09025491dfb8ffccfd8f7396caab122446f74f6847016b390f0163ff1b30786e8883607d74c3fef78cf63be2c0acf04830be0f8afc9412f08a6d5d8e9c985d8d6571e4d69f037940625a91f6ad518c5b5d956b1a4e7f4b7a300babd8ebb190cb170b51991119d8d33cac92872936e9b563d4c58274af6da172cfc41c5bb527d77010a3803573f69e3030ee5b1095e01f47ca
-TAG: d2120e30faa448cccfdd408ebc30a902f3ddb7c666d3a62de3c641db01ff0100a1
-TAG_LEN: 20
-
diff --git a/src/crypto/cipher_extra/test/cipher_tests.txt b/src/crypto/cipher_extra/test/cipher_tests.txt
index 8bffdf9..ced7595 100644
--- a/src/crypto/cipher_extra/test/cipher_tests.txt
+++ b/src/crypto/cipher_extra/test/cipher_tests.txt
@@ -520,6 +520,64 @@
 Plaintext = F69F2445DF4F9B17AD2B417BE66C3710
 Ciphertext = 304C6528F659C77866A510D9C1D6AE5E
 
+# OFB-AES192.Encrypt
+Cipher = AES-192-OFB
+Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B
+IV = 000102030405060708090A0B0C0D0E0F
+Operation = ENCRYPT
+Plaintext = 6BC1BEE22E409F96E93D7E117393172A
+Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174
+
+Cipher = AES-192-OFB
+Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B
+IV = A609B38DF3B1133DDDFF2718BA09565E
+Operation = ENCRYPT
+Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51
+Ciphertext = FCC28B8D4C63837C09E81700C1100401
+
+Cipher = AES-192-OFB
+Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B
+IV = 52EF01DA52602FE0975F78AC84BF8A50
+Operation = ENCRYPT
+Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF
+Ciphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2
+
+Cipher = AES-192-OFB
+Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B
+IV = BD5286AC63AABD7EB067AC54B553F71D
+Operation = ENCRYPT
+Plaintext = F69F2445DF4F9B17AD2B417BE66C3710
+Ciphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A
+
+# OFB-AES192.Decrypt
+Cipher = AES-192-OFB
+Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B
+IV = 000102030405060708090A0B0C0D0E0F
+Operation = ENCRYPT
+Plaintext = 6BC1BEE22E409F96E93D7E117393172A
+Ciphertext = CDC80D6FDDF18CAB34C25909C99A4174
+
+Cipher = AES-192-OFB
+Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B
+IV = A609B38DF3B1133DDDFF2718BA09565E
+Operation = ENCRYPT
+Plaintext = AE2D8A571E03AC9C9EB76FAC45AF8E51
+Ciphertext = FCC28B8D4C63837C09E81700C1100401
+
+Cipher = AES-192-OFB
+Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B
+IV = 52EF01DA52602FE0975F78AC84BF8A50
+Operation = ENCRYPT
+Plaintext = 30C81C46A35CE411E5FBC1191A0A52EF
+Ciphertext = 8D9A9AEAC0F6596F559C6D4DAF59A5F2
+
+Cipher = AES-192-OFB
+Key = 8E73B0F7DA0E6452C810F32B809079E562F8EAD2522C6B7B
+IV = BD5286AC63AABD7EB067AC54B553F71D
+Operation = ENCRYPT
+Plaintext = F69F2445DF4F9B17AD2B417BE66C3710
+Ciphertext = 6D9F200857CA6C3E9CAC524BD9ACC92A
+
 # OFB-AES256.Encrypt
 Cipher = AES-256-OFB
 Key = 603DEB1015CA71BE2B73AEF0857D77811F352C073B6108D72D9810A30914DFF4
diff --git a/src/crypto/cipher_extra/test/des_ede3_cbc_sha1_ssl3_tests.txt b/src/crypto/cipher_extra/test/des_ede3_cbc_sha1_ssl3_tests.txt
deleted file mode 100644
index 2af9765..0000000
--- a/src/crypto/cipher_extra/test/des_ede3_cbc_sha1_ssl3_tests.txt
+++ /dev/null
@@ -1,3785 +0,0 @@
-# Generated by
-#   go run make_legacy_aead_tests.go -cipher 3des -mac sha1 -ssl3
-#
-# Note: aead_test's input format splits the ciphertext and tag positions of the
-# sealed input. But these legacy AEADs are MAC-then-encrypt and so the 'TAG' may
-# also include padding. We write the byte length of the MAC to 'TAG_LEN' and
-# include the unencrypted MAC in the 'DIGEST' tag above # each test case.
-# each test case.
-
-# Test with non-minimal padding.
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: 267abdc1b9
-TAG: 83e49bc0b906878f32d6a4c8181e7d5acf3fc5024062031c33e0801c44319a66c01882
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test with bad padding values.
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: 267abdc1b9
-TAG: 83e49bc0b906878f32d6a4c8181e7d5acf3fc55a4d0a66772185f8
-TAG_LEN: 20
-NO_SEAL: 01
-
-# Test with no padding.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test with maximal padding.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab18f0144a62762fb196
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test if the unpadded input is too short for a MAC, but not publicly so.
-# DIGEST: 095a8f557f75cba8e2452ddf97c053904b48827f
-KEY: 18cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1
-NONCE: 
-IN: 
-AD: 936a91d0b5d2c02672
-CT: 
-TAG: a76d7e313217b0efa96b0958b078ec9883a0ab2bebb3d63ee7b6b7da7b0d8c0fade2a17aaf35b3aca88c3869da6c1ba966a216a60cec36f7e55a3daeef7d0ff5185f83c478647ce21bca0582224b72bf4eec23b467e0fdf087c2fbeee1c03361886d6d01b3c7b5e379b820b1a8e30dc1dc37c5906b28cb818a194edbb53b63d5d0724a92016783a5d66d1f53341d18be09e31c708ac3ac926daddcdfb1809a710a452c1dadc45ddcd6042c2860a1bee293ef51f63f25bff7ed5f9cced815f8a85faeca14f8f284ef8acac07095d52ec4bc1870cf1102265b7b8c772ae6c1f494f1866f97d906a7dae2ef65c3722dcef381547f3b97ccfc6c5660438c3cc41216
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# Test that each byte of incorrect padding is noticed.
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6aca9607ff5628c16d9c49e4f9753053120fa9a106fa7ecd7ffb008e61197598ef608b6e3e594e13fe041e3eca9686c355861b7e3d60920e4d260f7ae9c8d181de1bdbc20e6661bf7941f9ef612ccdcce8911429c2acf9dd0c199d631416695ccd7e1cbf116c2491833682e79ee30dead21c762dab1b4dd3e47303faf285a305ff2e871a5411e1be9716c1cf8a9d77d01a25032cf622a5bfe36132fea99403357fda3d66466c9c9a5b1b75f760b1f1964120590b9eb2ec3acf2ce826fa34cb07a1da83621d2b98e9f98b847f9034c59e2ae4847934aaffd2c2d0be99481fb4ec633a7109f045541ad62973cbe30ce5a567d84bfc7428301e2ffbbff0227f1c34a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6903175199caca0041acec1efff1f08c32787a3c6a888f5e04dd8aec7316cf00dcad42b9216a2cc204696334ec8da3cef7c774ba743d272501e9cf598b5807ce676a7ad688f2ec4a398d469d873596ffc4a0954dfa1cdc99910a7d37d17180cb553e79a18efbb02bcd42a06832c129261235c777692f9facb983ff8f6c4f82b900904887060f7d4c82aa3bafde655b9a3b2356cbb43cd39cee164dbd2b612bbd4362b0202268193754121466629c108f274b0210760a0ffeb9fe0767a0341cb493593b5e22f9b1b6dc3d519036b1f093da0abfd73fa4813b58f4feb7369c1eb87ea772b1b9c26695f2bfe32ab5758d075ed2f916300c1fcfffde81ad1197c9266
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6108410f4f75ecbc9d5eaa8bbcd94cf5cd402390207bf53b7221f78a53d39f3571153a43979a2f2da35bbe408e25ba43f069f5bb06677d81e15a6ebc24a9d0d711bff232488e2ee5fb8bd55514c550b85d024744dcdf179ebe9f73dac725bc0d27eaf158e2a7a61ddf3e9271511b24f4457d18c99c327a6182847683f2a68df44698dfa084e0110731408400769eaa1366c87c0bf21d3d8fc4c3558d9349de5a6deee7bcd3ea8afa336993b07f53765e777e4ae55ac9e612d32d942467f9090bbcf41d1703a30c990822558d6e37c07d8f95fecb2886a85361d0ca3f473ccef3ac4c43a250c1426081e999e75840bba72000e4f61b5f99620ab3603a3bca328f9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6e8c71386f15c7afabdf4c13b6063bccb4ba67a9c8f15c88d1344ca76b2bc18154cbd22de30d2779dd483025604bce1c1188612a3055d3745d62d2246445b13fc7be0e02dd864964f50572bf631d1a37546d07399136e43635debe50a3e1d2d2d54730b7d32fb12d8c4b5056913eea61968de3b2dc66f78d567ef508d7fe8186ced053d444d63dc319c97b01d75b0a6e6843c3f2c3a65ba8a07256ff3b1b00e5e5ec30d5aeb01e0a3311477fdefaff5a963ee319bc53c1e80337e95136755d3afcec2a7ca23df27a08526c17b9489591e7f2cecb03f43722334e349950e642ea4f9af9ac41bb0df3d28575a3e2acf3bc73acd5b1e0c6d5fa962b2b6243a41b798
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b62e8a8b25f1156777edeaefc99495a2ddbeac8ee78f3d59f6f3a6f80259dca201b1fc07b15160fa2f45ac75853b5e2c71b0125aaa9d6e4906d0a20e5824abdd7d3dbf6416877386786afecb2da23302dc086867bee4dc063e7f2b3f8a72e8564f4dc6072337d68d4b15f94af9dec3366c3ffc52a2e6e82407a1de715617ed535f8c9e94f491f6618cd2defca93ae876fb72079fdcf3f22adefd70759e21a79fdaabc4717a2de329a24dca7909b4b4fa69cdce8515325316bfa208fb6aa257b3a9c9f1cc92353dc48b3e4a4c56f02cd8345634abd0f2f8c030c2311029f0b5cbcaf363ee89a5fbe4f45fef9d0f4f6c40e05a91abcf385a0f5b28fb3ed3c3180ff3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b69123f67bc17ef843b405b69cfa29847f22b4774a672b765bcedd0eb712d22bc222a1fe87f590e014d6824fa1527c8bdbd0386063f2b4a60b49f2f7c47ff2aa2bc1110eedc569e9e20866b7497303678bc88be8c1aa43c2b5f00004c941dfb7f89d5762802b82285495a0fb391ef1f31f29a20a6aedee47116384e44952d33144540489c763a91ac964e95b97e80f6918c5742d33b7ef897c06978753e6cb2e70a7f83d98ac2a0a9c002cb94d76f7c67a1a6c7fc1ec1699be9e5dd29f0eceb1d44fc30acdf8dd5e3311d3371303f89d6cc2117756a757df38e204cc964f890793f8ac18860102c837e4f4fb885e6b4e0bc5fe7b237453dbec9d1e2b47ceb042b9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6c2b7d0845cd1b597206a7a95b6c565c0c94bed1e0a6029f37e9e2083ad1bf123e996c141e412d13a8d419178348737ae1fd20ca4732bfeccd454fa124552fda20a2e28712176d9833263bc628734e11add37faab3733c492e77e10b58a243558c71423c1af3300eea55b3f0665a5930e996140455d8e951730e76354a467bab2475970c375d9980d9c0e5cfcab193d1b14c9a4ab0894f28df45c760ba6b64826d8c3495ae94b4a8eda583efabd8c18b1c15c8bae2bab52bcbf4b98db666e639349fdeae37ecfbee7e2583a82bb8f36b5370066fd8443a9b0db607d6293a3dadd1308f1a6b2c2a0f7d42dcf50b4e1a0d08cc632f2b8b43f6c4d91c34c8c00a428
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6170b60848358077a5e29c1e20aeff7428f6a6e1504c9607afb51e335a5d5c816e9c452cf7dab010fc44fc94cff4cbe6e2a1e1bad22f4db709bd4f9fbc2f91c8b6c350ef958796d48d353aef992383f02f54ccc8b56f96a2035302a89b7f3814128724121b54413e169be90078bee5047074c9c3011a01ac0ab9dc20206dac372957ecbebbb495959d35ddf469453f48d6d31a56a17e8f3ba233416c81cc5dd0539f22546efa94726b433f30d0a38b68bb3d2ecae9f46b70f8219768073bf91055554e06e6459314dfefcf136357989e9674fd1c5f3dc3fc60962160dda7587e150919343f01452a3f1402872eca060ca321c5b2eae7d2db60c49ec4d1cb615a0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb8983cb68ce7c10f95c5ce17358706f5c5775e3ec531934b7547578f7e8584a0f4251db3987a48aa81c4495ac3879ad93a310fb85411f331d79a77d16e62184b9b197ec5e85949f51453edeeba0355a383e3360f3e086598c660b254aaffdc11f65f7185b2cbdac73d388ff28e481b3b62307ef4f009cba26759aa22173db0391ef2faed096897798c7717e7dad9314268bac06d4f500d594da41fba4019a8c6a62914ee4404c48ad3663702604f5122683df00dd9a1ad1e0061e15ab99735521c1011a5389e6159aeddf370fac9d3d662397d3439257d5bded32061801468232f91ff9a507a6021060219e181ea622e0c78bf034b785b09a34
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb89587236559639661a312a094778344e802b0234294a854e938400c4381ef3be5dd023502e0a5e3b0c38a35c986ad6f43c7108532b0c4ae8fad66282fbe946ddff831b20f8a60e28a1f5f74a85dda8a4abb9264d38ac4580a28cbe9ae132139171ff86c6dca0ae5fe0721896333ea0c4582e2328f4427fc1063d6a82c20c9e41aebc17b67d7be22bbca11416fb580508c93ee3e3a18845eb42d3b0d60769c10208f32dec6315a2bc9562a00067db5d62deee9bb7db94c4b1bc82a955f2700c1cfd422c04cc4c3705fba43b749165101d32c7217b691505fcdf86d09abcbc02da7e007c5682728968f4d796c946c1ad4eda79cc3951c937a5ea
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb894cec352f22d89c3a8305aacc073b089e0241259c688277dd37ef438a2de00810e9ae9ad3b9ab4f073ca36ff8921e0f0ea0b8db71dd3bcb0f81568b5c7d2ff5a84163a05a520a430a6dc1a92fdbda12fbc6ec66b22c593caa2292a15ae9c892433cacd007b506b7b205dffbc1b2a1cc6a9484bcff9873935989c2ed959dfecb17b166948cbcb5bc47470525b01b3863fa5c580f414da10936c8ec571a37a1218fdcd1c40ea3e3728bc80d48ce3cd4044d2c9dfe9e15970e30ee3088fcd11044b47a554cae0441ac814659a90bd0963722182763043b3816d4fefb7464003947fe4a0aa3959cd1fd972818452ffbc041e5edfe62ffbad08cb5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb89131650e1dedc7243d27cafe32a586fe4be28f5c3943e4d1392bac6b5c26f074bd037cc0be9e5d9478f86266e4a79f1138168f9e4d17c7a7ebf7183ec4a7c2f14a7e84114ae94b76418e361da09fcba62d8750ad8096ce2452f2b34c18d3b67d2c1e2716efcbd71b2e3eb63e8dd46897dbc75f7f69b947d9e9fdc840d6a0754faa661e62cd178765b5f0023ebcc63633e90f0a2b135a9b0785fcefb34c297c6f74b30f51bd96c0b6a220b21afd32767907ddf9a2e801a6c0a5cfeb16e85b7433ea70908fc8620c8fb79004d2883aba90de16ab26eb30bf25e9b38ffd7413e2f7eb69ec1d93f828a500e6c502076a55d73acc0a85839fd872a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb8928128f29a5a2d553b2475f1c901a6c9a635b8e8e6b98b302b92d52f493993beaea11a804c941c44acc8c4658b1c832a2e4608fc2556a23dabfddccfc741e944967621a1fdc94784749259df170750e9770e81d59aed228ed2e3d1ef919d84848d8c9e36c1694d01a5df18e7155b63c7185da81782de3d6e4939ccf526103d298e090317b19252d8a81e22d26fae95422dab77a05d00a34310e01d6c11905928cec752235139f41163c4bcc1719889071b0974ae1007c93a30e7d9c45e91e05a90624559b4e69710aee8752e54b1a34eb4b56c71c63ca09d420603b34090f2977a472dcf8f4c170c430010e32dc0341efde2c6345e228d0f2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb892792154b79e8dc9f1c72a9e7240fce384ba3c9cb0715651187fa635fb2c9bf73c1b1e24604082ce6abe30aa86c6b9c0288518943dc5d60c7ee481dc899f69d71ebba31ec46d42969571b8f32e077aee3f238aa43c266ba71ec229b31547ae4cc2a238c8cf107f22a663c7ac803af29b693b6c942f2e09949c8091b9b4f139bde40ae6445277e8a4b90c24517ae87800e263ee36daebe615ab69e1f322d8d2eaca3757b4a3a4d2c756385584f46269cbc75fd9da36949dee27598a3e20ccc931057606d3c25eac14fa9b2c1c5d669a0803fd5bef216f8e008157443a11593f965a4ef0e530a972903789a84840418a012afb44bb7e0d607fd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb899c1bc5433112e40d12ab6f772a62700d7368c7ba6a42799390fc05896d42b475a777b00294f92c0064f5f988114ad591561b963840c540521630ab5141b18581b74a6a52dcde7e9ac2bc12e876eaeec39d05b56a3a3d5b240dd0dc81dcfdf9099bad8d7c0c699822a6a7dfc2f71f344c263e7920c4cf7f6f8057ab3e30f9db03b4f6504be2dbc41690d41f667557361fcd8f9ecff1c5db42f5f1ae582e4eb7254981b26d6536a77b654b2e9d3ffa8fd7d8a6955bd1ea691db927022ad64ff680230fd9eeb0791f70e7418639f87a098ecf6371405096a067c1d04cabb3de5b5c40108c4ded020dbd749f08e1099e5c89bdfcb220db1d3560
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb89193acec78116fe3ce6707dc8b64f8b6ba67d81c6f0dca0f5f4ee5c57af8ef93dc7e88514be7cd906a7b8cec9419a625dbf1d5d43ce1be9e63a17c7fec802a13e0d77349f3a8c6245254b03f112b15a6323c61d54fe5212e8049ca9aff3402d99273a8f11fd7545ad32b7da3b8dcc69a49159a7b3ffbedcf49bab8a0d97ab95dafcb7142c85586407bdfd47031931d7a514e92e22f8294d39b72005a0dd211a188a1bdc760b000ffea4959b6bf1950483a3a3ceb20d9a24b6cfe41dd8382385b4f52a07ef0cdb07aa3e339e6e5f8e26d269c7e8aac0609a1a78a462f2f14c961d6a2fde032d4bdfe974e6dac134f11aee0846472daa609f56
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511807f4ed582183c36c08361389878e2f51a25ca3c845380970f7aba1e7b7993325502e388b6fcd9880b5a64b80cd271f874dcca5bb85b1f1ef0062416fbe6db73b6f9217b63de2097cb90a8e5a331a871781b34611542a533aa5f8c59fd14b8241ac2b19a08b94124be10e6ae7c2365904fb30fd74ed16858d5c06af820ff88ec6f2b5180d1992ad49f63de732607c08453f2cc70791f102de85a8a5f07651202270efe3e2030466f89db7f6757718654ba63a680d7f1f14e260a07fd31c23129eb0a44bc638d180fd0534a978ebc06523d9bfea887c38acea8dab92f3ad40460160e380d7b93cb97a3e2cadc571a081d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511f87ea536db2b9a63b3e142075e482d69b39f327f500844d287164120f58b8fe5d9cf2c327cd62e0a327232b53c901661fafac972f9b599ff18cba6479edf20dbebca867c3b0e22b5399269c8bfc6f4cf2d3efb00fdf62f5b1c826d24fa2e29ee7488e8d990105aa9fbf2a1b80a98de99349b7a7c3db571f9a68a26032fafd36500a33dec19b0bae67d42a89f27122904f89403e5f0e3baf4718a98721b7108862bdc093a075d4372bf704384b545ded4fc7578e5f96b2074291364bd06e75b2d435d8df47eafd05326add43a5e68cb0e7df7acb547c37ff01dfaa7b29f37d2f1dcbf06e2388fd3209af262d9f4c09c6b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511aaaeb557cdc5f7e0f73dcad3c2248b82f9fc3923caa84e5f866d6f2cd9d1790a2914410622e1869dca3311e986d1e69e540d0def5cc608a7cab4f07efd454296e1428df7f2f95fe5f830e4e19cd8889c0e6f3b17b5939c2cc08442532b7dbf70f49c424443cd161ebe6e1fc3066b6e21d960e8e6c61eece9f84858298327ab35391891d392cd9681a881b85b5d85495a173b6dba7aee7bb1ce79b74d4cdb4c724de01b0794625858cc53deb2cd6a25192bf9326032f065c88728b8037d4fa8cd246da2a627419a24fc5442f5f4b76ce86197ec9863772476ff57643a3df54a6e3ae9cf48f33fd97b97facaeace482b13
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c1c5be45c2ee1c11d5cfb5b6033bda50ef1013d244502c9765c92d38b02e910d089b366a09b3758a061b9e1a3f69a6b4627badc27bfc284ea23bc72758246d259e83eccb82e119d4ddc8c72afa3f9c8f0eb9ca318d0fb69f4fe0d61b84a901bc6f020691ce145314f428aef552fd29be185e7446b8e2cbfc8b47ac74403b9f7d4f1c860ded2358e4625edf77e7504158d47471ad1fa04ad3dc67c048476ddd75f21130c891fa08ea5a485d5a0a1c2a13a457474454f3d46af9b77c816468d04e576daf19b75f035ca81e4ba39d63a529408370ea68c7a72bc1e3cb06a741e71f2cc769073ed4ffabe34e8c59d9c7f56a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a480343385111b660e85761e5f2721ae4ebc26761218c5ff082cfea20298001801ee8ff3549028c94ca45b381ced0b123bef1f0f9120a6a5ca8d99c512cbc4baba29caf66c8ff22cf64c471d22fe94174ee6fb473636afba85870cfa5764e85c9c77e1b7ffa40c5e0860e13cc172f979beeea73bd842c8b6d1306810ef9adba6836d281594e3599bf628c08a4f0f4f2b95e07d1d6d290c55dbb91e2f72e93a05e13c4031e9a8b42189833070da54fc5e3929a36a685b05b4ded81ac5a1ceb05067f4656235c0df03476645b01fb62c28f5f8555161e494dd3acc6674a6c98059bf46c6c60d31b8ca3ea8cc1c1b2c13e3cca4cc591dd4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511f9a4ee6c6d9c1a2e8594e62bbc40d63d86168c0596bcb1544e8f7a280c290a2cf3d1d45cf357f316e6e8cc3969f0ba7aea1d5424bc49db02033dd88eb122ba88e922cd0c350990b371fb78b4d74a3ddf6ae5ec5999c79aa1dfe634a1018b115a9111772942e64fa7ca72eb542bbd839b0fbb9d9645da1b78490c156db2321c6864ebd946d11dd29b59ad202b100418bbfa77fe54d975633b1b0ea341e3457a1da1aa300e8defe99c1f701055a746303b0a4ba11cbc057022bfb273fed2df7b6135ead316bbccae9b8be0096ce20945394f3ca6a47235687f05f1db031980a85565d1f69cd7cd66e39e2114a4594cf626
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a4803433851183d43afa5a4213707cc9fa4ff4ed63a14febb2e9bf584f7dc79e7c515e216f29111a8c2f0375f7728bc5596c33c3cb175f56f52cf7086366b75a74d40799614190ec4f195f41569a2723e5be0d0ebcbc137b05f3c9fbc7045e59e02685b5e385569fbee99f597ab35bf8e9277b9174643b7fab7b7e37666e526b24234defde99c6ca997bbc42adeb6ebf880d50b490adb9830aa006f9c8887adf97f2d97b11e46bd05c8722d1181afd90ebc65b5a0ce07f5783e49e3215a19196536764a222842a9f124729037415e9e65883497a15beec2d799a40b685946633859fd88a5bd8413831ce90cfae318425be502e9f3b6c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a480343385117558d6ffc00f270da8cc39a5c5a711c92ee8b12d29c406f2bf7b3c9e415cfde3357eedb21d7dbfb0450aee9a0100d88fc58174dd57aa1d5cc4dc7a62fea1302f896c81eccc56bebf5a10658b0568b1ec010495f06c1c0a9ed810811b3431ace3ed0a787ce33b32b6c8ce3b21d0797e083bd18b58aaffa96a75e35f89be3048cb26ff903d33e34746949f72baa34cefbc8247ff40b3227d1eec5147572a1d2fa5ff34a9131380555f1db3dac8111960432bc870e38003398bce2d7ad5172c0b2e08005a02a0c4aa537587d6652c5a0738bc3dbcbe63a9008ac0e111fdc63d1f6a9986c117ea3451ed8c0023ffe7ad39c7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5fe1d02ea5d71cc0aad362106f6e92a3d8508e4577d8a90386e6252c4276617ad715671bd302383c12be3b3a9501cc70ae0fb2e710bb905863142c103f4d460e6deadfbb6c7e38dd38d23772ddf2c64357da40d1b2d1a4cf004b000ea2fdfbb96b2aa81a38296fcbf3f166ab74a09452756c648f3ea016569ca0946253f3807e7dec71f9cd844a8a008adb466ba626049a33707368bf0ada45d47dfec8d8d13faee4986c1f12071526f01455b5b4c863ba71bb35d14049db99f8390b593e5f7a377fb39795f9eb1947187f45d2ac5e62cd4f7e4f1f70d2e83de209912417ef02c5dee16ecd9542d95a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f30d96267d1ffccf7bceff0e4aeb6c74b74c927f3e2c0d3472e96b33c24481969a9cb3fa02f090226baf94149d33ad8f0be0d43630b937c18d3a23fdca40998667f3578ad94487f0767c57c401eace46d7f403de9de69202f7701451a214bcea95f32a51d5676cb9ad6cc467fc07e234e043427dbf8e5e10e1f5768d7597dea461f47233e32e7301316818677d975bb98230b6eba20e562183be72ce4617cb3ebea640a7c130aa9d69a5b116636b1b1e9c4026451cb0937eb8d4e1ffaf61dd7c6cf3494a09ccc1d7bbe52d3d3adbb989bb68623ddfc7ab570f94fdbb1191e43e339ea4ef30f696225
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f69e0559d7064b7010e4e1f09fbf55dc7cf7a9f7b5a55abc9b5ef66695c140677452b78c90a3386653e490d15c028f81ab017931d2b3e8361899a819c9a3aa0ccf85c30394f4f9c676b24f31c2e0a4065e4de93f512215cabf49429ec4674c6728ac0e28cfbe997c555fc4f8c3449d2982e652ee38724bd40a51421fd61a335d443e80ed7d62e5ab3befe4847f341931cf17eb66a9c220437262188558327bb1242067d66eb1e98390325c87857c00742eda76d8b8a39435ef330b3f4724bd2f5b84b0aa7f5fc4ed6c9fb26413099f9206a3bcf0742bcda0cf20804d1e66aead9f61b9d5f4b8b417f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f9e3865772ea2e959bc69811d31112a1e5be77860befb43fe660db7b42db01f0988e5d885461db91e8f24c4a51eaeeccd99e8d7d10d61c381f0a9a82b2550e8a6dc4b62afbbf3f91c60da137502a53f2dd50ce68b269fcc4314be450868f419f329dc8b9894d82f540aaef68df9eda9c3dcb699fd3f739073a854cd4ab78786d91f42d0ff35de25d08cec1da210a4a88414c83306f51d478b91c9c6804dc6cc58dcb040c521f1b640fb95638c24e0dbe9e79ffcf3663a842ce95feef84c61a35957ac3534035a89017a3a78c4a2a9d280f64d315accd8d0cf987aebf25b7d4ec1406ac0490e595eba
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f9b0455c8c6bfeb0ec2f7adaaf9cfe528da3eb24cc2ba17d1cc8d7d0973b97fd0e987771409a602b0696af7ab89e98ebc798839fcbd3576a98dc7830fde52e23b31203b93288d035bdf6e2feec01791d97cba322e514e87e66fc33d58e3a73a963c2289bd6efcb2c9f1778d1a529622677ba8b68b834ef8e27e3dbaa95b3369dccc185c49745f51679e7edaf516a75ab7f9f8f96a81d2d06bc9d3be3347cc8543a057583a1d4b04e7648aa077cdbead05fbbc39b90cca9d25d0e6f738816a1dd8f797e872988252cb67dcc8b079488cb50deaa160dd2909e86a80a80c26dcee8f1c5a312e6f66dd9a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f6240f86cecd5d165674338b8658267458aac104a8fbe1efe5f68067389dff4f20ebb131bbdb01e0e2f75b5b3bee095a544bcd0f02c798b2888428e7c5aabb337fca3107a305911002457849e307faea4c522b29e64b6b4e26915a7dbe0390dceaf107643980023af9de9753eea349b8c159e10a32095881ac278a5cbbf7859ab6f7ee483a4de7abcfbdadeb9196a2ba78090eb3bc84eaf2550defa8ce16985902bb7f816b588036c7d051cd1e6687c7197813d9645c1684ce4c0b61816d970d4a17c379e851dc4cddcb00763bf8d25ca9deb7950040ba4f9653f80db9603bfbb24d4ad652a74e215
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5ff7eb02d792e224ee5be0cfce28eaf55b39729d2c0f9e024629e949258854014f4ddc7d59335c7571a56c7a55d07739344896963f013ace12bb2f964399bf1516d5674bf1f32662ed1ef5762cae53e8fb527b7be3c570d14cb3b4e04d8d27c3cf0bcbed4ff96b45489112051dee14cbbf68c28be202f17a91b471fababff363aad6240009ee2a632194e400dfd75d42a847e1693a3cf926347bce7cdd9bfe8050d804f01b0d945f3e20157c26c9085116d41b8c79368eea3e6599990867a3d66cfc0208749924ecbd94d63f02af19fe076b07f50ffac6cf9e7560873f6eac00ca57fb8725712ee795
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f99c9340e2ac24a340682721bb2a062b37bfc49b9c022fe64330da28fb693ab526d52538be2332e928233fe94e4faf05755d2dd803d3c39793b81d41afe2844e87641c73d7103f61103419796dbccc802dd3c4b20fb4a751dba82ce09df5efc0c78d153d9b4ce6cb3b271f09a9f791f60daf39ec33f1b281c55db6a24b5b4656008f95fb6462a0b5db253a2a736ef75b04826392c1c5acfeee15f8232dc3811b899f7ded950ad9155fe7bc6ac423fc957d90328c4cfc30420056808c67da425c6efce1133d5bb6882a24ee6bdb1cf1d7b2f25f255f4e45ab5f4f94b54a807cce677dafb1cf01d3cf8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a00a9597b80e5d0ca656c940b44234f86efb6719e6ee48ed06e26c7fe81e22faaede8c73efb53ea126b64841eca476a51ef9ecdec70d20a53507977a493b5ca89c7bf397b86662b69567997a8587d87a278eceedca10e8a14dff152f2854b3372ba1c4834838ca5559eb2d53dd076e48435268c5fa9ac5b6e6c4bf32915192c523a9eb1b4a622437677f1900ba8fe6621316062d248621c530787f3717579c00d331a9c8b1bf1db8f9ab01364b2e09d5f22abb620a0d03679d05147134027c13701388832713b42b1d6ef1cd2d380138fd089a862cf978b2e030cb706aec4fc42a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f3992e5e591d575765d23aa1a4f1047767d782413e53b6f42ca1981b033f13cb77669bf5f5c58411e17078f1ad3fb6cf13c91369f9363f6559e6f45f6141d3598f4380e1fc644f01cf53bddbc3583b4909d742f7507f73defb3c70dd4c7046a798f458dfa27cc1a361cf2421f3aabda339e526e5af0f3c10479325ba11af6bb880daff0746c1395b9118bde76669aee897bb119ab604a0e2b6c95c3ca3fcdfa7e95af1c872b7897bafb915cf4a25fd90f9e0e6f0311d452d259f1e3cbd6b248241f4e918ebf7b60ad03d5f20671b3ef5b743f19187cd37d7ffc5d0232a214f91
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0de8f2be46a54e396b9b54767da65bfef07fb52a41cea09177ded243eaa021a0f05ba852035897867bb0ca57812d934378407335fd909e7cdcf4c7f8836cbfcd18b5dedb8c58b51d154bf01170885dd1bb92f777bb2ce1c8cefde0a63900371db4b633718c9fc8100415945c6e29ede37e27c64d948bb0894bc57bb13973f2ea0acb604e7f613fc7a57f8669946e4704837d0971b72f4841e0e0964709c06f229414c028b8c607f74f63650dec606f2b50775348dddba152c7550beb99907f1776aa4a8a4bc4887dd307bd5498c431a6e868d0d2e9520940b34a7a03df32b4bd6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a05c9c11539c8521f19879607feff32778cd94c22c99f9f7026baf35654a9e7c02959cd8eee18836255ebc60a62d21f6881be665b19ce3841b8f549ab3a1958028ab49369c500b818eee52b5124cc28b66dc0cc6c1b0c8563de99e98198000c033ba515a38b796d417896751df369afba9196422764ad1896a17c940db871103343144c34d750c87415ec59e5546a19e6f51619054da89e453b62a34feb715ab48230b248d6110da0d7b8ad187db2019d9cc974c1a6b961a252f8470fe6e2c9cccdc028c1559445a20840f6966501dd1de8c301331fe54394e3dd5c7000135728d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f0124e795a8afd683243db01bdf042905b8c64c9a48942283edd0e66b2566570417dbf4e7cf3007630dcb70c44f75b861693599eba5ef5845032640ddaef5962994afd33161aa2bd5ca28a9dfc3521cc8795e0854835d0b0df6f79002963ff3034fc6651e6b0a0a8625b0331f65982a29e63a8d91a22bfd58ba9ba061c8c92633008df6b405e0881a5073a07ba23a2b99381f07f735b176841aa1d4421ce53eaecbb73809761852197ce292043062f03c657e8b23565c8eeb46b793f603733a4e96a81918754d6bdab70fc12567d46999aa4cf585952d7d687e84d19a39d6009
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0ad76f9621dbf9c52084eafdfcec0f2f8214318159d474da8bb28bf54093a2bbf3a541c3998702271f697aa622b5a318b098e07e74ee4b4c1d02518322197538972c86c35f189bd3f6d20d116642eca96fe41f56eb8e3ae4c5dfa9f225285da46584c0d687908f2f3a3246c7786670b9713c4450bb71288b0cd0ea7680aba0a4b12f404eef567de4e6717f1f43f58f6ee2dba0d42905df07a1496164f391d806f4f766d89d802a38110c384f6f17f85886e7d922b0f77f790ecdcaeab48f4831f5298aa47c9e9b9f800b77e6a6106bc4919e8c1d05b678f6d4466de8a949ce587
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0d6a4697868dd468b74ea078e394194ccbe91a277e167a37b725052d2f90f003e15cabe415171a765c77275057e354f2c9dd17066d4d8b620443679a44b77ce9a28fd6cf2b991825531780a2f0bd45adcc82ea884b9c6e1697241b50695d0840f56ef2b9fd97d54f78913679412b247d9962eaab6147f6da0aaa9549269d0efb0f654f7adb664776005ed94e56dac0c34c42ed157ef3fab33970b8c54fe485533546f3a52d5176e1f71e7c1a2bdb461fe0d3e01d03d632ec42248f928e042aa5a06a1b3cc264e76ef347a5eca05144d2bbb835e38f78a0a334e4aa82064a1813a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a08332cfb2e4a484e02a92379ba02a5466accc3c2574879c2599c8c47ad8a984fef6df8612534d2430155233c7ff01cebce0cf7d1cbf6340a2c2c64d52878918f134af11b35e0c2c2dbf594c49a30c70536491524ce2f07474e3fc16bf5888ce3e99be18f5fb8b74baa92b554f7f6384a9ab67936ee8c7c0fb1265d5a4da71bbe301c795fbd7a1c7536e8d93801d4d6827e53cecae91dfb44c0438f243e08563ac695f65d78727cdc104998886b599f1c542dc6a82cad2a35bb50f95ff035054551c3b60596778638b5610332266b0b1daacb41aa82ef781bed4ef37e08c5fd43a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2335c7ad8106d417fb576f620bab4fdd882fc231d09646d646516f65f9b00754f8999beaad999670676b7c903481b0d5d9f09867a4b9c4f03193faf1eb5d3af9403527f23c887f1792123fedb3940b9869ba9271f77b323693329e8d832a7853187da8506d8799e82c7e11d594c630fcce22dd0c06a107a5245209fc6148db7694014412561f5ec57e575fe68f4e5b0fd06b7179384e47a1cf8585f9da24991bed4c2bb84b2be5d55c63098f7684cb445871c8b42ab4e21c62724650705ab2640c5ed96cb2cff11f2819923da85706570f076cbb185791719
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2fcff56e88c7a78427697a7561b0216cfffb73486c0203c66d56c598d58cb60d81c5ab1cba1f118212c70619434ddea8d298de3e91ad904b906377cc7df62a546e8577032b5d838689988f3afcd2a0cff3bd56726ffb9c25e5267550f67bbc1de3b9fa25e90e9c02779f6facf863ca459e80cfe9d3588922b7d25f524cf05dde0e1eac6ab190d4640c3fc09c77f6306f51d82b2db904403fc503f6c828cb1a18cab3f328ff0b34c958a56d1cb7593a473d978153837c3efe2cd148c58033fd41a6b4c66390c426f6c8b1f50364355379b91384f491cb4a3dd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2b868dd7fe995e693b5da1c0c420e80365f793c80208930bcc58557c5064c7539c7b6bdf9f182e602f8df269d0c314fdc09c857b3ca7ff365e1e0a2d9326f54204e5d0376bf8f9c9269e07b993997a323d98cfefa3a5978ba0e8a09e882227426a9f2f4b95c7ab4f3f53419a691bfe88006abdf6363a90e8661f88ac9363ad25e72ffa5a2ef41563bd4c92c542e550dc4b6fc288e302b7c531720b0306335940a36ec4496edbd1766d74471a1330a532eda0d2cca9aedf97439b8dcad8a0b3474eea8a92e954e5ec6a5fc778461438c723c00877a86cd126c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2520c208c25b4817c56feb4328d57aa7c09f65f253f3c7bb4a955397911bd7068df38678c8fc95091599742ddc219025aa329b5de5396804555ef1835332ba057a04c84233f9fd9e89a4575071efbafef13fc5b87d0e76e96ed992a559e8172c0f1f9251d9bbd2d6eafaccb627ef2a9f799f580f30eafc183a23f31e92b6d9aac38db4eaedbc72c81ae4bd55a60ce964369d9e0e68b9ed7dbbfa1762bbe30de8d90d59cbcfe6f1d5ff78cf60a0bd12d1849c459d8e8b0d15b4d1f0aa7d47b7b8e51638e98953ce43acef454811bafc4312a221fdfb893c2fe
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c28bc2b9d203773e12f9cdde56e0bf25bde8ec833f693f803ad998f7b097b4163aa3c830163f7fdc1930c3f277a147310ce7f180106bceb4d7b29dceac1a3c7c13e2f90777891a57234880e2f491817c205a5c8d1e3c447b06e95bcc0ccc0a07147d46176335d456f3b06ffc200d3ec50ce6377425d4e1b1942bb608cb47b743255e4b4ead1f7ac73e2f507866e5296413fa9af67138850ef0464a6d5bae05f9a6bdb65b0958e35a8274068b9751e31afc7ae278551027c5fd3f5bb4fc9930a86196200cb0892884469c46ec5fdf11d78208b097dbd412c71c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2dffa2a0fb8e41d477c9e826dd58dc8132f4430cddf01aa00ed08890138d7dcf14aece6c883099bcc4dcf0a78cd535d563d9cc5ad7a4fad1160b2cf5e124762bd5811d5407820fb2c067bb119d08cbe9e940967e8546a2b2f52ebc5f147640cb24fcd53c7d52da1931a62bf80e4d24d51899a2658e98c51fd86950f4cc2dae05a67f17ee5058f832fa2fea3d7709f168bd67708f3b156df597b55f2832d1654417f7e08caba00b7d4c52f2ccc76126255f419d9ddb89e3921765aaa357523249bb545758901ff6b381eef5cbf9b63812e4485a692c95f3c64
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c239ea0a544fa6043fc935477fece39505eb42626433768eed2d851dc40243a4b80f657e0d16d936dc7157051ebc34cf1eb2e60b275a94d5755f2657d332f8e3f096bc7565fbb05e1144f96e97379afe3909d06627e01649310455f80c700947853b5e636e322f893ec6765dd1cc0fd501824be3a5c8b595317f89ec6429e4a182bfbedc37f560c91ff7b956223bce8628f6ad87135c7f787717d768b1be2f05c5e4797f52bdcb14aecaaab6eb5ea013348e2cf943b0342f695a84f4a2e40bf5ccb339e819096df9197f3455358cda1ee879c6d1c1e987b9b3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c29921ad8849093ff37bfdc384baeb64307e563990bae6243111d71081a2473dde5bc6cf8eb45ea9c15f619d8387812928ea352548858cee31f04e9252ee800d69af681e7a33c902f4f25c630b6e702e0c05b27080297e588c24175bee66c9650f346b956ed98d25a33545a7b6962a70fc826fd78f27430eb3654dc11084aa1bcd1d7f6c3f1622d9630479b668a19f2069f426858262abe4c92def678755864cdd62ea20897c6b8b6725be336b8af3b31d9c2c0b659ac865c0cee5c62c902c9098cd1f96521737add98f8de58cd07947e212256e8a7850c35d
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f1648c99978f93cb8cde6e2fdc76ba1f1ae88d252b6ab015f37688cc15537277f188fb344c8e1d48b0f7cada294f9154b14e85686ceffa39e9b4458678f34e8e4ea74518e48a1da4b9e90da3874102bd38074bde6fac88844d350c4059747a199a3416a457aa12156faeaa98cf39b30981f718674b9437432540cafa7f3696e0930939bba2c2eca8029a5ca90b1983586d199074391fe6e7a8bda4350e295f8a1487cfcc090bd55ca77e7ba957eabde606ed870e871d08f040515a9ce77499d9f15a709d41f81382855e2ac9ecae46f89a30
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f16407bb1e67f26c24c5b76c9b0f8ceb80eb882f7fdefdc2c9b3cf9719d9e3328dca3db175a9d3d8eaaf09a46a787e73cbbb8d2e7a4077af73454518a1259916e50bbc950a91edcc5bce7852ac3e9c23c6180083e395741605ce3f9b918825dbd1cc4c34c0ed50b8da4442c44ec32cdd0308de70ca37f697160dc5de5f8fe8c505036f987ae0803d7f58b320619fb787853ca29f0d9c09c2f7fb025a67931048a235f0da042b2025d9aa6d641f73f4c1ea4306c2963be27dda0cda70e192c3a1299396a8f00bb9c0ee24514a51ac62e6ac81
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164dcf8c6bcce17ec704301adfe456af37c5de7743687450e63b7b980edb15838b594e77a987c5b8375770ccb153a1b472fe0ccba5cb1f988bcf589d29a925d01ac5d2402dec572f9d35bf2e0b50a49c1bae72e826d9daf36eef1cd6f867485fe4e4be3198f03a1994568aac4123c94663d7ff48bd455762233b2e73d9d81b8590d6f0d5be7a585c4aa6da67612c6453861c856f9f84ba6f00f594d2af2aa711732a48aaad84ad7c010473b2537cda95d1e7780228356a6fa9d5a7407a663138cb1e79d971c06fad598e407e6fbfb5dac64
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f1646ea57e625ab814a228936657806007d85b2f244ccacf61a2b789655a74c5679d7ef9a0e6865619c577a397882c7ce6ecc51a62c460b3814103f481d8ca4124256eb4973d7dce3252d0295f2572bbd7b46438889d9af6a8e9d0df0bc8bf17cc2dc25239b4fcd305cc0598f8e533485f0a8ad9e6f2b3b9613efd96bceb54ea01a2e55db881da573ef7ed57b9c4c46c9ba3c4309bfd5d380396b4c19f4d009d284cdec89a56a7498d4508cdfb3b5dd312f9403149bd4fc0871f2d9b83d31b2ffd8566db68d65d6d2b15f7a240900b46db34
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f16443c6b0a7c0762823d0eaaaf9f0d88d6afa581453e481c1c9ce394ea56673587842249ec32c20c469f2aaaa07234a1d33e7117d3bd9d83442daa37367a8d98da1fb6780c7e6ee1b03514faf01f44fef29e3da72a7ba20917639a58e2512f2b9e12531eca6c628f4aac0e4a70b681953499b35b4806f88236009f3f58e6d4dfa7f12d49ba138f1e536da02b1a70e0120a2d98bf0ad101660a9c67cde7947a21e41d1b429cee71362db19c1221bef0b40e929b9b8c3db78f67034bd1e977d3e6c38d4fd8658f2a3c020e239b7b61c4d0715
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164a8990e32e48d514dcb895568691e65b764ed29b649a645504d653244a5c93c3b312eaabd0faa8320f498507b18218e7fe06a182f38790bda2bd4664bf9c1e2ec2acd53ff99f87a8915dd1a137a8766ffb38afc692ce11bb5cce1f2c45ad2e1b19f6b2b8e876a5c595287c8b97bfc27a3ae27d3af7d0d87c9f5cb0020c9cf5b2ea6bc59d6cd5ad836099bb653d6c4290138f8657110061066f157c2b1d4ab248747811ab73e123f3a2f634438b6bcd25e03e27e19a89ae9d5f1daaa3859c358557f7292e34da1bbba763203646b920feb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164eeb47662a229520239ad334f905248c416d0315267bd2a434289108fcc7184b6956cada441100449d53729395df3d67ee56ea63161e83974f901121e25f9c9de1c83c7b2c7f14087e043bd3d9e656f14bac1c8220d07b80420d5cfebc3b5a942b0c938feb1d2e5d12478c7ae74a4a82e571b4842e7b56fb9a1a908e622573d875a9da29384fd007ac1eeb0f9fe93eb5fa2084a8fd81bdcfada33e092105eea7fdf1449ad3c1966e4063e0e96629b761e063a679feffb3b0440160e6ff5bbc07b89e829025d0f717107f12e62a27d9fa5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164c1c4d0802194c641e678fd6b3ceb6b68b238424ba08389ed546cada5cb1c16e7a72fd6ff1d52aac73a5b85d1af82bcab75551bc840b4e0357083e02d2f529e794400ba7ea1f12b3ed3d3092837e256e12b771a1a5fa5f0c8fcb03032750baf3b398378ba3ba09d5ecb088dc48b3e00c3eaec0e0d294c9bd03ea5785b73b866e335ef546c94751625abe3bcbc4afc1e498c24915c352af9a3fef2a0edeaf4a036b8c94bf8a0ddd7e0fdb708cee4514ed9e737b10ed543c767604a82292f4e8eb3c30d30e92f2db712f7f06eafde8ca1f2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e59dd30828d6ae35c2a357ab6fa2211078008f4ecff5ae2d7708ff6ebfa2457eda478127859a81cdf686b260ae8d0082c57e1948bf5712a280517714fd4eaf50eec4ffc3da77fdd69a5f9676ead4f239cf2db528a16ecd9c42e69d7199e24440b93afb8af6fb8809c2769f4478f49237f0aba57a15546964b29a243d24c85fd3f48d21121f57dc2dc1c97d1ed4202a2b8beeddc22cfa2329c4f7b44a32d818172e0eb83fbbbd998fea45d569de508f20a5ef23e257a2eb9b88031f85c9306930a30b2c9ca930d0c13
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2ef4a87f9571a196e37c5c74051f44584dec24dcc7ebe152fcbdb7772199a8fd34d0b4e2a06e9a6966d8b17eae24ff8994bbf26c0c67204f462909cd137c383b21993466c0154f08454c546babf174dbfa9cc944fc52e296d42f135e562f18a9e7cbf1667b900f59f10cc2fa2437b09dc364103e074b9a3b9d12401f1faa33b7a76989dccdc920304986d55710a534f4d1e3941e6561b7c08516a32ab4b2f89886d5cd36e11983d64ef0e435f980ed66f64d76b5116e70e5ce998a33687df442103feb026483183ffc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e44f9e05ffc01b8538488b0b6ebd53c543412b8327575c2cc84b6cd7b97954169fdcb907176e4033c8d2097ebaedd5d6fc48a2ffc1df6e0adb028b1a8b47696c1550c427a5014ba1e5826a14e7634a0dd48a6bd634ab805e7d89ebfd84ca3087ada391bb148073f0075e5fdd8f4fb21b5457cf7b4b162ef9b1d0d0697483a5dad0b31ec854bae517dd150187d1608c476237bdb7b100f93b6dad7e4ca10e2d62a01d3eff5e38f67b30b4aba71e592ce9c6e7363c5457fbb867e1baede32ee100d52762d49a1db3cc6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e02d250cc708920bf9d576207f06bd5e4c03a5d955d560941659445ec1c9b32cc1291b48d0532cce1a9aef190a2fb19525362124f250c23e7ac3da61aec71b444b269da0393cebaa7d72837255e3f1b76b73830129ceb0ddffae04b19e29c16618b59169c4156eed67b88c98191c41d54abde55793dd595be00fd9447f7377e33d20a8d0adead844248f26f4d74087910a68d40418679c5736e865d23d1766ffc374ae0b74ba2e082409e7d9e693dc3a812b9eb13ceb26ad268873e23273ffdedaabee0f8c8cc1ef3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2ee7172e7387dcbd2baf8e2f4966172b09cb0cedcd5114329f3791ef4aa536baa956182020eb5f0fa6f9781b7b291d5c736b4c18909af76bb006476be24317cb355fe745ca1d7a5bad32ffea9eba91ecedea94c5287a119188a898fe65901769368808e8ccf664c85b7db25e0efb7e932db31b6d81e283c5dd967592a07c04a0ebea4c7598f8ba79e931ad211408001bf619828ab6694003e6b477cdd759a7459f6f23ad258d59b83c18a1a3db96549ebd4b093f5662b6359e97be54c43b9fdac236c055b179afb12e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2ecb4de59f6e7fbff3e86f2fe7cb2207d786e6a3ea05dc4eb79d20901ae3cc9a68346f76b7a0d7a580cffd8a674ed7e938b841192b7673f4c9c5e1cf8c5607438c9a42d0afb4552c2d98301205e3312b6da74982e86ea3aefc56dac332944244fa862d884e1e32e82866f122d4db3d1cb20ace60bb5777b9c4a57905c916ded9101ebb7756762f86fd148ade51e30baf2b06a2b10259f1f5fa103442237ea8e9bb134165c6d8b243f07e26190d86c02863f1b55e3269e30ec8100f3e1639f2303aa7b2ffa12f486251
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2ea62b4cf0aabf49f3017c4b8e639fd06aff435b16932e49f4ff0db08c34b4126f1515509eb999873d7eab8bc9dff31e26bc358e84b81bbef8fb074aaaf70d93b584b90964c515897096a58b5c778661d83acb9ecf569b71b7dfe0ffb45d3837b810b4124847da506efe326126c5dc65c892c61dd12a711562679890b4cf1a5706e98609db2d5b8e7889fd6de7230cb810b5923eb18cc0b0a21e8e4b8f92b11053f44d792d0e99a42ccade44456c9bf76b10dac5ed8faf9d451f00d5a11f0a81a72094f745a8b0f2c5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2ed552370318c46f00578ae2d7678749b8b6ef257bc525b3bb3895af05838990810e69e42d6493a2f9adbd340f35d4a25a1ba752aebaa1a16161ea01fb98dc0de397ff976bf4bd2639dcc339efbe71cb33274df1f66dff0145d57b4f54b7d2a77f3ebcce9c5e1f47fd01c7de4827a3bbb19f1205371530d6f24ed8debfb7f71e926d621720901df8ae0a9f363ebfbfe48229b582599076ed426d8c260466f5937454aa3941f7c058e74366b3cec40151a59f4f60b848d98671d4950d16b3b011aed13f3e45f656d960
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759f2fb3be80646515856366126ef31e9c1211df9622509cf13b3bb4b15bb334c2f7ffc62feeb5225a546282083ce7da3673b2e532efc7e141b13594fb1622e750a65abc31ba43676f827def6ba9510c15e4eb078b78b8687c0db88a0bc9ab8f6a66e740f04696c4275df9027fd080d795384f04f7be8e3299ec422d226650279e0184c058ce005ca728c5ff6d726f2df3fde3008774b5231f07da2f392c3a37b70575fce63d3831d7901b60cf39e316d121c857d3b9f430aed2cab4b4f831596e1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cc7b85b7aa0a5e2da837160dff8badd305e8372ba179833a127462078597a90f8516bf1b0cce6052908fdcc8fcae98c620a27b7e18491a0a2f81c1f0b53cb4c3cd34a5683d4c7848d0ae116bab016192c35ff25c6b4330f0df83eaba2db28b0d4c919ada31855822559c2b321c1c1d9764c6f5223660e69f89b3e64a68299d5daf7100c1a869653b007fd8f729da5a702e018273dc642028bc3f83c7bc06c2f2067b255ebd31e9bf8f5d474a81428b3d745db5d6a9467b9fe4f69f5ae7f433ae
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759c678bf5ab807d67e33788e20bd346ea19d3c4e16c4fc3da279f9c1907391ef83be435b8261962bd71fe084b2e676f798f8df800b371d0560cb8c2e2fa73c98a1361616da1ac93410411759ed6a36142308829381e35aa5824f949d136a57e5926791b37309a7a1c5122655074b54782fc295f83e9d8bc22169db88d8fa69b53175dce6db703f807b9f07fd9949ccb8aa14f0ae989da381aa890944e2d935eaa4acbd8dd595e90b15c49b70b41ebbc4eeab2447af95e8dad121d746a561d65f5f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759f7f28b0a68dae13c61053a069731d990348890a517b35692192fef0de54160d4e6c5abb7559db9ea71fd2516bf9cf68e98b1d43a8cfb4c0a778238481bfd5c225e671083dfb831d557fd9869d8d95911f0420e9b1cb77e982ddabf8f16e2dbdacad88c9c415dfa1b069e187c62978733dd66bd3a5e7ecc65719a9884e2ba04dc1c9287ea66df2464d5f33cd9f905a3bdc59d0389a415e1f4bda0dccdfd6993b4027d377f9b0d453561064b163d1254db49a0cea2edbbfa3107b5aa028173b1c7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be87599803fadf8a0be2aa35195c73bab74d925caaafeb2e3489c79e31e5b400b813fb0fd7ba28f8640f77e333bcc98d9575523b31e5490cec1eb7f041689bf1cbb9f8087ebcc3484971f0db30fc638e3bdc73a090a92b86d3de7a67895f968857a348d46cdb3ce2768ab74c63cf9f311f6dacae52257cc84113de3b4a02981a819b4f37beef06c04d8b9dbeaa0a39d76ee389e016b4b24e6c638c20fb5ee8237c6f9f97e03cd8f0b9a9f9270f22de344423d92238944ea3da0c1187177dfa5230ca7a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be87593a4437579e64a0367a8e18f72a638baae46f50d0a969f7ae1a793ed1868b540ebd50e1396b88d6b79110a692ee7f72acb6b4afda4637a6a0a6e2cfe70d4b7e76a7e23f93d55ae44ae7bb2fe2d427ed99a0473e1e31295d918c3b08d37104b8b4393395e4cf29ce03c72d875acc678f898ac3474ec89bcd61ca1c93f28c80b2585b77c350c4debaa76dad64832538717daef47fbf2b3df9cdb9a9cd52ec99722fd3d9b5c561e229b99e177caba11249662f44444582c99a795c641587bd640261
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759dbcce273d56fcdf00b9c939e26159a048849debe0d617523f339851dfdd17d5bbc13324124da6f9fe00ad4dc242a8d7faa4ef61242d8fff2cd0aea2cceacfc4a5b9cd9483ed9ce423c77fed37ac5c50ca497328067c458c3f496cc7ab67017a9828720386aedd23d7699cc49e50ba829cc151e8af2cdaeb989c8253b800854bdab04e711267ab4db82b37e7ad0b056315288ce666686a487338dbe044eb55f03d4e15bf554e96b5f7f3f8ed471761044f146b34325c6d844d4eab0acc8b2c88a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759a76029eb6e1f70a4e425f99244515a76465dfecc98be2f09cabf5d25b0b378586b4639737b36ee6241be25ef1a592f0945b7f51c6ca66ffa23073cfd6310bc9b1cd1666b6860b6ca186053cf105b99ac3998cf17cb7ba2a7067ab35e23322194b791d658f3dd384aea9d14a6b4d37b1c600db3f9fd45b9e12f35f6d35220e4a5083fc875b9c10ca04f00418ad19baa8efc139543e178f3738a5023e874ab3bd6d2554a4644c4a2124de6655ef10fd173bc485c8e6286ee169d8c991c2a274238
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4044671e07035988f0f4a2acf8a02cf35e2e27d81ef50be3e45410ec4abf35c695206beb697f8dc9454efed1dbc2f452a516c6bde9d940d9ac7483f8565c431d093a2a75dcd464384878394a90c6ff0e529f1a1473cfa7bd44be839b31617dfc9cd814c4ada4349c8f3a68a70a21392eafbb747a5248f35d00c1adb2bb8c9af13269cb770d943394073dd0b917141f4b2699345349b85604e57e2f939bd8f991790b4e15825fe1d96432e0669fbc9a4af77e16b1bc9cd56644c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c404cf9f4e459f964da6651f0e152d686b43be858dd6d8aac3b9db03084a607d446eb8baab07e97050fa5c96e96f19fd7b18a7cae7e3e1fbd8ff3f41f72ef67ddd727c26c4fa446a51b9b960cd1151287e89630403dca57e4f48e8f3d528c3f5f5f91eccef4b0207b9579264f9850acae61f0847cf8ee2616c0dd519019d41ad08c757352e2444566cbfa79d5539c17f85fa08db8947c641ab1f1411f4524035faf961e7c88759fcc9505c1e54f8e7732d5eaf1ce865b1a666ca
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c404c64e55f99d3b5dd083a5cd6bff5fc262d1f001d44ac5d8d756ba59e1af6cacbd5c9094e57ad8cacab6ff7db4b24b247ac0592402a6eee688a5639b8f70360b51c9b04aa8ee72cf850c6ff6389b1cd15a8dfeae72a0ba5a2023a1a86a95f9f2c8e072f295a341751f3f6c0be71449a0a564d9bc244313742512a17bdb3a554a1587629d55f1fcbcdbdc7a28d9a30cd20444afe93eebac11bf8d3f7bcae79aecc7ba5a7b4adc8a7cb848bdd84f9b0a4cf44895c3f115787ce5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4045d609a3c9763d658cf123566ed12075fb7028704b2cf01824756607dbcadf61361759d438ca3115852a19650152a21780eb23b4ea0dc613ff9d521cc0f4b3e967b06faa9fa2b715ba7d10c88cb1248b46c61eefd2782e349aade2830ffa430b5b379d74d0fad001b88d6fe673099fc510d81ad19234709e1d937ec0bcf3b3a09daea52acbce311e9f24a28e4db2e3f730acf4aaab37e8f0d0fba3399b77b71b56a9141f5750300930eed8657d7d2841878c34f2766d9b95a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c40410425a2ef2b12bf8c41cb3d4ea53a4aa876121e271ed4ebbe82e129686bf973d20bbf624353fc6544a2cba5ef37e8361455535a85fadccad309201c36970900f46fb49eba70bfcce285888cfb430cb1b0d264de9ee99da45abaf5c700b7a75cf076d37fde09d9e0eb5316660099602364cbed4f38e36369399b135d61530539196c532d8c583d9a9a86dd2c63cfeacc5efece26a7ae5bc22bfa184983340c1a40ab04da2617c879bf86426bd7148c31ab5b03b12682d0326
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c404e5e9db178786a17beedb60d9e5a53bbaaef2c7a3725f213f81d6a784ab7551ecd42ef477cad7411f49d5dd4ed0ad112a698aaeb3d647fba842ccc9192377df5e36f2908d3afe2cbc8bc6069d33fbd99f85cf829a3c4ea3335197f924318676037c8515e1a3c444490291b2d2131c5e3f8e0e225e889d9573d13a4e222e67d383aa88dabb02170589eb95338dbbffa584ce1c7f82087192e59c6fd3d16bb6e11b1d443412366b19a9bf0d621a60c25326bb2764e1dae1ea1e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c404542975f1e267d7243125aae8d7aef3d1dec1049fe6657d7afd197bbd83e159342726c9e76f8635ff26a78d2b2a3d75be4ee992a3234cbc0bc8ae33fc0dca036d78878d39af8c0033564858c146e6bc06c35781dfcd238e14d02d7b9e01c6bbc0b08c93db9dcf92364e33074750cedbe5fd5d338103cbf069f6b4f039a419e99c74ab78ea26d20326bd06a39fdb613b6e17e79377b5eb10fdff779ce26e6b845b3b87767cc6d7bdf9dd6f050c6aee0d572e0c9e5113867495
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c40441451f11e2c0ba773194889bef70d3a67d2ad3630d3c28d1f74f5cef747dc92e0b0e5f9e31991830a871f00bb771eb7d0613b9bd26ee5045266421559ee9585f91cf5fd76afe7e8afc9b12af83d9afc0f1b7a1993a9e96d2e3c24d90d48cbbac8959b8999f3fd012cfd0d0cfe6c94bb3578b816472cc6cf9dcc0047e90495864a5ca328e85ca5eae3bb2c7811c1d15ad7ebaf6f360a2f41fbcea14e40ffadf23cc47c1b6071197b871bf25aab6443ef40fb0514bc43a3a6e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3ff1f3b81c076fa740f6768b7e0291a8da39a631c74cba37b1c24777f9163b64478871be02bd1495ff9f228410a5634f95e80d93bbd007f009c47a8d421b48250202fb5d6a3d75f59918d8fa51c4b1db416d40f140a0255a717a89f8bbd996037f2b1a07bb5f3454ec5f3d8dd131f0befaf2a8d23e3114bcd8b4aba50909086895ae95d6aa0fe6024eb1cc7709c0bcd6bfbce6354ba0035018265ac51834b9ab757f1f9b37f8893bcff52df559d9b29c19
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3f6dc7f25e05fbf7e889922574bcdfbabfdf05ea260ba9ef94890d9d4b4a5da8b37a50a5a24a46e95951e1de86e5590655fb073ff8575bf29a481322cbea58bf06ef746a57118db8a29994f97258ba9bd74739d8bc67fff635ff72506ba6381332189dcda5b0efc2f65bc2fb9d53508a29a1e825a73748200664ba6556b8c3d076c2f1132ba0341610d62f974e9771bda07d199ba4d4b236f51d1e4791aa84178a257b2d9d8898c430681545ad9dec95a1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3f0e1887829c895b516cfd348df6519c54a4d1070de1413a6a474baefae4fd0fe4478f2388ea74fa8c3df7883f1bc4b1f2cd39ae35739369e8608097a2d2c01c724cbd07e24c102e5eebe06c7abbbaeb3392db49484dc3f6f7ccc97c71b5e43174a57ef1e6b9a5eead26560054133c0560e231b4771e8c30b0c63f519752d6ee2cd01f077c7cf9e1d5a672439150f597d14dc8ef31c3eb6237a767300efa48390a990cb9781a2467200013102faad9846e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3f80b4fc69133be8608fd585f0770b7b9b5f3905ba438f253705e779b45e46dee137c48b42ff08ced7011f439d0fc303163ff8340ae4d96a2c7ecf9e8a064a78c7d84f945de6d0a712a34bcdbfd92774a039d48c6c0eaa69447a615a359533e165623d71b40102a2468be2f667c9d51e905b70bb54d33c2a1a1591f1112ac2066478d6ca3eb9f688c9297102f80bca0b0cabbc3f07a26d57db59edf19e95b86087e259740bf02493784a2bca08d411e699
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3f3423d3db5dbc9fd1472e8ff00781f18ca07ded16730cf8e6c937e1d5a8c75e7c0570450cff956f66f64ee6b55c3caeb1e3d2a86b5d913686e976aada69a7f02d3afbc67524448baa4d11a7b5db8d3fae6be309fec6ca7a4b90b46f49e4370349ff6e288084ef961030f07eba2328e686a4dc74f67b924d2b5bc98aa050fd4431aacd42cceea481d85b4b13bdd0677f87af59405819b7f9ce4be09683f406b88e2da3a29e10534ba2b7e8ffaf061206b9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3f0d797f2898b695fe1e00ad1c82691bf17e5020e578f89122c46757a8d7297ae0265a407cd8c75cc0e3e236e744b24bafe879802a1331d43dc9750f33961a2195463dd4ca2fb5129ca93a3e189dd5d0ec9123506ef1652d07ca23a8c45997985f69398198b65239ecf6da62b79b1fa23bc89470304848c9e73ed4ce6ffaded33285a17b1069b34df5c8819443ae56639784c64fb910b2f66894d3fac1f01384594f8d12e010209f2147df324791f2cdc7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3f61ef8b3e9d1ffc394f245dd44265bc5c526c712511dd5d500409985353080583158d0b31597cfeb9b95da16a97a25b707e04d9fbaf5b2f7c4a1669321896116d64e6c68c231c9d36227703b9e2c84e76da2a5407f4907054ede7fba98b8b8565aa9d4805b1218feaaa16498910c5deaee2e647ed0a4b8da3970573b94fbd3340edee02179b2abc334bbce9413f584676bfbd7039a7d850b13ea78f590ac56c101bc5e3302fedabdb1bb7a822e6ff4880
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3f86993a4d5c421fc35681c272719b78c6185bf159c75725f8e0af9177ee944a9842f09414c209bc2057f2b7e1d0db8d003c470ec290162545e54d6c78ce1b3a70ad9a508d05e04f4ec47fecaec8848e5378f736a579b4042bba567ce7dc9a6e940208a23a87fb6852c8d5e7df86ffd9242eb9f8abca28f9c7dd9bdd54ba597a193333816c9c916353a805c758bbd867408bb73cb364823cfa17dc37702b20f74e7b404083fe83a67d90ccce7526700fbe
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c76550d2afeb1ac3f9d0ba7c0cea98a89946c54dc78fb063e313394b6a0f50ecad1be9e5c5f31b5a60b68cb12090a5394577c96096a8f50e63e37f1177eafd303b94fe2bfd203fadbfd0b63a10a2cbdbcd247d7f4e47beddc56da42a1b03cafde36058f3f16e0ab9a4b2a300f806d70c73f0f1eda28eaf1e666f26729bf9fe45bb83679dab74fa5df5476cd1d1366abaddc58daa87c7cd9aabb79f974ce823bccabc598025e3338a30
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c7ea0fe34384588c8fbb91d8b4effc575d89c328de4e593d875f6162a46a0b593c9eb55e9942dc53ebd29ab0c6126334721487c61fe9e28e32d3f6e5365b9df7f9b187fe7d6d9e123cbc78104b89e4faf1732ff4e59db8fb0b7c8e98eff174cec07943bd7495bf77a31e256d1c18597568c0cf428ce2c380321a10cc4b904bff14a5b9e19b4106757c459af86f9b023cbf0579944f9707d880e91802c7f89fb446b558b2caab66139c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c7a5fb5b94e75f4bf4451fae607af72373192435133de313c45fb7ad3efb5f63eebef93ddff8c321711de5065ce11507f5c48af94655547bf3c3f0f7a4f18443fe68578587e43c30206085bda9eb342c065933c7e6248ac26e1bb633baa4d46557793c4f6f151efea0ee436feb1d3aac02a8979087671db4d2497fb83a6a413c77f1bb56915b8d57c9f82ef61e88029f43346179f555f94ef32d4d67d1af4f710410f21e40d4a1dad2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c7745c2b4745354e6a551004ef12a2e5b72437885ca4da5c70208043ffc85529a6b910861b516028be39588b566c1f0b8069652f96651c3cf91363297ebceb15b5730eb864cd930c8b298c4f78e867e4b47ff4aa8e6f67c1cd07c96336c276f04a0d57f54d94e24a1116fb0d2e5216ed877917732b980b12506d639cb7407276cc2bb6d248860dd4b92fa9c539e13a0206780d23248ee380b14a31cfb7e1983eee4a0f052d29ed0769
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c722f3cf74df8db109dd013a6d334fa192175434a6b2ef8068e2b6f122960847dc829718cda13153f394f2dc58e3b35d9d12668fa3831fac909ad6ade0c5fa147b5d68f137cd26e758f37209e512a65547a2fd844ac1bf7c878bc706019f6215dfced716912fa48b55cb9b8ccb9c9836d3bfa2e54eb7fce7c123645ca5b0cba1da10f4519a87b0361fdf2019ec4e9dc1591cb4d1a18bc05706e3c03c4275d264a139bdba0afd06caeb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c77c39c3047b0e49acc35d4d9f44879a7d711101c2efcf7964d7dcc37c450a36abe888e049efc927ab91855f1513954200c43acb8f65ce8fe3cdeb096259a8a3038d3d6571a63eabb9dd8cf918a8376bef56e43cec79a3f05ff0759b2bb122e8426e61048368e35ba42bed149f0c6f409fe9063d8d36f159f1198bf431fb1089b1df6c0b10c54f1e1e0f34544215e5ad53bc2d429ea932769bfe2486f3ac19998bf9c6388d673cac93
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c75f3eb281954c197c6f3bb9fe8bfada7c08fab0b35333497e8d29eb825f08e614fdfa8a2aedb44c15a5f50c315e4c67a377e29e8b87d5785569965814f22eefea63fa36d4069225c734af9c24eab014760918f95222a597f39ef526b848a8ee7b3f9c0325c29cc4fdee78d180a7ba9431214fa1700d67699fbf8d3a941b6851604eee0c61303a0b856d7737a2b28db96994618c97264ea24192e19e9e2e86384b16e2f40583a1e245
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c7ab20d9bcf56a857f2be5a146114dd0c4023241401c4524dc8409cd9421c54250ae8aff6922e88af4f571059842b02f0b45a0b2082a74964cfa24f5e8774f4ebb355c2152216e1e5e4eebd679462b60ffe629f1bc81a763195149dba64138ea7dfec28be64392488e4e9e4123a01073143de4b45eabba54c09bf867f48ca11d334db0d0250f29b6c25b2643285b4e9584cb7954f66cc10f33ab7d7a8d7ca78e4567123e8aae265576
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6cb7414b3540ef7e06a487f53c97db364d363350321e205317fb770af300f0dc278938caee518d31137aaf29acab189fd89bf4a5a813368006393f4178f8335b9a0f4f9b643be25ef4e164d40a5f5e2d54c2ba6b8c07857c59da85c780851a0bd77e79649137ba55cfd2c8e6ca8c8c44904adfd0c4d252df80d0f2a1b1d496f93bbc7b47133320eeb9fac2cc4c9dfd240c6d209d275802fd7ed28215b45b7e9fc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db69b3ff24ba43e9a85f8383c35308ed891d02acbaa76b4bbd80d2ff5c04caf5d8508c618828e0042020a7260f4114fa1454dad50847eac852e73e9f190649df392374b1c81c59a83ce0e9ff75e1435f01399fa8e3c5877c2feb6424929e517c5d5a232be1c519153bf54c4ed92ce89471444edd605b8f6704c7edbe758a036918acc50d2659d7440e9233209e1aaf73d4ab156b6fbaab69114f7ae659f5403ee76
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6dd86181de61f29afe31ec3966ae7a3e72d09ad23bc959246916233aaaf374b0a41a1a1bfa30402c57562bfd309395a172e65a684dd1330d5e40a21050a66be5ccc5f18c705c5444e932d4d059301595943b2f0f969f21b12f3e902e0c48bdf65e2c06a97cf95fd41ca37204c3b77287050cf54068d407c17f634f5db134be6661f043d35e5f0e81be0e4319b8d3efc0f980393edf496f71ed53861ecd72362ab
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6263893f825bb7c763874d444b7ef57080c48eb72663f7c04bcf9e0449ae1c1ef08c1fe135775405e27f20c382f69402b99f86256998afb46af1fed921d2e14b6d46e37418ad5db3c2407d4c07511be6e9c38138231b75ddcfcc554c012e68f9df96f7a992641cb3b71ace16efb75b91b6c125d24f2216412118102d14e54c6c0524d16f2e0b3b059d09358c2126e354d1a42eca007ed3827ae525c136ded078e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6af766ec0fa8f59eff1dc9dce40382f68b0a30594d73f99b92df9b708bf7545b9b4a6ceee4898f67d14913be2654282d9400d18ade7a5f9fa9c2fd86ad9e1e7710bf8da13daf026b95a23130e64e4b68b51d042c75ecd3f8547464f260ca0fbd47e8e7cc4eca25081dd4c5fedc4a520b3e9438f6b0714ad65ed66497ee8db4c59e4b8d57e75eb6503ddf98f176ae0856280899f4f0f7f6651457f3b01a58005d4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6741bc2cc1da912b2bb93c2e141eadfd65f6406bc0808b0cca18747ffcb3211b05144ec54efdd9472578b97547377d6a55516d24e37991d9cb0edaca2db9d39f6035c3b31fc5212ef9ba577c13b0a43c7f9b4ce5bad414d52cd562718796efaa64e245f9c577d473a7eba076527a5b8856dcdd4ce743246e8ae4688bb6f2df86e573388c48ef29b9f6730953e3313e8c8ea212405a1bc63c3b7d1caa094506605
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db62c635ecb90cf540b86a46b659950b22a5d83329bb88a13062498cb17bd931eb8f19ab30a1abdd522c7c48bac21a9bc45065b12d493ff2570fcd7019d84613eb392177a8b063e7593cfde3cff867256a65e57d648f56fa1f26a4a222e0154ac31532b9001c9fa0cc14c552bad3ae3efbf91028be99f1834f1f57a34cec969d65b4bd8f87433d3367f95d67d9c759296568af05b10725397d3d64367e95aa36c83
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6f256d8029e02d64db7b3185c904b41d8c3e72cbf189fee77aff8d475ed46fb03ddc02560a75b6f21fb7e661ba3a0ea61ef7a792d6b07a8035d00e8660f3052835b1457c5ffff42a620ece8f86b6c20a267350c24f4c3e03b085bd6949075a581348241bc71dd88de766e3325e392fba9b2bc78e9a038ec0d1e416f4840289a5ee820c75927447e9419ea6b56e8bc569cfa1d513288ffe3d727c14bfe8ac7be05
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66c9cbd6fecc63a8a8db092a2dc6080ec6cca1f02c1f4b935b2f65e6b7a4c73c49dcd725cafbeb88acd670f52ec81dc8f9380965c763ec293beefbaa1756088d7697a35de79a8e1cf9bf2db828876069594479df0d6ebea433d8428c6a99c84557aa084bf6918a2492d96f325cab950ccd22e3570d1dc7b02047465cf2102ab9f20849c2a96f1d0ff19d68a1b1424666373437c1e1e9c407440
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66c0e5c11dff0eafddc3a146f4090c7bd9722a4dd2d2bfce120ff1522ee13a9ab7a002d071841f7f6767a44fac31c37f3471b6ab043bcbb89c6ef15800c8c74a1f7bbc04f241e843397ae9218fb44724b128a866be4a35161cebf38a5dad19dfc2e2ee4641bae32d7d8627759466995ba4180722700362e7cdb9d31456063f0603ffbad8adaf36e473ec3b379750b8a5911630972e875af3cfd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66c15253ae1a3f8fa4100bea4be83663c5b3e97a8949515b7b56785a83e5c3b2b571b9cfa8e62e9c4c288875a26965b2bf1a56f25b08c74fbf618343015bc90b091634ed958b7297c77cfdfb56df089a200247ae3b229dc6152cbf7b25ac2094d6584d95890f6ba2a219308baec85a8c205bbb9950d14b06d6468025bb1629466afb28dd26dcf222e37bf8bdf75946ea246ab5671fba390f344
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66c3e564eebfb180a0897169430e402dceedcf5459579410a5323143d5d534f46c2a38bcf26d8c4f0862af8838d06e15b24e0acbe4251de033fbb7f73e7ed06faeade7edf14ea0e10bf44369476c928e5823885d1f1ce14d5273678878ceed8df66d96bba78e6013d0795b7067f972d44f2f24990e0ac5116ab41446a8243cabfefc355238e1f3d4bbe22c901a85318ee5ec98d33a9a032a85a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66c38a390928a696813f9d03410a1bc3565523e7c054fb2d5826358e5b8909967a10957ee5edbe6512f4f8a7add1271483f71fa3212f5be01d197752dfeceba60f39978f50143f2e892d4857de9449b8e9aaf32aafb5000a0d995be86e8a49d5bf7cc8a712dc33ce31eee56862481c14ca1c2cffbb97d9bc72df2f9b0d4c2523f5330f46a385d7490c12d70bef0127044501ecd005b8f0a0d60
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66c36f2fe3f9c432996f5c8510c7abbcabfa8ea9ee41243b64e05af58f0874e7376b286279fc0cef3ccdeefbb7caba9b7dc87cfc8b5b4bc1ff05aede0516f64210df61b3fb8571abfc6dfe6d3f05c5ff2f16176b7f8328de36c983c900eb8fbd268ecb2c277a9b44a7a99c4a19efc227aeffe10bda4876e1fe99d5804114faa3a9fce590af8be37c53c2341744f735b170ae431a6554f8402af
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cb1d7b948e13fd573284334300c95e71ecdde5a9ffa71e771fb3ee37bc4d18ab3e57b73ecc83944e0bbac6f07bcb44d634e6abb732b8bdb1e983b08a02b8fd713cf81f5c1bb32333118a8fed93376752aa45cfdc1e0bbe45cbf8873eb5984f905b4e358eff1b495500a348b8172d15a548fa3fc6aca7980ac1d381dd34183fe561525c66b75a1833c79a75bb8fc6abfde499f2ac8d43a7e5b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cbf6efc9e21cd4dcccd71cd81dccc9ce672f9cf5f665649df62bf786d1544b170524bbefc4db35dcbb789cbda3e55ded4860f9e31298674d7f99879f2990ff199c9c705d87e6d8568c449f2700fbe5620d81edec9fe682473bd99cd49106ffc344f3ef7594efe1185da26292dd90566f7a02c2fc13e7f6c95e5b4153b45951f71e1dec0cc9c594948f1cae5371996a085a0f70f026f9bc479
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb89b80706199eb179ad941980b9d0080e120fc0080e8127d6b2350e41431335e6ed066e6dc29d9475b6ea1c8d963bbcec18c54dbca36612db4c72784bdbe0b44da3d506fab3d5bb910065e35b2dff2d0df90151961cabd17a5c016444614b2f392e0890ac66faaeb4f19696b506c175b9114a9b038f377bef98c8c73c4d6fbbe8a06c515266af6596cfb6537e7e7db9d2d0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb8921913595dd472442014f9290b574185702692d38bf99c5cfa9734d24768f4b8409173695719b9ed8650fc3ed780e6b04cebf813c9486afc2cc2a2a3e82c357ec9fe0f6108fb5b6fed023fde1d70494cbdb8ef8a0f114bd4af3293a2b03ed7ecda8061f4618eda54d9cffb3b8068df243ef11fabd4f256d1fb8039aef2a12e6630382f66385dc334106659ad21089dfdb
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb89ace0d9e9e777fa412847f380217125ae01e5e83e08744ded96b45f798d1c0e93f82693f79079f5de14eaec4b1959b3a0f17dd4d8cd65cb1e6a87afdb5fb6b1c60ff18522e7864b0161b8a05ae551186010ce3d0b9ad6ad60a4533d4a42b75d3b37e3b82fa83672a87b43e648088f131012663984866f9d50213a97f609862c2b3fdea475dbc8bb725c128478468da083
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb89e7af8168cbc24a978023468c30615d6b8980e97837c0282d8646cc42704e9e2e30afb717a6a85e4b87843ea6e660b4cc5f2b93aba2d006f16a53afbb8be591a64be637f9b852f849feaaa48996c3b8ed08750ca37d7655164dbd23bc1e50c9e5d33605e7f94f3baa3698076908c951e5ca96f04d2097998a3e703e428e177568a6a9820bc786e199ef688fa0e73125ae
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb89a586ec3d27c0882b3c0d28a3511b762856b800da245ba1b454767c0082a98074f5929fae98208f888387396ff5760c1952fde36014ea8f4eb16c6f21f0468c5be89daa9865acfef726b78e5233c0b4bfb678312108b150cbf669b1d72e02eceb8f0bd8b8f94f3032ab67d61314ffdbda4b2dfe6607c751d56428daefee14e75ade9c51b1937c7b3dedd03d20e9f3de84
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb8929908c7829f7418ecbfdbef01d3b633685129819db90e6af4e84901261f18c666a88066b15542eb8791f05b19c19300b1e8f7338331b0bfd2aa00f59373a311fa938e2b970bc6ec0767a2b1c122cb35cfdc4875f8194980dbdfb27d86ed1b43b583a0e32c32de16464013f9ab9b2aa60b53d08a82ee1bc47bf9884498f1a85e68cf1610f2bc74e3394f5c6b3652caf42
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb8995f5922239b45be91275111575146a894313e879877c092609c1171fd297d69659275e543298de09a5a2b9fc23e9c9dc7852cb17b9a3983d91383c9e83faa59a34cfa74abd3a445d3e1e109ab3e3c31877d02ed94db53876a5052ddd87f4b7339bd2d74013a3d8974d893cba24f4ce7906c2a266c80d0ba1e4a986b2430484340d2cb3a3cc79f01cbd1398e082401733
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb898e8e7524aadf962d87b0a07fd284adbe6c05100457ac89413f4f12e2a5fcd479c8d58dd0fcb6baf22c90cdff418a9281a97fa45a8d6ae345f6ae0909873067afaabb76f577b36d3c91f5f37f345cf36fa51eb2a2ee0cb270f7f266dbf619ccee98e964111ab604d20e8ac60d78493ac742a0298e04fc8727d5c9aae5a01947bb79730e169976248678b1dff925f30310
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e87400fbfe000ffbfca65235b60c77bc19cd6ac19fbc481467e3fdb0a7e3ae742115eff47723815fa541d1ce352858262d9c1a37c65cf8883a0bfcb90e93647a879be68cb3b91b600f095b1711906a98db6040f63c0ba32a82823f759f050005278e15e70002bcde210efab42ff9bf0e7c8935907e48b3431ebd7f71cf2e3069809448532afb7e5a2729a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740499078400084d93c8154c2ec37615ee3933f23cd4dbc9038fbe488e5fc7864c1a48bfc02d4c072e6ef17149f3747261962be873a0771bc86505d03f3e460c8cc7a09e521f9a33243c142d772a01bf4e59ff8d70478c4624e20dbef9a76cd1759f1fe9ccbdd0aafbda000eaad6fa8c831c77250028b821834e8b1552083b85f61804e8e033008814c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740d1ff5c34160cdce001facfe7ea65aebeebcfe93e17e03f0e9f907b682448bfbbc25cd61bb4b9f4c21a9bd34907c7b28c48af467a975bca37b14fc747f4965eb1279f5b79f66fbb44f2bd85c27ce0014aabeccc3dd788343a5af4ba297f7a1008ddb189b80e82a1f8dc54ee6049086b454a31e935252c109b69b927ed6537422eb8343b04e32dd345
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e08fbd5d8ca47c50af9df61420533f9765b0ca2a207c420014fea254952598f17f2d879a6db8ad0273339f55bd5c5ab75025bb5630a5a72b9db31821e67fb887117d80d1ece2e4531136fb98490f0ac5cb3c40f9b1ba989372bafb2903d6698782ae79488619b338a7537b66f3647dcc5f171483b0a8e932beac43e5659b6d3b73a4d34fc4fd0936
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e874035ad2884c91d8a43f952e2f29c11d4b39a01dd0452ddef6689ce6710f7a81e9600de5b0161a8ee75c21815cb2a734fff35e0d479cf83a247450e3043e99655d31150946391db60a61cbc233af74b0b42efd2185387f86bc011372a106e12dba2df6f1255d9a79e613a29b303f92f6e2f6fa68f81dc785a7360bd482612ef6bec5234c5a2ead2cd15
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740c0aa16383830c8d37a4e2764beef516326a13750b4da38ce12e124817675755e55db0348ff289e138ac182980c401d8819024db5e542338615588ef28f5860141ef628b0509a636aff77ef18fe03799e5128da5fb3ffe7424fccae6a5d4f2f3eaf8bc7dc9766b3618c7fe4dc2379739580fd8d27b63ee7ad5cebd0f3d0b9dbc32b83111a1cea47fc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740b81713008c69b53223709f2980a95f3b3ed2d1a51c1bfb9f9541bd5bd4972bb0e1fb3bd0384f505320fb9f1074bb195b77e80f1869d2510326246fbbfd57a0aeed6faca71a75c3350790d86c2fcb81d268b95ed86aa3f6d0b45f9695fed10147ec1c0e24069f114892d60aa6db1cf2ca3f353283d665ecd9c176979b73ccb62a1d9340d9bb7d1722
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e676a12ad3b14f3f3e231acd1d2acd214f9d272ad8b84e871ea66ee3bb57764e1e672f747a3813f1d271fcb30ba53aa900d8390133c9107a1386a76b5b4d5b937461107cc8fef9c24215cfb5d0389ddadc546d5ff4ef3fe0d34d77add5e48fc1a77609871d90c37d7edba6e64c5315f52d27f78ade93ca9825a8a2b88cb21bbb28d8bc56aeff2958
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1d167c2b2697e7c9402c0ac386944385e83b9d49274f13607757fdebba9d89c98bc7d7a00223be3659c5a7afd132034c399a565d864b99e306e73312efcc45a51656536e1071fccc6a9d5dc7b7d06019e341a84da1ee5679c58287174578d433ff86c334bb5bf0cee996348d1c2e0316703418b7b1d506fa382f2ae687283b36c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1bb12c225ff6568c4709590afb4ee9ee2e44220101dc5408d90f0809dc709ce3ac21713f77fbfcfa994e21443bfd610ddf942bc6442398986b5081ef631ca6c33bcac0f6aab1e519a45cfc9a42a65ab8a9ce81e2f10ece537aa2023aee5544e20da822d10b0ac2aa8075b7cca61334b4d3ca084e1810486770dd740c8d7287854
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd190033c16b7ec1de874edfa318622967af4f038cfd6f9b385dff069c6e2a9029ce4c6b00cbd53b9e6fe4d446129f0b56dd56f47282e40f8271b1a8cfa75541c2131b6b219bcdb39f29e83e38a043ed372c240c730d96bbec6710836a66f4942e6ef967bbb47adbd434edcaf2abd4bf9350c2c70c2b71000af111202bcadcddb16
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd18eed4bcbab9ea78de24f2a8059962340322e62232d54a9118de9d3dda7e021e1935f6dbaef5c15e20b36481b182bda0c48a26167d465debd72bf3619c7e51ae55fb2fce9a4651c57bc2c51b536038f73f7d2aa136084cd529f8a40365d16a480300cfbdcce056c740b0ffdb2b59a97beba6e4d0b80b3704d8850d91aa7907b82
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1c7c24c8640d29c06deafa63cc33d2594a642c70ed957c39269dd74837a47ca6492f5a30586666de743accd84f40621f6d46025fd53eb9194d4d6ed1784d6d547141c1d304d4eb0952c9cc03b32606404963de2c10775860fb7410041a9271c4c5542b0e22e758e7ad9627c8e98c3e21a577e94dd6a02d3c5315a54da7a30a7e8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1c46dd4f8ddd9f3eca6dec563c42fdd59cabd34f1a08011a11e5e8b562ee0971c4bf8b18d34133d1591cee362f16f083256c6d9b094cfe47416da9d742c026d620c6358a802f95e18fdcef188950333bd8d0a9a4b307c8d331d9ccbdc3bd9aa94799cb8fe8a66560ba56bdcef0e3c8ed61075c69db3578dd741f442d6e986813e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd178df3d5be8efc653ebef7a9ba0e941ef3cfddedab5e70bfd589403f4929d05d1b32d4deeaa206b11097788690a3ea65a8e1532f6e587ef1e9051852a520509cbd65beca0f263667eeb0a5093dab89c9e8bd3704f0d33b3284dee85f2ab97f2001eaa3c77e819fb0c50fa31e8d8303c91ba2c59d47d0b577af59cb43ad28df0b3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1e8e83c4511c05842cc93953a66f8846b332962179084166bdfba850fbd8cc4a9777dd01dd58dfcddce141dafb0abab95d324ba20b903c56cc6802576e8a1e45c1ae2738fe5cb7113e71ca47f32ce5fd68924fe2016321ebab69964bf787d35b33970d2383e407b844c5e3ae1da7b61443ac1db32444e559c8ef3ca60ca70524a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f1d990e7007c3157640181468a5d68ce1ca9669aa083e1d9a7e460a0c83780f0da64f8c6f15980a84548d45dcf193bcf0c7ee2416765322f55faa0cdb55492c4414dd9381409ae7eff3b8fa8d84f3333c74054bc4ca0c31fcdab665891507ce975d24b18afe447a46f26f55e64c23977a60e936a941d3a1fc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f29c0fc2e2bc7a255f8f70f7e8b14a374fdafcfe0f0a46dcf0e82abe1483e296f453ce0d677f503e3ae565afefa68838b587e4e57297f80c2681fa119e1488b87d4a76c4123cb301ae831d305304e30fa1b381aca29e26ed2753f190420259208d1be4cd08ce255294782d71f5aac161db33df61a4ee1c71c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f14e3b0e651fcf8f99cfb5ddee26b5b0d62883711d26dcfad8820cf6cd8457f57258972a4b620212cc9cfe44b90486ccb608c996e5f274c57039e0018234ff72bec4cbcf5e44b77de68bb6813d0f25a68885a317c2fdf8c1bb90a51819adad2ac36d3d327dc75b705919c70c70ba89a124aaa8e2e35ba8189
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f1cdb9d762b7f4b6a196650075ec07cb789e0111009f833045e33f0a29f045befac25779c7b73be73b7d1330ec0d777815ca11bd5b490d1d3ef391ff8688cb48769140bc8effadb044a1c2bc505959c8a090abcea1e2fac1d64550ea0189aa9327ebe58340af15e76cf4996af951954b577cc2ddfcbb253b0
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f91d193a30ae74ad92f38c43b0ea4ce8ecaaae68775c7332d17e22ccf2afa299e56b8b12a62fda6d7a5d5ff2cecbb1cfebc3c9aa6bb5cfb124b2871b428b03dae4b3bc367799835ce692f3e12627eb28fdd2abde5f26f7c5ca5a3c2773cecb18f7201b7e089008812e3780cdfb3fd362a6dba8d0beaef2cd1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673fe7c2381f6f273802f272632fae8892f524631936fc48e804bd2a0213ef0250917d2ba404266646802d8ff89e23b81b076376d6f2fe10bb75933383239a1fb0d89dc3a4f569e164a5f1d947175b47a9ea2cba0ed22a8844bd1aa1f42d4f48b2c97481b6bb3ddd8a21b1dc07b89adacabb531f96005a4b69e8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f03a41885598863c3bb36789d798d7bee02882b18601442265de5db9109e07562d85f5b12fa1cb972b7bf5f2442952c927bb02e73e3075c065c3e6b59b82669d4fb796b452434bfc24082b6e4201eaf14fb27648fc9f1d5f3db80d9933e7190fdde26a10d4e28fe216cf0f5819229a78a1626d387a10cd92a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f8caaf40f16989ef544944db13753aedb172275d372081529cbd09c578eeb6435cbb0c53814c52094c3540d87f50b689aca0297d168850a515ca803e7c45e67e91d4e2a0b44e7d33adf96376864714730790d31749d28365ac1804eb1d86f5510ae90cb65a4d9453bf9f024a3971ce8959be1929a95fd1ef9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f382244ebf45681d83de3dbb0e9f3cae71872e22f6151e727e7fdf4eacdd9e7b7b42542b7b37d814d76db2086cce7f4b515b6a3eff7a115d6397b02537322258b6ddab743248b54ccb15ceddb5a1a99ceeb9f07699098ddbe19aecd3c653aac2ac24e32318bdd4c0724cdcf853e4fe60b28
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38eaf350253307ed2e656dcf0030975db996fee7cb53909600d563aa29b416de273957d27ae7daba45a773e828e8fd2d8bdf275b20a4555a0d1332c448ca42ab394d0a3ff70ee0db0cd1da3bdd631b43c6d5acd891a11a03e9b09c6a8666ef134d81307260082c8c362f961c08bcdfc645
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38cfd5d269fd1f52f641d3b27bff7ef06609c42478be1bbdb17921145f31e920483760d5a713b7fefb1a5d074d1f33d2443b8c59096b4bd4aded5bc20c7be1cd37d06f4f1860560824deba0b87d936df4e6f97c924a1f027e65ba69141e2e1d6822f0037e01308fe345ac1895a013d8d91
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38c2d1d5d2b4dc93922694b13eb48e1e8ef9b6e7ca174e58bd5dfc824470a18db11d85811674e7e6829910a295192ca947d3a902b39242dc94ec3622f5a2ce89458c3e14f03313545bcde7e224bc484ca2f2412572d492ab14b9662b70f4bff3b1da54569892449edd8fd119cb09fb7652
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38a0e504a931f393ff3caab0c0647ac690deb3f48752f7f6170ea036fdf645be31bc6524a39fc30011f72a3317144a4a85e60385f582d46e66ae772fe3cda9b9f3f40c6e34bcbc80b6c3fdc3d270ae2f12815bf9d93a2a2bfbb829f86e04205d0690c4083225da12eb4613eb77e50d5035
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38ae3e6deb95a0cb899673080135bb8bd4176dd063b30c83011e206a502c64d6ac63a18344a35335cc0366a34975c6c9357c6f10a0dcdc65e7768f7b8c91e21b57fe07031c1dd97cd046549366c751745ba7bd0294d04642656b25827f3e8154f456c822829aa960dde82381f5b6a6bc77
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f3899edb75ab97080c055bb4e528bf8845ff1437be0adbf7f2384134412ea8c16f51e7766db0a56a18fdc94d277f9d5fcd1eef4ffbb36b8d0e697d1980daa1f0c8921fa148c8672578f2fcd8408171a30a724ebc45770ac4e31729cabd23ec4023d03e719cbd8351044e4944b8240f82929
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f388dd7715c2ca50ef4beda4271e8381a6c8f070f07469a9dd66ad9e49a57182a7744c9b124eaeef4785ed9e4f588b85069a0971fa8d5ff00bf7edce79025f39c136c1e5c89430050a8fc4edf2214eeea06e7e4810ac90b63d4a9c1838babfb1f930bbeb8a85b9b5562b3df81d8f835a801
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be3283303492b95aa08f793435d5d4cc6e76ba647b1e411fff714e64debb5936300a3d9f97575adf0b00405c980b238487b3935c75d36bd6462932495f834286e950dc7ec9bf8aff0ace5faf695ee1301a13cce06745aed81db2f39b6183c649efe0778992de39d8237a0ee
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833fd6c063c66d321e2fef921bb3ba070b28338984bd0df97d06357bcb928004447f737bf91a907d9033137c4e9b94c32c7f52fb0c1315732adc4e9f2ad05ab0fb38507f01e7efe78503b3959a11813acf6461231281741cd9de817680500847f60b99a5bad331474af
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be328337c6d3d790bff3801b6f70f4baa8426920bbb4d49f7b68fb95501a6d80a208420b226ba95f135f39ea2e01bcbae70b02cd96449219dbaf89b683e48bcb371589eca3d3703784cc2db7d4c687cc081b4b486cad9c2641290d5487b6303f581e51980792591a2aaa58b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be3283306bad95bcb24c4f3a4068dbca6214ecef5d853fa70d32ba1777d79f05a50e30fbbaba6f1fbd889a2060e27e146cefc5e6027fc44582e92340449217e8d6b70e5ec840d34eb79833fd6d40171b348d49741143ab97148852f946c6bdee85947a7cc68e919d644f79e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833d31ddb2c2699419a6de6e4b7c03199ce8391c3b9e5139f84ae189a74ae2e8d1fc9045303310a8eb621d451ff028b2c487869eb3ee7a3db44a8a93851e903bd730a39bbffcf90bc8536591f1eaa510ae83b7992327efdccae7327fbe7acd31c222275a1979738d880
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833802b697701f02f5d23392a1c11647a691eb487c520127a2f804b764c2bde17356c8de77876c616b437e0b6ef7b706163cded0a878dd055f6c1bb7c246866fb77ffb712750a666857c3111de4e1c2ae29aaa67e5fbe0c4217b0abf4d66601e173c9bc33e85b0cfb58
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833b978df9f67bdb8fa2655572103b72b74a2a1b9101026d1d1d37e959cb7f603d01b917be0673593b62a81a8ab989c6c3ce64cbeecb28ff90f674f377cdb64c95ac41754af08dfd1511dc5ad644b1e86946cbe5c1cc3fa2ae24ad918d8f981c0345ffe368d0cebe96c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833a10652d4e444703e56a5f5a025ad3f4bd18d6fa2085480a178b6c702df12c34fc035d8350f9ba426d5f3d2a6b3e776f78003c3a1539c956a8cdadcf9906e84156998b7843782157eccaf9dfe241b3cb06e54db00bbee5b5c1fad63fd7953b493a6f7d60fe353c1ad
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258213ef013b0964a66a6f79de90f5e0c90b3440a31ab684543d39c786208134256a69e60555aef5313a2d1ac0557961a2eadc93183ff7ff36395f1e8d6c122c59854e489fb2fc013d80af2781fd1194a3350246c15985e13b2b6e2be528810d9e240
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac25821df5a6edb91524d7a9a5986df40956c4db529b1b0b8bd9f6b163ad8a60b89287848cce0d776eef3705451ef38bb16970495ef7bcdeba47d73e84ec2e091271de26721976925e77d6840e8b33480a1ccacb4a1a978c4ad8a515f5ee66d01f08d9f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258212db1295474e11d627f22ba59e30c51a7bcb7ba72ecd2cb3dfbdf0bbc9101ae13d136f7b5e44aed4e05d7f1881af00dc125e1b67650898f48eda744d2375354322882508b3a162e4583ca60bac38bc7f8019f795acb906020d5be894d2a141175
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258213e4d7af96c6c76bc0a380cc23613e09756bc50fe246d8ffc7bf30269e966661c6f1d5e00c0e5f418166b7d1da74c95eef577519217177f3778f3e5f8463f7cab7e8132c8fab4fb6403a3824c722079eab0c271a762e3c71a61d32ef70339ab13
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac25821a83bf5bc250e292a5e3611fccb57d3783e5608f58bd76ee231682dd7e6f99e86239ea03bcfa1b6b9fefca2ed06bf865a6b262f38153298f16d3c7753f6c44eda323f479a1c1a93b7b83ee9aae550ff8e4ce7789503b559217e79de57d8ea6bc2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac25821284e7298b3a3e6ca9477808a4f0246edeccdc9d71a2ea9548d66be0099acff8349e8ccab19279586fb7e19b90c3055243753ca6a09db2fee2a40b3198c18c264c7e761e386f1c7ef341c3c7f32b4c3fd8426fa78141e1b686b650f32b8e78e46
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac25821c6e2e4b626114ece6eb5b71f98a2b642749f4b7a243802463e366a1a1e2cb258fb6a7aa806ad5cbe7029315aff98b1004322b0562e7ab077c22473c7bb45ce111da3c3994af8e98208c6dc3ad3681ed8e639d75c4cb9ca76d9bd81bc04462118
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac25821311bd2abb580087555c533a220ea2286b082b60d082dd6423a2d733229330df364fad2e88a9909af8a85212d4d750a1a398389877cdd9ff20966acbbecde655c021083b7e8ae905d3314782b1d623be551aa88256b69a5d8c918ee4d345dabb4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449090cefb5ae05905a2203683a10699c54293c8194f6e7c74c19c74f6e6c6254901c9c70fb0f43d4c4ea931c3dae3174e538ed22ba9ae33819be296d9136e556d73242a66dce9bc33beb83345096f877917a08ce6e1abcf1516
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b4490d5eddfb7cd820df40c9d149e79e042b4848482939baee628a0c6a9399ae1766db3093246aca5acd2cfbe4bc7edd7385628246030b586ab3b59fcf6fb6bb5e518bc6ba9c4d36b941ff8f4addb61d0af96f48b19849340b77e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b4490e15595c727508ec1b5bc949b97988d9981633dee1259f997fd1e438391e56d7c71f493e00bee895d6786d2cae5320a1c57f9305dec2a1951a827fd8256e486749e35134d542d15798bd1a0c346639f150da16af06923320f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b44907381da9156f2a5e81c5559fb5cbe6a0556506feaf3e8226e2b0c786b87df5aa6659cac3af97abfdf60a32795a22e0c3123ce9ce075ca65cdbcdad9d452a91a4bfdf47df98c13e0df9e4d8516cef1cc3ee500927fa2479130
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b4490dd3605a3b2cf2447ceb986afbcc27cf922636808f4757637b9153ff2930476ebd254617278b931c997e99cbd05735c4e418d1e19cdf0128da663a96441bfe477c0a0fd47ff9d2d533f69c56eb34f71826a07ece7e9b79673
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449007e6c54ed16e426441b73f52e35db27d45befd32d8baa1b3ed17819e3bc10b3dbf076fcf2eda16da06856efbd04a8f235d84e4a0352b15dfae3815c6d425f6321f82e2b1dda1b3da1a56d77f5f00aa6ba2d9189d7e205d88
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b4490577eaf61f80abfb032810ca89b31849d01e8d5c4a90445d9308aeb16a6fbe6026171e7bce3fb70fc7d334786743f5ea1f8c22d87b077fafd86df270cdc290c38bc23b48b08376b67fa3e3cee063a8fddbaa17fb3e4c99cc5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b4490a75ea7c1bd6c975d2d69a01f15c7df8505ac54c781aa0a72269c4f3380329087e635762d9fcfebc3ae5951a8d6395e9196634cb720631bd6eafce29775eb04518e52693a54045d4ae84892d0ce4bbb2c7137bfa2642fbc39
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea6c22b8275e72411093341069019346728ee47a767e5f845eecb6c5d9c84887df59aaeb9f2769bd879a1930746c130a149ada0e9e9ef2015ff2833ec51ed257d64b79736114c2eb925026bf5ebbd7d5fd1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea62c3c5a4b7302ce427c8e193a44d5225544f11aa972334fcbd529858bb78e84c2a7d8b2fe050c85a5211bda67de335c72a8f25e87bfa7ce689175d5cd34668235c197be3837c010e24819c97d636580f5
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea650f62febf1a91763eef02715e4ab4475a0122cc49d53d41f7cc89b7c3418fbb661ced3d90b7790ed3d55de685d7be9d6e0208cf7d112da862848865b789c087ec4b7946744658708a4eb2192af1ccd00
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea64681a85614d73ea2b8e8ab173e256c651a7787757debb8aedd0282920f721c3775fd7c52bfb8224e8739198392f1fc47f8c410659fbb4b83af758e5159d998a06298fe3b11d1260b21ede318e43fb4c4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea6a2cfac2fe34071d3342383a515b5d0701e7d131740d8bdf113fbdb63135aaa04fc0561fd4dde1a6b0625ba97e9bed21a4f0023b2c9e1dc132d68a4bd07287c068a96492f0200025e72325e87893fbf51
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea68afc2a8f6e900f29d64abc3e85d4401238dd54fd6fd9b85f608225581971f67cce8011bba8cf502be7edb7953f6f50a1c425e7ded23c6a33507876bfac5f1c9b34574858c29d015d4d3cf33c66227218
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea67ba27f3d9d3cc93dfdcf6a49b6cf620eecfcdd73ad64eeaad79d87b544127b33a8cbf8144385342af5e576d082d813cbf326918702c435b40389926d5b2a00c28446c7d84cfeda9054add5c9264c8e84
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea665720fd89730f83f183eae6a9dceecfc4df2c2136e0b92534a03e60ff8619d192bd28f6d413294c2d33eee2edc23220e6d5437c4cd33d59d95421e749de9d55f80d752c8e9a57c736c60e581c5c635df
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d543bf3c951258f45db2c27d20c91cb473e2aaec6d96081ef0efbcc88c172ce62d4e4226be9e391d1e43147f97b3988dbf310a866cf987c480041f0d6064e39911e93288559a6804b263
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d543eeed529518623e86597472ed021271df9c17074e1972a08520fc406801d611c336fcf9c3dd8343cb2472e833d4f63d8cb491d12775030bbd5e48bee657bfa71d4127179c7cb4bd41
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d543264363a8501e64720f713a68973c3a6b4f5ad7aca4fc1e68732cd455b877b2c210a5cb4834b09f621bca95c0d5262b86c863d428ae7ec7163105341da7ea46170cf820e49f4b2d8a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54382cce779ca151e875ba2784cf77f6a8fc57209b6ec10c50108acbe9e3933598fe4b8fc081da2cf4d181899b03ccb820b162aec9bb14b7f08f1ddd36549cc4c5a5fa3d5e5d492edbd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d543173c02369ea4f0d5957399f6ae75ef51e0b1529ff44455d623ad6f576313d90ee4fdb09a75c2876e894530df4899e7437392aa8fce7f61ee6d48e3642e05b873dd7a28bbd75b40a6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d5433297b4b03d1eb43cbaf6731adddcbfcfd13316b0f8b549cc0d12f34e7dc76e9f7b52a712e4af595494febfad6a05caa3ec7675050333e0903c10832b0440ca87cadebc5b3e0c870c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d543c59ecae6da2cb4c8377fb3317150d1fcd4272ba1c0ab18f8823c0996eb2dc4b866e09b2ba16e25c5729ce8899be96db79c5493a558abc0c0f5e082bb9941d528e866ebf85d2e0910
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d543ac4cf75b6a2cad95546500419ce5ecdac32e9ea018a91da9761ba62e21d05a3f3c91550b174c46258215680c5972fe01915bcd5e4392ecf4cd4e2b6da332e97ace3148a6f31e9ff7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326e6df3b4cb51a357f5d0156c53e98ee47d671cf3604ef51c58f6a851da696538b92e7d5f89f6fa3ca2e3821b12baff600f974fc82b0793da302ccd9ee66d9e008a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326eae0a9201f5bf1136f93014691f2382dfb9f9a3a80dbfdd753cbbd8a9d83c80f7766802ab92c3645a8c9ab0ed939391ddf26ffbf79b7a53be07a04c1ba348b3ba
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ea44b7df90d77d0e3ff9d78a52d4e5583a5b4e2b9de7367ba01d19f37aa92f212ea5e1009b86f691dd1bf5f0dc19b2fcc52d607b23c9b4b30b24eca8c4cea876f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ecf81b465424580e8e0bd1071a5767e9eb3646a6d4dca991d9d7b3f5b03335c42547150a36dd837dd702b04732c937ecffe38f649a06d39d9474e176bf38cfd94
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326e384b029c9654c354df3765c17897f967c89ac04d6e2c38d97cb17b53bec246a85b4dab5ef55a76d8fcda41448d6c10c06870fc2bb3d33e1604fb14530591da07
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ed3e5ef51543f6b294539dbdd606681a1c852b8ce8b4cd5d8c5fd9195d4908aa6e0c7a6e616732db82da59d978b4a57e5d054be3dc387b0a6dc4088b90f24c054
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec602d663ee9e8aff9223c9db8e1c40137be249fcbb8234b4d677b067d96fdd06eb0e1f6e2d3d92ad13a73c81e3ad0e90d357c65fa6fc3c21079e9852a3758f64
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326e01d3837d0f730b1c0c42b8016b59d0fed28e6ed0708578a640fc82e14f10ab7b77b1cfc6c265a09b537d90d8136a477156133dc19c894d2cf9134f1bc4d590f8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d162662b9b3a8d78beb384118d82ff21d58cc60e6f86ad5df105da660fa1633aab0c08263ee8e37b2486aa58851553a334640cfac4261b804
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380df142e7ca82700e264d320d7daf18732e6c5b349bd00bb1b7c4f1dbf63630bd753fd325aa13da4d49e36cc9f480e4bf04634ebd44fb86d167
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d3ac6c541bcae335643b52ddd37835e85c5cd6f8eed4479bfbfa671dbd3d0f71a14f14bda0686119bc755d22249648555051defa90b92adb1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380dba0266219f165e6b99e7551bd77fe61f99f50c922d74e1825a86d933f53d17e32a2ca79e0374aef4ff6c6d87647ad60e79ed92b4130cebde
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d7b1b4fe99f68d41771f6c66e446ac862a7e480e171082da235669e0a55a61fb5d286be0fbf3119405c944523ef285a23035a5a1b917701ac
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d7623642d365a936d5633eb610b2bd380258e22100a6bb81d052e6f87311a8269adc69577bea75bb1338258e650dc84a71d53a4ef9dd32427
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d2479ab0c4fb8b471f991af0b7f24b47e4b8e940ba0192eeedf727c7e945440ef80309445ed1f296e3960057826fe8449c9338a9881fd3273
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d5b9bf230258b100bb4bd4b5396667b48dd78351a5d68eae702ca0e537e312d05e50274b0f9fd62a5895beafb640e02b74b0256f8a224f2e1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec95e19fe0b0d9cf7bb01edd1be3e6de073bf3deaa88306964980b8a3f1281c0587b04cc23945a64762b1f5c80789f0319
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec6bfac34e0c5d9260170f4e13f590bd601b21bedf100077ba961705dc3c262eb7cc250293b10296533cf40b048f2445bf
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaecf24439519566b1d638f098ebe2678a4ab790d320e2db81d32003189dc30f32fd16a0452eae1d53ae16c95d2b0751f9c7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec4b0b8460367002bb76f96e274dee483137b94bca75a502e907dbd157be83d4e08187957202bdadbc61b05add097ff7e2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec95c1201466ce5f38861fe4ae91654c64113299e5f28519d5d5be3abb8e17c6391c4504a383a9f0db1fa7d84e58b60420
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec7ef7cf360c36e19d46399eb5902bb229699c347f2abbb665fbdb5b934d365a2d5d20173e9e90586744a13f621fa757fa
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec3b09ec54628643fc79feb7bfce4b6d173660093c57ca41e81bdd9ea0cfe8fa124ed978fff079aa1e2eed8e81c390095a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaecb33c57dcbec05c6a736d1110e2dfa4cff1e4c2fa03a36830eb18ba3df2b30ef171d97b4b9de2a5885b885c77e3b7aef1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80eb5508198216fd92c43235f4cad7c13f8a36910a2d6febd266736ce281a8e45811e0a146e4049752ce
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80eb6f450ab8312eb8760c7a9065352f76fcdfde3179b9c910ceb3268ecdb8cfcefec051461655eaa44e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80eb02c2b34b4b2d1937e4c636d56685cd6b1528e9c6e18fdae0113295f951720ea6c2a2b331c4dfe47a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebd733b40ebdb80d2b677f24e1c7b69d32bf5694f3393b7751b2cea3b7f4be3a23a1d7544986fae69b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebb04838ef92740b948e437aa676b81fbae1dfe7f70de89ac2201423da66a8d27f6f505ccf33a2b64a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80eb142643243e4cfe8e4829ab2fc21b220971b119fa1d9d84f93296bbb8f1b8d63a57843633449c2489
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80eb6ffa4ecd0c57723be2f778610487c6011210ed8dff9e150a3de9063455522ded1bf4aeb41e934ff9
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80eb410c74d7bbacd64eab7ea80e0e05bf6246312e8ca8972bd06c2246e867f6bcba607fb87f6595518b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c331817ad4896d27fd3286f13fe98bca8135c4113f1a78830670aae230f168db8c7
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c3350a19bde96ef8abe04bde669b15d93f6b3d4f4b2bd9f207994730cfe8e6b760c
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33150d0270de3785a2d951f33ededcdff6c90a7ed6da859721cc3bb70aef7564c2
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33bd7a036afb6ef1c488836ec0be31f5adf5eb77d2828c934aaf1fefbb2e2a4922
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c3353dbc0ad8db25de134d524430b87be1916900b3ff614aecce7a809c417cc3f68
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c3346580b6219c7bbf3003e2e4db19429b8ff5ef8aa04151851ab09ad5919df2de1
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c333c8bfd3bc03747a4c8770b1eb0b96f109b6b43f204367f06cdae9deb43355df4
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c331d6bda922c761a5360c7302ec8d00b79d1e21e424a613c7153784e19258dc0bc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b94ebb274a38f544900f5b80f2abcd6702007fcde93e72d6b3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b92a02b2f58ba6adf4d22c11ef5391903edf50805bedb4da8a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b919ec5599860c481241015fd89507627612fd1b4960f8ff6f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b947689d0653fb6027b10d6c367695fca9467ddcd1d36ac892
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b992d190c41224b90625ef20b8f6a0adf7627d2ee1d4daefcc
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b90c483b841fa4af83d5e6a7baa6e3a5f72b0dc8c8f341c64a
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b946b27939d99a81cc5960ba7fc2393496e5cbaf93bef1f98e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b95ea851e6e11886b4fb1f4e38ab242d4dd793e68eb50edc1e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3bfd6eec0771f41ef830da2fdc2745532
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3393167b9b8c93d652eaf4b3184f60de8
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a398964dd8fdf58002c58dd016b3077d97
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3f0feac37cab74ce971f51f6c8a5395c3
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3196626981d984c469e58cd9dbdf56a3b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3957920cf4d13c355712f125c6ad083fa
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3959d977604d10778701d4a60aa8f289e
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a315be925bc0428f560559d670314fc393
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab18f3626a30d004593f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab18cba1bd4b124fa18f
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab180fda9a52989fea5b
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab186e5f2f2e46b77507
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab18cfce474c2e3b5cd6
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab18b1397fb75da1dddd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab1842c05e5a24f3a6dd
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: eef6209c94b929218349114d6ef8d5c1fb3f7107
-KEY: efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c748
-AD: 1df3f4183aa23fd8d7
-CT: 66bbceb66b6010154b427f3a425cb4002071d7237093a9f29612e09cf241bcf9dbba5b5ef26c5f468763ee11
-TAG: 997c66a777945bb051934aa50dc6b8e3e58cd0b6ecb92f3176eafb897922a48034338511c537e5fb5dc02e5f3c2926e3f62b16a0f496d76d169fd5c2faf3925842d2f164d8e8c2d576a44d2e63b651c1a7be8759cef481ca11a2c4048527c475a77e5d3fb56c6320007b24c784f03bd089f25db6d6b6259e353ed66cd93d7bbb5796cb890ad88fa6a74e8740e13337206910ecd1908939173997673f57dfe83baeb37f38715e7fe18be32833e8a464222ac258211a3044b2605b449098ff46177c989ea695184d189ba3d54379e5a3a2c92c326ec6c2b0cd67b1380d26afed782905eaec805ff1f340de80ebf919d04657440c33fd034626e8a417b9b97d8bd0557791a3e8547c39955dab18f60a618ab7fa9498
-TAG_LEN: 20
-NO_SEAL: 01
-FAILS: 01
-
-# DIGEST: 095a8f557f75cba8e2452ddf97c053904b48827f
-KEY: 18cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1
-NONCE: 
-IN: 
-AD: 936a91d0b5d2c02672
-CT: 
-TAG: 77e3ff59f948dbcb8582c2cde43b466a54a956898f56a752
-TAG_LEN: 20
-
-# DIGEST: 4a7464217ea94d95668d31736693ae851eb0e39a
-KEY: 171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6
-NONCE: 
-IN: 936a91d0b5
-AD: d2c0267218cb7090c6
-CT: 267abdc1b9
-TAG: 83e49bc0b906878f32d6a4c8181e7d5acf3fc58f1d717a09fc1797
-TAG_LEN: 20
-
-# DIGEST: f1efd4c11318f4558eb4a50d5a5b9b1e540f6dfc
-KEY: b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c30
-NONCE: 
-IN: 936a91d0b5d2c0267218
-AD: cb7090c6171386d641
-CT: 7a4dbf7807b4be968093
-TAG: c640ebf8cb38dbdbe56024a1c22f7ed023120f598ace
-TAG_LEN: 20
-
-# DIGEST: 995341bee01fb91132d1af8394401144a35bd965
-KEY: e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c617
-AD: 1386d641b87797b684
-CT: e70f93c6900d96a1d47c719eeac751
-TAG: e2ff383cd9915d9901dff460051565eee5e79b932fc47bbcad
-TAG_LEN: 20
-
-# DIGEST: 73dc06657c34ffcc71e6662ec0a52aa7168c22e0
-KEY: 3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d7
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b8
-AD: 7797b684e0fb56f97c
-CT: 52632646daba40c88bec2d3958bc5f46141bdc1e
-TAG: a788b81efc7a608a68c1e272babbccc02f31dba07a8431f0e258d07a
-TAG_LEN: 20
-
-# DIGEST: 6a5e3024f92e29f8f3e294f87fb25572c0390dd1
-KEY: 2993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0
-AD: fb56f97c3961d8afa2
-CT: 526fa1466e35d3bca354a7e290042a327c239a79264bc55598
-TAG: 44ddffd30a03e7d7bfb58784c46a96857cd240641ebe96
-TAG_LEN: 20
-
-# DIGEST: 6f192a6acc2fed00007506adeb1dd454e2e92809
-KEY: b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c39
-AD: 61d8afa22993a340b9
-CT: bcefa25e0ab10cbf1e6a779c6be6ae031668ab15a3295e2eb8bfbc09947c
-TAG: 0e1ec05ea2f648341a914b69041eada343af7725b0226c786ab9
-TAG_LEN: 20
-
-# DIGEST: 7faa4d4ec92841e45297553097f2ac2ca53d2592
-KEY: 1df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa229
-AD: 93a340b9b3c589c748
-CT: c70b3ebf0546758b8eff783142ac8e22cf95dce71ee949ff70e95c67df68e29fe15c70
-TAG: d89e7545b4f24d70c888cfabd3ec45c4675d52e3f9
-TAG_LEN: 20
-
-# DIGEST: d6cf3a4fe57328e885cb10cc7088e0562c7f91b3
-KEY: a23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3
-AD: c589c7481df3f4183a
-CT: 2f558e9d61062e01c873fed6c11b6fbe2be751b6f90d3852f812f3efcd04e5265df631931aa5c74e
-TAG: 0974bf8ff66d57040b4a0475ff373a8b63ed3c5cf313a955
-TAG_LEN: 20
-
-# DIGEST: a2ba1bff3a6dc3ffa8c405fb8f69c41ce7c1a1f5
-KEY: d88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be9937
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481d
-AD: f3f4183aa23fd8d7ef
-CT: 2ca3253fe692823d686d9f30ca78a6d1fca204b6b71a47395f2bc6966067f9f540ba84cb5504198e821a7e5ce3
-TAG: e70e44f9ee1f9aa197e66b8c40b802241a157057df14d4de1bfd72
-TAG_LEN: 20
-
-# DIGEST: e2825275a794df011a9dd0c6061de3a9eb2efd48
-KEY: 8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa2
-AD: 3fd8d7efd88503f78b
-CT: f0f4fe175b2a51041ed5c73c0b05893b0b9e5cfdd1cec279be6d57c27e74afbac5c7f933b3f7648cc6969365dd5010ae5b63
-TAG: c9405d64505b78ea53c24d2a9a5ab120f9a62ba2914a
-TAG_LEN: 20
-
-# DIGEST: ab656533e45e90a45a508392ce59ab9bbcac27c2
-KEY: 2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd8
-AD: 8503f78b8ed1c8e9ba
-CT: d068faefabad8e9a5cfdcad7e24295d6a3ceb8006903957d4207b3d49fb8dc3ffa11989daabeb45fa1c03218b668cfb78020ac6f8f5081
-TAG: 316944b3744fbd3895a9044c385aa4186a3a0176fc7b9fc69b
-TAG_LEN: 20
-
-# DIGEST: 0614460f6ee128d42ae79b1dda518a0f0e4d0d16
-KEY: 0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8e
-AD: d1c8e9ba2fd6773e0d
-CT: 99be2113bf150035f4be2993996f0b09ecdbe310529e7ee7be8d1906b38e9b16a653a738651f12b25d54917443a35dabcefd04f32313a0a3e10f201d
-TAG: 25bbead7f2ff6db2974a3317ab352f92e19b15b1b6a106c4f9cec9dc
-TAG_LEN: 20
-
-# DIGEST: 629525ee366d420f18c6a88fa3a8cfecaa1331f9
-KEY: e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2f
-AD: d6773e0d0c302a5f47
-CT: 3296137ede477266ed6a9442f4eafd4fc62d7ec7d0e99f0fc7787c016ae84a4f967011b7837ad6c1f0bc9dd51b529e9926192a1c603c2ed39e689a5a11573c3f27
-TAG: 7b0c80862cb82d0d4902a4288b5b25c83b6c2e5936d86c
-TAG_LEN: 20
-
-# DIGEST: 79b26abc71e1670444167ecf48e093d505678371
-KEY: 91d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a729
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c
-AD: 302a5f47e037446f58
-CT: 719d9de3bc86d08510354817d0fb94340ab1ddeefdb95a1cf460f7c9b185837b5320dd862b4c319619a0b18dc75f1762cf7c9bed63713c31e39a6f7069563441b93ba76b8510
-TAG: b686c3489a698021bb9df11cf8b9b07ad4f4c4ce06e8e73ea4a6
-TAG_LEN: 20
-
-# DIGEST: 6cd5a6f762364b9814deb6e1cfba1eae5b0f31d3
-KEY: ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e0
-AD: 37446f5891d77df660
-CT: eeb6afcfd2626da1230067ed9938f7df35e99d2ba1c91d0e91c3db53034a3dd2ce3352b06e3d1b9e8415ef4ced9b2257eb05bc86db8204a8bd943bde51423a09459fecd528faccb6e333fd
-TAG: de2269b91988386e0e448212b3c6db2a58931011a7
-TAG_LEN: 20
-
-# DIGEST: 2d3f449046b625672e740920da76e6cb0b297236
-KEY: be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891
-AD: d77df660ed82933f62
-CT: 894d8fc70288c7b8a5d12e63ed6e6e8c74b8d9837720762ccc519a42e024ee05e8f770180e5213a7c7ceac56cab05834d49847aa1432fcfad8286e092feddd421b33212e41716b3d337aadb5c5619443
-TAG: 95478852cd8802361679fc257b650eadf4181b2cb5f5c27a
-TAG_LEN: 20
-
-# DIGEST: f321845e9752dd4bbc414648274459099c9e5574
-KEY: 6965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed
-AD: 82933f62be8dc55b43
-CT: 8b397fb4fa218359120058dbd145f4bd99def7e5e0a88249783128801b3828909ea19d9f5fb0f3e15ebd624fc32525796ccf9ec01b1da3acc6dec2a9306c57db4eeeeef4830575fd8166c13c23664d4d1bcfb7411f
-TAG: 088ceeedb637643c41693bab784c1269dbbed43bae55d4bdbb9208
-TAG_LEN: 20
-
-# DIGEST: da9868a42a40dc263e0a0fe4247ee859569d7f63
-KEY: 7e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2ea
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be
-AD: 8dc55b436965aabe47
-CT: f64f633af5421e2b8d343b52642ee5448527831821d39220eace1ee48eef879efe49679f13a9c7594f16511427d3b5eacc8ccdc597d72ad37f5ae1a9bda42cd690ded3eba9a6fe3bf1f36f480805351df8daf2d92fb90d18e068
-TAG: 17ccf276fddc28b1ae41c9022998aa5327c5fca1512b
-TAG_LEN: 20
-
-# DIGEST: a17d268f79216e57050079ed4a85ce137f83cf5e
-KEY: 99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae021
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b4369
-AD: 65aabe477e0cdd46be
-CT: 7c5e36678f3fc8465f7770d619712f4fdf45922b20db9aa521e721ca35a02446f1f06ce15971afecb695e3e780f4972821f9fa044564fd8675f1626c5b5f8a24da4493917526ad72b631acd16b13ec9aae03ee7b5034919290f246147e3f2d
-TAG: 82cb65ae99f2e458f17b44de16f6c49953d5db231677013acf
-TAG_LEN: 20
-
-# DIGEST: 44ba8d9c06c6788865a1dd76287a443eb0c22aa0
-KEY: 7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e
-AD: 0cdd46be99371eb8da
-CT: a6e967aa8bfe23d4237d593e6cb2e279174b57acd9037fd150cb3a00a5524256756602c8541f6eae44e2b97245f0f63894afc812ebbf87f77be763320d0effe9974df583519582f72b57845bf20bb2f82ad5dc59b7d695a424001d0b9a1194b92ef752cb
-TAG: 5415a925ad70a1eb7a0a73803ae02d78be28ee02fd1307f7e3653cff
-TAG_LEN: 20
-
-# DIGEST: 5b0d95d9ca1dc4d0ccd940d38881b8864757c9d2
-KEY: fd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99
-AD: 371eb8da7dac997dea
-CT: e21464474404e9d0d653d2e5214e332ee7691e12bed8f91627208c67da34033887369def4de497f2b7d39c0b0c9101bf25e7aa405a165ce0ad00f7bf311e19f6a45fdf5e13f6ea9b6007a5ebc584e0e68dba642f1d6427a6cf6f84147dfb3f3d924993202daf87dc85
-TAG: d4312094cd6558662a7300187d5ee7f5b9b73f83f60799
-TAG_LEN: 20
-
-# DIGEST: 310801f266e960f886f9a02cc9e8adaead89dd29
-KEY: de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f2
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7d
-AD: ac997deafd64b1fc65
-CT: 3de7bd95f32d7bd6e263993e48d69eb4cd90f2995e437f1112707f96ece932b1aa317ac0b4abf88a8a90581b9118ceddb576c74c960d5e734eb157b90abdc61b90d485314ffe145a5603bc661bd9a09f4dde518b762ab6de54187baed5f23d6d27f528f66d080a1b670a3094fe8c
-TAG: 2d880b1b1aa683612c900a85c7a5ccd62119e71906fff0c99dbf
-TAG_LEN: 20
-
-# DIGEST: f6998ed9b090ceb8422100ff91e5e2671a49d980
-KEY: 41a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d03
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd
-AD: 64b1fc65de39f4f035
-CT: 29cd7e2276dc4170c3f73666ab4e87527758ec7324c9956629128cc2291d73e1894eddbdc234f9fdc70cd31cb4d76438e9e0f9f43c1788fada093c829aae078fbfb287609ee81e2e3b6e607245228842e001345c1624c4e40ee09042c7074cec076e2efe2dc58932dee704728ce57dda95df20
-TAG: 61e0ad444be0abde69245406247c8907a87ec7c338
-TAG_LEN: 20
-
-# DIGEST: af2873f1a7fcd4930f1c8a554ff271c5ee9185ce
-KEY: a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de
-AD: 39f4f03541a11be112
-CT: 3e94752703e605b1e18ade7f560525381b41b75c871add14d3190286f19267b75f44135e3c1cac10fd59c29c136b9f105dc503721e831f10bba87ac8ed1844892e1b0e4895a778b7f1be7f5cb76a04358ee28471c1b55f28e571e297d6b6eeb4634fd3c7593dceb363211a890fb44f61538f3ec147d046e8
-TAG: fe91353da710a8099050407c3b74ab99e6e99b22d1e199bc
-TAG_LEN: 20
-
-# DIGEST: c4eaa1d6c4d2d5a8d2f4d96890bd0299f1d699d8
-KEY: 4ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541
-AD: a11be112a72933c7b5
-CT: d426f1f4e5e9f77c9ce41b9e3078d1138d28428a0c81cace18a5c10c83ec1d9e6ded56404f7cebab2aec5f8c0849246c28c08ecc495202ba4e640117be1489c0c4e8c9b1dfd014e801423c3142c567e06d41378b18741b0e1f73c1663297da3a2391cdae02640328d528b03d536b8ab97d019e8e68fdc599efada7deae
-TAG: 196898f350a645d5007c866199f399c4c79d2203efb4e3a3aa2f12
-TAG_LEN: 20
-
-# DIGEST: e9bb0964e1cb09fde5e8f852937c4d8e1605b714
-KEY: 905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a7
-AD: 2933c7b54ed4fad0be
-CT: cafdd119e14240dc6e9b6e88db8ebb69beac90e0e5c03c46481dae13c8ad8660ae620d1a5515a0f83022977f2786c4b0ca7a560942b542cd2fae1416ffaf74ed6cd0b61a1d3353fa684c6d098fa56c34f46da4ccbf17eb23644e1af99f35c0415812876e69cf584edeb5dbe23e8c5a912714d4c3dba0b153feaf1f12d62bd6d28425
-TAG: 8d60ef2e489eeb25553669ad5b6829f4ac9eccd1d04c
-TAG_LEN: 20
-
-# DIGEST: 659746de28fff60cf3bcaa07eb7a95c5b7d3200a
-KEY: 5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a74
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54e
-AD: d4fad0be905d41203f
-CT: 1fe9b98944ab7ed6bb3a0e6c82aed6ce9b2ee46fcf2862e1f2cd7bb241291e9653aaa1f0f69a2ad7bec55449569661de65674fa8324e0672c802bc026a07d339d69c88dfb679f78a9cda1a9de3e6d15f80cdbbd3d95d5d7b35275292a71b53b1b6051827477ea7258d1d87297ce0e9b378a61b626a8380c63fa736af14782ea7660e66c021a5df
-TAG: 77c2a10ed0ca7536afb8103ad562ffe515b9457189bc61defe
-TAG_LEN: 20
-
-# DIGEST: 170202dac332954785ff6f866f165ca62510d9bb
-KEY: b2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be90
-AD: 5d41203f5dce998f8f
-CT: 50da8d3c28a1a69a55150924d561482411c88a7451954d57b9bd78af3e0f155239369885cd00cf3109106087fe6ea20c1d021f5cdab1ac5d6c468b569981a2fe098670676d253e574af321c58aa4eb809f6aff4c07716f09b1a84e9bd06599ea76ae1ab6b879c0d77e026ec181f16d90584e5525f3d3369a573fc5926cf76be995dfb27233d4a2394c9bc869
-TAG: 5a6bcfb6efc3b16d404e3cb0cab88a6287dd52a4c847459c4025d3e9
-TAG_LEN: 20
-
-# DIGEST: 767d4f588b55b2593cfbdc46acc6064616f75c2a
-KEY: e02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b144476
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5d
-AD: ce998f8fb2eaad409a
-CT: 9ea48a66fd32adfc4c7cc31d28802b3867064404462752703d10e2041808e47851220b6fa877b72cce9cdfc9be819c034d4669995610f9796e0113fa548a6a9a359f9558950c5803e1c04a16fb6a1d130d550132617a5a9e7e19379e872286eb54984b5b306b51af0690762a7f073f13dd9c286866cc5d92c3877d0a31a547dbba0b101dc1602201a6e52332b53cc33417
-TAG: d25cf13f489636991abd14b6c01849c102ea8b1b7776ee
-TAG_LEN: 20
-
-# DIGEST: 27937a84ae455678a2f3c73b523d600135e6dcdf
-KEY: ae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2
-AD: eaad409ae02116417d
-CT: 6bcfafe6e33fa147c3e6316d8a3befc5f6ae131ecd5af45adf9d13783ea024b9eef6966ff04e08f2e48799e279f716aaba59dd58f6dde28920143b46f61704c0128c6ef8f2134af1228dc8725b0bc5f00faff23bdcc3813a599128f81114cb65826d2df9b39bcd1f084f28bd5a11b7ec247d5baafc419e6134000813ad29318006ccb066147e8f9187aa57465e01a83887bc453c9f16
-TAG: 23fa35462b05cf22c931e1965446421fa490781f5b71f148c9ef
-TAG_LEN: 20
-
-# DIGEST: b1c534558a6ecb0ea225369be47ddfe669190d41
-KEY: 9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae0
-AD: 2116417dae0cef457b
-CT: 27dd6b1d84e3046715115ac2c867b35f09925fc5887a1dea3eb5dfa35903adca50b8b941abb7e2001321ba832029520d854aec718598cac026210e6e28f3575d9aa513ee67b10b8e681c8e6b996f0d77bdd13b3903bea150dacf557c2bb5685be9309ee5a98aa902988eee5896ce7419a840e2309938a54ff2ac0a2c188bd2cca4b50fa70aa4adbf3277fd4d7cd7476b54ef77341feb00c6be7139
-TAG: 30deb0c0883493a56353ae1b6c74f18336495a515b
-TAG_LEN: 20
-
-# DIGEST: 774dbbcae39eaf44fc300eb00977f4e56e4dc0d6
-KEY: b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3a
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae
-AD: 0cef457b9e5e16dcc5
-CT: 040fcf5053d0377687fcd7efaacf8c2e5eb2b23086a0e5c3137a481f42277ee5126e9930b24f1f4c82e0f9c25b7a470c60c7964941f994a58c0c4e1024800d5cd8996122f6f614a45dd1a86b37007ff0e25fa8c6d74245ac4621e776c25051ef218bda7005dc355285106e93bf068a9baa5a6e81af29b7c8d629bb758b7502eacdfc40e73e24fdc95666dc9a1bbd912115c8048a1735148079fc445a0dd00a6f
-TAG: b77fb3fabf4a12eb75dfe8c2b8d65d87d9900ac22ae9e7f4
-TAG_LEN: 20
-
-# DIGEST: 5c6b13d8f7e9f764136921bf62cf406b9dcc8615
-KEY: 0d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b18
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e
-AD: 5e16dcc5b6f25607f0
-CT: a644db1ea4cea0d0543b6cd86171f30c46931322e0974b13f2fcf1e16846887aaeb6367f05f117e67aaf205c67e779e92c1f01608c23acc372e8de544381c3a04e71554fd5670d1cfeaea9b2b61f56b29f0df6e290cf6ec5e89463f1b6204b9744a32081d094bfca98c833121458958f89996a40f01f6412cda9651f2df92996b6084d470edb3aa8fa2d93b2bdc148b3019bee0239b91f21f4ce2041739f1e3093be844169
-TAG: 7d8fc597d56e592b402a0e215013db6984d8f941fbcbb15e8b802a
-TAG_LEN: 20
-
-# DIGEST: b72799f51e711da0ea2528a5125a994e33078898
-KEY: b09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6
-AD: f25607f00d033fb95f
-CT: 95b1aeb1f50b3500029170370c24f870c76105592077ea9a3c7eb1219caffa624079b76fb88c5725efb0a0a8f7040c84e4f305bb2edf0fcfa6dd6a44ac47a8a47144d6e58ebac08c72bf62f3d59abc02036a05cc51269b77b061eece24e98880292e3b022c436f227833cf2162537730be51da7f73ddb14ddb5a534fa66eb375c7bbae288f514377783fa4a9a68c0345756ff0294f3e185ceb53880bbdd85c845c4378be9ee8ccb967f1
-TAG: d530e7840e73bb0686b06fda51c92408f5a709a1ea8d
-TAG_LEN: 20
-
-# DIGEST: c2c932a2159da6861262e601fe835e4feb139fc6
-KEY: 172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d
-AD: 033fb95fb09e4d00d6
-CT: 4e656329b2a0bb6fe47dfaab34ab0126f640a9c07a3f4c8e444aec99944264b9057ab556dd6f943494b49a13bf8bfe7cff16ec560cf81f1b0124bb6d4c3adb2e52127f52dbbcff31123eb666cc742a0ca6e9bdf2f7222651f03ac35da01ff384a1b0982933f4ed0aee39d3695157add38320ab24282c809d17f1f434cebcf8347440ba3af410933363b286c8bea7b12a0ef09001c6553d7fa0097c8baff655caee36842f500a592d039ed12bcdefba
-TAG: 3486ca14565f9a6834f9355d04b7c302257edb88bbed3c133e
-TAG_LEN: 20
-
-# DIGEST: 25b40da26cc2da8afe980d0287004507d92a426d
-KEY: b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb0
-AD: 9e4d00d6172e780ab8
-CT: 296fee34a103ad45ca1179a70c1e24f943f9ede806c746d7561918f0bff681633d11ae80dc0fd2f3141d81039218b2d4e242c780faf345578461cd286e8f4f1117f59c9db8c00f92630650eb39a8e858c9f8df313a9bae6bdc1814468a0d8ca5d980e557d14b1df52533b18687d6c02fe0ab62053698912ba8c29797a42abf1fca282cba2ecf3f4fdf0e0b7fda983f88d2a120fcbb13dd423b550d63a3892b6c229db0a73a6a32ae0822f235fbfe07e97c2885f7
-TAG: eb99720569f93ac2bf96b55300ff9a6b9b356d116e4d6c89161361c8
-TAG_LEN: 20
-
-# DIGEST: 2b6449832e28e0f08469119a61c6119ecaf747be
-KEY: 7a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d617
-AD: 2e780ab8b700433a95
-CT: f078d80206e1263974df88b766bf358c46c1c30ddd6c96d99d72bc193d67cbcbebb7a4861c046c94827639e34282e8bffcbb08565fc1abab4c4d5a166d213dfd0ee7af94488ad70c7376ba71bd9c4c72a119d64e664b4965a005faeb93696ac2cfd168b1e99e82ebad066492622dce7803cedaad26a5fbd125ec8c1bc2120501d0931e8fe9fc53d01b2c29b47b951093388d69cdf35ffc386e851b1950394d7fb6a70e853df1b46dfcd793860bb09cbc37dde34b6f666610a3
-TAG: 91afe221231248c7de1a85407a62390b2ee4e25c0598a4
-TAG_LEN: 20
-
-# DIGEST: 4e2f1dae39e30675c6b32f427ca47ce502a02191
-KEY: 0f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b7
-AD: 00433a957a741c9eb8
-CT: fa6d75da1fc0f8576aea655b00d70b59033d7a062dd2192b1b77c370a35dd9416946aeebf5fc88a06c5d962ef085f06af56d38b282750d9cf565e9567adbc0c1620d6ebf0c0996563718b8c5a27d6c8bf58bc5f9d8a69cb8743324dcd1610c6d4770dd90efe96db7f8a6eba1a086306fd89f8368f414cd94d275e9c9ee14fe1756ee41145e26971cc17931a12d51bb5a6f5e3b7ec8906ce8a8658b8c7bad2818c6ae8aa550982b02e609551291e324fcac781960cf884b5c8dd6f30ebe6e
-TAG: 5645be2cbbffeaf26782ccdbbf53892c1523c606066b45d7a393
-TAG_LEN: 20
-
-# DIGEST: 4b779331c327101cda11bbea17702561aa8a410d
-KEY: 44769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a
-AD: 741c9eb80f2b021b14
-CT: d84660eb57038fbf6023f1ea46f29bfe463d722966ab02d8ac4847a7f41b1ec5716cec350fdd9fe908f01db56bc44d62f0d1599167a0a229e901bd0ea1bacff182fff5e78ca5074b974ae0d6654bd0b5acc930276a372f40bccef66bcbe516d7fbf7317d035bf6728c39b3d7451e84394abe84907d876d791fbdfb3df2edd21ba24c112e3df0abb562203d1a78c469f33cbf30a0daa03142efba5f617eba3a8e1de9f623b161fb6268dccaeff2f9ef210dfe4be82d205cf6929f819368c17f8f0c7f31
-TAG: de70b8dc7f5070942e1c42f3380849b27a3845f2bc
-TAG_LEN: 20
-
-# DIGEST: 708364fadfaaf52792bc2fe5bdaabcf986af7aa9
-KEY: cfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f
-AD: 2b021b1444769da00f
-CT: 5653b6672ede3a17eeaa6f075adb7f22610cea7f5f4a2fc38430de8466dbfd4871222c2a24c8817af13dc6b82ed44ded4a757455f642df83e5f9b593859ce7f4f11d81c60264dcf3c40d4f8c66286d480e2832f0e0dd8e885ebc77c0ea05797a434a1fb97ba30ad2924930f2c2ca204141c1b90c363d33c9eb003b120c4262e76120305fd29d3059eec4aad7a30b9d4df7517703669965bd21b3d182f575aeaf873d7d927bbd00015c4af7d884d69187d5f93dfcc417c4b16d6aa64c2c2adff7305928cf603bd45f
-TAG: aa524c608dd82f2c6b333cd0b23819e31399a50800b3df81
-TAG_LEN: 20
-
-# DIGEST: 335c241743268f08b03aa63abf9642360d22a112
-KEY: b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e7
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444
-AD: 769da00fcfab0f5f93
-CT: 10c64b9a78b8e4897d3f8a8b9f7eb88a24e9afb892eb730d830a860d4d6c8c5a1f10ccd7767021a18200a100794bce8382a4937bdf59d6344a4fda104365a89d748e2e7a0f4ca41256a4a1f0b1dc872a4c7941c104bce160ca17e34fa1d82c39f005f9e4777870d1272d27055019cf09e921a1d3d9a034e056ec4ac62bfcb80d8ca0418647aa8a72a3ebd02fa4d5b2aa9963a7fd0af2c9e7d2ed0c9773b79686cad03da4a7644fa76eeede1ba97122f2a5f3bbc10cabd205402f745c06489ba0a673be2b11d1843bcf1b96226d
-TAG: 653d3447b2ba2ca258907d24c57bbf2b66fca54bfe5b5bc184013d
-TAG_LEN: 20
-
-# DIGEST: ae61ce3c2b1475f8afdfb1be68addaaeb6489356
-KEY: 5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcf
-AD: ab0f5f93b511060c9c
-CT: fabc3275c597dd00bcff5ad86a707b1faa95af38785da98ef2976fcb8807e5ae9cef41f65b286727b60b6a8681cd7bb81be8577b35b745ddff5d9a44e5f4affe53c61d8c7d5ec24c9ccc5e3c057d840d08e8407e202ec39458d192fef397a3422e968e446b05be58a9ed71cdd1eceeaadf16d8a90ff397a22ddd20206ae11462044336fa30e109d1a3a483fe379fcc07536ab32f56a81e4be456c1d9f7e305b6ad5a90daa6cd2c15f8377f94d08852bc69d0370575606bce8f97ae372c4f33056d190668a143f0f2fb1079a7fcb0baa63b78
-TAG: 81842369ef569ca5168601acc8fd592e1ca3b9bcd4f5
-TAG_LEN: 20
-
-# DIGEST: dc6621d897775dba7bacf8b7f82bac003e984b00
-KEY: 1b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d29
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b5
-AD: 11060c9c5f3aacefe6
-CT: d8650a5806a479f00b0e903aee156d8cb9e01462aab7b1fb98bbce1d7bd6d197c58e94b952f7bfe87e020096cee18963705841fd42bf74a1bc250e280165c6719ab341dff9cf22fa51be884b97518377a6f9835687cfd4c126a2d4037bf7aa015179b5711a0d1375464f99aebbbb35f3b92b81066c8ab32b54c838bcb4a212918e5944717fe84d1304e1eb174eae04f5f66f28b2055cf722a0c87da46048f5aeab3a5a4c29a3dde34aedaf0fc93fa553325f0698be6d7c735b9a44c98f6ed01c3df161f9987108b4b9cda8bf132fd07f7e8af152d8cc0b
-TAG: 6bfae3193f64b9882cc8adddb00d99f17a12b62eaae695629d
-TAG_LEN: 20
-
-# DIGEST: d2e6d3eeb6b5565d9a407fb96c74b8b3be42e64e
-KEY: 3939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f
-AD: 3aacefe61b184ad246
-CT: b7edae6c7aad16192c3dbb2d9f0813ae81a3fb9f1703a58cc85a5ef9f20439bb6e6377adad49002e03829c2afa320e552d543581b05243b5769c5c5211690650a8f050fbdc29da9daf0b56d3546e0b12ff5c7921978ea212a4f715f81ad546d3cae297d550335131f4ec5dcce627955056dc2d5efe5d355ba5245d61de59923b3dc099bf4f5095686d4dd666e4f1d9c4ee6a29cae485730a9c69fb3f1033e72fe5cf18c6a2b74eb7c22b1706a13c2b054900773f23dba77cbdaa2a47730bded8a07f24edd0f78d68b58e8769b33fecfcf191c34c8a1d2bcc6db63d16
-TAG: 15f4a10fab0bf39200aa855ff0bc80a14859f67aa0ba3d51677ac8ff
-TAG_LEN: 20
-
-# DIGEST: 238d50a0695b1f255d5b3944c623876919f9cc6f
-KEY: e97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b
-AD: 184ad2463939ed518c
-CT: 80bf5c9e9d8e7091d9a7ee8b0cf12ade92e5983b86ea90c84447eb6aa494a5cd5c00fb07207978ac8ec7b8959b7126435cbf2f59f2ce319b99c53d507876a7e6761dcb90d64295fb8100e7b61005a39640e90c966f8b8f6aa5cadc4fc4b63fabc363e4c8d07789b1b476ac00c18d37538a7e17e71c355ee6c4a3805a8e8ade743832fd6603047effd0e80927bf28f2e0ccae11bd16e8b6b6d9c542de16804b0426f8fafe9ebabee2f80cbc595b7937429ed119016131b832d0651e979b6f74ec9334c3f0db85b8557da3398fc8aaab8593d972d2c235a6094cf172f0fb79ec71e5
-TAG: 4e605eeeea51eaf0ea7523bdc92368ffa0fd6595ce1245
-TAG_LEN: 20
-
-# DIGEST: 562090fcf982854158b6068786792d26d2af3cb4
-KEY: 3d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad24639
-AD: 39ed518ce97c3fdd29
-CT: f6096606ffdf8d3e00c5e0b71c1eee74e3ead824c59ba76102afdc193ca5aca324eba95b8130539b2ef96bf4fd90200b87536fb105ceabcab4bf28424c1b7cc3d1dbdb49c47001c4ec8e1d54ddd8d6058bd74e5d6ba24f9118fea10960dca00a46f7012ec588be50f9a8c7c68eacbe2f05b5eff0d17c626764d757379ea5d477ac2312117b37b4304581b8f5bed4d2242c31a4b99561113ea97b625d2141933c6f0f23a5278d09ed06f071811d130aebdd331f2f7e8fc21da7e2b4b92922db7a69fcb8d77c5abf212e150429d009d48190b37eb8b360a1d14fbe6cc9c94a7593d8fc0c8f739b
-TAG: d86c6c06894f5211bd514bcd6638a8edb54c0988b310d8a023a2
-TAG_LEN: 20
-
-# DIGEST: 0c2eff5f73e4ec6371200ea4e3ed600ca22116cf
-KEY: fdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e10
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce9
-AD: 7c3fdd293d72afc09f
-CT: 8507378795ae3d113afa4c9c129970347ae67382c1491971a4fae44783b3a6613f826e819998e494310b0c8fe66b6f8b71a397ae2f838880559837c0b6de1a405864b4b69e3d1c7d75e292df1a3c901fc34c446d4c33ce3b72c227aa5b3a7b6a3fd775040211fd94a5f8185fce0cf207442627970b648cf5edbb769eb9f7bbbfa5df0bf97ee89be3a5939241d9bd5175a470e6ff41a12c63c8f8dc016f54c639cddb0dd1b377241ad2fbe97cc155247d43bc8a91a60a5a4d856e0785fb74944bdd28ed0d24a11404571bc420c1f650992dfb9f47e0c4f82472392d76b91a8e20c2572cc06a1573729e1e74
-TAG: b143290d6a76a289c34f2a5c82aeb29505d43f19c2
-TAG_LEN: 20
-
-# DIGEST: 7e81f0c3bb2f9c2073120134be9d0b1d0521989a
-KEY: 249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e8
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d
-AD: 72afc09ffdd4f41963
-CT: 6cbadbdd1962e0a61e913c506a6c301e662657113766037c480606d596e3483e8b6afc3b0995f4a1609eddcf49302440eafd7161c2bdfbcbdc0b6e7d209e98aa2d06495ed6168aeefbc77eb69b2c54a4e7f8585ca48eef8aa416ecc40acc3c120d03760168cffd22cfb4ca56691e70e6dcadd18c401055d82c8828c6ede0c948e7a05b6bcd5348135c1ef0bc7b21c2ae65985270c6819ad6b3734ba871af242108acf1eca56e6f545bfc5b303c61995c7bb5761ef08875eac22068d1e2837ab29a7ae16cbe61eff1030124e87cf06c65624630eb32f5942f1728858a27ec52ac5015b1e54de02702ab9b536e337bda73
-TAG: 254de276499207f96bd58f954d41d4bbec7491ecec342d91
-TAG_LEN: 20
-
-# DIGEST: 28a454911a3ce17c0248d2f535f4073b6b092f6e
-KEY: 2e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffd
-AD: d4f41963249cd299b9
-CT: a24a966e15e5bfbb87d7bac8de0e7f27afbbb44b4b69e42a492556041f2b428a18cb87083b9fe23e15df7de3933561710785f192b2960ee505872efa24e19abb65838bcfecf2385f09d1f7e6e5499315768a1e080be35085613525ef484f0e6aa36ef91b92544f0419e51691ebbbaca34071e5a14fdc4c148f3219cea516b2c4afd6a2e331178cc68161482f2b04094ec83d36c0196450d925091782ce28349beb5b0c41013a265fdd3029c540c55163bec6f57ddc24ca2f368753a34955e54aa8e4a1ecd18111644c89933f8351987b28baf6cc40d003976622bb04f75f5f4dc3303898a6e8bbacdc178bb925a12e08eb2d97b780
-TAG: 9ef9a66114e0ffec0b5e14333b7fb4f8752995e720702a487ebc39
-TAG_LEN: 20
-
-# DIGEST: 179d0ff2661ea9bbc7a42df1b3368bd48c176a91
-KEY: c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a02
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f4196324
-AD: 9cd299b92e55ca24d8
-CT: 3314c0b14827911014523d510deee85d85d7de5d9741ae4dd739d9a28b2fdc05968c580ada74e19814b62fee6d0e79d868627f9a8c89b18f5f23935573809b42b6167146d0f25ff7a23a35a5af3f70678b3a4a00dfd05ddc529092a110dc6cbe1176fcd92c4dec24fd8e635b97633a5c6272db46aff9864b8aa215ad7bab2a8677a9580c27db71579d9f43e09846d9fc6fc21e6430d8ee1f5f274388a30633020d7a6af1e5aab27d8c3dbb5201bf2a5ce39a122e5935bd7c158ea9fc070d29b1201bc10f5e9459cc354de7d4695bbd5a3b3bbf6c5f8f52a45d2f8c5817759427f915ad3a8cfe3252ac5a65eb21adab60c47d37c478c39a7e312d
-TAG: 2ef9954f8961c085751c4a9df38c66b89dabfacdcc1c
-TAG_LEN: 20
-
-# DIGEST: 35f3568ac38767bbb0464106b32622a101523d0f
-KEY: c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e
-AD: 55ca24d8c078c49f78
-CT: f738159c0cf73f64f2e7e4cffac4a016275d7929d4077c1b2d92e637d4eb4f8c9c05bd4ea0f30ecd5482d142cdfeee688593c1c2eabf5520d2db8d788b6c3f79bb97c324d5517ca6ef8095e36e4459bae7bd4ad1cee0a46d08908966ad53f5a701fd372ce9e5c01a722dd0d620504780de685355c2cc8b2ca18cece0b00f371c83c05296e06302f1e5e221712a40c105e3977854d913996914a1ea173fb15cbca95db36f91e3b607f85e6ee197c757a5007cd98fc78ca5455e0f1ecbc221b9021981c176603ea3b7a93cedb820b3f0a865b96c7c48e2ae56e16a611ca99e47635efe56b251ee27fc98dfc8c1dc6d81fab1e429c655c84a118e1a071e9a0985
-TAG: 8605a145f6a11d586af8634baea1259f94bd7d6abf11d04136
-TAG_LEN: 20
-
-# DIGEST: 720ba4f4eaf71a85873c01a80fcbcea419d22ce5
-KEY: 025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a7
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c0
-AD: 78c49f78c7e713710a
-CT: 6d358b297ec762961ec90c8b272fd991daf819c86822251a191ed7e8bf5199596dc70e2d09d2903505eaeb1eb562ae47d6c65ffab673975ad88b45505f959c62bc2884653797a9f5e22fa709f5e2e8f26e393d1c58babd7f2d0374e164b8dc231557f4302b08b4b0c3f3d070043ed393a3c6825aeeb277f11873e0332bdf81410cde0adf4044a4b02193c8e3e45af4145d465c02c358c54190af19102730b00a45aeab88d4b756fbede6fdd4235b22dc385cf8fc382475abd8516beab06dd60e26769b622f5f6942af330547c425ccf1a69d8bad2ac539fc33f19f55edf4aab8be6d62c707f1f114fb5cd56525730750958653db884e442206c6a2f6160bc3d4c6f5663f
-TAG: ba67fec68e897e9e4789102706b7b9a012934624bec8ea108b169b83
-TAG_LEN: 20
-
-# DIGEST: e531dc2be28c8985a08dc53ed098457cca032116
-KEY: 1d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b38
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7
-AD: e713710a025cb8b9d7
-CT: b5b1097d7130a96d52036a2a10c765370af34a4190da745e09811211984b0aa194ab24933c33625d7bdb8e40c9bf5cbd887427e24851a8ba826296a41ea3456135f372a4132571596330cbca7523cd38401bf89f9560f0f504528ff5d82befd9695bd2c8a1c1669f78ac8ac5952fcb7aeed3f9d9196c7dc72eacd297c3c185bde0a86899e9c8a2fa5820e9293a665e725f8e4f7e2bbd41253ffeda0951c440f4d17c2584529be84bf2d072324151e54e1ab3a5b0a70cfa57d2932f96143fd69fcc357a915d42b60f19340ee467c63d095cfba77a11f4406d6d3dcb56131e2a9e1950135dcd34023efae1ff103122b0def2b85cbd0feb720fb93f598c50bafa23e983d11d4aab5e9961
-TAG: e8fbc83ea9c92de8fea6f7df016e3fae66fa9c87127e5a
-TAG_LEN: 20
-
-# DIGEST: 87828be40716e1acb0ce876660045cef3bbbda49
-KEY: e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a02
-AD: 5cb8b9d71d2989ab33
-CT: 5ee0b608631363abc207018c9e2689bc955793b0d9d372fb834c294a4c2f7f91865e7905080c994c98d1c58ef4285219048cc896c65aa5f980df10c5bacc1a13f22c925dd130018d166a0f47bcc44667ba4be67482c617843fc156983c1e2e76ba8ac70b68643a0f8102c51749a00a3344b38664eb53eaaa8b83e4c92f2c15d3c9cf399c2ec66d8ad7ddafff01a6cba81331733564dbc569cba8e9b76069f5b97dbc6dab71aa79c30635b21c0e7057b0ee9d44035486220269b6249a9c085ca3aa09085246a52a785c95067fcc3187460788d742162c75d99dee94f1222156e1ef02f6376ee0ae344ab88dcc518abe34846dd54b16ace38fca9908c977d7a797f4105656a20c4dd7cffea8f56e00
-TAG: 1786324d1434a52bee1e2d73762c749a945760a175aa1d175d81
-TAG_LEN: 20
-
-# DIGEST: c413683815bcbf3858fbb654590434d5b9f1eaae
-KEY: 3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d
-AD: 2989ab33e978c4451e
-CT: 1cb1ae3fd2e63eb6676beb8e595903e8d5ff1380ba16173f104225dc578a90498c7a5a6780d8492a35d253cc8f9428f4c2b278558c0467535a191fba740385e404e95d18dd0ac88789cae93a09d54f20f8e7460c4cd257707286a54154a783b651c55486a3d1b43a195f57ebc22668028015aa77eaa95cfa648ba95ae894d456536e40f9f523fbae30b77afac2d1abaf40cda26d2b5939b8cffc3b78b489a43760f6ad0a16aa33a0d70457ba2c00d73eb9e6443eefacb1661f495c1e9a929003e364b17ae06c2c1db6f9a1a61d4559e3e6232d4a06470334df16cd94aed2cb1aab2c6d6b45186b0b2f4770e4379cea1dc41c13260e603f15e9b43fc51af8f8539a08e3e0311dee44278198d5fa880f1a126687
-TAG: e663c53fd057ee38f2a98820ca30db3b06dac5b6f2
-TAG_LEN: 20
-
-# DIGEST: e55813b42aa337183d3c091b9f88f8e37832692a
-KEY: 2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e9
-AD: 78c4451e3be585a29a
-CT: 243bc4ecdce83a0a3968cb4c2fb1cdac8867edcd64ef8213eeff93ec9eccbb53c86578e6a024a1b2cdb0b111d0c24e3b3b8ba98dfe3331dc3558c5c130f09031f4f67a7c14fc2aeeb89e15bb5c681d8b22e12bfd287eca17661df24ec94dd802c4ae451c293a51097cd48da2550eec9aa27b48d4d0af9d20b3a185421985fd48b2d3fd50b3bbd0bc4a9ce3b04bbbb96c2593168f9d5e1bd31a66f3da8adcf6675e6f3d95c38c2739fe61f216e673cf2ca4c22bd0a4270baa7882872bffbd967d8bb1d0d2cb8942dec08acfcfcb3acb88334c3afb247313198df8d71d705b171c86c265cc64df6e1d9edef2b4ada2019097640ed223fd0ccf41972fd2f8c5071fc27e55d5dfa6e8cf44a44111886708126443be75c455916a
-TAG: 4123731d61a43e4df0da06aba22a45a3e6499a58d5a336d8
-TAG_LEN: 20
-
-# DIGEST: 013c5a98871203f5494bc2d6927d15ace1e719ea
-KEY: 1e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3b
-AD: e585a29a2af12feef7
-CT: 0082c3ae567977360d72182ecf79dc9b03c61ce425b10bc31e0e931125c53fc14c5a12f21c75c45581908c2c4f216fc8686477c3b86a8d4cfb870e0d9a5db491e9cc902709b5323f970605ee9f5b81bae1a8af76f3e4a92b025e386072296eaa6c03ca13c565dc628113a47405533854ae0c7f31ffa3e161c767bd6246825653f42f90b97751316920f1a97044cbc2ef40bae40fb7f3999a68e5975a457e7af13cbbf78800ffafb3f44192039f57eca106d654ab86dfd4ce802f8d09e293b56e5cd18cfef447ecece4c7b5b5ac86f79b1e88e523028617ee05da58a5cec297cef92288c1de6e1d4418150a7acca9fe78a54210d729253057c7152b393348695379f5495f1a5e34262814cfc2d405eafb059b45f5c7f2a5433992ef8a41
-TAG: 4ca86c483d0cc59a0a0d67185b871f26d0dd277465ce273d91b596
-TAG_LEN: 20
-
-# DIGEST: 7f9e8085dff06dec7a2250bcc60532aedf162762
-KEY: e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a4172
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2a
-AD: f12feef71e1063b0b4
-CT: f4464c006e0cf9a248c77494f127b46f859154fe1b64cc85a38e7d54df62d1dd7419c7e7338f362c3179a4fdad151a9ba2dbd2d450e4c356ec108288f250d586667b899b8bbbf788ba1471af766544bf4ce9ae17e3a045974966120eb2a99ff0ae5e9b3558ffc1977f7f950897ec69c0aca5a92ad3920c708b5a0528a32e74254dfb3f7279b66b7878f96aaef7ede01efffcf55f79e36f63269436916d0fedf969294889e0483bb232132663dbadc8d5d91ff4bdb91fac40cb2e129402dfeccdfbfcdb5e985e83617bb869e81e61ab62ed0ad5821b5be32dd0af0eb7971cd7bf235ff5349ffb62dd18c11914e951cace6e0597d4862386a960d8d69faa9497870d51fbdea193d91fc0ea679a803d5e8111798896fea7b305b8e8fe3f69c986ffd4e8
-TAG: d88843f754a619b5e741b663d54fd98ec05db397b339
-TAG_LEN: 20
-
-# DIGEST: 0254594a43b8c9b638cb456593750b3f8f9ada22
-KEY: 04bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e
-AD: 1063b0b4e6e8992003
-CT: 72b7c3199ffab4ac855778ba85b369bde732698528495800481af15b455c07c38ab9be576850c5aaaa80c5869714a06e45d4ffeec24abf56e73ed87c76080b0fbb6a12df21ce3a592eb8271392ac52a72d4f023af3960dcf3319c05694f93666637208c292e08a9faf63cfc5d516e404efbe48463e104b3535045859a8f46215b244533702b1290d98010c24a9b2879f221b5c2cc3ea0327197a37378fa1a1d868f6cea0cf2d71ff9ae0c62ca119761813e4cf834047c8690883490c3171e1ee49278decc5dbe6f8614fd2a6c908aa1387b7459c199f1f5a7b23e29490d56ca982d0c5f8100a893db4bc18de5ae9efcb6a28f21fef30b15150fe39b2c3e9e4800233f6aa950a8261f5cffdc380861502ba418532703df8d1a45fdba5cccf0a78adbef63b8ff45e
-TAG: 0e5bc9f57adfc67f784776b3e8619acfd3aacd31ec543e057c
-TAG_LEN: 20
-
-# DIGEST: 15059d32a3357610e64a48c19dec95d256455404
-KEY: 2a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6
-AD: e899200304bd350813
-CT: bfa1572da96f220292971d4db1d2da04d8d06af3cf424f3bd362822c00cf403f276a390d1aede75240d5c71ab97123351133f23fedf608651bf109d0cae3746cd6cfad0c7b3b0d97bd49e739a9a347f1c5e317c6d6b0f8f6d72eb725454693e4b720e05bcf27bad1c55e579c5f2b0f69c73728ce193cceda471150c94f8bf590f490303dbe50835dd4a491e9e62dc0dbc9e105450e40341a29a7ba2721792975fbee90db9ead07872f66c3d1508e8780efad680d5d9478752b3bd6cbd9317b0d77e83f04a5bf7bdedcb68ad02a29f2e471d4a5f80caa9709669745de77a890c556c6591daf429abd457b20c0422bc5847c551d7eceeebae04893654e21840e197ad9ca30170ae5a996b6e7627051afea55f61982a48459abe0b6db2a2738e0056a555bcb30fd6d47e31527c9
-TAG: 2e01d60eee3e17253552925f6f504fa9b4ecedd02274a5f854d39b57
-TAG_LEN: 20
-
-# DIGEST: df289e1d102b25ad07e98f430cdd24eef513f8d4
-KEY: c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a0
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304
-AD: bd3508132a027d1ff4
-CT: be652946fdcec9999bd86f46657f8085df52e650aed368f5eb5175f65519b6aad645e81a4acce3e0beb1fd310aff96aca84fccee0dd087e44135074f53883d34314205925ede081568ec0b2b670918857b27153e789ec45e612faeb31fc3ac9cde15bd1374659f76043ebbed999827ea9ca6a90ef654558fa6dfc15eec62d9163e33b62a2dd0aa7479235edd67e23a449e676e120a9b41ae8b28e93dc0dd9c6683a01773dfdc3760227ce2951b6159b7eb16a1143bd6c890966f2d37b726e35ed0dfb7f67872e1bb7929f781a71591615eca65bb22e9d3fa83d9de5ef0b122db03cdddd98d3ca1d0559c0a462fa06448a45cdbe9fa5030f931de153d1a9e635a7e513d40c0990ff650a2fae326fc07a3b31e02447725e44b86ee299cac88681ea571d74363cf049f1116f42bcd8f0914d7
-TAG: 2ecb474f6cf7daee58ae08dcfb8c6450b5e893e4fa3790
-TAG_LEN: 20
-
-# DIGEST: 3faf5b20ff66fd6583a2b62901c1ccd798c0e9eb
-KEY: 57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab6997
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a
-AD: 027d1ff4c047b3ef4f
-CT: b9ff84b48c521b729b3dd1394f27d0ddf738f56cbf720ab03d2f0875bc9a0530480f4e170b9ed73aa789748a6152d0d228b816e432720a40dbed8bfce957a3d671feaebab8e6a9831bdc602d0942bbb08bd9ff1f69fc2b561c4684375e8f804af86769a23c4456d7890ca0ba9752d948296dec4708ae87ccbcfeea0746dfcc37d68c82db8951bcc4e37a8145a87b57576afda822c8bdea68f69440e97119bd7b55d700f8d377c572cea6c94954158f83bb04caeffb98ca1d52b075a8d5e07a6ae5f6e84cf9f6589c3a0880c23ca9850950e688adf8372c973cf5e98e6ef5790e9ab7d75ca45bc9237e3058eb9bf35ce29487e87a722aeb0ebce675d5252ed8aab3c7f7cca0ff2376d54153e44dfcc81d63a7ac938d10c901c1b576782f888b12cb079debf677ca4ab61fcbb49004eecf97464d9a1cdb
-TAG: 404edf761330630ac90ec5de49b642d23b829c855cf3d5832156
-TAG_LEN: 20
-
-# DIGEST: 2a1f12db7c66ef374e510b2fee81431a4902fd8d
-KEY: 4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c0
-AD: 47b3ef4f57a74706de
-CT: 636bbf7e5001376e9e86c75671299369b40c2136e995d537c22dcf9d1ae384837f7ca1ff59da32b25aa6a25025669aa1de1aba1fab22ebbc2937f4d36f2e5adc0e91ff8111f2ad012dcae75b22b28ae554d25ff0327b6fb4b7b974834c5d5a354d8c5b33fb535e2be18081328f5d769c14ae82baee972ed4fc7e042bca4a1ab3c9ac423276f64a29d1e4b369b61bcbad64bce5107ba2cc207e6136ff4ef613d21638b80343a673979653381427989a484d6bfc0bac7fc178e423663d4b0ff9ffec818f59592d59bdebc0b34124a4402c014a84703cd4b273d384994790b2e584d952822a8b0aa8c05c7094b2fceb3463294edd70cd1ab20ecdacbe30c56af493753ef431d0d76d9adfde01c108dd329c397f8a92797b438a6924ba30300f7136659d19c5d4be248a7128bdd7156adb7376ad2bc60a0f6ac584abec
-TAG: 4f87689533563c8992a50d934e6cf5cd8e34796b01
-TAG_LEN: 20
-
-# DIGEST: 524f8d38ff527d6ba89c51265f6a55211a443a04
-KEY: f164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57
-AD: a74706de4b381c692e
-CT: a09408a321d5bb788f14ea077b9e8ef3136d6469fe9afa8f0f268149b64f4866c99131fc2d802141d01a481ae7d16685e71b85b7f45d39cf789514f2ffe46950ca49b1ac141a4d944668a646ea95ee03347af00aa0f5e8f130e8cf37d4d307c5a5c302d513f676c3fe3b4d2d90069232931b510230ad4debef036fd791b9867aa52ded3b6c42ecca747608526d448f3c63990181f9c982d755cf82a1f539d54f594baf52d4105f4892b207102815d48ce439b605d5ea53638ecd85be3078f36ca7e14db7435b70f81718c4a83dba356a23ac71667bc8e73dad35560849d164526f6c7792c61a349e15473007372a50fe2c3119075467f3c0e4978ccfbe9244f195020cdc3f3c76ae9387cc5483d0dceab475db90dcdf4b306d29af66c3ab64a6a1097488f1b1b2eeb26ff6084b091d2af0bc09dd598bde25aad9d91bcd8f1a02
-TAG: 65773a05519ef430cc0a0e6fbc05df92dde22b709df66736
-TAG_LEN: 20
-
-# DIGEST: b50c58268b989fac3ad8f6d25a401211ddc5cef4
-KEY: b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b
-AD: 381c692ef164101b89
-CT: 235986207bfb514729ae4cc42abd4947b4a5d16f9d6d48e6966a319f460e6f6df154989622aea2d8adfe16e9c59e17c3dd4b34440a5fe799303a496b23a998695e67ea0d68668a5a2d536c37bc2b3454de37aed00f9e6ab14ba6cb76b493441f21afd95cbb7121570e60cb98ce04cffe2ddec4e52188f0f64802c36fd0472c323978609dae080948cd1b22fa5befdbd4bdf49575e08e15e72a6bda1e0858939ff867ef82356f71ca56c8277323a2b5043263a6de48ed1cf176721672678eca4c6ed1026ecbecfb04bb087202eed21e1a194b64ed24a18ade61330fa1fe62c18f2f46aef6d930a62249b8598e541b3a0f22008252e45b70d9d675d8e2c784fa52194012223340276297b810fadcff80aeff2768f86a11ecefda0844c3e7c1524be2a3644cc3a9213956081a1d84e8fd61f517d89c60db955363bfe82c5a97560b1760a1d980
-TAG: 7e081c6b6ce1e5382494d9f0da029fc894bc75b27a625bc89b9e06
-TAG_LEN: 20
-
-# DIGEST: 7337152aba55f41574aac9d678dedcf895a1fd7c
-KEY: f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef1
-AD: 64101b89b476f72b27
-CT: 08bc1958297f8830991245cd79aea8bbb7e6c3b7cb498a357c1fa07648933a38fa34c95131c328cd218cd6f90a90ee505b47b9a6062a321f99052d691addaebdd2ecc3d607b80aa1201b1c0f66fde9a452b73c469317367cdd52c9b99ecf3d7b6e920eb47766610dc69604f8713028ff0a70ff772d1142e98b77f6bc0aa7ecbf2cadd0094520d7a3696a5c57fc2275f144dcbbb98b54b618acb1a921db1a5763aea1e9c79b7fe60283be06ff8d6690cb3bb3dcd786c75b97c3d06bc06bbab31b3aebc1fd682b4e046520096ed4570a3b70b8ce9c5e777513f7e8bc553ab0e7a7773f32b5b3ff365d848565f2418666c34517212bce58252f485ba6883a14e2d14470c617a53184aac89e93aa13e6b3d78f4097c655e46c6f203f34c9e27e02b2e1ed16b1e7f8fe900a980299a4509d534b104d22ee4170fe0ce2e5db4ee7fa27faf2f0da8abaed585d61
-TAG: 9776493bf5c6933c6af0dbf90b877f7e87569acaacf5
-TAG_LEN: 20
-
-# DIGEST: 6578de87f977f4cd4c5d6dd6f6f99daa338ceef4
-KEY: 67cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb105
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b4
-AD: 76f72b27f06f520c92
-CT: 374ba8b0ba565d2409eec5ab30cd2c679903b8403dfd1d9d8b1af9add406025fea1eb954312115345a6163f22ac70902b64ab3341d7922d72b40064cfae3931ad3b9abf69fe5c61c3eb5dc61110e30d0e72df60d1c03c46d1ed4f71d8719cd5704014c1f5630bd6701508aee600aefc3e84a324bcb7064ecf44856bfb2a4aa0bec92b791bf57aecf2ef2e7ad38ea74e7b5141d5141ec70925b93f9bde405eaca242ac7f1ce2089eb411d33fc20be18637e9bb3e2afcb5623a12535b7cb1eeb68def867128bf2b7aa3401bd7e1e101e7bedd9caf25a118e054de7564fffbfb23914c19fc3e57ba9515acb79120a730a1b104e062ee05bc611f7ac25add7c93c636e33f63d8fbb9337e04c1655dda60b0ba2664d72774bbe088abb64cda73b0ab246877b44f2b8c19f19d57cc7b8a474c5269bbfc46616549adb330568d49d7d229c465801ac0dfa9879e35dab9edf3b
-TAG: d1a94aa664d29a84c29e0e3cfff64cb471c6db07bbc5b5d0e0
-TAG_LEN: 20
-
-# DIGEST: 38dda49f961e8d18556e2f4cc30812a7e17d827a
-KEY: 41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a1
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f0
-AD: 6f520c9267cf71408a
-CT: b5308ab1dbab773b72c3d7aefadbf5910d53aca7a5b269590d3c27d319ca593742c46ee810ad8594bfdbffc6db2e2dd2193620b9bb9b3beaac52925bd9800425154ffbd57cc72fd4c45f00e2e927e8bda6ca7bfccdcf5e27fe7aeec60566a86fe3bb70a44e5a0e18d9e18abac92ade6d8e8c4210d5ddff7d63531b75b94c99564aeb176133ecb9d644a94d8e7dccc94834507e4b5140e614837bba3419ee89457b422382bae67751660b364373e5d9d2a506868cec3e8057bc247c1f89743bd9341ea711ba40ade6e0bfe5559967ccd1f4f978678a7495de82ae99b6916174633bbb63009fd807bfde74f71b2ede385101c7becbd601e36e1d8d687ffa508464e8c24a0b120f44950db1b977ce361400498320461716a2fa603afa567ff1168a57b69d7b62b2f5c2e71f1282553f0090f91dccaecd9ffcf92fda7cbdc2ac3caee6f7ad0db6afde81b960fa94d15695aa1ec0696f
-TAG: b161b7baf7deb502ffec2e8693380d6f3600f894b0b40ccac0d011d0
-TAG_LEN: 20
-
-# DIGEST: 9a4462e5c302d0657a599d31a78f3581e4b1684b
-KEY: 877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267
-AD: cf71408a41729bacb5
-CT: 7cfe483947fa6ddac1a38de10982a0c355e4de8fc734432b923e50475323f4085af3528575b2dc3672b57c6a1dfd0242e8a95e67c5d23f4fbe296b50fd13e9b13acdea7e87c53c055bb5332c9b5c49166841ea4ccdf922b808d471646b517e19385cde50fd38dc940d28a9e214a8a861d12a43bfea01e52cf0d092f7fa41796ce08435f7d86df75f82485945cff688083d16c4b814540bb74445cad44bfeb4cc0e07101155555d21942aa7ded8fa9fd217643706c15c064bed82219be62ed9b67db528f69e7404444a7a2c168beccbdbafe4e5f60fe2071ae50ab653524230cedaeb53bdba836f65a62f330ff3cec4d9a545d39ef731fca880d0000ec19d08228597b8eb27ddd5ee390fb03fc6768f7ad86fb2f53337f5ca94f19238c62cb6cec098dc7d5471e3d045e6bf3df535321c532f4d47169c6c5ff3942e88ac78d36b222c821d2444b8eaa7a296d624e141770e9de7adba010823a7
-TAG: babcb14fa4936478f17e1ae7a94474967e1421e1187315
-TAG_LEN: 20
-
-# DIGEST: c96066fba6ca75beaddcbf7b6bf1b43b2a7b6353
-KEY: fa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41
-AD: 729bacb5877e72cdfc
-CT: f3b53a2bdeb743753d727e5868f58f24435bf5d9a4268aa8c1a05b81f64ffe695ad11225885eb4147290932b7f64bd9feb08ac20f33aa33de06e6a362de8d255ff97b1ace17f96caac614a12f03929b7a6ef30faca7340f91391cbea911084fafa90844146817b5d57d98d231270ba9c4a26dd3db0023269f7d592eae74ac75fbf15c2602f938596f84b4cd685fd336b1d3e89f2a0bf9ff118af03cb625bd8848c8e02d9e0abf671c3c9a2d4b794d4b8c75b21561ef1ea388bbcac1543e3028e78aaf9f9dcef04bb05beace5a5a74dcad40ca9ef58ace62ed4a4690c0ac38ec5f283a7cdc713c93353a9195a300cdf5abc98e316186c0abb5ecc0475f3c136adef8a6aafca015efbb6e8f661d9282345b94c37d8bea811a908ac78dce8a4642372257829ff715e337f8c3e147babe590205f5c9c8d075e5e51de7d4a99f895ca1d768f9cecaf9e7cb468f4f143d20c3f5816b777230b05d90c34b1c2aba4
-TAG: f7e70bbb24a357255cb85634135fc5da614fd4dcb1553d59ef4e
-TAG_LEN: 20
-
-# DIGEST: 0cd3dccc73f4bbfcc3c62b4638bcca5a633a2b37
-KEY: 07a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d50
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb587
-AD: 7e72cdfcfa76aed067
-CT: b992198f130a502723f02c5b3dc8b5cf5f7c71f4056d4a44700e5d497c39b51dc9b8b552b3685084b46060078c7355c1900a136056374db001fbf8cbf37f24273aa3b9e45a26bb9622b8b455e82fbd84b6e3da451603c7948ba48b138520d48bbcee408b33a0e5a8b2c38554cb095221bc3fa2b74b956db02a68dd5c6e493c928b4f15895ed6a0c5ed4b9968ac320559a9b7d7c76a37125f37c6dbc3878fbaa82cc26ad255d62c06dc264f8ce151446e29f3e8c4d5a7f85387dcd84e4d06b48aeccac58f951366947c8f3a1791c8f7fdec5e82924574c44ee1ff75f54e9a4bde480ec81fbd205de1fa5d5432e66a350a8c086bcaebe5516b5b2460d8c3321cb0e1254bb0aca6303ab1114a1b97de44e890e3d4cb7aec2745f5b9826844949d925ccb30475f9fa6e0fd84506108879d586a410f02260bca9f472f3f8642cb53923d4b321195f09815a514099b53e40f68591ac6518732620eea108eebbbd6eea943209a
-TAG: f2e36f04934697cef2750dbe4075d1bd42b6a09490
-TAG_LEN: 20
-
-# DIGEST: 61f7a437ed58c4d0c66997aeed34757d4f36926f
-KEY: 699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa
-AD: 76aed06707a07c3dab
-CT: a61c69a5adc8d790c82a9f9767983df075f8b9f762dcbf9a009508378127f3f60a7f1cf84889ffd9c0c4c797d50dcc0f840a97aa2da9e2a682453a90750eff9f06b38c2bf4dc97827fba6ee494578ea7345dd306e5109b5d3274662d219d0158617089cf557c18c6f1581519c7401b0fe6f469c5536767baef2ef7892f05b21d3456934336efef306b54163f53f4b64fb8ea378cf5167143e7fcae4a9341ef0865fe20ea6cb9f7c8d22f434a7f9d4d34237edd8591c3f3aaf7377a0334216aa085a2d97e769ce404f04503a92b40b15ec2b44ace69783061d5e63c56a63a563ba8df8e2bf3163ee0aa34237b6a5eb3d2fca88abda82b5d6fe6e188732333183ff1dad6b34e9a5f7350e9023d138019c38d31640cb47ac1e90101ac0ae3954cd5194cee5ff0f702629526f6620b5ea754cbec01e6e126eba2855c12c5c92f782ea0243da8a6f311ebee99eeaf9001c59a7dcb1b3d26b94fb0ab22b74bcd79ac88b569dbf49257f49e
-TAG: 3c2f0b4558b508dd7d2941ae7f6aac753711df9673ea6e36
-TAG_LEN: 20
-
-# DIGEST: 9b062a7f63d081bc4fbb8cf13db57ffdb7d113bc
-KEY: 2eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707
-AD: a07c3dab699719fe88
-CT: 3cda4ce1026369ccc236631484c3a330eae6beab6e2117c8ab851a1e73800c1d0192af73e8cc19a61c6fd4716e07708d1a69d884a9c5b35b3a2834c82c3d687658ac59b15024415319a009ea285e0fc6ed65d87618d8249031ddce20b154cab11adf802398ddfa24e02c4807ff146cd77ee8c463931022b27c174a6f9d5e51d77b86ed991ab12f4af29e6b55aafd22a08c1db081f7538a35f14a166686d99abc3fe805e1520a67989494d9e214405cabb90e9e2e8ffaf1d3787017e4abb3b229904bc1ecfe9a102ec9ea1588bec36236806759bb088fadd74e16fb82f164801f272d6f77a32236657d0bbe4924ed0430fc81419e81172c29ee702ab40b83c24ab5593cd582df0a061a0b359878ba9a32011d471dc068430d66e8e61c0b3d6c7a07e48996e0d2ba08f9ca6606d140925e89e2b4b6073817d075ea89f940d7ace55d41d2570d399a2a812c8b5fbc526bdd66a7a325616f7bb572a29da88ddbe53ca4b338dc2c4a2fee777a72331b
-TAG: fa055edbca5127ad2d9d5fbf7162f1be5d9bd1bc0a8b5007fc6abf
-TAG_LEN: 20
-
-# DIGEST: ee4812a7dc3e037844fd9c35770734168c4ce2ce
-KEY: ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab69
-AD: 9719fe882eee2fee55
-CT: c58ee8259ec0e52f2af6f61b94240a0b7439ad87d2dcdd10c19236657d0018040f1e6267d5ed4780395bd76926bc77afc9c0c4cc0d4da0b93f5094a31c57dc27d81012e9bd1017d61b9d008138bd6e698ed473daf89bf47d62b91cf0060585375f6f2ba41ef614af99735136e2b6f86e54ca519c5b84db3bf9da5c7f3c2235952610a4b39e0dd812aded5dbbb0d0cf4b22670ca71f7908308ec94c392c66e24bef7eacabca88d7710c9ab6a5db128ef092f261fb6fb8182c1ecc176ac8dff76215913bb21dfc686ad7afff75274e5287bcab353cb4423fec64fbeb6ba30641e5dc83148164299e5e8c9ce0021862927a932ef04a9e7fac444a7cb67a230f85285a3f09f598abe9daf5a03bc6c357893fd8e0c8d6ae99896547014562017b17bf9888372b207b678287a70e859bd3ecc330b099fc69bb8f66287612e3ceae3c6578dc58bf14195aec1db18fabf1b21a75f2c2f03c40ce04b577784887054f8cb73ee9da8253864610c61f64446329e71d16bf
-TAG: 261f216694aff1265b773948a2f0faf7902323b6a8ad
-TAG_LEN: 20
-
-# DIGEST: 4209b9f203b29926176f7d54ae89ce7e903009cf
-KEY: 870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882e
-AD: ee2fee55ed8b11534c
-CT: c0bab3d8fe209c8c99bf5a38157b072fcddb2cd57cd49c5efd6c78755314e39f64cd0df5420fecba167c4a5bdca4c86221a067fb1dfc0b34b3c3b03feb0b4dbdc2df114f9e6b1e3cde5e7d7e549702f54b9df62103ffd8888bc2269e74ec33dc640aa685edd118c11bfc531dc179fdc46ee646c6f4983efca4a8a2b5a0e7932186671c24e66a5551620da232537134c94871b5211e4f3e1ae9f782648ac957f6b04042d266cbd04ae439f63816d8e5c72b34c4162422c527e8d531e22bacf36e00ca9f0a61770834fc62a9b5e4394d5625df991f3967c3cb3eea99e0f6ba68b916e95ae874bf32f5149113c9b281e6127b993885eded80076120818c73a98f48c7cd021e786a9df574aa6d5be508bf4f6daf65f2c8a2ad328cf32bb54e27a46dbbbb1004bf0ad28232358db4b47c8bc1d3e21916a5a2b2f72fa4aaafcee80a72078bf716f51c5251c7396e3c125838b86511cecff53a03a3fb427ceb5b010b36637929cf67054e00deb76ebeea22068535d2a6a0c730a7
-TAG: 569eefa4750137ca83e772e1bba4e3af347f36ab0c096d427b
-TAG_LEN: 20
-
-# DIGEST: ef5c6927cf43e0994fe5d8e87aeee052b6828289
-KEY: 14bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee585777
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed
-AD: 8b11534c870dc695b8
-CT: 79133fb4985b7734dbac71c64333b5ad2e69d065a3badaad9cedeffe07920d760f5604a396912a0a1a6d7e8a509d0c42cd212a049a5c448a34bc5aa294f7e3a0e0bb56e846e75a2db0c187c861d3a8ad17dd2404d343928bbd6d827f8cdad3767f70838a7d1e76d44df50a2b0a7f134f4819342815b02ba58e4a4594c431c79108e61d29154c35dba566d2de54a603be4b364a645ee4a1449615ede291abf33f880f25665609cfe320ae5014fc79846e7e7c443bc2f191fb5361ddb9cb67d46b03a9fdac83de8813a5752d28836c406eabbc88526101d17fb2b5f855693873be0063c5c7dee428af7b5485404e935f3d00f05f93398f3c8b7355871ca53546d4dfee58074ffe88850dc853e5a419544bbafe4c4cb7bcca3c64f64ff8a4c7310194a466db56e0103e1220deffa94a1066e12efebe95e9d714dd67326c7fdf13c037729a01a6f9592f80df903d491d1f74eea0d3d2d37f1fd62f48e3d66e1387f19dd483b3becc9eb59d28c7d94a7299b49be610aedcc0148d2b249d20
-TAG: 4f30fdf4c4db7ab528732fbbd5f620762d1e9ff909a0db0edfed2942
-TAG_LEN: 20
-
-# DIGEST: f239c330cddd57a5e88e777c848cd66e508bbac0
-KEY: b1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c87
-AD: 0dc695b814bdf1a87b
-CT: 1c3df688201b358f1575d78926242bbb1aa04c8493e4c2384c23278b235c613fae4a42a23790d370da77b45e968363f7b22112544fecec9cb95c26e3fce51a8ec38366be2efc3ff32232655a6b3dbc823e1a7c09bc1db2ecd0ff97662043254abf466451a0a888ae598aa119406051eb7303d0131956e14083607a54c6e3f76a1e8f7681372c05f0643959d54a3f90985ddca5329e83d8412096b33343382ce2b8913b2d6977e770ca6b3113af39f0fd10ce9a48c39681f79dc0904959ab1d18631195630981d6a34cf641f08dc0b17f614442c31574e2141596efc9a75a5c7ed2931b5b5af5fe5e1f15a2ca413a591feb1b9ba6e2b5c2bb3476ca664944b8723fcdfe24dc4dafa4504927c4ceeba3001df138b644fb544f46d8188d14e34e46fe76a27811bb0df1ec343ea31e89bac8741f817b48c286509f224e730b00eb534d71ffa6f126cdab4ee535fb0f09d22bc9bea407b1ca51fb4da6f510d311b99bc124cbfb78b158092493d51c1f2bf13d732623a498e6c9d2d49d64a4955ff2e502
-TAG: d79657c431e2f3e5f4e4b87ecf51fd7d2112a1575b187b
-TAG_LEN: 20
-
-# DIGEST: 7384b8e3650297f0e51d9a8f76de34eaa4bc9fcd
-KEY: a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814
-AD: bdf1a87bb1052c6755
-CT: d70a4956fd8baadad811a1b94b27da0a2dbfb88def2f26a2b908460241485e9da431c37eb8a75a3151de74e7ab684026c1a9684b2119d9315261abdce630f1ff5f6e61a5577fc606fa0f5db177e4701d81b615ad6cdcfb9f6df9eed85a42f583744b8ed645f4726a9bb6182ba2695dc1118a8a454255caa6fa8f098f3dfc21a925f2787f5dbbc53a3802271926b6ea734b41b8887a28b60ac24bade50995744fbb149ce0f49cc99a0f9d853b77bc820d9693833bb7b2632945822b0222f1d79e08aa3375f14c2f17ae66b0062b59bae357a58061ff2a3f7ace35503d7e59e627e2a18f6c5046e1a06259a52753ca23141a2bb191af7bcec4b735a63b911eb82cea9eb7e904e2157f1cf0c603a764f6db853cb2b15a548042749ddac410bd95839c43effee3b7bb954a46100e16175193ddb84ce065de0e66cf10ddf923a50e71311d6bc9d22c1264166a8eaf3fd41ccaceef444ddd384985fd3236060dbf79d60c57f0e268b8f1ae6eb54624164c34cd129da78cd6af50a8833f172a87409d4a10473b93e112
-TAG: c5fc9e938623348be9bd8c6169837a34984244276f59c8d57950
-TAG_LEN: 20
-
-# DIGEST: dab0914dde7a8845203fb78f9b0af41ce550adf8
-KEY: 095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1
-AD: 052c6755a7a116bfc9
-CT: b9cf4130b44e5dbceb363772edd47c563f124fa7b8cf25858f3de1587da1548e4f07e3e50c5019c0db8c599f02e1cac5a39c8b2376aa507de0a440f6f51f5898d963a273500660d90e011e2136a91f7c0f89005cfa8aab371aac5aa9b449f0b958aee68b0af202b252fca4cccedf5c2aea3d963324103a3cf2707d438e42cfa65aaf209bf9d7c15c0809b6c6c9ec08f30eef30a2093319c33caff1921c91cd88b3868a3369b4f1416cc78e5b54eadc96878536b4e6fa0dac43c02e0dbdd0db07840cf36e9d630c2803c86dd464e8ea0f1a18395d6eceffdc2191c64e25cc1a1e7d3dd0dc7a06589215abac5b00385f30cd3e74fa21e9ee9ce48c867fbbf37e880f20b8329fe2712785f92d19c66e3cb344c4326562bff91f2b5105f12924bc0ae4386f2648f30234bdf242611343360115d071ac1b568e8d368c2bd0b125f3ab28e432c601fe1e64281185929310d315072f53f16311644c35ebe8f6b2d0bce13d249b532fe60a716acc87cff2b144584d3725569730c1f51875a29b2c0b25aec3751e536d32a2376538c6
-TAG: 2afded702501b0750a49d5224ec3cff6d194ca3879
-TAG_LEN: 20
-
-# DIGEST: b139e0011fe2e768284091a4f838f86fea1e4a7a
-KEY: d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf78
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7
-AD: a116bfc9095da49db3
-CT: 8f652f044f5027cef5558a29f1efc954259e64dc61aaf414c9266f6dc26c6c91fa215fc2e118a5645f0232873e2eefba7785b6703bcd179d194d7e8bb0a8b882efaab0c7e6b5b7738bbddf560ea066655ad054ac13d7845f2d7d9bb8a3a9a0a496d07fd1500c4868cf6f24fdc046e5552b66e1fcc0500581016ae93046a279f6c515223e9acdbcaca910d133857d3056f44d02906debf5a5995dfb37bdbb44698b9ec42cbfb501ba50e8413584b35b28ec73dbc24e7baa66cd7e17132b78613a162c728f41ae77be3c215b93d389e761a7b696221383aad22cb7bc09683446f1a2063d112b1eeaeb95abd95756f2c9eccab74c74f292e02efecf09b9415dd509451ce8578cc240a8d4e7ca947806c1f81d14b45094e7f85875008a95809b4e630c74df104853829024101cbb65840a5372a7f8c09887fc8520af064803da79c013f20e7872a188aacab2fbf26143dc587e047b520b3744ece1051aaece1c5ba17846eb2cdcb9d4678d1ac45487da89b26e85dfb373cb9eb47cdf4f5be045aeefd7663318a34489fde6a13405ce6548bb
-TAG: 21c2b8378211669a61ac9f4fef81ea6001c975d03fa85713
-TAG_LEN: 20
-
-# DIGEST: b338ffac4bbf3a2e41fd1b3b6d9d224d4263b547
-KEY: 5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc909
-AD: 5da49db3d71f4b975c
-CT: 1b937f25477580dd855280f6434cfd4a1475dde36ca8fbd6af37d5bf1d39b55dbaa3b65e8ccdead85cd478eb61cc375b508d83c498d4ca5d561d371284400939758685d1940b53202ae6285210e52f946e1baf0983236b970367b70030bd9f29299b43a500d1900cfe3abc127cda8343e5afb36ca607c7f6a7d16ef63a5b3a90aa849d2e3f63ee64ac82fe4e975904b37c9d27b19eaa8ffd17a4069c283566a490ef1aa99877a410a2820091f327caa46c82b1745f313d70ea194b85fb29ee7305940821b11d47cc1603dfd7aafd62d33ec8477c0a72cd48fc458d481e77f052806c2c875b6bba0d4e70a18e708c443f173d44764a1deed251b15b4f2ced3527d814910e41dee7089dad1310e7e774de21fedd9083dc5ff6c90d00494263b60f9d84a47682ba35ba2d33c34bd7357fc8df02b966916d8b1d8f683b5b3afd4399d7083e37e923dba5a0abd893b0571ca2d1f363ad6f5c49db51d66b59dac95b54f8fa946b0b27fefba7b00fcdc31dd9bc6925be4d08916a4030ae98f05bd130d164e9025e319ed6a69c7b61908e91649ffea14c1cbf
-TAG: f390b187ba6c1ea81b0282a09ba18c11dc3a2534c76d75bbcc2e3a
-TAG_LEN: 20
-
-# DIGEST: c9dc1fbf134470bd3ac0d9855918516e5b8d8778
-KEY: 22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d7
-AD: 1f4b975c5d503f478b
-CT: d1a6cf55ef88054ed00d7a39fe04546601efb0e63d14aed811fc2bc6b60f9af84c84d65c17ceabd70d2fd3a185d1eb34e87be13face12949a7665254e599dc92534624dcf8aee009f41f2f6788adb929c6c410bdb25a69be633b9435d74d88026aa421377bdc367f46a9101d18d13a617893dd2f4910e538820208c074041744414685b1ec1252be32df9259fd71d7e16067425bea4e371d24644a4491e7c976df48dd1baaafd7215d285f622a9a5b0fef0bb54cdef19b085b09b1f7ee6bad2ec745b98fda92a72447a08f345920b92b85cb9c8783804e86f4cf3bdd7d8d0374838e4670fb58ed22787aaaae846fadb74862d556f65d0ef4e2488a249e7c01333c03b8f37412f1af1481e67b1051cf18ab98ab412727a68407c0babe308ab782a690230bd6f3d26087dbc6c8d92883be22959c18974fdd04d21abb205dadd669218e14b14c12b44bf399625c8c3e71038bee6b889506ea0204e68578fbaa2c2c04deefe296ddf42d403106c0a43c87345268bbcbdae39529850e9cf0b3cb56a01c46241f4c460af8c4a3d95937d46419375ec438af07cf81cae4
-TAG: d7b6a1b5e31456676f283538bbe2a22c9604bba67cdf
-TAG_LEN: 20
-
-# DIGEST: a551ad393bcdeb8c1bb1a4a70e367b069ec549c7
-KEY: e6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d
-AD: 503f478b22dc8253be
-CT: 37ac83517e61aeacd22a330f014d5e67554623f4f00aec72dc67ef9258f92fce2beddac3032e1d9f9cacb0d3d127894c7c8f60ab7a0b8be0fadba5765f2c61a74e89e7753e8c15d5e7f961907d78961d01b2942e5874aa0d760cc2e2a96b3362438116ae4b989a51d3cb6bbe24c10c2fdc1285cc68aa52bad29289420fd4bf8e33488272a9f37baf48c1545931cddd491d5db4b73e9eab72b6d6c9c8510782b89e4cc7b310173abc9b39ea4391890416a24a1d8b66b69707d0312315b1c028a026d507e94e3bd38d7808dda9b2d62624865b64c5c5c85484ebb0ffe434718e3a959761dc98fc5c66de380f05e51e6482ebb0682ef52f7439dc7c92f824e7fd18228c9a425eec702bbda519754e65ead7fda4ae74f9acc5fcf2e469b34c0d5b9cc318b3ed421129dc2e3565be1b2359da1950dae2f093c993eb1a8e52ba2594e5d3a2864f90cffc75f773ca7e36c8d9270d756b33d6c9a91652987f0b380a3ce1fe84336ee6d205fb990ae3e787601cd66df9c89683af5c4d4901689a08f16886c339fd824def4a6a8d4b62f62bbaf5275d02f66093d57a9b5c8d873b8a95bc
-TAG: e2335611af513caf30a93e98f7c2b3a88ffa6d59434827e54b
-TAG_LEN: 20
-
-# DIGEST: 45b1d26c62717ec46530a565c9e11c18206bab29
-KEY: 307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22
-AD: dc8253bee6fd1b174c
-CT: 4647f634034fffbc324a1398cf93e91c50a201477178a2f8a4b36151efda92a4927db04a6e0f988f6d45ed3b3f6ea30b4cdf3fe79aaa4b7bbe49e7f95c15baf766d4817b1d48ac2677b2fac1b769a6bfc612a61c427d7509e663be00f2dd0849f1766b963be59bd3022fc1d68976ed372d2f81da626d5970cb7427442d7d94c447dd6e65da2d670e5ebf9daf13af886622c9920bdb7a6b0f6cbc8ef71c237d727d3105d813ee7449671c50f5094f794b521b5ca2538f2ae915bd08a56a6b03d2d0b3e82c6c7b4bd692eac3f83777feb1891e470f1a7b00e07083c3c40638a8709ec0989f28b5cdc719d5ac28983f2d6f8395ab41eac4a7b6c6f17d43c9f83eee6ddcddf13af3fbebb7b53e2717a441849fc2aabc4144d07667a7f6a81412064df823654ff9ca771435551c38a2e73f9b1a092b710484b4f6fa549aa119d65dac90fb30e0f87a1ead1f069b80419809e1758a791826f1b27a64c09a4403bc235dc3e4b74111fd692bfb0cd866e56dc5fa2c361fb3b01157d5ce9ce4bc0a5c8201a69b458b8b5b963ff115933334f51c38ffeba8aac4a782aeaa8f4f0be9c739cb1622f37f
-TAG: 5ace749af984b5303602b73ab2005b886cae6d8d0efac96702e064c2
-TAG_LEN: 20
-
-# DIGEST: aa7cb8f1b995ca51405931f1d021ef30a5b0eb3d
-KEY: abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6
-AD: fd1b174c307f01be95
-CT: 0404983a958a093e52cb897cf82e2e570a2554e3aaf111fd5b126e2ecf4b27bd58f6c76f2e4a80bcd4d25044a1f5e011bc2e63f34d41714ca321335760fe45e2d3c454eee81bec506062bbe5f41684e1baf9e442647f13bdcf2f0b3b89f76495b32232542ce32e563a2acc6267cf7c08af52cdcbaf340460386de8df583e370379809ce754c95eaba1e06db323303dd159a1895641701bf5f93a761b43ffd80d81c72cc58007a8a4e2ed4a6b308c99258e7898bf7af3dba4f1b570f6d0ede6e20cc49e42ee048d80d6c826de7e128b5ebe1729d839d63d108892184b21dced7d048312bea646ca21f1eb769b5b1bb6a80792b76ba6fd26c7dcbb5c23b8ea56cb838a178e14b78f6d51289d8b9483aba410575b0878d3ed066d0a16cef8d40eb656c4e68135672053c32100864ffea4652d6ac10d5a98187101cd8b673aabdf5df60c610918a008437aa150e52476635a2dd4c217196814e4bb556ce204d1ccd9b108334a435d48de5ee6f49ed009d37b5361910b2dc8292d014597d7b3b34721576365e7343967b23549dcf289e3a4eb9e93325d3e78623c5800775dfa1976463c4ae73c5ff6644229
-TAG: 920f7a73de781c870e696a0ca83402a8002fc7c97f745c
-TAG_LEN: 20
-
-# DIGEST: bdbd450e5d302436cffcae83ca3a444c0253a85c
-KEY: 57772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f9823
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c30
-AD: 7f01be95abaa9bee58
-CT: 28b701a0faf2fbf9567df15795b626ef7d67eb1495d28df4847f628b1dafff2312c7fec7f753f77a88d5d1ba331b9b37dd52658d795a7a8bb66240ccc98973395b4b741457dfb89f18f7a406ab94dcdb9145620602333063bc505bf7a02b86f2254191cc8fc3ad3f17262539a071fc381e12c6a0d0ca0ef339d8bbadf8a5a6e9ad9cc5cfca547c509b163ab074d9832de01f5163dea589bb29217a0bdd520e81ba18534f479e2a83ff5d9ea1d8f6bb8caf92fef5137130ab2d6088a344560bcb887ed6b9f062248071ee2b251b05ab085935ce863e9cad2f30343677b00da0325a02fa97181bc77bac9cfd245817ae6f23eaba98d6de31e2cbc621301d21c6c48de6a7a63197195df0f70182aba9ecafc857cf64c28373ed4767b6cf53f39df66e66d382d89b4d3e647d194396bfd4cb7322623287554545108f9262e08b827abd2c0a4962d08a13254e200bade516d9ffd31ffa5468acf36c03b2fd84aacf9a8f4253fb452d1409d7aad41d52294f4d9f36b3bccd8e7c497c6a42f5511ccc176374e7268ff37404e941ee4388042a9c3049694e06f14c688ea9221e203c11fe168c6267ce5e1a5f83826ca71e75
-TAG: 1820d992a7cefa53fc37eda9c6092f63ce45991bc7d4ab0eb258
-TAG_LEN: 20
-
-# DIGEST: af3f40d07667dc7e32a1fa664c6f5503c3e2c8f1
-KEY: a4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95ab
-AD: aa9bee5857772305da
-CT: 2ff85611ef32c679e79e8a9b98ce51c6cc7a8c0bfadc2724e96fee4a24decd0302578976fee5f941081734db490f900eb9823746b6490d429f9bf31ccc5f13377f6cb0c141f895e8e2b1cbe61a42de1ce4cdbe1bf3c4fde31edd8413474f6e50b8f0d983cfa05b58020af3095db841d05fb33959cf745e9ed90ce2626f7dcf238d910030ed78744eaddafc4f1b394721efe3f3880e2b288dabf1e21e37d38eae308a5c2290a9742f77ca4d0c143292b96a8470c82c84949ab5428ae8b35cc544ddf6f674dec140f1c4dd3b046278500fc63df066112120ba103068dccb9f451d7241fb38bda51b5284fa208426ef63f38faeefbbf74b950e6a417b03ba16b48069f7cfb522df48f2d39bc105f75081f5373e77054d69170f2391238594b7c9920223de55b4f25c33aa8207e85cf6f3d33acf4a10078afe905fb0d67222a42e109e3998b6de33f25abb52cbba6d544d63365fa05fdad5dd38bb7c727ef03fb0f43f57374df1ed64fdcc033354dd9fbae444748afb173ae44ae0a046bb5283db4e79a9ded7717d963ea237eedacfd9589080e4d55ec53c32271988f12be580dacba67bd3926ce4d16dd28e1d5d6881a0beb95f43
-TAG: abb76516d8c0808b4db1bec37d7af70637cb64f474
-TAG_LEN: 20
-
-# DIGEST: c6830aca35b85932f7c5df33907ca59bcc489a85
-KEY: 05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f31
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857
-AD: 772305daa4b550d75f
-CT: b5ebb7bb1179c4972ac79a1a8de3e57605a5e4c5c7e999777718e99744e8a529d7527b86a9b224378494ddec09d5caa06ba1d202b70d9d53319decfd8365f21b5829354fb9b06d57f8e9508521b057e96c82d21cdaad9b0af78317213e397f679fe344696efa61e30e904fd6014489c9b129e8b1e6c1a705b139830e6a55e638b39da886d2dca168ba760203ebbdd4477dcaa67f0d69d903bacf135b61c77e128e1ebc93b1c225a58f42d8e0b762e9a342cfe070f01c2727ca0089f0cde69c75c36ab90847cc634a2d9a8a241e491a3128a1d5f4ce4c3ea5af7eb85fb8d23f1100c1b9068714ea1a54f4bac67a362744e04a87c5e8d3d752aaab778cf98b164a7d7045790d833755d4b29819786b8f8ae06218357ee70889adbad358aab0e6aba1913b6e55e6b3fa578557b5f7d86554e4215e21da28800263ae04e9a3b2066e3cb0b42b1aa16a63fb81a92f24f59ff5fcc7677cb93c2a46ea22541169f598a31ca696c96a5acf5a703c00419a3d6e644a6f4ac6141754986fcf9010abd375c3fea8f107196a5b666b42486e5736f35eea345c0e6d8244782245f9a70f26c07ca3b34bec07079ebeda416a7c9c9cc2f786eda3b2bed14d11
-TAG: e15ac25889880be09a636f07c6c1d882314bfd42cf8371bc
-TAG_LEN: 20
-
-# DIGEST: ccbdb85e0a5bae6416136d8d64ef0fc8ef3bd52c
-KEY: fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4
-AD: b550d75f05d8089850
-CT: 8c2bddb47fa7091e81be5d74877d87184980523eb4d64bdf472da0cf0d32ed1053785e39b2a80810986a47f3c25ec4937aa21180f4e74ed36282e1a416b6d427318afd3f35509fdd9298917cce03073b4f3575d8ce0db9a851db44ea3e6aa0e1131553345cf51fed918e443b3ba4dd0847dd78306b31818723d8e20dc2d6fc42ab86110d0cd83dbed91e1f298bc0f5e05d63fc482e18d7963e3c6307b82cc3631a8dd7035e8bff22206f3c83a38457b27acf4749a4bf084933111d4b49b73a96d3da4753e01daf1c1a1104fffaea23cc04543a301714f57aacd26e1b744f90163eb7d0538d11485406c7278b174c6b6673f5a3883ef8cea4c757b64852a36eb95b11a2749fffd88b180af280595f6dee9fb88fad85f17a8936858d4d725267c82f74832d1342c575b582e8ad1181c9f6b793fb472e0bb3efcedf7bf7cebf02b511403a29b7c4c876a7ae361a662e3ac8b0ee680e283e2952b6195f1251804bcf48dc2521507ac5c7605ee3057096daeb1d420295b2db80739f7ca0ad6d29d81874c8642e4fc9879de2c5f575d08ad81f0f83959919061d9431bcc7ceecc1eb4907437b4849a02b13fd487e01fb3a3d79c0a3c7129964b148213f881385
-TAG: 4b2a66dd81cbde577ddb6434e1ed8455470001527a4183858116e6
-TAG_LEN: 20
-
-# DIGEST: 9bc71f6083d602ea43a5be27534283d8953578aa
-KEY: bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799e
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05
-AD: d8089850fea3711265
-CT: dc09bcd3238a4d70331bc666ca9b6d4de7d07baacbae73287b256cf26ac45eed45438d30003f7a19af46c493a1cb33b92e0e76dac7a70fae1a93379c529bc2771e2048769632854ad5a9e1b0fbec30c95de2a3b9ab8cfe406cbb2f9fcf80327c290758719c3f7d417c61097e770573bc09349c4b8cc87f35dff18a8838063a5a5e937b1e050021ffa5fa1437a85f4031c890b9ad41b4b8b1baf07035610624ed8397cda94e87b525860608544a91a27e0aaf49e5118677e8195bf02d33ed8ae550285383e271aeb435a735af6ff4aa051dd7b45c7feea79e5ed291a94ef39bef3885458e1a6111829742c6e1fd27300c402896730b65b59231d661e8507f490fc6fcd6a62592f33b9c963f95b50c7a98b6e9ae9b44f08176472ef817eee8c593d31cd625968d3ead3cd8b916985a3ae0facffffd05ed87bdc3fec7fe110d61534a179eb6a610c9bab65cc23f9abb02ea2cbd4852733f8689c96e454b458b3a5ad188c35141902dcacc600dc5daee602c9afea317865061eddb03fd3ac3a9aab26d27b54352844950aca7c6d38cd2782a43b8e879a269b5db48f60a4c9f57fa1631ff81f465577bf6a7b7edbae75968bdfd3fe1ce2c50604e15a2044cb7992fad89a3
-TAG: 7e5b46c0a8a87eb399fb9fadc9e313e9073707b9e9a1
-TAG_LEN: 20
-
-# DIGEST: c39bd34f093d3b18f254e8a94d2afd8f70eb4d75
-KEY: 0bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fe
-AD: a3711265bf78261046
-CT: c4cc994ae03c798c47b7bfcd7a96f64d50adab27beda58940bea9bc1ecc0900061651f1aa7f19000ecd5e36ec4da3c66f6748841bf841e0d777b3cf4963bd938e813fb23ba5fba744e6f63d10ed7a76c08e3d2f5c14735443e8df8341406977ff22ff82654ea441235235c900fe04eb6e3dfff65c3d17bd725e41677d7fc8b13098a7e90b4a4597dc1031078a27d02b9f74480a738d7d056cb0607fbd1f1cc9bc90fbc32d18df8ddd29fecd71ddfd9ccb56c96e99c679811dcba63958880825e7b5397d77e3b0f3edc6ebabc2ba0876cb1f200f2a5070a61dad3ada6f85735a6b277ff1112bf7ae1043981856d4eae0de28426f4a625a7780ec1ae237d130950ae8861639a2c89433bdbaabe8d055a8d6380205743d1489c98484743273c1ff9c469917577d013fc9293902667b01e9c69aef3e5320011fe28bed4b2b90ac3fad38da7fe513aa0fa8be56ed672867adadd74dbbd78e6a408c125607a8260ada650b61b788ab739c1395e4c13fd6675fd6218b1b35f21476f56ce0673fc943b58a5eec32d94b7019fa1aabccaebbcb5814607aac96a58c242888969d2c2cf80858c2a6a86eb120eff1f7d42d904565ffed8d7a2e1822018c398dcd5c7ff75170e6d974360f7b689
-TAG: a6abca99cabf4baafb8c1f74a9622d423b0ff9eefbb25c1f34
-TAG_LEN: 20
-
-# DIGEST: 630e1d99053b3cb7dc8c5c78dcb39fa7b0b53e74
-KEY: 2e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e93
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf
-AD: 782610460bfd24ba02
-CT: 6f8d2c39efeb7eda5b5e5c63969165c0c39cfa9d00528931f7108f26a59f2c2ec3582014b225e82ebd176e140446e73495bdd90871ccf5ad416c28aa95cd3399d433ae099ab0f945d3c4d1578cc3bb84c63a93233915680aa2477e7801e9333972a4fc61bfd51006c4b10423e7535529ba236c1304aa2b3f0a3b02e7fe26089b9bd32a213b71a888eb83edf074d497145f4da9fecefcd80c87e0e400e5360df5bb73047a34a67f594e3994361960a9fc89030e4f5dfb37a9294da54e7e1f31edc38eb5d31cc7450b1a39bd8ce60ee651181bd42ac28894e5069d861bd62cd18a0d380d24f0a1b786e0306ab59c6ebd3148cfd1e9e45161e49984563c1917376f9131a02452ed792d1a68ed1b34fb51f051a29e559b8728f1ecc0e5d68de2d92fd5fe20c4d4840544e91dff2850549ae844d49f333f735ca89c5bf111fbdadae996413b532bcf743074a09f2f7b70fb9d463236d61338f034a9f185c09a11cadc34212bdec5fd16f5294302cb464d9b365b5c7ef9534023d9b9a69856c861e672deae4c77b1a2226a6e4269636cd25772cfe1ffb915a88f6cdcb79819934eb65621d8a6b60ff03606301481c05d703fba6e5aeee78ac6ff5567097d4e367dd30c2b24ff71927c1ad7606db719
-TAG: d9f4ab4e5080a5e066138ad334451538343e81a214ceb3be27e737cd
-TAG_LEN: 20
-
-# DIGEST: 083d60536c78fbe909d2b35cd5b891be34f2a60a
-KEY: c27f4372480974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a694
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460b
-AD: fd24ba022e6da12dd4
-CT: e56c98e73ac4038310322a56de7b3700a3a81a6adf92c8e5e339b1486a72ccfa4324f710ce5583b940bcab1bd364b30cb42a47ce8df7f188f3c6b26b9b3babfc314d80ee43f368a7a1abb4c1b0fee2a133ee269bc1cc8ef59640f8a01781dd6ffe5f0d39256e42505b9cebfcb3287096561c4b6a3803c6ff8957397c24ec8f51191538506f8d73ddc741c2533853624b3d06efff61ef3d738430dea182981e5134037466fe5048e2c3b3c1871516cfccc08863061badfdf3cddb56810004b2f3d801c69b935c11595b142200dac0a26a09cab2abebc21a37811cdb09d0da0c82218e3dea77bd92f4ca22c4bf6aa0b81a6d0ef48d34f0e6e9e548a96868cf2fc993c0fca590cc6f805703a7b7499b8ccbf0d1eaca2625fea63523bf38ae3af6466719f0a0ef3f2d2c058a8ac0b9be5d045da44c16faa55c8ee9a49ee33107a8b46b37bc154256d2ca67e208a47809204956e52515183f44d6fa827de73bfc29918536d7f922f5c0ba442bc80071548cad3a9b63cd8b6761f6be828cf2a46c779abc0e1aed0ec8a89c94a4cea1a92de49827c0ee561230d2773f0740230e8b54f97fa347d6a0baf299a4ff218a4ebb9fa31af690e5f64dbad4ab4f3ee4bbb12037baa262fcabc475713e305010665b8608d8
-TAG: 1618cfbe0d055693ea4aae1b43166595464c779e974c8a
-TAG_LEN: 20
-
-# DIGEST: ba36e689ce5c9e3dbeba5ed1cb00b265c7b30d79
-KEY: 0974454879c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d72227
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e
-AD: 6da12dd4c27f437248
-CT: 634b20cec2ef572ed3b8cb2f4e71caa311ac4ccf21b980479d5fb936012c2077bc92f0ff04631796e7cf504e38638787f10d03a5c17f2cf07b71379ab7bca0e51c31e7bd78e22b66fb7006328db1cfcf7c39822d9ab88d2fa2c3ae4a22ac611c6703fa5dfbdb4f3432d8d195e000f7adc2763fe861b3e0df2f21fdc58d4e7e80c476138f47d7bbd83606914dc43f0182f3d707c37befe92e78faf34f9f9fa116b9a176f18ff772837e8c3e25d46ede452fefd626c53aabfac9d0c8adc45190920a0df316f4229227831a30a660ab19815a10c02b5be0d09390f686aee296b0a0814f3b8f4eb1acd3a1bc92e6f1b5ca5742c0ba9b6e964ef6785fdfd632053370c6afe5a8239755b491e5aa268f26537136aa183f8904f8127590ec1ec841fe27ca5a791fcfa18118d0d15fadd3aeb0765a2c07a4a14bcd2aa3c08b2a601fcaf76e6fa748a9797c75a18a898c8e42a4793c237197c4db829568d5ed096c2bb2dfa0af999f336da6e286f3626201abbc8decb693d725d6f15c919b5c29491d99805c20cb996c0a4c08c1520f51b5405d853dfe60da206c46f02602cbf53b2feefb6386f8a0ed446b2db6649386a39bd179fb78ee99954adc094f0ada882506c5bd35b9aa0ef67b6db8a459d04d3c4718a33d856ee73204
-TAG: 8c6a9f11bbdc9d9a5e7adaa5baa55b8cd3364d66bb073ad12586
-TAG_LEN: 20
-
-# DIGEST: 2f9b29467c1e54888b4d4db41fe3a943887e305e
-KEY: c41de9ac9f98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a82526
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c2
-AD: 7f4372480974454879
-CT: d9c24e38cce64bc0c3c42dfed478d1399c8661f63bd459cf420ef22ed06970bd44bf09cda84b1d920ff51d5a2e9a968e66ae8aa9a10d7b5e0b4483bac02644cdf255362fd9b806dbf1c25212cf1283bfef7e15e3cc29a5ff98edcf16747067aa928e360cca30b4bbb57b48e8259f9160d3d6ffe44f4a9579f02ece6d5f7ee3ad45a36292bc7eee581b5b4cc038ebb19cda4f339d34fe51b2d59459d54d42d840108fc1d7c271b8d9e7e342507c8117f54b79e723a408a0e6a387ed5933a61cc8665814e5eb8ddadde020c7e6d77bcda15e7a332c07f903aa207181715b2e7e60e522727f12343e7db9cc5eab156342d49c0fd05e02981b2852b61dd311afdf696535839b86b2eb6776b7b117d249a2adc1a4a4260f3e42a0b7cff6f17a3465087f0870bd5c678662e5fd509aa2a53cd49a99ad18d7f35b9d68307cd2a6a146c1dfee5428ea3fe0b0ae02ecbf5819576d0094ae0e80773c4ebf7a27d6a74a703ba98c4681a648dd20a7ef8540432db9a3b186d3cefebdcf4557ca70087fe4412f9a14f84ad3e5ec6668692be195a7db3c9deefb89fdd3972c07a4274c075cbdd2d92ca62b409dd2bd095e5d59590f7376359aea46f69e06dd77629c0c90a9d18b3605f2fac518e2d448550e371ca88f3943eb63a3a2c93043ecb0d1
-TAG: fd5473022e135093d1b4dd56529a341b3894da36e7
-TAG_LEN: 20
-
-# DIGEST: 070f23e02cb53f55b0127fd3fddbab83e5682275
-KEY: 98233b5a7379a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e97704531
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f43724809
-AD: 74454879c41de9ac9f
-CT: 6e115446599543bce17fa824852055880348dd98bc8241db1d62a76e599d4b9f3c2ea4f27c1e928ff84b480ad3d8bbeeec758366fb3ebb3e8e8f15906e219e768bcd285268b6347596f31240e345464c7316836a28753f6ad0e22c68ee74c41a3af8ceaf29f3a28fd1eb847602386cf37b57fbd8e52f90415a084800f05cd7a1e0040f69a06ffbdb82c5beaf66f69a17830f94dba00e4a574db348f9f0125ba656da5821b19a7294cd57ef4ea3a2435866554b705c0518445a156240151520e4f61ce4ea7f57af81a5a32056f9ab44102dd70735cf9875d12191dcea96ae8d5319a19cf291b1487f8281e61c634e7b46c2c28400cb437187a0de78c025cde3a7be6c5dea6927d404176c2dd79329929aeeae88a03298041eb728dbb18b5d0086d73813f48fe7eab4248efc38df06dda783a1d9d9ae8fe5fcd50f2173405b4fd35911ae775085c04a0c0b296a10b4ac3f1407ee613ed627567fbfa47dda3e6b151d4fe736f9ee0f1a3148178b483e74d251a5a050caa9df0a6a5d9740653bc5f6b269426ba9ed391eb475fcf0b5b773bfaef15c6c634d2ad22b314b20bf7ee767e9a0abeba61e909ee90c1e433d834610bbbc3cba4989777e0511f8a08bab823c2544c5ee7b1c57992a40c3829fb8bc43e7d102e4d14ef990451f835eb5255c14
-TAG: 3e52fd15c88ae6b348c5097fbf9aa9185a3c141e9ce6e541
-TAG_LEN: 20
-
-# DIGEST: a09f0450fec556fbb3a1f869c9780c3d12547311
-KEY: 79a561792c0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c4
-AD: 1de9ac9f98233b5a73
-CT: 7512a3cae0bfc465c4d9ea0456ea81065b0903d57498f148b5b183c25b0cfcdf005d331c01c14df2990220940bda53515fd055ce885d197b0eb7c66daf15c1d60ac88ba4f8d0f38df81041a1be3a54e500b5e24ba3818361f2594322b12f3fadb67be436b590a30209619bf8e288b86e24ed702a4c351dd441f048568521c6c1c77f97b1e12317bc83a2469c244be18b2962ebd250ea520609fb3ad24ff562a65ab01eb6ffafeee625090c9d2196afd8666c260117280d369a083892cd8efae9e986c925e02108f013a332f4a8bedc7ebdfae2ad2669b694ed7f1870dcb08e69cce507648665498bd572df38b691ebba62726db33f13f84d831669d3a825f10da1d557a40bee0de82546dfc28e30b6a1042d7d9874799f62596a827f7f9675977946e829ef7bdea5e7aa3c0b386c50dbe73fbf8e28c21e935045ad6d8125af3905550b8780e1147bf54db77c2de58cff48601e9f720ee686443c22691fb8bd6ce6769626e7152b551c3c1df01c7f8b41d383c782a1c9fe4d370c49e1df71de1b62a7626dd485502476473c5e32a9fc420e6693ce80152613e37b73041834d0900f5258a5181801f41384e2a73b5d61e2cd442073ee1ef22a366f67f3eb655cd6d5891aaf7192e651eb5ccc0fea3c12f2f0255a62d1709cf785f524e0339911dbe33c342f0c
-TAG: 88c400d376ca7ebe9b117006329af96d21c9cdb240de73731b1d6c
-TAG_LEN: 20
-
-# DIGEST: 32559b69ebdbf4f1fe7c6e5ada9a4117836eaf4e
-KEY: 0f3116430e8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98
-AD: 233b5a7379a561792c
-CT: 0cb288e69981e771486fa83463c402cf6dccfe4b913ac4cba832933d3596c67d7b5ae39a123dc3ccb12942b78d2229841996ebcf3bcf508ab909d714eacdfb6d635a8a925ce15e7c8b13b4c821937114eadfc23e240ca06a001a118cd9b9894616f1eec3a2bedeb88c3bd0fc9548c42c9b7a9ca710f94fd9d638b7adcd758c9fe27afa89106f81653f0722f41bf9560296bd0492d8e084e83474e77632c11a89fc3960cd75e3d0e704cec1c4f53caf468f49364ade315f83a836d54f259d3dbbcdc9a9adae1181261b0ac5aa3a6e7e3d7e78f2cec0afa64185d548ce45ef620dec97ca51dde09052789e896e07859468bcc0dd5b007bdb73942677241360c2ecb4d75700fb1de196a6dbfa778200605de9ee0a8683fc6e89f19ba852db7359cc7d42803fec50b5d123b73c6383aeeff387544122fa64ed7b15d23cb43bba9a9ca8e58a2e28f555d970f7c83fe396d4c2c207fba13512bc60868361369896778744e41a82e874b2f51277c6a5b1d3e5052c87cf58b05425b396fde61fd92b480a6fb5b3052183c880a9fa04dcd2082753bb748125695f6df801d9bd4803fc3d5e76599db0b91bf76c9f4186f76a4f919df7376bf314814b28012483717d357da61492940ab3bbfd0091d19899bacc5bd0fba72ea4005a55dd99f0e9be91256b93239aadf66c4d803e5d32
-TAG: 0c36b6205a04ba2c348c86ac1c5dd66881e3bb6b369a
-TAG_LEN: 20
-
-# DIGEST: bcdc01526c7b0248abf3a41ac893bb72adf422eb
-KEY: 8b6ea058c4799eea80abde04ee1de13e937af8f1a6944f44d722271233a825264e977045318c9b66262c0f0368fe9d0cb746bbd5
-NONCE: 
-IN: 936a91d0b5d2c0267218cb7090c6171386d641b87797b684e0fb56f97c3961d8afa22993a340b9b3c589c7481df3f4183aa23fd8d7efd88503f78b8ed1c8e9ba2fd6773e0d0c302a5f47e037446f5891d77df660ed82933f62be8dc55b436965aabe477e0cdd46be99371eb8da7dac997deafd64b1fc65de39f4f03541a11be112a72933c7b54ed4fad0be905d41203f5dce998f8fb2eaad409ae02116417dae0cef457b9e5e16dcc5b6f25607f00d033fb95fb09e4d00d6172e780ab8b700433a957a741c9eb80f2b021b1444769da00fcfab0f5f93b511060c9c5f3aacefe61b184ad2463939ed518ce97c3fdd293d72afc09ffdd4f41963249cd299b92e55ca24d8c078c49f78c7e713710a025cb8b9d71d2989ab33e978c4451e3be585a29a2af12feef71e1063b0b4e6e899200304bd3508132a027d1ff4c047b3ef4f57a74706de4b381c692ef164101b89b476f72b27f06f520c9267cf71408a41729bacb5877e72cdfcfa76aed06707a07c3dab699719fe882eee2fee55ed8b11534c870dc695b814bdf1a87bb1052c6755a7a116bfc9095da49db3d71f4b975c5d503f478b22dc8253bee6fd1b174c307f01be95abaa9bee5857772305daa4b550d75f05d8089850fea3711265bf782610460bfd24ba022e6da12dd4c27f4372480974454879c41de9ac9f98233b5a7379
-AD: a561792c0f3116430e
-CT: efb869db3a0ba8e9c1d4a0ef6404bcc10eaf089340ae938e87f1d17d3b7e3ff65c4ff6972c6f404e6d71b5dcb90fee0c9baffdf26de5a4c01220321babcaae4ed55f8766d70c14b58abd1826b90a121e5b9d13d8a41101ed5b8a3b73a4c6cfec8ff46946c5414bb5ba70b615d19be6181e52e0ed6d1ac9cf4bbbb29d67a213a7cf07af21743f0e107ae580a924c43b9a8120373619de0b8996d675d90a1aa9d17aabe9a85997372d4d2b1a1ef6055fe3339fcdc8256fb2f085898d83b609dfa6ad79b3ba260892563a00a1b1f5af69b94cd500449f20abda617250cdd7615cec3f1d75d4a66ca7c9ac8822e945c7ce30be6e6d0897c2faba38141c4aa4684f0cf890ce4c57660a166e32c6e0b7fe9981eff7a9025f9318e142c9fc71a7b52f3646e7ba41fe8c9a20d0b25c8b6f3827bc067d6f6962ad4faac0aecffe54a1f37d20ba08b7bc648551fcb93cbedc728bebee5189c80e715d3b8df3e5a891b0fc555921e2af871b01356c2c049361df495691b9383fc1f2ba55f023e8d1f4649ada0de9bb02764890f2f1efe9e11f131abdc35f1aec108aa532eb54060a77777384476a994aa156d452ce2a6f2eb92b3bbe63f84dbc5385bfcb3331b4f4df3b8bb2d94b22029090bd9c0b6dd41084beeebad804f133b3317d5529b237adf8cf463da32dba799c255ca3f157dbb1dc4588
-TAG: bfa1bb6571ea7450159ea6b00ec46d57c3117ba4b6879008fe
-TAG_LEN: 20
-
diff --git a/src/crypto/cipher_extra/test/make_all_legacy_aead_tests.sh b/src/crypto/cipher_extra/test/make_all_legacy_aead_tests.sh
index 0ee7a51..b35c335 100755
--- a/src/crypto/cipher_extra/test/make_all_legacy_aead_tests.sh
+++ b/src/crypto/cipher_extra/test/make_all_legacy_aead_tests.sh
@@ -13,7 +13,3 @@
 
 go run make_legacy_aead_tests.go -cipher 3des -mac sha1 > des_ede3_cbc_sha1_tls_tests.txt
 go run make_legacy_aead_tests.go -cipher 3des -mac sha1 -implicit-iv > des_ede3_cbc_sha1_tls_implicit_iv_tests.txt
-
-go run make_legacy_aead_tests.go -cipher aes128 -mac sha1 -ssl3 > aes_128_cbc_sha1_ssl3_tests.txt
-go run make_legacy_aead_tests.go -cipher aes256 -mac sha1 -ssl3 > aes_256_cbc_sha1_ssl3_tests.txt
-go run make_legacy_aead_tests.go -cipher 3des -mac sha1 -ssl3 > des_ede3_cbc_sha1_ssl3_tests.txt
diff --git a/src/crypto/cipher_extra/test/make_legacy_aead_tests.go b/src/crypto/cipher_extra/test/make_legacy_aead_tests.go
index 1933fcc..2a3259c 100644
--- a/src/crypto/cipher_extra/test/make_legacy_aead_tests.go
+++ b/src/crypto/cipher_extra/test/make_legacy_aead_tests.go
@@ -20,7 +20,6 @@
 var bulkCipher *string = flag.String("cipher", "", "The bulk cipher to use")
 var mac *string = flag.String("mac", "", "The hash function to use in the MAC")
 var implicitIV *bool = flag.Bool("implicit-iv", false, "If true, generate tests for a cipher using a pre-TLS-1.0 implicit IV")
-var ssl3 *bool = flag.Bool("ssl3", false, "If true, use the SSLv3 MAC and padding rather than TLS")
 
 // rc4Stream produces a deterministic stream of pseudorandom bytes. This is to
 // make this script idempotent.
@@ -84,30 +83,6 @@
 	}
 }
 
-var ssl30Pad1 = [48]byte{0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36}
-
-var ssl30Pad2 = [48]byte{0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c}
-
-func ssl30MAC(hash crypto.Hash, key, input, ad []byte) []byte {
-	padLength := 48
-	if hash.Size() == 20 {
-		padLength = 40
-	}
-
-	h := hash.New()
-	h.Write(key)
-	h.Write(ssl30Pad1[:padLength])
-	h.Write(ad)
-	h.Write(input)
-	digestBuf := h.Sum(nil)
-
-	h.Reset()
-	h.Write(key)
-	h.Write(ssl30Pad2[:padLength])
-	h.Write(digestBuf)
-	return h.Sum(digestBuf[:0])
-}
-
 type testCase struct {
 	digest     []byte
 	key        []byte
@@ -148,12 +123,7 @@
 	input := make([]byte, length)
 	rand.fillBytes(input)
 
-	var adFull []byte
-	if *ssl3 {
-		adFull = make([]byte, 11)
-	} else {
-		adFull = make([]byte, 13)
-	}
+	adFull := make([]byte, 13)
 	ad := adFull[:len(adFull)-2]
 	rand.fillBytes(ad)
 	adFull[len(adFull)-2] = uint8(length >> 8)
@@ -167,18 +137,10 @@
 	macKey := make([]byte, hash.Size())
 	rand.fillBytes(macKey)
 
-	var digest []byte
-	if *ssl3 {
-		if hash != crypto.SHA1 && hash != crypto.MD5 {
-			return nil, fmt.Errorf("invalid hash for SSLv3: '%s'", *mac)
-		}
-		digest = ssl30MAC(hash, macKey, input, adFull)
-	} else {
-		h := hmac.New(hash.New, macKey)
-		h.Write(adFull)
-		h.Write(input)
-		digest = h.Sum(nil)
-	}
+	h := hmac.New(hash.New, macKey)
+	h.Write(adFull)
+	h.Write(input)
+	digest := h.Sum(nil)
 
 	size := getKeySize(*bulkCipher)
 	if size == 0 {
@@ -198,7 +160,7 @@
 
 	iv := make([]byte, block.BlockSize())
 	rand.fillBytes(iv)
-	if *implicitIV || *ssl3 {
+	if *implicitIV {
 		fixedIV = iv
 	} else {
 		nonce = iv
@@ -232,31 +194,20 @@
 				paddingLen = 256
 			}
 			noSeal = true
-			if *ssl3 {
-				// SSLv3 padding must be minimal.
-				fails = true
-			}
 		}
-		if *ssl3 {
-			sealed = append(sealed, make([]byte, paddingLen-1)...)
-			sealed = append(sealed, byte(paddingLen-1))
-		} else {
-			pad := make([]byte, paddingLen)
-			for i := range pad {
-				pad[i] = byte(paddingLen - 1)
-			}
-			sealed = append(sealed, pad...)
+		pad := make([]byte, paddingLen)
+		for i := range pad {
+			pad[i] = byte(paddingLen - 1)
 		}
+		sealed = append(sealed, pad...)
 		if options.wrongPadding {
 			if options.wrongPaddingOffset >= paddingLen {
 				return nil, fmt.Errorf("invalid wrongPaddingOffset")
 			}
 			sealed[len(sealed)-paddingLen+options.wrongPaddingOffset]++
 			noSeal = true
-			if !*ssl3 {
-				// TLS specifies the all the padding bytes.
-				fails = true
-			}
+			// TLS specifies the all the padding bytes.
+			fails = true
 		}
 	}
 	cbc.CryptBlocks(sealed, sealed)
@@ -314,9 +265,6 @@
 	if *implicitIV {
 		commandLine += " -implicit-iv"
 	}
-	if *ssl3 {
-		commandLine += " -ssl3"
-	}
 	fmt.Printf("# Generated by\n")
 	fmt.Printf("#   %s\n", commandLine)
 	fmt.Printf("#\n")
diff --git a/src/crypto/cipher_extra/test/xchacha20_poly1305_tests.txt b/src/crypto/cipher_extra/test/xchacha20_poly1305_tests.txt
new file mode 100644
index 0000000..86549f1
--- /dev/null
+++ b/src/crypto/cipher_extra/test/xchacha20_poly1305_tests.txt
@@ -0,0 +1,416 @@
+# Test vectors generated from libsodium with this code:
+#
+# #include <stdio.h>
+# #include <sodium.h>
+# #include <stdlib.h>
+#
+# void hexdump(const uint8_t *in, size_t in_len) {
+#   for (size_t i = 0; i < in_len; i++) {
+#     printf("%02x", in[i]);
+#   }
+#   printf("\n");
+# }
+#
+# int main() {
+#   uint8_t nonce[24];
+#   uint8_t key[32];
+#   uint8_t m[64], c[64];
+#   uint8_t ad[16], tag[16];
+#
+#   for (size_t ad_len = 0; ad_len < sizeof(ad); ad_len += 4) {
+#     for (size_t m_len = 0; m_len < sizeof(m); m_len += 5) {
+#       randombytes(nonce, sizeof(nonce));
+#       randombytes(key, sizeof(key));
+#       randombytes(m, m_len);
+#       randombytes(ad, ad_len);
+#
+#       unsigned long long tag_len = sizeof(tag);
+#
+#       if (crypto_aead_xchacha20poly1305_ietf_encrypt_detached(
+#               c, tag, &tag_len, m, m_len, ad, ad_len, NULL, nonce, key)) {
+#         abort();
+#       }
+#
+#       printf("KEY: ");
+#       hexdump(key, sizeof(key));
+#       printf("NONCE: ");
+#       hexdump(nonce, sizeof(nonce));
+#       printf("IN: ");
+#       hexdump(m, m_len);
+#       printf("AD: ");
+#       hexdump(ad, ad_len);
+#       printf("CT: ");
+#       hexdump(c, m_len);
+#       printf("TAG: ");
+#       hexdump(tag, sizeof(tag));
+#       printf("\n");
+#     }
+#   }
+#
+#   return 0;
+# }
+
+KEY: 1f4774fbe6324700d62dd6a104e7b3ca7160cfd958413f2afdb96695475f007e
+NONCE: 029174e5102710975a8a4a936075eb3e0f470d436884d250
+IN:
+AD:
+CT:
+TAG: f55cf0949af356f977479f1f187d7291
+
+KEY: eb27969c7abf9aff79348e1e77f1fcba7508ceb29a7471961b017aef9ceaf1c2
+NONCE: 990009311eab3459c1bee84b5b860bb5bdf93c7bec8767e2
+IN: e7ec3d4b9f
+AD:
+CT: 66bd484861
+TAG: 07e31b4dd0f51f0819a0641c86380f32
+
+KEY: 4b6d89dbd7d019c0e1683d4c2a497305c778e2089ddb0f383f2c7fa2a5a52153
+NONCE: 97525eb02a8d347fcf38c81b1be5c3ba59406241cf251ba6
+IN: 074db54ef9fbc680b41a
+AD:
+CT: 1221898afd6f516f770f
+TAG: 75e7182e7d715f5a32ee6733fd324539
+
+KEY: 766997b1dc6c3c73b1f50e8c28c0fcb90f206258e685aff320f2d4884506c8f4
+NONCE: 30e7a9454892ef304776b6dc3d2c2f767ed97041b331c173
+IN: b8250c93ac6cf28902137b4522cc67
+AD:
+CT: e2a13eeff8831a35d9336cb3b5c5d9
+TAG: 62fdf67735cad0172f9b88603b5f3c13
+
+KEY: 6585031b5649fcabd9d4971d4ac5646fc7dca22f991dfa7dac39647001004e20
+NONCE: 705ee25d03fec430e24c9c6ccaa633f5b86dd43682778278
+IN: 9a4ca0633886a742e0241f132e8f90794c34dfd4
+AD:
+CT: 0a8e6fd4cd1640be77c4c87dde4ae6222c887ed7
+TAG: edc4fbc91dfa07021e74ae0d9d1c98dc
+
+KEY: dfc6f7c86a10a319ebcb6362997e585f55b67f3434f47dc4039c2d67973e3077
+NONCE: 6097f30fd75229d928454c7d59a2d2c58bfddcb14c16438e
+IN: 74c946a7f0733377e852a23087506a28dccef86e101a4359c0
+AD:
+CT: 6e8ea0bb4c2f1323841d8e236816c61c3295866b75cefb5c25
+TAG: f16c0e9487ca7de5e7cb2a1b8bb370fc
+
+KEY: 59b8d488773767c4804d918709cfec6c69a193371145bb94f183899851aaadac
+NONCE: ad5bdf8f190ca2d2cc02a75bb62aa22274cb3c98fe2d25f2
+IN: 066b9ed10f16d3dc132b409aae02d8cac209dd9b4fb789c4d34725ab2a1f
+AD:
+CT: 2bbd4542489006df66ad1462a932524642b139ddcbf86b6b480e9e6d976c
+TAG: ca4835419ba029bc57010a8cc8bca80c
+
+KEY: 8c0cb4633cf8dc6b4b9552d1035f85517cb1ba4c36bcbc43338a8c6c7d15ce20
+NONCE: 8418b9655a0376fadefa3cdf8805815c4f7b56f467a74a95
+IN: 50c205a9c5d4088ba8e59a96fcd837f5170669854547678288199f1078ff2a81f0b19a
+AD:
+CT: 8b55a12df1a85dd3fb19c34ab047a85849d15a30225bb5360bad1f0a8f5f2bd49f5898
+TAG: bce13201df6e4a7e6d896262e45d969d
+
+KEY: b45386a75a5772e34bd193e1946f69ebfb90c37ae4581d39c9669d75e4584f50
+NONCE: 9fb763d0926585b5f726af9b8e3babdb331e9aa97f8d99ed
+IN: 64df0e341145d9e4a0d090153591a74893bc36cb9dae1e9570d8fee62e907cf004f9d8a360343483
+AD:
+CT: 3146d8a5c898edd832ec9d126e93b3a433ec97dc47dce0e1985bda88c88c6aeca46fc7d9a68e30ab
+TAG: 44fdb0d69abd8068442cb2ea6df8b2f2
+
+KEY: f2efbd358dd353639a162be39a957d27c0175d5ab72aeba4a266aeda434e4a58
+NONCE: 65a6f7ebe48de78beb183b518589a0afacf71b40a949fa59
+IN: f7473947996e6682a3b9c720f03cfaf26bbcdaf76c83342d2ad922435e227a5d1eacbd9bd6ea1727ec19fb0e42
+AD:
+CT: 778a0fb701b9d671ccfaf1454e8928158ede9bb4395119356a8133036840c1bcbb8fe5e19922fbbcf8b18596e7
+TAG: 9d195a89fdd29ca271405d3330f996f9
+
+KEY: 9dd674fb4a30a7bb85fc78050479ab0e2c3cc9f9f5b8689a7a67413aca304b21
+NONCE: ad9e8fe15940694725f232e88f79cda7c82fe1b8aae58ba4
+IN: 7272bb6609cbd1399a0b89f6ea255165f99330aeb170ac88fccdd8e226df0952407e35718fb5edc9e987faabb271cc69f7e7
+AD:
+CT: 846901650cb38974463a18c367676e1579ebdaf3e96b57224e842f5d5f678f3270b9a15f01241795662befb3db0768800e25
+TAG: 900004db3613acbeb33d65d74dd437d7
+
+KEY: 280cbe7380a0d8bb4d8dd4476012f2eeb388a37b8b71067969abb99f6a888007
+NONCE: 2e1854617c67002599e6b077a812c326deb22fe29d093cbb
+IN: d0901ec3d31ece2832685ff577f383bdff26c31341ea254acee7c5929a5df74fea2aa964524dc680b2f55fbd4fea900e956c304cc4ac3c
+AD:
+CT: 546370726cc63068d3520d67f4f57f65d03b9ecec21c2a8c7b1133089ad28b07025a7181bddeb4a49f514fac1a44f64ee3af33d778fb98
+TAG: 39084e33e42a1b05f58da65ba487d138
+
+KEY: 887564f75afa78f595cdadcea7340d20f5c5a2df169d0ad14b15fe32ce337004
+NONCE: 54c11df13d1f444da80b0964caeb59474b17b23a650a33f5
+IN: f0f008eece79ecb24b715dff8a3456dfe253924b99f98f2f1b18564cced50925fca860d1c2d4785bdf4a964c76c3079efa6b37c4ba2cacc534fb590c
+AD:
+CT: 32bb077268568d569b39e8ccdeeeb447ef424eaa2ffab565209a19b16a25952f897e5405bb0d67d8c9005d1c0b32687164d17fa4d0f412b80414c025
+TAG: 0bac7c0f8dce12917fbd4ed1738ac0cc
+
+KEY: 21c6aa88eb1a320d251f71a4b312ca75347040990d869a1dd2a1982c30fda2c7
+NONCE: 7dead2f1a3d9d45a9124a40efe8994300976991a4417ef4d
+IN:
+AD: e1bf7de4
+CT:
+TAG: 341e9d0687006f981bced2f985f953e6
+
+KEY: 0c97b9a65ffcd80b8f7c20c3904d0d6dd8809a7f97d7f46d39a12c198a85da5d
+NONCE: 1f2c1dbc5f52fc9c8f9ca7695515d01d15904b86f703fba3
+IN: ecaf65b66d
+AD: bd8a6f18
+CT: 8d1b2b0e38
+TAG: 27a7c7ac8bda627085414f0f31206a07
+
+KEY: 4ab5e3595f39c4379a924e5f8ebcf3279075c08d18daff01d9ddfa40e03faf12
+NONCE: 94e6ddc294f5f1531924ec018823343ebcc220a88ea5ee33
+IN: c91b73abe5316c3effc6
+AD: c576f6ea
+CT: abe960fbc64b339c53b1
+TAG: 7ebae48a2ff10117069324f04619ad6f
+
+KEY: a1e6146c71c2ea22300e9063455f621e15bd5bf1a3762e17f845e1aba5dd5a9c
+NONCE: 82ddb6929abff8a9ad03dfb86c0bb3e7c092d45ebfa60a1b
+IN: f011f32ccc2955158c117f53cf7b12
+AD: 5d14bc05
+CT: 44592321c665f51e9ffea052df1fea
+TAG: d556798b97f9b647729801419424affc
+
+KEY: 7a1af30362c27fd55b8c24b7fca324d350decee1d1f8fae56b66253a9dd127dd
+NONCE: 61201d6247992002e24e1a893180d4f0c19a3ae4cc74bf0c
+IN: 5c7150b6a4daa362e62f82f676fdc4c4b558df64
+AD: 00c49210
+CT: 27d9e2730b6809c08efbd4b0d24639c7b67486f3
+TAG: 5889fdee25379960038778e36b2cedb2
+
+KEY: 0b3fd9073e545ac44a7967263ead139c9547f7a54f06228fd3c8609fa2620784
+NONCE: 6450e1097d6f9ea76eb42e8e65972d501041c3a58baf8770
+IN: d679ae442b0351e5bff9906b099d45aab4f6aea5306a7a794f
+AD: 318d292b
+CT: a3f9ee45316d7b0f948a26145ee4fd0552bc6dc25e577e777a
+TAG: 0068a401a194b8417ec0e198baa81830
+
+KEY: 047c7d378fe80c02ee48df6f679a859253aed534fdcdd87023eb3d2f93fcafe3
+NONCE: ed240b0ff6f8ac585b3ea1ab2dab8080fc2f6401b010c5d0
+IN: 7288afb4e0fa5c58602090a75c10d84b5f5f1c0e03498519afe457251aa7
+AD: e4310302
+CT: 87906b14ca3e32ab01523b31ae0bb74590ce9e1df0811e743a2c7a93415a
+TAG: 3a0abeab93792b1ffe768d316da74741
+
+KEY: 1ad4e42acc5dfd07eb0a2456e9103cd0e150a36c667eb2f2b73c0d1ac1089ce3
+NONCE: 48efb52387284c5d38b4940c75f0c39a3f81f60bfebb48cb
+IN: da7edb5b3193b4484f09efa85fcf85600968ecdc537d3829a469c866ee67b0df677866
+AD: 446be8e3
+CT: b76457ca99e95b6539b12f1d6bdac55a6d5c6469b1ff274459363ec05241f7e6e5d3ce
+TAG: 06880ee508ce929da5a81f8b9de0031c
+
+KEY: 702a554c1b703d4dd69ad51234293ab787a01e15bdb3ce88bf89e18c01a67164
+NONCE: ea535d9c371241b9850b8b4a596b63db79eea60bd2cd9fbb
+IN: a97156e9b39d05c00b811552d22088d7ee090a117a7f08adac574820d592021f16207720d49fb5fd
+AD: ba5790e3
+CT: 8d0b2b04479c33287096f0c6276a73f6c037edc1a2b28f8d3b2b8e6d4c5f9dc5113309dd3ecb15e6
+TAG: 3cf303305e12924d29c223976699fb73
+
+KEY: 1bb7303fefa4d8d344bb9a215901b2314324bf1f3aeb9df5d1c1532c3a55ebf1
+NONCE: a304551e5f0dc98995ddfee6215a9995023a3696debfd302
+IN: 6cf6819ce3e7ed9d4f85f4a5699701dbcaf3161adc210c0b7825ddfd83d6d7c685db62f68b3801ccc8a786066d
+AD: 901c5feb
+CT: bc5ef09c111f76e54f897e6fce4aee1d25b6ed934f641ed5262d0c5eed45f610a6aea3b58b7771e34256d43a16
+TAG: b83f73f7995ba1b243dbf48ddfeb8e3a
+
+KEY: 24b294f6cbac10d87158d1c6aca83b337d596132afac7633f69a3b3e58823f11
+NONCE: 805772ff619cc6fcc5ec0e9965435d6f74a2290c055ec754
+IN: 65e8581286868caabcec1a9814db00b805edc660b94ee3babc6ce19a3ca868bd322105484d59b4ce02ced4071bc16642a1f2
+AD: 7ae1c561
+CT: fe1d463b1466e8e411f0b0700f90760472ee5141f3e5afef43fd729f1623dca75cd4d00576765b335f8b2b77b00527599cb3
+TAG: 111d8540fd5ec04b9ba16ed810133026
+
+KEY: 38e63e8b6402ac3f6d1641a1e3b74d2074be0fe41129975a3ff62b74ca52af05
+NONCE: 228d671b036710cbdaa72e9bf1d9ed6982b0bb3428a69fd6
+IN: 20a8d18878924d09aac32853c10e73dbd741134b7050ae6999839f2dbc727cb0052b5497c4bbd2a89e716278f15c81b871953614a49693
+AD: e9e6ac73
+CT: 80e0fe8eb26e5df229c6d939c944d440a37aa3cabf76eab5b9a420095513021ea4241ab367f6f44a20817b14631549ae6c96aa963970e1
+TAG: 1e80fbafcc7168e0494fce4cd76d692c
+
+KEY: 4325dd8406fdb8431a81f1b5db3603995256de36121019724cca2190c87a6e83
+NONCE: dcbf3077b36d5d678d668fd2d0c99284c780b55c4658ea75
+IN: 4f599ad04f79be9add10fdc649b8be53e1062ea5e9c2bed22265dc6fb30d5ab4fd4425b38ff14d8e68013405bec1eff8c9ef3069902e492aac73dcd9
+AD: 6fa0d757
+CT: 7decbdc7043495c59ecc64e720436bb0708b586a46f8745f74391477f5a2520905dfcebc3765a330999013d309dfaa997bf70bab6a0b8f4f2a2a3cdf
+TAG: 051ec4ecce208d9be0cd17f434e13be3
+
+KEY: 2d3d9ed4bc9eb9668733bafbb73e88be2cd17021c3a23be69b981d9f0df71df1
+NONCE: 84cae69639240c82b58895997511f145e474ebe1b008f391
+IN:
+AD: 64db597c26a4c3da
+CT:
+TAG: 2a22c4a962d46a719014ab7b0ffaf6d3
+
+KEY: 09ec4e79a02db53b19b54dd2d3592afc92c74ef57d1e0f51f3726a6631b1b73f
+NONCE: 2907ced16e0777fedb1e2de30df11b3fd712af41dd714a4b
+IN: b6e50cd4ea
+AD: b5488e9b7f339b7b
+CT: 0163e75330
+TAG: e29401c6d756adcc516580ae656852aa
+
+KEY: 9d5ac25a417b8a57b85332979e8a7cbad23617bb27772bbccc2acb0acae7b755
+NONCE: ff152421688dd6af7fef87817b508493a32d97a06fbda4f3
+IN: 92f4b9bc809be77e6a0d
+AD: 892b793f7a6e0727
+CT: bcc594f59de8ee8c22c6
+TAG: 1a8275816c0d32a1b6cfd41fa3889558
+
+KEY: eccf80c5f744d2ecc932f95ade0d9fe9327e19795023db1846d68d04720a2401
+NONCE: abc050fad8876589633b222d6a0f2e0bf709f73610aa23ee
+IN: 45a380e438405314510c166bac6840
+AD: c32c9a1ce6852046
+CT: 9fa452dc9ca04c16ff7bde9925e246
+TAG: 3d5e826162fa78de3fc043af26044a08
+
+KEY: b1912d6bc3cff47f0c3beccff85d7cd915b70ab88d0d3a8a59e994e1b0da8ac8
+NONCE: d8756090a42eea14ff25be890e66bfe4949fad498776ea20
+IN: e2f85df2ebcfa6045bd521abfe8af37fc88a0be1
+AD: 4576bb59b78032c8
+CT: 5eb6324aa48e0a4f72f5cb0a4917faf93af4209c
+TAG: 774f8077f039588495045fee07950e14
+
+KEY: 85162b111c9f3163f57c2cbc311a1e9aeed9dd6136b5784bc9c0b5052f8bffbd
+NONCE: 23cdb8b546bb8a5a746b24446f0ab4199f0543d915ff51f1
+IN: dc81000077d5743beef09ac91663885d984212bbccf3dbe6f3
+AD: 3084f3e9c4d0a15f
+CT: 692d17ae0b524ec6edc0cf49b69ac90c99bed44691f7ae63b7
+TAG: efe72ff84b3bccb4d83a27ddc574bc21
+
+KEY: b05ca358d8ca79f51283d83e2673bfb741c379ba271a773b8dd9c6a108e758d3
+NONCE: 9a53ad79f535c6e9da011463063c896f2ec7645e6e3548fc
+IN: 44e793742c774020e7349c996418042dc0dc30ee2bfd2654008c8929a436
+AD: 71ab5948c5e0f4c6
+CT: c5eddb7aeaa175b5f3dab68cf746f2acaf56fc62b29804629e25e2d63879
+TAG: bec3b7a8b8dad22ff3d14d26273294d2
+
+KEY: abb5136a01354c765a96e832df58bec3b088bd19dc4d6bd6674f2f02007ebdaa
+NONCE: 71267ac9f4fe5caa1d52cd85948a170a778f0141d54dbffe
+IN: afb526fe41c4e2a767ce77c4145b9d054268f5f3b279237dec97f8bc46f9d158868b86
+AD: 047baa2b04748b62
+CT: 0032d4c1e65da2266539464c5d3c2b1618454a6af0e7f1e3cfc87845c75f2f4ae8b03f
+TAG: b526a95a33f17ab61f2cdfc1e2dd486a
+
+KEY: bb826ed38008a0d7fb34c0c1a1a1149d2cad16b691d5129cc83f5eff2b3e5748
+NONCE: 4e02fe0915d81e9d5a62e5b3551b9db882e3873c0aaa230d
+IN: 20270d291a8d9791b0f5e35a64387bb4237bad61169841d7e1667c994ad49869c7d5580ffa752a2d
+AD: db852a275081e29b
+CT: d740012efb7e1bb986ce2c535134a45f658b92163c109bdecf1ce5b836879fe9e006a56be1fac8d7
+TAG: 21e931042e7df80695262198a06286c9
+
+KEY: 938d2c59f6f3e2e7316726537932372e05e8c1b5577aae0ee870bf712ff001ab
+NONCE: fb4d71cf7eb2f70df9759a64c76a36b75203f88bf64f4edb
+IN: 8910415d674a93c54c8f5e4aa88e59648d9a0a5039a66837d58ab14f0665a5f6d9af9b839f9033d0fe8bc58f19
+AD: a3fca278a63bf944
+CT: 1905c6987a702980b7f87f1ed2d3ae073abe1401b23434f3db43b5c37c979c2068ce9a92afedcdc218003848ea
+TAG: 1bd712f64777381f68be5ccc73f364a3
+
+KEY: dd0521842f498d23236692a22db0eb2f0f14fef57577e5fb194503e206b0973d
+NONCE: 519e0eee8f86c75c7a364e0905a5d10d82073e11b91083a5
+IN: 61ff13acb99c5a7fd1921ec787c8de23c1a712ff002b08cecc644a78c47341eab78e7680380c93c7d53d5e56ef050d6ff192
+AD: bb5c4e5ae8f7e461
+CT: 9bfdb0fd195fa5d37da3416b3b1e8f67bd2a456eb0317c02aabf9aac9d833a19bda299e6388e7b7119be235761477a34d49e
+TAG: 0f0c03b8423583cb8305a74f622fa1f9
+
+KEY: 189bd84be3fb02723539b29cf76d41507c8b85b7217777ee1fb8f84a24aa7fee
+NONCE: ef1bf39f22ba2edf86853505c24fafdf62c1a067963c63ba
+IN: d5f96e240b5dd77b9fb2bf11c154fcbff312a791c3eb0717684e4fd84bf943e788050b47e76c427f42f3e5344b2636091603ba3b1d7a91
+AD: 93368a8e0900c7b6
+CT: c55a8b7f587bee4f97514582c5115582abffd6312914d76c2568be6836f62ba098789ed897c9a7508a5dc214bf8c218664f29941ccdfd6
+TAG: 78f87352dcb1143038c95dc6e7352cfd
+
+KEY: 23a2dbfcd02d265805169fa86e6927c7d49c9a24d2707884e18955e32dafc542
+NONCE: 305c7851f46f23ea8d832d5ed09d266714fd14f82ba0f69c
+IN: 224de94a938d49cad46144e657e548bd86690a1b57b81558095eace59df1c552600dea389aaa609304fbc1eadf2241f2118c8bdf04522e1898efe1d4
+AD: 0075b20502bd29b2
+CT: 8e10c59369bbb0d72958100b05788498f59588795e075b8bce21d92d320206348b04010ced9b8cd3d651e825488915ce4a6e4f1af2f4d2f77b955376
+TAG: c39f0595ae8112dea6ef96df1c12458b
+
+KEY: 264e3c3f47bdf795cdde57d9a30be5a4da8b18463c0e3e05df28b7bf4e56410b
+NONCE: 3ee09b6e205c261bf48ac53a9ba0afa460a5d5c0f2d80be8
+IN:
+AD: 8eeec09d8972cb8ab0069554
+CT:
+TAG: 245a034d84edab9fa6f0decb6b984766
+
+KEY: d8ba98a272b5f91797b04b114311c3b92b7f2e3bb72edb7f78ed311b9f8ea2ad
+NONCE: 481de9a06eee76a501e3c2b9d7423d90596193ad9d8a6564
+IN: 9ee1a3134d
+AD: 928653701f6d6c8429b08c0d
+CT: 459a07898f
+TAG: 9188ec8d8e3bd91dcfda48fcc76773f7
+
+KEY: ac9afd627a745df682bb003517056f07876eb94d2f8c610c61b6ac0d34ec4ec0
+NONCE: eaae7b8704530db1e8c3dcc968a00604a333c7c27ba51b16
+IN: f7c3f6ee2e9c03394dc8
+AD: 796620b367d5f041821baf69
+CT: d4a69005790cc91d8d34
+TAG: e4c83def113afcf83a1ea8cb204a0eae
+
+KEY: ea1a07c1fd60a5421f1fb6c43b4318090e290c97aa3bfa037e6fc5ee00fd47d4
+NONCE: 37327805cce92b38a669affbca1de92e068727fcf6fbb09a
+IN: 7002ca765b91913ee719e7521ef5ac
+AD: 64e7c48fc3041eac0734737f
+CT: 9d8857a8c52a9ab3bf44b024b191b6
+TAG: d072c31714a7d0fe1596fd443a96e715
+
+KEY: b3beb34fe0229fc8f49b354e941025bde6a788f25017a60e8a49591ed5d7e7da
+NONCE: dd0e9fec76de1f6efb022b12164f7e9248b8e8c01d14ac02
+IN: acf360d7529a42be1f132f74745a940da9e823f2
+AD: 1489ca8d852f0a8547dbe8bc
+CT: 2e8718372d6e8167213cf112dc41c80377244f5a
+TAG: e4f31e8f84b9356999dc60989009e698
+
+KEY: 9357cecd10bab8d2e42ed88c0386204827c3b76e9e51150d09fd4e3b4e0e1e6f
+NONCE: 81f2106a5379e0ed861cf76b3cf95afb17515478b5cbcae9
+IN: ee51a0f25d091288b5e2b91ad11d491329e48b35a18a3a8685
+AD: b80cb677f4b409cd1537363b
+CT: f681f19fa8de1fdea3538001a46f30fa6333b76d6439337e68
+TAG: afad5e6d282d9df6d8119c32237b3e60
+
+KEY: 9f868600fbf81e40398b7dfb201fcae35d34bba10908860b0b2bf8b942b4e8fa
+NONCE: 2ddcc13c97185614095d437900b8c0a9170e0a4a50e46ba5
+IN: 133fa3ac176fee6df67472752e41c6834f13300c0064ff5b190f903b7ac7
+AD: 0d61321fbee8bb1f3f5cb454
+CT: b93abb311ec0bf018dc300c7d511b42ade72780373186e231820b44f22f0
+TAG: f8bd2f649a337783ff911e37966037bd
+
+KEY: 05affcdfce0a28539924370db8d80a78b835254778ec41acbff52bfab092fa33
+NONCE: 3edaeb185f7273b1a7cccba54f84c5f7d6583433b49d3694
+IN: 7657581faad266cc1037962a380c8aa5306f88000427d0a05397696b503790ad2643c6
+AD: d7c213e9e6f4a40f3e5b662c
+CT: 5eb19080aadc89f2329da4f5c41dc60568651c424c1b05d827f2bfb8dbff42c5a08224
+TAG: 2da20087b5674f0b967d1baa664bbd82
+
+KEY: 645ed60ec74ddfe1f02694792db4436c262d20405d8645cd9755d64876219799
+NONCE: d83665b44c1fdf567299f2b8501e9c0e7ae2dda0bb8f2c82
+IN: ceee69d32ad4667a00909964d9611bf34fd98be41ad7f0feaaaff8169060d64cf310c13bcb9394cf
+AD: 57379f8f44191ec9cf3b1a07
+CT: 4496a0666f0f895ebce224b448a04502f2ae7b354d868b7c54295bf051162e82c530c767d1ffd2cc
+TAG: 1ffc56da4fb961ffdfabe66d82ec8f29
+
+KEY: 06624c9a75bb7dbe224a3f23791281f53c40b407a14161a3f82f34924623dc02
+NONCE: e647b8b4739bf542a81d72d695e1cd6ba348fa593987ac47
+IN: 2658763f8d70e8c3303582d66ba3d736ce9d407e9507f6c6627e382d0144da157d73d0aee10ef034083cdd9013
+AD: 75536443a6c2189a57d553bb
+CT: 305cab5c2f9a6edccac307d6965febe3c86f2a1e31ac8c74e88924a10c2a29106bce980c803b7886985bba8ec5
+TAG: 8c12bb58c84175b9f601b704d0f8a25c
+
+KEY: 63aeb46083100bbcc430f4f09bcc34410df9cfd5883d629e4af8645ffabb89c2
+NONCE: b09830874dc549195a5d6da93b9dcc12aa1ec8af201c96bd
+IN: 1b3c9050e0a062f5a5cff7bec8706864cf8648142ec5cb1f9867ace384e9b2bba33aab8dc83e83b2d2fac70cd5189f2b5ab5
+AD: 7dcc05b0940198bd5c68cdf1
+CT: d8b22e5d381de08a50b163c00dbbca6c07d61c80199cebd52234c7bd4f7ed0a90d47ef05617cdb8e3f782875ae629c0f0ad6
+TAG: 194077f0e6d415bf7307d171e8484a9c
+
+KEY: 4826c1bf8b48088fece4008922173c500ff45790f945b1027f36110da4fecc92
+NONCE: 3a78fc7397944d762303b0a75974ac92a60e250bf112600a
+IN: d26e3a2b92120ff8056bb992660cc8a2364792589c16a518b8d232b8184aed05ba8d4fd0b2ad2b928cd873e11905a21ffece5f1e63c974
+AD: 904d2cd3e50f7bfb9352f142
+CT: 21f4cf679662fad36f57945fc0c0753c3791261eb58d643278dfe1f14bfb585c5a01370ba96f18dc3f6b6945a2c6997330b24f12f5219a
+TAG: 95397c54428f9d069c511b5c82e0151c
+
+KEY: ec526c03d8a08e8a63751112428a76399c399e8b83d98c9247c73164805ac8fe
+NONCE: 2cc1a6ae89c2a091415fa2964b44a0e5da629d40d77b77f1
+IN: 567377f5b6df5442e70bc9a31bc450bd4febfcf89d7ca611353c7e612d8b7e36e859f6365ec7e5e99e9e0e882532666dd7203d06f6e25439ed871237
+AD: 35575b56716868b66cd21e24
+CT: 6b738274fe974438f1f5fca8ef1ee7df664f1e72bc54ccd3fb58c4a3df67ef9a73261df41ffe9c52aeafc8be4f6524baf9efb1558d4a57defec7bee3
+TAG: 92599d4b14a795e8c375ec2a8960b4dc
+
diff --git a/src/crypto/cmac/cavp_3des_cmac_tests.txt b/src/crypto/cmac/cavp_3des_cmac_tests.txt
new file mode 100644
index 0000000..80e1835
--- /dev/null
+++ b/src/crypto/cmac/cavp_3des_cmac_tests.txt
@@ -0,0 +1,2207 @@
+# This file has been modified to remove the 65536-byte long inputs.

+

+#  CAVS 11.0

+#  CMACVer information 

+#  Algorithms tested:Alg = TDES KeySize = 3 Mode = Verify  

+#  Generated on Tue Mar 15 08:40:47 2011

+

+

+Count = 0

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 3bb96170d5df4cce

+Key2 = 25d5daa22a982f08

+Key3 = 52f4a110dcdc9e45

+Msg = 00

+Mac = 96

+Result = F (2 - Key or Key2 changed)

+

+Count = 1

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 9413d38685688f58

+Key2 = dc38b6b3cef125f1

+Key3 = 5b61f4f7a1c46ed6

+Msg = 00

+Mac = fc

+Result = F (4 - Key or Key1 changed)

+

+Count = 2

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 101a2f13fbb69473

+Key2 = 76fb98f24073f4d5

+Key3 = 2ca2706d76d00b67

+Msg = 00

+Mac = 53

+Result = P

+

+Count = 3

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 2f8a238552c1e367

+Key2 = f8131f1c26ab3289

+Key3 = 83d5b6ba253bea31

+Msg = 00

+Mac = 95

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 4

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = c1bafb5dc7100758

+Key2 = e9ef047a58b5ba89

+Key3 = 76cb4fb55ebcc1c7

+Msg = 00

+Mac = f4

+Result = F (3 - MAC changed)

+

+Count = 5

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = c82c29f1cb5851b6

+Key2 = 8b5b45dcbf0d8079

+Key3 = e6407057ae34ec0b

+Msg = 00

+Mac = 03

+Result = F (2 - Key or Key2 changed)

+

+Count = 6

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 6b455116f4f883d5

+Key2 = a81a206d25152aab

+Key3 = 86dc07b607202abc

+Msg = 00

+Mac = 75

+Result = P

+

+Count = 7

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = c873d5bc4598d0b0

+Key2 = 1c1523cb4f794c8a

+Key3 = cedf6797d523dcab

+Msg = 00

+Mac = 2e

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 8

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 45ce943bd31fe9b5

+Key2 = 677cc47c13c24923

+Key3 = 6b2086f14934838a

+Msg = 00

+Mac = 01

+Result = F (4 - Key or Key1 changed)

+

+Count = 9

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 804f9ef7baf7dfc7

+Key2 = 9bb6494cb60b8c07

+Key3 = 2080fe52e0d3943d

+Msg = 00

+Mac = c3

+Result = F (3 - MAC changed)

+

+Count = 10

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 73c10b833e1043ab

+Key2 = 16dcd343645d5207

+Key3 = 6426f7f88c3473c8

+Msg = 00

+Mac = 8b

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 11

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 310d54d96bc73452

+Key2 = bae34f158ceafb04

+Key3 = 4651c1b53de3da26

+Msg = 00

+Mac = ce

+Result = F (3 - MAC changed)

+

+Count = 12

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 0e3d49d0e692f20e

+Key2 = a9cd384a3b688c0e

+Key3 = 584ae5f794f8fe7f

+Msg = 00

+Mac = 4b

+Result = F (2 - Key or Key2 changed)

+

+Count = 13

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = b0fda857ea402f0b

+Key2 = d567e9f48568f1e0

+Key3 = 0ec2ad452a547a91

+Msg = 00

+Mac = 04

+Result = F (4 - Key or Key1 changed)

+

+Count = 14

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 1ac1543b1591f270

+Key2 = dcda0e9870b9d949

+Key3 = 68ea9b1c4380ae9e

+Msg = 00

+Mac = 43

+Result = P

+

+Count = 15

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = d0b008aea4454551

+Key2 = 9234a7731ab610b5

+Key3 = 2fb97a8ffbaedae6

+Msg = 00

+Mac = 4c

+Result = F (4 - Key or Key1 changed)

+

+Count = 16

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 04793b0b0e976d0b

+Key2 = bf493e58fb73681f

+Key3 = 1f54a262d649b985

+Msg = 00

+Mac = 77

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 17

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = 043b759b578ae570

+Key2 = 5e522f19cb9de092

+Key3 = 2af2e90eb6dcc1fd

+Msg = 00

+Mac = 77

+Result = F (3 - MAC changed)

+

+Count = 18

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = e58520088910513d

+Key2 = 7c10196e1a310dd5

+Key3 = 5b043b2a1ab97f85

+Msg = 00

+Mac = 1c

+Result = P

+

+Count = 19

+Klen = 3 

+Mlen = 0

+Tlen = 1

+Key1 = f27fd0f189452c15

+Key2 = 04681651014916ab

+Key3 = 204046aeeffecd15

+Msg = 00

+Mac = 0b

+Result = F (2 - Key or Key2 changed)

+

+Count = 20

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 860864a710ab0475

+Key2 = b9205751bfd91f7f

+Key3 = 3bf72abf13d97640

+Msg = 00

+Mac = e890abe6ea126215

+Result = F (3 - MAC changed)

+

+Count = 21

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = a7a1d57aabf1137c

+Key2 = fd0df2e35b8cdf2a

+Key3 = b386755bc2ab3d9d

+Msg = 00

+Mac = f475587c2101eff2

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 22

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = c2c28a4c7698804c

+Key2 = ab25b53783dc0419

+Key3 = ab16341f4cead054

+Msg = 00

+Mac = d335575aa3a4d8af

+Result = P

+

+Count = 23

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 7594a7aed3e986ba

+Key2 = 52a280e662d9e9da

+Key3 = 7649d3ad6838f2c2

+Msg = 00

+Mac = 0e109f43557f250f

+Result = F (4 - Key or Key1 changed)

+

+Count = 24

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 0798d9ef158cd698

+Key2 = fff4ade09b169762

+Key3 = 5b6e6849ec2c238a

+Msg = 00

+Mac = 05af623529b168a9

+Result = F (2 - Key or Key2 changed)

+

+Count = 25

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 254991cb4af76dc8

+Key2 = 2cf2e915918a025b

+Key3 = 2c61bfaee69b2676

+Msg = 00

+Mac = 725ab7a770762894

+Result = F (2 - Key or Key2 changed)

+

+Count = 26

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 9f68cbbf3bb5b3da

+Key2 = 31adb5a46e2cc8e3

+Key3 = f86ed9eaabb625da

+Msg = 00

+Mac = 0422d94f874dda7e

+Result = F (4 - Key or Key1 changed)

+

+Count = 27

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 1fd51f70a77ac8e9

+Key2 = 5dd9986e974c08ec

+Key3 = fd61ce34a75279f7

+Msg = 00

+Mac = a163a5d269b3cc3e

+Result = F (3 - MAC changed)

+

+Count = 28

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 078c57d6df9ba1d5

+Key2 = 08d94ac1b3d3c183

+Key3 = e90bf4fe7973c2c7

+Msg = 00

+Mac = 9af3f01e20dc7c1e

+Result = P

+

+Count = 29

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 08df322f040e7c01

+Key2 = e92343e69d83eac7

+Key3 = fe94c1ec0da22c1a

+Msg = 00

+Mac = 3d88c20a4f828c5b

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 30

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = b2ecf41c8692c2b0

+Key2 = 8ff18c1f1f296454

+Key3 = 383dcbc4a28c7629

+Msg = 00

+Mac = 17241dc726fa4c56

+Result = F (4 - Key or Key1 changed)

+

+Count = 31

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 07d99d58f2ec1fd5

+Key2 = ea46c73bf4b60ed0

+Key3 = f20ec149c831aecb

+Msg = 00

+Mac = f6a8a0b536fd97d3

+Result = P

+

+Count = 32

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 3dfdc19426fbd56d

+Key2 = b03b7985b32af857

+Key3 = a807c7b3621ffdda

+Msg = 00

+Mac = 3ef9b263ae1df460

+Result = F (2 - Key or Key2 changed)

+

+Count = 33

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = fbc79bab46b97923

+Key2 = ece6da4c40f1e6e9

+Key3 = eaa76770ef517a40

+Msg = 00

+Mac = b2da3efa7fc64abe

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 34

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 5ba4a1d5a80db5ef

+Key2 = 7ce6aeb9261cb00b

+Key3 = 8a5df23ea445e0c8

+Msg = 00

+Mac = 51b2e75334d90889

+Result = F (3 - MAC changed)

+

+Count = 35

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = e9c494e001027c86

+Key2 = c4649e58ea251904

+Key3 = 8025343dec34409e

+Msg = 00

+Mac = 166123f1c59132a3

+Result = P

+

+Count = 36

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 6bce61e646452a46

+Key2 = 54ba8a020d0876fb

+Key3 = 34ea2f6149bad664

+Msg = 00

+Mac = b0d0f625f06f2a3a

+Result = F (3 - MAC changed)

+

+Count = 37

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 2f38f79bc8e0ea4a

+Key2 = d09876f22ca43e10

+Key3 = 3b8fab02299d328c

+Msg = 00

+Mac = b26d377a504b8985

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 38

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 51febf790815f1d0

+Key2 = 9152d5e32f6713fb

+Key3 = 4a40c2c8fdb9f2b5

+Msg = 00

+Mac = a27978e62026743b

+Result = F (4 - Key or Key1 changed)

+

+Count = 39

+Klen = 3 

+Mlen = 0

+Tlen = 8

+Key1 = 10ba8fd6256ee9a4

+Key2 = fa8332a46ead52ab

+Key3 = b0e06e1fef04abb5

+Msg = 00

+Mac = e1b0a228c142555c

+Result = F (2 - Key or Key2 changed)

+

+Count = 40

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = f2fbab6734769e9b

+Key2 = ab45910e5775ab0d

+Key3 = 5bd5ea0db015a89e

+Msg = 7efeb7d4d14b3f2b3df4b8a276b18b49

+Mac = 5c

+Result = P

+

+Count = 41

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 5bc776ba64adf4ea

+Key2 = 195e04987c62a4f2

+Key3 = c1642fdc1a31705d

+Msg = d1fb4f35914404af9df3bf5c368c0e69

+Mac = 4d

+Result = F (1 - Message changed)

+

+Count = 42

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = b67c57f770202c6e

+Key2 = e91f4fb361bcae37

+Key3 = ada8d3df4fbcf4b9

+Msg = 9800db878187c87ea05bf92054b0e3e3

+Mac = 8b

+Result = F (3 - MAC changed)

+

+Count = 43

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = ce0bc48002fe7602

+Key2 = e702abe31c7a2313

+Key3 = d61964867f2579da

+Msg = 704e4e75be1623b21332c14555bf5edc

+Mac = b0

+Result = F (2 - Key or Key2 changed)

+

+Count = 44

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = ad75e32cc11980f2

+Key2 = d0570429680e9486

+Key3 = c2379207f862dcfd

+Msg = 197de855b3962b1fdad687f9c4f1efd6

+Mac = 44

+Result = F (4 - Key or Key1 changed)

+

+Count = 45

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 9db504803d29f126

+Key2 = 07fe58b3da765bad

+Key3 = 6dc489516e9bb5f8

+Msg = 8f296b265fa575d146799f9e39d52965

+Mac = 14

+Result = P

+

+Count = 46

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 991f0ed04079293d

+Key2 = 57077ff1baecd907

+Key3 = dcc7a719c4372967

+Msg = d9cfcc67520c5b2ceeb622c694a8e3fe

+Mac = a3

+Result = F (4 - Key or Key1 changed)

+

+Count = 47

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = eca815d6b0371cf1

+Key2 = 597980cdb6c892df

+Key3 = 3dba0ed3ba16ae1c

+Msg = a03636db2fdc84722aeb9d98a6ed70d0

+Mac = 78

+Result = F (2 - Key or Key2 changed)

+

+Count = 48

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = ea80a43d5886dfef

+Key2 = 08bf4f76a8893732

+Key3 = 4557a13752d6730d

+Msg = 0371a63ad722523ef297d8399b124593

+Mac = be

+Result = F (3 - MAC changed)

+

+Count = 49

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = e9fe73e640808c02

+Key2 = 9be6986446012091

+Key3 = 707023615462a40e

+Msg = 83bcb484dca73d49ac234ece3a5d2ad3

+Mac = d6

+Result = F (1 - Message changed)

+

+Count = 50

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 1fe9800ecb0dd9f1

+Key2 = dbbc6bc72c794c23

+Key3 = 899b08469b6bc8b5

+Msg = 95f4a41c4c64cd7310fba748aa267a14

+Mac = 59

+Result = F (2 - Key or Key2 changed)

+

+Count = 51

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 34546261a21c1c43

+Key2 = 0449eaeca4f29725

+Key3 = 4cc4e6525186802f

+Msg = d204de1e671d3e43670dd67fee114402

+Mac = 6e

+Result = F (1 - Message changed)

+

+Count = 52

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 048aa8701fb5fe26

+Key2 = d56bd53d83e60bd9

+Key3 = 6707d6523ebc32f4

+Msg = f4e9f92fd2c9313fb61a889eaa4ff283

+Mac = d5

+Result = P

+

+Count = 53

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 6ec19b02976e5ba2

+Key2 = 13540732d997c2b6

+Key3 = 7f4068926183251c

+Msg = 963363ab7c82b634974954bd0fe2c307

+Mac = d7

+Result = F (3 - MAC changed)

+

+Count = 54

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = f4ecea5d32e32c6e

+Key2 = 385710cd3eb0fe51

+Key3 = 5d4c8f7ccdf10154

+Msg = a298857dc60ad2f0a8fa878607b50c18

+Mac = 4c

+Result = F (4 - Key or Key1 changed)

+

+Count = 55

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = b31ff49dd970f8e9

+Key2 = 164aefb00efb5461

+Key3 = 981629757f4532dc

+Msg = fc3957b2ed0558bce61d478be615b774

+Mac = 90

+Result = P

+

+Count = 56

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 85384543d3aef157

+Key2 = 57ea916d9b2fd0c8

+Key3 = 1a85830473fbe6c4

+Msg = 87db0d9d69bc0cf69cabeb92570e482b

+Mac = 53

+Result = F (4 - Key or Key1 changed)

+

+Count = 57

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 9bf8fb0b464070f8

+Key2 = 10ea23c7e5a19bcb

+Key3 = 408c236e10863e2a

+Msg = f9c98cd8a7d27553da946427b8276349

+Mac = 53

+Result = F (2 - Key or Key2 changed)

+

+Count = 58

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = 91b083e9c8e9803b

+Key2 = 76d0341cd54c38e5

+Key3 = 07bca7f44a3e76bc

+Msg = 7e5b64dc6bcbae6bb4496fc033947343

+Mac = de

+Result = F (3 - MAC changed)

+

+Count = 59

+Klen = 3 

+Mlen = 16

+Tlen = 1

+Key1 = e6795b1ffe8f3e38

+Key2 = 4fdcea8c73c76e75

+Key3 = df0726ae4c079461

+Msg = 5265fb6a796d99a6beec6f71ba267b5d

+Mac = e0

+Result = F (1 - Message changed)

+

+Count = 60

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = 375710c76202bff1

+Key2 = 3bb96170d5df4cce

+Key3 = 23d5daa22a982f08

+Msg = 52f5a110dddc9f44f8a534eef9df0b22

+Mac = b1b9e11939228900

+Result = P

+

+Count = 61

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = b59b855dce76adf4

+Key2 = be9bae10fe34fb1c

+Key3 = 0d49159bf804a4ea

+Msg = 869f3b62ee78bfeb5287168eacf69ccb

+Mac = 169a389352793c8b

+Result = F (2 - Key or Key2 changed)

+

+Count = 62

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = 615d792a7038fd89

+Key2 = 98ce972f016e75a8

+Key3 = c470255783b32f01

+Msg = e5aed6715aa4291f9c32baf6b8449b53

+Mac = 73ac2da999bfdf5d

+Result = F (1 - Message changed)

+

+Count = 63

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = 1fb09443a1074564

+Key2 = 3d1aa82c086eba13

+Key3 = c137d0f4ea54d604

+Msg = 16f02efd285381d7657ca5cd99d9e25b

+Mac = 38126d16957893ce

+Result = F (3 - MAC changed)

+

+Count = 64

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = 2e5d163461fea761

+Key2 = 9173bf75372fb640

+Key3 = 9e3d1c3dcdbfbc31

+Msg = b10fcb03443302ae929ff95a17b025fa

+Mac = b70f2d761ca643c9

+Result = F (4 - Key or Key1 changed)

+

+Count = 65

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = b9e5861c1c4013d3

+Key2 = d554806efd3801a1

+Key3 = 64d9bc3d646e76dc

+Msg = 0e6c9fced82669cffe7b5a6f09dceec8

+Mac = 78ce4635e486635a

+Result = F (3 - MAC changed)

+

+Count = 66

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = ad2376516b974c70

+Key2 = cd3b5870c2312929

+Key3 = 1a731a7feacbf783

+Msg = 88eb7a0379da9d113343dc1fe0f3e6f7

+Mac = 0c949483e7fa7d0c

+Result = F (1 - Message changed)

+

+Count = 67

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = 9ada194c100eeacb

+Key2 = da23ad9825c194d0

+Key3 = 3ef1f4c438dce031

+Msg = 0f9703a3454c25c0b1053de62b0ffc5b

+Mac = c78a4ca3662527e5

+Result = F (4 - Key or Key1 changed)

+

+Count = 68

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = e375f870f4d55b02

+Key2 = 1b015791e3e337b3

+Key3 = 370dc45b15671c5b

+Msg = 5ad9dd3b112ea4cee1654d2dfabab01e

+Mac = 22becbbe7bfcade5

+Result = F (2 - Key or Key2 changed)

+

+Count = 69

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = d61f4aeff4b5f2f8

+Key2 = 0486b53de3ecc297

+Key3 = 807fe92fc2fed376

+Msg = d094cf77a709c0fa5d6b4b7e9e86a2c2

+Mac = 947d024d9d5359a8

+Result = P

+

+Count = 70

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = c2c28a4c7698804c

+Key2 = ab25b53783dc0419

+Key3 = ab16341f4cead054

+Msg = 7295a7aed3e987baef19ad68c33ba5a5

+Mac = 58de82acc10d556f

+Result = P

+

+Count = 71

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = f1ce4992c851e3a8

+Key2 = 835ec1abef97f2c8

+Key3 = 5b92384f20dcc2ad

+Msg = 9094935fcd7c389dd17b5b121cddadf9

+Mac = 319c70370c172de3

+Result = F (3 - MAC changed)

+

+Count = 72

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = c16ebcc1165d6892

+Key2 = 75268c4602f8c8bf

+Key3 = dab97f79544cf1cd

+Msg = b7ba1c66282cb6092ba601407ff9578a

+Mac = d73c26311bd44a32

+Result = F (2 - Key or Key2 changed)

+

+Count = 73

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = fe4a796720a46dbc

+Key2 = 98f45289e9f8b080

+Key3 = e05def5b25520d43

+Msg = 31c9eed491bb0cda9b8c0eb5afa31019

+Mac = 8c2ce22633c62751

+Result = F (1 - Message changed)

+

+Count = 74

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = eefb40c715c4546d

+Key2 = 5b2325c8d9daa48a

+Key3 = d5ec4a6bc82a7a62

+Msg = 5a97259dfa081f040d3893da2f231ca3

+Mac = a64113544f509be8

+Result = F (4 - Key or Key1 changed)

+

+Count = 75

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = 0d0851311ca45db0

+Key2 = 3d7c458957c8c408

+Key3 = 98d37c9d51ab2f25

+Msg = 8be16380af3e2dbc6cf678c2e3331335

+Mac = 8817baeaa909e33a

+Result = P

+

+Count = 76

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = b7239438d61cd626

+Key2 = 082c6404cb3897b5

+Key3 = c4c732cdd5e043c2

+Msg = 7120f19169e7cbb913c7d1f0ceb006c0

+Mac = 32841ad7621cc0fc

+Result = F (4 - Key or Key1 changed)

+

+Count = 77

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = 73f449ef83df75e9

+Key2 = 5f3d2016bfd0703b

+Key3 = 31abc16b58b64af4

+Msg = 83ecbfcff3bc37f1305d83bc0290350c

+Mac = 8f8ba8bfc74203fa

+Result = F (2 - Key or Key2 changed)

+

+Count = 78

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = 9b6ea461c7b9abe6

+Key2 = 4a08dcdc5b9e01fe

+Key3 = 6b850e9b6ebae9d6

+Msg = c538416fba487fac5c94449d0757f3e9

+Mac = c13f372e9a061db8

+Result = F (3 - MAC changed)

+

+Count = 79

+Klen = 3 

+Mlen = 16

+Tlen = 8

+Key1 = c7aeeacb156dfbfb

+Key2 = ba43ef516232a7d3

+Key3 = 2c572aea62808c68

+Msg = a1bc9950759d0df4cffaf29345dfb340

+Mac = d7dad4519b56a1eb

+Result = F (1 - Message changed)

+

+Count = 80

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = cda4d34370234946

+Key2 = c408ea6bec07c78c

+Key3 = 19eff7f798fd6808

+Msg = d1fb0b68176269cf9fda18bf13efc054f0c24fd042b9e2ecaf75e86cb60484f6

+Mac = d8

+Result = F (4 - Key or Key1 changed)

+

+Count = 81

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 02100be5627686a8

+Key2 = 7f0b38ec073e75ef

+Key3 = 373b1a64ba5416d9

+Msg = c60be37fb0bda4f46894690b3344643c772fbd2237db348adaa407ca2eae1654

+Mac = fb

+Result = F (1 - Message changed)

+

+Count = 82

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 7597571a6e7c6bc8

+Key2 = c143a2a461626b1a

+Key3 = 6b1307d910434cc7

+Msg = 49cb128641f7952dfdf34f338da268b2ef1482557b593ec57f930164264ff83e

+Mac = 90

+Result = F (2 - Key or Key2 changed)

+

+Count = 83

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = ae89ad615201546b

+Key2 = ae20765745458fce

+Key3 = efd0867fba43dcb0

+Msg = e47d8659c9ad94971adedd6bce744206e1cfb65d042b942d93c4363cc73ec3e3

+Mac = 95

+Result = F (3 - MAC changed)

+

+Count = 84

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = b65886f13d6e8c4a

+Key2 = 0708e0b0730473a8

+Key3 = d04f2a86dc0b9e7a

+Msg = b97c12251d91512fe7b3a349a982409c7412f39494d970e77acbe9d3fac3dca7

+Mac = 05

+Result = P

+

+Count = 85

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 3197a4a26261588a

+Key2 = 0dc4a75ec8b99b58

+Key3 = efb93e7620205289

+Msg = 65f4b3a00c1c1ef39445a69b2150b034705410140ff9dad0ce21740271cef04a

+Mac = 57

+Result = F (4 - Key or Key1 changed)

+

+Count = 86

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 62c4a16e946b4313

+Key2 = d09ea80e7fb33449

+Key3 = 164fdc04c2d5f116

+Msg = 898e824fdc89f21779156a9e58564c4b99004b95226c2ebb8aebd0b5365a6c6a

+Mac = 93

+Result = F (2 - Key or Key2 changed)

+

+Count = 87

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 6eeff20d3d5d5223

+Key2 = 258076b313611c1c

+Key3 = b013b957f70d9e62

+Msg = 2d7fec1a1e9ee85cf960e5dc4e239619ed85f4b14d32cbd42dfa79f77a27f2cd

+Mac = 0a

+Result = F (1 - Message changed)

+

+Count = 88

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 193e23e6fd8aa185

+Key2 = 1910cbdc549da804

+Key3 = 6b769b4923523425

+Msg = bd65798a1d02ab164e2d31b1387e505874779539046820bd429043c617854c36

+Mac = d3

+Result = P

+

+Count = 89

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 150789ab37ef2ce9

+Key2 = 10cdf45dad9ed9e5

+Key3 = f475fd3e153898fe

+Msg = 044dd73a7d1ef37a437c09e9268708c82ebad189dc1e989ab3bd8d7ff75abc23

+Mac = e4

+Result = F (3 - MAC changed)

+

+Count = 90

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 48d9d08a6bdcc4f8

+Key2 = 1383641c08735d0e

+Key3 = 374a89c8cb73a7f4

+Msg = d62fb84f2a2442b52acf817d7f067edca031970bea092c35f29f9a931aa06dd6

+Mac = 26

+Result = F (4 - Key or Key1 changed)

+

+Count = 91

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 68f4620da8b00201

+Key2 = df1c8362345180d3

+Key3 = 26abda897f89d90d

+Msg = 0ac3f7f22d24b64aa584845d3a990bb69e5d2d4650640056c16c17c0b636045f

+Mac = f9

+Result = P

+

+Count = 92

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 1c259df7492361b6

+Key2 = cd4acdb65b3e5b1c

+Key3 = 3b01addc2579ef64

+Msg = 607f4730a5ea9dabfbcd8586f680c3021c7ebc858e73354beb975d58713b0eb1

+Mac = fa

+Result = F (3 - MAC changed)

+

+Count = 93

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = f18a9dba9db5dff1

+Key2 = d5987013a4b69e38

+Key3 = dc16e0ce1351e3f4

+Msg = bfe99e184a7d7bf0b4ade8f402f2c49aa4948e74b2d5c905756ba5d32934dbbd

+Mac = e4

+Result = F (2 - Key or Key2 changed)

+

+Count = 94

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 8361bac48afb1091

+Key2 = da85400d107fbf8f

+Key3 = 31ec732cc29d7045

+Msg = 3a1ee70d4607325c13bff68e402e0a72742f6a63ae972c6dda74b6b2a3922f0c

+Mac = 0e

+Result = F (1 - Message changed)

+

+Count = 95

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = d0df1adf1cf72032

+Key2 = 1504d564ec1aea61

+Key3 = c42fada45d80a43e

+Msg = 3a53d9c7ae59e7811699fb0973e43256ed92162267c7ca4b57f5887ad5a24e02

+Mac = 8a

+Result = F (2 - Key or Key2 changed)

+

+Count = 96

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 973bfe5b3be573da

+Key2 = 94b3ec7f343e46ab

+Key3 = dcaeabc8df405db6

+Msg = c8437dba76591a9031b3aa3b59fec0562d4eac439ca8efca57c3f2022b0ff775

+Mac = 53

+Result = F (3 - MAC changed)

+

+Count = 97

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = bc89867c43a74640

+Key2 = df347fb319464c80

+Key3 = fd92108a266bcdcd

+Msg = 1c9898ede16139560519e808ee9ddaf710a5bab30f54ed98230d1a44c189ea4f

+Mac = f6

+Result = F (4 - Key or Key1 changed)

+

+Count = 98

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = fde925e301897f67

+Key2 = 54b3ab80f815df15

+Key3 = dc58928aa286c8e5

+Msg = b34f898d98a3aa0fa022b1b1d76953a5b3ecc88d60f2c79b59e1b1f636bc0d60

+Mac = 0f

+Result = F (1 - Message changed)

+

+Count = 99

+Klen = 3 

+Mlen = 32

+Tlen = 1

+Key1 = 8a704ffe43e951f8

+Key2 = 2346dc8501202a40

+Key3 = d67afed616230113

+Msg = b2b4cb5e90ebf4bd265093b7f5efd4d62dc60e29737aa496e14929724e40c74f

+Mac = df

+Result = P

+

+Count = 100

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 8c1f29f440f7f8b5

+Key2 = 5b45fe8f1f688661

+Key3 = ba40f43d9e7cc86b

+Msg = 220817144a15a0a654fc1beaabce60270aa72df83591754ee7a5fbb40b7420d7

+Mac = 80ac51c2ef7bd5d7

+Result = P

+

+Count = 101

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = d66e76d97f94ea16

+Key2 = f15e3ed06dd94598

+Key3 = ae073d1a6e5bc819

+Msg = 233d547ab33790859ab0dbc7a93f3bbebb610bed9acbfbce1fff580e9a1e8ef9

+Mac = 4cb8ce681e4bc7c8

+Result = F (1 - Message changed)

+

+Count = 102

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 0437836df770e943

+Key2 = c96e2c43bffd5298

+Key3 = 8552fbc16215e0c4

+Msg = 4f87d730bdfc7a7c72525c6b26ee9cae9a219b30d9575fedbd913a07b615a616

+Mac = ea79cbc28f4264db

+Result = F (2 - Key or Key2 changed)

+

+Count = 103

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = d849ba8570b6ef9d

+Key2 = f1405732aeb61f92

+Key3 = 73c8e51ff167f857

+Msg = fd03202d0bd109b6e4299c7390c1407cd21ffb110013e6381185dea8f8707de6

+Mac = 71070b17d05dabef

+Result = F (4 - Key or Key1 changed)

+

+Count = 104

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 914cef7ab6d998dc

+Key2 = a767abc18cf485e9

+Key3 = a2624ff20b2a408a

+Msg = bc5ce4c0bf3ad1a93e5306c9d7dbb620dde8708efe84e78c2200f41a958cdef8

+Mac = 3cf4aaf3d337c9c8

+Result = F (3 - MAC changed)

+

+Count = 105

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 757f52e626eabce0

+Key2 = 700d91f14554bcb0

+Key3 = 548640d0dfaec2ab

+Msg = 22a4cf581584346095783be0982744c6201ff040760f868ab63895058d1edb88

+Mac = b008b1150535ef11

+Result = F (1 - Message changed)

+

+Count = 106

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = d65d0e58d3133b34

+Key2 = 289e58704994a249

+Key3 = e3df20ae3d585e2f

+Msg = 94c8414cbbec52e2d73bb8f02ef687c91432495c0c744666317d02e6d46706d2

+Mac = b1292e1c7074dcfc

+Result = F (2 - Key or Key2 changed)

+

+Count = 107

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = d77a4989f4a17f2a

+Key2 = 409d91d51fa4d045

+Key3 = 6bb652ea1526fd4f

+Msg = 7a08ce579ae7af8004421cff72715e0b137da81f47d8f84da34c3ed53c32c0f6

+Mac = 8b3cb70477ca7ca8

+Result = F (4 - Key or Key1 changed)

+

+Count = 108

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = e670c17519d9c2f2

+Key2 = dcc8a132629b462f

+Key3 = 58c1d52543ad570d

+Msg = a6dbad96ad23ff61479df39b99f0673a09f2a7eaebbd34b95d05c4146fa989f2

+Mac = c470ec40599a0a11

+Result = F (3 - MAC changed)

+

+Count = 109

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 290d292a15b6268a

+Key2 = 2638d9ad83ad1f34

+Key3 = a7d9ba62735dc2d3

+Msg = ef995cbfc49b0ebccdbd37d9f40a431c385d33d4b8234d7f0d6211eaddfb709a

+Mac = 67ae62fb8142bd8b

+Result = P

+

+Count = 110

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 4faba73bcd5b5dfe

+Key2 = 1c97ea85207a97a7

+Key3 = 19eff116100dc82f

+Msg = c48e53c6956432460584c7ee1577c1c38b7fae2ff288199be25bf64081154139

+Mac = d68a4558e95a67e4

+Result = F (2 - Key or Key2 changed)

+

+Count = 111

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = d37c3dbc2f68baba

+Key2 = 918cb5e39237e016

+Key3 = f286b0739d38c4fb

+Msg = 2533361761ac80578fa262a50462045e3ec6e4d5d25c6e99a5c4ccf75f5affc0

+Mac = c20f36e67732f864

+Result = P

+

+Count = 112

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = a0baa71c38d6d064

+Key2 = 8f58ba45cb494ab9

+Key3 = 853decc431f7b3cd

+Msg = 20e394c7cc90bdfa6186fc1ba6fff158dfc690e24ba4c9fbf11b68519d573a8a

+Mac = 4ba956b98a99d7bf

+Result = F (4 - Key or Key1 changed)

+

+Count = 113

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = b69752407c68b6bf

+Key2 = 8fceb05201ec4320

+Key3 = 2a755e372373ef26

+Msg = e884d65c87411584a56956d5b27ca9725b473c205b64cff09400671f5ee0473a

+Mac = 9f3de5e8cddc374d

+Result = F (3 - MAC changed)

+

+Count = 114

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 8c04e0f27f83b0ec

+Key2 = 042cfb6883348fe6

+Key3 = 404f5dfe587ab591

+Msg = 8a34cd562b111fe04fa0bf5e004faedaef99d0bab9344d966c8b3847486e6f40

+Mac = 6c530215fb25015b

+Result = F (1 - Message changed)

+

+Count = 115

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 429401ea49cd97b0

+Key2 = a8f1b6b63101cee0

+Key3 = 20bcd08c5d16e049

+Msg = 591d88123fc9a786b247e8d5ce155f136d6fe4084117c41f2056b67f9e3e1077

+Mac = 6c414640b424cf56

+Result = F (4 - Key or Key1 changed)

+

+Count = 116

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = c470255783b32f01

+Key2 = e3aed6705ba4291f

+Key3 = 7319100e54f432d3

+Msg = 01acc3282fe41b62f95f5dbfb7e7bfef694c5fe34ca87d31abe7e7bbf887b48c

+Mac = cd99df4814667454

+Result = F (3 - MAC changed)

+

+Count = 117

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 73c10b833e1043ab

+Key2 = 18dcd343645d5207

+Key3 = 6426f7f88c3473c8

+Msg = 068e4a0b1a62dd64198f1b9ece814c2feeeee50ba814b70d7d42659952991b80

+Mac = 1fc90834b7dd090b

+Result = F (2 - Key or Key2 changed)

+

+Count = 118

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 37eae98ff42afb25

+Key2 = f2231c028c29da9d

+Key3 = ef3da8d0c77fbf45

+Msg = f266cec01c5fc08c0bdabc9537bd1aa2df9f2b8ffbe5cc94722a3bca8de529ea

+Mac = b3809c8b0eb9dd8d

+Result = P

+

+Count = 119

+Klen = 3 

+Mlen = 32

+Tlen = 8

+Key1 = 1358fb67155e0145

+Key2 = d02c54a1206b5d7f

+Key3 = 1c04ba46c74a5d49

+Msg = e38b4c3e7a82643beb3192426555ad9c9b2620d677373fc40c9ddbc4cd531347

+Mac = b000e2ea1ef48a8f

+Result = F (1 - Message changed)

+

+Count = 120

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = f6b9a81067255b58

+Key2 = 927cfbc4cdec9285

+Key3 = dcd62345bfe03b92

+Msg = 246b66b10696adc45840

+Mac = b4

+Result = F (4 - Key or Key1 changed)

+

+Count = 121

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = fea186dc73d3807f

+Key2 = b8fec7387a197962

+Key3 = 4c91abe60db64ff1

+Msg = 8ba298364af144a8d5f3

+Mac = a6

+Result = F (2 - Key or Key2 changed)

+

+Count = 122

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = f264da8607ea439e

+Key2 = fdb9daa41fd34958

+Key3 = f85d6b859b9892bf

+Msg = 402006f6b18dbd11dcd1

+Mac = 28

+Result = P

+

+Count = 123

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 191c461adc4f7f4f

+Key2 = 75b932e68cb98cfd

+Key3 = cb2943857a1c9438

+Msg = 391deef3a9a41394d14a

+Mac = 3c

+Result = F (3 - MAC changed)

+

+Count = 124

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = a2c2f713430ece92

+Key2 = df081ae9627a1351

+Key3 = c1ec469ba8c73b67

+Msg = 37a49535684637f67573

+Mac = 40

+Result = F (1 - Message changed)

+

+Count = 125

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 7b61dac238ba3e83

+Key2 = d05e9ed34fc410ce

+Key3 = 98da194c100eeacb

+Msg = da22ad9825c195d1e297

+Mac = 43

+Result = F (4 - Key or Key1 changed)

+

+Count = 126

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 13aec10d13fd37c7

+Key2 = 89198c3bcd38b951

+Key3 = ecf843cdef7397cb

+Msg = b7625aa78d2961c0fee6

+Mac = f1

+Result = F (1 - Message changed)

+

+Count = 127

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = d94a68ec329d914a

+Key2 = 394a8acea420e952

+Key3 = ec04c8cb8602aec8

+Msg = e043f30a405c41938914

+Mac = 6f

+Result = F (2 - Key or Key2 changed)

+

+Count = 128

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = d5cb7579582fb6a8

+Key2 = e67f3ba11383d61f

+Key3 = da370852e9b9c2a1

+Msg = 7d32f440151a7069fd73

+Mac = b7

+Result = F (3 - MAC changed)

+

+Count = 129

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 92402f6eb54526b3

+Key2 = 924515d92ad5a1d0

+Key3 = 9ead2adfb025f81a

+Msg = fd44d8d0fea5cfdf3321

+Mac = 2f

+Result = P

+

+Count = 130

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = a9daad97ad23fe61

+Key2 = 32e5988a37987a38

+Key3 = 31626d16a780c825

+Msg = d6cf17192f8ad745ab5b

+Mac = 8f

+Result = F (4 - Key or Key1 changed)

+

+Count = 131

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 52c457d9d5d5ab94

+Key2 = 9d3875ba6d75fdba

+Key3 = 4fb91a863d15ce52

+Msg = 4effbf732e67af7203b3

+Mac = 04

+Result = F (3 - MAC changed)

+

+Count = 132

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 7304b65492fd0402

+Key2 = 62a4cb7c23708057

+Key3 = f2f7bf13839e01e5

+Msg = a630c0f362eef35b6a58

+Mac = aa

+Result = P

+

+Count = 133

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 51b33425a1349792

+Key2 = dc5b8ca440eae6ad

+Key3 = 70adf49dd0a8f119

+Msg = af246a8a810cca5e657b

+Mac = 0b

+Result = F (1 - Message changed)

+

+Count = 134

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = f22029ce51619e0d

+Key2 = 9d51bcc2089785e0

+Key3 = 689d62621abab3b0

+Msg = a9c9fb632423d367b3eb

+Mac = 0c

+Result = F (2 - Key or Key2 changed)

+

+Count = 135

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 1ca226d0dc8c328a

+Key2 = f18a9dc176621f51

+Key3 = 3d765d20e03b4cea

+Msg = f9d9fb44919e47cdeaf8

+Mac = b0

+Result = F (3 - MAC changed)

+

+Count = 136

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = f3ce4992c851e3a8

+Key2 = 835ec1abef97f2c8

+Key3 = 5b92384f20dcc2ad

+Msg = 9094935fcd7c389dd17b

+Mac = 3c

+Result = F (4 - Key or Key1 changed)

+

+Count = 137

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = bfd929cdd9c2089d

+Key2 = 8e49988abcfbf458

+Key3 = da73d986894fce4c

+Msg = 88018424fdb76c908bd6

+Mac = 94

+Result = F (2 - Key or Key2 changed)

+

+Count = 138

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = 57bf2ca4e3629797

+Key2 = ef7f675443402546

+Key3 = 6e4f924038f8bc92

+Msg = dd4f0a872f4b7089d697

+Mac = 5b

+Result = F (1 - Message changed)

+

+Count = 139

+Klen = 3 

+Mlen = 10

+Tlen = 1

+Key1 = ba86924908df08b3

+Key2 = 26b954ba52df2c98

+Key3 = bf38cb0e89b9f4cd

+Msg = a682e6fd64df4b9f4fe8

+Mac = ea

+Result = P

+

+Count = 140

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 52859849a4b6c1d5

+Key2 = 380e73c7aefb0168

+Key3 = c479fef80eb6260d

+Msg = ee6857533675b5ed8d43

+Mac = 43fd25f696cb0693

+Result = F (1 - Message changed)

+

+Count = 141

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 97ae01315d13ec52

+Key2 = c7674cc1ab0bbab3

+Key3 = b68fb99797b33b79

+Msg = ce9127f649bfff849826

+Mac = 2dfe01d9bc07646b

+Result = P

+

+Count = 142

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 2b257032b0d9b0b3

+Key2 = 49f7c10e8a9bcd37

+Key3 = 20f4fb4679106ddc

+Msg = b2c62d03902c44253368

+Mac = 14c5ccf5f9433a0f

+Result = F (4 - Key or Key1 changed)

+

+Count = 143

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 0b988c3d380e5b80

+Key2 = b86be99162029b54

+Key3 = e0bc9775838a58ea

+Msg = 61ababff3763183c348d

+Mac = 28a2de26aa6b4074

+Result = F (2 - Key or Key2 changed)

+

+Count = 144

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 26e9abbf201fe5b9

+Key2 = 7062a82f800d5183

+Key3 = cd45e654bf5d205e

+Msg = 020683e1f0392f4cac54

+Mac = 6f1522d3c8186217

+Result = F (3 - MAC changed)

+

+Count = 145

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 3443f4016dadcd86

+Key2 = 235dec80323e5838

+Key3 = fd583285e6efbc51

+Msg = e64eeb89828b4297601a

+Mac = 5575a40dba5bc4c6

+Result = F (3 - MAC changed)

+

+Count = 146

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 76c7616785916470

+Key2 = 5b3d1f10e5252fda

+Key3 = 75a2d632a46ea18c

+Msg = ac7d701597f0ba879055

+Mac = 06b98e161e6a6754

+Result = P

+

+Count = 147

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = f12367b568a758b5

+Key2 = 7b2f9770924f2c0d

+Key3 = 1f8ad9e9b97a088a

+Msg = b99de8168e8c13ea4aef

+Mac = db534a059f930ee0

+Result = F (2 - Key or Key2 changed)

+

+Count = 148

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = f1adb67986923d8c

+Key2 = 02671957dcf75808

+Key3 = 52732ae970467019

+Msg = f759c3033d4ed34948d7

+Mac = 2d9caabf50999ac6

+Result = F (4 - Key or Key1 changed)

+

+Count = 149

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 792f9770924f2c0d

+Key2 = 1f8ad9e9b97a088a

+Key3 = b99de9168f8c13ea

+Msg = 8bae64015d62f68565d1

+Mac = a42f89527f5cb219

+Result = F (1 - Message changed)

+

+Count = 150

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 31ec790d4a8a131c

+Key2 = 562c8cdc07e331d3

+Key3 = f4a7467043924c4f

+Msg = 1798286c37c1504fc0d7

+Mac = f0d6e2f7edce6349

+Result = F (2 - Key or Key2 changed)

+

+Count = 151

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = adb692e376a12585

+Key2 = 8c8c4362ea97f810

+Key3 = 528f204c19f21a31

+Msg = 6543e675d34639a7f7eb

+Mac = fac96e6804526535

+Result = F (4 - Key or Key1 changed)

+

+Count = 152

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 62984a64ec7c4a92

+Key2 = feda64dfd9a24f9b

+Key3 = cbb04f7a1f26df31

+Msg = adb555fd5f5c6bdd9c4e

+Mac = e8dee8714b285a00

+Result = F (3 - MAC changed)

+

+Count = 153

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = ef0d58b55ddae95d

+Key2 = 80e07ca4aebcfd34

+Key3 = bf947ff4ab2904e5

+Msg = 1fe87a2f431f3718665a

+Mac = 44a869aee76d79db

+Result = P

+

+Count = 154

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = aef4ceb55e3d37fe

+Key2 = bc0bb9d05bad972c

+Key3 = e0a29b2c7940ce9b

+Msg = 78ad5f3718acf9e8cc7c

+Mac = dcc1d44200caf6f7

+Result = F (1 - Message changed)

+

+Count = 155

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = a4403438f8fb254f

+Key2 = bac752cd83a170b5

+Key3 = 6bf71654f1854589

+Msg = 349566b6716e5f831d69

+Mac = 7c08cc43ff4d8e07

+Result = F (1 - Message changed)

+

+Count = 156

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 2fc7f4c1ce042f73

+Key2 = 8346bf7a80b38640

+Key3 = 2ff74abfc197a732

+Msg = 43a32b8ab9b7ce4bbd1b

+Mac = 8000a2612215014a

+Result = P

+

+Count = 157

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = c40ddc9e29ce041a

+Key2 = 583d6bc4c1a2abf2

+Key3 = 9b018fd5a4084a64

+Msg = 2286a1eddd80737a724c

+Mac = 0ff14761c982f890

+Result = F (3 - MAC changed)

+

+Count = 158

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = bc327a0bcb2575df

+Key2 = 6b9483e6e0755d2a

+Key3 = 622cdc5b2916ab89

+Msg = e1be89af98ffd7d9257a

+Mac = d6f4c8d96b3e2180

+Result = F (4 - Key or Key1 changed)

+

+Count = 159

+Klen = 3 

+Mlen = 10

+Tlen = 8

+Key1 = 9e517cd616a48ada

+Key2 = 6d266192d5387a97

+Key3 = 8a081fda97c86b94

+Msg = 9e9fb0b2b77be6eeaae8

+Mac = ba0b73fbffc0ab0b

+Result = F (2 - Key or Key2 changed)

+

+Count = 160

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = e0b9a826a85efe94

+Key2 = 4f615bce7cc1ba68

+Key3 = 3bb56d3d9816103e

+Msg = cfe9ee956cb1f5a60aa6ec79a3e454224b456879

+Mac = 64

+Result = F (3 - MAC changed)

+

+Count = 161

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 1e08a794a175b69e

+Key2 = f7d3ab46aeb9073e

+Key3 = 3e7cf8cea19d0891

+Msg = eb4f5b04517ee93e2c900e01948ac81ca56b2b26

+Mac = 79

+Result = F (4 - Key or Key1 changed)

+

+Count = 162

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 8f26700dc140570b

+Key2 = 8325e3a889c823ad

+Key3 = 6b048aa73decf83b

+Msg = cefb55151933a488e2b3d421dea9720727188106

+Mac = 85

+Result = P

+

+Count = 163

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 3443f4016dadcd86

+Key2 = 255dec80323e5838

+Key3 = fd583285e6efbc51

+Msg = e64eeb89828b4297601a5b3fcde60075fc2424ae

+Mac = c0

+Result = F (2 - Key or Key2 changed)

+

+Count = 164

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 91a401cbb6460b16

+Key2 = 85438675f15b6e73

+Key3 = b09140318a767038

+Msg = 8c65cde13149d9d54a5bccc17747f1d5f3e807e3

+Mac = 56

+Result = F (1 - Message changed)

+

+Count = 165

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = b78a16fb9b075d3b

+Key2 = dcabbf7a07150261

+Key3 = f7644a01d5dcea46

+Msg = abe2fd996bb6804ed3286c057df9cea6836a2dad

+Mac = 09

+Result = F (4 - Key or Key1 changed)

+

+Count = 166

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = ce8a467534cd679e

+Key2 = cb9ee6fb70a42f4f

+Key3 = 16c1e5c1459e4ac8

+Msg = 3c56ccfbe92023109983e740d6a53488b813ee87

+Mac = c8

+Result = F (1 - Message changed)

+

+Count = 167

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 401f0de0efd6dfa8

+Key2 = 16ae7c3bbc6e5b86

+Key3 = 4ffebf790815f1d0

+Msg = 9052d5e22e6712fab88e8dfaa928b6e015ca589c

+Mac = 61

+Result = P

+

+Count = 168

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = d357bf5bef2cfba7

+Key2 = b757d3abf49b4ac2

+Key3 = 16388051da8a04a7

+Msg = b04e8f6d20924be8e4e2c6767f87b74377bdf90c

+Mac = 72

+Result = F (2 - Key or Key2 changed)

+

+Count = 169

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = f8ea68aba1bcd9e6

+Key2 = 4abaa4260d864573

+Key3 = a49840ab737af7b0

+Msg = 1fc99e586f87932445930a300eb28191d9c6215b

+Mac = 19

+Result = F (3 - MAC changed)

+

+Count = 170

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 94ec086d8c0110cd

+Key2 = 4ea11f327f70c245

+Key3 = c8d07adf7c7c5eb9

+Msg = 812dbc453a1fda59f73aceea3bc84d2c7a437dfc

+Mac = b2

+Result = F (2 - Key or Key2 changed)

+

+Count = 171

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 9d575d582a9723c1

+Key2 = 294af47a54b051fe

+Key3 = 5131bff85bf12608

+Msg = 266e5305b96f497a956ae82b20367ebac0b14215

+Mac = a9

+Result = F (1 - Message changed)

+

+Count = 172

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 913d800ecd0dc762

+Key2 = 7f6ec476b6b07c15

+Key3 = 973262ab7c83b634

+Msg = 4670a266bebcdf95c62d36cda33d50e6650fcdcd

+Mac = 4f

+Result = P

+

+Count = 173

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = b97ffe79d068ece5

+Key2 = 4a75fe2f67dae392

+Key3 = 45a4d9f17a9d70f8

+Msg = b53017500c100dea0511845597214484fc5f7f34

+Mac = 6d

+Result = F (3 - MAC changed)

+

+Count = 174

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 7e1af10bcd86c283

+Key2 = 51cd37540e19021a

+Key3 = 988fd3c7250e2a6d

+Msg = da1919d4a2a7fcc34c88fb2065e52bf9dbc50731

+Mac = 22

+Result = F (4 - Key or Key1 changed)

+

+Count = 175

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 8c0dc16eb9c80775

+Key2 = 6eeff20d3d5d5223

+Key3 = 258076b313611c1c

+Msg = b212b857f70c9f63d0c9d2ccd253c28d1534631f

+Mac = 2e

+Result = F (1 - Message changed)

+

+Count = 176

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 92c29eb0bf3e73a4

+Key2 = c6ecfbe6cd49bf4f

+Key3 = ef19d9d06d7a5e7f

+Msg = 969304e651ca62039088f8123085ac3263796b67

+Mac = 57

+Result = F (2 - Key or Key2 changed)

+

+Count = 177

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = a4432f52975e4316

+Key2 = 7f2086da04fddf4f

+Key3 = 8302139e79684329

+Msg = 5c9bcd197ea59e1b58b3da707b253491cc5a5ef8

+Mac = ea

+Result = P

+

+Count = 178

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 5ae0b6d6c2855b7a

+Key2 = ec675d3e73bfd685

+Key3 = d3406b868fd3ae0e

+Msg = 89b9ecfef6f10e81f7956dbc7ca4a335047535a8

+Mac = 70

+Result = F (4 - Key or Key1 changed)

+

+Count = 179

+Klen = 3 

+Mlen = 20

+Tlen = 1

+Key1 = 8f7f85649d5e08a4

+Key2 = ceda75687308e07a

+Key3 = 9215c4c19bdc0d46

+Msg = e53101e6eabcda32c13d7b1dd1d88e7c2ca3ddc2

+Mac = 14

+Result = F (3 - MAC changed)

+

+Count = 180

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 7061b5f46b98d394

+Key2 = 58c2ce3807623475

+Key3 = 0df8e3c432da8a37

+Msg = 1086953d352e94a51a6d4c59a2295e8fff5b311e

+Mac = 554d4df88228eba3

+Result = P

+

+Count = 181

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 347a25a1ec433b52

+Key2 = ec75d97046152c10

+Key3 = 86b937b6ad1ccbf8

+Msg = 4fe6bd43c28143ea5d40919cb5330a7e674f5bd8

+Mac = 3d0d841895fb7c65

+Result = F (1 - Message changed)

+

+Count = 182

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = b3701aa7da61512c

+Key2 = 46dacba40740e3c1

+Key3 = 8f79a4dcadbc315e

+Msg = 4612fb4586d7518d0d648894347ae7d49d043f29

+Mac = e5dd4392afbeabe7

+Result = F (3 - MAC changed)

+

+Count = 183

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = b5b57acb2c7fd6cb

+Key2 = 70b02c9d8651c889

+Key3 = 07f485f7b00e45d9

+Msg = 9011231ec382ecaaae57f34de1ac6bbb50741014

+Mac = d34581ad5a3e9e57

+Result = F (2 - Key or Key2 changed)

+

+Count = 184

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 88985bdfd9852604

+Key2 = f7f829aec8a208b3

+Key3 = d5ba012ce6754554

+Msg = 6cad7f3b9f196839bbc5a7f755c09aa8e17c83d9

+Mac = fc7c93552aa14ca2

+Result = F (4 - Key or Key1 changed)

+

+Count = 185

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = cd0815194319d552

+Key2 = 346bb634027668d9

+Key3 = c17f2a26257afbad

+Msg = e31b3d97ba6ee6f2e18f084215ca0a5ca0d816d7

+Mac = af5772396bb63d20

+Result = F (1 - Message changed)

+

+Count = 186

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 236e5201dfc1081a

+Key2 = c81526bc85c7a2ce

+Key3 = ab91d0aee0d68931

+Msg = 1f36b9cbf3d4d4dfcc4ba7fafa7c229f0a9253f4

+Mac = 27586cf856a41e82

+Result = P

+

+Count = 187

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 2e01198faeb6986e

+Key2 = 7cb564801f15bc5d

+Key3 = f2d3ef0d4fec61c1

+Msg = 27c8c90c9e46e14b8cbb0b7559bb166d65f58aeb

+Mac = eaa7b4a171e449ef

+Result = F (4 - Key or Key1 changed)

+

+Count = 188

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = df575b851331b016

+Key2 = 33ec7326e9ef31e5

+Key3 = 1686c1ec8a3ea16d

+Msg = 1e4e01d38ff65d05646d544b52a6df49b897eacc

+Mac = 45789bd32147c0ae

+Result = F (2 - Key or Key2 changed)

+

+Count = 189

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 43b68c1f29ef5b94

+Key2 = a7dfa1cbe9ea3df1

+Key3 = 83d3c286e973ada1

+Msg = 0ca9b0f6465db0e101f8c14b2e73859d9c355b0a

+Mac = da439a51157ff0d5

+Result = F (3 - MAC changed)

+

+Count = 190

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = bf91d679268c85ce

+Key2 = 46b9f7bf4aa1a2c2

+Key3 = f7fd15fda2cd6408

+Msg = 0c2933e39d7e601ee6f2519eaf01294853664262

+Mac = 455cd46d3b452a55

+Result = F (3 - MAC changed)

+

+Count = 191

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 0dad9d451f890b38

+Key2 = 3416e3c240a16ee6

+Key3 = 5b80d6aefd4ab5a4

+Msg = b6e1de9abef7525c5dabbdc85746958781d50139

+Mac = 3445a869cca839fb

+Result = F (2 - Key or Key2 changed)

+

+Count = 192

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 96858f8f2ab56df2

+Key2 = 5edc3b04b94ca7cd

+Key3 = bf10614ce0491645

+Msg = ec9aa18b3e7da99dcbd7de7617a79130abe3348a

+Mac = c744a1392fc656c2

+Result = F (4 - Key or Key1 changed)

+

+Count = 193

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 46ad6ebad9644a67

+Key2 = da684aa48f23d619

+Key3 = 43a2316b40a46e25

+Msg = cf97c2abe3d0fc89e05538b50147a3f405391219

+Mac = 7ac08967edc5730b

+Result = P

+

+Count = 194

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 68647694efb32023

+Key2 = 0d2938c8fe1a4057

+Key3 = f479f16e7552942f

+Msg = 33a9c750bb532d2d37ec86fa851aeb3cad1eaad8

+Mac = 3873ae02210eb5fc

+Result = F (1 - Message changed)

+

+Count = 195

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 58d62fd92af7437f

+Key2 = 89dfb51fc807cd6d

+Key3 = 024fd04f40d5d0e3

+Msg = cc293c9e1780b401d2e7fceef6f69edcf0f70b86

+Mac = 6574bfceaf04b4e1

+Result = F (1 - Message changed)

+

+Count = 196

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 4b377f98df0b7598

+Key2 = bf73f4c2cb074001

+Key3 = dc9857f47fe6101f

+Msg = 9ba5dbe7a8ecfbedadd7889cd7f1ae073e01ee3b

+Mac = aaaeb7223578bbad

+Result = F (4 - Key or Key1 changed)

+

+Count = 197

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = 91c8851934cdecc2

+Key2 = 582562aef1205e32

+Key3 = a12a70eacbad310e

+Msg = aa390a0ae33751b0bd8de5723df91d999aa70358

+Mac = 67f76912ed61eaab

+Result = P

+

+Count = 198

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = dcc2bacbea0dcd10

+Key2 = c18ca45ed57f8f97

+Key3 = 5d58157a677f1951

+Msg = a7573e5b7dd7f4ce9e4480f603c14145a27f7c7a

+Mac = 2b6af968464ac63f

+Result = F (3 - MAC changed)

+

+Count = 199

+Klen = 3 

+Mlen = 20

+Tlen = 8

+Key1 = fe6d49702f044f40

+Key2 = 33321613da401004

+Key3 = 8c3438f74cc2680d

+Msg = b15a118b3132c20c31e6c9d09acdee0e15fcc59d

+Mac = 9f28413a00da00ab

+Result = F (2 - Key or Key2 changed)

diff --git a/src/crypto/cmac/cavp_aes128_cmac_tests.txt b/src/crypto/cmac/cavp_aes128_cmac_tests.txt
new file mode 100644
index 0000000..434fab4
--- /dev/null
+++ b/src/crypto/cmac/cavp_aes128_cmac_tests.txt
@@ -0,0 +1,2165 @@
+#  CAVS 11.0

+#  CMACVer information 

+#  Algorithms tested:Alg = AES KeySize = 128 Mode = Verify  

+#  Generated on Tue Mar 15 08:40:37 2011

+

+

+Count = 0

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 27b5686c79b3d242f96d3892c6135b26

+Msg = 00

+Mac = c98d11822b9b4d7a

+Result = F (3 - MAC changed)

+

+Count = 1

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = b4542a22baa348ee2d11ef62d44cebab

+Msg = 00

+Mac = f7a2a3f519fc462f

+Result = F (4 - Key or Key1 changed)

+

+Count = 2

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 7256e344f68b3e7f9dd6e04c5c65135c

+Msg = 00

+Mac = d4d7fcc5f979230f

+Result = P

+

+Count = 3

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 7a2116595c5cf6482199d3312498006d

+Msg = 00

+Mac = c3c4fa28709060b0

+Result = F (2 - Key or Key2 changed)

+

+Count = 4

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 0341551d6c7e7c57f678068f0b41d1fe

+Msg = 00

+Mac = 821030d4b7889fcf

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 5

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = b67ba2aa4e9ea9871c3def87e2dd77f4

+Msg = 00

+Mac = ea896182698ac145

+Result = F (4 - Key or Key1 changed)

+

+Count = 6

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 0091d39f3478d2c59bf874b96db9ce0f

+Msg = 00

+Mac = fb12c5971b0f2f18

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 7

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 46a2e6bd3fd5336abf02eace3cd1e1f6

+Msg = 00

+Mac = 9c6b46ef046ae1d1

+Result = P

+

+Count = 8

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 4b0fbd5e6f9298e5ced5ebdc60fc18a7

+Msg = 00

+Mac = 221857badcbcd2be

+Result = F (2 - Key or Key2 changed)

+

+Count = 9

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = fb20547da671acd4c6df37f6568a6428

+Msg = 00

+Mac = ba0c9bfd3d9c0c95

+Result = F (3 - MAC changed)

+

+Count = 10

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = b787def50aaf446bf15c562434844562

+Msg = 00

+Mac = ba60bdae64068330

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 11

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 67d77f50727c7cd5b38e0b175a888c88

+Msg = 00

+Mac = 555923e6b5fbc504

+Result = P

+

+Count = 12

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 6f552ef7d309bb98597b91cecc21e158

+Msg = 00

+Mac = c2aa402c0443dfbd

+Result = F (3 - MAC changed)

+

+Count = 13

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 411871267919a145532cc401e753ebff

+Msg = 00

+Mac = 167a31913228f45f

+Result = F (4 - Key or Key1 changed)

+

+Count = 14

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = abfe32efdf0464cb2eaafca8eac30d9b

+Msg = 00

+Mac = 8edbc729b1923e10

+Result = F (2 - Key or Key2 changed)

+

+Count = 15

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 85504d59a12f3e17edfb0b6337d4a081

+Msg = 00

+Mac = 9045fd77cb26dcb2

+Result = F (2 - Key or Key2 changed)

+

+Count = 16

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 55f7565826b0e2ccc1368f4de32022de

+Msg = 00

+Mac = f82395416a8dc209

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 17

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = 43c8f984390debb0f26c6b9c2df8518c

+Msg = 00

+Mac = b5d732086bf8feab

+Result = F (4 - Key or Key1 changed)

+

+Count = 18

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = da288d2014616f16a2abf5923dea49ad

+Msg = 00

+Mac = e03b67b53fc7863f

+Result = P

+

+Count = 19

+Klen = 16 

+Mlen = 0

+Tlen = 8

+Key = e2f962d076df051c2d291b47a902ea0c

+Msg = 00

+Mac = df1456a7edeb4e42

+Result = F (3 - MAC changed)

+

+Count = 20

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 191b53e0c7d90161e5e2014e9b8aea31

+Msg = 00

+Mac = 1e210cff3c90bd2e2a27a78ef7662f61

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 21

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 54666bdf6db300ee10982d14dac828bc

+Msg = 00

+Mac = 9fef67209b8da28049b80efe98f85f13

+Result = F (3 - MAC changed)

+

+Count = 22

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 9a143c21cc6c9528b9ddd7e4405682e1

+Msg = 00

+Mac = 1c3c3b6d1d86ac5787234f8f6d707acc

+Result = F (4 - Key or Key1 changed)

+

+Count = 23

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 802047ee1309e548ae81e93a17bff9e7

+Msg = 00

+Mac = 1472aecaa0a09e45893a14090ed9a17f

+Result = P

+

+Count = 24

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = ab79ce74c0959aea0fd0b28ea5d0afe2

+Msg = 00

+Mac = fde8a95536cc334f7fc8881a187afc61

+Result = F (2 - Key or Key2 changed)

+

+Count = 25

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 644ac6fdc1e713ecb7ff1e0bd5729a57

+Msg = 00

+Mac = 95a93bb50703521e6c1a8be1aab6a646

+Result = F (3 - MAC changed)

+

+Count = 26

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = b4571e56f66a857daffbdc99370ceddd

+Msg = 00

+Mac = d2742ea62f1d6513c4eb0e533922f251

+Result = F (2 - Key or Key2 changed)

+

+Count = 27

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = abff2b097d688293701ff2c49ba48eb3

+Msg = 00

+Mac = 17e724f66d4a9ef5dfc0cf903f8ff04a

+Result = F (4 - Key or Key1 changed)

+

+Count = 28

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 9d45f6d97d1573de3cb3488befaf5b7f

+Msg = 00

+Mac = 96ec3cf234d6704483a93885bd67e6dc

+Result = P

+

+Count = 29

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 00d385629e5df815a5300e6635351934

+Msg = 00

+Mac = cb23bb449ac26e2186b02f7428fa022b

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 30

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 2f9109e7eea21b2615c81c03182ce603

+Msg = 00

+Mac = 4532211f48124a9eacd795ea4313adaf

+Result = F (4 - Key or Key1 changed)

+

+Count = 31

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 9f3830f5cd40a2396b6093b358cef1e9

+Msg = 00

+Mac = f5ea59ec909a8ec2d8b11f5f276201fd

+Result = F (3 - MAC changed)

+

+Count = 32

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 17378e17c41586b88523a6b6af738dc4

+Msg = 00

+Mac = 40cc8b388be6789aca584659acc7aa06

+Result = P

+

+Count = 33

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 064e8c88a0a0766186d75867b5ca3acd

+Msg = 00

+Mac = b2f94222a68fcf803868b00404ad170f

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 34

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 1e39f1cba97dac4e4d4f3bce7fda72e5

+Msg = 00

+Mac = 60763815c1075c31078a9b44fe4b8427

+Result = F (2 - Key or Key2 changed)

+

+Count = 35

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 06f0e4618e0ea8fa5443b50ea005b672

+Msg = 00

+Mac = 295c6cd08b1d668d9fa85ef851b1e029

+Result = P

+

+Count = 36

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 648d77b57770b67ecda1ce7951eaaeea

+Msg = 00

+Mac = 2f3fbc6edf5827fce440b9a7ff8535b4

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 37

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 6f3938932b5c1280311e892280d8a822

+Msg = 00

+Mac = df02edfb316350c81dbee385d6e1d8e4

+Result = F (3 - MAC changed)

+

+Count = 38

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = f909903451d1f9f45ffcb93a407ffb50

+Msg = 00

+Mac = d176620722c5327270ef30956d7ac02f

+Result = F (2 - Key or Key2 changed)

+

+Count = 39

+Klen = 16 

+Mlen = 0

+Tlen = 16

+Key = 181d92c7df1ebb0924719e066e08b95e

+Msg = 00

+Mac = 144f688fa0d29faf787c48cd0765eecd

+Result = F (4 - Key or Key1 changed)

+

+Count = 40

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 0c5b763b1e97b4f4dfc7059e4896ba58

+Msg = a0b3c6944b35f7208dfb40b4c4ba134a14dac928b679950793b3b6751221f178

+Mac = d922ea85b3992a67

+Result = F (3 - MAC changed)

+

+Count = 41

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 461d7d629778c8b05a688bee4fc01e9f

+Msg = 07571a6c9bcb6f97d626796bc74e551d1c45cce38afed761706f6264b7e751d3

+Mac = 794b224a85396a27

+Result = P

+

+Count = 42

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = b91c6b09bf5a0487a9b5ea2fe0c1f3d2

+Msg = d31fd388e97727ba0a35d34ae05d9980e5974f6b3d86e2d4dd569b70f394a159

+Mac = 2665ff2785bcb606

+Result = F (1 - Message changed)

+

+Count = 43

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 0737836cf771e842a70f3eeed7206799

+Msg = fce631a9eb130178018ca88cec966ae53ecc83a51d0a73173c8a9af10b4d04d6

+Mac = 1eee822e37dd1e84

+Result = F (2 - Key or Key2 changed)

+

+Count = 44

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 120132c315bfc9c4fb93023f5d3500d7

+Msg = c2576ed3189eff3205f5e01dd8fe7c64f12dc73c807c22918f607f9e43fcc5ba

+Mac = ddca15c8b5a80cb2

+Result = F (4 - Key or Key1 changed)

+

+Count = 45

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 5363bd7d867a9f9f0592dd9940a791e8

+Msg = f34e86b8803d386573b81045df945df8319a93b613de4c41904c8e1879844cee

+Mac = 109dd7c920ebbf41

+Result = F (3 - MAC changed)

+

+Count = 46

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 3fa1c7cffaa167557b250634e8052fa0

+Msg = 4255f8af18df7237e0abe98421aec9634443561752d893aaffe76380e829ef32

+Mac = 0eceab8d28dd4a2a

+Result = F (2 - Key or Key2 changed)

+

+Count = 47

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 6583a4ff27b6e109046d11b977c8293d

+Msg = b63be320f92e01260fba37312224494a2764dfc928287c75dc1cafee7b698d48

+Mac = fa0cced22e896b40

+Result = F (1 - Message changed)

+

+Count = 48

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 5949378fd3135dd02ee1929014000411

+Msg = 65c16f4e66b10c7c153be7ba2dbe3a6d4eed3b04fec44188edc229747d52f8c8

+Mac = 9ef023345848680b

+Result = F (4 - Key or Key1 changed)

+

+Count = 49

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 0e80fa889b1d96a0d23d236d4d642a27

+Msg = f6f094e46cdb2e45fe49b18aff1427ebdac9710fa7f47f75fc9ec7140613ef3e

+Mac = a09774009934c9d4

+Result = P

+

+Count = 50

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 1f88dfd4f5c52c22b1db47f9f4fb6e2f

+Msg = de433ebd1cdabeac46b94cc00d984f172923535ca8fdfeeb860546357dd8e266

+Mac = bb17b3983faee0db

+Result = P

+

+Count = 51

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = ab0ab9e79ee53a6946a31ea807258dbb

+Msg = 89ddbb042aa2aea5207b312c9831fb48138aca90626ef7c5ce474d5797ae1b2b

+Mac = 72f316d5bfcfcf6f

+Result = F (4 - Key or Key1 changed)

+

+Count = 52

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 1eb19542a0064564e096e5d7d60acaa6

+Msg = ca25504f3f5559aa0e88199ce1551c9240b5c76f55b83bdbf2777cded54ad3af

+Mac = d936b1fca0a96aec

+Result = F (3 - MAC changed)

+

+Count = 53

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 33f11aa36d8ab0fc53486839a576b31e

+Msg = a58524e37c2504468f77a9c21b0e6d1a6b5e06fa051d5b8025ef97fa69417cf2

+Mac = fd64f7cb283adce1

+Result = F (1 - Message changed)

+

+Count = 54

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = a7b81d8245129aa451dcb7229de415e5

+Msg = 2b2ec02aba10aee056443cf90585caa2510b3b835454a99f1324567b0dcbe682

+Mac = f4cd48f32c9dc66b

+Result = F (2 - Key or Key2 changed)

+

+Count = 55

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 3c1baf0d915e5aec92bb62babad0ba2c

+Msg = f8f2424c2dc0d0f3821af7244038da0832c547be4ff0850b98c04d4d44a716b1

+Mac = e17ea6862129d6b9

+Result = P

+

+Count = 56

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = 943a49073db6ae94a88844ed895f8fd9

+Msg = 8a15e5be479d3a39a459ca7b50457472cbf44f6a8324ee3d4096e2c3bf1d8190

+Mac = adcce0ea2c8b11d9

+Result = F (1 - Message changed)

+

+Count = 57

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = ebf8935f53dfb3bd40453c31f627c73e

+Msg = 7edddb03d861dc9796f8e069bde434681620f604db436f34b7a6a3beeec925b3

+Mac = e8ea88729d49bea4

+Result = F (4 - Key or Key1 changed)

+

+Count = 58

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = f18e8feed77d1b80c31483fe69073d56

+Msg = 37c6206e23163c39a13f19de48cc25dc26e6f83cb376e8d2048ad7c141fa503d

+Mac = 0d4f5cdb2a49b471

+Result = F (3 - MAC changed)

+

+Count = 59

+Klen = 16 

+Mlen = 32

+Tlen = 8

+Key = b4e41c7bfb8fcaa5236f656185c1496b

+Msg = 32758ae47884fcef766dd1fee1a7f55ca6f6691574e2ea097a68cd4072ef2e7d

+Mac = bad08badb66c8e5f

+Result = F (2 - Key or Key2 changed)

+

+Count = 60

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 708484fba04972b815256c5dab12d5d4

+Msg = 97751b4893a83cfe6b760e10da795682e9668749c09036f9bfadce9dcbdd85e6

+Mac = fa74b33267c5ffeca75e5e16978bd7b0

+Result = F (1 - Message changed)

+

+Count = 61

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = d0df1bdf1df6203241722fb9c9c1cf74

+Msg = 0e41361ebfbe4e6580fb5751e58e98de8ee5d9849fe875026fdab15a85804c1d

+Mac = de4992c9d33659620cc203848e42a279

+Result = F (3 - MAC changed)

+

+Count = 62

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 7c0b7db9811f10d00e476c7a0d92f6e0

+Msg = 1ee0ec466d46fd849b40c066b4fbbd22a20a4d80a008ac9af17e4fdfd106785e

+Mac = baecdc91e9a1fc3572adf1e4232ae285

+Result = P

+

+Count = 63

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 7b4c800f5071521119e4cc6deee8729f

+Msg = 775946f3014523b6ea37804585cadd35e74e9382ebc1022579fbebe407281b6e

+Mac = 2f6697f5d067aecdb3ff5a09d9169b3b

+Result = F (2 - Key or Key2 changed)

+

+Count = 64

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 7618d222630138cc14246e8fddcf98cf

+Msg = 432e3575a966958434da38dda3606f1f69adeaca536a7bf66c8b1e451edc3716

+Mac = d7d78aac615ffc1bb32dfea41f2b8771

+Result = F (4 - Key or Key1 changed)

+

+Count = 65

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = c8804fef18ef263c010c8a205e14516e

+Msg = f2d23bc605181e3894f61fa63d61ed4a610123ab7d3531c0b7579a58b74161ba

+Mac = bfe5e2c10a5cecccd3de2529f340cf6b

+Result = F (1 - Message changed)

+

+Count = 66

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = f98ac86ecb742c188852980b5150d100

+Msg = 4e6fd4fa7669ce9552154bd796644961b51067dc02303430150aacf671280031

+Mac = 73df5f4d3ab9240d4fb2be775188adc0

+Result = F (3 - MAC changed)

+

+Count = 67

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 638d7d95ff5f57571261e23ffa081189

+Msg = 5f5bc4e32764bb00085667b7f1b15433f09c1f6fa48689f8f50dcaf5021f2864

+Mac = 96b270629b2bfbf721f1a70eccf9abe0

+Result = P

+

+Count = 68

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = a5a20d8139472a4cb38993c5711ac2ca

+Msg = 73e1e75538f9a63e49a068189e3b0a1a1e65ca5d1295589bdafa3136deaa287c

+Mac = 320647d53ccdf2335a9c9a3452c1cee5

+Result = F (2 - Key or Key2 changed)

+

+Count = 69

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 57656be54860414e8a62223381ca4405

+Msg = 3447e82ecec6c8b6fe1e44ed91f933e4a70c431911eb86eefe222d5ad78193df

+Mac = 47c6b5a28d723129648aef418b74daa8

+Result = F (4 - Key or Key1 changed)

+

+Count = 70

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = e7b665600a2aa413e117c53816cbed34

+Msg = 5e4d49ab796025157add6d42258b9c506d9ce82bdd85c604360db0ff5aa4262c

+Mac = e741166cfa2a58003dcae357d7a199b8

+Result = F (2 - Key or Key2 changed)

+

+Count = 71

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 693cbb46bc8366086ec7cd7776f2c563

+Msg = 5a908ae85ff721ffc5096aeeda5ee83bddcf639e7be68d109394e5253c22dc9b

+Mac = 9d56b03ef83082f601a9cc8730b0de42

+Result = F (1 - Message changed)

+

+Count = 72

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = b4190e3462e07fca26496adcb877724f

+Msg = 02097035a312cb02ea7f09fc1accc230a205e4a208e64a8f204291f581a12756

+Mac = eb9604ec71aac0cacb63e0b369ae7664

+Result = F (3 - MAC changed)

+

+Count = 73

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 4ae06c3b2940819e58eb24122a2988c9

+Msg = a2e7be3314238d7e4f604e134790bb15a87c09356c091b1aacb9f605b67475b5

+Mac = 14b4507ae4b50cfe4989b544bede756c

+Result = F (4 - Key or Key1 changed)

+

+Count = 74

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 8d560de2e310ea69389221ce2e850625

+Msg = 04d9db45e4df19db757b9b95c25be43e822b8372ed148d49ce824a36da2b2f2e

+Mac = 647f2874a083e82fa804b6c58c7b5c90

+Result = P

+

+Count = 75

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 0e1a79c5d734118c19eaba700f5da238

+Msg = 026470d57dad9893dc037b80978bf70c2e552fe46c8fe8c3ebf8338bda984d94

+Mac = b936ff3bb8afb9e42351a2a3ad49d70a

+Result = F (1 - Message changed)

+

+Count = 76

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = c88b1bc0050e19780ab53efbea175634

+Msg = 7207aa8fa87283f1f57019bf1c89645ff8fc36ab1102704e6d577671a9f7e098

+Mac = c1dbd79e31c3b0bb824f16f735ccdfe6

+Result = F (2 - Key or Key2 changed)

+

+Count = 77

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = d87df10a53eb3ea24c003d2a65e44921

+Msg = fedd5813146a8c2af398d6066956829833b75e44b6e010e4f025ac0fad6f869b

+Mac = 9dd7cbb34445bfb351d01e8cdb21d695

+Result = F (4 - Key or Key1 changed)

+

+Count = 78

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 4d436a4a5c02b22ad49548b97216f277

+Msg = 2d73204f0b2d35806a8227206922ac9c18eff6ebddc73809179d67a702cf3e21

+Mac = d2654d9bd6396075296cbe918d90670f

+Result = F (3 - MAC changed)

+

+Count = 79

+Klen = 16 

+Mlen = 32

+Tlen = 16

+Key = 8af7b74e35eb38f4086343bc329ab465

+Msg = ada1fa439c653d0cc88c0d129ba252e86c7d20a3087be93e920bf13d8e6f0391

+Mac = 0fc9b177c874ea909b6beb1db1b802b4

+Result = P

+

+Count = 80

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 91ce6c87860aa84053f42e1abc16f489

+Msg = 4c287bc16196698d762d5fb428e801975fdaa29026b7b78dba968bfee0f534f27cfec57c6009c55c6261e0dbb14bddf76944d0c0648b910254df6c240e8a1a50

+Mac = c1ce12f51aa823d0

+Result = F (3 - MAC changed)

+

+Count = 81

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = b7b774e5c9e2f6926660c48b8df52354

+Msg = 937273c7355e7b88a630d15be875234cacaa44e815f31997bf10b52c008cc3bb6d3724aaa0d7da0b391b252923d0eb6119575d346857d89af6af099883af5514

+Mac = ff845eb2d77aa5a7

+Result = F (4 - Key or Key1 changed)

+

+Count = 82

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = d7572ed0e37261efa02f8c83e695efdc

+Msg = 85a327b0c7a31a4116e7fae0c0971e1578ab6fbdf90124b9ecacd0e70c909f51882cdca5a8b6b7e6b46d4660122bc9e1ae3932269f68e594075dbc293a2d4eb1

+Mac = b8b3b7526419e069

+Result = P

+

+Count = 83

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 259129eb760f8a770410c160e4e13a6b

+Msg = 77d9c306aa257379053cf1f2043c388a301dac2a9e2bb89eb8bab6eb3f150fe391b7a3f628be6b4b649c5c108a108f0e0c55a0800b9954251ab07e94450a23d0

+Mac = f9376f11cbec0ec0

+Result = F (2 - Key or Key2 changed)

+

+Count = 84

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 6ccd61ed20f16ca7a78192f5b6ab5528

+Msg = 9211231ec382ecaaae57f34de1ac6bbb50741014a978160ce59c60491e64f30da0b8aa1442e42bc0f7e31973a0dd8c3c24eebeb7c329072ea7dd0b04bc163254

+Mac = 94c275e6a4675d8a

+Result = F (1 - Message changed)

+

+Count = 85

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 1cdc44c40efc3c0ed6fb84b0c2f78aec

+Msg = 818c636772036761af037c23aa8cb63e424f0ba0375b645de2f8f5af23d3ca3b9a5ca3951a6d02075a2c828eee326a2676ed8247164226b0267798632a519bf1

+Mac = 74355397c7a29bb1

+Result = P

+

+Count = 86

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 2e523e9d8a5532127ec63b220838f11b

+Msg = e6d067907610109b8789e1ad00542539991677b9efc97a98d8bfcb50f3e334d0844323207fcb5a47e353e76d49dd573dbd17278dcc287b41dea8126cc7f07ab9

+Mac = 7bd6745c6f73d92e

+Result = F (3 - MAC changed)

+

+Count = 87

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 0eee5bc8994b723a580f67d45ccb194a

+Msg = 1dc4fcbc73dab4e73ed9d7606acdcd42b74972460c640fe50f028abdf255d9368fa3bc65b849ac31c8000eb47e5fade40ca167726aa927f2f043133d24ad0613

+Mac = 486721355fff9cbc

+Result = F (2 - Key or Key2 changed)

+

+Count = 88

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 388468d10bf0b770cc125f8b7d359261

+Msg = b9aaadfb3f60e48f1b421a9450129d75af2ce811ab0b1661680e9d5b147c38167ac7252ed40d916ae1e4519c3857d2c9dc2c538a106951b26d16433131438839

+Mac = e13cef9392f4a80b

+Result = F (1 - Message changed)

+

+Count = 89

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = edfe2e15edf0b0c28875651d4becfca5

+Msg = 70b1e2e4cf260b108f5a52d0d8234838ffd6ffe7b4acd78d7d6b95aa6342b598eaf402cb47396358ce61f8b4aa3a65bed0346e0036c3c5323f051f007aa58d0e

+Mac = 7b70730219907d18

+Result = F (4 - Key or Key1 changed)

+

+Count = 90

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 6876df1a77e11165331a5ce2e0e6bea6

+Msg = 34b73ba208bbe1df06da768b0321243815df4ece555974dee2bf5732295f5ea9631939425e13c47681ae2ecb0bb85aa69be38560f5752a9d034222d91ad71044

+Mac = 80e00df873439fe7

+Result = F (1 - Message changed)

+

+Count = 91

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = e65d5fd5f446b4eab63d56b0a5eb1d29

+Msg = 554395f9b113c0f2a1f155de171d6c0a805c838beb90c3756e8b864dc52517c03d8cb894d1dceae092f0e8784c7775ac664ad7320afd246086b3bc9ef237171c

+Mac = c60f8ced2efd52fe

+Result = F (3 - MAC changed)

+

+Count = 92

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 5bdbd06f4df6e15d644f3a635d7bb14f

+Msg = 4fcc7c2763a8dd5bfe74e34f512be8042af9ba1c73a944edfb616ad47a8d34cbcf192f3e8be3101bb3709b29c2dec39aee1913e3ac524ccb76ad50c2cc3a3e75

+Mac = af33d5a2746bfa5c

+Result = F (4 - Key or Key1 changed)

+

+Count = 93

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 13bf2f72211cc8e16ac1986a22e19f60

+Msg = 8ee212ed4bd110ca6a91b37bca59e19ba842e3a1b50619bc6b07ec02a09303ca5c66ba56e870d0b627d95fe829431244fe4f9218c862418f14a92bd76b5a3a82

+Mac = 18e8cd5bd42c75ea

+Result = P

+

+Count = 94

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = e9b913c2f0630562eb1c16b3b1ed8409

+Msg = 031105ff01daa66ff95834e47b6f5c683994084d0fcb84c140d1dfa2039a95933efe6a4f91af993d966e2e45677eb1e36159047928a38eeaeb5c9a64ea59f97d

+Mac = f00a17da0fb9e6b6

+Result = F (2 - Key or Key2 changed)

+

+Count = 95

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 6fa5a5991315702cba3beb33867c7bca

+Msg = bb0fabffbcc6935ca35755fd4bfbd192b6812cf75c4dc95bc3a175a1501be2065d7f57058cb7a5785a185dfff7e740a5551cf7c17e65051b2c6ef9509360e878

+Mac = dcfd143f86442183

+Result = F (4 - Key or Key1 changed)

+

+Count = 96

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 3f8c6d21ec05bc439bf82774f1812bd2

+Msg = d726deb8537bcd671ddbaff8fcc6968f951b71aa82dfc802a53aadb2bcc2ef9a35fd90064320798b311d6d32f7dd3cd90bca39d57991eddc36260d23b108aac3

+Mac = 449e20567875d56f

+Result = F (3 - MAC changed)

+

+Count = 97

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 8ed1a4873bb37fafd4f8c2ee417443cf

+Msg = 1652c9539bff4b6e9f303f3e6b5d4b9ff7e85aa2a401ee8c2dc7b722dbaf6424f92ab9188882e2483405070e8666204f5a600b46949cdb830fd57433d63a55a1

+Mac = 601eb06acc5a4e0a

+Result = P

+

+Count = 98

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = 83a4669cb9961448cf418cb83a16098b

+Msg = 26d97c3e28460d46216da39e043e024ed08e387b1e5fcfd3f962472cf1bac4676b03039b3b93927075ff41c87fe1d4a56bd9fa4784d283942787cdbdd5457f1f

+Mac = 01a42494a10691ce

+Result = F (1 - Message changed)

+

+Count = 99

+Klen = 16 

+Mlen = 64

+Tlen = 8

+Key = c9e6d0b3dcd8ab50ba5ff31d9c1bd95d

+Msg = 0d32c1cd73569ab2b10c67c167875fe22625358ed3469b424c5e052d4e49af2c97dfe1f947c972a08c938b327e01adbc48a7f57a89b49f49fa0fca5b50a57a2e

+Mac = 476add8ee51b5e3e

+Result = F (2 - Key or Key2 changed)

+

+Count = 100

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 17281acb525b13653000ab45d86e7010

+Msg = 225750ca982e5b34fc62e277eaaa0f248532abf374933e572b0278566cc7cf980df26abefb493ef57f8477cac0bd19408a22e71f4ded84906996d8e7a846b5c0

+Mac = 0f2aa7f2dffcf7df34c84d101aa9bab5

+Result = P

+

+Count = 101

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = d3624653ad0ed144667df0e0e355c29e

+Msg = 39dd298acc45cb597f0733572677f7102536c0dd86fcfcc44895d29af92a5b6a87c20f1b53087d4c874f4083aad32e877142d20ad87b1d8b7295587bfd235d9f

+Mac = 795da5a50f5b7df40317616b5a470c02

+Result = F (3 - MAC changed)

+

+Count = 102

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 813b3d579664cebe50a8e7050a0b4e65

+Msg = 78ad6517a09b99c1113d175f3129aade4d4a2516ebe054f15bc833d08ffe5e2a2d60c976e1b4b14cf8edd2c72baadb2db8001fd2b8798d39ac5ce27d592f1def

+Mac = 20f40553bedb6496233e0b53143b6d10

+Result = F (1 - Message changed)

+

+Count = 103

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 21095cdbe94afa27d84bcd68276993f3

+Msg = 10525eb2794d03409faeab22a6d4cc4ebc0421daacb0e865b0f94eb387722897c827e31676debec9d49c36837b6bc234a95bc10ddcc7b1e5a0d9a1dca550e93e

+Mac = c0b806ce5eaceb51b53b028e6efea9c7

+Result = F (4 - Key or Key1 changed)

+

+Count = 104

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 6c769a4822523525bb36c02518475549

+Msg = 4af38908fa44b46873535b39f432d9b3e677f6d06d8719af3d15b936afe515fc13d62566481fd0108bd95f6e8dbe32b3c830b1f1127d868273610aa834ccfc70

+Mac = c1934b9c74127cfd515521df330c0333

+Result = F (2 - Key or Key2 changed)

+

+Count = 105

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 6b454930925ca09d39e1e39a2e78fbfc

+Msg = 2bc884394ab7050c14d66fb8901cac109c0126668d918a4419bfcc5d75fb6bc2ba07f6598d06cf8cffd62f3eb29f6a033eac7490d27aa4701f0fb9f9718d1b7f

+Mac = db19b8ef218018e5a53abcc39b7c514a

+Result = F (1 - Message changed)

+

+Count = 106

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 5df295be7c44d59c44fead3f1988356f

+Msg = 3d7370cc2d61af35bf7b2ba50a143b23bfa0d1eff66c5ace2d8de5a28d17883d708fff7721a2977ee2164b6e34022c22523a0649ff0e40bc8134040fee02a065

+Mac = 81b3181acbc2d6d2960ec57441ff3c40

+Result = P

+

+Count = 107

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 387fc73be9f019913f2222d98053f95b

+Msg = 944daaa76249bd9d3bd517d01b074920b7d4434d1a2618af902e0228c3fca658244d990f8ca42208239c42d4827cf114140cabebc2a72bb3cf9277ef008c1c81

+Mac = 5de79be9ff9c3c9d64f9cce35b188648

+Result = F (4 - Key or Key1 changed)

+

+Count = 108

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 7424990dee834ad05f4218861ab21eae

+Msg = 49fd56dec210e903f6c703332637f9c267eab9333e2701a16c74ce5e0b5a16d9da68b9c5d67bb6770a3c9a90a7e93fdd5759b27bcf3a753fa39ee7545fb60026

+Mac = 38b66049ee8ed81f3f8ce2b45a4001ad

+Result = F (2 - Key or Key2 changed)

+

+Count = 109

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 232407986ad4a8e438990fd04ffa35bf

+Msg = 9d88a7970d4c58cecc20ed1811298a5b37297419ca49c74fe216679dafc938a656cb92bafb78efb31f24e71c2d5b5f994f6dfd82862adfd2faeb8c408fd22aab

+Mac = 313d46dda3ccb75f497f9069c9478b3a

+Result = F (3 - MAC changed)

+

+Count = 110

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = d9bd6ac153cb0bc4e19e59c45cfe0d6f

+Msg = c68094c26c7f017b79f126dc26b3bbcb95f97535ca412da5f7853e15fcb52f042e6492c857c22b26ffca5520eabca20ee2cec2f0b71ea60383ece49232065e0f

+Mac = 3b17778955990ae58e03feda7fc43998

+Result = P

+

+Count = 111

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 857fa35c6f70f637a9a5e6f215c694fd

+Msg = a1fc1307757ed91665980e2d3cf9778d8bffc9a84cce6bd5c5a07e47af5c1b409869db8286c49d07dd5083f1826e3ec441ce8cd36c85fef8c55fff889e761286

+Mac = e1ddd63db51d3035adfd309ddc186238

+Result = F (2 - Key or Key2 changed)

+

+Count = 112

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 501f5c58355d1800f155f272dd09afee

+Msg = fd3564848ceb5d8cddfd50732956d18b4af433efc2e2a914ff66aba1de7b9b816d81a936f534f47038dbf1def7c11144b7e99ecec5fee6a478899cbeb6677bfa

+Mac = d995f9bae6150996cd9b798fcbc623c2

+Result = F (3 - MAC changed)

+

+Count = 113

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = c1d636989dfbcb0edc9f014cc82da6b5

+Msg = 20ef1bbf8a719497797f1f1bc4617179ea682a24a92f0831cd215a01473bb8207e13f26dea1a467bde1ed638a51359ccd11210c4d0a2fb70c0374e8984f81f17

+Mac = e4972a59db04f78da1728cab051faa98

+Result = F (4 - Key or Key1 changed)

+

+Count = 114

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = b4bc5a4d40716fb06a359ef9537726b7

+Msg = 36594fae7b487798d62c2c95ccbf51c984df5ca6343465b2dd147c8b36a34028e53fae61f51b36b28529143cbd3edd0c077158a07bc490a79a06270940f7ed27

+Mac = cfb3fce039ee2bb94b6961ff86688237

+Result = F (1 - Message changed)

+

+Count = 115

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = dc796e5d9b712c798922eef315cb4728

+Msg = d5755c40f52364343d2613420441afe9da9a5329d3c1e5a123ee49f5eb8ad47253f104f5d9776e08e9a9f74fadd5472326cc7b7c7ce61a1492474bc9de614543

+Mac = 315f0ce76352448bbd8a5012a9907a23

+Result = F (3 - MAC changed)

+

+Count = 116

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = b82fd283922e730a07f7ddb87484f66f

+Msg = 94e47b82b728d639777d5d5843de2a5c364956cb4b21cabdced2529b10b3f4275f307fbc352866d7b094cfd7426ae801aac17ac72335c04adb8d791da69b3c4c

+Mac = 86e6a8485b43f1b258eb59688af91fbb

+Result = F (1 - Message changed)

+

+Count = 117

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = f6db7efdfe73dcb4a26b8448842b55e8

+Msg = a1fa1fcd5f095b2768e32cd733365a136a108e7493f212aaef27d86da253beb6154f103099344ee94db6304e41b4e856db0ca7fd7ab462f45a07d697b85cca1f

+Mac = f998bba6c5d3efd78af9ef57e7a38f7b

+Result = F (2 - Key or Key2 changed)

+

+Count = 118

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 3c1ba92d096fba134dfb4ef412b2568d

+Msg = ba7725d74465f5d92454bff794e0be51c4d0af7d88f729834d57312c528d0a7d15694a7e0bdc334093173f1d2df1fd42e7891c6b192dc5ee527b2ffb92c66d22

+Mac = cfe6022ad29a54627ae7c4f907ef4da1

+Result = P

+

+Count = 119

+Klen = 16 

+Mlen = 64

+Tlen = 16

+Key = 4a92337f017a85b136ba6766444bbe84

+Msg = b0a3a8aa5d4bdfbb4c5c52acdcc60405c379f752b077eed42f2d7777cc0329047b322b9837d5f655ea445b578d9dc7e990a3c6f97cccc6cad7951ee948194e62

+Mac = 153eff3c035db2fdc752ebd22302adae

+Result = F (4 - Key or Key1 changed)

+

+Count = 120

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 305ec69b23e4490e0f8a5241cb9c8c85

+Msg = c641cf589020b94026ae

+Mac = 3bc054afa9771970

+Result = F (4 - Key or Key1 changed)

+

+Count = 121

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 28929286bd1391468ac75f5c03689f74

+Msg = 3813592f268a7a863c3b

+Mac = bf1b514d2f899620

+Result = F (3 - MAC changed)

+

+Count = 122

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 1b3163e2d3a471b9823525abc7543c4c

+Msg = cada03e8c967f9732a81

+Mac = 53702fa98e6f9a19

+Result = P

+

+Count = 123

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = be1ed49e2cb0caf6b6a0940c58453b93

+Msg = 4a348c5ec996f7a97ef0

+Mac = 3358d143dff4adfa

+Result = F (1 - Message changed)

+

+Count = 124

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = f18be18df045ba31b80f3283cee6a681

+Msg = 93006a06d7e6df775b19

+Mac = f3252f061dce32f6

+Result = F (2 - Key or Key2 changed)

+

+Count = 125

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = b9dafe18a904ba761762ec3fe0e4120b

+Msg = 173887316279a47fc699

+Mac = 884f5b21d478d60b

+Result = F (4 - Key or Key1 changed)

+

+Count = 126

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 31fee08df80cc1009e661230e25939fd

+Msg = aa54ff7466923b265fb5

+Mac = 03dd2a9616f653a7

+Result = P

+

+Count = 127

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 65a28d970b2bc7afafb4069c26d264a4

+Msg = 1aa5a3a4e6c5e5394e50

+Mac = e0423589b192caab

+Result = F (1 - Message changed)

+

+Count = 128

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 6dc38e37d1379732df4dd535db88d17a

+Msg = 0093c6d94aed50b398ad

+Mac = 19b08e65d391c491

+Result = F (3 - MAC changed)

+

+Count = 129

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = c5329fd99848e1cdcfa406ec09745ae2

+Msg = 6d83d0ad7cc7efd0d2ca

+Mac = 8ec2709e1466f8d3

+Result = F (2 - Key or Key2 changed)

+

+Count = 130

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = e608914a930b9c300b677afcb8689d63

+Msg = 146629e70b37d8b83ee8

+Mac = db78a639bb15c84c

+Result = F (2 - Key or Key2 changed)

+

+Count = 131

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 0a998d3d390f5a80ad398b2070489984

+Msg = a91c1a8d9d268ad153bb

+Mac = 5643a8c99b99d944

+Result = P

+

+Count = 132

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 2b6f78ceace47509a43ceb6b761e7866

+Msg = 3c0a41a78240c9d2fc22

+Mac = 811acef50d6c1913

+Result = F (3 - MAC changed)

+

+Count = 133

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = ca481f557306f9ce386edd0cfde375a5

+Msg = 9f3488736ef6e2c3a51b

+Mac = 57e8a0e5965399c0

+Result = F (1 - Message changed)

+

+Count = 134

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = c0dd1cfb3add04cd67a8e59be7ac8dcf

+Msg = a7c559c82776f429ac31

+Mac = 7e43a2b43d030ff4

+Result = F (4 - Key or Key1 changed)

+

+Count = 135

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = d3130d9e5ef516b6bf172953a37913a1

+Msg = cbe97e14c3100c9fc564

+Mac = db9f674a2d0e9ed9

+Result = F (1 - Message changed)

+

+Count = 136

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 9ec8661a880ebfd15fd8b04f2ae09dbd

+Msg = eff803e0fc809cc48587

+Mac = febec8d41b6bdc1f

+Result = F (2 - Key or Key2 changed)

+

+Count = 137

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 6c2b091433833a0ed915354dcb70d982

+Msg = 90f1416768fca7dd48d0

+Mac = f6ada24319e502ab

+Result = F (3 - MAC changed)

+

+Count = 138

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = bc79d444dff9d9e722effab07b068cb7

+Msg = 07d5a925b724e2443936

+Mac = f964302c270af24c

+Result = P

+

+Count = 139

+Klen = 16 

+Mlen = 10

+Tlen = 8

+Key = 1a15b24ba5d9648358f2c39c9da8512b

+Msg = 15b94910853a8f23dfb8

+Mac = 8cdfbc13239e6aa1

+Result = F (4 - Key or Key1 changed)

+

+Count = 140

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 618fb69c8fb670250c306b3225687d17

+Msg = 7f54845a57d916866eff

+Mac = c0d4db73891bb1efa232593407856808

+Result = F (3 - MAC changed)

+

+Count = 141

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 8000aa080c127cbabfdfa5d9d9728c7b

+Msg = e53101e6eabcda32c13d

+Mac = 5671badc409d4b170d4c861a0b3e1fec

+Result = F (2 - Key or Key2 changed)

+

+Count = 142

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = b05b5557ab145cec2f00706dbc6a3c23

+Msg = 5e2f601395ec406fcf96

+Mac = d00243508d25804548c4b4b512cb1906

+Result = F (4 - Key or Key1 changed)

+

+Count = 143

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = e8b13346b61daedc1f9e3b49df8d1cd6

+Msg = 0593365419e0f75b6323

+Mac = 871eb97850a776e7ad498467064484f9

+Result = P

+

+Count = 144

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = bc498326755503ff25d02805eb351722

+Msg = 9ece4c82fe9d38ef64ac

+Mac = b5e88af50d1cff3d2b6d304edf042c43

+Result = F (1 - Message changed)

+

+Count = 145

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 4d248e73886a0e36b3ce7c6113477f4d

+Msg = 8de6fe3b24fd6c202ef0

+Mac = c1a4f6d0ff7330171cfe570e900ce2c8

+Result = F (3 - MAC changed)

+

+Count = 146

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = b1b9fd78e3f8eaf4e8c91da62b2da534

+Msg = 482ea6f652067e8b791c

+Mac = 63c6994c98bda91723f832020fa7d223

+Result = F (2 - Key or Key2 changed)

+

+Count = 147

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 85e4e63341658144a99fbd17d94e3177

+Msg = 21ff834bec4ec6384522

+Mac = 580c1e549a2ceca4743256a9cc972e84

+Result = P

+

+Count = 148

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 88b5448372548e6aab1b262630a28a47

+Msg = 36dbbff560ef04ea731b

+Mac = 5fd17fd704baaf1ae6b3330ef2989dae

+Result = F (1 - Message changed)

+

+Count = 149

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 8cc76730ca47620d0b437112a2c93fd0

+Msg = c73be9f019913f2222d9

+Mac = 2c73e2b5b84d8f4f3db1fc92831a03bf

+Result = F (4 - Key or Key1 changed)

+

+Count = 150

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 7b657c640f155f1ff461c83cd656614d

+Msg = be9c5e77bf1b9dcbd4f1

+Mac = b660ec36c0c0b4d987439505f1bf57e8

+Result = F (3 - MAC changed)

+

+Count = 151

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = d5044e9f10bd274aad4f7e605bb828f2

+Msg = d0be84df789c98dd125b

+Mac = a26e513b09f184caf8d76d76961d1466

+Result = F (1 - Message changed)

+

+Count = 152

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 24d6d4bdc9fc4cd05b2867e9123acf18

+Msg = 0f9703a3454c25c0b105

+Mac = 41676ddadb7b960e0269c8a59a6d9b91

+Result = F (4 - Key or Key1 changed)

+

+Count = 153

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 6aa049d06bf66d2e2b65541eaa3730d8

+Msg = c562ab24ae5cdb7654df

+Mac = 0d4d1196158fec46bfa754a526ba4a25

+Result = F (2 - Key or Key2 changed)

+

+Count = 154

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = cf3727509577f1932bd7a92589c11e67

+Msg = 831188efc5d1f6dc9bb8

+Mac = b5d162c885d7d4f6f65f4188d6582240

+Result = P

+

+Count = 155

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 0bc2fdd890c19882640f8d4188b88b9d

+Msg = 296828cbee50f41d19b1

+Mac = e583d77645a603d841eaafa8860bfa91

+Result = F (1 - Message changed)

+

+Count = 156

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 5bab8051e2520b75673068b9cda93cba

+Msg = f16cba03402f9924daa3

+Mac = 97f7eab25dc3ab017a9affc0e400dcc3

+Result = F (2 - Key or Key2 changed)

+

+Count = 157

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 7ac46e3249ca28e1ef0531d80fd37c12

+Msg = 3e9ddb8121760bffb7c6

+Mac = c6eb13d5087d05b4eba2e74b283b7fe3

+Result = F (4 - Key or Key1 changed)

+

+Count = 158

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = 40f78f7ad3eede36e13bce222c6a4bc7

+Msg = 4fa8ad212ef73d37d48e

+Mac = 3831419e62b51b7ced0d9117e48fabf6

+Result = F (3 - MAC changed)

+

+Count = 159

+Klen = 16 

+Mlen = 10

+Tlen = 16

+Key = a1f82c9924411e98e6f93fa0d07559e2

+Msg = 7d4748147575bc0113ab

+Mac = c23dbc58fe22b34f7b007590558a3080

+Result = P

+

+Count = 160

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 84760f98ec565d281496b1295b25150e

+Msg = 9ce942ec81f8226506d48788e3acf49fcab6da22

+Mac = 606c2f459a9ce198

+Result = F (4 - Key or Key1 changed)

+

+Count = 161

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 3b6dd5169350b230774b02b9b44f06bc

+Msg = adb1ad81dac0ebc650d48f7a9329755a83f293d0

+Mac = d7ceaa858508c476

+Result = F (1 - Message changed)

+

+Count = 162

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = f98d00755bcb45e6822121fe7cb03c8e

+Msg = 7064a2491f716f4a2969815e4a281a54690ced9f

+Mac = e14634c400b9f561

+Result = F (2 - Key or Key2 changed)

+

+Count = 163

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 5d27cb435e7724a246f158576fdbac68

+Msg = ee8ed4c12b0cf7c03bf91fba31a6a7b2d64c36c4

+Mac = c10b474c0077a39a

+Result = F (3 - MAC changed)

+

+Count = 164

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 098c12058a0bc5951fc092aba322e1a0

+Msg = a2b76835229017bd0e8167a40ea1e2e18cc5db0a

+Mac = 1d44128c3db0f7b9

+Result = P

+

+Count = 165

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 74f7f6516a17d5386c289756240241ed

+Msg = 8eafce9ba466fd53eb87f499d7c76bd486db0e90

+Mac = acd978e0065375b6

+Result = F (3 - MAC changed)

+

+Count = 166

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 013bba67d26c7e52ae48dda3b67c9c96

+Msg = 48c0d53b85e6fa4928d3e9953afb9b451bc91a48

+Mac = ef41ce0d30baece9

+Result = F (1 - Message changed)

+

+Count = 167

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 14cea4c46d837c9439b088fba0e9d85d

+Msg = 3477384c396a9e9efb3e169722cba779fef240c4

+Mac = 902158426696c229

+Result = P

+

+Count = 168

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 24f7b08fc2e6af6402243e22ca0626f9

+Msg = 914cf55a3fc739b5f87ac7518cc4171b4499d951

+Mac = b775a3c1dc11d074

+Result = F (4 - Key or Key1 changed)

+

+Count = 169

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 35b5428d440503773f30748ff843be68

+Msg = a5e5804cfdded4d610d1b05b7313ece84f369ccc

+Mac = 6dac0947366be803

+Result = F (2 - Key or Key2 changed)

+

+Count = 170

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = c8afe4e5b1d019c2efdbeda65d874ba9

+Msg = f739e632436470b5a1db9fa9796ed384c0523f40

+Mac = 04c8aceaa8f8c3a1

+Result = F (4 - Key or Key1 changed)

+

+Count = 171

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 05a7910edcd7252b37e6d3d080a9ee90

+Msg = 702db7761abb9b5de41a86c8659270570be9d52d

+Mac = 889a990539cbc30a

+Result = F (1 - Message changed)

+

+Count = 172

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 4c8b0850eab7b212ad96dc7a032f8855

+Msg = 2de32ff6ca41b4c97424b121b8ad4edb133c00ea

+Mac = f5ce7f46d457ec37

+Result = P

+

+Count = 173

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 687bcb63755f2b5c7daf4a154e8525a8

+Msg = 02778ca34db1cb5df76cb1a7619448f67d63b26d

+Mac = 49d48bb0a684c6f2

+Result = F (2 - Key or Key2 changed)

+

+Count = 174

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = f8c4e562fde4379b08e512b0132766a4

+Msg = 627868b46ba546252f4eaa1c25205ccff72902d7

+Mac = 5459c0ac5bb6701a

+Result = F (3 - MAC changed)

+

+Count = 175

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = dd235b05c15479dfe0326ba206ac784e

+Msg = e044ec24ddc0605bca89925a4ebc0234811e2a0b

+Mac = 5ed0a03da09555b3

+Result = P

+

+Count = 176

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 665c2d7d6e69c2ce8f0d06b41038b83c

+Msg = 4fcd7541000cfc223fe9da6a030c681d0fb926cf

+Mac = 1f022feb38ae6131

+Result = F (4 - Key or Key1 changed)

+

+Count = 177

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 2efb7cd914a59b6ad63b7d1812f254db

+Msg = 67c9fe3e163787705a20f2fc8c468c4f771991fe

+Mac = a866d6a31c0b42e6

+Result = F (2 - Key or Key2 changed)

+

+Count = 178

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = 74f6fd37ccb4b7702bb3a03b7322c0d5

+Msg = 011ecbe98c5cb7734476dedbb852e2474a5ad594

+Mac = 707ec713b9bce5d5

+Result = F (3 - MAC changed)

+

+Count = 179

+Klen = 16 

+Mlen = 20

+Tlen = 8

+Key = e673b3a954a00082cb7516ca9a54d9a1

+Msg = a6fbd41a838bdf0fab3e7b56c27a8c18dc4bf970

+Mac = ad4dfde057b54a27

+Result = F (1 - Message changed)

+

+Count = 180

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = ce5bf070678cb07e963263b1562ff793

+Msg = 2bd10c4397a19fc79a307116a0847e0aaaefe813

+Mac = 299e5910f128a1f091dfb6b70f6a60ea

+Result = F (3 - MAC changed)

+

+Count = 181

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = bf144c9bb974729aaa1188ceefdf85e1

+Msg = 5e1ef2ad86ceaf5439fe87d2ec9bc41b52e5ba01

+Mac = 58b4a32ae55966e42712721363ac9eda

+Result = F (2 - Key or Key2 changed)

+

+Count = 182

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = a0cd07b684bb9e0e6692e320cec4510c

+Msg = 6e1e490a30f0c9e3d3b79f1c36aab742bd67c585

+Mac = 24dd518ffffc1070f13d50d0bca42711

+Result = F (4 - Key or Key1 changed)

+

+Count = 183

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = e3ceb929b52a6eec02b99b13bf30721b

+Msg = d2e8a3e86ae0b9edc7cc3116d929a16f13ee3643

+Mac = 10f3d29e89e4039b85e16438b2b2a470

+Result = P

+

+Count = 184

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 4073251950e3331d03d67a2399576d28

+Msg = d5dfd0321b26e578fe987456ff061dc1cdaa4161

+Mac = ed2823fb8fcae918064cef6211646e50

+Result = F (1 - Message changed)

+

+Count = 185

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = b08f47101365111133d974e8f0206507

+Msg = cefe484955fae117649ec158416a7439f29a596b

+Mac = 3317717c6c0b138275090ea961c8d58f

+Result = F (3 - MAC changed)

+

+Count = 186

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 166fb8d0e110124c09013e05688605ee

+Msg = 24c65f715742da7d06046c783a35b2648180b4f2

+Mac = d27901a86dbf0ed8bde0d69203646b7a

+Result = F (1 - Message changed)

+

+Count = 187

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 20f6f56117758ba47a08dadf93a59056

+Msg = 7514e0f402e73d9c0b0576782011b2e6b2080a6a

+Mac = 11cda489b6dc0ab48d111ee6cb26a829

+Result = P

+

+Count = 188

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 7fa6ef35ad594a09cb74daf27e50a6b3

+Msg = ac0d616ed7dd3c3e86b3507d9f2bdc3a807d490e

+Mac = fbad2fc6c9d0e5d21b25445f499eee10

+Result = F (4 - Key or Key1 changed)

+

+Count = 189

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 815871a8300471dc325f8289d0d37211

+Msg = a8ff31e90556236cb4df078943c1f2528b42a7ce

+Mac = 5544c93de980bcf653354ce08aa9dc3b

+Result = F (2 - Key or Key2 changed)

+

+Count = 190

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 06aa3f6fc20f867b42ec234a1bcb8665

+Msg = 25df5cc617e6e68be181694721a2a112a1bfb7c6

+Mac = 2eeb7ab470caea3317a6336f5eee24a6

+Result = F (1 - Message changed)

+

+Count = 191

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 860f8fdb021b1974d40e3d4bc41fa967

+Msg = 6c982a616510db422cc2f1beb955c3e7a88b6097

+Mac = d2280a55cd0bcd18846b4e30db6322bb

+Result = F (4 - Key or Key1 changed)

+

+Count = 192

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 15105c6285a9015d0edd414d6a806bd7

+Msg = f1cc55636836e67909ed3a581de20630226dd5af

+Mac = e9cc5799a630c6f26087c1bd3b6f1791

+Result = F (2 - Key or Key2 changed)

+

+Count = 193

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = b47aa890b03a8ac0dbc8f96c30fdf7db

+Msg = 58b06c99e0d0256cb1c556ec3b48a3bce73450a0

+Mac = 3376cacc247686832736cea7e67e13af

+Result = P

+

+Count = 194

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = dd057368033252d9bb2081a0b1a0229e

+Msg = 81de8f50fbe35f7ed95430e74d28666c885b6100

+Mac = faa08c5a3a4ffdce81ca31873197d035

+Result = F (3 - MAC changed)

+

+Count = 195

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = baf5afafd7d0c8ad42a44e4e0a90fd2c

+Msg = cc5a4209a6a60dcf12621e17150b4576b918732e

+Mac = 5a43002d9144a1d5e48c2dc8dc167a52

+Result = P

+

+Count = 196

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = fa6405355bfb5065dc81e764d20277bb

+Msg = 5dd1febed8e94d4715e772c3295b48eaf471daee

+Mac = 29e96ce5ba930134670b3c68b5c512f3

+Result = F (1 - Message changed)

+

+Count = 197

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = ad2e3d3af6195e74b3e43296b1f618d3

+Msg = ca776f79b8581014ae58a4d533b60483fd1fbbd0

+Mac = b32ce1f493b126fccb9829d4dbe76382

+Result = F (4 - Key or Key1 changed)

+

+Count = 198

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 04ae7190f0cabd117d30a359f80b720c

+Msg = b885e5e147f967032ab2552829a6e09210c44a45

+Mac = 9386d73a01960ab399bb7d290674b21f

+Result = F (3 - MAC changed)

+

+Count = 199

+Klen = 16 

+Mlen = 20

+Tlen = 16

+Key = 51fdc65f6bb0d20a3c08ac1493ddddb2

+Msg = 1f0a56fb615b594d938bb8a27f4b2f5463ee9a61

+Mac = 8506fb1b74806381e2654c8764464d8d

+Result = F (2 - Key or Key2 changed)

+

+Count = 200

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = cfb7e930b838dc3644f6c06f2ad0c8d1

+Msg = 611db4c194dbb54d80a4f4fa731cd9a6a330eaca734d3351f2cfebaba4bd541d86b3e35b4c1fa158edb0d15d610cd359a9c24878117f77f6b284f0363a576e0ef0

+Mac = e9589a711f5d4a5a

+Result = F (4 - Key or Key1 changed)

+

+Count = 201

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = d179dfeead9d765d000462785459b1e2

+Msg = 795ee78ffdf302f3f1f2b31629ae918409cb42979afe3752dd14968d603678520e6b55884b5ebcce416248aa74b3cfe39dfedc2bb5246001503ca4d62cd7826f0a

+Mac = f16ea84f554dfb54

+Result = F (2 - Key or Key2 changed)

+

+Count = 202

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 22b7eb25e688672ab0e17206623094b0

+Msg = d830b16fa236a1dbe60f6db8d7e81a3ddb5f658c9f446e94639cae3699ec2ea6afb4fb152939d58df287271cf4b73c34e66eaf5265a623de47b135522c7aaf9f55

+Mac = 16229efcb7523025

+Result = F (1 - Message changed)

+

+Count = 203

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = a64fa98b4662d801159f61eefd1c8bc5

+Msg = d5982c462ad40458660cd7b120ce07fce9afe812caedcebdee536ac19b5d561d679dee8ea85d62552c86093a2ac1f8d179dbd4fc006ee4b16ebe6afd2be134498e

+Mac = 2f9a2fbcb96461fd

+Result = P

+

+Count = 204

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = e4fb10325d18666c382e6cc2442381e1

+Msg = dc28484ebfd293d62ac759d5754bdf502423e4d419fa79020805134b2ce3dff738c7556c91d810adbad8dd210f041296b73c2185d4646c97fc0a5b69ed49ac8c7c

+Mac = 8f771ffe0c8d3445

+Result = F (3 - MAC changed)

+

+Count = 205

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = fdcd3459061c36c9a0daa0dcab2b967f

+Msg = 1cfa3342540d03ec3fcc8378c021443ba3321fbc26dad7c5b859faba004a082a21d6d7a43d2836cc3820d1adbe4c55518714d48fd9346a254f702107da8212f605

+Mac = 6635f9e17949a14e

+Result = F (4 - Key or Key1 changed)

+

+Count = 206

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = fc593384e6eebc508d181fc49ee10e56

+Msg = a6c891c9dd1fcc982c35bc74cfe71651bae424602519672b466d80e160af51eefccc5fcf76467a25bce1a10853a0209d9beffbeb53228fea5f1e77ddc956ade207

+Mac = 7a6fd94e3928d2a0

+Result = F (1 - Message changed)

+

+Count = 207

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 4e4ff248f591ca27665960d9357a8de1

+Msg = 198d5c9c4aa35d12b62e8c4bf6f3f141e6ebefd8ab396c71f55e32bc82b094cde409547383bcc4c5e5cd2cfd2d616c8ae273e260f2c98e93f7267424b8c2421bf3

+Mac = 9140f91a0cf70762

+Result = F (3 - MAC changed)

+

+Count = 208

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = f20826990acdf225d9451a3d22f89747

+Msg = 03d340904ace1cd52d4b72a96d96afd77aee68ac3936415005ed0d56f46036915b1e5f2994ad49effe7bf3ee46170642e5a16f2eea804e68fa520fb79529d6c09a

+Mac = f30b668f16bfe6c4

+Result = P

+

+Count = 209

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = c231ea8b75c65de68c49b76e7a3128de

+Msg = 5b50879191a6debdb96c0bfaf9086b7dc6e25594416b08d2c75fe16cc347d2e3c7410fe3dc030a6c161ea22f6b80973bc43d42d8558f83b32a1bfa3c03757a4d62

+Mac = 65ba53ef4711e807

+Result = F (2 - Key or Key2 changed)

+

+Count = 210

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 8ef18639bc8c831dc0b4aeeca25eff4f

+Msg = 094c4d9baead7c5acd7dc58f3b4b4f57f1406b4e6af81a034d90cfa94c01760f4cacb4d2c63671d16d9594e1116b0dc2c39319523afac10175b1a485a240f7cf3f

+Mac = d84f89e16c3b1633

+Result = P

+

+Count = 211

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = bab9d79aae4a1b282d8c5aa35d5c0876

+Msg = 02815f53c2be5f7246d4794895b4b15b6c3944819dfd3051b371f6d7d52d9f8ced84fd84095c33ea013c78aa5aa7176d6aa9bacabdafe9bab89cce4d7c183b9c0d

+Mac = a01f976031bc8140

+Result = F (1 - Message changed)

+

+Count = 212

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 42b97f583f64d88358885c66add5d03a

+Msg = 187fe16a764c0987a28088f5cfcf55a6b9591b6395d2d41043e09932cbc4b8ae073d08d39da9799b316eef2ed89851a8cfc4dc1c6d3cbed95663e0ecf25403e61d

+Mac = 0820b1ca0cd34e5f

+Result = F (3 - MAC changed)

+

+Count = 213

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 4fd555bd3a5253a90b68b5d4d46bd050

+Msg = 1ef253c61ac8ac66734ea80eefc1dc077edd660dc3518b5ecf709f10302925a72a3938e7449f2ae707506a67022dab63113242e9dff0d027aa3d22c8462a558165

+Mac = 3770a6cc988a28eb

+Result = F (2 - Key or Key2 changed)

+

+Count = 214

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = d3a8eb3f9e5fb264ff098d85c28dd763

+Msg = e97a0986bf75e0e821f5adda80778863d9d479bd8ac3e7fe64a053f8016c465d581487278ef6923610a1463bdedcded62aeb22fb210dde9a0949947f8c6a6e7753

+Mac = 4947e6e28dbba216

+Result = F (4 - Key or Key1 changed)

+

+Count = 215

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 3043857fc40be37fb0bda4f46894690b

+Msg = 14874a8b59b0178c5ec89cd7316d909371969c1a1a1bc8a29f78341d39ce085e7e2aad7c350a3e7b691d3929bc4b7b47fef56be9fe7e7520a00abad5308505f8f6

+Mac = 1a8c82e9109a68a5

+Result = F (1 - Message changed)

+

+Count = 216

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = b325d425c810d22deb3209f29c5c1377

+Msg = e44c4202499440c12109296a35dfb1f669f97e7f415cd251a5e36943e134a548f0f2e841fa3541151b374c04665053382a24b99d731b99f3d411aa22644f66cd07

+Mac = 84faaeb5a9756a27

+Result = P

+

+Count = 217

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 7cb6a84e99f5573c1eb27c0078f2127b

+Msg = d7fa7be9c10252d6e41bc1a08195a344ef77b81785cea6b4ba453d398bf6ffb31d80e0d6a45a4af283676422b5ca94c76bfb4334f61ae0abe884278976a5a3bd21

+Mac = 64fa7f9284c24f14

+Result = F (2 - Key or Key2 changed)

+

+Count = 218

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 00341fb81209c2abdfe3a9d607b98277

+Msg = 74f6fd37ccb4b7702bb3a03b7322c0d5fcc657cb2c3f1361488d853589d2d6207359b65d62d896ed66f217395000c2fa0d11f956332f2d4bdae55251adfe903b41

+Mac = 4cf05b6e583c70f9

+Result = F (3 - MAC changed)

+

+Count = 219

+Klen = 16 

+Mlen = 65

+Tlen = 8

+Key = 647a5be8a66c83b4b238975388e15d00

+Msg = 0db33eda4188a9165147e24e40f79fee1985eb68d51627287e9c4ec995a77d89b27fb2fa6a6fd3fb7563f3e710b6d20ca145a25f9ac8116d9f628395eb769f75f0

+Mac = e8ef4f3cd7442246

+Result = F (4 - Key or Key1 changed)

+

+Count = 220

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = c98fc3416457d9eed0fa7ab1dc1b8a6a

+Msg = 190ae57ab8bb70464e4a10c112a54c646438301b5662f3536c26d754a02451d1a9c76abd7dbf656115b2a2ac702ec2cadae30cf86e0f0f96da39897d6222889428

+Mac = 1bea94a457b2886e9098bf3ded932a3a

+Result = P

+

+Count = 221

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = 87428d5a53f750abdb335f70ee13b5d1

+Msg = 7bb0c2ecfd141e7e93a897b259732b6153af3542eb7289b1a18dc0aefeb4d129c9e0e27d7ef25d3afc9945277e75cb87cc7d1c9cb39e7e6ab2a49bbdf65e1c6d89

+Mac = a854d2da46afb77a787f0606a69cf467

+Result = F (4 - Key or Key1 changed)

+

+Count = 222

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = c725d9ef0dc6cfca84865cf5cc91d403

+Msg = d3208eb695e84c7a9250378e18be2f231ca3ebe72ba68e3ea4ff7bcf25206b43439bbd497e400dde738507cb542c7d6f961fb8bee99f0c8a6d9daf022368cc78a2

+Mac = 35d57445a5f10fd567595fc668293e95

+Result = F (2 - Key or Key2 changed)

+

+Count = 223

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = 13e3fe7856cd680593a85cda3d6ff873

+Msg = b208e5a1a852caef0795150cf8313ee0cff06e3d28d438c2351484005661cbdcea6d8a3466aef0c6a460da4d7dc902ec99c073d086704112085a76dab0994fcab0

+Mac = efb2bef5aae555463ebbeebe69791459

+Result = F (3 - MAC changed)

+

+Count = 224

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = 9b8112c1fb29fba2c8b0d8f16481b993

+Msg = f54105a04a4a02a1a07e020a6a4f4176e9c92bf40018ccac434988c650550c87625b84bd232d0e5ec20e6f6c46ba061b22a7fe36098bc7bf031ec6d6c1214bdb2d

+Mac = 673281bc0effe92adfac4fef49477ee2

+Result = F (1 - Message changed)

+

+Count = 225

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = 82e71e3ad1bc9a12a46e460a05ad9c05

+Msg = 41fb3dd6df78fe267175297e208ac753d50aaabd9edbf5e45385dfb47988b3d966f31be7a6329fd89e2869bc6f7e4bac1e3a0300f193bdc21c03d9629c9fefaa64

+Mac = 36f7df58abb54a053988cae066110ecb

+Result = F (3 - MAC changed)

+

+Count = 226

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = b46e219217ab73c34904e24c6d995b72

+Msg = 887d6576572a3d8f6a1649394248c4d09d15026ffa930c0659508bac4243e7360802af084f363c2bcc4c91a04c6e86f4f8b22615d7915564949ab60b8267cb91dd

+Mac = 10c1d8054ac549ad24ae4af2d8de97e2

+Result = F (1 - Message changed)

+

+Count = 227

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = b66edcc59dc9d8e34bea3baf4bfc0d5e

+Msg = 57caadbb1a56cc5b8a5cf9584552e17e7af9542ba13e9c54695e0dc8f24eddb93d5a3678e10c8a80ff4f27b677d40bef5cb5f9b3a659cc4127970cd2c11ebf22d5

+Mac = 0c5864eefc04a6cac4f053ab2f65f851

+Result = P

+

+Count = 228

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = c607f631d792499ea43586b81fa3e2f2

+Msg = 21ed22abc7bbb62fb2d51d1fb8830ca95b16213f56291af976274934ab0d43805f71d9b906c44973f7d4b59b7a94d35c2220e7405dfcee98499c1c1dc92a89d7d9

+Mac = 4e65b3d58492a0eebb66928a8214498f

+Result = F (4 - Key or Key1 changed)

+

+Count = 229

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = d9e9136339d361949242e4d8a0cd6917

+Msg = 419b9c9b093052577837862900e7de29273eb0678bf6238223b59176c78430b6f382f27bc8d9a95b53f26f1d12e545ccb434fa0a21b84fa7badb5872e208254fbd

+Mac = 6c81094aded51ccd4da38d0412e7ca67

+Result = F (2 - Key or Key2 changed)

+

+Count = 230

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = 6f349dd8b69dd41c6f246a1685115772

+Msg = a5a3c8afe5b84e0c3ba4f708a87b596d1b7c8694dbe691d7240e4e4815ad5aa4ca7e5b82c50989d092b96e80aa35e97f99ed79e75cf3b8750d0d263dc208289cb2

+Mac = cbf41299c35e65fa4e2626430f95051e

+Result = F (4 - Key or Key1 changed)

+

+Count = 231

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = c15e4e552c9197184b3eb0a74f5fffe0

+Msg = 7c4699a7d9e2d9f31410f20029676f3c97f5793f6732f95f6d33fd7ecc205d27b8e89eda803316a3cb9951f12111b4a6aeac606b43835a469eede86eebf63e5e8b

+Mac = 77e77de5c5600900e5b928d4be3d5f8c

+Result = F (1 - Message changed)

+

+Count = 232

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = 2eda9b2c6d7ad95b644a8739580ab4a4

+Msg = beadccddcf392ee56a8913f057da183ab06ec538e581b52c027ff7f63574b32d8bc4116efa1c56f4a4a851695a87f5fc5f7c47b46fe67b0400f2599fc80fe68d7f

+Mac = 948e63657b8b6e2d130f6f25369d6160

+Result = F (2 - Key or Key2 changed)

+

+Count = 233

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = 233088b67b741f07859d122a6a406d89

+Msg = 5717ed57ca0b6921f04dcacad34e0f6210c36673dc9f4d92493ff733c6e5f1c2e56805ef622a5f496049ee0ef51a0d41e9d363febb87070be558e8af61e86dc76c

+Mac = c778152b00760fcd85bced0f58861d13

+Result = F (3 - MAC changed)

+

+Count = 234

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = b7471a8b2e50fb319f198a09cdaeb319

+Msg = 385f9fb139dbf88561b7a500b0c7b835fe57e2698c6d9f76de4fae6dcd45c47fd8a0811ebbfba35f43c17aa360f09c767c1cd9b70bb671fa638e852ace97cc73de

+Mac = 1a8b81be875a4814e3f988c274784a63

+Result = P

+

+Count = 235

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = adf072ebb71e3400a2175c96fb0007a3

+Msg = a49840ab727bf6b03015eaca3f15a2bb64fd27b51b27fe7a2e0559c287ac8fdd4294ca990799ff66974624b8a4539dade66cf7f06b35d8dd2f8a36e6ec0bc83533

+Mac = ceac74b3af8750467e3b3c51624d96d1

+Result = F (2 - Key or Key2 changed)

+

+Count = 236

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = 1b1d471add4e7f4fe197e3a4a44d06ab

+Msg = da06bd1405028d93fefa3c037b5ad551879451a28314bae86a7591b359f56e4b4e26e6fb2fe7b1af0f930cc2ae785d113e8b16546d59dbae9f41e7827be1ac89aa

+Mac = 16d0021b1f9c00b37fefb60af3358d87

+Result = F (4 - Key or Key1 changed)

+

+Count = 237

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = af5d4991c189dada2cb552c3c52d599d

+Msg = 1bb1e0efa2d6811d2370a039a0c47c59683befbd46c04257f86a468ae25ba03304e865e62afae77a62b3cec7b3556aae0c60475a7bfb02c69f955c7f60cc8dacdd

+Mac = d7056fe01f0ed1b20adbe05cbccc544b

+Result = F (3 - MAC changed)

+

+Count = 238

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = d149441e667b245d4640e04c53ca6f51

+Msg = cbb34794bc8bfdf93d3c8d9f87ec1482b516b48b1e8a89b5e3b5df70c423a243384215b4bc69c76c6b18c497cf82088af74839a8c98895869a16294dfc094360d7

+Mac = 64f5e8dce5c3e0f9cc224e306de70b87

+Result = P

+

+Count = 239

+Klen = 16 

+Mlen = 65

+Tlen = 16

+Key = c2f5d4837f9f75fb440c3bccad7c2e69

+Msg = 6a84594c4b3865f047c96038060b5b413db0d4e081c62e405b815ecd9e3be651f8b9075dc8b032eb2f87c1416a5fe4195f51defe75f671f9a92d966ddf18724075

+Mac = df8c8c61e8d604e24c7e3d0115dbe898

+Result = F (1 - Message changed)

diff --git a/src/crypto/cmac/cavp_aes192_cmac_tests.txt b/src/crypto/cmac/cavp_aes192_cmac_tests.txt
new file mode 100644
index 0000000..8b66499
--- /dev/null
+++ b/src/crypto/cmac/cavp_aes192_cmac_tests.txt
@@ -0,0 +1,2707 @@
+# This file has been modified to remove the 65536-byte long inputs.

+

+#  CAVS 11.0

+#  CMACVer information 

+#  Algorithms tested:Alg = AES KeySize = 192 Mode = Verify  

+#  Generated on Tue Mar 15 08:40:38 2011

+

+

+Count = 0

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 771887708683bcb3577fbd0e6c13cad39955eafdc226d17b

+Msg = 00

+Mac = a0db9bb6e8891e92

+Result = P

+

+Count = 1

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 733fd349c56d1086794eb20ed59ddc89b065bb8533b968c6

+Msg = 00

+Mac = c76f82937b457105

+Result = F (2 - Key or Key2 changed)

+

+Count = 2

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 761d74be5fae170a1bdfa16081b44c1e49972e15ce0818df

+Msg = 00

+Mac = c65feb3d5336dffa

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 3

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 40f4a2261f154280a311f5b172c7ae34243cf2c59b98d37e

+Msg = 00

+Mac = 05d920e78520839e

+Result = F (3 - MAC changed)

+

+Count = 4

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = e27150ee958b998c8a7e8b9324ead937d15580d09d6ffc3a

+Msg = 00

+Mac = cf60783b5defbe3f

+Result = F (4 - Key or Key1 changed)

+

+Count = 5

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = d9bf5efb694089b2de533b1a65c12ae96d8c5bd75bd67fa5

+Msg = 00

+Mac = ccde2029fb26c8ff

+Result = F (3 - MAC changed)

+

+Count = 6

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = bcc658b2e53d51ed00c567ded2a124f8d1f85fc72dce5f80

+Msg = 00

+Mac = 35d0d9ccab5b0f41

+Result = F (4 - Key or Key1 changed)

+

+Count = 7

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = e31fdf3891c9068f621430315fb1daf418c328baf5e6da97

+Msg = 00

+Mac = 8802047c11abcf2a

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 8

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 16a10208e91807fc479607cbaa39fa9c7273d89ce403b796

+Msg = 00

+Mac = fcedadeca37381c1

+Result = P

+

+Count = 9

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 50fec559910391abc23eb7f5eddbc26a1031c0abd0a29ad6

+Msg = 00

+Mac = cdc41e9b491092ce

+Result = F (2 - Key or Key2 changed)

+

+Count = 10

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 6e9e0ae953b1b486ecd6b766d7b961ab79bcdfe2ffe95e94

+Msg = 00

+Mac = 5096b9fc700929c6

+Result = F (2 - Key or Key2 changed)

+

+Count = 11

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 48043c405ef221c281d1e88246b6e1dda77e072f9d10353d

+Msg = 00

+Mac = cab96cfcaad5cc20

+Result = P

+

+Count = 12

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 10c361934fd6ff77a5051879ff228b08d841660d48b4067e

+Msg = 00

+Mac = 167e7227d59d65e1

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 13

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 867ab71470f2dc3f5f11f8bfa7272dfc9c888e8e03323103

+Msg = 00

+Mac = 96d9e7b084448004

+Result = F (4 - Key or Key1 changed)

+

+Count = 14

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 5b10c228b447968267293ede9131d9345daa18c11d71eff4

+Msg = 00

+Mac = f7055fcd9e8a8fd0

+Result = F (3 - MAC changed)

+

+Count = 15

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 997b712cd9295dc43cc19b40679f218c27af3e8c638d2e5d

+Msg = 00

+Mac = 79a13778151aaaba

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 16

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 465b9364b3f06f3c28da12707673fecb4b8071de06b6e0a3

+Msg = 00

+Mac = 945198b568ed3db3

+Result = F (4 - Key or Key1 changed)

+

+Count = 17

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = d233ef50e0ce1924abd315510464ce22de377026529085ce

+Msg = 00

+Mac = 240698cd0183f002

+Result = F (3 - MAC changed)

+

+Count = 18

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = eb6e828e01930a4b0afc8bda63160942ce32df7b2c38a8c9

+Msg = 00

+Mac = c68fc388f0633ecf

+Result = F (2 - Key or Key2 changed)

+

+Count = 19

+Klen = 24 

+Mlen = 0

+Tlen = 8

+Key = 471b8a2e5cb08c21d87e9eb7ecff1d6e6fc2335581769dc4

+Msg = 00

+Mac = ab5e7c91c35a0e91

+Result = P

+

+Count = 20

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 8b404993b4c3f62a57e4aef272788206c8076acc32cf3a1d

+Msg = 00

+Mac = 6a3beff4d1d0e84ea4d4

+Result = F (4 - Key or Key1 changed)

+

+Count = 21

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 7cccb84fa5c1c795bc05a05ea5bc6497acd2de2d193fba72

+Msg = 00

+Mac = 557b8efe4ca9c4e603f7

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 22

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = f1d434dac8cefca05ba120a34840531bf1542c8fd03b1ff9

+Msg = 00

+Mac = e2c299a2c5159eb777cb

+Result = F (2 - Key or Key2 changed)

+

+Count = 23

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 7fac8beb476b470e13a404ded315db1b15a85c2783eb3017

+Msg = 00

+Mac = 50faaf26afd61c5f616c

+Result = F (3 - MAC changed)

+

+Count = 24

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = f5b4c2a9f096e13ab426dd8654fc7b8ae6a4a8d3daa16b9c

+Msg = 00

+Mac = 535cde3d2c32788bf167

+Result = P

+

+Count = 25

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = f72879cc3446de9a0a43ae1cf08935b8c83f9265b8cb2258

+Msg = 00

+Mac = 4eeea4a1847f2a30010c

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 26

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 7021eaab074be980543cc70c809186d93652d7674c10ddd9

+Msg = 00

+Mac = d98c93f4e0228ff68cad

+Result = F (3 - MAC changed)

+

+Count = 27

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 7fd546397a9a0129861fb6815d419a307f90d259d55f3503

+Msg = 00

+Mac = 13597bb97e38f400e686

+Result = F (2 - Key or Key2 changed)

+

+Count = 28

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 563cfb49f1af034cd38d2112685a52ebce8dca93e84ca10f

+Msg = 00

+Mac = 866bc21135b11ea1bc24

+Result = F (4 - Key or Key1 changed)

+

+Count = 29

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 17e9555b9b4f89cb63f2e90aca95c27ead6a099bc41c4c05

+Msg = 00

+Mac = b04b3bd1719d35e80e2d

+Result = P

+

+Count = 30

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = a65d24bd1ab92d8d294d654423412860e113c976f12ed76b

+Msg = 00

+Mac = 83c1c0f3e89f6584bdd1

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 31

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 35555c801a2e7c68cd0c347e0f006be00fcce70fdd8d60ae

+Msg = 00

+Mac = 7e3670cab617e79b3f57

+Result = P

+

+Count = 32

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 138b3db9baca13bc66e893efee2b767ce6a912b172c2cda7

+Msg = 00

+Mac = 4686805681afa38cb7c4

+Result = F (2 - Key or Key2 changed)

+

+Count = 33

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 1bc05440ee3e34d0f25e90ca1ecbb555d0fb92b311621d17

+Msg = 00

+Mac = 1e9f80432b39f7318433

+Result = F (3 - MAC changed)

+

+Count = 34

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 5776d94b577ed26820fb13c00ab0e2d1a1c3589bfdc45cbd

+Msg = 00

+Mac = 4d5f56d3543abed97233

+Result = F (4 - Key or Key1 changed)

+

+Count = 35

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 22e493c1f2e27c9be7bb07fc00fdd51089582d139b0a9f68

+Msg = 00

+Mac = efe1c6493542a8412118

+Result = F (4 - Key or Key1 changed)

+

+Count = 36

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = d52f030107a2becde77331fff0c24cd72ef62c0f46ae3e6b

+Msg = 00

+Mac = d1b9c7f13b189cd828c7

+Result = F (2 - Key or Key2 changed)

+

+Count = 37

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = be31363e5144d9ff49ee67efebeef6d9a97e22f8a3ceb209

+Msg = 00

+Mac = 03228a1a80d5f3d87b56

+Result = F (3 - MAC changed)

+

+Count = 38

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 6a46492ab7ae5f3dbf16ee7b8876e0b4f0449f3b4f8cd89a

+Msg = 00

+Mac = f016af853140edf22d31

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 39

+Klen = 24 

+Mlen = 0

+Tlen = 10

+Key = 89ef2284d8245d87f88919d4d2f71a2df05ee21d85b7d689

+Msg = 00

+Mac = acdbd54bfb1f20bb65cf

+Result = P

+

+Count = 40

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = f4e74acdeb91d0f0ab143823102d5baed1ffe168fdb5587a

+Msg = 00

+Mac = 9c15bfd3c766f88190e54d395e5387

+Result = F (4 - Key or Key1 changed)

+

+Count = 41

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = d9aa4efa5d75195a400018bd38f7d8cd53fdffe88df1837f

+Msg = 00

+Mac = 4a11b22e871b051ea74db3f763f140

+Result = F (2 - Key or Key2 changed)

+

+Count = 42

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 13439fb32b1514d48de6002f5d12e19e1ced4caf35042602

+Msg = 00

+Mac = 1412aad5e6b7f0d924700b438e0aaa

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 43

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = ffead92a4a5dc1eec6d2e441de9a9e1b7a88c607c9a79079

+Msg = 00

+Mac = 6fb18d51e9a30fe6b7a6f405b3d3b4

+Result = P

+

+Count = 44

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 176ad1686a81992e042d6497a305038ba0cabf74c6ecd8eb

+Msg = 00

+Mac = f676bdc753ffdad36628b1724b967e

+Result = F (3 - MAC changed)

+

+Count = 45

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = acd58261bcb2eb6345af7290b1d216c3016af6697bf5ab88

+Msg = 00

+Mac = a6ae95e5a23b5f5a2dd8c8a520b9a4

+Result = F (2 - Key or Key2 changed)

+

+Count = 46

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 0b5eb52135dc6d9c1f56a2571c1389852482e7aa3edc245a

+Msg = 00

+Mac = a46221058177012b073c6ebc6aff1c

+Result = F (4 - Key or Key1 changed)

+

+Count = 47

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 7bd398d1b9b45f7a024e70e71c1ee7132795fbaa2d63306d

+Msg = 00

+Mac = 119bc07d7f3da0be3a87844b425c0d

+Result = P

+

+Count = 48

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 47575b64fd4797cda8d67e9cf115ae850d7998c39d2f8709

+Msg = 00

+Mac = 3f2010bdcb2fd70241475db9381570

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 49

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 68627d802cfc43bb1a987e1ef4401fa84e8a7b2b43759f50

+Msg = 00

+Mac = 1e0e3333ca5790a7e7df0d6d4bf860

+Result = F (3 - MAC changed)

+

+Count = 50

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 7f16b90a18deec135d32c836063cde963fc4e6daa1555476

+Msg = 00

+Mac = 013e1d0bfc7a7a6c838ac98ce0da2e

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 51

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 3c89c59ab30eba6e5be8f69f597adc534cb52e94259780f6

+Msg = 00

+Mac = 7f9f1bdba93d26cc3c1f022244bff6

+Result = P

+

+Count = 52

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = fdcf28931c91b4b79c8f8332b4eeb3f995eb1ed2fb1e8ab9

+Msg = 00

+Mac = ad7f8852f1bfd65dfbce3bb39db59b

+Result = F (4 - Key or Key1 changed)

+

+Count = 53

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 8f570ddd0963a80abec82caf8883eaddfd63cee9f375fa7a

+Msg = 00

+Mac = 82b16380d804b8eef855afb5eb839d

+Result = F (2 - Key or Key2 changed)

+

+Count = 54

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = cc1d70d3050f022442093e3210f5b45f1b610dc0f12fef74

+Msg = 00

+Mac = d1dc61c2ef7e2cd1a4e43dc34c0ba5

+Result = F (3 - MAC changed)

+

+Count = 55

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = a8a1cf9547543045fa2f00edf79bd85436bc1ae1d746790b

+Msg = 00

+Mac = 48fc14782a351553ea453a3ec2538f

+Result = F (2 - Key or Key2 changed)

+

+Count = 56

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = 123ff732cccb535ec7a1c47a6b0ead68df31094d896709a1

+Msg = 00

+Mac = 8f29dcec0a5d026d6fe4dc64cd1d4a

+Result = F (4 - Key or Key1 changed)

+

+Count = 57

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = ed06bd049d772cb6cc5a705faa734e87321dc8f2a4ea366a

+Msg = 00

+Mac = e3fcf2590fa9ffe093bbfe8d3d7b0b

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 58

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = fa18c0b348aad167b7050c0ef6e7caf0436750873c7e4929

+Msg = 00

+Mac = 630915919b6108770f5c3deaece1af

+Result = F (3 - MAC changed)

+

+Count = 59

+Klen = 24 

+Mlen = 0

+Tlen = 15

+Key = f66296bf67b6e91d8ad629c1b260cb5ca1985273925e73fb

+Msg = 00

+Mac = 729f983d3b49b2ebf24eb04368a851

+Result = P

+

+Count = 60

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 2f4a6501d8fe7b65f607757ddff6ed87ae0681b98b53331d

+Msg = 2361d2ed837c14b6c231daf0acf2623779e0d952e98e14149308807f79145c30

+Mac = 9a8ad7bb37d79321

+Result = P

+

+Count = 61

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = e2d592cb412e65f9044257d78e7491f9f80c8b08102c2d5d

+Msg = 4163b7ad671761a3f27394776970b413e35a2c43ca85560cdd3c9b407bfadb4f

+Mac = ab85ac3a4f92ee2c

+Result = F (1 - Message changed)

+

+Count = 62

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 1534e69565cbc541bfde6901bd6e598e41a7a703091c2240

+Msg = 85b78269899a4712eaa9c3de041f5a74766ec27dd5265da8a117c6f277baaa24

+Mac = 6b177203b17cc7c2

+Result = F (3 - MAC changed)

+

+Count = 63

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = f0302d9a197a285909657d611ce12458b8d24652e91ffe8c

+Msg = 3fd6b98961f31c7b7fff0baf1cbb5884a9290ea7b5ee49915efb4b510b6ccd8c

+Mac = d2d84fac8ecb665d

+Result = F (2 - Key or Key2 changed)

+

+Count = 64

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 2081442435626f7ce377132c46385510d9febfdd90c3f104

+Msg = c4185eb75fc23adff60d6380006a1c20fa2ff466ffddf67e99a421bfd729188b

+Mac = 7373df1900b7a3df

+Result = F (4 - Key or Key1 changed)

+

+Count = 65

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 715fb6fb464513f3650a9d0c3687980ab9caa9876d69dfeb

+Msg = d60b3402ad9f5f09375862ae7a370f0c744ffaf5001c80e3fd150730ab848689

+Mac = ba39c81c18821872

+Result = F (1 - Message changed)

+

+Count = 66

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = a4d9f94e644fbcd97e0d993cb0af507eed259fbcf8fd7083

+Msg = 677acb68500d6cbbf77a3f34f58840f0c16044827641dc43d6767ce98f85dd5c

+Mac = b129c1785acf17ba

+Result = P

+

+Count = 67

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 94b911cdc3137a6f7f32651b788eb82975660aea52b2c03b

+Msg = 549aa84bb182312dd016e3107f3b1f9c5b6a89b543561a450ccf713c76e66ad5

+Mac = 7b92156f8b36d5eb

+Result = F (4 - Key or Key1 changed)

+

+Count = 68

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = d3fff7b6f08dc4256239fc112890429fa00393e84e9b294f

+Msg = 15d1522654bcdce344b5d9753a0a6f31c859d547edf520478a8b5ae41506d5f7

+Mac = 2d778849023fc9e9

+Result = F (2 - Key or Key2 changed)

+

+Count = 69

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 77bbda69ec034d73e02b06f0af30e2dab60ac80cb7822eb1

+Msg = 1e6ee96598bd014c95e9540f5cadfe6885cd094e04048e81633d1d634f065f09

+Mac = d35f3c169f67b597

+Result = F (3 - MAC changed)

+

+Count = 70

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 544a757bc50658d7e73b25688e7fef86fb1f9f08ffb33a70

+Msg = e473fe5656713b3b0e4fd12c640e8c542950577f446b01d09cbc41b6393ef81c

+Mac = e1dad03ab8d2f432

+Result = F (1 - Message changed)

+

+Count = 71

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 1bebfde2d5468ba0a3031bde629b11fd4094afcb205393fa

+Msg = cf27b30423bd7e40d6b3aeb4b1bc01b40aec081aa00f2e3bc63ff61ac4b684dc

+Mac = 617fdf927d0e4e42

+Result = F (2 - Key or Key2 changed)

+

+Count = 72

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = ab83567833d2f3461b5fbecc0e366694bb5ea00933b2b3e7

+Msg = 58d43b9f1581c590daab1a5c56d6fbcff749e489acc3ed51ee6aeeac0104e6ae

+Mac = b29232e882dcb8ef

+Result = F (3 - MAC changed)

+

+Count = 73

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 0e0fece7b6b659b642668e8ba3dca330523e70279155f485

+Msg = d8c35129ca5a84e2e6723332217f0fd2e19fd06eb27d84a93b75276270f97335

+Mac = d7ea4755260630e2

+Result = P

+

+Count = 74

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = b15763294afa61bc27e0785500ab5739136f51bc78b65562

+Msg = 8e8271b2758964fa71520f26aab6f870fa76ea4aa220475b3b379ec4ef8e80a7

+Mac = 6357fb64482d171c

+Result = F (4 - Key or Key1 changed)

+

+Count = 75

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 6dd6efd6f6caa63b729aa8186e308bc1bda06307c05a2c0a

+Msg = d2c9c1300f5a7520614550f9d23dcba6b41be6733426616f32912f155045282c

+Mac = a12adaf849719778

+Result = P

+

+Count = 76

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 35631c844313ac335aa0d590fec472d805521f0905d44ca4

+Msg = 766f9ac761a06f4e006f405f7b3398aecad253f5cb8653e091e17427ff0fc1f9

+Mac = 49090265af87c220

+Result = F (2 - Key or Key2 changed)

+

+Count = 77

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 35008ef5baf263ae233758ca237dec1a51d67fcd3573094c

+Msg = a8f1b7b73100cfe1a03003331d9d55b75fb0d2596ede723fae9240581967ba38

+Mac = af6c2ebe004c6d71

+Result = F (4 - Key or Key1 changed)

+

+Count = 78

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 6f383f798df8f4b9f0a99206cff82709c367340c7b3b0401

+Msg = 9668a011e5a3a613ddfd149b0e529e9e66665006f98e730400adb4a8226283af

+Mac = f97fcc39e240b547

+Result = F (1 - Message changed)

+

+Count = 79

+Klen = 24 

+Mlen = 32

+Tlen = 8

+Key = 9071be7a11dcf7a062d582dd5932f047396fd9eb71982bcd

+Msg = a8a6703044010f8301ea33bd9a808ca35838c9f58683ae3925ab67b9e1fe1ccf

+Mac = 9065cbc5249ff8b3

+Result = F (3 - MAC changed)

+

+Count = 80

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 36ad69f192ae4dcab771aeeacf01bbd32609bcbbea8ff9df

+Msg = 6e60fac7c027aed4632444a95824e61e2c50aa3ecdaf09ed9cec92cec35adf63

+Mac = b6bf70e67b315c256f41

+Result = F (2 - Key or Key2 changed)

+

+Count = 81

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 0cbb1d567bce009d1dc5bdb8115607213ed9a516389f728f

+Msg = 634efdf89ce2a9fcbd38bdc0b4cece54dfd7532880e0b4ce6eb3a4010b7cb1e7

+Mac = 4f0af4ff9a9c9e844fe6

+Result = F (1 - Message changed)

+

+Count = 82

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = ec65afd2d72bf477c7fdd9fbe3f1694c328088cb5f39d9a2

+Msg = 10d0e88b0db8d515bdff3a791c830b28e4e3ff4fa63f45b31a3f73dfb457bf82

+Mac = 7172095284694f5ccdf5

+Result = F (4 - Key or Key1 changed)

+

+Count = 83

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = a76b981540ce229e73064af4474a7ca4a042d03a6e6bdcbf

+Msg = 740d4b25ca7221d0826057701a6bfd66c50a82f010a57be8c5efa0af0f761764

+Mac = 94b657fb57cb2fd6ed3c

+Result = P

+

+Count = 84

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 36bf85bf63b28093d2dae511990a0bbd75184044b033c66d

+Msg = c1fbbae61b81aebacf151f1bccfb1584f3a211fe797996938c03e806392e14c1

+Mac = 71796cf452f61db7f540

+Result = F (3 - MAC changed)

+

+Count = 85

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 67b79d9ef1a47867c7d21f19f99ed1085f17a9f092fac689

+Msg = d354c54151c9dcdf0d0fd8c51413c2645efafb2bf6b680b25ad76d3825a4c04f

+Mac = e324e8d377447b40629f

+Result = F (3 - MAC changed)

+

+Count = 86

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = eafa8699695431ab3cfa1e87ffeae4b822a391653d2e9d78

+Msg = bd647990f7afec76c8f726d1de806ca0cae6f708b5024b514f11c4320913724e

+Mac = b0da9d38a1e821ef1f39

+Result = P

+

+Count = 87

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 1fc4fcbc73dab4e73ed9d7606acdcd42b74972460c640fe5

+Msg = c86553a60da69bec1924788fc3ab985158a2d4788f33c01abead80974d26dd67

+Mac = 992fd0b735b9fa9255c1

+Result = F (4 - Key or Key1 changed)

+

+Count = 88

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 618041501dfcfdd2b60d71c04d635f6357ad8b0643af77aa

+Msg = e7e6b57e74ce7afbde3697e2a69d61ca615aa3dfd32fe31f5521e6ca79877613

+Mac = c183b8f21cb2aac7201a

+Result = F (1 - Message changed)

+

+Count = 89

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 53bcc9e9244e2fa1752c61e65aa5c592138447ef9287fdcb

+Msg = 92e962f0086591b6f61c2ce5af62480722ba6a640c3f53806c421de438358721

+Mac = 105d286777da3f2a03a5

+Result = F (2 - Key or Key2 changed)

+

+Count = 90

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 6d2429921f90a22893cb65c4530e56068e9944d0b0f61fa7

+Msg = ea2ad7b7d3f80793391af0328fbb594d79898e1047210628bbc7441e135bfbe3

+Mac = 482a75ec0ecf1ea59f5c

+Result = F (3 - MAC changed)

+

+Count = 91

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 3100d3c70e823fee9a1bf486ec1c56771acae35246535de1

+Msg = 4e6ddae0d805afcd10a055bce584c848d050fb29fe8f1c64b18e1abfe46b6578

+Mac = b0deaf1bb6d0425d1810

+Result = P

+

+Count = 92

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 79aa6c03dde4bc5949921563264b440ebef71b3298da67b9

+Msg = 879954f977e945cd4db33d20e6749a6832677adbdd9c7e262e4acf632f665f45

+Mac = 9863fe041d191777067d

+Result = F (4 - Key or Key1 changed)

+

+Count = 93

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 85467aa82c22ab019f9243c203b4371c95604dccee5d81ef

+Msg = b86edcc59dc9d8e34bea3baf4bfc0d5e117482a48e522c1b02a370e9124b379e

+Mac = 54b2f4664eca96639f7a

+Result = F (1 - Message changed)

+

+Count = 94

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = d37e7aa9215cb5c2c2fe81834f200192ada3dd0f4ccb9d69

+Msg = 064f85a23e049529c74c4f8267abbbe685b6a838841a9e304fdf14b835eee396

+Mac = 536701771f51d2ec354f

+Result = F (2 - Key or Key2 changed)

+

+Count = 95

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 72e8c7d74cec3e248fe938a1159d8d969928e6da26b8cf96

+Msg = 58019989445d5ee855e0ffcf84e76f3383ae09cfad74276a3edaf05cbf8d714f

+Mac = 182d3bf14cc391aef27b

+Result = F (3 - MAC changed)

+

+Count = 96

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 5f847950d2a5d44137110594d3c0afa995b36422ab36d044

+Msg = 70523bc397417e09d791a4976960e02636ca7144a5681cf7b116daa33eface2d

+Mac = 5f0b325fbfaede23de5c

+Result = F (4 - Key or Key1 changed)

+

+Count = 97

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = b01e84220a7d514060a79088b754ac0beacb60e5b3a47020

+Msg = 036137cfed567fc5e234f18d6c2b8c7e9ae0f3fa526d6596e9a9ee7bf1abdf0d

+Mac = dbe49af18c1e1bc99b73

+Result = F (2 - Key or Key2 changed)

+

+Count = 98

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = d90ba47d7c9107b103cf167041dbd7b41d96016d93961917

+Msg = 2d53836a0437ccf27cdfe2bf2ad53f3082100a9f045cebe6b3031d21c9a6c5b6

+Mac = 7252ee3b5eb76abeec9a

+Result = F (1 - Message changed)

+

+Count = 99

+Klen = 24 

+Mlen = 32

+Tlen = 10

+Key = 02e5a1306f612bdec098458cff3e691d93f050ba11ba6273

+Msg = 4bef96da992ab9386a3463213773f3ca7164813a15e014ab819f153386fa04a3

+Mac = 5fac9c1a1636b66e2f55

+Result = P

+

+Count = 100

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 4c99ce359b8b82b67ee990529a10f2ecceadad456925a57d

+Msg = 89ed296a3ac03fbfb71422b9211799150b9d766a8116bebd48bd0a5068132dbc

+Mac = e0e9583d784f87e0b7dd8fd7494a81

+Result = F (2 - Key or Key2 changed)

+

+Count = 101

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = f085fb257ab64013b43a59150864a31e76c9ae94913a56ef

+Msg = b90ef6b773f250d4dac6fb9e62babad69ab424c96a8c0625987c030a91d27d64

+Mac = 96f1dc9a1c668bb203428181c016ec

+Result = P

+

+Count = 102

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 8109f3208d5cda0f12141e40c85959b72eff1a937dae7f4c

+Msg = 49ab30d5c01e91bf113764342cb8ad32e6af945341a9c6a0ee2319a910416fd6

+Mac = d13777a33f9520793eb8cbcec047cd

+Result = F (3 - MAC changed)

+

+Count = 103

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 1eba29062320df7275a51aa090ab489571057e64f0ff6a52

+Msg = 754f03c2e298a699568d10c3e40390e0f8c398283ce1c35dbc4916fe479b87be

+Mac = 87dcee48dfaa43e8223a2b338b220f

+Result = F (1 - Message changed)

+

+Count = 104

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = a04b976fa01411bcc9a3863cec91f486944fdca6e8754615

+Msg = abf45f39904a8f5766763fe80fa189ed9c6c15bb1a7a8fa0ae3058c9e5b87c63

+Mac = 577aa39884335a4f66dce2a612515b

+Result = F (4 - Key or Key1 changed)

+

+Count = 105

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = c6f0a3692c9280c48393b0dd763e5d0b90477f34ad69f192

+Msg = 737bab64c8a0fd6a07329bd729d2ec88685cb5404bd13a40e095a61846dbacbc

+Mac = d61ad5f6d8aecb7b3fc1ddb1aff64d

+Result = F (1 - Message changed)

+

+Count = 106

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 095eb52135dc6d9c1f56a2571c1389852482e7aa3edc245a

+Msg = 47c577d1a7e69828b5c3264738dd334be8d7678ec77bf1ccb5fec3843f85ffa1

+Mac = 4fd309a62435edd9b1ac8861f904c1

+Result = P

+

+Count = 107

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 2f853c1ddb31694985ea5e47322bfc8567fd7a74a46b0597

+Msg = 5719e671686e87e931c2c0e5842e907bf584d226e040645eaebb896b53a28c7a

+Mac = 75ed56da2db0ffa101578118e3f620

+Result = F (3 - MAC changed)

+

+Count = 108

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 67f5adc0842d7e1a4f8591d678334c95ac83df95c4341c30

+Msg = 6c8aaf2f91ba87b61814ed689331264c7bf98c2223c426a4ebbf7b0db692a8d8

+Mac = b7c591522e9a5a4f3af3aea24121b6

+Result = F (4 - Key or Key1 changed)

+

+Count = 109

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 8702cfd1ff87a749ceb0a7192f5a872740b7fc600845df4f

+Msg = d29b6a2d421abd00a59b756af34bd72a42f5557a2ed40f8a7ea59b2e05ff01d3

+Mac = 33b597665d375c95464af2ad56465c

+Result = F (2 - Key or Key2 changed)

+

+Count = 110

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 64ec1fd6af554485856b7bb3c0ad16fcd9c4ec690914a09f

+Msg = 0418a0afc13d6215c7bd68b12a327587eb63c145120ea626fce59c16f7d66717

+Mac = 80a85e77efe4f47d8938dd9c55d67e

+Result = F (3 - MAC changed)

+

+Count = 111

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = f2991112c2cbd3038ae37b772a5090690006009f0c1965dc

+Msg = 231d72c9325f8c17aef4efc94855803eb2fc1eea601c84a98e8f7053840f0591

+Mac = 14269c545a0e3d56ac9cb195cb6197

+Result = F (1 - Message changed)

+

+Count = 112

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 2c6d7fb9e92d98a1dd92e96f6b4013954ce1aaa5de242e6f

+Msg = 87ec7423f1ebfc37ee83c85938d58259efd16e3c8e55fb871e9998baa9cac81a

+Mac = 782b7ebbada87c3572a3918a03305f

+Result = P

+

+Count = 113

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = d95a1b24964bfea5dd5a65f5a1398c6f9d43b26d98b47816

+Msg = 92f9cf56188322d18cb41d723847e6d419cd163e2be71b78e7b8dbdd099a99b2

+Mac = 2498787836840fe1411a17f153c546

+Result = F (4 - Key or Key1 changed)

+

+Count = 114

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 62f2490ba0c658848859fcbea8cc6774e24c9de979dd29d0

+Msg = 0822e3e6ba982091d532cd5271fbde25305d1f6e71880f81c618f267a9f122e0

+Mac = ffb6c2a6c73245138ce06e458cf914

+Result = F (2 - Key or Key2 changed)

+

+Count = 115

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 1841161a3752de1491b2b2f519d8447636e149437478d2ff

+Msg = 238e36b73b474de88226d4298121393ac9162f1736040bcd717b6e8db85125ff

+Mac = 4d1656a2c8632260aa55a097451fe7

+Result = P

+

+Count = 116

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = d7d9a5f750078f1a82dffe2c70e6b0016eb42d13e1a8aad1

+Msg = 28a107d22fcd0499e0ea5aceda6dbc288a5f1d9da003c626bfb9a6c27922e9bd

+Mac = b67bc2e20c422f9c7c27a84ba0bcfe

+Result = F (3 - MAC changed)

+

+Count = 117

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = dc3ca30782c9c0a7fe8923d4b8d31aaf21e63895f51fb2f1

+Msg = 8716298bc17ed51aa273711873e2c2863e7a5021e46a183e6c6c81f99c02918e

+Mac = f41b1896a22db30dac50b6b3e5e2b8

+Result = F (1 - Message changed)

+

+Count = 118

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = 0b6b36339122610178c4bb72eb558abf15e5ed9ea0077a5c

+Msg = 52839f2f0853a30df14ec897a1914c685c1ac21470d00654c8c37663bfb65fa7

+Mac = 665f05a489f8ad0feea290401b4bf2

+Result = F (4 - Key or Key1 changed)

+

+Count = 119

+Klen = 24 

+Mlen = 32

+Tlen = 15

+Key = e200414db0255ca3faa7f6b17a62523f2c75d99f6ae162e0

+Msg = e749041b314f8719e17a8cb26162e2c910b31116dd769083149238d67792f991

+Mac = 713fb4d0c95743ee7da970cac7f771

+Result = F (2 - Key or Key2 changed)

+

+Count = 120

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = ea77165284ada4599f0bc0a41db787310f53a1588282b866

+Msg = f3a1a6dc2092ae7099bda65f8af32aa19796254a13fd9e0e7319d50402598faad6ccae2a028604db0d44690ba3530bfc8bad062cd96635d9654647c57bb81537

+Mac = 9c7c379b5f8ee87f

+Result = F (3 - MAC changed)

+

+Count = 121

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 18e2baabdcebcd25958eb53d1bd2a95ffb9b51a3c1d92a9f

+Msg = 1df7392e915726847822817cb542df6b14df16d7d3d3ea8d615fe9ee651c938a0234bef059d139c350d6b01192cecfe1d821aa0b668e5d4dd8d5ef9a1eb47db5

+Mac = db521506073b8c9e

+Result = F (4 - Key or Key1 changed)

+

+Count = 122

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = d39f12a9c6b63c17f116bc003f4def172943350e29d60258

+Msg = 75225a26d63e91281fb37ace46354f81de99dedfde8b770ea47f08503aea87d8d7b190dda9e150ecd1a2a182b06676da61667a04864ff4374838ee6899d8961b

+Mac = 65aa057a01b390ec

+Result = P

+

+Count = 123

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = b2212ca369c611b725eccc3daa58df412787a3475f418d82

+Msg = 3727bac9706f482f55bda86dc052aa6810e2c1137b97fc93a65838a2724a9531199726517b6fed53b24d062eec7c22227ad9379b24da7658c0cf7ecc0368cfc5

+Mac = b869a9e06994fb39

+Result = F (2 - Key or Key2 changed)

+

+Count = 124

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 25e5fd5c39e684696e71a6f81f843a196dcd030ce2c07afc

+Msg = 899b48338d5ec3bb4a681f76ef37b6e25357b50e9578d85204c3753d3b6ebccf908e3de8b02dab01839ddf1a560b1ff33857a17fa4244b96612bbdeaa7d4913c

+Mac = cfb0650c7566dc49

+Result = F (1 - Message changed)

+

+Count = 125

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 49bc9d3bcf3c22daa8cf55c1b59d4bffddc2412d60518e98

+Msg = 980026395d0544975dffaaa2c56db1df5816cd80cde513dc76f6f81d21f15c383c97c7233c9af2423fb28922efed2f69aa47c30de17ae1c5be17acbd0ad6cb8e

+Mac = a7ed2a35c89130ad

+Result = F (1 - Message changed)

+

+Count = 126

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = c53f21f1ce3a1792a2de14277eb97664d4c561b3fd4b0e32

+Msg = 66e15206c23751497bc2c8d734aa1136aec08bd4e80fe3408bb3929a84efa749f379c7eb441872929b71872d761e0b448e0126e9fed86eeba611694cd2df4cf5

+Mac = 1b86a912a0ec9f94

+Result = F (2 - Key or Key2 changed)

+

+Count = 127

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 6286e3e53ffb9bb143fcae724b45f86a23bbd74c42518144

+Msg = 62766e9acd41285eeed9b4007340dbb611699624274ad1179e327076135d907638c60f0c773c4ea8d9b8352027ee78ea4f22198f083d2f5cb920e55b9738c582

+Mac = 3c56ff841dca9662

+Result = F (3 - MAC changed)

+

+Count = 128

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 9c5d43c1a1269cde199509a1eff67cc83a1759b71c9e7a6e

+Msg = d576565a938782fc7e9b095db6213002bf5bbfdcd761fd6d876adb2c7947702b8930a5f71ec332bfbb4ac9b9d13d90c2d808d5459d0dfe5ddeedbe3e14038fd1

+Mac = cc7b2038ead10d8e

+Result = P

+

+Count = 129

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 512a23489b8d6b62b63e9188c0ee5016f20448c082eefe82

+Msg = 1fdbfff7941ba22dd8e1dd13a05a3bd8f2c8096894266536c40a983929d0a6340af5233bbec1477363294519d3f3d9c6d41b20f18f76adb54495d9d43bec5afd

+Mac = b81c76829839cd43

+Result = F (4 - Key or Key1 changed)

+

+Count = 130

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 20d22c3b6ab38c5995e22b341f359be25616b2b8c7269510

+Msg = a1c041d1d4e7cd6a953f2e4837e3e676ed48633a2f15828f5f3551d5ad2a19c838a49caf75529bd5d5f89b3da2c2e9922ad8dc5d20325a7b3fae9dcd305f3731

+Mac = aac4d4f4172e1f05

+Result = P

+

+Count = 131

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 22e29aa7547e5ed3a64611e04f1d55f7a397c1619669879c

+Msg = 773b577b95e29d36fb30779d2ea23e2ffed9e1b46aede42bbe03a904fe22ef8f874298b5f4a6afe63f6ca9522863eb5cdb1c8d4bcd445e43e7302875e6ba3592

+Mac = 16bf98c7a5deff18

+Result = F (2 - Key or Key2 changed)

+

+Count = 132

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = b320edb777d317af6c933a6530d9f5cb78d2d3104ac02120

+Msg = b31d3f55909bb660628de9eb95b75df776455f2f535f461edcfdf8a0cffdb096d573fedea7400f8374e62e30879a8beb259b3bffb4c3813a235b4c59853400c1

+Mac = a0d9a7da024326ea

+Result = F (1 - Message changed)

+

+Count = 133

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = b9bcd0ae7100f991f4365ba0683b6d461979ffe86d0ecc24

+Msg = 19d0077952eba12a01db1d137050bd7e9102a31242eb38a5cfb3cf51b86c86cab57f6deef8e6eb9eb29c5dcdd852ffd627641013660b31abebd40fab60514159

+Mac = 972119a55b125e0f

+Result = F (3 - MAC changed)

+

+Count = 134

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 00af010f462ad40a38eefb788b648e1cc292cd4bb08ebeff

+Msg = 573db0961531873316e87090f79e84f040c8358f8ca78fd9ea1ebeda82c1cff67c2ebbda1da0a1b233c1539cb4c0145da2a4a05431e06dac2c2731d59581a434

+Mac = 92a67a99c128e173

+Result = F (4 - Key or Key1 changed)

+

+Count = 135

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = e12f98507d6514c3b551d240595346bc9e9b6a987033b3c5

+Msg = 3927bac9706f482f55bda86dc052aa6810e2c1137b97fc93a65838a2724a9531199726517b6fed53b24d062eec7c22227ad9379b24da7658c0cf7ecc0368cfc5

+Mac = ef48edc762db1d47

+Result = F (1 - Message changed)

+

+Count = 136

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 66fe8076d4e8538e18b84f965255d143f1c7d377e099c1c2

+Msg = b3fe18cbe086955384226c11c62c1dd14e7eabda573450d005b46fd9f9eccaff24dbf5d6d8530b5e25fd9f2a629df5c20a977247cab35255d71d992d85b04c14

+Mac = cb67f0c1819ae458

+Result = F (4 - Key or Key1 changed)

+

+Count = 137

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 82233a224ed122d7306bd6717a80fa1986964f9db41bd40b

+Msg = 65c46382a278490b9825d4f1907f3b9f196e136906067020b6b94ee398cb2f39ed07055dd0b151d974bb8d56ae3bc8b3b31d9054221514bd45d88a5f948ccfb1

+Mac = 27e94d22e8961f92

+Result = F (2 - Key or Key2 changed)

+

+Count = 138

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = d3e3bd80f45140cfc2f857a913a89f0c7dec86790feda4f9

+Msg = ff26ab66c6a10ef910f5b94589b24a7b6fae8e4396faa552b014603fcb5eee921bcfb81ffae989922debf24a6947ed6b1556c02e524b247c3966a7bc636a4fe9

+Mac = d2d326c999095b39

+Result = P

+

+Count = 139

+Klen = 24 

+Mlen = 64

+Tlen = 8

+Key = 466fa94c2158c1cd84b83fb2f15ccfce804f611ad0fbc4fd

+Msg = 5ea068d4f363dc7f1badf97b77ec85412a06dc8d8e3f4364265c7956d4088f014c78fad6c94be720ffb4ce4150da4a3f427f288031e0bdd241dd7daf975acabe

+Mac = d6023f6ffd3c788f

+Result = F (3 - MAC changed)

+

+Count = 140

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 6f5a146524457615d81a605b38a5ff03edbc5c426ec7d551

+Msg = 9be3a736e7e72560bea45e9c8ee8bf37c279bf5b2ef16483adcc093208c05ee51a4db04632946ba2b96cdd9d15b33c25cce2eba4ede4f97aac29ebaa4cf6bbd3

+Mac = af8fd676ee05154b82c3

+Result = P

+

+Count = 141

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = c62e6eb86b8daa37936086dd2c346e3b14be5054cdc2f3a4

+Msg = 559407bb6930d5adbdf19a7e285ba1dee5caa03ef54e3a3fc1b8c86a02f55921de9bf7d553c22d7ad915c6384329d664e70dffaefe22ed9c4e2c233706aafa04

+Mac = e297ad7830c79d387ac2

+Result = F (1 - Message changed)

+

+Count = 142

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 225557b0faca3d6cbaedec5c39c98f0ba0723f4070f2278c

+Msg = eb1383e84d4bfc5a9dad25374055b81eec74316b18f6e001b0623d470c027b7023456000fc61538b663cb7c0e98d77a7fc3ee2277816bacb4d9487c6741e3134

+Mac = f07332a3b01d0e8026ce

+Result = F (3 - MAC changed)

+

+Count = 143

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = c36acf733d310e3b9842b3006aa637ab092faf4a580043b5

+Msg = 1d674eb5d85945a6c7842042adebe549d4fe515501c06c1ba72961ee5bc98d8588afd6fd64893e21220db7ea6a973a420613130dde1d7f6a26677836d65bd0d3

+Mac = d629ef50a784db860de4

+Result = F (2 - Key or Key2 changed)

+

+Count = 144

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 332e30ab63b197e79b86e4da732bad9250c0a5c9976a6c67

+Msg = fb41304f9f5b0f696ddb0e2f0f57bb091f8a31b5324d3cdf15c3bdf256d3502d06db2df9bea24c7ae08fcd641f199610427f3ecf24b92a7e00aef55aeba71516

+Mac = 983e453f602db30e1f85

+Result = F (4 - Key or Key1 changed)

+

+Count = 145

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = b311796b0519a45c176f3ff458d4d818668093e82fb871f4

+Msg = ec1a1e9ee85cf960e5dc4e239619ed85f4b14d32cbd42dfa79f77a27f2cd740d08730de2eaeb91d0eacb8c498336e99b9a0c57c4045ef18749251dbfa733b4f4

+Mac = cb2be0fd09f10deac5cc

+Result = F (3 - MAC changed)

+

+Count = 146

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 6311e7f0a7bcc11176fb411fe719d4e0782c8935524776f3

+Msg = 85f647d940a6d1acb6b7851912f807063515631eaabaa019dcfb993e86f408266cace4c24940eda0083d8569364dc1afb816c0e5b95f3bafe7745e5ddfccd6b1

+Mac = 776b9642c47fabd7e9c8

+Result = P

+

+Count = 147

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 6d120cbf74df2efffe98397ee303ead4e91c5e7839b82885

+Msg = 27ea9ff8359463a7742cd9c9c269ee678f4ab22091fdaf29b9007a92658687cbd71c4166e68c5a1ef30160191f6d926abb28f1da01da9ae8019a520edd576346

+Mac = 5a902959d73ac97ea071

+Result = F (2 - Key or Key2 changed)

+

+Count = 148

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 8e09d421e09dac1d9d966f02a3a520972c6aed2003d907dc

+Msg = cb32cb87ed59ee959c011211ae7cd475c3b5feb21cbafdd0b17796d47dc4d4e61da345b399c2661182485be13dcee33a9eaa8cc4b9742361f4c36f1361381f1a

+Mac = 1b2bc5956223b8801456

+Result = F (4 - Key or Key1 changed)

+

+Count = 149

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 3eeb143d4a3c08ecd9f7df8eba42789b517dfe99e07958ed

+Msg = 3292b8548a35fe34136457bcff52b469eafdb1b86b6cc88bed35c4cfba43785c59d6b01c1acb6870ef1e3ccf7dad20b1733f51ab1bc48cdb2fdf7d86eda17a00

+Mac = 3a85ae8fd368cf9846bc

+Result = F (1 - Message changed)

+

+Count = 150

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 606452c62290b43559a588bb03356f846cecb0ccaf0bdaf6

+Msg = 3cfbc77b8897b6a5613f62f6b1c89b0d68f272c6c19b9e0ec6331ef616702006e64322d3460a57d3a5074c719811cb5dd78900268890da0ac177b40d48773548

+Mac = 325aa552529e66a13904

+Result = P

+

+Count = 151

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = eac3a1a6eb8efe983c6b37b6c2709f5a8851ab72cb23a66e

+Msg = 2801a813dfc3f1c753f4f342a113c09b8e9a7ac16483c31bfd0b746b1db692f805937eec44c16bfbd132154557afb17ed01c1f4c55fe67f0343a6329441fb955

+Mac = 5b0b383c4870af31a9a1

+Result = F (2 - Key or Key2 changed)

+

+Count = 152

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = e2d592cb412e65f9044257d78e7491f9f80c8b08102c2d5d

+Msg = 3f63b7ad671761a3f27394776970b413e35a2c43ca85560cdd3c9b407bfadb4f1edd0e6026572ca0d8274bdaa6870749b0a727aa8c5b7e9442100e0c9b057455

+Mac = 0380cb126c63bb48bdb7

+Result = F (3 - MAC changed)

+

+Count = 153

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = b7b86dff6746145aa7d5bba73ed6a46da5b1200bd3520357

+Msg = 8e7f7e7e3ac2286bef6822ef47f5f73f2ff512e599df17c3723f7a55d4144a367c774de67e7e52ca3760c37484da7a2531d1d590b5380de11c34c3fe447edc0d

+Mac = e7aaf6f82894d8825d80

+Result = F (4 - Key or Key1 changed)

+

+Count = 154

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 70a26d985e6b99bd3a37575f011f2b84ed84bebf99a52760

+Msg = a2cfbcfdcd90e0962f233d7fb70668c8c36cd5e195e2ef5c043268f47187cecffdd36000f96e1f509f00283effa040443b3db15cf73d55c30c65f0fd7cf9c219

+Mac = 96d09f0a799cb52575d0

+Result = F (1 - Message changed)

+

+Count = 155

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 5d678acdb2e6cc03537411ae2e95da120161ecb6c92d5e23

+Msg = 91dee0cd1d17d9342f4d346cee19f5f42e0c3b0498447ec4043c15bb2ae8fb8a7a02d2da489f28932c05fa4ea9c0760e0cf3052a97ed898edffce3247386b98c

+Mac = 4a40b4f63330413918a7

+Result = P

+

+Count = 156

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 795846f9dbf36415640276642cccf87e3dbdf6519c5b2db8

+Msg = 4fc989f327e1a1cc7b8af618ee6ae6d25f78e2b76b681455336945655f13fd5a639bec3a004a88ad0e2df8547a0d315b8ba15f5269038638df6169d960f5ab5b

+Mac = cc5efa5ef19f6cc63f83

+Result = F (4 - Key or Key1 changed)

+

+Count = 157

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 61eab54142fe7e16787fd2d54829cd3c4bbd793e72f9ef9e

+Msg = 13f079b004d1fdf02121564f0a96b057f120899ce920169561d5e3aaeb16bb8e4347c7cf8c86f9acdc25ac26fb5d845a68409c0d9df0e089940fb7a88a76e62e

+Mac = 920de91f34eabfc31648

+Result = F (2 - Key or Key2 changed)

+

+Count = 158

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = b64d00f3a4df754fa4ee6376922fb67ccce0c6209f677397

+Msg = 8003586af34bdd0acae4f5547394245027c2ffcdc9d1335311acc859e9a2a7b817755a601dad14495d32f1ad811a7e751ac07cf18716e1cb193c203e7551aa83

+Mac = 79e8a0ca036d7b0bd2c0

+Result = F (3 - MAC changed)

+

+Count = 159

+Klen = 24 

+Mlen = 64

+Tlen = 10

+Key = 98f4596970e6515b5357f6c6396aac182d126decaddf567d

+Msg = 65737b65927aebcf6cefc7ca107fda8447e8bebf1f08a280d53a4b07f8e35904cc48cc08eda3c63a3475924bde1de6acebaa65fec5ee68ca22d3fe722bf33267

+Mac = 05c51c2507108a3f8293

+Result = F (1 - Message changed)

+

+Count = 160

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = f0409b050346fbd319c8630e4bc9dd6d055355fbb961f018

+Msg = 731db98bd990b2ea19f848fda3519b32bc1d2fcb2f4d42e13f655da8e1dc2af428c185fc01a5d55e20b49d643a254e8675d560301d2ea0c5984ecce39c655de9

+Mac = d37deaceea7ea3b50aeb02636e5095

+Result = F (4 - Key or Key1 changed)

+

+Count = 161

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = f266cec01c5fc08c0bdabc9537bd1aa2df9f2b8ffbe5cc94

+Msg = e19cbaa489a0f65681c983cfee3a4b699339ccb096df06bc871398be9eb926d84426fd32d5d7fa4aa563a88b41afa822f761560d9897a9747cd85b3dc74b4adb

+Mac = 8690d4f8153e56e3ab80c7e918679a

+Result = P

+

+Count = 162

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 6e12c112720ef346bbbe7d1c19483721b1c52c438dad40e3

+Msg = ab8b36f46d1749cde7dd9936df95cdc8e0b359b8963bff4e7bd59599b32408623354a15e29f287a79801866d434a0ee9cdf37f931e53a39509057c7f2b3b413c

+Mac = be9e70fdd15f96a8b7457cb727caf6

+Result = F (1 - Message changed)

+

+Count = 163

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = e9ed05813262fbe769c1104d8ba5c836dbd229a22a681de3

+Msg = 606452c62290b43559a588bb03356f846cecb0ccaf0bdaf67a18abd811d4315a966e2f3f87f6c2428814446563fa71864d97c8336b0e34bf9466ec95598398cd

+Mac = 4b3ac19f4dfa04108283b0e2e3a8e6

+Result = F (3 - MAC changed)

+

+Count = 164

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 0c84328951c66e0f5341b741d2c2796d3524ef732c69e779

+Msg = 9071c45a99cb987aa79596a2014f54e6fe400a6bbd5de96e156cae87cf69762f1329d481213d213d42191312fd76911d8df4c6ad9304754909058cf477adfbaf

+Mac = 1e1003ce7546009a3ba7f59dec236d

+Result = F (2 - Key or Key2 changed)

+

+Count = 165

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 3aa8ec246323db7a3953737928061c79757de2e921c27643

+Msg = 84e9cc9bb7f4fb62ae7396859fcf33da5ca6c80c311eb392107afeddebebe0d662a887879e4014187d2fe8feefb01e6fa0d35819d7cfbf139e99451423b62ee3

+Mac = 4259d5f983a287fbd987e3badafb33

+Result = P

+

+Count = 166

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 66c07634c94dedb5d4c6f19e7cdeb954692ccf51fa242abc

+Msg = 4bbc9d3bcf3c22daa8cf55c1b59d4bffddc2412d60518e986899d6a3e2a781668b0c6b9b4ee0ddbbcd06bd643eb201fe7829699e4dc86e2a1b4876bf9e40494f

+Mac = c40f872ea2f1a1b45ab5737c2e4f33

+Result = F (1 - Message changed)

+

+Count = 167

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 3b9d6b0652836457ec4f701f0dc0e5aed73d16585d61cb1b

+Msg = df7b23a4e4456e0152b24853fe0d5de4179974b2b9d4a1cdbefcbc01d8d311b5dda059136176ea698ab82acf20dd490be47130b1235cb48f8a6710473cfc923e

+Mac = 602941735206bbe57ce1c2e3b9509d

+Result = F (4 - Key or Key1 changed)

+

+Count = 168

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 7253ef10bbc302f01aecf315f9a4122ba805dc4048c30ac1

+Msg = e12f98507d6514c3b551d240595346bc9e9b6a987033b3c50940442dc385634e2a28292856b97d5a78704388b2b6d0ff2ce7a19c64574deac593b98a7ce98bd8

+Mac = 9e62a5b8851d3a0fcddf06fe116ac2

+Result = F (3 - MAC changed)

+

+Count = 169

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = d718af395ba3f5f4c6d15c24475ec7f0f74f3238c81d42d7

+Msg = 0c0d3d7ff5d1b707be9648f263b8f013fa439978e959efef57d471cae02dc8e08d9d58d40381169afa039936f1f773c72003c1c5af03018725ab2408236ee4ea

+Mac = 75749ed44b76d7ac16c98d8b6bc18f

+Result = F (2 - Key or Key2 changed)

+

+Count = 170

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = ec98ec44f5a86715014783172e667a748f162c5c26a8b34a

+Msg = c0947efb86d54644087247f9fd95133a94075faf6250a2cc9f20df5393edbe1a4bdee20e90e877781a370a7f00cf9eee7373fc38acc54aba23b0df3f020356c9

+Mac = d994553290066d778369b54ae06668

+Result = F (4 - Key or Key1 changed)

+

+Count = 171

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 9fab32caed6e1cb27d2115cc641779127d4aa57db0955bd6

+Msg = 6e3e25db29da2c787bb37755ee770e2402fb8208da23389d36030439a143f971ecc880dfda90a8231ddebd2881981ca968ed45f3763a32ec8d2fe854fc2e4b4b

+Mac = 4d3cbf9b68da0c5b49ab3b0913a2b1

+Result = F (3 - MAC changed)

+

+Count = 172

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = aae24266e5981b2ed14213a29f961cbbf7f02f63a33c987e

+Msg = 8244cb416b3d09521ac2fd28c29084ff3d64761d46617b59e8b221de36702c2d3dc62e61375357b702cf8d4dd0f2bf2a1f91777fec0baf2c23e3e6865bae7358

+Mac = ab8e9df7128f4857e0a1c24fbce473

+Result = F (2 - Key or Key2 changed)

+

+Count = 173

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = b9bec4e88775777ff1eb3df671fe8ac03a693a1c26ea254f

+Msg = 8eaed4810702df8caa12fe7e26e7ebbca11aa2de9f3169a8262c0e3c205a708f0071401aa8de09d28a5a6e590ebeb476341880c37bfee1a501229081eb27772d

+Mac = 273b0d874010eac97ceda34232f7ee

+Result = P

+

+Count = 174

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 15120ac9468fa30c92ad87e7aba41ef552814e4ecbcb9350

+Msg = e3de6c6119d7db471136285d10b47a450221b16978569190ef6a22b055295603c9c1ed5da3bf96bdb43a5722cf4e2ea087cdf9b23b3093d250d44047be634b3f

+Mac = 9a166994de85e5d60b154d49a867f4

+Result = F (1 - Message changed)

+

+Count = 175

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = f9b9633f12967f1841161a3752de1491b2b2f519d8447636

+Msg = fa14d3656f7f7610f3a629bce14648a593250c6f309c02c6c552bb42984ac58db920dbc7d98f59295f37f3e9b99da55ef074ed65801b390366669b4c7aa1c483

+Mac = 2c9f3650866b97ecc5ed66929f41dd

+Result = F (2 - Key or Key2 changed)

+

+Count = 176

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = e87275bc62ad067b121b83f220d4ee2b4245541283dfadcd

+Msg = 6475757f30dd0a96ad64bde5c2605a9d2ca82a7223a9ba4c39b6dd3f86a0f4bd02876d0a32ef8af1071664b603862f4b9de6bfc6e7154b136e7a72e661957bf4

+Mac = d0bd2d3d35a22f37bf113090cebecd

+Result = F (1 - Message changed)

+

+Count = 177

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 8b63d3c794e5ba0e09e5d5a5c56670bc0e289b30171ccfa4

+Msg = 44da1657e4be60d887a097e29d03bdbf5920bb0504e654bd963f58c487951a72e395237a9d32281125ed3a533c543de208c99bd063853abf79ddab4692c3a497

+Mac = 29d04b97ac302fefa80f71ea378e7e

+Result = F (3 - MAC changed)

+

+Count = 178

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = 17039577fa27ef5ac3bf97572d9de5f8eac0aa58ff29b990

+Msg = b0329a0978e5a2d1bc85bdca333e7d0d1e9950217ee9547a84e76d3f49999451bf787288e8d12d40456c8214926c14e9b076032fe315c1633d5d21d85acfb1b8

+Mac = 51b4bc8b479dbd60e5de94ba8b9d0f

+Result = F (4 - Key or Key1 changed)

+

+Count = 179

+Klen = 24 

+Mlen = 64

+Tlen = 15

+Key = cf6b5edc515882f8a7954a5d8517b1a85e9559858527d0db

+Msg = fde631afc6c042d77b579dab9298862d943be673cea59eab4a0c1b5cfddc2aef42590e6d8786d18a4646d7e338c2b984c50a50adbeff0fd64e7096f02e8385ee

+Mac = 5ee3547a06661661c46c3778b0823d

+Result = P

+

+Count = 180

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 7b6f4f158422f33543ca90dd0a76cbb23c0dbef26ee140aa

+Msg = 6704dc39a259152d2dc3f08b8799ffecf4e1bc38

+Mac = 5c12ff63244c64bd

+Result = F (4 - Key or Key1 changed)

+

+Count = 181

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 7a381f75058b85680061eeaa0242d3a16a64a5ca50cb61fe

+Msg = 18b31ed5ba1c3ac562ff3ef274424b86c0815c26

+Mac = eb8f3d508c9edb8b

+Result = P

+

+Count = 182

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 3662d7b7c93211535c862ef3dc2724c492cc1e53a58f23a3

+Msg = 8ac860504258c134c6835d4cfaabdb316c36d99e

+Mac = bc1b870eab5bea9d

+Result = F (3 - MAC changed)

+

+Count = 183

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 9eac76976750b7937b3bbc6986b4c726f0d0a63310db85d7

+Msg = 5de2265292780222349ac793eaa17c5a22902344

+Mac = a69594e569230df0

+Result = F (2 - Key or Key2 changed)

+

+Count = 184

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = ed1531500f319e09227d6bd181786b3b446f081abff2e697

+Msg = 7a734243e53cee654be988f5c735b19bb11f3389

+Mac = 9f2cc2a8c3d0a34f

+Result = F (1 - Message changed)

+

+Count = 185

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 85d0d04cd3fd2fb34dc18fd55e645f7492d5280657577008

+Msg = df899dd6b99cc28d66604ca92431fa7f442a4927

+Mac = 18fc40b25fb9c138

+Result = F (2 - Key or Key2 changed)

+

+Count = 186

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 90b0c8b542c91c1b2dfdebb589a7eced6c9b7b43a7729840

+Msg = 38d1a87296529595acce251cb232db8ede65581b

+Mac = 077570fd0efa770b

+Result = F (4 - Key or Key1 changed)

+

+Count = 187

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = eceacd807db82378e9bd7c79054878f09dcb5087c2e1c349

+Msg = 09bf4f77a9883733590a3cc7ee97f3c9b70f4db2

+Mac = 58af901fe0fb5d29

+Result = P

+

+Count = 188

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 16227835305b7586a3106d93da8bd70aa0025df69a0e85dc

+Msg = 1a223362dccc99472b2cd1d712ec6dadd60ef972

+Mac = c26f3980d17f6c36

+Result = F (1 - Message changed)

+

+Count = 189

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = d18cf5dbf5b2094dd6ad85d975449e2dda35b184633235ca

+Msg = 7f557e74f53c344daf7495526d1270dfa8fd24ad

+Mac = 5b7cf33ec05b1576

+Result = F (3 - MAC changed)

+

+Count = 190

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = f1681287bc931a0d8f296e13b3584d6efcb6ca76aa90cc02

+Msg = 08c62ff9bd7bcf189f530d5065f8764532d2692f

+Mac = d646e2ec15afb14d

+Result = F (2 - Key or Key2 changed)

+

+Count = 191

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 116f4855121d6aa53e8b8b43a2e23d468c8568c744f49de5

+Msg = ab91d1aa072947d22f0dc322355a022fe7f0747f

+Mac = 489068c07931ee9d

+Result = F (3 - MAC changed)

+

+Count = 192

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 0a23972e036d62199ec327b25a3cf4e14c29279c6449d3b8

+Msg = 2df3e80fb6ddc1fcc7615330b24fbaa4981441c8

+Mac = 7842f16a0cc7bd6d

+Result = F (1 - Message changed)

+

+Count = 193

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = becfa1c96686b04153fae144c187f034dac3ee6ed70d867c

+Msg = a3a114679ce30c8472149da9bf3a42b1ffb07e66

+Mac = 74fe19b5183ed3a1

+Result = P

+

+Count = 194

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 866b43c8fe3769ec0aeefd4dd02210488a354d67e82a81d7

+Msg = d9bd6ac153cb0bc4e19e59c45cfe0d6f4c9d20a3

+Mac = a3a2ef83eba2a6f3

+Result = F (4 - Key or Key1 changed)

+

+Count = 195

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 7e00aa080c127cbabfdfa5d9d9728c7b25358aecd26f5850

+Msg = ce1a38cd75b9e955483ab53fe59649d087ecd1d6

+Mac = 8375c666d09bf259

+Result = F (3 - MAC changed)

+

+Count = 196

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 4bbf4c9cb6758329b2d5a53c4fbfe2d3df4fb50e57b3699b

+Msg = 6429ea2cc8fdaf58100347d21da64375b3ab2058

+Mac = 77e417a60bca9a9d

+Result = P

+

+Count = 197

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 274b394da9402d3eafdf733994ec58ab22d71829a9839957

+Msg = 2b3d7949805afd73234cd327a62951b32c51df2f

+Mac = 8f9ce09fee15516d

+Result = F (1 - Message changed)

+

+Count = 198

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = d4140d988448d557454c3434fd77f8597e6420566845e316

+Msg = b53017500c100dea0511845597214484fc5f7f34

+Mac = b9e85ce9178b81c7

+Result = F (2 - Key or Key2 changed)

+

+Count = 199

+Klen = 24 

+Mlen = 20

+Tlen = 8

+Key = 43d0d326c511e3bcf4f52660fc3c706a6a95c0ab550615f6

+Msg = 7c880698ef372304a663f0f02944500393585d42

+Mac = 843f71e93b22f1e4

+Result = F (4 - Key or Key1 changed)

+

+Count = 200

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 273cc5013785baeb5abc79c8bde73af71085d7018e7be92a

+Msg = 086e6e3a21787acf7293446516b5f54da95a2988

+Mac = 658a112d7a9e7a08c024

+Result = F (1 - Message changed)

+

+Count = 201

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 492bf7946bce1d3c6f168f4475e5bb3a67d5df2fa01e64bc

+Msg = f7b577f1396b23c27eb637e53d3d92460270b001

+Mac = f2dffabed6871cca2e41

+Result = F (2 - Key or Key2 changed)

+

+Count = 202

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 8e7d8a44244daa7df2b340993e32dac50e05d7b2e103be98

+Msg = 2c3c3582e026a3f29ffd21a92a8e1ee70f3a4147

+Mac = 1bb40d091dde1903ac0a

+Result = F (3 - MAC changed)

+

+Count = 203

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = d2069266b0f180cb319e30ded7535bbe52d24be151de4bb5

+Msg = 392d567f0b8045359dedd1591517ded0171fdcda

+Mac = c1ca2813ad38fd7f0f58

+Result = P

+

+Count = 204

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = f35c46bca9236830ff4bb057cd5764f02720ccb03b253937

+Msg = d4586dbdd5655cf659891f5b6015da524548dbbe

+Mac = 4b6dcc78f6e0e9b7e35a

+Result = F (4 - Key or Key1 changed)

+

+Count = 205

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 509f1e38591e03a30a7409bc7e18595848253308c15edf40

+Msg = fd2109cac9f42fbb093a8675e5cd962c4c31df2f

+Mac = 35387ef3967eed5b579b

+Result = F (2 - Key or Key2 changed)

+

+Count = 206

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 0e9cf0ec43ca3fb7fb9a2b1999ae635d5041bf42f1b0bea1

+Msg = 65960c7fd43891ebdc7bf862b28d4822a8488270

+Mac = 93c33247ca546a8c3fba

+Result = P

+

+Count = 207

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 51597a4c68cd228371e86c179fe04492642ad9b888405067

+Msg = cd8799124d94064f47d7eec59aff543b81ac66f4

+Mac = 0eed36a27b40560b89db

+Result = F (4 - Key or Key1 changed)

+

+Count = 208

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = f9f049328f5db22c41a501088e5759ef4d04db0c4b4f6d3f

+Msg = 7bdc26b5b4df58af539d91eb2ea10263a3e58b07

+Mac = 68c45551f1367c989a9d

+Result = F (3 - MAC changed)

+

+Count = 209

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 5343dacb05a29b3119d6f19bdfbcd6674950e710fc70180a

+Msg = 057c2d386fb1693b845bef585e76e0fc4971ffb3

+Mac = 372a801d1cd33d1059ba

+Result = F (1 - Message changed)

+

+Count = 210

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 5987fcfe8a1ee76afaef54cb22d8b2a20b116f72bfc7117f

+Msg = 8abbdf380c668c6ff34a4f128567bfaf256570db

+Mac = 5a8089b3d9f6c72fc858

+Result = F (4 - Key or Key1 changed)

+

+Count = 211

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 301e0712ce74a1ad02079aeb0ce35edacc33f9a5d907cf70

+Msg = b2d894833daef4070b764361685fc94a780a7292

+Mac = 57a225eca09fb227f79e

+Result = F (2 - Key or Key2 changed)

+

+Count = 212

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 144840494d15b2b31ad63ee05bf579a5e9fb98f534a6309c

+Msg = 71bf573cf63b0022d8143780fc2d9c7dbd0505ac

+Mac = d1b2baf05cdd5fecd1cb

+Result = P

+

+Count = 213

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = b4bc602dc860108aaff5b3befb948a561ac495a22af9085b

+Msg = 3fa85ca50cc4c4817e951b5a95ac006973324c2f

+Mac = daa1246b82d2e14e3056

+Result = F (3 - MAC changed)

+

+Count = 214

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = ff48804c82414ff67f9b917a4d5d062d439454aad8eb4b0f

+Msg = 6def37d9b73fed0390f260491f582d2215369811

+Mac = d7712f7d5f0da5dec6b6

+Result = F (1 - Message changed)

+

+Count = 215

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 0273e421ee670be6322675f26f9014c040a76f0c869698f0

+Msg = d9de46934cb56e58899a31fd14ca64509131dc27

+Mac = b3e79909c16c561eb7ca

+Result = F (4 - Key or Key1 changed)

+

+Count = 216

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 27eb9812d3f7816fb6a1cfe474496e80750b1ed3959ec7f5

+Msg = 776ba7990086731ef7504947be74b3c455bfde5f

+Mac = fc0f2dcf4e6fa041830d

+Result = F (3 - MAC changed)

+

+Count = 217

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = c56f710e39deed799ffde6d10e8aebfa2bab5e5e073d78e2

+Msg = f6fe0f16403182d012f8b6e02539c386075b4585

+Mac = 6bcc4c1b06099220e9c0

+Result = F (2 - Key or Key2 changed)

+

+Count = 218

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 0236ce1fd3ef645a64b4ee7048dd35942e6a09e8099884a8

+Msg = dbf06366f766e2811ecd5d4384d6d08336adc37e

+Mac = 1de717c402baf964e817

+Result = P

+

+Count = 219

+Klen = 24 

+Mlen = 20

+Tlen = 10

+Key = 5cf781067bc1ef948e929b7287279c71cae5143631ca57d6

+Msg = a7f3fb7ed1342862247fb4b1993788837cc87041

+Mac = ee867d4c0f910e9d9288

+Result = F (1 - Message changed)

+

+Count = 220

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 3e19b6f3f3fa3c2551466c9e09f0391350682495426fbb08

+Msg = c7496322ede893ae368884a91f80c3bac3505c0d

+Mac = 55b25da032db8f3b4293a4865df77e

+Result = F (2 - Key or Key2 changed)

+

+Count = 221

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 5717ed57ca0b6921f04dcacad34e0f6210c36673dc9f4d92

+Msg = 5e3ed45f07a6b3c225ba73d04d867f9c5b4aa703

+Mac = 1b642dcc4fa08cbd36d109d55a8501

+Result = P

+

+Count = 222

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 8eca0fb8033e63e24a54a3e63bcf8e4ec331b04ddedfeeff

+Msg = e3807f6d8c6471ffe188df67d952a7d67021bf41

+Mac = 9a37eda1e3331bf86d208b2c0338c9

+Result = F (4 - Key or Key1 changed)

+

+Count = 223

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 633f44dad6995a6af0302692142a47430491ae7b54f8b00c

+Msg = 3caa9b8b24097d29bd24b913692acf96cc78b998

+Mac = a6665b3b158f37f587dfa0bde7f300

+Result = F (3 - MAC changed)

+

+Count = 224

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 14ef8096666ddf28e0ac5f3458b52f3e0c601deae57fffc9

+Msg = 11d5cef384474f33c2d313e6e1050d8c7ae5b019

+Mac = 2643bb3e1c01f406d90104c4437189

+Result = F (1 - Message changed)

+

+Count = 225

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 0c2e1951eeba1a9b6592202b1b8547f43fd755fbd844a874

+Msg = 9ad62bff38e28f75302b6527c1c107543f798817

+Mac = f42ff7aa728c2d815ac7c701b59627

+Result = F (3 - MAC changed)

+

+Count = 226

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 1ee2df7aa80e3a131e2aad9c17bcbf546d8b25e5a849db31

+Msg = c4e8594cd09be010b6934157e0557686310e8dbe

+Mac = 34496d184bbdc0c9a57916ff64dc3c

+Result = F (1 - Message changed)

+

+Count = 227

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 75650ce366757618af20205b69af7e5d4e82c398c00101e2

+Msg = 42a71eb81ad1c97ac53b88831b2d15f3c57e7cf8

+Mac = 4c03394a98bb43e6197074abe63070

+Result = P

+

+Count = 228

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 386c659bc45d0a88acd54ef7eeaa3e140e1cafb1b01474a0

+Msg = f4fc5acff75d404849675b813cf7adcaeb8f3d56

+Mac = 5cfb2fc8869304428fc012a14b616e

+Result = F (4 - Key or Key1 changed)

+

+Count = 229

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = ac192759625f4e42d1d1fa73dc0f62199142155615478f88

+Msg = d33f716df06e9047f8d718ab1faa06ec7b773bb7

+Mac = bbf5b7207faa5b004216fa5caf3f93

+Result = F (2 - Key or Key2 changed)

+

+Count = 230

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = efb497fb9b85d472e7c9d061aff501f7b1e3a311a86cfc69

+Msg = 1fd425560816aa21d6572150d1161cfb3bd61e6b

+Mac = 2b7e14864d29437647cc1b27a8a0ad

+Result = F (2 - Key or Key2 changed)

+

+Count = 231

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 344fbbeaf82ede8a401df7cc121ed3da43be9bcadeeb5614

+Msg = 93febc9e16003cc8d6490ba5a6e64dd673a0f887

+Mac = d34ef878392bc226f7ce1519f3bc23

+Result = F (1 - Message changed)

+

+Count = 232

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 4b6c6b6be3c04985bff49719c4e11be97d7757801dafadc3

+Msg = 754336f8cf27f4bcc7af5207ff02a662232d9a62

+Mac = 5389c533cf43ca0332574802c2ace3

+Result = F (4 - Key or Key1 changed)

+

+Count = 233

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = fe5ddb0645387cc6535e5b7991e6428c4157a76bb41084fe

+Msg = 216d9eb896edc693520f99ac91f34cb54e76d719

+Mac = b43388ba7859f803655d914b60ce90

+Result = P

+

+Count = 234

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = ed14373671cd8041e00874b5d098ea225eaf9c68bb51cecb

+Msg = 0569c6be9ddcfbb82618fdcfcab3dd60c20c49f5

+Mac = c2c11297111a92a484868179c5931d

+Result = F (3 - MAC changed)

+

+Count = 235

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = f2faab6735779e9ac49716e7fcd3faac939366a7249f4f0a

+Msg = e7292269b07683acf5bea0b300782749074e2313

+Mac = e10f324c19d79ed83256f15e302699

+Result = F (3 - MAC changed)

+

+Count = 236

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 2bddd90daa1251a42a0e2fd2858568887f85e6d96d57daff

+Msg = 0f8b828c0e59effbdecc30abb6cae0d9af9c7636

+Mac = 1aab0530749ac4c6432157730ee3ee

+Result = F (4 - Key or Key1 changed)

+

+Count = 237

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 586233e492b76ade095e8f5ffc6df4bf6caad2a675953b2b

+Msg = 92af89c950d6221473a358dd0f280277bde7ab0c

+Mac = 2a79121e68ea6b841e175ab5066388

+Result = F (1 - Message changed)

+

+Count = 238

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 5aea45c0995e950f333e29f4db82ea4c4c080ff82fe32bd6

+Msg = d9ff1c84bdb03114ebd5f471247a579311f4672b

+Mac = dc58e7582cb555ea784036a8ba4b8b

+Result = P

+

+Count = 239

+Klen = 24 

+Mlen = 20

+Tlen = 15

+Key = 900c8283c7d50d6da79cc07d3dc7b76c2ef76100fa3ae2df

+Msg = 3f8c6d21ec05bc439bf82774f1812bd2dfe0d3c4

+Mac = ec1fa18916f991d7276428b9c93c70

+Result = F (2 - Key or Key2 changed)

+

+Count = 240

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = abbb803150cd7fdb9f3d571bc749debe72c825e45568aa5e

+Msg = bb5fd7f4fb020d38c13df3003a9bb852a86948f406c51624eaf81989b006

+Mac = 799d598f32ebd9cc

+Result = F (4 - Key or Key1 changed)

+

+Count = 241

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 2fa619eed51bccdd2ce63580ebf85467ac9136f79256bf1b

+Msg = f92d1a6731f3bdd811fde1ed936de907ebbc4179670857859aafe788b91c

+Mac = 6477feb7dd4c818a

+Result = F (3 - MAC changed)

+

+Count = 242

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = d0115f369d0f74073a46e3b9625660847dd7ac7571e40814

+Msg = 97da5d1f669dc60b6c6fe4369e01f3fbb9af30b483b23d885497c684d6ef

+Mac = 3d7f0acc627b785b

+Result = P

+

+Count = 243

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 045c4b86eed865cd989f035afe8c257c400c11b1f72548c6

+Msg = 5a6233e492b76ade095e8f5ffc6df4bf6caad2a675953b2bdfa8513df1dd

+Mac = b5a44479b0be31ce

+Result = F (1 - Message changed)

+

+Count = 244

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 4a83bf338fc0125ee1966df46d46a0d0b41e51569b3fa957

+Msg = 794a86f5b20d344ad86fd5523d08f1864737be57731440c29aa6b4257457

+Mac = b45939cc01918eab

+Result = F (2 - Key or Key2 changed)

+

+Count = 245

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = d9ccd93317441e9d6ccc358f31e7e2ccef8c921b23d74299

+Msg = 48754401bb69bed2cce8689e47210435878c7ce184d911f60d26b4aa5174

+Mac = e0d1b6a530944550

+Result = P

+

+Count = 246

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 1e50fae752ac3a6e2b1755475e84441947e9f4b1d29546f4

+Msg = 34245df514f6c273d252271a980929e50a7cb0e77b05c7d46092abc30493

+Mac = a0fd99f1405b027e

+Result = F (1 - Message changed)

+

+Count = 247

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 4f98838899bb47fd3b0fd5efcf55403996567a0fbe1abdda

+Msg = 0c8cc752ae8d487c621be129326513a5ccb4141e324d21aab399148c1a83

+Mac = 1aef1b7bc7856c6e

+Result = F (2 - Key or Key2 changed)

+

+Count = 248

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = c98a22a667aafab0c94047e03837d51b11490693d5c57ea2

+Msg = e4fb1612e50607457dee8087ec41e57fcd7fc550497eaf1c8b0d47c773d8

+Mac = 2c467fe37fee5342

+Result = F (4 - Key or Key1 changed)

+

+Count = 249

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = bc6d4c46476ac1ea902be391b8a3f04e102aecead167f0e4

+Msg = 93b3314baf20e28a39e89592012c35adfaa3ee6d3d8e494051ee9944aaf4

+Mac = 7f10757d2d36a55d

+Result = F (3 - MAC changed)

+

+Count = 250

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 5783548205826853ae740d35d6d69ab524c38fdfc5c51eb1

+Msg = 11c90809f9c53d2f77b56af0a42287ac6920e3d2921cceb824d496caf1a7

+Mac = 07630c2fc52a24b2

+Result = F (2 - Key or Key2 changed)

+

+Count = 251

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 9cac76976750b7937b3bbc6986b4c726f0d0a63310db85d7

+Msg = 5de2265292780222349ac793eaa17c5a22902344063f497aabb9dc038ce2

+Mac = fd092bab159861c0

+Result = F (3 - MAC changed)

+

+Count = 252

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 616de0b0f868eec923bf9edebbbaa51d3faaa3f86b2a5687

+Msg = 38013d62558647bc21d293830aa3ba80ff3fb84a8e0938754c5213077771

+Mac = b4e782780989dc11

+Result = F (1 - Message changed)

+

+Count = 253

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 5df77b26f3d34eba49d287addf0a38d20514e2b7e6059935

+Msg = 1930a8b428334df9fa1ac16890f3a6a93fcf9d6855d00b06ff831d8f6a70

+Mac = a8ad975046cd7571

+Result = P

+

+Count = 254

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = c56f710e39deed799ffde6d10e8aebfa2bab5e5e073d78e2

+Msg = f6fe0f16403182d012f8b6e02539c386075b4585be5b18d6ae1c5f9ebdff

+Mac = d0df47dda012655d

+Result = F (4 - Key or Key1 changed)

+

+Count = 255

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = fef8982f7342f1b953658453cd5ea413700eff00f1ee7d6f

+Msg = 269b6c1c95bc079398bb31e285a887c1832202d6ec257a2cf62468e29358

+Mac = d2c90040bf66b2a6

+Result = F (4 - Key or Key1 changed)

+

+Count = 256

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = a34dfa24847c365291ce1b54bcf8d9a75d861e5133cc3a74

+Msg = 105d2b82676bf67ca9575ffd31d7d114e709826fccb6a5c3d3d7e26ff258

+Mac = 5e60278f98b3135c

+Result = F (1 - Message changed)

+

+Count = 257

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 520fe80cc4a3a5ad9c31f7010504923b7a7fd88292a64f98

+Msg = 2e1e0712ce74a1ad02079aeb0ce35edacc33f9a5d907cf70d0548d84ec3c

+Mac = daf839ef84f1c81d

+Result = F (2 - Key or Key2 changed)

+

+Count = 258

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = da4775b8f7d654bc4cf2eb75ecf4831411bbc9a960ea2df0

+Msg = bfaccce3a9e66f45e454090ffedc348306dc2807951ce0bf100178612703

+Mac = 3e2eb7f029e687be

+Result = F (3 - MAC changed)

+

+Count = 259

+Klen = 24 

+Mlen = 30

+Tlen = 8

+Key = 15e3b3c5794fececd703ac58ccb22a78e15bbd55c579416b

+Msg = c6c3457ffcb6e66c085ecb69492deaa704e25aeeabb7b7795fdcc807b325

+Mac = afd75cdc02222e65

+Result = P

+

+Count = 260

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = e0f2cdfb64bda8f02ab90620fc5a1943c4b536a99f3f8820

+Msg = fd0365ff6061e5f55c0e382f5861aad99c135f9511f33ace4bdcfe48c6e4

+Mac = a1046d4b29fc50ed94a4

+Result = F (1 - Message changed)

+

+Count = 261

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = c7aafe7d3b419fa4ea06143897054846ac4b25e4744b62ba

+Msg = f1baf3be69f69611fcd47256e43830a1b3fd8bd3952eb26ed679eda7a4e0

+Mac = dbc419e1ddd5cfdc63a7

+Result = F (3 - MAC changed)

+

+Count = 262

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 58c219f2bc8ef2ed7a82cf70e4af4747e36a30809a5a6222

+Msg = 622642aa69b3efe14abe0a1d2ba20f3f76efddf62e6cafe2845c4dfaa501

+Mac = 4e496c3d2d84d11923c2

+Result = F (2 - Key or Key2 changed)

+

+Count = 263

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = abccee975feb10f635d548a8502f7c8b6adbd2be74117257

+Msg = 4f37a460d180a12789779fc335326c983ad6b18295b47f1715b82b2dc704

+Mac = 41b234e0173770c469b9

+Result = F (4 - Key or Key1 changed)

+

+Count = 264

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 0218eb619dbbde2e846218339aee4383792856496eb3b85c

+Msg = 28d3510a37d5f8481e7f22941c1fb1d6c70686fbad9747a23c9d5f18dfe2

+Mac = 3cede44c942387d91767

+Result = P

+

+Count = 265

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 88b2514f368d51db283039efcde1891652a77daf68feec43

+Msg = 067a3a0434e92cac02710221fbb6dfcb7ef0264e2994905491317c8c3697

+Mac = 128e652ce0a8f1a6194d

+Result = F (1 - Message changed)

+

+Count = 266

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = f2a78c449621278e9e927fcd50742d042d98d5142380fd3d

+Msg = df899dd6b99cc28d66604ca92431fa7f442a4927d03b392e707b548b8ebf

+Mac = 2eca3c42b5e5d0f3b9e4

+Result = F (3 - MAC changed)

+

+Count = 267

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 01fbfbde7dfdd6f0a0c5244cf6c36eece4d6dedd8baa463b

+Msg = 485ef613bdab5473763bb269a0d8c7a4bf4850bba072a96f8fc39a31cbd0

+Mac = 333eb331d6a0d46fa279

+Result = P

+

+Count = 268

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 6ce99c231d2ef0fd48c2375dca93f8bb0df97d4a44e835cf

+Msg = 32d71e59634126ac6c6156a80a0dfa0175b29e9f40a3169680b1c15830fc

+Mac = 3e90350e115c425ba466

+Result = F (2 - Key or Key2 changed)

+

+Count = 269

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = f7a93aab5707ca3d2362c5669198e0218493acc3cb7b02d3

+Msg = aeec40ca8964fd6a67d3dc871ebf1bfb72f52907f1d6ad441bf2cadcc6d8

+Mac = 7381d65aa138c86713b5

+Result = F (4 - Key or Key1 changed)

+

+Count = 270

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 84f39f5207afcfd677a7544579f2b888a1eabdee4e835924

+Msg = b8d21e9c70bf63f04be311d50f84aad7e1bd2b0e517434ab978d68d01c5d

+Mac = 4ab61c537f8b15f824cd

+Result = F (4 - Key or Key1 changed)

+

+Count = 271

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = d488bdda400932de56a9f105f0e74ee79c2ed869faaadc31

+Msg = e64949ed85de6359595f286e29014c26daa7759aee56e4194ee958774606

+Mac = 2752bc490802b9dd8686

+Result = F (1 - Message changed)

+

+Count = 272

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 76ddfb075fce4be8854185c6899a88d06e24854506b31237

+Msg = 9d86ae7d70e839078babf7fd60480a4351690867c6a8af837d9ad465220c

+Mac = 2522efecaa1ba11c0260

+Result = F (2 - Key or Key2 changed)

+

+Count = 273

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 618041501dfcfdd2b60d71c04d635f6357ad8b0643af77aa

+Msg = e5e6b57e74ce7afbde3697e2a69d61ca615aa3dfd32fe31f5521e6ca7987

+Mac = d958753757a11eacc848

+Result = F (3 - MAC changed)

+

+Count = 274

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = dff6b9493de80447ee18ea7311fc9b8d74f77ac1ab21ce84

+Msg = d70aef3532bdc5293a3ebb11589ac1f801c9f93ea0d656e1d04068facf9f

+Mac = 9a761e0e54767e414cf2

+Result = P

+

+Count = 275

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = d7780ba2dc5cc584472b64bc9f6246bedb27c70aca22c0a3

+Msg = 14691c1b47ff1547c1d2151913c2d1862d8f54782291ea202caa3d8ef07a

+Mac = 78a2bf3a5fc87a14e090

+Result = P

+

+Count = 276

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 3bc5dba883e2e3b81df06760cc32f11009cf5a5503cbe864

+Msg = 9d043e368b41acb5eebb99197e15adbc3d19175a0bfcc97275e3e5efcfa5

+Mac = f457293acf683c873add

+Result = F (3 - MAC changed)

+

+Count = 277

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 7b3fba25c5ef410ecec62276b105ecc01c325dc2530e8364

+Msg = fda4bede287c57eea4448af5e99d41c7d307d1f202af7f387f874342a29c

+Mac = 0cfb78ede5f4c185c33b

+Result = F (1 - Message changed)

+

+Count = 278

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 38efdbbc5645f65414b9cb81d2f9e4f190cf6e6e05eaedbe

+Msg = 50422c5e6a0fb8231b3bb6e2f89607019be6ad92a4dae8e0fe3f9e486476

+Mac = 0c1acd8e8527e2663486

+Result = F (4 - Key or Key1 changed)

+

+Count = 279

+Klen = 24 

+Mlen = 30

+Tlen = 10

+Key = 94ea5b0aa6c8b07e379122006042c920077bd61610df6b4b

+Msg = 1d52f401f01058356d8c4c630f64c5322caa6063d6365ebf0040ec4ee12e

+Mac = 2dec0d3bca617209b07a

+Result = F (2 - Key or Key2 changed)

+

+Count = 280

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 5584994f80640233ac8eb4d2f873e8c997499095250b48b3

+Msg = 91febca4f1ae7e27501400c44ce8681ec90f5a5637c962db142c9284b1d1

+Mac = f0b3135c1748e823aed10c4694fc60

+Result = F (4 - Key or Key1 changed)

+

+Count = 281

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 57e99653fdcab10135a2ee3bf45c1be69e9ed57bd74dfbad

+Msg = 51c88fd98a7d82043a1500fc3d8a66ba7ab7760467c7fd89cfeeb22dd257

+Mac = c588ee1d4f330e51872065c02cae61

+Result = F (1 - Message changed)

+

+Count = 282

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = f622d736124641bb7d53706bf2a69db2fc31461fb92818be

+Msg = f09569906381138cc49e3fc2384c5d33c34abd3d617c487b52ec6ee7b510

+Mac = 610e1c1f9ab35059580061b8662a81

+Result = F (3 - MAC changed)

+

+Count = 283

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 9662baae49c26e5452f3304ceed3b78326d2020a99a63f69

+Msg = 1d93aca4e2e31f5ebb84fad580fe74f5b6d1d86ab30cd0c8031be4090be1

+Mac = 3c5a4eb51ec58ef3468bb00e7cae8c

+Result = P

+

+Count = 284

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = f2100615431349aba5c4f5a7f358fe7be579f4cb9e8f33d2

+Msg = aaf26bff7ad4116969c15d9206de6c737b7dda87619e3575d9b6b2efd8b0

+Mac = 7396deeb4316fc6d84d3af119656f3

+Result = F (2 - Key or Key2 changed)

+

+Count = 285

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = a5993acbea8c55d7eb55d60596f83e1d9f2cf636d06240da

+Msg = 0bc1fede6a6ed9e1deda82612fbaa6e60f0b2461fd5d131e6a7206f41a07

+Mac = 2f6b0a9f2a972d299bfa5892f8ea83

+Result = F (3 - MAC changed)

+

+Count = 286

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 775846f9dbf36415640276642cccf87e3dbdf6519c5b2db8

+Msg = 4fc989f327e1a1cc7b8af618ee6ae6d25f78e2b76b681455336945655f13

+Mac = 8b3cf3171912096763a2ebe5ea9e41

+Result = P

+

+Count = 287

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = b214b16bbac27ccc9773d3c8dd31275da4876c039740ca8d

+Msg = 7786a3e30acffd6dde375bd859dd6be2c9221b979d0c66d1d5ed6e00b73f

+Mac = 1a73acbf4e9250610b74c727b9c42c

+Result = F (2 - Key or Key2 changed)

+

+Count = 288

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 032b4cfce8a1acd89de5f6f78794e2813bbcdb89959dafec

+Msg = 3f0bf0141dd3ace0fabeace61811eac5ec801deb7ffe3b0514d43db90bf0

+Mac = c24066cbc00cb5c28e48141b627411

+Result = F (4 - Key or Key1 changed)

+

+Count = 289

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = a053255875ed4b5193bd9c5fa4172a1f660ecfd2a394c2a5

+Msg = 14666eb960c6b4f8b6ccc49f79a039b12c02e0972c300f1e9d0a38c0a474

+Mac = abce3abc224772a43c058016bf25bc

+Result = F (1 - Message changed)

+

+Count = 290

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 0ee87b40abaa99f598fba22c3e677a85ca3ec95c3a51aca8

+Msg = 1bff19aacb9c7d0a44a15ce686a2469e3934d086365d36f449484498353d

+Mac = 4d565c2e12901845e77ed8b02746ca

+Result = F (2 - Key or Key2 changed)

+

+Count = 291

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 3384f8563cfd0fc8019bacc9b691c9ba4ae6dc8cf4c00629

+Msg = d31e959cf7842db351db407266ddae0b36e37f34270576724083e9989764

+Mac = 96d0dbf51d96b532321da593383964

+Result = P

+

+Count = 292

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 375904fb9fcafb7f19877b145b0284cef61ac7a3d88f537c

+Msg = 441bd4db5e80c7db1b575a19b7bad021a719658a2c818566291d3cdd32fd

+Mac = 3b8dac029f6658e44e5f5bb8f8ee40

+Result = F (3 - MAC changed)

+

+Count = 293

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 3c1ca347a7d3d8db8f704410c493d7a65718cb7bffec2dff

+Msg = 555fd02fad4f44484133f9472c050f9da27390fa2a3e48cb0be0d7020171

+Mac = 32be39d874c15a0fffc7111f76bbc4

+Result = F (1 - Message changed)

+

+Count = 294

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 8bed296a3ac03fbfb71422b9211799150b9d766a8116bebd

+Msg = 6df3de543cdb6d1adb6ca7df6b5a4510fc8379a4f2c87497ad1c2b9a69da

+Mac = f24ff3218e7905d81c3e99c84bfd26

+Result = F (4 - Key or Key1 changed)

+

+Count = 295

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 9530bb291d38f6bed10318081dde8fd178f02eb0e8b7d022

+Msg = 5f48624302d1acf7750994d45f0999ecd89a3861cd0268d5a51e672124b1

+Mac = 0afed54c577e550eba7ac94a2d82d8

+Result = F (4 - Key or Key1 changed)

+

+Count = 296

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = f5400b86ace6e3da5f090befb96fc05d0409bf41fc77b4e0

+Msg = 1c79b055fded54af5ad2f3253f93a090ec003863d9458d3ff718c4c13937

+Mac = 59f94d4b13539a5f0a8672e4599bad

+Result = F (2 - Key or Key2 changed)

+

+Count = 297

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = c033e4a512297caecdbead892b11a9f7007af9a74bcab89e

+Msg = 3ce965d58856663d54269af4791ec57ef98227ea387d525769c23ab74674

+Mac = 0dc19e37a255dabb61957f7f89ab06

+Result = F (3 - MAC changed)

+

+Count = 298

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 2459f951d1255d093b72144b83b05ea3185d5123d1ca864d

+Msg = 661c6ff41af91a6d828a4d5d507f8a9130abe91412070950c5fa4c75c8d7

+Mac = ac8e75b4465a52b3a7da3746f9875a

+Result = F (1 - Message changed)

+

+Count = 299

+Klen = 24 

+Mlen = 30

+Tlen = 15

+Key = 3b63415210361822e23cccf0faae88cd7642f44cec45fe37

+Msg = d7f78e950d2ab520a6f1e82ec6f206b2e8c71131c85234bd80500527f131

+Mac = 15e59760acd3dd74155d6d3739c189

+Result = P

diff --git a/src/crypto/cmac/cavp_aes256_cmac_tests.txt b/src/crypto/cmac/cavp_aes256_cmac_tests.txt
new file mode 100644
index 0000000..2103550
--- /dev/null
+++ b/src/crypto/cmac/cavp_aes256_cmac_tests.txt
@@ -0,0 +1,2165 @@
+#  CAVS 11.0

+#  CMACVer information 

+#  Algorithms tested:Alg = AES KeySize = 256 Mode = Verify  

+#  Generated on Tue Mar 15 08:40:45 2011

+

+

+Count = 0

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 45b74171271e1fdc19f9beadda58010d843af69dc2f4ad003dd74b9b570d5a98

+Msg = 00

+Mac = dc0ee796

+Result = P

+

+Count = 1

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 2cb4239fffd13762fb5391f5a4760d12d96ea12666a793b4d651e9f4891c22c1

+Msg = 00

+Mac = 2e19d6cf

+Result = F (2 - Key or Key2 changed)

+

+Count = 2

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = d88586da8b605a6fd5a45d316b89fea15e27ff4d92238397718e68b8e00ad605

+Msg = 00

+Mac = 8ad78885

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 3

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 136ffda3359fee8c81e6dac131256f4bffc0d3c3e74f8aaf2f979a0fa5b8ed32

+Msg = 00

+Mac = e430d0da

+Result = F (3 - MAC changed)

+

+Count = 4

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = e1a7867476bee9928b7237ab7a3d502fbe3d2d45b6e4c41aa9f12b79099f019d

+Msg = 00

+Mac = b6f00f90

+Result = F (4 - Key or Key1 changed)

+

+Count = 5

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 5b4d945d55dea22e37821ec396476a4bfb617d2f392ad93afe67bcfda9cd9b72

+Msg = 00

+Mac = 5076ef43

+Result = P

+

+Count = 6

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 23df62a79fd5866425427d0ccabf05b16590e8452ee22e028b51910926ad314a

+Msg = 00

+Mac = 7bd29398

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 7

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = ce9da814595f76a7e52a1222c7c9a6579b3cc2e393ba51580ff6cc9b6ea2ad8a

+Msg = 00

+Mac = ce872fd7

+Result = F (3 - MAC changed)

+

+Count = 8

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 507c4f32246d637fe08e454c638b014438109e1fca31f724d40ac6ec1aa20268

+Msg = 00

+Mac = 282a7ec2

+Result = F (2 - Key or Key2 changed)

+

+Count = 9

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 537dfe9fc000468dde29800549b1cfaae67ad89d22c8264d7eadcd914ac54ef4

+Msg = 00

+Mac = 7936b7d5

+Result = F (4 - Key or Key1 changed)

+

+Count = 10

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 1f57959cecbd377374477e33b34979814f260f77867392ed645998f73a3b06ae

+Msg = 00

+Mac = b4b63264

+Result = F (3 - MAC changed)

+

+Count = 11

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 3d272b4a1a1031369aff514e2df98d580f972b5abeacc05cb1288e6e473c0fed

+Msg = 00

+Mac = 18b35edb

+Result = P

+

+Count = 12

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 8774d1acf96362215a3d1e51e1a52a980685dec4f3afd2d438c03c00c04a79f9

+Msg = 00

+Mac = 80eb7a84

+Result = F (4 - Key or Key1 changed)

+

+Count = 13

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = f37155beb5eed8899d9ed4b5fa21b60b40af289f090a355d5bb1aee52957cd99

+Msg = 00

+Mac = 6827f73d

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 14

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = fcb52c44379ae8083bdc7b827383df93cb1a7ecc21574730f9fe003b7302de23

+Msg = 00

+Mac = ccad16d9

+Result = F (2 - Key or Key2 changed)

+

+Count = 15

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 83e231ecf8913ebce00e62b8f00c1abbaad710142fdb912c54664169f7af0e51

+Msg = 00

+Mac = 8e393f56

+Result = P

+

+Count = 16

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 7d35e77450e2adf8805d5ad67de5835b2c5dccafe8440865c7e7a1501ed53a98

+Msg = 00

+Mac = c6899710

+Result = F (3 - MAC changed)

+

+Count = 17

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = 87143071241bb65261fe7afcc102416e59b9e46ee0c9007308f0eec10e45f6d6

+Msg = 00

+Mac = a1a4449e

+Result = F (2 - Key or Key2 changed)

+

+Count = 18

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = d30d2d1670553c71ff0264ab861574dd03a103d954226d1b540f18fc47b3fc29

+Msg = 00

+Mac = 217ac763

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 19

+Klen = 32 

+Mlen = 0

+Tlen = 4

+Key = d6983226b2c3a431abcceb77c8ec6b9bae80199115b28c5d7c56561e1b12944c

+Msg = 00

+Mac = 26c717ce

+Result = F (4 - Key or Key1 changed)

+

+Count = 20

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 0cf53b4aae3e0a209e58385dd32d9cc6163265241332c332af4de4b99b4022fa

+Msg = 00

+Mac = 1bfd19f6e1070186

+Result = F (4 - Key or Key1 changed)

+

+Count = 21

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 5f988f38410d26d293ef32d74eaa81acca82545e767ab59dcc750a09849cebad

+Msg = 00

+Mac = 7e52911c0d7987a2

+Result = P

+

+Count = 22

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = d8fd6e1dfcca8f656705aed7e356a576baf8907c8d10d54c833d62a8a6703624

+Msg = 00

+Mac = 31b478b4b4adaae0

+Result = F (2 - Key or Key2 changed)

+

+Count = 23

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 49fd56dec210e903f6c703332637f9c267eab9333e2701a16c74ce5e0b5a16d9

+Msg = 00

+Mac = c8be2b36c93684f3

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 24

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = fa282e1f3276a3e0c769f2ba25ce830591e860300cc03ab57abdb14c0374d060

+Msg = 00

+Mac = 27b8111c3d9f14f1

+Result = F (3 - MAC changed)

+

+Count = 25

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 1c6942e914218135496e0d7910abe67b9f7f29bb09029bb37021865d7543c4f6

+Msg = 00

+Mac = 466b7077bec98b7b

+Result = P

+

+Count = 26

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 08f199a8d7e3ea821dd3106e8947cd2e9d485342b25a64713db2b8a650a49ffd

+Msg = 00

+Mac = 796deae0d06b1bf4

+Result = F (3 - MAC changed)

+

+Count = 27

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = febacddf3448c7464297ae53166793e2ed962de0d0947c5e5e17abe3cc103b07

+Msg = 00

+Mac = 5e2d21aa3351a2a0

+Result = F (2 - Key or Key2 changed)

+

+Count = 28

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 59b9fb83b6a85f017bde6c0ff3ced955b9f343cc71b680c6b591302f52759412

+Msg = 00

+Mac = 3e5428eca10808b6

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 29

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = f07e6655424125462a96390e02bfee9d89cb271bd9bbf22a9de45f6b7e949343

+Msg = 00

+Mac = eed5aed01096226b

+Result = F (4 - Key or Key1 changed)

+

+Count = 30

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = a04f84bd79406c138d02698f003276d0449120bef4578d78fecabe8e070e1171

+Msg = 00

+Mac = 18553226e5f9788a

+Result = F (4 - Key or Key1 changed)

+

+Count = 31

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 1673a52494e9af02472c1777232aa3813c7c162593eca7112f34b3807009af5e

+Msg = 00

+Mac = c5907fff58c68ee7

+Result = P

+

+Count = 32

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 1e4ffbed2d5a7bcda5e24a66048660629d57567f83307087a846db8246ff332a

+Msg = 00

+Mac = 29599bc212927246

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 33

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 8b80c24ab4a3c24ced82ca8c69924553a37a139bfa2541c59e15188ab0fa5a34

+Msg = 00

+Mac = 299746d93b0b4881

+Result = F (3 - MAC changed)

+

+Count = 34

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = a00ebf59768f6437b48a91923f5effcf31c745b980f79f2edde9ed18dcf2ffa0

+Msg = 00

+Mac = 61950ed83db6bf74

+Result = F (2 - Key or Key2 changed)

+

+Count = 35

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 319d3f58fd7257901ff364fa68b86b1ba27c11962b2c5be8e33eb95548444322

+Msg = 00

+Mac = 26793e8f8d5eb7c2

+Result = F (1 - MAC changed - for 0-len msg)

+

+Count = 36

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 015a9d1f2df2c31f14cfbdc0bd68725fe8113a024f2a43312d963207fd6f0d88

+Msg = 00

+Mac = b19fc2680b8b82b7

+Result = F (3 - MAC changed)

+

+Count = 37

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 003cff344c4e1932ac628440d819eaaafcc3ebe7c525cb7abb7a6716d2b76e05

+Msg = 00

+Mac = 48a98dbf16257142

+Result = F (4 - Key or Key1 changed)

+

+Count = 38

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = 1a581f36e1816d346f7bcc6df78316aa353111e447fee6f0bd05d562f30626ab

+Msg = 00

+Mac = 587155c18ebbf8b8

+Result = P

+

+Count = 39

+Klen = 32 

+Mlen = 0

+Tlen = 8

+Key = ebab54c4a22a16f7d9546bbf682b995a6ce944e949f1920eee058db95ab9c93f

+Msg = 00

+Mac = 067927f063adfaac

+Result = F (2 - Key or Key2 changed)

+

+Count = 40

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 58405ef8fb69e88221edc10a92c01cc44255aa7083096adb79bec3a8cec6d050

+Msg = b4aaf9ad1bde60a8d7e7cb16c1cf6b713df17d1507b028973068a95963a5ad5b

+Mac = 42ffe65f

+Result = P

+

+Count = 41

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = ca0f404e3389e9527135f53eb58bca7726266b8086d33fb512e8143daad7633a

+Msg = 8f2a6b2185f73372ccaeaa7f93d30d1ca80a451ee0e46ccbbaf98c8f3f37aaf1

+Mac = f2b311b4

+Result = F (4 - Key or Key1 changed)

+

+Count = 42

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 67b896b88f07962e08471634ab7e522144d716a2969bde55a05c3c931f747a8d

+Msg = 0218eb619dbbde2e846218339aee4383792856496eb3b85cc43fa81446fedc5d

+Mac = 69db1949

+Result = F (3 - MAC changed)

+

+Count = 43

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 422994df8766f7a6a7ebfa2ca57ed6189d9e9e8455c8715c14f3f407b75dff4a

+Msg = 12f0c45d06a138a964fb11b2d450620a2977bcd2952afe371cad6e3d48b009bc

+Mac = fc5f1ccc

+Result = F (1 - Message changed)

+

+Count = 44

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 3291be3aecd2e06cd2ee61a14d723450043d450567cbb0bf88ba32972d86dca3

+Msg = 343d5a4ad39acf81adcf24e9807618932abcb3bc076734f179174c77c8cb89e9

+Mac = 3593d615

+Result = F (2 - Key or Key2 changed)

+

+Count = 45

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = a1885ce431cedbb60f7b3d96a06cbc60a964df156ea4b4191abc5a9f60a0c361

+Msg = eedd0d767a25b24ee25fe747718256af51d7b4bfe900adc069381a71a2dc7aad

+Mac = c558f768

+Result = F (4 - Key or Key1 changed)

+

+Count = 46

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 039188ec58fa55acde53c337fcfd0013f0c6efa55c60ce470112159bcaada11e

+Msg = 009f47f180e085776be6644aeac0070be64c289f84a7ba3dece7cdc54f0db354

+Mac = 20d3639b

+Result = P

+

+Count = 47

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = f7d946f66e1cc4e5a79dfb5559cbea5a128545eac38e17ee7f3bac9a806faefa

+Msg = f250c49f9882f10db247adfdb2112c2589e1011f77c48e0f219dbf85e326f8a5

+Mac = 90b4bfcb

+Result = F (1 - Message changed)

+

+Count = 48

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = a61f586ddbbe0219187f8f446d4b172f5e9bf855d1d5d6592ad8e03eb4d555d6

+Msg = 71c8eb0079559a306e236c49b7ce1b6cfe26c7888733eb7ec07690831a72c0c5

+Mac = 78ce0135

+Result = F (3 - MAC changed)

+

+Count = 49

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 7774802fd82fe96c05431acd40b49b1160d403c0db09b10f23d0bd0435022edc

+Msg = e75b6ca1b87e775b33536979422a1cf743f58c71b1599adb00050972c843cdf2

+Mac = d885703e

+Result = F (2 - Key or Key2 changed)

+

+Count = 50

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = c4261ebb87a76aaa82a00392ee2e2318f0b52d5f2724e374847ad9ea5c8929c1

+Msg = a41bb1f256228302cd0548ae2148ff42774d18c2d6d3e38b36bc4938da13bac3

+Mac = 857d8909

+Result = F (2 - Key or Key2 changed)

+

+Count = 51

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 6219c19233c1b91d7785fde3b65df3bd2e1d74331ba62e4d365947a77cd243c4

+Msg = 68f17b9f57734784144112c79bf360ee324d37f9a7718137d954b15e796fa9db

+Mac = 0e85de57

+Result = F (3 - MAC changed)

+

+Count = 52

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 7e8cae1374d3a21bf2dd3786754668f17aa63dd5e3654cff9dd18041806d1968

+Msg = 2d335be62ecfed45183f5a04014c1a52afb7b918b9cc1f2be93b15c6e5240537

+Mac = b56ee72c

+Result = P

+

+Count = 53

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = c2425ed20cd28fda67a2bcc0ab342a49d79d6b4eb196266cb0d116fc18895545

+Msg = b5f24c00cd15e377f444ae55e02b335379e7ae14e7c9bd05f0575d8981941553

+Mac = 2e44c573

+Result = F (4 - Key or Key1 changed)

+

+Count = 54

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 1f7871680bfa59a8a178604dc513b51a3d4c682cc4c421de594512e9dd062ad0

+Msg = fcb43224bf8989e1809d90481ba043328febaf4b6c1c05d18800ed98f4b71c52

+Mac = bee03b92

+Result = F (1 - Message changed)

+

+Count = 55

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = d8a27558d070214d3f765cf969b2b8f09c0b14ebc492cb2539072b04db9f29fc

+Msg = fc69a1f0d0ba8eca9e7c0570cec9c76b511c74b2d8b65928444189675eb42fbc

+Mac = fab3b2f6

+Result = F (3 - MAC changed)

+

+Count = 56

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = 72354b455230b72a6dbfa5cf6c3726d7f8e65ca773f9d469e99d165743657b36

+Msg = aac60835c309d837aacc635931af95702a4784c214283ebbfb43c4e29973560b

+Mac = 69519d9e

+Result = F (2 - Key or Key2 changed)

+

+Count = 57

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = ca92b095173076a40e24522297be27fd3a765c8d417f24c71a9f03b3fe3d8e20

+Msg = a96c4d5c89a364263c97a453308b9360bc0ed868602b9ff54fe13f162ad31ab2

+Mac = c59a1a39

+Result = F (4 - Key or Key1 changed)

+

+Count = 58

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = aa56f98e03f559eea02ad958e125f2312ff97bc3310079ce437b383f247a9b3f

+Msg = 01bf2aa8dc66ca44d16d4567f1adddd4461f78706ff15cf68ad937eb57aa62d5

+Mac = 31171cfc

+Result = P

+

+Count = 59

+Klen = 32 

+Mlen = 32

+Tlen = 4

+Key = a0e317b790870e6703e6077dfb8ea327c12e29a17107284cb89d5effddb2d9a1

+Msg = eb4ea6b72dfc6657e835bf82054796183330c02a8db3c5b179abe37fd0a05675

+Mac = 05d54199

+Result = F (1 - Message changed)

+

+Count = 60

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = e3de27949ff64066131c81bfee172b308f9bb0b31710678ec394837b79434605

+Msg = e41557341e8dae33568524f3f64b23426044c9db3526463ad16786af14f611b2

+Mac = 975ad1d2fcff6a85

+Result = F (1 - Message changed)

+

+Count = 61

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 492dacdcb4a35fc438a6eaa35e26d2f683a1e85e92df28f213dfe1da6511161a

+Msg = 0515ad7b8576258645d37b7ac771745620e2e9e009cd778f34ed77a7dc5c30a6

+Mac = 9f43dba2aad2f539

+Result = F (3 - MAC changed)

+

+Count = 62

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = d71c50d55850d432cd8c8ff4ea427b3f19cbe14c785a7704202fcbcead0de5a5

+Msg = 7ffbc4a09583029cbb0acb6b13f08a189033da22c2ecf921f01d79ac68a9397b

+Mac = 5d00ffc5f8cf1ddd

+Result = P

+

+Count = 63

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 557eb2e709d58915a8bada6433f2e5660247e0cb1588ea84a9d24028090eb396

+Msg = 003132645e3026f6a2b9d0644c16e5e4d1bf8b53a51f0e1b999bd45a67d19341

+Mac = 6f3d9f50d09476ef

+Result = F (2 - Key or Key2 changed)

+

+Count = 64

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 351d779277148ab4474843cc798942cacbe863eb1c1c9338dc25e251c12fda68

+Msg = 34bcdd3d0469c01d0d95a85ca705d887385bfde20596a90b47d902db826dbc8d

+Mac = 79ded259f93456bc

+Result = F (4 - Key or Key1 changed)

+

+Count = 65

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = e1c17ce3d3c61468a7652a95128bc0f6c33d9ccc46e7490327f15f645a94040c

+Msg = 97829c60ca9a71c23eaf1c4b4fbd72043037ef0cd356b68e0db0d4f0f50cc54d

+Mac = a93f0d16499f63ec

+Result = F (1 - Message changed)

+

+Count = 66

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = a9a86a4407b7ecebc89434baa65ef173e88bd2dad9899b717ca578867c2d916f

+Msg = 25a152850b4b80b19d8f0b504b2a8a241824b3a1fca8d85c8713b2c0c84b5e02

+Mac = fe84ce3defe00f67

+Result = F (4 - Key or Key1 changed)

+

+Count = 67

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = ed14373671cd8041e00874b5d098ea225eaf9c68bb51cecbe8083149bdda062a

+Msg = 38106cdc72b1ddd0fe11f23819096dd7479e95ee9730940c28f51e28eca653ed

+Mac = 470404ed731640a7

+Result = P

+

+Count = 68

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 009f47f180e085776be6644aeac0070be64c289f84a7ba3dece7cdc54f0db354

+Msg = 2eced43c084a86f89f61e7237425137c167aac29e4cac4071afafd3f0c9dee1a

+Mac = f67d432e5b6fc5e4

+Result = F (3 - MAC changed)

+

+Count = 69

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = f250c49f9882f10db247adfdb2112c2589e1011f77c48e0f219dbf85e326f8a5

+Msg = ce61d6d8de1b299c9b063d1e1cb1faf7a616faa7c6673d7f9c0a1ebe7ae285fa

+Mac = e1d950593abc14e4

+Result = F (2 - Key or Key2 changed)

+

+Count = 70

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 001150b2dd572288b6fde466ec2c2a64c75a9d516b7096f7082bec9f52c20ad8

+Msg = 6dc38e37d1379732df4dd535db88d17aa59d7cf9e8d60ae695b4047b90d899f7

+Mac = 2de6700fc1562ad3

+Result = P

+

+Count = 71

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 68e00d394855b6697da8213a120dc2213b3a8a1e88c9b93f5edef465a809974a

+Msg = d21aed2073e8ae9c0560f9dc1adb961d4f959fa12c0384a44c675192bea13477

+Mac = 9594f10d5ce5e616

+Result = F (3 - MAC changed)

+

+Count = 72

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = be0f6052baf658a3607d999b81401edf7e2afac2b143e1b908c8ea0ff38193d9

+Msg = e502f0b4710bfe517e783c4bbb85055c8471b04e12dd6776f276367fb5d36369

+Mac = d409a879dccca77d

+Result = F (1 - Message changed)

+

+Count = 73

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 7147b3c5ffb2660c45cd8d78a6fd44bdd5ba75349642b32ec88f6688a287297f

+Msg = cebe84df789c98dd125bf43cd993e2f089611b98d10be04904e2468d116dd2ab

+Mac = 21cfc1e6c1c38df8

+Result = F (4 - Key or Key1 changed)

+

+Count = 74

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 205e751926038ef940c6599d84a9e1b4737bc826e9fcde544d43f2a10b5de931

+Msg = 86ffd5bd3bd1cae10706a61d247b2257b165f37cb53ff21761077a2295a9111b

+Mac = 73d66ea826b84fc0

+Result = F (2 - Key or Key2 changed)

+

+Count = 75

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 8c8a502eafcfbb813dd1ea907b1660a41fcaa3f905aa93c22320f96ebfaf632a

+Msg = 626aed82974ef29a1ba0a6c6fefcbf34ca982e6214835183502f6a24ea2e500f

+Mac = ca3d007ecd99be83

+Result = F (3 - MAC changed)

+

+Count = 76

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 596db502a357e102566291b916b32b8a09e99d3739f5e6543a2cd8fb0c9a1cc2

+Msg = 22bade59214fa4b933cb5e3dc5f096e239af4c2f44f582b095c7fea6b8914bfd

+Mac = ff4ec21d89d4762c

+Result = P

+

+Count = 77

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = f51f2fb4b3fd8045b70d34b600a2697cbf7503be0d8cfb5cdc60f9312e3e2695

+Msg = 4d43702be4f0530319555d7f1a3356160f6cae48051f12e22a153d7e405c1149

+Mac = 3d615ee77043d8b4

+Result = F (4 - Key or Key1 changed)

+

+Count = 78

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 80a4b14f951490618ce53d39abd3d786b425d4f76b26a25052d98ebdb7e9e666

+Msg = 0b2a77b0175ffafee40cf83bd19e785dc7ec4319786c49b3e7a741142aea901d

+Mac = aedcaa2e26d2f5a7

+Result = F (1 - Message changed)

+

+Count = 79

+Klen = 32 

+Mlen = 32

+Tlen = 8

+Key = 39fb57fadff7cd9e1cfdba154422b71d693d08807d86da46ba63c929417ea549

+Msg = 567c7400f190d06e682b3dac5f751639a9007362b1a2a8b618800fbb9f6c08df

+Mac = e29461fe8c6b3767

+Result = F (2 - Key or Key2 changed)

+

+Count = 80

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 535ed61510eb268100be032b7a258e84bdb32448269d3000a76444ca74b4695c

+Msg = f7f28df82f910badc5f4b3860af28cbb6a1c7af3fafa6dae5398d8e0a14165def78be77ee6948f7a4d8a64167271ed0352203082368de1cd874bd3b2e351b281

+Mac = 4a0fd541

+Result = F (1 - Message changed)

+

+Count = 81

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 713fd349c56d1086794eb20ed59ddc89b065bb8533b968c6dfa60bddd16646fd

+Msg = 4f3b91aeaaabfc7d4dd6821549d4eee2ea17f59aa196c67b422be2d46f3a2ec65494464c969b157985a6a30199a72dfb1c0b7be524e16ee9c43fd95e83e19192

+Mac = bd4eab1e

+Result = F (3 - MAC changed)

+

+Count = 82

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 1f89d9ee93294aeaf3503d15a6dbef48708de48897a72b3545b9e3852eb7fe31

+Msg = ea0608b19f47676f0f342cc2742e003a6a74fa2850f41e0cf162235163887a3830dd8b13b45842b3c686ca239bdb9897e646ac9f440713a0d8c5b18532db3db2

+Mac = 8bddd404

+Result = P

+

+Count = 83

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 2b50dbe8a5ed0c7cb69aa60a38d10cfa4553c73d58c0ce84b26504b0fd55038a

+Msg = 2586563b0102f662b5a8f9bfb0c1d107a4c27569d27bc066889213e3e830427ceafaae1ca543aecaca7f34c671fbadd518cc28d9e806bba43b2e220e5cf1aa45

+Mac = 987514d4

+Result = F (2 - Key or Key2 changed)

+

+Count = 84

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 29a7ed3aa55c7eb7e5bf343ca0efbf8b2062ce67b086255551a8efa0ae16569f

+Msg = 2e6f2d21aa133a5061622f08ac64c6b3a3dc8154862033055c27c3a3d9e42dc885d2c9f91bd1d0212f301c3e140b2f5bfdd777be623bd162a6214ba8f60e2e49

+Mac = 1bf45457

+Result = F (4 - Key or Key1 changed)

+

+Count = 85

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = a16a2e741f1cd9717285b6d882c1fc53655e9773761ad697a7ee6410184c7982

+Msg = 65916ae3d88ab2add5c0c6910ea993d385cbd35c5077ea0d9db30e53f378abfcbb1e0649fe14204470d4dd53ae16650ec444cb4ef22fed86b0009b57ef71fb5e

+Mac = 578f80b2

+Result = F (1 - Message changed)

+

+Count = 86

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 47e49e5b57fbb834932fa32107697471119f1be3c3a6e71a8c474d4b1596e539

+Msg = b3cec7ad75e2bf6c87029a67365aa83cf797ae2f4d42e720ed4c48ba21ea08ee6aa3609f69a6909fff6222dbb45172d255146e4ce1c59b48a7895936a8646766

+Mac = e6e64597

+Result = F (2 - Key or Key2 changed)

+

+Count = 87

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = f0b0aaacc25a791c236aed0e9b537fad00a15efa9c89b5068ac52c64639fb1de

+Msg = 9a5a9560baed3b8e0e90b92655d4e5f33889e5d7253d9f6c5aff71ea4069224cfbdd19ae3f0ecdfa65c27dc3bed721712784a09fdde243c193ab6a0ac2417e8d

+Mac = 990bb31e

+Result = F (4 - Key or Key1 changed)

+

+Count = 88

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 14db1ffc1c87117fc72981706c0f90404acc98aabe950839baeb6f0b727bd6d4

+Msg = 3d736aeca5720f5c7bbb16df61f6d785facfa070aaa89c2d9e8af9450d62490ebd6a29c7c8e521e4a00fcca7515439f006c09056cfb7f976a1e6b98b9f799e40

+Mac = a6786e52

+Result = F (3 - MAC changed)

+

+Count = 89

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = c6f0a3692c9280c48393b0dd763e5d0b90477f34ad69f192ae4dcab771aeeacf

+Msg = 8439ff717e1e15161119494d368d7f3812601588265bbefbc6d48e22cc8a51688dd021500cee38fe6ec402f9aeb0762f92b2a73adece96e1c7b24be2aa9924ef

+Mac = 70126cfa

+Result = P

+

+Count = 90

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 75225a26d63e91281fb37ace46354f81de99dedfde8b770ea47f08503aea87d8

+Msg = d729d8cd1631aacfe485b1f408a4fb60256e7a8ed6e5b53afc34be7e57f1643b549fa9ba2677779318688ece225cc149babd6259ec37fbb4adc03e8f6dd63f03

+Mac = 5112f762

+Result = P

+

+Count = 91

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = ab72eef2aba30205c986e2052d6e2c67881d24ae5fceaa8fa77969539152527e

+Msg = 5251a0aadbc92b76705eb053d09b25b5ad38eebabfe1980d143ac90aa81f7723353059824c8d9befa5ded6f5b4973f407c7a1f4aa85d8337d82d34fd3933e9c7

+Mac = 52f7a014

+Result = F (1 - Message changed)

+

+Count = 92

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 6906d6533fbc33f56e38e6a639798005daa228ebd2fc8f93803d26fef30b8e95

+Msg = 6341370e126097f9721a13c977eb4875cf1286e15c3adfa4e7597e0e13d93b6a8ff66c809067fd5e7f40c358ee170d4ed1657c2deb3015b886e79589678e0452

+Mac = 1b6a021e

+Result = F (2 - Key or Key2 changed)

+

+Count = 93

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = cd9072aeffebbdfcce95b569c34158d0e130ef24dc99e3f98a4dd246949be269

+Msg = f882339f93ff114bfead78044aab1c7fe109dbf1bb2d968ad476403fdd2034cd3168ccfb0cf02f1ff7646ae3875ec349478749edf300b08be7005cc0d6bebc15

+Mac = d16bcdc7

+Result = F (4 - Key or Key1 changed)

+

+Count = 94

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 3005c0100dff59e5e4b0e3b95abbbc79749dc49ba29a79b1fcf7613ecb6aa9c8

+Msg = 4c2c670f3ac1c4e33a8d43063c8983e20f1ce6a73299fef1e70a42a5882c061b1ebaaa8330ee1181d946541b1d84b8d57df8de1ac9013ade36d2c682b172f8f8

+Mac = e5689100

+Result = F (3 - MAC changed)

+

+Count = 95

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = f32eefb301356fb1cad6dfa94864542b5f8cd8e98438bdbfbbb431f0c10f12b3

+Msg = dae6db62842a8a25123e50041b701ad17e2f63a0496443c3d905a9f943e6e4e2f3d369b693ddd0372ff11fe496af4b700378fc72fcc9915e7bc864b44c1d4f77

+Mac = 280624c3

+Result = F (2 - Key or Key2 changed)

+

+Count = 96

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = b0212ca369c611b725eccc3daa58df412787a3475f418d820971af46773382c0

+Msg = 13ca022396285bf7b82a600b560208c54ee14f8496bce684895029027e6451a09f4eeb0af9b889dacfa4b7b934ae30c7d991523e23edd0528048a75bfc525335

+Mac = 8e9759db

+Result = F (1 - Message changed)

+

+Count = 97

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 57a9d1ea216c69c6e360221f8c858a9d356598a8b253e2cf67f1116b5df5927f

+Msg = 77772e91be674abb0f496b47dbd632e5616177a0d16a8c11b271c2d381082f379b2cae385dd526b189cc10cdebbd33bf3d8db2b449ed49064d30d4b3a359110d

+Mac = 41022947

+Result = P

+

+Count = 98

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 749f2fb720d321757473afc5d3a377a0eaacb425e5591026e3a1bae6a785b921

+Msg = 2e4f5149d67c955c409b63b04d95538808da6202e69a50ed4d3846da52fcbc76c7089a17758d9d94a63efd5ae7054dbc0bf5a28b7381f7e78debd0549bff1e11

+Mac = 67b34b0a

+Result = F (3 - MAC changed)

+

+Count = 99

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = f8ebad761b9e73c77faae3fd9390093fef595e77e6d7f6b35e2dfccbde925c44

+Msg = 18430f34d5b5fddbd228a910cab9c48e1ba2b5f57819eacbde756cc0c993b736a778c8008d37776a2915077af8ecfc76b8cd2ca621e9195bd0b27e31843d2890

+Mac = 7a446398

+Result = F (4 - Key or Key1 changed)

+

+Count = 100

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 5bb9fb83b6a85f017bde6c0ff3ced955b9f343cc71b680c6b591302f52759412

+Msg = ee7e6655424125462a96390e02bfee9d89cb271bd9bbf22a9de45f6b7e949343def818dfc93d777528f609cd38be0a013b1eef816eb1f9593a850bb7aec5b9a7

+Mac = 5e1fa5b9c9dcd90e

+Result = F (4 - Key or Key1 changed)

+

+Count = 101

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 57a9d1ea216c69c6e360221f8c858a9d356598a8b253e2cf67f1116b5df5927f

+Msg = 77772e91be674abb0f496b47dbd632e5616177a0d16a8c11b271c2d381082f379b2cae385dd526b189cc10cdebbd33bf3d8db2b449ed49064d30d4b3a359110d

+Mac = 430229471a1cf1b5

+Result = F (3 - MAC changed)

+

+Count = 102

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 749f2fb720d321757473afc5d3a377a0eaacb425e5591026e3a1bae6a785b921

+Msg = 304f5149d67c955c409b63b04d95538808da6202e69a50ed4d3846da52fcbc76c7089a17758d9d94a63efd5ae7054dbc0bf5a28b7381f7e78debd0549bff1e11

+Mac = 65b34b0ace2fc6bc

+Result = F (1 - Message changed)

+

+Count = 103

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = f8ebad761b9e73c77faae3fd9390093fef595e77e6d7f6b35e2dfccbde925c44

+Msg = 18430f34d5b5fddbd228a910cab9c48e1ba2b5f57819eacbde756cc0c993b736a778c8008d37776a2915077af8ecfc76b8cd2ca621e9195bd0b27e31843d2890

+Mac = 7a446398a5c59ec6

+Result = F (2 - Key or Key2 changed)

+

+Count = 104

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = b228c753292acd5df351000a591bf960d8555c3f6284afe7c6846cbb6c6f5445

+Msg = c66d322247ebf272e6a353f9940b00847cf78e27f2bc0c81a696db411e47c0e9630137d3fa860a71158e23d80b699e8006e52345fb7273b2e084407f19394258

+Mac = 129e40ed97c02ff9

+Result = P

+

+Count = 105

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 8ea05a5033ab8b009664fa2800c24e217488ce6888cad14774ad75b2696e9470

+Msg = b3f09d990c2f41c8707368bba007803621ecd76540cdb8705435d74f4300eee04710a936f241c034709e625b0dd5dae1f6e86d034426819c365a05f5be420cdf

+Mac = 08e5d5b3facd3b01

+Result = P

+

+Count = 106

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 016b5537198ed152670c5fcfb70ade276de97ce0cb771c5f6f66fcfe1dfd945e

+Msg = 7ad591e67c6a3ce3c9f871e328fc4ce3b6e7048e80691da551efdfa4c96b06a3af53bb7a88ecc32869c8f776098df4d71af91393da239c24e50436e04d35a2d9

+Mac = 36df9931a14dca9b

+Result = F (2 - Key or Key2 changed)

+

+Count = 107

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 22d5d4c3a3aa8d2fd5f25c08b83cea60e94058e8235ddd050646b02617f82854

+Msg = e86dd3216500273d0b6150227cf03adc20c8a5fed4a2799fdff759a327657a3ca554b6af16d9dc5cf3db4bf9a474bf1ef1996a06b9fe4794e634ab94a0141d44

+Mac = f0246b4959d2fa89

+Result = F (1 - Message changed)

+

+Count = 108

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = c892b095173076a40e24522297be27fd3a765c8d417f24c71a9f03b3fe3d8e20

+Msg = a96c4d5c89a364263c97a453308b9360bc0ed868602b9ff54fe13f162ad31ab20f3fc51bd2346ae68a006afb50e846e8431dbf7bd0eb3c8f30326d26311a2eb8

+Mac = 1d943a8b0c470221

+Result = F (3 - MAC changed)

+

+Count = 109

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 2c87c0d64806fe303c5e97bccf48360f89374b6119319bfaf8defbe74adf58f1

+Msg = 37c6206e23163c39a13f19de48cc25dc26e6f83cb376e8d2048ad7c141fa503d594bd395f4d36c70aa1e8a5672910f735d4da49884574f833ef54760975b0790

+Mac = 58cb614230d590f4

+Result = F (4 - Key or Key1 changed)

+

+Count = 110

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 028600eebf6b3eb04d8fac18399965aa8fb5f3954d3a657e188ba17f2e3bfc70

+Msg = 5b80d1cf745b14cb71cbc8dfe0bc7c7358f721c00099b3e250c41c2e1c9455c5ce55ce69f3f31090f9b1a1b7361e27f92d46d1e00d25f37b7b61f0b191385dd4

+Mac = 02587102e6450de1

+Result = P

+

+Count = 111

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = ea1a626b623e9440e3f6f5c0b8b63b9967374ee82c1957fca5cd195ccfb2840b

+Msg = d082b2aad7058c3142021457d47d51d8ebaab62ab452f6039e771a1b0f3bd03355fe0656dfc7b75fade505bb05d689706867e75ec41da5c5ebd43d0844a670b1

+Mac = c874df0a8aa87c5f

+Result = F (1 - Message changed)

+

+Count = 112

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = d1155265fe296f374366dbd11f14466df1ea210cc88b0d1876509347e64815c2

+Msg = 3e3d3a464b2e6030be877f8db4c1c42bd2b8247adcf792ee833675a57f21594ade5be4399cc30ce373f68874f41584b4d7c8992b9082fc892307f645382c9483

+Mac = 6bfdc96378f0c8f2

+Result = F (2 - Key or Key2 changed)

+

+Count = 113

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 9bcf914f787fd3cf62c6315a12feee358eaacf1f63ac802932b933c86b098a29

+Msg = 02c8b892b13f04d99b875b8aaa32136d19dd6b9c2a10d8871c66993a57ee91e3ebd0568e38348634ee5f5af4391f7da0356a1e7ba8424441f0db61683a002ba6

+Mac = 365da451a2787193

+Result = F (4 - Key or Key1 changed)

+

+Count = 114

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 35d5df6d714e2ba5b307c4d1908e108bc6fece682a23aa35e2de0e80d4cb3c5b

+Msg = 963ef1899cff6e0a6dcd80a27b63c20fdb8e9fa1ee3e14ed40ddb7c6b0dff969d29ba8f89159b82a19ac4240f402cd3b7279cd4c4ff4698c906f81edae8ff070

+Mac = 33995a3d9c470cf4

+Result = F (3 - MAC changed)

+

+Count = 115

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 511ab5e28b6fda481fa5a0fb3709b249fbf29be56346378a4d3f67e1cd6f09a5

+Msg = e4cbbf14f27490843b0f9a17b4520d4bb2c89726f4c788cae4a3344a1a2198bc222e41907fd16a20ef5f6587f1ee3cb7850b97c633b0e0894e70a6647af53f60

+Mac = 3b4aacb52525b58b

+Result = F (2 - Key or Key2 changed)

+

+Count = 116

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 5e79f14d5f687ce62b82f856695af9f7dd350543ec763de75b593f1859e44c2a

+Msg = c0dfcb62fbc3a67ceb792b3428d040ed5e50999296702472b709a44f4c0b9bb1876f6e80866cc4d2d6ee2f0236440e029d18b2f27ea5bff14a24d53337877053

+Mac = af30acca71feba3c

+Result = F (4 - Key or Key1 changed)

+

+Count = 117

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = cf8a477434cc679e52dc3f3f3520eb108239dad5bb363034bf0768c790343e70

+Msg = b891b1ab5a6919e0b99013e40fa7c910e55a480bd043d3d85b0b7d1342d3f777e1d2a6a4eb3ff81f5f71f99bb845217765c0708778f5be17a2294c2d5f369e0f

+Mac = dc10e268f5f73bbc

+Result = F (1 - Message changed)

+

+Count = 118

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 67d77f50727c7cd5b38e0b175a888c88687c97f2ccaa3daecc519116a7c5683c

+Msg = 02c5c55e7677c84a199d6e534772123c4e5c933622cfa8ef536e74cb3d745b717f53138aae9bfec54a1cb71ff04feb61d2f26aea65f37dae598f7b7fcebb978c

+Mac = 885050ec166faef6

+Result = F (3 - MAC changed)

+

+Count = 119

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 0091d39f3478d2c59bf874b96db9ce0f7e8b85a9b805e07dc96b219819d51663

+Msg = 7207aa8fa87283f1f57019bf1c89645ff8fc36ab1102704e6d577671a9f7e098482573c64ab24fe8007c697020353c411566bccb98b38c7784607045e61405b3

+Mac = 96f639a86a2d698e

+Result = P

+

+Count = 120

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 0e6d99ee5137c8f6b9bb45a961be8a29358a91189cf9974f5bcf20d3b64c3b04

+Msg = 543ef4638f1322131402172d193bd304b34e3745ecedb9db16f35c0f5fa6

+Mac = 33f10660

+Result = F (3 - MAC changed)

+

+Count = 121

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 82421ddaaa5767a496f2b78f816cd1e1e6699f6e9e6576c34c909ba5f8dc06ba

+Msg = 4e2f0f91990b855a00d27fbb2e8db7184cd82909de361b52e7a75b16547d

+Mac = 3f5ed151

+Result = F (4 - Key or Key1 changed)

+

+Count = 122

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 134f20cb62084a98601f0e69d257fd2064beb47248caa79720a71d461ed07ce0

+Msg = c248fa87a6e48cdfafd1e5ac00f95fb1dfda861465747265796654dcff54

+Mac = e7b21645

+Result = P

+

+Count = 123

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 98505229c1927d13001b53850d0b7d56f49087afc6c2351190cc1b998e4d6883

+Msg = 9bee2e347f763c5c506876bb514b5ba1248abc6b3d17cd4c96537d4ea432

+Mac = 2c212c7d

+Result = F (2 - Key or Key2 changed)

+

+Count = 124

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = cad710b48ea0bce4a897482a535aeeaeabebb42619578a9d1296927301b3bfa6

+Msg = c1db23e776272765a0fee49edcce28ff7702b9ff9b6e31a4c3ed0c497248

+Mac = 7f27420d

+Result = F (1 - Message changed)

+

+Count = 125

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 0bbf4f77a9883733590a3cc7ee97f3c9b70f4db255620e88cd5080badc73684c

+Msg = 7ff9ca86f820e4d57995d450611009ffaa726e6fbe4ce1558ca1e775daed

+Mac = b2e5a268

+Result = F (2 - Key or Key2 changed)

+

+Count = 126

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 6efabed650ce05ff22b67768e3bcc88c7746952106ecea92a38707af2b8a64a4

+Msg = 9cbce402511b890c8c9fa215b59c813b3e51b5dce01e776327f145623002

+Mac = 03728e46

+Result = F (4 - Key or Key1 changed)

+

+Count = 127

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = ca2843847a1c9539917206d344161dc40b379fd45dfa6a73ba6fa14defc40920

+Msg = d9365304c4363fba73feaa69d4cbb343a76eb2d29de6782ebb34d873006b

+Mac = a94841ee

+Result = F (1 - Message changed)

+

+Count = 128

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = e5a1108da9cf587bcbdf051e216231bc27f0e6c1e97729b324d23768a89e0e77

+Msg = 536d4b6182a698d456e1fd9d522aab38cf05656f41a5e02cbd5e6f8cb85d

+Mac = f52a4ba3

+Result = F (3 - MAC changed)

+

+Count = 129

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 008ee06bf9b19536190e87820af9cdddb40aac44b0c3b1e50074fc29fe5cdff2

+Msg = c1eb4c800c631d9f387d2e8e431677b7fc8f65235ad0cf9b118d2b0d67c8

+Mac = ba255bd7

+Result = P

+

+Count = 130

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = ba0bfda3b03c736c121cf9a257db55060b621be5168619ec4182f13ef6a408c4

+Msg = 69be384eb107340d953753e6a860ea2710e662e8953de8eff8f465d086f3

+Mac = 9f650d24

+Result = P

+

+Count = 131

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 7a88524accb59f1c6307a1719a011eff211df24645086c67710ef539f5d3f29a

+Msg = bebe346356681f27bc62f0b838a25268e3b04194b865bf83eef2c8928625

+Mac = b2566e6a

+Result = F (3 - MAC changed)

+

+Count = 132

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 9c956d7bbe2028739d73a2f0a80af5f2f180de923d5571e65bee0b25b5dd890b

+Msg = e0d2ea49e3e4a5823efd1b229c705ec3bb5048a7658f10fba2671c5d2cf9

+Mac = 480a14ab

+Result = F (4 - Key or Key1 changed)

+

+Count = 133

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 2090b970a71ce2cf399a0d9e1d3d72c4eb500004abcba1303b24bf9af16707cc

+Msg = 0e0ef2cd18533bee01f19870f2fb22176c7e04748db4dcb98f7a65cc9104

+Mac = ddb6f30c

+Result = F (2 - Key or Key2 changed)

+

+Count = 134

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 66921951731e95bbd45c014af5cf623933350dd9a90d1a36465716f8239bf887

+Msg = 0de1e090eb47dd4fca966e5f8fa5616618701164370d8a43fae2eeaf3016

+Mac = b91b3131

+Result = F (1 - Message changed)

+

+Count = 135

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 43c1142877d9f450e12d7b6db47a85baca7eea7fde595393fb394c1f34369aa4

+Msg = 77772e91be674abb0f496b47dbd632e5616177a0d16a8c11b271c2d38108

+Mac = b2de16cc

+Result = F (3 - MAC changed)

+

+Count = 136

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = db4b6206d001af121051cec70195055fc1fd0dc06ccc74549bc440152aded5e7

+Msg = 94394feda0528fcc67124dd1d77f0ec0b911f08c3e01e0c0dbc40c1d57d2

+Mac = 5f72de94

+Result = F (4 - Key or Key1 changed)

+

+Count = 137

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 4d658be9cfcdb19f79abc78f4d7f986d02b43a03098b37c8ca56ebb331e62d51

+Msg = e28660f57b044a44a19ca40ff7b6469a41523e8d1cef22f4edaba58917ab

+Mac = 11fa4d1e

+Result = F (2 - Key or Key2 changed)

+

+Count = 138

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = 70b4cf3883fea8c6cd852a4293c7e5cb0586a6cd71294883b760cdbbfd07aeda

+Msg = 4cb9aa069475e54b25e5688a52dd4acd134169c858105f01a0a1b134c72d

+Mac = b6b60815

+Result = F (1 - Message changed)

+

+Count = 139

+Klen = 32 

+Mlen = 30

+Tlen = 4

+Key = f75bb63d52c35137448c58383afe47e026d536f67e3afdff87f29b10d3d6d9e0

+Msg = 4259e4fdf10acd8da40accd6354f4baef4859a2f5ebada0d2c5b1b26905f

+Mac = 336ee1e8

+Result = P

+

+Count = 140

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = c938f6bcdeca02939fef931c969a25edcc3daf338d8286016e3c7ee78f9d52c7

+Msg = 47179ddaa9d7ef6b9a53c646325c80db69128c6fc4f92ccd345078383b9e

+Mac = 5cbd65df0ca36898

+Result = F (4 - Key or Key1 changed)

+

+Count = 141

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 9540e4bdd8c7ab99f0b76dd9de24c340a60f7706f680448509d5dc35cb5930da

+Msg = 4715a9a66d10b2dc1869d90fcf9b7fa99e91b40abcb8fc356b5853c92024

+Mac = dcbd4dae7cc60d46

+Result = P

+

+Count = 142

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = d5c396fc1ee960215e57cfeeea1e792fab9334f2c45dd93e74cc47023e6daa4c

+Msg = ce188965b4d347a6c36a6fa5a47296b32ff0fa27311266b16b1d56ebdda7

+Mac = 1684fadaea17bc79

+Result = F (1 - Message changed)

+

+Count = 143

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 897193cbbccbead9957876b8b42a77b404aed32a3f63bb9ab5f08cfe4936f35a

+Msg = 87767f13bb4904d0df0d64eb22c9ddb65e81b5739baad86ad5e2c239ffde

+Mac = 84ef6f59b770d42a

+Result = F (3 - MAC changed)

+

+Count = 144

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 86aa015253a7114e1770b6a48fdb3ef22e9d5abac25fdc145315c09f4e8b69bd

+Msg = 2595cb8d4d6aaa148596e8502ec80a030d82195f9e1d9a26ab0ec0101e67

+Mac = 63e67c44ecc05dab

+Result = F (2 - Key or Key2 changed)

+

+Count = 145

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = a082c12e97bddeb0c74c13aa4ba788f8a127c44fbac6682050271dbf7ad6cbc4

+Msg = 7fc97a698d7b0eed7d7602a5d13e956a538c71c4b45978a47439c05601ea

+Mac = 3e1fe077fc7e903b

+Result = F (4 - Key or Key1 changed)

+

+Count = 146

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 18716638a2f6b4fb8dd2849fa9aab80b8dc846ee7e6b3cb0926101a814d8dd8f

+Msg = 6593194b9970545c5a910b2b4fcd46f0ddc7aa0bf873f0a339d5958d310c

+Mac = c4556a75b754f6c9

+Result = F (3 - MAC changed)

+

+Count = 147

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 6237aa30f1e3df239c96e7e50b69496da9305951024fb83a6fd01e96f6b2578c

+Msg = 0c5b7d1ba68654cd24871964f1b31ef7900dabc025baa02d37b55b35b4c4

+Mac = 22c74fc64489ca5e

+Result = P

+

+Count = 148

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 32f60011bec76a79d2e837c611fad1cad486ee6f2aeeb74f1ea32a7e3899bdaa

+Msg = cf772bac3e767534b13efd381119b66f8a99b91aa52c8d3ab5f0a60073c9

+Mac = 08d02ce41d4964b9

+Result = F (1 - Message changed)

+

+Count = 149

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = cb6cee5ba7b799f16254a17b1870cdb85fe0ef3f42110c138742bd7734f0d504

+Msg = 40d3c65a00d9204b76e013975ffd729b351698105d47448da285a84de281

+Mac = 4cc6718396dbe247

+Result = F (2 - Key or Key2 changed)

+

+Count = 150

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 9b8cdf91e848eeded2598ccdf084bf591ec2eb668236f555ca61a9d6b49959fd

+Msg = 7b3cc6f18a27047f4cdc35404e44eb8e51b1855d4bcd54ccafd1fcfaeef7

+Mac = faf72c383b56a4ef

+Result = F (4 - Key or Key1 changed)

+

+Count = 151

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = e6fdbe9a1efe081bbcfeb25b844734fe60aa6b80a5b5f611982de1a331b88041

+Msg = 59a0f85349c3f378d56c509a0a45a1512b5072474b297f9c1a8c24890016

+Mac = 020354f33df66723

+Result = F (3 - MAC changed)

+

+Count = 152

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = da360852e8b8c3a1b65af9e8630ee5481aa91dce414166f8f3dacb75b142f12d

+Msg = 61d908e9663fb195afc259529fc229b14e87995f8d3591b125fcce816090

+Mac = f8963157ef7c1ba3

+Result = P

+

+Count = 153

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = c9bf0e7e470d0ffc88593796c4cf9a61c6db81d343305ee06a0f0563bcc618c0

+Msg = 19378e17c41586b88523a6b6af738dc47e63ea64b4b83fa283f1e502add5

+Mac = 550523c0347fbcf1

+Result = F (1 - Message changed)

+

+Count = 154

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 7129ca274190400720bba27651f1ee0d5aa79116af9929418e198f9928a715b7

+Msg = 891e73a81d7574ce6f73e09e08cbaa0b9db242963f4469cdd2234512c061

+Mac = 9982a14d261a4060

+Result = F (2 - Key or Key2 changed)

+

+Count = 155

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = dfaa73c82a978548c99c0f1c34e1edc2c4edd42b73613511e4e6648ba364f9df

+Msg = 18044ac51ea97341061ae7d5bce017fd5cfb1554a384a75aa3919a74ba59

+Mac = fd3a17e8c51a004f

+Result = P

+

+Count = 156

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 6f0be1905d1b5b607574ad93a1e7b4a536020fc6798acae862253916a0562707

+Msg = 8e502d5af4701025787e5b251121676182a0b26cdf52847f4d56d2ca0983

+Mac = 73d76950066c77d0

+Result = F (3 - MAC changed)

+

+Count = 157

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = b9fe826b0138de8184a3002d8bb59d228862e4a14f8556f88282d8494d29068c

+Msg = c97ca1930b65064b70d12fc46af4d5e220e6009e729a28a13b0f9a11d3ca

+Mac = b8bccd70bb90084f

+Result = F (1 - Message changed)

+

+Count = 158

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = 99c8f69fb91b17299461fd8d633bd516dcdb172760695ec476a5775377cdb7a4

+Msg = ef589e3b4ad9a7ba390574a2db5330baea64894f8f881cd67b842dd23393

+Mac = 38e11613e67e0416

+Result = F (4 - Key or Key1 changed)

+

+Count = 159

+Klen = 32 

+Mlen = 30

+Tlen = 8

+Key = a86e8b43a1e81dce7b26420c0409628d145445d1c512e1c3df3270839475c668

+Msg = c71a0d1e20a7dc8e7adea91a408ecf3d512bcb15a6d8fc1435c6a7f915bd

+Mac = 101c06c22819404a

+Result = F (2 - Key or Key2 changed)

+

+Count = 160

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = c5a850167a5bfdf56636ce9e56e2952855504e35cc4f5d24ee5e168853be82d8

+Msg = d4794f6f563d5f6445450b59c1ff95d24eadc9c02b68eaa5df64edf81475e5cba8d2bfab021a2fc8

+Mac = bf99dc0b

+Result = P

+

+Count = 161

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 551e188cbb7c7d1ff33b4bd5bb6c60da184b18f44d68d5c30704df47d8be6fa2

+Msg = 2b421be47d07dcb12a0706f7490d05024fce8f433079e18ec78f4c8678f5f1551448c9a0fc70e8b9

+Mac = 32aeb3d7

+Result = F (4 - Key or Key1 changed)

+

+Count = 162

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 000da8307f0e6112f0b8a8b1f927f62e8a9e5aefc0d37995088dd32e867148ac

+Msg = b89266f3a33e5b6883206e44f8e8e0cb01275039c304960e8630f0aa011c5c19d769443061a060d9

+Mac = 1b5e30f0

+Result = F (2 - Key or Key2 changed)

+

+Count = 163

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = f4ae2113ce96435b27369fd4571ae2841a965c8ddbfe61023219eff9abd490e2

+Msg = 433ea4e1923267fe443e1e89d2472834b72ef97323ad6d82f3825ca9e1d06fbff8c232ed4c716ab4

+Mac = 05b3c894

+Result = F (3 - MAC changed)

+

+Count = 164

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = e7c78ef4c4b959ee00cb1a09d71221a43892ef8ad705edd27ed85d03a377907c

+Msg = 4da25d1e7064bc4b4903a77452952885a06ba0712544210d30c0182533182fcac90b71e9f71caf22

+Mac = c15acf48

+Result = F (1 - Message changed)

+

+Count = 165

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 6f48b3bf240525adcb02985900fa29747e4b1265e5a8899abb0ee51cb0f90367

+Msg = 98bf67b6e342dd94c948e76aabb69e7d091d24fba54ae233e4181404768988963915a2495b42a4eb

+Mac = 71bb5873

+Result = F (1 - Message changed)

+

+Count = 166

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = cb6cee5ba7b799f16254a17b1870cdb85fe0ef3f42110c138742bd7734f0d504

+Msg = 40d3c65a00d9204b76e013975ffd729b351698105d47448da285a84de281bc3307cfd80b39488213

+Mac = 592e54d4

+Result = F (2 - Key or Key2 changed)

+

+Count = 167

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = bbab624862e268765e9e6a13df55cf7a2267520e4e66042ba0b4905dc554c3d0

+Msg = d43b841f174335f1347834590b0984a2cb35f7a00a0ee993157d2d4f8487489a12ceddd6ac5b69e0

+Mac = 3480805a

+Result = F (4 - Key or Key1 changed)

+

+Count = 168

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 2fc9e8f409cc6c0156ccf9f00686ac7abba6cbe08982a737fa08c70356f54208

+Msg = c1cd63e24e41f69a146b448cee0a2107817c8105732745aed817541eede8ee6809e73ddbd0742d84

+Mac = 91623558

+Result = F (3 - MAC changed)

+

+Count = 169

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = c49dc812061fa4995aa7c160ed7cdf769dd1ef570d8fc9c7f8552101c5bdb711

+Msg = 74ec6f53d188be3bdb647f37619fa5848076c66d21bac164c381a4517b1dcd2a384a4fc44cab97e9

+Mac = 07471b07

+Result = P

+

+Count = 170

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 84b6cd1c6618c42ba74e746075dc28700333578131ca6fde6971d2f0c6e31e6a

+Msg = dc79743d2360cc52cee202b9bde9abc7c09d9d0311d89c3722da36c7993feb42992e913744d2f74a

+Mac = 3acba1e8

+Result = F (2 - Key or Key2 changed)

+

+Count = 171

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = dd472b0bf50519020a182f122239d161d9659773b4df454eb378fedc250eb490

+Msg = bdf56403d5ff8df4ffca92eb40d54a79b5595abcd67b9e2ffcc5cbc621d7523be75a87a2dc360244

+Mac = 3bb0894f

+Result = P

+

+Count = 172

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 00ebd245e8c0e0b60847da5c8f7a1f33604932b9cd47a845a1a44599645b62ba

+Msg = a238e542f1c22621aebbe331e71123ed7f2591e4192180ae378c2c24a31c42d10fcba3a3f82c65e6

+Mac = 1d17d6ab

+Result = F (4 - Key or Key1 changed)

+

+Count = 173

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 2ecddb226ae668315eecf107c344926330b94077e029ac3bb67e6a077ee05361

+Msg = 38ee97f0dc635c7416a024e3af5c95dd1d496db8a5a5c3bcc20b9093ca906dfbcf0b9ebec3b450e4

+Mac = 08834104

+Result = F (3 - MAC changed)

+

+Count = 174

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 0a2978b5f20d3b5e5ed7ed5a78a093a51d5aa6e728077346f429c27f1c79b635

+Msg = 28313dfdc449628f4e2d6c895381844559067823cebb56cd41493ac0d29d6408e7d78d4a21637b08

+Mac = b2635d7b

+Result = F (1 - Message changed)

+

+Count = 175

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = 7f2286d42b4f9eefed1087f3eb3dc814145be4a110c0e74176f83e7d4068cb7e

+Msg = 6c1aa088d1a6086d0e72636744a6840c80ab8223409c61b733f7ef6a4199ed0ccbe96f6c3453866e

+Mac = 10bf9789

+Result = F (2 - Key or Key2 changed)

+

+Count = 176

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = bb0fabffbcc6935ca35755fd4bfbd192b6812cf75c4dc95bc3a175a1501be206

+Msg = 9801da81a6d9861f26900401aeaec89a74e3d5aec0a5d612a11b6bb4e03ac1db322e65afb1fb5afb

+Mac = 9ad23631

+Result = P

+

+Count = 177

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = ed1d11cc4876f58feefc463b52d8d36e69c4c2c9227b32fe356d1e2a1bb88466

+Msg = b16e6c44f429efdc06a892cede56296e12bf185d4b3c6953f7d31b1c3d59bce136d93aa95a3af61f

+Mac = 29b26a75

+Result = F (4 - Key or Key1 changed)

+

+Count = 178

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = a6fd8382447181bd300ec1ef039d3f353446d01fde490509c3ef52a992bf6fe4

+Msg = d41f8fbb6f968dda0c1b2cadbec04a6c72124eb5dc40b8d2b180fd3b17af915b5a374597e036d38d

+Mac = 2b343893

+Result = F (3 - MAC changed)

+

+Count = 179

+Klen = 32 

+Mlen = 40

+Tlen = 4

+Key = df0821c9ea6ab329c626d11b4bc1ba7351ca934ece6aae483e3d0bef48601f78

+Msg = 84b9c150a1df00ba29386197d79d29a2ceb42fe6390c9e763169f75fe15c55dbe817f5c7fe80f557

+Mac = 3a5026ef

+Result = F (1 - Message changed)

+

+Count = 180

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 0f1b73e54f4571b2d42aa5ab673f3e99b44f6c37a07a5d4edc7d6b1fba349401

+Msg = 3918467effb5d5dc009aaefce84d8cb4fe8f80eb608f4c678f5d0de02ea11e59078d38b04f10de73

+Mac = 1c207499e0877bb2

+Result = F (1 - Message changed)

+

+Count = 181

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 25a152850b4b80b19d8f0b504b2a8a241824b3a1fca8d85c8713b2c0c84b5e02

+Msg = b06f6b3f197bae7d8cde9daf38530e25bc51b68f9aa23ec0e95199b14bca96c91f3db15bf8432f71

+Mac = b860013252ae83a4

+Result = P

+

+Count = 182

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 849d861aa5a37c6389f7bc2fc3b4860fac9d2277fa5e1a1f9415a6aaa5106886

+Msg = 191b53e0c7d90161e5e2014e9b8aea315b4bddf5750aba4be69c944d71896361f210f961ee6b38f9

+Mac = c9dc7e167c2e442b

+Result = F (3 - MAC changed)

+

+Count = 183

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 29dd1ee0ffa12de3a1f2cb8e4e24d2e548794a5e7e372f946bfd733f3c564764

+Msg = 891c806e0700f6df72befe47ff088d917cc30763866810a2fcaa9f38b45953156c860b7303e8b15f

+Mac = 2f7355b3994f45d9

+Result = F (4 - Key or Key1 changed)

+

+Count = 184

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 6cd7349d96feffbcf6e95a96eacbbe8ddab702ef70052b7804f78518589df3f7

+Msg = bbe054fbef86db3ce7ad796e6d0add15455b9cff57fb787610b4e1ba05d5bcaed98564d16157ee70

+Mac = 8a421387c53702d3

+Result = F (2 - Key or Key2 changed)

+

+Count = 185

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = a32e186c29f6f1852b483a37b50c02defeb2ce81488198bc082c17fd47a741f4

+Msg = e687143dc4d98dcc6a2dfe6ee0f85d565d1f46bb0fafe62a17d01720d6f4ccd86754b0626c9d0af5

+Mac = d44d78445c5ed8de

+Result = F (1 - Message changed)

+

+Count = 186

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 338f8054d58c26c49360c3e87af56523acf6d89d03e56ff2f868002bc3e431ed

+Msg = d42b10d3a688c39edf543ae7330466eeb9e3b678ef073967ff83038d40ded1c200c4f03481fc5aff

+Mac = b25bf6993f18d503

+Result = F (3 - MAC changed)

+

+Count = 187

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 96e04382027fffcaf779c984be80da16f8437db0e39a7123d9048ff71954acb7

+Msg = 494c8f931029a4919e2dcbc16512a8bfe275382e7d29c9abb1d14a006caec59ab9b52a3e9ce54ef7

+Mac = 5a94a03591ee9cc7

+Result = P

+

+Count = 188

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 682f8bc1eafd4d369df384841a88db7b7fb96c9dd9abd6dedc9290a8d8d17d22

+Msg = 87b937b1d36e8a9ab33a1d3eed617030923acaabc7e620dfcb3c388936030fc67f647729c19e040b

+Mac = 89347722a73d8bf9

+Result = F (2 - Key or Key2 changed)

+

+Count = 189

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 954222a9cabaa5a0a91100b158a3aeb655c4473d0b00afe6a7a78e0d278a01a9

+Msg = b9197eb50c8168d16b8a12bd261d553ffcc521d979b26fee820376252e452213d736c21471cf0179

+Mac = e5d175fa24cf0fd6

+Result = F (4 - Key or Key1 changed)

+

+Count = 190

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 18349be2894d49290339b97f4db28c92b3e112ffac77100abbf9c093935b1a46

+Msg = 4b02fd5a46ac681a42424ac9723911af4e389ac73829f36f60916563e51cb2ec3d7d9b55d674a59f

+Mac = 18c98fd13595f857

+Result = P

+

+Count = 191

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = f1f9fdfa9ae3ba8bc6fcdb2e15ae2c47e6292c2acb091fe03e325f298ffff3bd

+Msg = 75965cfbf66b0ba13274fce6537fd7aa4efa5d75195a400018bd38f7d8cd53fdffe88df1837fa06f

+Mac = 935e4d4367aef07e

+Result = F (4 - Key or Key1 changed)

+

+Count = 192

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 4652bacedb47faee1be641ebf433157f416b4c7d9e8c7c6f7b17b47e70156993

+Msg = 17e6acda3c05c9549eadad55d8918f4870aec63a18802fa33175cf838fa2b9b17cb43270ff2a1444

+Mac = 7ce4adc343a4498a

+Result = F (1 - Message changed)

+

+Count = 193

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 200e4929c275557d9caab0ba3b0a153dd8010ff8f11ebc1f336dd0249d01dce6

+Msg = bd05d26ebfcb5f6e102e79976fbd038e02da6a64a6be90bb84bd092be5cb8ae447409e94afd89b8b

+Mac = 5484fd10e83798c2

+Result = F (2 - Key or Key2 changed)

+

+Count = 194

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 8c6a6e77534976b4d74a0972742989dbc0f753281a5ff10a862e9048b813b4a9

+Msg = 869c482db2b0825cd09d295749359b99fde85240e5ddaebef642f4d249e096b77af2b59b4e37e452

+Mac = 9e640a86d55be78d

+Result = F (3 - MAC changed)

+

+Count = 195

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = be3db75687360fc31c27752a5f32125cf04f8bbab694339ebcb57ff63fc7ba32

+Msg = 33dfb223c009001a7b3b81916bb094390c42c24a47884fc8a0410f05b2f57b67d8d9046b2ef4a8ea

+Mac = c7666f25d2329fb6

+Result = F (3 - MAC changed)

+

+Count = 196

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 29e7acc4facc2618f242ec9260a8ec36c4c9dabb89bb8092f00855234b0c505a

+Msg = 09bf4f77a9883733590a3cc7ee97f3c9b70f4db255620e88cd5080badc73684c8b80393302ca8803

+Mac = 424535e20d082087

+Result = F (4 - Key or Key1 changed)

+

+Count = 197

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 23f0d00daef3177fbcda6e9953a5a37d5da395204d8af5fb05c74e03f71343da

+Msg = 2222135e545f2af53be42d7a463719447e0a6a305fbe8e43e6279a91eb8f3c5db1fdf081bcb77711

+Mac = 52c42541e2e93f3e

+Result = P

+

+Count = 198

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 6746d9a90e0e763679d5469a1bcffcc4f18f35f50c7714d14c7329b76ce7984e

+Msg = 68530f15423071410a349872c559669301096c827333adc4df9da477387c89870942d12513b7f475

+Mac = 2bf36912e1139629

+Result = F (2 - Key or Key2 changed)

+

+Count = 199

+Klen = 32 

+Mlen = 40

+Tlen = 8

+Key = 6b1d94bc0c6e45fc905c509ea667853e4b2c5a8848dd914efcef14d95b12247d

+Msg = 207b649c46c1963723624d8428d4b64c08cd4091cc055175223d3758f880614149a9cf7f3725c790

+Mac = 34f46b361bddf55c

+Result = F (1 - Message changed)

+

+Count = 200

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 5c77fe134af3fef72fcd16006097dc7dbc45ca10339ae3bc85e0993e4cdcefa1

+Msg = fab52c44379ae8083bdc7b827383df93cb1a7ecc21574730f9fe003b7302de237bed535d40832763e7a2cab5806de91d39aa3f38d167ae3250e48ed1f6ad45b5

+Mac = 03f36c5a

+Result = F (3 - MAC changed)

+

+Count = 201

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 997c6b4b513bbdeaf701867bbe81bdee63de0d0d18c870bcc1e9ff7f627f093e

+Msg = 4c23d92665e88a4f6f732de384034d493d5df37b767a8260557de05688e8d60dcd0eba9cb8cc4bceb174dcbd3c0ab5a37db3b6ecfb6a3d90a4f54a9f1117e11e

+Mac = 9e798c73

+Result = F (1 - Message changed)

+

+Count = 202

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 64e390edd97c0af1ba5165900828e0630606f83d4df5240e1b05c307ee9153ff

+Msg = 1ae71094fc1b304adfa3378c4efa8fb290526bb314714c9613beca2a709c91f7e3f6aa74561bfc7b8fcd12f910941eea3b593e85ba2fffb31e7420c6c6199868

+Mac = 1977347f

+Result = F (4 - Key or Key1 changed)

+

+Count = 203

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 44e2f6d41e04b75f541e724c6f6325f27d7475b3676fa0247f28b36e58b6fdf5

+Msg = b9ac624288352617e4d375f33953b431cbf8f03f9ecbda9893330ff2d3c59db8705dc3ba4a6ef924309630ac48765b10b1c02ec0669126d76602c95012fa2f77

+Mac = 2cba4713

+Result = F (2 - Key or Key2 changed)

+

+Count = 204

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 8e0f75b7029d4afc2a86adb4a088b89ef9783965027c1176497ada0fdfd0cd99

+Msg = 21cd3ff946e2b3c1c61932205899502852b1333d1c79a3d4e5b6617996ffba17041e5b746ab967fb1632c7be62cbc2bbe60ecd5eec6ca4482424994f9a662cc6

+Mac = b651d356

+Result = P

+

+Count = 205

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 35b1106d174acce103ecf5801b03d3c10d579c4ee491ebad25fb6f1f1787e0c8

+Msg = 960026395d0544975dffaaa2c56db1df5816cd80cde513dc76f6f81d21f15c383c97c7233c9af2423fb28922efed2f69aa47c30de17ae1c5be17acbd0ad6cb8e

+Mac = 8a8f65a8

+Result = F (3 - MAC changed)

+

+Count = 206

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 71efa75961dfd60ad533082a8cfe111214eb02573adc4591c5d0e961640a3ab2

+Msg = 6bafbd22b75e21e1fa5444af283e69d53ac2f0412f717a2153f74eb1c195fc5127d240dbc96d2833c9957920a55c505a016a05e4a7ee549bccdbbf1095502e93

+Mac = 88fea081

+Result = F (1 - Message changed)

+

+Count = 207

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 11752eb8aeffa364c9947092c1612461cc19b6c3a3ddd1817b5e6f7f3745a942

+Msg = 2d9109e7eea21b2615c81c03182ce6033c93783b13d698624392bd2a8a202bd0ffc860f29b31afa2f71c2bb85752c66ce8dbba244671288a4135ffe2e1a0209b

+Mac = b5a26c1c

+Result = F (2 - Key or Key2 changed)

+

+Count = 208

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 279a6c226f6a48f3128626012baaa309d99065a59dc0a4c003a6e94d85e61638

+Msg = 9bff96ba07a52d9ea2415283321395cf57cb37c610fad7a482c74de9f5e3d7f520bf73d4a6fc8b5be023d774dd9680b6a7c68139c8a753a80d61c9978a493917

+Mac = 5e281941

+Result = P

+

+Count = 209

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 0bcdcaa87ddf8bbe6db8411d14bb9064e4a121286cc8a6e97fce1844935f436b

+Msg = 3ec0aa8d30d5ed825b77dc7095f421b1e608158797a377ff8bed641bd387832f7c14818cabf9bd5ced6044cdc883ff7296272be693660ab234b2d870ba170131

+Mac = 1da79d07

+Result = F (4 - Key or Key1 changed)

+

+Count = 210

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 1b41d148e3c202d419ce16385139da196dede5be63987e6940a2bae86d62e567

+Msg = 13ecd70e2d76dd53a19b2e5fc0afe0c0793577ba8948b7d4ef3ab797a07a37927dbb33a18252b96f40e0f73a8d3298d67a6551f5854eb6a51019531a122ff8ae

+Mac = 91bd49b2

+Result = F (1 - Message changed)

+

+Count = 211

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = a1ccc9c992c8a307ad39504854456696f8eafd7c8da0c0c53b3a4485570e985e

+Msg = f68b0c3b4556c7f8866b3fa873ed2014418d6421d3f224512e5dae8c2d8dd92175e09508acbcc66ae62d536260cf790671ef66a1bded0343ace4117c1b8d7764

+Mac = b9317feb

+Result = P

+

+Count = 212

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 4d8d0264ae6d8f7a7440dd760e0ded25a3a94cb0491fe81e7b55221ac8ed24f7

+Msg = 5faaf6b8ee8ed5b56bfc1a7f886f9f91a6566ceb99c39462ab675a3ae3be98f68787626fdf77e6243c2e96d1396a8a43417b1f6a51f7e5b0ffaeb889bce02c4b

+Mac = 3f610010

+Result = F (2 - Key or Key2 changed)

+

+Count = 213

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = bcf95051ae2ae84ac32a763d5477ccc4659a9ed3e25de5932939826dc90e2464

+Msg = fce924dd27db3e07837694c34f576c16084e5b0a254ca3af0582bf6026c73b47973ac924b02992490032cae987a887932539d3fa53cdfff711b03bd11ff464bb

+Mac = 7b7e89ef

+Result = F (3 - MAC changed)

+

+Count = 214

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 45ce953ad31ee9b53a9c948883bc86f4bbe0f0744085a9943cbad1066cd7b4f3

+Msg = edb1aaa7e8ac37bca99ff8eff5516464aa33fc2bebef8a727d43abf971108bc604aef019c3837aa2f3d429f22fda1f305319a70d99ed77f902663298f855316f

+Mac = cbf4addd

+Result = F (4 - Key or Key1 changed)

+

+Count = 215

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = d60841cd71d7227ab56e767817760edba9ce2290f8da504b341ee2c1910b5018

+Msg = 365fea641559759d1e5b5581218486318b1c776de812b1aca6a9ba6b1c6e39c5cb6d5a44e3a474f709b8eac457e74f00a43ecd3d060cc7639696bd03730c70e7

+Mac = 7406f935

+Result = F (4 - Key or Key1 changed)

+

+Count = 216

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = d172f991eb697ffdefc57349dadbe51066d2744c39041cd55ca75024eead495d

+Msg = 6a91da64812b9bb41a026e727b4f77c384813da2948caed5a9846420c86a26b89f46b2fa6975b95d12452ca69bbfb65bc1c48a79d95c5e69ff4ab7316fe468e8

+Mac = 6bd82bcc

+Result = F (1 - Message changed)

+

+Count = 217

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = 3725c7905bfaca415908c617b78f8deeeff286e0c2bba268d0de92c7664238a7

+Msg = fc4bbe329a86089ebe2a2f3320dad55a9bdac1133dd28ddc9ace9ed665885a2341ea9492d4cf4b7e1d0a95f308a9d613407b35b845cf515bbe7f2f35102d78a3

+Mac = c8e11823

+Result = F (3 - MAC changed)

+

+Count = 218

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = bb3087d1b5b0f6f14a532c3604c82874fb15e97a4b3883dfc50e71ffe5752d40

+Msg = 979a9f96112d1ea95eec2cdfdf48c55114472360aa7de24bb53761013af96b33f02b17ae470fece8aaf649d801b4040b7b5152f58a01e7852f565efc77b5dafe

+Mac = 66466425

+Result = P

+

+Count = 219

+Klen = 32 

+Mlen = 64

+Tlen = 4

+Key = eeb983439a03ee6a315ebf941e9368f90bb6845b03b31839d72a1946c17d2f19

+Msg = 6d5573c9279897d7d1602d8a95c04bb5ca3fad2dbe89a024b3651eb227e73bb559e7c0db08b215fd7efe64afcd24fb155989f2f8965d0e181389e6c4b8e244a9

+Mac = 7f77d596

+Result = F (2 - Key or Key2 changed)

+

+Count = 220

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 6f0353a0ad95df6d3190a251435f62c30ed6b9cc0dd024c3c316565cad83d2e1

+Msg = 83011a83db0524628b55589ba0165523ce7c916465eaf185805b97ec7f00fc01b82a3e356a6bbb44f2f8deb6425239ac8e26d4d94871c5cf4fe7017c649672f4

+Mac = 9e56e4574dd01fe8

+Result = F (4 - Key or Key1 changed)

+

+Count = 221

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 777a22c5fa2f864a9233587e3e9634172ce25006daacbba97b68e7429c8266a8

+Msg = 1f7d58d65c36142620172fda3197d3c629bc7bc584e1aaa0f8b6dd320588becaccc39ad124b515adeb941de49ac31c851c5172c4e1c322e42e13cb5ab7f8db2f

+Mac = 498dafe2807ba34e

+Result = P

+

+Count = 222

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = e17736560b1a13aa8e536500ea6cdb9a6757309aadf25a6a9189055a309c3f8b

+Msg = 1a6b80d506147c3c02c89f50892bd1f04d34f9f21e8307140df43835d17495c56a13be7a045be5441de01d84ea19d579f76e9ffa0f92376b5b13c0eacd3050c9

+Mac = 52d3fbc6e5821f1d

+Result = F (2 - Key or Key2 changed)

+

+Count = 223

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = f31f2fb4b3fd8045b70d34b600a2697cbf7503be0d8cfb5cdc60f9312e3e2695

+Msg = 4f43702be4f0530319555d7f1a3356160f6cae48051f12e22a153d7e405c11494c31e6098e24225eb676094755c6d7e992ec0c8c1e2608e76a72d79d173a4e07

+Mac = 71239a4c38fa04b3

+Result = F (1 - Message changed)

+

+Count = 224

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 10a678f591b4d87280f42d77a91635575e2e82ef610a7c9105c3a9418f932c24

+Msg = f7b577f1396b23c27eb637e53d3d92460270b001cc612fd3b4d68bcdd09c2d50571ea4350636324cc2428a087e7bd8785f8202791e3c2d2bafe084a1204e34dd

+Mac = 5b11c1407904c15e

+Result = F (3 - MAC changed)

+

+Count = 225

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = b8728441226558fa9764824597fe254bf8c2623789541feaf6c007efeb0dd2b1

+Msg = 80a2be15809f12738f305be3a210ba0c933599c4b24b48257c60e8e3aae189dc6ec58ff1f9085a15405b26a3001a2ff5ff7e1932961490676c6d2cda8417979b

+Mac = e73ed6c4f81b0ecd

+Result = F (3 - MAC changed)

+

+Count = 226

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 22a877d974cdf4d65bbd77958b2b77fc5ddb33a221aca3ecb6d5ae76596f9db4

+Msg = ce2ce41f76ca7477972d38a3e8fad1122db34ee80c379fa01f884cf648d1670445a8bfab8490563438c21537ac2dbfbcd7bb24a132d6973cc62ba14089adf7e5

+Mac = 0ff91813a56b98dd

+Result = F (1 - Message changed)

+

+Count = 227

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 03fa02c4df99b8295f502e3145e2edd3ff16722b87092e708bc8d126cc1ec894

+Msg = ec9a9babb68e09c38617c9b16e8a2d92e711030bcda4b9e0ab35c4c2392b41692312dde30c91f32cd39cf5fe15ea0deaf3aa04a8157262acee78d7f94204d93a

+Mac = e50d9a04f79cf9b4

+Result = F (2 - Key or Key2 changed)

+

+Count = 228

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 0e12df1bf17e9645c5507bc2069ca4611dc0488c9996231dbcee1c73393b26c4

+Msg = 86814ce4a867f80ce9b618c6aecce37c89851508bbb095c8f7c055f569c47a30f79abe5ec75f12b601298718d6f96ea1c1ebbe7c0cb0b7fb973ec5e6d5c6a713

+Mac = 05338bce9ed8f495

+Result = P

+

+Count = 229

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 51c88fd98a7d82043a1500fc3d8a66ba7ab7760467c7fd89cfeeb22dd25762a2

+Msg = 0e403cff47adee3ec5bb6b178dabfc7d53b60a04eaad33a2fedd9db705358a4c73ab2d982ddbbdc941f1c701d4cac89e5c56fbbe0f4170029ad25e931713ba63

+Mac = 38c34175627b07e8

+Result = F (4 - Key or Key1 changed)

+

+Count = 230

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 0feb23c7e4a19bcbd70bd300d76ec9045d696f8c9687f49ec4154400e231d2f0

+Msg = 0330ed97e44e8b15a49f29c72a7997d05d398a9d45dae41a6cc635258beb824362124691e86cb7fea46e4ab85bdf79e4eb30c492770bf6f0c42ea9bde37a0c01

+Mac = 271a7c2e687d84c5

+Result = P

+

+Count = 231

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 5d649799771f9074d18a2477ccd4d9e136e01451c1eb2e8bb370cb79e0486770

+Msg = d715bc0520dbb86543e76fede49dc6be2cce59d3c0db133ff31efcb63a85514fe080da88fa1e788b9e73feb0503c4142bdc67386ac0bacf9311ecada23ca7be8

+Mac = 42de9f52567b4506

+Result = F (1 - Message changed)

+

+Count = 232

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 4c96d520d8d5a54eb73f8f558e328d1b3e5ba360161fb8444739a40a97a58a1b

+Msg = ee409b050346fbd319c8630e4bc9dd6d055355fbb961f018d3fda0c1eea6f61248f43709737fb18d4efc4faf34a96c2f73ece54200367292692e36870a0c94c5

+Mac = 28610f524d88e727

+Result = F (2 - Key or Key2 changed)

+

+Count = 233

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = b186b9273d8cd77d68c05ec5389b2f6e2f267fe6cd6e7cb35a3233c0dfe0b1f4

+Msg = 0df3fc6396f851785fca9aa5ffb0cd98bdecf8bbae4c82641efcb34d319e7643ca9c5e22acbde800e0f700a95685c64ccf399173f9123438dc1181b676490cbf

+Mac = 8d2f69b44614485a

+Result = F (4 - Key or Key1 changed)

+

+Count = 234

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 1b1374648d93aadb186326e4ca2b82fd37f7234712816fe4feb339a3a16880df

+Msg = 9a661677f1e07153e1c9c661c91901757f5b4d9938031f01a802773d6a9863b2a169c44be0d4546c4780e828ef37f3b389f84c1a41473131e9c88bcd530c7334

+Mac = 72838b59593c011c

+Result = F (3 - MAC changed)

+

+Count = 235

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = f70b8a4eee3518bba071af55f25f7b698a5b7dc8865cdaca6d1c7993657acc95

+Msg = 795ee1af7504621aac329f5081912de545fa11174f3979b14f11aa30df813a235b467fd8f3a14734fe5ac9e39105dcb25184673885cd19bc70ee5a53dd4e8149

+Mac = 93542734d6cd43de

+Result = P

+

+Count = 236

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 0c456d199abae4758734f506c4e9ccdb767e4fd156d5a4085726f3938a516d74

+Msg = 78f3bf568f1c3f2866eff8a246a70cf0faee4c3078f3fb27c4bdd53312bf50812bac2280118c0396e610b4110a22406084c18283a30ce7c0e49c769817170df9

+Mac = c4c5be3c94fb7b9c

+Result = F (4 - Key or Key1 changed)

+

+Count = 237

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = 0a8725bd8c8eab9ed52ca47835837b9f00a6c8d834ab17105b01eb4eb30402e7

+Msg = d7867ff428c37836161a534d1d697fba43e86b0096c49b63d50afaf06ec772bda86eba7222796f087c5367d1547642b974d041cb496c5cf7984e8e126c9f741e

+Mac = b5d40f8633965c33

+Result = F (3 - MAC changed)

+

+Count = 238

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = ce9ea80e7fb235486b5f1d0321c68a0e44cd5f15e21f27c402754a2f7c138772

+Msg = c246453f5d0f4957e6418b4d17b748f5c30e7ee672b4af2e4e41e145400be94056f4e94768871849fb44c1ee65378fce32d007e0c7ee5635453d4de6b0c2aa4b

+Mac = 33ae4c66895989ee

+Result = F (1 - Message changed)

+

+Count = 239

+Klen = 32 

+Mlen = 64

+Tlen = 8

+Key = f26fad377bf7d6b35d8ea2e0621b678dad85826fadd3ee684d9215086b77e555

+Msg = 63539f949990883ac4f3ef9158b382a30254023c301de9fcd3cd4faa638a0ecb241a2573a9555a5c96da2435aa02c73cfc12c10f84b565bfdea9c6274bb8d67c

+Mac = 8cda222f03f92913

+Result = F (2 - Key or Key2 changed)

diff --git a/src/crypto/cmac/cmac.c b/src/crypto/cmac/cmac.c
index fb4e69c..b6a10f7 100644
--- a/src/crypto/cmac/cmac.c
+++ b/src/crypto/cmac/cmac.c
@@ -124,12 +124,22 @@
   OPENSSL_free(ctx);
 }
 
-// binary_field_mul_x treats the 128 bits at |in| as an element of GF(2¹²βΈ)
-// with a hard-coded reduction polynomial and sets |out| as x times the
-// input.
+int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in) {
+  if (!EVP_CIPHER_CTX_copy(&out->cipher_ctx, &in->cipher_ctx)) {
+    return 0;
+  }
+  OPENSSL_memcpy(out->k1, in->k1, AES_BLOCK_SIZE);
+  OPENSSL_memcpy(out->k2, in->k2, AES_BLOCK_SIZE);
+  OPENSSL_memcpy(out->block, in->block, AES_BLOCK_SIZE);
+  out->block_used = in->block_used;
+  return 1;
+}
+
+// binary_field_mul_x_128 treats the 128 bits at |in| as an element of GF(2¹²βΈ)
+// with a hard-coded reduction polynomial and sets |out| as x times the input.
 //
 // See https://tools.ietf.org/html/rfc4493#section-2.3
-static void binary_field_mul_x(uint8_t out[16], const uint8_t in[16]) {
+static void binary_field_mul_x_128(uint8_t out[16], const uint8_t in[16]) {
   unsigned i;
 
   // Shift |in| to left, including carry.
@@ -142,23 +152,46 @@
   out[i] = (in[i] << 1) ^ ((0 - carry) & 0x87);
 }
 
+// binary_field_mul_x_64 behaves like |binary_field_mul_x_128| but acts on an
+// element of GF(2⁢⁴).
+//
+// See https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38b.pdf
+static void binary_field_mul_x_64(uint8_t out[8], const uint8_t in[8]) {
+  unsigned i;
+
+  // Shift |in| to left, including carry.
+  for (i = 0; i < 7; i++) {
+    out[i] = (in[i] << 1) | (in[i+1] >> 7);
+  }
+
+  // If MSB set fixup with R.
+  const uint8_t carry = in[0] >> 7;
+  out[i] = (in[i] << 1) ^ ((0 - carry) & 0x1b);
+}
+
 static const uint8_t kZeroIV[AES_BLOCK_SIZE] = {0};
 
 int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t key_len,
               const EVP_CIPHER *cipher, ENGINE *engine) {
   uint8_t scratch[AES_BLOCK_SIZE];
 
-  if (EVP_CIPHER_block_size(cipher) != AES_BLOCK_SIZE ||
+  size_t block_size = EVP_CIPHER_block_size(cipher);
+  if ((block_size != AES_BLOCK_SIZE && block_size != 8 /* 3-DES */) ||
       EVP_CIPHER_key_length(cipher) != key_len ||
       !EVP_EncryptInit_ex(&ctx->cipher_ctx, cipher, NULL, key, kZeroIV) ||
-      !EVP_Cipher(&ctx->cipher_ctx, scratch, kZeroIV, AES_BLOCK_SIZE) ||
+      !EVP_Cipher(&ctx->cipher_ctx, scratch, kZeroIV, block_size) ||
       // Reset context again ready for first data.
       !EVP_EncryptInit_ex(&ctx->cipher_ctx, NULL, NULL, NULL, kZeroIV)) {
     return 0;
   }
 
-  binary_field_mul_x(ctx->k1, scratch);
-  binary_field_mul_x(ctx->k2, ctx->k1);
+  if (block_size == AES_BLOCK_SIZE) {
+    binary_field_mul_x_128(ctx->k1, scratch);
+    binary_field_mul_x_128(ctx->k2, ctx->k1);
+  } else {
+    binary_field_mul_x_64(ctx->k1, scratch);
+    binary_field_mul_x_64(ctx->k2, ctx->k1);
+  }
   ctx->block_used = 0;
 
   return 1;
@@ -170,10 +203,12 @@
 }
 
 int CMAC_Update(CMAC_CTX *ctx, const uint8_t *in, size_t in_len) {
+  size_t block_size = EVP_CIPHER_CTX_block_size(&ctx->cipher_ctx);
+  assert(block_size <= AES_BLOCK_SIZE);
   uint8_t scratch[AES_BLOCK_SIZE];
 
   if (ctx->block_used > 0) {
-    size_t todo = AES_BLOCK_SIZE - ctx->block_used;
+    size_t todo = block_size - ctx->block_used;
     if (in_len < todo) {
       todo = in_len;
     }
@@ -184,28 +219,28 @@
     ctx->block_used += todo;
 
     // If |in_len| is zero then either |ctx->block_used| is less than
-    // |AES_BLOCK_SIZE|, in which case we can stop here, or |ctx->block_used|
-    // is exactly |AES_BLOCK_SIZE| but there's no more data to process. In the
-    // latter case we don't want to process this block now because it might be
-    // the last block and that block is treated specially.
+    // |block_size|, in which case we can stop here, or |ctx->block_used| is
+    // exactly |block_size| but there's no more data to process. In the latter
+    // case we don't want to process this block now because it might be the last
+    // block and that block is treated specially.
     if (in_len == 0) {
       return 1;
     }
 
-    assert(ctx->block_used == AES_BLOCK_SIZE);
+    assert(ctx->block_used == block_size);
 
-    if (!EVP_Cipher(&ctx->cipher_ctx, scratch, ctx->block, AES_BLOCK_SIZE)) {
+    if (!EVP_Cipher(&ctx->cipher_ctx, scratch, ctx->block, block_size)) {
       return 0;
     }
   }
 
   // Encrypt all but one of the remaining blocks.
-  while (in_len > AES_BLOCK_SIZE) {
-    if (!EVP_Cipher(&ctx->cipher_ctx, scratch, in, AES_BLOCK_SIZE)) {
+  while (in_len > block_size) {
+    if (!EVP_Cipher(&ctx->cipher_ctx, scratch, in, block_size)) {
       return 0;
     }
-    in += AES_BLOCK_SIZE;
-    in_len -= AES_BLOCK_SIZE;
+    in += block_size;
+    in_len -= block_size;
   }
 
   OPENSSL_memcpy(ctx->block, in, in_len);
@@ -215,27 +250,29 @@
 }
 
 int CMAC_Final(CMAC_CTX *ctx, uint8_t *out, size_t *out_len) {
-  *out_len = AES_BLOCK_SIZE;
+  size_t block_size = EVP_CIPHER_CTX_block_size(&ctx->cipher_ctx);
+  assert(block_size <= AES_BLOCK_SIZE);
+
+  *out_len = block_size;
   if (out == NULL) {
     return 1;
   }
 
   const uint8_t *mask = ctx->k1;
 
-  if (ctx->block_used != AES_BLOCK_SIZE) {
+  if (ctx->block_used != block_size) {
     // If the last block is incomplete, terminate it with a single 'one' bit
     // followed by zeros.
     ctx->block[ctx->block_used] = 0x80;
     OPENSSL_memset(ctx->block + ctx->block_used + 1, 0,
-                   AES_BLOCK_SIZE - (ctx->block_used + 1));
+                   block_size - (ctx->block_used + 1));
 
     mask = ctx->k2;
   }
 
-  unsigned i;
-  for (i = 0; i < AES_BLOCK_SIZE; i++) {
+  for (unsigned i = 0; i < block_size; i++) {
     out[i] = ctx->block[i] ^ mask[i];
   }
 
-  return EVP_Cipher(&ctx->cipher_ctx, out, out, AES_BLOCK_SIZE);
+  return EVP_Cipher(&ctx->cipher_ctx, out, out, block_size);
 }
diff --git a/src/crypto/cmac/cmac_test.cc b/src/crypto/cmac/cmac_test.cc
index dbd63ea..bd6651d 100644
--- a/src/crypto/cmac/cmac_test.cc
+++ b/src/crypto/cmac/cmac_test.cc
@@ -15,6 +15,7 @@
 #include <stdio.h>
 
 #include <algorithm>
+#include <vector>
 
 #include <gtest/gtest.h>
 
@@ -22,7 +23,9 @@
 #include <openssl/cmac.h>
 #include <openssl/mem.h>
 
+#include "../test/file_test.h"
 #include "../test/test_util.h"
+#include "../test/wycheproof_util.h"
 
 
 static void test(const char *name, const uint8_t *key, size_t key_len,
@@ -54,6 +57,18 @@
     ASSERT_TRUE(CMAC_Final(ctx.get(), out, &out_len));
     EXPECT_EQ(Bytes(expected, sizeof(out)), Bytes(out, out_len));
   }
+
+  // Test that |CMAC_CTX_copy| works.
+  ASSERT_TRUE(CMAC_Reset(ctx.get()));
+  size_t chunk = msg_len / 2;
+  ASSERT_TRUE(CMAC_Update(ctx.get(), msg, chunk));
+  bssl::UniquePtr<CMAC_CTX> ctx2(CMAC_CTX_new());
+  ASSERT_TRUE(ctx2);
+  ASSERT_TRUE(CMAC_CTX_copy(ctx2.get(), ctx.get()));
+  ASSERT_TRUE(CMAC_Update(ctx2.get(), msg + chunk, msg_len - chunk));
+  size_t out_len;
+  ASSERT_TRUE(CMAC_Final(ctx2.get(), out, &out_len));
+  EXPECT_EQ(Bytes(expected, sizeof(out)), Bytes(out, out_len));
 }
 
 TEST(CMACTest, RFC4493TestVectors) {
@@ -104,3 +119,149 @@
   test("RFC 4493 #3", kKey, sizeof(kKey), kMsg3, sizeof(kMsg3), kOut3);
   test("RFC 4493 #4", kKey, sizeof(kKey), kMsg4, sizeof(kMsg4), kOut4);
 }
+
+TEST(CMACTest, Wycheproof) {
+  FileTestGTest("third_party/wycheproof_testvectors/aes_cmac_test.txt",
+                [](FileTest *t) {
+    std::string key_size, tag_size;
+    ASSERT_TRUE(t->GetInstruction(&key_size, "keySize"));
+    ASSERT_TRUE(t->GetInstruction(&tag_size, "tagSize"));
+    WycheproofResult result;
+    ASSERT_TRUE(GetWycheproofResult(t, &result));
+    std::vector<uint8_t> key, msg, tag;
+    ASSERT_TRUE(t->GetBytes(&key, "key"));
+    ASSERT_TRUE(t->GetBytes(&msg, "msg"));
+    ASSERT_TRUE(t->GetBytes(&tag, "tag"));
+
+    const EVP_CIPHER *cipher;
+    switch (atoi(key_size.c_str())) {
+      case 128:
+        cipher = EVP_aes_128_cbc();
+        break;
+      case 192:
+        cipher = EVP_aes_192_cbc();
+        break;
+      case 256:
+        cipher = EVP_aes_256_cbc();
+        break;
+      default:
+        // Some test vectors intentionally give the wrong key size. Our API
+        // requires the caller pick the sized CBC primitive, so these tests
+        // aren't useful for us.
+        EXPECT_EQ(WycheproofResult::kInvalid, result);
+        return;
+    }
+
+    size_t tag_len = static_cast<size_t>(atoi(tag_size.c_str())) / 8;
+
+    uint8_t out[16];
+    bssl::UniquePtr<CMAC_CTX> ctx(CMAC_CTX_new());
+    ASSERT_TRUE(ctx);
+    ASSERT_TRUE(CMAC_Init(ctx.get(), key.data(), key.size(), cipher, NULL));
+    ASSERT_TRUE(CMAC_Update(ctx.get(), msg.data(), msg.size()));
+    size_t out_len;
+    ASSERT_TRUE(CMAC_Final(ctx.get(), out, &out_len));
+    // Truncate the tag, if requested.
+    out_len = std::min(out_len, tag_len);
+
+    if (result == WycheproofResult::kValid) {
+      EXPECT_EQ(Bytes(tag), Bytes(out, out_len));
+
+      // Test the streaming API as well.
+      ASSERT_TRUE(CMAC_Reset(ctx.get()));
+      for (uint8_t b : msg) {
+        ASSERT_TRUE(CMAC_Update(ctx.get(), &b, 1));
+      }
+      ASSERT_TRUE(CMAC_Final(ctx.get(), out, &out_len));
+      out_len = std::min(out_len, tag_len);
+      EXPECT_EQ(Bytes(tag), Bytes(out, out_len));
+    } else {
+      // Wycheproof's invalid tests assume the implementation internally does
+      // the comparison, whereas our API only computes the tag. Check that
+      // they're not equal, but these tests are mostly not useful for us.
+      EXPECT_NE(Bytes(tag), Bytes(out, out_len));
+    }
+  });
+}
+
+static void RunCAVPTest(const char *path, const EVP_CIPHER *cipher,
+                        bool is_3des) {
+  FileTestGTest(path, [&](FileTest *t) {
+    t->IgnoreAttribute("Count");
+    t->IgnoreAttribute("Klen");
+    std::string t_len, m_len, result;
+    ASSERT_TRUE(t->GetAttribute(&t_len, "Tlen"));
+    ASSERT_TRUE(t->GetAttribute(&m_len, "Mlen"));
+    ASSERT_TRUE(t->GetAttribute(&result, "Result"));
+    std::vector<uint8_t> key, msg, mac;
+    if (is_3des) {
+      std::vector<uint8_t> key2, key3;
+      ASSERT_TRUE(t->GetBytes(&key, "Key1"));
+      ASSERT_TRUE(t->GetBytes(&key2, "Key2"));
+      ASSERT_TRUE(t->GetBytes(&key3, "Key3"));
+      key.insert(key.end(), key2.begin(), key2.end());
+      key.insert(key.end(), key3.begin(), key3.end());
+    } else {
+      ASSERT_TRUE(t->GetBytes(&key, "Key"));
+    }
+    ASSERT_TRUE(t->GetBytes(&msg, "Msg"));
+    ASSERT_TRUE(t->GetBytes(&mac, "Mac"));
+
+    // CAVP's uses a non-empty Msg attribute and zero Mlen for the empty string.
+    if (atoi(m_len.c_str()) == 0) {
+      msg.clear();
+    } else {
+      EXPECT_EQ(static_cast<size_t>(atoi(m_len.c_str())), msg.size());
+    }
+
+    size_t tag_len = static_cast<size_t>(atoi(t_len.c_str()));
+
+    uint8_t out[16];
+    bssl::UniquePtr<CMAC_CTX> ctx(CMAC_CTX_new());
+    ASSERT_TRUE(ctx);
+    ASSERT_TRUE(CMAC_Init(ctx.get(), key.data(), key.size(), cipher, NULL));
+    ASSERT_TRUE(CMAC_Update(ctx.get(), msg.data(), msg.size()));
+    size_t out_len;
+    ASSERT_TRUE(CMAC_Final(ctx.get(), out, &out_len));
+    // Truncate the tag, if requested.
+    out_len = std::min(out_len, tag_len);
+
+    ASSERT_FALSE(result.empty());
+    if (result[0] == 'P') {
+      EXPECT_EQ(Bytes(mac), Bytes(out, out_len));
+
+      // Test the streaming API as well.
+      ASSERT_TRUE(CMAC_Reset(ctx.get()));
+      for (uint8_t b : msg) {
+        ASSERT_TRUE(CMAC_Update(ctx.get(), &b, 1));
+      }
+      ASSERT_TRUE(CMAC_Final(ctx.get(), out, &out_len));
+      out_len = std::min(out_len, tag_len);
+      EXPECT_EQ(Bytes(mac), Bytes(out, out_len));
+    } else {
+      // CAVP's invalid tests assume the implementation internally does the
+      // comparison, whereas our API only computes the tag. Check that they're
+      // not equal, but these tests are mostly not useful for us.
+      EXPECT_NE(Bytes(mac), Bytes(out, out_len));
+    }
+  });
+}
+
+TEST(CMACTest, CAVPAES128) {
+  RunCAVPTest("crypto/cmac/cavp_aes128_cmac_tests.txt", EVP_aes_128_cbc(),
+              false);
+}
+
+TEST(CMACTest, CAVPAES192) {
+  RunCAVPTest("crypto/cmac/cavp_aes192_cmac_tests.txt", EVP_aes_192_cbc(),
+              false);
+}
+
+TEST(CMACTest, CAVPAES256) {
+  RunCAVPTest("crypto/cmac/cavp_aes256_cmac_tests.txt", EVP_aes_256_cbc(),
+              false);
+}
+
+TEST(CMACTest, CAVP3DES) {
+  RunCAVPTest("crypto/cmac/cavp_3des_cmac_tests.txt", EVP_des_ede3_cbc(), true);
+}
diff --git a/src/crypto/crypto.c b/src/crypto/crypto.c
index 5752712..4feda17 100644
--- a/src/crypto/crypto.c
+++ b/src/crypto/crypto.c
@@ -19,6 +19,19 @@
 #include "internal.h"
 
 
+#if defined(OPENSSL_MSAN) && !defined(OPENSSL_NO_ASM)
+// MSan works by instrumenting memory accesses in the compiler. Accesses from
+// uninstrumented code, such as assembly, are invisible to it. MSan will
+// incorrectly report reads from assembly-initialized memory as uninitialized.
+// If building BoringSSL with MSan, exclude assembly files from the build and
+// define OPENSSL_NO_ASM.
+//
+// This is checked here rather than in a header because the consumer might not
+// define OPENSSL_NO_ASM. It is only necessary for BoringSSL source files to be
+// built with it.
+#error "BoringSSL must be built with assembly disabled to use MSan."
+#endif
+
 #if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_STATIC_ARMCAP) && \
     (defined(OPENSSL_X86) || defined(OPENSSL_X86_64) || \
      defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64) || \
@@ -164,9 +177,24 @@
 #endif
 }
 
-const char *SSLeay_version(int unused) { return "BoringSSL"; }
+const char *SSLeay_version(int which) { return OpenSSL_version(which); }
 
-const char *OpenSSL_version(int unused) { return "BoringSSL"; }
+const char *OpenSSL_version(int which) {
+  switch (which) {
+    case OPENSSL_VERSION:
+      return "BoringSSL";
+    case OPENSSL_CFLAGS:
+      return "compiler: n/a";
+    case OPENSSL_BUILT_ON:
+      return "built on: n/a";
+    case OPENSSL_PLATFORM:
+      return "platform: n/a";
+    case OPENSSL_DIR:
+      return "OPENSSLDIR: n/a";
+    default:
+      return "not available";
+  }
+}
 
 unsigned long SSLeay(void) { return OPENSSL_VERSION_NUMBER; }
 
diff --git a/src/crypto/curve25519/spake25519.c b/src/crypto/curve25519/spake25519.c
index e0ff9ba..650178c 100644
--- a/src/crypto/curve25519/spake25519.c
+++ b/src/crypto/curve25519/spake25519.c
@@ -481,7 +481,7 @@
   }
 
   ge_p3 Qstar;
-  if (0 != x25519_ge_frombytes_vartime(&Qstar, their_msg)) {
+  if (!x25519_ge_frombytes_vartime(&Qstar, their_msg)) {
     // Point received from peer was not on the curve.
     return 0;
   }
diff --git a/src/crypto/curve25519/x25519_test.cc b/src/crypto/curve25519/x25519_test.cc
index 2b50891..9578dd0 100644
--- a/src/crypto/curve25519/x25519_test.cc
+++ b/src/crypto/curve25519/x25519_test.cc
@@ -127,7 +127,8 @@
 }
 
 TEST(X25519Test, Wycheproof) {
-  FileTestGTest("third_party/wycheproof/x25519_test.txt", [](FileTest *t) {
+  FileTestGTest("third_party/wycheproof_testvectors/x25519_test.txt",
+                [](FileTest *t) {
       t->IgnoreInstruction("curve");
       t->IgnoreAttribute("curve");
 
diff --git a/src/crypto/dsa/dsa.c b/src/crypto/dsa/dsa.c
index b97806b..7adde07 100644
--- a/src/crypto/dsa/dsa.c
+++ b/src/crypto/dsa/dsa.c
@@ -541,6 +541,22 @@
   OPENSSL_free(sig);
 }
 
+// mod_mul_consttime sets |r| to |a| * |b| modulo |mont->N|, treating |a| and
+// |b| as secret. This function internally uses Montgomery reduction, but
+// neither inputs nor outputs are in Montgomery form.
+static int mod_mul_consttime(BIGNUM *r, const BIGNUM *a, const BIGNUM *b,
+                             const BN_MONT_CTX *mont, BN_CTX *ctx) {
+  BN_CTX_start(ctx);
+  BIGNUM *tmp = BN_CTX_get(ctx);
+  // |BN_mod_mul_montgomery| removes a factor of R, so we cancel it with a
+  // single |BN_to_montgomery| which adds one factor of R.
+  int ok = tmp != NULL &&
+           BN_to_montgomery(tmp, a, mont, ctx) &&
+           BN_mod_mul_montgomery(r, tmp, b, mont, ctx);
+  BN_CTX_end(ctx);
+  return ok;
+}
+
 DSA_SIG *DSA_do_sign(const uint8_t *digest, size_t digest_len, const DSA *dsa) {
   BIGNUM *kinv = NULL, *r = NULL, *s = NULL;
   BIGNUM m;
@@ -557,6 +573,14 @@
     goto err;
   }
 
+  // We only support DSA keys that are a multiple of 8 bits. (This is a weaker
+  // check than the one in |DSA_do_check_signature|, which only allows 160-,
+  // 224-, and 256-bit keys.
+  if (BN_num_bits(dsa->q) % 8 != 0) {
+    reason = DSA_R_BAD_Q_VALUE;
+    goto err;
+  }
+
   s = BN_new();
   if (s == NULL) {
     goto err;
@@ -572,9 +596,9 @@
   }
 
   if (digest_len > BN_num_bytes(dsa->q)) {
-    // if the digest length is greater than the size of q use the
-    // BN_num_bits(dsa->q) leftmost bits of the digest, see
-    // fips 186-3, 4.2
+    // If the digest length is greater than the size of |dsa->q| use the
+    // BN_num_bits(dsa->q) leftmost bits of the digest, see FIPS 186-3, 4.2.
+    // Note the above check that |dsa->q| is a multiple of 8 bits.
     digest_len = BN_num_bytes(dsa->q);
   }
 
@@ -582,19 +606,23 @@
     goto err;
   }
 
-  // Compute  s = inv(k) (m + xr) mod q
-  if (!BN_mod_mul(&xr, dsa->priv_key, r, dsa->q, ctx)) {
-    goto err;  // s = xr
+  // |m| is bounded by 2^(num_bits(q)), which is slightly looser than q. This
+  // violates |bn_mod_add_consttime| and |mod_mul_consttime|'s preconditions.
+  // (The underlying algorithms could accept looser bounds, but we reduce for
+  // simplicity.)
+  size_t q_width = bn_minimal_width(dsa->q);
+  if (!bn_resize_words(&m, q_width) ||
+      !bn_resize_words(&xr, q_width)) {
+    goto err;
   }
-  if (!BN_add(s, &xr, &m)) {
-    goto err;  // s = m + xr
-  }
-  if (BN_cmp(s, dsa->q) > 0) {
-    if (!BN_sub(s, s, dsa->q)) {
-      goto err;
-    }
-  }
-  if (!BN_mod_mul(s, s, kinv, dsa->q, ctx)) {
+  bn_reduce_once_in_place(m.d, 0 /* no carry word */, dsa->q->d,
+                          xr.d /* scratch space */, q_width);
+
+  // Compute s = inv(k) (m + xr) mod q. Note |dsa->method_mont_q| is
+  // initialized by |dsa_sign_setup|.
+  if (!mod_mul_consttime(&xr, dsa->priv_key, r, dsa->method_mont_q, ctx) ||
+      !bn_mod_add_consttime(s, &xr, &m, dsa->q, ctx) ||
+      !mod_mul_consttime(s, s, kinv, dsa->method_mont_q, ctx)) {
     goto err;
   }
 
@@ -648,7 +676,7 @@
   }
 
   i = BN_num_bits(dsa->q);
-  // fips 186-3 allows only different sizes for q
+  // FIPS 186-3 allows only different sizes for q.
   if (i != 160 && i != 224 && i != 256) {
     OPENSSL_PUT_ERROR(DSA, DSA_R_BAD_Q_VALUE);
     return 0;
@@ -867,6 +895,13 @@
       // Compute r = (g^k mod p) mod q
       !BN_mod_exp_mont_consttime(r, dsa->g, &k, dsa->p, ctx,
                                  dsa->method_mont_p) ||
+      // Note |BN_mod| below is not constant-time and may leak information about
+      // |r|. |dsa->p| may be significantly larger than |dsa->q|, so this is not
+      // easily performed in constant-time with Montgomery reduction.
+      //
+      // However, |r| at this point is g^k (mod p). It is almost the value of
+      // |r| revealed in the signature anyway (g^k (mod p) (mod q)), going from
+      // it to |k| would require computing a discrete log.
       !BN_mod(r, r, dsa->q, ctx) ||
       // Compute part of 's = inv(k) (m + xr) mod q' using Fermat's Little
       // Theorem.
diff --git a/src/crypto/ecdh/CMakeLists.txt b/src/crypto/ecdh_extra/CMakeLists.txt
similarity index 68%
rename from src/crypto/ecdh/CMakeLists.txt
rename to src/crypto/ecdh_extra/CMakeLists.txt
index 8eaeae5..40a53c1 100644
--- a/src/crypto/ecdh/CMakeLists.txt
+++ b/src/crypto/ecdh_extra/CMakeLists.txt
@@ -1,9 +1,9 @@
 include_directories(../../include)
 
 add_library(
-  ecdh
+  ecdh_extra
 
   OBJECT
 
-  ecdh.c
+  ecdh_extra.c
 )
diff --git a/src/crypto/ecdh/ecdh.c b/src/crypto/ecdh_extra/ecdh_extra.c
similarity index 100%
rename from src/crypto/ecdh/ecdh.c
rename to src/crypto/ecdh_extra/ecdh_extra.c
diff --git a/src/crypto/ecdh/ecdh_test.cc b/src/crypto/ecdh_extra/ecdh_test.cc
similarity index 73%
rename from src/crypto/ecdh/ecdh_test.cc
rename to src/crypto/ecdh_extra/ecdh_test.cc
index 6d48408..bd4586f 100644
--- a/src/crypto/ecdh/ecdh_test.cc
+++ b/src/crypto/ecdh_extra/ecdh_test.cc
@@ -20,15 +20,19 @@
 #include <gtest/gtest.h>
 
 #include <openssl/bn.h>
+#include <openssl/bytestring.h>
 #include <openssl/crypto.h>
 #include <openssl/ec.h>
 #include <openssl/ec_key.h>
 #include <openssl/ecdh.h>
 #include <openssl/err.h>
+#include <openssl/evp.h>
 #include <openssl/nid.h>
+#include <openssl/sha.h>
 
 #include "../test/file_test.h"
 #include "../test/test_util.h"
+#include "../test/wycheproof_util.h"
 
 
 static bssl::UniquePtr<EC_GROUP> GetCurve(FileTest *t, const char *key) {
@@ -65,7 +69,7 @@
 }
 
 TEST(ECDHTest, TestVectors) {
-  FileTestGTest("crypto/ecdh/ecdh_tests.txt", [](FileTest *t) {
+  FileTestGTest("crypto/ecdh_extra/ecdh_tests.txt", [](FileTest *t) {
     bssl::UniquePtr<EC_GROUP> group = GetCurve(t, "Curve");
     ASSERT_TRUE(group);
     bssl::UniquePtr<BIGNUM> priv_key = GetBIGNUM(t, "Private");
@@ -112,6 +116,69 @@
     ASSERT_GE(ret, 0);
     EXPECT_EQ(Bytes(z.data(), z.size() - 1),
               Bytes(actual_z.data(), static_cast<size_t>(ret)));
+
+    // Test that |ECDH_compute_key_fips| hashes as expected.
+    uint8_t digest[SHA256_DIGEST_LENGTH], expected_digest[SHA256_DIGEST_LENGTH];
+    ASSERT_TRUE(ECDH_compute_key_fips(digest, sizeof(digest),
+                                      peer_pub_key.get(), key.get()));
+    SHA256(z.data(), z.size(), expected_digest);
+    EXPECT_EQ(Bytes(digest), Bytes(expected_digest));
+  });
+}
+
+TEST(ECDHTest, Wycheproof) {
+  FileTestGTest("third_party/wycheproof_testvectors/ecdh_test.txt",
+                [](FileTest *t) {
+    t->IgnoreInstruction("curve");  // This is redundant with the per-test one.
+    t->IgnoreInstruction("encoding");
+
+    bssl::UniquePtr<EC_GROUP> group = GetWycheproofCurve(t, "curve", false);
+    ASSERT_TRUE(group);
+    bssl::UniquePtr<BIGNUM> priv_key = GetWycheproofBIGNUM(t, "private", false);
+    ASSERT_TRUE(priv_key);
+    std::vector<uint8_t> peer_spki;
+    ASSERT_TRUE(t->GetBytes(&peer_spki, "public"));
+    WycheproofResult result;
+    ASSERT_TRUE(GetWycheproofResult(t, &result));
+    std::vector<uint8_t> shared;
+    ASSERT_TRUE(t->GetBytes(&shared, "shared"));
+
+    // Wycheproof stores the peer key in an SPKI to mimic a Java API mistake.
+    // This is non-standard and error-prone.
+    CBS cbs;
+    CBS_init(&cbs, peer_spki.data(), peer_spki.size());
+    bssl::UniquePtr<EVP_PKEY> peer_evp(EVP_parse_public_key(&cbs));
+    if (!peer_evp) {
+      // Note some of Wycheproof's "acceptable" entries are unsupported by
+      // BoringSSL because they test named curves (explicitly forbidden by RFC
+      // 5480), while others are supported because they used compressed
+      // coordinates. If the peer key fails to parse, we consider it to match
+      // "acceptable", but if the resulting shared secret matches below, it too
+      // matches "acceptable".
+      //
+      // TODO(davidben): Use the flags field to disambiguate these. Possibly
+      // first get the Wycheproof folks to use flags more consistently.
+      EXPECT_NE(WycheproofResult::kValid, result);
+      return;
+    }
+    EC_KEY *peer_ec = EVP_PKEY_get0_EC_KEY(peer_evp.get());
+    ASSERT_TRUE(peer_ec);
+
+    bssl::UniquePtr<EC_KEY> key(EC_KEY_new());
+    ASSERT_TRUE(key);
+    ASSERT_TRUE(EC_KEY_set_group(key.get(), group.get()));
+    ASSERT_TRUE(EC_KEY_set_private_key(key.get(), priv_key.get()));
+
+    std::vector<uint8_t> actual((EC_GROUP_get_degree(group.get()) + 7) / 8);
+    int ret =
+        ECDH_compute_key(actual.data(), actual.size(),
+                         EC_KEY_get0_public_key(peer_ec), key.get(), nullptr);
+    if (result == WycheproofResult::kInvalid) {
+      EXPECT_EQ(-1, ret);
+    } else {
+      EXPECT_EQ(static_cast<int>(actual.size()), ret);
+      EXPECT_EQ(Bytes(shared), Bytes(actual.data(), static_cast<size_t>(ret)));
+    }
   });
 }
 
diff --git a/src/crypto/ecdh/ecdh_tests.txt b/src/crypto/ecdh_extra/ecdh_tests.txt
similarity index 100%
rename from src/crypto/ecdh/ecdh_tests.txt
rename to src/crypto/ecdh_extra/ecdh_tests.txt
diff --git a/src/crypto/err/asn1.errordata b/src/crypto/err/asn1.errordata
index 56cbbe5..271561b 100644
--- a/src/crypto/err/asn1.errordata
+++ b/src/crypto/err/asn1.errordata
@@ -40,14 +40,14 @@
 ASN1,139,INTEGER_NOT_ASCII_FORMAT
 ASN1,140,INTEGER_TOO_LARGE_FOR_LONG
 ASN1,141,INVALID_BIT_STRING_BITS_LEFT
-ASN1,142,INVALID_BMPSTRING_LENGTH
+ASN1,142,INVALID_BMPSTRING
 ASN1,143,INVALID_DIGIT
 ASN1,144,INVALID_MODIFIER
 ASN1,145,INVALID_NUMBER
 ASN1,146,INVALID_OBJECT_ENCODING
 ASN1,147,INVALID_SEPARATOR
 ASN1,148,INVALID_TIME_FORMAT
-ASN1,149,INVALID_UNIVERSALSTRING_LENGTH
+ASN1,149,INVALID_UNIVERSALSTRING
 ASN1,150,INVALID_UTF8STRING
 ASN1,151,LIST_ERROR
 ASN1,152,MISSING_ASN1_EOS
diff --git a/src/crypto/err/ecdh.errordata b/src/crypto/err/ecdh.errordata
index f714c30..d268509 100644
--- a/src/crypto/err/ecdh.errordata
+++ b/src/crypto/err/ecdh.errordata
@@ -1,3 +1,4 @@
 ECDH,100,KDF_FAILED
 ECDH,101,NO_PRIVATE_VALUE
 ECDH,102,POINT_ARITHMETIC_FAILURE
+ECDH,103,UNKNOWN_DIGEST_LENGTH
diff --git a/src/crypto/err/err.c b/src/crypto/err/err.c
index c7bff16..43d3909 100644
--- a/src/crypto/err/err.c
+++ b/src/crypto/err/err.c
@@ -781,6 +781,8 @@
 
 void ERR_load_ERR_strings(void) {}
 
+void ERR_load_RAND_strings(void) {}
+
 struct err_save_state_st {
   struct err_error_st *errors;
   size_t num_errors;
diff --git a/src/crypto/err/err_test.cc b/src/crypto/err/err_test.cc
index 489d248..5725ff6 100644
--- a/src/crypto/err/err_test.cc
+++ b/src/crypto/err/err_test.cc
@@ -23,6 +23,14 @@
 
 #include "./internal.h"
 
+#if defined(OPENSSL_WINDOWS)
+OPENSSL_MSVC_PRAGMA(warning(push, 3))
+#include <windows.h>
+OPENSSL_MSVC_PRAGMA(warning(pop))
+#else
+#include <errno.h>
+#endif
+
 
 TEST(ErrTest, Overflow) {
   for (unsigned i = 0; i < ERR_NUM_ERRORS*2; i++) {
@@ -212,3 +220,18 @@
     EXPECT_EQ(0u, ERR_get_error());
   }
 }
+
+// Querying the error queue should not affect the OS error.
+#if defined(OPENSSL_WINDOWS)
+TEST(ErrTest, PreservesLastError) {
+  SetLastError(ERROR_INVALID_FUNCTION);
+  ERR_get_error();
+  EXPECT_EQ(static_cast<DWORD>(ERROR_INVALID_FUNCTION), GetLastError());
+}
+#else
+TEST(ErrTest, PreservesErrno) {
+  errno = EINVAL;
+  ERR_get_error();
+  EXPECT_EQ(EINVAL, errno);
+}
+#endif
diff --git a/src/crypto/err/pkcs8.errordata b/src/crypto/err/pkcs8.errordata
index 8b51274..9aac7e2 100644
--- a/src/crypto/err/pkcs8.errordata
+++ b/src/crypto/err/pkcs8.errordata
@@ -8,6 +8,7 @@
 PKCS8,106,ENCRYPT_ERROR
 PKCS8,107,ERROR_SETTING_CIPHER_PARAMS
 PKCS8,108,INCORRECT_PASSWORD
+PKCS8,131,INVALID_CHARACTERS
 PKCS8,109,KEYGEN_FAILURE
 PKCS8,110,KEY_GEN_ERROR
 PKCS8,111,METHOD_NOT_SUPPORTED
@@ -26,6 +27,7 @@
 PKCS8,127,UNSUPPORTED_CIPHER
 PKCS8,125,UNSUPPORTED_KEYLENGTH
 PKCS8,128,UNSUPPORTED_KEY_DERIVATION_FUNCTION
+PKCS8,132,UNSUPPORTED_OPTIONS
 PKCS8,130,UNSUPPORTED_PRF
 PKCS8,124,UNSUPPORTED_PRIVATE_KEY_ALGORITHM
 PKCS8,126,UNSUPPORTED_SALT_TYPE
diff --git a/src/crypto/err/rsa.errordata b/src/crypto/err/rsa.errordata
index 75d265a..a74ee18 100644
--- a/src/crypto/err/rsa.errordata
+++ b/src/crypto/err/rsa.errordata
@@ -6,6 +6,7 @@
 RSA,105,BAD_SIGNATURE
 RSA,106,BAD_VERSION
 RSA,107,BLOCK_TYPE_IS_NOT_01
+RSA,148,BLOCK_TYPE_IS_NOT_02
 RSA,108,BN_NOT_INITIALIZED
 RSA,109,CANNOT_RECOVER_MULTI_PRIME_KEY
 RSA,110,CRT_PARAMS_ALREADY_GIVEN
diff --git a/src/crypto/err/ssl.errordata b/src/crypto/err/ssl.errordata
index 7b63bc8..46ff44f 100644
--- a/src/crypto/err/ssl.errordata
+++ b/src/crypto/err/ssl.errordata
@@ -1,5 +1,6 @@
 SSL,277,ALPN_MISMATCH_ON_EARLY_DATA
 SSL,281,APPLICATION_DATA_INSTEAD_OF_HANDSHAKE
+SSL,291,APPLICATION_DATA_ON_SHUTDOWN
 SSL,100,APP_DATA_IN_HANDSHAKE
 SSL,101,ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT
 SSL,102,BAD_ALERT
@@ -32,6 +33,7 @@
 SSL,274,CERTIFICATE_AND_PRIVATE_KEY_MISMATCH
 SSL,125,CERTIFICATE_VERIFY_FAILED
 SSL,126,CERT_CB_ERROR
+SSL,292,CERT_DECOMPRESSION_FAILED
 SSL,127,CERT_LENGTH_MISMATCH
 SSL,128,CHANNEL_ID_NOT_P256
 SSL,129,CHANNEL_ID_SIGNATURE_INVALID
@@ -52,6 +54,7 @@
 SSL,143,DTLS_MESSAGE_TOO_BIG
 SSL,257,DUPLICATE_EXTENSION
 SSL,264,DUPLICATE_KEY_SHARE
+SSL,296,DUPLICATE_SIGNATURE_ALGORITHM
 SSL,283,EARLY_DATA_NOT_IN_USE
 SSL,144,ECC_CERT_NOT_FOR_SIGNING
 SSL,282,EMPTY_HELLO_RETRY_REQUEST
@@ -75,6 +78,7 @@
 SSL,159,INVALID_MESSAGE
 SSL,251,INVALID_OUTER_RECORD_TYPE
 SSL,269,INVALID_SCT_LIST
+SSL,295,INVALID_SIGNATURE_ALGORITHM
 SSL,160,INVALID_SSL_SESSION
 SSL,161,INVALID_TICKET_KEYS_LENGTH
 SSL,162,LENGTH_MISMATCH
@@ -108,6 +112,7 @@
 SSL,280,NO_SUPPORTED_VERSIONS_ENABLED
 SSL,185,NULL_SSL_CTX
 SSL,186,NULL_SSL_METHOD_PASSED
+SSL,289,OCSP_CB_ERROR
 SSL,187,OLD_SESSION_CIPHER_NOT_RETURNED
 SSL,268,OLD_SESSION_PRF_HASH_MISMATCH
 SSL,188,OLD_SESSION_VERSION_NOT_RETURNED
@@ -133,6 +138,7 @@
 SSL,204,RESUMED_EMS_SESSION_WITHOUT_EMS_EXTENSION
 SSL,205,RESUMED_NON_EMS_SESSION_WITH_EMS_EXTENSION
 SSL,206,SCSV_RECEIVED_WHEN_RENEGOTIATING
+SSL,288,SECOND_SERVERHELLO_VERSION_MISMATCH
 SSL,207,SERVERHELLO_TLSEXT
 SSL,273,SERVER_CERT_CHANGED
 SSL,286,SERVER_ECHOED_INVALID_SESSION_ID
@@ -158,6 +164,7 @@
 SSL,214,SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION
 SSL,215,SSL_HANDSHAKE_FAILURE
 SSL,216,SSL_SESSION_ID_CONTEXT_TOO_LONG
+SSL,290,SSL_SESSION_ID_TOO_LONG
 SSL,276,TICKET_ENCRYPTION_FAILED
 SSL,1049,TLSV1_ALERT_ACCESS_DENIED
 SSL,1050,TLSV1_ALERT_DECODE_ERROR
@@ -187,6 +194,7 @@
 SSL,1117,TOO_MUCH_READ_EARLY_DATA
 SSL,270,TOO_MUCH_SKIPPED_EARLY_DATA
 SSL,221,UNABLE_TO_FIND_ECDH_PARAMETERS
+SSL,293,UNCOMPRESSED_CERT_TOO_LARGE
 SSL,222,UNEXPECTED_EXTENSION
 SSL,279,UNEXPECTED_EXTENSION_ON_EARLY_DATA
 SSL,223,UNEXPECTED_MESSAGE
@@ -195,6 +203,7 @@
 SSL,226,UNINITIALIZED
 SSL,227,UNKNOWN_ALERT_TYPE
 SSL,228,UNKNOWN_CERTIFICATE_TYPE
+SSL,294,UNKNOWN_CERT_COMPRESSION_ALG
 SSL,229,UNKNOWN_CIPHER_RETURNED
 SSL,230,UNKNOWN_CIPHER_TYPE
 SSL,231,UNKNOWN_DIGEST
diff --git a/src/crypto/evp/evp.c b/src/crypto/evp/evp.c
index ad5f85b..4feadb7 100644
--- a/src/crypto/evp/evp.c
+++ b/src/crypto/evp/evp.c
@@ -298,6 +298,7 @@
 }
 
 DH *EVP_PKEY_get0_DH(EVP_PKEY *pkey) { return NULL; }
+DH *EVP_PKEY_get1_DH(EVP_PKEY *pkey) { return NULL; }
 
 int EVP_PKEY_assign(EVP_PKEY *pkey, int type, void *key) {
   if (!EVP_PKEY_set_type(pkey, type)) {
diff --git a/src/crypto/evp/evp_asn1.c b/src/crypto/evp/evp_asn1.c
index bcb86d7..81c7a71 100644
--- a/src/crypto/evp/evp_asn1.c
+++ b/src/crypto/evp/evp_asn1.c
@@ -100,10 +100,16 @@
   uint8_t padding;
   if (!CBS_get_asn1(cbs, &spki, CBS_ASN1_SEQUENCE) ||
       !CBS_get_asn1(&spki, &algorithm, CBS_ASN1_SEQUENCE) ||
-      !parse_key_type(&algorithm, &type) ||
       !CBS_get_asn1(&spki, &key, CBS_ASN1_BITSTRING) ||
-      CBS_len(&spki) != 0 ||
-      // Every key type defined encodes the key as a byte string with the same
+      CBS_len(&spki) != 0) {
+    OPENSSL_PUT_ERROR(EVP, EVP_R_DECODE_ERROR);
+    return NULL;
+  }
+  if (!parse_key_type(&algorithm, &type)) {
+    OPENSSL_PUT_ERROR(EVP, EVP_R_UNSUPPORTED_ALGORITHM);
+    return NULL;
+  }
+  if (// Every key type defined encodes the key as a byte string with the same
       // conversion to BIT STRING.
       !CBS_get_u8(&key, &padding) ||
       padding != 0) {
@@ -152,11 +158,14 @@
       !CBS_get_asn1_uint64(&pkcs8, &version) ||
       version != 0 ||
       !CBS_get_asn1(&pkcs8, &algorithm, CBS_ASN1_SEQUENCE) ||
-      !parse_key_type(&algorithm, &type) ||
       !CBS_get_asn1(&pkcs8, &key, CBS_ASN1_OCTETSTRING)) {
     OPENSSL_PUT_ERROR(EVP, EVP_R_DECODE_ERROR);
     return NULL;
   }
+  if (!parse_key_type(&algorithm, &type)) {
+    OPENSSL_PUT_ERROR(EVP, EVP_R_UNSUPPORTED_ALGORITHM);
+    return NULL;
+  }
 
   // A PrivateKeyInfo ends with a SET of Attributes which we ignore.
 
diff --git a/src/crypto/evp/evp_test.cc b/src/crypto/evp/evp_test.cc
index 9d769a6..85795ee 100644
--- a/src/crypto/evp/evp_test.cc
+++ b/src/crypto/evp/evp_test.cc
@@ -425,6 +425,7 @@
     t->IgnoreInstruction("key.keySize");
     t->IgnoreInstruction("key.wx");
     t->IgnoreInstruction("key.wy");
+    t->IgnoreInstruction("key.uncompressed");
     // Extra RSA fields.
     t->IgnoreInstruction("e");
     t->IgnoreInstruction("keyAsn");
@@ -470,26 +471,46 @@
       bool sig_ok = DSA_check_signature(&valid, digest, digest_len, sig.data(),
                                         sig.size(), dsa) &&
                     valid;
-      EXPECT_EQ(result == WycheproofResult::kValid, sig_ok);
+      if (result == WycheproofResult::kValid) {
+        EXPECT_TRUE(sig_ok);
+      } else if (result == WycheproofResult::kInvalid) {
+        EXPECT_FALSE(sig_ok);
+      } else {
+        // this is a legacy signature, which may or may not be accepted.
+      }
     } else {
       bssl::ScopedEVP_MD_CTX ctx;
       ASSERT_TRUE(
           EVP_DigestVerifyInit(ctx.get(), nullptr, md, nullptr, key.get()));
-      EXPECT_EQ(result == WycheproofResult::kValid ? 1 : 0,
-                EVP_DigestVerify(ctx.get(), sig.data(), sig.size(), msg.data(),
-                                 msg.size()));
+      int ret = EVP_DigestVerify(ctx.get(), sig.data(), sig.size(), msg.data(),
+                                 msg.size());
+      if (result == WycheproofResult::kValid) {
+        EXPECT_EQ(1, ret);
+      } else if (result == WycheproofResult::kInvalid) {
+        EXPECT_EQ(0, ret);
+      } else {
+        // this is a legacy signature, which may or may not be accepted.
+        EXPECT_TRUE(ret == 1 || ret == 0);
+      }
     }
   });
 }
 
 TEST(EVPTest, Wycheproof) {
-  RunWycheproofTest("third_party/wycheproof/dsa_test.txt");
-  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/eddsa_test.txt");
-  RunWycheproofTest("third_party/wycheproof/rsa_signature_test.txt");
+  RunWycheproofTest("third_party/wycheproof_testvectors/dsa_test.txt");
+  RunWycheproofTest(
+      "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt");
+  RunWycheproofTest(
+      "third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt");
+  RunWycheproofTest(
+      "third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt");
+  RunWycheproofTest(
+      "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt");
+  RunWycheproofTest(
+      "third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt");
+  RunWycheproofTest(
+      "third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt");
+  RunWycheproofTest("third_party/wycheproof_testvectors/eddsa_test.txt");
+  RunWycheproofTest(
+      "third_party/wycheproof_testvectors/rsa_signature_test.txt");
 }
diff --git a/src/crypto/evp/evp_tests.txt b/src/crypto/evp/evp_tests.txt
index b0f527c..80d4833 100644
--- a/src/crypto/evp/evp_tests.txt
+++ b/src/crypto/evp/evp_tests.txt
@@ -374,7 +374,7 @@
 PSSSaltLength = 223
 Digest = SHA256
 Input = "0123456789ABCDEF0123456789ABCDEF"
-Error = DATA_TOO_LARGE
+Error = DATA_TOO_LARGE_FOR_KEY_SIZE
 
 # The salt length is too large for the modulus (verifying).
 Verify = RSA-2048
@@ -391,14 +391,14 @@
 PSSSaltLength = 0
 Digest = SHA512
 Input = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
-Error = DATA_TOO_LARGE
+Error = DATA_TOO_LARGE_FOR_KEY_SIZE
 
 Sign = RSA-512
 RSAPadding = PSS
 PSSSaltLength = -2
 Digest = SHA512
 Input = "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
-Error = DATA_TOO_LARGE
+Error = DATA_TOO_LARGE_FOR_KEY_SIZE
 
 # The hash is too large for the modulus (verifying).
 Verify = RSA-512
diff --git a/src/crypto/fipsmodule/CMakeLists.txt b/src/crypto/fipsmodule/CMakeLists.txt
index e83c483..3082375 100644
--- a/src/crypto/fipsmodule/CMakeLists.txt
+++ b/src/crypto/fipsmodule/CMakeLists.txt
@@ -121,6 +121,13 @@
 perlasm(x86-mont.${ASM_EXT} bn/asm/x86-mont.pl)
 
 if(FIPS_DELOCATE)
+  if(OPENSSL_NO_ASM)
+    # If OPENSSL_NO_ASM was defined then ASM will not have been enabled, but in
+    # FIPS mode we have to have it because the module build requires going via
+    # textual assembly.
+    enable_language(ASM)
+  endif()
+
   add_library(
     bcm_c_generated_asm
 
diff --git a/src/crypto/fipsmodule/aes/aes.c b/src/crypto/fipsmodule/aes/aes.c
index a988b39..f654cb1 100644
--- a/src/crypto/fipsmodule/aes/aes.c
+++ b/src/crypto/fipsmodule/aes/aes.c
@@ -6,7 +6,7 @@
  * are met:
  *
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
+ *    notice, this list of conditions and the following disclaimer.
  *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in
@@ -534,7 +534,8 @@
     // for 128-bit blocks, Rijndael never uses more than 10 rcon values
 };
 
-int AES_set_encrypt_key(const uint8_t *key, unsigned bits, AES_KEY *aeskey) {
+static int aes_nohw_set_encrypt_key(const uint8_t *key, unsigned bits,
+                                    AES_KEY *aeskey) {
   uint32_t *rk;
   int i = 0;
   uint32_t temp;
@@ -629,7 +630,8 @@
   return 0;
 }
 
-int AES_set_decrypt_key(const uint8_t *key, unsigned bits, AES_KEY *aeskey) {
+static int aes_nohw_set_decrypt_key(const uint8_t *key, unsigned bits,
+                                    AES_KEY *aeskey) {
   uint32_t *rk;
   int i, j, status;
   uint32_t temp;
@@ -677,12 +679,11 @@
   return 0;
 }
 
-void AES_encrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key) {
+static void aes_nohw_encrypt(const uint8_t *in, uint8_t *out,
+                             const AES_KEY *key) {
   const uint32_t *rk;
   uint32_t s0, s1, s2, s3, t0, t1, t2, t3;
-#ifndef FULL_UNROLL
   int r;
-#endif  // ?FULL_UNROLL
 
   assert(in && out && key);
   rk = key->rd_key;
@@ -693,130 +694,7 @@
   s1 = GETU32(in + 4) ^ rk[1];
   s2 = GETU32(in + 8) ^ rk[2];
   s3 = GETU32(in + 12) ^ rk[3];
-#ifdef FULL_UNROLL
-  // round 1:
-  t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^
-       Te3[s3 & 0xff] ^ rk[4];
-  t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^
-       Te3[s0 & 0xff] ^ rk[5];
-  t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^
-       Te3[s1 & 0xff] ^ rk[6];
-  t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^
-       Te3[s2 & 0xff] ^ rk[7];
-  // round 2:
-  s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^
-       Te3[t3 & 0xff] ^ rk[8];
-  s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^
-       Te3[t0 & 0xff] ^ rk[9];
-  s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^
-       Te3[t1 & 0xff] ^ rk[10];
-  s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^
-       Te3[t2 & 0xff] ^ rk[11];
-  // round 3:
-  t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^
-       Te3[s3 & 0xff] ^ rk[12];
-  t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^
-       Te3[s0 & 0xff] ^ rk[13];
-  t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^
-       Te3[s1 & 0xff] ^ rk[14];
-  t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^
-       Te3[s2 & 0xff] ^ rk[15];
-  // round 4:
-  s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^
-       Te3[t3 & 0xff] ^ rk[16];
-  s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^
-       Te3[t0 & 0xff] ^ rk[17];
-  s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^
-       Te3[t1 & 0xff] ^ rk[18];
-  s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^
-       Te3[t2 & 0xff] ^ rk[19];
-  // round 5:
-  t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^
-       Te3[s3 & 0xff] ^ rk[20];
-  t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^
-       Te3[s0 & 0xff] ^ rk[21];
-  t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^
-       Te3[s1 & 0xff] ^ rk[22];
-  t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^
-       Te3[s2 & 0xff] ^ rk[23];
-  // round 6:
-  s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^
-       Te3[t3 & 0xff] ^ rk[24];
-  s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^
-       Te3[t0 & 0xff] ^ rk[25];
-  s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^
-       Te3[t1 & 0xff] ^ rk[26];
-  s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^
-       Te3[t2 & 0xff] ^ rk[27];
-  // round 7:
-  t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^
-       Te3[s3 & 0xff] ^ rk[28];
-  t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^
-       Te3[s0 & 0xff] ^ rk[29];
-  t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^
-       Te3[s1 & 0xff] ^ rk[30];
-  t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^
-       Te3[s2 & 0xff] ^ rk[31];
-  // round 8:
-  s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^
-       Te3[t3 & 0xff] ^ rk[32];
-  s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^
-       Te3[t0 & 0xff] ^ rk[33];
-  s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^
-       Te3[t1 & 0xff] ^ rk[34];
-  s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^
-       Te3[t2 & 0xff] ^ rk[35];
-  // round 9:
-  t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^
-       Te3[s3 & 0xff] ^ rk[36];
-  t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^
-       Te3[s0 & 0xff] ^ rk[37];
-  t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^
-       Te3[s1 & 0xff] ^ rk[38];
-  t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^
-       Te3[s2 & 0xff] ^ rk[39];
-  if (key->rounds > 10) {
-    // round 10:
-    s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^
-         Te3[t3 & 0xff] ^ rk[40];
-    s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^
-         Te3[t0 & 0xff] ^ rk[41];
-    s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^
-         Te3[t1 & 0xff] ^ rk[42];
-    s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^
-         Te3[t2 & 0xff] ^ rk[43];
-    // round 11:
-    t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^
-         Te3[s3 & 0xff] ^ rk[44];
-    t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^
-         Te3[s0 & 0xff] ^ rk[45];
-    t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^
-         Te3[s1 & 0xff] ^ rk[46];
-    t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^
-         Te3[s2 & 0xff] ^ rk[47];
-    if (key->rounds > 12) {
-      // round 12:
-      s0 = Te0[t0 >> 24] ^ Te1[(t1 >> 16) & 0xff] ^ Te2[(t2 >> 8) & 0xff] ^
-           Te3[t3 & 0xff] ^ rk[48];
-      s1 = Te0[t1 >> 24] ^ Te1[(t2 >> 16) & 0xff] ^ Te2[(t3 >> 8) & 0xff] ^
-           Te3[t0 & 0xff] ^ rk[49];
-      s2 = Te0[t2 >> 24] ^ Te1[(t3 >> 16) & 0xff] ^ Te2[(t0 >> 8) & 0xff] ^
-           Te3[t1 & 0xff] ^ rk[50];
-      s3 = Te0[t3 >> 24] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^
-           Te3[t2 & 0xff] ^ rk[51];
-      // round 13:
-      t0 = Te0[s0 >> 24] ^ Te1[(s1 >> 16) & 0xff] ^ Te2[(s2 >> 8) & 0xff] ^
-           Te3[s3 & 0xff] ^ rk[52];
-      t1 = Te0[s1 >> 24] ^ Te1[(s2 >> 16) & 0xff] ^ Te2[(s3 >> 8) & 0xff] ^
-           Te3[s0 & 0xff] ^ rk[53];
-      t2 = Te0[s2 >> 24] ^ Te1[(s3 >> 16) & 0xff] ^ Te2[(s0 >> 8) & 0xff] ^
-           Te3[s1 & 0xff] ^ rk[54];
-      t3 = Te0[s3 >> 24] ^ Te1[(s0 >> 16) & 0xff] ^ Te2[(s1 >> 8) & 0xff] ^
-           Te3[s2 & 0xff] ^ rk[55];
-    }
-  }
-  rk += key->rounds << 2;
-#else  // !FULL_UNROLL
+
   // Nr - 1 full rounds:
   r = key->rounds >> 1;
   for (;;) {
@@ -843,7 +721,7 @@
     s3 = Te0[(t3 >> 24)] ^ Te1[(t0 >> 16) & 0xff] ^ Te2[(t1 >> 8) & 0xff] ^
          Te3[(t2) & 0xff] ^ rk[3];
   }
-#endif  // ?FULL_UNROLL
+
   //  apply last round and map cipher state to byte array block:
   s0 = (Te2[(t0 >> 24)] & 0xff000000) ^ (Te3[(t1 >> 16) & 0xff] & 0x00ff0000) ^
        (Te0[(t2 >> 8) & 0xff] & 0x0000ff00) ^ (Te1[(t3) & 0xff] & 0x000000ff) ^
@@ -863,12 +741,11 @@
   PUTU32(out + 12, s3);
 }
 
-void AES_decrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key) {
+static void aes_nohw_decrypt(const uint8_t *in, uint8_t *out,
+                             const AES_KEY *key) {
   const uint32_t *rk;
   uint32_t s0, s1, s2, s3, t0, t1, t2, t3;
-#ifndef FULL_UNROLL
   int r;
-#endif  // ?FULL_UNROLL
 
   assert(in && out && key);
   rk = key->rd_key;
@@ -879,130 +756,7 @@
   s1 = GETU32(in + 4) ^ rk[1];
   s2 = GETU32(in + 8) ^ rk[2];
   s3 = GETU32(in + 12) ^ rk[3];
-#ifdef FULL_UNROLL
-  // round 1:
-  t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >> 8) & 0xff] ^
-       Td3[s1 & 0xff] ^ rk[4];
-  t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >> 8) & 0xff] ^
-       Td3[s2 & 0xff] ^ rk[5];
-  t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >> 8) & 0xff] ^
-       Td3[s3 & 0xff] ^ rk[6];
-  t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >> 8) & 0xff] ^
-       Td3[s0 & 0xff] ^ rk[7];
-  // round 2:
-  s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >> 8) & 0xff] ^
-       Td3[t1 & 0xff] ^ rk[8];
-  s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >> 8) & 0xff] ^
-       Td3[t2 & 0xff] ^ rk[9];
-  s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >> 8) & 0xff] ^
-       Td3[t3 & 0xff] ^ rk[10];
-  s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >> 8) & 0xff] ^
-       Td3[t0 & 0xff] ^ rk[11];
-  // round 3:
-  t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >> 8) & 0xff] ^
-       Td3[s1 & 0xff] ^ rk[12];
-  t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >> 8) & 0xff] ^
-       Td3[s2 & 0xff] ^ rk[13];
-  t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >> 8) & 0xff] ^
-       Td3[s3 & 0xff] ^ rk[14];
-  t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >> 8) & 0xff] ^
-       Td3[s0 & 0xff] ^ rk[15];
-  // round 4:
-  s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >> 8) & 0xff] ^
-       Td3[t1 & 0xff] ^ rk[16];
-  s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >> 8) & 0xff] ^
-       Td3[t2 & 0xff] ^ rk[17];
-  s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >> 8) & 0xff] ^
-       Td3[t3 & 0xff] ^ rk[18];
-  s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >> 8) & 0xff] ^
-       Td3[t0 & 0xff] ^ rk[19];
-  // round 5:
-  t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >> 8) & 0xff] ^
-       Td3[s1 & 0xff] ^ rk[20];
-  t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >> 8) & 0xff] ^
-       Td3[s2 & 0xff] ^ rk[21];
-  t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >> 8) & 0xff] ^
-       Td3[s3 & 0xff] ^ rk[22];
-  t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >> 8) & 0xff] ^
-       Td3[s0 & 0xff] ^ rk[23];
-  // round 6:
-  s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >> 8) & 0xff] ^
-       Td3[t1 & 0xff] ^ rk[24];
-  s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >> 8) & 0xff] ^
-       Td3[t2 & 0xff] ^ rk[25];
-  s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >> 8) & 0xff] ^
-       Td3[t3 & 0xff] ^ rk[26];
-  s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >> 8) & 0xff] ^
-       Td3[t0 & 0xff] ^ rk[27];
-  // round 7:
-  t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >> 8) & 0xff] ^
-       Td3[s1 & 0xff] ^ rk[28];
-  t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >> 8) & 0xff] ^
-       Td3[s2 & 0xff] ^ rk[29];
-  t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >> 8) & 0xff] ^
-       Td3[s3 & 0xff] ^ rk[30];
-  t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >> 8) & 0xff] ^
-       Td3[s0 & 0xff] ^ rk[31];
-  // round 8:
-  s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >> 8) & 0xff] ^
-       Td3[t1 & 0xff] ^ rk[32];
-  s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >> 8) & 0xff] ^
-       Td3[t2 & 0xff] ^ rk[33];
-  s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >> 8) & 0xff] ^
-       Td3[t3 & 0xff] ^ rk[34];
-  s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >> 8) & 0xff] ^
-       Td3[t0 & 0xff] ^ rk[35];
-  // round 9:
-  t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >> 8) & 0xff] ^
-       Td3[s1 & 0xff] ^ rk[36];
-  t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >> 8) & 0xff] ^
-       Td3[s2 & 0xff] ^ rk[37];
-  t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >> 8) & 0xff] ^
-       Td3[s3 & 0xff] ^ rk[38];
-  t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >> 8) & 0xff] ^
-       Td3[s0 & 0xff] ^ rk[39];
-  if (key->rounds > 10) {
-    // round 10:
-    s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >> 8) & 0xff] ^
-         Td3[t1 & 0xff] ^ rk[40];
-    s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >> 8) & 0xff] ^
-         Td3[t2 & 0xff] ^ rk[41];
-    s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >> 8) & 0xff] ^
-         Td3[t3 & 0xff] ^ rk[42];
-    s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >> 8) & 0xff] ^
-         Td3[t0 & 0xff] ^ rk[43];
-    // round 11:
-    t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >> 8) & 0xff] ^
-         Td3[s1 & 0xff] ^ rk[44];
-    t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >> 8) & 0xff] ^
-         Td3[s2 & 0xff] ^ rk[45];
-    t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >> 8) & 0xff] ^
-         Td3[s3 & 0xff] ^ rk[46];
-    t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >> 8) & 0xff] ^
-         Td3[s0 & 0xff] ^ rk[47];
-    if (key->rounds > 12) {
-      // round 12:
-      s0 = Td0[t0 >> 24] ^ Td1[(t3 >> 16) & 0xff] ^ Td2[(t2 >> 8) & 0xff] ^
-           Td3[t1 & 0xff] ^ rk[48];
-      s1 = Td0[t1 >> 24] ^ Td1[(t0 >> 16) & 0xff] ^ Td2[(t3 >> 8) & 0xff] ^
-           Td3[t2 & 0xff] ^ rk[49];
-      s2 = Td0[t2 >> 24] ^ Td1[(t1 >> 16) & 0xff] ^ Td2[(t0 >> 8) & 0xff] ^
-           Td3[t3 & 0xff] ^ rk[50];
-      s3 = Td0[t3 >> 24] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >> 8) & 0xff] ^
-           Td3[t0 & 0xff] ^ rk[51];
-      // round 13:
-      t0 = Td0[s0 >> 24] ^ Td1[(s3 >> 16) & 0xff] ^ Td2[(s2 >> 8) & 0xff] ^
-           Td3[s1 & 0xff] ^ rk[52];
-      t1 = Td0[s1 >> 24] ^ Td1[(s0 >> 16) & 0xff] ^ Td2[(s3 >> 8) & 0xff] ^
-           Td3[s2 & 0xff] ^ rk[53];
-      t2 = Td0[s2 >> 24] ^ Td1[(s1 >> 16) & 0xff] ^ Td2[(s0 >> 8) & 0xff] ^
-           Td3[s3 & 0xff] ^ rk[54];
-      t3 = Td0[s3 >> 24] ^ Td1[(s2 >> 16) & 0xff] ^ Td2[(s1 >> 8) & 0xff] ^
-           Td3[s0 & 0xff] ^ rk[55];
-    }
-  }
-  rk += key->rounds << 2;
-#else  // !FULL_UNROLL
+
   // Nr - 1 full rounds:
   r = key->rounds >> 1;
   for (;;) {
@@ -1029,7 +783,7 @@
     s3 = Td0[(t3 >> 24)] ^ Td1[(t2 >> 16) & 0xff] ^ Td2[(t1 >> 8) & 0xff] ^
          Td3[(t0) & 0xff] ^ rk[3];
   }
-#endif  // ?FULL_UNROLL
+
   // apply last round and
   // map cipher state to byte array block:
   s0 = ((uint32_t)Td4[(t0 >> 24)] << 24) ^
@@ -1054,47 +808,52 @@
   PUTU32(out + 12, s3);
 }
 
-#else
+#else  // NO_ASM || (!X86 && !X86_64 && !ARM)
 
-// In this case several functions are provided by asm code. However, one cannot
-// control asm symbol visibility with command line flags and such so they are
-// always hidden and wrapped by these C functions, which can be so
-// controlled.
+// If not implemented in C, these functions will be provided by assembly code.
+void aes_nohw_encrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key);
+void aes_nohw_decrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key);
+int aes_nohw_set_encrypt_key(const uint8_t *key, unsigned bits,
+                             AES_KEY *aeskey);
+int aes_nohw_set_decrypt_key(const uint8_t *key, unsigned bits,
+                             AES_KEY *aeskey);
 
-void asm_AES_encrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key);
+#endif
+
+// Be aware that on x86(-64), the |aes_nohw_*| functions are incompatible with
+// the aes_hw_* functions. The latter set |AES_KEY.rounds| to one less than the
+// true value, which breaks the former. Therefore the two functions cannot mix.
+// Also, on Aarch64, the plain-C code, above, is incompatible with the
+// |aes_hw_*| functions.
+
 void AES_encrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key) {
   if (hwaes_capable()) {
     aes_hw_encrypt(in, out, key);
   } else {
-    asm_AES_encrypt(in, out, key);
+    aes_nohw_encrypt(in, out, key);
   }
 }
 
-void asm_AES_decrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key);
 void AES_decrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key) {
   if (hwaes_capable()) {
     aes_hw_decrypt(in, out, key);
   } else {
-    asm_AES_decrypt(in, out, key);
+    aes_nohw_decrypt(in, out, key);
   }
 }
 
-int asm_AES_set_encrypt_key(const uint8_t *key, unsigned bits, AES_KEY *aeskey);
 int AES_set_encrypt_key(const uint8_t *key, unsigned bits, AES_KEY *aeskey) {
   if (hwaes_capable()) {
     return aes_hw_set_encrypt_key(key, bits, aeskey);
   } else {
-    return asm_AES_set_encrypt_key(key, bits, aeskey);
+    return aes_nohw_set_encrypt_key(key, bits, aeskey);
   }
 }
 
-int asm_AES_set_decrypt_key(const uint8_t *key, unsigned bits, AES_KEY *aeskey);
 int AES_set_decrypt_key(const uint8_t *key, unsigned bits, AES_KEY *aeskey) {
   if (hwaes_capable()) {
     return aes_hw_set_decrypt_key(key, bits, aeskey);
   } else {
-    return asm_AES_set_decrypt_key(key, bits, aeskey);
+    return aes_nohw_set_decrypt_key(key, bits, aeskey);
   }
 }
-
-#endif  // OPENSSL_NO_ASM || (!OPENSSL_X86 && !OPENSSL_X86_64 && !OPENSSL_ARM)
diff --git a/src/crypto/fipsmodule/aes/aes_test.cc b/src/crypto/fipsmodule/aes/aes_test.cc
index 73ae255..ccec597 100644
--- a/src/crypto/fipsmodule/aes/aes_test.cc
+++ b/src/crypto/fipsmodule/aes/aes_test.cc
@@ -13,6 +13,7 @@
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
 
 #include <stdio.h>
+#include <stdlib.h>
 #include <string.h>
 
 #include <memory>
@@ -25,6 +26,7 @@
 #include "../../internal.h"
 #include "../../test/file_test.h"
 #include "../../test/test_util.h"
+#include "../../test/wycheproof_util.h"
 
 
 static void TestRaw(FileTest *t) {
@@ -129,3 +131,58 @@
     }
   });
 }
+
+TEST(AESTest, WycheproofKeyWrap) {
+  FileTestGTest("third_party/wycheproof_testvectors/kw_test.txt",
+                [](FileTest *t) {
+    std::string key_size;
+    ASSERT_TRUE(t->GetInstruction(&key_size, "keySize"));
+    std::vector<uint8_t> ct, key, msg;
+    ASSERT_TRUE(t->GetBytes(&ct, "ct"));
+    ASSERT_TRUE(t->GetBytes(&key, "key"));
+    ASSERT_TRUE(t->GetBytes(&msg, "msg"));
+    ASSERT_EQ(static_cast<unsigned>(atoi(key_size.c_str())), key.size() * 8);
+    WycheproofResult result;
+    ASSERT_TRUE(GetWycheproofResult(t, &result));
+
+    if (result != WycheproofResult::kInvalid) {
+      ASSERT_GE(ct.size(), 8u);
+
+      AES_KEY aes;
+      ASSERT_EQ(0, AES_set_decrypt_key(key.data(), 8 * key.size(), &aes));
+      std::vector<uint8_t> out(ct.size() - 8);
+      int len = AES_unwrap_key(&aes, nullptr, out.data(), ct.data(), ct.size());
+      ASSERT_EQ(static_cast<int>(out.size()), len);
+      EXPECT_EQ(Bytes(msg), Bytes(out));
+
+      out.resize(msg.size() + 8);
+      ASSERT_EQ(0, AES_set_encrypt_key(key.data(), 8 * key.size(), &aes));
+      len = AES_wrap_key(&aes, nullptr, out.data(), msg.data(), msg.size());
+      ASSERT_EQ(static_cast<int>(out.size()), len);
+      EXPECT_EQ(Bytes(ct), Bytes(out));
+    } else {
+      AES_KEY aes;
+      ASSERT_EQ(0, AES_set_decrypt_key(key.data(), 8 * key.size(), &aes));
+      std::vector<uint8_t> out(ct.size() < 8 ? 0 : ct.size() - 8);
+      int len = AES_unwrap_key(&aes, nullptr, out.data(), ct.data(), ct.size());
+      EXPECT_EQ(-1, len);
+    }
+  });
+}
+
+TEST(AESTest, WrapBadLengths) {
+  uint8_t key[128/8] = {0};
+  AES_KEY aes;
+  ASSERT_EQ(0, AES_set_encrypt_key(key, 128, &aes));
+
+  // Input lengths to |AES_wrap_key| must be a multiple of 8 and at least 16.
+  static const size_t kLengths[] = {0, 1,  2,  3,  4,  5,  6,  7, 8,
+                                    9, 10, 11, 12, 13, 14, 15, 20};
+  for (size_t len : kLengths) {
+    SCOPED_TRACE(len);
+    std::vector<uint8_t> in(len);
+    std::vector<uint8_t> out(len + 8);
+    EXPECT_EQ(-1,
+              AES_wrap_key(&aes, nullptr, out.data(), in.data(), in.size()));
+  }
+}
diff --git a/src/crypto/fipsmodule/aes/asm/aes-586.pl b/src/crypto/fipsmodule/aes/asm/aes-586.pl
index 09483d9..25f1813 100755
--- a/src/crypto/fipsmodule/aes/asm/aes-586.pl
+++ b/src/crypto/fipsmodule/aes/asm/aes-586.pl
@@ -1172,8 +1172,8 @@
 	&data_word(0x00000000, 0x00000000, 0x00000000, 0x00000000);
 &function_end_B("_x86_AES_encrypt");
 
-# void asm_AES_encrypt (const void *inp,void *out,const AES_KEY *key);
-&function_begin("asm_AES_encrypt");
+# void aes_nohw_encrypt (const void *inp,void *out,const AES_KEY *key);
+&function_begin("aes_nohw_encrypt");
 	&mov	($acc,&wparam(0));		# load inp
 	&mov	($key,&wparam(2));		# load key
 
@@ -1229,7 +1229,7 @@
 	&mov	(&DWP(4,$acc),$s1);
 	&mov	(&DWP(8,$acc),$s2);
 	&mov	(&DWP(12,$acc),$s3);
-&function_end("asm_AES_encrypt");
+&function_end("aes_nohw_encrypt");
 
 #--------------------------------------------------------------------#
 
@@ -1963,8 +1963,8 @@
 	&data_byte(0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d);
 &function_end_B("_x86_AES_decrypt");
 
-# void asm_AES_decrypt (const void *inp,void *out,const AES_KEY *key);
-&function_begin("asm_AES_decrypt");
+# void aes_nohw_decrypt (const void *inp,void *out,const AES_KEY *key);
+&function_begin("aes_nohw_decrypt");
 	&mov	($acc,&wparam(0));		# load inp
 	&mov	($key,&wparam(2));		# load key
 
@@ -2020,9 +2020,9 @@
 	&mov	(&DWP(4,$acc),$s1);
 	&mov	(&DWP(8,$acc),$s2);
 	&mov	(&DWP(12,$acc),$s3);
-&function_end("asm_AES_decrypt");
+&function_end("aes_nohw_decrypt");
 
-# void asm_AES_cbc_encrypt (const void char *inp, unsigned char *out,
+# void aes_nohw_cbc_encrypt (const void char *inp, unsigned char *out,
 #			    size_t length, const AES_KEY *key,
 #			    unsigned char *ivp,const int enc);
 {
@@ -2047,7 +2047,7 @@
 my $aes_key=&DWP(76,"esp");	# copy of aes_key
 my $mark=&DWP(76+240,"esp");	# copy of aes_key->rounds
 
-&function_begin("asm_AES_cbc_encrypt");
+&function_begin("aes_nohw_cbc_encrypt");
 	&mov	($s2 eq "ecx"? $s2 : "",&wparam(2));	# load len
 	&cmp	($s2,0);
 	&je	(&label("drop_out"));
@@ -2638,7 +2638,7 @@
 
 	&mov	("esp",$_esp);
 	&popf	();
-&function_end("asm_AES_cbc_encrypt");
+&function_end("aes_nohw_cbc_encrypt");
 }
 
 #------------------------------------------------------------------#
@@ -2872,12 +2872,12 @@
     &set_label("exit");
 &function_end("_x86_AES_set_encrypt_key");
 
-# int asm_AES_set_encrypt_key(const unsigned char *userKey, const int bits,
-#                             AES_KEY *key)
-&function_begin_B("asm_AES_set_encrypt_key");
+# int aes_nohw_set_encrypt_key(const unsigned char *userKey, const int bits,
+#                              AES_KEY *key)
+&function_begin_B("aes_nohw_set_encrypt_key");
 	&call	("_x86_AES_set_encrypt_key");
 	&ret	();
-&function_end_B("asm_AES_set_encrypt_key");
+&function_end_B("aes_nohw_set_encrypt_key");
 
 sub deckey()
 { my ($i,$key,$tp1,$tp2,$tp4,$tp8) = @_;
@@ -2934,9 +2934,9 @@
 	&mov	(&DWP(4*$i,$key),$tp1);
 }
 
-# int asm_AES_set_decrypt_key(const unsigned char *userKey, const int bits,
-#                             AES_KEY *key)
-&function_begin_B("asm_AES_set_decrypt_key");
+# int aes_nohw_set_decrypt_key(const unsigned char *userKey, const int bits,
+#                              AES_KEY *key)
+&function_begin_B("aes_nohw_set_decrypt_key");
 	&call	("_x86_AES_set_encrypt_key");
 	&cmp	("eax",0);
 	&je	(&label("proceed"));
@@ -2992,7 +2992,7 @@
 	&jb	(&label("permute"));
 
 	&xor	("eax","eax");			# return success
-&function_end("asm_AES_set_decrypt_key");
+&function_end("aes_nohw_set_decrypt_key");
 &asciz("AES for x86, CRYPTOGAMS by <appro\@openssl.org>");
 
 &asm_finish();
diff --git a/src/crypto/fipsmodule/aes/asm/aes-armv4.pl b/src/crypto/fipsmodule/aes/asm/aes-armv4.pl
index 4b507dd..f4ae922 100644
--- a/src/crypto/fipsmodule/aes/asm/aes-armv4.pl
+++ b/src/crypto/fipsmodule/aes/asm/aes-armv4.pl
@@ -196,14 +196,14 @@
 .word	0x1B000000, 0x36000000, 0, 0, 0, 0, 0, 0
 .size	AES_Te,.-AES_Te
 
-@ void asm_AES_encrypt(const unsigned char *in, unsigned char *out,
-@ 		       const AES_KEY *key) {
-.global asm_AES_encrypt
-.type   asm_AES_encrypt,%function
+@ void aes_nohw_encrypt(const unsigned char *in, unsigned char *out,
+@ 		                  const AES_KEY *key) {
+.global aes_nohw_encrypt
+.type   aes_nohw_encrypt,%function
 .align	5
-asm_AES_encrypt:
+aes_nohw_encrypt:
 #ifndef	__thumb2__
-	sub	r3,pc,#8		@ asm_AES_encrypt
+	sub	r3,pc,#8		@ aes_nohw_encrypt
 #else
 	adr	r3,.
 #endif
@@ -211,7 +211,7 @@
 #if defined(__thumb2__) || defined(__APPLE__)
 	adr	$tbl,AES_Te
 #else
-	sub	$tbl,r3,#asm_AES_encrypt-AES_Te	@ Te
+	sub	$tbl,r3,#aes_nohw_encrypt-AES_Te	@ Te
 #endif
 	mov	$rounds,r0		@ inp
 	mov	$key,r2
@@ -308,7 +308,7 @@
 	moveq	pc,lr			@ be binary compatible with V4, yet
 	bx	lr			@ interoperable with Thumb ISA:-)
 #endif
-.size	asm_AES_encrypt,.-asm_AES_encrypt
+.size	aes_nohw_encrypt,.-aes_nohw_encrypt
 
 .type   _armv4_AES_encrypt,%function
 .align	2
@@ -447,13 +447,13 @@
 	ldr	pc,[sp],#4		@ pop and return
 .size	_armv4_AES_encrypt,.-_armv4_AES_encrypt
 
-.global asm_AES_set_encrypt_key
-.type   asm_AES_set_encrypt_key,%function
+.global aes_nohw_set_encrypt_key
+.type   aes_nohw_set_encrypt_key,%function
 .align	5
-asm_AES_set_encrypt_key:
+aes_nohw_set_encrypt_key:
 _armv4_AES_set_encrypt_key:
 #ifndef	__thumb2__
-	sub	r3,pc,#8		@ asm_AES_set_encrypt_key
+	sub	r3,pc,#8		@ aes_nohw_set_encrypt_key
 #else
 	adr	r3,.
 #endif
@@ -751,22 +751,22 @@
 	moveq	pc,lr			@ be binary compatible with V4, yet
 	bx	lr			@ interoperable with Thumb ISA:-)
 #endif
-.size	asm_AES_set_encrypt_key,.-asm_AES_set_encrypt_key
+.size	aes_nohw_set_encrypt_key,.-aes_nohw_set_encrypt_key
 
-.global asm_AES_set_decrypt_key
-.type   asm_AES_set_decrypt_key,%function
+.global aes_nohw_set_decrypt_key
+.type   aes_nohw_set_decrypt_key,%function
 .align	5
-asm_AES_set_decrypt_key:
+aes_nohw_set_decrypt_key:
 	str	lr,[sp,#-4]!            @ push lr
 	bl	_armv4_AES_set_encrypt_key
 	teq	r0,#0
 	ldr	lr,[sp],#4              @ pop lr
 	bne	.Labrt
 
-	mov	r0,r2			@ asm_AES_set_encrypt_key preserves r2,
+	mov	r0,r2			@ aes_nohw_set_encrypt_key preserves r2,
 	mov	r1,r2			@ which is AES_KEY *key
 	b	_armv4_AES_set_enc2dec_key
-.size	asm_AES_set_decrypt_key,.-asm_AES_set_decrypt_key
+.size	aes_nohw_set_decrypt_key,.-aes_nohw_set_decrypt_key
 
 @ void AES_set_enc2dec_key(const AES_KEY *inp,AES_KEY *out)
 .global	AES_set_enc2dec_key
@@ -972,14 +972,14 @@
 .byte	0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d
 .size	AES_Td,.-AES_Td
 
-@ void asm_AES_decrypt(const unsigned char *in, unsigned char *out,
-@ 		       const AES_KEY *key) {
-.global asm_AES_decrypt
-.type   asm_AES_decrypt,%function
+@ void aes_nohw_decrypt(const unsigned char *in, unsigned char *out,
+@ 		                  const AES_KEY *key) {
+.global aes_nohw_decrypt
+.type   aes_nohw_decrypt,%function
 .align	5
-asm_AES_decrypt:
+aes_nohw_decrypt:
 #ifndef	__thumb2__
-	sub	r3,pc,#8		@ asm_AES_decrypt
+	sub	r3,pc,#8		@ aes_nohw_decrypt
 #else
 	adr	r3,.
 #endif
@@ -987,7 +987,7 @@
 #if defined(__thumb2__) || defined(__APPLE__)
 	adr	$tbl,AES_Td
 #else
-	sub	$tbl,r3,#asm_AES_decrypt-AES_Td	@ Td
+	sub	$tbl,r3,#aes_nohw_decrypt-AES_Td	@ Td
 #endif
 	mov	$rounds,r0		@ inp
 	mov	$key,r2
@@ -1084,7 +1084,7 @@
 	moveq	pc,lr			@ be binary compatible with V4, yet
 	bx	lr			@ interoperable with Thumb ISA:-)
 #endif
-.size	asm_AES_decrypt,.-asm_AES_decrypt
+.size	aes_nohw_decrypt,.-aes_nohw_decrypt
 
 .type   _armv4_AES_decrypt,%function
 .align	2
diff --git a/src/crypto/fipsmodule/aes/asm/aes-x86_64.pl b/src/crypto/fipsmodule/aes/asm/aes-x86_64.pl
index 8b74ef0..57c4e08 100755
--- a/src/crypto/fipsmodule/aes/asm/aes-x86_64.pl
+++ b/src/crypto/fipsmodule/aes/asm/aes-x86_64.pl
@@ -590,13 +590,13 @@
 .size	_x86_64_AES_encrypt_compact,.-_x86_64_AES_encrypt_compact
 ___
 
-# void asm_AES_encrypt (const void *inp,void *out,const AES_KEY *key);
+# void aes_nohw_encrypt (const void *inp,void *out,const AES_KEY *key);
 $code.=<<___;
 .align	16
-.globl	asm_AES_encrypt
-.type	asm_AES_encrypt,\@function,3
-.hidden	asm_AES_encrypt
-asm_AES_encrypt:
+.globl	aes_nohw_encrypt
+.type	aes_nohw_encrypt,\@function,3
+.hidden	aes_nohw_encrypt
+aes_nohw_encrypt:
 .cfi_startproc
 	mov	%rsp,%rax
 .cfi_def_cfa_register	%rax
@@ -674,7 +674,7 @@
 .Lenc_epilogue:
 	ret
 .cfi_endproc
-.size	asm_AES_encrypt,.-asm_AES_encrypt
+.size	aes_nohw_encrypt,.-aes_nohw_encrypt
 ___
 
 #------------------------------------------------------------------#
@@ -1204,13 +1204,13 @@
 .size	_x86_64_AES_decrypt_compact,.-_x86_64_AES_decrypt_compact
 ___
 
-# void asm_AES_decrypt (const void *inp,void *out,const AES_KEY *key);
+# void aes_nohw_decrypt (const void *inp,void *out,const AES_KEY *key);
 $code.=<<___;
 .align	16
-.globl	asm_AES_decrypt
-.type	asm_AES_decrypt,\@function,3
-.hidden	asm_AES_decrypt
-asm_AES_decrypt:
+.globl	aes_nohw_decrypt
+.type	aes_nohw_decrypt,\@function,3
+.hidden	aes_nohw_decrypt
+aes_nohw_decrypt:
 .cfi_startproc
 	mov	%rsp,%rax
 .cfi_def_cfa_register	%rax
@@ -1290,7 +1290,7 @@
 .Ldec_epilogue:
 	ret
 .cfi_endproc
-.size	asm_AES_decrypt,.-asm_AES_decrypt
+.size	aes_nohw_decrypt,.-aes_nohw_decrypt
 ___
 #------------------------------------------------------------------#
 
@@ -1321,12 +1321,12 @@
 ___
 }
 
-# int asm_AES_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key)
+# int aes_nohw_set_encrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key)
 $code.=<<___;
 .align	16
-.globl asm_AES_set_encrypt_key
-.type  asm_AES_set_encrypt_key,\@function,3
-asm_AES_set_encrypt_key:
+.globl aes_nohw_set_encrypt_key
+.type  aes_nohw_set_encrypt_key,\@function,3
+aes_nohw_set_encrypt_key:
 .cfi_startproc
 	push	%rbx
 .cfi_push	%rbx
@@ -1355,7 +1355,7 @@
 .Lenc_key_epilogue:
 	ret
 .cfi_endproc
-.size asm_AES_set_encrypt_key,.-asm_AES_set_encrypt_key
+.size aes_nohw_set_encrypt_key,.-aes_nohw_set_encrypt_key
 
 .type	_x86_64_AES_set_encrypt_key,\@abi-omnipotent
 .align	16
@@ -1598,12 +1598,12 @@
 ___
 }
 
-# int asm_AES_set_decrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key)
+# int aes_nohw_set_decrypt_key(const unsigned char *userKey, const int bits, AES_KEY *key)
 $code.=<<___;
 .align	16
-.globl asm_AES_set_decrypt_key
-.type  asm_AES_set_decrypt_key,\@function,3
-asm_AES_set_decrypt_key:
+.globl aes_nohw_set_decrypt_key
+.type  aes_nohw_set_decrypt_key,\@function,3
+aes_nohw_set_decrypt_key:
 .cfi_startproc
 	push	%rbx
 .cfi_push	%rbx
@@ -1688,12 +1688,12 @@
 .Ldec_key_epilogue:
 	ret
 .cfi_endproc
-.size	asm_AES_set_decrypt_key,.-asm_AES_set_decrypt_key
+.size	aes_nohw_set_decrypt_key,.-aes_nohw_set_decrypt_key
 ___
 
-# void asm_AES_cbc_encrypt (const void char *inp, unsigned char *out,
-#			    size_t length, const AES_KEY *key,
-#			    unsigned char *ivp,const int enc);
+# void aes_nohw_cbc_encrypt (const void char *inp, unsigned char *out,
+#			                       size_t length, const AES_KEY *key,
+#			                       unsigned char *ivp,const int enc);
 {
 # stack frame layout
 # -8(%rsp)		return address
@@ -1711,11 +1711,11 @@
 
 $code.=<<___;
 .align	16
-.globl	asm_AES_cbc_encrypt
-.type	asm_AES_cbc_encrypt,\@function,6
+.globl	aes_nohw_cbc_encrypt
+.type	aes_nohw_cbc_encrypt,\@function,6
 .extern	OPENSSL_ia32cap_P
-.hidden	asm_AES_cbc_encrypt
-asm_AES_cbc_encrypt:
+.hidden	aes_nohw_cbc_encrypt
+aes_nohw_cbc_encrypt:
 .cfi_startproc
 	cmp	\$0,%rdx	# check length
 	je	.Lcbc_epilogue
@@ -2184,7 +2184,7 @@
 .Lcbc_epilogue:
 	ret
 .cfi_endproc
-.size	asm_AES_cbc_encrypt,.-asm_AES_cbc_encrypt
+.size	aes_nohw_cbc_encrypt,.-aes_nohw_cbc_encrypt
 ___
 }
 
@@ -2844,45 +2844,45 @@
 
 .section	.pdata
 .align	4
-	.rva	.LSEH_begin_asm_AES_encrypt
-	.rva	.LSEH_end_asm_AES_encrypt
-	.rva	.LSEH_info_asm_AES_encrypt
+	.rva	.LSEH_begin_aes_nohw_encrypt
+	.rva	.LSEH_end_aes_nohw_encrypt
+	.rva	.LSEH_info_aes_nohw_encrypt
 
-	.rva	.LSEH_begin_asm_AES_decrypt
-	.rva	.LSEH_end_asm_AES_decrypt
-	.rva	.LSEH_info_asm_AES_decrypt
+	.rva	.LSEH_begin_aes_nohw_decrypt
+	.rva	.LSEH_end_aes_nohw_decrypt
+	.rva	.LSEH_info_aes_nohw_decrypt
 
-	.rva	.LSEH_begin_asm_AES_set_encrypt_key
-	.rva	.LSEH_end_asm_AES_set_encrypt_key
-	.rva	.LSEH_info_asm_AES_set_encrypt_key
+	.rva	.LSEH_begin_aes_nohw_set_encrypt_key
+	.rva	.LSEH_end_aes_nohw_set_encrypt_key
+	.rva	.LSEH_info_aes_nohw_set_encrypt_key
 
-	.rva	.LSEH_begin_asm_AES_set_decrypt_key
-	.rva	.LSEH_end_asm_AES_set_decrypt_key
-	.rva	.LSEH_info_asm_AES_set_decrypt_key
+	.rva	.LSEH_begin_aes_nohw_set_decrypt_key
+	.rva	.LSEH_end_aes_nohw_set_decrypt_key
+	.rva	.LSEH_info_aes_nohw_set_decrypt_key
 
-	.rva	.LSEH_begin_asm_AES_cbc_encrypt
-	.rva	.LSEH_end_asm_AES_cbc_encrypt
-	.rva	.LSEH_info_asm_AES_cbc_encrypt
+	.rva	.LSEH_begin_aes_nohw_cbc_encrypt
+	.rva	.LSEH_end_aes_nohw_cbc_encrypt
+	.rva	.LSEH_info_aes_nohw_cbc_encrypt
 
 .section	.xdata
 .align	8
-.LSEH_info_asm_AES_encrypt:
+.LSEH_info_aes_nohw_encrypt:
 	.byte	9,0,0,0
 	.rva	block_se_handler
 	.rva	.Lenc_prologue,.Lenc_epilogue	# HandlerData[]
-.LSEH_info_asm_AES_decrypt:
+.LSEH_info_aes_nohw_decrypt:
 	.byte	9,0,0,0
 	.rva	block_se_handler
 	.rva	.Ldec_prologue,.Ldec_epilogue	# HandlerData[]
-.LSEH_info_asm_AES_set_encrypt_key:
+.LSEH_info_aes_nohw_set_encrypt_key:
 	.byte	9,0,0,0
 	.rva	key_se_handler
 	.rva	.Lenc_key_prologue,.Lenc_key_epilogue	# HandlerData[]
-.LSEH_info_asm_AES_set_decrypt_key:
+.LSEH_info_aes_nohw_set_decrypt_key:
 	.byte	9,0,0,0
 	.rva	key_se_handler
 	.rva	.Ldec_key_prologue,.Ldec_key_epilogue	# HandlerData[]
-.LSEH_info_asm_AES_cbc_encrypt:
+.LSEH_info_aes_nohw_cbc_encrypt:
 	.byte	9,0,0,0
 	.rva	cbc_se_handler
 ___
diff --git a/src/crypto/fipsmodule/aes/asm/aesni-x86_64.pl b/src/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
index a186941..6545274 100644
--- a/src/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
+++ b/src/crypto/fipsmodule/aes/asm/aesni-x86_64.pl
@@ -188,7 +188,7 @@
 #	incurred by operations on %xmm8-15. As ECB is not considered
 #	critical, nothing was done to mitigate the problem.
 
-$PREFIX="aesni";	# if $PREFIX is set to "AES", the script
+$PREFIX="aes_hw";	# if $PREFIX is set to "AES", the script
 			# generates drop-in replacement for
 			# crypto/aes/asm/aes-x86_64.pl:-)
 
@@ -206,7 +206,7 @@
 open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
 *STDOUT=*OUT;
 
-$movkey = $PREFIX eq "aesni" ? "movups" : "movups";
+$movkey = $PREFIX eq "aes_hw" ? "movups" : "movups";
 @_4args=$win64?	("%rcx","%rdx","%r8", "%r9") :	# Win64 order
 		("%rdi","%rsi","%rdx","%rcx");	# Unix order
 
@@ -577,27 +577,27 @@
 .size	_aesni_${dir}rypt8,.-_aesni_${dir}rypt8
 ___
 }
-&aesni_generate2("enc") if ($PREFIX eq "aesni");
+&aesni_generate2("enc") if ($PREFIX eq "aes_hw");
 &aesni_generate2("dec");
-&aesni_generate3("enc") if ($PREFIX eq "aesni");
+&aesni_generate3("enc") if ($PREFIX eq "aes_hw");
 &aesni_generate3("dec");
-&aesni_generate4("enc") if ($PREFIX eq "aesni");
+&aesni_generate4("enc") if ($PREFIX eq "aes_hw");
 &aesni_generate4("dec");
-&aesni_generate6("enc") if ($PREFIX eq "aesni");
+&aesni_generate6("enc") if ($PREFIX eq "aes_hw");
 &aesni_generate6("dec");
-&aesni_generate8("enc") if ($PREFIX eq "aesni");
+&aesni_generate8("enc") if ($PREFIX eq "aes_hw");
 &aesni_generate8("dec");
 
-if ($PREFIX eq "aesni") {
+if ($PREFIX eq "aes_hw") {
 ########################################################################
 # void aesni_ecb_encrypt (const void *in, void *out,
 #			  size_t length, const AES_KEY *key,
 #			  int enc);
 $code.=<<___;
-.globl	aesni_ecb_encrypt
-.type	aesni_ecb_encrypt,\@function,5
+.globl	${PREFIX}_ecb_encrypt
+.type	${PREFIX}_ecb_encrypt,\@function,5
 .align	16
-aesni_ecb_encrypt:
+${PREFIX}_ecb_encrypt:
 ___
 $code.=<<___ if ($win64);
 	lea	-0x58(%rsp),%rsp
@@ -943,7 +943,7 @@
 ___
 $code.=<<___;
 	ret
-.size	aesni_ecb_encrypt,.-aesni_ecb_encrypt
+.size	${PREFIX}_ecb_encrypt,.-${PREFIX}_ecb_encrypt
 ___
 
 {
@@ -964,10 +964,10 @@
 my $bswap_mask="%xmm7";
 
 $code.=<<___;
-.globl	aesni_ccm64_encrypt_blocks
-.type	aesni_ccm64_encrypt_blocks,\@function,6
+.globl	${PREFIX}_ccm64_encrypt_blocks
+.type	${PREFIX}_ccm64_encrypt_blocks,\@function,6
 .align	16
-aesni_ccm64_encrypt_blocks:
+${PREFIX}_ccm64_encrypt_blocks:
 ___
 $code.=<<___ if ($win64);
 	lea	-0x58(%rsp),%rsp
@@ -1050,14 +1050,14 @@
 ___
 $code.=<<___;
 	ret
-.size	aesni_ccm64_encrypt_blocks,.-aesni_ccm64_encrypt_blocks
+.size	${PREFIX}_ccm64_encrypt_blocks,.-${PREFIX}_ccm64_encrypt_blocks
 ___
 ######################################################################
 $code.=<<___;
-.globl	aesni_ccm64_decrypt_blocks
-.type	aesni_ccm64_decrypt_blocks,\@function,6
+.globl	${PREFIX}_ccm64_decrypt_blocks
+.type	${PREFIX}_ccm64_decrypt_blocks,\@function,6
 .align	16
-aesni_ccm64_decrypt_blocks:
+${PREFIX}_ccm64_decrypt_blocks:
 ___
 $code.=<<___ if ($win64);
 	lea	-0x58(%rsp),%rsp
@@ -1157,7 +1157,7 @@
 ___
 $code.=<<___;
 	ret
-.size	aesni_ccm64_decrypt_blocks,.-aesni_ccm64_decrypt_blocks
+.size	${PREFIX}_ccm64_decrypt_blocks,.-${PREFIX}_ccm64_decrypt_blocks
 ___
 }
 ######################################################################
@@ -1178,10 +1178,10 @@
 my $frame_size = 0x80 + ($win64?160:0);
 
 $code.=<<___;
-.globl	aesni_ctr32_encrypt_blocks
-.type	aesni_ctr32_encrypt_blocks,\@function,5
+.globl	${PREFIX}_ctr32_encrypt_blocks
+.type	${PREFIX}_ctr32_encrypt_blocks,\@function,5
 .align	16
-aesni_ctr32_encrypt_blocks:
+${PREFIX}_ctr32_encrypt_blocks:
 .cfi_startproc
 	cmp	\$1,$len
 	jne	.Lctr32_bulk
@@ -1734,7 +1734,7 @@
 .Lctr32_epilogue:
 	ret
 .cfi_endproc
-.size	aesni_ctr32_encrypt_blocks,.-aesni_ctr32_encrypt_blocks
+.size	${PREFIX}_ctr32_encrypt_blocks,.-${PREFIX}_ctr32_encrypt_blocks
 ___
 }
 
@@ -1751,10 +1751,10 @@
 my $key_ = "%rbp";	# override so that we can use %r11 as FP
 
 $code.=<<___;
-.globl	aesni_xts_encrypt
-.type	aesni_xts_encrypt,\@function,6
+.globl	${PREFIX}_xts_encrypt
+.type	${PREFIX}_xts_encrypt,\@function,6
 .align	16
-aesni_xts_encrypt:
+${PREFIX}_xts_encrypt:
 .cfi_startproc
 	lea	(%rsp),%r11			# frame pointer
 .cfi_def_cfa_register	%r11
@@ -2230,14 +2230,14 @@
 .Lxts_enc_epilogue:
 	ret
 .cfi_endproc
-.size	aesni_xts_encrypt,.-aesni_xts_encrypt
+.size	${PREFIX}_xts_encrypt,.-${PREFIX}_xts_encrypt
 ___
 
 $code.=<<___;
-.globl	aesni_xts_decrypt
-.type	aesni_xts_decrypt,\@function,6
+.globl	${PREFIX}_xts_decrypt
+.type	${PREFIX}_xts_decrypt,\@function,6
 .align	16
-aesni_xts_decrypt:
+${PREFIX}_xts_decrypt:
 .cfi_startproc
 	lea	(%rsp),%r11			# frame pointer
 .cfi_def_cfa_register	%r11
@@ -2739,7 +2739,7 @@
 .Lxts_dec_epilogue:
 	ret
 .cfi_endproc
-.size	aesni_xts_decrypt,.-aesni_xts_decrypt
+.size	${PREFIX}_xts_decrypt,.-${PREFIX}_xts_decrypt
 ___
 }
 
@@ -2759,10 +2759,10 @@
 my $blocks = $len;
 
 $code.=<<___;
-.globl	aesni_ocb_encrypt
-.type	aesni_ocb_encrypt,\@function,6
+.globl	${PREFIX}_ocb_encrypt
+.type	${PREFIX}_ocb_encrypt,\@function,6
 .align	32
-aesni_ocb_encrypt:
+${PREFIX}_ocb_encrypt:
 .cfi_startproc
 	lea	(%rsp),%rax
 	push	%rbx
@@ -3011,7 +3011,7 @@
 .Locb_enc_epilogue:
 	ret
 .cfi_endproc
-.size	aesni_ocb_encrypt,.-aesni_ocb_encrypt
+.size	${PREFIX}_ocb_encrypt,.-${PREFIX}_ocb_encrypt
 
 .type	__ocb_encrypt6,\@abi-omnipotent
 .align	32
@@ -3219,10 +3219,10 @@
 	ret
 .size	__ocb_encrypt1,.-__ocb_encrypt1
 
-.globl	aesni_ocb_decrypt
-.type	aesni_ocb_decrypt,\@function,6
+.globl	${PREFIX}_ocb_decrypt
+.type	${PREFIX}_ocb_decrypt,\@function,6
 .align	32
-aesni_ocb_decrypt:
+${PREFIX}_ocb_decrypt:
 .cfi_startproc
 	lea	(%rsp),%rax
 	push	%rbx
@@ -3493,7 +3493,7 @@
 .Locb_dec_epilogue:
 	ret
 .cfi_endproc
-.size	aesni_ocb_decrypt,.-aesni_ocb_decrypt
+.size	${PREFIX}_ocb_decrypt,.-${PREFIX}_ocb_decrypt
 
 .type	__ocb_decrypt6,\@abi-omnipotent
 .align	32
@@ -4736,7 +4736,7 @@
 $code.=<<___;
 .extern	__imp_RtlVirtualUnwind
 ___
-$code.=<<___ if ($PREFIX eq "aesni");
+$code.=<<___ if ($PREFIX eq "aes_hw");
 .type	ecb_ccm64_se_handler,\@abi-omnipotent
 .align	16
 ecb_ccm64_se_handler:
@@ -4776,7 +4776,7 @@
 	lea	0x58(%rax),%rax		# adjust stack pointer
 
 	jmp	.Lcommon_seh_tail
-.size	ecb_ccm64_se_handler,.-ecb_ccm64_se_handler
+.size	${PREFIX}_ccm64_se_handler,.-${PREFIX}_ccm64_se_handler
 
 .type	ctr_xts_se_handler,\@abi-omnipotent
 .align	16
@@ -4968,37 +4968,37 @@
 .section	.pdata
 .align	4
 ___
-$code.=<<___ if ($PREFIX eq "aesni");
-	.rva	.LSEH_begin_aesni_ecb_encrypt
-	.rva	.LSEH_end_aesni_ecb_encrypt
+$code.=<<___ if ($PREFIX eq "aes_hw");
+	.rva	.LSEH_begin_${PREFIX}_ecb_encrypt
+	.rva	.LSEH_end_${PREFIX}_ecb_encrypt
 	.rva	.LSEH_info_ecb
 
-	.rva	.LSEH_begin_aesni_ccm64_encrypt_blocks
-	.rva	.LSEH_end_aesni_ccm64_encrypt_blocks
+	.rva	.LSEH_begin_${PREFIX}_ccm64_encrypt_blocks
+	.rva	.LSEH_end_${PREFIX}_ccm64_encrypt_blocks
 	.rva	.LSEH_info_ccm64_enc
 
-	.rva	.LSEH_begin_aesni_ccm64_decrypt_blocks
-	.rva	.LSEH_end_aesni_ccm64_decrypt_blocks
+	.rva	.LSEH_begin_${PREFIX}_ccm64_decrypt_blocks
+	.rva	.LSEH_end_${PREFIX}_ccm64_decrypt_blocks
 	.rva	.LSEH_info_ccm64_dec
 
-	.rva	.LSEH_begin_aesni_ctr32_encrypt_blocks
-	.rva	.LSEH_end_aesni_ctr32_encrypt_blocks
+	.rva	.LSEH_begin_${PREFIX}_ctr32_encrypt_blocks
+	.rva	.LSEH_end_${PREFIX}_ctr32_encrypt_blocks
 	.rva	.LSEH_info_ctr32
 
-	.rva	.LSEH_begin_aesni_xts_encrypt
-	.rva	.LSEH_end_aesni_xts_encrypt
+	.rva	.LSEH_begin_${PREFIX}_xts_encrypt
+	.rva	.LSEH_end_${PREFIX}_xts_encrypt
 	.rva	.LSEH_info_xts_enc
 
-	.rva	.LSEH_begin_aesni_xts_decrypt
-	.rva	.LSEH_end_aesni_xts_decrypt
+	.rva	.LSEH_begin_${PREFIX}_xts_decrypt
+	.rva	.LSEH_end_${PREFIX}_xts_decrypt
 	.rva	.LSEH_info_xts_dec
 
-	.rva	.LSEH_begin_aesni_ocb_encrypt
-	.rva	.LSEH_end_aesni_ocb_encrypt
+	.rva	.LSEH_begin_${PREFIX}_ocb_encrypt
+	.rva	.LSEH_end_${PREFIX}_ocb_encrypt
 	.rva	.LSEH_info_ocb_enc
 
-	.rva	.LSEH_begin_aesni_ocb_decrypt
-	.rva	.LSEH_end_aesni_ocb_decrypt
+	.rva	.LSEH_begin_${PREFIX}_ocb_decrypt
+	.rva	.LSEH_end_${PREFIX}_ocb_decrypt
 	.rva	.LSEH_info_ocb_dec
 ___
 $code.=<<___;
@@ -5016,7 +5016,7 @@
 .section	.xdata
 .align	8
 ___
-$code.=<<___ if ($PREFIX eq "aesni");
+$code.=<<___ if ($PREFIX eq "aes_hw");
 .LSEH_info_ecb:
 	.byte	9,0,0,0
 	.rva	ecb_ccm64_se_handler
diff --git a/src/crypto/fipsmodule/aes/asm/bsaes-x86_64.pl b/src/crypto/fipsmodule/aes/asm/bsaes-x86_64.pl
index 607f8e7..11b7a9d 100644
--- a/src/crypto/fipsmodule/aes/asm/bsaes-x86_64.pl
+++ b/src/crypto/fipsmodule/aes/asm/bsaes-x86_64.pl
@@ -810,8 +810,8 @@
 $code.=<<___;
 .text
 
-.extern	asm_AES_encrypt
-.extern	asm_AES_decrypt
+.extern	aes_nohw_encrypt
+.extern	aes_nohw_decrypt
 
 .type	_bsaes_encrypt8,\@abi-omnipotent
 .align	64
@@ -1327,7 +1327,7 @@
 	lea	($inp), $arg1
 	lea	($out), $arg2
 	lea	($key), $arg3
-	call	asm_AES_encrypt
+	call	aes_nohw_encrypt
 	lea	16($inp), $inp
 	lea	16($out), $out
 	dec	$len
@@ -1547,7 +1547,7 @@
 	lea	($inp), $arg1
 	lea	($out), $arg2
 	lea	($key), $arg3
-	call	asm_AES_decrypt
+	call	aes_nohw_decrypt
 	lea	16($inp), $inp
 	lea	16($out), $out
 	dec	$len
@@ -1602,7 +1602,7 @@
 ___
 }
 $code.=<<___;
-.extern	asm_AES_cbc_encrypt
+.extern	aes_nohw_cbc_encrypt
 .globl	bsaes_cbc_encrypt
 .type	bsaes_cbc_encrypt,\@abi-omnipotent
 .align	16
@@ -1614,9 +1614,9 @@
 ___
 $code.=<<___;
 	cmp	\$0,$arg6
-	jne	asm_AES_cbc_encrypt
+	jne	aes_nohw_cbc_encrypt
 	cmp	\$128,$arg3
-	jb	asm_AES_cbc_encrypt
+	jb	aes_nohw_cbc_encrypt
 
 	mov	%rsp, %rax
 .Lcbc_dec_prologue:
@@ -1855,7 +1855,7 @@
 	lea	($inp), $arg1
 	lea	0x20(%rbp), $arg2	# buffer output
 	lea	($key), $arg3
-	call	asm_AES_decrypt		# doesn't touch %xmm
+	call	aes_nohw_decrypt		# doesn't touch %xmm
 	pxor	0x20(%rbp), @XMM[15]	# ^= IV
 	movdqu	@XMM[15], ($out)	# write output
 	movdqa	@XMM[0], @XMM[15]	# IV
@@ -2097,7 +2097,7 @@
 	lea	0x20(%rbp), $arg1
 	lea	0x30(%rbp), $arg2
 	lea	($key), $arg3
-	call	asm_AES_encrypt
+	call	aes_nohw_encrypt
 	movdqu	($inp), @XMM[1]
 	lea	16($inp), $inp
 	mov	0x2c(%rbp), %eax	# load 32-bit counter
@@ -2216,7 +2216,7 @@
 	lea	($arg6), $arg1
 	lea	0x20(%rbp), $arg2
 	lea	($arg5), $arg3
-	call	asm_AES_encrypt		# generate initial tweak
+	call	aes_nohw_encrypt		# generate initial tweak
 
 	mov	240($key), %eax		# rounds
 	mov	$len, %rbx		# backup $len
@@ -2482,7 +2482,7 @@
 	lea	0x20(%rbp), $arg1
 	lea	0x20(%rbp), $arg2
 	lea	($key), $arg3
-	call	asm_AES_encrypt		# doesn't touch %xmm
+	call	aes_nohw_encrypt		# doesn't touch %xmm
 	pxor	0x20(%rbp), @XMM[0]	# ^= tweak[]
 	#pxor	@XMM[8], @XMM[0]
 	#lea	0x80(%rsp), %rax	# pass key schedule
@@ -2515,7 +2515,7 @@
 	lea	0x20(%rbp), $arg2
 	movdqa	@XMM[0], 0x20(%rbp)
 	lea	($key), $arg3
-	call	asm_AES_encrypt		# doesn't touch %xmm
+	call	aes_nohw_encrypt		# doesn't touch %xmm
 	pxor	0x20(%rbp), @XMM[7]
 	movdqu	@XMM[7], -16($out)
 
@@ -2614,7 +2614,7 @@
 	lea	($arg6), $arg1
 	lea	0x20(%rbp), $arg2
 	lea	($arg5), $arg3
-	call	asm_AES_encrypt		# generate initial tweak
+	call	aes_nohw_encrypt		# generate initial tweak
 
 	mov	240($key), %eax		# rounds
 	mov	$len, %rbx		# backup $len
@@ -2887,7 +2887,7 @@
 	lea	0x20(%rbp), $arg1
 	lea	0x20(%rbp), $arg2
 	lea	($key), $arg3
-	call	asm_AES_decrypt		# doesn't touch %xmm
+	call	aes_nohw_decrypt		# doesn't touch %xmm
 	pxor	0x20(%rbp), @XMM[0]	# ^= tweak[]
 	#pxor	@XMM[8], @XMM[0]
 	#lea	0x80(%rsp), %rax	# pass key schedule
@@ -2918,7 +2918,7 @@
 	lea	0x20(%rbp), $arg2
 	movdqa	@XMM[0], 0x20(%rbp)
 	lea	($key), $arg3
-	call	asm_AES_decrypt		# doesn't touch %xmm
+	call	aes_nohw_decrypt		# doesn't touch %xmm
 	pxor	0x20(%rbp), @XMM[7]
 	mov	$out, %rdx
 	movdqu	@XMM[7], ($out)
@@ -2939,7 +2939,7 @@
 	lea	0x20(%rbp), $arg2
 	movdqa	@XMM[0], 0x20(%rbp)
 	lea	($key), $arg3
-	call	asm_AES_decrypt		# doesn't touch %xmm
+	call	aes_nohw_decrypt		# doesn't touch %xmm
 	pxor	0x20(%rbp), @XMM[6]
 	movdqu	@XMM[6], ($out)
 
diff --git a/src/crypto/fipsmodule/aes/internal.h b/src/crypto/fipsmodule/aes/internal.h
index 45db9ee..7c19b9c 100644
--- a/src/crypto/fipsmodule/aes/internal.h
+++ b/src/crypto/fipsmodule/aes/internal.h
@@ -24,21 +24,30 @@
 #endif
 
 
-#if !defined(OPENSSL_NO_ASM) && (defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64))
+#if !defined(OPENSSL_NO_ASM)
+
+#if defined(OPENSSL_X86_64)
+#define HWAES
+#define HWAES_ECB
+
+static int hwaes_capable(void) {
+  return (OPENSSL_ia32cap_P[1] & (1 << (57 - 32))) != 0;
+}
+#elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
 #define HWAES
 
 static int hwaes_capable(void) {
   return CRYPTO_is_ARMv8_AES_capable();
 }
-#endif  // !NO_ASM && (AES || AARCH64)
-
-#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_PPC64LE)
+#elif defined(OPENSSL_PPC64LE)
 #define HWAES
 
 static int hwaes_capable(void) {
   return CRYPTO_is_PPC64LE_vcrypto_capable();
 }
-#endif  // !NO_ASM && PPC64LE
+#endif
+
+#endif  // !NO_ASM
 
 
 #if defined(HWAES)
@@ -93,6 +102,12 @@
 
 #endif  // !HWAES
 
+
+#if defined(HWAES_ECB)
+void aes_hw_ecb_encrypt(const uint8_t *in, uint8_t *out, size_t length,
+                        const AES_KEY *key, const int enc);
+#endif
+
 #if defined(__cplusplus)
 }  // extern C
 #endif
diff --git a/src/crypto/fipsmodule/aes/key_wrap.c b/src/crypto/fipsmodule/aes/key_wrap.c
index feee0c7..a52c983 100644
--- a/src/crypto/fipsmodule/aes/key_wrap.c
+++ b/src/crypto/fipsmodule/aes/key_wrap.c
@@ -65,9 +65,10 @@
 
 int AES_wrap_key(const AES_KEY *key, const uint8_t *iv, uint8_t *out,
                  const uint8_t *in, size_t in_len) {
-  // See RFC 3394, section 2.2.1.
+  // See RFC 3394, section 2.2.1. Additionally, note that section 2 requires the
+  // plaintext be at least two 8-byte blocks.
 
-  if (in_len > INT_MAX - 8 || in_len < 8 || in_len % 8 != 0) {
+  if (in_len > INT_MAX - 8 || in_len < 16 || in_len % 8 != 0) {
     return -1;
   }
 
@@ -101,9 +102,11 @@
 
 int AES_unwrap_key(const AES_KEY *key, const uint8_t *iv, uint8_t *out,
                    const uint8_t *in, size_t in_len) {
-  // See RFC 3394, section 2.2.2.
+  // See RFC 3394, section 2.2.2. Additionally, note that section 2 requires the
+  // plaintext be at least two 8-byte blocks, so the ciphertext must be at least
+  // three blocks.
 
-  if (in_len > INT_MAX || in_len < 16 || in_len % 8 != 0) {
+  if (in_len > INT_MAX || in_len < 24 || in_len % 8 != 0) {
     return -1;
   }
 
diff --git a/src/crypto/fipsmodule/aes/mode_wrappers.c b/src/crypto/fipsmodule/aes/mode_wrappers.c
index 34514db..5c50c85 100644
--- a/src/crypto/fipsmodule/aes/mode_wrappers.c
+++ b/src/crypto/fipsmodule/aes/mode_wrappers.c
@@ -6,7 +6,7 @@
  * are met:
  *
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
+ *    notice, this list of conditions and the following disclaimer.
  *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in
@@ -50,6 +50,7 @@
 
 #include <assert.h>
 
+#include "../aes/internal.h"
 #include "../modes/internal.h"
 
 
@@ -72,27 +73,29 @@
   }
 }
 
-#if defined(OPENSSL_NO_ASM) || \
-    (!defined(OPENSSL_X86_64) && !defined(OPENSSL_X86))
+#if !defined(OPENSSL_NO_ASM) && (defined(OPENSSL_X86_64) || defined(OPENSSL_X86))
+void aes_nohw_cbc_encrypt(const uint8_t *in, uint8_t *out, size_t len,
+                          const AES_KEY *key, uint8_t *ivec, const int enc);
+#endif
+
 void AES_cbc_encrypt(const uint8_t *in, uint8_t *out, size_t len,
                      const AES_KEY *key, uint8_t *ivec, const int enc) {
+  if (hwaes_capable()) {
+    aes_hw_cbc_encrypt(in, out, len, key, ivec, enc);
+    return;
+  }
 
+#if !defined(OPENSSL_NO_ASM) && \
+    (defined(OPENSSL_X86_64) || defined(OPENSSL_X86))
+  aes_nohw_cbc_encrypt(in, out, len, key, ivec, enc);
+#else
   if (enc) {
     CRYPTO_cbc128_encrypt(in, out, len, key, ivec, (block128_f)AES_encrypt);
   } else {
     CRYPTO_cbc128_decrypt(in, out, len, key, ivec, (block128_f)AES_decrypt);
   }
+#endif
 }
-#else
-
-void asm_AES_cbc_encrypt(const uint8_t *in, uint8_t *out, size_t len,
-                         const AES_KEY *key, uint8_t *ivec, const int enc);
-void AES_cbc_encrypt(const uint8_t *in, uint8_t *out, size_t len,
-                     const AES_KEY *key, uint8_t *ivec, const int enc) {
-  asm_AES_cbc_encrypt(in, out, len, key, ivec, enc);
-}
-
-#endif  // OPENSSL_NO_ASM || (!OPENSSL_X86_64 && !OPENSSL_X86)
 
 void AES_ofb128_encrypt(const uint8_t *in, uint8_t *out, size_t length,
                         const AES_KEY *key, uint8_t *ivec, int *num) {
diff --git a/src/crypto/fipsmodule/bcm.c b/src/crypto/fipsmodule/bcm.c
index 51ac7d5..6b21f06 100644
--- a/src/crypto/fipsmodule/bcm.c
+++ b/src/crypto/fipsmodule/bcm.c
@@ -36,8 +36,10 @@
 #include "bn/cmp.c"
 #include "bn/ctx.c"
 #include "bn/div.c"
+#include "bn/div_extra.c"
 #include "bn/exponentiation.c"
 #include "bn/gcd.c"
+#include "bn/gcd_extra.c"
 #include "bn/generic.c"
 #include "bn/jacobi.c"
 #include "bn/montgomery.c"
@@ -55,6 +57,7 @@
 #include "des/des.c"
 #include "digest/digest.c"
 #include "digest/digests.c"
+#include "ecdh/ecdh.c"
 #include "ecdsa/ecdsa.c"
 #include "ec/ec.c"
 #include "ec/ec_key.c"
diff --git a/src/crypto/fipsmodule/bn/asm/armv4-mont.pl b/src/crypto/fipsmodule/bn/asm/armv4-mont.pl
index 094e3b6..2ee389e 100644
--- a/src/crypto/fipsmodule/bn/asm/armv4-mont.pl
+++ b/src/crypto/fipsmodule/bn/asm/armv4-mont.pl
@@ -266,14 +266,15 @@
 	mov	$tp,sp			@ "rewind" $tp
 	sub	$rp,$rp,$aj		@ "rewind" $rp
 
-	and	$ap,$tp,$nhi
-	bic	$np,$rp,$nhi
-	orr	$ap,$ap,$np		@ ap=borrow?tp:rp
-
-.Lcopy:	ldr	$tj,[$ap],#4		@ copy or in-place refresh
+.Lcopy:	ldr	$tj,[$tp]		@ conditional copy
+	ldr	$aj,[$rp]
 	str	sp,[$tp],#4		@ zap tp
-	str	$tj,[$rp],#4
-	cmp	$tp,$num
+#ifdef	__thumb2__
+	it	cc
+#endif
+	movcc	$aj,$tj
+	str	$aj,[$rp],#4
+	teq	$tp,$num		@ preserve carry
 	bne	.Lcopy
 
 	mov	sp,$num
diff --git a/src/crypto/fipsmodule/bn/asm/rsaz-avx2.pl b/src/crypto/fipsmodule/bn/asm/rsaz-avx2.pl
index ab063d7..72aa2a3 100755
--- a/src/crypto/fipsmodule/bn/asm/rsaz-avx2.pl
+++ b/src/crypto/fipsmodule/bn/asm/rsaz-avx2.pl
@@ -51,10 +51,8 @@
 # In upstream, this is controlled by shelling out to the compiler to check
 # versions, but BoringSSL is intended to be used with pre-generated perlasm
 # output, so this isn't useful anyway.
-#
-# TODO(davidben): Set $addx to one once build problems are resolved.
 $avx = 2;
-$addx = 0;
+$addx = 1;
 
 open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
 *STDOUT = *OUT;
diff --git a/src/crypto/fipsmodule/bn/asm/x86-mont.pl b/src/crypto/fipsmodule/bn/asm/x86-mont.pl
index d15726b..214f2b0 100755
--- a/src/crypto/fipsmodule/bn/asm/x86-mont.pl
+++ b/src/crypto/fipsmodule/bn/asm/x86-mont.pl
@@ -604,16 +604,18 @@
 	&jge	(&label("sub"));
 
 	&sbb	("eax",0);			# handle upmost overflow bit
-	&and	($tp,"eax");
-	&not	("eax");
-	&mov	($np,$rp);
-	&and	($np,"eax");
-	&or	($tp,$np);			# tp=carry?tp:rp
+	&mov	("edx",-1);
+	&xor	("edx","eax");
+	&jmp	(&label("copy"));
 
-&set_label("copy",16);				# copy or in-place refresh
-	&mov	("eax",&DWP(0,$tp,$num,4));
-	&mov	(&DWP(0,$rp,$num,4),"eax");	# rp[i]=tp[i]
+&set_label("copy",16);				# conditional copy
+	&mov	($tp,&DWP($frame,"esp",$num,4));
+	&mov	($np,&DWP(0,$rp,$num,4));
 	&mov	(&DWP($frame,"esp",$num,4),$j);	# zap temporary vector
+	&and	($tp,"eax");
+	&and	($np,"edx");
+	&or	($np,$tp);
+	&mov	(&DWP(0,$rp,$num,4),$np);
 	&dec	($num);
 	&jge	(&label("copy"));
 
diff --git a/src/crypto/fipsmodule/bn/asm/x86_64-mont.pl b/src/crypto/fipsmodule/bn/asm/x86_64-mont.pl
index faa5cb0..023143a 100755
--- a/src/crypto/fipsmodule/bn/asm/x86_64-mont.pl
+++ b/src/crypto/fipsmodule/bn/asm/x86_64-mont.pl
@@ -63,9 +63,7 @@
 # In upstream, this is controlled by shelling out to the compiler to check
 # versions, but BoringSSL is intended to be used with pre-generated perlasm
 # output, so this isn't useful anyway.
-#
-# TODO(davidben): Set $addx to one once build problems are resolved.
-$addx = 0;
+$addx = 1;
 
 # int bn_mul_mont(
 $rp="%rdi";	# BN_ULONG *rp,
@@ -299,30 +297,30 @@
 
 	xor	$i,$i			# i=0 and clear CF!
 	mov	(%rsp),%rax		# tp[0]
-	lea	(%rsp),$ap		# borrow ap for tp
 	mov	$num,$j			# j=num
-	jmp	.Lsub
+
 .align	16
 .Lsub:	sbb	($np,$i,8),%rax
 	mov	%rax,($rp,$i,8)		# rp[i]=tp[i]-np[i]
-	mov	8($ap,$i,8),%rax	# tp[i+1]
+	mov	8(%rsp,$i,8),%rax	# tp[i+1]
 	lea	1($i),$i		# i++
 	dec	$j			# doesn't affect CF!
 	jnz	.Lsub
 
 	sbb	\$0,%rax		# handle upmost overflow bit
+	mov	\$-1,%rbx
+	xor	%rax,%rbx		# not %rax
 	xor	$i,$i
-	and	%rax,$ap
-	not	%rax
-	mov	$rp,$np
-	and	%rax,$np
 	mov	$num,$j			# j=num
-	or	$np,$ap			# ap=borrow?tp:rp
-.align	16
-.Lcopy:					# copy or in-place refresh
-	mov	($ap,$i,8),%rax
-	mov	$i,(%rsp,$i,8)		# zap temporary vector
-	mov	%rax,($rp,$i,8)		# rp[i]=tp[i]
+
+.Lcopy:					# conditional copy
+	mov	($rp,$i,8),%rcx
+	mov	(%rsp,$i,8),%rdx
+	and	%rbx,%rcx
+	and	%rax,%rdx
+	mov	$num,(%rsp,$i,8)	# zap temporary vector
+	or	%rcx,%rdx
+	mov	%rdx,($rp,$i,8)		# rp[i]=tp[i]
 	lea	1($i),$i
 	sub	\$1,$j
 	jnz	.Lcopy
@@ -712,7 +710,6 @@
 	mov	16(%rsp,$num,8),$rp	# restore $rp
 	lea	-4($num),$j
 	mov	0(%rsp),@ri[0]		# tp[0]
-	pxor	%xmm0,%xmm0
 	mov	8(%rsp),@ri[1]		# tp[1]
 	shr	\$2,$j			# j=num/4-1
 	lea	(%rsp),$ap		# borrow ap for tp
@@ -722,8 +719,7 @@
 	mov	16($ap),@ri[2]		# tp[2]
 	mov	24($ap),@ri[3]		# tp[3]
 	sbb	8($np),@ri[1]
-	jmp	.Lsub4x
-.align	16
+
 .Lsub4x:
 	mov	@ri[0],0($rp,$i,8)	# rp[i]=tp[i]-np[i]
 	mov	@ri[1],8($rp,$i,8)	# rp[i]=tp[i]-np[i]
@@ -750,34 +746,35 @@
 
 	sbb	\$0,@ri[0]		# handle upmost overflow bit
 	mov	@ri[3],24($rp,$i,8)	# rp[i]=tp[i]-np[i]
-	xor	$i,$i			# i=0
-	and	@ri[0],$ap
-	not	@ri[0]
-	mov	$rp,$np
-	and	@ri[0],$np
-	lea	-4($num),$j
-	or	$np,$ap			# ap=borrow?tp:rp
-	shr	\$2,$j			# j=num/4-1
+	pxor	%xmm0,%xmm0
+	movq	@ri[0],%xmm4
+	pcmpeqd	%xmm5,%xmm5
+	pshufd	\$0,%xmm4,%xmm4
+	mov	$num,$j
+	pxor	%xmm4,%xmm5
+	shr	\$2,$j			# j=num/4
+	xor	%eax,%eax		# i=0
 
-	movdqu	($ap),%xmm1
-	movdqa	%xmm0,(%rsp)
-	movdqu	%xmm1,($rp)
 	jmp	.Lcopy4x
 .align	16
-.Lcopy4x:					# copy or in-place refresh
-	movdqu	16($ap,$i),%xmm2
-	movdqu	32($ap,$i),%xmm1
-	movdqa	%xmm0,16(%rsp,$i)
-	movdqu	%xmm2,16($rp,$i)
-	movdqa	%xmm0,32(%rsp,$i)
-	movdqu	%xmm1,32($rp,$i)
-	lea	32($i),$i
+.Lcopy4x:				# conditional copy
+	movdqa	(%rsp,%rax),%xmm1
+	movdqu	($rp,%rax),%xmm2
+	pand	%xmm4,%xmm1
+	pand	%xmm5,%xmm2
+	movdqa	16(%rsp,%rax),%xmm3
+	movdqa	%xmm0,(%rsp,%rax)
+	por	%xmm2,%xmm1
+	movdqu	16($rp,%rax),%xmm2
+	movdqu	%xmm1,($rp,%rax)
+	pand	%xmm4,%xmm3
+	pand	%xmm5,%xmm2
+	movdqa	%xmm0,16(%rsp,%rax)
+	por	%xmm2,%xmm3
+	movdqu	%xmm3,16($rp,%rax)
+	lea	32(%rax),%rax
 	dec	$j
 	jnz	.Lcopy4x
-
-	movdqu	16($ap,$i),%xmm2
-	movdqa	%xmm0,16(%rsp,$i)
-	movdqu	%xmm2,16($rp,$i)
 ___
 }
 $code.=<<___;
diff --git a/src/crypto/fipsmodule/bn/asm/x86_64-mont5.pl b/src/crypto/fipsmodule/bn/asm/x86_64-mont5.pl
index 2119826..e3dcdef 100755
--- a/src/crypto/fipsmodule/bn/asm/x86_64-mont5.pl
+++ b/src/crypto/fipsmodule/bn/asm/x86_64-mont5.pl
@@ -48,9 +48,7 @@
 # In upstream, this is controlled by shelling out to the compiler to check
 # versions, but BoringSSL is intended to be used with pre-generated perlasm
 # output, so this isn't useful anyway.
-#
-# TODO(davidben): Set $addx to one once build problems are resolved.
-$addx = 0;
+$addx = 1;
 
 # int bn_mul_mont_gather5(
 $rp="%rdi";	# BN_ULONG *rp,
@@ -411,18 +409,19 @@
 	jnz	.Lsub
 
 	sbb	\$0,%rax		# handle upmost overflow bit
+	mov	\$-1,%rbx
+	xor	%rax,%rbx
 	xor	$i,$i
-	and	%rax,$ap
-	not	%rax
-	mov	$rp,$np
-	and	%rax,$np
 	mov	$num,$j			# j=num
-	or	$np,$ap			# ap=borrow?tp:rp
-.align	16
-.Lcopy:					# copy or in-place refresh
-	mov	($ap,$i,8),%rax
+
+.Lcopy:					# conditional copy
+	mov	($rp,$i,8),%rcx
+	mov	(%rsp,$i,8),%rdx
+	and	%rbx,%rcx
+	and	%rax,%rdx
 	mov	$i,(%rsp,$i,8)		# zap temporary vector
-	mov	%rax,($rp,$i,8)		# rp[i]=tp[i]
+	or	%rcx,%rdx
+	mov	%rdx,($rp,$i,8)		# rp[i]=tp[i]
 	lea	1($i),$i
 	sub	\$1,$j
 	jnz	.Lcopy
diff --git a/src/crypto/fipsmodule/bn/bn_test.cc b/src/crypto/fipsmodule/bn/bn_test.cc
index a25d487..27fd5c7 100644
--- a/src/crypto/fipsmodule/bn/bn_test.cc
+++ b/src/crypto/fipsmodule/bn/bn_test.cc
@@ -2346,3 +2346,28 @@
   ASSERT_TRUE(bn_resize_words(bn.get(), 16));
   EXPECT_EQ(0, BN_count_low_zero_bits(bn.get()));
 }
+
+TEST_F(BNTest, WriteIntoNegative) {
+  bssl::UniquePtr<BIGNUM> r(BN_new());
+  ASSERT_TRUE(r);
+  bssl::UniquePtr<BIGNUM> two(BN_new());
+  ASSERT_TRUE(two);
+  ASSERT_TRUE(BN_set_word(two.get(), 2));
+  bssl::UniquePtr<BIGNUM> three(BN_new());
+  ASSERT_TRUE(three);
+  ASSERT_TRUE(BN_set_word(three.get(), 3));
+  bssl::UniquePtr<BIGNUM> seven(BN_new());
+  ASSERT_TRUE(seven);
+  ASSERT_TRUE(BN_set_word(seven.get(), 7));
+
+  ASSERT_TRUE(BN_set_word(r.get(), 1));
+  BN_set_negative(r.get(), 1);
+  ASSERT_TRUE(BN_mod_add_quick(r.get(), two.get(), three.get(), seven.get()));
+  EXPECT_TRUE(BN_is_word(r.get(), 5));
+  EXPECT_FALSE(BN_is_negative(r.get()));
+
+  BN_set_negative(r.get(), 1);
+  ASSERT_TRUE(BN_mod_sub_quick(r.get(), two.get(), three.get(), seven.get()));
+  EXPECT_TRUE(BN_is_word(r.get(), 6));
+  EXPECT_FALSE(BN_is_negative(r.get()));
+}
diff --git a/src/crypto/fipsmodule/bn/div.c b/src/crypto/fipsmodule/bn/div.c
index a350fbf..57485bd 100644
--- a/src/crypto/fipsmodule/bn/div.c
+++ b/src/crypto/fipsmodule/bn/div.c
@@ -591,6 +591,7 @@
   if (ok) {
     bn_mod_add_words(r->d, a->d, b->d, m->d, tmp->d, m->width);
     r->width = m->width;
+    r->neg = 0;
   }
   BN_CTX_end(ctx);
   return ok;
@@ -615,6 +616,7 @@
   if (ok) {
     bn_mod_sub_words(r->d, a->d, b->d, m->d, tmp->d, m->width);
     r->width = m->width;
+    r->neg = 0;
   }
   BN_CTX_end(ctx);
   return ok;
diff --git a/src/crypto/fipsmodule/bn/div_extra.c b/src/crypto/fipsmodule/bn/div_extra.c
new file mode 100644
index 0000000..7f03f28
--- /dev/null
+++ b/src/crypto/fipsmodule/bn/div_extra.c
@@ -0,0 +1,87 @@
+/* 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 <openssl/bn.h>
+
+#include <assert.h>
+
+#include "internal.h"
+
+
+// The following functions use a Barrett reduction variant to avoid leaking the
+// numerator. See http://ridiculousfish.com/blog/posts/labor-of-division-episode-i.html
+//
+// We use 32-bit numerator and 16-bit divisor for simplicity. This allows
+// computing |m| and |q| without architecture-specific code.
+
+// mod_u16 returns |n| mod |d|. |p| and |m| are the "magic numbers" for |d| (see
+// reference). For proof of correctness in Coq, see
+// https://github.com/davidben/fiat-crypto/blob/barrett/src/Arithmetic/BarrettReduction/RidiculousFish.v
+// Note the Coq version of |mod_u16| additionally includes the computation of
+// |p| and |m| from |bn_mod_u16_consttime| below.
+static uint16_t mod_u16(uint32_t n, uint16_t d, uint32_t p, uint32_t m) {
+  // Compute floor(n/d) per steps 3 through 5.
+  uint32_t q = ((uint64_t)m * n) >> 32;
+  // Note there is a typo in the reference. We right-shift by one, not two.
+  uint32_t t = ((n - q) >> 1) + q;
+  t = t >> (p - 1);
+
+  // Multiply and subtract to get the remainder.
+  n -= d * t;
+  assert(n < d);
+  return n;
+}
+
+// shift_and_add_mod_u16 returns |r| * 2^32 + |a| mod |d|. |p| and |m| are the
+// "magic numbers" for |d| (see reference).
+static uint16_t shift_and_add_mod_u16(uint16_t r, uint32_t a, uint16_t d,
+                                      uint32_t p, uint32_t m) {
+  // Incorporate |a| in two 16-bit chunks.
+  uint32_t t = r;
+  t <<= 16;
+  t |= a >> 16;
+  t = mod_u16(t, d, p, m);
+
+  t <<= 16;
+  t |= a & 0xffff;
+  t = mod_u16(t, d, p, m);
+  return t;
+}
+
+uint16_t bn_mod_u16_consttime(const BIGNUM *bn, uint16_t d) {
+  if (d <= 1) {
+    return 0;
+  }
+
+  // Compute the "magic numbers" for |d|. See steps 1 and 2.
+  // This computes p = ceil(log_2(d)).
+  uint32_t p = BN_num_bits_word(d - 1);
+  // This operation is not constant-time, but |p| and |d| are public values.
+  // Note that |p| is at most 16, so the computation fits in |uint64_t|.
+  assert(p <= 16);
+  uint32_t m = ((UINT64_C(1) << (32 + p)) + d - 1) / d;
+
+  uint16_t ret = 0;
+  for (int i = bn->width - 1; i >= 0; i--) {
+#if BN_BITS2 == 32
+    ret = shift_and_add_mod_u16(ret, bn->d[i], d, p, m);
+#elif BN_BITS2 == 64
+    ret = shift_and_add_mod_u16(ret, bn->d[i] >> 32, d, p, m);
+    ret = shift_and_add_mod_u16(ret, bn->d[i] & 0xffffffff, d, p, m);
+#else
+#error "Unknown BN_ULONG size"
+#endif
+  }
+  return ret;
+}
diff --git a/src/crypto/fipsmodule/bn/exponentiation.c b/src/crypto/fipsmodule/bn/exponentiation.c
index b07111e..5187f4a 100644
--- a/src/crypto/fipsmodule/bn/exponentiation.c
+++ b/src/crypto/fipsmodule/bn/exponentiation.c
@@ -914,9 +914,6 @@
   return 1;
 }
 
-// BN_mod_exp_mont_conttime is based on the assumption that the L1 data cache
-// line width of the target processor is at least the following value.
-#define MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH (64)
 #define MOD_EXP_CTIME_MIN_CACHE_LINE_MASK \
   (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - 1)
 
@@ -1004,6 +1001,14 @@
   // implementation assumes it can use |top| to size R.
   int top = mont->N.width;
 
+#if defined(OPENSSL_BN_ASM_MONT5) || defined(RSAZ_ENABLED)
+  // Share one large stack-allocated buffer between the RSAZ and non-RSAZ code
+  // paths. If we were to use separate static buffers for each then there is
+  // some chance that both large buffers would be allocated on the stack,
+  // causing the stack space requirement to be truly huge (~10KB).
+  alignas(MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH) BN_ULONG
+    storage[MOD_EXP_CTIME_STORAGE_LEN];
+#endif
 #ifdef RSAZ_ENABLED
   // If the size of the operands allow it, perform the optimized
   // RSAZ exponentiation. For further information see
@@ -1013,7 +1018,8 @@
     if (!bn_wexpand(rr, 16)) {
       goto err;
     }
-    RSAZ_1024_mod_exp_avx2(rr->d, a->d, p->d, m->d, mont->RR.d, mont->n0[0]);
+    RSAZ_1024_mod_exp_avx2(rr->d, a->d, p->d, m->d, mont->RR.d, mont->n0[0],
+                           storage);
     rr->width = 16;
     rr->neg = 0;
     ret = 1;
@@ -1037,27 +1043,24 @@
   powerbufLen +=
       sizeof(m->d[0]) *
       (top * numPowers + ((2 * top) > numPowers ? (2 * top) : numPowers));
-#ifdef alloca
-  if (powerbufLen < 3072) {
-    powerbufFree = alloca(powerbufLen + MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH);
-  } else
+
+#if defined(OPENSSL_BN_ASM_MONT5)
+  if ((size_t)powerbufLen <= sizeof(storage)) {
+    powerbuf = (unsigned char *)storage;
+  }
+  // |storage| is more than large enough to handle 1024-bit inputs.
+  assert(powerbuf != NULL || top * BN_BITS2 > 1024);
 #endif
-  {
-    if ((powerbufFree = OPENSSL_malloc(
-            powerbufLen + MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH)) == NULL) {
+  if (powerbuf == NULL) {
+    powerbufFree =
+        OPENSSL_malloc(powerbufLen + MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH);
+    if (powerbufFree == NULL) {
       goto err;
     }
+    powerbuf = MOD_EXP_CTIME_ALIGN(powerbufFree);
   }
-
-  powerbuf = MOD_EXP_CTIME_ALIGN(powerbufFree);
   OPENSSL_memset(powerbuf, 0, powerbufLen);
 
-#ifdef alloca
-  if (powerbufLen < 3072) {
-    powerbufFree = NULL;
-  }
-#endif
-
   // lay down tmp and am right after powers table
   tmp.d = (BN_ULONG *)(powerbuf + sizeof(m->d[0]) * top * numPowers);
   am.d = tmp.d + top;
@@ -1264,6 +1267,9 @@
 
 err:
   BN_MONT_CTX_free(new_mont);
+  if (powerbuf != NULL && powerbufFree == NULL) {
+    OPENSSL_cleanse(powerbuf, powerbufLen);
+  }
   OPENSSL_free(powerbufFree);
   return (ret);
 }
diff --git a/src/crypto/fipsmodule/bn/gcd.c b/src/crypto/fipsmodule/bn/gcd.c
index 7868b40..bd0fa6f 100644
--- a/src/crypto/fipsmodule/bn/gcd.c
+++ b/src/crypto/fipsmodule/bn/gcd.c
@@ -108,316 +108,11 @@
 
 #include <openssl/bn.h>
 
-#include <assert.h>
-
 #include <openssl/err.h>
 
 #include "internal.h"
 
 
-static BN_ULONG word_is_odd_mask(BN_ULONG a) { return (BN_ULONG)0 - (a & 1); }
-
-static void maybe_rshift1_words(BN_ULONG *a, BN_ULONG mask, BN_ULONG *tmp,
-                                size_t num) {
-  bn_rshift1_words(tmp, a, num);
-  bn_select_words(a, mask, tmp, a, num);
-}
-
-static void maybe_rshift1_words_carry(BN_ULONG *a, BN_ULONG carry,
-                                      BN_ULONG mask, BN_ULONG *tmp,
-                                      size_t num) {
-  maybe_rshift1_words(a, mask, tmp, num);
-  if (num != 0) {
-    carry &= mask;
-    a[num - 1] |= carry << (BN_BITS2-1);
-  }
-}
-
-static BN_ULONG maybe_add_words(BN_ULONG *a, BN_ULONG mask, const BN_ULONG *b,
-                                BN_ULONG *tmp, size_t num) {
-  BN_ULONG carry = bn_add_words(tmp, a, b, num);
-  bn_select_words(a, mask, tmp, a, num);
-  return carry & mask;
-}
-
-static int bn_gcd_consttime(BIGNUM *r, unsigned *out_shift, const BIGNUM *x,
-                            const BIGNUM *y, BN_CTX *ctx) {
-  size_t width = x->width > y->width ? x->width : y->width;
-  if (width == 0) {
-    *out_shift = 0;
-    BN_zero(r);
-    return 1;
-  }
-
-  // This is a constant-time implementation of Stein's algorithm (binary GCD).
-  int ret = 0;
-  BN_CTX_start(ctx);
-  BIGNUM *u = BN_CTX_get(ctx);
-  BIGNUM *v = BN_CTX_get(ctx);
-  BIGNUM *tmp = BN_CTX_get(ctx);
-  if (u == NULL || v == NULL || tmp == NULL ||
-      !BN_copy(u, x) ||
-      !BN_copy(v, y) ||
-      !bn_resize_words(u, width) ||
-      !bn_resize_words(v, width) ||
-      !bn_resize_words(tmp, width)) {
-    goto err;
-  }
-
-  // Each loop iteration halves at least one of |u| and |v|. Thus we need at
-  // most the combined bit width of inputs for at least one value to be zero.
-  unsigned x_bits = x->width * BN_BITS2, y_bits = y->width * BN_BITS2;
-  unsigned num_iters = x_bits + y_bits;
-  if (num_iters < x_bits) {
-    OPENSSL_PUT_ERROR(BN, BN_R_BIGNUM_TOO_LONG);
-    goto err;
-  }
-
-  unsigned shift = 0;
-  for (unsigned i = 0; i < num_iters; i++) {
-    BN_ULONG both_odd = word_is_odd_mask(u->d[0]) & word_is_odd_mask(v->d[0]);
-
-    // If both |u| and |v| are odd, subtract the smaller from the larger.
-    BN_ULONG u_less_than_v =
-        (BN_ULONG)0 - bn_sub_words(tmp->d, u->d, v->d, width);
-    bn_select_words(u->d, both_odd & ~u_less_than_v, tmp->d, u->d, width);
-    bn_sub_words(tmp->d, v->d, u->d, width);
-    bn_select_words(v->d, both_odd & u_less_than_v, tmp->d, v->d, width);
-
-    // At least one of |u| and |v| is now even.
-    BN_ULONG u_is_odd = word_is_odd_mask(u->d[0]);
-    BN_ULONG v_is_odd = word_is_odd_mask(v->d[0]);
-    assert(!(u_is_odd & v_is_odd));
-
-    // If both are even, the final GCD gains a factor of two.
-    shift += 1 & (~u_is_odd & ~v_is_odd);
-
-    // Halve any which are even.
-    maybe_rshift1_words(u->d, ~u_is_odd, tmp->d, width);
-    maybe_rshift1_words(v->d, ~v_is_odd, tmp->d, width);
-  }
-
-  // One of |u| or |v| is zero at this point. The algorithm usually makes |u|
-  // zero, unless |y| was already zero on input. Fix this by combining the
-  // values.
-  assert(BN_is_zero(u) || BN_is_zero(v));
-  for (size_t i = 0; i < width; i++) {
-    v->d[i] |= u->d[i];
-  }
-
-  *out_shift = shift;
-  ret = bn_set_words(r, v->d, width);
-
-err:
-  BN_CTX_end(ctx);
-  return ret;
-}
-
-int BN_gcd(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) {
-  unsigned shift;
-  return bn_gcd_consttime(r, &shift, x, y, ctx) &&
-         BN_lshift(r, r, shift);
-}
-
-int bn_is_relatively_prime(int *out_relatively_prime, const BIGNUM *x,
-                           const BIGNUM *y, BN_CTX *ctx) {
-  int ret = 0;
-  BN_CTX_start(ctx);
-  unsigned shift;
-  BIGNUM *gcd = BN_CTX_get(ctx);
-  if (gcd == NULL ||
-      !bn_gcd_consttime(gcd, &shift, x, y, ctx)) {
-    goto err;
-  }
-
-  // Check that 2^|shift| * |gcd| is one.
-  if (gcd->width == 0) {
-    *out_relatively_prime = 0;
-  } else {
-    BN_ULONG mask = shift | (gcd->d[0] ^ 1);
-    for (int i = 1; i < gcd->width; i++) {
-      mask |= gcd->d[i];
-    }
-    *out_relatively_prime = mask == 0;
-  }
-  ret = 1;
-
-err:
-  BN_CTX_end(ctx);
-  return ret;
-}
-
-int bn_lcm_consttime(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) {
-  BN_CTX_start(ctx);
-  unsigned shift;
-  BIGNUM *gcd = BN_CTX_get(ctx);
-  int ret = gcd != NULL &&
-            bn_mul_consttime(r, a, b, ctx) &&
-            bn_gcd_consttime(gcd, &shift, a, b, ctx) &&
-            bn_div_consttime(r, NULL, r, gcd, ctx) &&
-            bn_rshift_secret_shift(r, r, shift, ctx);
-  BN_CTX_end(ctx);
-  return ret;
-}
-
-int bn_mod_inverse_consttime(BIGNUM *r, int *out_no_inverse, const BIGNUM *a,
-                             const BIGNUM *n, BN_CTX *ctx) {
-  *out_no_inverse = 0;
-  if (BN_is_negative(a) || BN_ucmp(a, n) >= 0) {
-    OPENSSL_PUT_ERROR(BN, BN_R_INPUT_NOT_REDUCED);
-    return 0;
-  }
-  if (BN_is_zero(a)) {
-    if (BN_is_one(n)) {
-      BN_zero(r);
-      return 1;
-    }
-    *out_no_inverse = 1;
-    OPENSSL_PUT_ERROR(BN, BN_R_NO_INVERSE);
-    return 0;
-  }
-
-  // This is a constant-time implementation of the extended binary GCD
-  // algorithm. It is adapted from the Handbook of Applied Cryptography, section
-  // 14.4.3, algorithm 14.51, and modified to bound coefficients and avoid
-  // negative numbers.
-  //
-  // For more details and proof of correctness, see
-  // https://github.com/mit-plv/fiat-crypto/pull/333. In particular, see |step|
-  // and |mod_inverse_consttime| for the algorithm in Gallina and see
-  // |mod_inverse_consttime_spec| for the correctness result.
-
-  if (!BN_is_odd(a) && !BN_is_odd(n)) {
-    *out_no_inverse = 1;
-    OPENSSL_PUT_ERROR(BN, BN_R_NO_INVERSE);
-    return 0;
-  }
-
-  // This function exists to compute the RSA private exponent, where |a| is one
-  // word. We'll thus use |a_width| when available.
-  size_t n_width = n->width, a_width = a->width;
-  if (a_width > n_width) {
-    a_width = n_width;
-  }
-
-  int ret = 0;
-  BN_CTX_start(ctx);
-  BIGNUM *u = BN_CTX_get(ctx);
-  BIGNUM *v = BN_CTX_get(ctx);
-  BIGNUM *A = BN_CTX_get(ctx);
-  BIGNUM *B = BN_CTX_get(ctx);
-  BIGNUM *C = BN_CTX_get(ctx);
-  BIGNUM *D = BN_CTX_get(ctx);
-  BIGNUM *tmp = BN_CTX_get(ctx);
-  BIGNUM *tmp2 = BN_CTX_get(ctx);
-  if (u == NULL || v == NULL || A == NULL || B == NULL || C == NULL ||
-      D == NULL || tmp == NULL || tmp2 == NULL ||
-      !BN_copy(u, a) ||
-      !BN_copy(v, n) ||
-      !BN_one(A) ||
-      !BN_one(D) ||
-      // For convenience, size |u| and |v| equivalently.
-      !bn_resize_words(u, n_width) ||
-      !bn_resize_words(v, n_width) ||
-      // |A| and |C| are bounded by |m|.
-      !bn_resize_words(A, n_width) ||
-      !bn_resize_words(C, n_width) ||
-      // |B| and |D| are bounded by |a|.
-      !bn_resize_words(B, a_width) ||
-      !bn_resize_words(D, a_width) ||
-      // |tmp| and |tmp2| may be used at either size.
-      !bn_resize_words(tmp, n_width) ||
-      !bn_resize_words(tmp2, n_width)) {
-    goto err;
-  }
-
-  // Each loop iteration halves at least one of |u| and |v|. Thus we need at
-  // most the combined bit width of inputs for at least one value to be zero.
-  unsigned a_bits = a_width * BN_BITS2, n_bits = n_width * BN_BITS2;
-  unsigned num_iters = a_bits + n_bits;
-  if (num_iters < a_bits) {
-    OPENSSL_PUT_ERROR(BN, BN_R_BIGNUM_TOO_LONG);
-    goto err;
-  }
-
-  // Before and after each loop iteration, the following hold:
-  //
-  //   u = A*a - B*n
-  //   v = D*n - C*a
-  //   0 < u <= a
-  //   0 <= v <= n
-  //   0 <= A < n
-  //   0 <= B <= a
-  //   0 <= C < n
-  //   0 <= D <= a
-  //
-  // After each loop iteration, u and v only get smaller, and at least one of
-  // them shrinks by at least a factor of two.
-  for (unsigned i = 0; i < num_iters; i++) {
-    BN_ULONG both_odd = word_is_odd_mask(u->d[0]) & word_is_odd_mask(v->d[0]);
-
-    // If both |u| and |v| are odd, subtract the smaller from the larger.
-    BN_ULONG v_less_than_u =
-        (BN_ULONG)0 - bn_sub_words(tmp->d, v->d, u->d, n_width);
-    bn_select_words(v->d, both_odd & ~v_less_than_u, tmp->d, v->d, n_width);
-    bn_sub_words(tmp->d, u->d, v->d, n_width);
-    bn_select_words(u->d, both_odd & v_less_than_u, tmp->d, u->d, n_width);
-
-    // If we updated one of the values, update the corresponding coefficient.
-    BN_ULONG carry = bn_add_words(tmp->d, A->d, C->d, n_width);
-    carry -= bn_sub_words(tmp2->d, tmp->d, n->d, n_width);
-    bn_select_words(tmp->d, carry, tmp->d, tmp2->d, n_width);
-    bn_select_words(A->d, both_odd & v_less_than_u, tmp->d, A->d, n_width);
-    bn_select_words(C->d, both_odd & ~v_less_than_u, tmp->d, C->d, n_width);
-
-    bn_add_words(tmp->d, B->d, D->d, a_width);
-    bn_sub_words(tmp2->d, tmp->d, a->d, a_width);
-    bn_select_words(tmp->d, carry, tmp->d, tmp2->d, a_width);
-    bn_select_words(B->d, both_odd & v_less_than_u, tmp->d, B->d, a_width);
-    bn_select_words(D->d, both_odd & ~v_less_than_u, tmp->d, D->d, a_width);
-
-    // Our loop invariants hold at this point. Additionally, exactly one of |u|
-    // and |v| is now even.
-    BN_ULONG u_is_even = ~word_is_odd_mask(u->d[0]);
-    BN_ULONG v_is_even = ~word_is_odd_mask(v->d[0]);
-    assert(u_is_even != v_is_even);
-
-    // Halve the even one and adjust the corresponding coefficient.
-    maybe_rshift1_words(u->d, u_is_even, tmp->d, n_width);
-    BN_ULONG A_or_B_is_odd =
-        word_is_odd_mask(A->d[0]) | word_is_odd_mask(B->d[0]);
-    BN_ULONG A_carry =
-        maybe_add_words(A->d, A_or_B_is_odd & u_is_even, n->d, tmp->d, n_width);
-    BN_ULONG B_carry =
-        maybe_add_words(B->d, A_or_B_is_odd & u_is_even, a->d, tmp->d, a_width);
-    maybe_rshift1_words_carry(A->d, A_carry, u_is_even, tmp->d, n_width);
-    maybe_rshift1_words_carry(B->d, B_carry, u_is_even, tmp->d, a_width);
-
-    maybe_rshift1_words(v->d, v_is_even, tmp->d, n_width);
-    BN_ULONG C_or_D_is_odd =
-        word_is_odd_mask(C->d[0]) | word_is_odd_mask(D->d[0]);
-    BN_ULONG C_carry =
-        maybe_add_words(C->d, C_or_D_is_odd & v_is_even, n->d, tmp->d, n_width);
-    BN_ULONG D_carry =
-        maybe_add_words(D->d, C_or_D_is_odd & v_is_even, a->d, tmp->d, a_width);
-    maybe_rshift1_words_carry(C->d, C_carry, v_is_even, tmp->d, n_width);
-    maybe_rshift1_words_carry(D->d, D_carry, v_is_even, tmp->d, a_width);
-  }
-
-  assert(BN_is_zero(v));
-  if (!BN_is_one(u)) {
-    *out_no_inverse = 1;
-    OPENSSL_PUT_ERROR(BN, BN_R_NO_INVERSE);
-    goto err;
-  }
-
-  ret = BN_copy(r, A) != NULL;
-
-err:
-  BN_CTX_end(ctx);
-  return ret;
-}
-
 int BN_mod_inverse_odd(BIGNUM *out, int *out_no_inverse, const BIGNUM *a,
                        const BIGNUM *n, BN_CTX *ctx) {
   *out_no_inverse = 0;
diff --git a/src/crypto/fipsmodule/bn/gcd_extra.c b/src/crypto/fipsmodule/bn/gcd_extra.c
new file mode 100644
index 0000000..30540e3
--- /dev/null
+++ b/src/crypto/fipsmodule/bn/gcd_extra.c
@@ -0,0 +1,325 @@
+/* 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 <openssl/bn.h>
+
+#include <assert.h>
+
+#include <openssl/err.h>
+
+#include "internal.h"
+
+
+static BN_ULONG word_is_odd_mask(BN_ULONG a) { return (BN_ULONG)0 - (a & 1); }
+
+static void maybe_rshift1_words(BN_ULONG *a, BN_ULONG mask, BN_ULONG *tmp,
+                                size_t num) {
+  bn_rshift1_words(tmp, a, num);
+  bn_select_words(a, mask, tmp, a, num);
+}
+
+static void maybe_rshift1_words_carry(BN_ULONG *a, BN_ULONG carry,
+                                      BN_ULONG mask, BN_ULONG *tmp,
+                                      size_t num) {
+  maybe_rshift1_words(a, mask, tmp, num);
+  if (num != 0) {
+    carry &= mask;
+    a[num - 1] |= carry << (BN_BITS2-1);
+  }
+}
+
+static BN_ULONG maybe_add_words(BN_ULONG *a, BN_ULONG mask, const BN_ULONG *b,
+                                BN_ULONG *tmp, size_t num) {
+  BN_ULONG carry = bn_add_words(tmp, a, b, num);
+  bn_select_words(a, mask, tmp, a, num);
+  return carry & mask;
+}
+
+static int bn_gcd_consttime(BIGNUM *r, unsigned *out_shift, const BIGNUM *x,
+                            const BIGNUM *y, BN_CTX *ctx) {
+  size_t width = x->width > y->width ? x->width : y->width;
+  if (width == 0) {
+    *out_shift = 0;
+    BN_zero(r);
+    return 1;
+  }
+
+  // This is a constant-time implementation of Stein's algorithm (binary GCD).
+  int ret = 0;
+  BN_CTX_start(ctx);
+  BIGNUM *u = BN_CTX_get(ctx);
+  BIGNUM *v = BN_CTX_get(ctx);
+  BIGNUM *tmp = BN_CTX_get(ctx);
+  if (u == NULL || v == NULL || tmp == NULL ||
+      !BN_copy(u, x) ||
+      !BN_copy(v, y) ||
+      !bn_resize_words(u, width) ||
+      !bn_resize_words(v, width) ||
+      !bn_resize_words(tmp, width)) {
+    goto err;
+  }
+
+  // Each loop iteration halves at least one of |u| and |v|. Thus we need at
+  // most the combined bit width of inputs for at least one value to be zero.
+  unsigned x_bits = x->width * BN_BITS2, y_bits = y->width * BN_BITS2;
+  unsigned num_iters = x_bits + y_bits;
+  if (num_iters < x_bits) {
+    OPENSSL_PUT_ERROR(BN, BN_R_BIGNUM_TOO_LONG);
+    goto err;
+  }
+
+  unsigned shift = 0;
+  for (unsigned i = 0; i < num_iters; i++) {
+    BN_ULONG both_odd = word_is_odd_mask(u->d[0]) & word_is_odd_mask(v->d[0]);
+
+    // If both |u| and |v| are odd, subtract the smaller from the larger.
+    BN_ULONG u_less_than_v =
+        (BN_ULONG)0 - bn_sub_words(tmp->d, u->d, v->d, width);
+    bn_select_words(u->d, both_odd & ~u_less_than_v, tmp->d, u->d, width);
+    bn_sub_words(tmp->d, v->d, u->d, width);
+    bn_select_words(v->d, both_odd & u_less_than_v, tmp->d, v->d, width);
+
+    // At least one of |u| and |v| is now even.
+    BN_ULONG u_is_odd = word_is_odd_mask(u->d[0]);
+    BN_ULONG v_is_odd = word_is_odd_mask(v->d[0]);
+    assert(!(u_is_odd & v_is_odd));
+
+    // If both are even, the final GCD gains a factor of two.
+    shift += 1 & (~u_is_odd & ~v_is_odd);
+
+    // Halve any which are even.
+    maybe_rshift1_words(u->d, ~u_is_odd, tmp->d, width);
+    maybe_rshift1_words(v->d, ~v_is_odd, tmp->d, width);
+  }
+
+  // One of |u| or |v| is zero at this point. The algorithm usually makes |u|
+  // zero, unless |y| was already zero on input. Fix this by combining the
+  // values.
+  assert(BN_is_zero(u) || BN_is_zero(v));
+  for (size_t i = 0; i < width; i++) {
+    v->d[i] |= u->d[i];
+  }
+
+  *out_shift = shift;
+  ret = bn_set_words(r, v->d, width);
+
+err:
+  BN_CTX_end(ctx);
+  return ret;
+}
+
+int BN_gcd(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx) {
+  unsigned shift;
+  return bn_gcd_consttime(r, &shift, x, y, ctx) &&
+         BN_lshift(r, r, shift);
+}
+
+int bn_is_relatively_prime(int *out_relatively_prime, const BIGNUM *x,
+                           const BIGNUM *y, BN_CTX *ctx) {
+  int ret = 0;
+  BN_CTX_start(ctx);
+  unsigned shift;
+  BIGNUM *gcd = BN_CTX_get(ctx);
+  if (gcd == NULL ||
+      !bn_gcd_consttime(gcd, &shift, x, y, ctx)) {
+    goto err;
+  }
+
+  // Check that 2^|shift| * |gcd| is one.
+  if (gcd->width == 0) {
+    *out_relatively_prime = 0;
+  } else {
+    BN_ULONG mask = shift | (gcd->d[0] ^ 1);
+    for (int i = 1; i < gcd->width; i++) {
+      mask |= gcd->d[i];
+    }
+    *out_relatively_prime = mask == 0;
+  }
+  ret = 1;
+
+err:
+  BN_CTX_end(ctx);
+  return ret;
+}
+
+int bn_lcm_consttime(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx) {
+  BN_CTX_start(ctx);
+  unsigned shift;
+  BIGNUM *gcd = BN_CTX_get(ctx);
+  int ret = gcd != NULL &&
+            bn_mul_consttime(r, a, b, ctx) &&
+            bn_gcd_consttime(gcd, &shift, a, b, ctx) &&
+            bn_div_consttime(r, NULL, r, gcd, ctx) &&
+            bn_rshift_secret_shift(r, r, shift, ctx);
+  BN_CTX_end(ctx);
+  return ret;
+}
+
+int bn_mod_inverse_consttime(BIGNUM *r, int *out_no_inverse, const BIGNUM *a,
+                             const BIGNUM *n, BN_CTX *ctx) {
+  *out_no_inverse = 0;
+  if (BN_is_negative(a) || BN_ucmp(a, n) >= 0) {
+    OPENSSL_PUT_ERROR(BN, BN_R_INPUT_NOT_REDUCED);
+    return 0;
+  }
+  if (BN_is_zero(a)) {
+    if (BN_is_one(n)) {
+      BN_zero(r);
+      return 1;
+    }
+    *out_no_inverse = 1;
+    OPENSSL_PUT_ERROR(BN, BN_R_NO_INVERSE);
+    return 0;
+  }
+
+  // This is a constant-time implementation of the extended binary GCD
+  // algorithm. It is adapted from the Handbook of Applied Cryptography, section
+  // 14.4.3, algorithm 14.51, and modified to bound coefficients and avoid
+  // negative numbers.
+  //
+  // For more details and proof of correctness, see
+  // https://github.com/mit-plv/fiat-crypto/pull/333. In particular, see |step|
+  // and |mod_inverse_consttime| for the algorithm in Gallina and see
+  // |mod_inverse_consttime_spec| for the correctness result.
+
+  if (!BN_is_odd(a) && !BN_is_odd(n)) {
+    *out_no_inverse = 1;
+    OPENSSL_PUT_ERROR(BN, BN_R_NO_INVERSE);
+    return 0;
+  }
+
+  // This function exists to compute the RSA private exponent, where |a| is one
+  // word. We'll thus use |a_width| when available.
+  size_t n_width = n->width, a_width = a->width;
+  if (a_width > n_width) {
+    a_width = n_width;
+  }
+
+  int ret = 0;
+  BN_CTX_start(ctx);
+  BIGNUM *u = BN_CTX_get(ctx);
+  BIGNUM *v = BN_CTX_get(ctx);
+  BIGNUM *A = BN_CTX_get(ctx);
+  BIGNUM *B = BN_CTX_get(ctx);
+  BIGNUM *C = BN_CTX_get(ctx);
+  BIGNUM *D = BN_CTX_get(ctx);
+  BIGNUM *tmp = BN_CTX_get(ctx);
+  BIGNUM *tmp2 = BN_CTX_get(ctx);
+  if (u == NULL || v == NULL || A == NULL || B == NULL || C == NULL ||
+      D == NULL || tmp == NULL || tmp2 == NULL ||
+      !BN_copy(u, a) ||
+      !BN_copy(v, n) ||
+      !BN_one(A) ||
+      !BN_one(D) ||
+      // For convenience, size |u| and |v| equivalently.
+      !bn_resize_words(u, n_width) ||
+      !bn_resize_words(v, n_width) ||
+      // |A| and |C| are bounded by |m|.
+      !bn_resize_words(A, n_width) ||
+      !bn_resize_words(C, n_width) ||
+      // |B| and |D| are bounded by |a|.
+      !bn_resize_words(B, a_width) ||
+      !bn_resize_words(D, a_width) ||
+      // |tmp| and |tmp2| may be used at either size.
+      !bn_resize_words(tmp, n_width) ||
+      !bn_resize_words(tmp2, n_width)) {
+    goto err;
+  }
+
+  // Each loop iteration halves at least one of |u| and |v|. Thus we need at
+  // most the combined bit width of inputs for at least one value to be zero.
+  unsigned a_bits = a_width * BN_BITS2, n_bits = n_width * BN_BITS2;
+  unsigned num_iters = a_bits + n_bits;
+  if (num_iters < a_bits) {
+    OPENSSL_PUT_ERROR(BN, BN_R_BIGNUM_TOO_LONG);
+    goto err;
+  }
+
+  // Before and after each loop iteration, the following hold:
+  //
+  //   u = A*a - B*n
+  //   v = D*n - C*a
+  //   0 < u <= a
+  //   0 <= v <= n
+  //   0 <= A < n
+  //   0 <= B <= a
+  //   0 <= C < n
+  //   0 <= D <= a
+  //
+  // After each loop iteration, u and v only get smaller, and at least one of
+  // them shrinks by at least a factor of two.
+  for (unsigned i = 0; i < num_iters; i++) {
+    BN_ULONG both_odd = word_is_odd_mask(u->d[0]) & word_is_odd_mask(v->d[0]);
+
+    // If both |u| and |v| are odd, subtract the smaller from the larger.
+    BN_ULONG v_less_than_u =
+        (BN_ULONG)0 - bn_sub_words(tmp->d, v->d, u->d, n_width);
+    bn_select_words(v->d, both_odd & ~v_less_than_u, tmp->d, v->d, n_width);
+    bn_sub_words(tmp->d, u->d, v->d, n_width);
+    bn_select_words(u->d, both_odd & v_less_than_u, tmp->d, u->d, n_width);
+
+    // If we updated one of the values, update the corresponding coefficient.
+    BN_ULONG carry = bn_add_words(tmp->d, A->d, C->d, n_width);
+    carry -= bn_sub_words(tmp2->d, tmp->d, n->d, n_width);
+    bn_select_words(tmp->d, carry, tmp->d, tmp2->d, n_width);
+    bn_select_words(A->d, both_odd & v_less_than_u, tmp->d, A->d, n_width);
+    bn_select_words(C->d, both_odd & ~v_less_than_u, tmp->d, C->d, n_width);
+
+    bn_add_words(tmp->d, B->d, D->d, a_width);
+    bn_sub_words(tmp2->d, tmp->d, a->d, a_width);
+    bn_select_words(tmp->d, carry, tmp->d, tmp2->d, a_width);
+    bn_select_words(B->d, both_odd & v_less_than_u, tmp->d, B->d, a_width);
+    bn_select_words(D->d, both_odd & ~v_less_than_u, tmp->d, D->d, a_width);
+
+    // Our loop invariants hold at this point. Additionally, exactly one of |u|
+    // and |v| is now even.
+    BN_ULONG u_is_even = ~word_is_odd_mask(u->d[0]);
+    BN_ULONG v_is_even = ~word_is_odd_mask(v->d[0]);
+    assert(u_is_even != v_is_even);
+
+    // Halve the even one and adjust the corresponding coefficient.
+    maybe_rshift1_words(u->d, u_is_even, tmp->d, n_width);
+    BN_ULONG A_or_B_is_odd =
+        word_is_odd_mask(A->d[0]) | word_is_odd_mask(B->d[0]);
+    BN_ULONG A_carry =
+        maybe_add_words(A->d, A_or_B_is_odd & u_is_even, n->d, tmp->d, n_width);
+    BN_ULONG B_carry =
+        maybe_add_words(B->d, A_or_B_is_odd & u_is_even, a->d, tmp->d, a_width);
+    maybe_rshift1_words_carry(A->d, A_carry, u_is_even, tmp->d, n_width);
+    maybe_rshift1_words_carry(B->d, B_carry, u_is_even, tmp->d, a_width);
+
+    maybe_rshift1_words(v->d, v_is_even, tmp->d, n_width);
+    BN_ULONG C_or_D_is_odd =
+        word_is_odd_mask(C->d[0]) | word_is_odd_mask(D->d[0]);
+    BN_ULONG C_carry =
+        maybe_add_words(C->d, C_or_D_is_odd & v_is_even, n->d, tmp->d, n_width);
+    BN_ULONG D_carry =
+        maybe_add_words(D->d, C_or_D_is_odd & v_is_even, a->d, tmp->d, a_width);
+    maybe_rshift1_words_carry(C->d, C_carry, v_is_even, tmp->d, n_width);
+    maybe_rshift1_words_carry(D->d, D_carry, v_is_even, tmp->d, a_width);
+  }
+
+  assert(BN_is_zero(v));
+  if (!BN_is_one(u)) {
+    *out_no_inverse = 1;
+    OPENSSL_PUT_ERROR(BN, BN_R_NO_INVERSE);
+    goto err;
+  }
+
+  ret = BN_copy(r, A) != NULL;
+
+err:
+  BN_CTX_end(ctx);
+  return ret;
+}
diff --git a/src/crypto/fipsmodule/bn/internal.h b/src/crypto/fipsmodule/bn/internal.h
index ab2a925..9796831 100644
--- a/src/crypto/fipsmodule/bn/internal.h
+++ b/src/crypto/fipsmodule/bn/internal.h
@@ -185,6 +185,16 @@
 #error "Must define either OPENSSL_32_BIT or OPENSSL_64_BIT"
 #endif
 
+// |BN_mod_exp_mont_consttime| is based on the assumption that the L1 data
+// cache line width of the target processor is at least the following value.
+#define MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH 64
+
+// The number of |BN_ULONG|s needed for the |BN_mod_exp_mont_consttime| stack-
+// allocated storage buffer. The buffer is just the right size for the RSAZ
+// and is about ~1KB larger than what's necessary (4480 bytes) for 1024-bit
+// inputs.
+#define MOD_EXP_CTIME_STORAGE_LEN \
+  (((320u * 3u) + (32u * 9u * 16u)) / sizeof(BN_ULONG))
 
 #define STATIC_BIGNUM(x)                                    \
   {                                                         \
diff --git a/src/crypto/fipsmodule/bn/prime.c b/src/crypto/fipsmodule/bn/prime.c
index 80b33c2..903d6b1 100644
--- a/src/crypto/fipsmodule/bn/prime.c
+++ b/src/crypto/fipsmodule/bn/prime.c
@@ -532,73 +532,6 @@
   return found;
 }
 
-// The following functions use a Barrett reduction variant to avoid leaking the
-// numerator. See http://ridiculousfish.com/blog/posts/labor-of-division-episode-i.html
-//
-// We use 32-bit numerator and 16-bit divisor for simplicity. This allows
-// computing |m| and |q| without architecture-specific code.
-
-// mod_u16 returns |n| mod |d|. |p| and |m| are the "magic numbers" for |d| (see
-// reference). For proof of correctness in Coq, see
-// https://github.com/davidben/fiat-crypto/blob/barrett/src/Arithmetic/BarrettReduction/RidiculousFish.v
-// Note the Coq version of |mod_u16| additionally includes the computation of
-// |p| and |m| from |bn_mod_u16_consttime| below.
-static uint16_t mod_u16(uint32_t n, uint16_t d, uint32_t p, uint32_t m) {
-  // Compute floor(n/d) per steps 3 through 5.
-  uint32_t q = ((uint64_t)m * n) >> 32;
-  // Note there is a typo in the reference. We right-shift by one, not two.
-  uint32_t t = ((n - q) >> 1) + q;
-  t = t >> (p - 1);
-
-  // Multiply and subtract to get the remainder.
-  n -= d * t;
-  assert(n < d);
-  return n;
-}
-
-// shift_and_add_mod_u16 returns |r| * 2^32 + |a| mod |d|. |p| and |m| are the
-// "magic numbers" for |d| (see reference).
-static uint16_t shift_and_add_mod_u16(uint16_t r, uint32_t a, uint16_t d,
-                                      uint32_t p, uint32_t m) {
-  // Incorporate |a| in two 16-bit chunks.
-  uint32_t t = r;
-  t <<= 16;
-  t |= a >> 16;
-  t = mod_u16(t, d, p, m);
-
-  t <<= 16;
-  t |= a & 0xffff;
-  t = mod_u16(t, d, p, m);
-  return t;
-}
-
-uint16_t bn_mod_u16_consttime(const BIGNUM *bn, uint16_t d) {
-  if (d <= 1) {
-    return 0;
-  }
-
-  // Compute the "magic numbers" for |d|. See steps 1 and 2.
-  // This computes p = ceil(log_2(d)).
-  uint32_t p = BN_num_bits_word(d - 1);
-  // This operation is not constant-time, but |p| and |d| are public values.
-  // Note that |p| is at most 16, so the computation fits in |uint64_t|.
-  assert(p <= 16);
-  uint32_t m = ((UINT64_C(1) << (32 + p)) + d - 1) / d;
-
-  uint16_t ret = 0;
-  for (int i = bn->width - 1; i >= 0; i--) {
-#if BN_BITS2 == 32
-    ret = shift_and_add_mod_u16(ret, bn->d[i], d, p, m);
-#elif BN_BITS2 == 64
-    ret = shift_and_add_mod_u16(ret, bn->d[i] >> 32, d, p, m);
-    ret = shift_and_add_mod_u16(ret, bn->d[i] & 0xffffffff, d, p, m);
-#else
-#error "Unknown BN_ULONG size"
-#endif
-  }
-  return ret;
-}
-
 static int bn_trial_division(uint16_t *out, const BIGNUM *bn) {
   const size_t num_primes = num_trial_division_primes(bn);
   for (size_t i = 1; i < num_primes; i++) {
diff --git a/src/crypto/fipsmodule/bn/rsaz_exp.c b/src/crypto/fipsmodule/bn/rsaz_exp.c
index 97c58ba..3f355b6 100644
--- a/src/crypto/fipsmodule/bn/rsaz_exp.c
+++ b/src/crypto/fipsmodule/bn/rsaz_exp.c
@@ -20,6 +20,7 @@
 
 #include <openssl/mem.h>
 
+#include "internal.h"
 #include "../../internal.h"
 
 
@@ -45,8 +46,13 @@
 
 void RSAZ_1024_mod_exp_avx2(BN_ULONG result_norm[16],
 	const BN_ULONG base_norm[16], const BN_ULONG exponent[16],
-	const BN_ULONG m_norm[16], const BN_ULONG RR[16], BN_ULONG k0) {
-  alignas(64) uint8_t storage[(320 * 3) + (32 * 9 * 16)];  // 5.5KB
+	const BN_ULONG m_norm[16], const BN_ULONG RR[16], BN_ULONG k0,
+	BN_ULONG storage_words[MOD_EXP_CTIME_STORAGE_LEN]) {
+  OPENSSL_COMPILE_ASSERT(MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH % 64 == 0,
+      MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH_is_large_enough);
+  unsigned char *storage = (unsigned char *)storage_words;
+  assert((uintptr_t)storage % 64 == 0);
+
   unsigned char *a_inv, *m, *result, *table_s = storage + (320 * 3),
                                      *R2 = table_s;  // borrow
   if (((((uintptr_t)storage & 4095) + 320) >> 12) != 0) {
diff --git a/src/crypto/fipsmodule/bn/rsaz_exp.h b/src/crypto/fipsmodule/bn/rsaz_exp.h
index af973a5..b6aea14 100644
--- a/src/crypto/fipsmodule/bn/rsaz_exp.h
+++ b/src/crypto/fipsmodule/bn/rsaz_exp.h
@@ -17,14 +17,19 @@
 
 #include <openssl/bn.h>
 
+#include "internal.h"
+
 // RSAZ_1024_mod_exp_avx2 sets |result| to |base_norm| raised to |exponent|
 // modulo |m_norm|. |base_norm| must be fully-reduced and |exponent| must have
 // the high bit set (it is 1024 bits wide). |RR| and |k0| must be |RR| and |n0|,
-// respectively, extracted from |m_norm|'s |BN_MONT_CTX|.
+// respectively, extracted from |m_norm|'s |BN_MONT_CTX|. |storage_words| is a
+// temporary buffer that must be aligned to |MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH|
+// bytes.
 void RSAZ_1024_mod_exp_avx2(BN_ULONG result[16], const BN_ULONG base_norm[16],
                             const BN_ULONG exponent[16],
                             const BN_ULONG m_norm[16], const BN_ULONG RR[16],
-                            BN_ULONG k0);
+                            BN_ULONG k0,
+                            BN_ULONG storage_words[MOD_EXP_CTIME_STORAGE_LEN]);
 
 // rsaz_avx2_eligible returns one if |RSAZ_1024_mod_exp_avx2| should be used and
 // zero otherwise.
diff --git a/src/crypto/fipsmodule/cipher/cipher.c b/src/crypto/fipsmodule/cipher/cipher.c
index f3d4057..39e038b 100644
--- a/src/crypto/fipsmodule/cipher/cipher.c
+++ b/src/crypto/fipsmodule/cipher/cipher.c
@@ -496,6 +496,10 @@
   return ctx->cipher->nid;
 }
 
+int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx) {
+  return ctx->encrypt;
+}
+
 unsigned EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx) {
   return ctx->cipher->block_size;
 }
diff --git a/src/crypto/fipsmodule/cipher/e_aes.c b/src/crypto/fipsmodule/cipher/e_aes.c
index 8377f0c..639995d 100644
--- a/src/crypto/fipsmodule/cipher/e_aes.c
+++ b/src/crypto/fipsmodule/cipher/e_aes.c
@@ -68,6 +68,7 @@
 #endif
 
 
+OPENSSL_MSVC_PRAGMA(warning(push))
 OPENSSL_MSVC_PRAGMA(warning(disable: 4702))  // Unreachable code.
 
 typedef struct {
@@ -188,38 +189,6 @@
 }
 #endif
 
-#if !defined(OPENSSL_NO_ASM) && \
-    (defined(OPENSSL_X86_64) || defined(OPENSSL_X86))
-int aesni_set_encrypt_key(const uint8_t *userKey, int bits, AES_KEY *key);
-int aesni_set_decrypt_key(const uint8_t *userKey, int bits, AES_KEY *key);
-
-void aesni_encrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key);
-void aesni_decrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key);
-
-void aesni_ecb_encrypt(const uint8_t *in, uint8_t *out, size_t length,
-                       const AES_KEY *key, int enc);
-void aesni_cbc_encrypt(const uint8_t *in, uint8_t *out, size_t length,
-                       const AES_KEY *key, uint8_t *ivec, int enc);
-
-#else
-
-// On other platforms, aesni_capable() will always return false and so the
-// following will never be called.
-static void aesni_encrypt(const uint8_t *in, uint8_t *out, const AES_KEY *key) {
-  abort();
-}
-static int aesni_set_encrypt_key(const uint8_t *userKey, int bits,
-                                 AES_KEY *key) {
-  abort();
-}
-static void aesni_ctr32_encrypt_blocks(const uint8_t *in, uint8_t *out,
-                                       size_t blocks, const void *key,
-                                       const uint8_t *ivec) {
-  abort();
-}
-
-#endif
-
 static int aes_init_key(EVP_CIPHER_CTX *ctx, const uint8_t *key,
                         const uint8_t *iv, int enc) {
   int ret, mode;
@@ -336,26 +305,13 @@
   return 1;
 }
 
-static char aesni_capable(void);
-
 ctr128_f aes_ctr_set_key(AES_KEY *aes_key, GCM128_CONTEXT *gcm_ctx,
                          block128_f *out_block, const uint8_t *key,
                          size_t key_bytes) {
-  if (aesni_capable()) {
-    aesni_set_encrypt_key(key, key_bytes * 8, aes_key);
-    if (gcm_ctx != NULL) {
-      CRYPTO_gcm128_init(gcm_ctx, aes_key, (block128_f)aesni_encrypt, 1);
-    }
-    if (out_block) {
-      *out_block = (block128_f) aesni_encrypt;
-    }
-    return (ctr128_f)aesni_ctr32_encrypt_blocks;
-  }
-
   if (hwaes_capable()) {
     aes_hw_set_encrypt_key(key, key_bytes * 8, aes_key);
     if (gcm_ctx != NULL) {
-      CRYPTO_gcm128_init(gcm_ctx, aes_key, (block128_f)aes_hw_encrypt, 0);
+      CRYPTO_gcm128_init(gcm_ctx, aes_key, (block128_f)aes_hw_encrypt, 1);
     }
     if (out_block) {
       *out_block = (block128_f) aes_hw_encrypt;
@@ -462,7 +418,7 @@
       gctx->iv_gen = 0;
       return 1;
 
-    case EVP_CTRL_GCM_SET_IVLEN:
+    case EVP_CTRL_AEAD_SET_IVLEN:
       if (arg <= 0) {
         return 0;
       }
@@ -480,7 +436,7 @@
       gctx->ivlen = arg;
       return 1;
 
-    case EVP_CTRL_GCM_SET_TAG:
+    case EVP_CTRL_AEAD_SET_TAG:
       if (arg <= 0 || arg > 16 || c->encrypt) {
         return 0;
       }
@@ -488,14 +444,14 @@
       gctx->taglen = arg;
       return 1;
 
-    case EVP_CTRL_GCM_GET_TAG:
+    case EVP_CTRL_AEAD_GET_TAG:
       if (arg <= 0 || arg > 16 || !c->encrypt || gctx->taglen < 0) {
         return 0;
       }
       OPENSSL_memcpy(ptr, c->buf, arg);
       return 1;
 
-    case EVP_CTRL_GCM_SET_IV_FIXED:
+    case EVP_CTRL_AEAD_SET_IV_FIXED:
       // Special case: -1 length restores whole IV
       if (arg == -1) {
         OPENSSL_memcpy(gctx->iv, ptr, gctx->ivlen);
@@ -725,6 +681,19 @@
   out->cipher = aes_ecb_cipher;
 }
 
+DEFINE_LOCAL_DATA(EVP_CIPHER, aes_192_ofb_generic) {
+  memset(out, 0, sizeof(EVP_CIPHER));
+
+  out->nid = NID_aes_192_ofb128;
+  out->block_size = 1;
+  out->key_len = 24;
+  out->iv_len = 16;
+  out->ctx_size = sizeof(EVP_AES_KEY);
+  out->flags = EVP_CIPH_OFB_MODE;
+  out->init = aes_init_key;
+  out->cipher = aes_ofb_cipher;
+}
+
 DEFINE_LOCAL_DATA(EVP_CIPHER, aes_192_gcm_generic) {
   memset(out, 0, sizeof(EVP_CIPHER));
 
@@ -810,126 +779,22 @@
   out->ctrl = aes_gcm_ctrl;
 }
 
-#if !defined(OPENSSL_NO_ASM) && \
-    (defined(OPENSSL_X86_64) || defined(OPENSSL_X86))
+#if defined(HWAES_ECB)
 
-// AES-NI section.
-
-static char aesni_capable(void) {
-  return (OPENSSL_ia32cap_P[1] & (1 << (57 - 32))) != 0;
-}
-
-static int aesni_init_key(EVP_CIPHER_CTX *ctx, const uint8_t *key,
-                          const uint8_t *iv, int enc) {
-  int ret, mode;
-  EVP_AES_KEY *dat = (EVP_AES_KEY *)ctx->cipher_data;
-
-  mode = ctx->cipher->flags & EVP_CIPH_MODE_MASK;
-  if ((mode == EVP_CIPH_ECB_MODE || mode == EVP_CIPH_CBC_MODE) && !enc) {
-    ret = aesni_set_decrypt_key(key, ctx->key_len * 8, ctx->cipher_data);
-    dat->block = (block128_f)aesni_decrypt;
-    dat->stream.cbc =
-        mode == EVP_CIPH_CBC_MODE ? (cbc128_f)aesni_cbc_encrypt : NULL;
-  } else {
-    ret = aesni_set_encrypt_key(key, ctx->key_len * 8, ctx->cipher_data);
-    dat->block = (block128_f)aesni_encrypt;
-    if (mode == EVP_CIPH_CBC_MODE) {
-      dat->stream.cbc = (cbc128_f)aesni_cbc_encrypt;
-    } else if (mode == EVP_CIPH_CTR_MODE) {
-      dat->stream.ctr = (ctr128_f)aesni_ctr32_encrypt_blocks;
-    } else {
-      dat->stream.cbc = NULL;
-    }
-  }
-
-  if (ret < 0) {
-    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_AES_KEY_SETUP_FAILED);
-    return 0;
-  }
-
-  return 1;
-}
-
-static int aesni_cbc_cipher(EVP_CIPHER_CTX *ctx, uint8_t *out,
-                            const uint8_t *in, size_t len) {
-  aesni_cbc_encrypt(in, out, len, ctx->cipher_data, ctx->iv, ctx->encrypt);
-
-  return 1;
-}
-
-static int aesni_ecb_cipher(EVP_CIPHER_CTX *ctx, uint8_t *out,
-                            const uint8_t *in, size_t len) {
+static int aes_hw_ecb_cipher(EVP_CIPHER_CTX *ctx, uint8_t *out,
+                             const uint8_t *in, size_t len) {
   size_t bl = ctx->cipher->block_size;
 
   if (len < bl) {
     return 1;
   }
 
-  aesni_ecb_encrypt(in, out, len, ctx->cipher_data, ctx->encrypt);
+  aes_hw_ecb_encrypt(in, out, len, ctx->cipher_data, ctx->encrypt);
 
   return 1;
 }
 
-static int aesni_gcm_init_key(EVP_CIPHER_CTX *ctx, const uint8_t *key,
-                              const uint8_t *iv, int enc) {
-  EVP_AES_GCM_CTX *gctx = ctx->cipher_data;
-  if (!iv && !key) {
-    return 1;
-  }
-  if (key) {
-    aesni_set_encrypt_key(key, ctx->key_len * 8, &gctx->ks.ks);
-    CRYPTO_gcm128_init(&gctx->gcm, &gctx->ks, (block128_f)aesni_encrypt, 1);
-    gctx->ctr = (ctr128_f)aesni_ctr32_encrypt_blocks;
-    // If we have an iv can set it directly, otherwise use
-    // saved IV.
-    if (iv == NULL && gctx->iv_set) {
-      iv = gctx->iv;
-    }
-    if (iv) {
-      CRYPTO_gcm128_setiv(&gctx->gcm, &gctx->ks.ks, iv, gctx->ivlen);
-      gctx->iv_set = 1;
-    }
-    gctx->key_set = 1;
-  } else {
-    // If key set use IV, otherwise copy
-    if (gctx->key_set) {
-      CRYPTO_gcm128_setiv(&gctx->gcm, &gctx->ks.ks, iv, gctx->ivlen);
-    } else {
-      OPENSSL_memcpy(gctx->iv, iv, gctx->ivlen);
-    }
-    gctx->iv_set = 1;
-    gctx->iv_gen = 0;
-  }
-  return 1;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_128_cbc) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_128_cbc;
-  out->block_size = 16;
-  out->key_len = 16;
-  out->iv_len = 16;
-  out->ctx_size = sizeof(EVP_AES_KEY);
-  out->flags = EVP_CIPH_CBC_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aesni_cbc_cipher;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_128_ctr) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_128_ctr;
-  out->block_size = 1;
-  out->key_len = 16;
-  out->iv_len = 16;
-  out->ctx_size = sizeof(EVP_AES_KEY);
-  out->flags = EVP_CIPH_CTR_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aes_ctr_cipher;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_128_ecb) {
+DEFINE_LOCAL_DATA(EVP_CIPHER, aes_hw_128_ecb) {
   memset(out, 0, sizeof(EVP_CIPHER));
 
   out->nid = NID_aes_128_ecb;
@@ -937,67 +802,11 @@
   out->key_len = 16;
   out->ctx_size = sizeof(EVP_AES_KEY);
   out->flags = EVP_CIPH_ECB_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aesni_ecb_cipher;
+  out->init = aes_init_key;
+  out->cipher = aes_hw_ecb_cipher;
 }
 
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_128_ofb) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_128_ofb128;
-  out->block_size = 1;
-  out->key_len = 16;
-  out->iv_len = 16;
-  out->ctx_size = sizeof(EVP_AES_KEY);
-  out->flags = EVP_CIPH_OFB_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aes_ofb_cipher;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_128_gcm) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_128_gcm;
-  out->block_size = 1;
-  out->key_len = 16;
-  out->iv_len = 12;
-  out->ctx_size = sizeof(EVP_AES_GCM_CTX);
-  out->flags = EVP_CIPH_GCM_MODE | EVP_CIPH_CUSTOM_IV |
-               EVP_CIPH_FLAG_CUSTOM_CIPHER | EVP_CIPH_ALWAYS_CALL_INIT |
-               EVP_CIPH_CTRL_INIT | EVP_CIPH_FLAG_AEAD_CIPHER;
-  out->init = aesni_gcm_init_key;
-  out->cipher = aes_gcm_cipher;
-  out->cleanup = aes_gcm_cleanup;
-  out->ctrl = aes_gcm_ctrl;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_192_cbc) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_192_cbc;
-  out->block_size = 16;
-  out->key_len = 24;
-  out->iv_len = 16;
-  out->ctx_size = sizeof(EVP_AES_KEY);
-  out->flags = EVP_CIPH_CBC_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aesni_cbc_cipher;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_192_ctr) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_192_ctr;
-  out->block_size = 1;
-  out->key_len = 24;
-  out->iv_len = 16;
-  out->ctx_size = sizeof(EVP_AES_KEY);
-  out->flags = EVP_CIPH_CTR_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aes_ctr_cipher;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_192_ecb) {
+DEFINE_LOCAL_DATA(EVP_CIPHER, aes_hw_192_ecb) {
   memset(out, 0, sizeof(EVP_CIPHER));
 
   out->nid = NID_aes_192_ecb;
@@ -1005,54 +814,11 @@
   out->key_len = 24;
   out->ctx_size = sizeof(EVP_AES_KEY);
   out->flags = EVP_CIPH_ECB_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aesni_ecb_cipher;
+  out->init = aes_init_key;
+  out->cipher = aes_hw_ecb_cipher;
 }
 
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_192_gcm) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_192_gcm;
-  out->block_size = 1;
-  out->key_len = 24;
-  out->iv_len = 12;
-  out->ctx_size = sizeof(EVP_AES_GCM_CTX);
-  out->flags = EVP_CIPH_GCM_MODE | EVP_CIPH_CUSTOM_IV |
-               EVP_CIPH_FLAG_CUSTOM_CIPHER | EVP_CIPH_ALWAYS_CALL_INIT |
-               EVP_CIPH_CTRL_INIT | EVP_CIPH_FLAG_AEAD_CIPHER;
-  out->init = aesni_gcm_init_key;
-  out->cipher = aes_gcm_cipher;
-  out->cleanup = aes_gcm_cleanup;
-  out->ctrl = aes_gcm_ctrl;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_256_cbc) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_256_cbc;
-  out->block_size = 16;
-  out->key_len = 32;
-  out->iv_len = 16;
-  out->ctx_size = sizeof(EVP_AES_KEY);
-  out->flags = EVP_CIPH_CBC_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aesni_cbc_cipher;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_256_ctr) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_256_ctr;
-  out->block_size = 1;
-  out->key_len = 32;
-  out->iv_len = 16;
-  out->ctx_size = sizeof(EVP_AES_KEY);
-  out->flags = EVP_CIPH_CTR_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aes_ctr_cipher;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_256_ecb) {
+DEFINE_LOCAL_DATA(EVP_CIPHER, aes_hw_256_ecb) {
   memset(out, 0, sizeof(EVP_CIPHER));
 
   out->nid = NID_aes_256_ecb;
@@ -1060,80 +826,51 @@
   out->key_len = 32;
   out->ctx_size = sizeof(EVP_AES_KEY);
   out->flags = EVP_CIPH_ECB_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aesni_ecb_cipher;
+  out->init = aes_init_key;
+  out->cipher = aes_hw_ecb_cipher;
 }
 
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_256_ofb) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_256_ofb128;
-  out->block_size = 1;
-  out->key_len = 32;
-  out->iv_len = 16;
-  out->ctx_size = sizeof(EVP_AES_KEY);
-  out->flags = EVP_CIPH_OFB_MODE;
-  out->init = aesni_init_key;
-  out->cipher = aes_ofb_cipher;
-}
-
-DEFINE_LOCAL_DATA(EVP_CIPHER, aesni_256_gcm) {
-  memset(out, 0, sizeof(EVP_CIPHER));
-
-  out->nid = NID_aes_256_gcm;
-  out->block_size = 1;
-  out->key_len = 32;
-  out->iv_len = 12;
-  out->ctx_size = sizeof(EVP_AES_GCM_CTX);
-  out->flags = EVP_CIPH_GCM_MODE | EVP_CIPH_CUSTOM_IV |
-               EVP_CIPH_FLAG_CUSTOM_CIPHER | EVP_CIPH_ALWAYS_CALL_INIT |
-               EVP_CIPH_CTRL_INIT | EVP_CIPH_CUSTOM_COPY |
-               EVP_CIPH_FLAG_AEAD_CIPHER;
-  out->init = aesni_gcm_init_key;
-  out->cipher = aes_gcm_cipher;
-  out->cleanup = aes_gcm_cleanup;
-  out->ctrl = aes_gcm_ctrl;
-}
-
-#define EVP_CIPHER_FUNCTION(keybits, mode)             \
-  const EVP_CIPHER *EVP_aes_##keybits##_##mode(void) { \
-    if (aesni_capable()) {                             \
-      return aesni_##keybits##_##mode();               \
-    } else {                                           \
-      return aes_##keybits##_##mode##_generic();       \
-    }                                                  \
+#define EVP_ECB_CIPHER_FUNCTION(keybits)            \
+  const EVP_CIPHER *EVP_aes_##keybits##_ecb(void) { \
+    if (hwaes_capable()) {                          \
+      return aes_hw_##keybits##_ecb();              \
+    }                                               \
+    return aes_##keybits##_ecb_generic();           \
   }
 
-#else  // ^^^  OPENSSL_X86_64 || OPENSSL_X86
+#else
 
-static char aesni_capable(void) {
-  return 0;
-}
+#define EVP_ECB_CIPHER_FUNCTION(keybits)            \
+  const EVP_CIPHER *EVP_aes_##keybits##_ecb(void) { \
+    return aes_##keybits##_ecb_generic();           \
+  }
+
+#endif  // HWAES_ECB
 
 #define EVP_CIPHER_FUNCTION(keybits, mode)             \
   const EVP_CIPHER *EVP_aes_##keybits##_##mode(void) { \
     return aes_##keybits##_##mode##_generic();         \
   }
 
-#endif
-
 EVP_CIPHER_FUNCTION(128, cbc)
 EVP_CIPHER_FUNCTION(128, ctr)
-EVP_CIPHER_FUNCTION(128, ecb)
 EVP_CIPHER_FUNCTION(128, ofb)
 EVP_CIPHER_FUNCTION(128, gcm)
 
 EVP_CIPHER_FUNCTION(192, cbc)
 EVP_CIPHER_FUNCTION(192, ctr)
-EVP_CIPHER_FUNCTION(192, ecb)
+EVP_CIPHER_FUNCTION(192, ofb)
 EVP_CIPHER_FUNCTION(192, gcm)
 
 EVP_CIPHER_FUNCTION(256, cbc)
 EVP_CIPHER_FUNCTION(256, ctr)
-EVP_CIPHER_FUNCTION(256, ecb)
 EVP_CIPHER_FUNCTION(256, ofb)
 EVP_CIPHER_FUNCTION(256, gcm)
 
+EVP_ECB_CIPHER_FUNCTION(128)
+EVP_ECB_CIPHER_FUNCTION(192)
+EVP_ECB_CIPHER_FUNCTION(256)
+
 
 #define EVP_AEAD_AES_GCM_TAG_LEN 16
 
@@ -1146,11 +883,6 @@
   ctr128_f ctr;
 };
 
-struct aead_aes_gcm_tls12_ctx {
-  struct aead_aes_gcm_ctx gcm_ctx;
-  uint64_t min_next_nonce;
-};
-
 static int aead_aes_gcm_init_impl(struct aead_aes_gcm_ctx *gcm_ctx,
                                   size_t *out_tag_len, const uint8_t *key,
                                   size_t key_len, size_t tag_len) {
@@ -1341,6 +1073,11 @@
   out->open_gather = aead_aes_gcm_open_gather;
 }
 
+struct aead_aes_gcm_tls12_ctx {
+  struct aead_aes_gcm_ctx gcm_ctx;
+  uint64_t min_next_nonce;
+};
+
 static int aead_aes_gcm_tls12_init(EVP_AEAD_CTX *ctx, const uint8_t *key,
                                    size_t key_len, size_t requested_tag_len) {
   struct aead_aes_gcm_tls12_ctx *gcm_ctx;
@@ -1363,10 +1100,6 @@
   return 1;
 }
 
-static void aead_aes_gcm_tls12_cleanup(EVP_AEAD_CTX *ctx) {
-  OPENSSL_free(ctx->aead_state);
-}
-
 static int aead_aes_gcm_tls12_seal_scatter(
     const EVP_AEAD_CTX *ctx, uint8_t *out, uint8_t *out_tag,
     size_t *out_tag_len, size_t max_out_tag_len, const uint8_t *nonce,
@@ -1406,7 +1139,7 @@
   out->seal_scatter_supports_extra_in = 1;
 
   out->init = aead_aes_gcm_tls12_init;
-  out->cleanup = aead_aes_gcm_tls12_cleanup;
+  out->cleanup = aead_aes_gcm_cleanup;
   out->seal_scatter = aead_aes_gcm_tls12_seal_scatter;
   out->open_gather = aead_aes_gcm_open_gather;
 }
@@ -1421,17 +1154,119 @@
   out->seal_scatter_supports_extra_in = 1;
 
   out->init = aead_aes_gcm_tls12_init;
-  out->cleanup = aead_aes_gcm_tls12_cleanup;
+  out->cleanup = aead_aes_gcm_cleanup;
   out->seal_scatter = aead_aes_gcm_tls12_seal_scatter;
   out->open_gather = aead_aes_gcm_open_gather;
 }
 
+struct aead_aes_gcm_tls13_ctx {
+  struct aead_aes_gcm_ctx gcm_ctx;
+  uint64_t min_next_nonce;
+  uint64_t mask;
+  uint8_t first;
+};
+
+static int aead_aes_gcm_tls13_init(EVP_AEAD_CTX *ctx, const uint8_t *key,
+                                   size_t key_len, size_t requested_tag_len) {
+  struct aead_aes_gcm_tls13_ctx *gcm_ctx;
+  gcm_ctx = OPENSSL_malloc(sizeof(struct aead_aes_gcm_tls13_ctx));
+  if (gcm_ctx == NULL) {
+    return 0;
+  }
+
+  gcm_ctx->min_next_nonce = 0;
+  gcm_ctx->first = 1;
+
+  size_t actual_tag_len;
+  if (!aead_aes_gcm_init_impl(&gcm_ctx->gcm_ctx, &actual_tag_len, key, key_len,
+                              requested_tag_len)) {
+    OPENSSL_free(gcm_ctx);
+    return 0;
+  }
+
+  ctx->aead_state = gcm_ctx;
+  ctx->tag_len = actual_tag_len;
+  return 1;
+}
+
+static int aead_aes_gcm_tls13_seal_scatter(
+    const EVP_AEAD_CTX *ctx, uint8_t *out, uint8_t *out_tag,
+    size_t *out_tag_len, size_t max_out_tag_len, const uint8_t *nonce,
+    size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *extra_in,
+    size_t extra_in_len, const uint8_t *ad, size_t ad_len) {
+  struct aead_aes_gcm_tls13_ctx *gcm_ctx = ctx->aead_state;
+  if (nonce_len != 12) {
+    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_UNSUPPORTED_NONCE_SIZE);
+    return 0;
+  }
+
+  // The given nonces must be strictly monotonically increasing. See
+  // https://tools.ietf.org/html/draft-ietf-tls-tls13-28#section-5.3 for details
+  // of the TLS 1.3 nonce construction.
+  uint64_t given_counter;
+  OPENSSL_memcpy(&given_counter, nonce + nonce_len - sizeof(given_counter),
+                 sizeof(given_counter));
+  given_counter = CRYPTO_bswap8(given_counter);
+
+  if (gcm_ctx->first) {
+    // In the first call the sequence number will be zero and therefore the
+    // given nonce will be 0 ^ mask = mask.
+    gcm_ctx->mask = given_counter;
+    gcm_ctx->first = 0;
+  }
+  given_counter ^= gcm_ctx->mask;
+
+  if (given_counter == UINT64_MAX ||
+      given_counter < gcm_ctx->min_next_nonce) {
+    OPENSSL_PUT_ERROR(CIPHER, CIPHER_R_INVALID_NONCE);
+    return 0;
+  }
+
+  gcm_ctx->min_next_nonce = given_counter + 1;
+
+  return aead_aes_gcm_seal_scatter(ctx, out, out_tag, out_tag_len,
+                                   max_out_tag_len, nonce, nonce_len, in,
+                                   in_len, extra_in, extra_in_len, ad, ad_len);
+}
+
+DEFINE_METHOD_FUNCTION(EVP_AEAD, EVP_aead_aes_128_gcm_tls13) {
+  memset(out, 0, sizeof(EVP_AEAD));
+
+  out->key_len = 16;
+  out->nonce_len = 12;
+  out->overhead = EVP_AEAD_AES_GCM_TAG_LEN;
+  out->max_tag_len = EVP_AEAD_AES_GCM_TAG_LEN;
+  out->seal_scatter_supports_extra_in = 1;
+
+  out->init = aead_aes_gcm_tls13_init;
+  out->cleanup = aead_aes_gcm_cleanup;
+  out->seal_scatter = aead_aes_gcm_tls13_seal_scatter;
+  out->open_gather = aead_aes_gcm_open_gather;
+}
+
+DEFINE_METHOD_FUNCTION(EVP_AEAD, EVP_aead_aes_256_gcm_tls13) {
+  memset(out, 0, sizeof(EVP_AEAD));
+
+  out->key_len = 32;
+  out->nonce_len = 12;
+  out->overhead = EVP_AEAD_AES_GCM_TAG_LEN;
+  out->max_tag_len = EVP_AEAD_AES_GCM_TAG_LEN;
+  out->seal_scatter_supports_extra_in = 1;
+
+  out->init = aead_aes_gcm_tls13_init;
+  out->cleanup = aead_aes_gcm_cleanup;
+  out->seal_scatter = aead_aes_gcm_tls13_seal_scatter;
+  out->open_gather = aead_aes_gcm_open_gather;
+}
+
 int EVP_has_aes_hardware(void) {
 #if defined(OPENSSL_X86) || defined(OPENSSL_X86_64)
-  return aesni_capable() && crypto_gcm_clmul_enabled();
+  return hwaes_capable() && crypto_gcm_clmul_enabled();
 #elif defined(OPENSSL_ARM) || defined(OPENSSL_AARCH64)
   return hwaes_capable() && CRYPTO_is_ARMv8_PMULL_capable();
 #else
   return 0;
 #endif
 }
+
+OPENSSL_MSVC_PRAGMA(warning(pop))
diff --git a/src/crypto/fipsmodule/delocate.h b/src/crypto/fipsmodule/delocate.h
index 065a21c..59effde 100644
--- a/src/crypto/fipsmodule/delocate.h
+++ b/src/crypto/fipsmodule/delocate.h
@@ -23,7 +23,7 @@
 #if defined(BORINGSSL_FIPS) && !defined(OPENSSL_ASAN) && !defined(OPENSSL_MSAN)
 #define DEFINE_BSS_GET(type, name)        \
   static type name __attribute__((used)); \
-  type *name##_bss_get(void);
+  type *name##_bss_get(void) __attribute__((const));
 // For FIPS builds we require that CRYPTO_ONCE_INIT be zero.
 #define DEFINE_STATIC_ONCE(name) DEFINE_BSS_GET(CRYPTO_once_t, name)
 // For FIPS builds we require that CRYPTO_STATIC_MUTEX_INIT be zero.
diff --git a/src/crypto/fipsmodule/digest/digest.c b/src/crypto/fipsmodule/digest/digest.c
index 1c35809..e49d552 100644
--- a/src/crypto/fipsmodule/digest/digest.c
+++ b/src/crypto/fipsmodule/digest/digest.c
@@ -166,9 +166,10 @@
   return EVP_MD_CTX_copy_ex(out, in);
 }
 
-void EVP_MD_CTX_reset(EVP_MD_CTX *ctx) {
+int EVP_MD_CTX_reset(EVP_MD_CTX *ctx) {
   EVP_MD_CTX_cleanup(ctx);
   EVP_MD_CTX_init(ctx);
+  return 1;
 }
 
 int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *engine) {
diff --git a/src/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl b/src/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
index c2f67f4..1dc257d 100755
--- a/src/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
+++ b/src/crypto/fipsmodule/ec/asm/p256-x86_64-asm.pl
@@ -54,9 +54,8 @@
 open OUT,"| \"$^X\" \"$xlate\" $flavour \"$output\"";
 *STDOUT=*OUT;
 
-# TODO(davidben): Set $addx to one once build problems are resolved.
 $avx = 2;
-$addx = 0;
+$addx = 1;
 
 $code.=<<___;
 .text
diff --git a/src/crypto/fipsmodule/ec/ec.c b/src/crypto/fipsmodule/ec/ec.c
index a937e27..908e35e 100644
--- a/src/crypto/fipsmodule/ec/ec.c
+++ b/src/crypto/fipsmodule/ec/ec.c
@@ -622,6 +622,20 @@
   return ec_GFp_simple_group_get_degree(group);
 }
 
+const char *EC_curve_nid2nist(int nid) {
+  switch (nid) {
+    case NID_secp224r1:
+      return "P-224";
+    case NID_X9_62_prime256v1:
+      return "P-256";
+    case NID_secp384r1:
+      return "P-384";
+    case NID_secp521r1:
+      return "P-521";
+  }
+  return NULL;
+}
+
 EC_POINT *EC_POINT_new(const EC_GROUP *group) {
   if (group == NULL) {
     OPENSSL_PUT_ERROR(EC, ERR_R_PASSED_NULL_PARAMETER);
@@ -900,7 +914,10 @@
 void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag) {}
 
 const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group) {
-  return NULL;
+  // This function exists purely to give callers a way to call
+  // |EC_METHOD_get_field_type|. cryptography.io crashes if |EC_GROUP_method_of|
+  // returns NULL, so return some other garbage pointer.
+  return (const EC_METHOD *)0x12340000;
 }
 
 int EC_METHOD_get_field_type(const EC_METHOD *meth) {
diff --git a/src/crypto/fipsmodule/ec/felem.c b/src/crypto/fipsmodule/ec/felem.c
index d32ff23..9be9f8c 100644
--- a/src/crypto/fipsmodule/ec/felem.c
+++ b/src/crypto/fipsmodule/ec/felem.c
@@ -13,6 +13,7 @@
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
 
 #include <openssl/ec.h>
+#include <openssl/err.h>
 
 #include <assert.h>
 
diff --git a/src/crypto/fipsmodule/ec/scalar.c b/src/crypto/fipsmodule/ec/scalar.c
index aa364de..1bd6b02 100644
--- a/src/crypto/fipsmodule/ec/scalar.c
+++ b/src/crypto/fipsmodule/ec/scalar.c
@@ -13,6 +13,8 @@
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
 
 #include <openssl/ec.h>
+#include <openssl/err.h>
+#include <openssl/mem.h>
 
 #include "internal.h"
 #include "../bn/internal.h"
diff --git a/src/crypto/fipsmodule/ec/simple_mul.c b/src/crypto/fipsmodule/ec/simple_mul.c
index 394f319..93ed0a8 100644
--- a/src/crypto/fipsmodule/ec/simple_mul.c
+++ b/src/crypto/fipsmodule/ec/simple_mul.c
@@ -58,6 +58,7 @@
 
       // Select the entry in constant-time.
       EC_RAW_POINT tmp;
+      OPENSSL_memset(&tmp, 0, sizeof(EC_RAW_POINT));
       for (size_t j = 0; j < OPENSSL_ARRAY_SIZE(precomp); j++) {
         BN_ULONG mask = constant_time_eq_w(j, window);
         ec_felem_select(group, &tmp.X, mask, &precomp[j].X, &tmp.X);
diff --git a/src/crypto/fipsmodule/ecdh/ecdh.c b/src/crypto/fipsmodule/ecdh/ecdh.c
new file mode 100644
index 0000000..cd9d7ea
--- /dev/null
+++ b/src/crypto/fipsmodule/ecdh/ecdh.c
@@ -0,0 +1,161 @@
+/* ====================================================================
+ * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
+ *
+ * The Elliptic Curve Public-Key Crypto Library (ECC Code) included
+ * herein is developed by SUN MICROSYSTEMS, INC., and is contributed
+ * to the OpenSSL project.
+ *
+ * The ECC Code is licensed pursuant to the OpenSSL open source
+ * license provided below.
+ *
+ * The ECDH software is originally written by Douglas Stebila of
+ * Sun Microsystems Laboratories.
+ *
+ */
+/* ====================================================================
+ * Copyright (c) 2000-2002 The OpenSSL Project.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. All advertising materials mentioning features or use of this
+ *    software must display the following acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
+ *
+ * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For written permission, please contact
+ *    licensing@OpenSSL.org.
+ *
+ * 5. Products derived from this software may not be called "OpenSSL"
+ *    nor may "OpenSSL" appear in their names without prior written
+ *    permission of the OpenSSL Project.
+ *
+ * 6. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by the OpenSSL Project
+ *    for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
+ * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+ * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This product includes cryptographic software written by Eric Young
+ * (eay@cryptsoft.com).  This product includes software written by Tim
+ * Hudson (tjh@cryptsoft.com). */
+
+#include <openssl/ecdh.h>
+
+#include <limits.h>
+#include <string.h>
+
+#include <openssl/bn.h>
+#include <openssl/ec.h>
+#include <openssl/ec_key.h>
+#include <openssl/err.h>
+#include <openssl/mem.h>
+#include <openssl/sha.h>
+
+#include "../ec/internal.h"
+
+
+int ECDH_compute_key_fips(uint8_t *out, size_t out_len, const EC_POINT *pub_key,
+                          const EC_KEY *priv_key) {
+  if (priv_key->priv_key == NULL) {
+    OPENSSL_PUT_ERROR(ECDH, ECDH_R_NO_PRIVATE_VALUE);
+    return 0;
+  }
+  const EC_SCALAR *const priv = &priv_key->priv_key->scalar;
+
+  BN_CTX *ctx = BN_CTX_new();
+  if (ctx == NULL) {
+    return 0;
+  }
+  BN_CTX_start(ctx);
+
+  int ret = 0;
+  size_t buflen = 0;
+  uint8_t *buf = NULL;
+
+  const EC_GROUP *const group = EC_KEY_get0_group(priv_key);
+  EC_POINT *shared_point = EC_POINT_new(group);
+  if (shared_point == NULL) {
+    OPENSSL_PUT_ERROR(ECDH, ERR_R_MALLOC_FAILURE);
+    goto err;
+  }
+
+  if (!ec_point_mul_scalar(group, shared_point, NULL, pub_key, priv, ctx)) {
+    OPENSSL_PUT_ERROR(ECDH, ECDH_R_POINT_ARITHMETIC_FAILURE);
+    goto err;
+  }
+
+  BIGNUM *x = BN_CTX_get(ctx);
+  if (!x) {
+    OPENSSL_PUT_ERROR(ECDH, ERR_R_MALLOC_FAILURE);
+    goto err;
+  }
+
+  if (!EC_POINT_get_affine_coordinates_GFp(group, shared_point, x, NULL, ctx)) {
+    OPENSSL_PUT_ERROR(ECDH, ECDH_R_POINT_ARITHMETIC_FAILURE);
+    goto err;
+  }
+
+  buflen = (EC_GROUP_get_degree(group) + 7) / 8;
+  buf = OPENSSL_malloc(buflen);
+  if (buf == NULL) {
+    OPENSSL_PUT_ERROR(ECDH, ERR_R_MALLOC_FAILURE);
+    goto err;
+  }
+
+  if (!BN_bn2bin_padded(buf, buflen, x)) {
+    OPENSSL_PUT_ERROR(ECDH, ERR_R_INTERNAL_ERROR);
+    goto err;
+  }
+
+  switch (out_len) {
+    case SHA224_DIGEST_LENGTH:
+      SHA224(buf, buflen, out);
+      break;
+    case SHA256_DIGEST_LENGTH:
+      SHA256(buf, buflen, out);
+      break;
+    case SHA384_DIGEST_LENGTH:
+      SHA384(buf, buflen, out);
+      break;
+    case SHA512_DIGEST_LENGTH:
+      SHA512(buf, buflen, out);
+      break;
+    default:
+      OPENSSL_PUT_ERROR(ECDH, ECDH_R_UNKNOWN_DIGEST_LENGTH);
+      goto err;
+  }
+
+  ret = 1;
+
+err:
+  OPENSSL_free(buf);
+  EC_POINT_free(shared_point);
+  BN_CTX_end(ctx);
+  BN_CTX_free(ctx);
+  return ret;
+}
diff --git a/src/crypto/fipsmodule/is_fips.c b/src/crypto/fipsmodule/is_fips.c
index 4182dfb..2f8e408 100644
--- a/src/crypto/fipsmodule/is_fips.c
+++ b/src/crypto/fipsmodule/is_fips.c
@@ -25,3 +25,5 @@
   return 0;
 #endif
 }
+
+int FIPS_mode_set(int on) { return on == FIPS_mode(); }
diff --git a/src/crypto/fipsmodule/modes/asm/ghash-x86_64.pl b/src/crypto/fipsmodule/modes/asm/ghash-x86_64.pl
index e6dd041..fc631c7 100644
--- a/src/crypto/fipsmodule/modes/asm/ghash-x86_64.pl
+++ b/src/crypto/fipsmodule/modes/asm/ghash-x86_64.pl
@@ -44,9 +44,8 @@
 # See ghash-x86.pl for background information and details about coding
 # techniques.
 #
-# Special thanks to David Woodhouse <dwmw2@infradead.org> for
-# providing access to a Westmere-based system on behalf of Intel
-# Open Source Technology Centre.
+# Special thanks to David Woodhouse for providing access to a
+# Westmere-based system on behalf of Intel Open Source Technology Centre.
 
 # December 2012
 #
@@ -228,13 +227,21 @@
 .type	gcm_gmult_4bit,\@function,2
 .align	16
 gcm_gmult_4bit:
+.cfi_startproc
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp		# %rbp and others are pushed exclusively in
+.cfi_push	%rbp
 	push	%r12		# order to reuse Win64 exception handler...
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	push	%r15
+.cfi_push	%r15
 	sub	\$280,%rsp
+.cfi_adjust_cfa_offset	280
 .Lgmult_prologue:
 
 	movzb	15($Xi),$Zlo
@@ -246,10 +253,14 @@
 	mov	$Zhi,($Xi)
 
 	lea	280+48(%rsp),%rsi
+.cfi_def_cfa	%rsi,8
 	mov	-8(%rsi),%rbx
+.cfi_restore	%rbx
 	lea	(%rsi),%rsp
+.cfi_def_cfa_register	%rsp
 .Lgmult_epilogue:
 	ret
+.cfi_endproc
 .size	gcm_gmult_4bit,.-gcm_gmult_4bit
 ___
 
@@ -263,13 +274,21 @@
 .type	gcm_ghash_4bit,\@function,4
 .align	16
 gcm_ghash_4bit:
+.cfi_startproc
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	push	%r15
+.cfi_push	%r15
 	sub	\$280,%rsp
+.cfi_adjust_cfa_offset	280
 .Lghash_prologue:
 	mov	$inp,%r14		# reassign couple of args
 	mov	$len,%r15
@@ -398,15 +417,24 @@
 	mov	$Zhi,($Xi)
 
 	lea	280+48(%rsp),%rsi
+.cfi_def_cfa	%rsi,8
 	mov	-48(%rsi),%r15
+.cfi_restore	%r15
 	mov	-40(%rsi),%r14
+.cfi_restore	%r14
 	mov	-32(%rsi),%r13
+.cfi_restore	%r13
 	mov	-24(%rsi),%r12
+.cfi_restore	%r12
 	mov	-16(%rsi),%rbp
+.cfi_restore	%rbp
 	mov	-8(%rsi),%rbx
+.cfi_restore	%rbx
 	lea	0(%rsi),%rsp
+.cfi_def_cfa_register	%rsp
 .Lghash_epilogue:
 	ret
+.cfi_endproc
 .size	gcm_ghash_4bit,.-gcm_ghash_4bit
 ___
 
diff --git a/src/crypto/fipsmodule/modes/ccm.c b/src/crypto/fipsmodule/modes/ccm.c
index deff679..784e4fa 100644
--- a/src/crypto/fipsmodule/modes/ccm.c
+++ b/src/crypto/fipsmodule/modes/ccm.c
@@ -158,9 +158,7 @@
   size_t remaining_blocks = 2 * ((plaintext_len + 15) / 16) + 1;
   if (plaintext_len + 15 < plaintext_len ||
       remaining_blocks + blocks < blocks ||
-      // Silence Clang's unhelpful -Wtautological-constant-out-of-range-compare
-      // warning.
-      (sizeof(size_t) > 4 && remaining_blocks + blocks > UINT64_C(1) << 61)) {
+      (uint64_t) remaining_blocks + blocks > UINT64_C(1) << 61) {
     return 0;
   }
 
diff --git a/src/crypto/fipsmodule/modes/gcm.c b/src/crypto/fipsmodule/modes/gcm.c
index 05cd18d..99d0e15 100644
--- a/src/crypto/fipsmodule/modes/gcm.c
+++ b/src/crypto/fipsmodule/modes/gcm.c
@@ -418,7 +418,7 @@
 }
 
 void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, const void *aes_key,
-                        block128_f block, int is_aesni_encrypt) {
+                        block128_f block, int block_is_hwaes) {
   OPENSSL_memset(ctx, 0, sizeof(*ctx));
   ctx->block = block;
 
@@ -430,7 +430,7 @@
   CRYPTO_ghash_init(&ctx->gmult, &ctx->ghash, &ctx->H, ctx->Htable, &is_avx,
                     gcm_key);
 
-  ctx->use_aesni_gcm_crypt = (is_avx && is_aesni_encrypt) ? 1 : 0;
+  ctx->use_aesni_gcm_crypt = (is_avx && block_is_hwaes) ? 1 : 0;
 }
 
 void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const void *key,
diff --git a/src/crypto/fipsmodule/modes/internal.h b/src/crypto/fipsmodule/modes/internal.h
index de6c503..338bf13 100644
--- a/src/crypto/fipsmodule/modes/internal.h
+++ b/src/crypto/fipsmodule/modes/internal.h
@@ -189,9 +189,9 @@
                        const uint8_t *gcm_key);
 
 // CRYPTO_gcm128_init initialises |ctx| to use |block| (typically AES) with
-// the given key. |is_aesni_encrypt| is one if |block| is |aesni_encrypt|.
+// the given key. |block_is_hwaes| is one if |block| is |aes_hw_encrypt|.
 OPENSSL_EXPORT void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx, const void *key,
-                                       block128_f block, int is_aesni_encrypt);
+                                       block128_f block, int block_is_hwaes);
 
 // CRYPTO_gcm128_setiv sets the IV (nonce) for |ctx|. The |key| must be the
 // same key that was passed to |CRYPTO_gcm128_init|.
diff --git a/src/crypto/fipsmodule/rand/asm/rdrand-x86_64.pl b/src/crypto/fipsmodule/rand/asm/rdrand-x86_64.pl
index 3583d4c..056dd74 100644
--- a/src/crypto/fipsmodule/rand/asm/rdrand-x86_64.pl
+++ b/src/crypto/fipsmodule/rand/asm/rdrand-x86_64.pl
@@ -35,6 +35,7 @@
 .type	CRYPTO_rdrand,\@function,1
 .align	16
 CRYPTO_rdrand:
+.cfi_startproc
 	xorq %rax, %rax
 	# This is rdrand %rcx. It sets rcx to a random value and sets the carry
 	# flag on success.
@@ -43,6 +44,7 @@
 	adcq %rax, %rax
 	movq %rcx, 0(%rdi)
 	retq
+.cfi_endproc
 
 # CRYPTO_rdrand_multiple8_buf fills |len| bytes at |buf| with random data from
 # the hardware RNG. The |len| argument must be a multiple of eight. It returns
@@ -52,6 +54,7 @@
 .type CRYPTO_rdrand_multiple8_buf,\@function,2
 .align 16
 CRYPTO_rdrand_multiple8_buf:
+.cfi_startproc
 	test %rsi, %rsi
 	jz .Lout
 	movq \$8, %rdx
@@ -70,6 +73,7 @@
 .Lerr:
 	xorq %rax, %rax
 	retq
+.cfi_endproc
 ___
 
 close STDOUT;	# flush
diff --git a/src/crypto/fipsmodule/rand/rand.c b/src/crypto/fipsmodule/rand/rand.c
index dafc91f..02e63bc 100644
--- a/src/crypto/fipsmodule/rand/rand.c
+++ b/src/crypto/fipsmodule/rand/rand.c
@@ -54,75 +54,6 @@
 // continuous random number generator test in FIPS 140-2, section 4.9.2.
 #define CRNGT_BLOCK_SIZE 16
 
-// rand_thread_state contains the per-thread state for the RNG.
-struct rand_thread_state {
-  CTR_DRBG_STATE drbg;
-  // calls is the number of generate calls made on |drbg| since it was last
-  // (re)seeded. This is bound by |kReseedInterval|.
-  unsigned calls;
-  // last_block_valid is non-zero iff |last_block| contains data from
-  // |CRYPTO_sysrand|.
-  int last_block_valid;
-
-#if defined(BORINGSSL_FIPS)
-  // last_block contains the previous block from |CRYPTO_sysrand|.
-  uint8_t last_block[CRNGT_BLOCK_SIZE];
-  // next and prev form a NULL-terminated, double-linked list of all states in
-  // a process.
-  struct rand_thread_state *next, *prev;
-#endif
-};
-
-#if defined(BORINGSSL_FIPS)
-// thread_states_list is the head of a linked-list of all |rand_thread_state|
-// objects in the process, one per thread. This is needed because FIPS requires
-// that they be zeroed on process exit, but thread-local destructors aren't
-// called when the whole process is exiting.
-DEFINE_BSS_GET(struct rand_thread_state *, thread_states_list);
-DEFINE_STATIC_MUTEX(thread_states_list_lock);
-
-static void rand_thread_state_clear_all(void) __attribute__((destructor));
-static void rand_thread_state_clear_all(void) {
-  CRYPTO_STATIC_MUTEX_lock_write(thread_states_list_lock_bss_get());
-  for (struct rand_thread_state *cur = *thread_states_list_bss_get();
-       cur != NULL; cur = cur->next) {
-    CTR_DRBG_clear(&cur->drbg);
-  }
-  // |thread_states_list_lock is deliberately left locked so that any threads
-  // that are still running will hang if they try to call |RAND_bytes|.
-}
-#endif
-
-// rand_thread_state_free frees a |rand_thread_state|. This is called when a
-// thread exits.
-static void rand_thread_state_free(void *state_in) {
-  struct rand_thread_state *state = state_in;
-
-  if (state_in == NULL) {
-    return;
-  }
-
-#if defined(BORINGSSL_FIPS)
-  CRYPTO_STATIC_MUTEX_lock_write(thread_states_list_lock_bss_get());
-
-  if (state->prev != NULL) {
-    state->prev->next = state->next;
-  } else {
-    *thread_states_list_bss_get() = state->next;
-  }
-
-  if (state->next != NULL) {
-    state->next->prev = state->prev;
-  }
-
-  CRYPTO_STATIC_MUTEX_unlock_write(thread_states_list_lock_bss_get());
-
-  CTR_DRBG_clear(&state->drbg);
-#endif
-
-  OPENSSL_free(state);
-}
-
 #if defined(OPENSSL_X86_64) && !defined(OPENSSL_NO_ASM) && \
     !defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE)
 
@@ -172,9 +103,31 @@
 
 #endif
 
+// rand_state contains an RNG state.
+struct rand_state {
+  CTR_DRBG_STATE drbg;
+  // next forms a NULL-terminated linked-list of all free |rand_state| objects.
+  struct rand_state *next;
+  // calls is the number of generate calls made on |drbg| since it was last
+  // (re)seeded. This is bound by |kReseedInterval|.
+  unsigned calls;
+
+#if defined(BORINGSSL_FIPS)
+  // next_all forms another NULL-terminated linked-list, this time of all
+  // |rand_state| objects that have been allocated including those that might
+  // currently be in use.
+  struct rand_state *next_all;
+  // last_block contains the previous block from |CRYPTO_sysrand|.
+  uint8_t last_block[CRNGT_BLOCK_SIZE];
+  // last_block_valid is non-zero iff |last_block| contains data from
+  // |CRYPTO_sysrand|.
+  int last_block_valid;
+#endif
+};
+
 #if defined(BORINGSSL_FIPS)
 
-static void rand_get_seed(struct rand_thread_state *state,
+static void rand_get_seed(struct rand_state *state,
                           uint8_t seed[CTR_DRBG_ENTROPY_LEN]) {
   if (!state->last_block_valid) {
     if (!hwrand(state->last_block, sizeof(state->last_block))) {
@@ -196,7 +149,7 @@
   // generator test” which causes the program to randomly abort. Hopefully the
   // rate of failure is small enough not to be a problem in practice.
   if (CRYPTO_memcmp(state->last_block, entropy, CRNGT_BLOCK_SIZE) == 0) {
-    printf("CRNGT failed.\n");
+    fprintf(stderr, "CRNGT failed.\n");
     BORINGSSL_FIPS_abort();
   }
 
@@ -204,7 +157,7 @@
        i += CRNGT_BLOCK_SIZE) {
     if (CRYPTO_memcmp(entropy + i - CRNGT_BLOCK_SIZE, entropy + i,
                       CRNGT_BLOCK_SIZE) == 0) {
-      printf("CRNGT failed.\n");
+      fprintf(stderr, "CRNGT failed.\n");
       BORINGSSL_FIPS_abort();
     }
   }
@@ -223,7 +176,7 @@
 
 #else
 
-static void rand_get_seed(struct rand_thread_state *state,
+static void rand_get_seed(struct rand_state *state,
                           uint8_t seed[CTR_DRBG_ENTROPY_LEN]) {
   // If not in FIPS mode, we don't overread from the system entropy source and
   // we don't depend only on the hardware RDRAND.
@@ -232,6 +185,97 @@
 
 #endif
 
+// rand_state_free_list is a list of currently free, |rand_state| structures.
+// When a thread needs a |rand_state| it picks the head element of this list and
+// allocs a new one if the list is empty. Once it's finished, it pushes the
+// state back onto the front of the list.
+//
+// Previously we used a thread-local state but for processes with large numbers
+// of threads this can result in excessive memory usage. Since we don't free
+// |rand_state| objects, the number of objects in memory will eventually equal
+// the maximum concurrency of |RAND_bytes|.
+DEFINE_BSS_GET(struct rand_state *, rand_state_free_list);
+
+// rand_state_lock protects |rand_state_free_list| (and |rand_state_all_list|,
+// in FIPS mode).
+DEFINE_STATIC_MUTEX(rand_state_lock);
+
+#if defined(BORINGSSL_FIPS)
+// rand_state_all_list is the head of a linked-list of all |rand_state| objects
+// in the process. This is needed because FIPS requires that they be zeroed on
+// process exit.
+DEFINE_BSS_GET(struct rand_state *, rand_state_all_list);
+
+// rand_drbg_lock is taken in write mode by |rand_state_clear_all|, and
+// in read mode by any operation on the |drbg| member of |rand_state|.
+// This ensures that, in the event that a thread races destructor functions, we
+// never return bogus random data. At worst, the thread will deadlock.
+DEFINE_STATIC_MUTEX(rand_drbg_lock);
+
+static void rand_state_clear_all(void) __attribute__((destructor));
+static void rand_state_clear_all(void) {
+  CRYPTO_STATIC_MUTEX_lock_write(rand_drbg_lock_bss_get());
+  CRYPTO_STATIC_MUTEX_lock_write(rand_state_lock_bss_get());
+  for (struct rand_state *cur = *rand_state_all_list_bss_get();
+       cur != NULL; cur = cur->next_all) {
+    CTR_DRBG_clear(&cur->drbg);
+  }
+  // Both locks are deliberately left locked so that any threads that are still
+  // running will hang if they try to call |RAND_bytes|.
+}
+#endif
+
+// rand_state_init seeds a |rand_state|.
+static void rand_state_init(struct rand_state *state) {
+  OPENSSL_memset(state, 0, sizeof(struct rand_state));
+  uint8_t seed[CTR_DRBG_ENTROPY_LEN];
+  rand_get_seed(state, seed);
+  if (!CTR_DRBG_init(&state->drbg, seed, NULL, 0)) {
+    abort();
+  }
+}
+
+// rand_state_get pops a |rand_state| from the head of
+// |rand_state_free_list| and returns it. If the list is empty, it
+// creates a fresh |rand_state| and returns that instead.
+static struct rand_state *rand_state_get(void) {
+  struct rand_state *state = NULL;
+  CRYPTO_STATIC_MUTEX_lock_write(rand_state_lock_bss_get());
+  state = *rand_state_free_list_bss_get();
+  if (state != NULL) {
+    *rand_state_free_list_bss_get() = state->next;
+  }
+  CRYPTO_STATIC_MUTEX_unlock_write(rand_state_lock_bss_get());
+
+  if (state != NULL) {
+    return state;
+  }
+
+  state = OPENSSL_malloc(sizeof(struct rand_state));
+  if (state == NULL) {
+    return NULL;
+  }
+
+  rand_state_init(state);
+
+#if defined(BORINGSSL_FIPS)
+  CRYPTO_STATIC_MUTEX_lock_write(rand_state_lock_bss_get());
+  state->next_all = *rand_state_all_list_bss_get();
+  *rand_state_all_list_bss_get() = state;
+  CRYPTO_STATIC_MUTEX_unlock_write(rand_state_lock_bss_get());
+#endif
+
+  return state;
+}
+
+// rand_state_put pushes |state| onto |rand_state_free_list|.
+static void rand_state_put(struct rand_state *state) {
+  CRYPTO_STATIC_MUTEX_lock_write(rand_state_lock_bss_get());
+  state->next = *rand_state_free_list_bss_get();
+  *rand_state_free_list_bss_get() = state;
+  CRYPTO_STATIC_MUTEX_unlock_write(rand_state_lock_bss_get());
+}
+
 void RAND_bytes_with_additional_data(uint8_t *out, size_t out_len,
                                      const uint8_t user_additional_data[32]) {
   if (out_len == 0) {
@@ -259,41 +303,14 @@
     additional_data[i] ^= user_additional_data[i];
   }
 
-  struct rand_thread_state stack_state;
-  struct rand_thread_state *state =
-      CRYPTO_get_thread_local(OPENSSL_THREAD_LOCAL_RAND);
+  struct rand_state stack_state;
+  struct rand_state *state = rand_state_get();
 
   if (state == NULL) {
-    state = OPENSSL_malloc(sizeof(struct rand_thread_state));
-    if (state == NULL ||
-        !CRYPTO_set_thread_local(OPENSSL_THREAD_LOCAL_RAND, state,
-                                 rand_thread_state_free)) {
-      // If the system is out of memory, use an ephemeral state on the
-      // stack.
-      state = &stack_state;
-    }
-
-    state->last_block_valid = 0;
-    uint8_t seed[CTR_DRBG_ENTROPY_LEN];
-    rand_get_seed(state, seed);
-    if (!CTR_DRBG_init(&state->drbg, seed, NULL, 0)) {
-      abort();
-    }
-    state->calls = 0;
-
-#if defined(BORINGSSL_FIPS)
-    if (state != &stack_state) {
-      CRYPTO_STATIC_MUTEX_lock_write(thread_states_list_lock_bss_get());
-      struct rand_thread_state **states_list = thread_states_list_bss_get();
-      state->next = *states_list;
-      if (state->next != NULL) {
-        state->next->prev = state;
-      }
-      state->prev = NULL;
-      *states_list = state;
-      CRYPTO_STATIC_MUTEX_unlock_write(thread_states_list_lock_bss_get());
-    }
-#endif
+    // If the system is out of memory, use an ephemeral state on the
+    // stack.
+    state = &stack_state;
+    rand_state_init(state);
   }
 
   if (state->calls >= kReseedInterval) {
@@ -302,13 +319,13 @@
 #if defined(BORINGSSL_FIPS)
     // Take a read lock around accesses to |state->drbg|. This is needed to
     // avoid returning bad entropy if we race with
-    // |rand_thread_state_clear_all|.
+    // |rand_state_clear_all|.
     //
     // This lock must be taken after any calls to |CRYPTO_sysrand| to avoid a
     // bug on ppc64le. glibc may implement pthread locks by wrapping user code
     // in a hardware transaction, but, on some older versions of glibc and the
     // kernel, syscalls made with |syscall| did not abort the transaction.
-    CRYPTO_STATIC_MUTEX_lock_read(thread_states_list_lock_bss_get());
+    CRYPTO_STATIC_MUTEX_lock_read(rand_drbg_lock_bss_get());
 #endif
     if (!CTR_DRBG_reseed(&state->drbg, seed, NULL, 0)) {
       abort();
@@ -316,7 +333,7 @@
     state->calls = 0;
   } else {
 #if defined(BORINGSSL_FIPS)
-    CRYPTO_STATIC_MUTEX_lock_read(thread_states_list_lock_bss_get());
+    CRYPTO_STATIC_MUTEX_lock_read(rand_drbg_lock_bss_get());
 #endif
   }
 
@@ -343,8 +360,12 @@
   }
 
 #if defined(BORINGSSL_FIPS)
-  CRYPTO_STATIC_MUTEX_unlock_read(thread_states_list_lock_bss_get());
+  CRYPTO_STATIC_MUTEX_unlock_read(rand_drbg_lock_bss_get());
 #endif
+
+  if (state != &stack_state) {
+    rand_state_put(state);
+  }
 }
 
 int RAND_bytes(uint8_t *out, size_t out_len) {
diff --git a/src/crypto/fipsmodule/rand/urandom.c b/src/crypto/fipsmodule/rand/urandom.c
index d2be719..e6d779c 100644
--- a/src/crypto/fipsmodule/rand/urandom.c
+++ b/src/crypto/fipsmodule/rand/urandom.c
@@ -97,18 +97,6 @@
 
 DEFINE_STATIC_ONCE(rand_once);
 
-#if defined(USE_NR_getrandom) || defined(BORINGSSL_FIPS)
-// message writes |msg| to stderr. We use this because referencing |stderr|
-// with |fprintf| generates relocations, which is a problem inside the FIPS
-// module.
-static void message(const char *msg) {
-  ssize_t r;
-  do {
-    r = write(2, msg, strlen(msg));
-  } while (r == -1 && errno == EINTR);
-}
-#endif
-
 // init_once initializes the state of this module to values previously
 // requested. This is the only function that modifies |urandom_fd| and
 // |urandom_buffering|, whose values may be read safely after calling the
@@ -127,7 +115,8 @@
     *urandom_fd_bss_get() = kHaveGetrandom;
     return;
   } else if (getrandom_ret == -1 && errno == EAGAIN) {
-    message(
+    fprintf(
+        stderr,
         "getrandom indicates that the entropy pool has not been initialized. "
         "Rather than continue with poor entropy, this process will block until "
         "entropy is available.\n");
@@ -151,6 +140,7 @@
   }
 
   if (fd < 0) {
+    perror("failed to open /dev/urandom");
     abort();
   }
 
@@ -163,6 +153,7 @@
     close(kUnset);
 
     if (fd <= 0) {
+      perror("failed to dup /dev/urandom fd");
       abort();
     }
   }
@@ -175,9 +166,9 @@
   for (;;) {
     int entropy_bits;
     if (ioctl(fd, RNDGETENTCNT, &entropy_bits)) {
-      message(
-          "RNDGETENTCNT on /dev/urandom failed. We cannot continue in this "
-          "case when in FIPS mode.\n");
+      fprintf(stderr,
+              "RNDGETENTCNT on /dev/urandom failed. We cannot continue in this "
+              "case when in FIPS mode.\n");
       abort();
     }
 
@@ -194,11 +185,13 @@
   if (flags == -1) {
     // Native Client doesn't implement |fcntl|.
     if (errno != ENOSYS) {
+      perror("failed to get flags from urandom fd");
       abort();
     }
   } else {
     flags |= FD_CLOEXEC;
     if (fcntl(fd, F_SETFD, flags) == -1) {
+      perror("failed to set FD_CLOEXEC on urandom fd");
       abort();
     }
   }
@@ -208,6 +201,7 @@
 void RAND_set_urandom_fd(int fd) {
   fd = dup(fd);
   if (fd < 0) {
+    perror("failed to dup supplied urandom fd");
     abort();
   }
 
@@ -220,6 +214,7 @@
     close(kUnset);
 
     if (fd <= 0) {
+      perror("failed to dup supplied urandom fd");
       abort();
     }
   }
@@ -232,7 +227,8 @@
   if (*urandom_fd_bss_get() == kHaveGetrandom) {
     close(fd);
   } else if (*urandom_fd_bss_get() != fd) {
-    abort();  // Already initialized.
+    fprintf(stderr, "RAND_set_urandom_fd called after initialisation.\n");
+    abort();
   }
 }
 
@@ -261,6 +257,7 @@
 #endif  // OPENSSL_MSAN
 
 #else  // USE_NR_getrandom
+      fprintf(stderr, "urandom fd corrupt.\n");
       abort();
 #endif
     } else {
@@ -288,6 +285,7 @@
   CRYPTO_once(rand_once_bss_get(), init_once);
 
   if (!fill_with_entropy(out, requested)) {
+    perror("entropy fill failed");
     abort();
   }
 
diff --git a/src/crypto/fipsmodule/rsa/padding.c b/src/crypto/fipsmodule/rsa/padding.c
index 9d88dba..ce3df7a 100644
--- a/src/crypto/fipsmodule/rsa/padding.c
+++ b/src/crypto/fipsmodule/rsa/padding.c
@@ -170,7 +170,7 @@
   }
 
   if (from_len > to_len - RSA_PKCS1_PADDING_SIZE) {
-    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE);
+    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
     return 0;
   }
 
@@ -254,7 +254,7 @@
 int RSA_padding_add_none(uint8_t *to, size_t to_len, const uint8_t *from,
                          size_t from_len) {
   if (from_len > to_len) {
-    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE);
+    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
     return 0;
   }
 
@@ -330,7 +330,7 @@
 
   size_t emlen = to_len - 1;
   if (from_len > emlen - 2 * mdlen - 1) {
-    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE);
+    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
     return 0;
   }
 
@@ -608,7 +608,7 @@
   }
 
   if (emLen < hLen + 2) {
-    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE);
+    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
     goto err;
   }
 
@@ -629,7 +629,7 @@
   }
 
   if (emLen - hLen - 2 < sLen) {
-    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE);
+    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
     goto err;
   }
 
diff --git a/src/crypto/fipsmodule/rsa/rsa.c b/src/crypto/fipsmodule/rsa/rsa.c
index aed87a6..efb2f9b 100644
--- a/src/crypto/fipsmodule/rsa/rsa.c
+++ b/src/crypto/fipsmodule/rsa/rsa.c
@@ -76,6 +76,10 @@
 #include "internal.h"
 
 
+// RSA_R_BLOCK_TYPE_IS_NOT_02 is part of the legacy SSLv23 padding scheme.
+// Cryptography.io depends on this error code.
+OPENSSL_DECLARE_ERROR_REASON(RSA, BLOCK_TYPE_IS_NOT_02)
+
 DEFINE_STATIC_EX_DATA_CLASS(g_rsa_ex_data_class);
 
 RSA *RSA_new(void) { return RSA_new_method(NULL); }
diff --git a/src/crypto/fipsmodule/rsa/rsa_impl.c b/src/crypto/fipsmodule/rsa/rsa_impl.c
index 6d1206b..e8072ec 100644
--- a/src/crypto/fipsmodule/rsa/rsa_impl.c
+++ b/src/crypto/fipsmodule/rsa/rsa_impl.c
@@ -303,7 +303,7 @@
 
   if (BN_ucmp(f, rsa->n) >= 0) {
     // usually the padding functions would catch this
-    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE);
+    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_MODULUS);
     goto err;
   }
 
@@ -609,7 +609,7 @@
   }
 
   if (BN_ucmp(f, rsa->n) >= 0) {
-    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE);
+    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_MODULUS);
     goto err;
   }
 
@@ -683,7 +683,7 @@
 
   if (BN_ucmp(f, rsa->n) >= 0) {
     // Usually the padding functions would catch this.
-    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE);
+    OPENSSL_PUT_ERROR(RSA, RSA_R_DATA_TOO_LARGE_FOR_MODULUS);
     goto err;
   }
 
@@ -759,7 +759,7 @@
   // that it and serializing does not leak information about the magnitude of
   // the result.
   //
-  // See Falko Stenzke, "Manger's Attack revisited", ICICS 2010.
+  // See Falko Strenzke, "Manger's Attack revisited", ICICS 2010.
   assert(result->width == rsa->mont_n->N.width);
   if (!BN_bn2bin_padded(out, len, result)) {
     OPENSSL_PUT_ERROR(RSA, ERR_R_INTERNAL_ERROR);
diff --git a/src/crypto/fipsmodule/self_check/self_check.c b/src/crypto/fipsmodule/self_check/self_check.c
index 468fd02..2c5b363 100644
--- a/src/crypto/fipsmodule/self_check/self_check.c
+++ b/src/crypto/fipsmodule/self_check/self_check.c
@@ -37,18 +37,19 @@
 
 static void hexdump(const uint8_t *in, size_t len) {
   for (size_t i = 0; i < len; i++) {
-    printf("%02x", in[i]);
+    fprintf(stderr, "%02x", in[i]);
   }
 }
 
 static int check_test(const void *expected, const void *actual,
                       size_t expected_len, const char *name) {
   if (OPENSSL_memcmp(actual, expected, expected_len) != 0) {
-    printf("%s failed.\nExpected: ", name);
+    fprintf(stderr, "%s failed.\nExpected: ", name);
     hexdump(expected, expected_len);
-    printf("\nCalculated: ");
+    fprintf(stderr, "\nCalculated: ");
     hexdump(actual, expected_len);
-    printf("\n");
+    fprintf(stderr, "\n");
+    fflush(stderr);
     return 0;
   }
   return 1;
@@ -488,7 +489,7 @@
 
   rsa_key = self_test_rsa_key();
   if (rsa_key == NULL) {
-    printf("RSA KeyGen failed\n");
+    fprintf(stderr, "RSA KeyGen failed\n");
     goto err;
   }
 
@@ -509,13 +510,13 @@
   // RSA Verify KAT
   if (!RSA_verify(NID_sha256, kPlaintextSHA256, sizeof(kPlaintextSHA256),
                   kRSASignature, sizeof(kRSASignature), rsa_key)) {
-    printf("RSA Verify KAT failed.\n");
+    fprintf(stderr, "RSA Verify KAT failed.\n");
     goto err;
   }
 
   ec_key = self_test_ecdsa_key();
   if (ec_key == NULL) {
-    printf("ECDSA KeyGen failed\n");
+    fprintf(stderr, "ECDSA KeyGen failed\n");
     goto err;
   }
 
@@ -525,7 +526,7 @@
   ec_key->fixed_k = BN_new();
   if (ec_key->fixed_k == NULL ||
       !BN_set_word(ec_key->fixed_k, 42)) {
-    printf("Out of memory\n");
+    fprintf(stderr, "Out of memory\n");
     goto err;
   }
 
@@ -540,7 +541,7 @@
       !BN_bn2bin(sig->s, ecdsa_s_bytes) ||
       !check_test(kECDSASigR, ecdsa_r_bytes, sizeof(kECDSASigR), "ECDSA R") ||
       !check_test(kECDSASigS, ecdsa_s_bytes, sizeof(kECDSASigS), "ECDSA S")) {
-    printf("ECDSA KAT failed.\n");
+    fprintf(stderr, "ECDSA KAT failed.\n");
     goto err;
   }
 
diff --git a/src/crypto/fipsmodule/sha/asm/sha1-x86_64.pl b/src/crypto/fipsmodule/sha/asm/sha1-x86_64.pl
index f5bc2e6..fd4ff2a 100755
--- a/src/crypto/fipsmodule/sha/asm/sha1-x86_64.pl
+++ b/src/crypto/fipsmodule/sha/asm/sha1-x86_64.pl
@@ -251,6 +251,7 @@
 .type	sha1_block_data_order,\@function,3
 .align	16
 sha1_block_data_order:
+.cfi_startproc
 	leaq	OPENSSL_ia32cap_P(%rip),%r10
 	mov	0(%r10),%r9d
 	mov	4(%r10),%r8d
@@ -280,17 +281,24 @@
 .align	16
 .Lialu:
 	mov	%rsp,%rax
+.cfi_def_cfa_register	%rax
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	mov	%rdi,$ctx	# reassigned argument
 	sub	\$`8+16*4`,%rsp
 	mov	%rsi,$inp	# reassigned argument
 	and	\$-64,%rsp
 	mov	%rdx,$num	# reassigned argument
 	mov	%rax,`16*4`(%rsp)
+.cfi_cfa_expression	%rsp+64,deref,+8
 .Lprologue:
 
 	mov	0($ctx),$A
@@ -324,14 +332,22 @@
 	jnz	.Lloop
 
 	mov	`16*4`(%rsp),%rsi
+.cfi_def_cfa	%rsi,8
 	mov	-40(%rsi),%r14
+.cfi_restore	%r14
 	mov	-32(%rsi),%r13
+.cfi_restore	%r13
 	mov	-24(%rsi),%r12
+.cfi_restore	%r12
 	mov	-16(%rsi),%rbp
+.cfi_restore	%rbp
 	mov	-8(%rsi),%rbx
+.cfi_restore	%rbx
 	lea	(%rsi),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue:
 	ret
+.cfi_endproc
 .size	sha1_block_data_order,.-sha1_block_data_order
 ___
 if ($shaext) {{{
@@ -347,6 +363,7 @@
 .align	32
 sha1_block_data_order_shaext:
 _shaext_shortcut:
+.cfi_startproc
 ___
 $code.=<<___ if ($win64);
 	lea	`-8-4*16`(%rsp),%rsp
@@ -444,6 +461,7 @@
 .Lepilogue_shaext:
 ___
 $code.=<<___;
+.cfi_endproc
 	ret
 .size	sha1_block_data_order_shaext,.-sha1_block_data_order_shaext
 ___
@@ -479,12 +497,19 @@
 .align	16
 sha1_block_data_order_ssse3:
 _ssse3_shortcut:
+.cfi_startproc
 	mov	%rsp,$fp	# frame pointer
+.cfi_def_cfa_register	$fp
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13		# redundant, done to share Win64 SE handler
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	lea	`-64-($win64?6*16:0)`(%rsp),%rsp
 ___
 $code.=<<___ if ($win64);
@@ -912,13 +937,20 @@
 ___
 $code.=<<___;
 	mov	-40($fp),%r14
+.cfi_restore	%r14
 	mov	-32($fp),%r13
+.cfi_restore	%r13
 	mov	-24($fp),%r12
+.cfi_restore	%r12
 	mov	-16($fp),%rbp
+.cfi_restore	%rbp
 	mov	-8($fp),%rbx
+.cfi_restore	%rbx
 	lea	($fp),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue_ssse3:
 	ret
+.cfi_endproc
 .size	sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
 ___
 
@@ -939,12 +971,19 @@
 .align	16
 sha1_block_data_order_avx:
 _avx_shortcut:
+.cfi_startproc
 	mov	%rsp,$fp
+.cfi_def_cfa_register	$fp
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13		# redundant, done to share Win64 SE handler
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	lea	`-64-($win64?6*16:0)`(%rsp),%rsp
 	vzeroupper
 ___
@@ -997,7 +1036,7 @@
 	jmp	.Loop_avx
 ___
 
-sub Xupdate_avx_16_31()		# recall that $Xi starts wtih 4
+sub Xupdate_avx_16_31()		# recall that $Xi starts with 4
 { use integer;
   my $body = shift;
   my @insns = (&$body,&$body,&$body,&$body);	# 40 instructions
@@ -1274,13 +1313,20 @@
 ___
 $code.=<<___;
 	mov	-40($fp),%r14
+.cfi_restore	%r14
 	mov	-32($fp),%r13
+.cfi_restore	%r13
 	mov	-24($fp),%r12
+.cfi_restore	%r12
 	mov	-16($fp),%rbp
+.cfi_restore	%rbp
 	mov	-8($fp),%rbx
+.cfi_restore	%rbx
 	lea	($fp),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue_avx:
 	ret
+.cfi_endproc
 .size	sha1_block_data_order_avx,.-sha1_block_data_order_avx
 ___
 
@@ -1304,12 +1350,19 @@
 .align	16
 sha1_block_data_order_avx2:
 _avx2_shortcut:
+.cfi_startproc
 	mov	%rsp,$fp
+.cfi_def_cfa_register	$fp
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	vzeroupper
 ___
 $code.=<<___ if ($win64);
@@ -1751,13 +1804,20 @@
 ___
 $code.=<<___;
 	mov	-40($fp),%r14
+.cfi_restore	%r14
 	mov	-32($fp),%r13
+.cfi_restore	%r13
 	mov	-24($fp),%r12
+.cfi_restore	%r12
 	mov	-16($fp),%rbp
+.cfi_restore	%rbp
 	mov	-8($fp),%rbx
+.cfi_restore	%rbx
 	lea	($fp),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue_avx2:
 	ret
+.cfi_endproc
 .size	sha1_block_data_order_avx2,.-sha1_block_data_order_avx2
 ___
 }
@@ -1917,9 +1977,9 @@
 	mov	-40(%rax),%r14
 	mov	%rbx,144($context)	# restore context->Rbx
 	mov	%rbp,160($context)	# restore context->Rbp
-	mov	%r12,216($context)	# restore cotnext->R12
-	mov	%r13,224($context)	# restore cotnext->R13
-	mov	%r14,232($context)	# restore cotnext->R14
+	mov	%r12,216($context)	# restore context->R12
+	mov	%r13,224($context)	# restore context->R13
+	mov	%r14,232($context)	# restore context->R14
 
 .Lcommon_seh_tail:
 	mov	8(%rax),%rdi
diff --git a/src/crypto/fipsmodule/sha/asm/sha512-x86_64.pl b/src/crypto/fipsmodule/sha/asm/sha512-x86_64.pl
index e62ad75..9d53ec4 100755
--- a/src/crypto/fipsmodule/sha/asm/sha512-x86_64.pl
+++ b/src/crypto/fipsmodule/sha/asm/sha512-x86_64.pl
@@ -170,7 +170,7 @@
 $_ctx="16*$SZ+0*8(%rsp)";
 $_inp="16*$SZ+1*8(%rsp)";
 $_end="16*$SZ+2*8(%rsp)";
-$_rsp="16*$SZ+3*8(%rsp)";
+$_rsp="`16*$SZ+3*8`(%rsp)";
 $framesz="16*$SZ+4*8";
 
 
@@ -263,6 +263,7 @@
 .type	$func,\@function,3
 .align	16
 $func:
+.cfi_startproc
 ___
 $code.=<<___ if ($SZ==4 || $avx);
 	leaq	OPENSSL_ia32cap_P(%rip),%r11
@@ -296,12 +297,19 @@
 ___
 $code.=<<___;
 	mov	%rsp,%rax		# copy %rsp
+.cfi_def_cfa_register	%rax
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	push	%r15
+.cfi_push	%r15
 	shl	\$4,%rdx		# num*16
 	sub	\$$framesz,%rsp
 	lea	($inp,%rdx,$SZ),%rdx	# inp+num*16*$SZ
@@ -310,6 +318,7 @@
 	mov	$inp,$_inp		# save inp, 2nd arh
 	mov	%rdx,$_end		# save end pointer, "3rd" arg
 	mov	%rax,$_rsp		# save copy of %rsp
+.cfi_cfa_expression	$_rsp,deref,+8
 .Lprologue:
 
 	mov	$SZ*0($ctx),$A
@@ -376,15 +385,24 @@
 	jb	.Lloop
 
 	mov	$_rsp,%rsi
+.cfi_def_cfa	%rsi,8
 	mov	-48(%rsi),%r15
+.cfi_restore	%r15
 	mov	-40(%rsi),%r14
+.cfi_restore	%r14
 	mov	-32(%rsi),%r13
+.cfi_restore	%r13
 	mov	-24(%rsi),%r12
+.cfi_restore	%r12
 	mov	-16(%rsi),%rbp
+.cfi_restore	%rbp
 	mov	-8(%rsi),%rbx
+.cfi_restore	%rbx
 	lea	(%rsi),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue:
 	ret
+.cfi_endproc
 .size	$func,.-$func
 ___
 
@@ -754,14 +772,22 @@
 .type	${func}_ssse3,\@function,3
 .align	64
 ${func}_ssse3:
+.cfi_startproc
 .Lssse3_shortcut:
 	mov	%rsp,%rax		# copy %rsp
+.cfi_def_cfa_register	%rax
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	push	%r15
+.cfi_push	%r15
 	shl	\$4,%rdx		# num*16
 	sub	\$`$framesz+$win64*16*4`,%rsp
 	lea	($inp,%rdx,$SZ),%rdx	# inp+num*16*$SZ
@@ -770,6 +796,7 @@
 	mov	$inp,$_inp		# save inp, 2nd arh
 	mov	%rdx,$_end		# save end pointer, "3rd" arg
 	mov	%rax,$_rsp		# save copy of %rsp
+.cfi_cfa_expression	$_rsp,deref,+8
 ___
 $code.=<<___ if ($win64);
 	movaps	%xmm6,16*$SZ+32(%rsp)
@@ -1068,6 +1095,7 @@
 	jb	.Lloop_ssse3
 
 	mov	$_rsp,%rsi
+.cfi_def_cfa	%rsi,8
 ___
 $code.=<<___ if ($win64);
 	movaps	16*$SZ+32(%rsp),%xmm6
@@ -1077,14 +1105,22 @@
 ___
 $code.=<<___;
 	mov	-48(%rsi),%r15
+.cfi_restore	%r15
 	mov	-40(%rsi),%r14
+.cfi_restore	%r14
 	mov	-32(%rsi),%r13
+.cfi_restore	%r13
 	mov	-24(%rsi),%r12
+.cfi_restore	%r12
 	mov	-16(%rsi),%rbp
+.cfi_restore	%rbp
 	mov	-8(%rsi),%rbx
+.cfi_restore	%rbx
 	lea	(%rsi),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue_ssse3:
 	ret
+.cfi_endproc
 .size	${func}_ssse3,.-${func}_ssse3
 ___
 }
@@ -1098,14 +1134,22 @@
 .type	${func}_xop,\@function,3
 .align	64
 ${func}_xop:
+.cfi_startproc
 .Lxop_shortcut:
 	mov	%rsp,%rax		# copy %rsp
+.cfi_def_cfa_register	%rax
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	push	%r15
+.cfi_push	%r15
 	shl	\$4,%rdx		# num*16
 	sub	\$`$framesz+$win64*16*($SZ==4?4:6)`,%rsp
 	lea	($inp,%rdx,$SZ),%rdx	# inp+num*16*$SZ
@@ -1114,6 +1158,7 @@
 	mov	$inp,$_inp		# save inp, 2nd arh
 	mov	%rdx,$_end		# save end pointer, "3rd" arg
 	mov	%rax,$_rsp		# save copy of %rsp
+.cfi_cfa_expression	$_rsp,deref,+8
 ___
 $code.=<<___ if ($win64);
 	movaps	%xmm6,16*$SZ+32(%rsp)
@@ -1440,6 +1485,7 @@
 	jb	.Lloop_xop
 
 	mov	$_rsp,%rsi
+.cfi_def_cfa	%rsi,8
 	vzeroupper
 ___
 $code.=<<___ if ($win64);
@@ -1454,14 +1500,22 @@
 ___
 $code.=<<___;
 	mov	-48(%rsi),%r15
+.cfi_restore	%r15
 	mov	-40(%rsi),%r14
+.cfi_restore	%r14
 	mov	-32(%rsi),%r13
+.cfi_restore	%r13
 	mov	-24(%rsi),%r12
+.cfi_restore	%r12
 	mov	-16(%rsi),%rbp
+.cfi_restore	%rbp
 	mov	-8(%rsi),%rbx
+.cfi_restore	%rbx
 	lea	(%rsi),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue_xop:
 	ret
+.cfi_endproc
 .size	${func}_xop,.-${func}_xop
 ___
 }
@@ -1474,14 +1528,22 @@
 .type	${func}_avx,\@function,3
 .align	64
 ${func}_avx:
+.cfi_startproc
 .Lavx_shortcut:
 	mov	%rsp,%rax		# copy %rsp
+.cfi_def_cfa_register	%rax
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	push	%r15
+.cfi_push	%r15
 	shl	\$4,%rdx		# num*16
 	sub	\$`$framesz+$win64*16*($SZ==4?4:6)`,%rsp
 	lea	($inp,%rdx,$SZ),%rdx	# inp+num*16*$SZ
@@ -1490,6 +1552,7 @@
 	mov	$inp,$_inp		# save inp, 2nd arh
 	mov	%rdx,$_end		# save end pointer, "3rd" arg
 	mov	%rax,$_rsp		# save copy of %rsp
+.cfi_cfa_expression	$_rsp,deref,+8
 ___
 $code.=<<___ if ($win64);
 	movaps	%xmm6,16*$SZ+32(%rsp)
@@ -1748,6 +1811,7 @@
 	jb	.Lloop_avx
 
 	mov	$_rsp,%rsi
+.cfi_def_cfa	%rsi,8
 	vzeroupper
 ___
 $code.=<<___ if ($win64);
@@ -1762,14 +1826,22 @@
 ___
 $code.=<<___;
 	mov	-48(%rsi),%r15
+.cfi_restore	%r15
 	mov	-40(%rsi),%r14
+.cfi_restore	%r14
 	mov	-32(%rsi),%r13
+.cfi_restore	%r13
 	mov	-24(%rsi),%r12
+.cfi_restore	%r12
 	mov	-16(%rsi),%rbp
+.cfi_restore	%rbp
 	mov	-8(%rsi),%rbx
+.cfi_restore	%rbx
 	lea	(%rsi),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue_avx:
 	ret
+.cfi_endproc
 .size	${func}_avx,.-${func}_avx
 ___
 
@@ -1825,14 +1897,22 @@
 .type	${func}_avx2,\@function,3
 .align	64
 ${func}_avx2:
+.cfi_startproc
 .Lavx2_shortcut:
 	mov	%rsp,%rax		# copy %rsp
+.cfi_def_cfa_register	%rax
 	push	%rbx
+.cfi_push	%rbx
 	push	%rbp
+.cfi_push	%rbp
 	push	%r12
+.cfi_push	%r12
 	push	%r13
+.cfi_push	%r13
 	push	%r14
+.cfi_push	%r14
 	push	%r15
+.cfi_push	%r15
 	sub	\$`2*$SZ*$rounds+4*8+$win64*16*($SZ==4?4:6)`,%rsp
 	shl	\$4,%rdx		# num*16
 	and	\$-256*$SZ,%rsp		# align stack frame
@@ -1842,6 +1922,7 @@
 	mov	$inp,$_inp		# save inp, 2nd arh
 	mov	%rdx,$_end		# save end pointer, "3rd" arg
 	mov	%rax,$_rsp		# save copy of %rsp
+.cfi_cfa_expression	$_rsp,deref,+8
 ___
 $code.=<<___ if ($win64);
 	movaps	%xmm6,16*$SZ+32(%rsp)
@@ -2122,6 +2203,7 @@
 .Ldone_avx2:
 	lea	($Tbl),%rsp
 	mov	$_rsp,%rsi
+.cfi_def_cfa	%rsi,8
 	vzeroupper
 ___
 $code.=<<___ if ($win64);
@@ -2136,14 +2218,22 @@
 ___
 $code.=<<___;
 	mov	-48(%rsi),%r15
+.cfi_restore	%r15
 	mov	-40(%rsi),%r14
+.cfi_restore	%r14
 	mov	-32(%rsi),%r13
+.cfi_restore	%r13
 	mov	-24(%rsi),%r12
+.cfi_restore	%r12
 	mov	-16(%rsi),%rbp
+.cfi_restore	%rbp
 	mov	-8(%rsi),%rbx
+.cfi_restore	%rbx
 	lea	(%rsi),%rsp
+.cfi_def_cfa_register	%rsp
 .Lepilogue_avx2:
 	ret
+.cfi_endproc
 .size	${func}_avx2,.-${func}_avx2
 ___
 }}
diff --git a/src/crypto/fipsmodule/tls/kdf.c b/src/crypto/fipsmodule/tls/kdf.c
index 7c7fcc3..347e998 100644
--- a/src/crypto/fipsmodule/tls/kdf.c
+++ b/src/crypto/fipsmodule/tls/kdf.c
@@ -52,11 +52,12 @@
 
 #include <assert.h>
 
+#include <openssl/digest.h>
 #include <openssl/hmac.h>
 #include <openssl/mem.h>
 
 #include "internal.h"
-#include "../crypto/internal.h"
+#include "../../internal.h"
 
 
 // tls1_P_hash computes the TLS P_<hash> function as described in RFC 5246,
diff --git a/src/crypto/internal.h b/src/crypto/internal.h
index 48bbae9..c4e2e51 100644
--- a/src/crypto/internal.h
+++ b/src/crypto/internal.h
@@ -116,6 +116,7 @@
 #include <assert.h>
 #include <string.h>
 
+#if !defined(__cplusplus)
 #if defined(__GNUC__) && \
     (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800
 // |alignas| and |alignof| were added in C11. GCC added support in version 4.8.
@@ -123,8 +124,7 @@
 // reports support for C11.
 #define alignas(x) __attribute__ ((aligned (x)))
 #define alignof(x) __alignof__ (x)
-#elif !defined(__cplusplus)
-#if defined(_MSC_VER)
+#elif defined(_MSC_VER)
 #define alignas(x) __declspec(align(x))
 #define alignof __alignof
 #else
@@ -528,7 +528,6 @@
 // stored.
 typedef enum {
   OPENSSL_THREAD_LOCAL_ERR = 0,
-  OPENSSL_THREAD_LOCAL_RAND,
   OPENSSL_THREAD_LOCAL_TEST,
   NUM_OPENSSL_THREAD_LOCALS,
 } thread_local_data_t;
diff --git a/src/crypto/lhash/lhash.c b/src/crypto/lhash/lhash.c
index 7bfd289..e4fc3fd 100644
--- a/src/crypto/lhash/lhash.c
+++ b/src/crypto/lhash/lhash.c
@@ -141,14 +141,12 @@
 static LHASH_ITEM **get_next_ptr_and_hash(const _LHASH *lh, uint32_t *out_hash,
                                           const void *data) {
   const uint32_t hash = lh->hash(data);
-  LHASH_ITEM *cur, **ret;
-
   if (out_hash != NULL) {
     *out_hash = hash;
   }
 
-  ret = &lh->buckets[hash % lh->num_buckets];
-  for (cur = *ret; cur != NULL; cur = *ret) {
+  LHASH_ITEM **ret = &lh->buckets[hash % lh->num_buckets];
+  for (LHASH_ITEM *cur = *ret; cur != NULL; cur = *ret) {
     if (lh->comp(cur->data, data) == 0) {
       break;
     }
@@ -158,16 +156,32 @@
   return ret;
 }
 
-void *lh_retrieve(const _LHASH *lh, const void *data) {
-  LHASH_ITEM **next_ptr;
-
-  next_ptr = get_next_ptr_and_hash(lh, NULL, data);
-
-  if (*next_ptr == NULL) {
-    return NULL;
+// get_next_ptr_by_key behaves like |get_next_ptr_and_hash| but takes a key
+// which may be a different type from the values stored in |lh|.
+static LHASH_ITEM **get_next_ptr_by_key(const _LHASH *lh, const void *key,
+                                        uint32_t key_hash,
+                                        int (*cmp_key)(const void *key,
+                                                       const void *value)) {
+  LHASH_ITEM **ret = &lh->buckets[key_hash % lh->num_buckets];
+  for (LHASH_ITEM *cur = *ret; cur != NULL; cur = *ret) {
+    if (cmp_key(key, cur->data) == 0) {
+      break;
+    }
+    ret = &cur->next;
   }
 
-  return (*next_ptr)->data;
+  return ret;
+}
+
+void *lh_retrieve(const _LHASH *lh, const void *data) {
+  LHASH_ITEM **next_ptr = get_next_ptr_and_hash(lh, NULL, data);
+  return *next_ptr == NULL ? NULL : (*next_ptr)->data;
+}
+
+void *lh_retrieve_key(const _LHASH *lh, const void *key, uint32_t key_hash,
+                      int (*cmp_key)(const void *key, const void *value)) {
+  LHASH_ITEM **next_ptr = get_next_ptr_by_key(lh, key, key_hash, cmp_key);
+  return *next_ptr == NULL ? NULL : (*next_ptr)->data;
 }
 
 // lh_rebucket allocates a new array of |new_num_buckets| pointers and
diff --git a/src/crypto/lhash/lhash_test.cc b/src/crypto/lhash/lhash_test.cc
index 0859eeb..a2f61f6 100644
--- a/src/crypto/lhash/lhash_test.cc
+++ b/src/crypto/lhash/lhash_test.cc
@@ -103,6 +103,17 @@
         std::unique_ptr<char[]> key = RandString();
         void *value = lh_retrieve(lh.get(), key.get());
         EXPECT_EQ(Lookup(&dummy_lh, key.get()), value);
+
+        // Do the same lookup with |lh_retrieve_key|.
+        value = lh_retrieve_key(
+            lh.get(), &key, lh_strhash(key.get()),
+            [](const void *key_ptr, const void *data) -> int {
+              const char *key_data =
+                  reinterpret_cast<const std::unique_ptr<char[]> *>(key_ptr)
+                      ->get();
+              return strcmp(key_data, reinterpret_cast<const char *>(data));
+            });
+        EXPECT_EQ(Lookup(&dummy_lh, key.get()), value);
         break;
       }
 
diff --git a/src/crypto/lhash/make_macros.sh b/src/crypto/lhash/make_macros.sh
index 8a876af..1418539 100644
--- a/src/crypto/lhash/make_macros.sh
+++ b/src/crypto/lhash/make_macros.sh
@@ -28,7 +28,7 @@
   type=$1
 
   cat >> $out << EOF
-/* ${type} */
+// ${type}
 #define lh_${type}_new(hash, comp)\\
 ((LHASH_OF(${type})*) lh_new(CHECKED_CAST(lhash_hash_func, uint32_t (*) (const ${type} *), hash), CHECKED_CAST(lhash_cmp_func, int (*) (const ${type} *a, const ${type} *b), comp)))
 
@@ -41,6 +41,9 @@
 #define lh_${type}_retrieve(lh, data)\\
   ((${type}*) lh_retrieve(CHECKED_CAST(_LHASH*, LHASH_OF(${type})*, lh), CHECKED_CAST(void*, ${type}*, data)))
 
+#define lh_${type}_retrieve_key(lh, key, key_hash, cmp_key)\\
+  ((${type}*) lh_retrieve_key(CHECKED_CAST(_LHASH*, LHASH_OF(${type})*, lh), key, key_hash, CHECKED_CAST(int (*)(const void *, const void *), int (*)(const void *, const ${type} *), cmp_key)))
+
 #define lh_${type}_insert(lh, old_data, data)\\
   lh_insert(CHECKED_CAST(_LHASH*, LHASH_OF(${type})*, lh), CHECKED_CAST(void**, ${type}**, old_data), CHECKED_CAST(void*, ${type}*, data))
 
@@ -57,7 +60,7 @@
 EOF
 }
 
-lhash_types=$(cat ${include_dir}/lhash.h | grep '^ \* LHASH_OF:' | sed -e 's/.*LHASH_OF://' -e 's/ .*//')
+lhash_types=$(cat ${include_dir}/lhash.h | grep '^// LHASH_OF:' | sed -e 's/.*LHASH_OF://' -e 's/ .*//')
 
 for type in $lhash_types; do
   echo Hash of ${type}
diff --git a/src/crypto/obj/obj.c b/src/crypto/obj/obj.c
index a34d6dc..c928889 100644
--- a/src/crypto/obj/obj.c
+++ b/src/crypto/obj/obj.c
@@ -552,3 +552,5 @@
   }
   return op->nid;
 }
+
+void OBJ_cleanup(void) {}
diff --git a/src/crypto/pem/pem_all.c b/src/crypto/pem/pem_all.c
index e94ff26..6b40883 100644
--- a/src/crypto/pem/pem_all.c
+++ b/src/crypto/pem/pem_all.c
@@ -113,9 +113,7 @@
 #include <openssl/dsa.h>
 #include <openssl/evp.h>
 #include <openssl/pem.h>
-/*
- * #include <openssl/pkcs7.h>
- */
+#include <openssl/pkcs7.h>
 #include <openssl/rsa.h>
 #include <openssl/x509.h>
 
@@ -127,6 +125,7 @@
 
 IMPLEMENT_PEM_write(X509_REQ_NEW, X509_REQ, PEM_STRING_X509_REQ_OLD, X509_REQ)
 IMPLEMENT_PEM_rw(X509_CRL, X509_CRL, PEM_STRING_X509_CRL, X509_CRL)
+IMPLEMENT_PEM_rw(PKCS7, PKCS7, PEM_STRING_PKCS7, PKCS7)
 
 /*
  * We treat RSA or DSA private keys as a special case. For private keys we
diff --git a/src/crypto/pkcs7/pkcs7.c b/src/crypto/pkcs7/pkcs7.c
index fc175a9..c04bffd 100644
--- a/src/crypto/pkcs7/pkcs7.c
+++ b/src/crypto/pkcs7/pkcs7.c
@@ -41,23 +41,14 @@
 // It returns one on success or zero on error. On error, |*der_bytes| is
 // NULL.
 int pkcs7_parse_header(uint8_t **der_bytes, CBS *out, CBS *cbs) {
-  size_t der_len;
   CBS in, content_info, content_type, wrapped_signed_data, signed_data;
   uint64_t version;
 
   // The input may be in BER format.
   *der_bytes = NULL;
-  if (!CBS_asn1_ber_to_der(cbs, der_bytes, &der_len)) {
-    return 0;
-  }
-  if (*der_bytes != NULL) {
-    CBS_init(&in, *der_bytes, der_len);
-  } else {
-    CBS_init(&in, CBS_data(cbs), CBS_len(cbs));
-  }
-
-  // See https://tools.ietf.org/html/rfc2315#section-7
-  if (!CBS_get_asn1(&in, &content_info, CBS_ASN1_SEQUENCE) ||
+  if (!CBS_asn1_ber_to_der(cbs, &in, der_bytes) ||
+      // See https://tools.ietf.org/html/rfc2315#section-7
+      !CBS_get_asn1(&in, &content_info, CBS_ASN1_SEQUENCE) ||
       !CBS_get_asn1(&content_info, &content_type, CBS_ASN1_OBJECT)) {
     goto err;
   }
@@ -96,18 +87,19 @@
                                CRYPTO_BUFFER_POOL *pool) {
   CBS signed_data, certificates;
   uint8_t *der_bytes = NULL;
-  int ret = 0;
+  int ret = 0, has_certificates;
   const size_t initial_certs_len = sk_CRYPTO_BUFFER_num(out_certs);
 
-  if (!pkcs7_parse_header(&der_bytes, &signed_data, cbs)) {
-    return 0;
+  // See https://tools.ietf.org/html/rfc2315#section-9.1
+  if (!pkcs7_parse_header(&der_bytes, &signed_data, cbs) ||
+      !CBS_get_optional_asn1(
+          &signed_data, &certificates, &has_certificates,
+          CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 0)) {
+    goto err;
   }
 
-  // See https://tools.ietf.org/html/rfc2315#section-9.1
-  if (!CBS_get_asn1(&signed_data, &certificates,
-                    CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 0)) {
-    OPENSSL_PUT_ERROR(PKCS7, PKCS7_R_NO_CERTIFICATES_INCLUDED);
-    goto err;
+  if (!has_certificates) {
+    CBS_init(&certificates, NULL, 0);
   }
 
   while (CBS_len(&certificates) > 0) {
diff --git a/src/crypto/pkcs7/pkcs7_test.cc b/src/crypto/pkcs7/pkcs7_test.cc
index 54f7e8a..1ac9af2 100644
--- a/src/crypto/pkcs7/pkcs7_test.cc
+++ b/src/crypto/pkcs7/pkcs7_test.cc
@@ -480,6 +480,7 @@
   CBS pkcs7;
   CBS_init(&pkcs7, der_bytes, der_len);
   ASSERT_TRUE(PKCS7_get_certificates(certs.get(), &pkcs7));
+  EXPECT_EQ(0u, CBS_len(&pkcs7));
 
   bssl::ScopedCBB cbb;
   ASSERT_TRUE(CBB_init(cbb.get(), der_len));
@@ -489,9 +490,9 @@
 
   CBS_init(&pkcs7, result_data, result_len);
   ASSERT_TRUE(PKCS7_get_certificates(certs2.get(), &pkcs7));
+  EXPECT_EQ(0u, CBS_len(&pkcs7));
 
   ASSERT_EQ(sk_X509_num(certs.get()), sk_X509_num(certs2.get()));
-
   for (size_t i = 0; i < sk_X509_num(certs.get()); i++) {
     X509 *a = sk_X509_value(certs.get(), i);
     X509 *b = sk_X509_value(certs2.get(), i);
@@ -504,6 +505,50 @@
   bssl::UniquePtr<uint8_t> free_result2_data(result2_data);
 
   EXPECT_EQ(Bytes(result_data, result_len), Bytes(result2_data, result2_len));
+
+  // Parse with the legacy API instead.
+  const uint8_t *ptr = der_bytes;
+  bssl::UniquePtr<PKCS7> pkcs7_obj(d2i_PKCS7(nullptr, &ptr, der_len));
+  ASSERT_TRUE(pkcs7_obj);
+  EXPECT_EQ(ptr, der_bytes + der_len);
+
+  ASSERT_TRUE(PKCS7_type_is_signed(pkcs7_obj.get()));
+  const STACK_OF(X509) *certs3 = pkcs7_obj->d.sign->cert;
+  ASSERT_EQ(sk_X509_num(certs.get()), sk_X509_num(certs3));
+  for (size_t i = 0; i < sk_X509_num(certs.get()); i++) {
+    X509 *a = sk_X509_value(certs.get(), i);
+    X509 *b = sk_X509_value(certs3, i);
+    ASSERT_EQ(0, X509_cmp(a, b));
+  }
+
+  // Serialize the original object. This should echo back the original saved
+  // bytes.
+  uint8_t *result3_data = nullptr;
+  int result3_len = i2d_PKCS7(pkcs7_obj.get(), &result3_data);
+  ASSERT_GT(result3_len, 0);
+  bssl::UniquePtr<uint8_t> free_result3_data(result3_data);
+  EXPECT_EQ(Bytes(der_bytes, der_len), Bytes(result3_data, result3_len));
+
+  // Make a new object with the legacy API.
+  pkcs7_obj.reset(
+      PKCS7_sign(nullptr, nullptr, certs.get(), nullptr, PKCS7_DETACHED));
+  ASSERT_TRUE(pkcs7_obj);
+
+  ASSERT_TRUE(PKCS7_type_is_signed(pkcs7_obj.get()));
+  const STACK_OF(X509) *certs4 = pkcs7_obj->d.sign->cert;
+  ASSERT_EQ(sk_X509_num(certs.get()), sk_X509_num(certs4));
+  for (size_t i = 0; i < sk_X509_num(certs.get()); i++) {
+    X509 *a = sk_X509_value(certs.get(), i);
+    X509 *b = sk_X509_value(certs4, i);
+    ASSERT_EQ(0, X509_cmp(a, b));
+  }
+
+  // This new object should serialize canonically.
+  uint8_t *result4_data = nullptr;
+  int result4_len = i2d_PKCS7(pkcs7_obj.get(), &result4_data);
+  ASSERT_GT(result4_len, 0);
+  bssl::UniquePtr<uint8_t> free_result4_data(result4_data);
+  EXPECT_EQ(Bytes(result_data, result_len), Bytes(result4_data, result4_len));
 }
 
 static void TestCRLReparse(const uint8_t *der_bytes, size_t der_len) {
@@ -517,6 +562,7 @@
   CBS pkcs7;
   CBS_init(&pkcs7, der_bytes, der_len);
   ASSERT_TRUE(PKCS7_get_CRLs(crls.get(), &pkcs7));
+  EXPECT_EQ(0u, CBS_len(&pkcs7));
 
   bssl::ScopedCBB cbb;
   ASSERT_TRUE(CBB_init(cbb.get(), der_len));
@@ -526,9 +572,9 @@
 
   CBS_init(&pkcs7, result_data, result_len);
   ASSERT_TRUE(PKCS7_get_CRLs(crls2.get(), &pkcs7));
+  EXPECT_EQ(0u, CBS_len(&pkcs7));
 
   ASSERT_EQ(sk_X509_CRL_num(crls.get()), sk_X509_CRL_num(crls.get()));
-
   for (size_t i = 0; i < sk_X509_CRL_num(crls.get()); i++) {
     X509_CRL *a = sk_X509_CRL_value(crls.get(), i);
     X509_CRL *b = sk_X509_CRL_value(crls2.get(), i);
@@ -541,6 +587,35 @@
   bssl::UniquePtr<uint8_t> free_result2_data(result2_data);
 
   EXPECT_EQ(Bytes(result_data, result_len), Bytes(result2_data, result2_len));
+
+  // Parse with the legacy API instead.
+  const uint8_t *ptr = der_bytes;
+  bssl::UniquePtr<PKCS7> pkcs7_obj(d2i_PKCS7(nullptr, &ptr, der_len));
+  ASSERT_TRUE(pkcs7_obj);
+  EXPECT_EQ(ptr, der_bytes + der_len);
+
+  ASSERT_TRUE(PKCS7_type_is_signed(pkcs7_obj.get()));
+  const STACK_OF(X509_CRL) *crls3 = pkcs7_obj->d.sign->crl;
+  ASSERT_EQ(sk_X509_CRL_num(crls.get()), sk_X509_CRL_num(crls3));
+  for (size_t i = 0; i < sk_X509_CRL_num(crls.get()); i++) {
+    X509_CRL *a = sk_X509_CRL_value(crls.get(), i);
+    X509_CRL *b = sk_X509_CRL_value(crls3, i);
+    ASSERT_EQ(0, X509_CRL_cmp(a, b));
+  }
+
+  ptr = result_data;
+  pkcs7_obj.reset(d2i_PKCS7(nullptr, &ptr, result_len));
+  ASSERT_TRUE(pkcs7_obj);
+  EXPECT_EQ(ptr, result_data + result_len);
+
+  ASSERT_TRUE(PKCS7_type_is_signed(pkcs7_obj.get()));
+  const STACK_OF(X509_CRL) *crls4 = pkcs7_obj->d.sign->crl;
+  ASSERT_EQ(sk_X509_CRL_num(crls.get()), sk_X509_CRL_num(crls4));
+  for (size_t i = 0; i < sk_X509_CRL_num(crls.get()); i++) {
+    X509_CRL *a = sk_X509_CRL_value(crls.get(), i);
+    X509_CRL *b = sk_X509_CRL_value(crls4, i);
+    ASSERT_EQ(0, X509_CRL_cmp(a, b));
+  }
 }
 
 static void TestPEMCerts(const char *pem) {
diff --git a/src/crypto/pkcs7/pkcs7_x509.c b/src/crypto/pkcs7/pkcs7_x509.c
index 7bc39d2..a2a6b46 100644
--- a/src/crypto/pkcs7/pkcs7_x509.c
+++ b/src/crypto/pkcs7/pkcs7_x509.c
@@ -26,6 +26,7 @@
 #include <openssl/x509.h>
 
 #include "internal.h"
+#include "../internal.h"
 
 
 int PKCS7_get_certificates(STACK_OF(X509) *out_certs, CBS *cbs) {
@@ -64,28 +65,24 @@
 int PKCS7_get_CRLs(STACK_OF(X509_CRL) *out_crls, CBS *cbs) {
   CBS signed_data, crls;
   uint8_t *der_bytes = NULL;
-  int ret = 0;
+  int ret = 0, has_crls;
   const size_t initial_crls_len = sk_X509_CRL_num(out_crls);
 
-  if (!pkcs7_parse_header(&der_bytes, &signed_data, cbs)) {
-    return 0;
-  }
-
   // See https://tools.ietf.org/html/rfc2315#section-9.1
-
-  // Even if only CRLs are included, there may be an empty certificates block.
-  // OpenSSL does this, for example.
-  if (CBS_peek_asn1_tag(&signed_data,
-                        CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 0) &&
-      !CBS_get_asn1(&signed_data, NULL /* certificates */,
-                    CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 0)) {
+  if (!pkcs7_parse_header(&der_bytes, &signed_data, cbs) ||
+      // Even if only CRLs are included, there may be an empty certificates
+      // block. OpenSSL does this, for example.
+      !CBS_get_optional_asn1(
+          &signed_data, NULL, NULL,
+          CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 0) ||
+      !CBS_get_optional_asn1(
+          &signed_data, &crls, &has_crls,
+          CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 1)) {
     goto err;
   }
 
-  if (!CBS_get_asn1(&signed_data, &crls,
-                    CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 1)) {
-    OPENSSL_PUT_ERROR(PKCS7, PKCS7_R_NO_CRLS_INCLUDED);
-    goto err;
+  if (!has_crls) {
+    CBS_init(&crls, NULL, 0);
   }
 
   while (CBS_len(&crls) > 0) {
@@ -231,3 +228,168 @@
 int PKCS7_bundle_CRLs(CBB *out, const STACK_OF(X509_CRL) *crls) {
   return pkcs7_bundle(out, pkcs7_bundle_crls_cb, crls);
 }
+
+static PKCS7 *pkcs7_new(CBS *cbs) {
+  PKCS7 *ret = OPENSSL_malloc(sizeof(PKCS7));
+  if (ret == NULL) {
+    return NULL;
+  }
+  OPENSSL_memset(ret, 0, sizeof(PKCS7));
+  ret->type = (ASN1_OBJECT *)OBJ_nid2obj(NID_pkcs7_signed);
+  ret->d.sign = OPENSSL_malloc(sizeof(PKCS7_SIGNED));
+  if (ret->d.sign == NULL) {
+    goto err;
+  }
+  ret->d.sign->cert = sk_X509_new_null();
+  ret->d.sign->crl = sk_X509_CRL_new_null();
+  CBS copy = *cbs, copy2 = *cbs;
+  if (ret->d.sign->cert == NULL || ret->d.sign->crl == NULL ||
+      !PKCS7_get_certificates(ret->d.sign->cert, &copy) ||
+      !PKCS7_get_CRLs(ret->d.sign->crl, cbs)) {
+    goto err;
+  }
+
+  if (sk_X509_num(ret->d.sign->cert) == 0) {
+    sk_X509_free(ret->d.sign->cert);
+    ret->d.sign->cert = NULL;
+  }
+
+  if (sk_X509_CRL_num(ret->d.sign->crl) == 0) {
+    sk_X509_CRL_free(ret->d.sign->crl);
+    ret->d.sign->crl = NULL;
+  }
+
+  ret->ber_len = CBS_len(&copy2) - CBS_len(cbs);
+  ret->ber_bytes = BUF_memdup(CBS_data(&copy2), ret->ber_len);
+  if (ret->ber_bytes == NULL) {
+    goto err;
+  }
+
+  return ret;
+
+err:
+  PKCS7_free(ret);
+  return NULL;
+}
+
+PKCS7 *d2i_PKCS7(PKCS7 **out, const uint8_t **inp,
+                 size_t len) {
+  CBS cbs;
+  CBS_init(&cbs, *inp, len);
+  PKCS7 *ret = pkcs7_new(&cbs);
+  if (ret == NULL) {
+    return NULL;
+  }
+  *inp = CBS_data(&cbs);
+  if (out != NULL) {
+    PKCS7_free(*out);
+    *out = ret;
+  }
+  return ret;
+}
+
+PKCS7 *d2i_PKCS7_bio(BIO *bio, PKCS7 **out) {
+  // Use a generous bound, to allow for PKCS#7 files containing large root sets.
+  static const size_t kMaxSize = 4 * 1024 * 1024;
+  uint8_t *data;
+  size_t len;
+  if (!BIO_read_asn1(bio, &data, &len, kMaxSize)) {
+    return NULL;
+  }
+
+  CBS cbs;
+  CBS_init(&cbs, data, len);
+  PKCS7 *ret = pkcs7_new(&cbs);
+  OPENSSL_free(data);
+  if (out != NULL && ret != NULL) {
+    PKCS7_free(*out);
+    *out = ret;
+  }
+  return ret;
+}
+
+int i2d_PKCS7(const PKCS7 *p7, uint8_t **out) {
+  if (p7->ber_len > INT_MAX) {
+    OPENSSL_PUT_ERROR(PKCS8, ERR_R_OVERFLOW);
+    return -1;
+  }
+
+  if (out == NULL) {
+    return (int)p7->ber_len;
+  }
+
+  if (*out == NULL) {
+    *out = OPENSSL_malloc(p7->ber_len);
+    if (*out == NULL) {
+      OPENSSL_PUT_ERROR(PKCS8, ERR_R_MALLOC_FAILURE);
+      return -1;
+    }
+    OPENSSL_memcpy(*out, p7->ber_bytes, p7->ber_len);
+  } else {
+    OPENSSL_memcpy(*out, p7->ber_bytes, p7->ber_len);
+    *out += p7->ber_len;
+  }
+  return (int)p7->ber_len;
+}
+
+int i2d_PKCS7_bio(BIO *bio, const PKCS7 *p7) {
+  size_t written = 0;
+  while (written < p7->ber_len) {
+    size_t todo = p7->ber_len - written;
+    int len = todo > INT_MAX ? INT_MAX : (int)todo;
+    int ret = BIO_write(bio, p7->ber_bytes + written, len);
+    if (ret <= 0) {
+      return 0;
+    }
+    written += (size_t)ret;
+  }
+  return 1;
+}
+
+void PKCS7_free(PKCS7 *p7) {
+  if (p7 == NULL) {
+    return;
+  }
+
+  OPENSSL_free(p7->ber_bytes);
+  ASN1_OBJECT_free(p7->type);
+  // We only supported signed data.
+  if (p7->d.sign != NULL) {
+    sk_X509_pop_free(p7->d.sign->cert, X509_free);
+    sk_X509_CRL_pop_free(p7->d.sign->crl, X509_CRL_free);
+    OPENSSL_free(p7->d.sign);
+  }
+  OPENSSL_free(p7);
+}
+
+// We only support signed data, so these getters are no-ops.
+int PKCS7_type_is_data(const PKCS7 *p7) { return 0; }
+int PKCS7_type_is_digest(const PKCS7 *p7) { return 0; }
+int PKCS7_type_is_encrypted(const PKCS7 *p7) { return 0; }
+int PKCS7_type_is_enveloped(const PKCS7 *p7) { return 0; }
+int PKCS7_type_is_signed(const PKCS7 *p7) { return 1; }
+int PKCS7_type_is_signedAndEnveloped(const PKCS7 *p7) { return 0; }
+
+PKCS7 *PKCS7_sign(X509 *sign_cert, EVP_PKEY *pkey, STACK_OF(X509) *certs,
+                  BIO *data, int flags) {
+  if (sign_cert != NULL || pkey != NULL || flags != PKCS7_DETACHED) {
+    OPENSSL_PUT_ERROR(PKCS7, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
+    return NULL;
+  }
+
+  uint8_t *der;
+  size_t len;
+  CBB cbb;
+  if (!CBB_init(&cbb, 2048) ||
+      !PKCS7_bundle_certificates(&cbb, certs) ||
+      !CBB_finish(&cbb, &der, &len)) {
+    CBB_cleanup(&cbb);
+    return NULL;
+  }
+
+  CBS cbs;
+  CBS_init(&cbs, der, len);
+  PKCS7 *ret = pkcs7_new(&cbs);
+  OPENSSL_free(der);
+  return ret;
+}
diff --git a/src/crypto/pkcs8/internal.h b/src/crypto/pkcs8/internal.h
index 9399489..97c86c4 100644
--- a/src/crypto/pkcs8/internal.h
+++ b/src/crypto/pkcs8/internal.h
@@ -83,6 +83,13 @@
                    size_t salt_len, uint8_t id, unsigned iterations,
                    size_t out_len, uint8_t *out, const EVP_MD *md);
 
+// pkcs12_pbe_encrypt_init configures |ctx| for encrypting with a PBES1 scheme
+// defined in PKCS#12. It writes the corresponding AlgorithmIdentifier to |out|.
+int pkcs12_pbe_encrypt_init(CBB *out, EVP_CIPHER_CTX *ctx, int alg,
+                            unsigned iterations, const char *pass,
+                            size_t pass_len, const uint8_t *salt,
+                            size_t salt_len);
+
 struct pbe_suite {
   int pbe_nid;
   uint8_t oid[10];
diff --git a/src/crypto/pkcs8/pkcs12_test.cc b/src/crypto/pkcs8/pkcs12_test.cc
index 66d0397..e6c0e56 100644
--- a/src/crypto/pkcs8/pkcs12_test.cc
+++ b/src/crypto/pkcs8/pkcs12_test.cc
@@ -20,9 +20,13 @@
 #include <openssl/err.h>
 #include <openssl/evp.h>
 #include <openssl/pkcs8.h>
+#include <openssl/mem.h>
+#include <openssl/span.h>
 #include <openssl/stack.h>
 #include <openssl/x509.h>
 
+#include "../test/test_util.h"
+
 
 // kPKCS12DER contains sample PKCS#12 data generated by OpenSSL with:
 // openssl pkcs12 -export -inkey key.pem -in cacert.pem
@@ -899,22 +903,296 @@
 
 static const char kPassword[] = "foo";
 
-static void TestImpl(const char *name, const uint8_t *der, size_t der_len) {
+// Generated with
+//   openssl pkcs12 -export -inkey ecdsa_p256_key.pem -in ecdsa_p256_cert.pem -password pass:
+static const uint8_t kEmptyPassword[] = {
+    0x30, 0x82, 0x03, 0xd2, 0x02, 0x01, 0x03, 0x30, 0x82, 0x03, 0x98, 0x06,
+    0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,
+    0x03, 0x89, 0x04, 0x82, 0x03, 0x85, 0x30, 0x82, 0x03, 0x81, 0x30, 0x82,
+    0x02, 0x77, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07,
+    0x06, 0xa0, 0x82, 0x02, 0x68, 0x30, 0x82, 0x02, 0x64, 0x02, 0x01, 0x00,
+    0x30, 0x82, 0x02, 0x5d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+    0x01, 0x07, 0x01, 0x30, 0x1c, 0x06, 0x0a, 0x2a, 0x86, 0x48, 0x86, 0xf7,
+    0x0d, 0x01, 0x0c, 0x01, 0x06, 0x30, 0x0e, 0x04, 0x08, 0xe2, 0xb3, 0x39,
+    0xd2, 0xbd, 0x5a, 0x8c, 0x0e, 0x02, 0x02, 0x08, 0x00, 0x80, 0x82, 0x02,
+    0x30, 0x78, 0x22, 0x01, 0x8c, 0x16, 0xcd, 0x11, 0x86, 0xa1, 0xc7, 0x6e,
+    0xc4, 0x77, 0xa1, 0x8d, 0xb4, 0x85, 0xc3, 0xb2, 0x02, 0x63, 0x70, 0x8b,
+    0xfb, 0xb0, 0x5c, 0x8f, 0x1c, 0xec, 0x0f, 0xc7, 0x7d, 0xb6, 0x0a, 0x03,
+    0x5f, 0x20, 0x00, 0x32, 0x2d, 0x2e, 0x12, 0x4e, 0x5a, 0x60, 0x48, 0x6f,
+    0xd0, 0xe9, 0x8c, 0x15, 0x59, 0x5c, 0x62, 0xe6, 0x24, 0x4c, 0xfd, 0x1f,
+    0x30, 0xa1, 0x22, 0x8b, 0x0f, 0xe5, 0x37, 0x82, 0x6b, 0x19, 0x0d, 0xcc,
+    0x85, 0x4d, 0xce, 0x64, 0x9b, 0x82, 0x29, 0xfe, 0x4a, 0xe4, 0x11, 0xd2,
+    0xe6, 0x01, 0xce, 0xdb, 0x54, 0x64, 0x6b, 0x07, 0x69, 0xb5, 0x19, 0xfb,
+    0xf1, 0x72, 0x84, 0x3c, 0x4e, 0x8d, 0x64, 0xfd, 0xa9, 0x33, 0xaa, 0x1d,
+    0x59, 0x1a, 0x3c, 0xcd, 0x1e, 0xee, 0x3a, 0x3e, 0x8a, 0x9c, 0xf1, 0x21,
+    0x24, 0xeb, 0x52, 0xd1, 0x7f, 0x32, 0x57, 0x68, 0xa0, 0xac, 0x2d, 0x94,
+    0xe8, 0x4c, 0x59, 0xa3, 0x43, 0xfb, 0x18, 0x79, 0x4c, 0xbe, 0xc2, 0x84,
+    0x3d, 0x6e, 0xb3, 0x2f, 0xc8, 0x72, 0xbc, 0x29, 0xec, 0x06, 0x87, 0xc3,
+    0x9a, 0x48, 0x40, 0x0e, 0xe6, 0x34, 0xc1, 0x4a, 0xf7, 0x2a, 0x6e, 0xe0,
+    0x0c, 0x9c, 0xa2, 0x32, 0x55, 0xd6, 0x43, 0x2c, 0x9d, 0x74, 0x4b, 0xf0,
+    0x5c, 0xaa, 0x2f, 0x6b, 0xb4, 0xa3, 0xb6, 0x10, 0xe1, 0x20, 0xad, 0xa2,
+    0xb7, 0x31, 0x54, 0x1c, 0x92, 0x55, 0xb1, 0x47, 0x9b, 0x56, 0xe7, 0x89,
+    0x90, 0x40, 0xa4, 0x87, 0x71, 0x38, 0x95, 0xec, 0x43, 0x26, 0x4b, 0x59,
+    0xad, 0x6d, 0xf0, 0xc2, 0xf7, 0x6f, 0xa0, 0x9a, 0xbb, 0x23, 0x50, 0x44,
+    0xbf, 0x8f, 0x49, 0x37, 0xc9, 0x4f, 0xd5, 0x23, 0x7e, 0xf6, 0x5d, 0xfb,
+    0xd8, 0x07, 0x64, 0xe0, 0xa8, 0xa3, 0x3a, 0x3e, 0xc7, 0x8f, 0x57, 0x8a,
+    0xb2, 0x5b, 0xc9, 0xfc, 0x27, 0x25, 0x2d, 0xcd, 0xcc, 0x9b, 0x5c, 0x44,
+    0x07, 0x7d, 0xf4, 0xad, 0x42, 0x12, 0x25, 0x48, 0x14, 0x56, 0x22, 0x66,
+    0xe5, 0xec, 0xe8, 0x76, 0x32, 0xe3, 0x18, 0xb1, 0xac, 0x2b, 0x0f, 0xd2,
+    0x92, 0x82, 0xe2, 0xd4, 0x42, 0x0d, 0x0d, 0x31, 0xb3, 0x8e, 0x53, 0x17,
+    0xc4, 0x8a, 0x0a, 0xf9, 0x6f, 0x39, 0xd1, 0x09, 0x55, 0x04, 0xe5, 0x09,
+    0x15, 0xe7, 0x3f, 0x2a, 0xf0, 0x89, 0xff, 0xb1, 0xa8, 0xe3, 0x8a, 0xf8,
+    0x9b, 0xa4, 0x34, 0x93, 0xea, 0x46, 0x26, 0xcf, 0x23, 0x73, 0x82, 0x87,
+    0x7c, 0xe3, 0xd2, 0x9b, 0x49, 0x53, 0x5b, 0x99, 0xa9, 0xd4, 0x87, 0xa4,
+    0xf0, 0xd0, 0x82, 0x40, 0xb0, 0x0b, 0x8c, 0xb2, 0x72, 0xca, 0x2c, 0xb1,
+    0x57, 0x54, 0x65, 0xf6, 0x88, 0xbb, 0x0d, 0x93, 0xac, 0xcb, 0x73, 0x90,
+    0xa8, 0x7b, 0x16, 0x55, 0x73, 0x7e, 0x7e, 0xe3, 0xe1, 0xc5, 0xc4, 0x0c,
+    0x36, 0x5e, 0x33, 0x91, 0x49, 0x9c, 0x71, 0x11, 0xf5, 0xd3, 0x5b, 0x38,
+    0xbd, 0xe6, 0xb5, 0x0f, 0x72, 0x8c, 0x34, 0xc6, 0x18, 0x6c, 0xc9, 0xe5,
+    0x40, 0x9c, 0xbe, 0xd8, 0x3e, 0x4d, 0x42, 0xd3, 0x96, 0x98, 0x14, 0x51,
+    0x29, 0xba, 0xed, 0x4c, 0x4f, 0x09, 0x50, 0x47, 0xf1, 0x84, 0x14, 0x65,
+    0x07, 0x85, 0x82, 0xad, 0x72, 0x34, 0x54, 0x5b, 0x0e, 0x44, 0x5d, 0xb8,
+    0x2c, 0x71, 0x67, 0x55, 0x20, 0x73, 0x20, 0xb9, 0x56, 0x7a, 0x69, 0x46,
+    0xca, 0x24, 0x47, 0x43, 0xd9, 0x47, 0xe7, 0x78, 0x7e, 0xc6, 0xfc, 0x59,
+    0xe5, 0xd9, 0x75, 0xe7, 0x65, 0x2e, 0xd8, 0xa3, 0x6e, 0x58, 0xdd, 0x96,
+    0x6b, 0xf4, 0x30, 0xd2, 0x3c, 0x42, 0xce, 0x2a, 0x9c, 0x7f, 0xa7, 0x69,
+    0xdf, 0xf5, 0x78, 0xc1, 0x83, 0x1e, 0x21, 0x5a, 0xad, 0x2a, 0x6a, 0x0a,
+    0x8b, 0x93, 0xa0, 0x0b, 0x96, 0x6d, 0xd9, 0xaa, 0x57, 0xa9, 0xd2, 0x31,
+    0x21, 0x52, 0x11, 0x51, 0x4b, 0x85, 0xe5, 0x07, 0x2f, 0x9b, 0x50, 0xff,
+    0xa7, 0x93, 0x93, 0xa7, 0xf6, 0x9e, 0x39, 0xc8, 0xfd, 0x53, 0x4d, 0x6d,
+    0x64, 0x2b, 0xdd, 0xc6, 0x7e, 0xe8, 0xfe, 0x04, 0xa8, 0x20, 0xf8, 0xb3,
+    0xa2, 0x5b, 0xa0, 0x0b, 0x27, 0x8a, 0x25, 0x70, 0x95, 0x30, 0x82, 0x01,
+    0x02, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01,
+    0xa0, 0x81, 0xf4, 0x04, 0x81, 0xf1, 0x30, 0x81, 0xee, 0x30, 0x81, 0xeb,
+    0x06, 0x0b, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x0c, 0x0a, 0x01,
+    0x02, 0xa0, 0x81, 0xb4, 0x30, 0x81, 0xb1, 0x30, 0x1c, 0x06, 0x0a, 0x2a,
+    0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x0c, 0x01, 0x03, 0x30, 0x0e, 0x04,
+    0x08, 0x3b, 0xa5, 0xb3, 0x6e, 0x74, 0x4b, 0xef, 0x0c, 0x02, 0x02, 0x08,
+    0x00, 0x04, 0x81, 0x90, 0x36, 0x54, 0x47, 0x07, 0xf6, 0xa4, 0x5f, 0xb1,
+    0x28, 0xd7, 0xcb, 0x92, 0xe1, 0xbd, 0x43, 0xa9, 0xf0, 0xa2, 0x07, 0x97,
+    0x29, 0x0d, 0xec, 0x4a, 0xea, 0xd1, 0x14, 0xe9, 0xa5, 0x10, 0xcb, 0x52,
+    0x26, 0x2e, 0x18, 0xf8, 0xc8, 0x73, 0xf4, 0xee, 0x91, 0x8e, 0x78, 0xc1,
+    0x38, 0xd7, 0x7c, 0x9b, 0x5d, 0xb9, 0x64, 0x49, 0x5f, 0x23, 0x6b, 0xe4,
+    0xf1, 0xe1, 0x72, 0x71, 0xb9, 0xad, 0xdf, 0x31, 0x9a, 0xab, 0xd0, 0xad,
+    0x17, 0xb9, 0x2d, 0x4b, 0x8e, 0xbe, 0xe0, 0xb1, 0x94, 0xd6, 0xc0, 0x37,
+    0xee, 0x38, 0x65, 0xc0, 0xc5, 0x4e, 0x09, 0x7a, 0x02, 0x17, 0xd8, 0x4f,
+    0x83, 0x4f, 0xa2, 0x2e, 0x62, 0xb6, 0x97, 0x3e, 0x36, 0xbd, 0x15, 0x08,
+    0x40, 0x50, 0xc1, 0x8b, 0x7e, 0x9b, 0xc6, 0x79, 0xe1, 0x1e, 0xaf, 0xd9,
+    0x53, 0x82, 0x61, 0xb2, 0x52, 0x8a, 0xf2, 0x56, 0x70, 0xc3, 0x72, 0xcd,
+    0xa9, 0xb5, 0xf0, 0x6a, 0xc0, 0x4b, 0x89, 0xe5, 0x7c, 0x93, 0xb9, 0x1e,
+    0x68, 0xb4, 0x3a, 0xc3, 0x31, 0x25, 0x30, 0x23, 0x06, 0x09, 0x2a, 0x86,
+    0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x15, 0x31, 0x16, 0x04, 0x14, 0x3f,
+    0x31, 0x38, 0xec, 0xb9, 0xf1, 0x45, 0xe1, 0x3e, 0x90, 0x71, 0x0d, 0xc1,
+    0x28, 0xba, 0x4e, 0x6f, 0xa0, 0x9c, 0xed, 0x30, 0x31, 0x30, 0x21, 0x30,
+    0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14,
+    0x7f, 0xd4, 0x5b, 0x84, 0x34, 0xb7, 0xf9, 0x87, 0x88, 0x7c, 0x52, 0x7a,
+    0x79, 0x02, 0x96, 0x58, 0xcc, 0xdb, 0x9d, 0xf2, 0x04, 0x08, 0x62, 0xf5,
+    0x7d, 0x8f, 0x84, 0xe5, 0x64, 0x25, 0x02, 0x02, 0x08, 0x00};
+
+// Generated with
+//   openssl pkcs12 -export -inkey ecdsa_p256_key.pem -in ecdsa_p256_cert.pem -password pass:
+// But with OpenSSL patched to pass NULL into PKCS12_create and PKCS12_set_mac.
+static const uint8_t kNullPassword[] = {
+    0x30, 0x82, 0x03, 0xd2, 0x02, 0x01, 0x03, 0x30, 0x82, 0x03, 0x98, 0x06,
+    0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,
+    0x03, 0x89, 0x04, 0x82, 0x03, 0x85, 0x30, 0x82, 0x03, 0x81, 0x30, 0x82,
+    0x02, 0x77, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07,
+    0x06, 0xa0, 0x82, 0x02, 0x68, 0x30, 0x82, 0x02, 0x64, 0x02, 0x01, 0x00,
+    0x30, 0x82, 0x02, 0x5d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+    0x01, 0x07, 0x01, 0x30, 0x1c, 0x06, 0x0a, 0x2a, 0x86, 0x48, 0x86, 0xf7,
+    0x0d, 0x01, 0x0c, 0x01, 0x06, 0x30, 0x0e, 0x04, 0x08, 0x72, 0xdc, 0x9c,
+    0xcd, 0xe8, 0x69, 0xd5, 0xcc, 0x02, 0x02, 0x08, 0x00, 0x80, 0x82, 0x02,
+    0x30, 0x35, 0xfd, 0xee, 0x78, 0x47, 0x71, 0x12, 0x87, 0xc2, 0xcf, 0x1c,
+    0x12, 0xc4, 0x7a, 0x68, 0x6a, 0xb5, 0x21, 0xd6, 0xa4, 0x1a, 0x0d, 0xd3,
+    0x47, 0x6b, 0xad, 0xf0, 0xe0, 0xfc, 0x58, 0x6b, 0xd1, 0xf1, 0x1a, 0xce,
+    0xf5, 0x55, 0xca, 0x3b, 0x85, 0x18, 0x7e, 0x0d, 0x1e, 0x33, 0xcd, 0xf0,
+    0xd1, 0x0c, 0x26, 0x67, 0x67, 0x44, 0xba, 0x71, 0x93, 0xf8, 0xa4, 0xe0,
+    0x18, 0xe2, 0x1a, 0x23, 0x8e, 0xb5, 0xc7, 0xdc, 0xe1, 0x73, 0xa9, 0xa6,
+    0x03, 0xb1, 0x3a, 0x3a, 0xbd, 0x21, 0x51, 0x04, 0x30, 0xf0, 0x9e, 0xb5,
+    0xc9, 0xee, 0x5d, 0x7c, 0xf4, 0xae, 0x55, 0xd7, 0x15, 0x0c, 0xb3, 0x50,
+    0xa4, 0x52, 0x49, 0x74, 0x1a, 0xb3, 0xe9, 0xe8, 0x95, 0x4d, 0x57, 0x11,
+    0x5a, 0x8b, 0xf2, 0xdb, 0x2c, 0x2b, 0x79, 0xb0, 0xee, 0x1f, 0xd2, 0x02,
+    0xa4, 0x4c, 0x44, 0x1c, 0x7b, 0xea, 0x81, 0x8d, 0x5c, 0x1d, 0x52, 0xbe,
+    0x68, 0xf1, 0x56, 0x96, 0xf1, 0x14, 0x62, 0x2c, 0x34, 0x12, 0xbc, 0x7e,
+    0xa4, 0x59, 0x46, 0x6d, 0x9e, 0x97, 0xd5, 0x2a, 0x33, 0x43, 0x85, 0x93,
+    0x06, 0xf7, 0x8a, 0xc9, 0xd1, 0xb5, 0x91, 0x4a, 0x52, 0xba, 0xde, 0xca,
+    0x34, 0x65, 0x4b, 0x0a, 0xc8, 0x8a, 0xb1, 0xf1, 0x72, 0x21, 0x40, 0xc6,
+    0x6f, 0x23, 0xf7, 0x42, 0xb9, 0xec, 0xbb, 0xf1, 0x43, 0x1b, 0x98, 0x6e,
+    0xba, 0xe4, 0xee, 0x33, 0xc3, 0x51, 0xcb, 0x0c, 0x67, 0x7e, 0x19, 0xb3,
+    0x4e, 0x20, 0xab, 0x5a, 0x27, 0x81, 0xbb, 0x74, 0xd0, 0x2c, 0xa6, 0x16,
+    0x18, 0x57, 0xdd, 0xcf, 0xf9, 0xdc, 0x3d, 0x6d, 0x53, 0x2c, 0x91, 0xb6,
+    0xf1, 0xe6, 0xe2, 0xee, 0xc3, 0xc4, 0x06, 0x62, 0x98, 0x83, 0x2a, 0xe8,
+    0xc7, 0xdd, 0x22, 0xbc, 0xd1, 0xeb, 0x1f, 0xd5, 0x33, 0x49, 0x52, 0x72,
+    0x01, 0x84, 0x3a, 0x9e, 0xbd, 0x98, 0x9b, 0x44, 0xff, 0x58, 0x66, 0x6e,
+    0x03, 0x9a, 0x96, 0x52, 0x9e, 0x1d, 0xa2, 0x59, 0xc5, 0x5b, 0x32, 0xe1,
+    0x9e, 0xb0, 0xe0, 0x8c, 0xfb, 0x4c, 0x41, 0x04, 0x3a, 0x4e, 0x41, 0x3d,
+    0x7c, 0x01, 0x50, 0x8f, 0xe9, 0x21, 0xaa, 0xfc, 0x8b, 0x56, 0x64, 0xe2,
+    0x6b, 0x48, 0x74, 0x9f, 0x57, 0x21, 0x3e, 0x7f, 0x79, 0x12, 0x09, 0x84,
+    0x48, 0xa2, 0xcd, 0xdb, 0xb0, 0x27, 0x34, 0xf1, 0xef, 0x3c, 0xe5, 0xef,
+    0xe4, 0xe2, 0x1f, 0x04, 0x85, 0xc6, 0x00, 0x50, 0x19, 0x65, 0x1b, 0x7d,
+    0x0b, 0x60, 0x09, 0xe5, 0xe1, 0xd1, 0x71, 0xdc, 0x2f, 0x5e, 0xfa, 0x86,
+    0xf0, 0x8c, 0xf0, 0xf0, 0xf0, 0x46, 0xc5, 0xff, 0xc7, 0xcb, 0x6f, 0x37,
+    0x94, 0xc5, 0xb7, 0x62, 0xcb, 0xbc, 0x44, 0x2c, 0x0b, 0x96, 0xb7, 0x1d,
+    0x4f, 0xd6, 0xb0, 0x58, 0x50, 0x2f, 0xd6, 0xef, 0xe6, 0xfb, 0x75, 0x4c,
+    0xcf, 0xa6, 0x23, 0x79, 0xd1, 0x94, 0x7c, 0xaf, 0xff, 0x4e, 0x20, 0x61,
+    0x5f, 0x1d, 0x79, 0x59, 0x5c, 0x78, 0xd2, 0xad, 0xda, 0x87, 0xb9, 0x20,
+    0x5b, 0x67, 0x50, 0x82, 0x8b, 0x5f, 0xb0, 0x58, 0x99, 0x62, 0xa6, 0xd2,
+    0x03, 0x82, 0xbc, 0x8e, 0x89, 0xba, 0x9c, 0xe5, 0x20, 0x9a, 0x42, 0x37,
+    0x5f, 0x5b, 0x7b, 0xf0, 0x64, 0xf2, 0xc5, 0x54, 0x22, 0x9e, 0x15, 0xec,
+    0xca, 0xf7, 0x27, 0xad, 0x3a, 0xfb, 0x3c, 0xc0, 0x11, 0x9e, 0x4b, 0x5f,
+    0x41, 0xf1, 0xcd, 0x0e, 0xca, 0x9b, 0xb5, 0x0d, 0xab, 0x29, 0x76, 0x67,
+    0x04, 0x1b, 0xff, 0x52, 0xc7, 0x2c, 0x14, 0xd6, 0x04, 0x23, 0xc9, 0xcf,
+    0xf4, 0x3b, 0x71, 0x93, 0xb7, 0xe2, 0x2f, 0xe6, 0x1a, 0x32, 0x19, 0xba,
+    0x1c, 0x93, 0x87, 0x73, 0x7d, 0x51, 0x1d, 0x6b, 0x75, 0xbd, 0x17, 0xff,
+    0xef, 0xd0, 0x8f, 0x65, 0x37, 0xa0, 0x48, 0x67, 0x94, 0xfd, 0x6a, 0x71,
+    0xb3, 0x3f, 0x4e, 0x69, 0xa9, 0xc4, 0xae, 0xd1, 0x9b, 0x78, 0xdd, 0xeb,
+    0x06, 0x09, 0xca, 0x38, 0x13, 0x3b, 0x2a, 0xed, 0xea, 0x0c, 0xdf, 0xfe,
+    0x1f, 0x15, 0x86, 0x6b, 0xec, 0x20, 0x0d, 0x19, 0xd1, 0x32, 0xd6, 0x68,
+    0xc8, 0x26, 0x04, 0x91, 0x46, 0x6a, 0x67, 0x52, 0xba, 0x30, 0x82, 0x01,
+    0x02, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01,
+    0xa0, 0x81, 0xf4, 0x04, 0x81, 0xf1, 0x30, 0x81, 0xee, 0x30, 0x81, 0xeb,
+    0x06, 0x0b, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x0c, 0x0a, 0x01,
+    0x02, 0xa0, 0x81, 0xb4, 0x30, 0x81, 0xb1, 0x30, 0x1c, 0x06, 0x0a, 0x2a,
+    0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x0c, 0x01, 0x03, 0x30, 0x0e, 0x04,
+    0x08, 0x32, 0xe5, 0x74, 0x9b, 0x0d, 0xcf, 0xa3, 0x05, 0x02, 0x02, 0x08,
+    0x00, 0x04, 0x81, 0x90, 0x7f, 0xa7, 0x6e, 0x5b, 0x73, 0x39, 0x15, 0x93,
+    0x42, 0x7c, 0xda, 0xc0, 0x16, 0xa0, 0x75, 0x96, 0x3d, 0x95, 0xc8, 0x52,
+    0x6b, 0x65, 0x32, 0xe5, 0xce, 0x62, 0x9b, 0xd5, 0xac, 0x38, 0xd7, 0xaa,
+    0x69, 0x22, 0xcc, 0xa9, 0x8d, 0x74, 0x15, 0x87, 0x06, 0xbd, 0x25, 0xd4,
+    0xd5, 0xa5, 0xda, 0x12, 0xd9, 0xd9, 0x47, 0x42, 0x05, 0xf3, 0xb7, 0x17,
+    0x4c, 0x54, 0xdb, 0x5e, 0x1c, 0xb9, 0x1d, 0x6b, 0xe2, 0xa8, 0x95, 0x08,
+    0x20, 0x09, 0x71, 0x35, 0x68, 0xb7, 0x1c, 0x6a, 0x6c, 0xfd, 0x99, 0xf9,
+    0x2b, 0x6f, 0xb3, 0x53, 0x55, 0xd9, 0xbe, 0x8c, 0xb1, 0x26, 0x12, 0xab,
+    0x8a, 0x58, 0x68, 0x84, 0x9f, 0xa1, 0xa6, 0xeb, 0x70, 0x33, 0x14, 0x0e,
+    0xf6, 0xb7, 0x31, 0x81, 0x79, 0x35, 0xb2, 0xab, 0x10, 0x4d, 0xe3, 0x16,
+    0xbd, 0x7f, 0x7e, 0x72, 0x12, 0xd5, 0x04, 0xd8, 0x23, 0x97, 0xca, 0x26,
+    0x38, 0x62, 0x2c, 0xb7, 0x09, 0x00, 0x3f, 0x01, 0xe0, 0xf7, 0xff, 0x12,
+    0x25, 0x26, 0x99, 0xdc, 0x31, 0x25, 0x30, 0x23, 0x06, 0x09, 0x2a, 0x86,
+    0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x15, 0x31, 0x16, 0x04, 0x14, 0x3f,
+    0x31, 0x38, 0xec, 0xb9, 0xf1, 0x45, 0xe1, 0x3e, 0x90, 0x71, 0x0d, 0xc1,
+    0x28, 0xba, 0x4e, 0x6f, 0xa0, 0x9c, 0xed, 0x30, 0x31, 0x30, 0x21, 0x30,
+    0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14,
+    0xd1, 0x96, 0xa3, 0x29, 0xa9, 0x45, 0x1d, 0xad, 0xa1, 0x78, 0xa7, 0x1e,
+    0x30, 0xb8, 0x76, 0xd0, 0x87, 0x23, 0x4b, 0x02, 0x04, 0x08, 0x9c, 0xff,
+    0x9a, 0xa3, 0xf5, 0x70, 0xa8, 0xd9, 0x02, 0x02, 0x08, 0x00};
+
+// Generated with
+//   openssl pkcs12 -export -inkey ecdsa_p256_key.pem -in ecdsa_p256_cert.pem -password pass:"Hello, δΈ–η•Œ"
+static const uint8_t kUnicode[] = {
+    0x30, 0x82, 0x03, 0xd2, 0x02, 0x01, 0x03, 0x30, 0x82, 0x03, 0x98, 0x06,
+    0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01, 0xa0, 0x82,
+    0x03, 0x89, 0x04, 0x82, 0x03, 0x85, 0x30, 0x82, 0x03, 0x81, 0x30, 0x82,
+    0x02, 0x77, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07,
+    0x06, 0xa0, 0x82, 0x02, 0x68, 0x30, 0x82, 0x02, 0x64, 0x02, 0x01, 0x00,
+    0x30, 0x82, 0x02, 0x5d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
+    0x01, 0x07, 0x01, 0x30, 0x1c, 0x06, 0x0a, 0x2a, 0x86, 0x48, 0x86, 0xf7,
+    0x0d, 0x01, 0x0c, 0x01, 0x06, 0x30, 0x0e, 0x04, 0x08, 0x41, 0x46, 0x22,
+    0xac, 0xe7, 0xd6, 0x7e, 0x61, 0x02, 0x02, 0x08, 0x00, 0x80, 0x82, 0x02,
+    0x30, 0x9a, 0x05, 0x55, 0x5a, 0xa0, 0xf6, 0xd4, 0x8c, 0x5e, 0x1c, 0x27,
+    0x91, 0x11, 0xfd, 0x1d, 0xe8, 0xfd, 0xae, 0xf2, 0xe6, 0x9f, 0x28, 0xb8,
+    0x1e, 0xfa, 0xce, 0x88, 0xb4, 0x23, 0xd6, 0xfa, 0x6e, 0x07, 0xe9, 0x33,
+    0x81, 0x70, 0x1d, 0xd0, 0x5e, 0x94, 0x04, 0xf1, 0x60, 0x8e, 0xbf, 0xe1,
+    0xef, 0xf4, 0xd7, 0xb2, 0x2f, 0x0d, 0xe9, 0x70, 0x2b, 0xe8, 0x62, 0xfc,
+    0xd3, 0x2a, 0x49, 0xf3, 0xf1, 0x06, 0x6f, 0x2a, 0x94, 0x8c, 0x42, 0xff,
+    0xc6, 0x80, 0xa8, 0x6a, 0xbf, 0xa3, 0x0a, 0xd3, 0x8e, 0x59, 0x52, 0xea,
+    0x60, 0xe8, 0x5a, 0x64, 0x23, 0xac, 0x8d, 0x40, 0x2d, 0xc9, 0xfe, 0x0b,
+    0xf3, 0x93, 0x52, 0xc3, 0x3e, 0xea, 0x34, 0x9a, 0xea, 0x42, 0x6a, 0xe4,
+    0x09, 0x25, 0x44, 0x5d, 0x5e, 0xb4, 0x3b, 0xfb, 0xe0, 0xc2, 0xdf, 0xd8,
+    0xaf, 0xae, 0x20, 0x59, 0xb0, 0x8c, 0xdd, 0xb3, 0x4a, 0x5f, 0xca, 0x6c,
+    0x2f, 0xe3, 0xb4, 0x99, 0xc6, 0x8f, 0x75, 0xc5, 0x72, 0x31, 0x0e, 0x4c,
+    0x46, 0xe6, 0xe1, 0xbf, 0x3f, 0xdf, 0x02, 0x7d, 0xde, 0x35, 0xad, 0xd9,
+    0x9d, 0xcb, 0x74, 0xa7, 0x5c, 0x52, 0x3b, 0xc2, 0x9c, 0x76, 0xbd, 0xf7,
+    0x96, 0xfc, 0xc5, 0x9d, 0xc7, 0xa7, 0x79, 0x30, 0xa0, 0x89, 0xd6, 0xd3,
+    0xa8, 0xe8, 0x63, 0xd2, 0x3a, 0x3f, 0x88, 0xc1, 0x22, 0x8c, 0x20, 0x9c,
+    0xa0, 0x23, 0x07, 0xc3, 0xe4, 0x0c, 0x36, 0x19, 0xa8, 0xa3, 0xc4, 0xbc,
+    0xbc, 0xd6, 0x3d, 0x80, 0xcb, 0x54, 0x91, 0xc4, 0xab, 0x02, 0xd2, 0x43,
+    0x30, 0xe5, 0x01, 0xbd, 0x25, 0xcd, 0xe4, 0x29, 0x55, 0x0f, 0x6e, 0x83,
+    0xb8, 0xfb, 0x70, 0xf2, 0x34, 0x9a, 0x15, 0xc6, 0x16, 0xdf, 0x89, 0xe4,
+    0xd4, 0x83, 0x26, 0x08, 0x62, 0x05, 0xa6, 0xea, 0xf3, 0x63, 0xc3, 0xb5,
+    0x69, 0x62, 0xf8, 0x60, 0x5c, 0x28, 0x21, 0x51, 0xa4, 0x43, 0x76, 0xdd,
+    0x41, 0x6d, 0xbd, 0x6d, 0x8e, 0x3c, 0x63, 0x44, 0xb6, 0xea, 0x3a, 0x2a,
+    0x1c, 0x9d, 0x4b, 0x84, 0xed, 0xbd, 0x2e, 0x3b, 0x97, 0x89, 0xc3, 0x88,
+    0xca, 0x5f, 0x84, 0x0f, 0xbd, 0x50, 0xeb, 0x94, 0x67, 0x83, 0xa7, 0x83,
+    0xdf, 0xd7, 0x9d, 0x81, 0x40, 0x3a, 0x7b, 0xcf, 0x8b, 0x1d, 0x19, 0x9b,
+    0xe1, 0x4e, 0xb4, 0x4b, 0x1d, 0x5b, 0x98, 0xa8, 0xe3, 0x89, 0xed, 0xf3,
+    0x48, 0xfc, 0x0d, 0x38, 0xd5, 0x42, 0x31, 0xe3, 0x79, 0x3a, 0xea, 0xa3,
+    0x4b, 0x58, 0xa3, 0x75, 0x7c, 0xd4, 0xc4, 0x38, 0x27, 0x9e, 0x97, 0x4e,
+    0xc1, 0x70, 0xa8, 0xee, 0x85, 0xe2, 0xb8, 0x53, 0x57, 0x15, 0x05, 0xbb,
+    0xf1, 0xb4, 0xfd, 0xe8, 0x24, 0x99, 0x64, 0xa7, 0xf3, 0x6a, 0xcc, 0x4b,
+    0xe9, 0x8d, 0x66, 0x38, 0x9a, 0x45, 0xe2, 0x73, 0x5e, 0x66, 0x18, 0xd9,
+    0x64, 0x46, 0xd7, 0xd1, 0x23, 0x30, 0xbe, 0xa2, 0x4b, 0x5c, 0x0e, 0x4c,
+    0x8a, 0x47, 0x88, 0xb4, 0x7a, 0x2e, 0x0f, 0xb6, 0xab, 0x2d, 0x56, 0x20,
+    0x76, 0xf4, 0xa1, 0x37, 0xb6, 0x6b, 0x98, 0x2a, 0xb4, 0xda, 0x67, 0xcb,
+    0x67, 0x5c, 0xc7, 0x2d, 0x41, 0xf6, 0x14, 0x0d, 0x6b, 0x16, 0x05, 0xe6,
+    0x0a, 0xa2, 0xf7, 0x03, 0x5e, 0xf8, 0x9c, 0x85, 0x58, 0xa5, 0x82, 0xa4,
+    0xaf, 0xd1, 0xf0, 0x3a, 0x48, 0xa1, 0x68, 0x10, 0xa4, 0xa5, 0xc5, 0x87,
+    0xf5, 0xc3, 0xf8, 0x94, 0x9d, 0x13, 0xcb, 0x08, 0x42, 0x14, 0xb3, 0x68,
+    0x68, 0x18, 0xec, 0xa9, 0x57, 0x9c, 0xeb, 0xc9, 0xe9, 0xaf, 0x7d, 0xcc,
+    0xb9, 0x4d, 0x58, 0x8d, 0xbf, 0x04, 0xb7, 0x1c, 0x3f, 0xfa, 0xd3, 0xb9,
+    0xb9, 0xad, 0x0e, 0xd2, 0x5f, 0x8b, 0x41, 0xfa, 0xdc, 0x85, 0x3e, 0x0a,
+    0xba, 0x49, 0x1b, 0xe2, 0x0c, 0xb6, 0x85, 0x9b, 0x24, 0x3c, 0xdf, 0x26,
+    0x9d, 0x05, 0x50, 0x64, 0x12, 0x96, 0x24, 0xdb, 0x4d, 0x79, 0x07, 0xa7,
+    0xb2, 0x3c, 0xf9, 0x42, 0xca, 0xda, 0x67, 0xc0, 0x6d, 0xf2, 0x7e, 0xbc,
+    0x1e, 0x5c, 0x2b, 0x4b, 0xf6, 0xf4, 0x35, 0x82, 0x70, 0x6b, 0x81, 0x16,
+    0xfc, 0xf1, 0xa9, 0x5f, 0x07, 0x2c, 0xe9, 0x1e, 0x3f, 0x30, 0x82, 0x01,
+    0x02, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x07, 0x01,
+    0xa0, 0x81, 0xf4, 0x04, 0x81, 0xf1, 0x30, 0x81, 0xee, 0x30, 0x81, 0xeb,
+    0x06, 0x0b, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x0c, 0x0a, 0x01,
+    0x02, 0xa0, 0x81, 0xb4, 0x30, 0x81, 0xb1, 0x30, 0x1c, 0x06, 0x0a, 0x2a,
+    0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x0c, 0x01, 0x03, 0x30, 0x0e, 0x04,
+    0x08, 0x6f, 0xb9, 0x01, 0x93, 0x6c, 0x0d, 0x4d, 0xe1, 0x02, 0x02, 0x08,
+    0x00, 0x04, 0x81, 0x90, 0x07, 0x42, 0x6a, 0x5a, 0x4c, 0x41, 0x41, 0x38,
+    0xe4, 0x15, 0xc2, 0x85, 0x4e, 0x88, 0xc6, 0xd3, 0x6f, 0x9f, 0x25, 0xd8,
+    0x66, 0x86, 0xf3, 0x65, 0x5d, 0x51, 0x43, 0xd6, 0x03, 0x91, 0x4c, 0xeb,
+    0xbb, 0x75, 0xce, 0x8b, 0xf4, 0x47, 0x43, 0x4c, 0x1a, 0x4b, 0x48, 0x92,
+    0xf4, 0xaf, 0x0a, 0x5f, 0x49, 0x96, 0xea, 0xaf, 0x31, 0x29, 0x7b, 0xa3,
+    0xb5, 0xd3, 0xe4, 0x67, 0x0c, 0x20, 0x0e, 0x52, 0x9e, 0xcf, 0xcf, 0x6a,
+    0x2d, 0x45, 0x38, 0x52, 0x61, 0xbf, 0x10, 0x2b, 0xc1, 0xc5, 0xde, 0x04,
+    0x1d, 0x0a, 0x52, 0x88, 0x07, 0x39, 0xc2, 0xc1, 0xd0, 0x44, 0x39, 0x9f,
+    0x46, 0xf2, 0x69, 0xa4, 0x30, 0x5b, 0xe4, 0x60, 0x68, 0x69, 0xb0, 0x95,
+    0x78, 0x05, 0xef, 0xe1, 0x81, 0xc2, 0xd2, 0x4e, 0x29, 0x52, 0x39, 0x51,
+    0xfc, 0x3d, 0x28, 0xe1, 0x7b, 0x58, 0x76, 0xcf, 0x35, 0x33, 0x2f, 0xef,
+    0x95, 0x76, 0x0c, 0x52, 0x11, 0x69, 0x17, 0x3c, 0x56, 0x36, 0xc6, 0xe1,
+    0x9c, 0x1c, 0xd4, 0x23, 0x31, 0x25, 0x30, 0x23, 0x06, 0x09, 0x2a, 0x86,
+    0x48, 0x86, 0xf7, 0x0d, 0x01, 0x09, 0x15, 0x31, 0x16, 0x04, 0x14, 0x3f,
+    0x31, 0x38, 0xec, 0xb9, 0xf1, 0x45, 0xe1, 0x3e, 0x90, 0x71, 0x0d, 0xc1,
+    0x28, 0xba, 0x4e, 0x6f, 0xa0, 0x9c, 0xed, 0x30, 0x31, 0x30, 0x21, 0x30,
+    0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03, 0x02, 0x1a, 0x05, 0x00, 0x04, 0x14,
+    0x52, 0x8c, 0x3f, 0x72, 0x8c, 0xcf, 0x3a, 0xeb, 0xc8, 0xff, 0xc2, 0x8c,
+    0x48, 0x42, 0xa6, 0x1c, 0x42, 0x6e, 0x18, 0x43, 0x04, 0x08, 0xea, 0xec,
+    0xdc, 0xf6, 0xc4, 0xdf, 0xda, 0xd6, 0x02, 0x02, 0x08, 0x00};
+
+static const char kUnicodePassword[] = u8"Hello, δΈ–η•Œ";
+
+static void TestImpl(const char *name, bssl::Span<const uint8_t> der,
+                     const char *password,
+                     const char *friendly_name) {
+  SCOPED_TRACE(name);
   bssl::UniquePtr<STACK_OF(X509)> certs(sk_X509_new_null());
   ASSERT_TRUE(certs);
 
-  CBS pkcs12;
   EVP_PKEY *key = nullptr;
-  CBS_init(&pkcs12, der, der_len);
-  ASSERT_TRUE(PKCS12_get_key_and_certs(&key, certs.get(), &pkcs12, kPassword));
+  CBS pkcs12 = der;
+  ASSERT_TRUE(PKCS12_get_key_and_certs(&key, certs.get(), &pkcs12, password));
   bssl::UniquePtr<EVP_PKEY> delete_key(key);
 
   ASSERT_EQ(1u, sk_X509_num(certs.get()));
   ASSERT_TRUE(key);
+
+  int actual_name_len;
+  const uint8_t *actual_name =
+      X509_alias_get0(sk_X509_value(certs.get(), 0), &actual_name_len);
+  if (friendly_name == nullptr) {
+    EXPECT_EQ(nullptr, actual_name);
+  } else {
+    EXPECT_EQ(friendly_name,
+              std::string(reinterpret_cast<const char *>(actual_name),
+                          static_cast<size_t>(actual_name_len)));
+  }
 }
 
-static void TestCompat(const uint8_t *der, size_t der_len) {
-  bssl::UniquePtr<BIO> bio(BIO_new_mem_buf(der, der_len));
+static void TestCompat(bssl::Span<const uint8_t> der) {
+  bssl::UniquePtr<BIO> bio(BIO_new_mem_buf(der.data(), der.size()));
   ASSERT_TRUE(bio);
 
   bssl::UniquePtr<PKCS12> p12(d2i_PKCS12_bio(bio.get(), nullptr));
@@ -938,21 +1216,293 @@
 }
 
 TEST(PKCS12Test, TestOpenSSL) {
-  TestImpl("OpenSSL", kOpenSSL, sizeof(kOpenSSL));
+  TestImpl("OpenSSL", kOpenSSL, kPassword, nullptr);
 }
 
 TEST(PKCS12Test, TestNSS) {
-  TestImpl("NSS", kNSS, sizeof(kNSS));
+  TestImpl("NSS", kNSS, kPassword, "Internet Widgits Pty Ltd");
 }
 
 TEST(PKCS12Test, TestWindows) {
-  TestImpl("Windows", kWindows, sizeof(kWindows));
+  // kWindows has a friendlyName, but only on the key, where we ignore it, and
+  // not the certificate.
+  TestImpl("Windows", kWindows, kPassword, nullptr);
 }
 
 TEST(PKCS12Test, TestPBES2) {
-  TestImpl("PBES2", kPBES2, sizeof(kPBES2));
+  TestImpl("PBES2", kPBES2, kPassword, nullptr);
+}
+
+TEST(PKCS12Test, TestEmptyPassword) {
+#if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
+  return;  // The MAC check always passes in fuzzer mode.
+#endif
+  TestImpl("EmptyPassword (empty password)", kEmptyPassword, "", nullptr);
+  TestImpl("EmptyPassword (null password)", kEmptyPassword, nullptr, nullptr);
+}
+
+TEST(PKCS12Test, TestNullPassword) {
+#if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
+  return;  // The MAC check always passes in fuzzer mode.
+#endif
+  TestImpl("NullPassword (empty password)", kNullPassword, "", nullptr);
+  TestImpl("NullPassword (null password)", kNullPassword, nullptr, nullptr);
+}
+
+TEST(PKCS12Test, TestUnicode) {
+  TestImpl("Unicode", kUnicode, kUnicodePassword, nullptr);
 }
 
 TEST(PKCS12Test, TestWindowsCompat) {
-  TestCompat(kWindows, sizeof(kWindows));
+  TestCompat(kWindows);
+}
+
+// kTestKey is a test P-256 key.
+static const uint8_t kTestKey[] = {
+    0x30, 0x81, 0x87, 0x02, 0x01, 0x00, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
+    0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
+    0x03, 0x01, 0x07, 0x04, 0x6d, 0x30, 0x6b, 0x02, 0x01, 0x01, 0x04, 0x20,
+    0x07, 0x0f, 0x08, 0x72, 0x7a, 0xd4, 0xa0, 0x4a, 0x9c, 0xdd, 0x59, 0xc9,
+    0x4d, 0x89, 0x68, 0x77, 0x08, 0xb5, 0x6f, 0xc9, 0x5d, 0x30, 0x77, 0x0e,
+    0xe8, 0xd1, 0xc9, 0xce, 0x0a, 0x8b, 0xb4, 0x6a, 0xa1, 0x44, 0x03, 0x42,
+    0x00, 0x04, 0xe6, 0x2b, 0x69, 0xe2, 0xbf, 0x65, 0x9f, 0x97, 0xbe, 0x2f,
+    0x1e, 0x0d, 0x94, 0x8a, 0x4c, 0xd5, 0x97, 0x6b, 0xb7, 0xa9, 0x1e, 0x0d,
+    0x46, 0xfb, 0xdd, 0xa9, 0xa9, 0x1e, 0x9d, 0xdc, 0xba, 0x5a, 0x01, 0xe7,
+    0xd6, 0x97, 0xa8, 0x0a, 0x18, 0xf9, 0xc3, 0xc4, 0xa3, 0x1e, 0x56, 0xe2,
+    0x7c, 0x83, 0x48, 0xdb, 0x16, 0x1a, 0x1c, 0xf5, 0x1d, 0x7e, 0xf1, 0x94,
+    0x2d, 0x4b, 0xcf, 0x72, 0x22, 0xc1};
+
+// kTestCert is a certificate for |kTestKey|.
+static const uint8_t kTestCert[] = {
+    0x30, 0x82, 0x01, 0xcf, 0x30, 0x82, 0x01, 0x76, 0xa0, 0x03, 0x02, 0x01,
+    0x02, 0x02, 0x09, 0x00, 0xd9, 0x4c, 0x04, 0xda, 0x49, 0x7d, 0xbf, 0xeb,
+    0x30, 0x09, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x01, 0x30,
+    0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
+    0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c,
+    0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31,
+    0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x0c, 0x18, 0x49, 0x6e,
+    0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69,
+    0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e,
+    0x17, 0x0d, 0x31, 0x34, 0x30, 0x34, 0x32, 0x33, 0x32, 0x33, 0x32, 0x31,
+    0x35, 0x37, 0x5a, 0x17, 0x0d, 0x31, 0x34, 0x30, 0x35, 0x32, 0x33, 0x32,
+    0x33, 0x32, 0x31, 0x35, 0x37, 0x5a, 0x30, 0x45, 0x31, 0x0b, 0x30, 0x09,
+    0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30,
+    0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x0c, 0x0a, 0x53, 0x6f, 0x6d, 0x65,
+    0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03,
+    0x55, 0x04, 0x0a, 0x0c, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65,
+    0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74,
+    0x79, 0x20, 0x4c, 0x74, 0x64, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a,
+    0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce,
+    0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xe6, 0x2b, 0x69, 0xe2,
+    0xbf, 0x65, 0x9f, 0x97, 0xbe, 0x2f, 0x1e, 0x0d, 0x94, 0x8a, 0x4c, 0xd5,
+    0x97, 0x6b, 0xb7, 0xa9, 0x1e, 0x0d, 0x46, 0xfb, 0xdd, 0xa9, 0xa9, 0x1e,
+    0x9d, 0xdc, 0xba, 0x5a, 0x01, 0xe7, 0xd6, 0x97, 0xa8, 0x0a, 0x18, 0xf9,
+    0xc3, 0xc4, 0xa3, 0x1e, 0x56, 0xe2, 0x7c, 0x83, 0x48, 0xdb, 0x16, 0x1a,
+    0x1c, 0xf5, 0x1d, 0x7e, 0xf1, 0x94, 0x2d, 0x4b, 0xcf, 0x72, 0x22, 0xc1,
+    0xa3, 0x50, 0x30, 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04,
+    0x16, 0x04, 0x14, 0xab, 0x84, 0xd2, 0xac, 0xab, 0x95, 0xf0, 0x82, 0x4e,
+    0x16, 0x78, 0x07, 0x55, 0x57, 0x5f, 0xe4, 0x26, 0x8d, 0x82, 0xd1, 0x30,
+    0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14,
+    0xab, 0x84, 0xd2, 0xac, 0xab, 0x95, 0xf0, 0x82, 0x4e, 0x16, 0x78, 0x07,
+    0x55, 0x57, 0x5f, 0xe4, 0x26, 0x8d, 0x82, 0xd1, 0x30, 0x0c, 0x06, 0x03,
+    0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x09,
+    0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x01, 0x03, 0x48, 0x00,
+    0x30, 0x45, 0x02, 0x21, 0x00, 0xf2, 0xa0, 0x35, 0x5e, 0x51, 0x3a, 0x36,
+    0xc3, 0x82, 0x79, 0x9b, 0xee, 0x27, 0x50, 0x85, 0x8e, 0x70, 0x06, 0x74,
+    0x95, 0x57, 0xd2, 0x29, 0x74, 0x00, 0xf4, 0xbe, 0x15, 0x87, 0x5d, 0xc4,
+    0x07, 0x02, 0x20, 0x7c, 0x1e, 0x79, 0x14, 0x6a, 0x21, 0x83, 0xf0, 0x7a,
+    0x74, 0x68, 0x79, 0x5f, 0x14, 0x99, 0x9a, 0x68, 0xb4, 0xf1, 0xcb, 0x9e,
+    0x15, 0x5e, 0xe6, 0x1f, 0x32, 0x52, 0x61, 0x5e, 0x75, 0xc9, 0x14};
+
+// kTestCert2 is a different test certificate.
+static const uint8_t kTestCert2[] = {
+    0x30, 0x82, 0x02, 0x65, 0x30, 0x82, 0x01, 0xeb, 0xa0, 0x03, 0x02, 0x01,
+    0x02, 0x02, 0x09, 0x00, 0xdf, 0xbf, 0x2e, 0xe6, 0xe9, 0x0f, 0x0c, 0x4d,
+    0x30, 0x09, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x01, 0x30,
+    0x45, 0x31, 0x0b, 0x30, 0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02,
+    0x41, 0x55, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13,
+    0x0a, 0x53, 0x6f, 0x6d, 0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31,
+    0x21, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e,
+    0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69,
+    0x74, 0x73, 0x20, 0x50, 0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x30, 0x1e,
+    0x17, 0x0d, 0x31, 0x36, 0x30, 0x37, 0x30, 0x39, 0x30, 0x30, 0x30, 0x31,
+    0x33, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x36, 0x30, 0x38, 0x30, 0x38, 0x30,
+    0x30, 0x30, 0x31, 0x33, 0x32, 0x5a, 0x30, 0x45, 0x31, 0x0b, 0x30, 0x09,
+    0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13, 0x30,
+    0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 0x6d, 0x65,
+    0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06, 0x03,
+    0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65,
+    0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50, 0x74,
+    0x79, 0x20, 0x4c, 0x74, 0x64, 0x30, 0x76, 0x30, 0x10, 0x06, 0x07, 0x2a,
+    0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x05, 0x2b, 0x81, 0x04, 0x00,
+    0x22, 0x03, 0x62, 0x00, 0x04, 0x0e, 0x75, 0x32, 0x4d, 0xab, 0x18, 0x99,
+    0xf8, 0x1e, 0xbc, 0xb4, 0x26, 0x55, 0xe0, 0x61, 0x09, 0xc0, 0x32, 0x75,
+    0xf2, 0x32, 0xbd, 0x80, 0x5c, 0xef, 0x79, 0xf7, 0x04, 0x01, 0x09, 0x6e,
+    0x06, 0x28, 0xe3, 0xac, 0xc8, 0xdf, 0x94, 0xbf, 0x91, 0x64, 0x04, 0xfa,
+    0xe0, 0x4c, 0x56, 0xcd, 0xe7, 0x51, 0x32, 0x9f, 0x4f, 0x0f, 0xd0, 0x96,
+    0x4f, 0x3f, 0x61, 0x1b, 0xf2, 0xb3, 0xe2, 0xaf, 0xe5, 0xf7, 0x9d, 0x98,
+    0xb0, 0x88, 0x72, 0xec, 0xb4, 0xc6, 0x5f, 0x3c, 0x32, 0xef, 0x9e, 0x3d,
+    0x59, 0x43, 0xa2, 0xf8, 0xdd, 0xda, 0x5b, 0xca, 0x6c, 0x0e, 0x3b, 0x70,
+    0xcd, 0x63, 0x59, 0x5e, 0xa5, 0xa3, 0x81, 0xa7, 0x30, 0x81, 0xa4, 0x30,
+    0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xa9, 0x98,
+    0x3e, 0x30, 0x03, 0x70, 0xe9, 0x68, 0x80, 0xe3, 0x14, 0xe8, 0x3f, 0x70,
+    0x95, 0xfb, 0x48, 0x58, 0xc8, 0xfa, 0x30, 0x75, 0x06, 0x03, 0x55, 0x1d,
+    0x23, 0x04, 0x6e, 0x30, 0x6c, 0x80, 0x14, 0xa9, 0x98, 0x3e, 0x30, 0x03,
+    0x70, 0xe9, 0x68, 0x80, 0xe3, 0x14, 0xe8, 0x3f, 0x70, 0x95, 0xfb, 0x48,
+    0x58, 0xc8, 0xfa, 0xa1, 0x49, 0xa4, 0x47, 0x30, 0x45, 0x31, 0x0b, 0x30,
+    0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x41, 0x55, 0x31, 0x13,
+    0x30, 0x11, 0x06, 0x03, 0x55, 0x04, 0x08, 0x13, 0x0a, 0x53, 0x6f, 0x6d,
+    0x65, 0x2d, 0x53, 0x74, 0x61, 0x74, 0x65, 0x31, 0x21, 0x30, 0x1f, 0x06,
+    0x03, 0x55, 0x04, 0x0a, 0x13, 0x18, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e,
+    0x65, 0x74, 0x20, 0x57, 0x69, 0x64, 0x67, 0x69, 0x74, 0x73, 0x20, 0x50,
+    0x74, 0x79, 0x20, 0x4c, 0x74, 0x64, 0x82, 0x09, 0x00, 0xdf, 0xbf, 0x2e,
+    0xe6, 0xe9, 0x0f, 0x0c, 0x4d, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13,
+    0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30, 0x09, 0x06, 0x07, 0x2a,
+    0x86, 0x48, 0xce, 0x3d, 0x04, 0x01, 0x03, 0x69, 0x00, 0x30, 0x66, 0x02,
+    0x31, 0x00, 0xd3, 0x7c, 0xbd, 0x0e, 0x91, 0x11, 0xa7, 0x4b, 0x96, 0x5e,
+    0xb6, 0xcc, 0x5a, 0x80, 0x0b, 0x99, 0xa8, 0xcd, 0x99, 0xca, 0xfe, 0x5a,
+    0xda, 0x0e, 0xee, 0xe9, 0xe1, 0x4b, 0x0b, 0x1d, 0xab, 0xa5, 0x3b, 0x90,
+    0x9d, 0xd5, 0x8e, 0xb4, 0x49, 0xe6, 0x56, 0x8d, 0xf0, 0x8d, 0x30, 0xed,
+    0x90, 0x37, 0x02, 0x31, 0x00, 0xa0, 0xfb, 0x4e, 0x57, 0x4a, 0xa1, 0x05,
+    0x72, 0xac, 0x5d, 0x5c, 0xc6, 0x49, 0x32, 0x1a, 0xa3, 0xda, 0x34, 0xbe,
+    0xb5, 0x6b, 0x9c, 0x76, 0x00, 0xec, 0xb6, 0x9f, 0xf5, 0x2b, 0x32, 0x64,
+    0x6e, 0xcb, 0xa9, 0x4a, 0x30, 0x73, 0x23, 0x27, 0x23, 0x54, 0x12, 0x8b,
+    0x75, 0x1c, 0x2d, 0x36, 0x0f};
+
+static bssl::UniquePtr<X509> LoadX509(bssl::Span<const uint8_t> der) {
+  const uint8_t *ptr = der.data();
+  return bssl::UniquePtr<X509>(d2i_X509(nullptr, &ptr, der.size()));
+}
+
+static bssl::UniquePtr<EVP_PKEY> LoadPrivateKey(bssl::Span<const uint8_t> der) {
+  CBS cbs = der;
+  return bssl::UniquePtr<EVP_PKEY>(EVP_parse_private_key(&cbs));
+}
+
+static void TestRoundTrip(const char *password, const char *name,
+                          bssl::Span<const uint8_t> key_der,
+                          bssl::Span<const uint8_t> cert_der,
+                          std::vector<bssl::Span<const uint8_t>> chain_der,
+                          int key_nid, int cert_nid, int iterations,
+                          int mac_iterations) {
+  bssl::UniquePtr<EVP_PKEY> key;
+  if (!key_der.empty()) {
+    key = LoadPrivateKey(key_der);
+    ASSERT_TRUE(key);
+  }
+  bssl::UniquePtr<X509> cert;
+  if (!cert_der.empty()) {
+    cert = LoadX509(cert_der);
+    ASSERT_TRUE(cert);
+  }
+  bssl::UniquePtr<STACK_OF(X509)> chain;
+  if (!chain_der.empty()) {
+    chain.reset(sk_X509_new_null());
+    ASSERT_TRUE(chain);
+    for (auto der : chain_der) {
+      bssl::UniquePtr<X509> x509 = LoadX509(der);
+      ASSERT_TRUE(x509);
+      ASSERT_TRUE(bssl::PushToStack(chain.get(), std::move(x509)));
+    }
+  }
+
+  // Make a PKCS#12 blob.
+  bssl::UniquePtr<PKCS12> pkcs12(
+      PKCS12_create(password, name, key.get(), cert.get(), chain.get(), key_nid,
+                    cert_nid, iterations, mac_iterations, 0));
+  ASSERT_TRUE(pkcs12);
+  uint8_t *der = nullptr;
+  int len = i2d_PKCS12(pkcs12.get(), &der);
+  ASSERT_GT(len, 0);
+  bssl::UniquePtr<uint8_t> free_der(der);
+
+  // Check that the result round-trips.
+  CBS cbs;
+  CBS_init(&cbs, der, len);
+  EVP_PKEY *key2 = nullptr;
+  bssl::UniquePtr<STACK_OF(X509)> certs2(sk_X509_new_null());
+  ASSERT_TRUE(certs2);
+  ASSERT_TRUE(PKCS12_get_key_and_certs(&key2, certs2.get(), &cbs, password));
+  bssl::UniquePtr<EVP_PKEY> free_key2(key2);
+  // Note |EVP_PKEY_cmp| returns one for equality while |X509_cmp| returns zero.
+  if (key) {
+    EXPECT_EQ(1, EVP_PKEY_cmp(key2, key.get()));
+  } else {
+    EXPECT_FALSE(key2);
+  }
+  size_t offset = cert ? 1 : 0;
+  ASSERT_EQ(offset + chain_der.size(), sk_X509_num(certs2.get()));
+  if (cert) {
+    EXPECT_EQ(0, X509_cmp(cert.get(), sk_X509_value(certs2.get(), 0)));
+  }
+  for (size_t i = 0; i < chain_der.size(); i++) {
+    EXPECT_EQ(0, X509_cmp(sk_X509_value(chain.get(), i),
+                          sk_X509_value(certs2.get(), i + offset)));
+  }
+  if (sk_X509_num(certs2.get()) > 0) {
+    int actual_name_len;
+    const uint8_t *actual_name =
+        X509_alias_get0(sk_X509_value(certs2.get(), 0), &actual_name_len);
+    if (name == NULL) {
+      EXPECT_EQ(nullptr, actual_name);
+    } else {
+      EXPECT_EQ(name, std::string(reinterpret_cast<const char *>(actual_name),
+                                  static_cast<size_t>(actual_name_len)));
+    }
+  }
+
+  // Check that writing to a |BIO| does the same thing.
+  bssl::UniquePtr<BIO> bio(BIO_new(BIO_s_mem()));
+  ASSERT_TRUE(bio);
+  ASSERT_TRUE(i2d_PKCS12_bio(bio.get(), pkcs12.get()));
+  const uint8_t *bio_data;
+  size_t bio_len;
+  ASSERT_TRUE(BIO_mem_contents(bio.get(), &bio_data, &bio_len));
+  EXPECT_EQ(Bytes(bio_data, bio_len), Bytes(der, len));
+}
+
+TEST(PKCS12Test, RoundTrip) {
+  TestRoundTrip(kPassword, nullptr /* no name */,
+                bssl::Span<const uint8_t>(kTestKey),
+                bssl::Span<const uint8_t>(kTestCert),
+                {bssl::Span<const uint8_t>(kTestCert2)}, 0, 0, 0, 0);
+
+  // Test some Unicode.
+  TestRoundTrip(kPassword, u8"Hello, δΈ–η•Œ!",
+                bssl::Span<const uint8_t>(kTestKey),
+                bssl::Span<const uint8_t>(kTestCert),
+                {bssl::Span<const uint8_t>(kTestCert2)}, 0, 0, 0, 0);
+  TestRoundTrip(kUnicodePassword, nullptr /* no name */,
+                bssl::Span<const uint8_t>(kTestKey),
+                bssl::Span<const uint8_t>(kTestCert),
+                {bssl::Span<const uint8_t>(kTestCert2)}, 0, 0, 0, 0);
+
+  // Test various fields being missing.
+  TestRoundTrip(kPassword, nullptr /* no name */, {} /* no key */,
+                bssl::Span<const uint8_t>(kTestCert),
+                {bssl::Span<const uint8_t>(kTestCert2)}, 0, 0, 0, 0);
+  TestRoundTrip(
+      kPassword, nullptr /* no name */, bssl::Span<const uint8_t>(kTestKey),
+      bssl::Span<const uint8_t>(kTestCert), {} /* no chain */, 0, 0, 0, 0);
+  TestRoundTrip(kPassword, nullptr /* no name */,
+                bssl::Span<const uint8_t>(kTestKey), {} /* no leaf */,
+                {} /* no chain */, 0, 0, 0, 0);
+
+  // Test encryption parameters.
+  TestRoundTrip(
+      kPassword, nullptr /* no name */, bssl::Span<const uint8_t>(kTestKey),
+      bssl::Span<const uint8_t>(kTestCert),
+      {bssl::Span<const uint8_t>(kTestCert2)}, NID_pbe_WithSHA1And40BitRC2_CBC,
+      NID_pbe_WithSHA1And40BitRC2_CBC, 100, 100);
+  TestRoundTrip(
+      kPassword, nullptr /* no name */, bssl::Span<const uint8_t>(kTestKey),
+      bssl::Span<const uint8_t>(kTestCert),
+      {bssl::Span<const uint8_t>(kTestCert2)}, NID_pbe_WithSHA1And128BitRC4,
+      NID_pbe_WithSHA1And128BitRC4, 100, 100);
+  TestRoundTrip(kPassword, nullptr /* no name */,
+                bssl::Span<const uint8_t>(kTestKey),
+                bssl::Span<const uint8_t>(kTestCert),
+                {bssl::Span<const uint8_t>(kTestCert2)},
+                NID_pbe_WithSHA1And3_Key_TripleDES_CBC,
+                NID_pbe_WithSHA1And3_Key_TripleDES_CBC, 100, 100);
 }
diff --git a/src/crypto/pkcs8/pkcs8.c b/src/crypto/pkcs8/pkcs8.c
index 94205e6..3453113 100644
--- a/src/crypto/pkcs8/pkcs8.c
+++ b/src/crypto/pkcs8/pkcs8.c
@@ -68,32 +68,42 @@
 #include <openssl/rand.h>
 
 #include "internal.h"
+#include "../bytestring/internal.h"
 #include "../internal.h"
 
 
-static int ascii_to_ucs2(const char *ascii, size_t ascii_len,
-                         uint8_t **out, size_t *out_len) {
-  size_t ulen = ascii_len * 2 + 2;
-  if (ascii_len * 2 < ascii_len || ulen < ascii_len * 2) {
-    return 0;
-  }
-
-  uint8_t *unitmp = OPENSSL_malloc(ulen);
-  if (unitmp == NULL) {
+static int pkcs12_encode_password(const char *in, size_t in_len, uint8_t **out,
+                                  size_t *out_len) {
+  CBB cbb;
+  if (!CBB_init(&cbb, in_len * 2)) {
     OPENSSL_PUT_ERROR(PKCS8, ERR_R_MALLOC_FAILURE);
     return 0;
   }
-  for (size_t i = 0; i < ulen - 2; i += 2) {
-    unitmp[i] = 0;
-    unitmp[i + 1] = ascii[i >> 1];
+
+  // Convert the password to BMPString, or UCS-2. See
+  // https://tools.ietf.org/html/rfc7292#appendix-B.1.
+  CBS cbs;
+  CBS_init(&cbs, (const uint8_t *)in, in_len);
+  while (CBS_len(&cbs) != 0) {
+    uint32_t c;
+    if (!cbs_get_utf8(&cbs, &c) ||
+        !cbb_add_ucs2_be(&cbb, c)) {
+      OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_INVALID_CHARACTERS);
+      goto err;
+    }
   }
 
   // Terminate the result with a UCS-2 NUL.
-  unitmp[ulen - 2] = 0;
-  unitmp[ulen - 1] = 0;
-  *out_len = ulen;
-  *out = unitmp;
+  if (!cbb_add_ucs2_be(&cbb, 0) ||
+      !CBB_finish(&cbb, out, out_len)) {
+    goto err;
+  }
+
   return 1;
+
+err:
+  CBB_cleanup(&cbb);
+  return 0;
 }
 
 int pkcs12_key_gen(const char *pass, size_t pass_len, const uint8_t *salt,
@@ -115,7 +125,7 @@
   // If |pass| is NULL, we use the empty string rather than {0, 0} as the raw
   // password.
   if (pass != NULL &&
-      !ascii_to_ucs2(pass, pass_len, &pass_raw, &pass_raw_len)) {
+      !pkcs12_encode_password(pass, pass_len, &pass_raw, &pass_raw_len)) {
     goto err;
   }
 
@@ -307,9 +317,12 @@
     },
 };
 
-static const struct pbe_suite *get_pbe_suite(int pbe_nid) {
+static const struct pbe_suite *get_pkcs12_pbe_suite(int pbe_nid) {
   for (unsigned i = 0; i < OPENSSL_ARRAY_SIZE(kBuiltinPBE); i++) {
-    if (kBuiltinPBE[i].pbe_nid == pbe_nid) {
+    if (kBuiltinPBE[i].pbe_nid == pbe_nid &&
+        // If |cipher_func| or |md_func| are missing, this is a PBES2 scheme.
+        kBuiltinPBE[i].cipher_func != NULL &&
+        kBuiltinPBE[i].md_func != NULL) {
       return &kBuiltinPBE[i];
     }
   }
@@ -317,11 +330,11 @@
   return NULL;
 }
 
-static int pkcs12_pbe_encrypt_init(CBB *out, EVP_CIPHER_CTX *ctx, int alg,
-                                   unsigned iterations, const char *pass,
-                                   size_t pass_len, const uint8_t *salt,
-                                   size_t salt_len) {
-  const struct pbe_suite *suite = get_pbe_suite(alg);
+int pkcs12_pbe_encrypt_init(CBB *out, EVP_CIPHER_CTX *ctx, int alg,
+                            unsigned iterations, const char *pass,
+                            size_t pass_len, const uint8_t *salt,
+                            size_t salt_len) {
+  const struct pbe_suite *suite = get_pkcs12_pbe_suite(alg);
   if (suite == NULL) {
     OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_UNKNOWN_ALGORITHM);
     return 0;
diff --git a/src/crypto/pkcs8/pkcs8_test.cc b/src/crypto/pkcs8/pkcs8_test.cc
index 44388bb..df275fb 100644
--- a/src/crypto/pkcs8/pkcs8_test.cc
+++ b/src/crypto/pkcs8/pkcs8_test.cc
@@ -277,3 +277,38 @@
   TestRoundTrip(-1, EVP_aes_128_cbc(), "password", nullptr, 0, 1);
   TestRoundTrip(-1, EVP_rc2_cbc(), "password", nullptr, 0, 10);
 }
+
+TEST(PKCS8Test, InvalidPBES1NIDs) {
+  static const uint8_t kSampleKey[] = {
+      0x30, 0x81, 0x87, 0x02, 0x01, 0x00, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86,
+      0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d,
+      0x03, 0x01, 0x07, 0x04, 0x6d, 0x30, 0x6b, 0x02, 0x01, 0x01, 0x04, 0x20,
+      0x8a, 0x87, 0x2f, 0xb6, 0x28, 0x93, 0xc4, 0xd1, 0xff, 0xc5, 0xb9, 0xf0,
+      0xf9, 0x17, 0x58, 0x06, 0x9f, 0x83, 0x52, 0xe0, 0x8f, 0xa0, 0x5a, 0x49,
+      0xf8, 0xdb, 0x92, 0x6c, 0xb5, 0x72, 0x87, 0x25, 0xa1, 0x44, 0x03, 0x42,
+      0x00, 0x04, 0x2c, 0x15, 0x0f, 0x42, 0x9c, 0xe7, 0x0f, 0x21, 0x6c, 0x25,
+      0x2c, 0xf5, 0xe0, 0x62, 0xce, 0x1f, 0x63, 0x9c, 0xd5, 0xd1, 0x65, 0xc7,
+      0xf8, 0x94, 0x24, 0x07, 0x2c, 0x27, 0x19, 0x7d, 0x78, 0xb3, 0x3b, 0x92,
+      0x0e, 0x95, 0xcd, 0xb6, 0x64, 0xe9, 0x90, 0xdc, 0xf0, 0xcf, 0xea, 0x0d,
+      0x94, 0xe2, 0xa8, 0xe6, 0xaf, 0x9d, 0x0e, 0x58, 0x05, 0x6e, 0x65, 0x31,
+      0x04, 0x92, 0x5b, 0x9f, 0xe6, 0xc9,
+  };
+
+  const uint8_t *ptr = kSampleKey;
+  bssl::UniquePtr<PKCS8_PRIV_KEY_INFO> key(
+      d2i_PKCS8_PRIV_KEY_INFO(nullptr, &ptr, sizeof(kSampleKey)));
+  ASSERT_TRUE(key);
+  ASSERT_EQ(kSampleKey + sizeof(kSampleKey), ptr);
+
+  bssl::UniquePtr<X509_SIG> encrypted(PKCS8_encrypt(
+      NID_pbes2, nullptr, "password", -1, nullptr, 0, 0, key.get()));
+  EXPECT_FALSE(encrypted);
+
+  encrypted.reset(PKCS8_encrypt(NID_undef, nullptr, "password", -1, nullptr, 0,
+                                0, key.get()));
+  EXPECT_FALSE(encrypted);
+
+  encrypted.reset(PKCS8_encrypt(NID_rsaEncryption, nullptr, "password", -1,
+                                nullptr, 0, 0, key.get()));
+  EXPECT_FALSE(encrypted);
+}
diff --git a/src/crypto/pkcs8/pkcs8_x509.c b/src/crypto/pkcs8/pkcs8_x509.c
index b3e2d93..c5a0651 100644
--- a/src/crypto/pkcs8/pkcs8_x509.c
+++ b/src/crypto/pkcs8/pkcs8_x509.c
@@ -67,6 +67,7 @@
 #include <openssl/digest.h>
 #include <openssl/hmac.h>
 #include <openssl/mem.h>
+#include <openssl/rand.h>
 #include <openssl/x509.h>
 
 #include "internal.h"
@@ -238,8 +239,7 @@
 static int PKCS12_handle_sequence(
     CBS *sequence, struct pkcs12_context *ctx,
     int (*handle_element)(CBS *cbs, struct pkcs12_context *ctx)) {
-  uint8_t *der_bytes = NULL;
-  size_t der_len;
+  uint8_t *storage = NULL;
   CBS in;
   int ret = 0;
 
@@ -247,17 +247,11 @@
   // the ASN.1 data gets wrapped in OCTETSTRINGs and/or encrypted and the
   // conversion cannot see through those wrappings. So each time we step
   // through one we need to convert to DER again.
-  if (!CBS_asn1_ber_to_der(sequence, &der_bytes, &der_len)) {
+  if (!CBS_asn1_ber_to_der(sequence, &in, &storage)) {
     OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_BAD_PKCS12_DATA);
     return 0;
   }
 
-  if (der_bytes != NULL) {
-    CBS_init(&in, der_bytes, der_len);
-  } else {
-    CBS_init(&in, CBS_data(sequence), CBS_len(sequence));
-  }
-
   CBS child;
   if (!CBS_get_asn1(&in, &child, CBS_ASN1_SEQUENCE) ||
       CBS_len(&in) != 0) {
@@ -280,7 +274,7 @@
   ret = 1;
 
 err:
-  OPENSSL_free(der_bytes);
+  OPENSSL_free(storage);
   return ret;
 }
 
@@ -292,18 +286,93 @@
 static const uint8_t kCertBag[] = {0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d,
                                    0x01, 0x0c, 0x0a, 0x01, 0x03};
 
+// 1.2.840.113549.1.9.20
+static const uint8_t kFriendlyName[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
+                                        0x0d, 0x01, 0x09, 0x14};
+
+// 1.2.840.113549.1.9.21
+static const uint8_t kLocalKeyID[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
+                                      0x0d, 0x01, 0x09, 0x15};
+
 // 1.2.840.113549.1.9.22.1
 static const uint8_t kX509Certificate[] = {0x2a, 0x86, 0x48, 0x86, 0xf7,
                                            0x0d, 0x01, 0x09, 0x16, 0x01};
 
+// parse_bag_attributes parses the bagAttributes field of a SafeBag structure.
+// It sets |*out_friendly_name| to a newly-allocated copy of the friendly name,
+// encoded as a UTF-8 string, or NULL if there is none. It returns one on
+// success and zero on error.
+static int parse_bag_attributes(CBS *attrs, uint8_t **out_friendly_name,
+                                size_t *out_friendly_name_len) {
+  *out_friendly_name = NULL;
+  *out_friendly_name_len = 0;
+
+  // See https://tools.ietf.org/html/rfc7292#section-4.2.
+  while (CBS_len(attrs) != 0) {
+    CBS attr, oid, values;
+    if (!CBS_get_asn1(attrs, &attr, CBS_ASN1_SEQUENCE) ||
+        !CBS_get_asn1(&attr, &oid, CBS_ASN1_OBJECT) ||
+        !CBS_get_asn1(&attr, &values, CBS_ASN1_SET) ||
+        CBS_len(&attr) != 0) {
+      OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_BAD_PKCS12_DATA);
+      goto err;
+    }
+    if (CBS_mem_equal(&oid, kFriendlyName, sizeof(kFriendlyName))) {
+      // See https://tools.ietf.org/html/rfc2985, section 5.5.1.
+      CBS value;
+      if (*out_friendly_name != NULL ||
+          !CBS_get_asn1(&values, &value, CBS_ASN1_BMPSTRING) ||
+          CBS_len(&values) != 0 ||
+          CBS_len(&value) == 0) {
+        OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_BAD_PKCS12_DATA);
+        goto err;
+      }
+      // Convert the friendly name to UTF-8.
+      CBB cbb;
+      if (!CBB_init(&cbb, CBS_len(&value))) {
+        OPENSSL_PUT_ERROR(PKCS8, ERR_R_MALLOC_FAILURE);
+        goto err;
+      }
+      while (CBS_len(&value) != 0) {
+        uint32_t c;
+        if (!cbs_get_ucs2_be(&value, &c) ||
+            !cbb_add_utf8(&cbb, c)) {
+          OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_INVALID_CHARACTERS);
+          CBB_cleanup(&cbb);
+          goto err;
+        }
+      }
+      if (!CBB_finish(&cbb, out_friendly_name, out_friendly_name_len)) {
+        OPENSSL_PUT_ERROR(PKCS8, ERR_R_MALLOC_FAILURE);
+        CBB_cleanup(&cbb);
+        goto err;
+      }
+    }
+  }
+
+  return 1;
+
+err:
+  OPENSSL_free(*out_friendly_name);
+  *out_friendly_name = NULL;
+  *out_friendly_name_len = 0;
+  return 0;
+}
+
 // PKCS12_handle_safe_bag parses a single SafeBag element in a PKCS#12
 // structure.
 static int PKCS12_handle_safe_bag(CBS *safe_bag, struct pkcs12_context *ctx) {
-  CBS bag_id, wrapped_value;
+  CBS bag_id, wrapped_value, bag_attrs;
   if (!CBS_get_asn1(safe_bag, &bag_id, CBS_ASN1_OBJECT) ||
       !CBS_get_asn1(safe_bag, &wrapped_value,
-                        CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 0)
-      /* Ignore the bagAttributes field. */) {
+                    CBS_ASN1_CONTEXT_SPECIFIC | CBS_ASN1_CONSTRUCTED | 0)) {
+    OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_BAD_PKCS12_DATA);
+    return 0;
+  }
+  if (CBS_len(safe_bag) == 0) {
+    CBS_init(&bag_attrs, NULL, 0);
+  } else if (!CBS_get_asn1(safe_bag, &bag_attrs, CBS_ASN1_SET) ||
+             CBS_len(safe_bag) != 0) {
     OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_BAD_PKCS12_DATA);
     return 0;
   }
@@ -368,7 +437,17 @@
       return 0;
     }
 
-    if (0 == sk_X509_push(ctx->out_certs, x509)) {
+    uint8_t *friendly_name;
+    size_t friendly_name_len;
+    if (!parse_bag_attributes(&bag_attrs, &friendly_name, &friendly_name_len)) {
+      X509_free(x509);
+      return 0;
+    }
+    int ok = friendly_name_len == 0 ||
+             X509_alias_set1(x509, friendly_name, friendly_name_len);
+    OPENSSL_free(friendly_name);
+    if (!ok ||
+        0 == sk_X509_push(ctx->out_certs, x509)) {
       X509_free(x509);
       return 0;
     }
@@ -467,10 +546,40 @@
   return ret;
 }
 
+static int pkcs12_check_mac(int *out_mac_ok, const char *password,
+                            size_t password_len, const CBS *salt,
+                            unsigned iterations, const EVP_MD *md,
+                            const CBS *authsafes, const CBS *expected_mac) {
+  int ret = 0;
+  uint8_t hmac_key[EVP_MAX_MD_SIZE];
+  if (!pkcs12_key_gen(password, password_len, CBS_data(salt), CBS_len(salt),
+                      PKCS12_MAC_ID, iterations, EVP_MD_size(md), hmac_key,
+                      md)) {
+    goto err;
+  }
+
+  uint8_t hmac[EVP_MAX_MD_SIZE];
+  unsigned hmac_len;
+  if (NULL == HMAC(md, hmac_key, EVP_MD_size(md), CBS_data(authsafes),
+                   CBS_len(authsafes), hmac, &hmac_len)) {
+    goto err;
+  }
+
+  *out_mac_ok = CBS_mem_equal(expected_mac, hmac, hmac_len);
+#if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
+  *out_mac_ok = 1;
+#endif
+  ret = 1;
+
+err:
+  OPENSSL_cleanse(hmac_key, sizeof(hmac_key));
+  return ret;
+}
+
+
 int PKCS12_get_key_and_certs(EVP_PKEY **out_key, STACK_OF(X509) *out_certs,
                              CBS *ber_in, const char *password) {
-  uint8_t *der_bytes = NULL;
-  size_t der_len;
+  uint8_t *storage = NULL;
   CBS in, pfx, mac_data, authsafe, content_type, wrapped_authsafes, authsafes;
   uint64_t version;
   int ret = 0;
@@ -478,15 +587,10 @@
   const size_t original_out_certs_len = sk_X509_num(out_certs);
 
   // The input may be in BER format.
-  if (!CBS_asn1_ber_to_der(ber_in, &der_bytes, &der_len)) {
+  if (!CBS_asn1_ber_to_der(ber_in, &in, &storage)) {
     OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_BAD_PKCS12_DATA);
     return 0;
   }
-  if (der_bytes != NULL) {
-    CBS_init(&in, der_bytes, der_len);
-  } else {
-    CBS_init(&in, CBS_data(ber_in), CBS_len(ber_in));
-  }
 
   *out_key = NULL;
   OPENSSL_memset(&ctx, 0, sizeof(ctx));
@@ -565,31 +669,45 @@
       goto err;
     }
 
+#if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
+    static const uint64_t kIterationsLimit = 2048;
+#else
+    // Windows imposes a limit of 600K. Mozilla say: “so them increasing
+    // maximum to something like 100M or 1G (to have few decades of breathing
+    // room) would be very welcome”[1]. So here we set the limit to 100M.
+    //
+    // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1436873#c14
+    static const uint64_t kIterationsLimit = 100 * 1000000;
+#endif
+
     // The iteration count is optional and the default is one.
     uint64_t iterations = 1;
     if (CBS_len(&mac_data) > 0) {
       if (!CBS_get_asn1_uint64(&mac_data, &iterations) ||
-          iterations > UINT_MAX) {
+          iterations > kIterationsLimit) {
         OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_BAD_PKCS12_DATA);
         goto err;
       }
     }
 
-    uint8_t hmac_key[EVP_MAX_MD_SIZE];
-    if (!pkcs12_key_gen(ctx.password, ctx.password_len, CBS_data(&salt),
-                        CBS_len(&salt), PKCS12_MAC_ID, iterations,
-                        EVP_MD_size(md), hmac_key, md)) {
+    int mac_ok;
+    if (!pkcs12_check_mac(&mac_ok, ctx.password, ctx.password_len, &salt,
+                          iterations, md, &authsafes, &expected_mac)) {
       goto err;
     }
-
-    uint8_t hmac[EVP_MAX_MD_SIZE];
-    unsigned hmac_len;
-    if (NULL == HMAC(md, hmac_key, EVP_MD_size(md), CBS_data(&authsafes),
-                     CBS_len(&authsafes), hmac, &hmac_len)) {
-      goto err;
+    if (!mac_ok && ctx.password_len == 0) {
+      // PKCS#12 encodes passwords as NUL-terminated UCS-2, so the empty
+      // password is encoded as {0, 0}. Some implementations use the empty byte
+      // array for "no password". OpenSSL considers a non-NULL password as {0,
+      // 0} and a NULL password as {}. It then, in high-level PKCS#12 parsing
+      // code, tries both options. We match this behavior.
+      ctx.password = ctx.password != NULL ? NULL : "";
+      if (!pkcs12_check_mac(&mac_ok, ctx.password, ctx.password_len, &salt,
+                            iterations, md, &authsafes, &expected_mac)) {
+        goto err;
+      }
     }
-
-    if (!CBS_mem_equal(&expected_mac, hmac, hmac_len)) {
+    if (!mac_ok) {
       OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_INCORRECT_PASSWORD);
       goto err;
     }
@@ -603,7 +721,7 @@
   ret = 1;
 
 err:
-  OPENSSL_free(der_bytes);
+  OPENSSL_free(storage);
   if (!ret) {
     EVP_PKEY_free(*out_key);
     *out_key = NULL;
@@ -714,6 +832,55 @@
   return ret;
 }
 
+int i2d_PKCS12(const PKCS12 *p12, uint8_t **out) {
+  if (p12->ber_len > INT_MAX) {
+    OPENSSL_PUT_ERROR(PKCS8, ERR_R_OVERFLOW);
+    return -1;
+  }
+
+  if (out == NULL) {
+    return (int)p12->ber_len;
+  }
+
+  if (*out == NULL) {
+    *out = OPENSSL_malloc(p12->ber_len);
+    if (*out == NULL) {
+      OPENSSL_PUT_ERROR(PKCS8, ERR_R_MALLOC_FAILURE);
+      return -1;
+    }
+    OPENSSL_memcpy(*out, p12->ber_bytes, p12->ber_len);
+  } else {
+    OPENSSL_memcpy(*out, p12->ber_bytes, p12->ber_len);
+    *out += p12->ber_len;
+  }
+  return (int)p12->ber_len;
+}
+
+int i2d_PKCS12_bio(BIO *bio, const PKCS12 *p12) {
+  size_t written = 0;
+  while (written < p12->ber_len) {
+    size_t todo = p12->ber_len - written;
+    int len = todo > INT_MAX ? INT_MAX : (int)todo;
+    int ret = BIO_write(bio, p12->ber_bytes + written, len);
+    if (ret <= 0) {
+      return 0;
+    }
+    written += (size_t)ret;
+  }
+  return 1;
+}
+
+int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12) {
+  BIO *bio = BIO_new_fp(fp, 0 /* don't take ownership */);
+  if (bio == NULL) {
+    return 0;
+  }
+
+  int ret = i2d_PKCS12_bio(bio, p12);
+  BIO_free(bio);
+  return ret;
+}
+
 int PKCS12_parse(const PKCS12 *p12, const char *password, EVP_PKEY **out_pkey,
                  X509 **out_cert, STACK_OF(X509) **out_ca_certs) {
   CBS ber_bytes;
@@ -780,6 +947,337 @@
   return 1;
 }
 
+// add_bag_attributes adds the bagAttributes field of a SafeBag structure,
+// containing the specified friendlyName and localKeyId attributes.
+static int add_bag_attributes(CBB *bag, const char *name, const uint8_t *key_id,
+                              size_t key_id_len) {
+  if (name == NULL && key_id_len == 0) {
+    return 1;  // Omit the OPTIONAL SET.
+  }
+  // See https://tools.ietf.org/html/rfc7292#section-4.2.
+  CBB attrs, attr, oid, values, value;
+  if (!CBB_add_asn1(bag, &attrs, CBS_ASN1_SET)) {
+    return 0;
+  }
+  if (name != NULL) {
+    // See https://tools.ietf.org/html/rfc2985, section 5.5.1.
+    if (!CBB_add_asn1(&attrs, &attr, CBS_ASN1_SEQUENCE) ||
+        !CBB_add_asn1(&attr, &oid, CBS_ASN1_OBJECT) ||
+        !CBB_add_bytes(&oid, kFriendlyName, sizeof(kFriendlyName)) ||
+        !CBB_add_asn1(&attr, &values, CBS_ASN1_SET) ||
+        !CBB_add_asn1(&values, &value, CBS_ASN1_BMPSTRING)) {
+      return 0;
+    }
+    // Convert the friendly name to a BMPString.
+    CBS name_cbs;
+    CBS_init(&name_cbs, (const uint8_t *)name, strlen(name));
+    while (CBS_len(&name_cbs) != 0) {
+      uint32_t c;
+      if (!cbs_get_utf8(&name_cbs, &c) ||
+          !cbb_add_ucs2_be(&value, c)) {
+        OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_INVALID_CHARACTERS);
+        return 0;
+      }
+    }
+  }
+  if (key_id_len != 0) {
+    // See https://tools.ietf.org/html/rfc2985, section 5.5.2.
+    if (!CBB_add_asn1(&attrs, &attr, CBS_ASN1_SEQUENCE) ||
+        !CBB_add_asn1(&attr, &oid, CBS_ASN1_OBJECT) ||
+        !CBB_add_bytes(&oid, kLocalKeyID, sizeof(kLocalKeyID)) ||
+        !CBB_add_asn1(&attr, &values, CBS_ASN1_SET) ||
+        !CBB_add_asn1(&values, &value, CBS_ASN1_OCTETSTRING) ||
+        !CBB_add_bytes(&value, key_id, key_id_len)) {
+      return 0;
+    }
+  }
+  return CBB_flush_asn1_set_of(&attrs) &&
+         CBB_flush(bag);
+}
+
+static int add_cert_bag(CBB *cbb, X509 *cert, const char *name,
+                        const uint8_t *key_id, size_t key_id_len) {
+  CBB bag, bag_oid, bag_contents, cert_bag, cert_type, wrapped_cert, cert_value;
+  if (// See https://tools.ietf.org/html/rfc7292#section-4.2.
+      !CBB_add_asn1(cbb, &bag, CBS_ASN1_SEQUENCE) ||
+      !CBB_add_asn1(&bag, &bag_oid, CBS_ASN1_OBJECT) ||
+      !CBB_add_bytes(&bag_oid, kCertBag, sizeof(kCertBag)) ||
+      !CBB_add_asn1(&bag, &bag_contents,
+                    CBS_ASN1_CONSTRUCTED | CBS_ASN1_CONTEXT_SPECIFIC | 0) ||
+      // See https://tools.ietf.org/html/rfc7292#section-4.2.3.
+      !CBB_add_asn1(&bag_contents, &cert_bag, CBS_ASN1_SEQUENCE) ||
+      !CBB_add_asn1(&cert_bag, &cert_type, CBS_ASN1_OBJECT) ||
+      !CBB_add_bytes(&cert_type, kX509Certificate, sizeof(kX509Certificate)) ||
+      !CBB_add_asn1(&cert_bag, &wrapped_cert,
+                    CBS_ASN1_CONSTRUCTED | CBS_ASN1_CONTEXT_SPECIFIC | 0) ||
+      !CBB_add_asn1(&wrapped_cert, &cert_value, CBS_ASN1_OCTETSTRING)) {
+    return 0;
+  }
+  uint8_t *buf;
+  int len = i2d_X509(cert, NULL);
+  if (len < 0 ||
+      !CBB_add_space(&cert_value, &buf, (size_t)len) ||
+      i2d_X509(cert, &buf) < 0 ||
+      !add_bag_attributes(&bag, name, key_id, key_id_len) ||
+      !CBB_flush(cbb)) {
+    return 0;
+  }
+  return 1;
+}
+
+static int make_cert_safe_contents(uint8_t **out_data, size_t *out_len,
+                                   X509 *cert, const STACK_OF(X509) *chain,
+                                   const char *name, const uint8_t *key_id,
+                                   size_t key_id_len) {
+  int ret = 0;
+  CBB cbb, safe_contents;
+  if (!CBB_init(&cbb, 0) ||
+      !CBB_add_asn1(&cbb, &safe_contents, CBS_ASN1_SEQUENCE) ||
+      (cert != NULL &&
+       !add_cert_bag(&safe_contents, cert, name, key_id, key_id_len))) {
+    goto err;
+  }
+
+  for (size_t i = 0; i < sk_X509_num(chain); i++) {
+    // Only the leaf certificate gets attributes.
+    if (!add_cert_bag(&safe_contents, sk_X509_value(chain, i), NULL, NULL, 0)) {
+      goto err;
+    }
+  }
+
+  ret = CBB_finish(&cbb, out_data, out_len);
+
+err:
+  CBB_cleanup(&cbb);
+  return ret;
+}
+
+static int add_encrypted_data(CBB *out, int pbe_nid, const char *password,
+                              size_t password_len, unsigned iterations,
+                              const uint8_t *in, size_t in_len) {
+  uint8_t salt[PKCS5_SALT_LEN];
+  if (!RAND_bytes(salt, sizeof(salt))) {
+    return 0;
+  }
+
+  int ret = 0;
+  EVP_CIPHER_CTX ctx;
+  EVP_CIPHER_CTX_init(&ctx);
+  CBB content_info, type, wrapper, encrypted_data, encrypted_content_info,
+      inner_type, encrypted_content;
+  if (// Add the ContentInfo wrapping.
+      !CBB_add_asn1(out, &content_info, CBS_ASN1_SEQUENCE) ||
+      !CBB_add_asn1(&content_info, &type, CBS_ASN1_OBJECT) ||
+      !CBB_add_bytes(&type, kPKCS7EncryptedData, sizeof(kPKCS7EncryptedData)) ||
+      !CBB_add_asn1(&content_info, &wrapper,
+                    CBS_ASN1_CONSTRUCTED | CBS_ASN1_CONTEXT_SPECIFIC | 0) ||
+      // See https://tools.ietf.org/html/rfc2315#section-13.
+      !CBB_add_asn1(&wrapper, &encrypted_data, CBS_ASN1_SEQUENCE) ||
+      !CBB_add_asn1_uint64(&encrypted_data, 0 /* version */) ||
+      // See https://tools.ietf.org/html/rfc2315#section-10.1.
+      !CBB_add_asn1(&encrypted_data, &encrypted_content_info,
+                    CBS_ASN1_SEQUENCE) ||
+      !CBB_add_asn1(&encrypted_content_info, &inner_type, CBS_ASN1_OBJECT) ||
+      !CBB_add_bytes(&inner_type, kPKCS7Data, sizeof(kPKCS7Data)) ||
+      // Set up encryption and fill in contentEncryptionAlgorithm.
+      !pkcs12_pbe_encrypt_init(&encrypted_content_info, &ctx, pbe_nid,
+                               iterations, password, password_len, salt,
+                               sizeof(salt)) ||
+      // Note this tag is primitive. It is an implicitly-tagged OCTET_STRING, so
+      // it inherits the inner tag's constructed bit.
+      !CBB_add_asn1(&encrypted_content_info, &encrypted_content,
+                    CBS_ASN1_CONTEXT_SPECIFIC | 0)) {
+    goto err;
+  }
+
+  size_t max_out = in_len + EVP_CIPHER_CTX_block_size(&ctx);
+  if (max_out < in_len) {
+    OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_TOO_LONG);
+    goto err;
+  }
+
+  uint8_t *ptr;
+  int n1, n2;
+  if (!CBB_reserve(&encrypted_content, &ptr, max_out) ||
+      !EVP_CipherUpdate(&ctx, ptr, &n1, in, in_len) ||
+      !EVP_CipherFinal_ex(&ctx, ptr + n1, &n2) ||
+      !CBB_did_write(&encrypted_content, n1 + n2) ||
+      !CBB_flush(out)) {
+    goto err;
+  }
+
+  ret = 1;
+
+err:
+  EVP_CIPHER_CTX_cleanup(&ctx);
+  return ret;
+}
+
+PKCS12 *PKCS12_create(const char *password, const char *name,
+                      const EVP_PKEY *pkey, X509 *cert,
+                      const STACK_OF(X509)* chain, int key_nid, int cert_nid,
+                      int iterations, int mac_iterations, int key_type) {
+  if (key_nid == 0) {
+    key_nid = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
+  }
+  if (cert_nid == 0) {
+    cert_nid = NID_pbe_WithSHA1And40BitRC2_CBC;
+  }
+  if (iterations == 0) {
+    iterations = PKCS5_DEFAULT_ITERATIONS;
+  }
+  if (mac_iterations == 0) {
+    mac_iterations = 1;
+  }
+  if (// In OpenSSL, this specifies a non-standard Microsoft key usage extension
+      // which we do not currently support.
+      key_type != 0 ||
+      // In OpenSSL, -1 here means to use no encryption, which we do not
+      // currently support.
+      key_nid < 0 || cert_nid < 0 ||
+      // In OpenSSL, -1 here means to omit the MAC, which we do not
+      // currently support. Omitting it is also invalid for a password-based
+      // PKCS#12 file.
+      mac_iterations < 0 ||
+      // Don't encode empty objects.
+      (pkey == NULL && cert == NULL && sk_X509_num(chain) == 0)) {
+    OPENSSL_PUT_ERROR(PKCS8, PKCS8_R_UNSUPPORTED_OPTIONS);
+    return 0;
+  }
+
+  // Note that |password| may be NULL to specify no password, rather than the
+  // empty string. They are encoded differently in PKCS#12. (One is the empty
+  // byte array and the other is NUL-terminated UCS-2.)
+  size_t password_len = password != NULL ? strlen(password) : 0;
+
+  uint8_t key_id[EVP_MAX_MD_SIZE];
+  unsigned key_id_len = 0;
+  if (cert != NULL && pkey != NULL) {
+    if (!X509_check_private_key(cert, pkey) ||
+        // Matching OpenSSL, use the SHA-1 hash of the certificate as the local
+        // key ID. Some PKCS#12 consumers require one to connect the private key
+        // and certificate.
+        !X509_digest(cert, EVP_sha1(), key_id, &key_id_len)) {
+      return 0;
+    }
+  }
+
+  // See https://tools.ietf.org/html/rfc7292#section-4.
+  PKCS12 *ret = NULL;
+  CBB cbb, pfx, auth_safe, auth_safe_oid, auth_safe_wrapper, auth_safe_data,
+      content_infos;
+  uint8_t mac_key[EVP_MAX_MD_SIZE];
+  if (!CBB_init(&cbb, 0) ||
+      !CBB_add_asn1(&cbb, &pfx, CBS_ASN1_SEQUENCE) ||
+      !CBB_add_asn1_uint64(&pfx, 3) ||
+      // auth_safe is a data ContentInfo.
+      !CBB_add_asn1(&pfx, &auth_safe, CBS_ASN1_SEQUENCE) ||
+      !CBB_add_asn1(&auth_safe, &auth_safe_oid, CBS_ASN1_OBJECT) ||
+      !CBB_add_bytes(&auth_safe_oid, kPKCS7Data, sizeof(kPKCS7Data)) ||
+      !CBB_add_asn1(&auth_safe, &auth_safe_wrapper,
+                    CBS_ASN1_CONSTRUCTED | CBS_ASN1_CONTEXT_SPECIFIC | 0) ||
+      !CBB_add_asn1(&auth_safe_wrapper, &auth_safe_data,
+                    CBS_ASN1_OCTETSTRING) ||
+      // See https://tools.ietf.org/html/rfc7292#section-4.1. |auth_safe|'s
+      // contains a SEQUENCE of ContentInfos.
+      !CBB_add_asn1(&auth_safe_data, &content_infos, CBS_ASN1_SEQUENCE)) {
+    goto err;
+  }
+
+  // If there are any certificates, place them in CertBags wrapped in a single
+  // encrypted ContentInfo.
+  if (cert != NULL || sk_X509_num(chain) > 0) {
+    uint8_t *data;
+    size_t len;
+    if (!make_cert_safe_contents(&data, &len, cert, chain, name, key_id,
+                                 key_id_len)) {
+      goto err;
+    }
+    int ok = add_encrypted_data(&content_infos, cert_nid, password,
+                                password_len, iterations, data, len);
+    OPENSSL_free(data);
+    if (!ok) {
+      goto err;
+    }
+  }
+
+  // If there is a key, place it in a single PKCS8ShroudedKeyBag wrapped in an
+  // unencrypted ContentInfo. (One could also place it in a KeyBag inside an
+  // encrypted ContentInfo, but OpenSSL does not do this and some PKCS#12
+  // consumers do not support KeyBags.)
+  if (pkey != NULL) {
+    CBB content_info, oid, wrapper, data, safe_contents, bag, bag_oid,
+        bag_contents;
+    if (// Add another data ContentInfo.
+        !CBB_add_asn1(&content_infos, &content_info, CBS_ASN1_SEQUENCE) ||
+        !CBB_add_asn1(&content_info, &oid, CBS_ASN1_OBJECT) ||
+        !CBB_add_bytes(&oid, kPKCS7Data, sizeof(kPKCS7Data)) ||
+        !CBB_add_asn1(&content_info, &wrapper,
+                      CBS_ASN1_CONSTRUCTED | CBS_ASN1_CONTEXT_SPECIFIC | 0) ||
+        !CBB_add_asn1(&wrapper, &data, CBS_ASN1_OCTETSTRING) ||
+        !CBB_add_asn1(&data, &safe_contents, CBS_ASN1_SEQUENCE) ||
+        // Add a SafeBag containing a PKCS8ShroudedKeyBag.
+        !CBB_add_asn1(&safe_contents, &bag, CBS_ASN1_SEQUENCE) ||
+        !CBB_add_asn1(&bag, &bag_oid, CBS_ASN1_OBJECT) ||
+        !CBB_add_bytes(&bag_oid, kPKCS8ShroudedKeyBag,
+                       sizeof(kPKCS8ShroudedKeyBag)) ||
+        !CBB_add_asn1(&bag, &bag_contents,
+                      CBS_ASN1_CONSTRUCTED | CBS_ASN1_CONTEXT_SPECIFIC | 0) ||
+        !PKCS8_marshal_encrypted_private_key(
+            &bag_contents, key_nid, NULL, password, password_len,
+            NULL /* generate a random salt */, 0 /* use default salt length */,
+            iterations, pkey) ||
+        !add_bag_attributes(&bag, name, key_id, key_id_len) ||
+        !CBB_flush(&content_infos)) {
+      goto err;
+    }
+  }
+
+  // Compute the MAC. Match OpenSSL in using SHA-1 as the hash function. The MAC
+  // covers |auth_safe_data|.
+  const EVP_MD *mac_md = EVP_sha1();
+  uint8_t mac_salt[PKCS5_SALT_LEN];
+  uint8_t mac[EVP_MAX_MD_SIZE];
+  unsigned mac_len;
+  if (!CBB_flush(&auth_safe_data) ||
+      !RAND_bytes(mac_salt, sizeof(mac_salt)) ||
+      !pkcs12_key_gen(password, password_len, mac_salt, sizeof(mac_salt),
+                      PKCS12_MAC_ID, mac_iterations, EVP_MD_size(mac_md),
+                      mac_key, mac_md) ||
+      !HMAC(mac_md, mac_key, EVP_MD_size(mac_md), CBB_data(&auth_safe_data),
+            CBB_len(&auth_safe_data), mac, &mac_len)) {
+    goto err;
+  }
+
+  CBB mac_data, digest_info, mac_cbb, mac_salt_cbb;
+  if (!CBB_add_asn1(&pfx, &mac_data, CBS_ASN1_SEQUENCE) ||
+      !CBB_add_asn1(&mac_data, &digest_info, CBS_ASN1_SEQUENCE) ||
+      !EVP_marshal_digest_algorithm(&digest_info, mac_md) ||
+      !CBB_add_asn1(&digest_info, &mac_cbb, CBS_ASN1_OCTETSTRING) ||
+      !CBB_add_bytes(&mac_cbb, mac, mac_len) ||
+      !CBB_add_asn1(&mac_data, &mac_salt_cbb, CBS_ASN1_OCTETSTRING) ||
+      !CBB_add_bytes(&mac_salt_cbb, mac_salt, sizeof(mac_salt)) ||
+      // The iteration count has a DEFAULT of 1, but RFC 7292 says "The default
+      // is for historical reasons and its use is deprecated." Thus we
+      // explicitly encode the iteration count, though it is not valid DER.
+      !CBB_add_asn1_uint64(&mac_data, mac_iterations)) {
+    goto err;
+  }
+
+  ret = OPENSSL_malloc(sizeof(PKCS12));
+  if (ret == NULL ||
+      !CBB_finish(&cbb, &ret->ber_bytes, &ret->ber_len)) {
+    OPENSSL_free(ret);
+    ret = NULL;
+    goto err;
+  }
+
+err:
+  OPENSSL_cleanse(mac_key, sizeof(mac_key));
+  CBB_cleanup(&cbb);
+  return ret;
+}
+
 void PKCS12_free(PKCS12 *p12) {
   if (p12 == NULL) {
     return;
diff --git a/src/crypto/pool/pool.c b/src/crypto/pool/pool.c
index 9cfbf1e..15c7484 100644
--- a/src/crypto/pool/pool.c
+++ b/src/crypto/pool/pool.c
@@ -135,6 +135,25 @@
   return buf;
 }
 
+CRYPTO_BUFFER *CRYPTO_BUFFER_alloc(uint8_t **out_data, size_t len) {
+  CRYPTO_BUFFER *const buf = OPENSSL_malloc(sizeof(CRYPTO_BUFFER));
+  if (buf == NULL) {
+    return NULL;
+  }
+  OPENSSL_memset(buf, 0, sizeof(CRYPTO_BUFFER));
+
+  buf->data = OPENSSL_malloc(len);
+  if (len != 0 && buf->data == NULL) {
+    OPENSSL_free(buf);
+    return NULL;
+  }
+  buf->len = len;
+  buf->references = 1;
+
+  *out_data = buf->data;
+  return buf;
+}
+
 CRYPTO_BUFFER* CRYPTO_BUFFER_new_from_CBS(CBS *cbs, CRYPTO_BUFFER_POOL *pool) {
   return CRYPTO_BUFFER_new(CBS_data(cbs), CBS_len(cbs), pool);
 }
diff --git a/src/crypto/pool/pool_test.cc b/src/crypto/pool/pool_test.cc
index 1bf9bd1..62fb17d 100644
--- a/src/crypto/pool/pool_test.cc
+++ b/src/crypto/pool/pool_test.cc
@@ -18,6 +18,11 @@
 
 #include "../test/test_util.h"
 
+#if !defined(OPENSSL_NO_THREADS)
+#include <chrono>
+#include <thread>
+#endif
+
 
 TEST(PoolTest, Unpooled) {
   static const uint8_t kData[4] = {1, 2, 3, 4};
@@ -29,8 +34,7 @@
             Bytes(CRYPTO_BUFFER_data(buf.get()), CRYPTO_BUFFER_len(buf.get())));
 
   // Test that reference-counting works properly.
-  CRYPTO_BUFFER_up_ref(buf.get());
-  bssl::UniquePtr<CRYPTO_BUFFER> buf2(buf.get());
+  bssl::UniquePtr<CRYPTO_BUFFER> buf2 = bssl::UpRef(buf);
 }
 
 TEST(PoolTest, Empty) {
@@ -56,3 +60,90 @@
 
   EXPECT_EQ(buf.get(), buf2.get()) << "CRYPTO_BUFFER_POOL did not dedup data.";
 }
+
+#if !defined(OPENSSL_NO_THREADS)
+TEST(PoolTest, Threads) {
+  bssl::UniquePtr<CRYPTO_BUFFER_POOL> pool(CRYPTO_BUFFER_POOL_new());
+  ASSERT_TRUE(pool);
+
+  // Race threads making pooled |CRYPTO_BUFFER|s.
+  static const uint8_t kData[4] = {1, 2, 3, 4};
+  static const uint8_t kData2[3] = {4, 5, 6};
+  bssl::UniquePtr<CRYPTO_BUFFER> buf, buf2, buf3;
+  {
+    std::thread thread([&] {
+      buf.reset(CRYPTO_BUFFER_new(kData, sizeof(kData), pool.get()));
+    });
+    std::thread thread2([&] {
+      buf2.reset(CRYPTO_BUFFER_new(kData, sizeof(kData), pool.get()));
+    });
+    buf3.reset(CRYPTO_BUFFER_new(kData2, sizeof(kData2), pool.get()));
+    thread.join();
+    thread2.join();
+  }
+
+  ASSERT_TRUE(buf);
+  ASSERT_TRUE(buf2);
+  ASSERT_TRUE(buf3);
+  EXPECT_EQ(buf.get(), buf2.get()) << "CRYPTO_BUFFER_POOL did not dedup data.";
+  EXPECT_NE(buf.get(), buf3.get())
+      << "CRYPTO_BUFFER_POOL incorrectly deduped data.";
+  EXPECT_EQ(Bytes(kData),
+            Bytes(CRYPTO_BUFFER_data(buf.get()), CRYPTO_BUFFER_len(buf.get())));
+  EXPECT_EQ(Bytes(kData2), Bytes(CRYPTO_BUFFER_data(buf3.get()),
+                                 CRYPTO_BUFFER_len(buf3.get())));
+
+  // Reference-counting of |CRYPTO_BUFFER| interacts with pooling. Race an
+  // increment and free.
+  {
+    bssl::UniquePtr<CRYPTO_BUFFER> buf_ref;
+    std::thread thread([&] { buf_ref = bssl::UpRef(buf); });
+    buf2.reset();
+    thread.join();
+  }
+
+  // |buf|'s data is still valid.
+  EXPECT_EQ(Bytes(kData), Bytes(CRYPTO_BUFFER_data(buf.get()),
+                                CRYPTO_BUFFER_len(buf.get())));
+
+  // Race a thread re-creating the |CRYPTO_BUFFER| with another thread freeing
+  // it. Do this twice with sleeps so ThreadSanitizer can observe two different
+  // interleavings. Ideally we would run this test under a tool that could
+  // search all interleavings.
+  {
+    std::thread thread([&] {
+      std::this_thread::sleep_for(std::chrono::milliseconds(1));
+      buf.reset();
+    });
+    buf2.reset(CRYPTO_BUFFER_new(kData, sizeof(kData), pool.get()));
+    thread.join();
+
+    ASSERT_TRUE(buf2);
+    EXPECT_EQ(Bytes(kData), Bytes(CRYPTO_BUFFER_data(buf2.get()),
+                                  CRYPTO_BUFFER_len(buf2.get())));
+    buf = std::move(buf2);
+  }
+
+  {
+    std::thread thread([&] { buf.reset(); });
+    std::this_thread::sleep_for(std::chrono::milliseconds(1));
+    buf2.reset(CRYPTO_BUFFER_new(kData, sizeof(kData), pool.get()));
+    thread.join();
+
+    ASSERT_TRUE(buf2);
+    EXPECT_EQ(Bytes(kData), Bytes(CRYPTO_BUFFER_data(buf2.get()),
+                                  CRYPTO_BUFFER_len(buf2.get())));
+    buf = std::move(buf2);
+  }
+
+  // Finally, race the frees.
+  {
+    buf2 = bssl::UpRef(buf);
+    std::thread thread([&] { buf.reset(); });
+    std::thread thread2([&] { buf3.reset(); });
+    buf2.reset();
+    thread.join();
+    thread2.join();
+  }
+}
+#endif
diff --git a/src/crypto/rand_extra/fuchsia.c b/src/crypto/rand_extra/fuchsia.c
index ce8356c..0514d80 100644
--- a/src/crypto/rand_extra/fuchsia.c
+++ b/src/crypto/rand_extra/fuchsia.c
@@ -24,20 +24,7 @@
 #include "../fipsmodule/rand/internal.h"
 
 void CRYPTO_sysrand(uint8_t *out, size_t requested) {
-  while (requested > 0) {
-    size_t output_bytes_this_pass = ZX_CPRNG_DRAW_MAX_LEN;
-    if (requested < output_bytes_this_pass) {
-      output_bytes_this_pass = requested;
-    }
-    size_t bytes_drawn;
-    zx_status_t status =
-        zx_cprng_draw(out, output_bytes_this_pass, &bytes_drawn);
-    if (status != ZX_OK) {
-      abort();
-    }
-    requested -= bytes_drawn;
-    out += bytes_drawn;
-  }
+  zx_cprng_draw(out, requested);
 }
 
 #endif  // OPENSSL_FUCHSIA && !BORINGSSL_UNSAFE_DETERMINISTIC_MODE
diff --git a/src/crypto/refcount_test.cc b/src/crypto/refcount_test.cc
index efa501a..6ce0746 100644
--- a/src/crypto/refcount_test.cc
+++ b/src/crypto/refcount_test.cc
@@ -16,6 +16,10 @@
 
 #include <gtest/gtest.h>
 
+#if !defined(OPENSSL_NO_THREADS)
+#include <thread>
+#endif
+
 
 TEST(RefCountTest, Basic) {
   CRYPTO_refcount_t count = 0;
@@ -38,3 +42,38 @@
   EXPECT_FALSE(CRYPTO_refcount_dec_and_test_zero(&count));
   EXPECT_EQ(1u, count);
 }
+
+#if !defined(OPENSSL_NO_THREADS)
+// This test is primarily intended to run under ThreadSanitizer.
+TEST(RefCountTest, Threads) {
+  CRYPTO_refcount_t count = 0;
+
+  // Race two increments.
+  {
+    std::thread thread([&] { CRYPTO_refcount_inc(&count); });
+    CRYPTO_refcount_inc(&count);
+    thread.join();
+    EXPECT_EQ(2u, count);
+  }
+
+  // Race an increment with a decrement.
+  {
+    std::thread thread([&] { CRYPTO_refcount_inc(&count); });
+    EXPECT_FALSE(CRYPTO_refcount_dec_and_test_zero(&count));
+    thread.join();
+    EXPECT_EQ(2u, count);
+  }
+
+  // Race two decrements.
+  {
+    bool thread_saw_zero;
+    std::thread thread(
+        [&] { thread_saw_zero = CRYPTO_refcount_dec_and_test_zero(&count); });
+    bool saw_zero = CRYPTO_refcount_dec_and_test_zero(&count);
+    thread.join();
+    EXPECT_EQ(0u, count);
+    // Exactly one thread should see zero.
+    EXPECT_NE(saw_zero, thread_saw_zero);
+  }
+}
+#endif
diff --git a/src/crypto/rsa_extra/CMakeLists.txt b/src/crypto/rsa_extra/CMakeLists.txt
index 563a4a4..b705f16 100644
--- a/src/crypto/rsa_extra/CMakeLists.txt
+++ b/src/crypto/rsa_extra/CMakeLists.txt
@@ -6,4 +6,5 @@
   OBJECT
 
   rsa_asn1.c
+  rsa_print.c
 )
diff --git a/src/crypto/rsa_extra/rsa_print.c b/src/crypto/rsa_extra/rsa_print.c
new file mode 100644
index 0000000..71970b8
--- /dev/null
+++ b/src/crypto/rsa_extra/rsa_print.c
@@ -0,0 +1,22 @@
+/*
+ * Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#include <openssl/rsa.h>
+
+#include <openssl/evp.h>
+
+
+int RSA_print(BIO *bio, const RSA *rsa, int indent) {
+  EVP_PKEY *pkey = EVP_PKEY_new();
+  int ret = pkey != NULL &&
+            EVP_PKEY_set1_RSA(pkey, (RSA *)rsa) &&
+            EVP_PKEY_print_private(bio, pkey, indent, NULL);
+  EVP_PKEY_free(pkey);
+  return ret;
+}
diff --git a/src/crypto/rsa_extra/rsa_test.cc b/src/crypto/rsa_extra/rsa_test.cc
index 211b690..b0a0b7e 100644
--- a/src/crypto/rsa_extra/rsa_test.cc
+++ b/src/crypto/rsa_extra/rsa_test.cc
@@ -72,6 +72,11 @@
 #include "../internal.h"
 #include "../test/test_util.h"
 
+#if !defined(OPENSSL_NO_THREADS)
+#include <thread>
+#include <vector>
+#endif
+
 
 // kPlaintext is a sample plaintext.
 static const uint8_t kPlaintext[] = "\x54\x85\x9b\x34\x2c\x49\xea\x2a";
@@ -1042,3 +1047,73 @@
   EXPECT_EQ(3072u / 2u, bits);
 }
 #endif  // !BORINGSSL_SHARED_LIBRARY
+
+#if !defined(OPENSSL_NO_THREADS)
+TEST(RSATest, Threads) {
+  bssl::UniquePtr<RSA> rsa_template(
+      RSA_private_key_from_bytes(kKey1, sizeof(kKey1) - 1));
+  ASSERT_TRUE(rsa_template);
+
+  const uint8_t kDummyHash[32] = {0};
+  uint8_t sig[256];
+  unsigned sig_len = sizeof(sig);
+  ASSERT_LE(RSA_size(rsa_template.get()), sizeof(sig));
+  EXPECT_TRUE(RSA_sign(NID_sha256, kDummyHash, sizeof(kDummyHash), sig,
+                       &sig_len, rsa_template.get()));
+
+  // RSA keys may be assembled piece-meal and then used in parallel between
+  // threads, which requires internal locking to create some derived properties.
+  bssl::UniquePtr<RSA> rsa(RSA_new());
+  rsa->n = BN_dup(rsa_template->n);
+  ASSERT_TRUE(rsa->n);
+  rsa->e = BN_dup(rsa_template->e);
+  ASSERT_TRUE(rsa->e);
+  rsa->d = BN_dup(rsa_template->d);
+  ASSERT_TRUE(rsa->d);
+  rsa->p = BN_dup(rsa_template->p);
+  ASSERT_TRUE(rsa->p);
+  rsa->q = BN_dup(rsa_template->q);
+  ASSERT_TRUE(rsa->q);
+  rsa->dmp1 = BN_dup(rsa_template->dmp1);
+  ASSERT_TRUE(rsa->dmp1);
+  rsa->dmq1 = BN_dup(rsa_template->dmq1);
+  ASSERT_TRUE(rsa->dmq1);
+  rsa->iqmp = BN_dup(rsa_template->iqmp);
+  ASSERT_TRUE(rsa->iqmp);
+
+  // Each of these operations must be safe to do concurrently on different
+  // threads.
+  auto raw_access = [&] { EXPECT_EQ(0, BN_cmp(rsa->d, rsa_template->d)); };
+  auto getter = [&] {
+    const BIGNUM *d;
+    RSA_get0_key(rsa.get(), nullptr, nullptr, &d);
+    EXPECT_EQ(0, BN_cmp(d, rsa_template->d));
+  };
+  auto sign = [&] {
+    uint8_t sig2[256];
+    unsigned sig2_len = sizeof(sig2);
+    ASSERT_LE(RSA_size(rsa.get()), sizeof(sig2));
+    EXPECT_TRUE(RSA_sign(NID_sha256, kDummyHash, sizeof(kDummyHash), sig2,
+                         &sig2_len, rsa.get()));
+    // RSASSA-PKCS1-v1_5 is deterministic.
+    EXPECT_EQ(Bytes(sig, sig_len), Bytes(sig2, sig2_len));
+  };
+  auto verify = [&] {
+    EXPECT_TRUE(RSA_verify(NID_sha256, kDummyHash, sizeof(kDummyHash), sig,
+                           sig_len, rsa.get()));
+  };
+
+  std::vector<std::thread> threads;
+  threads.emplace_back(raw_access);
+  threads.emplace_back(raw_access);
+  threads.emplace_back(getter);
+  threads.emplace_back(getter);
+  threads.emplace_back(sign);
+  threads.emplace_back(sign);
+  threads.emplace_back(verify);
+  threads.emplace_back(verify);
+  for (auto &thread : threads) {
+    thread.join();
+  }
+}
+#endif
diff --git a/src/crypto/test/file_test.cc b/src/crypto/test/file_test.cc
index 2ad49d3..ae2f4c3 100644
--- a/src/crypto/test/file_test.cc
+++ b/src/crypto/test/file_test.cc
@@ -332,6 +332,7 @@
   parameter_.clear();
   attributes_.clear();
   unused_attributes_.clear();
+  unused_instructions_.clear();
   current_test_ = "";
 }
 
diff --git a/src/crypto/test/malloc.cc b/src/crypto/test/malloc.cc
index 5f0bc6e..1718939 100644
--- a/src/crypto/test/malloc.cc
+++ b/src/crypto/test/malloc.cc
@@ -27,7 +27,7 @@
 // coexist.
 #if defined(__linux__) && defined(OPENSSL_GLIBC) && !defined(OPENSSL_ARM) && \
     !defined(OPENSSL_AARCH64) && !defined(OPENSSL_ASAN) &&                   \
-    !defined(OPENSSL_MSAN)
+    !defined(OPENSSL_MSAN) && !defined(OPENSSL_TSAN)
 
 #include <errno.h>
 #include <signal.h>
@@ -140,4 +140,4 @@
 
 }  // extern "C"
 
-#endif  // defined(linux) && GLIBC && !ARM && !AARCH64 && !ASAN
+#endif  // defined(linux) && GLIBC && !ARM && !AARCH64 && !ASAN && !TSAN
diff --git a/src/crypto/test/test_util.cc b/src/crypto/test/test_util.cc
index 493b124..4ad777f 100644
--- a/src/crypto/test/test_util.cc
+++ b/src/crypto/test/test_util.cc
@@ -30,6 +30,10 @@
 }
 
 std::ostream &operator<<(std::ostream &os, const Bytes &in) {
+  if (in.len == 0) {
+    return os << "<empty Bytes>";
+  }
+
   // Print a byte slice as hex.
   static const char hex[] = "0123456789abcdef";
   for (size_t i = 0; i < in.len; i++) {
diff --git a/src/crypto/test/wycheproof_util.cc b/src/crypto/test/wycheproof_util.cc
index 3ff132f..8f7dfeb 100644
--- a/src/crypto/test/wycheproof_util.cc
+++ b/src/crypto/test/wycheproof_util.cc
@@ -14,6 +14,7 @@
 
 #include "./wycheproof_util.h"
 
+#include <openssl/bn.h>
 #include <openssl/digest.h>
 #include <openssl/ec.h>
 #include <openssl/nid.h>
@@ -89,3 +90,35 @@
   }
   return bssl::UniquePtr<EC_GROUP>(EC_GROUP_new_by_curve_name(nid));
 }
+
+bssl::UniquePtr<BIGNUM> GetWycheproofBIGNUM(FileTest *t, const char *key,
+                                            bool instruction) {
+  std::string value;
+  bool ok = instruction ? t->GetInstruction(&value, key)
+                        : t->GetAttribute(&value, key);
+  if (!ok) {
+    return nullptr;
+  }
+  BIGNUM *bn = nullptr;
+  if (BN_hex2bn(&bn, value.c_str()) != static_cast<int>(value.size())) {
+    BN_free(bn);
+    t->PrintLine("Could not decode value '%s'", value.c_str());
+    return nullptr;
+  }
+  bssl::UniquePtr<BIGNUM> ret(bn);
+  if (!value.empty()) {
+    // If the high bit is one, this is a negative number in Wycheproof.
+    // Wycheproof's tests generally mimic Java APIs, including all their
+    // mistakes. See
+    // https://github.com/google/wycheproof/blob/0329f5b751ef102bd6b7b7181b6e049522a887f5/java/com/google/security/wycheproof/JsonUtil.java#L62.
+    if ('0' > value[0] || value[0] > '7') {
+      bssl::UniquePtr<BIGNUM> tmp(BN_new());
+      if (!tmp ||
+          !BN_set_bit(tmp.get(), value.size() * 4) ||
+          !BN_sub(ret.get(), ret.get(), tmp.get())) {
+        return nullptr;
+      }
+    }
+  }
+  return ret;
+}
diff --git a/src/crypto/test/wycheproof_util.h b/src/crypto/test/wycheproof_util.h
index cf50b8e..4d8a14c 100644
--- a/src/crypto/test/wycheproof_util.h
+++ b/src/crypto/test/wycheproof_util.h
@@ -41,5 +41,10 @@
 bssl::UniquePtr<EC_GROUP> GetWycheproofCurve(FileTest *t, const char *key,
                                              bool instruction);
 
+// GetWycheproofBIGNUM returns a BIGNUM in the Wycheproof format, or nullptr on
+// error.
+bssl::UniquePtr<BIGNUM> GetWycheproofBIGNUM(FileTest *t, const char *key,
+                                            bool instruction);
+
 
 #endif  // OPENSSL_HEADER_CRYPTO_TEST_WYCHEPROOF_UTIL_H
diff --git a/src/crypto/thread_test.cc b/src/crypto/thread_test.cc
index 2a6f60b..f89b22e 100644
--- a/src/crypto/thread_test.cc
+++ b/src/crypto/thread_test.cc
@@ -14,6 +14,9 @@
 
 #include "internal.h"
 
+#include <chrono>
+#include <thread>
+
 #include <gtest/gtest.h>
 
 #include <openssl/crypto.h>
@@ -24,83 +27,30 @@
 
 #if !defined(OPENSSL_NO_THREADS)
 
-#if defined(OPENSSL_WINDOWS)
-
-OPENSSL_MSVC_PRAGMA(warning(push, 3))
-#include <windows.h>
-OPENSSL_MSVC_PRAGMA(warning(pop))
-
-typedef HANDLE thread_t;
-
-static DWORD WINAPI thread_run(LPVOID arg) {
-  void (*thread_func)(void);
-  // VC really doesn't like casting between data and function pointers.
-  OPENSSL_memcpy(&thread_func, &arg, sizeof(thread_func));
-  thread_func();
-  return 0;
-}
-
-static int run_thread(thread_t *out_thread, void (*thread_func)(void)) {
-  void *arg;
-  // VC really doesn't like casting between data and function pointers.
-  OPENSSL_memcpy(&arg, &thread_func, sizeof(arg));
-
-  *out_thread = CreateThread(NULL /* security attributes */,
-                             0 /* default stack size */, thread_run, arg,
-                             0 /* run immediately */, NULL /* ignore id */);
-  return *out_thread != NULL;
-}
-
-static int wait_for_thread(thread_t thread) {
-  return WaitForSingleObject(thread, INFINITE) == 0;
-}
-
-#else
-
-#include <pthread.h>
-#include <string.h>
-#include <time.h>
-
-typedef pthread_t thread_t;
-
-static void *thread_run(void *arg) {
-  void (*thread_func)(void) = reinterpret_cast<void (*)(void)>(arg);
-  thread_func();
-  return NULL;
-}
-
-static int run_thread(thread_t *out_thread, void (*thread_func)(void)) {
-  return pthread_create(out_thread, NULL /* default attributes */, thread_run,
-                        reinterpret_cast<void *>(thread_func)) == 0;
-}
-
-static int wait_for_thread(thread_t thread) {
-  return pthread_join(thread, NULL) == 0;
-}
-
-#endif  // OPENSSL_WINDOWS
-
 static unsigned g_once_init_called = 0;
 
 static void once_init(void) {
   g_once_init_called++;
 
-  // Sleep briefly so one |call_once_thread| instance will call |CRYPTO_once|
+  // Sleep briefly so one |call_once_func| instance will call |CRYPTO_once|
   // while the other is running this function.
-#if defined(OPENSSL_WINDOWS)
-  Sleep(1 /* milliseconds */);
-#else
-  struct timespec req;
-  OPENSSL_memset(&req, 0, sizeof(req));
-  req.tv_nsec = 1000000;
-  nanosleep(&req, NULL);
-#endif
+  std::this_thread::sleep_for(std::chrono::milliseconds(1));
 }
 
 static CRYPTO_once_t g_test_once = CRYPTO_ONCE_INIT;
 
-static void call_once_thread(void) {
+TEST(ThreadTest, Once) {
+  ASSERT_EQ(0u, g_once_init_called)
+      << "g_once_init_called was non-zero at start.";
+
+  auto call_once_func = [] { CRYPTO_once(&g_test_once, once_init); };
+  std::thread thread1(call_once_func), thread2(call_once_func);
+  thread1.join();
+  thread2.join();
+
   CRYPTO_once(&g_test_once, once_init);
+
+  EXPECT_EQ(1u, g_once_init_called);
 }
 
 static CRYPTO_once_t once_init_value = CRYPTO_ONCE_INIT;
@@ -112,21 +62,6 @@
 static CRYPTO_EX_DATA_CLASS ex_data_class_value = CRYPTO_EX_DATA_CLASS_INIT;
 static CRYPTO_EX_DATA_CLASS ex_data_class_bss;
 
-TEST(ThreadTest, Once) {
-  ASSERT_EQ(0u, g_once_init_called)
-      << "g_once_init_called was non-zero at start.";
-
-  thread_t thread1, thread2;
-  ASSERT_TRUE(run_thread(&thread1, call_once_thread));
-  ASSERT_TRUE(run_thread(&thread2, call_once_thread));
-  ASSERT_TRUE(wait_for_thread(thread1));
-  ASSERT_TRUE(wait_for_thread(thread2));
-
-  CRYPTO_once(&g_test_once, once_init);
-
-  EXPECT_EQ(1u, g_once_init_called);
-}
-
 TEST(ThreadTest, InitZeros) {
   if (FIPS_mode()) {
     // Our FIPS tooling currently requires that |CRYPTO_ONCE_INIT|,
@@ -158,8 +93,7 @@
   ASSERT_EQ(nullptr, CRYPTO_get_thread_local(OPENSSL_THREAD_LOCAL_TEST))
       << "Thread-local data was non-NULL at start.";
 
-  thread_t thread;
-  ASSERT_TRUE(run_thread(&thread, []() {
+  std::thread thread([] {
     if (CRYPTO_get_thread_local(OPENSSL_THREAD_LOCAL_TEST) != NULL ||
         !CRYPTO_set_thread_local(OPENSSL_THREAD_LOCAL_TEST,
                                  &g_destructor_called_count,
@@ -170,16 +104,16 @@
     }
 
     g_test_thread_ok = 1;
-  }));
-  ASSERT_TRUE(wait_for_thread(thread));
+  });
+  thread.join();
 
   EXPECT_TRUE(g_test_thread_ok) << "Thread-local data didn't work in thread.";
   EXPECT_EQ(1u, g_destructor_called_count);
 
-  // Create a no-op thread to test test that the thread destructor function
-  // works even if thread-local storage wasn't used for a thread.
-  ASSERT_TRUE(run_thread(&thread, []() {}));
-  ASSERT_TRUE(wait_for_thread(thread));
+  // Create a no-op thread to test that the thread destructor function works
+  // even if thread-local storage wasn't used for a thread.
+  thread = std::thread([] {});
+  thread.join();
 }
 
 TEST(ThreadTest, RandState) {
@@ -189,12 +123,11 @@
   uint8_t buf[1];
   RAND_bytes(buf, sizeof(buf));
 
-  thread_t thread;
-  ASSERT_TRUE(run_thread(&thread, []() {
+  std::thread thread([] {
     uint8_t buf2[1];
     RAND_bytes(buf2, sizeof(buf2));
-  }));
-  ASSERT_TRUE(wait_for_thread(thread));
+  });
+  thread.join();
 }
 
 #endif  // !OPENSSL_NO_THREADS
diff --git a/src/crypto/thread_win.c b/src/crypto/thread_win.c
index d6fa548..248870a 100644
--- a/src/crypto/thread_win.c
+++ b/src/crypto/thread_win.c
@@ -190,13 +190,31 @@
 
 #endif  // _WIN64
 
+static void **get_thread_locals(void) {
+  // |TlsGetValue| clears the last error even on success, so that callers may
+  // distinguish it successfully returning NULL or failing. It is documented to
+  // never fail if the argument is a valid index from |TlsAlloc|, so we do not
+  // need to handle this.
+  //
+  // However, this error-mangling behavior interferes with the caller's use of
+  // |GetLastError|. In particular |SSL_get_error| queries the error queue to
+  // determine whether the caller should look at the OS's errors. To avoid
+  // destroying state, save and restore the Windows error.
+  //
+  // https://msdn.microsoft.com/en-us/library/windows/desktop/ms686812(v=vs.85).aspx
+  DWORD last_error = GetLastError();
+  void **ret = TlsGetValue(g_thread_local_key);
+  SetLastError(last_error);
+  return ret;
+}
+
 void *CRYPTO_get_thread_local(thread_local_data_t index) {
   CRYPTO_once(&g_thread_local_init_once, thread_local_init);
   if (g_thread_local_failed) {
     return NULL;
   }
 
-  void **pointers = TlsGetValue(g_thread_local_key);
+  void **pointers = get_thread_locals();
   if (pointers == NULL) {
     return NULL;
   }
@@ -211,7 +229,7 @@
     return 0;
   }
 
-  void **pointers = TlsGetValue(g_thread_local_key);
+  void **pointers = get_thread_locals();
   if (pointers == NULL) {
     pointers = OPENSSL_malloc(sizeof(void *) * NUM_OPENSSL_THREAD_LOCALS);
     if (pointers == NULL) {
diff --git a/src/crypto/x509/a_strex.c b/src/crypto/x509/a_strex.c
index 465ad08..6dc183a 100644
--- a/src/crypto/x509/a_strex.c
+++ b/src/crypto/x509/a_strex.c
@@ -178,18 +178,37 @@
                   int type, unsigned char flags, char *quotes, char_io *io_ch,
                   void *arg)
 {
-    int i, outlen, len;
+    int i, outlen, len, charwidth;
     unsigned char orflags, *p, *q;
     uint32_t c;
     p = buf;
     q = buf + buflen;
     outlen = 0;
+    charwidth = type & BUF_TYPE_WIDTH_MASK;
+
+    switch (charwidth) {
+    case 4:
+        if (buflen & 3) {
+            OPENSSL_PUT_ERROR(ASN1, ASN1_R_INVALID_UNIVERSALSTRING);
+            return -1;
+        }
+        break;
+    case 2:
+        if (buflen & 1) {
+            OPENSSL_PUT_ERROR(ASN1, ASN1_R_INVALID_BMPSTRING);
+            return -1;
+        }
+        break;
+    default:
+        break;
+    }
+
     while (p != q) {
         if (p == buf && flags & ASN1_STRFLGS_ESC_2253)
             orflags = CHARTYPE_FIRST_ESC_2253;
         else
             orflags = 0;
-        switch (type & BUF_TYPE_WIDTH_MASK) {
+        switch (charwidth) {
         case 4:
             c = ((uint32_t)*p++) << 24;
             c |= ((uint32_t)*p++) << 16;
@@ -210,6 +229,7 @@
             i = UTF8_getc(p, buflen, &c);
             if (i < 0)
                 return -1;      /* Invalid UTF8String */
+            buflen -= i;
             p += i;
             break;
         default:
diff --git a/src/crypto/x509/x509_cmp.c b/src/crypto/x509/x509_cmp.c
index 98236d9..17314af 100644
--- a/src/crypto/x509/x509_cmp.c
+++ b/src/crypto/x509/x509_cmp.c
@@ -315,7 +315,7 @@
     return x->cert_info->key->public_key;
 }
 
-int X509_check_private_key(X509 *x, EVP_PKEY *k)
+int X509_check_private_key(X509 *x, const EVP_PKEY *k)
 {
     EVP_PKEY *xk;
     int ret;
diff --git a/src/crypto/x509/x509_lu.c b/src/crypto/x509/x509_lu.c
index ea01427..4046c3e 100644
--- a/src/crypto/x509/x509_lu.c
+++ b/src/crypto/x509/x509_lu.c
@@ -708,17 +708,124 @@
     return ctx->param;
 }
 
+void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify)
+{
+    ctx->verify = verify;
+}
+
+X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx)
+{
+    return ctx->verify;
+}
+
 void X509_STORE_set_verify_cb(X509_STORE *ctx,
-                              int (*verify_cb) (int, X509_STORE_CTX *))
+                              X509_STORE_CTX_verify_cb verify_cb)
 {
     ctx->verify_cb = verify_cb;
 }
 
-void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx,
-                                   STACK_OF (X509_CRL) *
-                                   (*cb) (X509_STORE_CTX *ctx, X509_NAME *nm))
+X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(X509_STORE *ctx)
 {
-    ctx->lookup_crls = cb;
+    return ctx->verify_cb;
+}
+
+void X509_STORE_set_get_issuer(X509_STORE *ctx,
+                               X509_STORE_CTX_get_issuer_fn get_issuer)
+{
+    ctx->get_issuer = get_issuer;
+}
+
+X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(X509_STORE *ctx)
+{
+    return ctx->get_issuer;
+}
+
+void X509_STORE_set_check_issued(X509_STORE *ctx,
+                                 X509_STORE_CTX_check_issued_fn check_issued)
+{
+    ctx->check_issued = check_issued;
+}
+
+X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(X509_STORE *ctx)
+{
+    return ctx->check_issued;
+}
+
+void X509_STORE_set_check_revocation(X509_STORE *ctx,
+                                     X509_STORE_CTX_check_revocation_fn check_revocation)
+{
+    ctx->check_revocation = check_revocation;
+}
+
+X509_STORE_CTX_check_revocation_fn X509_STORE_get_check_revocation(X509_STORE *ctx)
+{
+    return ctx->check_revocation;
+}
+
+void X509_STORE_set_get_crl(X509_STORE *ctx,
+                            X509_STORE_CTX_get_crl_fn get_crl)
+{
+    ctx->get_crl = get_crl;
+}
+
+X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(X509_STORE *ctx)
+{
+    return ctx->get_crl;
+}
+
+void X509_STORE_set_check_crl(X509_STORE *ctx,
+                              X509_STORE_CTX_check_crl_fn check_crl)
+{
+    ctx->check_crl = check_crl;
+}
+
+X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(X509_STORE *ctx)
+{
+    return ctx->check_crl;
+}
+
+void X509_STORE_set_cert_crl(X509_STORE *ctx,
+                             X509_STORE_CTX_cert_crl_fn cert_crl)
+{
+    ctx->cert_crl = cert_crl;
+}
+
+X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(X509_STORE *ctx)
+{
+    return ctx->cert_crl;
+}
+
+void X509_STORE_set_lookup_certs(X509_STORE *ctx,
+                                 X509_STORE_CTX_lookup_certs_fn lookup_certs)
+{
+    ctx->lookup_certs = lookup_certs;
+}
+
+X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(X509_STORE *ctx)
+{
+    return ctx->lookup_certs;
+}
+
+void X509_STORE_set_lookup_crls(X509_STORE *ctx,
+                                X509_STORE_CTX_lookup_crls_fn lookup_crls)
+{
+    ctx->lookup_crls = lookup_crls;
+}
+
+X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(X509_STORE *ctx)
+{
+    return ctx->lookup_crls;
+}
+
+void X509_STORE_set_cleanup(X509_STORE *ctx,
+                            X509_STORE_CTX_cleanup_fn ctx_cleanup)
+{
+    ctx->cleanup = ctx_cleanup;
+}
+
+X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(X509_STORE *ctx)
+{
+    return ctx->cleanup;
 }
 
 X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx)
diff --git a/src/crypto/x509/x509_req.c b/src/crypto/x509/x509_req.c
index 69bc6f1..3a73261 100644
--- a/src/crypto/x509/x509_req.c
+++ b/src/crypto/x509/x509_req.c
@@ -320,3 +320,23 @@
         return 1;
     return 0;
 }
+
+void X509_REQ_get0_signature(const X509_REQ *req, const ASN1_BIT_STRING **psig,
+                             const X509_ALGOR **palg)
+{
+    if (psig != NULL)
+        *psig = req->signature;
+    if (palg != NULL)
+        *palg = req->sig_alg;
+}
+
+int X509_REQ_get_signature_nid(const X509_REQ *req)
+{
+    return OBJ_obj2nid(req->sig_alg->algorithm);
+}
+
+int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp)
+{
+    req->req_info->enc.modified = 1;
+    return i2d_X509_REQ_INFO(req->req_info, pp);
+}
diff --git a/src/crypto/x509/x509_set.c b/src/crypto/x509/x509_set.c
index 413a20d..0aa92bd 100644
--- a/src/crypto/x509/x509_set.c
+++ b/src/crypto/x509/x509_set.c
@@ -162,3 +162,8 @@
 {
     return x->cert_info->extensions;
 }
+
+const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x)
+{
+    return x->cert_info->signature;
+}
diff --git a/src/crypto/x509/x509_test.cc b/src/crypto/x509/x509_test.cc
index 0c5fc2d..551bd8c 100644
--- a/src/crypto/x509/x509_test.cc
+++ b/src/crypto/x509/x509_test.cc
@@ -20,8 +20,8 @@
 
 #include <openssl/bio.h>
 #include <openssl/bytestring.h>
-#include <openssl/curve25519.h>
 #include <openssl/crypto.h>
+#include <openssl/curve25519.h>
 #include <openssl/digest.h>
 #include <openssl/err.h>
 #include <openssl/pem.h>
@@ -30,6 +30,7 @@
 #include <openssl/x509v3.h>
 
 #include "../internal.h"
+#include "../test/test_util.h"
 
 
 std::string GetTestData(const char *path);
@@ -494,6 +495,137 @@
 // /JKuuFGmzkG+rUbXFmo/Zg2ozVplw71NnQJ4znPsf7A=
 // -----END RSA PRIVATE KEY-----
 
+// The following four certificates were generated with this Go program, varying
+// |includeNetscapeExtension| and defining rootKeyPEM and rootCertPEM to be
+// strings containing the kSANTypesRoot, above.
+
+// package main
+
+// import (
+//     "crypto/ecdsa"
+//     "crypto/elliptic"
+//     "crypto/rand"
+//     "crypto/x509"
+//     "crypto/x509/pkix"
+//     "encoding/asn1"
+//     "encoding/pem"
+//     "math/big"
+//     "os"
+//     "time"
+// )
+
+// const includeNetscapeExtension = true
+
+// func main() {
+//     block, _ := pem.Decode([]byte(rootKeyPEM))
+//     rootPriv, _ := x509.ParsePKCS1PrivateKey(block.Bytes)
+//     block, _ = pem.Decode([]byte(rootCertPEM))
+//     root, _ := x509.ParseCertificate(block.Bytes)
+
+//     interTemplate := &x509.Certificate{
+//         SerialNumber: big.NewInt(2),
+//         Subject: pkix.Name{
+//             CommonName: "No Basic Constraints (Netscape)",
+//         },
+//         NotBefore: time.Date(2000, time.January, 1, 0, 0, 0, 0, time.UTC),
+//         NotAfter:  time.Date(2099, time.January, 1, 0, 0, 0, 0, time.UTC),
+//     }
+
+//     if includeNetscapeExtension {
+//         interTemplate.ExtraExtensions = []pkix.Extension{
+//             pkix.Extension{
+//                 Id:    asn1.ObjectIdentifier([]int{2, 16, 840, 1, 113730, 1, 1}),
+//                 Value: []byte{0x03, 0x02, 2, 0x04},
+//             },
+//         }
+//     } else {
+//         interTemplate.KeyUsage = x509.KeyUsageCertSign
+//     }
+
+//     interKey, _ := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
+
+//     interDER, err := x509.CreateCertificate(rand.Reader, interTemplate, root, &interKey.PublicKey, rootPriv)
+//     if err != nil {
+//         panic(err)
+//     }
+
+//     pem.Encode(os.Stdout, &pem.Block{Type: "CERTIFICATE", Bytes: interDER})
+
+//     inter, _ := x509.ParseCertificate(interDER)
+
+//     leafTemplate := &x509.Certificate{
+//         SerialNumber: big.NewInt(3),
+//         Subject: pkix.Name{
+//             CommonName: "Leaf from CA with no Basic Constraints",
+//         },
+//         NotBefore:             time.Date(2000, time.January, 1, 0, 0, 0, 0, time.UTC),
+//         NotAfter:              time.Date(2099, time.January, 1, 0, 0, 0, 0, time.UTC),
+//         BasicConstraintsValid: true,
+//     }
+//     leafKey, _ := ecdsa.GenerateKey(elliptic.P256(), rand.Reader)
+
+//     leafDER, err := x509.CreateCertificate(rand.Reader, leafTemplate, inter, &leafKey.PublicKey, interKey)
+//     if err != nil {
+//         panic(err)
+//     }
+
+//     pem.Encode(os.Stdout, &pem.Block{Type: "CERTIFICATE", Bytes: leafDER})
+// }
+
+// kNoBasicConstraintsCertSignIntermediate doesn't have isCA set, but contains
+// certSign in the keyUsage.
+static const char kNoBasicConstraintsCertSignIntermediate[] =
+    "-----BEGIN CERTIFICATE-----\n"
+    "MIIBqjCCAROgAwIBAgIBAjANBgkqhkiG9w0BAQsFADArMRcwFQYDVQQKEw5Cb3Jp\n"
+    "bmdTU0wgVGVzdDEQMA4GA1UEAxMHUm9vdCBDQTAgFw0wMDAxMDEwMDAwMDBaGA8y\n"
+    "MDk5MDEwMTAwMDAwMFowHzEdMBsGA1UEAxMUTm8gQmFzaWMgQ29uc3RyYWludHMw\n"
+    "WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASEFMblfxIEDO8My7wHtHWTuDzNyID1\n"
+    "OsPkMGkn32O/pSyXxXuAqDeFoMVffUMTyfm8JcYugSEbrv2qEXXM4bZRoy8wLTAO\n"
+    "BgNVHQ8BAf8EBAMCAgQwGwYDVR0jBBQwEoAQQDfXAftAL7gcflQEJ4xZATANBgkq\n"
+    "hkiG9w0BAQsFAAOBgQC1Lh6hIAm3K5kRh5iIydU0YAEm7eV6ZSskERDUq3DLJyl9\n"
+    "ZUZCHUzvb464dkwZjeNzaUVS1pdElJslwX3DtGgeJLJGCnk8zUjBjaNrrDm0kzPW\n"
+    "xKt/6oif1ci/KCKqKNXJAIFbc4e+IiBpenwpxHk3If4NM+Ek0nKoO8Uj0NkgTQ==\n"
+    "-----END CERTIFICATE-----\n";
+
+static const char kNoBasicConstraintsCertSignLeaf[] =
+    "-----BEGIN CERTIFICATE-----\n"
+    "MIIBUDCB96ADAgECAgEDMAoGCCqGSM49BAMCMB8xHTAbBgNVBAMTFE5vIEJhc2lj\n"
+    "IENvbnN0cmFpbnRzMCAXDTAwMDEwMTAwMDAwMFoYDzIwOTkwMTAxMDAwMDAwWjAx\n"
+    "MS8wLQYDVQQDEyZMZWFmIGZyb20gQ0Egd2l0aCBubyBCYXNpYyBDb25zdHJhaW50\n"
+    "czBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABEsYPMwzdJKjB+2gpC90ib2ilHoB\n"
+    "w/arQ6ikUX0CNUDDaKaOu/jF39ogzVlg4lDFrjCKShSfCCcrwgONv70IZGijEDAO\n"
+    "MAwGA1UdEwEB/wQCMAAwCgYIKoZIzj0EAwIDSAAwRQIgbV7R99yM+okXSIs6Fp3o\n"
+    "eCOXiDL60IBxaTOcLS44ywcCIQDbn87Gj5cFgHBYAkzdHqDsyGXkxQTHDq9jmX24\n"
+    "Djy3Zw==\n"
+    "-----END CERTIFICATE-----\n";
+
+// kNoBasicConstraintsNetscapeCAIntermediate doesn't have isCA set, but contains
+// a Netscape certificate-type extension that asserts a type of "SSL CA".
+static const char kNoBasicConstraintsNetscapeCAIntermediate[] =
+    "-----BEGIN CERTIFICATE-----\n"
+    "MIIBuDCCASGgAwIBAgIBAjANBgkqhkiG9w0BAQsFADArMRcwFQYDVQQKEw5Cb3Jp\n"
+    "bmdTU0wgVGVzdDEQMA4GA1UEAxMHUm9vdCBDQTAgFw0wMDAxMDEwMDAwMDBaGA8y\n"
+    "MDk5MDEwMTAwMDAwMFowKjEoMCYGA1UEAxMfTm8gQmFzaWMgQ29uc3RyYWludHMg\n"
+    "KE5ldHNjYXBlKTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCeMbmCaOtMzXBqi\n"
+    "PrCdNOH23CkaawUA+pAezitAN4RXS1O2CGK5sJjGPVVeogROU8G7/b+mU+ciZIzH\n"
+    "1PP8FJKjMjAwMBsGA1UdIwQUMBKAEEA31wH7QC+4HH5UBCeMWQEwEQYJYIZIAYb4\n"
+    "QgEBBAQDAgIEMA0GCSqGSIb3DQEBCwUAA4GBAAgNWjh7cfBTClTAk+Ml//5xb9Ju\n"
+    "tkBhG6Rm+kkMD+qiSMO6t7xS7CsA0+jIBjkdEYaLZ3oxtQCBdZsVNxUvRxZ0AUfF\n"
+    "G3DtRFTsrI1f7IQhpMuqEMF4shPW+5x54hrq0Fo6xMs6XoinJZcTUaaB8EeXRF6M\n"
+    "P9p6HuyLrmn0c/F0\n"
+    "-----END CERTIFICATE-----\n";
+
+static const char kNoBasicConstraintsNetscapeCALeaf[] =
+    "-----BEGIN CERTIFICATE-----\n"
+    "MIIBXDCCAQKgAwIBAgIBAzAKBggqhkjOPQQDAjAqMSgwJgYDVQQDEx9ObyBCYXNp\n"
+    "YyBDb25zdHJhaW50cyAoTmV0c2NhcGUpMCAXDTAwMDEwMTAwMDAwMFoYDzIwOTkw\n"
+    "MTAxMDAwMDAwWjAxMS8wLQYDVQQDEyZMZWFmIGZyb20gQ0Egd2l0aCBubyBCYXNp\n"
+    "YyBDb25zdHJhaW50czBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDlJKolDu3R2\n"
+    "tPqSDycr0QJcWhxdBv76V0EEVflcHRxED6vAioTEcnQszt1OfKtBZvjlo0yp6i6Q\n"
+    "DaYit0ZInmWjEDAOMAwGA1UdEwEB/wQCMAAwCgYIKoZIzj0EAwIDSAAwRQIhAJsh\n"
+    "aZL6BHeEfoUBj1oZ2Ln91qzj3UCVMJ+vrmwAFdYyAiA3wp2JphgchvmoUFuzPXwj\n"
+    "XyPwWPbymSTpzKhB4xB7qQ==\n"
+    "-----END CERTIFICATE-----\n";
 
 // CertFromPEM parses the given, NUL-terminated pem block and returns an
 // |X509*|.
@@ -529,10 +661,9 @@
     return nullptr;
   }
   for (auto cert : certs) {
-    if (!sk_X509_push(stack.get(), cert)) {
+    if (!bssl::PushToStack(stack.get(), bssl::UpRef(cert))) {
       return nullptr;
     }
-    X509_up_ref(cert);
   }
 
   return stack;
@@ -547,10 +678,9 @@
     return nullptr;
   }
   for (auto crl : crls) {
-    if (!sk_X509_CRL_push(stack.get(), crl)) {
+    if (!bssl::PushToStack(stack.get(), bssl::UpRef(crl))) {
       return nullptr;
     }
-    X509_CRL_up_ref(crl);
   }
 
   return stack;
@@ -709,7 +839,7 @@
 
   std::vector<X509_CRL *> empty_crls;
 
-  struct Test {
+  struct X509Test {
     const char *correct_value;
     size_t correct_value_len;
     const char *incorrect_value;
@@ -717,7 +847,7 @@
     int (*func)(X509_VERIFY_PARAM *, const char *, size_t);
     int mismatch_error;
   };
-  const std::vector<Test> kTests = {
+  const std::vector<X509Test> kTests = {
       {kHostname, strlen(kHostname), kWrongHostname, strlen(kWrongHostname),
        X509_VERIFY_PARAM_set1_host, X509_V_ERR_HOSTNAME_MISMATCH},
       {kEmail, strlen(kEmail), kWrongEmail, strlen(kWrongEmail),
@@ -726,7 +856,7 @@
 
   for (size_t i = 0; i < kTests.size(); i++) {
     SCOPED_TRACE(i);
-    const Test &test = kTests[i];
+    const X509Test &test = kTests[i];
 
     // The correct value should work.
     ASSERT_EQ(X509_V_OK,
@@ -1259,3 +1389,118 @@
     }
   }
 }
+
+TEST(X509Test, X509NameSet) {
+  bssl::UniquePtr<X509_NAME> name(X509_NAME_new());
+  EXPECT_TRUE(X509_NAME_add_entry_by_txt(
+      name.get(), "C", MBSTRING_ASC, reinterpret_cast<const uint8_t *>("US"),
+      -1, -1, 0));
+  EXPECT_EQ(X509_NAME_entry_count(name.get()), 1);
+  EXPECT_TRUE(X509_NAME_add_entry_by_txt(
+      name.get(), "C", MBSTRING_ASC, reinterpret_cast<const uint8_t *>("CA"),
+      -1, -1, 0));
+  EXPECT_EQ(X509_NAME_entry_count(name.get()), 2);
+  EXPECT_TRUE(X509_NAME_add_entry_by_txt(
+      name.get(), "C", MBSTRING_ASC, reinterpret_cast<const uint8_t *>("UK"),
+      -1, -1, 0));
+  EXPECT_EQ(X509_NAME_entry_count(name.get()), 3);
+  EXPECT_TRUE(X509_NAME_add_entry_by_txt(
+      name.get(), "C", MBSTRING_ASC, reinterpret_cast<const uint8_t *>("JP"),
+      -1, 1, 0));
+  EXPECT_EQ(X509_NAME_entry_count(name.get()), 4);
+
+  // Check that the correct entries get incremented when inserting new entry.
+  EXPECT_EQ(X509_NAME_ENTRY_set(X509_NAME_get_entry(name.get(), 1)), 1);
+  EXPECT_EQ(X509_NAME_ENTRY_set(X509_NAME_get_entry(name.get(), 2)), 2);
+}
+
+TEST(X509Test, StringDecoding) {
+  static const struct {
+    std::vector<uint8_t> in;
+    int type;
+    const char *expected;
+  } kTests[] = {
+      // Non-minimal, two-byte UTF-8.
+      {{0xc0, 0x81}, V_ASN1_UTF8STRING, nullptr},
+      // Non-minimal, three-byte UTF-8.
+      {{0xe0, 0x80, 0x81}, V_ASN1_UTF8STRING, nullptr},
+      // Non-minimal, four-byte UTF-8.
+      {{0xf0, 0x80, 0x80, 0x81}, V_ASN1_UTF8STRING, nullptr},
+      // Truncated, four-byte UTF-8.
+      {{0xf0, 0x80, 0x80}, V_ASN1_UTF8STRING, nullptr},
+      // Low-surrogate value.
+      {{0xed, 0xa0, 0x80}, V_ASN1_UTF8STRING, nullptr},
+      // High-surrogate value.
+      {{0xed, 0xb0, 0x81}, V_ASN1_UTF8STRING, nullptr},
+      // Initial BOMs should be rejected from UCS-2 and UCS-4.
+      {{0xfe, 0xff, 0, 88}, V_ASN1_BMPSTRING, nullptr},
+      {{0, 0, 0xfe, 0xff, 0, 0, 0, 88}, V_ASN1_UNIVERSALSTRING, nullptr},
+      // Otherwise, BOMs should pass through.
+      {{0, 88, 0xfe, 0xff}, V_ASN1_BMPSTRING, "X\xef\xbb\xbf"},
+      {{0, 0, 0, 88, 0, 0, 0xfe, 0xff}, V_ASN1_UNIVERSALSTRING,
+       "X\xef\xbb\xbf"},
+      // The maximum code-point should pass though.
+      {{0, 16, 0xff, 0xfd}, V_ASN1_UNIVERSALSTRING, "\xf4\x8f\xbf\xbd"},
+      // Values outside the Unicode space should not.
+      {{0, 17, 0, 0}, V_ASN1_UNIVERSALSTRING, nullptr},
+      // Non-characters should be rejected.
+      {{0, 1, 0xff, 0xff}, V_ASN1_UNIVERSALSTRING, nullptr},
+      {{0, 1, 0xff, 0xfe}, V_ASN1_UNIVERSALSTRING, nullptr},
+      {{0, 0, 0xfd, 0xd5}, V_ASN1_UNIVERSALSTRING, nullptr},
+      // BMPString is UCS-2, not UTF-16, so surrogate pairs are invalid.
+      {{0xd8, 0, 0xdc, 1}, V_ASN1_BMPSTRING, nullptr},
+  };
+
+  for (size_t i = 0; i < OPENSSL_ARRAY_SIZE(kTests); i++) {
+    SCOPED_TRACE(i);
+    const auto& test = kTests[i];
+    ASN1_STRING s;
+    s.type = test.type;
+    s.data = const_cast<uint8_t*>(test.in.data());
+    s.length = test.in.size();
+
+    uint8_t *utf8;
+    const int utf8_len = ASN1_STRING_to_UTF8(&utf8, &s);
+    EXPECT_EQ(utf8_len < 0, test.expected == nullptr);
+    if (utf8_len >= 0) {
+      if (test.expected != nullptr) {
+        EXPECT_EQ(Bytes(test.expected), Bytes(utf8, utf8_len));
+      }
+      OPENSSL_free(utf8);
+    } else {
+      ERR_clear_error();
+    }
+  }
+}
+
+TEST(X509Test, NoBasicConstraintsCertSign) {
+  bssl::UniquePtr<X509> root(CertFromPEM(kSANTypesRoot));
+  bssl::UniquePtr<X509> intermediate(
+      CertFromPEM(kNoBasicConstraintsCertSignIntermediate));
+  bssl::UniquePtr<X509> leaf(CertFromPEM(kNoBasicConstraintsCertSignLeaf));
+
+  ASSERT_TRUE(root);
+  ASSERT_TRUE(intermediate);
+  ASSERT_TRUE(leaf);
+
+  // The intermediate has keyUsage certSign, but is not marked as a CA in the
+  // basicConstraints.
+  EXPECT_EQ(X509_V_ERR_INVALID_CA,
+            Verify(leaf.get(), {root.get()}, {intermediate.get()}, {}, 0));
+}
+
+TEST(X509Test, NoBasicConstraintsNetscapeCA) {
+  bssl::UniquePtr<X509> root(CertFromPEM(kSANTypesRoot));
+  bssl::UniquePtr<X509> intermediate(
+      CertFromPEM(kNoBasicConstraintsNetscapeCAIntermediate));
+  bssl::UniquePtr<X509> leaf(CertFromPEM(kNoBasicConstraintsNetscapeCALeaf));
+
+  ASSERT_TRUE(root);
+  ASSERT_TRUE(intermediate);
+  ASSERT_TRUE(leaf);
+
+  // The intermediate has a Netscape certificate type of "SSL CA", but is not
+  // marked as a CA in the basicConstraints.
+  EXPECT_EQ(X509_V_ERR_INVALID_CA,
+            Verify(leaf.get(), {root.get()}, {intermediate.get()}, {}, 0));
+}
diff --git a/src/crypto/x509/x509_time_test.cc b/src/crypto/x509/x509_time_test.cc
new file mode 100644
index 0000000..fcd51c8
--- /dev/null
+++ b/src/crypto/x509/x509_time_test.cc
@@ -0,0 +1,240 @@
+/*
+ * Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+// Tests for X509 time functions.
+
+#include <openssl/x509.h>
+
+#include <string.h>
+#include <time.h>
+
+#include <gtest/gtest.h>
+#include <openssl/asn1.h>
+
+struct TestData {
+  const char *data;
+  int type;
+  time_t cmp_time;
+  // -1 if asn1_time <= cmp_time, 1 if asn1_time > cmp_time, 0 if error.
+  int expected;
+};
+
+static TestData kX509CmpTests[] = {
+    {
+        "20170217180154Z",
+        V_ASN1_GENERALIZEDTIME,
+        // The same in seconds since epoch.
+        1487354514,
+        -1,
+    },
+    {
+        "20170217180154Z",
+        V_ASN1_GENERALIZEDTIME,
+        // One second more.
+        1487354515,
+        -1,
+    },
+    {
+        "20170217180154Z",
+        V_ASN1_GENERALIZEDTIME,
+        // One second less.
+        1487354513,
+        1,
+    },
+    // Same as UTC time.
+    {
+        "170217180154Z",
+        V_ASN1_UTCTIME,
+        // The same in seconds since epoch.
+        1487354514,
+        -1,
+    },
+    {
+        "170217180154Z",
+        V_ASN1_UTCTIME,
+        // One second more.
+        1487354515,
+        -1,
+    },
+    {
+        "170217180154Z",
+        V_ASN1_UTCTIME,
+        // One second less.
+        1487354513,
+        1,
+    },
+    // UTCTime from the 20th century.
+    {
+        "990217180154Z",
+        V_ASN1_UTCTIME,
+        // The same in seconds since epoch.
+        919274514,
+        -1,
+    },
+    {
+        "990217180154Z",
+        V_ASN1_UTCTIME,
+        // One second more.
+        919274515,
+        -1,
+    },
+    {
+        "990217180154Z",
+        V_ASN1_UTCTIME,
+        // One second less.
+        919274513,
+        1,
+    },
+    // Various invalid formats.
+    {
+        // No trailing Z.
+        "20170217180154",
+        V_ASN1_GENERALIZEDTIME,
+        0,
+        0,
+    },
+    {
+        // No trailing Z, UTCTime.
+        "170217180154",
+        V_ASN1_UTCTIME,
+        0,
+        0,
+    },
+    {
+        // No seconds.
+        "201702171801Z",
+        V_ASN1_GENERALIZEDTIME,
+        0,
+        0,
+    },
+    {
+        // No seconds, UTCTime.
+        "1702171801Z",
+        V_ASN1_UTCTIME,
+        0,
+        0,
+    },
+    {
+        // Fractional seconds.
+        "20170217180154.001Z",
+        V_ASN1_GENERALIZEDTIME,
+        0,
+        0,
+    },
+    {
+        // Fractional seconds, UTCTime.
+        "170217180154.001Z",
+        V_ASN1_UTCTIME,
+        0,
+        0,
+    },
+    {
+        // Timezone offset.
+        "20170217180154+0100",
+        V_ASN1_GENERALIZEDTIME,
+        0,
+        0,
+    },
+    {
+        // Timezone offset, UTCTime.
+        "170217180154+0100",
+        V_ASN1_UTCTIME,
+        0,
+        0,
+    },
+    {
+        // Extra digits.
+        "2017021718015400Z",
+        V_ASN1_GENERALIZEDTIME,
+        0,
+        0,
+    },
+    {
+        // Extra digits, UTCTime.
+        "17021718015400Z",
+        V_ASN1_UTCTIME,
+        0,
+        0,
+    },
+    {
+        // Non-digits.
+        "2017021718015aZ",
+        V_ASN1_GENERALIZEDTIME,
+        0,
+        0,
+    },
+    {
+        // Non-digits, UTCTime.
+        "17021718015aZ",
+        V_ASN1_UTCTIME,
+        0,
+        0,
+    },
+    {
+        // Trailing garbage.
+        "20170217180154Zlongtrailinggarbage",
+        V_ASN1_GENERALIZEDTIME,
+        0,
+        0,
+    },
+    {
+        // Trailing garbage, UTCTime.
+        "170217180154Zlongtrailinggarbage",
+        V_ASN1_UTCTIME,
+        0,
+        0,
+    },
+    {
+        // Swapped type.
+        "20170217180154Z",
+        V_ASN1_UTCTIME,
+        0,
+        0,
+    },
+    {
+        // Swapped type.
+        "170217180154Z",
+        V_ASN1_GENERALIZEDTIME,
+        0,
+        0,
+    },
+    {
+        // Bad type.
+        "20170217180154Z",
+        V_ASN1_OCTET_STRING,
+        0,
+        0,
+    },
+};
+
+TEST(X509TimeTest, TestCmpTime) {
+  for (auto &test : kX509CmpTests) {
+    SCOPED_TRACE(test.data);
+
+    ASN1_TIME t;
+
+    memset(&t, 0, sizeof(t));
+    t.type = test.type;
+    t.data = (unsigned char*) test.data;
+    t.length = strlen(test.data);
+
+    EXPECT_EQ(test.expected,
+              X509_cmp_time(&t, &test.cmp_time));
+  }
+}
+
+TEST(X509TimeTest, TestCmpTimeCurrent) {
+  time_t now = time(NULL);
+  // Pick a day earlier and later, relative to any system clock.
+  bssl::UniquePtr<ASN1_TIME> asn1_before(ASN1_TIME_adj(NULL, now, -1, 0));
+  bssl::UniquePtr<ASN1_TIME> asn1_after(ASN1_TIME_adj(NULL, now, 1, 0));
+
+  ASSERT_EQ(-1, X509_cmp_time(asn1_before.get(), NULL));
+  ASSERT_EQ(1, X509_cmp_time(asn1_after.get(), NULL));
+}
diff --git a/src/crypto/x509/x509_vfy.c b/src/crypto/x509/x509_vfy.c
index 2b754f0..5af3fb3 100644
--- a/src/crypto/x509/x509_vfy.c
+++ b/src/crypto/x509/x509_vfy.c
@@ -54,6 +54,7 @@
  * copied and put under another distribution licence
  * [including the GNU Public Licence.] */
 
+#include <ctype.h>
 #include <string.h>
 #include <time.h>
 
@@ -578,7 +579,7 @@
 
 static int check_chain_extensions(X509_STORE_CTX *ctx)
 {
-    int i, ok = 0, must_be_ca, plen = 0;
+    int i, ok = 0, plen = 0;
     X509 *x;
     int (*cb) (int xok, X509_STORE_CTX *xctx);
     int proxy_path_length = 0;
@@ -586,15 +587,13 @@
     int allow_proxy_certs;
     cb = ctx->verify_cb;
 
-    /*
-     * must_be_ca can have 1 of 3 values: -1: we accept both CA and non-CA
-     * certificates, to allow direct use of self-signed certificates (which
-     * are marked as CA). 0: we only accept non-CA certificates.  This is
-     * currently not used, but the possibility is present for future
-     * extensions. 1: we only accept CA certificates.  This is currently used
-     * for all certificates in the chain except the leaf certificate.
-     */
-    must_be_ca = -1;
+    enum {
+        // ca_or_leaf allows either type of certificate so that direct use of
+        // self-signed certificates works.
+        ca_or_leaf,
+        must_be_ca,
+        must_not_be_ca,
+    } ca_requirement;
 
     /* CRL path validation */
     if (ctx->parent) {
@@ -606,6 +605,8 @@
         purpose = ctx->param->purpose;
     }
 
+    ca_requirement = ca_or_leaf;
+
     /* Check all untrusted certificates */
     for (i = 0; i < ctx->last_untrusted; i++) {
         int ret;
@@ -627,33 +628,30 @@
             if (!ok)
                 goto end;
         }
-        ret = X509_check_ca(x);
-        switch (must_be_ca) {
-        case -1:
-            if ((ctx->param->flags & X509_V_FLAG_X509_STRICT)
-                && (ret != 1) && (ret != 0)) {
-                ret = 0;
-                ctx->error = X509_V_ERR_INVALID_CA;
-            } else
-                ret = 1;
+
+        switch (ca_requirement) {
+        case ca_or_leaf:
+            ret = 1;
             break;
-        case 0:
-            if (ret != 0) {
+        case must_not_be_ca:
+            if (X509_check_ca(x)) {
                 ret = 0;
                 ctx->error = X509_V_ERR_INVALID_NON_CA;
             } else
                 ret = 1;
             break;
-        default:
-            if ((ret == 0)
-                || ((ctx->param->flags & X509_V_FLAG_X509_STRICT)
-                    && (ret != 1))) {
+        case must_be_ca:
+            if (!X509_check_ca(x)) {
                 ret = 0;
                 ctx->error = X509_V_ERR_INVALID_CA;
             } else
                 ret = 1;
             break;
+        default:
+            // impossible.
+            ret = 0;
         }
+
         if (ret == 0) {
             ctx->error_depth = i;
             ctx->current_cert = x;
@@ -662,10 +660,9 @@
                 goto end;
         }
         if (ctx->param->purpose > 0) {
-            ret = X509_check_purpose(x, purpose, must_be_ca > 0);
-            if ((ret == 0)
-                || ((ctx->param->flags & X509_V_FLAG_X509_STRICT)
-                    && (ret != 1))) {
+            ret = X509_check_purpose(x, purpose, ca_requirement == must_be_ca);
+            if (ret != 1) {
+                ret = 0;
                 ctx->error = X509_V_ERR_INVALID_PURPOSE;
                 ctx->error_depth = i;
                 ctx->current_cert = x;
@@ -703,9 +700,10 @@
                     goto end;
             }
             proxy_path_length++;
-            must_be_ca = 0;
-        } else
-            must_be_ca = 1;
+            ca_requirement = must_not_be_ca;
+        } else {
+            ca_requirement = must_be_ca;
+        }
     }
     ok = 1;
  end:
@@ -1839,122 +1837,67 @@
 
 int X509_cmp_time(const ASN1_TIME *ctm, time_t *cmp_time)
 {
-    char *str;
-    ASN1_TIME atm;
-    long offset;
-    char buff1[24], buff2[24], *p;
-    int i, j, remaining;
+    static const size_t utctime_length = sizeof("YYMMDDHHMMSSZ") - 1;
+    static const size_t generalizedtime_length = sizeof("YYYYMMDDHHMMSSZ") - 1;
+    ASN1_TIME *asn1_cmp_time = NULL;
+    int i, day, sec, ret = 0;
 
-    p = buff1;
-    remaining = ctm->length;
-    str = (char *)ctm->data;
     /*
-     * Note that the following (historical) code allows much more slack in
-     * the time format than RFC5280. In RFC5280, the representation is fixed:
-     * UTCTime: YYMMDDHHMMSSZ GeneralizedTime: YYYYMMDDHHMMSSZ
+     * Note that ASN.1 allows much more slack in the time format than RFC5280.
+     * In RFC5280, the representation is fixed:
+     * UTCTime: YYMMDDHHMMSSZ
+     * GeneralizedTime: YYYYMMDDHHMMSSZ
+     *
+     * We do NOT currently enforce the following RFC 5280 requirement:
+     * "CAs conforming to this profile MUST always encode certificate
+     *  validity dates through the year 2049 as UTCTime; certificate validity
+     *  dates in 2050 or later MUST be encoded as GeneralizedTime."
      */
-    if (ctm->type == V_ASN1_UTCTIME) {
-        /* YYMMDDHHMM[SS]Z or YYMMDDHHMM[SS](+-)hhmm */
-        int min_length = sizeof("YYMMDDHHMMZ") - 1;
-        int max_length = sizeof("YYMMDDHHMMSS+hhmm") - 1;
-        if (remaining < min_length || remaining > max_length)
+    switch (ctm->type) {
+    case V_ASN1_UTCTIME:
+        if (ctm->length != (int)(utctime_length))
             return 0;
-        OPENSSL_memcpy(p, str, 10);
-        p += 10;
-        str += 10;
-        remaining -= 10;
-    } else {
-        /*
-         * YYYYMMDDHHMM[SS[.fff]]Z or YYYYMMDDHHMM[SS[.f[f[f]]]](+-)hhmm
-         */
-        int min_length = sizeof("YYYYMMDDHHMMZ") - 1;
-        int max_length = sizeof("YYYYMMDDHHMMSS.fff+hhmm") - 1;
-        if (remaining < min_length || remaining > max_length)
+        break;
+    case V_ASN1_GENERALIZEDTIME:
+        if (ctm->length != (int)(generalizedtime_length))
             return 0;
-        OPENSSL_memcpy(p, str, 12);
-        p += 12;
-        str += 12;
-        remaining -= 12;
-    }
-
-    if ((*str == 'Z') || (*str == '-') || (*str == '+')) {
-        *(p++) = '0';
-        *(p++) = '0';
-    } else {
-        /* SS (seconds) */
-        if (remaining < 2)
-            return 0;
-        *(p++) = *(str++);
-        *(p++) = *(str++);
-        remaining -= 2;
-        /*
-         * Skip any (up to three) fractional seconds... TODO(emilia): in
-         * RFC5280, fractional seconds are forbidden. Can we just kill them
-         * altogether?
-         */
-        if (remaining && *str == '.') {
-            str++;
-            remaining--;
-            for (i = 0; i < 3 && remaining; i++, str++, remaining--) {
-                if (*str < '0' || *str > '9')
-                    break;
-            }
-        }
-
-    }
-    *(p++) = 'Z';
-    *(p++) = '\0';
-
-    /* We now need either a terminating 'Z' or an offset. */
-    if (!remaining)
+        break;
+    default:
         return 0;
-    if (*str == 'Z') {
-        if (remaining != 1)
-            return 0;
-        offset = 0;
-    } else {
-        /* (+-)HHMM */
-        if ((*str != '+') && (*str != '-'))
-            return 0;
-        /*
-         * Historical behaviour: the (+-)hhmm offset is forbidden in RFC5280.
-         */
-        if (remaining != 5)
-            return 0;
-        if (str[1] < '0' || str[1] > '9' || str[2] < '0' || str[2] > '9' ||
-            str[3] < '0' || str[3] > '9' || str[4] < '0' || str[4] > '9')
-            return 0;
-        offset = ((str[1] - '0') * 10 + (str[2] - '0')) * 60;
-        offset += (str[3] - '0') * 10 + (str[4] - '0');
-        if (*str == '-')
-            offset = -offset;
     }
-    atm.type = ctm->type;
-    atm.flags = 0;
-    atm.length = sizeof(buff2);
-    atm.data = (unsigned char *)buff2;
 
-    if (X509_time_adj(&atm, offset * 60, cmp_time) == NULL)
+    /**
+     * Verify the format: the ASN.1 functions we use below allow a more
+     * flexible format than what's mandated by RFC 5280.
+     * Digit and date ranges will be verified in the conversion methods.
+     */
+    for (i = 0; i < ctm->length - 1; i++) {
+        if (!isdigit(ctm->data[i]))
+            return 0;
+    }
+    if (ctm->data[ctm->length - 1] != 'Z')
         return 0;
 
-    if (ctm->type == V_ASN1_UTCTIME) {
-        i = (buff1[0] - '0') * 10 + (buff1[1] - '0');
-        if (i < 50)
-            i += 100;           /* cf. RFC 2459 */
-        j = (buff2[0] - '0') * 10 + (buff2[1] - '0');
-        if (j < 50)
-            j += 100;
+    /*
+     * There is ASN1_UTCTIME_cmp_time_t but no
+     * ASN1_GENERALIZEDTIME_cmp_time_t or ASN1_TIME_cmp_time_t,
+     * so we go through ASN.1
+     */
+    asn1_cmp_time = X509_time_adj(NULL, 0, cmp_time);
+    if (asn1_cmp_time == NULL)
+        goto err;
+    if (!ASN1_TIME_diff(&day, &sec, ctm, asn1_cmp_time))
+        goto err;
 
-        if (i < j)
-            return -1;
-        if (i > j)
-            return 1;
-    }
-    i = strcmp(buff1, buff2);
-    if (i == 0)                 /* wait a second then return younger :-) */
-        return -1;
-    else
-        return i;
+    /*
+     * X509_cmp_time comparison is <=.
+     * The return value 0 is reserved for errors.
+     */
+    ret = (day >= 0 && sec >= 0) ? -1 : 1;
+
+ err:
+    ASN1_TIME_free(asn1_cmp_time);
+    return ret;
 }
 
 ASN1_TIME *X509_gmtime_adj(ASN1_TIME *s, long adj)
@@ -2434,6 +2377,11 @@
     X509_VERIFY_PARAM_set_time(ctx->param, t);
 }
 
+X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx)
+{
+    return ctx->cert;
+}
+
 void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx,
                                   int (*verify_cb) (int, X509_STORE_CTX *))
 {
diff --git a/src/crypto/x509/x509cset.c b/src/crypto/x509/x509cset.c
index 2fd48a9..fe269cd 100644
--- a/src/crypto/x509/x509cset.c
+++ b/src/crypto/x509/x509cset.c
@@ -135,6 +135,25 @@
     return 1;
 }
 
+void X509_CRL_get0_signature(const X509_CRL *crl, const ASN1_BIT_STRING **psig,
+                             const X509_ALGOR **palg)
+{
+    if (psig != NULL)
+        *psig = crl->signature;
+    if (palg != NULL)
+        *palg = crl->sig_alg;
+}
+
+int X509_CRL_get_signature_nid(const X509_CRL *crl)
+{
+    return OBJ_obj2nid(crl->sig_alg->algorithm);
+}
+
+const ASN1_TIME *X509_REVOKED_get0_revocationDate(const X509_REVOKED *x)
+{
+    return x->revocationDate;
+}
+
 int X509_REVOKED_set_revocationDate(X509_REVOKED *x, ASN1_TIME *tm)
 {
     ASN1_TIME *in;
@@ -152,6 +171,11 @@
     return (in != NULL);
 }
 
+const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(const X509_REVOKED *x)
+{
+    return x->serialNumber;
+}
+
 int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial)
 {
     ASN1_INTEGER *in;
@@ -168,3 +192,9 @@
     }
     return (in != NULL);
 }
+
+int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp)
+{
+    crl->crl->enc.modified = 1;
+    return i2d_X509_CRL_INFO(crl->crl, pp);
+}
diff --git a/src/crypto/x509/x509name.c b/src/crypto/x509/x509name.c
index 610de5f..fa621f2 100644
--- a/src/crypto/x509/x509name.c
+++ b/src/crypto/x509/x509name.c
@@ -238,6 +238,7 @@
     else if (loc < 0)
         loc = n;
 
+    inc = (set == 0);
     name->modified = 1;
 
     if (set == -1) {
@@ -246,7 +247,6 @@
             inc = 1;
         } else {
             set = sk_X509_NAME_ENTRY_value(sk, loc - 1)->set;
-            inc = 0;
         }
     } else {                    /* if (set >= 0) */
 
@@ -257,7 +257,6 @@
                 set = 0;
         } else
             set = sk_X509_NAME_ENTRY_value(sk, loc)->set;
-        inc = (set == 0) ? 1 : 0;
     }
 
     if ((new_name = X509_NAME_ENTRY_dup(ne)) == NULL)
@@ -270,7 +269,7 @@
     if (inc) {
         n = sk_X509_NAME_ENTRY_num(sk);
         for (i = loc + 1; i < n; i++)
-            sk_X509_NAME_ENTRY_value(sk, i - 1)->set += 1;
+            sk_X509_NAME_ENTRY_value(sk, i)->set += 1;
     }
     return (1);
  err:
diff --git a/src/crypto/x509/x_all.c b/src/crypto/x509/x_all.c
index c430a7d..2a93b87 100644
--- a/src/crypto/x509/x_all.c
+++ b/src/crypto/x509/x_all.c
@@ -499,3 +499,13 @@
 {
     return ASN1_d2i_bio_of(EVP_PKEY, EVP_PKEY_new, d2i_PUBKEY, bp, a);
 }
+
+DH *d2i_DHparams_bio(BIO *bp, DH **dh)
+{
+    return ASN1_d2i_bio_of(DH, DH_new, d2i_DHparams, bp, dh);
+}
+
+int i2d_DHparams_bio(BIO *bp, const DH *dh)
+{
+    return ASN1_i2d_bio_of_const(DH, i2d_DHparams, bp, dh);
+}
diff --git a/src/crypto/x509/x_x509.c b/src/crypto/x509/x_x509.c
index 01464a1..9ece062 100644
--- a/src/crypto/x509/x_x509.c
+++ b/src/crypto/x509/x_x509.c
@@ -313,6 +313,12 @@
     return length;
 }
 
+int i2d_re_X509_tbs(X509 *x, unsigned char **pp)
+{
+    x->cert_info->enc.modified = 1;
+    return i2d_X509_CINF(x->cert_info, pp);
+}
+
 void X509_get0_signature(const ASN1_BIT_STRING **psig, const X509_ALGOR **palg,
                          const X509 *x)
 {
diff --git a/src/crypto/x509v3/CMakeLists.txt b/src/crypto/x509v3/CMakeLists.txt
index b2eb618..6119639 100644
--- a/src/crypto/x509v3/CMakeLists.txt
+++ b/src/crypto/x509v3/CMakeLists.txt
@@ -31,6 +31,7 @@
   v3_int.c
   v3_lib.c
   v3_ncons.c
+  v3_ocsp.c
   v3_pci.c
   v3_pcia.c
   v3_pcons.c
diff --git a/src/crypto/x509v3/ext_dat.h b/src/crypto/x509v3/ext_dat.h
index 78fa793..a6ca45b 100644
--- a/src/crypto/x509v3/ext_dat.h
+++ b/src/crypto/x509v3/ext_dat.h
@@ -107,19 +107,17 @@
     &v3_ext_ku,
     &v3_delta_crl,
     &v3_crl_reason,
-#ifndef OPENSSL_NO_OCSP
     &v3_crl_invdate,
-#endif
     &v3_sxnet,
     &v3_info,
 #ifndef OPENSSL_NO_OCSP
     &v3_ocsp_nonce,
     &v3_ocsp_crlid,
     &v3_ocsp_accresp,
-    &v3_ocsp_nocheck,
     &v3_ocsp_acutoff,
     &v3_ocsp_serviceloc,
 #endif
+    &v3_ocsp_nocheck,
     &v3_sinfo,
     &v3_policy_constraints,
 #ifndef OPENSSL_NO_OCSP
diff --git a/src/crypto/x509v3/v3_ocsp.c b/src/crypto/x509v3/v3_ocsp.c
new file mode 100644
index 0000000..c63646a
--- /dev/null
+++ b/src/crypto/x509v3/v3_ocsp.c
@@ -0,0 +1,68 @@
+/*
+ * Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
+ *
+ * Licensed under the OpenSSL license (the "License").  You may not use
+ * this file except in compliance with the License.  You can obtain a copy
+ * in the file LICENSE in the source distribution or at
+ * https://www.openssl.org/source/license.html
+ */
+
+#include <openssl/x509v3.h>
+
+#include <openssl/asn1.h>
+#include <openssl/bio.h>
+#include <openssl/nid.h>
+
+/*
+ * OCSP extensions and a couple of CRL entry extensions
+ */
+
+static int i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void *nonce,
+                            BIO *out, int indent);
+
+static int i2r_ocsp_nocheck(const X509V3_EXT_METHOD *method,
+                            void *nocheck, BIO *out, int indent);
+static void *s2i_ocsp_nocheck(const X509V3_EXT_METHOD *method,
+                              X509V3_CTX *ctx, const char *str);
+
+const X509V3_EXT_METHOD v3_crl_invdate = {
+    NID_invalidity_date, 0, ASN1_ITEM_ref(ASN1_GENERALIZEDTIME),
+    0, 0, 0, 0,
+    0, 0,
+    0, 0,
+    i2r_ocsp_acutoff, 0,
+    NULL
+};
+
+const X509V3_EXT_METHOD v3_ocsp_nocheck = {
+    NID_id_pkix_OCSP_noCheck, 0, ASN1_ITEM_ref(ASN1_NULL),
+    0, 0, 0, 0,
+    0, s2i_ocsp_nocheck,
+    0, 0,
+    i2r_ocsp_nocheck, 0,
+    NULL
+};
+
+static int i2r_ocsp_acutoff(const X509V3_EXT_METHOD *method, void *cutoff,
+                            BIO *bp, int ind)
+{
+    if (BIO_printf(bp, "%*s", ind, "") <= 0)
+        return 0;
+    if (!ASN1_GENERALIZEDTIME_print(bp, cutoff))
+        return 0;
+    return 1;
+}
+
+/* Nocheck is just a single NULL. Don't print anything and always set it */
+
+static int i2r_ocsp_nocheck(const X509V3_EXT_METHOD *method, void *nocheck,
+                            BIO *out, int indent)
+{
+    return 1;
+}
+
+static void *s2i_ocsp_nocheck(const X509V3_EXT_METHOD *method,
+                              X509V3_CTX *ctx, const char *str)
+{
+    return ASN1_NULL_new();
+}
diff --git a/src/crypto/x509v3/v3_purp.c b/src/crypto/x509v3/v3_purp.c
index f70a804..92d0100 100644
--- a/src/crypto/x509v3/v3_purp.c
+++ b/src/crypto/x509v3/v3_purp.c
@@ -80,7 +80,6 @@
 
 static void x509v3_cache_extensions(X509 *x);
 
-static int check_ssl_ca(const X509 *x);
 static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x,
                                     int ca);
 static int check_purpose_ssl_server(const X509_PURPOSE *xp, const X509 *x,
@@ -563,39 +562,20 @@
     CRYPTO_MUTEX_unlock_write(&x->lock);
 }
 
-/*
- * CA checks common to all purposes return codes: 0 not a CA 1 is a CA 2
- * basicConstraints absent so "maybe" a CA 3 basicConstraints absent but self
- * signed V1. 4 basicConstraints absent but keyUsage present and keyCertSign
- * asserted.
- */
-
+/* check_ca returns one if |x| should be considered a CA certificate and zero
+ * otherwise. */
 static int check_ca(const X509 *x)
 {
     /* keyUsage if present should allow cert signing */
     if (ku_reject(x, KU_KEY_CERT_SIGN))
         return 0;
-    if (x->ex_flags & EXFLAG_BCONS) {
-        if (x->ex_flags & EXFLAG_CA)
-            return 1;
-        /* If basicConstraints says not a CA then say so */
-        else
-            return 0;
-    } else {
-        /* we support V1 roots for...  uh, I don't really know why. */
-        if ((x->ex_flags & V1_ROOT) == V1_ROOT)
-            return 3;
-        /*
-         * If key usage present it must have certSign so tolerate it
-         */
-        else if (x->ex_flags & EXFLAG_KUSAGE)
-            return 4;
-        /* Older certificates could have Netscape-specific CA types */
-        else if (x->ex_flags & EXFLAG_NSCERT && x->ex_nscert & NS_ANY_CA)
-            return 5;
-        /* can this still be regarded a CA certificate?  I doubt it */
-        return 0;
+    /* Version 1 certificates are considered CAs and don't have extensions. */
+    if ((x->ex_flags & V1_ROOT) == V1_ROOT) {
+        return 1;
     }
+    /* Otherwise, it's only a CA if basicConstraints says so. */
+    return ((x->ex_flags & EXFLAG_BCONS) &&
+            (x->ex_flags & EXFLAG_CA));
 }
 
 int X509_check_ca(X509 *x)
@@ -604,27 +584,13 @@
     return check_ca(x);
 }
 
-/* Check SSL CA: common checks for SSL client and server */
-static int check_ssl_ca(const X509 *x)
-{
-    int ca_ret;
-    ca_ret = check_ca(x);
-    if (!ca_ret)
-        return 0;
-    /* check nsCertType if present */
-    if (ca_ret != 5 || x->ex_nscert & NS_SSL_CA)
-        return ca_ret;
-    else
-        return 0;
-}
-
 static int check_purpose_ssl_client(const X509_PURPOSE *xp, const X509 *x,
                                     int ca)
 {
     if (xku_reject(x, XKU_SSL_CLIENT))
         return 0;
     if (ca)
-        return check_ssl_ca(x);
+        return check_ca(x);
     /* We need to do digital signatures or key agreement */
     if (ku_reject(x, KU_DIGITAL_SIGNATURE | KU_KEY_AGREEMENT))
         return 0;
@@ -648,7 +614,7 @@
     if (xku_reject(x, XKU_SSL_SERVER | XKU_SGC))
         return 0;
     if (ca)
-        return check_ssl_ca(x);
+        return check_ca(x);
 
     if (ns_reject(x, NS_SSL_SERVER))
         return 0;
@@ -672,29 +638,23 @@
     return ret;
 }
 
-/* common S/MIME checks */
+/* purpose_smime returns one if |x| is a valid S/MIME leaf (|ca| is zero) or CA
+ * (|ca| is one) certificate, and zero otherwise. */
 static int purpose_smime(const X509 *x, int ca)
 {
     if (xku_reject(x, XKU_SMIME))
         return 0;
     if (ca) {
-        int ca_ret;
-        ca_ret = check_ca(x);
-        if (!ca_ret)
-            return 0;
         /* check nsCertType if present */
-        if (ca_ret != 5 || x->ex_nscert & NS_SMIME_CA)
-            return ca_ret;
-        else
-            return 0;
+        if ((x->ex_flags & EXFLAG_NSCERT) &&
+            (x->ex_nscert & NS_SMIME_CA) == 0) {
+          return 0;
+        }
+
+        return check_ca(x);
     }
     if (x->ex_flags & EXFLAG_NSCERT) {
-        if (x->ex_nscert & NS_SMIME)
-            return 1;
-        /* Workaround for some buggy certificates */
-        if (x->ex_nscert & NS_SSL_CLIENT)
-            return 2;
-        return 0;
+        return (x->ex_nscert & NS_SMIME) == NS_SMIME;
     }
     return 1;
 }
@@ -727,11 +687,7 @@
                                   int ca)
 {
     if (ca) {
-        int ca_ret;
-        if ((ca_ret = check_ca(x)) != 2)
-            return ca_ret;
-        else
-            return 0;
+        return check_ca(x);
     }
     if (ku_reject(x, KU_CRL_SIGN))
         return 0;
@@ -745,10 +701,6 @@
 
 static int ocsp_helper(const X509_PURPOSE *xp, const X509 *x, int ca)
 {
-    /*
-     * Must be a valid CA.  Should we really support the "I don't know" value
-     * (2)?
-     */
     if (ca)
         return check_ca(x);
     /* leaf certificate is checked in OCSP_verify() */
diff --git a/src/fipstools/cavp_kas_test.cc b/src/fipstools/cavp_kas_test.cc
index a304a48..f89bc97 100644
--- a/src/fipstools/cavp_kas_test.cc
+++ b/src/fipstools/cavp_kas_test.cc
@@ -25,6 +25,7 @@
 #include <openssl/ec_key.h>
 #include <openssl/err.h>
 #include <openssl/nid.h>
+#include <openssl/sha.h>
 
 #include "../crypto/internal.h"
 #include "../crypto/test/file_test.h"
@@ -35,20 +36,20 @@
   const bool validate = *reinterpret_cast<bool *>(arg);
 
   int nid = NID_undef;
-  const EVP_MD *md = nullptr;
+  size_t digest_len = 0;
 
   if (t->HasInstruction("EB - SHA224")) {
     nid = NID_secp224r1;
-    md = EVP_sha224();
+    digest_len = SHA224_DIGEST_LENGTH;
   } else if (t->HasInstruction("EC - SHA256")) {
     nid = NID_X9_62_prime256v1;
-    md = EVP_sha256();
+    digest_len = SHA256_DIGEST_LENGTH;
   } else if (t->HasInstruction("ED - SHA384")) {
     nid = NID_secp384r1;
-    md = EVP_sha384();
+    digest_len = SHA384_DIGEST_LENGTH;
   } else if (t->HasInstruction("EE - SHA512")) {
     nid = NID_secp521r1;
-    md = EVP_sha512();
+    digest_len = SHA512_DIGEST_LENGTH;
   } else {
     return false;
   }
@@ -86,17 +87,9 @@
     return false;
   }
 
-  constexpr size_t kMaxCurveFieldBits = 521;
-  uint8_t shared_bytes[(kMaxCurveFieldBits + 7)/8];
-  const int shared_bytes_len =
-      ECDH_compute_key(shared_bytes, sizeof(shared_bytes), their_point.get(),
-                       ec_key.get(), nullptr);
-
   uint8_t digest[EVP_MAX_MD_SIZE];
-  unsigned digest_len;
-  if (shared_bytes_len < 0 ||
-      !EVP_Digest(shared_bytes, shared_bytes_len, digest, &digest_len, md,
-                  nullptr)) {
+  if (!ECDH_compute_key_fips(digest, digest_len, their_point.get(),
+                             ec_key.get())) {
     return false;
   }
 
diff --git a/src/include/openssl/aead.h b/src/include/openssl/aead.h
index 1d50197..af31554 100644
--- a/src/include/openssl/aead.h
+++ b/src/include/openssl/aead.h
@@ -91,15 +91,31 @@
 // AEAD algorithms.
 
 // EVP_aead_aes_128_gcm is AES-128 in Galois Counter Mode.
+//
+// Note: AES-GCM should only be used with 12-byte (96-bit) nonces. Although it
+// is specified to take a variable-length nonce, nonces with other lengths are
+// effectively randomized, which means one must consider collisions. Unless
+// implementing an existing protocol which has already specified incorrect
+// parameters, only use 12-byte nonces.
 OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm(void);
 
 // EVP_aead_aes_256_gcm is AES-256 in Galois Counter Mode.
+//
+// Note: AES-GCM should only be used with 12-byte (96-bit) nonces. Although it
+// is specified to take a variable-length nonce, nonces with other lengths are
+// effectively randomized, which means one must consider collisions. Unless
+// implementing an existing protocol which has already specified incorrect
+// parameters, only use 12-byte nonces.
 OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm(void);
 
 // EVP_aead_chacha20_poly1305 is the AEAD built from ChaCha20 and
 // Poly1305 as described in RFC 7539.
 OPENSSL_EXPORT const EVP_AEAD *EVP_aead_chacha20_poly1305(void);
 
+// EVP_aead_xchacha20_poly1305 is ChaCha20-Poly1305 with an extended nonce that
+// makes random generation of nonces safe.
+OPENSSL_EXPORT const EVP_AEAD *EVP_aead_xchacha20_poly1305(void);
+
 // EVP_aead_aes_128_ctr_hmac_sha256 is AES-128 in CTR mode with HMAC-SHA256 for
 // authentication. The nonce is 12 bytes; the bottom 32-bits are used as the
 // block counter, thus the maximum plaintext size is 64GB.
@@ -172,7 +188,7 @@
 
 // EVP_AEAD_MAX_NONCE_LENGTH contains the maximum nonce length used by
 // any AEAD defined in this header.
-#define EVP_AEAD_MAX_NONCE_LENGTH 16
+#define EVP_AEAD_MAX_NONCE_LENGTH 24
 
 // EVP_AEAD_MAX_OVERHEAD contains the maximum overhead used by any AEAD
 // defined in this header.
@@ -361,19 +377,13 @@
 // 1.2 nonce construction.
 OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm_tls12(void);
 
+// EVP_aead_aes_128_gcm_tls13 is AES-128 in Galois Counter Mode using the TLS
+// 1.3 nonce construction.
+OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_gcm_tls13(void);
 
-// SSLv3-specific AEAD algorithms.
-//
-// These AEAD primitives do not meet the definition of generic AEADs. They are
-// all specific to SSLv3 and should not be used outside of that context. They
-// must be initialized with |EVP_AEAD_CTX_init_with_direction|, are stateful,
-// and may not be used concurrently. They only accept an |ad| parameter of
-// length 9 (the standard TLS one with length and version omitted).
-
-OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_128_cbc_sha1_ssl3(void);
-OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_cbc_sha1_ssl3(void);
-OPENSSL_EXPORT const EVP_AEAD *EVP_aead_des_ede3_cbc_sha1_ssl3(void);
-OPENSSL_EXPORT const EVP_AEAD *EVP_aead_null_sha1_ssl3(void);
+// EVP_aead_aes_256_gcm_tls13 is AES-256 in Galois Counter Mode using the TLS
+// 1.3 nonce construction.
+OPENSSL_EXPORT const EVP_AEAD *EVP_aead_aes_256_gcm_tls13(void);
 
 
 // Obscure functions.
@@ -393,7 +403,7 @@
 
 // EVP_AEAD_CTX_get_iv sets |*out_len| to the length of the IV for |ctx| and
 // sets |*out_iv| to point to that many bytes of the current IV. This is only
-// meaningful for AEADs with implicit IVs (i.e. CBC mode in SSLv3 and TLS 1.0).
+// meaningful for AEADs with implicit IVs (i.e. CBC mode in TLS 1.0).
 //
 // It returns one on success or zero on error.
 OPENSSL_EXPORT int EVP_AEAD_CTX_get_iv(const EVP_AEAD_CTX *ctx,
diff --git a/src/include/openssl/asn1.h b/src/include/openssl/asn1.h
index f2e92a7..f7b6b86 100644
--- a/src/include/openssl/asn1.h
+++ b/src/include/openssl/asn1.h
@@ -152,6 +152,9 @@
 /* For use with ASN1_mbstring_copy() */
 #define MBSTRING_FLAG		0x1000
 #define MBSTRING_UTF8		(MBSTRING_FLAG)
+/* |MBSTRING_ASC| refers to Latin-1, not ASCII. It is used with TeletexString
+ * which, in turn, is treated as Latin-1 rather than T.61 by OpenSSL and most
+ * other software. */
 #define MBSTRING_ASC		(MBSTRING_FLAG|1)
 #define MBSTRING_BMP		(MBSTRING_FLAG|2)
 #define MBSTRING_UNIV		(MBSTRING_FLAG|4)
@@ -926,14 +929,14 @@
 #define ASN1_R_INTEGER_NOT_ASCII_FORMAT 139
 #define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 140
 #define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 141
-#define ASN1_R_INVALID_BMPSTRING_LENGTH 142
+#define ASN1_R_INVALID_BMPSTRING 142
 #define ASN1_R_INVALID_DIGIT 143
 #define ASN1_R_INVALID_MODIFIER 144
 #define ASN1_R_INVALID_NUMBER 145
 #define ASN1_R_INVALID_OBJECT_ENCODING 146
 #define ASN1_R_INVALID_SEPARATOR 147
 #define ASN1_R_INVALID_TIME_FORMAT 148
-#define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 149
+#define ASN1_R_INVALID_UNIVERSALSTRING 149
 #define ASN1_R_INVALID_UTF8STRING 150
 #define ASN1_R_LIST_ERROR 151
 #define ASN1_R_MISSING_ASN1_EOS 152
diff --git a/src/include/openssl/base.h b/src/include/openssl/base.h
index e2d15fa..dc30651 100644
--- a/src/include/openssl/base.h
+++ b/src/include/openssl/base.h
@@ -6,7 +6,7 @@
  * are met:
  *
  * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
+ *    notice, this list of conditions and the following disclaimer.
  *
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in
@@ -139,6 +139,10 @@
 #define OPENSSL_NO_THREADS
 #endif
 
+#if defined(__ANDROID_API__)
+#define OPENSSL_ANDROID
+#endif
+
 #if !defined(OPENSSL_NO_THREADS)
 #define OPENSSL_THREADS
 #endif
@@ -155,7 +159,7 @@
 // A consumer may use this symbol in the preprocessor to temporarily build
 // against multiple revisions of BoringSSL at the same time. It is not
 // recommended to do so for longer than is necessary.
-#define BORINGSSL_API_VERSION 8
+#define BORINGSSL_API_VERSION 9
 
 #if defined(BORINGSSL_SHARED_LIBRARY)
 
@@ -222,6 +226,9 @@
 #if __has_feature(address_sanitizer)
 #define OPENSSL_ASAN
 #endif
+#if __has_feature(thread_sanitizer)
+#define OPENSSL_TSAN
+#endif
 #if __has_feature(memory_sanitizer)
 #define OPENSSL_MSAN
 #endif
@@ -378,6 +385,7 @@
 #if defined(BORINGSSL_NO_CXX)
 
 #define BORINGSSL_MAKE_DELETER(type, deleter)
+#define BORINGSSL_MAKE_UP_REF(type, up_ref_func)
 
 #else
 
@@ -448,6 +456,18 @@
 template <typename T>
 using UniquePtr = std::unique_ptr<T, internal::Deleter<T>>;
 
+#define BORINGSSL_MAKE_UP_REF(type, up_ref_func)                    \
+  static inline UniquePtr<type> UpRef(type *v) {                    \
+    if (v != nullptr) {                                             \
+      up_ref_func(v);                                               \
+    }                                                               \
+    return UniquePtr<type>(v);                                      \
+  }                                                                 \
+                                                                    \
+  static inline UniquePtr<type> UpRef(const UniquePtr<type> &ptr) { \
+    return UpRef(ptr.get());                                        \
+  }
+
 }  // namespace bssl
 
 }  // extern C++
diff --git a/src/include/openssl/bio.h b/src/include/openssl/bio.h
index 5e3e2ef..adb641b 100644
--- a/src/include/openssl/bio.h
+++ b/src/include/openssl/bio.h
@@ -874,6 +874,7 @@
 namespace bssl {
 
 BORINGSSL_MAKE_DELETER(BIO, BIO_free)
+BORINGSSL_MAKE_UP_REF(BIO, BIO_up_ref)
 
 }  // namespace bssl
 
diff --git a/src/include/openssl/cipher.h b/src/include/openssl/cipher.h
index 643bf04..727d7a7 100644
--- a/src/include/openssl/cipher.h
+++ b/src/include/openssl/cipher.h
@@ -243,6 +243,10 @@
 // configured.
 OPENSSL_EXPORT int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx);
 
+// EVP_CIPHER_CTX_encrypting returns one if |ctx| is configured for encryption
+// and zero otherwise.
+OPENSSL_EXPORT int EVP_CIPHER_CTX_encrypting(const EVP_CIPHER_CTX *ctx);
+
 // EVP_CIPHER_CTX_block_size returns the block size, in bytes, of the cipher
 // underlying |ctx|, or one if the cipher is a stream cipher. It will crash if
 // no cipher has been configured.
@@ -413,6 +417,7 @@
 OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_192_cbc(void);
 OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_192_ctr(void);
 OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_192_gcm(void);
+OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_192_ofb(void);
 
 // EVP_aes_128_cfb128 is only available in decrepit.
 OPENSSL_EXPORT const EVP_CIPHER *EVP_aes_128_cfb128(void);
@@ -443,10 +448,10 @@
 #define EVP_CTRL_RAND_KEY 0x6
 #define EVP_CTRL_PBE_PRF_NID 0x7
 #define EVP_CTRL_COPY 0x8
-#define EVP_CTRL_GCM_SET_IVLEN 0x9
-#define EVP_CTRL_GCM_GET_TAG 0x10
-#define EVP_CTRL_GCM_SET_TAG 0x11
-#define EVP_CTRL_GCM_SET_IV_FIXED 0x12
+#define EVP_CTRL_AEAD_SET_IVLEN 0x9
+#define EVP_CTRL_AEAD_GET_TAG 0x10
+#define EVP_CTRL_AEAD_SET_TAG 0x11
+#define EVP_CTRL_AEAD_SET_IV_FIXED 0x12
 #define EVP_CTRL_GCM_IV_GEN 0x13
 #define EVP_CTRL_AEAD_SET_MAC_KEY 0x17
 // Set the GCM invocation field, decrypt only
@@ -460,6 +465,12 @@
 // Length of tag for TLS
 #define EVP_GCM_TLS_TAG_LEN 16
 
+// The following are legacy aliases for AEAD |EVP_CIPHER_CTX_ctrl| values.
+#define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN
+#define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG
+#define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG
+#define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED
+
 #define EVP_MAX_KEY_LENGTH 64
 #define EVP_MAX_IV_LENGTH 16
 #define EVP_MAX_BLOCK_LENGTH 32
diff --git a/src/include/openssl/cmac.h b/src/include/openssl/cmac.h
index dfcd37b..5e9f3d0 100644
--- a/src/include/openssl/cmac.h
+++ b/src/include/openssl/cmac.h
@@ -46,6 +46,10 @@
 // CMAC_CTX_free frees a |CMAC_CTX|.
 OPENSSL_EXPORT void CMAC_CTX_free(CMAC_CTX *ctx);
 
+// CMAC_CTX_copy sets |out| to be a duplicate of the current state |in|. It
+// returns one on success and zero on error.
+OPENSSL_EXPORT int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in);
+
 // CMAC_Init configures |ctx| to use the given |key| and |cipher|. The CMAC RFC
 // only specifies the use of AES-128 thus |key_len| should be 16 and |cipher|
 // should be |EVP_aes_128_cbc()|. However, this implementation also supports
diff --git a/src/include/openssl/crypto.h b/src/include/openssl/crypto.h
index cc6fc3c..8e1a271 100644
--- a/src/include/openssl/crypto.h
+++ b/src/include/openssl/crypto.h
@@ -69,17 +69,25 @@
 // “OpenSSL”. node.js requires a version number in this text.
 #define OPENSSL_VERSION_TEXT "OpenSSL 1.1.0 (compatible; BoringSSL)"
 
-#define SSLEAY_VERSION 0
-
-// SSLeay_version is a compatibility function that returns the string
-// "BoringSSL".
-OPENSSL_EXPORT const char *SSLeay_version(int unused);
-
 #define OPENSSL_VERSION 0
+#define OPENSSL_CFLAGS 1
+#define OPENSSL_BUILT_ON 2
+#define OPENSSL_PLATFORM 3
+#define OPENSSL_DIR 4
 
 // OpenSSL_version is a compatibility function that returns the string
-// "BoringSSL".
-OPENSSL_EXPORT const char *OpenSSL_version(int unused);
+// "BoringSSL" if |which| is |OPENSSL_VERSION| and placeholder strings
+// otherwise.
+OPENSSL_EXPORT const char *OpenSSL_version(int which);
+
+#define SSLEAY_VERSION OPENSSL_VERSION
+#define SSLEAY_CFLAGS OPENSSL_CFLAGS
+#define SSLEAY_BUILT_ON OPENSSL_BUILT_ON
+#define SSLEAY_PLATFORM OPENSSL_PLATFORM
+#define SSLEAY_DIR OPENSSL_DIR
+
+// SSLeay_version calls |OpenSSL_version|.
+OPENSSL_EXPORT const char *SSLeay_version(int which);
 
 // SSLeay is a compatibility function that returns OPENSSL_VERSION_NUMBER from
 // base.h.
@@ -117,6 +125,10 @@
 OPENSSL_EXPORT int OPENSSL_init_crypto(uint64_t opts,
                                        const OPENSSL_INIT_SETTINGS *settings);
 
+// FIPS_mode_set returns one if |on| matches whether BoringSSL was built with
+// |BORINGSSL_FIPS| and zero otherwise.
+OPENSSL_EXPORT int FIPS_mode_set(int on);
+
 
 #if defined(__cplusplus)
 }  // extern C
diff --git a/src/include/openssl/curve25519.h b/src/include/openssl/curve25519.h
index 58a181f..9c841b6 100644
--- a/src/include/openssl/curve25519.h
+++ b/src/include/openssl/curve25519.h
@@ -65,7 +65,7 @@
 //
 // Note that, unlike RFC 8032's formulation, our private key representation
 // includes a public key suffix to make multiple key signing operations with the
-// same key more efficient. The RFC 8032 key private key is referred to in this
+// same key more efficient. The RFC 8032 private key is referred to in this
 // implementation as the "seed" and is the first 32 bytes of our private key.
 
 #define ED25519_PRIVATE_KEY_LEN 64
diff --git a/src/include/openssl/digest.h b/src/include/openssl/digest.h
index 81f5892..4077d90 100644
--- a/src/include/openssl/digest.h
+++ b/src/include/openssl/digest.h
@@ -122,8 +122,9 @@
 // copy of |in|. It returns one on success and zero on error.
 OPENSSL_EXPORT int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out, const EVP_MD_CTX *in);
 
-// EVP_MD_CTX_reset calls |EVP_MD_CTX_cleanup| followed by |EVP_MD_CTX_init|.
-OPENSSL_EXPORT void EVP_MD_CTX_reset(EVP_MD_CTX *ctx);
+// EVP_MD_CTX_reset calls |EVP_MD_CTX_cleanup| followed by |EVP_MD_CTX_init|. It
+// returns one.
+OPENSSL_EXPORT int EVP_MD_CTX_reset(EVP_MD_CTX *ctx);
 
 
 // Digest operations.
diff --git a/src/include/openssl/dsa.h b/src/include/openssl/dsa.h
index 2966f9d..a5fa767 100644
--- a/src/include/openssl/dsa.h
+++ b/src/include/openssl/dsa.h
@@ -73,6 +73,10 @@
 
 // DSA contains functions for signing and verifying with the Digital Signature
 // Algorithm.
+//
+// This module is deprecated and retained for legacy reasons only. It is not
+// considered a priority for performance or hardening work. Do not use it in
+// new code. Use Ed25519, ECDSA with P-256, or RSA instead.
 
 
 // Allocation and destruction.
diff --git a/src/include/openssl/e_os2.h b/src/include/openssl/e_os2.h
new file mode 100644
index 0000000..f2d8bac
--- /dev/null
+++ b/src/include/openssl/e_os2.h
@@ -0,0 +1,18 @@
+/* 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. */
+
+/* This header is provided in order to make compiling against code that expects
+   OpenSSL easier. */
+
+#include <openssl/base.h>
diff --git a/src/include/openssl/ec.h b/src/include/openssl/ec.h
index 312a387..989cf56 100644
--- a/src/include/openssl/ec.h
+++ b/src/include/openssl/ec.h
@@ -154,6 +154,11 @@
 // element of the field underlying |group|.
 OPENSSL_EXPORT unsigned EC_GROUP_get_degree(const EC_GROUP *group);
 
+// EC_curve_nid2nist returns the NIST name of the elliptic curve specified by
+// |nid|, or NULL if |nid| is not a NIST curve. For example, it returns "P-256"
+// for |NID_X9_62_prime256v1|.
+OPENSSL_EXPORT const char *EC_curve_nid2nist(int nid);
+
 
 // Points on elliptic curves.
 
@@ -315,7 +320,7 @@
 
 typedef struct ec_method_st EC_METHOD;
 
-// EC_GROUP_method_of returns NULL.
+// EC_GROUP_method_of returns a dummy non-NULL pointer.
 OPENSSL_EXPORT const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group);
 
 // EC_METHOD_get_field_type returns NID_X9_62_prime_field.
diff --git a/src/include/openssl/ecdh.h b/src/include/openssl/ecdh.h
index 73e2140..0130ccc 100644
--- a/src/include/openssl/ecdh.h
+++ b/src/include/openssl/ecdh.h
@@ -89,6 +89,22 @@
     void *out, size_t outlen, const EC_POINT *pub_key, const EC_KEY *priv_key,
     void *(*kdf)(const void *in, size_t inlen, void *out, size_t *outlen));
 
+// ECDH_compute_key_fips calculates the shared key between |pub_key| and
+// |priv_key| and hashes it with the appropriate SHA function for |out_len|. The
+// only value values for |out_len| are thus 24 (SHA-224), 32 (SHA-256), 48
+// (SHA-384), and 64 (SHA-512). It returns one on success and zero on error.
+//
+// Note that the return value is different to |ECDH_compute_key|: it returns an
+// error flag (as is common for BoringSSL) rather than the number of bytes
+// written.
+//
+// This function allows the FIPS module to compute an ECDH and KDF within the
+// module boundary without taking an arbitrary function pointer for the KDF,
+// which isn't very FIPSy.
+OPENSSL_EXPORT int ECDH_compute_key_fips(uint8_t *out, size_t out_len,
+                                         const EC_POINT *pub_key,
+                                         const EC_KEY *priv_key);
+
 
 #if defined(__cplusplus)
 }  // extern C
@@ -97,5 +113,6 @@
 #define ECDH_R_KDF_FAILED 100
 #define ECDH_R_NO_PRIVATE_VALUE 101
 #define ECDH_R_POINT_ARITHMETIC_FAILURE 102
+#define ECDH_R_UNKNOWN_DIGEST_LENGTH 103
 
 #endif  // OPENSSL_HEADER_ECDH_H
diff --git a/src/include/openssl/err.h b/src/include/openssl/err.h
index a39c090..4721f75 100644
--- a/src/include/openssl/err.h
+++ b/src/include/openssl/err.h
@@ -152,6 +152,9 @@
 // ERR_load_crypto_strings does nothing.
 OPENSSL_EXPORT void ERR_load_crypto_strings(void);
 
+// ERR_load_RAND_strings does nothing.
+OPENSSL_EXPORT void ERR_load_RAND_strings(void);
+
 // ERR_free_strings does nothing.
 OPENSSL_EXPORT void ERR_free_strings(void);
 
diff --git a/src/include/openssl/evp.h b/src/include/openssl/evp.h
index 7816b59..7994b84 100644
--- a/src/include/openssl/evp.h
+++ b/src/include/openssl/evp.h
@@ -169,6 +169,7 @@
 
 #define EVP_PKEY_NONE NID_undef
 #define EVP_PKEY_RSA NID_rsaEncryption
+#define EVP_PKEY_RSA_PSS NID_rsassaPss
 #define EVP_PKEY_DSA NID_dsa
 #define EVP_PKEY_EC NID_X9_62_id_ecPublicKey
 #define EVP_PKEY_ED25519 NID_ED25519
@@ -796,6 +797,19 @@
 // EVP_PKEY_get0_DH returns NULL.
 OPENSSL_EXPORT DH *EVP_PKEY_get0_DH(EVP_PKEY *pkey);
 
+// EVP_PKEY_get1_DH returns NULL.
+OPENSSL_EXPORT DH *EVP_PKEY_get1_DH(EVP_PKEY *pkey);
+
+
+// Preprocessor compatibility section (hidden).
+//
+// Historically, a number of APIs were implemented in OpenSSL as macros and
+// constants to 'ctrl' functions. To avoid breaking #ifdefs in consumers, this
+// section defines a number of legacy macros.
+
+#define EVP_PKEY_CTX_set_rsa_oaep_md EVP_PKEY_CTX_set_rsa_oaep_md
+#define EVP_PKEY_CTX_set0_rsa_oaep_label EVP_PKEY_CTX_set0_rsa_oaep_label
+
 
 // Private structures.
 
@@ -827,6 +841,7 @@
 namespace bssl {
 
 BORINGSSL_MAKE_DELETER(EVP_PKEY, EVP_PKEY_free)
+BORINGSSL_MAKE_UP_REF(EVP_PKEY, EVP_PKEY_up_ref)
 BORINGSSL_MAKE_DELETER(EVP_PKEY_CTX, EVP_PKEY_CTX_free)
 
 }  // namespace bssl
diff --git a/src/include/openssl/lhash.h b/src/include/openssl/lhash.h
index 1ceeb69..287ad63 100644
--- a/src/include/openssl/lhash.h
+++ b/src/include/openssl/lhash.h
@@ -141,6 +141,15 @@
 // it. If no such element exists, it returns NULL.
 OPENSSL_EXPORT void *lh_retrieve(const _LHASH *lh, const void *data);
 
+// lh_retrieve_key finds an element matching |key|, given the specified hash and
+// comparison function. This differs from |lh_retrieve| in that the key may be a
+// different type than the values stored in |lh|. |key_hash| and |cmp_key| must
+// be compatible with the functions passed into |lh_new|.
+OPENSSL_EXPORT void *lh_retrieve_key(const _LHASH *lh, const void *key,
+                                     uint32_t key_hash,
+                                     int (*cmp_key)(const void *key,
+                                                    const void *value));
+
 // lh_insert inserts |data| into the hash table. If an existing element is
 // equal to |data| (with respect to the comparison function) then |*old_data|
 // will be set to that value and it will be replaced. Otherwise, or in the
diff --git a/src/include/openssl/lhash_macros.h b/src/include/openssl/lhash_macros.h
index 378c839..dd3e4dc 100644
--- a/src/include/openssl/lhash_macros.h
+++ b/src/include/openssl/lhash_macros.h
@@ -35,6 +35,12 @@
       CHECKED_CAST(_LHASH *, LHASH_OF(ASN1_OBJECT) *, lh), \
       CHECKED_CAST(void *, ASN1_OBJECT *, data)))
 
+#define lh_ASN1_OBJECT_retrieve_key(lh, key, key_hash, cmp_key)           \
+  ((ASN1_OBJECT *)lh_retrieve_key(                                        \
+      CHECKED_CAST(_LHASH *, LHASH_OF(ASN1_OBJECT) *, lh), key, key_hash, \
+      CHECKED_CAST(int (*)(const void *, const void *),                   \
+                   int (*)(const void *, const ASN1_OBJECT *), cmp_key)))
+
 #define lh_ASN1_OBJECT_insert(lh, old_data, data)                \
   lh_insert(CHECKED_CAST(_LHASH *, LHASH_OF(ASN1_OBJECT) *, lh), \
             CHECKED_CAST(void **, ASN1_OBJECT **, old_data),     \
@@ -74,6 +80,12 @@
       CHECKED_CAST(_LHASH *, LHASH_OF(CONF_VALUE) *, lh), \
       CHECKED_CAST(void *, CONF_VALUE *, data)))
 
+#define lh_CONF_VALUE_retrieve_key(lh, key, key_hash, cmp_key)           \
+  ((CONF_VALUE *)lh_retrieve_key(                                        \
+      CHECKED_CAST(_LHASH *, LHASH_OF(CONF_VALUE) *, lh), key, key_hash, \
+      CHECKED_CAST(int (*)(const void *, const void *),                  \
+                   int (*)(const void *, const CONF_VALUE *), cmp_key)))
+
 #define lh_CONF_VALUE_insert(lh, old_data, data)                \
   lh_insert(CHECKED_CAST(_LHASH *, LHASH_OF(CONF_VALUE) *, lh), \
             CHECKED_CAST(void **, CONF_VALUE **, old_data),     \
@@ -113,6 +125,12 @@
       CHECKED_CAST(_LHASH *, LHASH_OF(CRYPTO_BUFFER) *, lh), \
       CHECKED_CAST(void *, CRYPTO_BUFFER *, data)))
 
+#define lh_CRYPTO_BUFFER_retrieve_key(lh, key, key_hash, cmp_key)           \
+  ((CRYPTO_BUFFER *)lh_retrieve_key(                                        \
+      CHECKED_CAST(_LHASH *, LHASH_OF(CRYPTO_BUFFER) *, lh), key, key_hash, \
+      CHECKED_CAST(int (*)(const void *, const void *),                     \
+                   int (*)(const void *, const CRYPTO_BUFFER *), cmp_key)))
+
 #define lh_CRYPTO_BUFFER_insert(lh, old_data, data)                \
   lh_insert(CHECKED_CAST(_LHASH *, LHASH_OF(CRYPTO_BUFFER) *, lh), \
             CHECKED_CAST(void **, CRYPTO_BUFFER **, old_data),     \
@@ -153,6 +171,12 @@
       CHECKED_CAST(_LHASH *, LHASH_OF(SSL_SESSION) *, lh), \
       CHECKED_CAST(void *, SSL_SESSION *, data)))
 
+#define lh_SSL_SESSION_retrieve_key(lh, key, key_hash, cmp_key)           \
+  ((SSL_SESSION *)lh_retrieve_key(                                        \
+      CHECKED_CAST(_LHASH *, LHASH_OF(SSL_SESSION) *, lh), key, key_hash, \
+      CHECKED_CAST(int (*)(const void *, const void *),                   \
+                   int (*)(const void *, const SSL_SESSION *), cmp_key)))
+
 #define lh_SSL_SESSION_insert(lh, old_data, data)                \
   lh_insert(CHECKED_CAST(_LHASH *, LHASH_OF(SSL_SESSION) *, lh), \
             CHECKED_CAST(void **, SSL_SESSION **, old_data),     \
diff --git a/src/include/openssl/obj.h b/src/include/openssl/obj.h
index 374658e..764188f 100644
--- a/src/include/openssl/obj.h
+++ b/src/include/openssl/obj.h
@@ -222,6 +222,9 @@
                                                                void *arg),
                                     void *arg);
 
+// OBJ_cleanup does nothing.
+OPENSSL_EXPORT void OBJ_cleanup(void);
+
 
 #if defined(__cplusplus)
 }  // extern C
diff --git a/src/include/openssl/pem.h b/src/include/openssl/pem.h
index 4868e12..a43ca0d 100644
--- a/src/include/openssl/pem.h
+++ b/src/include/openssl/pem.h
@@ -63,6 +63,7 @@
 #include <openssl/digest.h>
 #include <openssl/evp.h>
 #include <openssl/stack.h>
+#include <openssl/pkcs7.h>
 #include <openssl/x509.h>
 
 /* For compatibility with open-iscsi, which assumes that it can get
@@ -329,6 +330,7 @@
 
 DECLARE_PEM_rw(X509_CRL, X509_CRL)
 
+DECLARE_PEM_rw(PKCS7, PKCS7)
 DECLARE_PEM_rw(PKCS8, X509_SIG)
 
 DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO)
diff --git a/src/include/openssl/pkcs7.h b/src/include/openssl/pkcs7.h
index d708141..52b649c 100644
--- a/src/include/openssl/pkcs7.h
+++ b/src/include/openssl/pkcs7.h
@@ -35,7 +35,10 @@
 
 // PKCS7_get_raw_certificates parses a PKCS#7, SignedData structure from |cbs|
 // and appends the included certificates to |out_certs|. It returns one on
-// success and zero on error.
+// success and zero on error. |cbs| is advanced passed the structure.
+//
+// Note that a SignedData structure may contain no certificates, in which case
+// this function succeeds but does not append any certificates.
 OPENSSL_EXPORT int PKCS7_get_raw_certificates(
     STACK_OF(CRYPTO_BUFFER) *out_certs, CBS *cbs, CRYPTO_BUFFER_POOL *pool);
 
@@ -49,8 +52,11 @@
     CBB *out, const STACK_OF(X509) *certs);
 
 // PKCS7_get_CRLs parses a PKCS#7, SignedData structure from |cbs| and appends
-// the included CRLs to |out_crls|. It returns one on success and zero on
-// error.
+// the included CRLs to |out_crls|. It returns one on success and zero on error.
+// |cbs| is advanced passed the structure.
+//
+// Note that a SignedData structure may contain no CRLs, in which case this
+// function succeeds but does not append any CRLs.
 OPENSSL_EXPORT int PKCS7_get_CRLs(STACK_OF(X509_CRL) *out_crls, CBS *cbs);
 
 // PKCS7_bundle_CRLs appends a PKCS#7, SignedData structure containing
@@ -60,18 +66,145 @@
 // PKCS7_get_PEM_certificates reads a PEM-encoded, PKCS#7, SignedData structure
 // from |pem_bio| and appends the included certificates to |out_certs|. It
 // returns one on success and zero on error.
+//
+// Note that a SignedData structure may contain no certificates, in which case
+// this function succeeds but does not append any certificates.
 OPENSSL_EXPORT int PKCS7_get_PEM_certificates(STACK_OF(X509) *out_certs,
                                               BIO *pem_bio);
 
 // PKCS7_get_PEM_CRLs reads a PEM-encoded, PKCS#7, SignedData structure from
 // |pem_bio| and appends the included CRLs to |out_crls|. It returns one on
 // success and zero on error.
+//
+// Note that a SignedData structure may contain no CRLs, in which case this
+// function succeeds but does not append any CRLs.
 OPENSSL_EXPORT int PKCS7_get_PEM_CRLs(STACK_OF(X509_CRL) *out_crls,
                                       BIO *pem_bio);
 
 
+// Deprecated functions.
+//
+// These functions are a compatibility layer over a subset of OpenSSL's PKCS#7
+// API. It intentionally does not implement the whole thing, only the minimum
+// needed to build cryptography.io.
+
+typedef struct {
+  STACK_OF(X509) *cert;
+  STACK_OF(X509_CRL) *crl;
+} PKCS7_SIGNED;
+
+typedef struct {
+  STACK_OF(X509) *cert;
+  STACK_OF(X509_CRL) *crl;
+} PKCS7_SIGN_ENVELOPE;
+
+typedef void PKCS7_ENVELOPE;
+typedef void PKCS7_DIGEST;
+typedef void PKCS7_ENCRYPT;
+
+typedef struct {
+  uint8_t *ber_bytes;
+  size_t ber_len;
+
+  // Unlike OpenSSL, the following fields are immutable. They filled in when the
+  // object is parsed and ignored in serialization.
+  ASN1_OBJECT *type;
+  union {
+    char *ptr;
+    ASN1_OCTET_STRING *data;
+    PKCS7_SIGNED *sign;
+    PKCS7_ENVELOPE *enveloped;
+    PKCS7_SIGN_ENVELOPE *signed_and_enveloped;
+    PKCS7_DIGEST *digest;
+    PKCS7_ENCRYPT *encrypted;
+    ASN1_TYPE *other;
+  } d;
+} PKCS7;
+
+// d2i_PKCS7 parses a BER-encoded, PKCS#7 signed data ContentInfo structure from
+// |len| bytes at |*inp|. If |out| is not NULL then, on exit, a pointer to the
+// result is in |*out|. Note that, even if |*out| is already non-NULL on entry,
+// it will not be written to. Rather, a fresh |PKCS7| is allocated and the
+// previous one is freed. On successful exit, |*inp| is advanced past the BER
+// structure.  It returns the result or NULL on error.
+OPENSSL_EXPORT PKCS7 *d2i_PKCS7(PKCS7 **out, const uint8_t **inp,
+                                size_t len);
+
+// d2i_PKCS7_bio behaves like |d2i_PKCS7| but reads the input from |bio|.  If
+// the length of the object is indefinite the full contents of |bio| are read.
+//
+// If the function fails then some unknown amount of data may have been read
+// from |bio|.
+OPENSSL_EXPORT PKCS7 *d2i_PKCS7_bio(BIO *bio, PKCS7 **out);
+
+// i2d_PKCS7 is a dummy function which copies the contents of |p7|. If |out| is
+// not NULL then the result is written to |*out| and |*out| is advanced just
+// past the output. It returns the number of bytes in the result, whether
+// written or not, or a negative value on error.
+OPENSSL_EXPORT int i2d_PKCS7(const PKCS7 *p7, uint8_t **out);
+
+// i2d_PKCS7_bio writes |p7| to |bio|. It returns one on success and zero on
+// error.
+OPENSSL_EXPORT int i2d_PKCS7_bio(BIO *bio, const PKCS7 *p7);
+
+// PKCS7_free releases memory associated with |p7|.
+OPENSSL_EXPORT void PKCS7_free(PKCS7 *p7);
+
+// PKCS7_type_is_data returns zero.
+OPENSSL_EXPORT int PKCS7_type_is_data(const PKCS7 *p7);
+
+// PKCS7_type_is_digest returns zero.
+OPENSSL_EXPORT int PKCS7_type_is_digest(const PKCS7 *p7);
+
+// PKCS7_type_is_encrypted returns zero.
+OPENSSL_EXPORT int PKCS7_type_is_encrypted(const PKCS7 *p7);
+
+// PKCS7_type_is_enveloped returns zero.
+OPENSSL_EXPORT int PKCS7_type_is_enveloped(const PKCS7 *p7);
+
+// PKCS7_type_is_signed returns one. (We only supporte signed data
+// ContentInfos.)
+OPENSSL_EXPORT int PKCS7_type_is_signed(const PKCS7 *p7);
+
+// PKCS7_type_is_signedAndEnveloped returns zero.
+OPENSSL_EXPORT int PKCS7_type_is_signedAndEnveloped(const PKCS7 *p7);
+
+// PKCS7_DETACHED indicates that the PKCS#7 file specifies its data externally.
+#define PKCS7_DETACHED 0x40
+
+// The following flags cause |PKCS7_sign| to fail.
+#define PKCS7_TEXT 0x1
+#define PKCS7_NOCERTS 0x2
+#define PKCS7_NOSIGS 0x4
+#define PKCS7_NOCHAIN 0x8
+#define PKCS7_NOINTERN 0x10
+#define PKCS7_NOVERIFY 0x20
+#define PKCS7_BINARY 0x80
+#define PKCS7_NOATTR 0x100
+#define PKCS7_NOSMIMECAP 0x200
+#define PKCS7_STREAM 0x1000
+
+// PKCS7_sign assembles |certs| into a PKCS#7 signed data ContentInfo with
+// external data and no signatures. It returns a newly-allocated |PKCS7| on
+// success or NULL on error. |sign_cert| and |pkey| must be NULL. |data| is
+// ignored. |flags| must be equal to |PKCS7_DETACHED|.
+//
+// Note this function only implements a subset of the corresponding OpenSSL
+// function. It is provided for backwards compatibility only.
+OPENSSL_EXPORT PKCS7 *PKCS7_sign(X509 *sign_cert, EVP_PKEY *pkey,
+                                 STACK_OF(X509) *certs, BIO *data, int flags);
+
+
 #if defined(__cplusplus)
 }  // extern C
+
+extern "C++" {
+namespace bssl {
+
+BORINGSSL_MAKE_DELETER(PKCS7, PKCS7_free)
+
+}  // namespace bssl
+}  // extern C++
 #endif
 
 #define PKCS7_R_BAD_PKCS7_VERSION 100
diff --git a/src/include/openssl/pkcs8.h b/src/include/openssl/pkcs8.h
index f865c76..9a66dd0 100644
--- a/src/include/openssl/pkcs8.h
+++ b/src/include/openssl/pkcs8.h
@@ -152,6 +152,20 @@
 // d2i_PKCS12_fp acts like |d2i_PKCS12| but reads from a |FILE|.
 OPENSSL_EXPORT PKCS12* d2i_PKCS12_fp(FILE *fp, PKCS12 **out_p12);
 
+// i2d_PKCS12 is a dummy function which copies the contents of |p12|. If |out|
+// is not NULL then the result is written to |*out| and |*out| is advanced just
+// past the output. It returns the number of bytes in the result, whether
+// written or not, or a negative value on error.
+OPENSSL_EXPORT int i2d_PKCS12(const PKCS12 *p12, uint8_t **out);
+
+// i2d_PKCS12_bio writes the contents of |p12| to |bio|. It returns one on
+// success and zero on error.
+OPENSSL_EXPORT int i2d_PKCS12_bio(BIO *bio, const PKCS12 *p12);
+
+// i2d_PKCS12_fp writes the contents of |p12| to |fp|. It returns one on
+// success and zero on error.
+OPENSSL_EXPORT int i2d_PKCS12_fp(FILE *fp, const PKCS12 *p12);
+
 // PKCS12_parse calls |PKCS12_get_key_and_certs| on the ASN.1 data stored in
 // |p12|. The |out_pkey| and |out_cert| arguments must not be NULL and, on
 // successful exit, the private key and first certificate will be stored in
@@ -175,6 +189,23 @@
 OPENSSL_EXPORT int PKCS12_verify_mac(const PKCS12 *p12, const char *password,
                                      int password_len);
 
+// PKCS12_create returns a newly-allocated |PKCS12| object containing |pkey|,
+// |cert|, and |chain|, encrypted with the specified password. |name|, if not
+// NULL, specifies a user-friendly name to encode with the key and
+// certificate. The key and certificates are encrypted with |key_nid| and
+// |cert_nid|, respectively, using |iterations| iterations in the
+// KDF. |mac_iterations| is the number of iterations when deriving the MAC
+// key. |key_type| must be zero. |pkey| and |cert| may be NULL to omit them.
+//
+// Each of |key_nid|, |cert_nid|, |iterations|, and |mac_iterations| may be zero
+// to use defaults, which are |NID_pbe_WithSHA1And3_Key_TripleDES_CBC|,
+// |NID_pbe_WithSHA1And40BitRC2_CBC|, 2048, and one, respectively.
+OPENSSL_EXPORT PKCS12 *PKCS12_create(const char *password, const char *name,
+                                     const EVP_PKEY *pkey, X509 *cert,
+                                     const STACK_OF(X509) *chain, int key_nid,
+                                     int cert_nid, int iterations,
+                                     int mac_iterations, int key_type);
+
 // PKCS12_free frees |p12| and its contents.
 OPENSSL_EXPORT void PKCS12_free(PKCS12 *p12);
 
@@ -226,5 +257,7 @@
 #define PKCS8_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 128
 #define PKCS8_R_BAD_ITERATION_COUNT 129
 #define PKCS8_R_UNSUPPORTED_PRF 130
+#define PKCS8_R_INVALID_CHARACTERS 131
+#define PKCS8_R_UNSUPPORTED_OPTIONS 132
 
 #endif  // OPENSSL_HEADER_PKCS8_H
diff --git a/src/include/openssl/pool.h b/src/include/openssl/pool.h
index 373952f..1259f4a 100644
--- a/src/include/openssl/pool.h
+++ b/src/include/openssl/pool.h
@@ -48,6 +48,16 @@
 OPENSSL_EXPORT CRYPTO_BUFFER *CRYPTO_BUFFER_new(const uint8_t *data, size_t len,
                                                 CRYPTO_BUFFER_POOL *pool);
 
+// CRYPTO_BUFFER_alloc creates an unpooled |CRYPTO_BUFFER| of the given size and
+// writes the underlying data pointer to |*out_data|. It returns NULL on error.
+//
+// After calling this function, |len| bytes of contents must be written to
+// |out_data| before passing the returned pointer to any other BoringSSL
+// functions. Once initialized, the |CRYPTO_BUFFER| should be treated as
+// immutable.
+OPENSSL_EXPORT CRYPTO_BUFFER *CRYPTO_BUFFER_alloc(uint8_t **out_data,
+                                                  size_t len);
+
 // CRYPTO_BUFFER_new_from_CBS acts the same as |CRYPTO_BUFFER_new|.
 OPENSSL_EXPORT CRYPTO_BUFFER *CRYPTO_BUFFER_new_from_CBS(
     CBS *cbs, CRYPTO_BUFFER_POOL *pool);
@@ -81,6 +91,7 @@
 
 BORINGSSL_MAKE_DELETER(CRYPTO_BUFFER_POOL, CRYPTO_BUFFER_POOL_free)
 BORINGSSL_MAKE_DELETER(CRYPTO_BUFFER, CRYPTO_BUFFER_free)
+BORINGSSL_MAKE_UP_REF(CRYPTO_BUFFER, CRYPTO_BUFFER_up_ref)
 
 }  // namespace bssl
 
diff --git a/src/include/openssl/rsa.h b/src/include/openssl/rsa.h
index a52fa53..7ed5dce 100644
--- a/src/include/openssl/rsa.h
+++ b/src/include/openssl/rsa.h
@@ -589,6 +589,10 @@
                                               const uint8_t *param,
                                               size_t param_len);
 
+// RSA_print prints a textual representation of |rsa| to |bio|. It returns one
+// on success or zero otherwise.
+OPENSSL_EXPORT int RSA_print(BIO *bio, const RSA *rsa, int indent);
+
 
 struct rsa_meth_st {
   struct openssl_method_common_st common;
@@ -752,5 +756,6 @@
 #define RSA_R_WRONG_SIGNATURE_LENGTH 145
 #define RSA_R_PUBLIC_KEY_VALIDATION_FAILED 146
 #define RSA_R_D_OUT_OF_RANGE 147
+#define RSA_R_BLOCK_TYPE_IS_NOT_02 148
 
 #endif  // OPENSSL_HEADER_RSA_H
diff --git a/src/include/openssl/ssl.h b/src/include/openssl/ssl.h
index 77bd4de..a24af46 100644
--- a/src/include/openssl/ssl.h
+++ b/src/include/openssl/ssl.h
@@ -185,7 +185,7 @@
 // multiple threads. Once shared, functions which change the |SSL_CTX|'s
 // configuration may not be used.
 
-// TLS_method is the |SSL_METHOD| used for TLS (and SSLv3) connections.
+// TLS_method is the |SSL_METHOD| used for TLS connections.
 OPENSSL_EXPORT const SSL_METHOD *TLS_method(void);
 
 // DTLS_method is the |SSL_METHOD| used for DTLS connections.
@@ -394,20 +394,23 @@
 // https://crbug.com/466303.
 OPENSSL_EXPORT int SSL_write(SSL *ssl, const void *buf, int num);
 
-// SSL_shutdown shuts down |ssl|. On success, it completes in two stages. First,
-// it returns 0 if |ssl| completed uni-directional shutdown; close_notify has
-// been sent, but the peer's close_notify has not been received. Most callers
-// may stop at this point. For bi-directional shutdown, call |SSL_shutdown|
-// again. It returns 1 if close_notify has been both sent and received.
+// SSL_shutdown shuts down |ssl|. It runs in two stages. First, it sends
+// close_notify and returns zero or one on success or -1 on failure. Zero
+// indicates that close_notify was sent, but not received, and one additionally
+// indicates that the peer's close_notify had already been received.
 //
-// If the peer's close_notify arrived first, the first stage is skipped.
-// |SSL_shutdown| will return 1 once close_notify is sent and skip 0. Callers
-// only interested in uni-directional shutdown must therefore allow for the
-// first stage returning either 0 or 1.
+// To then wait for the peer's close_notify, run |SSL_shutdown| to completion a
+// second time. This returns 1 on success and -1 on failure. Application data
+// is considered a fatal error at this point. To process or discard it, read
+// until close_notify with |SSL_read| instead.
 //
-// |SSL_shutdown| returns -1 on failure. The caller should pass the return value
-// into |SSL_get_error| to determine how to proceed. If the underlying |BIO| is
-// non-blocking, both stages may require retry.
+// In both cases, on failure, pass the return value into |SSL_get_error| to
+// determine how to proceed.
+//
+// Most callers should stop at the first stage. Reading for close_notify is
+// primarily used for uncommon protocols where the underlying transport is
+// reused after TLS completes. Additionally, DTLS uses an unordered transport
+// and is unordered, so the second stage is a no-op in DTLS.
 OPENSSL_EXPORT int SSL_shutdown(SSL *ssl);
 
 // SSL_CTX_set_quiet_shutdown sets quiet shutdown on |ctx| to |mode|. If
@@ -646,7 +649,6 @@
 // The following flags toggle individual protocol versions. This is deprecated.
 // Use |SSL_CTX_set_min_proto_version| and |SSL_CTX_set_max_proto_version|
 // instead.
-#define SSL_OP_NO_SSLv3 0x02000000L
 #define SSL_OP_NO_TLSv1 0x04000000L
 #define SSL_OP_NO_TLSv1_2 0x08000000L
 #define SSL_OP_NO_TLSv1_1 0x10000000L
@@ -717,10 +719,10 @@
 // and |SSL_CB_HANDSHAKE_DONE| from |SSL_CTX_set_info_callback|.
 #define SSL_MODE_ENABLE_FALSE_START 0x00000080L
 
-// SSL_MODE_CBC_RECORD_SPLITTING causes multi-byte CBC records in SSL 3.0 and
-// TLS 1.0 to be split in two: the first record will contain a single byte and
-// the second will contain the remainder. This effectively randomises the IV and
-// prevents BEAST attacks.
+// SSL_MODE_CBC_RECORD_SPLITTING causes multi-byte CBC records in TLS 1.0 to be
+// split in two: the first record will contain a single byte and the second will
+// contain the remainder. This effectively randomises the IV and prevents BEAST
+// attacks.
 #define SSL_MODE_CBC_RECORD_SPLITTING 0x00000100L
 
 // SSL_MODE_NO_SESSION_CREATION will cause any attempts to create a session to
@@ -881,14 +883,28 @@
 
 // SSL_get0_certificate_types, for a client, sets |*out_types| to an array
 // containing the client certificate types requested by a server. It returns the
-// length of the array.
+// length of the array. Note this list is always empty in TLS 1.3. The server
+// will instead send signature algorithms. See
+// |SSL_get0_peer_verify_algorithms|.
 //
 // The behavior of this function is undefined except during the callbacks set by
 // by |SSL_CTX_set_cert_cb| and |SSL_CTX_set_client_cert_cb| or when the
 // handshake is paused because of them.
-OPENSSL_EXPORT size_t SSL_get0_certificate_types(SSL *ssl,
+OPENSSL_EXPORT size_t SSL_get0_certificate_types(const SSL *ssl,
                                                  const uint8_t **out_types);
 
+// SSL_get0_peer_verify_algorithms sets |*out_sigalgs| to an array containing
+// the signature algorithms the peer is able to verify. It returns the length of
+// the array. Note these values are only sent starting TLS 1.2 and only
+// mandatory starting TLS 1.3. If not sent, the empty array is returned. For the
+// historical client certificate types list, see |SSL_get0_certificate_types|.
+//
+// The behavior of this function is undefined except during the callbacks set by
+// by |SSL_CTX_set_cert_cb| and |SSL_CTX_set_client_cert_cb| or when the
+// handshake is paused because of them.
+OPENSSL_EXPORT size_t
+SSL_get0_peer_verify_algorithms(const SSL *ssl, const uint16_t **out_sigalgs);
+
 // SSL_certs_clear resets the private key, leaf certificate, and certificate
 // chain of |ssl|.
 OPENSSL_EXPORT void SSL_certs_clear(SSL *ssl);
@@ -1319,11 +1335,7 @@
 //   whose bulk cipher use the corresponding encryption scheme. Note that
 //   |AES|, |AES128|, and |AES256| match both CBC and GCM ciphers.
 //
-//   |SHA1|, |SHA256|, and |SHA384| match legacy cipher suites using the
-//   corresponding hash function in their MAC. AEADs are matched by none of
-//   these.
-//
-//   |SHA| is an alias for |SHA1|.
+//   |SHA1|, and its alias |SHA|, match legacy cipher suites using HMAC-SHA1.
 //
 // Although implemented, authentication-only ciphers match no rules and must be
 // explicitly selected by name.
@@ -1462,7 +1474,7 @@
 // verification. The caller does not take ownership of the result.
 //
 // This is the |CRYPTO_BUFFER| variant of |SSL_get_peer_full_cert_chain|.
-OPENSSL_EXPORT STACK_OF(CRYPTO_BUFFER) *
+OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
     SSL_get0_peer_certificates(const SSL *ssl);
 
 // SSL_get0_signed_cert_timestamp_list sets |*out| and |*out_len| to point to
@@ -1535,92 +1547,6 @@
     const uint8_t *context, size_t context_len, int use_context);
 
 
-// Custom extensions.
-//
-// The custom extension functions allow TLS extensions to be added to
-// ClientHello and ServerHello messages.
-
-// SSL_custom_ext_add_cb is a callback function that is called when the
-// ClientHello (for clients) or ServerHello (for servers) is constructed. In
-// the case of a server, this callback will only be called for a given
-// extension if the ClientHello contained that extension – it's not possible to
-// inject extensions into a ServerHello that the client didn't request.
-//
-// When called, |extension_value| will contain the extension number that is
-// being considered for addition (so that a single callback can handle multiple
-// extensions). If the callback wishes to include the extension, it must set
-// |*out| to point to |*out_len| bytes of extension contents and return one. In
-// this case, the corresponding |SSL_custom_ext_free_cb| callback will later be
-// called with the value of |*out| once that data has been copied.
-//
-// If the callback does not wish to add an extension it must return zero.
-//
-// Alternatively, the callback can abort the connection by setting
-// |*out_alert_value| to a TLS alert number and returning -1.
-typedef int (*SSL_custom_ext_add_cb)(SSL *ssl, unsigned extension_value,
-                                     const uint8_t **out, size_t *out_len,
-                                     int *out_alert_value, void *add_arg);
-
-// SSL_custom_ext_free_cb is a callback function that is called by OpenSSL iff
-// an |SSL_custom_ext_add_cb| callback previously returned one. In that case,
-// this callback is called and passed the |out| pointer that was returned by
-// the add callback. This is to free any dynamically allocated data created by
-// the add callback.
-typedef void (*SSL_custom_ext_free_cb)(SSL *ssl, unsigned extension_value,
-                                       const uint8_t *out, void *add_arg);
-
-// SSL_custom_ext_parse_cb is a callback function that is called by OpenSSL to
-// parse an extension from the peer: that is from the ServerHello for a client
-// and from the ClientHello for a server.
-//
-// When called, |extension_value| will contain the extension number and the
-// contents of the extension are |contents_len| bytes at |contents|.
-//
-// The callback must return one to continue the handshake. Otherwise, if it
-// returns zero, a fatal alert with value |*out_alert_value| is sent and the
-// handshake is aborted.
-typedef int (*SSL_custom_ext_parse_cb)(SSL *ssl, unsigned extension_value,
-                                       const uint8_t *contents,
-                                       size_t contents_len,
-                                       int *out_alert_value, void *parse_arg);
-
-// SSL_extension_supported returns one iff OpenSSL internally handles
-// extensions of type |extension_value|. This can be used to avoid registering
-// custom extension handlers for extensions that a future version of OpenSSL
-// may handle internally.
-OPENSSL_EXPORT int SSL_extension_supported(unsigned extension_value);
-
-// SSL_CTX_add_client_custom_ext registers callback functions for handling
-// custom TLS extensions for client connections.
-//
-// If |add_cb| is NULL then an empty extension will be added in each
-// ClientHello. Otherwise, see the comment for |SSL_custom_ext_add_cb| about
-// this callback.
-//
-// The |free_cb| may be NULL if |add_cb| doesn't dynamically allocate data that
-// needs to be freed.
-//
-// It returns one on success or zero on error. It's always an error to register
-// callbacks for the same extension twice, or to register callbacks for an
-// extension that OpenSSL handles internally. See |SSL_extension_supported| to
-// discover, at runtime, which extensions OpenSSL handles internally.
-OPENSSL_EXPORT int SSL_CTX_add_client_custom_ext(
-    SSL_CTX *ctx, unsigned extension_value, SSL_custom_ext_add_cb add_cb,
-    SSL_custom_ext_free_cb free_cb, void *add_arg,
-    SSL_custom_ext_parse_cb parse_cb, void *parse_arg);
-
-// SSL_CTX_add_server_custom_ext is the same as
-// |SSL_CTX_add_client_custom_ext|, but for server connections.
-//
-// Unlike on the client side, if |add_cb| is NULL no extension will be added.
-// The |add_cb|, if any, will only be called if the ClientHello contained a
-// matching extension.
-OPENSSL_EXPORT int SSL_CTX_add_server_custom_ext(
-    SSL_CTX *ctx, unsigned extension_value, SSL_custom_ext_add_cb add_cb,
-    SSL_custom_ext_free_cb free_cb, void *add_arg,
-    SSL_custom_ext_parse_cb parse_cb, void *parse_arg);
-
-
 // Sessions.
 //
 // An |SSL_SESSION| represents an SSL session that may be resumed in an
@@ -1662,7 +1588,7 @@
     const uint8_t *in, size_t in_len, const SSL_CTX *ctx);
 
 // SSL_SESSION_get_version returns a string describing the TLS or DTLS version
-// |session| was established at. For example, "TLSv1.2" or "SSLv3".
+// |session| was established at. For example, "TLSv1.2" or "DTLSv1".
 OPENSSL_EXPORT const char *SSL_SESSION_get_version(const SSL_SESSION *session);
 
 // SSL_SESSION_get_protocol_version returns the TLS or DTLS version |session|
@@ -1676,11 +1602,20 @@
 OPENSSL_EXPORT int SSL_SESSION_set_protocol_version(SSL_SESSION *session,
                                                     uint16_t version);
 
+// SSL_MAX_SSL_SESSION_ID_LENGTH is the maximum length of an SSL session ID.
+#define SSL_MAX_SSL_SESSION_ID_LENGTH 32
+
 // SSL_SESSION_get_id returns a pointer to a buffer containing |session|'s
 // session ID and sets |*out_len| to its length.
 OPENSSL_EXPORT const uint8_t *SSL_SESSION_get_id(const SSL_SESSION *session,
                                                  unsigned *out_len);
 
+// SSL_SESSION_set1_id sets |session|'s session ID to |sid|, It returns one on
+// success and zero on error. This function may be useful in writing tests but
+// otherwise should not be used.
+OPENSSL_EXPORT int SSL_SESSION_set1_id(SSL_SESSION *session, const uint8_t *sid,
+                                       size_t sid_len);
+
 // SSL_SESSION_get_time returns the time at which |session| was established in
 // seconds since the UNIX epoch.
 OPENSSL_EXPORT uint64_t SSL_SESSION_get_time(const SSL_SESSION *session);
@@ -1701,6 +1636,29 @@
 OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
     SSL_SESSION_get0_peer_certificates(const SSL_SESSION *session);
 
+// SSL_SESSION_get0_signed_cert_timestamp_list sets |*out| and |*out_len| to
+// point to |*out_len| bytes of SCT information stored in |session|. This is
+// only valid for client sessions. The SCT information is a
+// SignedCertificateTimestampList (including the two leading length bytes). See
+// https://tools.ietf.org/html/rfc6962#section-3.3 If no SCT was received then
+// |*out_len| will be zero on return.
+//
+// WARNING: the returned data is not guaranteed to be well formed.
+OPENSSL_EXPORT void SSL_SESSION_get0_signed_cert_timestamp_list(
+    const SSL_SESSION *session, const uint8_t **out, size_t *out_len);
+
+// SSL_SESSION_get0_ocsp_response sets |*out| and |*out_len| to point to
+// |*out_len| bytes of an OCSP response from the server. This is the DER
+// encoding of an OCSPResponse type as defined in RFC 2560.
+//
+// WARNING: the returned data is not guaranteed to be well formed.
+OPENSSL_EXPORT void SSL_SESSION_get0_ocsp_response(const SSL_SESSION *session,
+                                                   const uint8_t **out,
+                                                   size_t *out_len);
+
+// SSL_MAX_MASTER_KEY_LENGTH is the maximum length of a master secret.
+#define SSL_MAX_MASTER_KEY_LENGTH 48
+
 // SSL_SESSION_get_master_key writes up to |max_out| bytes of |session|'s master
 // secret to |out| and returns the number of bytes written. If |max_out| is
 // zero, it returns the size of the master secret.
@@ -1719,6 +1677,12 @@
 OPENSSL_EXPORT uint32_t SSL_SESSION_set_timeout(SSL_SESSION *session,
                                                 uint32_t timeout);
 
+// SSL_SESSION_get0_id_context returns a pointer to a buffer containing
+// |session|'s session ID context (see |SSL_CTX_set_session_id_context|) and
+// sets |*out_len| to its length.
+OPENSSL_EXPORT const uint8_t *SSL_SESSION_get0_id_context(
+    const SSL_SESSION *session, unsigned *out_len);
+
 // SSL_SESSION_set1_id_context sets |session|'s session ID context (see
 // |SSL_CTX_set_session_id_context|) to |sid_ctx|. It returns one on success and
 // zero on error. This function may be useful in writing tests but otherwise
@@ -1751,6 +1715,13 @@
                                             const uint8_t **out_ticket,
                                             size_t *out_len);
 
+// SSL_SESSION_set_ticket sets |session|'s ticket to |ticket|. It returns one on
+// success and zero on error. This function may be useful in writing tests but
+// otherwise should not be used.
+OPENSSL_EXPORT int SSL_SESSION_set_ticket(SSL_SESSION *session,
+                                          const uint8_t *ticket,
+                                          size_t ticket_len);
+
 // SSL_SESSION_get_ticket_lifetime_hint returns ticket lifetime hint of
 // |session| in seconds or zero if none was set.
 OPENSSL_EXPORT uint32_t
@@ -1765,6 +1736,19 @@
 OPENSSL_EXPORT const SSL_CIPHER *SSL_SESSION_get0_cipher(
     const SSL_SESSION *session);
 
+// SSL_SESSION_has_peer_sha256 returns one if |session| has a SHA-256 hash of
+// the peer's certificate retained and zero if the peer did not present a
+// certificate or if this was not enabled when |session| was created. See also
+// |SSL_CTX_set_retain_only_sha256_of_client_certs|.
+OPENSSL_EXPORT int SSL_SESSION_has_peer_sha256(const SSL_SESSION *session);
+
+// SSL_SESSION_get0_peer_sha256 sets |*out_ptr| and |*out_len| to the SHA-256
+// hash of the peer certificate retained in |session|, or NULL and zero if it
+// does not have one. See also |SSL_CTX_set_retain_only_sha256_of_client_certs|.
+OPENSSL_EXPORT void SSL_SESSION_get0_peer_sha256(const SSL_SESSION *session,
+                                                 const uint8_t **out_ptr,
+                                                 size_t *out_len);
+
 
 // Session caching.
 //
@@ -1848,7 +1832,11 @@
 
 // SSL_set_session, for a client, configures |ssl| to offer to resume |session|
 // in the initial handshake and returns one. The caller retains ownership of
-// |session|.
+// |session|. Note that configuring a session assumes the authentication in the
+// session is valid. For callers that wish to revalidate the session before
+// offering, see |SSL_SESSION_get0_peer_certificates|,
+// |SSL_SESSION_get0_signed_cert_timestamp_list|, and
+// |SSL_SESSION_get0_ocsp_response|.
 //
 // It is an error to call this function after the handshake has begun.
 OPENSSL_EXPORT int SSL_set_session(SSL *ssl, SSL_SESSION *session);
@@ -1881,6 +1869,9 @@
 // sessions created in |ctx|.
 OPENSSL_EXPORT uint32_t SSL_CTX_get_timeout(const SSL_CTX *ctx);
 
+// SSL_MAX_SID_CTX_LENGTH is the maximum length of a session ID context.
+#define SSL_MAX_SID_CTX_LENGTH 32
+
 // SSL_CTX_set_session_id_context sets |ctx|'s session ID context to |sid_ctx|.
 // It returns one on success and zero on error. The session ID context is an
 // application-defined opaque byte string. A session will not be used in a
@@ -1899,7 +1890,7 @@
                                               size_t sid_ctx_len);
 
 // SSL_get0_session_id_context returns a pointer to |ssl|'s session ID context
-// and sets |*out_len| to its length.
+// and sets |*out_len| to its length.  It returns NULL on error.
 OPENSSL_EXPORT const uint8_t *SSL_get0_session_id_context(const SSL *ssl,
                                                           size_t *out_len);
 
@@ -2303,7 +2294,7 @@
 OPENSSL_EXPORT int SSL_CTX_get_verify_mode(const SSL_CTX *ctx);
 
 // SSL_get_verify_mode returns |ssl|'s verify mode, set by |SSL_CTX_set_verify|
-// or |SSL_set_verify|.
+// or |SSL_set_verify|.  It returns -1 on error.
 OPENSSL_EXPORT int SSL_get_verify_mode(const SSL *ssl);
 
 // SSL_CTX_get_verify_callback returns the callback set by
@@ -2540,8 +2531,8 @@
 //
 // The returned stack is owned by |ssl|, as are its contents. It should not be
 // used past the point where the handshake is restarted after the callback.
-OPENSSL_EXPORT STACK_OF(CRYPTO_BUFFER) *SSL_get0_server_requested_CAs(
-    const SSL *ssl);
+OPENSSL_EXPORT const STACK_OF(CRYPTO_BUFFER) *
+    SSL_get0_server_requested_CAs(const SSL *ssl);
 
 // SSL_CTX_get_client_CA_list returns |ctx|'s client certificate CA list.
 OPENSSL_EXPORT STACK_OF(X509_NAME) *
@@ -2696,6 +2687,54 @@
                                                           int enabled);
 
 
+// Certificate compression.
+//
+// Certificates in TLS 1.3 can be compressed[1]. BoringSSL supports this as both
+// a client and a server, but does not link against any specific compression
+// libraries in order to keep dependencies to a minimum. Instead, hooks for
+// compression and decompression can be installed in an |SSL_CTX| to enable
+// support.
+//
+// [1] https://tools.ietf.org/html/draft-ietf-tls-certificate-compression-03.
+
+// ssl_cert_compression_func_t is a pointer to a function that performs
+// compression. It must write the compressed representation of |in| to |out|,
+// returning one on success and zero on error. The results of compressing
+// certificates are not cached internally. Implementations may wish to implement
+// their own cache if they expect it to be useful given the certificates that
+// they serve.
+typedef int (*ssl_cert_compression_func_t)(SSL *ssl, CBB *out,
+                                           const uint8_t *in, size_t in_len);
+
+// ssl_cert_decompression_func_t is a pointer to a function that performs
+// decompression. The compressed data from the peer is passed as |in| and the
+// decompressed result must be exactly |uncompressed_len| bytes long. It returns
+// one on success, in which case |*out| must be set to the result of
+// decompressing |in|, or zero on error. Setting |*out| transfers ownership,
+// i.e. |CRYPTO_BUFFER_free| will be called on |*out| at some point in the
+// future. The results of decompressions are not cached internally.
+// Implementations may wish to implement their own cache if they expect it to be
+// useful.
+typedef int (*ssl_cert_decompression_func_t)(SSL *ssl, CRYPTO_BUFFER **out,
+                                             size_t uncompressed_len,
+                                             const uint8_t *in, size_t in_len);
+
+// SSL_CTX_add_cert_compression_alg registers a certificate compression
+// algorithm on |ctx| with ID |alg_id|. (The value of |alg_id| should be an IANA
+// assigned value and each can only be registered once.)
+//
+// One of the function pointers may be NULL to avoid having to implement both
+// sides of a compression algorithm if you're only going to use it in one
+// direction. In this case, the unimplemented direction acts like it was never
+// configured.
+//
+// For a server, algorithms are registered in preference order with the most
+// preferable first. It returns one on success or zero on error.
+OPENSSL_EXPORT int SSL_CTX_add_cert_compression_alg(
+    SSL_CTX *ctx, uint16_t alg_id, ssl_cert_compression_func_t compress,
+    ssl_cert_decompression_func_t decompress);
+
+
 // Next protocol negotiation.
 //
 // The NPN extension (draft-agl-tls-nextprotoneg-03) is the predecessor to ALPN
@@ -3108,11 +3147,11 @@
 
 // Alerts.
 //
-// TLS and SSL 3.0 use alerts to signal error conditions. Alerts have a type
-// (warning or fatal) and description. OpenSSL internally handles fatal alerts
-// with dedicated error codes (see |SSL_AD_REASON_OFFSET|). Except for
-// close_notify, warning alerts are silently ignored and may only be surfaced
-// with |SSL_CTX_set_info_callback|.
+// TLS uses alerts to signal error conditions. Alerts have a type (warning or
+// fatal) and description. OpenSSL internally handles fatal alerts with
+// dedicated error codes (see |SSL_AD_REASON_OFFSET|). Except for close_notify,
+// warning alerts are silently ignored and may only be surfaced with
+// |SSL_CTX_set_info_callback|.
 
 // SSL_AD_REASON_OFFSET is the offset between error reasons and |SSL_AD_*|
 // values. Any error code under |ERR_LIB_SSL| with an error reason above this
@@ -3123,7 +3162,7 @@
 // This value must be kept in sync with reservedReasonCode in make_errors.h
 #define SSL_AD_REASON_OFFSET 1000
 
-// SSL_AD_* are alert descriptions for SSL 3.0 and TLS.
+// SSL_AD_* are alert descriptions.
 #define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY
 #define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE
 #define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC
@@ -3131,7 +3170,7 @@
 #define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW
 #define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE
 #define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE
-#define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE  // Not used in TLS
+#define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE  // Legacy SSL 3.0 value
 #define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE
 #define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE
 #define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED
@@ -3211,7 +3250,7 @@
 // SSL_get_ivs sets |*out_iv_len| to the length of the IVs for the ciphers
 // underlying |ssl| and sets |*out_read_iv| and |*out_write_iv| to point to the
 // current IVs for the read and write directions. This is only meaningful for
-// connections with implicit IVs (i.e. CBC mode with SSLv3 or TLS 1.0).
+// connections with implicit IVs (i.e. CBC mode with TLS 1.0).
 //
 // It returns one on success or zero on error.
 OPENSSL_EXPORT int SSL_get_ivs(const SSL *ssl, const uint8_t **out_read_iv,
@@ -3303,6 +3342,26 @@
 OPENSSL_EXPORT void SSL_CTX_set_current_time_cb(
     SSL_CTX *ctx, void (*cb)(const SSL *ssl, struct timeval *out_clock));
 
+// SSL_set_shed_handshake_config allows some of the configuration of |ssl| to be
+// freed after its handshake completes.  Once configuration has been shed, APIs
+// that query it may fail.  "Configuration" in this context means anything that
+// was set by the caller, as distinct from information derived from the
+// handshake.  For example, |SSL_get_ciphers| queries how the |SSL| was
+// configured by the caller, and fails after configuration has been shed,
+// whereas |SSL_get_cipher| queries the result of the handshake, and is
+// unaffected by configuration shedding.
+//
+// If configuration shedding is enabled, it is an error to call |SSL_clear|.
+//
+// Note that configuration shedding as a client additionally depends on
+// renegotiation being disabled (see |SSL_set_renegotiate_mode|). If
+// renegotiation is possible, the configuration will be retained. If
+// configuration shedding is enabled and renegotiation later disabled after the
+// handshake, |SSL_set_renegotiate_mode| will shed configuration then. This may
+// be useful for clients which support renegotiation with some ALPN protocols,
+// such as HTTP/1.1, and not others, such as HTTP/2.
+OPENSSL_EXPORT void SSL_set_shed_handshake_config(SSL *ssl, int enable);
+
 enum ssl_renegotiate_mode_t {
   ssl_renegotiate_never = 0,
   ssl_renegotiate_once,
@@ -3321,6 +3380,13 @@
 // Note that ignoring HelloRequest messages may cause the connection to stall
 // if the server waits for the renegotiation to complete.
 //
+// If configuration shedding is enabled (see |SSL_set_shed_handshake_config|),
+// configuration is released if, at any point after the handshake, renegotiation
+// is disabled. It is not possible to switch from disabling renegotiation to
+// enabling it on a given connection. Callers that condition renegotiation on,
+// e.g., ALPN must enable renegotiation before the handshake and conditionally
+// disable it afterwards.
+//
 // There is no support in BoringSSL for initiating renegotiations as a client
 // or server.
 OPENSSL_EXPORT void SSL_set_renegotiate_mode(SSL *ssl,
@@ -3336,7 +3402,8 @@
 
 enum tls13_variant_t {
   tls13_default = 0,
-  tls13_draft28 = 1,
+  tls13_draft23,
+  tls13_draft28,
 };
 
 // SSL_CTX_set_tls13_variant sets which variant of TLS 1.3 we negotiate. On the
@@ -3454,14 +3521,20 @@
 OPENSSL_EXPORT void SSL_CTX_set_dos_protection_cb(
     SSL_CTX *ctx, int (*cb)(const SSL_CLIENT_HELLO *));
 
-// SSL_ST_* are possible values for |SSL_state| and the bitmasks that make them
-// up.
+// SSL_ST_* are possible values for |SSL_state|, the bitmasks that make them up,
+// and some historical values for compatibility. Only |SSL_ST_INIT| and
+// |SSL_ST_OK| are ever returned.
 #define SSL_ST_CONNECT 0x1000
 #define SSL_ST_ACCEPT 0x2000
 #define SSL_ST_MASK 0x0FFF
 #define SSL_ST_INIT (SSL_ST_CONNECT | SSL_ST_ACCEPT)
 #define SSL_ST_OK 0x03
 #define SSL_ST_RENEGOTIATE (0x04 | SSL_ST_INIT)
+#define SSL_ST_BEFORE (0x05 | SSL_ST_INIT)
+
+// TLS_ST_* are aliases for |SSL_ST_*| for OpenSSL 1.1.0 compatibility.
+#define TLS_ST_OK SSL_ST_OK
+#define TLS_ST_BEFORE SSL_ST_BEFORE
 
 // SSL_CB_* are possible values for the |type| parameter in the info
 // callback and the bitmasks that make them up.
@@ -3565,7 +3638,8 @@
 // the SHA-256 hash of peer's certificate should be saved in memory and in the
 // session. This can save memory, ticket size and session cache space. If
 // enabled, |SSL_get_peer_certificate| will return NULL after the handshake
-// completes. See the |peer_sha256| field of |SSL_SESSION| for the hash.
+// completes. See |SSL_SESSION_has_peer_sha256| and
+// |SSL_SESSION_get0_peer_sha256| to query the hash.
 OPENSSL_EXPORT void SSL_set_retain_only_sha256_of_client_certs(SSL *ssl,
                                                                int enable);
 
@@ -3573,7 +3647,8 @@
 // only the SHA-256 hash of peer's certificate should be saved in memory and in
 // the session. This can save memory, ticket size and session cache space. If
 // enabled, |SSL_get_peer_certificate| will return NULL after the handshake
-// completes. See the |peer_sha256| field of |SSL_SESSION| for the hash.
+// completes. See |SSL_SESSION_has_peer_sha256| and
+// |SSL_SESSION_get0_peer_sha256| to query the hash.
 OPENSSL_EXPORT void SSL_CTX_set_retain_only_sha256_of_client_certs(SSL_CTX *ctx,
                                                                    int enable);
 
@@ -3750,14 +3825,14 @@
 // SSL_CTX_get_read_ahead returns zero.
 OPENSSL_EXPORT int SSL_CTX_get_read_ahead(const SSL_CTX *ctx);
 
-// SSL_CTX_set_read_ahead does nothing.
-OPENSSL_EXPORT void SSL_CTX_set_read_ahead(SSL_CTX *ctx, int yes);
+// SSL_CTX_set_read_ahead returns one.
+OPENSSL_EXPORT int SSL_CTX_set_read_ahead(SSL_CTX *ctx, int yes);
 
 // SSL_get_read_ahead returns zero.
 OPENSSL_EXPORT int SSL_get_read_ahead(const SSL *ssl);
 
-// SSL_set_read_ahead does nothing.
-OPENSSL_EXPORT void SSL_set_read_ahead(SSL *ssl, int yes);
+// SSL_set_read_ahead returns one.
+OPENSSL_EXPORT int SSL_set_read_ahead(SSL *ssl, int yes);
 
 // SSL_renegotiate put an error on the error queue and returns zero.
 OPENSSL_EXPORT int SSL_renegotiate(SSL *ssl);
@@ -3828,7 +3903,7 @@
 OPENSSL_EXPORT const COMP_METHOD *SSL_get_current_expansion(SSL *ssl);
 
 // SSL_get_server_tmp_key returns zero.
-OPENSSL_EXPORT int *SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **out_key);
+OPENSSL_EXPORT int SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **out_key);
 
 // SSL_CTX_set_tmp_dh returns 1.
 OPENSSL_EXPORT int SSL_CTX_set_tmp_dh(SSL_CTX *ctx, const DH *dh);
@@ -3845,6 +3920,54 @@
                                             DH *(*cb)(SSL *ssl, int is_export,
                                                       int keylength));
 
+// SSL_CTX_set1_sigalgs takes |num_values| ints and interprets them as pairs
+// where the first is the nid of a hash function and the second is an
+// |EVP_PKEY_*| value. It configures the signature algorithm preferences for
+// |ctx| based on them and returns one on success or zero on error.
+//
+// This API is compatible with OpenSSL. However, BoringSSL-specific code should
+// prefer |SSL_CTX_set_signing_algorithm_prefs| because it's clearer and it's
+// more convenient to codesearch for specific algorithm values.
+OPENSSL_EXPORT int SSL_CTX_set1_sigalgs(SSL_CTX *ctx, const int *values,
+                                        size_t num_values);
+
+// SSL_set1_sigalgs takes |num_values| ints and interprets them as pairs where
+// the first is the nid of a hash function and the second is an |EVP_PKEY_*|
+// value. It configures the signature algorithm preferences for |ssl| based on
+// them and returns one on success or zero on error.
+//
+// This API is compatible with OpenSSL. However, BoringSSL-specific code should
+// prefer |SSL_CTX_set_signing_algorithm_prefs| because it's clearer and it's
+// more convenient to codesearch for specific algorithm values.
+OPENSSL_EXPORT int SSL_set1_sigalgs(SSL *ssl, const int *values,
+                                    size_t num_values);
+
+// SSL_CTX_set1_sigalgs_list takes a textual specification of a set of signature
+// algorithms and configures them on |ctx|. It returns one on success and zero
+// on error. See
+// https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set1_sigalgs_list.html for
+// a description of the text format. Also note that TLS 1.3 names (e.g.
+// "rsa_pkcs1_md5_sha1") can also be used (as in OpenSSL, although OpenSSL
+// doesn't document that).
+//
+// This API is compatible with OpenSSL. However, BoringSSL-specific code should
+// prefer |SSL_CTX_set_signing_algorithm_prefs| because it's clearer and it's
+// more convenient to codesearch for specific algorithm values.
+OPENSSL_EXPORT int SSL_CTX_set1_sigalgs_list(SSL_CTX *ctx, const char *str);
+
+// SSL_set1_sigalgs_list takes a textual specification of a set of signature
+// algorithms and configures them on |ssl|. It returns one on success and zero
+// on error. See
+// https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set1_sigalgs_list.html for
+// a description of the text format. Also note that TLS 1.3 names (e.g.
+// "rsa_pkcs1_md5_sha1") can also be used (as in OpenSSL, although OpenSSL
+// doesn't document that).
+//
+// This API is compatible with OpenSSL. However, BoringSSL-specific code should
+// prefer |SSL_CTX_set_signing_algorithm_prefs| because it's clearer and it's
+// more convenient to codesearch for specific algorithm values.
+OPENSSL_EXPORT int SSL_set1_sigalgs_list(SSL *ssl, const char *str);
+
 
 #define SSL_set_app_data(s, arg) (SSL_set_ex_data(s, 0, (char *)(arg)))
 #define SSL_get_app_data(s) (SSL_get_ex_data(s, 0))
@@ -3900,6 +4023,7 @@
 #define SSL_OP_NO_COMPRESSION 0
 #define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0
 #define SSL_OP_NO_SSLv2 0
+#define SSL_OP_NO_SSLv3 0
 #define SSL_OP_PKCS1_CHECK_1 0
 #define SSL_OP_PKCS1_CHECK_2 0
 #define SSL_OP_SINGLE_DH_USE 0
@@ -3918,7 +4042,7 @@
 OPENSSL_EXPORT long SSL_get_default_timeout(const SSL *ssl);
 
 // SSL_get_version returns a string describing the TLS version used by |ssl|.
-// For example, "TLSv1.2" or "SSLv3".
+// For example, "TLSv1.2" or "DTLSv1".
 OPENSSL_EXPORT const char *SSL_get_version(const SSL *ssl);
 
 // SSL_get_cipher_list returns the name of the |n|th cipher in the output of
@@ -3965,15 +4089,15 @@
 
  // SSL_get_finished writes up to |count| bytes of the Finished message sent by
  // |ssl| to |buf|. It returns the total untruncated length or zero if none has
- // been sent yet. At SSL 3.0 or TLS 1.3 and later, it returns zero.
+ // been sent yet. At TLS 1.3 and later, it returns zero.
  //
  // Use |SSL_get_tls_unique| instead.
 OPENSSL_EXPORT size_t SSL_get_finished(const SSL *ssl, void *buf, size_t count);
 
  // SSL_get_peer_finished writes up to |count| bytes of the Finished message
  // received from |ssl|'s peer to |buf|. It returns the total untruncated length
- // or zero if none has been received yet. At SSL 3.0 or TLS 1.3 and later, it
- // returns zero.
+ // or zero if none has been received yet. At TLS 1.3 and later, it returns
+ // zero.
  //
  // Use |SSL_get_tls_unique| instead.
 OPENSSL_EXPORT size_t SSL_get_peer_finished(const SSL *ssl, void *buf,
@@ -4138,142 +4262,57 @@
 #define SSL_SIGN_RSA_PSS_SHA384 SSL_SIGN_RSA_PSS_RSAE_SHA384
 #define SSL_SIGN_RSA_PSS_SHA512 SSL_SIGN_RSA_PSS_RSAE_SHA512
 
-
-// Private structures.
+// SSL_set_tlsext_status_type configures a client to request OCSP stapling if
+// |type| is |TLSEXT_STATUSTYPE_ocsp| and disables it otherwise. It returns one
+// on success and zero if handshake configuration has already been shed.
 //
-// This structures are exposed for historical reasons, but access to them is
-// deprecated.
+// Use |SSL_enable_ocsp_stapling| instead.
+OPENSSL_EXPORT int SSL_set_tlsext_status_type(SSL *ssl, int type);
 
-// TODO(davidben): Remove this forward declaration when |SSL_SESSION| is opaque.
-typedef struct ssl_x509_method_st SSL_X509_METHOD;
+// SSL_set_tlsext_status_ocsp_resp sets the OCSP response. It returns one on
+// success and zero on error. On success, |ssl| takes ownership of |resp|, which
+// must have been allocated by |OPENSSL_malloc|.
+//
+// Use |SSL_set_ocsp_response| instead.
+OPENSSL_EXPORT int SSL_set_tlsext_status_ocsp_resp(SSL *ssl, uint8_t *resp,
+                                                   size_t resp_len);
 
-#define SSL_MAX_SSL_SESSION_ID_LENGTH 32
-#define SSL_MAX_SID_CTX_LENGTH 32
-#define SSL_MAX_MASTER_KEY_LENGTH 48
+// SSL_get_tlsext_status_ocsp_resp sets |*out| to point to the OCSP response
+// from the server. It returns the length of the response. If there was no
+// response, it sets |*out| to NULL and returns zero.
+//
+// Use |SSL_get0_ocsp_response| instead.
+//
+// WARNING: the returned data is not guaranteed to be well formed.
+OPENSSL_EXPORT size_t SSL_get_tlsext_status_ocsp_resp(const SSL *ssl,
+                                                      const uint8_t **out);
 
-struct ssl_session_st {
-  CRYPTO_refcount_t references;
-  uint16_t ssl_version;  // what ssl version session info is being kept in here?
+// SSL_CTX_set_tlsext_status_cb configures the legacy OpenSSL OCSP callback and
+// returns one. Though the type signature is the same, this callback has
+// different behavior for client and server connections:
+//
+// For clients, the callback is called after certificate verification. It should
+// return one for success, zero for a bad OCSP response, and a negative number
+// for internal error. Instead, handle this as part of certificate verification.
+// (Historically, OpenSSL verified certificates just before parsing stapled OCSP
+// responses, but BoringSSL fixes this ordering. All server credentials are
+// available during verification.)
+//
+// Do not use this callback as a server. It is provided for compatibility
+// purposes only. For servers, it is called to configure server credentials. It
+// should return |SSL_TLSEXT_ERR_OK| on success, |SSL_TLSEXT_ERR_NOACK| to
+// ignore OCSP requests, or |SSL_TLSEXT_ERR_ALERT_FATAL| on error. It is usually
+// used to fetch OCSP responses on demand, which is not ideal. Instead, treat
+// OCSP responses like other server credentials, such as certificates or SCT
+// lists. Configure, store, and refresh them eagerly. This avoids downtime if
+// the CA's OCSP responder is briefly offline.
+OPENSSL_EXPORT int SSL_CTX_set_tlsext_status_cb(SSL_CTX *ctx,
+                                                int (*callback)(SSL *ssl,
+                                                                void *arg));
 
-  // group_id is the ID of the ECDH group used to establish this session or zero
-  // if not applicable or unknown.
-  uint16_t group_id;
-
-  // peer_signature_algorithm is the signature algorithm used to authenticate
-  // the peer, or zero if not applicable or unknown.
-  uint16_t peer_signature_algorithm;
-
-  // master_key, in TLS 1.2 and below, is the master secret associated with the
-  // session. In TLS 1.3 and up, it is the resumption secret.
-  int master_key_length;
-  uint8_t master_key[SSL_MAX_MASTER_KEY_LENGTH];
-
-  // session_id - valid?
-  unsigned int session_id_length;
-  uint8_t session_id[SSL_MAX_SSL_SESSION_ID_LENGTH];
-  // this is used to determine whether the session is being reused in
-  // the appropriate context. It is up to the application to set this,
-  // via SSL_new
-  uint8_t sid_ctx_length;
-  uint8_t sid_ctx[SSL_MAX_SID_CTX_LENGTH];
-
-  char *psk_identity;
-
-  // certs contains the certificate chain from the peer, starting with the leaf
-  // certificate.
-  STACK_OF(CRYPTO_BUFFER) *certs;
-
-  const SSL_X509_METHOD *x509_method;
-
-  // x509_peer is the peer's certificate.
-  X509 *x509_peer;
-
-  // x509_chain is the certificate chain sent by the peer. NOTE: for historical
-  // reasons, when a client (so the peer is a server), the chain includes
-  // |peer|, but when a server it does not.
-  STACK_OF(X509) *x509_chain;
-
-  // x509_chain_without_leaf is a lazily constructed copy of |x509_chain| that
-  // omits the leaf certificate. This exists because OpenSSL, historically,
-  // didn't include the leaf certificate in the chain for a server, but did for
-  // a client. The |x509_chain| always includes it and, if an API call requires
-  // a chain without, it is stored here.
-  STACK_OF(X509) *x509_chain_without_leaf;
-
-  // verify_result is the result of certificate verification in the case of
-  // non-fatal certificate errors.
-  long verify_result;
-
-  // timeout is the lifetime of the session in seconds, measured from |time|.
-  // This is renewable up to |auth_timeout|.
-  uint32_t timeout;
-
-  // auth_timeout is the non-renewable lifetime of the session in seconds,
-  // measured from |time|.
-  uint32_t auth_timeout;
-
-  // time is the time the session was issued, measured in seconds from the UNIX
-  // epoch.
-  uint64_t time;
-
-  const SSL_CIPHER *cipher;
-
-  CRYPTO_EX_DATA ex_data;  // application specific data
-
-  // These are used to make removal of session-ids more efficient and to
-  // implement a maximum cache size.
-  SSL_SESSION *prev, *next;
-
-  // RFC4507 info
-  uint8_t *tlsext_tick;               // Session ticket
-  size_t tlsext_ticklen;              // Session ticket length
-
-  CRYPTO_BUFFER *signed_cert_timestamp_list;
-
-  // The OCSP response that came with the session.
-  CRYPTO_BUFFER *ocsp_response;
-
-  // peer_sha256 contains the SHA-256 hash of the peer's certificate if
-  // |peer_sha256_valid| is true.
-  uint8_t peer_sha256[SHA256_DIGEST_LENGTH];
-
-  // original_handshake_hash contains the handshake hash (either SHA-1+MD5 or
-  // SHA-2, depending on TLS version) for the original, full handshake that
-  // created a session. This is used by Channel IDs during resumption.
-  uint8_t original_handshake_hash[EVP_MAX_MD_SIZE];
-  uint8_t original_handshake_hash_len;
-
-  uint32_t tlsext_tick_lifetime_hint;  // Session lifetime hint in seconds
-
-  uint32_t ticket_age_add;
-
-  // ticket_max_early_data is the maximum amount of data allowed to be sent as
-  // early data. If zero, 0-RTT is disallowed.
-  uint32_t ticket_max_early_data;
-
-  // early_alpn is the ALPN protocol from the initial handshake. This is only
-  // stored for TLS 1.3 and above in order to enforce ALPN matching for 0-RTT
-  // resumptions.
-  uint8_t *early_alpn;
-  size_t early_alpn_len;
-
-  // extended_master_secret is true if the master secret in this session was
-  // generated using EMS and thus isn't vulnerable to the Triple Handshake
-  // attack.
-  unsigned extended_master_secret:1;
-
-  // peer_sha256_valid is non-zero if |peer_sha256| is valid.
-  unsigned peer_sha256_valid:1;  // Non-zero if peer_sha256 is valid
-
-  // not_resumable is used to indicate that session resumption is disallowed.
-  unsigned not_resumable:1;
-
-  // ticket_age_add_valid is non-zero if |ticket_age_add| is valid.
-  unsigned ticket_age_add_valid:1;
-
-  // is_server is true if this session was created by a server.
-  unsigned is_server:1;
-};
+// SSL_CTX_set_tlsext_status_arg sets additional data for
+// |SSL_CTX_set_tlsext_status_cb|'s callback and returns one.
+OPENSSL_EXPORT int SSL_CTX_set_tlsext_status_arg(SSL_CTX *ctx, void *arg);
 
 
 // Nodejs compatibility section (hidden).
@@ -4315,6 +4354,7 @@
 #define SSL_CTRL_GET_NUM_RENEGOTIATIONS doesnt_exist
 #define SSL_CTRL_GET_READ_AHEAD doesnt_exist
 #define SSL_CTRL_GET_RI_SUPPORT doesnt_exist
+#define SSL_CTRL_GET_SERVER_TMP_KEY doesnt_exist
 #define SSL_CTRL_GET_SESSION_REUSED doesnt_exist
 #define SSL_CTRL_GET_SESS_CACHE_MODE doesnt_exist
 #define SSL_CTRL_GET_SESS_CACHE_SIZE doesnt_exist
@@ -4428,7 +4468,9 @@
 
 BORINGSSL_MAKE_DELETER(SSL, SSL_free)
 BORINGSSL_MAKE_DELETER(SSL_CTX, SSL_CTX_free)
+BORINGSSL_MAKE_UP_REF(SSL_CTX, SSL_CTX_up_ref)
 BORINGSSL_MAKE_DELETER(SSL_SESSION, SSL_SESSION_free)
+BORINGSSL_MAKE_UP_REF(SSL_SESSION, SSL_SESSION_up_ref)
 
 enum class OpenRecordResult {
   kOK,
@@ -4527,6 +4569,7 @@
 // WARNING: |SSL_apply_handoff| may trigger “msg” callback calls.
 
 OPENSSL_EXPORT void SSL_CTX_set_handoff_mode(SSL_CTX *ctx, bool on);
+OPENSSL_EXPORT void SSL_set_handoff_mode(SSL *SSL, bool on);
 OPENSSL_EXPORT bool SSL_serialize_handoff(const SSL *ssl, CBB *out);
 OPENSSL_EXPORT bool SSL_decline_handoff(SSL *ssl);
 OPENSSL_EXPORT bool SSL_apply_handoff(SSL *ssl, Span<const uint8_t> handoff);
@@ -4728,6 +4771,15 @@
 #define SSL_R_NEGOTIATED_TB_WITHOUT_EMS_OR_RI 285
 #define SSL_R_SERVER_ECHOED_INVALID_SESSION_ID 286
 #define SSL_R_PRIVATE_KEY_OPERATION_FAILED 287
+#define SSL_R_SECOND_SERVERHELLO_VERSION_MISMATCH 288
+#define SSL_R_OCSP_CB_ERROR 289
+#define SSL_R_SSL_SESSION_ID_TOO_LONG 290
+#define SSL_R_APPLICATION_DATA_ON_SHUTDOWN 291
+#define SSL_R_CERT_DECOMPRESSION_FAILED 292
+#define SSL_R_UNCOMPRESSED_CERT_TOO_LARGE 293
+#define SSL_R_UNKNOWN_CERT_COMPRESSION_ALG 294
+#define SSL_R_INVALID_SIGNATURE_ALGORITHM 295
+#define SSL_R_DUPLICATE_SIGNATURE_ALGORITHM 296
 #define SSL_R_SSLV3_ALERT_CLOSE_NOTIFY 1000
 #define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
 #define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020
diff --git a/src/include/openssl/ssl3.h b/src/include/openssl/ssl3.h
index e32a6d7..67d06f4 100644
--- a/src/include/openssl/ssl3.h
+++ b/src/include/openssl/ssl3.h
@@ -311,6 +311,7 @@
 #define SSL3_MT_CERTIFICATE_STATUS 22
 #define SSL3_MT_SUPPLEMENTAL_DATA 23
 #define SSL3_MT_KEY_UPDATE 24
+#define SSL3_MT_COMPRESSED_CERTIFICATE 25
 #define SSL3_MT_NEXT_PROTO 67
 #define SSL3_MT_CHANNEL_ID 203
 #define SSL3_MT_MESSAGE_HASH 254
diff --git a/src/include/openssl/stack.h b/src/include/openssl/stack.h
index 6975db6..a1cca59 100644
--- a/src/include/openssl/stack.h
+++ b/src/include/openssl/stack.h
@@ -354,11 +354,15 @@
                                           (void (*)(void *))free_func);        \
   }
 
+// DEFINE_NAMED_STACK_OF defines |STACK_OF(name)| to be a stack whose elements
+// are |type| *.
+#define DEFINE_NAMED_STACK_OF(name, type)                    \
+  BORINGSSL_DEFINE_STACK_OF_IMPL(name, type *, const type *) \
+  BORINGSSL_DEFINE_STACK_TRAITS(name, type, false)
+
 // DEFINE_STACK_OF defines |STACK_OF(type)| to be a stack whose elements are
 // |type| *.
-#define DEFINE_STACK_OF(type)                                \
-  BORINGSSL_DEFINE_STACK_OF_IMPL(type, type *, const type *) \
-  BORINGSSL_DEFINE_STACK_TRAITS(type, type, false)
+#define DEFINE_STACK_OF(type) DEFINE_NAMED_STACK_OF(type, type)
 
 // DEFINE_CONST_STACK_OF defines |STACK_OF(type)| to be a stack whose elements
 // are const |type| *.
diff --git a/src/include/openssl/tls1.h b/src/include/openssl/tls1.h
index 2aa018b..e395852 100644
--- a/src/include/openssl/tls1.h
+++ b/src/include/openssl/tls1.h
@@ -205,8 +205,14 @@
 // ExtensionType value from draft-ietf-tokbind-negotiation-10
 #define TLSEXT_TYPE_token_binding 24
 
-// ExtensionType value from draft-ietf-quic-tls
-#define TLSEXT_TYPE_quic_transport_parameters 26
+// ExtensionType value from draft-ietf-quic-tls. Note that this collides with
+// TLS-LTS and, based on scans, something else too. Since it's QUIC-only, that
+// shouldn't be a problem in practice.
+#define TLSEXT_TYPE_quic_transport_parameters 0xffa5
+
+// ExtensionType value assigned to
+// https://tools.ietf.org/html/draft-ietf-tls-certificate-compression-03
+#define TLSEXT_TYPE_cert_compression 27
 
 // ExtensionType value from RFC4507
 #define TLSEXT_TYPE_session_ticket 35
@@ -238,6 +244,7 @@
 #define TLSEXT_TYPE_dummy_pq_padding 54537
 
 // status request value from RFC 3546
+#define TLSEXT_STATUSTYPE_nothing (-1)
 #define TLSEXT_STATUSTYPE_ocsp 1
 
 // ECPointFormat values from RFC 4492
@@ -259,6 +266,10 @@
 #define TLSEXT_hash_sha384 5
 #define TLSEXT_hash_sha512 6
 
+// From https://tools.ietf.org/html/draft-ietf-tls-certificate-compression-03#section-3
+#define TLSEXT_cert_compression_zlib 1
+#define TLSEXT_cert_compression_brotli 2
+
 #define TLSEXT_MAXLEN_host_name 255
 
 // PSK ciphersuites from 4279
diff --git a/src/include/openssl/x509.h b/src/include/openssl/x509.h
index b336e0f..79cadc3 100644
--- a/src/include/openssl/x509.h
+++ b/src/include/openssl/x509.h
@@ -671,6 +671,8 @@
 OPENSSL_EXPORT EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a);
 OPENSSL_EXPORT int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey);
 OPENSSL_EXPORT EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a);
+OPENSSL_EXPORT DH *d2i_DHparams_bio(BIO *bp, DH **dh);
+OPENSSL_EXPORT int i2d_DHparams_bio(BIO *bp, const DH *dh);
 
 OPENSSL_EXPORT X509 *X509_dup(X509 *x509);
 OPENSSL_EXPORT X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa);
@@ -762,6 +764,8 @@
 OPENSSL_EXPORT int		i2d_X509_AUX(X509 *a,unsigned char **pp);
 OPENSSL_EXPORT X509 *		d2i_X509_AUX(X509 **a,const unsigned char **pp,long length);
 
+OPENSSL_EXPORT int i2d_re_X509_tbs(X509 *x, unsigned char **pp);
+
 OPENSSL_EXPORT void X509_get0_signature(const ASN1_BIT_STRING **psig,
                                         const X509_ALGOR **palg, const X509 *x);
 OPENSSL_EXPORT int X509_get_signature_nid(const X509 *x);
@@ -829,9 +833,15 @@
 OPENSSL_EXPORT EVP_PKEY *	X509_get_pubkey(X509 *x);
 OPENSSL_EXPORT ASN1_BIT_STRING * X509_get0_pubkey_bitstr(const X509 *x);
 OPENSSL_EXPORT STACK_OF(X509_EXTENSION) *X509_get0_extensions(const X509 *x);
+OPENSSL_EXPORT const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *x);
 
 OPENSSL_EXPORT int		X509_REQ_set_version(X509_REQ *x,long version);
 OPENSSL_EXPORT int		X509_REQ_set_subject_name(X509_REQ *req,X509_NAME *name);
+OPENSSL_EXPORT void X509_REQ_get0_signature(const X509_REQ *req,
+                                            const ASN1_BIT_STRING **psig,
+                                            const X509_ALGOR **palg);
+OPENSSL_EXPORT int X509_REQ_get_signature_nid(const X509_REQ *req);
+OPENSSL_EXPORT int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp);
 OPENSSL_EXPORT int		X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey);
 OPENSSL_EXPORT EVP_PKEY *	X509_REQ_get_pubkey(X509_REQ *req);
 OPENSSL_EXPORT int		X509_REQ_extension_nid(int nid);
@@ -866,7 +876,17 @@
 OPENSSL_EXPORT int X509_CRL_sort(X509_CRL *crl);
 OPENSSL_EXPORT int X509_CRL_up_ref(X509_CRL *crl);
 
+OPENSSL_EXPORT void X509_CRL_get0_signature(const X509_CRL *crl,
+                                            const ASN1_BIT_STRING **psig,
+                                            const X509_ALGOR **palg);
+OPENSSL_EXPORT int X509_CRL_get_signature_nid(const X509_CRL *crl);
+OPENSSL_EXPORT int i2d_re_X509_CRL_tbs(X509_CRL *req, unsigned char **pp);
+
+OPENSSL_EXPORT const ASN1_INTEGER *X509_REVOKED_get0_serialNumber(
+    const X509_REVOKED *x);
 OPENSSL_EXPORT int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial);
+OPENSSL_EXPORT const ASN1_TIME *X509_REVOKED_get0_revocationDate(
+    const X509_REVOKED *x);
 OPENSSL_EXPORT int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm);
 
 OPENSSL_EXPORT X509_CRL *X509_CRL_diff(X509_CRL *base, X509_CRL *newer,
@@ -874,7 +894,7 @@
 
 OPENSSL_EXPORT int		X509_REQ_check_private_key(X509_REQ *x509,EVP_PKEY *pkey);
 
-OPENSSL_EXPORT int		X509_check_private_key(X509 *x509,EVP_PKEY *pkey);
+OPENSSL_EXPORT int		X509_check_private_key(X509 *x509, const EVP_PKEY *pkey);
 OPENSSL_EXPORT int 		X509_chain_check_suiteb(int *perror_depth,
 						X509 *x, STACK_OF(X509) *chain,
 						unsigned long flags);
@@ -1112,8 +1132,10 @@
 BORINGSSL_MAKE_DELETER(NETSCAPE_SPKI, NETSCAPE_SPKI_free)
 BORINGSSL_MAKE_DELETER(RSA_PSS_PARAMS, RSA_PSS_PARAMS_free)
 BORINGSSL_MAKE_DELETER(X509, X509_free)
+BORINGSSL_MAKE_UP_REF(X509, X509_up_ref)
 BORINGSSL_MAKE_DELETER(X509_ALGOR, X509_ALGOR_free)
 BORINGSSL_MAKE_DELETER(X509_CRL, X509_CRL_free)
+BORINGSSL_MAKE_UP_REF(X509_CRL, X509_CRL_up_ref)
 BORINGSSL_MAKE_DELETER(X509_CRL_METHOD, X509_CRL_METHOD_free)
 BORINGSSL_MAKE_DELETER(X509_EXTENSION, X509_EXTENSION_free)
 BORINGSSL_MAKE_DELETER(X509_INFO, X509_INFO_free)
diff --git a/src/include/openssl/x509_vfy.h b/src/include/openssl/x509_vfy.h
index 208a380..86aa546 100644
--- a/src/include/openssl/x509_vfy.h
+++ b/src/include/openssl/x509_vfy.h
@@ -158,6 +158,25 @@
 
 DEFINE_STACK_OF(X509_VERIFY_PARAM)
 
+typedef int (*X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *);
+typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *);
+typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **issuer,
+                                            X509_STORE_CTX *ctx, X509 *x);
+typedef int (*X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx,
+                                              X509 *x, X509 *issuer);
+typedef int (*X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx);
+typedef int (*X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx,
+                                         X509_CRL **crl, X509 *x);
+typedef int (*X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl);
+typedef int (*X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx,
+                                          X509_CRL *crl, X509 *x);
+typedef int (*X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx);
+typedef STACK_OF(X509) *(*X509_STORE_CTX_lookup_certs_fn)(X509_STORE_CTX *ctx,
+                                                          X509_NAME *nm);
+typedef STACK_OF(X509_CRL) *(*X509_STORE_CTX_lookup_crls_fn)(X509_STORE_CTX *ctx,
+                                                             X509_NAME *nm);
+typedef int (*X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx);
+
 /* This is used to hold everything.  It is used for all certificate
  * validation.  Once we have a certificate chain, the 'verify'
  * function is then called to actually check the cert chain. */
@@ -175,26 +194,23 @@
 	X509_VERIFY_PARAM *param;
 
 	/* Callbacks for various operations */
-	int (*verify)(X509_STORE_CTX *ctx);	/* called to verify a certificate */
-	int (*verify_cb)(int ok,X509_STORE_CTX *ctx);	/* error callback */
-	int (*get_issuer)(X509 **issuer, X509_STORE_CTX *ctx, X509 *x);	/* get issuers cert from ctx */
-	int (*check_issued)(X509_STORE_CTX *ctx, X509 *x, X509 *issuer); /* check issued */
-	int (*check_revocation)(X509_STORE_CTX *ctx); /* Check revocation status of chain */
-	int (*get_crl)(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); /* retrieve CRL */
-	int (*check_crl)(X509_STORE_CTX *ctx, X509_CRL *crl); /* Check CRL validity */
-	int (*cert_crl)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); /* Check certificate against CRL */
-	STACK_OF(X509) * (*lookup_certs)(X509_STORE_CTX *ctx, X509_NAME *nm);
-	STACK_OF(X509_CRL) * (*lookup_crls)(X509_STORE_CTX *ctx, X509_NAME *nm);
-	int (*cleanup)(X509_STORE_CTX *ctx);
+	X509_STORE_CTX_verify_fn verify;	/* called to verify a certificate */
+	X509_STORE_CTX_verify_cb verify_cb;	/* error callback */
+	X509_STORE_CTX_get_issuer_fn get_issuer;	/* get issuers cert from ctx */
+	X509_STORE_CTX_check_issued_fn check_issued; /* check issued */
+	X509_STORE_CTX_check_revocation_fn check_revocation; /* Check revocation status of chain */
+	X509_STORE_CTX_get_crl_fn get_crl; /* retrieve CRL */
+	X509_STORE_CTX_check_crl_fn check_crl; /* Check CRL validity */
+	X509_STORE_CTX_cert_crl_fn cert_crl; /* Check certificate against CRL */
+	X509_STORE_CTX_lookup_certs_fn lookup_certs;
+	X509_STORE_CTX_lookup_crls_fn lookup_crls;
+	X509_STORE_CTX_cleanup_fn cleanup;
 
 	CRYPTO_refcount_t references;
 	} /* X509_STORE */;
 
 OPENSSL_EXPORT int X509_STORE_set_depth(X509_STORE *store, int depth);
 
-#define X509_STORE_set_verify_cb_func(ctx,func) ((ctx)->verify_cb=(func))
-#define X509_STORE_set_verify_func(ctx,func)	((ctx)->verify=(func))
-
 /* This is the functions plus an instance of the local variables. */
 struct x509_lookup_st
 	{
@@ -222,18 +238,18 @@
 	void *other_ctx;	/* Other info for use with get_issuer() */
 
 	/* Callbacks for various operations */
-	int (*verify)(X509_STORE_CTX *ctx);	/* called to verify a certificate */
-	int (*verify_cb)(int ok,X509_STORE_CTX *ctx);		/* error callback */
-	int (*get_issuer)(X509 **issuer, X509_STORE_CTX *ctx, X509 *x);	/* get issuers cert from ctx */
-	int (*check_issued)(X509_STORE_CTX *ctx, X509 *x, X509 *issuer); /* check issued */
-	int (*check_revocation)(X509_STORE_CTX *ctx); /* Check revocation status of chain */
-	int (*get_crl)(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); /* retrieve CRL */
-	int (*check_crl)(X509_STORE_CTX *ctx, X509_CRL *crl); /* Check CRL validity */
-	int (*cert_crl)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); /* Check certificate against CRL */
-	int (*check_policy)(X509_STORE_CTX *ctx);
-	STACK_OF(X509) * (*lookup_certs)(X509_STORE_CTX *ctx, X509_NAME *nm);
-	STACK_OF(X509_CRL) * (*lookup_crls)(X509_STORE_CTX *ctx, X509_NAME *nm);
-	int (*cleanup)(X509_STORE_CTX *ctx);
+	X509_STORE_CTX_verify_fn verify;	/* called to verify a certificate */
+	X509_STORE_CTX_verify_cb verify_cb;		/* error callback */
+	X509_STORE_CTX_get_issuer_fn get_issuer;	/* get issuers cert from ctx */
+	X509_STORE_CTX_check_issued_fn check_issued; /* check issued */
+	X509_STORE_CTX_check_revocation_fn check_revocation; /* Check revocation status of chain */
+	X509_STORE_CTX_get_crl_fn get_crl; /* retrieve CRL */
+	X509_STORE_CTX_check_crl_fn check_crl; /* Check CRL validity */
+	X509_STORE_CTX_cert_crl_fn cert_crl; /* Check certificate against CRL */
+	X509_STORE_CTX_check_policy_fn check_policy;
+	X509_STORE_CTX_lookup_certs_fn lookup_certs;
+	X509_STORE_CTX_lookup_crls_fn lookup_crls;
+	X509_STORE_CTX_cleanup_fn cleanup;
 
 	/* The following is built up */
 	int valid;		/* if 0, rebuild chain */
@@ -366,8 +382,8 @@
 #define	X509_V_FLAG_CRL_CHECK_ALL		0x8
 /* Ignore unhandled critical extensions */
 #define	X509_V_FLAG_IGNORE_CRITICAL		0x10
-/* Disable workarounds for broken certificates */
-#define	X509_V_FLAG_X509_STRICT			0x20
+/* Does nothing as its functionality has been enabled by default. */
+#define	X509_V_FLAG_X509_STRICT			0x00
 /* Enable proxy certificate validation */
 #define	X509_V_FLAG_ALLOW_PROXY_CERTS		0x40
 /* Enable policy checking */
@@ -441,11 +457,58 @@
 OPENSSL_EXPORT void X509_STORE_set0_additional_untrusted(
     X509_STORE *ctx, STACK_OF(X509) *untrusted);
 
-OPENSSL_EXPORT void X509_STORE_set_verify_cb(X509_STORE *ctx,
-				  int (*verify_cb)(int, X509_STORE_CTX *));
+OPENSSL_EXPORT void X509_STORE_set_verify(X509_STORE *ctx,
+                                          X509_STORE_CTX_verify_fn verify);
+#define X509_STORE_set_verify_func(ctx, func) \
+  X509_STORE_set_verify((ctx), (func))
+OPENSSL_EXPORT void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx,
+                                              X509_STORE_CTX_verify_fn verify);
+OPENSSL_EXPORT X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_verify_cb(
+    X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb);
+#define X509_STORE_set_verify_cb_func(ctx, func) \
+  X509_STORE_set_verify_cb((ctx), (func))
+OPENSSL_EXPORT X509_STORE_CTX_verify_cb
+X509_STORE_get_verify_cb(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_get_issuer(
+    X509_STORE *ctx, X509_STORE_CTX_get_issuer_fn get_issuer);
+OPENSSL_EXPORT X509_STORE_CTX_get_issuer_fn
+X509_STORE_get_get_issuer(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_check_issued(
+    X509_STORE *ctx, X509_STORE_CTX_check_issued_fn check_issued);
+OPENSSL_EXPORT X509_STORE_CTX_check_issued_fn
+X509_STORE_get_check_issued(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_check_revocation(
+    X509_STORE *ctx, X509_STORE_CTX_check_revocation_fn check_revocation);
+OPENSSL_EXPORT X509_STORE_CTX_check_revocation_fn
+X509_STORE_get_check_revocation(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_get_crl(X509_STORE *ctx,
+                                           X509_STORE_CTX_get_crl_fn get_crl);
+OPENSSL_EXPORT X509_STORE_CTX_get_crl_fn
+X509_STORE_get_get_crl(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_check_crl(
+    X509_STORE *ctx, X509_STORE_CTX_check_crl_fn check_crl);
+OPENSSL_EXPORT X509_STORE_CTX_check_crl_fn
+X509_STORE_get_check_crl(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_cert_crl(
+    X509_STORE *ctx, X509_STORE_CTX_cert_crl_fn cert_crl);
+OPENSSL_EXPORT X509_STORE_CTX_cert_crl_fn
+X509_STORE_get_cert_crl(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_lookup_certs(
+    X509_STORE *ctx, X509_STORE_CTX_lookup_certs_fn lookup_certs);
+OPENSSL_EXPORT X509_STORE_CTX_lookup_certs_fn
+X509_STORE_get_lookup_certs(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_lookup_crls(
+    X509_STORE *ctx, X509_STORE_CTX_lookup_crls_fn lookup_crls);
+#define X509_STORE_set_lookup_crls_cb(ctx, func) \
+  X509_STORE_set_lookup_crls((ctx), (func))
+OPENSSL_EXPORT X509_STORE_CTX_lookup_crls_fn
+X509_STORE_get_lookup_crls(X509_STORE *ctx);
+OPENSSL_EXPORT void X509_STORE_set_cleanup(X509_STORE *ctx,
+                                           X509_STORE_CTX_cleanup_fn cleanup);
+OPENSSL_EXPORT X509_STORE_CTX_cleanup_fn
+X509_STORE_get_cleanup(X509_STORE *ctx);
 
-OPENSSL_EXPORT void X509_STORE_set_lookup_crls_cb(X509_STORE *ctx,
-		STACK_OF(X509_CRL)* (*cb)(X509_STORE_CTX *ctx, X509_NAME *nm));
 
 OPENSSL_EXPORT X509_STORE_CTX *X509_STORE_CTX_new(void);
 
@@ -459,6 +522,7 @@
 OPENSSL_EXPORT void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx);
 
 OPENSSL_EXPORT X509_STORE *X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx);
+OPENSSL_EXPORT X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx);
 
 OPENSSL_EXPORT X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m);
 
diff --git a/src/infra/config/cq.cfg b/src/infra/config/cq.cfg
index 7d30d72..72c95d8 100644
--- a/src/infra/config/cq.cfg
+++ b/src/infra/config/cq.cfg
@@ -1,7 +1,6 @@
 # See http://luci-config.appspot.com/schemas/projects/refs:cq.cfg for the
 # documentation of this file format.
 version: 1
-cq_name: "boringssl"
 git_repo_url: "https://boringssl.googlesource.com/boringssl"
 cq_status_url: "https://chromium-cq-status.appspot.com"
 gerrit {
@@ -37,6 +36,7 @@
       builders { name: "linux32" }
       builders { name: "linux32_rel" }
       builders { name: "linux_clang_rel" }
+      builders { name: "linux_fuzz" }
       builders { name: "linux_noasm_asan" }
       builders { name: "linux_nothreads" }
       builders { name: "linux_rel" }
@@ -53,7 +53,10 @@
       builders { name: "win64" }
       builders { name: "win64_rel" }
       builders { name: "win64_small" }
-
+      builders { name: "win32_vs2017_compile" }
+      builders { name: "win64_vs2017_compile" }
+      builders { name: "win32_clang_vs2017_compile" }
+      builders { name: "win64_clang_vs2017_compile" }
 
       builders { name: "linux_fips" }
       builders { name: "linux_fips_rel" }
diff --git a/src/sources.cmake b/src/sources.cmake
index d252d98..94edcb3 100644
--- a/src/sources.cmake
+++ b/src/sources.cmake
@@ -6,7 +6,6 @@
 set(
   CRYPTO_TEST_DATA
 
-  crypto/cipher_extra/test/aes_128_cbc_sha1_ssl3_tests.txt
   crypto/cipher_extra/test/aes_128_cbc_sha1_tls_implicit_iv_tests.txt
   crypto/cipher_extra/test/aes_128_cbc_sha1_tls_tests.txt
   crypto/cipher_extra/test/aes_128_cbc_sha256_tls_tests.txt
@@ -15,7 +14,6 @@
   crypto/cipher_extra/test/aes_128_ctr_hmac_sha256.txt
   crypto/cipher_extra/test/aes_128_gcm_siv_tests.txt
   crypto/cipher_extra/test/aes_128_gcm_tests.txt
-  crypto/cipher_extra/test/aes_256_cbc_sha1_ssl3_tests.txt
   crypto/cipher_extra/test/aes_256_cbc_sha1_tls_implicit_iv_tests.txt
   crypto/cipher_extra/test/aes_256_cbc_sha1_tls_tests.txt
   crypto/cipher_extra/test/aes_256_cbc_sha256_tls_tests.txt
@@ -24,8 +22,8 @@
   crypto/cipher_extra/test/aes_256_gcm_siv_tests.txt
   crypto/cipher_extra/test/aes_256_gcm_tests.txt
   crypto/cipher_extra/test/chacha20_poly1305_tests.txt
+  crypto/cipher_extra/test/xchacha20_poly1305_tests.txt
   crypto/cipher_extra/test/cipher_tests.txt
-  crypto/cipher_extra/test/des_ede3_cbc_sha1_ssl3_tests.txt
   crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_implicit_iv_tests.txt
   crypto/cipher_extra/test/des_ede3_cbc_sha1_tls_tests.txt
   crypto/cipher_extra/test/nist_cavp/aes_128_cbc.txt
@@ -39,7 +37,11 @@
   crypto/cipher_extra/test/nist_cavp/tdes_cbc.txt
   crypto/cipher_extra/test/nist_cavp/tdes_ecb.txt
   crypto/curve25519/ed25519_tests.txt
-  crypto/ecdh/ecdh_tests.txt
+  crypto/cmac/cavp_3des_cmac_tests.txt
+  crypto/cmac/cavp_aes128_cmac_tests.txt
+  crypto/cmac/cavp_aes192_cmac_tests.txt
+  crypto/cmac/cavp_aes256_cmac_tests.txt
+  crypto/ecdh_extra/ecdh_tests.txt
   crypto/evp/evp_tests.txt
   crypto/evp/scrypt_tests.txt
   crypto/fipsmodule/aes/aes_tests.txt
@@ -59,14 +61,21 @@
   crypto/x509/some_names1.pem
   crypto/x509/some_names2.pem
   crypto/x509/some_names3.pem
-  third_party/wycheproof/dsa_test.txt
-  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/eddsa_test.txt
-  third_party/wycheproof/rsa_signature_test.txt
-  third_party/wycheproof/x25519_test.txt
+  third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt
+  third_party/wycheproof_testvectors/aes_cmac_test.txt
+  third_party/wycheproof_testvectors/aes_gcm_siv_test.txt
+  third_party/wycheproof_testvectors/aes_gcm_test.txt
+  third_party/wycheproof_testvectors/chacha20_poly1305_test.txt
+  third_party/wycheproof_testvectors/dsa_test.txt
+  third_party/wycheproof_testvectors/ecdh_test.txt
+  third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt
+  third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt
+  third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt
+  third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt
+  third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt
+  third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt
+  third_party/wycheproof_testvectors/eddsa_test.txt
+  third_party/wycheproof_testvectors/kw_test.txt
+  third_party/wycheproof_testvectors/rsa_signature_test.txt
+  third_party/wycheproof_testvectors/x25519_test.txt
 )
diff --git a/src/ssl/CMakeLists.txt b/src/ssl/CMakeLists.txt
index 3eab0b5..f2f60ca 100644
--- a/src/ssl/CMakeLists.txt
+++ b/src/ssl/CMakeLists.txt
@@ -4,7 +4,6 @@
   ssl
 
   bio_ssl.cc
-  custom_extensions.cc
   d1_both.cc
   d1_lib.cc
   d1_pkt.cc
diff --git a/src/ssl/custom_extensions.cc b/src/ssl/custom_extensions.cc
deleted file mode 100644
index 85b8a33..0000000
--- a/src/ssl/custom_extensions.cc
+++ /dev/null
@@ -1,265 +0,0 @@
-/* Copyright (c) 2014, 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 <openssl/ssl.h>
-
-#include <assert.h>
-#include <string.h>
-
-#include <openssl/bytestring.h>
-#include <openssl/err.h>
-#include <openssl/mem.h>
-#include <openssl/stack.h>
-
-#include "internal.h"
-
-
-namespace bssl {
-
-void SSL_CUSTOM_EXTENSION_free(SSL_CUSTOM_EXTENSION *custom_extension) {
-  OPENSSL_free(custom_extension);
-}
-
-static const SSL_CUSTOM_EXTENSION *custom_ext_find(
-    STACK_OF(SSL_CUSTOM_EXTENSION) *stack,
-    unsigned *out_index, uint16_t value) {
-  for (size_t i = 0; i < sk_SSL_CUSTOM_EXTENSION_num(stack); i++) {
-    const SSL_CUSTOM_EXTENSION *ext = sk_SSL_CUSTOM_EXTENSION_value(stack, i);
-    if (ext->value == value) {
-      if (out_index != NULL) {
-        *out_index = i;
-      }
-      return ext;
-    }
-  }
-
-  return NULL;
-}
-
-// default_add_callback is used as the |add_callback| when the user doesn't
-// provide one. For servers, it does nothing while, for clients, it causes an
-// empty extension to be included.
-static int default_add_callback(SSL *ssl, unsigned extension_value,
-                                const uint8_t **out, size_t *out_len,
-                                int *out_alert_value, void *add_arg) {
-  if (ssl->server) {
-    return 0;
-  }
-  *out_len = 0;
-  return 1;
-}
-
-static int custom_ext_add_hello(SSL_HANDSHAKE *hs, CBB *extensions) {
-  SSL *const ssl = hs->ssl;
-  STACK_OF(SSL_CUSTOM_EXTENSION) *stack = ssl->ctx->client_custom_extensions;
-  if (ssl->server) {
-    stack = ssl->ctx->server_custom_extensions;
-  }
-
-  if (stack == NULL) {
-    return 1;
-  }
-
-  for (size_t i = 0; i < sk_SSL_CUSTOM_EXTENSION_num(stack); i++) {
-    const SSL_CUSTOM_EXTENSION *ext = sk_SSL_CUSTOM_EXTENSION_value(stack, i);
-
-    if (ssl->server &&
-        !(hs->custom_extensions.received & (1u << i))) {
-      // Servers cannot echo extensions that the client didn't send.
-      continue;
-    }
-
-    const uint8_t *contents;
-    size_t contents_len;
-    int alert = SSL_AD_DECODE_ERROR;
-    CBB contents_cbb;
-
-    switch (ext->add_callback(ssl, ext->value, &contents, &contents_len, &alert,
-                              ext->add_arg)) {
-      case 1:
-        if (!CBB_add_u16(extensions, ext->value) ||
-            !CBB_add_u16_length_prefixed(extensions, &contents_cbb) ||
-            !CBB_add_bytes(&contents_cbb, contents, contents_len) ||
-            !CBB_flush(extensions)) {
-          OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-          ERR_add_error_dataf("extension %u", (unsigned) ext->value);
-          if (ext->free_callback && 0 < contents_len) {
-            ext->free_callback(ssl, ext->value, contents, ext->add_arg);
-          }
-          return 0;
-        }
-
-        if (ext->free_callback && 0 < contents_len) {
-          ext->free_callback(ssl, ext->value, contents, ext->add_arg);
-        }
-
-        if (!ssl->server) {
-          assert((hs->custom_extensions.sent & (1u << i)) == 0);
-          hs->custom_extensions.sent |= (1u << i);
-        }
-        break;
-
-      case 0:
-        break;
-
-      default:
-        ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
-        OPENSSL_PUT_ERROR(SSL, SSL_R_CUSTOM_EXTENSION_ERROR);
-        ERR_add_error_dataf("extension %u", (unsigned) ext->value);
-        return 0;
-    }
-  }
-
-  return 1;
-}
-
-int custom_ext_add_clienthello(SSL_HANDSHAKE *hs, CBB *extensions) {
-  return custom_ext_add_hello(hs, extensions);
-}
-
-int custom_ext_parse_serverhello(SSL_HANDSHAKE *hs, int *out_alert,
-                                 uint16_t value, const CBS *extension) {
-  SSL *const ssl = hs->ssl;
-  unsigned index;
-  const SSL_CUSTOM_EXTENSION *ext =
-      custom_ext_find(ssl->ctx->client_custom_extensions, &index, value);
-
-  if (// Unknown extensions are not allowed in a ServerHello.
-      ext == NULL ||
-      // Also, if we didn't send the extension, that's also unacceptable.
-      !(hs->custom_extensions.sent & (1u << index))) {
-    OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_EXTENSION);
-    ERR_add_error_dataf("extension %u", (unsigned)value);
-    *out_alert = SSL_AD_UNSUPPORTED_EXTENSION;
-    return 0;
-  }
-
-  if (ext->parse_callback != NULL &&
-      !ext->parse_callback(ssl, value, CBS_data(extension), CBS_len(extension),
-                           out_alert, ext->parse_arg)) {
-    OPENSSL_PUT_ERROR(SSL, SSL_R_CUSTOM_EXTENSION_ERROR);
-    ERR_add_error_dataf("extension %u", (unsigned)ext->value);
-    return 0;
-  }
-
-  return 1;
-}
-
-int custom_ext_parse_clienthello(SSL_HANDSHAKE *hs, int *out_alert,
-                                 uint16_t value, const CBS *extension) {
-  SSL *const ssl = hs->ssl;
-  unsigned index;
-  const SSL_CUSTOM_EXTENSION *ext =
-      custom_ext_find(ssl->ctx->server_custom_extensions, &index, value);
-
-  if (ext == NULL) {
-    return 1;
-  }
-
-  assert((hs->custom_extensions.received & (1u << index)) == 0);
-  hs->custom_extensions.received |= (1u << index);
-
-  if (ext->parse_callback &&
-      !ext->parse_callback(ssl, value, CBS_data(extension), CBS_len(extension),
-                           out_alert, ext->parse_arg)) {
-    OPENSSL_PUT_ERROR(SSL, SSL_R_CUSTOM_EXTENSION_ERROR);
-    ERR_add_error_dataf("extension %u", (unsigned)ext->value);
-    return 0;
-  }
-
-  return 1;
-}
-
-int custom_ext_add_serverhello(SSL_HANDSHAKE *hs, CBB *extensions) {
-  return custom_ext_add_hello(hs, extensions);
-}
-
-// MAX_NUM_CUSTOM_EXTENSIONS is the maximum number of custom extensions that
-// can be set on an |SSL_CTX|. It's determined by the size of the bitset used
-// to track when an extension has been sent.
-#define MAX_NUM_CUSTOM_EXTENSIONS \
-  (sizeof(((SSL_HANDSHAKE *)NULL)->custom_extensions.sent) * 8)
-
-static int custom_ext_append(STACK_OF(SSL_CUSTOM_EXTENSION) **stack,
-                             unsigned extension_value,
-                             SSL_custom_ext_add_cb add_cb,
-                             SSL_custom_ext_free_cb free_cb, void *add_arg,
-                             SSL_custom_ext_parse_cb parse_cb,
-                             void *parse_arg) {
-  if (add_cb == NULL ||
-      0xffff < extension_value ||
-      SSL_extension_supported(extension_value) ||
-      // Specifying a free callback without an add callback is nonsensical
-      // and an error.
-      (*stack != NULL &&
-       (MAX_NUM_CUSTOM_EXTENSIONS <= sk_SSL_CUSTOM_EXTENSION_num(*stack) ||
-        custom_ext_find(*stack, NULL, extension_value) != NULL))) {
-    return 0;
-  }
-
-  SSL_CUSTOM_EXTENSION *ext =
-      (SSL_CUSTOM_EXTENSION *)OPENSSL_malloc(sizeof(SSL_CUSTOM_EXTENSION));
-  if (ext == NULL) {
-    return 0;
-  }
-  ext->add_callback = add_cb;
-  ext->add_arg = add_arg;
-  ext->free_callback = free_cb;
-  ext->parse_callback = parse_cb;
-  ext->parse_arg = parse_arg;
-  ext->value = extension_value;
-
-  if (*stack == NULL) {
-    *stack = sk_SSL_CUSTOM_EXTENSION_new_null();
-    if (*stack == NULL) {
-      SSL_CUSTOM_EXTENSION_free(ext);
-      return 0;
-    }
-  }
-
-  if (!sk_SSL_CUSTOM_EXTENSION_push(*stack, ext)) {
-    SSL_CUSTOM_EXTENSION_free(ext);
-    if (sk_SSL_CUSTOM_EXTENSION_num(*stack) == 0) {
-      sk_SSL_CUSTOM_EXTENSION_free(*stack);
-      *stack = NULL;
-    }
-    return 0;
-  }
-
-  return 1;
-}
-
-}  // namespace bssl
-
-using namespace bssl;
-
-int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned extension_value,
-                                  SSL_custom_ext_add_cb add_cb,
-                                  SSL_custom_ext_free_cb free_cb, void *add_arg,
-                                  SSL_custom_ext_parse_cb parse_cb,
-                                  void *parse_arg) {
-  return custom_ext_append(&ctx->client_custom_extensions, extension_value,
-                           add_cb ? add_cb : default_add_callback, free_cb,
-                           add_arg, parse_cb, parse_arg);
-}
-
-int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned extension_value,
-                                  SSL_custom_ext_add_cb add_cb,
-                                  SSL_custom_ext_free_cb free_cb, void *add_arg,
-                                  SSL_custom_ext_parse_cb parse_cb,
-                                  void *parse_arg) {
-  return custom_ext_append(&ctx->server_custom_extensions, extension_value,
-                           add_cb ? add_cb : default_add_callback, free_cb,
-                           add_arg, parse_cb, parse_arg);
-}
diff --git a/src/ssl/d1_both.cc b/src/ssl/d1_both.cc
index f561332..f22a498 100644
--- a/src/ssl/d1_both.cc
+++ b/src/ssl/d1_both.cc
@@ -536,6 +536,20 @@
   return true;
 }
 
+// ssl_size_t_greater_than_32_bits returns whether |v| exceeds the bounds of a
+// 32-bit value. The obvious thing doesn't work because, in some 32-bit build
+// configurations, the compiler warns that the test is always false and breaks
+// the build.
+static bool ssl_size_t_greater_than_32_bits(size_t v) {
+#if defined(OPENSSL_64_BIT)
+  return v > 0xffffffff;
+#elif defined(OPENSSL_32_BIT)
+  return false;
+#else
+#error "Building for neither 32- nor 64-bits."
+#endif
+}
+
 // add_outgoing adds a new handshake message or ChangeCipherSpec to the current
 // outgoing flight. It returns true on success and false on error.
 static bool add_outgoing(SSL *ssl, bool is_ccs, Array<uint8_t> data) {
@@ -550,7 +564,7 @@
                     (1 << 8 * sizeof(ssl->d1->outgoing_messages_len)),
                 "outgoing_messages_len is too small");
   if (ssl->d1->outgoing_messages_len >= SSL_MAX_HANDSHAKE_FLIGHT ||
-      data.size() > 0xffffffff) {
+      ssl_size_t_greater_than_32_bits(data.size())) {
     assert(false);
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
     return false;
@@ -604,12 +618,12 @@
   // |SSL_set_mtu|. Does this need to be so complex?
   if (ssl->d1->mtu < dtls1_min_mtu() &&
       !(SSL_get_options(ssl) & SSL_OP_NO_QUERY_MTU)) {
-    long mtu = BIO_ctrl(ssl->wbio, BIO_CTRL_DGRAM_QUERY_MTU, 0, NULL);
+    long mtu = BIO_ctrl(ssl->wbio.get(), BIO_CTRL_DGRAM_QUERY_MTU, 0, NULL);
     if (mtu >= 0 && mtu <= (1 << 30) && (unsigned)mtu >= dtls1_min_mtu()) {
       ssl->d1->mtu = (unsigned)mtu;
     } else {
       ssl->d1->mtu = kDefaultMTU;
-      BIO_ctrl(ssl->wbio, BIO_CTRL_DGRAM_SET_MTU, ssl->d1->mtu, NULL);
+      BIO_ctrl(ssl->wbio.get(), BIO_CTRL_DGRAM_SET_MTU, ssl->d1->mtu, NULL);
     }
   }
 
@@ -789,7 +803,7 @@
       goto err;
     }
 
-    int bio_ret = BIO_write(ssl->wbio, packet, packet_len);
+    int bio_ret = BIO_write(ssl->wbio.get(), packet, packet_len);
     if (bio_ret <= 0) {
       // Retry this packet the next time around.
       ssl->d1->outgoing_written = old_written;
@@ -800,7 +814,7 @@
     }
   }
 
-  if (BIO_flush(ssl->wbio) <= 0) {
+  if (BIO_flush(ssl->wbio.get()) <= 0) {
     ssl->s3->rwstate = SSL_WRITING;
     goto err;
   }
diff --git a/src/ssl/d1_lib.cc b/src/ssl/d1_lib.cc
index eff06ee..d73e538 100644
--- a/src/ssl/d1_lib.cc
+++ b/src/ssl/d1_lib.cc
@@ -171,7 +171,8 @@
   // Reduce MTU after 2 unsuccessful retransmissions
   if (ssl->d1->num_timeouts > DTLS1_MTU_TIMEOUTS &&
       !(SSL_get_options(ssl) & SSL_OP_NO_QUERY_MTU)) {
-    long mtu = BIO_ctrl(ssl->wbio, BIO_CTRL_DGRAM_GET_FALLBACK_MTU, 0, NULL);
+    long mtu =
+        BIO_ctrl(ssl->wbio.get(), BIO_CTRL_DGRAM_GET_FALLBACK_MTU, 0, nullptr);
     if (mtu >= 0 && mtu <= (1 << 30) && (unsigned)mtu >= dtls1_min_mtu()) {
       ssl->d1->mtu = (unsigned)mtu;
     }
diff --git a/src/ssl/d1_pkt.cc b/src/ssl/d1_pkt.cc
index d29a5c2..a694c5f 100644
--- a/src/ssl/d1_pkt.cc
+++ b/src/ssl/d1_pkt.cc
@@ -260,7 +260,7 @@
 
   // If the alert is fatal, flush the BIO now.
   if (ssl->s3->send_alert[0] == SSL3_AL_FATAL) {
-    BIO_flush(ssl->wbio);
+    BIO_flush(ssl->wbio.get());
   }
 
   ssl_do_msg_callback(ssl, 1 /* write */, SSL3_RT_ALERT, ssl->s3->send_alert);
diff --git a/src/ssl/d1_srtp.cc b/src/ssl/d1_srtp.cc
index f27c9ff..96d7d51 100644
--- a/src/ssl/d1_srtp.cc
+++ b/src/ssl/d1_srtp.cc
@@ -158,8 +158,9 @@
   return 0;
 }
 
-static int ssl_ctx_make_profiles(const char *profiles_string,
-                                 STACK_OF(SRTP_PROTECTION_PROFILE) **out) {
+static int ssl_ctx_make_profiles(
+    const char *profiles_string,
+    UniquePtr<STACK_OF(SRTP_PROTECTION_PROFILE)> *out) {
   UniquePtr<STACK_OF(SRTP_PROTECTION_PROFILE)> profiles(
       sk_SRTP_PROTECTION_PROFILE_new_null());
   if (profiles == nullptr) {
@@ -188,8 +189,7 @@
     }
   } while (col);
 
-  sk_SRTP_PROTECTION_PROFILE_free(*out);
-  *out = profiles.release();
+  *out = std::move(profiles);
   return 1;
 }
 
@@ -198,23 +198,23 @@
 }
 
 int SSL_set_srtp_profiles(SSL *ssl, const char *profiles) {
-  return ssl_ctx_make_profiles(profiles, &ssl->srtp_profiles);
+  return ssl->config != nullptr &&
+         ssl_ctx_make_profiles(profiles, &ssl->config->srtp_profiles);
 }
 
 STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl) {
-  if (ssl == NULL) {
-    return NULL;
+  if (ssl == nullptr) {
+    return nullptr;
   }
 
-  if (ssl->srtp_profiles != NULL) {
-    return ssl->srtp_profiles;
+  if (ssl->config == nullptr) {
+    assert(0);
+    return nullptr;
   }
 
-  if (ssl->ctx->srtp_profiles != NULL) {
-    return ssl->ctx->srtp_profiles;
-  }
-
-  return NULL;
+  return ssl->config->srtp_profiles != nullptr
+             ? ssl->config->srtp_profiles.get()
+             : ssl->ctx->srtp_profiles.get();
 }
 
 const SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *ssl) {
diff --git a/src/ssl/handoff.cc b/src/ssl/handoff.cc
index 2cbbaeb..68cac5b 100644
--- a/src/ssl/handoff.cc
+++ b/src/ssl/handoff.cc
@@ -55,7 +55,7 @@
     return false;
   }
 
-  ssl->handoff = false;
+  s3->hs->config->handoff = false;
   return true;
 }
 
@@ -94,18 +94,29 @@
     s3->hs->transcript.Update(transcript);
     s3->is_v2_hello = true;
   }
-  ssl->handback = true;
+  s3->hs->handback = true;
 
   return true;
 }
 
 bool SSL_serialize_handback(const SSL *ssl, CBB *out) {
-  if (!ssl->server ||
-      (ssl->s3->hs->state != state12_finish_server_handshake &&
-       ssl->s3->hs->state != state12_read_client_certificate) ||
-      ssl->method->is_dtls || ssl->version < TLS1_VERSION) {
+  if (!ssl->server || ssl->method->is_dtls) {
     return false;
   }
+  handback_t type;
+  switch (ssl->s3->hs->state) {
+    case state12_read_change_cipher_spec:
+      type = handback_after_session_resumption;
+      break;
+    case state12_read_client_certificate:
+      type = handback_after_ecdhe;
+      break;
+    case state12_finish_server_handshake:
+      type = handback_after_handshake;
+      break;
+    default:
+      return false;
+  }
 
   const SSL3_STATE *const s3 = ssl->s3;
   size_t hostname_len = 0;
@@ -113,26 +124,36 @@
     hostname_len = strlen(s3->hostname.get());
   }
 
-  size_t iv_len = 0;
-  const uint8_t *read_iv = nullptr, *write_iv = nullptr;
   Span<const uint8_t> transcript;
-  if (ssl->s3->hs->state == state12_finish_server_handshake) {
-    if (ssl->version == TLS1_VERSION &&
-        SSL_CIPHER_is_block_cipher(s3->aead_read_ctx->cipher()) &&
-        (!s3->aead_read_ctx->GetIV(&read_iv, &iv_len) ||
-         !s3->aead_write_ctx->GetIV(&write_iv, &iv_len))) {
-      return false;
-    }
-  } else {
+  if (type == handback_after_ecdhe ||
+      type == handback_after_session_resumption) {
     transcript = s3->hs->transcript.buffer();
   }
+  size_t write_iv_len = 0;
+  const uint8_t *write_iv = nullptr;
+  if ((type == handback_after_session_resumption ||
+       type == handback_after_handshake) &&
+      ssl->version == TLS1_VERSION &&
+      SSL_CIPHER_is_block_cipher(s3->aead_write_ctx->cipher()) &&
+      !s3->aead_write_ctx->GetIV(&write_iv, &write_iv_len)) {
+    return false;
+  }
+  size_t read_iv_len = 0;
+  const uint8_t *read_iv = nullptr;
+  if (type == handback_after_handshake &&
+      ssl->version == TLS1_VERSION &&
+      SSL_CIPHER_is_block_cipher(s3->aead_read_ctx->cipher()) &&
+      !s3->aead_read_ctx->GetIV(&read_iv, &read_iv_len)) {
+      return false;
+  }
 
   // TODO(mab): make sure everything is serialized.
   CBB seq, key_share;
-  SSL_SESSION *session =
-      s3->session_reused ? ssl->session : s3->hs->new_session.get();
+  const SSL_SESSION *session =
+      s3->session_reused ? ssl->session.get() : s3->hs->new_session.get();
   if (!CBB_add_asn1(out, &seq, CBS_ASN1_SEQUENCE) ||
       !CBB_add_asn1_uint64(&seq, kHandbackVersion) ||
+      !CBB_add_asn1_uint64(&seq, type) ||
       !CBB_add_asn1_octet_string(&seq, s3->read_sequence,
                                  sizeof(s3->read_sequence)) ||
       !CBB_add_asn1_octet_string(&seq, s3->write_sequence,
@@ -141,10 +162,10 @@
                                  sizeof(s3->server_random)) ||
       !CBB_add_asn1_octet_string(&seq, s3->client_random,
                                  sizeof(s3->client_random)) ||
-      !CBB_add_asn1_octet_string(&seq, read_iv, iv_len) ||
-      !CBB_add_asn1_octet_string(&seq, write_iv, iv_len) ||
+      !CBB_add_asn1_octet_string(&seq, read_iv, read_iv_len) ||
+      !CBB_add_asn1_octet_string(&seq, write_iv, write_iv_len) ||
       !CBB_add_asn1_bool(&seq, s3->session_reused) ||
-      !CBB_add_asn1_bool(&seq, s3->tlsext_channel_id_valid) ||
+      !CBB_add_asn1_bool(&seq, s3->channel_id_valid) ||
       !ssl_session_serialize(session, &seq) ||
       !CBB_add_asn1_octet_string(&seq, s3->next_proto_negotiated.data(),
                                  s3->next_proto_negotiated.size()) ||
@@ -153,8 +174,8 @@
       !CBB_add_asn1_octet_string(
           &seq, reinterpret_cast<uint8_t *>(s3->hostname.get()),
           hostname_len) ||
-      !CBB_add_asn1_octet_string(&seq, s3->tlsext_channel_id,
-                                 sizeof(s3->tlsext_channel_id)) ||
+      !CBB_add_asn1_octet_string(&seq, s3->channel_id,
+                                 sizeof(s3->channel_id)) ||
       !CBB_add_asn1_bool(&seq, ssl->s3->token_binding_negotiated) ||
       !CBB_add_asn1_uint64(&seq, ssl->s3->negotiated_token_binding_param) ||
       !CBB_add_asn1_bool(&seq, s3->hs->next_proto_neg_seen) ||
@@ -166,7 +187,7 @@
       !CBB_add_asn1(&seq, &key_share, CBS_ASN1_SEQUENCE)) {
     return false;
   }
-  if (ssl->s3->hs->state == state12_read_client_certificate &&
+  if (type == handback_after_ecdhe &&
       !s3->hs->key_share->Serialize(&key_share)) {
     return false;
   }
@@ -180,7 +201,7 @@
   }
 
   SSL3_STATE *const s3 = ssl->s3;
-  uint64_t handback_version, negotiated_token_binding_param, cipher;
+  uint64_t handback_version, negotiated_token_binding_param, cipher, type;
 
   CBS seq, read_seq, write_seq, server_rand, client_rand, read_iv, write_iv,
       next_proto, alpn, hostname, channel_id, transcript, key_share;
@@ -191,7 +212,8 @@
   CBS handback_cbs(handback);
   if (!CBS_get_asn1(&handback_cbs, &seq, CBS_ASN1_SEQUENCE) ||
       !CBS_get_asn1_uint64(&seq, &handback_version) ||
-      handback_version != kHandbackVersion) {
+      handback_version != kHandbackVersion ||
+      !CBS_get_asn1_uint64(&seq, &type)) {
     return false;
   }
 
@@ -217,9 +239,8 @@
   s3->hs = ssl_handshake_new(ssl);
   if (session_reused) {
     ssl->session =
-        SSL_SESSION_parse(&seq, ssl->ctx->x509_method, ssl->ctx->pool)
-            .release();
-    session = ssl->session;
+        SSL_SESSION_parse(&seq, ssl->ctx->x509_method, ssl->ctx->pool);
+    session = ssl->session.get();
   } else {
     s3->hs->new_session =
         SSL_SESSION_parse(&seq, ssl->ctx->x509_method, ssl->ctx->pool);
@@ -230,9 +251,9 @@
       !CBS_get_asn1(&seq, &alpn, CBS_ASN1_OCTETSTRING) ||
       !CBS_get_asn1(&seq, &hostname, CBS_ASN1_OCTETSTRING) ||
       !CBS_get_asn1(&seq, &channel_id, CBS_ASN1_OCTETSTRING) ||
-      CBS_len(&channel_id) != sizeof(s3->tlsext_channel_id) ||
-      !CBS_copy_bytes(&channel_id, s3->tlsext_channel_id,
-                      sizeof(s3->tlsext_channel_id)) ||
+      CBS_len(&channel_id) != sizeof(s3->channel_id) ||
+      !CBS_copy_bytes(&channel_id, s3->channel_id,
+                      sizeof(s3->channel_id)) ||
       !CBS_get_asn1_bool(&seq, &token_binding_negotiated) ||
       !CBS_get_asn1_uint64(&seq, &negotiated_token_binding_param) ||
       !CBS_get_asn1_bool(&seq, &next_proto_neg_seen) ||
@@ -252,14 +273,36 @@
   }
 
   ssl->version = session->ssl_version;
+  s3->have_version = true;
+  if (!ssl_method_supports_version(ssl->method, ssl->version) ||
+      session->cipher != s3->hs->new_cipher ||
+      ssl_protocol_version(ssl) < SSL_CIPHER_get_min_version(session->cipher) ||
+      SSL_CIPHER_get_max_version(session->cipher) < ssl_protocol_version(ssl)) {
+    return false;
+  }
   ssl->do_handshake = ssl_server_handshake;
   ssl->server = true;
-
-  s3->have_version = true;
-  s3->hs->state = CBS_len(&transcript) == 0 ? state12_finish_server_handshake
-                                            : state12_read_client_certificate;
+  switch (type) {
+    case handback_after_session_resumption:
+      ssl->s3->hs->state = state12_read_change_cipher_spec;
+      if (!session_reused) {
+        return false;
+      }
+      break;
+    case handback_after_ecdhe:
+      ssl->s3->hs->state = state12_read_client_certificate;
+      if (session_reused) {
+        return false;
+      }
+      break;
+    case handback_after_handshake:
+      ssl->s3->hs->state = state12_finish_server_handshake;
+      break;
+    default:
+      return false;
+  }
   s3->session_reused = session_reused;
-  s3->tlsext_channel_id_valid = channel_id_valid;
+  s3->channel_id_valid = channel_id_valid;
   s3->next_proto_negotiated.CopyFrom(next_proto);
   s3->alpn_selected.CopyFrom(alpn);
 
@@ -284,31 +327,33 @@
   s3->aead_write_ctx->SetVersionIfNullCipher(ssl->version);
   s3->hs->cert_request = cert_request;
 
-  if (s3->hs->state == state12_finish_server_handshake) {
-    Array<uint8_t> key_block;
-    if (!tls1_configure_aead(ssl, evp_aead_open, &key_block, session->cipher,
-                             read_iv) ||
-        !tls1_configure_aead(ssl, evp_aead_seal, &key_block, session->cipher,
-                             write_iv)) {
-      return false;
-    }
-
-    if (!CBS_copy_bytes(&read_seq, s3->read_sequence,
-                        sizeof(s3->read_sequence)) ||
-        !CBS_copy_bytes(&write_seq, s3->write_sequence,
-                        sizeof(s3->write_sequence))) {
-      return false;
-    }
-  } else {
-    if (!s3->hs->transcript.Init() ||
-        !s3->hs->transcript.InitHash(ssl_protocol_version(ssl),
-                                     s3->hs->new_cipher) ||
-        !s3->hs->transcript.Update(transcript)) {
-      return false;
-    }
-    if ((s3->hs->key_share = SSLKeyShare::Create(&key_share)) == nullptr) {
-      return false;
-    }
+  Array<uint8_t> key_block;
+  if ((type == handback_after_session_resumption ||
+       type == handback_after_handshake) &&
+      (!tls1_configure_aead(ssl, evp_aead_seal, &key_block, session->cipher,
+                            write_iv) ||
+       !CBS_copy_bytes(&write_seq, s3->write_sequence,
+                       sizeof(s3->write_sequence)))) {
+    return false;
+  }
+  if (type == handback_after_handshake &&
+      (!tls1_configure_aead(ssl, evp_aead_open, &key_block, session->cipher,
+                            read_iv) ||
+       !CBS_copy_bytes(&read_seq, s3->read_sequence,
+                       sizeof(s3->read_sequence)))) {
+    return false;
+  }
+  if ((type == handback_after_ecdhe ||
+       type == handback_after_session_resumption) &&
+      (!s3->hs->transcript.Init() ||
+       !s3->hs->transcript.InitHash(ssl_protocol_version(ssl),
+                                    s3->hs->new_cipher) ||
+       !s3->hs->transcript.Update(transcript))) {
+    return false;
+  }
+  if (type == handback_after_ecdhe &&
+      (s3->hs->key_share = SSLKeyShare::Create(&key_share)) == nullptr) {
+    return false;
   }
 
   return CBS_len(&seq) == 0;
diff --git a/src/ssl/handshake.cc b/src/ssl/handshake.cc
index 00a2cc5..4683ac5 100644
--- a/src/ssl/handshake.cc
+++ b/src/ssl/handshake.cc
@@ -130,7 +130,6 @@
       needs_psk_binder(false),
       received_hello_retry_request(false),
       sent_hello_retry_request(false),
-      received_custom_extension(false),
       handshake_finalized(false),
       accept_psk_mode(false),
       cert_request(false),
@@ -146,7 +145,10 @@
       ticket_expected(false),
       extended_master_secret(false),
       pending_private_key_op(false),
-      grease_seeded(false) {
+      grease_seeded(false),
+      handback(false),
+      cert_compression_negotiated(false) {
+  assert(ssl);
 }
 
 SSL_HANDSHAKE::~SSL_HANDSHAKE() {
@@ -159,6 +161,11 @@
       !hs->transcript.Init()) {
     return nullptr;
   }
+  hs->config = ssl->config.get();
+  if (!hs->config) {
+    assert(hs->config);
+    return nullptr;
+  }
   return hs;
 }
 
@@ -189,7 +196,8 @@
   static const size_t kMaxMessageLen = 16384;
 
   if (SSL_in_init(ssl)) {
-    if ((!ssl->server || (ssl->verify_mode & SSL_VERIFY_PEER)) &&
+    SSL_CONFIG *config = ssl->config.get();  // SSL_in_init() implies not NULL.
+    if ((!ssl->server || (config->verify_mode & SSL_VERIFY_PEER)) &&
         kMaxMessageLen < ssl->max_cert_list) {
       return ssl->max_cert_list;
     }
@@ -272,16 +280,6 @@
   return 1;
 }
 
-static void set_crypto_buffer(CRYPTO_BUFFER **dest, CRYPTO_BUFFER *src) {
-  // TODO(davidben): Remove this helper once |SSL_SESSION| can use |UniquePtr|
-  // and |UniquePtr| has up_ref helpers.
-  CRYPTO_BUFFER_free(*dest);
-  *dest = src;
-  if (src != nullptr) {
-    CRYPTO_BUFFER_up_ref(src);
-  }
-}
-
 enum ssl_verify_result_t ssl_verify_peer_cert(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
   const SSL_SESSION *prev_session = ssl->s3->established_session.get();
@@ -291,18 +289,19 @@
     // so this check is sufficient to ensure the reported peer certificate never
     // changes on renegotiation.
     assert(!ssl->server);
-    if (sk_CRYPTO_BUFFER_num(prev_session->certs) !=
-        sk_CRYPTO_BUFFER_num(hs->new_session->certs)) {
+    if (sk_CRYPTO_BUFFER_num(prev_session->certs.get()) !=
+        sk_CRYPTO_BUFFER_num(hs->new_session->certs.get())) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_SERVER_CERT_CHANGED);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
       return ssl_verify_invalid;
     }
 
-    for (size_t i = 0; i < sk_CRYPTO_BUFFER_num(hs->new_session->certs); i++) {
+    for (size_t i = 0; i < sk_CRYPTO_BUFFER_num(hs->new_session->certs.get());
+         i++) {
       const CRYPTO_BUFFER *old_cert =
-          sk_CRYPTO_BUFFER_value(prev_session->certs, i);
+          sk_CRYPTO_BUFFER_value(prev_session->certs.get(), i);
       const CRYPTO_BUFFER *new_cert =
-          sk_CRYPTO_BUFFER_value(hs->new_session->certs, i);
+          sk_CRYPTO_BUFFER_value(hs->new_session->certs.get(), i);
       if (CRYPTO_BUFFER_len(old_cert) != CRYPTO_BUFFER_len(new_cert) ||
           OPENSSL_memcmp(CRYPTO_BUFFER_data(old_cert),
                          CRYPTO_BUFFER_data(new_cert),
@@ -317,25 +316,24 @@
     // certificate. Since we only authenticated the previous one, copy other
     // authentication from the established session and ignore what was newly
     // received.
-    set_crypto_buffer(&hs->new_session->ocsp_response,
-                      prev_session->ocsp_response);
-    set_crypto_buffer(&hs->new_session->signed_cert_timestamp_list,
-                      prev_session->signed_cert_timestamp_list);
+    hs->new_session->ocsp_response = UpRef(prev_session->ocsp_response);
+    hs->new_session->signed_cert_timestamp_list =
+        UpRef(prev_session->signed_cert_timestamp_list);
     hs->new_session->verify_result = prev_session->verify_result;
     return ssl_verify_ok;
   }
 
   uint8_t alert = SSL_AD_CERTIFICATE_UNKNOWN;
   enum ssl_verify_result_t ret;
-  if (ssl->custom_verify_callback != nullptr) {
-    ret = ssl->custom_verify_callback(ssl, &alert);
+  if (hs->config->custom_verify_callback != nullptr) {
+    ret = hs->config->custom_verify_callback(ssl, &alert);
     switch (ret) {
       case ssl_verify_ok:
         hs->new_session->verify_result = X509_V_OK;
         break;
       case ssl_verify_invalid:
         // If |SSL_VERIFY_NONE|, the error is non-fatal, but we keep the result.
-        if (ssl->verify_mode == SSL_VERIFY_NONE) {
+        if (hs->config->verify_mode == SSL_VERIFY_NONE) {
           ERR_clear_error();
           ret = ssl_verify_ok;
         }
@@ -346,7 +344,7 @@
     }
   } else {
     ret = ssl->ctx->x509_method->session_verify_cert_chain(
-              hs->new_session.get(), ssl, &alert)
+              hs->new_session.get(), hs, &alert)
               ? ssl_verify_ok
               : ssl_verify_invalid;
   }
@@ -356,6 +354,22 @@
     ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
   }
 
+  // Emulate OpenSSL's client OCSP callback. OpenSSL verifies certificates
+  // before it receives the OCSP, so it needs a second callback for OCSP.
+  if (ret == ssl_verify_ok && !ssl->server &&
+      hs->config->ocsp_stapling_enabled &&
+      ssl->ctx->legacy_ocsp_callback != nullptr) {
+    int cb_ret =
+        ssl->ctx->legacy_ocsp_callback(ssl, ssl->ctx->legacy_ocsp_callback_arg);
+    if (cb_ret <= 0) {
+      OPENSSL_PUT_ERROR(SSL, SSL_R_OCSP_CB_ERROR);
+      ssl_send_alert(ssl, SSL3_AL_FATAL,
+                     cb_ret == 0 ? SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE
+                                 : SSL_AD_INTERNAL_ERROR);
+      ret = ssl_verify_invalid;
+    }
+  }
+
   return ret;
 }
 
@@ -408,20 +422,18 @@
   }
 
   // Copy the Finished so we can use it for renegotiation checks.
-  if (ssl->version != SSL3_VERSION) {
-    if (finished_len > sizeof(ssl->s3->previous_client_finished) ||
-        finished_len > sizeof(ssl->s3->previous_server_finished)) {
-      OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-      return ssl_hs_error;
-    }
+  if (finished_len > sizeof(ssl->s3->previous_client_finished) ||
+      finished_len > sizeof(ssl->s3->previous_server_finished)) {
+    OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
+    return ssl_hs_error;
+  }
 
-    if (ssl->server) {
-      OPENSSL_memcpy(ssl->s3->previous_client_finished, finished, finished_len);
-      ssl->s3->previous_client_finished_len = finished_len;
-    } else {
-      OPENSSL_memcpy(ssl->s3->previous_server_finished, finished, finished_len);
-      ssl->s3->previous_server_finished_len = finished_len;
-    }
+  if (ssl->server) {
+    OPENSSL_memcpy(ssl->s3->previous_client_finished, finished, finished_len);
+    ssl->s3->previous_client_finished_len = finished_len;
+  } else {
+    OPENSSL_memcpy(ssl->s3->previous_server_finished, finished, finished_len);
+    ssl->s3->previous_server_finished_len = finished_len;
   }
 
   ssl->method->next_message(ssl);
@@ -447,20 +459,18 @@
   }
 
   // Copy the Finished so we can use it for renegotiation checks.
-  if (ssl->version != SSL3_VERSION) {
-    if (finished_len > sizeof(ssl->s3->previous_client_finished) ||
-        finished_len > sizeof(ssl->s3->previous_server_finished)) {
-      OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-      return 0;
-    }
+  if (finished_len > sizeof(ssl->s3->previous_client_finished) ||
+      finished_len > sizeof(ssl->s3->previous_server_finished)) {
+    OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
+    return 0;
+  }
 
-    if (ssl->server) {
-      OPENSSL_memcpy(ssl->s3->previous_server_finished, finished, finished_len);
-      ssl->s3->previous_server_finished_len = finished_len;
-    } else {
-      OPENSSL_memcpy(ssl->s3->previous_client_finished, finished, finished_len);
-      ssl->s3->previous_client_finished_len = finished_len;
-    }
+  if (ssl->server) {
+    OPENSSL_memcpy(ssl->s3->previous_server_finished, finished, finished_len);
+    ssl->s3->previous_server_finished_len = finished_len;
+  } else {
+    OPENSSL_memcpy(ssl->s3->previous_client_finished, finished, finished_len);
+    ssl->s3->previous_client_finished_len = finished_len;
   }
 
   ScopedCBB cbb;
@@ -475,12 +485,13 @@
   return 1;
 }
 
-bool ssl_output_cert_chain(SSL *ssl) {
+bool ssl_output_cert_chain(SSL_HANDSHAKE *hs) {
   ScopedCBB cbb;
   CBB body;
-  if (!ssl->method->init_message(ssl, cbb.get(), &body, SSL3_MT_CERTIFICATE) ||
-      !ssl_add_cert_chain(ssl, &body) ||
-      !ssl_add_message_cbb(ssl, cbb.get())) {
+  if (!hs->ssl->method->init_message(hs->ssl, cbb.get(), &body,
+                                     SSL3_MT_CERTIFICATE) ||
+      !ssl_add_cert_chain(hs, &body) ||
+      !ssl_add_message_cbb(hs->ssl, cbb.get())) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
     return false;
   }
diff --git a/src/ssl/handshake_client.cc b/src/ssl/handshake_client.cc
index fbef2e1..de5d8e9 100644
--- a/src/ssl/handshake_client.cc
+++ b/src/ssl/handshake_client.cc
@@ -199,13 +199,13 @@
 
 // ssl_get_client_disabled sets |*out_mask_a| and |*out_mask_k| to masks of
 // disabled algorithms.
-static void ssl_get_client_disabled(SSL *ssl, uint32_t *out_mask_a,
+static void ssl_get_client_disabled(SSL_HANDSHAKE *hs, uint32_t *out_mask_a,
                                     uint32_t *out_mask_k) {
   *out_mask_a = 0;
   *out_mask_k = 0;
 
   // PSK requires a client callback.
-  if (ssl->psk_client_callback == NULL) {
+  if (hs->config->psk_client_callback == NULL) {
     *out_mask_a |= SSL_aPSK;
     *out_mask_k |= SSL_kPSK;
   }
@@ -214,7 +214,7 @@
 static int ssl_write_client_cipher_list(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
   uint32_t mask_a, mask_k;
-  ssl_get_client_disabled(ssl, &mask_a, &mask_k);
+  ssl_get_client_disabled(hs, &mask_a, &mask_k);
 
   CBB child;
   if (!CBB_add_u16_length_prefixed(out, &child)) {
@@ -269,15 +269,6 @@
     }
   }
 
-  // For SSLv3, the SCSV is added. Otherwise the renegotiation extension is
-  // added.
-  if (hs->max_version == SSL3_VERSION &&
-      !ssl->s3->initial_handshake_complete) {
-    if (!CBB_add_u16(&child, SSL3_CK_SCSV & 0xffff)) {
-      return 0;
-    }
-  }
-
   if (ssl->mode & SSL_MODE_SEND_FALLBACK_SCSV) {
     if (!CBB_add_u16(&child, SSL3_CK_FALLBACK_SCSV & 0xffff)) {
       return 0;
@@ -390,16 +381,10 @@
   ssl->s3->session_reused = false;
 
   // Freeze the version range.
-  if (!ssl_get_version_range(ssl, &hs->min_version, &hs->max_version)) {
+  if (!ssl_get_version_range(hs, &hs->min_version, &hs->max_version)) {
     return ssl_hs_error;
   }
 
-  // SSL 3.0 ClientHellos should use SSL 3.0 not TLS 1.0, for the record-layer
-  // version.
-  if (hs->max_version == SSL3_VERSION) {
-    ssl->s3->aead_write_ctx->SetVersionIfNullCipher(SSL3_VERSION);
-  }
-
   // Always advertise the ClientHello version from the original maximum version,
   // even on renegotiation. The static RSA key exchange uses this field, and
   // some servers fail when it changes across handshakes.
@@ -417,9 +402,9 @@
     if (ssl->session->is_server ||
         !ssl_supports_version(hs, ssl->session->ssl_version) ||
         (ssl->session->session_id_length == 0 &&
-         ssl->session->tlsext_ticklen == 0) ||
+         ssl->session->ticket.empty()) ||
         ssl->session->not_resumable ||
-        !ssl_session_is_time_valid(ssl, ssl->session)) {
+        !ssl_session_is_time_valid(ssl, ssl->session.get())) {
       ssl_set_session(ssl, NULL);
     }
   }
@@ -480,8 +465,7 @@
   // Stash the early data session, so connection properties may be queried out
   // of it.
   hs->in_early_data = true;
-  SSL_SESSION_up_ref(ssl->session);
-  hs->early_session.reset(ssl->session);
+  hs->early_session = UpRef(ssl->session);
   hs->can_early_write = true;
 
   hs->state = state_read_server_hello;
@@ -659,7 +643,7 @@
 
   // The cipher must be allowed in the selected version and enabled.
   uint32_t mask_a, mask_k;
-  ssl_get_client_disabled(ssl, &mask_a, &mask_k);
+  ssl_get_client_disabled(hs, &mask_a, &mask_k);
   if ((cipher->algorithm_mkey & mask_k) || (cipher->algorithm_auth & mask_a) ||
       SSL_CIPHER_get_min_version(cipher) > ssl_protocol_version(ssl) ||
       SSL_CIPHER_get_max_version(cipher) < ssl_protocol_version(ssl) ||
@@ -680,7 +664,7 @@
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
       return ssl_hs_error;
     }
-    if (!ssl_session_is_context_valid(ssl, ssl->session)) {
+    if (!ssl_session_is_context_valid(hs, ssl->session.get())) {
       // This is actually a client application bug.
       OPENSSL_PUT_ERROR(SSL,
                         SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT);
@@ -788,16 +772,13 @@
 
   CBS body = msg.body;
   uint8_t alert = SSL_AD_DECODE_ERROR;
-  UniquePtr<STACK_OF(CRYPTO_BUFFER)> chain;
-  if (!ssl_parse_cert_chain(&alert, &chain, &hs->peer_pubkey, NULL, &body,
-                            ssl->ctx->pool)) {
+  if (!ssl_parse_cert_chain(&alert, &hs->new_session->certs, &hs->peer_pubkey,
+                            NULL, &body, ssl->ctx->pool)) {
     ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
     return ssl_hs_error;
   }
-  sk_CRYPTO_BUFFER_pop_free(hs->new_session->certs, CRYPTO_BUFFER_free);
-  hs->new_session->certs = chain.release();
 
-  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs) == 0 ||
+  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs.get()) == 0 ||
       CBS_len(&body) != 0 ||
       !ssl->ctx->x509_method->session_cache_objects(hs->new_session.get())) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
@@ -807,7 +788,7 @@
 
   if (!ssl_check_leaf_certificate(
           hs, hs->peer_pubkey.get(),
-          sk_CRYPTO_BUFFER_value(hs->new_session->certs, 0))) {
+          sk_CRYPTO_BUFFER_value(hs->new_session->certs.get(), 0))) {
     ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
     return ssl_hs_error;
   }
@@ -854,9 +835,8 @@
     return ssl_hs_error;
   }
 
-  CRYPTO_BUFFER_free(hs->new_session->ocsp_response);
-  hs->new_session->ocsp_response =
-      CRYPTO_BUFFER_new_from_CBS(&ocsp_response, ssl->ctx->pool);
+  hs->new_session->ocsp_response.reset(
+      CRYPTO_BUFFER_new_from_CBS(&ocsp_response, ssl->ctx->pool));
   if (hs->new_session->ocsp_response == nullptr) {
     ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
     return ssl_hs_error;
@@ -970,7 +950,7 @@
     hs->new_session->group_id = group_id;
 
     // Ensure the group is consistent with preferences.
-    if (!tls1_check_group_id(ssl, group_id)) {
+    if (!tls1_check_group_id(hs, group_id)) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_WRONG_CURVE);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
       return ssl_hs_error;
@@ -1176,8 +1156,8 @@
   }
 
   // Call cert_cb to update the certificate.
-  if (ssl->cert->cert_cb != NULL) {
-    int rv = ssl->cert->cert_cb(ssl, ssl->cert->cert_cb_arg);
+  if (hs->config->cert->cert_cb != NULL) {
+    int rv = hs->config->cert->cert_cb(ssl, hs->config->cert->cert_cb_arg);
     if (rv == 0) {
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
       OPENSSL_PUT_ERROR(SSL, SSL_R_CERT_CB_ERROR);
@@ -1189,23 +1169,13 @@
     }
   }
 
-  if (!ssl_has_certificate(ssl)) {
+  if (!ssl_has_certificate(hs->config)) {
     // Without a client certificate, the handshake buffer may be released.
     hs->transcript.FreeBuffer();
-
-    // In SSL 3.0, the Certificate message is replaced with a warning alert.
-    if (ssl->version == SSL3_VERSION) {
-      if (!ssl->method->add_alert(ssl, SSL3_AL_WARNING,
-                                  SSL_AD_NO_CERTIFICATE)) {
-        return ssl_hs_error;
-      }
-      hs->state = state_send_client_key_exchange;
-      return ssl_hs_ok;
-    }
   }
 
   if (!ssl_on_certificate_selected(hs) ||
-      !ssl_output_cert_chain(ssl)) {
+      !ssl_output_cert_chain(hs)) {
     return ssl_hs_error;
   }
 
@@ -1234,16 +1204,16 @@
   unsigned psk_len = 0;
   uint8_t psk[PSK_MAX_PSK_LEN];
   if (alg_a & SSL_aPSK) {
-    if (ssl->psk_client_callback == NULL) {
+    if (hs->config->psk_client_callback == NULL) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_PSK_NO_CLIENT_CB);
       return ssl_hs_error;
     }
 
     char identity[PSK_MAX_IDENTITY_LEN + 1];
     OPENSSL_memset(identity, 0, sizeof(identity));
-    psk_len =
-        ssl->psk_client_callback(ssl, hs->peer_psk_identity_hint.get(),
-                                 identity, sizeof(identity), psk, sizeof(psk));
+    psk_len = hs->config->psk_client_callback(
+        ssl, hs->peer_psk_identity_hint.get(), identity, sizeof(identity), psk,
+        sizeof(psk));
     if (psk_len == 0) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_PSK_IDENTITY_NOT_FOUND);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
@@ -1251,9 +1221,8 @@
     }
     assert(psk_len <= PSK_MAX_PSK_LEN);
 
-    OPENSSL_free(hs->new_session->psk_identity);
-    hs->new_session->psk_identity = BUF_strdup(identity);
-    if (hs->new_session->psk_identity == NULL) {
+    hs->new_session->psk_identity.reset(BUF_strdup(identity));
+    if (hs->new_session->psk_identity == nullptr) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return ssl_hs_error;
     }
@@ -1286,21 +1255,14 @@
       return ssl_hs_error;
     }
 
-    CBB child, *enc_pms = &body;
-    size_t enc_pms_len;
-    // In TLS, there is a length prefix.
-    if (ssl->version > SSL3_VERSION) {
-      if (!CBB_add_u16_length_prefixed(&body, &child)) {
-        return ssl_hs_error;
-      }
-      enc_pms = &child;
-    }
-
+    CBB enc_pms;
     uint8_t *ptr;
-    if (!CBB_reserve(enc_pms, &ptr, RSA_size(rsa)) ||
+    size_t enc_pms_len;
+    if (!CBB_add_u16_length_prefixed(&body, &enc_pms) ||
+        !CBB_reserve(&enc_pms, &ptr, RSA_size(rsa)) ||
         !RSA_encrypt(rsa, &enc_pms_len, ptr, RSA_size(rsa), pms.data(),
                      pms.size(), RSA_PKCS1_PADDING) ||
-        !CBB_did_write(enc_pms, enc_pms_len) ||
+        !CBB_did_write(&enc_pms, enc_pms_len) ||
         !CBB_flush(&body)) {
       return ssl_hs_error;
     }
@@ -1373,12 +1335,12 @@
 static enum ssl_hs_wait_t do_send_client_certificate_verify(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
 
-  if (!hs->cert_request || !ssl_has_certificate(ssl)) {
+  if (!hs->cert_request || !ssl_has_certificate(hs->config)) {
     hs->state = state_send_client_finished;
     return ssl_hs_ok;
   }
 
-  assert(ssl_has_private_key(ssl));
+  assert(ssl_has_private_key(hs->config));
   ScopedCBB cbb;
   CBB body, child;
   if (!ssl->method->init_message(ssl, cbb.get(), &body,
@@ -1388,6 +1350,7 @@
 
   uint16_t signature_algorithm;
   if (!tls1_choose_signature_algorithm(hs, &signature_algorithm)) {
+    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
     return ssl_hs_error;
   }
   if (ssl_protocol_version(ssl) >= TLS1_2_VERSION) {
@@ -1407,40 +1370,16 @@
   }
 
   size_t sig_len = max_sig_len;
-  // The SSL3 construction for CertificateVerify does not decompose into a
-  // single final digest and signature, and must be special-cased.
-  if (ssl_protocol_version(ssl) == SSL3_VERSION) {
-    if (ssl->cert->key_method != NULL) {
-      OPENSSL_PUT_ERROR(SSL, SSL_R_UNSUPPORTED_PROTOCOL_FOR_CUSTOM_KEY);
+  switch (ssl_private_key_sign(hs, ptr, &sig_len, max_sig_len,
+                               signature_algorithm,
+                               hs->transcript.buffer())) {
+    case ssl_private_key_success:
+      break;
+    case ssl_private_key_failure:
       return ssl_hs_error;
-    }
-
-    uint8_t digest[EVP_MAX_MD_SIZE];
-    size_t digest_len;
-    if (!hs->transcript.GetSSL3CertVerifyHash(
-            digest, &digest_len, hs->new_session.get(), signature_algorithm)) {
-      return ssl_hs_error;
-    }
-
-    UniquePtr<EVP_PKEY_CTX> pctx(
-        EVP_PKEY_CTX_new(ssl->cert->privatekey.get(), nullptr));
-    if (!pctx ||
-        !EVP_PKEY_sign_init(pctx.get()) ||
-        !EVP_PKEY_sign(pctx.get(), ptr, &sig_len, digest, digest_len)) {
-      return ssl_hs_error;
-    }
-  } else {
-    switch (ssl_private_key_sign(hs, ptr, &sig_len, max_sig_len,
-                                 signature_algorithm,
-                                 hs->transcript.buffer())) {
-      case ssl_private_key_success:
-        break;
-      case ssl_private_key_failure:
-        return ssl_hs_error;
-      case ssl_private_key_retry:
-        hs->state = state_send_client_certificate_verify;
-        return ssl_hs_private_key_operation;
-    }
+    case ssl_private_key_retry:
+      hs->state = state_send_client_certificate_verify;
+      return ssl_hs_private_key_operation;
   }
 
   if (!CBB_did_write(&child, sig_len) ||
@@ -1458,12 +1397,12 @@
 static enum ssl_hs_wait_t do_send_client_finished(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
   // Resolve Channel ID first, before any non-idempotent operations.
-  if (ssl->s3->tlsext_channel_id_valid) {
-    if (!ssl_do_channel_id_callback(ssl)) {
+  if (ssl->s3->channel_id_valid) {
+    if (!ssl_do_channel_id_callback(hs)) {
       return ssl_hs_error;
     }
 
-    if (ssl->tlsext_channel_id_private == NULL) {
+    if (hs->config->channel_id_private == NULL) {
       hs->state = state_send_client_finished;
       return ssl_hs_channel_id_lookup;
     }
@@ -1493,7 +1432,7 @@
     }
   }
 
-  if (ssl->s3->tlsext_channel_id_valid) {
+  if (ssl->s3->channel_id_valid) {
     ScopedCBB cbb;
     CBB body;
     if (!ssl->method->init_message(ssl, cbb.get(), &body, SSL3_MT_CHANNEL_ID) ||
@@ -1583,8 +1522,8 @@
   }
 
   CBS new_session_ticket = msg.body, ticket;
-  uint32_t tlsext_tick_lifetime_hint;
-  if (!CBS_get_u32(&new_session_ticket, &tlsext_tick_lifetime_hint) ||
+  uint32_t ticket_lifetime_hint;
+  if (!CBS_get_u32(&new_session_ticket, &ticket_lifetime_hint) ||
       !CBS_get_u16_length_prefixed(&new_session_ticket, &ticket) ||
       CBS_len(&new_session_ticket) != 0) {
     ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
@@ -1609,7 +1548,7 @@
     // immutable once established, so duplicate all but the ticket of the
     // existing session.
     renewed_session =
-        SSL_SESSION_dup(ssl->session, SSL_SESSION_INCLUDE_NONAUTH);
+        SSL_SESSION_dup(ssl->session.get(), SSL_SESSION_INCLUDE_NONAUTH);
     if (!renewed_session) {
       // This should never happen.
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
@@ -1618,14 +1557,13 @@
     session = renewed_session.get();
   }
 
-  // |tlsext_tick_lifetime_hint| is measured from when the ticket was issued.
+  // |ticket_lifetime_hint| is measured from when the ticket was issued.
   ssl_session_rebase_time(ssl, session);
 
-  if (!CBS_stow(&ticket, &session->tlsext_tick, &session->tlsext_ticklen)) {
-    OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
+  if (!session->ticket.CopyFrom(ticket)) {
     return ssl_hs_error;
   }
-  session->tlsext_tick_lifetime_hint = tlsext_tick_lifetime_hint;
+  session->ticket_lifetime_hint = ticket_lifetime_hint;
 
   // Generate a session ID for this session based on the session ticket. We use
   // the session ID mechanism for detecting ticket resumption. This also fits in
@@ -1637,9 +1575,8 @@
   }
 
   if (renewed_session) {
-    session->not_resumable = 0;
-    SSL_SESSION_free(ssl->session);
-    ssl->session = renewed_session.release();
+    session->not_resumable = false;
+    ssl->session = std::move(renewed_session);
   }
 
   ssl->method->next_message(ssl);
@@ -1678,8 +1615,7 @@
   ssl->method->on_handshake_complete(ssl);
 
   if (ssl->session != NULL) {
-    SSL_SESSION_up_ref(ssl->session);
-    ssl->s3->established_session.reset(ssl->session);
+    ssl->s3->established_session = UpRef(ssl->session);
   } else {
     // We make a copy of the session in order to maintain the immutability
     // of the new established_session due to False Start. The caller may
@@ -1691,7 +1627,7 @@
     }
     // Renegotiations do not participate in session resumption.
     if (!ssl->s3->initial_handshake_complete) {
-      ssl->s3->established_session->not_resumable = 0;
+      ssl->s3->established_session->not_resumable = false;
     }
 
     hs->new_session.reset();
diff --git a/src/ssl/handshake_server.cc b/src/ssl/handshake_server.cc
index 6404cc9..0159c9e 100644
--- a/src/ssl/handshake_server.cc
+++ b/src/ssl/handshake_server.cc
@@ -172,8 +172,8 @@
 
 namespace bssl {
 
-int ssl_client_cipher_list_contains_cipher(const SSL_CLIENT_HELLO *client_hello,
-                                           uint16_t id) {
+bool ssl_client_cipher_list_contains_cipher(
+    const SSL_CLIENT_HELLO *client_hello, uint16_t id) {
   CBS cipher_suites;
   CBS_init(&cipher_suites, client_hello->cipher_suites,
            client_hello->cipher_suites_len);
@@ -181,19 +181,19 @@
   while (CBS_len(&cipher_suites) > 0) {
     uint16_t got_id;
     if (!CBS_get_u16(&cipher_suites, &got_id)) {
-      return 0;
+      return false;
     }
 
     if (got_id == id) {
-      return 1;
+      return true;
     }
   }
 
-  return 0;
+  return false;
 }
 
-static int negotiate_version(SSL_HANDSHAKE *hs, uint8_t *out_alert,
-                             const SSL_CLIENT_HELLO *client_hello) {
+static bool negotiate_version(SSL_HANDSHAKE *hs, uint8_t *out_alert,
+                              const SSL_CLIENT_HELLO *client_hello) {
   SSL *const ssl = hs->ssl;
   assert(!ssl->s3->have_version);
   CBS supported_versions, versions;
@@ -204,7 +204,7 @@
         CBS_len(&versions) == 0) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
       *out_alert = SSL_AD_DECODE_ERROR;
-      return 0;
+      return false;
     }
   } else {
     // Convert the ClientHello version to an equivalent supported_versions
@@ -213,7 +213,6 @@
         0x03, 0x03,  // TLS 1.2
         0x03, 0x02,  // TLS 1.1
         0x03, 0x01,  // TLS 1
-        0x03, 0x00,  // SSL 3
     };
 
     static const uint8_t kDTLSVersions[] = {
@@ -232,12 +231,10 @@
                versions_len);
     } else {
       if (client_hello->version >= TLS1_2_VERSION) {
-        versions_len = 8;
-      } else if (client_hello->version >= TLS1_1_VERSION) {
         versions_len = 6;
-      } else if (client_hello->version >= TLS1_VERSION) {
+      } else if (client_hello->version >= TLS1_1_VERSION) {
         versions_len = 4;
-      } else if (client_hello->version >= SSL3_VERSION) {
+      } else if (client_hello->version >= TLS1_VERSION) {
         versions_len = 2;
       }
       CBS_init(&versions, kTLSVersions + sizeof(kTLSVersions) - versions_len,
@@ -246,7 +243,7 @@
   }
 
   if (!ssl_negotiate_version(hs, out_alert, &ssl->version, &versions)) {
-    return 0;
+    return false;
   }
 
   // At this point, the connection's version is known and |ssl->version| is
@@ -260,10 +257,10 @@
       ssl_protocol_version(ssl) < hs->max_version) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_INAPPROPRIATE_FALLBACK);
     *out_alert = SSL3_AD_INAPPROPRIATE_FALLBACK;
-    return 0;
+    return false;
   }
 
-  return 1;
+  return true;
 }
 
 static UniquePtr<STACK_OF(SSL_CIPHER)> ssl_parse_client_cipher_list(
@@ -303,11 +300,10 @@
 static void ssl_get_compatible_server_ciphers(SSL_HANDSHAKE *hs,
                                               uint32_t *out_mask_k,
                                               uint32_t *out_mask_a) {
-  SSL *const ssl = hs->ssl;
   uint32_t mask_k = 0;
   uint32_t mask_a = 0;
 
-  if (ssl_has_certificate(ssl)) {
+  if (ssl_has_certificate(hs->config)) {
     mask_a |= ssl_cipher_auth_mask_for_key(hs->local_pubkey.get());
     if (EVP_PKEY_id(hs->local_pubkey.get()) == EVP_PKEY_RSA) {
       mask_k |= SSL_kRSA;
@@ -321,7 +317,7 @@
   }
 
   // PSK requires a server callback.
-  if (ssl->psk_server_callback != NULL) {
+  if (hs->config->psk_server_callback != NULL) {
     mask_k |= SSL_kPSK;
     mask_a |= SSL_aPSK;
   }
@@ -417,7 +413,7 @@
     return ssl_hs_error;
   }
 
-  if (ssl->handoff) {
+  if (hs->config->handoff) {
     return ssl_hs_handoff;
   }
 
@@ -446,7 +442,7 @@
   }
 
   // Freeze the version range after the early callback.
-  if (!ssl_get_version_range(ssl, &hs->min_version, &hs->max_version)) {
+  if (!ssl_get_version_range(hs, &hs->min_version, &hs->max_version)) {
     return ssl_hs_error;
   }
 
@@ -494,8 +490,8 @@
   }
 
   // Call |cert_cb| to update server certificates if required.
-  if (ssl->cert->cert_cb != NULL) {
-    int rv = ssl->cert->cert_cb(ssl, ssl->cert->cert_cb_arg);
+  if (hs->config->cert->cert_cb != NULL) {
+    int rv = hs->config->cert->cert_cb(ssl, hs->config->cert->cert_cb_arg);
     if (rv == 0) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_CERT_CB_ERROR);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
@@ -510,6 +506,22 @@
     return ssl_hs_error;
   }
 
+  if (hs->ocsp_stapling_requested &&
+      ssl->ctx->legacy_ocsp_callback != nullptr) {
+    switch (ssl->ctx->legacy_ocsp_callback(
+        ssl, ssl->ctx->legacy_ocsp_callback_arg)) {
+      case SSL_TLSEXT_ERR_OK:
+        break;
+      case SSL_TLSEXT_ERR_NOACK:
+        hs->ocsp_stapling_requested = false;
+        break;
+      default:
+        OPENSSL_PUT_ERROR(SSL, SSL_R_OCSP_CB_ERROR);
+        ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
+        return ssl_hs_error;
+    }
+  }
+
   if (ssl_protocol_version(ssl) >= TLS1_3_VERSION) {
     // Jump to the TLS 1.3 state machine.
     hs->state = state12_tls13;
@@ -523,8 +535,10 @@
 
   // Negotiate the cipher suite. This must be done after |cert_cb| so the
   // certificate is finalized.
-  hs->new_cipher =
-      ssl3_choose_cipher(hs, &client_hello, ssl_get_cipher_preferences(ssl));
+  SSLCipherPreferenceList *prefs = hs->config->cipher_list
+                                       ? hs->config->cipher_list.get()
+                                       : ssl->ctx->cipher_list.get();
+  hs->new_cipher = ssl3_choose_cipher(hs, &client_hello, prefs);
   if (hs->new_cipher == NULL) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_NO_SHARED_CIPHER);
     ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
@@ -562,7 +576,7 @@
   UniquePtr<SSL_SESSION> session;
   bool tickets_supported = false, renew_ticket = false;
   enum ssl_hs_wait_t wait = ssl_get_prev_session(
-      ssl, &session, &tickets_supported, &renew_ticket, &client_hello);
+      hs, &session, &tickets_supported, &renew_ticket, &client_hello);
   if (wait != ssl_hs_ok) {
     return wait;
   }
@@ -587,7 +601,7 @@
   if (session) {
     // Use the old session.
     hs->ticket_expected = renew_ticket;
-    ssl->session = session.release();
+    ssl->session = std::move(session);
     ssl->s3->session_reused = true;
   } else {
     hs->ticket_expected = tickets_supported;
@@ -614,10 +628,10 @@
     hs->new_session->cipher = hs->new_cipher;
 
     // Determine whether to request a client certificate.
-    hs->cert_request = !!(ssl->verify_mode & SSL_VERIFY_PEER);
+    hs->cert_request = !!(hs->config->verify_mode & SSL_VERIFY_PEER);
     // Only request a certificate if Channel ID isn't negotiated.
-    if ((ssl->verify_mode & SSL_VERIFY_PEER_IF_NO_OBC) &&
-        ssl->s3->tlsext_channel_id_valid) {
+    if ((hs->config->verify_mode & SSL_VERIFY_PEER_IF_NO_OBC) &&
+        ssl->s3->channel_id_valid) {
       hs->cert_request = false;
     }
     // CertificateRequest may only be sent in certificate-based ciphers.
@@ -650,7 +664,7 @@
 
   // Handback includes the whole handshake transcript, so we cannot free the
   // transcript buffer in the handback case.
-  if (!hs->cert_request && !hs->ssl->handback) {
+  if (!hs->cert_request && !hs->handback) {
     hs->transcript.FreeBuffer();
   }
 
@@ -665,9 +679,9 @@
 
   // We only accept ChannelIDs on connections with ECDHE in order to avoid a
   // known attack while we fix ChannelID itself.
-  if (ssl->s3->tlsext_channel_id_valid &&
+  if (ssl->s3->channel_id_valid &&
       (hs->new_cipher->algorithm_mkey & SSL_kECDHE) == 0) {
-    ssl->s3->tlsext_channel_id_valid = false;
+    ssl->s3->channel_id_valid = false;
   }
 
   // If this is a resumption and the original handshake didn't support
@@ -675,7 +689,7 @@
   // session and so cannot resume with ChannelIDs.
   if (ssl->session != NULL &&
       ssl->session->original_handshake_hash_len == 0) {
-    ssl->s3->tlsext_channel_id_valid = false;
+    ssl->s3->channel_id_valid = false;
   }
 
   struct OPENSSL_timeval now;
@@ -700,8 +714,8 @@
   }
 
   const SSL_SESSION *session = hs->new_session.get();
-  if (ssl->session != NULL) {
-    session = ssl->session;
+  if (ssl->session != nullptr) {
+    session = ssl->session.get();
   }
 
   ScopedCBB cbb;
@@ -733,12 +747,12 @@
   ScopedCBB cbb;
 
   if (ssl_cipher_uses_certificate_auth(hs->new_cipher)) {
-    if (!ssl_has_certificate(ssl)) {
+    if (!ssl_has_certificate(hs->config)) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_NO_CERTIFICATE_SET);
       return ssl_hs_error;
     }
 
-    if (!ssl_output_cert_chain(ssl)) {
+    if (!ssl_output_cert_chain(hs)) {
       return ssl_hs_error;
     }
 
@@ -748,9 +762,10 @@
                                      SSL3_MT_CERTIFICATE_STATUS) ||
           !CBB_add_u8(&body, TLSEXT_STATUSTYPE_ocsp) ||
           !CBB_add_u24_length_prefixed(&body, &ocsp_response) ||
-          !CBB_add_bytes(&ocsp_response,
-                         CRYPTO_BUFFER_data(ssl->cert->ocsp_response.get()),
-                         CRYPTO_BUFFER_len(ssl->cert->ocsp_response.get())) ||
+          !CBB_add_bytes(
+              &ocsp_response,
+              CRYPTO_BUFFER_data(hs->config->cert->ocsp_response.get()),
+              CRYPTO_BUFFER_len(hs->config->cert->ocsp_response.get())) ||
           !ssl_add_message_cbb(ssl, cbb.get())) {
         OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
         return ssl_hs_error;
@@ -762,8 +777,7 @@
   uint32_t alg_k = hs->new_cipher->algorithm_mkey;
   uint32_t alg_a = hs->new_cipher->algorithm_auth;
   if (ssl_cipher_requires_server_key_exchange(hs->new_cipher) ||
-      ((alg_a & SSL_aPSK) && ssl->psk_identity_hint)) {
-
+      ((alg_a & SSL_aPSK) && hs->config->psk_identity_hint)) {
     // Pre-allocate enough room to comfortably fit an ECDHE public key. Prepend
     // the client and server randoms for the signing transcript.
     CBB child;
@@ -775,10 +789,12 @@
 
     // PSK ciphers begin with an identity hint.
     if (alg_a & SSL_aPSK) {
-      size_t len =
-          (ssl->psk_identity_hint == NULL) ? 0 : strlen(ssl->psk_identity_hint);
+      size_t len = hs->config->psk_identity_hint == nullptr
+                       ? 0
+                       : strlen(hs->config->psk_identity_hint.get());
       if (!CBB_add_u16_length_prefixed(cbb.get(), &child) ||
-          !CBB_add_bytes(&child, (const uint8_t *)ssl->psk_identity_hint,
+          !CBB_add_bytes(&child,
+                         (const uint8_t *)hs->config->psk_identity_hint.get(),
                          len)) {
         return ssl_hs_error;
       }
@@ -837,7 +853,7 @@
 
   // Add a signature.
   if (ssl_cipher_uses_certificate_auth(hs->new_cipher)) {
-    if (!ssl_has_private_key(ssl)) {
+    if (!ssl_has_private_key(hs->config)) {
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
       return ssl_hs_error;
     }
@@ -845,6 +861,7 @@
     // Determine the signature algorithm.
     uint16_t signature_algorithm;
     if (!tls1_choose_signature_algorithm(hs, &signature_algorithm)) {
+      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
       return ssl_hs_error;
     }
     if (ssl_protocol_version(ssl) >= TLS1_2_VERSION) {
@@ -900,15 +917,14 @@
                                    SSL3_MT_CERTIFICATE_REQUEST) ||
         !CBB_add_u8_length_prefixed(&body, &cert_types) ||
         !CBB_add_u8(&cert_types, SSL3_CT_RSA_SIGN) ||
-        (ssl_protocol_version(ssl) >= TLS1_VERSION &&
-         !CBB_add_u8(&cert_types, TLS_CT_ECDSA_SIGN)) ||
+        !CBB_add_u8(&cert_types, TLS_CT_ECDSA_SIGN) ||
         // TLS 1.2 has no way to specify different signature algorithms for
         // certificates and the online signature, so emit the more restrictive
         // certificate list.
         (ssl_protocol_version(ssl) >= TLS1_2_VERSION &&
          (!CBB_add_u16_length_prefixed(&body, &sigalgs_cbb) ||
           !tls12_add_verify_sigalgs(ssl, &sigalgs_cbb, true /* certs */))) ||
-        !ssl_add_client_CA_list(ssl, &body) ||
+        !ssl_add_client_CA_list(hs, &body) ||
         !ssl_add_message_cbb(ssl, cbb.get())) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
       return ssl_hs_error;
@@ -929,8 +945,8 @@
 static enum ssl_hs_wait_t do_read_client_certificate(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
 
-  if (ssl->handback && hs->new_cipher->algorithm_mkey == SSL_kECDHE) {
-     return ssl_hs_handback;
+  if (hs->handback && hs->new_cipher->algorithm_mkey == SSL_kECDHE) {
+    return ssl_hs_handback;
   }
   if (!hs->cert_request) {
     hs->state = state12_verify_client_certificate;
@@ -942,26 +958,7 @@
     return ssl_hs_read_message;
   }
 
-  if (msg.type != SSL3_MT_CERTIFICATE) {
-    if (ssl->version == SSL3_VERSION &&
-        msg.type == SSL3_MT_CLIENT_KEY_EXCHANGE) {
-      // In SSL 3.0, the Certificate message is omitted to signal no
-      // certificate.
-      if (ssl->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) {
-        OPENSSL_PUT_ERROR(SSL, SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
-        ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
-        return ssl_hs_error;
-      }
-
-      // OpenSSL returns X509_V_OK when no certificates are received. This is
-      // classed by them as a bug, but it's assumed by at least NGINX.
-      hs->new_session->verify_result = X509_V_OK;
-      hs->state = state12_verify_client_certificate;
-      return ssl_hs_ok;
-    }
-
-    OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_MESSAGE);
-    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_UNEXPECTED_MESSAGE);
+  if (!ssl_check_message_type(ssl, msg, SSL3_MT_CERTIFICATE)) {
     return ssl_hs_error;
   }
 
@@ -971,17 +968,14 @@
 
   CBS certificate_msg = msg.body;
   uint8_t alert = SSL_AD_DECODE_ERROR;
-  UniquePtr<STACK_OF(CRYPTO_BUFFER)> chain;
-  if (!ssl_parse_cert_chain(&alert, &chain, &hs->peer_pubkey,
-                            ssl->retain_only_sha256_of_client_certs
+  if (!ssl_parse_cert_chain(&alert, &hs->new_session->certs, &hs->peer_pubkey,
+                            hs->config->retain_only_sha256_of_client_certs
                                 ? hs->new_session->peer_sha256
-                                : NULL,
+                                : nullptr,
                             &certificate_msg, ssl->ctx->pool)) {
     ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
     return ssl_hs_error;
   }
-  sk_CRYPTO_BUFFER_pop_free(hs->new_session->certs, CRYPTO_BUFFER_free);
-  hs->new_session->certs = chain.release();
 
   if (CBS_len(&certificate_msg) != 0 ||
       !ssl->ctx->x509_method->session_cache_objects(hs->new_session.get())) {
@@ -990,19 +984,11 @@
     return ssl_hs_error;
   }
 
-  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs) == 0) {
+  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs.get()) == 0) {
     // No client certificate so the handshake buffer may be discarded.
     hs->transcript.FreeBuffer();
 
-    // In SSL 3.0, sending no certificate is signaled by omitting the
-    // Certificate message.
-    if (ssl->version == SSL3_VERSION) {
-      OPENSSL_PUT_ERROR(SSL, SSL_R_NO_CERTIFICATES_RETURNED);
-      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
-      return ssl_hs_error;
-    }
-
-    if (ssl->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) {
+    if (hs->config->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) {
       // Fail for TLS only if we required a certificate
       OPENSSL_PUT_ERROR(SSL, SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
@@ -1012,7 +998,7 @@
     // OpenSSL returns X509_V_OK when no certificates are received. This is
     // classed by them as a bug, but it's assumed by at least NGINX.
     hs->new_session->verify_result = X509_V_OK;
-  } else if (ssl->retain_only_sha256_of_client_certs) {
+  } else if (hs->config->retain_only_sha256_of_client_certs) {
     // The hash will have been filled in.
     hs->new_session->peer_sha256_valid = 1;
   }
@@ -1023,7 +1009,7 @@
 }
 
 static enum ssl_hs_wait_t do_verify_client_certificate(SSL_HANDSHAKE *hs) {
-  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs) > 0) {
+  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs.get()) > 0) {
     switch (ssl_verify_peer_cert(hs)) {
       case ssl_verify_ok:
         break;
@@ -1072,28 +1058,25 @@
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
       return ssl_hs_error;
     }
-
-    if (!CBS_strdup(&psk_identity, &hs->new_session->psk_identity)) {
+    char *raw = nullptr;
+    if (!CBS_strdup(&psk_identity, &raw)) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
       return ssl_hs_error;
     }
+    hs->new_session->psk_identity.reset(raw);
   }
 
   // Depending on the key exchange method, compute |premaster_secret|.
   Array<uint8_t> premaster_secret;
   if (alg_k & SSL_kRSA) {
     CBS encrypted_premaster_secret;
-    if (ssl->version > SSL3_VERSION) {
-      if (!CBS_get_u16_length_prefixed(&client_key_exchange,
-                                       &encrypted_premaster_secret) ||
-          CBS_len(&client_key_exchange) != 0) {
-        OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
-        ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
-        return ssl_hs_error;
-      }
-    } else {
-      encrypted_premaster_secret = client_key_exchange;
+    if (!CBS_get_u16_length_prefixed(&client_key_exchange,
+                                     &encrypted_premaster_secret) ||
+        CBS_len(&client_key_exchange) != 0) {
+      OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
+      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
+      return ssl_hs_error;
     }
 
     // Allocate a buffer large enough for an RSA decryption.
@@ -1187,7 +1170,7 @@
   // For a PSK cipher suite, the actual pre-master secret is combined with the
   // pre-shared key.
   if (alg_a & SSL_aPSK) {
-    if (ssl->psk_server_callback == NULL) {
+    if (hs->config->psk_server_callback == NULL) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
       return ssl_hs_error;
@@ -1195,8 +1178,8 @@
 
     // Look up the key for the identity.
     uint8_t psk[PSK_MAX_PSK_LEN];
-    unsigned psk_len = ssl->psk_server_callback(
-        ssl, hs->new_session->psk_identity, psk, sizeof(psk));
+    unsigned psk_len = hs->config->psk_server_callback(
+        ssl, hs->new_session->psk_identity.get(), psk, sizeof(psk));
     if (psk_len > PSK_MAX_PSK_LEN) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
@@ -1300,29 +1283,9 @@
     return ssl_hs_error;
   }
 
-  bool sig_ok;
-  // The SSL3 construction for CertificateVerify does not decompose into a
-  // single final digest and signature, and must be special-cased.
-  if (ssl_protocol_version(ssl) == SSL3_VERSION) {
-    uint8_t digest[EVP_MAX_MD_SIZE];
-    size_t digest_len;
-    if (!hs->transcript.GetSSL3CertVerifyHash(
-            digest, &digest_len, hs->new_session.get(), signature_algorithm)) {
-      return ssl_hs_error;
-    }
-
-    UniquePtr<EVP_PKEY_CTX> pctx(
-        EVP_PKEY_CTX_new(hs->peer_pubkey.get(), nullptr));
-    sig_ok = pctx &&
-             EVP_PKEY_verify_init(pctx.get()) &&
-             EVP_PKEY_verify(pctx.get(), CBS_data(&signature),
-                             CBS_len(&signature), digest, digest_len);
-  } else {
-    sig_ok =
-        ssl_public_key_verify(ssl, signature, signature_algorithm,
-                              hs->peer_pubkey.get(), hs->transcript.buffer());
-  }
-
+  bool sig_ok =
+      ssl_public_key_verify(ssl, signature, signature_algorithm,
+                            hs->peer_pubkey.get(), hs->transcript.buffer());
 #if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
   sig_ok = true;
   ERR_clear_error();
@@ -1346,6 +1309,9 @@
 }
 
 static enum ssl_hs_wait_t do_read_change_cipher_spec(SSL_HANDSHAKE *hs) {
+  if (hs->handback && hs->ssl->session != NULL) {
+    return ssl_hs_handback;
+  }
   hs->state = state12_process_change_cipher_spec;
   return ssl_hs_read_change_cipher_spec;
 }
@@ -1398,7 +1364,7 @@
 static enum ssl_hs_wait_t do_read_channel_id(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
 
-  if (!ssl->s3->tlsext_channel_id_valid) {
+  if (!ssl->s3->channel_id_valid) {
     hs->state = state12_read_client_finished;
     return ssl_hs_ok;
   }
@@ -1435,7 +1401,7 @@
   // If this is a full handshake with ChannelID then record the handshake
   // hashes in |hs->new_session| in case we need them to verify a
   // ChannelID signature on a resumption of this session in the future.
-  if (ssl->session == NULL && ssl->s3->tlsext_channel_id_valid &&
+  if (ssl->session == NULL && ssl->s3->channel_id_valid &&
       !tls1_record_handshake_hashes_for_channel_id(hs)) {
     return ssl_hs_error;
   }
@@ -1456,7 +1422,8 @@
     } else {
       // We are renewing an existing session. Duplicate the session to adjust
       // the timeout.
-      session_copy = SSL_SESSION_dup(ssl->session, SSL_SESSION_INCLUDE_NONAUTH);
+      session_copy =
+          SSL_SESSION_dup(ssl->session.get(), SSL_SESSION_INCLUDE_NONAUTH);
       if (!session_copy) {
         return ssl_hs_error;
       }
@@ -1471,7 +1438,7 @@
                                    SSL3_MT_NEW_SESSION_TICKET) ||
         !CBB_add_u32(&body, session->timeout) ||
         !CBB_add_u16_length_prefixed(&body, &ticket) ||
-        !ssl_encrypt_ticket(ssl, &ticket, session) ||
+        !ssl_encrypt_ticket(hs, &ticket, session) ||
         !ssl_add_message_cbb(ssl, cbb.get())) {
       return ssl_hs_error;
     }
@@ -1494,25 +1461,24 @@
 static enum ssl_hs_wait_t do_finish_server_handshake(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
 
-  if (ssl->handback) {
+  if (hs->handback) {
     return ssl_hs_handback;
   }
 
   ssl->method->on_handshake_complete(ssl);
 
   // If we aren't retaining peer certificates then we can discard it now.
-  if (hs->new_session != NULL && ssl->retain_only_sha256_of_client_certs) {
-    sk_CRYPTO_BUFFER_pop_free(hs->new_session->certs, CRYPTO_BUFFER_free);
-    hs->new_session->certs = NULL;
+  if (hs->new_session != NULL &&
+      hs->config->retain_only_sha256_of_client_certs) {
+    hs->new_session->certs.reset();
     ssl->ctx->x509_method->session_clear(hs->new_session.get());
   }
 
   if (ssl->session != NULL) {
-    SSL_SESSION_up_ref(ssl->session);
-    ssl->s3->established_session.reset(ssl->session);
+    ssl->s3->established_session = UpRef(ssl->session);
   } else {
     ssl->s3->established_session = std::move(hs->new_session);
-    ssl->s3->established_session->not_resumable = 0;
+    ssl->s3->established_session->not_resumable = false;
   }
 
   hs->handshake_finalized = true;
diff --git a/src/ssl/internal.h b/src/ssl/internal.h
index b258589..cc3e075 100644
--- a/src/ssl/internal.h
+++ b/src/ssl/internal.h
@@ -175,8 +175,10 @@
 
 namespace bssl {
 
+struct SSL_CONFIG;
 struct SSL_HANDSHAKE;
 struct SSL_PROTOCOL_METHOD;
+struct SSL_X509_METHOD;
 
 // C++ utilities.
 
@@ -371,12 +373,16 @@
 
 // ssl_get_version_range sets |*out_min_version| and |*out_max_version| to the
 // minimum and maximum enabled protocol versions, respectively.
-bool ssl_get_version_range(const SSL *ssl, uint16_t *out_min_version,
+bool ssl_get_version_range(const SSL_HANDSHAKE *hs, uint16_t *out_min_version,
                            uint16_t *out_max_version);
 
 // ssl_supports_version returns whether |hs| supports |version|.
 bool ssl_supports_version(SSL_HANDSHAKE *hs, uint16_t version);
 
+// ssl_method_supports_version returns whether |method| supports |version|.
+bool ssl_method_supports_version(const SSL_PROTOCOL_METHOD *method,
+                                 uint16_t version);
+
 // ssl_add_supported_versions writes the supported versions of |hs| to |cbb|, in
 // decreasing preference order.
 bool ssl_add_supported_versions(SSL_HANDSHAKE *hs, CBB *cbb);
@@ -447,10 +453,8 @@
 
 // Bits for |algorithm_mac| (symmetric authentication).
 #define SSL_SHA1 0x00000001u
-#define SSL_SHA256 0x00000002u
-#define SSL_SHA384 0x00000004u
 // SSL_AEAD is set for all AEADs.
-#define SSL_AEAD 0x00000008u
+#define SSL_AEAD 0x00000002u
 
 // Bits for |algorithm_prf| (handshake digest).
 #define SSL_HANDSHAKE_MAC_DEFAULT 0x1
@@ -520,7 +524,7 @@
 // true on success and false on failure. If |strict| is true, nonsense will be
 // rejected. If false, nonsense will be silently ignored. An empty result is
 // considered an error regardless of |strict|.
-bool ssl_create_cipher_list(SSLCipherPreferenceList **out_cipher_list,
+bool ssl_create_cipher_list(UniquePtr<SSLCipherPreferenceList> *out_cipher_list,
                             const char *rule_str, bool strict);
 
 // ssl_cipher_get_value returns the cipher suite id of |cipher|.
@@ -602,14 +606,6 @@
   // the number of bytes written. Otherwise, it returns false.
   bool GetHash(uint8_t *out, size_t *out_len);
 
-  // GetSSL3CertVerifyHash writes the SSL 3.0 CertificateVerify hash into the
-  // bytes pointed to by |out| and writes the number of bytes to
-  // |*out_len|. |out| must have room for |EVP_MAX_MD_SIZE| bytes. It returns
-  // one on success and zero on failure.
-  bool GetSSL3CertVerifyHash(uint8_t *out, size_t *out_len,
-                             const SSL_SESSION *session,
-                             uint16_t signature_algorithm);
-
   // GetFinishedMAC computes the MAC for the Finished message into the bytes
   // pointed by |out| and writes the number of bytes to |*out_len|. |out| must
   // have room for |EVP_MAX_MD_SIZE| bytes. It returns true on success and false
@@ -620,12 +616,8 @@
  private:
   // buffer_, if non-null, contains the handshake transcript.
   UniquePtr<BUF_MEM> buffer_;
-  // hash, if initialized with an |EVP_MD|, maintains the handshake hash. For
-  // TLS 1.1 and below, it is the SHA-1 half.
+  // hash, if initialized with an |EVP_MD|, maintains the handshake hash.
   ScopedEVP_MD_CTX hash_;
-  // md5, if initialized with an |EVP_MD|, maintains the MD5 half of the
-  // handshake hash for TLS 1.1 and below.
-  ScopedEVP_MD_CTX md5_;
 };
 
 // tls1_prf computes the PRF function for |ssl|. It fills |out|, using |secret|
@@ -771,9 +763,6 @@
   // omit_length_in_ad_ is true if the length should be omitted in the
   // AEAD's ad parameter.
   bool omit_length_in_ad_ : 1;
-  // omit_version_in_ad_ is true if the version should be omitted
-  // in the AEAD's ad parameter.
-  bool omit_version_in_ad_ : 1;
   // omit_ad_ is true if the AEAD's ad parameter should be omitted.
   bool omit_ad_ : 1;
   // ad_is_header_ is true if the AEAD's ad parameter is the record header.
@@ -908,9 +897,9 @@
 
 // Private key operations.
 
-// ssl_has_private_key returns one if |ssl| has a private key
-// configured and zero otherwise.
-int ssl_has_private_key(const SSL *ssl);
+// ssl_has_private_key returns one if |cfg| has a private key configured and
+// zero otherwise.
+int ssl_has_private_key(const SSL_CONFIG *cfg);
 
 // ssl_private_key_* perform the corresponding operation on
 // |SSL_PRIVATE_KEY_METHOD|. If there is a custom private key configured, they
@@ -940,36 +929,6 @@
                            Span<const uint8_t> in);
 
 
-// Custom extensions
-
-}  // namespace bssl
-
-// |SSL_CUSTOM_EXTENSION| is a structure that contains information about
-// custom-extension callbacks. It is defined unnamespaced for compatibility with
-// |STACK_OF(SSL_CUSTOM_EXTENSION)|.
-typedef struct ssl_custom_extension {
-  SSL_custom_ext_add_cb add_callback;
-  void *add_arg;
-  SSL_custom_ext_free_cb free_callback;
-  SSL_custom_ext_parse_cb parse_callback;
-  void *parse_arg;
-  uint16_t value;
-} SSL_CUSTOM_EXTENSION;
-
-DEFINE_STACK_OF(SSL_CUSTOM_EXTENSION)
-
-namespace bssl {
-
-void SSL_CUSTOM_EXTENSION_free(SSL_CUSTOM_EXTENSION *custom_extension);
-
-int custom_ext_add_clienthello(SSL_HANDSHAKE *hs, CBB *extensions);
-int custom_ext_parse_serverhello(SSL_HANDSHAKE *hs, int *out_alert,
-                                 uint16_t value, const CBS *extension);
-int custom_ext_parse_clienthello(SSL_HANDSHAKE *hs, int *out_alert,
-                                 uint16_t value, const CBS *extension);
-int custom_ext_add_serverhello(SSL_HANDSHAKE *hs, CBB *extensions);
-
-
 // Key shares.
 
 // SSLKeyShare abstracts over Diffie-Hellman-like key exchanges.
@@ -1067,6 +1026,9 @@
 // |tls_has_unprocessed_handshake_data| for DTLS.
 bool dtls_has_unprocessed_handshake_data(const SSL *ssl);
 
+// tls_flush_pending_hs_data flushes any handshake plaintext data.
+bool tls_flush_pending_hs_data(SSL *ssl);
+
 struct DTLS_OUTGOING_MESSAGE {
   DTLS_OUTGOING_MESSAGE() {}
   DTLS_OUTGOING_MESSAGE(const DTLS_OUTGOING_MESSAGE &) = delete;
@@ -1175,7 +1137,7 @@
 
 // ssl_has_certificate returns one if a certificate and private key are
 // configured and zero otherwise.
-int ssl_has_certificate(const SSL *ssl);
+int ssl_has_certificate(const SSL_CONFIG *cfg);
 
 // ssl_parse_cert_chain parses a certificate list from |cbs| in the format used
 // by a TLS Certificate message. On success, it advances |cbs| and returns
@@ -1194,10 +1156,10 @@
                           uint8_t *out_leaf_sha256, CBS *cbs,
                           CRYPTO_BUFFER_POOL *pool);
 
-// ssl_add_cert_chain adds |ssl|'s certificate chain to |cbb| in the format used
-// by a TLS Certificate message. If there is no certificate chain, it emits an
-// empty certificate list. It returns one on success and zero on error.
-int ssl_add_cert_chain(SSL *ssl, CBB *cbb);
+// ssl_add_cert_chain adds |hs->ssl|'s certificate chain to |cbb| in the format
+// used by a TLS Certificate message. If there is no certificate chain, it emits
+// an empty certificate list. It returns one on success and zero on error.
+int ssl_add_cert_chain(SSL_HANDSHAKE *hs, CBB *cbb);
 
 // ssl_cert_check_digital_signature_key_usage parses the DER-encoded, X.509
 // certificate in |in| and returns one if doesn't specify a key usage or, if it
@@ -1219,12 +1181,12 @@
                                                             CBS *cbs);
 
 // ssl_has_client_CAs returns there are configured CAs.
-bool ssl_has_client_CAs(SSL *ssl);
+bool ssl_has_client_CAs(const SSL_CONFIG *cfg);
 
 // ssl_add_client_CA_list adds the configured CA list to |cbb| in the format
 // used by a TLS CertificateRequest message. It returns one on success and zero
 // on error.
-int ssl_add_client_CA_list(SSL *ssl, CBB *cbb);
+int ssl_add_client_CA_list(SSL_HANDSHAKE *hs, CBB *cbb);
 
 // ssl_check_leaf_certificate returns one if |pkey| and |leaf| are suitable as
 // a server's leaf certificate for |hs|. Otherwise, it returns zero and pushes
@@ -1371,6 +1333,14 @@
   state12_done,
 };
 
+// handback_t lists the points in the state machine where a handback can occur.
+// These are the different points at which key material is no longer needed.
+enum handback_t {
+  handback_after_session_resumption,
+  handback_after_ecdhe,
+  handback_after_handshake,
+};
+
 struct SSL_HANDSHAKE {
   explicit SSL_HANDSHAKE(SSL *ssl);
   ~SSL_HANDSHAKE();
@@ -1379,6 +1349,9 @@
   // ssl is a non-owning pointer to the parent |SSL| object.
   SSL *ssl;
 
+  // config is a non-owning pointer to the handshake configuration.
+  SSL_CONFIG *config;
+
   // wait contains the operation the handshake is currently blocking on or
   // |ssl_hs_ok| if none.
   enum ssl_hs_wait_t wait = ssl_hs_ok;
@@ -1418,17 +1391,6 @@
     uint32_t received;
   } extensions;
 
-  union {
-    // sent is a bitset where the bits correspond to elements of
-    // |client_custom_extensions| in the |SSL_CTX|. Each bit is set if that
-    // extension was sent in a ClientHello. It's not used by servers.
-    uint16_t sent = 0;
-    // received is a bitset, like |sent|, but is used by servers to record
-    // which custom extensions were received from a client. The bits here
-    // correspond to |server_custom_extensions|.
-    uint16_t received;
-  } custom_extensions;
-
   // retry_group is the group ID selected by the server in HelloRetryRequest in
   // TLS 1.3.
   uint16_t retry_group = 0;
@@ -1472,6 +1434,11 @@
   // sent.
   uint16_t negotiated_token_binding_version;
 
+  // cert_compression_alg_id, for a server, contains the negotiated certificate
+  // compression algorithm for this client. It is only valid if
+  // |cert_compression_negotiated| is true.
+  uint16_t cert_compression_alg_id;
+
   // server_params, in a TLS 1.2 server, stores the ServerKeyExchange
   // parameters. It has client and server randoms prepended for signing
   // convenience.
@@ -1524,8 +1491,6 @@
   bool received_hello_retry_request:1;
   bool sent_hello_retry_request:1;
 
-  bool received_custom_extension:1;
-
   // handshake_finalized is true once the handshake has completed, at which
   // point accessors should use the established state.
   bool handshake_finalized:1;
@@ -1586,6 +1551,14 @@
   // grease_seeded is true if |grease_seed| has been initialized.
   bool grease_seeded:1;
 
+  // handback indicates that a server should pause the handshake after
+  // finishing operations that require private key material, in such a way that
+  // |SSL_get_error| returns |SSL_HANDBACK|.  It is set by |SSL_apply_handoff|.
+  bool handback:1;
+
+  // cert_compression_negotiated is true iff |cert_compression_alg_id| is valid.
+  bool cert_compression_negotiated:1;
+
   // client_version is the value sent or received in the ClientHello version.
   uint16_t client_version = 0;
 
@@ -1678,8 +1651,8 @@
 bool ssl_ext_pre_shared_key_add_serverhello(SSL_HANDSHAKE *hs, CBB *out);
 
 // ssl_is_sct_list_valid does a shallow parse of the SCT list in |contents| and
-// returns one iff it's valid.
-int ssl_is_sct_list_valid(const CBS *contents);
+// returns whether it's valid.
+bool ssl_is_sct_list_valid(const CBS *contents);
 
 int ssl_write_client_hello(SSL_HANDSHAKE *hs);
 
@@ -1698,8 +1671,9 @@
     enum ssl_cert_verify_context_t cert_verify_context);
 
 // ssl_is_alpn_protocol_allowed returns whether |protocol| is a valid server
-// selection for |ssl|'s client preferences.
-bool ssl_is_alpn_protocol_allowed(const SSL *ssl, Span<const uint8_t> protocol);
+// selection for |hs->ssl|'s client preferences.
+bool ssl_is_alpn_protocol_allowed(const SSL_HANDSHAKE *hs,
+                                  Span<const uint8_t> protocol);
 
 // ssl_negotiate_alpn negotiates the ALPN extension, if applicable. It returns
 // true on successful negotiation or if nothing was negotiated. It returns false
@@ -1727,8 +1701,7 @@
 
 enum ssl_hs_wait_t ssl_get_finished(SSL_HANDSHAKE *hs);
 bool ssl_send_finished(SSL_HANDSHAKE *hs);
-bool ssl_output_cert_chain(SSL *ssl);
-
+bool ssl_output_cert_chain(SSL_HANDSHAKE *hs);
 
 // SSLKEYLOGFILE functions.
 
@@ -1740,14 +1713,14 @@
 
 // ClientHello functions.
 
-int ssl_client_hello_init(SSL *ssl, SSL_CLIENT_HELLO *out,
-                          const SSLMessage &msg);
+bool ssl_client_hello_init(SSL *ssl, SSL_CLIENT_HELLO *out,
+                           const SSLMessage &msg);
 
-int ssl_client_hello_get_extension(const SSL_CLIENT_HELLO *client_hello,
-                                   CBS *out, uint16_t extension_type);
+bool ssl_client_hello_get_extension(const SSL_CLIENT_HELLO *client_hello,
+                                    CBS *out, uint16_t extension_type);
 
-int ssl_client_cipher_list_contains_cipher(const SSL_CLIENT_HELLO *client_hello,
-                                           uint16_t id);
+bool ssl_client_cipher_list_contains_cipher(
+    const SSL_CLIENT_HELLO *client_hello, uint16_t id);
 
 
 // GREASE.
@@ -1869,9 +1842,6 @@
   // ticket key. Only sessions with a matching value will be accepted.
   uint8_t sid_ctx_length = 0;
   uint8_t sid_ctx[SSL_MAX_SID_CTX_LENGTH] = {0};
-
-  // If enable_early_data is true, early data can be sent and accepted.
-  bool enable_early_data:1;
 };
 
 // |SSL_PROTOCOL_METHOD| abstracts between TLS and DTLS.
@@ -1951,6 +1921,62 @@
                                     size_t *out_consumed, uint8_t *out_alert,
                                     Span<uint8_t> in);
 
+struct SSL_X509_METHOD {
+  // check_client_CA_list returns one if |names| is a good list of X.509
+  // distinguished names and zero otherwise. This is used to ensure that we can
+  // reject unparsable values at handshake time when using crypto/x509.
+  int (*check_client_CA_list)(STACK_OF(CRYPTO_BUFFER) *names);
+
+  // cert_clear frees and NULLs all X509 certificate-related state.
+  void (*cert_clear)(CERT *cert);
+  // cert_free frees all X509-related state.
+  void (*cert_free)(CERT *cert);
+  // cert_flush_cached_chain drops any cached |X509|-based certificate chain
+  // from |cert|.
+  // cert_dup duplicates any needed fields from |cert| to |new_cert|.
+  void (*cert_dup)(CERT *new_cert, const CERT *cert);
+  void (*cert_flush_cached_chain)(CERT *cert);
+  // cert_flush_cached_chain drops any cached |X509|-based leaf certificate
+  // from |cert|.
+  void (*cert_flush_cached_leaf)(CERT *cert);
+
+  // session_cache_objects fills out |sess->x509_peer| and |sess->x509_chain|
+  // from |sess->certs| and erases |sess->x509_chain_without_leaf|. It returns
+  // one on success or zero on error.
+  int (*session_cache_objects)(SSL_SESSION *session);
+  // session_dup duplicates any needed fields from |session| to |new_session|.
+  // It returns one on success or zero on error.
+  int (*session_dup)(SSL_SESSION *new_session, const SSL_SESSION *session);
+  // session_clear frees any X509-related state from |session|.
+  void (*session_clear)(SSL_SESSION *session);
+  // session_verify_cert_chain verifies the certificate chain in |session|,
+  // sets |session->verify_result| and returns one on success or zero on
+  // error.
+  int (*session_verify_cert_chain)(SSL_SESSION *session, SSL_HANDSHAKE *ssl,
+                                   uint8_t *out_alert);
+
+  // hs_flush_cached_ca_names drops any cached |X509_NAME|s from |hs|.
+  void (*hs_flush_cached_ca_names)(SSL_HANDSHAKE *hs);
+  // ssl_new does any neccessary initialisation of |hs|. It returns one on
+  // success or zero on error.
+  int (*ssl_new)(SSL_HANDSHAKE *hs);
+  // ssl_free frees anything created by |ssl_new|.
+  void (*ssl_config_free)(SSL_CONFIG *cfg);
+  // ssl_flush_cached_client_CA drops any cached |X509_NAME|s from |ssl|.
+  void (*ssl_flush_cached_client_CA)(SSL_CONFIG *cfg);
+  // ssl_auto_chain_if_needed runs the deprecated auto-chaining logic if
+  // necessary. On success, it updates |ssl|'s certificate configuration as
+  // needed and returns one. Otherwise, it returns zero.
+  int (*ssl_auto_chain_if_needed)(SSL_HANDSHAKE *hs);
+  // ssl_ctx_new does any neccessary initialisation of |ctx|. It returns one on
+  // success or zero on error.
+  int (*ssl_ctx_new)(SSL_CTX *ctx);
+  // ssl_ctx_free frees anything created by |ssl_ctx_new|.
+  void (*ssl_ctx_free)(SSL_CTX *ctx);
+  // ssl_ctx_flush_cached_client_CA drops any cached |X509_NAME|s from |ctx|.
+  void (*ssl_ctx_flush_cached_client_CA)(SSL_CTX *ssl);
+};
+
 // ssl_crypto_x509_method provides the |SSL_X509_METHOD| functions using
 // crypto/x509.
 extern const SSL_X509_METHOD ssl_crypto_x509_method;
@@ -1959,302 +1985,35 @@
 // crypto/x509.
 extern const SSL_X509_METHOD ssl_noop_x509_method;
 
-struct tlsext_ticket_key {
+struct TicketKey {
   static constexpr bool kAllowUniquePtr = true;
 
-  uint8_t name[SSL_TICKET_KEY_NAME_LEN];
-  uint8_t hmac_key[16];
-  uint8_t aes_key[16];
+  uint8_t name[SSL_TICKET_KEY_NAME_LEN] = {0};
+  uint8_t hmac_key[16] = {0};
+  uint8_t aes_key[16] = {0};
   // next_rotation_tv_sec is the time (in seconds from the epoch) when the
   // current key should be superseded by a new key, or the time when a previous
   // key should be dropped. If zero, then the key should not be automatically
   // rotated.
-  uint64_t next_rotation_tv_sec;
+  uint64_t next_rotation_tv_sec = 0;
+};
+
+struct CertCompressionAlg {
+  static constexpr bool kAllowUniquePtr = true;
+
+  ssl_cert_compression_func_t compress = nullptr;
+  ssl_cert_decompression_func_t decompress = nullptr;
+  uint16_t alg_id = 0;
 };
 
 }  // namespace bssl
 
 DECLARE_LHASH_OF(SSL_SESSION)
 
+DEFINE_NAMED_STACK_OF(CertCompressionAlg, bssl::CertCompressionAlg);
+
 namespace bssl {
 
-// SSLContext backs the public |SSL_CTX| type. Due to compatibility constraints,
-// it is a base class for |ssl_ctx_st|.
-struct SSLContext {
-  const SSL_PROTOCOL_METHOD *method;
-  const SSL_X509_METHOD *x509_method;
-
-  // lock is used to protect various operations on this object.
-  CRYPTO_MUTEX lock;
-
-  // conf_max_version is the maximum acceptable protocol version configured by
-  // |SSL_CTX_set_max_proto_version|. Note this version is normalized in DTLS
-  // and is further constrainted by |SSL_OP_NO_*|.
-  uint16_t conf_max_version;
-
-  // conf_min_version is the minimum acceptable protocol version configured by
-  // |SSL_CTX_set_min_proto_version|. Note this version is normalized in DTLS
-  // and is further constrainted by |SSL_OP_NO_*|.
-  uint16_t conf_min_version;
-
-  // tls13_variant is the variant of TLS 1.3 we are using for this
-  // configuration.
-  enum tls13_variant_t tls13_variant;
-
-  SSLCipherPreferenceList *cipher_list;
-
-  X509_STORE *cert_store;
-  LHASH_OF(SSL_SESSION) *sessions;
-  // Most session-ids that will be cached, default is
-  // SSL_SESSION_CACHE_MAX_SIZE_DEFAULT. 0 is unlimited.
-  unsigned long session_cache_size;
-  SSL_SESSION *session_cache_head;
-  SSL_SESSION *session_cache_tail;
-
-  // handshakes_since_cache_flush is the number of successful handshakes since
-  // the last cache flush.
-  int handshakes_since_cache_flush;
-
-  // This can have one of 2 values, ored together,
-  // SSL_SESS_CACHE_CLIENT,
-  // SSL_SESS_CACHE_SERVER,
-  // Default is SSL_SESSION_CACHE_SERVER, which means only
-  // SSL_accept which cache SSL_SESSIONS.
-  int session_cache_mode;
-
-  // session_timeout is the default lifetime for new sessions in TLS 1.2 and
-  // earlier, in seconds.
-  uint32_t session_timeout;
-
-  // session_psk_dhe_timeout is the default lifetime for new sessions in TLS
-  // 1.3, in seconds.
-  uint32_t session_psk_dhe_timeout;
-
-  // If this callback is not null, it will be called each time a session id is
-  // added to the cache.  If this function returns 1, it means that the
-  // callback will do a SSL_SESSION_free() when it has finished using it.
-  // Otherwise, on 0, it means the callback has finished with it. If
-  // remove_session_cb is not null, it will be called when a session-id is
-  // removed from the cache.  After the call, OpenSSL will SSL_SESSION_free()
-  // it.
-  int (*new_session_cb)(SSL *ssl, SSL_SESSION *sess);
-  void (*remove_session_cb)(SSL_CTX *ctx, SSL_SESSION *sess);
-  SSL_SESSION *(*get_session_cb)(SSL *ssl, const uint8_t *data, int len,
-                                 int *copy);
-
-  CRYPTO_refcount_t references;
-
-  // if defined, these override the X509_verify_cert() calls
-  int (*app_verify_callback)(X509_STORE_CTX *store_ctx, void *arg);
-  void *app_verify_arg;
-
-  enum ssl_verify_result_t (*custom_verify_callback)(SSL *ssl,
-                                                     uint8_t *out_alert);
-
-  // Default password callback.
-  pem_password_cb *default_passwd_callback;
-
-  // Default password callback user data.
-  void *default_passwd_callback_userdata;
-
-  // get client cert callback
-  int (*client_cert_cb)(SSL *ssl, X509 **out_x509, EVP_PKEY **out_pkey);
-
-  // get channel id callback
-  void (*channel_id_cb)(SSL *ssl, EVP_PKEY **out_pkey);
-
-  CRYPTO_EX_DATA ex_data;
-
-  // custom_*_extensions stores any callback sets for custom extensions. Note
-  // that these pointers will be NULL if the stack would otherwise be empty.
-  STACK_OF(SSL_CUSTOM_EXTENSION) *client_custom_extensions;
-  STACK_OF(SSL_CUSTOM_EXTENSION) *server_custom_extensions;
-
-  // Default values used when no per-SSL value is defined follow
-
-  void (*info_callback)(const SSL *ssl, int type, int value);
-
-  // what we put in client cert requests
-  STACK_OF(CRYPTO_BUFFER) *client_CA;
-
-  // cached_x509_client_CA is a cache of parsed versions of the elements of
-  // |client_CA|.
-  STACK_OF(X509_NAME) *cached_x509_client_CA;
-
-
-  // Default values to use in SSL structures follow (these are copied by
-  // SSL_new)
-
-  uint32_t options;
-  uint32_t mode;
-  uint32_t max_cert_list;
-
-  CERT *cert;
-
-  // callback that allows applications to peek at protocol messages
-  void (*msg_callback)(int write_p, int version, int content_type,
-                       const void *buf, size_t len, SSL *ssl, void *arg);
-  void *msg_callback_arg;
-
-  int verify_mode;
-  int (*default_verify_callback)(
-      int ok, X509_STORE_CTX *ctx);  // called 'verify_callback' in the SSL
-
-  X509_VERIFY_PARAM *param;
-
-  // select_certificate_cb is called before most ClientHello processing and
-  // before the decision whether to resume a session is made. See
-  // |ssl_select_cert_result_t| for details of the return values.
-  enum ssl_select_cert_result_t (*select_certificate_cb)(
-      const SSL_CLIENT_HELLO *);
-
-  // dos_protection_cb is called once the resumption decision for a ClientHello
-  // has been made. It returns one to continue the handshake or zero to
-  // abort.
-  int (*dos_protection_cb) (const SSL_CLIENT_HELLO *);
-
-  // Maximum amount of data to send in one fragment. actual record size can be
-  // more than this due to padding and MAC overheads.
-  uint16_t max_send_fragment;
-
-  // TLS extensions servername callback
-  int (*tlsext_servername_callback)(SSL *, int *, void *);
-  void *tlsext_servername_arg;
-
-  // RFC 4507 session ticket keys. |tlsext_ticket_key_current| may be NULL
-  // before the first handshake and |tlsext_ticket_key_prev| may be NULL at any
-  // time. Automatically generated ticket keys are rotated as needed at
-  // handshake time. Hence, all access must be synchronized through |lock|.
-  struct tlsext_ticket_key *tlsext_ticket_key_current;
-  struct tlsext_ticket_key *tlsext_ticket_key_prev;
-
-  // Callback to support customisation of ticket key setting
-  int (*tlsext_ticket_key_cb)(SSL *ssl, uint8_t *name, uint8_t *iv,
-                              EVP_CIPHER_CTX *ectx, HMAC_CTX *hctx, int enc);
-
-  // Server-only: psk_identity_hint is the default identity hint to send in
-  // PSK-based key exchanges.
-  char *psk_identity_hint;
-
-  unsigned int (*psk_client_callback)(SSL *ssl, const char *hint,
-                                      char *identity,
-                                      unsigned int max_identity_len,
-                                      uint8_t *psk, unsigned int max_psk_len);
-  unsigned int (*psk_server_callback)(SSL *ssl, const char *identity,
-                                      uint8_t *psk, unsigned int max_psk_len);
-
-
-  // Next protocol negotiation information
-  // (for experimental NPN extension).
-
-  // For a server, this contains a callback function by which the set of
-  // advertised protocols can be provided.
-  int (*next_protos_advertised_cb)(SSL *ssl, const uint8_t **out,
-                                   unsigned *out_len, void *arg);
-  void *next_protos_advertised_cb_arg;
-  // For a client, this contains a callback function that selects the
-  // next protocol from the list provided by the server.
-  int (*next_proto_select_cb)(SSL *ssl, uint8_t **out, uint8_t *out_len,
-                              const uint8_t *in, unsigned in_len, void *arg);
-  void *next_proto_select_cb_arg;
-
-  // ALPN information
-  // (we are in the process of transitioning from NPN to ALPN.)
-
-  // For a server, this contains a callback function that allows the
-  // server to select the protocol for the connection.
-  //   out: on successful return, this must point to the raw protocol
-  //        name (without the length prefix).
-  //   outlen: on successful return, this contains the length of |*out|.
-  //   in: points to the client's list of supported protocols in
-  //       wire-format.
-  //   inlen: the length of |in|.
-  int (*alpn_select_cb)(SSL *ssl, const uint8_t **out, uint8_t *out_len,
-                        const uint8_t *in, unsigned in_len, void *arg);
-  void *alpn_select_cb_arg;
-
-  // For a client, this contains the list of supported protocols in wire
-  // format.
-  uint8_t *alpn_client_proto_list;
-  unsigned alpn_client_proto_list_len;
-
-  // SRTP profiles we are willing to do from RFC 5764
-  STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles;
-
-  // Supported group values inherited by SSL structure
-  size_t supported_group_list_len;
-  uint16_t *supported_group_list;
-
-  // The client's Channel ID private key.
-  EVP_PKEY *tlsext_channel_id_private;
-
-  // keylog_callback, if not NULL, is the key logging callback. See
-  // |SSL_CTX_set_keylog_callback|.
-  void (*keylog_callback)(const SSL *ssl, const char *line);
-
-  // current_time_cb, if not NULL, is the function to use to get the current
-  // time. It sets |*out_clock| to the current time. The |ssl| argument is
-  // always NULL. See |SSL_CTX_set_current_time_cb|.
-  void (*current_time_cb)(const SSL *ssl, struct timeval *out_clock);
-
-  // pool is used for all |CRYPTO_BUFFER|s in case we wish to share certificate
-  // memory.
-  CRYPTO_BUFFER_POOL *pool;
-
-  // ticket_aead_method contains function pointers for opening and sealing
-  // session tickets.
-  const SSL_TICKET_AEAD_METHOD *ticket_aead_method;
-
-  // verify_sigalgs, if not empty, is the set of signature algorithms
-  // accepted from the peer in decreasing order of preference.
-  uint16_t *verify_sigalgs;
-  size_t num_verify_sigalgs;
-
-  // retain_only_sha256_of_client_certs is true if we should compute the SHA256
-  // hash of the peer's certificate and then discard it to save memory and
-  // session space. Only effective on the server side.
-  bool retain_only_sha256_of_client_certs:1;
-
-  // quiet_shutdown is true if the connection should not send a close_notify on
-  // shutdown.
-  bool quiet_shutdown:1;
-
-  // ocsp_stapling_enabled is only used by client connections and indicates
-  // whether OCSP stapling will be requested.
-  bool ocsp_stapling_enabled:1;
-
-  // If true, a client will request certificate timestamps.
-  bool signed_cert_timestamps_enabled:1;
-
-  // tlsext_channel_id_enabled is whether Channel ID is enabled. For a server,
-  // means that we'll accept Channel IDs from clients.  For a client, means that
-  // we'll advertise support.
-  bool tlsext_channel_id_enabled:1;
-
-  // grease_enabled is whether draft-davidben-tls-grease-01 is enabled.
-  bool grease_enabled:1;
-
-  // allow_unknown_alpn_protos is whether the client allows unsolicited ALPN
-  // protocols from the peer.
-  bool allow_unknown_alpn_protos:1;
-
-  // ed25519_enabled is whether Ed25519 is advertised in the handshake.
-  bool ed25519_enabled:1;
-
-  // rsa_pss_rsae_certs_enabled is whether rsa_pss_rsae_* are supported by the
-  // certificate verifier.
-  bool rsa_pss_rsae_certs_enabled:1;
-
-  // false_start_allowed_without_alpn is whether False Start (if
-  // |SSL_MODE_ENABLE_FALSE_START| is enabled) is allowed without ALPN.
-  bool false_start_allowed_without_alpn:1;
-
-  // handoff indicates that a server should stop after receiving the
-  // ClientHello and pause the handshake in such a way that |SSL_get_error|
-  // returns |SSL_HANDOFF|.
-  bool handoff:1;
-};
-
 // An ssl_shutdown_t describes the shutdown state of one end of the connection,
 // whether it is alive or has been shutdown via close_notify or fatal alert.
 enum ssl_shutdown_t {
@@ -2359,9 +2118,8 @@
 
   // In a client, this means that the server supported Channel ID and that a
   // Channel ID was sent. In a server it means that we echoed support for
-  // Channel IDs and that tlsext_channel_id will be valid after the
-  // handshake.
-  bool tlsext_channel_id_valid:1;
+  // Channel IDs and that |channel_id| will be valid after the handshake.
+  bool channel_id_valid:1;
 
   // key_update_pending is true if we have a KeyUpdate acknowledgment
   // outstanding.
@@ -2383,6 +2141,11 @@
   // hs_buf is the buffer of handshake data to process.
   UniquePtr<BUF_MEM> hs_buf;
 
+  // pending_hs_data contains the pending handshake data that has not yet
+  // been encrypted to |pending_flight|. This allows packing the handshake into
+  // fewer records.
+  UniquePtr<BUF_MEM> pending_hs_data;
+
   // pending_flight is the pending outgoing flight. This is used to flush each
   // handshake flight in a single write. |write_buffer| must be written out
   // before this data.
@@ -2449,10 +2212,10 @@
   UniquePtr<char> hostname;
 
   // For a server:
-  //     If |tlsext_channel_id_valid| is true, then this contains the
+  //     If |channel_id_valid| is true, then this contains the
   //     verified Channel ID from the client: a P256 point, (x,y), where
   //     each are big-endian values.
-  uint8_t tlsext_channel_id[64] = {0};
+  uint8_t channel_id[64] = {0};
 
   // Contains the QUIC transport params received by the peer.
   Array<uint8_t> peer_quic_transport_params;
@@ -2580,147 +2343,89 @@
   unsigned timeout_duration_ms = 0;
 };
 
-// SSLConnection backs the public |SSL| type. Due to compatibility constraints,
-// it is a base class for |ssl_st|.
-struct SSLConnection {
-  // method is the method table corresponding to the current protocol (DTLS or
-  // TLS).
-  const SSL_PROTOCOL_METHOD *method;
+// SSL_CONFIG contains configuration bits that can be shed after the handshake
+// completes.  Objects of this type are not shared; they are unique to a
+// particular |SSL|.
+//
+// See SSL_shed_handshake_config() for more about the conditions under which
+// configuration can be shed.
+struct SSL_CONFIG {
+  static constexpr bool kAllowUniquePtr = true;
 
-  // version is the protocol version.
-  uint16_t version;
+  explicit SSL_CONFIG(SSL *ssl_arg);
+  ~SSL_CONFIG();
+
+  // ssl is a non-owning pointer to the parent |SSL| object.
+  SSL *const ssl = nullptr;
 
   // conf_max_version is the maximum acceptable protocol version configured by
   // |SSL_set_max_proto_version|. Note this version is normalized in DTLS and is
   // further constrainted by |SSL_OP_NO_*|.
-  uint16_t conf_max_version;
+  uint16_t conf_max_version = 0;
 
   // conf_min_version is the minimum acceptable protocol version configured by
   // |SSL_set_min_proto_version|. Note this version is normalized in DTLS and is
   // further constrainted by |SSL_OP_NO_*|.
-  uint16_t conf_min_version;
+  uint16_t conf_min_version = 0;
 
-  uint16_t max_send_fragment;
-
-  // There are 2 BIO's even though they are normally both the same. This is so
-  // data can be read and written to different handlers
-
-  BIO *rbio;  // used by SSL_read
-  BIO *wbio;  // used by SSL_write
-
-  // do_handshake runs the handshake. On completion, it returns |ssl_hs_ok|.
-  // Otherwise, it returns a value corresponding to what operation is needed to
-  // progress.
-  enum ssl_hs_wait_t (*do_handshake)(SSL_HANDSHAKE *hs);
-
-  SSL3_STATE *s3;   // SSLv3 variables
-  DTLS1_STATE *d1;  // DTLSv1 variables
-
-  // callback that allows applications to peek at protocol messages
-  void (*msg_callback)(int write_p, int version, int content_type,
-                       const void *buf, size_t len, SSL *ssl, void *arg);
-  void *msg_callback_arg;
-
-  X509_VERIFY_PARAM *param;
+  X509_VERIFY_PARAM *param = nullptr;
 
   // crypto
-  SSLCipherPreferenceList *cipher_list;
-
-  // session info
+  UniquePtr<SSLCipherPreferenceList> cipher_list;
 
   // This is used to hold the local certificate used (i.e. the server
   // certificate for a server or the client certificate for a client).
-  CERT *cert;
-
-  // initial_timeout_duration_ms is the default DTLS timeout duration in
-  // milliseconds. It's used to initialize the timer any time it's restarted.
-  unsigned initial_timeout_duration_ms;
-
-  // tls13_variant is the variant of TLS 1.3 we are using for this
-  // configuration.
-  enum tls13_variant_t tls13_variant;
-
-  // session is the configured session to be offered by the client. This session
-  // is immutable.
-  SSL_SESSION *session;
+  UniquePtr<CERT> cert;
 
   int (*verify_callback)(int ok,
-                         X509_STORE_CTX *ctx);  // fail if callback returns 0
+                         X509_STORE_CTX *ctx) =
+      nullptr;  // fail if callback returns 0
 
-  enum ssl_verify_result_t (*custom_verify_callback)(SSL *ssl,
-                                                     uint8_t *out_alert);
-
-  void (*info_callback)(const SSL *ssl, int type, int value);
-
+  enum ssl_verify_result_t (*custom_verify_callback)(
+      SSL *ssl, uint8_t *out_alert) = nullptr;
   // Server-only: psk_identity_hint is the identity hint to send in
   // PSK-based key exchanges.
-  char *psk_identity_hint;
+  UniquePtr<char> psk_identity_hint;
 
-  unsigned int (*psk_client_callback)(SSL *ssl, const char *hint,
-                                      char *identity,
-                                      unsigned int max_identity_len,
-                                      uint8_t *psk, unsigned int max_psk_len);
-  unsigned int (*psk_server_callback)(SSL *ssl, const char *identity,
-                                      uint8_t *psk, unsigned int max_psk_len);
-
-  SSL_CTX *ctx;
-
-  // extra application data
-  CRYPTO_EX_DATA ex_data;
+  unsigned (*psk_client_callback)(SSL *ssl, const char *hint, char *identity,
+                                  unsigned max_identity_len, uint8_t *psk,
+                                  unsigned max_psk_len) = nullptr;
+  unsigned (*psk_server_callback)(SSL *ssl, const char *identity, uint8_t *psk,
+                                  unsigned max_psk_len) = nullptr;
 
   // for server side, keep the list of CA_dn we can use
-  STACK_OF(CRYPTO_BUFFER) *client_CA;
+  UniquePtr<STACK_OF(CRYPTO_BUFFER)> client_CA;
 
   // cached_x509_client_CA is a cache of parsed versions of the elements of
   // |client_CA|.
-  STACK_OF(X509_NAME) *cached_x509_client_CA;
+  STACK_OF(X509_NAME) *cached_x509_client_CA = nullptr;
 
-  uint32_t options;  // protocol behaviour
-  uint32_t mode;     // API behaviour
-  uint32_t max_cert_list;
-  uint16_t dummy_pq_padding_len;
-  char *tlsext_hostname;
-  size_t supported_group_list_len;
-  uint16_t *supported_group_list;  // our list
-
-  // session_ctx is the |SSL_CTX| used for the session cache and related
-  // settings.
-  SSL_CTX *session_ctx;
-
-  // srtp_profiles is the list of configured SRTP protection profiles for
-  // DTLS-SRTP.
-  STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles;
+  uint16_t dummy_pq_padding_len = 0;
+  Array<uint16_t> supported_group_list;  // our list
 
   // The client's Channel ID private key.
-  EVP_PKEY *tlsext_channel_id_private;
+  UniquePtr<EVP_PKEY> channel_id_private;
 
   // For a client, this contains the list of supported protocols in wire
   // format.
-  uint8_t *alpn_client_proto_list;
-  unsigned alpn_client_proto_list_len;
+  Array<uint8_t> alpn_client_proto_list;
 
   // Contains a list of supported Token Binding key parameters.
-  uint8_t *token_binding_params;
-  size_t token_binding_params_len;
+  Array<uint8_t> token_binding_params;
 
   // Contains the QUIC transport params that this endpoint will send.
-  uint8_t *quic_transport_params;
-  size_t quic_transport_params_len;
+  Array<uint8_t> quic_transport_params;
 
-  // renegotiate_mode controls how peer renegotiation attempts are handled.
-  enum ssl_renegotiate_mode_t renegotiate_mode;
+  // verify_sigalgs, if not empty, is the set of signature algorithms
+  // accepted from the peer in decreasing order of preference.
+  Array<uint16_t> verify_sigalgs;
+
+  // srtp_profiles is the list of configured SRTP protection profiles for
+  // DTLS-SRTP.
+  UniquePtr<STACK_OF(SRTP_PROTECTION_PROFILE)> srtp_profiles;
 
   // verify_mode is a bitmask of |SSL_VERIFY_*| values.
-  uint8_t verify_mode;
-
-  // server is true iff the this SSL* is the server half. Note: before the SSL*
-  // is initialized by either SSL_set_accept_state or SSL_set_connect_state,
-  // the side is not determined. In this state, server is always false.
-  bool server:1;
-
-  // quiet_shutdown is true if the connection should not send a close_notify on
-  // shutdown.
-  bool quiet_shutdown:1;
+  uint8_t verify_mode = SSL_VERIFY_NONE;
 
   // Enable signed certificate time stamps. Currently client only.
   bool signed_cert_timestamps_enabled:1;
@@ -2729,10 +2434,10 @@
   // whether OCSP stapling will be requested.
   bool ocsp_stapling_enabled:1;
 
-  // tlsext_channel_id_enabled is copied from the |SSL_CTX|. For a server,
-  // means that we'll accept Channel IDs from clients. For a client, means that
-  // we'll advertise support.
-  bool tlsext_channel_id_enabled:1;
+  // channel_id_enabled is copied from the |SSL_CTX|. For a server, means that
+  // we'll accept Channel IDs from clients. For a client, means that we'll
+  // advertise support.
+  bool channel_id_enabled:1;
 
   // retain_only_sha256_of_client_certs is true if we should compute the SHA256
   // hash of the peer's certificate and then discard it to save memory and
@@ -2745,15 +2450,9 @@
   // element of the same name and may be cleared if the handoff is declined.
   bool handoff:1;
 
-  // handback indicates that a server should pause the handshake after
-  // finishing operations that require private key material, in such a way that
-  // |SSL_get_error| returns |SSL_HANDBACK|.  It is set by |SSL_apply_handoff|.
-  bool handback : 1;
-
-  // did_dummy_pq_padding is only valid for a client. In that context, it is
-  // true iff the client observed the server echoing a dummy PQ padding
-  // extension.
-  bool did_dummy_pq_padding:1;
+  // shed_handshake_config indicates that the handshake config (this object!)
+  // should be freed after the handshake completes.
+  bool shed_handshake_config : 1;
 };
 
 // From draft-ietf-tls-tls13-18, used in determining PSK modes.
@@ -2780,27 +2479,31 @@
                                        const EVP_PKEY *privkey);
 int ssl_cert_check_private_key(const CERT *cert, const EVP_PKEY *privkey);
 int ssl_get_new_session(SSL_HANDSHAKE *hs, int is_server);
-int ssl_encrypt_ticket(SSL *ssl, CBB *out, const SSL_SESSION *session);
+int ssl_encrypt_ticket(SSL_HANDSHAKE *hs, CBB *out, const SSL_SESSION *session);
 int ssl_ctx_rotate_ticket_encryption_key(SSL_CTX *ctx);
 
 // ssl_session_new returns a newly-allocated blank |SSL_SESSION| or nullptr on
 // error.
 UniquePtr<SSL_SESSION> ssl_session_new(const SSL_X509_METHOD *x509_method);
 
+// ssl_hash_session_id returns a hash of |session_id|, suitable for a hash table
+// keyed on session IDs.
+uint32_t ssl_hash_session_id(Span<const uint8_t> session_id);
+
 // SSL_SESSION_parse parses an |SSL_SESSION| from |cbs| and advances |cbs| over
 // the parsed data.
-UniquePtr<SSL_SESSION> SSL_SESSION_parse(CBS *cbs,
-                                         const SSL_X509_METHOD *x509_method,
-                                         CRYPTO_BUFFER_POOL *pool);
+OPENSSL_EXPORT UniquePtr<SSL_SESSION> SSL_SESSION_parse(
+    CBS *cbs, const SSL_X509_METHOD *x509_method, CRYPTO_BUFFER_POOL *pool);
 
 // ssl_session_serialize writes |in| to |cbb| as if it were serialising a
 // session for Session-ID resumption. It returns one on success and zero on
 // error.
-int ssl_session_serialize(const SSL_SESSION *in, CBB *cbb);
+OPENSSL_EXPORT int ssl_session_serialize(const SSL_SESSION *in, CBB *cbb);
 
 // ssl_session_is_context_valid returns one if |session|'s session ID context
-// matches the one set on |ssl| and zero otherwise.
-int ssl_session_is_context_valid(const SSL *ssl, const SSL_SESSION *session);
+// matches the one set on |hs| and zero otherwise.
+int ssl_session_is_context_valid(const SSL_HANDSHAKE *hs,
+                                 const SSL_SESSION *session);
 
 // ssl_session_is_time_valid returns one if |session| is still valid and zero if
 // it has expired.
@@ -2827,7 +2530,7 @@
 // |ssl_hs_pending_session| and should be called again. If a ticket could not be
 // decrypted immediately it returns |ssl_hs_pending_ticket| and should also
 // be called again. Otherwise, it returns |ssl_hs_error|.
-enum ssl_hs_wait_t ssl_get_prev_session(SSL *ssl,
+enum ssl_hs_wait_t ssl_get_prev_session(SSL_HANDSHAKE *hs,
                                         UniquePtr<SSL_SESSION> *out_session,
                                         bool *out_tickets_supported,
                                         bool *out_renew_ticket,
@@ -2856,10 +2559,6 @@
 void ssl_session_renew_timeout(SSL *ssl, SSL_SESSION *session,
                                uint32_t timeout);
 
-// ssl_get_cipher_preferences returns the cipher preference list for TLS 1.2 and
-// below.
-const SSLCipherPreferenceList *ssl_get_cipher_preferences(const SSL *ssl);
-
 void ssl_update_cache(SSL_HANDSHAKE *hs, int mode);
 
 int ssl_send_alert(SSL *ssl, int level, int desc);
@@ -2952,41 +2651,38 @@
                                 Span<const uint8_t> premaster);
 
 // tls1_get_grouplist returns the locally-configured group preference list.
-Span<const uint16_t> tls1_get_grouplist(const SSL *ssl);
+Span<const uint16_t> tls1_get_grouplist(const SSL_HANDSHAKE *ssl);
 
-// tls1_check_group_id returns one if |group_id| is consistent with
-// locally-configured group preferences.
-int tls1_check_group_id(const SSL *ssl, uint16_t group_id);
+// tls1_check_group_id returns whether |group_id| is consistent with locally-
+// configured group preferences.
+bool tls1_check_group_id(const SSL_HANDSHAKE *ssl, uint16_t group_id);
 
 // tls1_get_shared_group sets |*out_group_id| to the first preferred shared
-// group between client and server preferences and returns one. If none may be
-// found, it returns zero.
-int tls1_get_shared_group(SSL_HANDSHAKE *hs, uint16_t *out_group_id);
+// group between client and server preferences and returns true. If none may be
+// found, it returns false.
+bool tls1_get_shared_group(SSL_HANDSHAKE *hs, uint16_t *out_group_id);
 
-// tls1_set_curves converts the array of |ncurves| NIDs pointed to by |curves|
-// into a newly allocated array of TLS group IDs. On success, the function
-// returns one and writes the array to |*out_group_ids| and its size to
-// |*out_group_ids_len|. Otherwise, it returns zero.
-int tls1_set_curves(uint16_t **out_group_ids, size_t *out_group_ids_len,
-                    const int *curves, size_t ncurves);
+// tls1_set_curves converts the array of NIDs in |curves| into a newly allocated
+// array of TLS group IDs. On success, the function returns true and writes the
+// array to |*out_group_ids|. Otherwise, it returns false.
+bool tls1_set_curves(Array<uint16_t> *out_group_ids, Span<const int> curves);
 
 // tls1_set_curves_list converts the string of curves pointed to by |curves|
 // into a newly allocated array of TLS group IDs. On success, the function
-// returns one and writes the array to |*out_group_ids| and its size to
-// |*out_group_ids_len|. Otherwise, it returns zero.
-int tls1_set_curves_list(uint16_t **out_group_ids, size_t *out_group_ids_len,
-                         const char *curves);
+// returns true and writes the array to |*out_group_ids|. Otherwise, it returns
+// false.
+bool tls1_set_curves_list(Array<uint16_t> *out_group_ids, const char *curves);
 
-// ssl_add_clienthello_tlsext writes ClientHello extensions to |out|. It
-// returns one on success and zero on failure. The |header_len| argument is the
-// length of the ClientHello written so far and is used to compute the padding
-// length. (It does not include the record header.)
-int ssl_add_clienthello_tlsext(SSL_HANDSHAKE *hs, CBB *out, size_t header_len);
+// ssl_add_clienthello_tlsext writes ClientHello extensions to |out|. It returns
+// true on success and false on failure. The |header_len| argument is the length
+// of the ClientHello written so far and is used to compute the padding length.
+// (It does not include the record header.)
+bool ssl_add_clienthello_tlsext(SSL_HANDSHAKE *hs, CBB *out, size_t header_len);
 
-int ssl_add_serverhello_tlsext(SSL_HANDSHAKE *hs, CBB *out);
-int ssl_parse_clienthello_tlsext(SSL_HANDSHAKE *hs,
-                                 const SSL_CLIENT_HELLO *client_hello);
-int ssl_parse_serverhello_tlsext(SSL_HANDSHAKE *hs, CBS *cbs);
+bool ssl_add_serverhello_tlsext(SSL_HANDSHAKE *hs, CBB *out);
+bool ssl_parse_clienthello_tlsext(SSL_HANDSHAKE *hs,
+                                  const SSL_CLIENT_HELLO *client_hello);
+bool ssl_parse_serverhello_tlsext(SSL_HANDSHAKE *hs, CBS *cbs);
 
 #define tlsext_tick_md EVP_sha256
 
@@ -3000,38 +2696,41 @@
 //       Retry later.
 //   |ssl_ticket_aead_error|: an error occured that is fatal to the connection.
 enum ssl_ticket_aead_result_t ssl_process_ticket(
-    SSL *ssl, UniquePtr<SSL_SESSION> *out_session, bool *out_renew_ticket,
-    const uint8_t *ticket, size_t ticket_len, const uint8_t *session_id,
-    size_t session_id_len);
+    SSL_HANDSHAKE *hs, UniquePtr<SSL_SESSION> *out_session,
+    bool *out_renew_ticket, const uint8_t *ticket, size_t ticket_len,
+    const uint8_t *session_id, size_t session_id_len);
 
 // tls1_verify_channel_id processes |msg| as a Channel ID message, and verifies
-// the signature. If the key is valid, it saves the Channel ID and returns
-// one. Otherwise, it returns zero.
-int tls1_verify_channel_id(SSL_HANDSHAKE *hs, const SSLMessage &msg);
+// the signature. If the key is valid, it saves the Channel ID and returns true.
+// Otherwise, it returns false.
+bool tls1_verify_channel_id(SSL_HANDSHAKE *hs, const SSLMessage &msg);
 
 // tls1_write_channel_id generates a Channel ID message and puts the output in
-// |cbb|. |ssl->tlsext_channel_id_private| must already be set before calling.
-// This function returns true on success and false on error.
+// |cbb|. |ssl->channel_id_private| must already be set before calling.  This
+// function returns true on success and false on error.
 bool tls1_write_channel_id(SSL_HANDSHAKE *hs, CBB *cbb);
 
 // tls1_channel_id_hash computes the hash to be signed by Channel ID and writes
 // it to |out|, which must contain at least |EVP_MAX_MD_SIZE| bytes. It returns
-// one on success and zero on failure.
-int tls1_channel_id_hash(SSL_HANDSHAKE *hs, uint8_t *out, size_t *out_len);
+// true on success and false on failure.
+bool tls1_channel_id_hash(SSL_HANDSHAKE *hs, uint8_t *out, size_t *out_len);
 
-int tls1_record_handshake_hashes_for_channel_id(SSL_HANDSHAKE *hs);
+// tls1_record_handshake_hashes_for_channel_id records the current handshake
+// hashes in |hs->new_session| so that Channel ID resumptions can sign that
+// data.
+bool tls1_record_handshake_hashes_for_channel_id(SSL_HANDSHAKE *hs);
 
-// ssl_do_channel_id_callback checks runs |ssl->ctx->channel_id_cb| if
-// necessary. It returns one on success and zero on fatal error. Note that, on
-// success, |ssl->tlsext_channel_id_private| may be unset, in which case the
+// ssl_do_channel_id_callback checks runs |hs->ssl->ctx->channel_id_cb| if
+// necessary. It returns true on success and false on fatal error. Note that, on
+// success, |hs->ssl->channel_id_private| may be unset, in which case the
 // operation should be retried later.
-int ssl_do_channel_id_callback(SSL *ssl);
+bool ssl_do_channel_id_callback(SSL_HANDSHAKE *hs);
 
-// ssl_can_write returns one if |ssl| is allowed to write and zero otherwise.
-int ssl_can_write(const SSL *ssl);
+// ssl_can_write returns whether |ssl| is allowed to write.
+bool ssl_can_write(const SSL *ssl);
 
-// ssl_can_read returns one if |ssl| is allowed to read and zero otherwise.
-int ssl_can_read(const SSL *ssl);
+// ssl_can_read returns wheter |ssl| is allowed to read.
+bool ssl_can_read(const SSL *ssl);
 
 void ssl_get_current_time(const SSL *ssl, struct OPENSSL_timeval *out_clock);
 void ssl_ctx_get_current_time(const SSL_CTX *ctx,
@@ -3063,70 +2762,521 @@
   const bssl::SSL_PROTOCOL_METHOD *method;
   // x509_method contains pointers to functions that might deal with |X509|
   // compatibility, or might be a no-op, depending on the application.
-  const SSL_X509_METHOD *x509_method;
+  const bssl::SSL_X509_METHOD *x509_method;
 };
 
-struct ssl_x509_method_st {
-  // check_client_CA_list returns one if |names| is a good list of X.509
-  // distinguished names and zero otherwise. This is used to ensure that we can
-  // reject unparsable values at handshake time when using crypto/x509.
-  int (*check_client_CA_list)(STACK_OF(CRYPTO_BUFFER) *names);
+struct ssl_ctx_st {
+  explicit ssl_ctx_st(const SSL_METHOD *ssl_method);
+  ssl_ctx_st(const ssl_ctx_st &) = delete;
+  ssl_ctx_st &operator=(const ssl_ctx_st &) = delete;
 
-  // cert_clear frees and NULLs all X509 certificate-related state.
-  void (*cert_clear)(bssl::CERT *cert);
-  // cert_free frees all X509-related state.
-  void (*cert_free)(bssl::CERT *cert);
-  // cert_flush_cached_chain drops any cached |X509|-based certificate chain
-  // from |cert|.
-  // cert_dup duplicates any needed fields from |cert| to |new_cert|.
-  void (*cert_dup)(bssl::CERT *new_cert, const bssl::CERT *cert);
-  void (*cert_flush_cached_chain)(bssl::CERT *cert);
-  // cert_flush_cached_chain drops any cached |X509|-based leaf certificate
-  // from |cert|.
-  void (*cert_flush_cached_leaf)(bssl::CERT *cert);
+  const bssl::SSL_PROTOCOL_METHOD *method = nullptr;
+  const bssl::SSL_X509_METHOD *x509_method = nullptr;
 
-  // session_cache_objects fills out |sess->x509_peer| and |sess->x509_chain|
-  // from |sess->certs| and erases |sess->x509_chain_without_leaf|. It returns
-  // one on success or zero on error.
-  int (*session_cache_objects)(SSL_SESSION *session);
-  // session_dup duplicates any needed fields from |session| to |new_session|.
-  // It returns one on success or zero on error.
-  int (*session_dup)(SSL_SESSION *new_session, const SSL_SESSION *session);
-  // session_clear frees any X509-related state from |session|.
-  void (*session_clear)(SSL_SESSION *session);
-  // session_verify_cert_chain verifies the certificate chain in |session|,
-  // sets |session->verify_result| and returns one on success or zero on
-  // error.
-  int (*session_verify_cert_chain)(SSL_SESSION *session, SSL *ssl,
-                                   uint8_t *out_alert);
+  // lock is used to protect various operations on this object.
+  CRYPTO_MUTEX lock;
 
-  // hs_flush_cached_ca_names drops any cached |X509_NAME|s from |hs|.
-  void (*hs_flush_cached_ca_names)(bssl::SSL_HANDSHAKE *hs);
-  // ssl_new does any neccessary initialisation of |ssl|. It returns one on
-  // success or zero on error.
-  int (*ssl_new)(SSL *ssl);
-  // ssl_free frees anything created by |ssl_new|.
-  void (*ssl_free)(SSL *ssl);
-  // ssl_flush_cached_client_CA drops any cached |X509_NAME|s from |ssl|.
-  void (*ssl_flush_cached_client_CA)(SSL *ssl);
-  // ssl_auto_chain_if_needed runs the deprecated auto-chaining logic if
-  // necessary. On success, it updates |ssl|'s certificate configuration as
-  // needed and returns one. Otherwise, it returns zero.
-  int (*ssl_auto_chain_if_needed)(SSL *ssl);
-  // ssl_ctx_new does any neccessary initialisation of |ctx|. It returns one on
-  // success or zero on error.
-  int (*ssl_ctx_new)(SSL_CTX *ctx);
-  // ssl_ctx_free frees anything created by |ssl_ctx_new|.
-  void (*ssl_ctx_free)(SSL_CTX *ctx);
-  // ssl_ctx_flush_cached_client_CA drops any cached |X509_NAME|s from |ctx|.
-  void (*ssl_ctx_flush_cached_client_CA)(SSL_CTX *ssl);
+  // conf_max_version is the maximum acceptable protocol version configured by
+  // |SSL_CTX_set_max_proto_version|. Note this version is normalized in DTLS
+  // and is further constrainted by |SSL_OP_NO_*|.
+  uint16_t conf_max_version = 0;
+
+  // conf_min_version is the minimum acceptable protocol version configured by
+  // |SSL_CTX_set_min_proto_version|. Note this version is normalized in DTLS
+  // and is further constrainted by |SSL_OP_NO_*|.
+  uint16_t conf_min_version = 0;
+
+  // tls13_variant is the variant of TLS 1.3 we are using for this
+  // configuration.
+  tls13_variant_t tls13_variant = tls13_default;
+
+  bssl::UniquePtr<bssl::SSLCipherPreferenceList> cipher_list;
+
+  X509_STORE *cert_store = nullptr;
+  LHASH_OF(SSL_SESSION) *sessions = nullptr;
+  // Most session-ids that will be cached, default is
+  // SSL_SESSION_CACHE_MAX_SIZE_DEFAULT. 0 is unlimited.
+  unsigned long session_cache_size = SSL_SESSION_CACHE_MAX_SIZE_DEFAULT;
+  SSL_SESSION *session_cache_head = nullptr;
+  SSL_SESSION *session_cache_tail = nullptr;
+
+  // handshakes_since_cache_flush is the number of successful handshakes since
+  // the last cache flush.
+  int handshakes_since_cache_flush = 0;
+
+  // This can have one of 2 values, ored together,
+  // SSL_SESS_CACHE_CLIENT,
+  // SSL_SESS_CACHE_SERVER,
+  // Default is SSL_SESSION_CACHE_SERVER, which means only
+  // SSL_accept which cache SSL_SESSIONS.
+  int session_cache_mode = SSL_SESS_CACHE_SERVER;
+
+  // session_timeout is the default lifetime for new sessions in TLS 1.2 and
+  // earlier, in seconds.
+  uint32_t session_timeout = SSL_DEFAULT_SESSION_TIMEOUT;
+
+  // session_psk_dhe_timeout is the default lifetime for new sessions in TLS
+  // 1.3, in seconds.
+  uint32_t session_psk_dhe_timeout = SSL_DEFAULT_SESSION_PSK_DHE_TIMEOUT;
+
+  // If this callback is not null, it will be called each time a session id is
+  // added to the cache.  If this function returns 1, it means that the
+  // callback will do a SSL_SESSION_free() when it has finished using it.
+  // Otherwise, on 0, it means the callback has finished with it. If
+  // remove_session_cb is not null, it will be called when a session-id is
+  // removed from the cache.  After the call, OpenSSL will SSL_SESSION_free()
+  // it.
+  int (*new_session_cb)(SSL *ssl, SSL_SESSION *sess) = nullptr;
+  void (*remove_session_cb)(SSL_CTX *ctx, SSL_SESSION *sess) = nullptr;
+  SSL_SESSION *(*get_session_cb)(SSL *ssl, const uint8_t *data, int len,
+                                 int *copy) = nullptr;
+
+  CRYPTO_refcount_t references = 1;
+
+  // if defined, these override the X509_verify_cert() calls
+  int (*app_verify_callback)(X509_STORE_CTX *store_ctx, void *arg) = nullptr;
+  void *app_verify_arg = nullptr;
+
+  ssl_verify_result_t (*custom_verify_callback)(SSL *ssl,
+                                                uint8_t *out_alert) = nullptr;
+
+  // Default password callback.
+  pem_password_cb *default_passwd_callback = nullptr;
+
+  // Default password callback user data.
+  void *default_passwd_callback_userdata = nullptr;
+
+  // get client cert callback
+  int (*client_cert_cb)(SSL *ssl, X509 **out_x509, EVP_PKEY **out_pkey) = nullptr;
+
+  // get channel id callback
+  void (*channel_id_cb)(SSL *ssl, EVP_PKEY **out_pkey) = nullptr;
+
+  CRYPTO_EX_DATA ex_data;
+
+  // Default values used when no per-SSL value is defined follow
+
+  void (*info_callback)(const SSL *ssl, int type, int value) = nullptr;
+
+  // what we put in client cert requests
+  bssl::UniquePtr<STACK_OF(CRYPTO_BUFFER)> client_CA;
+
+  // cached_x509_client_CA is a cache of parsed versions of the elements of
+  // |client_CA|.
+  STACK_OF(X509_NAME) *cached_x509_client_CA = nullptr;
+
+
+  // Default values to use in SSL structures follow (these are copied by
+  // SSL_new)
+
+  uint32_t options = 0;
+  // Disable the auto-chaining feature by default. wpa_supplicant relies on this
+  // feature, but require callers opt into it.
+  uint32_t mode = SSL_MODE_NO_AUTO_CHAIN;
+  uint32_t max_cert_list = SSL_MAX_CERT_LIST_DEFAULT;
+
+  bssl::UniquePtr<bssl::CERT> cert;
+
+  // callback that allows applications to peek at protocol messages
+  void (*msg_callback)(int write_p, int version, int content_type,
+                       const void *buf, size_t len, SSL *ssl, void *arg) = nullptr;
+  void *msg_callback_arg = nullptr;
+
+  int verify_mode = SSL_VERIFY_NONE;
+  int (*default_verify_callback)(int ok, X509_STORE_CTX *ctx) =
+      nullptr;  // called 'verify_callback' in the SSL
+
+  X509_VERIFY_PARAM *param = nullptr;
+
+  // select_certificate_cb is called before most ClientHello processing and
+  // before the decision whether to resume a session is made. See
+  // |ssl_select_cert_result_t| for details of the return values.
+  ssl_select_cert_result_t (*select_certificate_cb)(const SSL_CLIENT_HELLO *) =
+      nullptr;
+
+  // dos_protection_cb is called once the resumption decision for a ClientHello
+  // has been made. It returns one to continue the handshake or zero to
+  // abort.
+  int (*dos_protection_cb) (const SSL_CLIENT_HELLO *) = nullptr;
+
+  // Maximum amount of data to send in one fragment. actual record size can be
+  // more than this due to padding and MAC overheads.
+  uint16_t max_send_fragment = SSL3_RT_MAX_PLAIN_LENGTH;
+
+  // TLS extensions servername callback
+  int (*servername_callback)(SSL *, int *, void *) = nullptr;
+  void *servername_arg = nullptr;
+
+  // RFC 4507 session ticket keys. |ticket_key_current| may be NULL before the
+  // first handshake and |ticket_key_prev| may be NULL at any time.
+  // Automatically generated ticket keys are rotated as needed at handshake
+  // time. Hence, all access must be synchronized through |lock|.
+  bssl::UniquePtr<bssl::TicketKey> ticket_key_current;
+  bssl::UniquePtr<bssl::TicketKey> ticket_key_prev;
+
+  // Callback to support customisation of ticket key setting
+  int (*ticket_key_cb)(SSL *ssl, uint8_t *name, uint8_t *iv,
+                       EVP_CIPHER_CTX *ectx, HMAC_CTX *hctx, int enc) = nullptr;
+
+  // Server-only: psk_identity_hint is the default identity hint to send in
+  // PSK-based key exchanges.
+  bssl::UniquePtr<char> psk_identity_hint;
+
+  unsigned (*psk_client_callback)(SSL *ssl, const char *hint, char *identity,
+                                  unsigned max_identity_len, uint8_t *psk,
+                                  unsigned max_psk_len) = nullptr;
+  unsigned (*psk_server_callback)(SSL *ssl, const char *identity, uint8_t *psk,
+                                  unsigned max_psk_len) = nullptr;
+
+
+  // Next protocol negotiation information
+  // (for experimental NPN extension).
+
+  // For a server, this contains a callback function by which the set of
+  // advertised protocols can be provided.
+  int (*next_protos_advertised_cb)(SSL *ssl, const uint8_t **out,
+                                   unsigned *out_len, void *arg) = nullptr;
+  void *next_protos_advertised_cb_arg = nullptr;
+  // For a client, this contains a callback function that selects the
+  // next protocol from the list provided by the server.
+  int (*next_proto_select_cb)(SSL *ssl, uint8_t **out, uint8_t *out_len,
+                              const uint8_t *in, unsigned in_len,
+                              void *arg) = nullptr;
+  void *next_proto_select_cb_arg = nullptr;
+
+  // ALPN information
+  // (we are in the process of transitioning from NPN to ALPN.)
+
+  // For a server, this contains a callback function that allows the
+  // server to select the protocol for the connection.
+  //   out: on successful return, this must point to the raw protocol
+  //        name (without the length prefix).
+  //   outlen: on successful return, this contains the length of |*out|.
+  //   in: points to the client's list of supported protocols in
+  //       wire-format.
+  //   inlen: the length of |in|.
+  int (*alpn_select_cb)(SSL *ssl, const uint8_t **out, uint8_t *out_len,
+                        const uint8_t *in, unsigned in_len,
+                        void *arg) = nullptr;
+  void *alpn_select_cb_arg = nullptr;
+
+  // For a client, this contains the list of supported protocols in wire
+  // format.
+  bssl::Array<uint8_t> alpn_client_proto_list;
+
+  // SRTP profiles we are willing to do from RFC 5764
+  bssl::UniquePtr<STACK_OF(SRTP_PROTECTION_PROFILE)> srtp_profiles;
+
+  // Defined compression algorithms for certificates.
+  bssl::UniquePtr<STACK_OF(CertCompressionAlg)> cert_compression_algs;
+
+  // Supported group values inherited by SSL structure
+  bssl::Array<uint16_t> supported_group_list;
+
+  // The client's Channel ID private key.
+  bssl::UniquePtr<EVP_PKEY> channel_id_private;
+
+  // keylog_callback, if not NULL, is the key logging callback. See
+  // |SSL_CTX_set_keylog_callback|.
+  void (*keylog_callback)(const SSL *ssl, const char *line) = nullptr;
+
+  // current_time_cb, if not NULL, is the function to use to get the current
+  // time. It sets |*out_clock| to the current time. The |ssl| argument is
+  // always NULL. See |SSL_CTX_set_current_time_cb|.
+  void (*current_time_cb)(const SSL *ssl, struct timeval *out_clock) = nullptr;
+
+  // pool is used for all |CRYPTO_BUFFER|s in case we wish to share certificate
+  // memory.
+  CRYPTO_BUFFER_POOL *pool = nullptr;
+
+  // ticket_aead_method contains function pointers for opening and sealing
+  // session tickets.
+  const SSL_TICKET_AEAD_METHOD *ticket_aead_method = nullptr;
+
+  // legacy_ocsp_callback implements an OCSP-related callback for OpenSSL
+  // compatibility.
+  int (*legacy_ocsp_callback)(SSL *ssl, void *arg) = nullptr;
+  void *legacy_ocsp_callback_arg = nullptr;
+
+  // verify_sigalgs, if not empty, is the set of signature algorithms
+  // accepted from the peer in decreasing order of preference.
+  bssl::Array<uint16_t> verify_sigalgs;
+
+  // retain_only_sha256_of_client_certs is true if we should compute the SHA256
+  // hash of the peer's certificate and then discard it to save memory and
+  // session space. Only effective on the server side.
+  bool retain_only_sha256_of_client_certs:1;
+
+  // quiet_shutdown is true if the connection should not send a close_notify on
+  // shutdown.
+  bool quiet_shutdown:1;
+
+  // ocsp_stapling_enabled is only used by client connections and indicates
+  // whether OCSP stapling will be requested.
+  bool ocsp_stapling_enabled:1;
+
+  // If true, a client will request certificate timestamps.
+  bool signed_cert_timestamps_enabled:1;
+
+  // channel_id_enabled is whether Channel ID is enabled. For a server, means
+  // that we'll accept Channel IDs from clients.  For a client, means that we'll
+  // advertise support.
+  bool channel_id_enabled:1;
+
+  // grease_enabled is whether draft-davidben-tls-grease-01 is enabled.
+  bool grease_enabled:1;
+
+  // allow_unknown_alpn_protos is whether the client allows unsolicited ALPN
+  // protocols from the peer.
+  bool allow_unknown_alpn_protos:1;
+
+  // ed25519_enabled is whether Ed25519 is advertised in the handshake.
+  bool ed25519_enabled:1;
+
+  // rsa_pss_rsae_certs_enabled is whether rsa_pss_rsae_* are supported by the
+  // certificate verifier.
+  bool rsa_pss_rsae_certs_enabled:1;
+
+  // false_start_allowed_without_alpn is whether False Start (if
+  // |SSL_MODE_ENABLE_FALSE_START| is enabled) is allowed without ALPN.
+  bool false_start_allowed_without_alpn:1;
+
+  // handoff indicates that a server should stop after receiving the
+  // ClientHello and pause the handshake in such a way that |SSL_get_error|
+  // returns |SSL_HANDOFF|.
+  bool handoff:1;
+
+  // If enable_early_data is true, early data can be sent and accepted.
+  bool enable_early_data : 1;
+
+ private:
+  ~ssl_ctx_st();
+  friend void SSL_CTX_free(SSL_CTX *);
 };
 
-// The following types back public C-exposed types which must live in the global
-// namespace. We use subclassing so the implementations may be C++ types with
-// methods and destructor without polluting the global namespace.
-struct ssl_ctx_st : public bssl::SSLContext {};
-struct ssl_st : public bssl::SSLConnection {};
+struct ssl_st {
+  explicit ssl_st(SSL_CTX *ctx_arg);
+  ssl_st(const ssl_st &) = delete;
+  ssl_st &operator=(const ssl_st &) = delete;
+  ~ssl_st();
+
+  // method is the method table corresponding to the current protocol (DTLS or
+  // TLS).
+  const bssl::SSL_PROTOCOL_METHOD *method = nullptr;
+
+  // config is a container for handshake configuration.  Accesses to this field
+  // should check for nullptr, since configuration may be shed after the
+  // handshake completes.  (If you have the |SSL_HANDSHAKE| object at hand, use
+  // that instead, and skip the null check.)
+  bssl::UniquePtr<bssl::SSL_CONFIG> config;
+
+  // version is the protocol version.
+  uint16_t version = 0;
+
+  uint16_t max_send_fragment = 0;
+
+  // There are 2 BIO's even though they are normally both the same. This is so
+  // data can be read and written to different handlers
+
+  bssl::UniquePtr<BIO> rbio;  // used by SSL_read
+  bssl::UniquePtr<BIO> wbio;  // used by SSL_write
+
+  // do_handshake runs the handshake. On completion, it returns |ssl_hs_ok|.
+  // Otherwise, it returns a value corresponding to what operation is needed to
+  // progress.
+  bssl::ssl_hs_wait_t (*do_handshake)(bssl::SSL_HANDSHAKE *hs) = nullptr;
+
+  bssl::SSL3_STATE *s3 = nullptr;   // TLS variables
+  bssl::DTLS1_STATE *d1 = nullptr;  // DTLS variables
+
+  // callback that allows applications to peek at protocol messages
+  void (*msg_callback)(int write_p, int version, int content_type,
+                       const void *buf, size_t len, SSL *ssl,
+                       void *arg) = nullptr;
+  void *msg_callback_arg = nullptr;
+
+  // session info
+
+  // initial_timeout_duration_ms is the default DTLS timeout duration in
+  // milliseconds. It's used to initialize the timer any time it's restarted.
+  //
+  // RFC 6347 states that implementations SHOULD use an initial timer value of 1
+  // second.
+  unsigned initial_timeout_duration_ms = 1000;
+
+  // tls13_variant is the variant of TLS 1.3 we are using for this
+  // configuration.
+  tls13_variant_t tls13_variant = tls13_default;
+
+  // session is the configured session to be offered by the client. This session
+  // is immutable.
+  bssl::UniquePtr<SSL_SESSION> session;
+
+  void (*info_callback)(const SSL *ssl, int type, int value) = nullptr;
+
+  bssl::UniquePtr<SSL_CTX> ctx;
+
+  // session_ctx is the |SSL_CTX| used for the session cache and related
+  // settings.
+  bssl::UniquePtr<SSL_CTX> session_ctx;
+
+  // extra application data
+  CRYPTO_EX_DATA ex_data;
+
+  uint32_t options = 0;  // protocol behaviour
+  uint32_t mode = 0;     // API behaviour
+  uint32_t max_cert_list = 0;
+  bssl::UniquePtr<char> hostname;
+
+  // renegotiate_mode controls how peer renegotiation attempts are handled.
+  ssl_renegotiate_mode_t renegotiate_mode = ssl_renegotiate_never;
+
+  // server is true iff the this SSL* is the server half. Note: before the SSL*
+  // is initialized by either SSL_set_accept_state or SSL_set_connect_state,
+  // the side is not determined. In this state, server is always false.
+  bool server : 1;
+
+  // quiet_shutdown is true if the connection should not send a close_notify on
+  // shutdown.
+  bool quiet_shutdown : 1;
+
+  // did_dummy_pq_padding is only valid for a client. In that context, it is
+  // true iff the client observed the server echoing a dummy PQ padding
+  // extension.
+  bool did_dummy_pq_padding:1;
+
+  // If enable_early_data is true, early data can be sent and accepted.
+  bool enable_early_data : 1;
+};
+
+struct ssl_session_st {
+  explicit ssl_session_st(const bssl::SSL_X509_METHOD *method);
+  ssl_session_st(const ssl_session_st &) = delete;
+  ssl_session_st &operator=(const ssl_session_st &) = delete;
+
+  CRYPTO_refcount_t references = 1;
+  uint16_t ssl_version = 0;  // what ssl version session info is being kept in here?
+
+  // group_id is the ID of the ECDH group used to establish this session or zero
+  // if not applicable or unknown.
+  uint16_t group_id = 0;
+
+  // peer_signature_algorithm is the signature algorithm used to authenticate
+  // the peer, or zero if not applicable or unknown.
+  uint16_t peer_signature_algorithm = 0;
+
+  // master_key, in TLS 1.2 and below, is the master secret associated with the
+  // session. In TLS 1.3 and up, it is the resumption secret.
+  int master_key_length = 0;
+  uint8_t master_key[SSL_MAX_MASTER_KEY_LENGTH] = {0};
+
+  // session_id - valid?
+  unsigned session_id_length = 0;
+  uint8_t session_id[SSL_MAX_SSL_SESSION_ID_LENGTH] = {0};
+  // this is used to determine whether the session is being reused in
+  // the appropriate context. It is up to the application to set this,
+  // via SSL_new
+  uint8_t sid_ctx_length = 0;
+  uint8_t sid_ctx[SSL_MAX_SID_CTX_LENGTH] = {0};
+
+  bssl::UniquePtr<char> psk_identity;
+
+  // certs contains the certificate chain from the peer, starting with the leaf
+  // certificate.
+  bssl::UniquePtr<STACK_OF(CRYPTO_BUFFER)> certs;
+
+  const bssl::SSL_X509_METHOD *x509_method = nullptr;
+
+  // x509_peer is the peer's certificate.
+  X509 *x509_peer = nullptr;
+
+  // x509_chain is the certificate chain sent by the peer. NOTE: for historical
+  // reasons, when a client (so the peer is a server), the chain includes
+  // |peer|, but when a server it does not.
+  STACK_OF(X509) *x509_chain = nullptr;
+
+  // x509_chain_without_leaf is a lazily constructed copy of |x509_chain| that
+  // omits the leaf certificate. This exists because OpenSSL, historically,
+  // didn't include the leaf certificate in the chain for a server, but did for
+  // a client. The |x509_chain| always includes it and, if an API call requires
+  // a chain without, it is stored here.
+  STACK_OF(X509) *x509_chain_without_leaf = nullptr;
+
+  // verify_result is the result of certificate verification in the case of
+  // non-fatal certificate errors.
+  long verify_result = X509_V_ERR_INVALID_CALL;
+
+  // timeout is the lifetime of the session in seconds, measured from |time|.
+  // This is renewable up to |auth_timeout|.
+  uint32_t timeout = SSL_DEFAULT_SESSION_TIMEOUT;
+
+  // auth_timeout is the non-renewable lifetime of the session in seconds,
+  // measured from |time|.
+  uint32_t auth_timeout = SSL_DEFAULT_SESSION_TIMEOUT;
+
+  // time is the time the session was issued, measured in seconds from the UNIX
+  // epoch.
+  uint64_t time = 0;
+
+  const SSL_CIPHER *cipher = nullptr;
+
+  CRYPTO_EX_DATA ex_data;  // application specific data
+
+  // These are used to make removal of session-ids more efficient and to
+  // implement a maximum cache size.
+  SSL_SESSION *prev = nullptr, *next = nullptr;
+
+  bssl::Array<uint8_t> ticket;
+
+  bssl::UniquePtr<CRYPTO_BUFFER> signed_cert_timestamp_list;
+
+  // The OCSP response that came with the session.
+  bssl::UniquePtr<CRYPTO_BUFFER> ocsp_response;
+
+  // peer_sha256 contains the SHA-256 hash of the peer's certificate if
+  // |peer_sha256_valid| is true.
+  uint8_t peer_sha256[SHA256_DIGEST_LENGTH] = {0};
+
+  // original_handshake_hash contains the handshake hash (either SHA-1+MD5 or
+  // SHA-2, depending on TLS version) for the original, full handshake that
+  // created a session. This is used by Channel IDs during resumption.
+  uint8_t original_handshake_hash[EVP_MAX_MD_SIZE] = {0};
+  uint8_t original_handshake_hash_len = 0;
+
+  uint32_t ticket_lifetime_hint = 0;  // Session lifetime hint in seconds
+
+  uint32_t ticket_age_add = 0;
+
+  // ticket_max_early_data is the maximum amount of data allowed to be sent as
+  // early data. If zero, 0-RTT is disallowed.
+  uint32_t ticket_max_early_data = 0;
+
+  // early_alpn is the ALPN protocol from the initial handshake. This is only
+  // stored for TLS 1.3 and above in order to enforce ALPN matching for 0-RTT
+  // resumptions.
+  bssl::Array<uint8_t> early_alpn;
+
+  // extended_master_secret is whether the master secret in this session was
+  // generated using EMS and thus isn't vulnerable to the Triple Handshake
+  // attack.
+  bool extended_master_secret:1;
+
+  // peer_sha256_valid is whether |peer_sha256| is valid.
+  bool peer_sha256_valid:1;  // Non-zero if peer_sha256 is valid
+
+  // not_resumable is used to indicate that session resumption is disallowed.
+  bool not_resumable:1;
+
+  // ticket_age_add_valid is whether |ticket_age_add| is valid.
+  bool ticket_age_add_valid:1;
+
+  // is_server is whether this session was created by a server.
+  bool is_server:1;
+
+ private:
+  ~ssl_session_st();
+  friend void SSL_SESSION_free(SSL_SESSION *);
+};
 
 
 #endif  // OPENSSL_HEADER_SSL_INTERNAL_H
diff --git a/src/ssl/s3_both.cc b/src/ssl/s3_both.cc
index ede4ba7..98896a3 100644
--- a/src/ssl/s3_both.cc
+++ b/src/ssl/s3_both.cc
@@ -134,6 +134,8 @@
 
 static bool add_record_to_flight(SSL *ssl, uint8_t type,
                                  Span<const uint8_t> in) {
+  // The caller should have flushed |pending_hs_data| first.
+  assert(!ssl->s3->pending_hs_data);
   // We'll never add a flight while in the process of writing it out.
   assert(ssl->s3->pending_flight_offset == 0);
 
@@ -182,17 +184,51 @@
 }
 
 bool ssl3_add_message(SSL *ssl, Array<uint8_t> msg) {
-  // Add the message to the current flight, splitting into several records if
-  // needed.
+  // Pack handshake data into the minimal number of records. This avoids
+  // unnecessary encryption overhead, notably in TLS 1.3 where we send several
+  // encrypted messages in a row. For now, we do not do this for the null
+  // cipher. The benefit is smaller and there is a risk of breaking buggy
+  // implementations. Additionally, we tie this to draft-28 as a sanity check,
+  // on the off chance middleboxes have fixated on sizes.
+  //
+  // TODO(davidben): See if we can do this uniformly.
   Span<const uint8_t> rest = msg;
-  do {
-    Span<const uint8_t> chunk = rest.subspan(0, ssl->max_send_fragment);
-    rest = rest.subspan(chunk.size());
+  if (ssl->s3->aead_write_ctx->is_null_cipher() ||
+      ssl->version == TLS1_3_DRAFT23_VERSION) {
+    while (!rest.empty()) {
+      Span<const uint8_t> chunk = rest.subspan(0, ssl->max_send_fragment);
+      rest = rest.subspan(chunk.size());
 
-    if (!add_record_to_flight(ssl, SSL3_RT_HANDSHAKE, chunk)) {
-      return false;
+      if (!add_record_to_flight(ssl, SSL3_RT_HANDSHAKE, chunk)) {
+        return false;
+      }
     }
-  } while (!rest.empty());
+  } else {
+    while (!rest.empty()) {
+      // Flush if |pending_hs_data| is full.
+      if (ssl->s3->pending_hs_data &&
+          ssl->s3->pending_hs_data->length >= ssl->max_send_fragment &&
+          !tls_flush_pending_hs_data(ssl)) {
+        return false;
+      }
+
+      size_t pending_len =
+          ssl->s3->pending_hs_data ? ssl->s3->pending_hs_data->length : 0;
+      Span<const uint8_t> chunk =
+          rest.subspan(0, ssl->max_send_fragment - pending_len);
+      assert(!chunk.empty());
+      rest = rest.subspan(chunk.size());
+
+      if (!ssl->s3->pending_hs_data) {
+        ssl->s3->pending_hs_data.reset(BUF_MEM_new());
+      }
+      if (!ssl->s3->pending_hs_data ||
+          !BUF_MEM_append(ssl->s3->pending_hs_data.get(), chunk.data(),
+                          chunk.size())) {
+        return false;
+      }
+    }
+  }
 
   ssl_do_msg_callback(ssl, 1 /* write */, SSL3_RT_HANDSHAKE, msg);
   // TODO(svaldez): Move this up a layer to fix abstraction for SSLTranscript on
@@ -204,10 +240,23 @@
   return true;
 }
 
+bool tls_flush_pending_hs_data(SSL *ssl) {
+  if (!ssl->s3->pending_hs_data || ssl->s3->pending_hs_data->length == 0) {
+    return true;
+  }
+
+  UniquePtr<BUF_MEM> pending_hs_data = std::move(ssl->s3->pending_hs_data);
+  return add_record_to_flight(
+      ssl, SSL3_RT_HANDSHAKE,
+      MakeConstSpan(reinterpret_cast<const uint8_t *>(pending_hs_data->data),
+                    pending_hs_data->length));
+}
+
 bool ssl3_add_change_cipher_spec(SSL *ssl) {
   static const uint8_t kChangeCipherSpec[1] = {SSL3_MT_CCS};
 
-  if (!add_record_to_flight(ssl, SSL3_RT_CHANGE_CIPHER_SPEC,
+  if (!tls_flush_pending_hs_data(ssl) ||
+      !add_record_to_flight(ssl, SSL3_RT_CHANGE_CIPHER_SPEC,
                             kChangeCipherSpec)) {
     return false;
   }
@@ -219,7 +268,8 @@
 
 bool ssl3_add_alert(SSL *ssl, uint8_t level, uint8_t desc) {
   uint8_t alert[2] = {level, desc};
-  if (!add_record_to_flight(ssl, SSL3_RT_ALERT, alert)) {
+  if (!tls_flush_pending_hs_data(ssl) ||
+      !add_record_to_flight(ssl, SSL3_RT_ALERT, alert)) {
     return false;
   }
 
@@ -229,6 +279,10 @@
 }
 
 int ssl3_flush_flight(SSL *ssl) {
+  if (!tls_flush_pending_hs_data(ssl)) {
+    return -1;
+  }
+
   if (ssl->s3->pending_flight == nullptr) {
     return 1;
   }
@@ -238,8 +292,8 @@
     return -1;
   }
 
-  if (ssl->s3->pending_flight->length > 0xffffffff ||
-      ssl->s3->pending_flight->length > INT_MAX) {
+  static_assert(INT_MAX <= 0xffffffff, "int is larger than 32 bits");
+  if (ssl->s3->pending_flight->length > INT_MAX) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
     return -1;
   }
@@ -257,7 +311,7 @@
   // Write the pending flight.
   while (ssl->s3->pending_flight_offset < ssl->s3->pending_flight->length) {
     int ret = BIO_write(
-        ssl->wbio,
+        ssl->wbio.get(),
         ssl->s3->pending_flight->data + ssl->s3->pending_flight_offset,
         ssl->s3->pending_flight->length - ssl->s3->pending_flight_offset);
     if (ret <= 0) {
@@ -268,7 +322,7 @@
     ssl->s3->pending_flight_offset += ret;
   }
 
-  if (BIO_flush(ssl->wbio) <= 0) {
+  if (BIO_flush(ssl->wbio.get()) <= 0) {
     ssl->s3->rwstate = SSL_WRITING;
     return -1;
   }
@@ -343,7 +397,7 @@
   OPENSSL_memcpy(random + (SSL3_RANDOM_SIZE - rand_len), CBS_data(&challenge),
                  rand_len);
 
-  // Write out an equivalent SSLv3 ClientHello.
+  // Write out an equivalent TLS ClientHello.
   size_t max_v3_client_hello = SSL3_HM_HEADER_LENGTH + 2 /* version */ +
                                SSL3_RANDOM_SIZE + 1 /* session ID length */ +
                                2 /* cipher list length */ +
diff --git a/src/ssl/s3_lib.cc b/src/ssl/s3_lib.cc
index b1fc5fb..9e4d7d8 100644
--- a/src/ssl/s3_lib.cc
+++ b/src/ssl/s3_lib.cc
@@ -173,7 +173,7 @@
       initial_handshake_complete(false),
       session_reused(false),
       send_connection_binding(false),
-      tlsext_channel_id_valid(false),
+      channel_id_valid(false),
       key_update_pending(false),
       wpend_pending(false),
       early_data_accepted(false),
@@ -215,12 +215,4 @@
   ssl->s3 = NULL;
 }
 
-const SSLCipherPreferenceList *ssl_get_cipher_preferences(const SSL *ssl) {
-  if (ssl->cipher_list != NULL) {
-    return ssl->cipher_list;
-  }
-
-  return ssl->ctx->cipher_list;
-}
-
 }  // namespace bssl
diff --git a/src/ssl/s3_pkt.cc b/src/ssl/s3_pkt.cc
index 5eb68f6..50e709b 100644
--- a/src/ssl/s3_pkt.cc
+++ b/src/ssl/s3_pkt.cc
@@ -234,6 +234,9 @@
     return 0;
   }
 
+  if (!tls_flush_pending_hs_data(ssl)) {
+    return -1;
+  }
   size_t flight_len = 0;
   if (ssl->s3->pending_flight != nullptr) {
     flight_len =
@@ -411,7 +414,7 @@
 
   // If the alert is fatal, flush the BIO now.
   if (ssl->s3->send_alert[0] == SSL3_AL_FATAL) {
-    BIO_flush(ssl->wbio);
+    BIO_flush(ssl->wbio.get());
   }
 
   ssl_do_msg_callback(ssl, 1 /* write */, SSL3_RT_ALERT, ssl->s3->send_alert);
diff --git a/src/ssl/ssl_aead_ctx.cc b/src/ssl/ssl_aead_ctx.cc
index 363c959..322b1b5 100644
--- a/src/ssl/ssl_aead_ctx.cc
+++ b/src/ssl/ssl_aead_ctx.cc
@@ -42,7 +42,6 @@
       random_variable_nonce_(false),
       xor_fixed_nonce_(false),
       omit_length_in_ad_(false),
-      omit_version_in_ad_(false),
       omit_ad_(false),
       ad_is_header_(false) {
   OPENSSL_memset(fixed_nonce_, 0, sizeof(fixed_nonce_));
@@ -147,7 +146,6 @@
     aead_ctx->variable_nonce_included_in_record_ = true;
     aead_ctx->random_variable_nonce_ = true;
     aead_ctx->omit_length_in_ad_ = true;
-    aead_ctx->omit_version_in_ad_ = (protocol_version == SSL3_VERSION);
   }
 
   return aead_ctx;
@@ -235,10 +233,8 @@
   OPENSSL_memcpy(storage, seqnum, 8);
   size_t len = 8;
   storage[len++] = type;
-  if (!omit_version_in_ad_) {
-    storage[len++] = static_cast<uint8_t>((record_version >> 8));
-    storage[len++] = static_cast<uint8_t>(record_version);
-  }
+  storage[len++] = static_cast<uint8_t>((record_version >> 8));
+  storage[len++] = static_cast<uint8_t>(record_version);
   if (!omit_length_in_ad_) {
     storage[len++] = static_cast<uint8_t>((plaintext_len >> 8));
     storage[len++] = static_cast<uint8_t>(plaintext_len);
diff --git a/src/ssl/ssl_asn1.cc b/src/ssl/ssl_asn1.cc
index 078ad1f..5dfacb2 100644
--- a/src/ssl/ssl_asn1.cc
+++ b/src/ssl/ssl_asn1.cc
@@ -224,8 +224,8 @@
 
   // The peer certificate is only serialized if the SHA-256 isn't
   // serialized instead.
-  if (sk_CRYPTO_BUFFER_num(in->certs) > 0 && !in->peer_sha256_valid) {
-    const CRYPTO_BUFFER *buffer = sk_CRYPTO_BUFFER_value(in->certs, 0);
+  if (sk_CRYPTO_BUFFER_num(in->certs.get()) > 0 && !in->peer_sha256_valid) {
+    const CRYPTO_BUFFER *buffer = sk_CRYPTO_BUFFER_value(in->certs.get(), 0);
     if (!CBB_add_asn1(&session, &child, kPeerTag) ||
         !CBB_add_bytes(&child, CRYPTO_BUFFER_data(buffer),
                        CRYPTO_BUFFER_len(buffer))) {
@@ -252,25 +252,26 @@
 
   if (in->psk_identity) {
     if (!CBB_add_asn1(&session, &child, kPSKIdentityTag) ||
-        !CBB_add_asn1_octet_string(&child, (const uint8_t *)in->psk_identity,
-                                   strlen(in->psk_identity))) {
+        !CBB_add_asn1_octet_string(&child,
+                                   (const uint8_t *)in->psk_identity.get(),
+                                   strlen(in->psk_identity.get()))) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return 0;
     }
   }
 
-  if (in->tlsext_tick_lifetime_hint > 0) {
+  if (in->ticket_lifetime_hint > 0) {
     if (!CBB_add_asn1(&session, &child, kTicketLifetimeHintTag) ||
-        !CBB_add_asn1_uint64(&child, in->tlsext_tick_lifetime_hint)) {
+        !CBB_add_asn1_uint64(&child, in->ticket_lifetime_hint)) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return 0;
     }
   }
 
-  if (in->tlsext_tick && !for_ticket) {
+  if (!in->ticket.empty() && !for_ticket) {
     if (!CBB_add_asn1(&session, &child, kTicketTag) ||
-        !CBB_add_asn1_octet_string(&child, in->tlsext_tick,
-                                   in->tlsext_ticklen)) {
+        !CBB_add_asn1_octet_string(&child, in->ticket.data(),
+                                   in->ticket.size())) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return 0;
     }
@@ -297,8 +298,8 @@
   if (in->signed_cert_timestamp_list != nullptr) {
     if (!CBB_add_asn1(&session, &child, kSignedCertTimestampListTag) ||
         !CBB_add_asn1_octet_string(
-            &child, CRYPTO_BUFFER_data(in->signed_cert_timestamp_list),
-            CRYPTO_BUFFER_len(in->signed_cert_timestamp_list))) {
+            &child, CRYPTO_BUFFER_data(in->signed_cert_timestamp_list.get()),
+            CRYPTO_BUFFER_len(in->signed_cert_timestamp_list.get()))) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return 0;
     }
@@ -306,9 +307,9 @@
 
   if (in->ocsp_response != nullptr) {
     if (!CBB_add_asn1(&session, &child, kOCSPResponseTag) ||
-        !CBB_add_asn1_octet_string(&child,
-                                   CRYPTO_BUFFER_data(in->ocsp_response),
-                                   CRYPTO_BUFFER_len(in->ocsp_response))) {
+        !CBB_add_asn1_octet_string(
+            &child, CRYPTO_BUFFER_data(in->ocsp_response.get()),
+            CRYPTO_BUFFER_len(in->ocsp_response.get()))) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return 0;
     }
@@ -333,13 +334,13 @@
   // serialized instead.
   if (in->certs != NULL &&
       !in->peer_sha256_valid &&
-      sk_CRYPTO_BUFFER_num(in->certs) >= 2) {
+      sk_CRYPTO_BUFFER_num(in->certs.get()) >= 2) {
     if (!CBB_add_asn1(&session, &child, kCertChainTag)) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return 0;
     }
-    for (size_t i = 1; i < sk_CRYPTO_BUFFER_num(in->certs); i++) {
-      const CRYPTO_BUFFER *buffer = sk_CRYPTO_BUFFER_value(in->certs, i);
+    for (size_t i = 1; i < sk_CRYPTO_BUFFER_num(in->certs.get()); i++) {
+      const CRYPTO_BUFFER *buffer = sk_CRYPTO_BUFFER_value(in->certs.get(), i);
       if (!CBB_add_bytes(&child, CRYPTO_BUFFER_data(buffer),
                          CRYPTO_BUFFER_len(buffer))) {
         OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
@@ -386,10 +387,10 @@
     return 0;
   }
 
-  if (in->early_alpn) {
+  if (!in->early_alpn.empty()) {
     if (!CBB_add_asn1(&session, &child, kEarlyALPNTag) ||
-        !CBB_add_asn1_octet_string(&child, (const uint8_t *)in->early_alpn,
-                                   in->early_alpn_len)) {
+        !CBB_add_asn1_octet_string(&child, in->early_alpn.data(),
+                                   in->early_alpn.size())) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return 0;
     }
@@ -398,13 +399,11 @@
   return CBB_flush(cbb);
 }
 
-// SSL_SESSION_parse_string gets an optional ASN.1 OCTET STRING
-// explicitly tagged with |tag| from |cbs| and saves it in |*out|. On
-// entry, if |*out| is not NULL, it frees the existing contents. If
-// the element was not found, it sets |*out| to NULL. It returns one
-// on success, whether or not the element was found, and zero on
-// decode error.
-static int SSL_SESSION_parse_string(CBS *cbs, char **out, unsigned tag) {
+// SSL_SESSION_parse_string gets an optional ASN.1 OCTET STRING explicitly
+// tagged with |tag| from |cbs| and saves it in |*out|. If the element was not
+// found, it sets |*out| to NULL. It returns one on success, whether or not the
+// element was found, and zero on decode error.
+static int SSL_SESSION_parse_string(CBS *cbs, UniquePtr<char> *out, unsigned tag) {
   CBS value;
   int present;
   if (!CBS_get_optional_asn1_octet_string(cbs, &value, &present, tag)) {
@@ -416,38 +415,33 @@
       OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SSL_SESSION);
       return 0;
     }
-    if (!CBS_strdup(&value, out)) {
+    char *raw = nullptr;
+    if (!CBS_strdup(&value, &raw)) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return 0;
     }
+    out->reset(raw);
   } else {
-    OPENSSL_free(*out);
-    *out = NULL;
+    out->reset();
   }
   return 1;
 }
 
-// SSL_SESSION_parse_string gets an optional ASN.1 OCTET STRING
-// explicitly tagged with |tag| from |cbs| and stows it in |*out_ptr|
-// and |*out_len|. If |*out_ptr| is not NULL, it frees the existing
-// contents. On entry, if the element was not found, it sets
-// |*out_ptr| to NULL. It returns one on success, whether or not the
-// element was found, and zero on decode error.
-static int SSL_SESSION_parse_octet_string(CBS *cbs, uint8_t **out_ptr,
-                                          size_t *out_len, unsigned tag) {
+// SSL_SESSION_parse_octet_string gets an optional ASN.1 OCTET STRING explicitly
+// tagged with |tag| from |cbs| and stows it in |*out|. It returns one on
+// success, whether or not the element was found, and zero on decode error.
+static bool SSL_SESSION_parse_octet_string(CBS *cbs, Array<uint8_t> *out,
+                                           unsigned tag) {
   CBS value;
   if (!CBS_get_optional_asn1_octet_string(cbs, &value, NULL, tag)) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SSL_SESSION);
-    return 0;
+    return false;
   }
-  if (!CBS_stow(&value, out_ptr, out_len)) {
-    OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
-    return 0;
-  }
-  return 1;
+  return out->CopyFrom(value);
 }
 
-static int SSL_SESSION_parse_crypto_buffer(CBS *cbs, CRYPTO_BUFFER **out,
+static int SSL_SESSION_parse_crypto_buffer(CBS *cbs,
+                                           UniquePtr<CRYPTO_BUFFER> *out,
                                            unsigned tag,
                                            CRYPTO_BUFFER_POOL *pool) {
   if (!CBS_peek_asn1_tag(cbs, tag)) {
@@ -461,8 +455,7 @@
     OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SSL_SESSION);
     return 0;
   }
-  CRYPTO_BUFFER_free(*out);
-  *out = CRYPTO_BUFFER_new_from_CBS(&value, pool);
+  out->reset(CRYPTO_BUFFER_new_from_CBS(&value, pool));
   if (*out == nullptr) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
     return 0;
@@ -617,10 +610,9 @@
 
   if (!SSL_SESSION_parse_string(&session, &ret->psk_identity,
                                 kPSKIdentityTag) ||
-      !SSL_SESSION_parse_u32(&session, &ret->tlsext_tick_lifetime_hint,
+      !SSL_SESSION_parse_u32(&session, &ret->ticket_lifetime_hint,
                              kTicketLifetimeHintTag, 0) ||
-      !SSL_SESSION_parse_octet_string(&session, &ret->tlsext_tick,
-                                      &ret->tlsext_ticklen, kTicketTag)) {
+      !SSL_SESSION_parse_octet_string(&session, &ret->ticket, kTicketTag)) {
     return nullptr;
   }
 
@@ -680,8 +672,8 @@
     return nullptr;
   }
   if (has_peer || has_cert_chain) {
-    ret->certs = sk_CRYPTO_BUFFER_new_null();
-    if (ret->certs == NULL) {
+    ret->certs.reset(sk_CRYPTO_BUFFER_new_null());
+    if (ret->certs == nullptr) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
       return nullptr;
     }
@@ -689,7 +681,7 @@
     if (has_peer) {
       UniquePtr<CRYPTO_BUFFER> buffer(CRYPTO_BUFFER_new_from_CBS(&peer, pool));
       if (!buffer ||
-          !PushToStack(ret->certs, std::move(buffer))) {
+          !PushToStack(ret->certs.get(), std::move(buffer))) {
         OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
         return nullptr;
       }
@@ -703,10 +695,9 @@
         return nullptr;
       }
 
-      CRYPTO_BUFFER *buffer = CRYPTO_BUFFER_new_from_CBS(&cert, pool);
-      if (buffer == NULL ||
-          !sk_CRYPTO_BUFFER_push(ret->certs, buffer)) {
-        CRYPTO_BUFFER_free(buffer);
+      UniquePtr<CRYPTO_BUFFER> buffer(CRYPTO_BUFFER_new_from_CBS(&cert, pool));
+      if (buffer == nullptr ||
+          !PushToStack(ret->certs.get(), std::move(buffer))) {
         OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
         return nullptr;
       }
@@ -727,7 +718,7 @@
       CBS_len(&age_add) != 0) {
     return nullptr;
   }
-  ret->ticket_age_add_valid = age_add_present;
+  ret->ticket_age_add_valid = age_add_present != 0;
 
   int is_server;
   if (!CBS_get_optional_asn1_bool(&session, &is_server, kIsServerTag,
@@ -747,7 +738,7 @@
       !SSL_SESSION_parse_u32(&session, &ret->auth_timeout, kAuthTimeoutTag,
                              ret->timeout) ||
       !SSL_SESSION_parse_octet_string(&session, &ret->early_alpn,
-                                      &ret->early_alpn_len, kEarlyALPNTag) ||
+                                      kEarlyALPNTag) ||
       CBS_len(&session) != 0) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SSL_SESSION);
     return nullptr;
diff --git a/src/ssl/ssl_buffer.cc b/src/ssl/ssl_buffer.cc
index da1de93..72647a4 100644
--- a/src/ssl/ssl_buffer.cc
+++ b/src/ssl/ssl_buffer.cc
@@ -113,7 +113,8 @@
   }
 
   // Read a single packet from |ssl->rbio|. |buf->cap()| must fit in an int.
-  int ret = BIO_read(ssl->rbio, buf->data(), static_cast<int>(buf->cap()));
+  int ret =
+      BIO_read(ssl->rbio.get(), buf->data(), static_cast<int>(buf->cap()));
   if (ret <= 0) {
     ssl->s3->rwstate = SSL_READING;
     return ret;
@@ -134,7 +135,7 @@
   while (buf->size() < len) {
     // The amount of data to read is bounded by |buf->cap|, which must fit in an
     // int.
-    int ret = BIO_read(ssl->rbio, buf->data() + buf->size(),
+    int ret = BIO_read(ssl->rbio.get(), buf->data() + buf->size(),
                        static_cast<int>(len - buf->size()));
     if (ret <= 0) {
       ssl->s3->rwstate = SSL_READING;
@@ -163,7 +164,7 @@
     return -1;
   }
 
-  if (ssl->rbio == NULL) {
+  if (ssl->rbio == nullptr) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_BIO_NOT_SET);
     return -1;
   }
@@ -240,7 +241,7 @@
   SSLBuffer *buf = &ssl->s3->write_buffer;
 
   while (!buf->empty()) {
-    int ret = BIO_write(ssl->wbio, buf->data(), buf->size());
+    int ret = BIO_write(ssl->wbio.get(), buf->data(), buf->size());
     if (ret <= 0) {
       ssl->s3->rwstate = SSL_WRITING;
       return ret;
@@ -257,7 +258,7 @@
     return 1;
   }
 
-  int ret = BIO_write(ssl->wbio, buf->data(), buf->size());
+  int ret = BIO_write(ssl->wbio.get(), buf->data(), buf->size());
   if (ret <= 0) {
     ssl->s3->rwstate = SSL_WRITING;
     // If the write failed, drop the write buffer anyway. Datagram transports
@@ -271,7 +272,7 @@
 }
 
 int ssl_write_buffer_flush(SSL *ssl) {
-  if (ssl->wbio == NULL) {
+  if (ssl->wbio == nullptr) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_BIO_NOT_SET);
     return -1;
   }
diff --git a/src/ssl/ssl_cert.cc b/src/ssl/ssl_cert.cc
index 20b4514..4842974 100644
--- a/src/ssl/ssl_cert.cc
+++ b/src/ssl/ssl_cert.cc
@@ -136,7 +136,7 @@
 namespace bssl {
 
 CERT::CERT(const SSL_X509_METHOD *x509_method_arg)
-    : x509_method(x509_method_arg), enable_early_data(false) {}
+    : x509_method(x509_method_arg) {}
 
 CERT::~CERT() {
   ssl_cert_clear_certs(this);
@@ -162,11 +162,7 @@
     }
   }
 
-  if (cert->privatekey) {
-    EVP_PKEY_up_ref(cert->privatekey.get());
-    ret->privatekey.reset(cert->privatekey.get());
-  }
-
+  ret->privatekey = UpRef(cert->privatekey);
   ret->key_method = cert->key_method;
 
   if (!ret->sigalgs.CopyFrom(cert->sigalgs)) {
@@ -178,22 +174,12 @@
 
   ret->x509_method->cert_dup(ret.get(), cert);
 
-  if (cert->signed_cert_timestamp_list) {
-    CRYPTO_BUFFER_up_ref(cert->signed_cert_timestamp_list.get());
-    ret->signed_cert_timestamp_list.reset(
-        cert->signed_cert_timestamp_list.get());
-  }
-
-  if (cert->ocsp_response) {
-    CRYPTO_BUFFER_up_ref(cert->ocsp_response.get());
-    ret->ocsp_response.reset(cert->ocsp_response.get());
-  }
+  ret->signed_cert_timestamp_list = UpRef(cert->signed_cert_timestamp_list);
+  ret->ocsp_response = UpRef(cert->ocsp_response);
 
   ret->sid_ctx_length = cert->sid_ctx_length;
   OPENSSL_memcpy(ret->sid_ctx, cert->sid_ctx, sizeof(ret->sid_ctx));
 
-  ret->enable_early_data = cert->enable_early_data;
-
   return ret;
 }
 
@@ -291,16 +277,12 @@
   }
 
   for (size_t i = 0; i < num_certs; i++) {
-    if (!sk_CRYPTO_BUFFER_push(certs_sk.get(), certs[i])) {
+    if (!PushToStack(certs_sk.get(), UpRef(certs[i]))) {
       return 0;
     }
-    CRYPTO_BUFFER_up_ref(certs[i]);
   }
 
-  if (privkey != nullptr) {
-    EVP_PKEY_up_ref(privkey);
-  }
-  cert->privatekey.reset(privkey);
+  cert->privatekey = UpRef(privkey);
   cert->key_method = privkey_method;
 
   cert->chain = std::move(certs_sk);
@@ -342,10 +324,10 @@
   return 1;
 }
 
-int ssl_has_certificate(const SSL *ssl) {
-  return ssl->cert->chain != nullptr &&
-         sk_CRYPTO_BUFFER_value(ssl->cert->chain.get(), 0) != nullptr &&
-         ssl_has_private_key(ssl);
+int ssl_has_certificate(const SSL_CONFIG *cfg) {
+  return cfg->cert->chain != nullptr &&
+         sk_CRYPTO_BUFFER_value(cfg->cert->chain.get(), 0) != nullptr &&
+         ssl_has_private_key(cfg);
 }
 
 bool ssl_parse_cert_chain(uint8_t *out_alert,
@@ -412,8 +394,8 @@
   return true;
 }
 
-int ssl_add_cert_chain(SSL *ssl, CBB *cbb) {
-  if (!ssl_has_certificate(ssl)) {
+int ssl_add_cert_chain(SSL_HANDSHAKE *hs, CBB *cbb) {
+  if (!ssl_has_certificate(hs->config)) {
     return CBB_add_u24(cbb, 0);
   }
 
@@ -423,7 +405,7 @@
     return 0;
   }
 
-  STACK_OF(CRYPTO_BUFFER) *chain = ssl->cert->chain.get();
+  STACK_OF(CRYPTO_BUFFER) *chain = hs->config->cert->chain.get();
   for (size_t i = 0; i < sk_CRYPTO_BUFFER_num(chain); i++) {
     CRYPTO_BUFFER *buffer = sk_CRYPTO_BUFFER_value(chain, i);
     CBB child;
@@ -665,7 +647,7 @@
   }
 
   if (!ssl->ctx->x509_method->check_client_CA_list(ret.get())) {
-    *out_alert = SSL_AD_INTERNAL_ERROR;
+    *out_alert = SSL_AD_DECODE_ERROR;
     OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
     return nullptr;
   }
@@ -673,26 +655,26 @@
   return ret;
 }
 
-bool ssl_has_client_CAs(SSL *ssl) {
-  STACK_OF(CRYPTO_BUFFER) *names = ssl->client_CA;
-  if (names == NULL) {
-    names = ssl->ctx->client_CA;
+bool ssl_has_client_CAs(const SSL_CONFIG *cfg) {
+  const STACK_OF(CRYPTO_BUFFER) *names = cfg->client_CA.get();
+  if (names == nullptr) {
+    names = cfg->ssl->ctx->client_CA.get();
   }
-  if (names == NULL) {
+  if (names == nullptr) {
     return false;
   }
   return sk_CRYPTO_BUFFER_num(names) > 0;
 }
 
-int ssl_add_client_CA_list(SSL *ssl, CBB *cbb) {
+int ssl_add_client_CA_list(SSL_HANDSHAKE *hs, CBB *cbb) {
   CBB child, name_cbb;
   if (!CBB_add_u16_length_prefixed(cbb, &child)) {
     return 0;
   }
 
-  STACK_OF(CRYPTO_BUFFER) *names = ssl->client_CA;
+  const STACK_OF(CRYPTO_BUFFER) *names = hs->config->client_CA.get();
   if (names == NULL) {
-    names = ssl->ctx->client_CA;
+    names = hs->ssl->ctx->client_CA.get();
   }
   if (names == NULL) {
     return CBB_flush(cbb);
@@ -711,8 +693,7 @@
 
 int ssl_check_leaf_certificate(SSL_HANDSHAKE *hs, EVP_PKEY *pkey,
                                const CRYPTO_BUFFER *leaf) {
-  SSL *const ssl = hs->ssl;
-  assert(ssl_protocol_version(ssl) < TLS1_3_VERSION);
+  assert(ssl_protocol_version(hs->ssl) < TLS1_3_VERSION);
 
   // Check the certificate's type matches the cipher.
   if (!(hs->new_cipher->algorithm_auth & ssl_cipher_auth_mask_for_key(pkey))) {
@@ -740,7 +721,7 @@
     uint16_t group_id;
     if (!ssl_nid_to_group_id(
             &group_id, EC_GROUP_get_curve_name(EC_KEY_get0_group(ec_key))) ||
-        !tls1_check_group_id(ssl, group_id) ||
+        !tls1_check_group_id(hs, group_id) ||
         EC_KEY_get_conv_form(ec_key) != POINT_CONVERSION_UNCOMPRESSED) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_BAD_ECC_CERT);
       return 0;
@@ -752,18 +733,18 @@
 
 int ssl_on_certificate_selected(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
-  if (!ssl_has_certificate(ssl)) {
+  if (!ssl_has_certificate(hs->config)) {
     // Nothing to do.
     return 1;
   }
 
-  if (!ssl->ctx->x509_method->ssl_auto_chain_if_needed(ssl)) {
+  if (!ssl->ctx->x509_method->ssl_auto_chain_if_needed(hs)) {
     return 0;
   }
 
   CBS leaf;
-  CRYPTO_BUFFER_init_CBS(sk_CRYPTO_BUFFER_value(ssl->cert->chain.get(), 0),
-                         &leaf);
+  CRYPTO_BUFFER_init_CBS(
+      sk_CRYPTO_BUFFER_value(hs->config->cert->chain.get(), 0), &leaf);
 
   hs->local_pubkey = ssl_cert_parse_pubkey(&leaf);
   return hs->local_pubkey != NULL;
@@ -776,14 +757,17 @@
 int SSL_set_chain_and_key(SSL *ssl, CRYPTO_BUFFER *const *certs,
                           size_t num_certs, EVP_PKEY *privkey,
                           const SSL_PRIVATE_KEY_METHOD *privkey_method) {
-  return cert_set_chain_and_key(ssl->cert, certs, num_certs, privkey,
-                                privkey_method);
+  if (!ssl->config) {
+    return 0;
+  }
+  return cert_set_chain_and_key(ssl->config->cert.get(), certs, num_certs,
+                                privkey, privkey_method);
 }
 
 int SSL_CTX_set_chain_and_key(SSL_CTX *ctx, CRYPTO_BUFFER *const *certs,
                               size_t num_certs, EVP_PKEY *privkey,
                               const SSL_PRIVATE_KEY_METHOD *privkey_method) {
-  return cert_set_chain_and_key(ctx->cert, certs, num_certs, privkey,
+  return cert_set_chain_and_key(ctx->cert.get(), certs, num_certs, privkey,
                                 privkey_method);
 }
 
@@ -794,37 +778,40 @@
     return 0;
   }
 
-  return ssl_set_cert(ctx->cert, std::move(buffer));
+  return ssl_set_cert(ctx->cert.get(), std::move(buffer));
 }
 
 int SSL_use_certificate_ASN1(SSL *ssl, const uint8_t *der, size_t der_len) {
   UniquePtr<CRYPTO_BUFFER> buffer(CRYPTO_BUFFER_new(der, der_len, NULL));
-  if (!buffer) {
+  if (!buffer || !ssl->config) {
     return 0;
   }
 
-  return ssl_set_cert(ssl->cert, std::move(buffer));
+  return ssl_set_cert(ssl->config->cert.get(), std::move(buffer));
 }
 
 void SSL_CTX_set_cert_cb(SSL_CTX *ctx, int (*cb)(SSL *ssl, void *arg),
                          void *arg) {
-  ssl_cert_set_cert_cb(ctx->cert, cb, arg);
+  ssl_cert_set_cert_cb(ctx->cert.get(), cb, arg);
 }
 
 void SSL_set_cert_cb(SSL *ssl, int (*cb)(SSL *ssl, void *arg), void *arg) {
-  ssl_cert_set_cert_cb(ssl->cert, cb, arg);
+  if (!ssl->config) {
+    return;
+  }
+  ssl_cert_set_cert_cb(ssl->config->cert.get(), cb, arg);
 }
 
-STACK_OF(CRYPTO_BUFFER) *SSL_get0_peer_certificates(const SSL *ssl) {
+const STACK_OF(CRYPTO_BUFFER) *SSL_get0_peer_certificates(const SSL *ssl) {
   SSL_SESSION *session = SSL_get_session(ssl);
   if (session == NULL) {
     return NULL;
   }
 
-  return session->certs;
+  return session->certs.get();
 }
 
-STACK_OF(CRYPTO_BUFFER) *SSL_get0_server_requested_CAs(const SSL *ssl) {
+const STACK_OF(CRYPTO_BUFFER) *SSL_get0_server_requested_CAs(const SSL *ssl) {
   if (ssl->s3->hs == NULL) {
     return NULL;
   }
@@ -847,12 +834,16 @@
 
 int SSL_CTX_set_signed_cert_timestamp_list(SSL_CTX *ctx, const uint8_t *list,
                                            size_t list_len) {
-  return set_signed_cert_timestamp_list(ctx->cert, list, list_len);
+  return set_signed_cert_timestamp_list(ctx->cert.get(), list, list_len);
 }
 
 int SSL_set_signed_cert_timestamp_list(SSL *ssl, const uint8_t *list,
                                        size_t list_len) {
-  return set_signed_cert_timestamp_list(ssl->cert, list, list_len);
+  if (!ssl->config) {
+    return 0;
+  }
+  return set_signed_cert_timestamp_list(ssl->config->cert.get(), list,
+                                        list_len);
 }
 
 int SSL_CTX_set_ocsp_response(SSL_CTX *ctx, const uint8_t *response,
@@ -864,19 +855,23 @@
 
 int SSL_set_ocsp_response(SSL *ssl, const uint8_t *response,
                           size_t response_len) {
-  ssl->cert->ocsp_response.reset(
+  if (!ssl->config) {
+    return 0;
+  }
+  ssl->config->cert->ocsp_response.reset(
       CRYPTO_BUFFER_new(response, response_len, nullptr));
-  return ssl->cert->ocsp_response != nullptr;
+  return ssl->config->cert->ocsp_response != nullptr;
 }
 
 void SSL_CTX_set0_client_CAs(SSL_CTX *ctx, STACK_OF(CRYPTO_BUFFER) *name_list) {
   ctx->x509_method->ssl_ctx_flush_cached_client_CA(ctx);
-  sk_CRYPTO_BUFFER_pop_free(ctx->client_CA, CRYPTO_BUFFER_free);
-  ctx->client_CA = name_list;
+  ctx->client_CA.reset(name_list);
 }
 
 void SSL_set0_client_CAs(SSL *ssl, STACK_OF(CRYPTO_BUFFER) *name_list) {
-  ssl->ctx->x509_method->ssl_flush_cached_client_CA(ssl);
-  sk_CRYPTO_BUFFER_pop_free(ssl->client_CA, CRYPTO_BUFFER_free);
-  ssl->client_CA = name_list;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->ctx->x509_method->ssl_flush_cached_client_CA(ssl->config.get());
+  ssl->config->client_CA.reset(name_list);
 }
diff --git a/src/ssl/ssl_cipher.cc b/src/ssl/ssl_cipher.cc
index f02fa8a..5899500 100644
--- a/src/ssl/ssl_cipher.cc
+++ b/src/ssl/ssl_cipher.cc
@@ -157,7 +157,7 @@
 namespace bssl {
 
 // kCiphers is an array of all supported ciphers, sorted by id.
-static const SSL_CIPHER kCiphers[] = {
+static constexpr SSL_CIPHER kCiphers[] = {
     // The RSA ciphers
     // Cipher 02
     {
@@ -210,33 +210,6 @@
      SSL_HANDSHAKE_MAC_DEFAULT,
     },
 
-
-    // TLS v1.2 ciphersuites
-
-    // Cipher 3C
-    {
-     TLS1_TXT_RSA_WITH_AES_128_SHA256,
-     "TLS_RSA_WITH_AES_128_CBC_SHA256",
-     TLS1_CK_RSA_WITH_AES_128_SHA256,
-     SSL_kRSA,
-     SSL_aRSA,
-     SSL_AES128,
-     SSL_SHA256,
-     SSL_HANDSHAKE_MAC_SHA256,
-    },
-
-    // Cipher 3D
-    {
-     TLS1_TXT_RSA_WITH_AES_256_SHA256,
-     "TLS_RSA_WITH_AES_256_CBC_SHA256",
-     TLS1_CK_RSA_WITH_AES_256_SHA256,
-     SSL_kRSA,
-     SSL_aRSA,
-     SSL_AES256,
-     SSL_SHA256,
-     SSL_HANDSHAKE_MAC_SHA256,
-    },
-
     // PSK cipher suites.
 
     // Cipher 8C
@@ -375,58 +348,6 @@
      SSL_HANDSHAKE_MAC_DEFAULT,
     },
 
-
-    // HMAC based TLS v1.2 ciphersuites from RFC5289
-
-    // Cipher C023
-    {
-     TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256,
-     "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
-     TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256,
-     SSL_kECDHE,
-     SSL_aECDSA,
-     SSL_AES128,
-     SSL_SHA256,
-     SSL_HANDSHAKE_MAC_SHA256,
-    },
-
-    // Cipher C024
-    {
-     TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384,
-     "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
-     TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384,
-     SSL_kECDHE,
-     SSL_aECDSA,
-     SSL_AES256,
-     SSL_SHA384,
-     SSL_HANDSHAKE_MAC_SHA384,
-    },
-
-    // Cipher C027
-    {
-     TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256,
-     "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
-     TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256,
-     SSL_kECDHE,
-     SSL_aRSA,
-     SSL_AES128,
-     SSL_SHA256,
-     SSL_HANDSHAKE_MAC_SHA256,
-    },
-
-    // Cipher C028
-    {
-     TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384,
-     "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
-     TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384,
-     SSL_kECDHE,
-     SSL_aRSA,
-     SSL_AES256,
-     SSL_SHA384,
-     SSL_HANDSHAKE_MAC_SHA384,
-    },
-
-
     // GCM based TLS v1.2 ciphersuites from RFC5289
 
     // Cipher C02B
@@ -616,8 +537,6 @@
     // MAC aliases
     {"SHA1", ~0u, ~0u, ~0u, SSL_SHA1, 0},
     {"SHA", ~0u, ~0u, ~0u, SSL_SHA1, 0},
-    {"SHA256", ~0u, ~0u, ~0u, SSL_SHA256, 0},
-    {"SHA384", ~0u, ~0u, ~0u, SSL_SHA384, 0},
 
     // Legacy protocol minimum version aliases. "TLSv1" is intentionally the
     // same as "SSLv3".
@@ -628,23 +547,15 @@
     // Legacy strength classes.
     {"HIGH", ~0u, ~0u, ~0u, ~0u, 0},
     {"FIPS", ~0u, ~0u, ~0u, ~0u, 0},
+
+    // Temporary no-op aliases corresponding to removed SHA-2 legacy CBC
+    // ciphers. These should be removed after 2018-05-14.
+    {"SHA256", 0, 0, 0, 0, 0},
+    {"SHA384", 0, 0, 0, 0, 0},
 };
 
 static const size_t kCipherAliasesLen = OPENSSL_ARRAY_SIZE(kCipherAliases);
 
-static int ssl_cipher_id_cmp(const void *in_a, const void *in_b) {
-  const SSL_CIPHER *a = reinterpret_cast<const SSL_CIPHER *>(in_a);
-  const SSL_CIPHER *b = reinterpret_cast<const SSL_CIPHER *>(in_b);
-
-  if (a->id > b->id) {
-    return 1;
-  } else if (a->id < b->id) {
-    return -1;
-  } else {
-    return 0;
-  }
-}
-
 bool ssl_cipher_get_evp_aead(const EVP_AEAD **out_aead,
                              size_t *out_mac_secret_len,
                              size_t *out_fixed_iv_len, const SSL_CIPHER *cipher,
@@ -654,15 +565,26 @@
   *out_fixed_iv_len = 0;
 
   const int is_tls12 = version == TLS1_2_VERSION && !is_dtls;
+  const int is_tls13 = version == TLS1_3_VERSION && !is_dtls;
 
   if (cipher->algorithm_mac == SSL_AEAD) {
     if (cipher->algorithm_enc == SSL_AES128GCM) {
-      *out_aead =
-          is_tls12 ? EVP_aead_aes_128_gcm_tls12() : EVP_aead_aes_128_gcm();
+      if (is_tls12) {
+        *out_aead = EVP_aead_aes_128_gcm_tls12();
+      } else if (is_tls13) {
+        *out_aead = EVP_aead_aes_128_gcm_tls13();
+      } else {
+        *out_aead = EVP_aead_aes_128_gcm();
+      }
       *out_fixed_iv_len = 4;
     } else if (cipher->algorithm_enc == SSL_AES256GCM) {
-      *out_aead =
-          is_tls12 ? EVP_aead_aes_256_gcm_tls12() : EVP_aead_aes_256_gcm();
+      if (is_tls12) {
+        *out_aead = EVP_aead_aes_256_gcm_tls12();
+      } else if (is_tls13) {
+        *out_aead = EVP_aead_aes_256_gcm_tls13();
+      } else {
+        *out_aead = EVP_aead_aes_256_gcm();
+      }
       *out_fixed_iv_len = 4;
     } else if (cipher->algorithm_enc == SSL_CHACHA20POLY1305) {
       *out_aead = EVP_aead_chacha20_poly1305();
@@ -678,36 +600,23 @@
     }
   } else if (cipher->algorithm_mac == SSL_SHA1) {
     if (cipher->algorithm_enc == SSL_eNULL) {
-      if (version == SSL3_VERSION) {
-        *out_aead = EVP_aead_null_sha1_ssl3();
-      } else {
-        *out_aead = EVP_aead_null_sha1_tls();
-      }
+      *out_aead = EVP_aead_null_sha1_tls();
     } else if (cipher->algorithm_enc == SSL_3DES) {
-      if (version == SSL3_VERSION) {
-        *out_aead = EVP_aead_des_ede3_cbc_sha1_ssl3();
-        *out_fixed_iv_len = 8;
-      } else if (version == TLS1_VERSION) {
+      if (version == TLS1_VERSION) {
         *out_aead = EVP_aead_des_ede3_cbc_sha1_tls_implicit_iv();
         *out_fixed_iv_len = 8;
       } else {
         *out_aead = EVP_aead_des_ede3_cbc_sha1_tls();
       }
     } else if (cipher->algorithm_enc == SSL_AES128) {
-      if (version == SSL3_VERSION) {
-        *out_aead = EVP_aead_aes_128_cbc_sha1_ssl3();
-        *out_fixed_iv_len = 16;
-      } else if (version == TLS1_VERSION) {
+      if (version == TLS1_VERSION) {
         *out_aead = EVP_aead_aes_128_cbc_sha1_tls_implicit_iv();
         *out_fixed_iv_len = 16;
       } else {
         *out_aead = EVP_aead_aes_128_cbc_sha1_tls();
       }
     } else if (cipher->algorithm_enc == SSL_AES256) {
-      if (version == SSL3_VERSION) {
-        *out_aead = EVP_aead_aes_256_cbc_sha1_ssl3();
-        *out_fixed_iv_len = 16;
-      } else if (version == TLS1_VERSION) {
+      if (version == TLS1_VERSION) {
         *out_aead = EVP_aead_aes_256_cbc_sha1_tls_implicit_iv();
         *out_fixed_iv_len = 16;
       } else {
@@ -718,23 +627,6 @@
     }
 
     *out_mac_secret_len = SHA_DIGEST_LENGTH;
-  } else if (cipher->algorithm_mac == SSL_SHA256) {
-    if (cipher->algorithm_enc == SSL_AES128) {
-      *out_aead = EVP_aead_aes_128_cbc_sha256_tls();
-    } else if (cipher->algorithm_enc == SSL_AES256) {
-      *out_aead = EVP_aead_aes_256_cbc_sha256_tls();
-    } else {
-      return false;
-    }
-
-    *out_mac_secret_len = SHA256_DIGEST_LENGTH;
-  } else if (cipher->algorithm_mac == SSL_SHA384) {
-      if (cipher->algorithm_enc != SSL_AES256) {
-        return false;
-      }
-
-      *out_aead = EVP_aead_aes_256_cbc_sha384_tls();
-      *out_mac_secret_len = SHA384_DIGEST_LENGTH;
   } else {
     return false;
   }
@@ -1232,7 +1124,7 @@
   return true;
 }
 
-bool ssl_create_cipher_list(SSLCipherPreferenceList **out_cipher_list,
+bool ssl_create_cipher_list(UniquePtr<SSLCipherPreferenceList> *out_cipher_list,
                             const char *rule_str, bool strict) {
   // Return with error if nothing to do.
   if (rule_str == NULL || out_cipher_list == NULL) {
@@ -1350,10 +1242,7 @@
     return false;
   }
 
-  if (*out_cipher_list) {
-    Delete(*out_cipher_list);
-  }
-  *out_cipher_list = pref_list.release();
+  *out_cipher_list = std::move(pref_list);
 
   // Configuring an empty cipher list is an error but still updates the
   // output.
@@ -1367,7 +1256,8 @@
 
 uint16_t ssl_cipher_get_value(const SSL_CIPHER *cipher) {
   uint32_t id = cipher->id;
-  // All ciphers are SSLv3.
+  // All OpenSSL cipher IDs are prefaced with 0x03. Historically this referred
+  // to SSLv2 vs SSLv3.
   assert((id & 0xff000000) == 0x03000000);
   return id & 0xffff;
 }
@@ -1420,6 +1310,36 @@
 
 using namespace bssl;
 
+static constexpr int ssl_cipher_id_cmp_inner(const SSL_CIPHER *a,
+                                             const SSL_CIPHER *b) {
+  // C++11's constexpr functions must have a body consisting of just a
+  // return-statement.
+  return (a->id > b->id) ? 1 : ((a->id < b->id) ? -1 : 0);
+}
+
+static int ssl_cipher_id_cmp(const void *in_a, const void *in_b) {
+  return ssl_cipher_id_cmp_inner(reinterpret_cast<const SSL_CIPHER *>(in_a),
+                                 reinterpret_cast<const SSL_CIPHER *>(in_b));
+}
+
+template <typename T, size_t N>
+static constexpr size_t countof(T const (&)[N]) {
+  return N;
+}
+
+template <typename T, size_t I>
+static constexpr int check_order(const T (&arr)[I], size_t N) {
+  // C++11's constexpr functions must have a body consisting of just a
+  // return-statement.
+  return N > 1 ? ((ssl_cipher_id_cmp_inner(&arr[N - 2], &arr[N - 1]) < 0)
+                      ? check_order(arr, N - 1)
+                      : 0)
+               : 1;
+}
+
+static_assert(check_order(kCiphers, countof(kCiphers)) == 1,
+              "Ciphers are not sorted, bsearch won't work");
+
 const SSL_CIPHER *SSL_get_cipher_by_value(uint16_t value) {
   SSL_CIPHER c;
 
@@ -1461,10 +1381,6 @@
       return NID_undef;
     case SSL_SHA1:
       return NID_sha1;
-    case SSL_SHA256:
-      return NID_sha256;
-    case SSL_SHA384:
-      return NID_sha384;
   }
   assert(0);
   return NID_undef;
@@ -1731,14 +1647,6 @@
       mac = "SHA1";
       break;
 
-    case SSL_SHA256:
-      mac = "SHA256";
-      break;
-
-    case SSL_SHA384:
-      mac = "SHA384";
-      break;
-
     case SSL_AEAD:
       mac = "AEAD";
       break;
diff --git a/src/ssl/ssl_lib.cc b/src/ssl/ssl_lib.cc
index 78a1860..36c26cd 100644
--- a/src/ssl/ssl_lib.cc
+++ b/src/ssl/ssl_lib.cc
@@ -219,11 +219,11 @@
   return true;
 }
 
-int ssl_can_write(const SSL *ssl) {
+bool ssl_can_write(const SSL *ssl) {
   return !SSL_in_init(ssl) || ssl->s3->hs->can_early_write;
 }
 
-int ssl_can_read(const SSL *ssl) {
+bool ssl_can_read(const SSL *ssl) {
   return !SSL_in_init(ssl) || ssl->s3->hs->can_early_read;
 }
 
@@ -274,7 +274,7 @@
 
 void ssl_update_cache(SSL_HANDSHAKE *hs, int mode) {
   SSL *const ssl = hs->ssl;
-  SSL_CTX *ctx = ssl->session_ctx;
+  SSL_CTX *ctx = ssl->session_ctx.get();
   // Never cache sessions with empty session IDs.
   if (ssl->s3->established_session->session_id_length == 0 ||
       ssl->s3->established_session->not_resumable ||
@@ -289,16 +289,16 @@
   // A client may see new sessions on abbreviated handshakes if the server
   // decides to renew the ticket. Once the handshake is completed, it should be
   // inserted into the cache.
-  if (ssl->s3->established_session.get() != ssl->session ||
+  if (ssl->s3->established_session.get() != ssl->session.get() ||
       (!ssl->server && hs->ticket_expected)) {
     if (use_internal_cache) {
       SSL_CTX_add_session(ctx, ssl->s3->established_session.get());
     }
     if (ctx->new_session_cb != NULL) {
-      SSL_SESSION_up_ref(ssl->s3->established_session.get());
-      if (!ctx->new_session_cb(ssl, ssl->s3->established_session.get())) {
+      UniquePtr<SSL_SESSION> ref = UpRef(ssl->s3->established_session);
+      if (ctx->new_session_cb(ssl, ref.get())) {
         // |new_session_cb|'s return value signals whether it took ownership.
-        SSL_SESSION_free(ssl->s3->established_session.get());
+        ref.release();
       }
     }
   }
@@ -406,7 +406,7 @@
 void ssl_get_current_time(const SSL *ssl, struct OPENSSL_timeval *out_clock) {
   // TODO(martinkr): Change callers to |ssl_ctx_get_current_time| and drop the
   // |ssl| arg from |current_time_cb| if possible.
-  ssl_ctx_get_current_time(ssl->ctx, out_clock);
+  ssl_ctx_get_current_time(ssl->ctx.get(), out_clock);
 }
 
 void ssl_ctx_get_current_time(const SSL_CTX *ctx,
@@ -459,6 +459,53 @@
   ctx->handoff = on;
 }
 
+static bool ssl_can_renegotiate(const SSL *ssl) {
+  if (ssl->server || SSL_is_dtls(ssl)) {
+    return false;
+  }
+
+  if (ssl_protocol_version(ssl) >= TLS1_3_VERSION) {
+    return false;
+  }
+
+  // The config has already been shed.
+  if (!ssl->config) {
+    return false;
+  }
+
+  switch (ssl->renegotiate_mode) {
+    case ssl_renegotiate_ignore:
+    case ssl_renegotiate_never:
+      return false;
+
+    case ssl_renegotiate_freely:
+      return true;
+    case ssl_renegotiate_once:
+      return ssl->s3->total_renegotiations == 0;
+  }
+
+  assert(0);
+  return false;
+}
+
+static void ssl_maybe_shed_handshake_config(SSL *ssl) {
+  if (ssl->s3->hs != nullptr ||
+      ssl->config == nullptr ||
+      !ssl->config->shed_handshake_config ||
+      ssl_can_renegotiate(ssl)) {
+    return;
+  }
+
+  ssl->config.reset();
+}
+
+void SSL_set_handoff_mode(SSL *ssl, bool on) {
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->handoff = on;
+}
+
 }  // namespace bssl
 
 using namespace bssl;
@@ -474,34 +521,11 @@
 }
 
 static uint32_t ssl_session_hash(const SSL_SESSION *sess) {
-  const uint8_t *session_id = sess->session_id;
-
-  uint8_t tmp_storage[sizeof(uint32_t)];
-  if (sess->session_id_length < sizeof(tmp_storage)) {
-    OPENSSL_memset(tmp_storage, 0, sizeof(tmp_storage));
-    OPENSSL_memcpy(tmp_storage, sess->session_id, sess->session_id_length);
-    session_id = tmp_storage;
-  }
-
-  uint32_t hash =
-      ((uint32_t)session_id[0]) |
-      ((uint32_t)session_id[1] << 8) |
-      ((uint32_t)session_id[2] << 16) |
-      ((uint32_t)session_id[3] << 24);
-
-  return hash;
+  return ssl_hash_session_id(
+      MakeConstSpan(sess->session_id, sess->session_id_length));
 }
 
-// NB: If this function (or indeed the hash function which uses a sort of
-// coarser function than this one) is changed, ensure
-// SSL_CTX_has_matching_session_id() is checked accordingly. It relies on being
-// able to construct an SSL_SESSION that will collide with any existing session
-// with a matching session ID.
 static int ssl_session_cmp(const SSL_SESSION *a, const SSL_SESSION *b) {
-  if (a->ssl_version != b->ssl_version) {
-    return 1;
-  }
-
   if (a->session_id_length != b->session_id_length) {
     return 1;
   }
@@ -509,84 +533,69 @@
   return OPENSSL_memcmp(a->session_id, b->session_id, a->session_id_length);
 }
 
-SSL_CTX *SSL_CTX_new(const SSL_METHOD *method) {
-  SSL_CTX *ret = NULL;
+ssl_ctx_st::ssl_ctx_st(const SSL_METHOD *ssl_method)
+    : method(ssl_method->method),
+      x509_method(ssl_method->x509_method),
+      retain_only_sha256_of_client_certs(false),
+      quiet_shutdown(false),
+      ocsp_stapling_enabled(false),
+      signed_cert_timestamps_enabled(false),
+      channel_id_enabled(false),
+      grease_enabled(false),
+      allow_unknown_alpn_protos(false),
+      ed25519_enabled(false),
+      rsa_pss_rsae_certs_enabled(true),
+      false_start_allowed_without_alpn(false),
+      handoff(false),
+      enable_early_data(false) {
+  CRYPTO_MUTEX_init(&lock);
+  CRYPTO_new_ex_data(&ex_data);
+}
 
+ssl_ctx_st::~ssl_ctx_st() {
+  // Free the internal session cache. Note that this calls the caller-supplied
+  // remove callback, so we must do it before clearing ex_data. (See ticket
+  // [openssl.org #212].)
+  SSL_CTX_flush_sessions(this, 0);
+
+  CRYPTO_free_ex_data(&g_ex_data_class_ssl_ctx, this, &ex_data);
+
+  CRYPTO_MUTEX_cleanup(&lock);
+  lh_SSL_SESSION_free(sessions);
+  x509_method->ssl_ctx_free(this);
+}
+
+SSL_CTX *SSL_CTX_new(const SSL_METHOD *method) {
   if (method == NULL) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_NULL_SSL_METHOD_PASSED);
-    return NULL;
+    return nullptr;
   }
 
-  ret = (SSL_CTX *)OPENSSL_malloc(sizeof(SSL_CTX));
-  if (ret == NULL) {
-    goto err;
+  UniquePtr<SSL_CTX> ret = MakeUnique<SSL_CTX>(method);
+  if (!ret) {
+    return nullptr;
   }
 
-  OPENSSL_memset(ret, 0, sizeof(SSL_CTX));
-
-  ret->method = method->method;
-  ret->x509_method = method->x509_method;
-
-  CRYPTO_MUTEX_init(&ret->lock);
-
-  ret->session_cache_mode = SSL_SESS_CACHE_SERVER;
-  ret->session_cache_size = SSL_SESSION_CACHE_MAX_SIZE_DEFAULT;
-
-  ret->session_timeout = SSL_DEFAULT_SESSION_TIMEOUT;
-  ret->session_psk_dhe_timeout = SSL_DEFAULT_SESSION_PSK_DHE_TIMEOUT;
-
-  ret->references = 1;
-
-  ret->max_cert_list = SSL_MAX_CERT_LIST_DEFAULT;
-  ret->verify_mode = SSL_VERIFY_NONE;
-  ret->cert = New<CERT>(method->x509_method);
-  if (ret->cert == NULL) {
-    goto err;
-  }
-
+  ret->cert = MakeUnique<CERT>(method->x509_method);
   ret->sessions = lh_SSL_SESSION_new(ssl_session_hash, ssl_session_cmp);
-  if (ret->sessions == NULL) {
-    goto err;
+  ret->client_CA.reset(sk_CRYPTO_BUFFER_new_null());
+  if (ret->cert == nullptr ||
+      ret->sessions == nullptr ||
+      ret->client_CA == nullptr ||
+      !ret->x509_method->ssl_ctx_new(ret.get())) {
+    return nullptr;
   }
 
-  if (!ret->x509_method->ssl_ctx_new(ret)) {
-    goto err;
-  }
-
-  if (!SSL_CTX_set_strict_cipher_list(ret, SSL_DEFAULT_CIPHER_LIST)) {
-    goto err2;
-  }
-
-  ret->client_CA = sk_CRYPTO_BUFFER_new_null();
-  if (ret->client_CA == NULL) {
-    goto err;
-  }
-
-  CRYPTO_new_ex_data(&ret->ex_data);
-
-  ret->max_send_fragment = SSL3_RT_MAX_PLAIN_LENGTH;
-
-  // Disable the auto-chaining feature by default. Once this has stuck without
-  // problems, the feature will be removed entirely.
-  ret->mode = SSL_MODE_NO_AUTO_CHAIN;
-
-  ret->rsa_pss_rsae_certs_enabled = true;
-
-  // Lock the SSL_CTX to the specified version, for compatibility with legacy
-  // uses of SSL_METHOD.
-  if (!SSL_CTX_set_max_proto_version(ret, method->version) ||
-      !SSL_CTX_set_min_proto_version(ret, method->version)) {
+  if (!SSL_CTX_set_strict_cipher_list(ret.get(), SSL_DEFAULT_CIPHER_LIST) ||
+      // Lock the SSL_CTX to the specified version, for compatibility with
+      // legacy uses of SSL_METHOD.
+      !SSL_CTX_set_max_proto_version(ret.get(), method->version) ||
+      !SSL_CTX_set_min_proto_version(ret.get(), method->version)) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-    goto err2;
+    return nullptr;
   }
 
-  return ret;
-
-err:
-  OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
-err2:
-  SSL_CTX_free(ret);
-  return NULL;
+  return ret.release();
 }
 
 int SSL_CTX_up_ref(SSL_CTX *ctx) {
@@ -600,184 +609,118 @@
     return;
   }
 
-  // Free internal session cache. However: the remove_cb() may reference the
-  // ex_data of SSL_CTX, thus the ex_data store can only be removed after the
-  // sessions were flushed. As the ex_data handling routines might also touch
-  // the session cache, the most secure solution seems to be: empty (flush) the
-  // cache, then free ex_data, then finally free the cache. (See ticket
-  // [openssl.org #212].)
-  SSL_CTX_flush_sessions(ctx, 0);
-
-  CRYPTO_free_ex_data(&g_ex_data_class_ssl_ctx, ctx, &ctx->ex_data);
-
-  CRYPTO_MUTEX_cleanup(&ctx->lock);
-  lh_SSL_SESSION_free(ctx->sessions);
-  Delete(ctx->cipher_list);
-  Delete(ctx->cert);
-  sk_SSL_CUSTOM_EXTENSION_pop_free(ctx->client_custom_extensions,
-                                   SSL_CUSTOM_EXTENSION_free);
-  sk_SSL_CUSTOM_EXTENSION_pop_free(ctx->server_custom_extensions,
-                                   SSL_CUSTOM_EXTENSION_free);
-  sk_CRYPTO_BUFFER_pop_free(ctx->client_CA, CRYPTO_BUFFER_free);
-  ctx->x509_method->ssl_ctx_free(ctx);
-  sk_SRTP_PROTECTION_PROFILE_free(ctx->srtp_profiles);
-  OPENSSL_free(ctx->psk_identity_hint);
-  OPENSSL_free(ctx->supported_group_list);
-  OPENSSL_free(ctx->alpn_client_proto_list);
-  EVP_PKEY_free(ctx->tlsext_channel_id_private);
-  OPENSSL_free(ctx->verify_sigalgs);
-  OPENSSL_free(ctx->tlsext_ticket_key_current);
-  OPENSSL_free(ctx->tlsext_ticket_key_prev);
-
+  ctx->~ssl_ctx_st();
   OPENSSL_free(ctx);
 }
 
+ssl_st::ssl_st(SSL_CTX *ctx_arg)
+    : method(ctx_arg->method),
+      max_send_fragment(ctx_arg->max_send_fragment),
+      msg_callback(ctx_arg->msg_callback),
+      msg_callback_arg(ctx_arg->msg_callback_arg),
+      tls13_variant(ctx_arg->tls13_variant),
+      ctx(UpRef(ctx_arg)),
+      session_ctx(UpRef(ctx_arg)),
+      options(ctx->options),
+      mode(ctx->mode),
+      max_cert_list(ctx->max_cert_list),
+      server(false),
+      quiet_shutdown(ctx->quiet_shutdown),
+      did_dummy_pq_padding(false),
+      enable_early_data(ctx->enable_early_data) {
+  CRYPTO_new_ex_data(&ex_data);
+}
+
+ssl_st::~ssl_st() {
+  CRYPTO_free_ex_data(&g_ex_data_class_ssl, this, &ex_data);
+  // |config| refers to |this|, so we must release it earlier.
+  config.reset();
+  if (method != NULL) {
+    method->ssl_free(this);
+  }
+}
+
 SSL *SSL_new(SSL_CTX *ctx) {
-  if (ctx == NULL) {
+  if (ctx == nullptr) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_NULL_SSL_CTX);
-    return NULL;
-  }
-  if (ctx->method == NULL) {
-    OPENSSL_PUT_ERROR(SSL, SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION);
-    return NULL;
+    return nullptr;
   }
 
-  SSL *ssl = (SSL *)OPENSSL_malloc(sizeof(SSL));
-  if (ssl == NULL) {
-    goto err;
-  }
-  OPENSSL_memset(ssl, 0, sizeof(SSL));
-
-  ssl->conf_min_version = ctx->conf_min_version;
-  ssl->conf_max_version = ctx->conf_max_version;
-  ssl->tls13_variant = ctx->tls13_variant;
-
-  // RFC 6347 states that implementations SHOULD use an initial timer value of
-  // 1 second.
-  ssl->initial_timeout_duration_ms = 1000;
-
-  ssl->options = ctx->options;
-  ssl->mode = ctx->mode;
-  ssl->max_cert_list = ctx->max_cert_list;
-
-  ssl->cert = ssl_cert_dup(ctx->cert).release();
-  if (ssl->cert == NULL) {
-    goto err;
+  UniquePtr<SSL> ssl = MakeUnique<SSL>(ctx);
+  if (ssl == nullptr) {
+    return nullptr;
   }
 
-  ssl->msg_callback = ctx->msg_callback;
-  ssl->msg_callback_arg = ctx->msg_callback_arg;
-  ssl->verify_mode = ctx->verify_mode;
-  ssl->verify_callback = ctx->default_verify_callback;
-  ssl->custom_verify_callback = ctx->custom_verify_callback;
-  ssl->retain_only_sha256_of_client_certs =
+  ssl->config = MakeUnique<SSL_CONFIG>(ssl.get());
+  if (ssl->config == nullptr) {
+    return nullptr;
+  }
+  ssl->config->conf_min_version = ctx->conf_min_version;
+  ssl->config->conf_max_version = ctx->conf_max_version;
+
+  ssl->config->cert = ssl_cert_dup(ctx->cert.get());
+  if (ssl->config->cert == nullptr) {
+    return nullptr;
+  }
+
+  ssl->config->verify_mode = ctx->verify_mode;
+  ssl->config->verify_callback = ctx->default_verify_callback;
+  ssl->config->custom_verify_callback = ctx->custom_verify_callback;
+  ssl->config->retain_only_sha256_of_client_certs =
       ctx->retain_only_sha256_of_client_certs;
 
-  ssl->quiet_shutdown = ctx->quiet_shutdown;
-  ssl->max_send_fragment = ctx->max_send_fragment;
-
-  SSL_CTX_up_ref(ctx);
-  ssl->ctx = ctx;
-  SSL_CTX_up_ref(ctx);
-  ssl->session_ctx = ctx;
-
-  if (!ssl->ctx->x509_method->ssl_new(ssl)) {
-    goto err;
+  if (!ssl->config->supported_group_list.CopyFrom(ctx->supported_group_list) ||
+      !ssl->config->alpn_client_proto_list.CopyFrom(
+          ctx->alpn_client_proto_list) ||
+      !ssl->config->verify_sigalgs.CopyFrom(ctx->verify_sigalgs)) {
+    return nullptr;
   }
 
-  if (ctx->supported_group_list) {
-    ssl->supported_group_list = (uint16_t *)BUF_memdup(
-        ctx->supported_group_list, ctx->supported_group_list_len * 2);
-    if (!ssl->supported_group_list) {
-      goto err;
-    }
-    ssl->supported_group_list_len = ctx->supported_group_list_len;
-  }
-
-  if (ctx->alpn_client_proto_list) {
-    ssl->alpn_client_proto_list = (uint8_t *)BUF_memdup(
-        ctx->alpn_client_proto_list, ctx->alpn_client_proto_list_len);
-    if (ssl->alpn_client_proto_list == NULL) {
-      goto err;
-    }
-    ssl->alpn_client_proto_list_len = ctx->alpn_client_proto_list_len;
-  }
-
-  ssl->method = ctx->method;
-
-  if (!ssl->method->ssl_new(ssl)) {
-    goto err;
-  }
-
-  CRYPTO_new_ex_data(&ssl->ex_data);
-
-  ssl->psk_identity_hint = NULL;
   if (ctx->psk_identity_hint) {
-    ssl->psk_identity_hint = BUF_strdup(ctx->psk_identity_hint);
-    if (ssl->psk_identity_hint == NULL) {
-      goto err;
+    ssl->config->psk_identity_hint.reset(
+        BUF_strdup(ctx->psk_identity_hint.get()));
+    if (ssl->config->psk_identity_hint == nullptr) {
+      return nullptr;
     }
   }
-  ssl->psk_client_callback = ctx->psk_client_callback;
-  ssl->psk_server_callback = ctx->psk_server_callback;
+  ssl->config->psk_client_callback = ctx->psk_client_callback;
+  ssl->config->psk_server_callback = ctx->psk_server_callback;
 
-  ssl->tlsext_channel_id_enabled = ctx->tlsext_channel_id_enabled;
-  if (ctx->tlsext_channel_id_private) {
-    EVP_PKEY_up_ref(ctx->tlsext_channel_id_private);
-    ssl->tlsext_channel_id_private = ctx->tlsext_channel_id_private;
+  ssl->config->channel_id_enabled = ctx->channel_id_enabled;
+  ssl->config->channel_id_private = UpRef(ctx->channel_id_private);
+
+  ssl->config->signed_cert_timestamps_enabled =
+      ctx->signed_cert_timestamps_enabled;
+  ssl->config->ocsp_stapling_enabled = ctx->ocsp_stapling_enabled;
+  ssl->config->handoff = ctx->handoff;
+
+  if (!ssl->method->ssl_new(ssl.get()) ||
+      !ssl->ctx->x509_method->ssl_new(ssl->s3->hs.get())) {
+    return nullptr;
   }
 
-  ssl->signed_cert_timestamps_enabled = ctx->signed_cert_timestamps_enabled;
-  ssl->ocsp_stapling_enabled = ctx->ocsp_stapling_enabled;
-  ssl->handoff = ctx->handoff;
+  return ssl.release();
+}
 
-  return ssl;
+SSL_CONFIG::SSL_CONFIG(SSL *ssl_arg)
+    : ssl(ssl_arg),
+      signed_cert_timestamps_enabled(false),
+      ocsp_stapling_enabled(false),
+      channel_id_enabled(false),
+      retain_only_sha256_of_client_certs(false),
+      handoff(false),
+      shed_handshake_config(false) {
+  assert(ssl);
+}
 
-err:
-  SSL_free(ssl);
-  OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
-
-  return NULL;
+SSL_CONFIG::~SSL_CONFIG() {
+  if (ssl->ctx != nullptr) {
+    ssl->ctx->x509_method->ssl_config_free(this);
+  }
 }
 
 void SSL_free(SSL *ssl) {
-  if (ssl == NULL) {
-    return;
-  }
-
-  if (ssl->ctx != NULL) {
-    ssl->ctx->x509_method->ssl_free(ssl);
-  }
-
-  CRYPTO_free_ex_data(&g_ex_data_class_ssl, ssl, &ssl->ex_data);
-
-  BIO_free_all(ssl->rbio);
-  BIO_free_all(ssl->wbio);
-
-  // add extra stuff
-  Delete(ssl->cipher_list);
-
-  SSL_SESSION_free(ssl->session);
-
-  Delete(ssl->cert);
-
-  OPENSSL_free(ssl->tlsext_hostname);
-  SSL_CTX_free(ssl->session_ctx);
-  OPENSSL_free(ssl->supported_group_list);
-  OPENSSL_free(ssl->alpn_client_proto_list);
-  OPENSSL_free(ssl->token_binding_params);
-  OPENSSL_free(ssl->quic_transport_params);
-  EVP_PKEY_free(ssl->tlsext_channel_id_private);
-  OPENSSL_free(ssl->psk_identity_hint);
-  sk_CRYPTO_BUFFER_pop_free(ssl->client_CA, CRYPTO_BUFFER_free);
-  sk_SRTP_PROTECTION_PROFILE_free(ssl->srtp_profiles);
-
-  if (ssl->method != NULL) {
-    ssl->method->ssl_free(ssl);
-  }
-  SSL_CTX_free(ssl->ctx);
-
-  OPENSSL_free(ssl);
+  Delete(ssl);
 }
 
 void SSL_set_connect_state(SSL *ssl) {
@@ -791,13 +734,11 @@
 }
 
 void SSL_set0_rbio(SSL *ssl, BIO *rbio) {
-  BIO_free_all(ssl->rbio);
-  ssl->rbio = rbio;
+  ssl->rbio.reset(rbio);
 }
 
 void SSL_set0_wbio(SSL *ssl, BIO *wbio) {
-  BIO_free_all(ssl->wbio);
-  ssl->wbio = wbio;
+  ssl->wbio.reset(wbio);
 }
 
 void SSL_set_bio(SSL *ssl, BIO *rbio, BIO *wbio) {
@@ -834,9 +775,9 @@
   SSL_set0_wbio(ssl, wbio);
 }
 
-BIO *SSL_get_rbio(const SSL *ssl) { return ssl->rbio; }
+BIO *SSL_get_rbio(const SSL *ssl) { return ssl->rbio.get(); }
 
-BIO *SSL_get_wbio(const SSL *ssl) { return ssl->wbio; }
+BIO *SSL_get_wbio(const SSL *ssl) { return ssl->wbio.get(); }
 
 int SSL_do_handshake(SSL *ssl) {
   ssl_reset_error_state(ssl);
@@ -864,6 +805,7 @@
   // Destroy the handshake object if the handshake has completely finished.
   if (!early_return) {
     ssl->s3->hs.reset();
+    ssl_maybe_shed_handshake_config(ssl);
   }
 
   return 1;
@@ -892,11 +834,12 @@
     return tls13_post_handshake(ssl, msg);
   }
 
-  // We do not accept renegotiations as a server or SSL 3.0. SSL 3.0 will be
-  // removed entirely in the future and requires retaining more data for
-  // renegotiation_info.
-  if (ssl->server || ssl->version == SSL3_VERSION) {
-    goto no_renegotiation;
+  // Check for renegotiation on the server before parsing to use the correct
+  // error. Renegotiation is triggered by a different message for servers.
+  if (ssl->server) {
+    OPENSSL_PUT_ERROR(SSL, SSL_R_NO_RENEGOTIATION);
+    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_NO_RENEGOTIATION);
+    return 0;
   }
 
   if (msg.type != SSL3_MT_HELLO_REQUEST || CBS_len(&msg.body) != 0) {
@@ -905,31 +848,20 @@
     return 0;
   }
 
-  switch (ssl->renegotiate_mode) {
-    case ssl_renegotiate_ignore:
-      // Ignore the HelloRequest.
-      return 1;
-
-    case ssl_renegotiate_once:
-      if (ssl->s3->total_renegotiations != 0) {
-        goto no_renegotiation;
-      }
-      break;
-
-    case ssl_renegotiate_never:
-      goto no_renegotiation;
-
-    case ssl_renegotiate_freely:
-      break;
+  if (ssl->renegotiate_mode == ssl_renegotiate_ignore) {
+    return 1;  // Ignore the HelloRequest.
   }
 
-  // Renegotiation is only supported at quiescent points in the application
-  // protocol, namely in HTTPS, just before reading the HTTP response. Require
-  // the record-layer be idle and avoid complexities of sending a handshake
-  // record while an application_data record is being written.
-  if (!ssl->s3->write_buffer.empty() ||
+  if (!ssl_can_renegotiate(ssl) ||
+      // Renegotiation is only supported at quiescent points in the application
+      // protocol, namely in HTTPS, just before reading the HTTP response.
+      // Require the record-layer be idle and avoid complexities of sending a
+      // handshake record while an application_data record is being written.
+      !ssl->s3->write_buffer.empty() ||
       ssl->s3->write_shutdown != ssl_shutdown_none) {
-    goto no_renegotiation;
+    OPENSSL_PUT_ERROR(SSL, SSL_R_NO_RENEGOTIATION);
+    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_NO_RENEGOTIATION);
+    return 0;
   }
 
   // Begin a new handshake.
@@ -944,11 +876,6 @@
 
   ssl->s3->total_renegotiations++;
   return 1;
-
-no_renegotiation:
-  OPENSSL_PUT_ERROR(SSL, SSL_R_NO_RENEGOTIATION);
-  ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_NO_RENEGOTIATION);
-  return 0;
 }
 
 static int ssl_read_impl(SSL *ssl) {
@@ -1127,13 +1054,11 @@
       }
       ssl->s3->read_shutdown = ssl_shutdown_close_notify;
     } else {
-      // Keep discarding data until we see a close_notify.
-      for (;;) {
-        ssl->s3->pending_app_data = Span<uint8_t>();
-        int ret = ssl_read_impl(ssl);
-        if (ret <= 0) {
-          break;
-        }
+      // Process records until an error, close_notify, or application data.
+      if (ssl_read_impl(ssl) > 0) {
+        // We received some unexpected application data.
+        OPENSSL_PUT_ERROR(SSL, SSL_R_APPLICATION_DATA_ON_SHUTDOWN);
+        return -1;
       }
       if (ssl->s3->read_shutdown != ssl_shutdown_close_notify) {
         return -1;
@@ -1161,12 +1086,8 @@
 
 int SSL_set_quic_transport_params(SSL *ssl, const uint8_t *params,
                                   size_t params_len) {
-  ssl->quic_transport_params = (uint8_t *)BUF_memdup(params, params_len);
-  if (!ssl->quic_transport_params) {
-    return 0;
-  }
-  ssl->quic_transport_params_len = params_len;
-  return 1;
+  return ssl->config && ssl->config->quic_transport_params.CopyFrom(
+                            MakeConstSpan(params, params_len));
 }
 
 void SSL_get_peer_quic_transport_params(const SSL *ssl,
@@ -1177,7 +1098,7 @@
 }
 
 void SSL_CTX_set_early_data_enabled(SSL_CTX *ctx, int enabled) {
-  ctx->cert->enable_early_data = !!enabled;
+  ctx->enable_early_data = !!enabled;
 }
 
 void SSL_CTX_set_tls13_variant(SSL_CTX *ctx, enum tls13_variant_t variant) {
@@ -1189,7 +1110,7 @@
 }
 
 void SSL_set_early_data_enabled(SSL *ssl, int enabled) {
-  ssl->cert->enable_early_data = !!enabled;
+  ssl->enable_early_data = !!enabled;
 }
 
 int SSL_in_early_data(const SSL *ssl) {
@@ -1386,9 +1307,8 @@
   *out_len = 0;
   OPENSSL_memset(out, 0, max_out);
 
-  // tls-unique is not defined for SSL 3.0 or TLS 1.3.
+  // tls-unique is not defined for TLS 1.3.
   if (!ssl->s3->initial_handshake_complete ||
-      ssl_protocol_version(ssl) < TLS1_VERSION ||
       ssl_protocol_version(ssl) >= TLS1_3_VERSION) {
     return 0;
   }
@@ -1431,20 +1351,33 @@
 
 int SSL_CTX_set_session_id_context(SSL_CTX *ctx, const uint8_t *sid_ctx,
                                    size_t sid_ctx_len) {
-  return set_session_id_context(ctx->cert, sid_ctx, sid_ctx_len);
+  return set_session_id_context(ctx->cert.get(), sid_ctx, sid_ctx_len);
 }
 
 int SSL_set_session_id_context(SSL *ssl, const uint8_t *sid_ctx,
                                size_t sid_ctx_len) {
-  return set_session_id_context(ssl->cert, sid_ctx, sid_ctx_len);
+  if (!ssl->config) {
+    return 0;
+  }
+  return set_session_id_context(ssl->config->cert.get(), sid_ctx, sid_ctx_len);
 }
 
 const uint8_t *SSL_get0_session_id_context(const SSL *ssl, size_t *out_len) {
-  *out_len = ssl->cert->sid_ctx_length;
-  return ssl->cert->sid_ctx;
+  if (!ssl->config) {
+    assert(ssl->config);
+    *out_len = 0;
+    return NULL;
+  }
+  *out_len = ssl->config->cert->sid_ctx_length;
+  return ssl->config->cert->sid_ctx;
 }
 
-void SSL_certs_clear(SSL *ssl) { ssl_cert_clear_certs(ssl->cert); }
+void SSL_certs_clear(SSL *ssl) {
+  if (!ssl->config) {
+    return;
+  }
+  ssl_cert_clear_certs(ssl->config->cert.get());
+}
 
 int SSL_get_fd(const SSL *ssl) { return SSL_get_rfd(ssl); }
 
@@ -1527,7 +1460,6 @@
 
 size_t SSL_get_finished(const SSL *ssl, void *buf, size_t count) {
   if (!ssl->s3->initial_handshake_complete ||
-      ssl_protocol_version(ssl) < TLS1_VERSION ||
       ssl_protocol_version(ssl) >= TLS1_3_VERSION) {
     return 0;
   }
@@ -1543,7 +1475,6 @@
 
 size_t SSL_get_peer_finished(const SSL *ssl, void *buf, size_t count) {
   if (!ssl->s3->initial_handshake_complete ||
-      ssl_protocol_version(ssl) < TLS1_VERSION ||
       ssl_protocol_version(ssl) >= TLS1_3_VERSION) {
     return 0;
   }
@@ -1557,7 +1488,13 @@
                        ssl->s3->previous_server_finished_len);
 }
 
-int SSL_get_verify_mode(const SSL *ssl) { return ssl->verify_mode; }
+int SSL_get_verify_mode(const SSL *ssl) {
+  if (!ssl->config) {
+    assert(ssl->config);
+    return -1;
+  }
+  return ssl->config->verify_mode;
+}
 
 int SSL_get_extms_support(const SSL *ssl) {
   // TLS 1.3 does not require extended master secret and always reports as
@@ -1586,22 +1523,25 @@
 
 int SSL_get_read_ahead(const SSL *ssl) { return 0; }
 
-void SSL_CTX_set_read_ahead(SSL_CTX *ctx, int yes) { }
+int SSL_CTX_set_read_ahead(SSL_CTX *ctx, int yes) { return 1; }
 
-void SSL_set_read_ahead(SSL *ssl, int yes) { }
+int SSL_set_read_ahead(SSL *ssl, int yes) { return 1; }
 
 int SSL_pending(const SSL *ssl) {
   return static_cast<int>(ssl->s3->pending_app_data.size());
 }
 
-// Fix this so it checks all the valid key/cert options
 int SSL_CTX_check_private_key(const SSL_CTX *ctx) {
-  return ssl_cert_check_private_key(ctx->cert, ctx->cert->privatekey.get());
+  return ssl_cert_check_private_key(ctx->cert.get(),
+                                    ctx->cert->privatekey.get());
 }
 
-// Fix this function so that it takes an optional type parameter
 int SSL_check_private_key(const SSL *ssl) {
-  return ssl_cert_check_private_key(ssl->cert, ssl->cert->privatekey.get());
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl_cert_check_private_key(ssl->config->cert.get(),
+                                    ssl->config->cert->privatekey.get());
 }
 
 long SSL_get_default_timeout(const SSL *ssl) {
@@ -1727,9 +1667,9 @@
 
   uint8_t *out_bytes = reinterpret_cast<uint8_t *>(out);
   MutexReadLock lock(&ctx->lock);
-  OPENSSL_memcpy(out_bytes, ctx->tlsext_ticket_key_current->name, 16);
-  OPENSSL_memcpy(out_bytes + 16, ctx->tlsext_ticket_key_current->hmac_key, 16);
-  OPENSSL_memcpy(out_bytes + 32, ctx->tlsext_ticket_key_current->aes_key, 16);
+  OPENSSL_memcpy(out_bytes, ctx->ticket_key_current->name, 16);
+  OPENSSL_memcpy(out_bytes + 16, ctx->ticket_key_current->hmac_key, 16);
+  OPENSSL_memcpy(out_bytes + 32, ctx->ticket_key_current->aes_key, 16);
   return 1;
 }
 
@@ -1741,22 +1681,19 @@
     OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_TICKET_KEYS_LENGTH);
     return 0;
   }
-  if (!ctx->tlsext_ticket_key_current) {
-    ctx->tlsext_ticket_key_current =
-        (tlsext_ticket_key *)OPENSSL_malloc(sizeof(tlsext_ticket_key));
-    if (!ctx->tlsext_ticket_key_current) {
-      return 0;
-    }
+  auto key = MakeUnique<TicketKey>();
+  if (!key) {
+    return 0;
   }
-  OPENSSL_memset(ctx->tlsext_ticket_key_current, 0, sizeof(tlsext_ticket_key));
   const uint8_t *in_bytes = reinterpret_cast<const uint8_t *>(in);
-  OPENSSL_memcpy(ctx->tlsext_ticket_key_current->name, in_bytes, 16);
-  OPENSSL_memcpy(ctx->tlsext_ticket_key_current->hmac_key, in_bytes + 16, 16);
-  OPENSSL_memcpy(ctx->tlsext_ticket_key_current->aes_key, in_bytes + 32, 16);
-  OPENSSL_free(ctx->tlsext_ticket_key_prev);
-  ctx->tlsext_ticket_key_prev = nullptr;
-  // Disable automatic key rotation.
-  ctx->tlsext_ticket_key_current->next_rotation_tv_sec = 0;
+  OPENSSL_memcpy(key->name, in_bytes, 16);
+  OPENSSL_memcpy(key->hmac_key, in_bytes + 16, 16);
+  OPENSSL_memcpy(key->aes_key, in_bytes + 32, 16);
+  // Disable automatic key rotation for manually-configured keys. This is now
+  // the caller's responsibility.
+  key->next_rotation_tv_sec = 0;
+  ctx->ticket_key_current = std::move(key);
+  ctx->ticket_key_prev.reset();
   return 1;
 }
 
@@ -1764,30 +1701,32 @@
     SSL_CTX *ctx, int (*callback)(SSL *ssl, uint8_t *key_name, uint8_t *iv,
                                   EVP_CIPHER_CTX *ctx, HMAC_CTX *hmac_ctx,
                                   int encrypt)) {
-  ctx->tlsext_ticket_key_cb = callback;
+  ctx->ticket_key_cb = callback;
   return 1;
 }
 
 int SSL_CTX_set1_curves(SSL_CTX *ctx, const int *curves, size_t curves_len) {
   return tls1_set_curves(&ctx->supported_group_list,
-                         &ctx->supported_group_list_len, curves,
-                         curves_len);
+                         MakeConstSpan(curves, curves_len));
 }
 
 int SSL_set1_curves(SSL *ssl, const int *curves, size_t curves_len) {
-  return tls1_set_curves(&ssl->supported_group_list,
-                         &ssl->supported_group_list_len, curves,
-                         curves_len);
+  if (!ssl->config) {
+    return 0;
+  }
+  return tls1_set_curves(&ssl->config->supported_group_list,
+                         MakeConstSpan(curves, curves_len));
 }
 
 int SSL_CTX_set1_curves_list(SSL_CTX *ctx, const char *curves) {
-  return tls1_set_curves_list(&ctx->supported_group_list,
-                              &ctx->supported_group_list_len, curves);
+  return tls1_set_curves_list(&ctx->supported_group_list, curves);
 }
 
 int SSL_set1_curves_list(SSL *ssl, const char *curves) {
-  return tls1_set_curves_list(&ssl->supported_group_list,
-                              &ssl->supported_group_list_len, curves);
+  if (!ssl->config) {
+    return 0;
+  }
+  return tls1_set_curves_list(&ssl->config->supported_group_list, curves);
 }
 
 uint16_t SSL_get_curve_id(const SSL *ssl) {
@@ -1824,9 +1763,13 @@
   if (ssl == NULL) {
     return NULL;
   }
+  if (ssl->config == NULL) {
+    assert(ssl->config);
+    return NULL;
+  }
 
-  const SSLCipherPreferenceList *prefs = ssl_get_cipher_preferences(ssl);
-  return prefs == nullptr ? nullptr : prefs->ciphers.get();
+  return ssl->config->cipher_list ? ssl->config->cipher_list->ciphers.get()
+      : ssl->ctx->cipher_list->ciphers.get();
 }
 
 const char *SSL_get_cipher_list(const SSL *ssl, int n) {
@@ -1856,11 +1799,19 @@
 }
 
 int SSL_set_cipher_list(SSL *ssl, const char *str) {
-  return ssl_create_cipher_list(&ssl->cipher_list, str, false /* not strict */);
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl_create_cipher_list(&ssl->config->cipher_list, str,
+                                false /* not strict */);
 }
 
 int SSL_set_strict_cipher_list(SSL *ssl, const char *str) {
-  return ssl_create_cipher_list(&ssl->cipher_list, str, true /* strict */);
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl_create_cipher_list(&ssl->config->cipher_list, str,
+                                true /* strict */);
 }
 
 const char *SSL_get_servername(const SSL *ssl, const int type) {
@@ -1870,8 +1821,8 @@
 
   // Historically, |SSL_get_servername| was also the configuration getter
   // corresponding to |SSL_set_tlsext_host_name|.
-  if (ssl->tlsext_hostname != NULL) {
-    return ssl->tlsext_hostname;
+  if (ssl->hostname != nullptr) {
+    return ssl->hostname.get();
   }
 
   return ssl->s3->hostname.get();
@@ -1894,8 +1845,11 @@
 void SSL_set_custom_verify(
     SSL *ssl, int mode,
     enum ssl_verify_result_t (*callback)(SSL *ssl, uint8_t *out_alert)) {
-  ssl->verify_mode = mode;
-  ssl->custom_verify_callback = callback;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->verify_mode = mode;
+  ssl->config->custom_verify_callback = callback;
 }
 
 void SSL_CTX_enable_signed_cert_timestamps(SSL_CTX *ctx) {
@@ -1903,7 +1857,10 @@
 }
 
 void SSL_enable_signed_cert_timestamps(SSL *ssl) {
-  ssl->signed_cert_timestamps_enabled = true;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->signed_cert_timestamps_enabled = true;
 }
 
 void SSL_CTX_enable_ocsp_stapling(SSL_CTX *ctx) {
@@ -1911,7 +1868,10 @@
 }
 
 void SSL_enable_ocsp_stapling(SSL *ssl) {
-  ssl->ocsp_stapling_enabled = true;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->ocsp_stapling_enabled = true;
 }
 
 void SSL_get0_signed_cert_timestamp_list(const SSL *ssl, const uint8_t **out,
@@ -1923,8 +1883,8 @@
     return;
   }
 
-  *out = CRYPTO_BUFFER_data(session->signed_cert_timestamp_list);
-  *out_len = CRYPTO_BUFFER_len(session->signed_cert_timestamp_list);
+  *out = CRYPTO_BUFFER_data(session->signed_cert_timestamp_list.get());
+  *out_len = CRYPTO_BUFFER_len(session->signed_cert_timestamp_list.get());
 }
 
 void SSL_get0_ocsp_response(const SSL *ssl, const uint8_t **out,
@@ -1936,15 +1896,13 @@
     return;
   }
 
-  *out = CRYPTO_BUFFER_data(session->ocsp_response);
-  *out_len = CRYPTO_BUFFER_len(session->ocsp_response);
+  *out = CRYPTO_BUFFER_data(session->ocsp_response.get());
+  *out_len = CRYPTO_BUFFER_len(session->ocsp_response.get());
 }
 
 int SSL_set_tlsext_host_name(SSL *ssl, const char *name) {
-  OPENSSL_free(ssl->tlsext_hostname);
-  ssl->tlsext_hostname = NULL;
-
-  if (name == NULL) {
+  ssl->hostname.reset();
+  if (name == nullptr) {
     return 1;
   }
 
@@ -1953,8 +1911,8 @@
     OPENSSL_PUT_ERROR(SSL, SSL_R_SSL3_EXT_INVALID_SERVERNAME);
     return 0;
   }
-  ssl->tlsext_hostname = BUF_strdup(name);
-  if (ssl->tlsext_hostname == NULL) {
+  ssl->hostname.reset(BUF_strdup(name));
+  if (ssl->hostname == nullptr) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
     return 0;
   }
@@ -1963,12 +1921,12 @@
 
 int SSL_CTX_set_tlsext_servername_callback(
     SSL_CTX *ctx, int (*callback)(SSL *ssl, int *out_alert, void *arg)) {
-  ctx->tlsext_servername_callback = callback;
+  ctx->servername_callback = callback;
   return 1;
 }
 
 int SSL_CTX_set_tlsext_servername_arg(SSL_CTX *ctx, void *arg) {
-  ctx->tlsext_servername_arg = arg;
+  ctx->servername_arg = arg;
   return 1;
 }
 
@@ -2029,25 +1987,21 @@
 
 int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const uint8_t *protos,
                             unsigned protos_len) {
-  OPENSSL_free(ctx->alpn_client_proto_list);
-  ctx->alpn_client_proto_list = (uint8_t *)BUF_memdup(protos, protos_len);
-  if (!ctx->alpn_client_proto_list) {
-    return 1;
-  }
-  ctx->alpn_client_proto_list_len = protos_len;
-
-  return 0;
+  // Note this function's calling convention is backwards.
+  return ctx->alpn_client_proto_list.CopyFrom(MakeConstSpan(protos, protos_len))
+             ? 0
+             : 1;
 }
 
 int SSL_set_alpn_protos(SSL *ssl, const uint8_t *protos, unsigned protos_len) {
-  OPENSSL_free(ssl->alpn_client_proto_list);
-  ssl->alpn_client_proto_list = (uint8_t *)BUF_memdup(protos, protos_len);
-  if (!ssl->alpn_client_proto_list) {
+  // Note this function's calling convention is backwards.
+  if (!ssl->config) {
     return 1;
   }
-  ssl->alpn_client_proto_list_len = protos_len;
-
-  return 0;
+  return ssl->config->alpn_client_proto_list.CopyFrom(
+             MakeConstSpan(protos, protos_len))
+             ? 0
+             : 1;
 }
 
 void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx,
@@ -2062,8 +2016,8 @@
 void SSL_get0_alpn_selected(const SSL *ssl, const uint8_t **out_data,
                             unsigned *out_len) {
   if (SSL_in_early_data(ssl) && !ssl->server) {
-    *out_data = ssl->s3->hs->early_session->early_alpn;
-    *out_len = ssl->s3->hs->early_session->early_alpn_len;
+    *out_data = ssl->s3->hs->early_session->early_alpn.data();
+    *out_len = ssl->s3->hs->early_session->early_alpn.size();
   } else {
     *out_data = ssl->s3->alpn_selected.data();
     *out_len = ssl->s3->alpn_selected.size();
@@ -2074,8 +2028,45 @@
   ctx->allow_unknown_alpn_protos = !!enabled;
 }
 
+int SSL_CTX_add_cert_compression_alg(SSL_CTX *ctx, uint16_t alg_id,
+                                     ssl_cert_compression_func_t compress,
+                                     ssl_cert_decompression_func_t decompress) {
+  assert(compress != nullptr || decompress != nullptr);
+
+  for (const auto *alg : ctx->cert_compression_algs.get()) {
+    if (alg->alg_id == alg_id) {
+      return 0;
+    }
+  }
+
+  UniquePtr<CertCompressionAlg> alg = MakeUnique<CertCompressionAlg>();
+  if (alg == nullptr) {
+    return 0;
+  }
+
+  alg->alg_id = alg_id;
+  alg->compress = compress;
+  alg->decompress = decompress;
+
+  if (ctx->cert_compression_algs == nullptr) {
+    ctx->cert_compression_algs.reset(sk_CertCompressionAlg_new_null());
+    if (ctx->cert_compression_algs == nullptr) {
+      return 0;
+    }
+  }
+
+  if (!PushToStack(ctx->cert_compression_algs.get(), std::move(alg))) {
+    if (sk_CertCompressionAlg_num(ctx->cert_compression_algs.get()) == 0) {
+      ctx->cert_compression_algs.reset();
+    }
+    return 0;
+  }
+
+  return 1;
+}
+
 void SSL_CTX_set_tls_channel_id_enabled(SSL_CTX *ctx, int enabled) {
-  ctx->tlsext_channel_id_enabled = !!enabled;
+  ctx->channel_id_enabled = !!enabled;
 }
 
 int SSL_CTX_enable_tls_channel_id(SSL_CTX *ctx) {
@@ -2084,7 +2075,10 @@
 }
 
 void SSL_set_tls_channel_id_enabled(SSL *ssl, int enabled) {
-  ssl->tlsext_channel_id_enabled = !!enabled;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->channel_id_enabled = !!enabled;
 }
 
 int SSL_enable_tls_channel_id(SSL *ssl) {
@@ -2105,49 +2099,44 @@
     return 0;
   }
 
-  EVP_PKEY_free(ctx->tlsext_channel_id_private);
-  EVP_PKEY_up_ref(private_key);
-  ctx->tlsext_channel_id_private = private_key;
-  ctx->tlsext_channel_id_enabled = true;
+  ctx->channel_id_private = UpRef(private_key);
+  ctx->channel_id_enabled = true;
 
   return 1;
 }
 
 int SSL_set1_tls_channel_id(SSL *ssl, EVP_PKEY *private_key) {
+  if (!ssl->config) {
+    return 0;
+  }
   if (!is_p256_key(private_key)) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_CHANNEL_ID_NOT_P256);
     return 0;
   }
 
-  EVP_PKEY_free(ssl->tlsext_channel_id_private);
-  EVP_PKEY_up_ref(private_key);
-  ssl->tlsext_channel_id_private = private_key;
-  ssl->tlsext_channel_id_enabled = true;
+  ssl->config->channel_id_private = UpRef(private_key);
+  ssl->config->channel_id_enabled = true;
 
   return 1;
 }
 
 size_t SSL_get_tls_channel_id(SSL *ssl, uint8_t *out, size_t max_out) {
-  if (!ssl->s3->tlsext_channel_id_valid) {
+  if (!ssl->s3->channel_id_valid) {
     return 0;
   }
-  OPENSSL_memcpy(out, ssl->s3->tlsext_channel_id,
-                 (max_out < 64) ? max_out : 64);
+  OPENSSL_memcpy(out, ssl->s3->channel_id, (max_out < 64) ? max_out : 64);
   return 64;
 }
 
 int SSL_set_token_binding_params(SSL *ssl, const uint8_t *params, size_t len) {
+  if (!ssl->config) {
+    return 0;
+  }
   if (len > 256) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_OVERFLOW);
     return 0;
   }
-  OPENSSL_free(ssl->token_binding_params);
-  ssl->token_binding_params = (uint8_t *)BUF_memdup(params, len);
-  if (!ssl->token_binding_params) {
-    return 0;
-  }
-  ssl->token_binding_params_len = len;
-  return 1;
+  return ssl->config->token_binding_params.CopyFrom(MakeConstSpan(params, len));
 }
 
 int SSL_is_token_binding_negotiated(const SSL *ssl) {
@@ -2158,18 +2147,32 @@
   return ssl->s3->negotiated_token_binding_param;
 }
 
-size_t SSL_get0_certificate_types(SSL *ssl, const uint8_t **out_types) {
-  if (ssl->server || ssl->s3->hs == NULL) {
-    *out_types = NULL;
-    return 0;
+size_t SSL_get0_certificate_types(const SSL *ssl, const uint8_t **out_types) {
+  Span<const uint8_t> types;
+  if (!ssl->server && ssl->s3->hs != nullptr) {
+    types = ssl->s3->hs->certificate_types;
   }
-  *out_types = ssl->s3->hs->certificate_types.data();
-  return ssl->s3->hs->certificate_types.size();
+  *out_types = types.data();
+  return types.size();
+}
+
+size_t SSL_get0_peer_verify_algorithms(const SSL *ssl,
+                                       const uint16_t **out_sigalgs) {
+  Span<const uint16_t> sigalgs;
+  if (ssl->s3->hs != nullptr) {
+    sigalgs = ssl->s3->hs->peer_sigalgs;
+  }
+  *out_sigalgs = sigalgs.data();
+  return sigalgs.size();
 }
 
 EVP_PKEY *SSL_get_privatekey(const SSL *ssl) {
-  if (ssl->cert != NULL) {
-    return ssl->cert->privatekey.get();
+  if (!ssl->config) {
+    assert(ssl->config);
+    return NULL;
+  }
+  if (ssl->config->cert != NULL) {
+    return ssl->config->cert->privatekey.get();
   }
 
   return NULL;
@@ -2195,7 +2198,7 @@
 
 const COMP_METHOD *SSL_get_current_expansion(SSL *ssl) { return NULL; }
 
-int *SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **out_key) { return 0; }
+int SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **out_key) { return 0; }
 
 void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx, int mode) {
   ctx->quiet_shutdown = (mode != 0);
@@ -2241,11 +2244,14 @@
   return ret;
 }
 
-SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl) { return ssl->ctx; }
+SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl) { return ssl->ctx.get(); }
 
 SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX *ctx) {
-  if (ssl->ctx == ctx) {
-    return ssl->ctx;
+  if (!ssl->config) {
+    return NULL;
+  }
+  if (ssl->ctx.get() == ctx) {
+    return ssl->ctx.get();
   }
 
   // One cannot change the X.509 callbacks during a connection.
@@ -2255,17 +2261,19 @@
   }
 
   if (ctx == NULL) {
-    ctx = ssl->session_ctx;
+    ctx = ssl->session_ctx.get();
   }
 
-  Delete(ssl->cert);
-  ssl->cert = ssl_cert_dup(ctx->cert).release();
+  UniquePtr<CERT> new_cert = ssl_cert_dup(ctx->cert.get());
+  if (!new_cert) {
+    return nullptr;
+  }
 
-  SSL_CTX_up_ref(ctx);
-  SSL_CTX_free(ssl->ctx);
-  ssl->ctx = ctx;
+  ssl->config->cert = std::move(new_cert);
+  ssl->ctx = UpRef(ctx);
+  ssl->enable_early_data = ssl->ctx->enable_early_data;
 
-  return ssl->ctx;
+  return ssl->ctx.get();
 }
 
 void SSL_set_info_callback(SSL *ssl,
@@ -2345,23 +2353,23 @@
 void SSL_set_tmp_dh_callback(SSL *ssl, DH *(*cb)(SSL *ssl, int is_export,
                                                  int keylength)) {}
 
-static int use_psk_identity_hint(char **out, const char *identity_hint) {
+static int use_psk_identity_hint(UniquePtr<char> *out,
+                                 const char *identity_hint) {
   if (identity_hint != NULL && strlen(identity_hint) > PSK_MAX_IDENTITY_LEN) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_DATA_LENGTH_TOO_LONG);
     return 0;
   }
 
   // Clear currently configured hint, if any.
-  OPENSSL_free(*out);
-  *out = NULL;
+  out->reset();
 
   // Treat the empty hint as not supplying one. Plain PSK makes it possible to
   // send either no hint (omit ServerKeyExchange) or an empty hint, while
   // ECDHE_PSK can only spell empty hint. Having different capabilities is odd,
   // so we interpret empty and missing as identical.
   if (identity_hint != NULL && identity_hint[0] != '\0') {
-    *out = BUF_strdup(identity_hint);
-    if (*out == NULL) {
+    out->reset(BUF_strdup(identity_hint));
+    if (*out == nullptr) {
       return 0;
     }
   }
@@ -2374,14 +2382,21 @@
 }
 
 int SSL_use_psk_identity_hint(SSL *ssl, const char *identity_hint) {
-  return use_psk_identity_hint(&ssl->psk_identity_hint, identity_hint);
+  if (!ssl->config) {
+    return 0;
+  }
+  return use_psk_identity_hint(&ssl->config->psk_identity_hint, identity_hint);
 }
 
 const char *SSL_get_psk_identity_hint(const SSL *ssl) {
   if (ssl == NULL) {
     return NULL;
   }
-  return ssl->psk_identity_hint;
+  if (ssl->config == NULL) {
+    assert(ssl->config);
+    return NULL;
+  }
+  return ssl->config->psk_identity_hint.get();
 }
 
 const char *SSL_get_psk_identity(const SSL *ssl) {
@@ -2392,14 +2407,17 @@
   if (session == NULL) {
     return NULL;
   }
-  return session->psk_identity;
+  return session->psk_identity.get();
 }
 
 void SSL_set_psk_client_callback(
     SSL *ssl, unsigned (*cb)(SSL *ssl, const char *hint, char *identity,
                              unsigned max_identity_len, uint8_t *psk,
                              unsigned max_psk_len)) {
-  ssl->psk_client_callback = cb;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->psk_client_callback = cb;
 }
 
 void SSL_CTX_set_psk_client_callback(
@@ -2412,7 +2430,10 @@
 void SSL_set_psk_server_callback(
     SSL *ssl, unsigned (*cb)(SSL *ssl, const char *identity, uint8_t *psk,
                              unsigned max_psk_len)) {
-  ssl->psk_server_callback = cb;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->psk_server_callback = cb;
 }
 
 void SSL_CTX_set_psk_server_callback(
@@ -2422,11 +2443,14 @@
 }
 
 int SSL_set_dummy_pq_padding_size(SSL *ssl, size_t num_bytes) {
+  if (!ssl->config) {
+    return 0;
+  }
   if (num_bytes > 0xffff) {
     return 0;
   }
 
-  ssl->dummy_pq_padding_len = num_bytes;
+  ssl->config->dummy_pq_padding_len = num_bytes;
   return 1;
 }
 
@@ -2523,6 +2547,11 @@
 
 void SSL_set_renegotiate_mode(SSL *ssl, enum ssl_renegotiate_mode_t mode) {
   ssl->renegotiate_mode = mode;
+
+  // Check if |ssl_can_renegotiate| has changed and the configuration may now be
+  // shed. HTTP clients may initially allow renegotiation for HTTP/1.1, and then
+  // disable after the handshake once the ALPN protocol is known to be HTTP/2.
+  ssl_maybe_shed_handshake_config(ssl);
 }
 
 int SSL_get_ivs(const SSL *ssl, const uint8_t **out_read_iv,
@@ -2605,7 +2634,10 @@
 }
 
 void SSL_set_retain_only_sha256_of_client_certs(SSL *ssl, int enabled) {
-  ssl->retain_only_sha256_of_client_certs = !!enabled;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->retain_only_sha256_of_client_certs = !!enabled;
 }
 
 void SSL_CTX_set_retain_only_sha256_of_client_certs(SSL_CTX *ctx, int enabled) {
@@ -2626,14 +2658,24 @@
 
 int SSL_is_draft_downgrade(const SSL *ssl) { return ssl->s3->draft_downgrade; }
 
+void SSL_set_shed_handshake_config(SSL *ssl, int enable) {
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->shed_handshake_config = !!enable;
+}
+
 int SSL_clear(SSL *ssl) {
+  if (!ssl->config) {
+    return 0;  // SSL_clear may not be used after shedding config.
+  }
+
   // In OpenSSL, reusing a client |SSL| with |SSL_clear| causes the previously
   // established session to be offered the next time around. wpa_supplicant
   // depends on this behavior, so emulate it.
   UniquePtr<SSL_SESSION> session;
   if (!ssl->server && ssl->s3->established_session != NULL) {
-    session.reset(ssl->s3->established_session.get());
-    SSL_SESSION_up_ref(session.get());
+    session = UpRef(ssl->s3->established_session);
   }
 
   // The ssl->d1->mtu is simultaneously configuration (preserved across
@@ -2707,3 +2749,36 @@
                                     const SSL_TICKET_AEAD_METHOD *aead_method) {
   ctx->ticket_aead_method = aead_method;
 }
+
+int SSL_set_tlsext_status_type(SSL *ssl, int type) {
+  if (!ssl->config) {
+    return 0;
+  }
+  ssl->config->ocsp_stapling_enabled = type == TLSEXT_STATUSTYPE_ocsp;
+  return 1;
+}
+
+int SSL_set_tlsext_status_ocsp_resp(SSL *ssl, uint8_t *resp, size_t resp_len) {
+  if (SSL_set_ocsp_response(ssl, resp, resp_len)) {
+    OPENSSL_free(resp);
+    return 1;
+  }
+  return 0;
+}
+
+size_t SSL_get_tlsext_status_ocsp_resp(const SSL *ssl, const uint8_t **out) {
+  size_t ret;
+  SSL_get0_ocsp_response(ssl, out, &ret);
+  return ret;
+}
+
+int SSL_CTX_set_tlsext_status_cb(SSL_CTX *ctx,
+                                 int (*callback)(SSL *ssl, void *arg)) {
+  ctx->legacy_ocsp_callback = callback;
+  return 1;
+}
+
+int SSL_CTX_set_tlsext_status_arg(SSL_CTX *ctx, void *arg) {
+  ctx->legacy_ocsp_callback_arg = arg;
+  return 1;
+}
diff --git a/src/ssl/ssl_privkey.cc b/src/ssl/ssl_privkey.cc
index bba03b7..fecac39 100644
--- a/src/ssl/ssl_privkey.cc
+++ b/src/ssl/ssl_privkey.cc
@@ -89,9 +89,7 @@
     return 0;
   }
 
-  EVP_PKEY_up_ref(pkey);
-  cert->privatekey.reset(pkey);
-
+  cert->privatekey = UpRef(pkey);
   return 1;
 }
 
@@ -134,8 +132,8 @@
   return NULL;
 }
 
-int ssl_has_private_key(const SSL *ssl) {
-  return ssl->cert->privatekey != nullptr || ssl->cert->key_method != nullptr;
+int ssl_has_private_key(const SSL_CONFIG *cfg) {
+  return cfg->cert->privatekey != nullptr || cfg->cert->key_method != nullptr;
 }
 
 static int pkey_supports_algorithm(const SSL *ssl, EVP_PKEY *pkey,
@@ -196,13 +194,13 @@
     SSL_HANDSHAKE *hs, uint8_t *out, size_t *out_len, size_t max_out,
     uint16_t sigalg, Span<const uint8_t> in) {
   SSL *const ssl = hs->ssl;
-  if (ssl->cert->key_method != NULL) {
+  if (hs->config->cert->key_method != NULL) {
     enum ssl_private_key_result_t ret;
     if (hs->pending_private_key_op) {
-      ret = ssl->cert->key_method->complete(ssl, out, out_len, max_out);
+      ret = hs->config->cert->key_method->complete(ssl, out, out_len, max_out);
     } else {
-      ret = ssl->cert->key_method->sign(ssl, out, out_len, max_out, sigalg,
-                                        in.data(), in.size());
+      ret = hs->config->cert->key_method->sign(ssl, out, out_len, max_out,
+                                               sigalg, in.data(), in.size());
     }
     if (ret == ssl_private_key_failure) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_PRIVATE_KEY_OPERATION_FAILED);
@@ -213,7 +211,7 @@
 
   *out_len = max_out;
   ScopedEVP_MD_CTX ctx;
-  if (!setup_ctx(ssl, ctx.get(), ssl->cert->privatekey.get(), sigalg,
+  if (!setup_ctx(ssl, ctx.get(), hs->config->cert->privatekey.get(), sigalg,
                  0 /* sign */) ||
       !EVP_DigestSign(ctx.get(), out, out_len, in.data(), in.size())) {
     return ssl_private_key_failure;
@@ -236,13 +234,13 @@
                                                       size_t max_out,
                                                       Span<const uint8_t> in) {
   SSL *const ssl = hs->ssl;
-  if (ssl->cert->key_method != NULL) {
+  if (hs->config->cert->key_method != NULL) {
     enum ssl_private_key_result_t ret;
     if (hs->pending_private_key_op) {
-      ret = ssl->cert->key_method->complete(ssl, out, out_len, max_out);
+      ret = hs->config->cert->key_method->complete(ssl, out, out_len, max_out);
     } else {
-      ret = ssl->cert->key_method->decrypt(ssl, out, out_len, max_out,
-                                           in.data(), in.size());
+      ret = hs->config->cert->key_method->decrypt(ssl, out, out_len, max_out,
+                                                  in.data(), in.size());
     }
     if (ret == ssl_private_key_failure) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_PRIVATE_KEY_OPERATION_FAILED);
@@ -251,7 +249,7 @@
     return ret;
   }
 
-  RSA *rsa = EVP_PKEY_get0_RSA(ssl->cert->privatekey.get());
+  RSA *rsa = EVP_PKEY_get0_RSA(hs->config->cert->privatekey.get());
   if (rsa == NULL) {
     // Decrypt operations are only supported for RSA keys.
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
@@ -294,7 +292,7 @@
 using namespace bssl;
 
 int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa) {
-  if (rsa == NULL) {
+  if (rsa == NULL || ssl->config == NULL) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_PASSED_NULL_PARAMETER);
     return 0;
   }
@@ -306,7 +304,7 @@
     return 0;
   }
 
-  return ssl_set_pkey(ssl->cert, pkey.get());
+  return ssl_set_pkey(ssl->config->cert.get(), pkey.get());
 }
 
 int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, const uint8_t *der, size_t der_len) {
@@ -320,12 +318,12 @@
 }
 
 int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey) {
-  if (pkey == NULL) {
+  if (pkey == NULL || ssl->config == NULL) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_PASSED_NULL_PARAMETER);
     return 0;
   }
 
-  return ssl_set_pkey(ssl->cert, pkey);
+  return ssl_set_pkey(ssl->config->cert.get(), pkey);
 }
 
 int SSL_use_PrivateKey_ASN1(int type, SSL *ssl, const uint8_t *der,
@@ -358,7 +356,7 @@
     return 0;
   }
 
-  return ssl_set_pkey(ctx->cert, pkey.get());
+  return ssl_set_pkey(ctx->cert.get(), pkey.get());
 }
 
 int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const uint8_t *der,
@@ -378,7 +376,7 @@
     return 0;
   }
 
-  return ssl_set_pkey(ctx->cert, pkey);
+  return ssl_set_pkey(ctx->cert.get(), pkey);
 }
 
 int SSL_CTX_use_PrivateKey_ASN1(int type, SSL_CTX *ctx, const uint8_t *der,
@@ -400,7 +398,10 @@
 
 void SSL_set_private_key_method(SSL *ssl,
                                 const SSL_PRIVATE_KEY_METHOD *key_method) {
-  ssl->cert->key_method = key_method;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->cert->key_method = key_method;
 }
 
 void SSL_CTX_set_private_key_method(SSL_CTX *ctx,
@@ -408,38 +409,49 @@
   ctx->cert->key_method = key_method;
 }
 
+static constexpr size_t kMaxSignatureAlgorithmNameLen = 23;
+
+// This was "constexpr" rather than "const", but that triggered a bug in MSVC
+// where it didn't pad the strings to the correct length.
+static const struct {
+  uint16_t signature_algorithm;
+  const char name[kMaxSignatureAlgorithmNameLen];
+} kSignatureAlgorithmNames[] = {
+    {SSL_SIGN_RSA_PKCS1_MD5_SHA1, "rsa_pkcs1_md5_sha1"},
+    {SSL_SIGN_RSA_PKCS1_SHA1, "rsa_pkcs1_sha1"},
+    {SSL_SIGN_RSA_PKCS1_SHA256, "rsa_pkcs1_sha256"},
+    {SSL_SIGN_RSA_PKCS1_SHA384, "rsa_pkcs1_sha384"},
+    {SSL_SIGN_RSA_PKCS1_SHA512, "rsa_pkcs1_sha512"},
+    {SSL_SIGN_ECDSA_SHA1, "ecdsa_sha1"},
+    {SSL_SIGN_ECDSA_SECP256R1_SHA256, "ecdsa_secp256r1_sha256"},
+    {SSL_SIGN_ECDSA_SECP384R1_SHA384, "ecdsa_secp384r1_sha384"},
+    {SSL_SIGN_ECDSA_SECP521R1_SHA512, "ecdsa_secp521r1_sha512"},
+    {SSL_SIGN_RSA_PSS_RSAE_SHA256, "rsa_pss_rsae_sha256"},
+    {SSL_SIGN_RSA_PSS_RSAE_SHA384, "rsa_pss_rsae_sha384"},
+    {SSL_SIGN_RSA_PSS_RSAE_SHA512, "rsa_pss_rsae_sha512"},
+    {SSL_SIGN_ED25519, "ed25519"},
+};
+
 const char *SSL_get_signature_algorithm_name(uint16_t sigalg,
                                              int include_curve) {
-  switch (sigalg) {
-    case SSL_SIGN_RSA_PKCS1_MD5_SHA1:
-      return "rsa_pkcs1_md5_sha1";
-    case SSL_SIGN_RSA_PKCS1_SHA1:
-      return "rsa_pkcs1_sha1";
-    case SSL_SIGN_RSA_PKCS1_SHA256:
-      return "rsa_pkcs1_sha256";
-    case SSL_SIGN_RSA_PKCS1_SHA384:
-      return "rsa_pkcs1_sha384";
-    case SSL_SIGN_RSA_PKCS1_SHA512:
-      return "rsa_pkcs1_sha512";
-    case SSL_SIGN_ECDSA_SHA1:
-      return "ecdsa_sha1";
-    case SSL_SIGN_ECDSA_SECP256R1_SHA256:
-      return include_curve ? "ecdsa_secp256r1_sha256" : "ecdsa_sha256";
-    case SSL_SIGN_ECDSA_SECP384R1_SHA384:
-      return include_curve ? "ecdsa_secp384r1_sha384" : "ecdsa_sha384";
-    case SSL_SIGN_ECDSA_SECP521R1_SHA512:
-      return include_curve ? "ecdsa_secp521r1_sha512" : "ecdsa_sha512";
-    case SSL_SIGN_RSA_PSS_RSAE_SHA256:
-      return "rsa_pss_rsae_sha256";
-    case SSL_SIGN_RSA_PSS_RSAE_SHA384:
-      return "rsa_pss_rsae_sha384";
-    case SSL_SIGN_RSA_PSS_RSAE_SHA512:
-      return "rsa_pss_rsae_sha512";
-    case SSL_SIGN_ED25519:
-      return "ed25519";
-    default:
-      return NULL;
+  if (!include_curve) {
+    switch (sigalg) {
+      case SSL_SIGN_ECDSA_SECP256R1_SHA256:
+        return "ecdsa_sha256";
+      case SSL_SIGN_ECDSA_SECP384R1_SHA384:
+        return "ecdsa_sha384";
+      case SSL_SIGN_ECDSA_SECP521R1_SHA512:
+        return "ecdsa_sha512";
+    }
   }
+
+  for (const auto &candidate : kSignatureAlgorithmNames) {
+    if (candidate.signature_algorithm == sigalg) {
+      return candidate.name;
+    }
+  }
+
+  return NULL;
 }
 
 int SSL_get_signature_algorithm_key_type(uint16_t sigalg) {
@@ -460,21 +472,6 @@
   return alg != nullptr && alg->is_rsa_pss;
 }
 
-static int set_algorithm_prefs(uint16_t **out_prefs, size_t *out_num_prefs,
-                               const uint16_t *prefs, size_t num_prefs) {
-  OPENSSL_free(*out_prefs);
-
-  *out_num_prefs = 0;
-  *out_prefs = (uint16_t *)BUF_memdup(prefs, num_prefs * sizeof(prefs[0]));
-  if (*out_prefs == NULL) {
-    OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
-    return 0;
-  }
-  *out_num_prefs = num_prefs;
-
-  return 1;
-}
-
 int SSL_CTX_set_signing_algorithm_prefs(SSL_CTX *ctx, const uint16_t *prefs,
                                         size_t num_prefs) {
   return ctx->cert->sigalgs.CopyFrom(MakeConstSpan(prefs, num_prefs));
@@ -482,11 +479,322 @@
 
 int SSL_set_signing_algorithm_prefs(SSL *ssl, const uint16_t *prefs,
                                     size_t num_prefs) {
-  return ssl->cert->sigalgs.CopyFrom(MakeConstSpan(prefs, num_prefs));
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl->config->cert->sigalgs.CopyFrom(MakeConstSpan(prefs, num_prefs));
+}
+
+static constexpr struct {
+  int pkey_type;
+  int hash_nid;
+  uint16_t signature_algorithm;
+} kSignatureAlgorithmsMapping[] = {
+    {EVP_PKEY_RSA, NID_sha1, SSL_SIGN_RSA_PKCS1_SHA1},
+    {EVP_PKEY_RSA, NID_sha256, SSL_SIGN_RSA_PKCS1_SHA256},
+    {EVP_PKEY_RSA, NID_sha384, SSL_SIGN_RSA_PKCS1_SHA384},
+    {EVP_PKEY_RSA, NID_sha512, SSL_SIGN_RSA_PKCS1_SHA512},
+    {EVP_PKEY_RSA_PSS, NID_sha256, SSL_SIGN_RSA_PSS_RSAE_SHA256},
+    {EVP_PKEY_RSA_PSS, NID_sha384, SSL_SIGN_RSA_PSS_RSAE_SHA384},
+    {EVP_PKEY_RSA_PSS, NID_sha512, SSL_SIGN_RSA_PSS_RSAE_SHA512},
+    {EVP_PKEY_EC, NID_sha1, SSL_SIGN_ECDSA_SHA1},
+    {EVP_PKEY_EC, NID_sha256, SSL_SIGN_ECDSA_SECP256R1_SHA256},
+    {EVP_PKEY_EC, NID_sha384, SSL_SIGN_ECDSA_SECP384R1_SHA384},
+    {EVP_PKEY_EC, NID_sha512, SSL_SIGN_ECDSA_SECP521R1_SHA512},
+    {EVP_PKEY_ED25519, NID_undef, SSL_SIGN_ED25519},
+};
+
+static bool parse_sigalg_pairs(Array<uint16_t> *out, const int *values,
+                               size_t num_values) {
+  if ((num_values & 1) == 1) {
+    return false;
+  }
+
+  const size_t num_pairs = num_values / 2;
+  if (!out->Init(num_pairs)) {
+    return false;
+  }
+
+  for (size_t i = 0; i < num_values; i += 2) {
+    const int hash_nid = values[i];
+    const int pkey_type = values[i+1];
+
+    bool found = false;
+    for (const auto &candidate : kSignatureAlgorithmsMapping) {
+      if (candidate.pkey_type == pkey_type && candidate.hash_nid == hash_nid) {
+        (*out)[i / 2] = candidate.signature_algorithm;
+        found = true;
+        break;
+      }
+    }
+
+    if (!found) {
+      OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+      ERR_add_error_dataf("unknown hash:%d pkey:%d", hash_nid, pkey_type);
+      return false;
+    }
+  }
+
+  return true;
+}
+
+static int compare_uint16_t(const void *p1, const void *p2) {
+  uint16_t u1 = *((const uint16_t *)p1);
+  uint16_t u2 = *((const uint16_t *)p2);
+  if (u1 < u2) {
+    return -1;
+  } else if (u1 > u2) {
+    return 1;
+  } else {
+    return 0;
+  }
+}
+
+static bool sigalgs_unique(Span<const uint16_t> in_sigalgs) {
+  Array<uint16_t> sigalgs;
+  if (!sigalgs.CopyFrom(in_sigalgs)) {
+    return false;
+  }
+
+  qsort(sigalgs.data(), sigalgs.size(), sizeof(uint16_t), compare_uint16_t);
+
+  for (size_t i = 1; i < sigalgs.size(); i++) {
+    if (sigalgs[i - 1] == sigalgs[i]) {
+      OPENSSL_PUT_ERROR(SSL, SSL_R_DUPLICATE_SIGNATURE_ALGORITHM);
+      return false;
+    }
+  }
+
+  return true;
+}
+
+int SSL_CTX_set1_sigalgs(SSL_CTX *ctx, const int *values, size_t num_values) {
+  Array<uint16_t> sigalgs;
+  if (!parse_sigalg_pairs(&sigalgs, values, num_values) ||
+      !sigalgs_unique(sigalgs)) {
+    return 0;
+  }
+
+  if (!SSL_CTX_set_signing_algorithm_prefs(ctx, sigalgs.data(),
+                                           sigalgs.size()) ||
+      !ctx->verify_sigalgs.CopyFrom(sigalgs)) {
+    return 0;
+  }
+
+  return 1;
+}
+
+int SSL_set1_sigalgs(SSL *ssl, const int *values, size_t num_values) {
+  if (!ssl->config) {
+    OPENSSL_PUT_ERROR(SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
+    return 0;
+  }
+
+  Array<uint16_t> sigalgs;
+  if (!parse_sigalg_pairs(&sigalgs, values, num_values) ||
+      !sigalgs_unique(sigalgs)) {
+    return 0;
+  }
+
+  if (!SSL_set_signing_algorithm_prefs(ssl, sigalgs.data(), sigalgs.size()) ||
+      !ssl->config->verify_sigalgs.CopyFrom(sigalgs)) {
+    return 0;
+  }
+
+  return 1;
+}
+
+static bool parse_sigalgs_list(Array<uint16_t> *out, const char *str) {
+  // str looks like "RSA+SHA1:ECDSA+SHA256:ecdsa_secp256r1_sha256".
+
+  // Count colons to give the number of output elements from any successful
+  // parse.
+  size_t num_elements = 1;
+  size_t len = 0;
+  for (const char *p = str; *p; p++) {
+    len++;
+    if (*p == ':') {
+      num_elements++;
+    }
+  }
+
+  if (!out->Init(num_elements)) {
+    return false;
+  }
+  size_t out_i = 0;
+
+  enum {
+    pkey_or_name,
+    hash_name,
+  } state = pkey_or_name;
+
+  char buf[kMaxSignatureAlgorithmNameLen];
+  // buf_used is always < sizeof(buf). I.e. it's always safe to write
+  // buf[buf_used] = 0.
+  size_t buf_used = 0;
+
+  int pkey_type = 0, hash_nid = 0;
+
+  // Note that the loop runs to len+1, i.e. it'll process the terminating NUL.
+  for (size_t offset = 0; offset < len+1; offset++) {
+    const char c = str[offset];
+
+    switch (c) {
+      case '+':
+        if (state == hash_name) {
+          OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+          ERR_add_error_dataf("+ found in hash name at offset %zu", offset);
+          return false;
+        }
+        if (buf_used == 0) {
+          OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+          ERR_add_error_dataf("empty public key type at offset %zu", offset);
+          return false;
+        }
+        buf[buf_used] = 0;
+
+        if (strcmp(buf, "RSA") == 0) {
+          pkey_type = EVP_PKEY_RSA;
+        } else if (strcmp(buf, "RSA-PSS") == 0 ||
+                   strcmp(buf, "PSS") == 0) {
+          pkey_type = EVP_PKEY_RSA_PSS;
+        } else if (strcmp(buf, "ECDSA") == 0) {
+          pkey_type = EVP_PKEY_EC;
+        } else {
+          OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+          ERR_add_error_dataf("unknown public key type '%s'", buf);
+          return false;
+        }
+
+        state = hash_name;
+        buf_used = 0;
+        break;
+
+      case ':':
+        OPENSSL_FALLTHROUGH;
+      case 0:
+        if (buf_used == 0) {
+          OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+          ERR_add_error_dataf("empty element at offset %zu", offset);
+          return false;
+        }
+
+        buf[buf_used] = 0;
+
+        if (state == pkey_or_name) {
+          // No '+' was seen thus this is a TLS 1.3-style name.
+          bool found = false;
+          for (const auto &candidate : kSignatureAlgorithmNames) {
+            if (strcmp(candidate.name, buf) == 0) {
+              assert(out_i < num_elements);
+              (*out)[out_i++] = candidate.signature_algorithm;
+              found = true;
+              break;
+            }
+          }
+
+          if (!found) {
+            OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+            ERR_add_error_dataf("unknown signature algorithm '%s'", buf);
+            return false;
+          }
+        } else {
+          if (strcmp(buf, "SHA1") == 0) {
+            hash_nid = NID_sha1;
+          } else if (strcmp(buf, "SHA256") == 0) {
+            hash_nid = NID_sha256;
+          } else if (strcmp(buf, "SHA384") == 0) {
+            hash_nid = NID_sha384;
+          } else if (strcmp(buf, "SHA512") == 0) {
+            hash_nid = NID_sha512;
+          } else {
+            OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+            ERR_add_error_dataf("unknown hash function '%s'", buf);
+            return false;
+          }
+
+          bool found = false;
+          for (const auto &candidate : kSignatureAlgorithmsMapping) {
+            if (candidate.pkey_type == pkey_type &&
+                candidate.hash_nid == hash_nid) {
+              assert(out_i < num_elements);
+              (*out)[out_i++] = candidate.signature_algorithm;
+              found = true;
+              break;
+            }
+          }
+
+          if (!found) {
+            OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+            ERR_add_error_dataf("unknown pkey:%d hash:%s", pkey_type, buf);
+            return false;
+          }
+        }
+
+        state = pkey_or_name;
+        buf_used = 0;
+        break;
+
+      default:
+        if (buf_used == sizeof(buf) - 1) {
+          OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+          ERR_add_error_dataf("substring too long at offset %zu", offset);
+          return false;
+        }
+
+        if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'z') ||
+            (c >= 'A' && c <= 'Z') || c == '-' || c == '_') {
+          buf[buf_used++] = c;
+        } else {
+          OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_SIGNATURE_ALGORITHM);
+          ERR_add_error_dataf("invalid character 0x%02x at offest %zu", c,
+                              offset);
+          return false;
+        }
+    }
+  }
+
+  assert(out_i == out->size());
+  return true;
+}
+
+int SSL_CTX_set1_sigalgs_list(SSL_CTX *ctx, const char *str) {
+  Array<uint16_t> sigalgs;
+  if (!parse_sigalgs_list(&sigalgs, str) ||
+      !sigalgs_unique(sigalgs)) {
+    return 0;
+  }
+
+  if (!SSL_CTX_set_signing_algorithm_prefs(ctx, sigalgs.data(),
+                                           sigalgs.size()) ||
+      !ctx->verify_sigalgs.CopyFrom(sigalgs)) {
+    return 0;
+  }
+
+  return 1;
+}
+
+int SSL_set1_sigalgs_list(SSL *ssl, const char *str) {
+  if (!ssl->config) {
+    OPENSSL_PUT_ERROR(SSL, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
+    return 0;
+  }
+
+  Array<uint16_t> sigalgs;
+  if (!parse_sigalgs_list(&sigalgs, str) ||
+      !sigalgs_unique(sigalgs)) {
+    return 0;
+  }
+
+  if (!SSL_set_signing_algorithm_prefs(ssl, sigalgs.data(), sigalgs.size()) ||
+      !ssl->config->verify_sigalgs.CopyFrom(sigalgs)) {
+    return 0;
+  }
+
+  return 1;
 }
 
 int SSL_CTX_set_verify_algorithm_prefs(SSL_CTX *ctx, const uint16_t *prefs,
                                        size_t num_prefs) {
-  return set_algorithm_prefs(&ctx->verify_sigalgs, &ctx->num_verify_sigalgs,
-                             prefs, num_prefs);
+  return ctx->verify_sigalgs.CopyFrom(MakeConstSpan(prefs, num_prefs));
 }
diff --git a/src/ssl/ssl_session.cc b/src/ssl/ssl_session.cc
index 272fc55..70be17e 100644
--- a/src/ssl/ssl_session.cc
+++ b/src/ssl/ssl_session.cc
@@ -166,22 +166,27 @@
 static int remove_session_lock(SSL_CTX *ctx, SSL_SESSION *session, int lock);
 
 UniquePtr<SSL_SESSION> ssl_session_new(const SSL_X509_METHOD *x509_method) {
-  UniquePtr<SSL_SESSION> session(
-      (SSL_SESSION *)OPENSSL_malloc(sizeof(SSL_SESSION)));
-  if (!session) {
-    OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
-    return 0;
-  }
-  OPENSSL_memset(session.get(), 0, sizeof(SSL_SESSION));
+  return MakeUnique<SSL_SESSION>(x509_method);
+}
 
-  session->x509_method = x509_method;
-  session->verify_result = X509_V_ERR_INVALID_CALL;
-  session->references = 1;
-  session->timeout = SSL_DEFAULT_SESSION_TIMEOUT;
-  session->auth_timeout = SSL_DEFAULT_SESSION_TIMEOUT;
-  session->time = time(NULL);
-  CRYPTO_new_ex_data(&session->ex_data);
-  return session;
+uint32_t ssl_hash_session_id(Span<const uint8_t> session_id) {
+  // Take the first four bytes of |session_id|. Session IDs are generated by the
+  // server randomly, so we can assume even using the first four bytes results
+  // in a good distribution.
+  uint8_t tmp_storage[sizeof(uint32_t)];
+  if (session_id.size() < sizeof(tmp_storage)) {
+    OPENSSL_memset(tmp_storage, 0, sizeof(tmp_storage));
+    OPENSSL_memcpy(tmp_storage, session_id.data(), session_id.size());
+    session_id = tmp_storage;
+  }
+
+  uint32_t hash =
+      ((uint32_t)session_id[0]) |
+      ((uint32_t)session_id[1] << 8) |
+      ((uint32_t)session_id[2] << 16) |
+      ((uint32_t)session_id[3] << 24);
+
+  return hash;
 }
 
 UniquePtr<SSL_SESSION> SSL_SESSION_dup(SSL_SESSION *session, int dup_flags) {
@@ -202,24 +207,22 @@
   new_session->cipher = session->cipher;
 
   // Copy authentication state.
-  if (session->psk_identity != NULL) {
-    new_session->psk_identity = BUF_strdup(session->psk_identity);
-    if (new_session->psk_identity == NULL) {
+  if (session->psk_identity != nullptr) {
+    new_session->psk_identity.reset(BUF_strdup(session->psk_identity.get()));
+    if (new_session->psk_identity == nullptr) {
       return nullptr;
     }
   }
-  if (session->certs != NULL) {
-    new_session->certs = sk_CRYPTO_BUFFER_new_null();
-    if (new_session->certs == NULL) {
+  if (session->certs != nullptr) {
+    auto buf_up_ref = [](CRYPTO_BUFFER *buf) {
+      CRYPTO_BUFFER_up_ref(buf);
+      return buf;
+    };
+    new_session->certs.reset(sk_CRYPTO_BUFFER_deep_copy(
+        session->certs.get(), buf_up_ref, CRYPTO_BUFFER_free));
+    if (new_session->certs == nullptr) {
       return nullptr;
     }
-    for (size_t i = 0; i < sk_CRYPTO_BUFFER_num(session->certs); i++) {
-      CRYPTO_BUFFER *buffer = sk_CRYPTO_BUFFER_value(session->certs, i);
-      if (!sk_CRYPTO_BUFFER_push(new_session->certs, buffer)) {
-        return nullptr;
-      }
-      CRYPTO_BUFFER_up_ref(buffer);
-    }
   }
 
   if (!session->x509_method->session_dup(new_session.get(), session)) {
@@ -228,16 +231,9 @@
 
   new_session->verify_result = session->verify_result;
 
-  if (session->ocsp_response != NULL) {
-    new_session->ocsp_response = session->ocsp_response;
-    CRYPTO_BUFFER_up_ref(new_session->ocsp_response);
-  }
-
-  if (session->signed_cert_timestamp_list != NULL) {
-    new_session->signed_cert_timestamp_list =
-        session->signed_cert_timestamp_list;
-    CRYPTO_BUFFER_up_ref(new_session->signed_cert_timestamp_list);
-  }
+  new_session->ocsp_response = UpRef(session->ocsp_response);
+  new_session->signed_cert_timestamp_list =
+      UpRef(session->signed_cert_timestamp_list);
 
   OPENSSL_memcpy(new_session->peer_sha256, session->peer_sha256,
                  SHA256_DIGEST_LENGTH);
@@ -262,36 +258,25 @@
                    session->original_handshake_hash_len);
     new_session->original_handshake_hash_len =
         session->original_handshake_hash_len;
-    new_session->tlsext_tick_lifetime_hint = session->tlsext_tick_lifetime_hint;
+    new_session->ticket_lifetime_hint = session->ticket_lifetime_hint;
     new_session->ticket_age_add = session->ticket_age_add;
     new_session->ticket_max_early_data = session->ticket_max_early_data;
     new_session->extended_master_secret = session->extended_master_secret;
 
-    if (session->early_alpn != NULL) {
-      new_session->early_alpn =
-          (uint8_t *)BUF_memdup(session->early_alpn, session->early_alpn_len);
-      if (new_session->early_alpn == NULL) {
-        return nullptr;
-      }
+    if (!new_session->early_alpn.CopyFrom(session->early_alpn)) {
+      return nullptr;
     }
-    new_session->early_alpn_len = session->early_alpn_len;
   }
 
   // Copy the ticket.
-  if (dup_flags & SSL_SESSION_INCLUDE_TICKET) {
-    if (session->tlsext_tick != NULL) {
-      new_session->tlsext_tick =
-          (uint8_t *)BUF_memdup(session->tlsext_tick, session->tlsext_ticklen);
-      if (new_session->tlsext_tick == NULL) {
-        return nullptr;
-      }
-    }
-    new_session->tlsext_ticklen = session->tlsext_ticklen;
+  if (dup_flags & SSL_SESSION_INCLUDE_TICKET &&
+      !new_session->ticket.CopyFrom(session->ticket)) {
+    return nullptr;
   }
 
   // The new_session does not get a copy of the ex_data.
 
-  new_session->not_resumable = 1;
+  new_session->not_resumable = true;
   return new_session;
 }
 
@@ -405,16 +390,16 @@
     session->session_id_length = 0;
   }
 
-  if (ssl->cert->sid_ctx_length > sizeof(session->sid_ctx)) {
+  if (hs->config->cert->sid_ctx_length > sizeof(session->sid_ctx)) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
     return 0;
   }
-  OPENSSL_memcpy(session->sid_ctx, ssl->cert->sid_ctx,
-                 ssl->cert->sid_ctx_length);
-  session->sid_ctx_length = ssl->cert->sid_ctx_length;
+  OPENSSL_memcpy(session->sid_ctx, hs->config->cert->sid_ctx,
+                 hs->config->cert->sid_ctx_length);
+  session->sid_ctx_length = hs->config->cert->sid_ctx_length;
 
   // The session is marked not resumable until it is completely filled in.
-  session->not_resumable = 1;
+  session->not_resumable = true;
   session->verify_result = X509_V_ERR_INVALID_CALL;
 
   hs->new_session = std::move(session);
@@ -429,53 +414,50 @@
     // Avoid acquiring a write lock in the common case (i.e. a non-default key
     // is used or the default keys have not expired yet).
     MutexReadLock lock(&ctx->lock);
-    if (ctx->tlsext_ticket_key_current &&
-        (ctx->tlsext_ticket_key_current->next_rotation_tv_sec == 0 ||
-         ctx->tlsext_ticket_key_current->next_rotation_tv_sec > now.tv_sec) &&
-        (!ctx->tlsext_ticket_key_prev ||
-         ctx->tlsext_ticket_key_prev->next_rotation_tv_sec > now.tv_sec)) {
+    if (ctx->ticket_key_current &&
+        (ctx->ticket_key_current->next_rotation_tv_sec == 0 ||
+         ctx->ticket_key_current->next_rotation_tv_sec > now.tv_sec) &&
+        (!ctx->ticket_key_prev ||
+         ctx->ticket_key_prev->next_rotation_tv_sec > now.tv_sec)) {
       return 1;
     }
   }
 
   MutexWriteLock lock(&ctx->lock);
-  if (!ctx->tlsext_ticket_key_current ||
-      (ctx->tlsext_ticket_key_current->next_rotation_tv_sec != 0 &&
-       ctx->tlsext_ticket_key_current->next_rotation_tv_sec <= now.tv_sec)) {
+  if (!ctx->ticket_key_current ||
+      (ctx->ticket_key_current->next_rotation_tv_sec != 0 &&
+       ctx->ticket_key_current->next_rotation_tv_sec <= now.tv_sec)) {
     // The current key has not been initialized or it is expired.
-    auto new_key = bssl::MakeUnique<struct tlsext_ticket_key>();
+    auto new_key = bssl::MakeUnique<TicketKey>();
     if (!new_key) {
       return 0;
     }
-    OPENSSL_memset(new_key.get(), 0, sizeof(struct tlsext_ticket_key));
-    if (ctx->tlsext_ticket_key_current) {
+    RAND_bytes(new_key->name, 16);
+    RAND_bytes(new_key->hmac_key, 16);
+    RAND_bytes(new_key->aes_key, 16);
+    new_key->next_rotation_tv_sec =
+        now.tv_sec + SSL_DEFAULT_TICKET_KEY_ROTATION_INTERVAL;
+    if (ctx->ticket_key_current) {
       // The current key expired. Rotate it to prev and bump up its rotation
       // timestamp. Note that even with the new rotation time it may still be
-      // expired and get droppped below.
-      ctx->tlsext_ticket_key_current->next_rotation_tv_sec +=
+      // expired and get dropped below.
+      ctx->ticket_key_current->next_rotation_tv_sec +=
           SSL_DEFAULT_TICKET_KEY_ROTATION_INTERVAL;
-      OPENSSL_free(ctx->tlsext_ticket_key_prev);
-      ctx->tlsext_ticket_key_prev = ctx->tlsext_ticket_key_current;
+      ctx->ticket_key_prev = std::move(ctx->ticket_key_current);
     }
-    ctx->tlsext_ticket_key_current = new_key.release();
-    RAND_bytes(ctx->tlsext_ticket_key_current->name, 16);
-    RAND_bytes(ctx->tlsext_ticket_key_current->hmac_key, 16);
-    RAND_bytes(ctx->tlsext_ticket_key_current->aes_key, 16);
-    ctx->tlsext_ticket_key_current->next_rotation_tv_sec =
-        now.tv_sec + SSL_DEFAULT_TICKET_KEY_ROTATION_INTERVAL;
+    ctx->ticket_key_current = std::move(new_key);
   }
 
   // Drop an expired prev key.
-  if (ctx->tlsext_ticket_key_prev &&
-      ctx->tlsext_ticket_key_prev->next_rotation_tv_sec <= now.tv_sec) {
-    OPENSSL_free(ctx->tlsext_ticket_key_prev);
-    ctx->tlsext_ticket_key_prev = nullptr;
+  if (ctx->ticket_key_prev &&
+      ctx->ticket_key_prev->next_rotation_tv_sec <= now.tv_sec) {
+    ctx->ticket_key_prev.reset();
   }
 
   return 1;
 }
 
-static int ssl_encrypt_ticket_with_cipher_ctx(SSL *ssl, CBB *out,
+static int ssl_encrypt_ticket_with_cipher_ctx(SSL_HANDSHAKE *hs, CBB *out,
                                               const uint8_t *session_buf,
                                               size_t session_len) {
   ScopedEVP_CIPHER_CTX ctx;
@@ -493,12 +475,12 @@
 
   // Initialize HMAC and cipher contexts. If callback present it does all the
   // work otherwise use generated values from parent ctx.
-  SSL_CTX *tctx = ssl->session_ctx;
+  SSL_CTX *tctx = hs->ssl->session_ctx.get();
   uint8_t iv[EVP_MAX_IV_LENGTH];
   uint8_t key_name[16];
-  if (tctx->tlsext_ticket_key_cb != NULL) {
-    if (tctx->tlsext_ticket_key_cb(ssl, key_name, iv, ctx.get(), hctx.get(),
-                                   1 /* encrypt */) < 0) {
+  if (tctx->ticket_key_cb != NULL) {
+    if (tctx->ticket_key_cb(hs->ssl, key_name, iv, ctx.get(), hctx.get(),
+                            1 /* encrypt */) < 0) {
       return 0;
     }
   } else {
@@ -509,12 +491,12 @@
     MutexReadLock lock(&tctx->lock);
     if (!RAND_bytes(iv, 16) ||
         !EVP_EncryptInit_ex(ctx.get(), EVP_aes_128_cbc(), NULL,
-                            tctx->tlsext_ticket_key_current->aes_key, iv) ||
-        !HMAC_Init_ex(hctx.get(), tctx->tlsext_ticket_key_current->hmac_key, 16,
+                            tctx->ticket_key_current->aes_key, iv) ||
+        !HMAC_Init_ex(hctx.get(), tctx->ticket_key_current->hmac_key, 16,
                       tlsext_tick_md(), NULL)) {
       return 0;
     }
-    OPENSSL_memcpy(key_name, tctx->tlsext_ticket_key_current->name, 16);
+    OPENSSL_memcpy(key_name, tctx->ticket_key_current->name, 16);
   }
 
   uint8_t *ptr;
@@ -554,9 +536,10 @@
   return 1;
 }
 
-static int ssl_encrypt_ticket_with_method(SSL *ssl, CBB *out,
+static int ssl_encrypt_ticket_with_method(SSL_HANDSHAKE *hs, CBB *out,
                                           const uint8_t *session_buf,
                                           size_t session_len) {
+  SSL *const ssl = hs->ssl;
   const SSL_TICKET_AEAD_METHOD *method = ssl->session_ctx->ticket_aead_method;
   const size_t max_overhead = method->max_overhead(ssl);
   const size_t max_out = session_len + max_overhead;
@@ -571,7 +554,8 @@
   }
 
   size_t out_len;
-  if (!method->seal(ssl, ptr, &out_len, max_out, session_buf, session_len)) {
+  if (!method->seal(ssl, ptr, &out_len, max_out, session_buf,
+                    session_len)) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_TICKET_ENCRYPTION_FAILED);
     return 0;
   }
@@ -583,7 +567,8 @@
   return 1;
 }
 
-int ssl_encrypt_ticket(SSL *ssl, CBB *out, const SSL_SESSION *session) {
+int ssl_encrypt_ticket(SSL_HANDSHAKE *hs, CBB *out,
+                       const SSL_SESSION *session) {
   // Serialize the SSL_SESSION to be encoded into the ticket.
   uint8_t *session_buf = NULL;
   size_t session_len;
@@ -592,25 +577,25 @@
   }
 
   int ret = 0;
-  if (ssl->session_ctx->ticket_aead_method) {
-    ret = ssl_encrypt_ticket_with_method(ssl, out, session_buf, session_len);
+  if (hs->ssl->session_ctx->ticket_aead_method) {
+    ret = ssl_encrypt_ticket_with_method(hs, out, session_buf, session_len);
   } else {
-    ret =
-        ssl_encrypt_ticket_with_cipher_ctx(ssl, out, session_buf, session_len);
+    ret = ssl_encrypt_ticket_with_cipher_ctx(hs, out, session_buf, session_len);
   }
 
   OPENSSL_free(session_buf);
   return ret;
 }
 
-int ssl_session_is_context_valid(const SSL *ssl, const SSL_SESSION *session) {
+int ssl_session_is_context_valid(const SSL_HANDSHAKE *hs,
+                                 const SSL_SESSION *session) {
   if (session == NULL) {
     return 0;
   }
 
-  return session->sid_ctx_length == ssl->cert->sid_ctx_length &&
-         OPENSSL_memcmp(session->sid_ctx, ssl->cert->sid_ctx,
-                        ssl->cert->sid_ctx_length) == 0;
+  return session->sid_ctx_length == hs->config->cert->sid_ctx_length &&
+         OPENSSL_memcmp(session->sid_ctx, hs->config->cert->sid_ctx,
+                        hs->config->cert->sid_ctx_length) == 0;
 }
 
 int ssl_session_is_time_valid(const SSL *ssl, const SSL_SESSION *session) {
@@ -632,34 +617,35 @@
 int ssl_session_is_resumable(const SSL_HANDSHAKE *hs,
                              const SSL_SESSION *session) {
   const SSL *const ssl = hs->ssl;
-  return ssl_session_is_context_valid(ssl, session) &&
+  return ssl_session_is_context_valid(hs, session) &&
          // The session must have been created by the same type of end point as
          // we're now using it with.
          ssl->server == session->is_server &&
          // The session must not be expired.
          ssl_session_is_time_valid(ssl, session) &&
          /* Only resume if the session's version matches the negotiated
-           * version. */
+          * version. */
          ssl->version == session->ssl_version &&
          // Only resume if the session's cipher matches the negotiated one.
          hs->new_cipher == session->cipher &&
          // If the session contains a client certificate (either the full
          // certificate or just the hash) then require that the form of the
          // certificate matches the current configuration.
-         ((sk_CRYPTO_BUFFER_num(session->certs) == 0 &&
+         ((sk_CRYPTO_BUFFER_num(session->certs.get()) == 0 &&
            !session->peer_sha256_valid) ||
           session->peer_sha256_valid ==
-              ssl->retain_only_sha256_of_client_certs);
+              hs->config->retain_only_sha256_of_client_certs);
 }
 
 // ssl_lookup_session looks up |session_id| in the session cache and sets
 // |*out_session| to an |SSL_SESSION| object if found.
 static enum ssl_hs_wait_t ssl_lookup_session(
-    SSL *ssl, UniquePtr<SSL_SESSION> *out_session, const uint8_t *session_id,
-    size_t session_id_len) {
+    SSL_HANDSHAKE *hs, UniquePtr<SSL_SESSION> *out_session,
+    Span<const uint8_t> session_id) {
+  SSL *const ssl = hs->ssl;
   out_session->reset();
 
-  if (session_id_len == 0 || session_id_len > SSL_MAX_SSL_SESSION_ID_LENGTH) {
+  if (session_id.empty() || session_id.size() > SSL_MAX_SSL_SESSION_ID_LENGTH) {
     return ssl_hs_ok;
   }
 
@@ -667,25 +653,26 @@
   // Try the internal cache, if it exists.
   if (!(ssl->session_ctx->session_cache_mode &
         SSL_SESS_CACHE_NO_INTERNAL_LOOKUP)) {
-    SSL_SESSION data;
-    data.ssl_version = ssl->version;
-    data.session_id_length = session_id_len;
-    OPENSSL_memcpy(data.session_id, session_id, session_id_len);
-
+    uint32_t hash = ssl_hash_session_id(session_id);
+    auto cmp = [](const void *key, const SSL_SESSION *sess) -> int {
+      Span<const uint8_t> key_id =
+          *reinterpret_cast<const Span<const uint8_t> *>(key);
+      Span<const uint8_t> sess_id =
+          MakeConstSpan(sess->session_id, sess->session_id_length);
+      return key_id == sess_id ? 0 : 1;
+    };
     MutexReadLock lock(&ssl->session_ctx->lock);
-    session.reset(lh_SSL_SESSION_retrieve(ssl->session_ctx->sessions, &data));
-    if (session) {
-      // |lh_SSL_SESSION_retrieve| returns a non-owning pointer.
-      SSL_SESSION_up_ref(session.get());
-    }
+    // |lh_SSL_SESSION_retrieve_key| returns a non-owning pointer.
+    session = UpRef(lh_SSL_SESSION_retrieve_key(ssl->session_ctx->sessions,
+                                                &session_id, hash, cmp));
     // TODO(davidben): This should probably move it to the front of the list.
   }
 
   // Fall back to the external cache, if it exists.
   if (!session && ssl->session_ctx->get_session_cb != nullptr) {
     int copy = 1;
-    session.reset(ssl->session_ctx->get_session_cb(ssl, session_id,
-                                                   session_id_len, &copy));
+    session.reset(ssl->session_ctx->get_session_cb(ssl, session_id.data(),
+                                                   session_id.size(), &copy));
     if (!session) {
       return ssl_hs_ok;
     }
@@ -706,13 +693,13 @@
     // Add the externally cached session to the internal cache if necessary.
     if (!(ssl->session_ctx->session_cache_mode &
           SSL_SESS_CACHE_NO_INTERNAL_STORE)) {
-      SSL_CTX_add_session(ssl->session_ctx, session.get());
+      SSL_CTX_add_session(ssl->session_ctx.get(), session.get());
     }
   }
 
   if (session && !ssl_session_is_time_valid(ssl, session.get())) {
     // The session was from the cache, so remove it.
-    SSL_CTX_remove_session(ssl->session_ctx, session.get());
+    SSL_CTX_remove_session(ssl->session_ctx.get(), session.get());
     session.reset();
   }
 
@@ -720,13 +707,13 @@
   return ssl_hs_ok;
 }
 
-enum ssl_hs_wait_t ssl_get_prev_session(SSL *ssl,
+enum ssl_hs_wait_t ssl_get_prev_session(SSL_HANDSHAKE *hs,
                                         UniquePtr<SSL_SESSION> *out_session,
                                         bool *out_tickets_supported,
                                         bool *out_renew_ticket,
                                         const SSL_CLIENT_HELLO *client_hello) {
   // This is used only by servers.
-  assert(ssl->server);
+  assert(hs->ssl->server);
   UniquePtr<SSL_SESSION> session;
   bool renew_ticket = false;
 
@@ -734,12 +721,11 @@
   const uint8_t *ticket = NULL;
   size_t ticket_len = 0;
   const bool tickets_supported =
-      !(SSL_get_options(ssl) & SSL_OP_NO_TICKET) &&
-      ssl->version > SSL3_VERSION &&
+      !(SSL_get_options(hs->ssl) & SSL_OP_NO_TICKET) &&
       SSL_early_callback_ctx_extension_get(
           client_hello, TLSEXT_TYPE_session_ticket, &ticket, &ticket_len);
   if (tickets_supported && ticket_len > 0) {
-    switch (ssl_process_ticket(ssl, &session, &renew_ticket, ticket, ticket_len,
+    switch (ssl_process_ticket(hs, &session, &renew_ticket, ticket, ticket_len,
                                client_hello->session_id,
                                client_hello->session_id_len)) {
       case ssl_ticket_aead_success:
@@ -755,7 +741,8 @@
   } else {
     // The client didn't send a ticket, so the session ID is a real ID.
     enum ssl_hs_wait_t lookup_ret = ssl_lookup_session(
-        ssl, &session, client_hello->session_id, client_hello->session_id_len);
+        hs, &session,
+        MakeConstSpan(client_hello->session_id, client_hello->session_id_len));
     if (lookup_ret != ssl_hs_ok) {
       return lookup_ret;
     }
@@ -798,15 +785,11 @@
 }
 
 void ssl_set_session(SSL *ssl, SSL_SESSION *session) {
-  if (ssl->session == session) {
+  if (ssl->session.get() == session) {
     return;
   }
 
-  SSL_SESSION_free(ssl->session);
-  ssl->session = session;
-  if (session != NULL) {
-    SSL_SESSION_up_ref(session);
-  }
+  ssl->session = UpRef(session);
 }
 
 // locked by SSL_CTX in the calling function
@@ -860,6 +843,22 @@
 
 using namespace bssl;
 
+ssl_session_st::ssl_session_st(const SSL_X509_METHOD *method)
+    : x509_method(method),
+      extended_master_secret(false),
+      peer_sha256_valid(false),
+      not_resumable(false),
+      ticket_age_add_valid(false),
+      is_server(false) {
+  CRYPTO_new_ex_data(&ex_data);
+  time = ::time(nullptr);
+}
+
+ssl_session_st::~ssl_session_st() {
+  CRYPTO_free_ex_data(&g_ex_data_class, this, &ex_data);
+  x509_method->session_clear(this);
+}
+
 SSL_SESSION *SSL_SESSION_new(const SSL_CTX *ctx) {
   return ssl_session_new(ctx->x509_method).release();
 }
@@ -875,17 +874,7 @@
     return;
   }
 
-  CRYPTO_free_ex_data(&g_ex_data_class, session, &session->ex_data);
-
-  OPENSSL_cleanse(session->master_key, sizeof(session->master_key));
-  OPENSSL_cleanse(session->session_id, sizeof(session->session_id));
-  sk_CRYPTO_BUFFER_pop_free(session->certs, CRYPTO_BUFFER_free);
-  session->x509_method->session_clear(session);
-  OPENSSL_free(session->tlsext_tick);
-  CRYPTO_BUFFER_free(session->signed_cert_timestamp_list);
-  CRYPTO_BUFFER_free(session->ocsp_response);
-  OPENSSL_free(session->psk_identity);
-  OPENSSL_free(session->early_alpn);
+  session->~ssl_session_st();
   OPENSSL_free(session);
 }
 
@@ -897,6 +886,19 @@
   return session->session_id;
 }
 
+int SSL_SESSION_set1_id(SSL_SESSION *session, const uint8_t *sid,
+                        size_t sid_len) {
+  if (sid_len > SSL_MAX_SSL_SESSION_ID_LENGTH) {
+    OPENSSL_PUT_ERROR(SSL, SSL_R_SSL_SESSION_ID_TOO_LONG);
+    return 0;
+  }
+
+  // Use memmove in case someone passes in the output of |SSL_SESSION_get_id|.
+  OPENSSL_memmove(session->session_id, sid, sid_len);
+  session->session_id_length = sid_len;
+  return 1;
+}
+
 uint32_t SSL_SESSION_get_timeout(const SSL_SESSION *session) {
   return session->timeout;
 }
@@ -915,7 +917,30 @@
 
 const STACK_OF(CRYPTO_BUFFER) *
     SSL_SESSION_get0_peer_certificates(const SSL_SESSION *session) {
-  return session->certs;
+  return session->certs.get();
+}
+
+void SSL_SESSION_get0_signed_cert_timestamp_list(const SSL_SESSION *session,
+                                                 const uint8_t **out,
+                                                 size_t *out_len) {
+  if (session->signed_cert_timestamp_list) {
+    *out = CRYPTO_BUFFER_data(session->signed_cert_timestamp_list.get());
+    *out_len = CRYPTO_BUFFER_len(session->signed_cert_timestamp_list.get());
+  } else {
+    *out = nullptr;
+    *out_len = 0;
+  }
+}
+
+void SSL_SESSION_get0_ocsp_response(const SSL_SESSION *session,
+                                    const uint8_t **out, size_t *out_len) {
+  if (session->ocsp_response) {
+    *out = CRYPTO_BUFFER_data(session->ocsp_response.get());
+    *out_len = CRYPTO_BUFFER_len(session->ocsp_response.get());
+  } else {
+    *out = nullptr;
+    *out_len = 0;
+  }
 }
 
 size_t SSL_SESSION_get_master_key(const SSL_SESSION *session, uint8_t *out,
@@ -950,6 +975,14 @@
   return 1;
 }
 
+const uint8_t *SSL_SESSION_get0_id_context(const SSL_SESSION *session,
+                                           unsigned *out_len) {
+  if (out_len != NULL) {
+    *out_len = session->sid_ctx_length;
+  }
+  return session->sid_ctx;
+}
+
 int SSL_SESSION_set1_id_context(SSL_SESSION *session, const uint8_t *sid_ctx,
                                 size_t sid_ctx_len) {
   if (sid_ctx_len > sizeof(session->sid_ctx)) {
@@ -973,25 +1006,45 @@
 }
 
 int SSL_SESSION_has_ticket(const SSL_SESSION *session) {
-  return session->tlsext_ticklen > 0;
+  return !session->ticket.empty();
 }
 
 void SSL_SESSION_get0_ticket(const SSL_SESSION *session,
                              const uint8_t **out_ticket, size_t *out_len) {
   if (out_ticket != nullptr) {
-    *out_ticket = session->tlsext_tick;
+    *out_ticket = session->ticket.data();
   }
-  *out_len = session->tlsext_ticklen;
+  *out_len = session->ticket.size();
+}
+
+int SSL_SESSION_set_ticket(SSL_SESSION *session, const uint8_t *ticket,
+                           size_t ticket_len) {
+  return session->ticket.CopyFrom(MakeConstSpan(ticket, ticket_len));
 }
 
 uint32_t SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *session) {
-  return session->tlsext_tick_lifetime_hint;
+  return session->ticket_lifetime_hint;
 }
 
 const SSL_CIPHER *SSL_SESSION_get0_cipher(const SSL_SESSION *session) {
   return session->cipher;
 }
 
+int SSL_SESSION_has_peer_sha256(const SSL_SESSION *session) {
+  return session->peer_sha256_valid;
+}
+
+void SSL_SESSION_get0_peer_sha256(const SSL_SESSION *session,
+                                  const uint8_t **out_ptr, size_t *out_len) {
+  if (session->peer_sha256_valid) {
+    *out_ptr = session->peer_sha256;
+    *out_len = sizeof(session->peer_sha256);
+  } else {
+    *out_ptr = nullptr;
+    *out_len = 0;
+  }
+}
+
 SSL_SESSION *SSL_magic_pending_session_ptr(void) {
   return (SSL_SESSION *)&g_pending_session_magic;
 }
@@ -1010,7 +1063,7 @@
   if (hs->new_session) {
     return hs->new_session.get();
   }
-  return ssl->session;
+  return ssl->session.get();
 }
 
 SSL_SESSION *SSL_get1_session(SSL *ssl) {
@@ -1044,8 +1097,7 @@
 int SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *session) {
   // Although |session| is inserted into two structures (a doubly-linked list
   // and the hash table), |ctx| only takes one reference.
-  SSL_SESSION_up_ref(session);
-  UniquePtr<SSL_SESSION> owned_session(session);
+  UniquePtr<SSL_SESSION> owned_session = UpRef(session);
 
   SSL_SESSION *old_session;
   MutexWriteLock lock(&ctx->lock);
diff --git a/src/ssl/ssl_test.cc b/src/ssl/ssl_test.cc
index 5fb4fb4..74c4e9e 100644
--- a/src/ssl/ssl_test.cc
+++ b/src/ssl/ssl_test.cc
@@ -48,6 +48,10 @@
 #include <sys/time.h>
 #endif
 
+#if !defined(OPENSSL_NO_THREADS)
+#include <thread>
+#endif
+
 
 namespace bssl {
 
@@ -71,7 +75,6 @@
 static const size_t kTicketKeyLen = 48;
 
 static const VersionParam kAllVersions[] = {
-    {SSL3_VERSION, VersionParam::is_tls, "SSL3"},
     {TLS1_VERSION, VersionParam::is_tls, "TLS1"},
     {TLS1_1_VERSION, VersionParam::is_tls, "TLS1_1"},
     {TLS1_2_VERSION, VersionParam::is_tls, "TLS1_2"},
@@ -227,7 +230,7 @@
     {
         // To simplify things, banish all but {ECDHE_RSA,RSA} x
         // {CHACHA20,AES_256_CBC,AES_128_CBC} x SHA1.
-        "!AESGCM:!3DES:!SHA256:!SHA384:"
+        "!AESGCM:!3DES:"
         // Order some ciphers backwards by strength.
         "ALL:-CHACHA20:-AES256:-AES128:-ALL:"
         // Select ECDHE ones and sort them by strength. Ties should resolve
@@ -286,15 +289,15 @@
     },
     // SSLv3 matches everything that existed before TLS 1.2.
     {
-        "AES128-SHA:AES128-SHA256:!SSLv3",
+        "AES128-SHA:ECDHE-RSA-AES128-GCM-SHA256:!SSLv3",
         {
-            {TLS1_CK_RSA_WITH_AES_128_SHA256, 0},
+            {TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 0},
         },
         false,
     },
     // TLSv1.2 matches everything added in TLS 1.2.
     {
-        "AES128-SHA:AES128-SHA256:!TLSv1.2",
+        "AES128-SHA:ECDHE-RSA-AES128-GCM-SHA256:!TLSv1.2",
         {
             {TLS1_CK_RSA_WITH_AES_128_SHA, 0},
         },
@@ -303,21 +306,21 @@
     // The two directives have no intersection.  But each component is valid, so
     // even in strict mode it is accepted.
     {
-        "AES128-SHA:AES128-SHA256:!TLSv1.2+SSLv3",
+        "AES128-SHA:ECDHE-RSA-AES128-GCM-SHA256:!TLSv1.2+SSLv3",
         {
             {TLS1_CK_RSA_WITH_AES_128_SHA, 0},
-            {TLS1_CK_RSA_WITH_AES_128_SHA256, 0},
+            {TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 0},
         },
         false,
     },
     // Spaces, semi-colons and commas are separators.
     {
-        "AES128-SHA: AES128-SHA256 AES256-SHA ,AES256-SHA256 ; AES128-GCM-SHA256",
+        "AES128-SHA: ECDHE-RSA-AES128-GCM-SHA256 AES256-SHA ,ECDHE-ECDSA-AES128-GCM-SHA256 ; AES128-GCM-SHA256",
         {
             {TLS1_CK_RSA_WITH_AES_128_SHA, 0},
-            {TLS1_CK_RSA_WITH_AES_128_SHA256, 0},
+            {TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256, 0},
             {TLS1_CK_RSA_WITH_AES_256_SHA, 0},
-            {TLS1_CK_RSA_WITH_AES_256_SHA256, 0},
+            {TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, 0},
             {TLS1_CK_RSA_WITH_AES_128_GCM_SHA256, 0},
         },
         // …but not in strict mode.
@@ -494,7 +497,7 @@
     ASSERT_TRUE(ctx);
 
     ASSERT_TRUE(SSL_CTX_set1_curves_list(ctx.get(), t.rule));
-    ASSERT_EQ(t.expected.size(), ctx->supported_group_list_len);
+    ASSERT_EQ(t.expected.size(), ctx->supported_group_list.size());
     for (size_t i = 0; i < t.expected.size(); i++) {
       EXPECT_EQ(t.expected[i], ctx->supported_group_list[i]);
     }
@@ -864,22 +867,22 @@
           NID_md5_sha1,
       },
       {
-          TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256,
-          "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
+          TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA,
+          "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
           NID_aes_128_cbc,
-          NID_sha256,
+          NID_sha1,
           NID_kx_ecdhe,
           NID_auth_rsa,
-          NID_sha256,
+          NID_md5_sha1,
       },
       {
-          TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384,
-          "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
+          TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA,
+          "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
           NID_aes_256_cbc,
-          NID_sha384,
+          NID_sha1,
           NID_kx_ecdhe,
           NID_auth_rsa,
-          NID_sha384,
+          NID_md5_sha1,
       },
       {
           TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
@@ -987,28 +990,20 @@
   if (!ssl_ctx) {
     return nullptr;
   }
+  // Use a garbage ticket.
+  std::vector<uint8_t> ticket(ticket_len, 'a');
   bssl::UniquePtr<SSL_SESSION> session(
       SSL_SESSION_from_bytes(der.data(), der.size(), ssl_ctx.get()));
-  if (!session) {
+  if (!session ||
+      !SSL_SESSION_set_protocol_version(session.get(), version) ||
+      !SSL_SESSION_set_ticket(session.get(), ticket.data(), ticket.size())) {
     return nullptr;
   }
-
-  session->ssl_version = version;
-
-  // Swap out the ticket for a garbage one.
-  OPENSSL_free(session->tlsext_tick);
-  session->tlsext_tick = reinterpret_cast<uint8_t*>(OPENSSL_malloc(ticket_len));
-  if (session->tlsext_tick == nullptr) {
-    return nullptr;
-  }
-  OPENSSL_memset(session->tlsext_tick, 'a', ticket_len);
-  session->tlsext_ticklen = ticket_len;
-
   // Fix up the timeout.
 #if defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE)
-  session->time = 1234;
+  SSL_SESSION_set_time(session.get(), 1234);
 #else
-  session->time = time(NULL);
+  SSL_SESSION_set_time(session.get(), time(nullptr));
 #endif
   return session;
 }
@@ -1331,9 +1326,7 @@
 
   bssl::UniquePtr<STACK_OF(X509_NAME)> stack(sk_X509_NAME_new_null());
   ASSERT_TRUE(stack);
-
-  ASSERT_TRUE(sk_X509_NAME_push(stack.get(), name_dup.get()));
-  name_dup.release();
+  ASSERT_TRUE(PushToStack(stack.get(), std::move(name_dup)));
 
   // |SSL_set_client_CA_list| takes ownership.
   SSL_set_client_CA_list(ssl.get(), stack.release());
@@ -1424,9 +1417,11 @@
     return nullptr;
   }
 
-  ret->session_id_length = SSL3_SSL_SESSION_ID_LENGTH;
-  OPENSSL_memset(ret->session_id, 0, ret->session_id_length);
-  OPENSSL_memcpy(ret->session_id, &number, sizeof(number));
+  uint8_t id[SSL3_SSL_SESSION_ID_LENGTH] = {0};
+  OPENSSL_memcpy(id, &number, sizeof(number));
+  if (!SSL_SESSION_set1_id(ret.get(), id, sizeof(id))) {
+    return nullptr;
+  }
   return ret;
 }
 
@@ -1538,7 +1533,8 @@
                                    bssl::UniquePtr<SSL> *out_server,
                                    SSL_CTX *client_ctx, SSL_CTX *server_ctx,
                                    const ClientConfig &config = ClientConfig(),
-                                   bool do_handshake = true) {
+                                   bool do_handshake = true,
+                                   bool shed_handshake_config = true) {
   bssl::UniquePtr<SSL> client(SSL_new(client_ctx)), server(SSL_new(server_ctx));
   if (!client || !server) {
     return false;
@@ -1562,6 +1558,9 @@
   SSL_set_bio(client.get(), bio1, bio1);
   SSL_set_bio(server.get(), bio2, bio2);
 
+  SSL_set_shed_handshake_config(client.get(), shed_handshake_config);
+  SSL_set_shed_handshake_config(server.get(), shed_handshake_config);
+
   if (do_handshake && !CompleteHandshakes(client.get(), server.get())) {
     return false;
   }
@@ -1608,7 +1607,8 @@
 
   bool Connect(const ClientConfig &config = ClientConfig()) {
     return ConnectClientAndServer(&client_, &server_, client_ctx_.get(),
-                                  server_ctx_.get(), config);
+                                  server_ctx_.get(), config, true,
+                                  shed_handshake_config_);
   }
 
   uint16_t version() const { return GetParam().version; }
@@ -1617,6 +1617,7 @@
     return GetParam().ssl_method == VersionParam::is_dtls;
   }
 
+  bool shed_handshake_config_ = true;
   bssl::UniquePtr<SSL> client_, server_;
   bssl::UniquePtr<SSL_CTX> server_ctx_, client_ctx_;
   bssl::UniquePtr<X509> cert_;
@@ -1719,7 +1720,7 @@
       bssl::SSL_SESSION_dup(session0, SSL_SESSION_DUP_ALL);
   ASSERT_TRUE(session1);
 
-  session1->not_resumable = 0;
+  session1->not_resumable = false;
 
   uint8_t *s0_bytes, *s1_bytes;
   size_t s0_len, s1_len;
@@ -1943,9 +1944,12 @@
   EXPECT_FALSE(peer);
 
   SSL_SESSION *session = SSL_get_session(server_.get());
-  EXPECT_TRUE(session->peer_sha256_valid);
+  EXPECT_TRUE(SSL_SESSION_has_peer_sha256(session));
 
-  EXPECT_EQ(Bytes(cert_sha256), Bytes(session->peer_sha256));
+  const uint8_t *peer_sha256;
+  size_t peer_sha256_len;
+  SSL_SESSION_get0_peer_sha256(session, &peer_sha256, &peer_sha256_len);
+  EXPECT_EQ(Bytes(cert_sha256), Bytes(peer_sha256, peer_sha256_len));
 }
 
 // Tests that our ClientHellos do not change unexpectedly. These are purely
@@ -1956,13 +1960,6 @@
     uint16_t max_version;
     std::vector<uint8_t> expected;
   } kTests[] = {
-    {SSL3_VERSION,
-     {0x16, 0x03, 0x00, 0x00, 0x3b, 0x01, 0x00, 0x00, 0x37, 0x03, 0x00,
-      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-      0x00, 0x10, 0xc0, 0x09, 0xc0, 0x13, 0xc0, 0x0a, 0xc0, 0x14, 0x00,
-      0x2f, 0x00, 0x35, 0x00, 0x0a, 0x00, 0xff, 0x01, 0x00}},
     {TLS1_VERSION,
      {0x16, 0x03, 0x01, 0x00, 0x5a, 0x01, 0x00, 0x00, 0x56, 0x03, 0x01, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
@@ -1982,14 +1979,13 @@
       0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x0b, 0x00, 0x02, 0x01, 0x00, 0x00,
       0x0a, 0x00, 0x08, 0x00, 0x06, 0x00, 0x1d, 0x00, 0x17, 0x00, 0x18}},
     {TLS1_2_VERSION,
-     {0x16, 0x03, 0x01, 0x00, 0x8e, 0x01, 0x00, 0x00, 0x8a, 0x03, 0x03, 0x00,
+     {0x16, 0x03, 0x01, 0x00, 0x82, 0x01, 0x00, 0x00, 0x7e, 0x03, 0x03, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2a, 0xcc, 0xa9,
+      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0xcc, 0xa9,
       0xcc, 0xa8, 0xc0, 0x2b, 0xc0, 0x2f, 0xc0, 0x2c, 0xc0, 0x30, 0xc0, 0x09,
-      0xc0, 0x23, 0xc0, 0x13, 0xc0, 0x27, 0xc0, 0x0a, 0xc0, 0x24, 0xc0, 0x14,
-      0xc0, 0x28, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x2f, 0x00, 0x3c, 0x00, 0x35,
-      0x00, 0x3d, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x37, 0xff, 0x01, 0x00, 0x01,
+      0xc0, 0x13, 0xc0, 0x0a, 0xc0, 0x14, 0x00, 0x9c, 0x00, 0x9d, 0x00, 0x2f,
+      0x00, 0x35, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x37, 0xff, 0x01, 0x00, 0x01,
       0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x0d, 0x00,
       0x14, 0x00, 0x12, 0x04, 0x03, 0x08, 0x04, 0x04, 0x01, 0x05, 0x03, 0x08,
       0x05, 0x05, 0x01, 0x08, 0x06, 0x06, 0x01, 0x02, 0x01, 0x00, 0x0b, 0x00,
@@ -2007,8 +2003,6 @@
     // Our default cipher list varies by CPU capabilities, so manually place the
     // ChaCha20 ciphers in front.
     const char *cipher_list = "CHACHA20:ALL";
-    // SSLv3 is off by default.
-    ASSERT_TRUE(SSL_CTX_set_min_proto_version(ctx.get(), SSL3_VERSION));
     ASSERT_TRUE(SSL_CTX_set_max_proto_version(ctx.get(), t.max_version));
     ASSERT_TRUE(SSL_CTX_set_strict_cipher_list(ctx.get(), cipher_list));
 
@@ -2247,12 +2241,15 @@
 }
 
 static bool GetServerTicketTime(long *out, const SSL_SESSION *session) {
-  if (session->tlsext_ticklen < 16 + 16 + SHA256_DIGEST_LENGTH) {
+  const uint8_t *ticket;
+  size_t ticket_len;
+  SSL_SESSION_get0_ticket(session, &ticket, &ticket_len);
+  if (ticket_len < 16 + 16 + SHA256_DIGEST_LENGTH) {
     return false;
   }
 
-  const uint8_t *ciphertext = session->tlsext_tick + 16 + 16;
-  size_t len = session->tlsext_ticklen - 16 - 16 - SHA256_DIGEST_LENGTH;
+  const uint8_t *ciphertext = ticket + 16 + 16;
+  size_t len = ticket_len - 16 - 16 - SHA256_DIGEST_LENGTH;
   std::unique_ptr<uint8_t[]> plaintext(new uint8_t[len]);
 
 #if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
@@ -2260,7 +2257,7 @@
   OPENSSL_memcpy(plaintext.get(), ciphertext, len);
 #else
   static const uint8_t kZeros[16] = {0};
-  const uint8_t *iv = session->tlsext_tick + 16;
+  const uint8_t *iv = ticket + 16;
   bssl::ScopedEVP_CIPHER_CTX ctx;
   int len1, len2;
   if (!EVP_DecryptInit_ex(ctx.get(), EVP_aes_128_cbc(), nullptr, kZeros, iv) ||
@@ -2282,7 +2279,7 @@
     return false;
   }
 
-  *out = server_session->time;
+  *out = SSL_SESSION_get_time(server_session.get());
   return true;
 }
 
@@ -2341,11 +2338,6 @@
                                     session.get(),
                                     false /* expect session not reused */));
 
-    // SSL 3.0 cannot renew sessions.
-    if (version() == SSL3_VERSION) {
-      continue;
-    }
-
     // Renew the session 10 seconds before expiration.
     time_t new_start_time = kStartTime + timeout - 10;
     g_current_time.tv_sec = new_start_time;
@@ -2361,7 +2353,7 @@
     if (server_test) {
       ASSERT_TRUE(GetServerTicketTime(&session_time, new_session.get()));
     } else {
-      session_time = new_session->time;
+      session_time = SSL_SESSION_get_time(new_session.get());
     }
 
     ASSERT_EQ(session_time, g_current_time.tv_sec);
@@ -2428,13 +2420,8 @@
 }
 
 TEST_P(SSLVersionTest, DefaultTicketKeyRotation) {
-  if (GetParam().version == SSL3_VERSION) {
-    return;
-  }
-
   static const time_t kStartTime = 1001;
   g_current_time.tv_sec = kStartTime;
-  uint8_t ticket_key[kTicketKeyLen];
 
   // We use session reuse as a proxy for ticket decryption success, hence
   // disable session timeouts.
@@ -2448,7 +2435,9 @@
   SSL_CTX_set_session_cache_mode(client_ctx_.get(), SSL_SESS_CACHE_BOTH);
   SSL_CTX_set_session_cache_mode(server_ctx_.get(), SSL_SESS_CACHE_OFF);
 
-  // Initialize ticket_key with the current key.
+  // Initialize ticket_key with the current key and check that it was
+  // initialized to something, not all zeros.
+  uint8_t ticket_key[kTicketKeyLen] = {0};
   TRACED_CALL(ExpectTicketKeyChanged(server_ctx_.get(), ticket_key,
                                      true /* changed */));
 
@@ -2501,11 +2490,6 @@
 }
 
 TEST_P(SSLVersionTest, SNICallback) {
-  // SSL 3.0 lacks extensions.
-  if (version() == SSL3_VERSION) {
-    return;
-  }
-
   bssl::UniquePtr<X509> cert2 = GetECDSATestCertificate();
   ASSERT_TRUE(cert2);
   bssl::UniquePtr<EVP_PKEY> key2 = GetECDSATestKey();
@@ -2611,12 +2595,13 @@
   EXPECT_TRUE(SSL_CTX_set_min_proto_version(ctx.get(), 0));
   EXPECT_EQ(TLS1_VERSION, ctx->conf_min_version);
 
-  // SSL 3.0 and TLS 1.3 are available, but not by default.
-  EXPECT_TRUE(SSL_CTX_set_min_proto_version(ctx.get(), SSL3_VERSION));
-  EXPECT_EQ(SSL3_VERSION, ctx->conf_min_version);
+  // TLS 1.3 is available, but not by default.
   EXPECT_TRUE(SSL_CTX_set_max_proto_version(ctx.get(), TLS1_3_VERSION));
   EXPECT_EQ(TLS1_3_VERSION, ctx->conf_max_version);
 
+  // SSL 3.0 is not available.
+  EXPECT_FALSE(SSL_CTX_set_min_proto_version(ctx.get(), SSL3_VERSION));
+
   // TLS1_3_DRAFT_VERSION is not an API-level version.
   EXPECT_FALSE(
       SSL_CTX_set_max_proto_version(ctx.get(), TLS1_3_DRAFT23_VERSION));
@@ -2647,8 +2632,6 @@
 
 static const char *GetVersionName(uint16_t version) {
   switch (version) {
-    case SSL3_VERSION:
-      return "SSLv3";
     case TLS1_VERSION:
       return "TLSv1";
     case TLS1_1_VERSION:
@@ -2689,11 +2672,6 @@
 // Tests that that |SSL_get_pending_cipher| is available during the ALPN
 // selection callback.
 TEST_P(SSLVersionTest, ALPNCipherAvailable) {
-  // SSL 3.0 lacks extensions.
-  if (version() == SSL3_VERSION) {
-    return;
-  }
-
   ASSERT_TRUE(UseCertAndKey(client_ctx_.get()));
 
   static const uint8_t kALPNProtos[] = {0x03, 'f', 'o', 'o'};
@@ -2729,6 +2707,7 @@
     return;
   }
 
+  shed_handshake_config_ = false;
   ASSERT_TRUE(Connect());
 
   EXPECT_FALSE(SSL_session_reused(client_.get()));
@@ -2746,6 +2725,25 @@
   EXPECT_TRUE(SSL_session_reused(server_.get()));
 }
 
+TEST_P(SSLVersionTest, SSLClearFailsWithShedding) {
+  shed_handshake_config_ = false;
+  ASSERT_TRUE(Connect());
+  ASSERT_TRUE(CompleteHandshakes(client_.get(), server_.get()));
+
+  // Reset everything.
+  ASSERT_TRUE(SSL_clear(client_.get()));
+  ASSERT_TRUE(SSL_clear(server_.get()));
+
+  // Now enable shedding, and connect a second time.
+  shed_handshake_config_ = true;
+  ASSERT_TRUE(Connect());
+  ASSERT_TRUE(CompleteHandshakes(client_.get(), server_.get()));
+
+  // |SSL_clear| should now fail.
+  ASSERT_FALSE(SSL_clear(client_.get()));
+  ASSERT_FALSE(SSL_clear(server_.get()));
+}
+
 static bool ChainsEqual(STACK_OF(X509) * chain,
                         const std::vector<X509 *> &expected) {
   if (sk_X509_num(chain) != expected.size()) {
@@ -2990,11 +2988,6 @@
 }
 
 TEST_P(SSLVersionTest, GetServerName) {
-  // No extensions in SSL 3.0.
-  if (version() == SSL3_VERSION) {
-    return;
-  }
-
   ClientConfig config;
   config.servername = "host1";
 
@@ -3245,8 +3238,7 @@
   bssl::UniquePtr<STACK_OF(CRYPTO_BUFFER)> ca_names(
       sk_CRYPTO_BUFFER_new_null());
   ASSERT_TRUE(ca_names);
-  ASSERT_TRUE(sk_CRYPTO_BUFFER_push(ca_names.get(), ca_name.get()));
-  ca_name.release();
+  ASSERT_TRUE(PushToStack(ca_names.get(), std::move(ca_name)));
   SSL_CTX_set0_client_CAs(server_ctx.get(), ca_names.release());
 
   // Configure client and server to accept all certificates.
@@ -3265,7 +3257,7 @@
   SSL_CTX_set_cert_cb(
       client_ctx.get(),
       [](SSL *ssl, void *arg) -> int {
-        STACK_OF(CRYPTO_BUFFER) *peer_names =
+        const STACK_OF(CRYPTO_BUFFER) *peer_names =
             SSL_get0_server_requested_CAs(ssl);
         EXPECT_EQ(1u, sk_CRYPTO_BUFFER_num(peer_names));
         CRYPTO_BUFFER *peer_name = sk_CRYPTO_BUFFER_value(peer_names, 0);
@@ -3926,6 +3918,69 @@
   EXPECT_TRUE(SSL_is_signature_algorithm_rsa_pss(SSL_SIGN_RSA_PSS_RSAE_SHA384));
 }
 
+static int XORCompressFunc(SSL *ssl, CBB *out, const uint8_t *in,
+                           size_t in_len) {
+  for (size_t i = 0; i < in_len; i++) {
+    if (!CBB_add_u8(out, in[i] ^ 0x55)) {
+      return 0;
+    }
+  }
+
+  SSL_set_app_data(ssl, XORCompressFunc);
+
+  return 1;
+}
+
+static int XORDecompressFunc(SSL *ssl, CRYPTO_BUFFER **out,
+                             size_t uncompressed_len, const uint8_t *in,
+                             size_t in_len) {
+  if (in_len != uncompressed_len) {
+    return 0;
+  }
+
+  uint8_t *data;
+  *out = CRYPTO_BUFFER_alloc(&data, uncompressed_len);
+  if (*out == nullptr) {
+    return 0;
+  }
+
+  for (size_t i = 0; i < in_len; i++) {
+    data[i] = in[i] ^ 0x55;
+  }
+
+  SSL_set_app_data(ssl, XORDecompressFunc);
+
+  return 1;
+}
+
+TEST(SSLTest, CertCompression) {
+  bssl::UniquePtr<SSL_CTX> client_ctx(SSL_CTX_new(TLS_method()));
+  bssl::UniquePtr<SSL_CTX> server_ctx(SSL_CTX_new(TLS_method()));
+  ASSERT_TRUE(client_ctx);
+  ASSERT_TRUE(server_ctx);
+
+  bssl::UniquePtr<X509> cert = GetTestCertificate();
+  bssl::UniquePtr<EVP_PKEY> key = GetTestKey();
+  ASSERT_TRUE(cert);
+  ASSERT_TRUE(key);
+  ASSERT_TRUE(SSL_CTX_use_certificate(server_ctx.get(), cert.get()));
+  ASSERT_TRUE(SSL_CTX_use_PrivateKey(server_ctx.get(), key.get()));
+
+  ASSERT_TRUE(SSL_CTX_set_max_proto_version(client_ctx.get(), TLS1_3_VERSION));
+  ASSERT_TRUE(SSL_CTX_set_max_proto_version(server_ctx.get(), TLS1_3_VERSION));
+  ASSERT_TRUE(SSL_CTX_add_cert_compression_alg(
+      client_ctx.get(), 0x1234, XORCompressFunc, XORDecompressFunc));
+  ASSERT_TRUE(SSL_CTX_add_cert_compression_alg(
+      server_ctx.get(), 0x1234, XORCompressFunc, XORDecompressFunc));
+
+  bssl::UniquePtr<SSL> client, server;
+  ASSERT_TRUE(ConnectClientAndServer(&client, &server, client_ctx.get(),
+                                     server_ctx.get()));
+
+  EXPECT_TRUE(SSL_get_app_data(client.get()) == XORDecompressFunc);
+  EXPECT_TRUE(SSL_get_app_data(server.get()) == XORCompressFunc);
+}
+
 void MoveBIOs(SSL *dest, SSL *src) {
   BIO *rbio = SSL_get_rbio(src);
   BIO_up_ref(rbio);
@@ -4064,6 +4119,294 @@
   EXPECT_EQ(43, byte);
 }
 
+static std::string SigAlgsToString(Span<const uint16_t> sigalgs) {
+  std::string ret = "{";
+
+  for (uint16_t v : sigalgs) {
+    if (ret.size() > 1) {
+      ret += ", ";
+    }
+
+    char buf[8];
+    snprintf(buf, sizeof(buf) - 1, "0x%02x", v);
+    buf[sizeof(buf)-1] = 0;
+    ret += std::string(buf);
+  }
+
+  ret += "}";
+  return ret;
+}
+
+void ExpectSigAlgsEqual(Span<const uint16_t> expected,
+                        Span<const uint16_t> actual) {
+  bool matches = false;
+  if (expected.size() == actual.size()) {
+    matches = true;
+
+    for (size_t i = 0; i < expected.size(); i++) {
+      if (expected[i] != actual[i]) {
+        matches = false;
+        break;
+      }
+    }
+  }
+
+  if (!matches) {
+    ADD_FAILURE() << "expected: " << SigAlgsToString(expected)
+                  << " got: " << SigAlgsToString(actual);
+  }
+}
+
+TEST(SSLTest, SigAlgs) {
+  static const struct {
+    std::vector<int> input;
+    bool ok;
+    std::vector<uint16_t> expected;
+  } kTests[] = {
+      {{}, true, {}},
+      {{1}, false, {}},
+      {{1, 2, 3}, false, {}},
+      {{NID_sha256, EVP_PKEY_ED25519}, false, {}},
+      {{NID_sha256, EVP_PKEY_RSA, NID_sha256, EVP_PKEY_RSA}, false, {}},
+
+      {{NID_sha256, EVP_PKEY_RSA}, true, {SSL_SIGN_RSA_PKCS1_SHA256}},
+      {{NID_sha512, EVP_PKEY_RSA}, true, {SSL_SIGN_RSA_PKCS1_SHA512}},
+      {{NID_sha256, EVP_PKEY_RSA_PSS}, true, {SSL_SIGN_RSA_PSS_RSAE_SHA256}},
+      {{NID_undef, EVP_PKEY_ED25519}, true, {SSL_SIGN_ED25519}},
+      {{NID_undef, EVP_PKEY_ED25519, NID_sha384, EVP_PKEY_EC},
+       true,
+       {SSL_SIGN_ED25519, SSL_SIGN_ECDSA_SECP384R1_SHA384}},
+  };
+
+  UniquePtr<SSL_CTX> ctx(SSL_CTX_new(TLS_method()));
+
+  unsigned n = 1;
+  for (const auto &test : kTests) {
+    SCOPED_TRACE(n++);
+
+    const bool ok =
+        SSL_CTX_set1_sigalgs(ctx.get(), test.input.data(), test.input.size());
+    EXPECT_EQ(ok, test.ok);
+
+    if (!ok) {
+      ERR_clear_error();
+    }
+
+    if (!test.ok) {
+      continue;
+    }
+
+    ExpectSigAlgsEqual(test.expected, ctx->cert->sigalgs);
+  }
+}
+
+TEST(SSLTest, SigAlgsList) {
+  static const struct {
+    const char *input;
+    bool ok;
+    std::vector<uint16_t> expected;
+  } kTests[] = {
+      {"", false, {}},
+      {":", false, {}},
+      {"+", false, {}},
+      {"RSA", false, {}},
+      {"RSA+", false, {}},
+      {"RSA+SHA256:", false, {}},
+      {":RSA+SHA256:", false, {}},
+      {":RSA+SHA256+:", false, {}},
+      {"!", false, {}},
+      {"\x01", false, {}},
+      {"RSA+SHA256:RSA+SHA384:RSA+SHA256", false, {}},
+      {"RSA-PSS+SHA256:rsa_pss_rsae_sha256", false, {}},
+
+      {"RSA+SHA256", true, {SSL_SIGN_RSA_PKCS1_SHA256}},
+      {"RSA+SHA256:ed25519",
+       true,
+       {SSL_SIGN_RSA_PKCS1_SHA256, SSL_SIGN_ED25519}},
+      {"ECDSA+SHA256:RSA+SHA512",
+       true,
+       {SSL_SIGN_ECDSA_SECP256R1_SHA256, SSL_SIGN_RSA_PKCS1_SHA512}},
+      {"ecdsa_secp256r1_sha256:rsa_pss_rsae_sha256",
+       true,
+       {SSL_SIGN_ECDSA_SECP256R1_SHA256, SSL_SIGN_RSA_PSS_RSAE_SHA256}},
+      {"RSA-PSS+SHA256", true, {SSL_SIGN_RSA_PSS_RSAE_SHA256}},
+      {"PSS+SHA256", true, {SSL_SIGN_RSA_PSS_RSAE_SHA256}},
+  };
+
+  UniquePtr<SSL_CTX> ctx(SSL_CTX_new(TLS_method()));
+
+  unsigned n = 1;
+  for (const auto &test : kTests) {
+    SCOPED_TRACE(n++);
+
+    const bool ok = SSL_CTX_set1_sigalgs_list(ctx.get(), test.input);
+    EXPECT_EQ(ok, test.ok);
+
+    if (!ok) {
+      if (test.ok) {
+        ERR_print_errors_fp(stderr);
+      }
+      ERR_clear_error();
+    }
+
+    if (!test.ok) {
+      continue;
+    }
+
+    ExpectSigAlgsEqual(test.expected, ctx->cert->sigalgs);
+  }
+}
+
+TEST_P(SSLVersionTest, VerifyBeforeCertRequest) {
+  // Configure the server to request client certificates.
+  SSL_CTX_set_custom_verify(
+      server_ctx_.get(), SSL_VERIFY_PEER,
+      [](SSL *ssl, uint8_t *out_alert) { return ssl_verify_ok; });
+
+  // Configure the client to reject the server certificate.
+  SSL_CTX_set_custom_verify(
+      client_ctx_.get(), SSL_VERIFY_PEER,
+      [](SSL *ssl, uint8_t *out_alert) { return ssl_verify_invalid; });
+
+  // cert_cb should not be called. Verification should fail first.
+  SSL_CTX_set_cert_cb(client_ctx_.get(),
+                      [](SSL *ssl, void *arg) {
+                        ADD_FAILURE() << "cert_cb unexpectedly called";
+                        return 0;
+                      },
+                      nullptr);
+
+  bssl::UniquePtr<SSL> client, server;
+  EXPECT_FALSE(ConnectClientAndServer(&client, &server, client_ctx_.get(),
+                                      server_ctx_.get()));
+}
+
+// These tests test multi-threaded behavior. They are intended to run with
+// ThreadSanitizer.
+#if !defined(OPENSSL_NO_THREADS)
+TEST_P(SSLVersionTest, SessionCacheThreads) {
+  SSL_CTX_set_options(server_ctx_.get(), SSL_OP_NO_TICKET);
+  SSL_CTX_set_session_cache_mode(client_ctx_.get(), SSL_SESS_CACHE_BOTH);
+  SSL_CTX_set_session_cache_mode(server_ctx_.get(), SSL_SESS_CACHE_BOTH);
+
+  if (version() == TLS1_3_VERSION) {
+    // Our TLS 1.3 implementation does not support stateful resumption.
+    ASSERT_FALSE(CreateClientSession(client_ctx_.get(), server_ctx_.get()));
+    return;
+  }
+
+  // Establish two client sessions to test with.
+  bssl::UniquePtr<SSL_SESSION> session1 =
+      CreateClientSession(client_ctx_.get(), server_ctx_.get());
+  ASSERT_TRUE(session1);
+  bssl::UniquePtr<SSL_SESSION> session2 =
+      CreateClientSession(client_ctx_.get(), server_ctx_.get());
+  ASSERT_TRUE(session2);
+
+  auto connect_with_session = [&](SSL_SESSION *session) {
+    ClientConfig config;
+    config.session = session;
+    UniquePtr<SSL> client, server;
+    EXPECT_TRUE(ConnectClientAndServer(&client, &server, client_ctx_.get(),
+                                       server_ctx_.get(), config));
+  };
+
+  // Resume sessions in parallel with establishing new ones.
+  {
+    std::vector<std::thread> threads;
+    threads.emplace_back([&] { connect_with_session(nullptr); });
+    threads.emplace_back([&] { connect_with_session(nullptr); });
+    threads.emplace_back([&] { connect_with_session(session1.get()); });
+    threads.emplace_back([&] { connect_with_session(session1.get()); });
+    threads.emplace_back([&] { connect_with_session(session2.get()); });
+    threads.emplace_back([&] { connect_with_session(session2.get()); });
+    for (auto &thread : threads) {
+      thread.join();
+    }
+  }
+
+  // Hit the maximum session cache size across multiple threads
+  size_t limit = SSL_CTX_sess_number(server_ctx_.get()) + 2;
+  SSL_CTX_sess_set_cache_size(server_ctx_.get(), limit);
+  {
+    std::vector<std::thread> threads;
+    for (int i = 0; i < 4; i++) {
+      threads.emplace_back([&]() {
+        connect_with_session(nullptr);
+        EXPECT_LE(SSL_CTX_sess_number(server_ctx_.get()), limit);
+      });
+    }
+    for (auto &thread : threads) {
+      thread.join();
+    }
+    EXPECT_EQ(SSL_CTX_sess_number(server_ctx_.get()), limit);
+  }
+}
+
+TEST_P(SSLVersionTest, SessionTicketThreads) {
+  for (bool renew_ticket : {false, true}) {
+    SCOPED_TRACE(renew_ticket);
+    ResetContexts();
+    SSL_CTX_set_session_cache_mode(client_ctx_.get(), SSL_SESS_CACHE_BOTH);
+    SSL_CTX_set_session_cache_mode(server_ctx_.get(), SSL_SESS_CACHE_BOTH);
+    if (renew_ticket) {
+      SSL_CTX_set_tlsext_ticket_key_cb(server_ctx_.get(), RenewTicketCallback);
+    }
+
+    // Establish two client sessions to test with.
+    bssl::UniquePtr<SSL_SESSION> session1 =
+        CreateClientSession(client_ctx_.get(), server_ctx_.get());
+    ASSERT_TRUE(session1);
+    bssl::UniquePtr<SSL_SESSION> session2 =
+        CreateClientSession(client_ctx_.get(), server_ctx_.get());
+    ASSERT_TRUE(session2);
+
+    auto connect_with_session = [&](SSL_SESSION *session) {
+      ClientConfig config;
+      config.session = session;
+      UniquePtr<SSL> client, server;
+      EXPECT_TRUE(ConnectClientAndServer(&client, &server, client_ctx_.get(),
+                                         server_ctx_.get(), config));
+    };
+
+    // Resume sessions in parallel with establishing new ones.
+    {
+      std::vector<std::thread> threads;
+      threads.emplace_back([&] { connect_with_session(nullptr); });
+      threads.emplace_back([&] { connect_with_session(nullptr); });
+      threads.emplace_back([&] { connect_with_session(session1.get()); });
+      threads.emplace_back([&] { connect_with_session(session1.get()); });
+      threads.emplace_back([&] { connect_with_session(session2.get()); });
+      threads.emplace_back([&] { connect_with_session(session2.get()); });
+      for (auto &thread : threads) {
+        thread.join();
+      }
+    }
+  }
+}
+
+// SSL_CTX_get0_certificate needs to lock internally. Test this works.
+TEST(SSLTest, GetCertificateThreads) {
+  bssl::UniquePtr<SSL_CTX> ctx(SSL_CTX_new(TLS_method()));
+  ASSERT_TRUE(ctx);
+  bssl::UniquePtr<X509> cert = GetTestCertificate();
+  ASSERT_TRUE(cert);
+  ASSERT_TRUE(SSL_CTX_use_certificate(ctx.get(), cert.get()));
+
+  // Existing code expects |SSL_CTX_get0_certificate| to be callable from two
+  // threads concurrently. It originally was an immutable operation. Now we
+  // implement it with a thread-safe cache, so it is worth testing.
+  X509 *cert2_thread;
+  std::thread thread(
+      [&] { cert2_thread = SSL_CTX_get0_certificate(ctx.get()); });
+  X509 *cert2 = SSL_CTX_get0_certificate(ctx.get());
+  thread.join();
+
+  EXPECT_EQ(cert2, cert2_thread);
+  EXPECT_EQ(0, X509_cmp(cert.get(), cert2));
+}
+#endif
+
 // TODO(davidben): Convert this file to GTest properly.
 TEST(SSLTest, AllTests) {
   if (!TestSSL_SESSIONEncoding(kOpenSSLSession) ||
@@ -4079,7 +4422,7 @@
       !TestPaddingExtension(TLS1_3_VERSION, TLS1_2_VERSION) ||
       // Test the padding extension at TLS 1.3 with a TLS 1.3 session, so there
       // will be a PSK binder after the padding extension.
-      !TestPaddingExtension(TLS1_3_VERSION, TLS1_3_DRAFT23_VERSION)) {
+      !TestPaddingExtension(TLS1_3_VERSION, TLS1_3_VERSION)) {
     ADD_FAILURE() << "Tests failed";
   }
 }
diff --git a/src/ssl/ssl_transcript.cc b/src/ssl/ssl_transcript.cc
index 345f9d3..24b86bf 100644
--- a/src/ssl/ssl_transcript.cc
+++ b/src/ssl/ssl_transcript.cc
@@ -135,18 +135,9 @@
 
 #include <openssl/ssl.h>
 
-#include <assert.h>
-#include <string.h>
-
 #include <openssl/buf.h>
 #include <openssl/digest.h>
-#include <openssl/err.h>
-#include <openssl/mem.h>
-#include <openssl/md5.h>
-#include <openssl/nid.h>
-#include <openssl/sha.h>
 
-#include "../crypto/internal.h"
 #include "internal.h"
 
 
@@ -163,7 +154,6 @@
   }
 
   hash_.Reset();
-  md5_.Reset();
   return true;
 }
 
@@ -180,17 +170,6 @@
 
 bool SSLTranscript::InitHash(uint16_t version, const SSL_CIPHER *cipher) {
   const EVP_MD *md = ssl_get_handshake_digest(version, cipher);
-
-  // To support SSL 3.0's Finished and CertificateVerify constructions,
-  // EVP_md5_sha1() is split into MD5 and SHA-1 halves. When SSL 3.0 is removed,
-  // we can simplify this.
-  if (md == EVP_md5_sha1()) {
-    if (!InitDigestWithData(md5_.get(), EVP_md5(), buffer_.get())) {
-      return false;
-    }
-    md = EVP_sha1();
-  }
-
   return InitDigestWithData(hash_.get(), md, buffer_.get());
 }
 
@@ -203,9 +182,6 @@
 }
 
 const EVP_MD *SSLTranscript::Digest() const {
-  if (EVP_MD_CTX_md(md5_.get()) != nullptr) {
-    return EVP_md5_sha1();
-  }
   return EVP_MD_CTX_md(hash_.get());
 }
 
@@ -244,146 +220,40 @@
   if (EVP_MD_CTX_md(hash_.get()) != NULL) {
     EVP_DigestUpdate(hash_.get(), in.data(), in.size());
   }
-  if (EVP_MD_CTX_md(md5_.get()) != NULL) {
-    EVP_DigestUpdate(md5_.get(), in.data(), in.size());
-  }
 
   return true;
 }
 
 bool SSLTranscript::GetHash(uint8_t *out, size_t *out_len) {
   ScopedEVP_MD_CTX ctx;
-  unsigned md5_len = 0;
-  if (EVP_MD_CTX_md(md5_.get()) != NULL) {
-    if (!EVP_MD_CTX_copy_ex(ctx.get(), md5_.get()) ||
-        !EVP_DigestFinal_ex(ctx.get(), out, &md5_len)) {
-      return false;
-    }
-  }
-
   unsigned len;
   if (!EVP_MD_CTX_copy_ex(ctx.get(), hash_.get()) ||
-      !EVP_DigestFinal_ex(ctx.get(), out + md5_len, &len)) {
+      !EVP_DigestFinal_ex(ctx.get(), out, &len)) {
     return false;
   }
-
-  *out_len = md5_len + len;
-  return true;
-}
-
-static bool SSL3HandshakeMAC(const SSL_SESSION *session,
-                             const EVP_MD_CTX *ctx_template, const char *sender,
-                             size_t sender_len, uint8_t *p, size_t *out_len) {
-  ScopedEVP_MD_CTX ctx;
-  if (!EVP_MD_CTX_copy_ex(ctx.get(), ctx_template)) {
-    OPENSSL_PUT_ERROR(SSL, ERR_LIB_EVP);
-    return false;
-  }
-
-  static const uint8_t kPad1[48] = {
-      0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-      0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-      0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-      0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36, 0x36,
-  };
-
-  static const uint8_t kPad2[48] = {
-      0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
-      0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
-      0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
-      0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c, 0x5c,
-  };
-
-  size_t n = EVP_MD_CTX_size(ctx.get());
-
-  size_t npad = (48 / n) * n;
-  EVP_DigestUpdate(ctx.get(), sender, sender_len);
-  EVP_DigestUpdate(ctx.get(), session->master_key, session->master_key_length);
-  EVP_DigestUpdate(ctx.get(), kPad1, npad);
-  unsigned md_buf_len;
-  uint8_t md_buf[EVP_MAX_MD_SIZE];
-  EVP_DigestFinal_ex(ctx.get(), md_buf, &md_buf_len);
-
-  if (!EVP_DigestInit_ex(ctx.get(), EVP_MD_CTX_md(ctx.get()), NULL)) {
-    OPENSSL_PUT_ERROR(SSL, ERR_LIB_EVP);
-    return false;
-  }
-  EVP_DigestUpdate(ctx.get(), session->master_key, session->master_key_length);
-  EVP_DigestUpdate(ctx.get(), kPad2, npad);
-  EVP_DigestUpdate(ctx.get(), md_buf, md_buf_len);
-  unsigned len;
-  EVP_DigestFinal_ex(ctx.get(), p, &len);
-
   *out_len = len;
   return true;
 }
 
-bool SSLTranscript::GetSSL3CertVerifyHash(uint8_t *out, size_t *out_len,
-                                          const SSL_SESSION *session,
-                                          uint16_t signature_algorithm) {
-  if (Digest() != EVP_md5_sha1()) {
-    OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-    return false;
-  }
-
-  if (signature_algorithm == SSL_SIGN_RSA_PKCS1_MD5_SHA1) {
-    size_t md5_len, len;
-    if (!SSL3HandshakeMAC(session, md5_.get(), NULL, 0, out, &md5_len) ||
-        !SSL3HandshakeMAC(session, hash_.get(), NULL, 0, out + md5_len, &len)) {
-      return false;
-    }
-    *out_len = md5_len + len;
-    return true;
-  }
-
-  if (signature_algorithm == SSL_SIGN_ECDSA_SHA1) {
-    return SSL3HandshakeMAC(session, hash_.get(), NULL, 0, out, out_len);
-  }
-
-  OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-  return false;
-}
-
 bool SSLTranscript::GetFinishedMAC(uint8_t *out, size_t *out_len,
                                    const SSL_SESSION *session,
                                    bool from_server) {
-  if (session->ssl_version == SSL3_VERSION) {
-    if (Digest() != EVP_md5_sha1()) {
-      OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-      return false;
-    }
-
-    const char *sender = from_server ? SSL3_MD_SERVER_FINISHED_CONST
-                                     : SSL3_MD_CLIENT_FINISHED_CONST;
-    const size_t sender_len = 4;
-    size_t md5_len, len;
-    if (!SSL3HandshakeMAC(session, md5_.get(), sender, sender_len, out,
-                          &md5_len) ||
-        !SSL3HandshakeMAC(session, hash_.get(), sender, sender_len,
-                          out + md5_len, &len)) {
-      return false;
-    }
-
-    *out_len = md5_len + len;
-    return true;
-  }
-
   static const char kClientLabel[] = "client finished";
   static const char kServerLabel[] = "server finished";
   auto label = from_server
                    ? MakeConstSpan(kServerLabel, sizeof(kServerLabel) - 1)
                    : MakeConstSpan(kClientLabel, sizeof(kClientLabel) - 1);
 
-  uint8_t digests[EVP_MAX_MD_SIZE];
-  size_t digests_len;
-  if (!GetHash(digests, &digests_len)) {
+  uint8_t digest[EVP_MAX_MD_SIZE];
+  size_t digest_len;
+  if (!GetHash(digest, &digest_len)) {
     return false;
   }
 
   static const size_t kFinishedLen = 12;
   if (!tls1_prf(Digest(), MakeSpan(out, kFinishedLen),
                 MakeConstSpan(session->master_key, session->master_key_length),
-                label, MakeConstSpan(digests, digests_len), {})) {
+                label, MakeConstSpan(digest, digest_len), {})) {
     return false;
   }
 
diff --git a/src/ssl/ssl_versions.cc b/src/ssl/ssl_versions.cc
index 73ea26f..6a8143d 100644
--- a/src/ssl/ssl_versions.cc
+++ b/src/ssl/ssl_versions.cc
@@ -27,7 +27,6 @@
 
 bool ssl_protocol_version_from_wire(uint16_t *out, uint16_t version) {
   switch (version) {
-    case SSL3_VERSION:
     case TLS1_VERSION:
     case TLS1_1_VERSION:
     case TLS1_2_VERSION:
@@ -57,12 +56,11 @@
 // decreasing preference.
 
 static const uint16_t kTLSVersions[] = {
-    TLS1_3_DRAFT23_VERSION,
     TLS1_3_DRAFT28_VERSION,
+    TLS1_3_DRAFT23_VERSION,
     TLS1_2_VERSION,
     TLS1_1_VERSION,
     TLS1_VERSION,
-    SSL3_VERSION,
 };
 
 static const uint16_t kDTLSVersions[] = {
@@ -81,8 +79,8 @@
   }
 }
 
-static bool method_supports_version(const SSL_PROTOCOL_METHOD *method,
-                                    uint16_t version) {
+bool ssl_method_supports_version(const SSL_PROTOCOL_METHOD *method,
+                                 uint16_t version) {
   const uint16_t *versions;
   size_t num_versions;
   get_method_versions(method, &versions, &num_versions);
@@ -114,9 +112,6 @@
     case TLS1_VERSION:
       return "TLSv1";
 
-    case SSL3_VERSION:
-      return "SSLv3";
-
     case DTLS1_VERSION:
       return "DTLSv1";
 
@@ -164,7 +159,7 @@
 static bool set_version_bound(const SSL_PROTOCOL_METHOD *method, uint16_t *out,
                               uint16_t version) {
   if (!api_version_to_wire(&version, version) ||
-      !method_supports_version(method, version) ||
+      !ssl_method_supports_version(method, version) ||
       !ssl_protocol_version_from_wire(out, version)) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_UNKNOWN_SSL_VERSION);
     return false;
@@ -177,7 +172,7 @@
                             uint16_t version) {
   // Zero is interpreted as the default minimum version.
   if (version == 0) {
-    // SSL 3.0 is disabled by default and TLS 1.0 does not exist in DTLS.
+    // TLS 1.0 does not exist in DTLS.
     *out = method->is_dtls ? TLS1_1_VERSION : TLS1_VERSION;
     return true;
   }
@@ -200,27 +195,26 @@
   uint16_t version;
   uint32_t flag;
 } kProtocolVersions[] = {
-    {SSL3_VERSION, SSL_OP_NO_SSLv3},
     {TLS1_VERSION, SSL_OP_NO_TLSv1},
     {TLS1_1_VERSION, SSL_OP_NO_TLSv1_1},
     {TLS1_2_VERSION, SSL_OP_NO_TLSv1_2},
     {TLS1_3_VERSION, SSL_OP_NO_TLSv1_3},
 };
 
-bool ssl_get_version_range(const SSL *ssl, uint16_t *out_min_version,
+bool ssl_get_version_range(const SSL_HANDSHAKE *hs, uint16_t *out_min_version,
                            uint16_t *out_max_version) {
   // For historical reasons, |SSL_OP_NO_DTLSv1| aliases |SSL_OP_NO_TLSv1|, but
   // DTLS 1.0 should be mapped to TLS 1.1.
-  uint32_t options = ssl->options;
-  if (SSL_is_dtls(ssl)) {
+  uint32_t options = hs->ssl->options;
+  if (SSL_is_dtls(hs->ssl)) {
     options &= ~SSL_OP_NO_TLSv1_1;
     if (options & SSL_OP_NO_DTLSv1) {
       options |= SSL_OP_NO_TLSv1_1;
     }
   }
 
-  uint16_t min_version = ssl->conf_min_version;
-  uint16_t max_version = ssl->conf_max_version;
+  uint16_t min_version = hs->config->conf_min_version;
+  uint16_t max_version = hs->config->conf_max_version;
 
   // OpenSSL's API for controlling versions entails blacklisting individual
   // protocols. This has two problems. First, on the client, the protocol can
@@ -292,24 +286,27 @@
 bool ssl_supports_version(SSL_HANDSHAKE *hs, uint16_t version) {
   SSL *const ssl = hs->ssl;
   uint16_t protocol_version;
-  if (!method_supports_version(ssl->method, version) ||
+  if (!ssl_method_supports_version(ssl->method, version) ||
       !ssl_protocol_version_from_wire(&protocol_version, version) ||
       hs->min_version > protocol_version ||
       protocol_version > hs->max_version) {
     return false;
   }
 
-  // This logic is part of the TLS 1.3 variants mechanism used in TLS 1.3
-  // experimentation. TLS 1.3 variants must match the enabled |tls13_variant|.
-  if (protocol_version != TLS1_3_VERSION ||
-      (ssl->tls13_variant == tls13_draft28 &&
-       version == TLS1_3_DRAFT28_VERSION) ||
-      (ssl->tls13_variant == tls13_default &&
-       version == TLS1_3_DRAFT23_VERSION)) {
-    return true;
+  // If the TLS 1.3 variant is set to |tls13_default|, all variants are enabled,
+  // otherwise only the matching version is enabled.
+  if (protocol_version == TLS1_3_VERSION) {
+    switch (ssl->tls13_variant) {
+      case tls13_draft23:
+        return version == TLS1_3_DRAFT23_VERSION;
+      case tls13_draft28:
+        return version == TLS1_3_DRAFT28_VERSION;
+      case tls13_default:
+        return true;
+    }
   }
 
-  return false;
+  return true;
 }
 
 bool ssl_add_supported_versions(SSL_HANDSHAKE *hs, CBB *cbb) {
@@ -373,11 +370,17 @@
 }
 
 int SSL_set_min_proto_version(SSL *ssl, uint16_t version) {
-  return set_min_version(ssl->method, &ssl->conf_min_version, version);
+  if (!ssl->config) {
+    return 0;
+  }
+  return set_min_version(ssl->method, &ssl->config->conf_min_version, version);
 }
 
 int SSL_set_max_proto_version(SSL *ssl, uint16_t version) {
-  return set_max_version(ssl->method, &ssl->conf_max_version, version);
+  if (!ssl->config) {
+    return 0;
+  }
+  return set_max_version(ssl->method, &ssl->config->conf_max_version, version);
 }
 
 int SSL_version(const SSL *ssl) {
diff --git a/src/ssl/ssl_x509.cc b/src/ssl/ssl_x509.cc
index cb35339..ef09589 100644
--- a/src/ssl/ssl_x509.cc
+++ b/src/ssl/ssl_x509.cc
@@ -209,13 +209,10 @@
       return 0;
     }
 
-    CRYPTO_BUFFER *leaf = sk_CRYPTO_BUFFER_value(cert->chain.get(), 0);
-    if (!sk_CRYPTO_BUFFER_push(new_chain.get(), leaf)) {
-      return 0;
-    }
     // |leaf| might be NULL if it's a “leafless” chain.
-    if (leaf != nullptr) {
-      CRYPTO_BUFFER_up_ref(leaf);
+    CRYPTO_BUFFER *leaf = sk_CRYPTO_BUFFER_value(cert->chain.get(), 0);
+    if (!PushToStack(new_chain.get(), UpRef(leaf))) {
+      return 0;
     }
   }
 
@@ -252,11 +249,10 @@
     STACK_OF(CRYPTO_BUFFER) *names) {
   for (const CRYPTO_BUFFER *buffer : names) {
     const uint8_t *inp = CRYPTO_BUFFER_data(buffer);
-    X509_NAME *name = d2i_X509_NAME(NULL, &inp, CRYPTO_BUFFER_len(buffer));
-    const int ok = name != NULL && inp == CRYPTO_BUFFER_data(buffer) +
-                                              CRYPTO_BUFFER_len(buffer);
-    X509_NAME_free(name);
-    if (!ok) {
+    UniquePtr<X509_NAME> name(
+        d2i_X509_NAME(nullptr, &inp, CRYPTO_BUFFER_len(buffer)));
+    if (name == nullptr ||
+        inp != CRYPTO_BUFFER_data(buffer) + CRYPTO_BUFFER_len(buffer)) {
       return 0;
     }
   }
@@ -286,7 +282,7 @@
 
 static int ssl_crypto_x509_session_cache_objects(SSL_SESSION *sess) {
   bssl::UniquePtr<STACK_OF(X509)> chain;
-  if (sk_CRYPTO_BUFFER_num(sess->certs) > 0) {
+  if (sk_CRYPTO_BUFFER_num(sess->certs.get()) > 0) {
     chain.reset(sk_X509_new_null());
     if (!chain) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_MALLOC_FAILURE);
@@ -295,7 +291,7 @@
   }
 
   X509 *leaf = nullptr;
-  for (CRYPTO_BUFFER *cert : sess->certs) {
+  for (CRYPTO_BUFFER *cert : sess->certs.get()) {
     UniquePtr<X509> x509(X509_parse_from_buffer(cert));
     if (!x509) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
@@ -349,7 +345,7 @@
 }
 
 static int ssl_crypto_x509_session_verify_cert_chain(SSL_SESSION *session,
-                                                     SSL *ssl,
+                                                     SSL_HANDSHAKE *hs,
                                                      uint8_t *out_alert) {
   *out_alert = SSL_AD_INTERNAL_ERROR;
   STACK_OF(X509) *const cert_chain = session->x509_chain;
@@ -357,9 +353,10 @@
     return 0;
   }
 
-  X509_STORE *verify_store = ssl->ctx->cert_store;
-  if (ssl->cert->verify_store != NULL) {
-    verify_store = ssl->cert->verify_store;
+  SSL_CTX *ssl_ctx = hs->ssl->ctx.get();
+  X509_STORE *verify_store = ssl_ctx->cert_store;
+  if (hs->config->cert->verify_store != NULL) {
+    verify_store = hs->config->cert->verify_store;
   }
 
   X509 *leaf = sk_X509_value(cert_chain, 0);
@@ -368,8 +365,8 @@
     OPENSSL_PUT_ERROR(SSL, ERR_R_X509_LIB);
     return 0;
   }
-  if (!X509_STORE_CTX_set_ex_data(ctx.get(),
-                                  SSL_get_ex_data_X509_STORE_CTX_idx(), ssl)) {
+  if (!X509_STORE_CTX_set_ex_data(
+          ctx.get(), SSL_get_ex_data_X509_STORE_CTX_idx(), hs->ssl)) {
     return 0;
   }
 
@@ -377,19 +374,20 @@
   // context: if its a server it will verify SSL client certificates or vice
   // versa.
   X509_STORE_CTX_set_default(ctx.get(),
-                             ssl->server ? "ssl_client" : "ssl_server");
+                             hs->ssl->server ? "ssl_client" : "ssl_server");
 
   // Anything non-default in "param" should overwrite anything in the ctx.
-  X509_VERIFY_PARAM_set1(X509_STORE_CTX_get0_param(ctx.get()), ssl->param);
+  X509_VERIFY_PARAM_set1(X509_STORE_CTX_get0_param(ctx.get()),
+                         hs->config->param);
 
-  if (ssl->verify_callback) {
-    X509_STORE_CTX_set_verify_cb(ctx.get(), ssl->verify_callback);
+  if (hs->config->verify_callback) {
+    X509_STORE_CTX_set_verify_cb(ctx.get(), hs->config->verify_callback);
   }
 
   int verify_ret;
-  if (ssl->ctx->app_verify_callback != NULL) {
+  if (ssl_ctx->app_verify_callback != NULL) {
     verify_ret =
-        ssl->ctx->app_verify_callback(ctx.get(), ssl->ctx->app_verify_arg);
+        ssl_ctx->app_verify_callback(ctx.get(), ssl_ctx->app_verify_arg);
   } else {
     verify_ret = X509_verify_cert(ctx.get());
   }
@@ -397,7 +395,7 @@
   session->verify_result = ctx->error;
 
   // If |SSL_VERIFY_NONE|, the error is non-fatal, but we keep the result.
-  if (verify_ret <= 0 && ssl->verify_mode != SSL_VERIFY_NONE) {
+  if (verify_ret <= 0 && hs->config->verify_mode != SSL_VERIFY_NONE) {
     *out_alert = SSL_alert_from_verify_result(ctx->error);
     return 0;
   }
@@ -411,44 +409,45 @@
   hs->cached_x509_ca_names = NULL;
 }
 
-static int ssl_crypto_x509_ssl_new(SSL *ssl) {
-  ssl->param = X509_VERIFY_PARAM_new();
-  if (ssl->param == NULL) {
+static int ssl_crypto_x509_ssl_new(SSL_HANDSHAKE *hs) {
+  hs->config->param = X509_VERIFY_PARAM_new();
+  if (hs->config->param == NULL) {
     return 0;
   }
-  X509_VERIFY_PARAM_inherit(ssl->param, ssl->ctx->param);
+  X509_VERIFY_PARAM_inherit(hs->config->param, hs->ssl->ctx->param);
   return 1;
 }
 
-static void ssl_crypto_x509_ssl_flush_cached_client_CA(SSL *ssl) {
-  sk_X509_NAME_pop_free(ssl->cached_x509_client_CA, X509_NAME_free);
-  ssl->cached_x509_client_CA = NULL;
+static void ssl_crypto_x509_ssl_flush_cached_client_CA(SSL_CONFIG *cfg) {
+  sk_X509_NAME_pop_free(cfg->cached_x509_client_CA, X509_NAME_free);
+  cfg->cached_x509_client_CA = NULL;
 }
 
-static void ssl_crypto_x509_ssl_free(SSL *ssl) {
-  ssl_crypto_x509_ssl_flush_cached_client_CA(ssl);
-  X509_VERIFY_PARAM_free(ssl->param);
+static void ssl_crypto_x509_ssl_config_free(SSL_CONFIG *cfg) {
+  sk_X509_NAME_pop_free(cfg->cached_x509_client_CA, X509_NAME_free);
+  cfg->cached_x509_client_CA = NULL;
+  X509_VERIFY_PARAM_free(cfg->param);
 }
 
-static int ssl_crypto_x509_ssl_auto_chain_if_needed(SSL *ssl) {
+static int ssl_crypto_x509_ssl_auto_chain_if_needed(SSL_HANDSHAKE *hs) {
   // Only build a chain if there are no intermediates configured and the feature
   // isn't disabled.
-  if ((ssl->mode & SSL_MODE_NO_AUTO_CHAIN) ||
-      !ssl_has_certificate(ssl) ||
-      ssl->cert->chain == nullptr ||
-      sk_CRYPTO_BUFFER_num(ssl->cert->chain.get()) > 1) {
+  if ((hs->ssl->mode & SSL_MODE_NO_AUTO_CHAIN) ||
+      !ssl_has_certificate(hs->config) || hs->config->cert->chain == NULL ||
+      sk_CRYPTO_BUFFER_num(hs->config->cert->chain.get()) > 1) {
     return 1;
   }
 
   UniquePtr<X509> leaf(X509_parse_from_buffer(
-      sk_CRYPTO_BUFFER_value(ssl->cert->chain.get(), 0)));
+      sk_CRYPTO_BUFFER_value(hs->config->cert->chain.get(), 0)));
   if (!leaf) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_X509_LIB);
     return 0;
   }
 
   ScopedX509_STORE_CTX ctx;
-  if (!X509_STORE_CTX_init(ctx.get(), ssl->ctx->cert_store, leaf.get(), NULL)) {
+  if (!X509_STORE_CTX_init(ctx.get(), hs->ssl->ctx->cert_store, leaf.get(),
+                           NULL)) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_X509_LIB);
     return 0;
   }
@@ -460,11 +459,11 @@
   // Remove the leaf from the generated chain.
   X509_free(sk_X509_shift(ctx->chain));
 
-  if (!ssl_cert_set_chain(ssl->cert, ctx->chain)) {
+  if (!ssl_cert_set_chain(hs->config->cert.get(), ctx->chain)) {
     return 0;
   }
 
-  ssl_crypto_x509_cert_flush_cached_chain(ssl->cert);
+  ssl_crypto_x509_cert_flush_cached_chain(hs->config->cert.get());
 
   return 1;
 }
@@ -499,7 +498,7 @@
   ssl_crypto_x509_session_verify_cert_chain,
   ssl_crypto_x509_hs_flush_cached_ca_names,
   ssl_crypto_x509_ssl_new,
-  ssl_crypto_x509_ssl_free,
+  ssl_crypto_x509_ssl_config_free,
   ssl_crypto_x509_ssl_flush_cached_client_CA,
   ssl_crypto_x509_ssl_auto_chain_if_needed,
   ssl_crypto_x509_ssl_ctx_new,
@@ -549,12 +548,11 @@
 
     for (size_t i = 1; i < sk_X509_num(session->x509_chain); i++) {
       X509 *cert = sk_X509_value(session->x509_chain, i);
-      if (!sk_X509_push(session->x509_chain_without_leaf, cert)) {
+      if (!PushToStack(session->x509_chain_without_leaf, UpRef(cert))) {
         sk_X509_pop_free(session->x509_chain_without_leaf, X509_free);
         session->x509_chain_without_leaf = NULL;
         return NULL;
       }
-      X509_up_ref(cert);
     }
   }
 
@@ -578,7 +576,10 @@
 
 int SSL_set_purpose(SSL *ssl, int purpose) {
   check_ssl_x509_method(ssl);
-  return X509_VERIFY_PARAM_set_purpose(ssl->param, purpose);
+  if (!ssl->config) {
+    return 0;
+  }
+  return X509_VERIFY_PARAM_set_purpose(ssl->config->param, purpose);
 }
 
 int SSL_CTX_set_trust(SSL_CTX *ctx, int trust) {
@@ -588,7 +589,10 @@
 
 int SSL_set_trust(SSL *ssl, int trust) {
   check_ssl_x509_method(ssl);
-  return X509_VERIFY_PARAM_set_trust(ssl->param, trust);
+  if (!ssl->config) {
+    return 0;
+  }
+  return X509_VERIFY_PARAM_set_trust(ssl->config->param, trust);
 }
 
 int SSL_CTX_set1_param(SSL_CTX *ctx, const X509_VERIFY_PARAM *param) {
@@ -598,7 +602,10 @@
 
 int SSL_set1_param(SSL *ssl, const X509_VERIFY_PARAM *param) {
   check_ssl_x509_method(ssl);
-  return X509_VERIFY_PARAM_set1(ssl->param, param);
+  if (!ssl->config) {
+    return 0;
+  }
+  return X509_VERIFY_PARAM_set1(ssl->config->param, param);
 }
 
 X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx) {
@@ -608,17 +615,29 @@
 
 X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl) {
   check_ssl_x509_method(ssl);
-  return ssl->param;
+  if (!ssl->config) {
+    assert(ssl->config);
+    return 0;
+  }
+  return ssl->config->param;
 }
 
 int SSL_get_verify_depth(const SSL *ssl) {
   check_ssl_x509_method(ssl);
-  return X509_VERIFY_PARAM_get_depth(ssl->param);
+  if (!ssl->config) {
+    assert(ssl->config);
+    return 0;
+  }
+  return X509_VERIFY_PARAM_get_depth(ssl->config->param);
 }
 
 int (*SSL_get_verify_callback(const SSL *ssl))(int, X509_STORE_CTX *) {
   check_ssl_x509_method(ssl);
-  return ssl->verify_callback;
+  if (!ssl->config) {
+    assert(ssl->config);
+    return 0;
+  }
+  return ssl->config->verify_callback;
 }
 
 int SSL_CTX_get_verify_mode(const SSL_CTX *ctx) {
@@ -640,15 +659,21 @@
 void SSL_set_verify(SSL *ssl, int mode,
                     int (*callback)(int ok, X509_STORE_CTX *store_ctx)) {
   check_ssl_x509_method(ssl);
-  ssl->verify_mode = mode;
+  if (!ssl->config) {
+    return;
+  }
+  ssl->config->verify_mode = mode;
   if (callback != NULL) {
-    ssl->verify_callback = callback;
+    ssl->config->verify_callback = callback;
   }
 }
 
 void SSL_set_verify_depth(SSL *ssl, int depth) {
   check_ssl_x509_method(ssl);
-  X509_VERIFY_PARAM_set_depth(ssl->param, depth);
+  if (!ssl->config) {
+    return;
+  }
+  X509_VERIFY_PARAM_set_depth(ssl->config->param, depth);
 }
 
 void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx,
@@ -726,12 +751,15 @@
 
 int SSL_use_certificate(SSL *ssl, X509 *x) {
   check_ssl_x509_method(ssl);
-  return ssl_use_certificate(ssl->cert, x);
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl_use_certificate(ssl->config->cert.get(), x);
 }
 
 int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x) {
   check_ssl_ctx_x509_method(ctx);
-  return ssl_use_certificate(ctx->cert, x);
+  return ssl_use_certificate(ctx->cert.get(), x);
 }
 
 // ssl_cert_cache_leaf_cert sets |cert->x509_leaf|, if currently NULL, from the
@@ -764,13 +792,17 @@
 
 X509 *SSL_get_certificate(const SSL *ssl) {
   check_ssl_x509_method(ssl);
-  return ssl_cert_get0_leaf(ssl->cert);
+  if (!ssl->config) {
+    assert(ssl->config);
+    return 0;
+  }
+  return ssl_cert_get0_leaf(ssl->config->cert.get());
 }
 
 X509 *SSL_CTX_get0_certificate(const SSL_CTX *ctx) {
   check_ssl_ctx_x509_method(ctx);
   MutexWriteLock lock(const_cast<CRYPTO_MUTEX*>(&ctx->lock));
-  return ssl_cert_get0_leaf(ctx->cert);
+  return ssl_cert_get0_leaf(ctx->cert.get());
 }
 
 static int ssl_cert_set0_chain(CERT *cert, STACK_OF(X509) *chain) {
@@ -836,32 +868,38 @@
 
 int SSL_CTX_set0_chain(SSL_CTX *ctx, STACK_OF(X509) *chain) {
   check_ssl_ctx_x509_method(ctx);
-  return ssl_cert_set0_chain(ctx->cert, chain);
+  return ssl_cert_set0_chain(ctx->cert.get(), chain);
 }
 
 int SSL_CTX_set1_chain(SSL_CTX *ctx, STACK_OF(X509) *chain) {
   check_ssl_ctx_x509_method(ctx);
-  return ssl_cert_set1_chain(ctx->cert, chain);
+  return ssl_cert_set1_chain(ctx->cert.get(), chain);
 }
 
 int SSL_set0_chain(SSL *ssl, STACK_OF(X509) *chain) {
   check_ssl_x509_method(ssl);
-  return ssl_cert_set0_chain(ssl->cert, chain);
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl_cert_set0_chain(ssl->config->cert.get(), chain);
 }
 
 int SSL_set1_chain(SSL *ssl, STACK_OF(X509) *chain) {
   check_ssl_x509_method(ssl);
-  return ssl_cert_set1_chain(ssl->cert, chain);
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl_cert_set1_chain(ssl->config->cert.get(), chain);
 }
 
 int SSL_CTX_add0_chain_cert(SSL_CTX *ctx, X509 *x509) {
   check_ssl_ctx_x509_method(ctx);
-  return ssl_cert_add0_chain_cert(ctx->cert, x509);
+  return ssl_cert_add0_chain_cert(ctx->cert.get(), x509);
 }
 
 int SSL_CTX_add1_chain_cert(SSL_CTX *ctx, X509 *x509) {
   check_ssl_ctx_x509_method(ctx);
-  return ssl_cert_add1_chain_cert(ctx->cert, x509);
+  return ssl_cert_add1_chain_cert(ctx->cert.get(), x509);
 }
 
 int SSL_CTX_add_extra_chain_cert(SSL_CTX *ctx, X509 *x509) {
@@ -871,12 +909,18 @@
 
 int SSL_add0_chain_cert(SSL *ssl, X509 *x509) {
   check_ssl_x509_method(ssl);
-  return ssl_cert_add0_chain_cert(ssl->cert, x509);
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl_cert_add0_chain_cert(ssl->config->cert.get(), x509);
 }
 
 int SSL_add1_chain_cert(SSL *ssl, X509 *x509) {
   check_ssl_x509_method(ssl);
-  return ssl_cert_add1_chain_cert(ssl->cert, x509);
+  if (!ssl->config) {
+    return 0;
+  }
+  return ssl_cert_add1_chain_cert(ssl->config->cert.get(), x509);
 }
 
 int SSL_CTX_clear_chain_certs(SSL_CTX *ctx) {
@@ -926,7 +970,7 @@
 int SSL_CTX_get0_chain_certs(const SSL_CTX *ctx, STACK_OF(X509) **out_chain) {
   check_ssl_ctx_x509_method(ctx);
   MutexWriteLock lock(const_cast<CRYPTO_MUTEX*>(&ctx->lock));
-  if (!ssl_cert_cache_chain_certs(ctx->cert)) {
+  if (!ssl_cert_cache_chain_certs(ctx->cert.get())) {
     *out_chain = NULL;
     return 0;
   }
@@ -942,12 +986,16 @@
 
 int SSL_get0_chain_certs(const SSL *ssl, STACK_OF(X509) **out_chain) {
   check_ssl_x509_method(ssl);
-  if (!ssl_cert_cache_chain_certs(ssl->cert)) {
+  if (!ssl->config) {
+    assert(ssl->config);
+    return 0;
+  }
+  if (!ssl_cert_cache_chain_certs(ssl->config->cert.get())) {
     *out_chain = NULL;
     return 0;
   }
 
-  *out_chain = ssl->cert->x509_chain;
+  *out_chain = ssl->config->cert->x509_chain;
   return 1;
 }
 
@@ -993,7 +1041,7 @@
   return sk_X509_NAME_deep_copy(list, X509_NAME_dup, X509_NAME_free);
 }
 
-static void set_client_CA_list(STACK_OF(CRYPTO_BUFFER) **ca_list,
+static void set_client_CA_list(UniquePtr<STACK_OF(CRYPTO_BUFFER)> *ca_list,
                                const STACK_OF(X509_NAME) *name_list,
                                CRYPTO_BUFFER_POOL *pool) {
   UniquePtr<STACK_OF(CRYPTO_BUFFER)> buffers(sk_CRYPTO_BUFFER_new_null());
@@ -1016,14 +1064,16 @@
     }
   }
 
-  sk_CRYPTO_BUFFER_pop_free(*ca_list, CRYPTO_BUFFER_free);
-  *ca_list = buffers.release();
+  *ca_list = std::move(buffers);
 }
 
 void SSL_set_client_CA_list(SSL *ssl, STACK_OF(X509_NAME) *name_list) {
   check_ssl_x509_method(ssl);
-  ssl->ctx->x509_method->ssl_flush_cached_client_CA(ssl);
-  set_client_CA_list(&ssl->client_CA, name_list, ssl->ctx->pool);
+  if (!ssl->config) {
+    return;
+  }
+  ssl->ctx->x509_method->ssl_flush_cached_client_CA(ssl->config.get());
+  set_client_CA_list(&ssl->config->client_CA, name_list, ssl->ctx->pool);
   sk_X509_NAME_pop_free(name_list, X509_NAME_free);
 }
 
@@ -1068,6 +1118,10 @@
 
 STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *ssl) {
   check_ssl_x509_method(ssl);
+  if (!ssl->config) {
+    assert(ssl->config);
+    return NULL;
+  }
   // For historical reasons, this function is used both to query configuration
   // state on a server as well as handshake state on a client. However, whether
   // |ssl| is a client or server is not known until explicitly configured with
@@ -1082,11 +1136,12 @@
     return NULL;
   }
 
-  if (ssl->client_CA != NULL) {
+  if (ssl->config->client_CA != NULL) {
     return buffer_names_to_x509(
-        ssl->client_CA, (STACK_OF(X509_NAME) **)&ssl->cached_x509_client_CA);
+        ssl->config->client_CA.get(),
+        (STACK_OF(X509_NAME) **)&ssl->config->cached_x509_client_CA);
   }
-  return SSL_CTX_get_client_CA_list(ssl->ctx);
+  return SSL_CTX_get_client_CA_list(ssl->ctx.get());
 }
 
 STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *ctx) {
@@ -1095,11 +1150,11 @@
   // so it needs to lock around updating |cached_x509_client_CA|.
   MutexWriteLock lock(const_cast<CRYPTO_MUTEX *>(&ctx->lock));
   return buffer_names_to_x509(
-      ctx->client_CA,
+      ctx->client_CA.get(),
       const_cast<STACK_OF(X509_NAME) **>(&ctx->cached_x509_client_CA));
 }
 
-static int add_client_CA(STACK_OF(CRYPTO_BUFFER) **names, X509 *x509,
+static int add_client_CA(UniquePtr<STACK_OF(CRYPTO_BUFFER)> *names, X509 *x509,
                          CRYPTO_BUFFER_POOL *pool) {
   if (x509 == NULL) {
     return 0;
@@ -1118,8 +1173,8 @@
   }
 
   int alloced = 0;
-  if (*names == NULL) {
-    *names = sk_CRYPTO_BUFFER_new_null();
+  if (*names == nullptr) {
+    names->reset(sk_CRYPTO_BUFFER_new_null());
     alloced = 1;
 
     if (*names == NULL) {
@@ -1127,10 +1182,9 @@
     }
   }
 
-  if (!PushToStack(*names, std::move(buffer))) {
+  if (!PushToStack(names->get(), std::move(buffer))) {
     if (alloced) {
-      sk_CRYPTO_BUFFER_pop_free(*names, CRYPTO_BUFFER_free);
-      *names = NULL;
+      names->reset();
     }
     return 0;
   }
@@ -1140,11 +1194,14 @@
 
 int SSL_add_client_CA(SSL *ssl, X509 *x509) {
   check_ssl_x509_method(ssl);
-  if (!add_client_CA(&ssl->client_CA, x509, ssl->ctx->pool)) {
+  if (!ssl->config) {
+    return 0;
+  }
+  if (!add_client_CA(&ssl->config->client_CA, x509, ssl->ctx->pool)) {
     return 0;
   }
 
-  ssl_crypto_x509_ssl_flush_cached_client_CA(ssl);
+  ssl_crypto_x509_ssl_flush_cached_client_CA(ssl->config.get());
   return 1;
 }
 
@@ -1159,7 +1216,13 @@
 }
 
 static int do_client_cert_cb(SSL *ssl, void *arg) {
-  if (ssl_has_certificate(ssl) || ssl->ctx->client_cert_cb == NULL) {
+  // Should only be called during handshake, but check to be sure.
+  if (!ssl->config) {
+    assert(ssl->config);
+    return -1;
+  }
+  if (ssl_has_certificate(ssl->config.get()) ||
+      ssl->ctx->client_cert_cb == NULL) {
     return 1;
   }
 
@@ -1223,12 +1286,18 @@
 
 int SSL_set0_verify_cert_store(SSL *ssl, X509_STORE *store) {
   check_ssl_x509_method(ssl);
-  return set_cert_store(&ssl->cert->verify_store, store, 0);
+  if (!ssl->config) {
+    return 0;
+  }
+  return set_cert_store(&ssl->config->cert->verify_store, store, 0);
 }
 
 int SSL_set1_verify_cert_store(SSL *ssl, X509_STORE *store) {
   check_ssl_x509_method(ssl);
-  return set_cert_store(&ssl->cert->verify_store, store, 1);
+  if (!ssl->config) {
+    return 0;
+  }
+  return set_cert_store(&ssl->config->cert->verify_store, store, 1);
 }
 
 int SSL_alert_from_verify_result(long result) {
diff --git a/src/ssl/t1_enc.cc b/src/ssl/t1_enc.cc
index 5947627..93170b9 100644
--- a/src/ssl/t1_enc.cc
+++ b/src/ssl/t1_enc.cc
@@ -164,56 +164,6 @@
                               seed2.size());
 }
 
-static bool ssl3_prf(Span<uint8_t> out, Span<const uint8_t> secret,
-                     Span<const char> label, Span<const uint8_t> seed1,
-                     Span<const uint8_t> seed2) {
-  ScopedEVP_MD_CTX md5;
-  ScopedEVP_MD_CTX sha1;
-  uint8_t buf[16], smd[SHA_DIGEST_LENGTH];
-  uint8_t c = 'A';
-  size_t k = 0;
-  while (!out.empty()) {
-    k++;
-    if (k > sizeof(buf)) {
-      // bug: 'buf' is too small for this ciphersuite
-      OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-      return false;
-    }
-
-    for (size_t j = 0; j < k; j++) {
-      buf[j] = c;
-    }
-    c++;
-    if (!EVP_DigestInit_ex(sha1.get(), EVP_sha1(), NULL)) {
-      OPENSSL_PUT_ERROR(SSL, ERR_LIB_EVP);
-      return false;
-    }
-    EVP_DigestUpdate(sha1.get(), buf, k);
-    EVP_DigestUpdate(sha1.get(), secret.data(), secret.size());
-    // |label| is ignored for SSLv3.
-    EVP_DigestUpdate(sha1.get(), seed1.data(), seed1.size());
-    EVP_DigestUpdate(sha1.get(), seed2.data(), seed2.size());
-    EVP_DigestFinal_ex(sha1.get(), smd, NULL);
-
-    if (!EVP_DigestInit_ex(md5.get(), EVP_md5(), NULL)) {
-      OPENSSL_PUT_ERROR(SSL, ERR_LIB_EVP);
-      return false;
-    }
-    EVP_DigestUpdate(md5.get(), secret.data(), secret.size());
-    EVP_DigestUpdate(md5.get(), smd, SHA_DIGEST_LENGTH);
-    if (out.size() < MD5_DIGEST_LENGTH) {
-      EVP_DigestFinal_ex(md5.get(), smd, NULL);
-      OPENSSL_memcpy(out.data(), smd, out.size());
-      break;
-    }
-    EVP_DigestFinal_ex(md5.get(), out.data(), NULL);
-    out = out.subspan(MD5_DIGEST_LENGTH);
-  }
-
-  OPENSSL_cleanse(smd, SHA_DIGEST_LENGTH);
-  return true;
-}
-
 static bool get_key_block_lengths(const SSL *ssl, size_t *out_mac_secret_len,
                                   size_t *out_key_len, size_t *out_iv_len,
                                   const SSL_CIPHER *cipher) {
@@ -318,16 +268,9 @@
   } else {
     auto label =
         MakeConstSpan(kMasterSecretLabel, sizeof(kMasterSecretLabel) - 1);
-    if (ssl_protocol_version(ssl) == SSL3_VERSION) {
-      if (!ssl3_prf(out_span, premaster, label, ssl->s3->client_random,
-                    ssl->s3->server_random)) {
-        return 0;
-      }
-    } else {
-      if (!tls1_prf(hs->transcript.Digest(), out_span, premaster, label,
-                    ssl->s3->client_random, ssl->s3->server_random)) {
-        return 0;
-      }
+    if (!tls1_prf(hs->transcript.Digest(), out_span, premaster, label,
+                  ssl->s3->client_random, ssl->s3->server_random)) {
+      return 0;
     }
   }
 
@@ -357,11 +300,6 @@
   static const char kLabel[] = "key expansion";
   auto label = MakeConstSpan(kLabel, sizeof(kLabel) - 1);
 
-  if (ssl_protocol_version(ssl) == SSL3_VERSION) {
-    return ssl3_prf(out_span, master_key, label, ssl->s3->server_random,
-                    ssl->s3->client_random);
-  }
-
   const EVP_MD *digest = ssl_session_get_digest(session);
   return tls1_prf(digest, out_span, master_key, label, ssl->s3->server_random,
                   ssl->s3->client_random);
@@ -371,11 +309,6 @@
                                const char *label, size_t label_len,
                                const uint8_t *context, size_t context_len,
                                int use_context) {
-  if (!ssl->s3->have_version || ssl->version == SSL3_VERSION) {
-    OPENSSL_PUT_ERROR(SSL, SSL_R_HANDSHAKE_NOT_COMPLETE);
-    return 0;
-  }
-
   // Exporters may be used in False Start and server 0-RTT, where the handshake
   // has progressed enough. Otherwise, they may not be used during a handshake.
   if (SSL_in_init(ssl) &&
diff --git a/src/ssl/t1_lib.cc b/src/ssl/t1_lib.cc
index a821246..dde767e 100644
--- a/src/ssl/t1_lib.cc
+++ b/src/ssl/t1_lib.cc
@@ -131,7 +131,7 @@
 
 namespace bssl {
 
-static int ssl_check_clienthello_tlsext(SSL_HANDSHAKE *hs);
+static bool ssl_check_clienthello_tlsext(SSL_HANDSHAKE *hs);
 
 static int compare_uint16_t(const void *p1, const void *p2) {
   uint16_t u1 = *((const uint16_t *)p1);
@@ -149,7 +149,7 @@
 // more than one extension of the same type in a ClientHello or ServerHello.
 // This function does an initial scan over the extensions block to filter those
 // out.
-static int tls1_check_duplicate_extensions(const CBS *cbs) {
+static bool tls1_check_duplicate_extensions(const CBS *cbs) {
   // First pass: count the extensions.
   size_t num_extensions = 0;
   CBS extensions = *cbs;
@@ -159,19 +159,19 @@
 
     if (!CBS_get_u16(&extensions, &type) ||
         !CBS_get_u16_length_prefixed(&extensions, &extension)) {
-      return 0;
+      return false;
     }
 
     num_extensions++;
   }
 
   if (num_extensions == 0) {
-    return 1;
+    return true;
   }
 
   Array<uint16_t> extension_types;
   if (!extension_types.Init(num_extensions)) {
-    return 0;
+    return false;
   }
 
   // Second pass: gather the extension types.
@@ -182,7 +182,7 @@
     if (!CBS_get_u16(&extensions, &extension_types[i]) ||
         !CBS_get_u16_length_prefixed(&extensions, &extension)) {
       // This should not happen.
-      return 0;
+      return false;
     }
   }
   assert(CBS_len(&extensions) == 0);
@@ -192,15 +192,15 @@
         compare_uint16_t);
   for (size_t i = 1; i < num_extensions; i++) {
     if (extension_types[i - 1] == extension_types[i]) {
-      return 0;
+      return false;
     }
   }
 
-  return 1;
+  return true;
 }
 
-int ssl_client_hello_init(SSL *ssl, SSL_CLIENT_HELLO *out,
-                          const SSLMessage &msg) {
+bool ssl_client_hello_init(SSL *ssl, SSL_CLIENT_HELLO *out,
+                           const SSLMessage &msg) {
   OPENSSL_memset(out, 0, sizeof(*out));
   out->ssl = ssl;
   out->client_hello = CBS_data(&msg.body);
@@ -212,7 +212,7 @@
       !CBS_get_bytes(&client_hello, &random, SSL3_RANDOM_SIZE) ||
       !CBS_get_u8_length_prefixed(&client_hello, &session_id) ||
       CBS_len(&session_id) > SSL_MAX_SSL_SESSION_ID_LENGTH) {
-    return 0;
+    return false;
   }
 
   out->random = CBS_data(&random);
@@ -225,7 +225,7 @@
     CBS cookie;
     if (!CBS_get_u8_length_prefixed(&client_hello, &cookie) ||
         CBS_len(&cookie) > DTLS1_COOKIE_LENGTH) {
-      return 0;
+      return false;
     }
   }
 
@@ -234,7 +234,7 @@
       CBS_len(&cipher_suites) < 2 || (CBS_len(&cipher_suites) & 1) != 0 ||
       !CBS_get_u8_length_prefixed(&client_hello, &compression_methods) ||
       CBS_len(&compression_methods) < 1) {
-    return 0;
+    return false;
   }
 
   out->cipher_suites = CBS_data(&cipher_suites);
@@ -243,11 +243,11 @@
   out->compression_methods_len = CBS_len(&compression_methods);
 
   // If the ClientHello ends here then it's valid, but doesn't have any
-  // extensions. (E.g. SSLv3.)
+  // extensions.
   if (CBS_len(&client_hello) == 0) {
     out->extensions = NULL;
     out->extensions_len = 0;
-    return 1;
+    return true;
   }
 
   // Extract extensions and check it is valid.
@@ -255,17 +255,17 @@
   if (!CBS_get_u16_length_prefixed(&client_hello, &extensions) ||
       !tls1_check_duplicate_extensions(&extensions) ||
       CBS_len(&client_hello) != 0) {
-    return 0;
+    return false;
   }
 
   out->extensions = CBS_data(&extensions);
   out->extensions_len = CBS_len(&extensions);
 
-  return 1;
+  return true;
 }
 
-int ssl_client_hello_get_extension(const SSL_CLIENT_HELLO *client_hello,
-                                   CBS *out, uint16_t extension_type) {
+bool ssl_client_hello_get_extension(const SSL_CLIENT_HELLO *client_hello,
+                                    CBS *out, uint16_t extension_type) {
   CBS extensions;
   CBS_init(&extensions, client_hello->extensions, client_hello->extensions_len);
   while (CBS_len(&extensions) != 0) {
@@ -274,16 +274,16 @@
     CBS extension;
     if (!CBS_get_u16(&extensions, &type) ||
         !CBS_get_u16_length_prefixed(&extensions, &extension)) {
-      return 0;
+      return false;
     }
 
     if (type == extension_type) {
       *out = extension;
-      return 1;
+      return true;
     }
   }
 
-  return 0;
+  return false;
 }
 
 static const uint16_t kDefaultGroups[] = {
@@ -292,15 +292,14 @@
     SSL_CURVE_SECP384R1,
 };
 
-Span<const uint16_t> tls1_get_grouplist(const SSL *ssl) {
-  if (ssl->supported_group_list != nullptr) {
-    return MakeConstSpan(ssl->supported_group_list,
-                         ssl->supported_group_list_len);
+Span<const uint16_t> tls1_get_grouplist(const SSL_HANDSHAKE *hs) {
+  if (!hs->config->supported_group_list.empty()) {
+    return hs->config->supported_group_list;
   }
   return Span<const uint16_t>(kDefaultGroups);
 }
 
-int tls1_get_shared_group(SSL_HANDSHAKE *hs, uint16_t *out_group_id) {
+bool tls1_get_shared_group(SSL_HANDSHAKE *hs, uint16_t *out_group_id) {
   SSL *const ssl = hs->ssl;
   assert(ssl->server);
 
@@ -313,7 +312,7 @@
   // support our favoured group. Thus we do not special-case an emtpy
   // |peer_supported_group_list|.
 
-  Span<const uint16_t> groups = tls1_get_grouplist(ssl);
+  Span<const uint16_t> groups = tls1_get_grouplist(hs);
   Span<const uint16_t> pref, supp;
   if (ssl->options & SSL_OP_CIPHER_SERVER_PREFERENCE) {
     pref = groups;
@@ -327,86 +326,73 @@
     for (uint16_t supp_group : supp) {
       if (pref_group == supp_group) {
         *out_group_id = pref_group;
-        return 1;
+        return true;
       }
     }
   }
 
-  return 0;
+  return false;
 }
 
-int tls1_set_curves(uint16_t **out_group_ids, size_t *out_group_ids_len,
-                    const int *curves, size_t ncurves) {
-  uint16_t *group_ids = (uint16_t *)OPENSSL_malloc(ncurves * sizeof(uint16_t));
-  if (group_ids == NULL) {
-    return 0;
+bool tls1_set_curves(Array<uint16_t> *out_group_ids, Span<const int> curves) {
+  Array<uint16_t> group_ids;
+  if (!group_ids.Init(curves.size())) {
+    return false;
   }
 
-  for (size_t i = 0; i < ncurves; i++) {
+  for (size_t i = 0; i < curves.size(); i++) {
     if (!ssl_nid_to_group_id(&group_ids[i], curves[i])) {
-      OPENSSL_free(group_ids);
-      return 0;
+      return false;
     }
   }
 
-  OPENSSL_free(*out_group_ids);
-  *out_group_ids = group_ids;
-  *out_group_ids_len = ncurves;
-
-  return 1;
+  *out_group_ids = std::move(group_ids);
+  return true;
 }
 
-int tls1_set_curves_list(uint16_t **out_group_ids, size_t *out_group_ids_len,
-                         const char *curves) {
-  uint16_t *group_ids = NULL;
-  size_t ncurves = 0;
-
-  const char *col;
-  const char *ptr = curves;
-
+bool tls1_set_curves_list(Array<uint16_t> *out_group_ids, const char *curves) {
+  // Count the number of curves in the list.
+  size_t count = 0;
+  const char *ptr = curves, *col;
   do {
     col = strchr(ptr, ':');
-
-    uint16_t group_id;
-    if (!ssl_name_to_group_id(&group_id, ptr,
-                              col ? (size_t)(col - ptr) : strlen(ptr))) {
-      goto err;
-    }
-
-    uint16_t *new_group_ids = (uint16_t *)OPENSSL_realloc(
-        group_ids, (ncurves + 1) * sizeof(uint16_t));
-    if (new_group_ids == NULL) {
-      goto err;
-    }
-    group_ids = new_group_ids;
-
-    group_ids[ncurves] = group_id;
-    ncurves++;
-
+    count++;
     if (col) {
       ptr = col + 1;
     }
   } while (col);
 
-  OPENSSL_free(*out_group_ids);
-  *out_group_ids = group_ids;
-  *out_group_ids_len = ncurves;
+  Array<uint16_t> group_ids;
+  if (!group_ids.Init(count)) {
+    return false;
+  }
 
-  return 1;
+  size_t i = 0;
+  ptr = curves;
+  do {
+    col = strchr(ptr, ':');
+    if (!ssl_name_to_group_id(&group_ids[i++], ptr,
+                              col ? (size_t)(col - ptr) : strlen(ptr))) {
+      return false;
+    }
+    if (col) {
+      ptr = col + 1;
+    }
+  } while (col);
 
-err:
-  OPENSSL_free(group_ids);
-  return 0;
+  assert(i == count);
+  *out_group_ids = std::move(group_ids);
+  return true;
 }
 
-int tls1_check_group_id(const SSL *ssl, uint16_t group_id) {
-  for (uint16_t supported : tls1_get_grouplist(ssl)) {
+bool tls1_check_group_id(const SSL_HANDSHAKE *hs, uint16_t group_id) {
+  for (uint16_t supported : tls1_get_grouplist(hs)) {
     if (supported == group_id) {
-      return 1;
+      return true;
     }
   }
 
-  return 0;
+  return false;
 }
 
 // kVerifySignatureAlgorithms is the default list of accepted signature
@@ -506,9 +492,8 @@
 static SSLSignatureAlgorithmList tls12_get_verify_sigalgs(const SSL *ssl,
                                                           bool for_certs) {
   SSLSignatureAlgorithmList ret;
-  if (ssl->ctx->num_verify_sigalgs != 0) {
-    ret.list =
-        MakeConstSpan(ssl->ctx->verify_sigalgs, ssl->ctx->num_verify_sigalgs);
+  if (!ssl->config->verify_sigalgs.empty()) {
+    ret.list = ssl->config->verify_sigalgs;
   } else {
     ret.list = kVerifySignatureAlgorithms;
     ret.skip_ed25519 = !ssl->ctx->ed25519_enabled;
@@ -606,7 +591,7 @@
 
 static bool ext_sni_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
-  if (ssl->tlsext_hostname == NULL) {
+  if (ssl->hostname == nullptr) {
     return true;
   }
 
@@ -616,8 +601,8 @@
       !CBB_add_u16_length_prefixed(&contents, &server_name_list) ||
       !CBB_add_u8(&server_name_list, TLSEXT_NAMETYPE_host_name) ||
       !CBB_add_u16_length_prefixed(&server_name_list, &name) ||
-      !CBB_add_bytes(&name, (const uint8_t *)ssl->tlsext_hostname,
-                     strlen(ssl->tlsext_hostname)) ||
+      !CBB_add_bytes(&name, (const uint8_t *)ssl->hostname.get(),
+                     strlen(ssl->hostname.get())) ||
       !CBB_flush(out)) {
     return false;
   }
@@ -862,7 +847,7 @@
 
 static bool ext_ems_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
   // Extended master secret is not necessary in TLS 1.3.
-  if (hs->min_version >= TLS1_3_VERSION || hs->max_version <= SSL3_VERSION) {
+  if (hs->min_version >= TLS1_3_VERSION) {
     return true;
   }
 
@@ -880,7 +865,6 @@
 
   if (contents != NULL) {
     if (ssl_protocol_version(ssl) >= TLS1_3_VERSION ||
-        ssl->version == SSL3_VERSION ||
         CBS_len(contents) != 0) {
       return false;
     }
@@ -902,9 +886,7 @@
 
 static bool ext_ems_parse_clienthello(SSL_HANDSHAKE *hs, uint8_t *out_alert,
                                       CBS *contents) {
-  uint16_t version = ssl_protocol_version(hs->ssl);
-  if (version >= TLS1_3_VERSION ||
-      version == SSL3_VERSION) {
+  if (ssl_protocol_version(hs->ssl) >= TLS1_3_VERSION) {
     return true;
   }
 
@@ -946,26 +928,24 @@
     return true;
   }
 
-  const uint8_t *ticket_data = NULL;
-  int ticket_len = 0;
+  Span<const uint8_t> ticket;
 
   // Renegotiation does not participate in session resumption. However, still
   // advertise the extension to avoid potentially breaking servers which carry
   // over the state from the previous handshake, such as OpenSSL servers
   // without upstream's 3c3f0259238594d77264a78944d409f2127642c4.
   if (!ssl->s3->initial_handshake_complete &&
-      ssl->session != NULL &&
-      ssl->session->tlsext_tick != NULL &&
+      ssl->session != nullptr &&
+      !ssl->session->ticket.empty() &&
       // Don't send TLS 1.3 session tickets in the ticket extension.
-      ssl_session_protocol_version(ssl->session) < TLS1_3_VERSION) {
-    ticket_data = ssl->session->tlsext_tick;
-    ticket_len = ssl->session->tlsext_ticklen;
+      ssl_session_protocol_version(ssl->session.get()) < TLS1_3_VERSION) {
+    ticket = ssl->session->ticket;
   }
 
-  CBB ticket;
+  CBB ticket_cbb;
   if (!CBB_add_u16(out, TLSEXT_TYPE_session_ticket) ||
-      !CBB_add_u16_length_prefixed(out, &ticket) ||
-      !CBB_add_bytes(&ticket, ticket_data, ticket_len) ||
+      !CBB_add_u16_length_prefixed(out, &ticket_cbb) ||
+      !CBB_add_bytes(&ticket_cbb, ticket.data(), ticket.size()) ||
       !CBB_flush(out)) {
     return false;
   }
@@ -1101,8 +1081,7 @@
 // https://tools.ietf.org/html/rfc6066#section-8
 
 static bool ext_ocsp_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
-  SSL *const ssl = hs->ssl;
-  if (!ssl->ocsp_stapling_enabled) {
+  if (!hs->config->ocsp_stapling_enabled) {
     return true;
   }
 
@@ -1166,8 +1145,7 @@
 static bool ext_ocsp_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
   if (ssl_protocol_version(ssl) >= TLS1_3_VERSION ||
-      !hs->ocsp_stapling_requested ||
-      ssl->cert->ocsp_response == NULL ||
+      !hs->ocsp_stapling_requested || hs->config->cert->ocsp_response == NULL ||
       ssl->s3->session_reused ||
       !ssl_cipher_uses_certificate_auth(hs->new_cipher)) {
     return true;
@@ -1308,8 +1286,7 @@
 // https://tools.ietf.org/html/rfc6962#section-3.3.1
 
 static bool ext_sct_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
-  SSL *const ssl = hs->ssl;
-  if (!ssl->signed_cert_timestamps_enabled) {
+  if (!hs->config->signed_cert_timestamps_enabled) {
     return true;
   }
 
@@ -1336,7 +1313,7 @@
 
   // If this is false then we should never have sent the SCT extension in the
   // ClientHello and thus this function should never have been called.
-  assert(ssl->signed_cert_timestamps_enabled);
+  assert(hs->config->signed_cert_timestamps_enabled);
 
   if (!ssl_is_sct_list_valid(contents)) {
     *out_alert = SSL_AD_DECODE_ERROR;
@@ -1349,9 +1326,8 @@
   //
   // TODO(davidben): Enforce this anyway.
   if (!ssl->s3->session_reused) {
-    CRYPTO_BUFFER_free(hs->new_session->signed_cert_timestamp_list);
-    hs->new_session->signed_cert_timestamp_list =
-        CRYPTO_BUFFER_new_from_CBS(contents, ssl->ctx->pool);
+    hs->new_session->signed_cert_timestamp_list.reset(
+        CRYPTO_BUFFER_new_from_CBS(contents, ssl->ctx->pool));
     if (hs->new_session->signed_cert_timestamp_list == nullptr) {
       *out_alert = SSL_AD_INTERNAL_ERROR;
       return false;
@@ -1378,9 +1354,8 @@
 static bool ext_sct_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
   // The extension shouldn't be sent when resuming sessions.
-  if (ssl_protocol_version(ssl) >= TLS1_3_VERSION ||
-      ssl->s3->session_reused ||
-      ssl->cert->signed_cert_timestamp_list == NULL) {
+  if (ssl_protocol_version(ssl) >= TLS1_3_VERSION || ssl->s3->session_reused ||
+      hs->config->cert->signed_cert_timestamp_list == NULL) {
     return true;
   }
 
@@ -1389,8 +1364,10 @@
          CBB_add_u16_length_prefixed(out, &contents) &&
          CBB_add_bytes(
              &contents,
-             CRYPTO_BUFFER_data(ssl->cert->signed_cert_timestamp_list.get()),
-             CRYPTO_BUFFER_len(ssl->cert->signed_cert_timestamp_list.get())) &&
+             CRYPTO_BUFFER_data(
+                 hs->config->cert->signed_cert_timestamp_list.get()),
+             CRYPTO_BUFFER_len(
+                 hs->config->cert->signed_cert_timestamp_list.get())) &&
          CBB_flush(out);
 }
 
@@ -1401,7 +1378,7 @@
 
 static bool ext_alpn_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
-  if (ssl->alpn_client_proto_list == NULL ||
+  if (hs->config->alpn_client_proto_list.empty() ||
       ssl->s3->initial_handshake_complete) {
     return true;
   }
@@ -1410,8 +1387,8 @@
   if (!CBB_add_u16(out, TLSEXT_TYPE_application_layer_protocol_negotiation) ||
       !CBB_add_u16_length_prefixed(out, &contents) ||
       !CBB_add_u16_length_prefixed(&contents, &proto_list) ||
-      !CBB_add_bytes(&proto_list, ssl->alpn_client_proto_list,
-                     ssl->alpn_client_proto_list_len) ||
+      !CBB_add_bytes(&proto_list, hs->config->alpn_client_proto_list.data(),
+                     hs->config->alpn_client_proto_list.size()) ||
       !CBB_flush(out)) {
     return false;
   }
@@ -1427,7 +1404,7 @@
   }
 
   assert(!ssl->s3->initial_handshake_complete);
-  assert(ssl->alpn_client_proto_list != NULL);
+  assert(!hs->config->alpn_client_proto_list.empty());
 
   if (hs->next_proto_neg_seen) {
     // NPN and ALPN may not be negotiated in the same connection.
@@ -1448,7 +1425,7 @@
     return false;
   }
 
-  if (!ssl_is_alpn_protocol_allowed(ssl, protocol_name)) {
+  if (!ssl_is_alpn_protocol_allowed(hs, protocol_name)) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_ALPN_PROTOCOL);
     *out_alert = SSL_AD_ILLEGAL_PARAMETER;
     return false;
@@ -1462,20 +1439,20 @@
   return true;
 }
 
-bool ssl_is_alpn_protocol_allowed(const SSL *ssl,
+bool ssl_is_alpn_protocol_allowed(const SSL_HANDSHAKE *hs,
                                   Span<const uint8_t> protocol) {
-  if (ssl->alpn_client_proto_list == nullptr) {
+  if (hs->config->alpn_client_proto_list.empty()) {
     return false;
   }
 
-  if (ssl->ctx->allow_unknown_alpn_protos) {
+  if (hs->ssl->ctx->allow_unknown_alpn_protos) {
     return true;
   }
 
   // Check that the protocol name is one of the ones we advertised.
-  CBS client_protocol_name_list, client_protocol_name;
-  CBS_init(&client_protocol_name_list, ssl->alpn_client_proto_list,
-           ssl->alpn_client_proto_list_len);
+  CBS client_protocol_name_list =
+          MakeConstSpan(hs->config->alpn_client_proto_list),
+      client_protocol_name;
   while (CBS_len(&client_protocol_name_list) > 0) {
     if (!CBS_get_u8_length_prefixed(&client_protocol_name_list,
                                     &client_protocol_name)) {
@@ -1534,6 +1511,11 @@
           ssl, &selected, &selected_len, CBS_data(&protocol_name_list),
           CBS_len(&protocol_name_list),
           ssl->ctx->alpn_select_cb_arg) == SSL_TLSEXT_ERR_OK) {
+    if (selected_len == 0) {
+      OPENSSL_PUT_ERROR(SSL, SSL_R_INVALID_ALPN_PROTOCOL);
+      *out_alert = SSL_AD_INTERNAL_ERROR;
+      return false;
+    }
     if (!ssl->s3->alpn_selected.CopyFrom(
             MakeConstSpan(selected, selected_len))) {
       *out_alert = SSL_AD_INTERNAL_ERROR;
@@ -1570,13 +1552,12 @@
 // https://tools.ietf.org/html/draft-balfanz-tls-channelid-01
 
 static void ext_channel_id_init(SSL_HANDSHAKE *hs) {
-  hs->ssl->s3->tlsext_channel_id_valid = false;
+  hs->ssl->s3->channel_id_valid = false;
 }
 
 static bool ext_channel_id_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
-  if (!ssl->tlsext_channel_id_enabled ||
-      SSL_is_dtls(ssl)) {
+  if (!hs->config->channel_id_enabled || SSL_is_dtls(ssl)) {
     return true;
   }
 
@@ -1597,13 +1578,13 @@
   }
 
   assert(!SSL_is_dtls(ssl));
-  assert(ssl->tlsext_channel_id_enabled);
+  assert(hs->config->channel_id_enabled);
 
   if (CBS_len(contents) != 0) {
     return false;
   }
 
-  ssl->s3->tlsext_channel_id_valid = true;
+  ssl->s3->channel_id_valid = true;
   return true;
 }
 
@@ -1611,9 +1592,7 @@
                                              uint8_t *out_alert,
                                              CBS *contents) {
   SSL *const ssl = hs->ssl;
-  if (contents == NULL ||
-      !ssl->tlsext_channel_id_enabled ||
-      SSL_is_dtls(ssl)) {
+  if (contents == NULL || !hs->config->channel_id_enabled || SSL_is_dtls(ssl)) {
     return true;
   }
 
@@ -1621,13 +1600,13 @@
     return false;
   }
 
-  ssl->s3->tlsext_channel_id_valid = true;
+  ssl->s3->channel_id_valid = true;
   return true;
 }
 
 static bool ext_channel_id_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
-  if (!ssl->s3->tlsext_channel_id_valid) {
+  if (!ssl->s3->channel_id_valid) {
     return true;
   }
 
@@ -1871,20 +1850,20 @@
 
 static size_t ext_pre_shared_key_clienthello_length(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
-  if (hs->max_version < TLS1_3_VERSION || ssl->session == NULL ||
-      ssl_session_protocol_version(ssl->session) < TLS1_3_VERSION) {
+  if (hs->max_version < TLS1_3_VERSION || ssl->session == nullptr ||
+      ssl_session_protocol_version(ssl->session.get()) < TLS1_3_VERSION) {
     return 0;
   }
 
-  size_t binder_len = EVP_MD_size(ssl_session_get_digest(ssl->session));
-  return 15 + ssl->session->tlsext_ticklen + binder_len;
+  size_t binder_len = EVP_MD_size(ssl_session_get_digest(ssl->session.get()));
+  return 15 + ssl->session->ticket.size() + binder_len;
 }
 
 static bool ext_pre_shared_key_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
   hs->needs_psk_binder = false;
-  if (hs->max_version < TLS1_3_VERSION || ssl->session == NULL ||
-      ssl_session_protocol_version(ssl->session) < TLS1_3_VERSION) {
+  if (hs->max_version < TLS1_3_VERSION || ssl->session == nullptr ||
+      ssl_session_protocol_version(ssl->session.get()) < TLS1_3_VERSION) {
     return true;
   }
 
@@ -1904,15 +1883,15 @@
   // Fill in a placeholder zero binder of the appropriate length. It will be
   // computed and filled in later after length prefixes are computed.
   uint8_t zero_binder[EVP_MAX_MD_SIZE] = {0};
-  size_t binder_len = EVP_MD_size(ssl_session_get_digest(ssl->session));
+  size_t binder_len = EVP_MD_size(ssl_session_get_digest(ssl->session.get()));
 
   CBB contents, identity, ticket, binders, binder;
   if (!CBB_add_u16(out, TLSEXT_TYPE_pre_shared_key) ||
       !CBB_add_u16_length_prefixed(out, &contents) ||
       !CBB_add_u16_length_prefixed(&contents, &identity) ||
       !CBB_add_u16_length_prefixed(&identity, &ticket) ||
-      !CBB_add_bytes(&ticket, ssl->session->tlsext_tick,
-                     ssl->session->tlsext_ticklen) ||
+      !CBB_add_bytes(&ticket, ssl->session->ticket.data(),
+                     ssl->session->ticket.size()) ||
       !CBB_add_u32(&identity, obfuscated_ticket_age) ||
       !CBB_add_u16_length_prefixed(&contents, &binders) ||
       !CBB_add_u8_length_prefixed(&binders, &binder) ||
@@ -2069,19 +2048,17 @@
 
 static bool ext_early_data_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
-  if (!ssl->cert->enable_early_data ||
+  if (!ssl->enable_early_data ||
       // Session must be 0-RTT capable.
-      ssl->session == NULL ||
-      ssl_session_protocol_version(ssl->session) < TLS1_3_VERSION ||
+      ssl->session == nullptr ||
+      ssl_session_protocol_version(ssl->session.get()) < TLS1_3_VERSION ||
       ssl->session->ticket_max_early_data == 0 ||
       // The second ClientHello never offers early data.
       hs->received_hello_retry_request ||
       // In case ALPN preferences changed since this session was established,
       // avoid reporting a confusing value in |SSL_get0_alpn_selected|.
-      (ssl->session->early_alpn_len != 0 &&
-       !ssl_is_alpn_protocol_allowed(
-           ssl, MakeConstSpan(ssl->session->early_alpn,
-                              ssl->session->early_alpn_len)))) {
+      (!ssl->session->early_alpn.empty() &&
+       !ssl_is_alpn_protocol_allowed(hs, ssl->session->early_alpn))) {
     return true;
   }
 
@@ -2191,7 +2168,7 @@
     }
 
     // Predict the most preferred group.
-    Span<const uint16_t> groups = tls1_get_grouplist(ssl);
+    Span<const uint16_t> groups = tls1_get_grouplist(hs);
     if (groups.empty()) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_NO_GROUPS_SPECIFIED);
       return false;
@@ -2422,7 +2399,7 @@
 }
 
 static bool ext_dummy_pq_padding_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
-  const size_t len = hs->ssl->dummy_pq_padding_len;
+  const size_t len = hs->config->dummy_pq_padding_len;
   if (len == 0) {
     return true;
   }
@@ -2437,7 +2414,7 @@
     return true;
   }
 
-  if (CBS_len(contents) != hs->ssl->dummy_pq_padding_len) {
+  if (CBS_len(contents) != hs->config->dummy_pq_padding_len) {
     return false;
   }
 
@@ -2485,7 +2462,7 @@
     return false;
   }
 
-  for (uint16_t group : tls1_get_grouplist(ssl)) {
+  for (uint16_t group : tls1_get_grouplist(hs)) {
     if (!CBB_add_u16(&groups_bytes, group)) {
       return false;
     }
@@ -2556,7 +2533,7 @@
 
 static bool ext_token_binding_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
-  if (ssl->token_binding_params == nullptr || SSL_is_dtls(ssl)) {
+  if (hs->config->token_binding_params.empty() || SSL_is_dtls(ssl)) {
     return true;
   }
 
@@ -2565,8 +2542,8 @@
       !CBB_add_u16_length_prefixed(out, &contents) ||
       !CBB_add_u16(&contents, kTokenBindingMaxVersion) ||
       !CBB_add_u8_length_prefixed(&contents, &params) ||
-      !CBB_add_bytes(&params, ssl->token_binding_params,
-                     ssl->token_binding_params_len) ||
+      !CBB_add_bytes(&params, hs->config->token_binding_params.data(),
+                     hs->config->token_binding_params.size()) ||
       !CBB_flush(out)) {
     return false;
   }
@@ -2606,8 +2583,8 @@
     return true;
   }
 
-  for (size_t i = 0; i < ssl->token_binding_params_len; ++i) {
-    if (param == ssl->token_binding_params[i]) {
+  for (uint8_t config_param : hs->config->token_binding_params) {
+    if (param == config_param) {
       ssl->s3->negotiated_token_binding_param = param;
       ssl->s3->token_binding_negotiated = true;
       return true;
@@ -2619,15 +2596,15 @@
 }
 
 // select_tb_param looks for the first token binding param in
-// |ssl->token_binding_params| that is also in |params| and puts it in
-// |ssl->negotiated_token_binding_param|. It returns true if a token binding
+// |hs->ssl->token_binding_params| that is also in |params| and puts it in
+// |hs->ssl->negotiated_token_binding_param|. It returns true if a token binding
 // param is found, and false otherwise.
-static bool select_tb_param(SSL *ssl, Span<const uint8_t> peer_params) {
-  for (size_t i = 0; i < ssl->token_binding_params_len; ++i) {
-    uint8_t tb_param = ssl->token_binding_params[i];
+static bool select_tb_param(SSL_HANDSHAKE *hs,
+                            Span<const uint8_t> peer_params) {
+  for (uint8_t tb_param : hs->config->token_binding_params) {
     for (uint8_t peer_param : peer_params) {
       if (tb_param == peer_param) {
-        ssl->s3->negotiated_token_binding_param = tb_param;
+        hs->ssl->s3->negotiated_token_binding_param = tb_param;
         return true;
       }
     }
@@ -2639,7 +2616,7 @@
                                                 uint8_t *out_alert,
                                                 CBS *contents) {
   SSL *const ssl = hs->ssl;
-  if (contents == nullptr || ssl->token_binding_params == nullptr) {
+  if (contents == nullptr || hs->config->token_binding_params.empty()) {
     return true;
   }
 
@@ -2663,7 +2640,7 @@
   // version. Otherwise, use the client's version.
   hs->negotiated_token_binding_version =
       std::min(version, kTokenBindingMaxVersion);
-  if (!select_tb_param(ssl, params)) {
+  if (!select_tb_param(hs, params)) {
     return true;
   }
 
@@ -2695,16 +2672,16 @@
 
 static bool ext_quic_transport_params_add_clienthello(SSL_HANDSHAKE *hs,
                                                       CBB *out) {
-  SSL *const ssl = hs->ssl;
-  if (!ssl->quic_transport_params || hs->max_version <= TLS1_2_VERSION) {
+  if (hs->config->quic_transport_params.empty() ||
+      hs->max_version <= TLS1_2_VERSION) {
     return true;
   }
 
   CBB contents;
   if (!CBB_add_u16(out, TLSEXT_TYPE_quic_transport_parameters) ||
       !CBB_add_u16_length_prefixed(out, &contents) ||
-      !CBB_add_bytes(&contents, ssl->quic_transport_params,
-                     ssl->quic_transport_params_len) ||
+      !CBB_add_bytes(&contents, hs->config->quic_transport_params.data(),
+                     hs->config->quic_transport_params.size()) ||
       !CBB_flush(out)) {
     return false;
   }
@@ -2731,7 +2708,7 @@
                                                         uint8_t *out_alert,
                                                         CBS *contents) {
   SSL *const ssl = hs->ssl;
-  if (!contents || !ssl->quic_transport_params) {
+  if (!contents || hs->config->quic_transport_params.empty()) {
     return true;
   }
   // Ignore the extension before TLS 1.3.
@@ -2744,16 +2721,15 @@
 
 static bool ext_quic_transport_params_add_serverhello(SSL_HANDSHAKE *hs,
                                                       CBB *out) {
-  SSL *const ssl = hs->ssl;
-  if (!ssl->quic_transport_params) {
+  if (hs->config->quic_transport_params.empty()) {
     return true;
   }
 
   CBB contents;
   if (!CBB_add_u16(out, TLSEXT_TYPE_quic_transport_parameters) ||
       !CBB_add_u16_length_prefixed(out, &contents) ||
-      !CBB_add_bytes(&contents, ssl->quic_transport_params,
-                     ssl->quic_transport_params_len) ||
+      !CBB_add_bytes(&contents, hs->config->quic_transport_params.data(),
+                     hs->config->quic_transport_params.size()) ||
       !CBB_flush(out)) {
     return false;
   }
@@ -2761,6 +2737,113 @@
   return true;
 }
 
+// Certificate compression
+
+static bool cert_compression_add_clienthello(SSL_HANDSHAKE *hs, CBB *out) {
+  bool first = true;
+  CBB contents, algs;
+
+  for (const auto *alg : hs->ssl->ctx->cert_compression_algs.get()) {
+    if (alg->decompress == nullptr) {
+      continue;
+    }
+
+    if (first && (!CBB_add_u16(out, TLSEXT_TYPE_cert_compression) ||
+                  !CBB_add_u16_length_prefixed(out, &contents) ||
+                  !CBB_add_u8_length_prefixed(&contents, &algs))) {
+      return false;
+    }
+    first = false;
+    if (!CBB_add_u16(&algs, alg->alg_id)) {
+      return false;
+    }
+  }
+
+  return first || CBB_flush(out);
+}
+
+static bool cert_compression_parse_serverhello(SSL_HANDSHAKE *hs,
+                                               uint8_t *out_alert,
+                                               CBS *contents) {
+  if (contents == nullptr) {
+    return true;
+  }
+
+  // The server may not echo this extension. Any server to client negotiation is
+  // advertised in the CertificateRequest message.
+  return false;
+}
+
+static bool cert_compression_parse_clienthello(SSL_HANDSHAKE *hs,
+                                               uint8_t *out_alert,
+                                               CBS *contents) {
+  if (contents == nullptr) {
+    return true;
+  }
+
+  const size_t num_algs =
+      sk_CertCompressionAlg_num(hs->ssl->ctx->cert_compression_algs.get());
+
+  CBS alg_ids;
+  if (!CBS_get_u8_length_prefixed(contents, &alg_ids) ||
+      CBS_len(contents) != 0 ||
+      CBS_len(&alg_ids) == 0 ||
+      CBS_len(&alg_ids) % 2 == 1) {
+    return false;
+  }
+
+  const size_t num_given_alg_ids = CBS_len(&alg_ids) / 2;
+  Array<uint16_t> given_alg_ids;
+  if (!given_alg_ids.Init(num_given_alg_ids)) {
+    return false;
+  }
+
+  size_t best_index = num_algs;
+  size_t given_alg_idx = 0;
+
+  while (CBS_len(&alg_ids) > 0) {
+    uint16_t alg_id;
+    if (!CBS_get_u16(&alg_ids, &alg_id)) {
+      return false;
+    }
+
+    given_alg_ids[given_alg_idx++] = alg_id;
+
+    for (size_t i = 0; i < num_algs; i++) {
+      const auto *alg = sk_CertCompressionAlg_value(
+          hs->ssl->ctx->cert_compression_algs.get(), i);
+      if (alg->alg_id == alg_id && alg->compress != nullptr) {
+        if (i < best_index) {
+          best_index = i;
+        }
+        break;
+      }
+    }
+  }
+
+  qsort(given_alg_ids.data(), given_alg_ids.size(), sizeof(uint16_t),
+        compare_uint16_t);
+  for (size_t i = 1; i < num_given_alg_ids; i++) {
+    if (given_alg_ids[i - 1] == given_alg_ids[i]) {
+      return false;
+    }
+  }
+
+  if (best_index < num_algs &&
+      ssl_protocol_version(hs->ssl) >= TLS1_3_VERSION) {
+    hs->cert_compression_negotiated = true;
+    hs->cert_compression_alg_id =
+        sk_CertCompressionAlg_value(hs->ssl->ctx->cert_compression_algs.get(),
+                                    best_index)
+            ->alg_id;
+  }
+
+  return true;
+}
+
+static bool cert_compression_add_serverhello(SSL_HANDSHAKE *hs, CBB *out) {
+  return true;
+}
 
 // kExtensions contains all the supported extensions.
 static const struct tls_extension kExtensions[] = {
@@ -2945,6 +3028,14 @@
     ext_token_binding_parse_clienthello,
     ext_token_binding_add_serverhello,
   },
+  {
+    TLSEXT_TYPE_cert_compression,
+    NULL,
+    cert_compression_add_clienthello,
+    cert_compression_parse_serverhello,
+    cert_compression_parse_clienthello,
+    cert_compression_add_serverhello,
+  },
 };
 
 #define kNumExtensions (sizeof(kExtensions) / sizeof(struct tls_extension))
@@ -2969,22 +3060,16 @@
   return NULL;
 }
 
-int ssl_add_clienthello_tlsext(SSL_HANDSHAKE *hs, CBB *out, size_t header_len) {
+bool ssl_add_clienthello_tlsext(SSL_HANDSHAKE *hs, CBB *out,
+                                size_t header_len) {
   SSL *const ssl = hs->ssl;
-  // Don't add extensions for SSLv3 unless doing secure renegotiation.
-  if (hs->client_version == SSL3_VERSION &&
-      !ssl->s3->send_connection_binding) {
-    return 1;
-  }
-
   CBB extensions;
   if (!CBB_add_u16_length_prefixed(out, &extensions)) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-    return 0;
+    return false;
   }
 
   hs->extensions.sent = 0;
-  hs->custom_extensions.sent = 0;
 
   for (size_t i = 0; i < kNumExtensions; i++) {
     if (kExtensions[i].init != NULL) {
@@ -2999,7 +3084,7 @@
     if (!CBB_add_u16(&extensions, grease_ext1) ||
         !CBB_add_u16(&extensions, 0 /* zero length */)) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-      return 0;
+      return false;
     }
   }
 
@@ -3008,7 +3093,7 @@
     if (!kExtensions[i].add_clienthello(hs, &extensions)) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_ERROR_ADDING_EXTENSION);
       ERR_add_error_dataf("extension %u", (unsigned)kExtensions[i].value);
-      return 0;
+      return false;
     }
 
     if (CBB_len(&extensions) != len_before) {
@@ -3016,11 +3101,6 @@
     }
   }
 
-  if (!custom_ext_add_clienthello(hs, &extensions)) {
-    OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-    return 0;
-  }
-
   if (ssl->ctx->grease_enabled) {
     // Add a fake non-empty extension. See draft-davidben-tls-grease-01.
     uint16_t grease_ext2 = ssl_get_grease_value(hs, ssl_grease_extension2);
@@ -3036,7 +3116,7 @@
         !CBB_add_u16(&extensions, 1 /* one byte length */) ||
         !CBB_add_u8(&extensions, 0 /* single zero byte as contents */)) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-      return 0;
+      return false;
     }
   }
 
@@ -3064,7 +3144,7 @@
           !CBB_add_u16(&extensions, padding_len) ||
           !CBB_add_space(&extensions, &padding_bytes, padding_len)) {
         OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-        return 0;
+        return false;
       }
 
       OPENSSL_memset(padding_bytes, 0, padding_len);
@@ -3074,7 +3154,7 @@
   // The PSK extension must be last, including after the padding.
   if (!ext_pre_shared_key_add_clienthello(hs, &extensions)) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-    return 0;
+    return false;
   }
 
   // Discard empty extensions blocks.
@@ -3085,7 +3165,7 @@
   return CBB_flush(out);
 }
 
-int ssl_add_serverhello_tlsext(SSL_HANDSHAKE *hs, CBB *out) {
+bool ssl_add_serverhello_tlsext(SSL_HANDSHAKE *hs, CBB *out) {
   SSL *const ssl = hs->ssl;
   CBB extensions;
   if (!CBB_add_u16_length_prefixed(out, &extensions)) {
@@ -3105,10 +3185,6 @@
     }
   }
 
-  if (!custom_ext_add_serverhello(hs, &extensions)) {
-    goto err;
-  }
-
   // Discard empty extensions blocks before TLS 1.3.
   if (ssl_protocol_version(ssl) < TLS1_3_VERSION &&
       CBB_len(&extensions) == 0) {
@@ -3119,13 +3195,12 @@
 
 err:
   OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-  return 0;
+  return false;
 }
 
-static int ssl_scan_clienthello_tlsext(SSL_HANDSHAKE *hs,
-                                       const SSL_CLIENT_HELLO *client_hello,
-                                       int *out_alert) {
-  SSL *const ssl = hs->ssl;
+static bool ssl_scan_clienthello_tlsext(SSL_HANDSHAKE *hs,
+                                        const SSL_CLIENT_HELLO *client_hello,
+                                        int *out_alert) {
   for (size_t i = 0; i < kNumExtensions; i++) {
     if (kExtensions[i].init != NULL) {
       kExtensions[i].init(hs);
@@ -3133,7 +3208,6 @@
   }
 
   hs->extensions.received = 0;
-  hs->custom_extensions.received = 0;
   CBS extensions;
   CBS_init(&extensions, client_hello->extensions, client_hello->extensions_len);
   while (CBS_len(&extensions) != 0) {
@@ -3144,24 +3218,13 @@
     if (!CBS_get_u16(&extensions, &type) ||
         !CBS_get_u16_length_prefixed(&extensions, &extension)) {
       *out_alert = SSL_AD_DECODE_ERROR;
-      return 0;
-    }
-
-    // RFC 5746 made the existence of extensions in SSL 3.0 somewhat
-    // ambiguous. Ignore all but the renegotiation_info extension.
-    if (ssl->version == SSL3_VERSION && type != TLSEXT_TYPE_renegotiate) {
-      continue;
+      return false;
     }
 
     unsigned ext_index;
     const struct tls_extension *const ext =
         tls_extension_find(&ext_index, type);
-
     if (ext == NULL) {
-      if (!custom_ext_parse_clienthello(hs, out_alert, type, &extension)) {
-        OPENSSL_PUT_ERROR(SSL, SSL_R_ERROR_PARSING_EXTENSION);
-        return 0;
-      }
       continue;
     }
 
@@ -3171,7 +3234,7 @@
       *out_alert = alert;
       OPENSSL_PUT_ERROR(SSL, SSL_R_ERROR_PARSING_EXTENSION);
       ERR_add_error_dataf("extension %u", (unsigned)type);
-      return 0;
+      return false;
     }
   }
 
@@ -3200,36 +3263,36 @@
       OPENSSL_PUT_ERROR(SSL, SSL_R_MISSING_EXTENSION);
       ERR_add_error_dataf("extension %u", (unsigned)kExtensions[i].value);
       *out_alert = alert;
-      return 0;
+      return false;
     }
   }
 
-  return 1;
+  return true;
 }
 
-int ssl_parse_clienthello_tlsext(SSL_HANDSHAKE *hs,
-                                 const SSL_CLIENT_HELLO *client_hello) {
+bool ssl_parse_clienthello_tlsext(SSL_HANDSHAKE *hs,
+                                  const SSL_CLIENT_HELLO *client_hello) {
   SSL *const ssl = hs->ssl;
   int alert = SSL_AD_DECODE_ERROR;
-  if (ssl_scan_clienthello_tlsext(hs, client_hello, &alert) <= 0) {
+  if (!ssl_scan_clienthello_tlsext(hs, client_hello, &alert)) {
     ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
-    return 0;
+    return false;
   }
 
-  if (ssl_check_clienthello_tlsext(hs) <= 0) {
+  if (!ssl_check_clienthello_tlsext(hs)) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_CLIENTHELLO_TLSEXT);
-    return 0;
+    return false;
   }
 
-  return 1;
+  return true;
 }
 
-static int ssl_scan_serverhello_tlsext(SSL_HANDSHAKE *hs, CBS *cbs,
-                                       int *out_alert) {
+static bool ssl_scan_serverhello_tlsext(SSL_HANDSHAKE *hs, CBS *cbs,
+                                        int *out_alert) {
   SSL *const ssl = hs->ssl;
   // Before TLS 1.3, ServerHello extensions blocks may be omitted if empty.
   if (CBS_len(cbs) == 0 && ssl_protocol_version(ssl) < TLS1_3_VERSION) {
-    return 1;
+    return true;
   }
 
   // Decode the extensions block and check it is valid.
@@ -3237,7 +3300,7 @@
   if (!CBS_get_u16_length_prefixed(cbs, &extensions) ||
       !tls1_check_duplicate_extensions(&extensions)) {
     *out_alert = SSL_AD_DECODE_ERROR;
-    return 0;
+    return false;
   }
 
   uint32_t received = 0;
@@ -3249,7 +3312,7 @@
     if (!CBS_get_u16(&extensions, &type) ||
         !CBS_get_u16_length_prefixed(&extensions, &extension)) {
       *out_alert = SSL_AD_DECODE_ERROR;
-      return 0;
+      return false;
     }
 
     unsigned ext_index;
@@ -3257,24 +3320,21 @@
         tls_extension_find(&ext_index, type);
 
     if (ext == NULL) {
-      hs->received_custom_extension = true;
-      if (!custom_ext_parse_serverhello(hs, out_alert, type, &extension)) {
-        return 0;
-      }
-      continue;
+      OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_EXTENSION);
+      ERR_add_error_dataf("extension %u", (unsigned)type);
+      *out_alert = SSL_AD_UNSUPPORTED_EXTENSION;
+      return false;
     }
 
     static_assert(kNumExtensions <= sizeof(hs->extensions.sent) * 8,
                   "too many bits");
 
-    if (!(hs->extensions.sent & (1u << ext_index)) &&
-        type != TLSEXT_TYPE_renegotiate) {
-      // If the extension was never sent then it is illegal, except for the
-      // renegotiation extension which, in SSL 3.0, is signaled via SCSV.
+    if (!(hs->extensions.sent & (1u << ext_index))) {
+      // If the extension was never sent then it is illegal.
       OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_EXTENSION);
       ERR_add_error_dataf("extension :%u", (unsigned)type);
       *out_alert = SSL_AD_UNSUPPORTED_EXTENSION;
-      return 0;
+      return false;
     }
 
     received |= (1u << ext_index);
@@ -3284,7 +3344,7 @@
       OPENSSL_PUT_ERROR(SSL, SSL_R_ERROR_PARSING_EXTENSION);
       ERR_add_error_dataf("extension %u", (unsigned)type);
       *out_alert = alert;
-      return 0;
+      return false;
     }
   }
 
@@ -3297,15 +3357,15 @@
         OPENSSL_PUT_ERROR(SSL, SSL_R_MISSING_EXTENSION);
         ERR_add_error_dataf("extension %u", (unsigned)kExtensions[i].value);
         *out_alert = alert;
-        return 0;
+        return false;
       }
     }
   }
 
-  return 1;
+  return true;
 }
 
-static int ssl_check_clienthello_tlsext(SSL_HANDSHAKE *hs) {
+static bool ssl_check_clienthello_tlsext(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
 
   if (ssl->s3->token_binding_negotiated &&
@@ -3313,43 +3373,42 @@
         SSL_get_extms_support(ssl))) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_NEGOTIATED_TB_WITHOUT_EMS_OR_RI);
     ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_UNSUPPORTED_EXTENSION);
-    return -1;
+    return false;
   }
 
   int ret = SSL_TLSEXT_ERR_NOACK;
   int al = SSL_AD_UNRECOGNIZED_NAME;
 
-  if (ssl->ctx->tlsext_servername_callback != 0) {
-    ret = ssl->ctx->tlsext_servername_callback(ssl, &al,
-                                               ssl->ctx->tlsext_servername_arg);
-  } else if (ssl->session_ctx->tlsext_servername_callback != 0) {
-    ret = ssl->session_ctx->tlsext_servername_callback(
-        ssl, &al, ssl->session_ctx->tlsext_servername_arg);
+  if (ssl->ctx->servername_callback != 0) {
+    ret = ssl->ctx->servername_callback(ssl, &al, ssl->ctx->servername_arg);
+  } else if (ssl->session_ctx->servername_callback != 0) {
+    ret = ssl->session_ctx->servername_callback(
+        ssl, &al, ssl->session_ctx->servername_arg);
   }
 
   switch (ret) {
     case SSL_TLSEXT_ERR_ALERT_FATAL:
       ssl_send_alert(ssl, SSL3_AL_FATAL, al);
-      return -1;
+      return false;
 
     case SSL_TLSEXT_ERR_NOACK:
       hs->should_ack_sni = false;
-      return 1;
+      return true;
 
     default:
-      return 1;
+      return true;
   }
 }
 
-int ssl_parse_serverhello_tlsext(SSL_HANDSHAKE *hs, CBS *cbs) {
+bool ssl_parse_serverhello_tlsext(SSL_HANDSHAKE *hs, CBS *cbs) {
   SSL *const ssl = hs->ssl;
   int alert = SSL_AD_DECODE_ERROR;
-  if (ssl_scan_serverhello_tlsext(hs, cbs, &alert) <= 0) {
+  if (!ssl_scan_serverhello_tlsext(hs, cbs, &alert)) {
     ssl_send_alert(ssl, SSL3_AL_FATAL, alert);
-    return 0;
+    return false;
   }
 
-  return 1;
+  return true;
 }
 
 static enum ssl_ticket_aead_result_t decrypt_ticket_with_cipher_ctx(
@@ -3366,10 +3425,10 @@
   }
   HMAC_Update(hmac_ctx, ticket, ticket_len - mac_len);
   HMAC_Final(hmac_ctx, mac, NULL);
-  int mac_ok =
+  bool mac_ok =
       CRYPTO_memcmp(mac, ticket + (ticket_len - mac_len), mac_len) == 0;
 #if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
-  mac_ok = 1;
+  mac_ok = true;
 #endif
   if (!mac_ok) {
     return ssl_ticket_aead_ignore_ticket;
@@ -3407,14 +3466,14 @@
 }
 
 static enum ssl_ticket_aead_result_t ssl_decrypt_ticket_with_cb(
-    SSL *ssl, uint8_t **out, size_t *out_len, bool *out_renew_ticket,
+    SSL_HANDSHAKE *hs, uint8_t **out, size_t *out_len, bool *out_renew_ticket,
     const uint8_t *ticket, size_t ticket_len) {
   assert(ticket_len >= SSL_TICKET_KEY_NAME_LEN + EVP_MAX_IV_LENGTH);
   ScopedEVP_CIPHER_CTX cipher_ctx;
   ScopedHMAC_CTX hmac_ctx;
   const uint8_t *iv = ticket + SSL_TICKET_KEY_NAME_LEN;
-  int cb_ret = ssl->session_ctx->tlsext_ticket_key_cb(
-      ssl, (uint8_t *)ticket /* name */, (uint8_t *)iv, cipher_ctx.get(),
+  int cb_ret = hs->ssl->session_ctx->ticket_key_cb(
+      hs->ssl, (uint8_t *)ticket /* name */, (uint8_t *)iv, cipher_ctx.get(),
       hmac_ctx.get(), 0 /* decrypt */);
   if (cb_ret < 0) {
     return ssl_ticket_aead_error;
@@ -3430,10 +3489,10 @@
 }
 
 static enum ssl_ticket_aead_result_t ssl_decrypt_ticket_with_ticket_keys(
-    SSL *ssl, uint8_t **out, size_t *out_len, const uint8_t *ticket,
+    SSL_HANDSHAKE *hs, uint8_t **out, size_t *out_len, const uint8_t *ticket,
     size_t ticket_len) {
   assert(ticket_len >= SSL_TICKET_KEY_NAME_LEN + EVP_MAX_IV_LENGTH);
-  SSL_CTX *ctx = ssl->session_ctx;
+  SSL_CTX *ctx = hs->ssl->session_ctx.get();
 
   // Rotate the ticket key if necessary.
   if (!ssl_ctx_rotate_ticket_encryption_key(ctx)) {
@@ -3445,15 +3504,15 @@
   ScopedHMAC_CTX hmac_ctx;
   {
     MutexReadLock lock(&ctx->lock);
-    const tlsext_ticket_key *key;
-    if (ctx->tlsext_ticket_key_current &&
-        !OPENSSL_memcmp(ctx->tlsext_ticket_key_current->name, ticket,
+    const TicketKey *key;
+    if (ctx->ticket_key_current &&
+        !OPENSSL_memcmp(ctx->ticket_key_current->name, ticket,
                         SSL_TICKET_KEY_NAME_LEN)) {
-      key = ctx->tlsext_ticket_key_current;
-    } else if (ctx->tlsext_ticket_key_prev &&
-               !OPENSSL_memcmp(ctx->tlsext_ticket_key_prev->name, ticket,
+      key = ctx->ticket_key_current.get();
+    } else if (ctx->ticket_key_prev &&
+               !OPENSSL_memcmp(ctx->ticket_key_prev->name, ticket,
                                SSL_TICKET_KEY_NAME_LEN)) {
-      key = ctx->tlsext_ticket_key_prev;
+      key = ctx->ticket_key_prev.get();
     } else {
       return ssl_ticket_aead_ignore_ticket;
     }
@@ -3470,7 +3529,7 @@
 }
 
 static enum ssl_ticket_aead_result_t ssl_decrypt_ticket_with_method(
-    SSL *ssl, uint8_t **out, size_t *out_len, bool *out_renew_ticket,
+    SSL_HANDSHAKE *hs, uint8_t **out, size_t *out_len, bool *out_renew_ticket,
     const uint8_t *ticket, size_t ticket_len) {
   uint8_t *plaintext = (uint8_t *)OPENSSL_malloc(ticket_len);
   if (plaintext == NULL) {
@@ -3480,8 +3539,8 @@
 
   size_t plaintext_len;
   const enum ssl_ticket_aead_result_t result =
-      ssl->session_ctx->ticket_aead_method->open(
-          ssl, plaintext, &plaintext_len, ticket_len, ticket, ticket_len);
+      hs->ssl->session_ctx->ticket_aead_method->open(
+          hs->ssl, plaintext, &plaintext_len, ticket_len, ticket, ticket_len);
 
   if (result == ssl_ticket_aead_success) {
     *out = plaintext;
@@ -3494,13 +3553,13 @@
 }
 
 enum ssl_ticket_aead_result_t ssl_process_ticket(
-    SSL *ssl, UniquePtr<SSL_SESSION> *out_session, bool *out_renew_ticket,
-    const uint8_t *ticket, size_t ticket_len, const uint8_t *session_id,
-    size_t session_id_len) {
+    SSL_HANDSHAKE *hs, UniquePtr<SSL_SESSION> *out_session,
+    bool *out_renew_ticket, const uint8_t *ticket, size_t ticket_len,
+    const uint8_t *session_id, size_t session_id_len) {
   *out_renew_ticket = false;
   out_session->reset();
 
-  if ((SSL_get_options(ssl) & SSL_OP_NO_TICKET) ||
+  if ((SSL_get_options(hs->ssl) & SSL_OP_NO_TICKET) ||
       session_id_len > SSL_MAX_SSL_SESSION_ID_LENGTH) {
     return ssl_ticket_aead_ignore_ticket;
   }
@@ -3508,23 +3567,23 @@
   uint8_t *plaintext = NULL;
   size_t plaintext_len;
   enum ssl_ticket_aead_result_t result;
-  if (ssl->session_ctx->ticket_aead_method != NULL) {
+  if (hs->ssl->session_ctx->ticket_aead_method != NULL) {
     result = ssl_decrypt_ticket_with_method(
-        ssl, &plaintext, &plaintext_len, out_renew_ticket, ticket, ticket_len);
+        hs, &plaintext, &plaintext_len, out_renew_ticket, ticket, ticket_len);
   } else {
-    // Ensure there is room for the key name and the largest IV
-    // |tlsext_ticket_key_cb| may try to consume. The real limit may be lower,
-    // but the maximum IV length should be well under the minimum size for the
-    // session material and HMAC.
+    // Ensure there is room for the key name and the largest IV |ticket_key_cb|
+    // may try to consume. The real limit may be lower, but the maximum IV
+    // length should be well under the minimum size for the session material and
+    // HMAC.
     if (ticket_len < SSL_TICKET_KEY_NAME_LEN + EVP_MAX_IV_LENGTH) {
       return ssl_ticket_aead_ignore_ticket;
     }
-    if (ssl->session_ctx->tlsext_ticket_key_cb != NULL) {
-      result = ssl_decrypt_ticket_with_cb(ssl, &plaintext, &plaintext_len,
+    if (hs->ssl->session_ctx->ticket_key_cb != NULL) {
+      result = ssl_decrypt_ticket_with_cb(hs, &plaintext, &plaintext_len,
                                           out_renew_ticket, ticket, ticket_len);
     } else {
       result = ssl_decrypt_ticket_with_ticket_keys(
-          ssl, &plaintext, &plaintext_len, ticket, ticket_len);
+          hs, &plaintext, &plaintext_len, ticket, ticket_len);
     }
   }
 
@@ -3534,7 +3593,7 @@
 
   // Decode the session.
   UniquePtr<SSL_SESSION> session(
-      SSL_SESSION_from_bytes(plaintext, plaintext_len, ssl->ctx));
+      SSL_SESSION_from_bytes(plaintext, plaintext_len, hs->ssl->ctx.get()));
   OPENSSL_free(plaintext);
 
   if (!session) {
@@ -3575,7 +3634,7 @@
 
 bool tls1_choose_signature_algorithm(SSL_HANDSHAKE *hs, uint16_t *out) {
   SSL *const ssl = hs->ssl;
-  CERT *cert = ssl->cert;
+  CERT *cert = hs->config->cert.get();
 
   // Before TLS 1.2, the signature algorithm isn't negotiated as part of the
   // handshake.
@@ -3622,7 +3681,7 @@
   return false;
 }
 
-int tls1_verify_channel_id(SSL_HANDSHAKE *hs, const SSLMessage &msg) {
+bool tls1_verify_channel_id(SSL_HANDSHAKE *hs, const SSLMessage &msg) {
   SSL *const ssl = hs->ssl;
   // A Channel ID handshake message is structured to contain multiple
   // extensions, but the only one that can be present is Channel ID.
@@ -3635,19 +3694,19 @@
       CBS_len(&extension) != TLSEXT_CHANNEL_ID_SIZE) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
     ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
-    return 0;
+    return false;
   }
 
   UniquePtr<EC_GROUP> p256(EC_GROUP_new_by_curve_name(NID_X9_62_prime256v1));
   if (!p256) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_NO_P256_SUPPORT);
-    return 0;
+    return false;
   }
 
   UniquePtr<ECDSA_SIG> sig(ECDSA_SIG_new());
   UniquePtr<BIGNUM> x(BN_new()), y(BN_new());
   if (!sig || !x || !y) {
-    return 0;
+    return false;
   }
 
   const uint8_t *p = CBS_data(&extension);
@@ -3655,7 +3714,7 @@
       BN_bin2bn(p + 32, 32, y.get()) == NULL ||
       BN_bin2bn(p + 64, 32, sig->r) == NULL ||
       BN_bin2bn(p + 96, 32, sig->s) == NULL) {
-    return 0;
+    return false;
   }
 
   UniquePtr<EC_KEY> key(EC_KEY_new());
@@ -3665,40 +3724,39 @@
                                            y.get(), nullptr) ||
       !EC_KEY_set_group(key.get(), p256.get()) ||
       !EC_KEY_set_public_key(key.get(), point.get())) {
-    return 0;
+    return false;
   }
 
   uint8_t digest[EVP_MAX_MD_SIZE];
   size_t digest_len;
   if (!tls1_channel_id_hash(hs, digest, &digest_len)) {
-    return 0;
-  }
-
-  int sig_ok = ECDSA_do_verify(digest, digest_len, sig.get(), key.get());
-#if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
-  sig_ok = 1;
-  ERR_clear_error();
-#endif
-  if (!sig_ok) {
-    OPENSSL_PUT_ERROR(SSL, SSL_R_CHANNEL_ID_SIGNATURE_INVALID);
-    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECRYPT_ERROR);
-    ssl->s3->tlsext_channel_id_valid = false;
-    return 0;
-  }
-
-  OPENSSL_memcpy(ssl->s3->tlsext_channel_id, p, 64);
-  return 1;
-}
-
-bool tls1_write_channel_id(SSL_HANDSHAKE *hs, CBB *cbb) {
-  SSL *const ssl = hs->ssl;
-  uint8_t digest[EVP_MAX_MD_SIZE];
-  size_t digest_len;
-  if (!tls1_channel_id_hash(hs, digest, &digest_len)) {
     return false;
   }
 
-  EC_KEY *ec_key = EVP_PKEY_get0_EC_KEY(ssl->tlsext_channel_id_private);
+  bool sig_ok = ECDSA_do_verify(digest, digest_len, sig.get(), key.get());
+#if defined(BORINGSSL_UNSAFE_FUZZER_MODE)
+  sig_ok = true;
+  ERR_clear_error();
+#endif
+  if (!sig_ok) {
+    OPENSSL_PUT_ERROR(SSL, SSL_R_CHANNEL_ID_SIGNATURE_INVALID);
+    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECRYPT_ERROR);
+    ssl->s3->channel_id_valid = false;
+    return false;
+  }
+
+  OPENSSL_memcpy(ssl->s3->channel_id, p, 64);
+  return true;
+}
+
+bool tls1_write_channel_id(SSL_HANDSHAKE *hs, CBB *cbb) {
+  uint8_t digest[EVP_MAX_MD_SIZE];
+  size_t digest_len;
+  if (!tls1_channel_id_hash(hs, digest, &digest_len)) {
+    return false;
+  }
+
+  EC_KEY *ec_key = EVP_PKEY_get0_EC_KEY(hs->config->channel_id_private.get());
   if (ec_key == nullptr) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
     return false;
@@ -3731,17 +3789,17 @@
   return true;
 }
 
-int tls1_channel_id_hash(SSL_HANDSHAKE *hs, uint8_t *out, size_t *out_len) {
+bool tls1_channel_id_hash(SSL_HANDSHAKE *hs, uint8_t *out, size_t *out_len) {
   SSL *const ssl = hs->ssl;
   if (ssl_protocol_version(ssl) >= TLS1_3_VERSION) {
     Array<uint8_t> msg;
     if (!tls13_get_cert_verify_signature_input(hs, &msg,
                                                ssl_cert_verify_channel_id)) {
-      return 0;
+      return false;
     }
     SHA256(msg.data(), msg.size(), out);
     *out_len = SHA256_DIGEST_LENGTH;
-    return 1;
+    return true;
   }
 
   SHA256_CTX ctx;
@@ -3755,7 +3813,7 @@
     SHA256_Update(&ctx, kResumptionMagic, sizeof(kResumptionMagic));
     if (ssl->session->original_handshake_hash_len == 0) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
-      return 0;
+      return false;
     }
     SHA256_Update(&ctx, ssl->session->original_handshake_hash,
                   ssl->session->original_handshake_hash_len);
@@ -3764,24 +3822,21 @@
   uint8_t hs_hash[EVP_MAX_MD_SIZE];
   size_t hs_hash_len;
   if (!hs->transcript.GetHash(hs_hash, &hs_hash_len)) {
-    return 0;
+    return false;
   }
   SHA256_Update(&ctx, hs_hash, (size_t)hs_hash_len);
   SHA256_Final(out, &ctx);
   *out_len = SHA256_DIGEST_LENGTH;
-  return 1;
+  return true;
 }
 
-// tls1_record_handshake_hashes_for_channel_id records the current handshake
-// hashes in |hs->new_session| so that Channel ID resumptions can sign that
-// data.
-int tls1_record_handshake_hashes_for_channel_id(SSL_HANDSHAKE *hs) {
+bool tls1_record_handshake_hashes_for_channel_id(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
   // This function should never be called for a resumed session because the
   // handshake hashes that we wish to record are for the original, full
   // handshake.
   if (ssl->session != NULL) {
-    return 0;
+    return false;
   }
 
   static_assert(
@@ -3791,35 +3846,34 @@
   size_t digest_len;
   if (!hs->transcript.GetHash(hs->new_session->original_handshake_hash,
                               &digest_len)) {
-    return 0;
+    return false;
   }
 
   static_assert(EVP_MAX_MD_SIZE <= 0xff,
                 "EVP_MAX_MD_SIZE does not fit in uint8_t");
   hs->new_session->original_handshake_hash_len = (uint8_t)digest_len;
 
-  return 1;
+  return true;
 }
 
-int ssl_do_channel_id_callback(SSL *ssl) {
-  if (ssl->tlsext_channel_id_private != NULL ||
-      ssl->ctx->channel_id_cb == NULL) {
-    return 1;
+bool ssl_do_channel_id_callback(SSL_HANDSHAKE *hs) {
+  if (hs->config->channel_id_private != NULL ||
+      hs->ssl->ctx->channel_id_cb == NULL) {
+    return true;
   }
 
   EVP_PKEY *key = NULL;
-  ssl->ctx->channel_id_cb(ssl, &key);
+  hs->ssl->ctx->channel_id_cb(hs->ssl, &key);
   if (key == NULL) {
     // The caller should try again later.
-    return 1;
+    return true;
   }
 
-  int ret = SSL_set1_tls_channel_id(ssl, key);
-  EVP_PKEY_free(key);
-  return ret;
+  UniquePtr<EVP_PKEY> free_key(key);
+  return SSL_set1_tls_channel_id(hs->ssl, key);
 }
 
-int ssl_is_sct_list_valid(const CBS *contents) {
+bool ssl_is_sct_list_valid(const CBS *contents) {
   // Shallow parse the SCT list for sanity. By the RFC
   // (https://tools.ietf.org/html/rfc6962#section-3.3) neither the list nor any
   // of the SCTs may be empty.
@@ -3828,18 +3882,18 @@
   if (!CBS_get_u16_length_prefixed(&copy, &sct_list) ||
       CBS_len(&copy) != 0 ||
       CBS_len(&sct_list) == 0) {
-    return 0;
+    return false;
   }
 
   while (CBS_len(&sct_list) > 0) {
     CBS sct;
     if (!CBS_get_u16_length_prefixed(&sct_list, &sct) ||
         CBS_len(&sct) == 0) {
-      return 0;
+      return false;
     }
   }
 
-  return 1;
+  return true;
 }
 
 }  // namespace bssl
@@ -3867,9 +3921,3 @@
 void SSL_CTX_set_rsa_pss_rsae_certs_enabled(SSL_CTX *ctx, int enabled) {
   ctx->rsa_pss_rsae_certs_enabled = !!enabled;
 }
-
-int SSL_extension_supported(unsigned extension_value) {
-  uint32_t index;
-  return extension_value == TLSEXT_TYPE_padding ||
-         tls_extension_find(&index, extension_value) != NULL;
-}
diff --git a/src/ssl/test/CMakeLists.txt b/src/ssl/test/CMakeLists.txt
index 3b07903..425b43b 100644
--- a/src/ssl/test/CMakeLists.txt
+++ b/src/ssl/test/CMakeLists.txt
@@ -5,10 +5,34 @@
 
   async_bio.cc
   bssl_shim.cc
+  handshake_util.cc
   packeted_bio.cc
+  settings_writer.cc
   test_config.cc
+  test_state.cc
 
   $<TARGET_OBJECTS:test_support>
 )
 
 target_link_libraries(bssl_shim ssl crypto)
+
+if(UNIX AND NOT APPLE AND NOT ANDROID)
+  add_executable(
+    handshaker
+
+    async_bio.cc
+    handshake_util.cc
+    handshaker.cc
+    packeted_bio.cc
+    settings_writer.cc
+    test_config.cc
+    test_state.cc
+
+    $<TARGET_OBJECTS:test_support>
+  )
+
+  target_link_libraries(handshaker ssl crypto)
+else()
+  # Declare a dummy target for run_tests to depend on.
+  add_custom_target(handshaker)
+endif()
diff --git a/src/ssl/test/bssl_shim.cc b/src/ssl/test/bssl_shim.cc
index 824dc94..009bdeb 100644
--- a/src/ssl/test/bssl_shim.cc
+++ b/src/ssl/test/bssl_shim.cc
@@ -64,12 +64,16 @@
 #include "../../crypto/internal.h"
 #include "../internal.h"
 #include "async_bio.h"
-#include "fuzzer_tags.h"
+#include "handshake_util.h"
 #include "packeted_bio.h"
+#include "settings_writer.h"
 #include "test_config.h"
+#include "test_state.h"
 
+#if defined(OPENSSL_LINUX) && !defined(OPENSSL_ANDROID)
+#define HANDSHAKER_SUPPORTED
+#endif
 
-static CRYPTO_BUFFER_POOL *g_pool = nullptr;
 
 #if !defined(OPENSSL_WINDOWS)
 static int closesocket(int sock) {
@@ -90,350 +94,6 @@
   return 1;
 }
 
-struct TestState {
-  // async_bio is async BIO which pauses reads and writes.
-  BIO *async_bio = nullptr;
-  // packeted_bio is the packeted BIO which simulates read timeouts.
-  BIO *packeted_bio = nullptr;
-  bssl::UniquePtr<EVP_PKEY> channel_id;
-  bool cert_ready = false;
-  bssl::UniquePtr<SSL_SESSION> session;
-  bssl::UniquePtr<SSL_SESSION> pending_session;
-  bool early_callback_called = false;
-  bool handshake_done = false;
-  // private_key is the underlying private key used when testing custom keys.
-  bssl::UniquePtr<EVP_PKEY> private_key;
-  std::vector<uint8_t> private_key_result;
-  // private_key_retries is the number of times an asynchronous private key
-  // operation has been retried.
-  unsigned private_key_retries = 0;
-  bool got_new_session = false;
-  bssl::UniquePtr<SSL_SESSION> new_session;
-  bool ticket_decrypt_done = false;
-  bool alpn_select_done = false;
-  bool is_resume = false;
-  bool early_callback_ready = false;
-  bool custom_verify_ready = false;
-  std::string msg_callback_text;
-  bool msg_callback_ok = true;
-  // cert_verified is true if certificate verification has been driven to
-  // completion. This tests that the callback is not called again after this.
-  bool cert_verified = false;
-};
-
-static void TestStateExFree(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
-                            int index, long argl, void *argp) {
-  delete ((TestState *)ptr);
-}
-
-static int g_config_index = 0;
-static int g_state_index = 0;
-
-static bool SetTestConfig(SSL *ssl, const TestConfig *config) {
-  return SSL_set_ex_data(ssl, g_config_index, (void *)config) == 1;
-}
-
-static const TestConfig *GetTestConfig(const SSL *ssl) {
-  return (const TestConfig *)SSL_get_ex_data(ssl, g_config_index);
-}
-
-static bool SetTestState(SSL *ssl, std::unique_ptr<TestState> state) {
-  // |SSL_set_ex_data| takes ownership of |state| only on success.
-  if (SSL_set_ex_data(ssl, g_state_index, state.get()) == 1) {
-    state.release();
-    return true;
-  }
-  return false;
-}
-
-static TestState *GetTestState(const SSL *ssl) {
-  return (TestState *)SSL_get_ex_data(ssl, g_state_index);
-}
-
-static bool MoveExData(SSL *dest, SSL *src) {
-  TestState *state = GetTestState(src);
-  const TestConfig *config = GetTestConfig(src);
-  if (!SSL_set_ex_data(src, g_state_index, nullptr) ||
-      !SSL_set_ex_data(dest, g_state_index, state) ||
-      !SSL_set_ex_data(src, g_config_index, nullptr) ||
-      !SSL_set_ex_data(dest, g_config_index, (void *) config)) {
-    return false;
-  }
-
-  return true;
-}
-
-static void MoveBIOs(SSL *dest, SSL *src) {
-  BIO *rbio = SSL_get_rbio(src);
-  BIO_up_ref(rbio);
-  SSL_set0_rbio(dest, rbio);
-
-  BIO *wbio = SSL_get_wbio(src);
-  BIO_up_ref(wbio);
-  SSL_set0_wbio(dest, wbio);
-
-  SSL_set0_rbio(src, nullptr);
-  SSL_set0_wbio(src, nullptr);
-}
-
-static bool LoadCertificate(bssl::UniquePtr<X509> *out_x509,
-                            bssl::UniquePtr<STACK_OF(X509)> *out_chain,
-                            const std::string &file) {
-  bssl::UniquePtr<BIO> bio(BIO_new(BIO_s_file()));
-  if (!bio || !BIO_read_filename(bio.get(), file.c_str())) {
-    return false;
-  }
-
-  out_x509->reset(PEM_read_bio_X509(bio.get(), nullptr, nullptr, nullptr));
-  if (!*out_x509) {
-    return false;
-  }
-
-  out_chain->reset(sk_X509_new_null());
-  if (!*out_chain) {
-    return false;
-  }
-
-  // Keep reading the certificate chain.
-  for (;;) {
-    bssl::UniquePtr<X509> cert(
-        PEM_read_bio_X509(bio.get(), nullptr, nullptr, nullptr));
-    if (!cert) {
-      break;
-    }
-
-    if (!sk_X509_push(out_chain->get(), cert.get())) {
-      return false;
-    }
-    cert.release();  // sk_X509_push takes ownership.
-  }
-
-  uint32_t err = ERR_peek_last_error();
-  if (ERR_GET_LIB(err) != ERR_LIB_PEM ||
-      ERR_GET_REASON(err) != PEM_R_NO_START_LINE) {
-    return false;
-}
-
-  ERR_clear_error();
-  return true;
-}
-
-static bssl::UniquePtr<EVP_PKEY> LoadPrivateKey(const std::string &file) {
-  bssl::UniquePtr<BIO> bio(BIO_new(BIO_s_file()));
-  if (!bio || !BIO_read_filename(bio.get(), file.c_str())) {
-    return nullptr;
-  }
-  return bssl::UniquePtr<EVP_PKEY>(
-      PEM_read_bio_PrivateKey(bio.get(), NULL, NULL, NULL));
-}
-
-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;
-}
-
-static bool HexDecode(std::string *out, const std::string &in) {
-  if ((in.size() & 1) != 0) {
-    return false;
-  }
-
-  std::unique_ptr<uint8_t[]> buf(new uint8_t[in.size() / 2]);
-  for (size_t i = 0; i < in.size() / 2; i++) {
-    uint8_t high, low;
-    if (!FromHexDigit(&high, in[i*2]) ||
-        !FromHexDigit(&low, in[i*2+1])) {
-      return false;
-    }
-    buf[i] = (high << 4) | low;
-  }
-
-  out->assign(reinterpret_cast<const char *>(buf.get()), in.size() / 2);
-  return true;
-}
-
-static std::vector<std::string> SplitParts(const std::string &in,
-                                           const char delim) {
-  std::vector<std::string> ret;
-  size_t start = 0;
-
-  for (size_t i = 0; i < in.size(); i++) {
-    if (in[i] == delim) {
-      ret.push_back(in.substr(start, i - start));
-      start = i + 1;
-    }
-  }
-
-  ret.push_back(in.substr(start, std::string::npos));
-  return ret;
-}
-
-static std::vector<std::string> DecodeHexStrings(
-    const std::string &hex_strings) {
-  std::vector<std::string> ret;
-  const std::vector<std::string> parts = SplitParts(hex_strings, ',');
-
-  for (const auto &part : parts) {
-    std::string binary;
-    if (!HexDecode(&binary, part)) {
-      fprintf(stderr, "Bad hex string: %s\n", part.c_str());
-      return ret;
-    }
-
-    ret.push_back(binary);
-  }
-
-  return ret;
-}
-
-static bssl::UniquePtr<STACK_OF(X509_NAME)> DecodeHexX509Names(
-    const std::string &hex_names) {
-  const std::vector<std::string> der_names = DecodeHexStrings(hex_names);
-  bssl::UniquePtr<STACK_OF(X509_NAME)> ret(sk_X509_NAME_new_null());
-  if (!ret) {
-    return nullptr;
-  }
-
-  for (const auto &der_name : der_names) {
-    const uint8_t *const data =
-        reinterpret_cast<const uint8_t *>(der_name.data());
-    const uint8_t *derp = data;
-    bssl::UniquePtr<X509_NAME> name(
-        d2i_X509_NAME(nullptr, &derp, der_name.size()));
-    if (!name || derp != data + der_name.size()) {
-      fprintf(stderr, "Failed to parse X509_NAME.\n");
-      return nullptr;
-    }
-
-    if (!sk_X509_NAME_push(ret.get(), name.get())) {
-      return nullptr;
-    }
-    name.release();
-  }
-
-  return ret;
-}
-
-static ssl_private_key_result_t AsyncPrivateKeySign(
-    SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out,
-    uint16_t signature_algorithm, const uint8_t *in, size_t in_len) {
-  TestState *test_state = GetTestState(ssl);
-  if (!test_state->private_key_result.empty()) {
-    fprintf(stderr, "AsyncPrivateKeySign called with operation pending.\n");
-    abort();
-  }
-
-  if (EVP_PKEY_id(test_state->private_key.get()) !=
-      SSL_get_signature_algorithm_key_type(signature_algorithm)) {
-    fprintf(stderr, "Key type does not match signature algorithm.\n");
-    abort();
-  }
-
-  // Determine the hash.
-  const EVP_MD *md = SSL_get_signature_algorithm_digest(signature_algorithm);
-  bssl::ScopedEVP_MD_CTX ctx;
-  EVP_PKEY_CTX *pctx;
-  if (!EVP_DigestSignInit(ctx.get(), &pctx, md, nullptr,
-                          test_state->private_key.get())) {
-    return ssl_private_key_failure;
-  }
-
-  // Configure additional signature parameters.
-  if (SSL_is_signature_algorithm_rsa_pss(signature_algorithm)) {
-    if (!EVP_PKEY_CTX_set_rsa_padding(pctx, RSA_PKCS1_PSS_PADDING) ||
-        !EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1 /* salt len = hash len */)) {
-      return ssl_private_key_failure;
-    }
-  }
-
-  // Write the signature into |test_state|.
-  size_t len = 0;
-  if (!EVP_DigestSign(ctx.get(), nullptr, &len, in, in_len)) {
-    return ssl_private_key_failure;
-  }
-  test_state->private_key_result.resize(len);
-  if (!EVP_DigestSign(ctx.get(), test_state->private_key_result.data(), &len,
-                      in, in_len)) {
-    return ssl_private_key_failure;
-  }
-  test_state->private_key_result.resize(len);
-
-  // The signature will be released asynchronously in |AsyncPrivateKeyComplete|.
-  return ssl_private_key_retry;
-}
-
-static ssl_private_key_result_t AsyncPrivateKeyDecrypt(
-    SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out,
-    const uint8_t *in, size_t in_len) {
-  TestState *test_state = GetTestState(ssl);
-  if (!test_state->private_key_result.empty()) {
-    fprintf(stderr,
-            "AsyncPrivateKeyDecrypt called with operation pending.\n");
-    abort();
-  }
-
-  RSA *rsa = EVP_PKEY_get0_RSA(test_state->private_key.get());
-  if (rsa == NULL) {
-    fprintf(stderr,
-            "AsyncPrivateKeyDecrypt called with incorrect key type.\n");
-    abort();
-  }
-  test_state->private_key_result.resize(RSA_size(rsa));
-  if (!RSA_decrypt(rsa, out_len, test_state->private_key_result.data(),
-                   RSA_size(rsa), in, in_len, RSA_NO_PADDING)) {
-    return ssl_private_key_failure;
-  }
-
-  test_state->private_key_result.resize(*out_len);
-
-  // The decryption will be released asynchronously in |AsyncPrivateComplete|.
-  return ssl_private_key_retry;
-}
-
-static ssl_private_key_result_t AsyncPrivateKeyComplete(
-    SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out) {
-  TestState *test_state = GetTestState(ssl);
-  if (test_state->private_key_result.empty()) {
-    fprintf(stderr,
-            "AsyncPrivateKeyComplete called without operation pending.\n");
-    abort();
-  }
-
-  if (test_state->private_key_retries < 2) {
-    // Only return the decryption on the second attempt, to test both incomplete
-    // |decrypt| and |decrypt_complete|.
-    return ssl_private_key_retry;
-  }
-
-  if (max_out < test_state->private_key_result.size()) {
-    fprintf(stderr, "Output buffer too small.\n");
-    return ssl_private_key_failure;
-  }
-  OPENSSL_memcpy(out, test_state->private_key_result.data(),
-                 test_state->private_key_result.size());
-  *out_len = test_state->private_key_result.size();
-
-  test_state->private_key_result.clear();
-  test_state->private_key_retries = 0;
-  return ssl_private_key_success;
-}
-
-static const SSL_PRIVATE_KEY_METHOD g_async_private_key_method = {
-    AsyncPrivateKeySign,
-    AsyncPrivateKeyDecrypt,
-    AsyncPrivateKeyComplete,
-};
-
 template<typename T>
 struct Free {
   void operator()(T *buf) {
@@ -441,635 +101,6 @@
   }
 };
 
-static bool GetCertificate(SSL *ssl, bssl::UniquePtr<X509> *out_x509,
-                           bssl::UniquePtr<STACK_OF(X509)> *out_chain,
-                           bssl::UniquePtr<EVP_PKEY> *out_pkey) {
-  const TestConfig *config = GetTestConfig(ssl);
-
-  if (!config->signing_prefs.empty()) {
-    std::vector<uint16_t> u16s(config->signing_prefs.begin(),
-                               config->signing_prefs.end());
-    if (!SSL_set_signing_algorithm_prefs(ssl, u16s.data(), u16s.size())) {
-      return false;
-    }
-  }
-
-  if (!config->key_file.empty()) {
-    *out_pkey = LoadPrivateKey(config->key_file.c_str());
-    if (!*out_pkey) {
-      return false;
-    }
-  }
-  if (!config->cert_file.empty() &&
-      !LoadCertificate(out_x509, out_chain, config->cert_file.c_str())) {
-    return false;
-  }
-  if (!config->ocsp_response.empty() &&
-      !SSL_set_ocsp_response(ssl, (const uint8_t *)config->ocsp_response.data(),
-                             config->ocsp_response.size())) {
-    return false;
-  }
-  return true;
-}
-
-static bool InstallCertificate(SSL *ssl) {
-  bssl::UniquePtr<X509> x509;
-  bssl::UniquePtr<STACK_OF(X509)> chain;
-  bssl::UniquePtr<EVP_PKEY> pkey;
-  if (!GetCertificate(ssl, &x509, &chain, &pkey)) {
-    return false;
-  }
-
-  if (pkey) {
-    TestState *test_state = GetTestState(ssl);
-    const TestConfig *config = GetTestConfig(ssl);
-    if (config->async) {
-      test_state->private_key = std::move(pkey);
-      SSL_set_private_key_method(ssl, &g_async_private_key_method);
-    } else if (!SSL_use_PrivateKey(ssl, pkey.get())) {
-      return false;
-    }
-  }
-
-  if (x509 && !SSL_use_certificate(ssl, x509.get())) {
-    return false;
-  }
-
-  if (sk_X509_num(chain.get()) > 0 &&
-      !SSL_set1_chain(ssl, chain.get())) {
-    return false;
-  }
-
-  return true;
-}
-
-static enum ssl_select_cert_result_t SelectCertificateCallback(
-    const SSL_CLIENT_HELLO *client_hello) {
-  const TestConfig *config = GetTestConfig(client_hello->ssl);
-  GetTestState(client_hello->ssl)->early_callback_called = true;
-
-  if (!config->expected_server_name.empty()) {
-    const uint8_t *extension_data;
-    size_t extension_len;
-    CBS extension, server_name_list, host_name;
-    uint8_t name_type;
-
-    if (!SSL_early_callback_ctx_extension_get(
-            client_hello, TLSEXT_TYPE_server_name, &extension_data,
-            &extension_len)) {
-      fprintf(stderr, "Could not find server_name extension.\n");
-      return ssl_select_cert_error;
-    }
-
-    CBS_init(&extension, extension_data, extension_len);
-    if (!CBS_get_u16_length_prefixed(&extension, &server_name_list) ||
-        CBS_len(&extension) != 0 ||
-        !CBS_get_u8(&server_name_list, &name_type) ||
-        name_type != TLSEXT_NAMETYPE_host_name ||
-        !CBS_get_u16_length_prefixed(&server_name_list, &host_name) ||
-        CBS_len(&server_name_list) != 0) {
-      fprintf(stderr, "Could not decode server_name extension.\n");
-      return ssl_select_cert_error;
-    }
-
-    if (!CBS_mem_equal(&host_name,
-                       (const uint8_t*)config->expected_server_name.data(),
-                       config->expected_server_name.size())) {
-      fprintf(stderr, "Server name mismatch.\n");
-    }
-  }
-
-  if (config->fail_early_callback) {
-    return ssl_select_cert_error;
-  }
-
-  // Install the certificate in the early callback.
-  if (config->use_early_callback) {
-    bool early_callback_ready =
-        GetTestState(client_hello->ssl)->early_callback_ready;
-    if (config->async && !early_callback_ready) {
-      // Install the certificate asynchronously.
-      return ssl_select_cert_retry;
-    }
-    if (!InstallCertificate(client_hello->ssl)) {
-      return ssl_select_cert_error;
-    }
-  }
-  return ssl_select_cert_success;
-}
-
-static bool CheckCertificateRequest(SSL *ssl) {
-  const TestConfig *config = GetTestConfig(ssl);
-
-  if (!config->expected_certificate_types.empty()) {
-    const uint8_t *certificate_types;
-    size_t certificate_types_len =
-        SSL_get0_certificate_types(ssl, &certificate_types);
-    if (certificate_types_len != config->expected_certificate_types.size() ||
-        OPENSSL_memcmp(certificate_types,
-                       config->expected_certificate_types.data(),
-                       certificate_types_len) != 0) {
-      fprintf(stderr, "certificate types mismatch\n");
-      return false;
-    }
-  }
-
-  if (!config->expected_client_ca_list.empty()) {
-    bssl::UniquePtr<STACK_OF(X509_NAME)> expected =
-        DecodeHexX509Names(config->expected_client_ca_list);
-    const size_t num_expected = sk_X509_NAME_num(expected.get());
-
-    const STACK_OF(X509_NAME) *received = SSL_get_client_CA_list(ssl);
-    const size_t num_received = sk_X509_NAME_num(received);
-
-    if (num_received != num_expected) {
-      fprintf(stderr, "expected %u names in CertificateRequest but got %u\n",
-              static_cast<unsigned>(num_expected),
-              static_cast<unsigned>(num_received));
-      return false;
-    }
-
-    for (size_t i = 0; i < num_received; i++) {
-      if (X509_NAME_cmp(sk_X509_NAME_value(received, i),
-                        sk_X509_NAME_value(expected.get(), i)) != 0) {
-        fprintf(stderr, "names in CertificateRequest differ at index #%d\n",
-                static_cast<unsigned>(i));
-        return false;
-      }
-    }
-
-    STACK_OF(CRYPTO_BUFFER) *buffers = SSL_get0_server_requested_CAs(ssl);
-    if (sk_CRYPTO_BUFFER_num(buffers) != num_received) {
-      fprintf(stderr,
-              "Mismatch between SSL_get_server_requested_CAs and "
-              "SSL_get_client_CA_list.\n");
-      return false;
-    }
-  }
-
-  return true;
-}
-
-static int ClientCertCallback(SSL *ssl, X509 **out_x509, EVP_PKEY **out_pkey) {
-  if (!CheckCertificateRequest(ssl)) {
-    return -1;
-  }
-
-  if (GetTestConfig(ssl)->async && !GetTestState(ssl)->cert_ready) {
-    return -1;
-  }
-
-  bssl::UniquePtr<X509> x509;
-  bssl::UniquePtr<STACK_OF(X509)> chain;
-  bssl::UniquePtr<EVP_PKEY> pkey;
-  if (!GetCertificate(ssl, &x509, &chain, &pkey)) {
-    return -1;
-  }
-
-  // Return zero for no certificate.
-  if (!x509) {
-    return 0;
-  }
-
-  // Chains and asynchronous private keys are not supported with client_cert_cb.
-  *out_x509 = x509.release();
-  *out_pkey = pkey.release();
-  return 1;
-}
-
-static int CertCallback(SSL *ssl, void *arg) {
-  const TestConfig *config = GetTestConfig(ssl);
-
-  // Check the CertificateRequest metadata is as expected.
-  if (!SSL_is_server(ssl) && !CheckCertificateRequest(ssl)) {
-    return -1;
-  }
-
-  if (config->fail_cert_callback) {
-    return 0;
-  }
-
-  // The certificate will be installed via other means.
-  if (!config->async || config->use_early_callback) {
-    return 1;
-  }
-
-  if (!GetTestState(ssl)->cert_ready) {
-    return -1;
-  }
-  if (!InstallCertificate(ssl)) {
-    return 0;
-  }
-  return 1;
-}
-
-static bool CheckVerifyCallback(SSL *ssl) {
-  const TestConfig *config = GetTestConfig(ssl);
-  if (!config->expected_ocsp_response.empty()) {
-    const uint8_t *data;
-    size_t len;
-    SSL_get0_ocsp_response(ssl, &data, &len);
-    if (len == 0) {
-      fprintf(stderr, "OCSP response not available in verify callback\n");
-      return false;
-    }
-  }
-
-  if (GetTestState(ssl)->cert_verified) {
-    fprintf(stderr, "Certificate verified twice.\n");
-    return false;
-  }
-
-  return true;
-}
-
-static int CertVerifyCallback(X509_STORE_CTX *store_ctx, void *arg) {
-  SSL* ssl = (SSL*)X509_STORE_CTX_get_ex_data(store_ctx,
-      SSL_get_ex_data_X509_STORE_CTX_idx());
-  const TestConfig *config = GetTestConfig(ssl);
-  if (!CheckVerifyCallback(ssl)) {
-    return 0;
-  }
-
-  GetTestState(ssl)->cert_verified = true;
-  if (config->verify_fail) {
-    store_ctx->error = X509_V_ERR_APPLICATION_VERIFICATION;
-    return 0;
-  }
-
-  return 1;
-}
-
-static ssl_verify_result_t CustomVerifyCallback(SSL *ssl, uint8_t *out_alert) {
-  const TestConfig *config = GetTestConfig(ssl);
-  if (!CheckVerifyCallback(ssl)) {
-    return ssl_verify_invalid;
-  }
-
-  if (config->async && !GetTestState(ssl)->custom_verify_ready) {
-    return ssl_verify_retry;
-  }
-
-  GetTestState(ssl)->cert_verified = true;
-  if (config->verify_fail) {
-    return ssl_verify_invalid;
-  }
-
-  return ssl_verify_ok;
-}
-
-static int NextProtosAdvertisedCallback(SSL *ssl, const uint8_t **out,
-                                        unsigned int *out_len, void *arg) {
-  const TestConfig *config = GetTestConfig(ssl);
-  if (config->advertise_npn.empty()) {
-    return SSL_TLSEXT_ERR_NOACK;
-  }
-
-  *out = (const uint8_t*)config->advertise_npn.data();
-  *out_len = config->advertise_npn.size();
-  return SSL_TLSEXT_ERR_OK;
-}
-
-static int NextProtoSelectCallback(SSL* ssl, uint8_t** out, uint8_t* outlen,
-                                   const uint8_t* in, unsigned inlen, void* arg) {
-  const TestConfig *config = GetTestConfig(ssl);
-  if (config->select_next_proto.empty()) {
-    return SSL_TLSEXT_ERR_NOACK;
-  }
-
-  *out = (uint8_t*)config->select_next_proto.data();
-  *outlen = config->select_next_proto.size();
-  return SSL_TLSEXT_ERR_OK;
-}
-
-static int AlpnSelectCallback(SSL* ssl, const uint8_t** out, uint8_t* outlen,
-                              const uint8_t* in, unsigned inlen, void* arg) {
-  if (GetTestState(ssl)->alpn_select_done) {
-    fprintf(stderr, "AlpnSelectCallback called after completion.\n");
-    exit(1);
-  }
-
-  GetTestState(ssl)->alpn_select_done = true;
-
-  const TestConfig *config = GetTestConfig(ssl);
-  if (config->decline_alpn) {
-    return SSL_TLSEXT_ERR_NOACK;
-  }
-
-  if (!config->expected_advertised_alpn.empty() &&
-      (config->expected_advertised_alpn.size() != inlen ||
-       OPENSSL_memcmp(config->expected_advertised_alpn.data(), in, inlen) !=
-           0)) {
-    fprintf(stderr, "bad ALPN select callback inputs\n");
-    exit(1);
-  }
-
-  *out = (const uint8_t*)config->select_alpn.data();
-  *outlen = config->select_alpn.size();
-  return SSL_TLSEXT_ERR_OK;
-}
-
-static unsigned PskClientCallback(SSL *ssl, const char *hint,
-                                  char *out_identity,
-                                  unsigned max_identity_len,
-                                  uint8_t *out_psk, unsigned max_psk_len) {
-  const TestConfig *config = GetTestConfig(ssl);
-
-  if (config->psk_identity.empty()) {
-    if (hint != nullptr) {
-      fprintf(stderr, "Server PSK hint was non-null.\n");
-      return 0;
-    }
-  } else if (hint == nullptr ||
-             strcmp(hint, config->psk_identity.c_str()) != 0) {
-    fprintf(stderr, "Server PSK hint did not match.\n");
-    return 0;
-  }
-
-  // Account for the trailing '\0' for the identity.
-  if (config->psk_identity.size() >= max_identity_len ||
-      config->psk.size() > max_psk_len) {
-    fprintf(stderr, "PSK buffers too small\n");
-    return 0;
-  }
-
-  BUF_strlcpy(out_identity, config->psk_identity.c_str(),
-              max_identity_len);
-  OPENSSL_memcpy(out_psk, config->psk.data(), config->psk.size());
-  return config->psk.size();
-}
-
-static unsigned PskServerCallback(SSL *ssl, const char *identity,
-                                  uint8_t *out_psk, unsigned max_psk_len) {
-  const TestConfig *config = GetTestConfig(ssl);
-
-  if (strcmp(identity, config->psk_identity.c_str()) != 0) {
-    fprintf(stderr, "Client PSK identity did not match.\n");
-    return 0;
-  }
-
-  if (config->psk.size() > max_psk_len) {
-    fprintf(stderr, "PSK buffers too small\n");
-    return 0;
-  }
-
-  OPENSSL_memcpy(out_psk, config->psk.data(), config->psk.size());
-  return config->psk.size();
-}
-
-static timeval g_clock;
-
-static void CurrentTimeCallback(const SSL *ssl, timeval *out_clock) {
-  *out_clock = g_clock;
-}
-
-static void ChannelIdCallback(SSL *ssl, EVP_PKEY **out_pkey) {
-  *out_pkey = GetTestState(ssl)->channel_id.release();
-}
-
-static SSL_SESSION *GetSessionCallback(SSL *ssl, const uint8_t *data, int len,
-                                       int *copy) {
-  TestState *async_state = GetTestState(ssl);
-  if (async_state->session) {
-    *copy = 0;
-    return async_state->session.release();
-  } else if (async_state->pending_session) {
-    return SSL_magic_pending_session_ptr();
-  } else {
-    return NULL;
-  }
-}
-
-static int DDoSCallback(const SSL_CLIENT_HELLO *client_hello) {
-  const TestConfig *config = GetTestConfig(client_hello->ssl);
-  static int callback_num = 0;
-
-  callback_num++;
-  if (config->fail_ddos_callback ||
-      (config->fail_second_ddos_callback && callback_num == 2)) {
-    return 0;
-  }
-  return 1;
-}
-
-static void InfoCallback(const SSL *ssl, int type, int val) {
-  if (type == SSL_CB_HANDSHAKE_DONE) {
-    if (GetTestConfig(ssl)->handshake_never_done) {
-      fprintf(stderr, "Handshake unexpectedly completed.\n");
-      // Abort before any expected error code is printed, to ensure the overall
-      // test fails.
-      abort();
-    }
-    // This callback is called when the handshake completes. |SSL_get_session|
-    // must continue to work and |SSL_in_init| must return false.
-    if (SSL_in_init(ssl) || SSL_get_session(ssl) == nullptr) {
-      fprintf(stderr, "Invalid state for SSL_CB_HANDSHAKE_DONE.\n");
-      abort();
-    }
-    GetTestState(ssl)->handshake_done = true;
-
-    // Callbacks may be called again on a new handshake.
-    GetTestState(ssl)->ticket_decrypt_done = false;
-    GetTestState(ssl)->alpn_select_done = false;
-  }
-}
-
-static int NewSessionCallback(SSL *ssl, SSL_SESSION *session) {
-  // This callback is called as the handshake completes. |SSL_get_session|
-  // must continue to work and, historically, |SSL_in_init| returned false at
-  // this point.
-  if (SSL_in_init(ssl) || SSL_get_session(ssl) == nullptr) {
-    fprintf(stderr, "Invalid state for NewSessionCallback.\n");
-    abort();
-  }
-
-  GetTestState(ssl)->got_new_session = true;
-  GetTestState(ssl)->new_session.reset(session);
-  return 1;
-}
-
-static int TicketKeyCallback(SSL *ssl, uint8_t *key_name, uint8_t *iv,
-                             EVP_CIPHER_CTX *ctx, HMAC_CTX *hmac_ctx,
-                             int encrypt) {
-  if (!encrypt) {
-    if (GetTestState(ssl)->ticket_decrypt_done) {
-      fprintf(stderr, "TicketKeyCallback called after completion.\n");
-      return -1;
-    }
-
-    GetTestState(ssl)->ticket_decrypt_done = true;
-  }
-
-  // This is just test code, so use the all-zeros key.
-  static const uint8_t kZeros[16] = {0};
-
-  if (encrypt) {
-    OPENSSL_memcpy(key_name, kZeros, sizeof(kZeros));
-    RAND_bytes(iv, 16);
-  } else if (OPENSSL_memcmp(key_name, kZeros, 16) != 0) {
-    return 0;
-  }
-
-  if (!HMAC_Init_ex(hmac_ctx, kZeros, sizeof(kZeros), EVP_sha256(), NULL) ||
-      !EVP_CipherInit_ex(ctx, EVP_aes_128_cbc(), NULL, kZeros, iv, encrypt)) {
-    return -1;
-  }
-
-  if (!encrypt) {
-    return GetTestConfig(ssl)->renew_ticket ? 2 : 1;
-  }
-  return 1;
-}
-
-// kCustomExtensionValue is the extension value that the custom extension
-// callbacks will add.
-static const uint16_t kCustomExtensionValue = 1234;
-static void *const kCustomExtensionAddArg =
-    reinterpret_cast<void *>(kCustomExtensionValue);
-static void *const kCustomExtensionParseArg =
-    reinterpret_cast<void *>(kCustomExtensionValue + 1);
-static const char kCustomExtensionContents[] = "custom extension";
-
-static int CustomExtensionAddCallback(SSL *ssl, unsigned extension_value,
-                                      const uint8_t **out, size_t *out_len,
-                                      int *out_alert_value, void *add_arg) {
-  if (extension_value != kCustomExtensionValue ||
-      add_arg != kCustomExtensionAddArg) {
-    abort();
-  }
-
-  if (GetTestConfig(ssl)->custom_extension_skip) {
-    return 0;
-  }
-  if (GetTestConfig(ssl)->custom_extension_fail_add) {
-    return -1;
-  }
-
-  *out = reinterpret_cast<const uint8_t*>(kCustomExtensionContents);
-  *out_len = sizeof(kCustomExtensionContents) - 1;
-
-  return 1;
-}
-
-static void CustomExtensionFreeCallback(SSL *ssl, unsigned extension_value,
-                                        const uint8_t *out, void *add_arg) {
-  if (extension_value != kCustomExtensionValue ||
-      add_arg != kCustomExtensionAddArg ||
-      out != reinterpret_cast<const uint8_t *>(kCustomExtensionContents)) {
-    abort();
-  }
-}
-
-static int CustomExtensionParseCallback(SSL *ssl, unsigned extension_value,
-                                        const uint8_t *contents,
-                                        size_t contents_len,
-                                        int *out_alert_value, void *parse_arg) {
-  if (extension_value != kCustomExtensionValue ||
-      parse_arg != kCustomExtensionParseArg) {
-    abort();
-  }
-
-  if (contents_len != sizeof(kCustomExtensionContents) - 1 ||
-      OPENSSL_memcmp(contents, kCustomExtensionContents, contents_len) != 0) {
-    *out_alert_value = SSL_AD_DECODE_ERROR;
-    return 0;
-  }
-
-  return 1;
-}
-
-static int ServerNameCallback(SSL *ssl, int *out_alert, void *arg) {
-  // SNI must be accessible from the SNI callback.
-  const TestConfig *config = GetTestConfig(ssl);
-  const char *server_name = SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name);
-  if (server_name == nullptr ||
-      std::string(server_name) != config->expected_server_name) {
-    fprintf(stderr, "servername mismatch (got %s; want %s)\n", server_name,
-            config->expected_server_name.c_str());
-    return SSL_TLSEXT_ERR_ALERT_FATAL;
-  }
-
-  return SSL_TLSEXT_ERR_OK;
-}
-
-static void MessageCallback(int is_write, int version, int content_type,
-                            const void *buf, size_t len, SSL *ssl, void *arg) {
-  const uint8_t *buf_u8 = reinterpret_cast<const uint8_t *>(buf);
-  const TestConfig *config = GetTestConfig(ssl);
-  TestState *state = GetTestState(ssl);
-  if (!state->msg_callback_ok) {
-    return;
-  }
-
-  if (content_type == SSL3_RT_HEADER) {
-    if (len !=
-        (config->is_dtls ? DTLS1_RT_HEADER_LENGTH : SSL3_RT_HEADER_LENGTH)) {
-      fprintf(stderr, "Incorrect length for record header: %zu\n", len);
-      state->msg_callback_ok = false;
-    }
-    return;
-  }
-
-  state->msg_callback_text += is_write ? "write " : "read ";
-  switch (content_type) {
-    case 0:
-      if (version != SSL2_VERSION) {
-        fprintf(stderr, "Incorrect version for V2ClientHello: %x\n", version);
-        state->msg_callback_ok = false;
-        return;
-      }
-      state->msg_callback_text += "v2clienthello\n";
-      return;
-
-    case SSL3_RT_HANDSHAKE: {
-      CBS cbs;
-      CBS_init(&cbs, buf_u8, len);
-      uint8_t type;
-      uint32_t msg_len;
-      if (!CBS_get_u8(&cbs, &type) ||
-          // TODO(davidben): Reporting on entire messages would be more
-          // consistent than fragments.
-          (config->is_dtls &&
-           !CBS_skip(&cbs, 3 /* total */ + 2 /* seq */ + 3 /* frag_off */)) ||
-          !CBS_get_u24(&cbs, &msg_len) ||
-          !CBS_skip(&cbs, msg_len) ||
-          CBS_len(&cbs) != 0) {
-        fprintf(stderr, "Could not parse handshake message.\n");
-        state->msg_callback_ok = false;
-        return;
-      }
-      char text[16];
-      snprintf(text, sizeof(text), "hs %d\n", type);
-      state->msg_callback_text += text;
-      return;
-    }
-
-    case SSL3_RT_CHANGE_CIPHER_SPEC:
-      if (len != 1 || buf_u8[0] != 1) {
-        fprintf(stderr, "Invalid ChangeCipherSpec.\n");
-        state->msg_callback_ok = false;
-        return;
-      }
-      state->msg_callback_text += "ccs\n";
-      return;
-
-    case SSL3_RT_ALERT:
-      if (len != 2) {
-        fprintf(stderr, "Invalid alert.\n");
-        state->msg_callback_ok = false;
-        return;
-      }
-      char text[16];
-      snprintf(text, sizeof(text), "alert %d %d\n", buf_u8[0], buf_u8[1]);
-      state->msg_callback_text += text;
-      return;
-
-    default:
-      fprintf(stderr, "Invalid content_type: %d\n", content_type);
-      state->msg_callback_ok = false;
-  }
-}
-
 // Connect returns a new socket connected to localhost on |port| or -1 on
 // error.
 static int Connect(uint16_t port) {
@@ -1147,270 +178,6 @@
   const int sock_;
 };
 
-static void ssl_ctx_add_session(SSL_SESSION *session, void *void_param) {
-  SSL_CTX *ctx = reinterpret_cast<SSL_CTX *>(void_param);
-  bssl::UniquePtr<SSL_SESSION> new_session = bssl::SSL_SESSION_dup(
-      session, SSL_SESSION_INCLUDE_NONAUTH | SSL_SESSION_INCLUDE_TICKET);
-  if (new_session != nullptr) {
-    SSL_CTX_add_session(ctx, new_session.get());
-  }
-}
-
-static bssl::UniquePtr<SSL_CTX> SetupCtx(SSL_CTX *old_ctx,
-                                         const TestConfig *config) {
-  bssl::UniquePtr<SSL_CTX> ssl_ctx(SSL_CTX_new(
-      config->is_dtls ? DTLS_method() : TLS_method()));
-  if (!ssl_ctx) {
-    return nullptr;
-  }
-
-  SSL_CTX_set0_buffer_pool(ssl_ctx.get(), g_pool);
-
-  // Enable SSL 3.0 and TLS 1.3 for tests.
-  if (!config->is_dtls &&
-      (!SSL_CTX_set_min_proto_version(ssl_ctx.get(), SSL3_VERSION) ||
-       !SSL_CTX_set_max_proto_version(ssl_ctx.get(), TLS1_3_VERSION))) {
-    return nullptr;
-  }
-
-  std::string cipher_list = "ALL";
-  if (!config->cipher.empty()) {
-    cipher_list = config->cipher;
-    SSL_CTX_set_options(ssl_ctx.get(), SSL_OP_CIPHER_SERVER_PREFERENCE);
-  }
-  if (!SSL_CTX_set_strict_cipher_list(ssl_ctx.get(), cipher_list.c_str())) {
-    return nullptr;
-  }
-
-  if (config->async && config->is_server) {
-    // Disable the internal session cache. To test asynchronous session lookup,
-    // we use an external session cache.
-    SSL_CTX_set_session_cache_mode(
-        ssl_ctx.get(), SSL_SESS_CACHE_BOTH | SSL_SESS_CACHE_NO_INTERNAL);
-    SSL_CTX_sess_set_get_cb(ssl_ctx.get(), GetSessionCallback);
-  } else {
-    SSL_CTX_set_session_cache_mode(ssl_ctx.get(), SSL_SESS_CACHE_BOTH);
-  }
-
-  SSL_CTX_set_select_certificate_cb(ssl_ctx.get(), SelectCertificateCallback);
-
-  if (config->use_old_client_cert_callback) {
-    SSL_CTX_set_client_cert_cb(ssl_ctx.get(), ClientCertCallback);
-  }
-
-  SSL_CTX_set_next_protos_advertised_cb(
-      ssl_ctx.get(), NextProtosAdvertisedCallback, NULL);
-  if (!config->select_next_proto.empty()) {
-    SSL_CTX_set_next_proto_select_cb(ssl_ctx.get(), NextProtoSelectCallback,
-                                     NULL);
-  }
-
-  if (!config->select_alpn.empty() || config->decline_alpn) {
-    SSL_CTX_set_alpn_select_cb(ssl_ctx.get(), AlpnSelectCallback, NULL);
-  }
-
-  SSL_CTX_set_channel_id_cb(ssl_ctx.get(), ChannelIdCallback);
-
-  SSL_CTX_set_current_time_cb(ssl_ctx.get(), CurrentTimeCallback);
-
-  SSL_CTX_set_info_callback(ssl_ctx.get(), InfoCallback);
-  SSL_CTX_sess_set_new_cb(ssl_ctx.get(), NewSessionCallback);
-
-  if (config->use_ticket_callback) {
-    SSL_CTX_set_tlsext_ticket_key_cb(ssl_ctx.get(), TicketKeyCallback);
-  }
-
-  if (config->enable_client_custom_extension &&
-      !SSL_CTX_add_client_custom_ext(
-          ssl_ctx.get(), kCustomExtensionValue, CustomExtensionAddCallback,
-          CustomExtensionFreeCallback, kCustomExtensionAddArg,
-          CustomExtensionParseCallback, kCustomExtensionParseArg)) {
-    return nullptr;
-  }
-
-  if (config->enable_server_custom_extension &&
-      !SSL_CTX_add_server_custom_ext(
-          ssl_ctx.get(), kCustomExtensionValue, CustomExtensionAddCallback,
-          CustomExtensionFreeCallback, kCustomExtensionAddArg,
-          CustomExtensionParseCallback, kCustomExtensionParseArg)) {
-    return nullptr;
-  }
-
-  if (!config->use_custom_verify_callback) {
-    SSL_CTX_set_cert_verify_callback(ssl_ctx.get(), CertVerifyCallback, NULL);
-  }
-
-  if (!config->signed_cert_timestamps.empty() &&
-      !SSL_CTX_set_signed_cert_timestamp_list(
-          ssl_ctx.get(), (const uint8_t *)config->signed_cert_timestamps.data(),
-          config->signed_cert_timestamps.size())) {
-    return nullptr;
-  }
-
-  if (!config->use_client_ca_list.empty()) {
-    if (config->use_client_ca_list == "<NULL>") {
-      SSL_CTX_set_client_CA_list(ssl_ctx.get(), nullptr);
-    } else if (config->use_client_ca_list == "<EMPTY>") {
-      bssl::UniquePtr<STACK_OF(X509_NAME)> names;
-      SSL_CTX_set_client_CA_list(ssl_ctx.get(), names.release());
-    } else {
-      bssl::UniquePtr<STACK_OF(X509_NAME)> names =
-          DecodeHexX509Names(config->use_client_ca_list);
-      SSL_CTX_set_client_CA_list(ssl_ctx.get(), names.release());
-    }
-  }
-
-  if (config->enable_grease) {
-    SSL_CTX_set_grease_enabled(ssl_ctx.get(), 1);
-  }
-
-  if (!config->expected_server_name.empty()) {
-    SSL_CTX_set_tlsext_servername_callback(ssl_ctx.get(), ServerNameCallback);
-  }
-
-  if (!config->ticket_key.empty() &&
-      !SSL_CTX_set_tlsext_ticket_keys(ssl_ctx.get(), config->ticket_key.data(),
-                                      config->ticket_key.size())) {
-    return nullptr;
-  }
-
-  if (config->enable_early_data) {
-    SSL_CTX_set_early_data_enabled(ssl_ctx.get(), 1);
-  }
-
-  SSL_CTX_set_tls13_variant(
-      ssl_ctx.get(), static_cast<enum tls13_variant_t>(config->tls13_variant));
-
-  if (config->allow_unknown_alpn_protos) {
-    SSL_CTX_set_allow_unknown_alpn_protos(ssl_ctx.get(), 1);
-  }
-
-  if (config->enable_ed25519) {
-    SSL_CTX_set_ed25519_enabled(ssl_ctx.get(), 1);
-  }
-  if (config->no_rsa_pss_rsae_certs) {
-    SSL_CTX_set_rsa_pss_rsae_certs_enabled(ssl_ctx.get(), 0);
-  }
-
-  if (!config->verify_prefs.empty()) {
-    std::vector<uint16_t> u16s(config->verify_prefs.begin(),
-                               config->verify_prefs.end());
-    if (!SSL_CTX_set_verify_algorithm_prefs(ssl_ctx.get(), u16s.data(),
-                                            u16s.size())) {
-      return nullptr;
-    }
-  }
-
-  SSL_CTX_set_msg_callback(ssl_ctx.get(), MessageCallback);
-
-  if (config->allow_false_start_without_alpn) {
-    SSL_CTX_set_false_start_allowed_without_alpn(ssl_ctx.get(), 1);
-  }
-
-  if (old_ctx) {
-    uint8_t keys[48];
-    if (!SSL_CTX_get_tlsext_ticket_keys(old_ctx, &keys, sizeof(keys)) ||
-        !SSL_CTX_set_tlsext_ticket_keys(ssl_ctx.get(), keys, sizeof(keys))) {
-      return nullptr;
-    }
-    lh_SSL_SESSION_doall_arg(old_ctx->sessions, ssl_ctx_add_session,
-                             ssl_ctx.get());
-  }
-
-  return ssl_ctx;
-}
-
-// RetryAsync is called after a failed operation on |ssl| with return code
-// |ret|. If the operation should be retried, it simulates one asynchronous
-// event and returns true. Otherwise it returns false.
-static bool RetryAsync(SSL *ssl, int ret) {
-  // No error; don't retry.
-  if (ret >= 0) {
-    return false;
-  }
-
-  TestState *test_state = GetTestState(ssl);
-  assert(GetTestConfig(ssl)->async);
-
-  if (test_state->packeted_bio != nullptr &&
-      PacketedBioAdvanceClock(test_state->packeted_bio)) {
-    // The DTLS retransmit logic silently ignores write failures. So the test
-    // may progress, allow writes through synchronously.
-    AsyncBioEnforceWriteQuota(test_state->async_bio, false);
-    int timeout_ret = DTLSv1_handle_timeout(ssl);
-    AsyncBioEnforceWriteQuota(test_state->async_bio, true);
-
-    if (timeout_ret < 0) {
-      fprintf(stderr, "Error retransmitting.\n");
-      return false;
-    }
-    return true;
-  }
-
-  // See if we needed to read or write more. If so, allow one byte through on
-  // the appropriate end to maximally stress the state machine.
-  switch (SSL_get_error(ssl, ret)) {
-    case SSL_ERROR_WANT_READ:
-      AsyncBioAllowRead(test_state->async_bio, 1);
-      return true;
-    case SSL_ERROR_WANT_WRITE:
-      AsyncBioAllowWrite(test_state->async_bio, 1);
-      return true;
-    case SSL_ERROR_WANT_CHANNEL_ID_LOOKUP: {
-      bssl::UniquePtr<EVP_PKEY> pkey =
-          LoadPrivateKey(GetTestConfig(ssl)->send_channel_id);
-      if (!pkey) {
-        return false;
-      }
-      test_state->channel_id = std::move(pkey);
-      return true;
-    }
-    case SSL_ERROR_WANT_X509_LOOKUP:
-      test_state->cert_ready = true;
-      return true;
-    case SSL_ERROR_PENDING_SESSION:
-      test_state->session = std::move(test_state->pending_session);
-      return true;
-    case SSL_ERROR_PENDING_CERTIFICATE:
-      test_state->early_callback_ready = true;
-      return true;
-    case SSL_ERROR_WANT_PRIVATE_KEY_OPERATION:
-      test_state->private_key_retries++;
-      return true;
-    case SSL_ERROR_WANT_CERTIFICATE_VERIFY:
-      test_state->custom_verify_ready = true;
-      return true;
-    default:
-      return false;
-  }
-}
-
-// CheckIdempotentError runs |func|, an operation on |ssl|, ensuring that
-// errors are idempotent.
-static int CheckIdempotentError(const char *name, SSL *ssl,
-                                std::function<int()> func) {
-  int ret = func();
-  int ssl_err = SSL_get_error(ssl, ret);
-  uint32_t err = ERR_peek_error();
-  if (ssl_err == SSL_ERROR_SSL || ssl_err == SSL_ERROR_ZERO_RETURN) {
-    int ret2 = func();
-    int ssl_err2 = SSL_get_error(ssl, ret2);
-    uint32_t err2 = ERR_peek_error();
-    if (ret != ret2 || ssl_err != ssl_err2 || err != err2) {
-      fprintf(stderr, "Repeating %s did not replay the error.\n", name);
-      char buf[256];
-      ERR_error_string_n(err, buf, sizeof(buf));
-      fprintf(stderr, "Wanted: %d %d %s\n", ret, ssl_err, buf);
-      ERR_error_string_n(err2, buf, sizeof(buf));
-      fprintf(stderr, "Got:    %d %d %s\n", ret2, ssl_err2, buf);
-      // runner treats exit code 90 as always failing. Otherwise, it may
-      // accidentally consider the result an expected protocol failure.
-      exit(90);
-    }
-  }
-  return ret;
-}
-
 // DoRead reads from |ssl|, resolving any asynchronous operations. It returns
 // the result value of the final |SSL_read| call.
 static int DoRead(SSL *ssl, uint8_t *out, size_t max_out) {
@@ -1564,7 +331,7 @@
       if (!sk_X509_insert(expect_chain.get(), expect_leaf.get(), 0)) {
         return false;
       }
-      X509_up_ref(expect_leaf.get());  // sk_X509_push takes ownership.
+      X509_up_ref(expect_leaf.get());  // sk_X509_insert takes ownership.
     }
 
     bssl::UniquePtr<X509> leaf(SSL_get_peer_certificate(ssl));
@@ -1590,7 +357,7 @@
     }
   }
 
-  if (SSL_get_session(ssl)->peer_sha256_valid !=
+  if (!!SSL_SESSION_has_peer_sha256(SSL_get_session(ssl)) !=
       config->expect_sha256_client_cert) {
     fprintf(stderr,
             "Unexpected SHA-256 client cert state: expected:%d is_resume:%d.\n",
@@ -1599,12 +366,30 @@
   }
 
   if (config->expect_sha256_client_cert &&
-      SSL_get_session(ssl)->certs != nullptr) {
+      SSL_SESSION_get0_peer_certificates(SSL_get_session(ssl)) != nullptr) {
     fprintf(stderr, "Have both client cert and SHA-256 hash: is_resume:%d.\n",
             is_resume);
     return false;
   }
 
+  const uint8_t *peer_sha256;
+  size_t peer_sha256_len;
+  SSL_SESSION_get0_peer_sha256(SSL_get_session(ssl), &peer_sha256,
+                               &peer_sha256_len);
+  if (SSL_SESSION_has_peer_sha256(SSL_get_session(ssl))) {
+    if (peer_sha256_len != 32) {
+      fprintf(stderr, "Peer SHA-256 hash had length %zu instead of 32\n",
+              peer_sha256_len);
+      return false;
+    }
+  } else {
+    if (peer_sha256_len != 0) {
+      fprintf(stderr, "Unexpected peer SHA-256 hash of length %zu\n",
+              peer_sha256_len);
+      return false;
+    }
+  }
+
   return true;
 }
 
@@ -1670,7 +455,10 @@
     }
   }
 
-  if (config->is_server && !GetTestState(ssl)->early_callback_called) {
+  // early_callback_called is updated in the handshaker, so we don't see it
+  // here.
+  if (!config->handoff && config->is_server &&
+      !GetTestState(ssl)->early_callback_called) {
     fprintf(stderr, "early callback not called\n");
     return false;
   }
@@ -1849,283 +637,10 @@
   return true;
 }
 
-static bool WriteSettings(int i, const TestConfig *config,
-                          const SSL_SESSION *session) {
-  if (config->write_settings.empty()) {
-    return true;
-  }
-
-  // Treat write_settings as a path prefix for each connection in the run.
-  char buf[DECIMAL_SIZE(int)];
-  snprintf(buf, sizeof(buf), "%d", i);
-  std::string path = config->write_settings + buf;
-
-  bssl::ScopedCBB cbb;
-  if (!CBB_init(cbb.get(), 64)) {
-    return false;
-  }
-
-  if (session != nullptr) {
-    uint8_t *data;
-    size_t len;
-    if (!SSL_SESSION_to_bytes(session, &data, &len)) {
-      return false;
-    }
-    bssl::UniquePtr<uint8_t> free_data(data);
-    CBB child;
-    if (!CBB_add_u16(cbb.get(), kSessionTag) ||
-        !CBB_add_u24_length_prefixed(cbb.get(), &child) ||
-        !CBB_add_bytes(&child, data, len) ||
-        !CBB_flush(cbb.get())) {
-      return false;
-    }
-  }
-
-  if (config->is_server &&
-      (config->require_any_client_certificate || config->verify_peer) &&
-      !CBB_add_u16(cbb.get(), kRequestClientCert)) {
-    return false;
-  }
-
-  if (config->tls13_variant != 0 &&
-      (!CBB_add_u16(cbb.get(), kTLS13Variant) ||
-       !CBB_add_u8(cbb.get(), static_cast<uint8_t>(config->tls13_variant)))) {
-    return false;
-  }
-
-  uint8_t *settings;
-  size_t settings_len;
-  if (!CBB_add_u16(cbb.get(), kDataTag) ||
-      !CBB_finish(cbb.get(), &settings, &settings_len)) {
-    return false;
-  }
-  bssl::UniquePtr<uint8_t> free_settings(settings);
-
-  using ScopedFILE = std::unique_ptr<FILE, decltype(&fclose)>;
-  ScopedFILE file(fopen(path.c_str(), "w"), fclose);
-  if (!file) {
-    return false;
-  }
-
-  return fwrite(settings, settings_len, 1, file.get()) == 1;
-}
-
-static bssl::UniquePtr<SSL> NewSSL(SSL_CTX *ssl_ctx, const TestConfig *config,
-                                   SSL_SESSION *session, bool is_resume,
-                                   std::unique_ptr<TestState> test_state) {
-  bssl::UniquePtr<SSL> ssl(SSL_new(ssl_ctx));
-  if (!ssl) {
-    return nullptr;
-  }
-
-  if (!SetTestConfig(ssl.get(), config)) {
-    return nullptr;
-  }
-  if (test_state != nullptr) {
-    if (!SetTestState(ssl.get(), std::move(test_state))) {
-      return nullptr;
-    }
-    GetTestState(ssl.get())->is_resume = is_resume;
-  }
-
-  if (config->fallback_scsv &&
-      !SSL_set_mode(ssl.get(), SSL_MODE_SEND_FALLBACK_SCSV)) {
-    return nullptr;
-  }
-  // Install the certificate synchronously if nothing else will handle it.
-  if (!config->use_early_callback &&
-      !config->use_old_client_cert_callback &&
-      !config->async &&
-      !InstallCertificate(ssl.get())) {
-    return nullptr;
-  }
-  if (!config->use_old_client_cert_callback) {
-    SSL_set_cert_cb(ssl.get(), CertCallback, nullptr);
-  }
-  int mode = SSL_VERIFY_NONE;
-  if (config->require_any_client_certificate) {
-    mode = SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
-  }
-  if (config->verify_peer) {
-    mode = SSL_VERIFY_PEER;
-  }
-  if (config->verify_peer_if_no_obc) {
-    // Set SSL_VERIFY_FAIL_IF_NO_PEER_CERT so testing whether client
-    // certificates were requested is easy.
-    mode = SSL_VERIFY_PEER | SSL_VERIFY_PEER_IF_NO_OBC |
-           SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
-  }
-  if (config->use_custom_verify_callback) {
-    SSL_set_custom_verify(ssl.get(), mode, CustomVerifyCallback);
-  } else if (mode != SSL_VERIFY_NONE) {
-    SSL_set_verify(ssl.get(), mode, NULL);
-  }
-  if (config->false_start) {
-    SSL_set_mode(ssl.get(), SSL_MODE_ENABLE_FALSE_START);
-  }
-  if (config->cbc_record_splitting) {
-    SSL_set_mode(ssl.get(), SSL_MODE_CBC_RECORD_SPLITTING);
-  }
-  if (config->partial_write) {
-    SSL_set_mode(ssl.get(), SSL_MODE_ENABLE_PARTIAL_WRITE);
-  }
-  if (config->no_tls13) {
-    SSL_set_options(ssl.get(), SSL_OP_NO_TLSv1_3);
-  }
-  if (config->no_tls12) {
-    SSL_set_options(ssl.get(), SSL_OP_NO_TLSv1_2);
-  }
-  if (config->no_tls11) {
-    SSL_set_options(ssl.get(), SSL_OP_NO_TLSv1_1);
-  }
-  if (config->no_tls1) {
-    SSL_set_options(ssl.get(), SSL_OP_NO_TLSv1);
-  }
-  if (config->no_ssl3) {
-    SSL_set_options(ssl.get(), SSL_OP_NO_SSLv3);
-  }
-  if (!config->expected_channel_id.empty() ||
-      config->enable_channel_id) {
-    SSL_set_tls_channel_id_enabled(ssl.get(), 1);
-  }
-  if (!config->send_channel_id.empty()) {
-    SSL_set_tls_channel_id_enabled(ssl.get(), 1);
-    if (!config->async) {
-      // The async case will be supplied by |ChannelIdCallback|.
-      bssl::UniquePtr<EVP_PKEY> pkey = LoadPrivateKey(config->send_channel_id);
-      if (!pkey || !SSL_set1_tls_channel_id(ssl.get(), pkey.get())) {
-        return nullptr;
-      }
-    }
-  }
-  if (!config->send_token_binding_params.empty()) {
-    SSL_set_token_binding_params(ssl.get(),
-                                 reinterpret_cast<const uint8_t *>(
-                                     config->send_token_binding_params.data()),
-                                 config->send_token_binding_params.length());
-  }
-  if (!config->host_name.empty() &&
-      !SSL_set_tlsext_host_name(ssl.get(), config->host_name.c_str())) {
-    return nullptr;
-  }
-  if (!config->advertise_alpn.empty() &&
-      SSL_set_alpn_protos(ssl.get(),
-                          (const uint8_t *)config->advertise_alpn.data(),
-                          config->advertise_alpn.size()) != 0) {
-    return nullptr;
-  }
-  if (!config->psk.empty()) {
-    SSL_set_psk_client_callback(ssl.get(), PskClientCallback);
-    SSL_set_psk_server_callback(ssl.get(), PskServerCallback);
-  }
-  if (!config->psk_identity.empty() &&
-      !SSL_use_psk_identity_hint(ssl.get(), config->psk_identity.c_str())) {
-    return nullptr;
-  }
-  if (!config->srtp_profiles.empty() &&
-      !SSL_set_srtp_profiles(ssl.get(), config->srtp_profiles.c_str())) {
-    return nullptr;
-  }
-  if (config->enable_ocsp_stapling) {
-    SSL_enable_ocsp_stapling(ssl.get());
-  }
-  if (config->enable_signed_cert_timestamps) {
-    SSL_enable_signed_cert_timestamps(ssl.get());
-  }
-  if (config->min_version != 0 &&
-      !SSL_set_min_proto_version(ssl.get(), (uint16_t)config->min_version)) {
-    return nullptr;
-  }
-  if (config->max_version != 0 &&
-      !SSL_set_max_proto_version(ssl.get(), (uint16_t)config->max_version)) {
-    return nullptr;
-  }
-  if (config->mtu != 0) {
-    SSL_set_options(ssl.get(), SSL_OP_NO_QUERY_MTU);
-    SSL_set_mtu(ssl.get(), config->mtu);
-  }
-  if (config->install_ddos_callback) {
-    SSL_CTX_set_dos_protection_cb(ssl_ctx, DDoSCallback);
-  }
-  if (config->renegotiate_once) {
-    SSL_set_renegotiate_mode(ssl.get(), ssl_renegotiate_once);
-  }
-  if (config->renegotiate_freely) {
-    SSL_set_renegotiate_mode(ssl.get(), ssl_renegotiate_freely);
-  }
-  if (config->renegotiate_ignore) {
-    SSL_set_renegotiate_mode(ssl.get(), ssl_renegotiate_ignore);
-  }
-  if (!config->check_close_notify) {
-    SSL_set_quiet_shutdown(ssl.get(), 1);
-  }
-  if (config->p384_only) {
-    int nid = NID_secp384r1;
-    if (!SSL_set1_curves(ssl.get(), &nid, 1)) {
-      return nullptr;
-    }
-  }
-  if (config->enable_all_curves) {
-    static const int kAllCurves[] = {
-        NID_secp224r1, NID_X9_62_prime256v1, NID_secp384r1,
-        NID_secp521r1, NID_X25519,
-    };
-    if (!SSL_set1_curves(ssl.get(), kAllCurves,
-                         OPENSSL_ARRAY_SIZE(kAllCurves))) {
-      return nullptr;
-    }
-  }
-  if (config->initial_timeout_duration_ms > 0) {
-    DTLSv1_set_initial_timeout_duration(ssl.get(),
-                                        config->initial_timeout_duration_ms);
-  }
-  if (config->max_cert_list > 0) {
-    SSL_set_max_cert_list(ssl.get(), config->max_cert_list);
-  }
-  if (config->retain_only_sha256_client_cert) {
-    SSL_set_retain_only_sha256_of_client_certs(ssl.get(), 1);
-  }
-  if (config->max_send_fragment > 0) {
-    SSL_set_max_send_fragment(ssl.get(), config->max_send_fragment);
-  }
-  if (config->dummy_pq_padding_len > 0 &&
-      !SSL_set_dummy_pq_padding_size(ssl.get(), config->dummy_pq_padding_len)) {
-    return nullptr;
-  }
-  if (!config->quic_transport_params.empty()) {
-    if (!SSL_set_quic_transport_params(
-            ssl.get(),
-            reinterpret_cast<const uint8_t *>(
-                config->quic_transport_params.data()),
-            config->quic_transport_params.size())) {
-      return nullptr;
-    }
-  }
-
-  if (session != NULL) {
-    if (!config->is_server) {
-      if (SSL_set_session(ssl.get(), session) != 1) {
-        return nullptr;
-      }
-    } else if (config->async) {
-      // The internal session cache is disabled, so install the session
-      // manually.
-      SSL_SESSION_up_ref(session);
-      GetTestState(ssl.get())->pending_session.reset(session);
-    }
-  }
-
-  if (SSL_get_current_cipher(ssl.get()) != nullptr) {
-    fprintf(stderr, "non-null cipher before handshake\n");
-    return nullptr;
-  }
-
-  return ssl;
-}
-
 static bool DoExchange(bssl::UniquePtr<SSL_SESSION> *out_session,
                        bssl::UniquePtr<SSL> *ssl_uniqueptr,
-                       const TestConfig *config, bool is_resume, bool is_retry);
+                       const TestConfig *config, bool is_resume, bool is_retry,
+                       SettingsWriter *writer);
 
 // DoConnection tests an SSL connection against the peer. On success, it returns
 // true and sets |*out_session| to the negotiated SSL session. If the test is a
@@ -2134,9 +649,9 @@
 static bool DoConnection(bssl::UniquePtr<SSL_SESSION> *out_session,
                          SSL_CTX *ssl_ctx, const TestConfig *config,
                          const TestConfig *retry_config, bool is_resume,
-                         SSL_SESSION *session) {
-  bssl::UniquePtr<SSL> ssl = NewSSL(ssl_ctx, config, session, is_resume,
-                                    std::unique_ptr<TestState>(new TestState));
+                         SSL_SESSION *session, SettingsWriter *writer) {
+  bssl::UniquePtr<SSL> ssl = config->NewSSL(
+      ssl_ctx, session, is_resume, std::unique_ptr<TestState>(new TestState));
   if (!ssl) {
     return false;
   }
@@ -2158,7 +673,7 @@
     return false;
   }
   if (config->is_dtls) {
-    bssl::UniquePtr<BIO> packeted = PacketedBioCreate(&g_clock);
+    bssl::UniquePtr<BIO> packeted = PacketedBioCreate(GetClock());
     if (!packeted) {
       return false;
     }
@@ -2179,7 +694,7 @@
   SSL_set_bio(ssl.get(), bio.get(), bio.get());
   bio.release();  // SSL_set_bio takes ownership.
 
-  bool ret = DoExchange(out_session, &ssl, config, is_resume, false);
+  bool ret = DoExchange(out_session, &ssl, config, is_resume, false, writer);
   if (!config->is_server && is_resume && config->expect_reject_early_data) {
     // We must have failed due to an early data rejection.
     if (ret) {
@@ -2214,7 +729,7 @@
     }
 
     assert(!config->handoff);
-    ret = DoExchange(out_session, &ssl, retry_config, is_resume, true);
+    ret = DoExchange(out_session, &ssl, retry_config, is_resume, true, writer);
   }
 
   if (!ret) {
@@ -2237,73 +752,25 @@
   return true;
 }
 
-static bool HandoffReady(SSL *ssl, int ret) {
-  return ret < 0 && SSL_get_error(ssl, ret) == SSL_ERROR_HANDOFF;
-}
-
-static bool HandbackReady(SSL *ssl, int ret) {
-  return ret < 0 && SSL_get_error(ssl, ret) == SSL_ERROR_HANDBACK;
-}
-
 static bool DoExchange(bssl::UniquePtr<SSL_SESSION> *out_session,
                        bssl::UniquePtr<SSL> *ssl_uniqueptr,
-                       const TestConfig *config, bool is_resume,
-                       bool is_retry) {
+                       const TestConfig *config, bool is_resume, bool is_retry,
+                       SettingsWriter *writer) {
   int ret;
   SSL *ssl = ssl_uniqueptr->get();
-  SSL_CTX *session_ctx = ssl->ctx;
+  SSL_CTX *session_ctx = SSL_get_SSL_CTX(ssl);
 
   if (!config->implicit_handshake) {
     if (config->handoff) {
-      bssl::UniquePtr<SSL_CTX> ctx_handoff = SetupCtx(ssl->ctx, config);
-      if (!ctx_handoff) {
+#if defined(HANDSHAKER_SUPPORTED)
+      if (!DoSplitHandshake(ssl_uniqueptr, writer, is_resume)) {
         return false;
       }
-      SSL_CTX_set_handoff_mode(ctx_handoff.get(), 1);
-
-      bssl::UniquePtr<SSL> ssl_handoff =
-          NewSSL(ctx_handoff.get(), config, nullptr, false, nullptr);
-      if (!ssl_handoff) {
-        return false;
-      }
-      SSL_set_accept_state(ssl_handoff.get());
-      if (!MoveExData(ssl_handoff.get(), ssl)) {
-        return false;
-      }
-      MoveBIOs(ssl_handoff.get(), ssl);
-
-      do {
-        ret = CheckIdempotentError("SSL_do_handshake", ssl_handoff.get(),
-                                   [&]() -> int {
-          return SSL_do_handshake(ssl_handoff.get());
-        });
-      } while (!HandoffReady(ssl_handoff.get(), ret) &&
-               config->async &&
-               RetryAsync(ssl_handoff.get(), ret));
-
-      if (!HandoffReady(ssl_handoff.get(), ret)) {
-        fprintf(stderr, "Handshake failed while waiting for handoff.\n");
-        return false;
-      }
-
-      bssl::ScopedCBB cbb;
-      bssl::Array<uint8_t> handoff;
-      if (!CBB_init(cbb.get(), 512) ||
-          !SSL_serialize_handoff(ssl_handoff.get(), cbb.get()) ||
-          !CBBFinishArray(cbb.get(), &handoff)) {
-        fprintf(stderr, "Handoff serialisation failed.\n");
-        return false;
-      }
-
-      MoveBIOs(ssl, ssl_handoff.get());
-      if (!MoveExData(ssl, ssl_handoff.get())) {
-        return false;
-      }
-
-      if (!SSL_apply_handoff(ssl, handoff)) {
-        fprintf(stderr, "Handoff application failed.\n");
-        return false;
-      }
+      ssl = ssl_uniqueptr->get();
+#else
+      fprintf(stderr, "The external handshaker can only be used on Linux\n");
+      return false;
+#endif
     }
 
     do {
@@ -2312,56 +779,15 @@
       });
     } while (config->async && RetryAsync(ssl, ret));
 
-    if (config->handoff) {
-      if (!HandbackReady(ssl, ret)) {
-        fprintf(stderr, "Connection failed to handback.\n");
-        return false;
-      }
-
-      bssl::ScopedCBB cbb;
-      bssl::Array<uint8_t> handback;
-      if (!CBB_init(cbb.get(), 512) ||
-          !SSL_serialize_handback(ssl, cbb.get()) ||
-          !CBBFinishArray(cbb.get(), &handback)) {
-        fprintf(stderr, "Handback serialisation failed.\n");
-        return false;
-      }
-
-      bssl::UniquePtr<SSL_CTX> ctx_handback = SetupCtx(ssl->ctx, config);
-      if (!ctx_handback) {
-        return false;
-      }
-      bssl::UniquePtr<SSL> ssl_handback =
-          NewSSL(ctx_handback.get(), config, nullptr, false, nullptr);
-      if (!ssl_handback) {
-        return false;
-      }
-      MoveBIOs(ssl_handback.get(), ssl);
-      if (!MoveExData(ssl_handback.get(), ssl)) {
-        return false;
-      }
-
-      if (!SSL_apply_handback(ssl_handback.get(), handback)) {
-        fprintf(stderr, "Applying handback failed.\n");
-        return false;
-      }
-
-      *ssl_uniqueptr = std::move(ssl_handback);
-      ssl = ssl_uniqueptr->get();
-
-      do {
-        ret = CheckIdempotentError("SSL_do_handshake", ssl, [&]() -> int {
-          return SSL_do_handshake(ssl);
-        });
-      } while (config->async && RetryAsync(ssl, ret));
+    if (config->forbid_renegotiation_after_handshake) {
+      SSL_set_renegotiate_mode(ssl, ssl_renegotiate_never);
     }
 
     if (ret != 1 || !CheckHandshakeProperties(ssl, is_resume, config)) {
       return false;
     }
 
-    lh_SSL_SESSION_doall_arg(ssl->ctx->sessions, ssl_ctx_add_session,
-                             session_ctx);
+    CopySessions(session_ctx, SSL_get_SSL_CTX(ssl));
 
     if (is_resume && !is_retry && !config->is_server &&
         config->expect_no_offer_early_data && SSL_in_early_data(ssl)) {
@@ -2671,11 +1097,6 @@
 #endif
 
   CRYPTO_library_init();
-  g_config_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
-  g_state_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, TestStateExFree);
-  if (g_config_index < 0 || g_state_index < 0) {
-    return 1;
-  }
 
   TestConfig initial_config, resume_config, retry_config;
   if (!ParseConfig(argc - 1, argv + 1, &initial_config, &resume_config,
@@ -2683,12 +1104,14 @@
     return Usage(argv[0]);
   }
 
-  g_pool = CRYPTO_BUFFER_POOL_new();
-
-  // Some code treats the zero time special, so initialize the clock to a
-  // non-zero time.
-  g_clock.tv_sec = 1234;
-  g_clock.tv_usec = 1234;
+  if (initial_config.is_handshaker_supported) {
+#if defined(HANDSHAKER_SUPPORTED)
+    printf("Yes\n");
+#else
+    printf("No\n");
+#endif
+    return 0;
+  }
 
   bssl::UniquePtr<SSL_CTX> ssl_ctx;
 
@@ -2696,7 +1119,7 @@
   for (int i = 0; i < initial_config.resume_count + 1; i++) {
     bool is_resume = i > 0;
     TestConfig *config = is_resume ? &resume_config : &initial_config;
-    ssl_ctx = SetupCtx(ssl_ctx.get(), config);
+    ssl_ctx = config->SetupCtx(ssl_ctx.get());
     if (!ssl_ctx) {
       ERR_print_errors_fp(stderr);
       return 1;
@@ -2708,19 +1131,25 @@
     }
 
     bssl::UniquePtr<SSL_SESSION> offer_session = std::move(session);
-    if (!WriteSettings(i, config, offer_session.get())) {
+    SettingsWriter writer;
+    if (!writer.Init(i, config, offer_session.get())) {
       fprintf(stderr, "Error writing settings.\n");
       return 1;
     }
-    if (!DoConnection(&session, ssl_ctx.get(), config, &retry_config, is_resume,
-                      offer_session.get())) {
+    bool ok = DoConnection(&session, ssl_ctx.get(), config, &retry_config,
+                           is_resume, offer_session.get(), &writer);
+    if (!writer.Commit()) {
+      fprintf(stderr, "Error writing settings.\n");
+      return 1;
+    }
+    if (!ok) {
       fprintf(stderr, "Connection %d failed.\n", i + 1);
       ERR_print_errors_fp(stderr);
       return 1;
     }
 
     if (config->resumption_delay != 0) {
-      g_clock.tv_sec += config->resumption_delay;
+      AdvanceClock(config->resumption_delay);
     }
   }
 
diff --git a/src/ssl/test/fuzzer.h b/src/ssl/test/fuzzer.h
index c794c4c..1ca970d 100644
--- a/src/ssl/test/fuzzer.h
+++ b/src/ssl/test/fuzzer.h
@@ -30,9 +30,9 @@
 #include <openssl/ssl.h>
 #include <openssl/x509.h>
 
+#include "../internal.h"
 #include "./fuzzer_tags.h"
 
-
 namespace {
 
 const uint8_t kP256KeyPKCS8[] = {
@@ -276,6 +276,19 @@
     }
   }
 
+  static void MoveBIOs(SSL *dest, SSL *src) {
+    BIO *rbio = SSL_get_rbio(src);
+    BIO_up_ref(rbio);
+    SSL_set0_rbio(dest, rbio);
+
+    BIO *wbio = SSL_get_wbio(src);
+    BIO_up_ref(wbio);
+    SSL_set0_wbio(dest, wbio);
+
+    SSL_set0_rbio(src, nullptr);
+    SSL_set0_wbio(src, nullptr);
+  }
+
   int TestOneInput(const uint8_t *buf, size_t len) {
     RAND_reset_for_fuzzing();
 
@@ -294,19 +307,63 @@
       SSL_set_tlsext_host_name(ssl.get(), "hostname");
     }
 
+    // ssl_handoff may or may not be used.
+    bssl::UniquePtr<SSL> ssl_handoff(SSL_new(ctx_.get()));
+    bssl::UniquePtr<SSL> ssl_handback(SSL_new(ctx_.get()));
+    SSL_set_accept_state(ssl_handoff.get());
+
     SSL_set0_rbio(ssl.get(), MakeBIO(CBS_data(&cbs), CBS_len(&cbs)).release());
     SSL_set0_wbio(ssl.get(), BIO_new(BIO_s_mem()));
 
-    if (SSL_do_handshake(ssl.get()) == 1) {
+    SSL *ssl_handshake = ssl.get();
+    bool handshake_successful = false;
+    bool handback_successful = false;
+    for (;;) {
+      int ret = SSL_do_handshake(ssl_handshake);
+      if (ret < 0 && SSL_get_error(ssl_handshake, ret) == SSL_ERROR_HANDOFF) {
+        MoveBIOs(ssl_handoff.get(), ssl.get());
+        // Ordinarily we would call SSL_serialize_handoff(ssl.get().  But for
+        // fuzzing, use the serialized handoff that's getting fuzzed.
+        if (!SSL_apply_handoff(ssl_handoff.get(), handoff_)) {
+          if (debug_) {
+            fprintf(stderr, "Handoff failed.\n");
+          }
+          break;
+        }
+        ssl_handshake = ssl_handoff.get();
+      } else if (ret < 0 &&
+                 SSL_get_error(ssl_handshake, ret) == SSL_ERROR_HANDBACK) {
+        MoveBIOs(ssl_handback.get(), ssl_handoff.get());
+        if (!SSL_apply_handback(ssl_handback.get(), handback_)) {
+          if (debug_) {
+            fprintf(stderr, "Handback failed.\n");
+          }
+          break;
+        }
+        handback_successful = true;
+        ssl_handshake = ssl_handback.get();
+      } else {
+        handshake_successful = ret == 1;
+        break;
+      }
+    }
+
+    if (debug_) {
+      if (!handshake_successful) {
+        fprintf(stderr, "Handshake failed.\n");
+      } else if (handback_successful) {
+        fprintf(stderr, "Handback successful.\n");
+      }
+    }
+
+    if (handshake_successful) {
       // Keep reading application data until error or EOF.
       uint8_t tmp[1024];
       for (;;) {
-        if (SSL_read(ssl.get(), tmp, sizeof(tmp)) <= 0) {
+        if (SSL_read(ssl_handshake, tmp, sizeof(tmp)) <= 0) {
           break;
         }
       }
-    } else if (debug_) {
-      fprintf(stderr, "Handshake failed.\n");
     }
 
     if (debug_) {
@@ -352,11 +409,9 @@
     if (!SSL_CTX_set_strict_cipher_list(ctx_.get(), "ALL:NULL-SHA")) {
       return false;
     }
-    if (protocol_ == kTLS) {
-      if (!SSL_CTX_set_max_proto_version(ctx_.get(), TLS1_3_VERSION) ||
-          !SSL_CTX_set_min_proto_version(ctx_.get(), SSL3_VERSION)) {
-        return false;
-      }
+    if (protocol_ == kTLS &&
+        !SSL_CTX_set_max_proto_version(ctx_.get(), TLS1_3_VERSION)) {
+      return false;
     }
 
     SSL_CTX_set_early_data_enabled(ctx_.get(), 1);
@@ -389,6 +444,8 @@
     // |ctx| is shared between runs, so we must clear any modifications to it
     // made later on in this function.
     SSL_CTX_flush_sessions(ctx_.get(), 0);
+    handoff_ = {};
+    handback_ = {};
 
     bssl::UniquePtr<SSL> ssl(SSL_new(ctx_.get()));
     if (role_ == kServer) {
@@ -442,6 +499,26 @@
           break;
         }
 
+        case kHandoffTag: {
+          CBS handoff;
+          if (!CBS_get_u24_length_prefixed(cbs, &handoff)) {
+            return nullptr;
+          }
+          handoff_.CopyFrom(handoff);
+          bssl::SSL_set_handoff_mode(ssl.get(), 1);
+          break;
+        }
+
+        case kHandbackTag: {
+          CBS handback;
+          if (!CBS_get_u24_length_prefixed(cbs, &handback)) {
+            return nullptr;
+          }
+          handback_.CopyFrom(handback);
+          bssl::SSL_set_handoff_mode(ssl.get(), 1);
+          break;
+        }
+
         default:
           return nullptr;
       }
@@ -497,6 +574,7 @@
   Protocol protocol_;
   Role role_;
   bssl::UniquePtr<SSL_CTX> ctx_;
+  bssl::Array<uint8_t> handoff_, handback_;
 };
 
 const BIO_METHOD TLSFuzzer::kBIOMethod = {
diff --git a/src/ssl/test/fuzzer_tags.h b/src/ssl/test/fuzzer_tags.h
index b161d80..c21aca3 100644
--- a/src/ssl/test/fuzzer_tags.h
+++ b/src/ssl/test/fuzzer_tags.h
@@ -42,4 +42,10 @@
 // kTLS13Variant is followed by a u8 denoting the TLS 1.3 variant to configure.
 static const uint16_t kTLS13Variant = 3;
 
+// kHandoffTag is followed by the output of |SSL_serialize_handoff|.
+static const uint16_t kHandoffTag = 4;
+
+// kHandbackTag is followed by te output of |SSL_serialize_handback|.
+static const uint16_t kHandbackTag = 5;
+
 #endif  // HEADER_SSL_TEST_FUZZER_TAGS
diff --git a/src/ssl/test/handshake_util.cc b/src/ssl/test/handshake_util.cc
new file mode 100644
index 0000000..f839653
--- /dev/null
+++ b/src/ssl/test/handshake_util.cc
@@ -0,0 +1,473 @@
+/* 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 "handshake_util.h"
+
+#include <assert.h>
+#if defined(OPENSSL_LINUX) && !defined(OPENSSL_ANDROID)
+#include <errno.h>
+#include <fcntl.h>
+#include <spawn.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <unistd.h>
+#endif
+
+#include <functional>
+
+#include "async_bio.h"
+#include "packeted_bio.h"
+#include "test_config.h"
+#include "test_state.h"
+
+#include <openssl/ssl.h>
+
+using namespace bssl;
+
+bool RetryAsync(SSL *ssl, int ret) {
+  // No error; don't retry.
+  if (ret >= 0) {
+    return false;
+  }
+
+  TestState *test_state = GetTestState(ssl);
+  assert(GetTestConfig(ssl)->async);
+
+  if (test_state->packeted_bio != nullptr &&
+      PacketedBioAdvanceClock(test_state->packeted_bio)) {
+    // The DTLS retransmit logic silently ignores write failures. So the test
+    // may progress, allow writes through synchronously.
+    AsyncBioEnforceWriteQuota(test_state->async_bio, false);
+    int timeout_ret = DTLSv1_handle_timeout(ssl);
+    AsyncBioEnforceWriteQuota(test_state->async_bio, true);
+
+    if (timeout_ret < 0) {
+      fprintf(stderr, "Error retransmitting.\n");
+      return false;
+    }
+    return true;
+  }
+
+  // See if we needed to read or write more. If so, allow one byte through on
+  // the appropriate end to maximally stress the state machine.
+  switch (SSL_get_error(ssl, ret)) {
+    case SSL_ERROR_WANT_READ:
+      AsyncBioAllowRead(test_state->async_bio, 1);
+      return true;
+    case SSL_ERROR_WANT_WRITE:
+      AsyncBioAllowWrite(test_state->async_bio, 1);
+      return true;
+    case SSL_ERROR_WANT_CHANNEL_ID_LOOKUP: {
+      UniquePtr<EVP_PKEY> pkey =
+          LoadPrivateKey(GetTestConfig(ssl)->send_channel_id);
+      if (!pkey) {
+        return false;
+      }
+      test_state->channel_id = std::move(pkey);
+      return true;
+    }
+    case SSL_ERROR_WANT_X509_LOOKUP:
+      test_state->cert_ready = true;
+      return true;
+    case SSL_ERROR_PENDING_SESSION:
+      test_state->session = std::move(test_state->pending_session);
+      return true;
+    case SSL_ERROR_PENDING_CERTIFICATE:
+      test_state->early_callback_ready = true;
+      return true;
+    case SSL_ERROR_WANT_PRIVATE_KEY_OPERATION:
+      test_state->private_key_retries++;
+      return true;
+    case SSL_ERROR_WANT_CERTIFICATE_VERIFY:
+      test_state->custom_verify_ready = true;
+      return true;
+    default:
+      return false;
+  }
+}
+
+int CheckIdempotentError(const char *name, SSL *ssl,
+                         std::function<int()> func) {
+  int ret = func();
+  int ssl_err = SSL_get_error(ssl, ret);
+  uint32_t err = ERR_peek_error();
+  if (ssl_err == SSL_ERROR_SSL || ssl_err == SSL_ERROR_ZERO_RETURN) {
+    int ret2 = func();
+    int ssl_err2 = SSL_get_error(ssl, ret2);
+    uint32_t err2 = ERR_peek_error();
+    if (ret != ret2 || ssl_err != ssl_err2 || err != err2) {
+      fprintf(stderr, "Repeating %s did not replay the error.\n", name);
+      char buf[256];
+      ERR_error_string_n(err, buf, sizeof(buf));
+      fprintf(stderr, "Wanted: %d %d %s\n", ret, ssl_err, buf);
+      ERR_error_string_n(err2, buf, sizeof(buf));
+      fprintf(stderr, "Got:    %d %d %s\n", ret2, ssl_err2, buf);
+      // runner treats exit code 90 as always failing. Otherwise, it may
+      // accidentally consider the result an expected protocol failure.
+      exit(90);
+    }
+  }
+  return ret;
+}
+
+#if defined(OPENSSL_LINUX) && !defined(OPENSSL_ANDROID)
+
+// MoveBIOs moves the |BIO|s of |src| to |dst|.  It is used for handoff.
+static void MoveBIOs(SSL *dest, SSL *src) {
+  BIO *rbio = SSL_get_rbio(src);
+  BIO_up_ref(rbio);
+  SSL_set0_rbio(dest, rbio);
+
+  BIO *wbio = SSL_get_wbio(src);
+  BIO_up_ref(wbio);
+  SSL_set0_wbio(dest, wbio);
+
+  SSL_set0_rbio(src, nullptr);
+  SSL_set0_wbio(src, nullptr);
+}
+
+static bool HandoffReady(SSL *ssl, int ret) {
+  return ret < 0 && SSL_get_error(ssl, ret) == SSL_ERROR_HANDOFF;
+}
+
+static ssize_t read_eintr(int fd, void *out, size_t len) {
+  ssize_t ret;
+  do {
+    ret = read(fd, out, len);
+  } while (ret < 0 && errno == EINTR);
+  return ret;
+}
+
+static ssize_t write_eintr(int fd, const void *in, size_t len) {
+  ssize_t ret;
+  do {
+    ret = write(fd, in, len);
+  } while (ret < 0 && errno == EINTR);
+  return ret;
+}
+
+static ssize_t waitpid_eintr(pid_t pid, int *wstatus, int options) {
+  pid_t ret;
+  do {
+    ret = waitpid(pid, wstatus, options);
+  } while (ret < 0 && errno == EINTR);
+  return ret;
+}
+
+// Proxy relays data between |socket|, which is connected to the client, and the
+// handshaker, which is connected to the numerically specified file descriptors,
+// until the handshaker returns control.
+static bool Proxy(BIO *socket, bool async, int control, int rfd, int wfd) {
+  for (;;) {
+    fd_set rfds;
+    FD_ZERO(&rfds);
+    FD_SET(wfd, &rfds);
+    FD_SET(control, &rfds);
+    int fd_max = wfd > control ? wfd : control;
+    if (select(fd_max + 1, &rfds, nullptr, nullptr, nullptr) == -1) {
+      perror("select");
+      return false;
+    }
+
+    char buf[64];
+    ssize_t bytes;
+    if (FD_ISSET(wfd, &rfds) &&
+        (bytes = read_eintr(wfd, buf, sizeof(buf))) > 0) {
+      char *b = buf;
+      while (bytes) {
+        int written = BIO_write(socket, b, bytes);
+        if (!written) {
+          fprintf(stderr, "BIO_write wrote nothing\n");
+          return false;
+        }
+        if (written < 0) {
+          if (async) {
+            AsyncBioAllowWrite(socket, 1);
+            continue;
+          }
+          fprintf(stderr, "BIO_write failed\n");
+          return false;
+        }
+        b += written;
+        bytes -= written;
+      }
+      // Flush all pending data from the handshaker to the client before
+      // considering control messages.
+      continue;
+    }
+
+    if (!FD_ISSET(control, &rfds)) {
+      continue;
+    }
+
+    char msg;
+    if (read_eintr(control, &msg, 1) != 1) {
+      perror("read");
+      return false;
+    }
+    switch (msg) {
+      case kControlMsgHandback:
+        return true;
+      case kControlMsgError:
+        return false;
+      case kControlMsgWantRead:
+        break;
+      default:
+        fprintf(stderr, "Unknown control message from handshaker: %c\n", msg);
+        return false;
+    }
+
+    char readbuf[64];
+    if (async) {
+      AsyncBioAllowRead(socket, 1);
+    }
+    int read = BIO_read(socket, readbuf, sizeof(readbuf));
+    if (read < 1) {
+      fprintf(stderr, "BIO_read failed\n");
+      return false;
+    }
+    ssize_t written = write_eintr(rfd, readbuf, read);
+    if (written == -1) {
+      perror("write");
+      return false;
+    }
+    if (written != read) {
+      fprintf(stderr, "short write (%zu of %d bytes)\n", written, read);
+      return false;
+    }
+    // The handshaker blocks on the control channel, so we have to signal
+    // it that the data have been written.
+    msg = kControlMsgWriteCompleted;
+    if (write_eintr(control, &msg, 1) != 1) {
+      perror("write");
+      return false;
+    }
+  }
+}
+
+class ScopedFD {
+ public:
+  explicit ScopedFD(int fd): fd_(fd) {}
+  ~ScopedFD() { close(fd_); }
+ private:
+  const int fd_;
+};
+
+// RunHandshaker forks and execs the handshaker binary, handing off |input|,
+// and, after proxying some amount of handshake traffic, handing back |out|.
+static bool RunHandshaker(BIO *bio, const TestConfig *config, bool is_resume,
+                          const Array<uint8_t> &input,
+                          Array<uint8_t> *out) {
+  if (config->handshaker_path.empty()) {
+    fprintf(stderr, "no -handshaker-path specified\n");
+    return false;
+  }
+  struct stat dummy;
+  if (stat(config->handshaker_path.c_str(), &dummy) == -1) {
+    perror(config->handshaker_path.c_str());
+    return false;
+  }
+
+  // A datagram socket guarantees that writes are all-or-nothing.
+  int control[2];
+  if (socketpair(AF_LOCAL, SOCK_DGRAM, 0, control) != 0) {
+    perror("socketpair");
+    return false;
+  }
+  int rfd[2], wfd[2];
+  // We use pipes, rather than some other mechanism, for their buffers.  During
+  // the handshake, this process acts as a dumb proxy until receiving the
+  // handback signal, which arrives asynchronously.  The race condition means
+  // that this process could incorrectly proxy post-handshake data from the
+  // client to the handshaker.
+  //
+  // To avoid this, this process never proxies data to the handshaker that the
+  // handshaker has not explicitly requested as a result of hitting
+  // |SSL_ERROR_WANT_READ|.  Pipes allow the data to sit in a buffer while the
+  // two processes synchronize over the |control| channel.
+  if (pipe(rfd) != 0 || pipe(wfd) != 0) {
+    perror("pipe2");
+    return false;
+  }
+
+  fflush(stdout);
+  fflush(stderr);
+
+  std::vector<char *> args;
+  bssl::UniquePtr<char> handshaker_path(
+      OPENSSL_strdup(config->handshaker_path.c_str()));
+  args.push_back(handshaker_path.get());
+  char resume[] = "-handshaker-resume";
+  if (is_resume) {
+    args.push_back(resume);
+  }
+  // config->argv omits argv[0].
+  for (int j = 0; j < config->argc; ++j) {
+    args.push_back(config->argv[j]);
+  }
+  args.push_back(nullptr);
+
+  posix_spawn_file_actions_t actions;
+  if (posix_spawn_file_actions_init(&actions) != 0 ||
+      posix_spawn_file_actions_addclose(&actions, control[0]) ||
+      posix_spawn_file_actions_addclose(&actions, rfd[1]) ||
+      posix_spawn_file_actions_addclose(&actions, wfd[0])) {
+    return false;
+  }
+  assert(kFdControl != rfd[0]);
+  assert(kFdControl != wfd[1]);
+  if (control[1] != kFdControl &&
+      posix_spawn_file_actions_adddup2(&actions, control[1], kFdControl) != 0) {
+    return false;
+  }
+  assert(kFdProxyToHandshaker != wfd[1]);
+  if (rfd[0] != kFdProxyToHandshaker &&
+      posix_spawn_file_actions_adddup2(&actions, rfd[0],
+                                       kFdProxyToHandshaker) != 0) {
+    return false;
+  }
+  if (wfd[1] != kFdHandshakerToProxy &&
+      posix_spawn_file_actions_adddup2(&actions, wfd[1],
+                                       kFdHandshakerToProxy) != 0) {
+      return false;
+  }
+
+  // MSan doesn't know that |posix_spawn| initializes its output, so initialize
+  // it to -1.
+  pid_t handshaker_pid = -1;
+  int ret = posix_spawn(&handshaker_pid, args[0], &actions, nullptr,
+                        args.data(), nullptr);
+  if (posix_spawn_file_actions_destroy(&actions) != 0 ||
+      ret != 0) {
+    return false;
+  }
+
+  close(control[1]);
+  close(rfd[0]);
+  close(wfd[1]);
+  ScopedFD rfd_closer(rfd[1]);
+  ScopedFD wfd_closer(wfd[0]);
+  ScopedFD control_closer(control[0]);
+
+  if (write_eintr(control[0], input.data(), input.size()) == -1) {
+    perror("write");
+    return false;
+  }
+  bool ok = Proxy(bio, config->async, control[0], rfd[1], wfd[0]);
+  int wstatus;
+  if (waitpid_eintr(handshaker_pid, &wstatus, 0) != handshaker_pid) {
+    perror("waitpid");
+    return false;
+  }
+  if (ok && wstatus) {
+    fprintf(stderr, "handshaker exited irregularly\n");
+    return false;
+  }
+  if (!ok) {
+    return false;  // This is a "good", i.e. expected, error.
+  }
+
+  constexpr size_t kBufSize = 1024 * 1024;
+  bssl::UniquePtr<uint8_t> buf((uint8_t *) OPENSSL_malloc(kBufSize));
+  int len = read_eintr(control[0], buf.get(), kBufSize);
+  if (len == -1) {
+    perror("read");
+    return false;
+  }
+  out->CopyFrom({buf.get(), (size_t)len});
+  return true;
+}
+
+// PrepareHandoff accepts the |ClientHello| from |ssl| and serializes state to
+// be passed to the handshaker.  The serialized state includes both the SSL
+// handoff, as well test-related state.
+static bool PrepareHandoff(SSL *ssl, SettingsWriter *writer,
+                           Array<uint8_t> *out_handoff) {
+  SSL_set_handoff_mode(ssl, 1);
+
+  const TestConfig *config = GetTestConfig(ssl);
+  int ret = -1;
+  do {
+    ret = CheckIdempotentError(
+        "SSL_do_handshake", ssl,
+        [&]() -> int { return SSL_do_handshake(ssl); });
+  } while (!HandoffReady(ssl, ret) &&
+           config->async &&
+           RetryAsync(ssl, ret));
+  if (!HandoffReady(ssl, ret)) {
+    fprintf(stderr, "Handshake failed while waiting for handoff.\n");
+    return false;
+  }
+
+  ScopedCBB cbb;
+  if (!CBB_init(cbb.get(), 512) ||
+      !SSL_serialize_handoff(ssl, cbb.get()) ||
+      !writer->WriteHandoff({CBB_data(cbb.get()), CBB_len(cbb.get())}) ||
+      !SerializeContextState(ssl->ctx.get(), cbb.get()) ||
+      !GetTestState(ssl)->Serialize(cbb.get())) {
+    fprintf(stderr, "Handoff serialisation failed.\n");
+    return false;
+  }
+  return CBBFinishArray(cbb.get(), out_handoff);
+}
+
+// DoSplitHandshake delegates the SSL handshake to a separate process, called
+// the handshaker.  This process proxies I/O between the handshaker and the
+// client, using the |BIO| from |ssl|.  After a successful handshake, |ssl| is
+// replaced with a new |SSL| object, in a way that is intended to be invisible
+// to the caller.
+bool DoSplitHandshake(UniquePtr<SSL> *ssl, SettingsWriter *writer,
+                      bool is_resume) {
+  assert(SSL_get_rbio(ssl->get()) == SSL_get_wbio(ssl->get()));
+  Array<uint8_t> handshaker_input;
+  const TestConfig *config = GetTestConfig(ssl->get());
+  // out is the response from the handshaker, which includes a serialized
+  // handback message, but also serialized updates to the |TestState|.
+  Array<uint8_t> out;
+  if (!PrepareHandoff(ssl->get(), writer, &handshaker_input) ||
+      !RunHandshaker(SSL_get_rbio(ssl->get()), config, is_resume,
+                     handshaker_input, &out)) {
+    fprintf(stderr, "Handoff failed.\n");
+    return false;
+  }
+
+  UniquePtr<SSL> ssl_handback =
+      config->NewSSL((*ssl)->ctx.get(), nullptr, false, nullptr);
+  if (!ssl_handback) {
+    return false;
+  }
+  CBS output, handback;
+  CBS_init(&output, out.data(), out.size());
+  if (!CBS_get_u24_length_prefixed(&output, &handback) ||
+      !DeserializeContextState(&output, ssl_handback->ctx.get()) ||
+      !SetTestState(ssl_handback.get(), TestState::Deserialize(
+          &output, ssl_handback->ctx.get())) ||
+      !GetTestState(ssl_handback.get()) ||
+      !writer->WriteHandback(handback) ||
+      !SSL_apply_handback(ssl_handback.get(), handback)) {
+    fprintf(stderr, "Handback failed.\n");
+    return false;
+  }
+  MoveBIOs(ssl_handback.get(), ssl->get());
+  GetTestState(ssl_handback.get())->async_bio =
+      GetTestState(ssl->get())->async_bio;
+  GetTestState(ssl->get())->async_bio = nullptr;
+
+  *ssl = std::move(ssl_handback);
+  return true;
+}
+
+#endif  // defined(OPENSSL_LINUX) && !defined(OPENSSL_ANDROID)
diff --git a/src/ssl/test/handshake_util.h b/src/ssl/test/handshake_util.h
new file mode 100644
index 0000000..4fb46db
--- /dev/null
+++ b/src/ssl/test/handshake_util.h
@@ -0,0 +1,53 @@
+/* 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 HEADER_TEST_HANDSHAKE
+#define HEADER_TEST_HANDSHAKE
+
+#include <functional>
+
+#include <openssl/base.h>
+
+#include "settings_writer.h"
+
+// RetryAsync is called after a failed operation on |ssl| with return code
+// |ret|. If the operation should be retried, it simulates one asynchronous
+// event and returns true. Otherwise it returns false.
+bool RetryAsync(SSL *ssl, int ret);
+
+// CheckIdempotentError runs |func|, an operation on |ssl|, ensuring that
+// errors are idempotent.
+int CheckIdempotentError(const char *name, SSL *ssl, std::function<int()> func);
+
+// DoSplitHandshake delegates the SSL handshake to a separate process, called
+// the handshaker.  This process proxies I/O between the handshaker and the
+// client, using the |BIO| from |ssl|.  After a successful handshake, |ssl| is
+// replaced with a new |SSL| object, in a way that is intended to be invisible
+// to the caller.
+bool DoSplitHandshake(bssl::UniquePtr<SSL> *ssl, SettingsWriter *writer,
+                      bool is_resume);
+
+// The protocol between the proxy and the handshaker is defined by these
+// single-character prefixes.
+constexpr char kControlMsgWantRead = 'R';        // Handshaker wants data
+constexpr char kControlMsgWriteCompleted = 'W';  // Proxy has sent data
+constexpr char kControlMsgHandback = 'H';        // Proxy should resume control
+constexpr char kControlMsgError = 'E';           // Handshaker hit an error
+
+// The protocol between the proxy and handshaker uses these file descriptors.
+constexpr int kFdControl = 3;                    // Bi-directional dgram socket.
+constexpr int kFdProxyToHandshaker = 4;          // Uni-directional pipe.
+constexpr int kFdHandshakerToProxy = 5;          // Uni-directional pipe.
+
+#endif  // HEADER_TEST_HANDSHAKE
diff --git a/src/ssl/test/handshaker.cc b/src/ssl/test/handshaker.cc
new file mode 100644
index 0000000..9888876
--- /dev/null
+++ b/src/ssl/test/handshaker.cc
@@ -0,0 +1,170 @@
+/* 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 <errno.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <unistd.h>
+
+#include <openssl/bytestring.h>
+#include <openssl/rand.h>
+#include <openssl/ssl.h>
+
+#include "../internal.h"
+#include "handshake_util.h"
+#include "test_config.h"
+#include "test_state.h"
+
+using namespace bssl;
+
+namespace {
+
+bool HandbackReady(SSL *ssl, int ret) {
+  return ret < 0 && SSL_get_error(ssl, ret) == SSL_ERROR_HANDBACK;
+}
+
+bool Handshaker(const TestConfig *config, int rfd, int wfd,
+                       Span<const uint8_t> input, int control) {
+  UniquePtr<SSL_CTX> ctx = config->SetupCtx(/*old_ctx=*/nullptr);
+  if (!ctx) {
+    return false;
+  }
+  UniquePtr<SSL> ssl = config->NewSSL(ctx.get(), nullptr, false, nullptr);
+
+  // Set |O_NONBLOCK| in order to break out of the loop when we hit
+  // |SSL_ERROR_WANT_READ|, so that we can send |kControlMsgWantRead| to the
+  // proxy.
+  if (fcntl(rfd, F_SETFL, O_NONBLOCK) != 0) {
+    perror("fcntl");
+    return false;
+  }
+  SSL_set_rfd(ssl.get(), rfd);
+  SSL_set_wfd(ssl.get(), wfd);
+
+  CBS cbs, handoff;
+  CBS_init(&cbs, input.data(), input.size());
+  if (!CBS_get_asn1_element(&cbs, &handoff, CBS_ASN1_SEQUENCE) ||
+      !DeserializeContextState(&cbs, ctx.get()) ||
+      !SetTestState(ssl.get(), TestState::Deserialize(&cbs, ctx.get())) ||
+      !GetTestState(ssl.get()) ||
+      !SSL_apply_handoff(ssl.get(), handoff)) {
+    fprintf(stderr, "Handoff application failed.\n");
+    return false;
+  }
+
+  int ret = 0;
+  for (;;) {
+    ret = CheckIdempotentError(
+        "SSL_do_handshake", ssl.get(),
+        [&]() -> int { return SSL_do_handshake(ssl.get()); });
+    if (SSL_get_error(ssl.get(), ret) == SSL_ERROR_WANT_READ) {
+      // Synchronize with the proxy, i.e. don't let the handshake continue until
+      // the proxy has sent more data.
+      char msg = kControlMsgWantRead;
+      if (write(control, &msg, 1) != 1 ||
+          read(control, &msg, 1) != 1 ||
+          msg != kControlMsgWriteCompleted) {
+        fprintf(stderr, "read via proxy failed\n");
+        return false;
+      }
+      continue;
+    }
+    if (!config->async || !RetryAsync(ssl.get(), ret)) {
+      break;
+    }
+  }
+  if (!HandbackReady(ssl.get(), ret)) {
+    ERR_print_errors_fp(stderr);
+    return false;
+  }
+
+  ScopedCBB output;
+  CBB handback;
+  Array<uint8_t> bytes;
+  if (!CBB_init(output.get(), 1024) ||
+      !CBB_add_u24_length_prefixed(output.get(), &handback) ||
+      !SSL_serialize_handback(ssl.get(), &handback) ||
+      !SerializeContextState(ssl->ctx.get(), output.get()) ||
+      !GetTestState(ssl.get())->Serialize(output.get()) ||
+      !CBBFinishArray(output.get(), &bytes)) {
+    fprintf(stderr, "Handback serialisation failed.\n");
+    return false;
+  }
+
+  char msg = kControlMsgHandback;
+  if (write(control, &msg, 1) == -1 ||
+      write(control, bytes.data(), bytes.size()) == -1) {
+    perror("write");
+    return false;
+  }
+  return true;
+}
+
+ssize_t read_eintr(int fd, void *out, size_t len) {
+  ssize_t ret;
+  do {
+    ret = read(fd, out, len);
+  } while (ret < 0 && errno == EINTR);
+  return ret;
+}
+
+ssize_t write_eintr(int fd, const void *in, size_t len) {
+  ssize_t ret;
+  do {
+    ret = write(fd, in, len);
+  } while (ret < 0 && errno == EINTR);
+  return ret;
+}
+
+}  // namespace
+
+int main(int argc, char **argv) {
+  TestConfig initial_config, resume_config, retry_config;
+  if (!ParseConfig(argc - 1, argv + 1, &initial_config, &resume_config,
+                   &retry_config)) {
+    return 2;
+  }
+  const TestConfig *config = initial_config.handshaker_resume
+      ? &resume_config : &initial_config;
+#if defined(BORINGSSL_UNSAFE_DETERMINISTIC_MODE)
+  if (initial_config.handshaker_resume) {
+    // If the PRNG returns exactly the same values when trying to resume then a
+    // "random" session ID will happen to exactly match the session ID
+    // "randomly" generated on the initial connection. The client will thus
+    // incorrectly believe that the server is resuming.
+    uint8_t byte;
+    RAND_bytes(&byte, 1);
+  }
+#endif  // BORINGSSL_UNSAFE_DETERMINISTIC_MODE
+
+  // read() will return the entire message in one go, because it's a datagram
+  // socket.
+  constexpr size_t kBufSize = 1024 * 1024;
+  bssl::UniquePtr<uint8_t> buf((uint8_t *) OPENSSL_malloc(kBufSize));
+  ssize_t len = read_eintr(kFdControl, buf.get(), kBufSize);
+  if (len == -1) {
+    perror("read");
+    return 2;
+  }
+  Span<uint8_t> handoff(buf.get(), len);
+  if (!Handshaker(config, kFdProxyToHandshaker, kFdHandshakerToProxy, handoff,
+                  kFdControl)) {
+    char msg = kControlMsgError;
+    if (write_eintr(kFdControl, &msg, 1) != 1) {
+      return 3;
+    }
+    return 1;
+  }
+  return 0;
+}
diff --git a/src/ssl/test/runner/alert.go b/src/ssl/test/runner/alert.go
index 652e9ee..c79725e 100644
--- a/src/ssl/test/runner/alert.go
+++ b/src/ssl/test/runner/alert.go
@@ -15,69 +15,71 @@
 )
 
 const (
-	alertCloseNotify            alert = 0
-	alertEndOfEarlyData         alert = 1
-	alertUnexpectedMessage      alert = 10
-	alertBadRecordMAC           alert = 20
-	alertDecryptionFailed       alert = 21
-	alertRecordOverflow         alert = 22
-	alertDecompressionFailure   alert = 30
-	alertHandshakeFailure       alert = 40
-	alertNoCertificate          alert = 41
-	alertBadCertificate         alert = 42
-	alertUnsupportedCertificate alert = 43
-	alertCertificateRevoked     alert = 44
-	alertCertificateExpired     alert = 45
-	alertCertificateUnknown     alert = 46
-	alertIllegalParameter       alert = 47
-	alertUnknownCA              alert = 48
-	alertAccessDenied           alert = 49
-	alertDecodeError            alert = 50
-	alertDecryptError           alert = 51
-	alertProtocolVersion        alert = 70
-	alertInsufficientSecurity   alert = 71
-	alertInternalError          alert = 80
-	alertInappropriateFallback  alert = 86
-	alertUserCanceled           alert = 90
-	alertNoRenegotiation        alert = 100
-	alertMissingExtension       alert = 109
-	alertUnsupportedExtension   alert = 110
-	alertUnrecognizedName       alert = 112
-	alertUnknownPSKIdentity     alert = 115
-	alertCertificateRequired    alert = 116
+	alertCloseNotify                  alert = 0
+	alertEndOfEarlyData               alert = 1
+	alertUnexpectedMessage            alert = 10
+	alertBadRecordMAC                 alert = 20
+	alertDecryptionFailed             alert = 21
+	alertRecordOverflow               alert = 22
+	alertDecompressionFailure         alert = 30
+	alertHandshakeFailure             alert = 40
+	alertNoCertificate                alert = 41
+	alertBadCertificate               alert = 42
+	alertUnsupportedCertificate       alert = 43
+	alertCertificateRevoked           alert = 44
+	alertCertificateExpired           alert = 45
+	alertCertificateUnknown           alert = 46
+	alertIllegalParameter             alert = 47
+	alertUnknownCA                    alert = 48
+	alertAccessDenied                 alert = 49
+	alertDecodeError                  alert = 50
+	alertDecryptError                 alert = 51
+	alertProtocolVersion              alert = 70
+	alertInsufficientSecurity         alert = 71
+	alertInternalError                alert = 80
+	alertInappropriateFallback        alert = 86
+	alertUserCanceled                 alert = 90
+	alertNoRenegotiation              alert = 100
+	alertMissingExtension             alert = 109
+	alertUnsupportedExtension         alert = 110
+	alertUnrecognizedName             alert = 112
+	alertBadCertificateStatusResponse alert = 113
+	alertUnknownPSKIdentity           alert = 115
+	alertCertificateRequired          alert = 116
 )
 
 var alertText = map[alert]string{
-	alertCloseNotify:            "close notify",
-	alertEndOfEarlyData:         "end of early data",
-	alertUnexpectedMessage:      "unexpected message",
-	alertBadRecordMAC:           "bad record MAC",
-	alertDecryptionFailed:       "decryption failed",
-	alertRecordOverflow:         "record overflow",
-	alertDecompressionFailure:   "decompression failure",
-	alertHandshakeFailure:       "handshake failure",
-	alertNoCertificate:          "no certificate",
-	alertBadCertificate:         "bad certificate",
-	alertUnsupportedCertificate: "unsupported certificate",
-	alertCertificateRevoked:     "revoked certificate",
-	alertCertificateExpired:     "expired certificate",
-	alertCertificateUnknown:     "unknown certificate",
-	alertIllegalParameter:       "illegal parameter",
-	alertUnknownCA:              "unknown certificate authority",
-	alertAccessDenied:           "access denied",
-	alertDecodeError:            "error decoding message",
-	alertDecryptError:           "error decrypting message",
-	alertProtocolVersion:        "protocol version not supported",
-	alertInsufficientSecurity:   "insufficient security level",
-	alertInternalError:          "internal error",
-	alertInappropriateFallback:  "inappropriate fallback",
-	alertUserCanceled:           "user canceled",
-	alertNoRenegotiation:        "no renegotiation",
-	alertMissingExtension:       "missing extension",
-	alertUnsupportedExtension:   "unsupported extension",
-	alertUnrecognizedName:       "unrecognized name",
-	alertUnknownPSKIdentity:     "unknown PSK identity",
-	alertCertificateRequired:    "certificate required",
+	alertCloseNotify:                  "close notify",
+	alertEndOfEarlyData:               "end of early data",
+	alertUnexpectedMessage:            "unexpected message",
+	alertBadRecordMAC:                 "bad record MAC",
+	alertDecryptionFailed:             "decryption failed",
+	alertRecordOverflow:               "record overflow",
+	alertDecompressionFailure:         "decompression failure",
+	alertHandshakeFailure:             "handshake failure",
+	alertNoCertificate:                "no certificate",
+	alertBadCertificate:               "bad certificate",
+	alertUnsupportedCertificate:       "unsupported certificate",
+	alertCertificateRevoked:           "revoked certificate",
+	alertCertificateExpired:           "expired certificate",
+	alertCertificateUnknown:           "unknown certificate",
+	alertIllegalParameter:             "illegal parameter",
+	alertUnknownCA:                    "unknown certificate authority",
+	alertAccessDenied:                 "access denied",
+	alertDecodeError:                  "error decoding message",
+	alertDecryptError:                 "error decrypting message",
+	alertProtocolVersion:              "protocol version not supported",
+	alertInsufficientSecurity:         "insufficient security level",
+	alertInternalError:                "internal error",
+	alertInappropriateFallback:        "inappropriate fallback",
+	alertUserCanceled:                 "user canceled",
+	alertNoRenegotiation:              "no renegotiation",
+	alertMissingExtension:             "missing extension",
+	alertUnsupportedExtension:         "unsupported extension",
+	alertBadCertificateStatusResponse: "bad certificate status response",
+	alertUnrecognizedName:             "unrecognized name",
+	alertUnknownPSKIdentity:           "unknown PSK identity",
+	alertCertificateRequired:          "certificate required",
 }
 
 func (e alert) String() string {
diff --git a/src/ssl/test/runner/common.go b/src/ssl/test/runner/common.go
index 7115b4d..aa17350 100644
--- a/src/ssl/test/runner/common.go
+++ b/src/ssl/test/runner/common.go
@@ -39,8 +39,9 @@
 )
 
 const (
-	TLS13Draft23 = 0
-	TLS13Draft28 = 1
+	TLS13Default = 0
+	TLS13Draft23 = 1
+	TLS13Draft28 = 2
 )
 
 var allTLSWireVersions = []uint16{
@@ -81,26 +82,27 @@
 
 // TLS handshake message types.
 const (
-	typeHelloRequest        uint8 = 0
-	typeClientHello         uint8 = 1
-	typeServerHello         uint8 = 2
-	typeHelloVerifyRequest  uint8 = 3
-	typeNewSessionTicket    uint8 = 4
-	typeEndOfEarlyData      uint8 = 5 // draft-ietf-tls-tls13-21
-	typeHelloRetryRequest   uint8 = 6 // draft-ietf-tls-tls13-16
-	typeEncryptedExtensions uint8 = 8 // draft-ietf-tls-tls13-16
-	typeCertificate         uint8 = 11
-	typeServerKeyExchange   uint8 = 12
-	typeCertificateRequest  uint8 = 13
-	typeServerHelloDone     uint8 = 14
-	typeCertificateVerify   uint8 = 15
-	typeClientKeyExchange   uint8 = 16
-	typeFinished            uint8 = 20
-	typeCertificateStatus   uint8 = 22
-	typeKeyUpdate           uint8 = 24  // draft-ietf-tls-tls13-16
-	typeNextProtocol        uint8 = 67  // Not IANA assigned
-	typeChannelID           uint8 = 203 // Not IANA assigned
-	typeMessageHash         uint8 = 254 // draft-ietf-tls-tls13-21
+	typeHelloRequest          uint8 = 0
+	typeClientHello           uint8 = 1
+	typeServerHello           uint8 = 2
+	typeHelloVerifyRequest    uint8 = 3
+	typeNewSessionTicket      uint8 = 4
+	typeEndOfEarlyData        uint8 = 5 // draft-ietf-tls-tls13-21
+	typeHelloRetryRequest     uint8 = 6 // draft-ietf-tls-tls13-16
+	typeEncryptedExtensions   uint8 = 8 // draft-ietf-tls-tls13-16
+	typeCertificate           uint8 = 11
+	typeServerKeyExchange     uint8 = 12
+	typeCertificateRequest    uint8 = 13
+	typeServerHelloDone       uint8 = 14
+	typeCertificateVerify     uint8 = 15
+	typeClientKeyExchange     uint8 = 16
+	typeFinished              uint8 = 20
+	typeCertificateStatus     uint8 = 22
+	typeKeyUpdate             uint8 = 24  // draft-ietf-tls-tls13-16
+	typeCompressedCertificate uint8 = 25  // Not IANA assigned
+	typeNextProtocol          uint8 = 67  // Not IANA assigned
+	typeChannelID             uint8 = 203 // Not IANA assigned
+	typeMessageHash           uint8 = 254 // draft-ietf-tls-tls13-21
 )
 
 // TLS compression types.
@@ -121,7 +123,7 @@
 	extensionPadding                    uint16 = 21
 	extensionExtendedMasterSecret       uint16 = 23
 	extensionTokenBinding               uint16 = 24
-	extensionQUICTransportParams        uint16 = 26
+	extensionCompressedCertAlgs         uint16 = 27
 	extensionSessionTicket              uint16 = 35
 	extensionPreSharedKey               uint16 = 41    // draft-ietf-tls-tls13-23
 	extensionEarlyData                  uint16 = 42    // draft-ietf-tls-tls13-23
@@ -134,8 +136,9 @@
 	extensionCustom                     uint16 = 1234  // not IANA assigned
 	extensionNextProtoNeg               uint16 = 13172 // not IANA assigned
 	extensionRenegotiationInfo          uint16 = 0xff01
-	extensionChannelID                  uint16 = 30032 // not IANA assigned
-	extensionDummyPQPadding             uint16 = 54537 // not IANA assigned
+	extensionQUICTransportParams        uint16 = 0xffa5 // draft-ietf-quic-tls-13
+	extensionChannelID                  uint16 = 30032  // not IANA assigned
+	extensionDummyPQPadding             uint16 = 54537  // not IANA assigned
 )
 
 // TLS signaling cipher suite values
@@ -329,6 +332,16 @@
 	Put(sessionId string, session *sessionState)
 }
 
+// CertCompressionAlg is a certificate compression algorithm, specified as a
+// pair of functions for compressing and decompressing certificates.
+type CertCompressionAlg struct {
+	// Compress returns a compressed representation of the input.
+	Compress func([]byte) []byte
+	// Decompress depresses the contents of in and writes the result to out, which
+	// will be the correct size. It returns true on success and false otherwise.
+	Decompress func(out, in []byte) bool
+}
+
 // A Config structure is used to configure a TLS client or server.
 // After one has been passed to a TLS function it must not be
 // modified. A Config may be reused; the tls package will also not
@@ -499,6 +512,8 @@
 	// transport parameters extension.
 	QUICTransportParams []byte
 
+	CertCompressionAlgs map[uint16]CertCompressionAlg
+
 	// Bugs specifies optional misbehaviour to be used for testing other
 	// implementations.
 	Bugs ProtocolBugs
@@ -1153,6 +1168,10 @@
 	// sessions use session tickets instead of session IDs.
 	RequireSessionTickets bool
 
+	// RequireSessionIDs, if true, causes the client to require new sessions use
+	// session IDs instead of session tickets.
+	RequireSessionIDs bool
+
 	// NullAllCiphers, if true, causes every cipher to behave like the null
 	// cipher.
 	NullAllCiphers bool
@@ -1395,9 +1414,15 @@
 	// specified value in ServerHello version field.
 	SendServerHelloVersion uint16
 
-	// SendServerSupportedExtensionVersion, if non-zero, causes the server to send
-	// the specified value in supported_versions extension in the ServerHello.
-	SendServerSupportedExtensionVersion uint16
+	// SendServerSupportedVersionExtension, if non-zero, causes the server to send
+	// the specified value in supported_versions extension in the ServerHello (but
+	// not the HelloRetryRequest).
+	SendServerSupportedVersionExtension uint16
+
+	// OmitServerSupportedVersionExtension, if true, causes the server to
+	// omit the supported_versions extension in the ServerHello (but not the
+	// HelloRetryRequest)
+	OmitServerSupportedVersionExtension bool
 
 	// SkipHelloRetryRequest, if true, causes the TLS 1.3 server to not send
 	// HelloRetryRequest.
@@ -1499,6 +1524,15 @@
 	// length accepted from the peer.
 	MaxReceivePlaintext int
 
+	// ExpectPackedEncryptedHandshake, if non-zero, requires that the peer maximally
+	// pack their encrypted handshake messages, fitting at most the
+	// specified number of plaintext bytes per record.
+	ExpectPackedEncryptedHandshake int
+
+	// ForbidHandshakePacking, if true, requires the peer place a record
+	// boundary after every handshake message.
+	ForbidHandshakePacking bool
+
 	// SendTicketLifetime, if non-zero, is the ticket lifetime to send in
 	// NewSessionTicket messages.
 	SendTicketLifetime time.Duration
@@ -1580,6 +1614,22 @@
 	// SetX25519HighBit, if true, causes X25519 key shares to set their
 	// high-order bit.
 	SetX25519HighBit bool
+
+	// DuplicateCompressedCertAlgs, if true, causes two, equal, certificate
+	// compression algorithm IDs to be sent.
+	DuplicateCompressedCertAlgs bool
+
+	// ExpectedCompressedCert specifies the compression algorithm ID that must be
+	// used on this connection, or zero if there are no special requirements.
+	ExpectedCompressedCert uint16
+
+	// SendCertCompressionAlgId, if not zero, sets the algorithm ID that will be
+	// sent in the compressed certificate message.
+	SendCertCompressionAlgId uint16
+
+	// SendCertUncompressedLength, if not zero, sets the uncompressed length that
+	// will be sent in the compressed certificate message.
+	SendCertUncompressedLength uint32
 }
 
 func (c *Config) serverInit() {
@@ -1708,8 +1758,8 @@
 // it returns true and the corresponding protocol version. Otherwise, it returns
 // false.
 func (c *Config) isSupportedVersion(wireVers uint16, isDTLS bool) (uint16, bool) {
-	if (c.TLS13Variant != TLS13Draft23 && wireVers == tls13Draft23Version) ||
-		(c.TLS13Variant != TLS13Draft28 && wireVers == tls13Draft28Version) {
+	if (c.TLS13Variant == TLS13Draft23 && wireVers == tls13Draft28Version) ||
+		(c.TLS13Variant == TLS13Draft28 && wireVers == tls13Draft23Version) {
 		return 0, false
 	}
 
diff --git a/src/ssl/test/runner/conn.go b/src/ssl/test/runner/conn.go
index 9cd61eb..b6b6ffa 100644
--- a/src/ssl/test/runner/conn.go
+++ b/src/ssl/test/runner/conn.go
@@ -111,6 +111,11 @@
 
 	expectTLS13ChangeCipherSpec bool
 
+	// seenHandshakePackEnd is whether the most recent handshake record was
+	// not full for ExpectPackedEncryptedHandshake. If true, no more
+	// handshake data may be received until the next flight or epoch change.
+	seenHandshakePackEnd bool
+
 	tmp [16]byte
 }
 
@@ -756,6 +761,7 @@
 		side = clientWrite
 	}
 	c.in.useTrafficSecret(version, suite, secret, side)
+	c.seenHandshakePackEnd = false
 	return nil
 }
 
@@ -975,6 +981,13 @@
 		return c.in.setErrorLocked(err)
 	}
 
+	if typ != recordTypeHandshake {
+		c.seenHandshakePackEnd = false
+	} else if c.seenHandshakePackEnd {
+		c.in.freeBlock(b)
+		return c.in.setErrorLocked(errors.New("tls: peer violated ExpectPackedEncryptedHandshake"))
+	}
+
 	switch typ {
 	default:
 		c.in.setErrorLocked(c.sendAlert(alertUnexpectedMessage))
@@ -1037,6 +1050,9 @@
 			return c.in.setErrorLocked(c.sendAlert(alertNoRenegotiation))
 		}
 		c.hand.Write(data)
+		if pack := c.config.Bugs.ExpectPackedEncryptedHandshake; pack > 0 && len(data) < pack && c.out.cipher != nil {
+			c.seenHandshakePackEnd = true
+		}
 	}
 
 	if b != nil {
@@ -1095,6 +1111,7 @@
 // to the connection and updates the record layer state.
 // c.out.Mutex <= L.
 func (c *Conn) writeRecord(typ recordType, data []byte) (n int, err error) {
+	c.seenHandshakePackEnd = false
 	if typ == recordTypeHandshake {
 		msgType := data[0]
 		if c.config.Bugs.SendWrongMessageType != 0 && msgType == c.config.Bugs.SendWrongMessageType {
@@ -1304,6 +1321,9 @@
 			return nil, err
 		}
 	}
+	if c.hand.Len() > 4+n && c.config.Bugs.ForbidHandshakePacking {
+		return nil, errors.New("tls: forbidden trailing data after a handshake message")
+	}
 	return c.hand.Next(4 + n), nil
 }
 
@@ -1348,9 +1368,11 @@
 		m = &certificateMsg{
 			hasRequestContext: c.vers >= VersionTLS13,
 		}
+	case typeCompressedCertificate:
+		m = new(compressedCertificateMsg)
 	case typeCertificateRequest:
 		m = &certificateRequestMsg{
-			vers: c.wireVersion,
+			vers:                  c.wireVersion,
 			hasSignatureAlgorithm: c.vers >= VersionTLS12,
 			hasRequestContext:     c.vers >= VersionTLS13,
 		}
@@ -1786,7 +1808,7 @@
 	if c.isDTLS && c.config.Bugs.SendSplitAlert {
 		c.conn.Write([]byte{
 			byte(recordTypeAlert), // type
-			0xfe, 0xff, // version
+			0xfe, 0xff,            // version
 			0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, // sequence
 			0x0, 0x2, // length
 		})
diff --git a/src/ssl/test/runner/handshake_client.go b/src/ssl/test/runner/handshake_client.go
index 4178dc1..3e20d87 100644
--- a/src/ssl/test/runner/handshake_client.go
+++ b/src/ssl/test/runner/handshake_client.go
@@ -155,6 +155,15 @@
 		}
 	}
 
+	if c.config.Bugs.DuplicateCompressedCertAlgs {
+		hello.compressedCertAlgs = []uint16{1, 1}
+	} else if len(c.config.CertCompressionAlgs) > 0 {
+		hello.compressedCertAlgs = make([]uint16, 0, len(c.config.CertCompressionAlgs))
+		for id, _ := range c.config.CertCompressionAlgs {
+			hello.compressedCertAlgs = append(hello.compressedCertAlgs, uint16(id))
+		}
+	}
+
 	if c.noRenegotiationInfo() {
 		hello.secureRenegotiation = nil
 	}
@@ -590,7 +599,7 @@
 	}
 
 	if serverWireVersion != serverHello.vers {
-		c.sendAlert(alertProtocolVersion)
+		c.sendAlert(alertIllegalParameter)
 		return fmt.Errorf("tls: server sent non-matching version %x vs %x", serverWireVersion, serverHello.vers)
 	}
 
@@ -720,6 +729,9 @@
 			if c.config.Bugs.RequireSessionTickets && len(hs.session.sessionTicket) == 0 {
 				return errors.New("tls: new session used session IDs instead of tickets")
 			}
+			if c.config.Bugs.RequireSessionIDs && len(hs.session.sessionId) == 0 {
+				return errors.New("tls: new session used session tickets instead of IDs")
+			}
 			sessionCache.Put(cacheKey, hs.session)
 		}
 
@@ -864,12 +876,46 @@
 			}
 		}
 
-		certMsg, ok := msg.(*certificateMsg)
-		if !ok {
-			c.sendAlert(alertUnexpectedMessage)
-			return unexpectedMessageError(certMsg, msg)
+		var certMsg *certificateMsg
+
+		if compressedCertMsg, ok := msg.(*compressedCertificateMsg); ok {
+			hs.writeServerHash(compressedCertMsg.marshal())
+
+			alg, ok := c.config.CertCompressionAlgs[compressedCertMsg.algID]
+			if !ok {
+				c.sendAlert(alertBadCertificate)
+				return fmt.Errorf("tls: received certificate compressed with unknown algorithm %x", compressedCertMsg.algID)
+			}
+
+			decompressed := make([]byte, 4+int(compressedCertMsg.uncompressedLength))
+			if !alg.Decompress(decompressed[4:], compressedCertMsg.compressed) {
+				c.sendAlert(alertBadCertificate)
+				return fmt.Errorf("tls: failed to decompress certificate with algorithm %x", compressedCertMsg.algID)
+			}
+
+			certMsg = &certificateMsg{
+				hasRequestContext: true,
+			}
+
+			if !certMsg.unmarshal(decompressed) {
+				c.sendAlert(alertBadCertificate)
+				return errors.New("tls: failed to parse decompressed certificate")
+			}
+
+			if expected := c.config.Bugs.ExpectedCompressedCert; expected != 0 && expected != compressedCertMsg.algID {
+				return fmt.Errorf("tls: expected certificate compressed with algorithm %x, but message used %x", expected, compressedCertMsg.algID)
+			}
+		} else {
+			if certMsg, ok = msg.(*certificateMsg); !ok {
+				c.sendAlert(alertUnexpectedMessage)
+				return unexpectedMessageError(certMsg, msg)
+			}
+			hs.writeServerHash(certMsg.marshal())
+
+			if c.config.Bugs.ExpectedCompressedCert != 0 {
+				return errors.New("tls: uncompressed certificate received")
+			}
 		}
-		hs.writeServerHash(certMsg.marshal())
 
 		// Check for unsolicited extensions.
 		for i, cert := range certMsg.certificates {
@@ -1629,6 +1675,9 @@
 	if c.vers == VersionSSL30 {
 		return errors.New("tls: negotiated session tickets in SSL 3.0")
 	}
+	if c.config.Bugs.ExpectNoNewSessionTicket {
+		return errors.New("tls: received unexpected NewSessionTicket")
+	}
 
 	msg, err := c.readHandshake()
 	if err != nil {
diff --git a/src/ssl/test/runner/handshake_messages.go b/src/ssl/test/runner/handshake_messages.go
index 64936b4..5324d74 100644
--- a/src/ssl/test/runner/handshake_messages.go
+++ b/src/ssl/test/runner/handshake_messages.go
@@ -296,6 +296,7 @@
 	emptyExtensions         bool
 	pad                     int
 	dummyPQPaddingLen       int
+	compressedCertAlgs      []uint16
 }
 
 func (m *clientHelloMsg) equal(i interface{}) bool {
@@ -349,7 +350,8 @@
 		m.omitExtensions == m1.omitExtensions &&
 		m.emptyExtensions == m1.emptyExtensions &&
 		m.pad == m1.pad &&
-		m.dummyPQPaddingLen == m1.dummyPQPaddingLen
+		m.dummyPQPaddingLen == m1.dummyPQPaddingLen &&
+		eqUint16s(m.compressedCertAlgs, m1.compressedCertAlgs)
 }
 
 func (m *clientHelloMsg) marshal() []byte {
@@ -586,6 +588,14 @@
 		body := extensions.addU16LengthPrefixed()
 		body.addBytes(make([]byte, l))
 	}
+	if len(m.compressedCertAlgs) > 0 {
+		extensions.addU16(extensionCompressedCertAlgs)
+		body := extensions.addU16LengthPrefixed()
+		algIDs := body.addU8LengthPrefixed()
+		for _, v := range m.compressedCertAlgs {
+			algIDs.addU16(v)
+		}
+	}
 	// The PSK extension must be last (draft-ietf-tls-tls13-18 section 4.2.6).
 	if len(m.pskIdentities) > 0 && !m.pskBinderFirst {
 		extensions.addU16(extensionPreSharedKey)
@@ -903,6 +913,24 @@
 				return false
 			}
 			m.dummyPQPaddingLen = len(body)
+		case extensionCompressedCertAlgs:
+			var algIDs byteReader
+			if !body.readU8LengthPrefixed(&algIDs) {
+				return false
+			}
+
+			seen := make(map[uint16]struct{})
+			for len(algIDs) > 0 {
+				var algID uint16
+				if !algIDs.readU16(&algID) {
+					return false
+				}
+				if _, ok := seen[algID]; ok {
+					return false
+				}
+				seen[algID] = struct{}{}
+				m.compressedCertAlgs = append(m.compressedCertAlgs, algID)
+			}
 		}
 
 		if isGREASEValue(extension) {
@@ -919,6 +947,7 @@
 	vers                  uint16
 	versOverride          uint16
 	supportedVersOverride uint16
+	omitSupportedVers     bool
 	random                []byte
 	sessionId             []byte
 	cipherSuite           uint16
@@ -979,12 +1008,14 @@
 			extensions.addU16(2) // Length
 			extensions.addU16(m.pskIdentity)
 		}
-		extensions.addU16(extensionSupportedVersions)
-		extensions.addU16(2) // Length
-		if m.supportedVersOverride != 0 {
-			extensions.addU16(m.supportedVersOverride)
-		} else {
-			extensions.addU16(m.vers)
+		if !m.omitSupportedVers {
+			extensions.addU16(extensionSupportedVersions)
+			extensions.addU16(2) // Length
+			if m.supportedVersOverride != 0 {
+				extensions.addU16(m.supportedVersOverride)
+			} else {
+				extensions.addU16(m.vers)
+			}
 		}
 		if len(m.customExtension) > 0 {
 			extensions.addU16(extensionCustom)
@@ -1668,6 +1699,48 @@
 	return true
 }
 
+type compressedCertificateMsg struct {
+	raw                []byte
+	algID              uint16
+	uncompressedLength uint32
+	compressed         []byte
+}
+
+func (m *compressedCertificateMsg) marshal() (x []byte) {
+	if m.raw != nil {
+		return m.raw
+	}
+
+	certMsg := newByteBuilder()
+	certMsg.addU8(typeCompressedCertificate)
+	certificate := certMsg.addU24LengthPrefixed()
+	certificate.addU16(m.algID)
+	certificate.addU24(int(m.uncompressedLength))
+	compressed := certificate.addU24LengthPrefixed()
+	compressed.addBytes(m.compressed)
+
+	m.raw = certMsg.finish()
+	return m.raw
+}
+
+func (m *compressedCertificateMsg) unmarshal(data []byte) bool {
+	m.raw = data
+	reader := byteReader(data[4:])
+
+	if !reader.readU16(&m.algID) ||
+		!reader.readU24(&m.uncompressedLength) ||
+		!reader.readU24LengthPrefixedBytes(&m.compressed) ||
+		len(reader) != 0 {
+		return false
+	}
+
+	if m.uncompressedLength >= 1<<17 {
+		return false
+	}
+
+	return true
+}
+
 type serverKeyExchangeMsg struct {
 	raw []byte
 	key []byte
diff --git a/src/ssl/test/runner/handshake_server.go b/src/ssl/test/runner/handshake_server.go
index e5f2944..c0653b1 100644
--- a/src/ssl/test/runner/handshake_server.go
+++ b/src/ssl/test/runner/handshake_server.go
@@ -375,7 +375,8 @@
 		sessionId:             hs.clientHello.sessionId,
 		compressionMethod:     config.Bugs.SendCompressionMethod,
 		versOverride:          config.Bugs.SendServerHelloVersion,
-		supportedVersOverride: config.Bugs.SendServerSupportedExtensionVersion,
+		supportedVersOverride: config.Bugs.SendServerSupportedVersionExtension,
+		omitSupportedVers:     config.Bugs.OmitServerSupportedVersionExtension,
 		customExtension:       config.Bugs.CustomUnencryptedExtension,
 		unencryptedALPN:       config.Bugs.SendUnencryptedALPN,
 	}
@@ -833,7 +834,7 @@
 		if config.ClientAuth >= RequestClientCert {
 			// Request a client certificate
 			certReq := &certificateRequestMsg{
-				vers: c.wireVersion,
+				vers:                  c.wireVersion,
 				hasSignatureAlgorithm: !config.Bugs.OmitCertificateRequestAlgorithms,
 				hasRequestContext:     true,
 				requestContext:        config.Bugs.SendRequestContext,
@@ -884,8 +885,47 @@
 			}
 		}
 		certMsgBytes := certMsg.marshal()
-		hs.writeServerHash(certMsgBytes)
-		c.writeRecord(recordTypeHandshake, certMsgBytes)
+		sentCompressedCertMsg := false
+
+	FindCertCompressionAlg:
+		for candidate, alg := range c.config.CertCompressionAlgs {
+			for _, id := range hs.clientHello.compressedCertAlgs {
+				if id == candidate {
+					if expected := config.Bugs.ExpectedCompressedCert; expected != 0 && expected != id {
+						return fmt.Errorf("expected to send compressed cert with alg %d, but picked %d", expected, id)
+					}
+
+					if override := config.Bugs.SendCertCompressionAlgId; override != 0 {
+						id = override
+					}
+
+					uncompressed := certMsgBytes[4:]
+					uncompressedLen := uint32(len(uncompressed))
+					if override := config.Bugs.SendCertUncompressedLength; override != 0 {
+						uncompressedLen = override
+					}
+
+					compressedCertMsgBytes := (&compressedCertificateMsg{
+						algID:              id,
+						uncompressedLength: uncompressedLen,
+						compressed:         alg.Compress(uncompressed),
+					}).marshal()
+
+					hs.writeServerHash(compressedCertMsgBytes)
+					c.writeRecord(recordTypeHandshake, compressedCertMsgBytes)
+					sentCompressedCertMsg = true
+					break FindCertCompressionAlg
+				}
+			}
+		}
+
+		if !sentCompressedCertMsg {
+			if config.Bugs.ExpectedCompressedCert != 0 {
+				return errors.New("unexpectedly sent uncompressed certificate")
+			}
+			hs.writeServerHash(certMsgBytes)
+			c.writeRecord(recordTypeHandshake, certMsgBytes)
+		}
 
 		certVerify := &certificateVerifyMsg{
 			hasSignatureAlgorithm: true,
@@ -1122,7 +1162,7 @@
 		versOverride:      config.Bugs.SendServerHelloVersion,
 		compressionMethod: config.Bugs.SendCompressionMethod,
 		extensions: serverExtensions{
-			supportedVersion: config.Bugs.SendServerSupportedExtensionVersion,
+			supportedVersion: config.Bugs.SendServerSupportedVersionExtension,
 		},
 		omitExtensions:  config.Bugs.OmitExtensions,
 		emptyExtensions: config.Bugs.EmptyExtensions,
diff --git a/src/ssl/test/runner/runner.go b/src/ssl/test/runner/runner.go
index ce20d22..d1748dd 100644
--- a/src/ssl/test/runner/runner.go
+++ b/src/ssl/test/runner/runner.go
@@ -56,6 +56,7 @@
 	testToRun          = flag.String("test", "", "The pattern to filter tests to run, or empty to run all tests")
 	numWorkers         = flag.Int("num-workers", runtime.NumCPU(), "The number of workers to run in parallel.")
 	shimPath           = flag.String("shim-path", "../../../build/ssl/test/bssl_shim", "The location of the shim binary.")
+	handshakerPath     = flag.String("handshaker-path", "../../../build/ssl/test/handshaker", "The location of the handshaker binary.")
 	resourceDir        = flag.String("resource-dir", ".", "The directory in which to find certificate and key files.")
 	fuzzer             = flag.Bool("fuzzer", false, "If true, tests against a BoringSSL built in fuzzer mode.")
 	transcriptDir      = flag.String("transcript-dir", "", "The directory in which to write transcripts.")
@@ -414,7 +415,8 @@
 	readWithUnfinishedWrite bool
 	// shimShutsDown, if true, runs a test where the shim shuts down the
 	// connection immediately after the handshake rather than echoing
-	// messages from the runner.
+	// messages from the runner. The runner will default to not sending
+	// application data.
 	shimShutsDown bool
 	// renegotiate indicates the number of times the connection should be
 	// renegotiated during the exchange.
@@ -482,21 +484,23 @@
 
 var testCases []testCase
 
-func writeTranscript(test *testCase, path string, data []byte) {
+func appendTranscript(path string, data []byte) error {
 	if len(data) == 0 {
-		return
+		return nil
 	}
 
 	settings, err := ioutil.ReadFile(path)
 	if err != nil {
-		fmt.Fprintf(os.Stderr, "Error reading %s: %s.\n", path, err)
-		return
+		if !os.IsNotExist(err) {
+			return err
+		}
+		// If the shim aborted before writing a file, use a default
+		// settings block, so the transcript is still somewhat valid.
+		settings = []byte{0, 0} // kDataTag
 	}
 
 	settings = append(settings, data...)
-	if err := ioutil.WriteFile(path, settings, 0644); err != nil {
-		fmt.Fprintf(os.Stderr, "Error writing %s: %s\n", path, err)
-	}
+	return ioutil.WriteFile(path, settings, 0644)
 }
 
 // A timeoutConn implements an idle timeout on each Read and Write operation.
@@ -523,7 +527,7 @@
 	return t.Conn.Write(b)
 }
 
-func doExchange(test *testCase, config *Config, conn net.Conn, isResume bool, transcriptPrefix string, num int) error {
+func doExchange(test *testCase, config *Config, conn net.Conn, isResume bool, transcripts *[][]byte, num int) error {
 	if !test.noSessionCache {
 		if config.ClientSessionCache == nil {
 			config.ClientSessionCache = NewLRUClientSessionCache(1)
@@ -575,10 +579,13 @@
 		if *flagDebug {
 			defer connDebug.WriteTo(os.Stdout)
 		}
-		if len(transcriptPrefix) != 0 {
+		if len(*transcriptDir) != 0 {
 			defer func() {
-				path := transcriptPrefix + strconv.Itoa(num)
-				writeTranscript(test, path, connDebug.Transcript())
+				if num == len(*transcripts) {
+					*transcripts = append(*transcripts, connDebug.Transcript())
+				} else {
+					panic("transcripts are out of sync")
+				}
 			}()
 		}
 
@@ -820,7 +827,8 @@
 	}
 
 	messageCount := test.messageCount
-	if messageCount == 0 {
+	// shimShutsDown sets the default message count to zero.
+	if messageCount == 0 && !test.shimShutsDown {
 		messageCount = 1
 	}
 
@@ -1117,7 +1125,10 @@
 		flags = append(flags, "-tls13-variant", strconv.Itoa(test.tls13Variant))
 	}
 
+	flags = append(flags, "-handshaker-path", *handshakerPath)
+
 	var transcriptPrefix string
+	var transcripts [][]byte
 	if len(*transcriptDir) != 0 {
 		protocol := "tls"
 		if test.protocol == dtls {
@@ -1176,7 +1187,7 @@
 
 	conn, err := acceptOrWait(listener, waitChan)
 	if err == nil {
-		err = doExchange(test, &config, conn, false /* not a resumption */, transcriptPrefix, 0)
+		err = doExchange(test, &config, conn, false /* not a resumption */, &transcripts, 0)
 		conn.Close()
 	}
 
@@ -1196,7 +1207,7 @@
 		var connResume net.Conn
 		connResume, err = acceptOrWait(listener, waitChan)
 		if err == nil {
-			err = doExchange(test, &resumeConfig, connResume, true /* resumption */, transcriptPrefix, i+1)
+			err = doExchange(test, &resumeConfig, connResume, true /* resumption */, &transcripts, i+1)
 			connResume.Close()
 		}
 	}
@@ -1217,6 +1228,14 @@
 		waitTimeout.Stop()
 	}
 
+	// Now that the shim has exitted, all the settings files have been
+	// written. Append the saved transcripts.
+	for i, transcript := range transcripts {
+		if err := appendTranscript(transcriptPrefix+strconv.Itoa(i), transcript); err != nil {
+			return err
+		}
+	}
+
 	var isValgrindError, mustFail bool
 	if exitError, ok := childErr.(*exec.ExitError); ok {
 		switch exitError.Sys().(syscall.WaitStatus).ExitStatus() {
@@ -1338,11 +1357,6 @@
 
 var tlsVersions = []tlsVersion{
 	{
-		name:        "SSL3",
-		version:     VersionSSL30,
-		excludeFlag: "-no-ssl3",
-	},
-	{
 		name:        "TLS1",
 		version:     VersionTLS10,
 		excludeFlag: "-no-tls1",
@@ -1391,6 +1405,23 @@
 	return ret
 }
 
+func allShimVersions(protocol protocol) []tlsVersion {
+	if protocol == dtls {
+		return allVersions(protocol)
+	}
+	tls13Default := tlsVersion{
+		name:         "TLS13Default",
+		version:      VersionTLS13,
+		excludeFlag:  "-no-tls13",
+		versionWire:  0,
+		tls13Variant: TLS13Default,
+	}
+
+	var shimVersions []tlsVersion
+	shimVersions = append(shimVersions, allVersions(protocol)...)
+	return append(shimVersions, tls13Default)
+}
+
 type testCipherSuite struct {
 	name string
 	id   uint16
@@ -1400,23 +1431,17 @@
 	{"3DES-SHA", TLS_RSA_WITH_3DES_EDE_CBC_SHA},
 	{"AES128-GCM", TLS_RSA_WITH_AES_128_GCM_SHA256},
 	{"AES128-SHA", TLS_RSA_WITH_AES_128_CBC_SHA},
-	{"AES128-SHA256", TLS_RSA_WITH_AES_128_CBC_SHA256},
 	{"AES256-GCM", TLS_RSA_WITH_AES_256_GCM_SHA384},
 	{"AES256-SHA", TLS_RSA_WITH_AES_256_CBC_SHA},
-	{"AES256-SHA256", TLS_RSA_WITH_AES_256_CBC_SHA256},
 	{"ECDHE-ECDSA-AES128-GCM", TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256},
 	{"ECDHE-ECDSA-AES128-SHA", TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA},
-	{"ECDHE-ECDSA-AES128-SHA256", TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256},
 	{"ECDHE-ECDSA-AES256-GCM", TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384},
 	{"ECDHE-ECDSA-AES256-SHA", TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA},
-	{"ECDHE-ECDSA-AES256-SHA384", TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384},
 	{"ECDHE-ECDSA-CHACHA20-POLY1305", TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256},
 	{"ECDHE-RSA-AES128-GCM", TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256},
 	{"ECDHE-RSA-AES128-SHA", TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA},
-	{"ECDHE-RSA-AES128-SHA256", TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256},
 	{"ECDHE-RSA-AES256-GCM", TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384},
 	{"ECDHE-RSA-AES256-SHA", TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA},
-	{"ECDHE-RSA-AES256-SHA384", TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384},
 	{"ECDHE-RSA-CHACHA20-POLY1305", TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256},
 	{"PSK-AES128-CBC-SHA", TLS_PSK_WITH_AES_128_CBC_SHA},
 	{"PSK-AES256-CBC-SHA", TLS_PSK_WITH_AES_256_CBC_SHA},
@@ -1453,6 +1478,22 @@
 }
 
 func convertToSplitHandshakeTests(tests []testCase) (splitHandshakeTests []testCase) {
+	var stdout bytes.Buffer
+	shim := exec.Command(*shimPath, "-is-handshaker-supported")
+	shim.Stdout = &stdout;
+	if err := shim.Run(); err != nil {
+		panic(err)
+	}
+
+	switch strings.TrimSpace(string(stdout.Bytes())) {
+	case "No":
+		return
+	case "Yes":
+		break
+	default:
+		panic("Unknown output from shim: 0x" + hex.EncodeToString(stdout.Bytes()))
+	}
+
 NextTest:
 	for _, test := range tests {
 		if test.protocol != tls ||
@@ -1811,7 +1852,7 @@
 		},
 		{
 			name:          "DisableEverything",
-			flags:         []string{"-no-tls13", "-no-tls12", "-no-tls11", "-no-tls1", "-no-ssl3"},
+			flags:         []string{"-no-tls13", "-no-tls12", "-no-tls11", "-no-tls1"},
 			shouldFail:    true,
 			expectedError: ":NO_SUPPORTED_VERSIONS_ENABLED:",
 		},
@@ -2973,10 +3014,12 @@
 			config: Config{
 				MaxVersion: VersionTLS13,
 				Bugs: ProtocolBugs{
-					MaxReceivePlaintext: 512,
+					MaxReceivePlaintext:            512,
+					ExpectPackedEncryptedHandshake: 512,
 				},
 			},
-			messageLen: 1024,
+			tls13Variant: TLS13Draft28,
+			messageLen:   1024,
 			flags: []string{
 				"-max-send-fragment", "512",
 				"-read-size", "1024",
@@ -3004,6 +3047,32 @@
 			expectedLocalError: "local error: record overflow",
 		},
 		{
+			// Test that handshake data is not packed in TLS 1.3
+			// draft-23.
+			testType: serverTest,
+			name:     "ForbidHandshakePacking-TLS13Draft23",
+			config: Config{
+				MaxVersion: VersionTLS13,
+				Bugs: ProtocolBugs{
+					ForbidHandshakePacking: true,
+				},
+			},
+			tls13Variant: TLS13Draft23,
+		},
+		{
+			// Test that handshake data is tightly packed in TLS 1.3
+			// draft-28.
+			testType: serverTest,
+			name:     "PackedEncryptedHandshake-TLS13Draft28",
+			config: Config{
+				MaxVersion: VersionTLS13,
+				Bugs: ProtocolBugs{
+					ExpectPackedEncryptedHandshake: 16384,
+				},
+			},
+			tls13Variant: TLS13Draft28,
+		},
+		{
 			// Test that DTLS can handle multiple application data
 			// records in a single packet.
 			protocol: dtls,
@@ -3119,33 +3188,22 @@
 		flags = append(flags, "-cipher", "DEFAULT:NULL-SHA")
 	}
 
-	var shouldServerFail, shouldClientFail bool
-	if hasComponent(suite.name, "ECDHE") && ver.version == VersionSSL30 {
-		// BoringSSL clients accept ECDHE on SSLv3, but
-		// a BoringSSL server will never select it
-		// because the extension is missing.
-		shouldServerFail = true
-	}
+	var shouldFail bool
 	if isTLS12Only(suite.name) && ver.version < VersionTLS12 {
-		shouldClientFail = true
-		shouldServerFail = true
+		shouldFail = true
 	}
 	if !isTLS13Suite(suite.name) && ver.version >= VersionTLS13 {
-		shouldClientFail = true
-		shouldServerFail = true
+		shouldFail = true
 	}
 	if isTLS13Suite(suite.name) && ver.version < VersionTLS13 {
-		shouldClientFail = true
-		shouldServerFail = true
+		shouldFail = true
 	}
 
 	var sendCipherSuite uint16
 	var expectedServerError, expectedClientError string
 	serverCipherSuites := []uint16{suite.id}
-	if shouldServerFail {
+	if shouldFail {
 		expectedServerError = ":NO_SHARED_CIPHER:"
-	}
-	if shouldClientFail {
 		expectedClientError = ":WRONG_CIPHER_RETURNED:"
 		// Configure the server to select ciphers as normal but
 		// select an incompatible cipher in ServerHello.
@@ -3153,12 +3211,8 @@
 		sendCipherSuite = suite.id
 	}
 
-	// For cipher suites and versions where exporters are defined, verify
-	// that they interoperate.
-	var exportKeyingMaterial int
-	if ver.version > VersionSSL30 {
-		exportKeyingMaterial = 1024
-	}
+	// Verify exporters interoperate.
+	exportKeyingMaterial := 1024
 
 	testCases = append(testCases, testCase{
 		testType: serverTest,
@@ -3180,7 +3234,7 @@
 		keyFile:              keyFile,
 		flags:                flags,
 		resumeSession:        true,
-		shouldFail:           shouldServerFail,
+		shouldFail:           shouldFail,
 		expectedError:        expectedServerError,
 		exportKeyingMaterial: exportKeyingMaterial,
 	})
@@ -3197,19 +3251,19 @@
 			PreSharedKey:         []byte(psk),
 			PreSharedKeyIdentity: pskIdentity,
 			Bugs: ProtocolBugs{
-				IgnorePeerCipherPreferences: shouldClientFail,
+				IgnorePeerCipherPreferences: shouldFail,
 				SendCipherSuite:             sendCipherSuite,
 			},
 		},
 		tls13Variant:         ver.tls13Variant,
 		flags:                flags,
 		resumeSession:        true,
-		shouldFail:           shouldClientFail,
+		shouldFail:           shouldFail,
 		expectedError:        expectedClientError,
 		exportKeyingMaterial: exportKeyingMaterial,
 	})
 
-	if shouldClientFail {
+	if shouldFail {
 		return
 	}
 
@@ -3232,10 +3286,9 @@
 
 	// Test bad records for all ciphers. Bad records are fatal in TLS
 	// and ignored in DTLS.
-	var shouldFail bool
+	shouldFail = protocol == tls
 	var expectedError string
-	if protocol == tls {
-		shouldFail = true
+	if shouldFail {
 		expectedError = ":DECRYPTION_FAILED_OR_BAD_RECORD_MAC:"
 	}
 
@@ -3741,34 +3794,32 @@
 			tls13Variant: ver.tls13Variant,
 			flags:        []string{"-require-any-client-certificate"},
 		})
-		if ver.version != VersionSSL30 {
-			testCases = append(testCases, testCase{
-				testType: serverTest,
-				name:     ver.name + "-Server-ClientAuth-ECDSA",
-				config: Config{
-					MinVersion:   ver.version,
-					MaxVersion:   ver.version,
-					Certificates: []Certificate{ecdsaP256Certificate},
-				},
-				tls13Variant: ver.tls13Variant,
-				flags:        []string{"-require-any-client-certificate"},
-			})
-			testCases = append(testCases, testCase{
-				testType: clientTest,
-				name:     ver.name + "-Client-ClientAuth-ECDSA",
-				config: Config{
-					MinVersion: ver.version,
-					MaxVersion: ver.version,
-					ClientAuth: RequireAnyClientCert,
-					ClientCAs:  certPool,
-				},
-				tls13Variant: ver.tls13Variant,
-				flags: []string{
-					"-cert-file", path.Join(*resourceDir, ecdsaP256CertificateFile),
-					"-key-file", path.Join(*resourceDir, ecdsaP256KeyFile),
-				},
-			})
-		}
+		testCases = append(testCases, testCase{
+			testType: serverTest,
+			name:     ver.name + "-Server-ClientAuth-ECDSA",
+			config: Config{
+				MinVersion:   ver.version,
+				MaxVersion:   ver.version,
+				Certificates: []Certificate{ecdsaP256Certificate},
+			},
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-require-any-client-certificate"},
+		})
+		testCases = append(testCases, testCase{
+			testType: clientTest,
+			name:     ver.name + "-Client-ClientAuth-ECDSA",
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				ClientAuth: RequireAnyClientCert,
+				ClientCAs:  certPool,
+			},
+			tls13Variant: ver.tls13Variant,
+			flags: []string{
+				"-cert-file", path.Join(*resourceDir, ecdsaP256CertificateFile),
+				"-key-file", path.Join(*resourceDir, ecdsaP256KeyFile),
+			},
+		})
 
 		testCases = append(testCases, testCase{
 			name: "NoClientCertificate-" + ver.name,
@@ -3835,57 +3886,55 @@
 			expectedLocalError: certificateRequired,
 		})
 
-		if ver.version != VersionSSL30 {
-			testCases = append(testCases, testCase{
-				testType: serverTest,
-				name:     "SkipClientCertificate-" + ver.name,
-				config: Config{
-					MinVersion: ver.version,
-					MaxVersion: ver.version,
-					Bugs: ProtocolBugs{
-						SkipClientCertificate: true,
-					},
+		testCases = append(testCases, testCase{
+			testType: serverTest,
+			name:     "SkipClientCertificate-" + ver.name,
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				Bugs: ProtocolBugs{
+					SkipClientCertificate: true,
 				},
-				// Setting SSL_VERIFY_PEER allows anonymous clients.
-				flags:         []string{"-verify-peer"},
-				tls13Variant:  ver.tls13Variant,
-				shouldFail:    true,
-				expectedError: ":UNEXPECTED_MESSAGE:",
-			})
+			},
+			// Setting SSL_VERIFY_PEER allows anonymous clients.
+			flags:         []string{"-verify-peer"},
+			tls13Variant:  ver.tls13Variant,
+			shouldFail:    true,
+			expectedError: ":UNEXPECTED_MESSAGE:",
+		})
 
-			testCases = append(testCases, testCase{
-				testType: serverTest,
-				name:     "VerifyPeerIfNoOBC-NoChannelID-" + ver.name,
-				config: Config{
-					MinVersion: ver.version,
-					MaxVersion: ver.version,
-				},
-				flags: []string{
-					"-enable-channel-id",
-					"-verify-peer-if-no-obc",
-				},
-				tls13Variant:       ver.tls13Variant,
-				shouldFail:         true,
-				expectedError:      ":PEER_DID_NOT_RETURN_A_CERTIFICATE:",
-				expectedLocalError: certificateRequired,
-			})
+		testCases = append(testCases, testCase{
+			testType: serverTest,
+			name:     "VerifyPeerIfNoOBC-NoChannelID-" + ver.name,
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+			},
+			flags: []string{
+				"-enable-channel-id",
+				"-verify-peer-if-no-obc",
+			},
+			tls13Variant:       ver.tls13Variant,
+			shouldFail:         true,
+			expectedError:      ":PEER_DID_NOT_RETURN_A_CERTIFICATE:",
+			expectedLocalError: certificateRequired,
+		})
 
-			testCases = append(testCases, testCase{
-				testType: serverTest,
-				name:     "VerifyPeerIfNoOBC-ChannelID-" + ver.name,
-				config: Config{
-					MinVersion: ver.version,
-					MaxVersion: ver.version,
-					ChannelID:  channelIDKey,
-				},
-				expectChannelID: true,
-				tls13Variant:    ver.tls13Variant,
-				flags: []string{
-					"-enable-channel-id",
-					"-verify-peer-if-no-obc",
-				},
-			})
-		}
+		testCases = append(testCases, testCase{
+			testType: serverTest,
+			name:     "VerifyPeerIfNoOBC-ChannelID-" + ver.name,
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				ChannelID:  channelIDKey,
+			},
+			expectChannelID: true,
+			tls13Variant:    ver.tls13Variant,
+			flags: []string{
+				"-enable-channel-id",
+				"-verify-peer-if-no-obc",
+			},
+		})
 
 		testCases = append(testCases, testCase{
 			testType: serverTest,
@@ -4023,7 +4072,7 @@
 					flags = []string{expectEMSFlag}
 				}
 
-				test := testCase{
+				testCases = append(testCases, testCase{
 					testType: testType,
 					name:     prefix + "ExtendedMasterSecret-" + ver.name + suffix,
 					config: Config{
@@ -4036,12 +4085,7 @@
 					},
 					tls13Variant: ver.tls13Variant,
 					flags:        flags,
-					shouldFail:   ver.version == VersionSSL30 && with,
-				}
-				if test.shouldFail {
-					test.expectedLocalError = "extended master secret required but not supported by peer"
-				}
-				testCases = append(testCases, test)
+				})
 			}
 		}
 	}
@@ -4506,23 +4550,6 @@
 	if config.protocol == tls {
 		tests = append(tests, testCase{
 			testType: clientTest,
-			name:     "ClientAuth-NoCertificate-Client-SSL3",
-			config: Config{
-				MaxVersion: VersionSSL30,
-				ClientAuth: RequestClientCert,
-			},
-		})
-		tests = append(tests, testCase{
-			testType: serverTest,
-			name:     "ClientAuth-NoCertificate-Server-SSL3",
-			config: Config{
-				MaxVersion: VersionSSL30,
-			},
-			// Setting SSL_VERIFY_PEER allows anonymous clients.
-			flags: []string{"-verify-peer"},
-		})
-		tests = append(tests, testCase{
-			testType: clientTest,
 			name:     "ClientAuth-NoCertificate-Client-TLS13",
 			config: Config{
 				MaxVersion: VersionTLS13,
@@ -4741,60 +4768,157 @@
 	})
 
 	// OCSP stapling tests.
-	tests = append(tests, testCase{
-		testType: clientTest,
-		name:     "OCSPStapling-Client",
-		config: Config{
-			MaxVersion: VersionTLS12,
-		},
-		flags: []string{
-			"-enable-ocsp-stapling",
-			"-expect-ocsp-response",
-			base64.StdEncoding.EncodeToString(testOCSPResponse),
-			"-verify-peer",
-		},
-		resumeSession: true,
-	})
-	tests = append(tests, testCase{
-		testType: serverTest,
-		name:     "OCSPStapling-Server",
-		config: Config{
-			MaxVersion: VersionTLS12,
-		},
-		expectedOCSPResponse: testOCSPResponse,
-		flags: []string{
-			"-ocsp-response",
-			base64.StdEncoding.EncodeToString(testOCSPResponse),
-		},
-		resumeSession: true,
-	})
-	tests = append(tests, testCase{
-		testType: clientTest,
-		name:     "OCSPStapling-Client-TLS13",
-		config: Config{
-			MaxVersion: VersionTLS13,
-		},
-		flags: []string{
-			"-enable-ocsp-stapling",
-			"-expect-ocsp-response",
-			base64.StdEncoding.EncodeToString(testOCSPResponse),
-			"-verify-peer",
-		},
-		resumeSession: true,
-	})
-	tests = append(tests, testCase{
-		testType: serverTest,
-		name:     "OCSPStapling-Server-TLS13",
-		config: Config{
-			MaxVersion: VersionTLS13,
-		},
-		expectedOCSPResponse: testOCSPResponse,
-		flags: []string{
-			"-ocsp-response",
-			base64.StdEncoding.EncodeToString(testOCSPResponse),
-		},
-		resumeSession: true,
-	})
+	for _, vers := range tlsVersions {
+		if config.protocol == dtls && !vers.hasDTLS {
+			continue
+		}
+		tests = append(tests, testCase{
+			testType: clientTest,
+			name:     "OCSPStapling-Client-" + vers.name,
+			config: Config{
+				MaxVersion: vers.version,
+			},
+			tls13Variant: vers.tls13Variant,
+			flags: []string{
+				"-enable-ocsp-stapling",
+				"-expect-ocsp-response",
+				base64.StdEncoding.EncodeToString(testOCSPResponse),
+				"-verify-peer",
+			},
+			resumeSession: true,
+		})
+		tests = append(tests, testCase{
+			testType: serverTest,
+			name:     "OCSPStapling-Server-" + vers.name,
+			config: Config{
+				MaxVersion: vers.version,
+			},
+			tls13Variant:         vers.tls13Variant,
+			expectedOCSPResponse: testOCSPResponse,
+			flags: []string{
+				"-ocsp-response",
+				base64.StdEncoding.EncodeToString(testOCSPResponse),
+			},
+			resumeSession: true,
+		})
+
+		// The client OCSP callback is an alternate certificate
+		// verification callback.
+		tests = append(tests, testCase{
+			testType: clientTest,
+			name:     "ClientOCSPCallback-Pass-" + vers.name,
+			config: Config{
+				MaxVersion:   vers.version,
+				Certificates: []Certificate{rsaCertificate},
+			},
+			tls13Variant: vers.tls13Variant,
+			flags: []string{
+				"-enable-ocsp-stapling",
+				"-use-ocsp-callback",
+			},
+		})
+		var expectedLocalError string
+		if !config.async {
+			// TODO(davidben): Asynchronous fatal alerts are never
+			// sent. https://crbug.com/boringssl/130.
+			expectedLocalError = "remote error: bad certificate status response"
+		}
+		tests = append(tests, testCase{
+			testType: clientTest,
+			name:     "ClientOCSPCallback-Fail-" + vers.name,
+			config: Config{
+				MaxVersion:   vers.version,
+				Certificates: []Certificate{rsaCertificate},
+			},
+			tls13Variant: vers.tls13Variant,
+			flags: []string{
+				"-enable-ocsp-stapling",
+				"-use-ocsp-callback",
+				"-fail-ocsp-callback",
+			},
+			shouldFail:         true,
+			expectedLocalError: expectedLocalError,
+			expectedError:      ":OCSP_CB_ERROR:",
+		})
+		// The callback still runs if the server does not send an OCSP
+		// response.
+		certNoStaple := rsaCertificate
+		certNoStaple.OCSPStaple = nil
+		tests = append(tests, testCase{
+			testType: clientTest,
+			name:     "ClientOCSPCallback-FailNoStaple-" + vers.name,
+			config: Config{
+				MaxVersion:   vers.version,
+				Certificates: []Certificate{certNoStaple},
+			},
+			tls13Variant: vers.tls13Variant,
+			flags: []string{
+				"-enable-ocsp-stapling",
+				"-use-ocsp-callback",
+				"-fail-ocsp-callback",
+			},
+			shouldFail:         true,
+			expectedLocalError: expectedLocalError,
+			expectedError:      ":OCSP_CB_ERROR:",
+		})
+
+		// The server OCSP callback is a legacy mechanism for
+		// configuring OCSP, used by unreliable server software.
+		tests = append(tests, testCase{
+			testType: serverTest,
+			name:     "ServerOCSPCallback-SetInCallback-" + vers.name,
+			config: Config{
+				MaxVersion: vers.version,
+			},
+			tls13Variant:         vers.tls13Variant,
+			expectedOCSPResponse: testOCSPResponse,
+			flags: []string{
+				"-use-ocsp-callback",
+				"-set-ocsp-in-callback",
+				"-ocsp-response",
+				base64.StdEncoding.EncodeToString(testOCSPResponse),
+			},
+			resumeSession: true,
+		})
+
+		// The callback may decline OCSP, in which case  we act as if
+		// the client did not support it, even if a response was
+		// configured.
+		tests = append(tests, testCase{
+			testType: serverTest,
+			name:     "ServerOCSPCallback-Decline-" + vers.name,
+			config: Config{
+				MaxVersion: vers.version,
+			},
+			tls13Variant:         vers.tls13Variant,
+			expectedOCSPResponse: []byte{},
+			flags: []string{
+				"-use-ocsp-callback",
+				"-decline-ocsp-callback",
+				"-ocsp-response",
+				base64.StdEncoding.EncodeToString(testOCSPResponse),
+			},
+			resumeSession: true,
+		})
+
+		// The callback may also signal an internal error.
+		tests = append(tests, testCase{
+			testType: serverTest,
+			name:     "ServerOCSPCallback-Fail-" + vers.name,
+			config: Config{
+				MaxVersion: vers.version,
+			},
+			tls13Variant: vers.tls13Variant,
+			flags: []string{
+				"-use-ocsp-callback",
+				"-fail-ocsp-callback",
+				"-ocsp-response",
+				base64.StdEncoding.EncodeToString(testOCSPResponse),
+			},
+			shouldFail:    true,
+			expectedError: ":OCSP_CB_ERROR:",
+		})
+	}
 
 	// Certificate verification tests.
 	for _, vers := range tlsVersions {
@@ -5165,6 +5289,25 @@
 				flags:             []string{"-check-close-notify"},
 			})
 
+			// The shim should reject unexpected application data
+			// when shutting down.
+			tests = append(tests, testCase{
+				name: "Shutdown-Shim-ApplicationData",
+				config: Config{
+					MaxVersion: VersionTLS12,
+					Bugs: ProtocolBugs{
+						ExpectCloseNotify: true,
+					},
+				},
+				shimShutsDown:     true,
+				messageCount:      1,
+				sendEmptyRecords:  1,
+				sendWarningAlerts: 1,
+				flags:             []string{"-check-close-notify"},
+				shouldFail:        true,
+				expectedError:     ":APPLICATION_DATA_ON_SHUTDOWN:",
+			})
+
 			// Test that SSL_shutdown still processes KeyUpdate.
 			tests = append(tests, testCase{
 				name: "Shutdown-Shim-KeyUpdate",
@@ -5205,11 +5348,11 @@
 					MinVersion: VersionTLS12,
 					MaxVersion: VersionTLS12,
 					Bugs: ProtocolBugs{
-						SendHelloRequestBeforeEveryAppDataRecord: true,
-						ExpectCloseNotify:                        true,
+						ExpectCloseNotify: true,
 					},
 				},
 				shimShutsDown: true,
+				renegotiate:   1,
 				shouldFail:    true,
 				expectedError: ":NO_RENEGOTIATION:",
 				flags:         []string{"-check-close-notify"},
@@ -5220,11 +5363,11 @@
 					MinVersion: VersionTLS12,
 					MaxVersion: VersionTLS12,
 					Bugs: ProtocolBugs{
-						SendHelloRequestBeforeEveryAppDataRecord: true,
-						ExpectCloseNotify:                        true,
+						ExpectCloseNotify: true,
 					},
 				},
 				shimShutsDown: true,
+				renegotiate:   1,
 				shouldFail:    true,
 				expectedError: ":NO_RENEGOTIATION:",
 				flags: []string{
@@ -5332,7 +5475,7 @@
 
 		failFlag := "-fail-ddos-callback"
 		if resume {
-			failFlag = "-fail-second-ddos-callback"
+			failFlag = "-on-resume-fail-ddos-callback"
 		}
 		testCases = append(testCases, testCase{
 			testType: serverTest,
@@ -5363,7 +5506,7 @@
 
 func addVersionNegotiationTests() {
 	for _, protocol := range []protocol{tls, dtls} {
-		for _, shimVers := range allVersions(protocol) {
+		for _, shimVers := range allShimVersions(protocol) {
 			// Assemble flags to disable all newer versions on the shim.
 			var flags []string
 			for _, vers := range allVersions(protocol) {
@@ -5385,13 +5528,12 @@
 				if runnerVers.version < shimVers.version {
 					expectedVersion = runnerVers.version
 				}
-				// When running and shim have different TLS 1.3 variants enabled,
-				// shim peers are expected to fall back to TLS 1.2.
+
 				if expectedVersion == VersionTLS13 && runnerVers.tls13Variant != shimVers.tls13Variant {
-					expectedVersion = VersionTLS12
+					if shimVers.tls13Variant != TLS13Default {
+						expectedVersion = VersionTLS12
+					}
 				}
-				expectedClientVersion := expectedVersion
-				expectedServerVersion := expectedVersion
 
 				suffix := shimVers.name + "-" + runnerVers.name
 				if protocol == dtls {
@@ -5404,8 +5546,8 @@
 					clientVers = VersionTLS10
 				}
 				clientVers = recordVersionToWire(clientVers, protocol)
-				serverVers := expectedServerVersion
-				if expectedServerVersion >= VersionTLS13 {
+				serverVers := expectedVersion
+				if expectedVersion >= VersionTLS13 {
 					serverVers = VersionTLS12
 				}
 				serverVers = recordVersionToWire(serverVers, protocol)
@@ -5422,7 +5564,7 @@
 						},
 					},
 					flags:           flags,
-					expectedVersion: expectedClientVersion,
+					expectedVersion: expectedVersion,
 				})
 				testCases = append(testCases, testCase{
 					protocol: protocol,
@@ -5436,7 +5578,7 @@
 						},
 					},
 					flags:           flags2,
-					expectedVersion: expectedClientVersion,
+					expectedVersion: expectedVersion,
 				})
 
 				testCases = append(testCases, testCase{
@@ -5451,7 +5593,7 @@
 						},
 					},
 					flags:           flags,
-					expectedVersion: expectedServerVersion,
+					expectedVersion: expectedVersion,
 				})
 				testCases = append(testCases, testCase{
 					protocol: protocol,
@@ -5465,7 +5607,7 @@
 						},
 					},
 					flags:           flags2,
-					expectedVersion: expectedServerVersion,
+					expectedVersion: expectedVersion,
 				})
 			}
 		}
@@ -5584,7 +5726,7 @@
 		config: Config{
 			MaxVersion: VersionTLS12,
 			Bugs: ProtocolBugs{
-				SendServerSupportedExtensionVersion: VersionTLS12,
+				SendServerSupportedVersionExtension: VersionTLS12,
 			},
 		},
 		shouldFail:    true,
@@ -5750,6 +5892,46 @@
 			},
 		},
 	})
+
+	// SSL 3.0 support has been removed. Test that the shim does not
+	// support it.
+	testCases = append(testCases, testCase{
+		name: "NoSSL3-Client",
+		config: Config{
+			MinVersion: VersionSSL30,
+			MaxVersion: VersionSSL30,
+		},
+		shouldFail:         true,
+		expectedLocalError: "tls: client did not offer any supported protocol versions",
+	})
+	testCases = append(testCases, testCase{
+		name: "NoSSL3-Client-Unsolicited",
+		config: Config{
+			MinVersion: VersionSSL30,
+			MaxVersion: VersionSSL30,
+			Bugs: ProtocolBugs{
+				// The above test asserts the client does not
+				// offer SSL 3.0 in the supported_versions
+				// list. Additionally assert that it rejects an
+				// unsolicited SSL 3.0 ServerHello.
+				NegotiateVersion: VersionSSL30,
+			},
+		},
+		shouldFail:         true,
+		expectedError:      ":UNSUPPORTED_PROTOCOL:",
+		expectedLocalError: "remote error: protocol version not supported",
+	})
+	testCases = append(testCases, testCase{
+		testType: serverTest,
+		name:     "NoSSL3-Server",
+		config: Config{
+			MinVersion: VersionSSL30,
+			MaxVersion: VersionSSL30,
+		},
+		shouldFail:         true,
+		expectedError:      ":UNSUPPORTED_PROTOCOL:",
+		expectedLocalError: "remote error: protocol version not supported",
+	})
 }
 
 func addMinimumVersionTests() {
@@ -5878,12 +6060,8 @@
 	// halves to EncryptedExtensions in TLS 1.3. Duplicate each of these
 	// tests for both. Also test interaction with 0-RTT when implemented.
 
-	// Repeat extensions tests all versions except SSL 3.0.
+	// Repeat extensions tests at all versions.
 	for _, ver := range tlsVersions {
-		if ver.version == VersionSSL30 {
-			continue
-		}
-
 		// Test that duplicate extensions are rejected.
 		testCases = append(testCases, testCase{
 			testType: clientTest,
@@ -6069,6 +6247,24 @@
 			expectNoNextProto: true,
 			resumeSession:     true,
 		})
+		// Test that the server implementation catches itself if the
+		// callback tries to return an invalid empty ALPN protocol.
+		testCases = append(testCases, testCase{
+			testType: serverTest,
+			name:     "ALPNServer-SelectEmpty-" + ver.name,
+			config: Config{
+				MaxVersion: ver.version,
+				NextProtos: []string{"foo", "bar", "baz"},
+			},
+			flags: []string{
+				"-expect-advertised-alpn", "\x03foo\x03bar\x03baz",
+				"-select-empty-alpn",
+			},
+			tls13Variant:       ver.tls13Variant,
+			shouldFail:         true,
+			expectedLocalError: "remote error: internal error",
+			expectedError:      ":INVALID_ALPN_PROTOCOL:",
+		})
 
 		// Test ALPN in async mode as well to ensure that extensions callbacks are only
 		// called once.
@@ -7036,70 +7232,6 @@
 		flags: []string{"-host-name", "01234567890123456789012345678901234567890123456789012345678901234567890123456789.com"},
 	})
 
-	// Extensions should not function in SSL 3.0.
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "SSLv3Extensions-NoALPN",
-		config: Config{
-			MaxVersion: VersionSSL30,
-			NextProtos: []string{"foo", "bar", "baz"},
-		},
-		flags: []string{
-			"-select-alpn", "foo",
-		},
-		expectNoNextProto: true,
-	})
-
-	// Test session tickets separately as they follow a different codepath.
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "SSLv3Extensions-NoTickets",
-		config: Config{
-			MaxVersion: VersionSSL30,
-			Bugs: ProtocolBugs{
-				// Historically, session tickets in SSL 3.0
-				// failed in different ways depending on whether
-				// the client supported renegotiation_info.
-				NoRenegotiationInfo: true,
-			},
-		},
-		resumeSession: true,
-	})
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "SSLv3Extensions-NoTickets2",
-		config: Config{
-			MaxVersion: VersionSSL30,
-		},
-		resumeSession: true,
-	})
-
-	// But SSL 3.0 does send and process renegotiation_info.
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "SSLv3Extensions-RenegotiationInfo",
-		config: Config{
-			MaxVersion: VersionSSL30,
-			Bugs: ProtocolBugs{
-				RequireRenegotiationInfo: true,
-			},
-		},
-		flags: []string{"-expect-secure-renegotiation"},
-	})
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "SSLv3Extensions-RenegotiationInfo-SCSV",
-		config: Config{
-			MaxVersion: VersionSSL30,
-			Bugs: ProtocolBugs{
-				NoRenegotiationInfo:      true,
-				SendRenegotiationSCSV:    true,
-				RequireRenegotiationInfo: true,
-			},
-		},
-		flags: []string{"-expect-secure-renegotiation"},
-	})
-
 	// Test that illegal extensions in TLS 1.3 are rejected by the client if
 	// in ServerHello.
 	testCases = append(testCases, testCase{
@@ -7378,14 +7510,6 @@
 func addResumptionVersionTests() {
 	for _, sessionVers := range tlsVersions {
 		for _, resumeVers := range tlsVersions {
-			// SSL 3.0 does not have tickets and TLS 1.3 does not
-			// have session IDs, so skip their cross-resumption
-			// tests.
-			if (sessionVers.version >= VersionTLS13 && resumeVers.version == VersionSSL30) ||
-				(resumeVers.version >= VersionTLS13 && sessionVers.version == VersionSSL30) {
-				continue
-			}
-
 			protocols := []protocol{tls}
 			if sessionVers.hasDTLS && resumeVers.hasDTLS {
 				protocols = append(protocols, dtls)
@@ -7504,6 +7628,27 @@
 						"-on-resume-tls13-variant", strconv.Itoa(resumeVers.tls13Variant),
 					},
 				})
+
+				// Repeat the test using session IDs, rather than tickets.
+				if sessionVers.version < VersionTLS13 && resumeVers.version < VersionTLS13 {
+					testCases = append(testCases, testCase{
+						protocol:      protocol,
+						testType:      serverTest,
+						name:          "Resume-Server-NoTickets" + suffix,
+						resumeSession: true,
+						config: Config{
+							MaxVersion:             sessionVers.version,
+							SessionTicketsDisabled: true,
+						},
+						expectedVersion:      sessionVers.version,
+						expectResumeRejected: sessionVers != resumeVers,
+						resumeConfig: &Config{
+							MaxVersion:             resumeVers.version,
+							SessionTicketsDisabled: true,
+						},
+						expectedResumeVersion: resumeVers.version,
+					})
+				}
 			}
 		}
 	}
@@ -8195,17 +8340,15 @@
 		},
 	})
 
-	// Renegotiation is not allowed at SSL 3.0.
+	// Renegotiation may be enabled and then disabled immediately after the
+	// handshake.
 	testCases = append(testCases, testCase{
-		name: "Renegotiate-Client-SSL3",
+		name: "Renegotiate-ForbidAfterHandshake",
 		config: Config{
-			MaxVersion: VersionSSL30,
+			MaxVersion: VersionTLS12,
 		},
-		renegotiate: 1,
-		flags: []string{
-			"-renegotiate-freely",
-			"-expect-total-renegotiations", "1",
-		},
+		renegotiate:        1,
+		flags:              []string{"-forbid-renegotiation-after-handshake"},
 		shouldFail:         true,
 		expectedError:      ":NO_RENEGOTIATION:",
 		expectedLocalError: "remote error: no renegotiation",
@@ -8497,12 +8640,6 @@
 				continue
 			}
 
-			// TODO(davidben): Support ECDSA in SSL 3.0 in Go for testing
-			// or remove it in C.
-			if ver.version == VersionSSL30 && alg.cert != testCertRSA {
-				continue
-			}
-
 			var shouldSignFail, shouldVerifyFail bool
 			// ecdsa_sha1 does not exist in TLS 1.3.
 			if ver.version >= VersionTLS13 && alg.id == signatureECDSAWithSHA1 {
@@ -8526,12 +8663,14 @@
 				shouldVerifyFail = true
 			}
 
-			var signError, verifyError string
+			var signError, signLocalError, verifyError, verifyLocalError string
 			if shouldSignFail {
 				signError = ":NO_COMMON_SIGNATURE_ALGORITHMS:"
+				signLocalError = "remote error: handshake failure"
 			}
 			if shouldVerifyFail {
 				verifyError = ":WRONG_SIGNATURE_TYPE:"
+				verifyLocalError = "remote error"
 			}
 
 			suffix := "-" + alg.name + "-" + ver.name
@@ -8556,6 +8695,7 @@
 				tls13Variant:                   ver.tls13Variant,
 				shouldFail:                     shouldSignFail,
 				expectedError:                  signError,
+				expectedLocalError:             signLocalError,
 				expectedPeerSignatureAlgorithm: alg.id,
 			})
 
@@ -8584,37 +8724,36 @@
 				},
 				// Resume the session to assert the peer signature
 				// algorithm is reported on both handshakes.
-				resumeSession: !shouldVerifyFail,
-				shouldFail:    shouldVerifyFail,
-				expectedError: verifyError,
+				resumeSession:      !shouldVerifyFail,
+				shouldFail:         shouldVerifyFail,
+				expectedError:      verifyError,
+				expectedLocalError: verifyLocalError,
 			})
 
-			// No signing cipher for SSL 3.0.
-			if ver.version > VersionSSL30 {
-				testCases = append(testCases, testCase{
-					testType: serverTest,
-					name:     "ServerAuth-Sign" + suffix,
-					config: Config{
-						MaxVersion:   ver.version,
-						CipherSuites: signingCiphers,
-						VerifySignatureAlgorithms: []signatureAlgorithm{
-							fakeSigAlg1,
-							alg.id,
-							fakeSigAlg2,
-						},
+			testCases = append(testCases, testCase{
+				testType: serverTest,
+				name:     "ServerAuth-Sign" + suffix,
+				config: Config{
+					MaxVersion:   ver.version,
+					CipherSuites: signingCiphers,
+					VerifySignatureAlgorithms: []signatureAlgorithm{
+						fakeSigAlg1,
+						alg.id,
+						fakeSigAlg2,
 					},
-					tls13Variant: ver.tls13Variant,
-					flags: []string{
-						"-cert-file", path.Join(*resourceDir, getShimCertificate(alg.cert)),
-						"-key-file", path.Join(*resourceDir, getShimKey(alg.cert)),
-						"-enable-all-curves",
-						"-enable-ed25519",
-					},
-					shouldFail:                     shouldSignFail,
-					expectedError:                  signError,
-					expectedPeerSignatureAlgorithm: alg.id,
-				})
-			}
+				},
+				tls13Variant: ver.tls13Variant,
+				flags: []string{
+					"-cert-file", path.Join(*resourceDir, getShimCertificate(alg.cert)),
+					"-key-file", path.Join(*resourceDir, getShimKey(alg.cert)),
+					"-enable-all-curves",
+					"-enable-ed25519",
+				},
+				shouldFail:                     shouldSignFail,
+				expectedError:                  signError,
+				expectedLocalError:             signLocalError,
+				expectedPeerSignatureAlgorithm: alg.id,
+			})
 
 			testCases = append(testCases, testCase{
 				name: "ServerAuth-Verify" + suffix,
@@ -8640,9 +8779,10 @@
 				},
 				// Resume the session to assert the peer signature
 				// algorithm is reported on both handshakes.
-				resumeSession: !shouldVerifyFail,
-				shouldFail:    shouldVerifyFail,
-				expectedError: verifyError,
+				resumeSession:      !shouldVerifyFail,
+				shouldFail:         shouldVerifyFail,
+				expectedError:      verifyError,
+				expectedLocalError: verifyLocalError,
 			})
 
 			if !shouldVerifyFail {
@@ -8733,6 +8873,55 @@
 		}
 	}
 
+	// Test the peer's verify preferences are available.
+	for _, ver := range tlsVersions {
+		if ver.version < VersionTLS12 {
+			continue
+		}
+		testCases = append(testCases, testCase{
+			name: "ClientAuth-PeerVerifyPrefs-" + ver.name,
+			config: Config{
+				MaxVersion: ver.version,
+				ClientAuth: RequireAnyClientCert,
+				VerifySignatureAlgorithms: []signatureAlgorithm{
+					signatureRSAPSSWithSHA256,
+					signatureEd25519,
+					signatureECDSAWithP256AndSHA256,
+				},
+			},
+			tls13Variant: ver.tls13Variant,
+			flags: []string{
+				"-cert-file", path.Join(*resourceDir, rsaCertificateFile),
+				"-key-file", path.Join(*resourceDir, rsaKeyFile),
+				"-expect-peer-verify-pref", strconv.Itoa(int(signatureRSAPSSWithSHA256)),
+				"-expect-peer-verify-pref", strconv.Itoa(int(signatureEd25519)),
+				"-expect-peer-verify-pref", strconv.Itoa(int(signatureECDSAWithP256AndSHA256)),
+			},
+		})
+
+		testCases = append(testCases, testCase{
+			testType: serverTest,
+			name:     "ServerAuth-PeerVerifyPrefs-" + ver.name,
+			config: Config{
+				MaxVersion: ver.version,
+				VerifySignatureAlgorithms: []signatureAlgorithm{
+					signatureRSAPSSWithSHA256,
+					signatureEd25519,
+					signatureECDSAWithP256AndSHA256,
+				},
+			},
+			tls13Variant: ver.tls13Variant,
+			flags: []string{
+				"-cert-file", path.Join(*resourceDir, rsaCertificateFile),
+				"-key-file", path.Join(*resourceDir, rsaKeyFile),
+				"-expect-peer-verify-pref", strconv.Itoa(int(signatureRSAPSSWithSHA256)),
+				"-expect-peer-verify-pref", strconv.Itoa(int(signatureEd25519)),
+				"-expect-peer-verify-pref", strconv.Itoa(int(signatureECDSAWithP256AndSHA256)),
+			},
+		})
+
+	}
+
 	// Test that algorithm selection takes the key type into account.
 	testCases = append(testCases, testCase{
 		name: "ClientAuth-SignatureType",
@@ -9772,9 +9961,6 @@
 
 func addExportKeyingMaterialTests() {
 	for _, vers := range tlsVersions {
-		if vers.version == VersionSSL30 {
-			continue
-		}
 		testCases = append(testCases, testCase{
 			name: "ExportKeyingMaterial-" + vers.name,
 			config: Config{
@@ -10042,19 +10228,6 @@
 		}
 	}
 
-	testCases = append(testCases, testCase{
-		name: "ExportKeyingMaterial-SSL3",
-		config: Config{
-			MaxVersion: VersionSSL30,
-		},
-		exportKeyingMaterial: 1024,
-		exportLabel:          "label",
-		exportContext:        "context",
-		useExportContext:     true,
-		shouldFail:           true,
-		expectedError:        "failed to export keying material",
-	})
-
 	// Exporters work during a False Start.
 	testCases = append(testCases, testCase{
 		name: "ExportKeyingMaterial-FalseStart",
@@ -10154,278 +10327,6 @@
 }
 
 func addCustomExtensionTests() {
-	expectedContents := "custom extension"
-	emptyString := ""
-
-	for _, isClient := range []bool{false, true} {
-		suffix := "Server"
-		flag := "-enable-server-custom-extension"
-		testType := serverTest
-		if isClient {
-			suffix = "Client"
-			flag = "-enable-client-custom-extension"
-			testType = clientTest
-		}
-
-		testCases = append(testCases, testCase{
-			testType: testType,
-			name:     "CustomExtensions-" + suffix,
-			config: Config{
-				MaxVersion: VersionTLS12,
-				Bugs: ProtocolBugs{
-					CustomExtension:         expectedContents,
-					ExpectedCustomExtension: &expectedContents,
-				},
-			},
-			flags: []string{flag},
-		})
-		testCases = append(testCases, testCase{
-			testType: testType,
-			name:     "CustomExtensions-" + suffix + "-TLS13",
-			config: Config{
-				MaxVersion: VersionTLS13,
-				Bugs: ProtocolBugs{
-					CustomExtension:         expectedContents,
-					ExpectedCustomExtension: &expectedContents,
-				},
-			},
-			flags: []string{flag},
-		})
-
-		// If the parse callback fails, the handshake should also fail.
-		testCases = append(testCases, testCase{
-			testType: testType,
-			name:     "CustomExtensions-ParseError-" + suffix,
-			config: Config{
-				MaxVersion: VersionTLS12,
-				Bugs: ProtocolBugs{
-					CustomExtension:         expectedContents + "foo",
-					ExpectedCustomExtension: &expectedContents,
-				},
-			},
-			flags:         []string{flag},
-			shouldFail:    true,
-			expectedError: ":CUSTOM_EXTENSION_ERROR:",
-		})
-		testCases = append(testCases, testCase{
-			testType: testType,
-			name:     "CustomExtensions-ParseError-" + suffix + "-TLS13",
-			config: Config{
-				MaxVersion: VersionTLS13,
-				Bugs: ProtocolBugs{
-					CustomExtension:         expectedContents + "foo",
-					ExpectedCustomExtension: &expectedContents,
-				},
-			},
-			flags:         []string{flag},
-			shouldFail:    true,
-			expectedError: ":CUSTOM_EXTENSION_ERROR:",
-		})
-
-		// If the add callback fails, the handshake should also fail.
-		testCases = append(testCases, testCase{
-			testType: testType,
-			name:     "CustomExtensions-FailAdd-" + suffix,
-			config: Config{
-				MaxVersion: VersionTLS12,
-				Bugs: ProtocolBugs{
-					CustomExtension:         expectedContents,
-					ExpectedCustomExtension: &expectedContents,
-				},
-			},
-			flags:         []string{flag, "-custom-extension-fail-add"},
-			shouldFail:    true,
-			expectedError: ":CUSTOM_EXTENSION_ERROR:",
-		})
-		testCases = append(testCases, testCase{
-			testType: testType,
-			name:     "CustomExtensions-FailAdd-" + suffix + "-TLS13",
-			config: Config{
-				MaxVersion: VersionTLS13,
-				Bugs: ProtocolBugs{
-					CustomExtension:         expectedContents,
-					ExpectedCustomExtension: &expectedContents,
-				},
-			},
-			flags:         []string{flag, "-custom-extension-fail-add"},
-			shouldFail:    true,
-			expectedError: ":CUSTOM_EXTENSION_ERROR:",
-		})
-
-		// If the add callback returns zero, no extension should be
-		// added.
-		skipCustomExtension := expectedContents
-		if isClient {
-			// For the case where the client skips sending the
-			// custom extension, the server must not “echo” it.
-			skipCustomExtension = ""
-		}
-		testCases = append(testCases, testCase{
-			testType: testType,
-			name:     "CustomExtensions-Skip-" + suffix,
-			config: Config{
-				MaxVersion: VersionTLS12,
-				Bugs: ProtocolBugs{
-					CustomExtension:         skipCustomExtension,
-					ExpectedCustomExtension: &emptyString,
-				},
-			},
-			flags: []string{flag, "-custom-extension-skip"},
-		})
-		testCases = append(testCases, testCase{
-			testType: testType,
-			name:     "CustomExtensions-Skip-" + suffix + "-TLS13",
-			config: Config{
-				MaxVersion: VersionTLS13,
-				Bugs: ProtocolBugs{
-					CustomExtension:         skipCustomExtension,
-					ExpectedCustomExtension: &emptyString,
-				},
-			},
-			flags: []string{flag, "-custom-extension-skip"},
-		})
-	}
-
-	// If the client sends both early data and custom extension, the handshake
-	// should succeed as long as both the extensions aren't returned by the
-	// server.
-	testCases = append(testCases, testCase{
-		testType: clientTest,
-		name:     "CustomExtensions-Client-EarlyData-None",
-		config: Config{
-			MaxVersion:       VersionTLS13,
-			MaxEarlyDataSize: 16384,
-			Bugs: ProtocolBugs{
-				ExpectedCustomExtension: &expectedContents,
-				AlwaysRejectEarlyData:   true,
-			},
-		},
-		resumeSession: true,
-		flags: []string{
-			"-enable-client-custom-extension",
-			"-enable-early-data",
-			"-expect-ticket-supports-early-data",
-			"-expect-reject-early-data",
-		},
-	})
-
-	testCases = append(testCases, testCase{
-		testType: clientTest,
-		name:     "CustomExtensions-Client-EarlyData-EarlyDataAccepted",
-		config: Config{
-			MaxVersion:       VersionTLS13,
-			MaxEarlyDataSize: 16384,
-			Bugs: ProtocolBugs{
-				ExpectedCustomExtension: &expectedContents,
-			},
-		},
-		resumeSession: true,
-		flags: []string{
-			"-enable-client-custom-extension",
-			"-enable-early-data",
-			"-expect-ticket-supports-early-data",
-			"-expect-accept-early-data",
-		},
-	})
-
-	testCases = append(testCases, testCase{
-		testType: clientTest,
-		name:     "CustomExtensions-Client-EarlyData-CustomExtensionAccepted",
-		config: Config{
-			MaxVersion:       VersionTLS13,
-			MaxEarlyDataSize: 16384,
-			Bugs: ProtocolBugs{
-				AlwaysRejectEarlyData:   true,
-				CustomExtension:         expectedContents,
-				ExpectedCustomExtension: &expectedContents,
-			},
-		},
-		resumeSession: true,
-		flags: []string{
-			"-enable-client-custom-extension",
-			"-enable-early-data",
-			"-expect-ticket-supports-early-data",
-			"-expect-reject-early-data",
-		},
-	})
-
-	testCases = append(testCases, testCase{
-		testType: clientTest,
-		name:     "CustomExtensions-Client-EarlyDataAndCustomExtensions",
-		config: Config{
-			MaxVersion:       VersionTLS13,
-			MaxEarlyDataSize: 16384,
-			Bugs: ProtocolBugs{
-				CustomExtension:         expectedContents,
-				ExpectedCustomExtension: &expectedContents,
-			},
-		},
-		resumeConfig: &Config{
-			MaxVersion:       VersionTLS13,
-			MaxEarlyDataSize: 16384,
-			Bugs: ProtocolBugs{
-				CustomExtension:         expectedContents,
-				ExpectedCustomExtension: &expectedContents,
-				SendEarlyDataExtension:  true,
-			},
-		},
-		resumeSession: true,
-		shouldFail:    true,
-		expectedError: ":UNEXPECTED_EXTENSION_ON_EARLY_DATA:",
-		flags: []string{
-			"-enable-client-custom-extension",
-			"-enable-early-data",
-			"-expect-ticket-supports-early-data",
-		},
-	})
-
-	// If the server receives both early data and custom extension, only the
-	// custom extension should be accepted.
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "CustomExtensions-Server-EarlyDataOffered",
-		config: Config{
-			MaxVersion: VersionTLS13,
-			Bugs: ProtocolBugs{
-				SendEarlyData:           [][]byte{{1, 2, 3, 4}},
-				CustomExtension:         expectedContents,
-				ExpectedCustomExtension: &expectedContents,
-				ExpectEarlyDataAccepted: false,
-			},
-		},
-		resumeSession: true,
-		flags: []string{
-			"-enable-server-custom-extension",
-			"-enable-early-data",
-		},
-	})
-
-	// The custom extension add callback should not be called if the client
-	// doesn't send the extension.
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "CustomExtensions-NotCalled-Server",
-		config: Config{
-			MaxVersion: VersionTLS12,
-			Bugs: ProtocolBugs{
-				ExpectedCustomExtension: &emptyString,
-			},
-		},
-		flags: []string{"-enable-server-custom-extension", "-custom-extension-fail-add"},
-	})
-
-	testCases = append(testCases, testCase{
-		testType: serverTest,
-		name:     "CustomExtensions-NotCalled-Server-TLS13",
-		config: Config{
-			MaxVersion: VersionTLS13,
-			Bugs: ProtocolBugs{
-				ExpectedCustomExtension: &emptyString,
-			},
-		},
-		flags: []string{"-enable-server-custom-extension", "-custom-extension-fail-add"},
-	})
-
 	// Test an unknown extension from the server.
 	testCases = append(testCases, testCase{
 		testType: clientTest,
@@ -10433,7 +10334,7 @@
 		config: Config{
 			MaxVersion: VersionTLS12,
 			Bugs: ProtocolBugs{
-				CustomExtension: expectedContents,
+				CustomExtension: "custom extension",
 			},
 		},
 		shouldFail:         true,
@@ -10446,7 +10347,7 @@
 		config: Config{
 			MaxVersion: VersionTLS13,
 			Bugs: ProtocolBugs{
-				CustomExtension: expectedContents,
+				CustomExtension: "custom extension",
 			},
 		},
 		shouldFail:         true,
@@ -10459,7 +10360,7 @@
 		config: Config{
 			MaxVersion: VersionTLS13,
 			Bugs: ProtocolBugs{
-				CustomUnencryptedExtension: expectedContents,
+				CustomUnencryptedExtension: "custom extension",
 			},
 		},
 		shouldFail:    true,
@@ -10567,11 +10468,6 @@
 func addCurveTests() {
 	for _, curve := range testCurves {
 		for _, ver := range tlsVersions {
-			// SSL 3.0 cannot reliably negotiate curves.
-			if ver.version == VersionSSL30 {
-				continue
-			}
-
 			suffix := curve.name + "-" + ver.name
 
 			testCases = append(testCases, testCase{
@@ -11286,6 +11182,44 @@
 		resumeSession:        true,
 		expectResumeRejected: true,
 	})
+
+	for _, ver := range tlsVersions {
+		// Prior to TLS 1.3, disabling session tickets enables session IDs.
+		useStatefulResumption := ver.version < VersionTLS13
+
+		// SSL_OP_NO_TICKET implies the server must not mint any tickets.
+		testCases = append(testCases, testCase{
+			testType: serverTest,
+			name:     ver.name + "-NoTicket-NoMint",
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				Bugs: ProtocolBugs{
+					ExpectNoNewSessionTicket: true,
+					RequireSessionIDs:        useStatefulResumption,
+				},
+			},
+			resumeSession: useStatefulResumption,
+			tls13Variant:  ver.tls13Variant,
+			flags:         []string{"-no-ticket"},
+		})
+
+		// SSL_OP_NO_TICKET implies the server must not accept any tickets.
+		testCases = append(testCases, testCase{
+			testType: serverTest,
+			name:     ver.name + "-NoTicket-NoAccept",
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+			},
+			tls13Variant:         ver.tls13Variant,
+			resumeSession:        true,
+			expectResumeRejected: true,
+			// Set SSL_OP_NO_TICKET on the second connection, after the first
+			// has established tickets.
+			flags: []string{"-on-resume-no-ticket"},
+		})
+	}
 }
 
 func addChangeCipherSpecTests() {
@@ -12735,6 +12669,39 @@
 			expectedError: ":WRONG_CURVE:",
 		})
 
+		// Test that the supported_versions extension is enforced in the
+		// second ServerHello. Note we only enforce this starting draft 28.
+		if isDraft28(version.versionWire) {
+			testCases = append(testCases, testCase{
+				name: "SecondServerHelloNoVersion-" + name,
+				config: Config{
+					MaxVersion: VersionTLS13,
+					// P-384 requires HelloRetryRequest in BoringSSL.
+					CurvePreferences: []CurveID{CurveP384},
+					Bugs: ProtocolBugs{
+						OmitServerSupportedVersionExtension: true,
+					},
+				},
+				tls13Variant:  variant,
+				shouldFail:    true,
+				expectedError: ":SECOND_SERVERHELLO_VERSION_MISMATCH:",
+			})
+			testCases = append(testCases, testCase{
+				name: "SecondServerHelloWrongVersion-" + name,
+				config: Config{
+					MaxVersion: VersionTLS13,
+					// P-384 requires HelloRetryRequest in BoringSSL.
+					CurvePreferences: []CurveID{CurveP384},
+					Bugs: ProtocolBugs{
+						SendServerSupportedVersionExtension: 0x1234,
+					},
+				},
+				tls13Variant:  variant,
+				shouldFail:    true,
+				expectedError: ":SECOND_SERVERHELLO_VERSION_MISMATCH:",
+			})
+		}
+
 		testCases = append(testCases, testCase{
 			name: "RequestContextInHandshake-" + name,
 			config: Config{
@@ -14179,6 +14146,252 @@
 	}
 }
 
+func addCertCompressionTests() {
+	// shrinkingPrefix is the first two bytes of a Certificate message.
+	shrinkingPrefix := []byte{0, 0}
+	// expandingPrefix is just some arbitrary byte string. This has to match the
+	// value in the shim.
+	expandingPrefix := []byte{1, 2, 3, 4}
+
+	shrinking := CertCompressionAlg{
+		Compress: func(uncompressed []byte) []byte {
+			if !bytes.HasPrefix(uncompressed, shrinkingPrefix) {
+				panic(fmt.Sprintf("cannot compress certificate message %x", uncompressed))
+			}
+			return uncompressed[len(shrinkingPrefix):]
+		},
+		Decompress: func(out []byte, compressed []byte) bool {
+			if len(out) != len(shrinkingPrefix)+len(compressed) {
+				return false
+			}
+
+			copy(out, shrinkingPrefix)
+			copy(out[len(shrinkingPrefix):], compressed)
+			return true
+		},
+	}
+
+	expanding := CertCompressionAlg{
+		Compress: func(uncompressed []byte) []byte {
+			ret := make([]byte, 0, len(expandingPrefix)+len(uncompressed))
+			ret = append(ret, expandingPrefix...)
+			return append(ret, uncompressed...)
+		},
+		Decompress: func(out []byte, compressed []byte) bool {
+			if !bytes.HasPrefix(compressed, expandingPrefix) {
+				return false
+			}
+			copy(out, compressed[len(expandingPrefix):])
+			return true
+		},
+	}
+
+	const (
+		shrinkingAlgId = 0xff01
+		expandingAlgId = 0xff02
+	)
+
+	for _, ver := range tlsVersions {
+		if ver.version < VersionTLS12 {
+			continue
+		}
+
+		// Duplicate compression algorithms is an error, even if nothing is
+		// configured.
+		testCases = append(testCases, testCase{
+			testType:     serverTest,
+			name:         "DuplicateCertCompressionExt-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				Bugs: ProtocolBugs{
+					DuplicateCompressedCertAlgs: true,
+				},
+			},
+			shouldFail:    true,
+			expectedError: ":ERROR_PARSING_EXTENSION:",
+		})
+
+		// With compression algorithms configured, an duplicate values should still
+		// be an error.
+		testCases = append(testCases, testCase{
+			testType:     serverTest,
+			name:         "DuplicateCertCompressionExt2-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				Bugs: ProtocolBugs{
+					DuplicateCompressedCertAlgs: true,
+				},
+			},
+			shouldFail:    true,
+			expectedError: ":ERROR_PARSING_EXTENSION:",
+		})
+
+		if ver.version < VersionTLS13 {
+			testCases = append(testCases, testCase{
+				testType: serverTest,
+				name:     "CertCompressionIgnoredBefore13-" + ver.name,
+				flags:    []string{"-install-cert-compression-algs"},
+				config: Config{
+					MinVersion:          ver.version,
+					MaxVersion:          ver.version,
+					CertCompressionAlgs: map[uint16]CertCompressionAlg{expandingAlgId: expanding},
+				},
+			})
+
+			continue
+		}
+
+		testCases = append(testCases, testCase{
+			testType:     serverTest,
+			name:         "CertCompressionExpands-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion:          ver.version,
+				MaxVersion:          ver.version,
+				CertCompressionAlgs: map[uint16]CertCompressionAlg{expandingAlgId: expanding},
+				Bugs: ProtocolBugs{
+					ExpectedCompressedCert: expandingAlgId,
+				},
+			},
+		})
+
+		testCases = append(testCases, testCase{
+			testType:     serverTest,
+			name:         "CertCompressionShrinks-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion:          ver.version,
+				MaxVersion:          ver.version,
+				CertCompressionAlgs: map[uint16]CertCompressionAlg{shrinkingAlgId: shrinking},
+				Bugs: ProtocolBugs{
+					ExpectedCompressedCert: shrinkingAlgId,
+				},
+			},
+		})
+
+		// With both algorithms configured, the server should pick its most
+		// preferable. (Which is expandingAlgId.)
+		testCases = append(testCases, testCase{
+			testType:     serverTest,
+			name:         "CertCompressionPriority-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				CertCompressionAlgs: map[uint16]CertCompressionAlg{
+					shrinkingAlgId: shrinking,
+					expandingAlgId: expanding,
+				},
+				Bugs: ProtocolBugs{
+					ExpectedCompressedCert: expandingAlgId,
+				},
+			},
+		})
+
+		testCases = append(testCases, testCase{
+			testType:     clientTest,
+			name:         "CertCompressionExpandsClient-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				CertCompressionAlgs: map[uint16]CertCompressionAlg{
+					expandingAlgId: expanding,
+				},
+				Bugs: ProtocolBugs{
+					ExpectedCompressedCert: expandingAlgId,
+				},
+			},
+		})
+
+		testCases = append(testCases, testCase{
+			testType:     clientTest,
+			name:         "CertCompressionShrinksClient-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				CertCompressionAlgs: map[uint16]CertCompressionAlg{
+					shrinkingAlgId: shrinking,
+				},
+				Bugs: ProtocolBugs{
+					ExpectedCompressedCert: shrinkingAlgId,
+				},
+			},
+		})
+
+		testCases = append(testCases, testCase{
+			testType:     clientTest,
+			name:         "CertCompressionBadAlgIdClient-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				CertCompressionAlgs: map[uint16]CertCompressionAlg{
+					shrinkingAlgId: shrinking,
+				},
+				Bugs: ProtocolBugs{
+					ExpectedCompressedCert:   shrinkingAlgId,
+					SendCertCompressionAlgId: 1234,
+				},
+			},
+			shouldFail:    true,
+			expectedError: ":UNKNOWN_CERT_COMPRESSION_ALG:",
+		})
+
+		testCases = append(testCases, testCase{
+			testType:     clientTest,
+			name:         "CertCompressionTooSmallClient-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				CertCompressionAlgs: map[uint16]CertCompressionAlg{
+					shrinkingAlgId: shrinking,
+				},
+				Bugs: ProtocolBugs{
+					ExpectedCompressedCert:     shrinkingAlgId,
+					SendCertUncompressedLength: 12,
+				},
+			},
+			shouldFail:    true,
+			expectedError: ":CERT_DECOMPRESSION_FAILED:",
+		})
+
+		testCases = append(testCases, testCase{
+			testType:     clientTest,
+			name:         "CertCompressionTooLargeClient-" + ver.name,
+			tls13Variant: ver.tls13Variant,
+			flags:        []string{"-install-cert-compression-algs"},
+			config: Config{
+				MinVersion: ver.version,
+				MaxVersion: ver.version,
+				CertCompressionAlgs: map[uint16]CertCompressionAlg{
+					shrinkingAlgId: shrinking,
+				},
+				Bugs: ProtocolBugs{
+					ExpectedCompressedCert:     shrinkingAlgId,
+					SendCertUncompressedLength: 1 << 20,
+				},
+			},
+			shouldFail:    true,
+			expectedError: ":UNCOMPRESSED_CERT_TOO_LARGE:",
+		})
+	}
+}
+
 func worker(statusChan chan statusMsg, c chan *testCase, shimPath string, wg *sync.WaitGroup) {
 	defer wg.Done()
 
@@ -14307,6 +14520,7 @@
 	addECDSAKeyUsageTests()
 	addExtraHandshakeTests()
 	addOmitExtensionsTests()
+	addCertCompressionTests()
 
 	testCases = append(testCases, convertToSplitHandshakeTests(testCases)...)
 
diff --git a/src/ssl/test/settings_writer.cc b/src/ssl/test/settings_writer.cc
new file mode 100644
index 0000000..66025f6
--- /dev/null
+++ b/src/ssl/test/settings_writer.cc
@@ -0,0 +1,121 @@
+/* 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 "settings_writer.h"
+
+#include <stdio.h>
+
+#include <openssl/ssl.h>
+
+#include "fuzzer_tags.h"
+#include "test_config.h"
+
+
+SettingsWriter::SettingsWriter() {}
+
+bool SettingsWriter::Init(int i, const TestConfig *config,
+                          SSL_SESSION *session) {
+  if (config->write_settings.empty()) {
+    return true;
+  }
+  // Treat write_settings as a path prefix for each connection in the run.
+  char buf[DECIMAL_SIZE(int)];
+  snprintf(buf, sizeof(buf), "%d", i);
+  path_ = config->write_settings + buf;
+
+  if (!CBB_init(cbb_.get(), 64)) {
+    return false;
+  }
+
+  if (session != nullptr) {
+    uint8_t *data;
+    size_t len;
+    if (!SSL_SESSION_to_bytes(session, &data, &len)) {
+      return false;
+    }
+    bssl::UniquePtr<uint8_t> free_data(data);
+    CBB child;
+    if (!CBB_add_u16(cbb_.get(), kSessionTag) ||
+        !CBB_add_u24_length_prefixed(cbb_.get(), &child) ||
+        !CBB_add_bytes(&child, data, len) || !CBB_flush(cbb_.get())) {
+      return false;
+    }
+  }
+
+  if (config->is_server &&
+      (config->require_any_client_certificate || config->verify_peer) &&
+      !CBB_add_u16(cbb_.get(), kRequestClientCert)) {
+    return false;
+  }
+
+  if (config->tls13_variant != 0 &&
+      (!CBB_add_u16(cbb_.get(), kTLS13Variant) ||
+       !CBB_add_u8(cbb_.get(), static_cast<uint8_t>(config->tls13_variant)))) {
+    return false;
+  }
+
+  return true;
+}
+
+bool SettingsWriter::Commit() {
+  if (path_.empty()) {
+    return true;
+  }
+
+  uint8_t *settings;
+  size_t settings_len;
+  if (!CBB_add_u16(cbb_.get(), kDataTag) ||
+      !CBB_finish(cbb_.get(), &settings, &settings_len)) {
+    return false;
+  }
+  bssl::UniquePtr<uint8_t> free_settings(settings);
+
+  using ScopedFILE = std::unique_ptr<FILE, decltype(&fclose)>;
+  ScopedFILE file(fopen(path_.c_str(), "w"), fclose);
+  if (!file) {
+    return false;
+  }
+
+  return fwrite(settings, settings_len, 1, file.get()) == 1;
+}
+
+bool SettingsWriter::WriteHandoff(bssl::Span<const uint8_t> handoff) {
+  if (path_.empty()) {
+    return true;
+  }
+
+  CBB child;
+  if (!CBB_add_u16(cbb_.get(), kHandoffTag) ||
+      !CBB_add_u24_length_prefixed(cbb_.get(), &child) ||
+      !CBB_add_bytes(&child, handoff.data(), handoff.size()) ||
+      !CBB_flush(cbb_.get())) {
+    return false;
+  }
+  return true;
+}
+
+bool SettingsWriter::WriteHandback(bssl::Span<const uint8_t> handback) {
+  if (path_.empty()) {
+    return true;
+  }
+
+  CBB child;
+  if (!CBB_add_u16(cbb_.get(), kHandbackTag) ||
+      !CBB_add_u24_length_prefixed(cbb_.get(), &child) ||
+      !CBB_add_bytes(&child, handback.data(), handback.size()) ||
+      !CBB_flush(cbb_.get())) {
+    return false;
+  }
+  return true;
+}
diff --git a/src/ssl/test/settings_writer.h b/src/ssl/test/settings_writer.h
new file mode 100644
index 0000000..322850d
--- /dev/null
+++ b/src/ssl/test/settings_writer.h
@@ -0,0 +1,46 @@
+/* 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 HEADER_SETTINGS_WRITER
+#define HEADER_SETTINGS_WRITER
+
+#include <string>
+
+#include <openssl/bytestring.h>
+#include <openssl/ssl.h>
+
+#include "../internal.h"
+#include "test_config.h"
+
+struct SettingsWriter {
+ public:
+  SettingsWriter();
+
+  // Init initializes the writer for a new connection, given by |i|.  Each
+  // connection gets a unique output file.
+  bool Init(int i, const TestConfig *config, SSL_SESSION *session);
+
+  // Commit writes the buffered data to disk.
+  bool Commit();
+
+  bool WriteHandoff(bssl::Span<const uint8_t> handoff);
+
+  bool WriteHandback(bssl::Span<const uint8_t> handback);
+
+ private:
+  std::string path_;
+  bssl::ScopedCBB cbb_;
+};
+
+#endif  // HEADER_SETTINGS_WRITER
diff --git a/src/ssl/test/test_config.cc b/src/ssl/test/test_config.cc
index f74267d..d92cf72 100644
--- a/src/ssl/test/test_config.cc
+++ b/src/ssl/test/test_config.cc
@@ -14,6 +14,7 @@
 
 #include "test_config.h"
 
+#include <assert.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -21,6 +22,12 @@
 #include <memory>
 
 #include <openssl/base64.h>
+#include <openssl/rand.h>
+#include <openssl/ssl.h>
+
+#include "../../crypto/internal.h"
+#include "../internal.h"
+#include "test_state.h"
 
 namespace {
 
@@ -59,11 +66,12 @@
   { "-no-tls12", &TestConfig::no_tls12 },
   { "-no-tls11", &TestConfig::no_tls11 },
   { "-no-tls1", &TestConfig::no_tls1 },
-  { "-no-ssl3", &TestConfig::no_ssl3 },
+  { "-no-ticket", &TestConfig::no_ticket },
   { "-enable-channel-id", &TestConfig::enable_channel_id },
   { "-shim-writes-first", &TestConfig::shim_writes_first },
   { "-expect-session-miss", &TestConfig::expect_session_miss },
   { "-decline-alpn", &TestConfig::decline_alpn },
+  { "-select-empty-alpn", &TestConfig::select_empty_alpn },
   { "-expect-extended-master-secret",
     &TestConfig::expect_extended_master_secret },
   { "-enable-ocsp-stapling", &TestConfig::enable_ocsp_stapling },
@@ -74,7 +82,6 @@
   { "-fail-early-callback", &TestConfig::fail_early_callback },
   { "-install-ddos-callback", &TestConfig::install_ddos_callback },
   { "-fail-ddos-callback", &TestConfig::fail_ddos_callback },
-  { "-fail-second-ddos-callback", &TestConfig::fail_second_ddos_callback },
   { "-fail-cert-callback", &TestConfig::fail_cert_callback },
   { "-handshake-never-done", &TestConfig::handshake_never_done },
   { "-use-export-context", &TestConfig::use_export_context },
@@ -86,12 +93,6 @@
   { "-use-ticket-callback", &TestConfig::use_ticket_callback },
   { "-renew-ticket", &TestConfig::renew_ticket },
   { "-enable-early-data", &TestConfig::enable_early_data },
-  { "-enable-client-custom-extension",
-    &TestConfig::enable_client_custom_extension },
-  { "-enable-server-custom-extension",
-    &TestConfig::enable_server_custom_extension },
-  { "-custom-extension-skip", &TestConfig::custom_extension_skip },
-  { "-custom-extension-fail-add", &TestConfig::custom_extension_fail_add },
   { "-check-close-notify", &TestConfig::check_close_notify },
   { "-shim-shuts-down", &TestConfig::shim_shuts_down },
   { "-verify-fail", &TestConfig::verify_fail },
@@ -101,6 +102,8 @@
   { "-renegotiate-once", &TestConfig::renegotiate_once },
   { "-renegotiate-freely", &TestConfig::renegotiate_freely },
   { "-renegotiate-ignore", &TestConfig::renegotiate_ignore },
+  { "-forbid-renegotiation-after-handshake",
+    &TestConfig::forbid_renegotiation_after_handshake },
   { "-p384-only", &TestConfig::p384_only },
   { "-enable-all-curves", &TestConfig::enable_all_curves },
   { "-use-old-client-cert-callback",
@@ -134,6 +137,14 @@
   { "-handoff", &TestConfig::handoff },
   { "-expect-dummy-pq-padding", &TestConfig::expect_dummy_pq_padding },
   { "-no-rsa-pss-rsae-certs", &TestConfig::no_rsa_pss_rsae_certs },
+  { "-use-ocsp-callback", &TestConfig::use_ocsp_callback },
+  { "-set-ocsp-in-callback", &TestConfig::set_ocsp_in_callback },
+  { "-decline-ocsp-callback", &TestConfig::decline_ocsp_callback },
+  { "-fail-ocsp-callback", &TestConfig::fail_ocsp_callback },
+  { "-install-cert-compression-algs",
+    &TestConfig::install_cert_compression_algs },
+  { "-is-handshaker-supported", &TestConfig::is_handshaker_supported },
+  { "-handshaker-resume", &TestConfig::handshaker_resume },
 };
 
 const Flag<std::string> kStringFlags[] = {
@@ -161,6 +172,7 @@
   { "-use-client-ca-list", &TestConfig::use_client_ca_list },
   { "-expect-client-ca-list", &TestConfig::expected_client_ca_list },
   { "-expect-msg-callback", &TestConfig::expect_msg_callback },
+  { "-handshaker-path", &TestConfig::handshaker_path },
 };
 
 const Flag<std::string> kBase64Flags[] = {
@@ -209,6 +221,8 @@
 const Flag<std::vector<int>> kIntVectorFlags[] = {
   { "-signing-prefs", &TestConfig::signing_prefs },
   { "-verify-prefs", &TestConfig::verify_prefs },
+  { "-expect-peer-verify-pref",
+    &TestConfig::expected_peer_verify_prefs },
 };
 
 bool ParseFlag(char *flag, int argc, char **argv, int *i,
@@ -303,6 +317,8 @@
                  TestConfig *out_initial,
                  TestConfig *out_resume,
                  TestConfig *out_retry) {
+  out_initial->argc = out_resume->argc = out_retry->argc = argc;
+  out_initial->argv = out_resume->argv = out_retry->argv = argv;
   for (int i = 0; i < argc; i++) {
     bool skip = false;
     char *flag = argv[i];
@@ -332,3 +348,1297 @@
 
   return true;
 }
+
+static CRYPTO_once_t once = CRYPTO_ONCE_INIT;
+static int g_config_index = 0;
+static CRYPTO_BUFFER_POOL *g_pool = nullptr;
+
+static void init_once() {
+  g_config_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, NULL);
+  if (g_config_index < 0) {
+    abort();
+  }
+  g_pool = CRYPTO_BUFFER_POOL_new();
+  if (!g_pool) {
+    abort();
+  }
+}
+
+bool SetTestConfig(SSL *ssl, const TestConfig *config) {
+  CRYPTO_once(&once, init_once);
+  return SSL_set_ex_data(ssl, g_config_index, (void *)config) == 1;
+}
+
+const TestConfig *GetTestConfig(const SSL *ssl) {
+  CRYPTO_once(&once, init_once);
+  return (const TestConfig *)SSL_get_ex_data(ssl, g_config_index);
+}
+
+static int LegacyOCSPCallback(SSL *ssl, void *arg) {
+  const TestConfig *config = GetTestConfig(ssl);
+  if (!SSL_is_server(ssl)) {
+    return !config->fail_ocsp_callback;
+  }
+
+  if (!config->ocsp_response.empty() && config->set_ocsp_in_callback &&
+      !SSL_set_ocsp_response(ssl, (const uint8_t *)config->ocsp_response.data(),
+                             config->ocsp_response.size())) {
+    return SSL_TLSEXT_ERR_ALERT_FATAL;
+  }
+  if (config->fail_ocsp_callback) {
+    return SSL_TLSEXT_ERR_ALERT_FATAL;
+  }
+  if (config->decline_ocsp_callback) {
+    return SSL_TLSEXT_ERR_NOACK;
+  }
+  return SSL_TLSEXT_ERR_OK;
+}
+
+static int ServerNameCallback(SSL *ssl, int *out_alert, void *arg) {
+  // SNI must be accessible from the SNI callback.
+  const TestConfig *config = GetTestConfig(ssl);
+  const char *server_name = SSL_get_servername(ssl, TLSEXT_NAMETYPE_host_name);
+  if (server_name == nullptr ||
+      std::string(server_name) != config->expected_server_name) {
+    fprintf(stderr, "servername mismatch (got %s; want %s)\n", server_name,
+            config->expected_server_name.c_str());
+    return SSL_TLSEXT_ERR_ALERT_FATAL;
+  }
+
+  return SSL_TLSEXT_ERR_OK;
+}
+
+static int NextProtoSelectCallback(SSL *ssl, uint8_t **out, uint8_t *outlen,
+                                   const uint8_t *in, unsigned inlen,
+                                   void *arg) {
+  const TestConfig *config = GetTestConfig(ssl);
+  if (config->select_next_proto.empty()) {
+    return SSL_TLSEXT_ERR_NOACK;
+  }
+
+  *out = (uint8_t *)config->select_next_proto.data();
+  *outlen = config->select_next_proto.size();
+  return SSL_TLSEXT_ERR_OK;
+}
+
+static int NextProtosAdvertisedCallback(SSL *ssl, const uint8_t **out,
+                                        unsigned int *out_len, void *arg) {
+  const TestConfig *config = GetTestConfig(ssl);
+  if (config->advertise_npn.empty()) {
+    return SSL_TLSEXT_ERR_NOACK;
+  }
+
+  *out = (const uint8_t *)config->advertise_npn.data();
+  *out_len = config->advertise_npn.size();
+  return SSL_TLSEXT_ERR_OK;
+}
+
+static void MessageCallback(int is_write, int version, int content_type,
+                            const void *buf, size_t len, SSL *ssl, void *arg) {
+  const uint8_t *buf_u8 = reinterpret_cast<const uint8_t *>(buf);
+  const TestConfig *config = GetTestConfig(ssl);
+  TestState *state = GetTestState(ssl);
+  if (!state->msg_callback_ok) {
+    return;
+  }
+
+  if (content_type == SSL3_RT_HEADER) {
+    if (len !=
+        (config->is_dtls ? DTLS1_RT_HEADER_LENGTH : SSL3_RT_HEADER_LENGTH)) {
+      fprintf(stderr, "Incorrect length for record header: %zu\n", len);
+      state->msg_callback_ok = false;
+    }
+    return;
+  }
+
+  state->msg_callback_text += is_write ? "write " : "read ";
+  switch (content_type) {
+    case 0:
+      if (version != SSL2_VERSION) {
+        fprintf(stderr, "Incorrect version for V2ClientHello: %x\n", version);
+        state->msg_callback_ok = false;
+        return;
+      }
+      state->msg_callback_text += "v2clienthello\n";
+      return;
+
+    case SSL3_RT_HANDSHAKE: {
+      CBS cbs;
+      CBS_init(&cbs, buf_u8, len);
+      uint8_t type;
+      uint32_t msg_len;
+      if (!CBS_get_u8(&cbs, &type) ||
+          // TODO(davidben): Reporting on entire messages would be more
+          // consistent than fragments.
+          (config->is_dtls &&
+           !CBS_skip(&cbs, 3 /* total */ + 2 /* seq */ + 3 /* frag_off */)) ||
+          !CBS_get_u24(&cbs, &msg_len) || !CBS_skip(&cbs, msg_len) ||
+          CBS_len(&cbs) != 0) {
+        fprintf(stderr, "Could not parse handshake message.\n");
+        state->msg_callback_ok = false;
+        return;
+      }
+      char text[16];
+      snprintf(text, sizeof(text), "hs %d\n", type);
+      state->msg_callback_text += text;
+      return;
+    }
+
+    case SSL3_RT_CHANGE_CIPHER_SPEC:
+      if (len != 1 || buf_u8[0] != 1) {
+        fprintf(stderr, "Invalid ChangeCipherSpec.\n");
+        state->msg_callback_ok = false;
+        return;
+      }
+      state->msg_callback_text += "ccs\n";
+      return;
+
+    case SSL3_RT_ALERT:
+      if (len != 2) {
+        fprintf(stderr, "Invalid alert.\n");
+        state->msg_callback_ok = false;
+        return;
+      }
+      char text[16];
+      snprintf(text, sizeof(text), "alert %d %d\n", buf_u8[0], buf_u8[1]);
+      state->msg_callback_text += text;
+      return;
+
+    default:
+      fprintf(stderr, "Invalid content_type: %d\n", content_type);
+      state->msg_callback_ok = false;
+  }
+}
+
+static int TicketKeyCallback(SSL *ssl, uint8_t *key_name, uint8_t *iv,
+                             EVP_CIPHER_CTX *ctx, HMAC_CTX *hmac_ctx,
+                             int encrypt) {
+  if (!encrypt) {
+    if (GetTestState(ssl)->ticket_decrypt_done) {
+      fprintf(stderr, "TicketKeyCallback called after completion.\n");
+      return -1;
+    }
+
+    GetTestState(ssl)->ticket_decrypt_done = true;
+  }
+
+  // This is just test code, so use the all-zeros key.
+  static const uint8_t kZeros[16] = {0};
+
+  if (encrypt) {
+    OPENSSL_memcpy(key_name, kZeros, sizeof(kZeros));
+    RAND_bytes(iv, 16);
+  } else if (OPENSSL_memcmp(key_name, kZeros, 16) != 0) {
+    return 0;
+  }
+
+  if (!HMAC_Init_ex(hmac_ctx, kZeros, sizeof(kZeros), EVP_sha256(), NULL) ||
+      !EVP_CipherInit_ex(ctx, EVP_aes_128_cbc(), NULL, kZeros, iv, encrypt)) {
+    return -1;
+  }
+
+  if (!encrypt) {
+    return GetTestConfig(ssl)->renew_ticket ? 2 : 1;
+  }
+  return 1;
+}
+
+static int NewSessionCallback(SSL *ssl, SSL_SESSION *session) {
+  // This callback is called as the handshake completes. |SSL_get_session|
+  // must continue to work and, historically, |SSL_in_init| returned false at
+  // this point.
+  if (SSL_in_init(ssl) || SSL_get_session(ssl) == nullptr) {
+    fprintf(stderr, "Invalid state for NewSessionCallback.\n");
+    abort();
+  }
+
+  GetTestState(ssl)->got_new_session = true;
+  GetTestState(ssl)->new_session.reset(session);
+  return 1;
+}
+
+static void InfoCallback(const SSL *ssl, int type, int val) {
+  if (type == SSL_CB_HANDSHAKE_DONE) {
+    if (GetTestConfig(ssl)->handshake_never_done) {
+      fprintf(stderr, "Handshake unexpectedly completed.\n");
+      // Abort before any expected error code is printed, to ensure the overall
+      // test fails.
+      abort();
+    }
+    // This callback is called when the handshake completes. |SSL_get_session|
+    // must continue to work and |SSL_in_init| must return false.
+    if (SSL_in_init(ssl) || SSL_get_session(ssl) == nullptr) {
+      fprintf(stderr, "Invalid state for SSL_CB_HANDSHAKE_DONE.\n");
+      abort();
+    }
+    GetTestState(ssl)->handshake_done = true;
+
+    // Callbacks may be called again on a new handshake.
+    GetTestState(ssl)->ticket_decrypt_done = false;
+    GetTestState(ssl)->alpn_select_done = false;
+  }
+}
+
+static void ChannelIdCallback(SSL *ssl, EVP_PKEY **out_pkey) {
+  *out_pkey = GetTestState(ssl)->channel_id.release();
+}
+
+static SSL_SESSION *GetSessionCallback(SSL *ssl, const uint8_t *data, int len,
+                                       int *copy) {
+  TestState *async_state = GetTestState(ssl);
+  if (async_state->session) {
+    *copy = 0;
+    return async_state->session.release();
+  } else if (async_state->pending_session) {
+    return SSL_magic_pending_session_ptr();
+  } else {
+    return NULL;
+  }
+}
+
+static void CurrentTimeCallback(const SSL *ssl, timeval *out_clock) {
+  *out_clock = *GetClock();
+}
+
+static int AlpnSelectCallback(SSL *ssl, const uint8_t **out, uint8_t *outlen,
+                              const uint8_t *in, unsigned inlen, void *arg) {
+  if (GetTestState(ssl)->alpn_select_done) {
+    fprintf(stderr, "AlpnSelectCallback called after completion.\n");
+    exit(1);
+  }
+
+  GetTestState(ssl)->alpn_select_done = true;
+
+  const TestConfig *config = GetTestConfig(ssl);
+  if (config->decline_alpn) {
+    return SSL_TLSEXT_ERR_NOACK;
+  }
+
+  if (!config->expected_advertised_alpn.empty() &&
+      (config->expected_advertised_alpn.size() != inlen ||
+       OPENSSL_memcmp(config->expected_advertised_alpn.data(), in, inlen) !=
+           0)) {
+    fprintf(stderr, "bad ALPN select callback inputs\n");
+    exit(1);
+  }
+
+  assert(config->select_alpn.empty() || !config->select_empty_alpn);
+  *out = (const uint8_t *)config->select_alpn.data();
+  *outlen = config->select_alpn.size();
+  return SSL_TLSEXT_ERR_OK;
+}
+
+static bool CheckVerifyCallback(SSL *ssl) {
+  const TestConfig *config = GetTestConfig(ssl);
+  if (!config->expected_ocsp_response.empty()) {
+    const uint8_t *data;
+    size_t len;
+    SSL_get0_ocsp_response(ssl, &data, &len);
+    if (len == 0) {
+      fprintf(stderr, "OCSP response not available in verify callback\n");
+      return false;
+    }
+  }
+
+  if (GetTestState(ssl)->cert_verified) {
+    fprintf(stderr, "Certificate verified twice.\n");
+    return false;
+  }
+
+  return true;
+}
+
+static int CertVerifyCallback(X509_STORE_CTX *store_ctx, void *arg) {
+  SSL *ssl = (SSL *)X509_STORE_CTX_get_ex_data(
+      store_ctx, SSL_get_ex_data_X509_STORE_CTX_idx());
+  const TestConfig *config = GetTestConfig(ssl);
+  if (!CheckVerifyCallback(ssl)) {
+    return 0;
+  }
+
+  GetTestState(ssl)->cert_verified = true;
+  if (config->verify_fail) {
+    store_ctx->error = X509_V_ERR_APPLICATION_VERIFICATION;
+    return 0;
+  }
+
+  return 1;
+}
+
+bool LoadCertificate(bssl::UniquePtr<X509> *out_x509,
+                     bssl::UniquePtr<STACK_OF(X509)> *out_chain,
+                     const std::string &file) {
+  bssl::UniquePtr<BIO> bio(BIO_new(BIO_s_file()));
+  if (!bio || !BIO_read_filename(bio.get(), file.c_str())) {
+    return false;
+  }
+
+  out_x509->reset(PEM_read_bio_X509(bio.get(), nullptr, nullptr, nullptr));
+  if (!*out_x509) {
+    return false;
+  }
+
+  out_chain->reset(sk_X509_new_null());
+  if (!*out_chain) {
+    return false;
+  }
+
+  // Keep reading the certificate chain.
+  for (;;) {
+    bssl::UniquePtr<X509> cert(
+        PEM_read_bio_X509(bio.get(), nullptr, nullptr, nullptr));
+    if (!cert) {
+      break;
+    }
+
+    if (!bssl::PushToStack(out_chain->get(), std::move(cert))) {
+      return false;
+    }
+  }
+
+  uint32_t err = ERR_peek_last_error();
+  if (ERR_GET_LIB(err) != ERR_LIB_PEM ||
+      ERR_GET_REASON(err) != PEM_R_NO_START_LINE) {
+    return false;
+  }
+
+  ERR_clear_error();
+  return true;
+}
+
+bssl::UniquePtr<EVP_PKEY> LoadPrivateKey(const std::string &file) {
+  bssl::UniquePtr<BIO> bio(BIO_new(BIO_s_file()));
+  if (!bio || !BIO_read_filename(bio.get(), file.c_str())) {
+    return nullptr;
+  }
+  return bssl::UniquePtr<EVP_PKEY>(
+      PEM_read_bio_PrivateKey(bio.get(), NULL, NULL, NULL));
+}
+
+static bool GetCertificate(SSL *ssl, bssl::UniquePtr<X509> *out_x509,
+                           bssl::UniquePtr<STACK_OF(X509)> *out_chain,
+                           bssl::UniquePtr<EVP_PKEY> *out_pkey) {
+  const TestConfig *config = GetTestConfig(ssl);
+
+  if (!config->signing_prefs.empty()) {
+    std::vector<uint16_t> u16s(config->signing_prefs.begin(),
+                               config->signing_prefs.end());
+    if (!SSL_set_signing_algorithm_prefs(ssl, u16s.data(), u16s.size())) {
+      return false;
+    }
+  }
+
+  if (!config->key_file.empty()) {
+    *out_pkey = LoadPrivateKey(config->key_file.c_str());
+    if (!*out_pkey) {
+      return false;
+    }
+  }
+  if (!config->cert_file.empty() &&
+      !LoadCertificate(out_x509, out_chain, config->cert_file.c_str())) {
+    return false;
+  }
+  if (!config->ocsp_response.empty() && !config->set_ocsp_in_callback &&
+      !SSL_set_ocsp_response(ssl, (const uint8_t *)config->ocsp_response.data(),
+                             config->ocsp_response.size())) {
+    return false;
+  }
+  return true;
+}
+
+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;
+}
+
+static bool HexDecode(std::string *out, const std::string &in) {
+  if ((in.size() & 1) != 0) {
+    return false;
+  }
+
+  std::unique_ptr<uint8_t[]> buf(new uint8_t[in.size() / 2]);
+  for (size_t i = 0; i < in.size() / 2; i++) {
+    uint8_t high, low;
+    if (!FromHexDigit(&high, in[i * 2]) || !FromHexDigit(&low, in[i * 2 + 1])) {
+      return false;
+    }
+    buf[i] = (high << 4) | low;
+  }
+
+  out->assign(reinterpret_cast<const char *>(buf.get()), in.size() / 2);
+  return true;
+}
+
+static std::vector<std::string> SplitParts(const std::string &in,
+                                           const char delim) {
+  std::vector<std::string> ret;
+  size_t start = 0;
+
+  for (size_t i = 0; i < in.size(); i++) {
+    if (in[i] == delim) {
+      ret.push_back(in.substr(start, i - start));
+      start = i + 1;
+    }
+  }
+
+  ret.push_back(in.substr(start, std::string::npos));
+  return ret;
+}
+
+static std::vector<std::string> DecodeHexStrings(
+    const std::string &hex_strings) {
+  std::vector<std::string> ret;
+  const std::vector<std::string> parts = SplitParts(hex_strings, ',');
+
+  for (const auto &part : parts) {
+    std::string binary;
+    if (!HexDecode(&binary, part)) {
+      fprintf(stderr, "Bad hex string: %s\n", part.c_str());
+      return ret;
+    }
+
+    ret.push_back(binary);
+  }
+
+  return ret;
+}
+
+static bssl::UniquePtr<STACK_OF(X509_NAME)> DecodeHexX509Names(
+    const std::string &hex_names) {
+  const std::vector<std::string> der_names = DecodeHexStrings(hex_names);
+  bssl::UniquePtr<STACK_OF(X509_NAME)> ret(sk_X509_NAME_new_null());
+  if (!ret) {
+    return nullptr;
+  }
+
+  for (const auto &der_name : der_names) {
+    const uint8_t *const data =
+        reinterpret_cast<const uint8_t *>(der_name.data());
+    const uint8_t *derp = data;
+    bssl::UniquePtr<X509_NAME> name(
+        d2i_X509_NAME(nullptr, &derp, der_name.size()));
+    if (!name || derp != data + der_name.size()) {
+      fprintf(stderr, "Failed to parse X509_NAME.\n");
+      return nullptr;
+    }
+
+    if (!bssl::PushToStack(ret.get(), std::move(name))) {
+      return nullptr;
+    }
+  }
+
+  return ret;
+}
+
+static bool CheckPeerVerifyPrefs(SSL *ssl) {
+  const TestConfig *config = GetTestConfig(ssl);
+  if (!config->expected_peer_verify_prefs.empty()) {
+    const uint16_t *peer_sigalgs;
+    size_t num_peer_sigalgs =
+        SSL_get0_peer_verify_algorithms(ssl, &peer_sigalgs);
+    if (config->expected_peer_verify_prefs.size() != num_peer_sigalgs) {
+      fprintf(stderr,
+              "peer verify preferences length mismatch (got %zu, wanted %zu)\n",
+              num_peer_sigalgs, config->expected_peer_verify_prefs.size());
+      return false;
+    }
+    for (size_t i = 0; i < num_peer_sigalgs; i++) {
+      if (static_cast<int>(peer_sigalgs[i]) !=
+          config->expected_peer_verify_prefs[i]) {
+        fprintf(stderr,
+                "peer verify preference %zu mismatch (got %04x, wanted %04x\n",
+                i, peer_sigalgs[i], config->expected_peer_verify_prefs[i]);
+        return false;
+      }
+    }
+  }
+  return true;
+}
+
+static bool CheckCertificateRequest(SSL *ssl) {
+  const TestConfig *config = GetTestConfig(ssl);
+
+  if (!CheckPeerVerifyPrefs(ssl)) {
+    return false;
+  }
+
+  if (!config->expected_certificate_types.empty()) {
+    const uint8_t *certificate_types;
+    size_t certificate_types_len =
+        SSL_get0_certificate_types(ssl, &certificate_types);
+    if (certificate_types_len != config->expected_certificate_types.size() ||
+        OPENSSL_memcmp(certificate_types,
+                       config->expected_certificate_types.data(),
+                       certificate_types_len) != 0) {
+      fprintf(stderr, "certificate types mismatch\n");
+      return false;
+    }
+  }
+
+  if (!config->expected_client_ca_list.empty()) {
+    bssl::UniquePtr<STACK_OF(X509_NAME)> expected =
+        DecodeHexX509Names(config->expected_client_ca_list);
+    const size_t num_expected = sk_X509_NAME_num(expected.get());
+
+    const STACK_OF(X509_NAME) *received = SSL_get_client_CA_list(ssl);
+    const size_t num_received = sk_X509_NAME_num(received);
+
+    if (num_received != num_expected) {
+      fprintf(stderr, "expected %u names in CertificateRequest but got %u\n",
+              static_cast<unsigned>(num_expected),
+              static_cast<unsigned>(num_received));
+      return false;
+    }
+
+    for (size_t i = 0; i < num_received; i++) {
+      if (X509_NAME_cmp(sk_X509_NAME_value(received, i),
+                        sk_X509_NAME_value(expected.get(), i)) != 0) {
+        fprintf(stderr, "names in CertificateRequest differ at index #%d\n",
+                static_cast<unsigned>(i));
+        return false;
+      }
+    }
+
+    const STACK_OF(CRYPTO_BUFFER) *buffers = SSL_get0_server_requested_CAs(ssl);
+    if (sk_CRYPTO_BUFFER_num(buffers) != num_received) {
+      fprintf(stderr,
+              "Mismatch between SSL_get_server_requested_CAs and "
+              "SSL_get_client_CA_list.\n");
+      return false;
+    }
+  }
+
+  return true;
+}
+
+static int ClientCertCallback(SSL *ssl, X509 **out_x509, EVP_PKEY **out_pkey) {
+  if (!CheckCertificateRequest(ssl)) {
+    return -1;
+  }
+
+  if (GetTestConfig(ssl)->async && !GetTestState(ssl)->cert_ready) {
+    return -1;
+  }
+
+  bssl::UniquePtr<X509> x509;
+  bssl::UniquePtr<STACK_OF(X509)> chain;
+  bssl::UniquePtr<EVP_PKEY> pkey;
+  if (!GetCertificate(ssl, &x509, &chain, &pkey)) {
+    return -1;
+  }
+
+  // Return zero for no certificate.
+  if (!x509) {
+    return 0;
+  }
+
+  // Chains and asynchronous private keys are not supported with client_cert_cb.
+  *out_x509 = x509.release();
+  *out_pkey = pkey.release();
+  return 1;
+}
+
+static ssl_private_key_result_t AsyncPrivateKeySign(
+    SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out,
+    uint16_t signature_algorithm, const uint8_t *in, size_t in_len) {
+  TestState *test_state = GetTestState(ssl);
+  if (!test_state->private_key_result.empty()) {
+    fprintf(stderr, "AsyncPrivateKeySign called with operation pending.\n");
+    abort();
+  }
+
+  if (EVP_PKEY_id(test_state->private_key.get()) !=
+      SSL_get_signature_algorithm_key_type(signature_algorithm)) {
+    fprintf(stderr, "Key type does not match signature algorithm.\n");
+    abort();
+  }
+
+  // Determine the hash.
+  const EVP_MD *md = SSL_get_signature_algorithm_digest(signature_algorithm);
+  bssl::ScopedEVP_MD_CTX ctx;
+  EVP_PKEY_CTX *pctx;
+  if (!EVP_DigestSignInit(ctx.get(), &pctx, md, nullptr,
+                          test_state->private_key.get())) {
+    return ssl_private_key_failure;
+  }
+
+  // Configure additional signature parameters.
+  if (SSL_is_signature_algorithm_rsa_pss(signature_algorithm)) {
+    if (!EVP_PKEY_CTX_set_rsa_padding(pctx, RSA_PKCS1_PSS_PADDING) ||
+        !EVP_PKEY_CTX_set_rsa_pss_saltlen(pctx, -1 /* salt len = hash len */)) {
+      return ssl_private_key_failure;
+    }
+  }
+
+  // Write the signature into |test_state|.
+  size_t len = 0;
+  if (!EVP_DigestSign(ctx.get(), nullptr, &len, in, in_len)) {
+    return ssl_private_key_failure;
+  }
+  test_state->private_key_result.resize(len);
+  if (!EVP_DigestSign(ctx.get(), test_state->private_key_result.data(), &len,
+                      in, in_len)) {
+    return ssl_private_key_failure;
+  }
+  test_state->private_key_result.resize(len);
+
+  // The signature will be released asynchronously in |AsyncPrivateKeyComplete|.
+  return ssl_private_key_retry;
+}
+
+static ssl_private_key_result_t AsyncPrivateKeyDecrypt(SSL *ssl, uint8_t *out,
+                                                       size_t *out_len,
+                                                       size_t max_out,
+                                                       const uint8_t *in,
+                                                       size_t in_len) {
+  TestState *test_state = GetTestState(ssl);
+  if (!test_state->private_key_result.empty()) {
+    fprintf(stderr, "AsyncPrivateKeyDecrypt called with operation pending.\n");
+    abort();
+  }
+
+  RSA *rsa = EVP_PKEY_get0_RSA(test_state->private_key.get());
+  if (rsa == NULL) {
+    fprintf(stderr, "AsyncPrivateKeyDecrypt called with incorrect key type.\n");
+    abort();
+  }
+  test_state->private_key_result.resize(RSA_size(rsa));
+  if (!RSA_decrypt(rsa, out_len, test_state->private_key_result.data(),
+                   RSA_size(rsa), in, in_len, RSA_NO_PADDING)) {
+    return ssl_private_key_failure;
+  }
+
+  test_state->private_key_result.resize(*out_len);
+
+  // The decryption will be released asynchronously in |AsyncPrivateComplete|.
+  return ssl_private_key_retry;
+}
+
+static ssl_private_key_result_t AsyncPrivateKeyComplete(SSL *ssl, uint8_t *out,
+                                                        size_t *out_len,
+                                                        size_t max_out) {
+  TestState *test_state = GetTestState(ssl);
+  if (test_state->private_key_result.empty()) {
+    fprintf(stderr,
+            "AsyncPrivateKeyComplete called without operation pending.\n");
+    abort();
+  }
+
+  if (test_state->private_key_retries < 2) {
+    // Only return the decryption on the second attempt, to test both incomplete
+    // |decrypt| and |decrypt_complete|.
+    return ssl_private_key_retry;
+  }
+
+  if (max_out < test_state->private_key_result.size()) {
+    fprintf(stderr, "Output buffer too small.\n");
+    return ssl_private_key_failure;
+  }
+  OPENSSL_memcpy(out, test_state->private_key_result.data(),
+                 test_state->private_key_result.size());
+  *out_len = test_state->private_key_result.size();
+
+  test_state->private_key_result.clear();
+  test_state->private_key_retries = 0;
+  return ssl_private_key_success;
+}
+
+static const SSL_PRIVATE_KEY_METHOD g_async_private_key_method = {
+    AsyncPrivateKeySign,
+    AsyncPrivateKeyDecrypt,
+    AsyncPrivateKeyComplete,
+};
+
+static bool InstallCertificate(SSL *ssl) {
+  bssl::UniquePtr<X509> x509;
+  bssl::UniquePtr<STACK_OF(X509)> chain;
+  bssl::UniquePtr<EVP_PKEY> pkey;
+  if (!GetCertificate(ssl, &x509, &chain, &pkey)) {
+    return false;
+  }
+
+  if (pkey) {
+    TestState *test_state = GetTestState(ssl);
+    const TestConfig *config = GetTestConfig(ssl);
+    if (config->async) {
+      test_state->private_key = std::move(pkey);
+      SSL_set_private_key_method(ssl, &g_async_private_key_method);
+    } else if (!SSL_use_PrivateKey(ssl, pkey.get())) {
+      return false;
+    }
+  }
+
+  if (x509 && !SSL_use_certificate(ssl, x509.get())) {
+    return false;
+  }
+
+  if (sk_X509_num(chain.get()) > 0 && !SSL_set1_chain(ssl, chain.get())) {
+    return false;
+  }
+
+  return true;
+}
+
+static enum ssl_select_cert_result_t SelectCertificateCallback(
+    const SSL_CLIENT_HELLO *client_hello) {
+  const TestConfig *config = GetTestConfig(client_hello->ssl);
+  GetTestState(client_hello->ssl)->early_callback_called = true;
+
+  if (!config->expected_server_name.empty()) {
+    const uint8_t *extension_data;
+    size_t extension_len;
+    CBS extension, server_name_list, host_name;
+    uint8_t name_type;
+
+    if (!SSL_early_callback_ctx_extension_get(
+            client_hello, TLSEXT_TYPE_server_name, &extension_data,
+            &extension_len)) {
+      fprintf(stderr, "Could not find server_name extension.\n");
+      return ssl_select_cert_error;
+    }
+
+    CBS_init(&extension, extension_data, extension_len);
+    if (!CBS_get_u16_length_prefixed(&extension, &server_name_list) ||
+        CBS_len(&extension) != 0 ||
+        !CBS_get_u8(&server_name_list, &name_type) ||
+        name_type != TLSEXT_NAMETYPE_host_name ||
+        !CBS_get_u16_length_prefixed(&server_name_list, &host_name) ||
+        CBS_len(&server_name_list) != 0) {
+      fprintf(stderr, "Could not decode server_name extension.\n");
+      return ssl_select_cert_error;
+    }
+
+    if (!CBS_mem_equal(&host_name,
+                       (const uint8_t *)config->expected_server_name.data(),
+                       config->expected_server_name.size())) {
+      fprintf(stderr, "Server name mismatch.\n");
+    }
+  }
+
+  if (config->fail_early_callback) {
+    return ssl_select_cert_error;
+  }
+
+  // Install the certificate in the early callback.
+  if (config->use_early_callback) {
+    bool early_callback_ready =
+        GetTestState(client_hello->ssl)->early_callback_ready;
+    if (config->async && !early_callback_ready) {
+      // Install the certificate asynchronously.
+      return ssl_select_cert_retry;
+    }
+    if (!InstallCertificate(client_hello->ssl)) {
+      return ssl_select_cert_error;
+    }
+  }
+  return ssl_select_cert_success;
+}
+
+bssl::UniquePtr<SSL_CTX> TestConfig::SetupCtx(SSL_CTX *old_ctx) const {
+  bssl::UniquePtr<SSL_CTX> ssl_ctx(
+      SSL_CTX_new(is_dtls ? DTLS_method() : TLS_method()));
+  if (!ssl_ctx) {
+    return nullptr;
+  }
+
+  CRYPTO_once(&once, init_once);
+  SSL_CTX_set0_buffer_pool(ssl_ctx.get(), g_pool);
+
+  // Enable TLS 1.3 for tests.
+  if (!is_dtls &&
+      !SSL_CTX_set_max_proto_version(ssl_ctx.get(), TLS1_3_VERSION)) {
+    return nullptr;
+  }
+
+  std::string cipher_list = "ALL";
+  if (!cipher.empty()) {
+    cipher_list = cipher;
+    SSL_CTX_set_options(ssl_ctx.get(), SSL_OP_CIPHER_SERVER_PREFERENCE);
+  }
+  if (!SSL_CTX_set_strict_cipher_list(ssl_ctx.get(), cipher_list.c_str())) {
+    return nullptr;
+  }
+
+  if (async && is_server) {
+    // Disable the internal session cache. To test asynchronous session lookup,
+    // we use an external session cache.
+    SSL_CTX_set_session_cache_mode(
+        ssl_ctx.get(), SSL_SESS_CACHE_BOTH | SSL_SESS_CACHE_NO_INTERNAL);
+    SSL_CTX_sess_set_get_cb(ssl_ctx.get(), GetSessionCallback);
+  } else {
+    SSL_CTX_set_session_cache_mode(ssl_ctx.get(), SSL_SESS_CACHE_BOTH);
+  }
+
+  SSL_CTX_set_select_certificate_cb(ssl_ctx.get(), SelectCertificateCallback);
+
+  if (use_old_client_cert_callback) {
+    SSL_CTX_set_client_cert_cb(ssl_ctx.get(), ClientCertCallback);
+  }
+
+  SSL_CTX_set_next_protos_advertised_cb(ssl_ctx.get(),
+                                        NextProtosAdvertisedCallback, NULL);
+  if (!select_next_proto.empty()) {
+    SSL_CTX_set_next_proto_select_cb(ssl_ctx.get(), NextProtoSelectCallback,
+                                     NULL);
+  }
+
+  if (!select_alpn.empty() || decline_alpn || select_empty_alpn) {
+    SSL_CTX_set_alpn_select_cb(ssl_ctx.get(), AlpnSelectCallback, NULL);
+  }
+
+  SSL_CTX_set_channel_id_cb(ssl_ctx.get(), ChannelIdCallback);
+
+  SSL_CTX_set_current_time_cb(ssl_ctx.get(), CurrentTimeCallback);
+
+  SSL_CTX_set_info_callback(ssl_ctx.get(), InfoCallback);
+  SSL_CTX_sess_set_new_cb(ssl_ctx.get(), NewSessionCallback);
+
+  if (use_ticket_callback) {
+    SSL_CTX_set_tlsext_ticket_key_cb(ssl_ctx.get(), TicketKeyCallback);
+  }
+
+  if (!use_custom_verify_callback) {
+    SSL_CTX_set_cert_verify_callback(ssl_ctx.get(), CertVerifyCallback, NULL);
+  }
+
+  if (!signed_cert_timestamps.empty() &&
+      !SSL_CTX_set_signed_cert_timestamp_list(
+          ssl_ctx.get(), (const uint8_t *)signed_cert_timestamps.data(),
+          signed_cert_timestamps.size())) {
+    return nullptr;
+  }
+
+  if (!use_client_ca_list.empty()) {
+    if (use_client_ca_list == "<NULL>") {
+      SSL_CTX_set_client_CA_list(ssl_ctx.get(), nullptr);
+    } else if (use_client_ca_list == "<EMPTY>") {
+      bssl::UniquePtr<STACK_OF(X509_NAME)> names;
+      SSL_CTX_set_client_CA_list(ssl_ctx.get(), names.release());
+    } else {
+      bssl::UniquePtr<STACK_OF(X509_NAME)> names =
+          DecodeHexX509Names(use_client_ca_list);
+      SSL_CTX_set_client_CA_list(ssl_ctx.get(), names.release());
+    }
+  }
+
+  if (enable_grease) {
+    SSL_CTX_set_grease_enabled(ssl_ctx.get(), 1);
+  }
+
+  if (!expected_server_name.empty()) {
+    SSL_CTX_set_tlsext_servername_callback(ssl_ctx.get(), ServerNameCallback);
+  }
+
+  if (enable_early_data) {
+    SSL_CTX_set_early_data_enabled(ssl_ctx.get(), 1);
+  }
+
+  SSL_CTX_set_tls13_variant(ssl_ctx.get(),
+                            static_cast<enum tls13_variant_t>(tls13_variant));
+
+  if (allow_unknown_alpn_protos) {
+    SSL_CTX_set_allow_unknown_alpn_protos(ssl_ctx.get(), 1);
+  }
+
+  if (enable_ed25519) {
+    SSL_CTX_set_ed25519_enabled(ssl_ctx.get(), 1);
+  }
+  if (no_rsa_pss_rsae_certs) {
+    SSL_CTX_set_rsa_pss_rsae_certs_enabled(ssl_ctx.get(), 0);
+  }
+
+  if (!verify_prefs.empty()) {
+    std::vector<uint16_t> u16s(verify_prefs.begin(), verify_prefs.end());
+    if (!SSL_CTX_set_verify_algorithm_prefs(ssl_ctx.get(), u16s.data(),
+                                            u16s.size())) {
+      return nullptr;
+    }
+  }
+
+  SSL_CTX_set_msg_callback(ssl_ctx.get(), MessageCallback);
+
+  if (allow_false_start_without_alpn) {
+    SSL_CTX_set_false_start_allowed_without_alpn(ssl_ctx.get(), 1);
+  }
+
+  if (use_ocsp_callback) {
+    SSL_CTX_set_tlsext_status_cb(ssl_ctx.get(), LegacyOCSPCallback);
+  }
+
+  if (old_ctx) {
+    uint8_t keys[48];
+    if (!SSL_CTX_get_tlsext_ticket_keys(old_ctx, &keys, sizeof(keys)) ||
+        !SSL_CTX_set_tlsext_ticket_keys(ssl_ctx.get(), keys, sizeof(keys))) {
+      return nullptr;
+    }
+    CopySessions(ssl_ctx.get(), old_ctx);
+  } else if (!ticket_key.empty() &&
+             !SSL_CTX_set_tlsext_ticket_keys(ssl_ctx.get(), ticket_key.data(),
+                                             ticket_key.size())) {
+    return nullptr;
+  }
+
+
+  if (install_cert_compression_algs &&
+      (!SSL_CTX_add_cert_compression_alg(
+           ssl_ctx.get(), 0xff02,
+           [](SSL *ssl, CBB *out, const uint8_t *in, size_t in_len) -> int {
+             if (!CBB_add_u8(out, 1) || !CBB_add_u8(out, 2) ||
+                 !CBB_add_u8(out, 3) || !CBB_add_u8(out, 4) ||
+                 !CBB_add_bytes(out, in, in_len)) {
+               return 0;
+             }
+             return 1;
+           },
+           [](SSL *ssl, CRYPTO_BUFFER **out, size_t uncompressed_len,
+              const uint8_t *in, size_t in_len) -> int {
+             if (in_len < 4 || in[0] != 1 || in[1] != 2 || in[2] != 3 ||
+                 in[3] != 4 || uncompressed_len != in_len - 4) {
+               return 0;
+             }
+             const bssl::Span<const uint8_t> uncompressed(in + 4, in_len - 4);
+             *out = CRYPTO_BUFFER_new(uncompressed.data(), uncompressed.size(),
+                                      nullptr);
+             return 1;
+           }) ||
+       !SSL_CTX_add_cert_compression_alg(
+           ssl_ctx.get(), 0xff01,
+           [](SSL *ssl, CBB *out, const uint8_t *in, size_t in_len) -> int {
+             if (in_len < 2 || in[0] != 0 || in[1] != 0) {
+               return 0;
+             }
+             return CBB_add_bytes(out, in + 2, in_len - 2);
+           },
+           [](SSL *ssl, CRYPTO_BUFFER **out, size_t uncompressed_len,
+              const uint8_t *in, size_t in_len) -> int {
+             if (uncompressed_len != 2 + in_len) {
+               return 0;
+             }
+             std::unique_ptr<uint8_t[]> buf(new uint8_t[2 + in_len]);
+             buf[0] = 0;
+             buf[1] = 0;
+             OPENSSL_memcpy(&buf[2], in, in_len);
+             *out = CRYPTO_BUFFER_new(buf.get(), 2 + in_len, nullptr);
+             return 1;
+           }))) {
+    fprintf(stderr, "SSL_CTX_add_cert_compression_alg failed.\n");
+    abort();
+  }
+
+  return ssl_ctx;
+}
+
+static int DDoSCallback(const SSL_CLIENT_HELLO *client_hello) {
+  const TestConfig *config = GetTestConfig(client_hello->ssl);
+  return config->fail_ddos_callback ? 0 : 1;
+}
+
+static unsigned PskClientCallback(SSL *ssl, const char *hint,
+                                  char *out_identity, unsigned max_identity_len,
+                                  uint8_t *out_psk, unsigned max_psk_len) {
+  const TestConfig *config = GetTestConfig(ssl);
+
+  if (config->psk_identity.empty()) {
+    if (hint != nullptr) {
+      fprintf(stderr, "Server PSK hint was non-null.\n");
+      return 0;
+    }
+  } else if (hint == nullptr ||
+             strcmp(hint, config->psk_identity.c_str()) != 0) {
+    fprintf(stderr, "Server PSK hint did not match.\n");
+    return 0;
+  }
+
+  // Account for the trailing '\0' for the identity.
+  if (config->psk_identity.size() >= max_identity_len ||
+      config->psk.size() > max_psk_len) {
+    fprintf(stderr, "PSK buffers too small\n");
+    return 0;
+  }
+
+  BUF_strlcpy(out_identity, config->psk_identity.c_str(), max_identity_len);
+  OPENSSL_memcpy(out_psk, config->psk.data(), config->psk.size());
+  return config->psk.size();
+}
+
+static unsigned PskServerCallback(SSL *ssl, const char *identity,
+                                  uint8_t *out_psk, unsigned max_psk_len) {
+  const TestConfig *config = GetTestConfig(ssl);
+
+  if (strcmp(identity, config->psk_identity.c_str()) != 0) {
+    fprintf(stderr, "Client PSK identity did not match.\n");
+    return 0;
+  }
+
+  if (config->psk.size() > max_psk_len) {
+    fprintf(stderr, "PSK buffers too small\n");
+    return 0;
+  }
+
+  OPENSSL_memcpy(out_psk, config->psk.data(), config->psk.size());
+  return config->psk.size();
+}
+
+static ssl_verify_result_t CustomVerifyCallback(SSL *ssl, uint8_t *out_alert) {
+  const TestConfig *config = GetTestConfig(ssl);
+  if (!CheckVerifyCallback(ssl)) {
+    return ssl_verify_invalid;
+  }
+
+  if (config->async && !GetTestState(ssl)->custom_verify_ready) {
+    return ssl_verify_retry;
+  }
+
+  GetTestState(ssl)->cert_verified = true;
+  if (config->verify_fail) {
+    return ssl_verify_invalid;
+  }
+
+  return ssl_verify_ok;
+}
+
+static int CertCallback(SSL *ssl, void *arg) {
+  const TestConfig *config = GetTestConfig(ssl);
+
+  // Check the peer certificate metadata is as expected.
+  if ((!SSL_is_server(ssl) && !CheckCertificateRequest(ssl)) ||
+      !CheckPeerVerifyPrefs(ssl)) {
+    return -1;
+  }
+
+  if (config->fail_cert_callback) {
+    return 0;
+  }
+
+  // The certificate will be installed via other means.
+  if (!config->async || config->use_early_callback) {
+    return 1;
+  }
+
+  if (!GetTestState(ssl)->cert_ready) {
+    return -1;
+  }
+  if (!InstallCertificate(ssl)) {
+    return 0;
+  }
+  return 1;
+}
+
+bssl::UniquePtr<SSL> TestConfig::NewSSL(
+    SSL_CTX *ssl_ctx, SSL_SESSION *session, bool is_resume,
+    std::unique_ptr<TestState> test_state) const {
+  bssl::UniquePtr<SSL> ssl(SSL_new(ssl_ctx));
+  if (!ssl) {
+    return nullptr;
+  }
+
+  if (!SetTestConfig(ssl.get(), this)) {
+    return nullptr;
+  }
+  if (test_state != nullptr) {
+    if (!SetTestState(ssl.get(), std::move(test_state))) {
+      return nullptr;
+    }
+    GetTestState(ssl.get())->is_resume = is_resume;
+  }
+
+  if (fallback_scsv && !SSL_set_mode(ssl.get(), SSL_MODE_SEND_FALLBACK_SCSV)) {
+    return nullptr;
+  }
+  // Install the certificate synchronously if nothing else will handle it.
+  if (!use_early_callback && !use_old_client_cert_callback && !async &&
+      !InstallCertificate(ssl.get())) {
+    return nullptr;
+  }
+  if (!use_old_client_cert_callback) {
+    SSL_set_cert_cb(ssl.get(), CertCallback, nullptr);
+  }
+  int mode = SSL_VERIFY_NONE;
+  if (require_any_client_certificate) {
+    mode = SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
+  }
+  if (verify_peer) {
+    mode = SSL_VERIFY_PEER;
+  }
+  if (verify_peer_if_no_obc) {
+    // Set SSL_VERIFY_FAIL_IF_NO_PEER_CERT so testing whether client
+    // certificates were requested is easy.
+    mode = SSL_VERIFY_PEER | SSL_VERIFY_PEER_IF_NO_OBC |
+           SSL_VERIFY_FAIL_IF_NO_PEER_CERT;
+  }
+  if (use_custom_verify_callback) {
+    SSL_set_custom_verify(ssl.get(), mode, CustomVerifyCallback);
+  } else if (mode != SSL_VERIFY_NONE) {
+    SSL_set_verify(ssl.get(), mode, NULL);
+  }
+  if (false_start) {
+    SSL_set_mode(ssl.get(), SSL_MODE_ENABLE_FALSE_START);
+  }
+  if (cbc_record_splitting) {
+    SSL_set_mode(ssl.get(), SSL_MODE_CBC_RECORD_SPLITTING);
+  }
+  if (partial_write) {
+    SSL_set_mode(ssl.get(), SSL_MODE_ENABLE_PARTIAL_WRITE);
+  }
+  if (no_tls13) {
+    SSL_set_options(ssl.get(), SSL_OP_NO_TLSv1_3);
+  }
+  if (no_tls12) {
+    SSL_set_options(ssl.get(), SSL_OP_NO_TLSv1_2);
+  }
+  if (no_tls11) {
+    SSL_set_options(ssl.get(), SSL_OP_NO_TLSv1_1);
+  }
+  if (no_tls1) {
+    SSL_set_options(ssl.get(), SSL_OP_NO_TLSv1);
+  }
+  if (no_ticket) {
+    SSL_set_options(ssl.get(), SSL_OP_NO_TICKET);
+  }
+  if (!expected_channel_id.empty() || enable_channel_id) {
+    SSL_set_tls_channel_id_enabled(ssl.get(), 1);
+  }
+  if (!send_channel_id.empty()) {
+    SSL_set_tls_channel_id_enabled(ssl.get(), 1);
+    if (!async) {
+      // The async case will be supplied by |ChannelIdCallback|.
+      bssl::UniquePtr<EVP_PKEY> pkey = LoadPrivateKey(send_channel_id);
+      if (!pkey || !SSL_set1_tls_channel_id(ssl.get(), pkey.get())) {
+        return nullptr;
+      }
+    }
+  }
+  if (!send_token_binding_params.empty()) {
+    SSL_set_token_binding_params(
+        ssl.get(),
+        reinterpret_cast<const uint8_t *>(send_token_binding_params.data()),
+        send_token_binding_params.length());
+  }
+  if (!host_name.empty() &&
+      !SSL_set_tlsext_host_name(ssl.get(), host_name.c_str())) {
+    return nullptr;
+  }
+  if (!advertise_alpn.empty() &&
+      SSL_set_alpn_protos(ssl.get(), (const uint8_t *)advertise_alpn.data(),
+                          advertise_alpn.size()) != 0) {
+    return nullptr;
+  }
+  if (!psk.empty()) {
+    SSL_set_psk_client_callback(ssl.get(), PskClientCallback);
+    SSL_set_psk_server_callback(ssl.get(), PskServerCallback);
+  }
+  if (!psk_identity.empty() &&
+      !SSL_use_psk_identity_hint(ssl.get(), psk_identity.c_str())) {
+    return nullptr;
+  }
+  if (!srtp_profiles.empty() &&
+      !SSL_set_srtp_profiles(ssl.get(), srtp_profiles.c_str())) {
+    return nullptr;
+  }
+  if (enable_ocsp_stapling) {
+    SSL_enable_ocsp_stapling(ssl.get());
+  }
+  if (enable_signed_cert_timestamps) {
+    SSL_enable_signed_cert_timestamps(ssl.get());
+  }
+  if (min_version != 0 &&
+      !SSL_set_min_proto_version(ssl.get(), (uint16_t)min_version)) {
+    return nullptr;
+  }
+  if (max_version != 0 &&
+      !SSL_set_max_proto_version(ssl.get(), (uint16_t)max_version)) {
+    return nullptr;
+  }
+  if (mtu != 0) {
+    SSL_set_options(ssl.get(), SSL_OP_NO_QUERY_MTU);
+    SSL_set_mtu(ssl.get(), mtu);
+  }
+  if (install_ddos_callback) {
+    SSL_CTX_set_dos_protection_cb(ssl_ctx, DDoSCallback);
+  }
+  SSL_set_shed_handshake_config(ssl.get(), true);
+  if (renegotiate_once) {
+    SSL_set_renegotiate_mode(ssl.get(), ssl_renegotiate_once);
+  }
+  if (renegotiate_freely || forbid_renegotiation_after_handshake) {
+    // |forbid_renegotiation_after_handshake| will disable renegotiation later.
+    SSL_set_renegotiate_mode(ssl.get(), ssl_renegotiate_freely);
+  }
+  if (renegotiate_ignore) {
+    SSL_set_renegotiate_mode(ssl.get(), ssl_renegotiate_ignore);
+  }
+  if (!check_close_notify) {
+    SSL_set_quiet_shutdown(ssl.get(), 1);
+  }
+  if (p384_only) {
+    int nid = NID_secp384r1;
+    if (!SSL_set1_curves(ssl.get(), &nid, 1)) {
+      return nullptr;
+    }
+  }
+  if (enable_all_curves) {
+    static const int kAllCurves[] = {
+        NID_secp224r1, NID_X9_62_prime256v1, NID_secp384r1,
+        NID_secp521r1, NID_X25519,
+    };
+    if (!SSL_set1_curves(ssl.get(), kAllCurves,
+                         OPENSSL_ARRAY_SIZE(kAllCurves))) {
+      return nullptr;
+    }
+  }
+  if (initial_timeout_duration_ms > 0) {
+    DTLSv1_set_initial_timeout_duration(ssl.get(), initial_timeout_duration_ms);
+  }
+  if (max_cert_list > 0) {
+    SSL_set_max_cert_list(ssl.get(), max_cert_list);
+  }
+  if (retain_only_sha256_client_cert) {
+    SSL_set_retain_only_sha256_of_client_certs(ssl.get(), 1);
+  }
+  if (max_send_fragment > 0) {
+    SSL_set_max_send_fragment(ssl.get(), max_send_fragment);
+  }
+  if (dummy_pq_padding_len > 0 &&
+      !SSL_set_dummy_pq_padding_size(ssl.get(), dummy_pq_padding_len)) {
+    return nullptr;
+  }
+  if (!quic_transport_params.empty()) {
+    if (!SSL_set_quic_transport_params(
+            ssl.get(),
+            reinterpret_cast<const uint8_t *>(quic_transport_params.data()),
+            quic_transport_params.size())) {
+      return nullptr;
+    }
+  }
+
+  if (session != NULL) {
+    if (!is_server) {
+      if (SSL_set_session(ssl.get(), session) != 1) {
+        return nullptr;
+      }
+    } else if (async) {
+      // The internal session cache is disabled, so install the session
+      // manually.
+      SSL_SESSION_up_ref(session);
+      GetTestState(ssl.get())->pending_session.reset(session);
+    }
+  }
+
+  if (SSL_get_current_cipher(ssl.get()) != nullptr) {
+    fprintf(stderr, "non-null cipher before handshake\n");
+    return nullptr;
+  }
+
+  return ssl;
+}
diff --git a/src/ssl/test/test_config.h b/src/ssl/test/test_config.h
index 95f38e0..6c9ac3e 100644
--- a/src/ssl/test/test_config.h
+++ b/src/ssl/test/test_config.h
@@ -18,6 +18,10 @@
 #include <string>
 #include <vector>
 
+#include <openssl/base.h>
+#include <openssl/x509.h>
+
+#include "test_state.h"
 
 struct TestConfig {
   int port = 0;
@@ -28,6 +32,7 @@
   bool fallback_scsv = false;
   std::vector<int> signing_prefs;
   std::vector<int> verify_prefs;
+  std::vector<int> expected_peer_verify_prefs;
   std::string key_file;
   std::string cert_file;
   std::string expected_server_name;
@@ -45,7 +50,7 @@
   bool no_tls12 = false;
   bool no_tls11 = false;
   bool no_tls1 = false;
-  bool no_ssl3 = false;
+  bool no_ticket = false;
   std::string expected_channel_id;
   bool enable_channel_id = false;
   std::string send_channel_id;
@@ -59,6 +64,7 @@
   std::string expected_advertised_alpn;
   std::string select_alpn;
   bool decline_alpn = false;
+  bool select_empty_alpn = false;
   std::string quic_transport_params;
   std::string expected_quic_transport_params;
   bool expect_session_miss = false;
@@ -79,7 +85,6 @@
   bool fail_early_callback = false;
   bool install_ddos_callback = false;
   bool fail_ddos_callback = false;
-  bool fail_second_ddos_callback = false;
   bool fail_cert_callback = false;
   std::string cipher;
   bool handshake_never_done = false;
@@ -115,6 +120,7 @@
   bool renegotiate_once = false;
   bool renegotiate_freely = false;
   bool renegotiate_ignore = false;
+  bool forbid_renegotiation_after_handshake = false;
   int expect_peer_signature_algorithm = 0;
   bool p384_only = false;
   bool enable_all_curves = false;
@@ -155,10 +161,36 @@
   bool handoff = false;
   bool expect_dummy_pq_padding = false;
   bool no_rsa_pss_rsae_certs = false;
+  bool use_ocsp_callback = false;
+  bool set_ocsp_in_callback = false;
+  bool decline_ocsp_callback = false;
+  bool fail_ocsp_callback = false;
+  bool install_cert_compression_algs = false;
+  bool is_handshaker_supported = false;
+  bool handshaker_resume = false;
+  std::string handshaker_path;
+
+  int argc;
+  char **argv;
+
+  bssl::UniquePtr<SSL_CTX> SetupCtx(SSL_CTX *old_ctx) const;
+
+  bssl::UniquePtr<SSL> NewSSL(SSL_CTX *ssl_ctx, SSL_SESSION *session,
+                              bool is_resume,
+                              std::unique_ptr<TestState> test_state) const;
 };
 
 bool ParseConfig(int argc, char **argv, TestConfig *out_initial,
                  TestConfig *out_resume, TestConfig *out_retry);
 
+bool SetTestConfig(SSL *ssl, const TestConfig *config);
+
+const TestConfig *GetTestConfig(const SSL *ssl);
+
+bool LoadCertificate(bssl::UniquePtr<X509> *out_x509,
+                     bssl::UniquePtr<STACK_OF(X509)> *out_chain,
+                     const std::string &file);
+
+bssl::UniquePtr<EVP_PKEY> LoadPrivateKey(const std::string &file);
 
 #endif  // HEADER_TEST_CONFIG
diff --git a/src/ssl/test/test_state.cc b/src/ssl/test/test_state.cc
new file mode 100644
index 0000000..b9767e0
--- /dev/null
+++ b/src/ssl/test/test_state.cc
@@ -0,0 +1,169 @@
+/* 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 "test_state.h"
+
+#include <openssl/ssl.h>
+
+#include "../../crypto/internal.h"
+#include "../internal.h"
+
+using namespace bssl;
+
+static CRYPTO_once_t g_once = CRYPTO_ONCE_INIT;
+static int g_state_index = 0;
+// Some code treats the zero time special, so initialize the clock to a
+// non-zero time.
+static timeval g_clock = { 1234, 1234 };
+
+static void TestStateExFree(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
+                            int index, long argl, void *argp) {
+  delete ((TestState *)ptr);
+}
+
+static void init_once() {
+  g_state_index = SSL_get_ex_new_index(0, NULL, NULL, NULL, TestStateExFree);
+  if (g_state_index < 0) {
+    abort();
+  }
+}
+
+struct timeval *GetClock() {
+  CRYPTO_once(&g_once, init_once);
+  return &g_clock;
+}
+
+void AdvanceClock(unsigned seconds) {
+  CRYPTO_once(&g_once, init_once);
+  g_clock.tv_sec += seconds;
+}
+
+bool SetTestState(SSL *ssl, std::unique_ptr<TestState> state) {
+  CRYPTO_once(&g_once, init_once);
+  // |SSL_set_ex_data| takes ownership of |state| only on success.
+  if (SSL_set_ex_data(ssl, g_state_index, state.get()) == 1) {
+    state.release();
+    return true;
+  }
+  return false;
+}
+
+TestState *GetTestState(const SSL *ssl) {
+  CRYPTO_once(&g_once, init_once);
+  return (TestState *)SSL_get_ex_data(ssl, g_state_index);
+}
+
+static void ssl_ctx_add_session(SSL_SESSION *session, void *void_param) {
+  SSL_CTX *ctx = reinterpret_cast<SSL_CTX *>(void_param);
+  UniquePtr<SSL_SESSION> new_session = SSL_SESSION_dup(
+      session, SSL_SESSION_INCLUDE_NONAUTH | SSL_SESSION_INCLUDE_TICKET);
+  if (new_session != nullptr) {
+    SSL_CTX_add_session(ctx, new_session.get());
+  }
+}
+
+void CopySessions(SSL_CTX *dst, const SSL_CTX *src) {
+  lh_SSL_SESSION_doall_arg(src->sessions, ssl_ctx_add_session, dst);
+}
+
+static void push_session(SSL_SESSION *session, void *arg) {
+  auto s = reinterpret_cast<std::vector<SSL_SESSION *> *>(arg);
+  s->push_back(session);
+}
+
+bool SerializeContextState(SSL_CTX *ctx, CBB *cbb) {
+  CBB out, ctx_sessions, ticket_keys;
+  uint8_t keys[48];
+  if (!CBB_add_u24_length_prefixed(cbb, &out) ||
+      !CBB_add_u16(&out, 0 /* version */) ||
+      !SSL_CTX_get_tlsext_ticket_keys(ctx, &keys, sizeof(keys)) ||
+      !CBB_add_u8_length_prefixed(&out, &ticket_keys) ||
+      !CBB_add_bytes(&ticket_keys, keys, sizeof(keys)) ||
+      !CBB_add_asn1(&out, &ctx_sessions, CBS_ASN1_SEQUENCE)) {
+    return false;
+  }
+  std::vector<SSL_SESSION *> sessions;
+  lh_SSL_SESSION_doall_arg(ctx->sessions, push_session, &sessions);
+  for (const auto &sess : sessions) {
+    if (!ssl_session_serialize(sess, &ctx_sessions)) {
+      return false;
+    }
+  }
+  return CBB_flush(cbb);
+}
+
+bool DeserializeContextState(CBS *cbs, SSL_CTX *ctx) {
+  CBS in, sessions, ticket_keys;
+  uint16_t version;
+  constexpr uint16_t kVersion = 0;
+  if (!CBS_get_u24_length_prefixed(cbs, &in) ||
+      !CBS_get_u16(&in, &version) ||
+      version > kVersion ||
+      !CBS_get_u8_length_prefixed(&in, &ticket_keys) ||
+      !SSL_CTX_set_tlsext_ticket_keys(ctx, CBS_data(&ticket_keys),
+                                      CBS_len(&ticket_keys)) ||
+      !CBS_get_asn1(&in, &sessions, CBS_ASN1_SEQUENCE)) {
+    return false;
+  }
+  while (CBS_len(&sessions)) {
+    UniquePtr<SSL_SESSION> session =
+        SSL_SESSION_parse(&sessions, ctx->x509_method, ctx->pool);
+    if (!session) {
+      return false;
+    }
+    SSL_CTX_add_session(ctx, session.get());
+  }
+  return true;
+}
+
+bool TestState::Serialize(CBB *cbb) const {
+  CBB out, pending, text;
+  if (!CBB_add_u24_length_prefixed(cbb, &out) ||
+      !CBB_add_u16(&out, 0 /* version */) ||
+      !CBB_add_u24_length_prefixed(&out, &pending) ||
+      (pending_session &&
+       !ssl_session_serialize(pending_session.get(), &pending)) ||
+      !CBB_add_u16_length_prefixed(&out, &text) ||
+      !CBB_add_bytes(
+          &text, reinterpret_cast<const uint8_t *>(msg_callback_text.data()),
+          msg_callback_text.length()) ||
+      !CBB_flush(cbb)) {
+    return false;
+  }
+  return true;
+}
+
+std::unique_ptr<TestState> TestState::Deserialize(CBS *cbs, SSL_CTX *ctx) {
+  CBS in, pending_session, text;
+  std::unique_ptr<TestState> out_state(new TestState());
+  uint16_t version;
+  constexpr uint16_t kVersion = 0;
+  if (!CBS_get_u24_length_prefixed(cbs, &in) ||
+      !CBS_get_u16(&in, &version) ||
+      version > kVersion ||
+      !CBS_get_u24_length_prefixed(&in, &pending_session) ||
+      !CBS_get_u16_length_prefixed(&in, &text)) {
+    return nullptr;
+  }
+  if (CBS_len(&pending_session)) {
+    out_state->pending_session = SSL_SESSION_parse(
+        &pending_session, ctx->x509_method, ctx->pool);
+    if (!out_state->pending_session) {
+      return nullptr;
+    }
+  }
+  out_state->msg_callback_text = std::string(
+      reinterpret_cast<const char *>(CBS_data(&text)), CBS_len(&text));
+  return out_state;
+}
diff --git a/src/ssl/test/test_state.h b/src/ssl/test/test_state.h
new file mode 100644
index 0000000..2364286
--- /dev/null
+++ b/src/ssl/test/test_state.h
@@ -0,0 +1,84 @@
+/* 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 HEADER_TEST_STATE
+#define HEADER_TEST_STATE
+
+#include <memory>
+#include <string>
+#include <vector>
+
+#include <openssl/base.h>
+
+struct TestState {
+  // Serialize writes |pending_session| and |msg_callback_text| to |out|, for
+  // use in split-handshake tests.  We don't try to serialize every bit of test
+  // state, but serializing |pending_session| is necessary to exercise session
+  // resumption, and |msg_callback_text| is especially useful.  In the general
+  // case, checks of state updated during the handshake can be skipped when
+  // |config->handoff|.
+  bool Serialize(CBB *out) const;
+
+  // Deserialize returns a new |TestState| from data written by |Serialize|.
+  static std::unique_ptr<TestState> Deserialize(CBS *cbs, SSL_CTX *ctx);
+
+  // async_bio is async BIO which pauses reads and writes.
+  BIO *async_bio = nullptr;
+  // packeted_bio is the packeted BIO which simulates read timeouts.
+  BIO *packeted_bio = nullptr;
+  bssl::UniquePtr<EVP_PKEY> channel_id;
+  bool cert_ready = false;
+  bssl::UniquePtr<SSL_SESSION> session;
+  bssl::UniquePtr<SSL_SESSION> pending_session;
+  bool early_callback_called = false;
+  bool handshake_done = false;
+  // private_key is the underlying private key used when testing custom keys.
+  bssl::UniquePtr<EVP_PKEY> private_key;
+  std::vector<uint8_t> private_key_result;
+  // private_key_retries is the number of times an asynchronous private key
+  // operation has been retried.
+  unsigned private_key_retries = 0;
+  bool got_new_session = false;
+  bssl::UniquePtr<SSL_SESSION> new_session;
+  bool ticket_decrypt_done = false;
+  bool alpn_select_done = false;
+  bool is_resume = false;
+  bool early_callback_ready = false;
+  bool custom_verify_ready = false;
+  std::string msg_callback_text;
+  bool msg_callback_ok = true;
+  // cert_verified is true if certificate verification has been driven to
+  // completion. This tests that the callback is not called again after this.
+  bool cert_verified = false;
+};
+
+bool SetTestState(SSL *ssl, std::unique_ptr<TestState> state);
+
+TestState *GetTestState(const SSL *ssl);
+
+struct timeval *GetClock();
+
+void AdvanceClock(unsigned seconds);
+
+void CopySessions(SSL_CTX *dest, const SSL_CTX *src);
+
+// SerializeContextState writes session material (sessions and ticket keys) from
+// |ctx| into |cbb|.
+bool SerializeContextState(SSL_CTX *ctx, CBB *cbb);
+
+// DeserializeContextState updates |out| with material previously serialized by
+// SerializeContextState.
+bool DeserializeContextState(CBS *in, SSL_CTX *out);
+
+#endif  // HEADER_TEST_STATE
diff --git a/src/ssl/tls13_both.cc b/src/ssl/tls13_both.cc
index defdac1..d6ebb4c 100644
--- a/src/ssl/tls13_both.cc
+++ b/src/ssl/tls13_both.cc
@@ -105,7 +105,73 @@
 int tls13_process_certificate(SSL_HANDSHAKE *hs, const SSLMessage &msg,
                               int allow_anonymous) {
   SSL *const ssl = hs->ssl;
-  CBS body = msg.body, context, certificate_list;
+  CBS body = msg.body;
+  bssl::UniquePtr<CRYPTO_BUFFER> decompressed;
+
+  if (msg.type == SSL3_MT_COMPRESSED_CERTIFICATE) {
+    CBS compressed;
+    uint16_t alg_id;
+    uint32_t uncompressed_len;
+
+    if (!CBS_get_u16(&body, &alg_id) ||
+        !CBS_get_u24(&body, &uncompressed_len) ||
+        !CBS_get_u24_length_prefixed(&body, &compressed) ||
+        CBS_len(&body) != 0) {
+      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
+      OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
+      return 0;
+    }
+
+    if (uncompressed_len > ssl->max_cert_list) {
+      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
+      OPENSSL_PUT_ERROR(SSL, SSL_R_UNCOMPRESSED_CERT_TOO_LARGE);
+      ERR_add_error_dataf("requested=%u",
+                          static_cast<unsigned>(uncompressed_len));
+      return 0;
+    }
+
+    ssl_cert_decompression_func_t decompress = nullptr;
+    for (const auto* alg : ssl->ctx->cert_compression_algs.get()) {
+      if (alg->alg_id == alg_id) {
+        decompress = alg->decompress;
+        break;
+      }
+    }
+
+    if (decompress == nullptr) {
+      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
+      OPENSSL_PUT_ERROR(SSL, SSL_R_UNKNOWN_CERT_COMPRESSION_ALG);
+      ERR_add_error_dataf("alg=%d", static_cast<int>(alg_id));
+      return 0;
+    }
+
+    CRYPTO_BUFFER *decompressed_ptr = nullptr;
+    if (!decompress(ssl, &decompressed_ptr, uncompressed_len,
+                    CBS_data(&compressed), CBS_len(&compressed))) {
+      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
+      OPENSSL_PUT_ERROR(SSL, SSL_R_CERT_DECOMPRESSION_FAILED);
+      ERR_add_error_dataf("alg=%d", static_cast<int>(alg_id));
+      return 0;
+    }
+    decompressed.reset(decompressed_ptr);
+
+    if (CRYPTO_BUFFER_len(decompressed_ptr) != uncompressed_len) {
+      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
+      OPENSSL_PUT_ERROR(SSL, SSL_R_CERT_DECOMPRESSION_FAILED);
+      ERR_add_error_dataf(
+          "alg=%d got=%u expected=%u", static_cast<int>(alg_id),
+          static_cast<unsigned>(CRYPTO_BUFFER_len(decompressed_ptr)),
+          static_cast<unsigned>(uncompressed_len));
+      return 0;
+    }
+
+    CBS_init(&body, CRYPTO_BUFFER_data(decompressed_ptr),
+             CRYPTO_BUFFER_len(decompressed_ptr));
+  } else {
+    assert(msg.type == SSL3_MT_CERTIFICATE);
+  }
+
+  CBS context, certificate_list;
   if (!CBS_get_u8_length_prefixed(&body, &context) ||
       CBS_len(&context) != 0 ||
       !CBS_get_u24_length_prefixed(&body, &certificate_list) ||
@@ -123,7 +189,7 @@
   }
 
   const bool retain_sha256 =
-      ssl->server && ssl->retain_only_sha256_of_client_certs;
+      ssl->server && hs->config->retain_only_sha256_of_client_certs;
   UniquePtr<EVP_PKEY> pkey;
   while (CBS_len(&certificate_list) > 0) {
     CBS certificate, extensions;
@@ -184,7 +250,7 @@
     // All Certificate extensions are parsed, but only the leaf extensions are
     // stored.
     if (have_status_request) {
-      if (ssl->server || !ssl->ocsp_stapling_enabled) {
+      if (ssl->server || !hs->config->ocsp_stapling_enabled) {
         OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_EXTENSION);
         ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_UNSUPPORTED_EXTENSION);
         return 0;
@@ -202,9 +268,8 @@
       }
 
       if (sk_CRYPTO_BUFFER_num(certs.get()) == 1) {
-        CRYPTO_BUFFER_free(hs->new_session->ocsp_response);
-        hs->new_session->ocsp_response =
-            CRYPTO_BUFFER_new_from_CBS(&ocsp_response, ssl->ctx->pool);
+        hs->new_session->ocsp_response.reset(
+            CRYPTO_BUFFER_new_from_CBS(&ocsp_response, ssl->ctx->pool));
         if (hs->new_session->ocsp_response == nullptr) {
           ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
           return 0;
@@ -213,7 +278,7 @@
     }
 
     if (have_sct) {
-      if (ssl->server || !ssl->signed_cert_timestamps_enabled) {
+      if (ssl->server || !hs->config->signed_cert_timestamps_enabled) {
         OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_EXTENSION);
         ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_UNSUPPORTED_EXTENSION);
         return 0;
@@ -226,9 +291,8 @@
       }
 
       if (sk_CRYPTO_BUFFER_num(certs.get()) == 1) {
-        CRYPTO_BUFFER_free(hs->new_session->signed_cert_timestamp_list);
-        hs->new_session->signed_cert_timestamp_list =
-            CRYPTO_BUFFER_new_from_CBS(&sct, ssl->ctx->pool);
+        hs->new_session->signed_cert_timestamp_list.reset(
+            CRYPTO_BUFFER_new_from_CBS(&sct, ssl->ctx->pool));
         if (hs->new_session->signed_cert_timestamp_list == nullptr) {
           ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
           return 0;
@@ -244,9 +308,7 @@
   }
 
   hs->peer_pubkey = std::move(pkey);
-
-  sk_CRYPTO_BUFFER_pop_free(hs->new_session->certs, CRYPTO_BUFFER_free);
-  hs->new_session->certs = certs.release();
+  hs->new_session->certs = std::move(certs);
 
   if (!ssl->ctx->x509_method->session_cache_objects(hs->new_session.get())) {
     OPENSSL_PUT_ERROR(SSL, SSL_R_DECODE_ERROR);
@@ -254,7 +316,7 @@
     return 0;
   }
 
-  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs) == 0) {
+  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs.get()) == 0) {
     if (!allow_anonymous) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE);
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_CERTIFICATE_REQUIRED);
@@ -353,21 +415,34 @@
 
 int tls13_add_certificate(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
+  CERT *const cert = hs->config->cert.get();
+
   ScopedCBB cbb;
-  CBB body, certificate_list;
-  if (!ssl->method->init_message(ssl, cbb.get(), &body, SSL3_MT_CERTIFICATE) ||
-      // The request context is always empty in the handshake.
-      !CBB_add_u8(&body, 0) ||
-      !CBB_add_u24_length_prefixed(&body, &certificate_list)) {
+  CBB *body, body_storage, certificate_list;
+
+  if (hs->cert_compression_negotiated) {
+    if (!CBB_init(cbb.get(), 1024)) {
+      return false;
+    }
+    body = cbb.get();
+  } else {
+    body = &body_storage;
+    if (!ssl->method->init_message(ssl, cbb.get(), body, SSL3_MT_CERTIFICATE)) {
+      return false;
+    }
+  }
+
+  if (// The request context is always empty in the handshake.
+      !CBB_add_u8(body, 0) ||
+      !CBB_add_u24_length_prefixed(body, &certificate_list)) {
     OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
     return 0;
   }
 
-  if (!ssl_has_certificate(ssl)) {
+  if (!ssl_has_certificate(hs->config)) {
     return ssl_add_message_cbb(ssl, cbb.get());
   }
 
-  CERT *cert = ssl->cert;
   CRYPTO_BUFFER *leaf_buf = sk_CRYPTO_BUFFER_value(cert->chain.get(), 0);
   CBB leaf, extensions;
   if (!CBB_add_u24_length_prefixed(&certificate_list, &leaf) ||
@@ -378,30 +453,29 @@
     return 0;
   }
 
-  if (hs->scts_requested && ssl->cert->signed_cert_timestamp_list != nullptr) {
+  if (hs->scts_requested && cert->signed_cert_timestamp_list != nullptr) {
     CBB contents;
     if (!CBB_add_u16(&extensions, TLSEXT_TYPE_certificate_timestamp) ||
         !CBB_add_u16_length_prefixed(&extensions, &contents) ||
         !CBB_add_bytes(
             &contents,
-            CRYPTO_BUFFER_data(ssl->cert->signed_cert_timestamp_list.get()),
-            CRYPTO_BUFFER_len(ssl->cert->signed_cert_timestamp_list.get())) ||
+            CRYPTO_BUFFER_data(cert->signed_cert_timestamp_list.get()),
+            CRYPTO_BUFFER_len(cert->signed_cert_timestamp_list.get())) ||
         !CBB_flush(&extensions)) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
       return 0;
     }
   }
 
-  if (hs->ocsp_stapling_requested &&
-      ssl->cert->ocsp_response != NULL) {
+  if (hs->ocsp_stapling_requested && cert->ocsp_response != NULL) {
     CBB contents, ocsp_response;
     if (!CBB_add_u16(&extensions, TLSEXT_TYPE_status_request) ||
         !CBB_add_u16_length_prefixed(&extensions, &contents) ||
         !CBB_add_u8(&contents, TLSEXT_STATUSTYPE_ocsp) ||
         !CBB_add_u24_length_prefixed(&contents, &ocsp_response) ||
         !CBB_add_bytes(&ocsp_response,
-                       CRYPTO_BUFFER_data(ssl->cert->ocsp_response.get()),
-                       CRYPTO_BUFFER_len(ssl->cert->ocsp_response.get())) ||
+                       CRYPTO_BUFFER_data(cert->ocsp_response.get()),
+                       CRYPTO_BUFFER_len(cert->ocsp_response.get())) ||
         !CBB_flush(&extensions)) {
       OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
       return 0;
@@ -420,13 +494,50 @@
     }
   }
 
-  return ssl_add_message_cbb(ssl, cbb.get());
+  if (!hs->cert_compression_negotiated) {
+    return ssl_add_message_cbb(ssl, cbb.get());
+  }
+
+  Array<uint8_t> msg;
+  if (!CBBFinishArray(cbb.get(), &msg)) {
+    OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
+    return 0;
+  }
+
+  const CertCompressionAlg *alg = nullptr;
+  for (const auto *candidate : ssl->ctx->cert_compression_algs.get()) {
+    if (candidate->alg_id == hs->cert_compression_alg_id) {
+      alg = candidate;
+      break;
+    }
+  }
+
+  if (alg == nullptr || alg->compress == nullptr) {
+    OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
+    return 0;
+  }
+
+  CBB compressed;
+  body = &body_storage;
+  if (!ssl->method->init_message(ssl, cbb.get(), body,
+                                 SSL3_MT_COMPRESSED_CERTIFICATE) ||
+      !CBB_add_u16(body, hs->cert_compression_alg_id) ||
+      !CBB_add_u24(body, msg.size()) ||
+      !CBB_add_u24_length_prefixed(body, &compressed) ||
+      !alg->compress(ssl, &compressed, msg.data(), msg.size()) ||
+      !ssl_add_message_cbb(ssl, cbb.get())) {
+    OPENSSL_PUT_ERROR(SSL, ERR_R_INTERNAL_ERROR);
+    return 0;
+  }
+
+  return 1;
 }
 
 enum ssl_private_key_result_t tls13_add_certificate_verify(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
   uint16_t signature_algorithm;
   if (!tls1_choose_signature_algorithm(hs, &signature_algorithm)) {
+    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_HANDSHAKE_FAILURE);
     return ssl_private_key_failure;
   }
 
diff --git a/src/ssl/tls13_client.cc b/src/ssl/tls13_client.cc
index 6e328b8..40281a0 100644
--- a/src/ssl/tls13_client.cc
+++ b/src/ssl/tls13_client.cc
@@ -157,7 +157,7 @@
     }
 
     // The group must be supported.
-    if (!tls1_check_group_id(ssl, group_id)) {
+    if (!tls1_check_group_id(hs, group_id)) {
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
       OPENSSL_PUT_ERROR(SSL, SSL_R_WRONG_CURVE);
       return ssl_hs_error;
@@ -290,6 +290,18 @@
     return ssl_hs_error;
   }
 
+  if (ssl_is_draft28(ssl->version)) {
+    // Recheck supported_versions, in case this is the second ServerHello.
+    uint16_t version;
+    if (!have_supported_versions ||
+        !CBS_get_u16(&supported_versions, &version) ||
+        version != ssl->version) {
+      OPENSSL_PUT_ERROR(SSL, SSL_R_SECOND_SERVERHELLO_VERSION_MISMATCH);
+      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_ILLEGAL_PARAMETER);
+      return ssl_hs_error;
+    }
+  }
+
   alert = SSL_AD_DECODE_ERROR;
   if (have_pre_shared_key) {
     if (ssl->session == NULL) {
@@ -316,7 +328,7 @@
       return ssl_hs_error;
     }
 
-    if (!ssl_session_is_context_valid(ssl, ssl->session)) {
+    if (!ssl_session_is_context_valid(hs, ssl->session.get())) {
       // This is actually a client application bug.
       OPENSSL_PUT_ERROR(SSL,
                         SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT);
@@ -326,7 +338,8 @@
 
     ssl->s3->session_reused = true;
     // Only authentication information carries over in TLS 1.3.
-    hs->new_session = SSL_SESSION_dup(ssl->session, SSL_SESSION_DUP_AUTH_ONLY);
+    hs->new_session =
+        SSL_SESSION_dup(ssl->session.get(), SSL_SESSION_DUP_AUTH_ONLY);
     if (!hs->new_session) {
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
       return ssl_hs_error;
@@ -417,26 +430,19 @@
   }
 
   // Store the negotiated ALPN in the session.
-  if (!ssl->s3->alpn_selected.empty()) {
-    hs->new_session->early_alpn = (uint8_t *)BUF_memdup(
-        ssl->s3->alpn_selected.data(), ssl->s3->alpn_selected.size());
-    if (hs->new_session->early_alpn == NULL) {
-      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
-      return ssl_hs_error;
-    }
-    hs->new_session->early_alpn_len = ssl->s3->alpn_selected.size();
+  if (!hs->new_session->early_alpn.CopyFrom(ssl->s3->alpn_selected)) {
+    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
+    return ssl_hs_error;
   }
 
   if (ssl->s3->early_data_accepted) {
     if (hs->early_session->cipher != hs->new_session->cipher ||
-        MakeConstSpan(hs->early_session->early_alpn,
-                      hs->early_session->early_alpn_len) !=
+        MakeConstSpan(hs->early_session->early_alpn) !=
             ssl->s3->alpn_selected) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_ALPN_MISMATCH_ON_EARLY_DATA);
       return ssl_hs_error;
     }
-    if (ssl->s3->tlsext_channel_id_valid || hs->received_custom_extension ||
-        ssl->s3->token_binding_negotiated) {
+    if (ssl->s3->channel_id_valid || ssl->s3->token_binding_negotiated) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_UNEXPECTED_EXTENSION_ON_EARLY_DATA);
       return ssl_hs_error;
     }
@@ -535,8 +541,13 @@
   if (!ssl->method->get_message(ssl, &msg)) {
     return ssl_hs_read_message;
   }
-  if (!ssl_check_message_type(ssl, msg, SSL3_MT_CERTIFICATE) ||
-      !tls13_process_certificate(hs, msg, 0 /* certificate required */) ||
+
+  if (msg.type != SSL3_MT_COMPRESSED_CERTIFICATE &&
+      !ssl_check_message_type(ssl, msg, SSL3_MT_CERTIFICATE)) {
+    return ssl_hs_error;
+  }
+
+  if (!tls13_process_certificate(hs, msg, 0 /* certificate required */) ||
       !ssl_hash_message(hs, msg)) {
     return ssl_hs_error;
   }
@@ -629,8 +640,8 @@
   }
 
   // Call cert_cb to update the certificate.
-  if (ssl->cert->cert_cb != NULL) {
-    int rv = ssl->cert->cert_cb(ssl, ssl->cert->cert_cb_arg);
+  if (hs->config->cert->cert_cb != NULL) {
+    int rv = hs->config->cert->cert_cb(ssl, hs->config->cert->cert_cb_arg);
     if (rv == 0) {
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
       OPENSSL_PUT_ERROR(SSL, SSL_R_CERT_CB_ERROR);
@@ -652,9 +663,8 @@
 }
 
 static enum ssl_hs_wait_t do_send_client_certificate_verify(SSL_HANDSHAKE *hs) {
-  SSL *const ssl = hs->ssl;
   // Don't send CertificateVerify if there is no certificate.
-  if (!ssl_has_certificate(ssl)) {
+  if (!ssl_has_certificate(hs->config)) {
     hs->tls13_state = state_complete_second_flight;
     return ssl_hs_ok;
   }
@@ -680,13 +690,13 @@
   SSL *const ssl = hs->ssl;
 
   // Send a Channel ID assertion if necessary.
-  if (ssl->s3->tlsext_channel_id_valid) {
-    if (!ssl_do_channel_id_callback(ssl)) {
+  if (ssl->s3->channel_id_valid) {
+    if (!ssl_do_channel_id_callback(hs)) {
       hs->tls13_state = state_complete_second_flight;
       return ssl_hs_error;
     }
 
-    if (ssl->tlsext_channel_id_private == NULL) {
+    if (hs->config->channel_id_private == NULL) {
       return ssl_hs_channel_id_lookup;
     }
 
@@ -833,7 +843,7 @@
       !CBS_get_u32(&body, &session->ticket_age_add) ||
       !CBS_get_u8_length_prefixed(&body, &ticket_nonce) ||
       !CBS_get_u16_length_prefixed(&body, &ticket) ||
-      !CBS_stow(&ticket, &session->tlsext_tick, &session->tlsext_ticklen) ||
+      !session->ticket.CopyFrom(ticket) ||
       !CBS_get_u16_length_prefixed(&body, &extensions) ||
       CBS_len(&body) != 0) {
     ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
@@ -866,7 +876,7 @@
     return 0;
   }
 
-  if (have_early_data_info && ssl->cert->enable_early_data) {
+  if (have_early_data_info && ssl->enable_early_data) {
     if (!CBS_get_u32(&early_data_info, &session->ticket_max_early_data) ||
         CBS_len(&early_data_info) != 0) {
       ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_DECODE_ERROR);
@@ -875,12 +885,12 @@
     }
   }
 
-  session->ticket_age_add_valid = 1;
-  session->not_resumable = 0;
+  session->ticket_age_add_valid = true;
+  session->not_resumable = false;
 
-  if ((ssl->ctx->session_cache_mode & SSL_SESS_CACHE_CLIENT) &&
-      ssl->ctx->new_session_cb != NULL &&
-      ssl->ctx->new_session_cb(ssl, session.get())) {
+  if ((ssl->session_ctx->session_cache_mode & SSL_SESS_CACHE_CLIENT) &&
+      ssl->session_ctx->new_session_cb != NULL &&
+      ssl->session_ctx->new_session_cb(ssl, session.get())) {
     // |new_session_cb|'s return value signals that it took ownership.
     session.release();
   }
diff --git a/src/ssl/tls13_enc.cc b/src/ssl/tls13_enc.cc
index cc7afb8..84bc5d2 100644
--- a/src/ssl/tls13_enc.cc
+++ b/src/ssl/tls13_enc.cc
@@ -60,7 +60,7 @@
 int tls13_init_early_key_schedule(SSL_HANDSHAKE *hs, const uint8_t *psk,
                                   size_t psk_len) {
   SSL *const ssl = hs->ssl;
-  return init_key_schedule(hs, ssl_session_protocol_version(ssl->session),
+  return init_key_schedule(hs, ssl_session_protocol_version(ssl->session.get()),
                            ssl->session->cipher) &&
          HKDF_extract(hs->secret, &hs->hash_len, hs->transcript.Digest(), psk,
                       psk_len, hs->secret, hs->hash_len);
@@ -74,8 +74,7 @@
 
   ScopedCBB cbb;
   CBB child;
-  uint8_t *hkdf_label;
-  size_t hkdf_label_len;
+  Array<uint8_t> hkdf_label;
   if (!CBB_init(cbb.get(), 2 + 1 + strlen(kTLS13LabelVersion) + label_len + 1 +
                                hash_len) ||
       !CBB_add_u16(cbb.get(), len) ||
@@ -85,14 +84,12 @@
       !CBB_add_bytes(&child, (const uint8_t *)label, label_len) ||
       !CBB_add_u8_length_prefixed(cbb.get(), &child) ||
       !CBB_add_bytes(&child, hash, hash_len) ||
-      !CBB_finish(cbb.get(), &hkdf_label, &hkdf_label_len)) {
+      !CBBFinishArray(cbb.get(), &hkdf_label)) {
     return 0;
   }
 
-  int ret = HKDF_expand(out, len, digest, secret, secret_len, hkdf_label,
-                        hkdf_label_len);
-  OPENSSL_free(hkdf_label);
-  return ret;
+  return HKDF_expand(out, len, digest, secret, secret_len, hkdf_label.data(),
+                     hkdf_label.size());
 }
 
 static const char kTLS13LabelDerived[] = "derived";
@@ -413,7 +410,7 @@
 
 int tls13_write_psk_binder(SSL_HANDSHAKE *hs, uint8_t *msg, size_t len) {
   SSL *const ssl = hs->ssl;
-  const EVP_MD *digest = ssl_session_get_digest(ssl->session);
+  const EVP_MD *digest = ssl_session_get_digest(ssl->session.get());
   size_t hash_len = EVP_MD_size(digest);
 
   if (len < hash_len + 3) {
diff --git a/src/ssl/tls13_server.cc b/src/ssl/tls13_server.cc
index fe0449d..203e704 100644
--- a/src/ssl/tls13_server.cc
+++ b/src/ssl/tls13_server.cc
@@ -148,8 +148,18 @@
   return best;
 }
 
-static int add_new_session_tickets(SSL_HANDSHAKE *hs) {
+static bool add_new_session_tickets(SSL_HANDSHAKE *hs, bool *out_sent_tickets) {
   SSL *const ssl = hs->ssl;
+  if (// If the client doesn't accept resumption with PSK_DHE_KE, don't send a
+      // session ticket.
+      !hs->accept_psk_mode ||
+      // We only implement stateless resumption in TLS 1.3, so skip sending
+      // tickets if disabled.
+      (SSL_get_options(ssl) & SSL_OP_NO_TICKET)) {
+    *out_sent_tickets = false;
+    return true;
+  }
+
   // TLS 1.3 recommends single-use tickets, so issue multiple tickets in case
   // the client makes several connections before getting a renewal.
   static const int kNumTickets = 2;
@@ -162,14 +172,14 @@
     UniquePtr<SSL_SESSION> session(
         SSL_SESSION_dup(hs->new_session.get(), SSL_SESSION_INCLUDE_NONAUTH));
     if (!session) {
-      return 0;
+      return false;
     }
 
     if (!RAND_bytes((uint8_t *)&session->ticket_age_add, 4)) {
-      return 0;
+      return false;
     }
-    session->ticket_age_add_valid = 1;
-    if (ssl->cert->enable_early_data) {
+    session->ticket_age_add_valid = true;
+    if (ssl->enable_early_data) {
       session->ticket_max_early_data = kMaxEarlyDataAccepted;
     }
 
@@ -186,18 +196,18 @@
         !CBB_add_bytes(&nonce_cbb, nonce, sizeof(nonce)) ||
         !CBB_add_u16_length_prefixed(&body, &ticket) ||
         !tls13_derive_session_psk(session.get(), nonce) ||
-        !ssl_encrypt_ticket(ssl, &ticket, session.get()) ||
+        !ssl_encrypt_ticket(hs, &ticket, session.get()) ||
         !CBB_add_u16_length_prefixed(&body, &extensions)) {
-      return 0;
+      return false;
     }
 
-    if (ssl->cert->enable_early_data) {
+    if (ssl->enable_early_data) {
       CBB early_data_info;
       if (!CBB_add_u16(&extensions, TLSEXT_TYPE_early_data) ||
           !CBB_add_u16_length_prefixed(&extensions, &early_data_info) ||
           !CBB_add_u32(&early_data_info, session->ticket_max_early_data) ||
           !CBB_flush(&extensions)) {
-        return 0;
+        return false;
       }
     }
 
@@ -205,15 +215,16 @@
     if (!CBB_add_u16(&extensions,
                      ssl_get_grease_value(hs, ssl_grease_ticket_extension)) ||
         !CBB_add_u16(&extensions, 0 /* empty */)) {
-      return 0;
+      return false;
     }
 
     if (!ssl_add_message_cbb(ssl, cbb.get())) {
-      return 0;
+      return false;
     }
   }
 
-  return 1;
+  *out_sent_tickets = true;
+  return true;
 }
 
 static enum ssl_hs_wait_t do_select_parameters(SSL_HANDSHAKE *hs) {
@@ -302,7 +313,7 @@
   bool unused_renew;
   UniquePtr<SSL_SESSION> session;
   enum ssl_ticket_aead_result_t ret =
-      ssl_process_ticket(ssl, &session, &unused_renew, CBS_data(&ticket),
+      ssl_process_ticket(hs, &session, &unused_renew, CBS_data(&ticket),
                          CBS_len(&ticket), NULL, 0);
   switch (ret) {
     case ssl_ticket_aead_success:
@@ -383,20 +394,17 @@
       hs->new_session =
           SSL_SESSION_dup(session.get(), SSL_SESSION_DUP_AUTH_ONLY);
 
-      if (ssl->cert->enable_early_data &&
+      if (ssl->enable_early_data &&
           // Early data must be acceptable for this ticket.
           session->ticket_max_early_data != 0 &&
           // The client must have offered early data.
           hs->early_data_offered &&
           // Channel ID is incompatible with 0-RTT.
-          !ssl->s3->tlsext_channel_id_valid &&
+          !ssl->s3->channel_id_valid &&
           // If Token Binding is negotiated, reject 0-RTT.
           !ssl->s3->token_binding_negotiated &&
-          // Custom extensions is incompatible with 0-RTT.
-          hs->custom_extensions.received == 0 &&
           // The negotiated ALPN must match the one in the ticket.
-          ssl->s3->alpn_selected ==
-              MakeConstSpan(session->early_alpn, session->early_alpn_len)) {
+          MakeConstSpan(ssl->s3->alpn_selected) == session->early_alpn) {
         ssl->s3->early_data_accepted = true;
       }
 
@@ -425,14 +433,9 @@
   hs->new_session->cipher = hs->new_cipher;
 
   // Store the initial negotiated ALPN in the session.
-  if (!ssl->s3->alpn_selected.empty()) {
-    hs->new_session->early_alpn = (uint8_t *)BUF_memdup(
-        ssl->s3->alpn_selected.data(), ssl->s3->alpn_selected.size());
-    if (hs->new_session->early_alpn == NULL) {
-      ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
-      return ssl_hs_error;
-    }
-    hs->new_session->early_alpn_len = ssl->s3->alpn_selected.size();
+  if (!hs->new_session->early_alpn.CopyFrom(ssl->s3->alpn_selected)) {
+    ssl_send_alert(ssl, SSL3_AL_FATAL, SSL_AD_INTERNAL_ERROR);
+    return ssl_hs_error;
   }
 
   if (ssl->ctx->dos_protection_cb != NULL &&
@@ -599,10 +602,10 @@
 
   if (!ssl->s3->session_reused) {
     // Determine whether to request a client certificate.
-    hs->cert_request = !!(ssl->verify_mode & SSL_VERIFY_PEER);
+    hs->cert_request = !!(hs->config->verify_mode & SSL_VERIFY_PEER);
     // Only request a certificate if Channel ID isn't negotiated.
-    if ((ssl->verify_mode & SSL_VERIFY_PEER_IF_NO_OBC) &&
-        ssl->s3->tlsext_channel_id_valid) {
+    if ((hs->config->verify_mode & SSL_VERIFY_PEER_IF_NO_OBC) &&
+        ssl->s3->channel_id_valid) {
       hs->cert_request = false;
     }
   }
@@ -635,13 +638,13 @@
       }
     }
 
-    if (ssl_has_client_CAs(ssl)) {
+    if (ssl_has_client_CAs(hs->config)) {
       CBB ca_contents;
       if (!CBB_add_u16(&cert_request_extensions,
                        TLSEXT_TYPE_certificate_authorities) ||
           !CBB_add_u16_length_prefixed(&cert_request_extensions,
                                        &ca_contents) ||
-          !ssl_add_client_CA_list(ssl, &ca_contents) ||
+          !ssl_add_client_CA_list(hs, &ca_contents) ||
           !CBB_flush(&cert_request_extensions)) {
         return ssl_hs_error;
       }
@@ -654,7 +657,7 @@
 
   // Send the server Certificate message, if necessary.
   if (!ssl->s3->session_reused) {
-    if (!ssl_has_certificate(ssl)) {
+    if (!ssl_has_certificate(hs->config)) {
       OPENSSL_PUT_ERROR(SSL, SSL_R_NO_CERTIFICATE_SET);
       return ssl_hs_error;
     }
@@ -731,11 +734,12 @@
     assert(hs->hash_len <= 0xff);
     uint8_t header[4] = {SSL3_MT_FINISHED, 0, 0,
                          static_cast<uint8_t>(hs->hash_len)};
+    bool unused_sent_tickets;
     if (!hs->transcript.Update(header) ||
         !hs->transcript.Update(
             MakeConstSpan(hs->expected_client_finished, hs->hash_len)) ||
         !tls13_derive_resumption_secret(hs) ||
-        !add_new_session_tickets(hs)) {
+        !add_new_session_tickets(hs, &unused_sent_tickets)) {
       return ssl_hs_error;
     }
   }
@@ -805,7 +809,7 @@
   }
 
   const int allow_anonymous =
-      (ssl->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) == 0;
+      (hs->config->verify_mode & SSL_VERIFY_FAIL_IF_NO_PEER_CERT) == 0;
   SSLMessage msg;
   if (!ssl->method->get_message(ssl, &msg)) {
     return ssl_hs_read_message;
@@ -824,7 +828,7 @@
 static enum ssl_hs_wait_t do_read_client_certificate_verify(
     SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
-  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs) == 0) {
+  if (sk_CRYPTO_BUFFER_num(hs->new_session->certs.get()) == 0) {
     // Skip this state.
     hs->tls13_state = state_read_channel_id;
     return ssl_hs_ok;
@@ -858,7 +862,7 @@
 
 static enum ssl_hs_wait_t do_read_channel_id(SSL_HANDSHAKE *hs) {
   SSL *const ssl = hs->ssl;
-  if (!ssl->s3->tlsext_channel_id_valid) {
+  if (!ssl->s3->channel_id_valid) {
     hs->tls13_state = state_read_client_finished;
     return ssl_hs_ok;
   }
@@ -912,19 +916,13 @@
 }
 
 static enum ssl_hs_wait_t do_send_new_session_ticket(SSL_HANDSHAKE *hs) {
-  // If the client doesn't accept resumption with PSK_DHE_KE, don't send a
-  // session ticket.
-  if (!hs->accept_psk_mode) {
-    hs->tls13_state = state_done;
-    return ssl_hs_ok;
-  }
-
-  if (!add_new_session_tickets(hs)) {
+  bool sent_tickets;
+  if (!add_new_session_tickets(hs, &sent_tickets)) {
     return ssl_hs_error;
   }
 
   hs->tls13_state = state_done;
-  return ssl_hs_flush;
+  return sent_tickets ? ssl_hs_flush : ssl_hs_ok;
 }
 
 enum ssl_hs_wait_t tls13_server_handshake(SSL_HANDSHAKE *hs) {
diff --git a/src/ssl/tls_method.cc b/src/ssl/tls_method.cc
index 2ad2817..2af5171 100644
--- a/src/ssl/tls_method.cc
+++ b/src/ssl/tls_method.cc
@@ -95,6 +95,10 @@
 }
 
 static bool ssl3_set_write_state(SSL *ssl, UniquePtr<SSLAEADContext> aead_ctx) {
+  if (!tls_flush_pending_hs_data(ssl)) {
+    return false;
+  }
+
   OPENSSL_memset(ssl->s3->write_sequence, 0, sizeof(ssl->s3->write_sequence));
   ssl->s3->aead_write_ctx = std::move(aead_ctx);
   return true;
@@ -141,16 +145,18 @@
 }
 static void ssl_noop_x509_session_clear(SSL_SESSION *session) {}
 static int ssl_noop_x509_session_verify_cert_chain(SSL_SESSION *session,
-                                                   SSL *ssl,
+                                                   SSL_HANDSHAKE *hs,
                                                    uint8_t *out_alert) {
   return 0;
 }
 
 static void ssl_noop_x509_hs_flush_cached_ca_names(SSL_HANDSHAKE *hs) {}
-static int ssl_noop_x509_ssl_new(SSL *ctx) { return 1; }
-static void ssl_noop_x509_ssl_free(SSL *ctx) { }
-static void ssl_noop_x509_ssl_flush_cached_client_CA(SSL *ssl) {}
-static int ssl_noop_x509_ssl_auto_chain_if_needed(SSL *ssl) { return 1; }
+static int ssl_noop_x509_ssl_new(SSL_HANDSHAKE *hs) { return 1; }
+static void ssl_noop_x509_ssl_config_free(SSL_CONFIG *cfg) {}
+static void ssl_noop_x509_ssl_flush_cached_client_CA(SSL_CONFIG *cfg) {}
+static int ssl_noop_x509_ssl_auto_chain_if_needed(SSL_HANDSHAKE *hs) {
+  return 1;
+}
 static int ssl_noop_x509_ssl_ctx_new(SSL_CTX *ctx) { return 1; }
 static void ssl_noop_x509_ssl_ctx_free(SSL_CTX *ctx) { }
 static void ssl_noop_x509_ssl_ctx_flush_cached_client_CA(SSL_CTX *ctx) {}
@@ -168,7 +174,7 @@
   ssl_noop_x509_session_verify_cert_chain,
   ssl_noop_x509_hs_flush_cached_ca_names,
   ssl_noop_x509_ssl_new,
-  ssl_noop_x509_ssl_free,
+  ssl_noop_x509_ssl_config_free,
   ssl_noop_x509_ssl_flush_cached_client_CA,
   ssl_noop_x509_ssl_auto_chain_if_needed,
   ssl_noop_x509_ssl_ctx_new,
diff --git a/src/third_party/fiat/curve25519.c b/src/third_party/fiat/curve25519.c
index 0fdf1d9..60da1c8 100644
--- a/src/third_party/fiat/curve25519.c
+++ b/src/third_party/fiat/curve25519.c
@@ -1615,7 +1615,7 @@
   if (fe_isnonzero(&check)) {
     fe_add(&check, &vxx, &u);
     if (fe_isnonzero(&check)) {
-      return -1;
+      return 0;
     }
     fe_mul_ttt(&h->X, &h->X, &sqrtm1);
   }
@@ -1627,7 +1627,7 @@
   }
 
   fe_mul_ttt(&h->T, &h->X, &h->Y);
-  return 0;
+  return 1;
 }
 
 static void ge_p2_0(ge_p2 *h) {
@@ -2996,7 +2996,7 @@
                    const uint8_t signature[64], const uint8_t public_key[32]) {
   ge_p3 A;
   if ((signature[63] & 224) != 0 ||
-      x25519_ge_frombytes_vartime(&A, public_key) != 0) {
+      !x25519_ge_frombytes_vartime(&A, public_key)) {
     return 0;
   }
 
@@ -3062,7 +3062,7 @@
   SHA512(seed, 32, az);
 
   az[0] &= 248;
-  az[31] &= 63;
+  az[31] &= 127;
   az[31] |= 64;
 
   ge_p3 A;
@@ -3184,9 +3184,9 @@
   // This does not affect security because, although we're throwing away
   // entropy, a valid implementation of scalarmult should throw away the exact
   // same bits anyway.
-  out_private_key[0] |= 7;
-  out_private_key[31] &= 63;
-  out_private_key[31] |= 128;
+  out_private_key[0] |= ~248;
+  out_private_key[31] &= ~64;
+  out_private_key[31] |= ~127;
 
   X25519_public_from_private(out_public_value, out_private_key);
 }
diff --git a/src/third_party/wycheproof/METADATA b/src/third_party/wycheproof/METADATA
deleted file mode 100644
index ec918b7..0000000
--- a/src/third_party/wycheproof/METADATA
+++ /dev/null
@@ -1,14 +0,0 @@
-name: "Project Wycheproof"
-description: "Project Wycheproof tests crypto libraries against known attacks."
-
-third_party {
-  url {
-    type: GIT
-    value: "https://github.com/google/wycheproof"
-  }
-  version: "16b1d26f28280de2479cc5f0595f936088c515fe"
-  last_upgrade_date { year: 2018 month: 4 day: 26 }
-
-  local_modifications: "Only the testvectors directory checked in. txt files "
-  "are generated by convert_wycheproof.go script."
-}
diff --git a/src/third_party/wycheproof/ecdh_test.json b/src/third_party/wycheproof/ecdh_test.json
deleted file mode 100644
index 19eb9ba..0000000
--- a/src/third_party/wycheproof/ecdh_test.json
+++ /dev/null
@@ -1,13286 +0,0 @@
-{
-  "algorithm" : "ECDH",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 1223,
-  "notes" : {
-    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
-    "CVE_2017_10176" : "This test vector leads to an EC point multiplication where an intermediate result can be the point at infinity, if addition-subtraction chains are used to speed up the point multiplication.",
-    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
-    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
-    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
-    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
-    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
-    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
-  },
-  "header" : [],
-  "testGroups" : [
-    {
-      "curve" : "secp224r1",
-      "tests" : [
-        {
-          "tcId" : 1,
-          "comment" : "normal case",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00047d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc719b01d050dfbe653e72f39491be87fb1a2742daa6e0a2aada98bb1aca",
-          "private" : "565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328",
-          "shared" : "b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 2,
-          "comment" : "compressed public key",
-          "curve" : "secp224r1",
-          "public" : "3032301006072a8648ce3d020106052b81040021031e00027d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc71",
-          "private" : "565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328",
-          "shared" : "b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 3,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00045763fa2ae16367ad23d471cc9a52466f0d81d864e5640cefe384114594d9fecfbed4f254505ac8b41d2532055a07f0241c4818b552cbb636",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "00000000000000000000000100000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 4,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004142c1fd80fa2121a59aa898144084ec033f7a56a34eee0b499e29ae51c6d8c1bbb1ef2a76d565899fe44ffc1207d530d7f598fb77f4bb76b",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "00000000000000ffffffffffffff0000000000000100000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 5,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ed6f793e10c80d12d871cf8988399c4898a9bf9ffd8f27399f63de25f0051cdf4eec7f368f922cfcd948893ceca0c92e540cc4367a99a66a",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "00000000ffffffffffffffff00000000000000010000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 6,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a000408fcfc1a63c82860be12e4137433dfc40be9acdd245f9a8c4e56be61a385fc09f808383383f4b1d0d5365b6e5dcfacdc19bc7bcfed221274",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 7,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004d883ed77f1861e8712800d31df67888fe39f150c79a27aa88caeda6b180f3f623e2ff3ab5370cf8179165b085af3dd4502850c0104caed9a",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "0003fffffff00000003fffffff00000003fffffff000000040000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 8,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00042b8b279b85ee3f3d2c0abeb36fdfc5aad6157d652d26489381a32cd73224bd757ef794acc92b0b3b9e7990618bb343a9a09bdb9d3616eff6",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "01fffffffc00000007fffffff00000001fffffffc000000080000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 9,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004a281ad992b363597ac93ff0de8ab1f7e51a6672dcbb58f9d739ba430ce0192874038daefc3130eec65811c7255da70fea65c1003f6892faa",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 10,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004be3e22133f51203f631b81dde8c020cdea5daa1f99cfc05c88fad2dc0f243798d6e72d1de9e3cdca4144e0a6c0f2a584d07589006972c197",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 11,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004af14547c20afbd91bfe64ea03d45a76a71241f23520ef897ff91eff1b54ca6ca8c25fd73852ec6654617434eff7f0225684d4dea7a4f8a97",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 12,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004b1e484925018729926acda56ff3e2f6c1e7e8f162b178d8e8afb45564fceaa6da5d998fe26b6b26a055169063a5ab6908852ca8b54e2de6c",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 13,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004937eb09fb145c8829cb7df20a4cbeed396791373de277871d6c5f9cc3b5b4fd56464a71fc4a2a6af3bd251952bffa829489e68a8d06f96b6",
-          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
-          "shared" : "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 14,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000001000000000000000000000000000000012ea2f4917bdfdb008306cc10a18e2557633ba861001829dcbfb96fba",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "be1ded8cb7ff8a585181f96d681e31b332fe27dcae922dca2310300d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 15,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a000400000000000000ffffffffffffff000000000000010000000000000073ca5f8f104997a2399e0c7f25e72a75ec29fc4542533d3fea89a33a",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "a2e86a260e13515918a0cafdd87855f231b5624c560f976159e06a75",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 16,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a000400000000ffffffffffffffff000000000000000100000000000000006fe6805f59b19b0dd389452a1d4a420bfeb6c369cf6fed5b12e6e654",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "31ef7c8d10404a0046994f313a70574b027e87f9028eca242c1b5bf5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 17,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff77c5cfa4e2c384938d48bd8dd98f54c86b279f1df8c0a1f6692439c9",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "d1976a8ef5f54f24f5a269ad504fdca849fc9c28587ba294ef267396",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 18,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00040003fffffff00000003fffffff00000003fffffff00000004000000001f0828136016bb97445461bc59f2175d8d23557d6b9381f26136e3d",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "ce7890d108ddb2e5474e6417fcf7a9f2b3bd018816062f4835260dc8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 19,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a000401fffffffc00000007fffffff00000001fffffffc0000000800000012d8acca6f199d4a94b933ba1aa713a7debde8ac57b928f596ae66a66",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "30b6ff6e8051dae51e4fe34b2d9a0b1879153e007eb0b5bdf1791a9c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 20,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff7d8dbca36c56bcaae92e3475f799294f30768038e816a7d5f7f07d77",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "73bd63bd384a0faafb75cfed3e95d3892cbacf0db10f282c3b644771",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 21,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800174f1ff5ea7fbc72b92f61e06556c26bab84c0b082dd6400ca1c1eb6d",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "85b079c62e1f5b0fd6841dfa16026e15b641f65e13a14042567166bb",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 22,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0126fdd5fccd0b5aa7fd5bb5b1308584b30556248cec80208a2fe962",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "8a834ff40e3fc9f9d412a481e18537ea799536c5520c6c7baaf12166",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 23,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff20cfa23077acc9fbcb71339c65880cd0b966b8a9497e65abed17f0b5",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "a0887269766e6efcbc81d2b38f2d4638663f12377468a23421044188",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 24,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1c05ac2d4f10b69877c3243d51f887277b7bf735c326ab2f0d70da8c",
-          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
-          "shared" : "c65d1911bc076a74588d8793ce7a0dcabf5793460cd2ebb02754a1be",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 25,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "3",
-          "shared" : "e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 26,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "fa2664717c7fa0161ec2c669b2c0986cdc20456a6e5406302bb53c77",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 27,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "1000000000000000000000000000000000000000000000000000000",
-          "shared" : "af6e5ad34497bae0745f53ad78ce8b285d79f400d5c6e6a071f8e6bd",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 28,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "12fd302ff8c13c55a9c111f8bb6b0a13ecf88299c0ae3032ce2bcaff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 29,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "080000000000000000000000000000000000000000000000000000000",
-          "shared" : "73f1a395b842f1a6752ae417e2c3dc90cafc4476d1d861b7e68ad030",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 30,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03d13dd29455c5c2a3d",
-          "shared" : "b329c20ddb7c78ee4e622bb23a984c0d273ba34b6269f3d9e8f89f8e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 31,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13cd29455c5c2a3d",
-          "shared" : "6f48345209b290ffc5abbe754a201479e5d667a209468080d06197b4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 32,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13d529455c5c2a3d",
-          "shared" : "9f6e30c1c9dad42a153aacd4b49a8e5c721d085cd07b5d5aec244fc1",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 33,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29445c5c2a3d",
-          "shared" : "8cadfb19a80949e61bd5b829ad0e76d18a5bb2eeb9ed7fe2b901cecd",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 34,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29b7",
-          "shared" : "475fd96e0eb8cb8f100a5d7fe043a7a6851d1d611da2643a3c6ae708",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 35,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37",
-          "shared" : "41ef931d669d1f57d8bb95a01a92321da74be8c6cbc3bbe0b2e73ebd",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 36,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
-          "shared" : "e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 37,
-          "comment" : "edge case private key",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
-          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b",
-          "shared" : "11ff15126411299cbd49e2b7542e69e91ef132e2551a16ecfebb23a3",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 38,
-          "comment" : "public point not on curve",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5d",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 39,
-          "comment" : "public point = (0,0)",
-          "curve" : "secp224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 40,
-          "comment" : "order = -26959946667150639794667015087019625940457807714424391721682722368061",
-          "curve" : "secp224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021dff0000000000000000000000000000e95d1f470fc1ec22d6baa3a3d5c3020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 41,
-          "comment" : "order = 0",
-          "curve" : "secp224r1",
-          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020100020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 42,
-          "comment" : "order = 1",
-          "curve" : "secp224r1",
-          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020101020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 43,
-          "comment" : "order = 6277101735386680763835789423207665314073163949517624387909",
-          "curve" : "secp224r1",
-          "public" : "3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021900ffffffffffffffffffffffffffff16a2e0b8f03e13dd2945020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 44,
-          "comment" : "generator = (0,0)",
-          "curve" : "secp224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb40439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 45,
-          "comment" : "generator not on curve",
-          "curve" : "secp224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e36021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 46,
-          "comment" : "cofactor = -1",
-          "curve" : "secp224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 47,
-          "comment" : "cofactor = 0",
-          "curve" : "secp224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 48,
-          "comment" : "cofactor = 2",
-          "curve" : "secp224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020102033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 49,
-          "comment" : "cofactor = 26959946667150639794667015087019625940457807714424391721682722368061",
-          "curve" : "secp224r1",
-          "public" : "3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 50,
-          "comment" : "cofactor = None",
-          "curve" : "secp224r1",
-          "public" : "308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 51,
-          "comment" : "modified prime",
-          "curve" : "secp224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c123da0a46a971da9468161e61a5c71a02e6c9bdb3392f4016fb457b303c041c3edc25f5b9568e256b97e9e19e5a38e4fd1936424cc6d0bfe904ba83041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 52,
-          "comment" : "using secp256r1",
-          "curve" : "secp224r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
-          "comment" : "using secp256k1",
-          "curve" : "secp224r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 54,
-          "comment" : "a = 0",
-          "curve" : "secp224r1",
-          "public" : "3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff0000000000000000000000013021040100041cd0d5e347a38ce5b6e1f47edddd8a223bca45d2015de76ec835a4df57043904a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 55,
-          "comment" : "public key of order 3",
-          "curve" : "secp224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041c5f016b6ef7c87f09477c524fd38cddb24f4e259de4ad4a1f46ddea0e041c1d95579037de3d9d658893716efe3a3569ce699b5d20356e8f83b31e0439049d1a9a4c437596755a6277bd634e4e5a793c5007be2ac3523205e0c5c554f8662ec70ce451c617dda9d184131d1825f5b58c4f8012c48529021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a00049d1a9a4c437596755a6277bd634e4e5a793c5007be2ac3523205e0c53aab0799d138f31bae39e822562e7bebe2e7da0a4a73b07fed3b7ad8",
-          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 56,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ea36cf70fab75684eabe6569ce623db0deaa8c95f61c8be50b8b9f3eb7d4b9ec48d9e4814f4cb1c286589eaaa990d3f3238b2d6d6be964abfad964824b653376",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 57,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200044b2470ad3d13269c10a17d222ebdffbd61fb04488db1b1d7caef8d4988b7bb8ba6d81857a05b255232b9e37a30e328bb9d9c42d86096f2bcee3d258cfe208d2fd03cbd5ccc6a3bb8ce4b0efa5b059b4afbd0377aa6e274721a57efe8ee85d86a",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 58,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004012841a2260f0f1f424865fef275374779bf0355720223f8ec6a9ba767b1603b492f58a6bba1705d882257bc6be1935de4411c5f1fdad44ec65ba8b97ce0e73e1ac90006937832a602147e37c1a42ca2a63629ffc9a35b31bfacb38c6242b42916125f7446b45c718f797259bc3011cb71e868560b331cf7d01139a0643443f9fd7306c1",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 59,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004c2199fecf75648c0e952dff143821fa4012b28f90435ce6ee54653687f969a76092a3844e17d478a594f43b28cc10a5c553b4f64906121031c3a79299c70dbd6",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 60,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00046caa3d6d86f792df7b29e41eb4203150f60f4fca10f57d0b2454abfb201f9f7e6dcbb92bdcfb9240dc86bcaeaf157c77bca22b2ec86ee8d6",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 61,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200042750180012c3ba7489517d428e4826784e50b50ac42ef7991c61a396c03a52da5e74908ae8a89627a7c15e554b105b0ebaeebcfed10e3ea60223d0a8bc3b36ab",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 62,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200045b523d3a8f20f6a569c6951e0b8de48d89e7549a184e8506820421c3e404473692cd248d7480843b911d87a87e401112fce0d3d2c36978cf6dd7f1d93bfaebe0827d4bf4006006d3202e842126fe1b68",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 63,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004449607c76c6dc7334c269a0ebab5beec83b6c263377ce06ef5c276f45a9916eff85f50438f5f32ced0210a6c414fe5e242c7c1070823f5395b35965bda6758acf84725f11ea836dda7d391fee91342026645241853224a437a6fb74e4cdc871f",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 64,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000463e7a491240848e4f53ea5fb857d428c493053193e4b0b4f995ac8bf4c56276a507870131a384aa7e236c64cd7a049a1b37e40ad00c3b8a920dcbad6531616356ce1b6e6d96a7d1b693e25e5abd83ab560a3d764bcd49ec98a1b49421163bd5fc5a625f44c91eb4c2984d5a2e51e816ebdee8fbe08364bb14b7ac876990e64d9",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 65,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047c592ecb8908355d1ebf8d59b3619275dbe3666209b72ced6a3c88740456ce61d6a84e0542d7cd10dd8804afb8c784d5dffd9480d8cfdc95",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 66,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004746226a3e005c37ede51828d3375ef91ebd0ff719a380af69d7dfd131b42a3e8917d4a4d573872935a74d1040f1c47d25d6b26f4156cccdcdc11833b9cde433a",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 67,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200043298b36825c7bd90ab5157b913d40bbfd732a0de0557e02a2c65a0c223e9a65d62c32462040dd6fe578103023c831caff122c1ed4b8ff7373fa2f08d11c9f4c7f85f81802262ffed9bb82cb6d92eed2d",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 68,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200043af2849b981f7e5e6ab936e6abb4f206c1fd5561998df8008bfe98d84173c9f2301cdbd5bffc569c0b5a57ce2a8f4d640f1816475fc6043baa8e5a3453bf327b54cb29c7e54a5f31348969aa94615094dbcd1a8e5c2d630465e45fc556c02194",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 69,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp224r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000453d2506047e72af6d98558e1633ecb7e6a05c37861cd3289455cf41bfbf1703f2e9a83052b8eca7d84cba2f001abd8b978f68b69ed6bd874755c44d347fe302c5760b2078c56b24ebd0dcd99f26b8f8a23044b3767a3d2a306587687a7b00668974674edbf18c3db2f3473a97ee77065fdcdd1a9aa053716a4c504f3d18b9170",
-          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 70,
-          "comment" : "invalid public key",
-          "curve" : "secp224r1",
-          "public" : "3032301006072a8648ce3d020106052b81040021031e00020ca753db5ddeca474241f8d2dafc0844343fd0e37eded2f0192d51b2",
-          "private" : "0fc28a0ca0f8e36b0d4f71421845135a22aef543b9fddf8c775b2d18f",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "secp256r1",
-      "tests" : [
-        {
-          "tcId" : 71,
-          "comment" : "normal case",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf",
-          "private" : "612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346",
-          "shared" : "53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 72,
-          "comment" : "compressed public key",
-          "curve" : "secp256r1",
-          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000362d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26",
-          "private" : "612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346",
-          "shared" : "53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 73,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000458fd4168a87795603e2b04390285bdca6e57de6027fe211dd9d25e2212d29e62080d36bd224d7405509295eed02a17150e03b314f96da37445b0d1d29377d12c",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 74,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040f6d20c04261ecc3e92846acad48dc8ec5ee35ae0883f0d2ea71216906ee1c47c042689a996dd12830ae459382e94aac56b717af2e2080215f9e41949b1f52be",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 75,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400c7defeb1a16236738e9a1123ba621bc8e9a3f2485b3f8ffde7f9ce98f5a8a1cb338c3912b1792f60c2b06ec5231e2d84b0e596e9b76d419ce105ece3791dbc",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "0000000000000000ffffffffffffffff00000000000000010000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 76,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e9b98fb2c0ac045f8c76125ffd99eb8a5157be1d7db3e85d655ec1d8210288cf218df24fd2c2746be59df41262ef3a97d986744b2836748a7486230a319ffec0",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 77,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e9484e58f3331b66ffed6d90cb1c78065fa28cfba5c7dd4352013d3252ee4277bd7503b045a38b4b247b32c59593580f39e6abfa376c3dca20cf7f9cfb659e13",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 78,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004767d7fbb84aa6a4db1079372644e42ecb2fec200c178822392cb8b950ffdd0c91c86853cafd09b52ba2f287f0ebaa26415a3cfabaf92c6a617a19988563d9dea",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 79,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f3cb6754b7e2a86d064dfb9f903185aaa4c92b481c2c1a1ff276303bbc4183e49c318599b0984c3563df339311fe143a7d921ee75b755a52c6f804f897b809f7",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 80,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cce13fbdc96a946dfb8c6d9ed762dbd1731630455689f57a437fee124dd54cecaef78026c653030cf2f314a67064236b0a354defebc5e90c94124e9bf5c4fc24",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "8000000000000000000000000000000000000000000000000000000000000004",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047633dfd0ad06765097bc11bd5022b200df31f28c4ff0625421221ac7eeb6e6f4cb9c67693609ddd6f92343a5a1c635408240f4f8e27120c12554c7ff8c76e2fe",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a386ace573f87558a68ead2a20088e3fe928bdae9e109446f93a078c15741f0421261e6db2bf12106e4c6bf85b9581b4c0302a526222f90abc5a549206b11011",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048e7b50f7d8c44d5d3496c43141a502f4a43f153d03ad43eda8e39597f1d477b8647f3da67969b7f989ff4addc393515af40c82085ce1f2ee195412c6f583774f",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c827fb930fd51d926086191b502af83abb5f717debc8de29897a3934b2571ca05990c0597b0b7a2e42febd56b13235d1d408d76ed2c93b3facf514d902f6910a",
-          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
-          "shared" : "ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "cfe4077c8730b1c9384581d36bff5542bc417c9eff5c2afcb98cc8829b2ce848",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff4f2b92b4c596a5a47f8b041d2dea6043021ac77b9a80b1343ac9d778f4f8f733",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "49ae50fe096a6cd26698b78356b2c8adf1f6a3490f14e364629f7a0639442509",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000ffffffffffffffff0000000000000001000000000000000138120be6ab31edfa34768c4387d2f84fb4b0be8a9a985864a1575f4436bb37b0",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "5a1334572b2a711ead8b4653eb310cd8d9fd114399379a8f6b872e3b8fdda2d9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000ffffffff00000000ffffffff00000000ffffffff0000000100000000462c0466e41802238d6c925ecbefc747cfe505ea196af9a2d11b62850fce946e",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "c73755133b6b9b4b2a00631cbc7940ecbe6ec08f20448071422e3362f2556888",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff1582fa32e2d4a89dfcfb3d0b149f667dba3329490f4d64ee2ad586c0c9e8c508",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "06fa1059935e47a9fd667e13f469614eb257cc9a7e3fc599bfb92780d59b146d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001684c8a9586ed6f9cbe447058a7da2108bab1e5e0a60d1f73e4e2e713f0a3dfe0",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "f237df4c10bd3e357971bb2b16b293566b7e355bdc8141d6c92cabc682983c45",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 91,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff2e2213caf03033e0fd0f7951154f6e6c3a9244a72faca65e9ce9eeb5c8e1cea9",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "55d0a203e22ffb523c8d2705060cee9d28308b51f184beefc518cff690bad346",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 92,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000480000000000000000000000000000000000000000000000000000000000000042be8789db81bb4870a9e60c5c18c80c83de464277281f1af1e640843a1a3148e",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "2518d846e577d95e9e7bc766cde7997cb887fb266d3a6cb598a839fd54aa2f4f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000722540f8a471c379083c600b58fde4d95c7dcad5095f4219fc5e9bdde3c5cd39",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "bdb49f4bdf42ac64504e9ce677b3ec5c0a03828c5b3efad726005692d35c0f26",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff5df80fc6cae26b6c1952fbd00ed174ee1209d069335f5b48588e29e80b9191ad",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "f503ac65637e0f17cb4408961cb882c875e4c6ef7a548d2d52d8c2f681838c55",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 95,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2c63650e6a5d332e2987dd09a79008e8faabbd37e49cb016bfb92c8cd0f5da77",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "e3c18e7d7377dc540bc45c08d389bdbe255fa80ca8faf1ef6b94d52049987d21",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 96,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff7a116c964a4cd60668bf89cffe157714a3ce21b93b3ca607c8a5b93ac54ffc0a",
-          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
-          "shared" : "516d6d329b095a7c7e93b4023d4d05020c1445ef1ddcb3347b3a27d7d7f57265",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 97,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "3",
-          "shared" : "85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 98,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "a329a7d80424ea2d6c904393808e510dfbb28155092f1bac284dceda1f13afe5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 99,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "100000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "bd26d0293e8851c51ebe0d426345683ae94026aca545282a4759faa85fde6687",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 100,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "ea9350b2490a2010c7abf43fb1a38be729a2de375ea7a6ac34ff58cc87e51b6c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 101,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "34eed3f6673d340b6f716913f6dfa36b5ac85fa667791e2d6a217b0c0b7ba807",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 102,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e83f3b9cac2fc632551",
-          "shared" : "1354ce6692c9df7b6fc3119d47c56338afbedccb62faa546c0fe6ed4959e41c3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 103,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3a9cac2fc632551",
-          "shared" : "fe7496c30d534995f0bf428b5471c21585aaafc81733916f0165597a55d12cb4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 104,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b1cac2fc632551",
-          "shared" : "348bf8042e4edf1d03c8b36ab815156e77c201b764ed4562cfe2ee90638ffef5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 105,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac1fc632551",
-          "shared" : "6e4ec5479a7c20a537501700484f6f433a8a8fe53c288f7a25c8e8c92d39e8dc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 106,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324f3",
-          "shared" : "f7407d61fdf581be4f564621d590ca9b7ba37f31396150f9922f1501da8c83ef",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 107,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632533",
-          "shared" : "82236fd272208693e0574555ca465c6cc512163486084fa57f5e1bd2e2ccc0b3",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 108,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632543",
-          "shared" : "06537149664dba1a9924654cb7f787ed224851b0df25ef53fcf54f8f26cd5f3f",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 109,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254b",
-          "shared" : "f2b38539bce995d443c7bfeeefadc9e42cc2c89c60bf4e86eac95d51987bd112",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 110,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
-          "shared" : "85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 111,
-          "comment" : "edge case private key",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
-          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f",
-          "shared" : "027b013a6f166db655d69d643c127ef8ace175311e667dff2520f5b5c75b7659",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 112,
-          "comment" : "CVE-2017-8932",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004023819813ac969847059028ea88a1f30dfbcde03fc791d3a252c6b41211882eaf93e4ae433cc12cf2a43fc0ef26400c0e125508224cdb649380f25479148a4ad",
-          "private" : "2a265f8bcbdcaf94d58519141e578124cb40d64a501fba9c11847b28965bc737",
-          "shared" : "4d4de80f1534850d261075997e3049321a0864082d24a917863366c0724f5ae3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 113,
-          "comment" : "CVE-2017-8932",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cc11887b2d66cbae8f4d306627192522932146b42f01d3c6f92bd5c8ba739b06a2f08a029cd06b46183085bae9248b0ed15b70280c7ef13a457f5af382426031",
-          "private" : "313f72ff9fe811bf573176231b286a3bdb6f1b14e05c40146590727a71c3bccd",
-          "shared" : "831c3f6b5f762d2f461901577af41354ac5f228c2591f84f8a6e51e2e3f17991",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 114,
-          "comment" : "public point not on curve",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764c",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 115,
-          "comment" : "public point = (0,0)",
-          "curve" : "secp256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 116,
-          "comment" : "order = -115792089210356248762697446949407573529996955224135760342422259061068512044369",
-          "curve" : "secp256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f50221ff00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 117,
-          "comment" : "order = 0",
-          "curve" : "secp256r1",
-          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020100020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 118,
-          "comment" : "order = 1",
-          "curve" : "secp256r1",
-          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020101020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 119,
-          "comment" : "order = 26959946660873538060741835960514744168612397095220107664918121663170",
-          "curve" : "secp256r1",
-          "public" : "3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5021d00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 120,
-          "comment" : "generator = (0,0)",
-          "curve" : "secp256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b04410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 121,
-          "comment" : "generator not on curve",
-          "curve" : "secp256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f7022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 122,
-          "comment" : "cofactor = -1",
-          "curve" : "secp256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 123,
-          "comment" : "cofactor = 0",
-          "curve" : "secp256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 124,
-          "comment" : "cofactor = 2",
-          "curve" : "secp256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 125,
-          "comment" : "cofactor = 115792089210356248762697446949407573529996955224135760342422259061068512044369",
-          "curve" : "secp256r1",
-          "public" : "308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 126,
-          "comment" : "cofactor = None",
-          "curve" : "secp256r1",
-          "public" : "308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 127,
-          "comment" : "modified prime",
-          "curve" : "secp256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fd091059a6893635f900e9449d63f572b2aebc4cff7b4e5e33f1b200e8bbc1453044042002f6efa55976c9cb06ff16bb629c0a8d4d5143b40084b1a1cc0e4dff17443eb704205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 128,
-          "comment" : "using secp224r1",
-          "curve" : "secp256r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "using secp256k1",
-          "curve" : "secp256r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "a = 0",
-          "curve" : "secp256r1",
-          "public" : "308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff302504010004201b95c2f46065dbf0f3ff09153e4748ed71595e0774ba8e25c364ff1e6be039b70441041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 131,
-          "comment" : "public key of order 3",
-          "curve" : "secp256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420e3435a62422acfac83186b528c3c7106bc47f9bddfb4baa77765fb05ad2d75aa04206f9039d823ca56b22f7335d612f6e5b974e3b6dc099a9529dd3222ba971f92f4044104d1a62cae3b48c380bd5003fe1b46a37de15841c34d0b3bc99aa24f33a242016ef3512324ec1eae01073f9ab5ca214d0562906852b3e2c8c9ee3579199818e7e8022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63255102010103420004d1a62cae3b48c380bd5003fe1b46a37de15841c34d0b3bc99aa24f33a242016e0caedcda13e151fff8c0654a35deb2fa9d6f97ae4c1d373611ca86e667e71817",
-          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00042af270d2a6030e3dd38cc46e7d719f176c2ca4eb04d7e8b84290c8edbcaed964ebe226b2d7ce17251622804c0d3b7adce020a3cdc97cac6c",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200041f17901e731b06f349b6e9d7d17d45e8a2b46115a47485be16197932db87b39405b5c941b36fd61b9ef7dd20878e129e55a2277099c601dcdb3747f80ad6e166116378e1ebce2c95744a0986128cfeeaac7f90b71787d9a1cfe417cd4c8f6af5",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 134,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400ed76e5888428fad409ff203ab298b0f24827c091939ae0f9b1245d865ac5fbcd2749f9ae6c90fa8e29414d1bc7dc7b3c4aca904cd824484421cc66fe6af43bdfd200c1f790a0b3ae994937f91b6bdb9778b08c83ecadb8cba22a78c37bf565dac164f18e719be0ef890ee5cbf20e17fcfc9a5585e5416470b9862f82fb769339994f4e",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 135,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200048028d16082b07696d4aa4aab9d6b1f1463435ac097900631108f9888e13da67c4841fd8dd3ced6e7ad8c6fc656621c2f93d3db0eb29d48d1423154519865dbc1",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 136,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a6bae3d155c1f9ca263928c986ede69acefd0dd9b3a19d2b9f4b0a3a66bea5d167318dcc028945fc1b40c60ce716ba2d414a743c6b856a6f",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 137,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200045d3ddbbb9bc071d8b59855c74bdf3541ae4cb6c1a24ec439034df7abde16a346523edf6a67896b304cb2cd2a083eec2b16935bbc910e85ec6eae38b50230bf70",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 138,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004a43c6ef2500723d54c1fc88f8844d83445ca5a0f585c10b8eb3f022d47d0e84862b7f5cbf97d352d4348ca730f600f2258d1d192da223f6ba83a7cc0d6da598d55c2b77824d326c8df000b8fff156d2c",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 139,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042391c062833d1e6d89ec256cf4a3989534c1ead5e1e14ffae933a53f962857e4713087e1b3d65ac79634c71577af24698b5ce959183835551f7b08aef7853378c299930b360813fd58d5e4da8b37d5a7473e891ee11cb02881bd848b364fb7d5",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 140,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000484beae85096640953c1fd6ebbc32697263d53f89943cbaf14432061aea8c0318acbd9389ab1d2e904fa0e081d08cfabb614ed9bca618211142d94623c14b476a25e47abf98fd3b1da1417dfc2e2cfc8424b16ea14dd45e1422be7d4e0a5cc7f4d4ab5f198cdbaaa3f642ec6361842cbe869382ee78cd596ff5e740d9ec2c3ad6",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 141,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00042b0a1a858ffc44e7752940731d378f96570837e279ea3948fe00cff8b5f89adb4e2fe6f8781ba6426364f4590b34dd79fc80629de4a86084",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 142,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200043037c01b4a5ac53742e3f5528dffb0f010ab6ebeb08d792b32e19e9006ca331a024b67698d7cf4b575ccd9389441d5c640b77c63771cef1bd85675361c6602a4",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 143,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040f0fd972a495a140124a4019291a20f5b39fb755c126bf268643bb3091eca44f2a3cda1dead6ab1f4fe08a4b3872423f71e5bf96b1c20bc0ca73b7e2c134cc14a5f77bc838ebcf01084da3bf15663536",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 144,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000403b65faf5a6bf74bd5c166278a4b566c6c705ac6363e61f3b0699e116d3c5b19e8b7021b75b005f78a8cea8de34c49397f9b3b2bfc8706eb8163c802371eff7dfc825c40aa84dd9d1c4b34615ee5ae28c6c05d58d2a8ccc3786382b712d3bcda",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 145,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047504d660943a69ab043378e44c034896534a346e0e95f35fcaad3503b490856bfb20a753ecabc6d7bfeec28d057f919923b7d3c086953eb16c5bd287b59788db72dbb7c273854294c927ea7eca205aae2f0830e5faaddad8316231bfc3572c85c33cb7054e04c8936e3ce059c907e59f40593444e590b31820bc1f514ed0ec8a",
-          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 146,
-          "comment" : "invalid public key",
-          "curve" : "secp256r1",
-          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002fd4bf61763b46581fd9174d623516cf3c81edd40e29ffa2777fb6cb0ae3ce535",
-          "private" : "6f953faff3599e6c762d7f4cabfeed092de2add1df1bc5748c6cbb725cf35458",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 147,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp256r1",
-          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220003efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b",
-          "private" : "0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f02",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 148,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp256r1",
-          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b",
-          "private" : "0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f03",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 149,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp256r1",
-          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5",
-          "private" : "095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e835",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 150,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp256r1",
-          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000318f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98",
-          "private" : "0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 151,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp256r1",
-          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000218f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98",
-          "private" : "0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa5",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 152,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp256r1",
-          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220003c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5",
-          "private" : "095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e834",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "secp384r1",
-      "tests" : [
-        {
-          "tcId" : 153,
-          "comment" : "normal case",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796d9b954baa8a75e82df711b3b56eadff6b0f668c3b26b4b1aeb308a1fcc1c680d329a6705025f1c98a0b5e5bfcb163caa",
-          "private" : "766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81",
-          "shared" : "6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 154,
-          "comment" : "compressed public key",
-          "curve" : "secp384r1",
-          "public" : "3046301006072a8648ce3d020106052b8104002203320002790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796",
-          "private" : "766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81",
-          "shared" : "6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 155,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004490e96d17f4c6ceccd45def408cea33e9704a5f1b01a3de2eaaa3409fd160d78d395d6b3b003d71fd1f590fad95bf1c9d8665efc2070d059aa847125c2f707435955535c7c5df6d6c079ec806dce6b6849d337140db7ca50616f9456de1323c4",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 156,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200040161328909675213e32098d35a6b8308a8d500cca39dcee5e804e73bdb8deaf06fe417291fd9793b231ef5fe86945444a97a01f3ae3a8310c4af49b592cb291ef70ee5bc7f5534d3c23dc9eefde2304842c7737ae937ccf9bd215c28103e9fe2",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 157,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200041478ab6e032b9545eda9ac2c264e57a11f08acbc76d16a0ab77b04dbdaf20f215c4183437b32afc471eaa603d14c7c5d8a4c84ee0e895bec5c37f0a1ca075e106ff6bf38801b5c697409d39675231108d33c4a5ea65aaa8c03e939c95d96c4c4",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 158,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004f63208e34e7e90bb5fb036432467a89981444010663b8533b47bfa94bd2bc16f38aa516b930a4726e3876d3091bfb72ec783ed4da0cac06320817dc8bc64f59ccf06f48abc4386a150913fa95743a7b4601190e1c6ee8f8bf6354b254ecace45",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 159,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004033271ef42d92ad47b273b09ea2f45401161baa52696590d0e175ff2d1c0dfa3fea40e4266d446546c05e480d57fabec7889f16a8bcc176602f6d46561614a2f4284abe697b7cb9ce79f7e2e71b155cb1f155ce925d16391a680eda23152e6e1",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 160,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004737e8437e18683de2455b68945bba31daec3e754d72f0a0776d3192b2f9298bb95ca1464baa6687aabb679f804cf6ec6c2b4d47d61a60404df63b1e9ac0954b3419bbc2ad52a0409aeeb82f4703758588059165b20367dcb4b235b0caf71d727",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 161,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200042664624307c02ef487030a632162c515f841d15ea3152d98ff2364232d7aab39343d5f703a4d5a31092aa7356c3a2f671c1cd603addfd8b5477552a3b32a18edaf3e33bec22ee2167f9da729636002a7974eaeb5ff082b2aabf8c7056b84c3ab",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 162,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004665f1f320b6ab1c1b52d144e52d87a154c2b4489838c9119de622c2d1b52b65b0a3955e44e0d4859175360c0f63dee813f14f69972f18caed7916c94a4d20ec344591e7536a4a7a4d8c9832818c96d60b1a81fabe64ea02c5f647e361bf5b60f",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 163,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b810400220362000491357ca87dbb08e85d7b1acecfd1e086078a82d19f81474da389364a39fe2543eb934b440173c38e61a1d9407855b5d89ef0d9e920764b6d7765b084cf9541dacc43d1dabaa390b0fb856097b0c00a8556f4e3848568ab4ae790c3d346ca01b6",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 164,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004d5a833bae33b2d10fdff6db7c5477adb614b191c70d97c6f130a14e93931cc1dc058053fee54a264a00fdd16d3166fdc42992276b79925bafcd183b03ed18235350980abfe67b814c6c11074c38f74cd4e734ad58cdb49d9fcd2181d1b8f1119",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 165,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b810400220362000467547cda7fbe8f16be5a4477cbb02979f1af72fc0f39302773552fbcf4667a8e23abc0e12856ee6234deeca5f22ae0503a4df7c068e7432417260cb9fe0d68b9c7fcf7e16a2ada05687d8f8900b84723103edbff0a42b27517da2760b7d38843",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 166,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200041363e3b99008e09bb3f085949b9b6ea26a318f496de568a96630fdb9d4c72c2814df3087a1741f32f24989b428167f93c653cb3ae8c3ecfaec57efd54bb8ce9d79c7bf6cc70fb1114f939be8f1a99bf1e42b97431124ef9fa33450faa4e76839",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 167,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004ba2be8d7147e2417c2ec80b24b4c1aa94464ffd0aae1fa2e078b3afbc77c144489ca9d064acbb7a9cfa6196d0f467b7e65ee1ca1eb1351ff9968f553dfe2e4c59ff8ba34c22a42b3baa13a9a1adc7f13abd40f1fd25d46bc5330852b9371966a",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 168,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004d69850ccbacc4736ea200ff2f8488f26247945a2ab48dd3708f494b293d8cba83417f48974881c7fb03854089bbf66cc1c773ec03cb8cd5f007ec3b03bdd05a409b352103f0decf25b41673ab8ca3d04334babee01219f15701f2bca22d40b37",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
-          "shared" : "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 169,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "6092a1757ddd43a04e185ff9472a0d18c7f7a7dc802f7e059e0c69ae16c802651719406e04de27652ff83da4a780ef2f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 170,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "89c804cb81443386b185bcd9e2e6c35ee6177c3b90298985c4e81a89d520cceb17d729540e56ecc343c26bf314f2d052",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 171,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001141b9ee5310ea8170131b604484a6d677ed42576045b7143c026710ae92b277afbbea0c4458c220d561e69404dc7d888",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "102080c047881d19aefb01c29c82a4fb328a8ea6e6d6c914af73100507c8ee499799aaa646de0ea8c2727c0b5ed2439b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 172,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b810400220362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff70370385413d3eff6fa3407ba24f682c2b01b51445dbdf5ef7b0dd0979f17e713e09081571f1e94dfb66bf282002f39f",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "f689f6e475b4e15162521acab4637a3cdb9cb42aa92f9114b0ee300ddae89d5eafff3463a1f5004a2a1bd4aeffa47b78",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 173,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff112e191f1f78bbc54b6cc4f0b1e59ae8c6ff1a07f5128e41dfa2828e1b6538d4fa2ca2394c6aab3449dcb3fc4eb44c09",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "f3486244119b3632fd55be9e6951eb5d9c8c62f6a27042f94b924155ecfd4ff8744ba3d25bcf85a7b925bd28a12b897f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 174,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000028a4c8da5a05112fe6025ef41908969de20d05d9668e5c852ef2d492172ddc2a0a622fc488164fcc1a076b872942af2",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "8171b7c80d4c90bb58ae54393921ab9c5c0b3196f045e9fe5c8b168f0e5f6a77e1aa34ecedc5481ce55ab34c14e0f2e8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 175,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000024480ab33cb4bf7cb79c024eeade3fd641e2f3003698400e8986a7343a5da59a3b26eea4b4176e53239371437d834a1a7",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "1911a0ee6aebe263fdcf3db073f2598cdafabec2123a2f24a28c3d9151c871f32d6dc2f31d25af9c498fd68da23e5bef",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 176,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020797da4c0751ced16de80d16ab7c654a5dc27d092626d0865a192a1c5ea7c1b88c9fcab057946741e41cc28c80ec0b9a",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "15900643e2e0583976974b05f83c7a96611425f7c4a6eb51916ab958a037fd9cc172bdcfff4540a2ff3ce64e6505557e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 177,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff6c70898ae6fb31fa2f086562af2d10486ba4c6fd5e41dfe4aa61598b4707a3bc276a62feb1b98557e3b17c025f7adf4e",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "88a544a769d5c34a051416bd509dfac911863f604c83ea844bf0e4c5c272dec86d057a88b152a9274701938c705900c3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 178,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000eb1592858b6e6e3a199c0f3e7c5f0b4a92915936efb8bc0407680eb7274be7422156ce8cfc8b505b2d902c39992380f",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "b7db26b286e7527cb1f454782fe541862ff0f8d7eed960e22855deb7ac2a69611668c777c53bb74c2bcd40edfbf7944d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 179,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4987abae412809c2fa48fd23b1bdf9e622f5a606c44117215ffa61b18ef46e54a7fbbf11f9a6ba59c991b4ae501fedce",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "b1e8aab1aa633d98dc6b768594e1e3edb801a9ef483f287c83e19744d2ad343ad3debdc4dc178213ad6876b52284f552",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 180,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000013691fe493d4d28bf8ee1dfec812d6c306eae0842919eda6dc525f0d49ac2d26a992251912139a2936849f9d6fa949a68",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "b0de006f80f6f89e4eea6e46dfe305153005612d1e903171ec2886230971961b5202a9f3187bdac413ac24c836adf7a0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 181,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff615842aa06b06f78f0a66f7bea88d4b6ee59653eeaa00dc5e0a2b658f969b71af90c9b4e96bd3ca33846955bdccbd359",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "ca8cfa42c5e374914c14d6402b1a99208e47e02ec49818913694ea0822a2cc6c310259a8f3ab7559b9974bc4c2fa337e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 182,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3",
-          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
-          "shared" : "edf040bace18d90bf9ce720df2a3b31d76d95b7ed9530a159ac0b24e82a871033eada40552f9e606f7115e6a78927511",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 183,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "3",
-          "shared" : "455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 184,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "db1d8ef1117282870db8113aa4f58723c756ce598686eb8ea531aa4d39abb1b982b1e7bb2648a6c268d2d351204db8d5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 185,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "e98062df47ef884c9411e16466af84ad271d586008b1fbc50aeb3b36836a35a770dd42e0db84d39b26f4dcd2dc03d90b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 186,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "898aae0ebf1cb49fb6b1234d60f59006325421049a8a320820e1ad6af6593cdc2229a08c500aa55ca05999d12829db9c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 187,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "83f862f496ab8af12b82a8a0c047d836bdfa36281324b3a1eb2e9c1d46699d81cb125cbe4b93939fd84e1ae86d8a83cb",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 188,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a779ecec196accc52973",
-          "shared" : "9a26894887a0342ca559a74a4d4a8e1d6b2084f02e1c65b3097121a9a9af047d8810fb945dc25bbf02222b3b625f1e0a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 189,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecdc196accc52973",
-          "shared" : "8a8d9dc194a26910cbdae7908d185b6ad04b620c94c5ee331e584ed804e495bebc2290a2d7006a06e65b9bcace86c6f6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 190,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aece4196accc52973",
-          "shared" : "d57f6aa12d3f07e8958499f249e52cfbe5be58482e146c5414dbbf984fc5333710350e2ce96b33beb7678381f40f1dcb",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 191,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec1969ccc52973",
-          "shared" : "188e8041d9a5f0b6cfdad315ada4823beda0146774fad65b500e6ef94376ebf8af7a40ff6f6b45019a09dde7d7fb5552",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 192,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52959",
-          "shared" : "2ecf9dc47e8b07ae61ddbd1680ead02698e9e8469f78d5a28328e48d0c9d7a2ac787e50cba58cc44a32fb1235d2d7027",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 193,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52969",
-          "shared" : "06ee9f55079d3d3c18c683ba33e0d2521be97c4fbf7917bf3b6287d58ffcde2df88842e3f5530b39549ac20974b1b60e",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 194,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
-          "shared" : "455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 195,
-          "comment" : "edge case private key",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971",
-          "shared" : "024c5281487216058270cd1cfe259e948310e4adc263a9edaa4da0bc3f5f8ce8ffc88ae41b2c050bf6dd9c8c66857237",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 196,
-          "comment" : "public point not on curve",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c8",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 197,
-          "comment" : "public point = (0,0)",
-          "curve" : "secp384r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 198,
-          "comment" : "order = -39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643",
-          "curve" : "secp384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f0231ff000000000000000000000000000000000000000000000000389cb27e0bc8d220a7e5f24db74f58851313e695333ad68d020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 199,
-          "comment" : "order = 0",
-          "curve" : "secp384r1",
-          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020100020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 200,
-          "comment" : "order = 1",
-          "curve" : "secp384r1",
-          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020101020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 201,
-          "comment" : "order = 9173994463960286046443283581208347763186259956673124494950032159599396260248791326163093631191247821216106",
-          "curve" : "secp384r1",
-          "public" : "308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f022d00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196a020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 202,
-          "comment" : "generator = (0,0)",
-          "curve" : "secp384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 203,
-          "comment" : "generator not on curve",
-          "curve" : "secp384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e61023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 204,
-          "comment" : "cofactor = -1",
-          "curve" : "secp384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 205,
-          "comment" : "cofactor = 0",
-          "curve" : "secp384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 206,
-          "comment" : "cofactor = 2",
-          "curve" : "secp384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020102036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 207,
-          "comment" : "cofactor = 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643",
-          "curve" : "secp384r1",
-          "public" : "308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 208,
-          "comment" : "cofactor = None",
-          "curve" : "secp384r1",
-          "public" : "308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 209,
-          "comment" : "modified prime",
-          "curve" : "secp384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100f47e533e4e43e4bf04e901db0eea6efba14bbcdc3b1c5753a7c141487e4f43784e57a72310202323361f44760c8368bf306404300b81acc1b1bc1b40fb16fe24f11591045eb44323c4e3a8ac583ebeb781b0bc86b1a858dbefdfdcdcc9e0bb8af37c973d0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef04610400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "5df0762488bc0a7be1121508949382861f781c331676048c2d45d245be6f476c872113e6710bc746c3d06970510193ce",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 210,
-          "comment" : "using secp224r1",
-          "curve" : "secp384r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 211,
-          "comment" : "using secp256r1",
-          "curve" : "secp384r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 212,
-          "comment" : "using secp256k1",
-          "curve" : "secp384r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 213,
-          "comment" : "a = 0",
-          "curve" : "secp384r1",
-          "public" : "308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff303504010004304fcc45ccf5e23ee407b9291d2e85523962a2a79a50da3facca04b7267ad316db202cb07c24905740d201ded3028881090461042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 214,
-          "comment" : "public key of order 3",
-          "curve" : "secp384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430cba7f9015366e8e6bba0f30bcd1ab0a279e92e2ceb5fe5bbfee62db1fe23a64639709b7e5efcd539d6f2882e40713f3304309c564d918760892977fab2a7c507ca1337cd282c27e832eb3d0dc8ab1b03c5bdb72351d7a3fb388eac1f6fdfe2faaac8046104f610585fa59340e1df571af1e2d8cd3d6bbcf0fde2c272444b2a1ec58f71b7aed0cf709ee9c6777304c3149ef788719c07f9f6ffa32808b6371504fd55a5b02c3a571bc6aba9915f80c902b753d9abbefc8f510e7a9908466b795508188cb28c023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc5297302010103620004f610585fa59340e1df571af1e2d8cd3d6bbcf0fde2c272444b2a1ec58f71b7aed0cf709ee9c6777304c3149ef788719cf80609005cd7f749c8eafb02aa5a4fd3c5a8e43954566ea07f36fd48ac2654400370aef08566f7b99486aaf8e7734d73",
-          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
-          "shared" : "1565d888a631c08afaeda6da8d1aea4c916aa0a157abb44dff9f8181948e434d8b4f3366d29a34b2e3a3cb419675ac13",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 215,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00040710b0c6f4675459f3df2bdf7ca02819f8086198d15c69b8abda37639e6031caca8a0121894d2491d8b3dce093703c70705bc5dbc8fa17c8",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 216,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045fa4fa0b235c21e5c9f3baea9303bf86eccb7d31d0b998e141bc54b5dc43b23eef7fc5cf56308ed595eee99ade6aaf74d591c3d00aa1b438abc59c9607c22c36",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 217,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004005bce61fe27c440fedbad47d88bccf645db9c1d30daa086e592e8b6a0a173b87991b619801907b420fa558c7953ab97badd9c6c1d85859d9ebef7441a088ff57ed5008d7638de703faabeb5a78e83e8fcd4eb786144a75d79bd4cc8cfa8be66612d756c7b65c67f72c6acbade6f0d59e9752e845205b2a560d4f8d6a9e84bf812f94d18",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 218,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a69ced11a8bf7a907bfa47cba3368f2498b465a2407c90649c8da224d2a85bf445ad2df3d0113e72aedccf92ba6b8529ed6faa154bc27aba25f49371981e3b38",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 219,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a9b0f90e49a57fbe508847bf16e4a7b565dfe870a50164bc2862fe6e4d54bd8b109939f7dbbf800522722b9c0b309ace3884abb69c927ad0",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 220,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004512fe17172db1125a49f9dbb85e387869adf015e4899c06f66ef870d72092d4d195e1d21b4a4647bf734468bee802ddad5449202eba1041df2fd8cde04697237",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 221,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004c391dc7a817d47a3961ea1857895e101c0f5a8767d3a9c7cad49f7af8029f24c67309373cedd0831ccc0a0f45d344f3ab5923d2452507a980301a283848ae31574a57db51ce5e61d35aee483f1bb8e66",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 222,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000419d3c811c04c5c0990d0258386195b2e29fdaba58d3f12b0bac8d3d53828c66c7a35e3d1eb0bdf2c08f23d0e4ab6a3246e456bf0fb863d03423dbe431baf799657c7816a619662fe5b900b754107ba5cc06b1d62c9a927891efee1a1fd404d7e",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 223,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004216eb619457f1168ac873f5b560a75df80749f2bdf9abac31d6580e521ad70368013c3db74f663263b61eb12d4dcd597ad6c77cef6a5d6d2240b1e244d76403f693fb317ffc602a7ac313991b0a62f7bf469bbc95b3ff35003d972eb8ebcc8d4833e6c24ad52d49c1ce6244c7889ab67a8818232e192944542763fc667e5799d",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 224,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004691b24004380a599770214d0c60ab37cfc804cfaa7aedd11cbf0a05467ebec5e33322cda707b848086fd740244f62cdeb867fc057207fde2",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 225,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000422bf69f3a81dfa1ed8a97301943626e20377b78f7e7d714b880deb5a4a9c63a11591c2e47b777488990771855768b9a4050d61bf02d84cc6aa40447a07507285",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 226,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000476568300e2b4c68861589b4966e67bc414811e4011260cb8be5f884869fa179ca8af40f80009e0a58b17ac3e551a772e76683c32e6e09112572542d7c1fe3d49abb56da56d669186e2623dc797129dc0",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 227,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200043345dffded3c33f7dcc19bb8997a39f2d6230abcb765d6142c30bf320c1fadff535feafd8505eb3e614db71826c1e258077a1e6057add7474f6d35dce68417812e7b919b1c673032b28c45d0a9251c43a2a73ab152f64ff8eba4eab312fa73bd",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 228,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp384r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004a3677c646cd887685940c28076f55cda7469032845f2cb2af51c61492dc435aaa5b771d8e1528417cdeb89b5f629e06b234e21236b9edf46c7025177ee65a8e940f670d10c722cea355bd3a5c8847a38324b9a06a50a95da4e70bb492cd00194a8830975dd1e115e19315575ff841b30fd4a3f8a44725dfe280d0af57fc80cc3",
-          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 229,
-          "comment" : "invalid public key",
-          "curve" : "secp384r1",
-          "public" : "3046301006072a8648ce3d020106052b81040022033200024424530ea70bace90601f8d5869e4179a6cd689b6a18fdfec50cecf17cb836d24820211ada67815b42c2c2606303f69e",
-          "private" : "2b9e57572da6cf4fb58cb94eab8df19383a136f219f2a515776a8bf48e1538dd1d811946c16d9f0184c9ce5cdf1dac51",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "secp521r1",
-      "tests" : [
-        {
-          "tcId" : 230,
-          "comment" : "normal case",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce00e04ad19cf9fd4722b0c824c069f70c3c0e7ebc5288940dfa92422152ae4a4f79183ced375afb54db1409ddf338b85bb6dbfc5950163346bb63a90a70c5aba098f7",
-          "private" : "1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd",
-          "shared" : "01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 231,
-          "comment" : "compressed public key",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b81040023034400030064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce",
-          "private" : "1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd",
-          "shared" : "01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 232,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004014c643329691ba27459a40dfe7c4ce17b3ea14d0cd7aa47b01f1315404db51436fbbfe6de0842e0f7e1265f6ff3aca28750677d3370b2fb2a6ef497356f4b95811201051b14178639a09a41465c72d3743436ee1c191ff7388a40140b34d5317de5911ea03cdbb0329fdeb446695a3b92d437271a9f3c318b02dec4d473908158140e97",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 233,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040029cd32125c23a41af24fd4b729da0faacbc35516ef0ba59096602571693cd282e26d67e18ef4643d0f6f158d7370d3394ca9a8de7938032ac178c6fd34e3702b8d008649834e2b41be3a8b7510bfe570f4c67075943cd0cbb9d9e1d1da52618b5b96d6aec9b650daf1ca6624c13e5116302b9c79c8c4d3d351915d1e8e1ab6ad76098e",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 234,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040032c6f06ce6a15ea064464d35aa368d299c9a9e1e368f694aefb603876248f898f223ce0217bef37d61eb09b27c93187cf8e61ba7b14e3c9bee692b06ac6d95f836019fd19f8480e21c63211d48d45f96f6365cf55f958e1a0fe7ea6b6b9ff230a87b70bb1b14d3a5fb6669a91641c6acf4570c1d3a9e709913b7fe6b35ff81c394d6a7",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 235,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004006ddf9b10965d5fc129e96f7a37667ccf66cc44384772906fedb21f9de4629e01aaa09ac7c9866112064bbc9bd58ebc123ab2fe19d8fed1a056d27bfef0630509c7001c441311ef20a16346332ea42d5c65788d68f6817b0267fcab11ea9c948ed108115dda8e823a380b601460742d3772d6424c67b240da24772ff0d2ccd9a1e0cea6",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 236,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004007a8c547268c948b626da636cf54428ea2ab23861d499a84ad7be1cf691b92872a06e26c6dba08ca9ed386f83d396156d5fa023f57d5ea6440ec7401dad2c08ad70018c3815b1b9a2e42555419a6c19043fa2b0ddcc4b5a6e372fee9fcb227d85bad704687e7e1a818b612d5c046cd75972f7a2dd5c9a200ac5582cd59fec47ac525ecf",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 237,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040029153cf062f88f303e5d6f9aac968bd901076d5994ea7f831833b1e69b67e9e9fe20cf9c5623e00e0b9e3592fca2a03324b5df7c93186aff697aca864600d44ecc002801a62e2f4106f34106da23dc93d50e3e975a1d47510021835290649b7a4125109f656b6b0b5bd00b24d84ea1ba4e1ed49e61c526fb1011005131caee7ee0501e",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 238,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400a61eb994e28722c59b3c6007dfdf8b37893f6350f461b26a00e1a45104314aae9989da87e4facb2c4ef721185b7d96d9a45a28a102756501a1acc5d329a21bbf73010e8d0e12f5a9a40e0d59c90ce73043d39730aeadd3788e31d7c2bb62a1166161994664afa658ce2e60a13f45f27f914307c8d6f8d4ed16ab041b8f69908a62782f",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 239,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004011dd497b30c73709906b164a9a79dc7f2a98c0148ed63016bb95243834fbcdf8eb74b0ff652d54f59f31aef51da6e8974d363655b1da138dc4de0f2a8d800f475ae0057bd4b84607400d863ffbf45a3cf58999ee24ba05e93eca7b0e4ae760eb1733559a45d15579d3370d716ffa3ec4bfdae418e32fb06138dfca213720a938577610e",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 240,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401283eb93fa369fe7012b647d21e0a97cf9950e5fbed819ef56158f20c8a9473a418eccbca4dc2b47f4cb6d322f917005859bf221e84ac9827cab82a801c627fb1ec0075c480cbafb352fcaf93baf23a1405fd81febe09729a908d1077e177dd8993d94b251a0d52652da3edb6fdf864e80cd51540e73d0b5107e3433576dcaa4e18db43",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 241,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400173beefe35ee868d497ff6601628f65ce18a1591f7e4a3a406622f3f508e2da68f101ed02febc38418c6ddfc26a5ec9848c42792463b1e945f9e167db34bdf2d660053070647aba7cd60eb295ab81a268a3903f393c5d28bbc5e022351c377cd84f02c19deb36442372cae1332e92f95ba60b6c852e0de0718e89d24e43cd479c9fb11",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 242,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004009829cd5432687739ab6ae10af8ea73d2cb53b81ebb06b5961b7badc1676b3ef7b00454f7cde56774a01312d574a9193c1a5fe5336fbe62623ad9bf81143789f9f90012f955697ed578207197bf9aac3896521615dbacc8dc665d4f1715b08439f49c2aa6ed337023ffccc5075a85944936826db92f919737ca3afeadba1847084bdef7",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 243,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040126e3c959cd41120bb83693b1d6a034b385137c1bb3213b776122fed96056e329885718a73bee639c0ba4b68818682f498ce5496925002bd7652516405fcc4fecad0073a9c6e3b0c694bf7cc8ccbbd09800e81e3548ba44a0c2381cef0b07bf702a19054bb5d717a1b79294609cbdafd4e2018064f7b2c4c204d818eb7ce521c3268ce5",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 244,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040153dc481ab3c5dc8decd24ceaee1bec77f59f21f7f31c19538af047d281ac9e2567933fd3d21096b185d4098919571931bb9b0be7197995e2fbaf21c8a10007ade001ad69f08fcae164390be826256b50fae47502ce0e9ca46af0c490cb4033c886f88661a99ff2bd3c9c8e7da30faf2b4c769edc5831810ac05054c97e41063f496e1f",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 245,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401f586611c87150288c3e86116c5db94a26718978829d701ddac05e9b0ce22dee4b18e95f60cba783ed3384da373deaefc57b8265d3a34eeb458bf24b9d82be32819008456e0f1d80492ef0078cc246d32fc7c7fb6720b4d458b51b2098d35746752b0ef0345bd0d342dfee6dd2f12ed12b34bd95d058c2811fd479d2dde32180e6c9ef2",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 246,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004015edc87fd499a73eabffd14d2b6a70a8fb69b6a39d0d9c4dda2337b53cc72e49a9e3d5a2d9e8930cfa11852dac33443227fba6684bd74732e6879884b6ef9dae98f010eeb8d2e3360ea9726628085268af3f2a05ad41235d0a892098bd661b636f7ef0a820282906eda3f1ff1980b98fb5937228e9edcd6332e3641216c7307e7f3f452",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 247,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040131b43002f7e687eec1ecf6a253c2ccc9e48f04d86fccd18fee0d2d22191f1ea539c40d521970b4709dc03986f647e0e8bb3340cf8a3e643a3541035437cf25f01500b27a55ac45f0296f8c9656bcfd52b5cea9f4115c06e4c64319609847d45e92418400e7868672c0d3e6e5e6e004a7190476ed77cfc33ad19a4bd2c615ad9950f374",
-          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
-          "shared" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 248,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "0053bf137fee8922769f8d0fe279caa4dac9c6054ad0460995588a845d0a959e24bc0fc2391a2b92f7bd400f50a11a9db37f07bef7fa8dad2a903fcf534abc8736f7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 249,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "01c95ac417c90a520149b29105cdab36f528a23efb5621520dbdafea95a7d43499c4c8be02cd1c2de000da18104fa84a1e9ece6386f0e0efa5234a24595d7c4c96f4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 250,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "01b47ec41e3a5abd9dd9808fc04d9078cbed72b9eba98d3c1ded70a29938f0efd5a27a7113ff721f122cb17411de307a355c685074f5766b6d1a033d2fa188c945b6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 251,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000000f33ffc45da3eac1baab727ab8fd355cfa134c42047d55262651654fb50df7e9a5a75f179c8c86c4388213b5687dc43dfebb37f30128703c44ccd5c3284833b8717",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "0168df272d53e3161926168c4aeab5f355b8d2a6689cfd567f2b6eb2011a18c775ac2a21f8dd497f6957217020b3b1afcb7021f24fccc2523be76a2bff44596e5a14",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 252,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00cd2839d857b4699f5c8e8a0194786e26a862f086b4ba80746ae5225ed3aa68f96b7aaec55225830bb98f52d75221141897ba49d7a31ebbf0b6d7d31352e5266190",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "013db1b9241b23d33860d32dec37a79e4546a41afdfdd9c438d04e1f8b566ac8d9d3f572c293e96943722a4ee290e113fffaa82a61867d9ca28d349982354c9b256f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 253,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813d9829119f42ffa95fea8ba9e81e4cd6a6ca97fb0778e12e5f5dfe35201dd4cca8eca0d2e395555997041381e6ac1f18ddf4c74e0b6e9041cfdca1d1c103091",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "01d2bbe9f754584ebbc7c7ad74136d1c8a144948948aa8be49989dd9b4c514db2e2ab1e0713ad1699f632dd2cea53da218ed549f030a113e282fd9e3be462d9aba84",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 254,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00878ad597d290db2cf660594aeed0f9b7c8dd68451d2d1b2cbc816b1ec4f35465b3964aff2edf1255163f5fca580132f85cade2887a017e7cd0b37196ad85221107",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "000f37a2e2caef54fff4126c0fa96e7c47f0cad74626ef91e589e12d2e1e8c221be7295be9dc2712b87bb0aa0f5880b738bc1242f2ba773bf9eb2a54e3c1ca4758d7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 255,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000010000000000000000000000000000000000b5e1191b449fa1ebdbd677daa48f90e2d1d6c058c877087cafd9364d99dbb283c68402e6e6c5f5411b2ed42824d8b280ceb910aba6847883a7e3780e2132af41c1",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "017aeb254d9c8c8ee06215ff33811357da73bf7f6dd6d7f8f176d62c065a88a9005f680c630e9f2763585ea2ee76b6e4ab45e673f814ebfa95947c0c63fb24fa6e9b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 256,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00207513d615656a1cc7505c18aa21b08e2b1d5a841de0816cc29c004efdb2d902ac1a7bb05e20722b576b64a3ddf4d2486421ac706bf4a424f252386368a5340fb6",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "0061bed42248a37b4625ef04c4f9c7ef69ee3c6f9503378351fcab1b8ce1343206997eec1b88449eb6f7355711ea1a818a486ee30a24126241a7e2289267cf5dd61f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 257,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff001fe800c50e54012b75a33e4be7d07c8d60f29680a395e951a6a31c5096b0ea928fc2cbf327dd784dc0a7ca46ea73992b758b5641364b4aba39e93798a4d925a008",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "001067d9104e296ef42b944587de11b10df05d2d959ed44cac9e7ef1c7a05d90819c43bc79c7397918f957cc98db931763bbeb1bdfc35865e8a359a013f13d60c433",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 258,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000008dd18a1f5e482140be79bb65a21ad60c8987e532c84345f0135affd46ec71ef02b1ca3ad56f301d955fa306c122d441d6fedcf8b855ef256350bf69d23a7207ad9",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "00b779d83035cf7bb0bb04c7b2f46d08f6791f0d1542c9bcce7250e772b12ad8e38fce1d2b063a06f0fa3a1b072dd976f5f8542979903075162f1f5c6ba3b76cc45d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 259,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000100566203dd325a081c4441f001f780365874fd3d0c9bc47227481afe76a93ae1bfde63af972203abfe22c63b80e83f7cc2184c3cb8cfd0152c54324c4759fd1f9a50",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "01afe5d23733728b79c743933b9ba7dfec5ed19b7737e393908a1d000918aa795d1ce0ad533983d018f927b35d2af6463356573f387febd75911a49486202ca69d3a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 260,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff00b11c668fbd549f36889f7b63434051da26f15705839136b1b14a09152d7a182ea7806c35478a32d3aa3c9c1627a61519ebec71b36fa77449025b8829e27f307834",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "019612aeb386febb1a28096fe5b2f682dead02389785225b80a27df439510d08349a193839525f248b7f9bcabfd3dc8da8cc1724022299b7b5e72399d89464b82e44",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 261,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000200aa75efc0a8daac1d73f32c9c552414bccf44af8e74331b47439e7dcc49a135b3ee61e9f69717d89b4bba3567a195aeda13fbec634bf2984b5ec6b6f80f5978ed5a",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "00570673f87adcef49c1f011e8b9f1e11f7fd3b3c93114d08d3f515aa4a895a6c701c523063bdc13ad1db0a54f6e7b476fe10db2070441befc58c8cff3c08ef76e59",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 262,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "0016aaf228b0aec190d4e4e5b8138ff9cc46d705da1bf002901c6ab420f59314d5b641712b14ef3e4fb125652c47888676804fb5575b741a8408c5625bfccff4fdda",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 263,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf",
-          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
-          "shared" : "00a5d6dfda2b269f4ab895a41c3b71b6ba10d5c9f0d9b3e730275345e4721594abfd39464c227716ded8ef3e60bb1ca0b551716e3f6eebb48d5ce8e0ab58cb1b73c9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 264,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "3",
-          "shared" : "00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 265,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "00347c51f587c726070bdeb9173d0a547427ead3f2c8de62d9ecc3013285f645d220931520bcef85d08cfb6786045745fbfbfb1924c44a89d06676131a965677272a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 266,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "01c41dc4437c2f2b94a940711b3a691723397a1f83d6bc0c67ddc7a657160925c7f85bb4eb3842b60b2610ddb7c0b8676267710e58359a8750843c6d8e25d48d1cd9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 267,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "006a239cdb7a783840658d5f314bfe5c51e806a4bf1236f8421265bcc503c673eb16c5c2b38b5717fa04ee7dbcdeb15c871711507abb7557a8a8c7b3250141e854d5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 268,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "0112dbf9713aadd478e4f2ebcb058f05b512b1959c7da1994f851f373ce8c341d39c6843373f6fe559905953e1147640159437953c571961c09bad157a8e1a5bf476",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 269,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47adbb6fb71e91386409",
-          "shared" : "003eca2210c8623105085aa284d119f3d716730595c6291aa89bf32a95e8a5fdc64f3d76e92494a43a9dced12d05b6dca4ffe649b32ac12cb0202e702dc83a2cb277",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 270,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb5fb71e91386409",
-          "shared" : "01c4cae9fbfdd45de51d8525e8447a7553c35cf358f1346f1d79666887bb749a3ba0de62e1866b47a447d53b6f1ca5a33ec94507e2cfb65544f5a1195fc6b4dc5810",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 271,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb67b71e91386409",
-          "shared" : "008073b4796e748f3d0de5e85b22aed463f1a6aecdb336bc287b50d139e3591ef5f86b78c3f6051467755f059f295d758075347d657aaae02383838bb96071eacbd4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 272,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71d91386409",
-          "shared" : "01f11ff8983792d4a790d0de4b56d078b9033ad6318a440e8119342937cc48a39375150ab2cf98273b0fe35d5a3af5d84322a685e89f2cb378a99b9b7bac87e44952",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 273,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138631b",
-          "shared" : "00286cefaaf38ca4c6657eb9b187d8614d51775fd71c1a79b4c0ef1a0d4ce72b6f5b2bc854a4e78283530942a3f4fd2a8586d5ea51513c89d3d29de5de06321e118e",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 274,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138639b",
-          "shared" : "014790de14c481f1336fcb7d33a8bf8e23eb594cc48608e9edfe0e326e106b67e7eaa3f04ec9985599178f632a5ee6419e11217060e9fcd5958a43882bf8cd3be6ba",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 275,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863db",
-          "shared" : "01ae775dbc4096a3aea7977b1a0af4b2830ecf9ca927a6247fba4cccb46b3f71d0e7abb8dda72d1c1ee7bb5b875b4773cc8df40f732819c4147da330775d1742ea35",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 276,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863fb",
-          "shared" : "01979fb05e068a12a3f20cfdfb9eaee9f22b356edcc7655383ed38124b86814f86a6f2216a34f3fc2299d403ee42408f95d08c5c6cd11db72cbf299a4a3c2545be25",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 277,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386403",
-          "shared" : "0197ebe26798bf67f06ff0282773af75115531f41d94c093d87481b76bef707bc222f2d6672f84a00fa20c5ed27027ab4006b68d93ee2151016c9ddbe014346272e2",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 278,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
-          "shared" : "00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 279,
-          "comment" : "edge case private key",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407",
-          "shared" : "01c168314cdc85757ade34a52a9e5379ffa5968f084b7e404939a8033a0fc698e26211754b9b2c04cf8a1420abe6e986ef1a238bbb91dd402b72e0ed50a876f1a83e",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 280,
-          "comment" : "CVE-2017-10176: Issue with elliptic curve addition",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
-          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7",
-          "shared" : "01bc33425e72a12779eacb2edcc5b63d1281f7e86dbc7bf99a7abd0cfe367de4666d6edbb8525bffe5222f0702c3096dec0884ce572f5a15c423fdf44d01dd99c61d",
-          "result" : "valid",
-          "flags" : [
-            "CVE_2017_10176"
-          ]
-        },
-        {
-          "tcId" : 281,
-          "comment" : "public point not on curve",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fe1",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 282,
-          "comment" : "public point = (0,0)",
-          "curve" : "secp521r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 283,
-          "comment" : "order = -6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449",
-          "curve" : "secp521r1",
-          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd166500242fe000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 284,
-          "comment" : "order = 0",
-          "curve" : "secp521r1",
-          "public" : "308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020100020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 285,
-          "comment" : "order = 1",
-          "curve" : "secp521r1",
-          "public" : "308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020101020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 286,
-          "comment" : "order = 1598335257761788022467377781654101148543282249044465229239888363328190330275719844327554513312228302828260696579553960150541916632196023208175974174",
-          "curve" : "secp521r1",
-          "public" : "30820241308201b406072a8648ce3d0201308201a7020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650023e01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 287,
-          "comment" : "generator = (0,0)",
-          "curve" : "secp521r1",
-          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 288,
-          "comment" : "generator not on curve",
-          "curve" : "secp521r1",
-          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16652024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 289,
-          "comment" : "cofactor = -1",
-          "curve" : "secp521r1",
-          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 290,
-          "comment" : "cofactor = 0",
-          "curve" : "secp521r1",
-          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 291,
-          "comment" : "cofactor = 2",
-          "curve" : "secp521r1",
-          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020102038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 292,
-          "comment" : "cofactor = 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449",
-          "curve" : "secp521r1",
-          "public" : "30820286308201f906072a8648ce3d0201308201ec020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 293,
-          "comment" : "cofactor = None",
-          "curve" : "secp521r1",
-          "public" : "30820242308201b506072a8648ce3d0201308201a8020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 294,
-          "comment" : "modified prime",
-          "curve" : "secp521r1",
-          "public" : "30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201e99d17d498f3c68ed8e50430ec4f36c14dbeeaf7652e985636bf0548ffb981e9e011607fd0059cd4fe51e882f19a3839ebe7f1d7376cb761431b214ed76970cc0130818604411662e82b670c3971271afbcf13b0c93eb24115089ad167a9c940fab700467e161fee9f802ffa632b01ae177d0e65c7c614180e28c893489ebce4deb128968f33fb044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00ebef6771455911ee573c183e990f7086650f9bafdb722c896751bd2c0f87959c78a39382d10fdfb46fd3515c8feb590943dd79778b13adbc7f670ba2a009753483",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 295,
-          "comment" : "using secp224r1",
-          "curve" : "secp521r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 296,
-          "comment" : "using secp256r1",
-          "curve" : "secp521r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 297,
-          "comment" : "using secp256k1",
-          "curve" : "secp521r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 298,
-          "comment" : "a = 0",
-          "curve" : "secp521r1",
-          "public" : "308202033082017606072a8648ce3d020130820169020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3046040100044109a88e6f050cfefa0b49fac45689b6b93ad4fa3b65db7d2f4cb31b67fe056a100066dd80dc5f785d27f82e3369eb22ab2c5729a9e5d9906a1dc31e02f84026484a0481850400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 299,
-          "comment" : "public key of order 3",
-          "curve" : "secp521r1",
-          "public" : "30820246308201b906072a8648ce3d0201308201ac020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308188044201b2ac25ed3b202bee00aaaeb8521977f025a9123df3eaa422077dbb7bd05d7ad92f456d1f8c73d070e1dbd4e250951eb525b8fca24f330b5b2724de0f0cc159e1ca0442014c822bd9cc28dc26c31385e52f86855f59c8b4f278915b23c7c002e73372016a8e6dac70a1d07eb309bb83efcbbeefe92cdee4d3d9c7218ca663298389e52c8acc04818504017d26208a6b9b4ccbc6bdeb8fdda68f6cabba6876b2fb96fab4efc899fd851be71b3491f45432ecb992fcb950416a733e3da561a7621fc4fca2deb3d83f9073bbdc019017d42efa595d03524e404362b124986e50878635d5382d39c793d4f980f3b48ce2ea0702667dee3a92f374920e04f8544e48b451051d68c69ec67098722cc6fc024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004017d26208a6b9b4ccbc6bdeb8fdda68f6cabba6876b2fb96fab4efc899fd851be71b3491f45432ecb992fcb950416a733e3da561a7621fc4fca2deb3d83f9073bbdc006fe82bd105a6a2fcadb1bfbc9d4edb6791af7879ca2ac7d2c6386c2b067f0c4b731d15f8fd998211c56d0c8b6df1fb07abb1b74baefae2973961398f678dd33903",
-          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
-          "shared" : "0173a7def25e016ec3326d4c881dd62a1f33bfcf88d77ccbadc1b49044d9d179342840cf2ac6c09e41c9b1e7b6127f70e294c5fa8ffa132a222767f09a7f350eb300",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 300,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004af6dd5b71a8c1cf921e36854ae091aaa589d337e740e8579f816eb9e36b03eec5cf956d0fdd2fc1687335507fc1c4a5717d3b5b8ea8340d1",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 301,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000453366db79b320781936df61bb55d4499949d813ee5abaa5dda70da4f97f68228ccc69d7cd0b7266cfc28d0dcafdf3e83738cc611acb08f8b896c4ecf82dd65ae",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 302,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004aa45c13ce3cfea8538422712903edc0ce56df74ede0776e843555a786f9738de1943dffd729addfd4772169751d7765a45b5bb540a47d198f4c8c7c21e67560c1e12f70b64520109bb8858a3f8d6bb4012003431db0778633313fdb9464c47ec",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 303,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000475e01a1555380be188d69aac340a4675e4a6f73d63976a1075249827d8ecc2a31e65ed1eb591954e33a38f68ef8aa6c930229d8755e53257602b3eaa87de6f02",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 304,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004905a06d5bc093697155aaff67305976a769b904d8db9573c4be361626def2ffe1d5ec14462c02e5ffb24fb3edb2b6c77a5cfee2492db757b",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 305,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200042b87df1b6a5cbc4c4a184b7eec9b6c0483f7b80e6477b29649630c37481876bb0e3423f7a00d469320b7e60c88370979064efb9ceb8b387aa87a7c6941ccd9ed",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 306,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000470df62394ee036eefbc8ef11a9a5f3a8af659016f29e7125e52cfda0a74e52c7b21d18ac4375f5e4164c5338fa2f545a3fb2022f0e0686d5b4882958f72b1bb626e37093e3f19673968c237823327fd6",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 307,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004808dc7b1c6d3ec470a7fe5d6144c9c3a8c92b116103aa2edbfce0b2c827312eebcd1350d09a739eac901af341487861b195270f671e0a758deb23222db4fe7983d42a785b35fd158344cd6483c4da5b409e77d0a284dfa9c3e0d91a4d275fce9",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 308,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aa11b560dc1e572f2374e5869210304d66d95b1d8ce40940157f5f5b4a7dc8a340f7c305d6bea289f5c430eb888e2a03528336aaf4680d9d153cd162e2229df330425025df2625b147568927f6acf704e4936f8989ff9d44f33ee22196e70dfd8711e8934d8d42abb4b67afcfee213c3ad5e5c83fcf4283d253d6c5c0e581970",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 309,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00048d7a746de095728a8d83219e587040cb6e794d088ab6eab426638202579850b0f235edcf4eb8adcb51bf41878f6b71a1f2d4101022964340",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 310,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000424ad316bf41e4102dd7ae16311b64464df2d13ea68a11dd27a4445ed900962180ff8c627ed73f0c667863ee3a671e6ed1fa2781b51a229ee2cd21fbf69437d60",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 311,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004548ce4997cc618800d3834dd4b3346e4559be066ab5d0cecd7123c4de940c168fecd3bae067fe3fc7aee875c9da0a86932f0779f42344470860c22dbc6f305eab792fc0874157e175c7d3c4d3bf54c4b",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 312,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044fc2b35e3019a57a8ca6efe2ec1f72072c599a78c2725f7cfc2d9edf220b5f6abdb0c0d8d160182de451e26bcbb4e8c18726263e21ce56fb4bafaa1f186c745e2c8392ef8c5a1c03f5462ebbbcde0ffcc31e9a0b3e898ddb9c1c79e420fd7a35",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 313,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp521r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047122f743122681ac73b0d611af86847d8bec654cf99e7eaf5d4f684e4078a8e61dc6d07e831ad02cd40d41dbdb6b0e877d960b78a5ac34c1e6ce7c483503d6de2eaddeffbfb3f144d29d13535a05815934186707146e45f64476bbdbc8645be973270a4c5e35d70ffd5eab2f08d1fb04762bc8aa80e999da14f744be9ff8c923",
-          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 314,
-          "comment" : "invalid public key",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b810400230344000200429cb431c18f5f4e4e502f74214e6ac5ec2c3f86b830bac24de95feae142ca7d9aa8aa5b34f55af4b2848f2e6ba6df4c3ecd401a1d7b2a8287a332b202196fadbb",
-          "private" : "1c1fb2cac9087a3397814b198a80e2ea5b437aac1b41e8a2bd8fef8700e4812aa817320e6e1e3865bd2cf75e43a78be5c27ff1c4b5f5019333cb37d0c9c4ff3ec61",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 315,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b81040023034400020108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639",
-          "private" : "6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 316,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b8104002303440003011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948",
-          "private" : "0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 317,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b8104002303440002011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948",
-          "private" : "0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f3",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 318,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b81040023034400030108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639",
-          "private" : "6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 319,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b81040023034400020009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048",
-          "private" : "2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 320,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b81040023034400030047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19",
-          "private" : "1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f677",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 321,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b810400230344000300c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78",
-          "private" : "24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d5",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 322,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b810400230344000200c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78",
-          "private" : "24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d6",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 323,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b81040023034400020047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19",
-          "private" : "1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f678",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 324,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp521r1",
-          "public" : "3058301006072a8648ce3d020106052b81040023034400030009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048",
-          "private" : "2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "secp256k1",
-      "tests" : [
-        {
-          "tcId" : 325,
-          "comment" : "normal case",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004d8096af8a11e0b80037e1ee68246b5dcbb0aeb1cf1244fd767db80f3fa27da2b396812ea1686e7472e9692eaf3e958e50e9500d3b4c77243db1f2acd67ba9cc4",
-          "private" : "0f4b7ff7cccc98813a69fae3df222bfe3f4e28f764bf91b4a10d8096ce446b254",
-          "shared" : "544dfae22af6af939042b1d85b71a1e49e9a5614123c4d6ad0c8af65baf87d65",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 326,
-          "comment" : "compressed public key",
-          "curve" : "secp256k1",
-          "public" : "3036301006072a8648ce3d020106052b8104000a03220002d8096af8a11e0b80037e1ee68246b5dcbb0aeb1cf1244fd767db80f3fa27da2b",
-          "private" : "0f4b7ff7cccc98813a69fae3df222bfe3f4e28f764bf91b4a10d8096ce446b254",
-          "shared" : "544dfae22af6af939042b1d85b71a1e49e9a5614123c4d6ad0c8af65baf87d65",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 327,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004965ff42d654e058ee7317cced7caf093fbb180d8d3a74b0dcd9d8cd47a39d5cb9c2aa4daac01a4be37c20467ede964662f12983e0b5272a47a5f2785685d8087",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "0000000000000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 328,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000406c4b87ba76c6dcb101f54a050a086aa2cb0722f03137df5a922472f1bdc11b982e3c735c4b6c481d09269559f080ad08632f370a054af12c1fd1eced2ea9211",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "0000000000000000000000000000000000000000000000000000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 329,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004166aed3bc281705444f933913f670957a118f8da2c71bd301a90929743e2ca583514a7972e33d6fea1e377ef4184937f67b37e41ef3099c228a88f5bfb67e5b9",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 330,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000436e1e76ffdbe8577520b0716eb88c18ea72a49e5a4e5680a7d290093f841cb6e7310728b59c7572c4b35fb6c29c36ebabfc53553c06ecf747fcfbefcf6114e1c",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 331,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004728e15d578212bc42287c0118c82c84b126f97d549223c10ad07f4e98af912385d23b1a6e716925855a247b16effe92773315241ac951cdfefdfac0ed16467f6",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 332,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ca03ff8e99e269576cf7564545c89268eb415ff45778732529fa5997cc2b230950d6b84b729bc07f9b2d92754281cdc0d289d2453385aef77e4bdc69bf155c5f",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 333,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000451be66137e39bbf35a91c6db5ba6919ff471d885ca94462eaaa65b1eac366baa5910de70b6e09e97aa00621ef18f2801719b199b3e7769fdab2bd909b2f340d7",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 334,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004595e46ee7c2d7183ff2ea760ffd8472fb834ec89c08b6ef48ff92b44a13a6e1ae563e23953c97c26441323d2500c84e8cee04c15d4d5d2cc458703d1f2d02d31",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 335,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e426e2f5108333117587975f18d8cc078d41e56b7d6b82f585d75b0d73479ffd75800fd41236a56034bed9abc55d82cf059a14d63c07cd0750931714731a1ca1",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "8000000000000000000000000000000000000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 336,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e1c7076caf26010b1767f1a9c4156b5b4236368d5d90dece3441b734e8684ee6b3534c3c54e614e594dce6ca438b87c424c8e80f8fae226bbdf50e4906c13f6b",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 337,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004663cea1063c9916b75e85fc815d8a2370ec0a02aceef3db022e395db8b03bf3f188787f4047dc106807526502c7ae880e471c929b92e2384489c8070b5bcc109",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "ff00000001fffffffc00000007fffffff00000001fffffffc000000080000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 338,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000424175c078e305d3139e5dab727a6ab8587b26daa470a529a23c10585cb56c038bf1f2b937ae074ff94b15f5cb5e60eb5d32afba2077539db794294bcaab71a81",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 339,
-          "comment" : "edge cases for shared secret",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004008d71c712dd95881cd1400dbe7683acbd8e269d25261b08f1f491b45e3b5621778182a24198b0f23502d06e24c45122e1f420af48dc1e17b1ea923386a33062",
-          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
-          "shared" : "ffffffff00000000000000ffffffffffffff0000000000000100000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 340,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000000000000000000000000000000000014218f20ae6c646b363db68605822fb14264ca8d2587fdd6fbc750d587e76a7ee",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "12c2ad36a59fda5ac4f7e97ff611728d0748ac359fca9b12f6d4f43519516487",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 341,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004000000000000000000000000000000000000000000000000000000000000000266fbe727b2ba09e09f5a98d70a5efce8424c5fa425bbda1c511f860657b8535e",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "45aa9666757815e9974140d1b57191c92c588f6e5681131e0df9b3d241831ad4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 342,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff3db772ad92db8699ceac1a3c30e126b866c4fefe292cf0c1790e55cee8414f18",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "8163c9dce8356f1df72b698f2f04a14db0263a8402905eee87941b00d8d677f5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 343,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff31cf13671b574e313c35217566f18bd2c5f758c140d24e94e6a4fda7f4c7b12b",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "1a32749dcf047a7e06194ccb34d7c9538a16ddabeeede74bea5f7ef04979f7f7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 344,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff73b0886496aed70db371e2e49db640abba547e5e0c2763b73a0a42f84348a6b1",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "ab43917a64c1b010159643c18e2eb06d25eedae5b78d02fa9b3debacbf31b777",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 345,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000f4d81575c8e328285633ccfd8623f04dd4ed61e187b3a6d7eac553aede7f850",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "1648321c706651adf06643fc4ae06041dce64a82632ad44128061216cc9827ff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 346,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0001000242217b7059b3ddebc68e95443f6c109369e1f9323dd24852ac7612996b6e5601",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "fb866b2e4b1f9ed6b37847fc80a19a52e1e91b75d713b0d4f6b995d2d3c75cfe",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 347,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff4b66003c7482d0f2fd7b1cb2b0b7078cd199f2208fc37eb2ef286ccb2f1224e7",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "3135a6283b97e7537a8bc208a355c2a854b8ee6e4227206730e6d725da044dee",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 348,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004800000000000000000000000000000000000000000000000000000000000000069d3cd0c70f1484d4b3bbbd680679ef477a22a07df085634f117c41c08bf1230",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "62959089a7ed477c22cb4f1c7787327318fccca25e5aa3e44688a282931ab049",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 349,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200048000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000130f69b6e95a3303214a73ad982a1f3ee169d7ecf958de7b0bca8a9ffa3b8e8b3",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "04fda5c00a396fad6b809a8843de573e86b0403d644995c83313da51fb1f5880",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 350,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ff00000001fffffffc00000007fffffff00000001fffffffc00000008000000056951ead861aa8ec7a314fcd54f905bd92c910786375eb7ee5f3a55f8aa87884",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "bbd9937bb51d27f94ecaea29717df789afeac4414e3ef27bb2e6fa7259182e59",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 351,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff63a88b2e0c8987c6310cf81d0c935f00213f98a3dad2f43c8128fa313a90d55b",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "bbd9d305b99ff3db56f77fea9e89f32260ee7326040067ce05dd15e0dcc13ed8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 352,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ffffffff00000000000000ffffffffffffff000000000000010000000000000066a4456ca6d4054d13b209f6d262e6057ad712566f46e9e238e894deebe3d3aa",
-          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
-          "shared" : "4ffb2c7962e32d5365f98f66be6286724d40d5f0333ba4fc943c0f0f06cdbb1f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 353,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "3",
-          "shared" : "34005694e3cac09332aa42807e3afdc3b3b3bc7c7be887d1f98d76778c55cfd7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 354,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "5841acd3cff2d62861bbe11084738006d68ccf35acae615ee9524726e93d0da5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 355,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "100000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "4348e4cba371ead03982018abc9aacecaebfd636dda82e609fd298947f907de8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 356,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "e56221c2b0dc33b98b90dfd3239a2c0cb1e4ad0399a3aaef3f9d47fb103daef0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 357,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "5b34a29b1c4ddcb2101162d34bed9f0702361fe5af505df315eff7befd0e4719",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 358,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03abfd25e8cd0364141",
-          "shared" : "cece521b8b5a32bbee38936ba7d645824f238e561701a386fb888e010db54b2f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 359,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfc25e8cd0364141",
-          "shared" : "829521b79d71f5011e079756b851a0d5c83557866189a6258c1e78a1700c6904",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 360,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfca5e8cd0364141",
-          "shared" : "8c5934793505a6a1f84d41283341680c4923f1f4d562989a11cc626fea5eda5a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 361,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8bd0364141",
-          "shared" : "356caee7e7eee031a15e54c3a5c4e72f9c74bb287ce601619ef85eb96c289452",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 362,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03640c3",
-          "shared" : "09c7337df6c2b35edf3a21382511cc5add1a71a84cbf8d3396a5be548d92fa67",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 363,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364103",
-          "shared" : "d16caedd25793666f9e26f5331382106f54095b3d20d40c745b68ca76c0e6983",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 364,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364123",
-          "shared" : "b8ae1e21d8b34ce4caffed7167a26868ec80a7d4a6a98b639d4d05cd226504de",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 365,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364133",
-          "shared" : "02776315fe147a36a4b0987492b6503acdea60f926450e5eddb9f88fc82178d3",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 366,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413b",
-          "shared" : "3988c9c7050a28794934e5bd67629b556d97a4858d22812835f4a37dca351943",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 367,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
-          "shared" : "34005694e3cac09332aa42807e3afdc3b3b3bc7c7be887d1f98d76778c55cfd7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 368,
-          "comment" : "edge case private key",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
-          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f",
-          "shared" : "4b52257d8b3ba387797fdf7a752f195ddc4f7d76263de61d0d52a5ec14a36cbf",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 369,
-          "comment" : "public point not on curve",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e4",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 370,
-          "comment" : "public point = (0,0)",
-          "curve" : "secp256k1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 371,
-          "comment" : "order = -115792089237316195423570985008687907852837564279074904382605163141518161494337",
-          "curve" : "secp256k1",
-          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80221ff000000000000000000000000000000014551231950b75fc4402da1732fc9bebf0201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 372,
-          "comment" : "order = 0",
-          "curve" : "secp256k1",
-          "public" : "3081d530818e06072a8648ce3d0201308182020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80201000201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 373,
-          "comment" : "order = 1",
-          "curve" : "secp256k1",
-          "public" : "3081d530818e06072a8648ce3d0201308182020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80201010201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 374,
-          "comment" : "order = 26959946667150639794667015087019630673536463705607434823784316690060",
-          "curve" : "secp256k1",
-          "public" : "3081f13081aa06072a8648ce3d020130819e020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8021d00fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8c0201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 375,
-          "comment" : "generator = (0,0)",
-          "curve" : "secp256k1",
-          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 376,
-          "comment" : "generator not on curve",
-          "curve" : "secp256k1",
-          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4ba022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 377,
-          "comment" : "cofactor = -1",
-          "curve" : "secp256k1",
-          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff0342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 378,
-          "comment" : "cofactor = 0",
-          "curve" : "secp256k1",
-          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201000342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 379,
-          "comment" : "cofactor = 2",
-          "curve" : "secp256k1",
-          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201020342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 380,
-          "comment" : "cofactor = 115792089237316195423570985008687907852837564279074904382605163141518161494337",
-          "curve" : "secp256k1",
-          "public" : "308201153081ce06072a8648ce3d02013081c2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 381,
-          "comment" : "cofactor = None",
-          "curve" : "secp256k1",
-          "public" : "3081f23081ab06072a8648ce3d020130819f020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 382,
-          "comment" : "modified prime",
-          "curve" : "secp256k1",
-          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fb524ac7055bebf603a4e216abaa6a9ef8eb2bbea2cd820e59d46d8501f6268b30060401000401070441040000000000000000000006597fa94f5b8380000000000000000000000000000f229ba06e5c03dbcba0eec01b4bcca549cda86e507e8813b5bb2b42df88f12f47022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101034200040000000000000000000006597fa94f5b8380000000000000000000000000000f229ba06e5c03dbcba0eec01b4bcca549cda86e507e8813b5bb2b42df88f12f47",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 383,
-          "comment" : "using secp224r1",
-          "curve" : "secp256k1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 384,
-          "comment" : "using secp256r1",
-          "curve" : "secp256k1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 385,
-          "comment" : "a = 0",
-          "curve" : "secp256k1",
-          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 386,
-          "comment" : "public key of order 3",
-          "curve" : "secp256k1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f30440420b7a3deb06cf9b8bfb613db5b326c08f358cd1e8be8c439808affee3dfac3925004207fb4965b120c7072a7fe229618e5ed04feeae8f64394c288dd399db044ba13ad044104c38aa12994378caf47d271c434adb084cf4a342acb42f58c4ae76911aa9cc166e1f665412eea7e7fb0ae45823bcc6f9f4fef17e79408267656f64dc16baad920022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036414102010103420004c38aa12994378caf47d271c434adb084cf4a342acb42f58c4ae76911aa9cc1661e099abed11581804f51ba7dc4339060b010e8186bf7d989a909b23d9455230f",
-          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 387,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a000450eb062b54940a455719d523e1ec106525dda34c2fd95ace62b9b16d315d323f089173d10c45dceff155942431750c00ca36f463828e9fab",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 388,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000406372852584037722a7f9bfaad5661acb623162d45f70a552c617f4080e873aa43609275dff6dcaaa122a745d0f154681f9c7726867b43e7523b7f5ab5ea963e",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 389,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200040ef5804731d918f037506ee00b8602b877c7d509ffa2c0847a86e7a2d358ba7c981c2a74b22401ac615307a6deb275402fa6c8218c3374f8a91752d2eff6bd14ad8cae596d2f37dae8aeec085760edf4fda9a7cf70253898a54183469072a561",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 390,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400921da57110db26c7838a69d574fc98588c5c07a792cb379f46664cc773c1e1f6fa16148667748ede232d1a1f1cea7f152c5d586172acbeaa48416bcbd70bb27f0f01b4477e1ae74bf4f093184a9f26f103712ccf6ceb45a0505b191606d897edaf872b37f0f90a933000a80fc3207048323c16883a3d67a90aa78bcc9c5e58d784b9b9",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 391,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00042c9fdd1914cacdb28e39e6fc24b4c3c666cc0d438acc4529a6cc297a2d0fdecb3028d9e4d84c711db352379c080c78659969bdc5d3218901",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 392,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004120e4db849e5d960741c7d221aa80fe6e4fcd578191b7f845a68a6fcb8647719a6fffb6165d8ec39389eecc530839c321b2e9040027fba5d9cb9311df7cd3d4d",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 393,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040efb1c104938f59a931fe6bf69f7ead4036d2336075a708e66b020e1bc5bb6d9cdc86d4e8fa181d7c7ea1af28353044e8cec12eec75a6dd87a5dc902024d93f8c8d9bf43b453fd919151f9bd7bb955c7",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 394,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200043e96d75b79214e69a4550e25375478bdc9c2a9d0178a77b5700bd5f12e3ce142f50c93dc1ee7268456d7eae2d44b718d6f159e896ae14fbe3aba397801a95e2bb6a9a761e865b289dd9db64aa07c794cedf77328543b94c9b54ce0cf04c60ac8",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 395,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044f191130740f1b75ae13402960eb22ea801db80ed51a461e06a7b3ba60c9bddd132a6465bbee8afd70cfb4495efbda4f1567b958e6e305bfcb4ac8f05172688e0f2f175aa12425be3ab7271b42f258639e868677d1163c12e641229f1e6427761c9e294de51db564151b21a051d2f7a13661852799557a556a5f3c51d36d083a",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 396,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00044964b948cefa39cd769e3480d4840a3c58e966161be80df02d9aab33b4a318a32f30130224edcefe0dd64342404e594aa334995b179f641f",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 397,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000411157979c08bcd175d34572209a85f3f5d602e35bdc3b553b0f19307672b31ba69d0556bce48c43e2e7e6177055221a4c4b7eb17ee9708f49216de76d6e92ab8",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 398,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048bb517e198930eba57293419876a8793f711de37c27f200e6fb2c2b13e9fabd4fbc42ad61751ca583031ba76cbc6d745d115addc74eab63bf415c4fa20dbbecae98ac3c3da1a041705cf8959e2ccf453",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 399,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200045eb38d0261b744b03abef4ae7c17bc886b5b426bd910958f8a49ef62053048f869541b7a05d244315fc9cd74271ec3d518d94114b6006017f4ed5e3c06322baa1c75809a1057ba6fa46d1e1a9927a262e627940d5da538b5a3d1d794d9c866a4",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 400,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "secp256k1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004035fc238e57d980beae0215fb89108f9c6c4afda5d920f9d0583ee7d65f8778ecfff24a31d4f32deb6ea5f7e3adb6affb9327a5e62e09cba07c88b119fd104a83b7811e958e393971a5c9417412070b9f18b03be37e81e0bca5d3ff0873ed1f3113ed0fc57a0344321fb4d6c43f2f6e630a3d3883efe4c21df3e0f0b1208226b",
-          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 401,
-          "comment" : "invalid public key",
-          "curve" : "secp256k1",
-          "public" : "3036301006072a8648ce3d020106052b8104000a03220002977cb7fb9a0ec5b208e811d6a0795eb78d7642e3cac42a801bcc8fc0f06472d4",
-          "private" : "0d09182a4d0c94ba85f82eff9fc1bddb0b07d3f2af8632fc1c73a3604e8f0b335",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 402,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp256k1",
-          "public" : "3036301006072a8648ce3d020106052b8104000a032200020000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "098b5c223cf9cc0920a5145ba1fd2f6afee7e1f66d0120b8536685fdf05ebb300",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 403,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "secp256k1",
-          "public" : "3036301006072a8648ce3d020106052b8104000a032200030000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "098b5c223cf9cc0920a5145ba1fd2f6afee7e1f66d0120b8536685fdf05ebb2ff",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP224r1",
-      "tests" : [
-        {
-          "tcId" : 404,
-          "comment" : "normal case",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000447a927daafd7282afd721c141c268be12312066c1d62fe047dcef272958e02a2b81c89d7b81004eda65cb6e1df8da330be2d563221862b81",
-          "private" : "08cff3b0b5c1b3220043759320c6cc6392e19e554f180f3df1e44c7fc",
-          "shared" : "4f7afb302c699bd56db0bdac550172bac94b73b0f2b60eee91b6a420",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 405,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e000347a927daafd7282afd721c141c268be12312066c1d62fe047dcef272",
-          "private" : "08cff3b0b5c1b3220043759320c6cc6392e19e554f180f3df1e44c7fc",
-          "shared" : "4f7afb302c699bd56db0bdac550172bac94b73b0f2b60eee91b6a420",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 406,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045f9a3dd8daebed9583d91dd75c6ef089d325ffafb3639fb97a7a2dea04e811b5cb44e171a5ded25c22f37fd10e1860416e4edb8aa8081c0e",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "00000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 407,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045d8de5d817d49856a9ae870b5c84824f1a19745e963c820fdebb553c06f87a56e4d0019f1192f904285f5538c1d3eedc059e77344e7d4b8b",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 408,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004539b0566588e16505e2d39323c07799a6aa288e7d2aa03db8a392a388aad13ac01879d1cde648dc8ad70c2dec49cb67961b2493ddad8724e",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "00000000000000ffffffffffffff0000000000000100000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 409,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000426287f17f2554aaf1e49c5594fbc35059a5c7c037994bfff9cb437f33d0e5fa3400163c4a0ec513e7049edeac43f7463b99f1c9144d454d9",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "00000000ffffffffffffffff0000000000000000ffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 410,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00043ac67c437f5cd2b4bc78218b01f64130c8b217070f6e1eef5ad4b600242505741417f79fd28596192538a9438126a49f44f98ed2642aab1b",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 411,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00048ab3fa0ccf52a661ea3a1d50219c0cbf809bcbf63745f4e0b94a890c01c166c6392c3690f7ec28684857ea05f5fd4b8b4e7b8b05a9e94265",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "0003fffffff00000003fffffff00000003fffffff000000040000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 412,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045a6ecb1ba881bf4df559980cc940e66e430bb22b6dd0e6ea1842e90caa0c8cd725f93c45985695fc3a78c42ef72c190b083db57ff85c3db2",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "01fffffffc00000007fffffff00000001fffffffc00000007fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 413,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a60d25227568b2486b402af66d9212fe923a37873a8a5613ef813d91c88aa84b15b7cae6ab6478f0bf42c464f3f50ec27d339e85a4908841",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 414,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000499b409afecf5e544d0477a8a43d6f4805ca19d0b24b89d6a372556060695d60a6c4c321043cb40a501a2781c77fb9c8f370c8af801069e85",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7fff0000003ffffff0000003ffffff0000003ffffff0000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 415,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004772b186ddd36192f7a73f10372c86d6a7e05200e0dabffe07e02bc9ea13a2429f0a30ab26de39bfafd44e37f14c79acee2ca7fbf2bd8f55c",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7ffff0000007fffffe000000ffffffc000001ffffff8000004000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 416,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d54fbb07c8c0482600908178438fd572eca1ebafdcd101071afcb247a0561e4e2201447d30db350510f0f8afffa228515de9289516855d2f",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7fffffff00000000ffffffff00000000ffffffff0000000100000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 417,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004baeaa482e45fb4b932c945eeade8644f980e50f4150fc4ce1d02ecf6a883c9da5dc24c149b9b4510da27db8df3b3afbeaa629e19d99be628",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 418,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d63331a28bd6f82dcbe3de0ea807431012e954fd9febcc7a3687dbabca532329351b6a7a0648ab34c6aac123f8dd4ec8a44fb88df0ec45ae",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 419,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004000000000000000000000000000000000000000000000000000000014ebc9078ad8ad07562cd41b374827192aa88ce3c718a014405eed475",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "609042ac307c7d75ee58690d36d1f0ba2cb70f1a77ca43bc7bb70067",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 420,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004000000000000000000000000ffffffffffffffffffffffffffffffff541d4608f6b28dcc77f02d94b1e25428a22e64fa9b3354beed97af99",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "a55b6ca4b1e135cf1df413a50861917b3d10ffef98a29a874ba9563f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 421,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000400000000000000ffffffffffffff00000000000001000000000000004946136fcdd34a5225b09a844d9f482e56a13c46b4ef294e9c049f5b",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "9240e268b133e25b39b36cb7bc9e91a535ce622b48d3b0701d31b2c6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 422,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000400000000ffffffffffffffff0000000000000000ffffffffffffffff4bdc280b52c98b4bd52bfd4fd2676a97610c4946a66abef9bad0adaa",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "b552615bd4ea7eef4fef3e39aa4fc511d8cbaf40da099e47a611e512",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 423,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0001000060916626da518ee8f6bad287e697307084e191ca79398148141e57db",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "5701c9c1c1e59e93a0e57addf676c0d7646ff8407de630e5ec7255cc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 424,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040003fffffff00000003fffffff00000003fffffff0000000400000005b5f99e5ee14baa1c4fa21adf0a6557416c603f933a592dd8dd16d66",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "07c0ae0f2e52e4657fcd5dcf95c5d925b0534da4d6a113e1406580ad",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 425,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000401fffffffc00000007fffffff00000001fffffffc00000007fffffff572544766fb80fb67365c9292c5f70bc285388d705155b361eee3a31",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "2d4f54d23c12ee51456f8047bc9c9bf3829192beef85bc6160029915",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 426,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff65d425acdceb1b04862ea9df634fcad6f1af3b70ca0000015b943550",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "4d51293480c1208a093504c4c96a4c33466c918d300a8566e69d4afb",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 427,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fff0000003ffffff0000003ffffff0000003ffffff000000400000002ab72fec57251d40ab8f358a291933878b14635671f9e0a8088dc73",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "7bedf280c9880edf26fe8dbd7afa356a54a67a93a2bf7043d2f497ee",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 428,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047ffff0000007fffffe000000ffffffc000001ffffff80000040000011f4ecfad07f9a9656935f536a8b06e0db0acf5d54a939436ea844480",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "c56360d832e7d3854f60e0f3d362e58eb8026e27b6161fb2217ce57c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 429,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fffffff00000000ffffffff00000000ffffffff00000001000000003532d972042e05e13fe9d8f44800502161c9c5ffa30f5caf151d600d",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "5a0e6ab7b41c61b1cb098449c707f74f55548b92c78af27d3f33c084",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 430,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff515853ec16a985fbde8da662e47299e86ee30ad464acb849f5132922",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "b4e21f2403d826439e4d94985cebbc724a85a3e405aeb8f610892ec3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 431,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe51bd78396f681cbf535b3951d0b7edf91abd3b10e1cb5cdeb7ba8f9a",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "92d2a63b7788e0d704ecda5dc59321dc30264445763da792f7035832",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 432,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "3",
-          "shared" : "0c52cf1e5e3f3da21b6040644e0e9eeca2e020f5872c430cccef8b98",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 433,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "ba92ad99f14a0ee915aecf776c4fc5fdecbbc8fd8e13a7610a44d2b9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 434,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "1000000000000000000000000000000000000000000000000000000",
-          "shared" : "2b8dfc433327f665f04f2929084412000f1b2249f98b277784b334dd",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 435,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "b70058644ff94dea13a4f3fea5bb80579152095ba9d3cf637f937737",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 436,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "080000000000000000000000000000000000000000000000000000000",
-          "shared" : "27bdac60e05ba7ac0f904050247e653c896bafd45b50d0938589718a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 437,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4a6ddebca3a5a7939f",
-          "shared" : "00b6b04347120ddc5228530ef7075824fbb745945edd75e73f637a40",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 438,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dcebca3a5a7939f",
-          "shared" : "d5b319d0f3143095c6bd1aa880c9df6a492caa6d6d275eb104a7aba3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 439,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dd6bca3a5a7939f",
-          "shared" : "a0e1f7a142aafb0856616d46b5f76c2244010c9d46cec07ab33bb4a8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 440,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca2a5a7939f",
-          "shared" : "6f1baf2ed42e35d71b705f5dbfb7f51a8ab661be91d8b2614769fa01",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 441,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd",
-          "shared" : "1be0d59d1f0f3a743ae19c5246099391098f71444223831e16cfa0c5",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 442,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d",
-          "shared" : "7e00a9267243cea4ba7617860b6fcf404e0357d1202d8c85dc5e07d3",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 443,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939c",
-          "shared" : "0c52cf1e5e3f3da21b6040644e0e9eeca2e020f5872c430cccef8b98",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 444,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d",
-          "shared" : "aac6a805f4ce1b6dcc13ec4ed16a889dc4d708f7f6f1e23471338324",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 445,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b3",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 446,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 447,
-          "comment" : "order = -22721622932454352787552537995910923612567546342330757191396560966559",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021dff283ecb55d9bc9979d5e7cfda8a2f04672ee943b49221435c5a586c61020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 448,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP224r1",
-          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd020100020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 449,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP224r1",
-          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd020101020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 450,
-          "comment" : "order = 5290290092223871682666367384584369978999613398297400491171",
-          "curve" : "brainpoolP224r1",
-          "public" : "3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021900d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 451,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 452,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cf021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 453,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f0201ff033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 454,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020100033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 455,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020102033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 456,
-          "comment" : "cofactor = 22721622932454352787552537995910923612567546342330757191396560966559",
-          "curve" : "brainpoolP224r1",
-          "public" : "3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 457,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 458,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00b352e92e2b56ca58f5e37acdc34af65ec6145e27c14bce42bef26235303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b04390400000000000000000023f905836e050000000000000000000000024058a847e339e15fdfa24f6f1876ce8b7a763a02e23cc17016e2c89c20021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a000400000000000000000023f905836e050000000000000000000000024058a847e339e15fdfa24f6f1876ce8b7a763a02e23cc17016e2c89c20",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 459,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 460,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP224r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 461,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP224r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 462,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP224r1",
-          "public" : "3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff3021040100041c7ca82b1a7918992ef42c3deef04c4862d9e15b11e4c036e5c7389c94043904a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 463,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP224r1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041ccaf4cb1b2c161821b6502eec6c7c6f1060156a6b916ddfc60fcb2c83041c947a1b258e9e3e9e8462eb1090b35f490646ac34b8c2441c918bcd91043904968b765c75b255224c2dc6096685daa95cceddc7a2de715138b39041676092b5ae3885750ea6f9baa676339bfd1beb4760b17d0adbb00072021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004968b765c75b255224c2dc6096685daa95cceddc7a2de715138b390417060a1f4780ae1111b71366acf5ba3ebb3831c1037290ceaa318c08d",
-          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 464,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004992f4a20b0e54d674737b79da8e31ca6c6b3f86d5fed22a8861cfc1a3a57f7a9592ec7b70afa981399d30b9cc7f7dd31b6200f33a7d4b696",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 465,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000415cc8782ffaca34a954d055b906afdfffe1e3e2c08202cab9f2b31a18e6545cb52509e9a3ce64208d2cae9af9f366bc0053a210ef117376a4df1c43d54944f90",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 466,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200044d5a019d890fb4a512d6e84c1738ce2ec66b942b17f28bba75341a6dda2ae2acf94ff30bad8205d013382bec105ce2a2287482fb50a9e273d934d5302a74845c21f75c493deaf571ee4df5619d7bc77638a530bebd6bcacf31bd550241b9b81e",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 467,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004009cccaf2f3737187608ee4cd4bca434909fa84976e95bbf7e7517c07739625f5b2d52431c7e744930daac43a8997048ac82d082d37161a3b2a0c4d238d9140d6cf90159320fff6a710b506881b3b772747678dfd73bf7e870b516039c6008d44491e23789b57ad0c43b3fd27565ed703019aa036b60ff84ac866b653e368b47374c557f",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 468,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000422ae2126ae12a38cc771c1c8576a9b983aadcdd65f48f9d201192a488b0ff4a1d6d14ad981aac3fcfa2156b6340012197db2a4f6b6f7324ac8a7c4015861a1eb",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 469,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000467de48ceec36eccd05eb47bf815b784a51723667fe1008e700cd197cf3d50fc577444217f2a1976fb3faf6db0d08e8c6d645785ab66f3e5686c5572093bb6646",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 470,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044ece661f5ba97078659744dde9c8b2ad87ddf952fa76fa31ad3d04ee898aff363690885479efc69d0ddd21a35e0de809b95a183944e43c9653450ee4a03d5c3b714476482f0a84248b14efada7b6a5d9",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 471,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047aeb413f2efd160ecca59106870bd37ebaaf5e3ff576a6b5125de002dc3031f6000889ec211d8f40ee4c0a085b6011868319cd075c7a5d6dbf24a24eec40ed34ff03618f5548fc3a10d06f168a190723632e5d7979261f048e7da8e8dd564d2e",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 472,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000496f2336f70fc7b831650e40834c0a425cd343b98ddb15d25c849f5951addcdd12dc956ddd6f90bb8ac29e185bcc2098974016dd5e760024bcba4f35adee681fd158c98fc462b2538595157538b299ac638ba6709d968a0e37a4ede0939ba6c1c54675c49c9f0d23c1576fd2c89727f7e50e63406d47612a0c5dc20f7688c1fa5",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 473,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000474ec4011cf976c7151f8ccaa8b753b34c08e31cabf3efcc5bb997cd262c3273750abfcb8f76bc785c056a924e760d3d155bc5a7281a5b345",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 474,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040b42aeb62fc7e1295f9ce8f5bc5a66aecc4de289f73d05b672e7dd3ca85f34785e2e11f7cb6c7e4b48d458c2e2a613a81af11334ebd2627b0666f0d3628edbaa",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 475,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000472e9530f37de4b1d19d53789b02a5bda6e2124f71c58e8cd0e080047f0ca66aa69d4ff2e31b14901746487c71dfffb8a1368e45a56f482fcb5c635a80a1ad2ef56573ffd5fad242c823516eac42f1c7c",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 476,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000427cd77274564e4cc0b8284eaac5373fe2cbc731d95c01a781a6b6c4c94983a88df69f47cfe38cc04895673b56a4739377cac72600ac72743a72c025fbbc2c20e7b82474dcc3e98ba671fcb10e8aaff3d4791309f7a5d36d0b68c2d0fb703cced",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 477,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000466d53b70bcc33f779eddc473774f0a01f762f88df36199b80ef23123551bfe411a639600466da455b77317aa2f43d130258e7a1e86cd65e19a7e684c61896bcb40a0996fb5a897341f7c53a3486fb0aaf9e3281d31d366929eb608b5ed9e13693384dccb9f51f73a2d195949f1453e063e90287f5cb478322c5f03e9a05ab538",
-          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 478,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP224r1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002cfa2455a3fc3491d24291de3588e0eb46063c04430d7975ba71df01d",
-          "private" : "545f59601297fcc8d734f43bebc2d73866b16a3adb885211ae1a608f",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 479,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224r1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e00039f98bba2a331e3a334c5ea7f8937a85580e557b353e06f3ed8dcd195",
-          "private" : "7abde5e6ce42081afc6194930710bfd108b91a7fc34d2caf52cdc54f",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 480,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224r1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e00029f98bba2a331e3a334c5ea7f8937a85580e557b353e06f3ed8dcd195",
-          "private" : "7abde5e6ce42081afc6194930710bfd108b91a7fc34d2caf52cdc550",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 481,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224r1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002128849d9e5731a42465e35aebd7b6db3f24e1366f0ade29e821e1c71",
-          "private" : "720c41bbb15e5247ed81e269b421771e6be5134b11f3542ee8059176",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 482,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224r1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0003abefd2cfd3faf77666c7e1ad81414d6336fea6a6b45179eccffcc95a",
-          "private" : "72adf44f808419549de69d89d37b7508ff528c439580e5d0031e842b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 483,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224r1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002abefd2cfd3faf77666c7e1ad81414d6336fea6a6b45179eccffcc95a",
-          "private" : "72adf44f808419549de69d89d37b7508ff528c439580e5d0031e842c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 484,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224r1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0003128849d9e5731a42465e35aebd7b6db3f24e1366f0ade29e821e1c71",
-          "private" : "720c41bbb15e5247ed81e269b421771e6be5134b11f3542ee8059175",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP256r1",
-      "tests" : [
-        {
-          "tcId" : 485,
-          "comment" : "normal case",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200044cee5e1072b30d64f70bf01958e22c044a2127ddd744ce3060c15990ff0fe1148c6ee56559829a5a84dd5c8646ee0c43d0b7c50181f234ec09eba43bc86b169e",
-          "private" : "113db979e07d9c8fdbea5b06a682c0d2ad67170ffcb65d7547d8c442d3ac237",
-          "shared" : "3f00d9af7607fd32809ef7a4a30b396e3da9f465adf20597c9e2046f16a7b1be",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 486,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP256r1",
-          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200024cee5e1072b30d64f70bf01958e22c044a2127ddd744ce3060c15990ff0fe114",
-          "private" : "113db979e07d9c8fdbea5b06a682c0d2ad67170ffcb65d7547d8c442d3ac237",
-          "shared" : "3f00d9af7607fd32809ef7a4a30b396e3da9f465adf20597c9e2046f16a7b1be",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 487,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200041284e50ecda6c7c3a15ae79c318dec591da197fc32b7a046b168774013e54687156d96fe0765ea03404ecf5f6efc74b0792c05c11f9a683b97f5c7ca74f8a8c2",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "0000000000000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 488,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000498577499d7a42f4dfe44c2757fd9932ec7e45a0d902e0bf1fe4ac09e705eb8e12d9b9a0092c9c92a661e24b2138b6a778324c9db815eb05621c54cd4d4b2e887",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "0000000000000000000000000000000000000000000000000000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 489,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040b3e56747ee2a81edc487f7b257afc5886f3d80e9848472a944590eacf71172f5786410b71ce226824cd3f0ef462185b2557c9e8e1f02c654e8423488331b600",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "0000000000000000000000000000000100000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 490,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004854a72d5fbeacfc57a5aea2e386e549bab87b8ee313ee6c1f12cf267826940769f1c56486b0ac2dcd96bc018f5f42729cc073c6291bde8c3e7c169329c798142",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 491,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a7043cb065916e173837bc1a109526e946b66008398e697b40438a3e0a2b0d9d56c6faa83d8a4c4b9e2a9b4a6917a45aeee61491f4f4e47efebccb71bef8defe",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff0000000100000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 492,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000494b231b2189576b84aa5911e80da3074a4d16988041f908e6b6a199c16e1f7ed26fb9184971bc6f71cbced6836b3107bb17061a440abca27e5b44252bf39c6dc",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 493,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047dc0f29a5542c7d67793f52dc1de986bcee45d7571395cab102893aa2a5bf8cf7d4b8443793b137491736b26061ebd705d194405cf108b741cd1c5b42f44f6ab",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 494,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200044fe39fe909da0a3e5a05d4f9717661c8f9af24071d711df15de225e98d5edce462aca0b1ffb66a09b769a2c23314d5116fb30b71456ca798370abad10097d453",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7f00000001fffffffc00000007fffffff00000001fffffffc000000080000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 495,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000496c13e3b6f626cc2dd89992ec34b39851938a6c6015c1ee4889795dc536c1415330888344ffe63e0d54e4f9365dd209013933a0a84d5e30424f516b87189b835",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7fff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 496,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000406d3939c4c916da103a5f15438ee2b0863cf18b269d3d1a66ccf684f2fd568cf7235f3bac71d7d0f1eb6db9ef7aff385f020991db678e5124ffb0667745b3e03",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 497,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000429f6ba59fbe18c3ed99bc7da638ae419ee7d7853ff6732f5172dea1f085e8fb5071439411bba430d2b8bc8f58c955e94ae167fc9ca06fb262c7c93d710fd62ba",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7fffffff00000000000000ffffffffffffff0000000000000100000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 498,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000485d4f416552f4e51f92d80b4d6e71c6487c6fb0a106ed48395393d63528e6e782ba4c5228e60191a762dc02ccdaadb63364eee8e5008b9b25e0577f81903cb53",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 499,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200043b072da3dee819aba673abc3b1acebff18e4a6a20af8d817af97c2b4a8c5350a68e3bfb1d035fdfdb876b2adf85d9af1ad32e57399ca903a2d3fa4902124d194",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 500,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000463e92d05cfcde1179188bff8ba2043beff5a30a1a6b8ec1dfcd8273ce2c330540607392bdd311a313e3ae53196b14480b1967a235ebdbf1827165477884b5be2",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5376",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 501,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000000000000000000000000000000000000109e0e9e8d98fb89da2a32b2c7618b26bb99b920f02a5e831a142e6c8673110cd",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "599cde22070e96a88658c4a5a83f3723542a402ed506639ff9016fe4a26d4c25",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 502,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000000000000000000000000000000000000226ccfda8234fa9b70316b5ec4da222972b34a970cfe6dd9983a05e2fa746b902",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "4b35a3caa10cd77034e0737e18bc52071f64b8a2e14d7a02df8a36886aa467e5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 503,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000010000000000000000000000000000000001ef5fa5ab0cebc18b64113eb8c040dd743184e7c8ac68f123f3c3d945585524",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "111fbae46ba6389c5879d02e1863301ffa9e1961d721a57c6d88847154398812",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 504,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff2e65afc115d0fe1a86f314629014d6856716a4d9a0114c713051dd700dcc1ade",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "23b36c78c27076e23d6ab56c2e9653d272922c9fc1a176b8b6c2e70ab7c883fb",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 505,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000400000000ffffffff00000000ffffffff00000000ffffffff000000010000000131625916fc4e157b1cf93f3c80352ba4dbf26effbd87d31a2a808d001081f06a",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "27dffb62a6ec9ffb3d0480c45ba00c748193afcc0879d76b47f8ee356785dee9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 506,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000002330b902c4f6a2486744f36adc6000e116a2cbcb14ff9f47aa36319fef93ad5ea",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "9bffd451ceadc27df88a13829852ddab0b2938952f5c58fdae7dd22248840bb0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 507,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff2c6fb3302dd93dc25d2c6792c2ac6f86247c4d39637ee11d9267658017f0055a",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "267a69f4b3945f8d323ff1a526bca566e7ed9806d6a6dc8f4587ab229a5f3ab2",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 508,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047f00000001fffffffc00000007fffffff00000001fffffffc0000000800000020cf9ab5899c59216d6d1bc786ddf6221e374cd37a8b745e826c6495bed0a56b0",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "a4a2d3bcc69380396089e719ab8c77e5437ee589e39d98eae7bd17ce5c1d5b03",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 509,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fff00000003fffffff00000003fffffff00000003fffffff00000003fffffff01a1ad42b3ff22ba6bf3c94b55cfa4d13c6e140d3c44963198f496ebbc50439a",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "3a6ff3c1d490f652f5178a794b8cf825b5044948f6ebda67310c11fec1ad2b53",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 510,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000369a4e24f010260d7c2560f7dc19c41cde6b5c503b6563678580f0d22c74dda4",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "2d59b895062c13d4e5b5e0b77ef273e94e558e724f6241af5bb11bf23acbf851",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 511,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fffffff00000000000000ffffffffffffff00000000000001000000000000004677b043dfe54f78c735543b752b3aec043f656e5f22dd6d956cd642e3390881",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "83640be428f7a4f80ae2671799b5ba1881241fd054a7f2dce0254c07531abe40",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 512,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff178945df488779235a2637c39a4a85ab707bd56e7c22b9ad41b652560123b6af",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "801e5f5d61c666bc089a4265c40d2a3fee0db20a0f78e329bbf2793330ab0412",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 513,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000000424bbe5b0b8702258d2462a8bda59a343b97c3fb1d4005416802bebd628e7d0",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "a409a85067dd63e5eab3aec3d74cb7f071839247dbf97b6de592988095509d0b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 514,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537613a0346db14d55d1bcc27079b68864ac32885b5bdfc3c9db6f85a35d3df4c39b",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "66d757884634861f28bbe45b502f895233b0ba1c69bf45802f80eac5c837750f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 515,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "3",
-          "shared" : "a3e1a44851d0dee744378c5e495f3081dff2a0fefccdd08fdc2331687d5c4a80",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 516,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "1a68ab756ecae2853fcf6285974efae32ccdd01c58d05b4cc58f74d16c2661fc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 517,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "100000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "0bc5fea1dd6793664ea15dafba3e06c1524150d9fde32e17d7c6813fdc8c8fd3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 518,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "2d44ec4cbf228a4e32409e4de1ef8859c93996a9df73c317e5d04e64137f49dc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 519,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "9e1990fec2a345118aaa96a473fb921dfb5c3d69c528cf6fc0989d075552822e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 520,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f6901e0e82974856a7",
-          "shared" : "605641e1bd08b22a1a51022d8ef80f9b6c2f70b2562387db88c124ce60660834",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 521,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7900e0e82974856a7",
-          "shared" : "7db568a027cd6204457ce31e7859cd06fc76ddbc97d5bdefd57a65752fd79340",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 522,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f790160e82974856a7",
-          "shared" : "6878ca1bdd7c0353b505d5a60b2fbed422b5c37c7b54cbed3a22e0894e7b15b8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 523,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e81974856a7",
-          "shared" : "3bc54238c701df3e18c6395f35435059c54ff0d06d8ab19a3d179ab37c1fd8d8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 524,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5",
-          "shared" : "1950b7ce510d4d8648e80c6385a42d005433fc5ca61e2022a1405fe18142c246",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 525,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675",
-          "shared" : "5c05c4d877a0e2af5ffa004c122630bb87157cf346dbeb8ae13017162da208f4",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 526,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695",
-          "shared" : "9639bbd4e22194ce3892a814c82eddbd21dde05cfac20e99396e3d6ef0841f7c",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 527,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
-          "shared" : "a3e1a44851d0dee744378c5e495f3081dff2a0fefccdd08fdc2331687d5c4a80",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 528,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5",
-          "shared" : "341cbdf61f9dd620ba6873a74804afe30a06b0a113a6916a4104d2d4cc196aec",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 529,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e1a",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 530,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 531,
-          "comment" : "order = -76884956397045344220809746629001649092737531784414529538755519063063536359079",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f0469970221ff5604a8245e115643c199f56f627c728e73c6855c4a9e59086fe1f17d68b7a95902010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 532,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f04699702010002010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 533,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f04699702010102010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 534,
-          "comment" : "order = 17901173885223768702896718547912698493510841341785744190857633730178",
-          "curve" : "brainpoolP256r1",
-          "public" : "3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997021d00a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8202010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 535,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b604410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 536,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046999022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 537,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a70201ff03420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 538,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010003420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 539,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010203420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 540,
-          "comment" : "cofactor = 76884956397045344220809746629001649092737531784414529538755519063063536359079",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 541,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 542,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d01010221009cc5080e320d05229fe633a03f5947a56ae6a469b258ad050ad2d32af932c171304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441040000000000000000000004d52ab6d699450000000000000000000000000000522f63e0ae9874b3327af5880fd557e161861d66e42d7ad495941804bdc861d30b022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200040000000000000000000004d52ab6d699450000000000000000000000000000522f63e0ae9874b3327af5880fd557e161861d66e42d7ad495941804bdc861d30b",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 543,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP256r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 544,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 545,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP256r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 546,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377302504010004207ec47e457bfa6d6de5c0681c57f6b7c710a28e78eaab3f2d25ae2fb1cafae1ce044104751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 547,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP256r1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53773044042030e97849a55b5f4a1c13ba2d94507c5b67622fdda58f91d1b5eb1e55a04ae15b04202cb9fc9a7d00b69aedc95772a521a0b3b649e4b65038edfa2781b5136a72c0dd0441040c7a02dd3bd1ea68c6f04d9ee16d67326daf79d0dbe7b7af41bdf6d5a280028f9355275f7aae83c2705ccf6507161ff199427764ce86f5969438caf19d75aca3022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200040c7a02dd3bd1ea68c6f04d9ee16d67326daf79d0dbe7b7af41bdf6d5a280028f16a6307c274025f9ce093b2b966d6d80d4f97ebf069f2a918bda7d2b81f8a6d4",
-          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 548,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004debff6a4a9297b3404bd112bb32f212df745b36c698d82f928fad9eb9a9ab56957e44409addfb8b3002f17987032dccecc3375ea8bbc8918",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 549,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042e0f441d258b51e9f02035b72dc92d19fd7f861b1dc22959c4525aaf7d923ea61fcbb7b5a4fff19b19c316fb2126b9e2325573df3c6886b1d87c8b7ce1e323b0",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 550,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200045889a117e567fdc7c23cd9a8fc4a87912c7394c76d0436e3ad7eba2c1cd52b4d354a79c2f1e96365e5a19475925f078546cb829455e7e5f09c2c707b962bfc1684581bcdbecc2764d75d98c8fb1f6c1a908d3d7225af157df5891140d30b6e0c",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 551,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401571fd75d7f8c5ebd5741f8b50575a469f6b429284793ba6dbd57df9f8cc1ae3efa23fd93b69af726cc3758d731c172b9d9db377f28a22ab3463145a3ca89b20d5301b36f5db20089cc7f261ae7fcc4fc0bcdd425e0c80c3d01be586f9092ec64e9c8eeaa4ebe1ede4d0d844a45528d280514ced8ee882348a76d30776b256683dd2a40",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 552,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004628cd86e0686a0f83900ea5650c950a241bcfb585b58591bbd60d474b330ee435d4e5bc111de4e07f4f2ffc40e009b9780a9565c1521da78547ef36192c54cf0",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 553,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004bcdd35ef1d7823cae92732fe1994eefa75e69bff629bf1a551f3e07360fd2f612d9631e62da7b82376b9605028768f114f830daeba7e3c22",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 554,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004947b72e0343407d82a0fdac7c7f6d410d0196caf9dd5108cced9eff722ab9e4431b0906ff15f3f9fb5ccea8e2c11bc12b8c3d98115f1f326e4594848bd8035bae0fe980ca7b13141f7c244e141c3e578",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 555,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042e8b483b6008ed7d5bdd423ab8e39d68faab00b30c743af1444ef204888684eb6371c4ea9cc0ad803b56abc541f35e4634c48fb32ba6fb975844dfac838cc1bff1286c6ded1f4afe42d68477be54d1ce744cd1fc9cc2e4ddbc897b0dc67a661d",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 556,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000415172c036cb3cd779740fbdaf26930536c9303e0a8d717916abbb6f010058191e1ee0835b4117c2efe4cbeadd3df260aa34d2417734cc52fd4f22d6fd56a6850927f17c97fa71ee829219c7bfe205872d61eb319b7cfa369715e63c25dc739dc6236cc71779bd4fa61bc34e76290f47b47f2b5430984edf61f4c4325a235024f",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 557,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004ad19d0abbc921f2f1fb23eca6765b2ba41b9c51e6e90d22a532c6b8c0ce699f758347ea939e79da8a8289403a5f1f8983aa17a70bbc86ca2",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 558,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000459e7f5220b13269549d11a1052c9ea852eee4c98df598d0c43824aeaf45340fd5a5aa6950b94d6b055ef7b011a506a2b1277ee50e215efa16246a231f0be64df",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 559,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200041a5c93cebdcf7fa5e5c1aedbf463ca7fc7a5a318e7bc281a775aa325c0b2117060c148c4094358fa47b779b11ef3d4b38411cb0a414ace506aa2142f568e141b6a2938122f103d7f849d0763a340e6a0",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 560,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000443e497389d1cc949a87b0bc81b27462b64e8cfe890e2b2d0fadf69c955a39c48d995be3f0597fafafda4719a40e156f761c85d8225dc504c81c6a380f099d82144038fe96bafe0d437d9f3a58a62fe10868aa364fd527f1606ce3c05ad24c653",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 561,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004903c2e5edd60b9831e78cb27c7eddedece338a8c82a9dbd31b1d1a78f8f5de37e4986adf56dfef5136fc30a97f675feeb75fc0488630bb32cf6be8a2cf917dfe589cf0ad661f53093e4a172b3cbbfabbc19a3c7a16f6379060eada96b050061d3bcd9577d5ae602456f6deb6fcb65684240ed6d6420630f07bb38be1cd60a339",
-          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 562,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP256r1",
-          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200029cf25745a7ec04b3c00e795c7e8f8d7da33f55732003be4fd4094d842ea82d8c",
-          "private" : "25d405a46ccd1e34658b9be7423e8fce7a997120db963933545d19762c71d8dd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 563,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP256r1",
-          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200020a8944f96de0fe0d82489cbc7e71f2f529cfcfea03ca593d91462278731e19a5",
-          "private" : "66008d35e34ab5f875c3fd8115c335cd9b5f764323dbe44570960155570e71db",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 564,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP256r1",
-          "public" : "303a301406072a8648ce3d020106092b240303020801010703220002575862a7c5fc68e9ffcd58ce9bd0ef78c0a26a3a22ee96b0be16b399adb3ac4a",
-          "private" : "622853938bb5dc82716cd8d6d076ae6955da307bb14534ae56fd6dfefd5ed270",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 565,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP256r1",
-          "public" : "303a301406072a8648ce3d020106092b240303020801010703220003575862a7c5fc68e9ffcd58ce9bd0ef78c0a26a3a22ee96b0be16b399adb3ac4a",
-          "private" : "622853938bb5dc82716cd8d6d076ae6955da307bb14534ae56fd6dfefd5ed26f",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 566,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP256r1",
-          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200030a8944f96de0fe0d82489cbc7e71f2f529cfcfea03ca593d91462278731e19a5",
-          "private" : "66008d35e34ab5f875c3fd8115c335cd9b5f764323dbe44570960155570e71da",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP320r1",
-      "tests" : [
-        {
-          "tcId" : 567,
-          "comment" : "normal case",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004b7fc5720d4b325c0805cc213c1b9ccbd9e4f380a121fbc00784c821bcd7f0d618b70d39fbdceae553d9de4f90683eb9f000463c7bd1d32db8cfad2b40862ccac05030e93fc6694c071e8e1427b305006",
-          "private" : "12d06c51deda1595d8c43e7c146f898f7141c0836522931049afe61333ae2c03e350b61aeba540bf",
-          "shared" : "94982d50b29faedaa7ed0988fd57b90303b032ce398ec70af6d194bcfd7f9008d14e09425502b7e7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 568,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP320r1",
-          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0002b7fc5720d4b325c0805cc213c1b9ccbd9e4f380a121fbc00784c821bcd7f0d618b70d39fbdceae55",
-          "private" : "12d06c51deda1595d8c43e7c146f898f7141c0836522931049afe61333ae2c03e350b61aeba540bf",
-          "shared" : "94982d50b29faedaa7ed0988fd57b90303b032ce398ec70af6d194bcfd7f9008d14e09425502b7e7",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 569,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004430dd30b26350bc66c41c71769dd61b740d71008b59e455c1795ebbdc6bb1f0c8afaab415850142f1557feb7bef5fd3937f088ccb4d3ff8dc7431eecc9dce6f57c45035ca97dd0d7de9991742a39ad20",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 570,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047bad53f50a369371b9742952b37f6a179ffb0f7f46894321f1b3485453b7bb58b9e61e1ad06913247287976110d22bbaf17dad584cd104bca6601daa0b6633ba889793f931ef61f889a491bfc3776256",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 571,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004887c70eaddf1e67b2e05e0613154b61cac592568641c5332a218a87cebba63b2518e6c1cc1ca4036a4a62bbe99f7cab95eb1fd6b0acc85d495c9b82ed1ce047db89ab3c08f953c13ab35128638921b09",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "0000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 572,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000404d114977ae64cbca724fc517d6b7bafaf7c9eec36d682c1fd02e9f9bca302b149793582b301c8a95acab775a1f9c63d1eab8f1e67421c7d8de16f0128167a2f7ef8ae55fda1b83e97503b8323343a92",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000100000006",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 573,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200042e78935c77d5fc195928849d98b81c79c8dc407bf113bd1e3f49967d288d7bf8c1cd853a9a5fd80788e3e8ebdf07f70c44075b8ad217123e2ef44ae53f4306d0f1958f1311d0509e1c7754a68afdf7eb",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 574,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200048f93a6519729320805291a17925e6d42ba23dd25acb3eea29c18f1e550c7dfb41182a9fd75747df77191f150afa979031f546222bbdc1afc448c6613d219a109a018ad341b6bb5fff61939a242b42968",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "07fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 575,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004243bd450e757a6a5308cb366f87c359b953cb42c6c61de923a24247217974d6ccb3f8869e832227c64035c2066f24423fee0041ab5ef361d1ca4bd19f34f9802f1fbcd2cc132087d8f4f3d5b32e1b046",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 576,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000465677dff00f5899c5100c5ceaeef383de49012e005e8f73656caff3e95dd1254bbbffa840e206e962935d733930dbe0130714761a1a26bf9a59cd37db1311bae7ab2f9ae3f0827aa0ae240b34cefb97c",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 577,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200046394defc20111cd8cddc2b8545b9200f080736bf6438f21c6fe0bc246e4bb0bdce1f1107d6dc55b536d025461efef8ec5dfa7f088fc03070efe56158050ac3042d1285aa9ea40215dfe5542e6d5590f4",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 578,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040c1142edacae66ffa6993bca134cd4450b5adf0d5f5c32e21479f2419a9000afe9226749f27bcad113bee319eac4e6c6927deef999d25017890e95a615bd222720ecbb22ebe2ed9aafb9610bfa7e77f9",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 579,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004770298807fbfc4f084210a361403c6dd3c3f2c31bbf20ec851e10144fc8340ae7a77cead742b5d1dc4a9a855df56a21362614044ae945739c707c0c89b65a43fb091069bd4f695b553c583f538206c35",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7fffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 580,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004a719ed2e9ff2debac0713bc4806181736885736f183be24175ced514ebb76a0e49b20f7a47bec04477405570758bb4a1835f71338d394ac799d389a9a2b0aab561717a0642c668dd7e88521fc0884db9",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7fffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 581,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000423c02591b8ee778c5780ed4c783974ddd5aa52117d68cdda1c375cb77dc36f5fbea9709e44612898c1f5fcb67bd6b2bcc6ff0b01003be7559c1cd0827847de5943d5adde9b8519a55675970051659a03",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 582,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000000000000000000000000000000000000000000000000000000000000000000000000129110253d52cf3c5fc3382fca93d18adf7b97999028767b9722381db68fe3a41793b7d9952c6177f",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "2bab467efa3adf782324563a4d8f19018ca44458f697318a11f3e3c2269275c7b1aec44ce83cce8a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 583,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004000000000000000000000000000000000000000000000000000000000000000000000000000000020d1a18c0b25d0d32d9c4249a523cfcc12a20c2ead596607d73260895676315a70ad098e8b51d25a8",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "829a5f7c664dce621ba1373c0758d3d2b2984d85c384cf0077930ae4909f6072731572ecc3e4a1aa",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 584,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff13b6599cb2e990a4fee490dff267362978a0e76f57c53b4ee85fc39c790f4c6969978fc462e5a847",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "203ab48d6e3a11afcb44140f0b6596cc85dfe39e589d64b699ddb5470ee2ac5cf61d6ec8534aacfe",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 585,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000001000000063a91ee30c63eb15b1c0f2102c6cf3438dd75ca71636238f891e367c105f0b781d02de648399712a0",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "0f5a4a6607bfd93aa3d1ed5a4aa5ed3d973547cc978265649cc47dae0cd32bfeeef058e4e2ed4288",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 586,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff308f36ab8f37e97723b0aadd7ee4dd585b9e68dc00db4242f6c3cf7b0ec1497a26e629b24a613b3a",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "a6b0761c5fe60e1e4c63704ecb8a0da1a9b89cd502b2091eb37a414181af99c4b421f107865a3989",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 587,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000407fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff231f9aef9b1a7c143485f601980bfa4f7bc7b312b01400bd1d15669197e07f2edf39cd08c905e280",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "8ccfba752052d15c8cca181abd9fded4cb0c176dbadccafe44cf1cc1907fc9ba356c7e7c3289e19e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 588,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff025368d44d7706408e18118e8338b5a8f65dcb4f7ac1884d97a44d235b8c89e5c240576680e6def6",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "8c14fa61be79ee096dcf6a2cd31aaab422b98161476c02e71a18168eaf3185ac515f6e451af5e27c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 589,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc0000000800000011a2b8d3c67305de21501cd7c43ad4cd9a57459c42e6fdac1e2cb37952703ffdccd18fcb326a2e0c7",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "61482d667be2a2d7bfcbd75b9e8140ea37813ede1fd44eb046f436a4d672784643d0d84b1c82f55f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 590,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000025a0dc389bcdc85d8434b2c615d1092b546d7808978f2d0cd3b3f17f57a2774c883fc5fad79ed32d",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "c586152d7416ca85eb55486ec2914a78a3d99a240d7d2657d54a2c8c1540b349380a151c9669a107",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 591,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000001030432044ddf1b1586c51deec0306d02d88e54bc2a2dc6c7e65895891633f866addb9de1ad32a8bc",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "c11b2dca6672802c8528af2c84b1a04e59c9a22bb271bd6d7568092babd2f23efc063ab248a2717d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 592,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff65f89731c0263d13aaa8ca7b3dadea10c46d7243883d7cab726d463b254df6ef728b52d8bbfb06ee",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "aa2e1ba6b508026b967ab355b99318bc394fc0d3cfabbb246804ddb5f913e6ef6bc0a228311bedcc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 593,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000000138c04477f42d165e4d474248d091ad74220de2021d0ca8f9f7295c7cc19c787f94ec33a2e4d51ee",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "5397c3d5663f5fcc4705eceba8255e89cea1747ad0d08d40b7a1aee01193b5df9593f8013c5dfb96",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 594,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04f2455cdb035b0cd4422a3ca06bb19bf018d1a5cb84eb12446d47f7f7a16c035c70951b4b6bad7b",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "20c790cf41723c9d5757b1eec1ff88ef16cbb632879cdce47fcb583262a7a6775c4486df301df5f5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 595,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "3",
-          "shared" : "a3e86777a4263b4656733a65bf322d397199cda903588fc3754cb0e27901f5e29f115b511b94c831",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 596,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "93cd465d332e25bbec7b195b37f7e3a126f1d67cdb946cb9b2c45a36a5c4d7e9171f3d3fded20ef7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 597,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "6cc6520a3d34ec73bdc0648390a8be6736c104a6651c7a35face310fd0bf69b151aecf457ef584da",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 598,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "78b7d04861460cbf141f6d41648742adf459b5f3695ba2449ce76210494ce540069e1536c03100ff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 599,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "8f21e698a1e1bc66acc08adb5b923e4b2a012dfe8145637e702351f161688f0b572c57d4d1b6b4f7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 600,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e88691555b44c59311",
-          "shared" : "151b2e82d009a18b4b7e46df2ad0e30d151d321bd64ef2f1ff6a36781ae448b99ef443ac7d1b09cc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 601,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98681555b44c59311",
-          "shared" : "d04a5e44828163fcb66f9e601d933ba2f431cada91256861e36765f6098e234005f48bb039a288ef",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 602,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98689555b44c59311",
-          "shared" : "94023419382fbdcacb99fc0c37b73be771bbcb8b2efdc6dd324f0328e16b755bb27a2ab440ed6c87",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 603,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555a44c59311",
-          "shared" : "aa464b779d451beb21ba7f63b65db0442c52b9ac32f0a2addcd0869c7ebddff479d47461b83225f8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 604,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233",
-          "shared" : "c0038da858441f559a864dcd6c4558437f9ad091a67c3fda69a9e0cb6f446a8b47ae95edc2f4eade",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 605,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3",
-          "shared" : "8258131a80bc9f2b8ba532ef1253ef39dce25e6deb85227c670273521c311dbb9bf1a56dd29107b3",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 606,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3",
-          "shared" : "ae752e75684a9adfc6198e6c1ce9249d26743104e8b0bd0417998c62982622ea2fdf6917413d547c",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 607,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303",
-          "shared" : "37bfbb637fce27ee80b3af326546303e0bd8af01b72f591830a548609055bda489d9a4e6b5e3f43e",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 608,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b",
-          "shared" : "854ce9516e73c6cc8d0d6ce3cdf933541a719578712440f02a86829af1398fcab2bb0949c1d63106",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 609,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
-          "shared" : "a3e86777a4263b4656733a65bf322d397199cda903588fc3754cb0e27901f5e29f115b511b94c831",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 610,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f",
-          "shared" : "7dfd07c1cfe70db4772cf9f6bb6b58a10bbc9509e5ce86651d5c395f3544f62d6d8f8109edba441a",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 611,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb28b",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 612,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 613,
-          "comment" : "order = -1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee10229ff2ca1b8dfc943b0481ec387a12dfe1f9a0670305a4970ed5cd2b7d1381179a716796eaaa4bb3a6cef020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 614,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP320r1",
-          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1020100020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 615,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP320r1",
-          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1020101020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 616,
-          "comment" : "order = 410618568360611413177547474029944166748205379750040840301822434183392856467013123528027",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201713082011906072a8648ce3d02013082010c020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022500d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 617,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a60451040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 618,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 619,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201ff035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 620,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020100035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 621,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020102035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 622,
-          "comment" : "cofactor = 1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
-          "curve" : "brainpoolP320r1",
-          "public" : "3082019d3082014506072a8648ce3d020130820138020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 623,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201723082011a06072a8648ce3d02013082010d020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 624,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900bfd4cef07c157c860286264eb02a03e4bd57db899dfc714f55bcc71c32b829e7af670ba56e9c05d1305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510400000000000000000000000000237bc7178cc16000000000000000000000000000000000000001d54042dd00b5c5ebcbab5d16bfe9013cc20d177a3491ba0fd60ab4d1eafcb56a97a71827d8589de6c0022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000400000000000000000000000000237bc7178cc16000000000000000000000000000000000000001d54042dd00b5c5ebcbab5d16bfe9013cc20d177a3491ba0fd60ab4d1eafcb56a97a71827d8589de6c0",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 625,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP320r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 626,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP320r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 627,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP320r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 628,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP320r1",
-          "public" : "3082014c3081f506072a8648ce3d02013081e9020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27302d04010004281c77c2abfaacfed15441047a89c6d600bb9a3c8aa864067cd4281901a411872412960f59881b9f010451044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 629,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP320r1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428891665e67fc4468e6a0dbd75f346ed89af12ac6acd8bd6bdfe530d779e40066e6e23c1628c34006904280686ba77bc8695b5b2c2de13a92c15385228e01d2ac09841710176fa855f600b90f3b74e8e4373ca045104cdfcdb8efa0e1cfdb5322f3aba15dbfd609751bfbbb062eccbc8b72796aaac9232947eed768ab4d0c8061576aca0311a85227defd5fa8c58945e0e8f5e3dcddfaa541bf754fe5c3ca36f342dc9c4633d022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5931102010103520004cdfcdb8efa0e1cfdb5322f3aba15dbfd609751bfbbb062eccbc8b72796aaac9232947eed768ab4d00b5831a98a1c1e9d5c19fa6efc07540d6531c11798b6400fa53e9df523958fec5964de8427eecaea",
-          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 630,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004cbbced7d0d8fb5d17ed00a047fb60933d1716b5f120ca68abd92edc2eb4b22a1f8d0410966791ba8fc7a7558a3b220038d84088abbe19728",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 631,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b479d6c21efe1412dd59f04404ea05a8cd7fd74c41c4d2c1535bded83afb32b92c6105ac9ff9786bb20dce846922e69218ea79a89d73573add154272385ffe2b",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 632,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004788d64af48129627a1b87b999bc87c3a633321f6047f071587395dd7690fdd0b85c535c2d5ae157bf1a213b1ba452b38af8087cd933f3effa32c546948a7b79c9801399f5a5c7aeaedd6a8ba1355bb12152f01f060a9cfd32da747edd316417b",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 633,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400f3f8effa60bcf759f795e0fe77c6e5aa1014b78e92957f9de9ba5b4e7cb99c163c80db96cb28472d721d8f6f39aa738ffe55c7bbb78c54a8e465fc7c548353968700e2b278cb0688cbdae017de7bd98a73d04434058978a5bad558f20120cc230080762b717f5a9d17c1bb11ec6e80fec81f4775784ec9d17aa7e5b119dbec02233e92",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 634,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a0342000486b290e29307ff43b3c81a48720c0e89a478b06d8c811b10c7ff3654aa33105244c37378866ef4920ef6099b596e95449788df3a2a8452ba922ba99e69346f54",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 635,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000459b150d0645424cf928844d1bbd532d8a8195960332da50cf9aa186480ffb0b58b64c4bd198525183852d127aa3742fe96df49bec7585aa4",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 636,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000489021ce82845fcefd942146ce35cad027ade8f821ddfad0ea831d1f6fe6980e60be917f848a4e7dbd3dea6035bbfa41d115fba98797862cbebf8087b7647fe89",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 637,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000437f59347ed0c8de4e888171eed280944742e5cd4246017c657a4daf94436f38f10a3076eac990493ea5ff93234662d9c3f7747a2fb2e14fb72bdc74d5d588cbacc0241cd7ac19fd8eead50526974e6ad56ac471cf7c21667b92ded8d714c79f6",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 638,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004a59f99993f8e3706eb6e104b638e8511c5b08e82344a6538528df723eb38ffe58c70197c8e88371f1d0c550e3bbbfe125c1123d5d0900c8164f9b19dc66fb34f45869a8aac9294587c6bfa261f401883a1844e71b83268e916ed6397c7df9542991437b705ac561cdcd0886409919b69cb12d36399df71e8e2414f1ff17111fb",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 639,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000471f4543326fb3cb36fe6471712c30b1e81e5d717bd1f2bf7136793728cba811d4bfdfa99dd5731911ee78d7010f6bc9e71a423d8d6823ec9",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 640,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040b2ad117bdc9c839820852ff829d60cb51a6a10f0a72061ca27eead92113b1d98b98919105efdd2376669e8e8361571d3db8736777690a263f04dd2605a65225",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 641,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200042ddfda6a53e3aa3133a04c2ed9a3c36d3f390710ae781e2975c83701ea352f007b4f7a976ba322419d20d75300cdcf190a58942f9aab229a3dbfee185c3adb6ce9a4907b90cac0fa649c22cc2e17d48f",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 642,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041768d368f882df7083b3d53987ba94d8720cbbc443e12700df5eb044d2f5621e8223a3ee3bd71b34f32e3afb5404e85a51cc7eaa1569ae4c555200a1b2df9c4adcdd6ec3d3de9abadf022da337b6f8873bb415e959e57b029850cdbbb38ab417",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 643,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200045ab89b3df599c3c1f1fbe4c15c0aac1ea95dd83f60623c2aaec3b9c31ba68d1f5a637758a7b8631d720f71d756a72c141e41afd508bf7ebcf9b6d1d4764768a66ffd7dd1d605daea2ba841d0a9106a22f1a630f272f906116c27fe3c3ff729d8516aaf0c3555e352ab69dc64f36e2d6320696b366bf0d07aac51ff9db3a480ec",
-          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 644,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP320r1",
-          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a000227f2f8f1cbc7ee440c167d52782f509b980e1da034c259f079fff653301ae28a88511e501836a7d6",
-          "private" : "0cdeaa01757954bf813fafec8356923518e410cc8778d88eac1a07f90b7fb4d20db28670e178b941c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 645,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP320r1",
-          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0002cd873725ad5a0cb428ee170bbea7609f8e156a73c4ab18fd32bab9e41af3d36eaa5313a81f74e845",
-          "private" : "0b58eeb16a7f22f4562161ed8ea68ac86322d3db6e5d4fec50aae16d01129bf8c4d7530ff4d94a137",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 646,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP320r1",
-          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a00033fef766ef618b774a78e4d81e16e5a9afea06500eb0e366377d839bffceeed1c74e6caecdc9fbb21",
-          "private" : "0bdbee13a7eac096b33fe43b8adc4c0e5bab438faa6333570ffdeb05d2b3e95961f9d591f36882027",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 647,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP320r1",
-          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a00023fef766ef618b774a78e4d81e16e5a9afea06500eb0e366377d839bffceeed1c74e6caecdc9fbb21",
-          "private" : "0bdbee13a7eac096b33fe43b8adc4c0e5bab438faa6333570ffdeb05d2b3e95961f9d591f36882028",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 648,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP320r1",
-          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0003cd873725ad5a0cb428ee170bbea7609f8e156a73c4ab18fd32bab9e41af3d36eaa5313a81f74e845",
-          "private" : "0b58eeb16a7f22f4562161ed8ea68ac86322d3db6e5d4fec50aae16d01129bf8c4d7530ff4d94a136",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP384r1",
-      "tests" : [
-        {
-          "tcId" : 649,
-          "comment" : "normal case",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000470ffb350173256eb437b140365842397ebaf3611b6389596c1f17c5ff5ce5201f24f6985b8fe0890dcae54b2603dfb4087242aaf7b2d95b3199bfa03e8fce54ef680b57109847274db3b3a65512b7f832248e70b1030e95db6429589775c3346",
-          "private" : "24ddf0fbb41c28365d302dd9d26ff9c32c76c85fa8b9138a3ec621d0caff6de8a724b45d6fe0d9180044242b9f41c84b",
-          "shared" : "22522760edc39280ff3277b121e17e7539165e7c677a65c8d0dc8159111f8e5d3df7035fe8ce33ac0a0e047ed0842a92",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 650,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000270ffb350173256eb437b140365842397ebaf3611b6389596c1f17c5ff5ce5201f24f6985b8fe0890dcae54b2603dfb40",
-          "private" : "24ddf0fbb41c28365d302dd9d26ff9c32c76c85fa8b9138a3ec621d0caff6de8a724b45d6fe0d9180044242b9f41c84b",
-          "shared" : "22522760edc39280ff3277b121e17e7539165e7c677a65c8d0dc8159111f8e5d3df7035fe8ce33ac0a0e047ed0842a92",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 651,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000456b0e00539a304e1dcaef00d90e1e851002c5cbb2e7a0cdde34700f242d52d607cd48498fe7668eeffadcf2418ea898e57677fe6703911e5de7c45f3e03eb179e3248008eff9f5ad5860c74d58a45b291c23bf8d5be285ec6e9fd67ece9b6692",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 652,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000427a570916684cea784b27082b31dcb149b40c9a0513794db6cc4951858d8b2d2a30c5bf09d590b2f17e5c1406e96e1cb047dba720e25f5729903e7164b2c73907db148bcf8aff649aa80715b067d88ce1bd2f380b55705cfc368d5a515bf6f91",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 653,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004279ffd6f54fe3847d3464b645a6f4243c49169b3494c61e20a0457ce93d6aa8535de70b5ca78fd7eff05fece3ac253c563e753d531fb070facb68418900016d66e1687e2daf8eb4b63b749a4283838694d3deeac3e79b9706e856fb7358fa0a2",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 654,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047908c8d895ed9ef9a902951a3a45383d24d57e3beb47f84c58636abd646b905087b2a06e130428f59007866a2a638abd4af08091e7589dcfbe7e638f10b430a89ea26ad930019a227040ca43aa4d08651b7c0904c51a32f8d214b2f0f434e85d",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 655,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004402f58faf15b56dc448bb6eb752502d03783d7beccc3afdb5c44c0e305765109c95227e9d7e2e9c52177de0ed2f95baa062e400bfae4744a061199b3358030194e7f28d3ba748ff0260b1fee5d0844f8ce446dac263a54be950d389e0341b575",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 656,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048c583d0413b24eaac4ec484348a3eb7059e37e8575dc2657ef2c0a1b03d320ee3638307022197eb40cfaa6c2465e7b272f027afad18da3d144091569110324707a8499902d327f97e3295feeb2752c0a6946dedf08e977d830c8e135f9ecc0bc",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 657,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004349c8a1b4e986d3f814a0b14ebc416e58eb60c697af889d9eac3927e53791b589d1068b55902605c675ffbc1f11cefe576a8a077f4e5676b07a2e701adbdd15f78a3c04d365e654055ee88c4d007a97f5e6674e64750482c9dedcd24ae263e50",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 658,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004572ed47e9ee31d2b2181f5c5562852c7f8ff7050f87dc688a64bc1ba0bf280fe55118f8f8c7f9c0db1e512680876e7ae87ddb0174be3d71ce5bda9cc024d04c8a82c002491b83415043bfbb1b372fbfaca27e0fbe9768fec5ec67c5fd7544817",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 659,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200044ef2b05bf70e827c1fe64eddcc04cf1a416c032d155d3946bff2270701fece2ec1ae9725912cc4ed9a97f52b10a98ac12ae6e94bab916c5763812435f25a74be83aea508f537f9f8d67fe66f0e30ed3fc96ccba75d6ff46221816d8fca2b484c",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 660,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048c4ce75c1fb23e253d0fb0a1be67dde4b45a4e6763ae0794b5d24a37209b25ac2e95208ba397bdb01b459a11fc4cd89c07f43a664ea0fca116b66124a4fadc0b341cc3d7ec2da14bd5589642016f1076762a535145b6cda3f8bbce24c0ed9637",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 661,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000470c6e0dceaf63c5b92c45b5f33f9ff049584b0b41ec1c476e50651d5ec56069490db561d97b1a2c2bebcb7b43c8001eb52b9feddb992f69e9e566ccabb69352cea294e1d2683d7046b9858569ab73576f2b42f11ad19cb41a96ea3d595fd0114",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 662,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000471613b39cc9cad25b5c677dcf071de6308411a0f2c1066de803bfb68c5bff55c26e32afad0aacdbbc32af5dc5ff71b7e24684b4f59f7e82053d5c2eca45e1963d594cffe2829460659397e3e978b304daf785e81f1566bce2cadc49fdecaf37b",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 663,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000144e54365091651eebe3aa1e13a14ec2c0dd1b1ad3778f69d586d078d7554c116a71e422add51cea477ce154ce873940e",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "55b4e89b8ca6cd3991c3578f8a970489d5fb1bd7b979cbfdadd1864b281afa73792c6e7baf938053fbaceeddaa5325f4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 664,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0b8ce84c25219c7e4ff37a3728fbcdea683c45b156f4158423314fa879e9d49a02e1ec2e305d7f2f01162d2c60e2ad06",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "043edade91d4030be3409d8c989cf3aa79fb09efeb16877b18558dcaf46c1d2f7369f8583ca8350003e3836554af3ae2",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 665,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff3e528e604dc03d7c658e1f5c4102e1d31ddeffafcc2f7d7a4816cec497a09a851f40ad616693013038c007697996de61",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "795ef5cc47dfbd544e1692809d7c853d8afa104d7d4438ede53bea15f6c60d23621e0ae248ea2a6c4e3a919e455c00a4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 666,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000200680b002d9adf1e053dbf04addddf8c58de920543e0614c976446db34269d5e218c121704a0acf35d776d0a14e294d",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "606dc06dcd00830bd42804dc43cb94ee78c1a5a35996ca4b49fb725433bd072e4b04e1c052d7340542cd08f1dbd79f31",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 667,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800204f1799aada7abdde3280f9638becb240be60123c91ad14cf1f7d77e83330519a68a9dd61a8d639e12a41ab930bc278b",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "82a6b7b9740a9e61a5f5d977dfcc655047eb415cbb98935fc24086b63fbc980b750eaecb5232ee97f770d1ede51ed81d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 668,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff2b8c710e160b3fdacffca46bc22b0b7b58349ab2a4183931fdf9e0504685db3c40aa853607fbac52b3563e7c74516d61",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "714b4efbc12fe0460fd296c9868feac501d00b0536aa9269806208ba7fbd4f73ed0a26c89a0854e670e01db8088c3f6a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 669,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff3e3943f5e92e4bff7f85ac915bdcc0865c97d0cce26f054df1b29c283a8f8e43d964b528dbcd88768b342995ff517f07",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "43da556c9e9e29940253310d94ca5707ca84a04e2cab890ca49f391747c5be283f0f4593247bce6f0027c2e2dfda8d30",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 670,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4214f53b46996183016065c615037a34f8bd346848d13c870e6f74a26e3cee631d4d689244a615983f6f8b9a4880f508",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "30229a314aa8ed9ceb2a9c3577558f6a9bd857747cb60a59815d2055bede53a570b461861229d832cf08642e9078d6ed",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 671,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000003c1234be1022b89c3a64f04102658fb8c319b6932edbce6b78b05f86841ede7eeccc2d091ed867c252f59a773c271e8f",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "2ccef9ba30b16e50663bb4e4006de04d5d687eb6f42d3dd821c8fcb2f57d67cf864c345fdf2de1fdc55fa486a16629f5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 672,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0587ff6f77b0abaf253ee363581e52b9aa55b50a59e2238414827e05c83861fd12356be4547b23443912acf07a02edc4",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "70382433ca7683741ba836dfb5983d3c80760bb7a985499d27ac7c715f8b7618877f651f8ff8d1bd7c1b1206f93754ac",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 673,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff21510cae0c660490014dd608337b3f3afcd97aaa7d792e186375f12a7a1fca38126ec420034bd12da0cd051d2255f922",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "5bc26ebe1fdba661bd3125e2c681f591db5bfc63ca27e6ad49dd4f42e49561949046395c7b0fcb3e975689cc602dfbea",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 674,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012134018a6f7bb075ef67617abafd66a22ed8b5146408aa52fc17cf52510b85f08b73acd0b4301e9967b3cc20b914f805",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "170a1a6e3092ff8747b29d724bf794a839f2c06f3a71c323323f10cc48fadc5562101171f4f7a9e41638013c07a4fcc3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 675,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "3",
-          "shared" : "1a136db83c88ec1a705db70c310e685164acf6890c5628fb4004520739a30a015557d3d0fa8652d26af3621d8cfac529",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 676,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "4518e59c3325de9ff9ba5176cce02c2fdc5d47c4d71d7bc7f3ce1a860131f39a00b1c9806fe92feea4e15b505dbfa7ce",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 677,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "032ce3f060545bf89e05ef6cc03f04fdaf66ad01a93cc287675e2adcd6044eca1da4108d91e4c22df276d9ad7dc23548",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 678,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "5bf3778bd7335db843dcbf4fae46f184b18d95fce6afde98b47f62c89f61ee64bef7f7b273e4b391471d2c33e46bda32",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 679,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "2d5751d28414a73a5e2049ac38c01cbdb592e90ad4f1f2168c9ade2b8ca336bc965ee7b8cdd63207b3a8768c81fdae6d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 680,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc30f3b883202e9046565",
-          "shared" : "1ca753eb1a6f3a735f459a26c11c1c6f523d40918a41b1193b9342e0cd81c40a625c4c9cbb4d875b55db498b370b7b22",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 681,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b783202e9046565",
-          "shared" : "4be8f16ae1ff3cdb120f32c08e0a1c2c178e2dd7d9beba9fd17bab1994b44e2107aa248da4a18d45612891bd8a599b55",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 682,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b803202e9046565",
-          "shared" : "7b9679e9ef47700a484d65637a03834a2fa8557dafe5f470e4747bf5ac308ec53b16f83789ee63abd0ae7078422440a8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 683,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883201e9046565",
-          "shared" : "678fe10e74bcb45acc0146334418c1ff7512815f05146cccc147a73324de04c58cb87cbb00735cdc2695e7603998a0c3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 684,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f",
-          "shared" : "3729bcd215b41c658b832686c81362b3485d75b09478c6dde3b5e278564ef4162bdd6ff65afc6e8213bba9b6c54ba1eb",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 685,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f",
-          "shared" : "12ba4622daf1f2f950aad6d54aaab821885a47a98573afea49bc1896041ee9501acef82810f3755ff284e16665bd0f62",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 686,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f",
-          "shared" : "7fb5398519857f2c17cddd0a9d2c1660ac35b4723e4a049ba5c58c458b742dfa813a5c7175e1c0974b514bfaeb0039f8",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 687,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
-          "shared" : "1a136db83c88ec1a705db70c310e685164acf6890c5628fb4004520739a30a015557d3d0fa8652d26af3621d8cfac529",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 688,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563",
-          "shared" : "0f0a1d20ba6a7b2c48154b43870be4890979d9261950736de96c29f371233b1ef94a79c2ab698868f00cea7e912deb94",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 689,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3ca",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 690,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 691,
-          "comment" : "order = -21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231ff7346e17d5cc792d7f0a29081af19be20ead08ef612aba94ce0e9919353fbda5830c5495094803cefc477cdfd16fb9a9b020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 692,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315020100020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 693,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315020101020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 694,
-          "comment" : "order = 5042941954480324912133914614639385831494842746066313376667826733277554507683616955290244686736004252971522",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315022d008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 695,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 696,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53170231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 697,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201ff036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 698,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020100036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 699,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020102036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 700,
-          "comment" : "cofactor = 21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 701,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 702,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d010102310086794027ec8b4fb52f3941d2981a6badcd5cba8307663d051fa6101f193ed726450df412ccfc38b593cc92eab76cfa4b306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c1104610400000000000000000000000000000000abc978d6d096000000000000000000000000000000000000000000000000007a1da7cd48cc78aa2aee262add59969c80d1d577d80c7a670aca818562da8fdda841f80ce27ba0138ddc986e41b23bb2420231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201010362000400000000000000000000000000000000abc978d6d096000000000000000000000000000000000000000000000000007a1da7cd48cc78aa2aee262add59969c80d1d577d80c7a670aca818562da8fdda841f80ce27ba0138ddc986e41b23bb242",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 703,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP384r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 704,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP384r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 705,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP384r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 706,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53303504010004306e2a04dd503c3e87cb98a8d5425f32579b0a5a9ad12ec3e33249c1692619d0c661f539c8c86210ea713d8f1538c64f600461042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c80231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 707,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP384r1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404301dfe9b98571d33c0088a14e863467b59197b2c440a2818ab70a083aa847307b0aa9bb0d27c541796c166a07919e6fa9e04305c893721c3c6de9aa341de579e56802c1f2c632cf10f4e8194923fbfb6cf33921e9143dcd9935cbc3ad806c1e5dae9180461045ab172228543237f8374c6726df66358e89c9d8ec87dd872764ff1c4e7bd6bb022b547c2bd95c4f3015421dd4e6abc67625e3831c254c40363dd267ac62019aa70600541f341b08437e777326dff5299289487fa3b829738e7cd6612aa14d3f20231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200045ab172228543237f8374c6726df66358e89c9d8ec87dd872764ff1c4e7bd6bb022b547c2bd95c4f3015421dd4e6abc672a5ae650e0e3a924ab8049038ac62834a4cf6bc7fa12a62fdaca62e711b7be8a843f1f2f549a83389f799a0086f31861",
-          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 708,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00041d8d7078f45444e91bca0c6cc778f1fe321d1ab171bb011aac8edfefea7d996a11d1bdfb073924f453148c38c6de594981b4d8bfe33c27af",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 709,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044e00275706e6ca58a0a7bc864b67df419408a9d8f5ade6527a1c50238891bc68617d1e8777d528e7561a1c1ed6ed2caf8e103858e76e391b42957d8287adb06f",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 710,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "3076301006072a8648ce3d020106052b810400220362000459e0d3a39a0251cc1bcde05e330e6ee8a24a2175b85f67eec54d2f4c82d9655013bd53d4b4aaf537749e623c194979504e6abba9547065ce759e95282edd690c569ddbdae460b607510715ba17dc4323144d9492d65d0c0fc1a93fc92b34af08",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 711,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040089e14bf28c88676902c1191f0a2ac25e5c71114ded6120b483e93d1d065ab29f8fb895a701862df5a72d922f48ce27ca8b642184e8076ab6b6b032d71a8839cd7901329967bf36ad29a7b6ac74d97c8f47c66e32f9b029964fbca95c992e76c37b6cd45f5dfa2d16f83e3ba6416c54298dbeb0fbf1e663c14cf22a5915d4fcff66b108",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 712,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200045ade136fefe3cdb4461461a47ae7eb366531ae5d7fc1bb994328f2345c151c0dfb46dab78c5ae0570d9032c59268e3603cfdce83c7fd347c5fc79dff10a755a4",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 713,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000474976e5c913333e7c095a8a6b66bd3c78abb0894ce5598fe00761d927cc78f555570a628ed26dbb2105e014ed23a19b12b162a1d19cee785",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 714,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200045b204fcb4b2f92310bc19e8d4951c7884de3962fefbbec16cc1e9758d7ccaa1da8a4f202076b5515e46f36a2c8a513f8e1e18c7e42007e6ad4dff5e0ab0737a5",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 715,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000423a0440fc8d87b1b799f4b91791f3f5175b5b103f5ed4ed352a92f6c2d5fdda8ea07e9a5592afd2f85557310983058b60f777a8b88632f7127a29d4e949a4834f34db5150023d819a2b5fd7a6ba1561f",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 716,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043d5b219486463a71ff9296216bce6a7b0ab091447f61f96c98739ad6bccb42a9b74b384f07d3755ec54c58c00db9429ea5bc1691362f3c12bfe41f8c4a1d738d1fbdd1e9da8e3c783157052dbaef82b87829db3c90761de50e07910e773ad21b4ec81dee16dbb8bf50d7f64abb3451ecfb985cca4725ad66eb15fcbc28f31310",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 717,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004ca475ba8be87df96495320a6912ed35f3ae5b5a5dbe170a24aac2e6ea7febb3f1088082ec1fd1d4f5a509c7b05793b2d0f17e611e1579407",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 718,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004a91eb1462fbd71d6d4dde4bcfc5a80e53e61ade709b5eb384b6661f0dfa796f91a45b825213d3215b32fac6faf19506887f84fe933066e3e97c906feac9e41b2",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 719,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200046fd0e50e88a56f131daf8f7ec8e2b44ab796d0491f77c7db01e7a9d872dc7c54913ee8ec683efec969820e7ed431dcb1feded773d12f8c1a17d164e9873a69c0592f5df135f16534e69983199c472edf",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 720,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000411144203a5580501cf2229967282251f35cc66ebb978c8c5df821b11e36f95d6bac1c6f97b8e8d026e88cc2a24fec16b43714b10baa062a06712898730548a9a2290a984ef9a85d2eff128901dc0f16bc57231d21de65e42f84e42a409428eeb",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 721,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041daebcad055304d190eb662059f41e6e1eb11b7b73d69cd72f74c78756d1219498f667f43e6e0a7fe1dc57cb1a4fbbe8a57646924b8ede193f26b49d9db53c9a98ae0b30895690181d71459ab3c1f3b3f1add63a639edcfb549849a953be3f4bc9fa5d75fb889d49a2f25e8de94cfe714987aa2077ba7f2b2c084f05a6272ab7",
-          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 722,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000266b87a19f47d772130855c64f1c1e445b19de6f917bb1c74198ecda924714d8c48e0cbeaa717453408c31c220a677693",
-          "private" : "3c9f970f25e6951b2953dc37f5458d5e11176fb794bb443c677ab6638d008eb35acfe85d09fe70400cd52bb47da13e88",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 723,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003878663e0db7b8f0bf1f6f24f15160f0589da8f8f92ec000a57657321c6e3c4ec845c97536fd10cad1adc6e1341968dd0",
-          "private" : "084a6fb1f3f3c583d09224965f5a96d7fb9b44bfdaa15d02a5cf7c90e321178018a5cdee93f614ead731692e71918dbf3",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 724,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002867e44d486465a25b827992e1de40cd6eaa276abbcaa852db4234bb3c5fa9f1c6956daf846845fe4862c025882878783",
-          "private" : "58c9afa82e35c64357c13f5f2efc4f9cbd0e65f718e70a9c6c77e73bd7f905ab7dffc4c82316a887e1bd625fa4fb715f",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 725,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002041849139e191747f15e6b8f92462e731ae0c57c408b1e12ab1bffe434081033780b92b5ac81862263117a0836d180f5",
-          "private" : "0c7b7597b1fc8f4f69b90cb164a4295dd5b8bb3d7fee4588fcee79f2fa62c07c2cc35ac68714389e17c3a4b8e8a07dbf",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 726,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003041849139e191747f15e6b8f92462e731ae0c57c408b1e12ab1bffe434081033780b92b5ac81862263117a0836d180f5",
-          "private" : "0c7b7597b1fc8f4f69b90cb164a4295dd5b8bb3d7fee4588fcee79f2fa62c07c2cc35ac68714389e17c3a4b8e8a07dbe",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 727,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003867e44d486465a25b827992e1de40cd6eaa276abbcaa852db4234bb3c5fa9f1c6956daf846845fe4862c025882878783",
-          "private" : "58c9afa82e35c64357c13f5f2efc4f9cbd0e65f718e70a9c6c77e73bd7f905ab7dffc4c82316a887e1bd625fa4fb715e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 728,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002878663e0db7b8f0bf1f6f24f15160f0589da8f8f92ec000a57657321c6e3c4ec845c97536fd10cad1adc6e1341968dd0",
-          "private" : "084a6fb1f3f3c583d09224965f5a96d7fb9b44bfdaa15d02a5cf7c90e321178018a5cdee93f614ead731692e71918dbf4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 729,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200027d965d604aad48774b0c68abb9febff3cab818ea4890bcb616938556828ab77dea4a0847ad8d61eb43d845c9ec241cbc",
-          "private" : "37fb984a7a821d5a3660a951b19f88b2a95dfc6884e029bc5d99251d9b2d1ff88c57e0f9dab94bd0fa13221a1540ca2d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 730,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000311455b9d356978751548ed9ba361f672c40215fe873e5b27770ece7d60701fbf07e3f95ab38857eb8785de02b69c356c",
-          "private" : "5e7ba1f7812005953291c6e5a7236abf5dcb32addc97fa40d06a6fc7a2a1999a93b1d224ef85e3327d7d2b3f7d909e3e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 731,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200035349860144ee64859a8b0174c95e5f91f357cd38b26d2bafeb49dbd912cd4804f1dc04c0707199e113089f1df253a629",
-          "private" : "6fc580974437283ea60899aa7d4c817ea81d5332a86bd9af5ba2fb0e0c7c41b7a523ccddca46dde61b1809c970f17221",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 732,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003705965409ec374f74c51ead3609443cef7db7c879c41db0e28e1656e26b236b74b99f950689ffab717d24c8f979f5231",
-          "private" : "0806f6eb807a213930b60443ba0164d22985b70a2034edb59c35639f52d8e4dd93ec589a83ee9000e8813da131f59a46c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 733,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200028af704d3911fa5a7a5f6ce54856465cae4f2eac69c84d2dfb1ae160b8dcd3b577949c97239e2e420896481c76b5a4465",
-          "private" : "2e59b6c0ee75135d8df12b9537d6f00b5281585166a77075858c5e9058a8dbdc4a4b8d7cdb23cda2429e069ad19be3e5",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 734,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200038af704d3911fa5a7a5f6ce54856465cae4f2eac69c84d2dfb1ae160b8dcd3b577949c97239e2e420896481c76b5a4465",
-          "private" : "2e59b6c0ee75135d8df12b9537d6f00b5281585166a77075858c5e9058a8dbdc4a4b8d7cdb23cda2429e069ad19be3e4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 735,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002705965409ec374f74c51ead3609443cef7db7c879c41db0e28e1656e26b236b74b99f950689ffab717d24c8f979f5231",
-          "private" : "0806f6eb807a213930b60443ba0164d22985b70a2034edb59c35639f52d8e4dd93ec589a83ee9000e8813da131f59a46d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 736,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200025349860144ee64859a8b0174c95e5f91f357cd38b26d2bafeb49dbd912cd4804f1dc04c0707199e113089f1df253a629",
-          "private" : "6fc580974437283ea60899aa7d4c817ea81d5332a86bd9af5ba2fb0e0c7c41b7a523ccddca46dde61b1809c970f17222",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 737,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000211455b9d356978751548ed9ba361f672c40215fe873e5b27770ece7d60701fbf07e3f95ab38857eb8785de02b69c356c",
-          "private" : "5e7ba1f7812005953291c6e5a7236abf5dcb32addc97fa40d06a6fc7a2a1999a93b1d224ef85e3327d7d2b3f7d909e3f",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 738,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384r1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200037d965d604aad48774b0c68abb9febff3cab818ea4890bcb616938556828ab77dea4a0847ad8d61eb43d845c9ec241cbc",
-          "private" : "37fb984a7a821d5a3660a951b19f88b2a95dfc6884e029bc5d99251d9b2d1ff88c57e0f9dab94bd0fa13221a1540ca2c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP512r1",
-      "tests" : [
-        {
-          "tcId" : 739,
-          "comment" : "normal case",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200048a73a66605a5db252ef418ff2c43969bd4128187ce431c36a33d3ff3034cf8910fb0021ce849723621199d0d7ea4805f3cdab82f6c909257762da2a97e26305b078c1fd791fa957e975e30df5b876054758267129e4974a083372b0ce071180d05e1978bd90b8407c0a7ff7f6651bd3ffcf1a574dfe95a2e8af3866cbb385d21",
-          "private" : "6280eb95405fa8c0e9d970547301bbefb152c8c8114abc730c89bf6db3f7d949fcfd7ebb82fd2dbd43d28d47bf4ed95de97baed19f7d087cf303d2b0cd413767",
-          "shared" : "9690120edf3c583f627774ac2837f792e1049b3768199e3cc68c75cc16f73d4eca828f87880de91e2fbe0671b7066fcc814cb2e190832adae3a6dc7d9d9e71d3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 740,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP512r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010d034200038a73a66605a5db252ef418ff2c43969bd4128187ce431c36a33d3ff3034cf8910fb0021ce849723621199d0d7ea4805f3cdab82f6c909257762da2a97e26305b",
-          "private" : "6280eb95405fa8c0e9d970547301bbefb152c8c8114abc730c89bf6db3f7d949fcfd7ebb82fd2dbd43d28d47bf4ed95de97baed19f7d087cf303d2b0cd413767",
-          "shared" : "9690120edf3c583f627774ac2837f792e1049b3768199e3cc68c75cc16f73d4eca828f87880de91e2fbe0671b7066fcc814cb2e190832adae3a6dc7d9d9e71d3",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 741,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000438a0c765409100f0a831387ba46fbcda63956df0f00e77615b33249e1a73d1310bb22784e09e3faece0bfa6ed5c0fa077c8a62664221ccb596c9efa2aebeb3ea937dacea2ee4fc261e29af0b64ec5b4a8f0fbafe7470d715c1effd463eca68344ea7446a88e5874ebb1a0faab7ec0d36d203bece105a11edadb00e93ab0dd818",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 742,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200045f65b98616109b88fecb4cc1e639e98d2109bd696a14b921a245f265eead9c44eee4d19d162ebb972eecdbbae1c3b5d683e8a2163861267795840e79bd4e08fb25a472717d167587165060003c77f8d3339b908613063e5cd1abf0e20f4172fd3099f8bb96bc26a84137be2f341ed6c1d91c11ef3111b4cf75170d2db59bd790",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 743,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044069f3a94ded3bc37d32cd2cbac29ecb33b3aad195d9ac57965128a5a8a4ec2728db23e85b4213c60db409a77661f60756abe7d9edd7057a12453a19202c54288ba58659b7b37d74a80109fc484efdf9168c2121b7aead8f5fe02d483b51f1f213384189924b63050fcdad57d2c4dbc5c31c4c15e1901b5192708410e160c356",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 744,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000428e7878a20a024121e36339bb0cc67e6e4caacd54e13ede6d7ad4c73385b6125bfefe8f8e1ce95d2d32b956132a91d7c2e09c399ab938228aa16fdd2d748752c0a87e583384d4531d16f5e59debb3691fcdc91e35e9a9a6c4adcd020f3def3931b539cbae2414bdcc4e35688379ffde07a0991730c5783141af7f87fddae070a",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 745,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042830ff4e16150ded7167833c6bdb7daf11de99448f4e60e0c775f46e3a44b85599148f944fb6ebd8609eb2342cc86524e989726ee6b9f0278ffc36804b775e85881aeea838831b2d0a702a887ba5b549b82ce5543857339fee3425368759cad41432129a187dc37e6a28743fd1dda1028fccd9b8f2c0d44f8f9146e48401b898",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 746,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000403d1fa2562f3b6c63a86731c2519956aab599d17003deedfd67b7f3eed749036aae5c0a110e9bc767463093e597e61e3bdc24078286e87e684da1c4a0514b16868da156d1122b47f01f63fad234f09460f8f36f31aca059991751ef7a553365842eae9814c263249c0093c919622a2d4f96b7f591495567888d10d0b1bb80f82",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 747,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000436a0b22506a13c46fb9c8d52d112d904d6d93e260dfdd61f680d322d5ad6dc130d9df448eede20ff73ce94dbc7ca10a89a49f54c76c30e771851f0a41d6d525f18304137d791f223be088138636523bde5c136685ab6bb2bfaeacf9578410b3ba9e26083b80b36a23b7e27ed3070692995e45004d5d4bac4ed409cec36fca2ed",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "3fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 748,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004955069edb4b62dc48e0c41924f9644bf85af1801b21732a64cbfcf7cc3bfec914d0cd8bfc8fb334a94fd3488c44dfce0e5eee324da83cb903b71ed47acdd1365881ede882c978ec541f39f4b29d515ef836c77d04b512cdc45bdff505bffa39d39e2e9e3c4a6566b835c326106c7638e3d07e7dddb3331c5d37d7fdaaedfeb49",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "4000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 749,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046ecd48b171548d97b368a778395b7484ec4c9710963a6fdb107322a936dfcfdeef2c5d1baab81e7da63a3f67a71389b8364aaddca6f65bfbe0d8887f8c5bb716811c8ffeae8cd39e3c6ac2a0d8ab9e511135c2343ab0e0fae8a07fd997926377bbd73c03088209d099cd33609a1707a3eb1ad0abdc68b9b82c659c2e51d2ecd1",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "40007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 750,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004116e13c13ad71c9f8528289553bb71f8feeb05d0b1b21dcad5b9e4c002639dd9d834f80d497eb2af643caeb28f9e82b6dbb1e2cd5a785aff8f144944b6abff188bf286aeba0457ea256e1dca332bbec2d46473519428d298002a518514d9c9eb8f0878f9afe0ff1bb2969449be2a7ebb115f6a753e5edead6d7e01514b718c36",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "7fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 751,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046387f14a6db2ec86d9dcf45618cede486187045a33fec85fe11cabeb93a61242682a939ba6c7821e4da3603a0ffb5e9d4f81ee9662fb3e62d865f10903c69eb55177cc263714f091511842b7715c434b8aad1b32273af574cfff44018ce78ad81e699c4403363ed5c392bd6af7d2c0a907b575893f8ead5ca9fbfb12627fb390",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 752,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004273895ea597fb330f9ef29c61679d57b494aba7a22ef54f8edbac8a8b65ad6f91b44c2a8c5f862f42fadf68b44fc7a086b12e8d4eb7a61d63f77108929f6abf42d69e73c49c1b4d8cba5fd200632391d7b33c686b2003581bc6568eae8d0d7b7fa6c69dc732494a5c16ea7605ff24bb6818a49caab161a4dd53876a646644f4d",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f2",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 753,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000001035201526ac9ed34d51282df1a594a553bf6f07a90e3268fca9a9b3a774324b0e3ee55c351748ac18f7301bc560623ae7846f97f576cce3ca81698029c389562",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "1362fefdf9173162cae5e7a029e3774fbef0082c33b5d19959b2a4b5653acc9f615917058196f1c59c29ce054e4c2e5b035be727991e618604562e837a452fb2",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 754,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff5106e912f8124a959dfc5ccbb99786d54af877fe539e664aa0362a4d417d1c4ae647ddf40c8c2cc6ac6b0f35164e24a1c64a5f230fc61e2318c9387fc1547c4c",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "60966e750bcc098107e6a66e8f5a0741e7eec2c7e76553df9569fbe0d28afd8cb1ba80a6aa8e7a84be668dc6e23463d08832b89bd092a4ae838fd228436c1415",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 755,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000010000000003c86f4fd8b138ac5509a4174bd4998e1b4d3d49de88d37e38dcaa74f9c42f3e37b7f7be77cf5322514a879984e44b4a3caed566ab6874b1a781292e7ef791a6",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "22694587ddf8e8c67a989ed4c1386f927897a6b9664aa4c939d74a597ec5e662f18a28c0d746a418361ccf95d8d502e0901b9465a6cf8226a4f730f166021a9d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 756,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000003aa5dbaaa057f9987e2e495a2da349f5d30b64499cf505e1a51be9a82db1b75cee639605d98f672c4295507e778b2ce16d229c5fb33da4f5a37c0c97a028fbde",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "4cbf67a6eeed2d8ba1db4f9ae2cffe04f195e4cac0015b694f228efbc4d6396dd21b75ea587426cf043f165aec505535e4b2125cdbf20f56b7e058cf971a6165",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 757,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff3e35ce50921fe7b45a53452690ea8398109e90b0985738e775ee45c5266b1385dc1998956ae6e927a062f99d3729012c14f552dc17267fccdf634d0d3eb3acf1",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "a9cd019aa08a874934c6fc28b0f34982e3d10e3a3a7ac52425c80db1d4705f0c2b733ac54baf1e56cfa6e757a5bc01f54ac39a83d42aa6e8bc5c654a60a7e56f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 758,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff1b4c363942583811e0bba8ed31540262b8be88f69b9fc4b1292fb68aebae1f9ac961fc40b85b5d09772143066d17c2259a8827691d817992c800c4a5a188e4c9",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "364e65735b2b2353b1b9ddfc4a5e233b30b0dd91e8019905bffacb6d594b32ca79dff593b6269ddc7e80278daaaba341c3c38f0634a1ae286037f1677db0a307",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 759,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2854149062fd692eecc2302747cc08be854c64c4f9abe86c467f161496b19a52bbb5a4da84392573d7e9632a040e9dd737bc9089aedf5b0c15488e9f1b083a7a",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "6b3d87c962321bed12a867180b3dee7d4b31a0692d36e60e73648986742c42b187f96a22088b1539a8ad832cc532adc95470b47e623c65c61ff5da8ceffc100c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 760,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000004b9846887f8752427beb39fbad36f0a0170e3f225a7b0c1fc0528c9ee8f4957fb323faa8a5a329c03c0fe2b8df08209d3ad78f8b161745144b418c4e26f3b276",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "97d1caa3bb77456f5ea8142f85e5e22931b559c81947a0f2c9ce5b23980d9bde1a9f42c24b74e2266dbf265f8a6f949fc22b5d75b93bbb1c32557d9eacf7e279",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 761,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000440007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800009a37114d6a5c9ee64371c57bdd264e1764edda64f449cbd0ee1a72009890267fc1ae7d2ee5ddfbb5b1693bda1a0b5494c862e0ed1df03b702f2f2c206e4c52c",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "7ebb5024c36f9f249f164e6b8fcbbba3ec255d5f8e279765b9869cf97311411c359084fe6b76956efa55c1d608f013423397178617935ea110c936ffb73317be",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 762,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff27cd77712e0db1978186e9d6feb6eaa034318fbfbab7fa3342a9e43eeea04c28ddde021916d5fcfe2d1b43743ca1ec2b5288cd553901825e4652cf4cf524bcb4",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "380986a2fbf3d5c6d38ac5ea191f7ef4681f068b475b61bfd909a6c3a30c731c30cfe9ac0e7dda521e574fbb6caf9dc52eb3ebe3106a457f5bda9698d252d827",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 763,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff026c17238034c8372217a8cd9a234ecb7debdec5659b7e3f0c6e70ba226824f56acce025ae65da8b0aebc2efe2ef73dd826cea151b201b2f5b4f7623f2fbe332",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "a502a7d0ee2077a3d4b484b02e2ed2d0d132ebd48c2c7d99f1461e1b4428ce97a317e26ef90462e70436789cbcc27986d644e7950650612d9fa2be50d07ea58f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 764,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f212780ae4d2fad1163e2a513d72ad6e3c2211f8079ccbddeb9b1e956b2ee36173abe84464b0c78dca8db21f6964e9a1398a5a0f6e1e717ddf4eac517032879266",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "7bd3f02e85464163815804eb8f5cdf3cea258b520ef564d813ee4102a39e93f604d1c537bb93ac7b9d0fffcf89177f4586ea690bfe93a9632c645038a47e82f7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 765,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "3",
-          "shared" : "47ed915ca64aac752724aa06b311d171dc14b9c55421ff61c6413b3fc7313ecda03c0addd0d6dbdacd5ea0619054614610d07cd78f9ed4d6df024c781af3efae",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 766,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "781a3bd7f99ae145698783495f1f4aac5189d54657c34f76c8847cd5177d6a08a2c837501351e098ba570a3f300cca47f2407ff9172b2954aef46fdbec8429b7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 767,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "33485176aa26cfd17a66e1da3c3973f468bc32a1528a67f9d33b7ca29bfd6fa536bac3112bb8f2c2ea198f2f7df5a56dda570931b7852b3224c403a1d08f3dc6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 768,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "9c4971c89a22da14abac1304b6228c5d647f8dd8a11b1348c419f430733e849957fb037865efa85f9585ed0ffe8c6ea2c7c39ac8bbeedc84717f8a6be9603f65",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 769,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "58be414307cd761143c49224f30ac475e6b8fdbf43be3f130b71ff8d89af5d3b91342898388d1628f56322d327f5f075ca3a766d94213f8ff67076caa253937d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 770,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddadcb58796829ca90069",
-          "shared" : "2e03302f2944b3bc902e5fe6b7d1ca3991bf9fd80bafa8df4d4e85a98f33d956280ba0078178b54ed1aa03571ffac2d476c7246ab68ebb9434fac564455f39b8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 771,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57796829ca90069",
-          "shared" : "0dcd1e563a94fd8edc83e47ebbc9296d1c27d1aff37b02512c0337ca672ff84ac73a618fa54f2b963182ba141ae596c56f83d0ecb4deb78055cc8ea476d09bfd",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 772,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57f96829ca90069",
-          "shared" : "aa9ac6d3343fb7aad7128855a22cb25f6cd9b46ea02f2a15c7cdecdc681f3ca38f1860290971852de94cc68810d41d14607f558e3858394cef8b166abee023a2",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 773,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796819ca90069",
-          "shared" : "5f155d9d14680aa5efb4ed59f670f6efc59c15bb03b59b3a2cf1a4a1546b7e35bfd99194cfe72e79216c1daebdcd247e934eab457ca90d4d2c38b64517e0cce0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 774,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b",
-          "shared" : "194871645bbfc309eba92c5613ca7c6aa566fdab45635f656148ec7122d71c825f36852f52722ea949c2572dbb6b894a21f96a05c9bee0df6c6b4faa3197079a",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 775,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b",
-          "shared" : "3a6e57858d4e61c7ed2cb93c124221210293a345b47f7644910543ac03117f48b0343ddebd2cf9925e3dc5e1ea590739ed2c2372e1146f84fd262ac7d8eebacd",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 776,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063",
-          "shared" : "8e0a186a51eae08a86fdd476bcfd961d02be74966ce3c2d937c808db518f2ddc4760bfc924af72f85eb188ebc70edde6d12f402735f58b9006f8b8e283ef9fbe",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 777,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90066",
-          "shared" : "47ed915ca64aac752724aa06b311d171dc14b9c55421ff61c6413b3fc7313ecda03c0addd0d6dbdacd5ea0619054614610d07cd78f9ed4d6df024c781af3efae",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 778,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067",
-          "shared" : "300b1d80d9dc5587076b7d850ccd00cf8961f389c4ded60bf910d98f196f67c3839d2197101607612b335871a818d50d8f4bb6163cc839cf41af0b742c7254f4",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 779,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5695",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 780,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 781,
-          "comment" : "order = -8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920241ff5522624724163b74c02b1951cc3603f834cf724c4c362df1299c63358fccf78faac1a3beb356d9e6be799ee68053efb8e24e2c7ef7a225224a78697d6356ff970201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 782,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP512r1",
-          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920201000201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 783,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP512r1",
-          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920201010201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 784,
-          "comment" : "order = 2083592630841357761914050861997332755048435564175796348448981807380927961881602771668457829077617488768289656930144243078095422967775269405300354",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820234308201ab06072a8648ce3d02013082019e020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892023d00aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796820201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 785,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723048181040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 786,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80894024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 787,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201ff0381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 788,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201000381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 789,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201020381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 790,
-          "comment" : "cofactor = 8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820278308201ef06072a8648ce3d0201308201e2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 791,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820235308201ac06072a8648ce3d02013082019f020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 792,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100a9414de6e5ef176ff64384b554271ef34fde1d646094323012668174776efe4e23c39f2773860bb0bb7ad41d6cc5deef888974b529de7d1168d2a3cf6f6f4dcd30818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723048181040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000000d61096c9018545277fa62c0af905d4d2e2500ecb6c7306b6508079532c53907b58e3a7ab89660147c556b10a8ad430325d7484da765aa00b8e007a343c233714f0024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000000d61096c9018545277fa62c0af905d4d2e2500ecb6c7306b6508079532c53907b58e3a7ab89660147c556b10a8ad430325d7484da765aa00b8e007a343c233714f0",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 793,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP512r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 794,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP512r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 795,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP512r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 796,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP512r1",
-          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33045040100044044a9dfba839bd5e0edb3dbace1c8f201409f6d505e411f290d8af054fb492a0d0d246c63b2fad54f963f9ae5b3540ccf3417106652f29ce45cd6e41851d7109504818104933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 797,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP512r1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440116bde311586156d9c9bf2f59dcf3a74b3f6cba58bb6bc6626cf4d137aca67dae5fa7afc4ac47ff6ee5fd9048dff34986166b7921031e8a9188212c11fd87f3a04402c5ebf4262705774bfa32d6f8d7c4afa556c869fbaa828ea6ae3d46913ecd9c950aab4b407abca85f90cf8ef78b7746836607f2d355f6dacd1433ad1ba707c65048181041d137021d07babb539525bcefcbc919cf240a724dc062337b9b2b0d3bdeaf4f0891a9f1f4e1686e7a222aad2d9e0ccc5e9ae5b1e4ba9d80ef4083e83e849f05930b5156200f3a0ebc4e8ed3f3ea1132ec5bbe0e53336de332672554c6755c88df1b5ac6854c7b21f95e64b84f6a6f4515d06ca990a6264277f5ba85332c0bec9024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200041d137021d07babb539525bcefcbc919cf240a724dc062337b9b2b0d3bdeaf4f0891a9f1f4e1686e7a222aad2d9e0ccc5e9ae5b1e4ba9d80ef4083e83e849f0597a288856daf6239f7aebf96ef528e8d90574acce8092f3dbaff1477e08dd3fe38b97ee9846feb62318e755a5effc8c94cb7b34962320625da94eb80325798a2a",
-          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 798,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004f1ed1cb1ceb7eeef8f7044b8f3bf488604a1a226a697a202b9fe094b4ef15b2f33ddb17fa5447d65e2783f72821ea01268235d58e18bd14e",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 799,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fa60a443999e02e693e83e198e6ae8d77c6d5b0fad9269ddcfbcf3fd7454ab551fcd8ec3145c902ac6f57112b1fe5415c0b974fc9cb15105c174f6c26503bb5d",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 800,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004aef982cb3c13ef417bbecfe65d4ac97c8b081f47311069fb63629e45440045c1cbb26cbc4e2c7139511b5cae95a9f79f0ee8ebffdd68e215f602ee98bd0d0acc180b7061e20f213f043915a246b492c214168bdaf8ff95b0ff68f9e3e7f43657",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 801,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040078f1bac16e586a15d828e92a2f35c0690f616a886223b70657639d130a04e58787f2ebb3eb880ea2f396e67e353e326822745959dbe51ee4f80562044c967e33b40018895b6e1370974595784c19b17f8208b900432940680d16367f05f0c1f5ffa607037473461c0a0651884dd35a58c9735d0bb6328c4b5b9d0ec792f0f6f8bc8769",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 802,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200046a4213777e31119f578b3e8be06ebf62502d7d10dfe5bf9341dea64525e0978f12cbbd6f17e4e932b4446c48bd3f1189a55b212d89c5194f689f297e3a27e8a6",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 803,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b160ff66fc93480bef16ebb4a00b75f3805e884ea875dcfcc73e32a1d764c4dad373d89648afe449018ef5524633459bee47ff9529c5ae41",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 804,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004670c87dc73c6bd2291150ca80eb914924286ada22e50f5fe41079ab3f483c7271cf84db06d98a7e4382b528dfea4335a1bb4ada1f61c5030bdc479a2441dfb28",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 805,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200045f1de6cf461eecea01567345bdcec2ae56dd607ddd15c26b4ec095ca2afb17b1ffbdf61bd47010d16a92595554d297378212bbfaafb62c179960a4db69a7d3aaed57ba9edbcae9b05e3b905fa5eafff1",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 806,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004408d98134c7ff4519187d68da6cb6c7b5d257b98d1240985404d497682656a60e2d4abda818d20d2524af5357700aeff6ecc536169279a38c53bd5dbe49c240eb30cba040568b09ee65be595c25a090dd94ddc06b441f78de9e290fae01fbb11",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 807,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00049bd1aff3c1d564b390e8f9575b123cf2c47151fc1cf534e4c24c254382531d828902af3eaf1383410ffed334caa12697265024b764a8cc40",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 808,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004683cf7c313c9503ed4dab6b6a25463c5d682aac16ee5b33785321e77304201774c22f4703e5cac4891c56c1d8ac3d535f192c041ebfa78979ebbddeb87780607",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 809,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040f31598d0b84972ae50be531e0ecf11b721b76d8e2843940de0397d7fffb62dc382ddce29ec2ce7baaed79f9144811e1ca8194c8046458fe3956550885315dfe0e29efd283be076ddc81e1a857705804",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 810,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004483dae8e878eb44c217e0ba373ead244428398d83bd0ba1473747887c1c5a5de6e7d42b9f6fab658277f4046ebb6c6b43aa548690bbde6a2d77ec48c81da44183f7631c9ffbdead397d9ff6cf8ece2c21a2f989cede73bec5f461cbbbafd01b4",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 811,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512r1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041bddcd407461d821e5879eb6b27736dc1112c3c9177fc3cf1a1bbd39654514d7c82950e9f674a4ce4c7fc9f9410c5ed9b194c926c1fb0c178940e46dc4fcf12c222d62b9c3f76ba459f8eae72d5b2c8df5a2cecf34dcc66108538a0f6aedd8e2e9c51515a290f244e3e40e352a6e86a58af41cd89f7dee16199bc84d2051c43e",
-          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 812,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP512r1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010d034200022564ece76989d82265ea79fe5b41b2dfad2268e27df8ee7260d937435da3777a5106557dfbdb64d106c2ad46e64dc63e0eaa22e81a03d25b870578d86b0f1432",
-          "private" : "57087c2e66e2221d0618077207ced3fe31627f83afe4ea3d3999a26d9737fa8ace4f50b968930cae8bbf55b422335f22d85a23582b076c2836e060cd1157cffa",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP224t1",
-      "tests" : [
-        {
-          "tcId" : 813,
-          "comment" : "normal case",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004b4780ee66aea435e0a2be8010dba55dca1d2fe27a90c5b21632dc3bdd2984ecd46d71d2115aab7011aa7037523b82f396bf431513a3169b6",
-          "private" : "68c8bbaebef70f1e59ecf3681b2d0c7db8dfd51e2392d6ffb233bf01",
-          "shared" : "6b429db09a4d7a2b336c2c93559c64fd879e73b47ba0cb76b1711b53",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 814,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0002b4780ee66aea435e0a2be8010dba55dca1d2fe27a90c5b21632dc3bd",
-          "private" : "68c8bbaebef70f1e59ecf3681b2d0c7db8dfd51e2392d6ffb233bf01",
-          "shared" : "6b429db09a4d7a2b336c2c93559c64fd879e73b47ba0cb76b1711b53",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 815,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000412a38de91c32593654a56e4d28dd5f63c5dcd17d630d7030a449fd1c62216cdbd7da43563e1374659b65701a02b9e07d3aee2897801f6eda",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "00000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 816,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041c255087219f1c2e09e27f397ef897620cf59626f1e76a46a3130f19d578093b49a63aeebc97e79d6ca033155ce9af959d6eb773c144f413",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "00000000000000000000000000000000000000000000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 817,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000450120a32457e46bbbcd4eb46d6cbe1c1c49855ad3dc8f4c4da4a55767d959b19f69d72bbf0a55c554f3c2895c0dcc5928759871c604fe176",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 818,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004286feb078f3756c06e5315d9e4585b184906071f57d74aebf3e8a431c3d481267687219aa5f3753bc9b2082147a3e6281e34bf39ab8ce35d",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "00000000000000ffffffffffffff00000000000000ffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 819,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00045a06cb7b6d88a21cf77670883c62493f1b1381e1841008ca4bf6f92c24d12e6fedc361aa112180298089cb69d0ea9fe061bec51b51dfc5da",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "00000000ffffffffffffffff00000000000000010000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 820,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004156a91128fedd089ab4741255400b7bb2cf19fb7243e4cface76ddd3463614f4dd54eb1d31ce716f1beeef41d91e6a794a477385ddf402f2",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 821,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047e5942baf404f1aa162be96709c28394f5f03564ea1bca65af77f7e5af933701c2fc89d66dcbf28913c7f5127a8d68d402a73dc0515bcd82",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "0003fffffff00000003fffffff00000003fffffff000000040000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 822,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004142a4bfad553717dfb8b3f5d7ceb70f185ef014468a075daecdd28fc2204e689e9be5a7f0ca0164a5550bdb9ea241beb5abd55154a53ef2b",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "01fffffffc00000007fffffff00000001fffffffc00000007fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 823,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004adaa9b4a60db8cb1b9f307fbd1987de52057bf8952ebf4555fd1245275a6ee7623866f7684ed882057d269753a0cb621f01bfe0a339134b3",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 824,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004411742b6193a7d605d03ec130b7492266c8affc083a9bebababde008172b1aa4d711dcc7a44126acdd6af39a9b8de30f89f72bf6bce30c5e",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7fff0000003ffffff0000003ffffff0000003ffffff0000004000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 825,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004c1601f16b582d5ee402aceac077b00644e07d4c27ad819a45c833704acc8473f1c03887a7715d891d9afb6483d66abfab4fc805f4e9d93fd",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7ffff0000007fffffe000000ffffffc000001ffffff8000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 826,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000414438a1c0aa6d6322a9c97525203e83224d09c0b6ed7f9edffc87566692277105d2451c0f34fb40db3ae783149075ffde715e7e56a20c56c",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7fffffff00000000ffffffff00000000ffffffff0000000100000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 827,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004c282016c4120fa64b26a6a95d42a65d85028a8221d1b58b53b53cc26aff7f36536c67b2bf6b7282311039b46a5ef688fc007267d342f726f",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 828,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004231ce0637889a0ce60582070c2bb2669ef188fb3dc4fa5130e16b8a9bad1ca30f0f3cc6f6aaba7d27ff474215621bdc21802b0ffd7a2178c",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fd",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 829,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004202f7ea2e5131a84c033fc2c08d3497e02c8f93f9fbac081f178e39c30df87d46a8bd61035259610869c1cc24a2082f894e183ffa9fe2aa0",
-          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
-          "shared" : "d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 830,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000400000000000000000000000000000000000000000000000000000001633b4bd954cddaeffefa7a75e81daac78682fc46c2d7ee9648d32ab3",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "91d228a11d5eff2ccc0940265bb5ef25eebebd50efa2dd1a29508a50",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 831,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00040000000000000000000000000000000000000000000000000000000251b3e8984fc0e76d7c0830af455e3a709f5ee363708e92942adbb1e4",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "0047e1811a2371f1521378f0f16d4307077e662fbaa83a3f96fcf5b0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 832,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004000000000000000000000000ffffffffffffffffffffffffffffffff6ae9ab22a7a3d4f4bcd27fad3c1b44d858e75081a9ca61f620719994",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "608052a73a085e0d077002d9894017a75c63644714a8bcae15002174",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 833,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000400000000000000ffffffffffffff00000000000000ffffffffffffff217c3568a965f2a55cc901e357a1575628779371b5ac38f589d9e3e1",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "ae79a814575b0cda006ff1f2f617ff48e99d68886b2beb394dac432e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 834,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000400000000ffffffffffffffff000000000000000100000000000000005b21ef6411409443e83b79d201492eff43eb8e58f2dab71a15facc55",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "09e3e169b2ff1dd5e6a6c0e7da70cc9b781d4ad742cda7388ee017ad",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 835,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000145799e835a004c3cf2d3918ce3f4771561d08dbcc7d73b452456ca7",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "9c33c2f08f8b10ade78af8b7ed021b815cebef08ab0506d73892fbb9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 836,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00040003fffffff00000003fffffff00000003fffffff0000000400000001ee03a1b1a6fc66dba929459e5226cc4b9b9641c2fe0b72f1dca8ac6",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "0c34886d6c6de77dd6d37ca70d4f295a371fb527c853248ba4b0e9be",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 837,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000401fffffffc00000007fffffff00000001fffffffc00000007fffffff6a2f162b62b880074a87c37aa88e4dd07c260e3d1925602b42654311",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "8001e5763300e1741a6a562eca419050372b0aa97d783a4cd606f3e6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 838,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800112be7edba65ee14a56c2494f0b0f5018cd6f997919296655da4297b2",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "464293a02d78bb0249547041186ab4a02f77d23adcaef3325c517623",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 839,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047fff0000003ffffff0000003ffffff0000003ffffff000000400000269b3c411885503c934b416b7e81b54c8e88ea3482cfff0e9bb26e8fb",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "62ec4ba9e8bc1b56085da67e481836f1c4cde0c4f5694199f452a665",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 840,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047ffff0000007fffffe000000ffffffc000001ffffff8000003ffffff27a1297c7a38d1b4e7ee21d49e9f43646433e221f8541e261d9695be",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "54d239a3d251130d83c812d0973777fecbad5c12f26fff2d6d65a2ce",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 841,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047fffffff00000000ffffffff00000000ffffffff00000001000000003747d1fe6bf97cc470bd311736644ebffa8e33def722d572906be4d0",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "bef2f0756be88362991c5b9420f5ed09f075bf1540a059b85a621532",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 842,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff339e3bfd7b12918722a6f7faf38f28703a635757a992b393e52052e9",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "55af6868eeeadf94c06cf9407b3b5f5d2b715f474d518f670c3cb9af",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 843,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fd633b4bd954cddaeffefa7a75e81daac78682fc46c2d7ee9648d32ab3",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "97379b47cdb08a1deec67cf2a32bfb4b7f7c95c2a24c1f4eb002aef8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 844,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe51b3e8984fc0e76d7c0830af455e3a709f5ee363708e92942adbb1e4",
-          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
-          "shared" : "499ea1f831f2b2a29ae45519b2fa3213d90e7c3905fd95bb8133cfa3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 845,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "3",
-          "shared" : "80fc3bbf6ab2a45febab5003a46ce32a8998e776f1caa51e274a059b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 846,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "3f5d8afa32528b63dbfa759e9d5ed37a8fb87f98d856f5e0bb3f67a7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 847,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "1000000000000000000000000000000000000000000000000000000",
-          "shared" : "1d9c4d7df936eb5502ee61d68526877f04adb830747e6f3475ae54ba",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 848,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "6a6085f73272becdd7858ca7b80daed56fe39f319dfcaa559ce647a9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 849,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "080000000000000000000000000000000000000000000000000000000",
-          "shared" : "18af3c83b27fe6a1e5f56be3ed256b9f740dcbe41bac7f148f2692ad",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 850,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4a6ddebca3a5a7939f",
-          "shared" : "2fd7f53b0ed87d438cfb45c9eb8d5c343c6a309fcfdb9686d6a0f97e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 851,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dcebca3a5a7939f",
-          "shared" : "c5c948724fce4e94ad8682705b063138fe18cc0e7f33204f493a3f4a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 852,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dd6bca3a5a7939f",
-          "shared" : "5b0230dd604007c71c0e416fa24a7c0192e0ec974efdfac208c115dc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 853,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca2a5a7939f",
-          "shared" : "06616250fd3f7a3abe31b83659b21281ad93d6e168922fc2157b4be4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 854,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd",
-          "shared" : "97ded4c2e06b5a13c9109be3fa42dc2ca93a306fdf9e85ac4bb02e22",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 855,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d",
-          "shared" : "686798270c7e188e6ab3e28a10754f965d5d02f33d30d8faf38155f4",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 856,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939c",
-          "shared" : "80fc3bbf6ab2a45febab5003a46ce32a8998e776f1caa51e274a059b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 857,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
-          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d",
-          "shared" : "d64f68debaf751d63da1883668822031c69e913cc53b969e5fbae845",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 858,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c4840680",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 859,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 860,
-          "comment" : "order = -22721622932454352787552537995910923612567546342330757191396560966559",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021dff283ecb55d9bc9979d5e7cfda8a2f04672ee943b49221435c5a586c61020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 861,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP224t1",
-          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c020100020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 862,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP224t1",
-          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c020101020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 863,
-          "comment" : "order = 5290290092223871682666367384584369978999613398297400491171",
-          "curve" : "brainpoolP224t1",
-          "public" : "3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021900d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 864,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 865,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 866,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f0201ff033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 867,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020100033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 868,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020102033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 869,
-          "comment" : "cofactor = 22721622932454352787552537995910923612567546342330757191396560966559",
-          "curve" : "brainpoolP224t1",
-          "public" : "3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 870,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 871,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c7dcc95fb9d591ce71a8bf8a556f2740e47b7987cd2f7830aac0eb4b303c041c0fe46b4a6c6dd4b7b86f709b2062b046cc238dcfcaab11c4d407d5b1041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d04390400000000000000000023f905836e050000000000000000000000014d3a8e6427eb21055820f8b4c7120ac1a1d4ef9fc8f9cc644c4dc503cb021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a000400000000000000000023f905836e050000000000000000000000014d3a8e6427eb21055820f8b4c7120ac1a1d4ef9fc8f9cc644c4dc503cb",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 872,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP224t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 873,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP224t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 874,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP224t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 875,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP224t1",
-          "public" : "3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff3021040100041c64b569c07b0d6cc342b02aceb14d118fac8f5340fd6d22c667493b7c0439043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 876,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP224t1",
-          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c4c4c7993f0152b4b31ae7e0ddce44577e0ffbb850ef5787429cc7d2c041c81881017469d158f5afb06a86d1bf0e94bf5ac054bf06a99fa9dfd1b04390473ad823172cf53e86088023baad75861e97a2d62b347c4b4a61074b2b3bfcdddc2333afa0a0d7c531220b2e102559d6ef08ae5024dfac7b0021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a000473ad823172cf53e86088023baad75861e97a2d62b347c4b4a61074b2240166cc64102b8c200ab3d263b124a6ae4969e8a74fa4f330cdf94f",
-          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 877,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a000442965e56285793adc7a389259e9cf589ddd015e9bd539e7251e87bdf83d78979f31c47573b1b4563d52605ce78d13d4b3dba9137cfb87672",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 878,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044da276013cc1d7a5007057d8534a7992c07cb89a4289be1306a224313972c2dc45c9d98b0401de4291244a64b76e8e6024f80773e41c204c237d1338432f1086",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 879,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "3076301006072a8648ce3d020106052b8104002203620004a678b55ac9bf1a53fb34cc5c1d02ee3f5042280b96dc552b37b6c4de4d784772303baa39637bf92c7d2706dfab32aaba3817a9cbf42e631306edeafff56aad3b295bae9d76553c8ebe8260870b676453be70d4cbe77fea59606530d736698810",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 880,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004009ccd4707bcb17a495e71b2815c27da50da8bc73077f37499281350336de71836ab3b8b4d2639536d052d90a1a995be15c5dad427c7f98b1f727d8098b3f929658e01ad739bfd1b6536087427423c134ddeea7feb0c27d7459f739eb023b404670d231af7ca65ef65f67c8d333a2eb4ff85a1392ba597a9339f55388beb83638b705d1f",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 881,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004bb772efdde5aa3ae3002e6fc075a3eec5f23ff3d5cdb95719bb1aba4631beb70a10783eea8ef55db2731e4b465f5f4caf63c6301c9a55f8df07192945f42f82d",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 882,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000407f4cc76a1dfd15a8e6086298b51cf7b5a452bd78d22255079c870193e38b58d0af2c0f1ae929b4f07af26694f28e2e28efe264c4737d3d5",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 883,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200046ce67724a682ac3bcfd9e5eae6752c8f0256936c8ce6d30c2d86acfd0cad65167871ee9db6cbb308d296a4657bfe732d819921a947e2f879b2079c6d72442255",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 884,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200046d81e4491be3c79ee67288a4ecbeb81f5d3f277cc2f8b167abd5a471f3ca0c7bfb6a6b4bb5b59a0215de2bf862b5ea92efc69867b39c479c143b265cce74d86e21a6242ae5b1786cea523a6791c55a2b",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 885,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047aa0fb8aac947cfdce1dde00a39628b4fd9e0eeb3b3d4a6796a063fedd3da3493f4f1806965b34acf8788d18e4925a3740f8005c8e79d97c3cd9fa4ab7e2545ec491a1a34f3e8ae4a0f91c94d01c3aa590b90aac5d3c19b04e11677c94394b5a",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 886,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042cc1fe0272661d4cf2dd5f624063176b77b52ef3ad565bcd39e19eae4e1ec2538d4f06e3eaa65dd25c3093308525c053c0ff3601eb83293083e7c3db9ffa9cd752076cf9aeb52b831fb0ef0237bdd44b7537c7438136a45ffeffd8a504fd847de0619ef191e651a0cbfc8986013423aa045dfb028fd3044320bbc1b0d9925bc0",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 887,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004787a59a058d051f1bf03b29eb9b62298e7a572d0233d5cd27cbe21a7e59fbecb4f382c492bdd42614d81f69e8890cf1e41f78c4c3e6afe5bcc591f1da67e7bdc",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 888,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000459582047b008714d11e0307018e43022f3840e4794f112f1f65384a37d7037b0e37d78a2b19a94ec91a017126cbc8caf8baf4f39f9af4956f8e24ceca69ff11112603947bf6d442835739328379814fb",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 889,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200046ec42be3b975ce7e5481a05e6c74fab6deea449da35ec5c87f3374ce7589f102052c9d19d7c299ce9dfe31608c40408135e35d85b47dd7317301b7d87e592ee78cd92a4b13271308f06ae6526730d3c05f4c1b57d80e648815c14572fbe9936e",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 890,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP224t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000431c185cbecde89be3f67e2518b45aa7dac138637076bf3cfa4e82f408c7a9aa229a3384c71743e6b9408cc49ed4fe410e2c9260ce63221e7e76b1516db5b12ee54d028d6b09c058865af5712866c0caf8ad15c22ebe11a8956782dc57c8aba50cc398f2decdbc8cad5555a172f222f5949872bf75de3e0dfbf80adc711c9267b",
-          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 891,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP224t1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e00022976d67c0990b15a69fdf3b1a8af1cda5093d56edf5a07920c4a2560",
-          "private" : "094a03f9da3f349baf97d127006b91aec00281360223236ade4960ef4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 892,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224t1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0003207634267719edd5479d4cb295b9187761379d4954ea2167f9f7c21e",
-          "private" : "7a8ba19e871ea26250478bd775bdf5083dca779ef95270c504d14e42",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 893,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224t1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0002207634267719edd5479d4cb295b9187761379d4954ea2167f9f7c21e",
-          "private" : "7a8ba19e871ea26250478bd775bdf5083dca779ef95270c504d14e43",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 894,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224t1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0003a564bd8c207a8eea688192e55f7298903d506534191f941853689dc5",
-          "private" : "540edb903f98285bf9c05a9bdc2863a86c7e885cfe9b93d233000a5b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 895,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224t1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e000285c7342870c42049ed0e288892f8bf63ff3a810c58031f9a1af6fa99",
-          "private" : "3b2eb0d8c8edfba44f9c523c3d4a143525608184a108cc376a086393",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 896,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224t1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e000385c7342870c42049ed0e288892f8bf63ff3a810c58031f9a1af6fa99",
-          "private" : "3b2eb0d8c8edfba44f9c523c3d4a143525608184a108cc376a086392",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 897,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP224t1",
-          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0002a564bd8c207a8eea688192e55f7298903d506534191f941853689dc5",
-          "private" : "540edb903f98285bf9c05a9bdc2863a86c7e885cfe9b93d233000a5c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP256t1",
-      "tests" : [
-        {
-          "tcId" : 898,
-          "comment" : "normal case",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000481fec1314ce8ac7e9456b95fbceb2f6c897a2f17abd6092a78b00fb7d8534abe10ff1b436faa8d0bea8c86b720c2d17ea05f0e946f2c0a85a949b83d7e0f2be4",
-          "private" : "09cbd52d2aee63e003d94660046f7ed6e724463abce250ee1264c94d0c9c9faa5",
-          "shared" : "71b37582210878538d83f4384f1843227449b34079d6856d5c5915ad8e747c83",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 899,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP256t1",
-          "public" : "303a301406072a8648ce3d020106092b24030302080101080322000281fec1314ce8ac7e9456b95fbceb2f6c897a2f17abd6092a78b00fb7d8534abe",
-          "private" : "09cbd52d2aee63e003d94660046f7ed6e724463abce250ee1264c94d0c9c9faa5",
-          "shared" : "71b37582210878538d83f4384f1843227449b34079d6856d5c5915ad8e747c83",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 900,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000440dba5f4c16ab52f2f2ec98dde1c5ab1616e8d66efe2fab27357fd5fef2884d706fc02dad5b8250415f87e5e666a8b8b2a3c58c21ff6618e313f9a9568297d51",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "0000000000000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 901,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200046da9622d0b7dcd3e47a9cec88edd963b58dd8f9bab8c22d574bb628eca0fd7d90f2fc34b570678cc74b7704caf77856afb099759b9f16e9ff34a65ffb4a58dc5",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 902,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200048040001f2d2c7d5e1ca2e0deada348a85f696f0330f9c4bff4d8d046711656f414f028def3ae26e341913abd0eaf4097208ececd788998f6bb880f68304a3ebd",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 903,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000436734aea2de9cc2c3a1e4d552c564892d0a2711688d8a5323e4241789088c31444317ad73b3d38bfae25bf440c86d4b0da608bf1db3ffb66681592f5c046caf2",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 904,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000496a571535786b9b4de1fb339b622669be538913bc8fbd9ba36951a3fb3ed45b35d4cfa5c65f75a20caff34fb7ce894875a348a86025b889c4ba3e6bbceeb0429",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 905,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000431efe34c91a266c95333caad8e3f1a8402fa8c2469f36f5e6bd68c7b94c6460d246b99e6b31c8582fe17efc4ae52ba9355ddc151f90f59826e96e857aab32ff2",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 906,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040841a48891e8bf0364fd95d4f267b98397aec9394596a1dee3be6ef42df4c81e69b05caff854286ca024becaed6bc78cfd8901c5239d41fbc2f7b8a67b90fcf2",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7f00000001fffffffc00000007fffffff00000001fffffffc000000080000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 907,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040921c4d6c8820e8fd5caf53d1c76db6d1bc2cb6ccc3747d62684ba685ee8679b44242a2b919497ebfdbcdc089519fe086ed08bcff64d88f93cc526fb8f792383",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7fff00000003fffffff00000003fffffff00000003fffffff000000040000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 908,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004412cd2d2dbe9bb969d752b344c6b8625fcaf251bb58a26fd4f78e945bb306490726193d831b6d582f5115760a1bdc34a794eb21aba7328b645577b9109106361",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 909,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047a9334e25e896519e5f87f849f9a0b9700654c98a686dae2672bac8d7bfa39251a395b7b8de3654b8ff4330ee35f3351450c3a4a1dc5e8da150d4de5c85750c6",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7fffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 910,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004848d508c5d95e9765bcd30509e51924ba5cac5ee5bd471f72fce04b51c10f94523e302ecca89ea1482e3ab71749b65125dbf93b0f152ad168693789646806119",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 911,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004277888653238655c528a8056185383655f6e15fafac3bb72adf962cf1bb11ff60f552ff221d486435e2bb17aca644b4d9ffdbdbc4b9be0e2652c8a0e3b277bc6",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 912,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200048e7296b1c4aeaafb1fd943947cca52910e1a2d2fe7f4ab160fe846194212887401eacc97fceb6edb8387374853f690ec5fb9f66f7d04ad7fcd2b895c06efedf1",
-          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
-          "shared" : "a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5375",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 913,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000400000000000000000000000000000000000000000000000000000000000000011fc3c8c633ad5ff802caa3b6feb8cbca4505124732e018e6ff97f83ae0afccf1",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "5823cec0fd56a5fcc13c992d37e8b7443bb9659584445327d61da2a5926324f2",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 914,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff276a3e8236ba6aced8b480755508d57c673ab2d9261b4a947ebeff4ca7742e88",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "14c533b14c90ed53613117804f36ea4e3ef8c019dcb8b2e9117a74aaaffb4dbc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 915,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff37ed59ca49554b633d1af4a83a5da34e1d83e5adce8d0af546c16dcc68ad3100",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "6b529ef3f2e5d22c4d30bacdb04ef2d111e66602545ca915d1fd6fe6319a848d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 916,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1e102fb9439dc3c67594167fb347d84cd9b5ba5c7f24d0944776bc89610dfdff",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "4f9fd93dd31e2543214baf7ff31e04f980f268d606fcc771c51e123d8ce383ca",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 917,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004000003ffffff0000003ffffff0000003ffffff0000003ffffff000000400000040f405523892b903924b816a5d08d45a203b31a71b44156cd2f18133aab125e4",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "5cd12184cd353efa93426fc6d02890dc8a0a47bc82fddba089a1b00f6b1ecc5d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 918,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff461f5925012b2d3775fc57374560753112a358419f0716ba3c81f3b512340a5e",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "2bf6908e5e99c5bd6c16b481208a137e3723ce75ec88817003aba0d35acca3cf",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 919,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047f00000001fffffffc00000007fffffff00000001fffffffc00000008000000054a63eedf5deff41b4c7cf26f577ad0620bbf3c27282c974104538acf9c7ed9d",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "06d07069e2b8595f2d91a3ce1e6eca82bf9a1a326c8fae40d6157b94666433bc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 920,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047fff00000003fffffff00000003fffffff00000003fffffff00000004000000039bc0a48acbed201ec473e44ead6d93c7ec68ae290985aee3ce87a813fd0cd0c",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "54e7e49f6eb2d7e122b629d64e7dc1b1d7470a4dce19a9a6a00690606a2de9e8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 921,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008002241e6549c3b95fb141b04918593dd00fa1eed143742938147fa9d6bfc79c0075",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "1e87e52ee55db4c37146265f068edd49b2b8339c02570989913f9e8311ab9160",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 922,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047fffffff00000000000000ffffffffffffff00000000000000ffffffffffffff1414db105804e432c04f20fb3f0012049df4a2fdfd3d4504e98f032f1dfab04c",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "a8ac009aa014fcc7973c916030df55e06c3b340642e01eda0842926531ae30fc",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 923,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff198b3bc42419a40dc691048471ef20c36b32d55907419c6786133a01d29a72ea",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "5ca00511c23e8039887f67e66828d84af3ab2b742afc01fee24b204868b59f87",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 924,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200048000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000002b0f6495d600130c9dc5c1644bc40c21d5fa318d259a1dcbe81c433453700c0c",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "91edfb28973fd0489cbd6af94b3be274358651bd2458257034474c69bca63f62",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 925,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53751fc3c8c633ad5ff802caa3b6feb8cbca4505124732e018e6ff97f83ae0afccf1",
-          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
-          "shared" : "7c6d161b5cdb11b115b855ba23989e6749b012a1990bcc7812fde066de83fcc6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 926,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "3",
-          "shared" : "170e872994f10d6328dc27163a73af400d6a206cd13cb3ecd7c8fac709f22478",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 927,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "73fa6aa713444cc695cce1a6ea2299b5c09bb0dad21958e6c14524d2beca3d32",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 928,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "100000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "2270bcecf6f71f10345ce24b1d4c878864b80cf79228fb2531b13d95bb0e98a3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 929,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "23a13d59f8adf5a8541bd2e5a9d82cac39ee5aefb89f105bfc162baa621c308e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 930,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "80df8cf4d7e7e583b266f129540adb4d9e593d098045d519c7b5bd7192d74d1c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 931,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f6901e0e82974856a7",
-          "shared" : "91004e13171062eb7d1703c4c47800183aeaebf55ba867c736c496c90eab5428",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 932,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7900e0e82974856a7",
-          "shared" : "9a2bffea6f356160a6fd1faba7ee23646d43388a45f1bc4c61e9b37abfd52efb",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 933,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f790160e82974856a7",
-          "shared" : "69989fcb376ff1f3876aeb6b40c5cc3b6705e368cc4eb54923f8bf5474e3042c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 934,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e81974856a7",
-          "shared" : "01d24147908f768d7b10a7aaa6d1adb6539716ea6fce191fcc8d4e63baebb581",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 935,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5",
-          "shared" : "4875ed4b2bc7e7a0cb89d93b359fa72ddaf0377ddeddd33f62ec2450cd80e7cd",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 936,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675",
-          "shared" : "315637f94d6776cc3928c1ffbe3c7004aa70b787cc0687faee1da5f9324a36c4",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 937,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695",
-          "shared" : "54d1009ab7d3cb9d4314ea7512f7bc4d916ecd47bc9e491ad4a6d65a40672554",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 938,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
-          "shared" : "170e872994f10d6328dc27163a73af400d6a206cd13cb3ecd7c8fac709f22478",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 939,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
-          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5",
-          "shared" : "892923527eb529de963e902641c01701a66cd999d1b665717d7b11cbb5a96f7c",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 940,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bd",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 941,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 942,
-          "comment" : "order = -76884956397045344220809746629001649092737531784414529538755519063063536359079",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be0221ff5604a8245e115643c199f56f627c728e73c6855c4a9e59086fe1f17d68b7a959020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 943,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be020100020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 944,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be020101020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 945,
-          "comment" : "order = 17901173885223768702896718547912698493510841341785744190857633730178",
-          "curve" : "brainpoolP256t1",
-          "public" : "3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be021d00a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 946,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b0404410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 947,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9c0022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 948,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a70201ff034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 949,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020100034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 950,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020102034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 951,
-          "comment" : "cofactor = 76884956397045344220809746629001649092737531784414529538755519063063536359079",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 952,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 953,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a78fbea6902fdc1e0fd7bac0461d36ed824c4ee599b13be4755c618d9b4c87a530440420026b993511becd9e2e8e4fd057665684ebefa73e3b74e443aab6e68f8421cbcf0420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b040441040000000000000000000004d52ab6d6994500000000000000000000000000027814487f98c572d5bb334a25e76e3006e477c870b53976e37ee5c10e855110ecc7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200040000000000000000000004d52ab6d6994500000000000000000000000000027814487f98c572d5bb334a25e76e3006e477c870b53976e37ee5c10e855110ecc7",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 954,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP256t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 955,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP256t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 956,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP256t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 957,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377302504010004204079bb2002f04e45b9ac910b3d4976b6044c07ab38227dbbef23f387ce339d2b0441044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 958,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP256t1",
-          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420975687f8d618f64434dd066d5165b3200ede86729e6c5ff6271418b88fe06b1304203753937960b68ebb16c134d630c6cc1db2255ad2c3a9a8ee80acac3eb32a96e804410429b9cdf6f6bbab4f7204f4a8c54668b5c819b35861dab5301fa33ad47de6cd4e13f10800e539ae7cf74daea101a8523f35e1dd0fd95119096e9856d101cff6d0022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a70201010342000429b9cdf6f6bbab4f7204f4a8c54668b5c819b35861dab5301fa33ad47de6cd4e960a4fdabcb4fb3f47185bef9bdb3b33385a1913fbd5071eb17af14c1d9e5ca7",
-          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 959,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00045e624ee5b36a73d10f5b91df3e272e637c31d4f121bbef5099e0b6903c20c85c13365d4e440ffc327ac7f601651e98f4079c37ca07ca02e8",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 960,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e9c9ee8e9ff023033538e2b57ca39d89b89007655cc879ccb8ae0bdca349b06222e2648f4a4fd7e011c08df2b55450e39a8d8bafba002f1e1decaf67c1af69a3",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 961,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200047e71be8b085f5229dd78b8531f979a19acf3f1d256ccc3e8ebe77cdfa3cfad28cb0e746ca07df8c178abe40512913103b518ef0b567de307df2a605a57a495afb3c49a907ef4f6c1927c7e67132814fe7593dd9f6d661f799c8cd6f6a67aaa2b",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 962,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "30819b301006072a8648ce3d020106052b810400230381860004012624311fbf7b97f48d2c6eeb5a4cd0e3283f4532be8163238bab84d63096eb0b054bebbc068a73decda62f5292827796141018fe994da19d16c26d59d34fabe97e01b7c3b7cd17e7cb3e7a4573bc10780d3ab52cccc57b3c091343202c421a491fdf9a494eeeadf5d54229189e990d366ce58f8a4313346a8106d3f4d79655520bb5e9",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 963,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004f79bff10edcf6198780932ec7c8e96497757de356889cbca20a0ce1fdc56c2b39fa4e56488691c4b9cbfc85090a57a6ca14d48f07e08acd52477cfbd0a1b51cb",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 964,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c538194901430105f8c27b1b07b7c412e8048d217c7efe6d659142c3a366f0442b22a3da35493b785c167cfa6301312e882457675a02bc4d",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 965,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000422ad0ff6c47d9f5dde955cb140e7d999702445d602c0012d2f252690761fe9189eac3213ddac2cfab64e3307b3e613d470af930f70d7d5be12c5b81a1eebc4fa",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 966,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000491ad1025970fa86236117b53c0a252300f7655d1101894ef5290a650cfc77f319293c545dc02fc1e3ffd728986b5b9ab44d78bda74a84cfe2109fdbdd0d47c138cbfdac1786e98ae05086242e3760adb",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 967,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004789bf4602afb992eee02b4802b5e5b8a278bbc68ab0e6ba845353aa9aa17abde66c459feadfab6912fa6e22cf27842d41556d346d7dae455b743f86004c40795eabb5e7223dd0d2ac5f975ec9bd6899beaee3f0e670c80daa4a929ffbfc9b599",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 968,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000409c7c8f0148f365bb4ed3bb4880bd481b56cee4897b6356aeadbb77e9bcb3173d648d816b3f4b618664df79ace6b6a54a7be1641f379b02cb3ff2a779a86f6864f8b786452cc6ad3bf60140759c033c89925fd46fb139c89a7a6694c845d1c6b9d9c53a18fbda449e4ead2c2140dea09651c3b091fab14ec6eacf3642d040c7f",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 969,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000469369c422f986d3ae80647f12e5accd49082869d284efa7c31adcaf0b85b966cd79eccc5e82495a4e576f9efff6174cb28bfbe41d79929f6",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 970,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000485971e0872e195d79a8c48a7778859503c61a1a05251b85a02c833fca77232b710037ea3f2edeac37cbad71dfaa2d42019dc65014bcae9d261985707059263f6ecb4fd562fef71ad3e4581eb53114199",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 971,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000423f4f9aedbfdf9b434b18dd7c5a454a8d2a29ddc8db0b3b7e9fc593062c79bf0b543ff4345dfa5fd54b38958674b2122354ec3a9d94d48775ca63132b314967d1a6fc15d304c6347e2c7453d4c75492caf1dd192effe6204ce994d34e58b8a9b",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 972,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP256t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200040c4ce8a0a691ad2b86e02bcb929e180bd63b2e0818a7b4398155932c8ab814b90e003a8b39d6b7a923cd4627b7d73f03e7be201ca0dc91ba1d3da7af403bc9e092c4edde87fac055d0f7e72dbc804ae389910403829aee52f2b3b5b72618380077d8777dd2171217c30961e78164078e732d6c5d00f23a982b75647982e70342",
-          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 973,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP256t1",
-          "public" : "303a301406072a8648ce3d020106092b2403030208010108032200020009989b9391330ab7ded98276f810b9c4c0f051b8fa004493e86a69434ebfd4",
-          "private" : "6be6bbe1fe2ae4d54d3c51a255e47d15562649c7a3c8ccb8058c006b4263936c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 974,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP256t1",
-          "public" : "303a301406072a8648ce3d020106092b24030302080101080322000390df76513471dcb69e24321ecb87029309bcf2356579f097db6da5cb3fe54824",
-          "private" : "7cab8b63d45e3a8d16bae7c1fa1b7790660009f1bd369ecbf5bc0a268b5503b",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 975,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP256t1",
-          "public" : "303a301406072a8648ce3d020106092b240303020801010803220002559565d0d9ed2706af2ed4055bf4b5d0d1a8400ead1b94ebbf35ee2ecfc45b93",
-          "private" : "7797ef897deb6b8cf263fb85874cc14acfae5d99944b7006bff434912b9bccad",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 976,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP256t1",
-          "public" : "303a301406072a8648ce3d020106092b240303020801010803220003559565d0d9ed2706af2ed4055bf4b5d0d1a8400ead1b94ebbf35ee2ecfc45b93",
-          "private" : "7797ef897deb6b8cf263fb85874cc14acfae5d99944b7006bff434912b9bccac",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 977,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP256t1",
-          "public" : "303a301406072a8648ce3d020106092b24030302080101080322000290df76513471dcb69e24321ecb87029309bcf2356579f097db6da5cb3fe54824",
-          "private" : "7cab8b63d45e3a8d16bae7c1fa1b7790660009f1bd369ecbf5bc0a268b5503c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP320t1",
-      "tests" : [
-        {
-          "tcId" : 978,
-          "comment" : "normal case",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200043ebce5cdff67f60919dcfd9090fd9773fc1666ae48242b45b05717f8ecfa196052aabec5efcfd7d70acf6c4cee85a7cc62033c9eb07143a73f6b6ceca7e3ae38425b20bf03ecdd66e1f154494689ec1e",
-          "private" : "0d2de78391de4e27f6a7d8a21d9393a470b52110e8e9d5ddde6dabac2663608e1b150ae67cbb6b719",
-          "shared" : "2d7f82b3026c3b66e873771a6dc21b9cba21b1ee9c4f67e1b0d9ddf7e465ef1db39914881e8831f1",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 979,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP320t1",
-          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a00023ebce5cdff67f60919dcfd9090fd9773fc1666ae48242b45b05717f8ecfa196052aabec5efcfd7d7",
-          "private" : "0d2de78391de4e27f6a7d8a21d9393a470b52110e8e9d5ddde6dabac2663608e1b150ae67cbb6b719",
-          "shared" : "2d7f82b3026c3b66e873771a6dc21b9cba21b1ee9c4f67e1b0d9ddf7e465ef1db39914881e8831f1",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 980,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200046975ae12f6ab7cdecf38dbfc73c303b7e761bddba9427a0962c52e8bc8fd4d50e2c616e272d06fd2a30b183ed92bc397e461311ae7606da7f51e03b43500d19844f77f2fe06b5991b79a6ae74e45d8f4",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 981,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048455ea50e317f100abf686261d54b74571bbaa294a0be35f01129bfe8384f6be19446e564ec75d267173e86e516ab37f4aa7478bb2b8a44b6b89fba41a56179c82cbe0c28d3df0464ca1e021bf1eecf7",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "0000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 982,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000487da65a008a062881c8e3679c8a246ef33ec9b45767153b8aadaf045161088a11efcd9da42ff99c6132f8e6ce692efb7ad39bebfcfa965e7668b822251b02c3113d9dc480c42ed0910246a86268f4d2b",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 983,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004afa84bb06816946b7809bf03432872170a38f50807a38f4610388568661652d2bfad500fd74d324c7e1a4cff63144fb9b7c90410476ce4ff0d00849673fd7a830fc0f442ad40dada4694f1de1caf67ff",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 984,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000442368c6d3ccc9e6b4c55a2cf582dcf6c332c3ec5c12983e4626a904f2287fde5a5c441ecbafbc84e492e3670173068faa344ff7e7a454d8dbcdc126422745340d1b414d52ec50481ed150c2cff568912",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "07fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 985,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048d90e9130b674b3b5250e89fed97f64f4634d26f3d606f9de279d059143d8750b21dc0cbcffa6a9897c809e917ce013eb0da3a42d60cda9030556b11a2d5b70689a0d1c585505573317aac201e283895",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 986,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004b75d0c352b5df8536c22f60286595edbe52b7bf109f1e72b01904258c017359284238b65a05352d743a3793eff3628832b976fec09cb4a2b59eb5923be4cd4e0a6f52f62fad9543f10616acc31f3872e",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 987,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004607fc2fb45fbe982612bd136ea06ddf8ad265edaa884ca20bfb288fdaf61c1a0896fa3947159321a63f64eed7d48ed529adc61c782eb6bbacbab0a2edcbedd183ba7f8e1653791d438d9cf8a88ccdaa2",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 988,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000468b7b4842c85652f3878c7333ee9b372010ebde9a318a9e28c9cedca3d1bc9d0b99271dbdb40174e3bb85d9b325eb3fc2713718b3f64b3ac98b2957e27bdb398995f5dff1ef5c0041407dbe780e8341b",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 989,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004b3658b493862d59a24b0344143315348d8cd9f4ed0ea4439a66c22bb0ad8cf7e9b7dec834f3a0f9a92d12ad4e9e6ac596a71a376bddc52601ed53b5b62faab2bc39db872a983b13e93d1c1097b573b05",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7fffffffffffffff0000000000000000000000000000000100000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 990,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000437d53ab43b7a7318b5d56e2e174d5184f70d7aeb7c56800530165da99fc981bf59a8b300e21eec55581a2a66c270481906d7134f4e02be48db2b59dafe0f23155f2a6cca69db3491074e9434686b5515",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "7fffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 991,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048bef4afc02bcf88984e43fadc7912900c769d8f5dc00733656487f04b777b803c2fdf1a97f5af911c7b81a31db0f948b3d4d75a06eb5203f1a449546e3f8569f0b9be7c7b8ff0f00cf989aef299bf83d",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "80000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 992,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048cf86413ec2ae3579d69e5fef52065c009a080b3570b1b3efc40ce9de0138025c17b8682d2600439b61f3182d076f3fa95da23407dd667fc9c7be3eb1f5574fbc3f0ab5d60d0cadf64b5c81e911e2868",
-          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
-          "shared" : "d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e26",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 993,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004000000000000000000000000000000000000000000000000000000000000000000000000000000020118c1b04101ec5f9b33eb6eeffec1b7461b690dd8416ca34c88bee64a1afd246748fea0f3e6995d",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "58f6281ef863cfcd121f00e0d89bb625d9c3eddc97fbef3da989815b7faefcf84d52772dd2bf9b1f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 994,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000001a1b1142e0e20a4b4267477ae401951426791db66a8622061a18fb7f7cb4048270fc083662c5e36f",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "5aa75e8ecdea561d0948411aa7a54cd1f3ba0463b5e4aa3784f8953e2a2d6f4723b890de0d374947",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 995,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000010000000007b13cc61ade2a01206c9c7a577fdce73b2faf70c3b3c69bd57a466561111f9326795835d3c2ba79",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "bef5050949ce67c1463dfe11c49e107daf6b04e627a4e6b149e818e5ffb3f3d793ebebe6eaf20c90",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 996,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff3fce9819335760e603d29d8736c5cbfe7d61af21d7fa3007b33578773eb7793697303fa06ce47b8a",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "9d35ad36ec1fb7c9687649766a44fd6595fde0bdded2199e8a82570deb8bded77622f311b77272ac",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 997,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000407fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff09635008f0dfbfbbbcf18db72d5e0608615dba0af087cd3758ca1defe58ea232ec76d6764d2d0d17",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "aa1b41fceff4ba87591a145bf3a1b44adb6dc794ca535c93f50cdcb03a35f4d063c573d4db19512e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 998,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff3f4aa3fbf2c3f9083ce64cb067189fc86f0009522b0bc6cce8b9aa6184fe8ee2a6d2db2191358be3",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "9445cae9d8b9e5fd8bd3d73da56a3ba37ff83156e1741a4471f4ac0132bc24382eeb3204fc1e41ff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 999,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000110d6580b65033f2f1a38907567d7690abcddb0dc339a011e7cd3dbb4ae919d2cbfbf9bb2520bafc9",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "98e6af1ee83717fbbe7b19146e2bbb85886262bfa423c6155b5f0283abb1d2878210efcdaaed364b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1000,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000016b3daf997cd6c24fe855474692d57c736b1518afd4e9e1d2cdab20ca9a6bf9366375f3f811418a",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "08192a427110f03c204fb6d7352662acb338f9711b4576153ee09421284d1757dc93191f11982e82",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1001,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff1b95c563738969707edf3c3e52836a73ef99f75589132189d4efbb02e21ecd8574d8939bb5fb4759",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "1896fb3f034e8d3fc3992a4336296c1d974a4a4770fb987363fc23196db786dd7656a512d02f9360",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1002,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047fffffffffffffff0000000000000000000000000000000100000000000000000000000000000001118923a0b64a9d7118a97f891351928beeb785c7adc637f553d14eafce7a87d4b79065bf8bdb1f20",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "7a7f45bfb4d8de6972ab547d204cf14489e5be7d2fecdcac6fb91d234ea6e5a04db6b6c2ee345e3f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1003,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047fffffffffffffff0000000000000000ffffffffffffffff000000000000000100000000000000025ea72c6de93298dddfb9823ce54399149f08b73220573d581171caa19d6d19b0d047c72bb4d7248b",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "050fb12d8129bceb3360b1df064687a75438e4c36483edce3254b658e5a2cada54abe6182d16ac2d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1004,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004800000000000000000000000000000000000000000000000000000000000000000000000000000005dd547d9224452a96d9375e4000887969764b1dcaacafcdd2f111fe85fe91225ad37f26d4ceeea19",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "c0dfb94bdd6bf640043a6179830e5a8cec1eeb8028c5ae9bfff71e251bd1cf73f9014196f86341d1",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1005,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e260118c1b04101ec5f9b33eb6eeffec1b7461b690dd8416ca34c88bee64a1afd246748fea0f3e6995d",
-          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
-          "shared" : "aae31f9598c7491b6c2cf680e6e6a60a5e21b07ace64612b0b0998fc2cee54cc984f75cdc2c589e5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1006,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "3",
-          "shared" : "31c02835052e6a04448a10b2b8af64275ab78a4b66756ddf72d9324b0b915021ebf0c8f33aa334b1",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1007,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "cba435a0d80bb18cfabea806f885b0c9531920f64cedf6e465bea89db462b183c441c34c7d976b00",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1008,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "8ef6f50f1d1204f820f1d7d05ba06684f922bca07f9af9ce4820849791595a38385ea88614599ec9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1009,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "18c6cf3f841868380ee533fc70d9ee02495547e6773d1adad816f367a4fe0144094fc73a2692dc02",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1010,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "13f636563f9bf74a284dbb6fbbc9674437473a3b18007625a0c9e196e548463d6c5ecaafc8e9ae11",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1011,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e88691555b44c59311",
-          "shared" : "7c284bf40bc88ef5a1944f871de3be7f28cb006c5e23af6f479456403f740495e0157c7e2921859d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1012,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98681555b44c59311",
-          "shared" : "033b7c9c296b9063c19746a02669b400b95d50052c603d2503f5998334a84f1abde8dff32ccaf574",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1013,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98689555b44c59311",
-          "shared" : "c45a8c78e5161961fc84e66c8046c8d4599b27225cdd4ebe2462c82d8906bb3cf6e8a6e5cddcb6bf",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1014,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555a44c59311",
-          "shared" : "6fbb8bb43eccc86dc13bf7dbc2650945334176fc5f1303a1055f9f4cee38d78747657e38846e25e9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1015,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233",
-          "shared" : "147c9b3b4880f7f6d4eb96f891672cb0d09a6bef15574ab2a43f09ae7f8090cdfa81517e098dac1e",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1016,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3",
-          "shared" : "47f4412278edc51ba0635853a82e033b164a68194d4c3e2492017432daaa8c35684c343f701f6b02",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1017,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3",
-          "shared" : "a64c2b075abf446a9ba43f6ffcefda795835ab2e1c4d19bd9c9ede59cd9eaf9c831a520b1e0ce269",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1018,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303",
-          "shared" : "b3b25821ac9b07c614f6fce7f9a1c2325d3cbd51cac82dadeb79037a23bce03b0352407ccd447af8",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1019,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b",
-          "shared" : "594aebd8010757d15f79631af0e481310359e0086e4e988ab5525a9303aaf800cd4ef123ceb68875",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1020,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
-          "shared" : "31c02835052e6a04448a10b2b8af64275ab78a4b66756ddf72d9324b0b915021ebf0c8f33aa334b1",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1021,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
-          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f",
-          "shared" : "c7e67dc2f64d0e66841777a6f014340b8a63f42024c6cd5ac5e10cec3b02a2d050c2fd8f078a754f",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1022,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ec",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1023,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1024,
-          "comment" : "order = -1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c30229ff2ca1b8dfc943b0481ec387a12dfe1f9a0670305a4970ed5cd2b7d1381179a716796eaaa4bb3a6cef0201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1025,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP320t1",
-          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c30201000201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1026,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP320t1",
-          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c30201010201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1027,
-          "comment" : "order = 410618568360611413177547474029944166748205379750040840301822434183392856467013123528027",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201713082011906072a8648ce3d02013082010c020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022500d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b0201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1028,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef4223403530451040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1029,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c5022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1030,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201ff0352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1031,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201000352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1032,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201020352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1033,
-          "comment" : "cofactor = 1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
-          "curve" : "brainpoolP320t1",
-          "public" : "3082019d3082014506072a8648ce3d020130820138020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1034,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201723082011a06072a8648ce3d02013082010d020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1035,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900ba0dc09c4fca91f8d2737a6773e536418f90d7febb8d727ebacde533cdbfbde0bdcc63663f5da3bf3054042819508683e6f1bdbf0ec8fdf75e1caa2469fef7a83b669b7094c4d4b8aad42e483f07af4bb2558a650428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef42234035304510400000000000000000000000000237bc7178cc16000000000000000000000000000000000000005434925ffb41a70da2dfb580b95e1fb8d86eb9cd182cd6f310275ff52ad21cd8e91220dd9f7383cf5bf022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000400000000000000000000000000237bc7178cc16000000000000000000000000000000000000005434925ffb41a70da2dfb580b95e1fb8d86eb9cd182cd6f310275ff52ad21cd8e91220dd9f7383cf5bf",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1036,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP320t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1037,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP320t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1038,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP320t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1039,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP320t1",
-          "public" : "3082014c3081f506072a8648ce3d02013081e9020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27302d0401000428c314f3b8833bf034c812d33b2ede840d7cb7e1a42dfcefa1e58e24553b9016dc1efc594caa02fec104510483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1040,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP320t1",
-          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428a5dc5adb66a5a86c55485405d9b80942c3bb4b078299996abdfcaa7fd3e005f1b75c06d6aa0837f1042865755405e80a05db17ecd7ff3b3d2d61c32c77dd8e9676275f77cdac941fe74f09848584fc8b5fac045104511b926e596cac6d0ceba14c1dcb46048764f550fd1546d4e0c42342c61b0638d44b2fcc1a8145425e030fd8c4151371a8f4452b7c5507cdfebb0c398317c805c350f56eedad264031be0785648eee01022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5931102010103520004511b926e596cac6d0ceba14c1dcb46048764f550fd1546d4e0c42342c61b0638d44b2fcc1a814542755b374772a73c463848333355acd897fad4c36d73dc45e98c41c47d8ae6c5e8cb160b2c8d244026",
-          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1041,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004aec08ac7071001a9ca046069d4fde5dea62029b92652ff8f5771baa59c03cf4e7a113ed38935c22689666c501721639937edd6eb3ed95148",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1042,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f0291188ab6042507fb7139957761ba533ad965178045cecc2abbaf13dc3ecb0be0e2af323f895a0a7f0a0679a4f298a9ec3f5fd2b21aceeebcc43b011c478b2",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1043,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200049ec9f13ba4e199163afbfe75732d88ee090ce422e72bee4a3f519f7edc11c0a1217034f0ead23b0c067a9a1881e99f21f9fecebaf0771369a217216566ff6241b55d0dcc671551cb462bfa70e6873722e685920b4a2724f00faa0e5d15725e98",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1044,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401c24023a1548478a17f7af184dc7905d2baf98db212dc09ff86492d4280c8185a3a04c78cd6104f82ddf7646068221bf329d63ac737162c7f49c1c29d89fed13a3601ab06e27c0fa59befd9087533a44cca6dbc033c6f80e4d64ceb761153584b634a6015786a29018722ffeb63f3cb5912f663dae78c37718eb83aa45ccc9d89760283",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1045,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004628386ad21412db5329c0126b0718fb8ac31d1e5d43bd6b5615b2f7e800ad5a357d24fd0ade1a40f988cd25fed98fe3c3ba46df502052ec944a085e5d1cee849",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1046,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00043c210ce8a5791d3ed2900b930a807e752c68847ccde2bfcc8f57347a99d99defb102d42a97514b2bec7de009ff5ac6c7f51ff4a1807ab146",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1047,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200041f2f5f6ca48446cb3e8c661d83386d721803d32a41ee9332782f193a0cab4a5a48dd359c6c58c9380c16507d7a3edabc105a03bd352a3c745b9c0ed0fc122517",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1048,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004b018528b7ecf6c6b93db9a732a9855b4cc96d49a6c99cfc1588557bf7328b9dbfb77eab00dd3f525678da903f79bf8a86fa1bcb112a3141b822036a8d6462fcb1080fe724d9c5a939ae739f84bc93603",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1049,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000402236ac5f64ef25b3cebc036b1ded6f143337d2136282c09ca40ca7df6dcbec492fd4feacfac327807701ca1ef503ce20ea5b9bb4492a8a7337dac78502b55ff6c5e7ebea224f88e0d26861b8f11a2fc0c1ab1d54ca157e5b81aeec8cfc80b8c",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1050,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004107cb105bb827381310bb1d402d811d3fab73ce7ad418c855eb185993a827fc35da7c6d95a01720100db7bef7e7611fc365ff8a428b8307ef330f2406fe7843b624473df73b11277740ce6c3313d3c50d7edc941716177f9149287d219d998dbdcff2845ba38fd66be8b39715f149ffc63615c364e9c2715d9e4437ccfadd757",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1051,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004597a497ac98ef4e7b57eebcb76dbf80fa90010d39d121f3f270c2997c8097ef32ecbe4a7009d7cd2fa3b4de77b880ce58e7ad47c08c6969a",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1052,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200048a46d0bac7b26b02441ebab397140237a1d6551e4f9f63cd1b5129c719808ee9825d3ec5e1c68142c886e2b5bca39c2840236669c7aea799cf31beb70713fff8",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1053,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047e8ab74cbcc65a0236721db3f23d039f3bddd753e5f9cdce1466e0c442b70fb1cb3c1de388722307d27899fb6cc83cf3381f7690c0683655d4486415facb060ee76cfc85bac41df8b8257f3c2fcbf67a9553846e5ac960b0adb7c05150f3d321",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1054,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP320t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200046c7532f8502d34b9db6ea5e52cf3a053934d5e576b620014f51bd15707a77d5be020d2c112e470c516e29b6d63f5ebcb59b11be095a91226e7aed27318dca9e29e1f11f4b14e67461bafa29eeb8d7a81a82890cfe6781dee4c41747eb4bf0ae3a98997dd9cffc955de7ca1abcfe48e83da4a161e9f9a2c75daf9de71722b4be4",
-          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1055,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP320t1",
-          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a0002158ddc4c252067e219e0a55d7d55c3f5523296ab8d63175d1907c82a8a03897cf26bc6cf9b6fc12f",
-          "private" : "160538c462cd2d7698fc25d2712b981d7d62413679de89e089a53cd1017fed6fe6a69de1c2875d0a",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1056,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP320t1",
-          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a0003b8a851b160505003d2341f9c3a1cec50e1f5d759705769cbff605b0267af15f7b93552867be488cd",
-          "private" : "0c80ed1a9678622c2b698dc1a7e63c13e28e93622bb1c36891c4cbf2525e10a10d5f4855b9c5fb6c",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1057,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP320t1",
-          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a000260fa08a01432849d033645cc7e498cc05ab53bba46336b6a0d538ea3f4e77d2dcc09a704a7737060",
-          "private" : "0d2082a5da76bdbfb06b4ced03045d4aa7884933b3aac1986406854e3d05c069e1f89b481e42cbf96",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1058,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP320t1",
-          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a000360fa08a01432849d033645cc7e498cc05ab53bba46336b6a0d538ea3f4e77d2dcc09a704a7737060",
-          "private" : "0d2082a5da76bdbfb06b4ced03045d4aa7884933b3aac1986406854e3d05c069e1f89b481e42cbf95",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1059,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP320t1",
-          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a0002b8a851b160505003d2341f9c3a1cec50e1f5d759705769cbff605b0267af15f7b93552867be488cd",
-          "private" : "0c80ed1a9678622c2b698dc1a7e63c13e28e93622bb1c36891c4cbf2525e10a10d5f4855b9c5fb6d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP384t1",
-      "tests" : [
-        {
-          "tcId" : 1060,
-          "comment" : "normal case",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047c9971b3d2b5f6111173bf61f546bdead7918aa0134b72c11dd2fe22eb336ecdce9541dd8c64c6073af5627cf04a5fda30440fdab76d7377708e5a1ccb973d3e56cdb53f299b791cdfdbc45c43851af0aeed35ab6873f4e2f8d77831eb71b0cb",
-          "private" : "6b3cff8513eb44fada3de5baf6612c87e6e5d3ccca55e30fe6d540edd1544b0ad23ec91a208405cc5288ea02d0e09ba3",
-          "shared" : "581332ce12ebb312a6c0a95f0e3391fc1af59c37f7dc94ab1bf7aebc93540cd6362c13016e3f70ba02d5cd33bc895fc5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1061,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200037c9971b3d2b5f6111173bf61f546bdead7918aa0134b72c11dd2fe22eb336ecdce9541dd8c64c6073af5627cf04a5fda",
-          "private" : "6b3cff8513eb44fada3de5baf6612c87e6e5d3ccca55e30fe6d540edd1544b0ad23ec91a208405cc5288ea02d0e09ba3",
-          "shared" : "581332ce12ebb312a6c0a95f0e3391fc1af59c37f7dc94ab1bf7aebc93540cd6362c13016e3f70ba02d5cd33bc895fc5",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1062,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004319ad6d431018c7036152d4814aad9459bb4e3e479b40752a84c3902910a185233153a49ce7f08eee86c5a76be637b2a138bf12770cbaae6e5bc866f1bb072f083dc4bcc367238c833c226823471de82d5266080f89b5776dfa7ea3c24ca263b",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1063,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004779ce983dce3b93b66f1d5f5da0e6461ed87da6a0bd20b39dd1b85cd4da149c09fe815822e49d2706af32c76aa728d620058e66c021ce3ab681c471ca9deb0826b96712c74948a4c971b8db1f4c049cc75d355df8d0f1fcf16bc4ece28669122",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1064,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044d69d548112a121ae139b4b8b4f92fe0c31a4ffe14bcfe60fe60028049c7e7e31c5136fb64b641885da6595d3d32260f508f63dc8ff1e40208988830080980ec4f045d2d75b633d23d244374ac9d94ebb33367bb6b92b0bd8ebfe87c01124642",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1065,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047bed1248364e9ee7dce7210d03a2ea8c9675ba12de09d92fea65f31a9336bd7730064e8c425ab57d741eed5f0a90ab587c3f3dbf31eb2480f0bdc7c2e7d5398284437d10799b19c06d73a05a5dd38b49519513d5137d1ff16894390f8cabba09",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1066,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000471cad293ad4befb3023a077d444b4142c3470ecf74e1eede03c1c9db832417777c757797282f78771ba094eda4c6a4b645d65739131fd6aa9391f9475527b6045f7e54747840c6b420d4a9b5dca40702f76a72651692db4115977a5675d584fc",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1067,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200043313a667863796ecb2683751dd1bf51836fd64bfaad84f9ff18aebf92a80b8e49894baa58cf8918c08f71e8fe8e673960d15ae41c90f98f9a5a837fb27d08c5dc1137fe311649552d5332505100f03c8f771bca63b4a1133aec9beb843d10dfc",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1068,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044b3576c484f554f33bd294d1d20b94e7caf61046f5e1089ce8b096f9ff3ad2049a8d4b365ebd97133a6514232a8473c91de0689497396b184a6a9a3bed37da61cffb8a62b1ae096507f7f4dfa74e26760160f930d28e4170d2a6b2446b0b1a93",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1069,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000485c09245c2965f4387e3276a7305e926ce5fdca2e99900425439a0612685d38f843a468d9e2d2968a65215ac434a6542668917bb4e443399a5b3910ba9f75f97d895098dbe2049dd43b076b50ef2cac16ffa80bf9fc3cf35c4589746213ddca1",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1070,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000478b76373f3d02f5c0d3961684f479057d35e376ad8583aad78fdde98c1bcbbb9af9582c50e8cce0ee76146623a68794508e70bedac883188959e5dfeb6233775adce6d19d3067d80cdbc9b78dc33006806a6457303f9c65698f1fa8816921077",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1071,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004879e31be41831a7b309c71144ff5baff9307159fe5751d2dd0c4595ce288e1f81a34001ac74f68f34271c2ef4dcf2a584822e2dcde90ab1e4411fb998774c1bd0840560e6721ba00f978afa5870d75b9482f594e9d72b03034584292bc8df95e",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1072,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000423c40e7a2ec9b61837ff67eb7ada25023279c0c77e7b46e3d40a9159811e0a7731cd515606df44b52082b5319979047575d4467ce49ef08fc1e9aa5016c6e219393211cfa1cc868d16caf2347652b72dfcd88b9df821ebde89054ad7b4a8b807",
-          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
-          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1073,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff000000000000000100000000000000014199aba2f2ae96ba11e63e82a9232a83bbffd465c3dd76c4cd24ff07f8cc1c1cc10eb7ca2d80072873f27c103153edbd",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "5558f8c9784d2e17cd8bfba3e717caf1e9085ae74fbc5e5855a347734f64c4a99b6f109c8dc85ffa315cfb01010e59da",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1074,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff10de23e1549f367b07b72d47df2b0e4dd32a78acc9fa2ead7dbc9a5a3f05ed448fe75d121269ed689a8dc82321212984",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "3e59aceb85ae1e9c482e49ecee60d855627d4ab91243c05cbcfcf88174fc31658e89ece9b673ba222c2e31d51a54e6d5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1075,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000183e0091d69e927eaaa9c887f1164b2b6f58ff482de53f28d381be260a773b306e05aef3745e8a72b6b72496f5009e51",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "47b5bbe7bf2ec7f86777c008b84d753de9e6ec4579ee2f274d5ff3bf466680ea6f46a2db7b50ec597ad1aa06d20ce549",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1076,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff3bcf7ad8f51186c0f99db0988ed9c50e20763125aae2cb69c2a4fa0d29b41075c59cf3798cbac0b06b51445e4f68957c",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "44acbe681bb36efd73881cde8cd2269f85dc0f3eaeddf729a243e17841d6a770c2489859fe2487ff9c1f5c2e00018b76",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1077,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc0000000800000000532e64008d9cd987b0e99b2975334b3bd6f042a5a8e5eacf72d0c4ca2906f7f5a546d26117b0679067c7c578527f1d1",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "4bbd8d34c4c25f078ad43446824059439abdd914a2ac9a83e9e1508bcc7eac3974c06314ec18885e64088f7735b47b0b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1078,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000012eb8d2eacbc8bdb2c83ff11864f28fe307a8617e3f651e2c98c1349691a19d914240434e2fc599596a18ae05d62c80b6",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "33d5885c57825c73ef0e489513709468c1d86ef7153f8560eaf8d1eff3a38afbd63157c4840aea14182692acc0df292c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1079,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000000333b6edc37e1dee2502c773a2af9d36be3c14b92fb7ff947b2b398884e938d47d7e91ab6163e35cf7fb549a1c8b40cb4",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "60e92912a1cd8bf11e10d882eb3beac75f924957957fce63b0d646836ac38a5f39c0497d9bc14c1884a3ec62cf84264d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1080,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000002c6bc7e854b2d294bbf56b016546598aee72e1a05b12491738dd65d366b038c8b027f90d52012dc546768826b9f76d2f",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "65e593164f354dd3dd77ba72ba55ba80b81169a03b115d5d4249d883e071a00baf114289d6186e3550376092a30a44d5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1081,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000027ee7adc978f64eb8ce1ac64d4c9c75f4c35d36de0ed3c9d7a1013fb1323c4f2b2e6f02c240e82ed75472a72f27755dd",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "2add186540d1c14206a301c8f087e60899756d8eb0fd95d0defd1435ee1fb88103feca3704cf3747a375813bcf82d439",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1082,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff04d46c613e7cea77e579a3a1c38607da44b1ad733cd78e98315f5fcedaa355bdcd98157d194126a9200da34b945a01a9",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "78b196d7197619661dcefb46a19a0a614bae443cd505af158ebbfb744a983f299d32c62f42e76cb4bf679635e17949b9",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1083,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0555ff1d9117e3e1db68597a916492e7e69a91b3aa0d7b068dfb3783729daf94890101226ca567ee4d4f93d56a579408",
-          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
-          "shared" : "35e72046a25476acf53ad50f8239f45b78d76a99681176d0204c180e7d730c969e82e5743e737015930c4bd2ca1d8f61",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1084,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "3",
-          "shared" : "848a0d6b0714c8fb6b9d9208401ee6494c1f7e06252d1e80552bca6e49b9bbcd757f98722215a03b4b44d13b46ac5373",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1085,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "376c192f947b957fac5e8a1b2d1f24f081b77968d4e53ad115f89b058fbc44974e1a37434814a628e934bbdef42427f2",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1086,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "46db5c4bd9512ed62534e2357b8fbf1bff2aa97e04061eeea8fe1802f81032704fadbc0e12d6d05559539ecdd7c55d72",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1087,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "29981c8fdd06b9788707c78d52bc34b5df769be1edbe5a96144ff4e39c8a8fc37712903cf94ea0e64ed0d67d2a27056c",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1088,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "259247a765e1046770970ca4b2cc7b3d6522702c892be75998af16a7596bbcbb6d9bccde431ffc679c63544d0435accf",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1089,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc30f3b883202e9046565",
-          "shared" : "0b4a99473f90dd7261d42c5fd5dea7436ec48c5b91453927b9a97c3a84b770e049970050605f34dc38aa60cf0461c9c7",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1090,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b783202e9046565",
-          "shared" : "060b4369765ce2c1aff404b8e77a6c379552ed1ac5814e034ae195d0ed08df5c4cad46c2a464e1552bffca1e131d756f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1091,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b803202e9046565",
-          "shared" : "7afdfc83d3221cd5282e9554f7d1e320504c2771a3374de31bb204c1da0831186f377b6e9090672b0d1df00e22a3a1ac",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1092,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883201e9046565",
-          "shared" : "01013981f8873050143f73cefd5a750c223c5e6fdf1e25a24ed0d7233c782b8b9d82a4cb996f83becb096f6abb8352bd",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1093,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f",
-          "shared" : "22d772bd2104c3d24b8505b3e7d1f3f00ca2dacb493ca729170854ef2158407a0ffab006153d5cb7781e9cb57cda505f",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1094,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f",
-          "shared" : "2b2c617f8c84713f8440e5e273341d69edf9e6ea2056af38ccfc6ee733a9c11e1f9aa63cb3615d2b3cebe69d8360a2bd",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1095,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f",
-          "shared" : "28518f75e020e00095d47166f7825f1767b6425172decde390c9266764c8b631608dc323b8415c39c9d0b8a24cd337ac",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1096,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
-          "shared" : "848a0d6b0714c8fb6b9d9208401ee6494c1f7e06252d1e80552bca6e49b9bbcd757f98722215a03b4b44d13b46ac5373",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1097,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
-          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563",
-          "shared" : "4424a1b48eba0524e4aa82455e282b35cf0d13d8536fe6c410cd5050f3d4d1739254945a8f580d43ee0245b1df67de56",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1098,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515aa",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1099,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1100,
-          "comment" : "order = -21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231ff7346e17d5cc792d7f0a29081af19be20ead08ef612aba94ce0e9919353fbda5830c5495094803cefc477cdfd16fb9a9b02010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1101,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e58292802010002010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1102,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e58292802010102010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1103,
-          "comment" : "order = 5042941954480324912133914614639385831494842746066313376667826733277554507683616955290244686736004252971522",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e582928022d008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b88320202010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1104,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee0461040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1105,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e58292a0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1106,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201ff03620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1107,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010003620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1108,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010203620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1109,
-          "comment" : "cofactor = 21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656503620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1110,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656503620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1111,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008a954df26c950b69dea5d7a1f618e8a857992af1ca377397a279cf1b6175c6adcf2cb92cc86979370f9353e6e9dde977306404300223d09036a361be30b797dc5acd5936bd964618231ce31c70380afe1e414a75dda6edfcc7b3a13a77b3ac2c472a02d904307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610400000000000000000000000000000000abc978d6d0960000000000000000000000000000000000000000000000000043115a6b5bf3f7ac0febbfc666b4d9bae909618d1f66c0ff2a98aae7f9826ab6cac198935e14306cb5642dbc5806578afa0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201010362000400000000000000000000000000000000abc978d6d0960000000000000000000000000000000000000000000000000043115a6b5bf3f7ac0febbfc666b4d9bae909618d1f66c0ff2a98aae7f9826ab6cac198935e14306cb5642dbc5806578afa",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1112,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP384t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1113,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP384t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1114,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP384t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1115,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53303504010004304e978dff384529cec087a10243720de2a3ee3f8930eb0c0a4cb42d6cf5f230ab5b8a5c3f8b9af7cd7f25f3d1a1e43d3d046104103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a80231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1116,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP384t1",
-          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404301e747fddfb7bc29d4e20263ca469417c3177a5c39376d403fcb6d682c2bcda02a2148bdee1e4075a867abe5a38ca070904303e7a410d632f5e8830cb21ec1896044bcaed24c3abb0aa7da04a5a07b303a34ccadb6284f6282562e7204c3ac46228a304610446b572000292a61eb6876305635159dc6b12c73fb38ce5a20820381e51d0e2263882d8753094568869014a7773ea6186555cf176a7b073af41a2c4c2248398f727f92929621a84b147f2aa942f7bb7e5b6736f2489e076a20e113bea90179c020231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201010362000446b572000292a61eb6876305635159dc6b12c73fb38ce5a20820381e51d0e2263882d8753094568869014a7773ea6186375c2d0bfb87f978cdbaaabc2c62a8e7ed3647e08b39d202cabf2f85503b593df6603805063ca3cf7935c428a0f05051",
-          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1117,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a00047ac0f84b83f54c8978ac99a99f59f96e372e7dcfc79178fa0a94bc4269c5a28643dbcd4aed0e6140303a9b2287cb8386f5294d092fdd437b",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1118,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0e57e36999fd97937a9572777bf1793b5b5f8602b06336861a11d297db2bc7a0be71602be26715cf969aad360890901a1a6da732eab1c04ff5b622d7e1a2452",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1119,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "3076301006072a8648ce3d020106052b810400220362000457aa0e44ae28fbc60e90c712af4f0777481db35c814947220f28a0aef3eafcb7541a617f9178677e365dd211eff8d33de315a1af94b324568f2a5f5fecf2b40df020f00e2099a321eeb89b4a00789874d39df773697f71d6fe40136d19a54ade",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1120,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040069177be0f70388923f6d51e7bc289f262f1f2e4cf7e7f16054f8cc1fc775312e7b0e9e8a91e69723c8f5bdaa227c19dc622c8a7c67962ea7dfaec8fb70d99e46ee00bf0d3d39286fd1e54d224b7ba9e532568e5008db402b91ecfd88bd545763cd857accd82fc87102b0ebe4794a9d810c81176354aeaf57fc9931e3cf194dc8d998a4",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1121,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200042effdd981ca54447ff1a95722531fa5d1fd3aab79950f8bfc3a84f10a449d4e186054eb005da0a9d36e5136f4930f7b9e38299ac0239f3a06dbf8b415e53f01e",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1122,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00044f51fd668da1be3704120e4c38a630d875966bea78b04e7b96101bc4aacd4de2f0e1b016bf47f1ee73c70d82aa89bdbad197b0ae436326ce",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1123,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004828c67c6cf21ae6f03eee6dd851a0bcac9155b146ef729d30234782733b85b341ff0bd8de61046d37f7e851159fc4e793628a49437e18169bce739370cda9924",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1124,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000439e980d68ad99b7f29ab42290b214ed2685a08ab0dac7e0c31f6676471a7b31fc140523b04a3a6bc4019e792efb20a960eb35251c5468e1159ba2a599a3e0eb87d5b1e3153fb6fcafdb1f940fc302c72",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1125,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004750c5d8095fa65163937b8eb53f727bc393763e80561abc0238a3db4d501479230520148912f30a59c408b6ca68c4afa668c345958aa1fd0ba8fd857ee72e117af8286b6684f0d723ac2fe1de0454a0317ec730dd5c193f4ff8ea1a1b41fd4f3",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1126,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040c17f07e6a2cdaf8e9b5967c452a7bc78fc1cf4f45ff65f0663c59fea42a39b7360c10587fd4e347582278f2d860889f0d98d2dfc599cc11f825ae90947a95907395bb60dc0f29725dc26deca5fdcfaf30b9559a711297b8267de25f5933f7a06fcf1d7a00a068ce2f24321d2ed08e5a8ed037193332ea92d2e55deccab47e33",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1127,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000495ec1dd9eab2a77ea8e78c6ed4593eb1db3e00328eabb07c369e7e6f9be2488cbfa29c45e7097e371f59f5f7df87aebcd85f2bce635d876c",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1128,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200041c380839b90fde53c39d58aa26b42ed2060d06dc82f8cb07473966900df128d63f39dfdd88a626145253b3050511e3fa9d1858c01af97e6f5e8d27d3fef5d644",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1129,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004bed26c93ba758a66e04f9ffbfd2e447e472125f47af18f9c360bdbb2bb4b6bf037c4b0352bdf7fb5c3ea2f896c56abf8fe17727b5ef35400ba59acad10522d47deb6474bc96d94ee5e1cf61bf3ad3203",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1130,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP384t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041ef6bef116a0bbf87cf2554bee1282bd763fa5c99be5f70676c97ae3acc4db8625b3178f33ca20a13dd2bb259747ee5b777585d90d1205392591b528783cfd8b51fca36e4af443baae8ea5b1d46dcdad5a22fd88641e4cfa010f2128f680c6e71c2cd5da0ab5970e87f49828c1e57996910812141451b728493b95ea94c36523",
-          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1131,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c0332000243c51b92c31fdd61ee533853fc660d6ccf4d4903dc0a996cf2968cc894d97f9709d92352ee4b93ed23ff618de79e4d30",
-          "private" : "258474baf3b3b83f1f4cc0ac7645677d5d56a40f787d992ac5109894aa372acb87883f74bc6351a31bc66c62dfb82a83",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1132,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c0332000308f31234f87497b1baede9bc74c1f666a5db957d5b5892ef3cad56db448ffb4bb59976a820f0572e95d4e7771afbc12f",
-          "private" : "182315ca6c80fa1f76ec0bb5a35991b97e4f9ada272989120a2c6dc5fe3020d047ef5c13a0fa505d21d250eb39c5e9ef",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1133,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320002084478797447194423242feecd06000d175087de6adf6f2b782582f424234c48895c356326e8d1550fc0409cc1a4ecad",
-          "private" : "087924186cfbe513dc94b16a5e8ff0e86b0da8d6115fc44ce9d08bafd2636299e498649fe9b1bbb507de2c729a88422a8",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1134,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320002024278cf56415a234792dae6c22e3c3d70517d4350d91d395b54f1ff360bac0a5b19473d6476d1e0585b1b1dbb2132e9",
-          "private" : "1598ecfcc3c9f76dfb758cd572def7a8f36aa348af6c31fb29d59b7f06a8e851b6a5c9e965e6734e5ffde5b0de6388ff",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1135,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320003024278cf56415a234792dae6c22e3c3d70517d4350d91d395b54f1ff360bac0a5b19473d6476d1e0585b1b1dbb2132e9",
-          "private" : "1598ecfcc3c9f76dfb758cd572def7a8f36aa348af6c31fb29d59b7f06a8e851b6a5c9e965e6734e5ffde5b0de6388fe",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1136,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320003084478797447194423242feecd06000d175087de6adf6f2b782582f424234c48895c356326e8d1550fc0409cc1a4ecad",
-          "private" : "087924186cfbe513dc94b16a5e8ff0e86b0da8d6115fc44ce9d08bafd2636299e498649fe9b1bbb507de2c729a88422a7",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1137,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c0332000208f31234f87497b1baede9bc74c1f666a5db957d5b5892ef3cad56db448ffb4bb59976a820f0572e95d4e7771afbc12f",
-          "private" : "182315ca6c80fa1f76ec0bb5a35991b97e4f9ada272989120a2c6dc5fe3020d047ef5c13a0fa505d21d250eb39c5e9f0",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1138,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200027d0672c75082f962546a912c6e2351cd82d181c1eb316f99ddbe275ffa813e444227d4ee6c71a4fdd5409a1e99ec7c04",
-          "private" : "0b247883eb43b626d4dd53cb6325f7d76251242ef8ef3a07575e88546733d41cf50f293daad93b8de7b52d348b0c665e",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1139,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200033ba6755e4d8992ecc3976c92953bbf463ace5e46b5833b5de9761529103fcd74446e4d717f8dbc77d1c99279f4cf415b",
-          "private" : "6dced8bbcb6140c1f19fae2071fe0c4a569f054e087c9c9c010daa0bcf0bc65007afa96e514218b6aa10510e7de7d7e4",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1140,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320003261a23060a03986991e258259009ae06c6ba0e178b1aa6fcd5644a526b785237669657c553c1aa82ba8919491d4baba1",
-          "private" : "26e8f29d60877d0b679d3369ff9affdd0eaee3561fb4e7042171b87c2d9f32acccd9490b61df4136ff40f6ac402b2792",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1141,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320002543b22c977fbcd346ea07742d2c653d2a455a745a69785fce27d7a3a9a359540a8abf5bd6eb3e3a3a53bc2c0d388e260",
-          "private" : "5a758a0369caaac2762c2f2bd6b6ab72886d320217be216efe48d4914462a569891bb40aef439b27bc27e65b63b3c1c6",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1142,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200036b702f8dace776a80eab194fba1be0a3272058e715ddb6aea3adc5881ad59ca4f043f524783a8a00a5886a56acacf4c6",
-          "private" : "40e732db5e20b27e027336cd5261ff64c915e2ebbfb3844b71e854c069f2fe187cd816b60321a84414f5cd6967036bf",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1143,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200026b702f8dace776a80eab194fba1be0a3272058e715ddb6aea3adc5881ad59ca4f043f524783a8a00a5886a56acacf4c6",
-          "private" : "40e732db5e20b27e027336cd5261ff64c915e2ebbfb3844b71e854c069f2fe187cd816b60321a84414f5cd6967036c0",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1144,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320003543b22c977fbcd346ea07742d2c653d2a455a745a69785fce27d7a3a9a359540a8abf5bd6eb3e3a3a53bc2c0d388e260",
-          "private" : "5a758a0369caaac2762c2f2bd6b6ab72886d320217be216efe48d4914462a569891bb40aef439b27bc27e65b63b3c1c5",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1145,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320002261a23060a03986991e258259009ae06c6ba0e178b1aa6fcd5644a526b785237669657c553c1aa82ba8919491d4baba1",
-          "private" : "26e8f29d60877d0b679d3369ff9affdd0eaee3561fb4e7042171b87c2d9f32acccd9490b61df4136ff40f6ac402b2793",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1146,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200023ba6755e4d8992ecc3976c92953bbf463ace5e46b5833b5de9761529103fcd74446e4d717f8dbc77d1c99279f4cf415b",
-          "private" : "6dced8bbcb6140c1f19fae2071fe0c4a569f054e087c9c9c010daa0bcf0bc65007afa96e514218b6aa10510e7de7d7e5",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1147,
-          "comment" : "public key is a low order point on twist",
-          "curve" : "brainpoolP384t1",
-          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200037d0672c75082f962546a912c6e2351cd82d181c1eb316f99ddbe275ffa813e444227d4ee6c71a4fdd5409a1e99ec7c04",
-          "private" : "0b247883eb43b626d4dd53cb6325f7d76251242ef8ef3a07575e88546733d41cf50f293daad93b8de7b52d348b0c665d",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    },
-    {
-      "curve" : "brainpoolP512t1",
-      "tests" : [
-        {
-          "tcId" : 1148,
-          "comment" : "normal case",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200049772e567580ed9a9628cba4a948477d384d5e16c106a8d3216013ca557aa0bd1a4cdee0fa560d2935338f523fc612b7f0eb234aff15f25640adae01ed07a061c541bb6ead18e9bbc7ef04d8c542725b6e35d4da608accd3a284d050aee19ab14ada0dc01185019b6bf133c04721488f8ca80a6ad13b99779cc09aa9a97ad6828",
-          "private" : "09c68746bfa3f4a439e987eea3478d442c96890a087605b619b62cecbe6c6faac77469feedce3e22dfd42a6d1edc8a05badbcf4002be553854db31da4fecfddaa",
-          "shared" : "3d71c1a08960df3e3fce6e57a77e69d3da6bf452bd5a2e8e458122402a1cc1ef4598d6826123a26493cab73253bb6992fbc5ad95b234e7068540fd190285bd36",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1149,
-          "comment" : "compressed public key",
-          "curve" : "brainpoolP512t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010e034200029772e567580ed9a9628cba4a948477d384d5e16c106a8d3216013ca557aa0bd1a4cdee0fa560d2935338f523fc612b7f0eb234aff15f25640adae01ed07a061c",
-          "private" : "09c68746bfa3f4a439e987eea3478d442c96890a087605b619b62cecbe6c6faac77469feedce3e22dfd42a6d1edc8a05badbcf4002be553854db31da4fecfddaa",
-          "shared" : "3d71c1a08960df3e3fce6e57a77e69d3da6bf452bd5a2e8e458122402a1cc1ef4598d6826123a26493cab73253bb6992fbc5ad95b234e7068540fd190285bd36",
-          "result" : "acceptable",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        },
-        {
-          "tcId" : 1150,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200045a9c9895b7d2d87bc45ee650412053bf8692541fe5496f9ad90db99e11b715adc3516119d6078e25a0a12eee0f78c41cadf985fea0ed6c78236d73527decb8ca92c7efb8b6f77550e133431631762469edcf47860005c57d5d327c3701c0a5bde751d3a6c6b616a4238139d3de9fecd49f6a0ca7d8d781bc6a51723ba38ea0c1",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1151,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200048f4ad4e364fb67bd09d65819b8a66770e3d259285e2b8c9c80ef2f77c6fa189142045a6852d2ec76c13ad95ada8379539919f5897011d0607aef0c35edd8946314aaba98f1dc6d60dc898f0c7e9b12840d17cd3feb73e257f3a7d123a33d0732c1b9cb24e1542be1679d818cdf6fed41f5c035278c3d4f61e0d2e89f709e3681",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1152,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004798fe077872c658c3fd371254608cee9f2f5f42e92ee35ee6125a4f6605ffdc53ce8ebe4e5b2798b27e783453fc014cb9795fe67264c635bf6964398ae0099961f18832e3ac43fccd1eff6ab0562b299d07828be07e88630c52d46e843cd548390882560fefb894b4c508fc2583ee83ddb4e6f526fa9a900fe5cd5255da071a6",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000002",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1153,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200042346fc0a8a940a6376e5d33e9b6d138e94d1974574f04ab4690c2d659a29f0c95eaa84a587f430e9ed64f00ba31d126782f61f10399afbabca2f6098b989b6bb93e0ea737c087430de82f33b19704a9532b2b5b5f85be769849060f6ccf7bbea0333c5e6f2635ae4abd83e6df07abf1a5ba8723e7fd3e0f5282427c324b781a9",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1154,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200048248ec801efc1fd243b02bc1cc2584a803101650d11ae37c29692f4f61615e3f5a29b89a6fe90b550e0a32c9dee8a680e4b803393524f121904e0ad622bbf9024aaa3105957b850a862e3b11aceac76489cfce4ffe72f465d1867fa93f9a36ce62e6668f19c360458a2d5525ce4e2b5cb555cf47799c264ae6e57e35c2737436",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1155,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200048d33dec860efdd797ecf40fbc9b83f5bd2a4e4295b5f02643222a930885457f80b40fd0bd0481c70b8e661876984ca69995043e4554ac60cc3bacd938d5e34da9487ad24617debb027ee0b0a722abb3b6fc2b82485dee1a069edaf9ae8484ff72a9d2410c9d7404fa86de02bbdfc02568015b071ceac10e9e89e3c38f4284bad",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1156,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004002eeeae6725adaa9e3b23ed16490888e360b1de5e6daa29b5dbba868ba7039e4927438d22a6e2ff76da75d2acbb2bf8e5b06fd85f70eb0f8b81b05510fd7d44a652d93f575182c55148b699f1d8808ab56d2f5cd52d1aa10f8636fbc38a8d5fff5728d2102756131d1ce6e86d78ce29edf23d47893d167ae2352e570ce9fbcd",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "00ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1157,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004568d777955663dcaa04168e553a66b3b2076ef5e65f59bc050ed798f34194fa64467d20f694b69245351ff9bcc9185e373c1e3cbb273844933ac873c5be9807204ba6fe9c306177184671ee7a355e3d2fdacfd87022c064fe4630d21b5447081fc94baea0f0e201c75460d2a56326399cf39ce89e2ff0fde8d15e455f70765da",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "3fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1158,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004623464b3e5fa4cabe116cea354d734de1645101810808d90c5d51f893dde2e35e05c0a913ecb6ee630037628ea4e773da203fdbfa844a8c1430a0130da893bdc4dec5d7b468bc151dd5c38722c92ce2fb5190dd803c05a0cd80434f1460da36993068a7a639ddae6a90fe81319bf8113894965cf94f906052404c4e86724323e",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "4000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1159,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200045a1950942434528205a1a3cf54026b4741a9297ddeaebe2edac85f12bc4f45acc48e4fc83cbf6e228bcb1f3769687c5a95d8b69dd21c1fd365b64ae98a725b7397cb87b963eec9aea147b007d732784c2f5066216be7c4bd8b6b44848f0a4788e0f4a59441e2057b8ac4b82376133085828e41d55c774a74fc31ca97f80a6042",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "40007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1160,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000479a6cd2e2c2118b9bbe6921653d996d1bbe4818e996bce1a8edf2918a98627b92d36245c0e2141fe111a3d9e82602c408ce029c7b38589083155ccd3bb033cae5596c9596d7ef72ed8cf06cf6392d84a84d31170847ca2e50109a4d371bf4edbe0e02eb075158a1f58165548244901436d380e2a174384e97f7a1a156315cdad",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "7fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1161,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000495e93d3fb84de7df8e321ac2b0e93687f73abedab863e862434d16348690f5f234155f08867fcf321957d99ee0b0a1f53a815256d38d7c72953a3169941c681055f60b559c0f665cbfcd9ee16338cf99c54f11c8785b925c4b3ac992f8d64c744b182837dc611ec1e2b8f11fc9dd93b983a6c07c5049810ecf2f01aa682f5da5",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1162,
-          "comment" : "edge cases for shared secret",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000418d64900602b4fea02d596365dbf38a9ba876243c45b5df6c3dc51d32fbeb5e5bfa569dc48ba681134dd38abb36702c45ea5ad97bd5fb59b72ac7af7880f779316a6ccd37112d588d4f3f675a0cbfd743f4b263544ccc1c633cc26e4300546e74f56a583dce49150e3451118ca2ab2a7efe35c5e4889c497506c3ff50a131f61",
-          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
-          "shared" : "aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f1",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1163,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010eb28f88ddc962de75542ff578b6104f4d713b25bae50d40bf91008805605972952e7f2a9df7e8e1dd14a461d3973779d24383f20b77c604cf69f8eb5cbace9e",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "46f301c8200fac3c3a3fff3dc63dd1a934773203853b889370c339a4052e0b7cd00ceecb14de015143605f9519efe574d820efbbcacceb81ebcf5c285f09ae29",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1164,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000400000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000001000000000000000000000000000000003476dfaa119072562787ae26f874a935533d4c77d301527a9adeb905acc4643afc580341bd05ae4f63af976b081d22c93d466abecd2dd3b3a9394d15c54d1e17",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "30a3385580163154bb0ea3e5c82e38ea101f754757d279e716663f464adb61c1a665cf5c79db6eea70e0a35ea1d1c9a8c003f13030a5226795daec0507e1893e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1165,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff000000000000000100000000000000024c9633e8b5525809dd879c06a36b71d84dc39d494d6c20aa3d00518b71d8f44ec979e822efb73720c03a8514562f29b1417882a9298e25abeea9b26026e31c8f",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "4606c80ce9849a3399a5262756464fd90586ead9ca9e85b1766d525a1e8fb1e8e2f312fed3209cf60212e0ebe108d68458d0fabb516f506edd74563f4b188ea1",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1166,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff53d8547a993679babfed1d48e51368fba3d5c9c7a79e4d0a0419eea708e9759825cd72ea1940aafaca35ece726032fbdf82c7d2a2b0450f95cf68cd3019d9ae6",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "3c46a894ebd9b3d948444c55ef7dff0f5043abab0f505486ec4724dcdb32e9ddf1c032e50c9c8bcde8337ab67c2ecf7f41e079ee870f618b65a6e8c8a680583d",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1167,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000400003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff000000400000044ab2902b151d5c267dfe90293a52e42eea125240ea8bb0f2ed2414d47362daad93dd5a9a1630e7c5b79943b46858cc0721572cb6b9a8e1c69fe995c7deac65a",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "a374270ca06a0d55fbcc3dd7e1640eb90de33c217d87d4fb9113dab551d74ca997f0c24c7cd1f41465bf02e603738509f29e538ebcfd2b642a595ea4d61bffbf",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1168,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1345bf06047f22990a083feb027722bdcecdc6a056f02ad60d86a3144ab6ac726a0e8d634f1a54d538a432aff9f68049768cbc618cf4f386eff0762d85832dce",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "75c4617e3f4412b69ecbffa2230ad5dd628dbd278bbb6abd3bfdc649930f0c7394b401b8f069184410779ee5e712816993b66aca811c9c0cf93d9c62ca03723e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1169,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000400ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff10f5d99c748dc7ace19d904aa832daa6f07e5fc0ea90c537de422ada8388c68184b91d5d6c61935d61ccef2d36ff808717cacb15c2804d01c98d6df3fd366870",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "44c88ff638e753e16df66c739400fcd9d463721691358dedb6b5d0798c9f161411cf1527786d4c84e77c2d8159b81a0ec653f5b29ac5bc20c9c914b9228894b0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1170,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200043fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff43a5100fea6845725acfe76fe7724c20e1c6d20e6eac1d88af4fc2973d011d67e1a5488686147f36343d837cab42b525b77a128e9f3d299983c0cd9e2744d598",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "2ba61d9b782c3bf2327967aea78652bcab06edfd40194f9f29a050ee2e7b215266bb401239e0939d6960aad9639ab8a3e109e6900044793fc785b3659cec844e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1171,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200044000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff114dd3a8a1fdcd7a4f73230d0cd64e3e70e4d3cdc7f17813225971e5a4f114c1ac832ee47b3e46a06831823e106afbfd787ab0cb24f08431e31d036c42c83bf8",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "0329bcaa4ef0be643943baeef3da0f492807fa3b8096898162790eefc0e6a9ae174a2dfeeb74a82bcfdf962faf7a5383f9828e905033c79c83c44da1a76dba7f",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1172,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000440007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc00080003c9571b0b89f23c99107b1a0af05f56387ae4c995d465888ce76fd8c816ffade0fe5463c15d3c70bf99b69a3fee7e1011a3851899f0238c56817cae06ef23ecc",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "51166f096df52ace944ecd44a51775be9059a573b96fa0b886068302d0bce7b61154fa8a7987c5e449f7ed01c34878d8c0e0f6a0393aacc778d60ef9909d02ce",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1173,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001178695b6ac05f8d187c2af288f716da9a5b3bb33e69989a74f0f8c05af0f2459fc2cc4ee5c850598c9dbd8870c2d7bde30e7cd10dd810c1a9ea8fba06652564e",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "07ec187ce96377cce3f19319ad081ab4311594aa7d894354857fca87cfdd4b2868100e6120c22bd1f53e095bd1a0e60d74e55e23c5590b293362de2c3540fdf8",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1174,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002712339d726983e1f5a4f602f37124b0f9bdbcbfb50cc2b74c64184480e6ab3f7a0db884b9fc2a1c081b4d3f6d6f9b5b813b7d9c72758a2faa55c7fd8d0a633d",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "20a7fbcbe57ff0d3c1af10d17f26aec03299b5bc594a9ddd17acd0d1eea0432b08da9434889cd961c65820f373b59ce214425a1b58a6568eaeda7beaca6a05d6",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1175,
-          "comment" : "edge cases for ephemeral key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f10eb28f88ddc962de75542ff578b6104f4d713b25bae50d40bf91008805605972952e7f2a9df7e8e1dd14a461d3973779d24383f20b77c604cf69f8eb5cbace9e",
-          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
-          "shared" : "058ef8e8184937d37424cbf061e5548ade07acda195b2e5f41c848a8003a1182036ae169f0e347092f483475f8f7999d7a762e72711ae54e50c16e4d6baf3f99",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1176,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "3",
-          "shared" : "12b8f005de7e6be94e50afdedaf1414198d9e3d7c4e9fcf91411104bfa6953a5cc72acd06aa061c476affd458804fb5070aa2a85265d6b38a0c8b4cf0c1bcf72",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1177,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "43677fd0b1365e971c06e2bff5bf1ddc0ef933c2fcca2512a0d3590cb39a000f2ca822a6274eab376d79dc5b6615e5df8f1fe79d4b3b8c978286f7aab460afdf",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1178,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "785ae49819f91d09ade5e246fe4a109849cb6d6a4f449e2e1dcad0ac7b77206f5e9e2e8ea1e9c046125e32089839377f0d5f641587c2c8a10c64b6d1c15f9cff",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1179,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "shared" : "233e7e7b9842094261b0bb716840236bfa57d63e37102b8ef68d7ac4e6b6157c2e30b081c8f38ac249bf98ea0ef682e24ce39828188992e04f8e4ca32f809b99",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1180,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "shared" : "84a5b8cda5b63d7df750c8c656abdbf26c89a679b208b0cbf3271784ba7f6c5ab74136b5cab24e83f82f9d553386d894da78de9b7585016d56d04748ee095e67",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1181,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddadcb58796829ca90069",
-          "shared" : "5503815c93641cd012bfbea8f293e9bf4f2d4110b660cc080f17e623c3fca8597791b41f84f856a0ea2902fe516fac4ce8e3cf1908c900ae304c2ca22e0e7ae5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1182,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57796829ca90069",
-          "shared" : "4e00d64d851b947949af3fce19a413d209c4570fbd023c5b92d534cc6bd0c1378d8ddc0dc3e5407131d17d57e7d9b986b8b3485ff98fdf460faf9fffbe5955f0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1183,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57f96829ca90069",
-          "shared" : "09f14ca570899490d12dda0bcc829dc8df39f4b00867f0781a6c23568b010d8928edc0fc060207891af5c263b6774b894be70dda4c2b4b305bf57a01075874ed",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1184,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796819ca90069",
-          "shared" : "3d25d403e5deda27c4804eee4c411eb224080f2c2bc82c3b94e9d00c50e39bbd9bf5efdd34871a64afc1e7f62708dc95f0a3b7fb82518dc5b3aad94ad72d11ed",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1185,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b",
-          "shared" : "71f9265fcb0a1a899c5a3c8dc31d2fc3c87955285687e73928aab9c5cc750a83760292d514d4cde457fc8e05bb49eac1fb677ffa5f9dc9fa62e1126a9eded5a4",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1186,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b",
-          "shared" : "79cc52b05b942dec984ea1d88675fcff93f87103b58bd0f7153c7b36b205ea39f99e85017e97ba89726d15e7d7fe5eb1525827011b3852e1121753dea15cfbb9",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1187,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063",
-          "shared" : "618f57d971efa605cb141993a1149dff87d01c773fb8f2a8db5726eb1703522568cc55abca616dae5727f390c90cfa792d4349856820f2d0b5df7da418328e7f",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1188,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90066",
-          "shared" : "12b8f005de7e6be94e50afdedaf1414198d9e3d7c4e9fcf91411104bfa6953a5cc72acd06aa061c476affd458804fb5070aa2a85265d6b38a0c8b4cf0c1bcf72",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1189,
-          "comment" : "edge case private key",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
-          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067",
-          "shared" : "34998a162b0463d81a96dda6c4e256b94ed35f89cb0b69a9af70123bec61b387bb358451e1994d6c29acbec66c50c61f36b66da33782db21521415952b55fa48",
-          "result" : "valid",
-          "flags" : [
-            "AddSubChain"
-          ]
-        },
-        {
-          "tcId" : 1190,
-          "comment" : "public point not on curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77f",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1191,
-          "comment" : "public point = (0,0)",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1192,
-          "comment" : "order = -8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b3320241ff5522624724163b74c02b1951cc3603f834cf724c4c362df1299c63358fccf78faac1a3beb356d9e6be799ee68053efb8e24e2c7ef7a225224a78697d6356ff9702010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1193,
-          "comment" : "order = 0",
-          "curve" : "brainpoolP512t1",
-          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b33202010002010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WrongOrder",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1194,
-          "comment" : "order = 1",
-          "curve" : "brainpoolP512t1",
-          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b33202010102010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1195,
-          "comment" : "order = 2083592630841357761914050861997332755048435564175796348448981807380927961881602771668457829077617488768289656930144243078095422967775269405300354",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820234308201ab06072a8648ce3d02013082019e020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332023d00aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb587968202010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
-          "result" : "acceptable",
-          "flags" : [
-            "WrongOrder",
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1196,
-          "comment" : "generator = (0,0)",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e048181040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1197,
-          "comment" : "generator not on curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b334024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1198,
-          "comment" : "cofactor = -1",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201ff03818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1199,
-          "comment" : "cofactor = 0",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010003818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1200,
-          "comment" : "cofactor = 2",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010203818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1201,
-          "comment" : "cofactor = 8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820278308201ef06072a8648ce3d0201308201e2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006903818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1202,
-          "comment" : "cofactor = None",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820235308201ac06072a8648ce3d02013082019f020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006903818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1203,
-          "comment" : "modified prime",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100a5165c5f2eee5a788365449a3cc11ec6876bdf02a0746e74d104a4088ec32a3436d134fc5ce5366db37b84da9251cd9f617fe3cf9dd0710e435b6cee731e2c2f308184044005c74159acfb6a12bc6fa213f708dd4143c4aeb11355639a055ef8c1e16fde3d467c66043ee131d4fb521c505451b346c7021b5f8fb25576e54ef367e51c1cc104407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e048181040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000002c01f6bf15da7e827a52307770f224816efc100d72f49964dd2681567ecd0a6edf7324e660d982ccdd99cf1989f2b04f9b5466d7e9563cde411c762084da2f32a51024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000002c01f6bf15da7e827a52307770f224816efc100d72f49964dd2681567ecd0a6edf7324e660d982ccdd99cf1989f2b04f9b5466d7e9563cde411c762084da2f32a51",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "ModifiedPrime",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1204,
-          "comment" : "using secp224r1",
-          "curve" : "brainpoolP512t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1205,
-          "comment" : "using secp256r1",
-          "curve" : "brainpoolP512t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1206,
-          "comment" : "using secp256k1",
-          "curve" : "brainpoolP512t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1207,
-          "comment" : "a = 0",
-          "curve" : "brainpoolP512t1",
-          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3304504010004402a4e718167630047467addf28a0342d925cc94c8719d760783aa11ed9ed179e88d4aa583a926166ac2e764b11813e1bbe8693d893202478aac4163f64910d93d048181041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
-          "result" : "acceptable",
-          "flags" : [
-            "UnusedParam",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1208,
-          "comment" : "public key of order 3",
-          "curve" : "brainpoolP512t1",
-          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404408ae1e91faf393012db2105eaaa7089c5866caef3f9ac90ca71b86d7a926e1da54b93c49040e75f28a3f2c57f0e7bb05ede5b2cc584699c3968f56b69bcda784f04400f6ae236f63fd961439584be71a0706f132a851ea8043c60398b31826e00af92a4a6aed5b20ef12ca4b875b191ec37b42f0f559fd1ede1023e5edf0477bb29770481810469e6a2c2f620bba67c453d3fd65b5ce415dd29ff3436de5ad19d00007089dbc798553fcef1ec00a369c200f0436c5757ccf01e88f31cdf93684bdde8a98788fd9d5bbbef4480fa1e417b7b692becc7593460b958f939079fbe554894c644a8b0ad70d8d252158fac797277095e6c2e844fe16a2e7d80f21c8fbe2d4151cabd82024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069020101038182000469e6a2c2f620bba67c453d3fd65b5ce415dd29ff3436de5ad19d00007089dbc798553fcef1ec00a369c200f0436c5757ccf01e88f31cdf93684bdde8a98788fd0d81e1c99768ca6cfe596b4507dd34ae96cfd45aba90ca6f180e5435a9ee5fc0cfdcc22e49b0d896355b2a2188375261d8a09500b001d46898ec3315066f8b71",
-          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "WeakPublicKey",
-            "UnnamedCurve"
-          ]
-        },
-        {
-          "tcId" : 1209,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "304e301006072a8648ce3d020106052b81040021033a000432a1be03f7b9015028219d8d584b22a5d46c0392736f924c5f21d0e2ff5a0aff54dad40dc74af90d4380f89cdfe9d8cee331aa16d7e0a065",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1210,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040051faad525b9a324917c42a27940f18aeb4493fa0318271de45ce613b7ebf3793f1ff653f614fa111714e4314c1b483ebd909630d1a87c5993914518fc77dab",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1211,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "3076301006072a8648ce3d020106052b81040022036200041f8d9bc4a2084d5cad84c5250e350ababa59c89dc3366ea066d991ee26a8ca45a0dcedcaff5de5d6929677200cf7156ebfd1a513456576f5cc22e3e8810ccac80ec9cb383ec5444a83e062bfc3c756eefe3bf21dcf8a842f880d42c56a14a3e3",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1212,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401fef39524fef964990ca17fb15232fb785c3fc2c21b0ce4b3cc13a186b04b5f3a39f27be680077ad6f87b6792ca3518aae64611dd9b17771d2611892927c2fb1399017be42de7a39bec4a857a83ba1492cc4d6c6c8c270c8f4c6a34b7bdbb502bd606bc115377194d7635110f57c755d3fd845721d5d36c2798875af8325425695805fe",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1213,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "3056301006072a8648ce3d020106052b8104000a034200041146cca673f3bce8d5e73fc1b9dc3f7c50b2f80910aa2c85622a81c6eca45080880781b5a27a63f7f4dc658e9ece08b07b7de88fd458b72d1a1e54b4a79ff5a0",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1214,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000431eae97c69e623133b6879294da70459a1d2d6d70d3f9e5bc380f1f1be80b9970017e4b9bfa5df1540e43ae7301a769b3c833926c05d361a",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1215,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040eaee13dfb86bd8938df47220423a5a81c335d7db4733264b182157067f3bdad8ba96b27c47fbc659c23cee98e95ff0c45fb64a910f37b141b9db0e408252742",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1216,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200043a764d5de212287a85bd344429c4fb3198ada4fe9b18ace23c8a813f9ef00705c37ede3043d3d7315d6e896ea0e067761afdaa34c8676bdf6d33054c944793a0595d1d411b301e18ab292dfae0949487",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1217,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000419f894fdbd7e84c9322b3d648bf6bb1724ccf38bc92ed2ea3cd2f8c1704658a40febec7bfb88b231bd2591d4c874dbd44f65dd12a5600f7b9c8865f96ab6fab3635d4e15dd74b3d93afc51cf37a6c145baceffe59bc01d1728566bdd9c159a4a",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1218,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046cae8eb745a413b12b416e511a01461dfc4be43fdfefb61d4391de41d84b67e60551b9009213368f2665271012325e9c1f23990babe39b20b18d63d74c74837643e78e361b59af754f477e01eb2a7c120596fd1f755a8e57e48bd61c65e5b328025358d455a95a6b7a6123cc0c34df10434c4d08d2ca956f48cb715cb88f3191",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1219,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004bc0cc0fc885038c82a60f0d7d3e78a6c39d0088fa642442b6e79b6672d35e5be4fafb47994e51ca4116608573f83cd31cbe7eb07f9a1bc35",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1220,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004669705ff197bfb63f933df3c101adad2b632a258cb1a1a593bab178be29da54f659af7d97e0450e0e10e92076a3ac2e728d164b714c019cdecb67d99f1f10d76",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1221,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200044c789e53f6f802452bccd438510b6071bf47174bf6865a7e591324d891f22b584182f3cfb2f291de4a5b8b19afe8cdd7d13468eb20800641150e84f6dd3829c0eb51eb144f8f4c8c7f434cc7a98805c9",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1222,
-          "comment" : "Private key and public key are not on the same curve",
-          "curve" : "brainpoolP512t1",
-          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000438c91b58cf47f35c2ea32e955f664f14aa0e7dbe2d45b2510e9b8adb2daff7bb617ff7ce3c9f713918b756383d3569714d476be2d0a7fa64d4c4aebdd4a7490d636f90aa6ea0bb364a880690c7ce25740aeddf5d63e9c8ba0a828ae1581a9658",
-          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1223,
-          "comment" : "invalid public key",
-          "curve" : "brainpoolP512t1",
-          "public" : "305a301406072a8648ce3d020106092b240303020801010e0342000235e67afb6af3ddf29988a8c571022edbe5bc69da07bc752efe225ca449b123cf1f7dce245069597e4fb49d088f36753059601932eb624ef28221a5f1acf38ff7",
-          "private" : "090bd095b9dcee06acf56c2e4c7b2c25ecd9f24ed86dd305e9fa0359f33392edd4ea3f21b4ba782895b57ae4d0d4ec52a18df0cf076a0f8ca961577466f66805f",
-          "shared" : "",
-          "result" : "invalid",
-          "flags" : [
-            "CompressedPoint"
-          ]
-        }
-      ]
-    }
-  ]
-}
diff --git a/src/third_party/wycheproof/rsa_signature_test.json b/src/third_party/wycheproof/rsa_signature_test.json
deleted file mode 100644
index 8e472ce..0000000
--- a/src/third_party/wycheproof/rsa_signature_test.json
+++ /dev/null
@@ -1,3909 +0,0 @@
-{
-  "algorithm" : "RSASig",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 430,
-  "notes" : {
-    "MissingNull" : "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"
-  },
-  "header" : [],
-  "testGroups" : [
-    {
-      "e" : "10001",
-      "keyAsn" : "30818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
-      "keyDer" : "30819f300d06092a864886f70d010101050003818d0030818902818100ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0203010001",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrkBTcR9RLbSYPwf75qwIgQv2V\nZunXtgxUEAy24dTtyYWQRn0FAsF/zmnQCsXvtAsssWfYpEq5PXPE0PEJ+1omwviC\nMjb/UXz4RBLhc2ec+uQuBDtv7IH52YS1YlF+b+vh9yKV28P9/BnTJAqnVRVWPzHa\n2DVj86MVrPmgs1GiPwIDAQAB\n-----END PUBLIC KEY-----",
-      "keysize" : 1024,
-      "n" : "0ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f",
-      "sha" : "SHA-256",
-      "type" : "RSASigVer",
-      "tests" : [
-        {
-          "tcId" : 1,
-          "comment" : "Legacy:missing NULL",
-          "msg" : "54657374",
-          "sig" : "253e1d19bbe91064f2364c1e7db3ba8eb6dc5b19202e440eab6fbdf28c8c6ec05b812983713c338c72b6e99b8edf506a89ff9fc8e5c2c52362097a56dc228060eca01e1ff318c6c81617691438703411c1f953b21cd74331f87c9b8b189fdffdfe8550bd2bd1d47be915f8604a0f472199dd705e19b1b815f99b68d60bc257c7",
-          "padding" : "302f300b06096086480165030402010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "acceptable",
-          "flags" : [
-            "MissingNull"
-          ]
-        },
-        {
-          "tcId" : 2,
-          "comment" : "valid",
-          "msg" : "54657374",
-          "sig" : "68ea71ee1911687eb54b3d19cedcfd44719d0b24accccc59bdafd84e4eba48ef0be7f115e7073f9f273286a7dcee3b94cdbe208e30ae496987479d3aa12ab0e12685ab592d7693a494e6ad27d526ed3ab5912c7f81e09983931794c2165c22fd859e0f9af1a93a4dfe144098c562731e6059d236b52cb865996c87a9baf7f103",
-          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 3,
-          "comment" : "long form encoding of length",
-          "msg" : "54657374",
-          "sig" : "52f46d508e31f030b17c537888585f919037562e15f1924543601a41f9b701ee416ad73d6576b4eaaa64e685289dc478751dfe2d7e588252bfe2d43f4b3a31c6c6c39a9df884a2fc2e45f09c2150a830974b1c9d26090830b37bf06f1d57be1da34ebb016e9db7ce2c34e94872c89567ff6f2ab35a1a9fb6632e100c7d7af834",
-          "padding" : "308131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 4,
-          "comment" : "long form encoding of length",
-          "msg" : "54657374",
-          "sig" : "3f34017b3172aaeec72d208308e9b83150699f86634b948847eab56f0169fef51b5636a96866f4f0f4c649400489e047803a91f2b2f32ab715065e20770c4e2788946b85aca5c90efdd6a9458dd9b6f797f96a3de88d2e4896afe147d8c0389943828100061903a30eaff1dadd98d3e49dba56cdcfa5f215d9c615f974f4a0bc",
-          "padding" : "303230810d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 5,
-          "comment" : "long form encoding of length",
-          "msg" : "54657374",
-          "sig" : "1478337676aa47ca72ea7557facff06f6c777f56063f4487d345e43dc56a6bc5f8a891085d53a32c9d1c3cf7f469e7f56847b0b1b9b5b784526078271f21d0550afc40f81e2b8e8dec851d87511cace965edceb83cb96c8d6616e1ee75bb22c54412fc942a6f71c9fc609a31a69d34b774a97c1ba4f85cca28d9993db8543f75",
-          "padding" : "3032300e06810960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 6,
-          "comment" : "long form encoding of length",
-          "msg" : "54657374",
-          "sig" : "77ba423e600bdd761ed10e7c00698a87fe1322f5f42b2902a0be7a24b1cf44f613fa55edeb2ded0475f8e1a13e5368f9a2bfc4f2f926ef289a2207bf3689fc1c8ec3e5463064a7f51bbc993966cc4016319b7c95f282372f1ff848d7fca753a81d905b3341b0fbf60ba186e750f3171cfc84288eff8742bda432bd6c8dc04f9f",
-          "padding" : "3032300e06096086480165030402010581000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 7,
-          "comment" : "long form encoding of length",
-          "msg" : "54657374",
-          "sig" : "9460ee79bb990bc3fe28cfca92363e6ff6900e3b61b3a402f06024a72b7a65d62094b4419e93900995eb121327f72b26b139bab3e5e2bd0c82e0cf6357f3b16f1c1dd4407a9a820f20e3baaa2259614d9ee3e015e1c1778befa13aff1e545ea1758cba4713631d63180a91b52df394294441642964a024f45b2251c90e002ec0",
-          "padding" : "3032300d06096086480165030402010500048120532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 8,
-          "comment" : "length contains leading 0",
-          "msg" : "54657374",
-          "sig" : "96ac043d3cada45aed0dbdc4662dcf7855553a5effa1077048b51c7e9bfff7c2bb3486ea42894d4b4afb26a3b3bd32cb68d5c4d8ca2622f50d8c56fdc25baf83b9909ecb096419ddc13578dcc8121007f7204ee82c517ae03de70fa23ef2390602029a0cbc8a96c5b781d857dbf12802aa561f5f41ea35aa0babb91b9f891762",
-          "padding" : "30820031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 9,
-          "comment" : "length contains leading 0",
-          "msg" : "54657374",
-          "sig" : "2a70643572a7cda975d9e2c0827837e60eaa78c297b1ff75b84f654a91fe33294ccbeda52676ece50fcc03018151e66c24940bd0574ab85a6599231d587f4a6e0ae841cb6696e7dcfd182cb75001304e36887bc4fe3b373828f8b0e62ac2300a626c9e6a2cd05bb7910e74da2978dae1948f855b3b455cd30367160e21581cab",
-          "padding" : "30333082000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 10,
-          "comment" : "length contains leading 0",
-          "msg" : "54657374",
-          "sig" : "27778e39b45dee1e7003f1d315d3466fc111791187ddc056784c158df92097e123021e11918b6df8d905304db732e83d904bc914271b03def4ee129c3fc8adcc4f81b690e09e70e46c8b920093f304e64ecb7358740e976d28538a9eecf09ec1e1cd47df9107968207b21538cabe076bcc07c3862c46a793fcf638c70a972885",
-          "padding" : "3033300f0682000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 11,
-          "comment" : "length contains leading 0",
-          "msg" : "54657374",
-          "sig" : "3a879e9f883b158908014f3617cae3315d47afdadd30840494f68d91c04dfe81bd16a40c7d21238cd1816928d989a232a3492325ab0f95d4426e3fb7d58c9908191dc557d8779dabb282287b7860c30e0796283428e0276447235809882ee990deb0f4312c01e7ddf0690406eeacb660acc6957bb670904cfd8d04df5e3ebda2",
-          "padding" : "3033300f0609608648016503040201058200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 12,
-          "comment" : "length contains leading 0",
-          "msg" : "54657374",
-          "sig" : "2b82155f363a3b283ae455f59e41c29dec2fbd8c7438b0e347aec5b38c7c895cb7d326870e4fbdb935fcbb561f223bd926dbe8b95ef5eaab27920dbe30c641e99f526a9bc356af54198b459b59383135a82cd5b6edab7da0b1a51d939b2f9951e1432d637c4f04a3546ed9c890143ae364602b94eabdaa2a45e4bdf0b5bdfa71",
-          "padding" : "3033300d0609608648016503040201050004820020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 13,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "1dda56dc953aeee7fd76ae7166d92ab9e3d1d9759e76f8f1d7634a73cbf69e39d8249153d7c2d83c9664db13552f0c78df34b8a67e7b6c10bcc61b5ead7ba62ce0ec7ba8ac78d146f7e4cadee6f6250e0bc3100660e7afbe3afa17fa288d97549b4c8cacc00ac5c942673485739f89c9e5e63ad2be97a8f2313f5c5b095e7542",
-          "padding" : "3032300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 14,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "692c143b82196a391a3546607336e6f3bc047412645cf0def0d62d1b42234c14da138bb7f451b45073bbda2aba23412e83bc40d4e7de3e0684f2cad7d059f2d6831aa3d2ece4964ca75cd41dce23c5ba495c15345b36947b4b5a051fe1b84e148b5ae21f112d2245b1acbaeef9dc4a0c408829b9d2b1b5ab1d3a40af0a27b99e",
-          "padding" : "3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 15,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "66c31a45b2287425a20f65c3eba9cc58c370882f5fc62921935491fbd516df9baf9b28304a21d9008b61a92779ecfb3b0c03f6d74354f5159956e3fc1d35bd7376289378f05d7a71e05ab32794f2566a54635e8dc64740acbe10a293ceddbebe8499b520f406023a134eb9927ebb788b92488f036d109ec0a40ac52372e847b3",
-          "padding" : "3031300e060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 16,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "7b85536bdcda4ad3fc40129f2ff9dc85d9ec049913784064e7358686640446278a2006d93fb33429407597e5d8c783e3f7aee8a7791d69139f3c802a6547f01bf987415eec2447b0e8c4f3aee7ae2085d141fa34ca6634bc109dede93285d5c40cfcd98bd47ceb9cc1890dfff53b7ebb8038533580c7a67fe14c0c422e20cd64",
-          "padding" : "3031300c060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 17,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "5d77fba3cbb1905d83aa532fcc3227a95d7931bf0c2ab51f8118824de9dc029bd2470adf48b41c694ec7359d00a1336990c30ee368dd40bd681ba74794415d3997e7a756659397bf6abd44ca91c12a8580a3f5d1cdbc7f3be0c23c72334ce9b1419e6540dab73f5ff8ab57d0bbbe92b688bd3495f9344822b622042c2491bc41",
-          "padding" : "3031300d060a60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 18,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "7b5476fb78f389d1131764e7a13322f86008924c8c098f6d74f2df4dcc5a504cd786b3eaae33295cd1e87a2bbd1a06cb385674d465110a9a990d52de9a67f1c13ecaaa86383d489423c084fae9ecd2e9b109f4f04b8c013e3409128f3a079c068c1ad27bc2a20e76ad149325b7b0f0bd804a4e33949a98aac49076260702b0b0",
-          "padding" : "3031300d060860864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 19,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "6034e1253e4860a29096e392076794cfcea166a30b340cc09f77baa5952c06d148bd89b750c3112930ef210a50a7d3f6569da89912b5e50e824116e73a15536958f75779506d07e67ec9c0cd8de4b51dfbb0fe56926feed18ffbd83b0cdd50d56326c54adf97e629378ae5f0f02fcda3da1aa98cb1d1990946edec711a85a0d8",
-          "padding" : "3031300d060960864801650304020105010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 20,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "a44cd265e1ecea83fc74e9eef746ef173277cc96f69a1798590ddee7ce5b5c34a82ad58a5c042db19005e04eec4159900ea764c0d008c52b94577d1c438661fb767902d9d1bbd6a90bdc4df685ec5951eac81d8b4dd36bceef7b6f919e85b6c994c7cf22a804f15cebe63b77f47b3bc2c2aaa68c6362c27a574b849efafe72e9",
-          "padding" : "3031300d060960864801650304020105000421532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 21,
-          "comment" : "wrong length",
-          "msg" : "54657374",
-          "sig" : "a160aa43f4873cada34bea5ccd2be9dce07940ee1c08eaad524a5019993bc753ce92cccada706b483f106ff20b327b35e7c83955ad3bbff3f26ced3489877d1b5bf285d61afcb30219c02a440da61030e301aadb901a525345d1a651a21c31a62ac9fb71738c3e215a8941ca9a3c4910679c5e774530c28788f6eddd7a31c024",
-          "padding" : "3031300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 22,
-          "comment" : "uint32 overflow in length",
-          "msg" : "54657374",
-          "sig" : "1369c78f816a9baf027e255de0c258125be90f35b8daafee87f2ffef2d465e0694af4401cc5cdc7ca78b08d5688ceefbddc02abc5495d47c6829d696f8370ea427e7e0225eaf22cda720bbb5881edd16b19bbf2ca86654c65b4ad481c13fb38af00d77922f46b311f936c51f4610f6bdb514b366aa05f029c1e63e3cfcf9763d",
-          "padding" : "30850100000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 23,
-          "comment" : "uint32 overflow in length",
-          "msg" : "54657374",
-          "sig" : "41d4c1ea43cb207af8bfc1552e31da7ca5744b68c4e00c3bf55f4edd4c81e91c01f44fa05290dbaa1fdcdcc775f6032a049b4965345c16aac6994b06cda9e0387dbff96cdb115e014f69bb057faca2f618c70a31edd0beaef7acdcc0fb7c83b2f07a8b9de48aa04b7c973920af5b8dc20aac343251ddf4c2277985c3db1dac2f",
-          "padding" : "30363085010000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 24,
-          "comment" : "uint32 overflow in length",
-          "msg" : "54657374",
-          "sig" : "76bae6c330b9ab33aa9f2abe8559c51fb95f953a75e48053ab99078069214b509dd1b5080ac6819e32912619372d71a9ff1a67449dd699e5bc6ec0e18d1893dfb5bd571d933926d05b0d9fd7036ba4556e209369d1c57ec49cd9075e583c257c6fd4899c2a8bbb157547812cc692f264bf54712c71ee090b974d99b4d1629696",
-          "padding" : "303630120685010000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 25,
-          "comment" : "uint32 overflow in length",
-          "msg" : "54657374",
-          "sig" : "3480a5c22f092f259b5bc4fdb9a33c044c24a645b57d61920effde1dc0bbfe53738023f16025841f9323b40f72c11091941bbdfaf7c2fbf77ad6626dbd6a3b7abb3ee916d96a922b11c86ce80ee67dec619bb98e9246d35a33b11b3a4e2a3a130e8b57ed4bcdd4b4e73aec3f9e3d50d3db5e29cffeb186846c72d09468d018ed",
-          "padding" : "303630120609608648016503040201058501000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 26,
-          "comment" : "uint32 overflow in length",
-          "msg" : "54657374",
-          "sig" : "5b3d3a198d4b36c6d9641db181fff59407a25bf1571f85e47bad1eaf138079872b93b9eb51aae09b48d6f4ef56badd96a6584277d8f3c6e4a4e11275f72021b50a1665ddaaa56a2a7caa7da6b4d502c5214e17042811154d411dd2197c250264bb69ba43adf668d4f7b81d932afa55e378214bb19ddeb431f702a91dd11e23bb",
-          "padding" : "3036300d0609608648016503040201050004850100000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 27,
-          "comment" : "uint64 overflow in length",
-          "msg" : "54657374",
-          "sig" : "1cc5577d04e34550e7f3d136064547efa30b9413e2c423b5a320eaaaf11cbebb91e13bbe3874e4650e057a8e38c8a366c473f35e0de82b22f846721a09e3f279ebdf54c8df395a9041333f09cb7bed5291bc1842857c4ce6ad5a1c2c476c1efddd5fe42824c25e0581aa7bb8f621d3b53566637c6266bb1bd0a5b7fb79c72616",
-          "padding" : "3089010000000000000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 28,
-          "comment" : "uint64 overflow in length",
-          "msg" : "54657374",
-          "sig" : "6e56d1746105344b34fb8299d173f4a5032cbce3556ca9d1eee35f8b31818efc121a1a9599c24fef8531243016dd6288d67b4bf9fdbf2c90fba5b1661be03531b5e15385ea465d1376010f0af761e8fb1afff7823dcef8dc100d97c192e9a7d03c82321d83fd8ecf67207c65cf182e1104ec5669536070cf1e3fe73c5e27edeb",
-          "padding" : "303a308901000000000000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 29,
-          "comment" : "uint64 overflow in length",
-          "msg" : "54657374",
-          "sig" : "37a413f9202591b8860cd9d68515ab522ae800e9a71793b479f1fb74ab8c9b07e72fe82dabe1189d028b813610e5e57c055af2d32837551fdb0cd93d7669a3c02a14c460f4c92136a4d11cfb7dcc76401bb5b699fbc64d302736d68c3591ecd59220107cd63f55c83edd38c4568e6f7749c0d9baebfb7c8ae1bf2179101745a9",
-          "padding" : "303a3016068901000000000000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 30,
-          "comment" : "uint64 overflow in length",
-          "msg" : "54657374",
-          "sig" : "9fa8aac224bb50697103d457e7fc870853b23670ee5b8c7395d68ed82b30db18ae34a569abdcdf19238ffca8f5e435327dbe605bdc1a6dd3eaa3c2beb33f00642984a2034bf3b3e8de3ec7009e35069d5b27253c4aadcb4f163148e157252e3b9334abb6cf0299161c12908529f52de9416ec6218af7a6963fcc987c5024ea71",
-          "padding" : "303a3016060960864801650304020105890100000000000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 31,
-          "comment" : "uint64 overflow in length",
-          "msg" : "54657374",
-          "sig" : "0f50bc6b1b94aeb6805dee51c92860693de47c4925ab90b57a46e0485a9afeed45083eade73bee684cd07048e632d1dd24aa2efc42c1f85e4fd7b7058dbeafb53a3d5b1cb1e7dded3352c3c92ded891839263a501afaa78fedfd04546c43d16f7a52b800abc9ab1ef827ae0eb19d9b52def2435f1477a48dff61800b4db830e4",
-          "padding" : "303a300d060960864801650304020105000489010000000000000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 32,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "54657374",
-          "sig" : "9dcc651cc0a1b4d406112c0d1ebd7a9fb5a2c9d9f9cffbeab2d2821e5ed01efa9d191665794649bd1f588b729e8fba1eaa37a5a736a5863973c338a92b2665d6ead13b72a19d2da778febb94b150e8d750340a3b856fca8b3b6e3cbfecb9c397c23f46912ba546ab0f64ed88404ce317f8fb2278b68950e9712d6b11f5cdfcaa",
-          "padding" : "30847fffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 33,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "54657374",
-          "sig" : "0397d14205c2f52423ef69c874294dc2b37d5be5d5647f7e83f1dd6783cb41cce52e6de1dc8c9e93ca1ef887d4c0ea79cd8b26391d638bbd8080bce830bf1bd7fb1de31346f28d609874fafd4a34fb7bee900441f55589ec3c5e190106d8816cadfcfb445834739cafaaa3903ed93cedc41a76aa0ce18fb49a3a73b7b5928735",
-          "padding" : "303530847fffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 34,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "54657374",
-          "sig" : "2c3ffd881c1c0ce2e4c98282d6011179a89b1e84b17072bcbbb64164e5e05410d0414a1fdbbc04564f3d80f3891f28c3f02e92bf97b4339b5bd4699614e236d4223cef0688c44b297eb9c0e22246b4cb28983b102a446dc76671206c3b77af6897f2f445512abda37bc9c37257dd4f1c6f0e6ec40929eb6b0058682b9d2f6c66",
-          "padding" : "3035301106847fffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 35,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "54657374",
-          "sig" : "668bd06eafe953fca6a17b0da0f9006ceadb09ad904786b7530148df7eedc146d20a5472c39677d65e59934c00227fb662b3474596e6072f56d2c00c3d31e66f0da85f4670e75c3f2c910c0fec8c98bc31fb2eceff80350b78aec0d316e9bbb331544d8a3d0b1649291396c717e350bebba3d3c3a0b1d55f010879b8c7b7d4f9",
-          "padding" : "30353011060960864801650304020105847fffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 36,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "54657374",
-          "sig" : "87482257ae1d18d0357428b756ae35a48549536a3439ca3c148eee64f4c096d896219097d55c14a25eb1490779f6b1471aed238cc0d6aaf265c12ac086d04de9b79a37518056dfacc12cb4916c17505fc7e2e6c1e0db720a286ea65bde4d3da1d2dcb8d0276e8ce73f3f923209149955285c602572cfd24c82e8d96d45f569e6",
-          "padding" : "3035300d0609608648016503040201050004847fffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 37,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "54657374",
-          "sig" : "03aadd447f36952dfe73ae89e5c656b7d37ec92535e547cca62a7747f3831f2f613c7dc094f3d5c4c6b9e02b21ed4626930ef3948b42ed41f4cf468d2474acadf1c75599c5619e4872e6d3dfd93abe92234165135ed265e0c0f64fddf23e50c1f9fdcede8778a8ca008ab00f8afa887da3f4699df9f1140953232f36d035b03f",
-          "padding" : "3084ffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 38,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "54657374",
-          "sig" : "31afd9a0d827755352b16de04de42e98a8c72f08919ed475530a00c762b8a03bde22634dd856a7eede4b4947d780cb3efe55775e16d7f46f209dbcb5569b2d9469cc271aa850f74960f7c741928055925349821e32e1e0fe5a040010a39a4b6a343f7f35c204106b3617e528a99dcaea8a93766adcfe7be31cdb98f7f7f14669",
-          "padding" : "30353084ffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 39,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "54657374",
-          "sig" : "16ac0aa2d727ef5fbf0305259ee6fa40827c92419f819673fd64cc2dc2dbfe7ce1cfcf06e26d45f59cb3d9afd30d7a6265863fe856e0a0b1b9508b1e7a2dfb0f87f5ebfc444bbdae504abde7daa33bffb991551940df682c8e2c45edef0563b34d4f11e1955e83c2145ee321165517d1532abd64dc613a280fc30670bba1f898",
-          "padding" : "303530110684ffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 40,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "54657374",
-          "sig" : "0fe0c75dae62462e66e7277b03c9113727419f7d4db7b2a567c0c189fb6328e1f73d5d44e2196b436f4c2f0f12950d419774c8a51c55f9b2217f904c4f03d5f5754174719dfb85f62795ef75e6d54e703bf231fd8472250f529f85294f29f6c5653ef585079c3b3d8f931da80a46c8afeef37696fb0e7986d413bb1996b8ad57",
-          "padding" : "3035301106096086480165030402010584ffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 41,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "54657374",
-          "sig" : "9ef993e6ccf015b0b0de75b51213a1c3efcaf66bf83655287484ef28d984806226a7af1704fa6a7fc02984b44449f83ae24761021e49ba6117505c1e609406b002215de27d696643c3354fb48e6c64e7300944edaeb96e4872275f75532f5aab94358d4954522fc7903439e99223d8124e79a3f519050b6b576b77d5abe7c3e3",
-          "padding" : "3035300d060960864801650304020105000484ffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 42,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "54657374",
-          "sig" : "0fbc20d18ef2dce383ef9640232e44fc287cd97bdb1a18614a77a6d72da5db05df264fff4964b3395445a5b75f4098be8c923ec613efa49e87877c08ce52e9e8b491eaab77ed2336179f1e447bc53e0d9fb9cbd2f2c5e180acdc946df4cdb0a878f27dc010adb1d080330e0bed852181bf97dc4372049ac6ab5802c0d650ffa9",
-          "padding" : "3085ffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 43,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "54657374",
-          "sig" : "3df42c382b86647a466ffc743dc4713259bd7dfdc909939738e59e3d1eb11d104537762c50eb55d4677a005f7f925ffc7ef0751ffe0c4320a6cf0733e738a404b2672f3dd11fa97bf9d84b786a47c63bbc962d52873765a6de3a57590c2cec68118af81d7dac4f7ce6c101811f2fa364a34fe704d674be5a28531d6e8c4fe120",
-          "padding" : "30363085ffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 44,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "54657374",
-          "sig" : "a66d9848a3db7e49d8053c4a3869415c0bb58fd265276c99a66ed1df84e162cfe8f0820229d2ac2f99d9753eed39af46649409cf559ca6edc8c47e550b7a4cf24fac756389e365ad73ddfa67e72d042ec494644c5f277f60864dc90d6cbfdf556396c795192077f51f173477b934871e2a960f7ac3e6e8c8039956a5061bccf2",
-          "padding" : "303630120685ffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 45,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "54657374",
-          "sig" : "7561668d5b2f8fd3190be8244d4d0550043dc0a7e80dfac83eb6f6ddbf448d424082fafc332e473d434b37ce7605352594ce632f4d5de30951581af907fff6c01814022c31a31b3d130673a56b4ef7763bad595053af0174df395b802722f5046e408c978e2b5a9a63f8ea80e932f76513928253f432c8bdc7ee51872d315b7a",
-          "padding" : "3036301206096086480165030402010585ffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 46,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "54657374",
-          "sig" : "5a836168587968425c4e103bae20603e0ae6f714ccdc603a865bb3541b65eee9dd0d9ee21cc66c7a83403fce2413b97f1c1239947e94614f6f2eb731387c8b9d956242bd9fb0545eb2c874ca1a167222034649894b41fd0fa935cf52e583a5e9a4b503cf9f2b238c025bf2e22ed78e7a64bcac1d38302cc2361c71b854e79123",
-          "padding" : "3036300d060960864801650304020105000485ffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 47,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "54657374",
-          "sig" : "97c602416f2131d34f2a57acecf26365a30c12f77e5beac095533848ce227302092c6f44b47f011d6eb0a91f8024d1935d8bb274c42b57875115a94281fd3cb198f9334758d3200c1c721f6babef332c02a89968a7089f7783993bdd54f809f8372437798d2364040c1faabfb00faabf28cd6ae4ffea29ae2c08a6a7e6074700",
-          "padding" : "3088ffffffffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 48,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "54657374",
-          "sig" : "2a970dc291a1dc935cca6985dda703bcc1ece2e40817ce8fa79b6e8fe84e113686e6e65570d46bf22147bcbc389cb5f86f92dc185f556d15e7614cef119fcd7305a31fd2f8710812f35f9f0bd8a1a6e5be3163de644370c67181b7575635dfb9f717f78631d62db714b2a19cea7079ff13c8926ae0c601e4befb6541b02a7e20",
-          "padding" : "30393088ffffffffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 49,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "54657374",
-          "sig" : "6e16d110235cd11e32b114ca9dac0cd6a1b041a6d2c61941d49bb458241281f62a4e2b1bf3cebc3e67e8c062ec67a51a599a553b09732e23e1d09fb2b20be7fd311a7122414d535651718a1421d4239276c227b96506729a09e3ff2779dd1c79de4d402623039b826e2bb4d26d1b56775fce14ed0203a9ebd8f042d981705a77",
-          "padding" : "303930150688ffffffffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 50,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "54657374",
-          "sig" : "0716d252488e08f10a25cec94714e6105bd4e13ff019431190864cb0f4378d315f4bd0fdf186e1f2d45a6e97eb04fb2013273e178ce4f82a0b67bf9d021b1d8ab73d753adf2073ee1ad6190b2163139db63778a3670b7cce23f45efb601bd59644a431cbe534ecdf4c4c58ed02ed03863ee32d296b5736c010305fec655b1a44",
-          "padding" : "3039301506096086480165030402010588ffffffffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 51,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "54657374",
-          "sig" : "03e52a2ed638bfb9184a0ee3698502af3a19bb959a984957de5101e6f7a62cccc2ec2a6293fa9d76fabf3ce7e4bf35c65a5f864bc003686a1e05b57c5af6ad588e05a5225479422d7b78c5bedddaec7f4b8c1e9ab7478c1ee253847324e025434b76a01b82a40123ab31ec9862c6016885dc6cbfe97801503369fd3688bdaaf8",
-          "padding" : "3039300d060960864801650304020105000488ffffffffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
-          "comment" : "incorrect length",
-          "msg" : "54657374",
-          "sig" : "9c4217830da16424a6c80a62e1e1cc0c589e3324267b4498e89af96998f83524b67c703e46860ca55631f1e659096366b60557dbbc8aa8a3a7ff6a887f1afcc55d336458ae25b015061adc391b8a449a7546e48d7e1d783e5684730333b0e2a32c13d36e342e31a9c1c447c0585545e08ce4f6340529413aaba6872280bbd7a7",
-          "padding" : "30ff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
-          "comment" : "incorrect length",
-          "msg" : "54657374",
-          "sig" : "5aa35d19b312de94d0123619500c15ec79fd838f6f18e75e79a11e50d0eca9406ecb38de68e11cf107f80ce2d62573bd1e4062fe78f30cf4bdfe9bb571488887d9dfaa2d6031f3b7efdd0dd78f04d980abfe641f490faee10e86dcc9b729bda0b127b448d33b1e1b76373794c284d1aecb5b813a2defdae3723eafaaf3606eac",
-          "padding" : "303130ff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 54,
-          "comment" : "incorrect length",
-          "msg" : "54657374",
-          "sig" : "971daa114a33b412a3aa1c3a93d5e1cb9810210019fe4e6dd0c70361a99f1a0676563bca2a05915df2ef2e38cab387ea16405d371d1a382ac286f1f97d4fdcf84464413986d54d6e2c7aeb8d5afffdc6de31684ecc7df721957d331bfa588a5f2a65c52f29ba5e4585bc69539e1945f1c4306f8d664d9cedde6684254ac704e0",
-          "padding" : "3031300d06ff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 55,
-          "comment" : "incorrect length",
-          "msg" : "54657374",
-          "sig" : "1f5bf49483eb6f33a5575ec2a8d49388523ee41223210f05e1f9f73bcb5a8973dfaa0093247460885f034e4ed7cd888c63f9f0f74dba7065f00cbfe5d9cc0dc7aebd7893acc3f32d5cc03763b59a0a846554ef58569f153301dd6080d428c8330718e733b92e76367f4eb75213de1495bdb1a5743deb55a77919adb45bb6bc4a",
-          "padding" : "3031300d060960864801650304020105ff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 56,
-          "comment" : "incorrect length",
-          "msg" : "54657374",
-          "sig" : "7bffc77cda9ff6bfbbd5a92fa6d4cf5a9f48a083c37a9437e5d82c0ad9f625aac8917c8df8bb4db5ef879431bacf360399c6607711082d6bfc5264f40631f2a742a3494c039146c3f41c7b53aa754afd35410a0a26c6957dfec86797268861036bacb5dc8fa6ca2893b26a3e4b186d4ae774a3822aa1e99ba4bf6bc3d53b2c99",
-          "padding" : "3031300d0609608648016503040201050004ff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 57,
-          "comment" : "indefinite length without termination",
-          "msg" : "54657374",
-          "sig" : "3e461f3131735907cec3208f19a7ecfaa8f3bedf587d1c586773899f3fed55cf669ba736c9478b93ff058fc063e62433bb0da4d6da8254a00a6b1e1527dba86d89ca412cb952a988009d8874163683e729c7544b9c83e07b77467b4329e04bdee552ab0513f92dcc7376ed59718b645b50bd50661c783d559eaceb12f7bf5d10",
-          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 58,
-          "comment" : "indefinite length without termination",
-          "msg" : "54657374",
-          "sig" : "81312384fb68fc608aa019df2a251d5a77dbff379c99d2804bc5ea766f051a80dcab2f63ec0b60d2b26391b35a83a5b75c7449fb0b32bd28d78f1138dde33b223d141e293bf007c5d028b34cd6055a4ed7aa31881c8514a2a091690405f8a708da65b34730233168dc08cd81733d2717db133f5d54ada593184bd008e5a7f016",
-          "padding" : "30313080060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 59,
-          "comment" : "indefinite length without termination",
-          "msg" : "54657374",
-          "sig" : "1d1150ce975992c50b3cbe98f2373621929c7a90f8dc5a9434a06159fb614acdfbd09851b297505db51aea8132a8f082fe72ea23099aea18494d2a73aaa6b9b6b04ca6d20a88c5dcea917f92c5df7943254fa9c3b1e7eca05a2ae2f796726d9296c880cf0872b8c32082a3a42b9cd099d286b586b0efce95908c8ffd27835572",
-          "padding" : "3031300d068060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 60,
-          "comment" : "indefinite length without termination",
-          "msg" : "54657374",
-          "sig" : "7c64ae50883b449f68f941c9892dc1e1f446bc3a779ce9906bf5f6751dd110162ee03a99d1b556ff380f176263846e76aea5e7078927ec6c076a79c64450f6ce8e7a9faab4040a31c145564107120cb524451e4fec4b1ae3702d0b063c660031b61fb6c2d0cb46d17c5f4605124057d5ce3a0ded2019a14718de1374e0e87124",
-          "padding" : "3031300d060960864801650304020105800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 61,
-          "comment" : "indefinite length without termination",
-          "msg" : "54657374",
-          "sig" : "65e61f63db5ef3a5de4a11aa39e3f4a6d3d952336c19f0fd60255b376d459d318fe4234a3a6c883090617306f98659577f7670054fc4f2d4c82bf7fde24bd1a231c71644d487d65beead86828e48a3e081fa6d4666b86b899ea57c99a67c0ae75947f2a4e5dbce3025421b3213224e29a55faf0cab8d9411b629baabf7c9ba6a",
-          "padding" : "3031300d060960864801650304020105000480532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 62,
-          "comment" : "removing sequence",
-          "msg" : "54657374",
-          "sig" : "5df1c4a701c6fc1f2daf6f4538f29c3452667424c05edcbdaba4a1678c8b5bc0e89656a0e48aef46642e0bb597813688904e9d74cbd377a3d9d2c965bd3ed06f136f10367ea3eecf89a97508389448a31ae0e79ed3725d0c4e99a516daa4116479bc53da5d7c2f26c7ec6310d4cb4174bb781405630a9b1c147b0e1da3a7faf9",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 63,
-          "comment" : "removing sequence",
-          "msg" : "54657374",
-          "sig" : "3e43837b92ebe4df08586fced3dce46aeb2fdb6ec2bd0c58e823f6e6363b9b676786929d13ede60a8d8d0daaf71f0de8880ed0fdac8706eb2f324394145818b641d1049cc7552bc6273d86e901099c78297381faec5c518fb6de429700f3bbfef76cdecbb60088b9f2a77d75b8ff86f06cf23850e3183a267c0ea34f4f839015",
-          "padding" : "30220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 64,
-          "comment" : "appending 0's to sequence",
-          "msg" : "54657374",
-          "sig" : "26d20fecdcf0b7d6a0472754aecbe115c39d580ce9d78b67d1a6395aa6ce6689bf6d0d96545341fbf04956a48c47f7d30bda017acb1d8e24ce596aacd3e05b1afa571d19f5316142557f765e4c5d080bc5336b79e2c02d8833d076ac9d7794ffbe85c66d0db97e1f5bd2ecb46afb15c19a8fe083fa593420e996a483c2a3a766",
-          "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 65,
-          "comment" : "appending 0's to sequence",
-          "msg" : "54657374",
-          "sig" : "1163082ba8d48352df7eab96a0067539faff24374a630aa4393461a0aac716606625d706699dfc22cf3aff89fcc278f83a0adac87aa0bf192dd86a97031515de1933a23849478ebed20e4203abfb47345bc18f38da5d45e829997b10107c536999b2ce10b2781e1db03e10cc2bdbc2e0ff4c3db5d271ce83c1e7e267e7c1e107",
-          "padding" : "3033300f0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 66,
-          "comment" : "prepending 0's to sequence",
-          "msg" : "54657374",
-          "sig" : "0ded592bef1fa809841e0d7365e66af12f4239be0928656e7c49a043b9f2b18b9bd2dfe93a810c6e6c8ae6cb8a5c9d6e9d39a96a10b3bbdb92a7b8f575c2db4841c1b628160f956f54e0c58d3b6fd4d640b0a06d39476daba7be04b63a75f38bbf7517d9751d2b12d2dc00e44de7263275dce6b0c0af65d3c04878d6fc1be2ac",
-          "padding" : "30330000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 67,
-          "comment" : "prepending 0's to sequence",
-          "msg" : "54657374",
-          "sig" : "95a42e5d9bd9ad5a8579444e8167bdecec16116a7900117b298c82d5560f1d16e9fbe963764727fef9111f2465e66177b576bdb8c70a58e3df6ff69edd2d6827c97d626b09c24cc49f223cd5d2db2916c54fd8f2ac7301723449b1823f2ff48c56849f7d608312d4bb7a97f90ba218f99cb773fba0a34909618f5d25854d7687",
-          "padding" : "3033300f0000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 68,
-          "comment" : "appending unused 0's",
-          "msg" : "54657374",
-          "sig" : "2344c598a8905b350f20de5cf0cee60253729a54be45b0b19acc109ac15862efab2e7c96e92bc990ed6959a40d725c24c25c8d223a46f490905c1448d8dbf7c9c427bc2e896bdce6d2c1daabdc93ce177f9525ac69d899bded12443338834a16d885456057461740c5140cb9a89a017851f9e99e38c1727fe5ccad9a7a8709d6",
-          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 69,
-          "comment" : "appending unused 0's",
-          "msg" : "54657374",
-          "sig" : "a08cbe4009080f73cef03116ea949d1dbacce7025f7f61040fb4e052754d5b2d74c2dd06c0dfe1d09b97aa5739c809bec6d8cb27e852e9fef353bfa32964b99495a6dc63d6ce77460ac280c74c0cabdef794f74930f7f8827af1c6690d22ec2df3af497837bbe900a890e3feeaca2c0d16b0017155390ff0396a35ecb62b5992",
-          "padding" : "3033300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 70,
-          "comment" : "appending unused 0's",
-          "msg" : "54657374",
-          "sig" : "500df36bd7d0b56642e2d5dab6e4ec0b148e7b8673cfab40e45c5dad5efc469b3321ce027a3a7ff5689366a18a32267d161a1266491b055f11557c35bd0d4f43df11b8a26f7b13c54be423b87b30b1dca956151c3ec3df03b30918a413179b0e064bf434736b323408e3f1330743c8bdbbb9d466dc1e21710c12e2e3b638b172",
-          "padding" : "3033300f0609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 71,
-          "comment" : "appending null value",
-          "msg" : "54657374",
-          "sig" : "11a382fe570e0cfeb515955b70ec89a9353cda0c5a5d3cfa3e16e41340eccaa18ba21ad87c4a54a7131c4a7cf9afed68b1c1645568bab9b0fe7dfe0437abbe1fb6cf06bb690f46aa2eca034093ded661c38954341f3f35abe484015150307ecafd06d4309836771dfe29bfe56350d68725e0cd02b1479c6f99eeba2d59f40626",
-          "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 72,
-          "comment" : "appending null value",
-          "msg" : "54657374",
-          "sig" : "110f3f188df46da58cdd46b5d460ba3d2f8d00d907289634d52a3ce693eb232cd6db738c48c8aa22d923d4f81d55925b3d4ff29ad9869f97a244d37b860cbd4646c6318c041729a7aaf473b61a93cccd62fe223d1be00364f03d722f43c7beff98c3fde573e7e6a0ce7d4a2a4bcf279765e29769bd4f884ce41fb808ac3d541a",
-          "padding" : "3033300f0609608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 73,
-          "comment" : "appending null value",
-          "msg" : "54657374",
-          "sig" : "470416ee76f0bbdbd2812b533813e4463b799f4036e6955f3e174f6287e3c73d57c32875607e2eaf06d612cc85170ba5df31286edb645ae9ceb9e62064050f3e7f6b36fe8fdae7a3bd89b6acc523c923b9d3f3e5f57d80c9100b39dde75caf46adcae56668149ce0b80762bc459ac598241dd79c6b4fe0220ad53e3c591243fe",
-          "padding" : "3033300f060b608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 74,
-          "comment" : "appending null value",
-          "msg" : "54657374",
-          "sig" : "100714ee0d38c541c2632e96885a7ce0afcb22f0cbd84c556f19d1b44bce75a8fdf141e975dda1812b4465050d4615a51c3b9816606c7ac88d6b684df938e7a8852835dcf5bf0ee45f2e413290691832095af77eef0e7a86f72167dbb03758e68561f7f06afc6e902ba19fad57e00cb43c0fb2a5ead689a146c79c9e6188bd85",
-          "padding" : "3033300f0609608648016503040201050205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 75,
-          "comment" : "appending null value",
-          "msg" : "54657374",
-          "sig" : "44eaf5ded57ac5c25c17eb31c2e071400b46b9022641347b2edb0b14efbd4eac5f71e4bfbe791e164c003667387e57ae22c6b00e69971d7245e381f6459e5f88d9dc0fdb385b777fe99e5e4d79aec057e41a1e457fe2b91a5f4a8878d2eaa1c3ad8393d281eca07ebd287364a19045029fa7ed0e62a21e5e42a88a52ea4abc8b",
-          "padding" : "3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 76,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "3b8b17b4c7b66b2fa3be8eb404e32b6fc0b9e56bbe678bddc8f7ef7c042c12ae5290b9c4201b35d10e409f3b7eb7760f5dee7fef09c30ea858b78bc9637dab245b8f83ee83c75a7aa3d5234b0b6dcdec385f8cd305dfef92aa83cc0ecde8f20f08af78b600c1f802695c243502397dd161b6151a72ac20596a7d7efd8e321298",
-          "padding" : "30364981773031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 77,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "762d30b302cd76b021e237f28017e48488ff3bb30ff9e92db5b1e76eec2ee91c9af03e1c5038afc22591b1cd8cfae648a33ab77901f9f3736e50eea83f7c7a4546dc55c0265fb17dfdd30250fa3881e34e51b4f2e54554ad098eee952ec888e911a0ea5df42c0560bcb4bdd718c88d834b534917e555c38fd1ec3593b2f25b39",
-          "padding" : "303525003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 78,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "8cbf9d425abef67ff0a7fb648e70b82b1556ac80e46dcff37145b9041bee2bbbfa56817e04994c9cf1123c6df2aeeb1637595eb1e20adef51d657943fd67826ac5d5dfba106ae9cd243f12746917a446ce955034b46ceb0f4d542b7bcd06ad3e6e10899d5338e6d8caf3d4de3cbf45d45a58d946a64d0bc13e97a4ab4e6b6016",
-          "padding" : "30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 79,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "2f4944e5191dde165950a381eee6cce3fd40214e6a9851919f5441b4efb7ae5724db46e92a747937c3c8f9329facb7a71ad5f380e44dad0436cd05fc312bf3cbf05c4873ab2125d605848cf97ef976f7ba8ab6949bdac5152bf1a66945caeddbd89346965a33a8fe0a0ba63b59beb05a44b6d84e1fd93506edcc48da12d488a6",
-          "padding" : "30363012498177300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 80,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "975d07b7295268a8662aedbd2b65b5eb10bb496077f41b90d12d34ebc7e492f0c7f3a41d4164a279f06ea616f91968628be4ceecd4a554477bc76cc6b2e6bda4042dc253327c4b8fc40e9242cbc8b835114a7379a3081bae4b2803a99deb4a540f8c149ca5db3a61c7bc9f61cd7e55521660a06603849896c791a18d1c7360e1",
-          "padding" : "303530112500300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "37352cd11eb5ff7380bfb7c0d3e8d9979ae7cb489a71c31a077d59496547b0c95a760387ed50eefde0b762222f05a6033740f6e010693edf3ef8ab5f9c57f4eb1f6ccd83287dcc2e90857defe5ba4109bf79ad84ab069c85a25758d22536c6882919245fa2d7e7921b3635d984deeb6555cabdfc46a42c75875d55924c8bac62",
-          "padding" : "3039300f300d060960864801650304020105000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "05df1fa9290a68415b86468a57394c052f00abdd6c65eb4fbbd834cc117cee4bba99764906fdc46e78bd9d554d15cf0284a64dd0c19877115c425a1ba70c1a4339a54ba7fd60ec809b9b789dc06997c2f25e890d8bdb1bc945c0daa8c61feab5bca471bd520126b6db3d6077f55428e0e7374da961dc5cba5397604303eec6d5",
-          "padding" : "30363012260e498177060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "1fb1960934683292a4c92cf3d582cd5fe68888a5b0f6c2e64538289da7f96a9efcc36bdbf1fdc0cc0b3b36c6af608309de58c6151112f3a78599ade4a718b359547a4cac9a020e5e7e7117d1bfeb3ec21bfe9732825e624b27ddf8a946eb858b30461706f769a54b0478e0753388951d98129383590186b80836608f7e06c72f",
-          "padding" : "30353011260d2500060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "7e4f953b288c20fd5bec56a00745db9be03590efcb637e2ce2119a0a1846e9f38c0ebc5f2498ebde6217d81c9939b6d6a6f35ba54ee50d6313d3f2579751e7ae8d31ef4b0e99ca2e96c80459a7e5ff51f6f31e9c965be19097de13017c90037aa482d197c986f50bf2d5e1acb3f3024605e46d963410a4a623c898d0d773a78e",
-          "padding" : "30393015260b06096086480165030402010004deadbeef05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "53b8fdeb2d8aee9796a56afe4934221610ad028ae6f9478c90d4e865f3f78b3d27b383f87086d50fc4d96c5004d8a22a0c5d32afad45fd68fcc3e9115bdfddab605c81f31d0a8ccffcfd5fdbfa0f0a4386649198b11c10f33ec5bd73c713a6af706e617a3a1e967f6ac025e7f283e49bb9ea1fe3a4f27d9f6caaf1bf4981ba06",
-          "padding" : "303630120609608648016503040201250549817705000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "90a5d10e2e19f7e016d5126a3d3eb91432611ebfd411b07a4be15aa48c39df33f3a2855f1e150ad34c7f83973bd73eca6575dcbac4086aa0a38db3d6e6ee2e9f419768493fb4829f1f6d67f80359f82d95483d6057de17fd388ae46687c429dea4d9f7a286c95fb1b9df0f1ba40a4263307789952b1bd07cdcb3b5cef10d9d2e",
-          "padding" : "3035301106096086480165030402012504250005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "a88d38e8c765b7e439f42294e71c1689a318ed5414efdf474196989829d4989fce8910798f4d7873fb43d3a501fa15c8019813104e4699597246db66f96c838e45aa3596a1d26cbe9f6ee91c077422953b402f7e11f8768a2f132295bff79a0d10ab843cbcf2c921113992336638f4052446f52815328ba4946510a6b701d448",
-          "padding" : "303930150609608648016503040201250205000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "a34e59121976568352ea031232f6da386623a1c6866e36d6c6c07168de977faf6e008f14fe22a27d42664925f756f4b57f5258ceaa8197c3c172068dabf3c6cd46b3cf0262931bea731249781f28361c25cba9b64f678c0b2692056469624d0204bf2bf9c4e87407372838926e6b34e68cfb31e2870bfb5b0fdfa2ec1e177149",
-          "padding" : "3036300d0609608648016503040201050024254981770420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "7f642b5702c331dd76b7ff66578a2c0547d91c556b7b9751443d911729fb5ce8426515ba068e2839cfdc956eb813c25d65a2d5213b59302c0ed5e6fb95c49002edb1605f8f622912fdc309d92e6e3f188ba19e991fab0a7018ae4f6e70927d91cffec51b2dcc8113908faa1173ec9ed72350aa93a8cadef8bfa7305bae22bdf9",
-          "padding" : "3035300d06096086480165030402010500242425000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
-          "comment" : "including garbage",
-          "msg" : "54657374",
-          "sig" : "0abb75f2fac084da0b99bc823c021c4872e23302a6a25e400b6f25d60f7c903899a69dc548676106b44f37c1e6d2604eb995a16880a2a8e2cc9e0ccb2b984ae482036f69a6ad31a2b5836e73e0d30c3e10f8b93c7587d7c0f2371183edc3b8cd0fd7bc325b1cf75e1079f8d6df53fe495722cc1ce707cca49bc6f4ed2ca6c4f9",
-          "padding" : "3039300d0609608648016503040201050024220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 91,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "9f2234b108a45abaed850e19d2f9576f59bb83dbc6165da61c4798638f9c98587c7eb92a8c901dc4430e4a47dc05681ae811ffcad6f7a604c43551cd0f5d123549435d622f7efec578301efd49dc6b139abbc3c7d6a26858f6d18f09b863a145d6483c9efc6c322fec1341b6362dc1d752c714efcdfb09097a0ce6df7dbe88a9",
-          "padding" : "3039aa00bb00cd003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 92,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "24ba137a293599ab7e50a0a4f8c7a5cd02dda6a4568c93f84d00ff47296564563c9051b334db2fd2c081b23d322d4870a61b2435d651d7efb4e1b0920e759f7fd81a937bbc85ff43dbe2b702dec3acf4db68d5fd7b8a2f6d32cc49a7300dd659623b391927a2442d69c6c3c29e59eb80b1d0a95bec6d18a6223cf4357eb7cc96",
-          "padding" : "3037aa02aabb3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "04023dd35fa479f8156794d02935f8669c023c774b95c5a0e02837e32ccaf7a4ba5195835a15de6a21796eb96bdaed868f9e8b7f0a5a21c1a3058f53aadb62d6ee74cd70b2c38f17e42a1f7ffd88955731b4e15368211ad53f617aacbb54a7e7078740ba6daaca81c1b321b748ea1d13f7aece490226636ecac41bdc275175d6",
-          "padding" : "30393015aa00bb00cd00300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "253bed76e4b8465ebfffd1b7214ce586294d3bea290517ca2bfc417ba9d8e72d286570c348dc6084fd379c2bf4dae424189964639533e17c409ae18e445210ed4dc98de4ad7336554740d1532d5010a1bd7ebbc33ba48a3365d50669e4f4522d0e5ff7a3bdb1c42c42dee647a8a3ce16633eb33bbc0a869e12cf99f9481dcf85",
-          "padding" : "30373013aa02aabb300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 95,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "0775598491297eb9004eed66234ded82e047ea2f06837425e6bd27f33b1373667f3ff4961d60f85edede88ec2bba2680151da3763f0df9785b31771da7e643862ff9ba944ab54bb1356ee113e420002a873f1eb381660f3eb84b1d6b25ccb8b82ad12ad0a449c4de205144873329e80ae8a84d1d3c1660b3303cbef28b48a553",
-          "padding" : "303930152611aa00bb00cd00060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 96,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "a73df043d06ae53a37773016a4e21d3f1093c50e079b189c4bd7db3e2e9875b14e5374cb8e7394a9f1b45c7e4e9dd516198bf5055b30ea4d205f39fddaab3da0cec63524bdae2ae166a3874c59057d93855d6e6314fc5da8111ff58666a73c00a105311859f27d2fb92f507531b9d681e219861e4f0b2b979c185af2690eb4f7",
-          "padding" : "30373013260faa02aabb060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 97,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "17e5a889b8139593e192f7af684c918f2751f157214863f88984ff3d8c9e381d1bee5ee788fc82869f4c3d8483e3c17c873a850a7a5c85e4518cbd8531b331a308a0368a868bb7995ce0f8a7ac5ba53b88c31c958dfabb36ed461472505b598418185b864f381342c29dc80e55ca7c2095e7788e7e8d385d61de605f74e431b9",
-          "padding" : "3039301506096086480165030402012508aa00bb00cd0005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 98,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "a659f7c44e4589e9f6658b0b57e82e65d5ee9fbe2376894f558a7ca4b6e3c5032f953d1dccfb9b76bbc53dd5d1a52cfc092c6ca279b37c0a43c99ec0553d7ef4d9bf9361a1c4a3fb7496aa58c0af518312e18819fffdafd1a230a38440a6fbb0e69babaa977b8b5fe08ed7c6d59c0391ccd80b42a0c0102264b0ed6af8524e9e",
-          "padding" : "3037301306096086480165030402012506aa02aabb05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 99,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "83fd4599a47bc0852ee1a12b2d97fceae6d8442fd089df1d21ecc252a410982410bbd2cc6bbca219502c2934ac593a09beefdeb54b0692b3e5724b79b0f5c53541b62b0c4bf80a658af71d5964fc6a1fd7823370d00e24dcead4bdc86bcd883fe3f48dc7f8468ce99b7580306007021b68b48ace274e3c09a1b5e21fc7542ef0",
-          "padding" : "3039300d060960864801650304020105002428aa00bb00cd000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 100,
-          "comment" : "including undefined tags",
-          "msg" : "54657374",
-          "sig" : "4bab6fc6948143f8ec7c8ad86a0c5cda5bd8151c24ca7916857778729c882581603363fde0ae2a28b6f8f2c8ce8d5f6b6e731bf8ef735bd31318069544295b54b04ff2abd1e11900373931164586d7c830bae704f7314eebf1d32b3a171274ed456e335d2a0b998ac441053ef096a037bfa6e5cdf3835c45ede383f0ee8feeec",
-          "padding" : "3037300d060960864801650304020105002426aa02aabb0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 101,
-          "comment" : "using composition with indefinite length",
-          "msg" : "54657374",
-          "sig" : "2d9940c172e83a1ce38ce52741e694c7b62c77a63c0523ef68ffde402b0cdf7102afa7005a731d399757b69d313c2970a61f785c12fe79aad5398a956a2c004faec802691b00246cb759b0db432739febfef9abece7bd95e6ad980eb9d8b53886f739035b71fecd5e5ef0f0c0990a9f8fc0aa5d18089471dbd53488c23630415",
-          "padding" : "30803031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 102,
-          "comment" : "using composition with indefinite length",
-          "msg" : "54657374",
-          "sig" : "69fd1dfca1b436593840f946e6113a79018c6cbc4e2b4562b12d06c03c7cfc1e724841ec59aeb0371c67a76a089a3f83f837255719bd648bc0888339c54223c25a238e717d1a90691fcf9690a3fef132f034cc03926ba8ae21dbb68467669cd19837907ca58237b6619be08a92ccf8e5756e3caec34a3c2a4622d7154a72256f",
-          "padding" : "30353080300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 103,
-          "comment" : "using composition with indefinite length",
-          "msg" : "54657374",
-          "sig" : "58c64866f9c1b6cd94c33fd708375ee8462f89efb1c72322174a1c5ed9117885bfa4a02ef0acc16d6a078800b84e9fbdb7f8f4f232091326811e71639fc1321b31c15c9fccb68f77c79b2e39b817478539636966c0adb23407401a4c68e6cf5589104a5557650ac389e4fb2a64191014c4e8f9af48f8a28f555d5cc32d7a87aa",
-          "padding" : "3035301126800609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 104,
-          "comment" : "using composition with indefinite length",
-          "msg" : "54657374",
-          "sig" : "0ba4e7900332ef20ad600bd4b8c0bab55c1030138c6131c1cf14a45fa98e10ea297ff6c2b8de3d92bcab6f1d303f4f8168848b2fee58ca40fb1f1c7eeb808c212b413f6f302d2e3904c2be2fa77fac21d04352a0abb07aae028e54d9e08ce37a6c210ae47095890d668cc1c296c9db1b5ddec30b722790260dc26c85e35f6692",
-          "padding" : "3035301106096086480165030402012580050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 105,
-          "comment" : "using composition with indefinite length",
-          "msg" : "54657374",
-          "sig" : "6f7b739d7e604a1123a232be4d0909a890eb3ad115f822b91592563a55fa59711f7ad17d1370abd4a6af6dac7ba08b6ae111291b0c8fd0626bc068022a8eff5ea5b797cc7fd35a81130a9394f051d2bb6bdf6190c11b964dbe2e4021a71ee8b405d0baf91ad5897d9ce22c8c1dd0e7dfee0e6abd979f5a1cd9443116c212b806",
-          "padding" : "3035300d0609608648016503040201050024800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 106,
-          "comment" : "using composition with wrong tag",
-          "msg" : "54657374",
-          "sig" : "53e00d738939553ca6f742ccc3671c88fd2319dc438d046f06011e088b57df8703813a53fa9c68a8b2de333445fb739726ac2b6ce3b2800e3082f48b823a06d0b2a83fc4c0b2e6a40fc2d86b73030e974f101dc6fd6a24abcc6cb347eeed08a4c8086d1fc5fd68b0b36fce0c79e5187c38c8a4cd35973b1755643aa28496fbd4",
-          "padding" : "30803131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 107,
-          "comment" : "using composition with wrong tag",
-          "msg" : "54657374",
-          "sig" : "9382e341df276efda17aaa4410801a3ba0e4ccd5f0b61cde2416c7a8345cab1bb1fcc4a4a1d7c4a03a9d9ef68c83f2b3e08fc5893324159cd3dbae159bab67b109e55db550b540aa6142531528281732f63235785e145ea0defac4e67e825b30fbe9ff19687436d600ca412053e2430a1d1b637d4db255f1616713f3a2ad135b",
-          "padding" : "30353080310d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 108,
-          "comment" : "using composition with wrong tag",
-          "msg" : "54657374",
-          "sig" : "01ed4d8d4a342729f18182bc4f7645ca0a5216b57d4d26b874832983d19741673aa7c0e01705ada27ab779b9b84f431e83c621a2dd7ae5f501ec369273d297144b76477f4408bca5ef6a59053c1ffde80bc228f99dcaaffb4c520c507b3a941399042f0c535015d86b2b5a95696b71ed61ff2bb585442b85fa2477268b71f77e",
-          "padding" : "3035301126800709608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 109,
-          "comment" : "using composition with wrong tag",
-          "msg" : "54657374",
-          "sig" : "21782ca777e07848b600c37bb0a881707e580fe822d5dbb78f4809251a5cd74cb6f3636194cec8bab9040339da6531c730060ff5ac39ac9ad56a2371fe21e02ce08da18778d2256276c47ef0261d9c453360fbc4a2cc1dc7a8965ac2ccc17b460b0fe359ae4fa53f75efc68e96762cff5d98be46fbeacce2edf1d1bf5e158653",
-          "padding" : "3035301106096086480165030402012580040000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 110,
-          "comment" : "using composition with wrong tag",
-          "msg" : "54657374",
-          "sig" : "1eb6de862a77d435e62635b620be37fc8be499500c19b4d87b3f993b9710f55476d3f3ac27d5ab2c1ec36dded088bc50ba5c0540934fdbb5ed3309babd766726ae833aec211a526caa82bf08f1704b66128f24c912c8c3719170090fe1a2738b0da32f91d35546a9a499618428d368b326203aeafce635668d3d5fde15762d84",
-          "padding" : "3035300d0609608648016503040201050024800520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 111,
-          "comment" : "Replacing sequence with NULL",
-          "msg" : "54657374",
-          "sig" : "1803d41a0c822fda4ac7757702f93d48c6f6c2dc853e706fbc95f3fd4abcd376d0682907da9eff695ae52001d34bd241030899ffc8e2b9316a63500675be891eb560fab23fbc855ccf13a76785b6618f4a99406e367cf76ad9da4d59dc8378eeb1144ec3738aaee1c81c3e6862526b9f00829f1ff849eb7191b709fad6e944e9",
-          "padding" : "0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 112,
-          "comment" : "Replacing sequence with NULL",
-          "msg" : "54657374",
-          "sig" : "3e33872aaf9b4484c80bdab42c7f14f2d0efc8c54bc2a0353cd2227638b9e1ce4ed63b9e89e2848f35f6de307d66eae9fab775f3a8883cfba5c8b71d86a213b284043027433cdae708b0714523ff2f5074f1ff89cb0635ee4f34eed7aef7d798c2e19be4594438325f5af4e9a7f575230681c925da54c74ebcd438e3c1e0fcd4",
-          "padding" : "302405000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 113,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "5770bbbb883f93f7c29bdab32e496f2e9063110fe648705fd0b1dc927052fc9ace9b36d898d19cd4f862b777b7c790d767b8313f735ff567c34cfb31f29644540645beea182cabdf789ff9ac3f68cc20444af0b9d4ec0bc8992945063fdb733cccef7590a10bdf491bc21c38f25ff65a581b40343e30529c3dbb71f62189ba3f",
-          "padding" : "2e31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 114,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "15bfb4fc46316e5445357e1e8aad401573dbd72f4ed10210fb0e6343c88d61e5e1ec52e940a123f29bae98210793ba6d9e09329a00a85565b573957d14ec6ef37999ceefa994c870f010bf4a63cb04af09c87f7810e3289014f50a5c051a3fe5294ed186c1bc8e1de9b663863619e3972d9bc0460438b56f63aec3315c10f904",
-          "padding" : "2f31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 115,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "65619cb9c793501f05673b24e7d9385c8b9f02fdbe3bb2e688c266068fcf2508a141797db8dc2ddd6b3ab649654a5d806d05f8508026c4f17bcb0a923b117965419171b86098589128563699fd8123f966f746518067d62c8d9ebbbfdc969671b198335cf51fa4b2919c03e66f1042346893c34829c774ed8dd9f31abc7ae2cd",
-          "padding" : "3131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 116,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "359dfbf40d3c2383f58bef1d518abe9852ca80d797393e4e1a9380ef08aa851d585213e8897c6f701ab680b0f63ccf5ea4216331918ca9a984fb6ba549f4bd066ec1fc4f1ed053fa5658b01df674a21322ba7e21fba6cbb3a8eb5565fb7bc269f99c65981efa650dde613ccd6d3927cdae45922d94dcf7ca5188bf5acf84035f",
-          "padding" : "3231300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 117,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "24a61067121e9b4363b816b7c5750584c23f3c3200ca929fdedbe95d7504c56ea7dffd762074e44e96e22147943f2b704003967270b2be1bd1baadc3861c4cae91bd41530c67220349db4481d324d9927d52fe85618ddab2598996c5813f3299e1afb020b24003fa94f94a0c6c02b3183295e0de79eda021dccc5539cd7874ce",
-          "padding" : "ff31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 118,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "11b8d1dc2fa2afbc32f048d7454ba032b432a2ecd438506aa72c697a5c118e9e231a0c6b6340b5564402b7e837c59dd36f726fd626621b8f543964198484087eded70e7bb1dd63df2cea33198b9d02dd28e3b8bd006ba991a8b3bf06ac928bef45cba2362f2e11a5fbfb0310e84e8b7ba1e17c315adc1f34519134c36689619d",
-          "padding" : "30312e0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 119,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "6299afeee512d61202fbcf1f37a2bf6003d6d37e71dbbcfe14f8c3079c552d75fddb55ffbbf13b548a60c722c5ff816c09c6e5f14ba4b3c4d1ab31c9b66bb0666b5e5dc9e36eb70bf403251e2526955f6025c8bac3502f887ad1e5afae6f252209d09a1e1697431f571a95313e6058e55bbb555c75d34e608db2ad50819cd865",
-          "padding" : "30312f0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 120,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "6e23ce9405034595a7f7a77f66431d18fb770bbf009f6980f1516df788d3631f9d8de65313d6b23007d62f86cce97df492bcf4727db160a862eeb8900b43333553e1c33b1768eedfbbda7aacc8dc9863e7a4347b3d37e00619468d7a0b5a7385c42bf0edb3dc24588ec261c739a181c42beef46ffdb4317afd7e87cb6250a246",
-          "padding" : "3031310d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 121,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "8748f029d5294dc917cf4fb347e0046f903c088fd976ca97b1322738549df7c56cd67349d66596338fe418b29de9e8af8872fcdbb55e1a6f74e9965fe7a365b846b667d0ae50df23083be73cceb59db545a3e1a560f6ce0e9eaee57b5f95b8487a3987c00f364d0f148ead6d7e6a37b05456b913b7a79c0547b80da2a2893881",
-          "padding" : "3031320d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 122,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "2bfc087003f3b98f0c8c5273de34f5e4d5047e909cd80e222072f6a7926ced5ae169131342640f2be11bde2f7565c3c63d0335614dd278915514de8421f4521f0138109a5c9778f86647b8a42815b6b861f173f5a6df893873f99c5e62bc3c086150e3b7d7abb943ecbe5806068abc433e9052d9bdfa19a58d19da463dbf3b23",
-          "padding" : "3031ff0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 123,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "0fe03eea6c50ab664bebc7d64346762aa29b08b61f2877973cd543c9533c9d0451db8d836eb46e8d64283306efd7ef6387cdc3c794f7474f2e7d51b9df078095adc85fb810cae52434c9cee5048fbff72610778397fd83204f44bb87f7637373d111dd16e18287bd9ffe816683bc3663f586082fe0811ff6a06c0264b67f7716",
-          "padding" : "3031300d040960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 124,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "9eb8ca45243e6cfaba1209dd8bf9568ca23075a170363db359cece419b732f62796210ee7522ed71490ca66b452f9eab5bc1e2f00b81861909f003d3b0f2e03513b3db51ebcf19e6fc679d686a559f216c761352ddcd84d05b62c96bbfad63209d97205866296c66c01cf273b9657c64a3f8088d3be7be7cf93e176a76921230",
-          "padding" : "3031300d050960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 125,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "313d3aab5559becd0d917c83b5a0e34a7bbc3482018dc624564370202f3a71f687f056d3032b11f32278bc650d9a25d4b73be42e44b68298554d4c9399fbb4fc919f63f1649496775912f99c6b57eca8dbbec359f0a3dee046f3d54c31eac523eff73bead2a9a4f20bcf74e8d48776801d429a11bee061588d291efe0fd6e746",
-          "padding" : "3031300d070960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 126,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "748b9e64195314003ca31f726bb3d3294abd8eb376365acc5b1cd36934bbe1a9bae99ceb7c1a40c910bca6007ced7961ecc9ac74c7a6424cc87b6b9610320ab9c5b527d986c6e8ed21e677bbe2ee7752e2dbcfceecc2dd6da3f6c6b9c81435e9e060dcd67ba834729761dfc9570b79bb1b8ead7bc1325c2233e445eeed12dcad",
-          "padding" : "3031300d080960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 127,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "7379bc96dd40d37a7f8e58f87c10fb94f250a964a55b2abead479b368e60e442e6eb864952308eb45eef1d318b6a5ffce634fcb886dbfa062060b9809cf89a09a26fd334ca22a1917fd219900ec0c68164c308cb9cbca3fb2b89ed8637c5540f7a5886ab1e52c503e20edd6316e41c746e53917e107ef5308590800ad378ac97",
-          "padding" : "3031300dff0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 128,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "4a2478918565be6b46fe61e5f66cd1befb7a3026b5a1502e9a42636b0b924a02e85d7ffdfd8671b1d6d3e604e3ac6a5302db4e0ae0975d0661efa018d6ba0c632a6381368dcb75926542c74823a8c6d8732619764d5a61062fb3b17ae243bd691c97c8f9821af9526abcb522ec8e9dca32de1989e576e336af9dddc3e766541b",
-          "padding" : "3031300d060960864801650304020103000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "0f6972e592edfcc3d7df9366f8f20682f95003970d9fc5932715bbfbea6a7a3bcb311f270e7228f0ba6e94c44699c95ee4c55daf55e59ea65d136b61f0eb64487e72a4649802e25dcf463b79cdafd854b35ffc2e100b08d3e24bb131fa46440d49e4f6ec9f8bff61ee652755b9207a5661fbad44fcc511db385712da10908dff",
-          "padding" : "3031300d060960864801650304020104000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "61a002789a9eb5a71a1bfba260059cd75da7405336563b0910a75b9d56a89bed595f0f493973bfb3ec62b1a218abf9a3b1fc7bd18fbb04204b232f4c632f641364f0c65a6ca73b75225547714e60a854797195e46edc05a746e8d84f64b2151aae5880c2f33a8e7a68bd7e334325f68a87b65f553513d1f9e77904f6ab1cb2d3",
-          "padding" : "3031300d060960864801650304020106000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "5ec392c91cc165ae59013337e7f7d5f2f9b3a6d45b6f6beee6dbf93e7b9607900f4672555a57de6e9e1aee1fc9b7adfc0dc00e122e84b0233c0d615dd0d79764fdc9d1b0e541f2de0083ab479f313a07f55f51390d1c2274858b219b1ec0601b82a2f7648ae95ec17099067a173e3e83959b6c06f149af0e4610761aab5be1a5",
-          "padding" : "3031300d060960864801650304020107000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "6173aef07a7057c3e97f6b7d4d7266918876f9fad86000b4c8ec7f83ee491563115b0cb5d580df8c97feb0d95866eabb79147926f5395c5189554749f4a2c75c0d96325971635be029062e1f27536c5041bb42f42e1fa10e21bb8e9a2e2502f2a7299dfe3bd8720ecb8a57238056ab0eb546de8dc0e56b317c73ab1e19772596",
-          "padding" : "3031300d0609608648016503040201ff000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "3b80c72f3b7ada8b38b30527bca41180b4a89b066f44a17b9df5963dca46517d9160326afee7a34b650b9e7746e764958ce6a0a6268481a8df40e0a95a81ab0f0bd20c050becfc0c4b03ebda19749a4a1dd3ce925fafd9a4006a835eedf221a6ceab6aac6bc74f743fe171ef8c01935f8901e1ec9ff6e33ae8311851fa14a65e",
-          "padding" : "3031300d060960864801650304020105000220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 134,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "8c4cb8e7fc5c5cde3f1d9bc79ec679ad6ebce8c63c7488b137e8b77641ada2c4de35f87b97a17f2a7b96e58dda634e725efbd9a60b45477eea53bac9ba6305e209ee153505517f598f5e9e1ae79395dc87a1a86da144eaed76ed86454cce2278d20ff4ec88b8383702032637dabf00a613be8edc95601007108eccd910d6eff3",
-          "padding" : "3031300d060960864801650304020105000320532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 135,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "8fba298e33e6d9f1a107036deceaaa094e5d4cb8d9dfad3ba46cbebd672a7c407c00ec44b0030cf8b4bd296b3daffc4fd220ac1b1b0c0827484f965cc3dbadd6cb313544db3260fff9311ea335cb3e004764860ef2cbd9d7affa06352424133db4ead84225a89a1a998b2a56e17e55c5b74c80597d3714cfc030c398b52dd933",
-          "padding" : "3031300d060960864801650304020105000520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 136,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "4b0eaf3ae1c7a3322dcfabee0569aaafba51e0f34fa6afc325bacc853ccd2daa3dca56c918325bf553af02ddd19fb597c368dd18892d52d9e935dc51d38347ebae2a7f90c78504355f6899ab4452d5f51d2025381d81042a08582dc50bc1078246ee69652043bb747969a7450659e333193990f34a8ce3f036221193e700489c",
-          "padding" : "3031300d060960864801650304020105000620532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 137,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "1fe7b390bcbd5bc1904e676111653e14e581e7817b45294bb790e4e62f3010aaaa77e246b29729f2b7da65a2f437b8d9c4fe3b26baad367a19fd7b1758d04c2f788c45e5309a833522b46d7255dd5ef70ed006ef966aa7c648bd0b893b8e1566961c16e9554fb729ec81819f1b3da890d413a153f487c030c7581da9531bf134",
-          "padding" : "3031300d06096086480165030402010500ff20532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 138,
-          "comment" : "dropping value of sequence",
-          "msg" : "54657374",
-          "sig" : "317379f37cb7f21fd03259a27db3575d491a248df82e67b39d4956a1c619094fcde001544f0fa70c64dc0d0440fb21d2860a20a911cbb397792bf3eafa5cc050e78b1e7bb29d041cfa0287bdf54a90a7a8bff5c870e898fe34bb522477daf8e003bc22891b789ff215869cceb92610c4b03210d19506058d941e6fce7a3cd786",
-          "padding" : "3000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 139,
-          "comment" : "dropping value of sequence",
-          "msg" : "54657374",
-          "sig" : "2de802ddacb7e47e27875943d5098419bca3b170bf74f1c4b4a8ac420d4469d9aea97592fbeaaa1dcb5fd20bb97afc5f7abae17a9bb85c5490db97010c5217c88f9f52b5e209cf5fba5f0594f4e4450114dd0348ece336870a1333f7660caf959056ba13b77d35239eea164ddbc8808f8e7e1beb070f551b6e95f90d5bdbd925",
-          "padding" : "302430000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 140,
-          "comment" : "using composition",
-          "msg" : "54657374",
-          "sig" : "09342a8fb8402b5e50fbf8c5d1cae415ce02c0a803adfed88188982129e8480918dc21616bb5f8381e8dfe13f63234090c32e542a005df70df5e8e00dd2a478d10fff1b61efbdcf0e410236f7c031c9a5f7cd0db9098f8a32a6a49f408e72c4a29b7d27e8041ba605bf089bbdb9777e19b31ecca0d49b90d54701721af79cf3a",
-          "padding" : "303530013030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 141,
-          "comment" : "using composition",
-          "msg" : "54657374",
-          "sig" : "3ef90c414a64601c538c286f2c35f32445039799b8c266eed605027578edda796a409d905a751bf5c1cdea97840437fa82733d8f27efbbc05da732887078a8f547bbfb54607a54f893df7dde0c35c45f9c2402bed0405c72e98175e5b9d6f90224e07d12e8c1bbad2fc8b1a14c42dd5fb7e554db5edae89d335705c672cd7b55",
-          "padding" : "30353011300106300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 142,
-          "comment" : "using composition",
-          "msg" : "54657374",
-          "sig" : "3ad3e4ec3636b5eb8aac2161c04d228491ca0d9da2abd69d8904054373940b39b5c025c011c9b9508a25ec25b24a0837cdd6a27cb5c8ba3683d90ba5912ede9a21f2f7e851dc49dfebea8807576be703a6a87ca44c370db76812b9929a54fb8e2259453ccaf47da1b8ddc5b7322c20197604b9e028ec00bd7eb48012274d5b81",
-          "padding" : "30353011260d0601600608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 143,
-          "comment" : "using composition",
-          "msg" : "54657374",
-          "sig" : "778d93be708d56defbb6dedcfec2a917a3772b2810e26143db1f9d0f26c4fbb8de8db5818aa32ebb2cdcd7960e593ace2c3c3eb682c930cbffcfa6b34438ee2a786a9707d5d10902f7f4d8fc677106275fcb6cb08f56f341e0f52af590e0bdfa2f2bf95693265e87f5046bcf3e6de34810e8eaa479f3afa2b0a98b175007c209",
-          "padding" : "3035300d060960864801650304020105002424040153041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 144,
-          "comment" : "truncate sequence",
-          "msg" : "54657374",
-          "sig" : "a3e0e0cb9f7cdf8a2b95139f7c475f274bb63252385f62e66f82158f429e74d83df9ab1040717d34b6a5e009b6ac95960826ee83bb298ecf900425ff03a8f156053b57eac6086d61dd3a8085b84c83bebbe3270164e3147ddee8966a026796401fa48da70f5d949386eccad26b0016543f3f90c8ac2874100dce13f03845509c",
-          "padding" : "3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 145,
-          "comment" : "truncate sequence",
-          "msg" : "54657374",
-          "sig" : "84345c9d3de7b5da2156d3669a731c4baf6726c4c231bc8bcaef950d7ac37ca8d86e9c9558404f313de3fdf09024d25491b0a933cc3958033210b1c4f90070ddd083005873762566ff2cd7f6915b4cb430f5e7e1bca8c2ec32b4ddee48aba667f9d614a27c3bb40c6cb7f0cd77d3d17257f197974d1871cc09c9583cc6af8e15",
-          "padding" : "30300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 146,
-          "comment" : "truncate sequence",
-          "msg" : "54657374",
-          "sig" : "227aaebca262d2189c479ab46d8715a34100bc1975c2d3991a4ade27376f068756cc9d89e903713bc28394d202d81b32126d7eb09154261841227cba6ea0a60d0ed9302f816fb4dd241dcd2d746d5c1b068c42c0b2bd567ef799cbfd0a83e8a30c4fa2f7296dceca38c36ab597ba992f658ef7955d32d38847870afbca35d836",
-          "padding" : "3030300c0609608648016503040201050420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 147,
-          "comment" : "truncate sequence",
-          "msg" : "54657374",
-          "sig" : "a4316d438c7091b3bd5ec09aeea9095cb5046d8f08642b087c34985c34377bdafe74285d00862fba20572ce7a06dfe62b4fc08704d1cfb161cd88478e7e1c5451e0bdcce0fdd83c0e37fba5168ae03fcf4ccf60fa12c9b0acb39fe99b06933b9e0774f41151e0564ef805144c0cb76101672c287912197155d91bf036e84d1ce",
-          "padding" : "3030300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 148,
-          "comment" : "indefinite length",
-          "msg" : "54657374",
-          "sig" : "447904593d2796cb9851fc38f6494697af3eff1997568a320a0e6a50d62b484d7254c99cad3897f7383da73ee48ee824f7f6819c7dfce18021e7cb43b48cd77532c6af28e9adbe8005c576415c379bb7bd164a49010f0b243f60064f1986d1923146be8e8a4eceb9263445f32e49e5cef3e500467f3cfa9102b51b2772df803a",
-          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 149,
-          "comment" : "indefinite length",
-          "msg" : "54657374",
-          "sig" : "01ce4a92bfbefd1de73607085c875704ff40751537bbce8ae2df9b10db01443154f415a936b38f937f7514763e20de0c55a1b441c5b10a09c7e09a7070cbc88becfaa8d39ab1cb93f4e2d1dfbc973715b04bf5d21f2cbab061ce36c81642fea43d0b11317961886d8783c628947b8f14be0864674e84c4af5f9dbb1f95b327a1",
-          "padding" : "303330800609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 150,
-          "comment" : "indefinite length with truncated delimiter",
-          "msg" : "54657374",
-          "sig" : "0781175cedf15de5b498cca16fbe6bcee460775eb1c98013719c80f30716abf0d205d40bfcae1fbe188e0ccd1bef673ecdfdb83da619ab2e4d04bcd60e31d1028d7c7cac64d403e0b79b75fc09a43ad0a54cd7e7bfab90cc5b5d0e91924dc6dcaf28478e7b1f54c3ead799d0361174a013b7e4e1eeba7dd20ad0536949beeef8",
-          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 151,
-          "comment" : "indefinite length with truncated delimiter",
-          "msg" : "54657374",
-          "sig" : "5fa498524bd8190088734b8622061f55ee6ace39dd9a2e9ffac021e1612b42e294af4bf27c9ede0a6eee38e60fe0ebb8dbc49b2be7148b09711f9762ed4be7e02d4288e62fa7f203ae8143d3f17b288cb22386f43e6a5d84f9c1f5437add50c67846569cfb4fadaeb35e02b6910e47893890b880624349b13545a6c35d2d72d0",
-          "padding" : "3032308006096086480165030402010500000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 152,
-          "comment" : "indefinite length with additional element",
-          "msg" : "54657374",
-          "sig" : "1a095bdaa1398cd4973120d58e430f5c9a12e4a0467d3abe5d44909e9427c42a082286745b4919a955115b7e1a74389130b2ba3606772d9720fbd1b6834f46a2c582ead78ff6a3d69a6298096d83f9b1ab56aab6a5882db313d84509c0314d6278ddce652dd816915baaa274308e93e52b906c83852247a75fc3dd6e5205de8d",
-          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2505000000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 153,
-          "comment" : "indefinite length with additional element",
-          "msg" : "54657374",
-          "sig" : "1967e2397ccf4ca1cd1be11a27d7a60a0a324edccd069e4278570c4c45f052b434ae4e3365565a010f26249ef439dc060cee00d3e8247a3eaaa150a1834dd622fceea6224c0ab58526388cd1d62d9e151194dcbcc3212f36fd9ccb766ef59c4f0a3489fbb60d103a27edc48748af0b6d2295d9382c6bd50d5ca089ccfff27a43",
-          "padding" : "3035308006096086480165030402010500050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 154,
-          "comment" : "indefinite length with truncated element",
-          "msg" : "54657374",
-          "sig" : "3516e125c8f18f77d801f216d334f6bc24fae8de5750c0f6f712ef405041f66a49d57907aca7bef67138bb34dd5e57db5d3de6e98d4fcc4024b18df92c51b926b60cab06ef39b4e5e18eaeabff04f68e9920dc1165bc1d128b1b1ebe6628debf9c34b936016c221ac98ccf97ddc31e3e92103f7bbff0045ae0418e7580745001",
-          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25060811220000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 155,
-          "comment" : "indefinite length with truncated element",
-          "msg" : "54657374",
-          "sig" : "9f60d52203b96a459ace5c0022d2dc4f5ce3cf772efb615d421ba51a2dfb0e86d01e5def5da80944c315f8b0bada43d27afec520dac6ba6cc419008d60d1a334f2c17234efbcceab67087d9199781e46b79b1dc5353f120ec2c5484e64aa058636a61e6f4efab4b436e714c7a017c405b4f0d0caf9459eb19ca897f2db9c2e4a",
-          "padding" : "30373080060960864801650304020105000608112200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 156,
-          "comment" : "indefinite length with garbage",
-          "msg" : "54657374",
-          "sig" : "3efc2c6198d04b0cc86d8bdae3f3ca04f0614078a3fb195fae3b2ee36fd5b1dc3f2e0fcc57f51ec9329b99479348cc3650d7a391b6821e7203fa8298d4c944d9f0a25dd3586327580e1ce3c7a4101d52e502a0de2b0a50dd1371e214eff4a9c44563d1e3e69bbcb7ed2a58e894fbe2f3a5375e5032d29d10d518d6aafcf13ef7",
-          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000fe02beef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 157,
-          "comment" : "indefinite length with garbage",
-          "msg" : "54657374",
-          "sig" : "4d8ade9eab5e5dc7bb18630ab57757edb41569ca9e9785f2b1edd281c017c05ebbe0857c4369374ccc79d8a24725563822723f0882fb83713549cdf7f5e0738b20ab3aa28868f98984046b9c4c5e75bb58d9ff194d8b9bc4383765d7b2ddad332cd5809346ef18169d22a7b2d1b4f6f8637215899e344b063d609ea484825253",
-          "padding" : "30373080060960864801650304020105000000fe02beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 158,
-          "comment" : "indefinite length with nonempty EOC",
-          "msg" : "54657374",
-          "sig" : "89459f8da03d8744b6f7a6ce6723332aba211af3742058450ab2af7905d757e7b5901500b2458df59a68b68b818ee0e7bdcab6270f39ad577027258ca5bfb2d0602da91b5cadbc32181c86fdf96fa3169cf960051dd0d6302562d74ea82f462b90b7035102bc08ce51d35d404fc9d3841c3cb5d4c99f02816b8842bd93297f67",
-          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250002beef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 159,
-          "comment" : "indefinite length with nonempty EOC",
-          "msg" : "54657374",
-          "sig" : "93c85d6e90100f96cde10158e25368e4f00c7870d39164c0a30a12fee1a6e9389c31be480ccff7c2ea9fda14455a4a5e4694982dfe9f2d5c6c59071da725c01e3add86648e85af4069f60a0944258e139db101799341d7e36437a411f727a693f1103b1b2f01469c26a15fa74e4ecaa09f112ff37fa61d9c3def0c8c4069fca6",
-          "padding" : "30353080060960864801650304020105000002beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 160,
-          "comment" : "prepend empty sequence",
-          "msg" : "54657374",
-          "sig" : "361f80a57ddb48796e50b3e6467cb00a9e1e193330ecd2cd6a31f649b49eac27e295450efe03e09e59f1829cc661d36b0fe904602c644aad7ec8cb2ca3099078b6d4f7b9233dc159fd1a6189451fedbd176e436f6605f2b889fc7197ebb520accd7f90e543da44453c7ba1948e83e31f5907d1989d982acbb348ca2216fe050d",
-          "padding" : "30333000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 161,
-          "comment" : "prepend empty sequence",
-          "msg" : "54657374",
-          "sig" : "674c01596bf71fccd36aa81b000be007f6cff713e5f6ffe58b25e790f9a1f6542ba3f68e1eeaf1bb1ac6c3d55aeaf08140f6cc3d0474f6bd87ee442568346553ceb34efb5301a4d3a5b3f28a5fb038ccfe8444524d18adfa042aa1685fc3a5f9005da5688853b8660ba74f0e32c5be38c743b0048ca9b9fc19a35a5ff4e2c48f",
-          "padding" : "3033300f3000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 162,
-          "comment" : "append empty sequence",
-          "msg" : "54657374",
-          "sig" : "07ba2b5d519b1f60dc455d6ad90b4135cb45c5da5a2a2c9b8cb954165394a0f40145ebf2b1a3ff1d47f5031d542d25041fe9b6d78aab623c40eedcd8467618168ad02af8a696573c5c63cae0b2c26583b0240848d663fdd0195322bc2c8dbf9b5db2ff9cc3e75e70480e51da0d6dd402fa87772ddef5256467205cf41a42d18a",
-          "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e253000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 163,
-          "comment" : "append empty sequence",
-          "msg" : "54657374",
-          "sig" : "9fd302307455d4e946c1ccee65b0941c3550c823279cc52c4f29ecff72a12ac40ef6b7e37b7dd774b7735bbae89b0792908bafc47f0b0a11637042fc8541b346151bdadc3990e64b6d1807dd0e7f9266ceb3f686a9813341f835562d3c8c84868a1f98db97d3e695ce4a25fce80b828d010d6323120362ac48700abff8a7116e",
-          "padding" : "3033300f0609608648016503040201050030000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 164,
-          "comment" : "sequence of sequence",
-          "msg" : "54657374",
-          "sig" : "247aa1cb69ccb72795c93809d7c3a5e52de98ec5285196058a6ab18ec2f5d9fef5545ab5df923f63bd58f5f247b3d824bf161bcb56d325d4e2fc7eb3765dd81b5580422abf2a3bca8d8af94cf6a9a3133b1494f66d5cbe938d30b9308b5ce2cc6d3df37d3299b6a7616d40afcc7935d80225e1a89a7a63ebff13a66e21280a6a",
-          "padding" : "30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 165,
-          "comment" : "sequence of sequence",
-          "msg" : "54657374",
-          "sig" : "6d6248f823020a9604bbafe5acc103d9bd020624585c95805533de22afa3b6b1b511f8805296ee4d3e96d707c91e55df8959464ddb6d6a3d62b1cb248754302b2833406300f4975d913f1b90f95e3673e2c57d6181d73a360e8c818b8a9dd1e7a4fdcd68683f11dd47c2d395f20b0ce9c59eede6ae6aa58a707c4ea8d1a73a9a",
-          "padding" : "3033300f300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 166,
-          "comment" : "truncated sequence",
-          "msg" : "54657374",
-          "sig" : "941d41c39aa8bf3879d16cb78c5486589e7b97e56a0249c4f613060d26b786598fd2d34bc4e99cc8888137975937307d6a328059a09f3b994bf955c7de4a2841a0d10bbbebb2db3b332656f258c66c8d50cf9155ba94e1cb21a78e6147af76958ddd997665b6d8f67ea8f5e1fdbebd7df635f20494489c895d33ae4c7f248bad",
-          "padding" : "300f300d06096086480165030402010500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 167,
-          "comment" : "repeat element in sequence",
-          "msg" : "54657374",
-          "sig" : "a32afeafa2c3b58bef55776ef6daaac6647485dde100d968e0449d1a2d5a121807ca2fdd70e2e9cf524cae4f263e11837000df85f0886b718ff45cd316c8d031b746dabfb956dd6118a37e0dabcda1ce9c728afd9a5f2448f5b15d27982218888d457752485119f53219315bf63141c9c0802327226a096403ece022cb27c0df",
-          "padding" : "3053300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 168,
-          "comment" : "removing oid",
-          "msg" : "54657374",
-          "sig" : "6098a732419cd71887548ccf4fbf3edeaf9fe7b220bd747ae1b995b746de1f4d7b48c73ddb71903f50ccf7c93be9c8219de5a75ecc302ab50356069dfaf642f32ec580a283519fbcf04784860b0660174dfb7e1e527bb320960bde8f6c605bc3c1055b878d2adbb44e1b6c41add15cb603345c4fe2d1c0158fa03f21b4c015e0",
-          "padding" : "3026300205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 169,
-          "comment" : "appending 0's to oid",
-          "msg" : "54657374",
-          "sig" : "2f08cdca4d621007acd15b1f4e3c39882a8aef706878e8f101e7fb250798a3528dcbf4d3327ceb0754a2ca0850794094dde8a875cb947d624d386ddb9593259c53ef2311260ac3c9cd1277050ec98d105188f590f198ba908ddcf3f9ed18f5a96cc6b353fadde007658f87ff4c201db7621d69c8278305f3e9f2041a2dddfad0",
-          "padding" : "3033300f060b608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 170,
-          "comment" : "prepending 0's to oid",
-          "msg" : "54657374",
-          "sig" : "10078ea73abb9bbb879c9d8139b1758170fb73b34f39cdc83e6a725439e315a5cba4421fe15e8c80d8fda0a9aba9a12c23aab41f7328d4191e6c7c3a53a505ab518dce078439347945671ab06a2cd5375457b3bf181c40a1a4be1ea8305c9a401488532c7cdc1150fb9c46a2e846ce4a2fd9ee863d0b0b8af7f10360acc47f10",
-          "padding" : "3033300f060b000060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 171,
-          "comment" : "Replacing oid with NULL",
-          "msg" : "54657374",
-          "sig" : "783575badcdfbe1a4c1483938e7de2e42908fda1bed644ee99505cae3aae5aa78819deed857176764586ac8c5c0a3febf1e344d7e2eabe062c688e4caa499709fd8db5f389d92e60388d8e61af7b0789434f3c07b06cc4c89b88923c4d4fc81fc36b0d43d71327e596088844862f95b8f80bea52465533a9e04a2457bb7bba51",
-          "padding" : "30283004050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 172,
-          "comment" : "dropping value of oid",
-          "msg" : "54657374",
-          "sig" : "69a74665f61787b54b522937c534e95e91917f5dd4fa9e3472add6e21dc033a275408f35c71ff6cc029e25986fe6dced8ed053a9040aac32fc444e9252d2bd4081fe3e51ace15a0f694c0b8953dd6afa7f8cac67f4d8e17513b415c14b439a634274893885907e2ea428a6e242154a58a031fedae31c73df7cd4e2f5591496cb",
-          "padding" : "30283004060005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 173,
-          "comment" : "modify first byte of oid",
-          "msg" : "54657374",
-          "sig" : "1f581f5e39f76f319d933a82e44fc977bead2796fea24fe0546f9c4727d3e2502b532a3be241a0a97238f255e3290a0ecca458961d791e12e2865d96bae663695f5e34cb8c483a7842f2c7cde241c108d1e0a6c85d7b768753016a573035a651dcd1326aab662812262aa73945bd0b47224a66b6ce2b97e1800ce93c366ca16e",
-          "padding" : "3031300d060962864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 174,
-          "comment" : "modify last byte of oid",
-          "msg" : "54657374",
-          "sig" : "36e0f5972a6be797cbe5ce66f3b16243138a219b50434430d16a85df61458f57d51fd72b1c9d8364c4a277ca51eebb550a55969270137e0970b10faa6dc95e96a510f647b7967bad5d6b6689c8a470302b70ae2eae6e95099523b66b6838e4183b2099d20c6f4dc24f7b9acb0e9a387ea8c030ebcb6bf02b9caa8afa07596d99",
-          "padding" : "3031300d060960864801650304028105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 175,
-          "comment" : "truncate oid",
-          "msg" : "54657374",
-          "sig" : "7b2f6581fb0b4f913ed38c0ea20dff2bd60723f2bc3f1022ceb946e48adb75b1e0be031dd8b706d82967f93c6b6ba496d8c4b49aea9970e139b18fefdce30a4ec04f77625eaca4c7d1265cebbbcf53b63a113cf06bc50e4a416a771cd28785a0075631a3ef60c9212e224aaa063e7d8109c27e248e6422b26acd02ec012b7bf3",
-          "padding" : "3030300c0608608648016503040205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 176,
-          "comment" : "truncate oid",
-          "msg" : "54657374",
-          "sig" : "4dc9e86e076a395b530868d9fec9f858bd6e8c10cc1e32cae7653abb3f23991c677e970ee468c7f35022f3241f5d35673a8cf4ce9134b1e63a994dc7abc8cf4b9dbbb126b314312539931a0163c911f0234f5c3f683c9376f2ecaa3294d71a1274f6c63b84ea8faf826eacb05e4fa5459b787ff384b2cfe0f1f4c755f32b5c50",
-          "padding" : "3030300c0608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 177,
-          "comment" : "wrong oid",
-          "msg" : "54657374",
-          "sig" : "760b8204d02a9fc5e9fdca0355d28f7d27ad27748e4c073496760f43231d1e3a818ebb53d1a071119864af412f491f56b7afd9f4690bcc279d5ea529ee91ffb99f5ad4c8f1c5caa23c3bc5dc4ee2f33fdcfde84f8ff4356a94df78feca2f1636b9cdb92db4fb9684a287766aded89818041004407358185508f3d340639f4f32",
-          "padding" : "3032300e060a3262306530333032316105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 178,
-          "comment" : "wrong oid",
-          "msg" : "54657374",
-          "sig" : "5f29f2ded51871e2cdcf743ec8da102a4612babbc8c994fce8d38eac83b1cba5ef060ea42a48b342e602a16f679d4fd0167e3044b252c8afe5b8b0635081ba0351e19971bc52df431140ea4251519f1ba889e0f0141dc789db0e1906376a75131a61f57b866f2882abe70a81f4d0c65fd600799d1f6c71ca2f2e95188abce526",
-          "padding" : "303a3016061236303836343830313635303330343032303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 179,
-          "comment" : "longer oid",
-          "msg" : "54657374",
-          "sig" : "9dd00e8991844457b0580e3b3abd6f6adac8d016521df40f972c67f9f8420af2b175c6d99be923e5a320baee434738200e8a111483b6f274583e396112c3ecff11f53bee290a0c58ce0c92a061871f2c9c54631f39793cb8a4dbdf069fa65412f760efb58f89958b7028e6aaedf11d8ccb5371fabd3a2208243af19e04a5363a",
-          "padding" : "303c30180614363038363438303136353033303430323031303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 180,
-          "comment" : "oid with modified node",
-          "msg" : "54657374",
-          "sig" : "43ea91ce7612e0e151d4526afd6146fafba081fc5ef78d50a8ccfa9079fe21e3270d4b9c884130bfe9fa86577ea505c19193801ae37f03cd3021887dca580f9be60ffeceab0e84747a427a2a6d0d6f2e2c43417e2a449270f6b545e3e149ab09efb158acc015b99277a79286790ca27d33e8f53a7c72f0bbce5d774fd7da3558",
-          "padding" : "303a3016061236303836343830313635303330343032313105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 181,
-          "comment" : "oid with modified node",
-          "msg" : "54657374",
-          "sig" : "24bf2bfcbd891a7b7dcdbd44a2d38aaba2e28195f0b955073bd51ee4824a55b84cc772501abb75bb0b6087415e7755ed101eb08d892a93e52206fe7d775a710aae5ef1cc0687613c1601cc9c33f0865bc67bc7676e911c3991e7bd08cace5d5b12c5ca2e6120d70fcb626d465c10aac07f884b024f9051d6885afd3c7fbc4e12",
-          "padding" : "3042301e061a363038363438303136353033303430323838383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 182,
-          "comment" : "large integer in oid",
-          "msg" : "54657374",
-          "sig" : "60e4e065e10cdb25b89c778724289fd61c73ccde8d66efbfdc77d05fa5e8839d821639c6a5f303e35fad3fa8c4716f207ba395637d46ecadb6dcadbe28f3a065c999e380966da63bb5c92ec5283877a514c33ae97197130bb2a7a5c0d805113805ca33afd886bd63966de732ac87b7d22675468e5123e611985c4473a8116234",
-          "padding" : "304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 183,
-          "comment" : "oid with invalid node",
-          "msg" : "54657374",
-          "sig" : "0704bc9e3679a62b6d07da2ea8c5597693987d710c98704768f60259e9697b4e8dcc84a5cefd53b45844134f167830ca5c6cf572923b3543f6ddcf274ae14e3b191fd7934db877439e0f95b5e3c8f04eb3aa2b4682cfe213b3756ec5b349eb295e8112e017869163c0312d6903646fbf9cb692d2311240c2cb968ca95d431d94",
-          "padding" : "303d3019061536303836343830313635303330343032303165303305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 184,
-          "comment" : "oid with invalid node",
-          "msg" : "54657374",
-          "sig" : "6674ec2352f0d3e90f4b72086f39815db11b056babc57644c8a703014f439baa46e8ed961714d5c7b5f0ec97ba3fe5ab867c16b7e1de089868dcb195fc20cc42fa1b3d3060f50cca77281bb6be18d65a1ee8e5a381e21e7f02e819752b71327a28719c7284f6425bc9241abb08d000faf58d48848d7f4b8d68b28266e663f36b",
-          "padding" : "3032300e060a6080864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 185,
-          "comment" : "appending 0's to null",
-          "msg" : "54657374",
-          "sig" : "8d18a5e0a81522b56eb9e4f43bee15475cdfc7881006150cc230e76028283375a13425fe5a106f2626346a65817010a5510b157b234a16fcb9426909a524a288161537be91ab13033ed296f5f8c1e5c3bdb963f12d7b5eded46106f7c2dc1ae9c451415303cb7e6a3f59809b922183b9638197909d5730e5b1e89705fbbe8464",
-          "padding" : "3033300f0609608648016503040201050200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 186,
-          "comment" : "composed null",
-          "msg" : "54657374",
-          "sig" : "80c9add3930a98b726fe543b4350c593d28e77f9f53f1ea04c2bfca30f157309eeb41e5a675bc0045823df8e99f2e55d2567f4b78e36eb8af1b45c50e33e6634dcfdc4094407b760d8b60f76995edd05920a6a89e22168a788557bfc7cf01d47d21448a65f9766bb217bcac1124020b6b062fd0e7bbe3e142ec88652eb617513",
-          "padding" : "3037301306096086480165030402012580aa00bb0000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 187,
-          "comment" : "appending 0's to digest",
-          "msg" : "54657374",
-          "sig" : "51640e26e8764936a7d9d709b3e0f52a5f1843453f2c6107a8e7fd6dad8b1c02ecc71659cd4134be952c03ee83c190bea4ea7260e5472c3cdf87b6ad45b5c974957ee9b4bf6f30152c2d939f722cff32e5482db96f3e283532b96716d3624daf16767e0ecdad16c97e56e4e076d64b92af329d2d6a2f8d14b59d1b84853659ab",
-          "padding" : "3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 188,
-          "comment" : "prepending 0's to digest",
-          "msg" : "54657374",
-          "sig" : "9080bd4ac03b7ecedd45f8165360d4848bdfe1c9212ee1a4debc1aa92886cd7947a2df5435789bbb0b3e8f78815aac80e2cff14e1939e9ec32f42e7c29ed4029c88cafb64e8523dc85217c40d1bba900468a69c5bd4d12ac67401698fbffaa5159907ad459d3843e12487b3b2315c585881bc42e45543f7cf25110ab7e0a19f4",
-          "padding" : "3033300d0609608648016503040201050004220000532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 189,
-          "comment" : "Replacing digest with NULL",
-          "msg" : "54657374",
-          "sig" : "aad9443d445aff562925a33c0abb7bca890d279d2934efd8ce2e648f88b08c589cdfc751e9668bd63d2bb97b652821ab4ac0a85c97c3087dc139250e1a0c1e31ac7db7cda5805532c5b32fd302063e02a190fef7594b2fbce7fb364ea6d7eec1f2823e8b2304cd55f062f61f6528a1f0702dcd1e9a66b5b807a44b76670f3935",
-          "padding" : "3011300d060960864801650304020105000500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 190,
-          "comment" : "dropping value of digest",
-          "msg" : "54657374",
-          "sig" : "5f66f645307346216d3ba9c3d8b29e96270cb3b2e686a676fe975c10b8c26fda8d8eb172628bb3dcd726160c13ab8c5afb1d6ae943ea4c18d00465d97c0d2bcc27a63c18457ff8d6e3f5ba373b4be7b6f4c610f83578613f4fe41a40d86230afce0bb8d4496425a5bf0a80c6b1b1e2a981cd44c31a9aa603748c3d2fd2b85478",
-          "padding" : "3011300d060960864801650304020105000400",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 191,
-          "comment" : "modify first byte of digest",
-          "msg" : "54657374",
-          "sig" : "0f7ecb8d1f49a6af74361f72d7f552047611fddb9209a54ff0beec9f6494087067fbb3b8a46eaae41208b7a2725921e1a1408a82aab52b77ca3c6774e17f2eb1cc77d239adc23d7860dcc30602fa625eb5e54626d49fa1bccc8402463ac7ff7ffce3b723b6f0e541028a76775de752b56e95df62fe8eee6b5f5ae95240e8fced",
-          "padding" : "3031300d060960864801650304020105000420512eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 192,
-          "comment" : "modify last byte of digest",
-          "msg" : "54657374",
-          "sig" : "542f314c7986948793e53fa9ecca03cacac17d4c9e69ae3d71e57c36ddb293cd07397f7aa48d4ad1a1c59e61f12d766754eb2b3691c4c703446fa072fb709722ce0db92c804e920f8401fea399c5a72f9d99807b8063487bd57d717563eaecdb313bd6d479e2e720e5773a247b5e78a2534ae19c8970075f5114a347a85a7162",
-          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345ea5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 193,
-          "comment" : "truncate digest",
-          "msg" : "54657374",
-          "sig" : "888cd9bdece5ceeef0fea92727ef1a1d996960f3f551bf108682f8103590323669ba1ab48becd14a49b87a900434d0ca7670d094b08b2f851834757bef580d2d3278d85b88036ea90d4c2a673dfafeb0c3701332c2b77493110d9b28dade7e985ec27240c90498372fc00ac8e0e5547e4d59cdd19022b8d961f3b63630b5448d",
-          "padding" : "3030300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 194,
-          "comment" : "truncate digest",
-          "msg" : "54657374",
-          "sig" : "762c745262627d0df634d6cce41fb8af3cb855fc2d974b8093b035e9d11e510b9b7e7d61581b8f262fc1c4b8a6da3f6d609512e32f16416c7449c623c1773417032ddf2a559d7eb3af129fd02f83b5e35f5b5c065b1e0bc6481f38b6361f0b018b5e7166e8e67dddcf1550222f125efde241a27b0e7f670d15346dde082a8c4e",
-          "padding" : "3030300d06096086480165030402010500041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 195,
-          "comment" : "wrong hash in padding",
-          "msg" : "54657374",
-          "sig" : "27830ed405bc9d34009ec6258b766100273b4dcf2a9b3cf6ae31029837c6e24cf6e819734c1fd10c2c23db34d227d98d3498850f083ecd78b648baccfd4647a572607dedbc2b8ab7a595c0594ece904380e7f395ba4840a81367e99275cde1064fc6f7fbd564c5f26ddd0103991ae8262eaf16623685b43f77ea7a05d080166a",
-          "padding" : "3030300c06082a864886f70d020505000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 196,
-          "comment" : "wrong hash in padding",
-          "msg" : "54657374",
-          "sig" : "8bbc9167821885a728260bf9831120ecc42c14b2b07854169c86421146367d1bec66d8c3daadd115f16a29754e7fa8fb70a63966f7838484615d4364311b6c3f6e73ecd8ced0adb52db2c374297119f5fe571bd5396529d13b7225e87db5b5b0df38e4c56f2349071b09ff5c1ded919b398d4aff38c6ae29af6f6ff99d3e8836",
-          "padding" : "302d300906052b0e03021a05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 197,
-          "comment" : "wrong hash in padding",
-          "msg" : "54657374",
-          "sig" : "4cdfa8cd615bcdefa253d75212e4ed0a1fd60841656c6a749690cb0c6c3cd723b518560c3b11a734010acf6e38f0526338351d9b58351826b360c851d3c86429f38eb689e8555aa2a23157e197faebdd29bc49f84c10dacca655cd5fa50fdec86a72f0ff1c7f8feeec31fee188fbfa72776a7b5cdae1c1506830bd3a00181b13",
-          "padding" : "3031300d060960864801650304020205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 198,
-          "comment" : "wrong hash in padding",
-          "msg" : "54657374",
-          "sig" : "024746d8dd71ecfe33cf0ad7ab8ddab9dfeb5740ec47b8ddd668f07b8f7610f726692404ac14c3a1947ff4246fe0a9e216131489125e71df68d60930fac06a20e948a3e4948aff5e3f9772155f8bd6772b1cefd8180ae719afc061e2f0d68a69769930b8d90ca4ecd6c7b20d04f0cc939502e698ad1c500403763c0205f6870d",
-          "padding" : "3031300d060960864801650304020305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 199,
-          "comment" : "wrong hash in signature",
-          "msg" : "54657374",
-          "sig" : "3a152ced8b5e0efa33cd57d4afe67f31ed3b9fb22e7b0ff32795cd9510374fa09fc63a3366465f83ba4d44e36418a5c1d171b6ca05d8c74a242983d5e5912cd05bdbd75fcfd5b4eda7cadab21e6dcefca8e2ab7303871ef360beff45564a01bdc887d9e849e407c6aa5b12055647f6c9df49758d1272f7cb476f51088e21f246",
-          "padding" : "3020300c06082a864886f70d0205050004100cbc6611f5540bd0809a388dc95a615b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 200,
-          "comment" : "wrong hash in signature",
-          "msg" : "54657374",
-          "sig" : "3765b8800e6ccf29544d834034e39f8fe7a2e6dfd7e6b4a8f81df091bbfd7aa17edfa6005024fe04d35c340a2215fd3f1cf4b4dfdd3c8ad09e6df2c2256c7541e19c2e80051d1ef5df5c384bfb6be88c4415eb2740db2d9fb3214890a8a0f19146dfb7897bacc02700a89139dc8fb21b2a7bbfbd43604d7f384cc00aecefb4ef",
-          "padding" : "3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 201,
-          "comment" : "wrong hash in signature",
-          "msg" : "54657374",
-          "sig" : "5c5b097c21ac2eb156de39d1eaebe3b96082f54b0171469a94edf7d2027ebfdebc0837f766cfefec577e7b797c7a082df2ecc826e55d39927b01c2da26f8f6814ec993e3b93ee87a3418322b65ac652b3bba6d34373a13fd40b66be489938fadf67bbda762f6ee09a1ddc41382051d4a9a946e0df832bc65b7d5dd58cc5a402b",
-          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 202,
-          "comment" : "wrong hash in signature",
-          "msg" : "54657374",
-          "sig" : "0ede4ac9ffcb6d3d42c75cf73303a28ba6089941f68dcf392a75b071f6c149a109cab95b80a679ca3b29ae44e51c18a2db4c72211ae6b959c7f22e854c45f20f5560446f33be4819f08d981d2fb176d48039ac4acd28127d593f9e219ad40e2a5ee911b334b3b8bb290f2327524e3faae2c028745e03d58882bfe503c4ff04b2",
-          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 203,
-          "comment" : "using PKCS#1 encryption padding",
-          "msg" : "54657374",
-          "sig" : "6c0b3edf5f6e5d3f07057d0b752e89cfdd1c289ad18a0ba94670cd36547734e2c7bb32dd49709f0f7149944c450c23b7f2d360e3602cad5ddff7fd9d711eef6dd4c32e66c4433f041fffefe112024a655bc5bacbd0914bbb2b2a41a91b1293fe9478ddca926a13e6131cc5e9b70625eac1e533ce8171a2dc7b2c4a490e966445",
-          "padding" : "0002ff...00<asn wrapped hash>",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 204,
-          "comment" : "using PKCS#1 encryption padding",
-          "msg" : "54657374",
-          "sig" : "1acce04e348a5c8377c54d8ddd8ec2d8c5cb9b195863c32eb716745f3462b5f249b612aefb31ba484949d0a0cb5cb8e1f06c1cec58fe5ffff6ba796218c46c3e527c7ab0c4276ccbafd133812faec33721a08542e7e3a34449bebbb28bd0f28994c6801ba5c971991004e31de8f728f6bc37a4ec7b049c1f2dc64d4be9415462",
-          "padding" : "0002ff...00<hash>",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 205,
-          "comment" : "invalid PKCS#1 signature padding",
-          "msg" : "54657374",
-          "sig" : "61a4066d0b64964100ecf583325cad10b53912aba1bf3606720d2bdd8e21120bb0b5e4323987d96039819ccce0e5e90854bc0e5c239ab198f75b00355a04e4eb1f855f76697cd65732820575306eb9323954bc5913568a7278fcdeff8e8acad4481e3559f8c44a0be3bc02bae437c3146e4516632b3fe788c3a0e44171155728",
-          "padding" : "0001ff...ee00",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 206,
-          "comment" : "PKCS#1 padding too short",
-          "msg" : "54657374",
-          "sig" : "979a313677883b0980997f1cb525f43401739945860149dcad80f602df8abed4fd85bcd6e174d9183a5a44008fd77b5a5abcffbcfd4f47ccd2dabef963d9b228310d99000ed0cebbf61438cbe586985bcffb3923a8467a97ae791d0b04925c0894b5a41583d6de72d4369f481f66abce41a577fb128fc0b0aeec746ec089d834",
-          "padding" : "000001ff...",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 207,
-          "comment" : "CVE-2017-11185",
-          "msg" : "54657374",
-          "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f",
-          "padding" : "n",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 208,
-          "comment" : "invalid length",
-          "msg" : "54657374",
-          "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23f0000",
-          "padding" : "2 bytes too long",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 209,
-          "comment" : "empty signature",
-          "msg" : "54657374",
-          "sig" : "",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 210,
-          "comment" : "0",
-          "msg" : "54657374",
-          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 211,
-          "comment" : "1",
-          "msg" : "54657374",
-          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 212,
-          "comment" : "2",
-          "msg" : "54657374",
-          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 213,
-          "comment" : "n-1",
-          "msg" : "54657374",
-          "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a23e",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 214,
-          "comment" : "n+1",
-          "msg" : "54657374",
-          "sig" : "ab9014dc47d44b6d260fc1fef9ab022042fd9566e9d7b60c54100cb6e1d4edc98590467d0502c17fce69d00ac5efb40b2cb167d8a44ab93d73c4d0f109fb5a26c2f8823236ff517cf84412e173679cfae42e043b6fec81f9d984b562517e6febe1f72295dbc3fdfc19d3240aa75515563f31dad83563f3a315acf9a0b351a240",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 215,
-          "comment" : "-1",
-          "msg" : "54657374",
-          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "e" : "10001",
-      "keyAsn" : "308189028181009e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170203010001",
-      "keyDer" : "30819f300d06092a864886f70d010101050003818d00308189028181009e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170203010001",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeYjN+99T6vsJWG7RaGKNiAisj\nZmVxu8diwccXoUpG2PWBGQcqomJF5x/GlFVAM1FjeY/L3qBLMQTuI/LDh0u/s+fg\nwbpfH8qQkmUnRBTbaVel62aODjajiHhDVdUo5RpqSpqca2q5EoEqJo2sncrPHBNQ\nd2jmOx+C+K8pw3hqFwIDAQAB\n-----END PUBLIC KEY-----",
-      "keysize" : 1024,
-      "n" : "09e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a17",
-      "sha" : "SHA-1",
-      "type" : "RSASigVer",
-      "tests" : [
-        {
-          "tcId" : 216,
-          "comment" : "Legacy:missing NULL",
-          "msg" : "48656c6c6f",
-          "sig" : "707e19417b5b3cb975795e5d53cb2db69bf80699e69114955aea5ff45755eb365fd34a18290db1975c32388eaed0d446b44138bf18b012f7da3ed067de6e444a5a66a35633c875254ed3d1b120ce657873e888af703e649076b368e90d761cb3e14cf79099026cb4a4c1f20c771c1d7544fccebd6d642506146e3d28acb6cf6b",
-          "padding" : "301f300706052b0e03021a0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "acceptable",
-          "flags" : [
-            "MissingNull"
-          ]
-        },
-        {
-          "tcId" : 217,
-          "comment" : "valid",
-          "msg" : "48656c6c6f",
-          "sig" : "8aa2c8a167fa230a1d1ea6bf5286d3ba6e675ca57cc5ca8cb26fdf465810c19af36cbdf843319f7af9b2954f372ef16891918aaa2ab64dbd1cd0ea54351ff2b3437fae5ec947971662c1f75ef6892b6899b77343fe87665c5b74df322b59f017e5488a67ec836ccc3f873788d60992d43f64b736507c455b649119373ba1aea4",
-          "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 218,
-          "comment" : "long form encoding of length",
-          "msg" : "48656c6c6f",
-          "sig" : "5b4cb0b22300dc4913e7c1cb82e86663462e4b30d03053f697d59252e01339cd230b72afc8623e185db939108f3a47814f418b5411dbd3365d45b609f93b1f4fa10b7b908430a9f7d97037161cbeb2a1af0223b6657179a9bd2efa8c40a2f57b20755042b401e81d3fa3d4faf69d05cfdf3b7c3d5d3cce8fe036e9899db34de5",
-          "padding" : "308121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 219,
-          "comment" : "long form encoding of length",
-          "msg" : "48656c6c6f",
-          "sig" : "264bb84974efc808ded6a363c50bba6c1ad8acea4d26f86afb81839d8ecfe7041db3ace271f308399bf3bd2effd70c3b17e968f084867a0d95299a8dd0bc27e516925d3b8c0e748d5f91dfc87eebc383ecfdf6bf46cd28912bd4cfb9949f7660f1dbdba527db82cfca5aad1f99cebb1d7b554d4038238a4755b25c2348397e2f",
-          "padding" : "302230810906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 220,
-          "comment" : "long form encoding of length",
-          "msg" : "48656c6c6f",
-          "sig" : "23fad8546f338cec2aa7fd93387b8f1e735e3fc3337350276efad8950161e6cbc7dfd28c7272be65c9dd469cbfc8ddeb6945880234a60c0778d5e8f185b95b0caeda346ce5b8231f94c076d056e2aa7245072ee055f37e7392ad4c158dab92263e4803d82939c7ede603c3467c14c61a5743df002358cc63eab3648d8ca8ec2a",
-          "padding" : "3022300a0681052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 221,
-          "comment" : "long form encoding of length",
-          "msg" : "48656c6c6f",
-          "sig" : "64513a079e0bd31939110d49d36101fd2a49c6d940637b9900fd317a64d174ef64acea808329b700954471c8282d1f246ca3172481fddfda77bbe24deb8d3d20200e78ee9cfbd97b063c1da700a50f635cc32ed74efc59407b8af422e01f728997c9a2dd6f8fd0fc89c9c5a9b0a2038cb006f3e8a8bd86ec129db6ae95b18ffd",
-          "padding" : "3022300a06052b0e03021a0581000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 222,
-          "comment" : "long form encoding of length",
-          "msg" : "48656c6c6f",
-          "sig" : "79547cc01aba5ccca5e0337304e02c48455df528e61037516262e151d4378f3447a730b894d63974c3df0cecd708bffd53742c908b718ea1e09786f00b58f434a10e5014fc5ee96c8c87aa0cd73348a470c369b71bee3d78e3b7a640d605736f3b3691253d853473e34e0eee9533abf655e0e490744a354309c3639ca5e0e084",
-          "padding" : "3022300906052b0e03021a0500048114f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 223,
-          "comment" : "length contains leading 0",
-          "msg" : "48656c6c6f",
-          "sig" : "6dde5d8a638e4cda4551a295aa037c0db901578d70b6943d58f842e2b334822e986506768fbd73bd46e62f11acc308eb9b0f9fc8831729fdf630bb0b9ac8a9ce484e1fdf5d1099659ff452c132096d085b624e521ec0cd76449f50e57fa39adfb91d1c4cad4b9651cfda905689c24b3118970f78ca6240b48cba83d19da8ae91",
-          "padding" : "30820021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 224,
-          "comment" : "length contains leading 0",
-          "msg" : "48656c6c6f",
-          "sig" : "28a4c4957ee24b104aa7f68d8d7fe5275abfe1c449f6e2d41d2741081e4e0248ff40acbfe0bf7652af44f4f369de583c355af6a5af87500330710b976f1bd3a705c216255d71589c341b237024337d38161946dd0ee3fc822b06c96775c6be57a906eb7c6178751537bb181e47acae959862253c34e979c3def80038488d0482",
-          "padding" : "30233082000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 225,
-          "comment" : "length contains leading 0",
-          "msg" : "48656c6c6f",
-          "sig" : "08cc5258ab3d68d796e5dd868d676ce9c2774d1eb6a16b4bbf0acaa0baf9d812ed0138a17ab8a64dbb913e33a88a388883889bfde6922cca5ca98d5fd1ac13fa87eb1b5701cb4ef5271057b39cceafa0f8509f9151383058a1349460db1895b3d7fbc043771ebd48538e9c208c34719f21b2d60dfb7a06a3ef42d1f2a90826b8",
-          "padding" : "3023300b068200052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 226,
-          "comment" : "length contains leading 0",
-          "msg" : "48656c6c6f",
-          "sig" : "118bdd711ce909f3e6894be2c5f7fbd21b6e542205e63447848bd6be079874f2858e9640ca8723cd4f73d1d272780aef52200d991cf620f7345f20ed4b5c978f93dfa495a24680c762ff1f1c4c3d0513b818b2cdedc63cacaa76af3b4672e0c3eae523b410d7c03ce4b9d2f65f92e580e4e7f04d3f62047db3968e33f0f1f40c",
-          "padding" : "3023300b06052b0e03021a058200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 227,
-          "comment" : "length contains leading 0",
-          "msg" : "48656c6c6f",
-          "sig" : "7c2ddfeb9611939302c4791b44d2eaec63ba700853c84c928e11f50a5fb15c47a2f0ad91962aa88e944c0a655db19ea4bda87e386ae820fea49725c75e13b26a7c7d9dc63e353259d318246a3ec3c4b7d2ff8e6af164fe73ef35eeb76e921a523f48db83d541b3abca995d807968cb960fe192ffc0501a0840a1f5bf1b332123",
-          "padding" : "3023300906052b0e03021a050004820014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 228,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "5065698891c73f55ade9d829053b14086b977af8f8ddcb9d2b5d236bced0821b00cca31a26b43a838ed36f96d823205fe79644ab4d431d2072f823bf9dd60bde8c2af3e2f4af0fcd734f285c0f8e0b9e5cfb5b7cf5d4131ad2122862c7bb6d9a9d6a7ec674703c79e4712ea84bc178da4bbf08355b2c248a5887a9b87702f70d",
-          "padding" : "3022300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 229,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "33ab162433e5c9677c2ef33d2949c64167afc165223a79ea96bc1096e0654db370f84b30f3ae03da910e6343fdc9f7413e9422f76dfe4287dfaf7250567076a4b2cba812b784410ff19f412df89f1af8b9a5ea4809b7f60b8b5b4063d07dd17311b5b0b75599ea8988c605b06cee2b6bcf79f20ad7c4bd67cf179511ceb9fb21",
-          "padding" : "3020300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 230,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "7cb2655e9bc1e633b46656d28db5bf457cfd6a6557ebe511a694ecd36987fcf94a6de7a3f73d47777990697b5663fe59b838fc0a7fcc0604a08e951fb1ef4dcdae0bc09c6733815a65ed465e86e98bd08ccce8df0a7822f1dd74fd8ff7add8314387ed2bb5474c7c282333bcc962af3f0506a15971f30967f49bbb22cf3e99d4",
-          "padding" : "3021300a06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 231,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "5e147003f7061b46a6046dc91374cbb2f1113ddb56dee64f203a513b421330655c123fc2c51a79ce70fef2884b6b444ff8639d5448a0781f8f0503009cac89a58fa0bf73b698011d80986379dfa0b8923591f2c310cdea8982f8b87dffc4ce27e5a1a75f44c40e95898d0ae12cabb94fff41116f1d96dfc8fb5834965b750cbc",
-          "padding" : "3021300806052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 232,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "8cf10e501268713c12ae5c26c5982c082a912ba2d22501a12438118067ac19957b0191498fb2113d1ca2db5fad32761f282b4c7684827b35a1709297c9bded1fe61a4e1963d32aaf4cd0ba5c51ad9c1aa3494c47afca86a264293d9a940310d6c1d8bc3e51ea3e12488e87f624e738f3568b21ab5f7a8b299b5eb0d7147ca794",
-          "padding" : "3021300906062b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 233,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "8ee3b703c37759112397fbc6410d9c95a93084f544a26756071b298ba563b2c22962befb038d995912ef5b48f5ffb9d187be72f835d0afa764eaaaffa2cf42b0918e8b364bdef42a482e571cb949342654c91e3012776620cdb590323326e2861d1abdae6ea2fae95d7304b25255aae9d7309324bfb6b47cc2555e5191e95a79",
-          "padding" : "3021300906042b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 234,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "7ab24ebda94da9c07a8742a96884e7006e36c15fadc0d41721d8192581ace97b040af10f79bdf1041ce48bfbdfe0e2807042ef91efb0136acd592346bc8c572bd0da5f6400406971b8d84b021c0550e32b9ae8cc4481b8979979170d7690158dc95f2fea00e05566a2369a3eb34794cfa6792128d72774eb0fb504490a5e9484",
-          "padding" : "3021300906052b0e03021a05010414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 235,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "49877ff5a25db5d9736e7c0198f7908dd0eaf2f2ac754d6456073df7a1b8d87f49fe9ed7caac03e92cf8bf253626c2ec049c4dd4615bacc5a617ffd874934ad868db7c5d7db8e37bddaa22b557b49bf8ee769bcd0d0faee45adaeca042fdfabe0864256a64389208ea8a825d373c439e220a60fb30ddf96427741e5771b89200",
-          "padding" : "3021300906052b0e03021a05000415f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 236,
-          "comment" : "wrong length",
-          "msg" : "48656c6c6f",
-          "sig" : "6acf67de89d21ac6c0e0360dc872eabd3d9f315a46921fbc835391f4e5df2d5a73826cccc3ae099c76c5e0b5dcf13f76316cad72f2715be8927fe83273cb5b10dce6b4a58236e90028146519ee975599e2cfce518be7e20701b82d24e1448654a89a52cdad64c33ef916e1d3a40eaeb07a7b1509a151ca7a8c3f37b734dbcdd3",
-          "padding" : "3021300906052b0e03021a05000413f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 237,
-          "comment" : "uint32 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "8291239e82027853aad5ec6526dc14eb2e4d6f62459cec895e311302e531a472dc720a55f01089ad3ff96608cd0804dcc4816441f92e77b9dc59d85a7b750cef32013fc888ce4bab028152ed07d31e1232cfbdcdbf096cfbbed22be93a8cca41ffd69575c3e47aa6f3c4bb895690622ad253c60db7fad789b3508252120f2905",
-          "padding" : "30850100000021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 238,
-          "comment" : "uint32 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "0c0a60f4426a0922599d12bf623821ef3a69e88b8f3df39c998b91951bf8fd9f12f379db75bd051943076b73f145f6de4e82c050bdff9989bfb7430c6b4483502d291e666fc1b93e61a2e7dfc4f3b3d0f695ac605772a8f54a85148b76285aa0ae2a993d5061dccac1afeb9605771de9b51d6891e875c384d8827faef2388555",
-          "padding" : "30263085010000000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 239,
-          "comment" : "uint32 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "52d65dbd6d48dce0dbc538883d3508588966c4932afcb22457221c34414a59d8effbcb805c6320b5edb024c745afec75bb7c698d9e903fffeaf7a4ee8c36d7f44482f5116d8d7758f08c889ad777405f204e1c5b75e1dd2721f46679fa13a98f8bfc07885ad67a43fe4c05ded4c36f8d7e1bf5695bd348192986f1b40c60527e",
-          "padding" : "3026300e068501000000052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 240,
-          "comment" : "uint32 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "485b9c137230f1bd439b4b5753be8267f386e1725d63d6c29bef2759c8fc81d4bfe2b5759e9dfd1772fe2cb661d320ec8fc831cf6e4abe8e18d622893a7ee92c64907c15427e7748faa3d1445e7721260e70be4f32167d60462fae53bfc2d943501b8634e443a940d9f41a1391119305a0367799909a7b83fdf7374721d4efcc",
-          "padding" : "3026300e06052b0e03021a058501000000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 241,
-          "comment" : "uint32 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "73c06cbffd5b65aa863f4d61321d840689ab69885ecc340748b8c4ad290945074fb58c73a419ea9f56e9ad70d1b133567a6c3e8e42a9b009241179eb154d7fd1603b6e25db969bb62eac8477addf62f1437d225c57725f3a017073c7418e70adf1e5caf81740e9503ff395b956bc90aced537e846968d879e1a17f4823aa3ffc",
-          "padding" : "3026300906052b0e03021a050004850100000014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 242,
-          "comment" : "uint64 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "5d718291abc4c814b265b5eb7c41d96648ada9e6baeca90e4dc851a1655a64aadc072ed9402f583f6f56b1d885c9423f4b708afa978c3c941969188b44b04d4d787bb6079e3527d6c1e36cd5fffbd33178cb6f23c4e1302b3a59cebe6353b6b10a005e6f24a5ef8350900b3717646917d1efdaf8aab1a3e994d5627a8d11e577",
-          "padding" : "3089010000000000000021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 243,
-          "comment" : "uint64 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "1849ce77edf490fe5825f6bd1d6b4c312227fa9296ebb4f5e9a48dcb9b9a8918362a92d8a620dd3cec378f67beda0216b4c39fe07903bdeaed853f8884ba017fafce472c751284cfcd4db8fd5b93dd821eb43a202747927f1bcb947ad76ebd9d6085b616e8f8485b31889b95f28c4bf06dd4852142ac2f5ae707d1ed4f23cb5e",
-          "padding" : "302a308901000000000000000906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 244,
-          "comment" : "uint64 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "0d3eb2ba13141b7d5fb65b0ebca47b979bb51778e762bde3c4cf33b02f84b0567214eaf31dfdc8197c2e84d9a85af76e8bf832a5ca2797af79b0293d85f513e421714e364ac5a5551a066063f008d6eb7c3bfdda6c6fed53e0161cb607ff7e78916f301cd81dd63f351eab77395c718b56d8d0b73b4806229999fb98aaa7751a",
-          "padding" : "302a301206890100000000000000052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 245,
-          "comment" : "uint64 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "88b8e16d5527fc54feac2b63c905964e71c47701dad5944aba4847460b235c09e9ffa8bc6e59390dfa8d739893cbb32f5b06ec7f1fc918ffa0c364e0b5985dc05aafe98a8b86b18168d7705231dede7f0ffef76e6805a35a0ed9a78bebedcc274169f242aab6c33541c840a1e50cf09720b2aecfc356ed88ce1090bc54499f6c",
-          "padding" : "302a301206052b0e03021a05890100000000000000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 246,
-          "comment" : "uint64 overflow in length",
-          "msg" : "48656c6c6f",
-          "sig" : "54bbb6fa9891afe6101547c34599fd1fb4bfb3dbe0c57fcaba3bd3700f0ee7d658ccd24bde5394aadc7480f181b90576a74de3c705b85bf214d9d8284be4b00b12678891989c3e3e16f53185fa590c016c29fd6ea02f97f1a872100969fdc57654b691122f2eddbeb6dc558ade5854fc8f26c11c5c32638bd4f7253099c7d1bf",
-          "padding" : "302a300906052b0e03021a05000489010000000000000014f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 247,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "0dd112d02c49ae5057f4b89c14b871e5a446e96dca84c6d0d012c95615cf43ebd42e79d034fdcdc93de62e3b11dc11dba63dacf300190d443e3796e0c95a5db3955f799ec1bcdd4ecf69b708fec727b76401e989f5cdd612773f65e1a357e0b2942b78aac09dea9eb0d86463aca289a0af876eb4ee031bdf10e0df27516ebafa",
-          "padding" : "30847fffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 248,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "603d34e2f71dabf90d862e828a0579fef915972f070c495da35fb279808ccf4bdbb0a43f666d203aa494f0a3012f5a4518c2a83fd8a8d3f1537be15174f22a355124657fef6e1b673c4010e8514cb133f63a15a7245ba9fd8acd03c080e4e89531c0ee3b41612e34b136c07c469c042b2b2718dc600cc1f4069063d0989fa188",
-          "padding" : "302530847fffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 249,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "11238413d11b4c1e0e311fee14bc4b3370c9943fc22c8b9429487bcb920e091d9edd0341bfc79070337854884267cbbc0f41dc34746c3e56096bc03cfa9d58e812d2bb9cf7dd90f3f16c048036255c0338c3777073a925f565ca9c9f78c7edb856f20a541275f84eef9a022e94dfeeeae4f07416cfefd742c21da502a1fe80c1",
-          "padding" : "3025300d06847fffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 250,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "8364095ecbfbd1f50f2964bce941395095071e45e9ab55edfef6ec767dc3790ac237a11132e6e087e96c226fd338783d4de817abfb9e134c2dd61dd4e400188f50be2a7cf3f96804011b5240da29bb1e8f7d4337c8e1f2af0acc1536057b0114a23172c6d37f9128ba4c2b719158ad70c5c44033e532c58d0d79c4508470465e",
-          "padding" : "3025300d06052b0e03021a05847fffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 251,
-          "comment" : "length = 2**31 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "8a3d7f621509191a435d03f94a338c1aeb99a824eac10a7c8575d1848f16af74dd87db6137a590d3e0cffa18cb5c52e1ab42688c2d50afa5a29730a98d6cd60e24f13c7dfd8500a9442954a23e773560a11b1a2a3fc087a28ff2520aeeff2a058928c9af14e90125b0d534bfec11eb1a02227e7d513569f3f8dc6e35f6fe6136",
-          "padding" : "3025300906052b0e03021a050004847ffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 252,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "149a74b89d1eb542f383ce0f24f8665b1387529770f561cee91f39e3af3e82c1cb0f589f4d6d5e9fbe92a8105993d55c205cbf9b4ec4c3085739ae1ae2ef4615d43040926813981d4b626f3c71e08981b8c900952eb23d8b9da218fc3f1f113a27682ead4466157e9043188d331a9632c8972ac7bca5729132bcf4b76309fcf4",
-          "padding" : "3084ffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 253,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "3b55f4f1b497c53dc4fe59e8e2c8bd48f9199bae420e43e5a22fcefe047a5fd6422de99742ab6b3f946a908d382852359f5f80037976287f4806ee3edbfb94a01d81fcc9c28afbbe8d824089bca34f939d5298152bfa11e69e047a6379723d5d187c1cee5f437517ea237d0a024d2d21316666f867411b0b84f6010dbf3fc2f7",
-          "padding" : "30253084ffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 254,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "99a4a625ecb0c1c339c42b058d05f8cc6cd47bb29deb1df909fc16083e08ea18f482dc3932f0f81a0881c8a4e450d52da647fe501baa9363ce0261729beb173e3c6b3ecfb392ce93d89ea4c0e911ee2b95574a966c23276b9495b2ef6dee3a054c728c4ebb1cb294c703e1320a7d3cace4acdb57c605ab1c197448d5b890e71c",
-          "padding" : "3025300d0684ffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 255,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "4473370a0f1cbe032dd66017379c5605c69fb77c74af9f119f93b4df107cda358dd074a7c8a2a4b3afb3bdd4d6074be90e6e8018fe482121cea28e7d42b4a64e0fad25c86d4792099812b74dfd225efefe1a4c9b664a3786c9e2070bd7ec4bbf666a4fdacf5966d121fd17169db07d47f04beae689080c76592527346d3741ec",
-          "padding" : "3025300d06052b0e03021a0584ffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 256,
-          "comment" : "length = 2**32 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "1157bd4955170a4d8dbb6c3e20faf50fdc20140cd2f0ba30f2b3b059742b747f501e8fd4df0c614d247d7c7ffb91365e6bfb5ce36d21364cde0ddf7d9b10c1b1fa0ef1aa37deecfcb0002094a6b2971854f70912e62e91275091ecdbf0c218c0a3a4d7c5ddc7eed97c317f46ea2b554d391d08a5d015ffdf1c51de55f8048d1f",
-          "padding" : "3025300906052b0e03021a05000484fffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 257,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "50af5b10a7fb4f26fe6abe148cbf8169fc5f7260e732f4ae4ccb79877a3b1c8d6fbc476a43db9f5e94c8c13fb256ce767aacd02445b47bcc54f535ce67251ee94a63b33dac77cff65d3de5aff42f12939f10320d40ac448cde70bcd8a40fa20dc91354f97521d847e45aaeb9fe38a8c9c0a3ebaaa34046a620654e305cbc3289",
-          "padding" : "3085ffffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 258,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "4635e85ef3201bd0c0f1e57a2fda4c1a7b68f36db6ca9f1f034c75bad695a67964086d3d7f7a7505ff10cd77f1017908634f309fd5e0d4a406c1c579b08b397305e0e6a57390738c2e663449a72c0894bb3beb0933cd12c469181b139ee21ca9954dfd88b0ebc6f0e8d29c7b45b2bf5714e17ea9950e0d5b476b55aa0b717bfc",
-          "padding" : "30263085ffffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 259,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "6cec5f74cea80f137a424880ca5254507315b6e50376a969a444aa0c33d5a9079fbdd417662c16048a249a94d251685742ebe4fba882e797bc77f6d28105136b2ba9bd5ec3080343d00d7bb9f579a334c945c1239680c11170e0470e801bdf6f9789a5428cf97b0af0f2fa77db2f8fc00182b1bf9601acde6fd5158b4f57bcaf",
-          "padding" : "3026300e0685ffffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 260,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "0513eb217a06590004cbfcb0bc94c0c6f79b488fffbba9d85e289e42b91824c8c4e1dc04f3ad6f6ce6e8480c96889bef3c62105bdff8af972264cf0110b4e522fd26ff6af8147990143828fa3aa2ba25066369357e19fce0b8f90d048ac1ef19380fe493fb70ac9660d5258dc0657a6270166d3400c2421bbf57bcfe10e2ad64",
-          "padding" : "3026300e06052b0e03021a0585ffffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 261,
-          "comment" : "length = 2**40 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "5b0df944013467b97409704eb2130b06e537f746c5387dbb858651f4446887f874977dfbe9d5fd26d0be6ed9ed9381b9a8511710d0756434ce897cb00863c652ddf3a6b2df37f9308a46dcf2027ea523f124c9f32c2d9a09b5d1928e2677dfaf5e0d8a00c3d0edc5c1441f017011a16f2e0788fb2d8d22e395b4d79a8375ba49",
-          "padding" : "3026300906052b0e03021a05000485fffffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 262,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "52be2fd82c24a1fcbcc3d832732eb97b1032933fa6af3b7fd8d63fca652d4b3a40c8488695414049f416f4eb01095767d75325662accd8c47bb75500ea4a99ac1fbd01815d0b8ddf450e097380c53715298c22fd3150b8417a66f499495372f07e98578e407ca2d226c69533c80b08f58e1fc0ca1cacb8652fc9374e12f6278e",
-          "padding" : "3088ffffffffffffffff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 263,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "2703db8b7d2f7a879c235f95a9a39870074efea76b73663c50c4581eb2debb494472402d271b115a14fdc14eaea36cdb4c199260abd321d8cfbd1f56b1954761c5c61ad3ec1e440b53f1cceb156d8638b597eee1eb717b110f30fcea92f47e7c1ba438b1b161967f555bd14f0bcbcd21833aeb2c6b8b3f5c4727d07ddf009b11",
-          "padding" : "30293088ffffffffffffffff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 264,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "927d2fcf22048a79d64b34aaa94de24a10770a95e32f0a6e2b9bd5a9c1e502e9fca540e54aca240091923bf4a64fd703b30fb5cec96c8da5431373bfec653da1ab25cff5024e1a029cca12469db0ca362ecefadf60991fc1c1615154450d9e1b54abad613f5ddccb5545e615c6168d0247f8e7c061659c9946c3af1e373a618a",
-          "padding" : "302930110688ffffffffffffffff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 265,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "1da7bb65b41d9e5fb8b895882b9b6c2aa5ba32e7297c8eb3d64e5ae4311ad229692296cc27eb84e8673c29b65c35b1d52038d8b4136b334f4bd385621d7ddd6e0b5718c65834dcee0e7841a154f1953b130573995ad5cb29849490366936ee8a383f33f6cab3221d21d86c42ad8fff91efc5257ab8e9279df968d477167e75cb",
-          "padding" : "3029301106052b0e03021a0588ffffffffffffffff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 266,
-          "comment" : "length = 2**64 - 1",
-          "msg" : "48656c6c6f",
-          "sig" : "4c3a7204c4807d5b44fc36eff6b0513730fde67c74eb7a7d0484b7a5b89e444e89b07170ec0ff4ec4f58b9f13c3bb82cba0081b737f62277dbbc678933dc3faad4dcdd61c8b4d62c7a1c9a6dc40c564b36bcfb9aff90e9c642afd81a8c9911351e3f0b78e0ad6850c937a69ee2a639be88473682d7c4a6edc77365cfcfe91075",
-          "padding" : "3029300906052b0e03021a05000488fffffffffffffffff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 267,
-          "comment" : "incorrect length",
-          "msg" : "48656c6c6f",
-          "sig" : "32107f36c8b86cee3154d197a6e281869070fa9947177aff8cfea5942b3fbc323452b002f957f19083b57d59e6279d80821fa33c1f450ef5f805eabf1782f729dad2f9d0e63462e901dcd449c7fb14a8c42ec9599d30cf1b16b45550061f5b6f7f91c4c2bcb1613daaec5984e634fdd65a19cf24cd29d093406d7f5f4c443a23",
-          "padding" : "30ff300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 268,
-          "comment" : "incorrect length",
-          "msg" : "48656c6c6f",
-          "sig" : "5ebb4faf49a82b1fda92b2ccc8de0d158bf62f819359d06c6a4a2a508bf728635296d188d5a221b40cde9d51e107b8e8f73ed2a0c3cbd92325ddea1cad1f72ff6491133ab7a2847f3d339cb2317e8b9e336516a7a9d84fa8fb2b481df9e1ec397fe97d18227ab98c2fa55f080569aedc7025af770674a5b33c61b811922058dd",
-          "padding" : "302130ff06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 269,
-          "comment" : "incorrect length",
-          "msg" : "48656c6c6f",
-          "sig" : "531ddbfca4d3202639ecda32eed51b2fcffaa0cc6a0e97bdc1df71ab3b800f3e80f661b118d9cd82dfa1ae35cc3a364dd2a1c688e90cb6b6a215485e5e30679838bea37edcbe982ae858ebb461a45ff687332be102eb65746d9539a693b489c3cd5901adecc2d4afeca278fcf3b21774f2d11090f436d949d4ef96480839b678",
-          "padding" : "3021300906ff2b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 270,
-          "comment" : "incorrect length",
-          "msg" : "48656c6c6f",
-          "sig" : "4ec4e1b4bb0ce0b002b8cc0b47fbc2baa9be415e35d77fb95906620322a63fed39595837d1a547cffc5f50c34a4daebf3a15d7d7ede9e583ffefb77ca4e4cd953b91a8608ede58a5500dbb71ad24bfa2b07bbec03b702c53baf4a1053d4834376b205854cee7e0dbaa1ec60f72ef238fbce20d76f9549b485b41173da58356aa",
-          "padding" : "3021300906052b0e03021a05ff0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 271,
-          "comment" : "incorrect length",
-          "msg" : "48656c6c6f",
-          "sig" : "7d54aa05c2043d5f6330ab97726ae0407d0f6be65cc1146b374d3e7f75583beb5ad0ba0361b2cd6bcfcfa01987cfdd4423047fa6f909b3fe3840262c55b3f2c0385cd8474cb92eedf9eb9113e9e83d0ae220124493c3df2380df4cea3e88b81d9e3947feebd788c2417c644974f6b909c1e44b75b74240b370f8663e9a1f63b3",
-          "padding" : "3021300906052b0e03021a050004fff7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 272,
-          "comment" : "indefinite length without termination",
-          "msg" : "48656c6c6f",
-          "sig" : "1573e93ebc5caf4eba58c9d80b89c0b62de2073a85f5872a22ea283f37366fbb8c6c7f4b0a4f459505d95da2921d8aefa640d81f5dffb9e0e679c69ccb310eda59f36d49b33219b30ee3b0f680e2794654c99e63effef73b09891f67c403283999943d4ded2c823797ac2773aed7a0af88cade66f4a203fe91c8d86d720fbd36",
-          "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 273,
-          "comment" : "indefinite length without termination",
-          "msg" : "48656c6c6f",
-          "sig" : "9dc2d9a253cf809bf178002806d1c9883f5c74a0734f70dea7e322f2ea00a00a3bc864dc4f0fa90bdf0af0a8e46f893f6405a63998ed27f18cdffd1b46a183763e3bcfc4c491a023468f1b355d12be2118e4381d960fa2548afa12a6ea46da03268d1d050bd942ec8c2bf584f8d2ff00ff975860686311b1dd17d1ad6f262d66",
-          "padding" : "3021308006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 274,
-          "comment" : "indefinite length without termination",
-          "msg" : "48656c6c6f",
-          "sig" : "3b1240c785cab25d0ebd26078da7323bd28352a878cd405419cef18938d27dede67112d32f6a60d22b14c78e0f5c392bc9f53f2a71769e21a9dd4b5d8495a203ff0e715a1173ce69f3c966d83e8ac9a45ad534c36b77d1cd120a6a3236ce023099b19acb39a25ec420f8765829b77cb048a5136b597645caafbc34d3c09723c1",
-          "padding" : "3021300906802b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 275,
-          "comment" : "indefinite length without termination",
-          "msg" : "48656c6c6f",
-          "sig" : "84bbedc08a146e7f8923dbc116c9793d1bac3608d71f962664d2a155bc06b8a02d3a346e067f347cdf50ba537c14c1c8bfabcae5ff982e5543b626f89627d1a4bace0928115d22d2b0daa5285afab45c9d54e5fe1832494f432b32bafb8a922360f5f545b15dc189b7e64dfbe96372b401ad519162488f0123934a9c0512b4d3",
-          "padding" : "3021300906052b0e03021a05800414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 276,
-          "comment" : "indefinite length without termination",
-          "msg" : "48656c6c6f",
-          "sig" : "15a6c89db01ecf6d5f4d3a1535bdadcab861655619500b010851340b88cf8ec2547bf402137751006ac9d675b42308f939eed23d010fa36006eee53b94d63c3ef3800665038ffb4f017c1f3f5f8e9b909fd555e67cb002fbe261a42bd7b617525c5027d5af82aae2b6fd29abe4f503dc5f2620aff14d7b7798fdb8d4a7629db2",
-          "padding" : "3021300906052b0e03021a05000480f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 277,
-          "comment" : "removing sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "14951bfe3fa22176d5ff4ad5f7dec0d0954e25a2381c91bc17707034ba19087c9f5b167d250129b95b41c883c69a5628196f9733cdff2daacb49ab61ee430582aab7c785e4f70f2320ea1d18da9ed0bd4f96e597977c2aaf0c2b8a3dfd8015d08195e3446efe12788fb7cbfd612d309a13952682b65f03a8c9440fd735fb2078",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 278,
-          "comment" : "removing sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "40868e6b6d88f66b2478d680ea58466d642e141951f69c1f25bc3f23211100441857b33253b4cf1668b6568b858d1c604e6062022c71c0d764f260c1924972ce44a89b508a3a220cc5b545c4166974e6b619d3d6cfd0b72be7f31070e743eb7611230b4da746f64dec399f71bbe8aa998a99f746bd422be6d02f0e80f5e9a337",
-          "padding" : "30160414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 279,
-          "comment" : "appending 0's to sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "34bff75efb6f79769cdf1dae7cbf4be4644b03b7e44ba74a277281e229a6bdd96f922884fdf97705a456ad07e13f90578ce2b3aad819879be2c4097ebe5329e8eb72598005d02c6e73d8ecdbb45fab138cd88259320397f6b90a5108adab63ea07e1b86f5e20455368cfec220782a63aa7aea41761ead5952f9c7da59135f0e9",
-          "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 280,
-          "comment" : "appending 0's to sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "96d9ab79a2c8db9e9a483d5c36c0c3ee430eed6bd8385e4b7b655b7428a28d609ef4a9d413269572cc4be679497329042a1e1b0b090cfbc9a9236b94942e33e2e54a593efc3821ced8110042f4e56a521f4f46a3305dfcd1b899c0f092aeba78ecb8731a91c2a64bfbe7e00d46d85275a04c2269a74cbdf3ee6d6aa4867c8728",
-          "padding" : "3023300b06052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 281,
-          "comment" : "prepending 0's to sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "26ec2f6585eb6e732d8430faad988f8223db0f11b8e56c14370697f083f16daf1ce571f73ed43162b40abe8736a43b99cb3c6c6e4a2fd5e2cc75bf779f10abd718eb0f252fa867b4d08cd8ab3f80745c2d368ceaac264427b96dac8b4b7aeeb3303cf4bdb7a45cac40f991c1fe53e8dc530c6dd76302dd8f6bfcd86d6ab290b2",
-          "padding" : "30230000300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 282,
-          "comment" : "prepending 0's to sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "9e4c79c5fe53b5514cd9a3f3d6d898b53f92859d7f862f66b08585ebd6efcead5b69df6d12b1dfed30abf729558f340def7ffd341bc599102ee3cad5459b11457a2a463cdc40594fea9b7d8d0a99b952aa442a25f77991d34a2dbb0b5d73946d5780c176f0cd977a4e2c26b3b25406b7092c2d8ca14205007fcd0b776d01278b",
-          "padding" : "3023300b000006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 283,
-          "comment" : "appending unused 0's",
-          "msg" : "48656c6c6f",
-          "sig" : "94c2d05aa194c25bbf274f9b1a312f87128d3c177cda66961cc8388a3ed5c658cdf320bc6af14e57b1569ee6f96280e5fa98ca6eb67017cf3077fa63d9f7a916c445dceacf73d06fe53060a11a4c9ebf0e6203890c0da57324d86fa92e8f9b854c262b57046b1422c9aabd40edbef96f97c015690a4dd1f84bcc02867067d35c",
-          "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 284,
-          "comment" : "appending unused 0's",
-          "msg" : "48656c6c6f",
-          "sig" : "789468845b4388391ff3baafc966a3957f2db65a01fb34132be2445c22b303fcdaa4379c14a9291f3a7e1f23948c5c6b3d1d61934d3e5689267a14b122017df19da59a762114b4db56b17fd61043caede4ad0c8f89ddf180456d5695b337525f6dee1d1806c69a14868ccbe6edfa523795a9422057a3dd9ca8636e5026ca74ea",
-          "padding" : "3023300906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 285,
-          "comment" : "appending unused 0's",
-          "msg" : "48656c6c6f",
-          "sig" : "65929dfb1cfa05e3a405e1fd566e86a0627ad471101f5b2ace5d2a225641a521ecf2638b5de2c9f691dc0d4260ec49ce2b05bac8064e5a16881bba6dcf7fbb890896c27ca5fad9bfe6259aaaca16d94f01c24f13e30285caa9d610ad26457376c332bba7ab26d6bf832c7aeb2746faa914936c9ee51f9475861db055a89a1cf0",
-          "padding" : "3023300b06052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 286,
-          "comment" : "appending null value",
-          "msg" : "48656c6c6f",
-          "sig" : "81bacc6576415739b7cdf7ec09bbe148be54e8e9b1941992d6c3108cfd3bf095e9f2b4d0c9101136def16587e2121e6ce9d705be253c1597b4963ec43e99ff48d2cfc1ca6141a7c6c309d7a09312dcc5d2b985c38c89bc532578e19f544a0d22262306482973163a93a0e7845479214300f00cb9a01bc5253650d79446c4aa7d",
-          "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 287,
-          "comment" : "appending null value",
-          "msg" : "48656c6c6f",
-          "sig" : "42b488de85d7a4dfd153e07d965116dc20c05b971faf7c7c899dda96b3325947a36652cf1c6861011307c47b45fccdf1520c39a56e5ecc1292f336ae19256a2e68ca1d3e8930456e53b3778ccaf50a79f8bbce54489281f7dfd376473951f1a893460503cdec4ed81c722906fbde5b9553ace4f794e600b00e79b11822d13ff0",
-          "padding" : "3023300b06052b0e03021a050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 288,
-          "comment" : "appending null value",
-          "msg" : "48656c6c6f",
-          "sig" : "497311a6c38b7b78634e563139cd5255d5db5f49950b9a45928f0e0b84c9db2bda1072389bdd5c44b229a4038d5dd111e4681fd94fa09775e7670fa7de90f1362621f1ca85fb9c79d941fc34b121f60e38b211b3bbed00edbada6f53aaec2555ed59145af32235232a322519fd408ace24b819e0e3c9bd0a6597d84f9530d208",
-          "padding" : "3023300b06072b0e03021a050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 289,
-          "comment" : "appending null value",
-          "msg" : "48656c6c6f",
-          "sig" : "637bfa1961468a3ceae4f91bb9fdf7815d171cdc947a8cedb8beb9077f2096b65500a15c99f512c34acde371be79690acb660bcfe55c0d1a812d12d079f516a6d48b3d35c5c10f21987ac6ba830839a83b1d140c15c57a9df09dd0b1cceb323b1c9a0d854510116d0fa5d16443ea5fec8fc1ec782c76936beef5bd420d789494",
-          "padding" : "3023300b06052b0e03021a050205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 290,
-          "comment" : "appending null value",
-          "msg" : "48656c6c6f",
-          "sig" : "7fbadbb2cb7b323b8f1dfe78abd8e6b78df62aee4cd2d261ba32c05fa321caabf2ec7486bc9811999e48b3b1b06fa1c590fb7b014fe6137165357b4977821e74323eb64a338e98cb0133cc2a9a46e1691fe45dec76781e60022eecbaa6773e911589e831ac2a485c9654fdf3cfc73b66029295eef4c8065f831abafd960ac0b7",
-          "padding" : "3023300906052b0e03021a05000416f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 291,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "7d63040570a002364293787b3c0340b7c460eea2cc307d4a6542662a04c0f07ebbc27457f1745129eeddf08156c977e8e346b112024b50c2e3d3686b8e87dd0e35d4f5499cb14049e61e81a5b43fe306ef02b644f20f8db8ed738de9dc630dca8de629a9bc268bee600b7c13c35eaebbbd4e018df9659354efd9bcd5452f578d",
-          "padding" : "30264981773021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 292,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "0cc6704e2d24718199b007a9a590a3a63aad1d5f769bb29d2c233f38cd994ad8359522e9c1af260bd8c526de9528de4bf67ea0a34286eaf9e015e4276be490214a52e4f66d44d6f71b7e5c07850a18072ef3e15ce31ad0a085ac59501abc4552a5a2762d484ab494a281801eeebe59d20187f3b6a168cf23f0893b3ea100bba8",
-          "padding" : "302525003021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 293,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "2916f598221ebb2894a79ae4580d3e7cf6af6a5d345d4be8b254b9efa08d267e3c25570a515ae47a22fe24a914218bd7bb8322e96d49cf16076cd5cefab88db6609438d939f392c2c985272c7561726e51c85ade312ea1b77cc96b0d681f6f2695106d6e8dd5fd5556ed88151cc0a4302f61f5f3db1e714ce11356fd6c6d46e2",
-          "padding" : "30233021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00004deadbeef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 294,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "934016d53fdc1e94095ad0c3b39fd01983a037a5344c486edf74efe2daa9da8e1b8e597176faba7ecc9562d432ff98dc205d00cb3937221a6efd35c42674058db4edeec5b6bc86f49e31201e8c6d5b0fe3d0463e2b36bfcd9bbfd055e89034446da971bc3dfe793350f2f85862baf328c542199ad55fd56bd1f75094eb5e09e2",
-          "padding" : "3026300e498177300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 295,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "5ef2282d6b3b03eeb68b8f1fa17bb20d7f3bd2a66f2450ad97048183c3647de4cf533442f92e2ea850b09c552be9e99419a48891e4952a0d4d886cc1a7115563a49c3490fb8e146b368d3a9f9d98567d6ad03799e6d6415cd325a413d43be0ddd2d5b3706c0bb0432989bda8a5d4543b832638ff3ee4ceaaf239acf0c1ac2f53",
-          "padding" : "3025300d2500300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 296,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "88f59da879a63cb4fa4523cda167443e78b2878e8143a54cb0e237ff51e45d34d17d59ce704b72c185346c7093b79fcc0700516dec9c5cb8c3bd7bc21a1f46f593b38b4dc52f80e06a1eb7631bf2590dc7001c122bd2fbe260547c9d13010094ad1e5e75255cbbda3539b1454e3914e6c1e8c93f58b36381b844c39d08770c64",
-          "padding" : "3029300b300906052b0e03021a05000004deadbeef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 297,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "1458cdaa71d53e60633583b0ca0edd905eaae3dc86350c4803a5fb5d1620b31713930cbe5d21d9530cd791c1cd10007078799a9359b09f39c61394f0d2ffe366efd4485830aceff2296da12a1f9b6677a1b8349cf6b832e7b9821e1be8d5e39a7e892062926066312b231306ba32cff73b03e9be39f12eb1a559e7e18d912f85",
-          "padding" : "3026300e260a49817706052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 298,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "7f2c73434ec35a0db8a6e89d81171d7df1e1479d4b5e00da0d5e1223c95ebf9eaecb9f5d7b2705ea3e06f42828fc6c6c3cd3af52e3dc20c164789785aa88cbdb63c4b973b4f871c085670039612d4a9f50f0ff84e38c576b09bcc9d55d6c66418f0e8737b1c0e8abc3c2dcee84d7861e58d4cbe887d022a3250f28059c5d4288",
-          "padding" : "3025300d2609250006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 299,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "51d48f38227999d2d1af07719ec317d34e2ee5e42650a6b59b2d0057b7df31a2b551a736c621f5a8e4345fa755f57e55ff80a61c041c7c28e9148b020913b72d6a0ea7cf2f956b567eaed32ea647687505e11d756581fa1d0b593207c6f2db3a75a0923a375731b925779fc3ade0a00997ce4cda3ec6e981e91e1af78b12dc26",
-          "padding" : "30293011260706052b0e03021a0004deadbeef05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 300,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "55dc53df20ba602ce3b36914347d0a2c22ece2b11ca27b9f8807ffd36545ae33f4a665b6a125253a5cd7c358c52d75b65cac14f9553252ec770c25ad03693a1b6f44470a7418bb55ef5d6a0528ff0174119b1b43c1fd1d07a2506603def7f66d45afb99ba70178b3774cc1f3b4421addb8fee0c22e86416b0b1f3c19356ee38f",
-          "padding" : "3026300e06052b0e03021a250549817705000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 301,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "1ff67456aa711438c0bf7e46aedf2cd4ebca7d0e9f8b3f98af54c949a1e27026281f77ecc61ae1a981afda0bf7aae38619c5447508b0fea79a588d0d2806ae0f67b32d6dac4b2ad58dfd413d235543666ddfe31d8545015edf25b5b90cf0f8c592f048d009a293dfd1e7bb50a37d52c1540bccf99d8fe2c1299cdbc563d96b45",
-          "padding" : "3025300d06052b0e03021a2504250005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 302,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "6af2cd04b32de5d3cf8ce985bca6f581e96dfb4ec483b1d2c06cf4439bde888524b2e6675c4fd4e10277752d269c87fe1c4eb70a72a2596cf53f1f4f0ba3e82212e72e09774781c888a96e8870658bd9c248bb1f0f7e3c44f4cd284dd6c611cda266f2f841ec1215295edb5291ff1e5111701258441f06b1ed85e16452a02cf5",
-          "padding" : "3029301106052b0e03021a250205000004deadbeef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 303,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "0541e9a8f0735076b58133e205803982f403cd1203407ebff3534a48eb35f06842fd496d505739fb07dd85f48b3b24685e1d6c7be539edc862cd9b6869097c7344847201842aeea3ebe3595557cb93269898e2109226a2f4eca5bfef0851a5fceb2d6bac753faf6dec4911610e6b40d827a00502537a6fe743d616558813df8a",
-          "padding" : "3026300906052b0e03021a050024194981770414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 304,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "5e21d6a684e3daf0be25155cf79874a6bfaee2b771d38ab8895f031cf25a9a05fc8e1d421ce78944bf57a3f0214ee090c42cec51decdc0dc3ab376deaa4603d59eb3ec8b4470e6d8b00b53651873d48f6f2cbd035bacd0f7b24633a025b8ea9dc7c55dfc6578601849e9aaaccdf5fd4d1611b45ed3abe2010079e64de8ab74e0",
-          "padding" : "3025300906052b0e03021a0500241825000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 305,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "1f96486457eb037dc9e2464e507d720adcf90f48a0dd1d42bf4239df64e5ef25556ec27290a8d87fc9fb89ad0a8547980f6b2bd7efd0dbe425559bdf08005fb762b92d0aea2f33c17002ab9a911e457532f0134d2e35db6b3393436de160faca0a2c82509ec929d2893bf82a83bfe1a59fc9189e7ca846998b39919d3ec4d6ed",
-          "padding" : "3029300906052b0e03021a050024160414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00004deadbeef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 306,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "48eedcec184b7ade4fb34efac030a4ce140fcd91a1a1e986bf5232e8db9160f076d9ae36ca23246efd53ece2014ea56d5e596b42ce66e3c585d5e6a4cadcd779c6df0d8c43e7945cf02a07dd3851258ed021ade9cfe6fc3df222ebbd6b9e3f39b4331a11c4ea401592883b4f8da7372526f4f3e7acfdad447846ac8160e5ce38",
-          "padding" : "3029aa00bb00cd003021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 307,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "107ae9af715ac312dcae1f831a818dd55caa33e659ac6f1a15ef41ebed6207cb54a7faa7e45b519a3ca9c304a645f24ee9ad3eb83d6856ce4809e5d7137ed30e919c9615382e9e8767495495cb7dc4cc27e2ee8932c47cdc6c9154391993108cf952fbada535823368843adbfb06d874c14634659f7dd89b02a14377a5c1e8c0",
-          "padding" : "3027aa02aabb3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 308,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "34b98ee9fe1600e2806f67ea122dfc989aa727f16c8e2cf704b1f05026105b595528692c16a052725a2ea47c4ea2ef13c2f5f9a9304d11607a25b8cb261e64658c6047627e9a7651730b81376d9fd978547c270d15f5c57126e3b41b39ca687d6c8be52bf2552104ca06ef64dfe317095b835cdac2840d4f0d3febcc3863684c",
-          "padding" : "30293011aa00bb00cd00300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 309,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "358ce2879366fcebb1212839560958d6a3cfc4cffe2a05e9c7ccbdf18b6427f419a2c1e85fd82e27bc63315a9742d141ca157a435c4f20758e4011b8b0b33b9fb5f0006170c3bbdf4d2fe16888404dbf8b9c00ef30bf45ea68371b76a692f98e79c6c5a574e410a8505d5166112f43cffc506a9d46276cbedfec64f1b2697584",
-          "padding" : "3027300faa02aabb300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 310,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "5affee843b343a6d142406d3d89366a9149d642ca12a661c5d0eb0c1b5e15d3c90dc134eb76aff110b1964ed6566469c47e54aba7145c5601412cd38c630e05236c169f2ac6491795408d410a763f0090e299ad9022ebacfcf2f8f0f248674402479db2387e9eefe47c86c2430e529cd13e213753332fc4a3541de49dd1f3920",
-          "padding" : "30293011260daa00bb00cd0006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 311,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "5cf35c6711fb8b297ec405496e8db527ad1cbcc55ce6122b24ed917fb989c28e369354900abb96f41457f15754fd1060710c6e984db30eb73300cfd890454e97957a589de151225827b5a12384717a7ad92aeb941e1e148e8d008e11598bc7b8a3eac35f2af5584f61335a608c5206e5e24cf934ef2009367f3403e8da2dd0cb",
-          "padding" : "3027300f260baa02aabb06052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 312,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "6e037fa40b3ce48ea72b28bc1ce8cc01188e6f84addcbefa2c729179043b3804d6ff1f25d85c2b9d72acce9c9c64e3f63ecffac670f76b2be75d63b3cee45b72f8758345021177ed13b66ecf0082e3c4418cc92713bb9867c8d28b78f30ff599e82f17734d0772e1e733c0b74fbf31c4f1ee99dbb89b5b113a7f628742d3b2a2",
-          "padding" : "3029301106052b0e03021a2508aa00bb00cd0005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 313,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "5e7bf33ad4d9393d6b368764fac6395ed8ba3da7bf04a0f95d8426684bf0e9f2f78c9e49189bbeec883955af428e6e4527b871aeac21feb8231162f5380077c1fdf63a7cd4be65f813663dd82e732cfb3e1cd09298abbc42fbddc3551772f492627e657febca487db5c03c54850327eacc44dbf4a7c230f1c8166138cbd95587",
-          "padding" : "3027300f06052b0e03021a2506aa02aabb05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 314,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "0c57e98c13628c8188a0095b98d312cf0fa1a1d2039700ab4c607fe75ea0fab11c2c84e5d22d26b014ae1c2aa948efbb1197e39eafc49cf9f010a7b2be4ab9dfa94ad48ce5dcd5c7fd405f55922146cbc541b9ebc1c89f30a2a3f7cf4a8b14797ff4a60922ac710e7496931ff69e4c0d4e06375c05a7ef1910cbd6c3cae5bbb8",
-          "padding" : "3029300906052b0e03021a0500241caa00bb00cd000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 315,
-          "comment" : "including undefined tags",
-          "msg" : "48656c6c6f",
-          "sig" : "874f05aca449fe8b39b29dff1eb20b145ca4bccd25981176d33b6b41a1dcb48b7a668782549013deeceae3599309f541bfd4a15eb984a401bec4f0facce679c0608d962964b85df739ad19a926de875f6404ca5b209891d380f6e53140b1bfc05a2cf1db336d3a01e8777614299b6e2f683f2406b295f3366d77505cb2e56875",
-          "padding" : "3027300906052b0e03021a0500241aaa02aabb0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 316,
-          "comment" : "using composition with indefinite length",
-          "msg" : "48656c6c6f",
-          "sig" : "123c3ba6d4a5de10837fe12e9b2c61ecb00c93c7d25aa440b7c739df817ccb37be122c5f5570e44a943ee345590c5ca0597605c1487986dfb75245f8e89e4f29aaf3c8eb5c5e8944a63baee4d0143ea2765b0f297a1da8a51981c26a807cf4f9a1aee00bb75cedfbf6466098f7aa27f1e3e63f4f0b7b8c40fc837c23248e914c",
-          "padding" : "30803021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 317,
-          "comment" : "using composition with indefinite length",
-          "msg" : "48656c6c6f",
-          "sig" : "2220dc736ee3c63b5d5915050c6687b3861b52e664ce1ab501681d6e40990f02dfaf96f240adf2dfec05edcb268f6dda4129f901f7416660d56ab3a4145bc354fd11a1dc4e1535a4b8a61498508019ac38b61636356a641b8fb4d4739eb84b4fc49647fad35668ead0743aea841214a6e628ab2b5488de6e60d012c0566fe78d",
-          "padding" : "30253080300906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 318,
-          "comment" : "using composition with indefinite length",
-          "msg" : "48656c6c6f",
-          "sig" : "51fc2dc54c9a46a30ea1c7ea262e86c85110f8bbe42d5abaa3eafb13fa7f3e2424090476c2e50e5eb74d3b6f5e5fe379f3935afe5ed940d443fbcb8686f999c6fdc9e508a5fc7c27bc17169eb5d8e0421ebe7d04260c60435f56d4f614ab9dc0b9298c45fd660c352d35d2985831622eea08010bc27c887f95cb33699759e630",
-          "padding" : "3025300d268006052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 319,
-          "comment" : "using composition with indefinite length",
-          "msg" : "48656c6c6f",
-          "sig" : "87fb9a61395878aafc1fb4a872d8e2db7db123ce4b2d67cd36a7f6e7e190d0bef9487f54340c28fe55d1bd9c38afe166924c787169890493d5cd2a5c79317064313b77a481ddb8bff9a917da32899448d9104ab67dcc856aee617a0a65631609f0632d58bb6585b4dd0c4a8bb41fa0dab99a08489feda41f1e7e5e1fde382952",
-          "padding" : "3025300d06052b0e03021a2580050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 320,
-          "comment" : "using composition with indefinite length",
-          "msg" : "48656c6c6f",
-          "sig" : "442ac72092d6956bc846d7be909704dc4633e3e59e6ff4bcc97bc9d412645dc17ec3db8bd885150bacfbb085dc90bdf26129637876a4d5713beee0385cb5ea7fa6ae57208df368b4ba95720a716d58ca6ee5a03ede1cc7f2ef31d8c459576ef72f6ba1b5d9409efc74932543ed601f957913a12304c2e29dac219d78ed12203a",
-          "padding" : "3025300906052b0e03021a050024800414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 321,
-          "comment" : "using composition with wrong tag",
-          "msg" : "48656c6c6f",
-          "sig" : "2ebe12f793a821425e9513256ce1517b03b6bc19e2c2347e94651054caffb1f5d6101d4f3402d5945b4aecd04dacc3ba89d1123916d44941715951e9fd59bf0614a0534762e86275a8f1b0b16fd9a9d146946cff740c206ba6b27b26e8d1fc43b2b4d117e144973091674607844f86fce6f07a2a63acf8df67d3827141ad432b",
-          "padding" : "30803121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 322,
-          "comment" : "using composition with wrong tag",
-          "msg" : "48656c6c6f",
-          "sig" : "6e4d642285fa7a46daf985135181712e84efd52cebe8885b52c61a5cec753c1f8c8ba42886b584faf1551da81232214c2088060e6843d0d319a5e877bd4c500f6832f537306285011e5d8b98e2fe00bd38885211478f27b0d037c34d79d7f4d5828403d20b5463a7e1e2de2398c79fed33bc9eee2fdab52bb40acf9fb68a16a8",
-          "padding" : "30253080310906052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 323,
-          "comment" : "using composition with wrong tag",
-          "msg" : "48656c6c6f",
-          "sig" : "0de20757fb64e3633c36e8965fcc20631e9e890152e3a1d2d6a91fbe9ebd56bb99126050c79b41ef0c107086106738a91d0e815d3218404c1db9d4e8526e085ae10195b9cee788fdf7ba9d28c614bce268af0cc58b8a959fb4c24bfceeb5bcfcc4e326d9de825bcbd8eed0df37de2add59f8879326a7e6bfa2a36eb48eba2f36",
-          "padding" : "3025300d268007052b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 324,
-          "comment" : "using composition with wrong tag",
-          "msg" : "48656c6c6f",
-          "sig" : "2e48a4122de8e1779d169f5a6ab72eba7ca3b0c31ea73d41fd82047e18559ff9706acb85f92872124b4020ae001dadc76b61c0e166df0af677f886cde8e13dc8c2b5c93d62cee44cf3bbdc74756d249d3c59834e079154f6646a8c69a2320cf7bc3925523bc2ca3f8fa7d63650321d2a4de3ef3726f74a2020ff5db397454242",
-          "padding" : "3025300d06052b0e03021a2580040000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 325,
-          "comment" : "using composition with wrong tag",
-          "msg" : "48656c6c6f",
-          "sig" : "6726053471ecf6651529165c96db60559a525efb27d31de913a44d885d33e404fa9dd7d28de94a7d8dfaed297ae500a55bb3535d77dad3031f7edf7bcd636534621d870c28fe64f7b4752f59cb1490208405bf38dc054311473286c52a59a8c6060827ce9a2ccaae9739030927aaa5225d45655be1fd826eaa6b27a8e20a4f31",
-          "padding" : "3025300906052b0e03021a050024800514f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 326,
-          "comment" : "Replacing sequence with NULL",
-          "msg" : "48656c6c6f",
-          "sig" : "1cbd58b8b3007c4298bd1c10273da63a72b7957ef834ef906323f8d0108f150fa5e6a9eca58b8ea4b995ca553d80e801e9cf2bdce6716f577349af9074c73608d17105dcfa419689325cc9d8b92c0170c32359fe74231e9f694e7bd363f03fa94f0a6b9a12a708477eaa08fcba05d6afc1145c1eaab404effde4e187493a41a0",
-          "padding" : "0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 327,
-          "comment" : "Replacing sequence with NULL",
-          "msg" : "48656c6c6f",
-          "sig" : "03c82831e52e73e3d48e7773398712972715ee37d68c7cc7985a75a4e9b3316e294a8a73e2613d561dc385beec1405cf3a11eb1b02bd9fd7419bf648414392a6392e543684770ab5e387dcf73a4517e7af0085adc91d1a96a1354aa60c262f2c889ec32769b7a86d5c2e820f9d461bdd33e5d85345717c34d80b23fcd0cd45bb",
-          "padding" : "301805000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 328,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "4aba9d2c7a58610d7d3f1050cf5c1558369823c1a344c1573b64d3e8483e04995176f05c255ba67e8bfdcc6c7ca640a4ae423bb3c027f8b14318467e6ce1086db7307c0c9c56acd0372c9f53ad17e117df0557e5548d8d7bb6b9545ace3354f5400b832accea7c60c2585b34881461ee6595f0fd564de7f49a7f0228a042c39d",
-          "padding" : "2e21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 329,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "1f83a1013b293203ebf73ee142d7207bfe7f5f0159327ee40f1325a05ab6819b3e80682b2f4fbd8e65f3ac603e1d73f5d9dd264e25e4d3b473a1d665de67a770482291802c0bca8358cdb20f6bd4e98fdc3a6a533f5a809ae7f2257e997884563141fa95e84e352e949216d5f4e590c61d92fd9ae8191d48f2c128c781700f59",
-          "padding" : "2f21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 330,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "6c6f5ab24760dce19183684fca84e7858c9b0f0b0688c47df365fca8266ccfe5a90f419bad520c97a3b56d3b4c3bd1c9c176bfcaa8f785572dfda5e11a6bd503d817b6201995208b37f1f9f72c8e15105f28f600e56a17d3f8f6ca3a2c63ffad74e640b3e43c5671d22a15793d3c70d9118427aef8a96f9bccca7e66bf792cbf",
-          "padding" : "3121300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 331,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "8c7108f3eab93fdfe930ff1a149a071019936122a4ba0524e309c9af89664f4a202a4f49a4288d80f759521de7e0e04409b5d9f4cb93a722724e34bce76607f9a4c46081abc5a606cda70a859ac1fc931afd10d22a7a4c224cffea888979cb314e9a8dd75a85059bc282c923ca5fd6b508cf4e0c21a93f5d179d05228316eed2",
-          "padding" : "3221300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 332,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "5200334dfd766b1052dbe9d422f94b979b60afe3d9a2d60aa5eccf0e449357296eccc321561534450ddec51de1b6dc6b94e1e8b1ca52714230f9f7081a36eab655827defce738670c769953dce9696110689c1db5d475c4b1b030db86cab46745b4f23d68dbe3951e089786101d19548816f78343c942f31373519aabee6e520",
-          "padding" : "ff21300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 333,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "3fc2126ef4b90f42dc8817fb368e4fc5ca34105ae98b3298425af76d2a304ffdabf8d246a53385e0b1c2a2c46205d64eae7be9edb22d5d9bbfa50bca0ca7a8b279ca8eb0ef3aa94d48ec1120010148a58bb576258ec2fd57d10c3d60ed4d94160c5256a24973e5a8333a4f54c288a18494eeff5579e52ee8a45af1ef9943d6a8",
-          "padding" : "30212e0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 334,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "7d4161dd1d73800001b2eecaf1931374391b36fa244d1f92f233a89fc0ee3a95c3766f0c666f5bd0bc5e2d5b25fbe5ce72afe9784488b2076fcfec45dd0a59a9cef95effc524cc57fb55207631341caaa8369c10cbc6cd0726efcb9cd3db7157c9e58d7b84929705bbfb23d7641d90cee85cfa20b0ebc91b7ba98f910c41a13f",
-          "padding" : "30212f0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 335,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "6c848e100c2c5a650b3f27b641848ded3d54a8930d4acfaff8d7a9df3b5aaebb906c50ee5334130ca14f0bcedc5b036b8d6725bdeb56a6af1856e50d3700d9f1735e50f10ba2319e316ae707db874dc56044a9196ff42e1836d051448dccab90f163dce2b31b4405edddc9611e0909f9082b29e8e45f18c8ee7ab12a8502f39f",
-          "padding" : "3021310906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 336,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "8cda31b963c774894aeea363abc4af9a8b83cd4aec6cc9197423e7bf9f6935bce978a148d9179f47c092f3de5bf9229f37f86e7586d8fe197cabf27b99a902e561d722b0359a738523aef87286d19cb36d7b430aef83d9828df1aa334ec3835648b3b2af8c2c65f9ac8990d2f4df370d49da6f81dc93cb7035ee931093d843dc",
-          "padding" : "3021320906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 337,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "426aa261ad32507dbd08dc315b39368e8909824128abb746c65743fee574b42840489d54c8c5d6c5553e8ae1a3f14bdf4ae3677fec308864ad9d5ac5439976e9379904c6ae5a24e73daa34822e846a0eced7314b4cddc0111c21387d56f89f03a470b79514dfa97c405c8ca9dfbb6f2e3610a8eb5d6c52b37b200a1519026e7e",
-          "padding" : "3021ff0906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 338,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "126d30c8acb2fdaee4e622a2b4f2a16c56b50d03c3fa4ef5a417e9aac346512483e1f4fb7217ff640197d31b0d6f4c41403945dcef37da312f33eb845fb862ec9994060b085c005c6feb382547a4fa1a7d6e7383c81c8ff7a51b539cb55c94d41fa804d9d6968b57a2e8c946f5260d835167b3b5a8302bb054638b9842ac963b",
-          "padding" : "3021300904052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 339,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "939e9204d0c47d391d83224328faad620f6d293ac79b619769c6fb1eea378111fae89d2def2721055598a5db3f006fcc96f4497aad2e41ffc84573caef22c26d19b66cff4cb4ea6aa7563239cffa1e7ab3d5c0c297b2306963dbceeb502ab76ba11dce1f4fd63af7d54ed9283541e45225e7503a991ff4631bee725eeeee66af",
-          "padding" : "3021300905052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 340,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "074d2f5e6eed13d3beb33cd6434d539e69a6554fc6485bfed21c1ea0350e268dd90d29977b2c43f6d0332fc3a7f1027117bc3ea86981cf2547090931755d84f934f589a7eef4243bc8185fc38c21f0e65ee7c19a7f8651f17e8dcc10bed8206c07191f3e146a871e5f93e52a080ae34c551834810076a1d6161c94e0c4e40624",
-          "padding" : "3021300907052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 341,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "44715b61effca0e94098d7dba43839ab8999dca771968c09b9263a9d732d000db443e4253394eb357cb05bc0d2a715d4d9a0a64b64e3ae7938e040bc9ce6f2b2a5172a564bf970a56a12dbe54d96bc9a6d5d1ee78b112e7c5447015dd461ce824062161f513f17cce02f259a80fa78e655b9c09d5f129fcab8df0a045d19142f",
-          "padding" : "3021300908052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 342,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "5ec2194d5f835d6dba9c4ab2bdebbed946f106fcd2a3c6a623e67e6f8ed7ffd8eb4d41f0bbfdcaad34a34d84f9a735f78de159748efe2fe3629f7f185e681dbc5c48025469fc890222e5be9884c550e5cc483f6854184df13162f20d1daeab78eccbc52988815997887e4e52ab7b756885442c7ddb557e726642bccabdfe78fb",
-          "padding" : "30213009ff052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 343,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "2fb77b5a5766d1e898af896192abf3f347100053b920dbaa931a8f210f1b84d522b283e59f6f6f5b7b13d4a3ffd21d2e0b64d1b275501b0bfadd23e89361f327e8fc7f29992dde2e5ecd85ae81cc1740228f983b02bb9875eb30597fd247a8351ba87a5ad5ae32cc4596b4105904a19e5805b92c266f66a9516fc2ca519ceb14",
-          "padding" : "3021300906052b0e03021a03000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 344,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "01c320bad86713b33ee0c9a537b5312d00fdf41eddda0e3328ebabbac7ff5502296d78f2c00183055b47cc03f91701c0d7d2ff4ce7c8d26b8481b296ad60acff9c0149dfb7100869526ee9dc7f5fff5aebf2af32975950213e34c7da77377ae3fcc0b4b9ed5369f0fb2115a06c1b2a3fee7201ae2d84442738e37f8cf0b5ee08",
-          "padding" : "3021300906052b0e03021a04000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 345,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "7a8fe54e250dbd71ab620a9b6b3c15f9dcc04a5d04dd70d6cef5fd48b13ddda846f60b38470f14e05123754bd227cdb4f2c2ad0c29d0b93dae4fde5eae3aca4ecdfb0efccad8c0b0e44544d4a5dc2b1c4956e11667e34306bfc475085b146eaa341d754845df2022fc11638021f3098836bc2d2569fa4ca5f20657709a5ad120",
-          "padding" : "3021300906052b0e03021a06000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 346,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "6a853a5244bf6d3795dd7047da88403f24831169f0fe2f7b789109f279d01e092d5e35d837644c4b83614bd40ae164290cb4fe6fb6eea7dd271195d0b81715a32184342c8c83a82ab6fc62ad58e299b619489d5670c65a6f9faae11909a825da0c4486ea2ba1002f5f8d1dfaccfee2312c9098ee684675f920e61a3f6ff11480",
-          "padding" : "3021300906052b0e03021a07000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 347,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "16f7787a9f5760f025b2e03886ae1a6c83a99a7495eb57e01b687434a1aa27e5f73e0440a0e6d45d7dae80b7f3d9dda8e2bd37540eac08bfd75f13371daa98a334af10762a55b684bef3c67ee6072717ee9fe67397fd612837e0c449d0404382a1b59adb19bebe32f29b1374b36f9649c0c5fe838252c15e2c8b92ba02bf607d",
-          "padding" : "3021300906052b0e03021aff000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 348,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "71629cae46ffacf0f7af338c56deb86464d037b1c38baf338eea05164a1bc15db208b8e3054d828dfa10aa5595d20e9010d071baff42f5d39264ba7a10ab263a30cf169021bafc2647bccb1f624abd87ea18750fb3380e7b0bcc0e12f96ffb6b98caebf9f2faee4644c8d6f0d8d33511725ac390f99fae9b40968de60a50dbb2",
-          "padding" : "3021300906052b0e03021a05000214f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 349,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "6756b3ad008422f5d738f6fddf98b5c049f177a4617e6425c61e512eaf6be60a9e51bccedc85f5c7ebdf74027b526b4d275aca2931bb8e63be243211ade9df54d7b8c65d6c9695586c81dbe7ea8cebf5eae8e34e68676938ccb5bd377821eb55f7f30a7635cfee75c7b35c99e1874e75ca2e07ecf6adb6d58fa704fafd444b92",
-          "padding" : "3021300906052b0e03021a05000314f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 350,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "348028df7eff398437ff6b48730cec081276fd2adbff36c6051244763cf3e99d642a1db43c287126532da2663c9c7a57c1d62a4877ad94489d4b0c7c89f7eb6c37766321bcfeffe21240f63347cdc2bbb52c85426a42fe7144f81617bf27b741e7e7080e092d887c59484d5d48e09f2d64a951738de9e1335b9f4777e7d2b9a7",
-          "padding" : "3021300906052b0e03021a05000514f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 351,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "656312f836bcfdfb4e38f88994a2295bb55ecff0e745974753b22a15c67c64c92c329693917050fae66f565310f8ef8cf4b37dd47eae088adafc34cb0a2eb1d34223ff51bd230d3946fd8d4abb8ed8d4c923bdff7011052e07b358bc5d59deca4a3d82999e54fb5d521564e9ce1fc69c3968adf31a5837fdecc0c9552297ecda",
-          "padding" : "3021300906052b0e03021a05000614f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 352,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "8fe1efcfcfb09cb4bcea76590fb8fac5ad9428898848d3c20efb256ba2532dcd77603bbc2cb7c5902e099081f6a54ecfa4b0669d5391c10f391aebfc636fef14bb7bda71f12e0d9f164a2ad47abba6103986eba5cbb0b1a4bc3887a51ebe614e0dfa60afe1c5c0bd76911d01450952408384fb88e795897c0ed64e28c5f00b71",
-          "padding" : "3021300906052b0e03021a0500ff14f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 353,
-          "comment" : "dropping value of sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "2b58ee609310e66e3d812f20eb3a9e2995bbd5947b5569c0c23aad8638590a43c8610e25fe6c248b74392ebe9f4edabb1e5b918e227f49bb9df288f5755d06f7a22e8e7e3d63b21ac023d35067142f301bde6f6ce017ffdd256647861801e3dcf38b18888b9986eb2c944937fe1706e28988f0781b7acc83c4a0ef4b40b25b44",
-          "padding" : "3000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 354,
-          "comment" : "dropping value of sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "1bf19d3dbdc4d1ce61350bb52d11ef6ecde6816b875ce7fa7361bb2edf84115313cb95d21f3472b7d178e27c0701c6ab528a735fc0ced0a8af81c78d96227ffecc545c8cb7a49fe269e97d647b5b01e0996f29689504b1ff4e4d8e08fab6756ce9603c0bd622b4e74eb8c18373ac1efd5074d08ddaf8fd7c3204e25fc0c99328",
-          "padding" : "301830000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 355,
-          "comment" : "using composition",
-          "msg" : "48656c6c6f",
-          "sig" : "5e1f0d448504349b31c8a5ed03e066c7dd7878622fe42d645bae8592aee87e1056504d92a88a3626c54fe3da07649ae6bb30315f3c3b358beed1afd38d414785906dbbc6d0e188f9006756a545a1d1979a496449689ee3cc067072624ef5f2de8a1f6f0c798e8bbbb9b6e14db12512feaff11063dc3ca3a5b3bd5926bcabbd78",
-          "padding" : "302530013030200906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 356,
-          "comment" : "using composition",
-          "msg" : "48656c6c6f",
-          "sig" : "18d30faf84664f79faa0dd0285c408fe54793df5858ed7cc367d62847470e32f433edb77c30f0d0dd549220cb18eba18d1076820ec27ac37bbd8b989b847ed8c84ed1930e7ea8566a9d043807b0f03fae51aa0046483343ae06831743fa79f4438190164e9d5e75610bb5fb9201365dd9dd4aa6b5dcafcfd73161dde7da40e99",
-          "padding" : "3025300d3001063008052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 357,
-          "comment" : "using composition",
-          "msg" : "48656c6c6f",
-          "sig" : "981a4523b61116d28d4bdb8d80969f7fe1cfbb06f4dd218d05fa332680b1342d20f0e4d4a1a6401ad777615fc56e3ca2fccaf07139f43ebe1d92d20605f8c894d88e8c062487fa86f51b2026dd12ba68077c3551d928990848bf0de07cd880194f2ac276af86c1e55e25044be3c7204ddafdcd61795a9e3b7885a88f43aa6b8f",
-          "padding" : "3025300d260906012b06040e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 358,
-          "comment" : "using composition",
-          "msg" : "48656c6c6f",
-          "sig" : "98d603185c1e2927622056c9053a62e17ea4aab5808418725cf8887720f5f3500cfe6ffa00513e45b72c9fe44d288d06555bf715282f6feb685df2f44bfcb3ed541653139eeeaeabeae9d52514495b604512a9ad6223f68a860612b668f5a0993ebd5c9ce9cc00baa80484d60b01c23a6abf40be03cd1cce3317563b1f9326f5",
-          "padding" : "3025300906052b0e03021a050024180401f70413ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 359,
-          "comment" : "truncate sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "3b5c1e0d3dc103755b67feb766d58968f94e8d8af6a209f6d28e7c0541a4fdf7a6976f664414f5ee0beb9369a59681291fb2c902853fcaa01bd065fb7a1da967849cf45bf558e375058591b3af1b5c8a18da21d5dd7598e7e3aebe0478180200294b86d88b1c39e224bc1dc22f1a8e537e05db467b5a04dc70ab9346c79fddd0",
-          "padding" : "3020300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 360,
-          "comment" : "truncate sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "61b6f98e16e4809448e56d9845850b748bdb64064ed4851c141c57e93c37744bd91f54f5ffd9264f151294e6f73bc8d5a51daa06b9121bfea1f28847229875ab87a7297dc383987db1f6bc1133e344a95af6d34fd18105d154ca951e4e6f64f9fde7994207ddd5eb6bb2a07037f13c8d853a8b8684431d5ecf1cc9bde41cda49",
-          "padding" : "30200906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 361,
-          "comment" : "truncate sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "8c05912e8ebe5f2cc9fcbc2410bcb63b217756cd961db8caba316634c6ce191f365a21137602373f357461e9020b702025c61e3571cac6967a8f68375a9cd4792222b59c54e21649776f6e7d5995448779f7f9d32bb4e0e4e2b612b5c2b8574d98d01b9cdd26965541c0a67d484e13d4f49095ff7030b180569058376c7926a5",
-          "padding" : "3020300806052b0e03021a050414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 362,
-          "comment" : "truncate sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "8bf895e0a26741d142767e67e73f102180a5e2083ee27d869585cd02c0211673641ab3e4f84cfdb2748b0a3a39db047fca2261c7ab3a7bac575990741d15c543f83f9da27fb5da3362ad1ce1a0eccf853b9e0a36f851b6cb5734cd22bc3b621193db37e13dd06d8854ff111dac2c939618aa041abce70123cb14d62d527223c1",
-          "padding" : "30203008052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 363,
-          "comment" : "indefinite length",
-          "msg" : "48656c6c6f",
-          "sig" : "5280f9fd14542d5b61a951893b081540d922ba15a7a650aced363106d97b69aff5b1ad624528b7560dce27c3a3e8f8657c8b0e9b83ab63342550fea7469ec14ef1cf48ed33515d56c7872d5eae8cf2480ae7549a8ce4c56748d08c4f3a61bd13b9c9ead6bcaa113bf3f85a112057658689ea075fc8ac7d74216918d588865ec7",
-          "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 364,
-          "comment" : "indefinite length",
-          "msg" : "48656c6c6f",
-          "sig" : "88cd60c74205ced62ae7bf35eae4c86826ca946a9b3bf190ab8069734489058191b6a501b6766fce0f5a3e5f7a39c0deae40aa66ab36b5a2a39d955650118ded3a8dba0df5b50056058cd643630133c4f2cbaaf8055cbe96e63e8fef8074fa23e1f1d5a1b5cb5ecde5fde92c78441f2907aa53ae9e3e09f0a7a7628e4e2be5df",
-          "padding" : "3023308006052b0e03021a050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 365,
-          "comment" : "indefinite length with truncated delimiter",
-          "msg" : "48656c6c6f",
-          "sig" : "380b0826787815b1d32147ac0b7f5489998f5a16c3e6347663b9d002c46f46cff6b15b304ec5dd74de921c58099c91da3f67ad905122b644e50b1f85cededceb3db8a0ad66bcc016588e3db5dd6094c94deff70824a79818adb0c693c83b981c5452f5ab17e26e480e3488d9e40547019d3508a40027c64532a07923de83352d",
-          "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 366,
-          "comment" : "indefinite length with truncated delimiter",
-          "msg" : "48656c6c6f",
-          "sig" : "464463484db67af5a057d878954fda2cb153a7105242cdd3506c5011a33131f77765ccdcbe38e4feda51447638c03d80064741cbfbf9efab1ff6613c1e57ff42220ade66b88c3913ca3475edf30f0b25ec7c4ad18135453cf186f791a1329e022df21381c2344d8a638e512984fa0e170a97d756504dddb4edd5212d6d4c820b",
-          "padding" : "3022308006052b0e03021a0500000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 367,
-          "comment" : "indefinite length with additional element",
-          "msg" : "48656c6c6f",
-          "sig" : "5d0d2d969b550f531294bfc8ce70542c5b1a6789284ed59b98156260f53a97303a5905d004fb09eecb4d8b3d7ff8bb8d11f0c4d7a2f5ef7f8a78eda41a9b4816d04930a6817185488e75bd9919eabe31a2a390adb2369e6d40db644eb0b082619e1fc904668d7619d530f9d4e89cdbd177d99df563c73bbd6a41b25290d825df",
-          "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf005000000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 368,
-          "comment" : "indefinite length with additional element",
-          "msg" : "48656c6c6f",
-          "sig" : "70b3453abd3ceca3f14bf02e04fc0c98dfddb08ffea15c326f995de6b14f4a441cedb259cf1a003a90d7658697920ca08e128adeb78c62030906a9357ed8125352f15266adc740050da4c84ae067db4a4963f859bb05935f2a4684c42c1ecf9e48f47426b213de2c534275fb59b7dea7981178c7b1b95b20f5ede8937ddd4c83",
-          "padding" : "3025308006052b0e03021a0500050000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 369,
-          "comment" : "indefinite length with truncated element",
-          "msg" : "48656c6c6f",
-          "sig" : "45c3b875d8401e38e121f23cef2a5d9032c6a5a797233ec733b74a8ce1ef1f3ffe141ff8af63170b2e2e345e70977ae0f23168ba41aca2ca55a8053312f1c132a907765e8fb2046c954c5ac7a212eec919de8d699e6f22f4cd7d274a9baf978fcb1c58a26f8bd4a434224eae04eeb5f1a0cfee6e6f41ad0ba5d3de3e801b6533",
-          "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0060811220000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 370,
-          "comment" : "indefinite length with truncated element",
-          "msg" : "48656c6c6f",
-          "sig" : "857d6308505c1fce9ccfb680ace1c4c539fb13e7b6f4ee052fd207f2d6b62ef35bf1e6bd66c37d51ac5dd8c3192aa8d2148b5f5a9887bd60d16f8a870932c0172d105f72097f1985c0402584f18b222539790611080c19678071d54ecd73cc7dd10fcab4269f5231d1084eeaae87288e12974f360e4e81271af8d1a5bcac9e8d",
-          "padding" : "3027308006052b0e03021a05000608112200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 371,
-          "comment" : "indefinite length with garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "1f1b19d8efe38a0e104b533e3ad1e517658f3d96e2031da71b9e66bcd96bcbd9183d7ecef929b5999391bbe308bfd7bd39322d8c64732a5d782a5f04047ef6430ccc528755a052f84059ca767a7ab729287d45a96b3d3586fe92413cbc1c8e653e56e705d9168c821bcfbfe97662f0992718ea2357084e80970e50fca22c6b17",
-          "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000fe02beef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 372,
-          "comment" : "indefinite length with garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "7da218198082bc7e83b0970262545f05c31959db8a96e1e4c4572fd76cd4b96e1c4f0b7960ccd225ae865195e51e179e64736ee6ae70af86fbd8102b34704b1bfdf77ea5dbb23dffd120cdfb6229fcce0e90ef0cc06f13a4a87d6c8b0e6b275a3b89a8a4ccb08b311a57ce835d7e16e8d83509e186fbd9143fd588119ad4d473",
-          "padding" : "3027308006052b0e03021a05000000fe02beef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 373,
-          "comment" : "indefinite length with nonempty EOC",
-          "msg" : "48656c6c6f",
-          "sig" : "725ee31ee7c04b139adc17a362f84817c7550f5b8c49091733888429b906f822f4069733d15b071e2c2392b558871279d7194b2ee6660e550bba9b725bdeb4d1a6dcfc82a217c638d53c9c4c18e06e49038ec3c09e1b0cc789803409125380e0bba9e5bc4c9ea949c59d38b8fe6a280c825e79a32daa8dd3a0f0f7012d8fe159",
-          "padding" : "3080300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00002beef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 374,
-          "comment" : "indefinite length with nonempty EOC",
-          "msg" : "48656c6c6f",
-          "sig" : "902d192102ea702346d9e8cec57a1124f8b43ac34456ddf4a7ed4f6f55cb2dc3d3b88015f8da76cbbb1b09ae134fe333c9d482e5af92f3fc2f25630b196bd07571aaba9980dd940d281fece0b2e12b9a04254392ba52a62a4b59447c53396db16056a27436acac363f8921ee4eed52966930e371984f5b4d4f0fb09efba10dd9",
-          "padding" : "3025308006052b0e03021a05000002beef0414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 375,
-          "comment" : "prepend empty sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "91c68a2673606cff82abf69c9e2d591315595a3a0b612d6d2708528be0184c9116195f58cb4109a69f8d2f7cbf4036affcebe7a1615a914833b921b915ea12b16324e6e74f95d6eb5b03201d67b945f03296ffb37ef7cda908e83f44dbed24a54e81b71f840668fa4fd82b29c0e1c5b1c021d481c73a662668603d3fbf5182dd",
-          "padding" : "30233000300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 376,
-          "comment" : "prepend empty sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "17c921fb3a8535f2e472df2c447a60f2fe49a4afeefa065f1c84e50dc97f989268ae6bf1e8d77f5b2edd59c2c7f3653b7565902c5b889ec7007fb9006f244257649888a4a1883146c88828717d381018b1f00d656d5e092172f49fadb42f913a92ae1eb4e01e3c2490e1dc52a109e37094188bcaa181898d97ea2c0203a885a8",
-          "padding" : "3023300b300006052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 377,
-          "comment" : "append empty sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "077b2d2e79ff380612aa3f9c79e8b7a580ffafdab8ca3ec86501c40248b3459c0c7b2590fc18ccfba2b0e7a34c67b8d3a7ed92fa686170475666570d38464720b4983e5c374f1b6c604226284a62e20a8a37341abd72f238aec8a2cdfeff00c512c28e608ce98e4bf3640c61509ec56f7e2143216214eb5b06bfd0fa448ba633",
-          "padding" : "3023300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf03000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 378,
-          "comment" : "append empty sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "2121389e8b2282bf6022c45e7a3ac9f42bd7f13ea37060f6989bacc72fb6e887db8128024698a5c76adea034c69604b1f56e062627c840cd2f80802e6f2764606b96b78506614198844319bf7726b95afdfd19d5ffda1ccb159646bee5c3d81adf56f2b54edf749ca99a86bc9452f6a307eae06f028f86b4af17137f6a2352cb",
-          "padding" : "3023300b06052b0e03021a050030000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 379,
-          "comment" : "sequence of sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "059efdc649108b988ee6a63697701a3c98bf7c770dd525844dd6e936d0f468b3c786f82a03c4b1d23caca0dd2a62a6ac43f58b6cb311a819f7b9f48cb9b59b17306deebf1d69a7d93a2d9381e48ddd0ef1d0a07dc5a5568eeefb3832dbbad503e21141f6dd58a5bf503a469d49dd3edc5f3a712b7e63d8ae734ee1808a9654f9",
-          "padding" : "30233021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 380,
-          "comment" : "sequence of sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "21d94c3d46c49bc86f376e2d4fba1495f98558e9f76136ba001f1f90befb6311771b700c1252894a5348491c262329e99cc52ee68e577615ebe73d59210f8ddd8b91ddced5fe98cd832b57a4c583318377892bb15bb7d545cc7a182fb47c3149b99e4db5f12df9105a055d0925d8f3d747a2f25ba1dd00a5184afa46695197e3",
-          "padding" : "3023300b300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 381,
-          "comment" : "truncated sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "690c052df7c7079aa3bbcc9d4699ac50bf0dd90b1d6822046c7ad1429900ce2c4882af9decd580fab0698e5ce3185bcc234561e051533283d022831fd8b19434e4bdbc84223ddcd99d1a8f28a9ba222394312d11d81ee95831b4264d5434c3122c30afaf6b990ccb4f6991f60e78195d3aed5f670c4c2fdc034a514b92c67519",
-          "padding" : "300b300906052b0e03021a0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 382,
-          "comment" : "repeat element in sequence",
-          "msg" : "48656c6c6f",
-          "sig" : "4f4f38364932377af52adb8c51c5bd705088ddbfda713458377c3997915766ae05da5c797cbf24a9c73d36fa61b1b0bfb9c14e429c0b66fd6fe1ec041b9d14946588dc384a7a69bf2ab69fd8da67d0e1fab2dbf1838959cadd0d3ca03c9c0bc929d207be60ff8e08bfbb03f4423cd81fc5f587bbff3985d2beef69dce295b903",
-          "padding" : "3037300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 383,
-          "comment" : "removing oid",
-          "msg" : "48656c6c6f",
-          "sig" : "6ea8317813355faec271a659d62cc94f7408fe73178a2de00407136a53b69d77136b9ef4533e3cda580761f42a683d4a02a2abb7aeb941a44854832d18950d8efc43ae8de29c0c97873761d126e15e7816d173dcaf9315dfa045681d9a4b37b2ce1578ffcbfb4c30cba6e1746ec3f95d310839d75ea873ffcc0ee82513342a71",
-          "padding" : "301a300205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 384,
-          "comment" : "appending 0's to oid",
-          "msg" : "48656c6c6f",
-          "sig" : "990ac0a5dbe9f30114427c45925353e49c235ec8fc5b19724bffa75eb7e93987ed97dc3107e2ec26b9bb2c51d53f92158fca0baea0d881cb829e0bfcbc88f0021bf967e44a245eadf78fa8eed67aee696fde1a2a79e05a7c6a049f3af282a394f743bb4eedc9798b2d3290e8255a2339fb7a694e789a6fa38e2a236b948f48e1",
-          "padding" : "3023300b06072b0e03021a000005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 385,
-          "comment" : "prepending 0's to oid",
-          "msg" : "48656c6c6f",
-          "sig" : "3c8995341ca2811f9e976e8157e708aa59b38f8e1a24ed16d8b30a19fa23c5df8b1ac2b3c82fbf91800918a2ad6b9320b10e39fb391254a3d954a278faffa97a2052513ccc8b17783faed189b8a4d997d7baba3053d6ab6493e2e36b3ee5046ea62d37a835a51390252dff088cc3a0a33cd1a82e557a0be0d5871b4fa18c05e2",
-          "padding" : "3023300b060700002b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 386,
-          "comment" : "Replacing oid with NULL",
-          "msg" : "48656c6c6f",
-          "sig" : "4e7f335369655f3868010396eb1a0c567b0763075a98e179b99f8511e0ce16e50b47dd3ffcedd55201082bf811e8206cabea8d20b4d0cebef5d9731fbce38c620f8baf25ff1dc5ebee28eefbdf0846361d2a7d54edddefefd04b8756b09f410016ade65bd30bae6e03db0d39c13099e397abababafedd89a56c072618ddea236",
-          "padding" : "301c3004050005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 387,
-          "comment" : "dropping value of oid",
-          "msg" : "48656c6c6f",
-          "sig" : "87b5cb8841fa252f38c375b39ccce2d0361397a8436d2f37ca3e2293e554ca27fea1095683e42f274ccead1876d89dbb4e5dcca8e28972aeabe3d818144e96c020bef1de944724d1c2a813c633f8e7f8b6f8c8950d2c89dd26534430ff9cb6f5f08b332638b1385770a69bbbf6f76342b8270e2bd440df058c2ad55f9a0dd679",
-          "padding" : "301c3004060005000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 388,
-          "comment" : "modify first byte of oid",
-          "msg" : "48656c6c6f",
-          "sig" : "20a593b6637cf415ddb40ffa364d78cd34ede10f492b7247ad8ad8d5cf9e58ad9ae23735e668bf9a5ec5ad0c0980566b8612054728f2f8fd84f9664611473462357f8a1cfd66c3bd844bb306ba900d2c9a8450df66cb05f6eecad196217b28cb828759385707753189a94993323a59d13e96b3fb3fd9200649a6d63ac5bda82a",
-          "padding" : "302130090605290e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 389,
-          "comment" : "modify last byte of oid",
-          "msg" : "48656c6c6f",
-          "sig" : "021cd5941f0021896d96282a1f8716b0d39305437cf862a3e447b27f1d8a8617a0ce4534c7502c730c4b03bf098f854194ae87def4db9381e00ba6d7551dcdfe2f04ac881522786e933881685d78a24fe3422bb99b53b1f517b8c942e6a19b224d183c357c296dfe5d3b178174c487176945890a707309c1329023a658c3cf9e",
-          "padding" : "3021300906052b0e03029a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 390,
-          "comment" : "truncate oid",
-          "msg" : "48656c6c6f",
-          "sig" : "3fcd54aa3d66afce987282cbfe09f0a6eb30d0c94227bef8a2c9fccba44f1c8aa080b361b13eed4c9d0d37caf26fe61ddac8347102d9080cb17f2cfdba7e217df3f8c19039d466241264ae8caf15652c8f72a6ae292dc71c80049d679034ad19bc745d6155cb2efde963f738cfea08f7bba8894f472beff5deebe33173033317",
-          "padding" : "3020300806042b0e030205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 391,
-          "comment" : "truncate oid",
-          "msg" : "48656c6c6f",
-          "sig" : "4ad8a7e4a92ee9aeb1bf3ee9392abe141d435a6ebd1799d90f5417e6daef65d37bf33c8c5255d52ce5d8b2cc223cd0c68a6061450df5c6694e2b911c8c25e6384a70fb19a50e10bfbc494fe5a62d9db915b7c77a27d17788f0567110bb046b8aa42d3ee1ea444c20b983226cf094f4cbfab24855c68f1e2e9fefd41b2dc7903b",
-          "padding" : "3020300806040e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 392,
-          "comment" : "wrong oid",
-          "msg" : "48656c6c6f",
-          "sig" : "773070dea29e40cc9ca6ba047ac60013f8b5a2835c71e42aae5f0b04cfb78e229a59643ddaefc4ec9fecfcd7247d5bd344dcb4009c7f0e0c6d0b9f512e60c05e7b81420a03af3c5bd8f205d7393f6f32eaa0e4e51ae1a70ae3a8ffe04bbd576524fb1ea0b72930d03cc3e5d8762e7a2004ff0cb0202515c67fec1693ee7cd41d",
-          "padding" : "3026300e060a3262306530333032316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 393,
-          "comment" : "wrong oid",
-          "msg" : "48656c6c6f",
-          "sig" : "350274641f0d1af9b1574ad9c8b907ffcb5240825488a15f811abf56920c6b71d1c4d0fdec8322fbceedb2189bd7932738902830162171cb67243096ff0d42f7dddb3416eca5cd9b6a86e504a2351e4d87c75c2ab6bfdb005208afeb1cb6e542da32490aa5a0509db3926df6aec56fef56ebee5543d61f7cc3a35984a43c1a9d",
-          "padding" : "302e3016061236303836343830313635303330343032303105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 394,
-          "comment" : "longer oid",
-          "msg" : "48656c6c6f",
-          "sig" : "1ffcf9548a1c98d254f3be4aaa250650fb5f95d10b6468406c9a7498aa84213117b99a82f40727504f6a563bd471c1987aa45a13cd6b6a6c501a8e455516f29fb5cfe9e4703fb9529a06010a557353ca13efd3b1cbc7f0381a84e14690a54879f8c9a3da6d8aa19d3f372d7f1a87badcdd871179abe6bcbe1c18f4b38f87a3af",
-          "padding" : "30283010060c32623065303330323161303105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 395,
-          "comment" : "oid with modified node",
-          "msg" : "48656c6c6f",
-          "sig" : "17bd4b3bb00dd491d68c76810f5779e996eec04bc50606ad30166d9e26948c308ff766246cb5bbb362dc33129865a241a505332a0f46fcb882acead6c6bb5c1b8300381e3f9dcf89938b081e0c6106c51e8857252907d5b5998a0689335340b2d8bf186cd091753858f4c9f72faf4db828c3f23bb99fd1235d665b7703a9945d",
-          "padding" : "3026300e060a3262306530333032326105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 396,
-          "comment" : "oid with modified node",
-          "msg" : "48656c6c6f",
-          "sig" : "2bd908594b8677b6359473f30a827ced749a0b81e6bc060fc71f5ca8c54f26176394efc3b9dd34b6b425269afaf601a2402f5db7c1fbb95bf4d9a90f58af7dbf5c11e9993f3a6373df216dc9e51b25bbdca70e32f6a96cbe42d5efbf67f4c6cf64e0a5c6b5ee80aa0ff7976184a5ce33b7a7c2c8a079a207ba7b7e1c8a2ddf2b",
-          "padding" : "302e3016061232623065303330323838383038303830316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 397,
-          "comment" : "large integer in oid",
-          "msg" : "48656c6c6f",
-          "sig" : "13e8d2f76b24fac71cdfdf7bfc448ce55ca7a25b58feca2a51a3e9e40b3c75bad26a04e3799c66edd5871fd4dd62c7b35d0b062e1c0f7b05ba4b0e9c6635a40236abef106f3b3d862ff1bca0ee290f3283dd38c081db0df39573134d40693835f56b4b97387f3e3cc3fa3d9f9155611a5bd413d34857c774331223301e2d0207",
-          "padding" : "30383020061c3262306530333032383238303830383038303830383038303830316105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 398,
-          "comment" : "oid with invalid node",
-          "msg" : "48656c6c6f",
-          "sig" : "1d847fccddad46487b0fcf75f743e9550e4c6e68fabe27e55374cf5ef9240bb37490041d24ae74bae0ac5e49196057cb150abcbaea8fabf3f936b0b2cf6d91c49f3bdaca01689b70fa34152580bcb22c67196c5b9634fb2f0d75f523fc7050a6134d870190e528cc18e6960d288e5b597930888a36ca4e6c455f5b88300ac160",
-          "padding" : "30293011060d3262306530333032316165303305000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 399,
-          "comment" : "oid with invalid node",
-          "msg" : "48656c6c6f",
-          "sig" : "4738deff4b32a30dd68b0abc1971dd2af9a500b5f6922558b96ac9b1ab4a50328b2ba9a48e7c207a02ddf642728930f4004d337483eaa0a01fb038a7a6c289672bdaf1016120f2faea563f179d3d623d3ec9bb5d936ea2a7f74d2bd70a06c83e904df55f5142c5c6b6f75221397dabcb19e069436b94ca764a5016141496503d",
-          "padding" : "3022300a06062b800e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 400,
-          "comment" : "appending 0's to null",
-          "msg" : "48656c6c6f",
-          "sig" : "977a5c762a4dcbe9551a4a0bcfe96114aa59187e6dd0164cbbec2d28ff9d11e413a1de7f274704c24229c99ce9b5a3d98872db56310be7259a2fa44e652c4d02f8802360d3a29ded2a7de0a183001e74b3aa3fe594867294461d6a23160481ecdee9c05c28ce066021847a23366cb147013f57ce53a24791dd1873527f1323f0",
-          "padding" : "3023300b06052b0e03021a050200000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 401,
-          "comment" : "composed null",
-          "msg" : "48656c6c6f",
-          "sig" : "79a42d1f294f82bd6ad48818f1f634733fbefea7def5ea32a1ed56de994ac047011695a0c8a11813d042ee6784cb172da76aa0ed892e53d4bf99fc21301a91181e7c93a56646190aeeb4a1c212d34d17484521580d84adb41b2a5cc285963509d0c832e5a2252e5cb028839d9db7bdabb7689219b97d699277ed004ca6389b61",
-          "padding" : "3027300f06052b0e03021a2580aa00bb0000000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 402,
-          "comment" : "appending 0's to digest",
-          "msg" : "48656c6c6f",
-          "sig" : "37ddb1b141539dfc350974039429b948cfd8acc40ecab7270b3e560f0876cec68fa22c8dbf09c8c25955819a5cfc6d251ab99cd06c013792207caa2ada95d4fc01a6d89329e211869c02c648a64b721e92ef3aa767569ba2f0c7c376772926a95ededa5d3f0ce10ab3b2b25f70fee1702dfedb0605ef6401f3f44c464ee98110",
-          "padding" : "3023300906052b0e03021a05000416f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf00000",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 403,
-          "comment" : "prepending 0's to digest",
-          "msg" : "48656c6c6f",
-          "sig" : "85c2c430e7cc2e989e729186cb1256a5f7e78bbb6e135b36a43059389f57cc7fd67ccf20becc0d9e63731ae4ee77e926754ee5226991f9bd46203f7fb88562b00974dad035b1a0f39cba567dc0ed3cb3f7bf51326e62b0f82d8aaf8cc8dfb96c08c64235dc2a4f612bc29a8d4fb4b1edff1cd517d1c981a809ce9708a547a765",
-          "padding" : "3023300906052b0e03021a050004160000f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 404,
-          "comment" : "Replacing digest with NULL",
-          "msg" : "48656c6c6f",
-          "sig" : "5cd36e6403f666a5392101235b8f94dc80a87c03cffceaf72a9b6c37189bd028f94df3d6df776bc35f7090d2e0048d5e2ad327d4f6c4defe83538d7500b650aa47162e0d1536136a43cdc4cb9e12780496f696e781ede83fff94626f98d7f4d3c8ef865aa3d042b85a1c00b70c31757ab27c68f79bbb709e714a41558216ceaa",
-          "padding" : "300d300906052b0e03021a05000500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 405,
-          "comment" : "dropping value of digest",
-          "msg" : "48656c6c6f",
-          "sig" : "708e3d4577c0ced7b4d729b5124169f67836738bc18f82537dbe1c9a48054769ed0888751a823eedd05408ed934a555655d473dcec0fb5c6f19aee82f1dedf3f4fa14171c3ccbd3f1f9920f233a21be4341134f25636cbdd55918e9da76568c3ba55c630ee3e9eaa4dba7bd989fe0534925d1c47592214eb4869bcd42b60c92d",
-          "padding" : "300d300906052b0e03021a05000400",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 406,
-          "comment" : "modify first byte of digest",
-          "msg" : "48656c6c6f",
-          "sig" : "82bc0a32f50b69da0533a0b7d966f86597c2685bbc9b44fc1d58518ef8c161efe6e6369945f1806ff709304c9f60430699b22c550d1f5f4d773c1d31667afbbc4cc824e75f0aab92d9d513e2f86f414d853e5dadf34893b6525765c11f67ca4b2dfae48584a760637016e3231fb89031d549ddbe6fa1bb90c7bc792e3f13f8a9",
-          "padding" : "3021300906052b0e03021a05000414f5ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 407,
-          "comment" : "modify last byte of digest",
-          "msg" : "48656c6c6f",
-          "sig" : "44b0c75a3abc8f2bd7575787b1349ddda91a5e432b85333030562e7c391344cb1e6dfe328f11491b92c2eefe38ee5fd8aefef2e02b0527fd35a9556e23dc9c1d6eb20bfe3b21bd8b2992c076d7c228821fe5b36f2af42d1c365f49219184c4ee11d2beac7dc08860cd57dc80484cc5702d49d1b9cf6e7cd3f7cccf05bf701c4b",
-          "padding" : "3021300906052b0e03021a05000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab70",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 408,
-          "comment" : "truncate digest",
-          "msg" : "48656c6c6f",
-          "sig" : "313624a0449c7f2f19878797dab59c91ed45ca0910aed355737635283d56edc7f470628e119a70f7d40b238e0ead042ec1c1c377272fa3ca975cc21eeec934f758ce70f19e00f592a0e5a4aad8e9956d9fd7dbbc126b6a001f20c42b517ba54511630382612f2bacb9711c87d9a19897c8c44f7905f548b558fada6a2c9912c7",
-          "padding" : "3020300906052b0e03021a05000413f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0ab",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 409,
-          "comment" : "truncate digest",
-          "msg" : "48656c6c6f",
-          "sig" : "4a3539eaceb4691d856020b9acc11854892df705ad7994759dea2efe0c5384e8f86ebeb3f4360ab0bc7d35c8ca520c8d0a1c869f3979ddedbb60437e798332a0ef7a52ca86b430ebc6aa57114f6057c8f18066ca1483cbe8a8ad3a1e96476a21d53ac6f6a4e18ee965371ebe58184fdcec67f0d42cd16d6ce6800ec87978b759",
-          "padding" : "3020300906052b0e03021a05000413ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 410,
-          "comment" : "wrong hash in padding",
-          "msg" : "48656c6c6f",
-          "sig" : "1d8eb339d60f873bf3dd07816dbd8a5b5e61805e26654e5a5869fcbef176a61a3b2c173778ce5fb7323dee2f4e42a272474576e8942ce04c66a17d2ccc093e529df580d047159f7c1266af51b7a7f07f43a28e309111540a80fa76b25b6d86f9d2fc99a28d1715567545509f80beb700fe9cfb82be7bc801794b7d32eb9b584d",
-          "padding" : "3024300c06082a864886f70d020505000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 411,
-          "comment" : "wrong hash in padding",
-          "msg" : "48656c6c6f",
-          "sig" : "949fecb83ddc236d3c622c9b6118fe0bf524080594c731636eb735e7d1285b5b6c527a2346b51c42fcf706184c4edd79ac98750dcf35973920aa19dee689cb7654b4785d2755b0dde4113c293e301f4e0331cf166bd8c7ae07031165fa4c02a3d6d70422fe42c7c6077a1f1dcbdc0de257363d51951ed1e2b8cb66684d42a8b4",
-          "padding" : "3025300d060960864801650304020105000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 412,
-          "comment" : "wrong hash in padding",
-          "msg" : "48656c6c6f",
-          "sig" : "3b2ead8d64cf96e26db3ba9d1ff63a187a715d04e3a7dfcf6c85790896793bc19c0ea6c5266cd4ebc25b859a07ad6459942eb46f3efcb9adbc29f3fa5acf0013d5baf3089e3ec5cd3401ae282670d27493b0ee33e391a9d32283b224036405c9d61bbb470dc8a69762bc35483d3d26c1c8e16c311e5d3e284f1d51383ce7bdcb",
-          "padding" : "3025300d060960864801650304020205000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 413,
-          "comment" : "wrong hash in padding",
-          "msg" : "48656c6c6f",
-          "sig" : "6b23ad94314f022d64a7b525aa933b7aef8184b66473572bf41c00f899dbeeb95755da7c749a0ce5cb09d3567ebd4ceb0033a1b16cfa13e85fd1745640a5306229a14a9c67c07f75058ad1dfebee25c44ba3bbf75fa053ef74717ea7f972dcf7d7d23901a3aed841e0ca419aa570a605e0d189d2b51ce3f00497c0bf16998ade",
-          "padding" : "3025300d060960864801650304020305000414f7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 414,
-          "comment" : "wrong hash in signature",
-          "msg" : "48656c6c6f",
-          "sig" : "53ee28bf3582045ff9a6f7d813b9453fc5813245b198d98cb141f6f36202240746b9d3778006aa4cd3905bffed0fde38157d8e8809228871fb48037706ddaaebd31ecebe3dae0516539509bfaea18dc1fc3c7f29620f3214db5d70005e1323094aa8f94ac9d64d9d02ff2010178425027145740b40640a43ff24db043a7a2d2b",
-          "padding" : "3020300c06082a864886f70d0205050004108b1a9953c4611296a827abf8c47804d7",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 415,
-          "comment" : "wrong hash in signature",
-          "msg" : "48656c6c6f",
-          "sig" : "171b1a7fa8cf97283809515866708d449f184d675613cbd33e91586f8e238946f860915f0fb6a390bc7cedfcf7d1621f49f3c6f39b7412d75660fbe3c2326c48399b7d41dfceeadabf0cbfc4b7dd756d8bdc38d28e80fb60e743fdf6d81973959d2c6b111fa0d8f3c9c8677c0c8030001b12f3e2c5990822154b1b762162dd7d",
-          "padding" : "3031300d060960864801650304020105000420185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 416,
-          "comment" : "wrong hash in signature",
-          "msg" : "48656c6c6f",
-          "sig" : "9810d39416595ad79cf376b41e6e5f94fb89f61ae78bc5a0c710fab15d369dd7f050b035e5c2b8cdfe10d06be739bae08b47afd0b7dd2b226905f3ee718ccd5b5fb5b951558a62d83a2f3ba5dd1990d2d3e05c461e33ccaa1bbc22350c3ca157351a5b88ad3b1f524fc5cec5c1714a8ab3ef709e462434a6048133846fd1d85b",
-          "padding" : "3041300d0609608648016503040202050004303519fe5ad2c596efe3e276a6f351b8fc0b03db861782490d45f7598ebd0ab5fd5520ed102f38c4a5ec834e98668035fc",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 417,
-          "comment" : "wrong hash in signature",
-          "msg" : "48656c6c6f",
-          "sig" : "57532194f33bfddba2e848b9342342114e2c6dcffe228cb97b72ac9e26b77cd336a6fa5c8152db0d536c6fb3cc48487a89cfcf42990593fd0dad420b46fa87ea2b9c9962025dcc2b8a6d5a0476408a62d9c276fb5eb8e97e5f1726918fef41c0d12ad420525a803d804002061c3bf355a3c4fee4ce42016cb0e0531d2657726d",
-          "padding" : "3051300d0609608648016503040203050004403615f80c9d293ed7402687f94b22d58e529b8cc7916f8fac7fddf7fbd5af4cf777d3d795a7a00a16bf7e7f3fb9561ee9baae480da9fe7a18769e71886b03f315",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 418,
-          "comment" : "using PKCS#1 encryption padding",
-          "msg" : "48656c6c6f",
-          "sig" : "572ecc55660cc4f8888559092f54e4ee0dc6a57d0722bcba6b608869bc0e86ed53f8d88180b40c006ff10dbf32ba2c6bf3558e22a688f7d68a6d38740b99dd2a2eaa6fc94fe9fa76a0bf775c0eca5751ce7837a3da3db7dc648fb94ed0def4996eb40e168d49417dfd82c86f2c586fc49dfa37a6335b8a76aee84c755610948b",
-          "padding" : "0002ff...00<asn wrapped hash>",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 419,
-          "comment" : "using PKCS#1 encryption padding",
-          "msg" : "48656c6c6f",
-          "sig" : "849f48195c7ae50b762ff93e350bacdf52e3eef5f86dbec5115d74ccfb2c9a49cc91115f6935b71deb424865666ba070299e17e64c3ce5019e1481ee195cffb4fc1f92f026cea579bbe9f78d7c665dd7f65af7c3221bae50d5c0b50ede25a3993979d167a86db511b9ace4f11c331f892f06e72d17e934da9a83a3c703b3409b",
-          "padding" : "0002ff...00<hash>",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 420,
-          "comment" : "invalid PKCS#1 signature padding",
-          "msg" : "48656c6c6f",
-          "sig" : "29b9b831e6694768910397fbe53e0a6868f75e3910d600e3421349bc4321d93067c78f6294b00e52e9c2fafdef67e0a460c3d76e6196fec6aab5c4964a4782c5da021466908d106193ec1b6b0bae4c9a5e3fcc4a355565c1dcfb76c489b4c3ad11b6f2182188470edf748eaf81646fcc164c60c1a55e9334076d8b5ce3d09808",
-          "padding" : "0001ff...ee00",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 421,
-          "comment" : "PKCS#1 padding too short",
-          "msg" : "48656c6c6f",
-          "sig" : "583dc8ac657ac9d55c74b6505f1a7a4b2225c038f36cc66d76a7eb8c818195b138e8bb2b26ac5a01ce32aa3f590815f0ecdf693877bdb12c5dd55b947b91f83d66639874ca263d1227dd0b6531e3eedf0b1e87a92b8db4be7c3c40d70865f56c8e0b6cf6607d47ed44acff9c4360d65f847f4ae947a13e4a56dff1d11503bc9b",
-          "padding" : "000001ff...",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 422,
-          "comment" : "CVE-2017-11185",
-          "msg" : "48656c6c6f",
-          "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a17",
-          "padding" : "n",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 423,
-          "comment" : "invalid length",
-          "msg" : "48656c6c6f",
-          "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a170000",
-          "padding" : "2 bytes too long",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 424,
-          "comment" : "empty signature",
-          "msg" : "48656c6c6f",
-          "sig" : "",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 425,
-          "comment" : "0",
-          "msg" : "48656c6c6f",
-          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 426,
-          "comment" : "1",
-          "msg" : "48656c6c6f",
-          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 427,
-          "comment" : "2",
-          "msg" : "48656c6c6f",
-          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 428,
-          "comment" : "n-1",
-          "msg" : "48656c6c6f",
-          "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a16",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 429,
-          "comment" : "n+1",
-          "msg" : "48656c6c6f",
-          "sig" : "9e62337ef7d4fabec2561bb45a18a362022b23666571bbc762c1c717a14a46d8f58119072aa26245e71fc6945540335163798fcbdea04b3104ee23f2c3874bbfb3e7e0c1ba5f1fca909265274414db6957a5eb668e0e36a388784355d528e51a6a4a9a9c6b6ab912812a268dac9dcacf1c13507768e63b1f82f8af29c3786a18",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 430,
-          "comment" : "-1",
-          "msg" : "48656c6c6f",
-          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "padding" : "",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    }
-  ]
-}
diff --git a/src/third_party/wycheproof/rsa_signature_test.txt b/src/third_party/wycheproof/rsa_signature_test.txt
deleted file mode 100644
index 4ace30b..0000000
--- a/src/third_party/wycheproof/rsa_signature_test.txt
+++ /dev/null
@@ -1,2606 +0,0 @@
-# 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
-
diff --git a/src/third_party/wycheproof/LICENSE b/src/third_party/wycheproof_testvectors/LICENSE
similarity index 100%
rename from src/third_party/wycheproof/LICENSE
rename to src/third_party/wycheproof_testvectors/LICENSE
diff --git a/src/third_party/wycheproof_testvectors/METADATA b/src/third_party/wycheproof_testvectors/METADATA
new file mode 100644
index 0000000..b390216
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/METADATA
@@ -0,0 +1,17 @@
+name: "Project Wycheproof"
+description:
+  "Project Wycheproof tests crypto libraries against known attacks. "
+  "This is a copy of only the test vectors, adapted for BoringSSL."
+
+third_party {
+  url {
+    type: GIT
+    value: "https://github.com/google/wycheproof"
+  }
+  version: "2904be69e9d666bf3064fdc15093747e695cfae6"
+  last_upgrade_date { year: 2018 month: 7 day: 2 }
+
+  local_modifications:
+    "Only the testvectors directory checked in. txt files "
+    "are generated by convert_wycheproof.go script in util."
+}
diff --git a/src/third_party/wycheproof/aes_cbc_pkcs5_test.json b/src/third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.json
similarity index 99%
rename from src/third_party/wycheproof/aes_cbc_pkcs5_test.json
rename to src/third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.json
index 2aeba24..ae43cf8 100644
--- a/src/third_party/wycheproof/aes_cbc_pkcs5_test.json
+++ b/src/third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.json
@@ -1,10 +1,10 @@
 {
   "algorithm" : "AES-CBC-PKCS5",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 183,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BadPadding" : "The ciphertext in this test vector is the message encrypted with an invalid or unexpected padding. This allows to find implementations that are not properly checking the padding during decryption."
   },
+  "numberOfTests" : 183,
   "header" : [],
   "testGroups" : [
     {
diff --git a/src/third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt b/src/third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt
new file mode 100644
index 0000000..ab70908
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/aes_cbc_pkcs5_test.txt
@@ -0,0 +1,1812 @@
+# Imported from Wycheproof's aes_cbc_pkcs5_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: AES-CBC-PKCS5
+# Generator version: 0.4.6
+
+[ivSize = 128]
+[keySize = 128]
+
+# tcId = 1
+# empty message
+ct = b10ab60153276941361000414aed0a9d
+iv = da9520f7d3520277035173299388bee2
+key = e34f15c7bd819930fe9d66e0c166e61c
+msg = 
+result = valid
+
+# tcId = 2
+# message size divisible by block size
+ct = d1fa697f3e2e04d64f1a0da203813ca5bc226a0b1d42287b2a5b994a66eaf14a
+iv = c9ee3cd746bf208c65ca9e72a266d54f
+key = e09eaa5a3f5e56d279d5e7a03373f6ea
+msg = ef4eab37181f98423e53e947e7050fd0
+result = valid
+
+# tcId = 3
+# message size divisible by block size
+ct = 514cbc69aced506926deacdeb0cc0a5a07d540f65d825b65c7db0075cf930a06e0124ae598461cab0b3251baa853e377
+iv = 8b2e86a9a185cfa6f51c7cc595b822bc
+key = 9bd3902ed0996c869b572272e76f3889
+msg = a7ba19d49ee1ea02f098aa8e30c740d893a4456ccc294040484ed8a00a55f93e
+result = valid
+
+# tcId = 4
+# message size divisible by block size
+ct = 137c824d7f7dc36f24216dde37c2e1c10cee533f6453de92e44b898fc3037d2e9e19d67a96387136dd9717a56e28614a5c177158f402ce2936fd98d1feb6a817
+iv = 2717d10eb2eea3b39ec257e43307a260
+key = 75ce184447cada672e02290310d224f7
+msg = c774810a31a6421ad8eaafd5c22fa2455e2c167fee4a0b73ff927b2d96c69da1e939407b86b1c19bcfc69c434c3cf8a2
+result = valid
+
+# tcId = 5
+# small plaintext size
+ct = 599d77aca16910b42d8b4ac9560efe1b
+iv = 155fd397579b0b5d991d42607f2cc9ad
+key = e1e726677f4893890f8c027f9d8ef80d
+msg = 3f
+result = valid
+
+# tcId = 6
+# small plaintext size
+ct = 74e20bf03a0ad4b49edc86a1b19c3d1d
+iv = 4eb836be6808db264cb1111a3283b394
+key = b151f491c4c006d1f28214aa3da9a985
+msg = 27d9
+result = valid
+
+# tcId = 7
+# small plaintext size
+ct = 3f7a26558ba51cf352219d34c46907ae
+iv = a8446c27ea9068d8d924d5c4eac91157
+key = c36ff15f72777ee21deec07b63c1a0cd
+msg = 50b428
+result = valid
+
+# tcId = 8
+# small plaintext size
+ct = c29d1463baccc558fd720c897da5bb98
+iv = ef026d27da3702d7bb72e5e364a8f8f2
+key = 32b9c5c78c3a0689a86052420fa1e8fc
+msg = 0b9262ec
+result = valid
+
+# tcId = 9
+# small plaintext size
+ct = e24a717914f9cc8eaa1dc96f7840d6af
+iv = c9defd3929dcd6c355c144e9750dd869
+key = 43151bbaef367277ebfc97509d0aa49c
+msg = eaa91273e7
+result = valid
+
+# tcId = 10
+# small plaintext size
+ct = f080e487f4e5b7aed793ea95ffe4bb30
+iv = ce91e0454b0123f1ead0f158826459e9
+key = 481440298525cc261f8159159aedf62d
+msg = 6123c556c5cc
+result = valid
+
+# tcId = 11
+# small plaintext size
+ct = 27cadee413ed901f51c9366d731d95f6
+iv = 1cb7bc8fe00523e7743d3cd9f483d6fe
+key = 9ca26eb88731efbf7f810d5d95e196ac
+msg = 7e48f06183aa40
+result = valid
+
+# tcId = 12
+# small plaintext size
+ct = 59bf12427b51a3aee0c9d3c540d04d24
+iv = a345f084229dbfe0ceab6c6939571532
+key = 48f0d03e41cc55c4b58f737b5acdea32
+msg = f4a133aa6d5985a0
+result = valid
+
+# tcId = 13
+# small plaintext size
+ct = 1a0a18355f8ca4e6e2cf31da18d070da
+iv = e5b6f73f132355b7be7d977bea068dfc
+key = 1c958849f31996b28939ce513087d1be
+msg = b0d2fee11b8e2f86b7
+result = valid
+
+# tcId = 14
+# small plaintext size
+ct = cef498ea61715a27f400418d1d5bfbf0
+iv = c7cd10ca949ea03e7d4ba204b69e09b8
+key = 39de0ebea97c09b2301a90009a423253
+msg = 81e5c33b4c620852f044
+result = valid
+
+# tcId = 15
+# small plaintext size
+ct = 7ab43ddc45835ce40d2280bcea6a63f2
+iv = bb8c9af30821dfeb7124392a554d9f01
+key = 91656d8fc0aced60ddb1c4006d0dde53
+msg = 7b3e440fe566790064b2ec
+result = valid
+
+# tcId = 16
+# small plaintext size
+ct = c70b457c945ad40895cf4c8be3ce7c66
+iv = 54c3b90ca6e933f9094334d0263d3775
+key = af7d5134720b5386158d51ea126e7cf9
+msg = 7cc6fcc925c20f3c83b5567c
+result = valid
+
+# tcId = 17
+# small plaintext size
+ct = f9900afee2acfe63f8f15d81bbf64c39
+iv = 9a2c5e91d4f0b9b9da64b46c5c2c8cb2
+key = 4ed56753de6f75a032ebabca3ce27971
+msg = 0c8c0f5619d9f8da5339281285
+result = valid
+
+# tcId = 18
+# small plaintext size
+ct = da4137bd8ac78e75a700b3de806f2d6f
+iv = cf7951501104e1434309e6b936ec1742
+key = beba50c936b696c15e25046dffb23a64
+msg = 821ea8532fbabffb6e3d212e9b46
+result = valid
+
+# tcId = 19
+# small plaintext size
+ct = fed05321d11d978e2ec32527ecfce06c
+iv = 90f5cf4fbfd2e2a1ab8eef402617bd5c
+key = 501d81ebf912ddb87fbe3b7aac1437bc
+msg = 2368e3c3636b5e8e94d2081adbf798
+result = valid
+
+# tcId = 20
+# plaintext size > 16
+ct = 8d55dc10584e243f55d2bdbb5758b7fabcd58c8d3785f01c7e3640b2a1dadcd9
+iv = 54f2459e40e002763144f4752cde2fb5
+key = 831e664c9e3f0c3094c0b27b9d908eb2
+msg = 26603bb76dd0a0180791c4ed4d3b058807
+result = valid
+
+# tcId = 21
+# plaintext size > 16
+ct = e9199842355ea0c3dbf1b2a94fef1c802a95d024df9e407883cf5bf1f02c3cdc
+iv = 088e01c2c65b26e7ad6af7b92ea09d73
+key = cbffc6c8c7f76f46349c32d666f4efb0
+msg = 6df067add738195fd55ac2e76b476971b9a0e6d8
+result = valid
+
+# tcId = 22
+# plaintext size > 16
+ct = 19beb4db2be0f3aff0083583038b2281a77c85b5f345ba4d2bc7f742a14f9247
+iv = d9c9468796a2f5741b84d2d41430c5d3
+key = fda6a01194beb462953d7e6c49b32dac
+msg = f60ae3b036abcab78c98fc1d4b67970c0955cb6fe24483f8907fd73319679b
+result = valid
+
+# tcId = 23
+# plaintext size > 16
+ct = 84904fc92bd2e7590aa268e667370327b9446f41067dd40d3e5091a63a0d5687e4926e00cc3cb461c3b85d80ee2da818
+iv = c98b47808add45c0c891983ec4b09846
+key = efd9caa8ac68e9e29acdae57e93bcea8
+msg = 3e1d2001f1e475b972738936443a5f51eedaf802a66fadf2406cfaadb0549149fcb9f485e534dc2d
+result = valid
+
+# tcId = 24
+# plaintext size > 16
+ct = 1d1391593a336be4b207295ad0542bc4ef2f39053066e12c38f71603f377fd42f4f0b2b5a42cdfeaee2af039f06fcf347abe171af3157ff07f3cdd3b33e11a60caecf9890325c132eeb66ab847278d165c26bca7c30486bb2fd83b63c5ff7ae0
+iv = 08e9410de244d3f40607ebae38fa74e7
+key = 37e4dbdc436258d5a9adb9f205c77cf3
+msg = 24a874aec067116ad22eb55846ded3f5e86919a135585c929a86d92b2958fed110e52e33804887243584a6a94402cc9a105e0c940ec335bd2890f16dcce3fc8bd02873c80ade6f1ac08683130bcca454
+result = valid
+
+# tcId = 25
+# zero padding
+ct = aa62606a287476777b92d8e4c4e53028
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 26
+# zero padding
+ct = ada437b682c92384b6c23ec10a21b3d8
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 27
+# zero padding
+ct = 26c5b3e540ee3dd6b52d14afd01a44f8
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 28
+# zero padding
+ct = fbcbdfdaaf17980be939c0b243266ecbc0deb417e98aba3ee12fea2921f8ae51
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 29
+# zero padding
+ct = fbcbdfdaaf17980be939c0b243266ecb1188ff22f6563f6173440547d1e0dfd8
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 30
+# padding with 0xff
+ct = 726570a34cea08139d9f836579102a0e
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 31
+# padding with 0xff
+ct = c8ef7ac3fd659ce7157d72a25f0a5048
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 32
+# padding with 0xff
+ct = 6123c889bbc766acd4bca4cb982f9978
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 33
+# padding with 0xff
+ct = fbcbdfdaaf17980be939c0b243266ecb442cd16f7410fca70924b573f7967e84
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 34
+# padding with 0xff
+ct = fbcbdfdaaf17980be939c0b243266ecbb20f899b0e7c1d65b931af94b5c44c25
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 35
+# bit padding
+ct = 50aeed98a820c5a037a5aa4d4ef3090b
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 36
+# bit padding
+ct = 25ee339006f948f42713543c62467ef9
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 37
+# bit padding
+ct = 97914574676ed5b8db0b6f3931195b3f
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 38
+# bit padding
+ct = fbcbdfdaaf17980be939c0b243266ecb2874a1e2d28dd18e5573df9fd59fd789
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 39
+# bit padding
+ct = fbcbdfdaaf17980be939c0b243266ecbb547c4fddbdcd3e02f438a2e48587594
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 40
+# padding longer than 1 block
+ct = d17ccbb26f0aa95f397b20063547349bac24c5429cbea591e96595cccc11451b
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 41
+# padding longer than 1 block
+ct = fc07025e81d43efa85f92afdf8781b1e88598e12d6812df43733e93414b9e901
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 42
+# padding longer than 1 block
+ct = deb1746f4e9e0be4a21825b071b6e93303031651e0c59091e2ae0fbcce11b987
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 43
+# padding longer than 1 block
+ct = fbcbdfdaaf17980be939c0b243266ecb563d35096fde10ccb6f768438c9eb4ec90f399b76924c716e9f94143263306c6
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 44
+# padding longer than 1 block
+ct = fbcbdfdaaf17980be939c0b243266ecbc8fd2e2c5362acf5212bd47859aa827d8469b87b0e6adafe3dba98c1885b6345
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 45
+# ANSI X.923 padding
+ct = ca5dd2d09bd56eec9e8acaeca20af68e
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 46
+# ANSI X.923 padding
+ct = 01e53a5ec9b0957c45f79ed0f4b2b982
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 47
+# ANSI X.923 padding
+ct = fbcbdfdaaf17980be939c0b243266ecbd3909bb3457e5b946ff709be9a2ed84d
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 48
+# ANSI X.923 padding
+ct = fbcbdfdaaf17980be939c0b243266ecbc5ab3ab637166a6a067b82b5672c08f8
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 49
+# ISO 10126 padding
+ct = ba0726bd6dea11382b19c842e2ddead2
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 50
+# ISO 10126 padding
+ct = 22f18b85c729903744fb8db5ed2840d4
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 51
+# ISO 10126 padding
+ct = fbcbdfdaaf17980be939c0b243266ecb6b103fbe43519a18880b7e6d9153e1c2
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 52
+# ISO 10126 padding
+ct = fbcbdfdaaf17980be939c0b243266ecbe00bdb15b8a61285447498700d35e0c6
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 53
+# padding longer than message
+ct = d17ccbb26f0aa95f397b20063547349b
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 54
+# padding longer than message
+ct = 2056dfa339fa00be6836999411a98c76
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 55
+# padding longer than message
+ct = f92628f6418d8d9c9afac233861b3835
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 56
+# padding longer than message
+ct = fbcbdfdaaf17980be939c0b243266ecbc0c41093b495a7d5a080d976493fd0e7
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 57
+# padding longer than message
+ct = fbcbdfdaaf17980be939c0b243266ecb6770446a5ccaa26f7d4f970cc5834eba
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 58
+#  invalid padding
+ct = 4ff3e623fdd432608c183f40864177af
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 59
+#  invalid padding
+ct = 6a1ef1e6ae6a788777aabd9ccf3cf43a
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 60
+#  invalid padding
+ct = fbcbdfdaaf17980be939c0b243266ecbee1345cd513161b241f4ae2799b0327f
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 61
+#  invalid padding
+ct = fbcbdfdaaf17980be939c0b243266ecbe0d539beef6f2d4f7cda4fd9f4f05570
+iv = 23468aa734f5f0f19827316ff168e94f
+key = db4f3e5e3795cc09a073fa6a81e5a6bc
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+[ivSize = 128]
+[keySize = 192]
+
+# tcId = 62
+# empty message
+ct = ff0c315873b4b1872abef2353b792ef0
+iv = db20f9a6f4d6b4e478f1a4b9d4051d34
+key = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631
+msg = 
+result = valid
+
+# tcId = 63
+# message size divisible by block size
+ct = 7dbd573e4db58a318edfe29f199d8cda538a49f36486337c2711163e55fd5d0b
+iv = 69a76dc4da64d89c580eb75ae975ec39
+key = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb
+msg = 0e239f239705b282ce2200fe20de1165
+result = valid
+
+# tcId = 64
+# message size divisible by block size
+ct = bd0258909e5b72438d95ca4b29c8a79c6228fd06a3b2fa06f7659654c7b24610f23f2fb16313b7d3614cb0cd16fabb8e
+iv = 6525667350930fb945dd1895a3abfcd1
+key = 9d11abc1fcb248a436598e695be12c3c2ed90a18ba09d62c
+msg = aa5182cae2a8fb068c0b3fb2be3e57ae523d13dffd1a944587707c2b67447f3f
+result = valid
+
+# tcId = 65
+# message size divisible by block size
+ct = 6cbeacf8de25d7dd9dcdc087bf2f80873b1eb335400589076f8d2bf81e294c5d72b85eb8ac9558b0de9e9fbee4b18716e5220c507fbb9d319a08f67816765ca6
+iv = 3943d8fddd5bb2a59772df31a31a8fff
+key = 7e41d83181659a2c38da5ead353cdb04c2b4d4a3cfe58e25
+msg = 8a32d11c7a11aa72e13381632b1310f4fd90fc209a6a350e61c069a561871214f9c04fc1df7354cbe4d8d639c525d324
+result = valid
+
+# tcId = 66
+# small plaintext size
+ct = 519925956d32e4fa350b1144f088e4e8
+iv = 1379d48493f743e6a149deb3b9bab31e
+key = 915429743435c28997a33b33b6574a953d81dae0e7032e6a
+msg = 58
+result = valid
+
+# tcId = 67
+# small plaintext size
+ct = bfb90aa7de1bdeed5bdc5703bdfd9630
+iv = 48c7f44b43a1279d820733e6cb30617a
+key = f0c288ba26b284f9fb321b444a6517b3cdda1a799d55fdff
+msg = 0f7e
+result = valid
+
+# tcId = 68
+# small plaintext size
+ct = b1a25816908c086f26037d10b7be9ad9
+iv = 2c287b38cc30c8c351b087b91a6a97ba
+key = 6b55e4d4fd6847a80a6bfb0dcc0aa93f9fd797fc5c50292e
+msg = 33f530
+result = valid
+
+# tcId = 69
+# small plaintext size
+ct = 74dbdecbfa94b71d2d6ef03200c7d095
+iv = 61f6060919c9c09ef06be28f39c344aa
+key = 1eb21a9e995a8e45c9e71ecbd6fe615b3e0318007c64b644
+msg = 3aa73c48
+result = valid
+
+# tcId = 70
+# small plaintext size
+ct = 10c860aaee23c3c3c1b9306b189dd80d
+iv = 7682005907bfef3ce00196a17ad2246d
+key = 710e2d5d4a9f0bc7e50796655e046a18cc5769d7764355da
+msg = 7e4c690a88
+result = valid
+
+# tcId = 71
+# small plaintext size
+ct = 673dcd444386930a0cc577fab4501e5c
+iv = 1f6c912997ce007701e5fdf407c6b421
+key = d8c09ea400779b63e774bdacd0cb7b5dd6f736ca23d52acf
+msg = e9520280973b
+result = valid
+
+# tcId = 72
+# small plaintext size
+ct = 059e5f72a81d8820add8eae8fabcdd42
+iv = 5854033ae50de090678432781a168b6c
+key = 8e67e9a0863b55bed408866f1cbc05357abe3f9d79f406f2
+msg = 4880b412287a0b
+result = valid
+
+# tcId = 73
+# small plaintext size
+ct = c412159fd5ae20d771b7d2e734124d6a
+iv = 003b2d86d8b636c58cf664565572d5e6
+key = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c
+msg = 004e3f4a4e6db955
+result = valid
+
+# tcId = 74
+# small plaintext size
+ct = 4aba571c2c5ab9a6140f16efc68c8ec1
+iv = 3f22b50f888ab9424ba871d15aac55b7
+key = dc968dd89fd602bb7eca6f3a8a13e4f59c08d02a514b1934
+msg = 41a25354efeb1bc3b8
+result = valid
+
+# tcId = 75
+# small plaintext size
+ct = 66d1b9152a8cd1a88eab341c775070b4
+iv = e4b8dde04b49fa6b88bfccd8d70c21d1
+key = 7658951c0f620d82afd92756cc2d7983b79da3e56fdd1b78
+msg = f0e82fb5c5666f4af49f
+result = valid
+
+# tcId = 76
+# small plaintext size
+ct = d9377788e2881a48f9347786db7df51f
+iv = 7753f616cd8796c9b8a3bbfbe6cb1e7f
+key = d9574c3a221b986690931faac5258d9d3c52362b2cb9b054
+msg = 178ea8404ba54ee4e4522c
+result = valid
+
+# tcId = 77
+# small plaintext size
+ct = db825f4434ea3bb53576fa7385fb7dfe
+iv = eae9ee19ccb7f8b087675709c4d35f73
+key = 704409bab28085c44981f28f75dd143a4f747106f63f262e
+msg = cda5709e7f115624e74ab031
+result = valid
+
+# tcId = 78
+# small plaintext size
+ct = 3e7287df2a5ed9de4d817e352bd47ea7
+iv = a6aaff339a729d30a7ec1328db36d23e
+key = d8d06ef6a53bbff5c8f12d791b8f4c67e574bf440736d1cc
+msg = a1171eae1979f48345dd9485a0
+result = valid
+
+# tcId = 79
+# small plaintext size
+ct = 17c3ade4b469ae614760039a8fa6250e
+iv = 92fda71e88c70d18ed71b992735a2150
+key = 71129e781613f39d9ac39fbde2628b44c250c14deb5ef9e2
+msg = 967593cc64bcbf7f3c58d04cb82b
+result = valid
+
+# tcId = 80
+# small plaintext size
+ct = 9cafecff2a28d02f732573f65a2cadca
+iv = ed6596c86b98123ad2f3c573e974d051
+key = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331
+msg = 586f4f171af116519061a8e0e77940
+result = valid
+
+# tcId = 81
+# plaintext size > 16
+ct = 401ad889bdb9d38816c782e00b168ccccde9bf75f4be868ceb91237e8b37b750
+iv = c45b52a240eba3bdde5dfd57f3d474fb
+key = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614
+msg = b1973cb25aa87ef9d1a8888b0a0f5c04c6
+result = valid
+
+# tcId = 82
+# plaintext size > 16
+ct = 455d516e87851e6c894578a0f7126e0acbc7cfbb1d80296647ab89a79dfa6f71
+iv = 07ece5fe02266e073499fd4d66929034
+key = b7f165bced1613da5e747fdf9255832d30c07f2deeb5a326
+msg = 289647ea8d0ff31375a82aa1c620903048bb1d0e
+result = valid
+
+# tcId = 83
+# plaintext size > 16
+ct = cbf541330a5a9bda24984976b0cf96ba08ef521fa2cdb3df839128570e222ac4
+iv = d799157bc1f77c182027be918b30783a
+key = 9bbe6e004fb260dadb02b68b78954f1da5e6a2d02e0aeefe
+msg = 665423092ce95b927e98b8082030f58e33f3ec1b0c29532c2f421855f00f97
+result = valid
+
+# tcId = 84
+# plaintext size > 16
+ct = 03225f08592efca14ad8ecf822465e8be4157465d0be150dd3d645b6fef1b19ca7bbaa5940b2a7895fa2b0ee55b0d4ec
+iv = fdf97645e4192ba84728bbf6683f79de
+key = 1381fbd5e79045d40f29790fc1a436c95b040a046ebf0b0f
+msg = d575dce596dd0a2cd1c18dab7eb0948fafb8669969a48b6314493bfb8daf8acacd51382f9bb5b357
+result = valid
+
+# tcId = 85
+# plaintext size > 16
+ct = 27ad00313f328f0d3e6c3238ab560cb7243a9f54f7dff79b5a7a879439993d458017f09e8d3f694098bc19e61fe54085138664abb51a5b328cf2c9ce5d59726fff5e1b7553c143d9e0493c51cab23ff2ecdad91bd72bb12b32f3b611f9a4225d
+iv = 059685f59247eea5d3f2a1532cb9d6b2
+key = 1bb4ed0e8435e20729f48c1b7e3af6e69e4cebf0731131cf
+msg = 6d29dab6a0568c961ab3c825e0d89940cef06c63ade7e557cd3e92792eaf23c8cd5a0f029c63b1cdce4754ccfad7a73c7c9e50ffe081e9136f5e9a424077339de12ea43572afe1b034e833e5887763aa
+result = valid
+
+# tcId = 86
+# zero padding
+ct = 2c010faa25c68c3b30b8c1491c316d5f
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 87
+# zero padding
+ct = 818454d433154a8e00e8f590b8a1c38c
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 88
+# zero padding
+ct = 0a7423fae3f4c8d4633f839d36f2e9ff
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 89
+# zero padding
+ct = a7cfcdabcc5a2736a2708c1cb0b61432e83f6e522c371e6e71bde539595b70b7
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 90
+# zero padding
+ct = a7cfcdabcc5a2736a2708c1cb0b6143254d15f47701fa54f5957828f386e1d97
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 91
+# padding with 0xff
+ct = 6ded36cc7603e514014dfb7199900676
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 92
+# padding with 0xff
+ct = 839f772f8e5f50afdc02f954094869fe
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 93
+# padding with 0xff
+ct = eefe3553c099c187929b287e54f95726
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 94
+# padding with 0xff
+ct = a7cfcdabcc5a2736a2708c1cb0b61432d0531a2641d40467353542d79ce20ea8
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 95
+# padding with 0xff
+ct = a7cfcdabcc5a2736a2708c1cb0b61432aaf08a090ecf66167ba5958100be7950
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 96
+# bit padding
+ct = c0e402c8bbdda18c8ddd86470bd4b244
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 97
+# bit padding
+ct = dc185d4572565e01131e471ec4c48125
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 98
+# bit padding
+ct = 3ad1ddf3c3b320398785e6ec6544e9a2
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 99
+# bit padding
+ct = a7cfcdabcc5a2736a2708c1cb0b614325876f90cfbbdbcd85e8252d37c44c638
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 100
+# bit padding
+ct = a7cfcdabcc5a2736a2708c1cb0b61432d18f57216b0e6426d911998a0e44156b
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 101
+# padding longer than 1 block
+ct = f1605abb4e6628347c616da350fe243043a8d7b6aea244ca013f45241d802213
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 102
+# padding longer than 1 block
+ct = a5f027fb9514ec8844534d452c940feb2c1807f57ed628156cf753f2ab698356
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 103
+# padding longer than 1 block
+ct = f346fbc9744d723c42bbb2a4c934cdd4f1019e58c226cb2491fed621271a38f3
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 104
+# padding longer than 1 block
+ct = a7cfcdabcc5a2736a2708c1cb0b6143263eb325d36e13aa1d3dd1d7e071700104c7eb3e22e0859aa06296bc3194bb909
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 105
+# padding longer than 1 block
+ct = a7cfcdabcc5a2736a2708c1cb0b61432219485d41584bd110a6d7a9cad472815d93921c48d4bcb509fdf2e63d7627c37
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 106
+# ANSI X.923 padding
+ct = 215571a18a70140f3a0fd4c1b2dd6316
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 107
+# ANSI X.923 padding
+ct = 2529985ec0ec3cf4bd22746e00d7bdc6
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 108
+# ANSI X.923 padding
+ct = a7cfcdabcc5a2736a2708c1cb0b614329a8058657ac4a150e995cf83efccf051
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 109
+# ANSI X.923 padding
+ct = a7cfcdabcc5a2736a2708c1cb0b614328a068626780ba600f880bd5323f8ac15
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 110
+# ISO 10126 padding
+ct = 13e75f9ffe2afa81b9a2e7faf74aab6d
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 111
+# ISO 10126 padding
+ct = a382197fe491f5c3f91b629dc47c3d58
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 112
+# ISO 10126 padding
+ct = a7cfcdabcc5a2736a2708c1cb0b614320b842e5d6e32660263ff814a0277659f
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 113
+# ISO 10126 padding
+ct = a7cfcdabcc5a2736a2708c1cb0b614321d2f736515cfe17921800eb392e0139d
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 114
+# padding longer than message
+ct = f1605abb4e6628347c616da350fe2430
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 115
+# padding longer than message
+ct = b3602ff0f797cbbdde35105d27e55b94
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 116
+# padding longer than message
+ct = 0334c1bc34b597f60a639e74d8b45c4e
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 117
+# padding longer than message
+ct = a7cfcdabcc5a2736a2708c1cb0b61432c3f9fe42d9715035bcda97d27405ced7
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 118
+# padding longer than message
+ct = a7cfcdabcc5a2736a2708c1cb0b61432362b014a9abdaf25ae1f6dfb99d03d9d
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 119
+#  invalid padding
+ct = 97ab405b86c388f144cf74fbb9358493
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 120
+#  invalid padding
+ct = 691f6009802f0fb4920928db7eca1349
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 121
+#  invalid padding
+ct = a7cfcdabcc5a2736a2708c1cb0b61432a99fc96a6fa0c9fcb18de1672d74914d
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 122
+#  invalid padding
+ct = a7cfcdabcc5a2736a2708c1cb0b61432dd1bb2e98102322fb1aa92c979d4c7c3
+iv = a3fe6f76e8f582830bbe83574a7bb729
+key = 9e20311eaf2eaf3e3a04bc52564e67313c84940a2996e3f2
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+[ivSize = 128]
+[keySize = 256]
+
+# tcId = 123
+# empty message
+ct = e7c166554d1bb32792c981fa674cc4d8
+iv = eb38ef61717e1324ae064e86f1c3e797
+key = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97
+msg = 
+result = valid
+
+# tcId = 124
+# message size divisible by block size
+ct = 299295be47e9f5441fe83a7a811c4aeb2650333e681e69fa6b767d28a6ccf282
+iv = 9ec7b863ac845cad5e4673da21f5b6a9
+key = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd
+msg = cc37fae15f745a2f40e2c8b192f2b38d
+result = valid
+
+# tcId = 125
+# message size divisible by block size
+ct = a615a39ff8f59f82cf72ed13e1b01e32459700561be112412961365c7a0b58aa7a16d68c065e77ebe504999051476bd7
+iv = e70d83a77a2ce722ac214c00837acedf
+key = 96e1e4896fb2cd05f133a6a100bc5609a7ac3ca6d81721e922dadd69ad07a892
+msg = 91a17e4dfcc3166a1add26ff0e7c12056e8a654f28a6de24f4ba739ceb5b5b18
+result = valid
+
+# tcId = 126
+# message size divisible by block size
+ct = ed3ed8ecdbabc0a8c06259e913f3ab9a1f1dc6d05e5dfdd9c80e1008f3423064d540681291bbd3e159820fee3ff190a68fe506d8ab9e62c8e7b3816093336dbc
+iv = bd003c0a9d804c29f053a77cb380cb47
+key = 649e373e681ef52e3c10ac265484750932a9918f28fb824f7cb50adab39781fe
+msg = 39b447bd3a01983c1cb761b456d69000948ceb870562a536126a0d18a8e7e49b16de8fe672f13d0808d8b7d957899917
+result = valid
+
+# tcId = 127
+# small plaintext size
+ct = 42c0b89a706ed2606cd94f9cb361fa51
+iv = 014d2e13dfbcb969ba3bb91442d52eca
+key = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc
+msg = 40
+result = valid
+
+# tcId = 128
+# small plaintext size
+ct = b90c326b72eb222ddb4dae47f2bc223c
+iv = fae3e2054113f6b3b904aadbfe59655c
+key = ea3b016bdd387dd64d837c71683808f335dbdc53598a4ea8c5f952473fafaf5f
+msg = 6601
+result = valid
+
+# tcId = 129
+# small plaintext size
+ct = 567c45c5e6d570bef583d21cac43757d
+iv = 203cd3e0068e43d38b6f2e48a188f252
+key = 73d4709637857dafab6ad8b2b0a51b06524717fedf100296644f7cfdaae1805b
+msg = f1d300
+result = valid
+
+# tcId = 130
+# small plaintext size
+ct = c45afe62fc9351ad0fc9b03bc2f3a91f
+iv = abcf220eede012279c3a2d33295ff273
+key = d5c81b399d4c0d1583a13da56de6d2dc45a66e7b47c24ab1192e246dc961dd77
+msg = 2ae63cbf
+result = valid
+
+# tcId = 131
+# small plaintext size
+ct = 281fa533d0740cc6cdf94dd1a5f7402d
+iv = 01373953578902909ae4f6cb0a72587c
+key = 2521203fa0dddf59d837b2830f87b1aa61f958155df3ca4d1df2457cb4284dc8
+msg = af3a015ea1
+result = valid
+
+# tcId = 132
+# small plaintext size
+ct = 3f3f39697bd7e88d85a14132be1cbc48
+iv = 3fb0d5ecd06c71150748b599595833cb
+key = 665a02bc265a66d01775091da56726b6668bfd903cb7af66fb1b78a8a062e43c
+msg = 3f56935def3f
+result = valid
+
+# tcId = 133
+# small plaintext size
+ct = 379990d91557614836381d5026fa04a0
+iv = 27a2db6114ece34fb6c23302d9ba07c6
+key = facd75b22221380047305bc981f570e2a1af38928ea7e2059e3af5fc6b82b493
+msg = 57bb86beed156f
+result = valid
+
+# tcId = 134
+# small plaintext size
+ct = 7ecefe24caa78a68f4031d40fdb9a43a
+iv = 9b2b631e3f24bdc814a14abb3416059e
+key = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5
+msg = 2e4e7ef728fe11af
+result = valid
+
+# tcId = 135
+# small plaintext size
+ct = ffe4ec8baf4af40ab2e7f4d6193fae9c
+iv = 92cfc4eb146b18b73fc76483fc5e1229
+key = f942093842808ba47f64e427f7351dde6b9546e66de4e7d60aa6f328182712cf
+msg = 852a21d92848e627c7
+result = valid
+
+# tcId = 136
+# small plaintext size
+ct = ef96215e7950e7be8aae78b9ec8aaf39
+iv = 4ceed8dcb75b6259dad737bdef96f099
+key = 64be162b39c6e5f1fed9c32d9f674d9a8cde6eaa2443214d86bd4a1fb53b81b4
+msg = 195a3b292f93baff0a2c
+result = valid
+
+# tcId = 137
+# small plaintext size
+ct = 4ed0eac75b05868078303875f82fb4f0
+iv = 2d4cead3f1120a2b4b59419d04951e20
+key = b259a555d44b8a20c5489e2f38392ddaa6be9e35b9833b67e1b5fdf6cb3e4c6c
+msg = afd73117330c6e8528a6e4
+result = valid
+
+# tcId = 138
+# small plaintext size
+ct = f4d298caea7c390fc8c7f558f584f852
+iv = a10392634143c2a3332fa0fb3f72200a
+key = 2c6fc62daa77ba8c6881b3dd6989898fef646663cc7b0a3db8228a707b85f2dc
+msg = 0ff54d6b6759120c2e8a51e3
+result = valid
+
+# tcId = 139
+# small plaintext size
+ct = 5e1c00e2ec829f92b87c6adf5c25262d
+iv = 38b916a7ad3a9251ae3bd8865ca3a688
+key = abab815d51df29f740e4e2079fb798e0152836e6ab57d1536ae8929e52c06eb8
+msg = f0058d412a104e53d820b95a7f
+result = valid
+
+# tcId = 140
+# small plaintext size
+ct = bf3a04ddb2dbfe7c6dc9e15aa67be25d
+iv = bfcc3ac44d12e42d780c1188ac64b57f
+key = 3d5da1af83f7287458bff7a7651ea5d8db72259401333f6b82096996dd7eaf19
+msg = aacc36972f183057919ff57b49e1
+result = valid
+
+# tcId = 141
+# small plaintext size
+ct = fdcfa77f5bd09326b4c11f9281b72474
+iv = 35bc82e3503b95044c6406a8b2c2ecff
+key = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa
+msg = 5d066a92c300e9b6ddd63a7c13ae33
+result = valid
+
+# tcId = 142
+# plaintext size > 16
+ct = fbea776fb1653635f88e2937ed2450ba4e9063e96d7cdba04928f01cb85492fe
+iv = 4b74bd981ea9d074757c3e2ef515e5fb
+key = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7
+msg = d5247b8f6c3edcbfb1d591d13ece23d2f5
+result = valid
+
+# tcId = 143
+# plaintext size > 16
+ct = 3a79bb6084c7116b58afe52d7181a0aacee1caa11df959090e2e7b0073d74817
+iv = 9a1d8ccc24c5e4d3995480af236be103
+key = c2039f0d05951aa8d9fbdf68be58a37cf99bd1afcedda286a9db470c3729ca92
+msg = ed5b5e28e9703bdf5c7b3b080f2690a605fcd0d9
+result = valid
+
+# tcId = 144
+# plaintext size > 16
+ct = 642b11efb79b49e5d038bc7aa29b8c6c3ce0bf11c3a69670eb565799908be66d
+iv = 400aab92803bcbb44a96ef789655b34e
+key = 4f097858a1aec62cf18f0966b2b120783aa4ae9149d3213109740506ae47adfe
+msg = ee53d8e5039e82d9fcca114e375a014febfea117a7e709d9008d43858e3660
+result = valid
+
+# tcId = 145
+# plaintext size > 16
+ct = a9b051354f0cf61f11921b330e60f996de796aeb68140a0f9c5962e1f48e4805262fb6f53b26d9bb2fa0e359efe14734
+iv = 6eedf45753ffe38f2407fbc28ab5959c
+key = 5f99f7d60653d79f088dd07ef306b65e057d36e053fa1c9f6854425c019fd4df
+msg = fcc9212c23675c5d69a1266c77389bc955e453daba20034aabbcd502a1b73e05af30f8b7622abdbc
+result = valid
+
+# tcId = 146
+# plaintext size > 16
+ct = 5074f46f1a6d0eeff070d623172eb15bbfc83e7d16466a00c9da5f4545eecf44adbf60cf9ac9aa1a3ec5eca22d4a34a7b21ca44d214c9d04ab1cb0b2c07001de9adb46f3c12f8f48436b516a409bf6cbdf1871dee3115d5cbb7943558b68867e
+iv = f88551c6aa197f9ad80251c2e32d7663
+key = 95aaa5df4ccb529e9b2dc929e770c1f419f8e8933bfb36f632f532b3dcad2ba6
+msg = f5735567b7c8312f116517788b091cc6cb1d474b010a77910154fd11c3b2f0cd19f713b63d66492e8cc7ee8ad714783f46c305a26416e11ff4b99ec5ce2550593cc5ec1b86ba6a66d10f82bdff827055
+result = valid
+
+# tcId = 147
+# zero padding
+ct = e07558d746574528fb813f34e3fb7719
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 148
+# zero padding
+ct = c01af61276368818a8295f7d4b5bb2fd
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 149
+# zero padding
+ct = 97dd9716f06be49160399a5b212250ae
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 150
+# zero padding
+ct = 8881e9e02fa9e3037b397957ba1fb7ce783bb4b4e18d7c646f38e0bb8ff92896
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 151
+# zero padding
+ct = 8881e9e02fa9e3037b397957ba1fb7ce64679a46621b792f643542a735f0bbbf
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 152
+# padding with 0xff
+ct = c007ddffb76b95208505fe7f3be96172
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 153
+# padding with 0xff
+ct = e9b7719c4c2b9fa6b94cb50e87b28156
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 154
+# padding with 0xff
+ct = 77b31f474c4bd489dbadd532643d1fa5
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 155
+# padding with 0xff
+ct = 8881e9e02fa9e3037b397957ba1fb7cea0166e9e1c0122cb2e2983fc0fac7176
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 156
+# padding with 0xff
+ct = 8881e9e02fa9e3037b397957ba1fb7ce6f0effa789cbb0b875cc53cc8f7b3caf
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 157
+# bit padding
+ct = 4dd5f910c94700235c9ed239160e34e2
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 158
+# bit padding
+ct = 94d18b5923f8f3608ae7ad494fbb517e
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 159
+# bit padding
+ct = 0c92886dbcb030b873123a25d224da42
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 160
+# bit padding
+ct = 8881e9e02fa9e3037b397957ba1fb7ce851be67798a2937cd6681165da6dce03
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 161
+# bit padding
+ct = 8881e9e02fa9e3037b397957ba1fb7ce45658a37aaebc51098866b0894007e8e
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 162
+# padding longer than 1 block
+ct = 524236e25956e950713bec0d3d579068f34e4d18c4ccab081317dae526fe7fca
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 163
+# padding longer than 1 block
+ct = d29eb845640c3a8878f51bc50e290aa4a65a34a93728fe8f82fdb8d3d2b7c648
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 164
+# padding longer than 1 block
+ct = c34563be2952277c0f5c67ae1d6f847118730dd7f6a502ceef3c4bce5999f7aa
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 165
+# padding longer than 1 block
+ct = 8881e9e02fa9e3037b397957ba1fb7cec0f74a1aa92fd9c96f9d15d193d1695c1eb33486e269277612f90f509f0535c2
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 166
+# padding longer than 1 block
+ct = 8881e9e02fa9e3037b397957ba1fb7ce151ade309ec5200bacdd83b57ce794cd2b3bf9f8957def829e8465f7db266f9e
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 167
+# ANSI X.923 padding
+ct = fb38cbef13f1d5be9c0ac7ed9cbe023c
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 168
+# ANSI X.923 padding
+ct = 18cf8988abe9a2463a3a75db1fac8bcc
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 169
+# ANSI X.923 padding
+ct = 8881e9e02fa9e3037b397957ba1fb7cee16d6fc4b4d3cdf6f915996e437fd4cc
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 170
+# ANSI X.923 padding
+ct = 8881e9e02fa9e3037b397957ba1fb7cea8f41f61ead6e9936cbe7ee5a1163b9b
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 171
+# ISO 10126 padding
+ct = a05c14da0109093c195b4998812fe150
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 172
+# ISO 10126 padding
+ct = c477877250c8e4ca2869f35c4757cdb4
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 173
+# ISO 10126 padding
+ct = 8881e9e02fa9e3037b397957ba1fb7ce69f57c6e99c7b9df7d4879ccd15caf3d
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 174
+# ISO 10126 padding
+ct = 8881e9e02fa9e3037b397957ba1fb7ce77f89a247c928f147748ce6bc8fc4b67
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 175
+# padding longer than message
+ct = 524236e25956e950713bec0d3d579068
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 176
+# padding longer than message
+ct = e03b6f2ae1c963b6dfa40b42d34314b7
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 177
+# padding longer than message
+ct = df14f4cbbccca57b9727d68270a1b6c1
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 303132333435363738396162636465
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 178
+# padding longer than message
+ct = 8881e9e02fa9e3037b397957ba1fb7ceea228bf1edd41c390e2eef140142bc00
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 179
+# padding longer than message
+ct = 8881e9e02fa9e3037b397957ba1fb7ce3937e0e9abf7f672a34a500ba8e9099a
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 180
+#  invalid padding
+ct = 32ac6057df2a5d1e2e5131348c6ebc4e
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 181
+#  invalid padding
+ct = df4a7c3b9f4756d30fca0d18e9b28960
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 6162636465666768
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 182
+#  invalid padding
+ct = 8881e9e02fa9e3037b397957ba1fb7ceae2855c47c7988873d57f901e049494b
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 30313233343536373839414243444546
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
+# tcId = 183
+#  invalid padding
+ct = 8881e9e02fa9e3037b397957ba1fb7ce0714c8de200b27ac91d9257fc93c13be
+iv = f010f61c31c9aa8fa0d5be5f6b0f2f70
+key = 7c78f34dbce8f0557d43630266f59babd1cb92ba624bd1a8f45a2a91c84a804a
+msg = 3031323334353637383941424344454647
+result = invalid
+# The ciphertext in this test vector is the message encrypted with an invalid or
+# unexpected padding. This allows to find implementations that are not properly
+# checking the padding during decryption.
+
diff --git a/src/third_party/wycheproof/aes_cmac_test.json b/src/third_party/wycheproof_testvectors/aes_cmac_test.json
similarity index 99%
rename from src/third_party/wycheproof/aes_cmac_test.json
rename to src/third_party/wycheproof_testvectors/aes_cmac_test.json
index 6b12111..4a1e5fc 100644
--- a/src/third_party/wycheproof/aes_cmac_test.json
+++ b/src/third_party/wycheproof_testvectors/aes_cmac_test.json
@@ -1,6 +1,6 @@
 {
   "algorithm" : "AES-CMAC",
-  "generatorVersion" : "0.4",
+  "generatorVersion" : "0.4.6",
   "numberOfTests" : 290,
   "header" : [],
   "testGroups" : [
diff --git a/src/third_party/wycheproof_testvectors/aes_cmac_test.txt b/src/third_party/wycheproof_testvectors/aes_cmac_test.txt
new file mode 100644
index 0000000..86cf155
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/aes_cmac_test.txt
@@ -0,0 +1,2069 @@
+# Imported from Wycheproof's aes_cmac_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: AES-CMAC
+# Generator version: 0.4.6
+
+[keySize = 128]
+[tagSize = 96]
+
+# tcId = 1
+# empty message
+key = 1607559459d30d33548a635ab1eeab9d
+msg = 
+result = valid
+tag = 6a8974470fddb0a47e2b6e7d
+
+# tcId = 2
+# truncated mac
+key = 994275465065fdc96ae37b5d2feb8726
+msg = c6
+result = valid
+tag = 3bfa9ec0fb0cc2b8509e7b1f
+
+# tcId = 3
+# truncated mac
+key = ddc31fc7751a2bf5c8d2d815035622e8
+msg = c81598f30b3e8ca8
+result = valid
+tag = 323c2fd67f1bc85108f391e1
+
+# tcId = 4
+# truncated mac
+key = acef13560296fdc6b09398ae04196f2b
+msg = 25d99a552339745e24a0cb6a9669c4
+result = valid
+tag = cdff8af899f61a70a97d967a
+
+# tcId = 5
+# truncated mac
+key = 33defac4ec7c7b69aa72edb23119e619
+msg = ceabee3f13d0718779ba86acccd6d5a9
+result = valid
+tag = e0b19f7e0316f276a846115f
+
+# tcId = 6
+# truncated mac
+key = d1c61c251def47b39deb1a77a8b188d9
+msg = 0d68e86cf139677cb461a0fa76690e4afc
+result = valid
+tag = 2c5f2629fa41555e84c0ef0c
+
+# tcId = 7
+# truncated mac
+key = 3f71e3875f234fc569433cafa3a36330
+msg = a3e01e9a597e57502fd849908aa7a19407cbfdc74bc5c485
+result = valid
+tag = eb8e0bb4937e4a4f9fd55465
+
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 8
+# empty message
+key = e34f15c7bd819930fe9d66e0c166e61c
+msg = 
+result = valid
+tag = d47afca1d857a5933405b1eb7a5cb7af
+
+# tcId = 9
+# full length mac
+key = e1e726677f4893890f8c027f9d8ef80d
+msg = 3f
+result = valid
+tag = 15f856bbed3b321952a584b3c4437a63
+
+# tcId = 10
+# full length mac
+key = 48f0d03e41cc55c4b58f737b5acdea32
+msg = f4a133aa6d5985a0
+result = valid
+tag = 1f1cd0327c02e6d00086915937dd61d9
+
+# tcId = 11
+# full length mac
+key = 501d81ebf912ddb87fbe3b7aac1437bc
+msg = 2368e3c3636b5e8e94d2081adbf798
+result = valid
+tag = aeb784a3825168ddd61f72d0202125e6
+
+# tcId = 12
+# full length mac
+key = e09eaa5a3f5e56d279d5e7a03373f6ea
+msg = ef4eab37181f98423e53e947e7050fd0
+result = valid
+tag = 40facf0e2fb51b73a7472681b033d6dc
+
+# tcId = 13
+# full length mac
+key = 831e664c9e3f0c3094c0b27b9d908eb2
+msg = 26603bb76dd0a0180791c4ed4d3b058807
+result = valid
+tag = a8144c8b24f2aa47d9c160cff4ab1716
+
+# tcId = 14
+# full length mac
+key = 549bd282ee21b4d7c3b1d02e3ee20ef7
+msg = d84bf73c5eecbd38444f1a73556e2fa3253f4c54d6916545
+result = valid
+tag = 7ed458afe02f4a513f59715b664b1bbe
+
+# tcId = 15
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 96dd6e5a882cbd564c39ae7d1c5a31aa
+
+# tcId = 16
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 43802eb1931f0032afe984443738cd31
+
+# tcId = 17
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7acfbbca7a2ea68b966fc5399f74809e
+
+# tcId = 18
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 95dd6e5a882cbd564c39ae7d1c5a31aa
+
+# tcId = 19
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 40802eb1931f0032afe984443738cd31
+
+# tcId = 20
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 79cfbbca7a2ea68b966fc5399f74809e
+
+# tcId = 21
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 17dd6e5a882cbd564c39ae7d1c5a31aa
+
+# tcId = 22
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = c2802eb1931f0032afe984443738cd31
+
+# tcId = 23
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = fbcfbbca7a2ea68b966fc5399f74809e
+
+# tcId = 24
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dc6e5a882cbd564c39ae7d1c5a31aa
+
+# tcId = 25
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42812eb1931f0032afe984443738cd31
+
+# tcId = 26
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcebbca7a2ea68b966fc5399f74809e
+
+# tcId = 27
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6eda882cbd564c39ae7d1c5a31aa
+
+# tcId = 28
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802e31931f0032afe984443738cd31
+
+# tcId = 29
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbb4a7a2ea68b966fc5399f74809e
+
+# tcId = 30
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a892cbd564c39ae7d1c5a31aa
+
+# tcId = 31
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1921f0032afe984443738cd31
+
+# tcId = 32
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7b2ea68b966fc5399f74809e
+
+# tcId = 33
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a8a2cbd564c39ae7d1c5a31aa
+
+# tcId = 34
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1911f0032afe984443738cd31
+
+# tcId = 35
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca782ea68b966fc5399f74809e
+
+# tcId = 36
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbdd64c39ae7d1c5a31aa
+
+# tcId = 37
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f00b2afe984443738cd31
+
+# tcId = 38
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea60b966fc5399f74809e
+
+# tcId = 39
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564d39ae7d1c5a31aa
+
+# tcId = 40
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032aee984443738cd31
+
+# tcId = 41
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b976fc5399f74809e
+
+# tcId = 42
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd56cc39ae7d1c5a31aa
+
+# tcId = 43
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f00322fe984443738cd31
+
+# tcId = 44
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b166fc5399f74809e
+
+# tcId = 45
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c19ae7d1c5a31aa
+
+# tcId = 46
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afc984443738cd31
+
+# tcId = 47
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b964fc5399f74809e
+
+# tcId = 48
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c39af7d1c5a31aa
+
+# tcId = 49
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afe985443738cd31
+
+# tcId = 50
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b966fc4399f74809e
+
+# tcId = 51
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c39ae7d1d5a31aa
+
+# tcId = 52
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afe984443638cd31
+
+# tcId = 53
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b966fc5399e74809e
+
+# tcId = 54
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c39ae7d1e5a31aa
+
+# tcId = 55
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afe984443538cd31
+
+# tcId = 56
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b966fc5399d74809e
+
+# tcId = 57
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c39ae7d9c5a31aa
+
+# tcId = 58
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afe98444b738cd31
+
+# tcId = 59
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b966fc5391f74809e
+
+# tcId = 60
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c39ae7d1c5a31ab
+
+# tcId = 61
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afe984443738cd30
+
+# tcId = 62
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b966fc5399f74809f
+
+# tcId = 63
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c39ae7d1c5a31a8
+
+# tcId = 64
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afe984443738cd33
+
+# tcId = 65
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b966fc5399f74809c
+
+# tcId = 66
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c39ae7d1c5a31ea
+
+# tcId = 67
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afe984443738cd71
+
+# tcId = 68
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b966fc5399f7480de
+
+# tcId = 69
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbd564c39ae7d1c5a312a
+
+# tcId = 70
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f0032afe984443738cdb1
+
+# tcId = 71
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea68b966fc5399f74801e
+
+# tcId = 72
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 96dd6e5a882cbd564d39ae7d1c5a31aa
+
+# tcId = 73
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 43802eb1931f0032aee984443738cd31
+
+# tcId = 74
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7acfbbca7a2ea68b976fc5399f74809e
+
+# tcId = 75
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6eda882cbdd64c39ae7d1c5a31aa
+
+# tcId = 76
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802e31931f00b2afe984443738cd31
+
+# tcId = 77
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbb4a7a2ea60b966fc5399f74809e
+
+# tcId = 78
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 97dd6e5a882cbdd64c39ae7d1c5a312a
+
+# tcId = 79
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 42802eb1931f00b2afe984443738cdb1
+
+# tcId = 80
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7bcfbbca7a2ea60b966fc5399f74801e
+
+# tcId = 81
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 682291a577d342a9b3c65182e3a5ce55
+
+# tcId = 82
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = bd7fd14e6ce0ffcd50167bbbc8c732ce
+
+# tcId = 83
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 8430443585d1597469903ac6608b7f61
+
+# tcId = 84
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 85
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 86
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 87
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 88
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 89
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 90
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 175deeda08ac3dd6ccb92efd9cdab12a
+
+# tcId = 91
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = c200ae31139f80b22f6904c4b7b84db1
+
+# tcId = 92
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = fb4f3b4afaae260b16ef45b91ff4001e
+
+# tcId = 93
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 
+result = invalid
+tag = 96dc6f5b892dbc574d38af7c1d5b30ab
+
+# tcId = 94
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 0001020304050607
+result = invalid
+tag = 43812fb0921e0133aee885453639cc30
+
+# tcId = 95
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 7acebacb7b2fa78a976ec4389e75819f
+
+[keySize = 192]
+[tagSize = 96]
+
+# tcId = 96
+# empty message
+key = 78fe7087bc810abf08f15fc69804f888435a6442677c8c79
+msg = 
+result = valid
+tag = 48d92d311f60d51a23e56d8c
+
+# tcId = 97
+# truncated mac
+key = 7ab6fb0e3456e40c3a6c5db57a3d0548d4c8c3cfd8849dba
+msg = c6
+result = valid
+tag = d904a70715bd0ad9468f37b2
+
+# tcId = 98
+# truncated mac
+key = f095a5d39f0b499cef0130b4eb3bfae90253a1f30270efb5
+msg = 738e196c2cb0206b
+result = valid
+tag = 7a3b8de1c57e7c5f7babbe42
+
+# tcId = 99
+# truncated mac
+key = 6fee9e028a35d168ffe2062338f753d3930597b341210f0c
+msg = a1518bb8cb88f305935b91f64f2479
+result = valid
+tag = 7ba264b276a0849bc76a2a29
+
+# tcId = 100
+# truncated mac
+key = 304b9077a8f36fd949e38bbfb6dd71e313530ba0a34d3e77
+msg = 87e60924ae7f2ae1567cbcb07f7ae2aa
+result = valid
+tag = 725e51ac5b10338d940c0236
+
+# tcId = 101
+# truncated mac
+key = fec7f37de35365c415701ba2eec2d94cb20e3e2a0c21cfcf
+msg = cf24271e0acebd3249f996da1fe9d13e3f
+result = valid
+tag = 7636cec43b5b7a40787580fa
+
+# tcId = 102
+# truncated mac
+key = 5f4df68a45a5edde95907b5b002fcf3ba6747f9194536dd3
+msg = 4cc781faaa8decb281afab7dc69f380921d04c54414bb65f
+result = valid
+tag = bb2de41c514dd64ebc5f5a99
+
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 103
+# empty message
+key = 3d6bf9edae6d881eade0ff8c7076a4835b71320c1f36b631
+msg = 
+result = valid
+tag = a8dd15fe2ce3495ec5b666744ec29220
+
+# tcId = 104
+# full length mac
+key = 915429743435c28997a33b33b6574a953d81dae0e7032e6a
+msg = 58
+result = valid
+tag = e13b3f7f7f510c3a059df7a68c7e2ad5
+
+# tcId = 105
+# full length mac
+key = 28d8da67806410e5565bcc5a9d7ab9fb357413fa0158378c
+msg = 004e3f4a4e6db955
+result = valid
+tag = c4c2c0876be9eabeb5a956da53846b08
+
+# tcId = 106
+# full length mac
+key = 850fc859e9f7b89a367611dee6698f33962d8245ca8dc331
+msg = 586f4f171af116519061a8e0e77940
+result = valid
+tag = fb11a360c9776991d73d6e41d07710a2
+
+# tcId = 107
+# full length mac
+key = f4bfa5aa4f0f4d62cf736cd2969c43d580fdb92f2753bedb
+msg = 0e239f239705b282ce2200fe20de1165
+result = valid
+tag = ab20a6cf60873665b1d6999b05c7f9c6
+
+# tcId = 108
+# full length mac
+key = cfd3f68873d81a27d2bfce876c79f6e609074dec39e34614
+msg = b1973cb25aa87ef9d1a8888b0a0f5c04c6
+result = valid
+tag = b95a016b83a0ae4194023333c8a7345a
+
+# tcId = 109
+# full length mac
+key = 648a44468d67bb6744b235ee7a3fcd6ed4bdc29ec5b5fa1a
+msg = c59d0d6981cca1be1d5519fc7881e6d230f39f6c12a9e827
+result = valid
+tag = a1b96272ae7f9aef567271795f21d1d3
+
+# tcId = 110
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ed12390ea0a7ed15d9d37a6eca1fc990
+
+# tcId = 111
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c81307df60859acb911c7be61be7ca90
+
+# tcId = 112
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f91bde0069a6e389573bf04e7cde688c
+
+# tcId = 113
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ee12390ea0a7ed15d9d37a6eca1fc990
+
+# tcId = 114
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = cb1307df60859acb911c7be61be7ca90
+
+# tcId = 115
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = fa1bde0069a6e389573bf04e7cde688c
+
+# tcId = 116
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = 6c12390ea0a7ed15d9d37a6eca1fc990
+
+# tcId = 117
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = 491307df60859acb911c7be61be7ca90
+
+# tcId = 118
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 781bde0069a6e389573bf04e7cde688c
+
+# tcId = 119
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec13390ea0a7ed15d9d37a6eca1fc990
+
+# tcId = 120
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91207df60859acb911c7be61be7ca90
+
+# tcId = 121
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81ade0069a6e389573bf04e7cde688c
+
+# tcId = 122
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12398ea0a7ed15d9d37a6eca1fc990
+
+# tcId = 123
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c913075f60859acb911c7be61be7ca90
+
+# tcId = 124
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde8069a6e389573bf04e7cde688c
+
+# tcId = 125
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea1a7ed15d9d37a6eca1fc990
+
+# tcId = 126
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df61859acb911c7be61be7ca90
+
+# tcId = 127
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0068a6e389573bf04e7cde688c
+
+# tcId = 128
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea2a7ed15d9d37a6eca1fc990
+
+# tcId = 129
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df62859acb911c7be61be7ca90
+
+# tcId = 130
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde006ba6e389573bf04e7cde688c
+
+# tcId = 131
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed95d9d37a6eca1fc990
+
+# tcId = 132
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859a4b911c7be61be7ca90
+
+# tcId = 133
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e309573bf04e7cde688c
+
+# tcId = 134
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d8d37a6eca1fc990
+
+# tcId = 135
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb901c7be61be7ca90
+
+# tcId = 136
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389563bf04e7cde688c
+
+# tcId = 137
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed1559d37a6eca1fc990
+
+# tcId = 138
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb111c7be61be7ca90
+
+# tcId = 139
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389d73bf04e7cde688c
+
+# tcId = 140
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9f37a6eca1fc990
+
+# tcId = 141
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb913c7be61be7ca90
+
+# tcId = 142
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389571bf04e7cde688c
+
+# tcId = 143
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9d37b6eca1fc990
+
+# tcId = 144
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb911c7ae61be7ca90
+
+# tcId = 145
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389573bf14e7cde688c
+
+# tcId = 146
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9d37a6ecb1fc990
+
+# tcId = 147
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb911c7be61ae7ca90
+
+# tcId = 148
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389573bf04e7dde688c
+
+# tcId = 149
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9d37a6ec81fc990
+
+# tcId = 150
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb911c7be619e7ca90
+
+# tcId = 151
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389573bf04e7ede688c
+
+# tcId = 152
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9d37a6e4a1fc990
+
+# tcId = 153
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb911c7be69be7ca90
+
+# tcId = 154
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389573bf04efcde688c
+
+# tcId = 155
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9d37a6eca1fc991
+
+# tcId = 156
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb911c7be61be7ca91
+
+# tcId = 157
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389573bf04e7cde688d
+
+# tcId = 158
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9d37a6eca1fc992
+
+# tcId = 159
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb911c7be61be7ca92
+
+# tcId = 160
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389573bf04e7cde688e
+
+# tcId = 161
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9d37a6eca1fc9d0
+
+# tcId = 162
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb911c7be61be7cad0
+
+# tcId = 163
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389573bf04e7cde68cc
+
+# tcId = 164
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed15d9d37a6eca1fc910
+
+# tcId = 165
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859acb911c7be61be7ca10
+
+# tcId = 166
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e389573bf04e7cde680c
+
+# tcId = 167
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ed12390ea0a7ed15d8d37a6eca1fc990
+
+# tcId = 168
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c81307df60859acb901c7be61be7ca90
+
+# tcId = 169
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f91bde0069a6e389563bf04e7cde688c
+
+# tcId = 170
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12398ea0a7ed95d9d37a6eca1fc990
+
+# tcId = 171
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c913075f60859a4b911c7be61be7ca90
+
+# tcId = 172
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde8069a6e309573bf04e7cde688c
+
+# tcId = 173
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ec12390ea0a7ed95d9d37a6eca1fc910
+
+# tcId = 174
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c91307df60859a4b911c7be61be7ca10
+
+# tcId = 175
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f81bde0069a6e309573bf04e7cde680c
+
+# tcId = 176
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = 13edc6f15f5812ea262c859135e0366f
+
+# tcId = 177
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = 36ecf8209f7a65346ee38419e418356f
+
+# tcId = 178
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 07e421ff96591c76a8c40fb183219773
+
+# tcId = 179
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 180
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 181
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 182
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 183
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 184
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 185
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = 6c92b98e20276d955953faee4a9f4910
+
+# tcId = 186
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = 4993875fe0051a4b119cfb669b674a10
+
+# tcId = 187
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 789b5e80e9266309d7bb70cefc5ee80c
+
+# tcId = 188
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 
+result = invalid
+tag = ed13380fa1a6ec14d8d27b6fcb1ec891
+
+# tcId = 189
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 0001020304050607
+result = invalid
+tag = c81206de61849bca901d7ae71ae6cb91
+
+# tcId = 190
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = f91adf0168a7e288563af14f7ddf698d
+
+[keySize = 256]
+[tagSize = 96]
+
+# tcId = 191
+# empty message
+key = e40992eb4f649e5d49134652aecc24bafa6b45ce8dd9e9d371ede7d5de84fa72
+msg = 
+result = valid
+tag = 034762bd9014d642f7f08af7
+
+# tcId = 192
+# truncated mac
+key = 298962335a075e9eacb7a7627beafa4ee5a02242423cdfb0b4f106eb61cf5663
+msg = 49
+result = valid
+tag = 4545f042beb65af2b7b74808
+
+# tcId = 193
+# truncated mac
+key = 2e94a84c78be80cd598366058d4f6cdf8095666dcac7a00ad832d9f33e20d13c
+msg = b978587bf028558d
+result = valid
+tag = 6703f99ac094ed0e9d9973b5
+
+# tcId = 194
+# truncated mac
+key = 95b330aa5fffa6c0e29fd6fa0debdcb9cf6b448820bea24875089ec8ca5a2387
+msg = c96596ebba6f89761b9d14dfcc8fb4
+result = valid
+tag = 2fc3ce831f693912d33f3fde
+
+# tcId = 195
+# truncated mac
+key = 319cd78b51a689a66b232005d66ad1962d11e52faf6aaad4ce7dc30777cd9ecc
+msg = 82ce94904b110635a8604c4f7afc786b
+result = valid
+tag = a7685d0f2049015e6f3229ee
+
+# tcId = 196
+# truncated mac
+key = b3b7c2c6d3d80918218afcd8bf2a71cf0220e2e8084ead8ba1abfb893ae36d40
+msg = dbcf98254157727c35f367fe6e15a2d089
+result = valid
+tag = 09a60999f8848d19be5242c8
+
+# tcId = 197
+# truncated mac
+key = 8588a6f1fb8ccc0fed3fdb3f8a39d389fb9260748f3b45bd74ad42a60c9caf2b
+msg = 020cc9dd7f06f514bd3baf939f376b8b0083ff1b35ac90d0
+result = valid
+tag = 50649ef2b87c22d2731ace23
+
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 198
+# empty message
+key = 7bf9e536b66a215c22233fe2daaa743a898b9acb9f7802de70b40e3d6e43ef97
+msg = 
+result = valid
+tag = 736c7b56957db774c5ddf7c7a70ba8a8
+
+# tcId = 199
+# full length mac
+key = e754076ceab3fdaf4f9bcab7d4f0df0cbbafbc87731b8f9b7cd2166472e8eebc
+msg = 40
+result = valid
+tag = 9d47482c2d9252bace43a75a8335b8b8
+
+# tcId = 200
+# full length mac
+key = 505aa98819809ef63b9a368a1e8bc2e922da45b03ce02d9a7966b15006dba2d5
+msg = 2e4e7ef728fe11af
+result = valid
+tag = f79606b83a7706a2a19e068bce818898
+
+# tcId = 201
+# full length mac
+key = c19bdf314c6cf64381425467f42aefa17c1cc9358be16ce31b1d214859ce86aa
+msg = 5d066a92c300e9b6ddd63a7c13ae33
+result = valid
+tag = b96818b7acaf879c7a7f8271375a6914
+
+# tcId = 202
+# full length mac
+key = 612e837843ceae7f61d49625faa7e7494f9253e20cb3adcea686512b043936cd
+msg = cc37fae15f745a2f40e2c8b192f2b38d
+result = valid
+tag = 4b88e193000c5a4b23e95c7f2b26530b
+
+# tcId = 203
+# full length mac
+key = 73216fafd0022d0d6ee27198b2272578fa8f04dd9f44467fbb6437aa45641bf7
+msg = d5247b8f6c3edcbfb1d591d13ece23d2f5
+result = valid
+tag = 86911c7da51dc0823d6e93d4290d1ad4
+
+# tcId = 204
+# full length mac
+key = 0427a70e257528f3ab70640bba1a5de12cf3885dd4c8e284fbbb55feb35294a5
+msg = 13937f8544f44270d01175a011f7670e93fa6ba7ef02336e
+result = valid
+tag = ccb2c51bfbe2598f9109fc70ed07f0eb
+
+# tcId = 205
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6af0a293d8cba0101f0089727691b7fb
+
+# tcId = 206
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d709717c3a4ef8a2ea200b297d2accec
+
+# tcId = 207
+# Flipped bit 0 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 58ee3f3b5f83e290cae26dad29bba32d
+
+# tcId = 208
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 69f0a293d8cba0101f0089727691b7fb
+
+# tcId = 209
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d409717c3a4ef8a2ea200b297d2accec
+
+# tcId = 210
+# Flipped bit 1 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 5bee3f3b5f83e290cae26dad29bba32d
+
+# tcId = 211
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = ebf0a293d8cba0101f0089727691b7fb
+
+# tcId = 212
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = 5609717c3a4ef8a2ea200b297d2accec
+
+# tcId = 213
+# Flipped bit 7 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = d9ee3f3b5f83e290cae26dad29bba32d
+
+# tcId = 214
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf1a293d8cba0101f0089727691b7fb
+
+# tcId = 215
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d608717c3a4ef8a2ea200b297d2accec
+
+# tcId = 216
+# Flipped bit 8 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ef3f3b5f83e290cae26dad29bba32d
+
+# tcId = 217
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a213d8cba0101f0089727691b7fb
+
+# tcId = 218
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d60971fc3a4ef8a2ea200b297d2accec
+
+# tcId = 219
+# Flipped bit 31 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3fbb5f83e290cae26dad29bba32d
+
+# tcId = 220
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d9cba0101f0089727691b7fb
+
+# tcId = 221
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3b4ef8a2ea200b297d2accec
+
+# tcId = 222
+# Flipped bit 32 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5e83e290cae26dad29bba32d
+
+# tcId = 223
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293dacba0101f0089727691b7fb
+
+# tcId = 224
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c384ef8a2ea200b297d2accec
+
+# tcId = 225
+# Flipped bit 33 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5d83e290cae26dad29bba32d
+
+# tcId = 226
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0901f0089727691b7fb
+
+# tcId = 227
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef822ea200b297d2accec
+
+# tcId = 228
+# Flipped bit 63 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e210cae26dad29bba32d
+
+# tcId = 229
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101e0089727691b7fb
+
+# tcId = 230
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2eb200b297d2accec
+
+# tcId = 231
+# Flipped bit 64 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cbe26dad29bba32d
+
+# tcId = 232
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0109f0089727691b7fb
+
+# tcId = 233
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a26a200b297d2accec
+
+# tcId = 234
+# Flipped bit 71 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e2904ae26dad29bba32d
+
+# tcId = 235
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f2089727691b7fb
+
+# tcId = 236
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea000b297d2accec
+
+# tcId = 237
+# Flipped bit 77 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cac26dad29bba32d
+
+# tcId = 238
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f0088727691b7fb
+
+# tcId = 239
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea200a297d2accec
+
+# tcId = 240
+# Flipped bit 80 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cae26cad29bba32d
+
+# tcId = 241
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f0089727791b7fb
+
+# tcId = 242
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea200b297c2accec
+
+# tcId = 243
+# Flipped bit 96 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cae26dad28bba32d
+
+# tcId = 244
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f0089727491b7fb
+
+# tcId = 245
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea200b297f2accec
+
+# tcId = 246
+# Flipped bit 97 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cae26dad2bbba32d
+
+# tcId = 247
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f008972f691b7fb
+
+# tcId = 248
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea200b29fd2accec
+
+# tcId = 249
+# Flipped bit 103 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cae26dada9bba32d
+
+# tcId = 250
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f0089727691b7fa
+
+# tcId = 251
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea200b297d2acced
+
+# tcId = 252
+# Flipped bit 120 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cae26dad29bba32c
+
+# tcId = 253
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f0089727691b7f9
+
+# tcId = 254
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea200b297d2accee
+
+# tcId = 255
+# Flipped bit 121 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cae26dad29bba32f
+
+# tcId = 256
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f0089727691b7bb
+
+# tcId = 257
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea200b297d2accac
+
+# tcId = 258
+# Flipped bit 126 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cae26dad29bba36d
+
+# tcId = 259
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0101f0089727691b77b
+
+# tcId = 260
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef8a2ea200b297d2acc6c
+
+# tcId = 261
+# Flipped bit 127 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e290cae26dad29bba3ad
+
+# tcId = 262
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6af0a293d8cba0101e0089727691b7fb
+
+# tcId = 263
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d709717c3a4ef8a2eb200b297d2accec
+
+# tcId = 264
+# Flipped bits 0 and 64 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 58ee3f3b5f83e290cbe26dad29bba32d
+
+# tcId = 265
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a213d8cba0901f0089727691b7fb
+
+# tcId = 266
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d60971fc3a4ef822ea200b297d2accec
+
+# tcId = 267
+# Flipped bits 31 and 63 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3fbb5f83e210cae26dad29bba32d
+
+# tcId = 268
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6bf0a293d8cba0901f0089727691b77b
+
+# tcId = 269
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d609717c3a4ef822ea200b297d2acc6c
+
+# tcId = 270
+# Flipped bits 63 and 127 in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 59ee3f3b5f83e210cae26dad29bba3ad
+
+# tcId = 271
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 940f5d6c27345fefe0ff768d896e4804
+
+# tcId = 272
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = 29f68e83c5b1075d15dff4d682d53313
+
+# tcId = 273
+# all bits of tag flipped
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = a611c0c4a07c1d6f351d9252d6445cd2
+
+# tcId = 274
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 275
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 276
+# Tag changed to all zero
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 277
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 278
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 279
+# tag changed to all 1
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 280
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = eb702213584b20909f8009f2f611377b
+
+# tcId = 281
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = 5689f1fcbace78226aa08ba9fdaa4c6c
+
+# tcId = 282
+# msbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = d96ebfbbdf0362104a62ed2da93b23ad
+
+# tcId = 283
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 
+result = invalid
+tag = 6af1a392d9caa1111e0188737790b6fa
+
+# tcId = 284
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 0001020304050607
+result = invalid
+tag = d708707d3b4ff9a3eb210a287c2bcded
+
+# tcId = 285
+# lsbs changed in tag
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+tag = 58ef3e3a5e82e391cbe36cac28baa22c
+
+[keySize = 0]
+[tagSize = 128]
+
+# tcId = 286
+# invalid key size
+key = 
+msg = 00b9449326d39416
+result = invalid
+tag = 
+
+[keySize = 8]
+[tagSize = 128]
+
+# tcId = 287
+# invalid key size
+key = 0f
+msg = 4538b79a1397e2aa
+result = invalid
+tag = 
+
+[keySize = 64]
+[tagSize = 128]
+
+# tcId = 288
+# invalid key size
+key = a88e385af7185148
+msg = dc63b7ef08096e4f
+result = invalid
+tag = 
+
+[keySize = 160]
+[tagSize = 128]
+
+# tcId = 289
+# invalid key size
+key = 003a228008d390b645929df73a2b2bdd8298918d
+msg = ad1d3c3122ab7ac6
+result = invalid
+tag = 
+
+[keySize = 320]
+[tagSize = 128]
+
+# tcId = 290
+# invalid key size
+key = 94baaac150e2645ae1ec1939c7bcefb73f6edb146fae02289b6c6326ff39bc265d612bef2727fa72
+msg = e3f75a886c4a5591
+result = invalid
+tag = 
+
diff --git a/src/third_party/wycheproof/aes_eax_test.json b/src/third_party/wycheproof_testvectors/aes_eax_test.json
similarity index 99%
rename from src/third_party/wycheproof/aes_eax_test.json
rename to src/third_party/wycheproof_testvectors/aes_eax_test.json
index 9b4e0b2..606bd78 100644
--- a/src/third_party/wycheproof/aes_eax_test.json
+++ b/src/third_party/wycheproof_testvectors/aes_eax_test.json
@@ -1,10 +1,10 @@
 {
   "algorithm" : "AES-EAX",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 155,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "CounterWrap" : "AES-EAX reduces the counter value modulo 2**128. This test vector was constructed for testing the wrapping of the counter value."
   },
+  "numberOfTests" : 155,
   "header" : [],
   "testGroups" : [
     {
diff --git a/src/third_party/wycheproof/aes_gcm_siv_test.json b/src/third_party/wycheproof_testvectors/aes_gcm_siv_test.json
similarity index 99%
rename from src/third_party/wycheproof/aes_gcm_siv_test.json
rename to src/third_party/wycheproof_testvectors/aes_gcm_siv_test.json
index 6fb8b79..33398d2 100644
--- a/src/third_party/wycheproof/aes_gcm_siv_test.json
+++ b/src/third_party/wycheproof_testvectors/aes_gcm_siv_test.json
@@ -1,10 +1,10 @@
 {
   "algorithm" : "AES-GCM",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 143,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "ConstructedIv" : "The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was constructed to test for correct wrapping of the counter."
   },
+  "numberOfTests" : 143,
   "header" : [],
   "testGroups" : [
     {
diff --git a/src/third_party/wycheproof_testvectors/aes_gcm_siv_test.txt b/src/third_party/wycheproof_testvectors/aes_gcm_siv_test.txt
new file mode 100644
index 0000000..6fef33a
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/aes_gcm_siv_test.txt
@@ -0,0 +1,1436 @@
+# Imported from Wycheproof's aes_gcm_siv_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: AES-GCM
+# Generator version: 0.4.6
+
+[ivSize = 96]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 1
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 
+result = valid
+tag = dc20e2d83f25705bb49e439eca56de25
+
+# tcId = 2
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = b5d839330ac7b786
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 0100000000000000
+result = valid
+tag = 578782fff6013b815b287c22493a364c
+
+# tcId = 3
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 7323ea61d05932260047d942
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 010000000000000000000000
+result = valid
+tag = a4978db357391a0bc4fdec8b0d106639
+
+# tcId = 4
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 743f7c8077ab25f8624e2e948579cf77
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 01000000000000000000000000000000
+result = valid
+tag = 303aaf90f6fe21199c6068577437a0c4
+
+# tcId = 5
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 84e07e62ba83a6585417245d7ec413a9fe427d6315c09b57ce45f2e3936a9445
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 0100000000000000000000000000000002000000000000000000000000000000
+result = valid
+tag = 1a8e45dcd4578c667cd86847bf6155ff
+
+# tcId = 6
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 3fd24ce1f5a67b75bf2351f181a475c7b800a5b4d3dcf70106b1eea82fa1d64df42bf7226122fa92e17a40eeaac1201b
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000
+result = valid
+tag = 5e6e311dbf395d35b0fe39c2714388f8
+
+# tcId = 7
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 2433668f1058190f6d43e360f4f35cd8e475127cfca7028ea8ab5c20f7ab2af02516a2bdcbc08d521be37ff28c152bba36697f25b4cd169c6590d1dd39566d3f
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000
+result = valid
+tag = 8a263dd317aa88d56bdf3936dba75bb8
+
+# tcId = 8
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 1e6daba35669f427
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 0200000000000000
+result = valid
+tag = 3b0a1a2560969cdf790d99759abd1508
+
+# tcId = 9
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 296c7889fd99f41917f44620
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 020000000000000000000000
+result = valid
+tag = 08299c5102745aaa3a0c469fad9e075a
+
+# tcId = 10
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = e2b0c5da79a901c1745f700525cb335b
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 02000000000000000000000000000000
+result = valid
+tag = 8f8936ec039e4e4bb97ebd8c4457441f
+
+# tcId = 11
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 620048ef3c1e73e57e02bb8562c416a319e73e4caac8e96a1ecb2933145a1d71
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 0200000000000000000000000000000003000000000000000000000000000000
+result = valid
+tag = e6af6a7f87287da059a71684ed3498e1
+
+# tcId = 12
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 50c8303ea93925d64090d07bd109dfd9515a5a33431019c17d93465999a8b0053201d723120a8562b838cdff25bf9d1e
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000
+result = valid
+tag = 6a8cc3865f76897c2e4b245cf31c51f2
+
+# tcId = 13
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 2f5c64059db55ee0fb847ed513003746aca4e61c711b5de2e7a77ffd02da42feec601910d3467bb8b36ebbaebce5fba30d36c95f48a3e7980f0e7ac299332a80
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000
+result = valid
+tag = cdc46ae475563de037001ef84ae21744
+
+# tcId = 14
+# draft-irtf-cfrg-gcmsiv-06
+aad = 010000000000000000000000
+ct = a8fe3e87
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 02000000
+result = valid
+tag = 07eb1f84fb28f8cb73de8e99e2f48a14
+
+# tcId = 15
+# draft-irtf-cfrg-gcmsiv-06
+aad = 010000000000000000000000000000000200
+ct = 6bb0fecf5ded9b77f902c7d5da236a4391dd0297
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 0300000000000000000000000000000004000000
+result = valid
+tag = 24afc9805e976f451e6d87f6fe106514
+
+# tcId = 16
+# draft-irtf-cfrg-gcmsiv-06
+aad = 0100000000000000000000000000000002000000
+ct = 44d0aaf6fb2f1f34add5e8064e83e12a2ada
+iv = 030000000000000000000000
+key = 01000000000000000000000000000000
+msg = 030000000000000000000000000000000400
+result = valid
+tag = bff9b2ef00fb47920cc72a0c0f13b9fd
+
+# tcId = 17
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 
+iv = f46e44bb3da0015c94f70887
+key = e66021d5eb8e4f4066d4adb9c33560e4
+msg = 
+result = valid
+tag = a4194b79071b01a87d65f706e3949578
+
+# tcId = 18
+# draft-irtf-cfrg-gcmsiv-06
+aad = 46bb91c3c5
+ct = af60eb
+iv = bae8e37fc83441b16034566b
+key = 36864200e0eaf5284d884a0e77d31646
+msg = 7a806c
+result = valid
+tag = 711bd85bc1e4d3e0a462e074eea428a8
+
+# tcId = 19
+# draft-irtf-cfrg-gcmsiv-06
+aad = fc880c94a95198874296
+ct = bb93a3e34d3c
+iv = afc0577e34699b9e671fdd4f
+key = aedb64a6c590bc84d1a5e269e4b47801
+msg = bdc66f146545
+result = valid
+tag = d6a9c45545cfc11f03ad743dba20f966
+
+# tcId = 20
+# draft-irtf-cfrg-gcmsiv-06
+aad = 046787f3ea22c127aaf195d1894728
+ct = 4f37281f7ad12949d0
+iv = 275d1ab32f6d1f0434d8848c
+key = d5cc1fd161320b6920ce07787f86743b
+msg = 1177441f195495860f
+result = valid
+tag = 1d02fd0cd174c84fc5dae2f60f52fd2b
+
+# tcId = 21
+# draft-irtf-cfrg-gcmsiv-06
+aad = c9882e5386fd9f92ec489c8fde2be2cf97e74e93
+ct = f54673c5ddf710c745641c8b
+iv = 9e9ad8780c8d63d0ab4149c0
+key = b3fed1473c528b8426a582995929a149
+msg = 9f572c614b4745914474e7c7
+result = valid
+tag = c1dc2f871fb7561da1286e655e24b7b0
+
+# tcId = 22
+# draft-irtf-cfrg-gcmsiv-06
+aad = 2950a70d5a1db2316fd568378da107b52b0da55210cc1c1b0a
+ct = c9ff545e07b88a015f05b274540aa1
+iv = ac80e6f61455bfac8308a2d4
+key = 2d4ed87da44102952ef94b02b805249b
+msg = 0d8c8451178082355c9e940fea2f58
+result = valid
+tag = 83b3449b9f39552de99dc214a1190b0b
+
+# tcId = 23
+# draft-irtf-cfrg-gcmsiv-06
+aad = 1860f762ebfbd08284e421702de0de18baa9c9596291b08466f37de21c7f
+ct = 6298b296e24e8cc35dce0bed484b7f30d580
+iv = ae06556fb6aa7890bebc18fe
+key = bde3b2f204d1e9f8b06bc47f9745b3d1
+msg = 6b3db4da3d57aa94842b9803a96e07fb6de7
+result = valid
+tag = 3e377094f04709f64d7b985310a4db84
+
+# tcId = 24
+# draft-irtf-cfrg-gcmsiv-06
+aad = 7576f7028ec6eb5ea7e298342a94d4b202b370ef9768ec6561c4fe6b7e7296fa859c21
+ct = 391cc328d484a4f46406181bcd62efd9b3ee197d05
+iv = 6245709fb18853f68d833640
+key = f901cfe8a69615a93fdf7a98cad48179
+msg = e42a3c02c25b64869e146d7b233987bddfc240871d
+result = valid
+tag = 2d15506c84a9edd65e13e9d24a2a6e70
+
+# tcId = 25
+aad = 
+ct = 
+iv = 438a547a94ea88dce46c6c85
+key = bedcfb5a011ebc84600fcb296c15af0d
+msg = 
+result = valid
+tag = 596d0538e48526be1c991e40cc031073
+
+# tcId = 26
+aad = 
+ct = 4f
+iv = b30c084727ad1c592ac21d12
+key = 384ea416ac3c2f51a76e7d8226346d4e
+msg = 35
+result = valid
+tag = 8b2b805fc0885e2b470d9dbe6cb15ed3
+
+# tcId = 27
+aad = 
+ct = 04c7a55f97846e54
+iv = b5e006ded553110e6dc56529
+key = cae31cd9f55526eb038241fc44cac1e5
+msg = d10989f2c52e94ad
+result = valid
+tag = 48168ff846356c33032c719b518f18a8
+
+# tcId = 28
+aad = 
+ct = fd9521041b0397a15b0070b93f48a9
+iv = ecb0c42f7000ef0e6f95f24d
+key = dd6197cd63c963919cf0c273ef6b28bf
+msg = 4dcc1485365866e25ac3f2ca6aba97
+result = valid
+tag = 09df91414578f7faf757d04ee26ab901
+
+# tcId = 29
+aad = 
+ct = 6eb905287ddfafc32f6b1c10046c089f
+iv = 0e1666f2dc652f7708fb8f0d
+key = ffdf4228361ea1f8165852136b3480f7
+msg = 25b12e28ac0ef6ead0226a3b2288c800
+result = valid
+tag = 4ff9f939a77c34b0cb1ee75fcb0dd29a
+
+# tcId = 30
+aad = 
+ct = 6f62bd09d4f36f73e289ab6dd114727fe3
+iv = 965ff6643116ac1443a2dec7
+key = c15ed227dd2e237ecd087eaaaad19ea4
+msg = fee62fde973fe025ad6b322dcdf3c63fc7
+result = valid
+tag = ea727c084db2bc948de0928edddd7fcf
+
+# tcId = 31
+aad = 
+ct = 80133a4bea7311f0d3c9835144c37c4ef0ef20c8f2e36be1
+iv = fbbc04fd6e025b7193eb57f6
+key = a8ee11b26d7ceb7f17eaa1e4b83a2cf6
+msg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf
+result = valid
+tag = b92f47c1af6713e14fbdf60efebb50c6
+
+# tcId = 32
+aad = 
+ct = 778b308e4ca17607df36c0b94695bc64603173b814701a9f69147b42478a0b1f
+iv = a2dbe708db51c68ef02994a6
+key = 7519588f30f7f08ff98e1beee6a2a783
+msg = 1851956319256ebb0f9ccaf325a24abfc5c3e90b055e57cdc0c7ab2165ae03b1
+result = valid
+tag = b75c98952c0aa11958a55c9c2ecf33f5
+
+# tcId = 33
+aad = 30
+ct = 173ba6370171be47dbb6163a63a3b725
+iv = 4bad10c6d84fd43fd13ad36f
+key = a5b5b6bae45b741fe4663890098f326a
+msg = 127b150080ec0bc7704e26f4ab11abb6
+result = valid
+tag = 53aefed6e971d5a1f435f0730a6dd0fd
+
+# tcId = 34
+aad = 743e
+ct = 959f0ff12481dedc4302ad7a904f9486
+iv = 2186a3091237adae83540e24
+key = 0cecb9f512932d68e2c7c0bc4bd621c8
+msg = 437aeb94d842283ba57bb758e3d229f0
+result = valid
+tag = 0215be2ab9b0672a7b82893891057c9c
+
+# tcId = 35
+aad = 25591707c004f506f4b51e85e29f6a
+ct = 8ae3a16a237f1358ac8cfeb5f4cc2818
+iv = 0c908e58cddad69dea1a32c3
+key = 55e04c122780be52ed9328928039008c
+msg = 26eb70672eef03667b34cc7d0df05872
+result = valid
+tag = 28f5aa8a34a9f7c01c17759d142b1bae
+
+# tcId = 36
+aad = c07092d799dac2b4c05fbddd04743c34
+ct = d5220f6a49d1e4c10d38c77c8156ebd0
+iv = c30968c967e53505621628db
+key = 5f0a1b5f8f8673d566ec7f54e7dca4f2
+msg = f6538476daf04524cf134309dd84e187
+result = valid
+tag = 80b50f526286dad22d40984636f0e9ce
+
+# tcId = 37
+aad = 3ea12d80f40f34f812479d2ecc13d2d6df
+ct = 3e771b9376e1d1cde3d9b73349c958bc
+iv = a51c37f467893c1608e56274
+key = 671a70e883fb0611dffd0b1dd9b8cca2
+msg = 3baf3edf04dc0c97aae081cdeb08021d
+result = valid
+tag = ebd3ea678a1e87839a4356584ea89bac
+
+# tcId = 38
+aad = 5189ea6f39b2a78c0202fdff146c5cc6bdc7491d4786f80c6c6aef65634c05da
+ct = 05b568a589d0a77a8ee9c6f06415c6b6
+iv = 52c20979cdaaade573dba650
+key = 63f03172505d90e94900125cb8a4b0dd
+msg = 602c98997ee03fd11ce00e92de193977
+result = valid
+tag = 91ba5089dffb7538199c441728d5f84a
+
+# tcId = 39
+# Testing for ctr overflow
+aad = 395f4091b410c373073bcdc79e02d3af
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 010101010101010101010101
+key = 00112233445566778899aabbccddeeff
+msg = 43488548d88e6f774bcd2d52c18fbcc933a4e9a9613ff3edbe959ec59522adc098b3133b8d17b9e9dad631ad33752c95
+result = valid
+tag = 00000000000000000000000000000000
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 40
+# Testing for ctr overflow
+aad = 616b2dff4d665e5f7ab890723dd981b1
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = f012c6a7eb0e8af5bc45e015e7680a693dc709b95383f6a94babec1bc36e4be3cf4f55a31a94f11c6c3f90eed99682bc
+result = valid
+tag = ffffffffffffffffffffffffffffffff
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 41
+# Testing for ctr overflow
+aad = 387a8997605fd04ae8951c4759087864
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 030303030303030303030303
+key = 00112233445566778899aabbccddeeff
+msg = 71ceee58179d6fb968521e9594dbf98cc0040f6aa38fe873c32a9b122d6cbfd51aa4778b3f4f37be7348690d97e2468b
+result = valid
+tag = fefffffffefffffffefffffffeffffff
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 42
+# Testing for ctr overflow
+aad = 6783b0d5e9d8a2a7274065797097d1ae
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 060606060606060606060606
+key = 00112233445566778899aabbccddeeff
+msg = 2e14f9e9a09ea204557367898a80dcad117af3666bea25762b70633a9f3614fbe631ba617c371fd5566d5e613496e69f
+result = valid
+tag = ffffff7f00112233445566778899aabb
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 43
+# Testing for ctr overflow
+aad = 2933810c146f4f7dd146dd43f35199c6
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 010101010101010101010101
+key = 00112233445566778899aabbccddeeff
+msg = 27fac75879c9d87cd52a0793137ba792f6f145148158eb538f2081e09cd0315986a7025045ecbb2ca1bb18a17bfcd567
+result = valid
+tag = ffffffffffffff7f0011223344556677
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 44
+# Flipped bit 0 in tag
+aad = 27dd62060507dae87c4f93f391ba15f9
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 45
+# Flipped bit 0 in tag
+aad = 9ea3371e258288d5a01b15384e2c99ee
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 03c0e39b77bd62d32568f4c86c90bfdb
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 46
+# Flipped bit 0 in tag
+aad = ce24e3ec0fe7b8550d621b71fdb5d0eb
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 47
+# Flipped bit 7 in tag
+aad = 1471f354b359c235117febba854a823b
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 03c0e39b77bd62d32568f4c86c90bfdb
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 48
+# Flipped bit 7 in tag
+aad = 11f820294fc9d13f1895d2fb5509913b
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 49
+# Flipped bit 8 in tag
+aad = 45e7257b814f09de44177b27b914822f
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 03c0e39b77bd62d32568f4c86c90bfdb
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 50
+# Flipped bit 8 in tag
+aad = 4c49780b5438c4a7ea9795b9856fdae1
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 51
+# Flipped bit 8 in tag
+aad = ecc2f2f4142837a34f9cd1fa030a5d7f
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 0fed395814f1750a
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 52
+# Flipped bit 31 in tag
+aad = 69c7f5605da8e0684990b087411f8cf5
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 53
+# Flipped bit 31 in tag
+aad = 20b346be60e7e97588bf504ce707ce0b
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 0fed395814f1750a
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 54
+# Flipped bit 63 in tag
+aad = 19b298f3a061a73cb774da927ce11ca2
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 55
+# Flipped bit 63 in tag
+aad = bff8c631e61c18a050a523ad4a750a20
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 0fed395814f1750a
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 56
+# Flipped bit 64 in tag
+aad = 7b6171302b689c926852163e310f08d4
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 03c0e39b77bd62d32568f4c86c90bfdb
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 57
+# Flipped bit 97 in tag
+aad = 555036128fa18ecadd090cb772ac0bf3
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 58
+# Flipped bit 97 in tag
+aad = a5b43b8e1dbb2bfbda1b625fee4064a7
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 59
+# Flipped bit 120 in tag
+aad = ae47cc5d7681dd480c23469c5519b647
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 60
+# Flipped bit 120 in tag
+aad = d53dd677184702eaa660f1349195fc04
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 03c0e39b77bd62d32568f4c86c90bfdb
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 61
+# Flipped bit 120 in tag
+aad = dc78584e4599dd4b2fb333db2f9ccb95
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 0fed395814f1750a
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 62
+# Flipped bit 121 in tag
+aad = 0bfd9271e79153a8afdb7f3d96fe446f
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 63
+# Flipped bit 121 in tag
+aad = 1e0537a95b7200134d0b440657d50fd1
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 64
+# Flipped bit 121 in tag
+aad = 7633155df35857258d23b0651d60847c
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 0fed395814f1750a
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 65
+# Flipped bit 126 in tag
+aad = ab0a064b473de43598adf81ee297d856
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 0fed395814f1750a
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 66
+# Flipped bit 127 in tag
+aad = f62bdc3f4fcb699ee12f6e87dcc704cb
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 67
+# Flipped bit 127 in tag
+aad = 1320051031807b8f44e9d2cb1ec6aa92
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 03c0e39b77bd62d32568f4c86c90bfdb
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 68
+# Flipped bit 127 in tag
+aad = 329b813d3ae2225d3e15f97a28037bcc
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 69
+# Flipped bit 0..127 in tag
+aad = edc723bedd0078696acdea005c74b841
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = 63995888995b338c
+result = invalid
+tag = 00000000000000000000000000000000
+
+[ivSize = 96]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 70
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 
+result = valid
+tag = 07f5f4169bbf55a8400cd47ea6fd400f
+
+# tcId = 71
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = c2ef328e5c71c83b
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 0100000000000000
+result = valid
+tag = 843122130f7364b761e0b97427e3df28
+
+# tcId = 72
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 9aab2aeb3faa0a34aea8e2b1
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 010000000000000000000000
+result = valid
+tag = 8ca50da9ae6559e48fd10f6e5c9ca17e
+
+# tcId = 73
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 85a01b63025ba19b7fd3ddfc033b3e76
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 01000000000000000000000000000000
+result = valid
+tag = c9eac6fa700942702e90862383c6c366
+
+# tcId = 74
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 4a6a9db4c8c6549201b9edb53006cba821ec9cf850948a7c86c68ac7539d027f
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 0100000000000000000000000000000002000000000000000000000000000000
+result = valid
+tag = e819e63abcd020b006a976397632eb5d
+
+# tcId = 75
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = c00d121893a9fa603f48ccc1ca3c57ce7499245ea0046db16c53c7c66fe717e39cf6c748837b61f6ee3adcee17534ed5
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 010000000000000000000000000000000200000000000000000000000000000003000000000000000000000000000000
+result = valid
+tag = 790bc96880a99ba804bd12c0e6a22cc4
+
+# tcId = 76
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = c2d5160a1f8683834910acdafc41fbb1632d4a353e8b905ec9a5499ac34f96c7e1049eb080883891a4db8caaa1f99dd004d80487540735234e3744512c6f90ce
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 01000000000000000000000000000000020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000
+result = valid
+tag = 112864c269fc0d9d88c61fa47e39aa08
+
+# tcId = 77
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 1de22967237a8132
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 0200000000000000
+result = valid
+tag = 91213f267e3b452f02d01ae33e4ec854
+
+# tcId = 78
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 163d6f9cc1b346cd453a2e4c
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 020000000000000000000000
+result = valid
+tag = c1a4a19ae800941ccdc57cc8413c277f
+
+# tcId = 79
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = c91545823cc24f17dbb0e9e807d5ec17
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 02000000000000000000000000000000
+result = valid
+tag = b292d28ff61189e8e49f3875ef91aff7
+
+# tcId = 80
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 07dad364bfc2b9da89116d7bef6daaaf6f255510aa654f920ac81b94e8bad365
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 0200000000000000000000000000000003000000000000000000000000000000
+result = valid
+tag = aea1bad12702e1965604374aab96dbbc
+
+# tcId = 81
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = c67a1f0f567a5198aa1fcc8e3f21314336f7f51ca8b1af61feac35a86416fa47fbca3b5f749cdf564527f2314f42fe25
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 020000000000000000000000000000000300000000000000000000000000000004000000000000000000000000000000
+result = valid
+tag = 03332742b228c647173616cfd44c54eb
+
+# tcId = 82
+# draft-irtf-cfrg-gcmsiv-06
+aad = 01
+ct = 67fd45e126bfb9a79930c43aad2d36967d3f0e4d217c1e551f59727870beefc98cb933a8fce9de887b1e40799988db1fc3f91880ed405b2dd298318858467c89
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 02000000000000000000000000000000030000000000000000000000000000000400000000000000000000000000000005000000000000000000000000000000
+result = valid
+tag = 5bde0285037c5de81e5b570a049b62a0
+
+# tcId = 83
+# draft-irtf-cfrg-gcmsiv-06
+aad = 010000000000000000000000
+ct = 22b3f4cd
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 02000000
+result = valid
+tag = 1835e517741dfddccfa07fa4661b74cf
+
+# tcId = 84
+# draft-irtf-cfrg-gcmsiv-06
+aad = 010000000000000000000000000000000200
+ct = 43dd0163cdb48f9fe3212bf61b201976067f342b
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 0300000000000000000000000000000004000000
+result = valid
+tag = b879ad976d8242acc188ab59cabfe307
+
+# tcId = 85
+# draft-irtf-cfrg-gcmsiv-06
+aad = 0100000000000000000000000000000002000000
+ct = 462401724b5ce6588d5a54aae5375513a075
+iv = 030000000000000000000000
+key = 0100000000000000000000000000000000000000000000000000000000000000
+msg = 030000000000000000000000000000000400
+result = valid
+tag = cfcdf5042112aa29685c912fc2056543
+
+# tcId = 86
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 
+iv = e0eaf5284d884a0e77d31646
+key = e66021d5eb8e4f4066d4adb9c33560e4f46e44bb3da0015c94f7088736864200
+msg = 
+result = valid
+tag = 169fbb2fbf389a995f6390af22228a62
+
+# tcId = 87
+# draft-irtf-cfrg-gcmsiv-06
+aad = 4fbdc66f14
+ct = 0eaccb
+iv = e4b47801afc0577e34699b9e
+key = bae8e37fc83441b16034566b7a806c46bb91c3c5aedb64a6c590bc84d1a5e269
+msg = 671fdd
+result = valid
+tag = 93da9bb81333aee0c785b240d319719d
+
+# tcId = 88
+# draft-irtf-cfrg-gcmsiv-06
+aad = 6787f3ea22c127aaf195
+ct = a254dad4f3f9
+iv = 2f6d1f0434d8848c1177441f
+key = 6545fc880c94a95198874296d5cc1fd161320b6920ce07787f86743b275d1ab3
+msg = 195495860f04
+result = valid
+tag = 6b62b84dc40c84636a5ec12020ec8c2c
+
+# tcId = 89
+# draft-irtf-cfrg-gcmsiv-06
+aad = 489c8fde2be2cf97e74e932d4ed87d
+ct = 0df9e308678244c44b
+iv = 9f572c614b4745914474e7c7
+key = d1894728b3fed1473c528b8426a582995929a1499e9ad8780c8d63d0ab4149c0
+msg = c9882e5386fd9f92ec
+result = valid
+tag = c0fd3dc6628dfe55ebb0b9fb2295c8c2
+
+# tcId = 90
+# draft-irtf-cfrg-gcmsiv-06
+aad = 0da55210cc1c1b0abde3b2f204d1e9f8b06bc47f
+ct = 8dbeb9f7255bf5769dd56692
+iv = 5c9e940fea2f582950a70d5a
+key = a44102952ef94b02b805249bac80e6f61455bfac8308a2d40d8c845117808235
+msg = 1db2316fd568378da107b52b
+result = valid
+tag = 404099c2587f64979f21826706d497d5
+
+# tcId = 91
+# draft-irtf-cfrg-gcmsiv-06
+aad = f37de21c7ff901cfe8a69615a93fdf7a98cad481796245709f
+ct = 793576dfa5c0f88729a7ed3c2f1bff
+iv = 6de71860f762ebfbd08284e4
+key = 9745b3d1ae06556fb6aa7890bebc18fe6b3db4da3d57aa94842b9803a96e07fb
+msg = 21702de0de18baa9c9596291b08466
+result = valid
+tag = b3080d28f6ebb5d3648ce97bd5ba67fd
+
+# tcId = 92
+# draft-irtf-cfrg-gcmsiv-06
+aad = 9c2159058b1f0fe91433a5bdc20e214eab7fecef4454a10ef0657df21ac7
+ct = 857e16a64915a787637687db4a9519635cdd
+iv = 028ec6eb5ea7e298342a94d4
+key = b18853f68d833640e42a3c02c25b64869e146d7b233987bddfc240871d7576f7
+msg = b202b370ef9768ec6561c4fe6b7e7296fa85
+result = valid
+tag = 454fc2a154fea91f8363a39fec7d0a49
+
+# tcId = 93
+# draft-irtf-cfrg-gcmsiv-06
+aad = 734320ccc9d9bbbb19cb81b2af4ecbc3e72834321f7aa0f70b7282b4f33df23f167541
+ct = 626660c26ea6612fb17ad91e8e767639edd6c9faee
+iv = 688089e55540db1872504e1c
+key = 3c535de192eaed3822a2fbbe2ca9dfc88255e14a661b8aa82cc54236093bbc23
+msg = ced532ce4159b035277d4dfbb7db62968b13cd4eec
+result = valid
+tag = 9d6c7029675b89eaf4ba1ded1a286594
+
+# tcId = 94
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = f3f80f2cf0cb2dd9c5984fcda908456cc537703b5ba70324a6793a7bf218d3ea
+iv = 000000000000000000000000
+key = 0000000000000000000000000000000000000000000000000000000000000000
+msg = 000000000000000000000000000000004db923dc793ee6497c76dcc03a98e108
+result = valid
+tag = ffffffff000000000000000000000000
+
+# tcId = 95
+# draft-irtf-cfrg-gcmsiv-06
+aad = 
+ct = 18ce4f0b8cb4d0cac65fea8f79257b20888e53e72299e56d
+iv = 000000000000000000000000
+key = 0000000000000000000000000000000000000000000000000000000000000000
+msg = eb3640277c7ffd1303c7a542d02d3e4c0000000000000000
+result = valid
+tag = ffffffff000000000000000000000000
+
+# tcId = 96
+aad = 
+ct = 
+iv = 4da5bf8dfd5852c1ea12379d
+key = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0
+msg = 
+result = valid
+tag = 181720f6ecdcdd332c89d20e09f11b0f
+
+# tcId = 97
+aad = 
+ct = fa
+iv = 99e23ec48985bccdeeab60f1
+key = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273
+msg = 2a
+result = valid
+tag = 868ee11a7fe13996ac26962a7e861962
+
+# tcId = 98
+aad = 
+ct = c32210c306fac7dc
+iv = 4f07afedfdc3b6c2361823d3
+key = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152
+msg = be3308f72a2c6aed
+result = valid
+tag = da60d8ff4d550e6801b0ce488ed1b6fe
+
+# tcId = 99
+aad = 
+ct = 0180029193bbb29e326b5817e8ea01
+iv = 68ab7fdbf61901dad461d23c
+key = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb
+msg = 51f8c1f731ea14acdb210a6d973e07
+result = valid
+tag = 4dd43e861c5f141a693ebc056ed0f0f9
+
+# tcId = 100
+aad = 
+ct = 31cb136074adcd00cf75e9587d7e8424
+iv = 2fcb1b38a99e71b84740ad9b
+key = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a
+msg = 549b365af913f3b081131ccb6b825588
+result = valid
+tag = 567871b7aaaf3c00f42fd9d5962df514
+
+# tcId = 101
+aad = 
+ct = c97e58e8730a567e8bdf5eb981cdd5f323
+iv = 45aaa3e5d16d2d42dc03445d
+key = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011
+msg = 3ff1514b1c503915918f0c0c31094a6e1f
+result = valid
+tag = 4b2dc825fef9dc6bf234f2b8ff798f9e
+
+# tcId = 102
+aad = 
+ct = c2669f9fc8fe6013c4dd22468d43c2af73647b7018531d29
+iv = e6b1adf2fd58a8762c65f31b
+key = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7
+msg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111
+result = valid
+tag = 06a58c8d44e99b3262cad0e920df1f85
+
+# tcId = 103
+aad = 
+ct = faaef557c31a231115f393c4b3c1a1413fb40b4204458d5f9ef8a9f2f12486ae
+iv = 72cfd90ef3026ca22b7e6e6a
+key = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3
+msg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678
+result = valid
+tag = 72fc457255aadf708719c46986caefad
+
+# tcId = 104
+aad = 02
+ct = 12fffdccd1e5a9708fa30ccf99137067
+iv = 87345f1055fd9e2102d50656
+key = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c
+msg = e5ccaa441bc814688f8f6e8f28b500b2
+result = valid
+tag = 688e0b634f51c4f6d983629c8a63c1c0
+
+# tcId = 105
+aad = b648
+ct = b75b8e96de2ef9704ade5c64cab59671
+iv = 87a3163ec0598ad95b3aa713
+key = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc
+msg = 02cde168fba3f544bbd0332f7adeada8
+result = valid
+tag = dec00ceb899c4a6a29be67f1b30435e0
+
+# tcId = 106
+aad = bd4cd02fc7502bbdbdf6c9a3cbe8f0
+ct = 8e67034384170a646e9eea1606a8e899
+iv = 6f573aa86baa492ba46596df
+key = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f
+msg = 16ddd23ff53f3d23c06334487040eb47
+result = valid
+tag = fe7a3dd42beb5ff70bb471ff76f0d341
+
+# tcId = 107
+aad = 89cce9fb47441d07e0245a66fe8b778b
+ct = 7eeb00c65fe7e0c79255e3cd90013588
+iv = 1a6518f02ede1da6809266d9
+key = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016
+msg = 623b7850c321e2cf0c6fbcc8dfd1aff2
+result = valid
+tag = 957d35fb25fdc17f00db33756967fd02
+
+# tcId = 108
+aad = d19f2d989095f7ab03a5fde84416e00c0e
+ct = f83e3b4333400d6393d085fe947057c4
+iv = 564dee49ab00d240fc1068c3
+key = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657
+msg = 87b3a4d7b26d8d3203a0de1d64ef82e3
+result = valid
+tag = 7a30291bb506ae3961f61d683c9d94d1
+
+# tcId = 109
+aad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37
+ct = 97db4d850442eb33e6089af6f3cadf7b
+iv = 8df4b15a888c33286a7b7651
+key = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130
+msg = dc9e9eaf11e314182df6a4eba17aec9c
+result = valid
+tag = 3ccbb125b2835754c1409d227e374d0b
+
+# tcId = 110
+# Testing for ctr overflow
+aad = 40c32e00c2fdab59c1a1c573b46b5068
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 010101010101010101010101
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = bdd411814564c4218d224d50591c818855a862a0a519ac0b3d71a2edb12aa71eb81959bcc6b84c45aa424c9aca0b7bdd
+result = valid
+tag = 00000000000000000000000000000000
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 111
+# Testing for ctr overflow
+aad = 2cc3a1973e0560f7224a394e52fa8488
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 000000000000000000000000
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = d04846a01f472262e60a1cb4cfcbdcb05c3f819628a3a49395c5dae96c434b2417ce071699afa74a60c32c0bafd9c01a
+result = valid
+tag = ffffffffffffffffffffffffffffffff
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 112
+# Testing for ctr overflow
+aad = 2e34d12622a441b557eeb1d647c6cb73
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 010101010101010101010101
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 79637cee9decf33e3080de3d2c55bd21cd529ba8080b583edb6cfe13cda04bd00debe58b8cd48d6e02a1ecfc4d87923a
+result = valid
+tag = fefffffffefffffffefffffffeffffff
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 113
+# Testing for ctr overflow
+aad = 0814a95481bf915a4097949e3525c7e7
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 000000000000000000000000
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 6492a73880dac7f36743715b0fc7063d3e46a25044310bba5849ed88bfcb54b0adbe3978040bda849906e1aa09d1a8e3
+result = valid
+tag = ffffff7f00112233445566778899aabb
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 114
+# Testing for ctr overflow
+aad = b691ef42f2ab8d1b4a581bb08394b13a
+ct = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 010101010101010101010101
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 7848d9e872f40bca1b82a4e7185fb75193b3496cc1dc2a72b86ed156ab8389e71687ed25eb6485e66561fa8c39853368
+result = valid
+tag = ffffffffffffff7f0011223344556677
+# The counter for AES-GCM-SIV is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 115
+# Flipped bit 0 in tag
+aad = e144878b0bbbf01b75231277e1e0d114
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = f663044a4e7dd822aba0b7de2d869981
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 116
+# Flipped bit 0 in tag
+aad = 0289eaa93eb084107d2088435ef2a0cd
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 49861b1fb6bcf8e4
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 117
+# Flipped bit 1 in tag
+aad = f3bd6013669b7d9371727fcb1aafea75
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 49861b1fb6bcf8e4
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 118
+# Flipped bit 7 in tag
+aad = 922e91b2c5016e4303c737d1608ca25f
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 119
+# Flipped bit 7 in tag
+aad = 7195dd0addce5dd7014bfddb2f23206f
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 759dfbbb8a251ccc
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 120
+# Flipped bit 7 in tag
+aad = 32fc2a53e9678f1fc6d63081c36c6f2c
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 49861b1fb6bcf8e4
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 121
+# Flipped bit 8 in tag
+aad = c55ba71ee250216f8ecfe822d712dd38
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 122
+# Flipped bit 8 in tag
+aad = 5546acf865fc305fbd7ff1092cb9c2c3
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 759dfbbb8a251ccc
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 123
+# Flipped bit 31 in tag
+aad = 6b060eebe1843b409a4dfd0be8f86a2b
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = f663044a4e7dd822aba0b7de2d869981
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 124
+# Flipped bit 31 in tag
+aad = c4adb92f1a60eb2faff88675f62a7276
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 759dfbbb8a251ccc
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 125
+# Flipped bit 32 in tag
+aad = 70c5a8591f52f869c6415a6d7000e253
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = f663044a4e7dd822aba0b7de2d869981
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 126
+# Flipped bit 63 in tag
+aad = b5fe79f182cb9f2945208e29513928d1
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 127
+# Flipped bit 63 in tag
+aad = c1dbf87e4a586b040c53f6dd9063b4cd
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 49861b1fb6bcf8e4
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 128
+# Flipped bit 64 in tag
+aad = 845466e603ca85a224693d150ae13ba3
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 759dfbbb8a251ccc
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 129
+# Flipped bit 97 in tag
+aad = 18cb9f5eede6224fa3fcd525cf9f958b
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = f663044a4e7dd822aba0b7de2d869981
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 130
+# Flipped bit 97 in tag
+aad = 8c4fbca37d2e361856b9f80adf455fa0
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 759dfbbb8a251ccc
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 131
+# Flipped bit 97 in tag
+aad = bc517fe140abf2b42eb1cafe8c0715a9
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 49861b1fb6bcf8e4
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 132
+# Flipped bit 120 in tag
+aad = 617e1c5ef62ed35cf678e670f116ff2f
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 133
+# Flipped bit 120 in tag
+aad = e71802b7a37e8ef1f001ef0c52c636f2
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = f663044a4e7dd822aba0b7de2d869981
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 134
+# Flipped bit 120 in tag
+aad = be647e37f154d4a8edca5a29ca221cc5
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 759dfbbb8a251ccc
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 135
+# Flipped bit 121 in tag
+aad = b3caa01f49c7cbc56c7c92547257957e
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = f663044a4e7dd822aba0b7de2d869981
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 136
+# Flipped bit 121 in tag
+aad = ab0347a2aec4cc4c366583062442ba07
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 759dfbbb8a251ccc
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 137
+# Flipped bit 126 in tag
+aad = 62573ef39a27f77b37fb7bfc84e46cee
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 138
+# Flipped bit 126 in tag
+aad = 28e3cadfb16834e824642e965588c200
+ct = 0000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 759dfbbb8a251ccc
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 139
+# Flipped bit 126 in tag
+aad = 7edd2fc15bed224a46dc8608e1766080
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 49861b1fb6bcf8e4
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 140
+# Flipped bit 127 in tag
+aad = 7e0e03104e2c0ff20ba4c35742180c5b
+ct = 
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 0987e35e40981a2730c1740c7201731f
+
+# tcId = 141
+# Flipped bit 127 in tag
+aad = 9a24dc75c5ddd3bab57ff532eb86d224
+ct = 00000000000000000000000000000000
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = f663044a4e7dd822aba0b7de2d869981
+result = invalid
+tag = 13a1883272188b4c8d2727178198fe95
+
+# tcId = 142
+# Flipped bit 127 in tag
+aad = 3196aec499c15bc043b6866ba0df6e6b
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 49861b1fb6bcf8e4
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 143
+# Flipped bit 0..127 in tag
+aad = 55a2987aa94bf46ad1b6d253a44c1622
+ct = ffffffffffffffff
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 49861b1fb6bcf8e4
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
diff --git a/src/third_party/wycheproof/aes_gcm_test.json b/src/third_party/wycheproof_testvectors/aes_gcm_test.json
similarity index 99%
rename from src/third_party/wycheproof/aes_gcm_test.json
rename to src/third_party/wycheproof_testvectors/aes_gcm_test.json
index 9e6b066..a032cf1 100644
--- a/src/third_party/wycheproof/aes_gcm_test.json
+++ b/src/third_party/wycheproof_testvectors/aes_gcm_test.json
@@ -1,11 +1,11 @@
 {
   "algorithm" : "AES-GCM",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 104,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "ConstructedIv" : "The counter for AES-GCM is reduced modulo 2**32. This test vector was constructed to test for correct wrapping of the counter.",
     "ZeroLengthIv" : "AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the authentication key. Hence using an IV of length 0 is insecure even if the key itself is only used for a single encryption."
   },
+  "numberOfTests" : 104,
   "header" : [],
   "testGroups" : [
     {
diff --git a/src/third_party/wycheproof_testvectors/aes_gcm_test.txt b/src/third_party/wycheproof_testvectors/aes_gcm_test.txt
new file mode 100644
index 0000000..2c06756
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/aes_gcm_test.txt
@@ -0,0 +1,1159 @@
+# Imported from Wycheproof's aes_gcm_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: AES-GCM
+# Generator version: 0.4.6
+
+[ivSize = 96]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 1
+aad = 
+ct = 26073cc1d851beff176384dc9896d5ff
+iv = 028318abc1824029138141a2
+key = 5b9604fe14eadba931b0ccf34843dab9
+msg = 001d0c231287c1182784554ca3a21908
+result = valid
+tag = 0a3ea7a5487cb5f7d70fb6c58d038554
+
+# tcId = 2
+aad = 00112233445566778899aabbccddeeff
+ct = 49d8b9783e911913d87094d1f63cc765
+iv = 921d2507fa8007b7bd067d34
+key = 5b9604fe14eadba931b0ccf34843dab9
+msg = 001d0c231287c1182784554ca3a21908
+result = valid
+tag = 1e348ba07cca2cf04c618cb4d43a5b92
+
+# tcId = 3
+aad = aac39231129872a2
+ct = eea945f3d0f98cc0fbab472a0cf24e87
+iv = 0432bc49ac34412081288127
+key = aa023d0478dcb2b2312498293d9a9129
+msg = 2035af313d1346ab00154fea78322105
+result = valid
+tag = 4bb9b4812519dadf9e1232016d068133
+
+# tcId = 4
+aad = 
+ct = 54
+iv = b30c084727ad1c592ac21d12
+key = 384ea416ac3c2f51a76e7d8226346d4e
+msg = 35
+result = valid
+tag = 7c1e4ae88bb27e5638343cb9fd3f6337
+
+# tcId = 5
+aad = 
+ct = a036ead03193903f
+iv = b5e006ded553110e6dc56529
+key = cae31cd9f55526eb038241fc44cac1e5
+msg = d10989f2c52e94ad
+result = valid
+tag = 3b626940e0e9f0cbea8e18c437fd6011
+
+# tcId = 6
+aad = 
+ct = 8a9992388e735f80ee18f4a63c10ad
+iv = ecb0c42f7000ef0e6f95f24d
+key = dd6197cd63c963919cf0c273ef6b28bf
+msg = 4dcc1485365866e25ac3f2ca6aba97
+result = valid
+tag = 1486a91cccf92c9a5b00f7b0e034891c
+
+# tcId = 7
+aad = 
+ct = f7bd379d130477176b8bb3cb23dbbbaa
+iv = 0e1666f2dc652f7708fb8f0d
+key = ffdf4228361ea1f8165852136b3480f7
+msg = 25b12e28ac0ef6ead0226a3b2288c800
+result = valid
+tag = 1ee6513ce30c7873f59dd4350a588f42
+
+# tcId = 8
+aad = 
+ct = 0de51fe4f7f2d1f0f917569f5c6d1b009c
+iv = 965ff6643116ac1443a2dec7
+key = c15ed227dd2e237ecd087eaaaad19ea4
+msg = fee62fde973fe025ad6b322dcdf3c63fc7
+result = valid
+tag = 6cd8521422c0177e83ef1b7a845d97db
+
+# tcId = 9
+aad = 
+ct = 7cd9f4e4f365704fff3b9900aa93ba54b672bac554275650
+iv = fbbc04fd6e025b7193eb57f6
+key = a8ee11b26d7ceb7f17eaa1e4b83a2cf6
+msg = c08f085e6a9e0ef3636280c11ecfadf0c1e72919ffc17eaf
+result = valid
+tag = f4eb193241226db017b32ec38ca47217
+
+# tcId = 10
+aad = c3
+ct = f58d453212c2c8a436e9283672f579f119122978
+iv = 32bcb9b569e3b852d37c766a
+key = 28ff3def08179311e2734c6d1c4e2871
+msg = dfc61a20df8505b53e3cd59f25770d5018add3d6
+result = valid
+tag = 5901131d0760c8715901d881fdfd3bc0
+
+# tcId = 11
+aad = 834afdc5c737186b
+ct = bf864616c2347509ca9b10446379b9bdbb3b8f64
+iv = 9c3a4263d983456658aad4b1
+key = e63a43216c08867210e248859eb5e99c
+msg = b14da56b0462dc05b871fc815273ff4810f92f4b
+result = valid
+tag = a97d25b490390b53c5db91f6ee2a15b8
+
+# tcId = 12
+aad = 4020855c66ac4595058395f367201c4c
+ct = a6f2ef3c7ef74a126dd2d5f6673964e27d5b34b6
+iv = 33e90658416e7c1a7c005f11
+key = 38449890234eb8afab0bbf82e2385454
+msg = f762776bf83163b323ca63a6b3adeac1e1357262
+result = valid
+tag = b8bbdc4f5014bc752c8b4e9b87f650a3
+
+# tcId = 13
+aad = 76eb5f147250fa3c12bff0a6e3934a0b16860cf11646773b
+ct = bd64802cfebaeb487d3a8f76ce943a37b3472dd5
+iv = 9f0d85b605711f34cd2a35ba
+key = 6a68671dfe323d419894381f85eb63fd
+msg = 0fc67899c3f1bbe196d90f1eca3797389230aa37
+result = valid
+tag = fce9a5b530c7d7af718be1ec0ae9ed4d
+
+# tcId = 14
+# special case
+aad = 
+ct = f62d84d649e56bc8cfedc5d74a51e2f7
+iv = 000000000000000000000000
+key = 00112233445566778899aabbccddeeff
+msg = ebd4a3e10cf6d41c50aeae007563b072
+result = valid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 15
+# special case
+aad = 
+ct = 431f31e6840931fd95f94bf88296ff69
+iv = ffffffffffffffffffffffff
+key = 00112233445566778899aabbccddeeff
+msg = d593c4d8224f1b100c35e4f6c4006543
+result = valid
+tag = 00000000000000000000000000000000
+
+# tcId = 16
+# special case
+aad = 
+ct = d8eba6a5a03403851abc27f6e15d84c0
+iv = 00112233445566778899aabb
+key = 00112233445566778899aabbccddeeff
+msg = 7fd49ba712d0d28f02ef54ed18db43f8
+result = valid
+tag = 00000000000000000000000000000000
+
+[ivSize = 64]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 17
+aad = aac39231129872a2
+ct = 64c36bb3b732034e3a7d04efc5197785
+iv = 0432bc49ac344120
+key = aa023d0478dcb2b2312498293d9a9129
+msg = 2035af313d1346ab00154fea78322105
+result = valid
+tag = b7d0dd70b00d65b97cfd080ff4b819d1
+
+# tcId = 18
+# unusual IV size
+aad = 
+ct = 9a078a04d14938918e004358
+iv = 68cbeafe8f9e8a66
+key = 25dd4d6cad5a4604957847c8c6d3fc4e
+msg = 5c347835b3fa61c2ce253e5a
+result = valid
+tag = 5452843e32c13c3e35ed8230fe3446c0
+
+[ivSize = 128]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 19
+aad = 1a0293d8f90219058902139013908190bc490890d3ff12a3
+ct = 64069c2d58690561f27ee199e6b479b6369eec688672bde9
+iv = 3254202d854734812398127a3d134421
+key = 2034a82547276c83dd3212a813572bce
+msg = 02efd2e5782312827ed5d230189a2a342b277ce048462193
+result = valid
+tag = 9b7abadd6e69c1d9ec925786534f5075
+
+# tcId = 20
+aad = 
+ct = fd
+iv = 9477849d6ccdfca112d92e53fae4a7ca
+key = 209e6dbf2ad26a105445fc0207cd9e9a
+msg = 01
+result = valid
+tag = 032df7bba5d8ea1a14f16f70bd0e14ec
+
+# tcId = 21
+aad = 
+ct = 2f333087bdca58219f9bfc273e45cc
+iv = 5171524568e81d97e8c4de4ba56c10a0
+key = a549442e35154032d07c8666006aa6a2
+msg = 1182e93596cac5608946400bc73f3a
+result = valid
+tag = e06d1ef473132957ad37eaef29733ca0
+
+# tcId = 22
+aad = 
+ct = a780bd01c80885156c88a973264c8ee5
+iv = 1275115499ae722268515bf0c164b49c
+key = cfb4c26f126f6a0acb8e4e220f6c56cd
+msg = 09dfd7f080275257cf97e76f966b1ad9
+result = valid
+tag = 2adeffa682c8d8a81fada7d9fcdd2ee2
+
+# tcId = 23
+aad = 
+ct = 7e47e10fe3c6fbfa381770eaf5d48d1482e71e0c44dff1e30ca6f95d92052084
+iv = 95c1dd8c0f1705ece68937901f7add7b
+key = 0b11ef3a08c02970f74281c860691c75
+msg = f693d4edd825dbb0618d91113128880dbebb23e25d00ed1f077d870be9cc7536
+result = valid
+tag = d01444fa5d9c499629d174ff3927a1ac
+
+# tcId = 24
+# J0:000102030405060708090a0b0c0d0e0f
+aad = 
+ct = 00078d109d92143fcd5df56721b884fac64ac7762cc09eea2a3c68e92a17bdb575f87bda18be564e
+iv = f95fde4a751913202aeeee32a0b55753
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = 152a65045fe674f97627427af5be22da
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 25
+# J0:00000000000000000000000000000000
+aad = 
+ct = 84d4c9c08b4f482861e3a9c6c35bc4d91df927374513bfd49f436bd73f325285daef4ff7e13d46a6
+iv = 7b95b8c356810a84711d68150a1b7750
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = 213a3cb93855d18e69337eee66aeec07
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 26
+# J0:ffffffffffffffffffffffffffffffff
+aad = 
+ct = 948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc3c60ad5a949886de968cf53ea6462aed
+iv = 1a552e67cdc4dc1a33b824874ebf0bed
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = 99b381bfa2af9751c39d1b6e86d1be6a
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 27
+# J0:fffffffffffffffffffffffffffffffe
+aad = 
+ct = 64b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e88aeffb1c598f3607007702417ea0e0bc
+iv = dd9d0b4a0c3d681524bffca31d907661
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = 5281efc7f13ac8e14ccf5dca7bfbfdd1
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 28
+# J0:fffffffffffffffffffffffffffffffd
+aad = 
+ct = 2bb69c3e5d1f91815c6b87a0d5bbea7164b19314c31af45accdf7e3c4db79f0d948ca37a8e6649e8
+iv = 57c5643c4e37b4041db794cfe8e1f0f4
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = a3ea2c09ee4f8c8a12f45cddf9aeff81
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 29
+# J0:000102030405060708090a0bffffffff
+aad = 
+ct = 127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4af37d0fe9af033052bd537c4ae978f60
+iv = 99821c2dd5daecded07300f577f7aff1
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = 07eb2fe4a958f8434d40684899507c7c
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 30
+# J0:000102030405060708090a0bfffffffe
+aad = 
+ct = 0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57bb11a2847c7c2d3d8f938f40f877e0c4
+iv = 5e4a3900142358d1c774d8d124d8d27d
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = f145c2dcaf339eede427be934357eac0
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 31
+# J0:000102030405060708090a0bfffffffd
+aad = 
+ct = f0c6ffc18bd46df5569185a9afd169eb0cf6ae47156b14dce03c8a07a2e172b1127af9b39ecdfc57
+iv = d4125676562984c0fe7cb0bdd1a954e8
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = facd0bfe8701b7b4a2ba96d98af52bd9
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 32
+# J0:000102030405060708090a0b7fffffff
+aad = 
+ct = d6928e094c06e0a7c4db42184cf7529e95de88b767edebe9b343000be3dab47ea08b744293eed698
+iv = b97ec62a5e5900ccf9e4be332e336091
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = a03e729dcfd7a03155655fece8affd7e
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 33
+# J0:000102030405060708090a0b7ffffffe
+aad = 
+ct = d82ce58771bf6487116bf8e96421877ed6928e094c06e0a7c4db42184cf7529e95de88b767edebe9
+iv = 7eb6e3079fa0b4c3eee366177d1c1d1d
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = 1e43926828bc9a1614c7b1639096c195
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 34
+# J0:000102030405060708090a0bffff7fff
+aad = 
+ct = a197a37a5d79697078536bc27fe46cd8d475526d9044aa94f088a054f8e380c64f79414795c61480
+iv = 0314fcd10fdd675d3c612962c931f635
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = f08baddf0b5285c91fc06a67fe4708ca
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 35
+# J0:000102030405060708090a0bffff7ffe
+aad = 
+ct = 149fde9abbd3a43c2548575e0db9fb84a197a37a5d79697078536bc27fe46cd8d475526d9044aa94
+iv = c4dcd9fcce24d3522b66f1469a1e8bb9
+key = 00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = valid
+tag = 62a4b6875c288345d6a454399eac1afa
+# The counter for AES-GCM is reduced modulo 2**32. This test vector was
+# constructed to test for correct wrapping of the counter.
+
+# tcId = 36
+# special case
+aad = 
+ct = 1cd5a06214235ceb044d4bad7b047312
+iv = ffffffffffffffffffffffffffffffff
+key = 00112233445566778899aabbccddeeff
+msg = 4d82639c39d3f3490ee903dd0be7afcf
+result = valid
+tag = ffffffffffffffffffffffffffffffff
+
+[ivSize = 96]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 37
+aad = 00000000ffffffff
+ct = e27abdd2d2a53d2f136b
+iv = 00112233445566778899aabb
+key = 92ace3e348cd821092cd921aa3546374299ab46209691bc28b8752d17f123c20
+msg = 00010203040506070809
+result = valid
+tag = 9a4a2579529301bcfb71c78d4060f52c
+
+# tcId = 38
+aad = aabbccddeeff
+ct = 
+iv = 00112233445566778899aabb
+key = 29d3a44f8723dc640239100c365423a312934ac80239212ac3df3421a2098123
+msg = 
+result = valid
+tag = 2a7d77fa526b8250cb296078926b5020
+
+# tcId = 39
+aad = 
+ct = 06
+iv = 99e23ec48985bccdeeab60f1
+key = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273
+msg = 2a
+result = valid
+tag = 633c1e9703ef744ffffb40edf9d14355
+
+# tcId = 40
+aad = 
+ct = cf332a12fdee800b
+iv = 4f07afedfdc3b6c2361823d3
+key = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152
+msg = be3308f72a2c6aed
+result = valid
+tag = 602e8d7c4799d62c140c9bb834876b09
+
+# tcId = 41
+aad = 
+ct = 43fc101bff4b32bfadd3daf57a590e
+iv = 68ab7fdbf61901dad461d23c
+key = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb
+msg = 51f8c1f731ea14acdb210a6d973e07
+result = valid
+tag = ec04aacb7148a8b8be44cb7eaf4efa69
+
+# tcId = 42
+aad = 
+ct = f58c16690122d75356907fd96b570fca
+iv = 2fcb1b38a99e71b84740ad9b
+key = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a
+msg = 549b365af913f3b081131ccb6b825588
+result = valid
+tag = 28752c20153092818faba2a334640d6e
+
+# tcId = 43
+aad = 
+ct = 73a6b6f45f6ccc5131e07f2caa1f2e2f56
+iv = 45aaa3e5d16d2d42dc03445d
+key = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011
+msg = 3ff1514b1c503915918f0c0c31094a6e1f
+result = valid
+tag = 2d7379ec1db5952d4e95d30c340b1b1d
+
+# tcId = 44
+aad = 
+ct = 0843fff52d934fc7a071ea62c0bd351ce85678cde3ea2c9e
+iv = e6b1adf2fd58a8762c65f31b
+key = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7
+msg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111
+result = valid
+tag = 7355fde599006715053813ce696237a8
+
+# tcId = 45
+aad = c0
+ct = eb5500e3825952866d911253f8de860c00831c81
+iv = 98bc2c7438d5cd7665d76f6e
+key = b279f57e19c8f53f2f963f5f2519fdb7c1779be2ca2b3ae8e1128b7d6c627fc4
+msg = fcc515b294408c8645c9183e3f4ecee5127846d1
+result = valid
+tag = ecb660e1fb0541ec41e8d68a64141b3a
+
+# tcId = 46
+aad = 956846a209e087ed
+ct = feca44952447015b5df1f456df8ca4bb4eee2ce2
+iv = 376187894605a8d45e30de51
+key = cdccfe3f46d782ef47df4e72f0c02d9c7f774def970d23486f11a57f54247f17
+msg = e28e0e9f9d22463ac0e42639b530f42102fded75
+result = valid
+tag = 082e91924deeb77880e1b1c84f9b8d30
+
+# tcId = 47
+aad = ab2ac7c44c60bdf8228c7884adb20184
+ct = 43dda832e942e286da314daa99bef5071d9d2c78
+iv = 5a86a50a0e8a179c734b996d
+key = f32364b1d339d82e4f132d8f4a0ec1ff7e746517fa07ef1a7f422f4e25a48194
+msg = 43891bccb522b1e72a6b53cf31c074e9d6c2df8e
+result = valid
+tag = c3922583476ced575404ddb85dd8cd44
+
+# tcId = 48
+aad = 972ab4e06390caae8f99dd6e2187be6c7ff2c08a24be16ef
+ct = a929ee7e67c7a2f91bbcec6389a3caf43ab49305
+iv = bc2a7757d0ce2d8b1f14ccd9
+key = ff0089ee870a4a39f645b0a5da774f7a5911e9696fc9cad646452c2aa8595a12
+msg = 748b28031621d95ee61812b4b4f47d04c6fc2ff3
+result = valid
+tag = ebec6774b955e789591c822dab739e12
+
+[ivSize = 96]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 49
+aad = 
+ct = fe
+iv = 34047bc39b9c608384dff5b8
+key = 21218af790428f8024d3e7e1428c9fcf578c216636d60e73
+msg = e3
+result = valid
+tag = 2e982e24b81cd120d35a70fe6935e665
+
+# tcId = 50
+aad = 
+ct = 99f2ff1c8a44e5f2
+iv = 4ebc13cf4636cc7c45e560a7
+key = 3a8bf543c480925632118245bcbf5d01522b987a31a33da3
+msg = 53fc72e71b59eeb3
+result = valid
+tag = 6870f104ddc514477b400336fb01860e
+
+# tcId = 51
+aad = 
+ct = afe8ef41591bfcc00db3c880ceb186
+iv = 6e7ff7f0797685cfc44b05ff
+key = 92f4d2672fceec43963ccffb17e6ea7578b11418b06a3b82
+msg = c3ec16adb184affa8ae9738bffb916
+result = valid
+tag = 29fff7f285768645c9c8bf7a471c9393
+
+# tcId = 52
+aad = 
+ct = 90339dca02ef717f1603994aee6cf6d2
+iv = be0326d23bdc2c64648d13f4
+key = bcb6bc5ee6743df1396a34639327b25809ec9c81dd6a0c0e
+msg = 80474a3a3b809560eee2ce7a7a33ea07
+result = valid
+tag = e3d33e01ce64f271783147de226228bc
+
+# tcId = 53
+aad = 
+ct = b98ed6321679941a3e521834296686ad98
+iv = b6be6cd0681235d826aa28ea
+key = 5e1d28213e092536525bbae09e214af4c891e202b2b4fa4f
+msg = 53d59433a7db7f41b31ccb6d4a2d789965
+result = valid
+tag = 9f50c03e055e519712c582ec9db3235b
+
+# tcId = 54
+aad = 
+ct = addd303651119e52f6170dfc7a915064253d57532987b9ab
+iv = b022067048505b20946216ef
+key = 7f672d85e151aa490bc0eec8f66b5e5bee74af11642be3ff
+msg = ef6412c72b03c643fa02565a0ae2378a9311c11a84065f80
+result = valid
+tag = fa0484f8baa95f5b7a31c56d1b34c58b
+
+# tcId = 55
+aad = cb
+ct = 0d2c3a3c0cc4b40e70ed45e188e356a0e1533b31
+iv = 817fe51c31f2879141a34335
+key = 969fed5068541d65418c2c1de8fe1f845e036030496e1272
+msg = 3d8233191a2823bf767e99167b1d4af4f4848458
+result = valid
+tag = 92909a80e90540e1878ab59ef300072b
+
+# tcId = 56
+aad = 2ed8487153e21b12
+ct = c7c1cbb85ce2a0a3f32cb9ef01ad45ec1118b66d
+iv = 62b9cf1e923bc1138d05d205
+key = fa5b9b41f93f8b682c04ba816c3fecc24eec095b04dd7497
+msg = 18159841813a69fc0f8f4229e1678da7c9016711
+result = valid
+tag = 253317f98bdab87531ece20475cd9ebb
+
+# tcId = 57
+aad = 74318d8876528243f1944b73eb77e96e
+ct = ecf5e403f19c007c8da7a456caf0a6d75762829b
+iv = 3f1a1e02e90a4ba7a1db9df2
+key = fbfb395662787e2d25a2e7510f818e825936a35114e237c9
+msg = 2952a3d64107d5cbb9602239d05a5c5c222cf72b
+result = valid
+tag = e0877a100f9dd9d6795f0e74c56a9fab
+
+# tcId = 58
+aad = 5ca354a4cb8e4fc9798aa209ad4f739dc7c232fdd1f22584
+ct = 94d844d98b9467daa7e8dde7f4290037354d7fb2
+iv = 0802ae86c75a73bf79561521
+key = 5d8e9c2222316c9ed5ff94513cc957436ae447a6e1a73a29
+msg = 42b4439e1d2116f834b91c516a26299df279956b
+result = valid
+tag = 62196638590cef429d6b1d1a59839c02
+
+[ivSize = 128]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 59
+aad = 
+ct = dc
+iv = 1e8259e0a43e571068f701cd2064fc0c
+key = cee9abbc26b63e169f0ced621fe21d95904e75b881d93e6b
+msg = 46
+result = valid
+tag = af1f5535b125b34fc466902ea40cb3a2
+
+# tcId = 60
+aad = 
+ct = 2aab5c87dcb4a4dae4e975ddb65aab
+iv = c84442d6975f0359737de0fa828f958e
+key = 189f0bd390ba40632586a45c39735c2b87113329c800f394
+msg = b4bcd7b8eeca3050dd17682c6a914e
+result = valid
+tag = 6b03b7557c7131e2352e495d54e61aef
+
+# tcId = 61
+aad = 
+ct = d127fd2e67c0887d90eb92b91f357d97
+iv = 13cd526ec77b58f62d48d03f8b88f2b8
+key = b0724f15df5b792c2f49bc51df0ac5aad69be0030981613c
+msg = 8da3ab9c3d195b04df452ad23953da4d
+result = valid
+tag = eb05bda937faeed27f8833295d4ba559
+
+# tcId = 62
+aad = 
+ct = 344c2cea17b06cb3da272e22a22a3a71ee0eaa1959a7facfff464660ddccedd1
+iv = 1d3d62eccd8ac5e896f2654a7f606fc9
+key = 998750ba784841e40a7c5b03985732b6397e5459a3843954
+msg = 2f60ca3494a958dc3e6ebeb5d0b4e6dda0d0c4331ab9c957f6422a5100878ebf
+result = valid
+tag = bab7fbf499ff06aad5f757b1c1a4fcc0
+
+[ivSize = 128]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 63
+aad = 
+ct = 3f
+iv = 0ad570d8863918fe89124e09d125a271
+key = b7797eb0c1a6089ad5452d81fdb14828c040ddc4589c32b565aad8cb4de3e4a0
+msg = ed
+result = valid
+tag = fd8f593b83314e33c5a72efbeb7095e8
+
+# tcId = 64
+aad = 
+ct = 041341078f0439e50b43c991635117
+iv = 2a55caa137c5b0b66cf3809eb8f730c4
+key = 4c010d9561c7234c308c01cea3040c925a9f324dc958ff904ae39b37e60e1e03
+msg = 2a093c9ed72b8ff4994201e9f9e010
+result = valid
+tag = 5b8a2f2da20ef657c903da88ef5f57bb
+
+# tcId = 65
+aad = 
+ct = 469478d448f7e97d755541aa09ad95b0
+iv = 7ee376910f08f497aa6c3aa7113697fd
+key = e7f7a48df99edd92b81f508618aa96526b279debd9ddb292d385ddbae80b2259
+msg = 5e51dbbb861b5ec60751c0996e00527f
+result = valid
+tag = 254ada5cf662d90c5e11b2bd9c4db4c4
+
+# tcId = 66
+aad = 
+ct = cb960201fa5ad41d41d1c2c8037c71d52b72e76b16b589d71b976627c9734c9d
+iv = 5d1bde6fa0994b33efd8f23f531248a7
+key = 4f84782bfbb64a973c3de3dcfa3430367fd68bc0b4c3b31e5d7c8141ba3e6a67
+msg = 78cb6650a1908a842101ea85804fed00cc56fbdafafba0ef4d1ca607dcae57b6
+result = valid
+tag = 8dfce16467c3a6ebb3e7242c9a551962
+
+[ivSize = 120]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 67
+# unusual IV size
+aad = 
+ct = 2bc3ef8e7402b4631f48e9be
+iv = b0a73119a97d623806b49d45ddf4c7
+key = 34c74e28182948e03af02a01f46eb4f7
+msg = fe82ba66cf2e265741f2c86c
+result = valid
+tag = 4b6f6f5be291a90b9e93a8a82ddbc8d8
+
+[ivSize = 160]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 68
+# unusual IV size
+aad = 
+ct = 4fe13ef29f118f85a63188f8
+iv = e22b6b144ab26b5781316e7a42a76202ac4b2278
+key = 55cb7cac77efe18a1ea3b30c65f3f346
+msg = 2f3d11ea32bf5bc72cbe2b8d
+result = valid
+tag = 05975b175316df8045889f43e0c857e0
+
+[ivSize = 64]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 69
+# unusual IV size
+aad = 
+ct = a2966fb189f8d9d391503857
+iv = 60d6bfca67f5d810
+key = f6a4bf8c4e15034699ce5801cbbac7509cd3f94cf28d8307
+msg = de8eaa41e5e6a590c3cfbf61
+result = valid
+tag = e370e7dd328655929bd4691f396a1033
+
+[ivSize = 120]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 70
+# unusual IV size
+aad = 
+ct = 9af1a022c61c4315aa0e923e
+iv = edf93e16294f15eded83808f09320e
+key = 66f75acbd8d3acf7af47d13e8384c2809d6b91503a7f294b
+msg = a900c86b6b7e0e5563f8f826
+result = valid
+tag = 20529bff3c59222ec33353af337b1d40
+
+[ivSize = 160]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 71
+# unusual IV size
+aad = 
+ct = 073a5291b11df379f31b4f16
+iv = 130c14c839e35b7d56b3350b194b0da342e6b65d
+key = ef2e299dd4ecd7e3b9cc62780922cc2c89f78840564d1276
+msg = 03f59579b14437199583270e
+result = valid
+tag = 17205999491bd4c1d6c7ec3e56779c32
+
+[ivSize = 64]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 72
+# unusual IV size
+aad = 
+ct = 99313a220d1fcb6658876283
+iv = c0c568a400b7194f
+key = df64c84ae52d9ca820a47421bed6e96f7165369fc4c1b65f8f6307b17ce1006c
+msg = f5fafdded54a86a4edab44bd
+result = valid
+tag = 00955d7d27f66868cfec734bf59c5e6d
+
+[ivSize = 120]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 73
+# unusual IV size
+aad = 
+ct = fc213602aa423b87d7c2a874
+iv = 17ca250fb733877556263223eadde1
+key = e98b0669a645eb14cd06df6968fc5f10edc9f54feed264e3d410cdc61b72ef51
+msg = f384b3ed7b274641f5db60cf
+result = valid
+tag = 36b15bab6923b17218fe1c24048e2391
+
+[ivSize = 160]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 74
+# unusual IV size
+aad = 
+ct = c1d76233e8c5042e92bf8d32
+iv = 0f9d6ed7eef362dfa4a7dfa5c0f74c5b27bd4ebf
+key = 849b3e6b8cdd85bdcfb8eb701aa5522ae2340fbe5214e389622cef76979225c4
+msg = 8c5564e53051c0de273199b4
+result = valid
+tag = 7cf036d235d3b2dd349a8c804b65144a
+
+[ivSize = 0]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 75
+# 0 size IV is not valid
+aad = 
+ct = 
+iv = 
+key = 8f3f52e3c75c58f5cb261f518f4ad30a
+msg = 
+result = invalid
+tag = cf71978ffcc778f3c85ac9c31b6fe191
+# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the
+# authentication key. Hence using an IV of length 0 is insecure even if the key
+# itself is only used for a single encryption.
+
+# tcId = 76
+# 0 size IV is not valid
+aad = 
+ct = 00a29f0a5e2e7490279d1faf8b881c7b
+iv = 
+key = 2a4bf90e56b70fdd8649d775c089de3b
+msg = 324ced6cd15ecc5b3741541e22c18ad9
+result = invalid
+tag = a2c7e8d7a19b884f742dfec3e76c75ee
+# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the
+# authentication key. Hence using an IV of length 0 is insecure even if the key
+# itself is only used for a single encryption.
+
+[ivSize = 0]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 77
+# 0 size IV is not valid
+aad = 
+ct = 
+iv = 
+key = 0b18d21337035c7baa08211b702fa780ac7c09be8f9ed11f
+msg = 
+result = invalid
+tag = ca69a2eb3a096ea36b1015d5dffff532
+# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the
+# authentication key. Hence using an IV of length 0 is insecure even if the key
+# itself is only used for a single encryption.
+
+# tcId = 78
+# 0 size IV is not valid
+aad = 
+ct = 509b0658d09f7a5bb9db43b70c8387f7
+iv = 
+key = ba76d594a6df915bb7ab7e6d1a8d024b2796336c1b8328a9
+msg = d62f302742d61d823ea991b93430d589
+result = invalid
+tag = 2c9488d53a0b2b5308c2757dfac7219f
+# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the
+# authentication key. Hence using an IV of length 0 is insecure even if the key
+# itself is only used for a single encryption.
+
+[ivSize = 0]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 79
+# 0 size IV is not valid
+aad = 
+ct = 
+iv = 
+key = 3f8ca47b9a940582644e8ecf9c2d44e8138377a8379c5c11aafe7fec19856cf1
+msg = 
+result = invalid
+tag = 1726aa695fbaa21a1db88455c670a4b0
+# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the
+# authentication key. Hence using an IV of length 0 is insecure even if the key
+# itself is only used for a single encryption.
+
+# tcId = 80
+# 0 size IV is not valid
+aad = 
+ct = 7772ea358901f571d3d35c19497639d9
+iv = 
+key = 7660d10966c6503903a552dde2a809ede9da490e5e5cc3e349da999671809883
+msg = c314235341debfafa1526bb61044a7f1
+result = invalid
+tag = 8fe0520ad744a11f0ccfd228454363fa
+# AES-GCM does not allow an IV of length 0. Encrypting with such an IV leaks the
+# authentication key. Hence using an IV of length 0 is insecure even if the key
+# itself is only used for a single encryption.
+
+[ivSize = 8]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 81
+# small IV sizes
+aad = 
+ct = 
+iv = 80
+key = 59a284f50aedd8d3e2a91637d3815579
+msg = 
+result = acceptable
+tag = af498f701d2470695f6e7c8327a2398b
+
+# tcId = 82
+# small IV sizes
+aad = 
+ct = 0a24612a9d1cbe967dbfe804bf8440e5
+iv = 9d
+key = fec58aa8cf06bfe05de829f27ec77693
+msg = f2d99a9f893378e0757d27c2e3a3101b
+result = acceptable
+tag = 96e6fd2cdc707e3ee0a1c90d34c9c36c
+
+[ivSize = 16]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 83
+# small IV sizes
+aad = 
+ct = 
+iv = 0f2f
+key = 88a972cce9eaf5a7813ce8149d0c1d0e
+msg = 
+result = acceptable
+tag = 4ccf1efb4da05b4ae4452aea42f5424b
+
+# tcId = 84
+# small IV sizes
+aad = 
+ct = ba3e7f8b2999995c7fc4006ca4f475ff
+iv = 8760
+key = b43967ee933e4632bd6562ba1201bf83
+msg = 5a6ad6db70591d1e520b0122f05021a0
+result = acceptable
+tag = 98f47a5279cebbcac214515710f6cd8a
+
+[ivSize = 32]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 85
+# small IV sizes
+aad = 
+ct = 
+iv = cc851957
+key = 4e9a97d3ed54c7b54610793ab05052e1
+msg = 
+result = acceptable
+tag = e574b355bda2980e047e584feb1676ca
+
+# tcId = 86
+# small IV sizes
+aad = 
+ct = 1b84baea9df1e65bee7b49e4a8cda1ec
+iv = 7b5faeb2
+key = d83c1d7a97c43f182409a4aa5609c1b1
+msg = c8f07ba1d65554a9bd40390c30c5529c
+result = acceptable
+tag = 5c0bb79d8240041edce0f94bd4bb384f
+
+[ivSize = 48]
+[keySize = 128]
+[tagSize = 128]
+
+# tcId = 87
+# small IV sizes
+aad = 
+ct = 
+iv = 4ad80c2854fb
+key = c6a705677affb49e276d9511caa46145
+msg = 
+result = acceptable
+tag = 1e2ed72af590cafb8647d185865f5463
+
+# tcId = 88
+# small IV sizes
+aad = 
+ct = 18291aa8dc7b07448aa8f71bb8e380bf
+iv = d1dafc8de3e3
+key = eba7699b56cc0aa2f66a2a5be9944413
+msg = d021e53d9098a2df3d6b903cdad0cd9c
+result = acceptable
+tag = 9c0e22e5c41b1039ff5661ffaefa8e0f
+
+[ivSize = 8]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 89
+# small IV sizes
+aad = 
+ct = 
+iv = cb
+key = c70ce38e84e5f53ed41c3f0d2ca493412ad32cb04c6e2efa
+msg = 
+result = acceptable
+tag = 08d96edb5e22874cd10cb2256ca04bc6
+
+# tcId = 90
+# small IV sizes
+aad = 
+ct = 6c5e796ba9a3ddc64f401e68d135101d
+iv = 0f
+key = 74c816b83dfd287210a3e2c6da8d3053bbfbd9b156d3fdd8
+msg = f2b7b2c9b312cf2af78f003df15c8e19
+result = acceptable
+tag = 96a132ed43924e98feb888ff682bdaef
+
+[ivSize = 16]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 91
+# small IV sizes
+aad = 
+ct = 
+iv = 75e5
+key = cbf45ba488932aea1a10e5862f92e4a7e277bda9f34af6d0
+msg = 
+result = acceptable
+tag = 1f0d23070fcd748e25bf6454f5c9136e
+
+# tcId = 92
+# small IV sizes
+aad = 
+ct = 550b48a43e821fd76f49f0f1a897aead
+iv = 8989
+key = e1c0446f11ae6aa4fa254f9a846fc6e13e45e537e47f2042
+msg = 3a2f5ad0eb216e546e0bcaa377b6cbc7
+result = acceptable
+tag = f6e0a979481f9957ddad0f21a777a73a
+
+[ivSize = 32]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 93
+# small IV sizes
+aad = 
+ct = 
+iv = 68d7fc38
+key = 567563bf4cf154902275a53bc57cd6dd7b370d27011bdac8
+msg = 
+result = acceptable
+tag = 1475563e3212f3b5e40062569afd71e3
+
+# tcId = 94
+# small IV sizes
+aad = 
+ct = 309133e76159fe8a41b20843486511ab
+iv = bb9d2aa3
+key = 834d0bb601170865a78139428a1503695a6a291ebd747cd1
+msg = 6f79e18b4acd5a03d3a5f7e1a8d0f183
+result = acceptable
+tag = 03ab26993b701910a2e8ecccd2ba9e52
+
+[ivSize = 48]
+[keySize = 192]
+[tagSize = 128]
+
+# tcId = 95
+# small IV sizes
+aad = 
+ct = 
+iv = a984bdcdcae2
+key = 99fb18f5ba430bb9ea942968ecb799b43406e1af4b6425a1
+msg = 
+result = acceptable
+tag = d7b9a6b58a97982916e83219fbf71b1e
+
+# tcId = 96
+# small IV sizes
+aad = 
+ct = e08261e46eaf90d978ea8f7889bccd4f
+iv = 52aa01e0d0d6
+key = b77b242aa0d51c92fda013e0cb0ef2437399ace5d3f507e4
+msg = 4ba541a9914729216153801340ab1779
+result = acceptable
+tag = c052a55df3926a50990a532efe3d80ec
+
+[ivSize = 8]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 97
+# small IV sizes
+aad = 
+ct = 
+iv = a9
+key = 8f9a38c1014966e4d9ae736139c5e79b99345874f42d4c7d2c81aa6797c417c0
+msg = 
+result = acceptable
+tag = 2a268bf3a75fd7b00ba230b904bbb014
+
+# tcId = 98
+# small IV sizes
+aad = 
+ct = 7bea30ecc2f73f8e121263b37966954c
+iv = b3
+key = 144cd8279229e8bb2de99d24e615306663913fe9177fcd270fafec493d43bca1
+msg = 976229f5538f9636476d69f0c328e29d
+result = acceptable
+tag = 8bbad4adc54b37a2b2f0f6e8617548c9
+
+[ivSize = 16]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 99
+# small IV sizes
+aad = 
+ct = 
+iv = c332
+key = 7d31861f9d3536e14016a3216b1042e0d2f7d4614314268b6f834ec7f38bbb65
+msg = 
+result = acceptable
+tag = 1d978a693120c11f6d51a3ed88cd4ace
+
+# tcId = 100
+# small IV sizes
+aad = 
+ct = 9c39f5b110361e9a770cc5e8b0f444bb
+iv = da6c
+key = 22b35fe9623ee11f8b60b6d22db3765b666ed972fa7ccd92b45f22deee02cab1
+msg = 5341c78e4ce5bf8fbc3e077d1990dd5d
+result = acceptable
+tag = b63ff43c12073ec5572b1be70f17e231
+
+[ivSize = 32]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 101
+# small IV sizes
+aad = 
+ct = 
+iv = 6b30145e
+key = c224e0bba3d7a99165f7996b67a0fce3e12f2c01179b197b69b7e628bca92096
+msg = 
+result = acceptable
+tag = ae6f7c9a29f0d8204ca50b14a1e0dcf2
+
+# tcId = 102
+# small IV sizes
+aad = 
+ct = f73f72f976a296ba3ca94bc6eb08cd46
+iv = 5110604c
+key = 093eb12343537ee8e91c1f715b862603f8daf9d4e1d7d67212a9d68e5aac9358
+msg = 33efb58c91e8c70271870ec00fe2e202
+result = acceptable
+tag = b824c33c13f289429659aa017c632f71
+
+[ivSize = 48]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 103
+# small IV sizes
+aad = 
+ct = 
+iv = d4d857510888
+key = 98e6f8ab673e804e865e32403a6551bf807a959343c60d34559360bc295ecb5b
+msg = 
+result = acceptable
+tag = 3db16725fafc828d414ab61c16a6c38f
+
+# tcId = 104
+# small IV sizes
+aad = 
+ct = ed463f4f43336af3f4d7e08770201145
+iv = 1bdcd44b663e
+key = 0bd0e8e7781166e1d876dec8fad34ba95b032a27cac0551595116091005947b7
+msg = 91222263b12cf5616a049cbe29ab9b5b
+result = acceptable
+tag = c8fc39906aca0c64e14a43ff750abd8a
+
diff --git a/src/third_party/wycheproof/aes_siv_cmac_test.json b/src/third_party/wycheproof_testvectors/aes_siv_cmac_test.json
similarity index 99%
rename from src/third_party/wycheproof/aes_siv_cmac_test.json
rename to src/third_party/wycheproof_testvectors/aes_siv_cmac_test.json
index 48007b3..cd5bd19 100644
--- a/src/third_party/wycheproof/aes_siv_cmac_test.json
+++ b/src/third_party/wycheproof_testvectors/aes_siv_cmac_test.json
@@ -1,10 +1,10 @@
 {
   "algorithm" : "AES-SIV-CMAC",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 442,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "EdgeCaseSiv" : "The SIV of this test vector has an edge case value. One purpose of these test vectors is to detect implementations where integer overflows of the counter is incorrectly implemented. AES-SIV itself prevents such overflow problems by clearing some msbs in the IV."
   },
+  "numberOfTests" : 442,
   "header" : [],
   "testGroups" : [
     {
diff --git a/src/third_party/wycheproof/chacha20_poly1305_test.json b/src/third_party/wycheproof_testvectors/chacha20_poly1305_test.json
similarity index 99%
rename from src/third_party/wycheproof/chacha20_poly1305_test.json
rename to src/third_party/wycheproof_testvectors/chacha20_poly1305_test.json
index b98ce59..94db7b0 100644
--- a/src/third_party/wycheproof/chacha20_poly1305_test.json
+++ b/src/third_party/wycheproof_testvectors/chacha20_poly1305_test.json
@@ -1,6 +1,6 @@
 {
   "algorithm" : "CHACHA20-POLY1305",
-  "generatorVersion" : "0.4",
+  "generatorVersion" : "0.4.6",
   "numberOfTests" : 151,
   "header" : [],
   "testGroups" : [
diff --git a/src/third_party/wycheproof_testvectors/chacha20_poly1305_test.txt b/src/third_party/wycheproof_testvectors/chacha20_poly1305_test.txt
new file mode 100644
index 0000000..cae7ad3
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/chacha20_poly1305_test.txt
@@ -0,0 +1,1480 @@
+# Imported from Wycheproof's chacha20_poly1305_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: CHACHA20-POLY1305
+# Generator version: 0.4.6
+
+[ivSize = 96]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 1
+# rfc7539
+aad = 50515253c0c1c2c3c4c5c6c7
+ct = d31a8d34648e60db7b86afbc53ef7ec2a4aded51296e08fea9e2b5a736ee62d63dbea45e8ca9671282fafb69da92728b1a71de0a9e060b2905d6a5b67ecd3b3692ddbd7f2d778b8c9803aee328091b58fab324e4fad675945585808b4831d7bc3ff4def08e4b7a9de576d26586cec64b6116
+iv = 070000004041424344454647
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 4c616469657320616e642047656e746c656d656e206f662074686520636c617373206f66202739393a204966204920636f756c64206f6666657220796f75206f6e6c79206f6e652074697020666f7220746865206675747572652c2073756e73637265656e20776f756c642062652069742e
+result = valid
+tag = 1ae10b594f09e26a7e902ecbd0600691
+
+# tcId = 2
+aad = 
+ct = 
+iv = 4da5bf8dfd5852c1ea12379d
+key = 80ba3192c803ce965ea371d5ff073cf0f43b6a2ab576b208426e11409c09b9b0
+msg = 
+result = valid
+tag = 76acb342cf3166a5b63c0c0ea1383c8d
+
+# tcId = 3
+aad = bd506764f2d2c410
+ct = 
+iv = a92ef0ac991dd516a3c6f689
+key = 7a4cd759172e02eb204db2c3f5c746227df584fc1345196391dbb9577a250742
+msg = 
+result = valid
+tag = 906fa6284b52f87b7359cbaa7563c709
+
+# tcId = 4
+aad = 
+ct = 3a
+iv = 99e23ec48985bccdeeab60f1
+key = cc56b680552eb75008f5484b4cb803fa5063ebd6eab91f6ab6aef4916a766273
+msg = 2a
+result = valid
+tag = cac27dec0968801e9f6eded69d807522
+
+# tcId = 5
+aad = 91ca6c592cbcca53
+ct = c4
+iv = ab0dca716ee051d2782f4403
+key = 46f0254965f769d52bdb4a70b443199f8ef207520d1220c55e4b70f0fda620ee
+msg = 51
+result = valid
+tag = 168310ca45b1f7c66cad4e99e43f72b9
+
+# tcId = 6
+aad = 
+ct = 4d13
+iv = 461af122e9f2e0347e03f2db
+key = 2f7f7e4f592bb389194989743507bf3ee9cbde1786b6695fe6c025fd9ba4c100
+msg = 5c60
+result = valid
+tag = 91e8b61efb39c122195453077b22e5e2
+
+# tcId = 7
+aad = 88364fc8060518bf
+ct = b60d
+iv = 61546ba5f1720590b6040ac6
+key = c8833dce5ea9f248aa2030eacfe72bffe69a620caf793344e5718fe0d7ab1a58
+msg = ddf2
+result = valid
+tag = ead0fd4697ec2e5558237719d02437a2
+
+# tcId = 8
+aad = 
+ct = 5dfe3440dbb3c3
+iv = 3c4e654d663fa4596dc55bb7
+key = 55568158d3a6483f1f7021eab69b703f614251cadc1af5d34a374fdbfc5adac7
+msg = ab85e9c1571731
+result = valid
+tag = ed7a434e2602d394281e0afa9fb7aa42
+
+# tcId = 9
+aad = 84e46be8c0919053
+ct = 4bd47212941ce3
+iv = 58389375c69ee398de948396
+key = e3c09e7fab1aefb516da6a33022a1dd4eb272c80d540c5da52a730f34d840d7f
+msg = 4ee5cda20d4290
+result = valid
+tag = 185f1408ee7fbf18f5abad6e2253a1ba
+
+# tcId = 10
+aad = 
+ct = 8e9439a56eeec817
+iv = 4f07afedfdc3b6c2361823d3
+key = 51e4bf2bad92b7aff1a4bc05550ba81df4b96fabf41c12c7b00e60e48db7e152
+msg = be3308f72a2c6aed
+result = valid
+tag = fbe8a6ed8fabb1937539dd6c00e90021
+
+# tcId = 11
+aad = 66c0ae70076cb14d
+ct = b9b910433af052b0
+iv = b4ea666ee119563366484a78
+key = 1131c1418577a054de7a4ac551950f1a053f9ae46e5b75fe4abd5608d7cddadd
+msg = a4c9c2801b71f7df
+result = valid
+tag = 4530f51aeee024e0a445a6328fa67a18
+
+# tcId = 12
+aad = 
+ct = ff7dc203b26c467a6b50db33
+iv = 9a59fce26df0005e07538656
+key = 99b62bd5afbe3fb015bde93f0abf483957a1c3eb3ca59cb50b39f7f8a9cc51be
+msg = 42baae5978feaf5c368d14e0
+result = valid
+tag = 578c0f2758c2e14e36d4fc106dcb29b4
+
+# tcId = 13
+aad = a506e1a5c69093f9
+ct = 9f8816de0994e938d9e53f95
+iv = 58dbd4ad2c4ad35dd906e9ce
+key = 85f35b6282cff440bc1020c8136ff27031110fa63ec16f1e825118b006b91257
+msg = fdc85b94a4b2a6b759b1a0da
+result = valid
+tag = d086fc6c9d8fa915fd8423a7cf05072f
+
+# tcId = 14
+aad = 
+ct = 0b29638e1fbdd6df53970be2210042
+iv = 68ab7fdbf61901dad461d23c
+key = 67119627bd988eda906219e08c0d0d779a07d208ce8a4fe0709af755eeec6dcb
+msg = 51f8c1f731ea14acdb210a6d973e07
+result = valid
+tag = 2a9134087d67a46e79178d0a93f5e1d2
+
+# tcId = 15
+aad = 6453a53384632212
+ct = 32db66c4a3819d81557455e5980fed
+iv = d95b3243afaef714c5035b6a
+key = e6f1118d41e4b43fb58221b7ed79673834e0d8ac5c4fa60bbc8bc4893a58894d
+msg = 97469da667d6110f9cbda1d1a20673
+result = valid
+tag = feae30dec94e6ad3a9eea06a0d703917
+
+# tcId = 16
+aad = 
+ct = e9110e9f56ab3ca483500ceabab67a13
+iv = 2fcb1b38a99e71b84740ad9b
+key = 59d4eafb4de0cfc7d3db99a8f54b15d7b39f0acc8da69763b019c1699f87674a
+msg = 549b365af913f3b081131ccb6b825588
+result = valid
+tag = 836ccabf15a6a22a51c1071cfa68fa0c
+
+# tcId = 17
+aad = 034585621af8d7ff
+ct = e4b113cb775945f3d3a8ae9ec141c00c
+iv = 118a6964c2d3e380071f5266
+key = b907a45075513fe8a8019edee3f2591487b2a030b03c6e1d771c862571d2ea1e
+msg = 55a465644f5b650928cbee7c063214d6
+result = valid
+tag = 7c43f16ce096d0dc27c95849dc383b7d
+
+# tcId = 18
+aad = 
+ct = 02cc3acb5ee1fcdd12a03bb857976474d3
+iv = 45aaa3e5d16d2d42dc03445d
+key = 3b2458d8176e1621c0cc24c0c0e24c1e80d72f7ee9149a4b166176629616d011
+msg = 3ff1514b1c503915918f0c0c31094a6e1f
+result = valid
+tag = d83b7463a2c3800fe958c28eaa290813
+
+# tcId = 19
+aad = 9aaf299eeea78f79
+ct = 35766488d2bc7c2b8d17cbbb9abfad9e6d
+iv = f0384fb876121410633d993d
+key = f60c6a1b625725f76c7037b48fe3577fa7f7b87b1bd5a982176d182306ffb870
+msg = 63858ca3e2ce69887b578a3c167b421c9c
+result = valid
+tag = 1f391e657b2738dda08448cba2811ceb
+
+# tcId = 20
+aad = 
+ct = 42f26c56cb4be21d9d8d0c80fc99dde00d75f38074bfe764
+iv = e6b1adf2fd58a8762c65f31b
+key = 0212a8de5007ed87b33f1a7090b6114f9e08cefd9607f2c276bdcfdbc5ce9cd7
+msg = 10f1ecf9c60584665d9ae5efe279e7f7377eea6916d2b111
+result = valid
+tag = 54aa7e13d48fff7d7557039457040a3a
+
+# tcId = 21
+aad = 3e8bc5ade182ff08
+ct = 123032437b4bfd6920e8f7e7e0087ae4889ebe7a0ad0e900
+iv = 6b282ebecc541bcd7834ed55
+key = c5bc09565646e7edda954f1f739223dada20b95c44ab033d0fae4b0283d18be3
+msg = 9222f9018e54fd6de1200806a9ee8e4cc904d29f25cba193
+result = valid
+tag = 3cf68f179550da63d3b96c2d55411865
+
+# tcId = 22
+aad = 
+ct = 45c7d6b53acad4abb68876a6e96a48fb59524d2c92c9d8a189c9fd2db91746
+iv = 04a9be03508a5f31371a6fd2
+key = 2eb51c469aa8eb9e6c54a8349bae50a20f0e382711bba1152c424f03b6671d71
+msg = b053999286a2824f42cc8c203ab24e2c97a685adcc2ad32662558e55a5c729
+result = valid
+tag = 566d3ca10e311b695f3eae1551652493
+
+# tcId = 23
+aad = 374618a06ea98a48
+ct = 46a80c4187024720084627580080dde5a3f4a11093a7076ed6f3d326bc7b70
+iv = 470a339ecb3219b8b81a1f8b
+key = 7f5b74c07ed1b40fd14358fe2ff2a740c116c7706510e6a437f19ea49911cec4
+msg = f45206abc25552b2abc9ab7fa243035fedaaddc3b2293956f1ea6e7156e7eb
+result = valid
+tag = 534d4aa2835a52e72d14df0e4f47f25f
+
+# tcId = 24
+aad = 
+ct = ea29afa49d36e8760f5fe19723b9811ed5d519934a440f5081ac430b953b0e21
+iv = 72cfd90ef3026ca22b7e6e6a
+key = e1731d5854e1b70cb3ffe8b786a2b3ebf0994370954757b9dc8c7bc5354634a3
+msg = b9c554cbc36ac18ae897df7beecac1dbeb4eafa156bb60ce2e5d48f05715e678
+result = valid
+tag = 222541af46b86533c6b68d2ff108a7ea
+
+# tcId = 25
+aad = 2333e5ce0f93b059
+ct = 6dad637897544d8bf6be9507ed4d1bb2e954bc427e5de729daf50762846ff2f4
+iv = 262880d475f3dac5340dd1b8
+key = 27d860631b0485a410702fea61bc873f3442260caded4abde25b786a2d97f145
+msg = 6b2604996cd30c14a13a5257ed6cffd3bc5e29d6b97eb1799eb335e281ea451e
+result = valid
+tag = 7b997d93c982189d7095dc794c746232
+
+# tcId = 26
+aad = 
+ct = fba78ae4f9d808a62e3da40be2cb7700c3613d9eb2c529c652e76a432c658d27095f0eb8f940c324981ea935e507f9
+iv = e74a515e7e2102b90bef55d2
+key = cf0d40a4644e5f51815165d5301b22631f4544c49a1878e3a0a5e8e1aae0f264
+msg = 973d0c753826bae466cf9abb3493152e9de7819e2bd0c71171346b4d2cebf8041aa3cedc0dfd7b467e26228bc86c9a
+result = valid
+tag = 8f046956db3a512908bd7afc8f2ab0a9
+
+# tcId = 27
+aad = b3e4064683b02d84
+ct = a1ffed80761829ecce242e0e88b138049016bca018da2b6e19986b3e318cae8d806198fb4c527cc39350ebddeac573
+iv = d4d807341683825b31cd4d95
+key = 6cbfd71c645d184cf5d23c402bdb0d25ec54898c8a0273d42eb5be109fdcb2ac
+msg = a98995504df16f748bfb7785ff91eeb3b660ea9ed3450c3d5e7b0e79ef653659a9978d75542ef91c456762215640b9
+result = valid
+tag = c4cbf0befda0b70242c640d7cd02d7a3
+
+# tcId = 28
+aad = 
+ct = 9a4ef22b181677b5755c08f747c0f8d8e8d4c18a9cc2405c12bb51bb1872c8e8b877678bec442cfcbb0ff464a64b74332cf072898c7e0eddf6232ea6e27efe50
+iv = d61040a313ed492823cc065b
+key = 5b1d1035c0b17ee0b0444767f80a25b8c1b741f4b50a4d3052226baa1c6fb701
+msg = d096803181beef9e008ff85d5ddc38ddacf0f09ee5f7e07f1e4079cb64d0dc8f5e6711cd4921a7887de76e2678fdc67618f1185586bfea9d4c685d50e4bb9a82
+result = valid
+tag = 9ff3427a0f32fa566d9ca0a78aefc013
+
+# tcId = 29
+aad = 7193f623663321a2
+ct = 5fbbdecc34be201614f636031eeb42f1cace3c79a12cffd871ee8e73820c829749f1abb4294367849fb6c2aa56bda8a3078f723d7c1c852024b017b58973fb1e
+iv = d31c21aba175b70de4ebb19c
+key = 97d635c4f47574d9998a90875da1d3a284b755b2d39297a5725235190e10a97e
+msg = 94ee166d6d6ecf8832437136b4ae805d428864359586d9193a25016293edba443c58e07e7b7195ec5bd84582a9d56c8d4a108c7d7ce34e6c6f8ea1bec0567317
+result = valid
+tag = 09263da7b4cb921452f97dca40f580ec
+
+# tcId = 30
+aad = 
+ct = d0102f6c258bf49742cec34cf2d0fedf23d105fb4c84cf98515e1bc9a64f8ad5be8f0721bde50645d00083c3a263a31053b760245f52ae2866a5ec83b19f61be1d30d5c5d9fecc4cbbe08fd385813a2aa39a00ff9c10f7f23702add1e4b2ffa31c
+iv = 17c86a8abbb7e003acde2799
+key = fe6e55bdaed1f7284ca5fc0f8c5f2b8df56dc0f49e8ca66a41995e783351f901
+msg = b429eb80fb8fe8baeda0c85b9c333458e7c2992e558475069d12d45c22217564121588032297eff56783742a5fc22d7410ffb29d66098661d76f126c3c27689e43b37267cac5a3a6d3ab49e391da29cd3054a5692e2807e4c3ea46c8761d50f592
+result = valid
+tag = 41865fc71de12b19612127ce49993bb0
+
+# tcId = 31
+aad = a11c40b603767330
+ct = 7545391b51de01d5c53dfaca777909063e58edee4bb1227e7110ac4d2620c2aec2f848f56deeb037a8dced75afa8a6c890e2dee42f950bb33d9e2424d08a505d899563973ed38870f3de6ee2adc7fe072c366c14e2cf7ca62fb3d36bee11685461
+iv = 46362f45d6379e63e5229460
+key = aabc063474e65c4c3e9bdc480dea97b45110c8618846ff6b15bdd2a4a5682c4e
+msg = ceb534ce50dc23ff638ace3ef63ab2cc2973eeada80785fc165d06c2f5100ff5e8ab2882c475afcd05ccd49f2e7d8f55ef3a72e3dc51d6852b8e6b9e7aece57be6556b0b6d9413e33fc5fc24a9a205ad59574bb39d944a92dc47970d84a6ad3176
+result = valid
+tag = b70d44ef8c66c5c7bbf10dcadd7facf6
+
+# tcId = 32
+aad = 02
+ct = 7e72f5a185af16a611921b438f749f0b
+iv = 87345f1055fd9e2102d50656
+key = 7d00b48095adfa3272050607b264185002ba99957c498be022770f2ce2f3143c
+msg = e5ccaa441bc814688f8f6e8f28b500b2
+result = valid
+tag = 1242c670732334029adfe1c5001651e4
+
+# tcId = 33
+aad = b648
+ct = 85f29a719557cdd14d1f8fffab6d9e60
+iv = 87a3163ec0598ad95b3aa713
+key = 6432717f1db85e41ac7836bce25185a080d5762b9e2b18444b6ec72c3bd8e4dc
+msg = 02cde168fba3f544bbd0332f7adeada8
+result = valid
+tag = 732ca32becd515a1ed353f542e999858
+
+# tcId = 34
+aad = bd4cd02fc7502bbdbdf6c9a3cbe8f0
+ct = c1b295936d56fadac03e5f742bff73a1
+iv = 6f573aa86baa492ba46596df
+key = 8e34cf73d245a1082a920b86364eb896c4946467bcb3d58929fcb36690e6394f
+msg = 16ddd23ff53f3d23c06334487040eb47
+result = valid
+tag = 39c457dbab66382babb3b55800cda5b8
+
+# tcId = 35
+aad = 89cce9fb47441d07e0245a66fe8b778b
+ct = c84c9bb7c61c1bcb17772a1c500c5095
+iv = 1a6518f02ede1da6809266d9
+key = cb5575f5c7c45c91cf320b139fb594237560d0a3e6f865a67d4f633f2c08f016
+msg = 623b7850c321e2cf0c6fbcc8dfd1aff2
+result = valid
+tag = dbadf7a5138ca03459a2cd65831e092f
+
+# tcId = 36
+aad = d19f2d989095f7ab03a5fde84416e00c0e
+ct = 94bc80621ed1e71b1fd2b5c3a15e3568
+iv = 564dee49ab00d240fc1068c3
+key = a5569e729a69b24ba6e0ff15c4627897436824c941e9d00b2e93fddc4ba77657
+msg = 87b3a4d7b26d8d3203a0de1d64ef82e3
+result = valid
+tag = 333511861796978401598b963722f5b3
+
+# tcId = 37
+aad = 5e6470facd99c1d81e37cd44015fe19480a2a4d3352a4ff560c0640fdbda
+ct = 299b5d3f3d03c087209a16e285143111
+iv = df8713e87ec3dbcfad14d53e
+key = 56207465b4e48e6d04630f4a42f35cfc163ab289c22a2b4784f6f9290330bee0
+msg = e601b38557797da2f8a4106a089d1da6
+result = valid
+tag = 4b454ed198de117e83ec49fa8d8508d6
+
+# tcId = 38
+aad = ba446f6f9a0ced22450feb10737d9007fd69abc19b1d4d9049a5551e86ec2b37
+ct = 605bbf90aeb974f6602bc778056f0dca
+iv = 8df4b15a888c33286a7b7651
+key = 3937986af86dafc1ba0c4672d8abc46c207062682d9c264ab06d6c5807205130
+msg = dc9e9eaf11e314182df6a4eba17aec9c
+result = valid
+tag = 38ea23d99054b46b42ffe004129d2204
+
+# tcId = 39
+aad = d41a828d5e71829247021905402ea257dccbc3b80fcd5675056b68bb59e62e8873
+ct = 7b7ce0d824809a70de32562ccf2c2bbd
+iv = be40e5f1a11817a0a8fa8949
+key = 36372abcdb78e0279646ac3d176b9674e9154eecf0d5469c651ec7e16b4c1199
+msg = 81ce84ede9b35859cc8c49a8f6be7dc6
+result = valid
+tag = 15d44a00ce0d19b4231f921e22bc0a43
+
+# tcId = 40
+aad = 3f2dd49bbf09d69a78a3d80ea2566614fc379474196c1aae84583da73d7ff85c6f42ca42056a9792cc1b9fb3c7d261
+ct = ca82bff3e2f310ccc976672c4415e69b
+iv = 84c87dae4eee27730ec35d12
+key = 9f1479ed097d7fe529c11f2f5add9aaff4a1ca0b68997a2cb7f79749bd90aaf4
+msg = a66747c89e857af3a18e2c79500087ed
+result = valid
+tag = 57638c62a5d85ded774f913c813ea032
+
+# tcId = 41
+aad = 00000000000000000000000000000000
+ct = 0000000000000000000000000000000000000000000000000000000000000000
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329be
+result = valid
+tag = e6d3d7324a1cbba777bbb0ecdda37807
+
+# tcId = 42
+aad = 00000000000000000000000000000000
+ct = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd
+result = valid
+tag = 062de6795f274fd2a305d76980bc9cce
+
+# tcId = 43
+aad = 00000000000000000000000000000000
+ct = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40888094178355d304846443fee8df99470303fb3b7b80e030beebd329bee3bcdb5b1edefcfe8bcda1b6a15c8c2b0869ffd2ec5e26e553b7b227fe87fdbd7ada44424269bffa5527f270acf68502b74c5ae2e60c0580981a4938459392c49bb2f284b646efc7f3f0b1361dc348ed77d30bc57692ed38fbac0188380488c7
+result = valid
+tag = d8b47902baaeafb34203051529af282e
+
+# tcId = 44
+aad = ffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd641
+result = valid
+tag = b3891c849cb52c27747edfcf31213bb6
+
+# tcId = 45
+aad = ffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4e121030174325e495ea373d4f796002d13a1d91aac484dd801780242
+result = valid
+tag = f0c12d26ef03029b62c008da27c5dc68
+
+# tcId = 46
+aad = ffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bf777f6be87caa2cfb7b9bbc01172066b8fcfc04c4847f1fcf41142cd6411c4324a4e121030174325e495ea373d4f796002d13a1d91aac484dd8017802428525bbbdbd964005aad80d8f53097afd48b3a51d19f3fa7f67e5b6c7ba6c6d3b644d0d7b49b910380c0f4ec9e23cb712882cf43a896d12c70453fe77c7fb7738
+result = valid
+tag = ee65783001c25691fa28d0f5f1c1d762
+
+# tcId = 47
+aad = 00000080000000800000008000000080
+ct = 0000008000000080000000800000008000000080000000800000008000000080
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293e
+result = valid
+tag = 79ba7a29f5a7bb75797af87a610129a4
+
+# tcId = 48
+aad = 00000080000000800000008000000080
+ct = 00000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d
+result = valid
+tag = 36b1743819e1b9ba1551e8ed922a959a
+
+# tcId = 49
+aad = 00000080000000800000008000000080
+ct = 0000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080000000800000008000000080
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40088094170355d304046443fe68df99478303fb3bfb80e0303eebd3293ee3bcdbdb1edefc7e8bcda136a15c8cab0869ff52ec5e266553b7b2a7fe87fd3d7ada44c24269bf7a5527f2f0acf68582b74c5a62e60c0500981a49b8459392449bb2f204b646ef47f3f0b1b61dc3486d77d30b457692edb8fbac010838048847
+result = valid
+tag = feac4955554e806f3a1902e24432c08a
+
+# tcId = 50
+aad = ffffff7fffffff7fffffff7fffffff7f
+ct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c1
+result = valid
+tag = 20a3798df1292c5972bf9741aec38a19
+
+# tcId = 51
+aad = ffffff7fffffff7fffffff7fffffff7f
+ct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c2
+result = valid
+tag = c03d9f67354a97b2f074f7551557e49c
+
+# tcId = 52
+aad = ffffff7fffffff7fffffff7fffffff7f
+ct = ffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7f
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bff77f6be8fcaa2cfbfb9bbc01972066b87cfc04c4047f1fcfc1142cd6c11c432424e121038174325ec95ea37354f79600ad13a1d99aac484d58017802c28525bb3dbd964085aad80d0f53097a7d48b3a59d19f3faff67e5b647ba6c6dbb644d0dfb49b910b80c0f4e49e23cb792882cf4ba896d12470453fef7c7fb77b8
+result = valid
+tag = c86da8dd652286d50213d328d63e4006
+
+# tcId = 53
+aad = 7fffffff7fffffff7fffffff7fffffff
+ct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd641
+result = valid
+tag = bede9083ceb36ddfe5fa811f95471c67
+
+# tcId = 54
+aad = 7fffffff7fffffff7fffffff7fffffff
+ct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a461210301f4325e49dea373d47796002d93a1d91a2c484dd881780242
+result = valid
+tag = 300874bb0692b689dead9ae15b067390
+
+# tcId = 55
+aad = 7fffffff7fffffff7fffffff7fffffff
+ct = 7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff7fffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 5a92bf77ff6be87c2a2cfb7b1bbc0117a066b8fc7c04c484ff1fcf41942cd6419c4324a461210301f4325e49dea373d47796002d93a1d91a2c484dd8817802420525bbbd3d9640052ad80d8fd3097afdc8b3a51d99f3fa7fe7e5b6c73a6c6d3be44d0d7bc9b910388c0f4ec9623cb712082cf43a096d12c78453fe7747fb7738
+result = valid
+tag = 99cad85f45ca40942d0d4d5e950ade22
+
+# tcId = 56
+aad = 00000000ffffffff00000000ffffffff
+ct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641
+result = valid
+tag = 8bbe145272e7c2d9a1891a3ab0983d9d
+
+# tcId = 57
+aad = 00000000ffffffff00000000ffffffff
+ct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5be12103018bcda1b65ea373d40869ffd213a1d91a53b7b22701780242
+result = valid
+tag = 3b41861913a8f6de7f61e225631bc382
+
+# tcId = 58
+aad = 00000000ffffffff00000000ffffffff
+ct = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 256d40887f6be87c55d304849bbc0117df994703fc04c48480e030be142cd641e3bcdb5be12103018bcda1b65ea373d40869ffd213a1d91a53b7b227017802427ada4442bd9640055527f27053097afdb74c5ae219f3fa7f981a4938ba6c6d3b9bb2f28449b91038f3f0b136e23cb71277d30bc5896d12c7fbac0188c7fb7738
+result = valid
+tag = 8428bcf023ec6bf31fd9efb203ff0871
+
+# tcId = 59
+aad = ffffffff00000000ffffffff00000000
+ct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be
+result = valid
+tag = 139fdf6474ea24f549b075825f2c7620
+
+# tcId = 60
+aad = ffffffff00000000ffffffff00000000
+ct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a41edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd
+result = valid
+tag = bbad8d863b835a8e8664fd1d4566b6b4
+
+# tcId = 61
+aad = ffffffff00000000ffffffff00000000
+ct = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000
+iv = 000000000000000001ee3200
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = da92bf7780941783aa2cfb7b6443fee82066b8fc03fb3b7b7f1fcf41ebd329be1c4324a41edefcfe74325e49a15c8c2bf796002dec5e26e5ac484dd8fe87fdbd8525bbbd4269bffaaad80d8facf6850248b3a51de60c058067e5b6c7459392c4644d0d7bb646efc70c0f4ec91dc348ed882cf43a7692ed380453fe77380488c7
+result = valid
+tag = 42f2354297849a511d53e5571772f71f
+
+# tcId = 62
+# Flipped bit 0 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a2e3fdf9fba6861b5ad2607f40b7f447
+
+# tcId = 63
+# Flipped bit 1 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a1e3fdf9fba6861b5ad2607f40b7f447
+
+# tcId = 64
+# Flipped bit 7 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 23e3fdf9fba6861b5ad2607f40b7f447
+
+# tcId = 65
+# Flipped bit 8 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e2fdf9fba6861b5ad2607f40b7f447
+
+# tcId = 66
+# Flipped bit 31 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fd79fba6861b5ad2607f40b7f447
+
+# tcId = 67
+# Flipped bit 32 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9faa6861b5ad2607f40b7f447
+
+# tcId = 68
+# Flipped bit 33 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9f9a6861b5ad2607f40b7f447
+
+# tcId = 69
+# Flipped bit 63 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6869b5ad2607f40b7f447
+
+# tcId = 70
+# Flipped bit 64 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5bd2607f40b7f447
+
+# tcId = 71
+# Flipped bit 77 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5af2607f40b7f447
+
+# tcId = 72
+# Flipped bit 80 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5ad2617f40b7f447
+
+# tcId = 73
+# Flipped bit 96 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5ad2607f41b7f447
+
+# tcId = 74
+# Flipped bit 97 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5ad2607f42b7f447
+
+# tcId = 75
+# Flipped bit 120 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5ad2607f40b7f446
+
+# tcId = 76
+# Flipped bit 121 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5ad2607f40b7f445
+
+# tcId = 77
+# Flipped bit 126 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5ad2607f40b7f407
+
+# tcId = 78
+# Flipped bit 127 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6861b5ad2607f40b7f4c7
+
+# tcId = 79
+# Flipped bit 63 and 127 in tag expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = a3e3fdf9fba6869b5ad2607f40b7f4c7
+
+# tcId = 80
+# Tag changed to all zero expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 81
+# tag change to all 1 expected tag:a3e3fdf9fba6861b5ad2607f40b7f447
+aad = 616164
+ct = 
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 82
+# Flipped bit 0 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 26da374f17b7f1b23844a5490bfc4001
+
+# tcId = 83
+# Flipped bit 1 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 25da374f17b7f1b23844a5490bfc4001
+
+# tcId = 84
+# Flipped bit 7 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = a7da374f17b7f1b23844a5490bfc4001
+
+# tcId = 85
+# Flipped bit 8 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27db374f17b7f1b23844a5490bfc4001
+
+# tcId = 86
+# Flipped bit 31 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da37cf17b7f1b23844a5490bfc4001
+
+# tcId = 87
+# Flipped bit 32 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f16b7f1b23844a5490bfc4001
+
+# tcId = 88
+# Flipped bit 33 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f15b7f1b23844a5490bfc4001
+
+# tcId = 89
+# Flipped bit 63 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1323844a5490bfc4001
+
+# tcId = 90
+# Flipped bit 64 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23944a5490bfc4001
+
+# tcId = 91
+# Flipped bit 77 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23864a5490bfc4001
+
+# tcId = 92
+# Flipped bit 80 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23844a4490bfc4001
+
+# tcId = 93
+# Flipped bit 96 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23844a5490afc4001
+
+# tcId = 94
+# Flipped bit 97 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23844a54909fc4001
+
+# tcId = 95
+# Flipped bit 120 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23844a5490bfc4000
+
+# tcId = 96
+# Flipped bit 121 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23844a5490bfc4003
+
+# tcId = 97
+# Flipped bit 126 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23844a5490bfc4041
+
+# tcId = 98
+# Flipped bit 127 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1b23844a5490bfc4081
+
+# tcId = 99
+# Flipped bit 63 and 127 in tag expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 27da374f17b7f1323844a5490bfc4081
+
+# tcId = 100
+# Tag changed to all zero expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = 00000000000000000000000000000000
+
+# tcId = 101
+# tag change to all 1 expected tag:27da374f17b7f1b23844a5490bfc4001
+aad = 616164
+ct = 2cf8ae525fc86025268a4e1d88bead19
+iv = 000102030405060708090a0b
+key = 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff
+msg = 00000000000000000000000000000000
+result = invalid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 102
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 30303030303030300002506e
+key = 3030303030303030303030303030303030303030303030303030303030303030
+msg = d4500bf009493551c380adf52c573a69df7e8b762463330facc16a5726be7190c63c5a1c926584a096756828dcdc64acdf963d931bf1dae238f3f157224ac4b542d785b0dd84db6be3bc5a3663e84149ffbed09e54f78f16a8223b24cb019f58b21b0e551e7aa07327629551376ccbc3937671a0629bd95c9915c78555771e7a
+result = valid
+tag = 0b300d8da56c2185755279553c4c82ca
+
+# tcId = 103
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 3030303030303030000318a5
+key = 3030303030303030303030303030303030303030303030303030303030303030
+msg = 7de87f6729945275d0655da4c7fde4569e16f111b5eb26c22d859e3ff822eced3a6dd9a60f22957f7b7c857e8822eb9fe0b8d7022141f2d0b48f4b5612d322a88dd0fe0b4d9179324f7c6c9e990efbd80e5ed6775826498b1efe0f71a0f3ec5b29cb28c2540a7dcd51b7daaee0ff4a7f3ac1ee54c29ee4c170de408f66692194
+result = valid
+tag = c578e2aa44d309b7b6a5193bdc6118f5
+
+# tcId = 104
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 00000000000000000007b4f0
+key = 3030303030303030303030303030303030303030303030303030303030303030
+msg = 1b996f9a3ccc6785de22ff5b8add9502ce03a0faf5992a09522cdd1206d220b8f8bd07d1f1f5a1bd9a71d11c7f579b855818c08d4de036393183b7f590b335aed8de5b57b13c5fede2441c3e184aa9d46e61598506b3e11c43c62cbcaceced33190875b012218b1930fb7c38ec45ac11c353d0cf938dccb9efad8fedbe46daa5
+result = valid
+tag = 4b0bda8ad043830d8319ab82c50c7663
+
+# tcId = 105
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 00000000000000000020fb66
+key = 3030303030303030303030303030303030303030303030303030303030303030
+msg = 86cbacae4d3f74ae01213e0551cc15160ea1be8408e3d5d74f01464995a69e6176cb9e02b2247ed299892f9182a45caf4c69405611766edfafdc285519ea30480c44f05e781eacf8fcecc7090abb28fa5fd585ac8cda7e8772e594e4ce6c883281932e0f89f877a1f04d9c32b06cf90b0e762b430c4d517c97107068f498ef7f
+result = valid
+tag = 4bc98f72c494c2a43c2b15a1043f1cfa
+
+# tcId = 106
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 00000000000000000038bb90
+key = 3030303030303030303030303030303030303030303030303030303030303030
+msg = fab1cddf4fe198ef63add881d6ead6c57637bbe92018ca7c0b96fba0871e932db1fbf90761be25df8dfaf931ce5757e617b3d7a9f0bf0ffe5d591a33c143b8f53fd0b5a19609fd62e5c251a4281a200cfdc34f281710406f4e37625446ff6ef224913deb0d89af337128e3d155d16d3ec3246041432143e9ab3a6d2ccc2f4d62
+result = valid
+tag = f7e9e151b02533c74658bfc7737c680d
+
+# tcId = 107
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 00000000000000000070484a
+key = 3030303030303030303030303030303030303030303030303030303030303030
+msg = 227202be7f3515e9d1c02eea2f1950b6481b048a4c91506cb40d504e6c949f82d197c25ad17dc721651125782ac7a71247feaef32f1f250ce4bb8f79acaa179d45a7b0545f0924325efa87d5e441d28478c61f2223ee67c3b41f4394535e2a24369a2e16613c459490c14fb1d755fe53fbe1ee45b1b21f7162e2fcaa742abefd
+result = valid
+tag = 795bcff647c553c2e4eb6e0eafd9e04e
+
+# tcId = 108
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000000000000000000932f40
+key = 3030303030303030303030303030303030303030303030303030303030303030
+msg = fae58345c16cb0f5cc537f2b1b3469c969463b3ea71bcf6b98d669a8e60e04fc08d5fd069c362638e3400ef4cb242e27e2245e68cb9ec583da5340b12edf423b7326ad20feeb57daca2e0467a32899b42df8e56d84e006bc8a7acc731e7c1f6becb5719f7077f0d4f4c61ab11ebac1001801ce33c4e4a77d831d3ce34e8410e1
+result = valid
+tag = 1946d653960f947a74d3e8093cf48502
+
+# tcId = 109
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000000000000000000e29335
+key = 3030303030303030303030303030303030303030303030303030303030303030
+msg = ebb216ddd7ca709215f503df9ce63c5cd2194e7d9099e8a90b2afaad5eba35069925a603fdbc341aaed41505b10941fa3856a7e247b1040709746cfc2096caa631b2fff41c250506d889c1c90671ade853ee6394c19192a5cf3710d1073099e5bc946582fc0fab9f543c716ae2486a8683fdca39d2e14f23d00a582664f4ecb1
+result = valid
+tag = 36c3002985dd21baf895d633573f12c0
+
+# tcId = 110
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 0000000000000000000ef7d5
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 408ae6ef1c7ef0fb2c2d610816fc7849efa58f78273f5f166ea65f81b575747d035b3040fede1eb9459788669788408e00413b3e376d152d204aa2b7a83558fcd48a0ef7a26b1cd6d35d23b3f5dfe0ca77a4ce32b94abf83da2aefcaf068380879e89fb0a3829595cf44c3852ae2cc662b689f9355d9c183801f6acc313f8907
+result = valid
+tag = 6514518e0a264142e0b7351f967fc2ae
+
+# tcId = 111
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 0000000000000000003dfce4
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 0a0a24499bcade58cf1576c312aca984718cb4cc7e0153f5a9015810859644dfc021174e0b060a397448de8b484a8603be680a6934c0906f30dd17eae2d4c5faa777f8ca53370e08331b88c342bac959787bbb33930e3b56be86da7f2a6eb1f94089d1d181074d4302f8e0552d0de1fab306a21b42d4c3ba6e6f0cbcc81e877a
+result = valid
+tag = 4c194da6a99fd65b40e9cad798f44b19
+
+# tcId = 112
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 0000000000000000018486a8
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 4a0aaff8494729188691701340f3ce2b8a78eed3a0f065994b72484e7991d25c29aa075eb1fc16de93fe069058112ab284a3ed18780326d1258a47222fa633d8b29f3bd9150b239b1546c2bb9b9f410febead396000ee477701532c3d0f5fbf895d280196d2f737c5e9fec50d92bb0df5d7e513be5b8ea971310d5bf16ba7aee
+result = valid
+tag = c8ae7788cd2874abc138541e11fd0587
+
+# tcId = 113
+# checking for int overflows
+aad = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875c783d35f613e6d9093d38e975c38fe3b89f7aed35cb5a2fcaa0346efb936554649cf6378171eae4396ea15dc240d1abf4472d9096524fa1b2b023b8b288222773d4d206616f9293f65b45dbbc74e7c2edfbcbbf1cfb679bb739a5862de2bcb937f74d5bf8671c5a8a5092f61d54c9aa5b
+result = valid
+tag = 933a5163c7f62368327b3fbc1036c943
+
+# tcId = 114
+# special case tag
+aad = 85ffffffffffffffffffffffffffffffa6902fcbc883bbc180b256ae34ad7f00
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000102030405060708090a0b
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d
+result = valid
+tag = 000102030405060708090a0b0c0d0e0f
+
+# tcId = 115
+# special case tag
+aad = ffffffffffffffffffffffffffffffff247e50642a1c0a2f8f77219609dba958
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000102030405060708090a0b
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d
+result = valid
+tag = 00000000000000000000000000000000
+
+# tcId = 116
+# special case tag
+aad = 7cffffffffffffffffffffffffffffffd9e72c064ac8961f3fa585e0e2abd600
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000102030405060708090a0b
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d
+result = valid
+tag = ffffffffffffffffffffffffffffffff
+
+# tcId = 117
+# special case tag
+aad = 65ffffffffffffffffffffffffffffff95af0f4d0b686eaeccca4307d596f502
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000102030405060708090a0b
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d
+result = valid
+tag = 00000080000000800000008000000080
+
+# tcId = 118
+# special case tag
+aad = ffffffffffffffffffffffffffffffff8540b464357707be3a39d55c34f8bcb3
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000102030405060708090a0b
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d
+result = valid
+tag = ffffff7fffffff7fffffff7fffffff7f
+
+# tcId = 119
+# special case tag
+aad = 4fffffffffffffffffffffffffffffff6623d990b898d830d212af2383330701
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000102030405060708090a0b
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d
+result = valid
+tag = 01000000010000000100000001000000
+
+# tcId = 120
+# special case tag
+aad = 83ffffffffffffffffffffffffffffff5f16d09f17787211b7d484e024f89701
+ct = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+iv = 000102030405060708090a0b
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 9a49c40f8b48d7c66d1db4e53f20f2dd4aaa241ddab26b5bc0e218b72c3390f2df3ebd0176704419972bcdbc6bbcb3e4e74a71528ef51263ce24e0d575e0e44d
+result = valid
+tag = ffffffff000000000000000000000000
+
+# tcId = 121
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = 0039e2fd2fd312149e989880884813e7caffffffffffffffffffffffffffffff3b0e869aaa8ea49632ffff37b9e8ce00caffffffffffffffffffffffffffffff3b0e869aaa8ea49632ffff37b9e8ce00
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 005235d2a919f28d3db7664a34ae6b444d3d35f613e6d9093d38e975c38fe3b85b8b94509e2b74a36d346e33d572659ba9f6378171eae4396ea15dc240d1abf483dce9f3073efadb7d23b87ace35168c
+result = valid
+tag = a519ac1a35b4a57787510af78d8d200a
+
+# tcId = 122
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = d3ffffffffffffffffffffffffffffff6218b27f83b8b46602f6e1d834207b02ceffffffffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02ceffffffffffffffffffffffffffffff2a6416cedb1cdd296ef5d7d692daff02
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = d39428d079351f665cd001354319875ce5da78766fa19290c031f75208506745ae7aed35cb5a2fcaa0346efb93655464496ddeb05509c6efffab75eb2df4ab09762d9096524fa1b2b023b8b2882227730149ef504b71b120ca4ff39519c2c210
+result = valid
+tag = 302fe82ab0a09af64400d015ae83d9cc
+
+# tcId = 123
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = e9ffffffffffffffffffffffffffffffea33f347304abdadf8ce413433c84501e0ffffffffffffffffffffffffffffffb27f579688aee57064ce37329182ca01e0ffffffffffffffffffffffffffffffb27f579688aee57064ce37329182ca01
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = e99428d079351f665cd001354319875c6df1394edc539b5b3a0957be0fb85946807aed35cb5a2fcaa0346efb93655464d1769fe806bbfeb6f590950f2eac9e0a582d9096524fa1b2b023b8b2882227739952ae0818c38979c07413711a9af713
+result = valid
+tag = 98a7e836e0ee4d023500d0557ec2cbe0
+
+# tcId = 124
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffffffffffffffffffffffffffffffffe33bc552ca8b9e96169e797e8f30301b603ca99944df76528c9d6f54ab833d0f603ca99944df76528c9d6f54ab833d0f
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875c64f90f5b2692b860d4596ff4b3402c5c00b9bb53707aa667d356fe50c7199694033561e7caca6d941dc3cd6914ad6904
+result = valid
+tag = 6ab8dce2c59da4737130b0252f68a8d8
+
+# tcId = 125
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = 68ffffffffffffffffffffffffffffff374def6eb782ed002143115412b74600ffffffffffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219dffffffffffffffffffffffffffffffff4e233fb3e51d1ec7424507720dc5219d
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 689428d079351f665cd001354319875cb08f25675b9bcbf6e38407de2ec75a479f7aed35cb5a2fcaa0346efb936554642d2af7cd6b080501d31ba54fb2eb7596472d9096524fa1b2b023b8b288222773650ec62d757072cee6ff233186dd1c8f
+result = valid
+tag = 044dea608880412bfdffcf35579e9b26
+
+# tcId = 126
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = 6dffffffffffffffffffffffffffffff26a37fa2e81026945c39e9f2eba87702ffffffffffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3ffffffffffffffffffffffffffffffffa5f1cff246fa09666e3bdf50b7f544b3
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 6d9428d079351f665cd001354319875ca161b5ab040900629efeff78d7d86b459f7aed35cb5a2fcaa0346efb93655464c6f8078cc8ef12a0ff657d6d08db10b8472d9096524fa1b2b023b8b2882227738edc366cd697656fca81fb133ced79a1
+result = valid
+tag = 1e6bea6314542e2ef9ffcf450b2e982b
+
+# tcId = 127
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffffffffffffffffffffffffffffffff7bc3729809e9dfe44fba0addade2aadf03c456df823cb8a0c5b900b3c935b8d303c456df823cb8a0c5b900b3c935b8d3
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875cfc01b891e5f0f9128d7d1c579192b69863414415b69968959a7291b7a5af134860cd9ea10c29a36654e7a28e761becd8
+result = valid
+tag = ed2017c8dba4775629049d786e3bceb1
+
+# tcId = 128
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffffffffffffffffffffffffffffffffecaf03dbf698b88677b0e2cb0ba3cafa73b0e72170ec9042edafd8a127f6d7ee73b0e72170ec9042edafd8a127f6d7ee
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875c6b6dc9d21a819e70b577f44137d3d6bd1335f5eb44494077b26449a54b6c7c7510b92f5ffef98b847cf17a9c98d883e5
+result = valid
+tag = 073f17cb6778645925049d8822cbcab6
+
+# tcId = 129
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffa0fc3e8032c3d5fdb62a11f096307db5ffffffffffffffffffffffffffffff766c9a8025eadea73905328c3379c004b5ffffffffffffffffffffffffffffff766c9a8025eadea73905328c3379c004
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ffcb2b1106f8234c5e99d4db4c7048de323d35f613e6d9093d38e975c38fe3b816e9884a114f0e9266cea3885fe36b9fd6f6378171eae4396ea15dc240d1abf4cebef5e9885a80ea76d975c144a41888
+result = valid
+tag = 8b9bb4b4861289658c696a8340150405
+
+# tcId = 130
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = 6ff5a7c2bd414c3985cb9490b5a56d2ea6ffffffffffffffffffffffffffffff6ce43e94b92c784684013c5f1fdce900a6ffffffffffffffffffffffffffffff6ce43e94b92c784684013c5f1fdce900
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 6f9e70ed3b8baca026e46a5a0943158d213d35f613e6d9093d38e975c38fe3b80c612c5e8d89a873dbcaad5b7346429bc5f6378171eae4396ea15dc240d1abf4d43651fd149c260bcbdd7b126801318c
+result = valid
+tag = 8b3bbd51644459568d81ca1fa72ce404
+
+# tcId = 131
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = 4140df25b8d32194e78e51d41738cc6db2ffffffffffffffffffffffffffffff0b0686f93d849859fed6b818520d4501b2ffffffffffffffffffffffffffffff0b0686f93d849859fed6b818520d4501
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 412b080a3e19c10d44a1af1eabdeb4ce353d35f613e6d9093d38e975c38fe3b86b8394330921486ca11d291c3e97ee9ad1f6378171eae4396ea15dc240d1abf4b3d4e9909034c614b10aff5525d09d8d
+result = valid
+tag = 86fbab2b4a94f47aa56f0aea65d11008
+
+# tcId = 132
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = b22c7068a583fa350f8529c375f8eb88b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec39cd90b72bff7503b6fffffffffffffffffffffffffffffffa5b162d6f12d1ec39cd90b72bff7503
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = b247a74723491aacacaad709c91e932b313d35f613e6d9093d38e975c38fe3b89ade04e75bb701d9660601b34765de98d5f6378171eae4396ea15dc240d1abf442897944c2a28fa17611d7fa5c22ad8f
+result = valid
+tag = a019ac2ed667e17da16f0afa19610d0d
+
+# tcId = 133
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = 7464496670da0f3c2699a700d23ecc3aaaffffffffffffffffffffffffffffff21a884658a253c0b261fc0b466b71901aaffffffffffffffffffffffffffffff21a884658a253c0b261fc0b466b71901
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 740f9e49f610efa585b659ca6ed8b4992d3d35f613e6d9093d38e975c38fe3b8412d96afbe80ec3e79d451b00a2db29ac9f6378171eae4396ea15dc240d1abf4997aeb0c2795624669c387f9116ac18d
+result = valid
+tag = 736e18181696a5889c3159faabab20fd
+
+# tcId = 134
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = add18a3fdd024a9f8f0cc801347ba376b0ffffffffffffffffffffffffffffff77f94d341cd0245da90907532469f201b0ffffffffffffffffffffffffffffff77f94d341cd0245da90907532469f201
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = adba5d105bc8aa062c2336cb889ddbd5373d35f613e6d9093d38e975c38fe3b8177c5ffe2875f468f6c2965748f3599ad3f6378171eae4396ea15dc240d1abf4cf2b225db1607a10e6d5401e53b42a8d
+result = valid
+tag = bad58f10a91e6a889aba32fd17d8331a
+
+# tcId = 135
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = feffffffffffffffffffffffffffffff47c327cc365d088759098c341b4aed03d4ffffffffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701d4ffffffffffffffffffffffffffffff2b0b973f745b28aae937f59f18eac701
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = fe9428d079351f665cd001354319875cc001edc5da442e719bce9abe273af144b47aed35cb5a2fcaa0346efb9365546448025f41fa4e336c786957a2a7c4930a6c2d9096524fa1b2b023b8b28822277300266ea1e43644a34d8dd1dc93f2fa13
+result = valid
+tag = d68ce174079add028dd05cf814630488
+
+# tcId = 136
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = b57867453f66f4daf9e474691f9c8515d3ffffffffffffffffffffffffffffff01101359851ad324a0dae88dc2430202d3ffffffffffffffffffffffffffffff01101359851ad324a0dae88dc2430202
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = b513b06ab9ac14435acb8aa3a37afdb6543d35f613e6d9093d38e975c38fe3b861950193b1bf0311ff117989aed9a999b0f6378171eae4396ea15dc240d1abf4b9c27c3028aa8d69ef06afc0b59eda8e
+result = valid
+tag = aa48a3887d4b059699c2fdf9c6787e0a
+
+# tcId = 137
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffffffffffffffffffffffffffffffff5333c3e1f8d78eacca0707526cad018cafffffffffffffffffffffffffffffff3049702414b599502624fdfe29313204afffffffffffffffffffffffffffffff3049702414b599502624fdfe29313204
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875cd4f109e814cea85a08c011d850dd1dcbcf7aed35cb5a2fcaa0346efb936554645340b85a9aa08296b77a5fc3961f660f172d9096524fa1b2b023b8b2882227731b6489ba84d8f559829ed9bda2290f16
+result = valid
+tag = b936a817f2211af129e2cf160fd42bcb
+
+# tcId = 138
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffffffffffffffffffffffffffffffff588ea80ac1583f434a806813ae2a4a9eb6ffffffffffffffffffffffffffffff998d381adb2359ddbae786537d37b900b6ffffffffffffffffffffffffffffff998d381adb2359ddbae786537d37b900
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875cdf4c62032d4119b588477e99925a56d9d67aed35cb5a2fcaa0346efb93655464fa84f0645536421b2bb9246ec219ed0b0e2d9096524fa1b2b023b8b288222773b2a0c1844b4e35d41e5da210f62f8412
+result = valid
+tag = 9f7ac4351f6b91e63097a713115d05be
+
+# tcId = 139
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffffffffffffffffffffffffffffffff943ac00981d89d2c14febfa5fb9cba1297ffffffffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a80497ffffffffffffffffffffffffffffff00417083a7aa8d13f2fbb5dfc255a804
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875c13f80a006dc1bbdad639a92fc7eca655f77aed35cb5a2fcaa0346efb936554646348b8fd29bf96d563a517e27d7bfc0f2f2d9096524fa1b2b023b8b2882227732b6c891d37c7e11a5641919c494d9516
+result = valid
+tag = 9a18a828070269f44700d009e7171cc9
+
+# tcId = 140
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffffffffffffffffffffffffffffffff0527514c6e8876ce3bf49794595dda2d9cffffffffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc019cffffffffffffffffffffffffffffffd57800b44c65d9a331f28d6ee8b7dc01
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875c82e59b4582915038f933811e652dc66afc7aed35cb5a2fcaa0346efb93655464b671c8cac270c265a0ac2f535799880a242d9096524fa1b2b023b8b288222773fe55f92adc08b5aa9548a92d63afe113
+result = valid
+tag = b436a82b93d555f74300d0199ba718ce
+
+# tcId = 141
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = ffffffffffffffffffffffffffffffff7613e28e5b384f7063ea6f83b71dfa48a0ffffffffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04a0ffffffffffffffffffffffffffffffc4ce90e77df311376de8650dc2a90d04
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = ff9428d079351f665cd001354319875cf1d12887b7216986a12d79098b6de60fc07aed35cb5a2fcaa0346efb93655464a7c75899f3e60af1fcb6c7307d87590f182d9096524fa1b2b023b8b288222773efe36979ed9e7d3ec952414e49b13016
+result = valid
+tag = ce54a82e1fa942fa3f00d0294f3715d3
+
+# tcId = 142
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = cb9a0db18d63d7ead7c960d6b286745fb3ffffffffffffffffffffffffffffffdebab4a1584250bffc2fc84d95decf04b3ffffffffffffffffffffffffffffffdebab4a1584250bffc2fc84d95decf04
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = cbf1da9e0ba9377374e69e1c0e600cfc343d35f613e6d9093d38e975c38fe3b8be3fa66b6ce7808aa3e45949f944649fd0f6378171eae4396ea15dc240d1abf46668dbc8f5f20ef2b3f38f00e2031788
+result = valid
+tag = 2383ab0b799205699b510aa709bf31f1
+
+# tcId = 143
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = 8f4c51bb42233a7276a2c0912a88f3cbc5ffffffffffffffffffffffffffffff66d6f56905d45806f30828a993869a03c5ffffffffffffffffffffffffffffff66d6f56905d45806f30828a993869a03
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 8f278694c4e9daebd58d3e5b966e8b68423d35f613e6d9093d38e975c38fe3b80653e7a331718833acc3b9adff1c3198a6f6378171eae4396ea15dc240d1abf4de049a00a864064bbcd46fe4e45b428f
+result = valid
+tag = 8bfbab17a9e0b8748b510ae7d9fd2305
+
+# tcId = 144
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = d5ffffffffffffffffffffffffffffff1de01d03a4fb692b0f135717da3c93039cffffffffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb019cffffffffffffffffffffffffffffff14bc017957dcfa2cc0dbb81df583cb01
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = d59428d079351f665cd001354319875c9a22d70a48e24fddcdd4419de64c8f44fc7aed35cb5a2fcaa0346efb9365546477b5c907d9c9e1ea51851a204aad9f0a242d9096524fa1b2b023b8b2882227733f91f8e7c7b1962564619c5e7e9bf613
+result = valid
+tag = 49bc6e9fc51c4d503036644d842773d2
+
+# tcId = 145
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = dbfffffffffffffffffffffffffffffff217ae3349b6b5bb4e092fa6ff9ec700a0ffffffffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03a0ffffffffffffffffffffffffffffff031292ac886a33c0fbd190bcce75fc03
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = db9428d079351f665cd001354319875c75d5643aa5af934d8cce392cc3eedb47c07aed35cb5a2fcaa0346efb93655464601b5ad2067f28066a8f3281715ba808182d9096524fa1b2b023b8b288222773283f6b3218075fc95f6bb4ff456dc111
+result = valid
+tag = 63da6ea251f039532c36645d38b76fd7
+
+# tcId = 146
+# edge case intermediate sums in poly1305
+aad = ffffffff
+ct = 93ffffffffffffffffffffffffffffffe58af369ae0fc2f5290b7c7f659c9704f7ffffffffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04f7ffffffffffffffffffffffffffffffbbc10b84948b5c8c2f0c72113ea9bd04
+iv = 0000000000000000064c2d52
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 939428d079351f665cd001354319875c624839604216e403ebcc6af559ec8b43977aed35cb5a2fcaa0346efb93655464d8c8c3fa1a9e474abe52d02c8187e90f4f2d9096524fa1b2b023b8b28822277390ecf21a04e630858bb65652b5b18016
+result = valid
+tag = 73eb2724b5c405f04d00d0f15840a1c1
+
+[ivSize = 64]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 147
+# invalid nonce size
+aad = 
+ct = 
+iv = 5f5f5f5f5f5f5f5f
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 
+result = invalid
+tag = 
+
+[ivSize = 80]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 148
+# invalid nonce size
+aad = 
+ct = 
+iv = 5f5f5f5f5f5f5f5f5f5f
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 
+result = invalid
+tag = 
+
+[ivSize = 88]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 149
+# invalid nonce size
+aad = 
+ct = 
+iv = 5f5f5f5f5f5f5f5f5f5f5f
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 
+result = invalid
+tag = 
+
+[ivSize = 112]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 150
+# invalid nonce size
+aad = 
+ct = 
+iv = 5f5f5f5f5f5f5f5f5f5f5f5f5f5f
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 
+result = invalid
+tag = 
+
+[ivSize = 128]
+[keySize = 256]
+[tagSize = 128]
+
+# tcId = 151
+# invalid nonce size
+aad = 
+ct = 
+iv = 5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f5f
+key = 808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9f
+msg = 
+result = invalid
+tag = 
+
diff --git a/src/third_party/wycheproof/dsa_test.json b/src/third_party/wycheproof_testvectors/dsa_test.json
similarity index 95%
rename from src/third_party/wycheproof/dsa_test.json
rename to src/third_party/wycheproof_testvectors/dsa_test.json
index a6810f4..7b2349d 100644
--- a/src/third_party/wycheproof/dsa_test.json
+++ b/src/third_party/wycheproof_testvectors/dsa_test.json
@@ -1,19 +1,15 @@
 {
   "algorithm" : "DSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 651,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Some implementations of DSA do not properly check for boundaries. In some cases the modular inverse of 0 is simply 0. As a result there are implementations where values such as r=1, s=0 lead to forgeries.",
     "NoLeadingZero" : "ASN encoded integers with a leading hex-digit in the range 8 .. F are negative. If the first hex-digit of a positive integer is 8 .. F then a leading 0 must be added. Some libraries forgot to do this an therefore generated invalid DSA signatures. Some providers, accept such legacy signatures for compatibility."
   },
+  "numberOfTests" : 675,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtjCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBhAACgYAXOTHdox7/MvJLODCRv3fqzcbv1Vdi\nSRHY6bnevw8lbQz/rFVnsz9uqunTJ1u+1++fX5TEADyVnkmh7T9YwxshuszA7YhA\ntGFF8SG4kG0HISm64B8HGUeZfo73YNLZ6iHQil636JOQshqFZkcTxUniX+2m6ebD\nGXCGa9+8j6mB9g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-1",
-      "type" : "DSAVer",
       "key" : {
         "g" : "0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d",
         "keySize" : 1024,
@@ -22,6 +18,10 @@
         "type" : "DSAPublicKey",
         "y" : "173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6"
       },
+      "keyDer" : "308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtjCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBhAACgYAXOTHdox7/MvJLODCRv3fqzcbv1Vdi\nSRHY6bnevw8lbQz/rFVnsz9uqunTJ1u+1++fX5TEADyVnkmh7T9YwxshuszA7YhA\ntGFF8SG4kG0HISm64B8HGUeZfo73YNLZ6iHQil636JOQshqFZkcTxUniX+2m6ebD\nGXCGa9+8j6mB9g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-1",
+      "type" : "DSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -339,6 +339,14 @@
         },
         {
           "tcId" : 40,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000",
@@ -346,7 +354,7 @@
           "flags" : []
         },
         {
-          "tcId" : 41,
+          "tcId" : 42,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "302f0000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -354,24 +362,16 @@
           "flags" : []
         },
         {
-          "tcId" : 42,
-          "comment" : "appending unused 0's",
+          "tcId" : 43,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 43,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 44,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0500",
           "result" : "invalid",
@@ -379,22 +379,6 @@
         },
         {
           "tcId" : 45,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 46,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 47,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3032498177302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -402,7 +386,7 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
+          "tcId" : 46,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30312500302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -410,7 +394,7 @@
           "flags" : []
         },
         {
-          "tcId" : 49,
+          "tcId" : 47,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef",
@@ -418,7 +402,7 @@
           "flags" : []
         },
         {
-          "tcId" : 50,
+          "tcId" : 48,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3032221a498177021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -426,7 +410,7 @@
           "flags" : []
         },
         {
-          "tcId" : 51,
+          "tcId" : 49,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "303122192500021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -434,7 +418,7 @@
           "flags" : []
         },
         {
-          "tcId" : 52,
+          "tcId" : 50,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30352217021500aa6a258fbf7d90e15614676d377df8b10e38db4a0004deadbeef0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -442,7 +426,7 @@
           "flags" : []
         },
         {
-          "tcId" : 53,
+          "tcId" : 51,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a22194981770214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -450,7 +434,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221825000214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -458,7 +442,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a22160214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef",
@@ -466,7 +450,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3035aa00bb00cd00302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -474,7 +458,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3033aa02aabb302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -482,7 +466,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3035221daa00bb00cd00021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -490,7 +474,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3033221baa02aabb021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -498,7 +482,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a221caa00bb00cd000214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -506,7 +490,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3033021500aa6a258fbf7d90e15614676d377df8b10e38db4a221aaa02aabb0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -514,7 +498,15 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000",
@@ -522,7 +514,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 62,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30312280021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -530,7 +522,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 63,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800214496d5220b5f67d3532d1f991203bc3523b964c3b0000",
@@ -538,7 +530,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 64,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000",
@@ -546,7 +538,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 65,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30312280031500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -554,7 +546,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 66,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800314496d5220b5f67d3532d1f991203bc3523b964c3b0000",
@@ -562,7 +554,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 67,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -570,127 +562,47 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
-          "comment" : "changing tag value",
+          "tcId" : 68,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 70,
-          "comment" : "changing tag value",
+          "tcId" : 69,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 71,
-          "comment" : "changing tag value",
+          "tcId" : 70,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 72,
-          "comment" : "changing tag value",
+          "tcId" : 71,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "322d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 73,
-          "comment" : "changing tag value",
+          "tcId" : 72,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 74,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 75,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 76,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 77,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 78,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 79,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
+          "tcId" : 73,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -698,31 +610,15 @@
           "flags" : []
         },
         {
-          "tcId" : 85,
-          "comment" : "using composition",
+          "tcId" : 74,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "3031300102302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 86,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
+          "tcId" : 75,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c",
@@ -730,7 +626,7 @@
           "flags" : []
         },
         {
-          "tcId" : 89,
+          "tcId" : 76,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -738,7 +634,7 @@
           "flags" : []
         },
         {
-          "tcId" : 90,
+          "tcId" : 77,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000",
@@ -746,7 +642,7 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
+          "tcId" : 78,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b00",
@@ -754,7 +650,7 @@
           "flags" : []
         },
         {
-          "tcId" : 92,
+          "tcId" : 79,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b05000000",
@@ -762,7 +658,7 @@
           "flags" : []
         },
         {
-          "tcId" : 93,
+          "tcId" : 80,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b060811220000",
@@ -770,7 +666,7 @@
           "flags" : []
         },
         {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000fe02beef",
@@ -778,7 +674,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0002beef",
@@ -786,7 +682,7 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "302f3000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -794,7 +690,7 @@
           "flags" : []
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b3000",
@@ -802,7 +698,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -810,7 +706,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "3017021500aa6a258fbf7d90e15614676d377df8b10e38db4a",
@@ -818,7 +714,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "3043021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -826,7 +722,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "30160214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -834,7 +730,23 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3017020214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3018021500aa6a258fbf7d90e15614676d377df8b10e38db4a02",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -842,7 +754,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 92,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0000",
@@ -850,7 +762,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 93,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "302f0217000000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -858,7 +770,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 94,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02160000496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -866,7 +778,47 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 95,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "301802810214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "301805000214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -874,7 +826,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 101,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0500",
@@ -882,7 +834,87 @@
           "flags" : []
         },
         {
+          "tcId" : 102,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "301802000214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -890,7 +922,7 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 113,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0200",
@@ -898,7 +930,23 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 114,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "302d021502aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -906,7 +954,7 @@
           "flags" : []
         },
         {
-          "tcId" : 111,
+          "tcId" : 117,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02144b6d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -914,7 +962,7 @@
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 118,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38dbca0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -922,7 +970,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 119,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964cbb",
@@ -930,7 +978,7 @@
           "flags" : []
         },
         {
-          "tcId" : 114,
+          "tcId" : 120,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "302c021400aa6a258fbf7d90e15614676d377df8b10e38db0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -938,7 +986,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 121,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -946,7 +994,7 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 122,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c",
@@ -954,7 +1002,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a02136d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -962,7 +1010,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "302e0216ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -970,7 +1018,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215ff496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -978,7 +1026,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "30190901800214496d5220b5f67d3532d1f991203bc3523b964c3b",
@@ -986,7 +1034,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a090180",
@@ -994,66 +1042,18 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
-          "msg" : "313233343030",
-          "sig" : "302d02150163755e49c9ce35201c9df4acd2e5fd48862d64fb0214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 123,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
-          "msg" : "313233343030",
-          "sig" : "302c0214f15eecd5b52ceca28f8ada2d9c15f419964451990214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 124,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
-          "msg" : "313233343030",
-          "sig" : "302d0215ff5595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 125,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
-          "msg" : "313233343030",
-          "sig" : "302c02140ea1132a4ad3135d707525d263ea0be669bbae670214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 126,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
-          "msg" : "313233343030",
-          "sig" : "302d0215fe9c8aa1b63631cadfe3620b532d1a02b779d29b050214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 127,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
-          "msg" : "313233343030",
-          "sig" : "302d021501aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "302c02145595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "sig" : "30190201000214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a02150102788adac0472173f95b86d0bba3c7e9b38ad5ec",
+          "sig" : "301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1061,7 +1061,7 @@
           "tcId" : 130,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "313233343030",
-          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a021490621966aba5d8f66c486c5184d3bebac3a1c28a",
+          "sig" : "302d02150163755e49c9ce35201c9df4acd2e5fd48862d64fb0214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
@@ -1069,7 +1069,7 @@
           "tcId" : 131,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "313233343030",
-          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214b692addf4a0982cacd2e066edfc43cadc469b3c5",
+          "sig" : "302c0214f15eecd5b52ceca28f8ada2d9c15f419964451990214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
@@ -1077,7 +1077,7 @@
           "tcId" : 132,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "313233343030",
-          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02146f9de699545a270993b793ae7b2c41453c5e3d76",
+          "sig" : "302d0215ff5595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
@@ -1085,7 +1085,7 @@
           "tcId" : 133,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "313233343030",
-          "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215fefd8775253fb8de8c06a4792f445c38164c752a14",
+          "sig" : "302c02140ea1132a4ad3135d707525d263ea0be669bbae670214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
@@ -1093,7 +1093,7 @@
           "tcId" : 134,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "313233343030",
-          "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021501496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "sig" : "302d0215fe9c8aa1b63631cadfe3620b532d1a02b779d29b050214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
@@ -1101,12 +1101,76 @@
           "tcId" : 135,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "313233343030",
-          "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021500b692addf4a0982cacd2e066edfc43cadc469b3c5",
+          "sig" : "302d021501aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 136,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "msg" : "313233343030",
+          "sig" : "302c02145595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "msg" : "313233343030",
+          "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a02150102788adac0472173f95b86d0bba3c7e9b38ad5ec",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "msg" : "313233343030",
+          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a021490621966aba5d8f66c486c5184d3bebac3a1c28a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "msg" : "313233343030",
+          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214b692addf4a0982cacd2e066edfc43cadc469b3c5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "msg" : "313233343030",
+          "sig" : "302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02146f9de699545a270993b793ae7b2c41453c5e3d76",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "msg" : "313233343030",
+          "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215fefd8775253fb8de8c06a4792f445c38164c752a14",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "msg" : "313233343030",
+          "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021501496d5220b5f67d3532d1f991203bc3523b964c3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
+          "msg" : "313233343030",
+          "sig" : "302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021500b692addf4a0982cacd2e066edfc43cadc469b3c5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
           "sig" : "301a0201000215ff46f4c745f5af5bc1397672c06497fb68880b764f",
@@ -1116,90 +1180,10 @@
           ]
         },
         {
-          "tcId" : 137,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "313233343030",
-          "sig" : "3006020100020100",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 138,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "313233343030",
-          "sig" : "3006020100020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 139,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "313233343030",
-          "sig" : "30060201000201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 140,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "313233343030",
-          "sig" : "301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 141,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "313233343030",
-          "sig" : "301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 142,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "313233343030",
-          "sig" : "301a0201000215010000000000000000000000000000000000000000",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 143,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "313233343030",
-          "sig" : "30818702010002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 144,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "313233343030",
-          "sig" : "3008020100090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 145,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a0201010215ff46f4c745f5af5bc1397672c06497fb68880b764f",
+          "sig" : "3006020100020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1209,7 +1193,7 @@
           "tcId" : 146,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "3006020101020100",
+          "sig" : "3006020100020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1219,7 +1203,7 @@
           "tcId" : 147,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "3006020101020101",
+          "sig" : "30060201000201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1229,7 +1213,7 @@
           "tcId" : 148,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30060201010201ff",
+          "sig" : "301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1239,7 +1223,7 @@
           "tcId" : 149,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
+          "sig" : "301a020100021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1249,7 +1233,7 @@
           "tcId" : 150,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
+          "sig" : "301a0201000215010000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1259,7 +1243,7 @@
           "tcId" : 151,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a0201010215010000000000000000000000000000000000000000",
+          "sig" : "30818702010002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1269,7 +1253,7 @@
           "tcId" : 152,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30818702010102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
+          "sig" : "3008020100090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1279,7 +1263,7 @@
           "tcId" : 153,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
+          "sig" : "301a0201010215ff46f4c745f5af5bc1397672c06497fb68880b764f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1289,7 +1273,7 @@
           "tcId" : 154,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a0201ff0215ff46f4c745f5af5bc1397672c06497fb68880b764f",
+          "sig" : "3006020101020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1299,7 +1283,7 @@
           "tcId" : 155,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30060201ff020100",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1309,7 +1293,7 @@
           "tcId" : 156,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30060201ff020101",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1319,7 +1303,7 @@
           "tcId" : 157,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
+          "sig" : "301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1329,7 +1313,7 @@
           "tcId" : 158,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
+          "sig" : "301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1339,7 +1323,7 @@
           "tcId" : 159,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
+          "sig" : "301a0201010215010000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1349,7 +1333,7 @@
           "tcId" : 160,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a0201ff0215010000000000000000000000000000000000000000",
+          "sig" : "30818702010102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1359,7 +1343,7 @@
           "tcId" : 161,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "3081870201ff02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1369,7 +1353,7 @@
           "tcId" : 162,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "301a0201ff0215ff46f4c745f5af5bc1397672c06497fb68880b764f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1379,7 +1363,7 @@
           "tcId" : 163,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215ff46f4c745f5af5bc1397672c06497fb68880b764f",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1389,7 +1373,7 @@
           "tcId" : 164,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020100",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1399,7 +1383,7 @@
           "tcId" : 165,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020101",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1409,7 +1393,7 @@
           "tcId" : 166,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b10201ff",
+          "sig" : "301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1419,7 +1403,7 @@
           "tcId" : 167,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
+          "sig" : "301a0201ff021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1429,7 +1413,7 @@
           "tcId" : 168,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
+          "sig" : "301a0201ff0215010000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1439,7 +1423,7 @@
           "tcId" : 169,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215010000000000000000000000000000000000000000",
+          "sig" : "3081870201ff02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1449,7 +1433,7 @@
           "tcId" : 170,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1459,7 +1443,7 @@
           "tcId" : 171,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090380fe01",
+          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215ff46f4c745f5af5bc1397672c06497fb68880b764f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1469,7 +1453,7 @@
           "tcId" : 172,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215ff46f4c745f5af5bc1397672c06497fb68880b764f",
+          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1479,7 +1463,7 @@
           "tcId" : 173,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020100",
+          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b1020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1489,7 +1473,7 @@
           "tcId" : 174,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020101",
+          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b10201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1499,7 +1483,7 @@
           "tcId" : 175,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b20201ff",
+          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1509,7 +1493,7 @@
           "tcId" : 176,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
+          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b1021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1519,7 +1503,7 @@
           "tcId" : 177,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
+          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b10215010000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1529,7 +1513,7 @@
           "tcId" : 178,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215010000000000000000000000000000000000000000",
+          "sig" : "30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1539,7 +1523,7 @@
           "tcId" : 179,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b202818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
+          "sig" : "301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b1090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1549,7 +1533,7 @@
           "tcId" : 180,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090380fe01",
+          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215ff46f4c745f5af5bc1397672c06497fb68880b764f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1559,7 +1543,7 @@
           "tcId" : 181,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e02150100000000000000000000000000000000000000000215ff46f4c745f5af5bc1397672c06497fb68880b764f",
+          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1569,7 +1553,7 @@
           "tcId" : 182,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a0215010000000000000000000000000000000000000000020100",
+          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b2020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1579,7 +1563,7 @@
           "tcId" : 183,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a0215010000000000000000000000000000000000000000020101",
+          "sig" : "301a021500b90b38ba0a50a43ec6898d3f9b68049777f489b20201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1589,7 +1573,7 @@
           "tcId" : 184,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301a02150100000000000000000000000000000000000000000201ff",
+          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1599,7 +1583,7 @@
           "tcId" : 185,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
+          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b2021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1609,7 +1593,7 @@
           "tcId" : 186,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
+          "sig" : "302e021500b90b38ba0a50a43ec6898d3f9b68049777f489b20215010000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1619,7 +1603,7 @@
           "tcId" : 187,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302e02150100000000000000000000000000000000000000000215010000000000000000000000000000000000000000",
+          "sig" : "30819b021500b90b38ba0a50a43ec6898d3f9b68049777f489b202818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1629,7 +1613,7 @@
           "tcId" : 188,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30819b021501000000000000000000000000000000000000000002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
+          "sig" : "301c021500b90b38ba0a50a43ec6898d3f9b68049777f489b2090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1639,7 +1623,7 @@
           "tcId" : 189,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301c0215010000000000000000000000000000000000000000090380fe01",
+          "sig" : "302e02150100000000000000000000000000000000000000000215ff46f4c745f5af5bc1397672c06497fb68880b764f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1649,7 +1633,7 @@
           "tcId" : 190,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215ff46f4c745f5af5bc1397672c06497fb68880b764f",
+          "sig" : "301a0215010000000000000000000000000000000000000000020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1659,7 +1643,7 @@
           "tcId" : 191,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020100",
+          "sig" : "301a0215010000000000000000000000000000000000000000020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1669,7 +1653,7 @@
           "tcId" : 192,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020101",
+          "sig" : "301a02150100000000000000000000000000000000000000000201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1679,7 +1663,7 @@
           "tcId" : 193,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0201ff",
+          "sig" : "302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1689,7 +1673,7 @@
           "tcId" : 194,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
+          "sig" : "302e0215010000000000000000000000000000000000000000021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1699,7 +1683,7 @@
           "tcId" : 195,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
+          "sig" : "302e02150100000000000000000000000000000000000000000215010000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1709,7 +1693,7 @@
           "tcId" : 196,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215010000000000000000000000000000000000000000",
+          "sig" : "30819b021501000000000000000000000000000000000000000002818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1719,7 +1703,7 @@
           "tcId" : 197,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "3082010802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
+          "sig" : "301c0215010000000000000000000000000000000000000000090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1729,7 +1713,7 @@
           "tcId" : 198,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "30818902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090380fe01",
+          "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215ff46f4c745f5af5bc1397672c06497fb68880b764f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1739,7 +1723,7 @@
           "tcId" : 199,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301c090380fe010215ff46f4c745f5af5bc1397672c06497fb68880b764f",
+          "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1749,7 +1733,7 @@
           "tcId" : 200,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "3008090380fe01020100",
+          "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1759,7 +1743,7 @@
           "tcId" : 201,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "3008090380fe01020101",
+          "sig" : "30818702818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1769,7 +1753,7 @@
           "tcId" : 202,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "3008090380fe010201ff",
+          "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1779,7 +1763,7 @@
           "tcId" : 203,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
+          "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1789,7 +1773,7 @@
           "tcId" : 204,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
+          "sig" : "30819b02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f0215010000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1799,7 +1783,7 @@
           "tcId" : 205,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "301c090380fe010215010000000000000000000000000000000000000000",
+          "sig" : "3082010802818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1809,7 +1793,7 @@
           "tcId" : 206,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "308189090380fe0102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
+          "sig" : "30818902818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1819,7 +1803,7 @@
           "tcId" : 207,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "300a090380fe01090380fe01",
+          "sig" : "301c090380fe010215ff46f4c745f5af5bc1397672c06497fb68880b764f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1827,51 +1811,127 @@
         },
         {
           "tcId" : 208,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302c02140e23ff8588683fd9455d185090a9d9199f646bcb0214631ced1a4f6a308bfee3b999f1c2bbe7dcc922dc",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "3008090380fe01020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 209,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302c0214313eedf8d478f95321cfdeb5fe439ef8716a60cb021407998d19305abe635be5af240bd7e0ec7216a5ce",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "3008090380fe01020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 210,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "313233343030",
-          "sig" : "302d02150092bda94e3d769675132d9d6a17944808899f8c42021416c7bb874e2e59219cb0d52b4fd470fcc8dcdff3",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "3008090380fe010201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 211,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "313233343030",
+          "sig" : "301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b1",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "313233343030",
+          "sig" : "301c090380fe01021500b90b38ba0a50a43ec6898d3f9b68049777f489b2",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "313233343030",
+          "sig" : "301c090380fe010215010000000000000000000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "313233343030",
+          "sig" : "308189090380fe0102818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "313233343030",
+          "sig" : "300a090380fe01090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "302d021500976b29bc6023065b0ee1b5362a4cd2f5529a43c902141db2ad4c3e92cf2bc9267f926ac2e71dacfa5928",
+          "sig" : "302d0215009b593d0b844c5764450021c76be42ef258307d7502144882a4f2fb661152005b51ff748accc48627ec9c",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 212,
+          "tcId" : 217,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "302c02144afbd1a5d8fb9d117c7efd3e7b3564f37305a80302144e13c38000458a528ff2b667265740e36438bd99",
+          "sig" : "302c021448c2ffd85768bdfc322cac7a31a0c6868c016ee702143992d7babfa17a62021d8b53b428e4250f527c88",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "302c021441ea8ab50bedd928a763afeed583a203690fea960214040be8046a04c094eece38282de9e11334f264ac",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "302d0215008fc19a465d9e20de35282f4169ff56305987da5e02146db7cdd227c47f3c8ee08da16917abc82d822a0b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "302c0214037cabe69d6b23c84bfce6b697300ddc18ab1854021478730f6bd169400a339d358d6dbf6ed16a6cb017",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "DSAVer",
       "key" : {
         "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
         "keySize" : 2048,
@@ -1880,9 +1940,13 @@
         "type" : "DSAPublicKey",
         "y" : "1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931"
       },
+      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "DSAVer",
       "tests" : [
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "Legacy:ASN encoding of s misses leading 0",
           "msg" : "48656c6c6f",
           "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1892,7 +1956,7 @@
           ]
         },
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "valid",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1900,7 +1964,7 @@
           "flags" : []
         },
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "long form encoding of length",
           "msg" : "48656c6c6f",
           "sig" : "30813d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1908,7 +1972,7 @@
           "flags" : []
         },
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "long form encoding of length",
           "msg" : "48656c6c6f",
           "sig" : "303e02811c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1916,7 +1980,7 @@
           "flags" : []
         },
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "long form encoding of length",
           "msg" : "48656c6c6f",
           "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02811d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1924,7 +1988,7 @@
           "flags" : []
         },
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "length contains leading 0",
           "msg" : "48656c6c6f",
           "sig" : "3082003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1932,7 +1996,7 @@
           "flags" : []
         },
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "length contains leading 0",
           "msg" : "48656c6c6f",
           "sig" : "303f0282001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1940,7 +2004,7 @@
           "flags" : []
         },
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "length contains leading 0",
           "msg" : "48656c6c6f",
           "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0282001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1948,7 +2012,7 @@
           "flags" : []
         },
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "wrong length",
           "msg" : "48656c6c6f",
           "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1956,7 +2020,7 @@
           "flags" : []
         },
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "wrong length",
           "msg" : "48656c6c6f",
           "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1964,7 +2028,7 @@
           "flags" : []
         },
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "wrong length",
           "msg" : "48656c6c6f",
           "sig" : "303d021d1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1972,7 +2036,7 @@
           "flags" : []
         },
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "wrong length",
           "msg" : "48656c6c6f",
           "sig" : "303d021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1980,7 +2044,7 @@
           "flags" : []
         },
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "wrong length",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021e00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1988,7 +2052,7 @@
           "flags" : []
         },
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "wrong length",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -1996,7 +2060,7 @@
           "flags" : []
         },
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "uint32 overflow in length",
           "msg" : "48656c6c6f",
           "sig" : "3085010000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2004,7 +2068,7 @@
           "flags" : []
         },
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "uint32 overflow in length",
           "msg" : "48656c6c6f",
           "sig" : "30420285010000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2012,7 +2076,7 @@
           "flags" : []
         },
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "uint32 overflow in length",
           "msg" : "48656c6c6f",
           "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285010000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2020,7 +2084,7 @@
           "flags" : []
         },
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "uint64 overflow in length",
           "msg" : "48656c6c6f",
           "sig" : "308901000000000000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2028,7 +2092,7 @@
           "flags" : []
         },
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "uint64 overflow in length",
           "msg" : "48656c6c6f",
           "sig" : "3046028901000000000000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2036,7 +2100,7 @@
           "flags" : []
         },
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "uint64 overflow in length",
           "msg" : "48656c6c6f",
           "sig" : "3046021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028901000000000000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2044,7 +2108,7 @@
           "flags" : []
         },
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "length = 2**31 - 1",
           "msg" : "48656c6c6f",
           "sig" : "30847fffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2052,7 +2116,7 @@
           "flags" : []
         },
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "length = 2**31 - 1",
           "msg" : "48656c6c6f",
           "sig" : "304102847fffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2060,7 +2124,7 @@
           "flags" : []
         },
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "length = 2**31 - 1",
           "msg" : "48656c6c6f",
           "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02847fffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2068,7 +2132,7 @@
           "flags" : []
         },
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "length = 2**32 - 1",
           "msg" : "48656c6c6f",
           "sig" : "3084ffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2076,7 +2140,7 @@
           "flags" : []
         },
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "length = 2**32 - 1",
           "msg" : "48656c6c6f",
           "sig" : "30410284ffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2084,7 +2148,7 @@
           "flags" : []
         },
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "length = 2**32 - 1",
           "msg" : "48656c6c6f",
           "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0284ffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2092,7 +2156,7 @@
           "flags" : []
         },
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "length = 2**40 - 1",
           "msg" : "48656c6c6f",
           "sig" : "3085ffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2100,7 +2164,7 @@
           "flags" : []
         },
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "length = 2**40 - 1",
           "msg" : "48656c6c6f",
           "sig" : "30420285ffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2108,7 +2172,7 @@
           "flags" : []
         },
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "length = 2**40 - 1",
           "msg" : "48656c6c6f",
           "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285ffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2116,7 +2180,7 @@
           "flags" : []
         },
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "length = 2**64 - 1",
           "msg" : "48656c6c6f",
           "sig" : "3088ffffffffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2124,7 +2188,7 @@
           "flags" : []
         },
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "length = 2**64 - 1",
           "msg" : "48656c6c6f",
           "sig" : "30450288ffffffffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2132,7 +2196,7 @@
           "flags" : []
         },
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "length = 2**64 - 1",
           "msg" : "48656c6c6f",
           "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0288ffffffffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2140,7 +2204,7 @@
           "flags" : []
         },
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "incorrect length",
           "msg" : "48656c6c6f",
           "sig" : "30ff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2148,7 +2212,7 @@
           "flags" : []
         },
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "incorrect length",
           "msg" : "48656c6c6f",
           "sig" : "303d02ff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2156,7 +2220,7 @@
           "flags" : []
         },
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "incorrect length",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02ff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2164,7 +2228,7 @@
           "flags" : []
         },
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "indefinite length without termination",
           "msg" : "48656c6c6f",
           "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2172,7 +2236,7 @@
           "flags" : []
         },
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "indefinite length without termination",
           "msg" : "48656c6c6f",
           "sig" : "303d02801e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2180,7 +2244,7 @@
           "flags" : []
         },
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "indefinite length without termination",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2188,7 +2252,7 @@
           "flags" : []
         },
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "removing sequence",
           "msg" : "48656c6c6f",
           "sig" : "",
@@ -2196,7 +2260,15 @@
           "flags" : []
         },
         {
-          "tcId" : 252,
+          "tcId" : 260,
+          "comment" : "lonely sequence tag",
+          "msg" : "48656c6c6f",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 261,
           "comment" : "appending 0's to sequence",
           "msg" : "48656c6c6f",
           "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000",
@@ -2204,7 +2276,7 @@
           "flags" : []
         },
         {
-          "tcId" : 253,
+          "tcId" : 262,
           "comment" : "prepending 0's to sequence",
           "msg" : "48656c6c6f",
           "sig" : "303f0000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2212,98 +2284,26 @@
           "flags" : []
         },
         {
-          "tcId" : 254,
-          "comment" : "appending unused 0's",
+          "tcId" : 263,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 255,
-          "comment" : "appending unused 0's",
-          "msg" : "48656c6c6f",
-          "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 256,
-          "comment" : "appending null value",
+          "tcId" : 264,
+          "comment" : "appending null value to sequence",
           "msg" : "48656c6c6f",
           "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 257,
-          "comment" : "appending null value",
-          "msg" : "48656c6c6f",
-          "sig" : "303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 258,
-          "comment" : "appending null value",
-          "msg" : "48656c6c6f",
-          "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 259,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 260,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 261,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 262,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 263,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 264,
-          "comment" : "including garbage",
-          "msg" : "48656c6c6f",
-          "sig" : "3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 265,
           "comment" : "including garbage",
           "msg" : "48656c6c6f",
-          "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "sig" : "3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
           "result" : "invalid",
           "flags" : []
         },
@@ -2311,7 +2311,7 @@
           "tcId" : 266,
           "comment" : "including garbage",
           "msg" : "48656c6c6f",
-          "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "sig" : "30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
           "result" : "invalid",
           "flags" : []
         },
@@ -2319,12 +2319,60 @@
           "tcId" : 267,
           "comment" : "including garbage",
           "msg" : "48656c6c6f",
-          "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef",
+          "sig" : "303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 268,
+          "comment" : "including garbage",
+          "msg" : "48656c6c6f",
+          "sig" : "30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 269,
+          "comment" : "including garbage",
+          "msg" : "48656c6c6f",
+          "sig" : "304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 270,
+          "comment" : "including garbage",
+          "msg" : "48656c6c6f",
+          "sig" : "3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 271,
+          "comment" : "including garbage",
+          "msg" : "48656c6c6f",
+          "sig" : "3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 272,
+          "comment" : "including garbage",
+          "msg" : "48656c6c6f",
+          "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 273,
+          "comment" : "including garbage",
+          "msg" : "48656c6c6f",
+          "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 274,
           "comment" : "including undefined tags",
           "msg" : "48656c6c6f",
           "sig" : "3045aa00bb00cd00303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2332,7 +2380,7 @@
           "flags" : []
         },
         {
-          "tcId" : 269,
+          "tcId" : 275,
           "comment" : "including undefined tags",
           "msg" : "48656c6c6f",
           "sig" : "3043aa02aabb303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2340,7 +2388,7 @@
           "flags" : []
         },
         {
-          "tcId" : 270,
+          "tcId" : 276,
           "comment" : "including undefined tags",
           "msg" : "48656c6c6f",
           "sig" : "30452224aa00bb00cd00021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2348,7 +2396,7 @@
           "flags" : []
         },
         {
-          "tcId" : 271,
+          "tcId" : 277,
           "comment" : "including undefined tags",
           "msg" : "48656c6c6f",
           "sig" : "30432222aa02aabb021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2356,7 +2404,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 278,
           "comment" : "including undefined tags",
           "msg" : "48656c6c6f",
           "sig" : "3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2225aa00bb00cd00021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2364,7 +2412,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 279,
           "comment" : "including undefined tags",
           "msg" : "48656c6c6f",
           "sig" : "3043021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2223aa02aabb021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2372,7 +2420,15 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 280,
+          "comment" : "truncated length of sequence",
+          "msg" : "48656c6c6f",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 281,
           "comment" : "using composition with indefinite length",
           "msg" : "48656c6c6f",
           "sig" : "3080303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000",
@@ -2380,7 +2436,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 282,
           "comment" : "using composition with indefinite length",
           "msg" : "48656c6c6f",
           "sig" : "30412280021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2388,7 +2444,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 283,
           "comment" : "using composition with indefinite length",
           "msg" : "48656c6c6f",
           "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000",
@@ -2396,7 +2452,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 284,
           "comment" : "using composition with wrong tag",
           "msg" : "48656c6c6f",
           "sig" : "3080313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000",
@@ -2404,7 +2460,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 285,
           "comment" : "using composition with wrong tag",
           "msg" : "48656c6c6f",
           "sig" : "30412280031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2412,7 +2468,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 286,
           "comment" : "using composition with wrong tag",
           "msg" : "48656c6c6f",
           "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000",
@@ -2420,7 +2476,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 287,
           "comment" : "Replacing sequence with NULL",
           "msg" : "48656c6c6f",
           "sig" : "0500",
@@ -2428,127 +2484,47 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
-          "comment" : "changing tag value",
+          "tcId" : 288,
+          "comment" : "changing tag value of sequence",
           "msg" : "48656c6c6f",
           "sig" : "2e3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 282,
-          "comment" : "changing tag value",
+          "tcId" : 289,
+          "comment" : "changing tag value of sequence",
           "msg" : "48656c6c6f",
           "sig" : "2f3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 283,
-          "comment" : "changing tag value",
+          "tcId" : 290,
+          "comment" : "changing tag value of sequence",
           "msg" : "48656c6c6f",
           "sig" : "313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 284,
-          "comment" : "changing tag value",
+          "tcId" : 291,
+          "comment" : "changing tag value of sequence",
           "msg" : "48656c6c6f",
           "sig" : "323d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 285,
-          "comment" : "changing tag value",
+          "tcId" : 292,
+          "comment" : "changing tag value of sequence",
           "msg" : "48656c6c6f",
           "sig" : "ff3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 286,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 287,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 288,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 289,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 290,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 291,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 292,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 293,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 294,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 295,
-          "comment" : "changing tag value",
-          "msg" : "48656c6c6f",
-          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 296,
           "comment" : "dropping value of sequence",
           "msg" : "48656c6c6f",
           "sig" : "3000",
@@ -2556,31 +2532,15 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
-          "comment" : "using composition",
+          "tcId" : 294,
+          "comment" : "using composition forsequence",
           "msg" : "48656c6c6f",
           "sig" : "3041300102303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 298,
-          "comment" : "using composition",
-          "msg" : "48656c6c6f",
-          "sig" : "3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 299,
-          "comment" : "using composition",
-          "msg" : "48656c6c6f",
-          "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 300,
+          "tcId" : 295,
           "comment" : "truncate sequence",
           "msg" : "48656c6c6f",
           "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862",
@@ -2588,7 +2548,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 296,
           "comment" : "truncate sequence",
           "msg" : "48656c6c6f",
           "sig" : "303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2596,7 +2556,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 297,
           "comment" : "indefinite length",
           "msg" : "48656c6c6f",
           "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000",
@@ -2604,7 +2564,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 298,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "48656c6c6f",
           "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623600",
@@ -2612,7 +2572,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 299,
           "comment" : "indefinite length with additional element",
           "msg" : "48656c6c6f",
           "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623605000000",
@@ -2620,7 +2580,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 300,
           "comment" : "indefinite length with truncated element",
           "msg" : "48656c6c6f",
           "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236060811220000",
@@ -2628,7 +2588,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 301,
           "comment" : "indefinite length with garbage",
           "msg" : "48656c6c6f",
           "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000fe02beef",
@@ -2636,7 +2596,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 302,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "48656c6c6f",
           "sig" : "3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360002beef",
@@ -2644,7 +2604,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 303,
           "comment" : "prepend empty sequence",
           "msg" : "48656c6c6f",
           "sig" : "303f3000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2652,7 +2612,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 304,
           "comment" : "append empty sequence",
           "msg" : "48656c6c6f",
           "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862363000",
@@ -2660,7 +2620,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 305,
           "comment" : "sequence of sequence",
           "msg" : "48656c6c6f",
           "sig" : "303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2668,7 +2628,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 306,
           "comment" : "truncated sequence",
           "msg" : "48656c6c6f",
           "sig" : "301e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd",
@@ -2676,7 +2636,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 307,
           "comment" : "repeat element in sequence",
           "msg" : "48656c6c6f",
           "sig" : "305c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2684,7 +2644,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 308,
           "comment" : "removing integer",
           "msg" : "48656c6c6f",
           "sig" : "301f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2692,7 +2652,23 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 309,
+          "comment" : "lonely integer tag",
+          "msg" : "48656c6c6f",
+          "sig" : "302002021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 310,
+          "comment" : "lonely integer tag",
+          "msg" : "48656c6c6f",
+          "sig" : "301f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 311,
           "comment" : "appending 0's to integer",
           "msg" : "48656c6c6f",
           "sig" : "303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2700,7 +2676,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 312,
           "comment" : "appending 0's to integer",
           "msg" : "48656c6c6f",
           "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000",
@@ -2708,7 +2684,7 @@
           "flags" : []
         },
         {
-          "tcId" : 316,
+          "tcId" : 313,
           "comment" : "prepending 0's to integer",
           "msg" : "48656c6c6f",
           "sig" : "303f021e00001e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2716,7 +2692,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 314,
           "comment" : "prepending 0's to integer",
           "msg" : "48656c6c6f",
           "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f000000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2724,7 +2700,47 @@
           "flags" : []
         },
         {
+          "tcId" : 315,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 316,
+          "comment" : "appending null value to integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 317,
+          "comment" : "appending null value to integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 318,
+          "comment" : "truncated length of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "30210281021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 319,
+          "comment" : "truncated length of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 320,
           "comment" : "Replacing integer with NULL",
           "msg" : "48656c6c6f",
           "sig" : "30210500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2732,7 +2748,7 @@
           "flags" : []
         },
         {
-          "tcId" : 319,
+          "tcId" : 321,
           "comment" : "Replacing integer with NULL",
           "msg" : "48656c6c6f",
           "sig" : "3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500",
@@ -2740,7 +2756,87 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 322,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 323,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 324,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 325,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 326,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 327,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 328,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 329,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 330,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 331,
+          "comment" : "changing tag value of integer",
+          "msg" : "48656c6c6f",
+          "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 332,
           "comment" : "dropping value of integer",
           "msg" : "48656c6c6f",
           "sig" : "30210200021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2748,7 +2844,7 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 333,
           "comment" : "dropping value of integer",
           "msg" : "48656c6c6f",
           "sig" : "3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0200",
@@ -2756,7 +2852,23 @@
           "flags" : []
         },
         {
-          "tcId" : 322,
+          "tcId" : 334,
+          "comment" : "using composition forinteger",
+          "msg" : "48656c6c6f",
+          "sig" : "3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 335,
+          "comment" : "using composition forinteger",
+          "msg" : "48656c6c6f",
+          "sig" : "3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 336,
           "comment" : "modify first byte of integer",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1c41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2764,7 +2876,7 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 337,
           "comment" : "modify first byte of integer",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d02ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2772,7 +2884,7 @@
           "flags" : []
         },
         {
-          "tcId" : 324,
+          "tcId" : 338,
           "comment" : "modify last byte of integer",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c94d021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2780,7 +2892,7 @@
           "flags" : []
         },
         {
-          "tcId" : 325,
+          "tcId" : 339,
           "comment" : "modify last byte of integer",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862b6",
@@ -2788,7 +2900,7 @@
           "flags" : []
         },
         {
-          "tcId" : 326,
+          "tcId" : 340,
           "comment" : "truncate integer",
           "msg" : "48656c6c6f",
           "sig" : "303c021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2796,7 +2908,7 @@
           "flags" : []
         },
         {
-          "tcId" : 327,
+          "tcId" : 341,
           "comment" : "truncate integer",
           "msg" : "48656c6c6f",
           "sig" : "303c021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2804,7 +2916,7 @@
           "flags" : []
         },
         {
-          "tcId" : 328,
+          "tcId" : 342,
           "comment" : "truncate integer",
           "msg" : "48656c6c6f",
           "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862",
@@ -2812,7 +2924,7 @@
           "flags" : []
         },
         {
-          "tcId" : 329,
+          "tcId" : 343,
           "comment" : "truncate integer",
           "msg" : "48656c6c6f",
           "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2820,7 +2932,7 @@
           "flags" : []
         },
         {
-          "tcId" : 330,
+          "tcId" : 344,
           "comment" : "leading ff in integer",
           "msg" : "48656c6c6f",
           "sig" : "303e021dff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2828,7 +2940,7 @@
           "flags" : []
         },
         {
-          "tcId" : 331,
+          "tcId" : 345,
           "comment" : "leading ff in integer",
           "msg" : "48656c6c6f",
           "sig" : "303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021eff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2836,7 +2948,7 @@
           "flags" : []
         },
         {
-          "tcId" : 332,
+          "tcId" : 346,
           "comment" : "infinity",
           "msg" : "48656c6c6f",
           "sig" : "3022090180021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2844,7 +2956,7 @@
           "flags" : []
         },
         {
-          "tcId" : 333,
+          "tcId" : 347,
           "comment" : "infinity",
           "msg" : "48656c6c6f",
           "sig" : "3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd090180",
@@ -2852,7 +2964,23 @@
           "flags" : []
         },
         {
-          "tcId" : 334,
+          "tcId" : 348,
+          "comment" : "replacing integer with zero",
+          "msg" : "48656c6c6f",
+          "sig" : "3022020100021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 349,
+          "comment" : "replacing integer with zero",
+          "msg" : "48656c6c6f",
+          "sig" : "3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd020100",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 350,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303e021d00d9384b2032d060e59848f87cb4535936bc25fa77959e96d7f88e332a021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2860,7 +2988,7 @@
           "flags" : []
         },
         {
-          "tcId" : 335,
+          "tcId" : 351,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303e021dff634b1dd327de7125da7903ad2163ca2addc096101fd395567ee36070021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2868,7 +2996,7 @@
           "flags" : []
         },
         {
-          "tcId" : 336,
+          "tcId" : 352,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303d021ce1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2876,7 +3004,7 @@
           "flags" : []
         },
         {
-          "tcId" : 337,
+          "tcId" : 353,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303e021d009cb4e22cd8218eda2586fc52de9c35d5223f69efe02c6aa9811c9f90021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2884,7 +3012,7 @@
           "flags" : []
         },
         {
-          "tcId" : 338,
+          "tcId" : 354,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303e021dff26c7b4dfcd2f9f1a67b707834baca6c943da05886a6169280771ccd6021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2892,7 +3020,7 @@
           "flags" : []
         },
         {
-          "tcId" : 339,
+          "tcId" : 355,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303e021d011e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2900,7 +3028,7 @@
           "flags" : []
         },
         {
-          "tcId" : 340,
+          "tcId" : 356,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303e021d00e1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2908,7 +3036,7 @@
           "flags" : []
         },
         {
-          "tcId" : 341,
+          "tcId" : 357,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d0168dcf02f57b0caef7ddc183bee1ca94ee09c1a02ee4b0200a54dcb93",
@@ -2916,7 +3044,7 @@
           "flags" : []
         },
         {
-          "tcId" : 342,
+          "tcId" : 358,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cf2efc2e24cbedb2fc00c236c5b2d1a430236b59b7880007f2ba2f8d9",
@@ -2924,7 +3052,7 @@
           "flags" : []
         },
         {
-          "tcId" : 343,
+          "tcId" : 359,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dff5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca",
@@ -2932,7 +3060,7 @@
           "flags" : []
         },
         {
-          "tcId" : 344,
+          "tcId" : 360,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c0d103d1db34124d03ff3dc93a4d2e5bcfdc94a64877fff80d45d0727",
@@ -2940,7 +3068,7 @@
           "flags" : []
         },
         {
-          "tcId" : 345,
+          "tcId" : 361,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dfe97230fd0a84f35108223e7c411e356b11f63e5fd11b4fdff5ab2346d",
@@ -2948,7 +3076,7 @@
           "flags" : []
         },
         {
-          "tcId" : 346,
+          "tcId" : 362,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d01ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236",
@@ -2956,7 +3084,7 @@
           "flags" : []
         },
         {
-          "tcId" : 347,
+          "tcId" : 363,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "48656c6c6f",
           "sig" : "303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca",
@@ -2964,170 +3092,10 @@
           "flags" : []
         },
         {
-          "tcId" : 348,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 349,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3006020100020100",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 350,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3006020100020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 351,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "30060201000201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 352,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 353,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 354,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3022020100021d0100000000000000000000000000000000000000000000000000000000",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 355,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 356,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3008020100090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 357,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 358,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3006020101020100",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 359,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 360,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 361,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 362,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 363,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "48656c6c6f",
-          "sig" : "3022020101021d0100000000000000000000000000000000000000000000000000000000",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 364,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3137,7 +3105,7 @@
           "tcId" : 365,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3008020101090380fe01",
+          "sig" : "3006020100020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3147,7 +3115,7 @@
           "tcId" : 366,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "3006020100020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3157,7 +3125,7 @@
           "tcId" : 367,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30060201ff020100",
+          "sig" : "30060201000201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3167,7 +3135,7 @@
           "tcId" : 368,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30060201ff020101",
+          "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3177,7 +3145,7 @@
           "tcId" : 369,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30060201ff0201ff",
+          "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3187,7 +3155,7 @@
           "tcId" : 370,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "3022020100021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3197,7 +3165,7 @@
           "tcId" : 371,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3207,7 +3175,7 @@
           "tcId" : 372,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30220201ff021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "3008020100090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3217,7 +3185,7 @@
           "tcId" : 373,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3227,7 +3195,7 @@
           "tcId" : 374,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "3006020101020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3237,7 +3205,7 @@
           "tcId" : 375,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3247,7 +3215,7 @@
           "tcId" : 376,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3257,7 +3225,7 @@
           "tcId" : 377,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101",
+          "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3267,7 +3235,7 @@
           "tcId" : 378,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff",
+          "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3277,7 +3245,7 @@
           "tcId" : 379,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "3022020101021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3287,7 +3255,7 @@
           "tcId" : 380,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3297,7 +3265,7 @@
           "tcId" : 381,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3307,7 +3275,7 @@
           "tcId" : 382,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3317,7 +3285,7 @@
           "tcId" : 383,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3327,7 +3295,7 @@
           "tcId" : 384,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3337,7 +3305,7 @@
           "tcId" : 385,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3347,7 +3315,7 @@
           "tcId" : 386,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101",
+          "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3357,7 +3325,7 @@
           "tcId" : 387,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff",
+          "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3367,7 +3335,7 @@
           "tcId" : 388,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "30220201ff021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3377,7 +3345,7 @@
           "tcId" : 389,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3387,7 +3355,7 @@
           "tcId" : 390,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3397,7 +3365,7 @@
           "tcId" : 391,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3407,7 +3375,7 @@
           "tcId" : 392,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3417,7 +3385,7 @@
           "tcId" : 393,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3427,7 +3395,7 @@
           "tcId" : 394,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020100",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3437,7 +3405,7 @@
           "tcId" : 395,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020101",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3447,7 +3415,7 @@
           "tcId" : 396,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3022021d01000000000000000000000000000000000000000000000000000000000201ff",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3457,7 +3425,7 @@
           "tcId" : 397,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3467,7 +3435,7 @@
           "tcId" : 398,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3477,7 +3445,7 @@
           "tcId" : 399,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3487,7 +3455,7 @@
           "tcId" : 400,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3497,7 +3465,7 @@
           "tcId" : 401,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3024021d0100000000000000000000000000000000000000000000000000000000090380fe01",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3507,7 +3475,7 @@
           "tcId" : 402,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3517,7 +3485,7 @@
           "tcId" : 403,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3527,7 +3495,7 @@
           "tcId" : 404,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3537,7 +3505,7 @@
           "tcId" : 405,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3547,7 +3515,7 @@
           "tcId" : 406,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3557,7 +3525,7 @@
           "tcId" : 407,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3567,7 +3535,7 @@
           "tcId" : 408,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3577,7 +3545,7 @@
           "tcId" : 409,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3587,7 +3555,7 @@
           "tcId" : 410,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01",
+          "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3597,7 +3565,7 @@
           "tcId" : 411,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3607,7 +3575,7 @@
           "tcId" : 412,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3008090380fe01020100",
+          "sig" : "3022021d01000000000000000000000000000000000000000000000000000000000201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3617,7 +3585,7 @@
           "tcId" : 413,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3008090380fe01020101",
+          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3627,7 +3595,7 @@
           "tcId" : 414,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3008090380fe010201ff",
+          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3637,7 +3605,7 @@
           "tcId" : 415,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3647,7 +3615,7 @@
           "tcId" : 416,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3657,7 +3625,7 @@
           "tcId" : 417,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3024090380fe01021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "3024021d0100000000000000000000000000000000000000000000000000000000090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3667,7 +3635,7 @@
           "tcId" : 418,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3677,7 +3645,7 @@
           "tcId" : 419,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "300a090380fe01090380fe01",
+          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3685,51 +3653,207 @@
         },
         {
           "tcId" : 420,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303b021c6e3d431498bb8911b97308e9e8d05cedd927e1576074f5b407ed47fb021b265cb60340e52374c6b03a99fc1db5d97ffff31d89a7d0847bc57b",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 421,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303d021d00a7b626ca8fe3aadb70736367cbf221099af40e3683aa7f889568d18d021c0ea3c9660f7e84fb794db3ae473e9bafc84e3d1999073b3b444c31ba",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 422,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "48656c6c6f",
-          "sig" : "303d021d0090d3707463fe1fd72514653e54b61e504bf4c32f5ee58928be423c7b021c18f867d66ab6c14e0d4fd144da061cac5e33ee62fc8573b0617eec11",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 423,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 424,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 425,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 426,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 427,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 428,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3008090380fe01020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 429,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3008090380fe01020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 430,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3008090380fe010201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 431,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 432,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 433,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3024090380fe01021d0100000000000000000000000000000000000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 434,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 435,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "48656c6c6f",
+          "sig" : "300a090380fe01090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 436,
           "comment" : "random signature",
           "msg" : "48656c6c6f",
-          "sig" : "303d021c032d0712481f5be239cb0464b89d97fb4ca540089661bf1b930b927d021d00b7b2854013fcc17f3514ba83393a5998c905a90a0c3d0ef3a51562d5",
+          "sig" : "303c021c110c46cbc5925d910898300282f42fcd807945042d6e58926046545f021c2b5065306d6b9249702a07ac157eeead58ecfe3a346070dc6680fa7f",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 424,
+          "tcId" : 437,
           "comment" : "random signature",
           "msg" : "48656c6c6f",
-          "sig" : "303d021d00a11784b27530077677bdb15d78b75f508624099ca06036c2c24f7e20021c3a3c429f5c1411d952f1280c8ef0d582326a39447b934eee17c7b4ea",
+          "sig" : "303d021c35a3c47b570980872fc6e41e6e4aafafac998502c27e091cf7b57a9e021d00b454c66f2d10a8acd7576c77a586e7a4a345d9a4b6a6eaee29a9c0c0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 438,
+          "comment" : "random signature",
+          "msg" : "48656c6c6f",
+          "sig" : "303c021c78f0788152ceee46c2d02427056c25eef9c39a36c49c009bf58e6fa3021c6dfe33aa17a26c7c22f82f0746a958df46543f320869d12a05a01c55",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 439,
+          "comment" : "random signature",
+          "msg" : "48656c6c6f",
+          "sig" : "303c021c718fb31ef94764b29ec90d541b3a89a901d9df1761f1d843a86ac984021c0a27327ab355439eca008feff609fa7323302919aa59f33d3c5be5ac",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 440,
+          "comment" : "random signature",
+          "msg" : "48656c6c6f",
+          "sig" : "303c021c623b29d147c209c348ed14d47754ce33fa156e1b4319890e548d74e5021c36e413d7bafd74bf8f7f752056d62cb540fc0ea873ef7363f749b805",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "DSAVer",
       "key" : {
         "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
         "keySize" : 2048,
@@ -3738,9 +3862,13 @@
         "type" : "DSAPublicKey",
         "y" : "1e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931"
       },
+      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAHnf4QrGuD82ZKdOUFh1B4UYU/3UHqaMfSh8U0i4qYnofTllmJIg/GlsW\njpQlFG8i1fbuKHV0FHFLuZS6ESnwFdbgSnF+35tTCl1cq5TxRjHotM95rrNYzHQY\nRVU4QeisRhYw6ASmL0Nna6Z5SvZomcN3uGnqYSp7n+ZhGqlr5S64tiyXkRe7vMqK\nfsHh/6scffz8cEhwDTrjhYE26JdwHXwpIbXf7x0fiX9Q2WyhtcLtxYytoYkZ41ZC\n8IB+6/oAyZoy9NCVwxiPeO1UcRvgMlxLUyrszWVApWfDJyJUQOoVMZveBlEEeaGG\nF5niW1fezHPANtdaBwK9NzyiMTSZMQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "DSAVer",
       "tests" : [
         {
-          "tcId" : 425,
+          "tcId" : 441,
           "comment" : "Legacy:ASN encoding of r misses leading 0",
           "msg" : "54657374",
           "sig" : "303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3750,7 +3878,7 @@
           ]
         },
         {
-          "tcId" : 426,
+          "tcId" : 442,
           "comment" : "valid",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3758,7 +3886,7 @@
           "flags" : []
         },
         {
-          "tcId" : 427,
+          "tcId" : 443,
           "comment" : "long form encoding of length",
           "msg" : "54657374",
           "sig" : "30813d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3766,7 +3894,7 @@
           "flags" : []
         },
         {
-          "tcId" : 428,
+          "tcId" : 444,
           "comment" : "long form encoding of length",
           "msg" : "54657374",
           "sig" : "303e02811d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3774,7 +3902,7 @@
           "flags" : []
         },
         {
-          "tcId" : 429,
+          "tcId" : 445,
           "comment" : "long form encoding of length",
           "msg" : "54657374",
           "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302811c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3782,7 +3910,7 @@
           "flags" : []
         },
         {
-          "tcId" : 430,
+          "tcId" : 446,
           "comment" : "length contains leading 0",
           "msg" : "54657374",
           "sig" : "3082003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3790,7 +3918,7 @@
           "flags" : []
         },
         {
-          "tcId" : 431,
+          "tcId" : 447,
           "comment" : "length contains leading 0",
           "msg" : "54657374",
           "sig" : "303f0282001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3798,7 +3926,7 @@
           "flags" : []
         },
         {
-          "tcId" : 432,
+          "tcId" : 448,
           "comment" : "length contains leading 0",
           "msg" : "54657374",
           "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930282001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3806,7 +3934,7 @@
           "flags" : []
         },
         {
-          "tcId" : 433,
+          "tcId" : 449,
           "comment" : "wrong length",
           "msg" : "54657374",
           "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3814,7 +3942,7 @@
           "flags" : []
         },
         {
-          "tcId" : 434,
+          "tcId" : 450,
           "comment" : "wrong length",
           "msg" : "54657374",
           "sig" : "303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3822,7 +3950,7 @@
           "flags" : []
         },
         {
-          "tcId" : 435,
+          "tcId" : 451,
           "comment" : "wrong length",
           "msg" : "54657374",
           "sig" : "303d021e009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3830,7 +3958,7 @@
           "flags" : []
         },
         {
-          "tcId" : 436,
+          "tcId" : 452,
           "comment" : "wrong length",
           "msg" : "54657374",
           "sig" : "303d021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3838,7 +3966,7 @@
           "flags" : []
         },
         {
-          "tcId" : 437,
+          "tcId" : 453,
           "comment" : "wrong length",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3846,7 +3974,7 @@
           "flags" : []
         },
         {
-          "tcId" : 438,
+          "tcId" : 454,
           "comment" : "wrong length",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3854,7 +3982,7 @@
           "flags" : []
         },
         {
-          "tcId" : 439,
+          "tcId" : 455,
           "comment" : "uint32 overflow in length",
           "msg" : "54657374",
           "sig" : "3085010000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3862,7 +3990,7 @@
           "flags" : []
         },
         {
-          "tcId" : 440,
+          "tcId" : 456,
           "comment" : "uint32 overflow in length",
           "msg" : "54657374",
           "sig" : "30420285010000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3870,7 +3998,7 @@
           "flags" : []
         },
         {
-          "tcId" : 441,
+          "tcId" : 457,
           "comment" : "uint32 overflow in length",
           "msg" : "54657374",
           "sig" : "3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285010000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3878,7 +4006,7 @@
           "flags" : []
         },
         {
-          "tcId" : 442,
+          "tcId" : 458,
           "comment" : "uint64 overflow in length",
           "msg" : "54657374",
           "sig" : "308901000000000000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3886,7 +4014,7 @@
           "flags" : []
         },
         {
-          "tcId" : 443,
+          "tcId" : 459,
           "comment" : "uint64 overflow in length",
           "msg" : "54657374",
           "sig" : "3046028901000000000000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3894,7 +4022,7 @@
           "flags" : []
         },
         {
-          "tcId" : 444,
+          "tcId" : 460,
           "comment" : "uint64 overflow in length",
           "msg" : "54657374",
           "sig" : "3046021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93028901000000000000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3902,7 +4030,7 @@
           "flags" : []
         },
         {
-          "tcId" : 445,
+          "tcId" : 461,
           "comment" : "length = 2**31 - 1",
           "msg" : "54657374",
           "sig" : "30847fffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3910,7 +4038,7 @@
           "flags" : []
         },
         {
-          "tcId" : 446,
+          "tcId" : 462,
           "comment" : "length = 2**31 - 1",
           "msg" : "54657374",
           "sig" : "304102847fffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3918,7 +4046,7 @@
           "flags" : []
         },
         {
-          "tcId" : 447,
+          "tcId" : 463,
           "comment" : "length = 2**31 - 1",
           "msg" : "54657374",
           "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302847fffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3926,7 +4054,7 @@
           "flags" : []
         },
         {
-          "tcId" : 448,
+          "tcId" : 464,
           "comment" : "length = 2**32 - 1",
           "msg" : "54657374",
           "sig" : "3084ffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3934,7 +4062,7 @@
           "flags" : []
         },
         {
-          "tcId" : 449,
+          "tcId" : 465,
           "comment" : "length = 2**32 - 1",
           "msg" : "54657374",
           "sig" : "30410284ffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3942,7 +4070,7 @@
           "flags" : []
         },
         {
-          "tcId" : 450,
+          "tcId" : 466,
           "comment" : "length = 2**32 - 1",
           "msg" : "54657374",
           "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930284ffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3950,7 +4078,7 @@
           "flags" : []
         },
         {
-          "tcId" : 451,
+          "tcId" : 467,
           "comment" : "length = 2**40 - 1",
           "msg" : "54657374",
           "sig" : "3085ffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3958,7 +4086,7 @@
           "flags" : []
         },
         {
-          "tcId" : 452,
+          "tcId" : 468,
           "comment" : "length = 2**40 - 1",
           "msg" : "54657374",
           "sig" : "30420285ffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3966,7 +4094,7 @@
           "flags" : []
         },
         {
-          "tcId" : 453,
+          "tcId" : 469,
           "comment" : "length = 2**40 - 1",
           "msg" : "54657374",
           "sig" : "3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285ffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3974,7 +4102,7 @@
           "flags" : []
         },
         {
-          "tcId" : 454,
+          "tcId" : 470,
           "comment" : "length = 2**64 - 1",
           "msg" : "54657374",
           "sig" : "3088ffffffffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3982,7 +4110,7 @@
           "flags" : []
         },
         {
-          "tcId" : 455,
+          "tcId" : 471,
           "comment" : "length = 2**64 - 1",
           "msg" : "54657374",
           "sig" : "30450288ffffffffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3990,7 +4118,7 @@
           "flags" : []
         },
         {
-          "tcId" : 456,
+          "tcId" : 472,
           "comment" : "length = 2**64 - 1",
           "msg" : "54657374",
           "sig" : "3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930288ffffffffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -3998,7 +4126,7 @@
           "flags" : []
         },
         {
-          "tcId" : 457,
+          "tcId" : 473,
           "comment" : "incorrect length",
           "msg" : "54657374",
           "sig" : "30ff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4006,7 +4134,7 @@
           "flags" : []
         },
         {
-          "tcId" : 458,
+          "tcId" : 474,
           "comment" : "incorrect length",
           "msg" : "54657374",
           "sig" : "303d02ff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4014,7 +4142,7 @@
           "flags" : []
         },
         {
-          "tcId" : 459,
+          "tcId" : 475,
           "comment" : "incorrect length",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302ff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4022,7 +4150,7 @@
           "flags" : []
         },
         {
-          "tcId" : 460,
+          "tcId" : 476,
           "comment" : "indefinite length without termination",
           "msg" : "54657374",
           "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4030,7 +4158,7 @@
           "flags" : []
         },
         {
-          "tcId" : 461,
+          "tcId" : 477,
           "comment" : "indefinite length without termination",
           "msg" : "54657374",
           "sig" : "303d0280009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4038,7 +4166,7 @@
           "flags" : []
         },
         {
-          "tcId" : 462,
+          "tcId" : 478,
           "comment" : "indefinite length without termination",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302805fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4046,7 +4174,7 @@
           "flags" : []
         },
         {
-          "tcId" : 463,
+          "tcId" : 479,
           "comment" : "removing sequence",
           "msg" : "54657374",
           "sig" : "",
@@ -4054,7 +4182,15 @@
           "flags" : []
         },
         {
-          "tcId" : 464,
+          "tcId" : 480,
+          "comment" : "lonely sequence tag",
+          "msg" : "54657374",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 481,
           "comment" : "appending 0's to sequence",
           "msg" : "54657374",
           "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000",
@@ -4062,7 +4198,7 @@
           "flags" : []
         },
         {
-          "tcId" : 465,
+          "tcId" : 482,
           "comment" : "prepending 0's to sequence",
           "msg" : "54657374",
           "sig" : "303f0000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4070,47 +4206,23 @@
           "flags" : []
         },
         {
-          "tcId" : 466,
-          "comment" : "appending unused 0's",
+          "tcId" : 483,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 467,
-          "comment" : "appending unused 0's",
-          "msg" : "54657374",
-          "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 468,
-          "comment" : "appending null value",
+          "tcId" : 484,
+          "comment" : "appending null value to sequence",
           "msg" : "54657374",
           "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 469,
-          "comment" : "appending null value",
-          "msg" : "54657374",
-          "sig" : "303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 470,
-          "comment" : "appending null value",
-          "msg" : "54657374",
-          "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 471,
+          "tcId" : 485,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "3042498177303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4118,7 +4230,7 @@
           "flags" : []
         },
         {
-          "tcId" : 472,
+          "tcId" : 486,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "30412500303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4126,7 +4238,7 @@
           "flags" : []
         },
         {
-          "tcId" : 473,
+          "tcId" : 487,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef",
@@ -4134,7 +4246,7 @@
           "flags" : []
         },
         {
-          "tcId" : 474,
+          "tcId" : 488,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "30422222498177021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4142,7 +4254,7 @@
           "flags" : []
         },
         {
-          "tcId" : 475,
+          "tcId" : 489,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "304122212500021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4150,7 +4262,7 @@
           "flags" : []
         },
         {
-          "tcId" : 476,
+          "tcId" : 490,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "3045221f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930004deadbeef021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4158,7 +4270,7 @@
           "flags" : []
         },
         {
-          "tcId" : 477,
+          "tcId" : 491,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932221498177021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4166,7 +4278,7 @@
           "flags" : []
         },
         {
-          "tcId" : 478,
+          "tcId" : 492,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9322202500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4174,7 +4286,7 @@
           "flags" : []
         },
         {
-          "tcId" : 479,
+          "tcId" : 493,
           "comment" : "including garbage",
           "msg" : "54657374",
           "sig" : "3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93221e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef",
@@ -4182,7 +4294,7 @@
           "flags" : []
         },
         {
-          "tcId" : 480,
+          "tcId" : 494,
           "comment" : "including undefined tags",
           "msg" : "54657374",
           "sig" : "3045aa00bb00cd00303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4190,7 +4302,7 @@
           "flags" : []
         },
         {
-          "tcId" : 481,
+          "tcId" : 495,
           "comment" : "including undefined tags",
           "msg" : "54657374",
           "sig" : "3043aa02aabb303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4198,7 +4310,7 @@
           "flags" : []
         },
         {
-          "tcId" : 482,
+          "tcId" : 496,
           "comment" : "including undefined tags",
           "msg" : "54657374",
           "sig" : "30452225aa00bb00cd00021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4206,7 +4318,7 @@
           "flags" : []
         },
         {
-          "tcId" : 483,
+          "tcId" : 497,
           "comment" : "including undefined tags",
           "msg" : "54657374",
           "sig" : "30432223aa02aabb021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4214,7 +4326,7 @@
           "flags" : []
         },
         {
-          "tcId" : 484,
+          "tcId" : 498,
           "comment" : "including undefined tags",
           "msg" : "54657374",
           "sig" : "3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932224aa00bb00cd00021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4222,7 +4334,7 @@
           "flags" : []
         },
         {
-          "tcId" : 485,
+          "tcId" : 499,
           "comment" : "including undefined tags",
           "msg" : "54657374",
           "sig" : "3043021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932222aa02aabb021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4230,7 +4342,15 @@
           "flags" : []
         },
         {
-          "tcId" : 486,
+          "tcId" : 500,
+          "comment" : "truncated length of sequence",
+          "msg" : "54657374",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 501,
           "comment" : "using composition with indefinite length",
           "msg" : "54657374",
           "sig" : "3080303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000",
@@ -4238,7 +4358,7 @@
           "flags" : []
         },
         {
-          "tcId" : 487,
+          "tcId" : 502,
           "comment" : "using composition with indefinite length",
           "msg" : "54657374",
           "sig" : "30412280021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4246,7 +4366,7 @@
           "flags" : []
         },
         {
-          "tcId" : 488,
+          "tcId" : 503,
           "comment" : "using composition with indefinite length",
           "msg" : "54657374",
           "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000",
@@ -4254,7 +4374,7 @@
           "flags" : []
         },
         {
-          "tcId" : 489,
+          "tcId" : 504,
           "comment" : "using composition with wrong tag",
           "msg" : "54657374",
           "sig" : "3080313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000",
@@ -4262,7 +4382,7 @@
           "flags" : []
         },
         {
-          "tcId" : 490,
+          "tcId" : 505,
           "comment" : "using composition with wrong tag",
           "msg" : "54657374",
           "sig" : "30412280031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4270,7 +4390,7 @@
           "flags" : []
         },
         {
-          "tcId" : 491,
+          "tcId" : 506,
           "comment" : "using composition with wrong tag",
           "msg" : "54657374",
           "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000",
@@ -4278,7 +4398,7 @@
           "flags" : []
         },
         {
-          "tcId" : 492,
+          "tcId" : 507,
           "comment" : "Replacing sequence with NULL",
           "msg" : "54657374",
           "sig" : "0500",
@@ -4286,127 +4406,47 @@
           "flags" : []
         },
         {
-          "tcId" : 493,
-          "comment" : "changing tag value",
+          "tcId" : 508,
+          "comment" : "changing tag value of sequence",
           "msg" : "54657374",
           "sig" : "2e3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 494,
-          "comment" : "changing tag value",
+          "tcId" : 509,
+          "comment" : "changing tag value of sequence",
           "msg" : "54657374",
           "sig" : "2f3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 495,
-          "comment" : "changing tag value",
+          "tcId" : 510,
+          "comment" : "changing tag value of sequence",
           "msg" : "54657374",
           "sig" : "313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 496,
-          "comment" : "changing tag value",
+          "tcId" : 511,
+          "comment" : "changing tag value of sequence",
           "msg" : "54657374",
           "sig" : "323d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 497,
-          "comment" : "changing tag value",
+          "tcId" : 512,
+          "comment" : "changing tag value of sequence",
           "msg" : "54657374",
           "sig" : "ff3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 498,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 499,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 500,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 501,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 502,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 503,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 504,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 505,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 506,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 507,
-          "comment" : "changing tag value",
-          "msg" : "54657374",
-          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 508,
+          "tcId" : 513,
           "comment" : "dropping value of sequence",
           "msg" : "54657374",
           "sig" : "3000",
@@ -4414,31 +4454,15 @@
           "flags" : []
         },
         {
-          "tcId" : 509,
-          "comment" : "using composition",
+          "tcId" : 514,
+          "comment" : "using composition forsequence",
           "msg" : "54657374",
           "sig" : "3041300102303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 510,
-          "comment" : "using composition",
-          "msg" : "54657374",
-          "sig" : "30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 511,
-          "comment" : "using composition",
-          "msg" : "54657374",
-          "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 512,
+          "tcId" : 515,
           "comment" : "truncate sequence",
           "msg" : "54657374",
           "sig" : "303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1",
@@ -4446,7 +4470,7 @@
           "flags" : []
         },
         {
-          "tcId" : 513,
+          "tcId" : 516,
           "comment" : "truncate sequence",
           "msg" : "54657374",
           "sig" : "303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4454,7 +4478,7 @@
           "flags" : []
         },
         {
-          "tcId" : 514,
+          "tcId" : 517,
           "comment" : "indefinite length",
           "msg" : "54657374",
           "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000",
@@ -4462,7 +4486,7 @@
           "flags" : []
         },
         {
-          "tcId" : 515,
+          "tcId" : 518,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "54657374",
           "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11600",
@@ -4470,7 +4494,7 @@
           "flags" : []
         },
         {
-          "tcId" : 516,
+          "tcId" : 519,
           "comment" : "indefinite length with additional element",
           "msg" : "54657374",
           "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11605000000",
@@ -4478,7 +4502,7 @@
           "flags" : []
         },
         {
-          "tcId" : 517,
+          "tcId" : 520,
           "comment" : "indefinite length with truncated element",
           "msg" : "54657374",
           "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116060811220000",
@@ -4486,7 +4510,7 @@
           "flags" : []
         },
         {
-          "tcId" : 518,
+          "tcId" : 521,
           "comment" : "indefinite length with garbage",
           "msg" : "54657374",
           "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000fe02beef",
@@ -4494,7 +4518,7 @@
           "flags" : []
         },
         {
-          "tcId" : 519,
+          "tcId" : 522,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "54657374",
           "sig" : "3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160002beef",
@@ -4502,7 +4526,7 @@
           "flags" : []
         },
         {
-          "tcId" : 520,
+          "tcId" : 523,
           "comment" : "prepend empty sequence",
           "msg" : "54657374",
           "sig" : "303f3000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4510,7 +4534,7 @@
           "flags" : []
         },
         {
-          "tcId" : 521,
+          "tcId" : 524,
           "comment" : "append empty sequence",
           "msg" : "54657374",
           "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1163000",
@@ -4518,7 +4542,7 @@
           "flags" : []
         },
         {
-          "tcId" : 522,
+          "tcId" : 525,
           "comment" : "sequence of sequence",
           "msg" : "54657374",
           "sig" : "303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4526,7 +4550,7 @@
           "flags" : []
         },
         {
-          "tcId" : 523,
+          "tcId" : 526,
           "comment" : "truncated sequence",
           "msg" : "54657374",
           "sig" : "301f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93",
@@ -4534,7 +4558,7 @@
           "flags" : []
         },
         {
-          "tcId" : 524,
+          "tcId" : 527,
           "comment" : "repeat element in sequence",
           "msg" : "54657374",
           "sig" : "305b021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4542,7 +4566,7 @@
           "flags" : []
         },
         {
-          "tcId" : 525,
+          "tcId" : 528,
           "comment" : "removing integer",
           "msg" : "54657374",
           "sig" : "301e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4550,7 +4574,23 @@
           "flags" : []
         },
         {
-          "tcId" : 526,
+          "tcId" : 529,
+          "comment" : "lonely integer tag",
+          "msg" : "54657374",
+          "sig" : "301f02021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 530,
+          "comment" : "lonely integer tag",
+          "msg" : "54657374",
+          "sig" : "3020021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 531,
           "comment" : "appending 0's to integer",
           "msg" : "54657374",
           "sig" : "303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4558,7 +4598,7 @@
           "flags" : []
         },
         {
-          "tcId" : 527,
+          "tcId" : 532,
           "comment" : "appending 0's to integer",
           "msg" : "54657374",
           "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000",
@@ -4566,7 +4606,7 @@
           "flags" : []
         },
         {
-          "tcId" : 528,
+          "tcId" : 533,
           "comment" : "prepending 0's to integer",
           "msg" : "54657374",
           "sig" : "303f021f0000009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4574,7 +4614,7 @@
           "flags" : []
         },
         {
-          "tcId" : 529,
+          "tcId" : 534,
           "comment" : "prepending 0's to integer",
           "msg" : "54657374",
           "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e00005fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4582,7 +4622,47 @@
           "flags" : []
         },
         {
-          "tcId" : 530,
+          "tcId" : 535,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "54657374",
+          "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 536,
+          "comment" : "appending null value to integer",
+          "msg" : "54657374",
+          "sig" : "303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 537,
+          "comment" : "appending null value to integer",
+          "msg" : "54657374",
+          "sig" : "303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 538,
+          "comment" : "truncated length of integer",
+          "msg" : "54657374",
+          "sig" : "30200281021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 539,
+          "comment" : "truncated length of integer",
+          "msg" : "54657374",
+          "sig" : "3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 540,
           "comment" : "Replacing integer with NULL",
           "msg" : "54657374",
           "sig" : "30200500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4590,7 +4670,7 @@
           "flags" : []
         },
         {
-          "tcId" : 531,
+          "tcId" : 541,
           "comment" : "Replacing integer with NULL",
           "msg" : "54657374",
           "sig" : "3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500",
@@ -4598,7 +4678,87 @@
           "flags" : []
         },
         {
-          "tcId" : 532,
+          "tcId" : 542,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 543,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 544,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 545,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 546,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 547,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 548,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 549,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 550,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 551,
+          "comment" : "changing tag value of integer",
+          "msg" : "54657374",
+          "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 552,
           "comment" : "dropping value of integer",
           "msg" : "54657374",
           "sig" : "30200200021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4606,7 +4766,7 @@
           "flags" : []
         },
         {
-          "tcId" : 533,
+          "tcId" : 553,
           "comment" : "dropping value of integer",
           "msg" : "54657374",
           "sig" : "3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930200",
@@ -4614,7 +4774,23 @@
           "flags" : []
         },
         {
-          "tcId" : 534,
+          "tcId" : 554,
+          "comment" : "using composition forinteger",
+          "msg" : "54657374",
+          "sig" : "30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 555,
+          "comment" : "using composition forinteger",
+          "msg" : "54657374",
+          "sig" : "3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 556,
           "comment" : "modify first byte of integer",
           "msg" : "54657374",
           "sig" : "303d021d029b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4622,7 +4798,7 @@
           "flags" : []
         },
         {
-          "tcId" : 535,
+          "tcId" : 557,
           "comment" : "modify first byte of integer",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5de8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4630,7 +4806,7 @@
           "flags" : []
         },
         {
-          "tcId" : 536,
+          "tcId" : 558,
           "comment" : "modify last byte of integer",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee13021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4638,7 +4814,7 @@
           "flags" : []
         },
         {
-          "tcId" : 537,
+          "tcId" : 559,
           "comment" : "modify last byte of integer",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b196",
@@ -4646,7 +4822,7 @@
           "flags" : []
         },
         {
-          "tcId" : 538,
+          "tcId" : 560,
           "comment" : "truncate integer",
           "msg" : "54657374",
           "sig" : "303c021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4654,7 +4830,7 @@
           "flags" : []
         },
         {
-          "tcId" : 539,
+          "tcId" : 561,
           "comment" : "truncate integer",
           "msg" : "54657374",
           "sig" : "303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4662,7 +4838,7 @@
           "flags" : []
         },
         {
-          "tcId" : 540,
+          "tcId" : 562,
           "comment" : "truncate integer",
           "msg" : "54657374",
           "sig" : "303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1",
@@ -4670,7 +4846,7 @@
           "flags" : []
         },
         {
-          "tcId" : 541,
+          "tcId" : 563,
           "comment" : "truncate integer",
           "msg" : "54657374",
           "sig" : "303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4678,7 +4854,7 @@
           "flags" : []
         },
         {
-          "tcId" : 542,
+          "tcId" : 564,
           "comment" : "leading ff in integer",
           "msg" : "54657374",
           "sig" : "303e021eff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4686,7 +4862,7 @@
           "flags" : []
         },
         {
-          "tcId" : 543,
+          "tcId" : 565,
           "comment" : "leading ff in integer",
           "msg" : "54657374",
           "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4694,7 +4870,7 @@
           "flags" : []
         },
         {
-          "tcId" : 544,
+          "tcId" : 566,
           "comment" : "infinity",
           "msg" : "54657374",
           "sig" : "3021090180021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4702,7 +4878,7 @@
           "flags" : []
         },
         {
-          "tcId" : 545,
+          "tcId" : 567,
           "comment" : "infinity",
           "msg" : "54657374",
           "sig" : "3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93090180",
@@ -4710,7 +4886,23 @@
           "flags" : []
         },
         {
-          "tcId" : 546,
+          "tcId" : 568,
+          "comment" : "replacing integer with zero",
+          "msg" : "54657374",
+          "sig" : "3021020100021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 569,
+          "comment" : "replacing integer with zero",
+          "msg" : "54657374",
+          "sig" : "3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93020100",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 570,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303d021d0156667b48514d3e5d546ca89ff45ada90474113ed248b873430ab57f0021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4718,7 +4910,7 @@
           "flags" : []
         },
         {
-          "tcId" : 547,
+          "tcId" : 571,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303c021ce0794dfb465b4e9d969cb3d0616b4b8468dbaf85aec085b2b7008536021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4726,7 +4918,7 @@
           "flags" : []
         },
         {
-          "tcId" : 548,
+          "tcId" : 572,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303d021dff64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4734,7 +4926,7 @@
           "flags" : []
         },
         {
-          "tcId" : 549,
+          "tcId" : 573,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303c021c1f86b204b9a4b16269634c2f9e94b47b9724507a513f7a4d48ff7aca021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4742,7 +4934,7 @@
           "flags" : []
         },
         {
-          "tcId" : 550,
+          "tcId" : 574,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303d021dfea99984b7aeb2c1a2ab9357600ba5256fb8beec12db7478cbcf54a810021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4750,7 +4942,7 @@
           "flags" : []
         },
         {
-          "tcId" : 551,
+          "tcId" : 575,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303d021d019b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4758,7 +4950,7 @@
           "flags" : []
         },
         {
-          "tcId" : 552,
+          "tcId" : 576,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303c021c64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4766,7 +4958,7 @@
           "flags" : []
         },
         {
-          "tcId" : 553,
+          "tcId" : 577,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d011adeb9ed974f878dc2fc26f4bf86ffda5f7abe6c26ebabf9b8181a73",
@@ -4774,7 +4966,7 @@
           "flags" : []
         },
         {
-          "tcId" : 554,
+          "tcId" : 578,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca4f18ca08c5d97ce052c32252c9770ce81155a04b120aa783e6d47b9",
@@ -4782,7 +4974,7 @@
           "flags" : []
         },
         {
-          "tcId" : 555,
+          "tcId" : 579,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea",
@@ -4790,7 +4982,7 @@
           "flags" : []
         },
         {
-          "tcId" : 556,
+          "tcId" : 580,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5b0e735f73a26831fad3cddad3688f317eeaa5fb4edf5587c192b847",
@@ -4798,7 +4990,7 @@
           "flags" : []
         },
         {
-          "tcId" : 557,
+          "tcId" : 581,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dfee521461268b078723d03d90b40790025a0854193d914540647e7e58d",
@@ -4806,7 +4998,7 @@
           "flags" : []
         },
         {
-          "tcId" : 558,
+          "tcId" : 582,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d015fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116",
@@ -4814,7 +5006,7 @@
           "flags" : []
         },
         {
-          "tcId" : 559,
+          "tcId" : 583,
           "comment" : "Modified r or s, e.g. by adding or subtracting the group order",
           "msg" : "54657374",
           "sig" : "303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d00a017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea",
@@ -4822,7 +5014,7 @@
           "flags" : []
         },
         {
-          "tcId" : 560,
+          "tcId" : 584,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3022020100021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
@@ -4832,7 +5024,7 @@
           ]
         },
         {
-          "tcId" : 561,
+          "tcId" : 585,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3006020100020100",
@@ -4842,7 +5034,7 @@
           ]
         },
         {
-          "tcId" : 562,
+          "tcId" : 586,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3006020100020101",
@@ -4852,7 +5044,7 @@
           ]
         },
         {
-          "tcId" : 563,
+          "tcId" : 587,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "30060201000201ff",
@@ -4862,7 +5054,7 @@
           ]
         },
         {
-          "tcId" : 564,
+          "tcId" : 588,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
@@ -4872,7 +5064,7 @@
           ]
         },
         {
-          "tcId" : 565,
+          "tcId" : 589,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3022020100021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
@@ -4882,7 +5074,7 @@
           ]
         },
         {
-          "tcId" : 566,
+          "tcId" : 590,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3022020100021d0100000000000000000000000000000000000000000000000000000000",
@@ -4892,7 +5084,7 @@
           ]
         },
         {
-          "tcId" : 567,
+          "tcId" : 591,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3082010802010002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
@@ -4902,7 +5094,7 @@
           ]
         },
         {
-          "tcId" : 568,
+          "tcId" : 592,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3008020100090380fe01",
@@ -4912,7 +5104,7 @@
           ]
         },
         {
-          "tcId" : 569,
+          "tcId" : 593,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3022020101021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
@@ -4922,7 +5114,7 @@
           ]
         },
         {
-          "tcId" : 570,
+          "tcId" : 594,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
           "sig" : "3006020101020100",
@@ -4932,250 +5124,10 @@
           ]
         },
         {
-          "tcId" : 571,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 572,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 573,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 574,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 575,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3022020101021d0100000000000000000000000000000000000000000000000000000000",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 576,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 577,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3008020101090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 578,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 579,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30060201ff020100",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 580,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30060201ff020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 581,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30060201ff0201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 582,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 583,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 584,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30220201ff021d0100000000000000000000000000000000000000000000000000000000",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 585,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 586,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30080201ff090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 587,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 588,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 589,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 590,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 591,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 592,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 593,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 594,
-          "comment" : "Signatures with special case values for r and s.",
-          "msg" : "54657374",
-          "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 595,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5185,7 +5137,7 @@
           "tcId" : 596,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5195,7 +5147,7 @@
           "tcId" : 597,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100",
+          "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5205,7 +5157,7 @@
           "tcId" : 598,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101",
+          "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5215,7 +5167,7 @@
           "tcId" : 599,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff",
+          "sig" : "3022020101021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5225,7 +5177,7 @@
           "tcId" : 600,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "3082010802010102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5235,7 +5187,7 @@
           "tcId" : 601,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5245,7 +5197,7 @@
           "tcId" : 602,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "30220201ff021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5255,7 +5207,7 @@
           "tcId" : 603,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5265,7 +5217,7 @@
           "tcId" : 604,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5275,7 +5227,7 @@
           "tcId" : 605,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5285,7 +5237,7 @@
           "tcId" : 606,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020100",
+          "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5295,7 +5247,7 @@
           "tcId" : 607,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020101",
+          "sig" : "30220201ff021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5305,7 +5257,7 @@
           "tcId" : 608,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3022021d01000000000000000000000000000000000000000000000000000000000201ff",
+          "sig" : "30220201ff021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5315,7 +5267,7 @@
           "tcId" : 609,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "308201080201ff02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5325,7 +5277,7 @@
           "tcId" : 610,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5335,7 +5287,7 @@
           "tcId" : 611,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5345,7 +5297,7 @@
           "tcId" : 612,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5355,7 +5307,7 @@
           "tcId" : 613,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3024021d0100000000000000000000000000000000000000000000000000000000090380fe01",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5365,7 +5317,7 @@
           "tcId" : 614,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5375,7 +5327,7 @@
           "tcId" : 615,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5385,7 +5337,7 @@
           "tcId" : 616,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5395,7 +5347,7 @@
           "tcId" : 617,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5405,7 +5357,7 @@
           "tcId" : 618,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5415,7 +5367,7 @@
           "tcId" : 619,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5425,7 +5377,7 @@
           "tcId" : 620,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5435,7 +5387,7 @@
           "tcId" : 621,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5445,7 +5397,7 @@
           "tcId" : 622,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5455,7 +5407,7 @@
           "tcId" : 623,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "sig" : "3022021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5465,7 +5417,7 @@
           "tcId" : 624,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3008090380fe01020100",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5475,7 +5427,7 @@
           "tcId" : 625,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3008090380fe01020101",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5485,7 +5437,7 @@
           "tcId" : 626,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3008090380fe010201ff",
+          "sig" : "303e021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e021d0100000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5495,7 +5447,7 @@
           "tcId" : 627,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "sig" : "30820124021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5505,7 +5457,7 @@
           "tcId" : 628,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "sig" : "3024021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5515,7 +5467,7 @@
           "tcId" : 629,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3024090380fe01021d0100000000000000000000000000000000000000000000000000000000",
+          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5525,7 +5477,7 @@
           "tcId" : 630,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5535,7 +5487,7 @@
           "tcId" : 631,
           "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "300a090380fe01090380fe01",
+          "sig" : "3022021d0100000000000000000000000000000000000000000000000000000000020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -5543,51 +5495,287 @@
         },
         {
           "tcId" : 632,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303e021d009a77c2ecaa462bc2a103083725ad3a829484f471e4aee6202ee86cdb021d009dfbeb5221b3625945dd5e4cc6fee5262ea7894198e8c9da1cd76fb1",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "3022021d01000000000000000000000000000000000000000000000000000000000201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 633,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303d021c29a77fe0e704eccc142f5c56672fed3f44f06941e5232b3f356ed2a9021d00970b5c6e7cb7ecb361c0e1645d54f6e7e9440ef5b5af0bd4e4790656",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 634,
-          "comment" : "random signature",
+          "comment" : "Signatures with special case values for r and s.",
           "msg" : "54657374",
-          "sig" : "303c021c19b3f92f6c22e6906b446bca454f31a59aa7714001cbb29bfbcb9f46021c7b609e7b9ab85c569b44bb48ff6b5f6d4bbca4d96ff2dad3577610b3",
-          "result" : "valid",
-          "flags" : []
+          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
         },
         {
           "tcId" : 635,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "303e021d0100000000000000000000000000000000000000000000000000000000021d0100000000000000000000000000000000000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 636,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "30820124021d010000000000000000000000000000000000000000000000000000000002820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 637,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3024021d0100000000000000000000000000000000000000000000000000000000090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 638,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 639,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 640,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 641,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082010802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd6670201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 642,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 643,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 644,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082012402820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d0100000000000000000000000000000000000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 645,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082020a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd66702820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 646,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082010a02820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 647,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3024090380fe01021dff450969597a870820211805983688387a10cd4dcc451a7f3f432a96a3",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 648,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3008090380fe01020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 649,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3008090380fe01020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 650,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3008090380fe010201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 651,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 652,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3024090380fe01021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 653,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3024090380fe01021d0100000000000000000000000000000000000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 654,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "3082010a090380fe0102820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 655,
+          "comment" : "Signatures with special case values for r and s.",
+          "msg" : "54657374",
+          "sig" : "300a090380fe01090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 656,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "303d021d009f8e58385c8d24feca68f3ed3634118f2a72a6001505ffa3ed0d8d14021c51f3e61627da82df148dc323d03e4d02bf7fd6de64af6cab83ca7a2d",
+          "sig" : "303d021c468ec63c5138a59ee0e13d5eeda49e1eb6f28816ec2e860bfa27ad87021d00ada912bdf76b277764b76965bf4200602352c3f6c9dffa6ed3097617",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 636,
+          "tcId" : 657,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "303c021c77ee5cb172ea5d1f23e28195584c056cc19185e68341ee8cc5af4d45021c17d341bb596d6def1e04c361c780af7491b7bb45f7040085f3df1076",
+          "sig" : "303d021c414d7819aa2ddfc8d3436889bb632a3a02b6f01de7340ce4a12a6986021d009267e2cba847bf3ca40da5ca10583124e0babe47c82653d792c9364e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 658,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "303c021c63b5657aafa1c2cd43a6b4305fde780e60c85ceec711aec9c6766100021c71026c63b1d0606e1af569bcc7a7d24cfb418fc1374b573f39f57cc3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 659,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "303c021c6adfaed107afe561fb482b24f269964acc8bed4513d1b07427f647ec021c7efd1aa3be3a3ffbac73fd6cabf13d4b1d3cab929c7379cf1187601b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 660,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "303c021c2fa2e37b87a03524313862831a45182725cf986bd49fabe166d40e75021c0a92f633fdcc8fb600c455de09fd4340a73a8601c709b344c9269e48",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtjCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBhAACgYBxPp+BCKanB1SFo3zho7BAzOVjoERW\nFP4Jn7G//Wiss2+eBNitF6zjwTbaZvcw63/xiTZCT/pOWuWx59rDddjRZGlyVLi3\n6Ej1552iXHnfXAcn1do0mEBc0PTkbRNsNR1wPMS/DT9PuxZTkoiGhJZKk60w+heU\niMrUpmVd1PqXVA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-1",
-      "type" : "DSAVer",
       "key" : {
         "g" : "0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d",
         "keySize" : 1024,
@@ -5596,9 +5784,13 @@
         "type" : "DSAPublicKey",
         "y" : "713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754"
       },
+      "keyDer" : "308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtjCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBhAACgYBxPp+BCKanB1SFo3zho7BAzOVjoERW\nFP4Jn7G//Wiss2+eBNitF6zjwTbaZvcw63/xiTZCT/pOWuWx59rDddjRZGlyVLi3\n6Ej1552iXHnfXAcn1do0mEBc0PTkbRNsNR1wPMS/DT9PuxZTkoiGhJZKk60w+heU\niMrUpmVd1PqXVA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-1",
+      "type" : "DSAVer",
       "tests" : [
         {
-          "tcId" : 637,
+          "tcId" : 661,
           "comment" : "r,s = 1,1",
           "msg" : "54657374",
           "sig" : "3006020101020101",
@@ -5606,7 +5798,7 @@
           "flags" : []
         },
         {
-          "tcId" : 638,
+          "tcId" : 662,
           "comment" : "r,s = 1,5",
           "msg" : "54657374",
           "sig" : "3006020101020105",
@@ -5614,7 +5806,7 @@
           "flags" : []
         },
         {
-          "tcId" : 639,
+          "tcId" : 663,
           "comment" : "u2 small",
           "msg" : "54657374",
           "sig" : "3019020101021425023e8b9ba9ba72f481e90cb8ae67517e641b8a",
@@ -5622,7 +5814,7 @@
           "flags" : []
         },
         {
-          "tcId" : 640,
+          "tcId" : 664,
           "comment" : "s == q-1",
           "msg" : "54657374",
           "sig" : "301a020101021500b90b38ba0a50a43ec6898d3f9b68049777f489b0",
@@ -5632,10 +5824,6 @@
       ]
     },
     {
-      "keyDer" : "308201b43082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818200027f61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtDCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBggACf2H+W2H21VWtp9wOusNFn8zY37rRi6lN\nvqUkN81/tDHfQE1HOMWU5yCm14YnWs0CJZymE6CKLeEY0BUNLMrmAhAqygzQNmal\nP2fAuZQ99QRsFbrq9Jap8Bi3yTneFQnecc5H3W9ExX9OAeVpvkaTJ3MZDBVEcM77\n0fSvgtKOSzE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-1",
-      "type" : "DSAVer",
       "key" : {
         "g" : "0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d",
         "keySize" : 1024,
@@ -5644,9 +5832,13 @@
         "type" : "DSAPublicKey",
         "y" : "61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31"
       },
+      "keyDer" : "308201b43082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818200027f61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBtDCCASsGByqGSM44BAEwggEeAoGBALNM6cHngpTTJYRzhCAF0qSMjFZs/Kj4\nTAYG8lKbWabTiq4HG1O7IWfqpPw7Af4Xbnh+SBtgN6rGLLw9CJeZU2qGn6jN/qHo\nsf0tHNOjA1CFmizWs+wvm/u2i7EbS74q2qGNZKk2OVQ65eFik+MRwM+MjW4YDfBd\nCML9LZPVcHUfAhUAuQs4ugpQpD7GiY0/m2gEl3f0ibECgYAINaqMNYu/AaGEbRIG\nMj+r5Aiw6YeJ/MYjnaFNSz+Gwnao9IqoWllQfmIK0bx0Xw8cv2PsmMIpwmENd8Y0\n0WQuQENUdxZVstVmL3pFInF4zjQwrw9rO7lLUvf1Hpe61lmxugaE4gi+Ykwo2C+x\nFi8Y3Z3ORSFkYWVM8zdGJNFajQOBggACf2H+W2H21VWtp9wOusNFn8zY37rRi6lN\nvqUkN81/tDHfQE1HOMWU5yCm14YnWs0CJZymE6CKLeEY0BUNLMrmAhAqygzQNmal\nP2fAuZQ99QRsFbrq9Jap8Bi3yTneFQnecc5H3W9ExX9OAeVpvkaTJ3MZDBVEcM77\n0fSvgtKOSzE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-1",
+      "type" : "DSAVer",
       "tests" : [
         {
-          "tcId" : 641,
+          "tcId" : 665,
           "comment" : "s == 1",
           "msg" : "54657374",
           "sig" : "3019021462ba827381396dc44facc66c344f91788f11c6fc020101",
@@ -5656,10 +5848,6 @@
       ]
     },
     {
-      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAaXi2jTEzTuW8ez6Rq2wjNvq0XGSDa9kstTN7c0256ORPiJ+IaYKfT+F0\n3JNEwWSgulsBJiWbqKQ/YHVk+kodDUlkXh1YhqH8SF4v6R5W6uMw2gXhews9AYwp\nAoWySbxAnnr1QwD8fD6zSRFFfiNxkxrZMC6EUM2V3z1WHqCtlNCi6ryv4N1nKPso\nACm1Vtn0+nwPRqeAQymTZwjpfhH8IrKlB2GokMZbX+oqGkFy9r6eqmDnOM32DAFR\nQuLlYrtioR6BDM3wv2MzBzgvLZqXabEV382rS6yuc/7KKJ2yCdzjTL4Sbox/nZ5P\nj3ETSaYI1We0jAUOnfsyvBhOyqTw8A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "DSAVer",
       "key" : {
         "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
         "keySize" : 2048,
@@ -5668,9 +5856,13 @@
         "type" : "DSAPublicKey",
         "y" : "6978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0"
       },
+      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAaXi2jTEzTuW8ez6Rq2wjNvq0XGSDa9kstTN7c0256ORPiJ+IaYKfT+F0\n3JNEwWSgulsBJiWbqKQ/YHVk+kodDUlkXh1YhqH8SF4v6R5W6uMw2gXhews9AYwp\nAoWySbxAnnr1QwD8fD6zSRFFfiNxkxrZMC6EUM2V3z1WHqCtlNCi6ryv4N1nKPso\nACm1Vtn0+nwPRqeAQymTZwjpfhH8IrKlB2GokMZbX+oqGkFy9r6eqmDnOM32DAFR\nQuLlYrtioR6BDM3wv2MzBzgvLZqXabEV382rS6yuc/7KKJ2yCdzjTL4Sbox/nZ5P\nj3ETSaYI1We0jAUOnfsyvBhOyqTw8A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "DSAVer",
       "tests" : [
         {
-          "tcId" : 642,
+          "tcId" : 666,
           "comment" : "r,s = 1,1",
           "msg" : "54657374",
           "sig" : "3006020101020101",
@@ -5678,7 +5870,7 @@
           "flags" : []
         },
         {
-          "tcId" : 643,
+          "tcId" : 667,
           "comment" : "r,s = 1,5",
           "msg" : "54657374",
           "sig" : "3006020101020105",
@@ -5686,7 +5878,7 @@
           "flags" : []
         },
         {
-          "tcId" : 644,
+          "tcId" : 668,
           "comment" : "u2 small",
           "msg" : "54657374",
           "sig" : "3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1",
@@ -5694,7 +5886,7 @@
           "flags" : []
         },
         {
-          "tcId" : 645,
+          "tcId" : 669,
           "comment" : "s == q-1",
           "msg" : "54657374",
           "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
@@ -5704,10 +5896,6 @@
       ]
     },
     {
-      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAKmSVO95AeJ+A7YInGSKGEVuS0J1d6WkE6APsTs+9c+DwjoKRD+vxn6PN\nxV/yDrlw2ccS9EeFwP1ZLBf7Q/RiU1ekrIoaYo9yBArlNgg5x8H2shTnoVUw/iKI\ncTnqDwWp2vnZW9a3Rnq/kQfJ++MeNjMCdu7Mzj1ZY1IG1gyiVvmvYGJ2JrBZSYS1\noHXELEIGf6jDMPJYvPFF3yepfajuQZtU46spbHzp72oBEzibPKx4hbRLNyLSfK1g\n5OWpJKHtA0LOqemSVva8EwjUrywK+TebHPIRnOETwIVwX1UZzMG6hWKiI2GQ0/DA\noQ8BRmrXmkgSfChDP2s04kpTmvYPPQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "DSAVer",
       "key" : {
         "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
         "keySize" : 2048,
@@ -5716,9 +5904,13 @@
         "type" : "DSAPublicKey",
         "y" : "2a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d"
       },
+      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAKmSVO95AeJ+A7YInGSKGEVuS0J1d6WkE6APsTs+9c+DwjoKRD+vxn6PN\nxV/yDrlw2ccS9EeFwP1ZLBf7Q/RiU1ekrIoaYo9yBArlNgg5x8H2shTnoVUw/iKI\ncTnqDwWp2vnZW9a3Rnq/kQfJ++MeNjMCdu7Mzj1ZY1IG1gyiVvmvYGJ2JrBZSYS1\noHXELEIGf6jDMPJYvPFF3yepfajuQZtU46spbHzp72oBEzibPKx4hbRLNyLSfK1g\n5OWpJKHtA0LOqemSVva8EwjUrywK+TebHPIRnOETwIVwX1UZzMG6hWKiI2GQ0/DA\noQ8BRmrXmkgSfChDP2s04kpTmvYPPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "DSAVer",
       "tests" : [
         {
-          "tcId" : 646,
+          "tcId" : 670,
           "comment" : "s == 1",
           "msg" : "54657374",
           "sig" : "3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101",
@@ -5728,10 +5920,6 @@
       ]
     },
     {
-      "keyDer" : "308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQzCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBgACggEBAISBd7m8/xNsUsrvKkqby2Tb77rGnhiq5Jlpa17HsnDpBHi0E7uK2Pju\n6K0yEH17pJLDawB/nvMOvh7khNDqfLD/SvqoxwWtXhZXaXVBTxvA7+0lwhkKPtAG\ni/+h8Dv28hBWybs4M1CFGZfLyJz4cps5RSfwirk86bNgqgVaRxd+gqTOb+dsjf/d\nvW7iD6CNAIXTmD7dLI2aNmrSJFtO0o1nVHafXzp5i+S+Gc9Gk5mGXUZOP2QEOLzg\nPJYsI0TQ1VBUKu09tVwVODO+pEtBRoeLo0fIYUQ2xqrE/Rpg8lxis/hpp9Vcq0tx\nItXpr0Mio/yCFPpV3B7gIUWfssRZWCc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "DSAVer",
       "key" : {
         "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
         "keySize" : 2048,
@@ -5740,9 +5928,13 @@
         "type" : "DSAPublicKey",
         "y" : "0848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827"
       },
+      "keyDer" : "308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQzCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBgACggEBAISBd7m8/xNsUsrvKkqby2Tb77rGnhiq5Jlpa17HsnDpBHi0E7uK2Pju\n6K0yEH17pJLDawB/nvMOvh7khNDqfLD/SvqoxwWtXhZXaXVBTxvA7+0lwhkKPtAG\ni/+h8Dv28hBWybs4M1CFGZfLyJz4cps5RSfwirk86bNgqgVaRxd+gqTOb+dsjf/d\nvW7iD6CNAIXTmD7dLI2aNmrSJFtO0o1nVHafXzp5i+S+Gc9Gk5mGXUZOP2QEOLzg\nPJYsI0TQ1VBUKu09tVwVODO+pEtBRoeLo0fIYUQ2xqrE/Rpg8lxis/hpp9Vcq0tx\nItXpr0Mio/yCFPpV3B7gIUWfssRZWCc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "DSAVer",
       "tests" : [
         {
-          "tcId" : 647,
+          "tcId" : 671,
           "comment" : "r,s = 1,1",
           "msg" : "54657374",
           "sig" : "3006020101020101",
@@ -5750,7 +5942,7 @@
           "flags" : []
         },
         {
-          "tcId" : 648,
+          "tcId" : 672,
           "comment" : "r,s = 1,5",
           "msg" : "54657374",
           "sig" : "3006020101020105",
@@ -5758,7 +5950,7 @@
           "flags" : []
         },
         {
-          "tcId" : 649,
+          "tcId" : 673,
           "comment" : "u2 small",
           "msg" : "54657374",
           "sig" : "3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1",
@@ -5766,7 +5958,7 @@
           "flags" : []
         },
         {
-          "tcId" : 650,
+          "tcId" : 674,
           "comment" : "s == q-1",
           "msg" : "54657374",
           "sig" : "3022020101021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695c",
@@ -5776,10 +5968,6 @@
       ]
     },
     {
-      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAYpN0kpU34sOwnzDYgVVMpzV/ieJRBUdNu84G5AAe/WFIGkV6oNfX5WXp\nC3o9nGiABftAS/O20+YeQCMAvu58WM7q8AsRLd/u88vCAguiIG3U7wVj1/pSwyG0\n7mKA64WFBB0DytuSRN/yHckEF7vm8GuRwspkhEN8OEaSaxjuIidQgbYHJueiaimp\nR+q9A17eg9ZZJ7POsNTYwvNOlKPeD1fk6pmvBZZXUp9pVLGsm7RITKdrQIPhz0Jk\n7/AoZiE3dh5NfzWx7aPPUWhW8lVThA5Drjg3nSNLBsiRgiEyCB0Z8NXbnyO0u9X1\nZn3Xjz3X8f5fJcpIUV9jNc4cn9CmSw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "DSAVer",
       "key" : {
         "g" : "16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde",
         "keySize" : 2048,
@@ -5788,9 +5976,13 @@
         "type" : "DSAPublicKey",
         "y" : "629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b"
       },
+      "keyDer" : "308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIDQjCCAjUGByqGSM44BAEwggIoAoIBAQCPeTXZuarpv6vtiHrPSVG28y7Fnjuv\nNxjo6sSWHz79NgbnQ1GpxBgzObgJ58KuHFObp0dbhdARrbi0eYd1SYRpXKwOjxSz\nNggooi/6JxEKPWKpk0U0CaD+aWxGWPhL3SCBnDcJoBBXsZWtzQAjPbpUhLYpH51k\njviDRIZ3l5zsBLQ0pqwudemYXeI9sCkvwRGMn/qdgYHnM423krcw17njSVkvaAmY\nchU5Feo9a4tGU8YzRY+AOzKkwuDycpAlbk4/ijsIOKHEUOThjBopo33fXqFD3ktm\n/wSQPtXPFiPhWNSHxgjpfyEc2B3KI8tuOAdl+CLjQr5ITAV2OTlgHNZnAh0AuvaW\npoV499/e5/pnyXfHhe8ysjO65YDAvNVpXQKCAQAWplxYIEhQcE51AqOXVwQNNNo6\nNHjBVNTkpcAtJC7gT5bmHkvQkEq9rI837rHgnzGC0jyQQ8tkL4gAQWDt+coJsyB2\np5wypifyRz6Rh5uixOdEvSCBVEy1W4AsNo0fqD7UielOD6BojjJCilx4xHjGjQUn\ntxyaOrsLC+EsRGiWOefTznTbEBplqiuH9kxoJts+xy9LVZmDS7TtsC98kOmkltOl\nXVNb6/xF1PYZ9j897buHOSXC8iTgdzEpbaiH7B5HSPh++1/et1SEMWsiMt7lU92v\nAhErDR8C2jCXMiT+J67ai51LKSLZuovjntnhA6Y8UoELxoi34u1DFuHvF9veA4IB\nBQACggEAYpN0kpU34sOwnzDYgVVMpzV/ieJRBUdNu84G5AAe/WFIGkV6oNfX5WXp\nC3o9nGiABftAS/O20+YeQCMAvu58WM7q8AsRLd/u88vCAguiIG3U7wVj1/pSwyG0\n7mKA64WFBB0DytuSRN/yHckEF7vm8GuRwspkhEN8OEaSaxjuIidQgbYHJueiaimp\nR+q9A17eg9ZZJ7POsNTYwvNOlKPeD1fk6pmvBZZXUp9pVLGsm7RITKdrQIPhz0Jk\n7/AoZiE3dh5NfzWx7aPPUWhW8lVThA5Drjg3nSNLBsiRgiEyCB0Z8NXbnyO0u9X1\nZn3Xjz3X8f5fJcpIUV9jNc4cn9CmSw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "DSAVer",
       "tests" : [
         {
-          "tcId" : 651,
+          "tcId" : 675,
           "comment" : "s == 1",
           "msg" : "54657374",
           "sig" : "3021021c5a252f4fc55618747fd94b13c9bee62bb958d85777cb07dd90710d24020101",
diff --git a/src/third_party/wycheproof/dsa_test.txt b/src/third_party/wycheproof_testvectors/dsa_test.txt
similarity index 92%
rename from src/third_party/wycheproof/dsa_test.txt
rename to src/third_party/wycheproof_testvectors/dsa_test.txt
index 626b060..bc885c0 100644
--- a/src/third_party/wycheproof/dsa_test.txt
+++ b/src/third_party/wycheproof_testvectors/dsa_test.txt
@@ -2,7 +2,7 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: DSA
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]
 [key.keySize = 1024]
@@ -13,6 +13,7 @@
 [keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180173931dda31eff32f24b383091bf77eacdc6efd557624911d8e9b9debf0f256d0cffac5567b33f6eaae9d3275bbed7ef9f5f94c4003c959e49a1ed3f58c31b21baccc0ed8840b46145f121b8906d072129bae01f071947997e8ef760d2d9ea21d08a5eb7e89390b21a85664713c549e25feda6e9e6c31970866bdfbc8fa981f6]
 [sha = SHA-1]
 
+# tcId = 1
 # Legacy:ASN encoding of r misses leading 0
 msg = 313233343030
 result = acceptable
@@ -23,676 +24,859 @@
 # generated invalid DSA signatures. Some providers, accept such legacy
 # signatures for compatibility.
 
+# tcId = 2
 # valid
 msg = 313233343030
 result = valid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 3
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 30812d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 4
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 302e02811500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 5
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a028114496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 6
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 3082002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 7
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 302f0282001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 8
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02820014496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 9
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 10
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 11
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 302d021600aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 12
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 302d021400aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 13
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 14
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 15
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3085010000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 16
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30320285010000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 17
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a02850100000014496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 18
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 308901000000000000002d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 19
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3036028901000000000000001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 20
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3036021500aa6a258fbf7d90e15614676d377df8b10e38db4a0289010000000000000014496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 21
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30847fffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 22
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 303102847fffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 23
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a02847fffffff496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 24
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3084ffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 25
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 30310284ffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 26
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a0284ffffffff496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 27
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3085ffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 28
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 30320285ffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 29
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a0285ffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 30
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3088ffffffffffffffff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 31
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 30350288ffffffffffffffff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 32
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a0288ffffffffffffffff496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 33
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30ff021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 34
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 302d02ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 35
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02ff496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 36
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 37
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 302d028000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 38
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0280496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 39
 # removing sequence
 msg = 313233343030
 result = invalid
 sig = 
 
+# tcId = 40
+# lonely sequence tag
+msg = 313233343030
+result = invalid
+sig = 30
+
+# tcId = 41
 # appending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000
 
+# tcId = 42
 # prepending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 302f0000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
-# appending unused 0's
+# tcId = 43
+# appending unused 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000
 
-# appending unused 0's
-msg = 313233343030
-result = invalid
-sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# appending null value
+# tcId = 44
+# appending null value to sequence
 msg = 313233343030
 result = invalid
 sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0500
 
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500
-
+# tcId = 45
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3032498177302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 46
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30312500302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 47
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef
 
+# tcId = 48
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3032221a498177021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 49
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 303122192500021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 50
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30352217021500aa6a258fbf7d90e15614676d377df8b10e38db4a0004deadbeef0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 51
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3032021500aa6a258fbf7d90e15614676d377df8b10e38db4a22194981770214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 52
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221825000214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 53
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a22160214496d5220b5f67d3532d1f991203bc3523b964c3b0004deadbeef
 
+# tcId = 54
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3035aa00bb00cd00302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 55
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3033aa02aabb302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 56
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3035221daa00bb00cd00021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 57
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3033221baa02aabb021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 58
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3035021500aa6a258fbf7d90e15614676d377df8b10e38db4a221caa00bb00cd000214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 59
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3033021500aa6a258fbf7d90e15614676d377df8b10e38db4a221aaa02aabb0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 60
+# truncated length of sequence
+msg = 313233343030
+result = invalid
+sig = 3081
+
+# tcId = 61
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000
 
+# tcId = 62
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 30312280021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 63
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800214496d5220b5f67d3532d1f991203bc3523b964c3b0000
 
+# tcId = 64
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3080312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000
 
+# tcId = 65
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 30312280031500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 66
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a22800314496d5220b5f67d3532d1f991203bc3523b964c3b0000
 
+# tcId = 67
 # Replacing sequence with NULL
 msg = 313233343030
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 68
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2e2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
-# changing tag value
+# tcId = 69
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2f2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
-# changing tag value
+# tcId = 70
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 312d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
-# changing tag value
+# tcId = 71
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 322d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
-# changing tag value
+# tcId = 72
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = ff2d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# changing tag value
-msg = 313233343030
-result = invalid
-sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b
-
+# tcId = 73
 # dropping value of sequence
 msg = 313233343030
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 74
+# using composition forsequence
 msg = 313233343030
 result = invalid
 sig = 3031300102302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
-# using composition
-msg = 313233343030
-result = invalid
-sig = 303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
-
-# using composition
-msg = 313233343030
-result = invalid
-sig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b
-
+# tcId = 75
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c
 
+# tcId = 76
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 302c1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 77
 # indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000
 
+# tcId = 78
 # indefinite length with truncated delimiter
 msg = 313233343030
 result = invalid
 sig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b00
 
+# tcId = 79
 # indefinite length with additional element
 msg = 313233343030
 result = invalid
 sig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b05000000
 
+# tcId = 80
 # indefinite length with truncated element
 msg = 313233343030
 result = invalid
 sig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b060811220000
 
+# tcId = 81
 # indefinite length with garbage
 msg = 313233343030
 result = invalid
 sig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0000fe02beef
 
+# tcId = 82
 # indefinite length with nonempty EOC
 msg = 313233343030
 result = invalid
 sig = 3080021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0002beef
 
+# tcId = 83
 # prepend empty sequence
 msg = 313233343030
 result = invalid
 sig = 302f3000021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 84
 # append empty sequence
 msg = 313233343030
 result = invalid
 sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b3000
 
+# tcId = 85
 # sequence of sequence
 msg = 313233343030
 result = invalid
 sig = 302f302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 86
 # truncated sequence
 msg = 313233343030
 result = invalid
 sig = 3017021500aa6a258fbf7d90e15614676d377df8b10e38db4a
 
+# tcId = 87
 # repeat element in sequence
 msg = 313233343030
 result = invalid
 sig = 3043021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 88
 # removing integer
 msg = 313233343030
 result = invalid
 sig = 30160214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 89
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 3017020214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 90
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 3018021500aa6a258fbf7d90e15614676d377df8b10e38db4a02
+
+# tcId = 91
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 92
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0000
 
+# tcId = 93
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 302f0217000000aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 94
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a02160000496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 95
+# appending unused 0's to integer
+msg = 313233343030
+result = invalid
+sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a00000214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 96
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 302f021700aa6a258fbf7d90e15614676d377df8b10e38db4a05000214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 97
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 302f021500aa6a258fbf7d90e15614676d377df8b10e38db4a0216496d5220b5f67d3532d1f991203bc3523b964c3b0500
+
+# tcId = 98
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 301802810214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 99
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0281
+
+# tcId = 100
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 301805000214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 101
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0500
 
+# tcId = 102
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d001500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 103
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d011500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 104
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d031500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 105
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d041500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 106
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302dff1500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 107
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0014496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 108
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0114496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 109
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0314496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 110
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0414496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 111
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4aff14496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 112
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 301802000214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 113
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 3019021500aa6a258fbf7d90e15614676d377df8b10e38db4a0200
 
+# tcId = 114
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 303122190201000214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 115
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 3031021500aa6a258fbf7d90e15614676d377df8b10e38db4a221802014902136d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 116
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 302d021502aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 117
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02144b6d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 118
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38dbca0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 119
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964cbb
 
+# tcId = 120
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 302c021400aa6a258fbf7d90e15614676d377df8b10e38db0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 121
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 302c0214aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 122
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a0213496d5220b5f67d3532d1f991203bc3523b964c
 
+# tcId = 123
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 302c021500aa6a258fbf7d90e15614676d377df8b10e38db4a02136d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 124
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 302e0216ff00aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 125
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215ff496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 126
 # infinity
 msg = 313233343030
 result = invalid
 sig = 30190901800214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 127
 # infinity
 msg = 313233343030
 result = invalid
 sig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a090180
 
+# tcId = 128
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 30190201000214496d5220b5f67d3532d1f991203bc3523b964c3b
+
+# tcId = 129
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 301a021500aa6a258fbf7d90e15614676d377df8b10e38db4a020100
+
+# tcId = 130
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302d02150163755e49c9ce35201c9df4acd2e5fd48862d64fb0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 131
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302c0214f15eecd5b52ceca28f8ada2d9c15f419964451990214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 132
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302d0215ff5595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 133
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302c02140ea1132a4ad3135d707525d263ea0be669bbae670214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 134
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302d0215fe9c8aa1b63631cadfe3620b532d1a02b779d29b050214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 135
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302d021501aa6a258fbf7d90e15614676d377df8b10e38db4a0214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 136
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302c02145595da7040826f1ea9eb9892c882074ef1c724b60214496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 137
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a02150102788adac0472173f95b86d0bba3c7e9b38ad5ec
 
+# tcId = 138
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a021490621966aba5d8f66c486c5184d3bebac3a1c28a
 
+# tcId = 139
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a0214b692addf4a0982cacd2e066edfc43cadc469b3c5
 
+# tcId = 140
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302d021500aa6a258fbf7d90e15614676d377df8b10e38db4a02146f9de699545a270993b793ae7b2c41453c5e3d76
 
+# tcId = 141
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a0215fefd8775253fb8de8c06a4792f445c38164c752a14
 
+# tcId = 142
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021501496d5220b5f67d3532d1f991203bc3523b964c3b
 
+# tcId = 143
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 313233343030
 result = invalid
 sig = 302e021500aa6a258fbf7d90e15614676d377df8b10e38db4a021500b692addf4a0982cacd2e066edfc43cadc469b3c5
 
+# tcId = 144
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -701,6 +885,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 145
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -709,6 +894,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 146
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -717,6 +903,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 147
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -725,6 +912,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 148
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -733,6 +921,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 149
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -741,6 +930,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 150
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -749,6 +939,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 151
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -757,6 +948,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 152
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -765,6 +957,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 153
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -773,6 +966,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 154
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -781,6 +975,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 155
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -789,6 +984,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 156
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -797,6 +993,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 157
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -805,6 +1002,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 158
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -813,6 +1011,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 159
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -821,6 +1020,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 160
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -829,6 +1029,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 161
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -837,6 +1038,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 162
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -845,6 +1047,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 163
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -853,6 +1056,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 164
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -861,6 +1065,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 165
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -869,6 +1074,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 166
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -877,6 +1083,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 167
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -885,6 +1092,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 168
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -893,6 +1101,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 169
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -901,6 +1110,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 170
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -909,6 +1119,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 171
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -917,6 +1128,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 172
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -925,6 +1137,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 173
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -933,6 +1146,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 174
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -941,6 +1155,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 175
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -949,6 +1164,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 176
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -957,6 +1173,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 177
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -965,6 +1182,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 178
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -973,6 +1191,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 179
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -981,6 +1200,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 180
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -989,6 +1209,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 181
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -997,6 +1218,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 182
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1005,6 +1227,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 183
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1013,6 +1236,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 184
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1021,6 +1245,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 185
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1029,6 +1254,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 186
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1037,6 +1263,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 187
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1045,6 +1272,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 188
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1053,6 +1281,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 189
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1061,6 +1290,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 190
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1069,6 +1299,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 191
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1077,6 +1308,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 192
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1085,6 +1317,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 193
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1093,6 +1326,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 194
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1101,6 +1335,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 195
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1109,6 +1344,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 196
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1117,6 +1353,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 197
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1125,6 +1362,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 198
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1133,6 +1371,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 199
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1141,6 +1380,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 200
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1149,6 +1389,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 201
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1157,6 +1398,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 202
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1165,6 +1407,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 203
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1173,6 +1416,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 204
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1181,6 +1425,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 205
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1189,6 +1434,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 206
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1197,6 +1443,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 207
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1205,6 +1452,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 208
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1213,6 +1461,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 209
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1221,6 +1470,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 210
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1229,6 +1479,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 211
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1237,6 +1488,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 212
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1245,6 +1497,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 213
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1253,6 +1506,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 214
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1261,6 +1515,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 215
 # Signatures with special case values for r and s.
 msg = 313233343030
 result = invalid
@@ -1269,30 +1524,35 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 216
 # random signature
 msg = 313233343030
 result = valid
-sig = 302c02140e23ff8588683fd9455d185090a9d9199f646bcb0214631ced1a4f6a308bfee3b999f1c2bbe7dcc922dc
+sig = 302d0215009b593d0b844c5764450021c76be42ef258307d7502144882a4f2fb661152005b51ff748accc48627ec9c
 
+# tcId = 217
 # random signature
 msg = 313233343030
 result = valid
-sig = 302c0214313eedf8d478f95321cfdeb5fe439ef8716a60cb021407998d19305abe635be5af240bd7e0ec7216a5ce
+sig = 302c021448c2ffd85768bdfc322cac7a31a0c6868c016ee702143992d7babfa17a62021d8b53b428e4250f527c88
 
+# tcId = 218
 # random signature
 msg = 313233343030
 result = valid
-sig = 302d02150092bda94e3d769675132d9d6a17944808899f8c42021416c7bb874e2e59219cb0d52b4fd470fcc8dcdff3
+sig = 302c021441ea8ab50bedd928a763afeed583a203690fea960214040be8046a04c094eece38282de9e11334f264ac
 
+# tcId = 219
 # random signature
 msg = 313233343030
 result = valid
-sig = 302d021500976b29bc6023065b0ee1b5362a4cd2f5529a43c902141db2ad4c3e92cf2bc9267f926ac2e71dacfa5928
+sig = 302d0215008fc19a465d9e20de35282f4169ff56305987da5e02146db7cdd227c47f3c8ee08da16917abc82d822a0b
 
+# tcId = 220
 # random signature
 msg = 313233343030
 result = valid
-sig = 302c02144afbd1a5d8fb9d117c7efd3e7b3564f37305a80302144e13c38000458a528ff2b667265740e36438bd99
+sig = 302c0214037cabe69d6b23c84bfce6b697300ddc18ab1854021478730f6bd169400a339d358d6dbf6ed16a6cb017
 
 [key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]
 [key.keySize = 2048]
@@ -1303,6 +1563,7 @@
 [keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]
 [sha = SHA-224]
 
+# tcId = 221
 # Legacy:ASN encoding of s misses leading 0
 msg = 48656c6c6f
 result = acceptable
@@ -1313,676 +1574,859 @@
 # generated invalid DSA signatures. Some providers, accept such legacy
 # signatures for compatibility.
 
+# tcId = 222
 # valid
 msg = 48656c6c6f
 result = valid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 223
 # long form encoding of length
 msg = 48656c6c6f
 result = invalid
 sig = 30813d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 224
 # long form encoding of length
 msg = 48656c6c6f
 result = invalid
 sig = 303e02811c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 225
 # long form encoding of length
 msg = 48656c6c6f
 result = invalid
 sig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02811d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 226
 # length contains leading 0
 msg = 48656c6c6f
 result = invalid
 sig = 3082003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 227
 # length contains leading 0
 msg = 48656c6c6f
 result = invalid
 sig = 303f0282001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 228
 # length contains leading 0
 msg = 48656c6c6f
 result = invalid
 sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0282001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 229
 # wrong length
 msg = 48656c6c6f
 result = invalid
 sig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 230
 # wrong length
 msg = 48656c6c6f
 result = invalid
 sig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 231
 # wrong length
 msg = 48656c6c6f
 result = invalid
 sig = 303d021d1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 232
 # wrong length
 msg = 48656c6c6f
 result = invalid
 sig = 303d021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 233
 # wrong length
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021e00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 234
 # wrong length
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 235
 # uint32 overflow in length
 msg = 48656c6c6f
 result = invalid
 sig = 3085010000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 236
 # uint32 overflow in length
 msg = 48656c6c6f
 result = invalid
 sig = 30420285010000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 237
 # uint32 overflow in length
 msg = 48656c6c6f
 result = invalid
 sig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285010000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 238
 # uint64 overflow in length
 msg = 48656c6c6f
 result = invalid
 sig = 308901000000000000003d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 239
 # uint64 overflow in length
 msg = 48656c6c6f
 result = invalid
 sig = 3046028901000000000000001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 240
 # uint64 overflow in length
 msg = 48656c6c6f
 result = invalid
 sig = 3046021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028901000000000000001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 241
 # length = 2**31 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 30847fffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 242
 # length = 2**31 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 304102847fffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 243
 # length = 2**31 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02847fffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 244
 # length = 2**32 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 3084ffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 245
 # length = 2**32 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 30410284ffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 246
 # length = 2**32 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0284ffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 247
 # length = 2**40 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 3085ffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 248
 # length = 2**40 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 30420285ffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 249
 # length = 2**40 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0285ffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 250
 # length = 2**64 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 3088ffffffffffffffff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 251
 # length = 2**64 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 30450288ffffffffffffffff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 252
 # length = 2**64 - 1
 msg = 48656c6c6f
 result = invalid
 sig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0288ffffffffffffffff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 253
 # incorrect length
 msg = 48656c6c6f
 result = invalid
 sig = 30ff021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 254
 # incorrect length
 msg = 48656c6c6f
 result = invalid
 sig = 303d02ff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 255
 # incorrect length
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02ff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 256
 # indefinite length without termination
 msg = 48656c6c6f
 result = invalid
 sig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 257
 # indefinite length without termination
 msg = 48656c6c6f
 result = invalid
 sig = 303d02801e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 258
 # indefinite length without termination
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd028000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 259
 # removing sequence
 msg = 48656c6c6f
 result = invalid
 sig = 
 
+# tcId = 260
+# lonely sequence tag
+msg = 48656c6c6f
+result = invalid
+sig = 30
+
+# tcId = 261
 # appending 0's to sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000
 
+# tcId = 262
 # prepending 0's to sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303f0000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
-# appending unused 0's
+# tcId = 263
+# appending unused 0's to sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000
 
-# appending unused 0's
-msg = 48656c6c6f
-result = invalid
-sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# appending null value
+# tcId = 264
+# appending null value to sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500
 
-# appending null value
-msg = 48656c6c6f
-result = invalid
-sig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# appending null value
-msg = 48656c6c6f
-result = invalid
-sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500
-
+# tcId = 265
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 3042498177303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 266
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 30412500303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 267
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef
 
+# tcId = 268
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 30422221498177021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 269
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 304122202500021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 270
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 3045221e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0004deadbeef021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 271
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 3042021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2222498177021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 272
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd22212500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 273
 # including garbage
 msg = 48656c6c6f
 result = invalid
 sig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd221f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360004deadbeef
 
+# tcId = 274
 # including undefined tags
 msg = 48656c6c6f
 result = invalid
 sig = 3045aa00bb00cd00303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 275
 # including undefined tags
 msg = 48656c6c6f
 result = invalid
 sig = 3043aa02aabb303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 276
 # including undefined tags
 msg = 48656c6c6f
 result = invalid
 sig = 30452224aa00bb00cd00021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 277
 # including undefined tags
 msg = 48656c6c6f
 result = invalid
 sig = 30432222aa02aabb021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 278
 # including undefined tags
 msg = 48656c6c6f
 result = invalid
 sig = 3045021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2225aa00bb00cd00021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 279
 # including undefined tags
 msg = 48656c6c6f
 result = invalid
 sig = 3043021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2223aa02aabb021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 280
+# truncated length of sequence
+msg = 48656c6c6f
+result = invalid
+sig = 3081
+
+# tcId = 281
 # using composition with indefinite length
 msg = 48656c6c6f
 result = invalid
 sig = 3080303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000
 
+# tcId = 282
 # using composition with indefinite length
 msg = 48656c6c6f
 result = invalid
 sig = 30412280021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 283
 # using composition with indefinite length
 msg = 48656c6c6f
 result = invalid
 sig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000
 
+# tcId = 284
 # using composition with wrong tag
 msg = 48656c6c6f
 result = invalid
 sig = 3080313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000
 
+# tcId = 285
 # using composition with wrong tag
 msg = 48656c6c6f
 result = invalid
 sig = 30412280031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 286
 # using composition with wrong tag
 msg = 48656c6c6f
 result = invalid
 sig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2280031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000
 
+# tcId = 287
 # Replacing sequence with NULL
 msg = 48656c6c6f
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 288
+# changing tag value of sequence
 msg = 48656c6c6f
 result = invalid
 sig = 2e3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
-# changing tag value
+# tcId = 289
+# changing tag value of sequence
 msg = 48656c6c6f
 result = invalid
 sig = 2f3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
-# changing tag value
+# tcId = 290
+# changing tag value of sequence
 msg = 48656c6c6f
 result = invalid
 sig = 313d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
-# changing tag value
+# tcId = 291
+# changing tag value of sequence
 msg = 48656c6c6f
 result = invalid
 sig = 323d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
-# changing tag value
+# tcId = 292
+# changing tag value of sequence
 msg = 48656c6c6f
 result = invalid
 sig = ff3d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# changing tag value
-msg = 48656c6c6f
-result = invalid
-sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
+# tcId = 293
 # dropping value of sequence
 msg = 48656c6c6f
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 294
+# using composition forsequence
 msg = 48656c6c6f
 result = invalid
 sig = 3041300102303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
-# using composition
-msg = 48656c6c6f
-result = invalid
-sig = 3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
-# using composition
-msg = 48656c6c6f
-result = invalid
-sig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
-
+# tcId = 295
 # truncate sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862
 
+# tcId = 296
 # truncate sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303c1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 297
 # indefinite length
 msg = 48656c6c6f
 result = invalid
 sig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000
 
+# tcId = 298
 # indefinite length with truncated delimiter
 msg = 48656c6c6f
 result = invalid
 sig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623600
 
+# tcId = 299
 # indefinite length with additional element
 msg = 48656c6c6f
 result = invalid
 sig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe878623605000000
 
+# tcId = 300
 # indefinite length with truncated element
 msg = 48656c6c6f
 result = invalid
 sig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236060811220000
 
+# tcId = 301
 # indefinite length with garbage
 msg = 48656c6c6f
 result = invalid
 sig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000fe02beef
 
+# tcId = 302
 # indefinite length with nonempty EOC
 msg = 48656c6c6f
 result = invalid
 sig = 3080021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360002beef
 
+# tcId = 303
 # prepend empty sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303f3000021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 304
 # append empty sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862363000
 
+# tcId = 305
 # sequence of sequence
 msg = 48656c6c6f
 result = invalid
 sig = 303f303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 306
 # truncated sequence
 msg = 48656c6c6f
 result = invalid
 sig = 301e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd
 
+# tcId = 307
 # repeat element in sequence
 msg = 48656c6c6f
 result = invalid
 sig = 305c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 308
 # removing integer
 msg = 48656c6c6f
 result = invalid
 sig = 301f021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 309
+# lonely integer tag
+msg = 48656c6c6f
+result = invalid
+sig = 302002021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 310
+# lonely integer tag
+msg = 48656c6c6f
+result = invalid
+sig = 301f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd02
+
+# tcId = 311
 # appending 0's to integer
 msg = 48656c6c6f
 result = invalid
 sig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 312
 # appending 0's to integer
 msg = 48656c6c6f
 result = invalid
 sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360000
 
+# tcId = 313
 # prepending 0's to integer
 msg = 48656c6c6f
 result = invalid
 sig = 303f021e00001e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 314
 # prepending 0's to integer
 msg = 48656c6c6f
 result = invalid
 sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f000000ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 315
+# appending unused 0's to integer
+msg = 48656c6c6f
+result = invalid
+sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0000021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 316
+# appending null value to integer
+msg = 48656c6c6f
+result = invalid
+sig = 303f021e1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 317
+# appending null value to integer
+msg = 48656c6c6f
+result = invalid
+sig = 303f021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021f00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862360500
+
+# tcId = 318
+# truncated length of integer
+msg = 48656c6c6f
+result = invalid
+sig = 30210281021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 319
+# truncated length of integer
+msg = 48656c6c6f
+result = invalid
+sig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0281
+
+# tcId = 320
 # Replacing integer with NULL
 msg = 48656c6c6f
 result = invalid
 sig = 30210500021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 321
 # Replacing integer with NULL
 msg = 48656c6c6f
 result = invalid
 sig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0500
 
+# tcId = 322
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d001c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 323
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d011c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 324
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d031c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 325
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d041c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 326
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303dff1c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 327
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd001d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 328
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd011d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 329
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd031d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 330
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd041d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 331
+# changing tag value of integer
+msg = 48656c6c6f
+result = invalid
+sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cdff1d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 332
 # dropping value of integer
 msg = 48656c6c6f
 result = invalid
 sig = 30210200021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 333
 # dropping value of integer
 msg = 48656c6c6f
 result = invalid
 sig = 3020021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd0200
 
+# tcId = 334
+# using composition forinteger
+msg = 48656c6c6f
+result = invalid
+sig = 3041222002011e021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 335
+# using composition forinteger
+msg = 48656c6c6f
+result = invalid
+sig = 3041021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd2221020100021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 336
 # modify first byte of integer
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1c41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 337
 # modify first byte of integer
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d02ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 338
 # modify last byte of integer
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c94d021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 339
 # modify last byte of integer
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862b6
 
+# tcId = 340
 # truncate integer
 msg = 48656c6c6f
 result = invalid
 sig = 303c021b1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 341
 # truncate integer
 msg = 48656c6c6f
 result = invalid
 sig = 303c021b41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 342
 # truncate integer
 msg = 48656c6c6f
 result = invalid
 sig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe87862
 
+# tcId = 343
 # truncate integer
 msg = 48656c6c6f
 result = invalid
 sig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 344
 # leading ff in integer
 msg = 48656c6c6f
 result = invalid
 sig = 303e021dff1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 345
 # leading ff in integer
 msg = 48656c6c6f
 result = invalid
 sig = 303e021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021eff00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 346
 # infinity
 msg = 48656c6c6f
 result = invalid
 sig = 3022090180021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 347
 # infinity
 msg = 48656c6c6f
 result = invalid
 sig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd090180
 
+# tcId = 348
+# replacing integer with zero
+msg = 48656c6c6f
+result = invalid
+sig = 3022020100021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
+
+# tcId = 349
+# replacing integer with zero
+msg = 48656c6c6f
+result = invalid
+sig = 3021021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd020100
+
+# tcId = 350
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303e021d00d9384b2032d060e59848f87cb4535936bc25fa77959e96d7f88e332a021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 351
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303e021dff634b1dd327de7125da7903ad2163ca2addc096101fd395567ee36070021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 352
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303d021ce1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 353
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303e021d009cb4e22cd8218eda2586fc52de9c35d5223f69efe02c6aa9811c9f90021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 354
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303e021dff26c7b4dfcd2f9f1a67b707834baca6c943da05886a6169280771ccd6021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 355
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303e021d011e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 356
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303e021d00e1be4b8652a896fa469f01eb15246e4f330cb7bc2546e9e8c4473633021d00ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 357
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d0168dcf02f57b0caef7ddc183bee1ca94ee09c1a02ee4b0200a54dcb93
 
+# tcId = 358
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021cf2efc2e24cbedb2fc00c236c5b2d1a430236b59b7880007f2ba2f8d9
 
+# tcId = 359
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dff5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca
 
+# tcId = 360
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c0d103d1db34124d03ff3dc93a4d2e5bcfdc94a64877fff80d45d0727
 
+# tcId = 361
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021dfe97230fd0a84f35108223e7c411e356b11f63e5fd11b4fdff5ab2346d
 
+# tcId = 362
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303d021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021d01ade65988d237d30f9ef41dd424a4e1c8f16967cf3365813fe8786236
 
+# tcId = 363
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 48656c6c6f
 result = invalid
 sig = 303c021c1e41b479ad576905b960fe14eadb91b0ccf34843dab916173bb8c9cd021c5219a6772dc82cf0610be22bdb5b1e370e969830cc9a7ec017879dca
 
+# tcId = 364
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -1991,6 +2435,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 365
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -1999,6 +2444,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 366
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2007,6 +2453,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 367
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2015,6 +2462,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 368
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2023,6 +2471,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 369
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2031,6 +2480,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 370
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2039,6 +2489,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 371
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2047,6 +2498,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 372
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2055,6 +2507,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 373
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2063,6 +2516,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 374
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2071,6 +2525,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 375
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2079,6 +2534,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 376
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2087,6 +2543,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 377
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2095,6 +2552,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 378
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2103,6 +2561,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 379
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2111,6 +2570,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 380
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2119,6 +2579,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 381
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2127,6 +2588,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 382
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2135,6 +2597,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 383
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2143,6 +2606,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 384
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2151,6 +2615,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 385
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2159,6 +2624,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 386
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2167,6 +2633,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 387
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2175,6 +2642,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 388
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2183,6 +2651,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 389
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2191,6 +2660,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 390
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2199,6 +2669,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 391
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2207,6 +2678,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 392
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2215,6 +2687,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 393
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2223,6 +2696,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 394
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2231,6 +2705,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 395
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2239,6 +2714,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 396
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2247,6 +2723,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 397
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2255,6 +2732,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 398
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2263,6 +2741,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 399
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2271,6 +2750,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 400
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2279,6 +2759,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 401
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2287,6 +2768,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 402
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2295,6 +2777,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 403
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2303,6 +2786,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 404
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2311,6 +2795,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 405
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2319,6 +2804,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 406
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2327,6 +2813,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 407
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2335,6 +2822,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 408
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2343,6 +2831,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 409
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2351,6 +2840,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 410
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2359,6 +2849,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 411
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2367,6 +2858,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 412
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2375,6 +2867,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 413
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2383,6 +2876,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 414
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2391,6 +2885,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 415
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2399,6 +2894,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 416
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2407,6 +2903,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 417
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2415,6 +2912,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 418
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2423,6 +2921,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 419
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2431,6 +2930,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 420
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2439,6 +2939,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 421
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2447,6 +2948,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 422
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2455,6 +2957,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 423
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2463,6 +2966,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 424
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2471,6 +2975,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 425
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2479,6 +2984,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 426
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2487,6 +2993,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 427
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2495,6 +3002,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 428
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2503,6 +3011,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 429
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2511,6 +3020,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 430
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2519,6 +3029,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 431
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2527,6 +3038,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 432
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2535,6 +3047,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 433
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2543,6 +3056,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 434
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2551,6 +3065,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 435
 # Signatures with special case values for r and s.
 msg = 48656c6c6f
 result = invalid
@@ -2559,30 +3074,35 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 436
 # random signature
 msg = 48656c6c6f
 result = valid
-sig = 303b021c6e3d431498bb8911b97308e9e8d05cedd927e1576074f5b407ed47fb021b265cb60340e52374c6b03a99fc1db5d97ffff31d89a7d0847bc57b
+sig = 303c021c110c46cbc5925d910898300282f42fcd807945042d6e58926046545f021c2b5065306d6b9249702a07ac157eeead58ecfe3a346070dc6680fa7f
 
+# tcId = 437
 # random signature
 msg = 48656c6c6f
 result = valid
-sig = 303d021d00a7b626ca8fe3aadb70736367cbf221099af40e3683aa7f889568d18d021c0ea3c9660f7e84fb794db3ae473e9bafc84e3d1999073b3b444c31ba
+sig = 303d021c35a3c47b570980872fc6e41e6e4aafafac998502c27e091cf7b57a9e021d00b454c66f2d10a8acd7576c77a586e7a4a345d9a4b6a6eaee29a9c0c0
 
+# tcId = 438
 # random signature
 msg = 48656c6c6f
 result = valid
-sig = 303d021d0090d3707463fe1fd72514653e54b61e504bf4c32f5ee58928be423c7b021c18f867d66ab6c14e0d4fd144da061cac5e33ee62fc8573b0617eec11
+sig = 303c021c78f0788152ceee46c2d02427056c25eef9c39a36c49c009bf58e6fa3021c6dfe33aa17a26c7c22f82f0746a958df46543f320869d12a05a01c55
 
+# tcId = 439
 # random signature
 msg = 48656c6c6f
 result = valid
-sig = 303d021c032d0712481f5be239cb0464b89d97fb4ca540089661bf1b930b927d021d00b7b2854013fcc17f3514ba83393a5998c905a90a0c3d0ef3a51562d5
+sig = 303c021c718fb31ef94764b29ec90d541b3a89a901d9df1761f1d843a86ac984021c0a27327ab355439eca008feff609fa7323302919aa59f33d3c5be5ac
 
+# tcId = 440
 # random signature
 msg = 48656c6c6f
 result = valid
-sig = 303d021d00a11784b27530077677bdb15d78b75f508624099ca06036c2c24f7e20021c3a3c429f5c1411d952f1280c8ef0d582326a39447b934eee17c7b4ea
+sig = 303c021c623b29d147c209c348ed14d47754ce33fa156e1b4319890e548d74e5021c36e413d7bafd74bf8f7f752056d62cb540fc0ea873ef7363f749b805
 
 [key.g = 16a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde]
 [key.keySize = 2048]
@@ -2593,6 +3113,7 @@
 [keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201001e77f842b1ae0fcd9929d394161d41e14614ff7507a9a31f4a1f14d22e2a627a1f4e596624883f1a5b168e9425146f22d5f6ee28757414714bb994ba1129f015d6e04a717edf9b530a5d5cab94f14631e8b4cf79aeb358cc741845553841e8ac461630e804a62f43676ba6794af66899c377b869ea612a7b9fe6611aa96be52eb8b62c979117bbbcca8a7ec1e1ffab1c7dfcfc7048700d3ae3858136e897701d7c2921b5dfef1d1f897f50d96ca1b5c2edc58cada18919e35642f0807eebfa00c99a32f4d095c3188f78ed54711be0325c4b532aeccd6540a567c327225440ea15319bde06510479a1861799e25b57decc73c036d75a0702bd373ca231349931]
 [sha = SHA-256]
 
+# tcId = 441
 # Legacy:ASN encoding of r misses leading 0
 msg = 54657374
 result = acceptable
@@ -2603,676 +3124,859 @@
 # generated invalid DSA signatures. Some providers, accept such legacy
 # signatures for compatibility.
 
+# tcId = 442
 # valid
 msg = 54657374
 result = valid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 443
 # long form encoding of length
 msg = 54657374
 result = invalid
 sig = 30813d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 444
 # long form encoding of length
 msg = 54657374
 result = invalid
 sig = 303e02811d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 445
 # long form encoding of length
 msg = 54657374
 result = invalid
 sig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302811c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 446
 # length contains leading 0
 msg = 54657374
 result = invalid
 sig = 3082003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 447
 # length contains leading 0
 msg = 54657374
 result = invalid
 sig = 303f0282001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 448
 # length contains leading 0
 msg = 54657374
 result = invalid
 sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930282001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 449
 # wrong length
 msg = 54657374
 result = invalid
 sig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 450
 # wrong length
 msg = 54657374
 result = invalid
 sig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 451
 # wrong length
 msg = 54657374
 result = invalid
 sig = 303d021e009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 452
 # wrong length
 msg = 54657374
 result = invalid
 sig = 303d021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 453
 # wrong length
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 454
 # wrong length
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 455
 # uint32 overflow in length
 msg = 54657374
 result = invalid
 sig = 3085010000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 456
 # uint32 overflow in length
 msg = 54657374
 result = invalid
 sig = 30420285010000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 457
 # uint32 overflow in length
 msg = 54657374
 result = invalid
 sig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285010000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 458
 # uint64 overflow in length
 msg = 54657374
 result = invalid
 sig = 308901000000000000003d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 459
 # uint64 overflow in length
 msg = 54657374
 result = invalid
 sig = 3046028901000000000000001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 460
 # uint64 overflow in length
 msg = 54657374
 result = invalid
 sig = 3046021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93028901000000000000001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 461
 # length = 2**31 - 1
 msg = 54657374
 result = invalid
 sig = 30847fffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 462
 # length = 2**31 - 1
 msg = 54657374
 result = invalid
 sig = 304102847fffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 463
 # length = 2**31 - 1
 msg = 54657374
 result = invalid
 sig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302847fffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 464
 # length = 2**32 - 1
 msg = 54657374
 result = invalid
 sig = 3084ffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 465
 # length = 2**32 - 1
 msg = 54657374
 result = invalid
 sig = 30410284ffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 466
 # length = 2**32 - 1
 msg = 54657374
 result = invalid
 sig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930284ffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 467
 # length = 2**40 - 1
 msg = 54657374
 result = invalid
 sig = 3085ffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 468
 # length = 2**40 - 1
 msg = 54657374
 result = invalid
 sig = 30420285ffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 469
 # length = 2**40 - 1
 msg = 54657374
 result = invalid
 sig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930285ffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 470
 # length = 2**64 - 1
 msg = 54657374
 result = invalid
 sig = 3088ffffffffffffffff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 471
 # length = 2**64 - 1
 msg = 54657374
 result = invalid
 sig = 30450288ffffffffffffffff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 472
 # length = 2**64 - 1
 msg = 54657374
 result = invalid
 sig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930288ffffffffffffffff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 473
 # incorrect length
 msg = 54657374
 result = invalid
 sig = 30ff021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 474
 # incorrect length
 msg = 54657374
 result = invalid
 sig = 303d02ff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 475
 # incorrect length
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302ff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 476
 # indefinite length without termination
 msg = 54657374
 result = invalid
 sig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 477
 # indefinite length without termination
 msg = 54657374
 result = invalid
 sig = 303d0280009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 478
 # indefinite length without termination
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302805fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 479
 # removing sequence
 msg = 54657374
 result = invalid
 sig = 
 
+# tcId = 480
+# lonely sequence tag
+msg = 54657374
+result = invalid
+sig = 30
+
+# tcId = 481
 # appending 0's to sequence
 msg = 54657374
 result = invalid
 sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000
 
+# tcId = 482
 # prepending 0's to sequence
 msg = 54657374
 result = invalid
 sig = 303f0000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
-# appending unused 0's
+# tcId = 483
+# appending unused 0's to sequence
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000
 
-# appending unused 0's
-msg = 54657374
-result = invalid
-sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# appending null value
+# tcId = 484
+# appending null value to sequence
 msg = 54657374
 result = invalid
 sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500
 
-# appending null value
-msg = 54657374
-result = invalid
-sig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# appending null value
-msg = 54657374
-result = invalid
-sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500
-
+# tcId = 485
 # including garbage
 msg = 54657374
 result = invalid
 sig = 3042498177303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 486
 # including garbage
 msg = 54657374
 result = invalid
 sig = 30412500303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 487
 # including garbage
 msg = 54657374
 result = invalid
 sig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef
 
+# tcId = 488
 # including garbage
 msg = 54657374
 result = invalid
 sig = 30422222498177021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 489
 # including garbage
 msg = 54657374
 result = invalid
 sig = 304122212500021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 490
 # including garbage
 msg = 54657374
 result = invalid
 sig = 3045221f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930004deadbeef021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 491
 # including garbage
 msg = 54657374
 result = invalid
 sig = 3042021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932221498177021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 492
 # including garbage
 msg = 54657374
 result = invalid
 sig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9322202500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 493
 # including garbage
 msg = 54657374
 result = invalid
 sig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93221e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160004deadbeef
 
+# tcId = 494
 # including undefined tags
 msg = 54657374
 result = invalid
 sig = 3045aa00bb00cd00303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 495
 # including undefined tags
 msg = 54657374
 result = invalid
 sig = 3043aa02aabb303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 496
 # including undefined tags
 msg = 54657374
 result = invalid
 sig = 30452225aa00bb00cd00021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 497
 # including undefined tags
 msg = 54657374
 result = invalid
 sig = 30432223aa02aabb021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 498
 # including undefined tags
 msg = 54657374
 result = invalid
 sig = 3045021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932224aa00bb00cd00021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 499
 # including undefined tags
 msg = 54657374
 result = invalid
 sig = 3043021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932222aa02aabb021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 500
+# truncated length of sequence
+msg = 54657374
+result = invalid
+sig = 3081
+
+# tcId = 501
 # using composition with indefinite length
 msg = 54657374
 result = invalid
 sig = 3080303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000
 
+# tcId = 502
 # using composition with indefinite length
 msg = 54657374
 result = invalid
 sig = 30412280021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 503
 # using composition with indefinite length
 msg = 54657374
 result = invalid
 sig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000
 
+# tcId = 504
 # using composition with wrong tag
 msg = 54657374
 result = invalid
 sig = 3080313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000
 
+# tcId = 505
 # using composition with wrong tag
 msg = 54657374
 result = invalid
 sig = 30412280031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 506
 # using composition with wrong tag
 msg = 54657374
 result = invalid
 sig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee932280031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000
 
+# tcId = 507
 # Replacing sequence with NULL
 msg = 54657374
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 508
+# changing tag value of sequence
 msg = 54657374
 result = invalid
 sig = 2e3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
-# changing tag value
+# tcId = 509
+# changing tag value of sequence
 msg = 54657374
 result = invalid
 sig = 2f3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
-# changing tag value
+# tcId = 510
+# changing tag value of sequence
 msg = 54657374
 result = invalid
 sig = 313d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
-# changing tag value
+# tcId = 511
+# changing tag value of sequence
 msg = 54657374
 result = invalid
 sig = 323d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
-# changing tag value
+# tcId = 512
+# changing tag value of sequence
 msg = 54657374
 result = invalid
 sig = ff3d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# changing tag value
-msg = 54657374
-result = invalid
-sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
+# tcId = 513
 # dropping value of sequence
 msg = 54657374
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 514
+# using composition forsequence
 msg = 54657374
 result = invalid
 sig = 3041300102303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
-# using composition
-msg = 54657374
-result = invalid
-sig = 30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
-# using composition
-msg = 54657374
-result = invalid
-sig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
-
+# tcId = 515
 # truncate sequence
 msg = 54657374
 result = invalid
 sig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1
 
+# tcId = 516
 # truncate sequence
 msg = 54657374
 result = invalid
 sig = 303c1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 517
 # indefinite length
 msg = 54657374
 result = invalid
 sig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000
 
+# tcId = 518
 # indefinite length with truncated delimiter
 msg = 54657374
 result = invalid
 sig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11600
 
+# tcId = 519
 # indefinite length with additional element
 msg = 54657374
 result = invalid
 sig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b11605000000
 
+# tcId = 520
 # indefinite length with truncated element
 msg = 54657374
 result = invalid
 sig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116060811220000
 
+# tcId = 521
 # indefinite length with garbage
 msg = 54657374
 result = invalid
 sig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000fe02beef
 
+# tcId = 522
 # indefinite length with nonempty EOC
 msg = 54657374
 result = invalid
 sig = 3080021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160002beef
 
+# tcId = 523
 # prepend empty sequence
 msg = 54657374
 result = invalid
 sig = 303f3000021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 524
 # append empty sequence
 msg = 54657374
 result = invalid
 sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1163000
 
+# tcId = 525
 # sequence of sequence
 msg = 54657374
 result = invalid
 sig = 303f303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 526
 # truncated sequence
 msg = 54657374
 result = invalid
 sig = 301f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93
 
+# tcId = 527
 # repeat element in sequence
 msg = 54657374
 result = invalid
 sig = 305b021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 528
 # removing integer
 msg = 54657374
 result = invalid
 sig = 301e021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 529
+# lonely integer tag
+msg = 54657374
+result = invalid
+sig = 301f02021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 530
+# lonely integer tag
+msg = 54657374
+result = invalid
+sig = 3020021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee9302
+
+# tcId = 531
 # appending 0's to integer
 msg = 54657374
 result = invalid
 sig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 532
 # appending 0's to integer
 msg = 54657374
 result = invalid
 sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160000
 
+# tcId = 533
 # prepending 0's to integer
 msg = 54657374
 result = invalid
 sig = 303f021f0000009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 534
 # prepending 0's to integer
 msg = 54657374
 result = invalid
 sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e00005fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 535
+# appending unused 0's to integer
+msg = 54657374
+result = invalid
+sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930000021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 536
+# appending null value to integer
+msg = 54657374
+result = invalid
+sig = 303f021f009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 537
+# appending null value to integer
+msg = 54657374
+result = invalid
+sig = 303f021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021e5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1160500
+
+# tcId = 538
+# truncated length of integer
+msg = 54657374
+result = invalid
+sig = 30200281021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 539
+# truncated length of integer
+msg = 54657374
+result = invalid
+sig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930281
+
+# tcId = 540
 # Replacing integer with NULL
 msg = 54657374
 result = invalid
 sig = 30200500021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 541
 # Replacing integer with NULL
 msg = 54657374
 result = invalid
 sig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930500
 
+# tcId = 542
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d001d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 543
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d011d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 544
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d031d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 545
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d041d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 546
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303dff1d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 547
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93001c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 548
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93011c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 549
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93031c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 550
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93041c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 551
+# changing tag value of integer
+msg = 54657374
+result = invalid
+sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93ff1c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 552
 # dropping value of integer
 msg = 54657374
 result = invalid
 sig = 30200200021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 553
 # dropping value of integer
 msg = 54657374
 result = invalid
 sig = 3021021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee930200
 
+# tcId = 554
+# using composition forinteger
+msg = 54657374
+result = invalid
+sig = 30412221020100021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 555
+# using composition forinteger
+msg = 54657374
+result = invalid
+sig = 3041021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93222002015f021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 556
 # modify first byte of integer
 msg = 54657374
 result = invalid
 sig = 303d021d029b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 557
 # modify first byte of integer
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5de8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 558
 # modify last byte of integer
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee13021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 559
 # modify last byte of integer
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b196
 
+# tcId = 560
 # truncate integer
 msg = 54657374
 result = invalid
 sig = 303c021c009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 561
 # truncate integer
 msg = 54657374
 result = invalid
 sig = 303c021c9b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 562
 # truncate integer
 msg = 54657374
 result = invalid
 sig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021b5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b1
 
+# tcId = 563
 # truncate integer
 msg = 54657374
 result = invalid
 sig = 303c021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021be8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 564
 # leading ff in integer
 msg = 54657374
 result = invalid
 sig = 303e021eff009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 565
 # leading ff in integer
 msg = 54657374
 result = invalid
 sig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dff5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 566
 # infinity
 msg = 54657374
 result = invalid
 sig = 3021090180021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 567
 # infinity
 msg = 54657374
 result = invalid
 sig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93090180
 
+# tcId = 568
+# replacing integer with zero
+msg = 54657374
+result = invalid
+sig = 3021020100021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
+
+# tcId = 569
+# replacing integer with zero
+msg = 54657374
+result = invalid
+sig = 3022021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93020100
+
+# tcId = 570
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303d021d0156667b48514d3e5d546ca89ff45ada90474113ed248b873430ab57f0021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 571
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303c021ce0794dfb465b4e9d969cb3d0616b4b8468dbaf85aec085b2b7008536021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 572
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303d021dff64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 573
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303c021c1f86b204b9a4b16269634c2f9e94b47b9724507a513f7a4d48ff7aca021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 574
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303d021dfea99984b7aeb2c1a2ab9357600ba5256fb8beec12db7478cbcf54a810021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 575
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303d021d019b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 576
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303c021c64901b5e342bb9828a7b51c7d51cecf5a7f19e469659f98c8c2a116d021c5fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 577
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d011adeb9ed974f878dc2fc26f4bf86ffda5f7abe6c26ebabf9b8181a73
 
+# tcId = 578
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca4f18ca08c5d97ce052c32252c9770ce81155a04b120aa783e6d47b9
 
+# tcId = 579
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021ca017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea
 
+# tcId = 580
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303d021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021c5b0e735f73a26831fad3cddad3688f317eeaa5fb4edf5587c192b847
 
+# tcId = 581
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021dfee521461268b078723d03d90b40790025a0854193d914540647e7e58d
 
+# tcId = 582
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d015fe8234711d68fade4142c8cf60f385470480c386c062b38fb42b116
 
+# tcId = 583
 # Modified r or s, e.g. by adding or subtracting the group order
 msg = 54657374
 result = invalid
 sig = 303e021d009b6fe4a1cbd4467d7584ae382ae3130a580e61b969a6067373d5ee93021d00a017dcb8ee2970521bebd37309f0c7ab8fb7f3c793f9d4c704bd4eea
 
+# tcId = 584
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3281,6 +3985,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 585
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3289,6 +3994,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 586
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3297,6 +4003,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 587
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3305,6 +4012,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 588
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3313,6 +4021,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 589
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3321,6 +4030,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 590
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3329,6 +4039,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 591
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3337,6 +4048,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 592
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3345,6 +4057,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 593
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3353,6 +4066,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 594
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3361,6 +4075,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 595
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3369,6 +4084,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 596
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3377,6 +4093,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 597
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3385,6 +4102,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 598
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3393,6 +4111,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 599
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3401,6 +4120,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 600
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3409,6 +4129,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 601
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3417,6 +4138,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 602
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3425,6 +4147,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 603
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3433,6 +4156,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 604
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3441,6 +4165,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 605
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3449,6 +4174,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 606
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3457,6 +4183,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 607
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3465,6 +4192,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 608
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3473,6 +4201,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 609
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3481,6 +4210,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 610
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3489,6 +4219,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 611
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3497,6 +4228,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 612
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3505,6 +4237,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 613
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3513,6 +4246,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 614
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3521,6 +4255,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 615
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3529,6 +4264,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 616
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3537,6 +4273,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 617
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3545,6 +4282,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 618
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3553,6 +4291,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 619
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3561,6 +4300,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 620
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3569,6 +4309,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 621
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3577,6 +4318,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 622
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3585,6 +4327,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 623
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3593,6 +4336,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 624
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3601,6 +4345,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 625
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3609,6 +4354,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 626
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3617,6 +4363,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 627
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3625,6 +4372,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 628
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3633,6 +4381,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 629
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3641,6 +4390,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 630
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3649,6 +4399,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 631
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3657,6 +4408,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 632
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3665,6 +4417,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 633
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3673,6 +4426,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 634
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3681,6 +4435,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 635
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3689,6 +4444,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 636
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3697,6 +4453,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 637
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3705,6 +4462,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 638
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3713,6 +4471,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 639
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3721,6 +4480,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 640
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3729,6 +4489,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 641
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3737,6 +4498,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 642
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3745,6 +4507,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 643
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3753,6 +4516,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 644
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3761,6 +4525,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 645
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3769,6 +4534,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 646
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3777,6 +4543,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 647
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3785,6 +4552,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 648
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3793,6 +4561,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 649
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3801,6 +4570,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 650
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3809,6 +4579,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 651
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3817,6 +4588,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 652
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3825,6 +4597,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 653
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3833,6 +4606,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 654
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3841,6 +4615,7 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 655
 # Signatures with special case values for r and s.
 msg = 54657374
 result = invalid
@@ -3849,30 +4624,35 @@
 # cases the modular inverse of 0 is simply 0. As a result there are
 # implementations where values such as r=1, s=0 lead to forgeries.
 
+# tcId = 656
 # random signature
 msg = 54657374
 result = valid
-sig = 303e021d009a77c2ecaa462bc2a103083725ad3a829484f471e4aee6202ee86cdb021d009dfbeb5221b3625945dd5e4cc6fee5262ea7894198e8c9da1cd76fb1
+sig = 303d021c468ec63c5138a59ee0e13d5eeda49e1eb6f28816ec2e860bfa27ad87021d00ada912bdf76b277764b76965bf4200602352c3f6c9dffa6ed3097617
 
+# tcId = 657
 # random signature
 msg = 54657374
 result = valid
-sig = 303d021c29a77fe0e704eccc142f5c56672fed3f44f06941e5232b3f356ed2a9021d00970b5c6e7cb7ecb361c0e1645d54f6e7e9440ef5b5af0bd4e4790656
+sig = 303d021c414d7819aa2ddfc8d3436889bb632a3a02b6f01de7340ce4a12a6986021d009267e2cba847bf3ca40da5ca10583124e0babe47c82653d792c9364e
 
+# tcId = 658
 # random signature
 msg = 54657374
 result = valid
-sig = 303c021c19b3f92f6c22e6906b446bca454f31a59aa7714001cbb29bfbcb9f46021c7b609e7b9ab85c569b44bb48ff6b5f6d4bbca4d96ff2dad3577610b3
+sig = 303c021c63b5657aafa1c2cd43a6b4305fde780e60c85ceec711aec9c6766100021c71026c63b1d0606e1af569bcc7a7d24cfb418fc1374b573f39f57cc3
 
+# tcId = 659
 # random signature
 msg = 54657374
 result = valid
-sig = 303d021d009f8e58385c8d24feca68f3ed3634118f2a72a6001505ffa3ed0d8d14021c51f3e61627da82df148dc323d03e4d02bf7fd6de64af6cab83ca7a2d
+sig = 303c021c6adfaed107afe561fb482b24f269964acc8bed4513d1b07427f647ec021c7efd1aa3be3a3ffbac73fd6cabf13d4b1d3cab929c7379cf1187601b
 
+# tcId = 660
 # random signature
 msg = 54657374
 result = valid
-sig = 303c021c77ee5cb172ea5d1f23e28195584c056cc19185e68341ee8cc5af4d45021c17d341bb596d6def1e04c361c780af7491b7bb45f7040085f3df1076
+sig = 303c021c2fa2e37b87a03524313862831a45182725cf986bd49fabe166d40e75021c0a92f633fdcc8fb600c455de09fd4340a73a8601c709b344c9269e48
 
 [key.g = 0835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d]
 [key.keySize = 1024]
@@ -3883,21 +4663,25 @@
 [keyDer = 308201b63082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818400028180713e9f8108a6a7075485a37ce1a3b040cce563a0445614fe099fb1bffd68acb36f9e04d8ad17ace3c136da66f730eb7ff18936424ffa4e5ae5b1e7dac375d8d164697254b8b7e848f5e79da25c79df5c0727d5da3498405cd0f4e46d136c351d703cc4bf0d3f4fbb165392888684964a93ad30fa179488cad4a6655dd4fa9754]
 [sha = SHA-1]
 
+# tcId = 661
 # r,s = 1,1
 msg = 54657374
 result = valid
 sig = 3006020101020101
 
+# tcId = 662
 # r,s = 1,5
 msg = 54657374
 result = valid
 sig = 3006020101020105
 
+# tcId = 663
 # u2 small
 msg = 54657374
 result = valid
 sig = 3019020101021425023e8b9ba9ba72f481e90cb8ae67517e641b8a
 
+# tcId = 664
 # s == q-1
 msg = 54657374
 result = valid
@@ -3912,6 +4696,7 @@
 [keyDer = 308201b43082012b06072a8648ce3804013082011e02818100b34ce9c1e78294d3258473842005d2a48c8c566cfca8f84c0606f2529b59a6d38aae071b53bb2167eaa4fc3b01fe176e787e481b6037aac62cbc3d089799536a869fa8cdfea1e8b1fd2d1cd3a30350859a2cd6b3ec2f9bfbb68bb11b4bbe2adaa18d64a93639543ae5e16293e311c0cf8c8d6e180df05d08c2fd2d93d570751f021500b90b38ba0a50a43ec6898d3f9b68049777f489b10281800835aa8c358bbf01a1846d1206323fabe408b0e98789fcc6239da14d4b3f86c276a8f48aa85a59507e620ad1bc745f0f1cbf63ec98c229c2610d77c634d1642e404354771655b2d5662f7a45227178ce3430af0f6b3bb94b52f7f51e97bad659b1ba0684e208be624c28d82fb1162f18dd9dce45216461654cf3374624d15a8d03818200027f61fe5b61f6d555ada7dc0ebac3459fccd8dfbad18ba94dbea52437cd7fb431df404d4738c594e720a6d786275acd02259ca613a08a2de118d0150d2ccae602102aca0cd03666a53f67c0b9943df5046c15baeaf496a9f018b7c939de1509de71ce47dd6f44c57f4e01e569be46932773190c154470cefbd1f4af82d28e4b31]
 [sha = SHA-1]
 
+# tcId = 665
 # s == 1
 msg = 54657374
 result = valid
@@ -3926,21 +4711,25 @@
 [keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201006978b68d31334ee5bc7b3e91ab6c2336fab45c64836bd92cb5337b734db9e8e44f889f8869829f4fe174dc9344c164a0ba5b0126259ba8a43f607564fa4a1d0d49645e1d5886a1fc485e2fe91e56eae330da05e17b0b3d018c290285b249bc409e7af54300fc7c3eb34911457e2371931ad9302e8450cd95df3d561ea0ad94d0a2eabcafe0dd6728fb280029b556d9f4fa7c0f46a7804329936708e97e11fc22b2a50761a890c65b5fea2a1a4172f6be9eaa60e738cdf60c015142e2e562bb62a11e810ccdf0bf633307382f2d9a9769b115dfcdab4bacae73feca289db209dce34cbe126e8c7f9d9e4f8f711349a608d567b48c050e9dfb32bc184ecaa4f0f0]
 [sha = SHA-224]
 
+# tcId = 666
 # r,s = 1,1
 msg = 54657374
 result = valid
 sig = 3006020101020101
 
+# tcId = 667
 # r,s = 1,5
 msg = 54657374
 result = valid
 sig = 3006020101020105
 
+# tcId = 668
 # u2 small
 msg = 54657374
 result = valid
 sig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1
 
+# tcId = 669
 # s == q-1
 msg = 54657374
 result = valid
@@ -3955,6 +4744,7 @@
 [keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde0382010500028201002a64953bde40789f80ed8227192286115b92d09d5de96904e803ec4ecfbd73e0f08e82910febf19fa3cdc55ff20eb970d9c712f44785c0fd592c17fb43f4625357a4ac8a1a628f72040ae5360839c7c1f6b214e7a15530fe22887139ea0f05a9daf9d95bd6b7467abf9107c9fbe31e36330276eeccce3d59635206d60ca256f9af60627626b0594984b5a075c42c42067fa8c330f258bcf145df27a97da8ee419b54e3ab296c7ce9ef6a0113389b3cac7885b44b3722d27cad60e4e5a924a1ed0342cea9e99256f6bc1308d4af2c0af9379b1cf2119ce113c085705f5519ccc1ba8562a2236190d3f0c0a10f01466ad79a48127c28433f6b34e24a539af60f3d]
 [sha = SHA-224]
 
+# tcId = 670
 # s == 1
 msg = 54657374
 result = valid
@@ -3969,21 +4759,25 @@
 [keyDer = 308203433082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde03820106000282010100848177b9bcff136c52caef2a4a9bcb64dbefbac69e18aae499696b5ec7b270e90478b413bb8ad8f8eee8ad32107d7ba492c36b007f9ef30ebe1ee484d0ea7cb0ff4afaa8c705ad5e16576975414f1bc0efed25c2190a3ed0068bffa1f03bf6f21056c9bb383350851997cbc89cf8729b394527f08ab93ce9b360aa055a47177e82a4ce6fe76c8dffddbd6ee20fa08d0085d3983edd2c8d9a366ad2245b4ed28d6754769f5f3a798be4be19cf469399865d464e3f640438bce03c962c2344d0d550542aed3db55c153833bea44b4146878ba347c8614436c6aac4fd1a60f25c62b3f869a7d55cab4b7122d5e9af4322a3fc8214fa55dc1ee021459fb2c4595827]
 [sha = SHA-256]
 
+# tcId = 671
 # r,s = 1,1
 msg = 54657374
 result = valid
 sig = 3006020101020101
 
+# tcId = 672
 # r,s = 1,5
 msg = 54657374
 result = valid
 sig = 3006020101020105
 
+# tcId = 673
 # u2 small
 msg = 54657374
 result = valid
 sig = 3022020101021d009592121ed12d93197f1ffb863ac63937f28ef4f62f1e009a30aabab1
 
+# tcId = 674
 # s == q-1
 msg = 54657374
 result = valid
@@ -3998,6 +4792,7 @@
 [keyDer = 308203423082023506072a8648ce3804013082022802820101008f7935d9b9aae9bfabed887acf4951b6f32ec59e3baf3718e8eac4961f3efd3606e74351a9c4183339b809e7c2ae1c539ba7475b85d011adb8b47987754984695cac0e8f14b3360828a22ffa27110a3d62a993453409a0fe696c4658f84bdd20819c3709a01057b195adcd00233dba5484b6291f9d648ef883448677979cec04b434a6ac2e75e9985de23db0292fc1118c9ffa9d8181e7338db792b730d7b9e349592f68099872153915ea3d6b8b4653c633458f803b32a4c2e0f27290256e4e3f8a3b0838a1c450e4e18c1a29a37ddf5ea143de4b66ff04903ed5cf1623e158d487c608e97f211cd81dca23cb6e380765f822e342be484c05763939601cd667021d00baf696a68578f7dfdee7fa67c977c785ef32b233bae580c0bcd5695d0282010016a65c58204850704e7502a39757040d34da3a3478c154d4e4a5c02d242ee04f96e61e4bd0904abdac8f37eeb1e09f3182d23c9043cb642f88004160edf9ca09b32076a79c32a627f2473e91879ba2c4e744bd2081544cb55b802c368d1fa83ed489e94e0fa0688e32428a5c78c478c68d0527b71c9a3abb0b0be12c44689639e7d3ce74db101a65aa2b87f64c6826db3ec72f4b5599834bb4edb02f7c90e9a496d3a55d535bebfc45d4f619f63f3dedbb873925c2f224e07731296da887ec1e4748f87efb5fdeb75484316b2232dee553ddaf02112b0d1f02da30973224fe27aeda8b9d4b2922d9ba8be39ed9e103a63c52810bc688b7e2ed4316e1ef17dbde038201050002820100629374929537e2c3b09f30d881554ca7357f89e25105474dbbce06e4001efd61481a457aa0d7d7e565e90b7a3d9c688005fb404bf3b6d3e61e402300beee7c58ceeaf00b112ddfeef3cbc2020ba2206dd4ef0563d7fa52c321b4ee6280eb8585041d03cadb9244dff21dc90417bbe6f06b91c2ca6484437c3846926b18ee22275081b60726e7a26a29a947eabd035ede83d65927b3ceb0d4d8c2f34e94a3de0f57e4ea99af059657529f6954b1ac9bb4484ca76b4083e1cf4264eff028662137761e4d7f35b1eda3cf516856f25553840e43ae38379d234b06c891822132081d19f0d5db9f23b4bbd5f5667dd78f3dd7f1fe5f25ca48515f6335ce1c9fd0a64b]
 [sha = SHA-256]
 
+# tcId = 675
 # s == 1
 msg = 54657374
 result = valid
diff --git a/src/third_party/wycheproof_testvectors/ecdh_brainpoolP224r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP224r1_test.json
new file mode 100644
index 0000000..727e3d4
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP224r1_test.json
@@ -0,0 +1,3438 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "IsomorphicPublicKey" : "The public key in this test vector uses an isomorphic curve. Such isomorphisms are sometimes used to speed up implementations. For example the brainpool curves are using this.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 291,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "brainpoolP224r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000447a927daafd7282afd721c141c268be12312066c1d62fe047dcef272958e02a2b81c89d7b81004eda65cb6e1df8da330be2d563221862b81",
+          "private" : "08cff3b0b5c1b3220043759320c6cc6392e19e554f180f3df1e44c7fc",
+          "shared" : "4f7afb302c699bd56db0bdac550172bac94b73b0f2b60eee91b6a420",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e000347a927daafd7282afd721c141c268be12312066c1d62fe047dcef272",
+          "private" : "08cff3b0b5c1b3220043759320c6cc6392e19e554f180f3df1e44c7fc",
+          "shared" : "4f7afb302c699bd56db0bdac550172bac94b73b0f2b60eee91b6a420",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045f9a3dd8daebed9583d91dd75c6ef089d325ffafb3639fb97a7a2dea04e811b5cb44e171a5ded25c22f37fd10e1860416e4edb8aa8081c0e",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045d8de5d817d49856a9ae870b5c84824f1a19745e963c820fdebb553c06f87a56e4d0019f1192f904285f5538c1d3eedc059e77344e7d4b8b",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004539b0566588e16505e2d39323c07799a6aa288e7d2aa03db8a392a388aad13ac01879d1cde648dc8ad70c2dec49cb67961b2493ddad8724e",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000426287f17f2554aaf1e49c5594fbc35059a5c7c037994bfff9cb437f33d0e5fa3400163c4a0ec513e7049edeac43f7463b99f1c9144d454d9",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00043ac67c437f5cd2b4bc78218b01f64130c8b217070f6e1eef5ad4b600242505741417f79fd28596192538a9438126a49f44f98ed2642aab1b",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00048ab3fa0ccf52a661ea3a1d50219c0cbf809bcbf63745f4e0b94a890c01c166c6392c3690f7ec28684857ea05f5fd4b8b4e7b8b05a9e94265",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "0003fffffff00000003fffffff00000003fffffff000000040000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045a6ecb1ba881bf4df559980cc940e66e430bb22b6dd0e6ea1842e90caa0c8cd725f93c45985695fc3a78c42ef72c190b083db57ff85c3db2",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "01fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a60d25227568b2486b402af66d9212fe923a37873a8a5613ef813d91c88aa84b15b7cae6ab6478f0bf42c464f3f50ec27d339e85a4908841",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000499b409afecf5e544d0477a8a43d6f4805ca19d0b24b89d6a372556060695d60a6c4c321043cb40a501a2781c77fb9c8f370c8af801069e85",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004772b186ddd36192f7a73f10372c86d6a7e05200e0dabffe07e02bc9ea13a2429f0a30ab26de39bfafd44e37f14c79acee2ca7fbf2bd8f55c",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7ffff0000007fffffe000000ffffffc000001ffffff8000004000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d54fbb07c8c0482600908178438fd572eca1ebafdcd101071afcb247a0561e4e2201447d30db350510f0f8afffa228515de9289516855d2f",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fffffff00000000ffffffff00000000ffffffff0000000100000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004baeaa482e45fb4b932c945eeade8644f980e50f4150fc4ce1d02ecf6a883c9da5dc24c149b9b4510da27db8df3b3afbeaa629e19d99be628",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d63331a28bd6f82dcbe3de0ea807431012e954fd9febcc7a3687dbabca532329351b6a7a0648ab34c6aac123f8dd4ec8a44fb88df0ec45ae",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004000000000000000000000000000000000000000000000000000000014ebc9078ad8ad07562cd41b374827192aa88ce3c718a014405eed475",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "609042ac307c7d75ee58690d36d1f0ba2cb70f1a77ca43bc7bb70067",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004000000000000000000000000ffffffffffffffffffffffffffffffff541d4608f6b28dcc77f02d94b1e25428a22e64fa9b3354beed97af99",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "a55b6ca4b1e135cf1df413a50861917b3d10ffef98a29a874ba9563f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000400000000000000ffffffffffffff00000000000001000000000000004946136fcdd34a5225b09a844d9f482e56a13c46b4ef294e9c049f5b",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "9240e268b133e25b39b36cb7bc9e91a535ce622b48d3b0701d31b2c6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000400000000ffffffffffffffff0000000000000000ffffffffffffffff4bdc280b52c98b4bd52bfd4fd2676a97610c4946a66abef9bad0adaa",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "b552615bd4ea7eef4fef3e39aa4fc511d8cbaf40da099e47a611e512",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0001000060916626da518ee8f6bad287e697307084e191ca79398148141e57db",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "5701c9c1c1e59e93a0e57addf676c0d7646ff8407de630e5ec7255cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040003fffffff00000003fffffff00000003fffffff0000000400000005b5f99e5ee14baa1c4fa21adf0a6557416c603f933a592dd8dd16d66",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "07c0ae0f2e52e4657fcd5dcf95c5d925b0534da4d6a113e1406580ad",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000401fffffffc00000007fffffff00000001fffffffc00000007fffffff572544766fb80fb67365c9292c5f70bc285388d705155b361eee3a31",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "2d4f54d23c12ee51456f8047bc9c9bf3829192beef85bc6160029915",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff65d425acdceb1b04862ea9df634fcad6f1af3b70ca0000015b943550",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "4d51293480c1208a093504c4c96a4c33466c918d300a8566e69d4afb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fff0000003ffffff0000003ffffff0000003ffffff000000400000002ab72fec57251d40ab8f358a291933878b14635671f9e0a8088dc73",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "7bedf280c9880edf26fe8dbd7afa356a54a67a93a2bf7043d2f497ee",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047ffff0000007fffffe000000ffffffc000001ffffff80000040000011f4ecfad07f9a9656935f536a8b06e0db0acf5d54a939436ea844480",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "c56360d832e7d3854f60e0f3d362e58eb8026e27b6161fb2217ce57c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fffffff00000000ffffffff00000000ffffffff00000001000000003532d972042e05e13fe9d8f44800502161c9c5ffa30f5caf151d600d",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "5a0e6ab7b41c61b1cb098449c707f74f55548b92c78af27d3f33c084",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff515853ec16a985fbde8da662e47299e86ee30ad464acb849f5132922",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "b4e21f2403d826439e4d94985cebbc724a85a3e405aeb8f610892ec3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe51bd78396f681cbf535b3951d0b7edf91abd3b10e1cb5cdeb7ba8f9a",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "92d2a63b7788e0d704ecda5dc59321dc30264445763da792f7035832",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "3",
+          "shared" : "0c52cf1e5e3f3da21b6040644e0e9eeca2e020f5872c430cccef8b98",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "ba92ad99f14a0ee915aecf776c4fc5fdecbbc8fd8e13a7610a44d2b9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "1000000000000000000000000000000000000000000000000000000",
+          "shared" : "2b8dfc433327f665f04f2929084412000f1b2249f98b277784b334dd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "b70058644ff94dea13a4f3fea5bb80579152095ba9d3cf637f937737",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "080000000000000000000000000000000000000000000000000000000",
+          "shared" : "27bdac60e05ba7ac0f904050247e653c896bafd45b50d0938589718a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4a6ddebca3a5a7939f",
+          "shared" : "00b6b04347120ddc5228530ef7075824fbb745945edd75e73f637a40",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dcebca3a5a7939f",
+          "shared" : "d5b319d0f3143095c6bd1aa880c9df6a492caa6d6d275eb104a7aba3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dd6bca3a5a7939f",
+          "shared" : "a0e1f7a142aafb0856616d46b5f76c2244010c9d46cec07ab33bb4a8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca2a5a7939f",
+          "shared" : "6f1baf2ed42e35d71b705f5dbfb7f51a8ab661be91d8b2614769fa01",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd",
+          "shared" : "1be0d59d1f0f3a743ae19c5246099391098f71444223831e16cfa0c5",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d",
+          "shared" : "7e00a9267243cea4ba7617860b6fcf404e0357d1202d8c85dc5e07d3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939c",
+          "shared" : "0c52cf1e5e3f3da21b6040644e0e9eeca2e020f5872c430cccef8b98",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d",
+          "shared" : "aac6a805f4ce1b6dcc13ec4ed16a889dc4d708f7f6f1e23471338324",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b3",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 43,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 44,
+          "comment" : "order = -22721622932454352787552537995910923612567546342330757191396560966559",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021dff283ecb55d9bc9979d5e7cfda8a2f04672ee943b49221435c5a586c61020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd020100020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd020101020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "order = 5290290092223871682666367384584369978999613398297400491171",
+          "curve" : "brainpoolP224r1",
+          "public" : "3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021900d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cf021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f0201ff033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020100033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020102033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "cofactor = 22721622932454352787552537995910923612567546342330757191396560966559",
+          "curve" : "brainpoolP224r1",
+          "public" : "3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00b352e92e2b56ca58f5e37acdc34af65ec6145e27c14bce42bef26235303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b04390400000000000000000023f905836e050000000000000000000000024058a847e339e15fdfa24f6f1876ce8b7a763a02e23cc17016e2c89c20021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a000400000000000000000023f905836e050000000000000000000000024058a847e339e15fdfa24f6f1876ce8b7a763a02e23cc17016e2c89c20",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff3021040100041c7ca82b1a7918992ef42c3deef04c4862d9e15b11e4c036e5c7389c94043904a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cb1170bbd82395bae2651282fa61d2eb5db62886d3ba6709cab1dde8f041c96dee8d8c9fbe571e412e1bcf3c072903ddd3ff742e4632c740c74980439047ed6cc1e8dbef8d3fdbe331c66fea72dbb1618f42f854c0ee07831648905051fa88be75405e181936ac192c511eb6b2e3b32aa05b7d687e8021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00047ed6cc1e8dbef8d3fdbe331c66fea72dbb1618f42f854c0ee07831644ebc2f8a7db77f322436ae920b1044c29eb39c295ca7dfefc6f23917",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "public key on isomorphic curve brainpoolP224t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004002718942d4d3f883dffbdbea18a5b9af73ac85e648076b2c0b333de4cc8c1d9c6127ab6880b903ac44e50730c5ce1d4b52b3b02689c7f0b",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 62,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004992f4a20b0e54d674737b79da8e31ca6c6b3f86d5fed22a8861cfc1a3a57f7a9592ec7b70afa981399d30b9cc7f7dd31b6200f33a7d4b696",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000415cc8782ffaca34a954d055b906afdfffe1e3e2c08202cab9f2b31a18e6545cb52509e9a3ce64208d2cae9af9f366bc0053a210ef117376a4df1c43d54944f90",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200044d5a019d890fb4a512d6e84c1738ce2ec66b942b17f28bba75341a6dda2ae2acf94ff30bad8205d013382bec105ce2a2287482fb50a9e273d934d5302a74845c21f75c493deaf571ee4df5619d7bc77638a530bebd6bcacf31bd550241b9b81e",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004009cccaf2f3737187608ee4cd4bca434909fa84976e95bbf7e7517c07739625f5b2d52431c7e744930daac43a8997048ac82d082d37161a3b2a0c4d238d9140d6cf90159320fff6a710b506881b3b772747678dfd73bf7e870b516039c6008d44491e23789b57ad0c43b3fd27565ed703019aa036b60ff84ac866b653e368b47374c557f",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000422ae2126ae12a38cc771c1c8576a9b983aadcdd65f48f9d201192a488b0ff4a1d6d14ad981aac3fcfa2156b6340012197db2a4f6b6f7324ac8a7c4015861a1eb",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000467de48ceec36eccd05eb47bf815b784a51723667fe1008e700cd197cf3d50fc577444217f2a1976fb3faf6db0d08e8c6d645785ab66f3e5686c5572093bb6646",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044ece661f5ba97078659744dde9c8b2ad87ddf952fa76fa31ad3d04ee898aff363690885479efc69d0ddd21a35e0de809b95a183944e43c9653450ee4a03d5c3b714476482f0a84248b14efada7b6a5d9",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047aeb413f2efd160ecca59106870bd37ebaaf5e3ff576a6b5125de002dc3031f6000889ec211d8f40ee4c0a085b6011868319cd075c7a5d6dbf24a24eec40ed34ff03618f5548fc3a10d06f168a190723632e5d7979261f048e7da8e8dd564d2e",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000496f2336f70fc7b831650e40834c0a425cd343b98ddb15d25c849f5951addcdd12dc956ddd6f90bb8ac29e185bcc2098974016dd5e760024bcba4f35adee681fd158c98fc462b2538595157538b299ac638ba6709d968a0e37a4ede0939ba6c1c54675c49c9f0d23c1576fd2c89727f7e50e63406d47612a0c5dc20f7688c1fa5",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000474ec4011cf976c7151f8ccaa8b753b34c08e31cabf3efcc5bb997cd262c3273750abfcb8f76bc785c056a924e760d3d155bc5a7281a5b345",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040b42aeb62fc7e1295f9ce8f5bc5a66aecc4de289f73d05b672e7dd3ca85f34785e2e11f7cb6c7e4b48d458c2e2a613a81af11334ebd2627b0666f0d3628edbaa",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000472e9530f37de4b1d19d53789b02a5bda6e2124f71c58e8cd0e080047f0ca66aa69d4ff2e31b14901746487c71dfffb8a1368e45a56f482fcb5c635a80a1ad2ef56573ffd5fad242c823516eac42f1c7c",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000427cd77274564e4cc0b8284eaac5373fe2cbc731d95c01a781a6b6c4c94983a88df69f47cfe38cc04895673b56a4739377cac72600ac72743a72c025fbbc2c20e7b82474dcc3e98ba671fcb10e8aaff3d4791309f7a5d36d0b68c2d0fb703cced",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000466d53b70bcc33f779eddc473774f0a01f762f88df36199b80ef23123551bfe411a639600466da455b77317aa2f43d130258e7a1e86cd65e19a7e684c61896bcb40a0996fb5a897341f7c53a3486fb0aaf9e3281d31d366929eb608b5ed9e13693384dccb9f51f73a2d195949f1453e063e90287f5cb478322c5f03e9a05ab538",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002cfa2455a3fc3491d24291de3588e0eb46063c04430d7975ba71df01d",
+          "private" : "545f59601297fcc8d734f43bebc2d73866b16a3adb885211ae1a608f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 77,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e00039f98bba2a331e3a334c5ea7f8937a85580e557b353e06f3ed8dcd195",
+          "private" : "7abde5e6ce42081afc6194930710bfd108b91a7fc34d2caf52cdc54f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 78,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e00029f98bba2a331e3a334c5ea7f8937a85580e557b353e06f3ed8dcd195",
+          "private" : "7abde5e6ce42081afc6194930710bfd108b91a7fc34d2caf52cdc550",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002128849d9e5731a42465e35aebd7b6db3f24e1366f0ade29e821e1c71",
+          "private" : "720c41bbb15e5247ed81e269b421771e6be5134b11f3542ee8059176",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0003abefd2cfd3faf77666c7e1ad81414d6336fea6a6b45179eccffcc95a",
+          "private" : "72adf44f808419549de69d89d37b7508ff528c439580e5d0031e842b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002abefd2cfd3faf77666c7e1ad81414d6336fea6a6b45179eccffcc95a",
+          "private" : "72adf44f808419549de69d89d37b7508ff528c439580e5d0031e842c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0003128849d9e5731a42465e35aebd7b6db3f24e1366f0ade29e821e1c71",
+          "private" : "720c41bbb15e5247ed81e269b421771e6be5134b11f3542ee8059175",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "308152301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305330811406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305330150681072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301506072a8648ce3d02010681092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301406072a8648ce3d020106092b240303020801010503813a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "30820052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543082001406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016068200072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201068200092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b24030302080101050382003a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301506072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301306072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406082a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406062a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d0201060a2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106082b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033b0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010503390004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "30850100000052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573085010000001406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573019068501000000072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301906072a8648ce3d0201068501000000092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301406072a8648ce3d020106092b24030302080101050385010000003a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3089010000000000000052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b308901000000000000001406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06890100000000000000072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06072a8648ce3d020106890100000000000000092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301406072a8648ce3d020106092b2403030208010105038901000000000000003a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305630847fffffff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301806847fffffff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301806072a8648ce3d020106847fffffff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301406072a8648ce3d020106092b240303020801010503847fffffff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30563084ffffffff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305630180684ffffffff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301806072a8648ce3d02010684ffffffff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301406072a8648ce3d020106092b24030302080101050384ffffffff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573085ffffffffff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305730190685ffffffffff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301906072a8648ce3d02010685ffffffffff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301406072a8648ce3d020106092b24030302080101050385ffffffffff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a3088ffffffffffffffff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c0688ffffffffffffffff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c06072a8648ce3d02010688ffffffffffffffff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101050388ffffffffffffffff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "30ff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305230ff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406ff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106ff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010503ff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052308006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406802a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106802b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010503800004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "303c033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "30",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "303d30033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101050000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30540000301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016000006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b24030302080101050000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710500",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101050500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30574981773052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305625003052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710004deadbeef",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573019498177301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305630182500301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a3016301406072a8648ce3d020106092b24030302080101050004deadbeef033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573019260c49817706072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30563018260b250006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c260906072a8648ce3d02010004deadbeef06092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301906072a8648ce3d0201260e49817706092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301806072a8648ce3d0201260d250006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c06072a8648ce3d0201260b06092b24030302080101050004deadbeef033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301406072a8648ce3d020106092b2403030208010105233f498177033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301406072a8648ce3d020106092b2403030208010105233e2500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010105233c033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710004deadbeef",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305aaa00bb00cd003052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058aa02aabb3052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301caa00bb00cd00301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058301aaa02aabb301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c260faa00bb00cd0006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058301a260daa02aabb06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c06072a8648ce3d02012611aa00bb00cd0006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058301a06072a8648ce3d0201260faa02aabb06092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101052342aa00bb00cd00033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058301406072a8648ce3d020106092b24030302080101052340aa02aabb033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3081",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "303e3081033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "0500",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "303e0500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "2e52301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "2f52301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3152301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3252301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "ff52301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30522e1406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30522f1406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052311406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052321406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052ff1406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "303e3000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30511406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306072a8648ce3d020106092b24030302080101033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30513013072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054308006072a8648ce3d020106092b24030302080101050000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b7100",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053308006072a8648ce3d020106092b240303020801010500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b7105000000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056308006072a8648ce3d020106092b240303020801010505000000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71060811220000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058308006072a8648ce3d020106092b2403030208010105060811220000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000fe02beef",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058308006072a8648ce3d020106092b24030302080101050000fe02beef033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710002beef",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056308006072a8648ce3d020106092b24030302080101050002beef033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543000301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016300006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b713000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101053000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3016301406072a8648ce3d020106092b2403030208010105",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3047300906072a8648ce3d0201033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30818e301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "305d301f06072a8648ce3d020106092b240303020801010506092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3049300b06092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "304a300c0606092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "3048300a06072a8648ce3d020106033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606092a8648ce3d0201000006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201060b2b24030302080101050000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016060900002a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201060b00002b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201000006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606092a8648ce3d0201050006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201060b2b24030302080101050500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "304b300d068106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3049300b06072a8648ce3d02010681033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "304b300d050006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "3049300b06072a8648ce3d02010500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301404072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301405072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301407072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301408072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "30523014ff072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020104092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020105092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020107092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020108092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d0201ff092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "304b300d060006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3049300b06072a8648ce3d02010600033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305230140607288648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d02010609292403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d028106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010185033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306062a8648ce3d0206092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306068648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306072a8648ce3d020106082b24030302080101033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306072a8648ce3d020106082403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "30553017060a3262306530333032316106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305d301f061236303836343830313635303330343032303106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301506072a8648ce3d0201060a32623065303330323161033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06072a8648ce3d02010612363038363438303136353033303430323031033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06103261383634386365336430323031303106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305d301f06072a8648ce3d020106143262323430333033303230383031303130353031033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3059301b060e326138363438636533643032313106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3061302306163261383634386365336430323838383038303830303106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06072a8648ce3d02010612326232343033303330323038303130313135033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3063302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303035033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "306b302d0620326138363438636533643032383238303830383038303830383038303830303106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "306d302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303035033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224r1",
+          "public" : "305c301e0611326138363438636533643032303165303306092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301506082a808648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224r1",
+          "public" : "305e302006072a8648ce3d02010615326232343033303330323038303130313035653033033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301506072a8648ce3d0201060a2b802403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010503",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033c0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033c00000004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033c0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710500",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101050381",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101050500",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105013a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105023a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105043a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105053a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105ff3a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101050300",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0204d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27bf1",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301406072a8648ce3d020106092b240303020801010503390004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 287,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010105033904d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 288,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0104d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 289,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301406072a8648ce3d020106092b2403030208010105033e2004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b7101020304",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 290,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3019301406072a8648ce3d020106092b2403030208010105030103",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 291,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a8004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_brainpoolP256r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP256r1_test.json
new file mode 100644
index 0000000..0fb3267
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP256r1_test.json
@@ -0,0 +1,3446 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "IsomorphicPublicKey" : "The public key in this test vector uses an isomorphic curve. Such isomorphisms are sometimes used to speed up implementations. For example the brainpool curves are using this.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 292,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "brainpoolP256r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200044cee5e1072b30d64f70bf01958e22c044a2127ddd744ce3060c15990ff0fe1148c6ee56559829a5a84dd5c8646ee0c43d0b7c50181f234ec09eba43bc86b169e",
+          "private" : "113db979e07d9c8fdbea5b06a682c0d2ad67170ffcb65d7547d8c442d3ac237",
+          "shared" : "3f00d9af7607fd32809ef7a4a30b396e3da9f465adf20597c9e2046f16a7b1be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200024cee5e1072b30d64f70bf01958e22c044a2127ddd744ce3060c15990ff0fe114",
+          "private" : "113db979e07d9c8fdbea5b06a682c0d2ad67170ffcb65d7547d8c442d3ac237",
+          "shared" : "3f00d9af7607fd32809ef7a4a30b396e3da9f465adf20597c9e2046f16a7b1be",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200041284e50ecda6c7c3a15ae79c318dec591da197fc32b7a046b168774013e54687156d96fe0765ea03404ecf5f6efc74b0792c05c11f9a683b97f5c7ca74f8a8c2",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000498577499d7a42f4dfe44c2757fd9932ec7e45a0d902e0bf1fe4ac09e705eb8e12d9b9a0092c9c92a661e24b2138b6a778324c9db815eb05621c54cd4d4b2e887",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040b3e56747ee2a81edc487f7b257afc5886f3d80e9848472a944590eacf71172f5786410b71ce226824cd3f0ef462185b2557c9e8e1f02c654e8423488331b600",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000000000000000000100000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004854a72d5fbeacfc57a5aea2e386e549bab87b8ee313ee6c1f12cf267826940769f1c56486b0ac2dcd96bc018f5f42729cc073c6291bde8c3e7c169329c798142",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a7043cb065916e173837bc1a109526e946b66008398e697b40438a3e0a2b0d9d56c6faa83d8a4c4b9e2a9b4a6917a45aeee61491f4f4e47efebccb71bef8defe",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff0000000100000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000494b231b2189576b84aa5911e80da3074a4d16988041f908e6b6a199c16e1f7ed26fb9184971bc6f71cbced6836b3107bb17061a440abca27e5b44252bf39c6dc",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047dc0f29a5542c7d67793f52dc1de986bcee45d7571395cab102893aa2a5bf8cf7d4b8443793b137491736b26061ebd705d194405cf108b741cd1c5b42f44f6ab",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200044fe39fe909da0a3e5a05d4f9717661c8f9af24071d711df15de225e98d5edce462aca0b1ffb66a09b769a2c23314d5116fb30b71456ca798370abad10097d453",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7f00000001fffffffc00000007fffffff00000001fffffffc000000080000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000496c13e3b6f626cc2dd89992ec34b39851938a6c6015c1ee4889795dc536c1415330888344ffe63e0d54e4f9365dd209013933a0a84d5e30424f516b87189b835",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000406d3939c4c916da103a5f15438ee2b0863cf18b269d3d1a66ccf684f2fd568cf7235f3bac71d7d0f1eb6db9ef7aff385f020991db678e5124ffb0667745b3e03",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000429f6ba59fbe18c3ed99bc7da638ae419ee7d7853ff6732f5172dea1f085e8fb5071439411bba430d2b8bc8f58c955e94ae167fc9ca06fb262c7c93d710fd62ba",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fffffff00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000485d4f416552f4e51f92d80b4d6e71c6487c6fb0a106ed48395393d63528e6e782ba4c5228e60191a762dc02ccdaadb63364eee8e5008b9b25e0577f81903cb53",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200043b072da3dee819aba673abc3b1acebff18e4a6a20af8d817af97c2b4a8c5350a68e3bfb1d035fdfdb876b2adf85d9af1ad32e57399ca903a2d3fa4902124d194",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000463e92d05cfcde1179188bff8ba2043beff5a30a1a6b8ec1dfcd8273ce2c330540607392bdd311a313e3ae53196b14480b1967a235ebdbf1827165477884b5be2",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5376",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000000000000000000000000000000000000109e0e9e8d98fb89da2a32b2c7618b26bb99b920f02a5e831a142e6c8673110cd",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "599cde22070e96a88658c4a5a83f3723542a402ed506639ff9016fe4a26d4c25",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000000000000000000000000000000000000226ccfda8234fa9b70316b5ec4da222972b34a970cfe6dd9983a05e2fa746b902",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "4b35a3caa10cd77034e0737e18bc52071f64b8a2e14d7a02df8a36886aa467e5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000010000000000000000000000000000000001ef5fa5ab0cebc18b64113eb8c040dd743184e7c8ac68f123f3c3d945585524",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "111fbae46ba6389c5879d02e1863301ffa9e1961d721a57c6d88847154398812",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff2e65afc115d0fe1a86f314629014d6856716a4d9a0114c713051dd700dcc1ade",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "23b36c78c27076e23d6ab56c2e9653d272922c9fc1a176b8b6c2e70ab7c883fb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000400000000ffffffff00000000ffffffff00000000ffffffff000000010000000131625916fc4e157b1cf93f3c80352ba4dbf26effbd87d31a2a808d001081f06a",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "27dffb62a6ec9ffb3d0480c45ba00c748193afcc0879d76b47f8ee356785dee9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000002330b902c4f6a2486744f36adc6000e116a2cbcb14ff9f47aa36319fef93ad5ea",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "9bffd451ceadc27df88a13829852ddab0b2938952f5c58fdae7dd22248840bb0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff2c6fb3302dd93dc25d2c6792c2ac6f86247c4d39637ee11d9267658017f0055a",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "267a69f4b3945f8d323ff1a526bca566e7ed9806d6a6dc8f4587ab229a5f3ab2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047f00000001fffffffc00000007fffffff00000001fffffffc0000000800000020cf9ab5899c59216d6d1bc786ddf6221e374cd37a8b745e826c6495bed0a56b0",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "a4a2d3bcc69380396089e719ab8c77e5437ee589e39d98eae7bd17ce5c1d5b03",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fff00000003fffffff00000003fffffff00000003fffffff00000003fffffff01a1ad42b3ff22ba6bf3c94b55cfa4d13c6e140d3c44963198f496ebbc50439a",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "3a6ff3c1d490f652f5178a794b8cf825b5044948f6ebda67310c11fec1ad2b53",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000369a4e24f010260d7c2560f7dc19c41cde6b5c503b6563678580f0d22c74dda4",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "2d59b895062c13d4e5b5e0b77ef273e94e558e724f6241af5bb11bf23acbf851",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fffffff00000000000000ffffffffffffff00000000000001000000000000004677b043dfe54f78c735543b752b3aec043f656e5f22dd6d956cd642e3390881",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "83640be428f7a4f80ae2671799b5ba1881241fd054a7f2dce0254c07531abe40",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff178945df488779235a2637c39a4a85ab707bd56e7c22b9ad41b652560123b6af",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "801e5f5d61c666bc089a4265c40d2a3fee0db20a0f78e329bbf2793330ab0412",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000000424bbe5b0b8702258d2462a8bda59a343b97c3fb1d4005416802bebd628e7d0",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "a409a85067dd63e5eab3aec3d74cb7f071839247dbf97b6de592988095509d0b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537613a0346db14d55d1bcc27079b68864ac32885b5bdfc3c9db6f85a35d3df4c39b",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "66d757884634861f28bbe45b502f895233b0ba1c69bf45802f80eac5c837750f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "3",
+          "shared" : "a3e1a44851d0dee744378c5e495f3081dff2a0fefccdd08fdc2331687d5c4a80",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "1a68ab756ecae2853fcf6285974efae32ccdd01c58d05b4cc58f74d16c2661fc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "100000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "0bc5fea1dd6793664ea15dafba3e06c1524150d9fde32e17d7c6813fdc8c8fd3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "2d44ec4cbf228a4e32409e4de1ef8859c93996a9df73c317e5d04e64137f49dc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "9e1990fec2a345118aaa96a473fb921dfb5c3d69c528cf6fc0989d075552822e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f6901e0e82974856a7",
+          "shared" : "605641e1bd08b22a1a51022d8ef80f9b6c2f70b2562387db88c124ce60660834",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7900e0e82974856a7",
+          "shared" : "7db568a027cd6204457ce31e7859cd06fc76ddbc97d5bdefd57a65752fd79340",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f790160e82974856a7",
+          "shared" : "6878ca1bdd7c0353b505d5a60b2fbed422b5c37c7b54cbed3a22e0894e7b15b8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e81974856a7",
+          "shared" : "3bc54238c701df3e18c6395f35435059c54ff0d06d8ab19a3d179ab37c1fd8d8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5",
+          "shared" : "1950b7ce510d4d8648e80c6385a42d005433fc5ca61e2022a1405fe18142c246",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 41,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675",
+          "shared" : "5c05c4d877a0e2af5ffa004c122630bb87157cf346dbeb8ae13017162da208f4",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695",
+          "shared" : "9639bbd4e22194ce3892a814c82eddbd21dde05cfac20e99396e3d6ef0841f7c",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 43,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
+          "shared" : "a3e1a44851d0dee744378c5e495f3081dff2a0fefccdd08fdc2331687d5c4a80",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5",
+          "shared" : "341cbdf61f9dd620ba6873a74804afe30a06b0a113a6916a4104d2d4cc196aec",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e1a",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "order = -76884956397045344220809746629001649092737531784414529538755519063063536359079",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f0469970221ff5604a8245e115643c199f56f627c728e73c6855c4a9e59086fe1f17d68b7a95902010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f04699702010002010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f04699702010102010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "order = 17901173885223768702896718547912698493510841341785744190857633730178",
+          "curve" : "brainpoolP256r1",
+          "public" : "3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997021d00a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8202010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b604410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046999022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a70201ff03420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010003420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010203420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "cofactor = 76884956397045344220809746629001649092737531784414529538755519063063536359079",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d01010221009cc5080e320d05229fe633a03f5947a56ae6a469b258ad050ad2d32af932c171304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441040000000000000000000004d52ab6d699450000000000000000000000000000522f63e0ae9874b3327af5880fd557e161861d66e42d7ad495941804bdc861d30b022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200040000000000000000000004d52ab6d699450000000000000000000000000000522f63e0ae9874b3327af5880fd557e161861d66e42d7ad495941804bdc861d30b",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 62,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377302504010004207ec47e457bfa6d6de5c0681c57f6b7c710a28e78eaab3f2d25ae2fb1cafae1ce044104751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 63,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a27adfce7ba811ba31b12513922d5a57fbc7258c3088688b6b6d317cede14ee30420176ecb52a137b471ea4cd87d07d876fe31e8dc41ed4ad917a3a9ec0d8f620bde0441040b552d51ca93079eef78849a36ca0ed62e6734ee5bf857676b008803f880b6b9183d4c029635ae29b97c37cbbfd3916d658cab4097f5df69486711b326047ce1022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200040b552d51ca93079eef78849a36ca0ed62e6734ee5bf857676b008803f880b6b991be0bd90bb8fb9284e9d2c4ddaffc0508af4ae33d3040bed7ac3669f969d696",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 64,
+          "comment" : "public key on isomorphic curve brainpoolP256t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000481ac2aef36e3d128e4360e715d4885b4d5cdea3b1def7ca2865ff76800e538133be2e51584027d139f6059e254a037f86db12c390fdc3047d3bea6812f19c04d",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004debff6a4a9297b3404bd112bb32f212df745b36c698d82f928fad9eb9a9ab56957e44409addfb8b3002f17987032dccecc3375ea8bbc8918",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042e0f441d258b51e9f02035b72dc92d19fd7f861b1dc22959c4525aaf7d923ea61fcbb7b5a4fff19b19c316fb2126b9e2325573df3c6886b1d87c8b7ce1e323b0",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200045889a117e567fdc7c23cd9a8fc4a87912c7394c76d0436e3ad7eba2c1cd52b4d354a79c2f1e96365e5a19475925f078546cb829455e7e5f09c2c707b962bfc1684581bcdbecc2764d75d98c8fb1f6c1a908d3d7225af157df5891140d30b6e0c",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401571fd75d7f8c5ebd5741f8b50575a469f6b429284793ba6dbd57df9f8cc1ae3efa23fd93b69af726cc3758d731c172b9d9db377f28a22ab3463145a3ca89b20d5301b36f5db20089cc7f261ae7fcc4fc0bcdd425e0c80c3d01be586f9092ec64e9c8eeaa4ebe1ede4d0d844a45528d280514ced8ee882348a76d30776b256683dd2a40",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004628cd86e0686a0f83900ea5650c950a241bcfb585b58591bbd60d474b330ee435d4e5bc111de4e07f4f2ffc40e009b9780a9565c1521da78547ef36192c54cf0",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004bcdd35ef1d7823cae92732fe1994eefa75e69bff629bf1a551f3e07360fd2f612d9631e62da7b82376b9605028768f114f830daeba7e3c22",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004947b72e0343407d82a0fdac7c7f6d410d0196caf9dd5108cced9eff722ab9e4431b0906ff15f3f9fb5ccea8e2c11bc12b8c3d98115f1f326e4594848bd8035bae0fe980ca7b13141f7c244e141c3e578",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042e8b483b6008ed7d5bdd423ab8e39d68faab00b30c743af1444ef204888684eb6371c4ea9cc0ad803b56abc541f35e4634c48fb32ba6fb975844dfac838cc1bff1286c6ded1f4afe42d68477be54d1ce744cd1fc9cc2e4ddbc897b0dc67a661d",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000415172c036cb3cd779740fbdaf26930536c9303e0a8d717916abbb6f010058191e1ee0835b4117c2efe4cbeadd3df260aa34d2417734cc52fd4f22d6fd56a6850927f17c97fa71ee829219c7bfe205872d61eb319b7cfa369715e63c25dc739dc6236cc71779bd4fa61bc34e76290f47b47f2b5430984edf61f4c4325a235024f",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004ad19d0abbc921f2f1fb23eca6765b2ba41b9c51e6e90d22a532c6b8c0ce699f758347ea939e79da8a8289403a5f1f8983aa17a70bbc86ca2",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000459e7f5220b13269549d11a1052c9ea852eee4c98df598d0c43824aeaf45340fd5a5aa6950b94d6b055ef7b011a506a2b1277ee50e215efa16246a231f0be64df",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200041a5c93cebdcf7fa5e5c1aedbf463ca7fc7a5a318e7bc281a775aa325c0b2117060c148c4094358fa47b779b11ef3d4b38411cb0a414ace506aa2142f568e141b6a2938122f103d7f849d0763a340e6a0",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000443e497389d1cc949a87b0bc81b27462b64e8cfe890e2b2d0fadf69c955a39c48d995be3f0597fafafda4719a40e156f761c85d8225dc504c81c6a380f099d82144038fe96bafe0d437d9f3a58a62fe10868aa364fd527f1606ce3c05ad24c653",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004903c2e5edd60b9831e78cb27c7eddedece338a8c82a9dbd31b1d1a78f8f5de37e4986adf56dfef5136fc30a97f675feeb75fc0488630bb32cf6be8a2cf917dfe589cf0ad661f53093e4a172b3cbbfabbc19a3c7a16f6379060eada96b050061d3bcd9577d5ae602456f6deb6fcb65684240ed6d6420630f07bb38be1cd60a339",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200029cf25745a7ec04b3c00e795c7e8f8d7da33f55732003be4fd4094d842ea82d8c",
+          "private" : "25d405a46ccd1e34658b9be7423e8fce7a997120db963933545d19762c71d8dd",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200020a8944f96de0fe0d82489cbc7e71f2f529cfcfea03ca593d91462278731e19a5",
+          "private" : "66008d35e34ab5f875c3fd8115c335cd9b5f764323dbe44570960155570e71db",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b240303020801010703220002575862a7c5fc68e9ffcd58ce9bd0ef78c0a26a3a22ee96b0be16b399adb3ac4a",
+          "private" : "622853938bb5dc82716cd8d6d076ae6955da307bb14534ae56fd6dfefd5ed270",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b240303020801010703220003575862a7c5fc68e9ffcd58ce9bd0ef78c0a26a3a22ee96b0be16b399adb3ac4a",
+          "private" : "622853938bb5dc82716cd8d6d076ae6955da307bb14534ae56fd6dfefd5ed26f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200030a8944f96de0fe0d82489cbc7e71f2f529cfcfea03ca593d91462278731e19a5",
+          "private" : "66008d35e34ab5f875c3fd8115c335cd9b5f764323dbe44570960155570e71da",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "30815a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b30811406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b30150681072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301506072a8648ce3d02010681092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301406072a8648ce3d020106092b240303020801010703814200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "3082005a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3082001406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016068200072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201068200092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101070382004200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301506072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301306072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406082a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406062a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d0201060a2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106082b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034300040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034100040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3085010000005a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3085010000001406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3019068501000000072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301906072a8648ce3d0201068501000000092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101070385010000004200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "308901000000000000005a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063308901000000000000001406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06890100000000000000072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06072a8648ce3d020106890100000000000000092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301406072a8648ce3d020106092b2403030208010107038901000000000000004200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e30847fffffff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301806847fffffff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301806072a8648ce3d020106847fffffff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301406072a8648ce3d020106092b240303020801010703847fffffff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e3084ffffffff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e30180684ffffffff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301806072a8648ce3d02010684ffffffff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301406072a8648ce3d020106092b24030302080101070384ffffffff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3085ffffffffff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f30190685ffffffffff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301906072a8648ce3d02010685ffffffffff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101070385ffffffffff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30623088ffffffffffffffff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c0688ffffffffffffffff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c06072a8648ce3d02010688ffffffffffffffff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301406072a8648ce3d020106092b24030302080101070388ffffffffffffffff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "30ff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a30ff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406ff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106ff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703ff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a308006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406802a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106802b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107038000040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3044034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "30",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "304530034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101070000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c0000301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016000006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101070000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70500",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101070500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f498177305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e2500305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70004deadbeef",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3019498177301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e30182500301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "30623016301406072a8648ce3d020106092b24030302080101070004deadbeef034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3019260c49817706072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e3018260b250006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c260906072a8648ce3d02010004deadbeef06092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301906072a8648ce3d0201260e49817706092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301806072a8648ce3d0201260d250006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c06072a8648ce3d0201260b06092b24030302080101070004deadbeef034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101072347498177034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301406072a8648ce3d020106092b240303020801010723462500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301406072a8648ce3d020106092b24030302080101072344034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70004deadbeef",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062aa00bb00cd00305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060aa02aabb305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301caa00bb00cd00301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060301aaa02aabb301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c260faa00bb00cd0006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060301a260daa02aabb06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c06072a8648ce3d02012611aa00bb00cd0006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060301a06072a8648ce3d0201260faa02aabb06092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301406072a8648ce3d020106092b2403030208010107234aaa00bb00cd00034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060301406072a8648ce3d020106092b24030302080101072348aa02aabb034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3081",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30463081034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "0500",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "30460500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "2e5a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "2f5a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "315a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "325a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "ff5a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a2e1406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a2f1406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a311406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a321406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305aff1406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30463000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30591406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106092b24030302080101034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30593013072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c308006072a8648ce3d020106092b24030302080101070000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b700",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b308006072a8648ce3d020106092b240303020801010700034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b705000000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e308006072a8648ce3d020106092b240303020801010705000000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7060811220000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060308006072a8648ce3d020106092b2403030208010107060811220000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000fe02beef",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060308006072a8648ce3d020106092b24030302080101070000fe02beef034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70002beef",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e308006072a8648ce3d020106092b24030302080101070002beef034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3000301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016300006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b73000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101073000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3016301406072a8648ce3d020106092b2403030208010107",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "304f300906072a8648ce3d0201034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30819e301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3065301f06072a8648ce3d020106092b240303020801010706092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3051300b06092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "3052300c0606092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "3050300a06072a8648ce3d020106034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606092a8648ce3d0201000006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201060b2b24030302080101070000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016060900002a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201060b00002b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201000006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606092a8648ce3d0201050006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201060b2b24030302080101070500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3053300d068106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3051300b06072a8648ce3d02010681034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "3053300d050006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "3051300b06072a8648ce3d02010500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301404072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301405072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301407072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301408072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a3014ff072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020104092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020105092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020107092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020108092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d0201ff092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3053300d060006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3051300b06072a8648ce3d02010600034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a30140607288648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d02010609292403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d028106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010187034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306062a8648ce3d0206092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306068648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106082b24030302080101034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106082403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305d3017060a3262306530333032316106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3065301f061236303836343830313635303330343032303106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301506072a8648ce3d0201060a32623065303330323161034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06072a8648ce3d02010612363038363438303136353033303430323031034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06103261383634386365336430323031303106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3065301f06072a8648ce3d020106143262323430333033303230383031303130373031034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3061301b060e326138363438636533643032313106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3069302306163261383634386365336430323838383038303830303106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06072a8648ce3d02010612326232343033303330323038303130313137034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256r1",
+          "public" : "306b302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303037034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3073302d0620326138363438636533643032383238303830383038303830383038303830303106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3075302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303037034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3064301e0611326138363438636533643032303165303306092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301506082a808648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3066302006072a8648ce3d02010615326232343033303330323038303130313037653033034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301506072a8648ce3d0201060a2b802403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010703",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034400040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101070344000000040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034400040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70500",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101070381",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101070500",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107014200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107024200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107044200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107054200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107ff4200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101070300",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034202040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e637",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 287,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010107034100040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 288,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301406072a8648ce3d020106092b24030302080101070341040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 289,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034201040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 290,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301406072a8648ce3d020106092b2403030208010107034620040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b701020304",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 291,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3019301406072a8648ce3d020106092b2403030208010107030103",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 292,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034280040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_brainpoolP320r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP320r1_test.json
new file mode 100644
index 0000000..da23f79
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP320r1_test.json
@@ -0,0 +1,3436 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 291,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "brainpoolP320r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004b7fc5720d4b325c0805cc213c1b9ccbd9e4f380a121fbc00784c821bcd7f0d618b70d39fbdceae553d9de4f90683eb9f000463c7bd1d32db8cfad2b40862ccac05030e93fc6694c071e8e1427b305006",
+          "private" : "12d06c51deda1595d8c43e7c146f898f7141c0836522931049afe61333ae2c03e350b61aeba540bf",
+          "shared" : "94982d50b29faedaa7ed0988fd57b90303b032ce398ec70af6d194bcfd7f9008d14e09425502b7e7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0002b7fc5720d4b325c0805cc213c1b9ccbd9e4f380a121fbc00784c821bcd7f0d618b70d39fbdceae55",
+          "private" : "12d06c51deda1595d8c43e7c146f898f7141c0836522931049afe61333ae2c03e350b61aeba540bf",
+          "shared" : "94982d50b29faedaa7ed0988fd57b90303b032ce398ec70af6d194bcfd7f9008d14e09425502b7e7",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004430dd30b26350bc66c41c71769dd61b740d71008b59e455c1795ebbdc6bb1f0c8afaab415850142f1557feb7bef5fd3937f088ccb4d3ff8dc7431eecc9dce6f57c45035ca97dd0d7de9991742a39ad20",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047bad53f50a369371b9742952b37f6a179ffb0f7f46894321f1b3485453b7bb58b9e61e1ad06913247287976110d22bbaf17dad584cd104bca6601daa0b6633ba889793f931ef61f889a491bfc3776256",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004887c70eaddf1e67b2e05e0613154b61cac592568641c5332a218a87cebba63b2518e6c1cc1ca4036a4a62bbe99f7cab95eb1fd6b0acc85d495c9b82ed1ce047db89ab3c08f953c13ab35128638921b09",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "0000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000404d114977ae64cbca724fc517d6b7bafaf7c9eec36d682c1fd02e9f9bca302b149793582b301c8a95acab775a1f9c63d1eab8f1e67421c7d8de16f0128167a2f7ef8ae55fda1b83e97503b8323343a92",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000100000006",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200042e78935c77d5fc195928849d98b81c79c8dc407bf113bd1e3f49967d288d7bf8c1cd853a9a5fd80788e3e8ebdf07f70c44075b8ad217123e2ef44ae53f4306d0f1958f1311d0509e1c7754a68afdf7eb",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200048f93a6519729320805291a17925e6d42ba23dd25acb3eea29c18f1e550c7dfb41182a9fd75747df77191f150afa979031f546222bbdc1afc448c6613d219a109a018ad341b6bb5fff61939a242b42968",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "07fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004243bd450e757a6a5308cb366f87c359b953cb42c6c61de923a24247217974d6ccb3f8869e832227c64035c2066f24423fee0041ab5ef361d1ca4bd19f34f9802f1fbcd2cc132087d8f4f3d5b32e1b046",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000465677dff00f5899c5100c5ceaeef383de49012e005e8f73656caff3e95dd1254bbbffa840e206e962935d733930dbe0130714761a1a26bf9a59cd37db1311bae7ab2f9ae3f0827aa0ae240b34cefb97c",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200046394defc20111cd8cddc2b8545b9200f080736bf6438f21c6fe0bc246e4bb0bdce1f1107d6dc55b536d025461efef8ec5dfa7f088fc03070efe56158050ac3042d1285aa9ea40215dfe5542e6d5590f4",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040c1142edacae66ffa6993bca134cd4450b5adf0d5f5c32e21479f2419a9000afe9226749f27bcad113bee319eac4e6c6927deef999d25017890e95a615bd222720ecbb22ebe2ed9aafb9610bfa7e77f9",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004770298807fbfc4f084210a361403c6dd3c3f2c31bbf20ec851e10144fc8340ae7a77cead742b5d1dc4a9a855df56a21362614044ae945739c707c0c89b65a43fb091069bd4f695b553c583f538206c35",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004a719ed2e9ff2debac0713bc4806181736885736f183be24175ced514ebb76a0e49b20f7a47bec04477405570758bb4a1835f71338d394ac799d389a9a2b0aab561717a0642c668dd7e88521fc0884db9",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000423c02591b8ee778c5780ed4c783974ddd5aa52117d68cdda1c375cb77dc36f5fbea9709e44612898c1f5fcb67bd6b2bcc6ff0b01003be7559c1cd0827847de5943d5adde9b8519a55675970051659a03",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000000000000000000000000000000000000000000000000000000000000000000000000129110253d52cf3c5fc3382fca93d18adf7b97999028767b9722381db68fe3a41793b7d9952c6177f",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "2bab467efa3adf782324563a4d8f19018ca44458f697318a11f3e3c2269275c7b1aec44ce83cce8a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004000000000000000000000000000000000000000000000000000000000000000000000000000000020d1a18c0b25d0d32d9c4249a523cfcc12a20c2ead596607d73260895676315a70ad098e8b51d25a8",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "829a5f7c664dce621ba1373c0758d3d2b2984d85c384cf0077930ae4909f6072731572ecc3e4a1aa",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff13b6599cb2e990a4fee490dff267362978a0e76f57c53b4ee85fc39c790f4c6969978fc462e5a847",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "203ab48d6e3a11afcb44140f0b6596cc85dfe39e589d64b699ddb5470ee2ac5cf61d6ec8534aacfe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000001000000063a91ee30c63eb15b1c0f2102c6cf3438dd75ca71636238f891e367c105f0b781d02de648399712a0",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "0f5a4a6607bfd93aa3d1ed5a4aa5ed3d973547cc978265649cc47dae0cd32bfeeef058e4e2ed4288",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff308f36ab8f37e97723b0aadd7ee4dd585b9e68dc00db4242f6c3cf7b0ec1497a26e629b24a613b3a",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "a6b0761c5fe60e1e4c63704ecb8a0da1a9b89cd502b2091eb37a414181af99c4b421f107865a3989",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000407fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff231f9aef9b1a7c143485f601980bfa4f7bc7b312b01400bd1d15669197e07f2edf39cd08c905e280",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "8ccfba752052d15c8cca181abd9fded4cb0c176dbadccafe44cf1cc1907fc9ba356c7e7c3289e19e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff025368d44d7706408e18118e8338b5a8f65dcb4f7ac1884d97a44d235b8c89e5c240576680e6def6",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "8c14fa61be79ee096dcf6a2cd31aaab422b98161476c02e71a18168eaf3185ac515f6e451af5e27c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc0000000800000011a2b8d3c67305de21501cd7c43ad4cd9a57459c42e6fdac1e2cb37952703ffdccd18fcb326a2e0c7",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "61482d667be2a2d7bfcbd75b9e8140ea37813ede1fd44eb046f436a4d672784643d0d84b1c82f55f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000025a0dc389bcdc85d8434b2c615d1092b546d7808978f2d0cd3b3f17f57a2774c883fc5fad79ed32d",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "c586152d7416ca85eb55486ec2914a78a3d99a240d7d2657d54a2c8c1540b349380a151c9669a107",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000001030432044ddf1b1586c51deec0306d02d88e54bc2a2dc6c7e65895891633f866addb9de1ad32a8bc",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "c11b2dca6672802c8528af2c84b1a04e59c9a22bb271bd6d7568092babd2f23efc063ab248a2717d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff65f89731c0263d13aaa8ca7b3dadea10c46d7243883d7cab726d463b254df6ef728b52d8bbfb06ee",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "aa2e1ba6b508026b967ab355b99318bc394fc0d3cfabbb246804ddb5f913e6ef6bc0a228311bedcc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000000138c04477f42d165e4d474248d091ad74220de2021d0ca8f9f7295c7cc19c787f94ec33a2e4d51ee",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "5397c3d5663f5fcc4705eceba8255e89cea1747ad0d08d40b7a1aee01193b5df9593f8013c5dfb96",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04f2455cdb035b0cd4422a3ca06bb19bf018d1a5cb84eb12446d47f7f7a16c035c70951b4b6bad7b",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "20c790cf41723c9d5757b1eec1ff88ef16cbb632879cdce47fcb583262a7a6775c4486df301df5f5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "3",
+          "shared" : "a3e86777a4263b4656733a65bf322d397199cda903588fc3754cb0e27901f5e29f115b511b94c831",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "93cd465d332e25bbec7b195b37f7e3a126f1d67cdb946cb9b2c45a36a5c4d7e9171f3d3fded20ef7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "6cc6520a3d34ec73bdc0648390a8be6736c104a6651c7a35face310fd0bf69b151aecf457ef584da",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "78b7d04861460cbf141f6d41648742adf459b5f3695ba2449ce76210494ce540069e1536c03100ff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "8f21e698a1e1bc66acc08adb5b923e4b2a012dfe8145637e702351f161688f0b572c57d4d1b6b4f7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e88691555b44c59311",
+          "shared" : "151b2e82d009a18b4b7e46df2ad0e30d151d321bd64ef2f1ff6a36781ae448b99ef443ac7d1b09cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98681555b44c59311",
+          "shared" : "d04a5e44828163fcb66f9e601d933ba2f431cada91256861e36765f6098e234005f48bb039a288ef",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98689555b44c59311",
+          "shared" : "94023419382fbdcacb99fc0c37b73be771bbcb8b2efdc6dd324f0328e16b755bb27a2ab440ed6c87",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555a44c59311",
+          "shared" : "aa464b779d451beb21ba7f63b65db0442c52b9ac32f0a2addcd0869c7ebddff479d47461b83225f8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233",
+          "shared" : "c0038da858441f559a864dcd6c4558437f9ad091a67c3fda69a9e0cb6f446a8b47ae95edc2f4eade",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3",
+          "shared" : "8258131a80bc9f2b8ba532ef1253ef39dce25e6deb85227c670273521c311dbb9bf1a56dd29107b3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3",
+          "shared" : "ae752e75684a9adfc6198e6c1ce9249d26743104e8b0bd0417998c62982622ea2fdf6917413d547c",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 41,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303",
+          "shared" : "37bfbb637fce27ee80b3af326546303e0bd8af01b72f591830a548609055bda489d9a4e6b5e3f43e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b",
+          "shared" : "854ce9516e73c6cc8d0d6ce3cdf933541a719578712440f02a86829af1398fcab2bb0949c1d63106",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 43,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
+          "shared" : "a3e86777a4263b4656733a65bf322d397199cda903588fc3754cb0e27901f5e29f115b511b94c831",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f",
+          "shared" : "7dfd07c1cfe70db4772cf9f6bb6b58a10bbc9509e5ce86651d5c395f3544f62d6d8f8109edba441a",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb28b",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "order = -1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee10229ff2ca1b8dfc943b0481ec387a12dfe1f9a0670305a4970ed5cd2b7d1381179a716796eaaa4bb3a6cef020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1020100020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1020101020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "order = 410618568360611413177547474029944166748205379750040840301822434183392856467013123528027",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201713082011906072a8648ce3d02013082010c020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022500d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a60451040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201ff035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020100035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020102035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "cofactor = 1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082019d3082014506072a8648ce3d020130820138020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201723082011a06072a8648ce3d02013082010d020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900bfd4cef07c157c860286264eb02a03e4bd57db899dfc714f55bcc71c32b829e7af670ba56e9c05d1305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510400000000000000000000000000237bc7178cc16000000000000000000000000000000000000001d54042dd00b5c5ebcbab5d16bfe9013cc20d177a3491ba0fd60ab4d1eafcb56a97a71827d8589de6c0022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000400000000000000000000000000237bc7178cc16000000000000000000000000000000000000001d54042dd00b5c5ebcbab5d16bfe9013cc20d177a3491ba0fd60ab4d1eafcb56a97a71827d8589de6c0",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 62,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082014c3081f506072a8648ce3d02013081e9020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27302d04010004281c77c2abfaacfed15441047a89c6d600bb9a3c8aa864067cd4281901a411872412960f59881b9f010451044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 63,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e273054042810d5b611ad493efa669c819f643abe51d498607aa56d8d4b9218cdbcaf36e832b4f80c596232c0f10428c03a2629bb8ecdb3f76bd82899023132d66db14d7936a2817d8e845b1ea8804a1f2424de2a0371c10451047cbe0d0aa4dfa8df945b3a5a083744f90fd1bd7e315671e26377211c837679d83afd5f87b49904654b220e0d50d2bc64d0a8c87bb2bf3f55930dd365bce94a3457976250f53465b474154a9759daad0d022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200047cbe0d0aa4dfa8df945b3a5a083744f90fd1bd7e315671e26377211c837679d83afd5f87b4990465883c3912e5e993531093afe31f42a1106681fc413a0ac3baf7fb579b835f867488bec81a97d8811a",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004cbbced7d0d8fb5d17ed00a047fb60933d1716b5f120ca68abd92edc2eb4b22a1f8d0410966791ba8fc7a7558a3b220038d84088abbe19728",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b479d6c21efe1412dd59f04404ea05a8cd7fd74c41c4d2c1535bded83afb32b92c6105ac9ff9786bb20dce846922e69218ea79a89d73573add154272385ffe2b",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004788d64af48129627a1b87b999bc87c3a633321f6047f071587395dd7690fdd0b85c535c2d5ae157bf1a213b1ba452b38af8087cd933f3effa32c546948a7b79c9801399f5a5c7aeaedd6a8ba1355bb12152f01f060a9cfd32da747edd316417b",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400f3f8effa60bcf759f795e0fe77c6e5aa1014b78e92957f9de9ba5b4e7cb99c163c80db96cb28472d721d8f6f39aa738ffe55c7bbb78c54a8e465fc7c548353968700e2b278cb0688cbdae017de7bd98a73d04434058978a5bad558f20120cc230080762b717f5a9d17c1bb11ec6e80fec81f4775784ec9d17aa7e5b119dbec02233e92",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000486b290e29307ff43b3c81a48720c0e89a478b06d8c811b10c7ff3654aa33105244c37378866ef4920ef6099b596e95449788df3a2a8452ba922ba99e69346f54",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000459b150d0645424cf928844d1bbd532d8a8195960332da50cf9aa186480ffb0b58b64c4bd198525183852d127aa3742fe96df49bec7585aa4",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000489021ce82845fcefd942146ce35cad027ade8f821ddfad0ea831d1f6fe6980e60be917f848a4e7dbd3dea6035bbfa41d115fba98797862cbebf8087b7647fe89",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000437f59347ed0c8de4e888171eed280944742e5cd4246017c657a4daf94436f38f10a3076eac990493ea5ff93234662d9c3f7747a2fb2e14fb72bdc74d5d588cbacc0241cd7ac19fd8eead50526974e6ad56ac471cf7c21667b92ded8d714c79f6",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004a59f99993f8e3706eb6e104b638e8511c5b08e82344a6538528df723eb38ffe58c70197c8e88371f1d0c550e3bbbfe125c1123d5d0900c8164f9b19dc66fb34f45869a8aac9294587c6bfa261f401883a1844e71b83268e916ed6397c7df9542991437b705ac561cdcd0886409919b69cb12d36399df71e8e2414f1ff17111fb",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000471f4543326fb3cb36fe6471712c30b1e81e5d717bd1f2bf7136793728cba811d4bfdfa99dd5731911ee78d7010f6bc9e71a423d8d6823ec9",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040b2ad117bdc9c839820852ff829d60cb51a6a10f0a72061ca27eead92113b1d98b98919105efdd2376669e8e8361571d3db8736777690a263f04dd2605a65225",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200042ddfda6a53e3aa3133a04c2ed9a3c36d3f390710ae781e2975c83701ea352f007b4f7a976ba322419d20d75300cdcf190a58942f9aab229a3dbfee185c3adb6ce9a4907b90cac0fa649c22cc2e17d48f",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041768d368f882df7083b3d53987ba94d8720cbbc443e12700df5eb044d2f5621e8223a3ee3bd71b34f32e3afb5404e85a51cc7eaa1569ae4c555200a1b2df9c4adcdd6ec3d3de9abadf022da337b6f8873bb415e959e57b029850cdbbb38ab417",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200045ab89b3df599c3c1f1fbe4c15c0aac1ea95dd83f60623c2aaec3b9c31ba68d1f5a637758a7b8631d720f71d756a72c141e41afd508bf7ebcf9b6d1d4764768a66ffd7dd1d605daea2ba841d0a9106a22f1a630f272f906116c27fe3c3ff729d8516aaf0c3555e352ab69dc64f36e2d6320696b366bf0d07aac51ff9db3a480ec",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a000227f2f8f1cbc7ee440c167d52782f509b980e1da034c259f079fff653301ae28a88511e501836a7d6",
+          "private" : "0cdeaa01757954bf813fafec8356923518e410cc8778d88eac1a07f90b7fb4d20db28670e178b941c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0002cd873725ad5a0cb428ee170bbea7609f8e156a73c4ab18fd32bab9e41af3d36eaa5313a81f74e845",
+          "private" : "0b58eeb16a7f22f4562161ed8ea68ac86322d3db6e5d4fec50aae16d01129bf8c4d7530ff4d94a137",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a00033fef766ef618b774a78e4d81e16e5a9afea06500eb0e366377d839bffceeed1c74e6caecdc9fbb21",
+          "private" : "0bdbee13a7eac096b33fe43b8adc4c0e5bab438faa6333570ffdeb05d2b3e95961f9d591f36882027",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a00023fef766ef618b774a78e4d81e16e5a9afea06500eb0e366377d839bffceeed1c74e6caecdc9fbb21",
+          "private" : "0bdbee13a7eac096b33fe43b8adc4c0e5bab438faa6333570ffdeb05d2b3e95961f9d591f36882028",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0003cd873725ad5a0cb428ee170bbea7609f8e156a73c4ab18fd32bab9e41af3d36eaa5313a81f74e845",
+          "private" : "0b58eeb16a7f22f4562161ed8ea68ac86322d3db6e5d4fec50aae16d01129bf8c4d7530ff4d94a136",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "30816a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b30811406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b30150681072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301506072a8648ce3d02010681092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301406072a8648ce3d020106092b24030302080101090381520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082006a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3082001406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016068200072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201068200092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b2403030208010109038200520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301506072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301306072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406082a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406062a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d0201060a2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106082b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903530004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903510004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3085010000006a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3085010000001406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3019068501000000072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301906072a8648ce3d0201068501000000092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301406072a8648ce3d020106092b2403030208010109038501000000520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "308901000000000000006a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073308901000000000000001406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06890100000000000000072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06072a8648ce3d020106890100000000000000092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301406072a8648ce3d020106092b240303020801010903890100000000000000520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e30847fffffff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301806847fffffff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301806072a8648ce3d020106847fffffff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301406072a8648ce3d020106092b240303020801010903847fffffff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e3084ffffffff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e30180684ffffffff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301806072a8648ce3d02010684ffffffff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301406072a8648ce3d020106092b24030302080101090384ffffffff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3085ffffffffff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f30190685ffffffffff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301906072a8648ce3d02010685ffffffffff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301406072a8648ce3d020106092b24030302080101090385ffffffffff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30723088ffffffffffffffff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301406072a8648ce3d020106092b24030302080101090388ffffffffffffffff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a30ff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406ff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106ff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903ff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a308006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406802a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106802b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903800004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "305403520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "30",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "30553003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d020106092b2403030208010109000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c0000301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016000006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b2403030208010109000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90500",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d020106092b2403030208010109050003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f498177306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e2500306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90004deadbeef",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3019498177301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e30182500301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "30723016301406072a8648ce3d020106092b24030302080101090004deadbeef03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3019260c49817706072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e3018260b250006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c260906072a8648ce3d02010004deadbeef06092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301906072a8648ce3d0201260e49817706092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301806072a8648ce3d0201260d250006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c06072a8648ce3d0201260b06092b24030302080101090004deadbeef03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301406072a8648ce3d020106092b2403030208010109235749817703520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301406072a8648ce3d020106092b24030302080101092356250003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301406072a8648ce3d020106092b2403030208010109235403520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90004deadbeef",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072aa00bb00cd00306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070aa02aabb306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301caa00bb00cd00301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070301aaa02aabb301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070301a260daa02aabb06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070301a06072a8648ce3d0201260faa02aabb06092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301406072a8648ce3d020106092b2403030208010109235aaa00bb00cd0003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070301406072a8648ce3d020106092b24030302080101092358aa02aabb03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3081",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056308103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "0500",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056050003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "2e6a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "2f6a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "316a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "326a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "ff6a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a2e1406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a2f1406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a311406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a321406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306aff1406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056300003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadb",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "30691406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306072a8648ce3d020106092b2403030208010103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "30693013072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c308006072a8648ce3d020106092b2403030208010109000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc900",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b308006072a8648ce3d020106092b24030302080101090003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc905000000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e308006072a8648ce3d020106092b24030302080101090500000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9060811220000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070308006072a8648ce3d020106092b240303020801010906081122000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000fe02beef",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070308006072a8648ce3d020106092b24030302080101090000fe02beef03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90002beef",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e308006072a8648ce3d020106092b24030302080101090002beef03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3000301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016300006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc93000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d020106092b2403030208010109300003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3016301406072a8648ce3d020106092b2403030208010109",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "305f300906072a8648ce3d020103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3081be301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3075301f06072a8648ce3d020106092b240303020801010906092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3061300b06092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "3062300c0606092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "3060300a06072a8648ce3d02010603520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606092a8648ce3d0201000006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201060b2b2403030208010109000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016060900002a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201060b00002b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201000006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606092a8648ce3d0201050006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201060b2b2403030208010109050003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3063300d068106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3061300b06072a8648ce3d0201068103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "3063300d050006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "3061300b06072a8648ce3d0201050003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301404072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301405072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301407072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301408072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a3014ff072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020104092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020105092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020107092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020108092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d0201ff092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3063300d060006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3061300b06072a8648ce3d0201060003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a30140607288648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d0201060929240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d028106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801018903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306062a8648ce3d0206092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306068648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306072a8648ce3d020106082b2403030208010103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306072a8648ce3d02010608240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306d3017060a3262306530333032316106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3075301f061236303836343830313635303330343032303106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301506072a8648ce3d0201060a3262306530333032316103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06072a8648ce3d0201061236303836343830313635303330343032303103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06103261383634386365336430323031303106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3075301f06072a8648ce3d02010614326232343033303330323038303130313039303103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3071301b060e326138363438636533643032313106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3079302306163261383634386365336430323838383038303830303106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06072a8648ce3d0201061232623234303330333032303830313031313903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320r1",
+          "public" : "307b302506072a8648ce3d0201061a326232343033303330323038303130313838383038303830303903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "308183302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "308185302f06072a8648ce3d0201062432623234303330333032303830313031383238303830383038303830383038303830303903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3074301e0611326138363438636533643032303165303306092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301506082a808648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3076302006072a8648ce3d0201061532623234303330333032303830313031303965303303520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301506072a8648ce3d0201060a2b80240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010903",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903540004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b2403030208010109035400000004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903540004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90500",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101090381",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101090500",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010901520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010902520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010904520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010905520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109ff520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101090300",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520204ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadb49",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010903510004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadb",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 287,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301406072a8648ce3d020106092b2403030208010109035104ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 288,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520104ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 289,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301406072a8648ce3d020106092b240303020801010903562004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc901020304",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 290,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3019301406072a8648ce3d020106092b2403030208010109030103",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 291,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903528004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_brainpoolP384r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP384r1_test.json
new file mode 100644
index 0000000..75f326e
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP384r1_test.json
@@ -0,0 +1,3550 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "IsomorphicPublicKey" : "The public key in this test vector uses an isomorphic curve. Such isomorphisms are sometimes used to speed up implementations. For example the brainpool curves are using this.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 300,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "brainpoolP384r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000470ffb350173256eb437b140365842397ebaf3611b6389596c1f17c5ff5ce5201f24f6985b8fe0890dcae54b2603dfb4087242aaf7b2d95b3199bfa03e8fce54ef680b57109847274db3b3a65512b7f832248e70b1030e95db6429589775c3346",
+          "private" : "24ddf0fbb41c28365d302dd9d26ff9c32c76c85fa8b9138a3ec621d0caff6de8a724b45d6fe0d9180044242b9f41c84b",
+          "shared" : "22522760edc39280ff3277b121e17e7539165e7c677a65c8d0dc8159111f8e5d3df7035fe8ce33ac0a0e047ed0842a92",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000270ffb350173256eb437b140365842397ebaf3611b6389596c1f17c5ff5ce5201f24f6985b8fe0890dcae54b2603dfb40",
+          "private" : "24ddf0fbb41c28365d302dd9d26ff9c32c76c85fa8b9138a3ec621d0caff6de8a724b45d6fe0d9180044242b9f41c84b",
+          "shared" : "22522760edc39280ff3277b121e17e7539165e7c677a65c8d0dc8159111f8e5d3df7035fe8ce33ac0a0e047ed0842a92",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000456b0e00539a304e1dcaef00d90e1e851002c5cbb2e7a0cdde34700f242d52d607cd48498fe7668eeffadcf2418ea898e57677fe6703911e5de7c45f3e03eb179e3248008eff9f5ad5860c74d58a45b291c23bf8d5be285ec6e9fd67ece9b6692",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000427a570916684cea784b27082b31dcb149b40c9a0513794db6cc4951858d8b2d2a30c5bf09d590b2f17e5c1406e96e1cb047dba720e25f5729903e7164b2c73907db148bcf8aff649aa80715b067d88ce1bd2f380b55705cfc368d5a515bf6f91",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004279ffd6f54fe3847d3464b645a6f4243c49169b3494c61e20a0457ce93d6aa8535de70b5ca78fd7eff05fece3ac253c563e753d531fb070facb68418900016d66e1687e2daf8eb4b63b749a4283838694d3deeac3e79b9706e856fb7358fa0a2",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047908c8d895ed9ef9a902951a3a45383d24d57e3beb47f84c58636abd646b905087b2a06e130428f59007866a2a638abd4af08091e7589dcfbe7e638f10b430a89ea26ad930019a227040ca43aa4d08651b7c0904c51a32f8d214b2f0f434e85d",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004402f58faf15b56dc448bb6eb752502d03783d7beccc3afdb5c44c0e305765109c95227e9d7e2e9c52177de0ed2f95baa062e400bfae4744a061199b3358030194e7f28d3ba748ff0260b1fee5d0844f8ce446dac263a54be950d389e0341b575",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048c583d0413b24eaac4ec484348a3eb7059e37e8575dc2657ef2c0a1b03d320ee3638307022197eb40cfaa6c2465e7b272f027afad18da3d144091569110324707a8499902d327f97e3295feeb2752c0a6946dedf08e977d830c8e135f9ecc0bc",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004349c8a1b4e986d3f814a0b14ebc416e58eb60c697af889d9eac3927e53791b589d1068b55902605c675ffbc1f11cefe576a8a077f4e5676b07a2e701adbdd15f78a3c04d365e654055ee88c4d007a97f5e6674e64750482c9dedcd24ae263e50",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004572ed47e9ee31d2b2181f5c5562852c7f8ff7050f87dc688a64bc1ba0bf280fe55118f8f8c7f9c0db1e512680876e7ae87ddb0174be3d71ce5bda9cc024d04c8a82c002491b83415043bfbb1b372fbfaca27e0fbe9768fec5ec67c5fd7544817",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200044ef2b05bf70e827c1fe64eddcc04cf1a416c032d155d3946bff2270701fece2ec1ae9725912cc4ed9a97f52b10a98ac12ae6e94bab916c5763812435f25a74be83aea508f537f9f8d67fe66f0e30ed3fc96ccba75d6ff46221816d8fca2b484c",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048c4ce75c1fb23e253d0fb0a1be67dde4b45a4e6763ae0794b5d24a37209b25ac2e95208ba397bdb01b459a11fc4cd89c07f43a664ea0fca116b66124a4fadc0b341cc3d7ec2da14bd5589642016f1076762a535145b6cda3f8bbce24c0ed9637",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000470c6e0dceaf63c5b92c45b5f33f9ff049584b0b41ec1c476e50651d5ec56069490db561d97b1a2c2bebcb7b43c8001eb52b9feddb992f69e9e566ccabb69352cea294e1d2683d7046b9858569ab73576f2b42f11ad19cb41a96ea3d595fd0114",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000471613b39cc9cad25b5c677dcf071de6308411a0f2c1066de803bfb68c5bff55c26e32afad0aacdbbc32af5dc5ff71b7e24684b4f59f7e82053d5c2eca45e1963d594cffe2829460659397e3e978b304daf785e81f1566bce2cadc49fdecaf37b",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000144e54365091651eebe3aa1e13a14ec2c0dd1b1ad3778f69d586d078d7554c116a71e422add51cea477ce154ce873940e",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "55b4e89b8ca6cd3991c3578f8a970489d5fb1bd7b979cbfdadd1864b281afa73792c6e7baf938053fbaceeddaa5325f4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0b8ce84c25219c7e4ff37a3728fbcdea683c45b156f4158423314fa879e9d49a02e1ec2e305d7f2f01162d2c60e2ad06",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "043edade91d4030be3409d8c989cf3aa79fb09efeb16877b18558dcaf46c1d2f7369f8583ca8350003e3836554af3ae2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff3e528e604dc03d7c658e1f5c4102e1d31ddeffafcc2f7d7a4816cec497a09a851f40ad616693013038c007697996de61",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "795ef5cc47dfbd544e1692809d7c853d8afa104d7d4438ede53bea15f6c60d23621e0ae248ea2a6c4e3a919e455c00a4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000200680b002d9adf1e053dbf04addddf8c58de920543e0614c976446db34269d5e218c121704a0acf35d776d0a14e294d",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "606dc06dcd00830bd42804dc43cb94ee78c1a5a35996ca4b49fb725433bd072e4b04e1c052d7340542cd08f1dbd79f31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800204f1799aada7abdde3280f9638becb240be60123c91ad14cf1f7d77e83330519a68a9dd61a8d639e12a41ab930bc278b",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "82a6b7b9740a9e61a5f5d977dfcc655047eb415cbb98935fc24086b63fbc980b750eaecb5232ee97f770d1ede51ed81d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff2b8c710e160b3fdacffca46bc22b0b7b58349ab2a4183931fdf9e0504685db3c40aa853607fbac52b3563e7c74516d61",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "714b4efbc12fe0460fd296c9868feac501d00b0536aa9269806208ba7fbd4f73ed0a26c89a0854e670e01db8088c3f6a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff3e3943f5e92e4bff7f85ac915bdcc0865c97d0cce26f054df1b29c283a8f8e43d964b528dbcd88768b342995ff517f07",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "43da556c9e9e29940253310d94ca5707ca84a04e2cab890ca49f391747c5be283f0f4593247bce6f0027c2e2dfda8d30",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4214f53b46996183016065c615037a34f8bd346848d13c870e6f74a26e3cee631d4d689244a615983f6f8b9a4880f508",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "30229a314aa8ed9ceb2a9c3577558f6a9bd857747cb60a59815d2055bede53a570b461861229d832cf08642e9078d6ed",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000003c1234be1022b89c3a64f04102658fb8c319b6932edbce6b78b05f86841ede7eeccc2d091ed867c252f59a773c271e8f",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "2ccef9ba30b16e50663bb4e4006de04d5d687eb6f42d3dd821c8fcb2f57d67cf864c345fdf2de1fdc55fa486a16629f5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0587ff6f77b0abaf253ee363581e52b9aa55b50a59e2238414827e05c83861fd12356be4547b23443912acf07a02edc4",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "70382433ca7683741ba836dfb5983d3c80760bb7a985499d27ac7c715f8b7618877f651f8ff8d1bd7c1b1206f93754ac",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff21510cae0c660490014dd608337b3f3afcd97aaa7d792e186375f12a7a1fca38126ec420034bd12da0cd051d2255f922",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "5bc26ebe1fdba661bd3125e2c681f591db5bfc63ca27e6ad49dd4f42e49561949046395c7b0fcb3e975689cc602dfbea",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012134018a6f7bb075ef67617abafd66a22ed8b5146408aa52fc17cf52510b85f08b73acd0b4301e9967b3cc20b914f805",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "170a1a6e3092ff8747b29d724bf794a839f2c06f3a71c323323f10cc48fadc5562101171f4f7a9e41638013c07a4fcc3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "3",
+          "shared" : "1a136db83c88ec1a705db70c310e685164acf6890c5628fb4004520739a30a015557d3d0fa8652d26af3621d8cfac529",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "4518e59c3325de9ff9ba5176cce02c2fdc5d47c4d71d7bc7f3ce1a860131f39a00b1c9806fe92feea4e15b505dbfa7ce",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "032ce3f060545bf89e05ef6cc03f04fdaf66ad01a93cc287675e2adcd6044eca1da4108d91e4c22df276d9ad7dc23548",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "5bf3778bd7335db843dcbf4fae46f184b18d95fce6afde98b47f62c89f61ee64bef7f7b273e4b391471d2c33e46bda32",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "2d5751d28414a73a5e2049ac38c01cbdb592e90ad4f1f2168c9ade2b8ca336bc965ee7b8cdd63207b3a8768c81fdae6d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc30f3b883202e9046565",
+          "shared" : "1ca753eb1a6f3a735f459a26c11c1c6f523d40918a41b1193b9342e0cd81c40a625c4c9cbb4d875b55db498b370b7b22",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b783202e9046565",
+          "shared" : "4be8f16ae1ff3cdb120f32c08e0a1c2c178e2dd7d9beba9fd17bab1994b44e2107aa248da4a18d45612891bd8a599b55",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b803202e9046565",
+          "shared" : "7b9679e9ef47700a484d65637a03834a2fa8557dafe5f470e4747bf5ac308ec53b16f83789ee63abd0ae7078422440a8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883201e9046565",
+          "shared" : "678fe10e74bcb45acc0146334418c1ff7512815f05146cccc147a73324de04c58cb87cbb00735cdc2695e7603998a0c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f",
+          "shared" : "3729bcd215b41c658b832686c81362b3485d75b09478c6dde3b5e278564ef4162bdd6ff65afc6e8213bba9b6c54ba1eb",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f",
+          "shared" : "12ba4622daf1f2f950aad6d54aaab821885a47a98573afea49bc1896041ee9501acef82810f3755ff284e16665bd0f62",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f",
+          "shared" : "7fb5398519857f2c17cddd0a9d2c1660ac35b4723e4a049ba5c58c458b742dfa813a5c7175e1c0974b514bfaeb0039f8",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
+          "shared" : "1a136db83c88ec1a705db70c310e685164acf6890c5628fb4004520739a30a015557d3d0fa8652d26af3621d8cfac529",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563",
+          "shared" : "0f0a1d20ba6a7b2c48154b43870be4890979d9261950736de96c29f371233b1ef94a79c2ab698868f00cea7e912deb94",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 41,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3ca",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 43,
+          "comment" : "order = -21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231ff7346e17d5cc792d7f0a29081af19be20ead08ef612aba94ce0e9919353fbda5830c5495094803cefc477cdfd16fb9a9b020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 44,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315020100020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315020101020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "order = 5042941954480324912133914614639385831494842746066313376667826733277554507683616955290244686736004252971522",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315022d008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53170231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201ff036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020100036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020102036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "cofactor = 21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d010102310086794027ec8b4fb52f3941d2981a6badcd5cba8307663d051fa6101f193ed726450df412ccfc38b593cc92eab76cfa4b306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c1104610400000000000000000000000000000000abc978d6d096000000000000000000000000000000000000000000000000007a1da7cd48cc78aa2aee262add59969c80d1d577d80c7a670aca818562da8fdda841f80ce27ba0138ddc986e41b23bb2420231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201010362000400000000000000000000000000000000abc978d6d096000000000000000000000000000000000000000000000000007a1da7cd48cc78aa2aee262add59969c80d1d577d80c7a670aca818562da8fdda841f80ce27ba0138ddc986e41b23bb242",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53303504010004306e2a04dd503c3e87cb98a8d5425f32579b0a5a9ad12ec3e33249c1692619d0c661f539c8c86210ea713d8f1538c64f600461042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c80231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5330640430607d022a37932dd971f302078b7cf0146b61b2101a1f0e5dece2825bd592446ea2586ca9b26f45d5b5b2c96288d28e83043013e39131ad0fbe2bb41d04d0c975acde58f9d23f2abcd9ed2d0bf7f8c07c797ccc49855f21b151c229c780311f26393a0461047cfaba5017b20c296dda6eb14608bf7ff93f13d131876a474d4b594f8b01ce1790806ccdcd42d101fb745579688a533d6df84775bc33b32ca233d41ee1ca6e369a34751f0de8035ac567eafa7f0bc15af9a12e25b85d754db364dca2411a5d620231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200047cfaba5017b20c296dda6eb14608bf7ff93f13d131876a474d4b594f8b01ce1790806ccdcd42d101fb745579688a533d1ec0d70ce704b9fb6d299b5f6f1bd3a87afafbeadf6c53594d49ef1f00ab4fc8b3327903d7bfa523d3e22370efed8ef1",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "public key on isomorphic curve brainpoolP384t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200046a2aac186356f68786c8ca5be5e56c951d2992561bbd094d6796730ff67b33249a93a53455f8291e112199a10fa7fd2d8c4b85d644688724dfd1726f1e368455e5eb300f479a2ffc556c53bce3ee3b7d522db81303ea97ff13f6e7f2812b1ebb",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00041d8d7078f45444e91bca0c6cc778f1fe321d1ab171bb011aac8edfefea7d996a11d1bdfb073924f453148c38c6de594981b4d8bfe33c27af",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044e00275706e6ca58a0a7bc864b67df419408a9d8f5ade6527a1c50238891bc68617d1e8777d528e7561a1c1ed6ed2caf8e103858e76e391b42957d8287adb06f",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000459e0d3a39a0251cc1bcde05e330e6ee8a24a2175b85f67eec54d2f4c82d9655013bd53d4b4aaf537749e623c194979504e6abba9547065ce759e95282edd690c569ddbdae460b607510715ba17dc4323144d9492d65d0c0fc1a93fc92b34af08",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040089e14bf28c88676902c1191f0a2ac25e5c71114ded6120b483e93d1d065ab29f8fb895a701862df5a72d922f48ce27ca8b642184e8076ab6b6b032d71a8839cd7901329967bf36ad29a7b6ac74d97c8f47c66e32f9b029964fbca95c992e76c37b6cd45f5dfa2d16f83e3ba6416c54298dbeb0fbf1e663c14cf22a5915d4fcff66b108",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200045ade136fefe3cdb4461461a47ae7eb366531ae5d7fc1bb994328f2345c151c0dfb46dab78c5ae0570d9032c59268e3603cfdce83c7fd347c5fc79dff10a755a4",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000474976e5c913333e7c095a8a6b66bd3c78abb0894ce5598fe00761d927cc78f555570a628ed26dbb2105e014ed23a19b12b162a1d19cee785",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200045b204fcb4b2f92310bc19e8d4951c7884de3962fefbbec16cc1e9758d7ccaa1da8a4f202076b5515e46f36a2c8a513f8e1e18c7e42007e6ad4dff5e0ab0737a5",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000423a0440fc8d87b1b799f4b91791f3f5175b5b103f5ed4ed352a92f6c2d5fdda8ea07e9a5592afd2f85557310983058b60f777a8b88632f7127a29d4e949a4834f34db5150023d819a2b5fd7a6ba1561f",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043d5b219486463a71ff9296216bce6a7b0ab091447f61f96c98739ad6bccb42a9b74b384f07d3755ec54c58c00db9429ea5bc1691362f3c12bfe41f8c4a1d738d1fbdd1e9da8e3c783157052dbaef82b87829db3c90761de50e07910e773ad21b4ec81dee16dbb8bf50d7f64abb3451ecfb985cca4725ad66eb15fcbc28f31310",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004ca475ba8be87df96495320a6912ed35f3ae5b5a5dbe170a24aac2e6ea7febb3f1088082ec1fd1d4f5a509c7b05793b2d0f17e611e1579407",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004a91eb1462fbd71d6d4dde4bcfc5a80e53e61ade709b5eb384b6661f0dfa796f91a45b825213d3215b32fac6faf19506887f84fe933066e3e97c906feac9e41b2",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200046fd0e50e88a56f131daf8f7ec8e2b44ab796d0491f77c7db01e7a9d872dc7c54913ee8ec683efec969820e7ed431dcb1feded773d12f8c1a17d164e9873a69c0592f5df135f16534e69983199c472edf",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000411144203a5580501cf2229967282251f35cc66ebb978c8c5df821b11e36f95d6bac1c6f97b8e8d026e88cc2a24fec16b43714b10baa062a06712898730548a9a2290a984ef9a85d2eff128901dc0f16bc57231d21de65e42f84e42a409428eeb",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041daebcad055304d190eb662059f41e6e1eb11b7b73d69cd72f74c78756d1219498f667f43e6e0a7fe1dc57cb1a4fbbe8a57646924b8ede193f26b49d9db53c9a98ae0b30895690181d71459ab3c1f3b3f1add63a639edcfb549849a953be3f4bc9fa5d75fb889d49a2f25e8de94cfe714987aa2077ba7f2b2c084f05a6272ab7",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000266b87a19f47d772130855c64f1c1e445b19de6f917bb1c74198ecda924714d8c48e0cbeaa717453408c31c220a677693",
+          "private" : "3c9f970f25e6951b2953dc37f5458d5e11176fb794bb443c677ab6638d008eb35acfe85d09fe70400cd52bb47da13e88",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 76,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003878663e0db7b8f0bf1f6f24f15160f0589da8f8f92ec000a57657321c6e3c4ec845c97536fd10cad1adc6e1341968dd0",
+          "private" : "084a6fb1f3f3c583d09224965f5a96d7fb9b44bfdaa15d02a5cf7c90e321178018a5cdee93f614ead731692e71918dbf3",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 77,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002867e44d486465a25b827992e1de40cd6eaa276abbcaa852db4234bb3c5fa9f1c6956daf846845fe4862c025882878783",
+          "private" : "58c9afa82e35c64357c13f5f2efc4f9cbd0e65f718e70a9c6c77e73bd7f905ab7dffc4c82316a887e1bd625fa4fb715f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 78,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002041849139e191747f15e6b8f92462e731ae0c57c408b1e12ab1bffe434081033780b92b5ac81862263117a0836d180f5",
+          "private" : "0c7b7597b1fc8f4f69b90cb164a4295dd5b8bb3d7fee4588fcee79f2fa62c07c2cc35ac68714389e17c3a4b8e8a07dbf",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003041849139e191747f15e6b8f92462e731ae0c57c408b1e12ab1bffe434081033780b92b5ac81862263117a0836d180f5",
+          "private" : "0c7b7597b1fc8f4f69b90cb164a4295dd5b8bb3d7fee4588fcee79f2fa62c07c2cc35ac68714389e17c3a4b8e8a07dbe",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003867e44d486465a25b827992e1de40cd6eaa276abbcaa852db4234bb3c5fa9f1c6956daf846845fe4862c025882878783",
+          "private" : "58c9afa82e35c64357c13f5f2efc4f9cbd0e65f718e70a9c6c77e73bd7f905ab7dffc4c82316a887e1bd625fa4fb715e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002878663e0db7b8f0bf1f6f24f15160f0589da8f8f92ec000a57657321c6e3c4ec845c97536fd10cad1adc6e1341968dd0",
+          "private" : "084a6fb1f3f3c583d09224965f5a96d7fb9b44bfdaa15d02a5cf7c90e321178018a5cdee93f614ead731692e71918dbf4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200027d965d604aad48774b0c68abb9febff3cab818ea4890bcb616938556828ab77dea4a0847ad8d61eb43d845c9ec241cbc",
+          "private" : "37fb984a7a821d5a3660a951b19f88b2a95dfc6884e029bc5d99251d9b2d1ff88c57e0f9dab94bd0fa13221a1540ca2d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000311455b9d356978751548ed9ba361f672c40215fe873e5b27770ece7d60701fbf07e3f95ab38857eb8785de02b69c356c",
+          "private" : "5e7ba1f7812005953291c6e5a7236abf5dcb32addc97fa40d06a6fc7a2a1999a93b1d224ef85e3327d7d2b3f7d909e3e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200035349860144ee64859a8b0174c95e5f91f357cd38b26d2bafeb49dbd912cd4804f1dc04c0707199e113089f1df253a629",
+          "private" : "6fc580974437283ea60899aa7d4c817ea81d5332a86bd9af5ba2fb0e0c7c41b7a523ccddca46dde61b1809c970f17221",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003705965409ec374f74c51ead3609443cef7db7c879c41db0e28e1656e26b236b74b99f950689ffab717d24c8f979f5231",
+          "private" : "0806f6eb807a213930b60443ba0164d22985b70a2034edb59c35639f52d8e4dd93ec589a83ee9000e8813da131f59a46c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200028af704d3911fa5a7a5f6ce54856465cae4f2eac69c84d2dfb1ae160b8dcd3b577949c97239e2e420896481c76b5a4465",
+          "private" : "2e59b6c0ee75135d8df12b9537d6f00b5281585166a77075858c5e9058a8dbdc4a4b8d7cdb23cda2429e069ad19be3e5",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200038af704d3911fa5a7a5f6ce54856465cae4f2eac69c84d2dfb1ae160b8dcd3b577949c97239e2e420896481c76b5a4465",
+          "private" : "2e59b6c0ee75135d8df12b9537d6f00b5281585166a77075858c5e9058a8dbdc4a4b8d7cdb23cda2429e069ad19be3e4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002705965409ec374f74c51ead3609443cef7db7c879c41db0e28e1656e26b236b74b99f950689ffab717d24c8f979f5231",
+          "private" : "0806f6eb807a213930b60443ba0164d22985b70a2034edb59c35639f52d8e4dd93ec589a83ee9000e8813da131f59a46d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200025349860144ee64859a8b0174c95e5f91f357cd38b26d2bafeb49dbd912cd4804f1dc04c0707199e113089f1df253a629",
+          "private" : "6fc580974437283ea60899aa7d4c817ea81d5332a86bd9af5ba2fb0e0c7c41b7a523ccddca46dde61b1809c970f17222",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000211455b9d356978751548ed9ba361f672c40215fe873e5b27770ece7d60701fbf07e3f95ab38857eb8785de02b69c356c",
+          "private" : "5e7ba1f7812005953291c6e5a7236abf5dcb32addc97fa40d06a6fc7a2a1999a93b1d224ef85e3327d7d2b3f7d909e3f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200037d965d604aad48774b0c68abb9febff3cab818ea4890bcb616938556828ab77dea4a0847ad8d61eb43d845c9ec241cbc",
+          "private" : "37fb984a7a821d5a3660a951b19f88b2a95dfc6884e029bc5d99251d9b2d1ff88c57e0f9dab94bd0fa13221a1540ca2c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "30817a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b30811406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b30150681072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301506072a8648ce3d02010681092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301406072a8648ce3d020106092b240303020801010b03816200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "3082007a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3082001406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016068200072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201068200092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b0382006200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301506072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301306072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406082a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406062a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d0201060a2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106082b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036300048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036100048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "3085010000007a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3085010000001406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3019068501000000072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301906072a8648ce3d0201068501000000092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010b0385010000006200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308901000000000000007a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183308901000000000000001406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06890100000000000000072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06072a8648ce3d020106890100000000000000092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301406072a8648ce3d020106092b240303020801010b038901000000000000006200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e30847fffffff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301806847fffffff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301806072a8648ce3d020106847fffffff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010b03847fffffff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e3084ffffffff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e30180684ffffffff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301806072a8648ce3d02010684ffffffff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010b0384ffffffff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3085ffffffffff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f30190685ffffffffff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301906072a8648ce3d02010685ffffffffff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010b0385ffffffffff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3081823088ffffffffffffffff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010b0388ffffffffffffffff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a30ff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406ff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106ff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03ff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a308006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406802a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106802b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b038000048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3064036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "30",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "306530036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010b0000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c0000301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016000006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b0000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0500",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010b0500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f498177307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e2500307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0004deadbeef",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3019498177301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e30182500301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "3081823016301406072a8648ce3d020106092b240303020801010b0004deadbeef036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3019260c49817706072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e3018260b250006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c260906072a8648ce3d02010004deadbeef06092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301906072a8648ce3d0201260e49817706092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301806072a8648ce3d0201260d250006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c06072a8648ce3d0201260b06092b240303020801010b0004deadbeef036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010b2367498177036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010b23662500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010b2364036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0004deadbeef",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182aa00bb00cd00307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180aa02aabb307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301caa00bb00cd00301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180301aaa02aabb301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180301a260daa02aabb06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180301a06072a8648ce3d0201260faa02aabb06092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010b236aaa00bb00cd00036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180301406072a8648ce3d020106092b240303020801010b2368aa02aabb036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3081",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "30663081036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "0500",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "30660500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "2e7a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "2f7a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "317a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "327a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "ff7a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a2e1406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a2f1406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a311406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a321406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307aff1406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "30663000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "30791406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306072a8648ce3d020106092b24030302080101036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "30793013072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c308006072a8648ce3d020106092b240303020801010b0000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd00",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b308006072a8648ce3d020106092b240303020801010b00036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd05000000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e308006072a8648ce3d020106092b240303020801010b05000000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd060811220000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180308006072a8648ce3d020106092b240303020801010b060811220000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000fe02beef",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180308006072a8648ce3d020106092b240303020801010b0000fe02beef036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0002beef",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e308006072a8648ce3d020106092b240303020801010b0002beef036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3000301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016300006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd3000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010b3000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3016301406072a8648ce3d020106092b240303020801010b",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "306f300906072a8648ce3d0201036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3081de301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "308185301f06072a8648ce3d020106092b240303020801010b06092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3071300b06092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "3072300c0606092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "3070300a06072a8648ce3d020106036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606092a8648ce3d0201000006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201060b2b240303020801010b0000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016060900002a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201060b00002b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201000006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606092a8648ce3d0201050006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201060b2b240303020801010b0500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3073300d068106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3071300b06072a8648ce3d02010681036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "3073300d050006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "3071300b06072a8648ce3d02010500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301404072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301405072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301407072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301408072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a3014ff072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020104092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020105092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020107092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020108092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d0201ff092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3073300d060006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3071300b06072a8648ce3d02010600036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a30140607288648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d0201060929240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d028106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801018b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306062a8648ce3d0206092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306068648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306072a8648ce3d020106082b24030302080101036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306072a8648ce3d02010608240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307d3017060a3262306530333032316106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308185301f061236303836343830313635303330343032303106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301506072a8648ce3d0201060a32623065303330323161036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06072a8648ce3d02010612363038363438303136353033303430323031036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06103261383634386365336430323031303106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308185301f06072a8648ce3d020106143262323430333033303230383031303130623031036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308181301b060e326138363438636533643032313106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308189302306163261383634386365336430323838383038303830303106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06072a8648ce3d02010612326232343033303330323038303130313162036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384r1",
+          "public" : "30818b302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303062036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308193302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308195302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303062036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308184301e0611326138363438636533643032303165303306092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301506082a808648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308186302006072a8648ce3d02010615326232343033303330323038303130313062653033036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301506072a8648ce3d0201060a2b80240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010b03",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036400048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b0364000000048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036400048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0500",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010b0381",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010b0500",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 287,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b016200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 288,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b026200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 289,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b046200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 290,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b056200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 291,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010bff6200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 292,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010b0300",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 293,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036202048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 294,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a43637164d",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 295,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010b036100048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 296,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010b0361048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 297,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036201048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 298,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010b036620048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd01020304",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 299,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3019301406072a8648ce3d020106092b240303020801010b030103",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 300,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036280048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_brainpoolP512r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP512r1_test.json
new file mode 100644
index 0000000..0e96e2b
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_brainpoolP512r1_test.json
@@ -0,0 +1,3334 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "IsomorphicPublicKey" : "The public key in this test vector uses an isomorphic curve. Such isomorphisms are sometimes used to speed up implementations. For example the brainpool curves are using this.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 282,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "brainpoolP512r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200048a73a66605a5db252ef418ff2c43969bd4128187ce431c36a33d3ff3034cf8910fb0021ce849723621199d0d7ea4805f3cdab82f6c909257762da2a97e26305b078c1fd791fa957e975e30df5b876054758267129e4974a083372b0ce071180d05e1978bd90b8407c0a7ff7f6651bd3ffcf1a574dfe95a2e8af3866cbb385d21",
+          "private" : "6280eb95405fa8c0e9d970547301bbefb152c8c8114abc730c89bf6db3f7d949fcfd7ebb82fd2dbd43d28d47bf4ed95de97baed19f7d087cf303d2b0cd413767",
+          "shared" : "9690120edf3c583f627774ac2837f792e1049b3768199e3cc68c75cc16f73d4eca828f87880de91e2fbe0671b7066fcc814cb2e190832adae3a6dc7d9d9e71d3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP512r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010d034200038a73a66605a5db252ef418ff2c43969bd4128187ce431c36a33d3ff3034cf8910fb0021ce849723621199d0d7ea4805f3cdab82f6c909257762da2a97e26305b",
+          "private" : "6280eb95405fa8c0e9d970547301bbefb152c8c8114abc730c89bf6db3f7d949fcfd7ebb82fd2dbd43d28d47bf4ed95de97baed19f7d087cf303d2b0cd413767",
+          "shared" : "9690120edf3c583f627774ac2837f792e1049b3768199e3cc68c75cc16f73d4eca828f87880de91e2fbe0671b7066fcc814cb2e190832adae3a6dc7d9d9e71d3",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000438a0c765409100f0a831387ba46fbcda63956df0f00e77615b33249e1a73d1310bb22784e09e3faece0bfa6ed5c0fa077c8a62664221ccb596c9efa2aebeb3ea937dacea2ee4fc261e29af0b64ec5b4a8f0fbafe7470d715c1effd463eca68344ea7446a88e5874ebb1a0faab7ec0d36d203bece105a11edadb00e93ab0dd818",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200045f65b98616109b88fecb4cc1e639e98d2109bd696a14b921a245f265eead9c44eee4d19d162ebb972eecdbbae1c3b5d683e8a2163861267795840e79bd4e08fb25a472717d167587165060003c77f8d3339b908613063e5cd1abf0e20f4172fd3099f8bb96bc26a84137be2f341ed6c1d91c11ef3111b4cf75170d2db59bd790",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044069f3a94ded3bc37d32cd2cbac29ecb33b3aad195d9ac57965128a5a8a4ec2728db23e85b4213c60db409a77661f60756abe7d9edd7057a12453a19202c54288ba58659b7b37d74a80109fc484efdf9168c2121b7aead8f5fe02d483b51f1f213384189924b63050fcdad57d2c4dbc5c31c4c15e1901b5192708410e160c356",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000428e7878a20a024121e36339bb0cc67e6e4caacd54e13ede6d7ad4c73385b6125bfefe8f8e1ce95d2d32b956132a91d7c2e09c399ab938228aa16fdd2d748752c0a87e583384d4531d16f5e59debb3691fcdc91e35e9a9a6c4adcd020f3def3931b539cbae2414bdcc4e35688379ffde07a0991730c5783141af7f87fddae070a",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042830ff4e16150ded7167833c6bdb7daf11de99448f4e60e0c775f46e3a44b85599148f944fb6ebd8609eb2342cc86524e989726ee6b9f0278ffc36804b775e85881aeea838831b2d0a702a887ba5b549b82ce5543857339fee3425368759cad41432129a187dc37e6a28743fd1dda1028fccd9b8f2c0d44f8f9146e48401b898",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000403d1fa2562f3b6c63a86731c2519956aab599d17003deedfd67b7f3eed749036aae5c0a110e9bc767463093e597e61e3bdc24078286e87e684da1c4a0514b16868da156d1122b47f01f63fad234f09460f8f36f31aca059991751ef7a553365842eae9814c263249c0093c919622a2d4f96b7f591495567888d10d0b1bb80f82",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000436a0b22506a13c46fb9c8d52d112d904d6d93e260dfdd61f680d322d5ad6dc130d9df448eede20ff73ce94dbc7ca10a89a49f54c76c30e771851f0a41d6d525f18304137d791f223be088138636523bde5c136685ab6bb2bfaeacf9578410b3ba9e26083b80b36a23b7e27ed3070692995e45004d5d4bac4ed409cec36fca2ed",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "3fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004955069edb4b62dc48e0c41924f9644bf85af1801b21732a64cbfcf7cc3bfec914d0cd8bfc8fb334a94fd3488c44dfce0e5eee324da83cb903b71ed47acdd1365881ede882c978ec541f39f4b29d515ef836c77d04b512cdc45bdff505bffa39d39e2e9e3c4a6566b835c326106c7638e3d07e7dddb3331c5d37d7fdaaedfeb49",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "4000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046ecd48b171548d97b368a778395b7484ec4c9710963a6fdb107322a936dfcfdeef2c5d1baab81e7da63a3f67a71389b8364aaddca6f65bfbe0d8887f8c5bb716811c8ffeae8cd39e3c6ac2a0d8ab9e511135c2343ab0e0fae8a07fd997926377bbd73c03088209d099cd33609a1707a3eb1ad0abdc68b9b82c659c2e51d2ecd1",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "40007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004116e13c13ad71c9f8528289553bb71f8feeb05d0b1b21dcad5b9e4c002639dd9d834f80d497eb2af643caeb28f9e82b6dbb1e2cd5a785aff8f144944b6abff188bf286aeba0457ea256e1dca332bbec2d46473519428d298002a518514d9c9eb8f0878f9afe0ff1bb2969449be2a7ebb115f6a753e5edead6d7e01514b718c36",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "7fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046387f14a6db2ec86d9dcf45618cede486187045a33fec85fe11cabeb93a61242682a939ba6c7821e4da3603a0ffb5e9d4f81ee9662fb3e62d865f10903c69eb55177cc263714f091511842b7715c434b8aad1b32273af574cfff44018ce78ad81e699c4403363ed5c392bd6af7d2c0a907b575893f8ead5ca9fbfb12627fb390",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004273895ea597fb330f9ef29c61679d57b494aba7a22ef54f8edbac8a8b65ad6f91b44c2a8c5f862f42fadf68b44fc7a086b12e8d4eb7a61d63f77108929f6abf42d69e73c49c1b4d8cba5fd200632391d7b33c686b2003581bc6568eae8d0d7b7fa6c69dc732494a5c16ea7605ff24bb6818a49caab161a4dd53876a646644f4d",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000001035201526ac9ed34d51282df1a594a553bf6f07a90e3268fca9a9b3a774324b0e3ee55c351748ac18f7301bc560623ae7846f97f576cce3ca81698029c389562",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "1362fefdf9173162cae5e7a029e3774fbef0082c33b5d19959b2a4b5653acc9f615917058196f1c59c29ce054e4c2e5b035be727991e618604562e837a452fb2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff5106e912f8124a959dfc5ccbb99786d54af877fe539e664aa0362a4d417d1c4ae647ddf40c8c2cc6ac6b0f35164e24a1c64a5f230fc61e2318c9387fc1547c4c",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "60966e750bcc098107e6a66e8f5a0741e7eec2c7e76553df9569fbe0d28afd8cb1ba80a6aa8e7a84be668dc6e23463d08832b89bd092a4ae838fd228436c1415",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000010000000003c86f4fd8b138ac5509a4174bd4998e1b4d3d49de88d37e38dcaa74f9c42f3e37b7f7be77cf5322514a879984e44b4a3caed566ab6874b1a781292e7ef791a6",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "22694587ddf8e8c67a989ed4c1386f927897a6b9664aa4c939d74a597ec5e662f18a28c0d746a418361ccf95d8d502e0901b9465a6cf8226a4f730f166021a9d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000003aa5dbaaa057f9987e2e495a2da349f5d30b64499cf505e1a51be9a82db1b75cee639605d98f672c4295507e778b2ce16d229c5fb33da4f5a37c0c97a028fbde",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "4cbf67a6eeed2d8ba1db4f9ae2cffe04f195e4cac0015b694f228efbc4d6396dd21b75ea587426cf043f165aec505535e4b2125cdbf20f56b7e058cf971a6165",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff3e35ce50921fe7b45a53452690ea8398109e90b0985738e775ee45c5266b1385dc1998956ae6e927a062f99d3729012c14f552dc17267fccdf634d0d3eb3acf1",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "a9cd019aa08a874934c6fc28b0f34982e3d10e3a3a7ac52425c80db1d4705f0c2b733ac54baf1e56cfa6e757a5bc01f54ac39a83d42aa6e8bc5c654a60a7e56f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff1b4c363942583811e0bba8ed31540262b8be88f69b9fc4b1292fb68aebae1f9ac961fc40b85b5d09772143066d17c2259a8827691d817992c800c4a5a188e4c9",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "364e65735b2b2353b1b9ddfc4a5e233b30b0dd91e8019905bffacb6d594b32ca79dff593b6269ddc7e80278daaaba341c3c38f0634a1ae286037f1677db0a307",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2854149062fd692eecc2302747cc08be854c64c4f9abe86c467f161496b19a52bbb5a4da84392573d7e9632a040e9dd737bc9089aedf5b0c15488e9f1b083a7a",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "6b3d87c962321bed12a867180b3dee7d4b31a0692d36e60e73648986742c42b187f96a22088b1539a8ad832cc532adc95470b47e623c65c61ff5da8ceffc100c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000004b9846887f8752427beb39fbad36f0a0170e3f225a7b0c1fc0528c9ee8f4957fb323faa8a5a329c03c0fe2b8df08209d3ad78f8b161745144b418c4e26f3b276",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "97d1caa3bb77456f5ea8142f85e5e22931b559c81947a0f2c9ce5b23980d9bde1a9f42c24b74e2266dbf265f8a6f949fc22b5d75b93bbb1c32557d9eacf7e279",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000440007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800009a37114d6a5c9ee64371c57bdd264e1764edda64f449cbd0ee1a72009890267fc1ae7d2ee5ddfbb5b1693bda1a0b5494c862e0ed1df03b702f2f2c206e4c52c",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "7ebb5024c36f9f249f164e6b8fcbbba3ec255d5f8e279765b9869cf97311411c359084fe6b76956efa55c1d608f013423397178617935ea110c936ffb73317be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff27cd77712e0db1978186e9d6feb6eaa034318fbfbab7fa3342a9e43eeea04c28ddde021916d5fcfe2d1b43743ca1ec2b5288cd553901825e4652cf4cf524bcb4",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "380986a2fbf3d5c6d38ac5ea191f7ef4681f068b475b61bfd909a6c3a30c731c30cfe9ac0e7dda521e574fbb6caf9dc52eb3ebe3106a457f5bda9698d252d827",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff026c17238034c8372217a8cd9a234ecb7debdec5659b7e3f0c6e70ba226824f56acce025ae65da8b0aebc2efe2ef73dd826cea151b201b2f5b4f7623f2fbe332",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "a502a7d0ee2077a3d4b484b02e2ed2d0d132ebd48c2c7d99f1461e1b4428ce97a317e26ef90462e70436789cbcc27986d644e7950650612d9fa2be50d07ea58f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f212780ae4d2fad1163e2a513d72ad6e3c2211f8079ccbddeb9b1e956b2ee36173abe84464b0c78dca8db21f6964e9a1398a5a0f6e1e717ddf4eac517032879266",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "7bd3f02e85464163815804eb8f5cdf3cea258b520ef564d813ee4102a39e93f604d1c537bb93ac7b9d0fffcf89177f4586ea690bfe93a9632c645038a47e82f7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "3",
+          "shared" : "47ed915ca64aac752724aa06b311d171dc14b9c55421ff61c6413b3fc7313ecda03c0addd0d6dbdacd5ea0619054614610d07cd78f9ed4d6df024c781af3efae",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "781a3bd7f99ae145698783495f1f4aac5189d54657c34f76c8847cd5177d6a08a2c837501351e098ba570a3f300cca47f2407ff9172b2954aef46fdbec8429b7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "33485176aa26cfd17a66e1da3c3973f468bc32a1528a67f9d33b7ca29bfd6fa536bac3112bb8f2c2ea198f2f7df5a56dda570931b7852b3224c403a1d08f3dc6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "9c4971c89a22da14abac1304b6228c5d647f8dd8a11b1348c419f430733e849957fb037865efa85f9585ed0ffe8c6ea2c7c39ac8bbeedc84717f8a6be9603f65",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "58be414307cd761143c49224f30ac475e6b8fdbf43be3f130b71ff8d89af5d3b91342898388d1628f56322d327f5f075ca3a766d94213f8ff67076caa253937d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddadcb58796829ca90069",
+          "shared" : "2e03302f2944b3bc902e5fe6b7d1ca3991bf9fd80bafa8df4d4e85a98f33d956280ba0078178b54ed1aa03571ffac2d476c7246ab68ebb9434fac564455f39b8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57796829ca90069",
+          "shared" : "0dcd1e563a94fd8edc83e47ebbc9296d1c27d1aff37b02512c0337ca672ff84ac73a618fa54f2b963182ba141ae596c56f83d0ecb4deb78055cc8ea476d09bfd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57f96829ca90069",
+          "shared" : "aa9ac6d3343fb7aad7128855a22cb25f6cd9b46ea02f2a15c7cdecdc681f3ca38f1860290971852de94cc68810d41d14607f558e3858394cef8b166abee023a2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796819ca90069",
+          "shared" : "5f155d9d14680aa5efb4ed59f670f6efc59c15bb03b59b3a2cf1a4a1546b7e35bfd99194cfe72e79216c1daebdcd247e934eab457ca90d4d2c38b64517e0cce0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b",
+          "shared" : "194871645bbfc309eba92c5613ca7c6aa566fdab45635f656148ec7122d71c825f36852f52722ea949c2572dbb6b894a21f96a05c9bee0df6c6b4faa3197079a",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b",
+          "shared" : "3a6e57858d4e61c7ed2cb93c124221210293a345b47f7644910543ac03117f48b0343ddebd2cf9925e3dc5e1ea590739ed2c2372e1146f84fd262ac7d8eebacd",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063",
+          "shared" : "8e0a186a51eae08a86fdd476bcfd961d02be74966ce3c2d937c808db518f2ddc4760bfc924af72f85eb188ebc70edde6d12f402735f58b9006f8b8e283ef9fbe",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90066",
+          "shared" : "47ed915ca64aac752724aa06b311d171dc14b9c55421ff61c6413b3fc7313ecda03c0addd0d6dbdacd5ea0619054614610d07cd78f9ed4d6df024c781af3efae",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067",
+          "shared" : "300b1d80d9dc5587076b7d850ccd00cf8961f389c4ded60bf910d98f196f67c3839d2197101607612b335871a818d50d8f4bb6163cc839cf41af0b742c7254f4",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 41,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5695",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 43,
+          "comment" : "order = -8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920241ff5522624724163b74c02b1951cc3603f834cf724c4c362df1299c63358fccf78faac1a3beb356d9e6be799ee68053efb8e24e2c7ef7a225224a78697d6356ff970201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 44,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920201000201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920201010201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "order = 2083592630841357761914050861997332755048435564175796348448981807380927961881602771668457829077617488768289656930144243078095422967775269405300354",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820234308201ab06072a8648ce3d02013082019e020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892023d00aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796820201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723048181040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80894024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201ff0381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201000381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201020381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "cofactor = 8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820278308201ef06072a8648ce3d0201308201e2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820235308201ac06072a8648ce3d02013082019f020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100a9414de6e5ef176ff64384b554271ef34fde1d646094323012668174776efe4e23c39f2773860bb0bb7ad41d6cc5deef888974b529de7d1168d2a3cf6f6f4dcd30818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723048181040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000000d61096c9018545277fa62c0af905d4d2e2500ecb6c7306b6508079532c53907b58e3a7ab89660147c556b10a8ad430325d7484da765aa00b8e007a343c233714f0024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000000d61096c9018545277fa62c0af905d4d2e2500ecb6c7306b6508079532c53907b58e3a7ab89660147c556b10a8ad430325d7484da765aa00b8e007a343c233714f0",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33045040100044044a9dfba839bd5e0edb3dbace1c8f201409f6d505e411f290d8af054fb492a0d0d246c63b2fad54f963f9ae5b3540ccf3417106652f29ce45cd6e41851d7109504818104933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3308184044044db12a9f3868007acd6febf752ed9867c7eaa7cee2007fcf75fce5ab6e29fd4bcf7be655102161c382901b121e83e4238bec36fbb630fb2b480faea69f170560440102f8d5c6d1a1cb7b1a71af950fe2cdde8c3a97bbd42a20f28b62d23d1ca353094c66f8b11312b141d1e25d33bbe2eab0d400556cda371c423e6a0bfad8c31f6048181048b426822b8f89fe91e0cf77c1b02a2a6713f34662ec234cae9b691a49b8f2a8586305c813cd530f88e15dc8e32a58473bc155c650582e1a2d6fb8e2ded2f180e5b3cb1c501797a93179c3e840d7dd0a0162bba8a5a5082c979e23237d7ac4e42bf1d4ddcc991c57071835803eb0d8d25f4623ba93a4d00fde689dfa11d8556b7024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200048b426822b8f89fe91e0cf77c1b02a2a6713f34662ec234cae9b691a49b8f2a8586305c813cd530f88e15dc8e32a58473bc155c650582e1a2d6fb8e2ded2f180e4fa0ebf3da7049f82838a82a264c2b67b504d32959794f455c816a929886ba2ebe304d23d234a2d23d4a4926fb95f3c0341fc385f335c587422080b53ab4f23c",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "public key on isomorphic curve brainpoolP512t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004552e0f403a37a53cab048d6c6616973fb80ccbebb788a5d743f6bd48b27e819100acd53c86a95420e52cfa18d958bcb7844f05e40824b5eb38c827456e9b410c6787bafb0cf873f535c82381c81bbea8e7291b68f93e58f5657af40333aefc23cdacaedff7b3eefd8cba644bb72e9746c3bacaec3ff14a950dc6e1ffb03789ab",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004f1ed1cb1ceb7eeef8f7044b8f3bf488604a1a226a697a202b9fe094b4ef15b2f33ddb17fa5447d65e2783f72821ea01268235d58e18bd14e",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fa60a443999e02e693e83e198e6ae8d77c6d5b0fad9269ddcfbcf3fd7454ab551fcd8ec3145c902ac6f57112b1fe5415c0b974fc9cb15105c174f6c26503bb5d",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004aef982cb3c13ef417bbecfe65d4ac97c8b081f47311069fb63629e45440045c1cbb26cbc4e2c7139511b5cae95a9f79f0ee8ebffdd68e215f602ee98bd0d0acc180b7061e20f213f043915a246b492c214168bdaf8ff95b0ff68f9e3e7f43657",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040078f1bac16e586a15d828e92a2f35c0690f616a886223b70657639d130a04e58787f2ebb3eb880ea2f396e67e353e326822745959dbe51ee4f80562044c967e33b40018895b6e1370974595784c19b17f8208b900432940680d16367f05f0c1f5ffa607037473461c0a0651884dd35a58c9735d0bb6328c4b5b9d0ec792f0f6f8bc8769",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200046a4213777e31119f578b3e8be06ebf62502d7d10dfe5bf9341dea64525e0978f12cbbd6f17e4e932b4446c48bd3f1189a55b212d89c5194f689f297e3a27e8a6",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b160ff66fc93480bef16ebb4a00b75f3805e884ea875dcfcc73e32a1d764c4dad373d89648afe449018ef5524633459bee47ff9529c5ae41",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004670c87dc73c6bd2291150ca80eb914924286ada22e50f5fe41079ab3f483c7271cf84db06d98a7e4382b528dfea4335a1bb4ada1f61c5030bdc479a2441dfb28",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200045f1de6cf461eecea01567345bdcec2ae56dd607ddd15c26b4ec095ca2afb17b1ffbdf61bd47010d16a92595554d297378212bbfaafb62c179960a4db69a7d3aaed57ba9edbcae9b05e3b905fa5eafff1",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004408d98134c7ff4519187d68da6cb6c7b5d257b98d1240985404d497682656a60e2d4abda818d20d2524af5357700aeff6ecc536169279a38c53bd5dbe49c240eb30cba040568b09ee65be595c25a090dd94ddc06b441f78de9e290fae01fbb11",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00049bd1aff3c1d564b390e8f9575b123cf2c47151fc1cf534e4c24c254382531d828902af3eaf1383410ffed334caa12697265024b764a8cc40",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004683cf7c313c9503ed4dab6b6a25463c5d682aac16ee5b33785321e77304201774c22f4703e5cac4891c56c1d8ac3d535f192c041ebfa78979ebbddeb87780607",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040f31598d0b84972ae50be531e0ecf11b721b76d8e2843940de0397d7fffb62dc382ddce29ec2ce7baaed79f9144811e1ca8194c8046458fe3956550885315dfe0e29efd283be076ddc81e1a857705804",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004483dae8e878eb44c217e0ba373ead244428398d83bd0ba1473747887c1c5a5de6e7d42b9f6fab658277f4046ebb6c6b43aa548690bbde6a2d77ec48c81da44183f7631c9ffbdead397d9ff6cf8ece2c21a2f989cede73bec5f461cbbbafd01b4",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041bddcd407461d821e5879eb6b27736dc1112c3c9177fc3cf1a1bbd39654514d7c82950e9f674a4ce4c7fc9f9410c5ed9b194c926c1fb0c178940e46dc4fcf12c222d62b9c3f76ba459f8eae72d5b2c8df5a2cecf34dcc66108538a0f6aedd8e2e9c51515a290f244e3e40e352a6e86a58af41cd89f7dee16199bc84d2051c43e",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP512r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010d034200022564ece76989d82265ea79fe5b41b2dfad2268e27df8ee7260d937435da3777a5106557dfbdb64d106c2ad46e64dc63e0eaa22e81a03d25b870578d86b0f1432",
+          "private" : "57087c2e66e2221d0618077207ced3fe31627f83afe4ea3d3999a26d9737fa8ace4f50b968930cae8bbf55b422335f22d85a23582b076c2836e060cd1157cffa",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 76,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "3082009b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 77,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3082001406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 78,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016068200072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201068200092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301406072a8648ce3d020106092b240303020801010d038200820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "309c301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "309a301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301506072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301306072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406082a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406062a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d0201060a2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106082b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03830004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03810004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3085010000009b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03085010000001406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03019068501000000072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0301906072a8648ce3d0201068501000000092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010d038501000000820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "308901000000000000009b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4308901000000000000001406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06890100000000000000072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06072a8648ce3d020106890100000000000000092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301406072a8648ce3d020106092b240303020801010d03890100000000000000820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f30847fffffff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301806847fffffff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301806072a8648ce3d020106847fffffff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e301406072a8648ce3d020106092b240303020801010d03847fffffff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f3084ffffffff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f30180684ffffffff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301806072a8648ce3d02010684ffffffff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e301406072a8648ce3d020106092b240303020801010d0384ffffffff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03085ffffffffff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a030190685ffffffffff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0301906072a8648ce3d02010685ffffffffff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010d0385ffffffffff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a33088ffffffffffffffff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a2301406072a8648ce3d020106092b240303020801010d0388ffffffffffffffff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b30ff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406ff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106ff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03ff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b308006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406802a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106802b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03800004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081850381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "30",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "308186300381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010d00000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d0000301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016000006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d00000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30500",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010d05000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a149817730819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0250030819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30004deadbeef",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03019498177301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f30182500301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a33016301406072a8648ce3d020106092b240303020801010d0004deadbeef0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03019260c49817706072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f3018260b250006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c260906072a8648ce3d02010004deadbeef06092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0301906072a8648ce3d0201260e49817706092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301806072a8648ce3d0201260d250006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c06072a8648ce3d0201260b06092b240303020801010d0004deadbeef0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1301406072a8648ce3d020106092b240303020801010d2381884981770381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0301406072a8648ce3d020106092b240303020801010d23818725000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301406072a8648ce3d020106092b240303020801010d2381850381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30004deadbeef",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4aa00bb00cd0030819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a2aa02aabb30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301caa00bb00cd00301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1301aaa02aabb301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1301a260daa02aabb06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1301a06072a8648ce3d0201260faa02aabb06092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301406072a8648ce3d020106092b240303020801010d23818baa00bb00cd000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a2301406072a8648ce3d020106092b240303020801010d238189aa02aabb0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30818730810381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "0500",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "30818705000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "2e819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "2f819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "31819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "32819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "ff819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b2e1406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b2f1406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b311406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b321406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819bff1406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30818730000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a1406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306072a8648ce3d020106092b240303020801010381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a3013072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d308006072a8648ce3d020106092b240303020801010d00000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f300",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c308006072a8648ce3d020106092b240303020801010d000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f305000000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f308006072a8648ce3d020106092b240303020801010d050000000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3060811220000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1308006072a8648ce3d020106092b240303020801010d0608112200000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000fe02beef",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1308006072a8648ce3d020106092b240303020801010d0000fe02beef0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30002beef",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f308006072a8648ce3d020106092b240303020801010d0002beef0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3000301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016300006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f33000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010d30000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3016301406072a8648ce3d020106092b240303020801010d",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "308190300906072a8648ce3d02010381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820120301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a6301f06072a8648ce3d020106092b240303020801010d06092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c30811406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c30150681072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301506072a8648ce3d02010681092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308192300b06092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "308193300c0606092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "308191300a06072a8648ce3d0201060381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606092a8648ce3d0201000006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201060b2b240303020801010d00000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016060900002a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201060b00002b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201000006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606092a8648ce3d0201050006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201060b2b240303020801010d05000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308194300d068106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308192300b06072a8648ce3d020106810381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "308194300d050006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "308192300b06072a8648ce3d020105000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301404072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301405072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301407072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301408072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b3014ff072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020104092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020105092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020107092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020108092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d0201ff092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308194300d060006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308192300b06072a8648ce3d020106000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b30140607288648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d0201060929240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d028106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801018d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306062a8648ce3d0206092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306068648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306072a8648ce3d020106082b240303020801010381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306072a8648ce3d02010608240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e3017060a3262306530333032316106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a6301f061236303836343830313635303330343032303106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301506072a8648ce3d0201060a326230653033303231610381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06072a8648ce3d020106123630383634383031363530333034303230310381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06103261383634386365336430323031303106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a6301f06072a8648ce3d0201061432623234303330333032303830313031306430310381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a2301b060e326138363438636533643032313106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081aa302306163261383634386365336430323838383038303830303106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06072a8648ce3d020106123262323430333033303230383031303131640381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081ac302506072a8648ce3d0201061a32623234303330333032303830313031383838303830383030640381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081b4302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081b6302f06072a8648ce3d020106243262323430333033303230383031303138323830383038303830383038303830383030640381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a5301e0611326138363438636533643032303165303306092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301506082a808648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a7302006072a8648ce3d020106153262323430333033303230383031303130646530330381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301506072a8648ce3d0201060a2b80240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010d03",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381840004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d03818400000004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381840004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30500",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010d0381",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010d0500",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0181820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0281820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0481820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0581820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010dff81820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010d0300",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820204770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd39373",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d0381810004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03818104770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820104770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010d0381862004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f301020304",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP512r1",
+          "public" : "3019301406072a8648ce3d020106092b240303020801010d030103",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381828004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_secp224r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_secp224r1_test.json
new file mode 100644
index 0000000..fb923dc
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_secp224r1_test.json
@@ -0,0 +1,3300 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 279,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "secp224r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00047d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc719b01d050dfbe653e72f39491be87fb1a2742daa6e0a2aada98bb1aca",
+          "private" : "565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328",
+          "shared" : "b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "secp224r1",
+          "public" : "3032301006072a8648ce3d020106052b81040021031e00027d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc71",
+          "private" : "565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328",
+          "shared" : "b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00045763fa2ae16367ad23d471cc9a52466f0d81d864e5640cefe384114594d9fecfbed4f254505ac8b41d2532055a07f0241c4818b552cbb636",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "00000000000000000000000100000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004142c1fd80fa2121a59aa898144084ec033f7a56a34eee0b499e29ae51c6d8c1bbb1ef2a76d565899fe44ffc1207d530d7f598fb77f4bb76b",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ed6f793e10c80d12d871cf8988399c4898a9bf9ffd8f27399f63de25f0051cdf4eec7f368f922cfcd948893ceca0c92e540cc4367a99a66a",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "00000000ffffffffffffffff00000000000000010000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000408fcfc1a63c82860be12e4137433dfc40be9acdd245f9a8c4e56be61a385fc09f808383383f4b1d0d5365b6e5dcfacdc19bc7bcfed221274",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004d883ed77f1861e8712800d31df67888fe39f150c79a27aa88caeda6b180f3f623e2ff3ab5370cf8179165b085af3dd4502850c0104caed9a",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "0003fffffff00000003fffffff00000003fffffff000000040000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00042b8b279b85ee3f3d2c0abeb36fdfc5aad6157d652d26489381a32cd73224bd757ef794acc92b0b3b9e7990618bb343a9a09bdb9d3616eff6",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "01fffffffc00000007fffffff00000001fffffffc000000080000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004a281ad992b363597ac93ff0de8ab1f7e51a6672dcbb58f9d739ba430ce0192874038daefc3130eec65811c7255da70fea65c1003f6892faa",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004be3e22133f51203f631b81dde8c020cdea5daa1f99cfc05c88fad2dc0f243798d6e72d1de9e3cdca4144e0a6c0f2a584d07589006972c197",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004af14547c20afbd91bfe64ea03d45a76a71241f23520ef897ff91eff1b54ca6ca8c25fd73852ec6654617434eff7f0225684d4dea7a4f8a97",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004b1e484925018729926acda56ff3e2f6c1e7e8f162b178d8e8afb45564fceaa6da5d998fe26b6b26a055169063a5ab6908852ca8b54e2de6c",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004937eb09fb145c8829cb7df20a4cbeed396791373de277871d6c5f9cc3b5b4fd56464a71fc4a2a6af3bd251952bffa829489e68a8d06f96b6",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000001000000000000000000000000000000012ea2f4917bdfdb008306cc10a18e2557633ba861001829dcbfb96fba",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "be1ded8cb7ff8a585181f96d681e31b332fe27dcae922dca2310300d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000400000000000000ffffffffffffff000000000000010000000000000073ca5f8f104997a2399e0c7f25e72a75ec29fc4542533d3fea89a33a",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "a2e86a260e13515918a0cafdd87855f231b5624c560f976159e06a75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000400000000ffffffffffffffff000000000000000100000000000000006fe6805f59b19b0dd389452a1d4a420bfeb6c369cf6fed5b12e6e654",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "31ef7c8d10404a0046994f313a70574b027e87f9028eca242c1b5bf5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff77c5cfa4e2c384938d48bd8dd98f54c86b279f1df8c0a1f6692439c9",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "d1976a8ef5f54f24f5a269ad504fdca849fc9c28587ba294ef267396",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00040003fffffff00000003fffffff00000003fffffff00000004000000001f0828136016bb97445461bc59f2175d8d23557d6b9381f26136e3d",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "ce7890d108ddb2e5474e6417fcf7a9f2b3bd018816062f4835260dc8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000401fffffffc00000007fffffff00000001fffffffc0000000800000012d8acca6f199d4a94b933ba1aa713a7debde8ac57b928f596ae66a66",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "30b6ff6e8051dae51e4fe34b2d9a0b1879153e007eb0b5bdf1791a9c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff7d8dbca36c56bcaae92e3475f799294f30768038e816a7d5f7f07d77",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "73bd63bd384a0faafb75cfed3e95d3892cbacf0db10f282c3b644771",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800174f1ff5ea7fbc72b92f61e06556c26bab84c0b082dd6400ca1c1eb6d",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "85b079c62e1f5b0fd6841dfa16026e15b641f65e13a14042567166bb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0126fdd5fccd0b5aa7fd5bb5b1308584b30556248cec80208a2fe962",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "8a834ff40e3fc9f9d412a481e18537ea799536c5520c6c7baaf12166",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff20cfa23077acc9fbcb71339c65880cd0b966b8a9497e65abed17f0b5",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "a0887269766e6efcbc81d2b38f2d4638663f12377468a23421044188",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1c05ac2d4f10b69877c3243d51f887277b7bf735c326ab2f0d70da8c",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "c65d1911bc076a74588d8793ce7a0dcabf5793460cd2ebb02754a1be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "3",
+          "shared" : "e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "fa2664717c7fa0161ec2c669b2c0986cdc20456a6e5406302bb53c77",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "1000000000000000000000000000000000000000000000000000000",
+          "shared" : "af6e5ad34497bae0745f53ad78ce8b285d79f400d5c6e6a071f8e6bd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "12fd302ff8c13c55a9c111f8bb6b0a13ecf88299c0ae3032ce2bcaff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "080000000000000000000000000000000000000000000000000000000",
+          "shared" : "73f1a395b842f1a6752ae417e2c3dc90cafc4476d1d861b7e68ad030",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03d13dd29455c5c2a3d",
+          "shared" : "b329c20ddb7c78ee4e622bb23a984c0d273ba34b6269f3d9e8f89f8e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13cd29455c5c2a3d",
+          "shared" : "6f48345209b290ffc5abbe754a201479e5d667a209468080d06197b4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13d529455c5c2a3d",
+          "shared" : "9f6e30c1c9dad42a153aacd4b49a8e5c721d085cd07b5d5aec244fc1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29445c5c2a3d",
+          "shared" : "8cadfb19a80949e61bd5b829ad0e76d18a5bb2eeb9ed7fe2b901cecd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29b7",
+          "shared" : "475fd96e0eb8cb8f100a5d7fe043a7a6851d1d611da2643a3c6ae708",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37",
+          "shared" : "41ef931d669d1f57d8bb95a01a92321da74be8c6cbc3bbe0b2e73ebd",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
+          "shared" : "e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b",
+          "shared" : "11ff15126411299cbd49e2b7542e69e91ef132e2551a16ecfebb23a3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 38,
+          "comment" : "public point not on curve",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5d",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 39,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 40,
+          "comment" : "order = -26959946667150639794667015087019625940457807714424391721682722368061",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021dff0000000000000000000000000000e95d1f470fc1ec22d6baa3a3d5c3020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 41,
+          "comment" : "order = 0",
+          "curve" : "secp224r1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020100020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "order = 1",
+          "curve" : "secp224r1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020101020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 43,
+          "comment" : "order = 6277101735386680763835789423207665314073163949517624387909",
+          "curve" : "secp224r1",
+          "public" : "3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021900ffffffffffffffffffffffffffff16a2e0b8f03e13dd2945020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 44,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb40439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "generator not on curve",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e36021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "cofactor = -1",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "cofactor = 0",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "cofactor = 2",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020102033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "cofactor = 26959946667150639794667015087019625940457807714424391721682722368061",
+          "curve" : "secp224r1",
+          "public" : "3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "cofactor = None",
+          "curve" : "secp224r1",
+          "public" : "308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "modified prime",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c123da0a46a971da9468161e61a5c71a02e6c9bdb3392f4016fb457b303c041c3edc25f5b9568e256b97e9e19e5a38e4fd1936424cc6d0bfe904ba83041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "using secp256r1",
+          "curve" : "secp224r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "using secp256k1",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "a = 0",
+          "curve" : "secp224r1",
+          "public" : "3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff0000000000000000000000013021040100041cd0d5e347a38ce5b6e1f47edddd8a223bca45d2015de76ec835a4df57043904a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "public key of order 3",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cd27fc5ef3c9015ef906182f3310be31b28f0d89b7f00b7590e490f2b041c06d4c9f624f4115737a9c30cf065bfd8b406edc59556d27c6a4aef020439040b49c9d49f823d7151eb674c7875869ddb67fbbc82747b26f92eb0bb9649347e8c5bde96878d878ce7fd614b6da8fdcadc25649c44e74b74021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a00040b49c9d49f823d7151eb674c7875869ddb67fbbc82747b26f92eb0bb69b6cb8173a421697872787318029eb39257023523da9b63bb18b48d",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "secp224r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ea36cf70fab75684eabe6569ce623db0deaa8c95f61c8be50b8b9f3eb7d4b9ec48d9e4814f4cb1c286589eaaa990d3f3238b2d6d6be964abfad964824b653376",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "secp224r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200044b2470ad3d13269c10a17d222ebdffbd61fb04488db1b1d7caef8d4988b7bb8ba6d81857a05b255232b9e37a30e328bb9d9c42d86096f2bcee3d258cfe208d2fd03cbd5ccc6a3bb8ce4b0efa5b059b4afbd0377aa6e274721a57efe8ee85d86a",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "secp224r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004012841a2260f0f1f424865fef275374779bf0355720223f8ec6a9ba767b1603b492f58a6bba1705d882257bc6be1935de4411c5f1fdad44ec65ba8b97ce0e73e1ac90006937832a602147e37c1a42ca2a63629ffc9a35b31bfacb38c6242b42916125f7446b45c718f797259bc3011cb71e868560b331cf7d01139a0643443f9fd7306c1",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004c2199fecf75648c0e952dff143821fa4012b28f90435ce6ee54653687f969a76092a3844e17d478a594f43b28cc10a5c553b4f64906121031c3a79299c70dbd6",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00046caa3d6d86f792df7b29e41eb4203150f60f4fca10f57d0b2454abfb201f9f7e6dcbb92bdcfb9240dc86bcaeaf157c77bca22b2ec86ee8d6",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp224r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200042750180012c3ba7489517d428e4826784e50b50ac42ef7991c61a396c03a52da5e74908ae8a89627a7c15e554b105b0ebaeebcfed10e3ea60223d0a8bc3b36ab",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp224r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200045b523d3a8f20f6a569c6951e0b8de48d89e7549a184e8506820421c3e404473692cd248d7480843b911d87a87e401112fce0d3d2c36978cf6dd7f1d93bfaebe0827d4bf4006006d3202e842126fe1b68",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp224r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004449607c76c6dc7334c269a0ebab5beec83b6c263377ce06ef5c276f45a9916eff85f50438f5f32ced0210a6c414fe5e242c7c1070823f5395b35965bda6758acf84725f11ea836dda7d391fee91342026645241853224a437a6fb74e4cdc871f",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp224r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000463e7a491240848e4f53ea5fb857d428c493053193e4b0b4f995ac8bf4c56276a507870131a384aa7e236c64cd7a049a1b37e40ad00c3b8a920dcbad6531616356ce1b6e6d96a7d1b693e25e5abd83ab560a3d764bcd49ec98a1b49421163bd5fc5a625f44c91eb4c2984d5a2e51e816ebdee8fbe08364bb14b7ac876990e64d9",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047c592ecb8908355d1ebf8d59b3619275dbe3666209b72ced6a3c88740456ce61d6a84e0542d7cd10dd8804afb8c784d5dffd9480d8cfdc95",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp224r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004746226a3e005c37ede51828d3375ef91ebd0ff719a380af69d7dfd131b42a3e8917d4a4d573872935a74d1040f1c47d25d6b26f4156cccdcdc11833b9cde433a",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp224r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200043298b36825c7bd90ab5157b913d40bbfd732a0de0557e02a2c65a0c223e9a65d62c32462040dd6fe578103023c831caff122c1ed4b8ff7373fa2f08d11c9f4c7f85f81802262ffed9bb82cb6d92eed2d",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp224r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200043af2849b981f7e5e6ab936e6abb4f206c1fd5561998df8008bfe98d84173c9f2301cdbd5bffc569c0b5a57ce2a8f4d640f1816475fc6043baa8e5a3453bf327b54cb29c7e54a5f31348969aa94615094dbcd1a8e5c2d630465e45fc556c02194",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp224r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000453d2506047e72af6d98558e1633ecb7e6a05c37861cd3289455cf41bfbf1703f2e9a83052b8eca7d84cba2f001abd8b978f68b69ed6bd874755c44d347fe302c5760b2078c56b24ebd0dcd99f26b8f8a23044b3767a3d2a306587687a7b00668974674edbf18c3db2f3473a97ee77065fdcdd1a9aa053716a4c504f3d18b9170",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "invalid public key",
+          "curve" : "secp224r1",
+          "public" : "3032301006072a8648ce3d020106052b81040021031e00020ca753db5ddeca474241f8d2dafc0844343fd0e37eded2f0192d51b2",
+          "private" : "0fc28a0ca0f8e36b0d4f71421845135a22aef543b9fddf8c775b2d18f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 71,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "30814e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 72,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "304f30811006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 73,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "304f30110681072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 74,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "304f301106072a8648ce3d02010681052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 75,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "304f301006072a8648ce3d020106052b8104002103813a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 76,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "3082004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 77,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "30503082001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 78,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "30503012068200072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d0201068200052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b810400210382003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304f301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301106072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e300f06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006082a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006062a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106062b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106042b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033b000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3085010000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "30533085010000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "30533015068501000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d0201068501000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3053301006072a8648ce3d020106052b810400210385010000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "308901000000000000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3057308901000000000000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3057301906890100000000000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3057301906072a8648ce3d020106890100000000000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3057301006072a8648ce3d020106052b81040021038901000000000000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "30847fffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "305230847fffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301406847fffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d020106847fffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301006072a8648ce3d020106052b8104002103847fffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "3084ffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "30523084ffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "305230140684ffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d02010684ffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301006072a8648ce3d020106052b810400210384ffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "3085ffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "30533085ffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "305330150685ffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d02010685ffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "3053301006072a8648ce3d020106052b810400210385ffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "3088ffffffffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "30563088ffffffffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "305630180688ffffffffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "3056301806072a8648ce3d02010688ffffffffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b810400210388ffffffffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "30ff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "304e30ff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "304e301006ff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106ff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b8104002103ff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "304e308006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "304e301006802a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106802b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b810400210380000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "removing sequence",
+          "curve" : "secp224r1",
+          "public" : "",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "removing sequence",
+          "curve" : "secp224r1",
+          "public" : "303c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp224r1",
+          "public" : "30",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp224r1",
+          "public" : "303d30033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "30500000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "30503012000006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106052b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3053498177304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30522500304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30533015498177301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "305230142500301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30563012301006072a8648ce3d020106052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30533015260c49817706072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30523014260b250006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30563018260906072a8648ce3d02010004deadbeef06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d0201260a49817706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d02012609250006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3056301806072a8648ce3d0201260706052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3053301006072a8648ce3d020106052b81040021233f498177033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3052301006072a8648ce3d020106052b81040021233e2500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b81040021233c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3056aa00bb00cd00304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3054aa02aabb304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "30563018aa00bb00cd00301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "30543016aa02aabb301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "30563018260faa00bb00cd0006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "30543016260daa02aabb06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3056301806072a8648ce3d0201260daa00bb00cd0006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3054301606072a8648ce3d0201260baa02aabb06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b810400212342aa00bb00cd00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3054301006072a8648ce3d020106052b810400212340aa02aabb033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp224r1",
+          "public" : "3081",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp224r1",
+          "public" : "303e3081033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp224r1",
+          "public" : "0500",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp224r1",
+          "public" : "303e0500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "2e4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "2f4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "314e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "324e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "ff4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304e2e1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304e2f1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304e311006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304e321006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304eff1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp224r1",
+          "public" : "3000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp224r1",
+          "public" : "303e3000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "truncate sequence",
+          "curve" : "secp224r1",
+          "public" : "304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "truncate sequence",
+          "curve" : "secp224r1",
+          "public" : "304d1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncate sequence",
+          "curve" : "secp224r1",
+          "public" : "304d300f06072a8648ce3d020106052b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "truncate sequence",
+          "curve" : "secp224r1",
+          "public" : "304d300f072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "indefinite length",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "indefinite length",
+          "curve" : "secp224r1",
+          "public" : "3050308006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6200",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp224r1",
+          "public" : "304f308006072a8648ce3d020106052b8104002100033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6205000000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp224r1",
+          "public" : "3052308006072a8648ce3d020106052b8104002105000000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62060811220000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp224r1",
+          "public" : "3054308006072a8648ce3d020106052b81040021060811220000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000fe02beef",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp224r1",
+          "public" : "3054308006072a8648ce3d020106052b810400210000fe02beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620002beef",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp224r1",
+          "public" : "3052308006072a8648ce3d020106052b810400210002beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp224r1",
+          "public" : "30503000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp224r1",
+          "public" : "30503012300006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "append empty sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da623000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "append empty sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106052b810400213000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "sequence of sequence",
+          "curve" : "secp224r1",
+          "public" : "3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "sequence of sequence",
+          "curve" : "secp224r1",
+          "public" : "30503012301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "truncated sequence",
+          "curve" : "secp224r1",
+          "public" : "3012301006072a8648ce3d020106052b81040021",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "truncated sequence",
+          "curve" : "secp224r1",
+          "public" : "3047300906072a8648ce3d0201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp224r1",
+          "public" : "30818a301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp224r1",
+          "public" : "3055301706072a8648ce3d020106052b8104002106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "removing oid",
+          "curve" : "secp224r1",
+          "public" : "3045300706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "lonely oid tag",
+          "curve" : "secp224r1",
+          "public" : "304630080606052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "lonely oid tag",
+          "curve" : "secp224r1",
+          "public" : "3048300a06072a8648ce3d020106033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206092a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106072b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "30503012060900002a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d0201060700002b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "appending null value to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206092a8648ce3d0201050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "appending null value to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106072b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "truncated length of oid",
+          "curve" : "secp224r1",
+          "public" : "30473009068106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "truncated length of oid",
+          "curve" : "secp224r1",
+          "public" : "3049300b06072a8648ce3d02010681033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp224r1",
+          "public" : "30473009050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp224r1",
+          "public" : "3049300b06072a8648ce3d02010500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301004072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301005072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301007072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301008072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e3010ff072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020104052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020105052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020107052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020108052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d0201ff052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "dropping value of oid",
+          "curve" : "secp224r1",
+          "public" : "30473009060006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "dropping value of oid",
+          "curve" : "secp224r1",
+          "public" : "3049300b06072a8648ce3d02010600033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp224r1",
+          "public" : "304e30100607288648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052981040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d028106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b810400a1033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "truncate oid",
+          "curve" : "secp224r1",
+          "public" : "304d300f06062a8648ce3d0206052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "truncate oid",
+          "curve" : "secp224r1",
+          "public" : "304d300f06068648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "truncate oid",
+          "curve" : "secp224r1",
+          "public" : "304d300f06072a8648ce3d020106042b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "truncate oid",
+          "curve" : "secp224r1",
+          "public" : "304d300f06072a8648ce3d0201060481040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "wrong oid",
+          "curve" : "secp224r1",
+          "public" : "30513013060a3262306530333032316106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "wrong oid",
+          "curve" : "secp224r1",
+          "public" : "3059301b061236303836343830313635303330343032303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "wrong oid",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d0201060a32623065303330323161033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "wrong oid",
+          "curve" : "secp224r1",
+          "public" : "305b301d06072a8648ce3d02010612363038363438303136353033303430323031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "longer oid",
+          "curve" : "secp224r1",
+          "public" : "3057301906103261383634386365336430323031303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "longer oid",
+          "curve" : "secp224r1",
+          "public" : "3055301706072a8648ce3d0201060c326238313034303032313031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "oid with modified node",
+          "curve" : "secp224r1",
+          "public" : "30553017060e326138363438636533643032313106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "oid with modified node",
+          "curve" : "secp224r1",
+          "public" : "305d301f06163261383634386365336430323838383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "oid with modified node",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d0201060a32623831303430303331033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "oid with modified node",
+          "curve" : "secp224r1",
+          "public" : "305b301d06072a8648ce3d02010612326238313034303038383830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "large integer in oid",
+          "curve" : "secp224r1",
+          "public" : "306730290620326138363438636533643032383238303830383038303830383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "large integer in oid",
+          "curve" : "secp224r1",
+          "public" : "3065302706072a8648ce3d0201061c32623831303430303832383038303830383038303830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "oid with invalid node",
+          "curve" : "secp224r1",
+          "public" : "3058301a0611326138363438636533643032303165303306052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "oid with invalid node",
+          "curve" : "secp224r1",
+          "public" : "304f301106082a808648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "oid with invalid node",
+          "curve" : "secp224r1",
+          "public" : "3056301806072a8648ce3d0201060d32623831303430303231653033033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "oid with invalid node",
+          "curve" : "secp224r1",
+          "public" : "304f301106072a8648ce3d020106062b8081040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp224r1",
+          "public" : "3013301006072a8648ce3d020106052b8104002103",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033c0000000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp224r1",
+          "public" : "3014301006072a8648ce3d020106052b810400210381",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp224r1",
+          "public" : "3014301006072a8648ce3d020106052b810400210500",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021013a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021023a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021043a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021053a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021ff3a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp224r1",
+          "public" : "3014301006072a8648ce3d020106052b810400210300",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a020486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3dae2",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "truncate bit string",
+          "curve" : "secp224r1",
+          "public" : "304d301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "truncate bit string",
+          "curve" : "secp224r1",
+          "public" : "304d301006072a8648ce3d020106052b8104002103390486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a010486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp224r1",
+          "public" : "3052301006072a8648ce3d020106052b81040021033e200486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6201020304",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp224r1",
+          "public" : "3015301006072a8648ce3d020106052b81040021030103",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "128 unused bits",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a800486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_secp256k1_test.json b/src/third_party/wycheproof_testvectors/ecdh_secp256k1_test.json
new file mode 100644
index 0000000..3c28011
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_secp256k1_test.json
@@ -0,0 +1,3400 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 288,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "secp256k1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004d8096af8a11e0b80037e1ee68246b5dcbb0aeb1cf1244fd767db80f3fa27da2b396812ea1686e7472e9692eaf3e958e50e9500d3b4c77243db1f2acd67ba9cc4",
+          "private" : "0f4b7ff7cccc98813a69fae3df222bfe3f4e28f764bf91b4a10d8096ce446b254",
+          "shared" : "544dfae22af6af939042b1d85b71a1e49e9a5614123c4d6ad0c8af65baf87d65",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "secp256k1",
+          "public" : "3036301006072a8648ce3d020106052b8104000a03220002d8096af8a11e0b80037e1ee68246b5dcbb0aeb1cf1244fd767db80f3fa27da2b",
+          "private" : "0f4b7ff7cccc98813a69fae3df222bfe3f4e28f764bf91b4a10d8096ce446b254",
+          "shared" : "544dfae22af6af939042b1d85b71a1e49e9a5614123c4d6ad0c8af65baf87d65",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004965ff42d654e058ee7317cced7caf093fbb180d8d3a74b0dcd9d8cd47a39d5cb9c2aa4daac01a4be37c20467ede964662f12983e0b5272a47a5f2785685d8087",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000406c4b87ba76c6dcb101f54a050a086aa2cb0722f03137df5a922472f1bdc11b982e3c735c4b6c481d09269559f080ad08632f370a054af12c1fd1eced2ea9211",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004166aed3bc281705444f933913f670957a118f8da2c71bd301a90929743e2ca583514a7972e33d6fea1e377ef4184937f67b37e41ef3099c228a88f5bfb67e5b9",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000436e1e76ffdbe8577520b0716eb88c18ea72a49e5a4e5680a7d290093f841cb6e7310728b59c7572c4b35fb6c29c36ebabfc53553c06ecf747fcfbefcf6114e1c",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004728e15d578212bc42287c0118c82c84b126f97d549223c10ad07f4e98af912385d23b1a6e716925855a247b16effe92773315241ac951cdfefdfac0ed16467f6",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ca03ff8e99e269576cf7564545c89268eb415ff45778732529fa5997cc2b230950d6b84b729bc07f9b2d92754281cdc0d289d2453385aef77e4bdc69bf155c5f",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000451be66137e39bbf35a91c6db5ba6919ff471d885ca94462eaaa65b1eac366baa5910de70b6e09e97aa00621ef18f2801719b199b3e7769fdab2bd909b2f340d7",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004595e46ee7c2d7183ff2ea760ffd8472fb834ec89c08b6ef48ff92b44a13a6e1ae563e23953c97c26441323d2500c84e8cee04c15d4d5d2cc458703d1f2d02d31",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e426e2f5108333117587975f18d8cc078d41e56b7d6b82f585d75b0d73479ffd75800fd41236a56034bed9abc55d82cf059a14d63c07cd0750931714731a1ca1",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "8000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e1c7076caf26010b1767f1a9c4156b5b4236368d5d90dece3441b734e8684ee6b3534c3c54e614e594dce6ca438b87c424c8e80f8fae226bbdf50e4906c13f6b",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004663cea1063c9916b75e85fc815d8a2370ec0a02aceef3db022e395db8b03bf3f188787f4047dc106807526502c7ae880e471c929b92e2384489c8070b5bcc109",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "ff00000001fffffffc00000007fffffff00000001fffffffc000000080000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000424175c078e305d3139e5dab727a6ab8587b26daa470a529a23c10585cb56c038bf1f2b937ae074ff94b15f5cb5e60eb5d32afba2077539db794294bcaab71a81",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004008d71c712dd95881cd1400dbe7683acbd8e269d25261b08f1f491b45e3b5621778182a24198b0f23502d06e24c45122e1f420af48dc1e17b1ea923386a33062",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "ffffffff00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000000000000000000000000000000000014218f20ae6c646b363db68605822fb14264ca8d2587fdd6fbc750d587e76a7ee",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "12c2ad36a59fda5ac4f7e97ff611728d0748ac359fca9b12f6d4f43519516487",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004000000000000000000000000000000000000000000000000000000000000000266fbe727b2ba09e09f5a98d70a5efce8424c5fa425bbda1c511f860657b8535e",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "45aa9666757815e9974140d1b57191c92c588f6e5681131e0df9b3d241831ad4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff3db772ad92db8699ceac1a3c30e126b866c4fefe292cf0c1790e55cee8414f18",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "8163c9dce8356f1df72b698f2f04a14db0263a8402905eee87941b00d8d677f5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff31cf13671b574e313c35217566f18bd2c5f758c140d24e94e6a4fda7f4c7b12b",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "1a32749dcf047a7e06194ccb34d7c9538a16ddabeeede74bea5f7ef04979f7f7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff73b0886496aed70db371e2e49db640abba547e5e0c2763b73a0a42f84348a6b1",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "ab43917a64c1b010159643c18e2eb06d25eedae5b78d02fa9b3debacbf31b777",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000f4d81575c8e328285633ccfd8623f04dd4ed61e187b3a6d7eac553aede7f850",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "1648321c706651adf06643fc4ae06041dce64a82632ad44128061216cc9827ff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0001000242217b7059b3ddebc68e95443f6c109369e1f9323dd24852ac7612996b6e5601",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "fb866b2e4b1f9ed6b37847fc80a19a52e1e91b75d713b0d4f6b995d2d3c75cfe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff4b66003c7482d0f2fd7b1cb2b0b7078cd199f2208fc37eb2ef286ccb2f1224e7",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "3135a6283b97e7537a8bc208a355c2a854b8ee6e4227206730e6d725da044dee",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004800000000000000000000000000000000000000000000000000000000000000069d3cd0c70f1484d4b3bbbd680679ef477a22a07df085634f117c41c08bf1230",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "62959089a7ed477c22cb4f1c7787327318fccca25e5aa3e44688a282931ab049",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200048000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000130f69b6e95a3303214a73ad982a1f3ee169d7ecf958de7b0bca8a9ffa3b8e8b3",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "04fda5c00a396fad6b809a8843de573e86b0403d644995c83313da51fb1f5880",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ff00000001fffffffc00000007fffffff00000001fffffffc00000008000000056951ead861aa8ec7a314fcd54f905bd92c910786375eb7ee5f3a55f8aa87884",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "bbd9937bb51d27f94ecaea29717df789afeac4414e3ef27bb2e6fa7259182e59",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff63a88b2e0c8987c6310cf81d0c935f00213f98a3dad2f43c8128fa313a90d55b",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "bbd9d305b99ff3db56f77fea9e89f32260ee7326040067ce05dd15e0dcc13ed8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ffffffff00000000000000ffffffffffffff000000000000010000000000000066a4456ca6d4054d13b209f6d262e6057ad712566f46e9e238e894deebe3d3aa",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "4ffb2c7962e32d5365f98f66be6286724d40d5f0333ba4fc943c0f0f06cdbb1f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "3",
+          "shared" : "34005694e3cac09332aa42807e3afdc3b3b3bc7c7be887d1f98d76778c55cfd7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "5841acd3cff2d62861bbe11084738006d68ccf35acae615ee9524726e93d0da5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "100000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "4348e4cba371ead03982018abc9aacecaebfd636dda82e609fd298947f907de8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "e56221c2b0dc33b98b90dfd3239a2c0cb1e4ad0399a3aaef3f9d47fb103daef0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "5b34a29b1c4ddcb2101162d34bed9f0702361fe5af505df315eff7befd0e4719",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03abfd25e8cd0364141",
+          "shared" : "cece521b8b5a32bbee38936ba7d645824f238e561701a386fb888e010db54b2f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfc25e8cd0364141",
+          "shared" : "829521b79d71f5011e079756b851a0d5c83557866189a6258c1e78a1700c6904",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfca5e8cd0364141",
+          "shared" : "8c5934793505a6a1f84d41283341680c4923f1f4d562989a11cc626fea5eda5a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8bd0364141",
+          "shared" : "356caee7e7eee031a15e54c3a5c4e72f9c74bb287ce601619ef85eb96c289452",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03640c3",
+          "shared" : "09c7337df6c2b35edf3a21382511cc5add1a71a84cbf8d3396a5be548d92fa67",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364103",
+          "shared" : "d16caedd25793666f9e26f5331382106f54095b3d20d40c745b68ca76c0e6983",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364123",
+          "shared" : "b8ae1e21d8b34ce4caffed7167a26868ec80a7d4a6a98b639d4d05cd226504de",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 41,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364133",
+          "shared" : "02776315fe147a36a4b0987492b6503acdea60f926450e5eddb9f88fc82178d3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413b",
+          "shared" : "3988c9c7050a28794934e5bd67629b556d97a4858d22812835f4a37dca351943",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 43,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
+          "shared" : "34005694e3cac09332aa42807e3afdc3b3b3bc7c7be887d1f98d76778c55cfd7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f",
+          "shared" : "4b52257d8b3ba387797fdf7a752f195ddc4f7d76263de61d0d52a5ec14a36cbf",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "public point not on curve",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e4",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "order = -115792089237316195423570985008687907852837564279074904382605163141518161494337",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80221ff000000000000000000000000000000014551231950b75fc4402da1732fc9bebf0201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "order = 0",
+          "curve" : "secp256k1",
+          "public" : "3081d530818e06072a8648ce3d0201308182020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80201000201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "order = 1",
+          "curve" : "secp256k1",
+          "public" : "3081d530818e06072a8648ce3d0201308182020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80201010201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "order = 26959946667150639794667015087019630673536463705607434823784316690060",
+          "curve" : "secp256k1",
+          "public" : "3081f13081aa06072a8648ce3d020130819e020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8021d00fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8c0201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "generator not on curve",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4ba022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "cofactor = -1",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff0342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "cofactor = 0",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201000342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "cofactor = 2",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201020342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "cofactor = 115792089237316195423570985008687907852837564279074904382605163141518161494337",
+          "curve" : "secp256k1",
+          "public" : "308201153081ce06072a8648ce3d02013081c2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "cofactor = None",
+          "curve" : "secp256k1",
+          "public" : "3081f23081ab06072a8648ce3d020130819f020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "modified prime",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fb524ac7055bebf603a4e216abaa6a9ef8eb2bbea2cd820e59d46d8501f6268b30060401000401070441040000000000000000000006597fa94f5b8380000000000000000000000000000f229ba06e5c03dbcba0eec01b4bcca549cda86e507e8813b5bb2b42df88f12f47022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101034200040000000000000000000006597fa94f5b8380000000000000000000000000000f229ba06e5c03dbcba0eec01b4bcca549cda86e507e8813b5bb2b42df88f12f47",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "using secp224r1",
+          "curve" : "secp256k1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "using secp256r1",
+          "curve" : "secp256k1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "a = 0",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 62,
+          "comment" : "public key of order 3",
+          "curve" : "secp256k1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f30440420e938957757479aa358ed3be8c978ae4668ed53dcd38afa1232fc177451aa9edd042054356ffc19e9634de243957ee3d741c6d322e97a0d1c04fb18b3510f1ae0505c044104afb5ea28bf29743e892afa4d329f6ee83976e83f118239d830c6666bc466925b034f19cd64b916db731c8c716f004bfe0e5a1ec86a8fddf3f7fa15b0019c00b9022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036414102010103420004afb5ea28bf29743e892afa4d329f6ee83976e83f118239d830c6666bc466925bfcb0e6329b46e9248ce3738e90ffb401f1a5e1379570220c0805ea4efe63fb76",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 63,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "secp256k1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000450eb062b54940a455719d523e1ec106525dda34c2fd95ace62b9b16d315d323f089173d10c45dceff155942431750c00ca36f463828e9fab",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "secp256k1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000406372852584037722a7f9bfaad5661acb623162d45f70a552c617f4080e873aa43609275dff6dcaaa122a745d0f154681f9c7726867b43e7523b7f5ab5ea963e",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "secp256k1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040ef5804731d918f037506ee00b8602b877c7d509ffa2c0847a86e7a2d358ba7c981c2a74b22401ac615307a6deb275402fa6c8218c3374f8a91752d2eff6bd14ad8cae596d2f37dae8aeec085760edf4fda9a7cf70253898a54183469072a561",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "secp256k1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400921da57110db26c7838a69d574fc98588c5c07a792cb379f46664cc773c1e1f6fa16148667748ede232d1a1f1cea7f152c5d586172acbeaa48416bcbd70bb27f0f01b4477e1ae74bf4f093184a9f26f103712ccf6ceb45a0505b191606d897edaf872b37f0f90a933000a80fc3207048323c16883a3d67a90aa78bcc9c5e58d784b9b9",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp256k1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00042c9fdd1914cacdb28e39e6fc24b4c3c666cc0d438acc4529a6cc297a2d0fdecb3028d9e4d84c711db352379c080c78659969bdc5d3218901",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004120e4db849e5d960741c7d221aa80fe6e4fcd578191b7f845a68a6fcb8647719a6fffb6165d8ec39389eecc530839c321b2e9040027fba5d9cb9311df7cd3d4d",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp256k1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040efb1c104938f59a931fe6bf69f7ead4036d2336075a708e66b020e1bc5bb6d9cdc86d4e8fa181d7c7ea1af28353044e8cec12eec75a6dd87a5dc902024d93f8c8d9bf43b453fd919151f9bd7bb955c7",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp256k1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200043e96d75b79214e69a4550e25375478bdc9c2a9d0178a77b5700bd5f12e3ce142f50c93dc1ee7268456d7eae2d44b718d6f159e896ae14fbe3aba397801a95e2bb6a9a761e865b289dd9db64aa07c794cedf77328543b94c9b54ce0cf04c60ac8",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp256k1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044f191130740f1b75ae13402960eb22ea801db80ed51a461e06a7b3ba60c9bddd132a6465bbee8afd70cfb4495efbda4f1567b958e6e305bfcb4ac8f05172688e0f2f175aa12425be3ab7271b42f258639e868677d1163c12e641229f1e6427761c9e294de51db564151b21a051d2f7a13661852799557a556a5f3c51d36d083a",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp256k1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00044964b948cefa39cd769e3480d4840a3c58e966161be80df02d9aab33b4a318a32f30130224edcefe0dd64342404e594aa334995b179f641f",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000411157979c08bcd175d34572209a85f3f5d602e35bdc3b553b0f19307672b31ba69d0556bce48c43e2e7e6177055221a4c4b7eb17ee9708f49216de76d6e92ab8",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp256k1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048bb517e198930eba57293419876a8793f711de37c27f200e6fb2c2b13e9fabd4fbc42ad61751ca583031ba76cbc6d745d115addc74eab63bf415c4fa20dbbecae98ac3c3da1a041705cf8959e2ccf453",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp256k1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200045eb38d0261b744b03abef4ae7c17bc886b5b426bd910958f8a49ef62053048f869541b7a05d244315fc9cd74271ec3d518d94114b6006017f4ed5e3c06322baa1c75809a1057ba6fa46d1e1a9927a262e627940d5da538b5a3d1d794d9c866a4",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp256k1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004035fc238e57d980beae0215fb89108f9c6c4afda5d920f9d0583ee7d65f8778ecfff24a31d4f32deb6ea5f7e3adb6affb9327a5e62e09cba07c88b119fd104a83b7811e958e393971a5c9417412070b9f18b03be37e81e0bca5d3ff0873ed1f3113ed0fc57a0344321fb4d6c43f2f6e630a3d3883efe4c21df3e0f0b1208226b",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "invalid public key",
+          "curve" : "secp256k1",
+          "public" : "3036301006072a8648ce3d020106052b8104000a03220002977cb7fb9a0ec5b208e811d6a0795eb78d7642e3cac42a801bcc8fc0f06472d4",
+          "private" : "0d09182a4d0c94ba85f82eff9fc1bddb0b07d3f2af8632fc1c73a3604e8f0b335",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 78,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256k1",
+          "public" : "3036301006072a8648ce3d020106052b8104000a032200020000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "098b5c223cf9cc0920a5145ba1fd2f6afee7e1f66d0120b8536685fdf05ebb300",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256k1",
+          "public" : "3036301006072a8648ce3d020106052b8104000a032200030000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "098b5c223cf9cc0920a5145ba1fd2f6afee7e1f66d0120b8536685fdf05ebb2ff",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "308156301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "305730811006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "305730110681072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "3057301106072a8648ce3d02010681052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "3057301006072a8648ce3d020106052b8104000a0381420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "30820056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "30583082001006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "30583012068200072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d0201068200052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a038200420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3057301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3055301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301106072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056300f06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006082a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006062a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106062b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106042b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03430004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03410004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "30850100000056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305b3085010000001006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305b3015068501000000072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d0201068501000000052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305b301006072a8648ce3d020106052b8104000a038501000000420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "3089010000000000000056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305f308901000000000000001006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305f301906890100000000000000072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305f301906072a8648ce3d020106890100000000000000052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305f301006072a8648ce3d020106052b8104000a03890100000000000000420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "30847fffffff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a30847fffffff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301406847fffffff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d020106847fffffff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301006072a8648ce3d020106052b8104000a03847fffffff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "3084ffffffff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a3084ffffffff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a30140684ffffffff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d02010684ffffffff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301006072a8648ce3d020106052b8104000a0384ffffffff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "3085ffffffffff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "305b3085ffffffffff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "305b30150685ffffffffff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d02010685ffffffffff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "305b301006072a8648ce3d020106052b8104000a0385ffffffffff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "3088ffffffffffffffff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "305e3088ffffffffffffffff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "305e30180688ffffffffffffffff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "305e301806072a8648ce3d02010688ffffffffffffffff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "305e301006072a8648ce3d020106052b8104000a0388ffffffffffffffff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "30ff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "305630ff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "3056301006ff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106ff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03ff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3056308006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3056301006802a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106802b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03800004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "removing sequence",
+          "curve" : "secp256k1",
+          "public" : "",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "removing sequence",
+          "curve" : "secp256k1",
+          "public" : "304403420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp256k1",
+          "public" : "30",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp256k1",
+          "public" : "30453003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106052b8104000a000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "30580000301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "30583012000006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670500",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106052b8104000a050003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b4981773056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a25003056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "30583056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670004deadbeef",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b3015498177301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a30142500301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305e3012301006072a8648ce3d020106052b8104000a0004deadbeef03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b3015260c49817706072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a3014260b250006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305e3018260906072a8648ce3d02010004deadbeef06052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d0201260a49817706052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d02012609250006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305e301806072a8648ce3d0201260706052b8104000a0004deadbeef03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b301006072a8648ce3d020106052b8104000a234749817703420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a301006072a8648ce3d020106052b8104000a2346250003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305e301006072a8648ce3d020106052b8104000a234403420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670004deadbeef",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305eaa00bb00cd003056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305caa02aabb3056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305e3018aa00bb00cd00301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305c3016aa02aabb301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305e3018260faa00bb00cd0006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305c3016260daa02aabb06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305e301806072a8648ce3d0201260daa00bb00cd0006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305c301606072a8648ce3d0201260baa02aabb06052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305e301006072a8648ce3d020106052b8104000a234aaa00bb00cd0003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305c301006072a8648ce3d020106052b8104000a2348aa02aabb03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp256k1",
+          "public" : "3081",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp256k1",
+          "public" : "3046308103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp256k1",
+          "public" : "0500",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp256k1",
+          "public" : "3046050003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "2e56301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "2f56301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3156301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3256301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "ff56301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "30562e1006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "30562f1006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3056311006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3056321006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3056ff1006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3046300003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "truncate sequence",
+          "curve" : "secp256k1",
+          "public" : "3055301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "truncate sequence",
+          "curve" : "secp256k1",
+          "public" : "30551006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "truncate sequence",
+          "curve" : "secp256k1",
+          "public" : "3055300f06072a8648ce3d020106052b81040003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "truncate sequence",
+          "curve" : "secp256k1",
+          "public" : "3055300f072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "indefinite length",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "indefinite length",
+          "curve" : "secp256k1",
+          "public" : "3058308006072a8648ce3d020106052b8104000a000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da326700",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp256k1",
+          "public" : "3057308006072a8648ce3d020106052b8104000a0003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da326705000000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp256k1",
+          "public" : "305a308006072a8648ce3d020106052b8104000a0500000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267060811220000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp256k1",
+          "public" : "305c308006072a8648ce3d020106052b8104000a06081122000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000fe02beef",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp256k1",
+          "public" : "305c308006072a8648ce3d020106052b8104000a0000fe02beef03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670002beef",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp256k1",
+          "public" : "305a308006072a8648ce3d020106052b8104000a0002beef03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp256k1",
+          "public" : "30583000301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp256k1",
+          "public" : "30583012300006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "append empty sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32673000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "append empty sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106052b8104000a300003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "sequence of sequence",
+          "curve" : "secp256k1",
+          "public" : "30583056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "sequence of sequence",
+          "curve" : "secp256k1",
+          "public" : "30583012301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "truncated sequence",
+          "curve" : "secp256k1",
+          "public" : "3012301006072a8648ce3d020106052b8104000a",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "truncated sequence",
+          "curve" : "secp256k1",
+          "public" : "304f300906072a8648ce3d020103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp256k1",
+          "public" : "30819a301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da326703420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp256k1",
+          "public" : "305d301706072a8648ce3d020106052b8104000a06052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "removing oid",
+          "curve" : "secp256k1",
+          "public" : "304d300706052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "lonely oid tag",
+          "curve" : "secp256k1",
+          "public" : "304e30080606052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "lonely oid tag",
+          "curve" : "secp256k1",
+          "public" : "3050300a06072a8648ce3d02010603420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206092a8648ce3d0201000006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106072b8104000a000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "30583012060900002a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d0201060700002b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d0201000006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "appending null value to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206092a8648ce3d0201050006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "appending null value to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106072b8104000a050003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "truncated length of oid",
+          "curve" : "secp256k1",
+          "public" : "304f3009068106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "truncated length of oid",
+          "curve" : "secp256k1",
+          "public" : "3051300b06072a8648ce3d0201068103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp256k1",
+          "public" : "304f3009050006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp256k1",
+          "public" : "3051300b06072a8648ce3d0201050003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301004072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301005072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301007072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301008072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "30563010ff072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020104052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020105052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020107052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020108052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d0201ff052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "dropping value of oid",
+          "curve" : "secp256k1",
+          "public" : "304f3009060006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "dropping value of oid",
+          "curve" : "secp256k1",
+          "public" : "3051300b06072a8648ce3d0201060003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp256k1",
+          "public" : "305630100607288648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d02010605298104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d028106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104008a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "truncate oid",
+          "curve" : "secp256k1",
+          "public" : "3055300f06062a8648ce3d0206052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "truncate oid",
+          "curve" : "secp256k1",
+          "public" : "3055300f06068648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "truncate oid",
+          "curve" : "secp256k1",
+          "public" : "3055300f06072a8648ce3d020106042b81040003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "truncate oid",
+          "curve" : "secp256k1",
+          "public" : "3055300f06072a8648ce3d020106048104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "wrong oid",
+          "curve" : "secp256k1",
+          "public" : "30593013060a3262306530333032316106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "wrong oid",
+          "curve" : "secp256k1",
+          "public" : "3061301b061236303836343830313635303330343032303106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "wrong oid",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d0201060a3262306530333032316103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "wrong oid",
+          "curve" : "secp256k1",
+          "public" : "3063301d06072a8648ce3d0201061236303836343830313635303330343032303103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "longer oid",
+          "curve" : "secp256k1",
+          "public" : "305f301906103261383634386365336430323031303106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "longer oid",
+          "curve" : "secp256k1",
+          "public" : "305d301706072a8648ce3d0201060c32623831303430303061303103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "oid with modified node",
+          "curve" : "secp256k1",
+          "public" : "305d3017060e326138363438636533643032313106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "oid with modified node",
+          "curve" : "secp256k1",
+          "public" : "3065301f06163261383634386365336430323838383038303830303106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "oid with modified node",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d0201060a3262383130343030316103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "oid with modified node",
+          "curve" : "secp256k1",
+          "public" : "3063301d06072a8648ce3d0201061232623831303430303838383038303830306103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "large integer in oid",
+          "curve" : "secp256k1",
+          "public" : "306f30290620326138363438636533643032383238303830383038303830383038303830303106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "large integer in oid",
+          "curve" : "secp256k1",
+          "public" : "306d302706072a8648ce3d0201061c3262383130343030383238303830383038303830383038303830306103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256k1",
+          "public" : "3060301a0611326138363438636533643032303165303306052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256k1",
+          "public" : "3057301106082a808648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256k1",
+          "public" : "305e301806072a8648ce3d0201060d3262383130343030306165303303420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256k1",
+          "public" : "3057301106072a8648ce3d020106062b808104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp256k1",
+          "public" : "3013301006072a8648ce3d020106052b8104000a03",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03440004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a034400000004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03440004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670500",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp256k1",
+          "public" : "3014301006072a8648ce3d020106052b8104000a0381",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp256k1",
+          "public" : "3014301006072a8648ce3d020106052b8104000a0500",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a01420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a02420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a04420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a05420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000aff420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3014301006072a8648ce3d020106052b8104000a0300",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420204e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32e7",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "truncate bit string",
+          "curve" : "secp256k1",
+          "public" : "3055301006072a8648ce3d020106052b8104000a03410004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "truncate bit string",
+          "curve" : "secp256k1",
+          "public" : "3055301006072a8648ce3d020106052b8104000a034104e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420104e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp256k1",
+          "public" : "305a301006072a8648ce3d020106052b8104000a03462004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da326701020304",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 287,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp256k1",
+          "public" : "3015301006072a8648ce3d020106052b8104000a030103",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 288,
+          "comment" : "128 unused bits",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03428004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_secp256r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_secp256r1_test.json
new file mode 100644
index 0000000..484e6d6
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_secp256r1_test.json
@@ -0,0 +1,3436 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 291,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "secp256r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf",
+          "private" : "612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346",
+          "shared" : "53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000362d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26",
+          "private" : "612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346",
+          "shared" : "53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000458fd4168a87795603e2b04390285bdca6e57de6027fe211dd9d25e2212d29e62080d36bd224d7405509295eed02a17150e03b314f96da37445b0d1d29377d12c",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040f6d20c04261ecc3e92846acad48dc8ec5ee35ae0883f0d2ea71216906ee1c47c042689a996dd12830ae459382e94aac56b717af2e2080215f9e41949b1f52be",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400c7defeb1a16236738e9a1123ba621bc8e9a3f2485b3f8ffde7f9ce98f5a8a1cb338c3912b1792f60c2b06ec5231e2d84b0e596e9b76d419ce105ece3791dbc",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "0000000000000000ffffffffffffffff00000000000000010000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e9b98fb2c0ac045f8c76125ffd99eb8a5157be1d7db3e85d655ec1d8210288cf218df24fd2c2746be59df41262ef3a97d986744b2836748a7486230a319ffec0",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e9484e58f3331b66ffed6d90cb1c78065fa28cfba5c7dd4352013d3252ee4277bd7503b045a38b4b247b32c59593580f39e6abfa376c3dca20cf7f9cfb659e13",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004767d7fbb84aa6a4db1079372644e42ecb2fec200c178822392cb8b950ffdd0c91c86853cafd09b52ba2f287f0ebaa26415a3cfabaf92c6a617a19988563d9dea",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f3cb6754b7e2a86d064dfb9f903185aaa4c92b481c2c1a1ff276303bbc4183e49c318599b0984c3563df339311fe143a7d921ee75b755a52c6f804f897b809f7",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cce13fbdc96a946dfb8c6d9ed762dbd1731630455689f57a437fee124dd54cecaef78026c653030cf2f314a67064236b0a354defebc5e90c94124e9bf5c4fc24",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "8000000000000000000000000000000000000000000000000000000000000004",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047633dfd0ad06765097bc11bd5022b200df31f28c4ff0625421221ac7eeb6e6f4cb9c67693609ddd6f92343a5a1c635408240f4f8e27120c12554c7ff8c76e2fe",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a386ace573f87558a68ead2a20088e3fe928bdae9e109446f93a078c15741f0421261e6db2bf12106e4c6bf85b9581b4c0302a526222f90abc5a549206b11011",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048e7b50f7d8c44d5d3496c43141a502f4a43f153d03ad43eda8e39597f1d477b8647f3da67969b7f989ff4addc393515af40c82085ce1f2ee195412c6f583774f",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c827fb930fd51d926086191b502af83abb5f717debc8de29897a3934b2571ca05990c0597b0b7a2e42febd56b13235d1d408d76ed2c93b3facf514d902f6910a",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "cfe4077c8730b1c9384581d36bff5542bc417c9eff5c2afcb98cc8829b2ce848",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff4f2b92b4c596a5a47f8b041d2dea6043021ac77b9a80b1343ac9d778f4f8f733",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "49ae50fe096a6cd26698b78356b2c8adf1f6a3490f14e364629f7a0639442509",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000ffffffffffffffff0000000000000001000000000000000138120be6ab31edfa34768c4387d2f84fb4b0be8a9a985864a1575f4436bb37b0",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "5a1334572b2a711ead8b4653eb310cd8d9fd114399379a8f6b872e3b8fdda2d9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000ffffffff00000000ffffffff00000000ffffffff0000000100000000462c0466e41802238d6c925ecbefc747cfe505ea196af9a2d11b62850fce946e",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "c73755133b6b9b4b2a00631cbc7940ecbe6ec08f20448071422e3362f2556888",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff1582fa32e2d4a89dfcfb3d0b149f667dba3329490f4d64ee2ad586c0c9e8c508",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "06fa1059935e47a9fd667e13f469614eb257cc9a7e3fc599bfb92780d59b146d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001684c8a9586ed6f9cbe447058a7da2108bab1e5e0a60d1f73e4e2e713f0a3dfe0",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "f237df4c10bd3e357971bb2b16b293566b7e355bdc8141d6c92cabc682983c45",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff2e2213caf03033e0fd0f7951154f6e6c3a9244a72faca65e9ce9eeb5c8e1cea9",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "55d0a203e22ffb523c8d2705060cee9d28308b51f184beefc518cff690bad346",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000480000000000000000000000000000000000000000000000000000000000000042be8789db81bb4870a9e60c5c18c80c83de464277281f1af1e640843a1a3148e",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "2518d846e577d95e9e7bc766cde7997cb887fb266d3a6cb598a839fd54aa2f4f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000722540f8a471c379083c600b58fde4d95c7dcad5095f4219fc5e9bdde3c5cd39",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "bdb49f4bdf42ac64504e9ce677b3ec5c0a03828c5b3efad726005692d35c0f26",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff5df80fc6cae26b6c1952fbd00ed174ee1209d069335f5b48588e29e80b9191ad",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "f503ac65637e0f17cb4408961cb882c875e4c6ef7a548d2d52d8c2f681838c55",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2c63650e6a5d332e2987dd09a79008e8faabbd37e49cb016bfb92c8cd0f5da77",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "e3c18e7d7377dc540bc45c08d389bdbe255fa80ca8faf1ef6b94d52049987d21",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff7a116c964a4cd60668bf89cffe157714a3ce21b93b3ca607c8a5b93ac54ffc0a",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "516d6d329b095a7c7e93b4023d4d05020c1445ef1ddcb3347b3a27d7d7f57265",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "3",
+          "shared" : "85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "a329a7d80424ea2d6c904393808e510dfbb28155092f1bac284dceda1f13afe5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "100000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "bd26d0293e8851c51ebe0d426345683ae94026aca545282a4759faa85fde6687",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "ea9350b2490a2010c7abf43fb1a38be729a2de375ea7a6ac34ff58cc87e51b6c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "34eed3f6673d340b6f716913f6dfa36b5ac85fa667791e2d6a217b0c0b7ba807",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e83f3b9cac2fc632551",
+          "shared" : "1354ce6692c9df7b6fc3119d47c56338afbedccb62faa546c0fe6ed4959e41c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3a9cac2fc632551",
+          "shared" : "fe7496c30d534995f0bf428b5471c21585aaafc81733916f0165597a55d12cb4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b1cac2fc632551",
+          "shared" : "348bf8042e4edf1d03c8b36ab815156e77c201b764ed4562cfe2ee90638ffef5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac1fc632551",
+          "shared" : "6e4ec5479a7c20a537501700484f6f433a8a8fe53c288f7a25c8e8c92d39e8dc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324f3",
+          "shared" : "f7407d61fdf581be4f564621d590ca9b7ba37f31396150f9922f1501da8c83ef",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632533",
+          "shared" : "82236fd272208693e0574555ca465c6cc512163486084fa57f5e1bd2e2ccc0b3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632543",
+          "shared" : "06537149664dba1a9924654cb7f787ed224851b0df25ef53fcf54f8f26cd5f3f",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254b",
+          "shared" : "f2b38539bce995d443c7bfeeefadc9e42cc2c89c60bf4e86eac95d51987bd112",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
+          "shared" : "85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f",
+          "shared" : "027b013a6f166db655d69d643c127ef8ace175311e667dff2520f5b5c75b7659",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "CVE-2017-8932",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004023819813ac969847059028ea88a1f30dfbcde03fc791d3a252c6b41211882eaf93e4ae433cc12cf2a43fc0ef26400c0e125508224cdb649380f25479148a4ad",
+          "private" : "2a265f8bcbdcaf94d58519141e578124cb40d64a501fba9c11847b28965bc737",
+          "shared" : "4d4de80f1534850d261075997e3049321a0864082d24a917863366c0724f5ae3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "CVE-2017-8932",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cc11887b2d66cbae8f4d306627192522932146b42f01d3c6f92bd5c8ba739b06a2f08a029cd06b46183085bae9248b0ed15b70280c7ef13a457f5af382426031",
+          "private" : "313f72ff9fe811bf573176231b286a3bdb6f1b14e05c40146590727a71c3bccd",
+          "shared" : "831c3f6b5f762d2f461901577af41354ac5f228c2591f84f8a6e51e2e3f17991",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "public point not on curve",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764c",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "order = -115792089210356248762697446949407573529996955224135760342422259061068512044369",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f50221ff00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "order = 0",
+          "curve" : "secp256r1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020100020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "order = 1",
+          "curve" : "secp256r1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020101020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "order = 26959946660873538060741835960514744168612397095220107664918121663170",
+          "curve" : "secp256r1",
+          "public" : "3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5021d00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b04410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "generator not on curve",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f7022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "cofactor = -1",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "cofactor = 0",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "cofactor = 2",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "cofactor = 115792089210356248762697446949407573529996955224135760342422259061068512044369",
+          "curve" : "secp256r1",
+          "public" : "308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "cofactor = None",
+          "curve" : "secp256r1",
+          "public" : "308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "modified prime",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fd091059a6893635f900e9449d63f572b2aebc4cff7b4e5e33f1b200e8bbc1453044042002f6efa55976c9cb06ff16bb629c0a8d4d5143b40084b1a1cc0e4dff17443eb704205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "using secp224r1",
+          "curve" : "secp256r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "using secp256k1",
+          "curve" : "secp256r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "a = 0",
+          "curve" : "secp256r1",
+          "public" : "308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff302504010004201b95c2f46065dbf0f3ff09153e4748ed71595e0774ba8e25c364ff1e6be039b70441041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "public key of order 3",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff304404205bd02450b83dce81314d8c055336112105ba5108ab14ec13dc54ce0a839588630420e52609a1150d229be7d1bdeaeca7c50c9125ceadf68904185354aeac1668ca30044104106418e1947c713d488bedb1f11cc8191d21a535597edd2d3528c8208745d7630555b37bdf50a7363f2a422e39bc3fbda38cbeacc5a570f393f54a094fde2ffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63255102010103420004106418e1947c713d488bedb1f11cc8191d21a535597edd2d3528c8208745d763faaa4c8320af58cac0d5bdd1c643c0425c7341543a5a8f0c6c0ab5f6b021d003",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 62,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "secp256r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00042af270d2a6030e3dd38cc46e7d719f176c2ca4eb04d7e8b84290c8edbcaed964ebe226b2d7ce17251622804c0d3b7adce020a3cdc97cac6c",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "secp256r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200041f17901e731b06f349b6e9d7d17d45e8a2b46115a47485be16197932db87b39405b5c941b36fd61b9ef7dd20878e129e55a2277099c601dcdb3747f80ad6e166116378e1ebce2c95744a0986128cfeeaac7f90b71787d9a1cfe417cd4c8f6af5",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "secp256r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400ed76e5888428fad409ff203ab298b0f24827c091939ae0f9b1245d865ac5fbcd2749f9ae6c90fa8e29414d1bc7dc7b3c4aca904cd824484421cc66fe6af43bdfd200c1f790a0b3ae994937f91b6bdb9778b08c83ecadb8cba22a78c37bf565dac164f18e719be0ef890ee5cbf20e17fcfc9a5585e5416470b9862f82fb769339994f4e",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "secp256r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200048028d16082b07696d4aa4aab9d6b1f1463435ac097900631108f9888e13da67c4841fd8dd3ced6e7ad8c6fc656621c2f93d3db0eb29d48d1423154519865dbc1",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp256r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a6bae3d155c1f9ca263928c986ede69acefd0dd9b3a19d2b9f4b0a3a66bea5d167318dcc028945fc1b40c60ce716ba2d414a743c6b856a6f",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200045d3ddbbb9bc071d8b59855c74bdf3541ae4cb6c1a24ec439034df7abde16a346523edf6a67896b304cb2cd2a083eec2b16935bbc910e85ec6eae38b50230bf70",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp256r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004a43c6ef2500723d54c1fc88f8844d83445ca5a0f585c10b8eb3f022d47d0e84862b7f5cbf97d352d4348ca730f600f2258d1d192da223f6ba83a7cc0d6da598d55c2b77824d326c8df000b8fff156d2c",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp256r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042391c062833d1e6d89ec256cf4a3989534c1ead5e1e14ffae933a53f962857e4713087e1b3d65ac79634c71577af24698b5ce959183835551f7b08aef7853378c299930b360813fd58d5e4da8b37d5a7473e891ee11cb02881bd848b364fb7d5",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp256r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000484beae85096640953c1fd6ebbc32697263d53f89943cbaf14432061aea8c0318acbd9389ab1d2e904fa0e081d08cfabb614ed9bca618211142d94623c14b476a25e47abf98fd3b1da1417dfc2e2cfc8424b16ea14dd45e1422be7d4e0a5cc7f4d4ab5f198cdbaaa3f642ec6361842cbe869382ee78cd596ff5e740d9ec2c3ad6",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp256r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00042b0a1a858ffc44e7752940731d378f96570837e279ea3948fe00cff8b5f89adb4e2fe6f8781ba6426364f4590b34dd79fc80629de4a86084",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200043037c01b4a5ac53742e3f5528dffb0f010ab6ebeb08d792b32e19e9006ca331a024b67698d7cf4b575ccd9389441d5c640b77c63771cef1bd85675361c6602a4",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp256r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040f0fd972a495a140124a4019291a20f5b39fb755c126bf268643bb3091eca44f2a3cda1dead6ab1f4fe08a4b3872423f71e5bf96b1c20bc0ca73b7e2c134cc14a5f77bc838ebcf01084da3bf15663536",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp256r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000403b65faf5a6bf74bd5c166278a4b566c6c705ac6363e61f3b0699e116d3c5b19e8b7021b75b005f78a8cea8de34c49397f9b3b2bfc8706eb8163c802371eff7dfc825c40aa84dd9d1c4b34615ee5ae28c6c05d58d2a8ccc3786382b712d3bcda",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp256r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047504d660943a69ab043378e44c034896534a346e0e95f35fcaad3503b490856bfb20a753ecabc6d7bfeec28d057f919923b7d3c086953eb16c5bd287b59788db72dbb7c273854294c927ea7eca205aae2f0830e5faaddad8316231bfc3572c85c33cb7054e04c8936e3ce059c907e59f40593444e590b31820bc1f514ed0ec8a",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "invalid public key",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002fd4bf61763b46581fd9174d623516cf3c81edd40e29ffa2777fb6cb0ae3ce535",
+          "private" : "6f953faff3599e6c762d7f4cabfeed092de2add1df1bc5748c6cbb725cf35458",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 77,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220003efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b",
+          "private" : "0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f02",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 78,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b",
+          "private" : "0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f03",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5",
+          "private" : "095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e835",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000318f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98",
+          "private" : "0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000218f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98",
+          "private" : "0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa5",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220003c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5",
+          "private" : "095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e834",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "308159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "305a30811306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "305a30140681072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "305a301406072a8648ce3d02010681082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "305a301306072a8648ce3d020106082a8648ce3d03010703814200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "30820059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "305b3082001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "305b3015068200072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201068200082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d0301070382004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "305a301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301406072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301206072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306082a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306062a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106092a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106072a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034300042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "30850100000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "305e3085010000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "305e3018068501000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "305e301806072a8648ce3d0201068501000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "305e301306072a8648ce3d020106082a8648ce3d0301070385010000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3089010000000000000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3062308901000000000000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3062301c06890100000000000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3062301c06072a8648ce3d020106890100000000000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3062301306072a8648ce3d020106082a8648ce3d030107038901000000000000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "30847fffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d30847fffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301706847fffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301706072a8648ce3d020106847fffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301306072a8648ce3d020106082a8648ce3d03010703847fffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "3084ffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d3084ffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d30170684ffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301706072a8648ce3d02010684ffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301306072a8648ce3d020106082a8648ce3d0301070384ffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "3085ffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "305e3085ffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "305e30180685ffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "305e301806072a8648ce3d02010685ffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "305e301306072a8648ce3d020106082a8648ce3d0301070385ffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "3088ffffffffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "30613088ffffffffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "3061301b0688ffffffffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "3061301b06072a8648ce3d02010688ffffffffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "3061301306072a8648ce3d020106082a8648ce3d0301070388ffffffffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "30ff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "305930ff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "3059301306ff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106ff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703ff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3059308006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3059301306802a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106802a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107038000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "removing sequence",
+          "curve" : "secp256r1",
+          "public" : "",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "removing sequence",
+          "curve" : "secp256r1",
+          "public" : "3044034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp256r1",
+          "public" : "30",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp256r1",
+          "public" : "304530034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b0000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3015000006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d020106082a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e4981773059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d25003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e3018498177301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d30172500301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "30613015301306072a8648ce3d020106082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e3018260c49817706072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d3017260b250006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "3061301b260906072a8648ce3d02010004deadbeef06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e301806072a8648ce3d0201260d49817706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d301706072a8648ce3d0201260c250006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "3061301b06072a8648ce3d0201260a06082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e301306072a8648ce3d020106082a8648ce3d0301072347498177034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d301306072a8648ce3d020106082a8648ce3d03010723462500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "3061301306072a8648ce3d020106082a8648ce3d0301072344034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061aa00bb00cd003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305faa02aabb3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061301baa00bb00cd00301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305f3019aa02aabb301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061301b260faa00bb00cd0006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305f3019260daa02aabb06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061301b06072a8648ce3d02012610aa00bb00cd0006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305f301906072a8648ce3d0201260eaa02aabb06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061301306072a8648ce3d020106082a8648ce3d030107234aaa00bb00cd00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305f301306072a8648ce3d020106082a8648ce3d0301072348aa02aabb034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp256r1",
+          "public" : "3081",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp256r1",
+          "public" : "30463081034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp256r1",
+          "public" : "0500",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp256r1",
+          "public" : "30460500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "2e59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "2f59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3259301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "ff59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "30592e1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "30592f1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3059311306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3059321306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3059ff1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp256r1",
+          "public" : "30463000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "truncate sequence",
+          "curve" : "secp256r1",
+          "public" : "3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncate sequence",
+          "curve" : "secp256r1",
+          "public" : "30581306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "truncate sequence",
+          "curve" : "secp256r1",
+          "public" : "3058301206072a8648ce3d020106082a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "truncate sequence",
+          "curve" : "secp256r1",
+          "public" : "30583012072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "indefinite length",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "indefinite length",
+          "curve" : "secp256r1",
+          "public" : "305b308006072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b00",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp256r1",
+          "public" : "305a308006072a8648ce3d020106082a8648ce3d03010700034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b05000000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp256r1",
+          "public" : "305d308006072a8648ce3d020106082a8648ce3d03010705000000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b060811220000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp256r1",
+          "public" : "305f308006072a8648ce3d020106082a8648ce3d030107060811220000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000fe02beef",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp256r1",
+          "public" : "305f308006072a8648ce3d020106082a8648ce3d0301070000fe02beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0002beef",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp256r1",
+          "public" : "305d308006072a8648ce3d020106082a8648ce3d0301070002beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3015300006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "append empty sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b3000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "append empty sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d020106082a8648ce3d0301073000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "sequence of sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "sequence of sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3015301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "truncated sequence",
+          "curve" : "secp256r1",
+          "public" : "3015301306072a8648ce3d020106082a8648ce3d030107",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "truncated sequence",
+          "curve" : "secp256r1",
+          "public" : "304f300906072a8648ce3d0201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp256r1",
+          "public" : "30819d301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp256r1",
+          "public" : "3063301d06072a8648ce3d020106082a8648ce3d03010706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "removing oid",
+          "curve" : "secp256r1",
+          "public" : "3050300a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "lonely oid tag",
+          "curve" : "secp256r1",
+          "public" : "3051300b0606082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "lonely oid tag",
+          "curve" : "secp256r1",
+          "public" : "3050300a06072a8648ce3d020106034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506092a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201060a2a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b3015060900002a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201060a00002a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "appending null value to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506092a8648ce3d0201050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "appending null value to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201060a2a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "truncated length of oid",
+          "curve" : "secp256r1",
+          "public" : "3052300c068106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "truncated length of oid",
+          "curve" : "secp256r1",
+          "public" : "3051300b06072a8648ce3d02010681034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp256r1",
+          "public" : "3052300c050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp256r1",
+          "public" : "3051300b06072a8648ce3d02010500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301304072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301305072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301307072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301308072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "30593013ff072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020104082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020105082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020107082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020108082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d0201ff082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "dropping value of oid",
+          "curve" : "secp256r1",
+          "public" : "3052300c060006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "dropping value of oid",
+          "curve" : "secp256r1",
+          "public" : "3051300b06072a8648ce3d02010600034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp256r1",
+          "public" : "305930130607288648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d02010608288648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d028106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030187034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "truncate oid",
+          "curve" : "secp256r1",
+          "public" : "3058301206062a8648ce3d0206082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "truncate oid",
+          "curve" : "secp256r1",
+          "public" : "3058301206068648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "truncate oid",
+          "curve" : "secp256r1",
+          "public" : "3058301206072a8648ce3d020106072a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "truncate oid",
+          "curve" : "secp256r1",
+          "public" : "3058301206072a8648ce3d020106078648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "wrong oid",
+          "curve" : "secp256r1",
+          "public" : "305c3016060a3262306530333032316106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "wrong oid",
+          "curve" : "secp256r1",
+          "public" : "3064301e061236303836343830313635303330343032303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "wrong oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201060a32623065303330323161034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "wrong oid",
+          "curve" : "secp256r1",
+          "public" : "3063301d06072a8648ce3d02010612363038363438303136353033303430323031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "longer oid",
+          "curve" : "secp256r1",
+          "public" : "3062301c06103261383634386365336430323031303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "longer oid",
+          "curve" : "secp256r1",
+          "public" : "3063301d06072a8648ce3d02010612326138363438636533643033303130373031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "oid with modified node",
+          "curve" : "secp256r1",
+          "public" : "3060301a060e326138363438636533643032313106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "oid with modified node",
+          "curve" : "secp256r1",
+          "public" : "3068302206163261383634386365336430323838383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "oid with modified node",
+          "curve" : "secp256r1",
+          "public" : "3061301b06072a8648ce3d0201061032613836343863653364303330313137034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "oid with modified node",
+          "curve" : "secp256r1",
+          "public" : "3069302306072a8648ce3d02010618326138363438636533643033303138383830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "large integer in oid",
+          "curve" : "secp256r1",
+          "public" : "3072302c0620326138363438636533643032383238303830383038303830383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "large integer in oid",
+          "curve" : "secp256r1",
+          "public" : "3073302d06072a8648ce3d0201062232613836343863653364303330313832383038303830383038303830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256r1",
+          "public" : "3063301d0611326138363438636533643032303165303306082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256r1",
+          "public" : "305a301406082a808648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256r1",
+          "public" : "3064301e06072a8648ce3d0201061332613836343863653364303330313037653033034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256r1",
+          "public" : "305a301406072a8648ce3d020106092a808648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp256r1",
+          "public" : "3016301306072a8648ce3d020106082a8648ce3d03010703",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d0301070344000000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp256r1",
+          "public" : "3017301306072a8648ce3d020106082a8648ce3d0301070381",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp256r1",
+          "public" : "3017301306072a8648ce3d020106082a8648ce3d0301070500",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107014200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107024200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107044200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107054200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107ff4200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3017301306072a8648ce3d020106082a8648ce3d0301070300",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034202042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6eb",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "truncate bit string",
+          "curve" : "secp256r1",
+          "public" : "3058301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 287,
+          "comment" : "truncate bit string",
+          "curve" : "secp256r1",
+          "public" : "3058301306072a8648ce3d020106082a8648ce3d0301070341042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 288,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034201042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 289,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp256r1",
+          "public" : "305d301306072a8648ce3d020106082a8648ce3d030107034620042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b01020304",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 290,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp256r1",
+          "public" : "3018301306072a8648ce3d020106082a8648ce3d030107030103",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 291,
+          "comment" : "128 unused bits",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034280042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_secp384r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_secp384r1_test.json
new file mode 100644
index 0000000..51311c9
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_secp384r1_test.json
@@ -0,0 +1,3372 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 286,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "secp384r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796d9b954baa8a75e82df711b3b56eadff6b0f668c3b26b4b1aeb308a1fcc1c680d329a6705025f1c98a0b5e5bfcb163caa",
+          "private" : "766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81",
+          "shared" : "6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "secp384r1",
+          "public" : "3046301006072a8648ce3d020106052b8104002203320002790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796",
+          "private" : "766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81",
+          "shared" : "6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004490e96d17f4c6ceccd45def408cea33e9704a5f1b01a3de2eaaa3409fd160d78d395d6b3b003d71fd1f590fad95bf1c9d8665efc2070d059aa847125c2f707435955535c7c5df6d6c079ec806dce6b6849d337140db7ca50616f9456de1323c4",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040161328909675213e32098d35a6b8308a8d500cca39dcee5e804e73bdb8deaf06fe417291fd9793b231ef5fe86945444a97a01f3ae3a8310c4af49b592cb291ef70ee5bc7f5534d3c23dc9eefde2304842c7737ae937ccf9bd215c28103e9fe2",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200041478ab6e032b9545eda9ac2c264e57a11f08acbc76d16a0ab77b04dbdaf20f215c4183437b32afc471eaa603d14c7c5d8a4c84ee0e895bec5c37f0a1ca075e106ff6bf38801b5c697409d39675231108d33c4a5ea65aaa8c03e939c95d96c4c4",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004f63208e34e7e90bb5fb036432467a89981444010663b8533b47bfa94bd2bc16f38aa516b930a4726e3876d3091bfb72ec783ed4da0cac06320817dc8bc64f59ccf06f48abc4386a150913fa95743a7b4601190e1c6ee8f8bf6354b254ecace45",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004033271ef42d92ad47b273b09ea2f45401161baa52696590d0e175ff2d1c0dfa3fea40e4266d446546c05e480d57fabec7889f16a8bcc176602f6d46561614a2f4284abe697b7cb9ce79f7e2e71b155cb1f155ce925d16391a680eda23152e6e1",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004737e8437e18683de2455b68945bba31daec3e754d72f0a0776d3192b2f9298bb95ca1464baa6687aabb679f804cf6ec6c2b4d47d61a60404df63b1e9ac0954b3419bbc2ad52a0409aeeb82f4703758588059165b20367dcb4b235b0caf71d727",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200042664624307c02ef487030a632162c515f841d15ea3152d98ff2364232d7aab39343d5f703a4d5a31092aa7356c3a2f671c1cd603addfd8b5477552a3b32a18edaf3e33bec22ee2167f9da729636002a7974eaeb5ff082b2aabf8c7056b84c3ab",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004665f1f320b6ab1c1b52d144e52d87a154c2b4489838c9119de622c2d1b52b65b0a3955e44e0d4859175360c0f63dee813f14f69972f18caed7916c94a4d20ec344591e7536a4a7a4d8c9832818c96d60b1a81fabe64ea02c5f647e361bf5b60f",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000491357ca87dbb08e85d7b1acecfd1e086078a82d19f81474da389364a39fe2543eb934b440173c38e61a1d9407855b5d89ef0d9e920764b6d7765b084cf9541dacc43d1dabaa390b0fb856097b0c00a8556f4e3848568ab4ae790c3d346ca01b6",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004d5a833bae33b2d10fdff6db7c5477adb614b191c70d97c6f130a14e93931cc1dc058053fee54a264a00fdd16d3166fdc42992276b79925bafcd183b03ed18235350980abfe67b814c6c11074c38f74cd4e734ad58cdb49d9fcd2181d1b8f1119",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000467547cda7fbe8f16be5a4477cbb02979f1af72fc0f39302773552fbcf4667a8e23abc0e12856ee6234deeca5f22ae0503a4df7c068e7432417260cb9fe0d68b9c7fcf7e16a2ada05687d8f8900b84723103edbff0a42b27517da2760b7d38843",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200041363e3b99008e09bb3f085949b9b6ea26a318f496de568a96630fdb9d4c72c2814df3087a1741f32f24989b428167f93c653cb3ae8c3ecfaec57efd54bb8ce9d79c7bf6cc70fb1114f939be8f1a99bf1e42b97431124ef9fa33450faa4e76839",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004ba2be8d7147e2417c2ec80b24b4c1aa94464ffd0aae1fa2e078b3afbc77c144489ca9d064acbb7a9cfa6196d0f467b7e65ee1ca1eb1351ff9968f553dfe2e4c59ff8ba34c22a42b3baa13a9a1adc7f13abd40f1fd25d46bc5330852b9371966a",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004d69850ccbacc4736ea200ff2f8488f26247945a2ab48dd3708f494b293d8cba83417f48974881c7fb03854089bbf66cc1c773ec03cb8cd5f007ec3b03bdd05a409b352103f0decf25b41673ab8ca3d04334babee01219f15701f2bca22d40b37",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "6092a1757ddd43a04e185ff9472a0d18c7f7a7dc802f7e059e0c69ae16c802651719406e04de27652ff83da4a780ef2f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "89c804cb81443386b185bcd9e2e6c35ee6177c3b90298985c4e81a89d520cceb17d729540e56ecc343c26bf314f2d052",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001141b9ee5310ea8170131b604484a6d677ed42576045b7143c026710ae92b277afbbea0c4458c220d561e69404dc7d888",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "102080c047881d19aefb01c29c82a4fb328a8ea6e6d6c914af73100507c8ee499799aaa646de0ea8c2727c0b5ed2439b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff70370385413d3eff6fa3407ba24f682c2b01b51445dbdf5ef7b0dd0979f17e713e09081571f1e94dfb66bf282002f39f",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "f689f6e475b4e15162521acab4637a3cdb9cb42aa92f9114b0ee300ddae89d5eafff3463a1f5004a2a1bd4aeffa47b78",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff112e191f1f78bbc54b6cc4f0b1e59ae8c6ff1a07f5128e41dfa2828e1b6538d4fa2ca2394c6aab3449dcb3fc4eb44c09",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "f3486244119b3632fd55be9e6951eb5d9c8c62f6a27042f94b924155ecfd4ff8744ba3d25bcf85a7b925bd28a12b897f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000028a4c8da5a05112fe6025ef41908969de20d05d9668e5c852ef2d492172ddc2a0a622fc488164fcc1a076b872942af2",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "8171b7c80d4c90bb58ae54393921ab9c5c0b3196f045e9fe5c8b168f0e5f6a77e1aa34ecedc5481ce55ab34c14e0f2e8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000024480ab33cb4bf7cb79c024eeade3fd641e2f3003698400e8986a7343a5da59a3b26eea4b4176e53239371437d834a1a7",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "1911a0ee6aebe263fdcf3db073f2598cdafabec2123a2f24a28c3d9151c871f32d6dc2f31d25af9c498fd68da23e5bef",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020797da4c0751ced16de80d16ab7c654a5dc27d092626d0865a192a1c5ea7c1b88c9fcab057946741e41cc28c80ec0b9a",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "15900643e2e0583976974b05f83c7a96611425f7c4a6eb51916ab958a037fd9cc172bdcfff4540a2ff3ce64e6505557e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff6c70898ae6fb31fa2f086562af2d10486ba4c6fd5e41dfe4aa61598b4707a3bc276a62feb1b98557e3b17c025f7adf4e",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "88a544a769d5c34a051416bd509dfac911863f604c83ea844bf0e4c5c272dec86d057a88b152a9274701938c705900c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000eb1592858b6e6e3a199c0f3e7c5f0b4a92915936efb8bc0407680eb7274be7422156ce8cfc8b505b2d902c39992380f",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "b7db26b286e7527cb1f454782fe541862ff0f8d7eed960e22855deb7ac2a69611668c777c53bb74c2bcd40edfbf7944d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4987abae412809c2fa48fd23b1bdf9e622f5a606c44117215ffa61b18ef46e54a7fbbf11f9a6ba59c991b4ae501fedce",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "b1e8aab1aa633d98dc6b768594e1e3edb801a9ef483f287c83e19744d2ad343ad3debdc4dc178213ad6876b52284f552",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000013691fe493d4d28bf8ee1dfec812d6c306eae0842919eda6dc525f0d49ac2d26a992251912139a2936849f9d6fa949a68",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "b0de006f80f6f89e4eea6e46dfe305153005612d1e903171ec2886230971961b5202a9f3187bdac413ac24c836adf7a0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff615842aa06b06f78f0a66f7bea88d4b6ee59653eeaa00dc5e0a2b658f969b71af90c9b4e96bd3ca33846955bdccbd359",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "ca8cfa42c5e374914c14d6402b1a99208e47e02ec49818913694ea0822a2cc6c310259a8f3ab7559b9974bc4c2fa337e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "edf040bace18d90bf9ce720df2a3b31d76d95b7ed9530a159ac0b24e82a871033eada40552f9e606f7115e6a78927511",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "3",
+          "shared" : "455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "db1d8ef1117282870db8113aa4f58723c756ce598686eb8ea531aa4d39abb1b982b1e7bb2648a6c268d2d351204db8d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "e98062df47ef884c9411e16466af84ad271d586008b1fbc50aeb3b36836a35a770dd42e0db84d39b26f4dcd2dc03d90b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "898aae0ebf1cb49fb6b1234d60f59006325421049a8a320820e1ad6af6593cdc2229a08c500aa55ca05999d12829db9c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "83f862f496ab8af12b82a8a0c047d836bdfa36281324b3a1eb2e9c1d46699d81cb125cbe4b93939fd84e1ae86d8a83cb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a779ecec196accc52973",
+          "shared" : "9a26894887a0342ca559a74a4d4a8e1d6b2084f02e1c65b3097121a9a9af047d8810fb945dc25bbf02222b3b625f1e0a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecdc196accc52973",
+          "shared" : "8a8d9dc194a26910cbdae7908d185b6ad04b620c94c5ee331e584ed804e495bebc2290a2d7006a06e65b9bcace86c6f6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aece4196accc52973",
+          "shared" : "d57f6aa12d3f07e8958499f249e52cfbe5be58482e146c5414dbbf984fc5333710350e2ce96b33beb7678381f40f1dcb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec1969ccc52973",
+          "shared" : "188e8041d9a5f0b6cfdad315ada4823beda0146774fad65b500e6ef94376ebf8af7a40ff6f6b45019a09dde7d7fb5552",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52959",
+          "shared" : "2ecf9dc47e8b07ae61ddbd1680ead02698e9e8469f78d5a28328e48d0c9d7a2ac787e50cba58cc44a32fb1235d2d7027",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 41,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52969",
+          "shared" : "06ee9f55079d3d3c18c683ba33e0d2521be97c4fbf7917bf3b6287d58ffcde2df88842e3f5530b39549ac20974b1b60e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
+          "shared" : "455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971",
+          "shared" : "024c5281487216058270cd1cfe259e948310e4adc263a9edaa4da0bc3f5f8ce8ffc88ae41b2c050bf6dd9c8c66857237",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 44,
+          "comment" : "public point not on curve",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c8",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "order = -39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f0231ff000000000000000000000000000000000000000000000000389cb27e0bc8d220a7e5f24db74f58851313e695333ad68d020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "order = 0",
+          "curve" : "secp384r1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020100020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "order = 1",
+          "curve" : "secp384r1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020101020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "order = 9173994463960286046443283581208347763186259956673124494950032159599396260248791326163093631191247821216106",
+          "curve" : "secp384r1",
+          "public" : "308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f022d00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196a020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "generator not on curve",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e61023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "cofactor = -1",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "cofactor = 0",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "cofactor = 2",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020102036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "cofactor = 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643",
+          "curve" : "secp384r1",
+          "public" : "308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "cofactor = None",
+          "curve" : "secp384r1",
+          "public" : "308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "modified prime",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100f47e533e4e43e4bf04e901db0eea6efba14bbcdc3b1c5753a7c141487e4f43784e57a72310202323361f44760c8368bf306404300b81acc1b1bc1b40fb16fe24f11591045eb44323c4e3a8ac583ebeb781b0bc86b1a858dbefdfdcdcc9e0bb8af37c973d0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef04610400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "using secp224r1",
+          "curve" : "secp384r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "using secp256r1",
+          "curve" : "secp384r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "using secp256k1",
+          "curve" : "secp384r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "a = 0",
+          "curve" : "secp384r1",
+          "public" : "308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff303504010004304fcc45ccf5e23ee407b9291d2e85523962a2a79a50da3facca04b7267ad316db202cb07c24905740d201ded3028881090461042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 62,
+          "comment" : "public key of order 3",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430e191d67dbdeeb13c10785d6df301514a8c20c458e7d14778967c6c9c1b22c89d596a256898ed532a3b4c9fff7dfd2fbb0430fa6a06f824db348293c1b8755ac253c72aeac58d015ff81a5c6121b8818f31e41962d784eb95830b71c22d18e16d9045046104edd95693552753ff9c666a27aff78d9240887fbaa71e407a931784a3a163aebd15e6649673fee260e429dbbbb186a67b54d7af369b318c02e26f6ec6da24f282c426b2b1269c36e094b0a33af33b0958c8aced375653548639c2bfc76554b78d023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc5297302010103620004edd95693552753ff9c666a27aff78d9240887fbaa71e407a931784a3a163aebd15e6649673fee260e429dbbbb186a67bab2850c964ce73fd1d90913925db0d7d3bd94d4ed963c91f6b4f5cc50cc4f6a6375312c7a9acab79c63d40399aab4872",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 63,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "secp384r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00040710b0c6f4675459f3df2bdf7ca02819f8086198d15c69b8abda37639e6031caca8a0121894d2491d8b3dce093703c70705bc5dbc8fa17c8",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "secp384r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045fa4fa0b235c21e5c9f3baea9303bf86eccb7d31d0b998e141bc54b5dc43b23eef7fc5cf56308ed595eee99ade6aaf74d591c3d00aa1b438abc59c9607c22c36",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "secp384r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004005bce61fe27c440fedbad47d88bccf645db9c1d30daa086e592e8b6a0a173b87991b619801907b420fa558c7953ab97badd9c6c1d85859d9ebef7441a088ff57ed5008d7638de703faabeb5a78e83e8fcd4eb786144a75d79bd4cc8cfa8be66612d756c7b65c67f72c6acbade6f0d59e9752e845205b2a560d4f8d6a9e84bf812f94d18",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "secp384r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a69ced11a8bf7a907bfa47cba3368f2498b465a2407c90649c8da224d2a85bf445ad2df3d0113e72aedccf92ba6b8529ed6faa154bc27aba25f49371981e3b38",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp384r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a9b0f90e49a57fbe508847bf16e4a7b565dfe870a50164bc2862fe6e4d54bd8b109939f7dbbf800522722b9c0b309ace3884abb69c927ad0",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp384r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004512fe17172db1125a49f9dbb85e387869adf015e4899c06f66ef870d72092d4d195e1d21b4a4647bf734468bee802ddad5449202eba1041df2fd8cde04697237",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp384r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004c391dc7a817d47a3961ea1857895e101c0f5a8767d3a9c7cad49f7af8029f24c67309373cedd0831ccc0a0f45d344f3ab5923d2452507a980301a283848ae31574a57db51ce5e61d35aee483f1bb8e66",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000419d3c811c04c5c0990d0258386195b2e29fdaba58d3f12b0bac8d3d53828c66c7a35e3d1eb0bdf2c08f23d0e4ab6a3246e456bf0fb863d03423dbe431baf799657c7816a619662fe5b900b754107ba5cc06b1d62c9a927891efee1a1fd404d7e",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp384r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004216eb619457f1168ac873f5b560a75df80749f2bdf9abac31d6580e521ad70368013c3db74f663263b61eb12d4dcd597ad6c77cef6a5d6d2240b1e244d76403f693fb317ffc602a7ac313991b0a62f7bf469bbc95b3ff35003d972eb8ebcc8d4833e6c24ad52d49c1ce6244c7889ab67a8818232e192944542763fc667e5799d",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp384r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004691b24004380a599770214d0c60ab37cfc804cfaa7aedd11cbf0a05467ebec5e33322cda707b848086fd740244f62cdeb867fc057207fde2",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp384r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000422bf69f3a81dfa1ed8a97301943626e20377b78f7e7d714b880deb5a4a9c63a11591c2e47b777488990771855768b9a4050d61bf02d84cc6aa40447a07507285",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp384r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000476568300e2b4c68861589b4966e67bc414811e4011260cb8be5f884869fa179ca8af40f80009e0a58b17ac3e551a772e76683c32e6e09112572542d7c1fe3d49abb56da56d669186e2623dc797129dc0",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200043345dffded3c33f7dcc19bb8997a39f2d6230abcb765d6142c30bf320c1fadff535feafd8505eb3e614db71826c1e258077a1e6057add7474f6d35dce68417812e7b919b1c673032b28c45d0a9251c43a2a73ab152f64ff8eba4eab312fa73bd",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp384r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004a3677c646cd887685940c28076f55cda7469032845f2cb2af51c61492dc435aaa5b771d8e1528417cdeb89b5f629e06b234e21236b9edf46c7025177ee65a8e940f670d10c722cea355bd3a5c8847a38324b9a06a50a95da4e70bb492cd00194a8830975dd1e115e19315575ff841b30fd4a3f8a44725dfe280d0af57fc80cc3",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "invalid public key",
+          "curve" : "secp384r1",
+          "public" : "3046301006072a8648ce3d020106052b81040022033200024424530ea70bace90601f8d5869e4179a6cd689b6a18fdfec50cecf17cb836d24820211ada67815b42c2c2606303f69e",
+          "private" : "2b9e57572da6cf4fb58cb94eab8df19383a136f219f2a515776a8bf48e1538dd1d811946c16d9f0184c9ce5cdf1dac51",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 78,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "308176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "307730811006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "307730110681072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "3077301106072a8648ce3d02010681052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "3077301006072a8648ce3d020106052b810400220381620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "30820076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "30783082001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "30783012068200072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d0201068200052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b81040022038200620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3077301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301106072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076300f06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006082a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006062a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106062b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106042b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203630004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "30850100000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307b3085010000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307b3015068501000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d0201068501000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307b301006072a8648ce3d020106052b81040022038501000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "3089010000000000000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307f308901000000000000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307f301906890100000000000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307f301906072a8648ce3d020106890100000000000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307f301006072a8648ce3d020106052b8104002203890100000000000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "30847fffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a30847fffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301406847fffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d020106847fffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301006072a8648ce3d020106052b8104002203847fffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "3084ffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a3084ffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a30140684ffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d02010684ffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301006072a8648ce3d020106052b810400220384ffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "3085ffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "307b3085ffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "307b30150685ffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d02010685ffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "307b301006072a8648ce3d020106052b810400220385ffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "3088ffffffffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "307e3088ffffffffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "307e30180688ffffffffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "307e301806072a8648ce3d02010688ffffffffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "307e301006072a8648ce3d020106052b810400220388ffffffffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "30ff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "307630ff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "3076301006ff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106ff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203ff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3076308006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3076301006802a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106802b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203800004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "removing sequence",
+          "curve" : "secp384r1",
+          "public" : "",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "removing sequence",
+          "curve" : "secp384r1",
+          "public" : "306403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp384r1",
+          "public" : "30",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp384r1",
+          "public" : "30653003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "30780000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "30783012000006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106052b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b4981773076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a25003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b3015498177301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a30142500301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307e3012301006072a8648ce3d020106052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b3015260c49817706072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a3014260b250006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307e3018260906072a8648ce3d02010004deadbeef06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d0201260a49817706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d02012609250006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307e301806072a8648ce3d0201260706052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b301006072a8648ce3d020106052b81040022236749817703620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a301006072a8648ce3d020106052b810400222366250003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307e301006072a8648ce3d020106052b81040022236403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307eaa00bb00cd003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307caa02aabb3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307e3018aa00bb00cd00301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307c3016aa02aabb301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307e3018260faa00bb00cd0006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307c3016260daa02aabb06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307e301806072a8648ce3d0201260daa00bb00cd0006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307c301606072a8648ce3d0201260baa02aabb06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307e301006072a8648ce3d020106052b81040022236aaa00bb00cd0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307c301006072a8648ce3d020106052b810400222368aa02aabb03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp384r1",
+          "public" : "3081",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp384r1",
+          "public" : "3066308103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp384r1",
+          "public" : "0500",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp384r1",
+          "public" : "3066050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "2e76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "2f76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3276301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "ff76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "30762e1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "30762f1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3076311006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3076321006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3076ff1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3066300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "truncate sequence",
+          "curve" : "secp384r1",
+          "public" : "3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "truncate sequence",
+          "curve" : "secp384r1",
+          "public" : "30751006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "truncate sequence",
+          "curve" : "secp384r1",
+          "public" : "3075300f06072a8648ce3d020106052b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "truncate sequence",
+          "curve" : "secp384r1",
+          "public" : "3075300f072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "indefinite length",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "indefinite length",
+          "curve" : "secp384r1",
+          "public" : "3078308006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125100",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp384r1",
+          "public" : "3077308006072a8648ce3d020106052b810400220003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125105000000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp384r1",
+          "public" : "307a308006072a8648ce3d020106052b810400220500000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251060811220000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp384r1",
+          "public" : "307c308006072a8648ce3d020106052b8104002206081122000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000fe02beef",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp384r1",
+          "public" : "307c308006072a8648ce3d020106052b810400220000fe02beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510002beef",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp384r1",
+          "public" : "307a308006072a8648ce3d020106052b810400220002beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp384r1",
+          "public" : "30783000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp384r1",
+          "public" : "30783012300006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "append empty sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312513000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "append empty sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106052b81040022300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "sequence of sequence",
+          "curve" : "secp384r1",
+          "public" : "30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "sequence of sequence",
+          "curve" : "secp384r1",
+          "public" : "30783012301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "truncated sequence",
+          "curve" : "secp384r1",
+          "public" : "3012301006072a8648ce3d020106052b81040022",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "truncated sequence",
+          "curve" : "secp384r1",
+          "public" : "306f300906072a8648ce3d020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp384r1",
+          "public" : "3081da301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp384r1",
+          "public" : "307d301706072a8648ce3d020106052b8104002206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "removing oid",
+          "curve" : "secp384r1",
+          "public" : "306d300706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "lonely oid tag",
+          "curve" : "secp384r1",
+          "public" : "306e30080606052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "lonely oid tag",
+          "curve" : "secp384r1",
+          "public" : "3070300a06072a8648ce3d02010603620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206092a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106072b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "30783012060900002a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d0201060700002b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "appending null value to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206092a8648ce3d0201050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "appending null value to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106072b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "truncated length of oid",
+          "curve" : "secp384r1",
+          "public" : "306f3009068106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "truncated length of oid",
+          "curve" : "secp384r1",
+          "public" : "3071300b06072a8648ce3d0201068103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp384r1",
+          "public" : "306f3009050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp384r1",
+          "public" : "3071300b06072a8648ce3d0201050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301004072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301005072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301007072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301008072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "30763010ff072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020104052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020105052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020107052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020108052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d0201ff052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "dropping value of oid",
+          "curve" : "secp384r1",
+          "public" : "306f3009060006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "dropping value of oid",
+          "curve" : "secp384r1",
+          "public" : "3071300b06072a8648ce3d0201060003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp384r1",
+          "public" : "307630100607288648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d02010605298104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d028106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400a203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "truncate oid",
+          "curve" : "secp384r1",
+          "public" : "3075300f06062a8648ce3d0206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "truncate oid",
+          "curve" : "secp384r1",
+          "public" : "3075300f06068648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "truncate oid",
+          "curve" : "secp384r1",
+          "public" : "3075300f06072a8648ce3d020106042b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "truncate oid",
+          "curve" : "secp384r1",
+          "public" : "3075300f06072a8648ce3d020106048104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "wrong oid",
+          "curve" : "secp384r1",
+          "public" : "30793013060a3262306530333032316106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "wrong oid",
+          "curve" : "secp384r1",
+          "public" : "308181301b061236303836343830313635303330343032303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "wrong oid",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d0201060a3262306530333032316103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "wrong oid",
+          "curve" : "secp384r1",
+          "public" : "308183301d06072a8648ce3d0201061236303836343830313635303330343032303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "longer oid",
+          "curve" : "secp384r1",
+          "public" : "307f301906103261383634386365336430323031303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "longer oid",
+          "curve" : "secp384r1",
+          "public" : "307d301706072a8648ce3d0201060c32623831303430303232303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "oid with modified node",
+          "curve" : "secp384r1",
+          "public" : "307d3017060e326138363438636533643032313106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "oid with modified node",
+          "curve" : "secp384r1",
+          "public" : "308185301f06163261383634386365336430323838383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "oid with modified node",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d0201060a3262383130343030333203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "oid with modified node",
+          "curve" : "secp384r1",
+          "public" : "308183301d06072a8648ce3d0201061232623831303430303838383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "large integer in oid",
+          "curve" : "secp384r1",
+          "public" : "30818f30290620326138363438636533643032383238303830383038303830383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "large integer in oid",
+          "curve" : "secp384r1",
+          "public" : "30818d302706072a8648ce3d0201061c3262383130343030383238303830383038303830383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "oid with invalid node",
+          "curve" : "secp384r1",
+          "public" : "308180301a0611326138363438636533643032303165303306052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "oid with invalid node",
+          "curve" : "secp384r1",
+          "public" : "3077301106082a808648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "oid with invalid node",
+          "curve" : "secp384r1",
+          "public" : "307e301806072a8648ce3d0201060d3262383130343030323265303303620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "oid with invalid node",
+          "curve" : "secp384r1",
+          "public" : "3077301106072a8648ce3d020106062b808104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp384r1",
+          "public" : "3013301006072a8648ce3d020106052b8104002203",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b81040022036400000004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp384r1",
+          "public" : "3014301006072a8648ce3d020106052b810400220381",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp384r1",
+          "public" : "3014301006072a8648ce3d020106052b810400220500",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002201620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002202620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002204620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002205620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022ff620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3014301006072a8648ce3d020106052b810400220300",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620204c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312d1",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "truncate bit string",
+          "curve" : "secp384r1",
+          "public" : "3075301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "truncate bit string",
+          "curve" : "secp384r1",
+          "public" : "3075301006072a8648ce3d020106052b81040022036104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp384r1",
+          "public" : "307a301006072a8648ce3d020106052b8104002203662004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125101020304",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp384r1",
+          "public" : "3015301006072a8648ce3d020106052b81040022030103",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "128 unused bits",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203628004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_secp521r1_test.json b/src/third_party/wycheproof_testvectors/ecdh_secp521r1_test.json
new file mode 100644
index 0000000..1019019
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_secp521r1_test.json
@@ -0,0 +1,3557 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CVE_2017_10176" : "This test vector leads to an EC point multiplication where an intermediate result can be the point at infinity, if addition-subtraction chains are used to speed up the point multiplication.",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 302,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "secp521r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce00e04ad19cf9fd4722b0c824c069f70c3c0e7ebc5288940dfa92422152ae4a4f79183ced375afb54db1409ddf338b85bb6dbfc5950163346bb63a90a70c5aba098f7",
+          "private" : "1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd",
+          "shared" : "01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400030064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce",
+          "private" : "1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd",
+          "shared" : "01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004014c643329691ba27459a40dfe7c4ce17b3ea14d0cd7aa47b01f1315404db51436fbbfe6de0842e0f7e1265f6ff3aca28750677d3370b2fb2a6ef497356f4b95811201051b14178639a09a41465c72d3743436ee1c191ff7388a40140b34d5317de5911ea03cdbb0329fdeb446695a3b92d437271a9f3c318b02dec4d473908158140e97",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040029cd32125c23a41af24fd4b729da0faacbc35516ef0ba59096602571693cd282e26d67e18ef4643d0f6f158d7370d3394ca9a8de7938032ac178c6fd34e3702b8d008649834e2b41be3a8b7510bfe570f4c67075943cd0cbb9d9e1d1da52618b5b96d6aec9b650daf1ca6624c13e5116302b9c79c8c4d3d351915d1e8e1ab6ad76098e",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040032c6f06ce6a15ea064464d35aa368d299c9a9e1e368f694aefb603876248f898f223ce0217bef37d61eb09b27c93187cf8e61ba7b14e3c9bee692b06ac6d95f836019fd19f8480e21c63211d48d45f96f6365cf55f958e1a0fe7ea6b6b9ff230a87b70bb1b14d3a5fb6669a91641c6acf4570c1d3a9e709913b7fe6b35ff81c394d6a7",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004006ddf9b10965d5fc129e96f7a37667ccf66cc44384772906fedb21f9de4629e01aaa09ac7c9866112064bbc9bd58ebc123ab2fe19d8fed1a056d27bfef0630509c7001c441311ef20a16346332ea42d5c65788d68f6817b0267fcab11ea9c948ed108115dda8e823a380b601460742d3772d6424c67b240da24772ff0d2ccd9a1e0cea6",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004007a8c547268c948b626da636cf54428ea2ab23861d499a84ad7be1cf691b92872a06e26c6dba08ca9ed386f83d396156d5fa023f57d5ea6440ec7401dad2c08ad70018c3815b1b9a2e42555419a6c19043fa2b0ddcc4b5a6e372fee9fcb227d85bad704687e7e1a818b612d5c046cd75972f7a2dd5c9a200ac5582cd59fec47ac525ecf",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040029153cf062f88f303e5d6f9aac968bd901076d5994ea7f831833b1e69b67e9e9fe20cf9c5623e00e0b9e3592fca2a03324b5df7c93186aff697aca864600d44ecc002801a62e2f4106f34106da23dc93d50e3e975a1d47510021835290649b7a4125109f656b6b0b5bd00b24d84ea1ba4e1ed49e61c526fb1011005131caee7ee0501e",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400a61eb994e28722c59b3c6007dfdf8b37893f6350f461b26a00e1a45104314aae9989da87e4facb2c4ef721185b7d96d9a45a28a102756501a1acc5d329a21bbf73010e8d0e12f5a9a40e0d59c90ce73043d39730aeadd3788e31d7c2bb62a1166161994664afa658ce2e60a13f45f27f914307c8d6f8d4ed16ab041b8f69908a62782f",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004011dd497b30c73709906b164a9a79dc7f2a98c0148ed63016bb95243834fbcdf8eb74b0ff652d54f59f31aef51da6e8974d363655b1da138dc4de0f2a8d800f475ae0057bd4b84607400d863ffbf45a3cf58999ee24ba05e93eca7b0e4ae760eb1733559a45d15579d3370d716ffa3ec4bfdae418e32fb06138dfca213720a938577610e",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401283eb93fa369fe7012b647d21e0a97cf9950e5fbed819ef56158f20c8a9473a418eccbca4dc2b47f4cb6d322f917005859bf221e84ac9827cab82a801c627fb1ec0075c480cbafb352fcaf93baf23a1405fd81febe09729a908d1077e177dd8993d94b251a0d52652da3edb6fdf864e80cd51540e73d0b5107e3433576dcaa4e18db43",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400173beefe35ee868d497ff6601628f65ce18a1591f7e4a3a406622f3f508e2da68f101ed02febc38418c6ddfc26a5ec9848c42792463b1e945f9e167db34bdf2d660053070647aba7cd60eb295ab81a268a3903f393c5d28bbc5e022351c377cd84f02c19deb36442372cae1332e92f95ba60b6c852e0de0718e89d24e43cd479c9fb11",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004009829cd5432687739ab6ae10af8ea73d2cb53b81ebb06b5961b7badc1676b3ef7b00454f7cde56774a01312d574a9193c1a5fe5336fbe62623ad9bf81143789f9f90012f955697ed578207197bf9aac3896521615dbacc8dc665d4f1715b08439f49c2aa6ed337023ffccc5075a85944936826db92f919737ca3afeadba1847084bdef7",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040126e3c959cd41120bb83693b1d6a034b385137c1bb3213b776122fed96056e329885718a73bee639c0ba4b68818682f498ce5496925002bd7652516405fcc4fecad0073a9c6e3b0c694bf7cc8ccbbd09800e81e3548ba44a0c2381cef0b07bf702a19054bb5d717a1b79294609cbdafd4e2018064f7b2c4c204d818eb7ce521c3268ce5",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040153dc481ab3c5dc8decd24ceaee1bec77f59f21f7f31c19538af047d281ac9e2567933fd3d21096b185d4098919571931bb9b0be7197995e2fbaf21c8a10007ade001ad69f08fcae164390be826256b50fae47502ce0e9ca46af0c490cb4033c886f88661a99ff2bd3c9c8e7da30faf2b4c769edc5831810ac05054c97e41063f496e1f",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401f586611c87150288c3e86116c5db94a26718978829d701ddac05e9b0ce22dee4b18e95f60cba783ed3384da373deaefc57b8265d3a34eeb458bf24b9d82be32819008456e0f1d80492ef0078cc246d32fc7c7fb6720b4d458b51b2098d35746752b0ef0345bd0d342dfee6dd2f12ed12b34bd95d058c2811fd479d2dde32180e6c9ef2",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004015edc87fd499a73eabffd14d2b6a70a8fb69b6a39d0d9c4dda2337b53cc72e49a9e3d5a2d9e8930cfa11852dac33443227fba6684bd74732e6879884b6ef9dae98f010eeb8d2e3360ea9726628085268af3f2a05ad41235d0a892098bd661b636f7ef0a820282906eda3f1ff1980b98fb5937228e9edcd6332e3641216c7307e7f3f452",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040131b43002f7e687eec1ecf6a253c2ccc9e48f04d86fccd18fee0d2d22191f1ea539c40d521970b4709dc03986f647e0e8bb3340cf8a3e643a3541035437cf25f01500b27a55ac45f0296f8c9656bcfd52b5cea9f4115c06e4c64319609847d45e92418400e7868672c0d3e6e5e6e004a7190476ed77cfc33ad19a4bd2c615ad9950f374",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "0053bf137fee8922769f8d0fe279caa4dac9c6054ad0460995588a845d0a959e24bc0fc2391a2b92f7bd400f50a11a9db37f07bef7fa8dad2a903fcf534abc8736f7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "01c95ac417c90a520149b29105cdab36f528a23efb5621520dbdafea95a7d43499c4c8be02cd1c2de000da18104fa84a1e9ece6386f0e0efa5234a24595d7c4c96f4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "01b47ec41e3a5abd9dd9808fc04d9078cbed72b9eba98d3c1ded70a29938f0efd5a27a7113ff721f122cb17411de307a355c685074f5766b6d1a033d2fa188c945b6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000000f33ffc45da3eac1baab727ab8fd355cfa134c42047d55262651654fb50df7e9a5a75f179c8c86c4388213b5687dc43dfebb37f30128703c44ccd5c3284833b8717",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "0168df272d53e3161926168c4aeab5f355b8d2a6689cfd567f2b6eb2011a18c775ac2a21f8dd497f6957217020b3b1afcb7021f24fccc2523be76a2bff44596e5a14",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00cd2839d857b4699f5c8e8a0194786e26a862f086b4ba80746ae5225ed3aa68f96b7aaec55225830bb98f52d75221141897ba49d7a31ebbf0b6d7d31352e5266190",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "013db1b9241b23d33860d32dec37a79e4546a41afdfdd9c438d04e1f8b566ac8d9d3f572c293e96943722a4ee290e113fffaa82a61867d9ca28d349982354c9b256f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813d9829119f42ffa95fea8ba9e81e4cd6a6ca97fb0778e12e5f5dfe35201dd4cca8eca0d2e395555997041381e6ac1f18ddf4c74e0b6e9041cfdca1d1c103091",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "01d2bbe9f754584ebbc7c7ad74136d1c8a144948948aa8be49989dd9b4c514db2e2ab1e0713ad1699f632dd2cea53da218ed549f030a113e282fd9e3be462d9aba84",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00878ad597d290db2cf660594aeed0f9b7c8dd68451d2d1b2cbc816b1ec4f35465b3964aff2edf1255163f5fca580132f85cade2887a017e7cd0b37196ad85221107",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "000f37a2e2caef54fff4126c0fa96e7c47f0cad74626ef91e589e12d2e1e8c221be7295be9dc2712b87bb0aa0f5880b738bc1242f2ba773bf9eb2a54e3c1ca4758d7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000010000000000000000000000000000000000b5e1191b449fa1ebdbd677daa48f90e2d1d6c058c877087cafd9364d99dbb283c68402e6e6c5f5411b2ed42824d8b280ceb910aba6847883a7e3780e2132af41c1",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "017aeb254d9c8c8ee06215ff33811357da73bf7f6dd6d7f8f176d62c065a88a9005f680c630e9f2763585ea2ee76b6e4ab45e673f814ebfa95947c0c63fb24fa6e9b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00207513d615656a1cc7505c18aa21b08e2b1d5a841de0816cc29c004efdb2d902ac1a7bb05e20722b576b64a3ddf4d2486421ac706bf4a424f252386368a5340fb6",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "0061bed42248a37b4625ef04c4f9c7ef69ee3c6f9503378351fcab1b8ce1343206997eec1b88449eb6f7355711ea1a818a486ee30a24126241a7e2289267cf5dd61f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff001fe800c50e54012b75a33e4be7d07c8d60f29680a395e951a6a31c5096b0ea928fc2cbf327dd784dc0a7ca46ea73992b758b5641364b4aba39e93798a4d925a008",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "001067d9104e296ef42b944587de11b10df05d2d959ed44cac9e7ef1c7a05d90819c43bc79c7397918f957cc98db931763bbeb1bdfc35865e8a359a013f13d60c433",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000008dd18a1f5e482140be79bb65a21ad60c8987e532c84345f0135affd46ec71ef02b1ca3ad56f301d955fa306c122d441d6fedcf8b855ef256350bf69d23a7207ad9",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "00b779d83035cf7bb0bb04c7b2f46d08f6791f0d1542c9bcce7250e772b12ad8e38fce1d2b063a06f0fa3a1b072dd976f5f8542979903075162f1f5c6ba3b76cc45d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000100566203dd325a081c4441f001f780365874fd3d0c9bc47227481afe76a93ae1bfde63af972203abfe22c63b80e83f7cc2184c3cb8cfd0152c54324c4759fd1f9a50",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "01afe5d23733728b79c743933b9ba7dfec5ed19b7737e393908a1d000918aa795d1ce0ad533983d018f927b35d2af6463356573f387febd75911a49486202ca69d3a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff00b11c668fbd549f36889f7b63434051da26f15705839136b1b14a09152d7a182ea7806c35478a32d3aa3c9c1627a61519ebec71b36fa77449025b8829e27f307834",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "019612aeb386febb1a28096fe5b2f682dead02389785225b80a27df439510d08349a193839525f248b7f9bcabfd3dc8da8cc1724022299b7b5e72399d89464b82e44",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000200aa75efc0a8daac1d73f32c9c552414bccf44af8e74331b47439e7dcc49a135b3ee61e9f69717d89b4bba3567a195aeda13fbec634bf2984b5ec6b6f80f5978ed5a",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "00570673f87adcef49c1f011e8b9f1e11f7fd3b3c93114d08d3f515aa4a895a6c701c523063bdc13ad1db0a54f6e7b476fe10db2070441befc58c8cff3c08ef76e59",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "0016aaf228b0aec190d4e4e5b8138ff9cc46d705da1bf002901c6ab420f59314d5b641712b14ef3e4fb125652c47888676804fb5575b741a8408c5625bfccff4fdda",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "00a5d6dfda2b269f4ab895a41c3b71b6ba10d5c9f0d9b3e730275345e4721594abfd39464c227716ded8ef3e60bb1ca0b551716e3f6eebb48d5ce8e0ab58cb1b73c9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "3",
+          "shared" : "00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "00347c51f587c726070bdeb9173d0a547427ead3f2c8de62d9ecc3013285f645d220931520bcef85d08cfb6786045745fbfbfb1924c44a89d06676131a965677272a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "01c41dc4437c2f2b94a940711b3a691723397a1f83d6bc0c67ddc7a657160925c7f85bb4eb3842b60b2610ddb7c0b8676267710e58359a8750843c6d8e25d48d1cd9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "006a239cdb7a783840658d5f314bfe5c51e806a4bf1236f8421265bcc503c673eb16c5c2b38b5717fa04ee7dbcdeb15c871711507abb7557a8a8c7b3250141e854d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "0112dbf9713aadd478e4f2ebcb058f05b512b1959c7da1994f851f373ce8c341d39c6843373f6fe559905953e1147640159437953c571961c09bad157a8e1a5bf476",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47adbb6fb71e91386409",
+          "shared" : "003eca2210c8623105085aa284d119f3d716730595c6291aa89bf32a95e8a5fdc64f3d76e92494a43a9dced12d05b6dca4ffe649b32ac12cb0202e702dc83a2cb277",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb5fb71e91386409",
+          "shared" : "01c4cae9fbfdd45de51d8525e8447a7553c35cf358f1346f1d79666887bb749a3ba0de62e1866b47a447d53b6f1ca5a33ec94507e2cfb65544f5a1195fc6b4dc5810",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb67b71e91386409",
+          "shared" : "008073b4796e748f3d0de5e85b22aed463f1a6aecdb336bc287b50d139e3591ef5f86b78c3f6051467755f059f295d758075347d657aaae02383838bb96071eacbd4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71d91386409",
+          "shared" : "01f11ff8983792d4a790d0de4b56d078b9033ad6318a440e8119342937cc48a39375150ab2cf98273b0fe35d5a3af5d84322a685e89f2cb378a99b9b7bac87e44952",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138631b",
+          "shared" : "00286cefaaf38ca4c6657eb9b187d8614d51775fd71c1a79b4c0ef1a0d4ce72b6f5b2bc854a4e78283530942a3f4fd2a8586d5ea51513c89d3d29de5de06321e118e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138639b",
+          "shared" : "014790de14c481f1336fcb7d33a8bf8e23eb594cc48608e9edfe0e326e106b67e7eaa3f04ec9985599178f632a5ee6419e11217060e9fcd5958a43882bf8cd3be6ba",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863db",
+          "shared" : "01ae775dbc4096a3aea7977b1a0af4b2830ecf9ca927a6247fba4cccb46b3f71d0e7abb8dda72d1c1ee7bb5b875b4773cc8df40f732819c4147da330775d1742ea35",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863fb",
+          "shared" : "01979fb05e068a12a3f20cfdfb9eaee9f22b356edcc7655383ed38124b86814f86a6f2216a34f3fc2299d403ee42408f95d08c5c6cd11db72cbf299a4a3c2545be25",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386403",
+          "shared" : "0197ebe26798bf67f06ff0282773af75115531f41d94c093d87481b76bef707bc222f2d6672f84a00fa20c5ed27027ab4006b68d93ee2151016c9ddbe014346272e2",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
+          "shared" : "00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407",
+          "shared" : "01c168314cdc85757ade34a52a9e5379ffa5968f084b7e404939a8033a0fc698e26211754b9b2c04cf8a1420abe6e986ef1a238bbb91dd402b72e0ed50a876f1a83e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "CVE-2017-10176: Issue with elliptic curve addition",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7",
+          "shared" : "01bc33425e72a12779eacb2edcc5b63d1281f7e86dbc7bf99a7abd0cfe367de4666d6edbb8525bffe5222f0702c3096dec0884ce572f5a15c423fdf44d01dd99c61d",
+          "result" : "valid",
+          "flags" : [
+            "CVE_2017_10176"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "public point not on curve",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fe1",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "order = -6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd166500242fe000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "order = 0",
+          "curve" : "secp521r1",
+          "public" : "308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020100020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "order = 1",
+          "curve" : "secp521r1",
+          "public" : "308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020101020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 57,
+          "comment" : "order = 1598335257761788022467377781654101148543282249044465229239888363328190330275719844327554513312228302828260696579553960150541916632196023208175974174",
+          "curve" : "secp521r1",
+          "public" : "30820241308201b406072a8648ce3d0201308201a7020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650023e01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 58,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 59,
+          "comment" : "generator not on curve",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16652024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 60,
+          "comment" : "cofactor = -1",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 61,
+          "comment" : "cofactor = 0",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 62,
+          "comment" : "cofactor = 2",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020102038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 63,
+          "comment" : "cofactor = 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449",
+          "curve" : "secp521r1",
+          "public" : "30820286308201f906072a8648ce3d0201308201ec020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 64,
+          "comment" : "cofactor = None",
+          "curve" : "secp521r1",
+          "public" : "30820242308201b506072a8648ce3d0201308201a8020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 65,
+          "comment" : "modified prime",
+          "curve" : "secp521r1",
+          "public" : "30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201e99d17d498f3c68ed8e50430ec4f36c14dbeeaf7652e985636bf0548ffb981e9e011607fd0059cd4fe51e882f19a3839ebe7f1d7376cb761431b214ed76970cc0130818604411662e82b670c3971271afbcf13b0c93eb24115089ad167a9c940fab700467e161fee9f802ffa632b01ae177d0e65c7c614180e28c893489ebce4deb128968f33fb044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 66,
+          "comment" : "using secp224r1",
+          "curve" : "secp521r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 67,
+          "comment" : "using secp256r1",
+          "curve" : "secp521r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 68,
+          "comment" : "using secp256k1",
+          "curve" : "secp521r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 69,
+          "comment" : "a = 0",
+          "curve" : "secp521r1",
+          "public" : "308202033082017606072a8648ce3d020130820169020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3046040100044109a88e6f050cfefa0b49fac45689b6b93ad4fa3b65db7d2f4cb31b67fe056a100066dd80dc5f785d27f82e3369eb22ab2c5729a9e5d9906a1dc31e02f84026484a0481850400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 70,
+          "comment" : "public key of order 3",
+          "curve" : "secp521r1",
+          "public" : "30820246308201b906072a8648ce3d0201308201ac020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308188044201331c17fff09f35dcfc7fd7d3c8128e9f885e59cbc705917bc1991bff2c40226f0df907e75e267e2ae30bf12cb3f8a3e2d09819e18517148df15c8f07ec2adc54340442019d9e2db2ddd09cf70a62f899c0657b253e9bb03a46a6855a103f0207a7e4a4911a0bb834a616264e57e65765a14a2b5dcb9de5f0bb738f4b968fcde26c1f6713ae0481850401409385dfc2d036e4172b6561d05bb573d9c9ca3228a55b16f49aa2b75bc8e9f291fbef73c2f326eaf8c84a46566b930c61519be659962e83664b62b555e3aed7e70109ad15b32003da80f39da2271254346359e0683217e3f2bd73e3bf94844c30c3ffff7f709fe699c0e42e4cc73df4a7ea6670e9423363ab29d9eed53fe2472af986024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000401409385dfc2d036e4172b6561d05bb573d9c9ca3228a55b16f49aa2b75bc8e9f291fbef73c2f326eaf8c84a46566b930c61519be659962e83664b62b555e3aed7e700f652ea4cdffc257f0c625dd8edabcb9ca61f97cde81c0d428c1c406b7bb3cf3c0000808f6019663f1bd1b338c20b5815998f16bdcc9c54d626112ac01db8d50679",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "secp521r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004af6dd5b71a8c1cf921e36854ae091aaa589d337e740e8579f816eb9e36b03eec5cf956d0fdd2fc1687335507fc1c4a5717d3b5b8ea8340d1",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "secp521r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000453366db79b320781936df61bb55d4499949d813ee5abaa5dda70da4f97f68228ccc69d7cd0b7266cfc28d0dcafdf3e83738cc611acb08f8b896c4ecf82dd65ae",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "secp521r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004aa45c13ce3cfea8538422712903edc0ce56df74ede0776e843555a786f9738de1943dffd729addfd4772169751d7765a45b5bb540a47d198f4c8c7c21e67560c1e12f70b64520109bb8858a3f8d6bb4012003431db0778633313fdb9464c47ec",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "secp521r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000475e01a1555380be188d69aac340a4675e4a6f73d63976a1075249827d8ecc2a31e65ed1eb591954e33a38f68ef8aa6c930229d8755e53257602b3eaa87de6f02",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp521r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004905a06d5bc093697155aaff67305976a769b904d8db9573c4be361626def2ffe1d5ec14462c02e5ffb24fb3edb2b6c77a5cfee2492db757b",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp521r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200042b87df1b6a5cbc4c4a184b7eec9b6c0483f7b80e6477b29649630c37481876bb0e3423f7a00d469320b7e60c88370979064efb9ceb8b387aa87a7c6941ccd9ed",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp521r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000470df62394ee036eefbc8ef11a9a5f3a8af659016f29e7125e52cfda0a74e52c7b21d18ac4375f5e4164c5338fa2f545a3fb2022f0e0686d5b4882958f72b1bb626e37093e3f19673968c237823327fd6",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp521r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004808dc7b1c6d3ec470a7fe5d6144c9c3a8c92b116103aa2edbfce0b2c827312eebcd1350d09a739eac901af341487861b195270f671e0a758deb23222db4fe7983d42a785b35fd158344cd6483c4da5b409e77d0a284dfa9c3e0d91a4d275fce9",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp521r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aa11b560dc1e572f2374e5869210304d66d95b1d8ce40940157f5f5b4a7dc8a340f7c305d6bea289f5c430eb888e2a03528336aaf4680d9d153cd162e2229df330425025df2625b147568927f6acf704e4936f8989ff9d44f33ee22196e70dfd8711e8934d8d42abb4b67afcfee213c3ad5e5c83fcf4283d253d6c5c0e581970",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp521r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00048d7a746de095728a8d83219e587040cb6e794d088ab6eab426638202579850b0f235edcf4eb8adcb51bf41878f6b71a1f2d4101022964340",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp521r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000424ad316bf41e4102dd7ae16311b64464df2d13ea68a11dd27a4445ed900962180ff8c627ed73f0c667863ee3a671e6ed1fa2781b51a229ee2cd21fbf69437d60",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp521r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004548ce4997cc618800d3834dd4b3346e4559be066ab5d0cecd7123c4de940c168fecd3bae067fe3fc7aee875c9da0a86932f0779f42344470860c22dbc6f305eab792fc0874157e175c7d3c4d3bf54c4b",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp521r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044fc2b35e3019a57a8ca6efe2ec1f72072c599a78c2725f7cfc2d9edf220b5f6abdb0c0d8d160182de451e26bcbb4e8c18726263e21ce56fb4bafaa1f186c745e2c8392ef8c5a1c03f5462ebbbcde0ffcc31e9a0b3e898ddb9c1c79e420fd7a35",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp521r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047122f743122681ac73b0d611af86847d8bec654cf99e7eaf5d4f684e4078a8e61dc6d07e831ad02cd40d41dbdb6b0e877d960b78a5ac34c1e6ce7c483503d6de2eaddeffbfb3f144d29d13535a05815934186707146e45f64476bbdbc8645be973270a4c5e35d70ffd5eab2f08d1fb04762bc8aa80e999da14f744be9ff8c923",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "invalid public key",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b810400230344000200429cb431c18f5f4e4e502f74214e6ac5ec2c3f86b830bac24de95feae142ca7d9aa8aa5b34f55af4b2848f2e6ba6df4c3ecd401a1d7b2a8287a332b202196fadbb",
+          "private" : "1c1fb2cac9087a3397814b198a80e2ea5b437aac1b41e8a2bd8fef8700e4812aa817320e6e1e3865bd2cf75e43a78be5c27ff1c4b5f5019333cb37d0c9c4ff3ec61",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400020108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639",
+          "private" : "6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacd",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b8104002303440003011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948",
+          "private" : "0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b8104002303440002011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948",
+          "private" : "0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f3",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400030108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639",
+          "private" : "6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400020009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048",
+          "private" : "2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400030047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19",
+          "private" : "1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f677",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b810400230344000300c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78",
+          "private" : "24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d5",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b810400230344000200c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78",
+          "private" : "24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d6",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400020047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19",
+          "private" : "1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f678",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400030009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048",
+          "private" : "2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "3082009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "30819d3082001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "30819d3012068200072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d0201068200052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "30819c301006072a8648ce3d020106052b81040023038200860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "309c301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "309a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301106072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b300f06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006082a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006062a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106062b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106042b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303870004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3085010000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a03085010000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a03015068501000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d0201068501000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "30819f301006072a8648ce3d020106052b81040023038501000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "308901000000000000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a4308901000000000000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a4301906890100000000000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a4301906072a8648ce3d020106890100000000000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a3301006072a8648ce3d020106052b8104002303890100000000000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30847fffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f30847fffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f301406847fffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f301406072a8648ce3d020106847fffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819e301006072a8648ce3d020106052b8104002303847fffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "3084ffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f3084ffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f30140684ffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f301406072a8648ce3d02010684ffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819e301006072a8648ce3d020106052b810400230384ffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "3085ffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a03085ffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a030150685ffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d02010685ffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f301006072a8648ce3d020106052b810400230385ffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3088ffffffffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a33088ffffffffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a330180688ffffffffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a3301806072a8648ce3d02010688ffffffffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a2301006072a8648ce3d020106052b810400230388ffffffffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30ff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30819b30ff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006ff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106ff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303ff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "30819b308006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "30819b301006802a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106802b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303800004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "removing sequence",
+          "curve" : "secp521r1",
+          "public" : "",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "removing sequence",
+          "curve" : "secp521r1",
+          "public" : "3081890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp521r1",
+          "public" : "30",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp521r1",
+          "public" : "30818a300381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d0000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d3012000006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106052b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a149817730819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a0250030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a03015498177301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "30819f30142500301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a33012301006072a8648ce3d020106052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a03015260c49817706072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "30819f3014260b250006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a33018260906072a8648ce3d02010004deadbeef06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d0201260a49817706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "30819f301406072a8648ce3d02012609250006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a3301806072a8648ce3d0201260706052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a1301006072a8648ce3d020106052b8104002323818c4981770381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a0301006072a8648ce3d020106052b8104002323818b25000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a4301006072a8648ce3d020106052b810400232381890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a4aa00bb00cd0030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a2aa02aabb30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a33018aa00bb00cd00301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a13016aa02aabb301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a33018260faa00bb00cd0006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a13016260daa02aabb06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a3301806072a8648ce3d0201260daa00bb00cd0006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a1301606072a8648ce3d0201260baa02aabb06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a4301006072a8648ce3d020106052b8104002323818faa00bb00cd000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a2301006072a8648ce3d020106052b8104002323818daa02aabb0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp521r1",
+          "public" : "3081",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp521r1",
+          "public" : "30818b30810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp521r1",
+          "public" : "0500",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp521r1",
+          "public" : "30818b05000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "2e819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "2f819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "31819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "32819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "ff819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b2e1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b2f1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b311006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b321006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819bff1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp521r1",
+          "public" : "3000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30818b30000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "truncate sequence",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "truncate sequence",
+          "curve" : "secp521r1",
+          "public" : "30819a1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "truncate sequence",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06072a8648ce3d020106052b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "truncate sequence",
+          "curve" : "secp521r1",
+          "public" : "30819a300f072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "indefinite length",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "indefinite length",
+          "curve" : "secp521r1",
+          "public" : "30819d308006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp521r1",
+          "public" : "30819c308006072a8648ce3d020106052b81040023000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5005000000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp521r1",
+          "public" : "30819f308006072a8648ce3d020106052b81040023050000000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50060811220000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp521r1",
+          "public" : "3081a1308006072a8648ce3d020106052b810400230608112200000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000fe02beef",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a1308006072a8648ce3d020106052b810400230000fe02beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500002beef",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp521r1",
+          "public" : "30819f308006072a8648ce3d020106052b810400230002beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d3000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d3012300006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "append empty sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d503000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "append empty sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106052b8104002330000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "sequence of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "sequence of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d3012301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "truncated sequence",
+          "curve" : "secp521r1",
+          "public" : "3012301006072a8648ce3d020106052b81040023",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "truncated sequence",
+          "curve" : "secp521r1",
+          "public" : "308194300906072a8648ce3d02010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp521r1",
+          "public" : "30820124301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp521r1",
+          "public" : "3081a2301706072a8648ce3d020106052b8104002306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "long form encoding of length",
+          "curve" : "secp521r1",
+          "public" : "30819c30811006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "long form encoding of length",
+          "curve" : "secp521r1",
+          "public" : "30819c30110681072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "long form encoding of length",
+          "curve" : "secp521r1",
+          "public" : "30819c301106072a8648ce3d02010681052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "removing oid",
+          "curve" : "secp521r1",
+          "public" : "308192300706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "lonely oid tag",
+          "curve" : "secp521r1",
+          "public" : "30819330080606052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "lonely oid tag",
+          "curve" : "secp521r1",
+          "public" : "308195300a06072a8648ce3d0201060381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206092a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106072b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d3012060900002a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d0201060700002b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "appending null value to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206092a8648ce3d0201050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "appending null value to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106072b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "truncated length of oid",
+          "curve" : "secp521r1",
+          "public" : "3081943009068106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "truncated length of oid",
+          "curve" : "secp521r1",
+          "public" : "308196300b06072a8648ce3d020106810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp521r1",
+          "public" : "3081943009050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp521r1",
+          "public" : "308196300b06072a8648ce3d020105000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301004072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301005072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301007072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301008072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b3010ff072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020104052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020105052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020107052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020108052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d0201ff052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "dropping value of oid",
+          "curve" : "secp521r1",
+          "public" : "3081943009060006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "dropping value of oid",
+          "curve" : "secp521r1",
+          "public" : "308196300b06072a8648ce3d020106000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b30100607288648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d0201060529810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d028106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400a30381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "truncate oid",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06062a8648ce3d0206052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "truncate oid",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06068648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "truncate oid",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06072a8648ce3d020106042b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "truncate oid",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06072a8648ce3d02010604810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "wrong oid",
+          "curve" : "secp521r1",
+          "public" : "30819e3013060a3262306530333032316106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "wrong oid",
+          "curve" : "secp521r1",
+          "public" : "3081a6301b061236303836343830313635303330343032303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "wrong oid",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d0201060a326230653033303231610381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "wrong oid",
+          "curve" : "secp521r1",
+          "public" : "3081a8301d06072a8648ce3d020106123630383634383031363530333034303230310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "longer oid",
+          "curve" : "secp521r1",
+          "public" : "3081a4301906103261383634386365336430323031303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "longer oid",
+          "curve" : "secp521r1",
+          "public" : "3081a2301706072a8648ce3d0201060c3262383130343030323330310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "oid with modified node",
+          "curve" : "secp521r1",
+          "public" : "3081a23017060e326138363438636533643032313106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "oid with modified node",
+          "curve" : "secp521r1",
+          "public" : "3081aa301f06163261383634386365336430323838383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "oid with modified node",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d0201060a326238313034303033330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "oid with modified node",
+          "curve" : "secp521r1",
+          "public" : "3081a8301d06072a8648ce3d020106123262383130343030383838303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "large integer in oid",
+          "curve" : "secp521r1",
+          "public" : "3081b430290620326138363438636533643032383238303830383038303830383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "large integer in oid",
+          "curve" : "secp521r1",
+          "public" : "3081b2302706072a8648ce3d0201061c326238313034303038323830383038303830383038303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "oid with invalid node",
+          "curve" : "secp521r1",
+          "public" : "3081a5301a0611326138363438636533643032303165303306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 280,
+          "comment" : "oid with invalid node",
+          "curve" : "secp521r1",
+          "public" : "30819c301106082a808648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "oid with invalid node",
+          "curve" : "secp521r1",
+          "public" : "3081a3301806072a8648ce3d0201060d326238313034303032336530330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "oid with invalid node",
+          "curve" : "secp521r1",
+          "public" : "30819c301106072a8648ce3d020106062b80810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp521r1",
+          "public" : "3013301006072a8648ce3d020106052b8104002303",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b8104002303818800000004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 287,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp521r1",
+          "public" : "3014301006072a8648ce3d020106052b810400230381",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 288,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp521r1",
+          "public" : "3014301006072a8648ce3d020106052b810400230500",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 289,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230181860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 290,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230281860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 291,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230481860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 292,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230581860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 293,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023ff81860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 294,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp521r1",
+          "public" : "3014301006072a8648ce3d020106052b810400230300",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 295,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860204017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 296,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32dd0",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 297,
+          "comment" : "truncate bit string",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b810400230381850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 298,
+          "comment" : "truncate bit string",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303818504017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 299,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860104017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 300,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp521r1",
+          "public" : "30819f301006072a8648ce3d020106052b8104002303818a2004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5001020304",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 301,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp521r1",
+          "public" : "3015301006072a8648ce3d020106052b81040023030103",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 302,
+          "comment" : "128 unused bits",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381868004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_test.json b/src/third_party/wycheproof_testvectors/ecdh_test.json
new file mode 100644
index 0000000..be172c1
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_test.json
@@ -0,0 +1,51220 @@
+{
+  "algorithm" : "ECDH",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
+    "CVE_2017_10176" : "This test vector leads to an EC point multiplication where an intermediate result can be the point at infinity, if addition-subtraction chains are used to speed up the point multiplication.",
+    "CompressedPoint" : "The point in the public key is compressed. Not every library supports points in compressed format.",
+    "InvalidAsn" : "The public key in this test uses an invalid ASN encoding. Some cases where the ASN parser is not strictly checking the ASN format are benign as long as the ECDH computation still returns the correct shared value.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
+    "IsomorphicPublicKey" : "The public key in this test vector uses an isomorphic curve. Such isomorphisms are sometimes used to speed up implementations. For example the brainpool curves are using this.",
+    "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
+    "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
+    "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
+    "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
+    "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
+  },
+  "numberOfTests" : 4360,
+  "header" : [],
+  "testGroups" : [
+    {
+      "curve" : "secp224r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "normal case",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00047d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc719b01d050dfbe653e72f39491be87fb1a2742daa6e0a2aada98bb1aca",
+          "private" : "565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328",
+          "shared" : "b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "compressed public key",
+          "curve" : "secp224r1",
+          "public" : "3032301006072a8648ce3d020106052b81040021031e00027d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc71",
+          "private" : "565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328",
+          "shared" : "b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00045763fa2ae16367ad23d471cc9a52466f0d81d864e5640cefe384114594d9fecfbed4f254505ac8b41d2532055a07f0241c4818b552cbb636",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "00000000000000000000000100000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004142c1fd80fa2121a59aa898144084ec033f7a56a34eee0b499e29ae51c6d8c1bbb1ef2a76d565899fe44ffc1207d530d7f598fb77f4bb76b",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ed6f793e10c80d12d871cf8988399c4898a9bf9ffd8f27399f63de25f0051cdf4eec7f368f922cfcd948893ceca0c92e540cc4367a99a66a",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "00000000ffffffffffffffff00000000000000010000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000408fcfc1a63c82860be12e4137433dfc40be9acdd245f9a8c4e56be61a385fc09f808383383f4b1d0d5365b6e5dcfacdc19bc7bcfed221274",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004d883ed77f1861e8712800d31df67888fe39f150c79a27aa88caeda6b180f3f623e2ff3ab5370cf8179165b085af3dd4502850c0104caed9a",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "0003fffffff00000003fffffff00000003fffffff000000040000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00042b8b279b85ee3f3d2c0abeb36fdfc5aad6157d652d26489381a32cd73224bd757ef794acc92b0b3b9e7990618bb343a9a09bdb9d3616eff6",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "01fffffffc00000007fffffff00000001fffffffc000000080000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004a281ad992b363597ac93ff0de8ab1f7e51a6672dcbb58f9d739ba430ce0192874038daefc3130eec65811c7255da70fea65c1003f6892faa",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004be3e22133f51203f631b81dde8c020cdea5daa1f99cfc05c88fad2dc0f243798d6e72d1de9e3cdca4144e0a6c0f2a584d07589006972c197",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004af14547c20afbd91bfe64ea03d45a76a71241f23520ef897ff91eff1b54ca6ca8c25fd73852ec6654617434eff7f0225684d4dea7a4f8a97",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004b1e484925018729926acda56ff3e2f6c1e7e8f162b178d8e8afb45564fceaa6da5d998fe26b6b26a055169063a5ab6908852ca8b54e2de6c",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004937eb09fb145c8829cb7df20a4cbeed396791373de277871d6c5f9cc3b5b4fd56464a71fc4a2a6af3bd251952bffa829489e68a8d06f96b6",
+          "private" : "0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6",
+          "shared" : "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000001000000000000000000000000000000012ea2f4917bdfdb008306cc10a18e2557633ba861001829dcbfb96fba",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "be1ded8cb7ff8a585181f96d681e31b332fe27dcae922dca2310300d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000400000000000000ffffffffffffff000000000000010000000000000073ca5f8f104997a2399e0c7f25e72a75ec29fc4542533d3fea89a33a",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "a2e86a260e13515918a0cafdd87855f231b5624c560f976159e06a75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000400000000ffffffffffffffff000000000000000100000000000000006fe6805f59b19b0dd389452a1d4a420bfeb6c369cf6fed5b12e6e654",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "31ef7c8d10404a0046994f313a70574b027e87f9028eca242c1b5bf5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff77c5cfa4e2c384938d48bd8dd98f54c86b279f1df8c0a1f6692439c9",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "d1976a8ef5f54f24f5a269ad504fdca849fc9c28587ba294ef267396",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00040003fffffff00000003fffffff00000003fffffff00000004000000001f0828136016bb97445461bc59f2175d8d23557d6b9381f26136e3d",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "ce7890d108ddb2e5474e6417fcf7a9f2b3bd018816062f4835260dc8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000401fffffffc00000007fffffff00000001fffffffc0000000800000012d8acca6f199d4a94b933ba1aa713a7debde8ac57b928f596ae66a66",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "30b6ff6e8051dae51e4fe34b2d9a0b1879153e007eb0b5bdf1791a9c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff7d8dbca36c56bcaae92e3475f799294f30768038e816a7d5f7f07d77",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "73bd63bd384a0faafb75cfed3e95d3892cbacf0db10f282c3b644771",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800174f1ff5ea7fbc72b92f61e06556c26bab84c0b082dd6400ca1c1eb6d",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "85b079c62e1f5b0fd6841dfa16026e15b641f65e13a14042567166bb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0126fdd5fccd0b5aa7fd5bb5b1308584b30556248cec80208a2fe962",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "8a834ff40e3fc9f9d412a481e18537ea799536c5520c6c7baaf12166",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff20cfa23077acc9fbcb71339c65880cd0b966b8a9497e65abed17f0b5",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "a0887269766e6efcbc81d2b38f2d4638663f12377468a23421044188",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1c05ac2d4f10b69877c3243d51f887277b7bf735c326ab2f0d70da8c",
+          "private" : "2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969",
+          "shared" : "c65d1911bc076a74588d8793ce7a0dcabf5793460cd2ebb02754a1be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "3",
+          "shared" : "e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "fa2664717c7fa0161ec2c669b2c0986cdc20456a6e5406302bb53c77",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "1000000000000000000000000000000000000000000000000000000",
+          "shared" : "af6e5ad34497bae0745f53ad78ce8b285d79f400d5c6e6a071f8e6bd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "12fd302ff8c13c55a9c111f8bb6b0a13ecf88299c0ae3032ce2bcaff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "080000000000000000000000000000000000000000000000000000000",
+          "shared" : "73f1a395b842f1a6752ae417e2c3dc90cafc4476d1d861b7e68ad030",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03d13dd29455c5c2a3d",
+          "shared" : "b329c20ddb7c78ee4e622bb23a984c0d273ba34b6269f3d9e8f89f8e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13cd29455c5c2a3d",
+          "shared" : "6f48345209b290ffc5abbe754a201479e5d667a209468080d06197b4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13d529455c5c2a3d",
+          "shared" : "9f6e30c1c9dad42a153aacd4b49a8e5c721d085cd07b5d5aec244fc1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29445c5c2a3d",
+          "shared" : "8cadfb19a80949e61bd5b829ad0e76d18a5bb2eeb9ed7fe2b901cecd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29b7",
+          "shared" : "475fd96e0eb8cb8f100a5d7fe043a7a6851d1d611da2643a3c6ae708",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 35,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37",
+          "shared" : "41ef931d669d1f57d8bb95a01a92321da74be8c6cbc3bbe0b2e73ebd",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 36,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
+          "shared" : "e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "edge case private key",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504",
+          "private" : "0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b",
+          "shared" : "11ff15126411299cbd49e2b7542e69e91ef132e2551a16ecfebb23a3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 38,
+          "comment" : "public point not on curve",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5d",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 39,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 40,
+          "comment" : "order = -26959946667150639794667015087019625940457807714424391721682722368061",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021dff0000000000000000000000000000e95d1f470fc1ec22d6baa3a3d5c3020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 41,
+          "comment" : "order = 0",
+          "curve" : "secp224r1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020100020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 42,
+          "comment" : "order = 1",
+          "curve" : "secp224r1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020101020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 43,
+          "comment" : "order = 6277101735386680763835789423207665314073163949517624387909",
+          "curve" : "secp224r1",
+          "public" : "3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021900ffffffffffffffffffffffffffff16a2e0b8f03e13dd2945020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 44,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb40439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 45,
+          "comment" : "generator not on curve",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e36021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 46,
+          "comment" : "cofactor = -1",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 47,
+          "comment" : "cofactor = 0",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 48,
+          "comment" : "cofactor = 2",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020102033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 49,
+          "comment" : "cofactor = 26959946667150639794667015087019625940457807714424391721682722368061",
+          "curve" : "secp224r1",
+          "public" : "3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 50,
+          "comment" : "cofactor = None",
+          "curve" : "secp224r1",
+          "public" : "308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 51,
+          "comment" : "modified prime",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c123da0a46a971da9468161e61a5c71a02e6c9bdb3392f4016fb457b303c041c3edc25f5b9568e256b97e9e19e5a38e4fd1936424cc6d0bfe904ba83041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 52,
+          "comment" : "using secp256r1",
+          "curve" : "secp224r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 53,
+          "comment" : "using secp256k1",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 54,
+          "comment" : "a = 0",
+          "curve" : "secp224r1",
+          "public" : "3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff0000000000000000000000013021040100041cd0d5e347a38ce5b6e1f47edddd8a223bca45d2015de76ec835a4df57043904a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 55,
+          "comment" : "public key of order 3",
+          "curve" : "secp224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041c638e13764a07715dd0f3dc73c3b96a57d7edf087edd548055acba86d041cc9a6db972cff80f0a883ee0ea939544a707b32284b77b79c72118f390439043afa3ffd1cb3be8625468884aad7a07f33de1cfd74b06a060142a7d7470e6fb68cd0695a6c52b98246f92030ff4cdeb97dc90591eee1a1f0021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a00043afa3ffd1cb3be8625468884aad7a07f33de1cfd74b06a060142a7d7b8f19049732f96a593ad467db906dfce00b321468236fa6e111e5e11",
+          "private" : "0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2",
+          "shared" : "9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 56,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "secp224r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ea36cf70fab75684eabe6569ce623db0deaa8c95f61c8be50b8b9f3eb7d4b9ec48d9e4814f4cb1c286589eaaa990d3f3238b2d6d6be964abfad964824b653376",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "secp224r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200044b2470ad3d13269c10a17d222ebdffbd61fb04488db1b1d7caef8d4988b7bb8ba6d81857a05b255232b9e37a30e328bb9d9c42d86096f2bcee3d258cfe208d2fd03cbd5ccc6a3bb8ce4b0efa5b059b4afbd0377aa6e274721a57efe8ee85d86a",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "secp224r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004012841a2260f0f1f424865fef275374779bf0355720223f8ec6a9ba767b1603b492f58a6bba1705d882257bc6be1935de4411c5f1fdad44ec65ba8b97ce0e73e1ac90006937832a602147e37c1a42ca2a63629ffc9a35b31bfacb38c6242b42916125f7446b45c718f797259bc3011cb71e868560b331cf7d01139a0643443f9fd7306c1",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004c2199fecf75648c0e952dff143821fa4012b28f90435ce6ee54653687f969a76092a3844e17d478a594f43b28cc10a5c553b4f64906121031c3a79299c70dbd6",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00046caa3d6d86f792df7b29e41eb4203150f60f4fca10f57d0b2454abfb201f9f7e6dcbb92bdcfb9240dc86bcaeaf157c77bca22b2ec86ee8d6",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp224r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200042750180012c3ba7489517d428e4826784e50b50ac42ef7991c61a396c03a52da5e74908ae8a89627a7c15e554b105b0ebaeebcfed10e3ea60223d0a8bc3b36ab",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp224r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200045b523d3a8f20f6a569c6951e0b8de48d89e7549a184e8506820421c3e404473692cd248d7480843b911d87a87e401112fce0d3d2c36978cf6dd7f1d93bfaebe0827d4bf4006006d3202e842126fe1b68",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp224r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004449607c76c6dc7334c269a0ebab5beec83b6c263377ce06ef5c276f45a9916eff85f50438f5f32ced0210a6c414fe5e242c7c1070823f5395b35965bda6758acf84725f11ea836dda7d391fee91342026645241853224a437a6fb74e4cdc871f",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp224r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000463e7a491240848e4f53ea5fb857d428c493053193e4b0b4f995ac8bf4c56276a507870131a384aa7e236c64cd7a049a1b37e40ad00c3b8a920dcbad6531616356ce1b6e6d96a7d1b693e25e5abd83ab560a3d764bcd49ec98a1b49421163bd5fc5a625f44c91eb4c2984d5a2e51e816ebdee8fbe08364bb14b7ac876990e64d9",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047c592ecb8908355d1ebf8d59b3619275dbe3666209b72ced6a3c88740456ce61d6a84e0542d7cd10dd8804afb8c784d5dffd9480d8cfdc95",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp224r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004746226a3e005c37ede51828d3375ef91ebd0ff719a380af69d7dfd131b42a3e8917d4a4d573872935a74d1040f1c47d25d6b26f4156cccdcdc11833b9cde433a",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp224r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200043298b36825c7bd90ab5157b913d40bbfd732a0de0557e02a2c65a0c223e9a65d62c32462040dd6fe578103023c831caff122c1ed4b8ff7373fa2f08d11c9f4c7f85f81802262ffed9bb82cb6d92eed2d",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp224r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200043af2849b981f7e5e6ab936e6abb4f206c1fd5561998df8008bfe98d84173c9f2301cdbd5bffc569c0b5a57ce2a8f4d640f1816475fc6043baa8e5a3453bf327b54cb29c7e54a5f31348969aa94615094dbcd1a8e5c2d630465e45fc556c02194",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp224r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000453d2506047e72af6d98558e1633ecb7e6a05c37861cd3289455cf41bfbf1703f2e9a83052b8eca7d84cba2f001abd8b978f68b69ed6bd874755c44d347fe302c5760b2078c56b24ebd0dcd99f26b8f8a23044b3767a3d2a306587687a7b00668974674edbf18c3db2f3473a97ee77065fdcdd1a9aa053716a4c504f3d18b9170",
+          "private" : "2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "invalid public key",
+          "curve" : "secp224r1",
+          "public" : "3032301006072a8648ce3d020106052b81040021031e00020ca753db5ddeca474241f8d2dafc0844343fd0e37eded2f0192d51b2",
+          "private" : "0fc28a0ca0f8e36b0d4f71421845135a22aef543b9fddf8c775b2d18f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 71,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "30814e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 72,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "304f30811006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 73,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "304f30110681072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 74,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "304f301106072a8648ce3d02010681052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 75,
+          "comment" : "long form encoding of length",
+          "curve" : "secp224r1",
+          "public" : "304f301006072a8648ce3d020106052b8104002103813a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 76,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "3082004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 77,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "30503082001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 78,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "30503012068200072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 79,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d0201068200052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 80,
+          "comment" : "length contains leading 0",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b810400210382003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 81,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304f301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 82,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 83,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301106072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e300f06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 85,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006082a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 86,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006062a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 87,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106062b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 88,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106042b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 89,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033b000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 90,
+          "comment" : "wrong length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 91,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3085010000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 92,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "30533085010000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 93,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "30533015068501000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 94,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d0201068501000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 95,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3053301006072a8648ce3d020106052b810400210385010000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 96,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "308901000000000000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 97,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3057308901000000000000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 98,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3057301906890100000000000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3057301906072a8648ce3d020106890100000000000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp224r1",
+          "public" : "3057301006072a8648ce3d020106052b81040021038901000000000000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "30847fffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "305230847fffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 103,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301406847fffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 104,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d020106847fffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 105,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301006072a8648ce3d020106052b8104002103847fffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 106,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "3084ffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 107,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "30523084ffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 108,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "305230140684ffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 109,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d02010684ffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 110,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp224r1",
+          "public" : "3052301006072a8648ce3d020106052b810400210384ffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 111,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "3085ffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 112,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "30533085ffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 113,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "305330150685ffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 114,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d02010685ffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 115,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp224r1",
+          "public" : "3053301006072a8648ce3d020106052b810400210385ffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 116,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "3088ffffffffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 117,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "30563088ffffffffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 118,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "305630180688ffffffffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 119,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "3056301806072a8648ce3d02010688ffffffffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 120,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b810400210388ffffffffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 121,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "30ff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 122,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "304e30ff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 123,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "304e301006ff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 124,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106ff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 125,
+          "comment" : "incorrect length",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b8104002103ff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 126,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 127,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "304e308006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 128,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "304e301006802a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 129,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106802b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 130,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b810400210380000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 131,
+          "comment" : "removing sequence",
+          "curve" : "secp224r1",
+          "public" : "",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 132,
+          "comment" : "removing sequence",
+          "curve" : "secp224r1",
+          "public" : "303c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 133,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp224r1",
+          "public" : "30",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 134,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp224r1",
+          "public" : "303d30033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 135,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 136,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 137,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "30500000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 138,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "30503012000006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 139,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 140,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 141,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 142,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106052b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 143,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3053498177304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 144,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30522500304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 145,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 146,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30533015498177301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 147,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "305230142500301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 148,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30563012301006072a8648ce3d020106052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 149,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30533015260c49817706072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30523014260b250006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "30563018260906072a8648ce3d02010004deadbeef06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d0201260a49817706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3052301406072a8648ce3d02012609250006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3056301806072a8648ce3d0201260706052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3053301006072a8648ce3d020106052b81040021233f498177033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3052301006072a8648ce3d020106052b81040021233e2500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "including garbage",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b81040021233c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3056aa00bb00cd00304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3054aa02aabb304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "30563018aa00bb00cd00301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "30543016aa02aabb301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "30563018260faa00bb00cd0006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "30543016260daa02aabb06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3056301806072a8648ce3d0201260daa00bb00cd0006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3054301606072a8648ce3d0201260baa02aabb06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3056301006072a8648ce3d020106052b810400212342aa00bb00cd00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "including undefined tags",
+          "curve" : "secp224r1",
+          "public" : "3054301006072a8648ce3d020106052b810400212340aa02aabb033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp224r1",
+          "public" : "3081",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp224r1",
+          "public" : "303e3081033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp224r1",
+          "public" : "0500",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp224r1",
+          "public" : "303e0500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "2e4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "2f4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "314e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "324e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "ff4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304e2e1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304e2f1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304e311006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304e321006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp224r1",
+          "public" : "304eff1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp224r1",
+          "public" : "3000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp224r1",
+          "public" : "303e3000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "truncate sequence",
+          "curve" : "secp224r1",
+          "public" : "304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "truncate sequence",
+          "curve" : "secp224r1",
+          "public" : "304d1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncate sequence",
+          "curve" : "secp224r1",
+          "public" : "304d300f06072a8648ce3d020106052b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "truncate sequence",
+          "curve" : "secp224r1",
+          "public" : "304d300f072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "indefinite length",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "indefinite length",
+          "curve" : "secp224r1",
+          "public" : "3050308006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6200",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp224r1",
+          "public" : "304f308006072a8648ce3d020106052b8104002100033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6205000000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp224r1",
+          "public" : "3052308006072a8648ce3d020106052b8104002105000000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62060811220000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp224r1",
+          "public" : "3054308006072a8648ce3d020106052b81040021060811220000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000fe02beef",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp224r1",
+          "public" : "3054308006072a8648ce3d020106052b810400210000fe02beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp224r1",
+          "public" : "3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620002beef",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp224r1",
+          "public" : "3052308006072a8648ce3d020106052b810400210002beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp224r1",
+          "public" : "30503000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp224r1",
+          "public" : "30503012300006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "append empty sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da623000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "append empty sequence",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106052b810400213000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "sequence of sequence",
+          "curve" : "secp224r1",
+          "public" : "3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "sequence of sequence",
+          "curve" : "secp224r1",
+          "public" : "30503012301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "truncated sequence",
+          "curve" : "secp224r1",
+          "public" : "3012301006072a8648ce3d020106052b81040021",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "truncated sequence",
+          "curve" : "secp224r1",
+          "public" : "3047300906072a8648ce3d0201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp224r1",
+          "public" : "30818a301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp224r1",
+          "public" : "3055301706072a8648ce3d020106052b8104002106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "removing oid",
+          "curve" : "secp224r1",
+          "public" : "3045300706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "lonely oid tag",
+          "curve" : "secp224r1",
+          "public" : "304630080606052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "lonely oid tag",
+          "curve" : "secp224r1",
+          "public" : "3048300a06072a8648ce3d020106033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206092a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106072b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "30503012060900002a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d0201060700002b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "appending null value to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206092a8648ce3d0201050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "appending null value to oid",
+          "curve" : "secp224r1",
+          "public" : "3050301206072a8648ce3d020106072b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "truncated length of oid",
+          "curve" : "secp224r1",
+          "public" : "30473009068106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "truncated length of oid",
+          "curve" : "secp224r1",
+          "public" : "3049300b06072a8648ce3d02010681033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 222,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp224r1",
+          "public" : "30473009050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 223,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp224r1",
+          "public" : "3049300b06072a8648ce3d02010500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 224,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301004072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 225,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301005072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 226,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301007072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 227,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301008072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 228,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e3010ff072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 229,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020104052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 230,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020105052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 231,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020107052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020108052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d0201ff052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "dropping value of oid",
+          "curve" : "secp224r1",
+          "public" : "30473009060006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "dropping value of oid",
+          "curve" : "secp224r1",
+          "public" : "3049300b06072a8648ce3d02010600033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp224r1",
+          "public" : "304e30100607288648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052981040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 238,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d028106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b810400a1033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "truncate oid",
+          "curve" : "secp224r1",
+          "public" : "304d300f06062a8648ce3d0206052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "truncate oid",
+          "curve" : "secp224r1",
+          "public" : "304d300f06068648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "truncate oid",
+          "curve" : "secp224r1",
+          "public" : "304d300f06072a8648ce3d020106042b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "truncate oid",
+          "curve" : "secp224r1",
+          "public" : "304d300f06072a8648ce3d0201060481040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "wrong oid",
+          "curve" : "secp224r1",
+          "public" : "30513013060a3262306530333032316106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 245,
+          "comment" : "wrong oid",
+          "curve" : "secp224r1",
+          "public" : "3059301b061236303836343830313635303330343032303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "wrong oid",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d0201060a32623065303330323161033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "wrong oid",
+          "curve" : "secp224r1",
+          "public" : "305b301d06072a8648ce3d02010612363038363438303136353033303430323031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "longer oid",
+          "curve" : "secp224r1",
+          "public" : "3057301906103261383634386365336430323031303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "longer oid",
+          "curve" : "secp224r1",
+          "public" : "3055301706072a8648ce3d0201060c326238313034303032313031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "oid with modified node",
+          "curve" : "secp224r1",
+          "public" : "30553017060e326138363438636533643032313106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "oid with modified node",
+          "curve" : "secp224r1",
+          "public" : "305d301f06163261383634386365336430323838383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 252,
+          "comment" : "oid with modified node",
+          "curve" : "secp224r1",
+          "public" : "3053301506072a8648ce3d0201060a32623831303430303331033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "oid with modified node",
+          "curve" : "secp224r1",
+          "public" : "305b301d06072a8648ce3d02010612326238313034303038383830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "large integer in oid",
+          "curve" : "secp224r1",
+          "public" : "306730290620326138363438636533643032383238303830383038303830383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "large integer in oid",
+          "curve" : "secp224r1",
+          "public" : "3065302706072a8648ce3d0201061c32623831303430303832383038303830383038303830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "oid with invalid node",
+          "curve" : "secp224r1",
+          "public" : "3058301a0611326138363438636533643032303165303306052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "oid with invalid node",
+          "curve" : "secp224r1",
+          "public" : "304f301106082a808648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "oid with invalid node",
+          "curve" : "secp224r1",
+          "public" : "3056301806072a8648ce3d0201060d32623831303430303231653033033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 259,
+          "comment" : "oid with invalid node",
+          "curve" : "secp224r1",
+          "public" : "304f301106072a8648ce3d020106062b8081040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp224r1",
+          "public" : "3013301006072a8648ce3d020106052b8104002103",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033c0000000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp224r1",
+          "public" : "3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp224r1",
+          "public" : "3014301006072a8648ce3d020106052b810400210381",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp224r1",
+          "public" : "3014301006072a8648ce3d020106052b810400210500",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 266,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021013a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021023a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021043a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021053a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021ff3a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp224r1",
+          "public" : "3014301006072a8648ce3d020106052b810400210300",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a020486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 273,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3dae2",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "truncate bit string",
+          "curve" : "secp224r1",
+          "public" : "304d301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "truncate bit string",
+          "curve" : "secp224r1",
+          "public" : "304d301006072a8648ce3d020106052b8104002103390486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a010486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp224r1",
+          "public" : "3052301006072a8648ce3d020106052b81040021033e200486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6201020304",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp224r1",
+          "public" : "3015301006072a8648ce3d020106052b81040021030103",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "128 unused bits",
+          "curve" : "secp224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a800486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62",
+          "private" : "0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572",
+          "shared" : "85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "secp256r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "normal case",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf",
+          "private" : "612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346",
+          "shared" : "53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 281,
+          "comment" : "compressed public key",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000362d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26",
+          "private" : "612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346",
+          "shared" : "53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000458fd4168a87795603e2b04390285bdca6e57de6027fe211dd9d25e2212d29e62080d36bd224d7405509295eed02a17150e03b314f96da37445b0d1d29377d12c",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 283,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040f6d20c04261ecc3e92846acad48dc8ec5ee35ae0883f0d2ea71216906ee1c47c042689a996dd12830ae459382e94aac56b717af2e2080215f9e41949b1f52be",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 284,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400c7defeb1a16236738e9a1123ba621bc8e9a3f2485b3f8ffde7f9ce98f5a8a1cb338c3912b1792f60c2b06ec5231e2d84b0e596e9b76d419ce105ece3791dbc",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "0000000000000000ffffffffffffffff00000000000000010000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 285,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e9b98fb2c0ac045f8c76125ffd99eb8a5157be1d7db3e85d655ec1d8210288cf218df24fd2c2746be59df41262ef3a97d986744b2836748a7486230a319ffec0",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 286,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e9484e58f3331b66ffed6d90cb1c78065fa28cfba5c7dd4352013d3252ee4277bd7503b045a38b4b247b32c59593580f39e6abfa376c3dca20cf7f9cfb659e13",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 287,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004767d7fbb84aa6a4db1079372644e42ecb2fec200c178822392cb8b950ffdd0c91c86853cafd09b52ba2f287f0ebaa26415a3cfabaf92c6a617a19988563d9dea",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 288,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f3cb6754b7e2a86d064dfb9f903185aaa4c92b481c2c1a1ff276303bbc4183e49c318599b0984c3563df339311fe143a7d921ee75b755a52c6f804f897b809f7",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 289,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cce13fbdc96a946dfb8c6d9ed762dbd1731630455689f57a437fee124dd54cecaef78026c653030cf2f314a67064236b0a354defebc5e90c94124e9bf5c4fc24",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "8000000000000000000000000000000000000000000000000000000000000004",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 290,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047633dfd0ad06765097bc11bd5022b200df31f28c4ff0625421221ac7eeb6e6f4cb9c67693609ddd6f92343a5a1c635408240f4f8e27120c12554c7ff8c76e2fe",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 291,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a386ace573f87558a68ead2a20088e3fe928bdae9e109446f93a078c15741f0421261e6db2bf12106e4c6bf85b9581b4c0302a526222f90abc5a549206b11011",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 292,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048e7b50f7d8c44d5d3496c43141a502f4a43f153d03ad43eda8e39597f1d477b8647f3da67969b7f989ff4addc393515af40c82085ce1f2ee195412c6f583774f",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 293,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c827fb930fd51d926086191b502af83abb5f717debc8de29897a3934b2571ca05990c0597b0b7a2e42febd56b13235d1d408d76ed2c93b3facf514d902f6910a",
+          "private" : "0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a",
+          "shared" : "ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 294,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "cfe4077c8730b1c9384581d36bff5542bc417c9eff5c2afcb98cc8829b2ce848",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 295,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff4f2b92b4c596a5a47f8b041d2dea6043021ac77b9a80b1343ac9d778f4f8f733",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "49ae50fe096a6cd26698b78356b2c8adf1f6a3490f14e364629f7a0639442509",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 296,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000ffffffffffffffff0000000000000001000000000000000138120be6ab31edfa34768c4387d2f84fb4b0be8a9a985864a1575f4436bb37b0",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "5a1334572b2a711ead8b4653eb310cd8d9fd114399379a8f6b872e3b8fdda2d9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 297,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000ffffffff00000000ffffffff00000000ffffffff0000000100000000462c0466e41802238d6c925ecbefc747cfe505ea196af9a2d11b62850fce946e",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "c73755133b6b9b4b2a00631cbc7940ecbe6ec08f20448071422e3362f2556888",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 298,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff1582fa32e2d4a89dfcfb3d0b149f667dba3329490f4d64ee2ad586c0c9e8c508",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "06fa1059935e47a9fd667e13f469614eb257cc9a7e3fc599bfb92780d59b146d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 299,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001684c8a9586ed6f9cbe447058a7da2108bab1e5e0a60d1f73e4e2e713f0a3dfe0",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "f237df4c10bd3e357971bb2b16b293566b7e355bdc8141d6c92cabc682983c45",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 300,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff2e2213caf03033e0fd0f7951154f6e6c3a9244a72faca65e9ce9eeb5c8e1cea9",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "55d0a203e22ffb523c8d2705060cee9d28308b51f184beefc518cff690bad346",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 301,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000480000000000000000000000000000000000000000000000000000000000000042be8789db81bb4870a9e60c5c18c80c83de464277281f1af1e640843a1a3148e",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "2518d846e577d95e9e7bc766cde7997cb887fb266d3a6cb598a839fd54aa2f4f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 302,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000722540f8a471c379083c600b58fde4d95c7dcad5095f4219fc5e9bdde3c5cd39",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "bdb49f4bdf42ac64504e9ce677b3ec5c0a03828c5b3efad726005692d35c0f26",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 303,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff5df80fc6cae26b6c1952fbd00ed174ee1209d069335f5b48588e29e80b9191ad",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "f503ac65637e0f17cb4408961cb882c875e4c6ef7a548d2d52d8c2f681838c55",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 304,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2c63650e6a5d332e2987dd09a79008e8faabbd37e49cb016bfb92c8cd0f5da77",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "e3c18e7d7377dc540bc45c08d389bdbe255fa80ca8faf1ef6b94d52049987d21",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 305,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff7a116c964a4cd60668bf89cffe157714a3ce21b93b3ca607c8a5b93ac54ffc0a",
+          "private" : "55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48",
+          "shared" : "516d6d329b095a7c7e93b4023d4d05020c1445ef1ddcb3347b3a27d7d7f57265",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 306,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "3",
+          "shared" : "85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 307,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "a329a7d80424ea2d6c904393808e510dfbb28155092f1bac284dceda1f13afe5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 308,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "100000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "bd26d0293e8851c51ebe0d426345683ae94026aca545282a4759faa85fde6687",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 309,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "ea9350b2490a2010c7abf43fb1a38be729a2de375ea7a6ac34ff58cc87e51b6c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 310,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "34eed3f6673d340b6f716913f6dfa36b5ac85fa667791e2d6a217b0c0b7ba807",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 311,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e83f3b9cac2fc632551",
+          "shared" : "1354ce6692c9df7b6fc3119d47c56338afbedccb62faa546c0fe6ed4959e41c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 312,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3a9cac2fc632551",
+          "shared" : "fe7496c30d534995f0bf428b5471c21585aaafc81733916f0165597a55d12cb4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 313,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b1cac2fc632551",
+          "shared" : "348bf8042e4edf1d03c8b36ab815156e77c201b764ed4562cfe2ee90638ffef5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 314,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac1fc632551",
+          "shared" : "6e4ec5479a7c20a537501700484f6f433a8a8fe53c288f7a25c8e8c92d39e8dc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 315,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324f3",
+          "shared" : "f7407d61fdf581be4f564621d590ca9b7ba37f31396150f9922f1501da8c83ef",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 316,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632533",
+          "shared" : "82236fd272208693e0574555ca465c6cc512163486084fa57f5e1bd2e2ccc0b3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 317,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632543",
+          "shared" : "06537149664dba1a9924654cb7f787ed224851b0df25ef53fcf54f8f26cd5f3f",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 318,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254b",
+          "shared" : "f2b38539bce995d443c7bfeeefadc9e42cc2c89c60bf4e86eac95d51987bd112",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 319,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
+          "shared" : "85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 320,
+          "comment" : "edge case private key",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b",
+          "private" : "0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f",
+          "shared" : "027b013a6f166db655d69d643c127ef8ace175311e667dff2520f5b5c75b7659",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 321,
+          "comment" : "CVE-2017-8932",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004023819813ac969847059028ea88a1f30dfbcde03fc791d3a252c6b41211882eaf93e4ae433cc12cf2a43fc0ef26400c0e125508224cdb649380f25479148a4ad",
+          "private" : "2a265f8bcbdcaf94d58519141e578124cb40d64a501fba9c11847b28965bc737",
+          "shared" : "4d4de80f1534850d261075997e3049321a0864082d24a917863366c0724f5ae3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 322,
+          "comment" : "CVE-2017-8932",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cc11887b2d66cbae8f4d306627192522932146b42f01d3c6f92bd5c8ba739b06a2f08a029cd06b46183085bae9248b0ed15b70280c7ef13a457f5af382426031",
+          "private" : "313f72ff9fe811bf573176231b286a3bdb6f1b14e05c40146590727a71c3bccd",
+          "shared" : "831c3f6b5f762d2f461901577af41354ac5f228c2591f84f8a6e51e2e3f17991",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 323,
+          "comment" : "public point not on curve",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764c",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 324,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 325,
+          "comment" : "order = -115792089210356248762697446949407573529996955224135760342422259061068512044369",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f50221ff00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 326,
+          "comment" : "order = 0",
+          "curve" : "secp256r1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020100020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 327,
+          "comment" : "order = 1",
+          "curve" : "secp256r1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020101020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 328,
+          "comment" : "order = 26959946660873538060741835960514744168612397095220107664918121663170",
+          "curve" : "secp256r1",
+          "public" : "3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5021d00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 329,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b04410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 330,
+          "comment" : "generator not on curve",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f7022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 331,
+          "comment" : "cofactor = -1",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 332,
+          "comment" : "cofactor = 0",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 333,
+          "comment" : "cofactor = 2",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 334,
+          "comment" : "cofactor = 115792089210356248762697446949407573529996955224135760342422259061068512044369",
+          "curve" : "secp256r1",
+          "public" : "308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 335,
+          "comment" : "cofactor = None",
+          "curve" : "secp256r1",
+          "public" : "308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 336,
+          "comment" : "modified prime",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fd091059a6893635f900e9449d63f572b2aebc4cff7b4e5e33f1b200e8bbc1453044042002f6efa55976c9cb06ff16bb629c0a8d4d5143b40084b1a1cc0e4dff17443eb704205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 337,
+          "comment" : "using secp224r1",
+          "curve" : "secp256r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 338,
+          "comment" : "using secp256k1",
+          "curve" : "secp256r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 339,
+          "comment" : "a = 0",
+          "curve" : "secp256r1",
+          "public" : "308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff302504010004201b95c2f46065dbf0f3ff09153e4748ed71595e0774ba8e25c364ff1e6be039b70441041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 340,
+          "comment" : "public key of order 3",
+          "curve" : "secp256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff304404207fe51581de0fd5f6a3f08793c6763330d51c6a9c332272132281ed58c314da360420fcf3e76add34e1daa4e8d962604a3bb6075a79da47c6719e389fe4fe37d35250044104bf0bb5f8717a07846f828f91fb493d3850365b7da5b355e76615b07ced174fe16a2542257eb94a12e3703989ee36f5459fb3b5c1028e766ec1b7a0ba39c0ed8a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63255102010103420004bf0bb5f8717a07846f828f91fb493d3850365b7da5b355e76615b07ced174fe195dabdd98146b5ee1c8fc67611c90aba604c4a3ffd7189913e485f45c63f1275",
+          "private" : "4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 341,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "secp256r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00042af270d2a6030e3dd38cc46e7d719f176c2ca4eb04d7e8b84290c8edbcaed964ebe226b2d7ce17251622804c0d3b7adce020a3cdc97cac6c",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 342,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "secp256r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200041f17901e731b06f349b6e9d7d17d45e8a2b46115a47485be16197932db87b39405b5c941b36fd61b9ef7dd20878e129e55a2277099c601dcdb3747f80ad6e166116378e1ebce2c95744a0986128cfeeaac7f90b71787d9a1cfe417cd4c8f6af5",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 343,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "secp256r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400ed76e5888428fad409ff203ab298b0f24827c091939ae0f9b1245d865ac5fbcd2749f9ae6c90fa8e29414d1bc7dc7b3c4aca904cd824484421cc66fe6af43bdfd200c1f790a0b3ae994937f91b6bdb9778b08c83ecadb8cba22a78c37bf565dac164f18e719be0ef890ee5cbf20e17fcfc9a5585e5416470b9862f82fb769339994f4e",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 344,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "secp256r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200048028d16082b07696d4aa4aab9d6b1f1463435ac097900631108f9888e13da67c4841fd8dd3ced6e7ad8c6fc656621c2f93d3db0eb29d48d1423154519865dbc1",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 345,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp256r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a6bae3d155c1f9ca263928c986ede69acefd0dd9b3a19d2b9f4b0a3a66bea5d167318dcc028945fc1b40c60ce716ba2d414a743c6b856a6f",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 346,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200045d3ddbbb9bc071d8b59855c74bdf3541ae4cb6c1a24ec439034df7abde16a346523edf6a67896b304cb2cd2a083eec2b16935bbc910e85ec6eae38b50230bf70",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 347,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp256r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004a43c6ef2500723d54c1fc88f8844d83445ca5a0f585c10b8eb3f022d47d0e84862b7f5cbf97d352d4348ca730f600f2258d1d192da223f6ba83a7cc0d6da598d55c2b77824d326c8df000b8fff156d2c",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 348,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp256r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042391c062833d1e6d89ec256cf4a3989534c1ead5e1e14ffae933a53f962857e4713087e1b3d65ac79634c71577af24698b5ce959183835551f7b08aef7853378c299930b360813fd58d5e4da8b37d5a7473e891ee11cb02881bd848b364fb7d5",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 349,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp256r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000484beae85096640953c1fd6ebbc32697263d53f89943cbaf14432061aea8c0318acbd9389ab1d2e904fa0e081d08cfabb614ed9bca618211142d94623c14b476a25e47abf98fd3b1da1417dfc2e2cfc8424b16ea14dd45e1422be7d4e0a5cc7f4d4ab5f198cdbaaa3f642ec6361842cbe869382ee78cd596ff5e740d9ec2c3ad6",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 350,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp256r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00042b0a1a858ffc44e7752940731d378f96570837e279ea3948fe00cff8b5f89adb4e2fe6f8781ba6426364f4590b34dd79fc80629de4a86084",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 351,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200043037c01b4a5ac53742e3f5528dffb0f010ab6ebeb08d792b32e19e9006ca331a024b67698d7cf4b575ccd9389441d5c640b77c63771cef1bd85675361c6602a4",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 352,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp256r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040f0fd972a495a140124a4019291a20f5b39fb755c126bf268643bb3091eca44f2a3cda1dead6ab1f4fe08a4b3872423f71e5bf96b1c20bc0ca73b7e2c134cc14a5f77bc838ebcf01084da3bf15663536",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 353,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp256r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000403b65faf5a6bf74bd5c166278a4b566c6c705ac6363e61f3b0699e116d3c5b19e8b7021b75b005f78a8cea8de34c49397f9b3b2bfc8706eb8163c802371eff7dfc825c40aa84dd9d1c4b34615ee5ae28c6c05d58d2a8ccc3786382b712d3bcda",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 354,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp256r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047504d660943a69ab043378e44c034896534a346e0e95f35fcaad3503b490856bfb20a753ecabc6d7bfeec28d057f919923b7d3c086953eb16c5bd287b59788db72dbb7c273854294c927ea7eca205aae2f0830e5faaddad8316231bfc3572c85c33cb7054e04c8936e3ce059c907e59f40593444e590b31820bc1f514ed0ec8a",
+          "private" : "0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 355,
+          "comment" : "invalid public key",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002fd4bf61763b46581fd9174d623516cf3c81edd40e29ffa2777fb6cb0ae3ce535",
+          "private" : "6f953faff3599e6c762d7f4cabfeed092de2add1df1bc5748c6cbb725cf35458",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 356,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220003efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b",
+          "private" : "0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f02",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 357,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b",
+          "private" : "0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f03",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 358,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220002c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5",
+          "private" : "095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e835",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 359,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000318f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98",
+          "private" : "0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 360,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d0301070322000218f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98",
+          "private" : "0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa5",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 361,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256r1",
+          "public" : "3039301306072a8648ce3d020106082a8648ce3d03010703220003c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5",
+          "private" : "095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e834",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 362,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "308159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 363,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "305a30811306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 364,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "305a30140681072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 365,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "305a301406072a8648ce3d02010681082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 366,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256r1",
+          "public" : "305a301306072a8648ce3d020106082a8648ce3d03010703814200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 367,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "30820059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 368,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "305b3082001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 369,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "305b3015068200072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 370,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201068200082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 371,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d0301070382004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 372,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "305a301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 373,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 374,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301406072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 375,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301206072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 376,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306082a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 377,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306062a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 378,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106092a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 379,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106072a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 380,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034300042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 381,
+          "comment" : "wrong length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 382,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "30850100000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 383,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "305e3085010000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 384,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "305e3018068501000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 385,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "305e301806072a8648ce3d0201068501000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 386,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "305e301306072a8648ce3d020106082a8648ce3d0301070385010000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 387,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3089010000000000000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 388,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3062308901000000000000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 389,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3062301c06890100000000000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 390,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3062301c06072a8648ce3d020106890100000000000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 391,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256r1",
+          "public" : "3062301306072a8648ce3d020106082a8648ce3d030107038901000000000000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 392,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "30847fffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 393,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d30847fffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 394,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301706847fffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 395,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301706072a8648ce3d020106847fffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 396,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301306072a8648ce3d020106082a8648ce3d03010703847fffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 397,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "3084ffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 398,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d3084ffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 399,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d30170684ffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 400,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301706072a8648ce3d02010684ffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 401,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256r1",
+          "public" : "305d301306072a8648ce3d020106082a8648ce3d0301070384ffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 402,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "3085ffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 403,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "305e3085ffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 404,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "305e30180685ffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 405,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "305e301806072a8648ce3d02010685ffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 406,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256r1",
+          "public" : "305e301306072a8648ce3d020106082a8648ce3d0301070385ffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 407,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "3088ffffffffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 408,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "30613088ffffffffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 409,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "3061301b0688ffffffffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 410,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "3061301b06072a8648ce3d02010688ffffffffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 411,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256r1",
+          "public" : "3061301306072a8648ce3d020106082a8648ce3d0301070388ffffffffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 412,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "30ff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 413,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "305930ff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 414,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "3059301306ff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 415,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106ff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 416,
+          "comment" : "incorrect length",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703ff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 417,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 418,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3059308006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 419,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3059301306802a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 420,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106802a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 421,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107038000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 422,
+          "comment" : "removing sequence",
+          "curve" : "secp256r1",
+          "public" : "",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 423,
+          "comment" : "removing sequence",
+          "curve" : "secp256r1",
+          "public" : "3044034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 424,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp256r1",
+          "public" : "30",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 425,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp256r1",
+          "public" : "304530034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 426,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 427,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 428,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b0000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 429,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3015000006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 430,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 431,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 432,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 433,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d020106082a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 434,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e4981773059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 435,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d25003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 436,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 437,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e3018498177301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 438,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d30172500301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 439,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "30613015301306072a8648ce3d020106082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 440,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e3018260c49817706072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 441,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d3017260b250006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 442,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "3061301b260906072a8648ce3d02010004deadbeef06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 443,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e301806072a8648ce3d0201260d49817706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 444,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d301706072a8648ce3d0201260c250006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 445,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "3061301b06072a8648ce3d0201260a06082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 446,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305e301306072a8648ce3d020106082a8648ce3d0301072347498177034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 447,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "305d301306072a8648ce3d020106082a8648ce3d03010723462500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 448,
+          "comment" : "including garbage",
+          "curve" : "secp256r1",
+          "public" : "3061301306072a8648ce3d020106082a8648ce3d0301072344034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 449,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061aa00bb00cd003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 450,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305faa02aabb3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 451,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061301baa00bb00cd00301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 452,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305f3019aa02aabb301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 453,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061301b260faa00bb00cd0006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 454,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305f3019260daa02aabb06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 455,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061301b06072a8648ce3d02012610aa00bb00cd0006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 456,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305f301906072a8648ce3d0201260eaa02aabb06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 457,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "3061301306072a8648ce3d020106082a8648ce3d030107234aaa00bb00cd00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 458,
+          "comment" : "including undefined tags",
+          "curve" : "secp256r1",
+          "public" : "305f301306072a8648ce3d020106082a8648ce3d0301072348aa02aabb034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 459,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp256r1",
+          "public" : "3081",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 460,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp256r1",
+          "public" : "30463081034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 461,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp256r1",
+          "public" : "0500",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 462,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp256r1",
+          "public" : "30460500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 463,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "2e59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 464,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "2f59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 465,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 466,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3259301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 467,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "ff59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 468,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "30592e1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 469,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "30592f1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 470,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3059311306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 471,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3059321306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 472,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3059ff1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 473,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp256r1",
+          "public" : "3000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 474,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp256r1",
+          "public" : "30463000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 475,
+          "comment" : "truncate sequence",
+          "curve" : "secp256r1",
+          "public" : "3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 476,
+          "comment" : "truncate sequence",
+          "curve" : "secp256r1",
+          "public" : "30581306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 477,
+          "comment" : "truncate sequence",
+          "curve" : "secp256r1",
+          "public" : "3058301206072a8648ce3d020106082a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 478,
+          "comment" : "truncate sequence",
+          "curve" : "secp256r1",
+          "public" : "30583012072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 479,
+          "comment" : "indefinite length",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 480,
+          "comment" : "indefinite length",
+          "curve" : "secp256r1",
+          "public" : "305b308006072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 481,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b00",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 482,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp256r1",
+          "public" : "305a308006072a8648ce3d020106082a8648ce3d03010700034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 483,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b05000000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 484,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp256r1",
+          "public" : "305d308006072a8648ce3d020106082a8648ce3d03010705000000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 485,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b060811220000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 486,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp256r1",
+          "public" : "305f308006072a8648ce3d020106082a8648ce3d030107060811220000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 487,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000fe02beef",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 488,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp256r1",
+          "public" : "305f308006072a8648ce3d020106082a8648ce3d0301070000fe02beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 489,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp256r1",
+          "public" : "3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0002beef",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 490,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp256r1",
+          "public" : "305d308006072a8648ce3d020106082a8648ce3d0301070002beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 491,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 492,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3015300006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 493,
+          "comment" : "append empty sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b3000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 494,
+          "comment" : "append empty sequence",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d020106082a8648ce3d0301073000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 495,
+          "comment" : "sequence of sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 496,
+          "comment" : "sequence of sequence",
+          "curve" : "secp256r1",
+          "public" : "305b3015301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 497,
+          "comment" : "truncated sequence",
+          "curve" : "secp256r1",
+          "public" : "3015301306072a8648ce3d020106082a8648ce3d030107",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 498,
+          "comment" : "truncated sequence",
+          "curve" : "secp256r1",
+          "public" : "304f300906072a8648ce3d0201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 499,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp256r1",
+          "public" : "30819d301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 500,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp256r1",
+          "public" : "3063301d06072a8648ce3d020106082a8648ce3d03010706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 501,
+          "comment" : "removing oid",
+          "curve" : "secp256r1",
+          "public" : "3050300a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 502,
+          "comment" : "lonely oid tag",
+          "curve" : "secp256r1",
+          "public" : "3051300b0606082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 503,
+          "comment" : "lonely oid tag",
+          "curve" : "secp256r1",
+          "public" : "3050300a06072a8648ce3d020106034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 504,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506092a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 505,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201060a2a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 506,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b3015060900002a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 507,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201060a00002a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 508,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 509,
+          "comment" : "appending null value to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506092a8648ce3d0201050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 510,
+          "comment" : "appending null value to oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201060a2a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 511,
+          "comment" : "truncated length of oid",
+          "curve" : "secp256r1",
+          "public" : "3052300c068106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 512,
+          "comment" : "truncated length of oid",
+          "curve" : "secp256r1",
+          "public" : "3051300b06072a8648ce3d02010681034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 513,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp256r1",
+          "public" : "3052300c050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 514,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp256r1",
+          "public" : "3051300b06072a8648ce3d02010500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 515,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301304072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 516,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301305072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 517,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301307072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 518,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301308072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 519,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "30593013ff072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 520,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020104082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 521,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020105082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 522,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020107082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 523,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020108082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 524,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d0201ff082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 525,
+          "comment" : "dropping value of oid",
+          "curve" : "secp256r1",
+          "public" : "3052300c060006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 526,
+          "comment" : "dropping value of oid",
+          "curve" : "secp256r1",
+          "public" : "3051300b06072a8648ce3d02010600034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 527,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp256r1",
+          "public" : "305930130607288648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 528,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d02010608288648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 529,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d028106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 530,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030187034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 531,
+          "comment" : "truncate oid",
+          "curve" : "secp256r1",
+          "public" : "3058301206062a8648ce3d0206082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 532,
+          "comment" : "truncate oid",
+          "curve" : "secp256r1",
+          "public" : "3058301206068648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 533,
+          "comment" : "truncate oid",
+          "curve" : "secp256r1",
+          "public" : "3058301206072a8648ce3d020106072a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 534,
+          "comment" : "truncate oid",
+          "curve" : "secp256r1",
+          "public" : "3058301206072a8648ce3d020106078648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 535,
+          "comment" : "wrong oid",
+          "curve" : "secp256r1",
+          "public" : "305c3016060a3262306530333032316106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 536,
+          "comment" : "wrong oid",
+          "curve" : "secp256r1",
+          "public" : "3064301e061236303836343830313635303330343032303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 537,
+          "comment" : "wrong oid",
+          "curve" : "secp256r1",
+          "public" : "305b301506072a8648ce3d0201060a32623065303330323161034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 538,
+          "comment" : "wrong oid",
+          "curve" : "secp256r1",
+          "public" : "3063301d06072a8648ce3d02010612363038363438303136353033303430323031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 539,
+          "comment" : "longer oid",
+          "curve" : "secp256r1",
+          "public" : "3062301c06103261383634386365336430323031303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 540,
+          "comment" : "longer oid",
+          "curve" : "secp256r1",
+          "public" : "3063301d06072a8648ce3d02010612326138363438636533643033303130373031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 541,
+          "comment" : "oid with modified node",
+          "curve" : "secp256r1",
+          "public" : "3060301a060e326138363438636533643032313106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 542,
+          "comment" : "oid with modified node",
+          "curve" : "secp256r1",
+          "public" : "3068302206163261383634386365336430323838383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 543,
+          "comment" : "oid with modified node",
+          "curve" : "secp256r1",
+          "public" : "3061301b06072a8648ce3d0201061032613836343863653364303330313137034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 544,
+          "comment" : "oid with modified node",
+          "curve" : "secp256r1",
+          "public" : "3069302306072a8648ce3d02010618326138363438636533643033303138383830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 545,
+          "comment" : "large integer in oid",
+          "curve" : "secp256r1",
+          "public" : "3072302c0620326138363438636533643032383238303830383038303830383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 546,
+          "comment" : "large integer in oid",
+          "curve" : "secp256r1",
+          "public" : "3073302d06072a8648ce3d0201062232613836343863653364303330313832383038303830383038303830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 547,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256r1",
+          "public" : "3063301d0611326138363438636533643032303165303306082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 548,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256r1",
+          "public" : "305a301406082a808648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 549,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256r1",
+          "public" : "3064301e06072a8648ce3d0201061332613836343863653364303330313037653033034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 550,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256r1",
+          "public" : "305a301406072a8648ce3d020106092a808648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 551,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp256r1",
+          "public" : "3016301306072a8648ce3d020106082a8648ce3d03010703",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 552,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 553,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d0301070344000000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 554,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp256r1",
+          "public" : "305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 555,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp256r1",
+          "public" : "3017301306072a8648ce3d020106082a8648ce3d0301070381",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 556,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp256r1",
+          "public" : "3017301306072a8648ce3d020106082a8648ce3d0301070500",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 557,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107014200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 558,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107024200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 559,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107044200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 560,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107054200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 561,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107ff4200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 562,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp256r1",
+          "public" : "3017301306072a8648ce3d020106082a8648ce3d0301070300",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 563,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034202042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 564,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6eb",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 565,
+          "comment" : "truncate bit string",
+          "curve" : "secp256r1",
+          "public" : "3058301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 566,
+          "comment" : "truncate bit string",
+          "curve" : "secp256r1",
+          "public" : "3058301306072a8648ce3d020106082a8648ce3d0301070341042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 567,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034201042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 568,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp256r1",
+          "public" : "305d301306072a8648ce3d020106082a8648ce3d030107034620042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b01020304",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 569,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp256r1",
+          "public" : "3018301306072a8648ce3d020106082a8648ce3d030107030103",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 570,
+          "comment" : "128 unused bits",
+          "curve" : "secp256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034280042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b",
+          "private" : "0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2",
+          "shared" : "f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "secp384r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 571,
+          "comment" : "normal case",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796d9b954baa8a75e82df711b3b56eadff6b0f668c3b26b4b1aeb308a1fcc1c680d329a6705025f1c98a0b5e5bfcb163caa",
+          "private" : "766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81",
+          "shared" : "6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 572,
+          "comment" : "compressed public key",
+          "curve" : "secp384r1",
+          "public" : "3046301006072a8648ce3d020106052b8104002203320002790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796",
+          "private" : "766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81",
+          "shared" : "6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 573,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004490e96d17f4c6ceccd45def408cea33e9704a5f1b01a3de2eaaa3409fd160d78d395d6b3b003d71fd1f590fad95bf1c9d8665efc2070d059aa847125c2f707435955535c7c5df6d6c079ec806dce6b6849d337140db7ca50616f9456de1323c4",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 574,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040161328909675213e32098d35a6b8308a8d500cca39dcee5e804e73bdb8deaf06fe417291fd9793b231ef5fe86945444a97a01f3ae3a8310c4af49b592cb291ef70ee5bc7f5534d3c23dc9eefde2304842c7737ae937ccf9bd215c28103e9fe2",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 575,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200041478ab6e032b9545eda9ac2c264e57a11f08acbc76d16a0ab77b04dbdaf20f215c4183437b32afc471eaa603d14c7c5d8a4c84ee0e895bec5c37f0a1ca075e106ff6bf38801b5c697409d39675231108d33c4a5ea65aaa8c03e939c95d96c4c4",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 576,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004f63208e34e7e90bb5fb036432467a89981444010663b8533b47bfa94bd2bc16f38aa516b930a4726e3876d3091bfb72ec783ed4da0cac06320817dc8bc64f59ccf06f48abc4386a150913fa95743a7b4601190e1c6ee8f8bf6354b254ecace45",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 577,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004033271ef42d92ad47b273b09ea2f45401161baa52696590d0e175ff2d1c0dfa3fea40e4266d446546c05e480d57fabec7889f16a8bcc176602f6d46561614a2f4284abe697b7cb9ce79f7e2e71b155cb1f155ce925d16391a680eda23152e6e1",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 578,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004737e8437e18683de2455b68945bba31daec3e754d72f0a0776d3192b2f9298bb95ca1464baa6687aabb679f804cf6ec6c2b4d47d61a60404df63b1e9ac0954b3419bbc2ad52a0409aeeb82f4703758588059165b20367dcb4b235b0caf71d727",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 579,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200042664624307c02ef487030a632162c515f841d15ea3152d98ff2364232d7aab39343d5f703a4d5a31092aa7356c3a2f671c1cd603addfd8b5477552a3b32a18edaf3e33bec22ee2167f9da729636002a7974eaeb5ff082b2aabf8c7056b84c3ab",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 580,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004665f1f320b6ab1c1b52d144e52d87a154c2b4489838c9119de622c2d1b52b65b0a3955e44e0d4859175360c0f63dee813f14f69972f18caed7916c94a4d20ec344591e7536a4a7a4d8c9832818c96d60b1a81fabe64ea02c5f647e361bf5b60f",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 581,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000491357ca87dbb08e85d7b1acecfd1e086078a82d19f81474da389364a39fe2543eb934b440173c38e61a1d9407855b5d89ef0d9e920764b6d7765b084cf9541dacc43d1dabaa390b0fb856097b0c00a8556f4e3848568ab4ae790c3d346ca01b6",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 582,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004d5a833bae33b2d10fdff6db7c5477adb614b191c70d97c6f130a14e93931cc1dc058053fee54a264a00fdd16d3166fdc42992276b79925bafcd183b03ed18235350980abfe67b814c6c11074c38f74cd4e734ad58cdb49d9fcd2181d1b8f1119",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 583,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000467547cda7fbe8f16be5a4477cbb02979f1af72fc0f39302773552fbcf4667a8e23abc0e12856ee6234deeca5f22ae0503a4df7c068e7432417260cb9fe0d68b9c7fcf7e16a2ada05687d8f8900b84723103edbff0a42b27517da2760b7d38843",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 584,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200041363e3b99008e09bb3f085949b9b6ea26a318f496de568a96630fdb9d4c72c2814df3087a1741f32f24989b428167f93c653cb3ae8c3ecfaec57efd54bb8ce9d79c7bf6cc70fb1114f939be8f1a99bf1e42b97431124ef9fa33450faa4e76839",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 585,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004ba2be8d7147e2417c2ec80b24b4c1aa94464ffd0aae1fa2e078b3afbc77c144489ca9d064acbb7a9cfa6196d0f467b7e65ee1ca1eb1351ff9968f553dfe2e4c59ff8ba34c22a42b3baa13a9a1adc7f13abd40f1fd25d46bc5330852b9371966a",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 586,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004d69850ccbacc4736ea200ff2f8488f26247945a2ab48dd3708f494b293d8cba83417f48974881c7fb03854089bbf66cc1c773ec03cb8cd5f007ec3b03bdd05a409b352103f0decf25b41673ab8ca3d04334babee01219f15701f2bca22d40b37",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7",
+          "shared" : "fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 587,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "6092a1757ddd43a04e185ff9472a0d18c7f7a7dc802f7e059e0c69ae16c802651719406e04de27652ff83da4a780ef2f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 588,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "89c804cb81443386b185bcd9e2e6c35ee6177c3b90298985c4e81a89d520cceb17d729540e56ecc343c26bf314f2d052",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 589,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001141b9ee5310ea8170131b604484a6d677ed42576045b7143c026710ae92b277afbbea0c4458c220d561e69404dc7d888",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "102080c047881d19aefb01c29c82a4fb328a8ea6e6d6c914af73100507c8ee499799aaa646de0ea8c2727c0b5ed2439b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 590,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff70370385413d3eff6fa3407ba24f682c2b01b51445dbdf5ef7b0dd0979f17e713e09081571f1e94dfb66bf282002f39f",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "f689f6e475b4e15162521acab4637a3cdb9cb42aa92f9114b0ee300ddae89d5eafff3463a1f5004a2a1bd4aeffa47b78",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 591,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff112e191f1f78bbc54b6cc4f0b1e59ae8c6ff1a07f5128e41dfa2828e1b6538d4fa2ca2394c6aab3449dcb3fc4eb44c09",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "f3486244119b3632fd55be9e6951eb5d9c8c62f6a27042f94b924155ecfd4ff8744ba3d25bcf85a7b925bd28a12b897f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 592,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000028a4c8da5a05112fe6025ef41908969de20d05d9668e5c852ef2d492172ddc2a0a622fc488164fcc1a076b872942af2",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "8171b7c80d4c90bb58ae54393921ab9c5c0b3196f045e9fe5c8b168f0e5f6a77e1aa34ecedc5481ce55ab34c14e0f2e8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 593,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000024480ab33cb4bf7cb79c024eeade3fd641e2f3003698400e8986a7343a5da59a3b26eea4b4176e53239371437d834a1a7",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "1911a0ee6aebe263fdcf3db073f2598cdafabec2123a2f24a28c3d9151c871f32d6dc2f31d25af9c498fd68da23e5bef",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 594,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020797da4c0751ced16de80d16ab7c654a5dc27d092626d0865a192a1c5ea7c1b88c9fcab057946741e41cc28c80ec0b9a",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "15900643e2e0583976974b05f83c7a96611425f7c4a6eb51916ab958a037fd9cc172bdcfff4540a2ff3ce64e6505557e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 595,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff6c70898ae6fb31fa2f086562af2d10486ba4c6fd5e41dfe4aa61598b4707a3bc276a62feb1b98557e3b17c025f7adf4e",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "88a544a769d5c34a051416bd509dfac911863f604c83ea844bf0e4c5c272dec86d057a88b152a9274701938c705900c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 596,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000eb1592858b6e6e3a199c0f3e7c5f0b4a92915936efb8bc0407680eb7274be7422156ce8cfc8b505b2d902c39992380f",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "b7db26b286e7527cb1f454782fe541862ff0f8d7eed960e22855deb7ac2a69611668c777c53bb74c2bcd40edfbf7944d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 597,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4987abae412809c2fa48fd23b1bdf9e622f5a606c44117215ffa61b18ef46e54a7fbbf11f9a6ba59c991b4ae501fedce",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "b1e8aab1aa633d98dc6b768594e1e3edb801a9ef483f287c83e19744d2ad343ad3debdc4dc178213ad6876b52284f552",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 598,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000013691fe493d4d28bf8ee1dfec812d6c306eae0842919eda6dc525f0d49ac2d26a992251912139a2936849f9d6fa949a68",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "b0de006f80f6f89e4eea6e46dfe305153005612d1e903171ec2886230971961b5202a9f3187bdac413ac24c836adf7a0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 599,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff615842aa06b06f78f0a66f7bea88d4b6ee59653eeaa00dc5e0a2b658f969b71af90c9b4e96bd3ca33846955bdccbd359",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "ca8cfa42c5e374914c14d6402b1a99208e47e02ec49818913694ea0822a2cc6c310259a8f3ab7559b9974bc4c2fa337e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 600,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3",
+          "private" : "2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97",
+          "shared" : "edf040bace18d90bf9ce720df2a3b31d76d95b7ed9530a159ac0b24e82a871033eada40552f9e606f7115e6a78927511",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 601,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "3",
+          "shared" : "455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 602,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "db1d8ef1117282870db8113aa4f58723c756ce598686eb8ea531aa4d39abb1b982b1e7bb2648a6c268d2d351204db8d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 603,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "e98062df47ef884c9411e16466af84ad271d586008b1fbc50aeb3b36836a35a770dd42e0db84d39b26f4dcd2dc03d90b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 604,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "898aae0ebf1cb49fb6b1234d60f59006325421049a8a320820e1ad6af6593cdc2229a08c500aa55ca05999d12829db9c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 605,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "83f862f496ab8af12b82a8a0c047d836bdfa36281324b3a1eb2e9c1d46699d81cb125cbe4b93939fd84e1ae86d8a83cb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 606,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a779ecec196accc52973",
+          "shared" : "9a26894887a0342ca559a74a4d4a8e1d6b2084f02e1c65b3097121a9a9af047d8810fb945dc25bbf02222b3b625f1e0a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 607,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecdc196accc52973",
+          "shared" : "8a8d9dc194a26910cbdae7908d185b6ad04b620c94c5ee331e584ed804e495bebc2290a2d7006a06e65b9bcace86c6f6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 608,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aece4196accc52973",
+          "shared" : "d57f6aa12d3f07e8958499f249e52cfbe5be58482e146c5414dbbf984fc5333710350e2ce96b33beb7678381f40f1dcb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 609,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec1969ccc52973",
+          "shared" : "188e8041d9a5f0b6cfdad315ada4823beda0146774fad65b500e6ef94376ebf8af7a40ff6f6b45019a09dde7d7fb5552",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 610,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52959",
+          "shared" : "2ecf9dc47e8b07ae61ddbd1680ead02698e9e8469f78d5a28328e48d0c9d7a2ac787e50cba58cc44a32fb1235d2d7027",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 611,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52969",
+          "shared" : "06ee9f55079d3d3c18c683ba33e0d2521be97c4fbf7917bf3b6287d58ffcde2df88842e3f5530b39549ac20974b1b60e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 612,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
+          "shared" : "455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 613,
+          "comment" : "edge case private key",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971",
+          "shared" : "024c5281487216058270cd1cfe259e948310e4adc263a9edaa4da0bc3f5f8ce8ffc88ae41b2c050bf6dd9c8c66857237",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 614,
+          "comment" : "public point not on curve",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c8",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 615,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 616,
+          "comment" : "order = -39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f0231ff000000000000000000000000000000000000000000000000389cb27e0bc8d220a7e5f24db74f58851313e695333ad68d020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 617,
+          "comment" : "order = 0",
+          "curve" : "secp384r1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020100020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 618,
+          "comment" : "order = 1",
+          "curve" : "secp384r1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020101020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 619,
+          "comment" : "order = 9173994463960286046443283581208347763186259956673124494950032159599396260248791326163093631191247821216106",
+          "curve" : "secp384r1",
+          "public" : "308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f022d00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196a020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 620,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 621,
+          "comment" : "generator not on curve",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e61023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 622,
+          "comment" : "cofactor = -1",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 623,
+          "comment" : "cofactor = 0",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 624,
+          "comment" : "cofactor = 2",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020102036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 625,
+          "comment" : "cofactor = 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643",
+          "curve" : "secp384r1",
+          "public" : "308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 626,
+          "comment" : "cofactor = None",
+          "curve" : "secp384r1",
+          "public" : "308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 627,
+          "comment" : "modified prime",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100f47e533e4e43e4bf04e901db0eea6efba14bbcdc3b1c5753a7c141487e4f43784e57a72310202323361f44760c8368bf306404300b81acc1b1bc1b40fb16fe24f11591045eb44323c4e3a8ac583ebeb781b0bc86b1a858dbefdfdcdcc9e0bb8af37c973d0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef04610400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 628,
+          "comment" : "using secp224r1",
+          "curve" : "secp384r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 629,
+          "comment" : "using secp256r1",
+          "curve" : "secp384r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 630,
+          "comment" : "using secp256k1",
+          "curve" : "secp384r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 631,
+          "comment" : "a = 0",
+          "curve" : "secp384r1",
+          "public" : "308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff303504010004304fcc45ccf5e23ee407b9291d2e85523962a2a79a50da3facca04b7267ad316db202cb07c24905740d201ded3028881090461042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 632,
+          "comment" : "public key of order 3",
+          "curve" : "secp384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff306404307fffca54a8c87c6206d0764daa637b5f0caf7b872a8c3f81f0779564c91aa0855db14992fa6b53c1bc3529ed65e25920043092890ea22a4ed6cc1a40dc562c021748dbd6b3cf3108827ff5fa2b53e28a5724ff86dacbd949208cabd6e2f629591079046104aea39f46ee6ede468494f0f489d08da4c8c0e1fee8d6dcff97c66ba77979d10faef772ef2989c5ef3fb30a73b83124206150226637bb4f72f9d9347be5ad59f6ab0c00f6aa907d37f2db423f0d1c8d4ebd73c0d0f03e44bed316dfbdedefda5a023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc5297302010103620004aea39f46ee6ede468494f0f489d08da4c8c0e1fee8d6dcff97c66ba77979d10faef772ef2989c5ef3fb30a73b83124209eafdd99c844b08d0626cb841a52a60954f3ff09556f82c80d24bdc0f2e372b0428c3f2e0fc1bb412ce92043121025a5",
+          "private" : "0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 633,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "secp384r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00040710b0c6f4675459f3df2bdf7ca02819f8086198d15c69b8abda37639e6031caca8a0121894d2491d8b3dce093703c70705bc5dbc8fa17c8",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 634,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "secp384r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045fa4fa0b235c21e5c9f3baea9303bf86eccb7d31d0b998e141bc54b5dc43b23eef7fc5cf56308ed595eee99ade6aaf74d591c3d00aa1b438abc59c9607c22c36",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 635,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "secp384r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004005bce61fe27c440fedbad47d88bccf645db9c1d30daa086e592e8b6a0a173b87991b619801907b420fa558c7953ab97badd9c6c1d85859d9ebef7441a088ff57ed5008d7638de703faabeb5a78e83e8fcd4eb786144a75d79bd4cc8cfa8be66612d756c7b65c67f72c6acbade6f0d59e9752e845205b2a560d4f8d6a9e84bf812f94d18",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 636,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "secp384r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a69ced11a8bf7a907bfa47cba3368f2498b465a2407c90649c8da224d2a85bf445ad2df3d0113e72aedccf92ba6b8529ed6faa154bc27aba25f49371981e3b38",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 637,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp384r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a9b0f90e49a57fbe508847bf16e4a7b565dfe870a50164bc2862fe6e4d54bd8b109939f7dbbf800522722b9c0b309ace3884abb69c927ad0",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 638,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp384r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004512fe17172db1125a49f9dbb85e387869adf015e4899c06f66ef870d72092d4d195e1d21b4a4647bf734468bee802ddad5449202eba1041df2fd8cde04697237",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 639,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp384r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004c391dc7a817d47a3961ea1857895e101c0f5a8767d3a9c7cad49f7af8029f24c67309373cedd0831ccc0a0f45d344f3ab5923d2452507a980301a283848ae31574a57db51ce5e61d35aee483f1bb8e66",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 640,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000419d3c811c04c5c0990d0258386195b2e29fdaba58d3f12b0bac8d3d53828c66c7a35e3d1eb0bdf2c08f23d0e4ab6a3246e456bf0fb863d03423dbe431baf799657c7816a619662fe5b900b754107ba5cc06b1d62c9a927891efee1a1fd404d7e",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 641,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp384r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004216eb619457f1168ac873f5b560a75df80749f2bdf9abac31d6580e521ad70368013c3db74f663263b61eb12d4dcd597ad6c77cef6a5d6d2240b1e244d76403f693fb317ffc602a7ac313991b0a62f7bf469bbc95b3ff35003d972eb8ebcc8d4833e6c24ad52d49c1ce6244c7889ab67a8818232e192944542763fc667e5799d",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 642,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp384r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004691b24004380a599770214d0c60ab37cfc804cfaa7aedd11cbf0a05467ebec5e33322cda707b848086fd740244f62cdeb867fc057207fde2",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 643,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp384r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000422bf69f3a81dfa1ed8a97301943626e20377b78f7e7d714b880deb5a4a9c63a11591c2e47b777488990771855768b9a4050d61bf02d84cc6aa40447a07507285",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 644,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp384r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000476568300e2b4c68861589b4966e67bc414811e4011260cb8be5f884869fa179ca8af40f80009e0a58b17ac3e551a772e76683c32e6e09112572542d7c1fe3d49abb56da56d669186e2623dc797129dc0",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 645,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200043345dffded3c33f7dcc19bb8997a39f2d6230abcb765d6142c30bf320c1fadff535feafd8505eb3e614db71826c1e258077a1e6057add7474f6d35dce68417812e7b919b1c673032b28c45d0a9251c43a2a73ab152f64ff8eba4eab312fa73bd",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 646,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp384r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004a3677c646cd887685940c28076f55cda7469032845f2cb2af51c61492dc435aaa5b771d8e1528417cdeb89b5f629e06b234e21236b9edf46c7025177ee65a8e940f670d10c722cea355bd3a5c8847a38324b9a06a50a95da4e70bb492cd00194a8830975dd1e115e19315575ff841b30fd4a3f8a44725dfe280d0af57fc80cc3",
+          "private" : "0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 647,
+          "comment" : "invalid public key",
+          "curve" : "secp384r1",
+          "public" : "3046301006072a8648ce3d020106052b81040022033200024424530ea70bace90601f8d5869e4179a6cd689b6a18fdfec50cecf17cb836d24820211ada67815b42c2c2606303f69e",
+          "private" : "2b9e57572da6cf4fb58cb94eab8df19383a136f219f2a515776a8bf48e1538dd1d811946c16d9f0184c9ce5cdf1dac51",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 648,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "308176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 649,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "307730811006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 650,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "307730110681072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 651,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "3077301106072a8648ce3d02010681052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 652,
+          "comment" : "long form encoding of length",
+          "curve" : "secp384r1",
+          "public" : "3077301006072a8648ce3d020106052b810400220381620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 653,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "30820076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 654,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "30783082001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 655,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "30783012068200072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 656,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d0201068200052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 657,
+          "comment" : "length contains leading 0",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b81040022038200620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 658,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3077301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 659,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 660,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301106072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 661,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076300f06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 662,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006082a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 663,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006062a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 664,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106062b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 665,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106042b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 666,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203630004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 667,
+          "comment" : "wrong length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 668,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "30850100000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 669,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307b3085010000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 670,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307b3015068501000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 671,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d0201068501000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 672,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307b301006072a8648ce3d020106052b81040022038501000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 673,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "3089010000000000000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 674,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307f308901000000000000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 675,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307f301906890100000000000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 676,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307f301906072a8648ce3d020106890100000000000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 677,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp384r1",
+          "public" : "307f301006072a8648ce3d020106052b8104002203890100000000000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 678,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "30847fffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 679,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a30847fffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 680,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301406847fffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 681,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d020106847fffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 682,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301006072a8648ce3d020106052b8104002203847fffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 683,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "3084ffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 684,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a3084ffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 685,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a30140684ffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 686,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d02010684ffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 687,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp384r1",
+          "public" : "307a301006072a8648ce3d020106052b810400220384ffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 688,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "3085ffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 689,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "307b3085ffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 690,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "307b30150685ffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 691,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d02010685ffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 692,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp384r1",
+          "public" : "307b301006072a8648ce3d020106052b810400220385ffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 693,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "3088ffffffffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 694,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "307e3088ffffffffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 695,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "307e30180688ffffffffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 696,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "307e301806072a8648ce3d02010688ffffffffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 697,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp384r1",
+          "public" : "307e301006072a8648ce3d020106052b810400220388ffffffffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 698,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "30ff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 699,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "307630ff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 700,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "3076301006ff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 701,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106ff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 702,
+          "comment" : "incorrect length",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203ff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 703,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 704,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3076308006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 705,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3076301006802a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 706,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106802b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 707,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203800004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 708,
+          "comment" : "removing sequence",
+          "curve" : "secp384r1",
+          "public" : "",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 709,
+          "comment" : "removing sequence",
+          "curve" : "secp384r1",
+          "public" : "306403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 710,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp384r1",
+          "public" : "30",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 711,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp384r1",
+          "public" : "30653003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 712,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 713,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 714,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "30780000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 715,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "30783012000006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 716,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 717,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 718,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 719,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106052b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 720,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b4981773076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 721,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a25003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 722,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 723,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b3015498177301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 724,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a30142500301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 725,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307e3012301006072a8648ce3d020106052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 726,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b3015260c49817706072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 727,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a3014260b250006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 728,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307e3018260906072a8648ce3d02010004deadbeef06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 729,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d0201260a49817706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 730,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a301406072a8648ce3d02012609250006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 731,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307e301806072a8648ce3d0201260706052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 732,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307b301006072a8648ce3d020106052b81040022236749817703620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 733,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307a301006072a8648ce3d020106052b810400222366250003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 734,
+          "comment" : "including garbage",
+          "curve" : "secp384r1",
+          "public" : "307e301006072a8648ce3d020106052b81040022236403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 735,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307eaa00bb00cd003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 736,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307caa02aabb3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 737,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307e3018aa00bb00cd00301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 738,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307c3016aa02aabb301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 739,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307e3018260faa00bb00cd0006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 740,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307c3016260daa02aabb06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 741,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307e301806072a8648ce3d0201260daa00bb00cd0006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 742,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307c301606072a8648ce3d0201260baa02aabb06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 743,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307e301006072a8648ce3d020106052b81040022236aaa00bb00cd0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 744,
+          "comment" : "including undefined tags",
+          "curve" : "secp384r1",
+          "public" : "307c301006072a8648ce3d020106052b810400222368aa02aabb03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 745,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp384r1",
+          "public" : "3081",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 746,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp384r1",
+          "public" : "3066308103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 747,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp384r1",
+          "public" : "0500",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 748,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp384r1",
+          "public" : "3066050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 749,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "2e76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 750,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "2f76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 751,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 752,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3276301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 753,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "ff76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 754,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "30762e1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 755,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "30762f1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 756,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3076311006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 757,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3076321006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 758,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3076ff1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 759,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 760,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp384r1",
+          "public" : "3066300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 761,
+          "comment" : "truncate sequence",
+          "curve" : "secp384r1",
+          "public" : "3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 762,
+          "comment" : "truncate sequence",
+          "curve" : "secp384r1",
+          "public" : "30751006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 763,
+          "comment" : "truncate sequence",
+          "curve" : "secp384r1",
+          "public" : "3075300f06072a8648ce3d020106052b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 764,
+          "comment" : "truncate sequence",
+          "curve" : "secp384r1",
+          "public" : "3075300f072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 765,
+          "comment" : "indefinite length",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 766,
+          "comment" : "indefinite length",
+          "curve" : "secp384r1",
+          "public" : "3078308006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 767,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125100",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 768,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp384r1",
+          "public" : "3077308006072a8648ce3d020106052b810400220003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 769,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125105000000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 770,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp384r1",
+          "public" : "307a308006072a8648ce3d020106052b810400220500000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 771,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251060811220000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 772,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp384r1",
+          "public" : "307c308006072a8648ce3d020106052b8104002206081122000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 773,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000fe02beef",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 774,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp384r1",
+          "public" : "307c308006072a8648ce3d020106052b810400220000fe02beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 775,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp384r1",
+          "public" : "3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510002beef",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 776,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp384r1",
+          "public" : "307a308006072a8648ce3d020106052b810400220002beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 777,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp384r1",
+          "public" : "30783000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 778,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp384r1",
+          "public" : "30783012300006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 779,
+          "comment" : "append empty sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312513000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 780,
+          "comment" : "append empty sequence",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106052b81040022300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 781,
+          "comment" : "sequence of sequence",
+          "curve" : "secp384r1",
+          "public" : "30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 782,
+          "comment" : "sequence of sequence",
+          "curve" : "secp384r1",
+          "public" : "30783012301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 783,
+          "comment" : "truncated sequence",
+          "curve" : "secp384r1",
+          "public" : "3012301006072a8648ce3d020106052b81040022",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 784,
+          "comment" : "truncated sequence",
+          "curve" : "secp384r1",
+          "public" : "306f300906072a8648ce3d020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 785,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp384r1",
+          "public" : "3081da301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 786,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp384r1",
+          "public" : "307d301706072a8648ce3d020106052b8104002206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 787,
+          "comment" : "removing oid",
+          "curve" : "secp384r1",
+          "public" : "306d300706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 788,
+          "comment" : "lonely oid tag",
+          "curve" : "secp384r1",
+          "public" : "306e30080606052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 789,
+          "comment" : "lonely oid tag",
+          "curve" : "secp384r1",
+          "public" : "3070300a06072a8648ce3d02010603620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 790,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206092a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 791,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106072b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 792,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "30783012060900002a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 793,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d0201060700002b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 794,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 795,
+          "comment" : "appending null value to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206092a8648ce3d0201050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 796,
+          "comment" : "appending null value to oid",
+          "curve" : "secp384r1",
+          "public" : "3078301206072a8648ce3d020106072b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 797,
+          "comment" : "truncated length of oid",
+          "curve" : "secp384r1",
+          "public" : "306f3009068106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 798,
+          "comment" : "truncated length of oid",
+          "curve" : "secp384r1",
+          "public" : "3071300b06072a8648ce3d0201068103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 799,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp384r1",
+          "public" : "306f3009050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 800,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp384r1",
+          "public" : "3071300b06072a8648ce3d0201050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 801,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301004072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 802,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301005072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 803,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301007072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 804,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301008072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 805,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "30763010ff072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 806,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020104052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 807,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020105052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 808,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020107052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 809,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020108052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 810,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d0201ff052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 811,
+          "comment" : "dropping value of oid",
+          "curve" : "secp384r1",
+          "public" : "306f3009060006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 812,
+          "comment" : "dropping value of oid",
+          "curve" : "secp384r1",
+          "public" : "3071300b06072a8648ce3d0201060003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 813,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp384r1",
+          "public" : "307630100607288648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 814,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d02010605298104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 815,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d028106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 816,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400a203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 817,
+          "comment" : "truncate oid",
+          "curve" : "secp384r1",
+          "public" : "3075300f06062a8648ce3d0206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 818,
+          "comment" : "truncate oid",
+          "curve" : "secp384r1",
+          "public" : "3075300f06068648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 819,
+          "comment" : "truncate oid",
+          "curve" : "secp384r1",
+          "public" : "3075300f06072a8648ce3d020106042b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 820,
+          "comment" : "truncate oid",
+          "curve" : "secp384r1",
+          "public" : "3075300f06072a8648ce3d020106048104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 821,
+          "comment" : "wrong oid",
+          "curve" : "secp384r1",
+          "public" : "30793013060a3262306530333032316106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 822,
+          "comment" : "wrong oid",
+          "curve" : "secp384r1",
+          "public" : "308181301b061236303836343830313635303330343032303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 823,
+          "comment" : "wrong oid",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d0201060a3262306530333032316103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 824,
+          "comment" : "wrong oid",
+          "curve" : "secp384r1",
+          "public" : "308183301d06072a8648ce3d0201061236303836343830313635303330343032303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 825,
+          "comment" : "longer oid",
+          "curve" : "secp384r1",
+          "public" : "307f301906103261383634386365336430323031303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 826,
+          "comment" : "longer oid",
+          "curve" : "secp384r1",
+          "public" : "307d301706072a8648ce3d0201060c32623831303430303232303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 827,
+          "comment" : "oid with modified node",
+          "curve" : "secp384r1",
+          "public" : "307d3017060e326138363438636533643032313106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 828,
+          "comment" : "oid with modified node",
+          "curve" : "secp384r1",
+          "public" : "308185301f06163261383634386365336430323838383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 829,
+          "comment" : "oid with modified node",
+          "curve" : "secp384r1",
+          "public" : "307b301506072a8648ce3d0201060a3262383130343030333203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 830,
+          "comment" : "oid with modified node",
+          "curve" : "secp384r1",
+          "public" : "308183301d06072a8648ce3d0201061232623831303430303838383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 831,
+          "comment" : "large integer in oid",
+          "curve" : "secp384r1",
+          "public" : "30818f30290620326138363438636533643032383238303830383038303830383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 832,
+          "comment" : "large integer in oid",
+          "curve" : "secp384r1",
+          "public" : "30818d302706072a8648ce3d0201061c3262383130343030383238303830383038303830383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 833,
+          "comment" : "oid with invalid node",
+          "curve" : "secp384r1",
+          "public" : "308180301a0611326138363438636533643032303165303306052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 834,
+          "comment" : "oid with invalid node",
+          "curve" : "secp384r1",
+          "public" : "3077301106082a808648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 835,
+          "comment" : "oid with invalid node",
+          "curve" : "secp384r1",
+          "public" : "307e301806072a8648ce3d0201060d3262383130343030323265303303620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 836,
+          "comment" : "oid with invalid node",
+          "curve" : "secp384r1",
+          "public" : "3077301106072a8648ce3d020106062b808104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 837,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp384r1",
+          "public" : "3013301006072a8648ce3d020106052b8104002203",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 838,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 839,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b81040022036400000004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 840,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp384r1",
+          "public" : "3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 841,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp384r1",
+          "public" : "3014301006072a8648ce3d020106052b810400220381",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 842,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp384r1",
+          "public" : "3014301006072a8648ce3d020106052b810400220500",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 843,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002201620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 844,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002202620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 845,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002204620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 846,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002205620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 847,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022ff620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 848,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp384r1",
+          "public" : "3014301006072a8648ce3d020106052b810400220300",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 849,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620204c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 850,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312d1",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 851,
+          "comment" : "truncate bit string",
+          "curve" : "secp384r1",
+          "public" : "3075301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 852,
+          "comment" : "truncate bit string",
+          "curve" : "secp384r1",
+          "public" : "3075301006072a8648ce3d020106052b81040022036104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 853,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 854,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp384r1",
+          "public" : "307a301006072a8648ce3d020106052b8104002203662004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125101020304",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 855,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp384r1",
+          "public" : "3015301006072a8648ce3d020106052b81040022030103",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 856,
+          "comment" : "128 unused bits",
+          "curve" : "secp384r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203628004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251",
+          "private" : "4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a",
+          "shared" : "40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "secp521r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 857,
+          "comment" : "normal case",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce00e04ad19cf9fd4722b0c824c069f70c3c0e7ebc5288940dfa92422152ae4a4f79183ced375afb54db1409ddf338b85bb6dbfc5950163346bb63a90a70c5aba098f7",
+          "private" : "1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd",
+          "shared" : "01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 858,
+          "comment" : "compressed public key",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400030064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce",
+          "private" : "1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd",
+          "shared" : "01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 859,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004014c643329691ba27459a40dfe7c4ce17b3ea14d0cd7aa47b01f1315404db51436fbbfe6de0842e0f7e1265f6ff3aca28750677d3370b2fb2a6ef497356f4b95811201051b14178639a09a41465c72d3743436ee1c191ff7388a40140b34d5317de5911ea03cdbb0329fdeb446695a3b92d437271a9f3c318b02dec4d473908158140e97",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 860,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040029cd32125c23a41af24fd4b729da0faacbc35516ef0ba59096602571693cd282e26d67e18ef4643d0f6f158d7370d3394ca9a8de7938032ac178c6fd34e3702b8d008649834e2b41be3a8b7510bfe570f4c67075943cd0cbb9d9e1d1da52618b5b96d6aec9b650daf1ca6624c13e5116302b9c79c8c4d3d351915d1e8e1ab6ad76098e",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 861,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040032c6f06ce6a15ea064464d35aa368d299c9a9e1e368f694aefb603876248f898f223ce0217bef37d61eb09b27c93187cf8e61ba7b14e3c9bee692b06ac6d95f836019fd19f8480e21c63211d48d45f96f6365cf55f958e1a0fe7ea6b6b9ff230a87b70bb1b14d3a5fb6669a91641c6acf4570c1d3a9e709913b7fe6b35ff81c394d6a7",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 862,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004006ddf9b10965d5fc129e96f7a37667ccf66cc44384772906fedb21f9de4629e01aaa09ac7c9866112064bbc9bd58ebc123ab2fe19d8fed1a056d27bfef0630509c7001c441311ef20a16346332ea42d5c65788d68f6817b0267fcab11ea9c948ed108115dda8e823a380b601460742d3772d6424c67b240da24772ff0d2ccd9a1e0cea6",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 863,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004007a8c547268c948b626da636cf54428ea2ab23861d499a84ad7be1cf691b92872a06e26c6dba08ca9ed386f83d396156d5fa023f57d5ea6440ec7401dad2c08ad70018c3815b1b9a2e42555419a6c19043fa2b0ddcc4b5a6e372fee9fcb227d85bad704687e7e1a818b612d5c046cd75972f7a2dd5c9a200ac5582cd59fec47ac525ecf",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 864,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040029153cf062f88f303e5d6f9aac968bd901076d5994ea7f831833b1e69b67e9e9fe20cf9c5623e00e0b9e3592fca2a03324b5df7c93186aff697aca864600d44ecc002801a62e2f4106f34106da23dc93d50e3e975a1d47510021835290649b7a4125109f656b6b0b5bd00b24d84ea1ba4e1ed49e61c526fb1011005131caee7ee0501e",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 865,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400a61eb994e28722c59b3c6007dfdf8b37893f6350f461b26a00e1a45104314aae9989da87e4facb2c4ef721185b7d96d9a45a28a102756501a1acc5d329a21bbf73010e8d0e12f5a9a40e0d59c90ce73043d39730aeadd3788e31d7c2bb62a1166161994664afa658ce2e60a13f45f27f914307c8d6f8d4ed16ab041b8f69908a62782f",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 866,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004011dd497b30c73709906b164a9a79dc7f2a98c0148ed63016bb95243834fbcdf8eb74b0ff652d54f59f31aef51da6e8974d363655b1da138dc4de0f2a8d800f475ae0057bd4b84607400d863ffbf45a3cf58999ee24ba05e93eca7b0e4ae760eb1733559a45d15579d3370d716ffa3ec4bfdae418e32fb06138dfca213720a938577610e",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 867,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401283eb93fa369fe7012b647d21e0a97cf9950e5fbed819ef56158f20c8a9473a418eccbca4dc2b47f4cb6d322f917005859bf221e84ac9827cab82a801c627fb1ec0075c480cbafb352fcaf93baf23a1405fd81febe09729a908d1077e177dd8993d94b251a0d52652da3edb6fdf864e80cd51540e73d0b5107e3433576dcaa4e18db43",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 868,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400173beefe35ee868d497ff6601628f65ce18a1591f7e4a3a406622f3f508e2da68f101ed02febc38418c6ddfc26a5ec9848c42792463b1e945f9e167db34bdf2d660053070647aba7cd60eb295ab81a268a3903f393c5d28bbc5e022351c377cd84f02c19deb36442372cae1332e92f95ba60b6c852e0de0718e89d24e43cd479c9fb11",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 869,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004009829cd5432687739ab6ae10af8ea73d2cb53b81ebb06b5961b7badc1676b3ef7b00454f7cde56774a01312d574a9193c1a5fe5336fbe62623ad9bf81143789f9f90012f955697ed578207197bf9aac3896521615dbacc8dc665d4f1715b08439f49c2aa6ed337023ffccc5075a85944936826db92f919737ca3afeadba1847084bdef7",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 870,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040126e3c959cd41120bb83693b1d6a034b385137c1bb3213b776122fed96056e329885718a73bee639c0ba4b68818682f498ce5496925002bd7652516405fcc4fecad0073a9c6e3b0c694bf7cc8ccbbd09800e81e3548ba44a0c2381cef0b07bf702a19054bb5d717a1b79294609cbdafd4e2018064f7b2c4c204d818eb7ce521c3268ce5",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 871,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040153dc481ab3c5dc8decd24ceaee1bec77f59f21f7f31c19538af047d281ac9e2567933fd3d21096b185d4098919571931bb9b0be7197995e2fbaf21c8a10007ade001ad69f08fcae164390be826256b50fae47502ce0e9ca46af0c490cb4033c886f88661a99ff2bd3c9c8e7da30faf2b4c769edc5831810ac05054c97e41063f496e1f",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 872,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401f586611c87150288c3e86116c5db94a26718978829d701ddac05e9b0ce22dee4b18e95f60cba783ed3384da373deaefc57b8265d3a34eeb458bf24b9d82be32819008456e0f1d80492ef0078cc246d32fc7c7fb6720b4d458b51b2098d35746752b0ef0345bd0d342dfee6dd2f12ed12b34bd95d058c2811fd479d2dde32180e6c9ef2",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 873,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004015edc87fd499a73eabffd14d2b6a70a8fb69b6a39d0d9c4dda2337b53cc72e49a9e3d5a2d9e8930cfa11852dac33443227fba6684bd74732e6879884b6ef9dae98f010eeb8d2e3360ea9726628085268af3f2a05ad41235d0a892098bd661b636f7ef0a820282906eda3f1ff1980b98fb5937228e9edcd6332e3641216c7307e7f3f452",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 874,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040131b43002f7e687eec1ecf6a253c2ccc9e48f04d86fccd18fee0d2d22191f1ea539c40d521970b4709dc03986f647e0e8bb3340cf8a3e643a3541035437cf25f01500b27a55ac45f0296f8c9656bcfd52b5cea9f4115c06e4c64319609847d45e92418400e7868672c0d3e6e5e6e004a7190476ed77cfc33ad19a4bd2c615ad9950f374",
+          "private" : "0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646",
+          "shared" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 875,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "0053bf137fee8922769f8d0fe279caa4dac9c6054ad0460995588a845d0a959e24bc0fc2391a2b92f7bd400f50a11a9db37f07bef7fa8dad2a903fcf534abc8736f7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 876,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "01c95ac417c90a520149b29105cdab36f528a23efb5621520dbdafea95a7d43499c4c8be02cd1c2de000da18104fa84a1e9ece6386f0e0efa5234a24595d7c4c96f4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 877,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "01b47ec41e3a5abd9dd9808fc04d9078cbed72b9eba98d3c1ded70a29938f0efd5a27a7113ff721f122cb17411de307a355c685074f5766b6d1a033d2fa188c945b6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 878,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000000f33ffc45da3eac1baab727ab8fd355cfa134c42047d55262651654fb50df7e9a5a75f179c8c86c4388213b5687dc43dfebb37f30128703c44ccd5c3284833b8717",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "0168df272d53e3161926168c4aeab5f355b8d2a6689cfd567f2b6eb2011a18c775ac2a21f8dd497f6957217020b3b1afcb7021f24fccc2523be76a2bff44596e5a14",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 879,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00cd2839d857b4699f5c8e8a0194786e26a862f086b4ba80746ae5225ed3aa68f96b7aaec55225830bb98f52d75221141897ba49d7a31ebbf0b6d7d31352e5266190",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "013db1b9241b23d33860d32dec37a79e4546a41afdfdd9c438d04e1f8b566ac8d9d3f572c293e96943722a4ee290e113fffaa82a61867d9ca28d349982354c9b256f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 880,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813d9829119f42ffa95fea8ba9e81e4cd6a6ca97fb0778e12e5f5dfe35201dd4cca8eca0d2e395555997041381e6ac1f18ddf4c74e0b6e9041cfdca1d1c103091",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "01d2bbe9f754584ebbc7c7ad74136d1c8a144948948aa8be49989dd9b4c514db2e2ab1e0713ad1699f632dd2cea53da218ed549f030a113e282fd9e3be462d9aba84",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 881,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00878ad597d290db2cf660594aeed0f9b7c8dd68451d2d1b2cbc816b1ec4f35465b3964aff2edf1255163f5fca580132f85cade2887a017e7cd0b37196ad85221107",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "000f37a2e2caef54fff4126c0fa96e7c47f0cad74626ef91e589e12d2e1e8c221be7295be9dc2712b87bb0aa0f5880b738bc1242f2ba773bf9eb2a54e3c1ca4758d7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 882,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000010000000000000000000000000000000000b5e1191b449fa1ebdbd677daa48f90e2d1d6c058c877087cafd9364d99dbb283c68402e6e6c5f5411b2ed42824d8b280ceb910aba6847883a7e3780e2132af41c1",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "017aeb254d9c8c8ee06215ff33811357da73bf7f6dd6d7f8f176d62c065a88a9005f680c630e9f2763585ea2ee76b6e4ab45e673f814ebfa95947c0c63fb24fa6e9b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 883,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00207513d615656a1cc7505c18aa21b08e2b1d5a841de0816cc29c004efdb2d902ac1a7bb05e20722b576b64a3ddf4d2486421ac706bf4a424f252386368a5340fb6",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "0061bed42248a37b4625ef04c4f9c7ef69ee3c6f9503378351fcab1b8ce1343206997eec1b88449eb6f7355711ea1a818a486ee30a24126241a7e2289267cf5dd61f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 884,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff001fe800c50e54012b75a33e4be7d07c8d60f29680a395e951a6a31c5096b0ea928fc2cbf327dd784dc0a7ca46ea73992b758b5641364b4aba39e93798a4d925a008",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "001067d9104e296ef42b944587de11b10df05d2d959ed44cac9e7ef1c7a05d90819c43bc79c7397918f957cc98db931763bbeb1bdfc35865e8a359a013f13d60c433",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 885,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000008dd18a1f5e482140be79bb65a21ad60c8987e532c84345f0135affd46ec71ef02b1ca3ad56f301d955fa306c122d441d6fedcf8b855ef256350bf69d23a7207ad9",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "00b779d83035cf7bb0bb04c7b2f46d08f6791f0d1542c9bcce7250e772b12ad8e38fce1d2b063a06f0fa3a1b072dd976f5f8542979903075162f1f5c6ba3b76cc45d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 886,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000100566203dd325a081c4441f001f780365874fd3d0c9bc47227481afe76a93ae1bfde63af972203abfe22c63b80e83f7cc2184c3cb8cfd0152c54324c4759fd1f9a50",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "01afe5d23733728b79c743933b9ba7dfec5ed19b7737e393908a1d000918aa795d1ce0ad533983d018f927b35d2af6463356573f387febd75911a49486202ca69d3a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 887,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff00b11c668fbd549f36889f7b63434051da26f15705839136b1b14a09152d7a182ea7806c35478a32d3aa3c9c1627a61519ebec71b36fa77449025b8829e27f307834",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "019612aeb386febb1a28096fe5b2f682dead02389785225b80a27df439510d08349a193839525f248b7f9bcabfd3dc8da8cc1724022299b7b5e72399d89464b82e44",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 888,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000200aa75efc0a8daac1d73f32c9c552414bccf44af8e74331b47439e7dcc49a135b3ee61e9f69717d89b4bba3567a195aeda13fbec634bf2984b5ec6b6f80f5978ed5a",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "00570673f87adcef49c1f011e8b9f1e11f7fd3b3c93114d08d3f515aa4a895a6c701c523063bdc13ad1db0a54f6e7b476fe10db2070441befc58c8cff3c08ef76e59",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 889,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "0016aaf228b0aec190d4e4e5b8138ff9cc46d705da1bf002901c6ab420f59314d5b641712b14ef3e4fb125652c47888676804fb5575b741a8408c5625bfccff4fdda",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 890,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf",
+          "private" : "12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c",
+          "shared" : "00a5d6dfda2b269f4ab895a41c3b71b6ba10d5c9f0d9b3e730275345e4721594abfd39464c227716ded8ef3e60bb1ca0b551716e3f6eebb48d5ce8e0ab58cb1b73c9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 891,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "3",
+          "shared" : "00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 892,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "00347c51f587c726070bdeb9173d0a547427ead3f2c8de62d9ecc3013285f645d220931520bcef85d08cfb6786045745fbfbfb1924c44a89d06676131a965677272a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 893,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "01c41dc4437c2f2b94a940711b3a691723397a1f83d6bc0c67ddc7a657160925c7f85bb4eb3842b60b2610ddb7c0b8676267710e58359a8750843c6d8e25d48d1cd9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 894,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "006a239cdb7a783840658d5f314bfe5c51e806a4bf1236f8421265bcc503c673eb16c5c2b38b5717fa04ee7dbcdeb15c871711507abb7557a8a8c7b3250141e854d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 895,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "0112dbf9713aadd478e4f2ebcb058f05b512b1959c7da1994f851f373ce8c341d39c6843373f6fe559905953e1147640159437953c571961c09bad157a8e1a5bf476",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 896,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47adbb6fb71e91386409",
+          "shared" : "003eca2210c8623105085aa284d119f3d716730595c6291aa89bf32a95e8a5fdc64f3d76e92494a43a9dced12d05b6dca4ffe649b32ac12cb0202e702dc83a2cb277",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 897,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb5fb71e91386409",
+          "shared" : "01c4cae9fbfdd45de51d8525e8447a7553c35cf358f1346f1d79666887bb749a3ba0de62e1866b47a447d53b6f1ca5a33ec94507e2cfb65544f5a1195fc6b4dc5810",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 898,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb67b71e91386409",
+          "shared" : "008073b4796e748f3d0de5e85b22aed463f1a6aecdb336bc287b50d139e3591ef5f86b78c3f6051467755f059f295d758075347d657aaae02383838bb96071eacbd4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 899,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71d91386409",
+          "shared" : "01f11ff8983792d4a790d0de4b56d078b9033ad6318a440e8119342937cc48a39375150ab2cf98273b0fe35d5a3af5d84322a685e89f2cb378a99b9b7bac87e44952",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 900,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138631b",
+          "shared" : "00286cefaaf38ca4c6657eb9b187d8614d51775fd71c1a79b4c0ef1a0d4ce72b6f5b2bc854a4e78283530942a3f4fd2a8586d5ea51513c89d3d29de5de06321e118e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 901,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138639b",
+          "shared" : "014790de14c481f1336fcb7d33a8bf8e23eb594cc48608e9edfe0e326e106b67e7eaa3f04ec9985599178f632a5ee6419e11217060e9fcd5958a43882bf8cd3be6ba",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 902,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863db",
+          "shared" : "01ae775dbc4096a3aea7977b1a0af4b2830ecf9ca927a6247fba4cccb46b3f71d0e7abb8dda72d1c1ee7bb5b875b4773cc8df40f732819c4147da330775d1742ea35",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 903,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863fb",
+          "shared" : "01979fb05e068a12a3f20cfdfb9eaee9f22b356edcc7655383ed38124b86814f86a6f2216a34f3fc2299d403ee42408f95d08c5c6cd11db72cbf299a4a3c2545be25",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 904,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386403",
+          "shared" : "0197ebe26798bf67f06ff0282773af75115531f41d94c093d87481b76bef707bc222f2d6672f84a00fa20c5ed27027ab4006b68d93ee2151016c9ddbe014346272e2",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 905,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
+          "shared" : "00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 906,
+          "comment" : "edge case private key",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407",
+          "shared" : "01c168314cdc85757ade34a52a9e5379ffa5968f084b7e404939a8033a0fc698e26211754b9b2c04cf8a1420abe6e986ef1a238bbb91dd402b72e0ed50a876f1a83e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 907,
+          "comment" : "CVE-2017-10176: Issue with elliptic curve addition",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
+          "private" : "1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7",
+          "shared" : "01bc33425e72a12779eacb2edcc5b63d1281f7e86dbc7bf99a7abd0cfe367de4666d6edbb8525bffe5222f0702c3096dec0884ce572f5a15c423fdf44d01dd99c61d",
+          "result" : "valid",
+          "flags" : [
+            "CVE_2017_10176"
+          ]
+        },
+        {
+          "tcId" : 908,
+          "comment" : "public point not on curve",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fe1",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 909,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 910,
+          "comment" : "order = -6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd166500242fe000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 911,
+          "comment" : "order = 0",
+          "curve" : "secp521r1",
+          "public" : "308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020100020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 912,
+          "comment" : "order = 1",
+          "curve" : "secp521r1",
+          "public" : "308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020101020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 913,
+          "comment" : "order = 1598335257761788022467377781654101148543282249044465229239888363328190330275719844327554513312228302828260696579553960150541916632196023208175974174",
+          "curve" : "secp521r1",
+          "public" : "30820241308201b406072a8648ce3d0201308201a7020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650023e01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 914,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 915,
+          "comment" : "generator not on curve",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16652024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 916,
+          "comment" : "cofactor = -1",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 917,
+          "comment" : "cofactor = 0",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 918,
+          "comment" : "cofactor = 2",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020102038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 919,
+          "comment" : "cofactor = 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449",
+          "curve" : "secp521r1",
+          "public" : "30820286308201f906072a8648ce3d0201308201ec020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 920,
+          "comment" : "cofactor = None",
+          "curve" : "secp521r1",
+          "public" : "30820242308201b506072a8648ce3d0201308201a8020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 921,
+          "comment" : "modified prime",
+          "curve" : "secp521r1",
+          "public" : "30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201e99d17d498f3c68ed8e50430ec4f36c14dbeeaf7652e985636bf0548ffb981e9e011607fd0059cd4fe51e882f19a3839ebe7f1d7376cb761431b214ed76970cc0130818604411662e82b670c3971271afbcf13b0c93eb24115089ad167a9c940fab700467e161fee9f802ffa632b01ae177d0e65c7c614180e28c893489ebce4deb128968f33fb044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 922,
+          "comment" : "using secp224r1",
+          "curve" : "secp521r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 923,
+          "comment" : "using secp256r1",
+          "curve" : "secp521r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 924,
+          "comment" : "using secp256k1",
+          "curve" : "secp521r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 925,
+          "comment" : "a = 0",
+          "curve" : "secp521r1",
+          "public" : "308202033082017606072a8648ce3d020130820169020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3046040100044109a88e6f050cfefa0b49fac45689b6b93ad4fa3b65db7d2f4cb31b67fe056a100066dd80dc5f785d27f82e3369eb22ab2c5729a9e5d9906a1dc31e02f84026484a0481850400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 926,
+          "comment" : "public key of order 3",
+          "curve" : "secp521r1",
+          "public" : "30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff30818704413e132b04e4bf567ca410c8e0b26ce82c6df3a466d36017a14aee775550ee142403252bf967ece55d504d89aedace6a66267b3f426851b47dae79a4bb9dccb96ed304420111cac6216a3dc8b043d44f2f2ab83bd2c3c237c40b9aec11793dcf723adf6d467d5c4ecbccd047f355148c538818b8980d84b8960ef686cc281d0cb78d42162c7804818504005d86592cc9efd847ff982dc5f51a7b5e03fd827468f728515497309ce0dd87bfac187e8481c2075df741d4381e41a1fb698bc623ca75be6f39819259d87e734dc4008c95635095e612b27b14bfc503c2db2bcf90f5690dc75c09e8d5f22a597840ff4cbbbc135eb9a2e36359d51786476e8670c20d63d8d9834a3bdd3f7e57f493840e024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004005d86592cc9efd847ff982dc5f51a7b5e03fd827468f728515497309ce0dd87bfac187e8481c2075df741d4381e41a1fb698bc623ca75be6f39819259d87e734dc401736a9caf6a19ed4d84eb403afc3d24d4306f0a96f238a3f6172a0dd5a687bf00b34443eca1465d1c9ca62ae879b891798f3df29c27267cb5c422c081a80b6c7bf1",
+          "private" : "1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 927,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "secp521r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004af6dd5b71a8c1cf921e36854ae091aaa589d337e740e8579f816eb9e36b03eec5cf956d0fdd2fc1687335507fc1c4a5717d3b5b8ea8340d1",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 928,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "secp521r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000453366db79b320781936df61bb55d4499949d813ee5abaa5dda70da4f97f68228ccc69d7cd0b7266cfc28d0dcafdf3e83738cc611acb08f8b896c4ecf82dd65ae",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 929,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "secp521r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004aa45c13ce3cfea8538422712903edc0ce56df74ede0776e843555a786f9738de1943dffd729addfd4772169751d7765a45b5bb540a47d198f4c8c7c21e67560c1e12f70b64520109bb8858a3f8d6bb4012003431db0778633313fdb9464c47ec",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 930,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "secp521r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000475e01a1555380be188d69aac340a4675e4a6f73d63976a1075249827d8ecc2a31e65ed1eb591954e33a38f68ef8aa6c930229d8755e53257602b3eaa87de6f02",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 931,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp521r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004905a06d5bc093697155aaff67305976a769b904d8db9573c4be361626def2ffe1d5ec14462c02e5ffb24fb3edb2b6c77a5cfee2492db757b",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 932,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp521r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200042b87df1b6a5cbc4c4a184b7eec9b6c0483f7b80e6477b29649630c37481876bb0e3423f7a00d469320b7e60c88370979064efb9ceb8b387aa87a7c6941ccd9ed",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 933,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp521r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000470df62394ee036eefbc8ef11a9a5f3a8af659016f29e7125e52cfda0a74e52c7b21d18ac4375f5e4164c5338fa2f545a3fb2022f0e0686d5b4882958f72b1bb626e37093e3f19673968c237823327fd6",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 934,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp521r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004808dc7b1c6d3ec470a7fe5d6144c9c3a8c92b116103aa2edbfce0b2c827312eebcd1350d09a739eac901af341487861b195270f671e0a758deb23222db4fe7983d42a785b35fd158344cd6483c4da5b409e77d0a284dfa9c3e0d91a4d275fce9",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 935,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp521r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aa11b560dc1e572f2374e5869210304d66d95b1d8ce40940157f5f5b4a7dc8a340f7c305d6bea289f5c430eb888e2a03528336aaf4680d9d153cd162e2229df330425025df2625b147568927f6acf704e4936f8989ff9d44f33ee22196e70dfd8711e8934d8d42abb4b67afcfee213c3ad5e5c83fcf4283d253d6c5c0e581970",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 936,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp521r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00048d7a746de095728a8d83219e587040cb6e794d088ab6eab426638202579850b0f235edcf4eb8adcb51bf41878f6b71a1f2d4101022964340",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 937,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp521r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000424ad316bf41e4102dd7ae16311b64464df2d13ea68a11dd27a4445ed900962180ff8c627ed73f0c667863ee3a671e6ed1fa2781b51a229ee2cd21fbf69437d60",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 938,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp521r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004548ce4997cc618800d3834dd4b3346e4559be066ab5d0cecd7123c4de940c168fecd3bae067fe3fc7aee875c9da0a86932f0779f42344470860c22dbc6f305eab792fc0874157e175c7d3c4d3bf54c4b",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 939,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp521r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044fc2b35e3019a57a8ca6efe2ec1f72072c599a78c2725f7cfc2d9edf220b5f6abdb0c0d8d160182de451e26bcbb4e8c18726263e21ce56fb4bafaa1f186c745e2c8392ef8c5a1c03f5462ebbbcde0ffcc31e9a0b3e898ddb9c1c79e420fd7a35",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 940,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp521r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047122f743122681ac73b0d611af86847d8bec654cf99e7eaf5d4f684e4078a8e61dc6d07e831ad02cd40d41dbdb6b0e877d960b78a5ac34c1e6ce7c483503d6de2eaddeffbfb3f144d29d13535a05815934186707146e45f64476bbdbc8645be973270a4c5e35d70ffd5eab2f08d1fb04762bc8aa80e999da14f744be9ff8c923",
+          "private" : "2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 941,
+          "comment" : "invalid public key",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b810400230344000200429cb431c18f5f4e4e502f74214e6ac5ec2c3f86b830bac24de95feae142ca7d9aa8aa5b34f55af4b2848f2e6ba6df4c3ecd401a1d7b2a8287a332b202196fadbb",
+          "private" : "1c1fb2cac9087a3397814b198a80e2ea5b437aac1b41e8a2bd8fef8700e4812aa817320e6e1e3865bd2cf75e43a78be5c27ff1c4b5f5019333cb37d0c9c4ff3ec61",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 942,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400020108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639",
+          "private" : "6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacd",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 943,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b8104002303440003011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948",
+          "private" : "0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 944,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b8104002303440002011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948",
+          "private" : "0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f3",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 945,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400030108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639",
+          "private" : "6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 946,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400020009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048",
+          "private" : "2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 947,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400030047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19",
+          "private" : "1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f677",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 948,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b810400230344000300c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78",
+          "private" : "24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d5",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 949,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b810400230344000200c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78",
+          "private" : "24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d6",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 950,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400020047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19",
+          "private" : "1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f678",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 951,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp521r1",
+          "public" : "3058301006072a8648ce3d020106052b81040023034400030009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048",
+          "private" : "2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 952,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "3082009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 953,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "30819d3082001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 954,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "30819d3012068200072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 955,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d0201068200052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 956,
+          "comment" : "length contains leading 0",
+          "curve" : "secp521r1",
+          "public" : "30819c301006072a8648ce3d020106052b81040023038200860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 957,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "309c301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 958,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "309a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 959,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301106072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 960,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b300f06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 961,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006082a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 962,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006062a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 963,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106062b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 964,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106042b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 965,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303870004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 966,
+          "comment" : "wrong length",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 967,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3085010000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 968,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a03085010000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 969,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a03015068501000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 970,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d0201068501000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 971,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "30819f301006072a8648ce3d020106052b81040023038501000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 972,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "308901000000000000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 973,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a4308901000000000000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 974,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a4301906890100000000000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 975,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a4301906072a8648ce3d020106890100000000000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 976,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp521r1",
+          "public" : "3081a3301006072a8648ce3d020106052b8104002303890100000000000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 977,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30847fffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 978,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f30847fffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 979,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f301406847fffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 980,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f301406072a8648ce3d020106847fffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 981,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819e301006072a8648ce3d020106052b8104002303847fffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 982,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "3084ffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 983,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f3084ffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 984,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f30140684ffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 985,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f301406072a8648ce3d02010684ffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 986,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819e301006072a8648ce3d020106052b810400230384ffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 987,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "3085ffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 988,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a03085ffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 989,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a030150685ffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 990,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d02010685ffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 991,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp521r1",
+          "public" : "30819f301006072a8648ce3d020106052b810400230385ffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 992,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3088ffffffffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 993,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a33088ffffffffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 994,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a330180688ffffffffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 995,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a3301806072a8648ce3d02010688ffffffffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 996,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp521r1",
+          "public" : "3081a2301006072a8648ce3d020106052b810400230388ffffffffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 997,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30ff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 998,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30819b30ff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 999,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006ff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1000,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106ff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1001,
+          "comment" : "incorrect length",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303ff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1002,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1003,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "30819b308006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1004,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "30819b301006802a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1005,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106802b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1006,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303800004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1007,
+          "comment" : "removing sequence",
+          "curve" : "secp521r1",
+          "public" : "",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1008,
+          "comment" : "removing sequence",
+          "curve" : "secp521r1",
+          "public" : "3081890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1009,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp521r1",
+          "public" : "30",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1010,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp521r1",
+          "public" : "30818a300381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1011,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1012,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1013,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d0000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1014,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d3012000006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1015,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1016,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1017,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1018,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106052b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1019,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a149817730819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1020,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a0250030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1021,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1022,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a03015498177301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1023,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "30819f30142500301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1024,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a33012301006072a8648ce3d020106052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1025,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a03015260c49817706072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1026,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "30819f3014260b250006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1027,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a33018260906072a8648ce3d02010004deadbeef06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1028,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d0201260a49817706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1029,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "30819f301406072a8648ce3d02012609250006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1030,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a3301806072a8648ce3d0201260706052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1031,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a1301006072a8648ce3d020106052b8104002323818c4981770381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1032,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a0301006072a8648ce3d020106052b8104002323818b25000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1033,
+          "comment" : "including garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a4301006072a8648ce3d020106052b810400232381890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1034,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a4aa00bb00cd0030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1035,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a2aa02aabb30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1036,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a33018aa00bb00cd00301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1037,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a13016aa02aabb301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1038,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a33018260faa00bb00cd0006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1039,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a13016260daa02aabb06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1040,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a3301806072a8648ce3d0201260daa00bb00cd0006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1041,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a1301606072a8648ce3d0201260baa02aabb06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1042,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a4301006072a8648ce3d020106052b8104002323818faa00bb00cd000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1043,
+          "comment" : "including undefined tags",
+          "curve" : "secp521r1",
+          "public" : "3081a2301006072a8648ce3d020106052b8104002323818daa02aabb0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1044,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp521r1",
+          "public" : "3081",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1045,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp521r1",
+          "public" : "30818b30810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1046,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp521r1",
+          "public" : "0500",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1047,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp521r1",
+          "public" : "30818b05000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1048,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "2e819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1049,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "2f819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1050,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "31819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1051,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "32819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1052,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "ff819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1053,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b2e1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1054,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b2f1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1055,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b311006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1056,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819b321006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1057,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819bff1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1058,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp521r1",
+          "public" : "3000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1059,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp521r1",
+          "public" : "30818b30000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1060,
+          "comment" : "truncate sequence",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1061,
+          "comment" : "truncate sequence",
+          "curve" : "secp521r1",
+          "public" : "30819a1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1062,
+          "comment" : "truncate sequence",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06072a8648ce3d020106052b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1063,
+          "comment" : "truncate sequence",
+          "curve" : "secp521r1",
+          "public" : "30819a300f072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1064,
+          "comment" : "indefinite length",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1065,
+          "comment" : "indefinite length",
+          "curve" : "secp521r1",
+          "public" : "30819d308006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1066,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1067,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp521r1",
+          "public" : "30819c308006072a8648ce3d020106052b81040023000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1068,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5005000000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1069,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp521r1",
+          "public" : "30819f308006072a8648ce3d020106052b81040023050000000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1070,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50060811220000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1071,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp521r1",
+          "public" : "3081a1308006072a8648ce3d020106052b810400230608112200000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1072,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000fe02beef",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1073,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp521r1",
+          "public" : "3081a1308006072a8648ce3d020106052b810400230000fe02beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1074,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp521r1",
+          "public" : "3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500002beef",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1075,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp521r1",
+          "public" : "30819f308006072a8648ce3d020106052b810400230002beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1076,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d3000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1077,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d3012300006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1078,
+          "comment" : "append empty sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d503000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1079,
+          "comment" : "append empty sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106052b8104002330000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1080,
+          "comment" : "sequence of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1081,
+          "comment" : "sequence of sequence",
+          "curve" : "secp521r1",
+          "public" : "30819d3012301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1082,
+          "comment" : "truncated sequence",
+          "curve" : "secp521r1",
+          "public" : "3012301006072a8648ce3d020106052b81040023",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1083,
+          "comment" : "truncated sequence",
+          "curve" : "secp521r1",
+          "public" : "308194300906072a8648ce3d02010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1084,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp521r1",
+          "public" : "30820124301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1085,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp521r1",
+          "public" : "3081a2301706072a8648ce3d020106052b8104002306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1086,
+          "comment" : "long form encoding of length",
+          "curve" : "secp521r1",
+          "public" : "30819c30811006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1087,
+          "comment" : "long form encoding of length",
+          "curve" : "secp521r1",
+          "public" : "30819c30110681072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1088,
+          "comment" : "long form encoding of length",
+          "curve" : "secp521r1",
+          "public" : "30819c301106072a8648ce3d02010681052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1089,
+          "comment" : "removing oid",
+          "curve" : "secp521r1",
+          "public" : "308192300706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1090,
+          "comment" : "lonely oid tag",
+          "curve" : "secp521r1",
+          "public" : "30819330080606052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1091,
+          "comment" : "lonely oid tag",
+          "curve" : "secp521r1",
+          "public" : "308195300a06072a8648ce3d0201060381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1092,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206092a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1093,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106072b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1094,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d3012060900002a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1095,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d0201060700002b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1096,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1097,
+          "comment" : "appending null value to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206092a8648ce3d0201050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1098,
+          "comment" : "appending null value to oid",
+          "curve" : "secp521r1",
+          "public" : "30819d301206072a8648ce3d020106072b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1099,
+          "comment" : "truncated length of oid",
+          "curve" : "secp521r1",
+          "public" : "3081943009068106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1100,
+          "comment" : "truncated length of oid",
+          "curve" : "secp521r1",
+          "public" : "308196300b06072a8648ce3d020106810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1101,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp521r1",
+          "public" : "3081943009050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1102,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp521r1",
+          "public" : "308196300b06072a8648ce3d020105000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1103,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301004072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1104,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301005072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1105,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301007072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1106,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301008072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1107,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b3010ff072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1108,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020104052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1109,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020105052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1110,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020107052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1111,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020108052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1112,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d0201ff052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1113,
+          "comment" : "dropping value of oid",
+          "curve" : "secp521r1",
+          "public" : "3081943009060006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1114,
+          "comment" : "dropping value of oid",
+          "curve" : "secp521r1",
+          "public" : "308196300b06072a8648ce3d020106000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1115,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b30100607288648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1116,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d0201060529810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1117,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d028106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1118,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400a30381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1119,
+          "comment" : "truncate oid",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06062a8648ce3d0206052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1120,
+          "comment" : "truncate oid",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06068648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1121,
+          "comment" : "truncate oid",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06072a8648ce3d020106042b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1122,
+          "comment" : "truncate oid",
+          "curve" : "secp521r1",
+          "public" : "30819a300f06072a8648ce3d02010604810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1123,
+          "comment" : "wrong oid",
+          "curve" : "secp521r1",
+          "public" : "30819e3013060a3262306530333032316106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1124,
+          "comment" : "wrong oid",
+          "curve" : "secp521r1",
+          "public" : "3081a6301b061236303836343830313635303330343032303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1125,
+          "comment" : "wrong oid",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d0201060a326230653033303231610381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1126,
+          "comment" : "wrong oid",
+          "curve" : "secp521r1",
+          "public" : "3081a8301d06072a8648ce3d020106123630383634383031363530333034303230310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1127,
+          "comment" : "longer oid",
+          "curve" : "secp521r1",
+          "public" : "3081a4301906103261383634386365336430323031303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1128,
+          "comment" : "longer oid",
+          "curve" : "secp521r1",
+          "public" : "3081a2301706072a8648ce3d0201060c3262383130343030323330310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1129,
+          "comment" : "oid with modified node",
+          "curve" : "secp521r1",
+          "public" : "3081a23017060e326138363438636533643032313106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1130,
+          "comment" : "oid with modified node",
+          "curve" : "secp521r1",
+          "public" : "3081aa301f06163261383634386365336430323838383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1131,
+          "comment" : "oid with modified node",
+          "curve" : "secp521r1",
+          "public" : "3081a0301506072a8648ce3d0201060a326238313034303033330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1132,
+          "comment" : "oid with modified node",
+          "curve" : "secp521r1",
+          "public" : "3081a8301d06072a8648ce3d020106123262383130343030383838303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1133,
+          "comment" : "large integer in oid",
+          "curve" : "secp521r1",
+          "public" : "3081b430290620326138363438636533643032383238303830383038303830383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1134,
+          "comment" : "large integer in oid",
+          "curve" : "secp521r1",
+          "public" : "3081b2302706072a8648ce3d0201061c326238313034303038323830383038303830383038303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1135,
+          "comment" : "oid with invalid node",
+          "curve" : "secp521r1",
+          "public" : "3081a5301a0611326138363438636533643032303165303306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1136,
+          "comment" : "oid with invalid node",
+          "curve" : "secp521r1",
+          "public" : "30819c301106082a808648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1137,
+          "comment" : "oid with invalid node",
+          "curve" : "secp521r1",
+          "public" : "3081a3301806072a8648ce3d0201060d326238313034303032336530330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1138,
+          "comment" : "oid with invalid node",
+          "curve" : "secp521r1",
+          "public" : "30819c301106072a8648ce3d020106062b80810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1139,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp521r1",
+          "public" : "3013301006072a8648ce3d020106052b8104002303",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1140,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1141,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b8104002303818800000004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1142,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp521r1",
+          "public" : "30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1143,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp521r1",
+          "public" : "3014301006072a8648ce3d020106052b810400230381",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1144,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp521r1",
+          "public" : "3014301006072a8648ce3d020106052b810400230500",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1145,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230181860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1146,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230281860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1147,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230481860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1148,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230581860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1149,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023ff81860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1150,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp521r1",
+          "public" : "3014301006072a8648ce3d020106052b810400230300",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1151,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860204017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1152,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32dd0",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1153,
+          "comment" : "truncate bit string",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b810400230381850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1154,
+          "comment" : "truncate bit string",
+          "curve" : "secp521r1",
+          "public" : "30819a301006072a8648ce3d020106052b8104002303818504017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1155,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860104017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1156,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp521r1",
+          "public" : "30819f301006072a8648ce3d020106052b8104002303818a2004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5001020304",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1157,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp521r1",
+          "public" : "3015301006072a8648ce3d020106052b81040023030103",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1158,
+          "comment" : "128 unused bits",
+          "curve" : "secp521r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381868004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50",
+          "private" : "18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5",
+          "shared" : "00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "secp256k1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1159,
+          "comment" : "normal case",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004d8096af8a11e0b80037e1ee68246b5dcbb0aeb1cf1244fd767db80f3fa27da2b396812ea1686e7472e9692eaf3e958e50e9500d3b4c77243db1f2acd67ba9cc4",
+          "private" : "0f4b7ff7cccc98813a69fae3df222bfe3f4e28f764bf91b4a10d8096ce446b254",
+          "shared" : "544dfae22af6af939042b1d85b71a1e49e9a5614123c4d6ad0c8af65baf87d65",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1160,
+          "comment" : "compressed public key",
+          "curve" : "secp256k1",
+          "public" : "3036301006072a8648ce3d020106052b8104000a03220002d8096af8a11e0b80037e1ee68246b5dcbb0aeb1cf1244fd767db80f3fa27da2b",
+          "private" : "0f4b7ff7cccc98813a69fae3df222bfe3f4e28f764bf91b4a10d8096ce446b254",
+          "shared" : "544dfae22af6af939042b1d85b71a1e49e9a5614123c4d6ad0c8af65baf87d65",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1161,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004965ff42d654e058ee7317cced7caf093fbb180d8d3a74b0dcd9d8cd47a39d5cb9c2aa4daac01a4be37c20467ede964662f12983e0b5272a47a5f2785685d8087",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1162,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000406c4b87ba76c6dcb101f54a050a086aa2cb0722f03137df5a922472f1bdc11b982e3c735c4b6c481d09269559f080ad08632f370a054af12c1fd1eced2ea9211",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1163,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004166aed3bc281705444f933913f670957a118f8da2c71bd301a90929743e2ca583514a7972e33d6fea1e377ef4184937f67b37e41ef3099c228a88f5bfb67e5b9",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1164,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000436e1e76ffdbe8577520b0716eb88c18ea72a49e5a4e5680a7d290093f841cb6e7310728b59c7572c4b35fb6c29c36ebabfc53553c06ecf747fcfbefcf6114e1c",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1165,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004728e15d578212bc42287c0118c82c84b126f97d549223c10ad07f4e98af912385d23b1a6e716925855a247b16effe92773315241ac951cdfefdfac0ed16467f6",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1166,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ca03ff8e99e269576cf7564545c89268eb415ff45778732529fa5997cc2b230950d6b84b729bc07f9b2d92754281cdc0d289d2453385aef77e4bdc69bf155c5f",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1167,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000451be66137e39bbf35a91c6db5ba6919ff471d885ca94462eaaa65b1eac366baa5910de70b6e09e97aa00621ef18f2801719b199b3e7769fdab2bd909b2f340d7",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1168,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004595e46ee7c2d7183ff2ea760ffd8472fb834ec89c08b6ef48ff92b44a13a6e1ae563e23953c97c26441323d2500c84e8cee04c15d4d5d2cc458703d1f2d02d31",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1169,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e426e2f5108333117587975f18d8cc078d41e56b7d6b82f585d75b0d73479ffd75800fd41236a56034bed9abc55d82cf059a14d63c07cd0750931714731a1ca1",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "8000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1170,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e1c7076caf26010b1767f1a9c4156b5b4236368d5d90dece3441b734e8684ee6b3534c3c54e614e594dce6ca438b87c424c8e80f8fae226bbdf50e4906c13f6b",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1171,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004663cea1063c9916b75e85fc815d8a2370ec0a02aceef3db022e395db8b03bf3f188787f4047dc106807526502c7ae880e471c929b92e2384489c8070b5bcc109",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "ff00000001fffffffc00000007fffffff00000001fffffffc000000080000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1172,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000424175c078e305d3139e5dab727a6ab8587b26daa470a529a23c10585cb56c038bf1f2b937ae074ff94b15f5cb5e60eb5d32afba2077539db794294bcaab71a81",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1173,
+          "comment" : "edge cases for shared secret",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004008d71c712dd95881cd1400dbe7683acbd8e269d25261b08f1f491b45e3b5621778182a24198b0f23502d06e24c45122e1f420af48dc1e17b1ea923386a33062",
+          "private" : "0a2b6442a37f8a3764aeff4011a4c422b389a1e509669c43f279c8b7e32d80c3a",
+          "shared" : "ffffffff00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1174,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000000000000000000000000000000000014218f20ae6c646b363db68605822fb14264ca8d2587fdd6fbc750d587e76a7ee",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "12c2ad36a59fda5ac4f7e97ff611728d0748ac359fca9b12f6d4f43519516487",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1175,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004000000000000000000000000000000000000000000000000000000000000000266fbe727b2ba09e09f5a98d70a5efce8424c5fa425bbda1c511f860657b8535e",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "45aa9666757815e9974140d1b57191c92c588f6e5681131e0df9b3d241831ad4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1176,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff3db772ad92db8699ceac1a3c30e126b866c4fefe292cf0c1790e55cee8414f18",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "8163c9dce8356f1df72b698f2f04a14db0263a8402905eee87941b00d8d677f5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1177,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff31cf13671b574e313c35217566f18bd2c5f758c140d24e94e6a4fda7f4c7b12b",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "1a32749dcf047a7e06194ccb34d7c9538a16ddabeeede74bea5f7ef04979f7f7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1178,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff73b0886496aed70db371e2e49db640abba547e5e0c2763b73a0a42f84348a6b1",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "ab43917a64c1b010159643c18e2eb06d25eedae5b78d02fa9b3debacbf31b777",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1179,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000f4d81575c8e328285633ccfd8623f04dd4ed61e187b3a6d7eac553aede7f850",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "1648321c706651adf06643fc4ae06041dce64a82632ad44128061216cc9827ff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1180,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0001000242217b7059b3ddebc68e95443f6c109369e1f9323dd24852ac7612996b6e5601",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "fb866b2e4b1f9ed6b37847fc80a19a52e1e91b75d713b0d4f6b995d2d3c75cfe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1181,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff4b66003c7482d0f2fd7b1cb2b0b7078cd199f2208fc37eb2ef286ccb2f1224e7",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "3135a6283b97e7537a8bc208a355c2a854b8ee6e4227206730e6d725da044dee",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1182,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004800000000000000000000000000000000000000000000000000000000000000069d3cd0c70f1484d4b3bbbd680679ef477a22a07df085634f117c41c08bf1230",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "62959089a7ed477c22cb4f1c7787327318fccca25e5aa3e44688a282931ab049",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1183,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200048000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000130f69b6e95a3303214a73ad982a1f3ee169d7ecf958de7b0bca8a9ffa3b8e8b3",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "04fda5c00a396fad6b809a8843de573e86b0403d644995c83313da51fb1f5880",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1184,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ff00000001fffffffc00000007fffffff00000001fffffffc00000008000000056951ead861aa8ec7a314fcd54f905bd92c910786375eb7ee5f3a55f8aa87884",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "bbd9937bb51d27f94ecaea29717df789afeac4414e3ef27bb2e6fa7259182e59",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1185,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff63a88b2e0c8987c6310cf81d0c935f00213f98a3dad2f43c8128fa313a90d55b",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "bbd9d305b99ff3db56f77fea9e89f32260ee7326040067ce05dd15e0dcc13ed8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1186,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004ffffffff00000000000000ffffffffffffff000000000000010000000000000066a4456ca6d4054d13b209f6d262e6057ad712566f46e9e238e894deebe3d3aa",
+          "private" : "2bc15cf3981eab61e594ebf591290a045ca9326a8d3dd49f3de1190d39270bb8",
+          "shared" : "4ffb2c7962e32d5365f98f66be6286724d40d5f0333ba4fc943c0f0f06cdbb1f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1187,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "3",
+          "shared" : "34005694e3cac09332aa42807e3afdc3b3b3bc7c7be887d1f98d76778c55cfd7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1188,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "5841acd3cff2d62861bbe11084738006d68ccf35acae615ee9524726e93d0da5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1189,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "100000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "4348e4cba371ead03982018abc9aacecaebfd636dda82e609fd298947f907de8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1190,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "e56221c2b0dc33b98b90dfd3239a2c0cb1e4ad0399a3aaef3f9d47fb103daef0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1191,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "5b34a29b1c4ddcb2101162d34bed9f0702361fe5af505df315eff7befd0e4719",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1192,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03abfd25e8cd0364141",
+          "shared" : "cece521b8b5a32bbee38936ba7d645824f238e561701a386fb888e010db54b2f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1193,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfc25e8cd0364141",
+          "shared" : "829521b79d71f5011e079756b851a0d5c83557866189a6258c1e78a1700c6904",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1194,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfca5e8cd0364141",
+          "shared" : "8c5934793505a6a1f84d41283341680c4923f1f4d562989a11cc626fea5eda5a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1195,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8bd0364141",
+          "shared" : "356caee7e7eee031a15e54c3a5c4e72f9c74bb287ce601619ef85eb96c289452",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1196,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03640c3",
+          "shared" : "09c7337df6c2b35edf3a21382511cc5add1a71a84cbf8d3396a5be548d92fa67",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1197,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364103",
+          "shared" : "d16caedd25793666f9e26f5331382106f54095b3d20d40c745b68ca76c0e6983",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1198,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364123",
+          "shared" : "b8ae1e21d8b34ce4caffed7167a26868ec80a7d4a6a98b639d4d05cd226504de",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1199,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364133",
+          "shared" : "02776315fe147a36a4b0987492b6503acdea60f926450e5eddb9f88fc82178d3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1200,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413b",
+          "shared" : "3988c9c7050a28794934e5bd67629b556d97a4858d22812835f4a37dca351943",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1201,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
+          "shared" : "34005694e3cac09332aa42807e3afdc3b3b3bc7c7be887d1f98d76778c55cfd7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1202,
+          "comment" : "edge case private key",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000432bdd978eb62b1f369a56d0949ab8551a7ad527d9602e891ce457586c2a8569e981e67fae053b03fc33e1a291f0a3beb58fceb2e85bb1205dacee1232dfd316b",
+          "private" : "0fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f",
+          "shared" : "4b52257d8b3ba387797fdf7a752f195ddc4f7d76263de61d0d52a5ec14a36cbf",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1203,
+          "comment" : "public point not on curve",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e4",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1204,
+          "comment" : "public point = (0,0)",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1205,
+          "comment" : "order = -115792089237316195423570985008687907852837564279074904382605163141518161494337",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80221ff000000000000000000000000000000014551231950b75fc4402da1732fc9bebf0201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1206,
+          "comment" : "order = 0",
+          "curve" : "secp256k1",
+          "public" : "3081d530818e06072a8648ce3d0201308182020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80201000201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1207,
+          "comment" : "order = 1",
+          "curve" : "secp256k1",
+          "public" : "3081d530818e06072a8648ce3d0201308182020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b80201010201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1208,
+          "comment" : "order = 26959946667150639794667015087019630673536463705607434823784316690060",
+          "curve" : "secp256k1",
+          "public" : "3081f13081aa06072a8648ce3d020130819e020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8021d00fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8c0201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1209,
+          "comment" : "generator = (0,0)",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1210,
+          "comment" : "generator not on curve",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4ba022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1211,
+          "comment" : "cofactor = -1",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff0342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1212,
+          "comment" : "cofactor = 0",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201000342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1213,
+          "comment" : "cofactor = 2",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201020342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1214,
+          "comment" : "cofactor = 115792089237316195423570985008687907852837564279074904382605163141518161494337",
+          "curve" : "secp256k1",
+          "public" : "308201153081ce06072a8648ce3d02013081c2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1215,
+          "comment" : "cofactor = None",
+          "curve" : "secp256k1",
+          "public" : "3081f23081ab06072a8648ce3d020130819f020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1216,
+          "comment" : "modified prime",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fb524ac7055bebf603a4e216abaa6a9ef8eb2bbea2cd820e59d46d8501f6268b30060401000401070441040000000000000000000006597fa94f5b8380000000000000000000000000000f229ba06e5c03dbcba0eec01b4bcca549cda86e507e8813b5bb2b42df88f12f47022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101034200040000000000000000000006597fa94f5b8380000000000000000000000000000f229ba06e5c03dbcba0eec01b4bcca549cda86e507e8813b5bb2b42df88f12f47",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1217,
+          "comment" : "using secp224r1",
+          "curve" : "secp256k1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1218,
+          "comment" : "using secp256r1",
+          "curve" : "secp256k1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1219,
+          "comment" : "a = 0",
+          "curve" : "secp256k1",
+          "public" : "3081f53081ae06072a8648ce3d02013081a2020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f300604010004010704410449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201010342000449c248edc659e18482b7105748a4b95d3a46952a5ba72da0d702dc97a64e99799d8cff7a5c4b925e4360ece25ccf307d7a9a7063286bbd16ef64c65f546757e2",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1220,
+          "comment" : "public key of order 3",
+          "curve" : "secp256k1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f30440420724dfc0508649483d81e890419d01d3b7492d76ab81e985264df6782df470fc60420dc0fdc9b042439dbc5eb783da3da49531e469908a6228655fc3dc9f955362487044104924af98fbb45d3e331fe9047bf9b690d1ea29179160b5b69f12e8e34632e38a9279e3e86f915076d3c4b792b60c7403217f4af077b9b141d1d0ff9a634785827022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036414102010103420004924af98fbb45d3e331fe9047bf9b690d1ea29179160b5b69f12e8e34632e38a9d861c17906eaf892c3b486d49f38bfcde80b50f88464ebe2e2f00658cb87a408",
+          "private" : "0cfe75ee764197aa7732a5478556b478898423d2bc0e484a6ebb3674a6036a65d",
+          "shared" : "380c53e0a509ebb3b63346598105219b43d51ae196b4557d59bbd67824032dff",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1221,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "secp256k1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000450eb062b54940a455719d523e1ec106525dda34c2fd95ace62b9b16d315d323f089173d10c45dceff155942431750c00ca36f463828e9fab",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1222,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "secp256k1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000406372852584037722a7f9bfaad5661acb623162d45f70a552c617f4080e873aa43609275dff6dcaaa122a745d0f154681f9c7726867b43e7523b7f5ab5ea963e",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1223,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "secp256k1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200040ef5804731d918f037506ee00b8602b877c7d509ffa2c0847a86e7a2d358ba7c981c2a74b22401ac615307a6deb275402fa6c8218c3374f8a91752d2eff6bd14ad8cae596d2f37dae8aeec085760edf4fda9a7cf70253898a54183469072a561",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1224,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "secp256k1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400921da57110db26c7838a69d574fc98588c5c07a792cb379f46664cc773c1e1f6fa16148667748ede232d1a1f1cea7f152c5d586172acbeaa48416bcbd70bb27f0f01b4477e1ae74bf4f093184a9f26f103712ccf6ceb45a0505b191606d897edaf872b37f0f90a933000a80fc3207048323c16883a3d67a90aa78bcc9c5e58d784b9b9",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1225,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "secp256k1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00042c9fdd1914cacdb28e39e6fc24b4c3c666cc0d438acc4529a6cc297a2d0fdecb3028d9e4d84c711db352379c080c78659969bdc5d3218901",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1226,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004120e4db849e5d960741c7d221aa80fe6e4fcd578191b7f845a68a6fcb8647719a6fffb6165d8ec39389eecc530839c321b2e9040027fba5d9cb9311df7cd3d4d",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1227,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "secp256k1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040efb1c104938f59a931fe6bf69f7ead4036d2336075a708e66b020e1bc5bb6d9cdc86d4e8fa181d7c7ea1af28353044e8cec12eec75a6dd87a5dc902024d93f8c8d9bf43b453fd919151f9bd7bb955c7",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1228,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "secp256k1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200043e96d75b79214e69a4550e25375478bdc9c2a9d0178a77b5700bd5f12e3ce142f50c93dc1ee7268456d7eae2d44b718d6f159e896ae14fbe3aba397801a95e2bb6a9a761e865b289dd9db64aa07c794cedf77328543b94c9b54ce0cf04c60ac8",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1229,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "secp256k1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044f191130740f1b75ae13402960eb22ea801db80ed51a461e06a7b3ba60c9bddd132a6465bbee8afd70cfb4495efbda4f1567b958e6e305bfcb4ac8f05172688e0f2f175aa12425be3ab7271b42f258639e868677d1163c12e641229f1e6427761c9e294de51db564151b21a051d2f7a13661852799557a556a5f3c51d36d083a",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1230,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "secp256k1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00044964b948cefa39cd769e3480d4840a3c58e966161be80df02d9aab33b4a318a32f30130224edcefe0dd64342404e594aa334995b179f641f",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1231,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000411157979c08bcd175d34572209a85f3f5d602e35bdc3b553b0f19307672b31ba69d0556bce48c43e2e7e6177055221a4c4b7eb17ee9708f49216de76d6e92ab8",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1232,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "secp256k1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048bb517e198930eba57293419876a8793f711de37c27f200e6fb2c2b13e9fabd4fbc42ad61751ca583031ba76cbc6d745d115addc74eab63bf415c4fa20dbbecae98ac3c3da1a041705cf8959e2ccf453",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1233,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "secp256k1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200045eb38d0261b744b03abef4ae7c17bc886b5b426bd910958f8a49ef62053048f869541b7a05d244315fc9cd74271ec3d518d94114b6006017f4ed5e3c06322baa1c75809a1057ba6fa46d1e1a9927a262e627940d5da538b5a3d1d794d9c866a4",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1234,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "secp256k1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004035fc238e57d980beae0215fb89108f9c6c4afda5d920f9d0583ee7d65f8778ecfff24a31d4f32deb6ea5f7e3adb6affb9327a5e62e09cba07c88b119fd104a83b7811e958e393971a5c9417412070b9f18b03be37e81e0bca5d3ff0873ed1f3113ed0fc57a0344321fb4d6c43f2f6e630a3d3883efe4c21df3e0f0b1208226b",
+          "private" : "0dafa209e0f81119a4afa3f1bc46e2f7947354e3727c608b05c4950b10386643a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1235,
+          "comment" : "invalid public key",
+          "curve" : "secp256k1",
+          "public" : "3036301006072a8648ce3d020106052b8104000a03220002977cb7fb9a0ec5b208e811d6a0795eb78d7642e3cac42a801bcc8fc0f06472d4",
+          "private" : "0d09182a4d0c94ba85f82eff9fc1bddb0b07d3f2af8632fc1c73a3604e8f0b335",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1236,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256k1",
+          "public" : "3036301006072a8648ce3d020106052b8104000a032200020000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "098b5c223cf9cc0920a5145ba1fd2f6afee7e1f66d0120b8536685fdf05ebb300",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1237,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "secp256k1",
+          "public" : "3036301006072a8648ce3d020106052b8104000a032200030000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "098b5c223cf9cc0920a5145ba1fd2f6afee7e1f66d0120b8536685fdf05ebb2ff",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1238,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "308156301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1239,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "305730811006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1240,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "305730110681072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1241,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "3057301106072a8648ce3d02010681052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1242,
+          "comment" : "long form encoding of length",
+          "curve" : "secp256k1",
+          "public" : "3057301006072a8648ce3d020106052b8104000a0381420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1243,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "30820056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1244,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "30583082001006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1245,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "30583012068200072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1246,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d0201068200052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1247,
+          "comment" : "length contains leading 0",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a038200420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1248,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3057301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1249,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3055301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1250,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301106072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1251,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056300f06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1252,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006082a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1253,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006062a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1254,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106062b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1255,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106042b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1256,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03430004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1257,
+          "comment" : "wrong length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03410004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1258,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "30850100000056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1259,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305b3085010000001006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1260,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305b3015068501000000072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1261,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d0201068501000000052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1262,
+          "comment" : "uint32 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305b301006072a8648ce3d020106052b8104000a038501000000420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1263,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "3089010000000000000056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1264,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305f308901000000000000001006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1265,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305f301906890100000000000000072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1266,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305f301906072a8648ce3d020106890100000000000000052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1267,
+          "comment" : "uint64 overflow in length",
+          "curve" : "secp256k1",
+          "public" : "305f301006072a8648ce3d020106052b8104000a03890100000000000000420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1268,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "30847fffffff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1269,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a30847fffffff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1270,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301406847fffffff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1271,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d020106847fffffff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1272,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301006072a8648ce3d020106052b8104000a03847fffffff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1273,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "3084ffffffff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1274,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a3084ffffffff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1275,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a30140684ffffffff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1276,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d02010684ffffffff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1277,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "secp256k1",
+          "public" : "305a301006072a8648ce3d020106052b8104000a0384ffffffff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1278,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "3085ffffffffff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1279,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "305b3085ffffffffff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1280,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "305b30150685ffffffffff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1281,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d02010685ffffffffff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1282,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "secp256k1",
+          "public" : "305b301006072a8648ce3d020106052b8104000a0385ffffffffff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1283,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "3088ffffffffffffffff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1284,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "305e3088ffffffffffffffff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1285,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "305e30180688ffffffffffffffff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1286,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "305e301806072a8648ce3d02010688ffffffffffffffff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1287,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "secp256k1",
+          "public" : "305e301006072a8648ce3d020106052b8104000a0388ffffffffffffffff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1288,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "30ff301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1289,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "305630ff06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1290,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "3056301006ff2a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1291,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106ff2b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1292,
+          "comment" : "incorrect length",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03ff0004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1293,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1294,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3056308006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1295,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3056301006802a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1296,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106802b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1297,
+          "comment" : "indefinite length without termination",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03800004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1298,
+          "comment" : "removing sequence",
+          "curve" : "secp256k1",
+          "public" : "",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1299,
+          "comment" : "removing sequence",
+          "curve" : "secp256k1",
+          "public" : "304403420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1300,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp256k1",
+          "public" : "30",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1301,
+          "comment" : "lonely sequence tag",
+          "curve" : "secp256k1",
+          "public" : "30453003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1302,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1303,
+          "comment" : "appending 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106052b8104000a000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1304,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "30580000301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1305,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "30583012000006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1306,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1307,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1308,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670500",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1309,
+          "comment" : "appending null value to sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106052b8104000a050003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1310,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b4981773056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1311,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a25003056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1312,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "30583056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670004deadbeef",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1313,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b3015498177301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1314,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a30142500301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1315,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305e3012301006072a8648ce3d020106052b8104000a0004deadbeef03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1316,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b3015260c49817706072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1317,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a3014260b250006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1318,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305e3018260906072a8648ce3d02010004deadbeef06052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1319,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d0201260a49817706052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1320,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a301406072a8648ce3d02012609250006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1321,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305e301806072a8648ce3d0201260706052b8104000a0004deadbeef03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1322,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305b301006072a8648ce3d020106052b8104000a234749817703420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1323,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305a301006072a8648ce3d020106052b8104000a2346250003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1324,
+          "comment" : "including garbage",
+          "curve" : "secp256k1",
+          "public" : "305e301006072a8648ce3d020106052b8104000a234403420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670004deadbeef",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1325,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305eaa00bb00cd003056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1326,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305caa02aabb3056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1327,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305e3018aa00bb00cd00301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1328,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305c3016aa02aabb301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1329,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305e3018260faa00bb00cd0006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1330,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305c3016260daa02aabb06072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1331,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305e301806072a8648ce3d0201260daa00bb00cd0006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1332,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305c301606072a8648ce3d0201260baa02aabb06052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1333,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305e301006072a8648ce3d020106052b8104000a234aaa00bb00cd0003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1334,
+          "comment" : "including undefined tags",
+          "curve" : "secp256k1",
+          "public" : "305c301006072a8648ce3d020106052b8104000a2348aa02aabb03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1335,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp256k1",
+          "public" : "3081",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1336,
+          "comment" : "truncated length of sequence",
+          "curve" : "secp256k1",
+          "public" : "3046308103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1337,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp256k1",
+          "public" : "0500",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1338,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "secp256k1",
+          "public" : "3046050003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1339,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "2e56301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1340,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "2f56301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1341,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3156301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1342,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3256301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1343,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "ff56301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1344,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "30562e1006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1345,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "30562f1006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1346,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3056311006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1347,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3056321006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1348,
+          "comment" : "changing tag value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3056ff1006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1349,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1350,
+          "comment" : "dropping value of sequence",
+          "curve" : "secp256k1",
+          "public" : "3046300003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1351,
+          "comment" : "truncate sequence",
+          "curve" : "secp256k1",
+          "public" : "3055301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1352,
+          "comment" : "truncate sequence",
+          "curve" : "secp256k1",
+          "public" : "30551006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1353,
+          "comment" : "truncate sequence",
+          "curve" : "secp256k1",
+          "public" : "3055300f06072a8648ce3d020106052b81040003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1354,
+          "comment" : "truncate sequence",
+          "curve" : "secp256k1",
+          "public" : "3055300f072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1355,
+          "comment" : "indefinite length",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1356,
+          "comment" : "indefinite length",
+          "curve" : "secp256k1",
+          "public" : "3058308006072a8648ce3d020106052b8104000a000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1357,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da326700",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1358,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "secp256k1",
+          "public" : "3057308006072a8648ce3d020106052b8104000a0003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1359,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da326705000000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1360,
+          "comment" : "indefinite length with additional element",
+          "curve" : "secp256k1",
+          "public" : "305a308006072a8648ce3d020106052b8104000a0500000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1361,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267060811220000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1362,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "secp256k1",
+          "public" : "305c308006072a8648ce3d020106052b8104000a06081122000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1363,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000fe02beef",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1364,
+          "comment" : "indefinite length with garbage",
+          "curve" : "secp256k1",
+          "public" : "305c308006072a8648ce3d020106052b8104000a0000fe02beef03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1365,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp256k1",
+          "public" : "3080301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670002beef",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1366,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "secp256k1",
+          "public" : "305a308006072a8648ce3d020106052b8104000a0002beef03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1367,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp256k1",
+          "public" : "30583000301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1368,
+          "comment" : "prepend empty sequence",
+          "curve" : "secp256k1",
+          "public" : "30583012300006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1369,
+          "comment" : "append empty sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32673000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1370,
+          "comment" : "append empty sequence",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106052b8104000a300003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1371,
+          "comment" : "sequence of sequence",
+          "curve" : "secp256k1",
+          "public" : "30583056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1372,
+          "comment" : "sequence of sequence",
+          "curve" : "secp256k1",
+          "public" : "30583012301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1373,
+          "comment" : "truncated sequence",
+          "curve" : "secp256k1",
+          "public" : "3012301006072a8648ce3d020106052b8104000a",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1374,
+          "comment" : "truncated sequence",
+          "curve" : "secp256k1",
+          "public" : "304f300906072a8648ce3d020103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1375,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp256k1",
+          "public" : "30819a301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da326703420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1376,
+          "comment" : "repeat element in sequence",
+          "curve" : "secp256k1",
+          "public" : "305d301706072a8648ce3d020106052b8104000a06052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1377,
+          "comment" : "removing oid",
+          "curve" : "secp256k1",
+          "public" : "304d300706052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1378,
+          "comment" : "lonely oid tag",
+          "curve" : "secp256k1",
+          "public" : "304e30080606052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1379,
+          "comment" : "lonely oid tag",
+          "curve" : "secp256k1",
+          "public" : "3050300a06072a8648ce3d02010603420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1380,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206092a8648ce3d0201000006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1381,
+          "comment" : "appending 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106072b8104000a000003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1382,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "30583012060900002a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1383,
+          "comment" : "prepending 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d0201060700002b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1384,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d0201000006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1385,
+          "comment" : "appending null value to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206092a8648ce3d0201050006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1386,
+          "comment" : "appending null value to oid",
+          "curve" : "secp256k1",
+          "public" : "3058301206072a8648ce3d020106072b8104000a050003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1387,
+          "comment" : "truncated length of oid",
+          "curve" : "secp256k1",
+          "public" : "304f3009068106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1388,
+          "comment" : "truncated length of oid",
+          "curve" : "secp256k1",
+          "public" : "3051300b06072a8648ce3d0201068103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1389,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp256k1",
+          "public" : "304f3009050006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1390,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "secp256k1",
+          "public" : "3051300b06072a8648ce3d0201050003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1391,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301004072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1392,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301005072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1393,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301007072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1394,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301008072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1395,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "30563010ff072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1396,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020104052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1397,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020105052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1398,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020107052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1399,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020108052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1400,
+          "comment" : "changing tag value of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d0201ff052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1401,
+          "comment" : "dropping value of oid",
+          "curve" : "secp256k1",
+          "public" : "304f3009060006052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1402,
+          "comment" : "dropping value of oid",
+          "curve" : "secp256k1",
+          "public" : "3051300b06072a8648ce3d0201060003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1403,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp256k1",
+          "public" : "305630100607288648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1404,
+          "comment" : "modify first byte of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d02010605298104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1405,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d028106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1406,
+          "comment" : "modify last byte of oid",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104008a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1407,
+          "comment" : "truncate oid",
+          "curve" : "secp256k1",
+          "public" : "3055300f06062a8648ce3d0206052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1408,
+          "comment" : "truncate oid",
+          "curve" : "secp256k1",
+          "public" : "3055300f06068648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1409,
+          "comment" : "truncate oid",
+          "curve" : "secp256k1",
+          "public" : "3055300f06072a8648ce3d020106042b81040003420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1410,
+          "comment" : "truncate oid",
+          "curve" : "secp256k1",
+          "public" : "3055300f06072a8648ce3d020106048104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1411,
+          "comment" : "wrong oid",
+          "curve" : "secp256k1",
+          "public" : "30593013060a3262306530333032316106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1412,
+          "comment" : "wrong oid",
+          "curve" : "secp256k1",
+          "public" : "3061301b061236303836343830313635303330343032303106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1413,
+          "comment" : "wrong oid",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d0201060a3262306530333032316103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1414,
+          "comment" : "wrong oid",
+          "curve" : "secp256k1",
+          "public" : "3063301d06072a8648ce3d0201061236303836343830313635303330343032303103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1415,
+          "comment" : "longer oid",
+          "curve" : "secp256k1",
+          "public" : "305f301906103261383634386365336430323031303106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1416,
+          "comment" : "longer oid",
+          "curve" : "secp256k1",
+          "public" : "305d301706072a8648ce3d0201060c32623831303430303061303103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1417,
+          "comment" : "oid with modified node",
+          "curve" : "secp256k1",
+          "public" : "305d3017060e326138363438636533643032313106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1418,
+          "comment" : "oid with modified node",
+          "curve" : "secp256k1",
+          "public" : "3065301f06163261383634386365336430323838383038303830303106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1419,
+          "comment" : "oid with modified node",
+          "curve" : "secp256k1",
+          "public" : "305b301506072a8648ce3d0201060a3262383130343030316103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1420,
+          "comment" : "oid with modified node",
+          "curve" : "secp256k1",
+          "public" : "3063301d06072a8648ce3d0201061232623831303430303838383038303830306103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1421,
+          "comment" : "large integer in oid",
+          "curve" : "secp256k1",
+          "public" : "306f30290620326138363438636533643032383238303830383038303830383038303830303106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1422,
+          "comment" : "large integer in oid",
+          "curve" : "secp256k1",
+          "public" : "306d302706072a8648ce3d0201061c3262383130343030383238303830383038303830383038303830306103420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1423,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256k1",
+          "public" : "3060301a0611326138363438636533643032303165303306052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1424,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256k1",
+          "public" : "3057301106082a808648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1425,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256k1",
+          "public" : "305e301806072a8648ce3d0201060d3262383130343030306165303303420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1426,
+          "comment" : "oid with invalid node",
+          "curve" : "secp256k1",
+          "public" : "3057301106072a8648ce3d020106062b808104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1427,
+          "comment" : "lonely bit string tag",
+          "curve" : "secp256k1",
+          "public" : "3013301006072a8648ce3d020106052b8104000a03",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1428,
+          "comment" : "appending 0's to bit string",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03440004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670000",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1429,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a034400000004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1430,
+          "comment" : "appending null value to bit string",
+          "curve" : "secp256k1",
+          "public" : "3058301006072a8648ce3d020106052b8104000a03440004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32670500",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1431,
+          "comment" : "truncated length of bit string",
+          "curve" : "secp256k1",
+          "public" : "3014301006072a8648ce3d020106052b8104000a0381",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1432,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "secp256k1",
+          "public" : "3014301006072a8648ce3d020106052b8104000a0500",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1433,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a01420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1434,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a02420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1435,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a04420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1436,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a05420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1437,
+          "comment" : "changing tag value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000aff420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1438,
+          "comment" : "dropping value of bit string",
+          "curve" : "secp256k1",
+          "public" : "3014301006072a8648ce3d020106052b8104000a0300",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1439,
+          "comment" : "modify first byte of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420204e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1440,
+          "comment" : "modify last byte of bit string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32e7",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1441,
+          "comment" : "truncate bit string",
+          "curve" : "secp256k1",
+          "public" : "3055301006072a8648ce3d020106052b8104000a03410004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da32",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1442,
+          "comment" : "truncate bit string",
+          "curve" : "secp256k1",
+          "public" : "3055301006072a8648ce3d020106052b8104000a034104e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1443,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420104e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1444,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "secp256k1",
+          "public" : "305a301006072a8648ce3d020106052b8104000a03462004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da326701020304",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1445,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "secp256k1",
+          "public" : "3015301006072a8648ce3d020106052b8104000a030103",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1446,
+          "comment" : "128 unused bits",
+          "curve" : "secp256k1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03428004e03faca42a8b811759211d49b69dd0e0a686b28ff7b5817789a2f80050791335bf34cf495029075de25603fd56dd3cef36ee8503b9f3b0c1340c8e4012da3267",
+          "private" : "495800a83e6c1d61886d332e2613aa3f70df22865b0387ca6ca195cfcd2b2b1",
+          "shared" : "ebdca74dbf2c8ef63af8d86e0e0ee4511399bc08a395c4ea050bab43a29d2646",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP224r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1447,
+          "comment" : "normal case",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000447a927daafd7282afd721c141c268be12312066c1d62fe047dcef272958e02a2b81c89d7b81004eda65cb6e1df8da330be2d563221862b81",
+          "private" : "08cff3b0b5c1b3220043759320c6cc6392e19e554f180f3df1e44c7fc",
+          "shared" : "4f7afb302c699bd56db0bdac550172bac94b73b0f2b60eee91b6a420",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1448,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e000347a927daafd7282afd721c141c268be12312066c1d62fe047dcef272",
+          "private" : "08cff3b0b5c1b3220043759320c6cc6392e19e554f180f3df1e44c7fc",
+          "shared" : "4f7afb302c699bd56db0bdac550172bac94b73b0f2b60eee91b6a420",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1449,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045f9a3dd8daebed9583d91dd75c6ef089d325ffafb3639fb97a7a2dea04e811b5cb44e171a5ded25c22f37fd10e1860416e4edb8aa8081c0e",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1450,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045d8de5d817d49856a9ae870b5c84824f1a19745e963c820fdebb553c06f87a56e4d0019f1192f904285f5538c1d3eedc059e77344e7d4b8b",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1451,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004539b0566588e16505e2d39323c07799a6aa288e7d2aa03db8a392a388aad13ac01879d1cde648dc8ad70c2dec49cb67961b2493ddad8724e",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1452,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000426287f17f2554aaf1e49c5594fbc35059a5c7c037994bfff9cb437f33d0e5fa3400163c4a0ec513e7049edeac43f7463b99f1c9144d454d9",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1453,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00043ac67c437f5cd2b4bc78218b01f64130c8b217070f6e1eef5ad4b600242505741417f79fd28596192538a9438126a49f44f98ed2642aab1b",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1454,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00048ab3fa0ccf52a661ea3a1d50219c0cbf809bcbf63745f4e0b94a890c01c166c6392c3690f7ec28684857ea05f5fd4b8b4e7b8b05a9e94265",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "0003fffffff00000003fffffff00000003fffffff000000040000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1455,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00045a6ecb1ba881bf4df559980cc940e66e430bb22b6dd0e6ea1842e90caa0c8cd725f93c45985695fc3a78c42ef72c190b083db57ff85c3db2",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "01fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1456,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a60d25227568b2486b402af66d9212fe923a37873a8a5613ef813d91c88aa84b15b7cae6ab6478f0bf42c464f3f50ec27d339e85a4908841",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1457,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000499b409afecf5e544d0477a8a43d6f4805ca19d0b24b89d6a372556060695d60a6c4c321043cb40a501a2781c77fb9c8f370c8af801069e85",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1458,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004772b186ddd36192f7a73f10372c86d6a7e05200e0dabffe07e02bc9ea13a2429f0a30ab26de39bfafd44e37f14c79acee2ca7fbf2bd8f55c",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7ffff0000007fffffe000000ffffffc000001ffffff8000004000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1459,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d54fbb07c8c0482600908178438fd572eca1ebafdcd101071afcb247a0561e4e2201447d30db350510f0f8afffa228515de9289516855d2f",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fffffff00000000ffffffff00000000ffffffff0000000100000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1460,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004baeaa482e45fb4b932c945eeade8644f980e50f4150fc4ce1d02ecf6a883c9da5dc24c149b9b4510da27db8df3b3afbeaa629e19d99be628",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1461,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d63331a28bd6f82dcbe3de0ea807431012e954fd9febcc7a3687dbabca532329351b6a7a0648ab34c6aac123f8dd4ec8a44fb88df0ec45ae",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1462,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004000000000000000000000000000000000000000000000000000000014ebc9078ad8ad07562cd41b374827192aa88ce3c718a014405eed475",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "609042ac307c7d75ee58690d36d1f0ba2cb70f1a77ca43bc7bb70067",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1463,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004000000000000000000000000ffffffffffffffffffffffffffffffff541d4608f6b28dcc77f02d94b1e25428a22e64fa9b3354beed97af99",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "a55b6ca4b1e135cf1df413a50861917b3d10ffef98a29a874ba9563f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1464,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000400000000000000ffffffffffffff00000000000001000000000000004946136fcdd34a5225b09a844d9f482e56a13c46b4ef294e9c049f5b",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "9240e268b133e25b39b36cb7bc9e91a535ce622b48d3b0701d31b2c6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1465,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000400000000ffffffffffffffff0000000000000000ffffffffffffffff4bdc280b52c98b4bd52bfd4fd2676a97610c4946a66abef9bad0adaa",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "b552615bd4ea7eef4fef3e39aa4fc511d8cbaf40da099e47a611e512",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1466,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0001000060916626da518ee8f6bad287e697307084e191ca79398148141e57db",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "5701c9c1c1e59e93a0e57addf676c0d7646ff8407de630e5ec7255cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1467,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040003fffffff00000003fffffff00000003fffffff0000000400000005b5f99e5ee14baa1c4fa21adf0a6557416c603f933a592dd8dd16d66",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "07c0ae0f2e52e4657fcd5dcf95c5d925b0534da4d6a113e1406580ad",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1468,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000401fffffffc00000007fffffff00000001fffffffc00000007fffffff572544766fb80fb67365c9292c5f70bc285388d705155b361eee3a31",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "2d4f54d23c12ee51456f8047bc9c9bf3829192beef85bc6160029915",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1469,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff65d425acdceb1b04862ea9df634fcad6f1af3b70ca0000015b943550",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "4d51293480c1208a093504c4c96a4c33466c918d300a8566e69d4afb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1470,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fff0000003ffffff0000003ffffff0000003ffffff000000400000002ab72fec57251d40ab8f358a291933878b14635671f9e0a8088dc73",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "7bedf280c9880edf26fe8dbd7afa356a54a67a93a2bf7043d2f497ee",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1471,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047ffff0000007fffffe000000ffffffc000001ffffff80000040000011f4ecfad07f9a9656935f536a8b06e0db0acf5d54a939436ea844480",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "c56360d832e7d3854f60e0f3d362e58eb8026e27b6161fb2217ce57c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1472,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fffffff00000000ffffffff00000000ffffffff00000001000000003532d972042e05e13fe9d8f44800502161c9c5ffa30f5caf151d600d",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "5a0e6ab7b41c61b1cb098449c707f74f55548b92c78af27d3f33c084",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1473,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff515853ec16a985fbde8da662e47299e86ee30ad464acb849f5132922",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "b4e21f2403d826439e4d94985cebbc724a85a3e405aeb8f610892ec3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1474,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe51bd78396f681cbf535b3951d0b7edf91abd3b10e1cb5cdeb7ba8f9a",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "92d2a63b7788e0d704ecda5dc59321dc30264445763da792f7035832",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1475,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "3",
+          "shared" : "0c52cf1e5e3f3da21b6040644e0e9eeca2e020f5872c430cccef8b98",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1476,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "ba92ad99f14a0ee915aecf776c4fc5fdecbbc8fd8e13a7610a44d2b9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1477,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "1000000000000000000000000000000000000000000000000000000",
+          "shared" : "2b8dfc433327f665f04f2929084412000f1b2249f98b277784b334dd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1478,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "b70058644ff94dea13a4f3fea5bb80579152095ba9d3cf637f937737",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1479,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "080000000000000000000000000000000000000000000000000000000",
+          "shared" : "27bdac60e05ba7ac0f904050247e653c896bafd45b50d0938589718a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1480,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4a6ddebca3a5a7939f",
+          "shared" : "00b6b04347120ddc5228530ef7075824fbb745945edd75e73f637a40",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1481,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dcebca3a5a7939f",
+          "shared" : "d5b319d0f3143095c6bd1aa880c9df6a492caa6d6d275eb104a7aba3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1482,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dd6bca3a5a7939f",
+          "shared" : "a0e1f7a142aafb0856616d46b5f76c2244010c9d46cec07ab33bb4a8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1483,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca2a5a7939f",
+          "shared" : "6f1baf2ed42e35d71b705f5dbfb7f51a8ab661be91d8b2614769fa01",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1484,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd",
+          "shared" : "1be0d59d1f0f3a743ae19c5246099391098f71444223831e16cfa0c5",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1485,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d",
+          "shared" : "7e00a9267243cea4ba7617860b6fcf404e0357d1202d8c85dc5e07d3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1486,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939c",
+          "shared" : "0c52cf1e5e3f3da21b6040644e0e9eeca2e020f5872c430cccef8b98",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1487,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004aaf040d6cad2c18b953de46420b387fa83474d74c6767ed708b9d1268c82a09310bc35b5caf2d9b46318b895e4c097ed501d2dcb14d30a66",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d",
+          "shared" : "aac6a805f4ce1b6dcc13ec4ed16a889dc4d708f7f6f1e23471338324",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1488,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b3",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1489,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1490,
+          "comment" : "order = -22721622932454352787552537995910923612567546342330757191396560966559",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021dff283ecb55d9bc9979d5e7cfda8a2f04672ee943b49221435c5a586c61020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1491,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd020100020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1492,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd020101020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1493,
+          "comment" : "order = 5290290092223871682666367384584369978999613398297400491171",
+          "curve" : "brainpoolP224r1",
+          "public" : "3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021900d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1494,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1495,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cf021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1496,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f0201ff033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1497,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020100033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1498,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020102033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1499,
+          "comment" : "cofactor = 22721622932454352787552537995910923612567546342330757191396560966559",
+          "curve" : "brainpoolP224r1",
+          "public" : "3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1500,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b0439040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1501,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00b352e92e2b56ca58f5e37acdc34af65ec6145e27c14bce42bef26235303c041c68a5e62ca9ce6c1c299803a6c1530b514e182ad8b0042a59cad29f43041c2580f63ccfe44138870713b1a92369e33e2135d266dbb372386c400b04390400000000000000000023f905836e050000000000000000000000024058a847e339e15fdfa24f6f1876ce8b7a763a02e23cc17016e2c89c20021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a000400000000000000000023f905836e050000000000000000000000024058a847e339e15fdfa24f6f1876ce8b7a763a02e23cc17016e2c89c20",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1502,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1503,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1504,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1505,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff3021040100041c7ca82b1a7918992ef42c3deef04c4862d9e15b11e4c036e5c7389c94043904a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a0004a99e0508ee1d6fa2c3e46900b7130f4906896b1edb6ebc8e539a693826d7c3265cbd14cce5bbeaa7930c2b53ee2022f43ad74401b5fef1b1",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1506,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP224r1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cacb9da0b3518fc82985257d41a1cfe7a4ba232a4b3dcac6ebef422e8041c087c1e265e4eb3dadc67dfe5f0c9b42f28c036dc7827971b684edd540439048c3cfadd5f27be4415e22bfd30e2f6ec8375de9c8240f1a71a3db1211c1c6f00964bde6155d499195ae1c786f07e42786059b9808cccbd20021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00048c3cfadd5f27be4415e22bfd30e2f6ec8375de9c8240f1a71a3db121bba4c5a98ff78824d443970c1af01000c020c4df3780d074f1fc03df",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1507,
+          "comment" : "public key on isomorphic curve brainpoolP224t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004002718942d4d3f883dffbdbea18a5b9af73ac85e648076b2c0b333de4cc8c1d9c6127ab6880b903ac44e50730c5ce1d4b52b3b02689c7f0b",
+          "private" : "09589ebd788c54b1002d7b60ee3c6daa2cad255882df77b6108dd6b58",
+          "shared" : "7e1b3baf50c3b70324164df397146f3f6b5fcf9652699b2347ecbafe",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1508,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004992f4a20b0e54d674737b79da8e31ca6c6b3f86d5fed22a8861cfc1a3a57f7a9592ec7b70afa981399d30b9cc7f7dd31b6200f33a7d4b696",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1509,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000415cc8782ffaca34a954d055b906afdfffe1e3e2c08202cab9f2b31a18e6545cb52509e9a3ce64208d2cae9af9f366bc0053a210ef117376a4df1c43d54944f90",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1510,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200044d5a019d890fb4a512d6e84c1738ce2ec66b942b17f28bba75341a6dda2ae2acf94ff30bad8205d013382bec105ce2a2287482fb50a9e273d934d5302a74845c21f75c493deaf571ee4df5619d7bc77638a530bebd6bcacf31bd550241b9b81e",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1511,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004009cccaf2f3737187608ee4cd4bca434909fa84976e95bbf7e7517c07739625f5b2d52431c7e744930daac43a8997048ac82d082d37161a3b2a0c4d238d9140d6cf90159320fff6a710b506881b3b772747678dfd73bf7e870b516039c6008d44491e23789b57ad0c43b3fd27565ed703019aa036b60ff84ac866b653e368b47374c557f",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1512,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000422ae2126ae12a38cc771c1c8576a9b983aadcdd65f48f9d201192a488b0ff4a1d6d14ad981aac3fcfa2156b6340012197db2a4f6b6f7324ac8a7c4015861a1eb",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1513,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000467de48ceec36eccd05eb47bf815b784a51723667fe1008e700cd197cf3d50fc577444217f2a1976fb3faf6db0d08e8c6d645785ab66f3e5686c5572093bb6646",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1514,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044ece661f5ba97078659744dde9c8b2ad87ddf952fa76fa31ad3d04ee898aff363690885479efc69d0ddd21a35e0de809b95a183944e43c9653450ee4a03d5c3b714476482f0a84248b14efada7b6a5d9",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1515,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047aeb413f2efd160ecca59106870bd37ebaaf5e3ff576a6b5125de002dc3031f6000889ec211d8f40ee4c0a085b6011868319cd075c7a5d6dbf24a24eec40ed34ff03618f5548fc3a10d06f168a190723632e5d7979261f048e7da8e8dd564d2e",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1516,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000496f2336f70fc7b831650e40834c0a425cd343b98ddb15d25c849f5951addcdd12dc956ddd6f90bb8ac29e185bcc2098974016dd5e760024bcba4f35adee681fd158c98fc462b2538595157538b299ac638ba6709d968a0e37a4ede0939ba6c1c54675c49c9f0d23c1576fd2c89727f7e50e63406d47612a0c5dc20f7688c1fa5",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1517,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000474ec4011cf976c7151f8ccaa8b753b34c08e31cabf3efcc5bb997cd262c3273750abfcb8f76bc785c056a924e760d3d155bc5a7281a5b345",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1518,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040b42aeb62fc7e1295f9ce8f5bc5a66aecc4de289f73d05b672e7dd3ca85f34785e2e11f7cb6c7e4b48d458c2e2a613a81af11334ebd2627b0666f0d3628edbaa",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1519,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000472e9530f37de4b1d19d53789b02a5bda6e2124f71c58e8cd0e080047f0ca66aa69d4ff2e31b14901746487c71dfffb8a1368e45a56f482fcb5c635a80a1ad2ef56573ffd5fad242c823516eac42f1c7c",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1520,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000427cd77274564e4cc0b8284eaac5373fe2cbc731d95c01a781a6b6c4c94983a88df69f47cfe38cc04895673b56a4739377cac72600ac72743a72c025fbbc2c20e7b82474dcc3e98ba671fcb10e8aaff3d4791309f7a5d36d0b68c2d0fb703cced",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1521,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000466d53b70bcc33f779eddc473774f0a01f762f88df36199b80ef23123551bfe411a639600466da455b77317aa2f43d130258e7a1e86cd65e19a7e684c61896bcb40a0996fb5a897341f7c53a3486fb0aaf9e3281d31d366929eb608b5ed9e13693384dccb9f51f73a2d195949f1453e063e90287f5cb478322c5f03e9a05ab538",
+          "private" : "0a45d3c181ab18bbeb697c24c199854d4e450107dc4e33183bda31617",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1522,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002cfa2455a3fc3491d24291de3588e0eb46063c04430d7975ba71df01d",
+          "private" : "545f59601297fcc8d734f43bebc2d73866b16a3adb885211ae1a608f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1523,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e00039f98bba2a331e3a334c5ea7f8937a85580e557b353e06f3ed8dcd195",
+          "private" : "7abde5e6ce42081afc6194930710bfd108b91a7fc34d2caf52cdc54f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1524,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e00029f98bba2a331e3a334c5ea7f8937a85580e557b353e06f3ed8dcd195",
+          "private" : "7abde5e6ce42081afc6194930710bfd108b91a7fc34d2caf52cdc550",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1525,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002128849d9e5731a42465e35aebd7b6db3f24e1366f0ade29e821e1c71",
+          "private" : "720c41bbb15e5247ed81e269b421771e6be5134b11f3542ee8059176",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1526,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0003abefd2cfd3faf77666c7e1ad81414d6336fea6a6b45179eccffcc95a",
+          "private" : "72adf44f808419549de69d89d37b7508ff528c439580e5d0031e842b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1527,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0002abefd2cfd3faf77666c7e1ad81414d6336fea6a6b45179eccffcc95a",
+          "private" : "72adf44f808419549de69d89d37b7508ff528c439580e5d0031e842c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1528,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224r1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010105031e0003128849d9e5731a42465e35aebd7b6db3f24e1366f0ade29e821e1c71",
+          "private" : "720c41bbb15e5247ed81e269b421771e6be5134b11f3542ee8059175",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1529,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "308152301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1530,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305330811406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1531,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305330150681072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1532,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301506072a8648ce3d02010681092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1533,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301406072a8648ce3d020106092b240303020801010503813a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1534,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "30820052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1535,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543082001406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1536,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016068200072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1537,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201068200092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1538,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b24030302080101050382003a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1539,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1540,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1541,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301506072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1542,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301306072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1543,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406082a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1544,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406062a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1545,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d0201060a2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1546,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106082b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1547,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033b0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1548,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010503390004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1549,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "30850100000052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1550,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573085010000001406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1551,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573019068501000000072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1552,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301906072a8648ce3d0201068501000000092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1553,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301406072a8648ce3d020106092b24030302080101050385010000003a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1554,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3089010000000000000052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1555,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b308901000000000000001406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1556,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06890100000000000000072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1557,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06072a8648ce3d020106890100000000000000092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1558,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301406072a8648ce3d020106092b2403030208010105038901000000000000003a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1559,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1560,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305630847fffffff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1561,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301806847fffffff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1562,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301806072a8648ce3d020106847fffffff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1563,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301406072a8648ce3d020106092b240303020801010503847fffffff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1564,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1565,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30563084ffffffff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1566,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305630180684ffffffff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1567,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301806072a8648ce3d02010684ffffffff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1568,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301406072a8648ce3d020106092b24030302080101050384ffffffff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1569,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1570,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573085ffffffffff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1571,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305730190685ffffffffff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1572,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301906072a8648ce3d02010685ffffffffff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1573,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301406072a8648ce3d020106092b24030302080101050385ffffffffff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1574,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1575,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a3088ffffffffffffffff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1576,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c0688ffffffffffffffff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1577,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c06072a8648ce3d02010688ffffffffffffffff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1578,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101050388ffffffffffffffff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1579,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "30ff301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1580,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "305230ff06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1581,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406ff2a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1582,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106ff2b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1583,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010503ff0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1584,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1585,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052308006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1586,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406802a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1587,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106802b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1588,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010503800004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1589,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1590,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "303c033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1591,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "30",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1592,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "303d30033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1593,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1594,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101050000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1595,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30540000301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1596,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016000006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1597,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1598,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b24030302080101050000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1599,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710500",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1600,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101050500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1601,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30574981773052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1602,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305625003052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1603,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710004deadbeef",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1604,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573019498177301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1605,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305630182500301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1606,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a3016301406072a8648ce3d020106092b24030302080101050004deadbeef033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1607,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30573019260c49817706072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1608,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "30563018260b250006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1609,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c260906072a8648ce3d02010004deadbeef06092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1610,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301906072a8648ce3d0201260e49817706092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1611,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301806072a8648ce3d0201260d250006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1612,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c06072a8648ce3d0201260b06092b24030302080101050004deadbeef033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1613,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3057301406072a8648ce3d020106092b2403030208010105233f498177033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1614,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301406072a8648ce3d020106092b2403030208010105233e2500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1615,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010105233c033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710004deadbeef",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1616,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305aaa00bb00cd003052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1617,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058aa02aabb3052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1618,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301caa00bb00cd00301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1619,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058301aaa02aabb301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1620,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c260faa00bb00cd0006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1621,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058301a260daa02aabb06072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1622,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301c06072a8648ce3d02012611aa00bb00cd0006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1623,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058301a06072a8648ce3d0201260faa02aabb06092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1624,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101052342aa00bb00cd00033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1625,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058301406072a8648ce3d020106092b24030302080101052340aa02aabb033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1626,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3081",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1627,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "303e3081033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1628,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "0500",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1629,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "303e0500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1630,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "2e52301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1631,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "2f52301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1632,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3152301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1633,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3252301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1634,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "ff52301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1635,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30522e1406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1636,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30522f1406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1637,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052311406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1638,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052321406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1639,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052ff1406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1640,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1641,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "303e3000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1642,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1643,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30511406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1644,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306072a8648ce3d020106092b24030302080101033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1645,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30513013072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1646,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1647,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054308006072a8648ce3d020106092b24030302080101050000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1648,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b7100",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1649,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053308006072a8648ce3d020106092b240303020801010500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1650,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b7105000000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1651,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056308006072a8648ce3d020106092b240303020801010505000000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1652,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71060811220000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1653,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058308006072a8648ce3d020106092b2403030208010105060811220000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1654,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000fe02beef",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1655,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP224r1",
+          "public" : "3058308006072a8648ce3d020106092b24030302080101050000fe02beef033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1656,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP224r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710002beef",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1657,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056308006072a8648ce3d020106092b24030302080101050002beef033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1658,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543000301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1659,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016300006072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1660,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b713000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1661,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101053000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1662,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1663,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1664,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3016301406072a8648ce3d020106092b2403030208010105",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1665,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "3047300906072a8648ce3d0201033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1666,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "30818e301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1667,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP224r1",
+          "public" : "305d301f06072a8648ce3d020106092b240303020801010506092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1668,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3049300b06092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1669,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "304a300c0606092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1670,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "3048300a06072a8648ce3d020106033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1671,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606092a8648ce3d0201000006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1672,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201060b2b24030302080101050000033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1673,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "30543016060900002a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1674,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201060b00002b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1675,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201000006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1676,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606092a8648ce3d0201050006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1677,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301606072a8648ce3d0201060b2b24030302080101050500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1678,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "304b300d068106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1679,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3049300b06072a8648ce3d02010681033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1680,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "304b300d050006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1681,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "3049300b06072a8648ce3d02010500033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1682,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301404072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1683,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301405072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1684,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301407072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1685,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301408072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1686,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "30523014ff072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1687,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020104092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1688,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020105092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1689,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020107092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1690,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020108092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1691,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d0201ff092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1692,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "304b300d060006092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1693,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3049300b06072a8648ce3d02010600033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1694,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305230140607288648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1695,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d02010609292403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1696,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d028106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1697,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010185033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1698,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306062a8648ce3d0206092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1699,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306068648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1700,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306072a8648ce3d020106082b24030302080101033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1701,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301306072a8648ce3d020106082403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1702,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "30553017060a3262306530333032316106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1703,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305d301f061236303836343830313635303330343032303106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1704,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301506072a8648ce3d0201060a32623065303330323161033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1705,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06072a8648ce3d02010612363038363438303136353033303430323031033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1706,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06103261383634386365336430323031303106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1707,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "305d301f06072a8648ce3d020106143262323430333033303230383031303130353031033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1708,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3059301b060e326138363438636533643032313106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1709,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3061302306163261383634386365336430323838383038303830303106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1710,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224r1",
+          "public" : "305b301d06072a8648ce3d02010612326232343033303330323038303130313135033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1711,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3063302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303035033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1712,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "306b302d0620326138363438636533643032383238303830383038303830383038303830303106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1713,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP224r1",
+          "public" : "306d302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303035033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1714,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224r1",
+          "public" : "305c301e0611326138363438636533643032303165303306092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1715,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301506082a808648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1716,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224r1",
+          "public" : "305e302006072a8648ce3d02010615326232343033303330323038303130313035653033033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1717,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224r1",
+          "public" : "3053301506072a8648ce3d0201060a2b802403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1718,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP224r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010503",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1719,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033c0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710000",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1720,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033c00000004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1721,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010105033c0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b710500",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1722,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101050381",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1723,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP224r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101050500",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1724,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105013a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1725,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105023a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1726,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105043a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1727,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105053a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1728,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105ff3a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1729,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101050300",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1730,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0204d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1731,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27bf1",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1732,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301406072a8648ce3d020106092b240303020801010503390004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1733,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010105033904d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1734,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0104d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1735,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3056301406072a8648ce3d020106092b2403030208010105033e2004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b7101020304",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1736,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP224r1",
+          "public" : "3019301406072a8648ce3d020106092b2403030208010105030103",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1737,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP224r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a8004d7ba2df581b454d83c6bb8650fc3a1f13521881fa2ea52061d9e3af54e820e75fb8622183b699d868789bf3682889d7021798a3e4ba27b71",
+          "private" : "4dee4d6c6c9a8bf8b5e3c2fc001fe4918da586aaceb2a1ee78a293c4",
+          "shared" : "cd46b85ec2e2f06ecce31fefc71aa29256476b2ef0dd04ac0eaed597",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP256r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 1738,
+          "comment" : "normal case",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200044cee5e1072b30d64f70bf01958e22c044a2127ddd744ce3060c15990ff0fe1148c6ee56559829a5a84dd5c8646ee0c43d0b7c50181f234ec09eba43bc86b169e",
+          "private" : "113db979e07d9c8fdbea5b06a682c0d2ad67170ffcb65d7547d8c442d3ac237",
+          "shared" : "3f00d9af7607fd32809ef7a4a30b396e3da9f465adf20597c9e2046f16a7b1be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1739,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200024cee5e1072b30d64f70bf01958e22c044a2127ddd744ce3060c15990ff0fe114",
+          "private" : "113db979e07d9c8fdbea5b06a682c0d2ad67170ffcb65d7547d8c442d3ac237",
+          "shared" : "3f00d9af7607fd32809ef7a4a30b396e3da9f465adf20597c9e2046f16a7b1be",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1740,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200041284e50ecda6c7c3a15ae79c318dec591da197fc32b7a046b168774013e54687156d96fe0765ea03404ecf5f6efc74b0792c05c11f9a683b97f5c7ca74f8a8c2",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1741,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000498577499d7a42f4dfe44c2757fd9932ec7e45a0d902e0bf1fe4ac09e705eb8e12d9b9a0092c9c92a661e24b2138b6a778324c9db815eb05621c54cd4d4b2e887",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1742,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040b3e56747ee2a81edc487f7b257afc5886f3d80e9848472a944590eacf71172f5786410b71ce226824cd3f0ef462185b2557c9e8e1f02c654e8423488331b600",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000000000000000000100000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1743,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004854a72d5fbeacfc57a5aea2e386e549bab87b8ee313ee6c1f12cf267826940769f1c56486b0ac2dcd96bc018f5f42729cc073c6291bde8c3e7c169329c798142",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1744,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a7043cb065916e173837bc1a109526e946b66008398e697b40438a3e0a2b0d9d56c6faa83d8a4c4b9e2a9b4a6917a45aeee61491f4f4e47efebccb71bef8defe",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff0000000100000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1745,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000494b231b2189576b84aa5911e80da3074a4d16988041f908e6b6a199c16e1f7ed26fb9184971bc6f71cbced6836b3107bb17061a440abca27e5b44252bf39c6dc",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1746,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047dc0f29a5542c7d67793f52dc1de986bcee45d7571395cab102893aa2a5bf8cf7d4b8443793b137491736b26061ebd705d194405cf108b741cd1c5b42f44f6ab",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1747,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200044fe39fe909da0a3e5a05d4f9717661c8f9af24071d711df15de225e98d5edce462aca0b1ffb66a09b769a2c23314d5116fb30b71456ca798370abad10097d453",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7f00000001fffffffc00000007fffffff00000001fffffffc000000080000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1748,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000496c13e3b6f626cc2dd89992ec34b39851938a6c6015c1ee4889795dc536c1415330888344ffe63e0d54e4f9365dd209013933a0a84d5e30424f516b87189b835",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1749,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000406d3939c4c916da103a5f15438ee2b0863cf18b269d3d1a66ccf684f2fd568cf7235f3bac71d7d0f1eb6db9ef7aff385f020991db678e5124ffb0667745b3e03",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1750,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000429f6ba59fbe18c3ed99bc7da638ae419ee7d7853ff6732f5172dea1f085e8fb5071439411bba430d2b8bc8f58c955e94ae167fc9ca06fb262c7c93d710fd62ba",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fffffff00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1751,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000485d4f416552f4e51f92d80b4d6e71c6487c6fb0a106ed48395393d63528e6e782ba4c5228e60191a762dc02ccdaadb63364eee8e5008b9b25e0577f81903cb53",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1752,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200043b072da3dee819aba673abc3b1acebff18e4a6a20af8d817af97c2b4a8c5350a68e3bfb1d035fdfdb876b2adf85d9af1ad32e57399ca903a2d3fa4902124d194",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1753,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000463e92d05cfcde1179188bff8ba2043beff5a30a1a6b8ec1dfcd8273ce2c330540607392bdd311a313e3ae53196b14480b1967a235ebdbf1827165477884b5be2",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5376",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1754,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000000000000000000000000000000000000109e0e9e8d98fb89da2a32b2c7618b26bb99b920f02a5e831a142e6c8673110cd",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "599cde22070e96a88658c4a5a83f3723542a402ed506639ff9016fe4a26d4c25",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1755,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000000000000000000000000000000000000226ccfda8234fa9b70316b5ec4da222972b34a970cfe6dd9983a05e2fa746b902",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "4b35a3caa10cd77034e0737e18bc52071f64b8a2e14d7a02df8a36886aa467e5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1756,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000000000000000000000000000000010000000000000000000000000000000001ef5fa5ab0cebc18b64113eb8c040dd743184e7c8ac68f123f3c3d945585524",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "111fbae46ba6389c5879d02e1863301ffa9e1961d721a57c6d88847154398812",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1757,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff2e65afc115d0fe1a86f314629014d6856716a4d9a0114c713051dd700dcc1ade",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "23b36c78c27076e23d6ab56c2e9653d272922c9fc1a176b8b6c2e70ab7c883fb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1758,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000400000000ffffffff00000000ffffffff00000000ffffffff000000010000000131625916fc4e157b1cf93f3c80352ba4dbf26effbd87d31a2a808d001081f06a",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "27dffb62a6ec9ffb3d0480c45ba00c748193afcc0879d76b47f8ee356785dee9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1759,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000002330b902c4f6a2486744f36adc6000e116a2cbcb14ff9f47aa36319fef93ad5ea",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "9bffd451ceadc27df88a13829852ddab0b2938952f5c58fdae7dd22248840bb0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1760,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff2c6fb3302dd93dc25d2c6792c2ac6f86247c4d39637ee11d9267658017f0055a",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "267a69f4b3945f8d323ff1a526bca566e7ed9806d6a6dc8f4587ab229a5f3ab2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1761,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047f00000001fffffffc00000007fffffff00000001fffffffc0000000800000020cf9ab5899c59216d6d1bc786ddf6221e374cd37a8b745e826c6495bed0a56b0",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "a4a2d3bcc69380396089e719ab8c77e5437ee589e39d98eae7bd17ce5c1d5b03",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1762,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fff00000003fffffff00000003fffffff00000003fffffff00000003fffffff01a1ad42b3ff22ba6bf3c94b55cfa4d13c6e140d3c44963198f496ebbc50439a",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "3a6ff3c1d490f652f5178a794b8cf825b5044948f6ebda67310c11fec1ad2b53",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1763,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000369a4e24f010260d7c2560f7dc19c41cde6b5c503b6563678580f0d22c74dda4",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "2d59b895062c13d4e5b5e0b77ef273e94e558e724f6241af5bb11bf23acbf851",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1764,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fffffff00000000000000ffffffffffffff00000000000001000000000000004677b043dfe54f78c735543b752b3aec043f656e5f22dd6d956cd642e3390881",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "83640be428f7a4f80ae2671799b5ba1881241fd054a7f2dce0254c07531abe40",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1765,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff178945df488779235a2637c39a4a85ab707bd56e7c22b9ad41b652560123b6af",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "801e5f5d61c666bc089a4265c40d2a3fee0db20a0f78e329bbf2793330ab0412",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1766,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000000424bbe5b0b8702258d2462a8bda59a343b97c3fb1d4005416802bebd628e7d0",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "a409a85067dd63e5eab3aec3d74cb7f071839247dbf97b6de592988095509d0b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1767,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537613a0346db14d55d1bcc27079b68864ac32885b5bdfc3c9db6f85a35d3df4c39b",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "66d757884634861f28bbe45b502f895233b0ba1c69bf45802f80eac5c837750f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1768,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "3",
+          "shared" : "a3e1a44851d0dee744378c5e495f3081dff2a0fefccdd08fdc2331687d5c4a80",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1769,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "1a68ab756ecae2853fcf6285974efae32ccdd01c58d05b4cc58f74d16c2661fc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1770,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "100000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "0bc5fea1dd6793664ea15dafba3e06c1524150d9fde32e17d7c6813fdc8c8fd3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1771,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "2d44ec4cbf228a4e32409e4de1ef8859c93996a9df73c317e5d04e64137f49dc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1772,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "9e1990fec2a345118aaa96a473fb921dfb5c3d69c528cf6fc0989d075552822e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1773,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f6901e0e82974856a7",
+          "shared" : "605641e1bd08b22a1a51022d8ef80f9b6c2f70b2562387db88c124ce60660834",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1774,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7900e0e82974856a7",
+          "shared" : "7db568a027cd6204457ce31e7859cd06fc76ddbc97d5bdefd57a65752fd79340",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1775,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f790160e82974856a7",
+          "shared" : "6878ca1bdd7c0353b505d5a60b2fbed422b5c37c7b54cbed3a22e0894e7b15b8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1776,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e81974856a7",
+          "shared" : "3bc54238c701df3e18c6395f35435059c54ff0d06d8ab19a3d179ab37c1fd8d8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1777,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5",
+          "shared" : "1950b7ce510d4d8648e80c6385a42d005433fc5ca61e2022a1405fe18142c246",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1778,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675",
+          "shared" : "5c05c4d877a0e2af5ffa004c122630bb87157cf346dbeb8ae13017162da208f4",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1779,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695",
+          "shared" : "9639bbd4e22194ce3892a814c82eddbd21dde05cfac20e99396e3d6ef0841f7c",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1780,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
+          "shared" : "a3e1a44851d0dee744378c5e495f3081dff2a0fefccdd08fdc2331687d5c4a80",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1781,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004a4597cfee2797aaace662caa92a444592c9f626f04beca98a06b6dfcaf53f4b377d67b1c109154309bcf3d2f3928e58747806f08a8cf88436ac1b2110b83493b",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5",
+          "shared" : "341cbdf61f9dd620ba6873a74804afe30a06b0a113a6916a4104d2d4cc196aec",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 1782,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e1a",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1783,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1784,
+          "comment" : "order = -76884956397045344220809746629001649092737531784414529538755519063063536359079",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f0469970221ff5604a8245e115643c199f56f627c728e73c6855c4a9e59086fe1f17d68b7a95902010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1785,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f04699702010002010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1786,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f04699702010102010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1787,
+          "comment" : "order = 17901173885223768702896718547912698493510841341785744190857633730178",
+          "curve" : "brainpoolP256r1",
+          "public" : "3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997021d00a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8202010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1788,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b604410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1789,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046999022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1790,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a70201ff03420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1791,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010003420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1792,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010203420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1793,
+          "comment" : "cofactor = 76884956397045344220809746629001649092737531784414529538755519063063536359079",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1794,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a703420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1795,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d01010221009cc5080e320d05229fe633a03f5947a56ae6a469b258ad050ad2d32af932c171304404207d5a0975fc2c3057eef67530417affe7fb8055c126dc5c6ce94a4b44f330b5d9042026dc5c6ce94a4b44f330b5d9bbd77cbf958416295cf7e1ce6bccdc18ff8c07b60441040000000000000000000004d52ab6d699450000000000000000000000000000522f63e0ae9874b3327af5880fd557e161861d66e42d7ad495941804bdc861d30b022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200040000000000000000000004d52ab6d699450000000000000000000000000000522f63e0ae9874b3327af5880fd557e161861d66e42d7ad495941804bdc861d30b",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1796,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1797,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1798,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1799,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377302504010004207ec47e457bfa6d6de5c0681c57f6b7c710a28e78eaab3f2d25ae2fb1cafae1ce044104751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a702010103420004751e0e4636e839f06f4998e14b72809d29031e895e4c7f3c99a9cc131ba39b761db38f944bdaf663a2606109345dc2a5d2f25c5011e164b12cf0408922342e18",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1800,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP256r1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404201c410b874b16e275144a7b130ef2908d786d73ac0ee97bb8040797921aee16f1042062ccbae78f02da227e7ddc96475af4111d6592ea87ecf23b6e70ccc7f33957500441047d4258dbe9b8b67af7eda4a119a1dadb3bd65b35ea062c0bb3966d6114279c97294e30182007972546a2e61af73ed5d0c1007510f34bcdd4095367e87bbec916022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200047d4258dbe9b8b67af7eda4a119a1dadb3bd65b35ea062c0bb3966d6114279c9780ad27c381e71296f7c32475a644b7a1ad3b8112e1da525416bfe034a3af8a61",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 1801,
+          "comment" : "public key on isomorphic curve brainpoolP256t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000481ac2aef36e3d128e4360e715d4885b4d5cdea3b1def7ca2865ff76800e538133be2e51584027d139f6059e254a037f86db12c390fdc3047d3bea6812f19c04d",
+          "private" : "083a8125793c89bec64338abf2db8be8ad5d680ea134645d40c9ee420f3852ebb",
+          "shared" : "59668d33e4163a2e06b8ebac45ef559110d93c6079eb2566f576c6c75fad2657",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 1802,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004debff6a4a9297b3404bd112bb32f212df745b36c698d82f928fad9eb9a9ab56957e44409addfb8b3002f17987032dccecc3375ea8bbc8918",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1803,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042e0f441d258b51e9f02035b72dc92d19fd7f861b1dc22959c4525aaf7d923ea61fcbb7b5a4fff19b19c316fb2126b9e2325573df3c6886b1d87c8b7ce1e323b0",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1804,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200045889a117e567fdc7c23cd9a8fc4a87912c7394c76d0436e3ad7eba2c1cd52b4d354a79c2f1e96365e5a19475925f078546cb829455e7e5f09c2c707b962bfc1684581bcdbecc2764d75d98c8fb1f6c1a908d3d7225af157df5891140d30b6e0c",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1805,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401571fd75d7f8c5ebd5741f8b50575a469f6b429284793ba6dbd57df9f8cc1ae3efa23fd93b69af726cc3758d731c172b9d9db377f28a22ab3463145a3ca89b20d5301b36f5db20089cc7f261ae7fcc4fc0bcdd425e0c80c3d01be586f9092ec64e9c8eeaa4ebe1ede4d0d844a45528d280514ced8ee882348a76d30776b256683dd2a40",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1806,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004628cd86e0686a0f83900ea5650c950a241bcfb585b58591bbd60d474b330ee435d4e5bc111de4e07f4f2ffc40e009b9780a9565c1521da78547ef36192c54cf0",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1807,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004bcdd35ef1d7823cae92732fe1994eefa75e69bff629bf1a551f3e07360fd2f612d9631e62da7b82376b9605028768f114f830daeba7e3c22",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1808,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004947b72e0343407d82a0fdac7c7f6d410d0196caf9dd5108cced9eff722ab9e4431b0906ff15f3f9fb5ccea8e2c11bc12b8c3d98115f1f326e4594848bd8035bae0fe980ca7b13141f7c244e141c3e578",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1809,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042e8b483b6008ed7d5bdd423ab8e39d68faab00b30c743af1444ef204888684eb6371c4ea9cc0ad803b56abc541f35e4634c48fb32ba6fb975844dfac838cc1bff1286c6ded1f4afe42d68477be54d1ce744cd1fc9cc2e4ddbc897b0dc67a661d",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1810,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000415172c036cb3cd779740fbdaf26930536c9303e0a8d717916abbb6f010058191e1ee0835b4117c2efe4cbeadd3df260aa34d2417734cc52fd4f22d6fd56a6850927f17c97fa71ee829219c7bfe205872d61eb319b7cfa369715e63c25dc739dc6236cc71779bd4fa61bc34e76290f47b47f2b5430984edf61f4c4325a235024f",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1811,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004ad19d0abbc921f2f1fb23eca6765b2ba41b9c51e6e90d22a532c6b8c0ce699f758347ea939e79da8a8289403a5f1f8983aa17a70bbc86ca2",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1812,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000459e7f5220b13269549d11a1052c9ea852eee4c98df598d0c43824aeaf45340fd5a5aa6950b94d6b055ef7b011a506a2b1277ee50e215efa16246a231f0be64df",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1813,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200041a5c93cebdcf7fa5e5c1aedbf463ca7fc7a5a318e7bc281a775aa325c0b2117060c148c4094358fa47b779b11ef3d4b38411cb0a414ace506aa2142f568e141b6a2938122f103d7f849d0763a340e6a0",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1814,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000443e497389d1cc949a87b0bc81b27462b64e8cfe890e2b2d0fadf69c955a39c48d995be3f0597fafafda4719a40e156f761c85d8225dc504c81c6a380f099d82144038fe96bafe0d437d9f3a58a62fe10868aa364fd527f1606ce3c05ad24c653",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1815,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004903c2e5edd60b9831e78cb27c7eddedece338a8c82a9dbd31b1d1a78f8f5de37e4986adf56dfef5136fc30a97f675feeb75fc0488630bb32cf6be8a2cf917dfe589cf0ad661f53093e4a172b3cbbfabbc19a3c7a16f6379060eada96b050061d3bcd9577d5ae602456f6deb6fcb65684240ed6d6420630f07bb38be1cd60a339",
+          "private" : "0898a9c54d72da30e36b42dcf63b37b39c96441dccfcd701b8ed9e0b0c7f6fe7d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1816,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200029cf25745a7ec04b3c00e795c7e8f8d7da33f55732003be4fd4094d842ea82d8c",
+          "private" : "25d405a46ccd1e34658b9be7423e8fce7a997120db963933545d19762c71d8dd",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1817,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200020a8944f96de0fe0d82489cbc7e71f2f529cfcfea03ca593d91462278731e19a5",
+          "private" : "66008d35e34ab5f875c3fd8115c335cd9b5f764323dbe44570960155570e71db",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1818,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b240303020801010703220002575862a7c5fc68e9ffcd58ce9bd0ef78c0a26a3a22ee96b0be16b399adb3ac4a",
+          "private" : "622853938bb5dc82716cd8d6d076ae6955da307bb14534ae56fd6dfefd5ed270",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1819,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b240303020801010703220003575862a7c5fc68e9ffcd58ce9bd0ef78c0a26a3a22ee96b0be16b399adb3ac4a",
+          "private" : "622853938bb5dc82716cd8d6d076ae6955da307bb14534ae56fd6dfefd5ed26f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1820,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256r1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010107032200030a8944f96de0fe0d82489cbc7e71f2f529cfcfea03ca593d91462278731e19a5",
+          "private" : "66008d35e34ab5f875c3fd8115c335cd9b5f764323dbe44570960155570e71da",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 1821,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "30815a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1822,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b30811406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1823,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b30150681072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1824,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301506072a8648ce3d02010681092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1825,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301406072a8648ce3d020106092b240303020801010703814200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1826,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "3082005a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1827,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3082001406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1828,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016068200072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1829,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201068200092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1830,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101070382004200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1831,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1832,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1833,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301506072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1834,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301306072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1835,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406082a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1836,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406062a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1837,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d0201060a2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1838,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106082b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1839,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034300040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1840,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034100040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1841,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3085010000005a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1842,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3085010000001406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1843,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3019068501000000072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1844,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301906072a8648ce3d0201068501000000092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1845,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101070385010000004200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1846,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "308901000000000000005a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1847,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063308901000000000000001406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1848,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06890100000000000000072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1849,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06072a8648ce3d020106890100000000000000092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1850,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301406072a8648ce3d020106092b2403030208010107038901000000000000004200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1851,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1852,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e30847fffffff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1853,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301806847fffffff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1854,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301806072a8648ce3d020106847fffffff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1855,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301406072a8648ce3d020106092b240303020801010703847fffffff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1856,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1857,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e3084ffffffff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1858,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e30180684ffffffff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1859,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301806072a8648ce3d02010684ffffffff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1860,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301406072a8648ce3d020106092b24030302080101070384ffffffff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1861,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1862,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3085ffffffffff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1863,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f30190685ffffffffff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1864,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301906072a8648ce3d02010685ffffffffff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1865,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101070385ffffffffff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1866,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1867,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "30623088ffffffffffffffff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1868,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c0688ffffffffffffffff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1869,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c06072a8648ce3d02010688ffffffffffffffff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1870,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301406072a8648ce3d020106092b24030302080101070388ffffffffffffffff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1871,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "30ff301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1872,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a30ff06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1873,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406ff2a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1874,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106ff2b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1875,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703ff00040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1876,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1877,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a308006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1878,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406802a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1879,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106802b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1880,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107038000040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1881,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1882,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3044034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1883,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "30",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1884,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "304530034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1885,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1886,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101070000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1887,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c0000301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1888,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016000006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1889,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1890,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101070000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1891,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70500",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1892,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101070500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1893,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f498177305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1894,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e2500305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1895,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70004deadbeef",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1896,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3019498177301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1897,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e30182500301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1898,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "30623016301406072a8648ce3d020106092b24030302080101070004deadbeef034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1899,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f3019260c49817706072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1900,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e3018260b250006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1901,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c260906072a8648ce3d02010004deadbeef06092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1902,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301906072a8648ce3d0201260e49817706092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1903,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301806072a8648ce3d0201260d250006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1904,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c06072a8648ce3d0201260b06092b24030302080101070004deadbeef034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1905,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101072347498177034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1906,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301406072a8648ce3d020106092b240303020801010723462500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1907,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301406072a8648ce3d020106092b24030302080101072344034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70004deadbeef",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1908,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062aa00bb00cd00305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1909,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060aa02aabb305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1910,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301caa00bb00cd00301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1911,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060301aaa02aabb301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1912,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c260faa00bb00cd0006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1913,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060301a260daa02aabb06072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1914,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301c06072a8648ce3d02012611aa00bb00cd0006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1915,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060301a06072a8648ce3d0201260faa02aabb06092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1916,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3062301406072a8648ce3d020106092b2403030208010107234aaa00bb00cd00034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1917,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060301406072a8648ce3d020106092b24030302080101072348aa02aabb034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1918,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3081",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1919,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30463081034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1920,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "0500",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1921,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "30460500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1922,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "2e5a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1923,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "2f5a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1924,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "315a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1925,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "325a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1926,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "ff5a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1927,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a2e1406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1928,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a2f1406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1929,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a311406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1930,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a321406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1931,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305aff1406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1932,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1933,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30463000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1934,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1935,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30591406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1936,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106092b24030302080101034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1937,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30593013072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1938,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1939,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c308006072a8648ce3d020106092b24030302080101070000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1940,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b700",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1941,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b308006072a8648ce3d020106092b240303020801010700034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1942,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b705000000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1943,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e308006072a8648ce3d020106092b240303020801010705000000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1944,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7060811220000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1945,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060308006072a8648ce3d020106092b2403030208010107060811220000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1946,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000fe02beef",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1947,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP256r1",
+          "public" : "3060308006072a8648ce3d020106092b24030302080101070000fe02beef034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1948,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP256r1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70002beef",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1949,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e308006072a8648ce3d020106092b24030302080101070002beef034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1950,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3000301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1951,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016300006072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1952,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b73000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1953,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101073000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1954,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1955,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1956,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3016301406072a8648ce3d020106092b2403030208010107",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1957,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "304f300906072a8648ce3d0201034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1958,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "30819e301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1959,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP256r1",
+          "public" : "3065301f06072a8648ce3d020106092b240303020801010706092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1960,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3051300b06092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1961,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "3052300c0606092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1962,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "3050300a06072a8648ce3d020106034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1963,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606092a8648ce3d0201000006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1964,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201060b2b24030302080101070000034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1965,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c3016060900002a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1966,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201060b00002b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1967,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201000006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1968,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606092a8648ce3d0201050006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1969,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301606072a8648ce3d0201060b2b24030302080101070500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1970,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3053300d068106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1971,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3051300b06072a8648ce3d02010681034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1972,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "3053300d050006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1973,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "3051300b06072a8648ce3d02010500034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1974,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301404072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1975,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301405072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1976,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301407072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1977,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301408072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1978,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a3014ff072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1979,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020104092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1980,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020105092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1981,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020107092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1982,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020108092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1983,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d0201ff092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1984,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3053300d060006092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1985,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3051300b06072a8648ce3d02010600034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1986,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a30140607288648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1987,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d02010609292403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1988,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d028106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1989,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010187034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1990,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306062a8648ce3d0206092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1991,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306068648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1992,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106082b24030302080101034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1993,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301306072a8648ce3d020106082403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1994,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305d3017060a3262306530333032316106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1995,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3065301f061236303836343830313635303330343032303106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1996,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301506072a8648ce3d0201060a32623065303330323161034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1997,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06072a8648ce3d02010612363038363438303136353033303430323031034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1998,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06103261383634386365336430323031303106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 1999,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3065301f06072a8648ce3d020106143262323430333033303230383031303130373031034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2000,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3061301b060e326138363438636533643032313106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2001,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3069302306163261383634386365336430323838383038303830303106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2002,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3063301d06072a8648ce3d02010612326232343033303330323038303130313137034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2003,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256r1",
+          "public" : "306b302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303037034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2004,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3073302d0620326138363438636533643032383238303830383038303830383038303830303106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2005,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP256r1",
+          "public" : "3075302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303037034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2006,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3064301e0611326138363438636533643032303165303306092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2007,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301506082a808648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2008,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256r1",
+          "public" : "3066302006072a8648ce3d02010615326232343033303330323038303130313037653033034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2009,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256r1",
+          "public" : "305b301506072a8648ce3d0201060a2b802403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2010,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP256r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010703",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2011,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034400040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70000",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2012,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101070344000000040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2013,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010107034400040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b70500",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2014,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101070381",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2015,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP256r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101070500",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2016,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107014200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2017,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107024200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2018,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107044200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2019,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107054200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2020,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107ff4200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2021,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101070300",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2022,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034202040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2023,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e637",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2024,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010107034100040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2025,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3059301406072a8648ce3d020106092b24030302080101070341040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2026,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034201040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2027,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP256r1",
+          "public" : "305e301406072a8648ce3d020106092b2403030208010107034620040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b701020304",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2028,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP256r1",
+          "public" : "3019301406072a8648ce3d020106092b2403030208010107030103",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2029,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP256r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034280040bc9c96c6a1a53a682d047de92f68503d8183dbfd0289a23f122328a02139eb470f35f5d9f0719466138c0f03af1832cae9faffdc57b23fdd323a4a1cd99e6b7",
+          "private" : "6886a22d99d63e4def932f8c050560452c110975f8cffee6482df732fd11696",
+          "shared" : "2b55ca46c52f0d48efc170194f6fccd38fe9505f2765f64232eef3af9ed42a83",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP320r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 2030,
+          "comment" : "normal case",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004b7fc5720d4b325c0805cc213c1b9ccbd9e4f380a121fbc00784c821bcd7f0d618b70d39fbdceae553d9de4f90683eb9f000463c7bd1d32db8cfad2b40862ccac05030e93fc6694c071e8e1427b305006",
+          "private" : "12d06c51deda1595d8c43e7c146f898f7141c0836522931049afe61333ae2c03e350b61aeba540bf",
+          "shared" : "94982d50b29faedaa7ed0988fd57b90303b032ce398ec70af6d194bcfd7f9008d14e09425502b7e7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2031,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0002b7fc5720d4b325c0805cc213c1b9ccbd9e4f380a121fbc00784c821bcd7f0d618b70d39fbdceae55",
+          "private" : "12d06c51deda1595d8c43e7c146f898f7141c0836522931049afe61333ae2c03e350b61aeba540bf",
+          "shared" : "94982d50b29faedaa7ed0988fd57b90303b032ce398ec70af6d194bcfd7f9008d14e09425502b7e7",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2032,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004430dd30b26350bc66c41c71769dd61b740d71008b59e455c1795ebbdc6bb1f0c8afaab415850142f1557feb7bef5fd3937f088ccb4d3ff8dc7431eecc9dce6f57c45035ca97dd0d7de9991742a39ad20",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2033,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047bad53f50a369371b9742952b37f6a179ffb0f7f46894321f1b3485453b7bb58b9e61e1ad06913247287976110d22bbaf17dad584cd104bca6601daa0b6633ba889793f931ef61f889a491bfc3776256",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2034,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004887c70eaddf1e67b2e05e0613154b61cac592568641c5332a218a87cebba63b2518e6c1cc1ca4036a4a62bbe99f7cab95eb1fd6b0acc85d495c9b82ed1ce047db89ab3c08f953c13ab35128638921b09",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "0000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2035,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000404d114977ae64cbca724fc517d6b7bafaf7c9eec36d682c1fd02e9f9bca302b149793582b301c8a95acab775a1f9c63d1eab8f1e67421c7d8de16f0128167a2f7ef8ae55fda1b83e97503b8323343a92",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000100000006",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2036,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200042e78935c77d5fc195928849d98b81c79c8dc407bf113bd1e3f49967d288d7bf8c1cd853a9a5fd80788e3e8ebdf07f70c44075b8ad217123e2ef44ae53f4306d0f1958f1311d0509e1c7754a68afdf7eb",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2037,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200048f93a6519729320805291a17925e6d42ba23dd25acb3eea29c18f1e550c7dfb41182a9fd75747df77191f150afa979031f546222bbdc1afc448c6613d219a109a018ad341b6bb5fff61939a242b42968",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "07fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2038,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004243bd450e757a6a5308cb366f87c359b953cb42c6c61de923a24247217974d6ccb3f8869e832227c64035c2066f24423fee0041ab5ef361d1ca4bd19f34f9802f1fbcd2cc132087d8f4f3d5b32e1b046",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2039,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000465677dff00f5899c5100c5ceaeef383de49012e005e8f73656caff3e95dd1254bbbffa840e206e962935d733930dbe0130714761a1a26bf9a59cd37db1311bae7ab2f9ae3f0827aa0ae240b34cefb97c",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2040,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200046394defc20111cd8cddc2b8545b9200f080736bf6438f21c6fe0bc246e4bb0bdce1f1107d6dc55b536d025461efef8ec5dfa7f088fc03070efe56158050ac3042d1285aa9ea40215dfe5542e6d5590f4",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2041,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040c1142edacae66ffa6993bca134cd4450b5adf0d5f5c32e21479f2419a9000afe9226749f27bcad113bee319eac4e6c6927deef999d25017890e95a615bd222720ecbb22ebe2ed9aafb9610bfa7e77f9",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2042,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004770298807fbfc4f084210a361403c6dd3c3f2c31bbf20ec851e10144fc8340ae7a77cead742b5d1dc4a9a855df56a21362614044ae945739c707c0c89b65a43fb091069bd4f695b553c583f538206c35",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2043,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004a719ed2e9ff2debac0713bc4806181736885736f183be24175ced514ebb76a0e49b20f7a47bec04477405570758bb4a1835f71338d394ac799d389a9a2b0aab561717a0642c668dd7e88521fc0884db9",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2044,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000423c02591b8ee778c5780ed4c783974ddd5aa52117d68cdda1c375cb77dc36f5fbea9709e44612898c1f5fcb67bd6b2bcc6ff0b01003be7559c1cd0827847de5943d5adde9b8519a55675970051659a03",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2045,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000000000000000000000000000000000000000000000000000000000000000000000000129110253d52cf3c5fc3382fca93d18adf7b97999028767b9722381db68fe3a41793b7d9952c6177f",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "2bab467efa3adf782324563a4d8f19018ca44458f697318a11f3e3c2269275c7b1aec44ce83cce8a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2046,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004000000000000000000000000000000000000000000000000000000000000000000000000000000020d1a18c0b25d0d32d9c4249a523cfcc12a20c2ead596607d73260895676315a70ad098e8b51d25a8",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "829a5f7c664dce621ba1373c0758d3d2b2984d85c384cf0077930ae4909f6072731572ecc3e4a1aa",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2047,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff13b6599cb2e990a4fee490dff267362978a0e76f57c53b4ee85fc39c790f4c6969978fc462e5a847",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "203ab48d6e3a11afcb44140f0b6596cc85dfe39e589d64b699ddb5470ee2ac5cf61d6ec8534aacfe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2048,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000001000000063a91ee30c63eb15b1c0f2102c6cf3438dd75ca71636238f891e367c105f0b781d02de648399712a0",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "0f5a4a6607bfd93aa3d1ed5a4aa5ed3d973547cc978265649cc47dae0cd32bfeeef058e4e2ed4288",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2049,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff308f36ab8f37e97723b0aadd7ee4dd585b9e68dc00db4242f6c3cf7b0ec1497a26e629b24a613b3a",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "a6b0761c5fe60e1e4c63704ecb8a0da1a9b89cd502b2091eb37a414181af99c4b421f107865a3989",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2050,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000407fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff231f9aef9b1a7c143485f601980bfa4f7bc7b312b01400bd1d15669197e07f2edf39cd08c905e280",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "8ccfba752052d15c8cca181abd9fded4cb0c176dbadccafe44cf1cc1907fc9ba356c7e7c3289e19e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2051,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff025368d44d7706408e18118e8338b5a8f65dcb4f7ac1884d97a44d235b8c89e5c240576680e6def6",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "8c14fa61be79ee096dcf6a2cd31aaab422b98161476c02e71a18168eaf3185ac515f6e451af5e27c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2052,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc0000000800000011a2b8d3c67305de21501cd7c43ad4cd9a57459c42e6fdac1e2cb37952703ffdccd18fcb326a2e0c7",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "61482d667be2a2d7bfcbd75b9e8140ea37813ede1fd44eb046f436a4d672784643d0d84b1c82f55f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2053,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000025a0dc389bcdc85d8434b2c615d1092b546d7808978f2d0cd3b3f17f57a2774c883fc5fad79ed32d",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "c586152d7416ca85eb55486ec2914a78a3d99a240d7d2657d54a2c8c1540b349380a151c9669a107",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2054,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000001030432044ddf1b1586c51deec0306d02d88e54bc2a2dc6c7e65895891633f866addb9de1ad32a8bc",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "c11b2dca6672802c8528af2c84b1a04e59c9a22bb271bd6d7568092babd2f23efc063ab248a2717d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2055,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff65f89731c0263d13aaa8ca7b3dadea10c46d7243883d7cab726d463b254df6ef728b52d8bbfb06ee",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "aa2e1ba6b508026b967ab355b99318bc394fc0d3cfabbb246804ddb5f913e6ef6bc0a228311bedcc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2056,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000000138c04477f42d165e4d474248d091ad74220de2021d0ca8f9f7295c7cc19c787f94ec33a2e4d51ee",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "5397c3d5663f5fcc4705eceba8255e89cea1747ad0d08d40b7a1aee01193b5df9593f8013c5dfb96",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2057,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04f2455cdb035b0cd4422a3ca06bb19bf018d1a5cb84eb12446d47f7f7a16c035c70951b4b6bad7b",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "20c790cf41723c9d5757b1eec1ff88ef16cbb632879cdce47fcb583262a7a6775c4486df301df5f5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2058,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "3",
+          "shared" : "a3e86777a4263b4656733a65bf322d397199cda903588fc3754cb0e27901f5e29f115b511b94c831",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2059,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "93cd465d332e25bbec7b195b37f7e3a126f1d67cdb946cb9b2c45a36a5c4d7e9171f3d3fded20ef7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2060,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "6cc6520a3d34ec73bdc0648390a8be6736c104a6651c7a35face310fd0bf69b151aecf457ef584da",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2061,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "78b7d04861460cbf141f6d41648742adf459b5f3695ba2449ce76210494ce540069e1536c03100ff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2062,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "8f21e698a1e1bc66acc08adb5b923e4b2a012dfe8145637e702351f161688f0b572c57d4d1b6b4f7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2063,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e88691555b44c59311",
+          "shared" : "151b2e82d009a18b4b7e46df2ad0e30d151d321bd64ef2f1ff6a36781ae448b99ef443ac7d1b09cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2064,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98681555b44c59311",
+          "shared" : "d04a5e44828163fcb66f9e601d933ba2f431cada91256861e36765f6098e234005f48bb039a288ef",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2065,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98689555b44c59311",
+          "shared" : "94023419382fbdcacb99fc0c37b73be771bbcb8b2efdc6dd324f0328e16b755bb27a2ab440ed6c87",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2066,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555a44c59311",
+          "shared" : "aa464b779d451beb21ba7f63b65db0442c52b9ac32f0a2addcd0869c7ebddff479d47461b83225f8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2067,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233",
+          "shared" : "c0038da858441f559a864dcd6c4558437f9ad091a67c3fda69a9e0cb6f446a8b47ae95edc2f4eade",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2068,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3",
+          "shared" : "8258131a80bc9f2b8ba532ef1253ef39dce25e6deb85227c670273521c311dbb9bf1a56dd29107b3",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2069,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3",
+          "shared" : "ae752e75684a9adfc6198e6c1ce9249d26743104e8b0bd0417998c62982622ea2fdf6917413d547c",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2070,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303",
+          "shared" : "37bfbb637fce27ee80b3af326546303e0bd8af01b72f591830a548609055bda489d9a4e6b5e3f43e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2071,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b",
+          "shared" : "854ce9516e73c6cc8d0d6ce3cdf933541a719578712440f02a86829af1398fcab2bb0949c1d63106",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2072,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
+          "shared" : "a3e86777a4263b4656733a65bf322d397199cda903588fc3754cb0e27901f5e29f115b511b94c831",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2073,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044e73d59ec474e679414d0922de22e06d0dad990ba4746c3d026bdea52e7bbeaac928d0ddaab29dfed230dde60fd57d4ef8e935b23cb7d4216b278b17a3f02d70454fa0e45da2054b91b0c4b663ab243d",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f",
+          "shared" : "7dfd07c1cfe70db4772cf9f6bb6b58a10bbc9509e5ce86651d5c395f3544f62d6d8f8109edba441a",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2074,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb28b",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2075,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2076,
+          "comment" : "order = -1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee10229ff2ca1b8dfc943b0481ec387a12dfe1f9a0670305a4970ed5cd2b7d1381179a716796eaaa4bb3a6cef020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2077,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1020100020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2078,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1020101020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2079,
+          "comment" : "order = 410618568360611413177547474029944166748205379750040840301822434183392856467013123528027",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201713082011906072a8648ce3d02013082010c020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022500d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2080,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a60451040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2081,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2082,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201ff035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2083,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020100035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2084,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020102035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2085,
+          "comment" : "cofactor = 1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082019d3082014506072a8648ce3d020130820138020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2086,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201723082011a06072a8648ce3d02013082010d020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2087,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900bfd4cef07c157c860286264eb02a03e4bd57db899dfc714f55bcc71c32b829e7af670ba56e9c05d1305404283ee30b568fbab0f883ccebd46d3f3bb8a2a73513f5eb79da66190eb085ffa9f492f375a97d860eb40428520883949dfdbc42d3ad198640688a6fe13f41349554b49acc31dccd884539816f5eb4ac8fb1f1a604510400000000000000000000000000237bc7178cc16000000000000000000000000000000000000001d54042dd00b5c5ebcbab5d16bfe9013cc20d177a3491ba0fd60ab4d1eafcb56a97a71827d8589de6c0022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000400000000000000000000000000237bc7178cc16000000000000000000000000000000000000001d54042dd00b5c5ebcbab5d16bfe9013cc20d177a3491ba0fd60ab4d1eafcb56a97a71827d8589de6c0",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2088,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2089,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2090,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2091,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082014c3081f506072a8648ce3d02013081e9020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27302d04010004281c77c2abfaacfed15441047a89c6d600bb9a3c8aa864067cd4281901a411872412960f59881b9f010451044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101035200044c666c637a771b09bc9c83edc96a6e78840b0a43fbb42b1b363bfd28d2a22a11889dd1b9db24386a22e44d181b8587700a405e083e4fbee3d441a5496a7a481f572d062d29fd2d4665adc843a1ebb289",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2092,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP320r1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e273054042820f26161313feda316c4131e526d132bee8f38cd07e3b3b839dac6fea18cd3c9ec8c48c00bf035880428793511e0ef63202cb76d666194d9c34e28e7c95412b81befe620349196970e586e368a3695e21998045104312762cdc834656043c606fd3222e750c03168699abea6d2fed5dcb88834806466be38f0636d7673ca4a286ad30ac48071cb27e813375e76bbcf6fa4d460833a60c4446a38d0c990c8e08c6362f54d1e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5931102010103520004312762cdc834656043c606fd3222e750c03168699abea6d2fed5dcb88834806466be38f0636d767309141eb563b18b376f715076beca81ef3dc0600222938ab4eece75823fc3229833f3864e8ebde109",
+          "private" : "63c73ba272722eb5c4ec1f8c0e8b98e3c0d6ae3547a13a1d7614d44ef1d6d14d8822b3f7dd6109c4",
+          "shared" : "4f29ff49359bd65f86dde2fdcdee484544b989c6b85c8489076cbf187c57145effbe48e30c1cd762",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2093,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004cbbced7d0d8fb5d17ed00a047fb60933d1716b5f120ca68abd92edc2eb4b22a1f8d0410966791ba8fc7a7558a3b220038d84088abbe19728",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2094,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b479d6c21efe1412dd59f04404ea05a8cd7fd74c41c4d2c1535bded83afb32b92c6105ac9ff9786bb20dce846922e69218ea79a89d73573add154272385ffe2b",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2095,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004788d64af48129627a1b87b999bc87c3a633321f6047f071587395dd7690fdd0b85c535c2d5ae157bf1a213b1ba452b38af8087cd933f3effa32c546948a7b79c9801399f5a5c7aeaedd6a8ba1355bb12152f01f060a9cfd32da747edd316417b",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2096,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000400f3f8effa60bcf759f795e0fe77c6e5aa1014b78e92957f9de9ba5b4e7cb99c163c80db96cb28472d721d8f6f39aa738ffe55c7bbb78c54a8e465fc7c548353968700e2b278cb0688cbdae017de7bd98a73d04434058978a5bad558f20120cc230080762b717f5a9d17c1bb11ec6e80fec81f4775784ec9d17aa7e5b119dbec02233e92",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2097,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a0342000486b290e29307ff43b3c81a48720c0e89a478b06d8c811b10c7ff3654aa33105244c37378866ef4920ef6099b596e95449788df3a2a8452ba922ba99e69346f54",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2098,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000459b150d0645424cf928844d1bbd532d8a8195960332da50cf9aa186480ffb0b58b64c4bd198525183852d127aa3742fe96df49bec7585aa4",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2099,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000489021ce82845fcefd942146ce35cad027ade8f821ddfad0ea831d1f6fe6980e60be917f848a4e7dbd3dea6035bbfa41d115fba98797862cbebf8087b7647fe89",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2100,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000437f59347ed0c8de4e888171eed280944742e5cd4246017c657a4daf94436f38f10a3076eac990493ea5ff93234662d9c3f7747a2fb2e14fb72bdc74d5d588cbacc0241cd7ac19fd8eead50526974e6ad56ac471cf7c21667b92ded8d714c79f6",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2101,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004a59f99993f8e3706eb6e104b638e8511c5b08e82344a6538528df723eb38ffe58c70197c8e88371f1d0c550e3bbbfe125c1123d5d0900c8164f9b19dc66fb34f45869a8aac9294587c6bfa261f401883a1844e71b83268e916ed6397c7df9542991437b705ac561cdcd0886409919b69cb12d36399df71e8e2414f1ff17111fb",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2102,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000471f4543326fb3cb36fe6471712c30b1e81e5d717bd1f2bf7136793728cba811d4bfdfa99dd5731911ee78d7010f6bc9e71a423d8d6823ec9",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2103,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040b2ad117bdc9c839820852ff829d60cb51a6a10f0a72061ca27eead92113b1d98b98919105efdd2376669e8e8361571d3db8736777690a263f04dd2605a65225",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2104,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200042ddfda6a53e3aa3133a04c2ed9a3c36d3f390710ae781e2975c83701ea352f007b4f7a976ba322419d20d75300cdcf190a58942f9aab229a3dbfee185c3adb6ce9a4907b90cac0fa649c22cc2e17d48f",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2105,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041768d368f882df7083b3d53987ba94d8720cbbc443e12700df5eb044d2f5621e8223a3ee3bd71b34f32e3afb5404e85a51cc7eaa1569ae4c555200a1b2df9c4adcdd6ec3d3de9abadf022da337b6f8873bb415e959e57b029850cdbbb38ab417",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2106,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200045ab89b3df599c3c1f1fbe4c15c0aac1ea95dd83f60623c2aaec3b9c31ba68d1f5a637758a7b8631d720f71d756a72c141e41afd508bf7ebcf9b6d1d4764768a66ffd7dd1d605daea2ba841d0a9106a22f1a630f272f906116c27fe3c3ff729d8516aaf0c3555e352ab69dc64f36e2d6320696b366bf0d07aac51ff9db3a480ec",
+          "private" : "70d5b65d90e6ab58a91b5a75073a347d0863cfc8a96e7db78e098dfb50c4262f401af3c36c43c719",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2107,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a000227f2f8f1cbc7ee440c167d52782f509b980e1da034c259f079fff653301ae28a88511e501836a7d6",
+          "private" : "0cdeaa01757954bf813fafec8356923518e410cc8778d88eac1a07f90b7fb4d20db28670e178b941c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2108,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0002cd873725ad5a0cb428ee170bbea7609f8e156a73c4ab18fd32bab9e41af3d36eaa5313a81f74e845",
+          "private" : "0b58eeb16a7f22f4562161ed8ea68ac86322d3db6e5d4fec50aae16d01129bf8c4d7530ff4d94a137",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2109,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a00033fef766ef618b774a78e4d81e16e5a9afea06500eb0e366377d839bffceeed1c74e6caecdc9fbb21",
+          "private" : "0bdbee13a7eac096b33fe43b8adc4c0e5bab438faa6333570ffdeb05d2b3e95961f9d591f36882027",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2110,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a00023fef766ef618b774a78e4d81e16e5a9afea06500eb0e366377d839bffceeed1c74e6caecdc9fbb21",
+          "private" : "0bdbee13a7eac096b33fe43b8adc4c0e5bab438faa6333570ffdeb05d2b3e95961f9d591f36882028",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2111,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320r1",
+          "public" : "3042301406072a8648ce3d020106092b2403030208010109032a0003cd873725ad5a0cb428ee170bbea7609f8e156a73c4ab18fd32bab9e41af3d36eaa5313a81f74e845",
+          "private" : "0b58eeb16a7f22f4562161ed8ea68ac86322d3db6e5d4fec50aae16d01129bf8c4d7530ff4d94a136",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2112,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "30816a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2113,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b30811406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2114,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b30150681072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2115,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301506072a8648ce3d02010681092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2116,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301406072a8648ce3d020106092b24030302080101090381520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2117,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "3082006a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2118,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3082001406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2119,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016068200072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2120,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201068200092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2121,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b2403030208010109038200520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2122,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2123,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2124,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301506072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2125,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301306072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2126,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406082a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2127,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406062a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2128,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d0201060a2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2129,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106082b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2130,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903530004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2131,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903510004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2132,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3085010000006a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2133,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3085010000001406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2134,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3019068501000000072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2135,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301906072a8648ce3d0201068501000000092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2136,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301406072a8648ce3d020106092b2403030208010109038501000000520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2137,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "308901000000000000006a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2138,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073308901000000000000001406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2139,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06890100000000000000072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2140,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06072a8648ce3d020106890100000000000000092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2141,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301406072a8648ce3d020106092b240303020801010903890100000000000000520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2142,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2143,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e30847fffffff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2144,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301806847fffffff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2145,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301806072a8648ce3d020106847fffffff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2146,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301406072a8648ce3d020106092b240303020801010903847fffffff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2147,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2148,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e3084ffffffff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2149,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e30180684ffffffff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2150,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301806072a8648ce3d02010684ffffffff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2151,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301406072a8648ce3d020106092b24030302080101090384ffffffff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2152,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2153,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3085ffffffffff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2154,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f30190685ffffffffff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2155,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301906072a8648ce3d02010685ffffffffff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2156,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301406072a8648ce3d020106092b24030302080101090385ffffffffff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2157,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2158,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "30723088ffffffffffffffff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2159,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2160,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2161,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301406072a8648ce3d020106092b24030302080101090388ffffffffffffffff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2162,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2163,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a30ff06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2164,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406ff2a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2165,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106ff2b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2166,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903ff0004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2167,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2168,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a308006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2169,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406802a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2170,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106802b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2171,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903800004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2172,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2173,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "305403520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2174,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "30",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2175,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "30553003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2176,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2177,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d020106092b2403030208010109000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2178,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c0000301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2179,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016000006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2180,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2181,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b2403030208010109000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2182,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90500",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2183,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d020106092b2403030208010109050003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2184,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f498177306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2185,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e2500306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2186,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90004deadbeef",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2187,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3019498177301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2188,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e30182500301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2189,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "30723016301406072a8648ce3d020106092b24030302080101090004deadbeef03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2190,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f3019260c49817706072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2191,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e3018260b250006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2192,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c260906072a8648ce3d02010004deadbeef06092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2193,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301906072a8648ce3d0201260e49817706092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2194,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301806072a8648ce3d0201260d250006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2195,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c06072a8648ce3d0201260b06092b24030302080101090004deadbeef03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2196,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306f301406072a8648ce3d020106092b2403030208010109235749817703520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2197,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301406072a8648ce3d020106092b24030302080101092356250003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2198,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301406072a8648ce3d020106092b2403030208010109235403520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90004deadbeef",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2199,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072aa00bb00cd00306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2200,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070aa02aabb306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2201,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301caa00bb00cd00301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2202,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070301aaa02aabb301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2203,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2204,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070301a260daa02aabb06072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2205,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2206,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070301a06072a8648ce3d0201260faa02aabb06092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2207,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3072301406072a8648ce3d020106092b2403030208010109235aaa00bb00cd0003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2208,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070301406072a8648ce3d020106092b24030302080101092358aa02aabb03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2209,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3081",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2210,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056308103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2211,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "0500",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2212,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056050003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2213,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "2e6a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2214,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "2f6a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2215,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "316a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2216,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "326a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2217,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "ff6a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2218,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a2e1406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2219,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a2f1406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2220,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a311406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2221,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a321406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2222,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306aff1406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2223,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2224,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3056300003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2225,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadb",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2226,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "30691406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2227,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306072a8648ce3d020106092b2403030208010103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2228,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "30693013072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2229,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2230,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c308006072a8648ce3d020106092b2403030208010109000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2231,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc900",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2232,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b308006072a8648ce3d020106092b24030302080101090003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2233,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc905000000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2234,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e308006072a8648ce3d020106092b24030302080101090500000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2235,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9060811220000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2236,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070308006072a8648ce3d020106092b240303020801010906081122000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2237,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000fe02beef",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2238,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP320r1",
+          "public" : "3070308006072a8648ce3d020106092b24030302080101090000fe02beef03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2239,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP320r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90002beef",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2240,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e308006072a8648ce3d020106092b24030302080101090002beef03520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2241,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3000301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2242,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016300006072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2243,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc93000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2244,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d020106092b2403030208010109300003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2245,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2246,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2247,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3016301406072a8648ce3d020106092b2403030208010109",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2248,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "305f300906072a8648ce3d020103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2249,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3081be301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2250,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP320r1",
+          "public" : "3075301f06072a8648ce3d020106092b240303020801010906092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2251,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3061300b06092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2252,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "3062300c0606092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2253,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "3060300a06072a8648ce3d02010603520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2254,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606092a8648ce3d0201000006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2255,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201060b2b2403030208010109000003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2256,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c3016060900002a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2257,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201060b00002b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2258,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201000006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2259,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606092a8648ce3d0201050006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2260,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301606072a8648ce3d0201060b2b2403030208010109050003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2261,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3063300d068106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2262,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3061300b06072a8648ce3d0201068103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2263,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "3063300d050006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2264,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "3061300b06072a8648ce3d0201050003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2265,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301404072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2266,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301405072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2267,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301407072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2268,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301408072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2269,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a3014ff072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2270,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020104092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2271,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020105092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2272,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020107092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2273,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020108092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2274,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d0201ff092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2275,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3063300d060006092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2276,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3061300b06072a8648ce3d0201060003520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2277,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a30140607288648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2278,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d0201060929240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2279,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d028106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2280,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801018903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2281,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306062a8648ce3d0206092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2282,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306068648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2283,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306072a8648ce3d020106082b2403030208010103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2284,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301306072a8648ce3d02010608240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2285,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306d3017060a3262306530333032316106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2286,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3075301f061236303836343830313635303330343032303106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2287,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301506072a8648ce3d0201060a3262306530333032316103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2288,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06072a8648ce3d0201061236303836343830313635303330343032303103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2289,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06103261383634386365336430323031303106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2290,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "3075301f06072a8648ce3d02010614326232343033303330323038303130313039303103520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2291,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3071301b060e326138363438636533643032313106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2292,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3079302306163261383634386365336430323838383038303830303106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2293,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3073301d06072a8648ce3d0201061232623234303330333032303830313031313903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2294,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320r1",
+          "public" : "307b302506072a8648ce3d0201061a326232343033303330323038303130313838383038303830303903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2295,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "308183302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2296,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP320r1",
+          "public" : "308185302f06072a8648ce3d0201062432623234303330333032303830313031383238303830383038303830383038303830303903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2297,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3074301e0611326138363438636533643032303165303306092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2298,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301506082a808648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2299,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320r1",
+          "public" : "3076302006072a8648ce3d0201061532623234303330333032303830313031303965303303520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2300,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320r1",
+          "public" : "306b301506072a8648ce3d0201060a2b80240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2301,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP320r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010903",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2302,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903540004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90000",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2303,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b2403030208010109035400000004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2304,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010903540004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc90500",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2305,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101090381",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2306,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP320r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101090500",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2307,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010901520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2308,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010902520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2309,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010904520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2310,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010905520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2311,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109ff520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2312,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101090300",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2313,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520204ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2314,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadb49",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2315,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010903510004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadb",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2316,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3069301406072a8648ce3d020106092b2403030208010109035104ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2317,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520104ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2318,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP320r1",
+          "public" : "306e301406072a8648ce3d020106092b240303020801010903562004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc901020304",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2319,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP320r1",
+          "public" : "3019301406072a8648ce3d020106092b2403030208010109030103",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2320,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP320r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903528004ac311df3fe43c502239aad07f7db6a5ec622612069c225a626ed934f3e2b8be01b1153f2b30093b699fcbf3fd40498d79e3d43662c4971e5ffd7a5dae20393aead656246f11447920dcbdb8350fadbc9",
+          "private" : "0f1ba6ba3785be0466f050c17d4c935acd4694ed1d283c8df7a2cfb00f2e92d159213a5d5e5e25d2",
+          "shared" : "50e75ce38235c8052e159fb31421a486c9435207e36ac68da9e0ebf0df0b94aafdd57b25c6ee2fdf",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP384r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 2321,
+          "comment" : "normal case",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000470ffb350173256eb437b140365842397ebaf3611b6389596c1f17c5ff5ce5201f24f6985b8fe0890dcae54b2603dfb4087242aaf7b2d95b3199bfa03e8fce54ef680b57109847274db3b3a65512b7f832248e70b1030e95db6429589775c3346",
+          "private" : "24ddf0fbb41c28365d302dd9d26ff9c32c76c85fa8b9138a3ec621d0caff6de8a724b45d6fe0d9180044242b9f41c84b",
+          "shared" : "22522760edc39280ff3277b121e17e7539165e7c677a65c8d0dc8159111f8e5d3df7035fe8ce33ac0a0e047ed0842a92",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2322,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000270ffb350173256eb437b140365842397ebaf3611b6389596c1f17c5ff5ce5201f24f6985b8fe0890dcae54b2603dfb40",
+          "private" : "24ddf0fbb41c28365d302dd9d26ff9c32c76c85fa8b9138a3ec621d0caff6de8a724b45d6fe0d9180044242b9f41c84b",
+          "shared" : "22522760edc39280ff3277b121e17e7539165e7c677a65c8d0dc8159111f8e5d3df7035fe8ce33ac0a0e047ed0842a92",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2323,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000456b0e00539a304e1dcaef00d90e1e851002c5cbb2e7a0cdde34700f242d52d607cd48498fe7668eeffadcf2418ea898e57677fe6703911e5de7c45f3e03eb179e3248008eff9f5ad5860c74d58a45b291c23bf8d5be285ec6e9fd67ece9b6692",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2324,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000427a570916684cea784b27082b31dcb149b40c9a0513794db6cc4951858d8b2d2a30c5bf09d590b2f17e5c1406e96e1cb047dba720e25f5729903e7164b2c73907db148bcf8aff649aa80715b067d88ce1bd2f380b55705cfc368d5a515bf6f91",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2325,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004279ffd6f54fe3847d3464b645a6f4243c49169b3494c61e20a0457ce93d6aa8535de70b5ca78fd7eff05fece3ac253c563e753d531fb070facb68418900016d66e1687e2daf8eb4b63b749a4283838694d3deeac3e79b9706e856fb7358fa0a2",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2326,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047908c8d895ed9ef9a902951a3a45383d24d57e3beb47f84c58636abd646b905087b2a06e130428f59007866a2a638abd4af08091e7589dcfbe7e638f10b430a89ea26ad930019a227040ca43aa4d08651b7c0904c51a32f8d214b2f0f434e85d",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2327,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004402f58faf15b56dc448bb6eb752502d03783d7beccc3afdb5c44c0e305765109c95227e9d7e2e9c52177de0ed2f95baa062e400bfae4744a061199b3358030194e7f28d3ba748ff0260b1fee5d0844f8ce446dac263a54be950d389e0341b575",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2328,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048c583d0413b24eaac4ec484348a3eb7059e37e8575dc2657ef2c0a1b03d320ee3638307022197eb40cfaa6c2465e7b272f027afad18da3d144091569110324707a8499902d327f97e3295feeb2752c0a6946dedf08e977d830c8e135f9ecc0bc",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2329,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004349c8a1b4e986d3f814a0b14ebc416e58eb60c697af889d9eac3927e53791b589d1068b55902605c675ffbc1f11cefe576a8a077f4e5676b07a2e701adbdd15f78a3c04d365e654055ee88c4d007a97f5e6674e64750482c9dedcd24ae263e50",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2330,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004572ed47e9ee31d2b2181f5c5562852c7f8ff7050f87dc688a64bc1ba0bf280fe55118f8f8c7f9c0db1e512680876e7ae87ddb0174be3d71ce5bda9cc024d04c8a82c002491b83415043bfbb1b372fbfaca27e0fbe9768fec5ec67c5fd7544817",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2331,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200044ef2b05bf70e827c1fe64eddcc04cf1a416c032d155d3946bff2270701fece2ec1ae9725912cc4ed9a97f52b10a98ac12ae6e94bab916c5763812435f25a74be83aea508f537f9f8d67fe66f0e30ed3fc96ccba75d6ff46221816d8fca2b484c",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2332,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048c4ce75c1fb23e253d0fb0a1be67dde4b45a4e6763ae0794b5d24a37209b25ac2e95208ba397bdb01b459a11fc4cd89c07f43a664ea0fca116b66124a4fadc0b341cc3d7ec2da14bd5589642016f1076762a535145b6cda3f8bbce24c0ed9637",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2333,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000470c6e0dceaf63c5b92c45b5f33f9ff049584b0b41ec1c476e50651d5ec56069490db561d97b1a2c2bebcb7b43c8001eb52b9feddb992f69e9e566ccabb69352cea294e1d2683d7046b9858569ab73576f2b42f11ad19cb41a96ea3d595fd0114",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2334,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000471613b39cc9cad25b5c677dcf071de6308411a0f2c1066de803bfb68c5bff55c26e32afad0aacdbbc32af5dc5ff71b7e24684b4f59f7e82053d5c2eca45e1963d594cffe2829460659397e3e978b304daf785e81f1566bce2cadc49fdecaf37b",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2335,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000144e54365091651eebe3aa1e13a14ec2c0dd1b1ad3778f69d586d078d7554c116a71e422add51cea477ce154ce873940e",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "55b4e89b8ca6cd3991c3578f8a970489d5fb1bd7b979cbfdadd1864b281afa73792c6e7baf938053fbaceeddaa5325f4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2336,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0b8ce84c25219c7e4ff37a3728fbcdea683c45b156f4158423314fa879e9d49a02e1ec2e305d7f2f01162d2c60e2ad06",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "043edade91d4030be3409d8c989cf3aa79fb09efeb16877b18558dcaf46c1d2f7369f8583ca8350003e3836554af3ae2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2337,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff3e528e604dc03d7c658e1f5c4102e1d31ddeffafcc2f7d7a4816cec497a09a851f40ad616693013038c007697996de61",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "795ef5cc47dfbd544e1692809d7c853d8afa104d7d4438ede53bea15f6c60d23621e0ae248ea2a6c4e3a919e455c00a4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2338,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000200680b002d9adf1e053dbf04addddf8c58de920543e0614c976446db34269d5e218c121704a0acf35d776d0a14e294d",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "606dc06dcd00830bd42804dc43cb94ee78c1a5a35996ca4b49fb725433bd072e4b04e1c052d7340542cd08f1dbd79f31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2339,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800204f1799aada7abdde3280f9638becb240be60123c91ad14cf1f7d77e83330519a68a9dd61a8d639e12a41ab930bc278b",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "82a6b7b9740a9e61a5f5d977dfcc655047eb415cbb98935fc24086b63fbc980b750eaecb5232ee97f770d1ede51ed81d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2340,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff2b8c710e160b3fdacffca46bc22b0b7b58349ab2a4183931fdf9e0504685db3c40aa853607fbac52b3563e7c74516d61",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "714b4efbc12fe0460fd296c9868feac501d00b0536aa9269806208ba7fbd4f73ed0a26c89a0854e670e01db8088c3f6a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2341,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff3e3943f5e92e4bff7f85ac915bdcc0865c97d0cce26f054df1b29c283a8f8e43d964b528dbcd88768b342995ff517f07",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "43da556c9e9e29940253310d94ca5707ca84a04e2cab890ca49f391747c5be283f0f4593247bce6f0027c2e2dfda8d30",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2342,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4214f53b46996183016065c615037a34f8bd346848d13c870e6f74a26e3cee631d4d689244a615983f6f8b9a4880f508",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "30229a314aa8ed9ceb2a9c3577558f6a9bd857747cb60a59815d2055bede53a570b461861229d832cf08642e9078d6ed",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2343,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000003c1234be1022b89c3a64f04102658fb8c319b6932edbce6b78b05f86841ede7eeccc2d091ed867c252f59a773c271e8f",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "2ccef9ba30b16e50663bb4e4006de04d5d687eb6f42d3dd821c8fcb2f57d67cf864c345fdf2de1fdc55fa486a16629f5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2344,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0587ff6f77b0abaf253ee363581e52b9aa55b50a59e2238414827e05c83861fd12356be4547b23443912acf07a02edc4",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "70382433ca7683741ba836dfb5983d3c80760bb7a985499d27ac7c715f8b7618877f651f8ff8d1bd7c1b1206f93754ac",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2345,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff21510cae0c660490014dd608337b3f3afcd97aaa7d792e186375f12a7a1fca38126ec420034bd12da0cd051d2255f922",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "5bc26ebe1fdba661bd3125e2c681f591db5bfc63ca27e6ad49dd4f42e49561949046395c7b0fcb3e975689cc602dfbea",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2346,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000012134018a6f7bb075ef67617abafd66a22ed8b5146408aa52fc17cf52510b85f08b73acd0b4301e9967b3cc20b914f805",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "170a1a6e3092ff8747b29d724bf794a839f2c06f3a71c323323f10cc48fadc5562101171f4f7a9e41638013c07a4fcc3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2347,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "3",
+          "shared" : "1a136db83c88ec1a705db70c310e685164acf6890c5628fb4004520739a30a015557d3d0fa8652d26af3621d8cfac529",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2348,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "4518e59c3325de9ff9ba5176cce02c2fdc5d47c4d71d7bc7f3ce1a860131f39a00b1c9806fe92feea4e15b505dbfa7ce",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2349,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "032ce3f060545bf89e05ef6cc03f04fdaf66ad01a93cc287675e2adcd6044eca1da4108d91e4c22df276d9ad7dc23548",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2350,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "5bf3778bd7335db843dcbf4fae46f184b18d95fce6afde98b47f62c89f61ee64bef7f7b273e4b391471d2c33e46bda32",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2351,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "2d5751d28414a73a5e2049ac38c01cbdb592e90ad4f1f2168c9ade2b8ca336bc965ee7b8cdd63207b3a8768c81fdae6d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2352,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc30f3b883202e9046565",
+          "shared" : "1ca753eb1a6f3a735f459a26c11c1c6f523d40918a41b1193b9342e0cd81c40a625c4c9cbb4d875b55db498b370b7b22",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2353,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b783202e9046565",
+          "shared" : "4be8f16ae1ff3cdb120f32c08e0a1c2c178e2dd7d9beba9fd17bab1994b44e2107aa248da4a18d45612891bd8a599b55",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2354,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b803202e9046565",
+          "shared" : "7b9679e9ef47700a484d65637a03834a2fa8557dafe5f470e4747bf5ac308ec53b16f83789ee63abd0ae7078422440a8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2355,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883201e9046565",
+          "shared" : "678fe10e74bcb45acc0146334418c1ff7512815f05146cccc147a73324de04c58cb87cbb00735cdc2695e7603998a0c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2356,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f",
+          "shared" : "3729bcd215b41c658b832686c81362b3485d75b09478c6dde3b5e278564ef4162bdd6ff65afc6e8213bba9b6c54ba1eb",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2357,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f",
+          "shared" : "12ba4622daf1f2f950aad6d54aaab821885a47a98573afea49bc1896041ee9501acef82810f3755ff284e16665bd0f62",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2358,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f",
+          "shared" : "7fb5398519857f2c17cddd0a9d2c1660ac35b4723e4a049ba5c58c458b742dfa813a5c7175e1c0974b514bfaeb0039f8",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2359,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
+          "shared" : "1a136db83c88ec1a705db70c310e685164acf6890c5628fb4004520739a30a015557d3d0fa8652d26af3621d8cfac529",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2360,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000409d897b6d1452a2f91c4c37fbb06d82f9ebf722298cafb135e582cded3e3210033e4cd07703c34acf36ba72b401c30bf03b161af6e11309a1122145c431996047a7e7808cf8314b6ec37c61a817d08c7d00c8c7b5d258f2674378c832f682edf",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563",
+          "shared" : "0f0a1d20ba6a7b2c48154b43870be4890979d9261950736de96c29f371233b1ef94a79c2ab698868f00cea7e912deb94",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2361,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3ca",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2362,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2363,
+          "comment" : "order = -21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231ff7346e17d5cc792d7f0a29081af19be20ead08ef612aba94ce0e9919353fbda5830c5495094803cefc477cdfd16fb9a9b020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2364,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315020100020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2365,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315020101020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2366,
+          "comment" : "order = 5042941954480324912133914614639385831494842746066313376667826733277554507683616955290244686736004252971522",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315022d008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2367,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2368,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53170231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2369,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201ff036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2370,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020100036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2371,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020102036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2372,
+          "comment" : "cofactor = 21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2373,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c110461041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c53150231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2374,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d010102310086794027ec8b4fb52f3941d2981a6badcd5cba8307663d051fa6101f193ed726450df412ccfc38b593cc92eab76cfa4b306404307bc382c63d8c150c3c72080ace05afa0c2bea28e4fb22787139165efba91f90f8aa5814a503ad4eb04a8c7dd22ce2826043004a8c7dd22ce28268b39b55416f0447c2fb77de107dcd2a62e880ea53eeb62d57cb4390295dbc9943ab78696fa504c1104610400000000000000000000000000000000abc978d6d096000000000000000000000000000000000000000000000000007a1da7cd48cc78aa2aee262add59969c80d1d577d80c7a670aca818562da8fdda841f80ce27ba0138ddc986e41b23bb2420231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201010362000400000000000000000000000000000000abc978d6d096000000000000000000000000000000000000000000000000007a1da7cd48cc78aa2aee262add59969c80d1d577d80c7a670aca818562da8fdda841f80ce27ba0138ddc986e41b23bb242",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2375,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2376,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2377,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2378,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53303504010004306e2a04dd503c3e87cb98a8d5425f32579b0a5a9ad12ec3e33249c1692619d0c661f539c8c86210ea713d8f1538c64f600461042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c80231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200042baab78f3133b6232af760862a262691b0a13e2f8233acb4c12d0dd27fcb233ef1af756c1a5cd44d91f70e40d541466b50c92527423b71b5940881e0671e9f925f05b3d32c73d6d9067dc7585622c354dca036d5c3f5d8e3ee9eb67febd1f3c8",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2379,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP384r1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec533064043051504030352b5487920a605962b27c731c3e513a7d5ab0a214f61acaeab40032d699254d5536dc976000dd3b0ca25b610430842c40e7465e00d509978d3d7a32d934db3cabfa7d3f921d371a5e845fed415ee91e6332126d9f3dd1c2aa764dfbe250046104851cbeac112bad741078858c31b3f61b49a9adddc371c4a91eb72cd3ced71ea686a21939f28e1a07d7940b02064039b0044b0d27dc94c1bb86e8559bc37ab9d91df17bffc5717a19e134f63b99acbaef7eebb031da93657ba201d6da3838826e0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010103620004851cbeac112bad741078858c31b3f61b49a9adddc371c4a91eb72cd3ced71ea686a21939f28e1a07d7940b02064039b0886e115ac6a3ab6c887519e28d6b8805f73df50a27e2dc9a317ce3dde60a56342de7f6f7b589b4f5e5452938f8cf69e5",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2380,
+          "comment" : "public key on isomorphic curve brainpoolP384t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200046a2aac186356f68786c8ca5be5e56c951d2992561bbd094d6796730ff67b33249a93a53455f8291e112199a10fa7fd2d8c4b85d644688724dfd1726f1e368455e5eb300f479a2ffc556c53bce3ee3b7d522db81303ea97ff13f6e7f2812b1ebb",
+          "private" : "0868ed4ed8c88e8ee4ce28486110e7fd31a392d0991df9153a5af624d6c3ff25bdce1ecc472c9cd1cd2fc8e40afbfa0cd",
+          "shared" : "0436546a2e9bb71b70de8cd53dde90336ba92b6c9811c0dff3137b2bc06bde98ce2db705a9fd1bd4d62c2ce4b58ee5f8",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2381,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00041d8d7078f45444e91bca0c6cc778f1fe321d1ab171bb011aac8edfefea7d996a11d1bdfb073924f453148c38c6de594981b4d8bfe33c27af",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2382,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044e00275706e6ca58a0a7bc864b67df419408a9d8f5ade6527a1c50238891bc68617d1e8777d528e7561a1c1ed6ed2caf8e103858e76e391b42957d8287adb06f",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2383,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000459e0d3a39a0251cc1bcde05e330e6ee8a24a2175b85f67eec54d2f4c82d9655013bd53d4b4aaf537749e623c194979504e6abba9547065ce759e95282edd690c569ddbdae460b607510715ba17dc4323144d9492d65d0c0fc1a93fc92b34af08",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2384,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040089e14bf28c88676902c1191f0a2ac25e5c71114ded6120b483e93d1d065ab29f8fb895a701862df5a72d922f48ce27ca8b642184e8076ab6b6b032d71a8839cd7901329967bf36ad29a7b6ac74d97c8f47c66e32f9b029964fbca95c992e76c37b6cd45f5dfa2d16f83e3ba6416c54298dbeb0fbf1e663c14cf22a5915d4fcff66b108",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2385,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200045ade136fefe3cdb4461461a47ae7eb366531ae5d7fc1bb994328f2345c151c0dfb46dab78c5ae0570d9032c59268e3603cfdce83c7fd347c5fc79dff10a755a4",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2386,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000474976e5c913333e7c095a8a6b66bd3c78abb0894ce5598fe00761d927cc78f555570a628ed26dbb2105e014ed23a19b12b162a1d19cee785",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2387,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200045b204fcb4b2f92310bc19e8d4951c7884de3962fefbbec16cc1e9758d7ccaa1da8a4f202076b5515e46f36a2c8a513f8e1e18c7e42007e6ad4dff5e0ab0737a5",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2388,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000423a0440fc8d87b1b799f4b91791f3f5175b5b103f5ed4ed352a92f6c2d5fdda8ea07e9a5592afd2f85557310983058b60f777a8b88632f7127a29d4e949a4834f34db5150023d819a2b5fd7a6ba1561f",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2389,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP384r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043d5b219486463a71ff9296216bce6a7b0ab091447f61f96c98739ad6bccb42a9b74b384f07d3755ec54c58c00db9429ea5bc1691362f3c12bfe41f8c4a1d738d1fbdd1e9da8e3c783157052dbaef82b87829db3c90761de50e07910e773ad21b4ec81dee16dbb8bf50d7f64abb3451ecfb985cca4725ad66eb15fcbc28f31310",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2390,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004ca475ba8be87df96495320a6912ed35f3ae5b5a5dbe170a24aac2e6ea7febb3f1088082ec1fd1d4f5a509c7b05793b2d0f17e611e1579407",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2391,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004a91eb1462fbd71d6d4dde4bcfc5a80e53e61ade709b5eb384b6661f0dfa796f91a45b825213d3215b32fac6faf19506887f84fe933066e3e97c906feac9e41b2",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2392,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200046fd0e50e88a56f131daf8f7ec8e2b44ab796d0491f77c7db01e7a9d872dc7c54913ee8ec683efec969820e7ed431dcb1feded773d12f8c1a17d164e9873a69c0592f5df135f16534e69983199c472edf",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2393,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000411144203a5580501cf2229967282251f35cc66ebb978c8c5df821b11e36f95d6bac1c6f97b8e8d026e88cc2a24fec16b43714b10baa062a06712898730548a9a2290a984ef9a85d2eff128901dc0f16bc57231d21de65e42f84e42a409428eeb",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2394,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP384r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041daebcad055304d190eb662059f41e6e1eb11b7b73d69cd72f74c78756d1219498f667f43e6e0a7fe1dc57cb1a4fbbe8a57646924b8ede193f26b49d9db53c9a98ae0b30895690181d71459ab3c1f3b3f1add63a639edcfb549849a953be3f4bc9fa5d75fb889d49a2f25e8de94cfe714987aa2077ba7f2b2c084f05a6272ab7",
+          "private" : "08c3bc658c0b61a0cc1c468e868a4d0d0b2caebf350cc355db9f3b5e16b54db120ec007fbf683f5b0301a81221c9cba1b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2395,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000266b87a19f47d772130855c64f1c1e445b19de6f917bb1c74198ecda924714d8c48e0cbeaa717453408c31c220a677693",
+          "private" : "3c9f970f25e6951b2953dc37f5458d5e11176fb794bb443c677ab6638d008eb35acfe85d09fe70400cd52bb47da13e88",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2396,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003878663e0db7b8f0bf1f6f24f15160f0589da8f8f92ec000a57657321c6e3c4ec845c97536fd10cad1adc6e1341968dd0",
+          "private" : "084a6fb1f3f3c583d09224965f5a96d7fb9b44bfdaa15d02a5cf7c90e321178018a5cdee93f614ead731692e71918dbf3",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2397,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002867e44d486465a25b827992e1de40cd6eaa276abbcaa852db4234bb3c5fa9f1c6956daf846845fe4862c025882878783",
+          "private" : "58c9afa82e35c64357c13f5f2efc4f9cbd0e65f718e70a9c6c77e73bd7f905ab7dffc4c82316a887e1bd625fa4fb715f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2398,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002041849139e191747f15e6b8f92462e731ae0c57c408b1e12ab1bffe434081033780b92b5ac81862263117a0836d180f5",
+          "private" : "0c7b7597b1fc8f4f69b90cb164a4295dd5b8bb3d7fee4588fcee79f2fa62c07c2cc35ac68714389e17c3a4b8e8a07dbf",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2399,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003041849139e191747f15e6b8f92462e731ae0c57c408b1e12ab1bffe434081033780b92b5ac81862263117a0836d180f5",
+          "private" : "0c7b7597b1fc8f4f69b90cb164a4295dd5b8bb3d7fee4588fcee79f2fa62c07c2cc35ac68714389e17c3a4b8e8a07dbe",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2400,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003867e44d486465a25b827992e1de40cd6eaa276abbcaa852db4234bb3c5fa9f1c6956daf846845fe4862c025882878783",
+          "private" : "58c9afa82e35c64357c13f5f2efc4f9cbd0e65f718e70a9c6c77e73bd7f905ab7dffc4c82316a887e1bd625fa4fb715e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2401,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002878663e0db7b8f0bf1f6f24f15160f0589da8f8f92ec000a57657321c6e3c4ec845c97536fd10cad1adc6e1341968dd0",
+          "private" : "084a6fb1f3f3c583d09224965f5a96d7fb9b44bfdaa15d02a5cf7c90e321178018a5cdee93f614ead731692e71918dbf4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2402,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200027d965d604aad48774b0c68abb9febff3cab818ea4890bcb616938556828ab77dea4a0847ad8d61eb43d845c9ec241cbc",
+          "private" : "37fb984a7a821d5a3660a951b19f88b2a95dfc6884e029bc5d99251d9b2d1ff88c57e0f9dab94bd0fa13221a1540ca2d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2403,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000311455b9d356978751548ed9ba361f672c40215fe873e5b27770ece7d60701fbf07e3f95ab38857eb8785de02b69c356c",
+          "private" : "5e7ba1f7812005953291c6e5a7236abf5dcb32addc97fa40d06a6fc7a2a1999a93b1d224ef85e3327d7d2b3f7d909e3e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2404,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200035349860144ee64859a8b0174c95e5f91f357cd38b26d2bafeb49dbd912cd4804f1dc04c0707199e113089f1df253a629",
+          "private" : "6fc580974437283ea60899aa7d4c817ea81d5332a86bd9af5ba2fb0e0c7c41b7a523ccddca46dde61b1809c970f17221",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2405,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320003705965409ec374f74c51ead3609443cef7db7c879c41db0e28e1656e26b236b74b99f950689ffab717d24c8f979f5231",
+          "private" : "0806f6eb807a213930b60443ba0164d22985b70a2034edb59c35639f52d8e4dd93ec589a83ee9000e8813da131f59a46c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2406,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200028af704d3911fa5a7a5f6ce54856465cae4f2eac69c84d2dfb1ae160b8dcd3b577949c97239e2e420896481c76b5a4465",
+          "private" : "2e59b6c0ee75135d8df12b9537d6f00b5281585166a77075858c5e9058a8dbdc4a4b8d7cdb23cda2429e069ad19be3e5",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2407,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200038af704d3911fa5a7a5f6ce54856465cae4f2eac69c84d2dfb1ae160b8dcd3b577949c97239e2e420896481c76b5a4465",
+          "private" : "2e59b6c0ee75135d8df12b9537d6f00b5281585166a77075858c5e9058a8dbdc4a4b8d7cdb23cda2429e069ad19be3e4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2408,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b03320002705965409ec374f74c51ead3609443cef7db7c879c41db0e28e1656e26b236b74b99f950689ffab717d24c8f979f5231",
+          "private" : "0806f6eb807a213930b60443ba0164d22985b70a2034edb59c35639f52d8e4dd93ec589a83ee9000e8813da131f59a46d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2409,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200025349860144ee64859a8b0174c95e5f91f357cd38b26d2bafeb49dbd912cd4804f1dc04c0707199e113089f1df253a629",
+          "private" : "6fc580974437283ea60899aa7d4c817ea81d5332a86bd9af5ba2fb0e0c7c41b7a523ccddca46dde61b1809c970f17222",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2410,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b0332000211455b9d356978751548ed9ba361f672c40215fe873e5b27770ece7d60701fbf07e3f95ab38857eb8785de02b69c356c",
+          "private" : "5e7ba1f7812005953291c6e5a7236abf5dcb32addc97fa40d06a6fc7a2a1999a93b1d224ef85e3327d7d2b3f7d909e3f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2411,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384r1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010b033200037d965d604aad48774b0c68abb9febff3cab818ea4890bcb616938556828ab77dea4a0847ad8d61eb43d845c9ec241cbc",
+          "private" : "37fb984a7a821d5a3660a951b19f88b2a95dfc6884e029bc5d99251d9b2d1ff88c57e0f9dab94bd0fa13221a1540ca2c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2412,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "30817a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2413,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b30811406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2414,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b30150681072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2415,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301506072a8648ce3d02010681092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2416,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301406072a8648ce3d020106092b240303020801010b03816200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2417,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "3082007a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2418,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3082001406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2419,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016068200072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2420,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201068200092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2421,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b0382006200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2422,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2423,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2424,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301506072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2425,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301306072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2426,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406082a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2427,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406062a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2428,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d0201060a2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2429,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106082b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2430,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036300048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2431,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036100048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2432,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "3085010000007a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2433,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3085010000001406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2434,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3019068501000000072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2435,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301906072a8648ce3d0201068501000000092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2436,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010b0385010000006200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2437,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308901000000000000007a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2438,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183308901000000000000001406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2439,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06890100000000000000072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2440,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06072a8648ce3d020106890100000000000000092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2441,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301406072a8648ce3d020106092b240303020801010b038901000000000000006200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2442,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2443,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e30847fffffff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2444,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301806847fffffff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2445,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301806072a8648ce3d020106847fffffff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2446,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010b03847fffffff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2447,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2448,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e3084ffffffff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2449,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e30180684ffffffff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2450,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301806072a8648ce3d02010684ffffffff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2451,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010b0384ffffffff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2452,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2453,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3085ffffffffff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2454,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f30190685ffffffffff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2455,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301906072a8648ce3d02010685ffffffffff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2456,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010b0385ffffffffff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2457,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2458,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "3081823088ffffffffffffffff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2459,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2460,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2461,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010b0388ffffffffffffffff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2462,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2463,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a30ff06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2464,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406ff2a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2465,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106ff2b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2466,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03ff00048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2467,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2468,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a308006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2469,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406802a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2470,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106802b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2471,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b038000048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2472,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2473,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3064036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2474,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "30",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2475,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "306530036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2476,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2477,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010b0000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2478,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c0000301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2479,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016000006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2480,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2481,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b0000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2482,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0500",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2483,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010b0500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2484,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f498177307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2485,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e2500307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2486,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0004deadbeef",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2487,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3019498177301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2488,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e30182500301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2489,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "3081823016301406072a8648ce3d020106092b240303020801010b0004deadbeef036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2490,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f3019260c49817706072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2491,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e3018260b250006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2492,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c260906072a8648ce3d02010004deadbeef06092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2493,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301906072a8648ce3d0201260e49817706092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2494,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301806072a8648ce3d0201260d250006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2495,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c06072a8648ce3d0201260b06092b240303020801010b0004deadbeef036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2496,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010b2367498177036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2497,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010b23662500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2498,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010b2364036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0004deadbeef",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2499,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182aa00bb00cd00307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2500,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180aa02aabb307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2501,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301caa00bb00cd00301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2502,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180301aaa02aabb301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2503,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2504,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180301a260daa02aabb06072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2505,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2506,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180301a06072a8648ce3d0201260faa02aabb06092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2507,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010b236aaa00bb00cd00036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2508,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180301406072a8648ce3d020106092b240303020801010b2368aa02aabb036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2509,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3081",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2510,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "30663081036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2511,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "0500",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2512,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "30660500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2513,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "2e7a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2514,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "2f7a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2515,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "317a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2516,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "327a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2517,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "ff7a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2518,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a2e1406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2519,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a2f1406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2520,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a311406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2521,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a321406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2522,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307aff1406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2523,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2524,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "30663000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2525,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2526,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "30791406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2527,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306072a8648ce3d020106092b24030302080101036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2528,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "30793013072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2529,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2530,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c308006072a8648ce3d020106092b240303020801010b0000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2531,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd00",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2532,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b308006072a8648ce3d020106092b240303020801010b00036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2533,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd05000000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2534,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e308006072a8648ce3d020106092b240303020801010b05000000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2535,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd060811220000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2536,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180308006072a8648ce3d020106092b240303020801010b060811220000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2537,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000fe02beef",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2538,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP384r1",
+          "public" : "308180308006072a8648ce3d020106092b240303020801010b0000fe02beef036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2539,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP384r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0002beef",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2540,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e308006072a8648ce3d020106092b240303020801010b0002beef036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2541,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3000301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2542,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016300006072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2543,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd3000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2544,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010b3000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2545,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2546,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2547,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3016301406072a8648ce3d020106092b240303020801010b",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2548,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "306f300906072a8648ce3d0201036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2549,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "3081de301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2550,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP384r1",
+          "public" : "308185301f06072a8648ce3d020106092b240303020801010b06092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2551,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3071300b06092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2552,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "3072300c0606092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2553,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "3070300a06072a8648ce3d020106036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2554,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606092a8648ce3d0201000006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2555,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201060b2b240303020801010b0000036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2556,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c3016060900002a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2557,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201060b00002b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2558,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201000006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2559,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606092a8648ce3d0201050006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2560,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301606072a8648ce3d0201060b2b240303020801010b0500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2561,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3073300d068106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2562,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3071300b06072a8648ce3d02010681036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2563,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "3073300d050006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2564,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "3071300b06072a8648ce3d02010500036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2565,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301404072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2566,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301405072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2567,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301407072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2568,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301408072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2569,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a3014ff072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2570,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020104092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2571,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020105092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2572,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020107092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2573,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020108092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2574,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d0201ff092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2575,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3073300d060006092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2576,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3071300b06072a8648ce3d02010600036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2577,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a30140607288648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2578,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d0201060929240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2579,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d028106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2580,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801018b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2581,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306062a8648ce3d0206092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2582,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306068648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2583,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306072a8648ce3d020106082b24030302080101036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2584,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301306072a8648ce3d02010608240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2585,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307d3017060a3262306530333032316106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2586,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308185301f061236303836343830313635303330343032303106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2587,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301506072a8648ce3d0201060a32623065303330323161036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2588,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06072a8648ce3d02010612363038363438303136353033303430323031036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2589,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06103261383634386365336430323031303106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2590,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308185301f06072a8648ce3d020106143262323430333033303230383031303130623031036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2591,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308181301b060e326138363438636533643032313106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2592,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308189302306163261383634386365336430323838383038303830303106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2593,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308183301d06072a8648ce3d02010612326232343033303330323038303130313162036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2594,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384r1",
+          "public" : "30818b302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303062036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2595,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308193302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2596,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP384r1",
+          "public" : "308195302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303062036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2597,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308184301e0611326138363438636533643032303165303306092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2598,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301506082a808648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2599,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384r1",
+          "public" : "308186302006072a8648ce3d02010615326232343033303330323038303130313062653033036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2600,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384r1",
+          "public" : "307b301506072a8648ce3d0201060a2b80240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2601,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP384r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010b03",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2602,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036400048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0000",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2603,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b0364000000048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2604,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010b036400048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd0500",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2605,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010b0381",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2606,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP384r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010b0500",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2607,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b016200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2608,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b026200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2609,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b046200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2610,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b056200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2611,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010bff6200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2612,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010b0300",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2613,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036202048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2614,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a43637164d",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2615,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010b036100048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2616,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010b0361048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2617,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036201048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2618,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP384r1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010b036620048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd01020304",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2619,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP384r1",
+          "public" : "3019301406072a8648ce3d020106092b240303020801010b030103",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2620,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP384r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036280048a9d9c6e3556ad8a5e9ae1e38ad4777e1ba27a48cba53e620d50e55dabe5f5ac35780e9babdb17c90c01cb3c7f43341161e784075144730dd206c883680a43940af666207a466c512436e53b5ca7f7713b9d97ed9b1a6cb0a4e559a4363716cd",
+          "private" : "14e38148320c86931a22f99e6bd5dd86d30e3ba937d3745df40d50fafb738125de9bed3384cecc32176924bb585874e6",
+          "shared" : "2767d762b1030a7875c8a08e8c3af126b2a98b46de1af2dca4587269db4cc6eba2a501360c4d5857cd0dcee829068fe4",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP512r1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 2621,
+          "comment" : "normal case",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200048a73a66605a5db252ef418ff2c43969bd4128187ce431c36a33d3ff3034cf8910fb0021ce849723621199d0d7ea4805f3cdab82f6c909257762da2a97e26305b078c1fd791fa957e975e30df5b876054758267129e4974a083372b0ce071180d05e1978bd90b8407c0a7ff7f6651bd3ffcf1a574dfe95a2e8af3866cbb385d21",
+          "private" : "6280eb95405fa8c0e9d970547301bbefb152c8c8114abc730c89bf6db3f7d949fcfd7ebb82fd2dbd43d28d47bf4ed95de97baed19f7d087cf303d2b0cd413767",
+          "shared" : "9690120edf3c583f627774ac2837f792e1049b3768199e3cc68c75cc16f73d4eca828f87880de91e2fbe0671b7066fcc814cb2e190832adae3a6dc7d9d9e71d3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2622,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP512r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010d034200038a73a66605a5db252ef418ff2c43969bd4128187ce431c36a33d3ff3034cf8910fb0021ce849723621199d0d7ea4805f3cdab82f6c909257762da2a97e26305b",
+          "private" : "6280eb95405fa8c0e9d970547301bbefb152c8c8114abc730c89bf6db3f7d949fcfd7ebb82fd2dbd43d28d47bf4ed95de97baed19f7d087cf303d2b0cd413767",
+          "shared" : "9690120edf3c583f627774ac2837f792e1049b3768199e3cc68c75cc16f73d4eca828f87880de91e2fbe0671b7066fcc814cb2e190832adae3a6dc7d9d9e71d3",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2623,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000438a0c765409100f0a831387ba46fbcda63956df0f00e77615b33249e1a73d1310bb22784e09e3faece0bfa6ed5c0fa077c8a62664221ccb596c9efa2aebeb3ea937dacea2ee4fc261e29af0b64ec5b4a8f0fbafe7470d715c1effd463eca68344ea7446a88e5874ebb1a0faab7ec0d36d203bece105a11edadb00e93ab0dd818",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2624,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200045f65b98616109b88fecb4cc1e639e98d2109bd696a14b921a245f265eead9c44eee4d19d162ebb972eecdbbae1c3b5d683e8a2163861267795840e79bd4e08fb25a472717d167587165060003c77f8d3339b908613063e5cd1abf0e20f4172fd3099f8bb96bc26a84137be2f341ed6c1d91c11ef3111b4cf75170d2db59bd790",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2625,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044069f3a94ded3bc37d32cd2cbac29ecb33b3aad195d9ac57965128a5a8a4ec2728db23e85b4213c60db409a77661f60756abe7d9edd7057a12453a19202c54288ba58659b7b37d74a80109fc484efdf9168c2121b7aead8f5fe02d483b51f1f213384189924b63050fcdad57d2c4dbc5c31c4c15e1901b5192708410e160c356",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2626,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000428e7878a20a024121e36339bb0cc67e6e4caacd54e13ede6d7ad4c73385b6125bfefe8f8e1ce95d2d32b956132a91d7c2e09c399ab938228aa16fdd2d748752c0a87e583384d4531d16f5e59debb3691fcdc91e35e9a9a6c4adcd020f3def3931b539cbae2414bdcc4e35688379ffde07a0991730c5783141af7f87fddae070a",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2627,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042830ff4e16150ded7167833c6bdb7daf11de99448f4e60e0c775f46e3a44b85599148f944fb6ebd8609eb2342cc86524e989726ee6b9f0278ffc36804b775e85881aeea838831b2d0a702a887ba5b549b82ce5543857339fee3425368759cad41432129a187dc37e6a28743fd1dda1028fccd9b8f2c0d44f8f9146e48401b898",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2628,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000403d1fa2562f3b6c63a86731c2519956aab599d17003deedfd67b7f3eed749036aae5c0a110e9bc767463093e597e61e3bdc24078286e87e684da1c4a0514b16868da156d1122b47f01f63fad234f09460f8f36f31aca059991751ef7a553365842eae9814c263249c0093c919622a2d4f96b7f591495567888d10d0b1bb80f82",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2629,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000436a0b22506a13c46fb9c8d52d112d904d6d93e260dfdd61f680d322d5ad6dc130d9df448eede20ff73ce94dbc7ca10a89a49f54c76c30e771851f0a41d6d525f18304137d791f223be088138636523bde5c136685ab6bb2bfaeacf9578410b3ba9e26083b80b36a23b7e27ed3070692995e45004d5d4bac4ed409cec36fca2ed",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "3fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2630,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004955069edb4b62dc48e0c41924f9644bf85af1801b21732a64cbfcf7cc3bfec914d0cd8bfc8fb334a94fd3488c44dfce0e5eee324da83cb903b71ed47acdd1365881ede882c978ec541f39f4b29d515ef836c77d04b512cdc45bdff505bffa39d39e2e9e3c4a6566b835c326106c7638e3d07e7dddb3331c5d37d7fdaaedfeb49",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "4000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2631,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046ecd48b171548d97b368a778395b7484ec4c9710963a6fdb107322a936dfcfdeef2c5d1baab81e7da63a3f67a71389b8364aaddca6f65bfbe0d8887f8c5bb716811c8ffeae8cd39e3c6ac2a0d8ab9e511135c2343ab0e0fae8a07fd997926377bbd73c03088209d099cd33609a1707a3eb1ad0abdc68b9b82c659c2e51d2ecd1",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "40007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2632,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004116e13c13ad71c9f8528289553bb71f8feeb05d0b1b21dcad5b9e4c002639dd9d834f80d497eb2af643caeb28f9e82b6dbb1e2cd5a785aff8f144944b6abff188bf286aeba0457ea256e1dca332bbec2d46473519428d298002a518514d9c9eb8f0878f9afe0ff1bb2969449be2a7ebb115f6a753e5edead6d7e01514b718c36",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "7fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2633,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046387f14a6db2ec86d9dcf45618cede486187045a33fec85fe11cabeb93a61242682a939ba6c7821e4da3603a0ffb5e9d4f81ee9662fb3e62d865f10903c69eb55177cc263714f091511842b7715c434b8aad1b32273af574cfff44018ce78ad81e699c4403363ed5c392bd6af7d2c0a907b575893f8ead5ca9fbfb12627fb390",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2634,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004273895ea597fb330f9ef29c61679d57b494aba7a22ef54f8edbac8a8b65ad6f91b44c2a8c5f862f42fadf68b44fc7a086b12e8d4eb7a61d63f77108929f6abf42d69e73c49c1b4d8cba5fd200632391d7b33c686b2003581bc6568eae8d0d7b7fa6c69dc732494a5c16ea7605ff24bb6818a49caab161a4dd53876a646644f4d",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2635,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000001035201526ac9ed34d51282df1a594a553bf6f07a90e3268fca9a9b3a774324b0e3ee55c351748ac18f7301bc560623ae7846f97f576cce3ca81698029c389562",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "1362fefdf9173162cae5e7a029e3774fbef0082c33b5d19959b2a4b5653acc9f615917058196f1c59c29ce054e4c2e5b035be727991e618604562e837a452fb2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2636,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff5106e912f8124a959dfc5ccbb99786d54af877fe539e664aa0362a4d417d1c4ae647ddf40c8c2cc6ac6b0f35164e24a1c64a5f230fc61e2318c9387fc1547c4c",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "60966e750bcc098107e6a66e8f5a0741e7eec2c7e76553df9569fbe0d28afd8cb1ba80a6aa8e7a84be668dc6e23463d08832b89bd092a4ae838fd228436c1415",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2637,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000010000000003c86f4fd8b138ac5509a4174bd4998e1b4d3d49de88d37e38dcaa74f9c42f3e37b7f7be77cf5322514a879984e44b4a3caed566ab6874b1a781292e7ef791a6",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "22694587ddf8e8c67a989ed4c1386f927897a6b9664aa4c939d74a597ec5e662f18a28c0d746a418361ccf95d8d502e0901b9465a6cf8226a4f730f166021a9d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2638,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000003aa5dbaaa057f9987e2e495a2da349f5d30b64499cf505e1a51be9a82db1b75cee639605d98f672c4295507e778b2ce16d229c5fb33da4f5a37c0c97a028fbde",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "4cbf67a6eeed2d8ba1db4f9ae2cffe04f195e4cac0015b694f228efbc4d6396dd21b75ea587426cf043f165aec505535e4b2125cdbf20f56b7e058cf971a6165",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2639,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff3e35ce50921fe7b45a53452690ea8398109e90b0985738e775ee45c5266b1385dc1998956ae6e927a062f99d3729012c14f552dc17267fccdf634d0d3eb3acf1",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "a9cd019aa08a874934c6fc28b0f34982e3d10e3a3a7ac52425c80db1d4705f0c2b733ac54baf1e56cfa6e757a5bc01f54ac39a83d42aa6e8bc5c654a60a7e56f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2640,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000400ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff1b4c363942583811e0bba8ed31540262b8be88f69b9fc4b1292fb68aebae1f9ac961fc40b85b5d09772143066d17c2259a8827691d817992c800c4a5a188e4c9",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "364e65735b2b2353b1b9ddfc4a5e233b30b0dd91e8019905bffacb6d594b32ca79dff593b6269ddc7e80278daaaba341c3c38f0634a1ae286037f1677db0a307",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2641,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2854149062fd692eecc2302747cc08be854c64c4f9abe86c467f161496b19a52bbb5a4da84392573d7e9632a040e9dd737bc9089aedf5b0c15488e9f1b083a7a",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "6b3d87c962321bed12a867180b3dee7d4b31a0692d36e60e73648986742c42b187f96a22088b1539a8ad832cc532adc95470b47e623c65c61ff5da8ceffc100c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2642,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000004b9846887f8752427beb39fbad36f0a0170e3f225a7b0c1fc0528c9ee8f4957fb323faa8a5a329c03c0fe2b8df08209d3ad78f8b161745144b418c4e26f3b276",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "97d1caa3bb77456f5ea8142f85e5e22931b559c81947a0f2c9ce5b23980d9bde1a9f42c24b74e2266dbf265f8a6f949fc22b5d75b93bbb1c32557d9eacf7e279",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2643,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000440007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800009a37114d6a5c9ee64371c57bdd264e1764edda64f449cbd0ee1a72009890267fc1ae7d2ee5ddfbb5b1693bda1a0b5494c862e0ed1df03b702f2f2c206e4c52c",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "7ebb5024c36f9f249f164e6b8fcbbba3ec255d5f8e279765b9869cf97311411c359084fe6b76956efa55c1d608f013423397178617935ea110c936ffb73317be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2644,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff27cd77712e0db1978186e9d6feb6eaa034318fbfbab7fa3342a9e43eeea04c28ddde021916d5fcfe2d1b43743ca1ec2b5288cd553901825e4652cf4cf524bcb4",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "380986a2fbf3d5c6d38ac5ea191f7ef4681f068b475b61bfd909a6c3a30c731c30cfe9ac0e7dda521e574fbb6caf9dc52eb3ebe3106a457f5bda9698d252d827",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2645,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff026c17238034c8372217a8cd9a234ecb7debdec5659b7e3f0c6e70ba226824f56acce025ae65da8b0aebc2efe2ef73dd826cea151b201b2f5b4f7623f2fbe332",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "a502a7d0ee2077a3d4b484b02e2ed2d0d132ebd48c2c7d99f1461e1b4428ce97a317e26ef90462e70436789cbcc27986d644e7950650612d9fa2be50d07ea58f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2646,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f212780ae4d2fad1163e2a513d72ad6e3c2211f8079ccbddeb9b1e956b2ee36173abe84464b0c78dca8db21f6964e9a1398a5a0f6e1e717ddf4eac517032879266",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "7bd3f02e85464163815804eb8f5cdf3cea258b520ef564d813ee4102a39e93f604d1c537bb93ac7b9d0fffcf89177f4586ea690bfe93a9632c645038a47e82f7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2647,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "3",
+          "shared" : "47ed915ca64aac752724aa06b311d171dc14b9c55421ff61c6413b3fc7313ecda03c0addd0d6dbdacd5ea0619054614610d07cd78f9ed4d6df024c781af3efae",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2648,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "781a3bd7f99ae145698783495f1f4aac5189d54657c34f76c8847cd5177d6a08a2c837501351e098ba570a3f300cca47f2407ff9172b2954aef46fdbec8429b7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2649,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "33485176aa26cfd17a66e1da3c3973f468bc32a1528a67f9d33b7ca29bfd6fa536bac3112bb8f2c2ea198f2f7df5a56dda570931b7852b3224c403a1d08f3dc6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2650,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "9c4971c89a22da14abac1304b6228c5d647f8dd8a11b1348c419f430733e849957fb037865efa85f9585ed0ffe8c6ea2c7c39ac8bbeedc84717f8a6be9603f65",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2651,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "58be414307cd761143c49224f30ac475e6b8fdbf43be3f130b71ff8d89af5d3b91342898388d1628f56322d327f5f075ca3a766d94213f8ff67076caa253937d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2652,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddadcb58796829ca90069",
+          "shared" : "2e03302f2944b3bc902e5fe6b7d1ca3991bf9fd80bafa8df4d4e85a98f33d956280ba0078178b54ed1aa03571ffac2d476c7246ab68ebb9434fac564455f39b8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2653,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57796829ca90069",
+          "shared" : "0dcd1e563a94fd8edc83e47ebbc9296d1c27d1aff37b02512c0337ca672ff84ac73a618fa54f2b963182ba141ae596c56f83d0ecb4deb78055cc8ea476d09bfd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2654,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57f96829ca90069",
+          "shared" : "aa9ac6d3343fb7aad7128855a22cb25f6cd9b46ea02f2a15c7cdecdc681f3ca38f1860290971852de94cc68810d41d14607f558e3858394cef8b166abee023a2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2655,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796819ca90069",
+          "shared" : "5f155d9d14680aa5efb4ed59f670f6efc59c15bb03b59b3a2cf1a4a1546b7e35bfd99194cfe72e79216c1daebdcd247e934eab457ca90d4d2c38b64517e0cce0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2656,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b",
+          "shared" : "194871645bbfc309eba92c5613ca7c6aa566fdab45635f656148ec7122d71c825f36852f52722ea949c2572dbb6b894a21f96a05c9bee0df6c6b4faa3197079a",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2657,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b",
+          "shared" : "3a6e57858d4e61c7ed2cb93c124221210293a345b47f7644910543ac03117f48b0343ddebd2cf9925e3dc5e1ea590739ed2c2372e1146f84fd262ac7d8eebacd",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2658,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063",
+          "shared" : "8e0a186a51eae08a86fdd476bcfd961d02be74966ce3c2d937c808db518f2ddc4760bfc924af72f85eb188ebc70edde6d12f402735f58b9006f8b8e283ef9fbe",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2659,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90066",
+          "shared" : "47ed915ca64aac752724aa06b311d171dc14b9c55421ff61c6413b3fc7313ecda03c0addd0d6dbdacd5ea0619054614610d07cd78f9ed4d6df024c781af3efae",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2660,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042ee402777200a1c9e7eceb61feb070af49429f9240d7c0bab9b2f01c5ee145683df47cbe852ff6f99198f6fdfaef1925eb96bd25e03d6d70f709eb1922308acc99a3fbc1e982db7a7b3bbf7827ea70912ee677bb0ba70bfabec38d4b993af165c40727680fe79ad0fbb55d1e9568d978b11f77cc4e72aa7ca5c391034078b8bd",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067",
+          "shared" : "300b1d80d9dc5587076b7d850ccd00cf8961f389c4ded60bf910d98f196f67c3839d2197101607612b335871a818d50d8f4bb6163cc839cf41af0b742c7254f4",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2661,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5695",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2662,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2663,
+          "comment" : "order = -8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920241ff5522624724163b74c02b1951cc3603f834cf724c4c362df1299c63358fccf78faac1a3beb356d9e6be799ee68053efb8e24e2c7ef7a225224a78697d6356ff970201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2664,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920201000201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2665,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad808920201010201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2666,
+          "comment" : "order = 2083592630841357761914050861997332755048435564175796348448981807380927961881602771668457829077617488768289656930144243078095422967775269405300354",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820234308201ab06072a8648ce3d02013082019e020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892023d00aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796820201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2667,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723048181040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2668,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80894024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2669,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201ff0381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2670,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201000381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2671,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201020381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2672,
+          "comment" : "cofactor = 8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820278308201ef06072a8648ce3d0201308201e2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2673,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820235308201ac06072a8648ce3d02013082019f020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f7230481810481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2674,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100a9414de6e5ef176ff64384b554271ef34fde1d646094323012668174776efe4e23c39f2773860bb0bb7ad41d6cc5deef888974b529de7d1168d2a3cf6f6f4dcd30818404407830a3318b603b89e2327145ac234cc594cbdd8d3df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94ca04403df91610a83441caea9863bc2ded5d5aa8253aa10a2ef1c98b9ac8b57f1117a72bf2c7b9e7c1ac4d77fc94cadc083e67984050b75ebae5dd2809bd638016f723048181040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000000d61096c9018545277fa62c0af905d4d2e2500ecb6c7306b6508079532c53907b58e3a7ab89660147c556b10a8ad430325d7484da765aa00b8e007a343c233714f0024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000000d61096c9018545277fa62c0af905d4d2e2500ecb6c7306b6508079532c53907b58e3a7ab89660147c556b10a8ad430325d7484da765aa00b8e007a343c233714f0",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2675,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2676,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2677,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2678,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33045040100044044a9dfba839bd5e0edb3dbace1c8f201409f6d505e411f290d8af054fb492a0d0d246c63b2fad54f963f9ae5b3540ccf3417106652f29ce45cd6e41851d7109504818104933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201010381820004933acf9f74c73324a719b02f56269f56463a3623a33f2d3001a33ee1ce064e55466073e7535a83dbd4772c3030dab122338daaef4e0aeca1f27f6b228b7fd88a5cd4c67a1a177965f5fce7d352afdb1cb72cc628b7069b6ad1bbab8c14ff0f7792a2b6687bb71ca847405e31c9dcdee5f4cd3d91a2f4f8faf169584a7e3c5693",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2679,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404405acaa0043220c132c83d96ea8c99458f39cd419fd2dce0409d1aaeb60990dbc933b0ccb572c20ca0245442ecdd014369a6cad88609a30a376d0876677eb4819804404dc2e325f51429473e2ad59602d283c0dd00a803af8511b634b266441e8e31e55c1077a0cd5206e7982bb480663638094d8ab5262492a0ddbbad081d26e1ce6c0481810454dd10cba6c19c0821520d333839de320049dfb6175a3822cd0dd5061668d521d26c21c8e242c021352a07ddcf45d46c9e7ec2517efa5996d2ef393d0895805e13a43d23b543fbf034c3f37eb453ab90d5cbf429b13b9b1085373e5aca7270c6ba7fb23a4123a31cfb1e3ceb627d2b35c0bec1e6694185507feae1df91a71966024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069020101038182000454dd10cba6c19c0821520d333839de320049dfb6175a3822cd0dd5061668d521d26c21c8e242c021352a07ddcf45d46c9e7ec2517efa5996d2ef393d0895805e9739609526a5c89b0b10f32f7f765076f564998a028e36fe512c5e6fa5c097aac2cde8c65aa2c525b3af643f842655b067c33d48c4414134a8bf7e76c6932f8d",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2680,
+          "comment" : "public key on isomorphic curve brainpoolP512t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004552e0f403a37a53cab048d6c6616973fb80ccbebb788a5d743f6bd48b27e819100acd53c86a95420e52cfa18d958bcb7844f05e40824b5eb38c827456e9b410c6787bafb0cf873f535c82381c81bbea8e7291b68f93e58f5657af40333aefc23cdacaedff7b3eefd8cba644bb72e9746c3bacaec3ff14a950dc6e1ffb03789ab",
+          "private" : "11ca87ee5e9aee914f1ec5479bdb6b0a6ab1fdf38ec8df537e231596762f9428be3194f899890076e78366affdd192fa9e4d44c92066c31c25dab04e0c3fbe68",
+          "shared" : "1a1ac0324ecc13de106b7024dbc54847953bf91bdf5d9b7a4a85507adafbd802ec7fc27518b4bd336a6ca387c17359084f5e15d04511f30dde0ce5cee9960d96",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2681,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004f1ed1cb1ceb7eeef8f7044b8f3bf488604a1a226a697a202b9fe094b4ef15b2f33ddb17fa5447d65e2783f72821ea01268235d58e18bd14e",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2682,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fa60a443999e02e693e83e198e6ae8d77c6d5b0fad9269ddcfbcf3fd7454ab551fcd8ec3145c902ac6f57112b1fe5415c0b974fc9cb15105c174f6c26503bb5d",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2683,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004aef982cb3c13ef417bbecfe65d4ac97c8b081f47311069fb63629e45440045c1cbb26cbc4e2c7139511b5cae95a9f79f0ee8ebffdd68e215f602ee98bd0d0acc180b7061e20f213f043915a246b492c214168bdaf8ff95b0ff68f9e3e7f43657",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2684,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040078f1bac16e586a15d828e92a2f35c0690f616a886223b70657639d130a04e58787f2ebb3eb880ea2f396e67e353e326822745959dbe51ee4f80562044c967e33b40018895b6e1370974595784c19b17f8208b900432940680d16367f05f0c1f5ffa607037473461c0a0651884dd35a58c9735d0bb6328c4b5b9d0ec792f0f6f8bc8769",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2685,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200046a4213777e31119f578b3e8be06ebf62502d7d10dfe5bf9341dea64525e0978f12cbbd6f17e4e932b4446c48bd3f1189a55b212d89c5194f689f297e3a27e8a6",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2686,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b160ff66fc93480bef16ebb4a00b75f3805e884ea875dcfcc73e32a1d764c4dad373d89648afe449018ef5524633459bee47ff9529c5ae41",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2687,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004670c87dc73c6bd2291150ca80eb914924286ada22e50f5fe41079ab3f483c7271cf84db06d98a7e4382b528dfea4335a1bb4ada1f61c5030bdc479a2441dfb28",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2688,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200045f1de6cf461eecea01567345bdcec2ae56dd607ddd15c26b4ec095ca2afb17b1ffbdf61bd47010d16a92595554d297378212bbfaafb62c179960a4db69a7d3aaed57ba9edbcae9b05e3b905fa5eafff1",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2689,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP512r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004408d98134c7ff4519187d68da6cb6c7b5d257b98d1240985404d497682656a60e2d4abda818d20d2524af5357700aeff6ecc536169279a38c53bd5dbe49c240eb30cba040568b09ee65be595c25a090dd94ddc06b441f78de9e290fae01fbb11",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2690,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00049bd1aff3c1d564b390e8f9575b123cf2c47151fc1cf534e4c24c254382531d828902af3eaf1383410ffed334caa12697265024b764a8cc40",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2691,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004683cf7c313c9503ed4dab6b6a25463c5d682aac16ee5b33785321e77304201774c22f4703e5cac4891c56c1d8ac3d535f192c041ebfa78979ebbddeb87780607",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2692,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040f31598d0b84972ae50be531e0ecf11b721b76d8e2843940de0397d7fffb62dc382ddce29ec2ce7baaed79f9144811e1ca8194c8046458fe3956550885315dfe0e29efd283be076ddc81e1a857705804",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2693,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004483dae8e878eb44c217e0ba373ead244428398d83bd0ba1473747887c1c5a5de6e7d42b9f6fab658277f4046ebb6c6b43aa548690bbde6a2d77ec48c81da44183f7631c9ffbdead397d9ff6cf8ece2c21a2f989cede73bec5f461cbbbafd01b4",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2694,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041bddcd407461d821e5879eb6b27736dc1112c3c9177fc3cf1a1bbd39654514d7c82950e9f674a4ce4c7fc9f9410c5ed9b194c926c1fb0c178940e46dc4fcf12c222d62b9c3f76ba459f8eae72d5b2c8df5a2cecf34dcc66108538a0f6aedd8e2e9c51515a290f244e3e40e352a6e86a58af41cd89f7dee16199bc84d2051c43e",
+          "private" : "215f898ba482ba768a4aa8a5a1d01862c0f184ab92cedd149281f722bd03ffe6aacf33ed8810f98c7575f99fb35548f93b3a828dcda3dae7d91b913c40a94e2",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2695,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP512r1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010d034200022564ece76989d82265ea79fe5b41b2dfad2268e27df8ee7260d937435da3777a5106557dfbdb64d106c2ad46e64dc63e0eaa22e81a03d25b870578d86b0f1432",
+          "private" : "57087c2e66e2221d0618077207ced3fe31627f83afe4ea3d3999a26d9737fa8ace4f50b968930cae8bbf55b422335f22d85a23582b076c2836e060cd1157cffa",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2696,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "3082009b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2697,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3082001406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2698,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016068200072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2699,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201068200092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2700,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301406072a8648ce3d020106092b240303020801010d038200820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2701,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "309c301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2702,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "309a301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2703,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301506072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2704,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301306072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2705,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406082a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2706,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406062a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2707,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d0201060a2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2708,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106082b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2709,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03830004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2710,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03810004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2711,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3085010000009b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2712,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03085010000001406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2713,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03019068501000000072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2714,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0301906072a8648ce3d0201068501000000092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2715,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010d038501000000820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2716,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "308901000000000000009b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2717,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4308901000000000000001406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2718,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06890100000000000000072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2719,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06072a8648ce3d020106890100000000000000092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2720,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301406072a8648ce3d020106092b240303020801010d03890100000000000000820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2721,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2722,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f30847fffffff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2723,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301806847fffffff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2724,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301806072a8648ce3d020106847fffffff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2725,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e301406072a8648ce3d020106092b240303020801010d03847fffffff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2726,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2727,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f3084ffffffff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2728,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f30180684ffffffff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2729,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301806072a8648ce3d02010684ffffffff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2730,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e301406072a8648ce3d020106092b240303020801010d0384ffffffff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2731,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2732,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03085ffffffffff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2733,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a030190685ffffffffff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2734,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0301906072a8648ce3d02010685ffffffffff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2735,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010d0385ffffffffff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2736,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2737,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a33088ffffffffffffffff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2738,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2739,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2740,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a2301406072a8648ce3d020106092b240303020801010d0388ffffffffffffffff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2741,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2742,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b30ff06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2743,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406ff2a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2744,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106ff2b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2745,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03ff0004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2746,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2747,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b308006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2748,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406802a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2749,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106802b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2750,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03800004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2751,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2752,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081850381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2753,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "30",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2754,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "308186300381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2755,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2756,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010d00000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2757,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d0000301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2758,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016000006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2759,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2760,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d00000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2761,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30500",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2762,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010d05000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2763,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a149817730819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2764,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0250030819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2765,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30004deadbeef",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2766,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03019498177301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2767,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f30182500301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2768,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a33016301406072a8648ce3d020106092b240303020801010d0004deadbeef0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2769,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a03019260c49817706072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2770,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f3018260b250006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2771,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c260906072a8648ce3d02010004deadbeef06092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2772,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0301906072a8648ce3d0201260e49817706092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2773,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301806072a8648ce3d0201260d250006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2774,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c06072a8648ce3d0201260b06092b240303020801010d0004deadbeef0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2775,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1301406072a8648ce3d020106092b240303020801010d2381884981770381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2776,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a0301406072a8648ce3d020106092b240303020801010d23818725000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2777,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301406072a8648ce3d020106092b240303020801010d2381850381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30004deadbeef",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2778,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4aa00bb00cd0030819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2779,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a2aa02aabb30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2780,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301caa00bb00cd00301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2781,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1301aaa02aabb301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2782,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2783,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1301a260daa02aabb06072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2784,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a3301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2785,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1301a06072a8648ce3d0201260faa02aabb06092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2786,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301406072a8648ce3d020106092b240303020801010d23818baa00bb00cd000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2787,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a2301406072a8648ce3d020106092b240303020801010d238189aa02aabb0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2788,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2789,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30818730810381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2790,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "0500",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2791,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "30818705000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2792,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "2e819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2793,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "2f819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2794,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "31819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2795,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "32819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2796,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "ff819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2797,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b2e1406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2798,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b2f1406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2799,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b311406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2800,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b321406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2801,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819bff1406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2802,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2803,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30818730000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2804,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2805,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a1406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2806,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306072a8648ce3d020106092b240303020801010381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2807,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a3013072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2808,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2809,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d308006072a8648ce3d020106092b240303020801010d00000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2810,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f300",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2811,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c308006072a8648ce3d020106092b240303020801010d000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2812,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f305000000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2813,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f308006072a8648ce3d020106092b240303020801010d050000000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2814,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3060811220000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2815,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1308006072a8648ce3d020106092b240303020801010d0608112200000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2816,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000fe02beef",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2817,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a1308006072a8648ce3d020106092b240303020801010d0000fe02beef0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2818,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP512r1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30002beef",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2819,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f308006072a8648ce3d020106092b240303020801010d0002beef0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2820,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3000301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2821,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016300006072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2822,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f33000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2823,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010d30000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2824,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2825,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2826,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3016301406072a8648ce3d020106092b240303020801010d",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2827,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "308190300906072a8648ce3d02010381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2828,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "30820120301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2829,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a6301f06072a8648ce3d020106092b240303020801010d06092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2830,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c30811406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2831,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c30150681072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2832,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301506072a8648ce3d02010681092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2833,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308192300b06092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2834,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "308193300c0606092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2835,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "308191300a06072a8648ce3d0201060381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2836,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606092a8648ce3d0201000006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2837,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201060b2b240303020801010d00000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2838,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d3016060900002a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2839,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201060b00002b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2840,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201000006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2841,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606092a8648ce3d0201050006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2842,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301606072a8648ce3d0201060b2b240303020801010d05000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2843,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308194300d068106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2844,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308192300b06072a8648ce3d020106810381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2845,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "308194300d050006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2846,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "308192300b06072a8648ce3d020105000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2847,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301404072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2848,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301405072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2849,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301407072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2850,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301408072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2851,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b3014ff072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2852,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020104092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2853,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020105092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2854,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020107092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2855,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020108092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2856,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d0201ff092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2857,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308194300d060006092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2858,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "308192300b06072a8648ce3d020106000381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2859,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b30140607288648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2860,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d0201060929240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2861,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d028106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2862,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801018d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2863,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306062a8648ce3d0206092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2864,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306068648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2865,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306072a8648ce3d020106082b240303020801010381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2866,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301306072a8648ce3d02010608240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2867,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819e3017060a3262306530333032316106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2868,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a6301f061236303836343830313635303330343032303106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2869,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301506072a8648ce3d0201060a326230653033303231610381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2870,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06072a8648ce3d020106123630383634383031363530333034303230310381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2871,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06103261383634386365336430323031303106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2872,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a6301f06072a8648ce3d0201061432623234303330333032303830313031306430310381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2873,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a2301b060e326138363438636533643032313106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2874,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081aa302306163261383634386365336430323838383038303830303106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2875,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a4301d06072a8648ce3d020106123262323430333033303230383031303131640381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2876,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081ac302506072a8648ce3d0201061a32623234303330333032303830313031383838303830383030640381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2877,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081b4302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2878,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081b6302f06072a8648ce3d020106243262323430333033303230383031303138323830383038303830383038303830383030640381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2879,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a5301e0611326138363438636533643032303165303306092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2880,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301506082a808648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2881,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512r1",
+          "public" : "3081a7302006072a8648ce3d020106153262323430333033303230383031303130646530330381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2882,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819c301506072a8648ce3d0201060a2b80240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2883,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP512r1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010d03",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2884,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381840004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30000",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2885,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d03818400000004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2886,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010d0381840004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f30500",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2887,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010d0381",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2888,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP512r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010d0500",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2889,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0181820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2890,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0281820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2891,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0481820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2892,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0581820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2893,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010dff81820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2894,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010d0300",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2895,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820204770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2896,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd39373",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2897,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d0381810004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2898,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010d03818104770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2899,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820104770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2900,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010d0381862004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f301020304",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2901,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP512r1",
+          "public" : "3019301406072a8648ce3d020106092b240303020801010d030103",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2902,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP512r1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381828004770edae4349afd54ef98dec68972532ea29e32aea960bd5b56323c79951ff0889d1fa2dce7d283995bbc5a00eba20e89e26f2fe8d253090dc83238da249103497ccc96269734432df9c7ff8ec758fc1bbe95e94a97ad1ddfb339bc9c274c0b145eace75dae38773795002ea03bb109ac2123a2c045ef7c3bbfb735f57cd393f3",
+          "private" : "099d34308f0fc8f61d0009d4d7b28f50c02fdaaa26697b93ed0e33d0f99e8b96c9a06c810d2872b2373ed7dc6b5180bcaa63d8db6b49604895a94fddcf06cb219",
+          "shared" : "a9ab631eb81be9ad9661ae012c84719d87632bd623343f0f4a85004befafb5cafdc6fd33f5c408154645f458c541be320c7baa12155d9ed858cdc916f515d08d",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP224t1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 2903,
+          "comment" : "normal case",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004b4780ee66aea435e0a2be8010dba55dca1d2fe27a90c5b21632dc3bdd2984ecd46d71d2115aab7011aa7037523b82f396bf431513a3169b6",
+          "private" : "68c8bbaebef70f1e59ecf3681b2d0c7db8dfd51e2392d6ffb233bf01",
+          "shared" : "6b429db09a4d7a2b336c2c93559c64fd879e73b47ba0cb76b1711b53",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2904,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0002b4780ee66aea435e0a2be8010dba55dca1d2fe27a90c5b21632dc3bd",
+          "private" : "68c8bbaebef70f1e59ecf3681b2d0c7db8dfd51e2392d6ffb233bf01",
+          "shared" : "6b429db09a4d7a2b336c2c93559c64fd879e73b47ba0cb76b1711b53",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2905,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000412a38de91c32593654a56e4d28dd5f63c5dcd17d630d7030a449fd1c62216cdbd7da43563e1374659b65701a02b9e07d3aee2897801f6eda",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2906,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041c255087219f1c2e09e27f397ef897620cf59626f1e76a46a3130f19d578093b49a63aeebc97e79d6ca033155ce9af959d6eb773c144f413",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2907,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000450120a32457e46bbbcd4eb46d6cbe1c1c49855ad3dc8f4c4da4a55767d959b19f69d72bbf0a55c554f3c2895c0dcc5928759871c604fe176",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2908,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004286feb078f3756c06e5315d9e4585b184906071f57d74aebf3e8a431c3d481267687219aa5f3753bc9b2082147a3e6281e34bf39ab8ce35d",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2909,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00045a06cb7b6d88a21cf77670883c62493f1b1381e1841008ca4bf6f92c24d12e6fedc361aa112180298089cb69d0ea9fe061bec51b51dfc5da",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "00000000ffffffffffffffff00000000000000010000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2910,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004156a91128fedd089ab4741255400b7bb2cf19fb7243e4cface76ddd3463614f4dd54eb1d31ce716f1beeef41d91e6a794a477385ddf402f2",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2911,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047e5942baf404f1aa162be96709c28394f5f03564ea1bca65af77f7e5af933701c2fc89d66dcbf28913c7f5127a8d68d402a73dc0515bcd82",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "0003fffffff00000003fffffff00000003fffffff000000040000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2912,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004142a4bfad553717dfb8b3f5d7ceb70f185ef014468a075daecdd28fc2204e689e9be5a7f0ca0164a5550bdb9ea241beb5abd55154a53ef2b",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "01fffffffc00000007fffffff00000001fffffffc00000007fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2913,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004adaa9b4a60db8cb1b9f307fbd1987de52057bf8952ebf4555fd1245275a6ee7623866f7684ed882057d269753a0cb621f01bfe0a339134b3",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2914,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004411742b6193a7d605d03ec130b7492266c8affc083a9bebababde008172b1aa4d711dcc7a44126acdd6af39a9b8de30f89f72bf6bce30c5e",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fff0000003ffffff0000003ffffff0000003ffffff0000004000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2915,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004c1601f16b582d5ee402aceac077b00644e07d4c27ad819a45c833704acc8473f1c03887a7715d891d9afb6483d66abfab4fc805f4e9d93fd",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7ffff0000007fffffe000000ffffffc000001ffffff8000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2916,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000414438a1c0aa6d6322a9c97525203e83224d09c0b6ed7f9edffc87566692277105d2451c0f34fb40db3ae783149075ffde715e7e56a20c56c",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fffffff00000000ffffffff00000000ffffffff0000000100000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2917,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004c282016c4120fa64b26a6a95d42a65d85028a8221d1b58b53b53cc26aff7f36536c67b2bf6b7282311039b46a5ef688fc007267d342f726f",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2918,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004231ce0637889a0ce60582070c2bb2669ef188fb3dc4fa5130e16b8a9bad1ca30f0f3cc6f6aaba7d27ff474215621bdc21802b0ffd7a2178c",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2919,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004202f7ea2e5131a84c033fc2c08d3497e02c8f93f9fbac081f178e39c30df87d46a8bd61035259610869c1cc24a2082f894e183ffa9fe2aa0",
+          "private" : "133ba3cdfdd2b6f8e12c4efb844dd1ba60212b3c4afe6476f1efa12c",
+          "shared" : "d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2920,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000400000000000000000000000000000000000000000000000000000001633b4bd954cddaeffefa7a75e81daac78682fc46c2d7ee9648d32ab3",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "91d228a11d5eff2ccc0940265bb5ef25eebebd50efa2dd1a29508a50",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2921,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00040000000000000000000000000000000000000000000000000000000251b3e8984fc0e76d7c0830af455e3a709f5ee363708e92942adbb1e4",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "0047e1811a2371f1521378f0f16d4307077e662fbaa83a3f96fcf5b0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2922,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004000000000000000000000000ffffffffffffffffffffffffffffffff6ae9ab22a7a3d4f4bcd27fad3c1b44d858e75081a9ca61f620719994",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "608052a73a085e0d077002d9894017a75c63644714a8bcae15002174",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2923,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000400000000000000ffffffffffffff00000000000000ffffffffffffff217c3568a965f2a55cc901e357a1575628779371b5ac38f589d9e3e1",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "ae79a814575b0cda006ff1f2f617ff48e99d68886b2beb394dac432e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2924,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000400000000ffffffffffffffff000000000000000100000000000000005b21ef6411409443e83b79d201492eff43eb8e58f2dab71a15facc55",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "09e3e169b2ff1dd5e6a6c0e7da70cc9b781d4ad742cda7388ee017ad",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2925,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000145799e835a004c3cf2d3918ce3f4771561d08dbcc7d73b452456ca7",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "9c33c2f08f8b10ade78af8b7ed021b815cebef08ab0506d73892fbb9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2926,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00040003fffffff00000003fffffff00000003fffffff0000000400000001ee03a1b1a6fc66dba929459e5226cc4b9b9641c2fe0b72f1dca8ac6",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "0c34886d6c6de77dd6d37ca70d4f295a371fb527c853248ba4b0e9be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2927,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000401fffffffc00000007fffffff00000001fffffffc00000007fffffff6a2f162b62b880074a87c37aa88e4dd07c260e3d1925602b42654311",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "8001e5763300e1741a6a562eca419050372b0aa97d783a4cd606f3e6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2928,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800112be7edba65ee14a56c2494f0b0f5018cd6f997919296655da4297b2",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "464293a02d78bb0249547041186ab4a02f77d23adcaef3325c517623",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2929,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047fff0000003ffffff0000003ffffff0000003ffffff000000400000269b3c411885503c934b416b7e81b54c8e88ea3482cfff0e9bb26e8fb",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "62ec4ba9e8bc1b56085da67e481836f1c4cde0c4f5694199f452a665",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2930,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047ffff0000007fffffe000000ffffffc000001ffffff8000003ffffff27a1297c7a38d1b4e7ee21d49e9f43646433e221f8541e261d9695be",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "54d239a3d251130d83c812d0973777fecbad5c12f26fff2d6d65a2ce",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2931,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047fffffff00000000ffffffff00000000ffffffff00000001000000003747d1fe6bf97cc470bd311736644ebffa8e33def722d572906be4d0",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "bef2f0756be88362991c5b9420f5ed09f075bf1540a059b85a621532",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2932,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff339e3bfd7b12918722a6f7faf38f28703a635757a992b393e52052e9",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "55af6868eeeadf94c06cf9407b3b5f5d2b715f474d518f670c3cb9af",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2933,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fd633b4bd954cddaeffefa7a75e81daac78682fc46c2d7ee9648d32ab3",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "97379b47cdb08a1deec67cf2a32bfb4b7f7c95c2a24c1f4eb002aef8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2934,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe51b3e8984fc0e76d7c0830af455e3a709f5ee363708e92942adbb1e4",
+          "private" : "0ae3ad02b042445f5edd485a9370286498b83b82ca6705fb09425dd35",
+          "shared" : "499ea1f831f2b2a29ae45519b2fa3213d90e7c3905fd95bb8133cfa3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2935,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "3",
+          "shared" : "80fc3bbf6ab2a45febab5003a46ce32a8998e776f1caa51e274a059b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2936,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "3f5d8afa32528b63dbfa759e9d5ed37a8fb87f98d856f5e0bb3f67a7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2937,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "1000000000000000000000000000000000000000000000000000000",
+          "shared" : "1d9c4d7df936eb5502ee61d68526877f04adb830747e6f3475ae54ba",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2938,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "6a6085f73272becdd7858ca7b80daed56fe39f319dfcaa559ce647a9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2939,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "080000000000000000000000000000000000000000000000000000000",
+          "shared" : "18af3c83b27fe6a1e5f56be3ed256b9f740dcbe41bac7f148f2692ad",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2940,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4a6ddebca3a5a7939f",
+          "shared" : "2fd7f53b0ed87d438cfb45c9eb8d5c343c6a309fcfdb9686d6a0f97e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2941,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dcebca3a5a7939f",
+          "shared" : "c5c948724fce4e94ad8682705b063138fe18cc0e7f33204f493a3f4a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2942,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6dd6bca3a5a7939f",
+          "shared" : "5b0230dd604007c71c0e416fa24a7c0192e0ec974efdfac208c115dc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2943,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca2a5a7939f",
+          "shared" : "06616250fd3f7a3abe31b83659b21281ad93d6e168922fc2157b4be4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2944,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a792dd",
+          "shared" : "97ded4c2e06b5a13c9109be3fa42dc2ca93a306fdf9e85ac4bb02e22",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2945,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7935d",
+          "shared" : "686798270c7e188e6ab3e28a10754f965d5d02f33d30d8faf38155f4",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2946,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939c",
+          "shared" : "80fc3bbf6ab2a45febab5003a46ce32a8998e776f1caa51e274a059b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2947,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00041b801b9b969daaddbc40876ef79201c5dd8e480f003a043e818862c26709e1b2f6d8826ae4257a5db46b78848091c56a54577248185936b1",
+          "private" : "0d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d",
+          "shared" : "d64f68debaf751d63da1883668822031c69e913cc53b969e5fbae845",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 2948,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c4840680",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2949,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2950,
+          "comment" : "order = -22721622932454352787552537995910923612567546342330757191396560966559",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021dff283ecb55d9bc9979d5e7cfda8a2f04672ee943b49221435c5a586c61020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2951,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP224t1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c020100020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2952,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c020101020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2953,
+          "comment" : "order = 5290290092223871682666367384584369978999613398297400491171",
+          "curve" : "brainpoolP224t1",
+          "public" : "3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021900d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2954,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2955,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2956,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f0201ff033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2957,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020100033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2958,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020102033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2959,
+          "comment" : "cofactor = 22721622932454352787552537995910923612567546342330757191396560966559",
+          "curve" : "brainpoolP224t1",
+          "public" : "3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2960,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041cd7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fc041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d0439046ab1e344ce25ff3896424e7ffe14762ecb49f8928ac0c76029b4d5800374e9f5143e568cd23f3f4d7c0d4b1e41c8cc0d1c6abd5f1a46db4c021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2961,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c7dcc95fb9d591ce71a8bf8a556f2740e47b7987cd2f7830aac0eb4b303c041c0fe46b4a6c6dd4b7b86f709b2062b046cc238dcfcaab11c4d407d5b1041c4b337d934104cd7bef271bf60ced1ed20da14c08b3bb64f18a60888d04390400000000000000000023f905836e050000000000000000000000014d3a8e6427eb21055820f8b4c7120ac1a1d4ef9fc8f9cc644c4dc503cb021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a000400000000000000000023f905836e050000000000000000000000014d3a8e6427eb21055820f8b4c7120ac1a1d4ef9fc8f9cc644c4dc503cb",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2962,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2963,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2964,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2965,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP224t1",
+          "public" : "3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff3021040100041c64b569c07b0d6cc342b02aceb14d118fac8f5340fd6d22c667493b7c0439043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00043f6a6d7ef968ed14f22fb5c445d0a198b090555fc4b8440ae0a004b090ead0c4389326a4417f2d3248db535d57e039c045ea1958c484067e",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2966,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP224t1",
+          "public" : "308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff303c041c30d1e86cafd19bb2aaa37fc828fc1afcf5800c3464b6f9a241af597e041c5499d61137f0912c47ad5431519d0d651eb8194b76e71fbae42d873b0439044355945201411c12205454041b1a80619e98ec4286b89df689ba016f874e515af7151faf150e69940ae0bab488d0ab6089580b94f3e39019021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101033a00044355945201411c12205454041b1a80619e98ec4286b89df689ba016f5072e34f2f2e46d71509c6916af11cd327ce5bf70e827e608ae530e6",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 2967,
+          "comment" : "public key on isomorphic curve brainpoolP224r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00048920ebf7c326c0c7d3ced9c836bc6739ee0f01eb254ae7302c1c8927bacfb0e6fff4aa3c1e3c9b7230784f568f74a77404608fc7db2f66e9",
+          "private" : "1019babf6cb683112dc1bff42f1e0b9242b4b3d3ceedc38b1a0de2fc",
+          "shared" : "72d7ec663f059dda71360e49296cae4f204d4928e6204b400e2a0b74",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 2968,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000442965e56285793adc7a389259e9cf589ddd015e9bd539e7251e87bdf83d78979f31c47573b1b4563d52605ce78d13d4b3dba9137cfb87672",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2969,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044da276013cc1d7a5007057d8534a7992c07cb89a4289be1306a224313972c2dc45c9d98b0401de4291244a64b76e8e6024f80773e41c204c237d1338432f1086",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2970,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3076301006072a8648ce3d020106052b8104002203620004a678b55ac9bf1a53fb34cc5c1d02ee3f5042280b96dc552b37b6c4de4d784772303baa39637bf92c7d2706dfab32aaba3817a9cbf42e631306edeafff56aad3b295bae9d76553c8ebe8260870b676453be70d4cbe77fea59606530d736698810",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2971,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004009ccd4707bcb17a495e71b2815c27da50da8bc73077f37499281350336de71836ab3b8b4d2639536d052d90a1a995be15c5dad427c7f98b1f727d8098b3f929658e01ad739bfd1b6536087427423c134ddeea7feb0c27d7459f739eb023b404670d231af7ca65ef65f67c8d333a2eb4ff85a1392ba597a9339f55388beb83638b705d1f",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2972,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004bb772efdde5aa3ae3002e6fc075a3eec5f23ff3d5cdb95719bb1aba4631beb70a10783eea8ef55db2731e4b465f5f4caf63c6301c9a55f8df07192945f42f82d",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2973,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000407f4cc76a1dfd15a8e6086298b51cf7b5a452bd78d22255079c870193e38b58d0af2c0f1ae929b4f07af26694f28e2e28efe264c4737d3d5",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2974,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200046ce67724a682ac3bcfd9e5eae6752c8f0256936c8ce6d30c2d86acfd0cad65167871ee9db6cbb308d296a4657bfe732d819921a947e2f879b2079c6d72442255",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2975,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200046d81e4491be3c79ee67288a4ecbeb81f5d3f277cc2f8b167abd5a471f3ca0c7bfb6a6b4bb5b59a0215de2bf862b5ea92efc69867b39c479c143b265cce74d86e21a6242ae5b1786cea523a6791c55a2b",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2976,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200047aa0fb8aac947cfdce1dde00a39628b4fd9e0eeb3b3d4a6796a063fedd3da3493f4f1806965b34acf8788d18e4925a3740f8005c8e79d97c3cd9fa4ab7e2545ec491a1a34f3e8ae4a0f91c94d01c3aa590b90aac5d3c19b04e11677c94394b5a",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2977,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP224t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042cc1fe0272661d4cf2dd5f624063176b77b52ef3ad565bcd39e19eae4e1ec2538d4f06e3eaa65dd25c3093308525c053c0ff3601eb83293083e7c3db9ffa9cd752076cf9aeb52b831fb0ef0237bdd44b7537c7438136a45ffeffd8a504fd847de0619ef191e651a0cbfc8986013423aa045dfb028fd3044320bbc1b0d9925bc0",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2978,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004787a59a058d051f1bf03b29eb9b62298e7a572d0233d5cd27cbe21a7e59fbecb4f382c492bdd42614d81f69e8890cf1e41f78c4c3e6afe5bcc591f1da67e7bdc",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2979,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP224t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000459582047b008714d11e0307018e43022f3840e4794f112f1f65384a37d7037b0e37d78a2b19a94ec91a017126cbc8caf8baf4f39f9af4956f8e24ceca69ff11112603947bf6d442835739328379814fb",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2980,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP224t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200046ec42be3b975ce7e5481a05e6c74fab6deea449da35ec5c87f3374ce7589f102052c9d19d7c299ce9dfe31608c40408135e35d85b47dd7317301b7d87e592ee78cd92a4b13271308f06ae6526730d3c05f4c1b57d80e648815c14572fbe9936e",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2981,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP224t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000431c185cbecde89be3f67e2518b45aa7dac138637076bf3cfa4e82f408c7a9aa229a3384c71743e6b9408cc49ed4fe410e2c9260ce63221e7e76b1516db5b12ee54d028d6b09c058865af5712866c0caf8ad15c22ebe11a8956782dc57c8aba50cc398f2decdbc8cad5555a172f222f5949872bf75de3e0dfbf80adc711c9267b",
+          "private" : "11741702730ecbd0302206cc137afac29c8e5b151aa276614bee277d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2982,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP224t1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e00022976d67c0990b15a69fdf3b1a8af1cda5093d56edf5a07920c4a2560",
+          "private" : "094a03f9da3f349baf97d127006b91aec00281360223236ade4960ef4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2983,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224t1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0003207634267719edd5479d4cb295b9187761379d4954ea2167f9f7c21e",
+          "private" : "7a8ba19e871ea26250478bd775bdf5083dca779ef95270c504d14e42",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2984,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224t1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0002207634267719edd5479d4cb295b9187761379d4954ea2167f9f7c21e",
+          "private" : "7a8ba19e871ea26250478bd775bdf5083dca779ef95270c504d14e43",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2985,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224t1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0003a564bd8c207a8eea688192e55f7298903d506534191f941853689dc5",
+          "private" : "540edb903f98285bf9c05a9bdc2863a86c7e885cfe9b93d233000a5b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2986,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224t1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e000285c7342870c42049ed0e288892f8bf63ff3a810c58031f9a1af6fa99",
+          "private" : "3b2eb0d8c8edfba44f9c523c3d4a143525608184a108cc376a086393",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2987,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224t1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e000385c7342870c42049ed0e288892f8bf63ff3a810c58031f9a1af6fa99",
+          "private" : "3b2eb0d8c8edfba44f9c523c3d4a143525608184a108cc376a086392",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2988,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP224t1",
+          "public" : "3036301406072a8648ce3d020106092b2403030208010106031e0002a564bd8c207a8eea688192e55f7298903d506534191f941853689dc5",
+          "private" : "540edb903f98285bf9c05a9bdc2863a86c7e885cfe9b93d233000a5c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 2989,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224t1",
+          "public" : "308152301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2990,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224t1",
+          "public" : "305330811406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2991,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224t1",
+          "public" : "305330150681072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2992,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3053301506072a8648ce3d02010681092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2993,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3053301406072a8648ce3d020106092b240303020801010603813a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2994,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224t1",
+          "public" : "30820052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2995,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543082001406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2996,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543016068200072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2997,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606072a8648ce3d0201068200092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2998,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301406072a8648ce3d020106092b24030302080101060382003a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 2999,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3053301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3000,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3001,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301506072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3002,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301306072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3003,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406082a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3004,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406062a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3005,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d0201060a2b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3006,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106082b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3007,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033b0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3008,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010603390004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3009,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "30850100000052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3010,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "30573085010000001406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3011,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "30573019068501000000072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3012,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3057301906072a8648ce3d0201068501000000092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3013,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3057301406072a8648ce3d020106092b24030302080101060385010000003a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3014,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3089010000000000000052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3015,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "305b308901000000000000001406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3016,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "305b301d06890100000000000000072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3017,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "305b301d06072a8648ce3d020106890100000000000000092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3018,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP224t1",
+          "public" : "305b301406072a8648ce3d020106092b2403030208010106038901000000000000003a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3019,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3020,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305630847fffffff06072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3021,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301806847fffffff2a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3022,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301806072a8648ce3d020106847fffffff2b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3023,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301406072a8648ce3d020106092b240303020801010603847fffffff0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3024,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3025,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "30563084ffffffff06072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3026,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305630180684ffffffff2a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3027,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301806072a8648ce3d02010684ffffffff2b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3028,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301406072a8648ce3d020106092b24030302080101060384ffffffff0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3029,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3030,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "30573085ffffffffff06072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3031,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305730190685ffffffffff2a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3032,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3057301906072a8648ce3d02010685ffffffffff2b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3033,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3057301406072a8648ce3d020106092b24030302080101060385ffffffffff0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3034,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3035,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a3088ffffffffffffffff06072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3036,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301c0688ffffffffffffffff2a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3037,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301c06072a8648ce3d02010688ffffffffffffffff2b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3038,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101060388ffffffffffffffff0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3039,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224t1",
+          "public" : "30ff301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3040,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224t1",
+          "public" : "305230ff06072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3041,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406ff2a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3042,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106ff2b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3043,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010603ff0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3044,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3045,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052308006072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3046,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406802a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3047,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106802b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3048,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b240303020801010603800004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3049,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3050,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "303c033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3051,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP224t1",
+          "public" : "30",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3052,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP224t1",
+          "public" : "303d30033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3053,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0000",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3054,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101060000033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3055,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30540000301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3056,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543016000006072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3057,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0000",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3058,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301406072a8648ce3d020106092b24030302080101060000033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3059,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0500",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3060,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101060500033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3061,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "30574981773052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3062,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "305625003052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3063,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0004deadbeef",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3064,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "30573019498177301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3065,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "305630182500301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3066,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a3016301406072a8648ce3d020106092b24030302080101060004deadbeef033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3067,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "30573019260c49817706072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3068,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "30563018260b250006072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3069,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301c260906072a8648ce3d02010004deadbeef06092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3070,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "3057301906072a8648ce3d0201260e49817706092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3071,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301806072a8648ce3d0201260d250006092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3072,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301c06072a8648ce3d0201260b06092b24030302080101060004deadbeef033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3073,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "3057301406072a8648ce3d020106092b2403030208010106233f498177033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3074,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301406072a8648ce3d020106092b2403030208010106233e2500033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3075,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010106233c033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0004deadbeef",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3076,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "305aaa00bb00cd003052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3077,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "3058aa02aabb3052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3078,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301caa00bb00cd00301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3079,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "3058301aaa02aabb301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3080,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301c260faa00bb00cd0006072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3081,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "3058301a260daa02aabb06072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3082,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301c06072a8648ce3d02012611aa00bb00cd0006092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3083,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "3058301a06072a8648ce3d0201260faa02aabb06092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3084,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101062342aa00bb00cd00033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3085,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP224t1",
+          "public" : "3058301406072a8648ce3d020106092b24030302080101062340aa02aabb033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3086,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3081",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3087,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "303e3081033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3088,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP224t1",
+          "public" : "0500",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3089,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP224t1",
+          "public" : "303e0500033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3090,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "2e52301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3091,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "2f52301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3092,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3152301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3093,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3252301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3094,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "ff52301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3095,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30522e1406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3096,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30522f1406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3097,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052311406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3098,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052321406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3099,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052ff1406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3100,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3000",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3101,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "303e3000033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3102,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473f",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3103,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30511406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3104,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301306072a8648ce3d020106092b24030302080101033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3105,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30513013072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3106,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0000",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3107,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054308006072a8648ce3d020106092b24030302080101060000033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3108,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP224t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca00",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3109,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP224t1",
+          "public" : "3053308006072a8648ce3d020106092b240303020801010600033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3110,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP224t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca05000000",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3111,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056308006072a8648ce3d020106092b240303020801010605000000033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3112,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP224t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca060811220000",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3113,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP224t1",
+          "public" : "3058308006072a8648ce3d020106092b2403030208010106060811220000033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3114,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0000fe02beef",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3115,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP224t1",
+          "public" : "3058308006072a8648ce3d020106092b24030302080101060000fe02beef033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3116,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP224t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0002beef",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3117,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056308006072a8648ce3d020106092b24030302080101060002beef033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3118,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543000301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3119,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543016300006072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3120,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca3000",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3121,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606072a8648ce3d020106092b24030302080101063000033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3122,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3123,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543016301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3124,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3016301406072a8648ce3d020106092b2403030208010106",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3125,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "3047300906072a8648ce3d0201033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3126,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "30818e301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3127,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP224t1",
+          "public" : "305d301f06072a8648ce3d020106092b240303020801010606092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3128,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3049300b06092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3129,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP224t1",
+          "public" : "304a300c0606092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3130,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP224t1",
+          "public" : "3048300a06072a8648ce3d020106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3131,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606092a8648ce3d0201000006092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3132,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606072a8648ce3d0201060b2b24030302080101060000033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3133,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "30543016060900002a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3134,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606072a8648ce3d0201060b00002b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3135,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606072a8648ce3d0201000006092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3136,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606092a8648ce3d0201050006092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3137,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301606072a8648ce3d0201060b2b24030302080101060500033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3138,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "304b300d068106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3139,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3049300b06072a8648ce3d02010681033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3140,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP224t1",
+          "public" : "304b300d050006092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3141,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP224t1",
+          "public" : "3049300b06072a8648ce3d02010500033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3142,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301404072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3143,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301405072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3144,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301407072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3145,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301408072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3146,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "30523014ff072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3147,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020104092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3148,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020105092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3149,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020107092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3150,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020108092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3151,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d0201ff092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3152,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "304b300d060006092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3153,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3049300b06072a8648ce3d02010600033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3154,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "305230140607288648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3155,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d02010609292403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3156,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d028106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3157,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010186033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3158,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301306062a8648ce3d0206092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3159,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301306068648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3160,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301306072a8648ce3d020106082b24030302080101033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3161,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301306072a8648ce3d020106082403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3162,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "30553017060a3262306530333032316106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3163,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "305d301f061236303836343830313635303330343032303106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3164,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "3053301506072a8648ce3d0201060a32623065303330323161033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3165,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "305b301d06072a8648ce3d02010612363038363438303136353033303430323031033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3166,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "305b301d06103261383634386365336430323031303106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3167,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "305d301f06072a8648ce3d020106143262323430333033303230383031303130363031033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3168,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224t1",
+          "public" : "3059301b060e326138363438636533643032313106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3169,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224t1",
+          "public" : "3061302306163261383634386365336430323838383038303830303106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3170,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224t1",
+          "public" : "305b301d06072a8648ce3d02010612326232343033303330323038303130313136033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3171,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP224t1",
+          "public" : "3063302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303036033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3172,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "306b302d0620326138363438636533643032383238303830383038303830383038303830303106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3173,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP224t1",
+          "public" : "306d302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303036033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3174,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224t1",
+          "public" : "305c301e0611326138363438636533643032303165303306092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3175,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224t1",
+          "public" : "3053301506082a808648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3176,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224t1",
+          "public" : "305e302006072a8648ce3d02010615326232343033303330323038303130313036653033033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3177,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP224t1",
+          "public" : "3053301506072a8648ce3d0201060a2b802403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3178,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP224t1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010603",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3179,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010106033c0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0000",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3180,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010106033c00000004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3181,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3054301406072a8648ce3d020106092b2403030208010106033c0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca0500",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3182,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101060381",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3183,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP224t1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101060500",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3184,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106013a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3185,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106023a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3186,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106043a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3187,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106053a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3188,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106ff3a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3189,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101060300",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3190,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0204a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3191,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473f4a",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3192,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301406072a8648ce3d020106092b240303020801010603390004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473f",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3193,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3051301406072a8648ce3d020106092b2403030208010106033904a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3194,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0104a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3195,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3056301406072a8648ce3d020106092b2403030208010106033e2004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca01020304",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3196,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP224t1",
+          "public" : "3019301406072a8648ce3d020106092b2403030208010106030103",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3197,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP224t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a8004a8e08626beaab55a991c68b32c8d4ddd38b97551bee6017a0fceb4f3682419d9918a05139986941d58cc8ce33c7cdcdd0b7c820fe1473fca",
+          "private" : "084fd24e13abcbf88348ae5fbc34df53b98107f528297c3da666e29ea",
+          "shared" : "a11815ed12db6684a8bfeeab0da0960793c1278ca67399569fa1b23c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP256t1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 3198,
+          "comment" : "normal case",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000481fec1314ce8ac7e9456b95fbceb2f6c897a2f17abd6092a78b00fb7d8534abe10ff1b436faa8d0bea8c86b720c2d17ea05f0e946f2c0a85a949b83d7e0f2be4",
+          "private" : "09cbd52d2aee63e003d94660046f7ed6e724463abce250ee1264c94d0c9c9faa5",
+          "shared" : "71b37582210878538d83f4384f1843227449b34079d6856d5c5915ad8e747c83",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3199,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP256t1",
+          "public" : "303a301406072a8648ce3d020106092b24030302080101080322000281fec1314ce8ac7e9456b95fbceb2f6c897a2f17abd6092a78b00fb7d8534abe",
+          "private" : "09cbd52d2aee63e003d94660046f7ed6e724463abce250ee1264c94d0c9c9faa5",
+          "shared" : "71b37582210878538d83f4384f1843227449b34079d6856d5c5915ad8e747c83",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3200,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000440dba5f4c16ab52f2f2ec98dde1c5ab1616e8d66efe2fab27357fd5fef2884d706fc02dad5b8250415f87e5e666a8b8b2a3c58c21ff6618e313f9a9568297d51",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3201,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200046da9622d0b7dcd3e47a9cec88edd963b58dd8f9bab8c22d574bb628eca0fd7d90f2fc34b570678cc74b7704caf77856afb099759b9f16e9ff34a65ffb4a58dc5",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3202,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200048040001f2d2c7d5e1ca2e0deada348a85f696f0330f9c4bff4d8d046711656f414f028def3ae26e341913abd0eaf4097208ececd788998f6bb880f68304a3ebd",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3203,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000436734aea2de9cc2c3a1e4d552c564892d0a2711688d8a5323e4241789088c31444317ad73b3d38bfae25bf440c86d4b0da608bf1db3ffb66681592f5c046caf2",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3204,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000496a571535786b9b4de1fb339b622669be538913bc8fbd9ba36951a3fb3ed45b35d4cfa5c65f75a20caff34fb7ce894875a348a86025b889c4ba3e6bbceeb0429",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3205,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000431efe34c91a266c95333caad8e3f1a8402fa8c2469f36f5e6bd68c7b94c6460d246b99e6b31c8582fe17efc4ae52ba9355ddc151f90f59826e96e857aab32ff2",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3206,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040841a48891e8bf0364fd95d4f267b98397aec9394596a1dee3be6ef42df4c81e69b05caff854286ca024becaed6bc78cfd8901c5239d41fbc2f7b8a67b90fcf2",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7f00000001fffffffc00000007fffffff00000001fffffffc000000080000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3207,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040921c4d6c8820e8fd5caf53d1c76db6d1bc2cb6ccc3747d62684ba685ee8679b44242a2b919497ebfdbcdc089519fe086ed08bcff64d88f93cc526fb8f792383",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fff00000003fffffff00000003fffffff00000003fffffff000000040000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3208,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004412cd2d2dbe9bb969d752b344c6b8625fcaf251bb58a26fd4f78e945bb306490726193d831b6d582f5115760a1bdc34a794eb21aba7328b645577b9109106361",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3209,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047a9334e25e896519e5f87f849f9a0b9700654c98a686dae2672bac8d7bfa39251a395b7b8de3654b8ff4330ee35f3351450c3a4a1dc5e8da150d4de5c85750c6",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3210,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004848d508c5d95e9765bcd30509e51924ba5cac5ee5bd471f72fce04b51c10f94523e302ecca89ea1482e3ab71749b65125dbf93b0f152ad168693789646806119",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3211,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004277888653238655c528a8056185383655f6e15fafac3bb72adf962cf1bb11ff60f552ff221d486435e2bb17aca644b4d9ffdbdbc4b9be0e2652c8a0e3b277bc6",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3212,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200048e7296b1c4aeaafb1fd943947cca52910e1a2d2fe7f4ab160fe846194212887401eacc97fceb6edb8387374853f690ec5fb9f66f7d04ad7fcd2b895c06efedf1",
+          "private" : "6546f19660be42b6455813d02dab822a1c55529e43179dd5cb77cd16b2c4cf4",
+          "shared" : "a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5375",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3213,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000400000000000000000000000000000000000000000000000000000000000000011fc3c8c633ad5ff802caa3b6feb8cbca4505124732e018e6ff97f83ae0afccf1",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "5823cec0fd56a5fcc13c992d37e8b7443bb9659584445327d61da2a5926324f2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3214,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff276a3e8236ba6aced8b480755508d57c673ab2d9261b4a947ebeff4ca7742e88",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "14c533b14c90ed53613117804f36ea4e3ef8c019dcb8b2e9117a74aaaffb4dbc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3215,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff37ed59ca49554b633d1af4a83a5da34e1d83e5adce8d0af546c16dcc68ad3100",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "6b529ef3f2e5d22c4d30bacdb04ef2d111e66602545ca915d1fd6fe6319a848d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3216,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1e102fb9439dc3c67594167fb347d84cd9b5ba5c7f24d0944776bc89610dfdff",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "4f9fd93dd31e2543214baf7ff31e04f980f268d606fcc771c51e123d8ce383ca",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3217,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004000003ffffff0000003ffffff0000003ffffff0000003ffffff000000400000040f405523892b903924b816a5d08d45a203b31a71b44156cd2f18133aab125e4",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "5cd12184cd353efa93426fc6d02890dc8a0a47bc82fddba089a1b00f6b1ecc5d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3218,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff461f5925012b2d3775fc57374560753112a358419f0716ba3c81f3b512340a5e",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "2bf6908e5e99c5bd6c16b481208a137e3723ce75ec88817003aba0d35acca3cf",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3219,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047f00000001fffffffc00000007fffffff00000001fffffffc00000008000000054a63eedf5deff41b4c7cf26f577ad0620bbf3c27282c974104538acf9c7ed9d",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "06d07069e2b8595f2d91a3ce1e6eca82bf9a1a326c8fae40d6157b94666433bc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3220,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047fff00000003fffffff00000003fffffff00000003fffffff00000004000000039bc0a48acbed201ec473e44ead6d93c7ec68ae290985aee3ce87a813fd0cd0c",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "54e7e49f6eb2d7e122b629d64e7dc1b1d7470a4dce19a9a6a00690606a2de9e8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3221,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008002241e6549c3b95fb141b04918593dd00fa1eed143742938147fa9d6bfc79c0075",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "1e87e52ee55db4c37146265f068edd49b2b8339c02570989913f9e8311ab9160",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3222,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047fffffff00000000000000ffffffffffffff00000000000000ffffffffffffff1414db105804e432c04f20fb3f0012049df4a2fdfd3d4504e98f032f1dfab04c",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "a8ac009aa014fcc7973c916030df55e06c3b340642e01eda0842926531ae30fc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3223,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff198b3bc42419a40dc691048471ef20c36b32d55907419c6786133a01d29a72ea",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "5ca00511c23e8039887f67e66828d84af3ab2b742afc01fee24b204868b59f87",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3224,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200048000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000002b0f6495d600130c9dc5c1644bc40c21d5fa318d259a1dcbe81c433453700c0c",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "91edfb28973fd0489cbd6af94b3be274358651bd2458257034474c69bca63f62",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3225,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53751fc3c8c633ad5ff802caa3b6feb8cbca4505124732e018e6ff97f83ae0afccf1",
+          "private" : "3717e8add3e1bd89c0761b3aced7b673a0830e477c2b6a76bf1a909b3943fdca",
+          "shared" : "7c6d161b5cdb11b115b855ba23989e6749b012a1990bcc7812fde066de83fcc6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3226,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "3",
+          "shared" : "170e872994f10d6328dc27163a73af400d6a206cd13cb3ecd7c8fac709f22478",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3227,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "73fa6aa713444cc695cce1a6ea2299b5c09bb0dad21958e6c14524d2beca3d32",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3228,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "100000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "2270bcecf6f71f10345ce24b1d4c878864b80cf79228fb2531b13d95bb0e98a3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3229,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "23a13d59f8adf5a8541bd2e5a9d82cac39ee5aefb89f105bfc162baa621c308e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3230,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "08000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "80df8cf4d7e7e583b266f129540adb4d9e593d098045d519c7b5bd7192d74d1c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3231,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f6901e0e82974856a7",
+          "shared" : "91004e13171062eb7d1703c4c47800183aeaebf55ba867c736c496c90eab5428",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3232,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7900e0e82974856a7",
+          "shared" : "9a2bffea6f356160a6fd1faba7ee23646d43388a45f1bc4c61e9b37abfd52efb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3233,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f790160e82974856a7",
+          "shared" : "69989fcb376ff1f3876aeb6b40c5cc3b6705e368cc4eb54923f8bf5474e3042c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3234,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e81974856a7",
+          "shared" : "01d24147908f768d7b10a7aaa6d1adb6539716ea6fce191fcc8d4e63baebb581",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3235,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974855f5",
+          "shared" : "4875ed4b2bc7e7a0cb89d93b359fa72ddaf0377ddeddd33f62ec2450cd80e7cd",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3236,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485675",
+          "shared" : "315637f94d6776cc3928c1ffbe3c7004aa70b787cc0687faee1da5f9324a36c4",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3237,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485695",
+          "shared" : "54d1009ab7d3cb9d4314ea7512f7bc4d916ecd47bc9e491ad4a6d65a40672554",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3238,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
+          "shared" : "170e872994f10d6328dc27163a73af400d6a206cd13cb3ecd7c8fac709f22478",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3239,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200042053bf936c82599d38aef8ec650f502ad9dce3be818d32de66009a3137604f5b02317c894b1138b873b612714c95527021b4240edd45ad26ee96d507954c3245",
+          "private" : "0a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a5",
+          "shared" : "892923527eb529de963e902641c01701a66cd999d1b665717d7b11cbb5a96f7c",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3240,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bd",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3241,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101080342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3242,
+          "comment" : "order = -76884956397045344220809746629001649092737531784414529538755519063063536359079",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be0221ff5604a8245e115643c199f56f627c728e73c6855c4a9e59086fe1f17d68b7a959020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3243,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be020100020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3244,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be020101020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3245,
+          "comment" : "order = 17901173885223768702896718547912698493510841341785744190857633730178",
+          "curve" : "brainpoolP256t1",
+          "public" : "3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be021d00a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3246,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b0404410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3247,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9c0022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3248,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a70201ff034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3249,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020100034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3250,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020102034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3251,
+          "comment" : "cofactor = 76884956397045344220809746629001649092737531784414529538755519063063536359079",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3252,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e537730440420a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53740420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b04044104a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3253,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a78fbea6902fdc1e0fd7bac0461d36ed824c4ee599b13be4755c618d9b4c87a530440420026b993511becd9e2e8e4fd057665684ebefa73e3b74e443aab6e68f8421cbcf0420662c61c430d84ea4fe66a7733d0b76b7bf93ebc4af2f49256ae58101fee92b040441040000000000000000000004d52ab6d6994500000000000000000000000000027814487f98c572d5bb334a25e76e3006e477c870b53976e37ee5c10e855110ecc7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200040000000000000000000004d52ab6d6994500000000000000000000000000027814487f98c572d5bb334a25e76e3006e477c870b53976e37ee5c10e855110ecc7",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3254,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3255,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3256,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3257,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377302504010004204079bb2002f04e45b9ac910b3d4976b6044c07ab38227dbbef23f387ce339d2b0441044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200044539ff7feff238b3d6600afd89c1d9d1632bf369c410f9308946f1dd1ab6a0705d57608e0ef4b196f8910b96e92488a0f43c17489962ea46fa1a8315c8a960bb",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3258,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP256t1",
+          "public" : "308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377304404204e07d72c53e879c0f259c381acb65ee237c9552e4cdb59fe73a94e715a191ad4042008fbb4db3927d901a848a6767848a3623337ebf3366536a4e2d277dc6ff634560441040900f7c6de629845c960b5e7706a64a32fe1088889526ccf88db20152d8326d4a304f3e039560db2e108a7ae26d4671019dd8dad05bc4389c87ded56c181f805022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101034200040900f7c6de629845c960b5e7706a64a32fe1088889526ccf88db20152d8326d406f663fb68989c095d5d62e276af2662545e6876cf69dc9e57955ac65dec5b72",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3259,
+          "comment" : "public key on isomorphic curve brainpoolP256r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000405d543c663375d5b1da56e7be94e2b12f64b09e77e9eba762e38c8019f9065192dd3b9ef667e91f4100d192d43094807d143fe34b2bd184e8132693f006e5d8c",
+          "private" : "440583c068a2bb22adcc6862a1c5ca37abc482c919ecb15aba61cbbe16edf845",
+          "shared" : "2b907484a8b72f8dc85c38824dfec06cb1afe7d6d783ddb8ef441dc11ddce053",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3260,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00045e624ee5b36a73d10f5b91df3e272e637c31d4f121bbef5099e0b6903c20c85c13365d4e440ffc327ac7f601651e98f4079c37ca07ca02e8",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3261,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e9c9ee8e9ff023033538e2b57ca39d89b89007655cc879ccb8ae0bdca349b06222e2648f4a4fd7e011c08df2b55450e39a8d8bafba002f1e1decaf67c1af69a3",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3262,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200047e71be8b085f5229dd78b8531f979a19acf3f1d256ccc3e8ebe77cdfa3cfad28cb0e746ca07df8c178abe40512913103b518ef0b567de307df2a605a57a495afb3c49a907ef4f6c1927c7e67132814fe7593dd9f6d661f799c8cd6f6a67aaa2b",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3263,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "30819b301006072a8648ce3d020106052b810400230381860004012624311fbf7b97f48d2c6eeb5a4cd0e3283f4532be8163238bab84d63096eb0b054bebbc068a73decda62f5292827796141018fe994da19d16c26d59d34fabe97e01b7c3b7cd17e7cb3e7a4573bc10780d3ab52cccc57b3c091343202c421a491fdf9a494eeeadf5d54229189e990d366ce58f8a4313346a8106d3f4d79655520bb5e9",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3264,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004f79bff10edcf6198780932ec7c8e96497757de356889cbca20a0ce1fdc56c2b39fa4e56488691c4b9cbfc85090a57a6ca14d48f07e08acd52477cfbd0a1b51cb",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3265,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c538194901430105f8c27b1b07b7c412e8048d217c7efe6d659142c3a366f0442b22a3da35493b785c167cfa6301312e882457675a02bc4d",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3266,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b24030302080101070342000422ad0ff6c47d9f5dde955cb140e7d999702445d602c0012d2f252690761fe9189eac3213ddac2cfab64e3307b3e613d470af930f70d7d5be12c5b81a1eebc4fa",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3267,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000491ad1025970fa86236117b53c0a252300f7655d1101894ef5290a650cfc77f319293c545dc02fc1e3ffd728986b5b9ab44d78bda74a84cfe2109fdbdd0d47c138cbfdac1786e98ae05086242e3760adb",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3268,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004789bf4602afb992eee02b4802b5e5b8a278bbc68ab0e6ba845353aa9aa17abde66c459feadfab6912fa6e22cf27842d41556d346d7dae455b743f86004c40795eabb5e7223dd0d2ac5f975ec9bd6899beaee3f0e670c80daa4a929ffbfc9b599",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3269,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP256t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d038182000409c7c8f0148f365bb4ed3bb4880bd481b56cee4897b6356aeadbb77e9bcb3173d648d816b3f4b618664df79ace6b6a54a7be1641f379b02cb3ff2a779a86f6864f8b786452cc6ad3bf60140759c033c89925fd46fb139c89a7a6694c845d1c6b9d9c53a18fbda449e4ead2c2140dea09651c3b091fab14ec6eacf3642d040c7f",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3270,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000469369c422f986d3ae80647f12e5accd49082869d284efa7c31adcaf0b85b966cd79eccc5e82495a4e576f9efff6174cb28bfbe41d79929f6",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3271,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP256t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000485971e0872e195d79a8c48a7778859503c61a1a05251b85a02c833fca77232b710037ea3f2edeac37cbad71dfaa2d42019dc65014bcae9d261985707059263f6ecb4fd562fef71ad3e4581eb53114199",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3272,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP256t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000423f4f9aedbfdf9b434b18dd7c5a454a8d2a29ddc8db0b3b7e9fc593062c79bf0b543ff4345dfa5fd54b38958674b2122354ec3a9d94d48775ca63132b314967d1a6fc15d304c6347e2c7453d4c75492caf1dd192effe6204ce994d34e58b8a9b",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3273,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP256t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200040c4ce8a0a691ad2b86e02bcb929e180bd63b2e0818a7b4398155932c8ab814b90e003a8b39d6b7a923cd4627b7d73f03e7be201ca0dc91ba1d3da7af403bc9e092c4edde87fac055d0f7e72dbc804ae389910403829aee52f2b3b5b72618380077d8777dd2171217c30961e78164078e732d6c5d00f23a982b75647982e70342",
+          "private" : "3f8822340fb5077b260ad29564b8b7bda235357a90680268ac6756125a872831",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3274,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP256t1",
+          "public" : "303a301406072a8648ce3d020106092b2403030208010108032200020009989b9391330ab7ded98276f810b9c4c0f051b8fa004493e86a69434ebfd4",
+          "private" : "6be6bbe1fe2ae4d54d3c51a255e47d15562649c7a3c8ccb8058c006b4263936c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3275,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256t1",
+          "public" : "303a301406072a8648ce3d020106092b24030302080101080322000390df76513471dcb69e24321ecb87029309bcf2356579f097db6da5cb3fe54824",
+          "private" : "7cab8b63d45e3a8d16bae7c1fa1b7790660009f1bd369ecbf5bc0a268b5503b",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3276,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256t1",
+          "public" : "303a301406072a8648ce3d020106092b240303020801010803220002559565d0d9ed2706af2ed4055bf4b5d0d1a8400ead1b94ebbf35ee2ecfc45b93",
+          "private" : "7797ef897deb6b8cf263fb85874cc14acfae5d99944b7006bff434912b9bccad",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3277,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256t1",
+          "public" : "303a301406072a8648ce3d020106092b240303020801010803220003559565d0d9ed2706af2ed4055bf4b5d0d1a8400ead1b94ebbf35ee2ecfc45b93",
+          "private" : "7797ef897deb6b8cf263fb85874cc14acfae5d99944b7006bff434912b9bccac",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3278,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP256t1",
+          "public" : "303a301406072a8648ce3d020106092b24030302080101080322000290df76513471dcb69e24321ecb87029309bcf2356579f097db6da5cb3fe54824",
+          "private" : "7cab8b63d45e3a8d16bae7c1fa1b7790660009f1bd369ecbf5bc0a268b5503c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3279,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256t1",
+          "public" : "30815a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3280,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b30811406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3281,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b30150681072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3282,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b301506072a8648ce3d02010681092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3283,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b301406072a8648ce3d020106092b240303020801010803814200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3284,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256t1",
+          "public" : "3082005a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3285,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c3082001406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3286,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c3016068200072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3287,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606072a8648ce3d0201068200092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3288,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101080382004200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3289,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3290,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3291,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301506072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3292,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301306072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3293,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406082a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3294,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406062a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3295,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d0201060a2b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3296,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106082b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3297,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034300049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3298,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034100049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3299,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "3085010000005a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3300,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f3085010000001406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3301,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f3019068501000000072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3302,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f301906072a8648ce3d0201068501000000092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3303,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101080385010000004200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3304,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "308901000000000000005a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3305,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "3063308901000000000000001406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3306,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "3063301d06890100000000000000072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3307,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "3063301d06072a8648ce3d020106890100000000000000092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3308,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP256t1",
+          "public" : "3063301406072a8648ce3d020106092b2403030208010108038901000000000000004200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3309,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3310,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e30847fffffff06072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3311,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e301806847fffffff2a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3312,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e301806072a8648ce3d020106847fffffff2b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3313,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e301406072a8648ce3d020106092b240303020801010803847fffffff00049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3314,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3315,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e3084ffffffff06072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3316,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e30180684ffffffff2a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3317,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e301806072a8648ce3d02010684ffffffff2b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3318,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e301406072a8648ce3d020106092b24030302080101080384ffffffff00049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3319,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3320,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f3085ffffffffff06072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3321,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f30190685ffffffffff2a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3322,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f301906072a8648ce3d02010685ffffffffff2b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3323,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101080385ffffffffff00049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3324,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3325,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "30623088ffffffffffffffff06072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3326,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301c0688ffffffffffffffff2a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3327,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301c06072a8648ce3d02010688ffffffffffffffff2b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3328,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301406072a8648ce3d020106092b24030302080101080388ffffffffffffffff00049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3329,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256t1",
+          "public" : "30ff301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3330,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a30ff06072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3331,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406ff2a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3332,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106ff2b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3333,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803ff00049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3334,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3335,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a308006072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3336,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406802a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3337,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106802b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3338,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108038000049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3339,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3340,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "3044034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3341,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP256t1",
+          "public" : "30",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3342,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP256t1",
+          "public" : "304530034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3343,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30000",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3344,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101080000034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3345,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c0000301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3346,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c3016000006072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3347,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30000",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3348,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101080000034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3349,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30500",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3350,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101080500034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3351,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f498177305a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3352,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e2500305a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3353,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c305a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30004deadbeef",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3354,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f3019498177301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3355,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e30182500301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3356,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "30623016301406072a8648ce3d020106092b24030302080101080004deadbeef034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3357,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f3019260c49817706072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3358,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e3018260b250006072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3359,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301c260906072a8648ce3d02010004deadbeef06092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3360,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f301906072a8648ce3d0201260e49817706092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3361,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e301806072a8648ce3d0201260d250006092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3362,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301c06072a8648ce3d0201260b06092b24030302080101080004deadbeef034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3363,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305f301406072a8648ce3d020106092b24030302080101082347498177034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3364,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e301406072a8648ce3d020106092b240303020801010823462500034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3365,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301406072a8648ce3d020106092b24030302080101082344034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30004deadbeef",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3366,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062aa00bb00cd00305a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3367,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3060aa02aabb305a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3368,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301caa00bb00cd00301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3369,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3060301aaa02aabb301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3370,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301c260faa00bb00cd0006072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3371,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3060301a260daa02aabb06072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3372,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301c06072a8648ce3d02012611aa00bb00cd0006092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3373,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3060301a06072a8648ce3d0201260faa02aabb06092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3374,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3062301406072a8648ce3d020106092b2403030208010108234aaa00bb00cd00034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3375,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP256t1",
+          "public" : "3060301406072a8648ce3d020106092b24030302080101082348aa02aabb034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3376,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "3081",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3377,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "30463081034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3378,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP256t1",
+          "public" : "0500",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3379,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP256t1",
+          "public" : "30460500034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3380,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "2e5a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3381,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "2f5a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3382,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "315a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3383,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "325a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3384,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "ff5a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3385,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a2e1406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3386,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a2f1406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3387,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a311406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3388,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a321406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3389,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305aff1406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3390,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "3000",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3391,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "30463000034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3392,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3393,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "30591406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3394,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301306072a8648ce3d020106092b24030302080101034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3395,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "30593013072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3396,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP256t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30000",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3397,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c308006072a8648ce3d020106092b24030302080101080000034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3398,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP256t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a300",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3399,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b308006072a8648ce3d020106092b240303020801010800034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3400,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP256t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a305000000",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3401,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e308006072a8648ce3d020106092b240303020801010805000000034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3402,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP256t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3060811220000",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3403,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP256t1",
+          "public" : "3060308006072a8648ce3d020106092b2403030208010108060811220000034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3404,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30000fe02beef",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3405,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP256t1",
+          "public" : "3060308006072a8648ce3d020106092b24030302080101080000fe02beef034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3406,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP256t1",
+          "public" : "3080301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30002beef",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3407,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e308006072a8648ce3d020106092b24030302080101080002beef034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3408,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c3000301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3409,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c3016300006072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3410,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a33000",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3411,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606072a8648ce3d020106092b24030302080101083000034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3412,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c305a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3413,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c3016301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3414,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "3016301406072a8648ce3d020106092b2403030208010108",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3415,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "304f300906072a8648ce3d0201034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3416,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "30819e301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3417,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP256t1",
+          "public" : "3065301f06072a8648ce3d020106092b240303020801010806092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3418,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3051300b06092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3419,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP256t1",
+          "public" : "3052300c0606092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3420,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP256t1",
+          "public" : "3050300a06072a8648ce3d020106034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3421,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606092a8648ce3d0201000006092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3422,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606072a8648ce3d0201060b2b24030302080101080000034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3423,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c3016060900002a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3424,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606072a8648ce3d0201060b00002b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3425,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606072a8648ce3d0201000006092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3426,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606092a8648ce3d0201050006092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3427,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301606072a8648ce3d0201060b2b24030302080101080500034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3428,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3053300d068106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3429,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3051300b06072a8648ce3d02010681034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3430,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP256t1",
+          "public" : "3053300d050006092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3431,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP256t1",
+          "public" : "3051300b06072a8648ce3d02010500034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3432,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301404072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3433,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301405072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3434,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301407072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3435,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301408072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3436,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a3014ff072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3437,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020104092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3438,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020105092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3439,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020107092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3440,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020108092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3441,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d0201ff092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3442,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3053300d060006092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3443,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3051300b06072a8648ce3d02010600034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3444,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a30140607288648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3445,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d02010609292403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3446,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d028106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3447,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010188034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3448,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301306062a8648ce3d0206092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3449,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301306068648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3450,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301306072a8648ce3d020106082b24030302080101034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3451,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301306072a8648ce3d020106082403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3452,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305d3017060a3262306530333032316106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3453,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3065301f061236303836343830313635303330343032303106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3454,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b301506072a8648ce3d0201060a32623065303330323161034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3455,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3063301d06072a8648ce3d02010612363038363438303136353033303430323031034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3456,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3063301d06103261383634386365336430323031303106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3457,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3065301f06072a8648ce3d020106143262323430333033303230383031303130383031034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3458,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256t1",
+          "public" : "3061301b060e326138363438636533643032313106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3459,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256t1",
+          "public" : "3069302306163261383634386365336430323838383038303830303106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3460,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256t1",
+          "public" : "3063301d06072a8648ce3d02010612326232343033303330323038303130313138034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3461,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP256t1",
+          "public" : "306b302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303038034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3462,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3073302d0620326138363438636533643032383238303830383038303830383038303830303106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3463,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP256t1",
+          "public" : "3075302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303038034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3464,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256t1",
+          "public" : "3064301e0611326138363438636533643032303165303306092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3465,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b301506082a808648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3466,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256t1",
+          "public" : "3066302006072a8648ce3d02010615326232343033303330323038303130313038653033034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3467,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP256t1",
+          "public" : "305b301506072a8648ce3d0201060a2b802403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3468,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP256t1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010803",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3469,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010108034400049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30000",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3470,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301406072a8648ce3d020106092b24030302080101080344000000049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3471,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305c301406072a8648ce3d020106092b2403030208010108034400049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a30500",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3472,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101080381",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3473,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP256t1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101080500",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3474,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108014200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3475,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108024200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3476,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108044200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3477,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108054200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3478,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108ff4200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3479,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "3018301406072a8648ce3d020106092b24030302080101080300",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3480,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034202049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3481,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc323",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3482,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301406072a8648ce3d020106092b2403030208010108034100049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3483,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP256t1",
+          "public" : "3059301406072a8648ce3d020106092b24030302080101080341049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3484,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034201049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3485,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP256t1",
+          "public" : "305e301406072a8648ce3d020106092b2403030208010108034620049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a301020304",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3486,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP256t1",
+          "public" : "3019301406072a8648ce3d020106092b2403030208010108030103",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3487,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP256t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034280049822e03e4d18cd2d9abced48ba07f5b6681c5c1782f6ca9884240e5cb007d5ec5036aeb79d9b83c0153b3cb8162392105955c07fd140f369a0260321ca1cc3a3",
+          "private" : "200efb4ee992ec95e300438e498ad5e0ac0f45020a278a4a07977e716885ed63",
+          "shared" : "2373ab7a4922ae679f4135aaea1dc397b074c07c6ea9f61de24bd47898a8564c",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP320t1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 3488,
+          "comment" : "normal case",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200043ebce5cdff67f60919dcfd9090fd9773fc1666ae48242b45b05717f8ecfa196052aabec5efcfd7d70acf6c4cee85a7cc62033c9eb07143a73f6b6ceca7e3ae38425b20bf03ecdd66e1f154494689ec1e",
+          "private" : "0d2de78391de4e27f6a7d8a21d9393a470b52110e8e9d5ddde6dabac2663608e1b150ae67cbb6b719",
+          "shared" : "2d7f82b3026c3b66e873771a6dc21b9cba21b1ee9c4f67e1b0d9ddf7e465ef1db39914881e8831f1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3489,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP320t1",
+          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a00023ebce5cdff67f60919dcfd9090fd9773fc1666ae48242b45b05717f8ecfa196052aabec5efcfd7d7",
+          "private" : "0d2de78391de4e27f6a7d8a21d9393a470b52110e8e9d5ddde6dabac2663608e1b150ae67cbb6b719",
+          "shared" : "2d7f82b3026c3b66e873771a6dc21b9cba21b1ee9c4f67e1b0d9ddf7e465ef1db39914881e8831f1",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3490,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200046975ae12f6ab7cdecf38dbfc73c303b7e761bddba9427a0962c52e8bc8fd4d50e2c616e272d06fd2a30b183ed92bc397e461311ae7606da7f51e03b43500d19844f77f2fe06b5991b79a6ae74e45d8f4",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3491,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048455ea50e317f100abf686261d54b74571bbaa294a0be35f01129bfe8384f6be19446e564ec75d267173e86e516ab37f4aa7478bb2b8a44b6b89fba41a56179c82cbe0c28d3df0464ca1e021bf1eecf7",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "0000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3492,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000487da65a008a062881c8e3679c8a246ef33ec9b45767153b8aadaf045161088a11efcd9da42ff99c6132f8e6ce692efb7ad39bebfcfa965e7668b822251b02c3113d9dc480c42ed0910246a86268f4d2b",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3493,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004afa84bb06816946b7809bf03432872170a38f50807a38f4610388568661652d2bfad500fd74d324c7e1a4cff63144fb9b7c90410476ce4ff0d00849673fd7a830fc0f442ad40dada4694f1de1caf67ff",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3494,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000442368c6d3ccc9e6b4c55a2cf582dcf6c332c3ec5c12983e4626a904f2287fde5a5c441ecbafbc84e492e3670173068faa344ff7e7a454d8dbcdc126422745340d1b414d52ec50481ed150c2cff568912",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "07fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3495,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048d90e9130b674b3b5250e89fed97f64f4634d26f3d606f9de279d059143d8750b21dc0cbcffa6a9897c809e917ce013eb0da3a42d60cda9030556b11a2d5b70689a0d1c585505573317aac201e283895",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3496,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004b75d0c352b5df8536c22f60286595edbe52b7bf109f1e72b01904258c017359284238b65a05352d743a3793eff3628832b976fec09cb4a2b59eb5923be4cd4e0a6f52f62fad9543f10616acc31f3872e",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3497,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004607fc2fb45fbe982612bd136ea06ddf8ad265edaa884ca20bfb288fdaf61c1a0896fa3947159321a63f64eed7d48ed529adc61c782eb6bbacbab0a2edcbedd183ba7f8e1653791d438d9cf8a88ccdaa2",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3498,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000468b7b4842c85652f3878c7333ee9b372010ebde9a318a9e28c9cedca3d1bc9d0b99271dbdb40174e3bb85d9b325eb3fc2713718b3f64b3ac98b2957e27bdb398995f5dff1ef5c0041407dbe780e8341b",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3499,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004b3658b493862d59a24b0344143315348d8cd9f4ed0ea4439a66c22bb0ad8cf7e9b7dec834f3a0f9a92d12ad4e9e6ac596a71a376bddc52601ed53b5b62faab2bc39db872a983b13e93d1c1097b573b05",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fffffffffffffff0000000000000000000000000000000100000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3500,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000437d53ab43b7a7318b5d56e2e174d5184f70d7aeb7c56800530165da99fc981bf59a8b300e21eec55581a2a66c270481906d7134f4e02be48db2b59dafe0f23155f2a6cca69db3491074e9434686b5515",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "7fffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3501,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048bef4afc02bcf88984e43fadc7912900c769d8f5dc00733656487f04b777b803c2fdf1a97f5af911c7b81a31db0f948b3d4d75a06eb5203f1a449546e3f8569f0b9be7c7b8ff0f00cf989aef299bf83d",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "80000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3502,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200048cf86413ec2ae3579d69e5fef52065c009a080b3570b1b3efc40ce9de0138025c17b8682d2600439b61f3182d076f3fa95da23407dd667fc9c7be3eb1f5574fbc3f0ab5d60d0cadf64b5c81e911e2868",
+          "private" : "5a21b0e16c6eb888381f19009dae7a91274e8f18e16674ee6c2bf782e24c2f0cf994daa6fe60ed10",
+          "shared" : "d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e26",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3503,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004000000000000000000000000000000000000000000000000000000000000000000000000000000020118c1b04101ec5f9b33eb6eeffec1b7461b690dd8416ca34c88bee64a1afd246748fea0f3e6995d",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "58f6281ef863cfcd121f00e0d89bb625d9c3eddc97fbef3da989815b7faefcf84d52772dd2bf9b1f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3504,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000001a1b1142e0e20a4b4267477ae401951426791db66a8622061a18fb7f7cb4048270fc083662c5e36f",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "5aa75e8ecdea561d0948411aa7a54cd1f3ba0463b5e4aa3784f8953e2a2d6f4723b890de0d374947",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3505,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff000000010000000007b13cc61ade2a01206c9c7a577fdce73b2faf70c3b3c69bd57a466561111f9326795835d3c2ba79",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "bef5050949ce67c1463dfe11c49e107daf6b04e627a4e6b149e818e5ffb3f3d793ebebe6eaf20c90",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3506,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff3fce9819335760e603d29d8736c5cbfe7d61af21d7fa3007b33578773eb7793697303fa06ce47b8a",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "9d35ad36ec1fb7c9687649766a44fd6595fde0bdded2199e8a82570deb8bded77622f311b77272ac",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3507,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000407fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff09635008f0dfbfbbbcf18db72d5e0608615dba0af087cd3758ca1defe58ea232ec76d6764d2d0d17",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "aa1b41fceff4ba87591a145bf3a1b44adb6dc794ca535c93f50cdcb03a35f4d063c573d4db19512e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3508,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047f0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff3f4aa3fbf2c3f9083ce64cb067189fc86f0009522b0bc6cce8b9aa6184fe8ee2a6d2db2191358be3",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "9445cae9d8b9e5fd8bd3d73da56a3ba37ff83156e1741a4471f4ac0132bc24382eeb3204fc1e41ff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3509,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047fc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000110d6580b65033f2f1a38907567d7690abcddb0dc339a011e7cd3dbb4ae919d2cbfbf9bb2520bafc9",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "98e6af1ee83717fbbe7b19146e2bbb85886262bfa423c6155b5f0283abb1d2878210efcdaaed364b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3510,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000016b3daf997cd6c24fe855474692d57c736b1518afd4e9e1d2cdab20ca9a6bf9366375f3f811418a",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "08192a427110f03c204fb6d7352662acb338f9711b4576153ee09421284d1757dc93191f11982e82",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3511,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff1b95c563738969707edf3c3e52836a73ef99f75589132189d4efbb02e21ecd8574d8939bb5fb4759",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "1896fb3f034e8d3fc3992a4336296c1d974a4a4770fb987363fc23196db786dd7656a512d02f9360",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3512,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047fffffffffffffff0000000000000000000000000000000100000000000000000000000000000001118923a0b64a9d7118a97f891351928beeb785c7adc637f553d14eafce7a87d4b79065bf8bdb1f20",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "7a7f45bfb4d8de6972ab547d204cf14489e5be7d2fecdcac6fb91d234ea6e5a04db6b6c2ee345e3f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3513,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200047fffffffffffffff0000000000000000ffffffffffffffff000000000000000100000000000000025ea72c6de93298dddfb9823ce54399149f08b73220573d581171caa19d6d19b0d047c72bb4d7248b",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "050fb12d8129bceb3360b1df064687a75438e4c36483edce3254b658e5a2cada54abe6182d16ac2d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3514,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004800000000000000000000000000000000000000000000000000000000000000000000000000000005dd547d9224452a96d9375e4000887969764b1dcaacafcdd2f111fe85fe91225ad37f26d4ceeea19",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "c0dfb94bdd6bf640043a6179830e5a8cec1eeb8028c5ae9bfff71e251bd1cf73f9014196f86341d1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3515,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e260118c1b04101ec5f9b33eb6eeffec1b7461b690dd8416ca34c88bee64a1afd246748fea0f3e6995d",
+          "private" : "0a0fd4aaf14d5c4f13a2b5afb677d44e2087856cd75bb7bd90c628e4761defe1485de4fbb97ae3aca",
+          "shared" : "aae31f9598c7491b6c2cf680e6e6a60a5e21b07ace64612b0b0998fc2cee54cc984f75cdc2c589e5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3516,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "3",
+          "shared" : "31c02835052e6a04448a10b2b8af64275ab78a4b66756ddf72d9324b0b915021ebf0c8f33aa334b1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3517,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "cba435a0d80bb18cfabea806f885b0c9531920f64cedf6e465bea89db462b183c441c34c7d976b00",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3518,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "8ef6f50f1d1204f820f1d7d05ba06684f922bca07f9af9ce4820849791595a38385ea88614599ec9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3519,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "18c6cf3f841868380ee533fc70d9ee02495547e6773d1adad816f367a4fe0144094fc73a2692dc02",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3520,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "13f636563f9bf74a284dbb6fbbc9674437473a3b18007625a0c9e196e548463d6c5ecaafc8e9ae11",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3521,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e88691555b44c59311",
+          "shared" : "7c284bf40bc88ef5a1944f871de3be7f28cb006c5e23af6f479456403f740495e0157c7e2921859d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3522,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98681555b44c59311",
+          "shared" : "033b7c9c296b9063c19746a02669b400b95d50052c603d2503f5998334a84f1abde8dff32ccaf574",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3523,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98689555b44c59311",
+          "shared" : "c45a8c78e5161961fc84e66c8046c8d4599b27225cdd4ebe2462c82d8906bb3cf6e8a6e5cddcb6bf",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3524,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555a44c59311",
+          "shared" : "6fbb8bb43eccc86dc13bf7dbc2650945334176fc5f1303a1055f9f4cee38d78747657e38846e25e9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3525,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59233",
+          "shared" : "147c9b3b4880f7f6d4eb96f891672cb0d09a6bef15574ab2a43f09ae7f8090cdfa81517e098dac1e",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3526,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592b3",
+          "shared" : "47f4412278edc51ba0635853a82e033b164a68194d4c3e2492017432daaa8c35684c343f701f6b02",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3527,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592f3",
+          "shared" : "a64c2b075abf446a9ba43f6ffcefda795835ab2e1c4d19bd9c9ede59cd9eaf9c831a520b1e0ce269",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3528,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59303",
+          "shared" : "b3b25821ac9b07c614f6fce7f9a1c2325d3cbd51cac82dadeb79037a23bce03b0352407ccd447af8",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3529,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930b",
+          "shared" : "594aebd8010757d15f79631af0e481310359e0086e4e988ab5525a9303aaf800cd4ef123ceb68875",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3530,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
+          "shared" : "31c02835052e6a04448a10b2b8af64275ab78a4b66756ddf72d9324b0b915021ebf0c8f33aa334b1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3531,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004aac3566c8e494d7d52976b107a9b9058e65e541c01dab5d4bba90658a655890fd2c48d29f0b972253955fdbd31c6328df2e893fe5b401ddc529c4ed70a9c46badb80843277b8f9874538312460d54dfd",
+          "private" : "0d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f",
+          "shared" : "c7e67dc2f64d0e66841777a6f014340b8a63f42024c6cd5ac5e10cec3b02a2d050c2fd8f078a754f",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3532,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a0352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ec",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3533,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3534,
+          "comment" : "order = -1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c30229ff2ca1b8dfc943b0481ec387a12dfe1f9a0670305a4970ed5cd2b7d1381179a716796eaaa4bb3a6cef0201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3535,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP320t1",
+          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c30201000201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3536,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3082014b3081f406072a8648ce3d02013081e8020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c30201010201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3537,
+          "comment" : "order = 410618568360611413177547474029944166748205379750040840301822434183392856467013123528027",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201713082011906072a8648ce3d02013082010c020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022500d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b0201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3538,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef4223403530451040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3539,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c5022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3540,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201ff0352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3541,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201000352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3542,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201020352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3543,
+          "comment" : "cofactor = 1763593322239166354161909842446019520889512772717686063760686124016784784845843468355685258203921",
+          "curve" : "brainpoolP320t1",
+          "public" : "3082019d3082014506072a8648ce3d020130820138020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3544,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201723082011a06072a8648ce3d02013082010d020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e2730540428d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e240428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef422340353045104925be9fb01afc6fb4d3e7d4990010f813408ab106c4f09cb7ee07868cc136fff3357f624a21bed5263ba3a7a27483ebf6671dbef7abb30ebee084e58a0b077ad42a5a0989d1ee71b1b9bc0455fb0d2c3022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3545,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900ba0dc09c4fca91f8d2737a6773e536418f90d7febb8d727ebacde533cdbfbde0bdcc63663f5da3bf3054042819508683e6f1bdbf0ec8fdf75e1caa2469fef7a83b669b7094c4d4b8aad42e483f07af4bb2558a650428a7f561e038eb1ed560b3d147db782013064c19f27ed27c6780aaf77fb8a547ceb5b4fef42234035304510400000000000000000000000000237bc7178cc16000000000000000000000000000000000000005434925ffb41a70da2dfb580b95e1fb8d86eb9cd182cd6f310275ff52ad21cd8e91220dd9f7383cf5bf022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000400000000000000000000000000237bc7178cc16000000000000000000000000000000000000005434925ffb41a70da2dfb580b95e1fb8d86eb9cd182cd6f310275ff52ad21cd8e91220dd9f7383cf5bf",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3546,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3547,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3548,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3549,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP320t1",
+          "public" : "3082014c3081f506072a8648ce3d02013081e9020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27302d0401000428c314f3b8833bf034c812d33b2ede840d7cb7e1a42dfcefa1e58e24553b9016dc1efc594caa02fec104510483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201010352000483defecd610d44b01e5dfa4370347445d43bf2896a3f3836be1617abcf69adc185759903c93275a0957e2ffc79cb4f9649279465b7a33e6b313c4f43af13fd7b6196395e1d4768268b7ed1b6249620ea",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3550,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP320t1",
+          "public" : "308201753082011d06072a8648ce3d020130820110020101303406072a8648ce3d0101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27305404287241d18f74d574f37e525e2b4ff39282fc7069c02a6815bf011a163cffff0c9e9c85e36d9cf5f10a0428268fcba79bb005f6d54911b36b9252ab4894da726d70c60e1882cd324098bb4b26b969045ab49474045104614fb5520ddd09f9c723280221111b2f41dbf33d02e9f0579dbc5341e1ed1709756298e4491e42bf32d65596f52644fbdc1db3fc1fde0bef142059c0536522d36b24dc255dfaabeb0afcb547c8505235022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5931102010103520004614fb5520ddd09f9c723280221111b2f41dbf33d02e9f0579dbc5341e1ed1709756298e4491e42bfa087f18941960abc051ec462b223d476e56f75e6a38eeb1be46dddc71a99403df1d75d6a2962dbf2",
+          "private" : "2f207c431c6ed8352c5650250cf85ff188134c9aa283dc73e6913f8e2694899db3596a3d74b15637",
+          "shared" : "1ec3bfbcd62f6874660a7f62dcbbbdbf399e343d852a5a54c6e50993bcafcde814993d542bdeab12",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3551,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004aec08ac7071001a9ca046069d4fde5dea62029b92652ff8f5771baa59c03cf4e7a113ed38935c22689666c501721639937edd6eb3ed95148",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3552,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f0291188ab6042507fb7139957761ba533ad965178045cecc2abbaf13dc3ecb0be0e2af323f895a0a7f0a0679a4f298a9ec3f5fd2b21aceeebcc43b011c478b2",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3553,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200049ec9f13ba4e199163afbfe75732d88ee090ce422e72bee4a3f519f7edc11c0a1217034f0ead23b0c067a9a1881e99f21f9fecebaf0771369a217216566ff6241b55d0dcc671551cb462bfa70e6873722e685920b4a2724f00faa0e5d15725e98",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3554,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401c24023a1548478a17f7af184dc7905d2baf98db212dc09ff86492d4280c8185a3a04c78cd6104f82ddf7646068221bf329d63ac737162c7f49c1c29d89fed13a3601ab06e27c0fa59befd9087533a44cca6dbc033c6f80e4d64ceb761153584b634a6015786a29018722ffeb63f3cb5912f663dae78c37718eb83aa45ccc9d89760283",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3555,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004628386ad21412db5329c0126b0718fb8ac31d1e5d43bd6b5615b2f7e800ad5a357d24fd0ade1a40f988cd25fed98fe3c3ba46df502052ec944a085e5d1cee849",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3556,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00043c210ce8a5791d3ed2900b930a807e752c68847ccde2bfcc8f57347a99d99defb102d42a97514b2bec7de009ff5ac6c7f51ff4a1807ab146",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3557,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200041f2f5f6ca48446cb3e8c661d83386d721803d32a41ee9332782f193a0cab4a5a48dd359c6c58c9380c16507d7a3edabc105a03bd352a3c745b9c0ed0fc122517",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3558,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010903520004b018528b7ecf6c6b93db9a732a9855b4cc96d49a6c99cfc1588557bf7328b9dbfb77eab00dd3f525678da903f79bf8a86fa1bcb112a3141b822036a8d6462fcb1080fe724d9c5a939ae739f84bc93603",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3559,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000402236ac5f64ef25b3cebc036b1ded6f143337d2136282c09ca40ca7df6dcbec492fd4feacfac327807701ca1ef503ce20ea5b9bb4492a8a7337dac78502b55ff6c5e7ebea224f88e0d26861b8f11a2fc0c1ab1d54ca157e5b81aeec8cfc80b8c",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3560,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP320t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004107cb105bb827381310bb1d402d811d3fab73ce7ad418c855eb185993a827fc35da7c6d95a01720100db7bef7e7611fc365ff8a428b8307ef330f2406fe7843b624473df73b11277740ce6c3313d3c50d7edc941716177f9149287d219d998dbdcff2845ba38fd66be8b39715f149ffc63615c364e9c2715d9e4437ccfadd757",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3561,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004597a497ac98ef4e7b57eebcb76dbf80fa90010d39d121f3f270c2997c8097ef32ecbe4a7009d7cd2fa3b4de77b880ce58e7ad47c08c6969a",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3562,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP320t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200048a46d0bac7b26b02441ebab397140237a1d6551e4f9f63cd1b5129c719808ee9825d3ec5e1c68142c886e2b5bca39c2840236669c7aea799cf31beb70713fff8",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3563,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP320t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047e8ab74cbcc65a0236721db3f23d039f3bddd753e5f9cdce1466e0c442b70fb1cb3c1de388722307d27899fb6cc83cf3381f7690c0683655d4486415facb060ee76cfc85bac41df8b8257f3c2fcbf67a9553846e5ac960b0adb7c05150f3d321",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3564,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP320t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200046c7532f8502d34b9db6ea5e52cf3a053934d5e576b620014f51bd15707a77d5be020d2c112e470c516e29b6d63f5ebcb59b11be095a91226e7aed27318dca9e29e1f11f4b14e67461bafa29eeb8d7a81a82890cfe6781dee4c41747eb4bf0ae3a98997dd9cffc955de7ca1abcfe48e83da4a161e9f9a2c75daf9de71722b4be4",
+          "private" : "083ffee8035954e92b633be34a999d0ebe6af725f643db23a1e56e6aa07ca7a08ff60726d428a601e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3565,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP320t1",
+          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a0002158ddc4c252067e219e0a55d7d55c3f5523296ab8d63175d1907c82a8a03897cf26bc6cf9b6fc12f",
+          "private" : "160538c462cd2d7698fc25d2712b981d7d62413679de89e089a53cd1017fed6fe6a69de1c2875d0a",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3566,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320t1",
+          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a0003b8a851b160505003d2341f9c3a1cec50e1f5d759705769cbff605b0267af15f7b93552867be488cd",
+          "private" : "0c80ed1a9678622c2b698dc1a7e63c13e28e93622bb1c36891c4cbf2525e10a10d5f4855b9c5fb6c",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3567,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320t1",
+          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a000260fa08a01432849d033645cc7e498cc05ab53bba46336b6a0d538ea3f4e77d2dcc09a704a7737060",
+          "private" : "0d2082a5da76bdbfb06b4ced03045d4aa7884933b3aac1986406854e3d05c069e1f89b481e42cbf96",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3568,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320t1",
+          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a000360fa08a01432849d033645cc7e498cc05ab53bba46336b6a0d538ea3f4e77d2dcc09a704a7737060",
+          "private" : "0d2082a5da76bdbfb06b4ced03045d4aa7884933b3aac1986406854e3d05c069e1f89b481e42cbf95",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3569,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP320t1",
+          "public" : "3042301406072a8648ce3d020106092b240303020801010a032a0002b8a851b160505003d2341f9c3a1cec50e1f5d759705769cbff605b0267af15f7b93552867be488cd",
+          "private" : "0c80ed1a9678622c2b698dc1a7e63c13e28e93622bb1c36891c4cbf2525e10a10d5f4855b9c5fb6d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3570,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320t1",
+          "public" : "30816a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3571,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b30811406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3572,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b30150681072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3573,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b301506072a8648ce3d02010681092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3574,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b301406072a8648ce3d020106092b240303020801010a0381520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3575,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320t1",
+          "public" : "3082006a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3576,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c3082001406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3577,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c3016068200072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3578,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606072a8648ce3d0201068200092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3579,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010a038200520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3580,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3581,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3582,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301506072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3583,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301306072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3584,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406082a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3585,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406062a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3586,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d0201060a2b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3587,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106082b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3588,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03530004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3589,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03510004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3590,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "3085010000006a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3591,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f3085010000001406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3592,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f3019068501000000072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3593,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f301906072a8648ce3d0201068501000000092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3594,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f301406072a8648ce3d020106092b240303020801010a038501000000520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3595,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "308901000000000000006a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3596,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "3073308901000000000000001406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3597,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "3073301d06890100000000000000072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3598,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "3073301d06072a8648ce3d020106890100000000000000092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3599,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP320t1",
+          "public" : "3073301406072a8648ce3d020106092b240303020801010a03890100000000000000520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3600,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3601,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e30847fffffff06072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3602,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e301806847fffffff2a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3603,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e301806072a8648ce3d020106847fffffff2b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3604,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e301406072a8648ce3d020106092b240303020801010a03847fffffff0004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3605,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3606,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e3084ffffffff06072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3607,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e30180684ffffffff2a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3608,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e301806072a8648ce3d02010684ffffffff2b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3609,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e301406072a8648ce3d020106092b240303020801010a0384ffffffff0004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3610,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3611,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f3085ffffffffff06072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3612,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f30190685ffffffffff2a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3613,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f301906072a8648ce3d02010685ffffffffff2b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3614,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f301406072a8648ce3d020106092b240303020801010a0385ffffffffff0004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3615,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3616,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "30723088ffffffffffffffff06072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3617,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3618,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3619,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301406072a8648ce3d020106092b240303020801010a0388ffffffffffffffff0004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3620,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320t1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3621,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a30ff06072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3622,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406ff2a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3623,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106ff2b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3624,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03ff0004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3625,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3626,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a308006072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3627,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406802a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3628,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106802b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3629,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03800004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3630,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3631,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "305403520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3632,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP320t1",
+          "public" : "30",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3633,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP320t1",
+          "public" : "30553003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3634,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0000",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3635,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606072a8648ce3d020106092b240303020801010a000003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3636,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c0000301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3637,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c3016000006072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3638,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0000",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3639,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010a000003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3640,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0500",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3641,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606072a8648ce3d020106092b240303020801010a050003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3642,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f498177306a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3643,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e2500306a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3644,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c306a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0004deadbeef",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3645,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f3019498177301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3646,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e30182500301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3647,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "30723016301406072a8648ce3d020106092b240303020801010a0004deadbeef03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3648,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f3019260c49817706072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3649,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e3018260b250006072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3650,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301c260906072a8648ce3d02010004deadbeef06092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3651,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f301906072a8648ce3d0201260e49817706092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3652,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e301806072a8648ce3d0201260d250006092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3653,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301c06072a8648ce3d0201260b06092b240303020801010a0004deadbeef03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3654,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306f301406072a8648ce3d020106092b240303020801010a235749817703520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3655,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e301406072a8648ce3d020106092b240303020801010a2356250003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3656,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301406072a8648ce3d020106092b240303020801010a235403520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0004deadbeef",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3657,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072aa00bb00cd00306a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3658,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3070aa02aabb306a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3659,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301caa00bb00cd00301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3660,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3070301aaa02aabb301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3661,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3662,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3070301a260daa02aabb06072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3663,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3664,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3070301a06072a8648ce3d0201260faa02aabb06092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3665,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3072301406072a8648ce3d020106092b240303020801010a235aaa00bb00cd0003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3666,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP320t1",
+          "public" : "3070301406072a8648ce3d020106092b240303020801010a2358aa02aabb03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3667,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3081",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3668,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3056308103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3669,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP320t1",
+          "public" : "0500",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3670,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP320t1",
+          "public" : "3056050003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3671,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "2e6a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3672,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "2f6a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3673,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "316a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3674,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "326a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3675,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "ff6a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3676,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a2e1406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3677,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a2f1406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3678,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a311406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3679,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a321406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3680,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306aff1406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3681,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3000",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3682,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3056300003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3683,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3684,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "30691406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3685,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301306072a8648ce3d020106092b2403030208010103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3686,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "30693013072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3687,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP320t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0000",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3688,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c308006072a8648ce3d020106092b240303020801010a000003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3689,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP320t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d00",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3690,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b308006072a8648ce3d020106092b240303020801010a0003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3691,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP320t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d05000000",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3692,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e308006072a8648ce3d020106092b240303020801010a0500000003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3693,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP320t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d060811220000",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3694,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP320t1",
+          "public" : "3070308006072a8648ce3d020106092b240303020801010a06081122000003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3695,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0000fe02beef",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3696,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP320t1",
+          "public" : "3070308006072a8648ce3d020106092b240303020801010a0000fe02beef03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3697,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP320t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0002beef",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3698,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e308006072a8648ce3d020106092b240303020801010a0002beef03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3699,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c3000301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3700,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c3016300006072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3701,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d3000",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3702,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606072a8648ce3d020106092b240303020801010a300003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3703,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c306a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3704,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c3016301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3705,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3016301406072a8648ce3d020106092b240303020801010a",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3706,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "305f300906072a8648ce3d020103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3707,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3081be301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3708,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP320t1",
+          "public" : "3075301f06072a8648ce3d020106092b240303020801010a06092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3709,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3061300b06092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3710,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP320t1",
+          "public" : "3062300c0606092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3711,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP320t1",
+          "public" : "3060300a06072a8648ce3d02010603520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3712,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606092a8648ce3d0201000006092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3713,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606072a8648ce3d0201060b2b240303020801010a000003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3714,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c3016060900002a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3715,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606072a8648ce3d0201060b00002b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3716,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606072a8648ce3d0201000006092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3717,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606092a8648ce3d0201050006092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3718,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301606072a8648ce3d0201060b2b240303020801010a050003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3719,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3063300d068106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3720,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3061300b06072a8648ce3d0201068103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3721,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP320t1",
+          "public" : "3063300d050006092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3722,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP320t1",
+          "public" : "3061300b06072a8648ce3d0201050003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3723,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301404072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3724,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301405072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3725,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301407072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3726,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301408072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3727,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a3014ff072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3728,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020104092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3729,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020105092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3730,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020107092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3731,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020108092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3732,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d0201ff092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3733,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3063300d060006092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3734,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3061300b06072a8648ce3d0201060003520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3735,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a30140607288648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3736,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d0201060929240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3737,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d028106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3738,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801018a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3739,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301306062a8648ce3d0206092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3740,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301306068648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3741,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301306072a8648ce3d020106082b2403030208010103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3742,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301306072a8648ce3d02010608240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3743,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306d3017060a3262306530333032316106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3744,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3075301f061236303836343830313635303330343032303106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3745,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b301506072a8648ce3d0201060a3262306530333032316103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3746,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3073301d06072a8648ce3d0201061236303836343830313635303330343032303103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3747,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3073301d06103261383634386365336430323031303106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3748,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "3075301f06072a8648ce3d02010614326232343033303330323038303130313061303103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3749,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320t1",
+          "public" : "3071301b060e326138363438636533643032313106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3750,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320t1",
+          "public" : "3079302306163261383634386365336430323838383038303830303106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3751,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320t1",
+          "public" : "3073301d06072a8648ce3d0201061232623234303330333032303830313031316103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3752,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP320t1",
+          "public" : "307b302506072a8648ce3d0201061a326232343033303330323038303130313838383038303830306103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3753,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "308183302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3754,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP320t1",
+          "public" : "308185302f06072a8648ce3d0201062432623234303330333032303830313031383238303830383038303830383038303830306103520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3755,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320t1",
+          "public" : "3074301e0611326138363438636533643032303165303306092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3756,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b301506082a808648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3757,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320t1",
+          "public" : "3076302006072a8648ce3d0201061532623234303330333032303830313031306165303303520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3758,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP320t1",
+          "public" : "306b301506072a8648ce3d0201060a2b80240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3759,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP320t1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010a03",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3760,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010a03540004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0000",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3761,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010a035400000004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3762,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306c301406072a8648ce3d020106092b240303020801010a03540004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d0500",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3763,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010a0381",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3764,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP320t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010a0500",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3765,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a01520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3766,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a02520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3767,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a04520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3768,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a05520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3769,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010aff520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3770,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010a0300",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3771,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520204cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3772,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c0d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3773,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010a03510004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3774,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP320t1",
+          "public" : "3069301406072a8648ce3d020106092b240303020801010a035104cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3775,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520104cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3776,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP320t1",
+          "public" : "306e301406072a8648ce3d020106092b240303020801010a03562004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d01020304",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3777,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP320t1",
+          "public" : "3019301406072a8648ce3d020106092b240303020801010a030103",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3778,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP320t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03528004cba26a8f628e02986f0b2e86c382106a2ea9d478842c881563b1edd5718d3c5638b54be1d26b80fd931b5e628542fde25e933520814feda7dd557df79af35a6699b1c81e52634ae636cdfded606b7c8d",
+          "private" : "094762b529f6ce6000188474c9309a90926c8ea9027efa34b562cc77c5daa9f98148385cd385dff41",
+          "shared" : "280a7ae55dc954e0a58bcf7df3cf31e11732fcd734be9f8c21b3f36d110fdbdcb8dea8b296a76684",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP384t1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 3779,
+          "comment" : "normal case",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047c9971b3d2b5f6111173bf61f546bdead7918aa0134b72c11dd2fe22eb336ecdce9541dd8c64c6073af5627cf04a5fda30440fdab76d7377708e5a1ccb973d3e56cdb53f299b791cdfdbc45c43851af0aeed35ab6873f4e2f8d77831eb71b0cb",
+          "private" : "6b3cff8513eb44fada3de5baf6612c87e6e5d3ccca55e30fe6d540edd1544b0ad23ec91a208405cc5288ea02d0e09ba3",
+          "shared" : "581332ce12ebb312a6c0a95f0e3391fc1af59c37f7dc94ab1bf7aebc93540cd6362c13016e3f70ba02d5cd33bc895fc5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3780,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200037c9971b3d2b5f6111173bf61f546bdead7918aa0134b72c11dd2fe22eb336ecdce9541dd8c64c6073af5627cf04a5fda",
+          "private" : "6b3cff8513eb44fada3de5baf6612c87e6e5d3ccca55e30fe6d540edd1544b0ad23ec91a208405cc5288ea02d0e09ba3",
+          "shared" : "581332ce12ebb312a6c0a95f0e3391fc1af59c37f7dc94ab1bf7aebc93540cd6362c13016e3f70ba02d5cd33bc895fc5",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3781,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004319ad6d431018c7036152d4814aad9459bb4e3e479b40752a84c3902910a185233153a49ce7f08eee86c5a76be637b2a138bf12770cbaae6e5bc866f1bb072f083dc4bcc367238c833c226823471de82d5266080f89b5776dfa7ea3c24ca263b",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3782,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004779ce983dce3b93b66f1d5f5da0e6461ed87da6a0bd20b39dd1b85cd4da149c09fe815822e49d2706af32c76aa728d620058e66c021ce3ab681c471ca9deb0826b96712c74948a4c971b8db1f4c049cc75d355df8d0f1fcf16bc4ece28669122",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3783,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044d69d548112a121ae139b4b8b4f92fe0c31a4ffe14bcfe60fe60028049c7e7e31c5136fb64b641885da6595d3d32260f508f63dc8ff1e40208988830080980ec4f045d2d75b633d23d244374ac9d94ebb33367bb6b92b0bd8ebfe87c01124642",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3784,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047bed1248364e9ee7dce7210d03a2ea8c9675ba12de09d92fea65f31a9336bd7730064e8c425ab57d741eed5f0a90ab587c3f3dbf31eb2480f0bdc7c2e7d5398284437d10799b19c06d73a05a5dd38b49519513d5137d1ff16894390f8cabba09",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3785,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000471cad293ad4befb3023a077d444b4142c3470ecf74e1eede03c1c9db832417777c757797282f78771ba094eda4c6a4b645d65739131fd6aa9391f9475527b6045f7e54747840c6b420d4a9b5dca40702f76a72651692db4115977a5675d584fc",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3786,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200043313a667863796ecb2683751dd1bf51836fd64bfaad84f9ff18aebf92a80b8e49894baa58cf8918c08f71e8fe8e673960d15ae41c90f98f9a5a837fb27d08c5dc1137fe311649552d5332505100f03c8f771bca63b4a1133aec9beb843d10dfc",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3787,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044b3576c484f554f33bd294d1d20b94e7caf61046f5e1089ce8b096f9ff3ad2049a8d4b365ebd97133a6514232a8473c91de0689497396b184a6a9a3bed37da61cffb8a62b1ae096507f7f4dfa74e26760160f930d28e4170d2a6b2446b0b1a93",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3788,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000485c09245c2965f4387e3276a7305e926ce5fdca2e99900425439a0612685d38f843a468d9e2d2968a65215ac434a6542668917bb4e443399a5b3910ba9f75f97d895098dbe2049dd43b076b50ef2cac16ffa80bf9fc3cf35c4589746213ddca1",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3789,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000478b76373f3d02f5c0d3961684f479057d35e376ad8583aad78fdde98c1bcbbb9af9582c50e8cce0ee76146623a68794508e70bedac883188959e5dfeb6233775adce6d19d3067d80cdbc9b78dc33006806a6457303f9c65698f1fa8816921077",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3790,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004879e31be41831a7b309c71144ff5baff9307159fe5751d2dd0c4595ce288e1f81a34001ac74f68f34271c2ef4dcf2a584822e2dcde90ab1e4411fb998774c1bd0840560e6721ba00f978afa5870d75b9482f594e9d72b03034584292bc8df95e",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3791,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000423c40e7a2ec9b61837ff67eb7ada25023279c0c77e7b46e3d40a9159811e0a7731cd515606df44b52082b5319979047575d4467ce49ef08fc1e9aa5016c6e219393211cfa1cc868d16caf2347652b72dfcd88b9df821ebde89054ad7b4a8b807",
+          "private" : "0a3315e6cdeb733e26d72d2a98e943727b637f98406755562b0531f1f92a8f4a66e6ace629249e0f61cad07b22ff62bf",
+          "shared" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3792,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff000000000000000100000000000000014199aba2f2ae96ba11e63e82a9232a83bbffd465c3dd76c4cd24ff07f8cc1c1cc10eb7ca2d80072873f27c103153edbd",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "5558f8c9784d2e17cd8bfba3e717caf1e9085ae74fbc5e5855a347734f64c4a99b6f109c8dc85ffa315cfb01010e59da",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3793,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff10de23e1549f367b07b72d47df2b0e4dd32a78acc9fa2ead7dbc9a5a3f05ed448fe75d121269ed689a8dc82321212984",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "3e59aceb85ae1e9c482e49ecee60d855627d4ab91243c05cbcfcf88174fc31658e89ece9b673ba222c2e31d51a54e6d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3794,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000183e0091d69e927eaaa9c887f1164b2b6f58ff482de53f28d381be260a773b306e05aef3745e8a72b6b72496f5009e51",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "47b5bbe7bf2ec7f86777c008b84d753de9e6ec4579ee2f274d5ff3bf466680ea6f46a2db7b50ec597ad1aa06d20ce549",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3795,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff3bcf7ad8f51186c0f99db0988ed9c50e20763125aae2cb69c2a4fa0d29b41075c59cf3798cbac0b06b51445e4f68957c",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "44acbe681bb36efd73881cde8cd2269f85dc0f3eaeddf729a243e17841d6a770c2489859fe2487ff9c1f5c2e00018b76",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3796,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc0000000800000000532e64008d9cd987b0e99b2975334b3bd6f042a5a8e5eacf72d0c4ca2906f7f5a546d26117b0679067c7c578527f1d1",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "4bbd8d34c4c25f078ad43446824059439abdd914a2ac9a83e9e1508bcc7eac3974c06314ec18885e64088f7735b47b0b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3797,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000012eb8d2eacbc8bdb2c83ff11864f28fe307a8617e3f651e2c98c1349691a19d914240434e2fc599596a18ae05d62c80b6",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "33d5885c57825c73ef0e489513709468c1d86ef7153f8560eaf8d1eff3a38afbd63157c4840aea14182692acc0df292c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3798,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff000000040000000333b6edc37e1dee2502c773a2af9d36be3c14b92fb7ff947b2b398884e938d47d7e91ab6163e35cf7fb549a1c8b40cb4",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "60e92912a1cd8bf11e10d882eb3beac75f924957957fce63b0d646836ac38a5f39c0497d9bc14c1884a3ec62cf84264d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3799,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000002c6bc7e854b2d294bbf56b016546598aee72e1a05b12491738dd65d366b038c8b027f90d52012dc546768826b9f76d2f",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "65e593164f354dd3dd77ba72ba55ba80b81169a03b115d5d4249d883e071a00baf114289d6186e3550376092a30a44d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3800,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000027ee7adc978f64eb8ce1ac64d4c9c75f4c35d36de0ed3c9d7a1013fb1323c4f2b2e6f02c240e82ed75472a72f27755dd",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "2add186540d1c14206a301c8f087e60899756d8eb0fd95d0defd1435ee1fb88103feca3704cf3747a375813bcf82d439",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3801,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff04d46c613e7cea77e579a3a1c38607da44b1ad733cd78e98315f5fcedaa355bdcd98157d194126a9200da34b945a01a9",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "78b196d7197619661dcefb46a19a0a614bae443cd505af158ebbfb744a983f299d32c62f42e76cb4bf679635e17949b9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3802,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0555ff1d9117e3e1db68597a916492e7e69a91b3aa0d7b068dfb3783729daf94890101226ca567ee4d4f93d56a579408",
+          "private" : "5c1e1ff706fdb4c9b704a2ae9375b68f21a0b6059309a4e293369cf6a3a123a0aad3b2daae1629821a12b9c2c62d3b85",
+          "shared" : "35e72046a25476acf53ad50f8239f45b78d76a99681176d0204c180e7d730c969e82e5743e737015930c4bd2ca1d8f61",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3803,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "3",
+          "shared" : "848a0d6b0714c8fb6b9d9208401ee6494c1f7e06252d1e80552bca6e49b9bbcd757f98722215a03b4b44d13b46ac5373",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3804,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "376c192f947b957fac5e8a1b2d1f24f081b77968d4e53ad115f89b058fbc44974e1a37434814a628e934bbdef42427f2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3805,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "46db5c4bd9512ed62534e2357b8fbf1bff2aa97e04061eeea8fe1802f81032704fadbc0e12d6d05559539ecdd7c55d72",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3806,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "29981c8fdd06b9788707c78d52bc34b5df769be1edbe5a96144ff4e39c8a8fc37712903cf94ea0e64ed0d67d2a27056c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3807,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "259247a765e1046770970ca4b2cc7b3d6522702c892be75998af16a7596bbcbb6d9bccde431ffc679c63544d0435accf",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3808,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc30f3b883202e9046565",
+          "shared" : "0b4a99473f90dd7261d42c5fd5dea7436ec48c5b91453927b9a97c3a84b770e049970050605f34dc38aa60cf0461c9c7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3809,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b783202e9046565",
+          "shared" : "060b4369765ce2c1aff404b8e77a6c379552ed1ac5814e034ae195d0ed08df5c4cad46c2a464e1552bffca1e131d756f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3810,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b803202e9046565",
+          "shared" : "7afdfc83d3221cd5282e9554f7d1e320504c2771a3374de31bb204c1da0831186f377b6e9090672b0d1df00e22a3a1ac",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3811,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883201e9046565",
+          "shared" : "01013981f8873050143f73cefd5a750c223c5e6fdf1e25a24ed0d7233c782b8b9d82a4cb996f83becb096f6abb8352bd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3812,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904652f",
+          "shared" : "22d772bd2104c3d24b8505b3e7d1f3f00ca2dacb493ca729170854ef2158407a0ffab006153d5cb7781e9cb57cda505f",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3813,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904654f",
+          "shared" : "2b2c617f8c84713f8440e5e273341d69edf9e6ea2056af38ccfc6ee733a9c11e1f9aa63cb3615d2b3cebe69d8360a2bd",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3814,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904655f",
+          "shared" : "28518f75e020e00095d47166f7825f1767b6425172decde390c9266764c8b631608dc323b8415c39c9d0b8a24cd337ac",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3815,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
+          "shared" : "848a0d6b0714c8fb6b9d9208401ee6494c1f7e06252d1e80552bca6e49b9bbcd757f98722215a03b4b44d13b46ac5373",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3816,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200041e6c405358fab0f63c09eddacc372dd29c17d0eebcffe37975ee3c6bf05c7b8db09f104fcf6cc1a0576c44c12637b4bf88938d33d2d9390c1075f3af467937074db4022a44e2ea2e9cbff6bfcb4af4909fbb8bd3ab627e1dd1649d5faec28a71",
+          "private" : "08cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563",
+          "shared" : "4424a1b48eba0524e4aa82455e282b35cf0d13d8536fe6c410cd5050f3d4d1739254945a8f580d43ee0245b1df67de56",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 3817,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515aa",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3818,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3819,
+          "comment" : "order = -21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231ff7346e17d5cc792d7f0a29081af19be20ead08ef612aba94ce0e9919353fbda5830c5495094803cefc477cdfd16fb9a9b02010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3820,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e58292802010002010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3821,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e58292802010102010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3822,
+          "comment" : "order = 5042941954480324912133914614639385831494842746066313376667826733277554507683616955290244686736004252971522",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e582928022d008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b88320202010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3823,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee0461040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3824,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e58292a0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3825,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201ff03620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3826,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010003620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3827,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010203620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3828,
+          "comment" : "cofactor = 21659270770119316173069236842332604979796116387017648600075645274821611501358515537962695117368903252229601718723941",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656503620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3829,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404308cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec5004307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610418de98b02db9a306f2afcd7235f72a819b80ab12ebd653172476fecd462aabffc4ff191b946a5f54d8d0aa2f418808cc25ab056962d30651a114afd2755ad336747f93475b7a1fca3b88f2b6a208ccfe469408584dc2b2912675bf5b9e5829280231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656503620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3830,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008a954df26c950b69dea5d7a1f618e8a857992af1ca377397a279cf1b6175c6adcf2cb92cc86979370f9353e6e9dde977306404300223d09036a361be30b797dc5acd5936bd964618231ce31c70380afe1e414a75dda6edfcc7b3a13a77b3ac2c472a02d904307f519eada7bda81bd826dba647910f8c4b9346ed8ccdc64e4b1abd11756dce1d2074aa263b88805ced70355a33b471ee04610400000000000000000000000000000000abc978d6d0960000000000000000000000000000000000000000000000000043115a6b5bf3f7ac0febbfc666b4d9bae909618d1f66c0ff2a98aae7f9826ab6cac198935e14306cb5642dbc5806578afa0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201010362000400000000000000000000000000000000abc978d6d0960000000000000000000000000000000000000000000000000043115a6b5bf3f7ac0febbfc666b4d9bae909618d1f66c0ff2a98aae7f9826ab6cac198935e14306cb5642dbc5806578afa",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3831,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3832,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3833,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3834,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53303504010004304e978dff384529cec087a10243720de2a3ee3f8930eb0c0a4cb42d6cf5f230ab5b8a5c3f8b9af7cd7f25f3d1a1e43d3d046104103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a80231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e904656502010103620004103e058f7a7d7f6f07dfbe36ac0a55e337e1ad2173f63e16aa222fe17fd3df25ec4e19f78ff9d82fcf6e15d8309abc3b7c0eca8258949207c018c48e005c285bb67506951a0f7e38372828b6ea2e23759e59b59312c5a81eb957d387500515a8",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3835,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP384t1",
+          "public" : "308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d01010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53306404306e489fc25b09eca78ed682a5f016ff09f1e96c4d04ab84b1a6220271143d9ab377415258cf35948f87e8378c91ec82230430513446d55d0e30894f5852906422b6a811a330d4ebbfa66073bc0805c83b40a55716b643bcc119600a874fcf790eae460461044fadcbc886db834ee14711292eef01a402537fc7ec713dfe8b8efedfbd3814aa1c97adbf38eaa8ebf924da04ec6df2a67235ba19e9be8afb1f078d70deb5c8eda48800f850b401cf6b53ecf145bdea0ba5ccf25b2105404ccc1249f4a7d109c40231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101036200044fadcbc886db834ee14711292eef01a402537fc7ec713dfe8b8efedfbd3814aa1c97adbf38eaa8ebf924da04ec6df2a61a836468b979e22cf055e20d723078f170a770119ca054e4a75ded2839f927180706b4ce6f17da24bb34b61e8936e28f",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 3836,
+          "comment" : "public key on isomorphic curve brainpoolP384r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b036200041af667fa3ab0337b0f9b51a711f2c5a3ee1d4fb01d5c8e311445ab2c4decc9c22346913f922114b728a312b117d0196f8314ff6d47f8aaf66b691b5ebd80fbcdd92029c16340eb7767266a34b98ef5e2666fdd6a2b3bcb7cdaee4731ecd85141",
+          "private" : "5e65bb285c4a1c41d27385c9995e30d1b9a687f4c70419f0c543b292a2b69655bc791414921d0eda3556b6d5e94d597",
+          "shared" : "28f865e2f88cc5f63f3f4af24be32f2e3e9f49536933e833f383af8c11233d726eb12a251fa383660ac1901048e29bc1",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 3837,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a00047ac0f84b83f54c8978ac99a99f59f96e372e7dcfc79178fa0a94bc4269c5a28643dbcd4aed0e6140303a9b2287cb8386f5294d092fdd437b",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3838,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0e57e36999fd97937a9572777bf1793b5b5f8602b06336861a11d297db2bc7a0be71602be26715cf969aad360890901a1a6da732eab1c04ff5b622d7e1a2452",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3839,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3076301006072a8648ce3d020106052b810400220362000457aa0e44ae28fbc60e90c712af4f0777481db35c814947220f28a0aef3eafcb7541a617f9178677e365dd211eff8d33de315a1af94b324568f2a5f5fecf2b40df020f00e2099a321eeb89b4a00789874d39df773697f71d6fe40136d19a54ade",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3840,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "30819b301006072a8648ce3d020106052b8104002303818600040069177be0f70388923f6d51e7bc289f262f1f2e4cf7e7f16054f8cc1fc775312e7b0e9e8a91e69723c8f5bdaa227c19dc622c8a7c67962ea7dfaec8fb70d99e46ee00bf0d3d39286fd1e54d224b7ba9e532568e5008db402b91ecfd88bd545763cd857accd82fc87102b0ebe4794a9d810c81176354aeaf57fc9931e3cf194dc8d998a4",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3841,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200042effdd981ca54447ff1a95722531fa5d1fd3aab79950f8bfc3a84f10a449d4e186054eb005da0a9d36e5136f4930f7b9e38299ac0239f3a06dbf8b415e53f01e",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3842,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a00044f51fd668da1be3704120e4c38a630d875966bea78b04e7b96101bc4aacd4de2f0e1b016bf47f1ee73c70d82aa89bdbad197b0ae436326ce",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3843,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010703420004828c67c6cf21ae6f03eee6dd851a0bcac9155b146ef729d30234782733b85b341ff0bd8de61046d37f7e851159fc4e793628a49437e18169bce739370cda9924",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3844,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "306a301406072a8648ce3d020106092b24030302080101090352000439e980d68ad99b7f29ab42290b214ed2685a08ab0dac7e0c31f6676471a7b31fc140523b04a3a6bc4019e792efb20a960eb35251c5468e1159ba2a599a3e0eb87d5b1e3153fb6fcafdb1f940fc302c72",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3845,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b03620004750c5d8095fa65163937b8eb53f727bc393763e80561abc0238a3db4d501479230520148912f30a59c408b6ca68c4afa668c345958aa1fd0ba8fd857ee72e117af8286b6684f0d723ac2fe1de0454a0317ec730dd5c193f4ff8ea1a1b41fd4f3",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3846,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP384t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040c17f07e6a2cdaf8e9b5967c452a7bc78fc1cf4f45ff65f0663c59fea42a39b7360c10587fd4e347582278f2d860889f0d98d2dfc599cc11f825ae90947a95907395bb60dc0f29725dc26deca5fdcfaf30b9559a711297b8267de25f5933f7a06fcf1d7a00a068ce2f24321d2ed08e5a8ed037193332ea92d2e55deccab47e33",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3847,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a000495ec1dd9eab2a77ea8e78c6ed4593eb1db3e00328eabb07c369e7e6f9be2488cbfa29c45e7097e371f59f5f7df87aebcd85f2bce635d876c",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3848,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP384t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010108034200041c380839b90fde53c39d58aa26b42ed2060d06dc82f8cb07473966900df128d63f39dfdd88a626145253b3050511e3fa9d1858c01af97e6f5e8d27d3fef5d644",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3849,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP384t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a03520004bed26c93ba758a66e04f9ffbfd2e447e472125f47af18f9c360bdbb2bb4b6bf037c4b0352bdf7fb5c3ea2f896c56abf8fe17727b5ef35400ba59acad10522d47deb6474bc96d94ee5e1cf61bf3ad3203",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3850,
+          "comment" : "Public key uses wrong curve: brainpoolP512t1",
+          "curve" : "brainpoolP384t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041ef6bef116a0bbf87cf2554bee1282bd763fa5c99be5f70676c97ae3acc4db8625b3178f33ca20a13dd2bb259747ee5b777585d90d1205392591b528783cfd8b51fca36e4af443baae8ea5b1d46dcdad5a22fd88641e4cfa010f2128f680c6e71c2cd5da0ab5970e87f49828c1e57996910812141451b728493b95ea94c36523",
+          "private" : "1eec948715768c1214363bd806a44d1ef49325c1980dc21ac2a0b1560d9b5cd6575b749eba07186c2f9efb223ca786cc",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3851,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c0332000243c51b92c31fdd61ee533853fc660d6ccf4d4903dc0a996cf2968cc894d97f9709d92352ee4b93ed23ff618de79e4d30",
+          "private" : "258474baf3b3b83f1f4cc0ac7645677d5d56a40f787d992ac5109894aa372acb87883f74bc6351a31bc66c62dfb82a83",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3852,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c0332000308f31234f87497b1baede9bc74c1f666a5db957d5b5892ef3cad56db448ffb4bb59976a820f0572e95d4e7771afbc12f",
+          "private" : "182315ca6c80fa1f76ec0bb5a35991b97e4f9ada272989120a2c6dc5fe3020d047ef5c13a0fa505d21d250eb39c5e9ef",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3853,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320002084478797447194423242feecd06000d175087de6adf6f2b782582f424234c48895c356326e8d1550fc0409cc1a4ecad",
+          "private" : "087924186cfbe513dc94b16a5e8ff0e86b0da8d6115fc44ce9d08bafd2636299e498649fe9b1bbb507de2c729a88422a8",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3854,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320002024278cf56415a234792dae6c22e3c3d70517d4350d91d395b54f1ff360bac0a5b19473d6476d1e0585b1b1dbb2132e9",
+          "private" : "1598ecfcc3c9f76dfb758cd572def7a8f36aa348af6c31fb29d59b7f06a8e851b6a5c9e965e6734e5ffde5b0de6388ff",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3855,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320003024278cf56415a234792dae6c22e3c3d70517d4350d91d395b54f1ff360bac0a5b19473d6476d1e0585b1b1dbb2132e9",
+          "private" : "1598ecfcc3c9f76dfb758cd572def7a8f36aa348af6c31fb29d59b7f06a8e851b6a5c9e965e6734e5ffde5b0de6388fe",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3856,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320003084478797447194423242feecd06000d175087de6adf6f2b782582f424234c48895c356326e8d1550fc0409cc1a4ecad",
+          "private" : "087924186cfbe513dc94b16a5e8ff0e86b0da8d6115fc44ce9d08bafd2636299e498649fe9b1bbb507de2c729a88422a7",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3857,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c0332000208f31234f87497b1baede9bc74c1f666a5db957d5b5892ef3cad56db448ffb4bb59976a820f0572e95d4e7771afbc12f",
+          "private" : "182315ca6c80fa1f76ec0bb5a35991b97e4f9ada272989120a2c6dc5fe3020d047ef5c13a0fa505d21d250eb39c5e9f0",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3858,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200027d0672c75082f962546a912c6e2351cd82d181c1eb316f99ddbe275ffa813e444227d4ee6c71a4fdd5409a1e99ec7c04",
+          "private" : "0b247883eb43b626d4dd53cb6325f7d76251242ef8ef3a07575e88546733d41cf50f293daad93b8de7b52d348b0c665e",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3859,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200033ba6755e4d8992ecc3976c92953bbf463ace5e46b5833b5de9761529103fcd74446e4d717f8dbc77d1c99279f4cf415b",
+          "private" : "6dced8bbcb6140c1f19fae2071fe0c4a569f054e087c9c9c010daa0bcf0bc65007afa96e514218b6aa10510e7de7d7e4",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3860,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320003261a23060a03986991e258259009ae06c6ba0e178b1aa6fcd5644a526b785237669657c553c1aa82ba8919491d4baba1",
+          "private" : "26e8f29d60877d0b679d3369ff9affdd0eaee3561fb4e7042171b87c2d9f32acccd9490b61df4136ff40f6ac402b2792",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3861,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320002543b22c977fbcd346ea07742d2c653d2a455a745a69785fce27d7a3a9a359540a8abf5bd6eb3e3a3a53bc2c0d388e260",
+          "private" : "5a758a0369caaac2762c2f2bd6b6ab72886d320217be216efe48d4914462a569891bb40aef439b27bc27e65b63b3c1c6",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3862,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200036b702f8dace776a80eab194fba1be0a3272058e715ddb6aea3adc5881ad59ca4f043f524783a8a00a5886a56acacf4c6",
+          "private" : "40e732db5e20b27e027336cd5261ff64c915e2ebbfb3844b71e854c069f2fe187cd816b60321a84414f5cd6967036bf",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3863,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200026b702f8dace776a80eab194fba1be0a3272058e715ddb6aea3adc5881ad59ca4f043f524783a8a00a5886a56acacf4c6",
+          "private" : "40e732db5e20b27e027336cd5261ff64c915e2ebbfb3844b71e854c069f2fe187cd816b60321a84414f5cd6967036c0",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3864,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320003543b22c977fbcd346ea07742d2c653d2a455a745a69785fce27d7a3a9a359540a8abf5bd6eb3e3a3a53bc2c0d388e260",
+          "private" : "5a758a0369caaac2762c2f2bd6b6ab72886d320217be216efe48d4914462a569891bb40aef439b27bc27e65b63b3c1c5",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3865,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c03320002261a23060a03986991e258259009ae06c6ba0e178b1aa6fcd5644a526b785237669657c553c1aa82ba8919491d4baba1",
+          "private" : "26e8f29d60877d0b679d3369ff9affdd0eaee3561fb4e7042171b87c2d9f32acccd9490b61df4136ff40f6ac402b2793",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3866,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200023ba6755e4d8992ecc3976c92953bbf463ace5e46b5833b5de9761529103fcd74446e4d717f8dbc77d1c99279f4cf415b",
+          "private" : "6dced8bbcb6140c1f19fae2071fe0c4a569f054e087c9c9c010daa0bcf0bc65007afa96e514218b6aa10510e7de7d7e5",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3867,
+          "comment" : "public key is a low order point on twist",
+          "curve" : "brainpoolP384t1",
+          "public" : "304a301406072a8648ce3d020106092b240303020801010c033200037d0672c75082f962546a912c6e2351cd82d181c1eb316f99ddbe275ffa813e444227d4ee6c71a4fdd5409a1e99ec7c04",
+          "private" : "0b247883eb43b626d4dd53cb6325f7d76251242ef8ef3a07575e88546733d41cf50f293daad93b8de7b52d348b0c665d",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 3868,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384t1",
+          "public" : "30817a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3869,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b30811406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3870,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b30150681072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3871,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b301506072a8648ce3d02010681092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3872,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b301406072a8648ce3d020106092b240303020801010c03816200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3873,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384t1",
+          "public" : "3082007a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3874,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c3082001406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3875,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c3016068200072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3876,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606072a8648ce3d0201068200092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3877,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010c0382006200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3878,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3879,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3880,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301506072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3881,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301306072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3882,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406082a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3883,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406062a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3884,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d0201060a2b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3885,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106082b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3886,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036300044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3887,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036100044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3888,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "3085010000007a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3889,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f3085010000001406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3890,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f3019068501000000072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3891,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f301906072a8648ce3d0201068501000000092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3892,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010c0385010000006200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3893,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "308901000000000000007a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3894,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "308183308901000000000000001406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3895,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "308183301d06890100000000000000072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3896,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "308183301d06072a8648ce3d020106890100000000000000092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3897,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP384t1",
+          "public" : "308183301406072a8648ce3d020106092b240303020801010c038901000000000000006200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3898,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3899,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e30847fffffff06072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3900,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e301806847fffffff2a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3901,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e301806072a8648ce3d020106847fffffff2b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3902,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010c03847fffffff00044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3903,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3904,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e3084ffffffff06072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3905,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e30180684ffffffff2a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3906,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e301806072a8648ce3d02010684ffffffff2b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3907,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010c0384ffffffff00044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3908,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3909,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f3085ffffffffff06072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3910,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f30190685ffffffffff2a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3911,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f301906072a8648ce3d02010685ffffffffff2b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3912,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010c0385ffffffffff00044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3913,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3914,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "3081823088ffffffffffffffff06072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3915,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3916,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3917,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010c0388ffffffffffffffff00044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3918,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384t1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3919,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a30ff06072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3920,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406ff2a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3921,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106ff2b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3922,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c03ff00044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3923,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3924,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a308006072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3925,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406802a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3926,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106802b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3927,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c038000044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3928,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3929,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "3064036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3930,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP384t1",
+          "public" : "30",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3931,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP384t1",
+          "public" : "306530036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3932,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3933,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010c0000036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3934,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c0000301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3935,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c3016000006072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3936,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3937,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010c0000036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3938,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200500",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3939,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010c0500036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3940,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f498177307a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3941,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e2500307a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3942,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c307a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200004deadbeef",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3943,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f3019498177301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3944,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e30182500301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3945,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "3081823016301406072a8648ce3d020106092b240303020801010c0004deadbeef036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3946,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f3019260c49817706072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3947,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e3018260b250006072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3948,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301c260906072a8648ce3d02010004deadbeef06092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3949,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f301906072a8648ce3d0201260e49817706092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3950,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e301806072a8648ce3d0201260d250006092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3951,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301c06072a8648ce3d0201260b06092b240303020801010c0004deadbeef036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3952,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307f301406072a8648ce3d020106092b240303020801010c2367498177036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3953,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010c23662500036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3954,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010c2364036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200004deadbeef",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3955,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182aa00bb00cd00307a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3956,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308180aa02aabb307a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3957,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301caa00bb00cd00301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3958,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308180301aaa02aabb301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3959,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3960,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308180301a260daa02aabb06072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3961,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3962,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308180301a06072a8648ce3d0201260faa02aabb06092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3963,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308182301406072a8648ce3d020106092b240303020801010c236aaa00bb00cd00036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3964,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP384t1",
+          "public" : "308180301406072a8648ce3d020106092b240303020801010c2368aa02aabb036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3965,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "3081",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3966,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "30663081036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3967,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP384t1",
+          "public" : "0500",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3968,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP384t1",
+          "public" : "30660500036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3969,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "2e7a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3970,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "2f7a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3971,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "317a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3972,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "327a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3973,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "ff7a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3974,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a2e1406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3975,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a2f1406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3976,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a311406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3977,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a321406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3978,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307aff1406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3979,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "3000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3980,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "30663000036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3981,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3982,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "30791406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3983,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301306072a8648ce3d020106092b24030302080101036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3984,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "30793013072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3985,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP384t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3986,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c308006072a8648ce3d020106092b240303020801010c0000036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3987,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP384t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe252000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3988,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b308006072a8648ce3d020106092b240303020801010c00036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3989,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP384t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe252005000000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3990,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e308006072a8648ce3d020106092b240303020801010c05000000036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3991,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP384t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520060811220000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3992,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP384t1",
+          "public" : "308180308006072a8648ce3d020106092b240303020801010c060811220000036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3993,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200000fe02beef",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3994,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP384t1",
+          "public" : "308180308006072a8648ce3d020106092b240303020801010c0000fe02beef036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3995,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP384t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200002beef",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3996,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e308006072a8648ce3d020106092b240303020801010c0002beef036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3997,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c3000301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3998,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c3016300006072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 3999,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25203000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4000,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606072a8648ce3d020106092b240303020801010c3000036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4001,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c307a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4002,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c3016301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4003,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "3016301406072a8648ce3d020106092b240303020801010c",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4004,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "306f300906072a8648ce3d0201036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4005,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "3081de301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4006,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP384t1",
+          "public" : "308185301f06072a8648ce3d020106092b240303020801010c06092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4007,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3071300b06092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4008,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP384t1",
+          "public" : "3072300c0606092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4009,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP384t1",
+          "public" : "3070300a06072a8648ce3d020106036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4010,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606092a8648ce3d0201000006092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4011,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606072a8648ce3d0201060b2b240303020801010c0000036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4012,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c3016060900002a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4013,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606072a8648ce3d0201060b00002b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4014,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606072a8648ce3d0201000006092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4015,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606092a8648ce3d0201050006092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4016,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301606072a8648ce3d0201060b2b240303020801010c0500036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4017,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3073300d068106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4018,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3071300b06072a8648ce3d02010681036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4019,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP384t1",
+          "public" : "3073300d050006092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4020,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP384t1",
+          "public" : "3071300b06072a8648ce3d02010500036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4021,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301404072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4022,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301405072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4023,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301407072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4024,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301408072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4025,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a3014ff072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4026,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020104092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4027,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020105092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4028,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020107092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4029,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020108092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4030,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d0201ff092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4031,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3073300d060006092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4032,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3071300b06072a8648ce3d02010600036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4033,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a30140607288648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4034,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d0201060929240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4035,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d028106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4036,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801018c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4037,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301306062a8648ce3d0206092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4038,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301306068648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4039,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301306072a8648ce3d020106082b24030302080101036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4040,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301306072a8648ce3d02010608240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4041,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307d3017060a3262306530333032316106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4042,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "308185301f061236303836343830313635303330343032303106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4043,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b301506072a8648ce3d0201060a32623065303330323161036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4044,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "308183301d06072a8648ce3d02010612363038363438303136353033303430323031036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4045,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "308183301d06103261383634386365336430323031303106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4046,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "308185301f06072a8648ce3d020106143262323430333033303230383031303130633031036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4047,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384t1",
+          "public" : "308181301b060e326138363438636533643032313106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4048,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384t1",
+          "public" : "308189302306163261383634386365336430323838383038303830303106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4049,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384t1",
+          "public" : "308183301d06072a8648ce3d02010612326232343033303330323038303130313163036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4050,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP384t1",
+          "public" : "30818b302506072a8648ce3d0201061a3262323430333033303230383031303138383830383038303063036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4051,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "308193302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4052,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP384t1",
+          "public" : "308195302f06072a8648ce3d02010624326232343033303330323038303130313832383038303830383038303830383038303063036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4053,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384t1",
+          "public" : "308184301e0611326138363438636533643032303165303306092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4054,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b301506082a808648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4055,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384t1",
+          "public" : "308186302006072a8648ce3d02010615326232343033303330323038303130313063653033036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4056,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP384t1",
+          "public" : "307b301506072a8648ce3d0201060a2b80240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4057,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP384t1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010c03",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4058,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010c036400044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200000",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4059,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010c0364000000044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4060,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307c301406072a8648ce3d020106092b240303020801010c036400044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25200500",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4061,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010c0381",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4062,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP384t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010c0500",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4063,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c016200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4064,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c026200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4065,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c046200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4066,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c056200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4067,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010cff6200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4068,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010c0300",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4069,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036202044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4070,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036200044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25a0",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4071,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010c036100044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe25",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4072,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP384t1",
+          "public" : "3079301406072a8648ce3d020106092b240303020801010c0361044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4073,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036201044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4074,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP384t1",
+          "public" : "307e301406072a8648ce3d020106092b240303020801010c036620044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe252001020304",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4075,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP384t1",
+          "public" : "3019301406072a8648ce3d020106092b240303020801010c030103",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4076,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP384t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c036280044bc3d7f0a9266e7e1b19f9827220a91cb0c88a01060747d89b0c82925fa8c9753d2e06b1fa215cd571660742c8cff5693abbbe1e33d97aa9df74e43f2e03ec14f5d1f2f91f49cdb159044e81af4dc501b99071ae030300e7735bd76decbe2520",
+          "private" : "33f474db86e0b203e3f139d6b97182eace8e1667ba03d7aa50557833da0d836dae8d59f49353fbf355bb01558689a436",
+          "shared" : "486d36b32ce49b342bbe762251af9f46014f3c9ceb61a6120edf3f69b31ab305eb4e5fc67016840e0470bb20cdd37baa",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    },
+    {
+      "curve" : "brainpoolP512t1",
+      "encoding" : "asn",
+      "type" : "ECHDComp",
+      "tests" : [
+        {
+          "tcId" : 4077,
+          "comment" : "normal case",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200049772e567580ed9a9628cba4a948477d384d5e16c106a8d3216013ca557aa0bd1a4cdee0fa560d2935338f523fc612b7f0eb234aff15f25640adae01ed07a061c541bb6ead18e9bbc7ef04d8c542725b6e35d4da608accd3a284d050aee19ab14ada0dc01185019b6bf133c04721488f8ca80a6ad13b99779cc09aa9a97ad6828",
+          "private" : "09c68746bfa3f4a439e987eea3478d442c96890a087605b619b62cecbe6c6faac77469feedce3e22dfd42a6d1edc8a05badbcf4002be553854db31da4fecfddaa",
+          "shared" : "3d71c1a08960df3e3fce6e57a77e69d3da6bf452bd5a2e8e458122402a1cc1ef4598d6826123a26493cab73253bb6992fbc5ad95b234e7068540fd190285bd36",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4078,
+          "comment" : "compressed public key",
+          "curve" : "brainpoolP512t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010e034200029772e567580ed9a9628cba4a948477d384d5e16c106a8d3216013ca557aa0bd1a4cdee0fa560d2935338f523fc612b7f0eb234aff15f25640adae01ed07a061c",
+          "private" : "09c68746bfa3f4a439e987eea3478d442c96890a087605b619b62cecbe6c6faac77469feedce3e22dfd42a6d1edc8a05badbcf4002be553854db31da4fecfddaa",
+          "shared" : "3d71c1a08960df3e3fce6e57a77e69d3da6bf452bd5a2e8e458122402a1cc1ef4598d6826123a26493cab73253bb6992fbc5ad95b234e7068540fd190285bd36",
+          "result" : "acceptable",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 4079,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200045a9c9895b7d2d87bc45ee650412053bf8692541fe5496f9ad90db99e11b715adc3516119d6078e25a0a12eee0f78c41cadf985fea0ed6c78236d73527decb8ca92c7efb8b6f77550e133431631762469edcf47860005c57d5d327c3701c0a5bde751d3a6c6b616a4238139d3de9fecd49f6a0ca7d8d781bc6a51723ba38ea0c1",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4080,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200048f4ad4e364fb67bd09d65819b8a66770e3d259285e2b8c9c80ef2f77c6fa189142045a6852d2ec76c13ad95ada8379539919f5897011d0607aef0c35edd8946314aaba98f1dc6d60dc898f0c7e9b12840d17cd3feb73e257f3a7d123a33d0732c1b9cb24e1542be1679d818cdf6fed41f5c035278c3d4f61e0d2e89f709e3681",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4081,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004798fe077872c658c3fd371254608cee9f2f5f42e92ee35ee6125a4f6605ffdc53ce8ebe4e5b2798b27e783453fc014cb9795fe67264c635bf6964398ae0099961f18832e3ac43fccd1eff6ab0562b299d07828be07e88630c52d46e843cd548390882560fefb894b4c508fc2583ee83ddb4e6f526fa9a900fe5cd5255da071a6",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000002",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4082,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200042346fc0a8a940a6376e5d33e9b6d138e94d1974574f04ab4690c2d659a29f0c95eaa84a587f430e9ed64f00ba31d126782f61f10399afbabca2f6098b989b6bb93e0ea737c087430de82f33b19704a9532b2b5b5f85be769849060f6ccf7bbea0333c5e6f2635ae4abd83e6df07abf1a5ba8723e7fd3e0f5282427c324b781a9",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4083,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200048248ec801efc1fd243b02bc1cc2584a803101650d11ae37c29692f4f61615e3f5a29b89a6fe90b550e0a32c9dee8a680e4b803393524f121904e0ad622bbf9024aaa3105957b850a862e3b11aceac76489cfce4ffe72f465d1867fa93f9a36ce62e6668f19c360458a2d5525ce4e2b5cb555cf47799c264ae6e57e35c2737436",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4084,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200048d33dec860efdd797ecf40fbc9b83f5bd2a4e4295b5f02643222a930885457f80b40fd0bd0481c70b8e661876984ca69995043e4554ac60cc3bacd938d5e34da9487ad24617debb027ee0b0a722abb3b6fc2b82485dee1a069edaf9ae8484ff72a9d2410c9d7404fa86de02bbdfc02568015b071ceac10e9e89e3c38f4284bad",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4085,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004002eeeae6725adaa9e3b23ed16490888e360b1de5e6daa29b5dbba868ba7039e4927438d22a6e2ff76da75d2acbb2bf8e5b06fd85f70eb0f8b81b05510fd7d44a652d93f575182c55148b699f1d8808ab56d2f5cd52d1aa10f8636fbc38a8d5fff5728d2102756131d1ce6e86d78ce29edf23d47893d167ae2352e570ce9fbcd",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "00ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4086,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004568d777955663dcaa04168e553a66b3b2076ef5e65f59bc050ed798f34194fa64467d20f694b69245351ff9bcc9185e373c1e3cbb273844933ac873c5be9807204ba6fe9c306177184671ee7a355e3d2fdacfd87022c064fe4630d21b5447081fc94baea0f0e201c75460d2a56326399cf39ce89e2ff0fde8d15e455f70765da",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "3fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4087,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004623464b3e5fa4cabe116cea354d734de1645101810808d90c5d51f893dde2e35e05c0a913ecb6ee630037628ea4e773da203fdbfa844a8c1430a0130da893bdc4dec5d7b468bc151dd5c38722c92ce2fb5190dd803c05a0cd80434f1460da36993068a7a639ddae6a90fe81319bf8113894965cf94f906052404c4e86724323e",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "4000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4088,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200045a1950942434528205a1a3cf54026b4741a9297ddeaebe2edac85f12bc4f45acc48e4fc83cbf6e228bcb1f3769687c5a95d8b69dd21c1fd365b64ae98a725b7397cb87b963eec9aea147b007d732784c2f5066216be7c4bd8b6b44848f0a4788e0f4a59441e2057b8ac4b82376133085828e41d55c774a74fc31ca97f80a6042",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "40007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4089,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000479a6cd2e2c2118b9bbe6921653d996d1bbe4818e996bce1a8edf2918a98627b92d36245c0e2141fe111a3d9e82602c408ce029c7b38589083155ccd3bb033cae5596c9596d7ef72ed8cf06cf6392d84a84d31170847ca2e50109a4d371bf4edbe0e02eb075158a1f58165548244901436d380e2a174384e97f7a1a156315cdad",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "7fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4090,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000495e93d3fb84de7df8e321ac2b0e93687f73abedab863e862434d16348690f5f234155f08867fcf321957d99ee0b0a1f53a815256d38d7c72953a3169941c681055f60b559c0f665cbfcd9ee16338cf99c54f11c8785b925c4b3ac992f8d64c744b182837dc611ec1e2b8f11fc9dd93b983a6c07c5049810ecf2f01aa682f5da5",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4091,
+          "comment" : "edge cases for shared secret",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000418d64900602b4fea02d596365dbf38a9ba876243c45b5df6c3dc51d32fbeb5e5bfa569dc48ba681134dd38abb36702c45ea5ad97bd5fb59b72ac7af7880f779316a6ccd37112d588d4f3f675a0cbfd743f4b263544ccc1c633cc26e4300546e74f56a583dce49150e3451118ca2ab2a7efe35c5e4889c497506c3ff50a131f61",
+          "private" : "0842479c31f83056da807c6bff582540644ed6a3bbc4a5226cf3a21e918ef36e0616c8c6ad4bf13faca900dba60b6761cb07b0ddb01673ae31477e095cd211b4f",
+          "shared" : "aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4092,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010eb28f88ddc962de75542ff578b6104f4d713b25bae50d40bf91008805605972952e7f2a9df7e8e1dd14a461d3973779d24383f20b77c604cf69f8eb5cbace9e",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "46f301c8200fac3c3a3fff3dc63dd1a934773203853b889370c339a4052e0b7cd00ceecb14de015143605f9519efe574d820efbbcacceb81ebcf5c285f09ae29",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4093,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000400000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000001000000000000000000000000000000003476dfaa119072562787ae26f874a935533d4c77d301527a9adeb905acc4643afc580341bd05ae4f63af976b081d22c93d466abecd2dd3b3a9394d15c54d1e17",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "30a3385580163154bb0ea3e5c82e38ea101f754757d279e716663f464adb61c1a665cf5c79db6eea70e0a35ea1d1c9a8c003f13030a5226795daec0507e1893e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4094,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff000000000000000100000000000000024c9633e8b5525809dd879c06a36b71d84dc39d494d6c20aa3d00518b71d8f44ec979e822efb73720c03a8514562f29b1417882a9298e25abeea9b26026e31c8f",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "4606c80ce9849a3399a5262756464fd90586ead9ca9e85b1766d525a1e8fb1e8e2f312fed3209cf60212e0ebe108d68458d0fabb516f506edd74563f4b188ea1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4095,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff53d8547a993679babfed1d48e51368fba3d5c9c7a79e4d0a0419eea708e9759825cd72ea1940aafaca35ece726032fbdf82c7d2a2b0450f95cf68cd3019d9ae6",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "3c46a894ebd9b3d948444c55ef7dff0f5043abab0f505486ec4724dcdb32e9ddf1c032e50c9c8bcde8337ab67c2ecf7f41e079ee870f618b65a6e8c8a680583d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4096,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000400003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff000000400000044ab2902b151d5c267dfe90293a52e42eea125240ea8bb0f2ed2414d47362daad93dd5a9a1630e7c5b79943b46858cc0721572cb6b9a8e1c69fe995c7deac65a",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "a374270ca06a0d55fbcc3dd7e1640eb90de33c217d87d4fb9113dab551d74ca997f0c24c7cd1f41465bf02e603738509f29e538ebcfd2b642a595ea4d61bffbf",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4097,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff1345bf06047f22990a083feb027722bdcecdc6a056f02ad60d86a3144ab6ac726a0e8d634f1a54d538a432aff9f68049768cbc618cf4f386eff0762d85832dce",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "75c4617e3f4412b69ecbffa2230ad5dd628dbd278bbb6abd3bfdc649930f0c7394b401b8f069184410779ee5e712816993b66aca811c9c0cf93d9c62ca03723e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4098,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000400ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff10f5d99c748dc7ace19d904aa832daa6f07e5fc0ea90c537de422ada8388c68184b91d5d6c61935d61ccef2d36ff808717cacb15c2804d01c98d6df3fd366870",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "44c88ff638e753e16df66c739400fcd9d463721691358dedb6b5d0798c9f161411cf1527786d4c84e77c2d8159b81a0ec653f5b29ac5bc20c9c914b9228894b0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4099,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200043fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff43a5100fea6845725acfe76fe7724c20e1c6d20e6eac1d88af4fc2973d011d67e1a5488686147f36343d837cab42b525b77a128e9f3d299983c0cd9e2744d598",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "2ba61d9b782c3bf2327967aea78652bcab06edfd40194f9f29a050ee2e7b215266bb401239e0939d6960aad9639ab8a3e109e6900044793fc785b3659cec844e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4100,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200044000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff114dd3a8a1fdcd7a4f73230d0cd64e3e70e4d3cdc7f17813225971e5a4f114c1ac832ee47b3e46a06831823e106afbfd787ab0cb24f08431e31d036c42c83bf8",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "0329bcaa4ef0be643943baeef3da0f492807fa3b8096898162790eefc0e6a9ae174a2dfeeb74a82bcfdf962faf7a5383f9828e905033c79c83c44da1a76dba7f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4101,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e038182000440007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc00080003c9571b0b89f23c99107b1a0af05f56387ae4c995d465888ce76fd8c816ffade0fe5463c15d3c70bf99b69a3fee7e1011a3851899f0238c56817cae06ef23ecc",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "51166f096df52ace944ecd44a51775be9059a573b96fa0b886068302d0bce7b61154fa8a7987c5e449f7ed01c34878d8c0e0f6a0393aacc778d60ef9909d02ce",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4102,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000001178695b6ac05f8d187c2af288f716da9a5b3bb33e69989a74f0f8c05af0f2459fc2cc4ee5c850598c9dbd8870c2d7bde30e7cd10dd810c1a9ea8fba06652564e",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "07ec187ce96377cce3f19319ad081ab4311594aa7d894354857fca87cfdd4b2868100e6120c22bd1f53e095bd1a0e60d74e55e23c5590b293362de2c3540fdf8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4103,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002712339d726983e1f5a4f602f37124b0f9bdbcbfb50cc2b74c64184480e6ab3f7a0db884b9fc2a1c081b4d3f6d6f9b5b813b7d9c72758a2faa55c7fd8d0a633d",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "20a7fbcbe57ff0d3c1af10d17f26aec03299b5bc594a9ddd17acd0d1eea0432b08da9434889cd961c65820f373b59ce214425a1b58a6568eaeda7beaca6a05d6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4104,
+          "comment" : "edge cases for ephemeral key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f10eb28f88ddc962de75542ff578b6104f4d713b25bae50d40bf91008805605972952e7f2a9df7e8e1dd14a461d3973779d24383f20b77c604cf69f8eb5cbace9e",
+          "private" : "5e5fb522b12a9b51f178a4c1d959c1b46a5bd51fce1f003ab07c24a226f3cf7a43856263c1746481ea294c2e47658a14394e20903f972bf7e1c29c33f2a3434e",
+          "shared" : "058ef8e8184937d37424cbf061e5548ade07acda195b2e5f41c848a8003a1182036ae169f0e347092f483475f8f7999d7a762e72711ae54e50c16e4d6baf3f99",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4105,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "3",
+          "shared" : "12b8f005de7e6be94e50afdedaf1414198d9e3d7c4e9fcf91411104bfa6953a5cc72acd06aa061c476affd458804fb5070aa2a85265d6b38a0c8b4cf0c1bcf72",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4106,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "43677fd0b1365e971c06e2bff5bf1ddc0ef933c2fcca2512a0d3590cb39a000f2ca822a6274eab376d79dc5b6615e5df8f1fe79d4b3b8c978286f7aab460afdf",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4107,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "785ae49819f91d09ade5e246fe4a109849cb6d6a4f449e2e1dcad0ac7b77206f5e9e2e8ea1e9c046125e32089839377f0d5f641587c2c8a10c64b6d1c15f9cff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4108,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "shared" : "233e7e7b9842094261b0bb716840236bfa57d63e37102b8ef68d7ac4e6b6157c2e30b081c8f38ac249bf98ea0ef682e24ce39828188992e04f8e4ca32f809b99",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4109,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "shared" : "84a5b8cda5b63d7df750c8c656abdbf26c89a679b208b0cbf3271784ba7f6c5ab74136b5cab24e83f82f9d553386d894da78de9b7585016d56d04748ee095e67",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4110,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddadcb58796829ca90069",
+          "shared" : "5503815c93641cd012bfbea8f293e9bf4f2d4110b660cc080f17e623c3fca8597791b41f84f856a0ea2902fe516fac4ce8e3cf1908c900ae304c2ca22e0e7ae5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4111,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57796829ca90069",
+          "shared" : "4e00d64d851b947949af3fce19a413d209c4570fbd023c5b92d534cc6bd0c1378d8ddc0dc3e5407131d17d57e7d9b986b8b3485ff98fdf460faf9fffbe5955f0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4112,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb57f96829ca90069",
+          "shared" : "09f14ca570899490d12dda0bcc829dc8df39f4b00867f0781a6c23568b010d8928edc0fc060207891af5c263b6774b894be70dda4c2b4b305bf57a01075874ed",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4113,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796819ca90069",
+          "shared" : "3d25d403e5deda27c4804eee4c411eb224080f2c2bc82c3b94e9d00c50e39bbd9bf5efdd34871a64afc1e7f62708dc95f0a3b7fb82518dc5b3aad94ad72d11ed",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4114,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9003b",
+          "shared" : "71f9265fcb0a1a899c5a3c8dc31d2fc3c87955285687e73928aab9c5cc750a83760292d514d4cde457fc8e05bb49eac1fb677ffa5f9dc9fa62e1126a9eded5a4",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 4115,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9005b",
+          "shared" : "79cc52b05b942dec984ea1d88675fcff93f87103b58bd0f7153c7b36b205ea39f99e85017e97ba89726d15e7d7fe5eb1525827011b3852e1121753dea15cfbb9",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 4116,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90063",
+          "shared" : "618f57d971efa605cb141993a1149dff87d01c773fb8f2a8db5726eb1703522568cc55abca616dae5727f390c90cfa792d4349856820f2d0b5df7da418328e7f",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 4117,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90066",
+          "shared" : "12b8f005de7e6be94e50afdedaf1414198d9e3d7c4e9fcf91411104bfa6953a5cc72acd06aa061c476affd458804fb5070aa2a85265d6b38a0c8b4cf0c1bcf72",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4118,
+          "comment" : "edge case private key",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004242748b1fa44edac413a79ee1cdcc3d4bab5fa125d4d692208ac52764377b84fe3472dbe8f292572f1f3dbf3e927624d983d5c0f4bfca5224dc0739889ddd0793d1f2089639992a74a3c1783d2f1bd50f85ad77540adfa78b1a6581bcd74b3ef0dd996be2809ed16434c42b3a29cb81b1a39720cede1b640f018788afa61cbed",
+          "private" : "0aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90067",
+          "shared" : "34998a162b0463d81a96dda6c4e256b94ed35f89cb0b69a9af70123bec61b387bb358451e1994d6c29acbec66c50c61f36b66da33782db21521415952b55fa48",
+          "result" : "valid",
+          "flags" : [
+            "AddSubChain"
+          ]
+        },
+        {
+          "tcId" : 4119,
+          "comment" : "public point not on curve",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77f",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 4120,
+          "comment" : "public point = (0,0)",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 4121,
+          "comment" : "order = -8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b3320241ff5522624724163b74c02b1951cc3603f834cf724c4c362df1299c63358fccf78faac1a3beb356d9e6be799ee68053efb8e24e2c7ef7a225224a78697d6356ff9702010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4122,
+          "comment" : "order = 0",
+          "curve" : "brainpoolP512t1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b33202010002010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "WrongOrder",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4123,
+          "comment" : "order = 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b33202010102010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4124,
+          "comment" : "order = 2083592630841357761914050861997332755048435564175796348448981807380927961881602771668457829077617488768289656930144243078095422967775269405300354",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820234308201ab06072a8648ce3d02013082019e020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332023d00aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb587968202010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "acceptable",
+          "flags" : [
+            "WrongOrder",
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4125,
+          "comment" : "generator = (0,0)",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e048181040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4126,
+          "comment" : "generator not on curve",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b334024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4127,
+          "comment" : "cofactor = -1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201ff03818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4128,
+          "comment" : "cofactor = 0",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010003818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4129,
+          "comment" : "cofactor = 2",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010203818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4130,
+          "comment" : "cofactor = 8948962207650232551656602815159153422162609644098354511344597187200057010413418528378981730643524959857451398370029280583094215613882043973354392115544169",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820278308201ef06072a8648ce3d0201308201e2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006903818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4131,
+          "comment" : "cofactor = None",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820235308201ac06072a8648ce3d02013082019f020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f33081840440aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f004407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e04818104640ece5c12788717b9c1ba06cbc2a6feba85842458c56dde9db1758d39c0313d82ba51735cdb3ea499aa77a7d6943a64f7a3f25fe26f06b51baa2696fa9035da5b534bd595f5af0fa2c892376c84ace1bb4e3019b71634c01131159cae03cee9d9932184beef216bd71df2dadf86a627306ecff96dbb8bace198b61e00f8b332024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006903818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4132,
+          "comment" : "modified prime",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100a5165c5f2eee5a788365449a3cc11ec6876bdf02a0746e74d104a4088ec32a3436d134fc5ce5366db37b84da9251cd9f617fe3cf9dd0710e435b6cee731e2c2f308184044005c74159acfb6a12bc6fa213f708dd4143c4aeb11355639a055ef8c1e16fde3d467c66043ee131d4fb521c505451b346c7021b5f8fb25576e54ef367e51c1cc104407cbbbcf9441cfab76e1890e46884eae321f70c0bcb4981527897504bec3e36a62bcdfa2304976540f6450085f2dae145c22553b465763689180ea2571867423e048181040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000002c01f6bf15da7e827a52307770f224816efc100d72f49964dd2681567ecd0a6edf7324e660d982ccdd99cf1989f2b04f9b5466d7e9563cde411c762084da2f32a51024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200040000000000000000000000000000000000000000001ecaba5abfa4220000000000000000000000000000000000000000000000000000000000000000000002c01f6bf15da7e827a52307770f224816efc100d72f49964dd2681567ecd0a6edf7324e660d982ccdd99cf1989f2b04f9b5466d7e9563cde411c762084da2f32a51",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "ModifiedPrime",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4133,
+          "comment" : "using secp224r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 4134,
+          "comment" : "using secp256r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 4135,
+          "comment" : "using secp256k1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 4136,
+          "comment" : "a = 0",
+          "curve" : "brainpoolP512t1",
+          "public" : "308201f83082016f06072a8648ce3d020130820162020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3304504010004402a4e718167630047467addf28a0342d925cc94c8719d760783aa11ed9ed179e88d4aa583a926166ac2e764b11813e1bbe8693d893202478aac4163f64910d93d048181041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006902010103818200041b79c3d29ee8a8d00d3490fb4a2b3803540e27c11de403c3a6f9bf74c479943f34d6718a73d06f9cbbc9de9c48ecffd89de95cb91126a4ff79446a20451ccdab76bc2f96994deeef1bc60da0877c3acc9a711bbd8a5ca5866fed7516150efdd57b089cade770af7402aeab082c2b80cfd4fd7c9211edc88d978ebc9441d8a77d",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "acceptable",
+          "flags" : [
+            "UnusedParam",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4137,
+          "comment" : "public key of order 3",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820238308201af06072a8648ce3d0201308201a2020101304c06072a8648ce3d0101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f330818404406c8f5811c79d562ec621a691d5a754650df59faced64f605326a7f0fc647313b1c0b30c0b6e27724a930c31cc965d59b59487106cdf4a075316b2ba5837c678904409b81c807ac3f851687e9c5be38c4dae1a8062891738eac209a23058e028b32e51a13625456064e878f17018b9edf93fc8ebdd85db7573ea46e259892a6def0c70481810431c6afe72995a14cd19d0197673fd788fd51a4482a9ec5368113692515937510626fd558211a642f5482c5c0e1e8213ce492ec14019f337decade704e916bd4f5e0137674eb74f9be43b812ee19e845525db19ee7ca80f8debabe0ca6cb9c61eac0a2933e1e38c6f6453a0aa4f313f7a9b50b7ad1deead9effe0a4678014fd02024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069020101038182000431c6afe72995a14cd19d0197673fd788fd51a4482a9ec5368113692515937510626fd558211a642f5482c5c0e1e8213ce492ec14019f337decade704e916bd4f4cdc66518d3274ef5b99657f522b77b2a55573c53721c280eab7bc0003794252d14371ccb9e2dbd34a7a00809772416b8d3147820f9418e628c9bbeed8254bf1",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "WeakPublicKey",
+            "InvalidPublic",
+            "UnnamedCurve"
+          ]
+        },
+        {
+          "tcId" : 4138,
+          "comment" : "public key on isomorphic curve brainpoolP512r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049bd10171660265dab6c9e25a9af42f1dfdc0ad0b664d7c935b31747fff72022e4f8369711a7f03c964b9cfec33bbf0856556c1ca3cc10db6317d2f20bf57fd214e04b766a6d8ac26ff3c8cfc78bf70be149f38c1727931143eb371c286e9cf14f3f2c2c5fe7cdb73c93f261c4f8c76a38da076080be5ac233d07b2b6e74898f9",
+          "private" : "2c97c52657984ec1d94e4d44a16045d2ac1604af8455970d967aa095923a89a00df20db023c6c0186884ec18a346e3f650cce8a1b0a41777e0c09f2cbffe5589",
+          "shared" : "56507c88662cc3d543c7038e14f3e656c877628f756a05608c44549691c6ef385a9220d5bb8645ded173e1ad3e2db390df62ac04cd328a0d0dd4d82e99cf3cfa",
+          "result" : "invalid",
+          "flags" : [
+            "IsomorphicPublicKey",
+            "InvalidPublic"
+          ]
+        },
+        {
+          "tcId" : 4139,
+          "comment" : "Public key uses wrong curve: secp224r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "304e301006072a8648ce3d020106052b81040021033a000432a1be03f7b9015028219d8d584b22a5d46c0392736f924c5f21d0e2ff5a0aff54dad40dc74af90d4380f89cdfe9d8cee331aa16d7e0a065",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4140,
+          "comment" : "Public key uses wrong curve: secp256r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040051faad525b9a324917c42a27940f18aeb4493fa0318271de45ce613b7ebf3793f1ff653f614fa111714e4314c1b483ebd909630d1a87c5993914518fc77dab",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4141,
+          "comment" : "Public key uses wrong curve: secp384r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3076301006072a8648ce3d020106052b81040022036200041f8d9bc4a2084d5cad84c5250e350ababa59c89dc3366ea066d991ee26a8ca45a0dcedcaff5de5d6929677200cf7156ebfd1a513456576f5cc22e3e8810ccac80ec9cb383ec5444a83e062bfc3c756eefe3bf21dcf8a842f880d42c56a14a3e3",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4142,
+          "comment" : "Public key uses wrong curve: secp521r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301006072a8648ce3d020106052b81040023038186000401fef39524fef964990ca17fb15232fb785c3fc2c21b0ce4b3cc13a186b04b5f3a39f27be680077ad6f87b6792ca3518aae64611dd9b17771d2611892927c2fb1399017be42de7a39bec4a857a83ba1492cc4d6c6c8c270c8f4c6a34b7bdbb502bd606bc115377194d7635110f57c755d3fd845721d5d36c2798875af8325425695805fe",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4143,
+          "comment" : "Public key uses wrong curve: secp256k1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3056301006072a8648ce3d020106052b8104000a034200041146cca673f3bce8d5e73fc1b9dc3f7c50b2f80910aa2c85622a81c6eca45080880781b5a27a63f7f4dc658e9ece08b07b7de88fd458b72d1a1e54b4a79ff5a0",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4144,
+          "comment" : "Public key uses wrong curve: brainpoolP224r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010105033a000431eae97c69e623133b6879294da70459a1d2d6d70d3f9e5bc380f1f1be80b9970017e4b9bfa5df1540e43ae7301a769b3c833926c05d361a",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4145,
+          "comment" : "Public key uses wrong curve: brainpoolP256r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "305a301406072a8648ce3d020106092b2403030208010107034200040eaee13dfb86bd8938df47220423a5a81c335d7db4733264b182157067f3bdad8ba96b27c47fbc659c23cee98e95ff0c45fb64a910f37b141b9db0e408252742",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4146,
+          "comment" : "Public key uses wrong curve: brainpoolP320r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "306a301406072a8648ce3d020106092b2403030208010109035200043a764d5de212287a85bd344429c4fb3198ada4fe9b18ace23c8a813f9ef00705c37ede3043d3d7315d6e896ea0e067761afdaa34c8676bdf6d33054c944793a0595d1d411b301e18ab292dfae0949487",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4147,
+          "comment" : "Public key uses wrong curve: brainpoolP384r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010b0362000419f894fdbd7e84c9322b3d648bf6bb1724ccf38bc92ed2ea3cd2f8c1704658a40febec7bfb88b231bd2591d4c874dbd44f65dd12a5600f7b9c8865f96ab6fab3635d4e15dd74b3d93afc51cf37a6c145baceffe59bc01d1728566bdd9c159a4a",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4148,
+          "comment" : "Public key uses wrong curve: brainpoolP512r1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046cae8eb745a413b12b416e511a01461dfc4be43fdfefb61d4391de41d84b67e60551b9009213368f2665271012325e9c1f23990babe39b20b18d63d74c74837643e78e361b59af754f477e01eb2a7c120596fd1f755a8e57e48bd61c65e5b328025358d455a95a6b7a6123cc0c34df10434c4d08d2ca956f48cb715cb88f3191",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4149,
+          "comment" : "Public key uses wrong curve: brainpoolP224t1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3052301406072a8648ce3d020106092b2403030208010106033a0004bc0cc0fc885038c82a60f0d7d3e78a6c39d0088fa642442b6e79b6672d35e5be4fafb47994e51ca4116608573f83cd31cbe7eb07f9a1bc35",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4150,
+          "comment" : "Public key uses wrong curve: brainpoolP256t1",
+          "curve" : "brainpoolP512t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010803420004669705ff197bfb63f933df3c101adad2b632a258cb1a1a593bab178be29da54f659af7d97e0450e0e10e92076a3ac2e728d164b714c019cdecb67d99f1f10d76",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4151,
+          "comment" : "Public key uses wrong curve: brainpoolP320t1",
+          "curve" : "brainpoolP512t1",
+          "public" : "306a301406072a8648ce3d020106092b240303020801010a035200044c789e53f6f802452bccd438510b6071bf47174bf6865a7e591324d891f22b584182f3cfb2f291de4a5b8b19afe8cdd7d13468eb20800641150e84f6dd3829c0eb51eb144f8f4c8c7f434cc7a98805c9",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4152,
+          "comment" : "Public key uses wrong curve: brainpoolP384t1",
+          "curve" : "brainpoolP512t1",
+          "public" : "307a301406072a8648ce3d020106092b240303020801010c0362000438c91b58cf47f35c2ea32e955f664f14aa0e7dbe2d45b2510e9b8adb2daff7bb617ff7ce3c9f713918b756383d3569714d476be2d0a7fa64d4c4aebdd4a7490d636f90aa6ea0bb364a880690c7ce25740aeddf5d63e9c8ba0a828ae1581a9658",
+          "private" : "47c9d4ae3ecfea826f6fc9591dd2e25820a3fd96dcedb22ed2cdb0f30c69a36762b500185c170a70921049885d360e51f6c19503bd3d77bb96ccf5285e256bf1",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4153,
+          "comment" : "invalid public key",
+          "curve" : "brainpoolP512t1",
+          "public" : "305a301406072a8648ce3d020106092b240303020801010e0342000235e67afb6af3ddf29988a8c571022edbe5bc69da07bc752efe225ca449b123cf1f7dce245069597e4fb49d088f36753059601932eb624ef28221a5f1acf38ff7",
+          "private" : "090bd095b9dcee06acf56c2e4c7b2c25ecd9f24ed86dd305e9fa0359f33392edd4ea3f21b4ba782895b57ae4d0d4ec52a18df0cf076a0f8ca961577466f66805f",
+          "shared" : "",
+          "result" : "invalid",
+          "flags" : [
+            "CompressedPoint"
+          ]
+        },
+        {
+          "tcId" : 4154,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512t1",
+          "public" : "3082009b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4155,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d3082001406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4156,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d3016068200072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4157,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606072a8648ce3d0201068200092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4158,
+          "comment" : "length contains leading 0",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819c301406072a8648ce3d020106092b240303020801010e0382008200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4159,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "309c301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4160,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "309a301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4161,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301506072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4162,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301306072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4163,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406082a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4164,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406062a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4165,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d0201060a2b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4166,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106082b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4167,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010e038300047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4168,
+          "comment" : "wrong length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010e038100047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4169,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3085010000009b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4170,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a03085010000001406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4171,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a03019068501000000072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4172,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a0301906072a8648ce3d0201068501000000092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4173,
+          "comment" : "uint32 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010e0385010000008200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4174,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "308901000000000000009b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4175,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4308901000000000000001406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4176,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4301d06890100000000000000072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4177,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4301d06072a8648ce3d020106890100000000000000092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4178,
+          "comment" : "uint64 overflow in length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a3301406072a8648ce3d020106092b240303020801010e038901000000000000008200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4179,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30847fffffff301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4180,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f30847fffffff06072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4181,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f301806847fffffff2a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4182,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f301806072a8648ce3d020106847fffffff2b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4183,
+          "comment" : "length = 2**31 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819e301406072a8648ce3d020106092b240303020801010e03847fffffff00047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4184,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3084ffffffff301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4185,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f3084ffffffff06072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4186,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f30180684ffffffff2a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4187,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f301806072a8648ce3d02010684ffffffff2b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4188,
+          "comment" : "length = 2**32 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819e301406072a8648ce3d020106092b240303020801010e0384ffffffff00047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4189,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3085ffffffffff301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4190,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a03085ffffffffff06072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4191,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a030190685ffffffffff2a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4192,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a0301906072a8648ce3d02010685ffffffffff2b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4193,
+          "comment" : "length = 2**40 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010e0385ffffffffff00047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4194,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3088ffffffffffffffff301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4195,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a33088ffffffffffffffff06072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4196,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a3301c0688ffffffffffffffff2a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4197,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a3301c06072a8648ce3d02010688ffffffffffffffff2b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4198,
+          "comment" : "length = 2**64 - 1",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a2301406072a8648ce3d020106092b240303020801010e0388ffffffffffffffff00047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4199,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30ff301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4200,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b30ff06072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4201,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406ff2a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4202,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106ff2b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4203,
+          "comment" : "incorrect length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010e03ff00047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4204,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4205,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b308006072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4206,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406802a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4207,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106802b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4208,
+          "comment" : "indefinite length without termination",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010e038000047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4209,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4210,
+          "comment" : "removing sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30818503818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4211,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP512t1",
+          "public" : "30",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4212,
+          "comment" : "lonely sequence tag",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081863003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4213,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850000",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4214,
+          "comment" : "appending 0's to sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010e000003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4215,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d0000301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4216,
+          "comment" : "prepending 0's to sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d3016000006072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4217,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850000",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4218,
+          "comment" : "appending unused 0's to sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010e000003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4219,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850500",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4220,
+          "comment" : "appending null value to sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010e050003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4221,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a149817730819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4222,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a0250030819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4223,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819e30819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850004deadbeef",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4224,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a03019498177301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4225,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f30182500301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4226,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a33016301406072a8648ce3d020106092b240303020801010e0004deadbeef03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4227,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a03019260c49817706072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4228,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f3018260b250006072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4229,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a3301c260906072a8648ce3d02010004deadbeef06092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4230,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a0301906072a8648ce3d0201260e49817706092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4231,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f301806072a8648ce3d0201260d250006092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4232,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a3301c06072a8648ce3d0201260b06092b240303020801010e0004deadbeef03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4233,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a1301406072a8648ce3d020106092b240303020801010e23818849817703818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4234,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a0301406072a8648ce3d020106092b240303020801010e238187250003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4235,
+          "comment" : "including garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4301406072a8648ce3d020106092b240303020801010e23818503818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850004deadbeef",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4236,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4aa00bb00cd0030819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4237,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a2aa02aabb30819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4238,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a3301caa00bb00cd00301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4239,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a1301aaa02aabb301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4240,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a3301c260faa00bb00cd0006072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4241,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a1301a260daa02aabb06072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4242,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a3301c06072a8648ce3d02012611aa00bb00cd0006092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4243,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a1301a06072a8648ce3d0201260faa02aabb06092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4244,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4301406072a8648ce3d020106092b240303020801010e23818baa00bb00cd0003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4245,
+          "comment" : "including undefined tags",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a2301406072a8648ce3d020106092b240303020801010e238189aa02aabb03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4246,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4247,
+          "comment" : "truncated length of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "308187308103818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4248,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP512t1",
+          "public" : "0500",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4249,
+          "comment" : "Replacing sequence with NULL",
+          "curve" : "brainpoolP512t1",
+          "public" : "308187050003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4250,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "2e819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4251,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "2f819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4252,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "31819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4253,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "32819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4254,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "ff819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4255,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b2e1406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4256,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b2f1406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4257,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b311406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4258,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b321406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4259,
+          "comment" : "changing tag value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819bff1406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4260,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "3000",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4261,
+          "comment" : "dropping value of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "308187300003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4262,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4263,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a1406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4264,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301306072a8648ce3d020106092b2403030208010103818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4265,
+          "comment" : "truncate sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a3013072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4266,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP512t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850000",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4267,
+          "comment" : "indefinite length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d308006072a8648ce3d020106092b240303020801010e000003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4268,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP512t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c97218500",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4269,
+          "comment" : "indefinite length with truncated delimiter",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819c308006072a8648ce3d020106092b240303020801010e0003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4270,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP512t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c97218505000000",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4271,
+          "comment" : "indefinite length with additional element",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f308006072a8648ce3d020106092b240303020801010e0500000003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4272,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP512t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185060811220000",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4273,
+          "comment" : "indefinite length with truncated element",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a1308006072a8648ce3d020106092b240303020801010e06081122000003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4274,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850000fe02beef",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4275,
+          "comment" : "indefinite length with garbage",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a1308006072a8648ce3d020106092b240303020801010e0000fe02beef03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4276,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP512t1",
+          "public" : "3080301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850002beef",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4277,
+          "comment" : "indefinite length with nonempty EOC",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f308006072a8648ce3d020106092b240303020801010e0002beef03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4278,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d3000301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4279,
+          "comment" : "prepend empty sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d3016300006072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4280,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721853000",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4281,
+          "comment" : "append empty sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606072a8648ce3d020106092b240303020801010e300003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4282,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819e30819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4283,
+          "comment" : "sequence of sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d3016301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4284,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "3016301406072a8648ce3d020106092b240303020801010e",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4285,
+          "comment" : "truncated sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "308190300906072a8648ce3d020103818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4286,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "30820120301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c97218503818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4287,
+          "comment" : "repeat element in sequence",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a6301f06072a8648ce3d020106092b240303020801010e06092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4288,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819c30811406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4289,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819c30150681072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4290,
+          "comment" : "long form encoding of length",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819c301506072a8648ce3d02010681092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4291,
+          "comment" : "removing oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "308192300b06092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4292,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP512t1",
+          "public" : "308193300c0606092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4293,
+          "comment" : "lonely oid tag",
+          "curve" : "brainpoolP512t1",
+          "public" : "308191300a06072a8648ce3d02010603818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4294,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606092a8648ce3d0201000006092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4295,
+          "comment" : "appending 0's to oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606072a8648ce3d0201060b2b240303020801010e000003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4296,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d3016060900002a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4297,
+          "comment" : "prepending 0's to oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606072a8648ce3d0201060b00002b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4298,
+          "comment" : "appending unused 0's to oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606072a8648ce3d0201000006092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4299,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606092a8648ce3d0201050006092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4300,
+          "comment" : "appending null value to oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301606072a8648ce3d0201060b2b240303020801010e050003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4301,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "308194300d068106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4302,
+          "comment" : "truncated length of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "308192300b06072a8648ce3d0201068103818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4303,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP512t1",
+          "public" : "308194300d050006092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4304,
+          "comment" : "Replacing oid with NULL",
+          "curve" : "brainpoolP512t1",
+          "public" : "308192300b06072a8648ce3d0201050003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4305,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301404072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4306,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301405072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4307,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301407072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4308,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301408072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4309,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b3014ff072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4310,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020104092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4311,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020105092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4312,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020107092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4313,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020108092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4314,
+          "comment" : "changing tag value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d0201ff092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4315,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "308194300d060006092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4316,
+          "comment" : "dropping value of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "308192300b06072a8648ce3d0201060003818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4317,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b30140607288648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4318,
+          "comment" : "modify first byte of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d0201060929240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4319,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d028106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4320,
+          "comment" : "modify last byte of oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801018e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4321,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301306062a8648ce3d0206092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4322,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301306068648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4323,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301306072a8648ce3d020106082b2403030208010103818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4324,
+          "comment" : "truncate oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301306072a8648ce3d02010608240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4325,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819e3017060a3262306530333032316106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4326,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a6301f061236303836343830313635303330343032303106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4327,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819c301506072a8648ce3d0201060a3262306530333032316103818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4328,
+          "comment" : "wrong oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4301d06072a8648ce3d0201061236303836343830313635303330343032303103818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4329,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4301d06103261383634386365336430323031303106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4330,
+          "comment" : "longer oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a6301f06072a8648ce3d02010614326232343033303330323038303130313065303103818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4331,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a2301b060e326138363438636533643032313106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4332,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081aa302306163261383634386365336430323838383038303830303106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4333,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a4301d06072a8648ce3d0201061232623234303330333032303830313031316503818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4334,
+          "comment" : "oid with modified node",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081ac302506072a8648ce3d0201061a326232343033303330323038303130313838383038303830306503818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4335,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081b4302d0620326138363438636533643032383238303830383038303830383038303830303106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4336,
+          "comment" : "large integer in oid",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081b6302f06072a8648ce3d0201062432623234303330333032303830313031383238303830383038303830383038303830306503818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4337,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a5301e0611326138363438636533643032303165303306092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4338,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819c301506082a808648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4339,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512t1",
+          "public" : "3081a7302006072a8648ce3d0201061532623234303330333032303830313031306565303303818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4340,
+          "comment" : "oid with invalid node",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819c301506072a8648ce3d0201060a2b80240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4341,
+          "comment" : "lonely bit string tag",
+          "curve" : "brainpoolP512t1",
+          "public" : "3017301406072a8648ce3d020106092b240303020801010e03",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4342,
+          "comment" : "appending 0's to bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010e03818400047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850000",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4343,
+          "comment" : "prepending 0's to bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010e038184000000047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4344,
+          "comment" : "appending null value to bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819d301406072a8648ce3d020106092b240303020801010e03818400047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721850500",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4345,
+          "comment" : "truncated length of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010e0381",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4346,
+          "comment" : "Replacing bit string with NULL",
+          "curve" : "brainpoolP512t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010e0500",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4347,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e01818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4348,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e02818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4349,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e04818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4350,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e05818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4351,
+          "comment" : "changing tag value of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010eff818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4352,
+          "comment" : "dropping value of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "3018301406072a8648ce3d020106092b240303020801010e0300",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4353,
+          "comment" : "modify first byte of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818202047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4354,
+          "comment" : "modify last byte of bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818200047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972105",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4355,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010e03818100047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c9721",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4356,
+          "comment" : "truncate bit string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819a301406072a8648ce3d020106092b240303020801010e038181047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4357,
+          "comment" : "declaring bits as unused in a bit-string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818201047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4358,
+          "comment" : "unused bits in a bit-string",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819f301406072a8648ce3d020106092b240303020801010e03818620047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c97218501020304",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4359,
+          "comment" : "unused bits in empty bit-string",
+          "curve" : "brainpoolP512t1",
+          "public" : "3019301406072a8648ce3d020106092b240303020801010e030103",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        },
+        {
+          "tcId" : 4360,
+          "comment" : "128 unused bits",
+          "curve" : "brainpoolP512t1",
+          "public" : "30819b301406072a8648ce3d020106092b240303020801010e03818280047f0fc2207896f3821733a8d8d29c144f00c9616a072e0523d3fb4a5f43be35af7a648a1aea3a5d296cac8ec8e1cc7923702bf6a8973f19a7bb1789bd390ed7919474d2fba3245d99a432ebb5a29c8a782374c07bce4f4930ff32c5544b5e6ff4af1085c3430bd4111c518def736ad427fab1e5896566bbef3d51d5c42c972185",
+          "private" : "0c320f1fb14090be31fab41fbd244cae0870af7551001cd1e56a121105e86c6839f1a0491d3ae024d01ac52b30f9f07e81dc89f9f97e7775b1a50d546496eac3",
+          "shared" : "62a07f6593e632d897ce96a24a8f44e3308e35825caedac4d59f9e58597aa1759a8bd9dacd0682a3a36afc321a0dbf4fe715e6b72f9ef577ad3eaff0225972db",
+          "result" : "acceptable",
+          "flags" : [
+            "InvalidAsn"
+          ]
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/ecdh_test.txt b/src/third_party/wycheproof_testvectors/ecdh_test.txt
new file mode 100644
index 0000000..f4ccd5a
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdh_test.txt
@@ -0,0 +1,12649 @@
+# Imported from Wycheproof's ecdh_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: ECDH
+# Generator version: 0.4.6
+
+[curve = secp224r1]
+[encoding = asn]
+
+# tcId = 1
+# normal case
+curve = secp224r1
+private = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328
+public = 304e301006072a8648ce3d020106052b81040021033a00047d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc719b01d050dfbe653e72f39491be87fb1a2742daa6e0a2aada98bb1aca
+result = valid
+shared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f
+
+# tcId = 2
+# compressed public key
+curve = secp224r1
+private = 565577a49415ca761a0322ad54e4ad0ae7625174baf372c2816f5328
+public = 3032301006072a8648ce3d020106052b81040021031e00027d8ac211e1228eb094e285a957d9912e93deee433ed777440ae9fc71
+result = acceptable
+shared = b8ecdb552d39228ee332bafe4886dbff272f7109edf933bc7542bd4f
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 3
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a00045763fa2ae16367ad23d471cc9a52466f0d81d864e5640cefe384114594d9fecfbed4f254505ac8b41d2532055a07f0241c4818b552cbb636
+result = valid
+shared = 00000000000000000000000100000000000000000000000000000001
+
+# tcId = 4
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a0004142c1fd80fa2121a59aa898144084ec033f7a56a34eee0b499e29ae51c6d8c1bbb1ef2a76d565899fe44ffc1207d530d7f598fb77f4bb76b
+result = valid
+shared = 00000000000000ffffffffffffff0000000000000100000000000000
+
+# tcId = 5
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a0004ed6f793e10c80d12d871cf8988399c4898a9bf9ffd8f27399f63de25f0051cdf4eec7f368f922cfcd948893ceca0c92e540cc4367a99a66a
+result = valid
+shared = 00000000ffffffffffffffff00000000000000010000000000000000
+
+# tcId = 6
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a000408fcfc1a63c82860be12e4137433dfc40be9acdd245f9a8c4e56be61a385fc09f808383383f4b1d0d5365b6e5dcfacdc19bc7bcfed221274
+result = valid
+shared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff
+
+# tcId = 7
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a0004d883ed77f1861e8712800d31df67888fe39f150c79a27aa88caeda6b180f3f623e2ff3ab5370cf8179165b085af3dd4502850c0104caed9a
+result = valid
+shared = 0003fffffff00000003fffffff00000003fffffff000000040000000
+
+# tcId = 8
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a00042b8b279b85ee3f3d2c0abeb36fdfc5aad6157d652d26489381a32cd73224bd757ef794acc92b0b3b9e7990618bb343a9a09bdb9d3616eff6
+result = valid
+shared = 01fffffffc00000007fffffff00000001fffffffc000000080000001
+
+# tcId = 9
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a0004a281ad992b363597ac93ff0de8ab1f7e51a6672dcbb58f9d739ba430ce0192874038daefc3130eec65811c7255da70fea65c1003f6892faa
+result = valid
+shared = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff
+
+# tcId = 10
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a0004be3e22133f51203f631b81dde8c020cdea5daa1f99cfc05c88fad2dc0f243798d6e72d1de9e3cdca4144e0a6c0f2a584d07589006972c197
+result = valid
+shared = fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008001
+
+# tcId = 11
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a0004af14547c20afbd91bfe64ea03d45a76a71241f23520ef897ff91eff1b54ca6ca8c25fd73852ec6654617434eff7f0225684d4dea7a4f8a97
+result = valid
+shared = ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff
+
+# tcId = 12
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a0004b1e484925018729926acda56ff3e2f6c1e7e8f162b178d8e8afb45564fceaa6da5d998fe26b6b26a055169063a5ab6908852ca8b54e2de6c
+result = valid
+shared = fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff
+
+# tcId = 13
+# edge cases for shared secret
+curve = secp224r1
+private = 0a2b6442a37f9201b56758034d2009be64b0ab7c02d7e398cac9665d6
+public = 304e301006072a8648ce3d020106052b81040021033a0004937eb09fb145c8829cb7df20a4cbeed396791373de277871d6c5f9cc3b5b4fd56464a71fc4a2a6af3bd251952bffa829489e68a8d06f96b6
+result = valid
+shared = ffffffff00000000ffffffff00000000ffffffff00000000ffffffff
+
+# tcId = 14
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a0004000000000000000000000001000000000000000000000000000000012ea2f4917bdfdb008306cc10a18e2557633ba861001829dcbfb96fba
+result = valid
+shared = be1ded8cb7ff8a585181f96d681e31b332fe27dcae922dca2310300d
+
+# tcId = 15
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a000400000000000000ffffffffffffff000000000000010000000000000073ca5f8f104997a2399e0c7f25e72a75ec29fc4542533d3fea89a33a
+result = valid
+shared = a2e86a260e13515918a0cafdd87855f231b5624c560f976159e06a75
+
+# tcId = 16
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a000400000000ffffffffffffffff000000000000000100000000000000006fe6805f59b19b0dd389452a1d4a420bfeb6c369cf6fed5b12e6e654
+result = valid
+shared = 31ef7c8d10404a0046994f313a70574b027e87f9028eca242c1b5bf5
+
+# tcId = 17
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a00040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff77c5cfa4e2c384938d48bd8dd98f54c86b279f1df8c0a1f6692439c9
+result = valid
+shared = d1976a8ef5f54f24f5a269ad504fdca849fc9c28587ba294ef267396
+
+# tcId = 18
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a00040003fffffff00000003fffffff00000003fffffff00000004000000001f0828136016bb97445461bc59f2175d8d23557d6b9381f26136e3d
+result = valid
+shared = ce7890d108ddb2e5474e6417fcf7a9f2b3bd018816062f4835260dc8
+
+# tcId = 19
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a000401fffffffc00000007fffffff00000001fffffffc0000000800000012d8acca6f199d4a94b933ba1aa713a7debde8ac57b928f596ae66a66
+result = valid
+shared = 30b6ff6e8051dae51e4fe34b2d9a0b1879153e007eb0b5bdf1791a9c
+
+# tcId = 20
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a00047fffffffffffffffffffffffffffffffffffffffffffffffffffffff7d8dbca36c56bcaae92e3475f799294f30768038e816a7d5f7f07d77
+result = valid
+shared = 73bd63bd384a0faafb75cfed3e95d3892cbacf0db10f282c3b644771
+
+# tcId = 21
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a0004fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc000800174f1ff5ea7fbc72b92f61e06556c26bab84c0b082dd6400ca1c1eb6d
+result = valid
+shared = 85b079c62e1f5b0fd6841dfa16026e15b641f65e13a14042567166bb
+
+# tcId = 22
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a0004ffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0126fdd5fccd0b5aa7fd5bb5b1308584b30556248cec80208a2fe962
+result = valid
+shared = 8a834ff40e3fc9f9d412a481e18537ea799536c5520c6c7baaf12166
+
+# tcId = 23
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a0004fffff0000007fffffe000000ffffffc000001ffffff8000003ffffff20cfa23077acc9fbcb71339c65880cd0b966b8a9497e65abed17f0b5
+result = valid
+shared = a0887269766e6efcbc81d2b38f2d4638663f12377468a23421044188
+
+# tcId = 24
+# edge cases for ephemeral key
+curve = secp224r1
+private = 2bc15cf3981f4e15bbad387b506df647989e5478160be862f8c26969
+public = 304e301006072a8648ce3d020106052b81040021033a0004ffffffff00000000ffffffff00000000ffffffff00000000ffffffff1c05ac2d4f10b69877c3243d51f887277b7bf735c326ab2f0d70da8c
+result = valid
+shared = c65d1911bc076a74588d8793ce7a0dcabf5793460cd2ebb02754a1be
+
+# tcId = 25
+# edge case private key
+curve = secp224r1
+private = 3
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6
+
+# tcId = 26
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffff
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = fa2664717c7fa0161ec2c669b2c0986cdc20456a6e5406302bb53c77
+
+# tcId = 27
+# edge case private key
+curve = secp224r1
+private = 1000000000000000000000000000000000000000000000000000000
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = af6e5ad34497bae0745f53ad78ce8b285d79f400d5c6e6a071f8e6bd
+
+# tcId = 28
+# edge case private key
+curve = secp224r1
+private = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffff
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = 12fd302ff8c13c55a9c111f8bb6b0a13ecf88299c0ae3032ce2bcaff
+
+# tcId = 29
+# edge case private key
+curve = secp224r1
+private = 080000000000000000000000000000000000000000000000000000000
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = 73f1a395b842f1a6752ae417e2c3dc90cafc4476d1d861b7e68ad030
+
+# tcId = 30
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffff16a2e0b8f03d13dd29455c5c2a3d
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = b329c20ddb7c78ee4e622bb23a984c0d273ba34b6269f3d9e8f89f8e
+
+# tcId = 31
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffff16a2e0b8f03e13cd29455c5c2a3d
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = 6f48345209b290ffc5abbe754a201479e5d667a209468080d06197b4
+
+# tcId = 32
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffff16a2e0b8f03e13d529455c5c2a3d
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = 9f6e30c1c9dad42a153aacd4b49a8e5c721d085cd07b5d5aec244fc1
+
+# tcId = 33
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29445c5c2a3d
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = 8cadfb19a80949e61bd5b829ad0e76d18a5bb2eeb9ed7fe2b901cecd
+
+# tcId = 34
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29b7
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = 475fd96e0eb8cb8f100a5d7fe043a7a6851d1d611da2643a3c6ae708
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 35
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a37
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = 41ef931d669d1f57d8bb95a01a92321da74be8c6cbc3bbe0b2e73ebd
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 36
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = e71f2157bfe37697ea5193d4732dcc6e5412fa9d38387eacd391c1c6
+
+# tcId = 37
+# edge case private key
+curve = secp224r1
+private = 0ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b
+public = 304e301006072a8648ce3d020106052b81040021033a0004478e73465bb1183583f4064e67e8b4343af4a05d29dfc04eb60ac2302e5b9a3a1b32e4208d4c284ff26822e09c3a9a4683443e4a35175504
+result = valid
+shared = 11ff15126411299cbd49e2b7542e69e91ef132e2551a16ecfebb23a3
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 38
+# public point not on curve
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 304e301006072a8648ce3d020106052b81040021033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5d
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 39
+# public point = (0,0)
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 304e301006072a8648ce3d020106052b81040021033a00040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 40
+# order = -26959946667150639794667015087019625940457807714424391721682722368061
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021dff0000000000000000000000000000e95d1f470fc1ec22d6baa3a3d5c3020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 41
+# order = 0
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020100020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 42
+# order = 1
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 3081f73081b806072a8648ce3d02013081ac020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34020101020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = acceptable
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 43
+# order = 6277101735386680763835789423207665314073163949517624387909
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 3082010f3081d006072a8648ce3d02013081c4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021900ffffffffffffffffffffffffffff16a2e0b8f03e13dd2945020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = acceptable
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 44
+# generator = (0,0)
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb40439040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = acceptable
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 45
+# generator not on curve
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e36021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = acceptable
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 46
+# cofactor = -1
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 47
+# cofactor = 0
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 48
+# cofactor = 2
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020102033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = acceptable
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 49
+# cofactor =
+# 26959946667150639794667015087019625940457807714424391721682722368061
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 3082012f3081f006072a8648ce3d02013081e4020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 50
+# cofactor = None
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201103081d106072a8648ce3d02013081c5020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041cfffffffffffffffffffffffffffffffefffffffffffffffffffffffe041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = acceptable
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 51
+# modified prime
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00c123da0a46a971da9468161e61a5c71a02e6c9bdb3392f4016fb457b303c041c3edc25f5b9568e256b97e9e19e5a38e4fd1936424cc6d0bfe904ba83041cb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4043904000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004000000000000000000285145f31ae4d40000000000000000000003387edad63d1a600740ce66b6f04d67ed06ea1a75c16294336ed05b3fa3
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The modulus of the public key has been modified. The public point of the
+# public key has been chosen so that it is both a point on both the curve of the
+# modified public key and the private key.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 52
+# using secp256r1
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 53
+# using secp256k1
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 54
+# a = 0
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 3081f83081b906072a8648ce3d02013081ad020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff0000000000000000000000013021040100041cd0d5e347a38ce5b6e1f47edddd8a223bca45d2015de76ec835a4df57043904a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a0004a10fb7bf22d299fc5bc43bd2d0e8da28af28ace8430bee28f9e5b57554275c0615d8d9a3011d7bc4c1c4cf4a834c8dc46f25b98854401a5b
+result = acceptable
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 55
+# public key of order 3
+curve = secp224r1
+private = 0d07629eb653a169ae3231ea1030faaf3e7f8ffe388030ee315d0a1d2
+public = 308201133081d406072a8648ce3d02013081c8020101302806072a8648ce3d0101021d00ffffffffffffffffffffffffffffffff000000000000000000000001303c041c638e13764a07715dd0f3dc73c3b96a57d7edf087edd548055acba86d041cc9a6db972cff80f0a883ee0ea939544a707b32284b77b79c72118f390439043afa3ffd1cb3be8625468884aad7a07f33de1cfd74b06a060142a7d7470e6fb68cd0695a6c52b98246f92030ff4cdeb97dc90591eee1a1f0021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101033a00043afa3ffd1cb3be8625468884aad7a07f33de1cfd74b06a060142a7d7b8f19049732f96a593ad467db906dfce00b321468236fa6e111e5e11
+result = invalid
+shared = 9b992dad1c2b5dadd3b5aeb84b7a91fb6fe5f46e02ab2c7fa32696a7
+# The vector contains a weak public key. The curve is not a named curve, the
+# public key point has order 3 and has been chosen to be on the same curve as
+# the private key. This test vector is used to check ECC implementations for
+# missing steps in the verification of the public key.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 56
+# Public key uses wrong curve: secp256r1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ea36cf70fab75684eabe6569ce623db0deaa8c95f61c8be50b8b9f3eb7d4b9ec48d9e4814f4cb1c286589eaaa990d3f3238b2d6d6be964abfad964824b653376
+result = invalid
+shared = 
+
+# tcId = 57
+# Public key uses wrong curve: secp384r1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 3076301006072a8648ce3d020106052b81040022036200044b2470ad3d13269c10a17d222ebdffbd61fb04488db1b1d7caef8d4988b7bb8ba6d81857a05b255232b9e37a30e328bb9d9c42d86096f2bcee3d258cfe208d2fd03cbd5ccc6a3bb8ce4b0efa5b059b4afbd0377aa6e274721a57efe8ee85d86a
+result = invalid
+shared = 
+
+# tcId = 58
+# Public key uses wrong curve: secp521r1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 30819b301006072a8648ce3d020106052b810400230381860004012841a2260f0f1f424865fef275374779bf0355720223f8ec6a9ba767b1603b492f58a6bba1705d882257bc6be1935de4411c5f1fdad44ec65ba8b97ce0e73e1ac90006937832a602147e37c1a42ca2a63629ffc9a35b31bfacb38c6242b42916125f7446b45c718f797259bc3011cb71e868560b331cf7d01139a0643443f9fd7306c1
+result = invalid
+shared = 
+
+# tcId = 59
+# Public key uses wrong curve: secp256k1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 3056301006072a8648ce3d020106052b8104000a03420004c2199fecf75648c0e952dff143821fa4012b28f90435ce6ee54653687f969a76092a3844e17d478a594f43b28cc10a5c553b4f64906121031c3a79299c70dbd6
+result = invalid
+shared = 
+
+# tcId = 60
+# Public key uses wrong curve: brainpoolP224r1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 3052301406072a8648ce3d020106092b2403030208010105033a00046caa3d6d86f792df7b29e41eb4203150f60f4fca10f57d0b2454abfb201f9f7e6dcbb92bdcfb9240dc86bcaeaf157c77bca22b2ec86ee8d6
+result = invalid
+shared = 
+
+# tcId = 61
+# Public key uses wrong curve: brainpoolP256r1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 305a301406072a8648ce3d020106092b2403030208010107034200042750180012c3ba7489517d428e4826784e50b50ac42ef7991c61a396c03a52da5e74908ae8a89627a7c15e554b105b0ebaeebcfed10e3ea60223d0a8bc3b36ab
+result = invalid
+shared = 
+
+# tcId = 62
+# Public key uses wrong curve: brainpoolP320r1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 306a301406072a8648ce3d020106092b2403030208010109035200045b523d3a8f20f6a569c6951e0b8de48d89e7549a184e8506820421c3e404473692cd248d7480843b911d87a87e401112fce0d3d2c36978cf6dd7f1d93bfaebe0827d4bf4006006d3202e842126fe1b68
+result = invalid
+shared = 
+
+# tcId = 63
+# Public key uses wrong curve: brainpoolP384r1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 307a301406072a8648ce3d020106092b240303020801010b03620004449607c76c6dc7334c269a0ebab5beec83b6c263377ce06ef5c276f45a9916eff85f50438f5f32ced0210a6c414fe5e242c7c1070823f5395b35965bda6758acf84725f11ea836dda7d391fee91342026645241853224a437a6fb74e4cdc871f
+result = invalid
+shared = 
+
+# tcId = 64
+# Public key uses wrong curve: brainpoolP512r1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 30819b301406072a8648ce3d020106092b240303020801010d038182000463e7a491240848e4f53ea5fb857d428c493053193e4b0b4f995ac8bf4c56276a507870131a384aa7e236c64cd7a049a1b37e40ad00c3b8a920dcbad6531616356ce1b6e6d96a7d1b693e25e5abd83ab560a3d764bcd49ec98a1b49421163bd5fc5a625f44c91eb4c2984d5a2e51e816ebdee8fbe08364bb14b7ac876990e64d9
+result = invalid
+shared = 
+
+# tcId = 65
+# Public key uses wrong curve: brainpoolP224t1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 3052301406072a8648ce3d020106092b2403030208010106033a00047c592ecb8908355d1ebf8d59b3619275dbe3666209b72ced6a3c88740456ce61d6a84e0542d7cd10dd8804afb8c784d5dffd9480d8cfdc95
+result = invalid
+shared = 
+
+# tcId = 66
+# Public key uses wrong curve: brainpoolP256t1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 305a301406072a8648ce3d020106092b240303020801010803420004746226a3e005c37ede51828d3375ef91ebd0ff719a380af69d7dfd131b42a3e8917d4a4d573872935a74d1040f1c47d25d6b26f4156cccdcdc11833b9cde433a
+result = invalid
+shared = 
+
+# tcId = 67
+# Public key uses wrong curve: brainpoolP320t1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 306a301406072a8648ce3d020106092b240303020801010a035200043298b36825c7bd90ab5157b913d40bbfd732a0de0557e02a2c65a0c223e9a65d62c32462040dd6fe578103023c831caff122c1ed4b8ff7373fa2f08d11c9f4c7f85f81802262ffed9bb82cb6d92eed2d
+result = invalid
+shared = 
+
+# tcId = 68
+# Public key uses wrong curve: brainpoolP384t1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 307a301406072a8648ce3d020106092b240303020801010c036200043af2849b981f7e5e6ab936e6abb4f206c1fd5561998df8008bfe98d84173c9f2301cdbd5bffc569c0b5a57ce2a8f4d640f1816475fc6043baa8e5a3453bf327b54cb29c7e54a5f31348969aa94615094dbcd1a8e5c2d630465e45fc556c02194
+result = invalid
+shared = 
+
+# tcId = 69
+# Public key uses wrong curve: brainpoolP512t1
+curve = secp224r1
+private = 2ddd06cb77ca2eae5266a34a107b49e56ffb4c2d3952112da2df90fc
+public = 30819b301406072a8648ce3d020106092b240303020801010e038182000453d2506047e72af6d98558e1633ecb7e6a05c37861cd3289455cf41bfbf1703f2e9a83052b8eca7d84cba2f001abd8b978f68b69ed6bd874755c44d347fe302c5760b2078c56b24ebd0dcd99f26b8f8a23044b3767a3d2a306587687a7b00668974674edbf18c3db2f3473a97ee77065fdcdd1a9aa053716a4c504f3d18b9170
+result = invalid
+shared = 
+
+# tcId = 70
+# invalid public key
+curve = secp224r1
+private = 0fc28a0ca0f8e36b0d4f71421845135a22aef543b9fddf8c775b2d18f
+public = 3032301006072a8648ce3d020106052b81040021031e00020ca753db5ddeca474241f8d2dafc0844343fd0e37eded2f0192d51b2
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 71
+# long form encoding of length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30814e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 72
+# long form encoding of length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304f30811006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 73
+# long form encoding of length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304f30110681072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 74
+# long form encoding of length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304f301106072a8648ce3d02010681052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 75
+# long form encoding of length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304f301006072a8648ce3d020106052b8104002103813a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 76
+# length contains leading 0
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3082004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 77
+# length contains leading 0
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30503082001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 78
+# length contains leading 0
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30503012068200072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 79
+# length contains leading 0
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206072a8648ce3d0201068200052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 80
+# length contains leading 0
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301006072a8648ce3d020106052b810400210382003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 81
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304f301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 82
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 83
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301106072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 84
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e300f06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 85
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006082a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 86
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006062a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 87
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106062b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 88
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106042b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 89
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021033b000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 90
+# wrong length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 91
+# uint32 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3085010000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 92
+# uint32 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30533085010000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 93
+# uint32 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30533015068501000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 94
+# uint32 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053301506072a8648ce3d0201068501000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 95
+# uint32 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053301006072a8648ce3d020106052b810400210385010000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 96
+# uint64 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 308901000000000000004e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 97
+# uint64 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3057308901000000000000001006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 98
+# uint64 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3057301906890100000000000000072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 99
+# uint64 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3057301906072a8648ce3d020106890100000000000000052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 100
+# uint64 overflow in length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3057301006072a8648ce3d020106052b81040021038901000000000000003a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 101
+# length = 2**31 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30847fffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 102
+# length = 2**31 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 305230847fffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 103
+# length = 2**31 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052301406847fffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 104
+# length = 2**31 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052301406072a8648ce3d020106847fffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 105
+# length = 2**31 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052301006072a8648ce3d020106052b8104002103847fffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 106
+# length = 2**32 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3084ffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 107
+# length = 2**32 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30523084ffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 108
+# length = 2**32 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 305230140684ffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 109
+# length = 2**32 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052301406072a8648ce3d02010684ffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 110
+# length = 2**32 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052301006072a8648ce3d020106052b810400210384ffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 111
+# length = 2**40 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3085ffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 112
+# length = 2**40 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30533085ffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 113
+# length = 2**40 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 305330150685ffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 114
+# length = 2**40 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053301506072a8648ce3d02010685ffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 115
+# length = 2**40 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053301006072a8648ce3d020106052b810400210385ffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 116
+# length = 2**64 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3088ffffffffffffffff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 117
+# length = 2**64 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30563088ffffffffffffffff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 118
+# length = 2**64 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 305630180688ffffffffffffffff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 119
+# length = 2**64 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3056301806072a8648ce3d02010688ffffffffffffffff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 120
+# length = 2**64 - 1
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3056301006072a8648ce3d020106052b810400210388ffffffffffffffff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 121
+# incorrect length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30ff301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 122
+# incorrect length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e30ff06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 123
+# incorrect length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006ff2a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 124
+# incorrect length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106ff2b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 125
+# incorrect length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b8104002103ff000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 126
+# indefinite length without termination
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 127
+# indefinite length without termination
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e308006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 128
+# indefinite length without termination
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006802a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 129
+# indefinite length without termination
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106802b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 130
+# indefinite length without termination
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b810400210380000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 131
+# removing sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 132
+# removing sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 303c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 133
+# lonely sequence tag
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 134
+# lonely sequence tag
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 303d30033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 135
+# appending 0's to sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 136
+# appending 0's to sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 137
+# prepending 0's to sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30500000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 138
+# prepending 0's to sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30503012000006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 139
+# appending unused 0's to sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 140
+# appending unused 0's to sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 141
+# appending null value to sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 142
+# appending null value to sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206072a8648ce3d020106052b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 143
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053498177304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 144
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30522500304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 145
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 146
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30533015498177301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 147
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 305230142500301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 148
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30563012301006072a8648ce3d020106052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 149
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30533015260c49817706072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 150
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30523014260b250006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 151
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30563018260906072a8648ce3d02010004deadbeef06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 152
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053301506072a8648ce3d0201260a49817706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 153
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052301406072a8648ce3d02012609250006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 154
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3056301806072a8648ce3d0201260706052b810400210004deadbeef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 155
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053301006072a8648ce3d020106052b81040021233f498177033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 156
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052301006072a8648ce3d020106052b81040021233e2500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 157
+# including garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3056301006072a8648ce3d020106052b81040021233c033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620004deadbeef
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 158
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3056aa00bb00cd00304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 159
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3054aa02aabb304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 160
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30563018aa00bb00cd00301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 161
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30543016aa02aabb301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 162
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30563018260faa00bb00cd0006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 163
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30543016260daa02aabb06072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 164
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3056301806072a8648ce3d0201260daa00bb00cd0006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 165
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3054301606072a8648ce3d0201260baa02aabb06052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 166
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3056301006072a8648ce3d020106052b810400212342aa00bb00cd00033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 167
+# including undefined tags
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3054301006072a8648ce3d020106052b810400212340aa02aabb033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 168
+# truncated length of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3081
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 169
+# truncated length of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 303e3081033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 170
+# Replacing sequence with NULL
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 0500
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 171
+# Replacing sequence with NULL
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 303e0500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 172
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 2e4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 173
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 2f4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 174
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 314e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 175
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 324e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 176
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = ff4e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 177
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e2e1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 178
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e2f1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 179
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e311006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 180
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e321006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 181
+# changing tag value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304eff1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 182
+# dropping value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3000
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 183
+# dropping value of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 303e3000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 184
+# truncate sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 185
+# truncate sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d1006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 186
+# truncate sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d300f06072a8648ce3d020106052b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 187
+# truncate sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d300f072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 188
+# indefinite length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 189
+# indefinite length
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050308006072a8648ce3d020106052b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 190
+# indefinite length with truncated delimiter
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6200
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 191
+# indefinite length with truncated delimiter
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304f308006072a8648ce3d020106052b8104002100033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 192
+# indefinite length with additional element
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6205000000
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 193
+# indefinite length with additional element
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052308006072a8648ce3d020106052b8104002105000000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 194
+# indefinite length with truncated element
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62060811220000
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 195
+# indefinite length with truncated element
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3054308006072a8648ce3d020106052b81040021060811220000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 196
+# indefinite length with garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000fe02beef
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 197
+# indefinite length with garbage
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3054308006072a8648ce3d020106052b810400210000fe02beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 198
+# indefinite length with nonempty EOC
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3080301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620002beef
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 199
+# indefinite length with nonempty EOC
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052308006072a8648ce3d020106052b810400210002beef033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 200
+# prepend empty sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30503000301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 201
+# prepend empty sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30503012300006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 202
+# append empty sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da623000
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 203
+# append empty sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206072a8648ce3d020106052b810400213000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 204
+# sequence of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 205
+# sequence of sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30503012301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 206
+# truncated sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3012301006072a8648ce3d020106052b81040021
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 207
+# truncated sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3047300906072a8648ce3d0201033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 208
+# repeat element in sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30818a301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 209
+# repeat element in sequence
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3055301706072a8648ce3d020106052b8104002106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 210
+# removing oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3045300706052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 211
+# lonely oid tag
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304630080606052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 212
+# lonely oid tag
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3048300a06072a8648ce3d020106033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 213
+# appending 0's to oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206092a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 214
+# appending 0's to oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206072a8648ce3d020106072b810400210000033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 215
+# prepending 0's to oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30503012060900002a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 216
+# prepending 0's to oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206072a8648ce3d0201060700002b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 217
+# appending unused 0's to oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206072a8648ce3d0201000006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 218
+# appending null value to oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206092a8648ce3d0201050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 219
+# appending null value to oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301206072a8648ce3d020106072b810400210500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 220
+# truncated length of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30473009068106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 221
+# truncated length of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3049300b06072a8648ce3d02010681033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 222
+# Replacing oid with NULL
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30473009050006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 223
+# Replacing oid with NULL
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3049300b06072a8648ce3d02010500033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 224
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301004072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 225
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301005072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 226
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301007072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 227
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301008072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 228
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e3010ff072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 229
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020104052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 230
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020105052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 231
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020107052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 232
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020108052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 233
+# changing tag value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d0201ff052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 234
+# dropping value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30473009060006052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 235
+# dropping value of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3049300b06072a8648ce3d02010600033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 236
+# modify first byte of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e30100607288648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 237
+# modify first byte of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052981040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 238
+# modify last byte of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d028106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 239
+# modify last byte of oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b810400a1033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 240
+# truncate oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d300f06062a8648ce3d0206052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 241
+# truncate oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d300f06068648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 242
+# truncate oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d300f06072a8648ce3d020106042b810400033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 243
+# truncate oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d300f06072a8648ce3d0201060481040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 244
+# wrong oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30513013060a3262306530333032316106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 245
+# wrong oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3059301b061236303836343830313635303330343032303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 246
+# wrong oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053301506072a8648ce3d0201060a32623065303330323161033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 247
+# wrong oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 305b301d06072a8648ce3d02010612363038363438303136353033303430323031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 248
+# longer oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3057301906103261383634386365336430323031303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 249
+# longer oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3055301706072a8648ce3d0201060c326238313034303032313031033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 250
+# oid with modified node
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 30553017060e326138363438636533643032313106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 251
+# oid with modified node
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 305d301f06163261383634386365336430323838383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 252
+# oid with modified node
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3053301506072a8648ce3d0201060a32623831303430303331033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 253
+# oid with modified node
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 305b301d06072a8648ce3d02010612326238313034303038383830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 254
+# large integer in oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 306730290620326138363438636533643032383238303830383038303830383038303830303106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 255
+# large integer in oid
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3065302706072a8648ce3d0201061c32623831303430303832383038303830383038303830383038303231033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 256
+# oid with invalid node
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3058301a0611326138363438636533643032303165303306052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 257
+# oid with invalid node
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304f301106082a808648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 258
+# oid with invalid node
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3056301806072a8648ce3d0201060d32623831303430303231653033033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 259
+# oid with invalid node
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304f301106072a8648ce3d020106062b8081040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 260
+# lonely bit string tag
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3013301006072a8648ce3d020106052b8104002103
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 261
+# appending 0's to bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620000
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 262
+# prepending 0's to bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301006072a8648ce3d020106052b81040021033c0000000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 263
+# appending null value to bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3050301006072a8648ce3d020106052b81040021033c000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da620500
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 264
+# truncated length of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3014301006072a8648ce3d020106052b810400210381
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 265
+# Replacing bit string with NULL
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3014301006072a8648ce3d020106052b810400210500
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 266
+# changing tag value of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021013a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 267
+# changing tag value of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021023a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 268
+# changing tag value of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021043a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 269
+# changing tag value of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021053a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 270
+# changing tag value of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021ff3a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 271
+# dropping value of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3014301006072a8648ce3d020106052b810400210300
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 272
+# modify first byte of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021033a020486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 273
+# modify last byte of bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021033a000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3dae2
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 274
+# truncate bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d301006072a8648ce3d020106052b810400210339000486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 275
+# truncate bit string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304d301006072a8648ce3d020106052b8104002103390486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 276
+# declaring bits as unused in a bit-string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021033a010486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 277
+# unused bits in a bit-string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3052301006072a8648ce3d020106052b81040021033e200486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da6201020304
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 278
+# unused bits in empty bit-string
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 3015301006072a8648ce3d020106052b81040021030103
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 279
+# 128 unused bits
+curve = secp224r1
+private = 0a1b9444f59642d428e2f299055004165a34c3b8796c5057ae8a1a572
+public = 304e301006072a8648ce3d020106052b81040021033a800486e2f72bccd974a3f1a4fc2cdcf22043eaf8be047de6be726b62001fda6f50f6df0b51bee99195d8a1a1c97e59e72fa4fcf8c1d21cb3da62
+result = acceptable
+shared = 85a70fc4dfc8509fb9ba1cfcf1879443e2ce176d794228029b10da63
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+[curve = secp256r1]
+[encoding = asn]
+
+# tcId = 280
+# normal case
+curve = secp256r1
+private = 612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000462d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26ac333a93a9e70a81cd5a95b5bf8d13990eb741c8c38872b4a07d275a014e30cf
+result = valid
+shared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285
+
+# tcId = 281
+# compressed public key
+curve = secp256r1
+private = 612465c89a023ab17855b0a6bcebfd3febb53aef84138647b5352e02c10c346
+public = 3039301306072a8648ce3d020106082a8648ce3d0301070322000362d5bd3372af75fe85a040715d0f502428e07046868b0bfdfa61d731afe44f26
+result = acceptable
+shared = 53020d908b0219328b658b525f26780e3ae12bcd952bb25a93bc0895e1714285
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 282
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000458fd4168a87795603e2b04390285bdca6e57de6027fe211dd9d25e2212d29e62080d36bd224d7405509295eed02a17150e03b314f96da37445b0d1d29377d12c
+result = valid
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 283
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200040f6d20c04261ecc3e92846acad48dc8ec5ee35ae0883f0d2ea71216906ee1c47c042689a996dd12830ae459382e94aac56b717af2e2080215f9e41949b1f52be
+result = valid
+shared = 00000000000000000000000000000000ffffffffffffffffffffffffffffffff
+
+# tcId = 284
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400c7defeb1a16236738e9a1123ba621bc8e9a3f2485b3f8ffde7f9ce98f5a8a1cb338c3912b1792f60c2b06ec5231e2d84b0e596e9b76d419ce105ece3791dbc
+result = valid
+shared = 0000000000000000ffffffffffffffff00000000000000010000000000000001
+
+# tcId = 285
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9b98fb2c0ac045f8c76125ffd99eb8a5157be1d7db3e85d655ec1d8210288cf218df24fd2c2746be59df41262ef3a97d986744b2836748a7486230a319ffec0
+result = valid
+shared = 00000000ffffffff00000000ffffffff00000000ffffffff0000000100000000
+
+# tcId = 286
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004e9484e58f3331b66ffed6d90cb1c78065fa28cfba5c7dd4352013d3252ee4277bd7503b045a38b4b247b32c59593580f39e6abfa376c3dca20cf7f9cfb659e13
+result = valid
+shared = 000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff
+
+# tcId = 287
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004767d7fbb84aa6a4db1079372644e42ecb2fec200c178822392cb8b950ffdd0c91c86853cafd09b52ba2f287f0ebaa26415a3cfabaf92c6a617a19988563d9dea
+result = valid
+shared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001
+
+# tcId = 288
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3cb6754b7e2a86d064dfb9f903185aaa4c92b481c2c1a1ff276303bbc4183e49c318599b0984c3563df339311fe143a7d921ee75b755a52c6f804f897b809f7
+result = valid
+shared = 7fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff
+
+# tcId = 289
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cce13fbdc96a946dfb8c6d9ed762dbd1731630455689f57a437fee124dd54cecaef78026c653030cf2f314a67064236b0a354defebc5e90c94124e9bf5c4fc24
+result = valid
+shared = 8000000000000000000000000000000000000000000000000000000000000004
+
+# tcId = 290
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200047633dfd0ad06765097bc11bd5022b200df31f28c4ff0625421221ac7eeb6e6f4cb9c67693609ddd6f92343a5a1c635408240f4f8e27120c12554c7ff8c76e2fe
+result = valid
+shared = 8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000
+
+# tcId = 291
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a386ace573f87558a68ead2a20088e3fe928bdae9e109446f93a078c15741f0421261e6db2bf12106e4c6bf85b9581b4c0302a526222f90abc5a549206b11011
+result = valid
+shared = ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff
+
+# tcId = 292
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200048e7b50f7d8c44d5d3496c43141a502f4a43f153d03ad43eda8e39597f1d477b8647f3da67969b7f989ff4addc393515af40c82085ce1f2ee195412c6f583774f
+result = valid
+shared = ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff
+
+# tcId = 293
+# edge cases for shared secret
+curve = secp256r1
+private = 0a0d622a47e48f6bc1038ace438c6f528aa00ad2bd1da5f13ee46bf5f633d71a
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c827fb930fd51d926086191b502af83abb5f717debc8de29897a3934b2571ca05990c0597b0b7a2e42febd56b13235d1d408d76ed2c93b3facf514d902f6910a
+result = valid
+shared = ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff
+
+# tcId = 294
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000000000000000000000000000000000000000000000000000000000000000066485c780e2f83d72433bd5d84a06bb6541c2af31dae871728bf856a174f93f4
+result = valid
+shared = cfe4077c8730b1c9384581d36bff5542bc417c9eff5c2afcb98cc8829b2ce848
+
+# tcId = 295
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000ffffffffffffffffffffffffffffffff4f2b92b4c596a5a47f8b041d2dea6043021ac77b9a80b1343ac9d778f4f8f733
+result = valid
+shared = 49ae50fe096a6cd26698b78356b2c8adf1f6a3490f14e364629f7a0639442509
+
+# tcId = 296
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000000000000000ffffffffffffffff0000000000000001000000000000000138120be6ab31edfa34768c4387d2f84fb4b0be8a9a985864a1575f4436bb37b0
+result = valid
+shared = 5a1334572b2a711ead8b4653eb310cd8d9fd114399379a8f6b872e3b8fdda2d9
+
+# tcId = 297
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000ffffffff00000000ffffffff00000000ffffffff0000000100000000462c0466e41802238d6c925ecbefc747cfe505ea196af9a2d11b62850fce946e
+result = valid
+shared = c73755133b6b9b4b2a00631cbc7940ecbe6ec08f20448071422e3362f2556888
+
+# tcId = 298
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff1582fa32e2d4a89dfcfb3d0b149f667dba3329490f4d64ee2ad586c0c9e8c508
+result = valid
+shared = 06fa1059935e47a9fd667e13f469614eb257cc9a7e3fc599bfb92780d59b146d
+
+# tcId = 299
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010001684c8a9586ed6f9cbe447058a7da2108bab1e5e0a60d1f73e4e2e713f0a3dfe0
+result = valid
+shared = f237df4c10bd3e357971bb2b16b293566b7e355bdc8141d6c92cabc682983c45
+
+# tcId = 300
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200047fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff2e2213caf03033e0fd0f7951154f6e6c3a9244a72faca65e9ce9eeb5c8e1cea9
+result = valid
+shared = 55d0a203e22ffb523c8d2705060cee9d28308b51f184beefc518cff690bad346
+
+# tcId = 301
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480000000000000000000000000000000000000000000000000000000000000042be8789db81bb4870a9e60c5c18c80c83de464277281f1af1e640843a1a3148e
+result = valid
+shared = 2518d846e577d95e9e7bc766cde7997cb887fb266d3a6cb598a839fd54aa2f4f
+
+# tcId = 302
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200048000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000000722540f8a471c379083c600b58fde4d95c7dcad5095f4219fc5e9bdde3c5cd39
+result = valid
+shared = bdb49f4bdf42ac64504e9ce677b3ec5c0a03828c5b3efad726005692d35c0f26
+
+# tcId = 303
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff5df80fc6cae26b6c1952fbd00ed174ee1209d069335f5b48588e29e80b9191ad
+result = valid
+shared = f503ac65637e0f17cb4408961cb882c875e4c6ef7a548d2d52d8c2f681838c55
+
+# tcId = 304
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff2c63650e6a5d332e2987dd09a79008e8faabbd37e49cb016bfb92c8cd0f5da77
+result = valid
+shared = e3c18e7d7377dc540bc45c08d389bdbe255fa80ca8faf1ef6b94d52049987d21
+
+# tcId = 305
+# edge cases for ephemeral key
+curve = secp256r1
+private = 55d55f11bb8da1ea318bca7266f0376662441ea87270aa2077f1b770c4854a48
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff7a116c964a4cd60668bf89cffe157714a3ce21b93b3ca607c8a5b93ac54ffc0a
+result = valid
+shared = 516d6d329b095a7c7e93b4023d4d05020c1445ef1ddcb3347b3a27d7d7f57265
+
+# tcId = 306
+# edge case private key
+curve = secp256r1
+private = 3
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca
+
+# tcId = 307
+# edge case private key
+curve = secp256r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = a329a7d80424ea2d6c904393808e510dfbb28155092f1bac284dceda1f13afe5
+
+# tcId = 308
+# edge case private key
+curve = secp256r1
+private = 100000000000000000000000000000000000000000000000000000000000000
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = bd26d0293e8851c51ebe0d426345683ae94026aca545282a4759faa85fde6687
+
+# tcId = 309
+# edge case private key
+curve = secp256r1
+private = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = ea9350b2490a2010c7abf43fb1a38be729a2de375ea7a6ac34ff58cc87e51b6c
+
+# tcId = 310
+# edge case private key
+curve = secp256r1
+private = 08000000000000000000000000000000000000000000000000000000000000000
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 34eed3f6673d340b6f716913f6dfa36b5ac85fa667791e2d6a217b0c0b7ba807
+
+# tcId = 311
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e83f3b9cac2fc632551
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 1354ce6692c9df7b6fc3119d47c56338afbedccb62faa546c0fe6ed4959e41c3
+
+# tcId = 312
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3a9cac2fc632551
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = fe7496c30d534995f0bf428b5471c21585aaafc81733916f0165597a55d12cb4
+
+# tcId = 313
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b1cac2fc632551
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 348bf8042e4edf1d03c8b36ab815156e77c201b764ed4562cfe2ee90638ffef5
+
+# tcId = 314
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac1fc632551
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 6e4ec5479a7c20a537501700484f6f433a8a8fe53c288f7a25c8e8c92d39e8dc
+
+# tcId = 315
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324f3
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = f7407d61fdf581be4f564621d590ca9b7ba37f31396150f9922f1501da8c83ef
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 316
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632533
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 82236fd272208693e0574555ca465c6cc512163486084fa57f5e1bd2e2ccc0b3
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 317
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632543
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 06537149664dba1a9924654cb7f787ed224851b0df25ef53fcf54f8f26cd5f3f
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 318
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254b
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = f2b38539bce995d443c7bfeeefadc9e42cc2c89c60bf4e86eac95d51987bd112
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 319
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 85a0b58519b28e70a694ec5198f72c4bfdabaa30a70f7143b5b1cd7536f716ca
+
+# tcId = 320
+# edge case private key
+curve = secp256r1
+private = 0ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000431028f3377fc8f2b1967edaab90213acad0da9f50897f08f57537f78f116744743a1930189363bbde2ac4cbd1649cdc6f451add71dd2f16a8a867f2b17caa16b
+result = valid
+shared = 027b013a6f166db655d69d643c127ef8ace175311e667dff2520f5b5c75b7659
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 321
+# CVE-2017-8932
+curve = secp256r1
+private = 2a265f8bcbdcaf94d58519141e578124cb40d64a501fba9c11847b28965bc737
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004023819813ac969847059028ea88a1f30dfbcde03fc791d3a252c6b41211882eaf93e4ae433cc12cf2a43fc0ef26400c0e125508224cdb649380f25479148a4ad
+result = valid
+shared = 4d4de80f1534850d261075997e3049321a0864082d24a917863366c0724f5ae3
+
+# tcId = 322
+# CVE-2017-8932
+curve = secp256r1
+private = 313f72ff9fe811bf573176231b286a3bdb6f1b14e05c40146590727a71c3bccd
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cc11887b2d66cbae8f4d306627192522932146b42f01d3c6f92bd5c8ba739b06a2f08a029cd06b46183085bae9248b0ed15b70280c7ef13a457f5af382426031
+result = valid
+shared = 831c3f6b5f762d2f461901577af41354ac5f228c2591f84f8a6e51e2e3f17991
+
+# tcId = 323
+# public point not on curve
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764c
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 324
+# public point = (0,0)
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 325
+# order =
+# -115792089210356248762697446949407573529996955224135760342422259061068512044369
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f50221ff00000000ffffffff00000000000000004319055258e8617b0c46353d039cdaaf020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 326
+# order = 0
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020100020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 327
+# order = 1
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201133081cc06072a8648ce3d02013081c0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5020101020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = acceptable
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 328
+# order = 26959946660873538060741835960514744168612397095220107664918121663170
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 3082012f3081e806072a8648ce3d02013081dc020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5021d00ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = acceptable
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 329
+# generator = (0,0)
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b04410400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = acceptable
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 330
+# generator not on curve
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f7022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = acceptable
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 331
+# cofactor = -1
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 332
+# cofactor = 0
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 333
+# cofactor = 2
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020102034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = acceptable
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 334
+# cofactor =
+# 115792089210356248762697446949407573529996955224135760342422259061068512044369
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201553082010d06072a8648ce3d020130820100020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 335
+# cofactor = None
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201303081e906072a8648ce3d02013081dd020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff30440420ffffffff00000001000000000000000000000000fffffffffffffffffffffffc04205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = acceptable
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 336
+# modified prime
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100fd091059a6893635f900e9449d63f572b2aebc4cff7b4e5e33f1b200e8bbc1453044042002f6efa55976c9cb06ff16bb629c0a8d4d5143b40084b1a1cc0e4dff17443eb704205ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b0441040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200040000000000000000000006597fa94b1fd90000000000000000000000000000021b8c7dd77f9a95627922eceefea73f028f1ec95ba9b8fa95a3ad24bdf9fff414
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The modulus of the public key has been modified. The public point of the
+# public key has been chosen so that it is both a point on both the curve of the
+# modified public key and the private key.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 337
+# using secp224r1
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 338
+# using secp256k1
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 339
+# a = 0
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201143081cd06072a8648ce3d02013081c1020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff302504010004201b95c2f46065dbf0f3ff09153e4748ed71595e0774ba8e25c364ff1e6be039b70441041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101034200041510264c189c3d523ff9916abd7069efa6968d8dc7ddb6457d7869b53ea60cdcfafb7ed4786da15d29ee59256f536da3575a4888c1bb0a95b256f4a7e9fd764a
+result = acceptable
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 340
+# public key of order 3
+curve = secp256r1
+private = 4f3414d1589b49f7172d439cbbe78e5b5350dc85dea40cd2d6274740c6e0239c
+public = 308201333081ec06072a8648ce3d02013081e0020101302c06072a8648ce3d0101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff304404207fe51581de0fd5f6a3f08793c6763330d51c6a9c332272132281ed58c314da360420fcf3e76add34e1daa4e8d962604a3bb6075a79da47c6719e389fe4fe37d35250044104bf0bb5f8717a07846f828f91fb493d3850365b7da5b355e76615b07ced174fe16a2542257eb94a12e3703989ee36f5459fb3b5c1028e766ec1b7a0ba39c0ed8a022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63255102010103420004bf0bb5f8717a07846f828f91fb493d3850365b7da5b355e76615b07ced174fe195dabdd98146b5ee1c8fc67611c90aba604c4a3ffd7189913e485f45c63f1275
+result = invalid
+shared = d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a
+# The vector contains a weak public key. The curve is not a named curve, the
+# public key point has order 3 and has been chosen to be on the same curve as
+# the private key. This test vector is used to check ECC implementations for
+# missing steps in the verification of the public key.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 341
+# Public key uses wrong curve: secp224r1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 304e301006072a8648ce3d020106052b81040021033a00042af270d2a6030e3dd38cc46e7d719f176c2ca4eb04d7e8b84290c8edbcaed964ebe226b2d7ce17251622804c0d3b7adce020a3cdc97cac6c
+result = invalid
+shared = 
+
+# tcId = 342
+# Public key uses wrong curve: secp384r1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 3076301006072a8648ce3d020106052b81040022036200041f17901e731b06f349b6e9d7d17d45e8a2b46115a47485be16197932db87b39405b5c941b36fd61b9ef7dd20878e129e55a2277099c601dcdb3747f80ad6e166116378e1ebce2c95744a0986128cfeeaac7f90b71787d9a1cfe417cd4c8f6af5
+result = invalid
+shared = 
+
+# tcId = 343
+# Public key uses wrong curve: secp521r1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 30819b301006072a8648ce3d020106052b81040023038186000400ed76e5888428fad409ff203ab298b0f24827c091939ae0f9b1245d865ac5fbcd2749f9ae6c90fa8e29414d1bc7dc7b3c4aca904cd824484421cc66fe6af43bdfd200c1f790a0b3ae994937f91b6bdb9778b08c83ecadb8cba22a78c37bf565dac164f18e719be0ef890ee5cbf20e17fcfc9a5585e5416470b9862f82fb769339994f4e
+result = invalid
+shared = 
+
+# tcId = 344
+# Public key uses wrong curve: secp256k1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 3056301006072a8648ce3d020106052b8104000a034200048028d16082b07696d4aa4aab9d6b1f1463435ac097900631108f9888e13da67c4841fd8dd3ced6e7ad8c6fc656621c2f93d3db0eb29d48d1423154519865dbc1
+result = invalid
+shared = 
+
+# tcId = 345
+# Public key uses wrong curve: brainpoolP224r1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 3052301406072a8648ce3d020106092b2403030208010105033a0004a6bae3d155c1f9ca263928c986ede69acefd0dd9b3a19d2b9f4b0a3a66bea5d167318dcc028945fc1b40c60ce716ba2d414a743c6b856a6f
+result = invalid
+shared = 
+
+# tcId = 346
+# Public key uses wrong curve: brainpoolP256r1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 305a301406072a8648ce3d020106092b2403030208010107034200045d3ddbbb9bc071d8b59855c74bdf3541ae4cb6c1a24ec439034df7abde16a346523edf6a67896b304cb2cd2a083eec2b16935bbc910e85ec6eae38b50230bf70
+result = invalid
+shared = 
+
+# tcId = 347
+# Public key uses wrong curve: brainpoolP320r1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 306a301406072a8648ce3d020106092b240303020801010903520004a43c6ef2500723d54c1fc88f8844d83445ca5a0f585c10b8eb3f022d47d0e84862b7f5cbf97d352d4348ca730f600f2258d1d192da223f6ba83a7cc0d6da598d55c2b77824d326c8df000b8fff156d2c
+result = invalid
+shared = 
+
+# tcId = 348
+# Public key uses wrong curve: brainpoolP384r1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 307a301406072a8648ce3d020106092b240303020801010b036200042391c062833d1e6d89ec256cf4a3989534c1ead5e1e14ffae933a53f962857e4713087e1b3d65ac79634c71577af24698b5ce959183835551f7b08aef7853378c299930b360813fd58d5e4da8b37d5a7473e891ee11cb02881bd848b364fb7d5
+result = invalid
+shared = 
+
+# tcId = 349
+# Public key uses wrong curve: brainpoolP512r1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 30819b301406072a8648ce3d020106092b240303020801010d038182000484beae85096640953c1fd6ebbc32697263d53f89943cbaf14432061aea8c0318acbd9389ab1d2e904fa0e081d08cfabb614ed9bca618211142d94623c14b476a25e47abf98fd3b1da1417dfc2e2cfc8424b16ea14dd45e1422be7d4e0a5cc7f4d4ab5f198cdbaaa3f642ec6361842cbe869382ee78cd596ff5e740d9ec2c3ad6
+result = invalid
+shared = 
+
+# tcId = 350
+# Public key uses wrong curve: brainpoolP224t1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 3052301406072a8648ce3d020106092b2403030208010106033a00042b0a1a858ffc44e7752940731d378f96570837e279ea3948fe00cff8b5f89adb4e2fe6f8781ba6426364f4590b34dd79fc80629de4a86084
+result = invalid
+shared = 
+
+# tcId = 351
+# Public key uses wrong curve: brainpoolP256t1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 305a301406072a8648ce3d020106092b2403030208010108034200043037c01b4a5ac53742e3f5528dffb0f010ab6ebeb08d792b32e19e9006ca331a024b67698d7cf4b575ccd9389441d5c640b77c63771cef1bd85675361c6602a4
+result = invalid
+shared = 
+
+# tcId = 352
+# Public key uses wrong curve: brainpoolP320t1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 306a301406072a8648ce3d020106092b240303020801010a035200040f0fd972a495a140124a4019291a20f5b39fb755c126bf268643bb3091eca44f2a3cda1dead6ab1f4fe08a4b3872423f71e5bf96b1c20bc0ca73b7e2c134cc14a5f77bc838ebcf01084da3bf15663536
+result = invalid
+shared = 
+
+# tcId = 353
+# Public key uses wrong curve: brainpoolP384t1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 307a301406072a8648ce3d020106092b240303020801010c0362000403b65faf5a6bf74bd5c166278a4b566c6c705ac6363e61f3b0699e116d3c5b19e8b7021b75b005f78a8cea8de34c49397f9b3b2bfc8706eb8163c802371eff7dfc825c40aa84dd9d1c4b34615ee5ae28c6c05d58d2a8ccc3786382b712d3bcda
+result = invalid
+shared = 
+
+# tcId = 354
+# Public key uses wrong curve: brainpoolP512t1
+curve = secp256r1
+private = 0b44f9670fedba887ad8e806226063e77604b27c362836326e93ecb7fcc6dc297
+public = 30819b301406072a8648ce3d020106092b240303020801010e03818200047504d660943a69ab043378e44c034896534a346e0e95f35fcaad3503b490856bfb20a753ecabc6d7bfeec28d057f919923b7d3c086953eb16c5bd287b59788db72dbb7c273854294c927ea7eca205aae2f0830e5faaddad8316231bfc3572c85c33cb7054e04c8936e3ce059c907e59f40593444e590b31820bc1f514ed0ec8a
+result = invalid
+shared = 
+
+# tcId = 355
+# invalid public key
+curve = secp256r1
+private = 6f953faff3599e6c762d7f4cabfeed092de2add1df1bc5748c6cbb725cf35458
+public = 3039301306072a8648ce3d020106082a8648ce3d03010703220002fd4bf61763b46581fd9174d623516cf3c81edd40e29ffa2777fb6cb0ae3ce535
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 356
+# public key is a low order point on twist
+curve = secp256r1
+private = 0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f02
+public = 3039301306072a8648ce3d020106082a8648ce3d03010703220003efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 357
+# public key is a low order point on twist
+curve = secp256r1
+private = 0d27edf0ff5b6b6b465753e7158370332c153b468a1be087ad0f490bdb99e5f03
+public = 3039301306072a8648ce3d020106082a8648ce3d03010703220002efdde3b32872a9effcf3b94cbf73aa7b39f9683ece9121b9852167f4e3da609b
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 358
+# public key is a low order point on twist
+curve = secp256r1
+private = 095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e835
+public = 3039301306072a8648ce3d020106082a8648ce3d03010703220002c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 359
+# public key is a low order point on twist
+curve = secp256r1
+private = 0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa4
+public = 3039301306072a8648ce3d020106082a8648ce3d0301070322000318f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 360
+# public key is a low order point on twist
+curve = secp256r1
+private = 0a8681ef67fb1f189647d95e8db00c52ceef6d41a85ba0a5bd74c44e8e62c8aa5
+public = 3039301306072a8648ce3d020106082a8648ce3d0301070322000218f9bae7747cd844e98525b7ccd0daf6e1d20a818b2175a9a91e4eae5343bc98
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 361
+# public key is a low order point on twist
+curve = secp256r1
+private = 095ead84540c2d027aa3130ff1b47888cc1ed67e8dda46156e71ce0991791e834
+public = 3039301306072a8648ce3d020106082a8648ce3d03010703220003c49524b2adfd8f5f972ef554652836e2efb2d306c6d3b0689234cec93ae73db5
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 362
+# long form encoding of length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 308159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 363
+# long form encoding of length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305a30811306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 364
+# long form encoding of length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305a30140681072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 365
+# long form encoding of length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305a301406072a8648ce3d02010681082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 366
+# long form encoding of length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305a301306072a8648ce3d020106082a8648ce3d03010703814200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 367
+# length contains leading 0
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30820059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 368
+# length contains leading 0
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3082001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 369
+# length contains leading 0
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3015068200072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 370
+# length contains leading 0
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d0201068200082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 371
+# length contains leading 0
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301306072a8648ce3d020106082a8648ce3d0301070382004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 372
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305a301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 373
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 374
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301406072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 375
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301206072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 376
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306082a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 377
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306062a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 378
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106092a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 379
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106072a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 380
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034300042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 381
+# wrong length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 382
+# uint32 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30850100000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 383
+# uint32 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e3085010000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 384
+# uint32 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e3018068501000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 385
+# uint32 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e301806072a8648ce3d0201068501000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 386
+# uint32 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e301306072a8648ce3d020106082a8648ce3d0301070385010000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 387
+# uint64 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3089010000000000000059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 388
+# uint64 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3062308901000000000000001306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 389
+# uint64 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3062301c06890100000000000000072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 390
+# uint64 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3062301c06072a8648ce3d020106890100000000000000082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 391
+# uint64 overflow in length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3062301306072a8648ce3d020106082a8648ce3d030107038901000000000000004200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 392
+# length = 2**31 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30847fffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 393
+# length = 2**31 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d30847fffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 394
+# length = 2**31 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d301706847fffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 395
+# length = 2**31 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d301706072a8648ce3d020106847fffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 396
+# length = 2**31 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d301306072a8648ce3d020106082a8648ce3d03010703847fffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 397
+# length = 2**32 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3084ffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 398
+# length = 2**32 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d3084ffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 399
+# length = 2**32 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d30170684ffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 400
+# length = 2**32 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d301706072a8648ce3d02010684ffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 401
+# length = 2**32 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d301306072a8648ce3d020106082a8648ce3d0301070384ffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 402
+# length = 2**40 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3085ffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 403
+# length = 2**40 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e3085ffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 404
+# length = 2**40 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e30180685ffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 405
+# length = 2**40 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e301806072a8648ce3d02010685ffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 406
+# length = 2**40 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e301306072a8648ce3d020106082a8648ce3d0301070385ffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 407
+# length = 2**64 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3088ffffffffffffffff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 408
+# length = 2**64 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30613088ffffffffffffffff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 409
+# length = 2**64 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301b0688ffffffffffffffff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 410
+# length = 2**64 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301b06072a8648ce3d02010688ffffffffffffffff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 411
+# length = 2**64 - 1
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301306072a8648ce3d020106082a8648ce3d0301070388ffffffffffffffff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 412
+# incorrect length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30ff301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 413
+# incorrect length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305930ff06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 414
+# incorrect length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306ff2a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 415
+# incorrect length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106ff2a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 416
+# incorrect length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703ff00042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 417
+# indefinite length without termination
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 418
+# indefinite length without termination
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059308006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 419
+# indefinite length without termination
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306802a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 420
+# indefinite length without termination
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106802a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 421
+# indefinite length without termination
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107038000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 422
+# removing sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 423
+# removing sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3044034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 424
+# lonely sequence tag
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 425
+# lonely sequence tag
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 304530034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 426
+# appending 0's to sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 427
+# appending 0's to sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 428
+# prepending 0's to sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b0000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 429
+# prepending 0's to sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3015000006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 430
+# appending unused 0's to sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 431
+# appending unused 0's to sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301306072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 432
+# appending null value to sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 433
+# appending null value to sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d020106082a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 434
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e4981773059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 435
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d25003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 436
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 437
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e3018498177301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 438
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d30172500301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 439
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30613015301306072a8648ce3d020106082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 440
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e3018260c49817706072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 441
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d3017260b250006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 442
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301b260906072a8648ce3d02010004deadbeef06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 443
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e301806072a8648ce3d0201260d49817706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 444
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d301706072a8648ce3d0201260c250006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 445
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301b06072a8648ce3d0201260a06082a8648ce3d0301070004deadbeef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 446
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305e301306072a8648ce3d020106082a8648ce3d0301072347498177034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 447
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d301306072a8648ce3d020106082a8648ce3d03010723462500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 448
+# including garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301306072a8648ce3d020106082a8648ce3d0301072344034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0004deadbeef
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 449
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061aa00bb00cd003059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 450
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305faa02aabb3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 451
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301baa00bb00cd00301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 452
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305f3019aa02aabb301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 453
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301b260faa00bb00cd0006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 454
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305f3019260daa02aabb06072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 455
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301b06072a8648ce3d02012610aa00bb00cd0006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 456
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305f301906072a8648ce3d0201260eaa02aabb06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 457
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301306072a8648ce3d020106082a8648ce3d030107234aaa00bb00cd00034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 458
+# including undefined tags
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305f301306072a8648ce3d020106082a8648ce3d0301072348aa02aabb034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 459
+# truncated length of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3081
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 460
+# truncated length of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30463081034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 461
+# Replacing sequence with NULL
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 0500
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 462
+# Replacing sequence with NULL
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30460500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 463
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 2e59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 464
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 2f59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 465
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3159301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 466
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3259301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 467
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = ff59301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 468
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30592e1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 469
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30592f1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 470
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059311306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 471
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059321306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 472
+# changing tag value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059ff1306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 473
+# dropping value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3000
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 474
+# dropping value of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30463000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 475
+# truncate sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 476
+# truncate sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30581306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 477
+# truncate sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301206072a8648ce3d020106082a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 478
+# truncate sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30583012072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 479
+# indefinite length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 480
+# indefinite length
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b308006072a8648ce3d020106082a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 481
+# indefinite length with truncated delimiter
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b00
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 482
+# indefinite length with truncated delimiter
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305a308006072a8648ce3d020106082a8648ce3d03010700034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 483
+# indefinite length with additional element
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b05000000
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 484
+# indefinite length with additional element
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d308006072a8648ce3d020106082a8648ce3d03010705000000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 485
+# indefinite length with truncated element
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b060811220000
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 486
+# indefinite length with truncated element
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305f308006072a8648ce3d020106082a8648ce3d030107060811220000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 487
+# indefinite length with garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000fe02beef
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 488
+# indefinite length with garbage
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305f308006072a8648ce3d020106082a8648ce3d0301070000fe02beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 489
+# indefinite length with nonempty EOC
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3080301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0002beef
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 490
+# indefinite length with nonempty EOC
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d308006072a8648ce3d020106082a8648ce3d0301070002beef034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 491
+# prepend empty sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3000301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 492
+# prepend empty sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3015300006072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 493
+# append empty sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b3000
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 494
+# append empty sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d020106082a8648ce3d0301073000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 495
+# sequence of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 496
+# sequence of sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3015301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 497
+# truncated sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3015301306072a8648ce3d020106082a8648ce3d030107
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 498
+# truncated sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 304f300906072a8648ce3d0201034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 499
+# repeat element in sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30819d301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 500
+# repeat element in sequence
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3063301d06072a8648ce3d020106082a8648ce3d03010706082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 501
+# removing oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3050300a06082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 502
+# lonely oid tag
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3051300b0606082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 503
+# lonely oid tag
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3050300a06072a8648ce3d020106034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 504
+# appending 0's to oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506092a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 505
+# appending 0's to oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d0201060a2a8648ce3d0301070000034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 506
+# prepending 0's to oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b3015060900002a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 507
+# prepending 0's to oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d0201060a00002a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 508
+# appending unused 0's to oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d0201000006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 509
+# appending null value to oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506092a8648ce3d0201050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 510
+# appending null value to oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d0201060a2a8648ce3d0301070500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 511
+# truncated length of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3052300c068106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 512
+# truncated length of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3051300b06072a8648ce3d02010681034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 513
+# Replacing oid with NULL
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3052300c050006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 514
+# Replacing oid with NULL
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3051300b06072a8648ce3d02010500034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 515
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301304072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 516
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301305072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 517
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301307072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 518
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301308072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 519
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 30593013ff072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 520
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020104082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 521
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020105082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 522
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020107082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 523
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020108082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 524
+# changing tag value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d0201ff082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 525
+# dropping value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3052300c060006082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 526
+# dropping value of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3051300b06072a8648ce3d02010600034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 527
+# modify first byte of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305930130607288648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 528
+# modify first byte of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d02010608288648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 529
+# modify last byte of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d028106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 530
+# modify last byte of oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030187034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 531
+# truncate oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301206062a8648ce3d0206082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 532
+# truncate oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301206068648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 533
+# truncate oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301206072a8648ce3d020106072a8648ce3d0301034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 534
+# truncate oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301206072a8648ce3d020106078648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 535
+# wrong oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305c3016060a3262306530333032316106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 536
+# wrong oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3064301e061236303836343830313635303330343032303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 537
+# wrong oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301506072a8648ce3d0201060a32623065303330323161034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 538
+# wrong oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3063301d06072a8648ce3d02010612363038363438303136353033303430323031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 539
+# longer oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3062301c06103261383634386365336430323031303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 540
+# longer oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3063301d06072a8648ce3d02010612326138363438636533643033303130373031034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 541
+# oid with modified node
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3060301a060e326138363438636533643032313106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 542
+# oid with modified node
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3068302206163261383634386365336430323838383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 543
+# oid with modified node
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3061301b06072a8648ce3d0201061032613836343863653364303330313137034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 544
+# oid with modified node
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3069302306072a8648ce3d02010618326138363438636533643033303138383830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 545
+# large integer in oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3072302c0620326138363438636533643032383238303830383038303830383038303830303106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 546
+# large integer in oid
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3073302d06072a8648ce3d0201062232613836343863653364303330313832383038303830383038303830383038303037034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 547
+# oid with invalid node
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3063301d0611326138363438636533643032303165303306082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 548
+# oid with invalid node
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305a301406082a808648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 549
+# oid with invalid node
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3064301e06072a8648ce3d0201061332613836343863653364303330313037653033034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 550
+# oid with invalid node
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305a301406072a8648ce3d020106092a808648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 551
+# lonely bit string tag
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3016301306072a8648ce3d020106082a8648ce3d03010703
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 552
+# appending 0's to bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0000
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 553
+# prepending 0's to bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301306072a8648ce3d020106082a8648ce3d0301070344000000042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 554
+# appending null value to bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305b301306072a8648ce3d020106082a8648ce3d030107034400042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b0500
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 555
+# truncated length of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3017301306072a8648ce3d020106082a8648ce3d0301070381
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 556
+# Replacing bit string with NULL
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3017301306072a8648ce3d020106082a8648ce3d0301070500
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 557
+# changing tag value of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107014200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 558
+# changing tag value of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107024200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 559
+# changing tag value of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107044200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 560
+# changing tag value of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107054200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 561
+# changing tag value of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107ff4200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 562
+# dropping value of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3017301306072a8648ce3d020106082a8648ce3d0301070300
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 563
+# modify first byte of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034202042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 564
+# modify last byte of bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6eb
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 565
+# truncate bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301306072a8648ce3d020106082a8648ce3d030107034100042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add6
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 566
+# truncate bit string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3058301306072a8648ce3d020106082a8648ce3d0301070341042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 567
+# declaring bits as unused in a bit-string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034201042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 568
+# unused bits in a bit-string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 305d301306072a8648ce3d020106082a8648ce3d030107034620042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b01020304
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 569
+# unused bits in empty bit-string
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3018301306072a8648ce3d020106082a8648ce3d030107030103
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 570
+# 128 unused bits
+curve = secp256r1
+private = 0c9551ffe53ce60d73cbf8af553d0cb5f7632ece499590182c28cb6db2e3978d2
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034280042998705a9a71c783e1cf4397dbed9375a44e4cb88053594b0ea982203b6363b063d0af4971d1c3813db3c7799f9f9324cbe1b90054c81b510ff6297160add66b
+result = acceptable
+shared = f0b6d851dcd8e9a8c474d695137962f082c4f2a1a2eefb182df58d88a72829e4
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+[curve = secp384r1]
+[encoding = asn]
+
+# tcId = 571
+# normal case
+curve = secp384r1
+private = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81
+public = 3076301006072a8648ce3d020106052b8104002203620004790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796d9b954baa8a75e82df711b3b56eadff6b0f668c3b26b4b1aeb308a1fcc1c680d329a6705025f1c98a0b5e5bfcb163caa
+result = valid
+shared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135
+
+# tcId = 572
+# compressed public key
+curve = secp384r1
+private = 766e61425b2da9f846c09fc3564b93a6f8603b7392c785165bf20da948c49fd1fb1dee4edd64356b9f21c588b75dfd81
+public = 3046301006072a8648ce3d020106052b8104002203320002790a6e059ef9a5940163183d4a7809135d29791643fc43a2f17ee8bf677ab84f791b64a6be15969ffa012dd9185d8796
+result = acceptable
+shared = 6461defb95d996b24296f5a1832b34db05ed031114fbe7d98d098f93859866e4de1e229da71fef0c77fe49b249190135
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 573
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b8104002203620004490e96d17f4c6ceccd45def408cea33e9704a5f1b01a3de2eaaa3409fd160d78d395d6b3b003d71fd1f590fad95bf1c9d8665efc2070d059aa847125c2f707435955535c7c5df6d6c079ec806dce6b6849d337140db7ca50616f9456de1323c4
+result = valid
+shared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 574
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b81040022036200040161328909675213e32098d35a6b8308a8d500cca39dcee5e804e73bdb8deaf06fe417291fd9793b231ef5fe86945444a97a01f3ae3a8310c4af49b592cb291ef70ee5bc7f5534d3c23dc9eefde2304842c7737ae937ccf9bd215c28103e9fe2
+result = valid
+shared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
+
+# tcId = 575
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b81040022036200041478ab6e032b9545eda9ac2c264e57a11f08acbc76d16a0ab77b04dbdaf20f215c4183437b32afc471eaa603d14c7c5d8a4c84ee0e895bec5c37f0a1ca075e106ff6bf38801b5c697409d39675231108d33c4a5ea65aaa8c03e939c95d96c4c4
+result = valid
+shared = 0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001
+
+# tcId = 576
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b8104002203620004f63208e34e7e90bb5fb036432467a89981444010663b8533b47bfa94bd2bc16f38aa516b930a4726e3876d3091bfb72ec783ed4da0cac06320817dc8bc64f59ccf06f48abc4386a150913fa95743a7b4601190e1c6ee8f8bf6354b254ecace45
+result = valid
+shared = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff
+
+# tcId = 577
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b8104002203620004033271ef42d92ad47b273b09ea2f45401161baa52696590d0e175ff2d1c0dfa3fea40e4266d446546c05e480d57fabec7889f16a8bcc176602f6d46561614a2f4284abe697b7cb9ce79f7e2e71b155cb1f155ce925d16391a680eda23152e6e1
+result = valid
+shared = 0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff
+
+# tcId = 578
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b8104002203620004737e8437e18683de2455b68945bba31daec3e754d72f0a0776d3192b2f9298bb95ca1464baa6687aabb679f804cf6ec6c2b4d47d61a60404df63b1e9ac0954b3419bbc2ad52a0409aeeb82f4703758588059165b20367dcb4b235b0caf71d727
+result = valid
+shared = 007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000
+
+# tcId = 579
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b81040022036200042664624307c02ef487030a632162c515f841d15ea3152d98ff2364232d7aab39343d5f703a4d5a31092aa7356c3a2f671c1cd603addfd8b5477552a3b32a18edaf3e33bec22ee2167f9da729636002a7974eaeb5ff082b2aabf8c7056b84c3ab
+result = valid
+shared = 7fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000002
+
+# tcId = 580
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b8104002203620004665f1f320b6ab1c1b52d144e52d87a154c2b4489838c9119de622c2d1b52b65b0a3955e44e0d4859175360c0f63dee813f14f69972f18caed7916c94a4d20ec344591e7536a4a7a4d8c9832818c96d60b1a81fabe64ea02c5f647e361bf5b60f
+result = valid
+shared = 800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
+
+# tcId = 581
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b810400220362000491357ca87dbb08e85d7b1acecfd1e086078a82d19f81474da389364a39fe2543eb934b440173c38e61a1d9407855b5d89ef0d9e920764b6d7765b084cf9541dacc43d1dabaa390b0fb856097b0c00a8556f4e3848568ab4ae790c3d346ca01b6
+result = valid
+shared = fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff
+
+# tcId = 582
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b8104002203620004d5a833bae33b2d10fdff6db7c5477adb614b191c70d97c6f130a14e93931cc1dc058053fee54a264a00fdd16d3166fdc42992276b79925bafcd183b03ed18235350980abfe67b814c6c11074c38f74cd4e734ad58cdb49d9fcd2181d1b8f1119
+result = valid
+shared = fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000004000000
+
+# tcId = 583
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b810400220362000467547cda7fbe8f16be5a4477cbb02979f1af72fc0f39302773552fbcf4667a8e23abc0e12856ee6234deeca5f22ae0503a4df7c068e7432417260cb9fe0d68b9c7fcf7e16a2ada05687d8f8900b84723103edbff0a42b27517da2760b7d38843
+result = valid
+shared = ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff
+
+# tcId = 584
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b81040022036200041363e3b99008e09bb3f085949b9b6ea26a318f496de568a96630fdb9d4c72c2814df3087a1741f32f24989b428167f93c653cb3ae8c3ecfaec57efd54bb8ce9d79c7bf6cc70fb1114f939be8f1a99bf1e42b97431124ef9fa33450faa4e76839
+result = valid
+shared = ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000001
+
+# tcId = 585
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b8104002203620004ba2be8d7147e2417c2ec80b24b4c1aa94464ffd0aae1fa2e078b3afbc77c144489ca9d064acbb7a9cfa6196d0f467b7e65ee1ca1eb1351ff9968f553dfe2e4c59ff8ba34c22a42b3baa13a9a1adc7f13abd40f1fd25d46bc5330852b9371966a
+result = valid
+shared = ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff
+
+# tcId = 586
+# edge cases for shared secret
+curve = secp384r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75b14f5a6766da8035cc1943b15a8e4ebb6025f373be334080f22ab821a3535a6a7
+public = 3076301006072a8648ce3d020106052b8104002203620004d69850ccbacc4736ea200ff2f8488f26247945a2ab48dd3708f494b293d8cba83417f48974881c7fb03854089bbf66cc1c773ec03cb8cd5f007ec3b03bdd05a409b352103f0decf25b41673ab8ca3d04334babee01219f15701f2bca22d40b37
+result = valid
+shared = fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe
+
+# tcId = 587
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b81040022036200040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003cf99ef04f51a5ea630ba3f9f960dd593a14c9be39fd2bd215d3b4b08aaaf86bbf927f2c46e52ab06fb742b8850e521e
+result = valid
+shared = 6092a1757ddd43a04e185ff9472a0d18c7f7a7dc802f7e059e0c69ae16c802651719406e04de27652ff83da4a780ef2f
+
+# tcId = 588
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3
+result = valid
+shared = 89c804cb81443386b185bcd9e2e6c35ee6177c3b90298985c4e81a89d520cceb17d729540e56ecc343c26bf314f2d052
+
+# tcId = 589
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b81040022036200040000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00000000000000010000000000000001141b9ee5310ea8170131b604484a6d677ed42576045b7143c026710ae92b277afbbea0c4458c220d561e69404dc7d888
+result = valid
+shared = 102080c047881d19aefb01c29c82a4fb328a8ea6e6d6c914af73100507c8ee499799aaa646de0ea8c2727c0b5ed2439b
+
+# tcId = 590
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b810400220362000400000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff70370385413d3eff6fa3407ba24f682c2b01b51445dbdf5ef7b0dd0979f17e713e09081571f1e94dfb66bf282002f39f
+result = valid
+shared = f689f6e475b4e15162521acab4637a3cdb9cb42aa92f9114b0ee300ddae89d5eafff3463a1f5004a2a1bd4aeffa47b78
+
+# tcId = 591
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b81040022036200040000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff112e191f1f78bbc54b6cc4f0b1e59ae8c6ff1a07f5128e41dfa2828e1b6538d4fa2ca2394c6aab3449dcb3fc4eb44c09
+result = valid
+shared = f3486244119b3632fd55be9e6951eb5d9c8c62f6a27042f94b924155ecfd4ff8744ba3d25bcf85a7b925bd28a12b897f
+
+# tcId = 592
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b8104002203620004007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0008000028a4c8da5a05112fe6025ef41908969de20d05d9668e5c852ef2d492172ddc2a0a622fc488164fcc1a076b872942af2
+result = valid
+shared = 8171b7c80d4c90bb58ae54393921ab9c5c0b3196f045e9fe5c8b168f0e5f6a77e1aa34ecedc5481ce55ab34c14e0f2e8
+
+# tcId = 593
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b81040022036200047fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff80000040000024480ab33cb4bf7cb79c024eeade3fd641e2f3003698400e8986a7343a5da59a3b26eea4b4176e53239371437d834a1a7
+result = valid
+shared = 1911a0ee6aebe263fdcf3db073f2598cdafabec2123a2f24a28c3d9151c871f32d6dc2f31d25af9c498fd68da23e5bef
+
+# tcId = 594
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b81040022036200048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020797da4c0751ced16de80d16ab7c654a5dc27d092626d0865a192a1c5ea7c1b88c9fcab057946741e41cc28c80ec0b9a
+result = valid
+shared = 15900643e2e0583976974b05f83c7a96611425f7c4a6eb51916ab958a037fd9cc172bdcfff4540a2ff3ce64e6505557e
+
+# tcId = 595
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b8104002203620004fff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff6c70898ae6fb31fa2f086562af2d10486ba4c6fd5e41dfe4aa61598b4707a3bc276a62feb1b98557e3b17c025f7adf4e
+result = valid
+shared = 88a544a769d5c34a051416bd509dfac911863f604c83ea844bf0e4c5c272dec86d057a88b152a9274701938c705900c3
+
+# tcId = 596
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b8104002203620004fffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00000040000000eb1592858b6e6e3a199c0f3e7c5f0b4a92915936efb8bc0407680eb7274be7422156ce8cfc8b505b2d902c39992380f
+result = valid
+shared = b7db26b286e7527cb1f454782fe541862ff0f8d7eed960e22855deb7ac2a69611668c777c53bb74c2bcd40edfbf7944d
+
+# tcId = 597
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b8104002203620004ffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff4987abae412809c2fa48fd23b1bdf9e622f5a606c44117215ffa61b18ef46e54a7fbbf11f9a6ba59c991b4ae501fedce
+result = valid
+shared = b1e8aab1aa633d98dc6b768594e1e3edb801a9ef483f287c83e19744d2ad343ad3debdc4dc178213ad6876b52284f552
+
+# tcId = 598
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000001000000000000013691fe493d4d28bf8ee1dfec812d6c306eae0842919eda6dc525f0d49ac2d26a992251912139a2936849f9d6fa949a68
+result = valid
+shared = b0de006f80f6f89e4eea6e46dfe305153005612d1e903171ec2886230971961b5202a9f3187bdac413ac24c836adf7a0
+
+# tcId = 599
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b8104002203620004ffffffffffffffffffffffffffffffff00000000000000000000000000000000ffffffffffffffffffffffffffffffff615842aa06b06f78f0a66f7bea88d4b6ee59653eeaa00dc5e0a2b658f969b71af90c9b4e96bd3ca33846955bdccbd359
+result = valid
+shared = ca8cfa42c5e374914c14d6402b1a99208e47e02ec49818913694ea0822a2cc6c310259a8f3ab7559b9974bc4c2fa337e
+
+# tcId = 600
+# edge cases for ephemeral key
+curve = secp384r1
+private = 2bc15cf3981eab6102c39f9a925aa1309db59c2c02a54411928d73c3945d157848dc36959efef7495c8528ea284c1c97
+public = 3076301006072a8648ce3d020106052b8104002203620004fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe732152442fb6ee5c3e6ce1d920c059bc623563814d79042b903ce60f1d4487fccd450a86da03f3e6ed525d02017bfdb3
+result = valid
+shared = edf040bace18d90bf9ce720df2a3b31d76d95b7ed9530a159ac0b24e82a871033eada40552f9e606f7115e6a78927511
+
+# tcId = 601
+# edge case private key
+curve = secp384r1
+private = 3
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9
+
+# tcId = 602
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = db1d8ef1117282870db8113aa4f58723c756ce598686eb8ea531aa4d39abb1b982b1e7bb2648a6c268d2d351204db8d5
+
+# tcId = 603
+# edge case private key
+curve = secp384r1
+private = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = e98062df47ef884c9411e16466af84ad271d586008b1fbc50aeb3b36836a35a770dd42e0db84d39b26f4dcd2dc03d90b
+
+# tcId = 604
+# edge case private key
+curve = secp384r1
+private = 7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 898aae0ebf1cb49fb6b1234d60f59006325421049a8a320820e1ad6af6593cdc2229a08c500aa55ca05999d12829db9c
+
+# tcId = 605
+# edge case private key
+curve = secp384r1
+private = 0800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 83f862f496ab8af12b82a8a0c047d836bdfa36281324b3a1eb2e9c1d46699d81cb125cbe4b93939fd84e1ae86d8a83cb
+
+# tcId = 606
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a779ecec196accc52973
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 9a26894887a0342ca559a74a4d4a8e1d6b2084f02e1c65b3097121a9a9af047d8810fb945dc25bbf02222b3b625f1e0a
+
+# tcId = 607
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecdc196accc52973
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 8a8d9dc194a26910cbdae7908d185b6ad04b620c94c5ee331e584ed804e495bebc2290a2d7006a06e65b9bcace86c6f6
+
+# tcId = 608
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aece4196accc52973
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = d57f6aa12d3f07e8958499f249e52cfbe5be58482e146c5414dbbf984fc5333710350e2ce96b33beb7678381f40f1dcb
+
+# tcId = 609
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec1969ccc52973
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 188e8041d9a5f0b6cfdad315ada4823beda0146774fad65b500e6ef94376ebf8af7a40ff6f6b45019a09dde7d7fb5552
+
+# tcId = 610
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52959
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 2ecf9dc47e8b07ae61ddbd1680ead02698e9e8469f78d5a28328e48d0c9d7a2ac787e50cba58cc44a32fb1235d2d7027
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 611
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52969
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 06ee9f55079d3d3c18c683ba33e0d2521be97c4fbf7917bf3b6287d58ffcde2df88842e3f5530b39549ac20974b1b60e
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 612
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 455aea9924330bd6d2d6403478327900e172e93598e254cf6d8eb13f0a3d21be51a46107333844e61dfa3d80df6928e9
+
+# tcId = 613
+# edge case private key
+curve = secp384r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971
+public = 3076301006072a8648ce3d020106052b8104002203620004e9dfaaab808b3aac1ccca7cc6242a7ee583249afe8ee8f66b904cc8eec34ad334456e00f33a94de8b5169cf0199550c020156e9651734ff999c5f3ea62b83d0083a6093f234457251ecf72c41e4df7cea2420b5454a7f690034380bac981e92e
+result = valid
+shared = 024c5281487216058270cd1cfe259e948310e4adc263a9edaa4da0bc3f5f8ce8ffc88ae41b2c050bf6dd9c8c66857237
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 614
+# public point not on curve
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 3076301006072a8648ce3d020106052b81040022036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c8
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 615
+# public point = (0,0)
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 3076301006072a8648ce3d020106052b8104002203620004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 616
+# order =
+# -39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f0231ff000000000000000000000000000000000000000000000000389cb27e0bc8d220a7e5f24db74f58851313e695333ad68d020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 617
+# order = 0
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020100020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 618
+# order = 1
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201853082011d06072a8648ce3d020130820110020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f020101020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = acceptable
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 619
+# order =
+# 9173994463960286046443283581208347763186259956673124494950032159599396260248791326163093631191247821216106
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b13082014906072a8648ce3d02013082013c020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f022d00ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196a020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = acceptable
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 620
+# generator = (0,0)
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = acceptable
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 621
+# generator not on curve
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e61023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = acceptable
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 622
+# cofactor = -1
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 623
+# cofactor = 0
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 624
+# cofactor = 2
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020102036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = acceptable
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 625
+# cofactor =
+# 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201e53082017d06072a8648ce3d020130820170020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 626
+# cofactor = None
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b23082014a06072a8648ce3d02013082013d020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff30640430fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef046104aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = acceptable
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 627
+# modified prime
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100f47e533e4e43e4bf04e901db0eea6efba14bbcdc3b1c5753a7c141487e4f43784e57a72310202323361f44760c8368bf306404300b81acc1b1bc1b40fb16fe24f11591045eb44323c4e3a8ac583ebeb781b0bc86b1a858dbefdfdcdcc9e0bb8af37c973d0430b3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef04610400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201010362000400000000000000000000000000000000fffffffffffd38000000000000000000000000000000000000000000000001cf3646298bba2f24e84189cf0d1e75188fc4fcf5b0844281822e789e3d534b159f4c419342260197625ad924a2c72c4d0f
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The modulus of the public key has been modified. The public point of the
+# public key has been chosen so that it is both a point on both the curve of the
+# modified public key and the private key.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 628
+# using secp224r1
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 629
+# using secp256r1
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 630
+# using secp256k1
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 631
+# a = 0
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201863082011e06072a8648ce3d020130820111020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff303504010004304fcc45ccf5e23ee407b9291d2e85523962a2a79a50da3facca04b7267ad316db202cb07c24905740d201ded3028881090461042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101036200042121a348f9743855859c496f91d0f39fe728fc46e48d007713051b22f1c0257fe20dd85b21df7e1ec82bf8b39b2138a2ae74f80e6257778f8cca9f279b57d25eeeb155960642972f0567e204514f0ac1eb1e27db5115053211914961d09644c6
+result = acceptable
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 632
+# public key of order 3
+curve = secp384r1
+private = 0de44e63fd924f177340d780af6aaaea271f52d2cb9a5c519b6020e06c3cf0baafbc0b801c6508c2e1483b15cfef7afc2
+public = 308201b53082014d06072a8648ce3d020130820140020101303c06072a8648ce3d0101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff306404307fffca54a8c87c6206d0764daa637b5f0caf7b872a8c3f81f0779564c91aa0855db14992fa6b53c1bc3529ed65e25920043092890ea22a4ed6cc1a40dc562c021748dbd6b3cf3108827ff5fa2b53e28a5724ff86dacbd949208cabd6e2f629591079046104aea39f46ee6ede468494f0f489d08da4c8c0e1fee8d6dcff97c66ba77979d10faef772ef2989c5ef3fb30a73b83124206150226637bb4f72f9d9347be5ad59f6ab0c00f6aa907d37f2db423f0d1c8d4ebd73c0d0f03e44bed316dfbdedefda5a023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc5297302010103620004aea39f46ee6ede468494f0f489d08da4c8c0e1fee8d6dcff97c66ba77979d10faef772ef2989c5ef3fb30a73b83124209eafdd99c844b08d0626cb841a52a60954f3ff09556f82c80d24bdc0f2e372b0428c3f2e0fc1bb412ce92043121025a5
+result = invalid
+shared = 455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6
+# The vector contains a weak public key. The curve is not a named curve, the
+# public key point has order 3 and has been chosen to be on the same curve as
+# the private key. This test vector is used to check ECC implementations for
+# missing steps in the verification of the public key.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 633
+# Public key uses wrong curve: secp224r1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 304e301006072a8648ce3d020106052b81040021033a00040710b0c6f4675459f3df2bdf7ca02819f8086198d15c69b8abda37639e6031caca8a0121894d2491d8b3dce093703c70705bc5dbc8fa17c8
+result = invalid
+shared = 
+
+# tcId = 634
+# Public key uses wrong curve: secp256r1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 3059301306072a8648ce3d020106082a8648ce3d030107034200045fa4fa0b235c21e5c9f3baea9303bf86eccb7d31d0b998e141bc54b5dc43b23eef7fc5cf56308ed595eee99ade6aaf74d591c3d00aa1b438abc59c9607c22c36
+result = invalid
+shared = 
+
+# tcId = 635
+# Public key uses wrong curve: secp521r1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 30819b301006072a8648ce3d020106052b810400230381860004005bce61fe27c440fedbad47d88bccf645db9c1d30daa086e592e8b6a0a173b87991b619801907b420fa558c7953ab97badd9c6c1d85859d9ebef7441a088ff57ed5008d7638de703faabeb5a78e83e8fcd4eb786144a75d79bd4cc8cfa8be66612d756c7b65c67f72c6acbade6f0d59e9752e845205b2a560d4f8d6a9e84bf812f94d18
+result = invalid
+shared = 
+
+# tcId = 636
+# Public key uses wrong curve: secp256k1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 3056301006072a8648ce3d020106052b8104000a03420004a69ced11a8bf7a907bfa47cba3368f2498b465a2407c90649c8da224d2a85bf445ad2df3d0113e72aedccf92ba6b8529ed6faa154bc27aba25f49371981e3b38
+result = invalid
+shared = 
+
+# tcId = 637
+# Public key uses wrong curve: brainpoolP224r1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 3052301406072a8648ce3d020106092b2403030208010105033a0004a9b0f90e49a57fbe508847bf16e4a7b565dfe870a50164bc2862fe6e4d54bd8b109939f7dbbf800522722b9c0b309ace3884abb69c927ad0
+result = invalid
+shared = 
+
+# tcId = 638
+# Public key uses wrong curve: brainpoolP256r1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 305a301406072a8648ce3d020106092b240303020801010703420004512fe17172db1125a49f9dbb85e387869adf015e4899c06f66ef870d72092d4d195e1d21b4a4647bf734468bee802ddad5449202eba1041df2fd8cde04697237
+result = invalid
+shared = 
+
+# tcId = 639
+# Public key uses wrong curve: brainpoolP320r1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 306a301406072a8648ce3d020106092b240303020801010903520004c391dc7a817d47a3961ea1857895e101c0f5a8767d3a9c7cad49f7af8029f24c67309373cedd0831ccc0a0f45d344f3ab5923d2452507a980301a283848ae31574a57db51ce5e61d35aee483f1bb8e66
+result = invalid
+shared = 
+
+# tcId = 640
+# Public key uses wrong curve: brainpoolP384r1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 307a301406072a8648ce3d020106092b240303020801010b0362000419d3c811c04c5c0990d0258386195b2e29fdaba58d3f12b0bac8d3d53828c66c7a35e3d1eb0bdf2c08f23d0e4ab6a3246e456bf0fb863d03423dbe431baf799657c7816a619662fe5b900b754107ba5cc06b1d62c9a927891efee1a1fd404d7e
+result = invalid
+shared = 
+
+# tcId = 641
+# Public key uses wrong curve: brainpoolP512r1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 30819b301406072a8648ce3d020106092b240303020801010d0381820004216eb619457f1168ac873f5b560a75df80749f2bdf9abac31d6580e521ad70368013c3db74f663263b61eb12d4dcd597ad6c77cef6a5d6d2240b1e244d76403f693fb317ffc602a7ac313991b0a62f7bf469bbc95b3ff35003d972eb8ebcc8d4833e6c24ad52d49c1ce6244c7889ab67a8818232e192944542763fc667e5799d
+result = invalid
+shared = 
+
+# tcId = 642
+# Public key uses wrong curve: brainpoolP224t1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 3052301406072a8648ce3d020106092b2403030208010106033a0004691b24004380a599770214d0c60ab37cfc804cfaa7aedd11cbf0a05467ebec5e33322cda707b848086fd740244f62cdeb867fc057207fde2
+result = invalid
+shared = 
+
+# tcId = 643
+# Public key uses wrong curve: brainpoolP256t1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 305a301406072a8648ce3d020106092b24030302080101080342000422bf69f3a81dfa1ed8a97301943626e20377b78f7e7d714b880deb5a4a9c63a11591c2e47b777488990771855768b9a4050d61bf02d84cc6aa40447a07507285
+result = invalid
+shared = 
+
+# tcId = 644
+# Public key uses wrong curve: brainpoolP320t1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 306a301406072a8648ce3d020106092b240303020801010a0352000476568300e2b4c68861589b4966e67bc414811e4011260cb8be5f884869fa179ca8af40f80009e0a58b17ac3e551a772e76683c32e6e09112572542d7c1fe3d49abb56da56d669186e2623dc797129dc0
+result = invalid
+shared = 
+
+# tcId = 645
+# Public key uses wrong curve: brainpoolP384t1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 307a301406072a8648ce3d020106092b240303020801010c036200043345dffded3c33f7dcc19bb8997a39f2d6230abcb765d6142c30bf320c1fadff535feafd8505eb3e614db71826c1e258077a1e6057add7474f6d35dce68417812e7b919b1c673032b28c45d0a9251c43a2a73ab152f64ff8eba4eab312fa73bd
+result = invalid
+shared = 
+
+# tcId = 646
+# Public key uses wrong curve: brainpoolP512t1
+curve = secp384r1
+private = 0d6331a5a968e4d3bd7336a423b41055b68edd100b8b998d00eb9ed93881c21e3912bb2ee08e71327be205898675ef7a4
+public = 30819b301406072a8648ce3d020106092b240303020801010e0381820004a3677c646cd887685940c28076f55cda7469032845f2cb2af51c61492dc435aaa5b771d8e1528417cdeb89b5f629e06b234e21236b9edf46c7025177ee65a8e940f670d10c722cea355bd3a5c8847a38324b9a06a50a95da4e70bb492cd00194a8830975dd1e115e19315575ff841b30fd4a3f8a44725dfe280d0af57fc80cc3
+result = invalid
+shared = 
+
+# tcId = 647
+# invalid public key
+curve = secp384r1
+private = 2b9e57572da6cf4fb58cb94eab8df19383a136f219f2a515776a8bf48e1538dd1d811946c16d9f0184c9ce5cdf1dac51
+public = 3046301006072a8648ce3d020106052b81040022033200024424530ea70bace90601f8d5869e4179a6cd689b6a18fdfec50cecf17cb836d24820211ada67815b42c2c2606303f69e
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 648
+# long form encoding of length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 308176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 649
+# long form encoding of length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307730811006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 650
+# long form encoding of length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307730110681072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 651
+# long form encoding of length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3077301106072a8648ce3d02010681052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 652
+# long form encoding of length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3077301006072a8648ce3d020106052b810400220381620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 653
+# length contains leading 0
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30820076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 654
+# length contains leading 0
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783082001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 655
+# length contains leading 0
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783012068200072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 656
+# length contains leading 0
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206072a8648ce3d0201068200052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 657
+# length contains leading 0
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301006072a8648ce3d020106052b81040022038200620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 658
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3077301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 659
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 660
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301106072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 661
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076300f06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 662
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006082a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 663
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006062a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 664
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106062b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 665
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106042b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 666
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203630004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 667
+# wrong length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 668
+# uint32 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30850100000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 669
+# uint32 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b3085010000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 670
+# uint32 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b3015068501000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 671
+# uint32 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b301506072a8648ce3d0201068501000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 672
+# uint32 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b301006072a8648ce3d020106052b81040022038501000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 673
+# uint64 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3089010000000000000076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 674
+# uint64 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307f308901000000000000001006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 675
+# uint64 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307f301906890100000000000000072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 676
+# uint64 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307f301906072a8648ce3d020106890100000000000000052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 677
+# uint64 overflow in length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307f301006072a8648ce3d020106052b8104002203890100000000000000620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 678
+# length = 2**31 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30847fffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 679
+# length = 2**31 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a30847fffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 680
+# length = 2**31 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a301406847fffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 681
+# length = 2**31 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a301406072a8648ce3d020106847fffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 682
+# length = 2**31 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a301006072a8648ce3d020106052b8104002203847fffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 683
+# length = 2**32 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3084ffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 684
+# length = 2**32 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a3084ffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 685
+# length = 2**32 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a30140684ffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 686
+# length = 2**32 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a301406072a8648ce3d02010684ffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 687
+# length = 2**32 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a301006072a8648ce3d020106052b810400220384ffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 688
+# length = 2**40 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3085ffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 689
+# length = 2**40 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b3085ffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 690
+# length = 2**40 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b30150685ffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 691
+# length = 2**40 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b301506072a8648ce3d02010685ffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 692
+# length = 2**40 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b301006072a8648ce3d020106052b810400220385ffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 693
+# length = 2**64 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3088ffffffffffffffff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 694
+# length = 2**64 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e3088ffffffffffffffff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 695
+# length = 2**64 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e30180688ffffffffffffffff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 696
+# length = 2**64 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e301806072a8648ce3d02010688ffffffffffffffff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 697
+# length = 2**64 - 1
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e301006072a8648ce3d020106052b810400220388ffffffffffffffff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 698
+# incorrect length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30ff301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 699
+# incorrect length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307630ff06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 700
+# incorrect length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006ff2a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 701
+# incorrect length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106ff2b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 702
+# incorrect length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203ff0004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 703
+# indefinite length without termination
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 704
+# indefinite length without termination
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076308006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 705
+# indefinite length without termination
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006802a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 706
+# indefinite length without termination
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106802b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 707
+# indefinite length without termination
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203800004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 708
+# removing sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 709
+# removing sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 306403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 710
+# lonely sequence tag
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 711
+# lonely sequence tag
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30653003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 712
+# appending 0's to sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 713
+# appending 0's to sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 714
+# prepending 0's to sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30780000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 715
+# prepending 0's to sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783012000006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 716
+# appending unused 0's to sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 717
+# appending unused 0's to sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 718
+# appending null value to sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 719
+# appending null value to sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206072a8648ce3d020106052b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 720
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b4981773076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 721
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a25003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 722
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 723
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b3015498177301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 724
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a30142500301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 725
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e3012301006072a8648ce3d020106052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 726
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b3015260c49817706072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 727
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a3014260b250006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 728
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e3018260906072a8648ce3d02010004deadbeef06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 729
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b301506072a8648ce3d0201260a49817706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 730
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a301406072a8648ce3d02012609250006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 731
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e301806072a8648ce3d0201260706052b810400220004deadbeef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 732
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b301006072a8648ce3d020106052b81040022236749817703620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 733
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a301006072a8648ce3d020106052b810400222366250003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 734
+# including garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e301006072a8648ce3d020106052b81040022236403620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510004deadbeef
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 735
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307eaa00bb00cd003076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 736
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307caa02aabb3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 737
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e3018aa00bb00cd00301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 738
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307c3016aa02aabb301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 739
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e3018260faa00bb00cd0006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 740
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307c3016260daa02aabb06072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 741
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e301806072a8648ce3d0201260daa00bb00cd0006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 742
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307c301606072a8648ce3d0201260baa02aabb06052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 743
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e301006072a8648ce3d020106052b81040022236aaa00bb00cd0003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 744
+# including undefined tags
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307c301006072a8648ce3d020106052b810400222368aa02aabb03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 745
+# truncated length of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3081
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 746
+# truncated length of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3066308103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 747
+# Replacing sequence with NULL
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 0500
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 748
+# Replacing sequence with NULL
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3066050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 749
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 2e76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 750
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 2f76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 751
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3176301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 752
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3276301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 753
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = ff76301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 754
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30762e1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 755
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30762f1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 756
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076311006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 757
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076321006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 758
+# changing tag value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076ff1006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 759
+# dropping value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3000
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 760
+# dropping value of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3066300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 761
+# truncate sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 762
+# truncate sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30751006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 763
+# truncate sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075300f06072a8648ce3d020106052b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 764
+# truncate sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075300f072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 765
+# indefinite length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 766
+# indefinite length
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078308006072a8648ce3d020106052b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 767
+# indefinite length with truncated delimiter
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125100
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 768
+# indefinite length with truncated delimiter
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3077308006072a8648ce3d020106052b810400220003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 769
+# indefinite length with additional element
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125105000000
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 770
+# indefinite length with additional element
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a308006072a8648ce3d020106052b810400220500000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 771
+# indefinite length with truncated element
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251060811220000
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 772
+# indefinite length with truncated element
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307c308006072a8648ce3d020106052b8104002206081122000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 773
+# indefinite length with garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000fe02beef
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 774
+# indefinite length with garbage
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307c308006072a8648ce3d020106052b810400220000fe02beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 775
+# indefinite length with nonempty EOC
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3080301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510002beef
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 776
+# indefinite length with nonempty EOC
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a308006072a8648ce3d020106052b810400220002beef03620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 777
+# prepend empty sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783000301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 778
+# prepend empty sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783012300006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 779
+# append empty sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312513000
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 780
+# append empty sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206072a8648ce3d020106052b81040022300003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 781
+# sequence of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 782
+# sequence of sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783012301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 783
+# truncated sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3012301006072a8648ce3d020106052b81040022
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 784
+# truncated sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 306f300906072a8648ce3d020103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 785
+# repeat element in sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3081da301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 786
+# repeat element in sequence
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307d301706072a8648ce3d020106052b8104002206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 787
+# removing oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 306d300706052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 788
+# lonely oid tag
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 306e30080606052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 789
+# lonely oid tag
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3070300a06072a8648ce3d02010603620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 790
+# appending 0's to oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206092a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 791
+# appending 0's to oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206072a8648ce3d020106072b81040022000003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 792
+# prepending 0's to oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30783012060900002a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 793
+# prepending 0's to oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206072a8648ce3d0201060700002b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 794
+# appending unused 0's to oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206072a8648ce3d0201000006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 795
+# appending null value to oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206092a8648ce3d0201050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 796
+# appending null value to oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301206072a8648ce3d020106072b81040022050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 797
+# truncated length of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 306f3009068106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 798
+# truncated length of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3071300b06072a8648ce3d0201068103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 799
+# Replacing oid with NULL
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 306f3009050006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 800
+# Replacing oid with NULL
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3071300b06072a8648ce3d0201050003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 801
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301004072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 802
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301005072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 803
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301007072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 804
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301008072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 805
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30763010ff072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 806
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020104052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 807
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020105052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 808
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020107052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 809
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020108052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 810
+# changing tag value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d0201ff052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 811
+# dropping value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 306f3009060006052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 812
+# dropping value of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3071300b06072a8648ce3d0201060003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 813
+# modify first byte of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307630100607288648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 814
+# modify first byte of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d02010605298104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 815
+# modify last byte of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d028106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 816
+# modify last byte of oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b810400a203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 817
+# truncate oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075300f06062a8648ce3d0206052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 818
+# truncate oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075300f06068648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 819
+# truncate oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075300f06072a8648ce3d020106042b81040003620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 820
+# truncate oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075300f06072a8648ce3d020106048104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 821
+# wrong oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30793013060a3262306530333032316106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 822
+# wrong oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 308181301b061236303836343830313635303330343032303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 823
+# wrong oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b301506072a8648ce3d0201060a3262306530333032316103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 824
+# wrong oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 308183301d06072a8648ce3d0201061236303836343830313635303330343032303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 825
+# longer oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307f301906103261383634386365336430323031303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 826
+# longer oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307d301706072a8648ce3d0201060c32623831303430303232303103620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 827
+# oid with modified node
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307d3017060e326138363438636533643032313106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 828
+# oid with modified node
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 308185301f06163261383634386365336430323838383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 829
+# oid with modified node
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307b301506072a8648ce3d0201060a3262383130343030333203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 830
+# oid with modified node
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 308183301d06072a8648ce3d0201061232623831303430303838383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 831
+# large integer in oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30818f30290620326138363438636533643032383238303830383038303830383038303830303106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 832
+# large integer in oid
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 30818d302706072a8648ce3d0201061c3262383130343030383238303830383038303830383038303830323203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 833
+# oid with invalid node
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 308180301a0611326138363438636533643032303165303306052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 834
+# oid with invalid node
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3077301106082a808648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 835
+# oid with invalid node
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307e301806072a8648ce3d0201060d3262383130343030323265303303620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 836
+# oid with invalid node
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3077301106072a8648ce3d020106062b808104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 837
+# lonely bit string tag
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3013301006072a8648ce3d020106052b8104002203
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 838
+# appending 0's to bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510000
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 839
+# prepending 0's to bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301006072a8648ce3d020106052b81040022036400000004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 840
+# appending null value to bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3078301006072a8648ce3d020106052b8104002203640004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312510500
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 841
+# truncated length of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3014301006072a8648ce3d020106052b810400220381
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 842
+# Replacing bit string with NULL
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3014301006072a8648ce3d020106052b810400220500
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 843
+# changing tag value of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002201620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 844
+# changing tag value of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002202620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 845
+# changing tag value of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002204620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 846
+# changing tag value of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002205620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 847
+# changing tag value of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b81040022ff620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 848
+# dropping value of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3014301006072a8648ce3d020106052b810400220300
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 849
+# modify first byte of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203620204c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 850
+# modify last byte of bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203620004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312d1
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 851
+# truncate bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075301006072a8648ce3d020106052b8104002203610004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed0312
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 852
+# truncate bit string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3075301006072a8648ce3d020106052b81040022036104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 853
+# declaring bits as unused in a bit-string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203620104c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 854
+# unused bits in a bit-string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 307a301006072a8648ce3d020106052b8104002203662004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed03125101020304
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 855
+# unused bits in empty bit-string
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3015301006072a8648ce3d020106052b81040022030103
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 856
+# 128 unused bits
+curve = secp384r1
+private = 4b065d2dbbad95d7eebed00a3e79f772ccddfd93101c1b1f393e8adc465d94bc21346d8f341907a3c27a2562dcb49a3a
+public = 3076301006072a8648ce3d020106052b8104002203628004c2bed48c5e15e8208411b1a14c77c440b9a8c3b6b2af6eef05e4fbae13cfe7ba5e9af208c54e3035e3b4559f97b0f2798dbe522a47ee950419b5faa273d24ff2748a8349c591cc80871acf3c6702cce129c68351a713207a69f02b5bed031251
+result = acceptable
+shared = 40c344fb1185a5a97dd00b114f1b9c5ce4009f90c593f236fe465518f9ff27326a421e05b5bc1bfe3768d5becb9ec797
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+[curve = secp521r1]
+[encoding = asn]
+
+# tcId = 857
+# normal case
+curve = secp521r1
+private = 1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd
+public = 30819b301006072a8648ce3d020106052b8104002303818600040064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce00e04ad19cf9fd4722b0c824c069f70c3c0e7ebc5288940dfa92422152ae4a4f79183ced375afb54db1409ddf338b85bb6dbfc5950163346bb63a90a70c5aba098f7
+result = valid
+shared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87
+
+# tcId = 858
+# compressed public key
+curve = secp521r1
+private = 1939982b529596ce77a94bc6efd03e92c21a849eb4f87b8f619d506efc9bb22e7c61640c90d598f795b64566dc6df43992ae34a1341d458574440a7371f611c7dcd
+public = 3058301006072a8648ce3d020106052b81040023034400030064da3e94733db536a74a0d8a5cb2265a31c54a1da6529a198377fbd38575d9d79769ca2bdf2d4c972642926d444891a652e7f492337251adf1613cf3077999b5ce
+result = acceptable
+shared = 01f1e410f2c6262bce6879a3f46dfb7dd11d30eeee9ab49852102e1892201dd10f27266c2cf7cbccc7f6885099043dad80ff57f0df96acf283fb090de53df95f7d87
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 859
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b810400230381860004014c643329691ba27459a40dfe7c4ce17b3ea14d0cd7aa47b01f1315404db51436fbbfe6de0842e0f7e1265f6ff3aca28750677d3370b2fb2a6ef497356f4b95811201051b14178639a09a41465c72d3743436ee1c191ff7388a40140b34d5317de5911ea03cdbb0329fdeb446695a3b92d437271a9f3c318b02dec4d473908158140e97
+result = valid
+shared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 860
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b8104002303818600040029cd32125c23a41af24fd4b729da0faacbc35516ef0ba59096602571693cd282e26d67e18ef4643d0f6f158d7370d3394ca9a8de7938032ac178c6fd34e3702b8d008649834e2b41be3a8b7510bfe570f4c67075943cd0cbb9d9e1d1da52618b5b96d6aec9b650daf1ca6624c13e5116302b9c79c8c4d3d351915d1e8e1ab6ad76098e
+result = valid
+shared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
+
+# tcId = 861
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b8104002303818600040032c6f06ce6a15ea064464d35aa368d299c9a9e1e368f694aefb603876248f898f223ce0217bef37d61eb09b27c93187cf8e61ba7b14e3c9bee692b06ac6d95f836019fd19f8480e21c63211d48d45f96f6365cf55f958e1a0fe7ea6b6b9ff230a87b70bb1b14d3a5fb6669a91641c6acf4570c1d3a9e709913b7fe6b35ff81c394d6a7
+result = valid
+shared = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
+
+# tcId = 862
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b810400230381860004006ddf9b10965d5fc129e96f7a37667ccf66cc44384772906fedb21f9de4629e01aaa09ac7c9866112064bbc9bd58ebc123ab2fe19d8fed1a056d27bfef0630509c7001c441311ef20a16346332ea42d5c65788d68f6817b0267fcab11ea9c948ed108115dda8e823a380b601460742d3772d6424c67b240da24772ff0d2ccd9a1e0cea6
+result = valid
+shared = 000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff0000000000000100000000000000
+
+# tcId = 863
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b810400230381860004007a8c547268c948b626da636cf54428ea2ab23861d499a84ad7be1cf691b92872a06e26c6dba08ca9ed386f83d396156d5fa023f57d5ea6440ec7401dad2c08ad70018c3815b1b9a2e42555419a6c19043fa2b0ddcc4b5a6e372fee9fcb227d85bad704687e7e1a818b612d5c046cd75972f7a2dd5c9a200ac5582cd59fec47ac525ecf
+result = valid
+shared = 00003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff
+
+# tcId = 864
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b8104002303818600040029153cf062f88f303e5d6f9aac968bd901076d5994ea7f831833b1e69b67e9e9fe20cf9c5623e00e0b9e3592fca2a03324b5df7c93186aff697aca864600d44ecc002801a62e2f4106f34106da23dc93d50e3e975a1d47510021835290649b7a4125109f656b6b0b5bd00b24d84ea1ba4e1ed49e61c526fb1011005131caee7ee0501e
+result = valid
+shared = 010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 865
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b81040023038186000400a61eb994e28722c59b3c6007dfdf8b37893f6350f461b26a00e1a45104314aae9989da87e4facb2c4ef721185b7d96d9a45a28a102756501a1acc5d329a21bbf73010e8d0e12f5a9a40e0d59c90ce73043d39730aeadd3788e31d7c2bb62a1166161994664afa658ce2e60a13f45f27f914307c8d6f8d4ed16ab041b8f69908a62782f
+result = valid
+shared = 010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff
+
+# tcId = 866
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b810400230381860004011dd497b30c73709906b164a9a79dc7f2a98c0148ed63016bb95243834fbcdf8eb74b0ff652d54f59f31aef51da6e8974d363655b1da138dc4de0f2a8d800f475ae0057bd4b84607400d863ffbf45a3cf58999ee24ba05e93eca7b0e4ae760eb1733559a45d15579d3370d716ffa3ec4bfdae418e32fb06138dfca213720a938577610e
+result = valid
+shared = 01ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff0000000000000000000000000000000100000000000000000000000000000000
+
+# tcId = 867
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b81040023038186000401283eb93fa369fe7012b647d21e0a97cf9950e5fbed819ef56158f20c8a9473a418eccbca4dc2b47f4cb6d322f917005859bf221e84ac9827cab82a801c627fb1ec0075c480cbafb352fcaf93baf23a1405fd81febe09729a908d1077e177dd8993d94b251a0d52652da3edb6fdf864e80cd51540e73d0b5107e3433576dcaa4e18db43
+result = valid
+shared = 01ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff
+
+# tcId = 868
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b81040023038186000400173beefe35ee868d497ff6601628f65ce18a1591f7e4a3a406622f3f508e2da68f101ed02febc38418c6ddfc26a5ec9848c42792463b1e945f9e167db34bdf2d660053070647aba7cd60eb295ab81a268a3903f393c5d28bbc5e022351c377cd84f02c19deb36442372cae1332e92f95ba60b6c852e0de0718e89d24e43cd479c9fb11
+result = valid
+shared = 01ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff
+
+# tcId = 869
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b810400230381860004009829cd5432687739ab6ae10af8ea73d2cb53b81ebb06b5961b7badc1676b3ef7b00454f7cde56774a01312d574a9193c1a5fe5336fbe62623ad9bf81143789f9f90012f955697ed578207197bf9aac3896521615dbacc8dc665d4f1715b08439f49c2aa6ed337023ffccc5075a85944936826db92f919737ca3afeadba1847084bdef7
+result = valid
+shared = 01ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000
+
+# tcId = 870
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b8104002303818600040126e3c959cd41120bb83693b1d6a034b385137c1bb3213b776122fed96056e329885718a73bee639c0ba4b68818682f498ce5496925002bd7652516405fcc4fecad0073a9c6e3b0c694bf7cc8ccbbd09800e81e3548ba44a0c2381cef0b07bf702a19054bb5d717a1b79294609cbdafd4e2018064f7b2c4c204d818eb7ce521c3268ce5
+result = valid
+shared = 01ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000004000001
+
+# tcId = 871
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b8104002303818600040153dc481ab3c5dc8decd24ceaee1bec77f59f21f7f31c19538af047d281ac9e2567933fd3d21096b185d4098919571931bb9b0be7197995e2fbaf21c8a10007ade001ad69f08fcae164390be826256b50fae47502ce0e9ca46af0c490cb4033c886f88661a99ff2bd3c9c8e7da30faf2b4c769edc5831810ac05054c97e41063f496e1f
+result = valid
+shared = 01ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff
+
+# tcId = 872
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b81040023038186000401f586611c87150288c3e86116c5db94a26718978829d701ddac05e9b0ce22dee4b18e95f60cba783ed3384da373deaefc57b8265d3a34eeb458bf24b9d82be32819008456e0f1d80492ef0078cc246d32fc7c7fb6720b4d458b51b2098d35746752b0ef0345bd0d342dfee6dd2f12ed12b34bd95d058c2811fd479d2dde32180e6c9ef2
+result = valid
+shared = 01ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc000000080000002
+
+# tcId = 873
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b810400230381860004015edc87fd499a73eabffd14d2b6a70a8fb69b6a39d0d9c4dda2337b53cc72e49a9e3d5a2d9e8930cfa11852dac33443227fba6684bd74732e6879884b6ef9dae98f010eeb8d2e3360ea9726628085268af3f2a05ad41235d0a892098bd661b636f7ef0a820282906eda3f1ff1980b98fb5937228e9edcd6332e3641216c7307e7f3f452
+result = valid
+shared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd
+
+# tcId = 874
+# edge cases for shared secret
+curve = secp521r1
+private = 0a2b6442a37f8a3759d2cb91df5eca75af6b89e27baf2f6cbf971dee5058ffa9d8dac805c7bc72f3718489d6a9cb2787af8c93a17ddeb1a19211ab23604d47b7646
+public = 30819b301006072a8648ce3d020106052b8104002303818600040131b43002f7e687eec1ecf6a253c2ccc9e48f04d86fccd18fee0d2d22191f1ea539c40d521970b4709dc03986f647e0e8bb3340cf8a3e643a3541035437cf25f01500b27a55ac45f0296f8c9656bcfd52b5cea9f4115c06e4c64319609847d45e92418400e7868672c0d3e6e5e6e004a7190476ed77cfc33ad19a4bd2c615ad9950f374
+result = valid
+shared = 01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe
+
+# tcId = 875
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d20ec9fea6b577c10d26ca1bb446f40b299e648b1ad508aad068896fee3f8e614bc63054d5772bf01a65d412e0bcaa8e965d2f5d332d7f39f846d440ae001f4f87
+result = valid
+shared = 0053bf137fee8922769f8d0fe279caa4dac9c6054ad0460995588a845d0a959e24bc0fc2391a2b92f7bd400f50a11a9db37f07bef7fa8dad2a903fcf534abc8736f7
+
+# tcId = 876
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b8104002303818600040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564
+result = valid
+shared = 01c95ac417c90a520149b29105cdab36f528a23efb5621520dbdafea95a7d43499c4c8be02cd1c2de000da18104fa84a1e9ece6386f0e0efa5234a24595d7c4c96f4
+
+# tcId = 877
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf
+result = valid
+shared = 01b47ec41e3a5abd9dd9808fc04d9078cbed72b9eba98d3c1ded70a29938f0efd5a27a7113ff721f122cb17411de307a355c685074f5766b6d1a033d2fa188c945b6
+
+# tcId = 878
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b810400230381860004000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff00000000000000ffffffffffffff000000000000010000000000000000f33ffc45da3eac1baab727ab8fd355cfa134c42047d55262651654fb50df7e9a5a75f179c8c86c4388213b5687dc43dfebb37f30128703c44ccd5c3284833b8717
+result = valid
+shared = 0168df272d53e3161926168c4aeab5f355b8d2a6689cfd567f2b6eb2011a18c775ac2a21f8dd497f6957217020b3b1afcb7021f24fccc2523be76a2bff44596e5a14
+
+# tcId = 879
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000400003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00000003fffffff00cd2839d857b4699f5c8e8a0194786e26a862f086b4ba80746ae5225ed3aa68f96b7aaec55225830bb98f52d75221141897ba49d7a31ebbf0b6d7d31352e5266190
+result = valid
+shared = 013db1b9241b23d33860d32dec37a79e4546a41afdfdd9c438d04e1f8b566ac8d9d3f572c293e96943722a4ee290e113fffaa82a61867d9ca28d349982354c9b256f
+
+# tcId = 880
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b810400230381860004010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000813d9829119f42ffa95fea8ba9e81e4cd6a6ca97fb0778e12e5f5dfe35201dd4cca8eca0d2e395555997041381e6ac1f18ddf4c74e0b6e9041cfdca1d1c103091
+result = valid
+shared = 01d2bbe9f754584ebbc7c7ad74136d1c8a144948948aa8be49989dd9b4c514db2e2ab1e0713ad1699f632dd2cea53da218ed549f030a113e282fd9e3be462d9aba84
+
+# tcId = 881
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b810400230381860004010000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff0000003ffffff00878ad597d290db2cf660594aeed0f9b7c8dd68451d2d1b2cbc816b1ec4f35465b3964aff2edf1255163f5fca580132f85cade2887a017e7cd0b37196ad85221107
+result = valid
+shared = 000f37a2e2caef54fff4126c0fa96e7c47f0cad74626ef91e589e12d2e1e8c221be7295be9dc2712b87bb0aa0f5880b738bc1242f2ba773bf9eb2a54e3c1ca4758d7
+
+# tcId = 882
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000000000000000000000000000ffffffffffffffffffffffffffffffff000000000000000000000000000000010000000000000000000000000000000000b5e1191b449fa1ebdbd677daa48f90e2d1d6c058c877087cafd9364d99dbb283c68402e6e6c5f5411b2ed42824d8b280ceb910aba6847883a7e3780e2132af41c1
+result = valid
+shared = 017aeb254d9c8c8ee06215ff33811357da73bf7f6dd6d7f8f176d62c065a88a9005f680c630e9f2763585ea2ee76b6e4ab45e673f814ebfa95947c0c63fb24fa6e9b
+
+# tcId = 883
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff00207513d615656a1cc7505c18aa21b08e2b1d5a841de0816cc29c004efdb2d902ac1a7bb05e20722b576b64a3ddf4d2486421ac706bf4a424f252386368a5340fb6
+result = valid
+shared = 0061bed42248a37b4625ef04c4f9c7ef69ee3c6f9503378351fcab1b8ce1343206997eec1b88449eb6f7355711ea1a818a486ee30a24126241a7e2289267cf5dd61f
+
+# tcId = 884
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffffff001fe800c50e54012b75a33e4be7d07c8d60f29680a395e951a6a31c5096b0ea928fc2cbf327dd784dc0a7ca46ea73992b758b5641364b4aba39e93798a4d925a008
+result = valid
+shared = 001067d9104e296ef42b944587de11b10df05d2d959ed44cac9e7ef1c7a05d90819c43bc79c7397918f957cc98db931763bbeb1bdfc35865e8a359a013f13d60c433
+
+# tcId = 885
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff0000ffff00010000008dd18a1f5e482140be79bb65a21ad60c8987e532c84345f0135affd46ec71ef02b1ca3ad56f301d955fa306c122d441d6fedcf8b855ef256350bf69d23a7207ad9
+result = valid
+shared = 00b779d83035cf7bb0bb04c7b2f46d08f6791f0d1542c9bcce7250e772b12ad8e38fce1d2b063a06f0fa3a1b072dd976f5f8542979903075162f1f5c6ba3b76cc45d
+
+# tcId = 886
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff8000003ffffff0000007fffffe000000ffffffc000001ffffff800000400000100566203dd325a081c4441f001f780365874fd3d0c9bc47227481afe76a93ae1bfde63af972203abfe22c63b80e83f7cc2184c3cb8cfd0152c54324c4759fd1f9a50
+result = valid
+shared = 01afe5d23733728b79c743933b9ba7dfec5ed19b7737e393908a1d000918aa795d1ce0ad533983d018f927b35d2af6463356573f387febd75911a49486202ca69d3a
+
+# tcId = 887
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff0001fffc0007fff00b11c668fbd549f36889f7b63434051da26f15705839136b1b14a09152d7a182ea7806c35478a32d3aa3c9c1627a61519ebec71b36fa77449025b8829e27f307834
+result = valid
+shared = 019612aeb386febb1a28096fe5b2f682dead02389785225b80a27df439510d08349a193839525f248b7f9bcabfd3dc8da8cc1724022299b7b5e72399d89464b82e44
+
+# tcId = 888
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000007fffffff00000001fffffffc00000008000000200aa75efc0a8daac1d73f32c9c552414bccf44af8e74331b47439e7dcc49a135b3ee61e9f69717d89b4bba3567a195aeda13fbec634bf2984b5ec6b6f80f5978ed5a
+result = valid
+shared = 00570673f87adcef49c1f011e8b9f1e11f7fd3b3c93114d08d3f515aa4a895a6c701c523063bdc13ad1db0a54f6e7b476fe10db2070441befc58c8cff3c08ef76e59
+
+# tcId = 889
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0010e59be93c4f269c0269c79e2afd65d6aeaa9b701eacc194fb3ee03df47849bf550ec636ebee0ddd4a16f1cd9406605af38f584567770e3f272d688c832e843564
+result = valid
+shared = 0016aaf228b0aec190d4e4e5b8138ff9cc46d705da1bf002901c6ab420f59314d5b641712b14ef3e4fb125652c47888676804fb5575b741a8408c5625bfccff4fdda
+
+# tcId = 890
+# edge cases for ephemeral key
+curve = secp521r1
+private = 12bc15cf3981eab6102c39f9a925aa130763d01ed6edaf14306eb0a14dd75dff504070def7b88d8b165082f69992de0ffa5ee922cb3ab39917da8524cac73f0a09c
+public = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00d9254fdf800496acb33790b103c5ee9fac12832fe546c632225b0f7fce3da4574b1a879b623d722fa8fc34d5fc2a8731aad691a9a8bb8b554c95a051d6aa505acf
+result = valid
+shared = 00a5d6dfda2b269f4ab895a41c3b71b6ba10d5c9f0d9b3e730275345e4721594abfd39464c227716ded8ef3e60bb1ca0b551716e3f6eebb48d5ce8e0ab58cb1b73c9
+
+# tcId = 891
+# edge case private key
+curve = secp521r1
+private = 3
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df
+
+# tcId = 892
+# edge case private key
+curve = secp521r1
+private = 1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 00347c51f587c726070bdeb9173d0a547427ead3f2c8de62d9ecc3013285f645d220931520bcef85d08cfb6786045745fbfbfb1924c44a89d06676131a965677272a
+
+# tcId = 893
+# edge case private key
+curve = secp521r1
+private = 200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 01c41dc4437c2f2b94a940711b3a691723397a1f83d6bc0c67ddc7a657160925c7f85bb4eb3842b60b2610ddb7c0b8676267710e58359a8750843c6d8e25d48d1cd9
+
+# tcId = 894
+# edge case private key
+curve = secp521r1
+private = 0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 006a239cdb7a783840658d5f314bfe5c51e806a4bf1236f8421265bcc503c673eb16c5c2b38b5717fa04ee7dbcdeb15c871711507abb7557a8a8c7b3250141e854d5
+
+# tcId = 895
+# edge case private key
+curve = secp521r1
+private = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 0112dbf9713aadd478e4f2ebcb058f05b512b1959c7da1994f851f373ce8c341d39c6843373f6fe559905953e1147640159437953c571961c09bad157a8e1a5bf476
+
+# tcId = 896
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47adbb6fb71e91386409
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 003eca2210c8623105085aa284d119f3d716730595c6291aa89bf32a95e8a5fdc64f3d76e92494a43a9dced12d05b6dca4ffe649b32ac12cb0202e702dc83a2cb277
+
+# tcId = 897
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb5fb71e91386409
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 01c4cae9fbfdd45de51d8525e8447a7553c35cf358f1346f1d79666887bb749a3ba0de62e1866b47a447d53b6f1ca5a33ec94507e2cfb65544f5a1195fc6b4dc5810
+
+# tcId = 898
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb67b71e91386409
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 008073b4796e748f3d0de5e85b22aed463f1a6aecdb336bc287b50d139e3591ef5f86b78c3f6051467755f059f295d758075347d657aaae02383838bb96071eacbd4
+
+# tcId = 899
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71d91386409
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 01f11ff8983792d4a790d0de4b56d078b9033ad6318a440e8119342937cc48a39375150ab2cf98273b0fe35d5a3af5d84322a685e89f2cb378a99b9b7bac87e44952
+
+# tcId = 900
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138631b
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 00286cefaaf38ca4c6657eb9b187d8614d51775fd71c1a79b4c0ef1a0d4ce72b6f5b2bc854a4e78283530942a3f4fd2a8586d5ea51513c89d3d29de5de06321e118e
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 901
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138639b
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 014790de14c481f1336fcb7d33a8bf8e23eb594cc48608e9edfe0e326e106b67e7eaa3f04ec9985599178f632a5ee6419e11217060e9fcd5958a43882bf8cd3be6ba
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 902
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863db
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 01ae775dbc4096a3aea7977b1a0af4b2830ecf9ca927a6247fba4cccb46b3f71d0e7abb8dda72d1c1ee7bb5b875b4773cc8df40f732819c4147da330775d1742ea35
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 903
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863fb
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 01979fb05e068a12a3f20cfdfb9eaee9f22b356edcc7655383ed38124b86814f86a6f2216a34f3fc2299d403ee42408f95d08c5c6cd11db72cbf299a4a3c2545be25
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 904
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386403
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 0197ebe26798bf67f06ff0282773af75115531f41d94c093d87481b76bef707bc222f2d6672f84a00fa20c5ed27027ab4006b68d93ee2151016c9ddbe014346272e2
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 905
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 00f2246431b597930f2eae61e9aabbd39f8f6ae97c3cf2521a6aeecedda10b5ef5f3b2eb3a8906d02f51d244710aa9e19cc0be21db920132be1c91deb85e466c28df
+
+# tcId = 906
+# edge case private key
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407
+public = 30819b301006072a8648ce3d020106052b81040023038186000401ad5043591dbe81657fe3d1c3d7a516606ad9d320a35fce8aaec8a950fb53f95388f3fc48be998e99334ad9e9234cded14471fe86caccaa07d058ee8771733ac3b900854de36366590b9ee4d0370ea6b00f7ebd8156ccf14e99f1a5344a9b4964fbb8348b081a8840c6b64be77997ad8bebfea5e7d9f7a6a7fa6d7655c50b2b7835f314
+result = valid
+shared = 01c168314cdc85757ade34a52a9e5379ffa5968f084b7e404939a8033a0fc698e26211754b9b2c04cf8a1420abe6e986ef1a238bbb91dd402b72e0ed50a876f1a83e
+# The private key has a special value. Implementations using addition
+# subtraction chains for the point multiplication may get the point at infinity
+# as an intermediate result. See CVE_2017_10176
+
+# tcId = 907
+# CVE-2017-10176: Issue with elliptic curve addition
+curve = secp521r1
+private = 1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913863f7
+public = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650
+result = valid
+shared = 01bc33425e72a12779eacb2edcc5b63d1281f7e86dbc7bf99a7abd0cfe367de4666d6edbb8525bffe5222f0702c3096dec0884ce572f5a15c423fdf44d01dd99c61d
+# This test vector leads to an EC point multiplication where an intermediate
+# result can be the point at infinity, if addition-subtraction chains are used
+# to speed up the point multiplication.
+
+# tcId = 908
+# public point not on curve
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30819b301006072a8648ce3d020106052b81040023038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fe1
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 909
+# public point = (0,0)
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30819b301006072a8648ce3d020106052b810400230381860004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 910
+# order =
+# -6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd166500242fe000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf7020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 911
+# order = 0
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020100020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 912
+# order = 1
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 308202043082017706072a8648ce3d02013082016a020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650020101020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = acceptable
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 913
+# order =
+# 1598335257761788022467377781654101148543282249044465229239888363328190330275719844327554513312228302828260696579553960150541916632196023208175974174
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820241308201b406072a8648ce3d0201308201a7020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650023e01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = acceptable
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The order of the public key has been modified. If this order is used in a
+# cryptographic primitive instead of the correct order then private keys may
+# leak. E.g. ECDHC in BC 1.52 suffered from this.
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 914
+# generator = (0,0)
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = acceptable
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 915
+# generator not on curve
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16652024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = acceptable
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 916
+# cofactor = -1
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 917
+# cofactor = 0
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 918
+# cofactor = 2
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020102038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = acceptable
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 919
+# cofactor =
+# 6864797660130609714981900799081393217269435300143305409394463459185543183397655394245057746333217197532963996371363321113864768612440380340372808892707005449
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820286308201f906072a8648ce3d0201308201ec020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 920
+# cofactor = None
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820242308201b506072a8648ce3d0201308201a8020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff308187044201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f000481850400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = acceptable
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 921
+# modified prime
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820244308201b706072a8648ce3d0201308201aa020101304d06072a8648ce3d0101024201e99d17d498f3c68ed8e50430ec4f36c14dbeeaf7652e985636bf0548ffb981e9e011607fd0059cd4fe51e882f19a3839ebe7f1d7376cb761431b214ed76970cc0130818604411662e82b670c3971271afbcf13b0c93eb24115089ad167a9c940fab700467e161fee9f802ffa632b01ae177d0e65c7c614180e28c893489ebce4deb128968f33fb044151953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f0004818504000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004000000000000000000000000000000000000000000000a14517cc6b91f8000000000000000000000000000000000000000000000000000000000000000000000032c006b0f530bec5bed532357d436727699f0e3c5b9366f1a435be640b97cd43d937655b1f157c7d0c7df25011fef7c3ab7d8e556e6125b59b847fcdd89a4051796a797
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The modulus of the public key has been modified. The public point of the
+# public key has been chosen so that it is both a point on both the curve of the
+# modified public key and the private key.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 922
+# using secp224r1
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 304e301006072a8648ce3d020106052b81040021033a0004074f56dc2ea648ef89c3b72e23bbd2da36f60243e4d2067b70604af1c2165cec2f86603d60c8a611d5b84ba3d91dfe1a480825bcc4af3bcf
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 923
+# using secp256r1
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbf6606595a3ee50f9fceaa2798c2740c82540516b4e5a7d361ff24e9dd15364e5408b2e679f9d5310d1f6893b36ce16b4a507509175fcb52aea53b781556b39
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 924
+# using secp256k1
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 3056301006072a8648ce3d020106052b8104000a03420004a1263e75b87ae0937060ff1472f330ee55cdf8f4329d6284a9ebfbcc856c11684225e72cbebff41e54fb6f00e11afe53a17937bedbf2df787f8ef9584f775838
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+
+# tcId = 925
+# a = 0
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 308202033082017606072a8648ce3d020130820169020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3046040100044109a88e6f050cfefa0b49fac45689b6b93ad4fa3b65db7d2f4cb31b67fe056a100066dd80dc5f785d27f82e3369eb22ab2c5729a9e5d9906a1dc31e02f84026484a0481850400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101038186000400c2a43ac3742b09e006c2dfc9c36444d7e699f567a73f674ce257330b312dd7a8a04fbe92d1d9acbcc65f6184711ada5bf39f6e11e0cbde98f1640d099eb90dfce701802d7755c2fe3180848d4a70b170096ec64eba99b478ba7f6fc129b0566279b8e1ab7962fa912fc4ae53b5202a03520617843dc63e5cb5f956ec7f1453d0865fdf
+result = acceptable
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# A parameter that is typically not used for ECDH has been modified. Sometimes
+# libraries ignore small differences between public and private key. For
+# example, a library might ignore an incorrect cofactor in the public key. We
+# consider ignoring such changes as acceptable as long as these differences do
+# not change the outcome of the ECDH computation, i.e. as long as the
+# computation is done on the curve from the private key.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 926
+# public key of order 3
+curve = secp521r1
+private = 1396a99a337821d8c92d75f562793c70afa4074ae5e6dad2bd2cc6aea8f36f6c45ddde73931440d229f340093ab8c6fb3f20d20999a37371fe92104692136d019b7
+public = 30820245308201b806072a8648ce3d0201308201ab020101304d06072a8648ce3d0101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff30818704413e132b04e4bf567ca410c8e0b26ce82c6df3a466d36017a14aee775550ee142403252bf967ece55d504d89aedace6a66267b3f426851b47dae79a4bb9dccb96ed304420111cac6216a3dc8b043d44f2f2ab83bd2c3c237c40b9aec11793dcf723adf6d467d5c4ecbccd047f355148c538818b8980d84b8960ef686cc281d0cb78d42162c7804818504005d86592cc9efd847ff982dc5f51a7b5e03fd827468f728515497309ce0dd87bfac187e8481c2075df741d4381e41a1fb698bc623ca75be6f39819259d87e734dc4008c95635095e612b27b14bfc503c2db2bcf90f5690dc75c09e8d5f22a597840ff4cbbbc135eb9a2e36359d51786476e8670c20d63d8d9834a3bdd3f7e57f493840e024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201010381860004005d86592cc9efd847ff982dc5f51a7b5e03fd827468f728515497309ce0dd87bfac187e8481c2075df741d4381e41a1fb698bc623ca75be6f39819259d87e734dc401736a9caf6a19ed4d84eb403afc3d24d4306f0a96f238a3f6172a0dd5a687bf00b34443eca1465d1c9ca62ae879b891798f3df29c27267cb5c422c081a80b6c7bf1
+result = invalid
+shared = 00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de
+# The vector contains a weak public key. The curve is not a named curve, the
+# public key point has order 3 and has been chosen to be on the same curve as
+# the private key. This test vector is used to check ECC implementations for
+# missing steps in the verification of the public key.
+# The public key has been modified and is invalid. An implementation should
+# always check whether the public key is valid and on the same curve as the
+# private key. The test vector includes the shared secret computed with the
+# original public key. Generating a shared secret other than the one with the
+# original key likely indicates that the bug is exploitable.
+# The public key does not use a named curve. RFC 3279 allows to encode such
+# curves by explicitly encoding, the parameters of the curve equation, modulus,
+# generator, order and cofactor. However, many crypto libraries only support
+# named curves. Modifying some of the EC parameters and encoding the
+# corresponding public key as an unnamed curve is a potential attack vector.
+
+# tcId = 927
+# Public key uses wrong curve: secp224r1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 304e301006072a8648ce3d020106052b81040021033a0004af6dd5b71a8c1cf921e36854ae091aaa589d337e740e8579f816eb9e36b03eec5cf956d0fdd2fc1687335507fc1c4a5717d3b5b8ea8340d1
+result = invalid
+shared = 
+
+# tcId = 928
+# Public key uses wrong curve: secp256r1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 3059301306072a8648ce3d020106082a8648ce3d0301070342000453366db79b320781936df61bb55d4499949d813ee5abaa5dda70da4f97f68228ccc69d7cd0b7266cfc28d0dcafdf3e83738cc611acb08f8b896c4ecf82dd65ae
+result = invalid
+shared = 
+
+# tcId = 929
+# Public key uses wrong curve: secp384r1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 3076301006072a8648ce3d020106052b8104002203620004aa45c13ce3cfea8538422712903edc0ce56df74ede0776e843555a786f9738de1943dffd729addfd4772169751d7765a45b5bb540a47d198f4c8c7c21e67560c1e12f70b64520109bb8858a3f8d6bb4012003431db0778633313fdb9464c47ec
+result = invalid
+shared = 
+
+# tcId = 930
+# Public key uses wrong curve: secp256k1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 3056301006072a8648ce3d020106052b8104000a0342000475e01a1555380be188d69aac340a4675e4a6f73d63976a1075249827d8ecc2a31e65ed1eb591954e33a38f68ef8aa6c930229d8755e53257602b3eaa87de6f02
+result = invalid
+shared = 
+
+# tcId = 931
+# Public key uses wrong curve: brainpoolP224r1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 3052301406072a8648ce3d020106092b2403030208010105033a0004905a06d5bc093697155aaff67305976a769b904d8db9573c4be361626def2ffe1d5ec14462c02e5ffb24fb3edb2b6c77a5cfee2492db757b
+result = invalid
+shared = 
+
+# tcId = 932
+# Public key uses wrong curve: brainpoolP256r1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 305a301406072a8648ce3d020106092b2403030208010107034200042b87df1b6a5cbc4c4a184b7eec9b6c0483f7b80e6477b29649630c37481876bb0e3423f7a00d469320b7e60c88370979064efb9ceb8b387aa87a7c6941ccd9ed
+result = invalid
+shared = 
+
+# tcId = 933
+# Public key uses wrong curve: brainpoolP320r1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 306a301406072a8648ce3d020106092b24030302080101090352000470df62394ee036eefbc8ef11a9a5f3a8af659016f29e7125e52cfda0a74e52c7b21d18ac4375f5e4164c5338fa2f545a3fb2022f0e0686d5b4882958f72b1bb626e37093e3f19673968c237823327fd6
+result = invalid
+shared = 
+
+# tcId = 934
+# Public key uses wrong curve: brainpoolP384r1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 307a301406072a8648ce3d020106092b240303020801010b03620004808dc7b1c6d3ec470a7fe5d6144c9c3a8c92b116103aa2edbfce0b2c827312eebcd1350d09a739eac901af341487861b195270f671e0a758deb23222db4fe7983d42a785b35fd158344cd6483c4da5b409e77d0a284dfa9c3e0d91a4d275fce9
+result = invalid
+shared = 
+
+# tcId = 935
+# Public key uses wrong curve: brainpoolP512r1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 30819b301406072a8648ce3d020106092b240303020801010d0381820004aa11b560dc1e572f2374e5869210304d66d95b1d8ce40940157f5f5b4a7dc8a340f7c305d6bea289f5c430eb888e2a03528336aaf4680d9d153cd162e2229df330425025df2625b147568927f6acf704e4936f8989ff9d44f33ee22196e70dfd8711e8934d8d42abb4b67afcfee213c3ad5e5c83fcf4283d253d6c5c0e581970
+result = invalid
+shared = 
+
+# tcId = 936
+# Public key uses wrong curve: brainpoolP224t1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 3052301406072a8648ce3d020106092b2403030208010106033a00048d7a746de095728a8d83219e587040cb6e794d088ab6eab426638202579850b0f235edcf4eb8adcb51bf41878f6b71a1f2d4101022964340
+result = invalid
+shared = 
+
+# tcId = 937
+# Public key uses wrong curve: brainpoolP256t1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 305a301406072a8648ce3d020106092b24030302080101080342000424ad316bf41e4102dd7ae16311b64464df2d13ea68a11dd27a4445ed900962180ff8c627ed73f0c667863ee3a671e6ed1fa2781b51a229ee2cd21fbf69437d60
+result = invalid
+shared = 
+
+# tcId = 938
+# Public key uses wrong curve: brainpoolP320t1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 306a301406072a8648ce3d020106092b240303020801010a03520004548ce4997cc618800d3834dd4b3346e4559be066ab5d0cecd7123c4de940c168fecd3bae067fe3fc7aee875c9da0a86932f0779f42344470860c22dbc6f305eab792fc0874157e175c7d3c4d3bf54c4b
+result = invalid
+shared = 
+
+# tcId = 939
+# Public key uses wrong curve: brainpoolP384t1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 307a301406072a8648ce3d020106092b240303020801010c036200044fc2b35e3019a57a8ca6efe2ec1f72072c599a78c2725f7cfc2d9edf220b5f6abdb0c0d8d160182de451e26bcbb4e8c18726263e21ce56fb4bafaa1f186c745e2c8392ef8c5a1c03f5462ebbbcde0ffcc31e9a0b3e898ddb9c1c79e420fd7a35
+result = invalid
+shared = 
+
+# tcId = 940
+# Public key uses wrong curve: brainpoolP512t1
+curve = secp521r1
+private = 2b0d77cd5c47890a52612fc9b38d804266b9784abca2b94de99bdc67475aecc2abc31e72a6dada0cf1d4d776b002c8d2dbd601ab8a0cae4157370846b20e8dd657
+public = 30819b301406072a8648ce3d020106092b240303020801010e03818200047122f743122681ac73b0d611af86847d8bec654cf99e7eaf5d4f684e4078a8e61dc6d07e831ad02cd40d41dbdb6b0e877d960b78a5ac34c1e6ce7c483503d6de2eaddeffbfb3f144d29d13535a05815934186707146e45f64476bbdbc8645be973270a4c5e35d70ffd5eab2f08d1fb04762bc8aa80e999da14f744be9ff8c923
+result = invalid
+shared = 
+
+# tcId = 941
+# invalid public key
+curve = secp521r1
+private = 1c1fb2cac9087a3397814b198a80e2ea5b437aac1b41e8a2bd8fef8700e4812aa817320e6e1e3865bd2cf75e43a78be5c27ff1c4b5f5019333cb37d0c9c4ff3ec61
+public = 3058301006072a8648ce3d020106052b810400230344000200429cb431c18f5f4e4e502f74214e6ac5ec2c3f86b830bac24de95feae142ca7d9aa8aa5b34f55af4b2848f2e6ba6df4c3ecd401a1d7b2a8287a332b202196fadbb
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 942
+# public key is a low order point on twist
+curve = secp521r1
+private = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacd
+public = 3058301006072a8648ce3d020106052b81040023034400020108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 943
+# public key is a low order point on twist
+curve = secp521r1
+private = 0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f2
+public = 3058301006072a8648ce3d020106052b8104002303440003011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 944
+# public key is a low order point on twist
+curve = secp521r1
+private = 0a257d97aa4e5195e2919c147c1639bb0da0cce479a036489006b7b8e7e885096066e5adc8fe7c45940c5a6b94d5065b966a45f099a0cecfe9cce1b3e99dca479f3
+public = 3058301006072a8648ce3d020106052b8104002303440002011f2dca6b686e2141c11822e2d5439261583ce98cd6c4041c6d1be9e17dee33ea4a65c3e8cca6de50a30a39c788a585f1188bef0680a9c0264b3c8dcf494d0eb948
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 945
+# public key is a low order point on twist
+curve = secp521r1
+private = 6619644155c449758f65e2dfe7ba89dee1e090c1d68b6342f43cb1ac000090a7f0408138c1de217990bb015cd1d95f1d884cf659f7324f2fe21eeba63ea988aacc
+public = 3058301006072a8648ce3d020106052b81040023034400030108cbf3c9bf8e42135d87127556831076d84d5e549e645afda8a099249231b59b6c508dee4e91c9a543e90ebc82613f86cb1290e29102a0f2fdeb57bf4193fb4639
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 946
+# public key is a low order point on twist
+curve = secp521r1
+private = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e2
+public = 3058301006072a8648ce3d020106052b81040023034400020009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 947
+# public key is a low order point on twist
+curve = secp521r1
+private = 1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f677
+public = 3058301006072a8648ce3d020106052b81040023034400030047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 948
+# public key is a low order point on twist
+curve = secp521r1
+private = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d5
+public = 3058301006072a8648ce3d020106052b810400230344000300c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 949
+# public key is a low order point on twist
+curve = secp521r1
+private = 24ae709e1644e3087b52470c565268becbdbf97de59916763507d109c2e5b7c21727c64e9b560aa248d7bc9fe0ac95720d507263b7b2859b056ea165301cd599d6
+public = 3058301006072a8648ce3d020106052b810400230344000200c18410f5727ee0101a52ef95c0ac455cbc65bf9967f0a2c419aa0a291cabad569f2337e102d0a9128f4212dbf9fa9e5a8f14ca7f28e82977281facdd9ca7a92c78
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 950
+# public key is a low order point on twist
+curve = secp521r1
+private = 1afe5c77a626161fb2c25964c7895b9fff787099db83f077f05a4bfa320fb61f9315bb44d3fb9dd72225d9d993a18df82ac53fb4a5f86b23cb650e5e4778066f678
+public = 3058301006072a8648ce3d020106052b81040023034400020047b9cf28e04b38796858545d60d6133fbdc20ede086e5d95111c982b8c276628235e536c075637a97c0a6c30d02b83b19e578203473eea16dfdeaeccb1dc0d9b19
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 951
+# public key is a low order point on twist
+curve = secp521r1
+private = 2a35258787f91ad0bd3432c3022e4d3ed349c8768a7e7caa1836022fc0c89a9073f6ce14d0990d5b7bb413061c7160e7bd566a5c89f14901b2cc19f1ad531f41e1
+public = 3058301006072a8648ce3d020106052b81040023034400030009cc73141cf1843d2b2c95dc5cbc4d615c6da4814c1c7208615d8e78c7a8666aba1852faaa45a45d32bd0fde6ea78f262a96bf1e02949cea48c33c695103683048
+result = invalid
+shared = 
+# The point in the public key is compressed. Not every library supports points
+# in compressed format.
+
+# tcId = 952
+# length contains leading 0
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3082009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 953
+# length contains leading 0
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d3082001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 954
+# length contains leading 0
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d3012068200072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 955
+# length contains leading 0
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206072a8648ce3d0201068200052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 956
+# length contains leading 0
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819c301006072a8648ce3d020106052b81040023038200860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 957
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 309c301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 958
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 309a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 959
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301106072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 960
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b300f06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 961
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006082a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 962
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006062a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 963
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106062b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 964
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106042b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 965
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a301006072a8648ce3d020106052b8104002303870004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 966
+# wrong length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a301006072a8648ce3d020106052b8104002303850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 967
+# uint32 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3085010000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 968
+# uint32 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a03085010000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 969
+# uint32 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a03015068501000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 970
+# uint32 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a0301506072a8648ce3d0201068501000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 971
+# uint32 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f301006072a8648ce3d020106052b81040023038501000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 972
+# uint64 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 308901000000000000009b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 973
+# uint64 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a4308901000000000000001006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 974
+# uint64 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a4301906890100000000000000072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 975
+# uint64 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a4301906072a8648ce3d020106890100000000000000052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 976
+# uint64 overflow in length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a3301006072a8648ce3d020106052b8104002303890100000000000000860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 977
+# length = 2**31 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30847fffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 978
+# length = 2**31 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f30847fffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 979
+# length = 2**31 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f301406847fffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 980
+# length = 2**31 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f301406072a8648ce3d020106847fffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 981
+# length = 2**31 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819e301006072a8648ce3d020106052b8104002303847fffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 982
+# length = 2**32 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3084ffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 983
+# length = 2**32 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f3084ffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 984
+# length = 2**32 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f30140684ffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 985
+# length = 2**32 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f301406072a8648ce3d02010684ffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 986
+# length = 2**32 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819e301006072a8648ce3d020106052b810400230384ffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 987
+# length = 2**40 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3085ffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 988
+# length = 2**40 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a03085ffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 989
+# length = 2**40 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a030150685ffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 990
+# length = 2**40 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a0301506072a8648ce3d02010685ffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 991
+# length = 2**40 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f301006072a8648ce3d020106052b810400230385ffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 992
+# length = 2**64 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3088ffffffffffffffff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 993
+# length = 2**64 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a33088ffffffffffffffff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 994
+# length = 2**64 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a330180688ffffffffffffffff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 995
+# length = 2**64 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a3301806072a8648ce3d02010688ffffffffffffffff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 996
+# length = 2**64 - 1
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a2301006072a8648ce3d020106052b810400230388ffffffffffffffff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 997
+# incorrect length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30ff301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 998
+# incorrect length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b30ff06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 999
+# incorrect length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006ff2a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1000
+# incorrect length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106ff2b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1001
+# incorrect length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a301006072a8648ce3d020106052b8104002303ff0004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1002
+# indefinite length without termination
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1003
+# indefinite length without termination
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b308006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1004
+# indefinite length without termination
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006802a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1005
+# indefinite length without termination
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106802b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1006
+# indefinite length without termination
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a301006072a8648ce3d020106052b8104002303800004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1007
+# removing sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1008
+# removing sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1009
+# lonely sequence tag
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1010
+# lonely sequence tag
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30818a300381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1011
+# appending 0's to sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1012
+# appending 0's to sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1013
+# prepending 0's to sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d0000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1014
+# prepending 0's to sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d3012000006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1015
+# appending unused 0's to sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1016
+# appending unused 0's to sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1017
+# appending null value to sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1018
+# appending null value to sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206072a8648ce3d020106052b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1019
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a149817730819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1020
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a0250030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1021
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1022
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a03015498177301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1023
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f30142500301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1024
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a33012301006072a8648ce3d020106052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1025
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a03015260c49817706072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1026
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f3014260b250006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1027
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a33018260906072a8648ce3d02010004deadbeef06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1028
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a0301506072a8648ce3d0201260a49817706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1029
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f301406072a8648ce3d02012609250006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1030
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a3301806072a8648ce3d0201260706052b810400230004deadbeef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1031
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a1301006072a8648ce3d020106052b8104002323818c4981770381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1032
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a0301006072a8648ce3d020106052b8104002323818b25000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1033
+# including garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a4301006072a8648ce3d020106052b810400232381890381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500004deadbeef
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1034
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a4aa00bb00cd0030819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1035
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a2aa02aabb30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1036
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a33018aa00bb00cd00301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1037
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a13016aa02aabb301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1038
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a33018260faa00bb00cd0006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1039
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a13016260daa02aabb06072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1040
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a3301806072a8648ce3d0201260daa00bb00cd0006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1041
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a1301606072a8648ce3d0201260baa02aabb06052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1042
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a4301006072a8648ce3d020106052b8104002323818faa00bb00cd000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1043
+# including undefined tags
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a2301006072a8648ce3d020106052b8104002323818daa02aabb0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1044
+# truncated length of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1045
+# truncated length of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30818b30810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1046
+# Replacing sequence with NULL
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 0500
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1047
+# Replacing sequence with NULL
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30818b05000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1048
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 2e819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1049
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 2f819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1050
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 31819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1051
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 32819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1052
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = ff819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1053
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b2e1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1054
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b2f1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1055
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b311006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1056
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b321006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1057
+# changing tag value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819bff1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1058
+# dropping value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1059
+# dropping value of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30818b30000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1060
+# truncate sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1061
+# truncate sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a1006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1062
+# truncate sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a300f06072a8648ce3d020106052b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1063
+# truncate sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a300f072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1064
+# indefinite length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1065
+# indefinite length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d308006072a8648ce3d020106052b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1066
+# indefinite length with truncated delimiter
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1067
+# indefinite length with truncated delimiter
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819c308006072a8648ce3d020106052b81040023000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1068
+# indefinite length with additional element
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5005000000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1069
+# indefinite length with additional element
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f308006072a8648ce3d020106052b81040023050000000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1070
+# indefinite length with truncated element
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50060811220000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1071
+# indefinite length with truncated element
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a1308006072a8648ce3d020106052b810400230608112200000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1072
+# indefinite length with garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000fe02beef
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1073
+# indefinite length with garbage
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a1308006072a8648ce3d020106052b810400230000fe02beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1074
+# indefinite length with nonempty EOC
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3080301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500002beef
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1075
+# indefinite length with nonempty EOC
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f308006072a8648ce3d020106052b810400230002beef0381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1076
+# prepend empty sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d3000301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1077
+# prepend empty sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d3012300006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1078
+# append empty sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d503000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1079
+# append empty sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206072a8648ce3d020106052b8104002330000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1080
+# sequence of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819e30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1081
+# sequence of sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d3012301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1082
+# truncated sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3012301006072a8648ce3d020106052b81040023
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1083
+# truncated sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 308194300906072a8648ce3d02010381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1084
+# repeat element in sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30820124301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1085
+# repeat element in sequence
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a2301706072a8648ce3d020106052b8104002306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1086
+# long form encoding of length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819c30811006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1087
+# long form encoding of length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819c30110681072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1088
+# long form encoding of length
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819c301106072a8648ce3d02010681052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1089
+# removing oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 308192300706052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1090
+# lonely oid tag
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819330080606052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1091
+# lonely oid tag
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 308195300a06072a8648ce3d0201060381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1092
+# appending 0's to oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206092a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1093
+# appending 0's to oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206072a8648ce3d020106072b8104002300000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1094
+# prepending 0's to oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d3012060900002a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1095
+# prepending 0's to oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206072a8648ce3d0201060700002b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1096
+# appending unused 0's to oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206072a8648ce3d0201000006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1097
+# appending null value to oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206092a8648ce3d0201050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1098
+# appending null value to oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301206072a8648ce3d020106072b8104002305000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1099
+# truncated length of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081943009068106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1100
+# truncated length of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 308196300b06072a8648ce3d020106810381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1101
+# Replacing oid with NULL
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081943009050006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1102
+# Replacing oid with NULL
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 308196300b06072a8648ce3d020105000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1103
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301004072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1104
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301005072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1105
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301007072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1106
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301008072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1107
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b3010ff072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1108
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020104052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1109
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020105052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1110
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020107052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1111
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020108052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1112
+# changing tag value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d0201ff052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1113
+# dropping value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081943009060006052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1114
+# dropping value of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 308196300b06072a8648ce3d020106000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1115
+# modify first byte of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b30100607288648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1116
+# modify first byte of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d0201060529810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1117
+# modify last byte of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d028106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1118
+# modify last byte of oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400a30381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1119
+# truncate oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a300f06062a8648ce3d0206052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1120
+# truncate oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a300f06068648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1121
+# truncate oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a300f06072a8648ce3d020106042b8104000381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1122
+# truncate oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a300f06072a8648ce3d02010604810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1123
+# wrong oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819e3013060a3262306530333032316106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1124
+# wrong oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a6301b061236303836343830313635303330343032303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1125
+# wrong oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a0301506072a8648ce3d0201060a326230653033303231610381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1126
+# wrong oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a8301d06072a8648ce3d020106123630383634383031363530333034303230310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1127
+# longer oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a4301906103261383634386365336430323031303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1128
+# longer oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a2301706072a8648ce3d0201060c3262383130343030323330310381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1129
+# oid with modified node
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a23017060e326138363438636533643032313106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1130
+# oid with modified node
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081aa301f06163261383634386365336430323838383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1131
+# oid with modified node
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a0301506072a8648ce3d0201060a326238313034303033330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1132
+# oid with modified node
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a8301d06072a8648ce3d020106123262383130343030383838303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1133
+# large integer in oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081b430290620326138363438636533643032383238303830383038303830383038303830303106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1134
+# large integer in oid
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081b2302706072a8648ce3d0201061c326238313034303038323830383038303830383038303830383032330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1135
+# oid with invalid node
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a5301a0611326138363438636533643032303165303306052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1136
+# oid with invalid node
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819c301106082a808648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1137
+# oid with invalid node
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3081a3301806072a8648ce3d0201060d326238313034303032336530330381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1138
+# oid with invalid node
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819c301106072a8648ce3d020106062b80810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1139
+# lonely bit string tag
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3013301006072a8648ce3d020106052b8104002303
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1140
+# appending 0's to bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500000
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1141
+# prepending 0's to bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301006072a8648ce3d020106052b8104002303818800000004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1142
+# appending null value to bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819d301006072a8648ce3d020106052b810400230381880004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d500500
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1143
+# truncated length of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3014301006072a8648ce3d020106052b810400230381
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1144
+# Replacing bit string with NULL
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3014301006072a8648ce3d020106052b810400230500
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1145
+# changing tag value of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230181860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1146
+# changing tag value of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230281860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1147
+# changing tag value of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230481860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1148
+# changing tag value of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230581860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1149
+# changing tag value of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b81040023ff81860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1150
+# dropping value of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3014301006072a8648ce3d020106052b810400230300
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1151
+# modify first byte of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230381860204017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1152
+# modify last byte of bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230381860004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32dd0
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1153
+# truncate bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a301006072a8648ce3d020106052b810400230381850004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1154
+# truncate bit string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819a301006072a8648ce3d020106052b8104002303818504017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1155
+# declaring bits as unused in a bit-string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230381860104017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1156
+# unused bits in a bit-string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819f301006072a8648ce3d020106052b8104002303818a2004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d5001020304
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1157
+# unused bits in empty bit-string
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 3015301006072a8648ce3d020106052b81040023030103
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
+# tcId = 1158
+# 128 unused bits
+curve = secp521r1
+private = 18c3c384368133e46c99ad2421ff44eed459b5d209cb2aa70b09bd7d38cc6225164a9815dff6d69afbf49f80da22f6ea33454b6544b69b3330008c6a22259f9f9e5
+public = 30819b301006072a8648ce3d020106052b810400230381868004017ee16985c3678234d272913682a7c122b35c1c5011d1933bb7b08c8b883afcf469453079e2ef02a724a6ddbe25ee3b2e63007dd2838c5bb00fa1ff8fd18cf81eaa01116ce049d63f22f71c7d11c0acd67cacd1b4ea0125bd48e872dc5cc9fc4073b7c844c4b42223483b4aa8402b198d981dc8b7aba048749b4a0496e2537d3cc32d50
+result = acceptable
+shared = 00d397252813d37329b9e277823e2dfccdd1ee519f0c32ccbb3f5fc62062e8c07dbf3fb86085736115b70f86f44ad852f3488ecbb5e7ec31e961e869b40b6add05f5
+# The public key in this test uses an invalid ASN encoding. Some cases where the
+# ASN parser is not strictly checking the ASN format are benign as long as the
+# ECDH computation still returns the correct shared value.
+
diff --git a/src/third_party/wycheproof/ecdh_webcrypto_test.json b/src/third_party/wycheproof_testvectors/ecdh_webcrypto_test.json
similarity index 98%
rename from src/third_party/wycheproof/ecdh_webcrypto_test.json
rename to src/third_party/wycheproof_testvectors/ecdh_webcrypto_test.json
index 20678cb..e80ad8e 100644
--- a/src/third_party/wycheproof/ecdh_webcrypto_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdh_webcrypto_test.json
@@ -1,20 +1,23 @@
 {
   "algorithm" : "ECDH",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 148,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "AddSubChain" : "The private key has a special value. Implementations using addition subtraction chains for the point multiplication may get the point at infinity as an intermediate result. See CVE_2017_10176",
     "CVE_2017_10176" : "This test vector leads to an EC point multiplication where an intermediate result can be the point at infinity, if addition-subtraction chains are used to speed up the point multiplication.",
+    "InvalidPublic" : "The public key has been modified and is invalid. An implementation should always check whether the public key is valid and on the same curve as the private key. The test vector includes the shared secret computed with the original public key. Generating a shared secret other than the one with the original key likely indicates that the bug is exploitable.",
     "ModifiedPrime" : "The modulus of the public key has been modified. The public point of the public key has been chosen so that it is both a point on both the curve of the modified public key and the private key.",
     "UnnamedCurve" : "The public key does not use a named curve. RFC 3279 allows to encode such curves by explicitly encoding, the parameters of the curve equation, modulus, generator, order and cofactor. However, many crypto libraries only support named curves. Modifying some of the EC parameters and encoding the corresponding public key as an unnamed curve is a potential attack vector.",
     "UnusedParam" : "A parameter that is typically not used for ECDH has been modified. Sometimes libraries ignore small differences between public and private key. For example, a library might ignore an incorrect cofactor in the public key. We consider ignoring such changes as acceptable as long as these differences do not change the outcome of the ECDH computation, i.e. as long as the computation is done on the curve from the private key.",
     "WeakPublicKey" : "The vector contains a weak public key. The curve is not a named curve, the public key point has order 3 and has been chosen to be on the same curve as the private key. This test vector is used to check ECC implementations for missing steps in the verification of the public key.",
     "WrongOrder" : "The order of the public key has been modified. If this order is used in a cryptographic primitive instead of the correct order then private keys may leak. E.g. ECDHC in BC 1.52 suffered from this."
   },
+  "numberOfTests" : 148,
   "header" : [],
   "testGroups" : [
     {
       "curve" : "P-256",
+      "encoding" : "webcrypto",
+      "type" : "ECHDComp",
       "tests" : [
         {
           "tcId" : 1,
@@ -1011,9 +1014,11 @@
             "x" : "Qd7jCiJE2SAcpk1v0t0Sa3CVNp5nOuyqpeBCMIUonV0",
             "y" : "TRc1uShB5308iyBk3tLD1l2GkvCgVFJl322i5SuUock"
           },
-          "shared" : "",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "InvalidPublic"
+          ]
         },
         {
           "tcId" : 44,
@@ -1034,13 +1039,15 @@
             "x" : "Qd7jCiJE2SAcpk1v0t0Sa3CVNp5nOuyqpeBCMIUonV0",
             "y" : "TRc1uShB5308iyBk3tLD1l2GkvCgVFJl322i5SuUock"
           },
-          "shared" : "",
+          "shared" : "d003f5cc83852584061f7a8a28bcb5671ecbda096e16e7accfa8f8d311a3db7a",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "InvalidPublic"
+          ]
         },
         {
           "tcId" : 45,
-          "comment" : "Private key and public key are not on the same curve",
+          "comment" : "Public key uses wrong curve: secp384r1",
           "curve" : "P-256",
           "public" : {
             "crv" : "P-384",
@@ -1063,7 +1070,7 @@
         },
         {
           "tcId" : 46,
-          "comment" : "Private key and public key are not on the same curve",
+          "comment" : "Public key uses wrong curve: secp521r1",
           "curve" : "P-256",
           "public" : {
             "crv" : "P-521",
@@ -1088,6 +1095,8 @@
     },
     {
       "curve" : "P-384",
+      "encoding" : "webcrypto",
+      "type" : "ECHDComp",
       "tests" : [
         {
           "tcId" : 47,
@@ -2080,9 +2089,11 @@
             "x" : "Zc5rnX5x6TG2_R-skQUHtDd6wV5FMpKiNV3zmrdByjYpe_bePDSlr7utNxgGuJHy",
             "y" : "SwiLxdFGRqdPPvz-o54S4rX1brvdUD1ej-4_wwDXUJuqIrZo2_H9JBgHCrQKB9n2"
           },
-          "shared" : "",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "InvalidPublic"
+          ]
         },
         {
           "tcId" : 90,
@@ -2103,9 +2114,11 @@
             "x" : "Zc5rnX5x6TG2_R-skQUHtDd6wV5FMpKiNV3zmrdByjYpe_bePDSlr7utNxgGuJHy",
             "y" : "SwiLxdFGRqdPPvz-o54S4rX1brvdUD1ej-4_wwDXUJuqIrZo2_H9JBgHCrQKB9n2"
           },
-          "shared" : "",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "InvalidPublic"
+          ]
         },
         {
           "tcId" : 91,
@@ -2126,13 +2139,15 @@
             "x" : "Zc5rnX5x6TG2_R-skQUHtDd6wV5FMpKiNV3zmrdByjYpe_bePDSlr7utNxgGuJHy",
             "y" : "SwiLxdFGRqdPPvz-o54S4rX1brvdUD1ej-4_wwDXUJuqIrZo2_H9JBgHCrQKB9n2"
           },
-          "shared" : "",
+          "shared" : "455cf3c0b0090688599825522ef3312878201514f6330ccc7f42ec1945204adfe419b2dbbfb942dc98b16d8323150cf6",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "InvalidPublic"
+          ]
         },
         {
           "tcId" : 92,
-          "comment" : "Private key and public key are not on the same curve",
+          "comment" : "Public key uses wrong curve: secp256r1",
           "curve" : "P-384",
           "public" : {
             "crv" : "P-256",
@@ -2155,7 +2170,7 @@
         },
         {
           "tcId" : 93,
-          "comment" : "Private key and public key are not on the same curve",
+          "comment" : "Public key uses wrong curve: secp521r1",
           "curve" : "P-384",
           "public" : {
             "crv" : "P-521",
@@ -2180,6 +2195,8 @@
     },
     {
       "curve" : "P-521",
+      "encoding" : "webcrypto",
+      "type" : "ECHDComp",
       "tests" : [
         {
           "tcId" : 94,
@@ -3364,9 +3381,11 @@
             "x" : "Aep4GB4E9ID9mJ4FlkJEYTt_emN5q_CBkyep9a3vpvRBB0UCi_GkaoAx_scAN-vLUH29j1C4EqS8wDE7p98Cx9NV",
             "y" : "AeBFX-bOHqmYxzl1aUjPonu4sangygpQJjGDb5bg9d9mnLPKP298D5JAs9h-F0Fhs7BNg5q2_kbyRb1iZQXvS0FU"
           },
-          "shared" : "",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "InvalidPublic"
+          ]
         },
         {
           "tcId" : 145,
@@ -3387,9 +3406,11 @@
             "x" : "Aep4GB4E9ID9mJ4FlkJEYTt_emN5q_CBkyep9a3vpvRBB0UCi_GkaoAx_scAN-vLUH29j1C4EqS8wDE7p98Cx9NV",
             "y" : "AeBFX-bOHqmYxzl1aUjPonu4sangygpQJjGDb5bg9d9mnLPKP298D5JAs9h-F0Fhs7BNg5q2_kbyRb1iZQXvS0FU"
           },
-          "shared" : "",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "InvalidPublic"
+          ]
         },
         {
           "tcId" : 146,
@@ -3410,13 +3431,15 @@
             "x" : "Aep4GB4E9ID9mJ4FlkJEYTt_emN5q_CBkyep9a3vpvRBB0UCi_GkaoAx_scAN-vLUH29j1C4EqS8wDE7p98Cx9NV",
             "y" : "AeBFX-bOHqmYxzl1aUjPonu4sangygpQJjGDb5bg9d9mnLPKP298D5JAs9h-F0Fhs7BNg5q2_kbyRb1iZQXvS0FU"
           },
-          "shared" : "",
+          "shared" : "00fb8542487cbd45e609632f681db6b48fdabed9b97a2467a34205eadadad9dedb54a2a647d23dca68e929a2041888b091f4bb4023a0517be669a6c9f9c847ef89de",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "InvalidPublic"
+          ]
         },
         {
           "tcId" : 147,
-          "comment" : "Private key and public key are not on the same curve",
+          "comment" : "Public key uses wrong curve: secp256r1",
           "curve" : "P-521",
           "public" : {
             "crv" : "P-256",
@@ -3439,7 +3462,7 @@
         },
         {
           "tcId" : 148,
-          "comment" : "Private key and public key are not on the same curve",
+          "comment" : "Public key uses wrong curve: secp384r1",
           "curve" : "P-521",
           "public" : {
             "crv" : "P-384",
diff --git a/src/third_party/wycheproof/ecdsa_brainpoolP224r1_sha224_test.json b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP224r1_sha224_test.json
similarity index 80%
rename from src/third_party/wycheproof/ecdsa_brainpoolP224r1_sha224_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_brainpoolP224r1_sha224_test.json
index 4239b3f..35856a4 100644
--- a/src/third_party/wycheproof/ecdsa_brainpoolP224r1_sha224_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP224r1_sha224_test.json
@@ -1,7 +1,6 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 326,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
@@ -9,20 +8,22 @@
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 359,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004572eab7376d052dfc40923db25342ea9cbfce4b8581e104a4c8f37c94a700ec5dc05a481b2b695320c6f1ad2dd8628633cdb75a91245c265",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFcuq3N20FLfxAkj2yU0LqnL/OS4\nWB4QSkyPN8lKcA7F3AWkgbK2lTIMbxrS3YYoYzzbdakSRcJl\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04572eab7376d052dfc40923db25342ea9cbfce4b8581e104a4c8f37c94a700ec5dc05a481b2b695320c6f1ad2dd8628633cdb75a91245c265",
         "wx" : "572eab7376d052dfc40923db25342ea9cbfce4b8581e104a4c8f37c9",
         "wy" : "4a700ec5dc05a481b2b695320c6f1ad2dd8628633cdb75a91245c265"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004572eab7376d052dfc40923db25342ea9cbfce4b8581e104a4c8f37c94a700ec5dc05a481b2b695320c6f1ad2dd8628633cdb75a91245c265",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFcuq3N20FLfxAkj2yU0LqnL/OS4\nWB4QSkyPN8lKcA7F3AWkgbK2lTIMbxrS3YYoYzzbdakSRcJl\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -36,7 +37,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303d021d00d4ee58357e6fc6288bbeda0858f6ee1d0ce1590e263f0e419c46208b021c30cb8303ba3bb01cf07f5bd3fd9bebc9edbf06606b7a715790cea0f8",
+          "sig" : "303d021d00a4daa12fdd490504e73b8c153fdcb8c22662138436abff8bea30d9b8021c4a5bbd7c0b0fd80f997e6083c3bbc5be75155d20530506cce9c5c37e",
           "result" : "valid",
           "flags" : []
         },
@@ -44,7 +45,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303c021c60ac28620ff7aebeafdecad41bf33f30dbb1cd75090b7899ec72dafa021c7e7aa45fdd0b023a3760046ca34f0e602b0f025e0bab6d1a6a474b4f",
+          "sig" : "303d021d00cd19d42fbafb75240fcdeefcb8bcce3ce2eba368852898a7a5efc558021c0cd76bf2517522792a5313d96c49e7bd6a7f6b06f9ad23b3c24fdd79",
           "result" : "valid",
           "flags" : []
         },
@@ -52,7 +53,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303d021c3882068e4c2a00a0d5e6ecc2d5c8361f967eb941b620ecf41150ce7a021d00b57dd94442067388935684cf9ee7825ed505b767708bb36ef0fdf0c0",
+          "sig" : "303d021d0082f2502739ac0e5f03bd07eda597458f567f6b1be62d9eae95ad65c0021c2f45e848e09bd70f65fd19749d406bfb97417ebf015ded7f2899ca1b",
           "result" : "valid",
           "flags" : []
         },
@@ -60,7 +61,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303c021c6ef36b8ef54e0153365902acdeaf4af78f2525743d8d941b700ac5de021c7127f4d83f4be641c7e929641a1c5e1bc79cde1ab857e91b2120e6cc",
+          "sig" : "303d021d00d2acc72e54b448535ea0ff3929d7a5fca6c21a59d049d187047188cb021c5c4d7786c1df7404f0de284c5f0f1d63e6da55aa97dd5fb71884fd1e",
           "result" : "valid",
           "flags" : []
         },
@@ -68,7 +69,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303d021d00be025ae1a255b8febaa0e45da32e2589d6e390c31c192443d0ad0f04021c47701271f1d8f3338ef40f565d6f44c4100a02061f1b2574b9fed264",
+          "sig" : "303d021c0c7e980100d3f39d7d9103b33d41a01a9bb7e39ca704c9febff12fd7021d00ccb090e7d6bb42293a2a8ee8ec97d282d3972f0baa4618a03cf28a2f",
           "result" : "valid",
           "flags" : []
         },
@@ -106,7 +107,9 @@
           "msg" : "313233343030",
           "sig" : "30813e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -114,7 +117,9 @@
           "msg" : "313233343030",
           "sig" : "303f02811d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -122,7 +127,9 @@
           "msg" : "313233343030",
           "sig" : "303f021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d302811d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -130,7 +137,9 @@
           "msg" : "313233343030",
           "sig" : "3082003e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -138,7 +147,9 @@
           "msg" : "313233343030",
           "sig" : "30400282001d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 15,
@@ -146,7 +157,9 @@
           "msg" : "313233343030",
           "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30282001d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 16,
@@ -398,6 +411,14 @@
         },
         {
           "tcId" : 47,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000",
@@ -405,7 +426,7 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
+          "tcId" : 49,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30400000021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -413,24 +434,16 @@
           "flags" : []
         },
         {
-          "tcId" : 49,
-          "comment" : "appending unused 0's",
+          "tcId" : 50,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 50,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30000021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 51,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100500",
           "result" : "invalid",
@@ -438,22 +451,6 @@
         },
         {
           "tcId" : 52,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3040021f00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30500021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021f00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3043498177303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -461,7 +458,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30422500303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -469,7 +466,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3040303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100004deadbeef",
@@ -477,7 +474,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30432222498177021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -485,7 +482,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304222212500021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -493,7 +490,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3046221f021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30004deadbeef021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -501,7 +498,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3043021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d32222498177021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -509,7 +506,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3042021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d322212500021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -517,7 +514,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3046021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3221f021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100004deadbeef",
@@ -525,7 +522,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3046aa00bb00cd00303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -533,7 +530,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3044aa02aabb303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -541,7 +538,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30462225aa00bb00cd00021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -549,7 +546,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30442223aa02aabb021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -557,7 +554,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3046021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d32225aa00bb00cd00021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -565,7 +562,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 66,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3044021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d32223aa02aabb021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -573,7 +570,15 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 67,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000",
@@ -581,7 +586,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30422280021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30000021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -589,7 +594,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3042021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d32280021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000",
@@ -597,7 +602,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080313e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000",
@@ -605,7 +610,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30422280031d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30000021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -613,7 +618,7 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
+          "tcId" : 73,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3042021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d32280031d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000",
@@ -621,7 +626,7 @@
           "flags" : []
         },
         {
-          "tcId" : 75,
+          "tcId" : 74,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -629,127 +634,47 @@
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e3e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f3e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "313e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "323e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 80,
-          "comment" : "changing tag value",
+          "tcId" : 79,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff3e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e001d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e011d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e031d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e041d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303eff1d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3001d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3011d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3031d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3041d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3ff1d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 91,
+          "tcId" : 80,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -757,31 +682,15 @@
           "flags" : []
         },
         {
-          "tcId" : 92,
-          "comment" : "using composition",
+          "tcId" : 81,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "3042300102303d1d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 93,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "30422221020100021ccb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3042021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d32221020100021cc424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "303d021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51",
@@ -789,7 +698,7 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "303d1d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -797,15 +706,17 @@
           "flags" : []
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "3080021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "3080021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d511000",
@@ -813,7 +724,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "3080021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d511005000000",
@@ -821,7 +732,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "3080021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110060811220000",
@@ -829,7 +740,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "3080021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000fe02beef",
@@ -837,7 +748,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "3080021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100002beef",
@@ -845,7 +756,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "30403000021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -853,7 +764,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51103000",
@@ -861,7 +772,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "3040303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -869,7 +780,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "301f021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3",
@@ -877,7 +788,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "305d021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -885,7 +796,7 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 95,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "301f021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -893,7 +804,23 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302002021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3020021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d302",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3040021f00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30000021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -901,7 +828,7 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021f00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100000",
@@ -909,23 +836,67 @@
           "flags" : []
         },
         {
-          "tcId" : 111,
+          "tcId" : 100,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3040021f000000cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 112,
+          "tcId" : 101,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021f000000c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30000021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3040021f00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30500021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3040021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021f00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51100500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30210281021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3021021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "30210500021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -933,7 +904,7 @@
           "flags" : []
         },
         {
-          "tcId" : 114,
+          "tcId" : 108,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3021021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30500",
@@ -941,7 +912,87 @@
           "flags" : []
         },
         {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e001d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e011d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e031d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e041d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303eff1d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3001d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3011d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3031d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3041d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3ff1d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "30210200021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -949,7 +1000,7 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 120,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3021021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d30200",
@@ -957,7 +1008,23 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "30422221020100021ccb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3042021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d32221020100021cc424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "303e021d02cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -965,7 +1032,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d02c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -973,7 +1040,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af263146004896153021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -981,7 +1048,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5190",
@@ -989,7 +1056,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303d021c00cb68ac9765c7641785df237e9951e1429581879af2631460048961021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -997,7 +1064,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303d021ccb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -1005,7 +1072,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303d021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021c00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d51",
@@ -1013,7 +1080,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303d021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021cc424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -1021,7 +1088,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "303f021eff00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -1029,7 +1096,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "303f021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021eff00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -1037,7 +1104,7 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
+          "tcId" : 133,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3022090180021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
@@ -1045,7 +1112,7 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
+          "tcId" : 134,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3022021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3090180",
@@ -1053,66 +1120,18 @@
           "flags" : []
         },
         {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021d01a329e1418c0aca9daff753a40f22dcdb669843e66041d103aa30f572021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303d021cf3a777ed3f83fd915bc6f3592380e5a9c46acb4f848457bc5ee1ce34021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021dff349753689a389be87a20dc8166ae1ebd6a7e78650d9ceb9ffb769e2d021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303d021c0c588812c07c026ea4390ca6dc7f1a563b9534b07b7ba843a11e31cc021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021dfe5cd61ebe73f535625008ac5bf0dd23249967bc199fbe2efc55cf0a8e021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021d01cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 135,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "303d021c349753689a389be87a20dc8166ae1ebd6a7e78650d9ceb9ffb769e2d021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "sig" : "3022020100021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 136,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d019be5f1301218962b2f5a6a69a0553ebc576f8686ea187771e4e4e4af",
+          "sig" : "3022021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1120,7 +1139,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021cec6387dbc591c91edb2a0a1eb4b3478ab5420df00e5afe2a9995bd71",
+          "sig" : "303e021d01a329e1418c0aca9daff753a40f22dcdb669843e66041d103aa30f572021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
@@ -1128,7 +1147,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021dff3bdb437a142ad05afabdc5bbd57bbcdc79a735c483c64531c0c2aef0",
+          "sig" : "303d021cf3a777ed3f83fd915bc6f3592380e5a9c46acb4f848457bc5ee1ce34021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
@@ -1136,7 +1155,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021dfe641a0ecfede769d4d0a595965faac143a890797915e7888e1b1b1b51",
+          "sig" : "303e021dff349753689a389be87a20dc8166ae1ebd6a7e78650d9ceb9ffb769e2d021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
@@ -1144,7 +1163,7 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d01c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "sig" : "303d021c0c588812c07c026ea4390ca6dc7f1a563b9534b07b7ba843a11e31cc021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
@@ -1152,12 +1171,76 @@
           "tcId" : 141,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021c3bdb437a142ad05afabdc5bbd57bbcdc79a735c483c64531c0c2aef0",
+          "sig" : "303e021dfe5cd61ebe73f535625008ac5bf0dd23249967bc199fbe2efc55cf0a8e021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d01cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c349753689a389be87a20dc8166ae1ebd6a7e78650d9ceb9ffb769e2d021d00c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d019be5f1301218962b2f5a6a69a0553ebc576f8686ea187771e4e4e4af",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021cec6387dbc591c91edb2a0a1eb4b3478ab5420df00e5afe2a9995bd71",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021dff3bdb437a142ad05afabdc5bbd57bbcdc79a735c483c64531c0c2aef0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021dfe641a0ecfede769d4d0a595965faac143a890797915e7888e1b1b1b51",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021d01c424bc85ebd52fa505423a442a8443238658ca3b7c39bace3f3d5110",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021d00cb68ac9765c7641785df237e9951e1429581879af2631460048961d3021c3bdb437a142ad05afabdc5bbd57bbcdc79a735c483c64531c0c2aef0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1167,7 +1250,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1177,7 +1260,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1187,7 +1270,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
@@ -1197,7 +1280,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
@@ -1207,7 +1290,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
@@ -1217,7 +1300,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
@@ -1227,7 +1310,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
@@ -1237,7 +1320,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1247,7 +1330,7 @@
           ]
         },
         {
-          "tcId" : 151,
+          "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1257,90 +1340,10 @@
           ]
         },
         {
-          "tcId" : 152,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 153,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 154,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3022020101021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 155,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3022020101021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 156,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3022020101021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 157,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3022020101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 158,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3022020101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 159,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020100",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1350,7 +1353,7 @@
           "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020101",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1360,7 +1363,7 @@
           "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
+          "sig" : "3022020101021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1370,7 +1373,7 @@
           "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30220201ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
+          "sig" : "3022020101021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1380,7 +1383,7 @@
           "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30220201ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
+          "sig" : "3022020101021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1390,7 +1393,7 @@
           "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30220201ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
+          "sig" : "3022020101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1400,7 +1403,7 @@
           "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30220201ff021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
+          "sig" : "3022020101021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1410,7 +1413,7 @@
           "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30220201ff021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1420,7 +1423,7 @@
           "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1430,7 +1433,7 @@
           "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020100",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1440,7 +1443,7 @@
           "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1450,7 +1453,7 @@
           "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f0201ff",
+          "sig" : "30220201ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1460,7 +1463,7 @@
           "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
+          "sig" : "30220201ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1470,7 +1473,7 @@
           "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
+          "sig" : "30220201ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1480,7 +1483,7 @@
           "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
+          "sig" : "30220201ff021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1490,7 +1493,7 @@
           "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
+          "sig" : "30220201ff021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1500,7 +1503,7 @@
           "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1510,7 +1513,7 @@
           "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3024021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f090380fe01",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1520,7 +1523,7 @@
           "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e020100",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1530,7 +1533,7 @@
           "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e020101",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1540,7 +1543,7 @@
           "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e0201ff",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1550,7 +1553,7 @@
           "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1560,7 +1563,7 @@
           "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1570,7 +1573,7 @@
           "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1580,7 +1583,7 @@
           "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1590,7 +1593,7 @@
           "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
+          "sig" : "3024021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1600,7 +1603,7 @@
           "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3024021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e090380fe01",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1610,7 +1613,7 @@
           "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0020100",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1620,7 +1623,7 @@
           "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0020101",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1630,7 +1633,7 @@
           "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a00201ff",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1640,7 +1643,7 @@
           "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1650,7 +1653,7 @@
           "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1660,7 +1663,7 @@
           "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1670,7 +1673,7 @@
           "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1680,7 +1683,7 @@
           "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
+          "sig" : "3024021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1690,7 +1693,7 @@
           "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3024021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0090380fe01",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1700,7 +1703,7 @@
           "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff020100",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1710,7 +1713,7 @@
           "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff020101",
+          "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a00201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1720,7 +1723,7 @@
           "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff0201ff",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1730,7 +1733,7 @@
           "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1740,7 +1743,7 @@
           "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1750,7 +1753,7 @@
           "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1760,7 +1763,7 @@
           "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
+          "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1770,7 +1773,7 @@
           "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
+          "sig" : "3024021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1780,7 +1783,7 @@
           "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3024021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff090380fe01",
+          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1790,7 +1793,7 @@
           "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100020100",
+          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1800,7 +1803,7 @@
           "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100020101",
+          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1810,7 +1813,7 @@
           "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c1000201ff",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1820,7 +1823,7 @@
           "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1830,7 +1833,7 @@
           "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1840,7 +1843,7 @@
           "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1850,7 +1853,7 @@
           "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1860,7 +1863,7 @@
           "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
+          "sig" : "3024021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1870,7 +1873,7 @@
           "tcId" : 213,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3024021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100090380fe01",
+          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1878,6 +1881,86 @@
         },
         {
           "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c1000201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3024021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c100090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 222,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3935333838",
           "sig" : "303d021c0e7ecab2276f035c0dc70520ebd5ae3cb7b7a8f21fa5687eee92c462021d0085a85332f8c899b53d43091b02e6956b391817e175a8b1f40dca7e00",
@@ -1887,20 +1970,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a0ef7db1bee0aedb5a5634f4f3b1b88d97d2a07f806a718efe19014daee1043f9e929c32d74ab0e4eeba2623f17ba281b6be87745b59f60e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABKDvfbG+4K7bWlY09POxuI2X0qB/\ngGpxjv4ZAU2u4QQ/npKcMtdKsOTuuiYj8Xuigba+h3RbWfYO\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a0ef7db1bee0aedb5a5634f4f3b1b88d97d2a07f806a718efe19014daee1043f9e929c32d74ab0e4eeba2623f17ba281b6be87745b59f60e",
         "wx" : "0a0ef7db1bee0aedb5a5634f4f3b1b88d97d2a07f806a718efe19014d",
         "wy" : "0aee1043f9e929c32d74ab0e4eeba2623f17ba281b6be87745b59f60e"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a0ef7db1bee0aedb5a5634f4f3b1b88d97d2a07f806a718efe19014daee1043f9e929c32d74ab0e4eeba2623f17ba281b6be87745b59f60e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABKDvfbG+4K7bWlY09POxuI2X0qB/\ngGpxjv4ZAU2u4QQ/npKcMtdKsOTuuiYj8Xuigba+h3RbWfYO\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "3030020f00dbeedf884b0c29fbcd51d9212d5f021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939c",
@@ -1908,7 +1992,7 @@
           "flags" : []
         },
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "303e021d00d7c134aa264366862a18302575d1d787b09f075797da89f57ec8c0fe021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939c",
@@ -1918,20 +2002,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043adda407bad7f593e83d7d484fd14c23dda17f8d460c222aa7257577cd62443b2b770291f65904dacf75ff975f1a667187e0e4f50c14889c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABDrdpAe61/WT6D19SE/RTCPdoX+N\nRgwiKqcldXfNYkQ7K3cCkfZZBNrPdf+XXxpmcYfg5PUMFIic\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043adda407bad7f593e83d7d484fd14c23dda17f8d460c222aa7257577cd62443b2b770291f65904dacf75ff975f1a667187e0e4f50c14889c",
         "wx" : "3adda407bad7f593e83d7d484fd14c23dda17f8d460c222aa7257577",
         "wy" : "0cd62443b2b770291f65904dacf75ff975f1a667187e0e4f50c14889c"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043adda407bad7f593e83d7d484fd14c23dda17f8d460c222aa7257577cd62443b2b770291f65904dacf75ff975f1a667187e0e4f50c14889c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABDrdpAe61/WT6D19SE/RTCPdoX+N\nRgwiKqcldXfNYkQ7K3cCkfZZBNrPdf+XXxpmcYfg5PUMFIic\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "303e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939e021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7939d",
@@ -1941,20 +2026,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000424587ce1dbff281dcab1794519806281ad4e0997492510677fb651069296996e83b808676cbf6f28c92b84303314b63a0308134f222d0ec2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCRYfOHb/ygdyrF5RRmAYoGtTgmX\nSSUQZ3+2UQaSlplug7gIZ2y/byjJK4QwMxS2OgMIE08iLQ7C\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0424587ce1dbff281dcab1794519806281ad4e0997492510677fb651069296996e83b808676cbf6f28c92b84303314b63a0308134f222d0ec2",
         "wx" : "24587ce1dbff281dcab1794519806281ad4e0997492510677fb65106",
         "wy" : "09296996e83b808676cbf6f28c92b84303314b63a0308134f222d0ec2"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000424587ce1dbff281dcab1794519806281ad4e0997492510677fb651069296996e83b808676cbf6f28c92b84303314b63a0308134f222d0ec2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCRYfOHb/ygdyrF5RRmAYoGtTgmX\nSSUQZ3+2UQaSlplug7gIZ2y/byjJK4QwMxS2OgMIE08iLQ7C\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c63f0e34258bb9061547906d0c3827c504422c139e6d6e1078b37aa44",
@@ -1964,20 +2050,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c45c51d5a9b213e41ca6f15cb8aa1bc0b8b73d3a8a23a14f5a3da4dfbc78cc6176d3b831e68800671768043c11bf63a695918df6ec87378a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMRcUdWpshPkHKbxXLiqG8C4tz06\niiOhT1o9pN+8eMxhdtO4MeaIAGcXaAQ8Eb9jppWRjfbshzeK\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c45c51d5a9b213e41ca6f15cb8aa1bc0b8b73d3a8a23a14f5a3da4dfbc78cc6176d3b831e68800671768043c11bf63a695918df6ec87378a",
         "wx" : "0c45c51d5a9b213e41ca6f15cb8aa1bc0b8b73d3a8a23a14f5a3da4df",
         "wy" : "0bc78cc6176d3b831e68800671768043c11bf63a695918df6ec87378a"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c45c51d5a9b213e41ca6f15cb8aa1bc0b8b73d3a8a23a14f5a3da4dfbc78cc6176d3b831e68800671768043c11bf63a695918df6ec87378a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMRcUdWpshPkHKbxXLiqG8C4tz06\niiOhT1o9pN+8eMxhdtO4MeaIAGcXaAQ8Eb9jppWRjfbshzeK\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c6eb1fbfa8df87d4fa10c833f7dd1bbe7ef0144ff71537975378f91ec",
@@ -1987,20 +2074,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000436a5344da08a421edc6c3beb7de97a7559fc101c1489ff2b5036d8f6207bf4666e4df606bd0d9823a52b58ddfdfc1da70513c5f9990f8085",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABDalNE2gikIe3Gw7633penVZ/BAc\nFIn/K1A22PYge/Rmbk32Br0NmCOlK1jd/fwdpwUTxfmZD4CF\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0436a5344da08a421edc6c3beb7de97a7559fc101c1489ff2b5036d8f6207bf4666e4df606bd0d9823a52b58ddfdfc1da70513c5f9990f8085",
         "wx" : "36a5344da08a421edc6c3beb7de97a7559fc101c1489ff2b5036d8f6",
         "wy" : "207bf4666e4df606bd0d9823a52b58ddfdfc1da70513c5f9990f8085"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000436a5344da08a421edc6c3beb7de97a7559fc101c1489ff2b5036d8f6207bf4666e4df606bd0d9823a52b58ddfdfc1da70513c5f9990f8085",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABDalNE2gikIe3Gw7633penVZ/BAc\nFIn/K1A22PYge/Rmbk32Br0NmCOlK1jd/fwdpwUTxfmZD4CF\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -2010,20 +2098,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044095c095a9648951da352b837f368e0be67d79fd57eadfffeddfb455ccdcfabea19e96d4d20e42b8ae23c2519426018e25a64dea85d8a68b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABECVwJWpZIlR2jUrg382jgvmfXn9\nV+rf/+3ftFXM3Pq+oZ6W1NIOQriuI8JRlCYBjiWmTeqF2KaL\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044095c095a9648951da352b837f368e0be67d79fd57eadfffeddfb455ccdcfabea19e96d4d20e42b8ae23c2519426018e25a64dea85d8a68b",
         "wx" : "4095c095a9648951da352b837f368e0be67d79fd57eadfffeddfb455",
         "wy" : "0ccdcfabea19e96d4d20e42b8ae23c2519426018e25a64dea85d8a68b"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044095c095a9648951da352b837f368e0be67d79fd57eadfffeddfb455ccdcfabea19e96d4d20e42b8ae23c2519426018e25a64dea85d8a68b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABECVwJWpZIlR2jUrg382jgvmfXn9\nV+rf/+3ftFXM3Pq+oZ6W1NIOQriuI8JRlCYBjiWmTeqF2KaL\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -2033,20 +2122,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004cc352ac48aacb6495ec3831b21ccd4d3197136292bf6f20f2280256664321991e67f7dbc22602ecbdb3122edce5ff85d923143cecc0d4f6d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMw1KsSKrLZJXsODGyHM1NMZcTYp\nK/byDyKAJWZkMhmR5n99vCJgLsvbMSLtzl/4XZIxQ87MDU9t\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cc352ac48aacb6495ec3831b21ccd4d3197136292bf6f20f2280256664321991e67f7dbc22602ecbdb3122edce5ff85d923143cecc0d4f6d",
         "wx" : "0cc352ac48aacb6495ec3831b21ccd4d3197136292bf6f20f22802566",
         "wy" : "64321991e67f7dbc22602ecbdb3122edce5ff85d923143cecc0d4f6d"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004cc352ac48aacb6495ec3831b21ccd4d3197136292bf6f20f2280256664321991e67f7dbc22602ecbdb3122edce5ff85d923143cecc0d4f6d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMw1KsSKrLZJXsODGyHM1NMZcTYp\nK/byDyKAJWZkMhmR5n99vCJgLsvbMSLtzl/4XZIxQ87MDU9t\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -2054,7 +2144,7 @@
           "flags" : []
         },
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3022021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a0020103",
@@ -2064,20 +2154,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00049148f29c67f83c705eefb59c92954775f90c15e225da2e996abcdd1dc9db1aa1e15277c4555d24118239e53fd2f0b5e7ea807eb3de1ee350",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABJFI8pxn+DxwXu+1nJKVR3X5DBXi\nJdoumWq83R3J2xqh4VJ3xFVdJBGCOeU/0vC15+qAfrPeHuNQ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "049148f29c67f83c705eefb59c92954775f90c15e225da2e996abcdd1dc9db1aa1e15277c4555d24118239e53fd2f0b5e7ea807eb3de1ee350",
         "wx" : "09148f29c67f83c705eefb59c92954775f90c15e225da2e996abcdd1d",
         "wy" : "0c9db1aa1e15277c4555d24118239e53fd2f0b5e7ea807eb3de1ee350"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00049148f29c67f83c705eefb59c92954775f90c15e225da2e996abcdd1dc9db1aa1e15277c4555d24118239e53fd2f0b5e7ea807eb3de1ee350",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABJFI8pxn+DxwXu+1nJKVR3X5DBXi\nJdoumWq83R3J2xqh4VJ3xFVdJBGCOeU/0vC15+qAfrPeHuNQ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3022020101021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5ba6a26",
@@ -2087,20 +2178,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00049bf045a43a5f14d5e412ee181f111d6e53961120531f3c50ca701e78be9eb95146f4f2be96949976a7aa49d31593a7da2edd907652398c3a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABJvwRaQ6XxTV5BLuGB8RHW5TlhEg\nUx88UMpwHni+nrlRRvTyvpaUmXanqknTFZOn2i7dkHZSOYw6\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "049bf045a43a5f14d5e412ee181f111d6e53961120531f3c50ca701e78be9eb95146f4f2be96949976a7aa49d31593a7da2edd907652398c3a",
         "wx" : "09bf045a43a5f14d5e412ee181f111d6e53961120531f3c50ca701e78",
         "wy" : "0be9eb95146f4f2be96949976a7aa49d31593a7da2edd907652398c3a"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00049bf045a43a5f14d5e412ee181f111d6e53961120531f3c50ca701e78be9eb95146f4f2be96949976a7aa49d31593a7da2edd907652398c3a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABJvwRaQ6XxTV5BLuGB8RHW5TlhEg\nUx88UMpwHni+nrlRRvTyvpaUmXanqknTFZOn2i7dkHZSOYw6\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "302302020102021d009dfe5cfd9b02fe7a6f747bf31dd581d0a93cfecc66a1173d611dfd3c",
@@ -2110,20 +2202,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000487739e2821ed9567e88702fa8c6d083c97c1f3f1eb32d13f751fb0736d02eba05e8cb94672d09ebc11051d52ec7bd4dc7767301b67034212",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIdznigh7ZVn6IcC+oxtCDyXwfPx\n6zLRP3UfsHNtAuugXoy5RnLQnrwRBR1S7HvU3HdnMBtnA0IS\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0487739e2821ed9567e88702fa8c6d083c97c1f3f1eb32d13f751fb0736d02eba05e8cb94672d09ebc11051d52ec7bd4dc7767301b67034212",
         "wx" : "087739e2821ed9567e88702fa8c6d083c97c1f3f1eb32d13f751fb073",
         "wy" : "6d02eba05e8cb94672d09ebc11051d52ec7bd4dc7767301b67034212"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000487739e2821ed9567e88702fa8c6d083c97c1f3f1eb32d13f751fb0736d02eba05e8cb94672d09ebc11051d52ec7bd4dc7767301b67034212",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIdznigh7ZVn6IcC+oxtCDyXwfPx\n6zLRP3UfsHNtAuugXoy5RnLQnrwRBR1S7HvU3HdnMBtnA0IS\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "302702072d9b4d347952cc021c43e235748bd3b1bfa14c92234a90261acc3e9086810801a36746bcee",
@@ -2133,20 +2226,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00041a515cbe957bfc070e4c4a75d6fd5e7c15b1e255eb42fead06c9d2636252cc0d234318394df7db65b0a52e06953ca6c21ec95774d39efdc9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABBpRXL6Ve/wHDkxKddb9XnwVseJV\n60L+rQbJ0mNiUswNI0MYOU3322WwpS4GlTymwh7JV3TTnv3J\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041a515cbe957bfc070e4c4a75d6fd5e7c15b1e255eb42fead06c9d2636252cc0d234318394df7db65b0a52e06953ca6c21ec95774d39efdc9",
         "wx" : "1a515cbe957bfc070e4c4a75d6fd5e7c15b1e255eb42fead06c9d263",
         "wy" : "6252cc0d234318394df7db65b0a52e06953ca6c21ec95774d39efdc9"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00041a515cbe957bfc070e4c4a75d6fd5e7c15b1e255eb42fead06c9d2636252cc0d234318394df7db65b0a52e06953ca6c21ec95774d39efdc9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABBpRXL6Ve/wHDkxKddb9XnwVseJV\n60L+rQbJ0mNiUswNI0MYOU3322WwpS4GlTymwh7JV3TTnv3J\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "302e020d1033e67e37b32b445580bf4efb021d00a8bdf46532d8136beb21dbf178090c7e7dad2caa8eb52cef8d830fd8",
@@ -2156,20 +2250,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d6a16e194e12b96db8e1bb0250d950f7b3129b14bba0efb157c4423e625a0c8c20838bd97fbc89f1670028754a09ad28f62de5eea6e07bc1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABNahbhlOErltuOG7AlDZUPezEpsU\nu6DvsVfEQj5iWgyMIIOL2X+8ifFnACh1SgmtKPYt5e6m4HvB\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d6a16e194e12b96db8e1bb0250d950f7b3129b14bba0efb157c4423e625a0c8c20838bd97fbc89f1670028754a09ad28f62de5eea6e07bc1",
         "wx" : "0d6a16e194e12b96db8e1bb0250d950f7b3129b14bba0efb157c4423e",
         "wy" : "625a0c8c20838bd97fbc89f1670028754a09ad28f62de5eea6e07bc1"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d6a16e194e12b96db8e1bb0250d950f7b3129b14bba0efb157c4423e625a0c8c20838bd97fbc89f1670028754a09ad28f62de5eea6e07bc1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABNahbhlOErltuOG7AlDZUPezEpsU\nu6DvsVfEQj5iWgyMIIOL2X+8ifFnACh1SgmtKPYt5e6m4HvB\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "302202020102021c73168a8994e5f71793081cb7afbe3c0af4bf7aa336cf9de31ef85314",
@@ -2179,20 +2274,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c012950d074bb01b0a1988a5b59b959104275baf757e53029b046a1542f50fe27f3ebac9036558ef30ebcb812027bf0ef46cda51969541bb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMASlQ0HS7AbChmIpbWblZEEJ1uv\ndX5TApsEahVC9Q/ifz66yQNlWO8w68uBICe/DvRs2lGWlUG7\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c012950d074bb01b0a1988a5b59b959104275baf757e53029b046a1542f50fe27f3ebac9036558ef30ebcb812027bf0ef46cda51969541bb",
         "wx" : "0c012950d074bb01b0a1988a5b59b959104275baf757e53029b046a15",
         "wy" : "42f50fe27f3ebac9036558ef30ebcb812027bf0ef46cda51969541bb"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c012950d074bb01b0a1988a5b59b959104275baf757e53029b046a1542f50fe27f3ebac9036558ef30ebcb812027bf0ef46cda51969541bb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMASlQ0HS7AbChmIpbWblZEEJ1uv\ndX5TApsEahVC9Q/ifz66yQNlWO8w68uBICe/DvRs2lGWlUG7\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "302d020d062522bbd3ecbe7c39e93e7c24021c73168a8994e5f71793081cb7afbe3c0af4bf7aa336cf9de31ef85314",
@@ -2202,20 +2298,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d15c13a1be99d9eb77d688104a18e24242d205a4026f4a65629e59ee7e3ddf9abbb7d532b6e81a6e11f30d5b55feb8ee707c4fedf99c0607",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABNFcE6G+mdnrd9aIEEoY4kJC0gWk\nAm9KZWKeWe5+Pd+au7fVMrboGm4R8w1bVf647nB8T+35nAYH\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d15c13a1be99d9eb77d688104a18e24242d205a4026f4a65629e59ee7e3ddf9abbb7d532b6e81a6e11f30d5b55feb8ee707c4fedf99c0607",
         "wx" : "0d15c13a1be99d9eb77d688104a18e24242d205a4026f4a65629e59ee",
         "wy" : "7e3ddf9abbb7d532b6e81a6e11f30d5b55feb8ee707c4fedf99c0607"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d15c13a1be99d9eb77d688104a18e24242d205a4026f4a65629e59ee7e3ddf9abbb7d532b6e81a6e11f30d5b55feb8ee707c4fedf99c0607",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABNFcE6G+mdnrd9aIEEoY4kJC0gWk\nAm9KZWKeWe5+Pd+au7fVMrboGm4R8w1bVf647nB8T+35nAYH\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "303d021d00d7c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a7931f021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a",
@@ -2225,20 +2322,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043fe01972c0622ea812d30652c9fe2febee708123b1626d744f87db0da572c7e1e3a48195e6221d983f782fdc9e7c55bd5fdf7b679b0f8756",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABD/gGXLAYi6oEtMGUsn+L+vucIEj\nsWJtdE+H2w2lcsfh46SBleYiHZg/eC/cnnxVvV/fe2ebD4dW\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043fe01972c0622ea812d30652c9fe2febee708123b1626d744f87db0da572c7e1e3a48195e6221d983f782fdc9e7c55bd5fdf7b679b0f8756",
         "wx" : "3fe01972c0622ea812d30652c9fe2febee708123b1626d744f87db0d",
         "wy" : "0a572c7e1e3a48195e6221d983f782fdc9e7c55bd5fdf7b679b0f8756"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043fe01972c0622ea812d30652c9fe2febee708123b1626d744f87db0da572c7e1e3a48195e6221d983f782fdc9e7c55bd5fdf7b679b0f8756",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABD/gGXLAYi6oEtMGUsn+L+vucIEj\nsWJtdE+H2w2lcsfh46SBleYiHZg/eC/cnnxVvV/fe2ebD4dW\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3021021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a020101",
@@ -2246,7 +2344,7 @@
           "flags" : []
         },
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3021021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a020100",
@@ -2256,20 +2354,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d4b6e5112406fb743b6bb55f49ea2030d904420831ebddacd67bba89652265384b75d850e7c27f4e33ed6c576df0ff969470a9ef25ffafcd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABNS25REkBvt0O2u1X0nqIDDZBEII\nMevdrNZ7uollImU4S3XYUOfCf04z7WxXbfD/lpRwqe8l/6/N\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d4b6e5112406fb743b6bb55f49ea2030d904420831ebddacd67bba89652265384b75d850e7c27f4e33ed6c576df0ff969470a9ef25ffafcd",
         "wx" : "0d4b6e5112406fb743b6bb55f49ea2030d904420831ebddacd67bba89",
         "wy" : "652265384b75d850e7c27f4e33ed6c576df0ff969470a9ef25ffafcd"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004d4b6e5112406fb743b6bb55f49ea2030d904420831ebddacd67bba89652265384b75d850e7c27f4e33ed6c576df0ff969470a9ef25ffafcd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABNS25REkBvt0O2u1X0nqIDDZBEII\nMevdrNZ7uollImU4S3XYUOfCf04z7WxXbfD/lpRwqe8l/6/N\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "303c021c6be09a551321b343150c1812bae87dcc688b5e25b6ef5e51d2d3c9cf021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a",
@@ -2279,20 +2378,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000455a7b0100613fabd957b42600835c6d42e01e04252593bdde3b1727887708a05aba2f93f1a1e1ecb703ec9a8ee6d6013a101d397012a8cce",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFWnsBAGE/q9lXtCYAg1xtQuAeBC\nUlk73eOxcniHcIoFq6L5PxoeHstwPsmo7m1gE6EB05cBKozO\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0455a7b0100613fabd957b42600835c6d42e01e04252593bdde3b1727887708a05aba2f93f1a1e1ecb703ec9a8ee6d6013a101d397012a8cce",
         "wx" : "55a7b0100613fabd957b42600835c6d42e01e04252593bdde3b17278",
         "wy" : "087708a05aba2f93f1a1e1ecb703ec9a8ee6d6013a101d397012a8cce"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000455a7b0100613fabd957b42600835c6d42e01e04252593bdde3b1727887708a05aba2f93f1a1e1ecb703ec9a8ee6d6013a101d397012a8cce",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFWnsBAGE/q9lXtCYAg1xtQuAeBC\nUlk73eOxcniHcIoFq6L5PxoeHstwPsmo7m1gE6EB05cBKozO\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "303c021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
@@ -2302,20 +2402,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00041ada54dc015861680d8bb2d311b90e82db75aa9e8217b92611fa03cb84c611551197298b3274875cb94686e758f0a1a9675c0bc157451a76",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABBraVNwBWGFoDYuy0xG5DoLbdaqe\nghe5JhH6A8uExhFVEZcpizJ0h1y5RobnWPChqWdcC8FXRRp2\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041ada54dc015861680d8bb2d311b90e82db75aa9e8217b92611fa03cb84c611551197298b3274875cb94686e758f0a1a9675c0bc157451a76",
         "wx" : "1ada54dc015861680d8bb2d311b90e82db75aa9e8217b92611fa03cb",
         "wy" : "084c611551197298b3274875cb94686e758f0a1a9675c0bc157451a76"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00041ada54dc015861680d8bb2d311b90e82db75aa9e8217b92611fa03cb84c611551197298b3274875cb94686e758f0a1a9675c0bc157451a76",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABBraVNwBWGFoDYuy0xG5DoLbdaqe\nghe5JhH6A8uExhFVEZcpizJ0h1y5RobnWPChqWdcC8FXRRp2\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "303c021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a021c628580a9adb02604525b1ee6b135e1a9c745021824582c52385a8173",
@@ -2325,20 +2426,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c67b6429785334a608dde949a8abe641dbd3601ebce1e675fe71a8e527d2e8727dc4f618493550bb940151bca6826f714c5b31854038f44d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMZ7ZCl4UzSmCN3pSair5kHb02Ae\nvOHmdf5xqOUn0uhyfcT2GEk1ULuUAVG8poJvcUxbMYVAOPRN\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c67b6429785334a608dde949a8abe641dbd3601ebce1e675fe71a8e527d2e8727dc4f618493550bb940151bca6826f714c5b31854038f44d",
         "wx" : "0c67b6429785334a608dde949a8abe641dbd3601ebce1e675fe71a8e5",
         "wy" : "27d2e8727dc4f618493550bb940151bca6826f714c5b31854038f44d"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c67b6429785334a608dde949a8abe641dbd3601ebce1e675fe71a8e527d2e8727dc4f618493550bb940151bca6826f714c5b31854038f44d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMZ7ZCl4UzSmCN3pSair5kHb02Ae\nvOHmdf5xqOUn0uhyfcT2GEk1ULuUAVG8poJvcUxbMYVAOPRN\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "303c021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a",
@@ -2348,20 +2450,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00041dcc7a5ad111a33627f92dd875ba4a06f6a7c2befdd1050488d057a7341cae0be72a99776db5bd79b463e2d3882764af9c0245d084a3342d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABB3MelrREaM2J/kt2HW6Sgb2p8K+\n/dEFBIjQV6c0HK4L5yqZd221vXm0Y+LTiCdkr5wCRdCEozQt\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041dcc7a5ad111a33627f92dd875ba4a06f6a7c2befdd1050488d057a7341cae0be72a99776db5bd79b463e2d3882764af9c0245d084a3342d",
         "wx" : "1dcc7a5ad111a33627f92dd875ba4a06f6a7c2befdd1050488d057a7",
         "wy" : "341cae0be72a99776db5bd79b463e2d3882764af9c0245d084a3342d"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00041dcc7a5ad111a33627f92dd875ba4a06f6a7c2befdd1050488d057a7341cae0be72a99776db5bd79b463e2d3882764af9c0245d084a3342d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABB3MelrREaM2J/kt2HW6Sgb2p8K+\n/dEFBIjQV6c0HK4L5yqZd221vXm0Y+LTiCdkr5wCRdCEozQt\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "303d021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a021d008fd6231c198244597165756e4e8b5265e0b9d2dcf3e9d317c3c50d15",
@@ -2371,20 +2474,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004bdf708a01c6a814728d394b7f29bf6579734862d8af8e6ff786fbe49901cd462946e5e36cc97c9896df2e18177456d282a7a26a38084c086",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABL33CKAcaoFHKNOUt/Kb9leXNIYt\nivjm/3hvvkmQHNRilG5eNsyXyYlt8uGBd0VtKCp6JqOAhMCG\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bdf708a01c6a814728d394b7f29bf6579734862d8af8e6ff786fbe49901cd462946e5e36cc97c9896df2e18177456d282a7a26a38084c086",
         "wx" : "0bdf708a01c6a814728d394b7f29bf6579734862d8af8e6ff786fbe49",
         "wy" : "0901cd462946e5e36cc97c9896df2e18177456d282a7a26a38084c086"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004bdf708a01c6a814728d394b7f29bf6579734862d8af8e6ff786fbe49901cd462946e5e36cc97c9896df2e18177456d282a7a26a38084c086",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABL33CKAcaoFHKNOUt/Kb9leXNIYt\nivjm/3hvvkmQHNRilG5eNsyXyYlt8uGBd0VtKCp6JqOAhMCG\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021d00b6ea09c6ec5e0484b94f25d890145b0ae3ffbb98b716addd92debdce",
@@ -2394,20 +2498,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040c531fb3d996faa22407df1305ff6ae0bfe94e1c2022f4730d0f8a4abd8073950459562e539ac0895433757e25209b12534ff30fe3d37c71",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABAxTH7PZlvqiJAffEwX/auC/6U4c\nICL0cw0Pikq9gHOVBFlWLlOawIlUM3V+JSCbElNP8w/j03xx\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "040c531fb3d996faa22407df1305ff6ae0bfe94e1c2022f4730d0f8a4abd8073950459562e539ac0895433757e25209b12534ff30fe3d37c71",
         "wx" : "0c531fb3d996faa22407df1305ff6ae0bfe94e1c2022f4730d0f8a4a",
         "wy" : "0bd8073950459562e539ac0895433757e25209b12534ff30fe3d37c71"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040c531fb3d996faa22407df1305ff6ae0bfe94e1c2022f4730d0f8a4abd8073950459562e539ac0895433757e25209b12534ff30fe3d37c71",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABAxTH7PZlvqiJAffEwX/auC/6U4c\nICL0cw0Pikq9gHOVBFlWLlOawIlUM3V+JSCbElNP8w/j03xx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c2f62a9cf48e3ca602eef4e33afa43f2dceb922a40a67de79f7b1ae38",
@@ -2417,20 +2522,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00046782954082418e0002a0812672ac2123b6334b341340555096bcf6c61f6fa1a8fea617d9dda14461d63aa448f205a39b25501a6b1d42ee5f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABGeClUCCQY4AAqCBJnKsISO2M0s0\nE0BVUJa89sYfb6Go/qYX2d2hRGHWOqRI8gWjmyVQGmsdQu5f\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "046782954082418e0002a0812672ac2123b6334b341340555096bcf6c61f6fa1a8fea617d9dda14461d63aa448f205a39b25501a6b1d42ee5f",
         "wx" : "6782954082418e0002a0812672ac2123b6334b341340555096bcf6c6",
         "wy" : "1f6fa1a8fea617d9dda14461d63aa448f205a39b25501a6b1d42ee5f"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00046782954082418e0002a0812672ac2123b6334b341340555096bcf6c61f6fa1a8fea617d9dda14461d63aa448f205a39b25501a6b1d42ee5f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABGeClUCCQY4AAqCBJnKsISO2M0s0\nE0BVUJa89sYfb6Go/qYX2d2hRGHWOqRI8gWjmyVQGmsdQu5f\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c618dfc54408bec1cb37c7ee52b60adbc8d3a6c26457c39d013e88e81",
@@ -2440,20 +2546,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00045b5e6eaba7597ae641420ace6af2575839f161b27b91b270f18bf7d0496ab3c3072fa6ee5578fc814f74d148ecbc2a98cfdc5d40ec7e6980",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFtebqunWXrmQUIKzmryV1g58WGy\ne5GycPGL99BJarPDBy+m7lV4/IFPdNFI7LwqmM/cXUDsfmmA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "045b5e6eaba7597ae641420ace6af2575839f161b27b91b270f18bf7d0496ab3c3072fa6ee5578fc814f74d148ecbc2a98cfdc5d40ec7e6980",
         "wx" : "5b5e6eaba7597ae641420ace6af2575839f161b27b91b270f18bf7d0",
         "wy" : "496ab3c3072fa6ee5578fc814f74d148ecbc2a98cfdc5d40ec7e6980"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00045b5e6eaba7597ae641420ace6af2575839f161b27b91b270f18bf7d0496ab3c3072fa6ee5578fc814f74d148ecbc2a98cfdc5d40ec7e6980",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFtebqunWXrmQUIKzmryV1g58WGy\ne5GycPGL99BJarPDBy+m7lV4/IFPdNFI7LwqmM/cXUDsfmmA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c010de57124c0930ef800e764b5585927977e2ad2d8b82e7cb648af52",
@@ -2463,20 +2570,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00048e661a06ad55b5227801ea4309a72b9cd94973bc873c0405e1247d1e64898b822c363cac8821302de38a914268aaa67db2561878f0f90a02",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABI5mGgatVbUieAHqQwmnK5zZSXO8\nhzwEBeEkfR5kiYuCLDY8rIghMC3jipFCaKqmfbJWGHjw+QoC\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048e661a06ad55b5227801ea4309a72b9cd94973bc873c0405e1247d1e64898b822c363cac8821302de38a914268aaa67db2561878f0f90a02",
         "wx" : "08e661a06ad55b5227801ea4309a72b9cd94973bc873c0405e1247d1e",
         "wy" : "64898b822c363cac8821302de38a914268aaa67db2561878f0f90a02"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00048e661a06ad55b5227801ea4309a72b9cd94973bc873c0405e1247d1e64898b822c363cac8821302de38a914268aaa67db2561878f0f90a02",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABI5mGgatVbUieAHqQwmnK5zZSXO8\nhzwEBeEkfR5kiYuCLDY8rIghMC3jipFCaKqmfbJWGHjw+QoC\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c033ef5010beced04c4928868513ed1878ce677a6ed810e9b99dd9794",
@@ -2486,20 +2594,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b3d2b93f1488657262140f96c108aa0485939bd99440240a7a7d54e388968174b061853739f8b0471c76126539dc57cc6d7c1f539f686674",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLPSuT8UiGVyYhQPlsEIqgSFk5vZ\nlEAkCnp9VOOIloF0sGGFNzn4sEccdhJlOdxXzG18H1OfaGZ0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b3d2b93f1488657262140f96c108aa0485939bd99440240a7a7d54e388968174b061853739f8b0471c76126539dc57cc6d7c1f539f686674",
         "wx" : "0b3d2b93f1488657262140f96c108aa0485939bd99440240a7a7d54e3",
         "wy" : "088968174b061853739f8b0471c76126539dc57cc6d7c1f539f686674"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b3d2b93f1488657262140f96c108aa0485939bd99440240a7a7d54e388968174b061853739f8b0471c76126539dc57cc6d7c1f539f686674",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLPSuT8UiGVyYhQPlsEIqgSFk5vZ\nlEAkCnp9VOOIloF0sGGFNzn4sEccdhJlOdxXzG18H1OfaGZ0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c067dea0217d9da09892510d0a27da30f19ccef4ddb021d3733bb2f28",
@@ -2509,20 +2618,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004ba830dbf83075cd182bc9322c1f6299a4ce3cf4ddde0e6fcee50f0d62b153f6f377a88809c9dd50d8d61eb6794514448165786a7c6558dcc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLqDDb+DB1zRgryTIsH2KZpM489N\n3eDm/O5Q8NYrFT9vN3qIgJyd1Q2NYetnlFFESBZXhqfGVY3M\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ba830dbf83075cd182bc9322c1f6299a4ce3cf4ddde0e6fcee50f0d62b153f6f377a88809c9dd50d8d61eb6794514448165786a7c6558dcc",
         "wx" : "0ba830dbf83075cd182bc9322c1f6299a4ce3cf4ddde0e6fcee50f0d6",
         "wy" : "2b153f6f377a88809c9dd50d8d61eb6794514448165786a7c6558dcc"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004ba830dbf83075cd182bc9322c1f6299a4ce3cf4ddde0e6fcee50f0d62b153f6f377a88809c9dd50d8d61eb6794514448165786a7c6558dcc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLqDDb+DB1zRgryTIsH2KZpM489N\n3eDm/O5Q8NYrFT9vN3qIgJyd1Q2NYetnlFFESBZXhqfGVY3M\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c45847e02fd01a3cc9e063f961fb920ab3271ec09996f75bca7fe6d3f",
@@ -2532,20 +2642,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000477f40222e4a79a0fa7e510887e69eba31f6dd7067121dafe739bbe13d0ffab7222cf6d827c51eb53abac506bc0a5d7c1a5a7e1683d49e43e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABHf0AiLkp5oPp+UQiH5p66MfbdcG\ncSHa/nObvhPQ/6tyIs9tgnxR61OrrFBrwKXXwaWn4Wg9SeQ+\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0477f40222e4a79a0fa7e510887e69eba31f6dd7067121dafe739bbe13d0ffab7222cf6d827c51eb53abac506bc0a5d7c1a5a7e1683d49e43e",
         "wx" : "77f40222e4a79a0fa7e510887e69eba31f6dd7067121dafe739bbe13",
         "wy" : "0d0ffab7222cf6d827c51eb53abac506bc0a5d7c1a5a7e1683d49e43e"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000477f40222e4a79a0fa7e510887e69eba31f6dd7067121dafe739bbe13d0ffab7222cf6d827c51eb53abac506bc0a5d7c1a5a7e1683d49e43e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABHf0AiLkp5oPp+UQiH5p66MfbdcG\ncSHa/nObvhPQ/6tyIs9tgnxR61OrrFBrwKXXwaWn4Wg9SeQ+\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c0b4cbe866d1920634138c8798fcc41479447e5ae760794e1e5797928",
@@ -2555,20 +2666,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004597b5a3c106b8c4e9a7e7a517cd740e77667c8a2d06c510e5e3b728d9cc249e827f5fff902122eb26badc4a7da6555b489ba98982d388125",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFl7WjwQa4xOmn56UXzXQOd2Z8ii\n0GxRDl47co2cwknoJ/X/+QISLrJrrcSn2mVVtIm6mJgtOIEl\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04597b5a3c106b8c4e9a7e7a517cd740e77667c8a2d06c510e5e3b728d9cc249e827f5fff902122eb26badc4a7da6555b489ba98982d388125",
         "wx" : "597b5a3c106b8c4e9a7e7a517cd740e77667c8a2d06c510e5e3b728d",
         "wy" : "09cc249e827f5fff902122eb26badc4a7da6555b489ba98982d388125"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004597b5a3c106b8c4e9a7e7a517cd740e77667c8a2d06c510e5e3b728d9cc249e827f5fff902122eb26badc4a7da6555b489ba98982d388125",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFl7WjwQa4xOmn56UXzXQOd2Z8ii\n0GxRDl47co2cwknoJ/X/+QISLrJrrcSn2mVVtIm6mJgtOIEl\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c20d72ae339e5620170c90a4ce5bca08ded1700b2b6c80ec612c8d5d1",
@@ -2578,20 +2690,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040f2453e7585cb1392ff4fa11869f8c10b2f9cf4f2a18b866e8f37c2bd1566ef04928797579d40f3310ebaf477a4e78a235861928328634df",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA8kU+dYXLE5L/T6EYafjBCy+c9P\nKhi4ZujzfCvRVm7wSSh5dXnUDzMQ669Hek54ojWGGSgyhjTf\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "040f2453e7585cb1392ff4fa11869f8c10b2f9cf4f2a18b866e8f37c2bd1566ef04928797579d40f3310ebaf477a4e78a235861928328634df",
         "wx" : "0f2453e7585cb1392ff4fa11869f8c10b2f9cf4f2a18b866e8f37c2b",
         "wy" : "0d1566ef04928797579d40f3310ebaf477a4e78a235861928328634df"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040f2453e7585cb1392ff4fa11869f8c10b2f9cf4f2a18b866e8f37c2bd1566ef04928797579d40f3310ebaf477a4e78a235861928328634df",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA8kU+dYXLE5L/T6EYafjBCy+c9P\nKhi4ZujzfCvRVm7wSSh5dXnUDzMQ669Hek54ojWGGSgyhjTf\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021d009d235aa9e9f9c6453e39a78613836ea14c2ddf31c91b747aef010a89",
@@ -2601,20 +2714,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000410cb3dbce4da518e04eb125cf3b44bef0451bad3e7cbbad5328b85bb358651b478bcf200684fd310e6d14acd23dc2a760475df0f5b8a758c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABBDLPbzk2lGOBOsSXPO0S+8EUbrT\n58u61TKLhbs1hlG0eLzyAGhP0xDm0UrNI9wqdgR13w9binWM\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0410cb3dbce4da518e04eb125cf3b44bef0451bad3e7cbbad5328b85bb358651b478bcf200684fd310e6d14acd23dc2a760475df0f5b8a758c",
         "wx" : "10cb3dbce4da518e04eb125cf3b44bef0451bad3e7cbbad5328b85bb",
         "wy" : "358651b478bcf200684fd310e6d14acd23dc2a760475df0f5b8a758c"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000410cb3dbce4da518e04eb125cf3b44bef0451bad3e7cbbad5328b85bb358651b478bcf200684fd310e6d14acd23dc2a760475df0f5b8a758c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABBDLPbzk2lGOBOsSXPO0S+8EUbrT\n58u61TKLhbs1hlG0eLzyAGhP0xDm0UrNI9wqdgR13w9binWM\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021d009ca7987f3367a9516eca57855098d4aaaf289438d9ad7b39dcc81110",
@@ -2624,20 +2738,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00042c27732aaaa3f8b16664a48a1dd06fc0fe40f65742751e5c04b7eff507804b2dbee79ffe56dc4f4a6062ced6f375b80b5ad2cf3a2921b395",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCwncyqqo/ixZmSkih3Qb8D+QPZX\nQnUeXAS37/UHgEstvuef/lbcT0pgYs7W83W4C1rSzzopIbOV\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042c27732aaaa3f8b16664a48a1dd06fc0fe40f65742751e5c04b7eff507804b2dbee79ffe56dc4f4a6062ced6f375b80b5ad2cf3a2921b395",
         "wx" : "2c27732aaaa3f8b16664a48a1dd06fc0fe40f65742751e5c04b7eff5",
         "wy" : "7804b2dbee79ffe56dc4f4a6062ced6f375b80b5ad2cf3a2921b395"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00042c27732aaaa3f8b16664a48a1dd06fc0fe40f65742751e5c04b7eff507804b2dbee79ffe56dc4f4a6062ced6f375b80b5ad2cf3a2921b395",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCwncyqqo/ixZmSkih3Qb8D+QPZX\nQnUeXAS37/UHgEstvuef/lbcT0pgYs7W83W4C1rSzzopIbOV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c7295bc38b76bccd7635d6561d1f053dd9b079419249f94368c8d3133",
@@ -2647,20 +2762,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00048ced556877ee15af314aed5dfc43a00fbb7626fbdc7b81ff7dbea2f898f5e26f7fc3276da2a8e869b0afbc41ef3b40326080aa85ce62c2ab",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIztVWh37hWvMUrtXfxDoA+7dib7\n3HuB/32+oviY9eJvf8MnbaKo6Gmwr7xB7ztAMmCAqoXOYsKr\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048ced556877ee15af314aed5dfc43a00fbb7626fbdc7b81ff7dbea2f898f5e26f7fc3276da2a8e869b0afbc41ef3b40326080aa85ce62c2ab",
         "wx" : "08ced556877ee15af314aed5dfc43a00fbb7626fbdc7b81ff7dbea2f8",
         "wy" : "098f5e26f7fc3276da2a8e869b0afbc41ef3b40326080aa85ce62c2ab"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00048ced556877ee15af314aed5dfc43a00fbb7626fbdc7b81ff7dbea2f898f5e26f7fc3276da2a8e869b0afbc41ef3b40326080aa85ce62c2ab",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIztVWh37hWvMUrtXfxDoA+7dib7\n3HuB/32+oviY9eJvf8MnbaKo6Gmwr7xB7ztAMmCAqoXOYsKr\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021d00938f2db2b72061abd7eb6e5c8fe685391e966ec0c769d0c538e0678a",
@@ -2670,20 +2786,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000442b19b22506c4fd89fa28c5909d97f8ffebdc82804dcc7bf6a570ae21a974ee08b484fa05e1fbb89c48c50754ba1e40a658a5ced409c6361",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABEKxmyJQbE/Yn6KMWQnZf4/+vcgo\nBNzHv2pXCuIal07gi0hPoF4fu4nEjFB1S6HkCmWKXO1AnGNh\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0442b19b22506c4fd89fa28c5909d97f8ffebdc82804dcc7bf6a570ae21a974ee08b484fa05e1fbb89c48c50754ba1e40a658a5ced409c6361",
         "wx" : "42b19b22506c4fd89fa28c5909d97f8ffebdc82804dcc7bf6a570ae2",
         "wy" : "1a974ee08b484fa05e1fbb89c48c50754ba1e40a658a5ced409c6361"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000442b19b22506c4fd89fa28c5909d97f8ffebdc82804dcc7bf6a570ae21a974ee08b484fa05e1fbb89c48c50754ba1e40a658a5ced409c6361",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABEKxmyJQbE/Yn6KMWQnZf4/+vcgo\nBNzHv2pXCuIal07gi0hPoF4fu4nEjFB1S6HkCmWKXO1AnGNh\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c7f907c8e32e60e2ba4033ee7d65f3fe8fd23719c7a9c6f5e52f18c47",
@@ -2693,20 +2810,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00042095e12116cebdd4e8bc1cc184b538b1515f789e3be4b03a4183fae5d0926e446875abdcd12c8239e607961cadd00a2e899d821db11d5679",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCCV4SEWzr3U6LwcwYS1OLFRX3ie\nO+SwOkGD+uXQkm5EaHWr3NEsgjnmB5YcrdAKLomdgh2xHVZ5\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042095e12116cebdd4e8bc1cc184b538b1515f789e3be4b03a4183fae5d0926e446875abdcd12c8239e607961cadd00a2e899d821db11d5679",
         "wx" : "2095e12116cebdd4e8bc1cc184b538b1515f789e3be4b03a4183fae5",
         "wy" : "0d0926e446875abdcd12c8239e607961cadd00a2e899d821db11d5679"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00042095e12116cebdd4e8bc1cc184b538b1515f789e3be4b03a4183fae5d0926e446875abdcd12c8239e607961cadd00a2e899d821db11d5679",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCCV4SEWzr3U6LwcwYS1OLFRX3ie\nO+SwOkGD+uXQkm5EaHWr3NEsgjnmB5YcrdAKLomdgh2xHVZ5\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c34c3978c3a1dac921f6235c82a02edb9342285469426bb10f82897c4",
@@ -2716,20 +2834,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000458f82eb2ca6e3474a90e29ac56dcb63d88e669e0a40204e6202af7c5a0e85e4039f343255b4fe4bdc1191a7845bdd7eb908ecd8779a27963",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFj4LrLKbjR0qQ4prFbctj2I5mng\npAIE5iAq98Wg6F5AOfNDJVtP5L3BGRp4Rb3X65COzYd5onlj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0458f82eb2ca6e3474a90e29ac56dcb63d88e669e0a40204e6202af7c5a0e85e4039f343255b4fe4bdc1191a7845bdd7eb908ecd8779a27963",
         "wx" : "58f82eb2ca6e3474a90e29ac56dcb63d88e669e0a40204e6202af7c5",
         "wy" : "0a0e85e4039f343255b4fe4bdc1191a7845bdd7eb908ecd8779a27963"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000458f82eb2ca6e3474a90e29ac56dcb63d88e669e0a40204e6202af7c5a0e85e4039f343255b4fe4bdc1191a7845bdd7eb908ecd8779a27963",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFj4LrLKbjR0qQ4prFbctj2I5mng\npAIE5iAq98Wg6F5AOfNDJVtP5L3BGRp4Rb3X65COzYd5onlj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021d009701d6523d3d3f5b8ac8402680b3cab8966e2651cfc1739fcd3c0749",
@@ -2739,20 +2858,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000471f2c4a7c3f71311a793458ff12262a863518fb30dbb7a80701030b8b6b08428fabdb69c8a8e9e327daed0795fb84e0d8817086022d3b23b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABHHyxKfD9xMRp5NFj/EiYqhjUY+z\nDbt6gHAQMLi2sIQo+r22nIqOnjJ9rtB5X7hODYgXCGAi07I7\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0471f2c4a7c3f71311a793458ff12262a863518fb30dbb7a80701030b8b6b08428fabdb69c8a8e9e327daed0795fb84e0d8817086022d3b23b",
         "wx" : "71f2c4a7c3f71311a793458ff12262a863518fb30dbb7a80701030b8",
         "wy" : "0b6b08428fabdb69c8a8e9e327daed0795fb84e0d8817086022d3b23b"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000471f2c4a7c3f71311a793458ff12262a863518fb30dbb7a80701030b8b6b08428fabdb69c8a8e9e327daed0795fb84e0d8817086022d3b23b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABHHyxKfD9xMRp5NFj/EiYqhjUY+z\nDbt6gHAQMLi2sIQo+r22nIqOnjJ9rtB5X7hODYgXCGAi07I7\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c564277fa54371830eb7850278b9699d85bc5905831a42a9bf4d07af3",
@@ -2762,20 +2882,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043cfcf64eece994c35c56e915e4ed1883ba6ec34fe396c11acd8f47d263cdfbaa34401100b5b10af771bb46c0d53446f7aa847956c9363494",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABDz89k7s6ZTDXFbpFeTtGIO6bsNP\n45bBGs2PR9JjzfuqNEARALWxCvdxu0bA1TRG96qEeVbJNjSU\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cfcf64eece994c35c56e915e4ed1883ba6ec34fe396c11acd8f47d263cdfbaa34401100b5b10af771bb46c0d53446f7aa847956c9363494",
         "wx" : "3cfcf64eece994c35c56e915e4ed1883ba6ec34fe396c11acd8f47d2",
         "wy" : "63cdfbaa34401100b5b10af771bb46c0d53446f7aa847956c9363494"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043cfcf64eece994c35c56e915e4ed1883ba6ec34fe396c11acd8f47d263cdfbaa34401100b5b10af771bb46c0d53446f7aa847956c9363494",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABDz89k7s6ZTDXFbpFeTtGIO6bsNP\n45bBGs2PR9JjzfuqNEARALWxCvdxu0bA1TRG96qEeVbJNjSU\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c7794fbdee638f657ac1e4c65284c144b3efa7bf4109e6cca605c4f4c",
@@ -2785,20 +2906,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044c404decbc0697b207fa08982ef0fedb001eeb43f37404dab97a9a7747191bc240dfd440274e06955611f9923fad6949b2cc157a185c8229",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABExATey8BpeyB/oImC7w/tsAHutD\n83QE2rl6mndHGRvCQN/UQCdOBpVWEfmSP61pSbLMFXoYXIIp\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044c404decbc0697b207fa08982ef0fedb001eeb43f37404dab97a9a7747191bc240dfd440274e06955611f9923fad6949b2cc157a185c8229",
         "wx" : "4c404decbc0697b207fa08982ef0fedb001eeb43f37404dab97a9a77",
         "wy" : "47191bc240dfd440274e06955611f9923fad6949b2cc157a185c8229"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044c404decbc0697b207fa08982ef0fedb001eeb43f37404dab97a9a7747191bc240dfd440274e06955611f9923fad6949b2cc157a185c8229",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABExATey8BpeyB/oImC7w/tsAHutD\n83QE2rl6mndHGRvCQN/UQCdOBpVWEfmSP61pSbLMFXoYXIIp\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021d00b5200da7a45837f5b71c47e1b94c7862a1e4becba30a908ada219487",
@@ -2808,20 +2930,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00047be4b0ea0b15b96f91312c15c81629e40c4418f70b86c5bcdc258fd979cbef8ea2a77ca092db0eb954a9e33e82b9c5f110c8c990b9235a57",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABHvksOoLFblvkTEsFcgWKeQMRBj3\nC4bFvNwlj9l5y++Ooqd8oJLbDrlUqeM+grnF8RDIyZC5I1pX\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "047be4b0ea0b15b96f91312c15c81629e40c4418f70b86c5bcdc258fd979cbef8ea2a77ca092db0eb954a9e33e82b9c5f110c8c990b9235a57",
         "wx" : "7be4b0ea0b15b96f91312c15c81629e40c4418f70b86c5bcdc258fd9",
         "wy" : "79cbef8ea2a77ca092db0eb954a9e33e82b9c5f110c8c990b9235a57"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00047be4b0ea0b15b96f91312c15c81629e40c4418f70b86c5bcdc258fd979cbef8ea2a77ca092db0eb954a9e33e82b9c5f110c8c990b9235a57",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABHvksOoLFblvkTEsFcgWKeQMRBj3\nC4bFvNwlj9l5y++Ooqd8oJLbDrlUqeM+grnF8RDIyZC5I1pX\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021c652b78716ed799aec6bacac3a3e0a7bb360f2832493f286d191a626c",
@@ -2831,20 +2954,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000464a64cffa54066499264991e47a0f14bca6319a1c27e1508e2016b56bda7c17a04d9cb88eadb7296cf87dfbfadfe65056837a797d66997dd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABGSmTP+lQGZJkmSZHkeg8UvKYxmh\nwn4VCOIBa1a9p8F6BNnLiOrbcpbPh9+/rf5lBWg3p5fWaZfd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0464a64cffa54066499264991e47a0f14bca6319a1c27e1508e2016b56bda7c17a04d9cb88eadb7296cf87dfbfadfe65056837a797d66997dd",
         "wx" : "64a64cffa54066499264991e47a0f14bca6319a1c27e1508e2016b56",
         "wy" : "0bda7c17a04d9cb88eadb7296cf87dfbfadfe65056837a797d66997dd"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000464a64cffa54066499264991e47a0f14bca6319a1c27e1508e2016b56bda7c17a04d9cb88eadb7296cf87dfbfadfe65056837a797d66997dd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABGSmTP+lQGZJkmSZHkeg8UvKYxmh\nwn4VCOIBa1a9p8F6BNnLiOrbcpbPh9+/rf5lBWg3p5fWaZfd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021d0097c134aa264366862a18302575d0fb98d116bc4b6ddebca3a5a793a2",
@@ -2854,20 +2978,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043d4c4e3c5ba7a533c8a3386d6ff77a81351346e1894b2560b406a63ea349775946799eeb274926b4d957328f6c7d50f6760291acdaeb114f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABD1MTjxbp6UzyKM4bW/3eoE1E0bh\niUslYLQGpj6jSXdZRnme6ydJJrTZVzKPbH1Q9nYCkaza6xFP\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043d4c4e3c5ba7a533c8a3386d6ff77a81351346e1894b2560b406a63ea349775946799eeb274926b4d957328f6c7d50f6760291acdaeb114f",
         "wx" : "3d4c4e3c5ba7a533c8a3386d6ff77a81351346e1894b2560b406a63e",
         "wy" : "0a349775946799eeb274926b4d957328f6c7d50f6760291acdaeb114f"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043d4c4e3c5ba7a533c8a3386d6ff77a81351346e1894b2560b406a63ea349775946799eeb274926b4d957328f6c7d50f6760291acdaeb114f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABD1MTjxbp6UzyKM4bW/3eoE1E0bh\niUslYLQGpj6jSXdZRnme6ydJJrTZVzKPbH1Q9nYCkaza6xFP\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffa021d00aba8d89c2c94ba58e70db786a6181dc0e71d16f3f43d9600fc4c8ff3",
@@ -2877,20 +3002,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044db8e8ac43f22df75c9c09fe193b9cd83d5c9b73f37d1494761724b0a76082c35da862a1e2e8626ffa94ed18fcb1d897ec7ab52c322553ff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABE246KxD8i33XJwJ/hk7nNg9XJtz\n830UlHYXJLCnYILDXahioeLoYm/6lO0Y/LHYl+x6tSwyJVP/\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044db8e8ac43f22df75c9c09fe193b9cd83d5c9b73f37d1494761724b0a76082c35da862a1e2e8626ffa94ed18fcb1d897ec7ab52c322553ff",
         "wx" : "4db8e8ac43f22df75c9c09fe193b9cd83d5c9b73f37d1494761724b0",
         "wy" : "0a76082c35da862a1e2e8626ffa94ed18fcb1d897ec7ab52c322553ff"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044db8e8ac43f22df75c9c09fe193b9cd83d5c9b73f37d1494761724b0a76082c35da862a1e2e8626ffa94ed18fcb1d897ec7ab52c322553ff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABE246KxD8i33XJwJ/hk7nNg9XJtz\n830UlHYXJLCnYILDXahioeLoYm/6lO0Y/LHYl+x6tSwyJVP/\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "303d021c7af295e6e4787252f34c527af562ca27214a66f6d6db4fd2c112b564021d00b1d010f74062eeaac0cecb2c3c2c4d288a576bf6f0a00347c6a5b562",
@@ -2902,20 +3028,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044db8e8ac43f22df75c9c09fe193b9cd83d5c9b73f37d1494761724b03060b1e6c89b03e4472fcdb57b3cea6eb3ed2ebfab5fd4c94ca36d00",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABE246KxD8i33XJwJ/hk7nNg9XJtz\n830UlHYXJLAwYLHmyJsD5EcvzbV7POpus+0uv6tf1MlMo20A\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044db8e8ac43f22df75c9c09fe193b9cd83d5c9b73f37d1494761724b03060b1e6c89b03e4472fcdb57b3cea6eb3ed2ebfab5fd4c94ca36d00",
         "wx" : "4db8e8ac43f22df75c9c09fe193b9cd83d5c9b73f37d1494761724b0",
         "wy" : "3060b1e6c89b03e4472fcdb57b3cea6eb3ed2ebfab5fd4c94ca36d00"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044db8e8ac43f22df75c9c09fe193b9cd83d5c9b73f37d1494761724b03060b1e6c89b03e4472fcdb57b3cea6eb3ed2ebfab5fd4c94ca36d00",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABE246KxD8i33XJwJ/hk7nNg9XJtz\n830UlHYXJLAwYLHmyJsD5EcvzbV7POpus+0uv6tf1MlMo20A\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "303d021c7af295e6e4787252f34c527af562ca27214a66f6d6db4fd2c112b564021d00b1d010f74062eeaac0cecb2c3c2c4d288a576bf6f0a00347c6a5b562",
@@ -2927,20 +3054,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00042b92268208d522450c42f3fcbda409c3ace2a5f857ea10612c6093f8315eb2d448134e716b032078b68301622e3c2186ab583d976e769feb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCuSJoII1SJFDELz/L2kCcOs4qX4\nV+oQYSxgk/gxXrLUSBNOcWsDIHi2gwFiLjwhhqtYPZdudp/r\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042b92268208d522450c42f3fcbda409c3ace2a5f857ea10612c6093f8315eb2d448134e716b032078b68301622e3c2186ab583d976e769feb",
         "wx" : "2b92268208d522450c42f3fcbda409c3ace2a5f857ea10612c6093f8",
         "wy" : "315eb2d448134e716b032078b68301622e3c2186ab583d976e769feb"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00042b92268208d522450c42f3fcbda409c3ace2a5f857ea10612c6093f8315eb2d448134e716b032078b68301622e3c2186ab583d976e769feb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCuSJoII1SJFDELz/L2kCcOs4qX4\nV+oQYSxgk/gxXrLUSBNOcWsDIHi2gwFiLjwhhqtYPZdudp/r\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "303c021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a021c2b26a42207a714813b9e70077df698b829d158dbe2c625ba5454b71f",
@@ -2950,21 +3078,22 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044d4bd5693d86dd9a6016ba806d8031f94dc8e2d33c6f5871a00b64732a4662f29524ece754828b9d829c0a0724d9bd9d288d21f87e3fb1fa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABE1L1Wk9ht2aYBa6gG2AMflNyOLT\nPG9YcaALZHMqRmLylSTs51SCi52CnAoHJNm9nSiNIfh+P7H6\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044d4bd5693d86dd9a6016ba806d8031f94dc8e2d33c6f5871a00b64732a4662f29524ece754828b9d829c0a0724d9bd9d288d21f87e3fb1fa",
         "wx" : "4d4bd5693d86dd9a6016ba806d8031f94dc8e2d33c6f5871a00b6473",
         "wy" : "2a4662f29524ece754828b9d829c0a0724d9bd9d288d21f87e3fb1fa"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00044d4bd5693d86dd9a6016ba806d8031f94dc8e2d33c6f5871a00b64732a4662f29524ece754828b9d829c0a0724d9bd9d288d21f87e3fb1fa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABE1L1Wk9ht2aYBa6gG2AMflNyOLT\nPG9YcaALZHMqRmLylSTs51SCi52CnAoHJNm9nSiNIfh+P7H6\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
-          "comment" : "extreme value for k",
+          "tcId" : 271,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "303c021c33b7e498bcda1a33e61a67af56a36d12df7032255ddf5e1ec65a5669021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a",
           "result" : "valid",
@@ -2973,21 +3102,142 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004606ce6f8c77ac17d5b7515d5851eed155ea120cd07ca4277b35b8d365f716b62aee9a81a011bd1d2bceaf37d5f3a61e5f7307e0bb9c892c8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABGBs5vjHesF9W3UV1YUe7RVeoSDN\nB8pCd7NbjTZfcWtirumoGgEb0dK86vN9Xzph5fcwfgu5yJLI\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04be0efb4841df37abcdcf3f28ddb0d5751a92a0fe7a3e88d1ab02832cbb53ccd66b9c0e424380693d6416fc2e1a3c793a355f7d05f963f435",
+        "wx" : "0be0efb4841df37abcdcf3f28ddb0d5751a92a0fe7a3e88d1ab02832c",
+        "wy" : "0bb53ccd66b9c0e424380693d6416fc2e1a3c793a355f7d05f963f435"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004be0efb4841df37abcdcf3f28ddb0d5751a92a0fe7a3e88d1ab02832cbb53ccd66b9c0e424380693d6416fc2e1a3c793a355f7d05f963f435",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABL4O+0hB3zerzc8/KN2w1XUakqD+\nej6I0asCgyy7U8zWa5wOQkOAaT1kFvwuGjx5OjVffQX5Y/Q1\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 272,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c33b7e498bcda1a33e61a67af56a36d12df7032255ddf5e1ec65a5669021d00b8eebf6d455e57e0b65de0201bd7b315458133ae5e2ca1b0d721ec3f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04bc0272e3693a05e788392c880f9de95c72e293fd1b13f1e22a9907a3699506e4590fa90c6257b1c4e3632ccc486cb833cbbcbf21b4a26041",
+        "wx" : "0bc0272e3693a05e788392c880f9de95c72e293fd1b13f1e22a9907a3",
+        "wy" : "699506e4590fa90c6257b1c4e3632ccc486cb833cbbcbf21b4a26041"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004bc0272e3693a05e788392c880f9de95c72e293fd1b13f1e22a9907a3699506e4590fa90c6257b1c4e3632ccc486cb833cbbcbf21b4a26041",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLwCcuNpOgXniDksiA+d6Vxy4pP9\nGxPx4iqZB6NplQbkWQ+pDGJXscTjYyzMSGy4M8u8vyG0omBB\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c33b7e498bcda1a33e61a67af56a36d12df7032255ddf5e1ec65a5669021d00ac9a90881e9c5204ee79c01df7da62e0a745636f8b1896e95152dc7f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a83bc3e9043cb938dae167bbea2f7d623486f4038df45312e8467bda7363fa58af363a71835da09413c88227849c6f0ffe8e4e40aff51023",
+        "wx" : "0a83bc3e9043cb938dae167bbea2f7d623486f4038df45312e8467bda",
+        "wy" : "7363fa58af363a71835da09413c88227849c6f0ffe8e4e40aff51023"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a83bc3e9043cb938dae167bbea2f7d623486f4038df45312e8467bda7363fa58af363a71835da09413c88227849c6f0ffe8e4e40aff51023",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABKg7w+kEPLk42uFnu+ovfWI0hvQD\njfRTEuhGe9pzY/pYrzY6cYNdoJQTyIInhJxvD/6OTkCv9RAj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c33b7e498bcda1a33e61a67af56a36d12df7032255ddf5e1ec65a5669021c2b26a42207a714813b9e70077df698b829d158dbe2c625ba5454b720",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043bd08a1c46638564521ded3fa77ce9c95538e49703ebb9f8d36be6f7276ffa128051671f7e4c63e9b8132de9f3389cc525d72682b6019ec3",
+        "wx" : "3bd08a1c46638564521ded3fa77ce9c95538e49703ebb9f8d36be6f7",
+        "wy" : "276ffa128051671f7e4c63e9b8132de9f3389cc525d72682b6019ec3"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043bd08a1c46638564521ded3fa77ce9c95538e49703ebb9f8d36be6f7276ffa128051671f7e4c63e9b8132de9f3389cc525d72682b6019ec3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABDvQihxGY4VkUh3tP6d86clVOOSX\nA+u5+NNr5vcnb/oSgFFnH35MY+m4Ey3p8zicxSXXJoK2AZ7D\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c33b7e498bcda1a33e61a67af56a36d12df7032255ddf5e1ec65a5669021c1ed2753ce0e50ea573ba500559f948838b95889d0fb21af2ce85a760",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a3db2b3e2c62c42bf4fb0e11c2908fd17fe83da3ac9c0980234efdbd3cbeec4027bd7c109b27ae2f7cf04dc65eeaf13faa224d32a20f3163",
+        "wx" : "0a3db2b3e2c62c42bf4fb0e11c2908fd17fe83da3ac9c0980234efdbd",
+        "wy" : "3cbeec4027bd7c109b27ae2f7cf04dc65eeaf13faa224d32a20f3163"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004a3db2b3e2c62c42bf4fb0e11c2908fd17fe83da3ac9c0980234efdbd3cbeec4027bd7c109b27ae2f7cf04dc65eeaf13faa224d32a20f3163",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABKPbKz4sYsQr9PsOEcKQj9F/6D2j\nrJwJgCNO/b08vuxAJ718EJsnri988E3GXurxP6oiTTKiDzFj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "303c021c33b7e498bcda1a33e61a67af56a36d12df7032255ddf5e1ec65a5669021c58e37518c6e47a84de10ccb254c03693271145f13e00a91237a4a547",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04606ce6f8c77ac17d5b7515d5851eed155ea120cd07ca4277b35b8d365f716b62aee9a81a011bd1d2bceaf37d5f3a61e5f7307e0bb9c892c8",
         "wx" : "606ce6f8c77ac17d5b7515d5851eed155ea120cd07ca4277b35b8d36",
         "wy" : "5f716b62aee9a81a011bd1d2bceaf37d5f3a61e5f7307e0bb9c892c8"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004606ce6f8c77ac17d5b7515d5851eed155ea120cd07ca4277b35b8d365f716b62aee9a81a011bd1d2bceaf37d5f3a61e5f7307e0bb9c892c8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABGBs5vjHesF9W3UV1YUe7RVeoSDN\nB8pCd7NbjTZfcWtirumoGgEb0dK86vN9Xzph5fcwfgu5yJLI\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
-          "comment" : "extreme value for k",
+          "tcId" : 277,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "303c021c0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d021c47eb118e0cc1222cb8b2bab72745a932f05ce96e79f4e98be1e2868a",
           "result" : "valid",
@@ -2996,20 +3246,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042affbb8269cb7883dada3350394579912ef756a8df6bdd7da35d398e90213d9382b3d5fb9dde82724d38e5678c17e610f417cfe6f7efcd91",
+        "wx" : "2affbb8269cb7883dada3350394579912ef756a8df6bdd7da35d398e",
+        "wy" : "090213d9382b3d5fb9dde82724d38e5678c17e610f417cfe6f7efcd91"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00042affbb8269cb7883dada3350394579912ef756a8df6bdd7da35d398e90213d9382b3d5fb9dde82724d38e5678c17e610f417cfe6f7efcd91",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABCr/u4Jpy3iD2tozUDlFeZEu91ao\n32vdfaNdOY6QIT2TgrPV+53egnJNOOVnjBfmEPQXz+b3782R\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d021d00b8eebf6d455e57e0b65de0201bd7b315458133ae5e2ca1b0d721ec3f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0419cdd44e2a33113a884558e7ee0efb41bafe1adcdcf95df6de6a25115f428ee998a34856f2ac3f6f39c7237bf1f9de232175d747b5cd97fe",
+        "wx" : "19cdd44e2a33113a884558e7ee0efb41bafe1adcdcf95df6de6a2511",
+        "wy" : "5f428ee998a34856f2ac3f6f39c7237bf1f9de232175d747b5cd97fe"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a000419cdd44e2a33113a884558e7ee0efb41bafe1adcdcf95df6de6a25115f428ee998a34856f2ac3f6f39c7237bf1f9de232175d747b5cd97fe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABBnN1E4qMxE6iEVY5+4O+0G6/hrc\n3Pld9t5qJRFfQo7pmKNIVvKsP285xyN78fneIyF110e1zZf+\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d021d00ac9a90881e9c5204ee79c01df7da62e0a745636f8b1896e95152dc7f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b72f7c1a3c8562cb8de9925eec041ccc263649c6524762b9f4585ee39df756da08d1274ad72d8cac293aa60d150c77131f9fa28ccdffdfa0",
+        "wx" : "0b72f7c1a3c8562cb8de9925eec041ccc263649c6524762b9f4585ee3",
+        "wy" : "09df756da08d1274ad72d8cac293aa60d150c77131f9fa28ccdffdfa0"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b72f7c1a3c8562cb8de9925eec041ccc263649c6524762b9f4585ee39df756da08d1274ad72d8cac293aa60d150c77131f9fa28ccdffdfa0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLcvfBo8hWLLjemSXuwEHMwmNknG\nUkdiufRYXuOd91baCNEnStctjKwpOqYNFQx3Ex+foozN/9+g\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d021c2b26a42207a714813b9e70077df698b829d158dbe2c625ba5454b720",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049d3703b3205b123c903a0446973247c16a88d103fea9d04dd02a702b65186b777b57eadee8154c02fce0e95c3f061468499bac3dc6029e8c",
+        "wx" : "09d3703b3205b123c903a0446973247c16a88d103fea9d04dd02a702b",
+        "wy" : "65186b777b57eadee8154c02fce0e95c3f061468499bac3dc6029e8c"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00049d3703b3205b123c903a0446973247c16a88d103fea9d04dd02a702b65186b777b57eadee8154c02fce0e95c3f061468499bac3dc6029e8c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABJ03A7MgWxI8kDoERpcyR8FqiNED\n/qnQTdAqcCtlGGt3e1fq3ugVTAL84OlcPwYUaEmbrD3GAp6M\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d021c1ed2753ce0e50ea573ba500559f948838b95889d0fb21af2ce85a760",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043ea572505a48b1bed085953da7d4c963c2c5b6ad99779d9d54ba401294470074e0252da159a0c0d0b2f8d4c242cb94bab2c2020c4b2df499",
+        "wx" : "3ea572505a48b1bed085953da7d4c963c2c5b6ad99779d9d54ba4012",
+        "wy" : "094470074e0252da159a0c0d0b2f8d4c242cb94bab2c2020c4b2df499"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00043ea572505a48b1bed085953da7d4c963c2c5b6ad99779d9d54ba401294470074e0252da159a0c0d0b2f8d4c242cb94bab2c2020c4b2df499",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABD6lclBaSLG+0IWVPafUyWPCxbat\nmXednVS6QBKURwB04CUtoVmgwNCy+NTCQsuUurLCAgxLLfSZ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "303c021c0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d021c58e37518c6e47a84de10ccb254c03693271145f13e00a91237a4a547",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd",
+        "wx" : "0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d",
+        "wy" : "58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd"
+      },
       "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA2QKa0sflz0NAgjsqh9xoyeTOMX\nTB5u/e4SwH1Yqlb3csBybyTGuJ5OzawkNUuemcqj9tN2FALN\n-----END PUBLIC KEY-----",
       "sha" : "SHA-224",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d",
-        "wy" : "58aa56f772c0726f24c6b89e4ecdac24354b9e99caa3f6d3761402cd"
-      },
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 283,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c1ed2753ce0e50ea573ba500559f948838b95889d0fb21af2ce85a75f",
@@ -3017,7 +3388,7 @@
           "flags" : []
         },
         {
-          "tcId" : 266,
+          "tcId" : 284,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303c021c628580a9adb02604525b1ee6b135e1a9c745021824582c52385a8173021c1ed2753ce0e50ea573ba500559f948838b95889d0fb21af2ce85a75f",
@@ -3027,20 +3398,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d7f16ddb2b382f4170551778727042b637b5368bdcd36932208b4be32",
+        "wx" : "0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d",
+        "wy" : "7f16ddb2b382f4170551778727042b637b5368bdcd36932208b4be32"
+      },
       "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d7f16ddb2b382f4170551778727042b637b5368bdcd36932208b4be32",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA2QKa0sflz0NAgjsqh9xoyeTOMX\nTB5u/e4SwH1/Ft2ys4L0FwVRd4cnBCtje1Novc02kyIItL4y\n-----END PUBLIC KEY-----",
       "sha" : "SHA-224",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "0d9029ad2c7e5cf4340823b2a87dc68c9e4ce3174c1e6efdee12c07d",
-        "wy" : "7f16ddb2b382f4170551778727042b637b5368bdcd36932208b4be32"
-      },
       "tests" : [
         {
-          "tcId" : 267,
+          "tcId" : 285,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c1ed2753ce0e50ea573ba500559f948838b95889d0fb21af2ce85a75f",
@@ -3048,7 +3420,7 @@
           "flags" : []
         },
         {
-          "tcId" : 268,
+          "tcId" : 286,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303c021c628580a9adb02604525b1ee6b135e1a9c745021824582c52385a8173021c1ed2753ce0e50ea573ba500559f948838b95889d0fb21af2ce85a75f",
@@ -3058,20 +3430,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7ed08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLVU/CXp8Jjq8UZsNTKMlzBdDUqg\n5EYui696jn7Qj8QOsB3IVVd7rqnjBwdwYW9XsX6phUytk4ga\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7ed08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a",
         "wx" : "0b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7e",
         "wy" : "0d08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7ed08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLVU/CXp8Jjq8UZsNTKMlzBdDUqg\n5EYui696jn7Qj8QOsB3IVVd7rqnjBwdwYW9XsX6phUytk4ga\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 269,
+          "tcId" : 287,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303e021d00b982bea80d10816bb450a3faaaed4ed54fb197b3bff95af25d7d3786021d009e6ea2e58713f1304d29debf8559a74a89e018bae28b05556e5482a1",
@@ -3079,7 +3452,7 @@
           "flags" : []
         },
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00ba756b27dd4f6c795578207f7422ad8e1ce9b2269c1cdd78f399f5e5021c349524440fc7eaf8553471eb36806d6f57ac2cc622b96acb6cb6fa4b",
@@ -3087,7 +3460,7 @@
           "flags" : []
         },
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c20c0d4cd5c5919bb5fd7597fb16b8b688a0920a09fc8f905c61d5837021c10265abb068dc3652696dc9cfd6bde3faf0d255113d2c67541919bb3",
@@ -3095,7 +3468,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00cb3fd8aa5afa71fef0def1e8bfb6f9d3294852ff7796e4ed1969d69b021c2ba29a89dbab65c1f4f6493699a49f6525c53e7079e3e8b04aa27cef",
@@ -3103,7 +3476,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c434e3dd89c62d184ebbff3381998d65e262587551e2d5cd7c363c348021c04cd5dcbdf55da37ddb017b43c598011de9ef44ccd3f7beb58b0b865",
@@ -3111,7 +3484,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c32e4338400d6da3000a387cabd9c591bb6655b30778e88c936e6568c021c1c221fc827fe59b7031d55feb72e115b4b5ccd66b25b0ecc36000046",
@@ -3119,7 +3492,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c710c37bdd281f6b555b19191f276124495e6f3107dadeac88093607f021c30708492dc458cb80df1bd89bcba5f8396008878bfa171f45659527a",
@@ -3127,7 +3500,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303e021d009e0697c0da456a2307ec34976b81824da7ab53dc4aef71f18f88239f021d00b832d148bb79764875b34173a3a571b12f3bc272fb959a2520ca4495",
@@ -3135,7 +3508,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c785207e4354e55e458ac8e2c097b5627f63c19d8ae04e9f7042c18b7021c2abae674a4d5f4894bed0eac8a25d0bb025beb7c0a234ad16c4ccf99",
@@ -3143,7 +3516,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c129dce4db87a34c9c6a3bd0ffb9e08457827447c87ee0591f3476656021c79306c25b6922814f44dfa7cf3f1dec3341b9f4c3b9ad7633f10ccaa",
@@ -3151,7 +3524,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c4dabc5fe962b5f8a6681e94a2165d9b6be1940f20e27ceb73fc4ea7d021c746e9bba7efb90fcecc263c229a16d809d3547c28a26cd71a52abdc5",
@@ -3159,7 +3532,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00babe417d8a35754274546468ad80844ebe757569f032d8dce504f5b5021c7770f402ed46775e945cccf1d63c1c789a182c74c86f9de42987624f",
@@ -3167,7 +3540,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021c3d060bfd635fd6e77fddc1364cab4fb1d1e947c3d18f7ffb6931c540021d00bf2b652d489cd938939fbb606b827d4ba2797ea179601da68e6b7a94",
@@ -3175,7 +3548,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303e021d00926000093199a8ffea2b30807353c589bfa67c1cab70416235e2a4f5021d00d600ab30ab70afcadfd7905df9abc7079ffe44b1b834822dc21a7442",
@@ -3183,7 +3556,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c4e48f99f529802582c5dee87a916d8e1906e0495a9c1bfb88adbf15e021c57d614ab7e5ab325dbf617ae8368e41d6800ea75e72ed3f96e3fb13f",
@@ -3191,7 +3564,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303e021d00b26058ec42348b7fd8760589b381971d656fee1ccaf90258fdebda12021d00bda18580af3355a4dab38b5d1ae24273cd3b562ceb7ba41c1f80a105",
@@ -3199,7 +3572,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303e021d00aa05f1c9c2891640907eca5b95de643896818e2805b8f616d463ab8e021d00873230841c15abd2064936d1e7e40ae092b0a773d92b83e20dd3a01f",
@@ -3207,7 +3580,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c430c2580dfe044ccdd85b4ff20a5cfe3a04e645f20e2c6cedb180940021c3669a152244b98e5b9a1dcf2744574efc6905e7047caf04303e88c62",
@@ -3215,7 +3588,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00d07c02eff9cbbfc044bb1b01a46873fe2d9dc8979a9540e4dbd07d68021c539547a6035138f187e61d9db461fd294e958bc9137b41ee13ba79dc",
@@ -3223,7 +3596,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c5cf7da29833d9d79ce765b41445cfeb87097e9b09af84c60a95d1204021c1908014a0e861d27b5dbe4785e2f340aa6618084a0dd180dd81af796",
@@ -3231,7 +3604,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d0095b11e320007a2e0f8ce00f9058ca9b919e8d6aad544a8f9808b44a1021c15a962019c85a5b1fa7474162d03cd0e528e8b93bcc84920af579f61",
@@ -3239,7 +3612,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c35c61adeca7686039807e7c7cfa52b9820d02c3e42330127e0dbed89021c0b9561879279d6cf7f3d31bb44ec2e01cbee2fe67349a5e6e9703cff",
@@ -3247,7 +3620,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c26654e4fddebbc950fc1e4a2f38d2d0ec7f99d87efb408dea83b89f4021c3e0a8eff55b91708625add7b1cb06090a0ca9090ca32e823b37d867b",
@@ -3255,7 +3628,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c7c6741f30ef739b439840a08a3ee1f642eb60ecfc5c285cfd645f36b021c5492572d19f0721f3c586d1948bba2ee218301a0c2d24d0ceb37cc5c",
@@ -3263,7 +3636,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021c74c449469f41e7c0bf63a70c37c4e1144b4398665b0f7d7880069364021d00baf380e709c209b16071b36a6898a55b4844b6a49d9c8dbb9c658724",
@@ -3271,7 +3644,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c2fb12ab3ddb4a17ae88b082ce89a0c7b8dc0beed0ebcd3884b4b9a78021c3e526f6bd6e114bec8cd0ed2f7f755dcab5facdcbf8ec9f9a0f3fd10",
@@ -3279,7 +3652,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00c9aa0a2bd104d97f05f4da5e7330c242da7935d43e5834228b0ab14b021c3d1cc35a16fa1f006e9037d630fc43345892902f51e633fb172569ba",
@@ -3287,7 +3660,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00b4d81368ef579cc9029ed8c8211e9270cf79cce2431006a583f5a304021c385cac816b704e26b80b701c4e80b5303702d58aa0715f608a5391d9",
@@ -3295,7 +3668,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303e021d008056544bd4d2d5b01087d3b0751b0a341d0b350f6780e5caae67b11f021d00b98eb47d89aadbfdf6c4279d8829753b440e735cb38b1dbb428d7a0f",
@@ -3303,7 +3676,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c25145fc2a37861e8289ee269e8fee366730843f32017a9b6b83a7fe8021c7eeb69a821418a70a8a9eee2c59607036796918839f67a588f155b0c",
@@ -3311,7 +3684,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303e021d009e4dab9e0b0097e365783fc05f010c160d361df7925b0ddbdfece88b021d008406a365f078f031e6fad6511d69f8a65483c19a5a800c39490f7510",
@@ -3319,7 +3692,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c10ea9ef0f6b0762ebed9ec2ec0e8fde0b254c87beff6a975710d4ee9021d00d29cbcb4b2c0b475bdebdd6c7a2043bccb1ceda19a84cd6234f68b2c",
@@ -3327,7 +3700,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c7e362ec35e0c072e374cf04fb6eff855fcd8e10288113225976e033c021d009e1182ce4e7595357fa495615ceb02df59c416868cb28a58474e030f",
@@ -3335,7 +3708,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c104d42246af6d22318e688dafbb0703146817ee657d1b12499423460021d00a75680daa57dcce75f3cff4cf3b02909805943c3f5310b1f013b6d24",
@@ -3343,7 +3716,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021d00a23101edfa421660e5bd64ec13bc5260c10b2bb61e6887d09b64c649021c5610c1da8da1e3af8da09e11ef0bf307b073e8665cac9bbbaac83c59",
@@ -3351,7 +3724,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c44eb3256b59074a5405ba06f4c99d3fc19fa6ed1ff933f075d3d6e66021d00821fa7514a75cf244e4c2071541c4477dfc40bfeafd179127a5fa68f",
@@ -3359,7 +3732,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021d00c3a73348f5d2d0b6a2fff18c1b54462139f40f5b332717cd30072013021c2c7b47057955964960eb90f2d7b81bb21dc8bc4525f2e5a14e02a981",
@@ -3367,7 +3740,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c4b03770b93c962d4acc12fe635a755524fcb773faa783679cfa8c882021d00d1e3320eafe1a8f81016391687fdb7f0aa35922c36b9537655217f64",
@@ -3375,7 +3748,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c35acb58706f19cf74b862c34671de7a67f50f86ae298e6ddc9333626021c29c56614e6e2ba3231c998898c9265c6ec6fbca521d01ddc4368e0f5",
@@ -3383,7 +3756,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303e021d00c61fbbf5c63cb8e3426c95c327e329edbda7b6ffe75312df8bae43ed021d00a07284d3b51cc9d42aefb07c21b9304b7f3087610a82ba421c6eab92",
@@ -3393,20 +3766,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004802a0f51204ef6a829211bc0740887461ee4aba736e9caee000000007fb931e06300451362d444106eeb5dabddca650fec4be55fc545f7c8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIAqD1EgTvaoKSEbwHQIh0Ye5Kun\nNunK7gAAAAB/uTHgYwBFE2LURBBu612r3cplD+xL5V/FRffI\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04802a0f51204ef6a829211bc0740887461ee4aba736e9caee000000007fb931e06300451362d444106eeb5dabddca650fec4be55fc545f7c8",
         "wx" : "0802a0f51204ef6a829211bc0740887461ee4aba736e9caee00000000",
         "wy" : "7fb931e06300451362d444106eeb5dabddca650fec4be55fc545f7c8"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004802a0f51204ef6a829211bc0740887461ee4aba736e9caee000000007fb931e06300451362d444106eeb5dabddca650fec4be55fc545f7c8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIAqD1EgTvaoKSEbwHQIh0Ye5Kun\nNunK7gAAAAB/uTHgYwBFE2LURBBu612r3cplD+xL5V/FRffI\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303c021c0c93fd7f6dd0b697d5c287ee61aee4dcbedcc20885c1e6215b8b3608021c3bc7a1beccf1a8e83af2f5162fc539a1d062bd639a2fbec512907a27",
@@ -3414,7 +3788,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303e021d009e0b620a2f313ada756463a22988afb6571b3b030a4285b185e1cc80021d00c3eba04c42e64d4028acabcdcb7b2eed1b3cfb560b8d7d14fb26aca3",
@@ -3422,7 +3796,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303d021d00a306f500da4f0a30946479936aaf9c637676b0f02d20ae0d981c25eb021c015647f2500bcbe3204bdb804972b841890b4e53196cd8b188993151",
@@ -3432,20 +3806,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004cb320c84f26c00a1b4ad7146914cae126529165de7363d8aef9abd05a397d46b87283176b7f69da1f94615ca4431fc47b2a0e60c00000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMsyDITybAChtK1xRpFMrhJlKRZd\n5zY9iu+avQWjl9Rrhygxdrf2naH5RhXKRDH8R7Kg5gwAAAAA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cb320c84f26c00a1b4ad7146914cae126529165de7363d8aef9abd05a397d46b87283176b7f69da1f94615ca4431fc47b2a0e60c00000000",
         "wx" : "0cb320c84f26c00a1b4ad7146914cae126529165de7363d8aef9abd05",
         "wy" : "0a397d46b87283176b7f69da1f94615ca4431fc47b2a0e60c00000000"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004cb320c84f26c00a1b4ad7146914cae126529165de7363d8aef9abd05a397d46b87283176b7f69da1f94615ca4431fc47b2a0e60c00000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMsyDITybAChtK1xRpFMrhJlKRZd\n5zY9iu+avQWjl9Rrhygxdrf2naH5RhXKRDH8R7Kg5gwAAAAA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303c021c04f00dd44fdd8ae6b08b86ccbdd7d615aa9e498a89b35094c8a9a6fe021c49617a1617c56ce90d41c53eef4e628f24c047a06e02c1f92123441f",
@@ -3453,7 +3828,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303c021c1286f6a7375bf68051e31b2e32b5f6c0988c9189799256e7ce64e291021c52d3c1f9e777f23c17cbc832d0e5a84bb68b13debf393878d1a06498",
@@ -3461,7 +3836,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303c021c582825df2368dcb92fbba3fa6454d149d3b860e3ff326afe36215813021c49334fc6a70418dbc454da6a997bc8376270c3a38863adb2aa70bb0f",
@@ -3471,20 +3846,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000000081df971744a25ac99472c3ff5a8fc49b86fc9fb570448ff977f2d07c1c9296b2f77478d13d5ab1c63993962f2dd08ee7c313dece",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABAAAAACB35cXRKJayZRyw/9aj8Sb\nhvyftXBEj/l38tB8HJKWsvd0eNE9WrHGOZOWLy3QjufDE97O\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "040000000081df971744a25ac99472c3ff5a8fc49b86fc9fb570448ff977f2d07c1c9296b2f77478d13d5ab1c63993962f2dd08ee7c313dece",
         "wx" : "081df971744a25ac99472c3ff5a8fc49b86fc9fb570448ff9",
         "wy" : "77f2d07c1c9296b2f77478d13d5ab1c63993962f2dd08ee7c313dece"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000000081df971744a25ac99472c3ff5a8fc49b86fc9fb570448ff977f2d07c1c9296b2f77478d13d5ab1c63993962f2dd08ee7c313dece",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABAAAAACB35cXRKJayZRyw/9aj8Sb\nhvyftXBEj/l38tB8HJKWsvd0eNE9WrHGOZOWLy3QjufDE97O\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021c5a11718c90a02459800f109e4e840cc261d782d64e1c8a4712dd9081021d00d283b1c1e110a4620a696fdf74a9c7792352139d54cced8c973d9e7e",
@@ -3492,7 +3868,7 @@
           "flags" : []
         },
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021d00d577f23e592414e351b3928a593c5d2f89f0c72df513bfbc6535babb021c1bb09dd235124a14e0246946f280450f15576912aeb735b73ce828bc",
@@ -3500,7 +3876,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d00af8f836e63995dc715a4d3c6842c4e6c6cf4586df76e4659d809eec9021d0085befd0b1bb8ae182c05d071dad180224d22533dce737d4dda74d5d1",
@@ -3510,20 +3886,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b000000002801d48382861684b8d2cbd7e5989a0d7c15a7e819b573aa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA0otPf+H2xvpqd9EeQ70+knF1jf\nNMZfpXem3TsAAAAAKAHUg4KGFoS40svX5ZiaDXwVp+gZtXOq\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b000000002801d48382861684b8d2cbd7e5989a0d7c15a7e819b573aa",
         "wx" : "0d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b",
         "wy" : "2801d48382861684b8d2cbd7e5989a0d7c15a7e819b573aa"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b000000002801d48382861684b8d2cbd7e5989a0d7c15a7e819b573aa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA0otPf+H2xvpqd9EeQ70+knF1jf\nNMZfpXem3TsAAAAAKAHUg4KGFoS40svX5ZiaDXwVp+gZtXOq\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021c156aa78692c78e9769aba728c9eea78835b55000901ba50794a33efc021d00b9785df40a2213377481311b1a81d310e76341927b8fba0d6e3ec7ad",
@@ -3531,7 +3908,7 @@
           "flags" : []
         },
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021d009274d46a7ffa1299a372e821bd89728de83ef87c46af67043a634b02021c19e4bbec8b03fa772a3622bf4893e581efadf9d20bd60806d82676b6",
@@ -3539,7 +3916,7 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021d00cf6a9cba285e56493cbb462b7b16128a0cf1c7058447945daef34149021c29a687839e8ee03c5372a113733c081f413d1f9405ddfe47e18fcc54",
@@ -3549,20 +3926,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3bd7c134a9fe419202a79219a0bcff0bafcb066d4a1bc4e20d65134d55",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA0otPf+H2xvpqd9EeQ70+knF1jf\nNMZfpXem3TvXwTSp/kGSAqeSGaC8/wuvywZtShvE4g1lE01V\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3bd7c134a9fe419202a79219a0bcff0bafcb066d4a1bc4e20d65134d55",
         "wx" : "0d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b",
         "wy" : "0d7c134a9fe419202a79219a0bcff0bafcb066d4a1bc4e20d65134d55"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3bd7c134a9fe419202a79219a0bcff0bafcb066d4a1bc4e20d65134d55",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA0otPf+H2xvpqd9EeQ70+knF1jf\nNMZfpXem3TvXwTSp/kGSAqeSGaC8/wuvywZtShvE4g1lE01V\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303c021c592e54a0ea950ac7cd830f56c7954a769f81aa55e8e101bee19b3b27021c48375fdd4d9014c9b60b63c70bfe98c844be668f2d3a2e259262b945",
@@ -3570,7 +3948,7 @@
           "flags" : []
         },
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303c021c1ec0ef4d5bedafe5081f7adae32db4d0aa946f130acedabae26d90dc021c627e81d7eb358f59e8a8630527d4e8946d1cad2196761836d97d953c",
@@ -3578,7 +3956,7 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021c5faf035ed5774eeb0adc187ff485a846aa2abcf1e7f859b1b910f25c021d008bf12a1c00b18f66c228352de49cc4fb827a09fc86f722ce561ba5fa",
@@ -3588,20 +3966,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004512e581731c9c460bb705b60da976ccb1b0ef421785106ba2ccdd2380f21d5bacdf81c0cb78fa151237db3130ad4def373f3e523398c2cf7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFEuWBcxycRgu3BbYNqXbMsbDvQh\neFEGuizN0jgPIdW6zfgcDLePoVEjfbMTCtTe83Pz5SM5jCz3\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04512e581731c9c460bb705b60da976ccb1b0ef421785106ba2ccdd2380f21d5bacdf81c0cb78fa151237db3130ad4def373f3e523398c2cf7",
         "wx" : "512e581731c9c460bb705b60da976ccb1b0ef421785106ba2ccdd238",
         "wy" : "0f21d5bacdf81c0cb78fa151237db3130ad4def373f3e523398c2cf7"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004512e581731c9c460bb705b60da976ccb1b0ef421785106ba2ccdd2380f21d5bacdf81c0cb78fa151237db3130ad4def373f3e523398c2cf7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFEuWBcxycRgu3BbYNqXbMsbDvQh\neFEGuizN0jgPIdW6zfgcDLePoVEjfbMTCtTe83Pz5SM5jCz3\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP224t1",
           "msg" : "4d657373616765",
           "sig" : "303d021c52b2d369f18df56372afe7feb38413f232b4fb9ca16c6f6fedc64189021d00c1b19f137773ef3201cd341c381e4f9449cc0e6c688a351d7a6070b2",
@@ -3611,7 +3990,7 @@
           ]
         },
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP224t1",
           "msg" : "4d657373616765",
           "sig" : "303c021c5b889d288aaa81674d32006e81279c57ed56a035c878d3e2b687bec3021c0da621d5fa9813263c7f58f8e0155d6f0c330a56c594defc2ebdf0a0",
@@ -3621,7 +4000,7 @@
           ]
         },
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP224t1",
           "msg" : "4d657373616765",
           "sig" : "303e021d00b6f8a80187180aad8a5c896be214314601a1585f2ccb28bc7e8e8f01021d00a90c68c14a67f5d59cec70dc0f473b5c14013b056d12cbc0f7153b1d",
@@ -3631,6 +4010,236 @@
           ]
         }
       ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ac55d1b3fed4aee03fa3615d225a9cba5c0284416fbaf9a76135f76217a888395bced34977a8482370d56ebc62aa1ca81bc330f49d4a141d",
+        "wx" : "0ac55d1b3fed4aee03fa3615d225a9cba5c0284416fbaf9a76135f762",
+        "wy" : "17a888395bced34977a8482370d56ebc62aa1ca81bc330f49d4a141d"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004ac55d1b3fed4aee03fa3615d225a9cba5c0284416fbaf9a76135f76217a888395bced34977a8482370d56ebc62aa1ca81bc330f49d4a141d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABKxV0bP+1K7gP6NhXSJanLpcAoRB\nb7r5p2E192IXqIg5W87TSXeoSCNw1W68YqocqBvDMPSdShQd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 345,
+          "comment" : "x-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c16d4a8509c9bce2c73f8db4b73257c7e33f41726c25c4c64546b1dcc021c79ba35a96d2345ad194f391091209dfcced79917e04df3b65f44d1eb",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 346,
+          "comment" : "x-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c5da15697bbe4eba7707e349ff3239d508455378113d24e7e1d7a020c021c45be44a570fb530c49d759712c10041345f7c0890a7946d91d32bac6",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 347,
+          "comment" : "x-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00c1f8d43479c4f29b19b9b2c7b5747010491440746cc800d5be89b011021d008154348b7c37f0504dca2b115941f7ba5857321eae8f64175be9cbb9",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59b120f96343deb80093ecb7695c2d2a5be9937a258723d78ed00aa1edf",
+        "wx" : "08b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59b",
+        "wy" : "120f96343deb80093ecb7695c2d2a5be9937a258723d78ed00aa1edf"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00048b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59b120f96343deb80093ecb7695c2d2a5be9937a258723d78ed00aa1edf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIsxny7QdKIOxC2GnH+ZvZFG7YJj\nKXv+AE8nxZsSD5Y0PeuACT7LdpXC0qW+mTeiWHI9eO0Aqh7f\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 348,
+          "comment" : "y-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00871581b50092578211160e470dddaa640d5a2d9e224fafca879106d4021d00be70fd5c7591a3130f5c2af536ffff8e72c16251744c97968f921728",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 349,
+          "comment" : "y-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00a98735e5659022b0274ae6f7bcb1646e9e6b4b88408db3f926eccc89021d00a923ff5e15e0d764cd5cefffc5c40c082c6eb772db7662fb1b82d525",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 350,
+          "comment" : "y-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00a96b5c24e33d59004cf31aaef44ae4c7579e0b5b219ab25d7f1c690a021d0088c01378847c3841f49ec14840e2d023d7b912b503f2d98a923be8c9",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59bc5b19e75e857e67ceb4cb98fb2ff31c9176764ff259d11087e1ea220",
+        "wx" : "08b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59b",
+        "wy" : "0c5b19e75e857e67ceb4cb98fb2ff31c9176764ff259d11087e1ea220"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00048b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59bc5b19e75e857e67ceb4cb98fb2ff31c9176764ff259d11087e1ea220",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIsxny7QdKIOxC2GnH+ZvZFG7YJj\nKXv+AE8nxZvFsZ516FfmfOtMuY+y/zHJF2dk/yWdEQh+HqIg\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 351,
+          "comment" : "y-coordinate of the public key is large on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c6b57b73ab7c39b5698549dd5cdd4df7398181b556e7c7283375e3f86021d009f59d1863d6fd6013247d4e678a1c4fc1d896dc661fa31fb73c33f00",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 352,
+          "comment" : "y-coordinate of the public key is large on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c2f85af7e535f66cfc9a9dab7be781631dd622be435d7642b5b51fcc7021c619301c21c934255df93eedd5b459c8dd280fdd07ee656a7147d4d69",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 353,
+          "comment" : "y-coordinate of the public key is large on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d0098a8a98fcc82f804a823cc91072437cfd88322b8671686517f1978ab021c6ac3e83776685bcecefebae473ac07c771e83b0c5a557efe83502036",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c5dc5135f050a96bbb0d21885195b49a574d5198baac4b4602b21bc8b5f38b7fe661003faee1b7af670e165bfab70b018965e83329d405bc",
+        "wx" : "0c5dc5135f050a96bbb0d21885195b49a574d5198baac4b4602b21bc8",
+        "wy" : "0b5f38b7fe661003faee1b7af670e165bfab70b018965e83329d405bc"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c5dc5135f050a96bbb0d21885195b49a574d5198baac4b4602b21bc8b5f38b7fe661003faee1b7af670e165bfab70b018965e83329d405bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMXcUTXwUKlruw0hiFGVtJpXTVGY\nuqxLRgKyG8i184t/5mEAP67ht69nDhZb+rcLAYll6DMp1AW8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 354,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c699c40b735236bd9239770a5de2c1a7554631e6ba6ef512f8553d02f021c0bca9c516ca405ffc9ae2dcee12ad7d96b586bfdc818a3d45dcfcf26",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 355,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c768a819d3943fc30781aaef28fa120184c7212d0911fe03dfc8c6260021c51b3db0e1c3e939149ccbf9d4619bbbff0e2e174110f6ece4313b4ca",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 356,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c58fcc0ffb125c23c435735b7c390692037c03a6765ef7b5365a17dd4021d009518d29d78eda9cb2503fde38d3b73d6fb90a0d40a23f0ec26166969",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c1b56a1ad154e11556b723fc7493f36e66509d8f68fad0e62c40f0859b04780a85e69abf98def3335ce643cd3554167a8b50d596b9538895",
+        "wx" : "0c1b56a1ad154e11556b723fc7493f36e66509d8f68fad0e62c40f085",
+        "wy" : "09b04780a85e69abf98def3335ce643cd3554167a8b50d596b9538895"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c1b56a1ad154e11556b723fc7493f36e66509d8f68fad0e62c40f0859b04780a85e69abf98def3335ce643cd3554167a8b50d596b9538895",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMG1ahrRVOEVVrcj/HST825mUJ2P\naPrQ5ixA8IWbBHgKheaav5je8zNc5kPNNVQWeotQ1Za5U4iV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 357,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00d193ee0a3d42a23af018ab90896b35d5c250187bf9fb1ccac364748c021d00a0922accc7562d017109e91d2f83e48bfa3c1fa2ee04d8469be94033",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 358,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c0974521d7ce753dea5d1156fb4d992cc614079eb8677ab36a4078a4f021d008374dfbae8d0429a6fba60fbb5d2fd559856a5d739f39aa2bf1da1c9",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 359,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c625f473ca2d15bb7f12da1235f90adcb69ed4818746cae2e2db26fe6021c4ab817f6f1b9c8c49f681bed1568346f53ecbfacfd52d45e27abcbb0",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
     }
   ]
 }
diff --git a/src/third_party/wycheproof/ecdsa_brainpoolP256r1_sha256_test.json b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP256r1_sha256_test.json
similarity index 85%
rename from src/third_party/wycheproof/ecdsa_brainpoolP256r1_sha256_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_brainpoolP256r1_sha256_test.json
index 7b89226..876aa04 100644
--- a/src/third_party/wycheproof/ecdsa_brainpoolP256r1_sha256_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP256r1_sha256_test.json
@@ -1,7 +1,6 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 341,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
@@ -9,20 +8,22 @@
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 359,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004019a2d9637743a63ddaefdbca0ee229a163b809b9b145e5313bbeb8defeab9d6548caf89bf5ba49499404145651234336401b9b2843a579ed152e090f11b9e59",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAGaLZY3dDpj3a79vKDuIpoWO4Cb\nmxReUxO7643v6rnWVIyvib9bpJSZQEFFZRI0M2QBubKEOlee0VLgkPEbnlk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04019a2d9637743a63ddaefdbca0ee229a163b809b9b145e5313bbeb8defeab9d6548caf89bf5ba49499404145651234336401b9b2843a579ed152e090f11b9e59",
         "wx" : "19a2d9637743a63ddaefdbca0ee229a163b809b9b145e5313bbeb8defeab9d6",
         "wy" : "548caf89bf5ba49499404145651234336401b9b2843a579ed152e090f11b9e59"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004019a2d9637743a63ddaefdbca0ee229a163b809b9b145e5313bbeb8defeab9d6548caf89bf5ba49499404145651234336401b9b2843a579ed152e090f11b9e59",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAGaLZY3dDpj3a79vKDuIpoWO4Cb\nmxReUxO7643v6rnWVIyvib9bpJSZQEFFZRI0M2QBubKEOlee0VLgkPEbnlk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -36,7 +37,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304402202440b00de8c6c2caff40d4a92e21cb5e40b53cd66296534082dfe6b9840613300220352db8c44dd8bba94d5c43fba80cba0481a63e60016b1703b9cc0bcba9701887",
+          "sig" : "3044022015ddcec22037a236c9fee865fd2323abdf6e5366fd7cc6c0c7623ffba8074168022038f47dfa3d0b3b8a67a31e8ad2e7c4778bb397230c445fe1134e7951cabba8aa",
           "result" : "valid",
           "flags" : []
         },
@@ -44,7 +45,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304402206ac21e51a7de98bac9052dcaa98daebf98161f2c28a45f099b5306ecda66bdb402200bd37d7e15a660ace09d0000e047b84c27f7812404fca7e57040a32ca32fc1ff",
+          "sig" : "30440220629c5d9bff9ac636081cba1f74e747119607953366cafd65d4c22344faf58a7302204cfd0b17a242ebb711199516b34f7c14943193358a8acedf4665b02925cfb115",
           "result" : "valid",
           "flags" : []
         },
@@ -52,7 +53,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304502204b69a0f8c8d8ca25839cc4de98ff7e6a383f680383aacc8a5d88945e499740f10221009dcc1528103e2e924f1bfce57351c4ebe00a1ab5c0eab3d4cb12f0821526ce77",
+          "sig" : "304502206702e91bddec510c471dbf11fcf79516e847d1a156397d85c4dd18e3390e7600022100972fdb9a3c307fb76bfa9299419ef7570ff8e898653db5c5222fa1815f85b44e",
           "result" : "valid",
           "flags" : []
         },
@@ -60,7 +61,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30450220257bed3322bfa437df5825989783142fd43e2a80d52f021bb9330ebf8b29656002210098c443f939ca786726eb0149c12cbaabd0bc984ee4a347731d1565967345256e",
+          "sig" : "3046022100a46eb9e63831fec087e28ae51b5b9e3f511e07bb174591e039a4ceb7de8dc94702210099943db7ed520134abf44268d316f0239ffc04e1b54395b43652a85a02d4dd84",
           "result" : "valid",
           "flags" : []
         },
@@ -68,7 +69,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304502210093e58a5b712d6508b13fe34a1c39d0dfd77fed09b2c8593316902792c4e0aaca022054e1fa0c3d1def63f9cc5881c8e31fbc561f04c367c7cfbb3e92250a04e88544",
+          "sig" : "3045022034236a902cbd2a28f83d3a10d8537ab4c5bef21511b4bedc0efc6af0f347fc6d0221008f10ca955782ed3e0e51baecca79fe47c450056743f68afd1f74bc3a1ee9badb",
           "result" : "valid",
           "flags" : []
         },
@@ -86,7 +87,9 @@
           "msg" : "313233343030",
           "sig" : "30814402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 9,
@@ -94,7 +97,9 @@
           "msg" : "313233343030",
           "sig" : "30450281200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -102,7 +107,9 @@
           "msg" : "313233343030",
           "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f028120678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -110,7 +117,9 @@
           "msg" : "313233343030",
           "sig" : "3082004402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -118,7 +127,9 @@
           "msg" : "313233343030",
           "sig" : "3046028200200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -126,7 +137,9 @@
           "msg" : "313233343030",
           "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f02820020678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -378,6 +391,14 @@
         },
         {
           "tcId" : 45,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000",
@@ -385,7 +406,7 @@
           "flags" : []
         },
         {
-          "tcId" : 46,
+          "tcId" : 47,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3046000002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -393,24 +414,16 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
-          "comment" : "appending unused 0's",
+          "tcId" : 48,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f00000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 49,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390500",
           "result" : "invalid",
@@ -418,22 +431,6 @@
         },
         {
           "tcId" : 50,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "304602220a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f05000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0222678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3049498177304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -441,7 +438,7 @@
           "flags" : []
         },
         {
-          "tcId" : 53,
+          "tcId" : 51,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30482500304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -449,7 +446,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3046304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390004deadbeef",
@@ -457,7 +454,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3049222549817702200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -465,7 +462,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30482224250002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -473,7 +470,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304c222202200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0004deadbeef0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -481,7 +478,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304902200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f22254981770220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -489,7 +486,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304802200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f222425000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -497,7 +494,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304c02200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f22220220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390004deadbeef",
@@ -505,7 +502,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304caa00bb00cd00304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -513,7 +510,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304aaa02aabb304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -521,7 +518,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304c2228aa00bb00cd0002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -529,7 +526,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304a2226aa02aabb02200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -537,7 +534,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304c02200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f2228aa00bb00cd000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -545,7 +542,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304a02200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f2226aa02aabb0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -553,7 +550,15 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000",
@@ -561,7 +566,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3048228002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f00000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -569,7 +574,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "304802200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f22800220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000",
@@ -577,7 +582,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080314402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000",
@@ -585,7 +590,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3048228003200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f00000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -593,7 +598,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "304802200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f22800320678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000",
@@ -601,7 +606,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -609,127 +614,47 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
-          "comment" : "changing tag value",
+          "tcId" : 73,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e4402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f4402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "314402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "324402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff4402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304400200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304401200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304403200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304404200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3044ff200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0020678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0120678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0320678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0420678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111fff20678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
+          "tcId" : 78,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -737,31 +662,15 @@
           "flags" : []
         },
         {
-          "tcId" : 90,
-          "comment" : "using composition",
+          "tcId" : 79,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "30483001023043200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3048222402010a021f5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "304802200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f2224020167021f8cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
+          "tcId" : 80,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "304302200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c",
@@ -769,7 +678,7 @@
           "flags" : []
         },
         {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3043200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -777,15 +686,17 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "308002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "308002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c3900",
@@ -793,7 +704,7 @@
           "flags" : []
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "308002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c3905000000",
@@ -801,7 +712,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "308002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39060811220000",
@@ -809,7 +720,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "308002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000fe02beef",
@@ -817,7 +728,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "308002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390002beef",
@@ -825,7 +736,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "3046300002200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -833,7 +744,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c393000",
@@ -841,7 +752,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "3046304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -849,7 +760,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "302202200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f",
@@ -857,7 +768,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "306602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -865,7 +776,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "30220220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -873,7 +784,23 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3023020220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302302200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f02",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304602220a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f00000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -881,7 +808,7 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0222678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390000",
@@ -889,23 +816,67 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3046022200000a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f02220000678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f00000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 111,
+          "tcId" : 101,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304602220a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f05000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304602200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0222678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c390500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "302402810220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "302402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "302405000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -913,7 +884,7 @@
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "302402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0500",
@@ -921,7 +892,87 @@
           "flags" : []
         },
         {
+          "tcId" : 107,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304400200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304401200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304403200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304404200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3044ff200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0020678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0120678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0320678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0420678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111fff20678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "302402000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -929,7 +980,7 @@
           "flags" : []
         },
         {
-          "tcId" : 114,
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "302402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0200",
@@ -937,7 +988,23 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3048222402010a021f5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "304802200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f2224020167021f8cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "30440220085f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -945,7 +1012,7 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220658cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -953,7 +1020,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d119f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -961,7 +1028,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737cb9",
@@ -969,7 +1036,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3043021f0a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d110220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -977,7 +1044,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3043021f5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -985,7 +1052,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "304302200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f021f678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c",
@@ -993,7 +1060,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "304302200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f021f8cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -1001,7 +1068,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30450221ff0a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -1009,7 +1076,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0221ff678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -1017,7 +1084,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "30250901800220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
@@ -1025,7 +1092,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "302502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f090180",
@@ -1033,66 +1100,18 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3045022100b45ae44c5c1bb1ff143702d28ee43a86a590e44bcafda560b652e5bfdde567c60220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30450221ff60643495183e5e86976aedb153dd1fa38d1def04603a57719616c8baaf54ba780220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30440220f5a0738f45d2f7bd2a2f07be0e9f52eae6a89657ea640196d9cb28c2b962eee10220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30450221009f9bcb6ae7c1a1796895124eac22e05c72e210fb9fc5a88e69e9374550ab45880220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30450221ff4ba51bb3a3e44e00ebc8fd2d711bc5795a6f1bb435025a9f49ad1a40221a983a0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30450221010a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3045022100f5a0738f45d2f7bd2a2f07be0e9f52eae6a89657ea640196d9cb28c2b962eee10220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "sig" : "30250201000220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f02210111882a3c969d5bcde5e743207acbd4f19408be76e0d514d7a9af7b6457bbd2e0",
+          "sig" : "302502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1100,7 +1119,7 @@
           "tcId" : 135,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220bd917a8552c00855691b2dff3fc4ba0e7b95c92f7611c6e889735e5f292b2592",
+          "sig" : "3045022100b45ae44c5c1bb1ff143702d28ee43a86a590e44bcafda560b652e5bfdde567c60220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
@@ -1108,7 +1127,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f022098732d9f0b514dee587ec77022b7b87ff830bc2cd48c921fe66e931e3f8c83c7",
+          "sig" : "30450221ff60643495183e5e86976aedb153dd1fa38d1def04603a57719616c8baaf54ba780220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
@@ -1116,7 +1135,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0221feee77d5c36962a4321a18bcdf85342b0e6bf741891f2aeb285650849ba8442d20",
+          "sig" : "30440220f5a0738f45d2f7bd2a2f07be0e9f52eae6a89657ea640196d9cb28c2b962eee10220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
@@ -1124,7 +1143,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f022101678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "sig" : "30450221009f9bcb6ae7c1a1796895124eac22e05c72e210fb9fc5a88e69e9374550ab45880220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
@@ -1132,12 +1151,76 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f02210098732d9f0b514dee587ec77022b7b87ff830bc2cd48c921fe66e931e3f8c83c7",
+          "sig" : "30450221ff4ba51bb3a3e44e00ebc8fd2d711bc5795a6f1bb435025a9f49ad1a40221a983a0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 140,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30450221010a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3045022100f5a0738f45d2f7bd2a2f07be0e9f52eae6a89657ea640196d9cb28c2b962eee10220678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f02210111882a3c969d5bcde5e743207acbd4f19408be76e0d514d7a9af7b6457bbd2e0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0220bd917a8552c00855691b2dff3fc4ba0e7b95c92f7611c6e889735e5f292b2592",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f022098732d9f0b514dee587ec77022b7b87ff830bc2cd48c921fe66e931e3f8c83c7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f0221feee77d5c36962a4321a18bcdf85342b0e6bf741891f2aeb285650849ba8442d20",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f022101678cd260f4aeb211a781388fdd48478007cf43d32b736de019916ce1c0737c39",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502200a5f8c70ba2d0842d5d0f841f160ad15195769a8159bfe692634d73d469d111f02210098732d9f0b514dee587ec77022b7b87ff830bc2cd48c921fe66e931e3f8c83c7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1147,7 +1230,7 @@
           ]
         },
         {
-          "tcId" : 141,
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1157,7 +1240,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1167,7 +1250,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
@@ -1177,7 +1260,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
@@ -1187,7 +1270,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
@@ -1197,7 +1280,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
@@ -1207,7 +1290,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
@@ -1217,7 +1300,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1227,7 +1310,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1237,90 +1320,10 @@
           ]
         },
         {
-          "tcId" : 150,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 151,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 152,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 153,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 154,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 155,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 156,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 157,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020100",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1330,7 +1333,7 @@
           "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020101",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1340,7 +1343,7 @@
           "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
+          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1350,7 +1353,7 @@
           "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
+          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1360,7 +1363,7 @@
           "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
+          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1370,7 +1373,7 @@
           "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
+          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1380,7 +1383,7 @@
           "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
+          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1390,7 +1393,7 @@
           "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1400,7 +1403,7 @@
           "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1410,7 +1413,7 @@
           "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020100",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1420,7 +1423,7 @@
           "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1430,7 +1433,7 @@
           "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a70201ff",
+          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1440,7 +1443,7 @@
           "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
+          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1450,7 +1453,7 @@
           "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
+          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1460,7 +1463,7 @@
           "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
+          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1470,7 +1473,7 @@
           "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
+          "sig" : "30260201ff022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1480,7 +1483,7 @@
           "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1490,7 +1493,7 @@
           "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7090380fe01",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1500,7 +1503,7 @@
           "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6020100",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1510,7 +1513,7 @@
           "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6020101",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a70201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1520,7 +1523,7 @@
           "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a60201ff",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1530,7 +1533,7 @@
           "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1540,7 +1543,7 @@
           "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1550,7 +1553,7 @@
           "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1560,7 +1563,7 @@
           "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1570,7 +1573,7 @@
           "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
+          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1580,7 +1583,7 @@
           "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6090380fe01",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1590,7 +1593,7 @@
           "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020100",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1600,7 +1603,7 @@
           "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020101",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a60201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1610,7 +1613,7 @@
           "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a80201ff",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1620,7 +1623,7 @@
           "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1630,7 +1633,7 @@
           "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1640,7 +1643,7 @@
           "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1650,7 +1653,7 @@
           "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1660,7 +1663,7 @@
           "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
+          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1670,7 +1673,7 @@
           "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8090380fe01",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1680,7 +1683,7 @@
           "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377020100",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1690,7 +1693,7 @@
           "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377020101",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a80201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1700,7 +1703,7 @@
           "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53770201ff",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1710,7 +1713,7 @@
           "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1720,7 +1723,7 @@
           "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1730,7 +1733,7 @@
           "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1740,7 +1743,7 @@
           "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1750,7 +1753,7 @@
           "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
+          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1760,7 +1763,7 @@
           "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377090380fe01",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1770,7 +1773,7 @@
           "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378020100",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1780,7 +1783,7 @@
           "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378020101",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53770201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1790,7 +1793,7 @@
           "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53780201ff",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1800,7 +1803,7 @@
           "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1810,7 +1813,7 @@
           "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1820,7 +1823,7 @@
           "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1830,7 +1833,7 @@
           "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1840,7 +1843,7 @@
           "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
+          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1850,7 +1853,7 @@
           "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378090380fe01",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1858,6 +1861,86 @@
         },
         {
           "tcId" : 212,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e53780201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a7",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a6",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5377",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5378090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3638393434",
           "sig" : "304402200c939a92486c6d0d619510b4a94162b9221be2eb15faf878bff75e6cdf4e370702203977619b43e6b4ea1870d861206483b306560e3c4a3ef82b11a802ff8892dc1d",
@@ -1867,20 +1950,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044b402a9ae18fc1a87cda337483900499fe729e471607671651a263fbf0d93f781ef9b0f98fb73bcb605a7823a427ea5f0d98788c7dae42a04536202022c021cd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEtAKprhj8GofNozdIOQBJn+cp5H\nFgdnFlGiY/vw2T94Hvmw+Y+3O8tgWngjpCfqXw2YeIx9rkKgRTYgICLAIc0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044b402a9ae18fc1a87cda337483900499fe729e471607671651a263fbf0d93f781ef9b0f98fb73bcb605a7823a427ea5f0d98788c7dae42a04536202022c021cd",
         "wx" : "4b402a9ae18fc1a87cda337483900499fe729e471607671651a263fbf0d93f78",
         "wy" : "1ef9b0f98fb73bcb605a7823a427ea5f0d98788c7dae42a04536202022c021cd"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044b402a9ae18fc1a87cda337483900499fe729e471607671651a263fbf0d93f781ef9b0f98fb73bcb605a7823a427ea5f0d98788c7dae42a04536202022c021cd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEtAKprhj8GofNozdIOQBJn+cp5H\nFgdnFlGiY/vw2T94Hvmw+Y+3O8tgWngjpCfqXw2YeIx9rkKgRTYgICLAIc0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "3036021100e2027b801fc479308ff5399a8825fccf022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
@@ -1888,7 +1972,7 @@
           "flags" : []
         },
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5376022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
@@ -1898,20 +1982,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000440a2df0f17c7873459d5e9ac11fff84deb5f40ff9a52df8745bb4770f6dbf58199c2bf4920e9c8f758c2de69e42c1cb77c58425a9dafa41d7b0873efa894cedc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABECi3w8Xx4c0WdXprBH/+E3rX0D/\nmlLfh0W7R3D22/WBmcK/SSDpyPdYwt5p5Cwct3xYQlqdr6Qdewhz76iUztw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0440a2df0f17c7873459d5e9ac11fff84deb5f40ff9a52df8745bb4770f6dbf58199c2bf4920e9c8f758c2de69e42c1cb77c58425a9dafa41d7b0873efa894cedc",
         "wx" : "40a2df0f17c7873459d5e9ac11fff84deb5f40ff9a52df8745bb4770f6dbf581",
         "wy" : "099c2bf4920e9c8f758c2de69e42c1cb77c58425a9dafa41d7b0873efa894cedc"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000440a2df0f17c7873459d5e9ac11fff84deb5f40ff9a52df8745bb4770f6dbf58199c2bf4920e9c8f758c2de69e42c1cb77c58425a9dafa41d7b0873efa894cedc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABECi3w8Xx4c0WdXprBH/+E3rX0D/\nmlLfh0W7R3D22/WBmcK/SSDpyPdYwt5p5Cwct3xYQlqdr6Qdewhz76iUztw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a3022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a2",
@@ -1921,20 +2006,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200049de669f9444da82e429f842f31c64418d4d7b05e93f41daddd09fc181ac227c61c86210e8291fc5ae30c72e2013ec22bb97d88bf376d4a85dd1bb71b22526d1f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJ3maflETaguQp+ELzHGRBjU17Be\nk/Qdrd0J/BgawifGHIYhDoKR/FrjDHLiAT7CK7l9iL83bUqF3Ru3GyJSbR8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "049de669f9444da82e429f842f31c64418d4d7b05e93f41daddd09fc181ac227c61c86210e8291fc5ae30c72e2013ec22bb97d88bf376d4a85dd1bb71b22526d1f",
         "wx" : "09de669f9444da82e429f842f31c64418d4d7b05e93f41daddd09fc181ac227c6",
         "wy" : "1c86210e8291fc5ae30c72e2013ec22bb97d88bf376d4a85dd1bb71b22526d1f"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200049de669f9444da82e429f842f31c64418d4d7b05e93f41daddd09fc181ac227c61c86210e8291fc5ae30c72e2013ec22bb97d88bf376d4a85dd1bb71b22526d1f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJ3maflETaguQp+ELzHGRBjU17Be\nk/Qdrd0J/BgawifGHIYhDoKR/FrjDHLiAT7CK7l9iL83bUqF3Ru3GyJSbR8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "304402207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02204ab8de0a51481bc45794b924518f2dd6ac5cce31f3228d624c5a896f79a2d6a2",
@@ -1944,20 +2030,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000430345b6451377b78a54ac6e110f50c7de71c2c760278373607722c53f586790759acc40014c93d4ad44778bc1a44ebaebe1a97c88ad11c1025057b6bc4377f2d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDA0W2RRN3t4pUrG4RD1DH3nHCx2\nAng3NgdyLFP1hnkHWazEABTJPUrUR3i8GkTrrr4al8iK0RwQJQV7a8Q3fy0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0430345b6451377b78a54ac6e110f50c7de71c2c760278373607722c53f586790759acc40014c93d4ad44778bc1a44ebaebe1a97c88ad11c1025057b6bc4377f2d",
         "wx" : "30345b6451377b78a54ac6e110f50c7de71c2c760278373607722c53f5867907",
         "wy" : "59acc40014c93d4ad44778bc1a44ebaebe1a97c88ad11c1025057b6bc4377f2d"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000430345b6451377b78a54ac6e110f50c7de71c2c760278373607722c53f586790759acc40014c93d4ad44778bc1a44ebaebe1a97c88ad11c1025057b6bc4377f2d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDA0W2RRN3t4pUrG4RD1DH3nHCx2\nAng3NgdyLFP1hnkHWazEABTJPUrUR3i8GkTrrr4al8iK0RwQJQV7a8Q3fy0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "304502207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0221008b1b5f89f5bb74caa42d36e601a9f3c20b4e6c91ceb98a52fbfa9f81781b8a17",
@@ -1967,20 +2054,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004149d893f1306fb253bbf3a8691aba8a50002b0a27693aa97435a7b5cb33a55ee24b075fcdbc1a739f2f492dbe4799474ee3ad3804447e7d584e3430ce15a968a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBSdiT8TBvslO786hpGrqKUAArCi\ndpOql0Nae1yzOlXuJLB1/NvBpzny9JLb5HmUdO4604BER+fVhONDDOFaloo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04149d893f1306fb253bbf3a8691aba8a50002b0a27693aa97435a7b5cb33a55ee24b075fcdbc1a739f2f492dbe4799474ee3ad3804447e7d584e3430ce15a968a",
         "wx" : "149d893f1306fb253bbf3a8691aba8a50002b0a27693aa97435a7b5cb33a55ee",
         "wy" : "24b075fcdbc1a739f2f492dbe4799474ee3ad3804447e7d584e3430ce15a968a"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004149d893f1306fb253bbf3a8691aba8a50002b0a27693aa97435a7b5cb33a55ee24b075fcdbc1a739f2f492dbe4799474ee3ad3804447e7d584e3430ce15a968a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBSdiT8TBvslO786hpGrqKUAArCi\ndpOql0Nae1yzOlXuJLB1/NvBpzny9JLb5HmUdO4604BER+fVhONDDOFaloo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1990,20 +2078,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004156e626649ce8236982201a24935fb3d36b0d73041b6fdca97990a8d152efb8b326f4b20a0cc4623b02a6bb17114901a01de0df1716d669d253de440cc8f9cdd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBVuYmZJzoI2mCIBokk1+z02sNcw\nQbb9ypeZCo0VLvuLMm9LIKDMRiOwKmuxcRSQGgHeDfFxbWadJT3kQMyPnN0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04156e626649ce8236982201a24935fb3d36b0d73041b6fdca97990a8d152efb8b326f4b20a0cc4623b02a6bb17114901a01de0df1716d669d253de440cc8f9cdd",
         "wx" : "156e626649ce8236982201a24935fb3d36b0d73041b6fdca97990a8d152efb8b",
         "wy" : "326f4b20a0cc4623b02a6bb17114901a01de0df1716d669d253de440cc8f9cdd"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004156e626649ce8236982201a24935fb3d36b0d73041b6fdca97990a8d152efb8b326f4b20a0cc4623b02a6bb17114901a01de0df1716d669d253de440cc8f9cdd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBVuYmZJzoI2mCIBokk1+z02sNcw\nQbb9ypeZCo0VLvuLMm9LIKDMRiOwKmuxcRSQGgHeDfFxbWadJT3kQMyPnN0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -2013,20 +2102,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000410cc7992ede28c7b4dda5c35cbd71174918e83adab0342cc3d556a413b4ce93b3f9c3b38aef0a0e687d7ee6afde70d47d6900ff0ce62156e8645b8103fc66cad",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBDMeZLt4ox7TdpcNcvXEXSRjoOt\nqwNCzD1VakE7TOk7P5w7OK7woOaH1+5q/ecNR9aQD/DOYhVuhkW4ED/GbK0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0410cc7992ede28c7b4dda5c35cbd71174918e83adab0342cc3d556a413b4ce93b3f9c3b38aef0a0e687d7ee6afde70d47d6900ff0ce62156e8645b8103fc66cad",
         "wx" : "10cc7992ede28c7b4dda5c35cbd71174918e83adab0342cc3d556a413b4ce93b",
         "wy" : "3f9c3b38aef0a0e687d7ee6afde70d47d6900ff0ce62156e8645b8103fc66cad"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000410cc7992ede28c7b4dda5c35cbd71174918e83adab0342cc3d556a413b4ce93b3f9c3b38aef0a0e687d7ee6afde70d47d6900ff0ce62156e8645b8103fc66cad",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBDMeZLt4ox7TdpcNcvXEXSRjoOt\nqwNCzD1VakE7TOk7P5w7OK7woOaH1+5q/ecNR9aQD/DOYhVuhkW4ED/GbK0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -2034,7 +2124,7 @@
           "flags" : []
         },
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020103",
@@ -2044,20 +2134,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042ba28f6236c5a774cd104b036d2e016711cb4a83fa078b5150f69e5098de7b4ca7c13ef8c57fcbe684ceff312ef53af1b14397d4154ba6106a3383aaed16ecb1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCuij2I2xad0zRBLA20uAWcRy0qD\n+geLUVD2nlCY3ntMp8E++MV/y+aEzv8xLvU68bFDl9QVS6YQajODqu0W7LE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042ba28f6236c5a774cd104b036d2e016711cb4a83fa078b5150f69e5098de7b4ca7c13ef8c57fcbe684ceff312ef53af1b14397d4154ba6106a3383aaed16ecb1",
         "wx" : "2ba28f6236c5a774cd104b036d2e016711cb4a83fa078b5150f69e5098de7b4c",
         "wy" : "0a7c13ef8c57fcbe684ceff312ef53af1b14397d4154ba6106a3383aaed16ecb1"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042ba28f6236c5a774cd104b036d2e016711cb4a83fa078b5150f69e5098de7b4ca7c13ef8c57fcbe684ceff312ef53af1b14397d4154ba6106a3383aaed16ecb1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCuij2I2xad0zRBLA20uAWcRy0qD\n+geLUVD2nlCY3ntMp8E++MV/y+aEzv8xLvU68bFDl9QVS6YQajODqu0W7LE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82975b2d2e",
@@ -2067,20 +2158,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004113489555bdc112352b08b7ffebcf05090f94da62367646b2e03a3478863914b4b4a0a435462a122f6d9ac801319bbc6d2c59228861a3414b500e5cf5943c964",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBE0iVVb3BEjUrCLf/688FCQ+U2m\nI2dkay4Do0eIY5FLS0oKQ1RioSL22ayAExm7xtLFkiiGGjQUtQDlz1lDyWQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04113489555bdc112352b08b7ffebcf05090f94da62367646b2e03a3478863914b4b4a0a435462a122f6d9ac801319bbc6d2c59228861a3414b500e5cf5943c964",
         "wx" : "113489555bdc112352b08b7ffebcf05090f94da62367646b2e03a3478863914b",
         "wy" : "4b4a0a435462a122f6d9ac801319bbc6d2c59228861a3414b500e5cf5943c964"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004113489555bdc112352b08b7ffebcf05090f94da62367646b2e03a3478863914b4b4a0a435462a122f6d9ac801319bbc6d2c59228861a3414b500e5cf5943c964",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBE0iVVb3BEjUrCLf/688FCQ+U2m\nI2dkay4Do0eIY5FLS0oKQ1RioSL22ayAExm7xtLFkiiGGjQUtQDlz1lDyWQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "30260202010102202827370584fdeb9f5d5a9fb9579a09390efb6f9d99b64fc188d8bce05c2d4eed",
@@ -2090,20 +2182,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000434224746efa8c5d4f4c6b82de4d76d3e7150c1b69e23339f098ff769bcac94bf94618e3624a57d48d19e72867dbc191a0fd05cf6f4b5ec497b797626a57baa22",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDQiR0bvqMXU9Ma4LeTXbT5xUMG2\nniMznwmP92m8rJS/lGGONiSlfUjRnnKGfbwZGg/QXPb0texJe3l2JqV7qiI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0434224746efa8c5d4f4c6b82de4d76d3e7150c1b69e23339f098ff769bcac94bf94618e3624a57d48d19e72867dbc191a0fd05cf6f4b5ec497b797626a57baa22",
         "wx" : "34224746efa8c5d4f4c6b82de4d76d3e7150c1b69e23339f098ff769bcac94bf",
         "wy" : "094618e3624a57d48d19e72867dbc191a0fd05cf6f4b5ec497b797626a57baa22"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000434224746efa8c5d4f4c6b82de4d76d3e7150c1b69e23339f098ff769bcac94bf94618e3624a57d48d19e72867dbc191a0fd05cf6f4b5ec497b797626a57baa22",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDQiR0bvqMXU9Ma4LeTXbT5xUMG2\nniMznwmP92m8rJS/lGGONiSlfUjRnnKGfbwZGg/QXPb0texJe3l2JqV7qiI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "302b02072d9b4d347952ce02204937a087731df4febc2c3a81ddfbab5dc3af950817f41b590d156ed409ad2869",
@@ -2113,20 +2206,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046fb0cdf3b08dc5d8b7e5259c7d1bbd31a2235345b7b445631e894b567d23c07953243207df5c446011c1cfedde6e5351958affa8f274fe5af435759de87db343",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG+wzfOwjcXYt+UlnH0bvTGiI1NF\nt7RFYx6JS1Z9I8B5UyQyB99cRGARwc/t3m5TUZWK/6jydP5a9DV1neh9s0M=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046fb0cdf3b08dc5d8b7e5259c7d1bbd31a2235345b7b445631e894b567d23c07953243207df5c446011c1cfedde6e5351958affa8f274fe5af435759de87db343",
         "wx" : "6fb0cdf3b08dc5d8b7e5259c7d1bbd31a2235345b7b445631e894b567d23c079",
         "wy" : "53243207df5c446011c1cfedde6e5351958affa8f274fe5af435759de87db343"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046fb0cdf3b08dc5d8b7e5259c7d1bbd31a2235345b7b445631e894b567d23c07953243207df5c446011c1cfedde6e5351958affa8f274fe5af435759de87db343",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG+wzfOwjcXYt+UlnH0bvTGiI1NF\nt7RFYx6JS1Z9I8B5UyQyB99cRGARwc/t3m5TUZWK/6jydP5a9DV1neh9s0M=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3032020d1033e67e37b32b445580bf4efb02210091827d03bb6dac31940ba56ed88489048ff173f0bf20cab20dcc086fca37f285",
@@ -2136,20 +2230,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040b8d3bef12ebab43f2f6f6618f0843d5f45d97874f26f9a36b788cb7a69ecf5f855588c99b3839ca9361ddc77645f7592ad371438ee3e186c74081c481dd5295",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAuNO+8S66tD8vb2YY8IQ9X0XZeH\nTyb5o2t4jLemns9fhVWIyZs4OcqTYd3HdkX3WSrTcUOO4+GGx0CBxIHdUpU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040b8d3bef12ebab43f2f6f6618f0843d5f45d97874f26f9a36b788cb7a69ecf5f855588c99b3839ca9361ddc77645f7592ad371438ee3e186c74081c481dd5295",
         "wx" : "0b8d3bef12ebab43f2f6f6618f0843d5f45d97874f26f9a36b788cb7a69ecf5f",
         "wy" : "0855588c99b3839ca9361ddc77645f7592ad371438ee3e186c74081c481dd5295"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040b8d3bef12ebab43f2f6f6618f0843d5f45d97874f26f9a36b788cb7a69ecf5f855588c99b3839ca9361ddc77645f7592ad371438ee3e186c74081c481dd5295",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAuNO+8S66tD8vb2YY8IQ9X0XZeH\nTyb5o2t4jLemns9fhVWIyZs4OcqTYd3HdkX3WSrTcUOO4+GGx0CBxIHdUpU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "30260202010102203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15",
@@ -2159,20 +2254,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046d24985342a45a55fd99e47521fe3e991b8a1d376fa73899d3bacc067c12ee0d6542f148599fccb99b1ba28d3805814292a99bffe371df277b09e8ada1253dcd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG0kmFNCpFpV/ZnkdSH+Ppkbih03\nb6c4mdO6zAZ8Eu4NZULxSFmfzLmbG6KNOAWBQpKpm//jcd8newnoraElPc0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046d24985342a45a55fd99e47521fe3e991b8a1d376fa73899d3bacc067c12ee0d6542f148599fccb99b1ba28d3805814292a99bffe371df277b09e8ada1253dcd",
         "wx" : "6d24985342a45a55fd99e47521fe3e991b8a1d376fa73899d3bacc067c12ee0d",
         "wy" : "6542f148599fccb99b1ba28d3805814292a99bffe371df277b09e8ada1253dcd"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046d24985342a45a55fd99e47521fe3e991b8a1d376fa73899d3bacc067c12ee0d6542f148599fccb99b1ba28d3805814292a99bffe371df277b09e8ada1253dcd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG0kmFNCpFpV/ZnkdSH+Ppkbih03\nb6c4mdO6zAZ8Eu4NZULxSFmfzLmbG6KNOAWBQpKpm//jcd8newnoraElPc0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3031020d062522bbd3ecbe7c39e93e7c2502203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15",
@@ -2182,20 +2278,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044125e46820f41206b670882a9d8d51b6bac39091150c9cb33b6d009e0cff522365749240622b40d70a63407952c1b8761c9f8e85aba6f03bbc7219e24e6fb276",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEEl5Ggg9BIGtnCIKp2NUba6w5CR\nFQycszttAJ4M/1IjZXSSQGIrQNcKY0B5UsG4dhyfjoWrpvA7vHIZ4k5vsnY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044125e46820f41206b670882a9d8d51b6bac39091150c9cb33b6d009e0cff522365749240622b40d70a63407952c1b8761c9f8e85aba6f03bbc7219e24e6fb276",
         "wx" : "4125e46820f41206b670882a9d8d51b6bac39091150c9cb33b6d009e0cff5223",
         "wy" : "65749240622b40d70a63407952c1b8761c9f8e85aba6f03bbc7219e24e6fb276"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044125e46820f41206b670882a9d8d51b6bac39091150c9cb33b6d009e0cff522365749240622b40d70a63407952c1b8761c9f8e85aba6f03bbc7219e24e6fb276",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEEl5Ggg9BIGtnCIKp2NUba6w5CR\nFQycszttAJ4M/1IjZXSSQGIrQNcKY0B5UsG4dhyfjoWrpvA7vHIZ4k5vsnY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3045022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485628022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
@@ -2205,20 +2302,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000491ba1706a19ce58faca26366dced293399450efa488f2c4baa95693b974d075d5e8401565a37b05b9351e408af542bf0f7957e5eed182afeabeafa2bf7bbbb47",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJG6FwahnOWPrKJjZtztKTOZRQ76\nSI8sS6qVaTuXTQddXoQBVlo3sFuTUeQIr1Qr8PeVfl7tGCr+q+r6K/e7u0c=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0491ba1706a19ce58faca26366dced293399450efa488f2c4baa95693b974d075d5e8401565a37b05b9351e408af542bf0f7957e5eed182afeabeafa2bf7bbbb47",
         "wx" : "091ba1706a19ce58faca26366dced293399450efa488f2c4baa95693b974d075d",
         "wy" : "5e8401565a37b05b9351e408af542bf0f7957e5eed182afeabeafa2bf7bbbb47"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000491ba1706a19ce58faca26366dced293399450efa488f2c4baa95693b974d075d5e8401565a37b05b9351e408af542bf0f7957e5eed182afeabeafa2bf7bbbb47",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJG6FwahnOWPrKJjZtztKTOZRQ76\nSI8sS6qVaTuXTQddXoQBVlo3sFuTUeQIr1Qr8PeVfl7tGCr+q+r6K/e7u0c=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2020101",
@@ -2226,7 +2324,7 @@
           "flags" : []
         },
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2020100",
@@ -2236,20 +2334,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000425d17570e4bae1e468e6dd0975b382368061e0c704241c1d18fd5baa8ca8dc135acadcd13992f6665b469c9f9ab7797e3c4b881c6d7f4d2601c96a1536f76d05",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCXRdXDkuuHkaObdCXWzgjaAYeDH\nBCQcHRj9W6qMqNwTWsrc0TmS9mZbRpyfmrd5fjxLiBxtf00mAclqFTb3bQU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0425d17570e4bae1e468e6dd0975b382368061e0c704241c1d18fd5baa8ca8dc135acadcd13992f6665b469c9f9ab7797e3c4b881c6d7f4d2601c96a1536f76d05",
         "wx" : "25d17570e4bae1e468e6dd0975b382368061e0c704241c1d18fd5baa8ca8dc13",
         "wy" : "5acadcd13992f6665b469c9f9ab7797e3c4b881c6d7f4d2601c96a1536f76d05"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000425d17570e4bae1e468e6dd0975b382368061e0c704241c1d18fd5baa8ca8dc135acadcd13992f6665b469c9f9ab7797e3c4b881c6d7f4d2601c96a1536f76d05",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCXRdXDkuuHkaObdCXWzgjaAYeDH\nBCQcHRj9W6qMqNwTWsrc0TmS9mZbRpyfmrd5fjxLiBxtf00mAclqFTb3bQU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "3044022054fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b53022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
@@ -2259,20 +2358,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048afd47eb0667860bec98d5dcd2f60da9eac1ae99620569892f14e094d635872a5e8f0bc67b98a233ade715c04d9daab11a27517a92cf2651c9e5f2fde4e2db98",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIr9R+sGZ4YL7JjV3NL2Danqwa6Z\nYgVpiS8U4JTWNYcqXo8LxnuYojOt5xXATZ2qsRonUXqSzyZRyeXy/eTi25g=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048afd47eb0667860bec98d5dcd2f60da9eac1ae99620569892f14e094d635872a5e8f0bc67b98a233ade715c04d9daab11a27517a92cf2651c9e5f2fde4e2db98",
         "wx" : "08afd47eb0667860bec98d5dcd2f60da9eac1ae99620569892f14e094d635872a",
         "wy" : "5e8f0bc67b98a233ade715c04d9daab11a27517a92cf2651c9e5f2fde4e2db98"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048afd47eb0667860bec98d5dcd2f60da9eac1ae99620569892f14e094d635872a5e8f0bc67b98a233ade715c04d9daab11a27517a92cf2651c9e5f2fde4e2db98",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIr9R+sGZ4YL7JjV3NL2Danqwa6Z\nYgVpiS8U4JTWNYcqXo8LxnuYojOt5xXATZ2qsRonUXqSzyZRyeXy/eTi25g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "3045022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
@@ -2282,20 +2382,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040876616636a8dbc82160ac01af2941353ba0eea4a3b8fe31696b47317d4972c923180073061d27984ecf491f394004c3a4846d773f58dc2ab5e43dcbf968d027",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAh2YWY2qNvIIWCsAa8pQTU7oO6k\no7j+MWlrRzF9SXLJIxgAcwYdJ5hOz0kfOUAEw6SEbXc/WNwqteQ9y/lo0Cc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040876616636a8dbc82160ac01af2941353ba0eea4a3b8fe31696b47317d4972c923180073061d27984ecf491f394004c3a4846d773f58dc2ab5e43dcbf968d027",
         "wx" : "0876616636a8dbc82160ac01af2941353ba0eea4a3b8fe31696b47317d4972c9",
         "wy" : "23180073061d27984ecf491f394004c3a4846d773f58dc2ab5e43dcbf968d027"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040876616636a8dbc82160ac01af2941353ba0eea4a3b8fe31696b47317d4972c923180073061d27984ecf491f394004c3a4846d773f58dc2ab5e43dcbf968d027",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAh2YWY2qNvIIWCsAa8pQTU7oO6k\no7j+MWlrRzF9SXLJIxgAcwYdJ5hOz0kfOUAEw6SEbXc/WNwqteQ9y/lo0Cc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "3045022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022100989c5cc31440c1168f88b32ba6e47900183c0d843f9c41671898030664305d2b",
@@ -2305,20 +2406,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040fabb052217eae8e63fea4eea09953d51862427f341307d819ff6e933bf72ba94b897f2c4a4cf57054c363c720da3d242471cc8e493becb0de022251d2ee4c8c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA+rsFIhfq6OY/6k7qCZU9UYYkJ/\nNBMH2Bn/bpM79yupS4l/LEpM9XBUw2PHINo9JCRxzI5JO+yw3gIiUdLuTIw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040fabb052217eae8e63fea4eea09953d51862427f341307d819ff6e933bf72ba94b897f2c4a4cf57054c363c720da3d242471cc8e493becb0de022251d2ee4c8c",
         "wx" : "0fabb052217eae8e63fea4eea09953d51862427f341307d819ff6e933bf72ba9",
         "wy" : "4b897f2c4a4cf57054c363c720da3d242471cc8e493becb0de022251d2ee4c8c"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040fabb052217eae8e63fea4eea09953d51862427f341307d819ff6e933bf72ba94b897f2c4a4cf57054c363c720da3d242471cc8e493becb0de022251d2ee4c8c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA+rsFIhfq6OY/6k7qCZU9UYYkJ/\nNBMH2Bn/bpM79yupS4l/LEpM9XBUw2PHINo9JCRxzI5JO+yw3gIiUdLuTIw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
@@ -2328,20 +2430,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000472ebad749b504c874d21bc5e4bba545dd42eb5fbf78af42043f5cef10aeb3ad745227464e1e9cef662f43fc80d4ce7eb7eb615a23699d48e89b278abd46ccc46",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHLrrXSbUEyHTSG8Xku6VF3ULrX7\n94r0IEP1zvEK6zrXRSJ0ZOHpzvZi9D/IDUzn6362FaI2mdSOibJ4q9RszEY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0472ebad749b504c874d21bc5e4bba545dd42eb5fbf78af42043f5cef10aeb3ad745227464e1e9cef662f43fc80d4ce7eb7eb615a23699d48e89b278abd46ccc46",
         "wx" : "72ebad749b504c874d21bc5e4bba545dd42eb5fbf78af42043f5cef10aeb3ad7",
         "wy" : "45227464e1e9cef662f43fc80d4ce7eb7eb615a23699d48e89b278abd46ccc46"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000472ebad749b504c874d21bc5e4bba545dd42eb5fbf78af42043f5cef10aeb3ad745227464e1e9cef662f43fc80d4ce7eb7eb615a23699d48e89b278abd46ccc46",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHLrrXSbUEyHTSG8Xku6VF3ULrX7\n94r0IEP1zvEK6zrXRSJ0ZOHpzvZi9D/IDUzn6362FaI2mdSOibJ4q9RszEY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022071523a926bf4712829995c6069025e4bb2d0fc6d23966f4fb5695f01ba3039c5",
@@ -2351,20 +2454,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004744e218a04b31471b05e679c9481446bcd72a4d0fca7a7af1a1fe2f574d9362f60c0c52843d8d72cd636153f0f510a09089fc4478372dfc50e5b91d5301ba75e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHROIYoEsxRxsF5nnJSBRGvNcqTQ\n/Kenrxof4vV02TYvYMDFKEPY1yzWNhU/D1EKCQifxEeDct/FDluR1TAbp14=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04744e218a04b31471b05e679c9481446bcd72a4d0fca7a7af1a1fe2f574d9362f60c0c52843d8d72cd636153f0f510a09089fc4478372dfc50e5b91d5301ba75e",
         "wx" : "744e218a04b31471b05e679c9481446bcd72a4d0fca7a7af1a1fe2f574d9362f",
         "wy" : "60c0c52843d8d72cd636153f0f510a09089fc4478372dfc50e5b91d5301ba75e"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004744e218a04b31471b05e679c9481446bcd72a4d0fca7a7af1a1fe2f574d9362f60c0c52843d8d72cd636153f0f510a09089fc4478372dfc50e5b91d5301ba75e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHROIYoEsxRxsF5nnJSBRGvNcqTQ\n/Kenrxof4vV02TYvYMDFKEPY1yzWNhU/D1EKCQifxEeDct/FDluR1TAbp14=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022005ca53b2d9e4a2e1e4f47276fcdfb17b26a9cf0a7c9721dad28203d41107fdd4",
@@ -2374,20 +2478,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047ea53d3c4635a4d5b60d79aac79d974c759263363472146a4605280d935ffc7559790403c96459b20477eaa437b3c7decd5e690faa940c0891de0cd07d41813c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH6lPTxGNaTVtg15qsedl0x1kmM2\nNHIUakYFKA2TX/x1WXkEA8lkWbIEd+qkN7PH3s1eaQ+qlAwIkd4M0H1BgTw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047ea53d3c4635a4d5b60d79aac79d974c759263363472146a4605280d935ffc7559790403c96459b20477eaa437b3c7decd5e690faa940c0891de0cd07d41813c",
         "wx" : "7ea53d3c4635a4d5b60d79aac79d974c759263363472146a4605280d935ffc75",
         "wy" : "59790403c96459b20477eaa437b3c7decd5e690faa940c0891de0cd07d41813c"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047ea53d3c4635a4d5b60d79aac79d974c759263363472146a4605280d935ffc7559790403c96459b20477eaa437b3c7decd5e690faa940c0891de0cd07d41813c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH6lPTxGNaTVtg15qsedl0x1kmM2\nNHIUakYFKA2TX/x1WXkEA8lkWbIEd+qkN7PH3s1eaQ+qlAwIkd4M0H1BgTw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205448aa82fc57740b2e1ebdf989baa145b018b423b3761feb055959eb6a01f1a1",
@@ -2397,20 +2502,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004750462a163655746af66ba3eb48009a490d970799280586cfe59316365dc4ef0a2f1567257bd9aa1dcca3cd276ffaeb1dd85cea28d888a98642bf09a98f69f11",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHUEYqFjZVdGr2a6PrSACaSQ2XB5\nkoBYbP5ZMWNl3E7wovFWcle9mqHcyjzSdv+usd2FzqKNiIqYZCvwmpj2nxE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04750462a163655746af66ba3eb48009a490d970799280586cfe59316365dc4ef0a2f1567257bd9aa1dcca3cd276ffaeb1dd85cea28d888a98642bf09a98f69f11",
         "wx" : "750462a163655746af66ba3eb48009a490d970799280586cfe59316365dc4ef0",
         "wy" : "0a2f1567257bd9aa1dcca3cd276ffaeb1dd85cea28d888a98642bf09a98f69f11"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004750462a163655746af66ba3eb48009a490d970799280586cfe59316365dc4ef0a2f1567257bd9aa1dcca3cd276ffaeb1dd85cea28d888a98642bf09a98f69f11",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHUEYqFjZVdGr2a6PrSACaSQ2XB5\nkoBYbP5ZMWNl3E7wovFWcle9mqHcyjzSdv+usd2FzqKNiIqYZCvwmpj2nxE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022065bfcce69b89eff545fb0a67d2581a5f253484ef538b9b55fa862dfd2d488d52",
@@ -2420,20 +2526,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004323ae5754b417552cf968f5f3eea7187f7b1726e8c2e510f98d26430ac5849bc327101d82adf87c932e8eaa6a57e1d11bd65dc8f404c113f65abaa6eeaf5c7c4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDI65XVLQXVSz5aPXz7qcYf3sXJu\njC5RD5jSZDCsWEm8MnEB2Crfh8ky6OqmpX4dEb1l3I9ATBE/Zauqbur1x8Q=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04323ae5754b417552cf968f5f3eea7187f7b1726e8c2e510f98d26430ac5849bc327101d82adf87c932e8eaa6a57e1d11bd65dc8f404c113f65abaa6eeaf5c7c4",
         "wx" : "323ae5754b417552cf968f5f3eea7187f7b1726e8c2e510f98d26430ac5849bc",
         "wy" : "327101d82adf87c932e8eaa6a57e1d11bd65dc8f404c113f65abaa6eeaf5c7c4"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004323ae5754b417552cf968f5f3eea7187f7b1726e8c2e510f98d26430ac5849bc327101d82adf87c932e8eaa6a57e1d11bd65dc8f404c113f65abaa6eeaf5c7c4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDI65XVLQXVSz5aPXz7qcYf3sXJu\njC5RD5jSZDCsWEm8MnEB2Crfh8ky6OqmpX4dEb1l3I9ATBE/Zauqbur1x8Q=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207a459e047395d81d3b00f4b8d5ad34442b35dec5e6c1b45a0678e65a1fe9e9e6",
@@ -2443,20 +2550,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000437a105e3ce3fb636733032d1ca56b4c659b451f64f4ba7378b087987e7a544d2782bad9b1654f2770d7a3ee35b672a366f685bc7191889ff2fa5c6b94ebe7ab8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDehBePOP7Y2czAy0cpWtMZZtFH2\nT0unN4sIeYfnpUTSeCutmxZU8ncNej7jW2cqNm9oW8cZGIn/L6XGuU6+erg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0437a105e3ce3fb636733032d1ca56b4c659b451f64f4ba7378b087987e7a544d2782bad9b1654f2770d7a3ee35b672a366f685bc7191889ff2fa5c6b94ebe7ab8",
         "wx" : "37a105e3ce3fb636733032d1ca56b4c659b451f64f4ba7378b087987e7a544d2",
         "wy" : "782bad9b1654f2770d7a3ee35b672a366f685bc7191889ff2fa5c6b94ebe7ab8"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000437a105e3ce3fb636733032d1ca56b4c659b451f64f4ba7378b087987e7a544d2782bad9b1654f2770d7a3ee35b672a366f685bc7191889ff2fa5c6b94ebe7ab8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDehBePOP7Y2czAy0cpWtMZZtFH2\nT0unN4sIeYfnpUTSeCutmxZU8ncNej7jW2cqNm9oW8cZGIn/L6XGuU6+erg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203b7739bbe1048b69fd05f9262f628e03b0770e7ecd82337f1482a72db0293232",
@@ -2466,20 +2574,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000413dd59454f6af3e9db115b7ec8c3a1c8d308fdcb4963c3b8ea1264e4afda652c5d260b7fc9bfd200896d229f3c8daab9df2f55aa9ad95d4ea76aed8d74c5494d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBPdWUVPavPp2xFbfsjDocjTCP3L\nSWPDuOoSZOSv2mUsXSYLf8m/0gCJbSKfPI2qud8vVaqa2V1Op2rtjXTFSU0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0413dd59454f6af3e9db115b7ec8c3a1c8d308fdcb4963c3b8ea1264e4afda652c5d260b7fc9bfd200896d229f3c8daab9df2f55aa9ad95d4ea76aed8d74c5494d",
         "wx" : "13dd59454f6af3e9db115b7ec8c3a1c8d308fdcb4963c3b8ea1264e4afda652c",
         "wy" : "5d260b7fc9bfd200896d229f3c8daab9df2f55aa9ad95d4ea76aed8d74c5494d"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000413dd59454f6af3e9db115b7ec8c3a1c8d308fdcb4963c3b8ea1264e4afda652c5d260b7fc9bfd200896d229f3c8daab9df2f55aa9ad95d4ea76aed8d74c5494d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBPdWUVPavPp2xFbfsjDocjTCP3L\nSWPDuOoSZOSv2mUsXSYLf8m/0gCJbSKfPI2qud8vVaqa2V1Op2rtjXTFSU0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022076ee7377c20916d3fa0bf24c5ec51c0760ee1cfd9b0466fe29054e5b60526464",
@@ -2489,20 +2598,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042c1dc56459bf09df50fb2d962f5989f3643021c5c360363e10e695a70b5942e86216d3ca0cca31dbd92a4d28bf951437f6f45db41e8e41fdf72414a293f53087",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCwdxWRZvwnfUPstli9ZifNkMCHF\nw2A2PhDmlacLWULoYhbTygzKMdvZKk0ov5UUN/b0XbQejkH99yQUopP1MIc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042c1dc56459bf09df50fb2d962f5989f3643021c5c360363e10e695a70b5942e86216d3ca0cca31dbd92a4d28bf951437f6f45db41e8e41fdf72414a293f53087",
         "wx" : "2c1dc56459bf09df50fb2d962f5989f3643021c5c360363e10e695a70b5942e8",
         "wy" : "6216d3ca0cca31dbd92a4d28bf951437f6f45db41e8e41fdf72414a293f53087"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042c1dc56459bf09df50fb2d962f5989f3643021c5c360363e10e695a70b5942e86216d3ca0cca31dbd92a4d28bf951437f6f45db41e8e41fdf72414a293f53087",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCwdxWRZvwnfUPstli9ZifNkMCHF\nw2A2PhDmlacLWULoYhbTygzKMdvZKk0ov5UUN/b0XbQejkH99yQUopP1MIc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204a992824c737b00f02d23d2f2e3decf090b28ffa0e90e6d1e5dd157070719f65",
@@ -2512,20 +2622,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004137d6fdf836b1824378c08b35fa7ebe4e807d8a20105ce9cb3cd281f0a47c9c307d6475d4958c16d950f0439d3dbf86c2d7e2b12e8b137efc62dd1c723b83a62",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBN9b9+DaxgkN4wIs1+n6+ToB9ii\nAQXOnLPNKB8KR8nDB9ZHXUlYwW2VDwQ509v4bC1+KxLosTfvxi3RxyO4OmI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04137d6fdf836b1824378c08b35fa7ebe4e807d8a20105ce9cb3cd281f0a47c9c307d6475d4958c16d950f0439d3dbf86c2d7e2b12e8b137efc62dd1c723b83a62",
         "wx" : "137d6fdf836b1824378c08b35fa7ebe4e807d8a20105ce9cb3cd281f0a47c9c3",
         "wy" : "7d6475d4958c16d950f0439d3dbf86c2d7e2b12e8b137efc62dd1c723b83a62"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004137d6fdf836b1824378c08b35fa7ebe4e807d8a20105ce9cb3cd281f0a47c9c307d6475d4958c16d950f0439d3dbf86c2d7e2b12e8b137efc62dd1c723b83a62",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBN9b9+DaxgkN4wIs1+n6+ToB9ii\nAQXOnLPNKB8KR8nDB9ZHXUlYwW2VDwQ509v4bC1+KxLosTfvxi3RxyO4OmI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221009c092d165ef1b11a82b59c73aab3496631e3032038feda236db7b0f5a8e0cabb",
@@ -2535,20 +2646,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004640213be1698b166f0c54e588e1b57a64826bf848adabfef60681d77747d2ca8646e45d961419d4ad1338c361228e1c6b6615398582c0e3e97f7ebc85a504423",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGQCE74WmLFm8MVOWI4bV6ZIJr+E\nitq/72BoHXd0fSyoZG5F2WFBnUrRM4w2EijhxrZhU5hYLA4+l/fryFpQRCM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04640213be1698b166f0c54e588e1b57a64826bf848adabfef60681d77747d2ca8646e45d961419d4ad1338c361228e1c6b6615398582c0e3e97f7ebc85a504423",
         "wx" : "640213be1698b166f0c54e588e1b57a64826bf848adabfef60681d77747d2ca8",
         "wy" : "646e45d961419d4ad1338c361228e1c6b6615398582c0e3e97f7ebc85a504423"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004640213be1698b166f0c54e588e1b57a64826bf848adabfef60681d77747d2ca8646e45d961419d4ad1338c361228e1c6b6615398582c0e3e97f7ebc85a504423",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGQCE74WmLFm8MVOWI4bV6ZIJr+E\nitq/72BoHXd0fSyoZG5F2WFBnUrRM4w2EijhxrZhU5hYLA4+l/fryFpQRCM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a90449e87d9de3ebed92a227735e45325b1d2d774b4876a86d0863349471ac59",
@@ -2558,20 +2670,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004269154ca58317552c655d2a9b3804dd94c2711145b9cd93c360f2dfe34cc197198046cc90cc6a8ac48ef7bacc5cb7e57334fa91facbadb48952c9fee543d1bb5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCaRVMpYMXVSxlXSqbOATdlMJxEU\nW5zZPDYPLf40zBlxmARsyQzGqKxI73usxct+VzNPqR+suttIlSyf7lQ9G7U=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04269154ca58317552c655d2a9b3804dd94c2711145b9cd93c360f2dfe34cc197198046cc90cc6a8ac48ef7bacc5cb7e57334fa91facbadb48952c9fee543d1bb5",
         "wx" : "269154ca58317552c655d2a9b3804dd94c2711145b9cd93c360f2dfe34cc1971",
         "wy" : "098046cc90cc6a8ac48ef7bacc5cb7e57334fa91facbadb48952c9fee543d1bb5"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004269154ca58317552c655d2a9b3804dd94c2711145b9cd93c360f2dfe34cc197198046cc90cc6a8ac48ef7bacc5cb7e57334fa91facbadb48952c9fee543d1bb5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCaRVMpYMXVSxlXSqbOATdlMJxEU\nW5zZPDYPLf40zBlxmARsyQzGqKxI73usxct+VzNPqR+suttIlSyf7lQ9G7U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a4310428c80a06da59719819a0a3dbf6658fab9938ca851cbd9c0aae864058d3",
@@ -2581,20 +2694,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004240e0b64cee2e0b8890c2fa82de5848a5642ef0f7b2414f88f585281df7a1ff53a5990f860da3053f821bea914059ced85c9c2390b0d860532dbccca7ff66692",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCQOC2TO4uC4iQwvqC3lhIpWQu8P\neyQU+I9YUoHfeh/1OlmQ+GDaMFP4Ib6pFAWc7YXJwjkLDYYFMtvMyn/2ZpI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04240e0b64cee2e0b8890c2fa82de5848a5642ef0f7b2414f88f585281df7a1ff53a5990f860da3053f821bea914059ced85c9c2390b0d860532dbccca7ff66692",
         "wx" : "240e0b64cee2e0b8890c2fa82de5848a5642ef0f7b2414f88f585281df7a1ff5",
         "wy" : "3a5990f860da3053f821bea914059ced85c9c2390b0d860532dbccca7ff66692"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004240e0b64cee2e0b8890c2fa82de5848a5642ef0f7b2414f88f585281df7a1ff53a5990f860da3053f821bea914059ced85c9c2390b0d860532dbccca7ff66692",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCQOC2TO4uC4iQwvqC3lhIpWQu8P\neyQU+I9YUoHfeh/1OlmQ+GDaMFP4Ib6pFAWc7YXJwjkLDYYFMtvMyn/2ZpI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a14bda4f5b17b56966f75ede22340338d23ac413fa7ef42f545b08c47dbc59e9",
@@ -2604,20 +2718,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000496f3cb5eb0c33be205ec058a22093d739fe80a7ecc874399c14f7f6c38cfcc5147b3eccaecc9add2b1dffc988f13dcab15b7e910d0250e70a1d79b3b931c32ed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJbzy16wwzviBewFiiIJPXOf6Ap+\nzIdDmcFPf2w4z8xRR7PsyuzJrdKx3/yYjxPcqxW36RDQJQ5wodebO5McMu0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0496f3cb5eb0c33be205ec058a22093d739fe80a7ecc874399c14f7f6c38cfcc5147b3eccaecc9add2b1dffc988f13dcab15b7e910d0250e70a1d79b3b931c32ed",
         "wx" : "096f3cb5eb0c33be205ec058a22093d739fe80a7ecc874399c14f7f6c38cfcc51",
         "wy" : "47b3eccaecc9add2b1dffc988f13dcab15b7e910d0250e70a1d79b3b931c32ed"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000496f3cb5eb0c33be205ec058a22093d739fe80a7ecc874399c14f7f6c38cfcc5147b3eccaecc9add2b1dffc988f13dcab15b7e910d0250e70a1d79b3b931c32ed",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJbzy16wwzviBewFiiIJPXOf6Ap+\nzIdDmcFPf2w4z8xRR7PsyuzJrdKx3/yYjxPcqxW36RDQJQ5wodebO5McMu0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022032dfe6734dc4f7faa2fd8533e92c0d2f929a4277a9c5cdaafd4316fe96a446a9",
@@ -2627,20 +2742,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004103b1bf6343d57260f652d272aaeff6cfa439f1583335eba66fa72d00eff7f8520f2bb035bd056c67ca22ca952abb5e1bcb68d67ca81790d24097f13d45209a1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBA7G/Y0PVcmD2UtJyqu/2z6Q58V\ngzNeumb6ctAO/3+FIPK7A1vQVsZ8oiypUqu14by2jWfKgXkNJAl/E9RSCaE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04103b1bf6343d57260f652d272aaeff6cfa439f1583335eba66fa72d00eff7f8520f2bb035bd056c67ca22ca952abb5e1bcb68d67ca81790d24097f13d45209a1",
         "wx" : "103b1bf6343d57260f652d272aaeff6cfa439f1583335eba66fa72d00eff7f85",
         "wy" : "20f2bb035bd056c67ca22ca952abb5e1bcb68d67ca81790d24097f13d45209a1"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004103b1bf6343d57260f652d272aaeff6cfa439f1583335eba66fa72d00eff7f8520f2bb035bd056c67ca22ca952abb5e1bcb68d67ca81790d24097f13d45209a1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBA7G/Y0PVcmD2UtJyqu/2z6Q58V\ngzNeumb6ctAO/3+FIPK7A1vQVsZ8oiypUqu14by2jWfKgXkNJAl/E9RSCaE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206353c7f3e0a4e33ebf7758dadf2bd9d0841328e13c75e252855f5a2b87c2c78c",
@@ -2650,20 +2766,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004959b3bf372301993b37e20b4344f13c06d5c1c53c7737f166efb94832c3b9bbb40d35ef46e4cfad475ddd1a1d9609feca7069712d30bdf4638d4c88bc9a12100",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJWbO/NyMBmTs34gtDRPE8BtXBxT\nx3N/Fm77lIMsO5u7QNNe9G5M+tR13dGh2WCf7KcGlxLTC99GONTIi8mhIQA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04959b3bf372301993b37e20b4344f13c06d5c1c53c7737f166efb94832c3b9bbb40d35ef46e4cfad475ddd1a1d9609feca7069712d30bdf4638d4c88bc9a12100",
         "wx" : "0959b3bf372301993b37e20b4344f13c06d5c1c53c7737f166efb94832c3b9bbb",
         "wy" : "40d35ef46e4cfad475ddd1a1d9609feca7069712d30bdf4638d4c88bc9a12100"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004959b3bf372301993b37e20b4344f13c06d5c1c53c7737f166efb94832c3b9bbb40d35ef46e4cfad475ddd1a1d9609feca7069712d30bdf4638d4c88bc9a12100",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJWbO/NyMBmTs34gtDRPE8BtXBxT\nx3N/Fm77lIMsO5u7QNNe9G5M+tR13dGh2WCf7KcGlxLTC99GONTIi8mhIQA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022014899bc6ff5e72338f3c9847fa6531c4337fde3fcf1c8c32f768fba3a402a964",
@@ -2673,20 +2790,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046e69b17d83894e2e71ffce351b53459c0bb29bec379ff435f23c01a9b37df49e3ba1053ad84236d82cf7c762362b37b24e3b0ee1f8ea6c543a2591dcb6681a8f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG5psX2DiU4ucf/ONRtTRZwLspvs\nN5/0NfI8AamzffSeO6EFOthCNtgs98diNis3sk47DuH46mxUOiWR3LZoGo8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e69b17d83894e2e71ffce351b53459c0bb29bec379ff435f23c01a9b37df49e3ba1053ad84236d82cf7c762362b37b24e3b0ee1f8ea6c543a2591dcb6681a8f",
         "wx" : "6e69b17d83894e2e71ffce351b53459c0bb29bec379ff435f23c01a9b37df49e",
         "wy" : "3ba1053ad84236d82cf7c762362b37b24e3b0ee1f8ea6c543a2591dcb6681a8f"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046e69b17d83894e2e71ffce351b53459c0bb29bec379ff435f23c01a9b37df49e3ba1053ad84236d82cf7c762362b37b24e3b0ee1f8ea6c543a2591dcb6681a8f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG5psX2DiU4ucf/ONRtTRZwLspvs\nN5/0NfI8AamzffSeO6EFOthCNtgs98diNis3sk47DuH46mxUOiWR3LZoGo8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022072655c5e4f1cefca22f413a612e5bfdd7ba9ae71053f68b0c74d9a73590013c3",
@@ -2696,20 +2814,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004336fc28e1f250485276747dfc34859b4741667b3ac46a0f6384decc1ac790304401206b5508aa06601a2246e7381dfecca6adb2b197ae14549a24c355cd53be1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDNvwo4fJQSFJ2dH38NIWbR0Fmez\nrEag9jhN7MGseQMEQBIGtVCKoGYBoiRuc4Hf7Mpq2ysZeuFFSaJMNVzVO+E=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04336fc28e1f250485276747dfc34859b4741667b3ac46a0f6384decc1ac790304401206b5508aa06601a2246e7381dfecca6adb2b197ae14549a24c355cd53be1",
         "wx" : "336fc28e1f250485276747dfc34859b4741667b3ac46a0f6384decc1ac790304",
         "wy" : "401206b5508aa06601a2246e7381dfecca6adb2b197ae14549a24c355cd53be1"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004336fc28e1f250485276747dfc34859b4741667b3ac46a0f6384decc1ac790304401206b5508aa06601a2246e7381dfecca6adb2b197ae14549a24c355cd53be1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDNvwo4fJQSFJ2dH38NIWbR0Fmez\nrEag9jhN7MGseQMEQBIGtVCKoGYBoiRuc4Hf7Mpq2ysZeuFFSaJMNVzVO+E=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a2030dbf01d8c9de2900dc3845fda4e4c6bc049c4cd5717a9c629b9ed29d1859",
@@ -2719,20 +2838,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004913d9ce35b9c73203578e255d4dd35ff20212d357227d26b8a959180665b542ba503d922d3fd65a07eca18c0a4e2d3f2cf7c05928b406458cb286e11dc62dcb6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJE9nONbnHMgNXjiVdTdNf8gIS01\ncifSa4qVkYBmW1QrpQPZItP9ZaB+yhjApOLT8s98BZKLQGRYyyhuEdxi3LY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04913d9ce35b9c73203578e255d4dd35ff20212d357227d26b8a959180665b542ba503d922d3fd65a07eca18c0a4e2d3f2cf7c05928b406458cb286e11dc62dcb6",
         "wx" : "0913d9ce35b9c73203578e255d4dd35ff20212d357227d26b8a959180665b542b",
         "wy" : "0a503d922d3fd65a07eca18c0a4e2d3f2cf7c05928b406458cb286e11dc62dcb6"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004913d9ce35b9c73203578e255d4dd35ff20212d357227d26b8a959180665b542ba503d922d3fd65a07eca18c0a4e2d3f2cf7c05928b406458cb286e11dc62dcb6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJE9nONbnHMgNXjiVdTdNf8gIS01\ncifSa4qVkYBmW1QrpQPZItP9ZaB+yhjApOLT8s98BZKLQGRYyyhuEdxi3LY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a1db7293b6f01594b808718e61a4d642dff4fee2fb471167ef7ab42959a473e7",
@@ -2742,20 +2862,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046b76915cc1c854744a78dac9baecd59845b90ad9cd308f5a887dccc909dacd4a7260456f8f8d31760d81bf85348d9f50c99d9918b480b1ec25f4e2e34de03769",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGt2kVzByFR0Snjaybrs1ZhFuQrZ\nzTCPWoh9zMkJ2s1KcmBFb4+NMXYNgb+FNI2fUMmdmRi0gLHsJfTi403gN2k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046b76915cc1c854744a78dac9baecd59845b90ad9cd308f5a887dccc909dacd4a7260456f8f8d31760d81bf85348d9f50c99d9918b480b1ec25f4e2e34de03769",
         "wx" : "6b76915cc1c854744a78dac9baecd59845b90ad9cd308f5a887dccc909dacd4a",
         "wy" : "7260456f8f8d31760d81bf85348d9f50c99d9918b480b1ec25f4e2e34de03769"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046b76915cc1c854744a78dac9baecd59845b90ad9cd308f5a887dccc909dacd4a7260456f8f8d31760d81bf85348d9f50c99d9918b480b1ec25f4e2e34de03769",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGt2kVzByFR0Snjaybrs1ZhFuQrZ\nzTCPWoh9zMkJ2s1KcmBFb4+NMXYNgb+FNI2fUMmdmRi0gLHsJfTi403gN2k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210099bb8d4bcbf1816d31aad88c25c61f1433b08322412c7bd84ed759d01c009127",
@@ -2765,20 +2886,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004647b37b731d3ead759762751995483469031084cd709887c9b6bafba462cbf84888c5b171f2b2fb7bb2b9d88200d79ac94d7d4025f79348e2283511c047891bf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGR7N7cx0+rXWXYnUZlUg0aQMQhM\n1wmIfJtrr7pGLL+EiIxbFx8rL7e7K52IIA15rJTX1AJfeTSOIoNRHAR4kb8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04647b37b731d3ead759762751995483469031084cd709887c9b6bafba462cbf84888c5b171f2b2fb7bb2b9d88200d79ac94d7d4025f79348e2283511c047891bf",
         "wx" : "647b37b731d3ead759762751995483469031084cd709887c9b6bafba462cbf84",
         "wy" : "0888c5b171f2b2fb7bb2b9d88200d79ac94d7d4025f79348e2283511c047891bf"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004647b37b731d3ead759762751995483469031084cd709887c9b6bafba462cbf84888c5b171f2b2fb7bb2b9d88200d79ac94d7d4025f79348e2283511c047891bf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGR7N7cx0+rXWXYnUZlUg0aQMQhM\n1wmIfJtrr7pGLL+EiIxbFx8rL7e7K52IIA15rJTX1AJfeTSOIoNRHAR4kb8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022041cee82a6957ef02ab3aa07a3315accc0d0d66c2081d530246d6e681873c90d1",
@@ -2788,20 +2910,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041f761a1ae1e82e4af277b399da0a523e85644ce971c7b90236d03115aed9855b55cdb3e104361fd2e0979863f29a3b0bf5542c5105c91dfc7c94643b78a2b7f2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABB92Ghrh6C5K8nezmdoKUj6FZEzp\ncce5AjbQMRWu2YVbVc2z4QQ2H9Lgl5hj8po7C/VULFEFyR38fJRkO3iit/I=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041f761a1ae1e82e4af277b399da0a523e85644ce971c7b90236d03115aed9855b55cdb3e104361fd2e0979863f29a3b0bf5542c5105c91dfc7c94643b78a2b7f2",
         "wx" : "1f761a1ae1e82e4af277b399da0a523e85644ce971c7b90236d03115aed9855b",
         "wy" : "55cdb3e104361fd2e0979863f29a3b0bf5542c5105c91dfc7c94643b78a2b7f2"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041f761a1ae1e82e4af277b399da0a523e85644ce971c7b90236d03115aed9855b55cdb3e104361fd2e0979863f29a3b0bf5542c5105c91dfc7c94643b78a2b7f2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABB92Ghrh6C5K8nezmdoKUj6FZEzp\ncce5AjbQMRWu2YVbVc2z4QQ2H9Lgl5hj8po7C/VULFEFyR38fJRkO3iit/I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220746d61572ecae774691e7809121986d9b93279b00934ff1def1f4798da89ad4c",
@@ -2811,20 +2934,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000463d303162574962899fd9a323c5fe24a09188fa20d47a8d92ba502d4f886f5b372cd0d82b3fd4f54fedc5d8618b142f63553e438cc1269719dee3abd3316fa21",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGPTAxYldJYomf2aMjxf4koJGI+i\nDUeo2SulAtT4hvWzcs0NgrP9T1T+3F2GGLFC9jVT5DjMEmlxne46vTMW+iE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0463d303162574962899fd9a323c5fe24a09188fa20d47a8d92ba502d4f886f5b372cd0d82b3fd4f54fedc5d8618b142f63553e438cc1269719dee3abd3316fa21",
         "wx" : "63d303162574962899fd9a323c5fe24a09188fa20d47a8d92ba502d4f886f5b3",
         "wy" : "72cd0d82b3fd4f54fedc5d8618b142f63553e438cc1269719dee3abd3316fa21"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000463d303162574962899fd9a323c5fe24a09188fa20d47a8d92ba502d4f886f5b372cd0d82b3fd4f54fedc5d8618b142f63553e438cc1269719dee3abd3316fa21",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGPTAxYldJYomf2aMjxf4koJGI+i\nDUeo2SulAtT4hvWzcs0NgrP9T1T+3F2GGLFC9jVT5DjMEmlxne46vTMW+iE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220281b26a0908968099f8e1f610f4f358318baa21107b791ef6f24cb244677a64b",
@@ -2834,20 +2958,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043e1d966e05f04c44e162133d97730f6408a88ad990a2c6efb7e3e73a886f7ed4a40e3b3fd8b005fc417437f21011d9fbe38b329a2e7959ed9b040c8e1eb677fd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABD4dlm4F8ExE4WITPZdzD2QIqIrZ\nkKLG77fj5zqIb37UpA47P9iwBfxBdDfyEBHZ++OLMpoueVntmwQMjh62d/0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043e1d966e05f04c44e162133d97730f6408a88ad990a2c6efb7e3e73a886f7ed4a40e3b3fd8b005fc417437f21011d9fbe38b329a2e7959ed9b040c8e1eb677fd",
         "wx" : "3e1d966e05f04c44e162133d97730f6408a88ad990a2c6efb7e3e73a886f7ed4",
         "wy" : "0a40e3b3fd8b005fc417437f21011d9fbe38b329a2e7959ed9b040c8e1eb677fd"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043e1d966e05f04c44e162133d97730f6408a88ad990a2c6efb7e3e73a886f7ed4a40e3b3fd8b005fc417437f21011d9fbe38b329a2e7959ed9b040c8e1eb677fd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABD4dlm4F8ExE4WITPZdzD2QIqIrZ\nkKLG77fj5zqIb37UpA47P9iwBfxBdDfyEBHZ++OLMpoueVntmwQMjh62d/0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022046a78fe7c149c67d7eeeb1b5be57b3a1082651c278ebc4a50abeb4570f858f1b",
@@ -2857,20 +2982,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000456ac8e49b319d5d041ae3d3f91de229c0a820d7ffd97ea06196eee7507363f42787fc05eba606f77b984e57cabf911209700b5d39147a14c5d1a95f56cd5feb4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFasjkmzGdXQQa49P5HeIpwKgg1/\n/ZfqBhlu7nUHNj9CeH/AXrpgb3e5hOV8q/kRIJcAtdORR6FMXRqV9WzV/rQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0456ac8e49b319d5d041ae3d3f91de229c0a820d7ffd97ea06196eee7507363f42787fc05eba606f77b984e57cabf911209700b5d39147a14c5d1a95f56cd5feb4",
         "wx" : "56ac8e49b319d5d041ae3d3f91de229c0a820d7ffd97ea06196eee7507363f42",
         "wy" : "787fc05eba606f77b984e57cabf911209700b5d39147a14c5d1a95f56cd5feb4"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000456ac8e49b319d5d041ae3d3f91de229c0a820d7ffd97ea06196eee7507363f42787fc05eba606f77b984e57cabf911209700b5d39147a14c5d1a95f56cd5feb4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFasjkmzGdXQQa49P5HeIpwKgg1/\n/ZfqBhlu7nUHNj9CeH/AXrpgb3e5hOV8q/kRIJcAtdORR6FMXRqV9WzV/rQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022014fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b55",
@@ -2880,20 +3006,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045e2f228631ee7f00ceaf936278f2e2681b429fcfb8cb2c019b31f188839884f530e1079a6b889393cc83fabbd524f21bb486c65b83ab0afafb17265d971bae91",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABF4vIoYx7n8Azq+TYnjy4mgbQp/P\nuMssAZsx8YiDmIT1MOEHmmuIk5PMg/q71STyG7SGxluDqwr6+xcmXZcbrpE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045e2f228631ee7f00ceaf936278f2e2681b429fcfb8cb2c019b31f188839884f530e1079a6b889393cc83fabbd524f21bb486c65b83ab0afafb17265d971bae91",
         "wx" : "5e2f228631ee7f00ceaf936278f2e2681b429fcfb8cb2c019b31f188839884f5",
         "wy" : "30e1079a6b889393cc83fabbd524f21bb486c65b83ab0afafb17265d971bae91"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045e2f228631ee7f00ceaf936278f2e2681b429fcfb8cb2c019b31f188839884f530e1079a6b889393cc83fabbd524f21bb486c65b83ab0afafb17265d971bae91",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABF4vIoYx7n8Azq+TYnjy4mgbQp/P\nuMssAZsx8YiDmIT1MOEHmmuIk5PMg/q71STyG7SGxluDqwr6+xcmXZcbrpE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008e305a1cf885ccc330ad0f1b5834a6a783f1948a5d5087d42bb5d47af8243535",
@@ -2903,20 +3030,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046dbc5605b4e113932fede7b4743f4dfc62fdecae16735b51653d79ee008f2fc51288fb2ca09ee336ef316b73919a7f3b329fca2f5c365cc427425fecf64f7bf3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG28VgW04ROTL+3ntHQ/Tfxi/eyu\nFnNbUWU9ee4Ajy/FEoj7LKCe4zbvMWtzkZp/OzKfyi9cNlzEJ0Jf7PZPe/M=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046dbc5605b4e113932fede7b4743f4dfc62fdecae16735b51653d79ee008f2fc51288fb2ca09ee336ef316b73919a7f3b329fca2f5c365cc427425fecf64f7bf3",
         "wx" : "6dbc5605b4e113932fede7b4743f4dfc62fdecae16735b51653d79ee008f2fc5",
         "wy" : "1288fb2ca09ee336ef316b73919a7f3b329fca2f5c365cc427425fecf64f7bf3"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046dbc5605b4e113932fede7b4743f4dfc62fdecae16735b51653d79ee008f2fc51288fb2ca09ee336ef316b73919a7f3b329fca2f5c365cc427425fecf64f7bf3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG28VgW04ROTL+3ntHQ/Tfxi/eyu\nFnNbUWU9ee4Ajy/FEoj7LKCe4zbvMWtzkZp/OzKfyi9cNlzEJ0Jf7PZPe/M=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "30440220074c035603e1eb49ab5382819bf82af82929b500c6e78841c1b2c3ff54a615dd02202035ac9ea7119e30e54f369cd22aa27af38b566ae6093f1df35b612de6f07598",
@@ -2928,20 +3056,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046dbc5605b4e113932fede7b4743f4dfc62fdecae16735b51653d79ee008f2fc597725caf014fc6854f349f1d0be90e373b9c2bf478efc363f8d0e830291ed784",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG28VgW04ROTL+3ntHQ/Tfxi/eyu\nFnNbUWU9ee4Ajy/Fl3JcrwFPxoVPNJ8dC+kONzucK/R478Nj+NDoMCke14Q=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046dbc5605b4e113932fede7b4743f4dfc62fdecae16735b51653d79ee008f2fc597725caf014fc6854f349f1d0be90e373b9c2bf478efc363f8d0e830291ed784",
         "wx" : "6dbc5605b4e113932fede7b4743f4dfc62fdecae16735b51653d79ee008f2fc5",
         "wy" : "097725caf014fc6854f349f1d0be90e373b9c2bf478efc363f8d0e830291ed784"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046dbc5605b4e113932fede7b4743f4dfc62fdecae16735b51653d79ee008f2fc597725caf014fc6854f349f1d0be90e373b9c2bf478efc363f8d0e830291ed784",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG28VgW04ROTL+3ntHQ/Tfxi/eyu\nFnNbUWU9ee4Ajy/Fl3JcrwFPxoVPNJ8dC+kONzucK/R478Nj+NDoMCke14Q=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "30440220074c035603e1eb49ab5382819bf82af82929b500c6e78841c1b2c3ff54a615dd02202035ac9ea7119e30e54f369cd22aa27af38b566ae6093f1df35b612de6f07598",
@@ -2953,20 +3082,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048c5635eeaf7e994ff163ebdc9aacfdad1d50f9929a8035c36cf1c1e16d5b28f13de48431f3eb823a384c940b2b0a01512da98b8f72bd9545d179d6f1cd5a2a63",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIxWNe6vfplP8WPr3Jqs/a0dUPmS\nmoA1w2zxweFtWyjxPeSEMfPrgjo4TJQLKwoBUS2pi49yvZVF0XnW8c1aKmM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048c5635eeaf7e994ff163ebdc9aacfdad1d50f9929a8035c36cf1c1e16d5b28f13de48431f3eb823a384c940b2b0a01512da98b8f72bd9545d179d6f1cd5a2a63",
         "wx" : "08c5635eeaf7e994ff163ebdc9aacfdad1d50f9929a8035c36cf1c1e16d5b28f1",
         "wy" : "3de48431f3eb823a384c940b2b0a01512da98b8f72bd9545d179d6f1cd5a2a63"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048c5635eeaf7e994ff163ebdc9aacfdad1d50f9929a8035c36cf1c1e16d5b28f13de48431f3eb823a384c940b2b0a01512da98b8f72bd9545d179d6f1cd5a2a63",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIxWNe6vfplP8WPr3Jqs/a0dUPmS\nmoA1w2zxweFtWyjxPeSEMfPrgjo4TJQLKwoBUS2pi49yvZVF0XnW8c1aKmM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4487",
@@ -2976,21 +3106,22 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042b9999cf86f15a7471ff8d212ca3f9a99225851b6d9608034ce0af55fd539b5a25d1d06449a6a9f4db833ab69d1170b4f0f07d2e5f74a9b56212563a0356e0b6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCuZmc+G8Vp0cf+NISyj+amSJYUb\nbZYIA0zgr1X9U5taJdHQZEmmqfTbgzq2nRFwtPDwfS5fdKm1YhJWOgNW4LY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042b9999cf86f15a7471ff8d212ca3f9a99225851b6d9608034ce0af55fd539b5a25d1d06449a6a9f4db833ab69d1170b4f0f07d2e5f74a9b56212563a0356e0b6",
         "wx" : "2b9999cf86f15a7471ff8d212ca3f9a99225851b6d9608034ce0af55fd539b5a",
         "wy" : "25d1d06449a6a9f4db833ab69d1170b4f0f07d2e5f74a9b56212563a0356e0b6"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042b9999cf86f15a7471ff8d212ca3f9a99225851b6d9608034ce0af55fd539b5a25d1d06449a6a9f4db833ab69d1170b4f0f07d2e5f74a9b56212563a0356e0b6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCuZmc+G8Vp0cf+NISyj+amSJYUb\nbZYIA0zgr1X9U5taJdHQZEmmqfTbgzq2nRFwtPDwfS5fdKm1YhJWOgNW4LY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
-          "comment" : "extreme value for k",
+          "tcId" : 271,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
           "result" : "valid",
@@ -2999,21 +3130,142 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000433d4259f3ac0ce8a534e7655f2068f80f401c742ec04084784d269c49ef0701f3e1dd6fc7c206d4d759c80e3612da4d0fcd4200afe7a68300e9c13f4ef23f880",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDPUJZ86wM6KU052VfIGj4D0AcdC\n7AQIR4TSacSe8HAfPh3W/HwgbU11nIDjYS2k0PzUIAr+emgwDpwT9O8j+IA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048d40dbb264923c02a484fdc7f06108c727e5d18172c909f79a3845485c939f4594dd7b7c67653a712074d94890a8eb56a7d4b975024d3c82a1151669a6b83821",
+        "wx" : "08d40dbb264923c02a484fdc7f06108c727e5d18172c909f79a3845485c939f45",
+        "wy" : "094dd7b7c67653a712074d94890a8eb56a7d4b975024d3c82a1151669a6b83821"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048d40dbb264923c02a484fdc7f06108c727e5d18172c909f79a3845485c939f4594dd7b7c67653a712074d94890a8eb56a7d4b975024d3c82a1151669a6b83821",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABI1A27JkkjwCpIT9x/BhCMcn5dGB\ncskJ95o4RUhck59FlN17fGdlOnEgdNlIkKjrVqfUuXUCTTyCoRUWaaa4OCE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 272,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e0220796a6353bccf0b8675b699d502cbae2c88bb5799818ee4f9f93a0a5d477cd02e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041fb44c46fcdcfe8e37f047bccf57ba1890643f0033d492c4b197ca7057c86067763f1041f8c38be3ad20945a6f0fad6f530af96fed289b4e8f02abd80b2f2d83",
+        "wx" : "1fb44c46fcdcfe8e37f047bccf57ba1890643f0033d492c4b197ca7057c86067",
+        "wy" : "763f1041f8c38be3ad20945a6f0fad6f530af96fed289b4e8f02abd80b2f2d83"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041fb44c46fcdcfe8e37f047bccf57ba1890643f0033d492c4b197ca7057c86067763f1041f8c38be3ad20945a6f0fad6f530af96fed289b4e8f02abd80b2f2d83",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABB+0TEb83P6ON/BHvM9XuhiQZD8A\nM9SSxLGXynBXyGBndj8QQfjDi+OtIJRabw+tb1MK+W/tKJtOjwKr2AsvLYM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30450220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e02210087fc46494e5887c9cb84d5407e02d78e09c7954fc44e1f2c734b3ecedf6d121f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048a42aef32568d8451e187a9441a6e886342d0033b04aaa4ddbd4d600c6a5c86a855fbb0861c7a642333f3723c6c3dd961f279d9943779d4c237deec94bff846e",
+        "wx" : "08a42aef32568d8451e187a9441a6e886342d0033b04aaa4ddbd4d600c6a5c86a",
+        "wy" : "0855fbb0861c7a642333f3723c6c3dd961f279d9943779d4c237deec94bff846e"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048a42aef32568d8451e187a9441a6e886342d0033b04aaa4ddbd4d600c6a5c86a855fbb0861c7a642333f3723c6c3dd961f279d9943779d4c237deec94bff846e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIpCrvMlaNhFHhh6lEGm6IY0LQAz\nsEqqTdvU1gDGpchqhV+7CGHHpkIzPzcjxsPdlh8nnZlDd51MI33uyUv/hG4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4488",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0467f999eb1a40fdda28044d2af23357aac045172ef1e89c6430a68deb0a5e2c21550d93565dfc6a0c5b5cf4e7d9111bf4e31a0d0f94b8adfd9b800c5b38cc22b0",
+        "wx" : "67f999eb1a40fdda28044d2af23357aac045172ef1e89c6430a68deb0a5e2c21",
+        "wy" : "550d93565dfc6a0c5b5cf4e7d9111bf4e31a0d0f94b8adfd9b800c5b38cc22b0"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000467f999eb1a40fdda28044d2af23357aac045172ef1e89c6430a68deb0a5e2c21550d93565dfc6a0c5b5cf4e7d9111bf4e31a0d0f94b8adfd9b800c5b38cc22b0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGf5mesaQP3aKARNKvIzV6rARRcu\n8eicZDCmjesKXiwhVQ2TVl38agxbXPTn2REb9OMaDQ+UuK39m4AMWzjMIrA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e02203090f487e51f9e35c8af70bb9ab7df45037e230a33d2c1fd96e404254fcb8679",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047cbf2bd2c89069d23ef7417cb783dec50089b3c45573ad00e1214b0c6f51ced56ef5cbc578da2f35cd8a43cf01a7078841fffef2bfaa4b931920ada792019b29",
+        "wx" : "7cbf2bd2c89069d23ef7417cb783dec50089b3c45573ad00e1214b0c6f51ced5",
+        "wy" : "6ef5cbc578da2f35cd8a43cf01a7078841fffef2bfaa4b931920ada792019b29"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047cbf2bd2c89069d23ef7417cb783dec50089b3c45573ad00e1214b0c6f51ced56ef5cbc578da2f35cd8a43cf01a7078841fffef2bfaa4b931920ada792019b29",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHy/K9LIkGnSPvdBfLeD3sUAibPE\nVXOtAOEhSwxvUc7VbvXLxXjaLzXNikPPAacHiEH//vK/qkuTGSCtp5IBmyk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e022077472d9a28b4ece71cf413a68eac0eb423a16fb462b1f48706fed48ca437bd2d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0433d4259f3ac0ce8a534e7655f2068f80f401c742ec04084784d269c49ef0701f3e1dd6fc7c206d4d759c80e3612da4d0fcd4200afe7a68300e9c13f4ef23f880",
         "wx" : "33d4259f3ac0ce8a534e7655f2068f80f401c742ec04084784d269c49ef0701f",
         "wy" : "3e1dd6fc7c206d4d759c80e3612da4d0fcd4200afe7a68300e9c13f4ef23f880"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000433d4259f3ac0ce8a534e7655f2068f80f401c742ec04084784d269c49ef0701f3e1dd6fc7c206d4d759c80e3612da4d0fcd4200afe7a68300e9c13f4ef23f880",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDPUJZ86wM6KU052VfIGj4D0AcdC\n7AQIR4TSacSe8HAfPh3W/HwgbU11nIDjYS2k0PzUIAr+emgwDpwT9O8j+IA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
-          "comment" : "extreme value for k",
+          "tcId" : 277,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
           "result" : "valid",
@@ -3022,20 +3274,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046eacd3ac7f7be63942b897b75d2826210553e1973a5b38487531e0db4a8418cc6b781f1ec2302bf27f8c4a46c9179185b92a53a28b85b3c64171139dede35a05",
+        "wx" : "6eacd3ac7f7be63942b897b75d2826210553e1973a5b38487531e0db4a8418cc",
+        "wy" : "6b781f1ec2302bf27f8c4a46c9179185b92a53a28b85b3c64171139dede35a05"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046eacd3ac7f7be63942b897b75d2826210553e1973a5b38487531e0db4a8418cc6b781f1ec2302bf27f8c4a46c9179185b92a53a28b85b3c64171139dede35a05",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG6s06x/e+Y5QriXt10oJiEFU+GX\nOls4SHUx4NtKhBjMa3gfHsIwK/J/jEpGyReRhbkqU6KLhbPGQXETne3jWgU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace32620220796a6353bccf0b8675b699d502cbae2c88bb5799818ee4f9f93a0a5d477cd02e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0449680c57a9644af8a3cb5d60f33bbeb54c910bd40dab3fdb8daa09182e4d791880fca5d924092c316ae8266b2a32b74f186f6cf22c29520871fb2ad2c44ee71a",
+        "wx" : "49680c57a9644af8a3cb5d60f33bbeb54c910bd40dab3fdb8daa09182e4d7918",
+        "wy" : "080fca5d924092c316ae8266b2a32b74f186f6cf22c29520871fb2ad2c44ee71a"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000449680c57a9644af8a3cb5d60f33bbeb54c910bd40dab3fdb8daa09182e4d791880fca5d924092c316ae8266b2a32b74f186f6cf22c29520871fb2ad2c44ee71a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEloDFepZEr4o8tdYPM7vrVMkQvU\nDas/242qCRguTXkYgPyl2SQJLDFq6CZrKjK3TxhvbPIsKVIIcfsq0sRO5xo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30460221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace326202210087fc46494e5887c9cb84d5407e02d78e09c7954fc44e1f2c734b3ecedf6d121f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0469566f1e4619346bf81d4b7e76705781ae6a3e8470806ae4f73d53bb03c207a1396a54d57b45951ebce9987f6adb457d7ce77c6c3820d657f9a8882cdfad66cf",
+        "wx" : "69566f1e4619346bf81d4b7e76705781ae6a3e8470806ae4f73d53bb03c207a1",
+        "wy" : "396a54d57b45951ebce9987f6adb457d7ce77c6c3820d657f9a8882cdfad66cf"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000469566f1e4619346bf81d4b7e76705781ae6a3e8470806ae4f73d53bb03c207a1396a54d57b45951ebce9987f6adb457d7ce77c6c3820d657f9a8882cdfad66cf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGlWbx5GGTRr+B1LfnZwV4Guaj6E\ncIBq5Pc9U7sDwgehOWpU1XtFlR686Zh/attFfXznfGw4INZX+aiILN+tZs8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4488",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0446868fbfc7150d0bdb1c8e9976d845dc4b8840f4d921299b6d8f989d4dce865783921b9a729e51d2deb5955f4d87cc2b299c7f01372ae82cd63f529a266d4b52",
+        "wx" : "46868fbfc7150d0bdb1c8e9976d845dc4b8840f4d921299b6d8f989d4dce8657",
+        "wy" : "083921b9a729e51d2deb5955f4d87cc2b299c7f01372ae82cd63f529a266d4b52"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000446868fbfc7150d0bdb1c8e9976d845dc4b8840f4d921299b6d8f989d4dce865783921b9a729e51d2deb5955f4d87cc2b299c7f01372ae82cd63f529a266d4b52",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEaGj7/HFQ0L2xyOmXbYRdxLiED0\n2SEpm22PmJ1NzoZXg5IbmnKeUdLetZVfTYfMKymcfwE3Kugs1j9SmiZtS1I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace326202203090f487e51f9e35c8af70bb9ab7df45037e230a33d2c1fd96e404254fcb8679",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044ba9ffbad26f909e59ff58118fb25d05e1fd2722cf1b9d88abfeb716c9f5461f76b2f395fdacb89f3b85fdf4cd733630403068559ba12c0f438f856286773f9b",
+        "wx" : "4ba9ffbad26f909e59ff58118fb25d05e1fd2722cf1b9d88abfeb716c9f5461f",
+        "wy" : "76b2f395fdacb89f3b85fdf4cd733630403068559ba12c0f438f856286773f9b"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044ba9ffbad26f909e59ff58118fb25d05e1fd2722cf1b9d88abfeb716c9f5461f76b2f395fdacb89f3b85fdf4cd733630403068559ba12c0f438f856286773f9b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEup/7rSb5CeWf9YEY+yXQXh/Sci\nzxudiKv+txbJ9UYfdrLzlf2suJ87hf30zXM2MEAwaFWboSwPQ4+FYoZ3P5s=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262022077472d9a28b4ece71cf413a68eac0eb423a16fb462b1f48706fed48ca437bd2d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997",
+        "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262",
+        "wy" : "547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"
+      },
       "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIvSrrnLflfLLEtIL/yBt6+53ifh\n470jwjpEU72azjJiVH74NcPaxP2X+EYaFGEdycJ3RRMt7Y5UXB1Uxy8EaZc=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262",
-        "wy" : "547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"
-      },
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 283,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
@@ -3043,7 +3416,7 @@
           "flags" : []
         },
         {
-          "tcId" : 266,
+          "tcId" : 284,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100989c5cc31440c1168f88b32ba6e47900183c0d843f9c41671898030664305d2b022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
@@ -3053,20 +3426,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0",
+        "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262",
+        "wy" : "557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0"
+      },
       "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIvSrrnLflfLLEtIL/yBt6+53ifh\n470jwjpEU72azjJiVXxfpd4T5L6mbcR2iSJvqKvEsRCnOJHTw/XzVfBp6eA=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262",
-        "wy" : "557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0"
-      },
       "tests" : [
         {
-          "tcId" : 267,
+          "tcId" : 285,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
@@ -3074,7 +3448,7 @@
           "flags" : []
         },
         {
-          "tcId" : 268,
+          "tcId" : 286,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100989c5cc31440c1168f88b32ba6e47900183c0d843f9c41671898030664305d2b022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
@@ -3084,20 +3458,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCZ2vR4/2D8zKNGvlBRCwDZ2DwlY\ndylBkFMIPrYdHtIsLPdpaIpf/WfaGJnSQ+Zryr4h+eeDNSY79TCLjkGnGzk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39",
         "wx" : "2676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c",
         "wy" : "2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCZ2vR4/2D8zKNGvlBRCwDZ2DwlY\ndylBkFMIPrYdHtIsLPdpaIpf/WfaGJnSQ+Zryr4h+eeDNSY79TCLjkGnGzk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 269,
+          "tcId" : 287,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30440220745be1da902d19c76c8f57d4a1f3362b4b20ed7c8de8fc0463d566795f979cea02205916c317a1e325b53735216a0fa37737f08b32245c88084817b468a41f5afee9",
@@ -3105,7 +3480,7 @@
           "flags" : []
         },
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402203b86fbb66618f04881862be0a78bb6dddcdf5004f86ed27267487e6950687da402202159bc314a90fc148cbf01deea077feaf50dc12399148832c327d8b569e525d1",
@@ -3113,7 +3488,7 @@
           "flags" : []
         },
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402205943bcb4bbe2cc93bdd62a43d5b350a34c435cc576ed8fefda6242c0db814dcf02202b3295d375c7e3aff3f5d3e23de8b361280f423be43e802662543a8048fd663c",
@@ -3121,7 +3496,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402207111061f15ec3c9bd4e18a9fd4c9e4933a981e7ee8c90402097126e15c8495ac02205f7a114828cff4b6bcd32ad56e43117d945e7625816cd14e79eed328b603b789",
@@ -3129,7 +3504,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402205b9418292ee08c1569b3e27f7f64fd2493d394c9fed0daba29e2eeea84249051022018b950f288afa7db8afa014cc71e8ebfdb70ecd1bed35d12c55f10d0f1259f75",
@@ -3137,7 +3512,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30460221008ceac89d24eb388f65fcac415beccbd0051949f733aeed75d99532ed4925f2b3022100a5069db340a166c04a71488bd9e6f0b83328bf12ed6255e554a153a9165b7dab",
@@ -3145,7 +3520,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402202d361f4b4f56208a041af7b430412a1cb7ef5ab4f09598a198be98f5ca9a5d8b02202744ab423f3b18b9c6ef52511f01d515fe646fea7b9003197d2b38d6ef6651b7",
@@ -3153,7 +3528,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304502203d012b0ca94a4a144482d513046340176b6e436b428f7f2c6d4ba79ee03f992a02210080953aca24ed94ee9f2d6502bf0ff23131aab6c4cf61eaeece42fbbccada3fe7",
@@ -3161,7 +3536,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3044022075913672600127d2a46106dbe0630184f8f7417e15bcbe9bd0328518317407e20220521467cbb076a8db9ed9207a36a16161bf2d5a149a895e8b289b42ece12072b6",
@@ -3169,7 +3544,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402200cf794354ddc11ef82ceb48e47f365d9bfc149021a3770ef27162c5d85176618022042d84231b1953e5d0d4e12d10adc566abf025ddfe38ad7ec9024ffac6298ba37",
@@ -3177,7 +3552,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304502200ff9279a0775740b7db8bec07f9a0401b7903886cb198c1b18c46de0673b31c30221008b3c8686bd1a1508b5b785e762fece8c6cf19b6156983e5c36b2bbe724d6c23e",
@@ -3185,7 +3560,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3045022067451d25f4c95a4e3881c8173b34205c674369190a93671735dcdfb4353960e50221008e680d7c8916a67bee8d8f965169c5c1071b5c4aa2d14969244b8086d01ce6ed",
@@ -3193,7 +3568,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304502204a2e2de82c67580ad56bb8e810358ef19039de8b6c842758132064757aa5b44602210084404f11d66a59dcdc33040cd60d3ddd6957a8d91eb6209fa869103371e1dc8f",
@@ -3201,7 +3576,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30440220342f962ecf6348c830285ad5b891fe0fc966375a35c25908c79f1068a9c747e902200c9b1e639c004d94ac4d73bcfd0d3ad22ac0967e83e3975217eba878475cc657",
@@ -3209,7 +3584,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30440220269b3c6e2aa9a0797d40e50d266ebb93e0d7eb7e313099f8d839238c4f8e88a30220770c06506d15f7b092a51aa52de5c82fb772f70f8e73e0b838346a16d9ee709d",
@@ -3217,7 +3592,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3044022036970df9bff7bd44996d3eeb24be3655eed090ae27c1b5b3e91e949c3a4a39ce02202816549ade27c73656778a22992c59965bed7d337a45196f67be37b21526eff0",
@@ -3225,7 +3600,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304402207cebbf8ecb14adf986aaec8610d4c8803235a8f757c644deba3cc2da5a7d8e8a02205b832def9fcb6a76972b116ac2f9588c710d6cc44f14d83b2f881f675ab02446",
@@ -3233,7 +3608,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3044022037771acdc3beea26157b807de7f7377ef472706e8f6910603448ad9e0a2fcf23022012bd254ca9a5587767532b5321161c3b2fafb64d7538266a4a589fd3b7e23374",
@@ -3241,7 +3616,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304402200585f0921ded2869725c791d5d1d083327515228e750183e485952a9fe26f40b02207b1c188a8b9b1c588bef2fdb28c6ae1365e3ab70b666c90c700594200e3c7623",
@@ -3249,7 +3624,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304402206e7afb8147b78750a0ddffe29ed8d8e6f781bd002c794e019bab8af4d8525dc8022042dabd193d99e9ba22f74e357972147db0fa15bc0f146c733110678538274306",
@@ -3257,7 +3632,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30450220351e727003896ec02949a3cf752223bcc6c2b611b30391edd60dc0c83dc9c98f022100924ad9dc00364d4aa2091416d173862f9b02965ff176e880ea62a673e16db98e",
@@ -3265,7 +3640,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100a0ac4453893d671ebca111713ca23c3beed7b63317119858e1b8516fd1ca62dc022100a046ee1d900f36b3856aaab16523eb3f62427d305c12b9da9e5e00ebdbce0ae0",
@@ -3273,7 +3648,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304402205e1b940c559d2dff9418fcad50c27ad4de122d1bed47d2657ef1f756be97ce7e0220340855b0b0b045192aaeae2e96e276c9a78e1b2043c176d89cbc4951eeed8d50",
@@ -3281,7 +3656,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30440220460cb9d841a5ce5fe708d0c9d8d77d8adcd5b08aaa7adc675c477e84d6cc40540220499b0f4a64b5ea01557ad969039b72ba72c621d824a0c17dcce767cfc53666fb",
@@ -3289,7 +3664,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30450221008e315c67e69ef2818e117cd7739289078f567c92bdf18c755e1cba6c89698a6702207ed4fd2e4ba8df9826f304c155721058ea82020ec101995a591b66d4a675375d",
@@ -3297,7 +3672,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3045022100a1a934052cc69410bbda9df9e13ff7bef149c2bb09befa457aafe9231b8912c202204e695cdf4911861398ccc4a3d23cce3ab7d9953ef0bf928295b2855ccde42cea",
@@ -3305,7 +3680,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304402201525e7ef4775b0d8e27c71602f991632b95c5ca043acd0913fcca0946528e4020220682ad0d69435231909d1bcf573043784f70ba22122228bc2d59b7e34f95dc8c7",
@@ -3313,7 +3688,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3044022032513d8d29d99319c1ca5e12ab6537b633d469ffa00050e3fb51444d77660fd502201845b55e92574c3a9e4389c2b8b3772ef3827d884795014eb381a7cd60be4461",
@@ -3321,7 +3696,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3045022100948e9b863fecbc1c511dbce5721ca165e6e36279dcaea12553ef8e9d485d527d02203625cc1211056e4a2cba6509581ac3bb1be1ad1ca0ce43d386375580b2f28bbf",
@@ -3329,7 +3704,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30440220363f3d944a0471539520e9b8c422057a2d862611e108fd86e30a759b67fc3dfb02203407c6008ccdcb0e61cb0269eaaf69f045c29cd88839831fd83ed45cb39e3a15",
@@ -3337,7 +3712,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3044022044a811b2321acbc65cacf80d2dbe848946f1dac528f3e1ae38b0e54d083c258f022055d7edfaecdda3bbc062d5074e3c3719d32761159d027ca27c1725ddbd62f688",
@@ -3345,7 +3720,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3044022047c4620f4aecda3118fe23af68cc6febe53fb6df9cf093d9bb5ffe8db3290852022031bb8313a3447f67069e399841bb7042507127906855993efd9a67f4e14a4643",
@@ -3353,7 +3728,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30440220236d1aa36625fa6d49f4d7a57f2f089ec1d79b489a6f3cff559f7b0c1eb9048802204288ef7f06455ed1ac553cb0965695f6d6a70dadcd1780f85b306dfdf4433f92",
@@ -3361,7 +3736,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304402204e3bc670164d82d8c81bdc4ee970d0d7a6c34105fa369b6134d65d3a4865b6fb02202e3f9cb3324ce4cbe7335335854bb647434cfe61b727d81982cf8fb3f0f9c47e",
@@ -3369,7 +3744,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304402206d70455d3f68f67755897ea13caa991beb18175299848ab800c6858f9bd87834022031ceae09c90fd7fd7132f9b926a3a1ee3d4a6c6149202d7e1925ae3690f4698b",
@@ -3377,7 +3752,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30450221009148f1eed1365c32721ac231347d931452373dd53f0eafb83f5f133c7093759f02203b0bb1c44293cb4f3e78f5d7ed729887295af363b7febc6fa9a150a7ef1f0550",
@@ -3385,7 +3760,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3044022026c0c3646be1c3a39c4704710404a606011e52d1aa947b8b582cc1e03c8efdac02201319ddda2b84e7a5ec71497d1f0ed9f8f476bd7188e9e203ca0a42239e2ba0a4",
@@ -3393,7 +3768,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304402201bd87e7c7ceac9969f5f0e2a1723c23cef5fa03158edbf0a2b01132ec6276c6d02204ee9c0f386c94f93fbbdd811f9cfc8a5237480ecec98f47e57db150646f8b69c",
@@ -3401,7 +3776,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30450220543d97f75c457549e1d51469ed3eacf5316d421cca7b3560e95dd523a031997c02210095a280c377727015399662fb1f8a9a142183194527ce29036cc989b770b34e52",
@@ -3409,7 +3784,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3044022064318a7a59386bda3d30b30539e618b2ddc95b9e7523fcc19fb7dd23d0cf385f02207cc4302ef92a350344df7ff1d754e86dc70a76cf2cd608f5f7e36895e6c1b50f",
@@ -3419,20 +3794,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f7749507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKn7V9tiUBOJWU8O6fwWUvqDN3+j\nAuGc72QlL8CxR/d0lQes9bBDOe0QK5ymDbmMFluU6+hV0iAuRtzhW6HgKL4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f7749507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be",
         "wx" : "0a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f774",
         "wy" : "09507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f7749507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKn7V9tiUBOJWU8O6fwWUvqDN3+j\nAuGc72QlL8CxR/d0lQes9bBDOe0QK5ymDbmMFluU6+hV0iAuRtzhW6HgKL4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3045022062aab40a36d6a0d25644719ce31dc629ec684f6f0da32f9dd034ccc421dbd0ed022100a1fa6b0dfd9558da29374fb77505ee8ab3572161711f821d11807c7fff910c1c",
@@ -3440,7 +3816,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30450220740cd3d3a9cd9dbe05ead4e39e54db27c0f1579da68e3aa5c9245b047aebc3b80221008ae78c12233d378fe2ce3c0fb2b769f8463830a71a5e5187c11b20fdd7e50445",
@@ -3448,7 +3824,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3045022100a28f30245c5fb0c225fdec23924dc2cd4c2da888d1ee1bc5445858c646015ca802200ee364c1491c4551ef3509be8f88db0e04d0afb36528aeda1301b14948cc9cd6",
@@ -3458,20 +3834,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e884652761270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDUaRfuSDyyfGxeEOPo78nL/kyi4\ngcR3ofVqjA6IRlJ2EnD4Bv5ArZfr92xoJThLeArmr8zHkrBfL7Pre3////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e884652761270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff",
         "wx" : "351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e88465276",
         "wy" : "1270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e884652761270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDUaRfuSDyyfGxeEOPo78nL/kyi4\ngcR3ofVqjA6IRlJ2EnD4Bv5ArZfr92xoJThLeArmr8zHkrBfL7Pre3////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304402207f202f54f591b51105b227ee6d6da3adddfc4b5e819efc04befcdcbf7484f78302204360ea04503955fc3f025928b2dce50ff2d58b9060b34bbedfc3c219b3b4355b",
@@ -3479,7 +3856,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3044022062e218dca32e4ef35692e9315e1e036bef1766073b846e38de20d2d29349f9fe0220519d4d4c6158d95474d793a0ee9c260a0c5469c5aab79510971b41fb4fae4baf",
@@ -3487,7 +3864,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022100a3902295f6f743ac754db7b3fcd823be917b1191a5705728f5682492784da7f1022043def636660eff72e6435edb850c9126c7067938668f249998a0e4006b8ee7db",
@@ -3497,20 +3874,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040000000129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc35354a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAAAAAEpshRuNvwFVUW/jyzHD45z\n6LJeU5NlrXV3zDU1SiuMAxm8TM0+YNoRlHfCP6+PwtzvxC0691gnrrQvbw8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040000000129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc35354a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f",
         "wx" : "129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc3535",
         "wy" : "4a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040000000129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc35354a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAAAAAEpshRuNvwFVUW/jyzHD45z\n6LJeU5NlrXV3zDU1SiuMAxm8TM0+YNoRlHfCP6+PwtzvxC0691gnrrQvbw8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304502210086d05b26a9ca7e10ae0681bb4c35a06d7a4e918f8625e3dfa7ac2d5aeda91c05022008c5f475a95888769da4a0e1b635c2292f654f934a5c5010fe0c729f3d11e1b1",
@@ -3518,7 +3896,7 @@
           "flags" : []
         },
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3045022043c4474710d25094a2e21a9cc08585c26015f9f94012b100e72c0763aa9e0cff0221008345c46fd5592cefbd5ebb258965c05d964e6e6a278198ddc1e388cf1e75867c",
@@ -3526,7 +3904,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304402206d2724167e816528491cce574f0526209de52cd0f2af0085284fd050163d37c5022076dd1dd50ff9b553b0e142b7e6c6be8edf3708dd292f03f3e9bf157d21daa9eb",
@@ -3536,20 +3914,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d0508541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGgL7Kvn199Prf5a4B+6XqUbdnWW\nBqLjBhLmZ0GbiF0FCFQdywcjeFw8dmWBp1FKH/QuRDfWP4eCccuGDwAAAAA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d0508541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000",
         "wx" : "680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d05",
         "wy" : "08541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d0508541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGgL7Kvn199Prf5a4B+6XqUbdnWW\nBqLjBhLmZ0GbiF0FCFQdywcjeFw8dmWBp1FKH/QuRDfWP4eCccuGDwAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30440220321009a06c759c54cd66baafa0cbfd07eedb19f12a1ed654dd52b56f9c4fac7c02201956310a7e4757ec83ddb92d2763607354678149f1ad92387928cf887b4bed0f",
@@ -3557,7 +3936,7 @@
           "flags" : []
         },
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30450221009bdd359881c239e2415ca2af3d18463bb24be53f6f636cbd20360b6b333bc34502200ff03bc36cc1975bdc8680c44fbf2aefddf67c118c304b8b3d360eb10203c3a4",
@@ -3565,7 +3944,7 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3044022048565eb7e7820d40754b5f264a4ceafa62bf75084241514b491995e7971e699502203da6df3d354f48daef6d078cf1124295fc8c3211f2757967c781dc2e9c62ed1a",
@@ -3575,20 +3954,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee906100000001469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhAAAAAUaftFbKahcgyo2yXVZ+Ehz5Ic4T40AA+MEvUnI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee906100000001469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272",
         "wx" : "7d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061",
         "wy" : "1469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee906100000001469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhAAAAAUaftFbKahcgyo2yXVZ+Ehz5Ic4T40AA+MEvUnI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "30450220518e885def022eb5020fc90f4024d87122dc0f3ed7f869ed7720ff74a009fb7b0221008a3e26a8cd426d21eba5cd7a5614f3644395cfcecb24fe760a68a7a9e8f09c02",
@@ -3596,7 +3976,7 @@
           "flags" : []
         },
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3044022004b01e5cc3ce9bf10844bc1cb21deeff6ebc9e2a7010cfbb3af0811354599c8102202e65fb8db62f255910ea4d5235bb21aa67aa59ffd519911ecd9893000ab67bb4",
@@ -3604,7 +3984,7 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304502210094bb0601198c4ce266b0932426ffd00132d7d4e2de65ef47f56360825f26243802202734327d1989c9580f5458f04aac6fd5752a1ee5e236e9ed1a7c0b2d9b36db10",
@@ -3614,20 +3994,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhqftX2ltO9WVz+/Nv0vXbFRe95AbcBFIUPNNHJF4/AQU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105",
         "wx" : "7d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061",
         "wy" : "0a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhqftX2ltO9WVz+/Nv0vXbFRe95AbcBFIUPNNHJF4/AQU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304402204dde197f962c63a7799c862e897b3bb1e7a7ddfb9ab77c2a17a54151ce604ad60220017e7aef86e533086425a2c4b32082f118913ef3667c8437672e0bbc7c2b8d7e",
@@ -3635,7 +4016,7 @@
           "flags" : []
         },
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304402207c53ed1d504ad4ba53d39792012a34d007250a2b8d1ca189c0d9f75ccc9a9957022009b97dcc5c67487114231d601374a8364cafa39581291762202b9215d51135fd",
@@ -3643,7 +4024,7 @@
           "flags" : []
         },
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30450220513245ab2b6a4206bb0f6970c8ad040a94725ddc9a08db0fd9def93866ffbba1022100a53a7ab37decedae18dd5b5c48eb642b7a9c927e6bcf6bdac3a757e6d2c169c5",
@@ -3653,20 +4034,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000481528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff1175bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIFSi3rbvr8bazx/odYShLB3Wbmp\njTGlcCcHsBj97P8Rdbv8y1RTgb+GAQMXMYQYKUAbCNzcaMw04Gpk5BIDhRI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0481528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff1175bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512",
         "wx" : "081528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff11",
         "wy" : "75bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000481528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff1175bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIFSi3rbvr8bazx/odYShLB3Wbmp\njTGlcCcHsBj97P8Rdbv8y1RTgb+GAQMXMYQYKUAbCNzcaMw04Gpk5BIDhRI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3045022100a50318c3066a4966ad18ae8f85253fbb5835a34b2f9187daac71ee28d3d5d0eb02200890ef0fc93df222d11197cb221483ce897b0cf1acf4a909c306c5a485776abc",
@@ -3676,7 +4058,7 @@
           ]
         },
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "30440220041e0389dda2cf2ae3a9562a0fb5d41c1f7533e6cc84a896e99af781e21097700220366b5d88c36f1227df522fdab65e12347d68eb64f2de82c648115fd565bd37b7",
@@ -3686,7 +4068,7 @@
           ]
         },
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304502202a76394a04ae19b25c54291e28bcd42a7edeb20981b8a3b838f9dd0e29b574c10221009ce89980ae432c4fa6a68025da554bf900cc2eb0c66906420d322c14b453049c",
@@ -3698,20 +4080,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+FuqOA8IJd/IK7VgQa22dEIW0R191tUacX0Jssn7G2HI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872",
         "wx" : "0a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e",
         "wy" : "16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+FuqOA8IJd/IK7VgQa22dEIW0R191tUacX0Jssn7G2HI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 330,
+          "tcId" : 348,
           "comment" : "y-coordinate of the public key is small on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3045022066958be3379405826a00daf5495b1657698126a5ff449f9649af26ca96df96670221009b4100816e2741f86c5c0b0dcf82e579f4281d2b8e70c234808d84c1a495079f",
@@ -3721,7 +4104,7 @@
           ]
         },
         {
-          "tcId" : 331,
+          "tcId" : 349,
           "comment" : "y-coordinate of the public key is small on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3044022053ed0f4b8fb33ef277cdd1060435ed3dec518a225659f71f67f9a1f07f85c1ca0220124d5f94ddf12bb4cbe3c5cea6d2686d4480dabb8ffbb05e5238c877fe20383e",
@@ -3731,7 +4114,7 @@
           ]
         },
         {
-          "tcId" : 332,
+          "tcId" : 350,
           "comment" : "y-coordinate of the public key is small on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3044022046643c7fe0f308b8af4ce2978d797e8c46a7e1f8bfee0b5cdbaecde1f59be41d02201bd11a814d1fbd9ae97a49df99beca7fec2512563c0031c5aad5b9fc2fb0a507",
@@ -3743,20 +4126,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e9310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+kxDJ19/lMcozeLKAMhXwYeiHrsRfcNmLwNDbaqCnewU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e9310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05",
         "wx" : "0a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e",
         "wy" : "09310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e9310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+kxDJ19/lMcozeLKAMhXwYeiHrsRfcNmLwNDbaqCnewU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 333,
+          "tcId" : 351,
           "comment" : "y-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402204f833bec9c80185beacbb73b5f984e2c03d922359be7468ce37584f53d1aea4a02206636744ab7fecaa53541bcf5f37c6cbe828a8efbc4d00f6469ba390a86708a26",
@@ -3766,7 +4150,7 @@
           ]
         },
         {
-          "tcId" : 334,
+          "tcId" : 352,
           "comment" : "y-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3045022100a2869da416523aad2b8fa8aad5c3b31c5a535fdd413b71af4dffb90c6f96a669022029ff3e8d499cabc3cc4cccd0fa811cc3b04770aa71f0d052185210b14d31993d",
@@ -3776,7 +4160,7 @@
           ]
         },
         {
-          "tcId" : 335,
+          "tcId" : 353,
           "comment" : "y-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3044022063dbfe29249a506b89fbd2cb1fafc254a9582dfc4b08d143b6d25bf2ab49d55e022044cad80c00460905e103f26da84cefd71af4bc7a71962a3bce321bc3b5842736",
@@ -3788,20 +4172,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f45994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG1Jmwd6ttd7JEMgosrKuRp2RZXd\nZ6eo38+E2n04stj0WZTAe4M/9JCcGpLMnyTeqIvoYDtAewDSKPryFY2yNU8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f45994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f",
         "wx" : "6d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f4",
         "wy" : "5994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f45994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG1Jmwd6ttd7JEMgosrKuRp2RZXd\nZ6eo38+E2n04stj0WZTAe4M/9JCcGpLMnyTeqIvoYDtAewDSKPryFY2yNU8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 336,
+          "tcId" : 354,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "30450221009d907cf88e10d60c3f23892498fe43ddb02f824fb18e6be313e02d94f2c8e09002200c16b9e0db4dc8606c023b001f69b3c886080794fc9d7fe31b00c1cf0935e421",
@@ -3811,7 +4196,7 @@
           ]
         },
         {
-          "tcId" : 337,
+          "tcId" : 355,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402207395ce0ef652848a86b61097cc9543998d39dae88a1fc9e4dfdd69642949548902207de29e256e8202382f91c116a667a8b946f210447a57369ba61ae4fae73dd136",
@@ -3821,7 +4206,7 @@
           ]
         },
         {
-          "tcId" : 338,
+          "tcId" : 356,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402207baf1fde87ccb1bea0f893b3bfb2549c04bca18835d8eb5a31b8d20506ff88c30220289ebe829fefb9ad009d7cdd622874aef5fa088f0508a4b43d5895d61645cecf",
@@ -3833,20 +4218,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000408c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAjC+V/+3eHVXj8snc9YhDR/aQTG\nSSJzrXYOt7mzXwNrK896BIyqLHJq6ICNyVMS6yNQJ1qPT77qfA8y84Oce5M=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0408c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93",
         "wx" : "08c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b",
         "wy" : "2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000408c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAjC+V/+3eHVXj8snc9YhDR/aQTG\nSSJzrXYOt7mzXwNrK896BIyqLHJq6ICNyVMS6yNQJ1qPT77qfA8y84Oce5M=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 339,
+          "tcId" : 357,
           "comment" : "x-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3044022033e37c3b66acabee3d68cbbb9c55cd52b586de51647723fa84e532a3ec5953ef02203b8a9ee707d1bc5f83e17ea072adc2ecda92e637d7c06060f1af79b929a850b3",
@@ -3856,7 +4242,7 @@
           ]
         },
         {
-          "tcId" : 340,
+          "tcId" : 358,
           "comment" : "x-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402201f8ebdc94ecddd84f90960cc55d0ca02e33d70535fc1c7322b3c2783b9dc92380220205aa8626c3a5da214e5485b11154a378d70b0d3323ab868528ae8048d17b696",
@@ -3866,7 +4252,7 @@
           ]
         },
         {
-          "tcId" : 341,
+          "tcId" : 359,
           "comment" : "x-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402206b0d70e09ba1642adac06dff9b52e22a3e4aab4180e372665691412241e743a002204d7d30ff8a210de69e3e6d1ecf7175f89f481a4d9ed06beaf7148da47f4af9e9",
diff --git a/src/third_party/wycheproof/ecdsa_brainpoolP320r1_sha384_test.json b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP320r1_sha384_test.json
similarity index 84%
rename from src/third_party/wycheproof/ecdsa_brainpoolP320r1_sha384_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_brainpoolP320r1_sha384_test.json
index 8cf4408..2a229ef 100644
--- a/src/third_party/wycheproof/ecdsa_brainpoolP320r1_sha384_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP320r1_sha384_test.json
@@ -1,27 +1,28 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 313,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 331,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040fcc8860cb26e262ca8b4ecb9c52f78d82a10a1d30dd0c8ecd7584ce80dbb75c488a062b643755001f27e676c26cd3488c1ef4ec3edd88cf8af78daf9036724b57e66da02cf7c676a53664becdfedc3b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABA/MiGDLJuJiyotOy5xS942CoQod\nMN0Mjs11hM6A27dcSIoGK2Q3VQAfJ+Z2wmzTSIwe9Ow+3YjPiveNr5A2cktX5m2g\nLPfGdqU2ZL7N/tw7\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "040fcc8860cb26e262ca8b4ecb9c52f78d82a10a1d30dd0c8ecd7584ce80dbb75c488a062b643755001f27e676c26cd3488c1ef4ec3edd88cf8af78daf9036724b57e66da02cf7c676a53664becdfedc3b",
         "wx" : "0fcc8860cb26e262ca8b4ecb9c52f78d82a10a1d30dd0c8ecd7584ce80dbb75c488a062b64375500",
         "wy" : "1f27e676c26cd3488c1ef4ec3edd88cf8af78daf9036724b57e66da02cf7c676a53664becdfedc3b"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040fcc8860cb26e262ca8b4ecb9c52f78d82a10a1d30dd0c8ecd7584ce80dbb75c488a062b643755001f27e676c26cd3488c1ef4ec3edd88cf8af78daf9036724b57e66da02cf7c676a53664becdfedc3b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABA/MiGDLJuJiyotOy5xS942CoQod\nMN0Mjs11hM6A27dcSIoGK2Q3VQAfJ+Z2wmzTSIwe9Ow+3YjPiveNr5A2cktX5m2g\nLPfGdqU2ZL7N/tw7\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -35,7 +36,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30540228258ef9338000816fa220de07c2ac41717204f98e462d02d1e4b38a6f15961d7c9feac1c5623dacb60228068f9f4ee3d5b3982540e793d0b407532aa65c917e77060e86b600f608a6a4be760087a9315fcd4b",
+          "sig" : "3055022900860beed2003147ee26e5e2427c18c219edfcf1262f6457ab7a25f6c1dda9913b1d57f20df3cf6a5d02280e5d76922edc4c479cbd0fd53a501c18f703fd4ec8048fbe56137731e59487bb881de9e8d2163d7a",
           "result" : "valid",
           "flags" : []
         },
@@ -43,7 +44,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30560229009be0959323d68b9951cf535956063bc38176f1bcfb56bc67588b1ceced1cc18294614794cd35e6df022900a9d0e99674a7ab035d5bb6f0bff9dcb20bc51fbca0b36d6bcec8306e2d60bdff82c739c34c1156f9",
+          "sig" : "305602290080b6493f062bcc05487d1d4f3afc0bac3616388fae0a613e6fe3e7c65492e25f031f23931cfb27c6022900c0f5bfaeb08050c11bdb299d56fef190a624cbb2707ff814146b9d1770c80895757d20445fff6be6",
           "result" : "valid",
           "flags" : []
         },
@@ -51,7 +52,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "305402284b68be3db05def94ad56d7b8ca8c9d83f4bae618ada254a477d2379e1e2d2f0ac212f8f561df19e1022879610328a4e938f6d09b609cd0ba3e1b47edca93e2703b8f441858e35e8d8cc869f62ece4e63b48b",
+          "sig" : "30550229008395f3e780d1c3961383b8fce9e03e141743eecdca3585d798d5066d867e450da61031cdd3877c5d022823fd6dac0fbe95be4e569c5b9894e8cf1982f0355a39698801552d6b7e932ec8db5bb4c1d6d606de",
           "result" : "valid",
           "flags" : []
         },
@@ -59,7 +60,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3056022900a9794992bf2c4ccab2c486ef750d56004dcd63511efbebe554fe0ab10554e7df83f594cd9131b9d8022900954d5e1090493967ad99d100660bba887215293bd390165eb1086796f108faff75f70462fbcb02c0",
+          "sig" : "3055022900c143a9684b6a8018b5a5e7b737633de24a917370c230483f2ab7336b1bb73d63c406e7171f15740b0228453e853d903d9183751fdeecbdad50fede86e38cbacd025bb0b98c4b187d52e91207e2b139a25e42",
           "result" : "valid",
           "flags" : []
         },
@@ -67,7 +68,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30550228026118188c8adac5773a41f8fe087b4530f0dbd643d6ec3d5f3995c4cef0cb91f14d1c5822623e86022900afc187f425f6c6c547ac12d3a79a19f02016c251ceeb06ce250b2e5c78519773c0a206db8d58cee9",
+          "sig" : "3055022800b2c594224fcbdac83cf008fd69f0168063215ee9ae12ff36a7e8c95bf1d9db59a069ca9b6e11cf022900c326903e74451e8063a704466ac1e0382e189f7d5c15da8c9f7908f8aeaf28b46b1e69d39fc80697",
           "result" : "valid",
           "flags" : []
         },
@@ -95,7 +96,9 @@
           "msg" : "313233343030",
           "sig" : "30815502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -103,7 +106,9 @@
           "msg" : "313233343030",
           "sig" : "30560281290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -111,7 +116,9 @@
           "msg" : "313233343030",
           "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0281285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -119,7 +126,9 @@
           "msg" : "313233343030",
           "sig" : "3082005502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -127,7 +136,9 @@
           "msg" : "313233343030",
           "sig" : "3057028200290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -135,7 +146,9 @@
           "msg" : "313233343030",
           "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e028200285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 15,
@@ -387,6 +400,14 @@
         },
         {
           "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000",
@@ -394,7 +415,7 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
+          "tcId" : 48,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3057000002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -402,24 +423,16 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 49,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e000002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 50,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50500",
           "result" : "invalid",
@@ -427,22 +440,6 @@
         },
         {
           "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3057022b0085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e050002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022a5020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "305a498177305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -450,7 +447,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30592500305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -458,7 +455,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3057305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50004deadbeef",
@@ -466,7 +463,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "305a222e49817702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -474,7 +471,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3059222d250002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -482,7 +479,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "305d222b02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0004deadbeef02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -490,7 +487,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "305a02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e222d49817702285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -498,7 +495,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "305902290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e222c250002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -506,7 +503,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "305d02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e222a02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50004deadbeef",
@@ -514,7 +511,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "305daa00bb00cd00305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -522,7 +519,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "305baa02aabb305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -530,7 +527,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "305d2231aa00bb00cd0002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -538,7 +535,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "305b222faa02aabb02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -546,7 +543,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "305d02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e2230aa00bb00cd0002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -554,7 +551,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "305b02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e222eaa02aabb02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -562,7 +559,15 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000",
@@ -570,7 +575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3059228002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e000002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -578,7 +583,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "305902290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e228002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000",
@@ -586,7 +591,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080315502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000",
@@ -594,7 +599,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3059228003290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e000002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -602,7 +607,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "305902290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e228003285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000",
@@ -610,7 +615,7 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
+          "tcId" : 73,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -618,127 +623,47 @@
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e5502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f5502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "315502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "325502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff5502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305500290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305501290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305503290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305504290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3055ff290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e00285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e01285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e03285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e04285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6eff285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
+          "tcId" : 79,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -746,31 +671,15 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "30593001023054290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3059222d020100022885b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "305902290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e222c020150022720e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "305402290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5a",
@@ -778,7 +687,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3054290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -786,15 +695,17 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "308002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "308002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af500",
@@ -802,7 +713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "308002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af505000000",
@@ -810,7 +721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "308002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5060811220000",
@@ -818,7 +729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "308002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000fe02beef",
@@ -826,7 +737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "308002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50002beef",
@@ -834,7 +745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "3057300002290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -842,7 +753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af53000",
@@ -850,7 +761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "3057305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -858,7 +769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "302b02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e",
@@ -866,7 +777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "307f02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af502285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -874,7 +785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "302a02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -882,7 +793,23 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302b0202285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302c02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3057022b0085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e000002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -890,7 +817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022a5020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50000",
@@ -898,23 +825,67 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3057022b00000085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 111,
+          "tcId" : 100,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022a00005020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e000002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3057022b0085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e050002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "305702290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022a5020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af50500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "302c028102285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "302d02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "302c050002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -922,7 +893,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 107,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "302d02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0500",
@@ -930,7 +901,87 @@
           "flags" : []
         },
         {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305500290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305501290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305503290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305504290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3055ff290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e00285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e01285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e03285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e04285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6eff285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "302c020002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -938,7 +989,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "302d02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0200",
@@ -946,7 +997,23 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3059222d020100022885b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "305902290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e222c020150022720e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "305502290285b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -954,7 +1021,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285220e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -962,7 +1029,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34aee02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -970,7 +1037,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5a75",
@@ -978,7 +1045,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "305402280085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -986,7 +1053,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3054022885b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -994,7 +1061,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "305402290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02275020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5a",
@@ -1002,7 +1069,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "305402290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022720e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -1010,7 +1077,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "3056022aff0085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -1018,7 +1085,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0229ff5020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -1026,7 +1093,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "302d09018002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
@@ -1034,7 +1101,7 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
+          "tcId" : 133,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "302e02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e090180",
@@ -1042,66 +1109,18 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "305502290159100378a2b190377dcb3bd531e20c378d106931fc183f707dc9d08576f8fb566185594220b8dd7f02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30540228b25375383538f0c7bb524b178dde4b6b99f0c9e68efa1a2a233972f599ec49835462ae8b972db75d02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30550229ff7a4e43a7940abf8063713c89a01fd42e6c7f6673ba76d332af7e5e42778d5d93250bfc19240cb59202285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "305402284dac8ac7cac70f3844adb4e87221b494660f36197105e5d5dcc68d0a6613b67cab9d517468d248a302285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30550229fea6effc875d4e6fc88234c42ace1df3c872ef96ce03e7c08f82362f7a890704a99e7aa6bddf47228102285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "305502290185b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "305402287a4e43a7940abf8063713c89a01fd42e6c7f6673ba76d332af7e5e42778d5d93250bfc19240cb59202285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "sig" : "302d02010002285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 135,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022901237f27debd21320e1a68f2707191fc90c8c8de0031452240c8538fc061cf19470536f8f1bd23ee06",
+          "sig" : "302e02290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1109,7 +1128,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0229ff7cc2999e4fa8929e57f001b2cd8e3bc4d5a93eb4c426fcfa6dc3323084c26773f8144e3b3398c7e4",
+          "sig" : "305502290159100378a2b190377dcb3bd531e20c378d106931fc183f707dc9d08576f8fb566185594220b8dd7f02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
@@ -1117,7 +1136,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0228afdf1f41799b1da9c6d385ee606fe3d530c6f1a58549f06264f49f078cb73fa2815a5c6987a1a50b",
+          "sig" : "30540228b25375383538f0c7bb524b178dde4b6b99f0c9e68efa1a2a233972f599ec49835462ae8b972db75d02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
@@ -1125,7 +1144,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0229fedc80d82142decdf1e5970d8f8e6e036f373721ffcebaddbf37ac703f9e30e6b8fac9070e42dc11fa",
+          "sig" : "30550229ff7a4e43a7940abf8063713c89a01fd42e6c7f6673ba76d332af7e5e42778d5d93250bfc19240cb59202285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
@@ -1133,7 +1152,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0229015020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "sig" : "305402284dac8ac7cac70f3844adb4e87221b494660f36197105e5d5dcc68d0a6613b67cab9d517468d248a302285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
@@ -1141,12 +1160,76 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022900afdf1f41799b1da9c6d385ee606fe3d530c6f1a58549f06264f49f078cb73fa2815a5c6987a1a50b",
+          "sig" : "30550229fea6effc875d4e6fc88234c42ace1df3c872ef96ce03e7c08f82362f7a890704a99e7aa6bddf47228102285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "305502290185b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e02285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "305402287a4e43a7940abf8063713c89a01fd42e6c7f6673ba76d332af7e5e42778d5d93250bfc19240cb59202285020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022901237f27debd21320e1a68f2707191fc90c8c8de0031452240c8538fc061cf19470536f8f1bd23ee06",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0229ff7cc2999e4fa8929e57f001b2cd8e3bc4d5a93eb4c426fcfa6dc3323084c26773f8144e3b3398c7e4",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "305502290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0228afdf1f41799b1da9c6d385ee606fe3d530c6f1a58549f06264f49f078cb73fa2815a5c6987a1a50b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0229fedc80d82142decdf1e5970d8f8e6e036f373721ffcebaddbf37ac703f9e30e6b8fac9070e42dc11fa",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e0229015020e0be8664e256392c7a119f901c2acf390e5a7ab60f9d9b0b60f87348c05d7ea5a396785e5af5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "305602290085b1bc586bf5407f9c8ec3765fe02bd19380998c45892ccd5081a1bd8872a26cdaf403e6dbf34a6e022900afdf1f41799b1da9c6d385ee606fe3d530c6f1a58549f06264f49f078cb73fa2815a5c6987a1a50b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1156,7 +1239,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1166,7 +1249,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1176,7 +1259,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "302e020100022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
@@ -1186,7 +1269,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "302e020100022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
@@ -1196,7 +1279,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "302e020100022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
@@ -1206,7 +1289,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "302e020100022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
@@ -1216,7 +1299,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "302e020100022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
@@ -1226,7 +1309,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1236,7 +1319,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1246,90 +1329,10 @@
           ]
         },
         {
-          "tcId" : 151,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 152,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 153,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 154,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 155,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 156,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 157,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 158,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020100",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1339,7 +1342,7 @@
           "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020101",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1349,7 +1352,7 @@
           "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
+          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1359,7 +1362,7 @@
           "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
+          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1369,7 +1372,7 @@
           "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
+          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1379,7 +1382,7 @@
           "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
+          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1389,7 +1392,7 @@
           "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
+          "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1399,7 +1402,7 @@
           "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1409,7 +1412,7 @@
           "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1419,7 +1422,7 @@
           "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020100",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1429,7 +1432,7 @@
           "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1439,7 +1442,7 @@
           "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201ff",
+          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1449,7 +1452,7 @@
           "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
+          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1459,7 +1462,7 @@
           "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
+          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1469,7 +1472,7 @@
           "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
+          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1479,7 +1482,7 @@
           "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
+          "sig" : "302e0201ff022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1489,7 +1492,7 @@
           "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1499,7 +1502,7 @@
           "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311090380fe01",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1509,7 +1512,7 @@
           "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310020100",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1519,7 +1522,7 @@
           "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310020101",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593110201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1529,7 +1532,7 @@
           "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593100201ff",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1539,7 +1542,7 @@
           "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1549,7 +1552,7 @@
           "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1559,7 +1562,7 @@
           "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1569,7 +1572,7 @@
           "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1579,7 +1582,7 @@
           "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
+          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1589,7 +1592,7 @@
           "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310090380fe01",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1599,7 +1602,7 @@
           "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312020100",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1609,7 +1612,7 @@
           "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312020101",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593100201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1619,7 +1622,7 @@
           "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593120201ff",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1629,7 +1632,7 @@
           "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1639,7 +1642,7 @@
           "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1649,7 +1652,7 @@
           "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1659,7 +1662,7 @@
           "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1669,7 +1672,7 @@
           "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
+          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1679,7 +1682,7 @@
           "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312090380fe01",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1689,7 +1692,7 @@
           "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27020100",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1699,7 +1702,7 @@
           "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27020101",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c593120201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1709,7 +1712,7 @@
           "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e270201ff",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1719,7 +1722,7 @@
           "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1729,7 +1732,7 @@
           "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1739,7 +1742,7 @@
           "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1749,7 +1752,7 @@
           "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1759,7 +1762,7 @@
           "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
+          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1769,7 +1772,7 @@
           "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27090380fe01",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1779,7 +1782,7 @@
           "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28020100",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1789,7 +1792,7 @@
           "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28020101",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e270201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1799,7 +1802,7 @@
           "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e280201ff",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1809,7 +1812,7 @@
           "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1819,7 +1822,7 @@
           "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1829,7 +1832,7 @@
           "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1839,7 +1842,7 @@
           "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1849,7 +1852,7 @@
           "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
+          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1859,7 +1862,7 @@
           "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28090380fe01",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1867,6 +1870,86 @@
         },
         {
           "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e280201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59311",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59310",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e27",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3030022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e28090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 221,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3730373135",
           "sig" : "3054022825166f47ac99c6bec3b038849ab4ead3b251f18afb0da1da5caa604a92a909c8561817684abffb9202283107ffd1aadce5b58a2a1b9517ccedda090433ac6344b027f36fc6b358ef4a8e436df3fd05521668",
@@ -1876,20 +1959,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf386224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLIezUjMRvswbtVOiK22FSCEV70l\nfn6dgdtb0fVhAKeuuxOGRlUHu/OGIkyzg4FeG6vlYdy29JrwBz4b/aNmBm72JED8\ngd7H7KAhywwFCR37\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf386224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb",
         "wx" : "0b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf3",
         "wy" : "086224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf386224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLIezUjMRvswbtVOiK22FSCEV70l\nfn6dgdtb0fVhAKeuuxOGRlUHu/OGIkyzg4FeG6vlYdy29JrwBz4b/aNmBm72JED8\ngd7H7KAhywwFCR37\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "30420215014064fb4c224a8b248a0d933f7642bd56aced9b12022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
@@ -1897,7 +1981,7 @@
           "flags" : []
         },
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e23022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
@@ -1907,20 +1991,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200049c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf179001e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJyXAd4v/bKW5tVqXzwYnsuw5ESO\nOO1l2kbuqlGns05lCpHalfrxeQAeCpilmFI6NMSRjUGA+H1kHkYmzhH6OiRKv7JF\nBzZpPThlIwkkDr2p\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "049c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf179001e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9",
         "wx" : "09c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf17900",
         "wy" : "1e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200049c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf179001e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJyXAd4v/bKW5tVqXzwYnsuw5ESO\nOO1l2kbuqlGns05lCpHalfrxeQAeCpilmFI6NMSRjUGA+H1kHkYmzhH6OiRKv7JF\nBzZpPThlIwkkDr2p\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
@@ -1930,20 +2015,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee427538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLbw3cg074pnkDaB6gK3iPz/gtEj\nB8jD9KRLMNfF9hTa/MmoOZkfjuQnU44wrlECsgQ5V91hJPujobYBwEvdr2ySn/3y\n93lv1wmMOH28Cyb7\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee427538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb",
         "wx" : "0b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee4",
         "wy" : "27538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee427538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLbw3cg074pnkDaB6gK3iPz/gtEj\nB8jD9KRLMNfF9hTa/MmoOZkfjuQnU44wrlECsgQ5V91hJPujobYBwEvdr2ySn/3y\n93lv1wmMOH28Cyb7\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "305502287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0229008c0736554dbc446063e8e15f297fd4b66fa8879945bbb5c22714a9645f4fa4ef9d710eafa6b226d8",
@@ -1953,20 +2039,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96fb52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABG30QyHUpfavY+AbebtgjqBKxvNf\neVBEoE/0APVH/TTZt4wSxFl4+W+1KQHOzkiqtDLD29y8DicLLMm5kVzB/7aaNl2E\nw5GGxIF3OHqp7gpI\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "046df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96fb52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48",
         "wx" : "6df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96f",
         "wy" : "0b52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96fb52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABG30QyHUpfavY+AbebtgjqBKxvNf\neVBEoE/0APVH/TTZt4wSxFl4+W+1KQHOzkiqtDLD29y8DicLLMm5kVzB/7aaNl2E\nw5GGxIF3OHqp7gpI\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "305402287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02285407cdd593acb501fc2848351f9d2e6b5457d3de43c3130e3b74e6a9242b3cce1c24f094f118bcd6",
@@ -1976,20 +2063,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE5JbwVqtdB/llYsaDZDRA4x/qJt\nNebFtp7vqkEH00XIB78nny6ia2AohTl2b8cmy56EHbXc+7t5LK3jwe9ktp3L2n9e\nSXtFWpEc4vDrysqt\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "044e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad",
         "wx" : "4e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60",
         "wy" : "288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE5JbwVqtdB/llYsaDZDRA4x/qJt\nNebFtp7vqkEH00XIB78nny6ia2AohTl2b8cmy56EHbXc+7t5LK3jwe9ktp3L2n9e\nSXtFWpEc4vDrysqt\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1999,20 +2087,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000411e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af43f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBHglPRwlI5OqmqhP6tOBjOG6Rpj\nj6Im2YjQaT3qcZypX2Hkk+mDWvQ/Uz6JqiCFqfgSEIaiWX8QYPc8jXXWaUDlDurX\nPf0DxHbqGUfN1N0/\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0411e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af43f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f",
         "wx" : "11e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af4",
         "wy" : "3f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000411e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af43f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBHglPRwlI5OqmqhP6tOBjOG6Rpj\nj6Im2YjQaT3qcZypX2Hkk+mDWvQ/Uz6JqiCFqfgSEIaiWX8QYPc8jXXWaUDlDurX\nPf0DxHbqGUfN1N0/\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -2022,20 +2111,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000416517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb9f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBZRen176rZHLqj2vCBBKjzZbSQs\nJGzp+YOy7wiyhM+tGsKFY7Vu2vufVv4t94wjmqFsPDGLyRkaFuxAenADVBc/i4Yt\nmgqhDWc5fybnycC+\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0416517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb9f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be",
         "wx" : "16517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb",
         "wy" : "09f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000416517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb9f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBZRen176rZHLqj2vCBBKjzZbSQs\nJGzp+YOy7wiyhM+tGsKFY7Vu2vufVv4t94wjmqFsPDGLyRkaFuxAenADVBc/i4Yt\nmgqhDWc5fybnycC+\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -2043,7 +2133,7 @@
           "flags" : []
         },
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312020103",
@@ -2053,20 +2143,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABDomaLwJYU0mOO1Y8cQhu2Hy1Jmo\nb+fVc70TkqzvnilrHvKxDX9OxSTRt46ycWzmaAVNKWd8b00yNfJ9OpKV7O+d39L2\nWLoAIFLQ4eZxch4u\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "043a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e",
         "wx" : "3a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524",
         "wy" : "0d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABDomaLwJYU0mOO1Y8cQhu2Hy1Jmo\nb+fVc70TkqzvnilrHvKxDX9OxSTRt46ycWzmaAVNKWd8b00yNfJ9OpKV7O+d39L2\nWLoAIFLQ4eZxch4u\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44d86998",
@@ -2076,20 +2167,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c84b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0Wl8bhB/PZC430Yus2i3XrpYVj\nWVAXfgpksa1L5SfJCVf73yA9Z8hLAD8g6BZZCZt+RmYY8mEMbx3zFbIBHbB7kPNm\nK1FWH//fPrtdRDRA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c84b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440",
         "wx" : "0cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c8",
         "wy" : "4b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c84b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0Wl8bhB/PZC430Yus2i3XrpYVj\nWVAXfgpksa1L5SfJCVf73yA9Z8hLAD8g6BZZCZt+RmYY8mEMbx3zFbIBHbB7kPNm\nK1FWH//fPrtdRDRA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "302e02020100022821494db879806d4f59e53d4963977a03f6ec51140c9f9a1dba8857ff3bbc76d2214947e60edc982b",
@@ -2099,20 +2191,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLHjYZ2eNYc+lZu33ndA6Sfjy3/P\nRBO/277XLsyahqUNcCnK4I7ChatIa10vfJuTFEILyGTP4ptAZL97kiu7W7zRbzqB\n6n0KYbCgmmKVm3aQ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690",
         "wx" : "0b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab",
         "wy" : "486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLHjYZ2eNYc+lZu33ndA6Sfjy3/P\nRBO/277XLsyahqUNcCnK4I7ChatIa10vfJuTFEILyGTP4ptAZL97kiu7W7zRbzqB\n6n0KYbCgmmKVm3aQ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "303302072d9b4d347952cc022843becc876a63564b458280199e382cbad8ef68d406665bbf307ffea45845a9ac69345a84a5a72b87",
@@ -2122,20 +2215,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000497cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJfP66tYilQkKk2WLvgDN2w/Qwea\npQqIcdbndvegszrqRquaLaY6M9jIGvNK8umgxXHv+1AcSif9Ku3BNiNEevK8i21e\ncgjCPofi15fMPPV+\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0497cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e",
         "wx" : "097cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8",
         "wy" : "0c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000497cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJfP66tYilQkKk2WLvgDN2w/Qwea\npQqIcdbndvegszrqRquaLaY6M9jIGvNK8umgxXHv+1AcSif9Ku3BNiNEevK8i21e\ncgjCPofi15fMPPV+\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3039020d1033e67e37b32b445580bf4efc02283992353d916617b49303856488e39fbc26173b8bc426f8207de3d8f1b97f3d12c803b99d57768fa7",
@@ -2145,20 +2239,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCluAGeUfvwHoGriGPsAFk0evrzT\neH95NIFAfieWJI6LZerFfbDBRgZynoCUuaVO6sI9mNUdZi7/LfM6hpMAj9AqBCnv\naFHsvc2TqsZ8L722\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6",
         "wx" : "296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606",
         "wy" : "729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCluAGeUfvwHoGriGPsAFk0evrzT\neH95NIFAfieWJI6LZerFfbDBRgZynoCUuaVO6sI9mNUdZi7/LfM6hpMAj9AqBCnv\naFHsvc2TqsZ8L722\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "302f0202010002290084380881b243236967227191398a3a4909000425576c79465bdaaa0a03267b9e48f68fa0a68b29e3",
@@ -2168,20 +2263,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a6851cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKN4OwFFXZIID1INFx+Sq+r0jHI4\n4Wiykx8rMi+cD6ppokCXg2ywpoUcvxoiusJDdVEkRgVoLavN1M85/50IRDkhyZRI\ny86l3rha2VLbsrln\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a6851cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967",
         "wx" : "0a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a685",
         "wy" : "1cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a6851cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKN4OwFFXZIID1INFx+Sq+r0jHI4\n4Wiykx8rMi+cD6ppokCXg2ywpoUcvxoiusJDdVEkRgVoLavN1M85/50IRDkhyZRI\ny86l3rha2VLbsrln\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "303a020d062522bbd3ecbe7c39e93e7c2402290084380881b243236967227191398a3a4909000425576c79465bdaaa0a03267b9e48f68fa0a68b29e3",
@@ -2191,20 +2287,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000470d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHDV/UHEFtW3zby5RCBb1p/wDtY1\nSqUCdX4InLGa9vd3vrD2khwPr6wirnzGXg57YXQjdQuEk6WFEuN5wA3mJsF/fIK/\nyQfyZhCj8eTRMsV1\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0470d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575",
         "wx" : "70d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac",
         "wy" : "22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000470d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHDV/UHEFtW3zby5RCBb1p/wDtY1\nSqUCdX4InLGa9vd3vrD2khwPr6wirnzGXg57YXQjdQuEk6WFEuN5wA3mJsF/fIK/\nyQfyZhCj8eTRMsV1\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592940229008ce984c0247d8a7a9628503f36abeaeea65fdfc3cf0a0c6cc8dac9da9f043b4659b638e7832e620b",
@@ -2214,20 +2311,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAaCjOY/Ow1pTOKZnQaUf6ni0cGK\nuAMmUvp6mMZ4z2uyxS5zaQheTvfFbfaRKJYvvvwq7xs/bEZ7cvwwWs9RszlkPKLt\na95WMXxM9ZiVkj3t\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0406828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded",
         "wx" : "6828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7",
         "wy" : "0c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAaCjOY/Ow1pTOKZnQaUf6ni0cGK\nuAMmUvp6mMZ4z2uyxS5zaQheTvfFbfaRKJYvvvwq7xs/bEZ7cvwwWs9RszlkPKLt\na95WMXxM9ZiVkj3t\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "302d02284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105020101",
@@ -2235,7 +2333,7 @@
           "flags" : []
         },
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "302d02284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105020100",
@@ -2245,20 +2343,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCAlFq1mN3XxIVVSEHkDfz/KUMZP\nqkr9iGrdTaq5J/P2KqLa5oSmNdZjKu3VMOYdqzWRaWLujyPtaIGYr9WtawcF4u+d\nC6PFMzsVvatDLuNC\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342",
         "wx" : "202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6",
         "wy" : "632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCAlFq1mN3XxIVVSEHkDfz/KUMZP\nqkr9iGrdTaq5J/P2KqLa5oSmNdZjKu3VMOYdqzWRaWLujyPtaIGYr9WtawcF4u+d\nC6PFMzsVvatDLuNC\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "3054022869af23901b5e27dbf09e3c2f6900f032fcc7e7d2db47895196a41763f7432c74c348aaada262c98802284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105",
@@ -2268,20 +2367,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c9b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGtDJxF+nATXpYJZxSB6NujSeOhz\nuStbOnCjxHQsxYO0FAiqqyOhKpybCyYWDFSKus1/Djcnb5F8CXIbOETQsm6e1cds\nmXh5kiWb8PewJEXT\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "046b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c9b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3",
         "wx" : "6b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c",
         "wy" : "09b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c9b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGtDJxF+nATXpYJZxSB6NujSeOhz\nuStbOnCjxHQsxYO0FAiqqyOhKpybCyYWDFSKus1/Djcnb5F8CXIbOETQsm6e1cds\nmXh5kiWb8PewJEXT\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb700",
@@ -2291,20 +2391,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d77202282d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCd/SH+vd6Zdu3kVNuhjuMcPkE/N\nyvUnQNS9XEaXMeWOpr1T6NdyAigtNG8rTKe6y4gv73ScJxPxp18Agn6Lm590Sg4e\nNLz4B5mhIJUN6V2Z\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d77202282d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99",
         "wx" : "277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d7720228",
         "wy" : "2d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d77202282d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCd/SH+vd6Zdu3kVNuhjuMcPkE/N\nyvUnQNS9XEaXMeWOpr1T6NdyAigtNG8rTKe6y4gv73ScJxPxp18Agn6Lm590Sg4e\nNLz4B5mhIJUN6V2Z\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f22",
@@ -2314,20 +2415,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000473bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334baec1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHO9YvO7Mp1lCStdE8V0bUYkAdJg\nCZTY/i7F71ufM5kISx3cZMszS67B0axPmgwqee98zErpFl3fp2E4I1cYzyQDLDP5\n20omsrA2kqVvUgLr\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0473bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334baec1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb",
         "wx" : "73bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334bae",
         "wy" : "0c1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000473bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334baec1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHO9YvO7Mp1lCStdE8V0bUYkAdJg\nCZTY/i7F71ufM5kISx3cZMszS67B0axPmgwqee98zErpFl3fp2E4I1cYzyQDLDP5\n20omsrA2kqVvUgLr\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "305402284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c197310502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105",
@@ -2337,20 +2439,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000420a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCCnVVEDXbldehpnPUZNJ22ghhAI\n5GRMWCvBChvurrBwgj/QZKJiXrtdR/DHf8V+O7DhU7vH6bvejbmLDEbFgVSvW5eG\nsQuhKrO6hTOjmSiD\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0420a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883",
         "wx" : "20a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb",
         "wy" : "5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000420a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCCnVVEDXbldehpnPUZNJ22ghhAI\n5GRMWCvBChvurrBwgj/QZKJiXrtdR/DHf8V+O7DhU7vH6bvejbmLDEbFgVSvW5eG\nsQuhKrO6hTOjmSiD\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c19731050229008ce984c0247d8a7a9628503f36abeaeea65fdfc3cf0a0c6cc8dac9da9f043b4659b638e7832e620c",
@@ -2360,20 +2463,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf671666340e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD9DbQfLAmSxP5L9aWM0pOUbfWYZ\n4tBDstDSeJY/JRYgDvkF6/ZxZmNA5kK2yWYHK3kngANlESiHnxne4BJztmvq2ARR\nlCd8koQJM0jZBWmx\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "043f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf671666340e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1",
         "wx" : "3f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf6716663",
         "wy" : "40e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf671666340e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD9DbQfLAmSxP5L9aWM0pOUbfWYZ\n4tBDstDSeJY/JRYgDvkF6/ZxZmNA5kK2yWYHK3kngANlESiHnxne4BJztmvq2ARR\nlCd8koQJM0jZBWmx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02280cc64af035cb79b3336a62d915b381e268d3bcb834f9cfd0f597c37ca5fcf50f588614ef0ef7b6a5",
@@ -2383,20 +2487,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e575421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMFvvm0NdzJ8+aZfmHwv5+4YB4Uc\nDhyLxPBiKAfc1KiLO5EusEdUceV1QhxAVABQUHoWPyPMfLkKzFKCLQHSRatw3KrA\nbi6mRDJ6hfWV0Cbv\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e575421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef",
         "wx" : "0c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e5",
         "wy" : "75421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e575421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMFvvm0NdzJ8+aZfmHwv5+4YB4Uc\nDhyLxPBiKAfc1KiLO5EusEdUceV1QhxAVABQUHoWPyPMfLkKzFKCLQHSRatw3KrA\nbi6mRDJ6hfWV0Cbv\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0229008e765d0d1cf9539f682a4155b6d60eb6aa6862b2af9e9d3f94c9ad46d332f0e029775522815c0e5a",
@@ -2406,20 +2511,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307ec62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABL6SQAfW4iuUSsdtp/wmYNGu+raU\ncb2DW9eO3SwQYh529xi/0KXiMH7GJYPVulzBxUdjBHazmYZuftlTtTj3bIav6c/Q\nhUtX4zaRx35ETMq4\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307ec62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8",
         "wx" : "0be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307e",
         "wy" : "0c62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307ec62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABL6SQAfW4iuUSsdtp/wmYNGu+raU\ncb2DW9eO3SwQYh529xi/0KXiMH7GJYPVulzBxUdjBHazmYZuftlTtTj3bIav6c/Q\nhUtX4zaRx35ETMq4\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02287225a960d967cfe52ac126a50fd79fa85a586397c0b298c8adfaf138317b0f794b24f53bd920c1cf",
@@ -2429,20 +2535,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a431b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKzyQBMNR9SlfWBllfmJEp/qfpdE\nseU/XOZ5wkTIWvNcYYYH4uzOGkMbaWp5Wf4w0EkQDdVCWBgbCKL+RC5B/ylSPBGj\n4BAo62SzIcK3Alec\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a431b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c",
         "wx" : "0acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a43",
         "wy" : "1b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a431b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKzyQBMNR9SlfWBllfmJEp/qfpdE\nseU/XOZ5wkTIWvNcYYYH4uzOGkMbaWp5Wf4w0EkQDdVCWBgbCKL+RC5B/ylSPBGj\n4BAo62SzIcK3Alec\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900874f311b6b9ac74fc34c60c0941873651b3c0ec1d097a7861e0c7fbec3226f23a5e2c929d856ecb3",
@@ -2452,20 +2559,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000446243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEYkOznndjmsGem+U2aTF9lZjgPs\nMKDPaTD4AACYM4JqWa3lMhkz/y9p13C5eMzDbJC3SOUBBjbnAE3cGYhdp7uQ2/rU\nefxS3OS5KBQF8ca9\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0446243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd",
         "wx" : "46243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f",
         "wy" : "69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000446243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEYkOznndjmsGem+U2aTF9lZjgPs\nMKDPaTD4AACYM4JqWa3lMhkz/y9p13C5eMzDbJC3SOUBBjbnAE3cGYhdp7uQ2/rU\nefxS3OS5KBQF8ca9\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022813753ac90fbc7edfdcb32e1697fdfd41b1fb59c5ad177e96feacc87522ef928de80a60bb0f32e7e2",
@@ -2475,20 +2583,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c94f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLS5tro8DnUJwnWJToToGNcd4UV3\nvbS/C45eEzLRCH88Mztz6Kt18slPM9DiqzQtLhlozj4cR76H457ognOuTPd3hp06\nFwO2Opg9LUPFkwPl\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c94f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5",
         "wx" : "0b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c9",
         "wy" : "4f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c94f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLS5tro8DnUJwnWJToToGNcd4UV3\nvbS/C45eEzLRCH88Mztz6Kt18slPM9DiqzQtLhlozj4cR76H457ognOuTPd3hp06\nFwO2Opg9LUPFkwPl\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022826ea75921f78fdbfb9665c2d2ffbfa8363f6b38b5a2efd2dfd5990ea45df251bd014c1761e65cfc4",
@@ -2498,20 +2607,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000403015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAMBWzymdoNGfHlEbUuT0Ql4MwhW\n7uQNbVhoOsc1AK4xXFtYI1HEImsY2JVh0/+g+TEaphZUf36x025zpsxL0jDfNKHz\nGb5mvLL7Dh9ozBku\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0403015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e",
         "wx" : "3015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b",
         "wy" : "18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000403015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAMBWzymdoNGfHlEbUuT0Ql4MwhW\n7uQNbVhoOsc1AK4xXFtYI1HEImsY2JVh0/+g+TEaphZUf36x025zpsxL0jDfNKHz\nGb5mvLL7Dh9ozBku\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0229009fee192930d30502c05e56adf086ecd13a92cd43ce0c72ea65ead43667890ae19be835333c32c5f0",
@@ -2521,20 +2631,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c0623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBh9k/hKDmBD8JfQqH+NygdznPRF\nSKfTQD4DnknExRKFSCl1r1TsBWwGI8V1OP77cjHWGbvv1Mqzc6VLNhNU5Yax2Zga\niDXpxr6rCCy5PhO2\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c0623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6",
         "wx" : "187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c",
         "wy" : "623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c0623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBh9k/hKDmBD8JfQqH+NygdznPRF\nSKfTQD4DnknExRKFSCl1r1TsBWwGI8V1OP77cjHWGbvv1Mqzc6VLNhNU5Yax2Zga\niDXpxr6rCCy5PhO2\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900963f97cb35a321df62fc219eb2f3703949c483165d06db13c403080a86c1e5d9b43d2e8dd9643cde",
@@ -2544,20 +2655,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAhVzCA1ESazj5NPu1bDAvYqNg5i\nSTwtUp+4fK6g1xv9r1/MM2jUlf0c51eGEMvsRlOYssEjiz4jueKbR2GWEGQw12MW\nqvKZN6zmWLaci/uZ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "040855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99",
         "wx" : "0855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd",
         "wy" : "1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAhVzCA1ESazj5NPu1bDAvYqNg5i\nSTwtUp+4fK6g1xv9r1/MM2jUlf0c51eGEMvsRlOYssEjiz4jueKbR2GWEGQw12MW\nqvKZN6zmWLaci/uZ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022813dbff9e667e7bcd44950226f93b09738e793517c02886ae9f2b3dededa756c9049ab9a46bc7c93e",
@@ -2567,20 +2679,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000494c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a5833686d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJTFSRkAQHm+DbTJLcH8lH156w+O\nhp2UgTiGraQlTx2ttNh6YRKlgzaG2LW+rAD6/WR++LYx6JmmqLcqUR1PUM4VZkit\nnLcI+y+yxjj9ufMy\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0494c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a5833686d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332",
         "wx" : "094c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a58336",
         "wy" : "086d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000494c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a5833686d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJTFSRkAQHm+DbTJLcH8lH156w+O\nhp2UgTiGraQlTx2ttNh6YRKlgzaG2LW+rAD6/WR++LYx6JmmqLcqUR1PUM4VZkit\nnLcI+y+yxjj9ufMy\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900852466cef316992b3ca25cc54b7f4fda2e8a819e7c4b040543e94f9caca02937681c2019bb49ee43",
@@ -2590,20 +2703,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200042bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de92f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCvKdgQ3KLXu796J0lrN8uCxYMWu\nDM2ra9O6pHnxd1PDwADM+LqGI96S8MLWihvUBeRJgj/mOyFAKu8+mgF9y8MK8YvM\neahSZINDmMcvorsW\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "042bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de92f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16",
         "wx" : "2bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de",
         "wy" : "092f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200042bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de92f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCvKdgQ3KLXu796J0lrN8uCxYMWu\nDM2ra9O6pHnxd1PDwADM+LqGI96S8MLWihvUBeRJgj/mOyFAKu8+mgF9y8MK8YvM\neahSZINDmMcvorsW\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228634bfe1800786b0256e90ac2de272f41c85e0976c0caa1691bd835a5a444b1ed1705a0361ae6ee36",
@@ -2613,20 +2727,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a300997d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBwBOzoyYMz7U+P2zpPmmEhl3I4S\nk+kjAfTLOlVL1dqKU+4QGz4aMAmX0pAeJnKTA+HLk6i3LcKvyQ/1tE/VtmJEVUh5\ndO1xx4M+/wPMEo0M\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "041c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a300997d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c",
         "wx" : "1c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a3009",
         "wy" : "097d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a300997d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBwBOzoyYMz7U+P2zpPmmEhl3I4S\nk+kjAfTLOlVL1dqKU+4QGz4aMAmX0pAeJnKTA+HLk6i3LcKvyQ/1tE/VtmJEVUh5\ndO1xx4M+/wPMEo0M\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900c697fc3000f0d604add21585bc4e5e8390bc12ed819542d237b06b4b488963da2e0b406c35cddc6c",
@@ -2636,20 +2751,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b547f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGJL7EUg5gRKvtHu5JZGaHdRgUZM\nXWv1qLU58RVvMkjAInG/lCW5ZrVH9Aa8wUMibYFM25iNdkEq0Ya97rhprXijL+h8\ndvJUVEfd+PvQQwgR\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b547f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811",
         "wx" : "624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b5",
         "wy" : "47f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b547f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGJL7EUg5gRKvtHu5JZGaHdRgUZM\nXWv1qLU58RVvMkjAInG/lCW5ZrVH9Aa8wUMibYFM25iNdkEq0Ya97rhprXijL+h8\ndvJUVEfd+PvQQwgR\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285685b327caacf14f237ea7e9c873ad5f5f8a4cbe8bd0d19826407228fe47bcddbe7f8b470bef3791",
@@ -2659,20 +2775,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc8209fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBsrJzjjBV0VlvZBds8Kw4GzqBeK\nLwIUAzUCGPoY+fhgwbujn8UkvIIJ+6/KGvxa91mLh41py4db4NOfQf8BsJOIaT6z\nEK3J1INuImwjZ35R\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "041b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc8209fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51",
         "wx" : "1b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc82",
         "wy" : "09fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc8209fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBsrJzjjBV0VlvZBds8Kw4GzqBeK\nLwIUAzUCGPoY+fhgwbujn8UkvIIJ+6/KGvxa91mLh41py4db4NOfQf8BsJOIaT6z\nEK3J1INuImwjZ35R\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900a2c1f84088120fce85fecf81f0ecc00729f4199ebba0d5b5eda190001000b43168db254b8ef32a70",
@@ -2682,20 +2799,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000440902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae016f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABECQK/ayOdLzWIJg6df1EiU/pE8w\nigq4Hf8FuPouJYFNZcIBjUk5Cq4Bb4rlaRk4QCrcD/opu4fvCvDs881EbZfD6NEr\nOwnreJCcG5GxuHhf\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0440902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae016f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f",
         "wx" : "40902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae",
         "wy" : "16f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000440902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae016f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABECQK/ayOdLzWIJg6df1EiU/pE8w\nigq4Hf8FuPouJYFNZcIBjUk5Cq4Bb4rlaRk4QCrcD/opu4fvCvDs881EbZfD6NEr\nOwnreJCcG5GxuHhf\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228711f6d0abce96fe7f5bed2ca4600a021fdda9a8c922fb0e10f180f97fa2cc84dd785c71e6c41dbaf",
@@ -2705,20 +2823,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa92accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHJlM+Jnc6xyChFbAt6JrBWWZnfi\nObfFd6HBW4ECex/rc+ZzYB4hGqkqzLWFvAbMJ0thyeYUdG7dJI0czPjYsatLwVzF\njN8RYGXOl2fyoyI9\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa92accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d",
         "wx" : "726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa9",
         "wy" : "2accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa92accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHJlM+Jnc6xyChFbAt6JrBWWZnfi\nObfFd6HBW4ECex/rc+ZzYB4hGqkqzLWFvAbMJ0thyeYUdG7dJI0czPjYsatLwVzF\njN8RYGXOl2fyoyI9\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022802a6eb408443d24e96be4ca0278442a8a426087f9beb03ffe5526162bf1dc30434cf7ea79574b19b",
@@ -2728,20 +2847,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000453c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFPD2k3hT301d1+b7KbVPueNrHPN\nPxjG+/cJtP+n3T5wtDZAm5soXRwqW2DkV+WEIslZFCtez/I239dsmcMBjOqQQFgJ\nmhNkfbCImM/QUJ6E\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0453c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84",
         "wx" : "53c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c",
         "wy" : "2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000453c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFPD2k3hT301d1+b7KbVPueNrHPN\nPxjG+/cJtP+n3T5wtDZAm5soXRwqW2DkV+WEIslZFCtez/I239dsmcMBjOqQQFgJ\nmhNkfbCImM/QUJ6E\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900b6ba1aecd240debe77213a4228b125603671c9d5147b6c0b36dd23e42b7cb5078a1b8fdf1b98b93a",
@@ -2751,20 +2871,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0krn91I634WduS5R1IdGuLL4aG\nIImKnEL4uugXPjZG9Yb9gYcSQw5VsS1Z9zRBaPeW/lnAJuqqE5dFqKzpffHVxrzC\nHwz6aGD5yMdfORYp\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629",
         "wx" : "0cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e",
         "wy" : "55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0krn91I634WduS5R1IdGuLL4aG\nIImKnEL4uugXPjZG9Yb9gYcSQw5VsS1Z9zRBaPeW/lnAJuqqE5dFqKzpffHVxrzC\nHwz6aGD5yMdfORYp\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900957b383ba1cebf5ca579ef6ed10027988f8424f42ffbea2e51b3340df9f8c3c60b558d6dc2df10f3",
@@ -2774,20 +2895,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb69ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE20YCCZcsjpw2URlUasRXrdFX8M\nTSs81lxjXcrsphcCnKv3XAYQG7ae+LdibmsvmEWwCG0qlkAYubJeuNtCa8kGlMxh\nS3YCsf1gh6mnHL8f\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "044db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb69ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f",
         "wx" : "4db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb6",
         "wy" : "09ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb69ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE20YCCZcsjpw2URlUasRXrdFX8M\nTSs81lxjXcrsphcCnKv3XAYQG7ae+LdibmsvmEWwCG0qlkAYubJeuNtCa8kGlMxh\nS3YCsf1gh6mnHL8f\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02290098ff1db1b9affa33a2e53c684d3f07611772405e8c200f2af2afa9e53c6e8ef30cc143b3f5ff7fb0",
@@ -2797,20 +2919,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD56uFCEDXWYfTODfq1GSZzkM/P8\n5nODsuMl3S/H4PUAdpy7Z7RVCijDAxRIeocJR1AzRJnb++stXLl27i1HmXMhWXpB\nEkoDj+hnvg72aMTO\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "043e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce",
         "wx" : "3e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28",
         "wy" : "0c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD56uFCEDXWYfTODfq1GSZzkM/P8\n5nODsuMl3S/H4PUAdpy7Z7RVCijDAxRIeocJR1AzRJnb++stXLl27i1HmXMhWXpB\nEkoDj+hnvg72aMTO\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285e9ff4433ca3a4af648e0071c87c2e5c3554b11761b10bb2b81725028a56c4fc92f1320ca7396c4f",
@@ -2820,20 +2943,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200047acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c0629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHrMkZk0sP2QARzZb1ndulLhIJTa\nwYosrcsDoPMaxy0/1ZhKEekiD4wGKbxfPw2rvT/dMPR6ClvqMFKJL45QpAM75Hlb\nMsZnHRQbRzCA5XkR\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "047acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c0629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911",
         "wx" : "7acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c",
         "wy" : "629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200047acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c0629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHrMkZk0sP2QARzZb1ndulLhIJTa\nwYosrcsDoPMaxy0/1ZhKEekiD4wGKbxfPw2rvT/dMPR6ClvqMFKJL45QpAM75Hlb\nMsZnHRQbRzCA5XkR\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900c76ce53560163f157b11e4d05c61540a5df6b8241cbd3ba7d911a7541eec55e986ebf811ae50a8b9",
@@ -2843,20 +2967,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000412c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBLBY/4ly3mtWcdrUoDcZwakLFhZ\nYjC/e6cgbmzitGfht6cGPlmwvtbMvq8irMsaxB7UOsd1uXrqOmiOLwlsOl5Z+Gi8\nkZ2lziUs9dcS595A\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0412c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40",
         "wx" : "12c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6",
         "wy" : "0ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000412c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBLBY/4ly3mtWcdrUoDcZwakLFhZ\nYjC/e6cgbmzitGfht6cGPlmwvtbMvq8irMsaxB7UOsd1uXrqOmiOLwlsOl5Z+Gi8\nkZ2lziUs9dcS595A\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02284218a45116ea65b283cc7d90a510f077b1b09eddbcfca3e7d2896b869dd3ba556c4f10590b0e08cf",
@@ -2866,20 +2991,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c57726503305c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGlgv83dACH8uKPXqoX5bPNgpxE+\nOCRQhSUCH4PjCFmJw14MV3JlAzBcEnW52LUZnUYfy500+IV7ZaFARi/VzcejPlz3\n9OLQilo02a4AspOa\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "046960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c57726503305c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a",
         "wx" : "6960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c5772650330",
         "wy" : "5c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c57726503305c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGlgv83dACH8uKPXqoX5bPNgpxE+\nOCRQhSUCH4PjCFmJw14MV3JlAzBcEnW52LUZnUYfy500+IV7ZaFARi/VzcejPlz3\n9OLQilo02a4AspOa\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285e5f32423bad3644be718d8195341362c9cba52b330f913b1521af6e5e3eb2069421b05dcac299f7",
@@ -2889,20 +3015,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000466ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f61a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGatLCYBI4jIuQRqRmuHvXG2Srgb\nVM/8WmEfS3WBrYNl7dCOav1KUvYaMGbAs7cD3c50Yjmk09vxk4lF8V6pSXu/xFs4\nnhMDULmUWSK4fON0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0466ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f61a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374",
         "wx" : "66ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f6",
         "wy" : "1a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000466ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f61a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGatLCYBI4jIuQRqRmuHvXG2Srgb\nVM/8WmEfS3WBrYNl7dCOav1KUvYaMGbAs7cD3c50Yjmk09vxk4lF8V6pSXu/xFs4\nnhMDULmUWSK4fON0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900ac07aaade5c5fb2fe5a18bbefd262e0e439fd68e0a317db06ff4ba623a2a03114ec5b6e084171058",
@@ -2912,20 +3039,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAz6bjg42BE6JNh9uXQX1o8AxCbp\nuFUNipUf7VMVcufMpm/+CuF2/w4xL6AuXMd8IfSmYw4lvLmH3B7vFK7IDBW5spLj\nrPswvCwEOPCpgxwH\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "040cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07",
         "wx" : "0cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e",
         "wy" : "312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAz6bjg42BE6JNh9uXQX1o8AxCbp\nuFUNipUf7VMVcufMpm/+CuF2/w4xL6AuXMd8IfSmYw4lvLmH3B7vFK7IDBW5spLj\nrPswvCwEOPCpgxwH\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228311f6d0abce96fe7f5bed2ca4600a021fdda9a8c922fb0e10f180f97fa2cc84dd785c71e6c41dbb1",
@@ -2935,20 +3063,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5eece48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD2rvDakVboHQy2hqnI5rv3vtyrA\nkxPDp/NDmFD2AlQ+tK/8XYIlte7OSOL2foLUSLPYubD8IAgyo9GsiAWIcnYvy/An\n6fVwXY9YEuUH2uEl\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "043dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5eece48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125",
         "wx" : "3dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5ee",
         "wy" : "0ce48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5eece48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD2rvDakVboHQy2hqnI5rv3vtyrA\nkxPDp/NDmFD2AlQ+tK/8XYIlte7OSOL2foLUSLPYubD8IAgyo9GsiAWIcnYvy/An\n6fVwXY9YEuUH2uEl\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228623eda1579d2dfcfeb7da5948c014043fbb53519245f61c21e301f2ff459909baf0b8e3cd883b762",
@@ -2958,20 +3087,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200048a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABIqWWNxfkapXdwbx2R0iUssNCfIF\nPlYRKRBcfzfdsvlysyJPEs+eQ/4IeC7GEF9MBlh+sezssvT0oE4jYwTcdesu//C+\nZrl3+oBK9zv8useO\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "048a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e",
         "wx" : "08a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe",
         "wy" : "08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200048a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABIqWWNxfkapXdwbx2R0iUssNCfIF\nPlYRKRBcfzfdsvlysyJPEs+eQ/4IeC7GEF9MBlh+sezssvT0oE4jYwTcdesu//C+\nZrl3+oBK9zv8useO\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 271,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900935e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59313",
@@ -2981,20 +3111,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf9994449705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAa0O7lYfuFYrVdS0a0R9vD14xat\nIZN83ZJT84RIV/CiXntne7+ZlESXBTYjNL3OtormpYRkDJXLEHibGZU/XhGZc+7X\nNRd6q/yyY/yO9e+X\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0406b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf9994449705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97",
         "wx" : "6b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf999444",
         "wy" : "09705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf9994449705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAa0O7lYfuFYrVdS0a0R9vD14xat\nIZN83ZJT84RIV/CiXntne7+ZlESXBTYjNL3OtormpYRkDJXLEHibGZU/XhGZc+7X\nNRd6q/yyY/yO9e+X\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
+          "tcId" : 272,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285b5d0d7669206f5f3b909d21145892b01b38e4ea8a3db6059b6e91f215be5a83c50dc7ef8dcc5c9d",
@@ -3004,20 +3135,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZnAg2eUVJXZM/IGknorf1t0si+XOomDVaovfile\nBu86T1YVRtuX95r6\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa",
         "wx" : "568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999",
         "wy" : "0c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZnAg2eUVJXZM/IGknorf1t0si+XOomDVaovfile\nBu86T1YVRtuX95r6\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 273,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "30560229009563bd68545ccd185ae724d8efcd4cc23234934eef10f280792b2f930c97a6c1e00829a8b975b9ee022900c5e79c49abb135129f0636e18e2e73bced30855deeba1477d9521b33a32865155177d946e1babcb4",
@@ -3029,20 +3161,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f42399912dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZkS2t+L4iZ2g+815eSmgoTxR2A4bG1wuEUgFJCO\ncaSx2aa+y9ZZu5Mt\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f42399912dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d",
         "wx" : "568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999",
         "wy" : "12dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f42399912dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZkS2t+L4iZ2g+815eSmgoTxR2A4bG1wuEUgFJCO\ncaSx2aa+y9ZZu5Mt\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 266,
+          "tcId" : 274,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "30560229009563bd68545ccd185ae724d8efcd4cc23234934eef10f280792b2f930c97a6c1e00829a8b975b9ee022900c5e79c49abb135129f0636e18e2e73bced30855deeba1477d9521b33a32865155177d946e1babcb4",
@@ -3054,20 +3187,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d3425d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF0aEAEYvTYQ8Q4Tta3MepCjf0+Y\njPpOIsynfohESwAhbc/l9oQY00JdW4jJuMkrPex/e8xoim0Y5s3rkXYVDUsQYqgy\nyKO8N3+Nfpix2wud\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "045d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d3425d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d",
         "wx" : "5d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d342",
         "wy" : "5d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d3425d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF0aEAEYvTYQ8Q4Tta3MepCjf0+Y\njPpOIsynfohESwAhbc/l9oQY00JdW4jJuMkrPex/e8xoim0Y5s3rkXYVDUsQYqgy\nyKO8N3+Nfpix2wud\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 267,
+          "tcId" : 275,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "305402284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c197310502282a460e39a48c0ff193727e795d339347984ff65457b636ed6f74d627fc8144fb81504445742783d0",
@@ -3077,21 +3211,22 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf32279b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMyprDjeWzbPedjkFctynmheC72v\n4WHF5+z6QXfoJugV1mUmql2vMiebd5m878a12NCf8aBzn9QjGIEm+Ar3AzFNoNJr\npnFKoZemWCw2sPBd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf32279b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d",
         "wx" : "0cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf3227",
         "wy" : "09b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf32279b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMyprDjeWzbPedjkFctynmheC72v\n4WHF5+z6QXfoJugV1mUmql2vMiebd5m878a12NCf8aBzn9QjGIEm+Ar3AzFNoNJr\npnFKoZemWCw2sPBd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 268,
-          "comment" : "extreme value for k",
+          "tcId" : 276,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de802284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105",
           "result" : "valid",
@@ -3100,21 +3235,142 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000490537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e591003309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJBTemgnolBgJz1E1IRq6llmgt8K\nWdD/55vioevpGHA8q/rGTaXlkQAzCRgNnaXngje5VAPFLzzu5QMGe2cnFel9i2Np\nNCaEpy9Gdph0Gxof\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cceaa1203bdcbe15e20434d624f0ed9aca81d4c82f840bba3a86c6756262aa37efed62f5f1d097f7457057b98d2b9ea6bd28581d40ac20fcc9d536a117769203447bf41e10ce4da1ad794ca20f8ee146",
+        "wx" : "0cceaa1203bdcbe15e20434d624f0ed9aca81d4c82f840bba3a86c6756262aa37efed62f5f1d097f7",
+        "wy" : "457057b98d2b9ea6bd28581d40ac20fcc9d536a117769203447bf41e10ce4da1ad794ca20f8ee146"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cceaa1203bdcbe15e20434d624f0ed9aca81d4c82f840bba3a86c6756262aa37efed62f5f1d097f7457057b98d2b9ea6bd28581d40ac20fcc9d536a117769203447bf41e10ce4da1ad794ca20f8ee146",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMzqoSA73L4V4gQ01iTw7ZrKgdTI\nL4QLujqGxnViYqo37+1i9fHQl/dFcFe5jSuepr0oWB1ArCD8ydU2oRd2kgNEe/Qe\nEM5Noa15TKIPjuFG\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de802281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cc9ed25f13e94a6ebd531f3b142fabc4ed522dc6127861528830c6787d6ecfd4b704e1774e9118ed68e4e172f93f1d5b8d7860fae2c115f4aa0daaf6df5ca3809d79acfdb9ed2be19995658d2f44d235",
+        "wx" : "0cc9ed25f13e94a6ebd531f3b142fabc4ed522dc6127861528830c6787d6ecfd4b704e1774e9118ed",
+        "wy" : "68e4e172f93f1d5b8d7860fae2c115f4aa0daaf6df5ca3809d79acfdb9ed2be19995658d2f44d235"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cc9ed25f13e94a6ebd531f3b142fabc4ed522dc6127861528830c6787d6ecfd4b704e1774e9118ed68e4e172f93f1d5b8d7860fae2c115f4aa0daaf6df5ca3809d79acfdb9ed2be19995658d2f44d235",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMye0l8T6UpuvVMfOxQvq8TtUi3G\nEnhhUogwxnh9bs/UtwThd06RGO1o5OFy+T8dW414YPriwRX0qg2q9t9co4Cdeaz9\nue0r4ZmVZY0vRNI1\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de802282a460e39a48c0ff193727e795d339347984ff65457b636ed6f74d627fc8144fb81504445742783d0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046a3cae0edc8455ae16b5eeb6569603bdaeb5793699e85d372857f1319c70dd525b1ea30a0f5c7b44075537cd822d9ee2d0e7a49c4c3141445d01b789bbcad02ec4249c2e2355d61db5581dbdb342c993",
+        "wx" : "6a3cae0edc8455ae16b5eeb6569603bdaeb5793699e85d372857f1319c70dd525b1ea30a0f5c7b44",
+        "wy" : "75537cd822d9ee2d0e7a49c4c3141445d01b789bbcad02ec4249c2e2355d61db5581dbdb342c993"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046a3cae0edc8455ae16b5eeb6569603bdaeb5793699e85d372857f1319c70dd525b1ea30a0f5c7b44075537cd822d9ee2d0e7a49c4c3141445d01b789bbcad02ec4249c2e2355d61db5581dbdb342c993",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGo8rg7chFWuFrXutlaWA72utXk2\nmehdNyhX8TGccN1SWx6jCg9ce0QHVTfNgi2e4tDnpJxMMUFEXQG3ibvK0C7EJJwu\nI1XWHbVYHb2zQsmT\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "305502282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de8022900a91838e692303fc64dc9f9e574ce4d1e613fd9515ed8dbb5bdd3589ff20513ee05411115d09e0f41",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044efb5161ca1a1eeb59a5fc39cd521d40bd3e034512fa2a1eaf3b7e92bb9e95c06a4c726ceccdf9bc6bfa801b067137f1b6b4506041130b4d402d90087ad005e3f652e1d91c9d344cd1eeffff61d3a306",
+        "wx" : "4efb5161ca1a1eeb59a5fc39cd521d40bd3e034512fa2a1eaf3b7e92bb9e95c06a4c726ceccdf9bc",
+        "wy" : "6bfa801b067137f1b6b4506041130b4d402d90087ad005e3f652e1d91c9d344cd1eeffff61d3a306"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044efb5161ca1a1eeb59a5fc39cd521d40bd3e034512fa2a1eaf3b7e92bb9e95c06a4c726ceccdf9bc6bfa801b067137f1b6b4506041130b4d402d90087ad005e3f652e1d91c9d344cd1eeffff61d3a306",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE77UWHKGh7rWaX8Oc1SHUC9PgNF\nEvoqHq87fpK7npXAakxybOzN+bxr+oAbBnE38ba0UGBBEwtNQC2QCHrQBeP2UuHZ\nHJ00TNHu//9h06MG\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "305502282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de8022900b52c3cf70a58445477eab051464ac05768321fb29c7aa242b9194cab5ebc4c35e10edb72cd3ba2a1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045f658687e6a542a91d893b48776a86d528fd399781bbb9305be0797e3a6f36118ae19e68dc1673f6676e536c7897a0002f9664929631f418c4537d23749220c50a32121c434dcad2a6cdc203cd035a32",
+        "wx" : "5f658687e6a542a91d893b48776a86d528fd399781bbb9305be0797e3a6f36118ae19e68dc1673f6",
+        "wy" : "676e536c7897a0002f9664929631f418c4537d23749220c50a32121c434dcad2a6cdc203cd035a32"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045f658687e6a542a91d893b48776a86d528fd399781bbb9305be0797e3a6f36118ae19e68dc1673f6676e536c7897a0002f9664929631f418c4537d23749220c50a32121c434dcad2a6cdc203cd035a32",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF9lhofmpUKpHYk7SHdqhtUo/TmX\ngbu5MFvgeX46bzYRiuGeaNwWc/ZnblNseJegAC+WZJKWMfQYxFN9I3SSIMUKMhIc\nQ03K0qbNwgPNA1oy\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de8022853bf06e43fcc4236b2ec0d88471379053f1f3437207c5a75b09036b1c40fa8f3128277894a4c96cf",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0490537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e591003309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f",
         "wx" : "090537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e59100",
         "wy" : "3309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000490537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e591003309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJBTemgnolBgJz1E1IRq6llmgt8K\nWdD/55vioevpGHA8q/rGTaXlkQAzCRgNnaXngje5VAPFLzzu5QMGe2cnFel9i2Np\nNCaEpy9Gdph0Gxof\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 269,
-          "comment" : "extreme value for k",
+          "tcId" : 282,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061102284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105",
           "result" : "valid",
@@ -3123,20 +3379,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a81ccbf4fc4457033bd49ceac8fa52e459400730b877305be0418153d278d30b5973777a7dd1c2c17544ff1b76208e841053ecaef7a5869e92da08c5c4c3d0a167d5685eb721d620339cc9b00149838e",
+        "wx" : "0a81ccbf4fc4457033bd49ceac8fa52e459400730b877305be0418153d278d30b5973777a7dd1c2c1",
+        "wy" : "7544ff1b76208e841053ecaef7a5869e92da08c5c4c3d0a167d5685eb721d620339cc9b00149838e"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a81ccbf4fc4457033bd49ceac8fa52e459400730b877305be0418153d278d30b5973777a7dd1c2c17544ff1b76208e841053ecaef7a5869e92da08c5c4c3d0a167d5685eb721d620339cc9b00149838e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKgcy/T8RFcDO9Sc6sj6UuRZQAcw\nuHcwW+BBgVPSeNMLWXN3en3RwsF1RP8bdiCOhBBT7K73pYaektoIxcTD0KFn1Whe\ntyHWIDOcybABSYOO\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061102281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ba160089327cf8ba163eefa476a4eafd0f6ce9d55292f6724d020f0efac54bf684f9d5f5695f89c2b4de70dc4ab265761827323da3b2b055ac1187fc5341e4555ebc6f6993b4c3fdd89863fc55ea38b4",
+        "wx" : "0ba160089327cf8ba163eefa476a4eafd0f6ce9d55292f6724d020f0efac54bf684f9d5f5695f89c2",
+        "wy" : "0b4de70dc4ab265761827323da3b2b055ac1187fc5341e4555ebc6f6993b4c3fdd89863fc55ea38b4"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004ba160089327cf8ba163eefa476a4eafd0f6ce9d55292f6724d020f0efac54bf684f9d5f5695f89c2b4de70dc4ab265761827323da3b2b055ac1187fc5341e4555ebc6f6993b4c3fdd89863fc55ea38b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLoWAIkyfPi6Fj7vpHak6v0PbOnV\nUpL2ck0CDw76xUv2hPnV9WlficK03nDcSrJldhgnMj2jsrBVrBGH/FNB5FVevG9p\nk7TD/diYY/xV6ji0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 284,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061102282a460e39a48c0ff193727e795d339347984ff65457b636ed6f74d627fc8144fb81504445742783d0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044a5cf447550f0ff2efa193c3e185db604fcfd7de5c47a59a392da0c7572f061038c6af5afcfa9bd530b7682b82010c39334ba2edecf0a23bca09e810d745bdf73e445e80ace0e5399fa26102cb3faee6",
+        "wx" : "4a5cf447550f0ff2efa193c3e185db604fcfd7de5c47a59a392da0c7572f061038c6af5afcfa9bd5",
+        "wy" : "30b7682b82010c39334ba2edecf0a23bca09e810d745bdf73e445e80ace0e5399fa26102cb3faee6"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044a5cf447550f0ff2efa193c3e185db604fcfd7de5c47a59a392da0c7572f061038c6af5afcfa9bd530b7682b82010c39334ba2edecf0a23bca09e810d745bdf73e445e80ace0e5399fa26102cb3faee6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEpc9EdVDw/y76GTw+GF22BPz9fe\nXEelmjktoMdXLwYQOMavWvz6m9Uwt2grggEMOTNLou3s8KI7ygnoENdFvfc+RF6A\nrODlOZ+iYQLLP67m\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 285,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3055022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611022900a91838e692303fc64dc9f9e574ce4d1e613fd9515ed8dbb5bdd3589ff20513ee05411115d09e0f41",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045d3fef1b96dbc8ca9330508ad4ced491e627eb67cba8c6b1537937498ee3021b45ca6759117d89c4ad2b699e3ef9516fff2ed2e134931c96d28d3e14dd51c5b87589a8fa88af2529b8caa0f785ce2033",
+        "wx" : "5d3fef1b96dbc8ca9330508ad4ced491e627eb67cba8c6b1537937498ee3021b45ca6759117d89c4",
+        "wy" : "0ad2b699e3ef9516fff2ed2e134931c96d28d3e14dd51c5b87589a8fa88af2529b8caa0f785ce2033"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045d3fef1b96dbc8ca9330508ad4ced491e627eb67cba8c6b1537937498ee3021b45ca6759117d89c4ad2b699e3ef9516fff2ed2e134931c96d28d3e14dd51c5b87589a8fa88af2529b8caa0f785ce2033",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF0/7xuW28jKkzBQitTO1JHmJ+tn\ny6jGsVN5N0mO4wIbRcpnWRF9icStK2mePvlRb/8u0uE0kxyW0o0+FN1Rxbh1iaj6\niK8lKbjKoPeFziAz\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 286,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3055022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611022900b52c3cf70a58445477eab051464ac05768321fb29c7aa242b9194cab5ebc4c35e10edb72cd3ba2a1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a8336702c158dcae495f1c9cd720c39f15c123a67750dcd74520c34cf67907e49220bcd020cc3a60151a432ee3e23a74c8b8a98d8e7c672216df48d8a60d3f592f6673830ac9ecfbcd00550db7ad5c62",
+        "wx" : "0a8336702c158dcae495f1c9cd720c39f15c123a67750dcd74520c34cf67907e49220bcd020cc3a60",
+        "wy" : "151a432ee3e23a74c8b8a98d8e7c672216df48d8a60d3f592f6673830ac9ecfbcd00550db7ad5c62"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a8336702c158dcae495f1c9cd720c39f15c123a67750dcd74520c34cf67907e49220bcd020cc3a60151a432ee3e23a74c8b8a98d8e7c672216df48d8a60d3f592f6673830ac9ecfbcd00550db7ad5c62",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKgzZwLBWNyuSV8cnNcgw58VwSOm\nd1Dc10Ugw0z2eQfkkiC80CDMOmAVGkMu4+I6dMi4qY2OfGciFt9I2KYNP1kvZnOD\nCsns+80AVQ23rVxi\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 287,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611022853bf06e43fcc4236b2ec0d88471379053f1f3437207c5a75b09036b1c40fa8f3128277894a4c96cf",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1",
+        "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611",
+        "wy" : "14fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1"
+      },
       "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEO9fpr7U9i4Uom8xI7lv+byATfR\nCgh+tueHHioQpZnHEK+NDTniBhEU/dBVRewcyKtAkyR/dydeB0P/7RFxguqpx3h3\nqqxqx9NSRdFpLo7h\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP320r1",
-        "keySize" : 320,
-        "type" : "ECPublicKey",
-        "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611",
-        "wy" : "14fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1"
-      },
       "tests" : [
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3055022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb70002281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
@@ -3144,7 +3521,7 @@
           "flags" : []
         },
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3055022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f2202281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
@@ -3154,20 +3531,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46",
+        "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611",
+        "wy" : "0be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46"
+      },
       "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEO9fpr7U9i4Uom8xI7lv+byATfR\nCgh+tueHHioQpZnHEK+NDTniBhG+YHbK8NAy7zX75TpSirkH8kvPueWCiwSly0F0\nzeeBYSmBzOCIhJ9G\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP320r1",
-        "keySize" : 320,
-        "type" : "ECPublicKey",
-        "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611",
-        "wy" : "0be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46"
-      },
       "tests" : [
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3055022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb70002281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
@@ -3175,7 +3553,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3055022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f2202281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
@@ -3185,20 +3563,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000444ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABESrIyDCKXtmEUQo3zP+ZBlW+CAz\niTOYrztJsAIxeSAcJ9Jt1lEhwG4MWVJMk48Z2v/CqaRnnbp88Zkc7UcAWSu3XpjP\nd9v2xYTC9yc1FSkh\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921",
         "wx" : "44ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e",
         "wy" : "0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000444ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABESrIyDCKXtmEUQo3zP+ZBlW+CAz\niTOYrztJsAIxeSAcJ9Jt1lEhwG4MWVJMk48Z2v/CqaRnnbp88Zkc7UcAWSu3XpjP\nd9v2xYTC9yc1FSkh\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30540229009cf7f0d60cc1fb2d4b3e78d5f83b374e17a4aebccc6e723f1ad35babb2acfb2b75530389189395f802271110c5b8b8e5fa8dc7952a7bf6200bddae6c1d66639a07a4b6046e00bfa7a2bd9d5777b80c3a92",
@@ -3206,7 +3585,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30540228240a2a7ee9ebb2c753b774cc7f296a905edca6f8715769b8ba21284448aa87a0b30cf0d62aa8db11022817194483a413fb2a5be8d418171097d6a72b6ceb9a3cd4f4c956a681aa95a9e964d829ef2ed6b7aa",
@@ -3214,7 +3593,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3055022808c0d832a0b8fd22eb7a10afe148bd7c61132d1b3e625091dbe05e26bca2a9283c1408b6bf6ebac70229008c004e7c796b7a78757d4e1bfc449ba1b79a2a77502548653d5743d587be04f726fa505e0b80a72a",
@@ -3222,7 +3601,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3055022900c0e2e65bdeeadd24b785a61959121d16f33ea059235f89dffff94af4d0f7f6f3e3c2fc7626886288022805c332000296f866455795c95e40de8cba4c230525dc1700e73ebf2715466513460d11a9c5cefab0",
@@ -3230,7 +3609,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30560229008f1ec392960476b53f375ce2e9218aa171aa162ae1751779e93ebd412c2fef6c9e802dbaf0c966950229008db0adffad09b55541879e95475421ac9236c4b8bf1d0ebf7be9df28340c9a394f854b2ad1a983cb",
@@ -3238,7 +3617,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "305402280b5ef7a2d5f1d17555050804e80c1d999638475868406303e59d5a19fe784c1b5e6ef6a1db39844902284ce0e07ae7b2a068d4fb767e6ea624da4e5414b384ced412e042b66ff9342d5292d6eb3f74c804f8",
@@ -3246,7 +3625,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "305402286daf315f518206aa0916515db129e55af448f3feef9dd44ba1eee341e1abe026b979b33ff2f935b40228048ac193784a78be0fb5cec317c9c93a57334e44d44b93ee53fc685c3bdf0318077eb3b61a70951e",
@@ -3254,7 +3633,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3055022900a6477be7ac1e7251c05bc3a33ef582bb2ff2e15a3ddedd36551423a5d47eb169952ae5472757118e022825f89d31586afd4e99f35a72064d928a729fa63223ec6969ff6ae21ebd608902400f0c1e7e5db842",
@@ -3262,7 +3641,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3055022900af6bc6a7d631ca4d8bd0d902e07ebb65eee711af1376c303f3a4e92e3648f4fbc2f90934251a7aa102287ddc09201e20fa923cf5294b6c031a24f29cafe74934eab71e99a052ca32d565f736a8031fdf4028",
@@ -3270,7 +3649,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3054022847cb9c51231958b093753977d0e9168baf7df30a12e5f51d590d287ffc3dff663bb5ac2e3640611102282dabeff55edfa2cd41d4cd5b178886ba7971e74c4736d02a94a4cce5abaf42d2f833926b02d6566a",
@@ -3278,7 +3657,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3055022826fd695ee1cc50c2661c2434f8699577af181304bceb7690c538b03463df24334395e791f6750ff6022900b322618cd50c6a7cffcb419ec05b67ec6a117088c78d57cecdd224902d391892ca03e4bc1bd0467b",
@@ -3286,7 +3665,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "305302273c2e58b8b769bb5f2358384cfb5cd18d9b42bb4d8f7038c2c360fa4a07d7fdb6baf8712b6a313002282fe414ed89b168ed2c54483645871e5a0528ab9897137301387ca210212f10dd6772c4ad3a1db626",
@@ -3294,7 +3673,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "305402280a171f07e45b5d547b34aa757a388adeb2ebca9e5981ae001bea48b9245c39b1c39900f251279535022818fc5fe8610366920851fdb374dd6fcdc5ff611685aec3db5b60f990b3e802bab7d12703fb6b7e2d",
@@ -3302,7 +3681,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "305502280a1eba2117080d5f3ad3713018d67692f81cea10457f77f1ad8600f597d6d8e1508e7f58bcdc7ca9022900b58a604a5bb03b70152e18a4ae1a67e5487057a49de3cec409327346b3a87e0f1ecb1c4379e3c014",
@@ -3310,7 +3689,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30540228152cf11f7eadb7ee1c2d08c5e4dbd13c6cde7af370a7f0e6bc8e97448d095e9397f510d8671a894602281a01143c041ea5df4bd5e1807ee1caaff55dc65c0cead9b3afd0fa321c7d6b7031a4a6416e454794",
@@ -3318,7 +3697,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3056022900b66f0ee0d538030dec76463bd218dfea9fa099172e6aebc29bf3249e2f6a43d87b65ddbf53842619022900999435b30552063f7fde62b2dd9197b8fb6b9a2fd9fad91c2202ed5ed1115f2941baef7812def2aa",
@@ -3326,7 +3705,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3055022900b644526f1d152487148bd27e8fa696df19d96b85958d7a1562f2f6cdf9bad0627ab8f3cfa4514714022858eac270103dd30257622c433093820fcbfc178fde0937777673992c02850e1388269f5a9d8af10e",
@@ -3334,7 +3713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3055022900a2c7a235c29fe8edf861daf4eb7189e6764173f4725d65a9d722eacfe284c9c1b08530645b1e0450022833cd2fe300da21b57b615ef666884a3996824daceb753c63ac0632bbbd2c5c47fd54560df467b136",
@@ -3342,7 +3721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "305502285022199709ae123895506096ab337a7fed439b60fd86ae05603b1c90066083dd64814377d33c5a3c022900c51b0facb631cb8bf1af92c468e85cf7efbc470ac306ae1025aa9eb8f8b6a50cb153cd5ca1d18de5",
@@ -3350,7 +3729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3054022866a09e5f56726092c2bddd00f1b5b932dcf92189628035ac6fcca7606e2d66be6c7a63130232680a0228620c73ae81c037c1465a9eeb02f01ead57d54abc8deb76412d05720c530140c60700c937577638c7",
@@ -3358,7 +3737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305402287a31b7375f924369ec12bc33b834726c95444a4c263557344afa732cf48a155e71a6ee7de42e91ce022824d3d72861f4d2b551c10f0294d16a3bf1d4ee3e484439b804d097dea2d7cace76ade14af1663322",
@@ -3366,7 +3745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305402286787b980a66749ed0b63b8e1857d2d8bafe7344ca7a0d1c2c2ad23bc9d3916714bb1683ca3e19ef002286e0352e95bcd79de5cd1aac11f5ed3c42b4aa3b2bde667e939cc8aab2da60f7e27ed01375d77efd9",
@@ -3374,7 +3753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30550228033e4bdb806f5bf3dca2f3f839bdd9213c4904a00a2fb6ebe3ff9b4a00430a5e5547a1115676edf4022900976c3695960f25151df781955444e4581332f299d812e259c8efe857c8af8cb53144863178610db7",
@@ -3382,7 +3761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305402283f3f2b52fcdd46d19d225656cdffec5d46d30bcefb095224f8a96a420c74e1a1e7f1699ad820102b022847af2647d0f48fd0af14f0e1973c02b91d313c2407ba01d320870a4e1598ea3f5193ba2adf245c51",
@@ -3390,7 +3769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30540228529d6d1bb1bb51388ebf41737ada083b0740f9a37a878e0f34b237b01cb108c025898ffebbd43463022824ec25045f4652b0363513686a4142588e11733bba31322f495f828d91d3e805497bc1f47604b647",
@@ -3398,7 +3777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305402284c3d1f1f5f13355289951ceb44ec3d7ed23c70b6db934c6e3c225a6e0c0d7efaeea110cd9fe75294022868ba90fd8c55cfd53d2d6d50e152f957208aabc917947ae25ddd258ec2f82be82a9a2c3cbe1fd206",
@@ -3406,7 +3785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3056022900a72f9b8bf22b28b3a2cc9b5da808c174d848e62a31011a7b130ed54dbfe89530aa9ac9a1ceaaa368022900a913454b3c76bb36229a0545ac414905dd26bf4d4c67f4f9c7a2c81d5445be0d9b1465afdb4feacf",
@@ -3414,7 +3793,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305502283d8ffb5908d20eeda0abbcea3280772669aa3420e211681fd4c31cfb1f82b8a0d9231ed7e35886530229008ef01622f63761ebd7ed383083e1f00984603de71e4b6429f9b1dad5352c870fd64effead5305b13",
@@ -3422,7 +3801,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30560229008a2cbfb0e9120614ba14d7a93049a227bc8ecb7c0ac5ae0bc72e8f45fd45646e56edc0c28734e594022900b976a913c060867c57678422badf0b403d4395a80909e4dcc8cdf8c6f68312c51a1311dfcf2aca15",
@@ -3430,7 +3809,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305402281af8b8d325032fec4e10c0471a5d02526ead95e2a5ce85dc0d5e38959dadde4f59efa76eaadf13de022812f4ca711553c38ab64f2e74ad52729cfaea773d6abeb13b9ae417f84079a88e9bfcceaf21049d0e",
@@ -3438,7 +3817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "305502282417eb10a538921621066608243fd6574de84ef1281520f01ebe0444b46a607ab9eda8f3721779a60229008f1e2ea294028baeb738181e128c86ad55cb1945436cf69e090c2f6159f6f22011d731733b4433ba",
@@ -3446,7 +3825,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "305502287d91e0d4c8b14ccd4be282229108d8cf9b22d458164e3ee36d3c77ca9d434824c3de90dc356786cc022900b4733939814bec07ee9e045604d56afca213f032d7fd7efbc5202062bf8b098b4dcb4f530366711b",
@@ -3454,7 +3833,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3055022900bed4f95bb94ec98e730f43335b5dc35f6ef4b0f4afbce8990903d51561e8912c4e07d9671841074c02282cfbd417500a63ba179601501289bcc87b1184e522398c66c75d283850470badbd7b28d71933ff99",
@@ -3462,7 +3841,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3054022876afc2b14e76af9129dcf1d6b605d1dd56017fc53b3bb0aed1c901d24c6266586dbb4460d9cc7f0c02287e9996a2fb52b1e2a7ad6489022e1bc0fbf9523a1fd526a05d6aec1fe78b709f7af17bff48028382",
@@ -3470,7 +3849,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "305502284a8768f0698a76b77bbb91ae698cadfddcdf1f93364f7cc9b695e3a4a14bdb2067302b0cab6308cb022900ba010fa0428d57e28e2231a7bb1a4ee6c28964c07e5d82557945137a22a55df99685f1c43571a927",
@@ -3478,7 +3857,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "305502285fe898f704932d2976593d260519cc3fc5bbb39988ebdb8f6c8686aa83c5d628efdee22907ed6c8d0229008277d8de421da5bc7286116290b3266a8e006a3fbd48fd3dc70c6736af3a53ccb6184a3ab5042dd1",
@@ -3486,7 +3865,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "305402285cce2d6cfdb4f10f809a8b63640b90e8fccc21381b7c870e3704de3c8bd8230e1a627197b6a1111a022820cb6e42e5e651b3cecb7bd3bcc6fcc249f6eaf512e3152f97ddd7820e746c5a8739fda710f4c013",
@@ -3494,7 +3873,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30560229008c94a6a25b5db8ec209175fedaf15c7ffcb189fcbb2cd6c18ba96b5596c5f892e6bbbec8c7a43ac402290087ad68b96ae24f33296ca49ca675d04c4f25b61c8e5ca9ca66b9eddf072451aca87fc7994b848d18",
@@ -3502,7 +3881,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "305402282490665d073b6045dfc09c743768b61aa290cdc3bc9f49a89c5ee8acb96c9322ff98a09472e4583202282b86566dc5d0c48e6cf8dcf4de977908f34b94e846a479eeb4c9ae1e6dfe97783761970364ea917f",
@@ -3510,7 +3889,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3055022900b9c8bb17bca2ba8275aeb772834c8a6365ad5148e68e955612c9ffdf1834062c416586b3c24e0fb0022863511f500b31214488e0a36c1ebb80b1c377539be3bbe09d14321b632c79225d6693fde61def6a94",
diff --git a/src/third_party/wycheproof/ecdsa_brainpoolP384r1_sha384_test.json b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP384r1_sha384_test.json
similarity index 84%
rename from src/third_party/wycheproof/ecdsa_brainpoolP384r1_sha384_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_brainpoolP384r1_sha384_test.json
index 6fce87e..8ec1bd0 100644
--- a/src/third_party/wycheproof/ecdsa_brainpoolP384r1_sha384_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP384r1_sha384_test.json
@@ -1,7 +1,6 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 340,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
@@ -9,20 +8,22 @@
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 358,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004192ed5ce547d2336911d3f6cecba227f08df077f6242a9147a914e854e6e32d325fd23ccc42921dc4a7e4c2eb71defd3631e69079ba982e7a1cad0a39eff47fc6d6e3a280d081286b624886ba1f3069671ec1a29986d84fb79736d2799e6fc21",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBku1c5UfSM2kR0/bOy6In8I3wd/\nYkKpFHqRToVObjLTJf0jzMQpIdxKfkwutx3v02MeaQebqYLnocrQo57/R/xtbjoo\nDQgShrYkiGuh8waWcewaKZhthPt5c20nmeb8IQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04192ed5ce547d2336911d3f6cecba227f08df077f6242a9147a914e854e6e32d325fd23ccc42921dc4a7e4c2eb71defd3631e69079ba982e7a1cad0a39eff47fc6d6e3a280d081286b624886ba1f3069671ec1a29986d84fb79736d2799e6fc21",
         "wx" : "192ed5ce547d2336911d3f6cecba227f08df077f6242a9147a914e854e6e32d325fd23ccc42921dc4a7e4c2eb71defd3",
         "wy" : "631e69079ba982e7a1cad0a39eff47fc6d6e3a280d081286b624886ba1f3069671ec1a29986d84fb79736d2799e6fc21"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004192ed5ce547d2336911d3f6cecba227f08df077f6242a9147a914e854e6e32d325fd23ccc42921dc4a7e4c2eb71defd3631e69079ba982e7a1cad0a39eff47fc6d6e3a280d081286b624886ba1f3069671ec1a29986d84fb79736d2799e6fc21",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBku1c5UfSM2kR0/bOy6In8I3wd/\nYkKpFHqRToVObjLTJf0jzMQpIdxKfkwutx3v02MeaQebqYLnocrQo57/R/xtbjoo\nDQgShrYkiGuh8waWcewaKZhthPt5c20nmeb8IQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -36,7 +37,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3064023029e021a3835ca84c4e72cac034682dd3bc9617cf42fdbda6824e62863e2dbb7da930d196f1192e8d5da062ec463ae2290230052816be3803e32167fd7cbd19edf56ea771290c06b6bd4c705cf7d591eae46c8f28569306e8b74157a7dd2688d7ecab",
+          "sig" : "30640230727b81c06f51fe188906397a3885848285713ccb6a463d87398fc9e5fde2db668696fa43a88405560e18b3d0b80d9cf40230363586f2bc35f2929226175b1cd50ed3873e584dbc95d5e1aa6de4fa5f15959adc486e6da484a4c06b722981dbdd8875",
           "result" : "valid",
           "flags" : []
         },
@@ -44,7 +45,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3064023057def8ee9ea3e7aeeedea8f09cfd3efd0a72797a1dcfdb9466d354d93b44f045147db6d3f359d5b4b84d3fa968d9166c02301773822fbc56b9aa5bd8eebc747dc8970c0ecf808bb4c75fa2b766477c1d8dbccffef02f1a1c2741ed61509d7cfb414c",
+          "sig" : "306402307fca4fde25d283e2f3c5c3b3f0c1d8160e4fcd24f88e9408a058a8b4c0f7edda239a94e83f16a939b30e6050f8905001023059a70257405a65957eb510d1274affd72414f8dd82571f7a3cdab6783e76d46dc2bdf1fe617614b71c16660a389662dd",
           "result" : "valid",
           "flags" : []
         },
@@ -52,7 +53,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3064023045fd5ec8d9db3b6f027d113bb7aa8691693122e12e42bfec8312286683f6eb45441d9ffdff7eb3d82eb86092008753090230224b46fc0b2294afd7a43f35dc3c827ca03e18aaecb1dbc28be59f01656bb9a20f3ada1fea07e2c1b6a3b3dae494a4e7",
+          "sig" : "306502304b6f543bbc417d971826aca05c47bcbbd295dba8c1d86e362cebbdb95d401a0b25852ac55863a2b83df578ba5610773a0231008c640b9d96550e3da7a1f98e094f183f51b5b222d9ca51b39f5a8347508008349575d73fe99df0ceb6a6b45d0e6eaca0",
           "result" : "valid",
           "flags" : []
         },
@@ -60,7 +61,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "306402303b47364cb8fd761691f52ec6cf7d2dcaee39385ec1f41a268586d70a8cc112ea604286d0306dc9019c1120db24d9d48b02301394e9419b1baeb3cec3cb9d0b4cbc4ae13b8cdbff00d7a8bde31bec28a8142b05942403f03cb9f1c6fcf77640756dac",
+          "sig" : "30640230076542ea696022019b034db08233f4d7d15d1c549e23222c7c888825d50deb5e81df6e0f31df202046d6c590d0843b2d02303e7d8c851593e0149f9fd1df62aaf5c2e203846de9c2655895873418a219532b05c6f24c4d832d9e58b8ad7ab55565c0",
           "result" : "valid",
           "flags" : []
         },
@@ -68,7 +69,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3064023068d213b292ca177acde005fdd64ef61b988835c9923e36fd00122d2330f2f56a9a8ca60792b85c243a43b03ad7df02bb02301248798ddcdd63d76d108fee4678fb9197d66da8fb3538e2f7c38433306ef7a1396f46f00d590e2b235d5a319d941bee",
+          "sig" : "30640230785313dd9bfbf9c8c7799b052be4ab88d4953eccf280e1f7f8f15a8d72dd3ad0262cbf74345d05584591bdd3a44380f6023072ba760edd4f7f6bbbc7e5ae1de994dc7de26b0ce3613b4c75a3b9c431d9e60e67ebd4b348cb7f18d5f185ba6eb13634",
           "result" : "valid",
           "flags" : []
         },
@@ -86,7 +87,9 @@
           "msg" : "313233343030",
           "sig" : "30816402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 9,
@@ -94,7 +97,9 @@
           "msg" : "313233343030",
           "sig" : "30650281300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -102,7 +107,9 @@
           "msg" : "313233343030",
           "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91028130090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -110,7 +117,9 @@
           "msg" : "313233343030",
           "sig" : "3082006402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -118,7 +127,9 @@
           "msg" : "313233343030",
           "sig" : "3066028200300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -126,7 +137,9 @@
           "msg" : "313233343030",
           "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9102820030090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -378,6 +391,14 @@
         },
         {
           "tcId" : 45,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000",
@@ -385,7 +406,7 @@
           "flags" : []
         },
         {
-          "tcId" : 46,
+          "tcId" : 47,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3066000002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -393,24 +414,16 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
-          "comment" : "appending unused 0's",
+          "tcId" : 48,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9100000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 49,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410500",
           "result" : "invalid",
@@ -418,22 +431,6 @@
         },
         {
           "tcId" : 50,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "306602320e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9105000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910232090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3069498177306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -441,7 +438,7 @@
           "flags" : []
         },
         {
-          "tcId" : 53,
+          "tcId" : 51,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30682500306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -449,7 +446,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3066306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410004deadbeef",
@@ -457,7 +454,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3069223549817702300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -465,7 +462,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30682234250002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -473,7 +470,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306c223202300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910004deadbeef0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -481,7 +478,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306902300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9122354981770230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -489,7 +486,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306802300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91223425000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -497,7 +494,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306c02300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9122320230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410004deadbeef",
@@ -505,7 +502,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306caa00bb00cd00306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -513,7 +510,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306aaa02aabb306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -521,7 +518,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306c2238aa00bb00cd0002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -529,7 +526,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306a2236aa02aabb02300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -537,7 +534,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306c02300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b912238aa00bb00cd000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -545,7 +542,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306a02300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b912236aa02aabb0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -553,7 +550,15 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000",
@@ -561,7 +566,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3068228002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9100000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -569,7 +574,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "306802300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9122800230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000",
@@ -577,7 +582,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080316402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000",
@@ -585,7 +590,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3068228003300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9100000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -593,7 +598,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "306802300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9122800330090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000",
@@ -601,7 +606,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -609,127 +614,47 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
-          "comment" : "changing tag value",
+          "tcId" : 73,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e6402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f6402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "316402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "326402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff6402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306400300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306401300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306403300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306404300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3064ff300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910030090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910130090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910330090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910430090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91ff30090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
+          "tcId" : 78,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -737,31 +662,15 @@
           "flags" : []
         },
         {
-          "tcId" : 90,
-          "comment" : "using composition",
+          "tcId" : 79,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "30683001023063300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3068223402010e022f8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "306802300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b912234020109022f0ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
+          "tcId" : 80,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "306302300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb",
@@ -769,7 +678,7 @@
           "flags" : []
         },
         {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3063300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -777,15 +686,17 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "308002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "308002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb4100",
@@ -793,7 +704,7 @@
           "flags" : []
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "308002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb4105000000",
@@ -801,7 +712,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "308002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41060811220000",
@@ -809,7 +720,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "308002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000fe02beef",
@@ -817,7 +728,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "308002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410002beef",
@@ -825,7 +736,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "3066300002300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -833,7 +744,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb413000",
@@ -841,7 +752,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "3066306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -849,7 +760,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "303202300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91",
@@ -857,7 +768,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "30819602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -865,7 +776,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "30320230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -873,7 +784,23 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3033020230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "303302300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9102",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "306602320e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9100000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -881,7 +808,7 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910232090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410000",
@@ -889,23 +816,67 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3066023200000e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9102320000090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9100000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 111,
+          "tcId" : 101,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "306602320e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9105000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "306602300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910232090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb410500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "303402810230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "303402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "303405000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -913,7 +884,7 @@
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "303402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910500",
@@ -921,7 +892,87 @@
           "flags" : []
         },
         {
+          "tcId" : 107,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306400300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306401300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306403300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306404300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3064ff300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910030090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910130090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910330090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910430090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91ff30090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "303402000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -929,7 +980,7 @@
           "flags" : []
         },
         {
-          "tcId" : 114,
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "303402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910200",
@@ -937,7 +988,23 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3068223402010e022f8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "306802300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b912234020109022f0ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "306402300c8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -945,7 +1012,7 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9102300b0ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -953,7 +1020,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b110230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -961,7 +1028,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadebc1",
@@ -969,7 +1036,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3063022f0e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -977,7 +1044,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3063022f8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -985,7 +1052,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "306302300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91022f090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb",
@@ -993,7 +1060,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "306302300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91022f0ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -1001,7 +1068,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30650231ff0e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -1009,7 +1076,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910231ff090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -1017,7 +1084,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "30350901800230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
@@ -1025,7 +1092,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "303502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91090180",
@@ -1033,66 +1100,18 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30650231009b472fccbf6d812d65696852cbfcadddaa9ff8b1ed8f8be752cc82bc2aebfc9f6bc887fe5da9bd8a6aafb4c21c74f0f60230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3064023081d4f2c778fca6dd46ae89562a302a1f8041169e12e6de81149fa5e2d2e3b14fcd531a9f86aa3769f39f50bc4a6c262c0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30640230f171eeb5e3caebfaa9f4072b84e994016a8f7857ffc4cacbcc49ebb08118290863722eb10dd60585d0d87d40cc8f746f0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "306402307e2b0d3887035922b95176a9d5cfd5e07fbee961ed19217eeb605a1d2d1c4eb032ace5607955c8960c60af43b593d9d40230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30650231ff64b8d03340927ed29a9697ad340352225560074e12707418ad337d43d514036094377801a256427595504b3de38b0f0a0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30650231010e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3065023100f171eeb5e3caebfaa9f4072b84e994016a8f7857ffc4cacbcc49ebb08118290863722eb10dd60585d0d87d40cc8f746f0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "sig" : "30350201000230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9102310095c7c160c094d4422528af5fd56ee1234ee90dcd68d721b937f609f8bbaa1bb9b5e2c5c3372bd2a25796d8f056b250a6",
+          "sig" : "303502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1100,7 +1119,7 @@
           "tcId" : 135,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910231ff7c55845b7a23f9f2066dd06333a25d65248a2bb98e2e7452f9c92d1f63a1d06a176d5864602c4c81e08674ea84a985dc",
+          "sig" : "30650231009b472fccbf6d812d65696852cbfcadddaa9ff8b1ed8f8be752cc82bc2aebfc9f6bc887fe5da9bd8a6aafb4c21c74f0f60230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
@@ -1108,7 +1127,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230f6f15d21e2a398e5ea34c01e7b7760bbc646633c847d34f9e7206473f05a09ee1957f0ec3453f06de3f15912925214bf",
+          "sig" : "3064023081d4f2c778fca6dd46ae89562a302a1f8041169e12e6de81149fa5e2d2e3b14fcd531a9f86aa3769f39f50bc4a6c262c0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
@@ -1116,7 +1135,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910231ff6a383e9f3f6b2bbddad750a02a911edcb116f2329728de46c809f6074455e4464a1d3a3cc8d42d5da869270fa94daf5a",
+          "sig" : "30640230f171eeb5e3caebfaa9f4072b84e994016a8f7857ffc4cacbcc49ebb08118290863722eb10dd60585d0d87d40cc8f746f0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
@@ -1124,7 +1143,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91023101090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "sig" : "306402307e2b0d3887035922b95176a9d5cfd5e07fbee961ed19217eeb605a1d2d1c4eb032ace5607955c8960c60af43b593d9d40230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
@@ -1132,12 +1151,76 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91023100f6f15d21e2a398e5ea34c01e7b7760bbc646633c847d34f9e7206473f05a09ee1957f0ec3453f06de3f15912925214bf",
+          "sig" : "30650231ff64b8d03340927ed29a9697ad340352225560074e12707418ad337d43d514036094377801a256427595504b3de38b0f0a0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 140,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30650231010e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3065023100f171eeb5e3caebfaa9f4072b84e994016a8f7857ffc4cacbcc49ebb08118290863722eb10dd60585d0d87d40cc8f746f0230090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b9102310095c7c160c094d4422528af5fd56ee1234ee90dcd68d721b937f609f8bbaa1bb9b5e2c5c3372bd2a25796d8f056b250a6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910231ff7c55845b7a23f9f2066dd06333a25d65248a2bb98e2e7452f9c92d1f63a1d06a176d5864602c4c81e08674ea84a985dc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "306402300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910230f6f15d21e2a398e5ea34c01e7b7760bbc646633c847d34f9e7206473f05a09ee1957f0ec3453f06de3f15912925214bf",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b910231ff6a383e9f3f6b2bbddad750a02a911edcb116f2329728de46c809f6074455e4464a1d3a3cc8d42d5da869270fa94daf5a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91023101090ea2de1d5c671a15cb3fe184889f4439b99cc37b82cb0618df9b8c0fa5f611e6a80f13cbac0f921c0ea6ed6dadeb41",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "306502300e8e114a1c351405560bf8d47b166bfe957087a8003b353433b6144f7ee7d6f79c8dd14ef229fa7a2f2782bf33708b91023100f6f15d21e2a398e5ea34c01e7b7760bbc646633c847d34f9e7206473f05a09ee1957f0ec3453f06de3f15912925214bf",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1147,7 +1230,7 @@
           ]
         },
         {
-          "tcId" : 141,
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1157,7 +1240,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1167,7 +1250,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
@@ -1177,7 +1260,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
@@ -1187,7 +1270,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
@@ -1197,7 +1280,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
@@ -1207,7 +1290,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201000231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
@@ -1217,7 +1300,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1227,7 +1310,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1237,90 +1320,10 @@
           ]
         },
         {
-          "tcId" : 150,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 151,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 152,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 153,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 154,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 155,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 156,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 157,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020100",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1330,7 +1333,7 @@
           "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020101",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1340,7 +1343,7 @@
           "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
+          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1350,7 +1353,7 @@
           "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
+          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1360,7 +1363,7 @@
           "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
+          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1370,7 +1373,7 @@
           "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
+          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1380,7 +1383,7 @@
           "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
+          "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1390,7 +1393,7 @@
           "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1400,7 +1403,7 @@
           "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1410,7 +1413,7 @@
           "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020100",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1420,7 +1423,7 @@
           "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1430,7 +1433,7 @@
           "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201ff",
+          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1440,7 +1443,7 @@
           "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
+          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1450,7 +1453,7 @@
           "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
+          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1460,7 +1463,7 @@
           "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
+          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1470,7 +1473,7 @@
           "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
+          "sig" : "30360201ff0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1480,7 +1483,7 @@
           "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1490,7 +1493,7 @@
           "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565090380fe01",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1500,7 +1503,7 @@
           "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564020100",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1510,7 +1513,7 @@
           "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564020101",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1520,7 +1523,7 @@
           "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640201ff",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1530,7 +1533,7 @@
           "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1540,7 +1543,7 @@
           "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1550,7 +1553,7 @@
           "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1560,7 +1563,7 @@
           "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1570,7 +1573,7 @@
           "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
+          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1580,7 +1583,7 @@
           "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564090380fe01",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1590,7 +1593,7 @@
           "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566020100",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1600,7 +1603,7 @@
           "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566020101",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1610,7 +1613,7 @@
           "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660201ff",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1620,7 +1623,7 @@
           "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1630,7 +1633,7 @@
           "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1640,7 +1643,7 @@
           "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1650,7 +1653,7 @@
           "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1660,7 +1663,7 @@
           "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
+          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1670,7 +1673,7 @@
           "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566090380fe01",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1680,7 +1683,7 @@
           "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53020100",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1690,7 +1693,7 @@
           "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53020101",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1700,7 +1703,7 @@
           "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530201ff",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1710,7 +1713,7 @@
           "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1720,7 +1723,7 @@
           "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1730,7 +1733,7 @@
           "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1740,7 +1743,7 @@
           "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1750,7 +1753,7 @@
           "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
+          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1760,7 +1763,7 @@
           "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53090380fe01",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1770,7 +1773,7 @@
           "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54020100",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1780,7 +1783,7 @@
           "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54020101",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1790,7 +1793,7 @@
           "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540201ff",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1800,7 +1803,7 @@
           "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1810,7 +1813,7 @@
           "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1820,7 +1823,7 @@
           "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1830,7 +1833,7 @@
           "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec530231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1840,7 +1843,7 @@
           "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
+          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1850,7 +1853,7 @@
           "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54090380fe01",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1858,6 +1861,86 @@
         },
         {
           "tcId" : 212,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046565",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046564",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec53",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec540231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30380231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec54090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3335373632",
           "sig" : "30640230705c790f8f50061c508c15fc9aabc1f58193ab15b394ab2195e358cb620a5bf4b65449afb9c417bd1a3105e53a9742ce02306dd7abda4001bc416982ab4326b5d27b1280f02b142f040ce2497f9e153e4e1e3a35c5ffaef72694e677872eb19ddf36",
@@ -1867,20 +1950,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIqUFk3HZU/aPNQwHT6XICTC2rpx\n1EISjH8/rs2543WoWqgMSsKIifJY5suohtR2NlSLO/G2dfIxjD2Kt6HCgaMyQcEh\ns1kL/fcDx81Lro9FGIbZiSNMG4xYlhRVTUKTkg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392",
         "wx" : "08a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636",
         "wy" : "548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIqUFk3HZU/aPNQwHT6XICTC2rpx\n1EISjH8/rs2543WoWqgMSsKIifJY5suohtR2NlSLO/G2dfIxjD2Kt6HCgaMyQcEh\ns1kL/fcDx81Lro9FGIbZiSNMG4xYlhRVTUKTkg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "304e021900f39b6bacd3b2eb7bdd98f07a249d57614bbece10480386e80231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
@@ -1888,7 +1972,7 @@
           "flags" : []
         },
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec4d0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
@@ -1898,20 +1982,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000473f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHP4SrY3iTAeiLTLgsuTXez/uPQr\nLJeEx1RGFbkHbsenq5RwLKfx2arPuQU3tdNo3FAst8jBgoWZTHsZ+j4kAf3CbeVP\n/gBrt5vdeFLGZtcwvfdqFsB5Kmxmge1rZH/IGw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0473f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b",
         "wx" : "73f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc",
         "wy" : "502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000473f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHP4SrY3iTAeiLTLgsuTXez/uPQr\nLJeEx1RGFbkHbsenq5RwLKfx2arPuQU3tdNo3FAst8jBgoWZTHsZ+j4kAf3CbeVP\n/gBrt5vdeFLGZtcwvfdqFsB5Kmxmge1rZH/IGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563",
@@ -1921,20 +2006,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlehGHt2+ITZ6lbJc2FzTHoDs8f\nlVOQVvt+ELSqSZALIZTZGbKc2b83Oh1T71cRdHZ8AuNrk1pl5anLs1WJoqAYSCBl\nxeM9qM5IPcf3/kQVdPnnqwYUvc/GECLHgKMACQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009",
         "wx" : "0895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174",
         "wy" : "767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlehGHt2+ITZ6lbJc2FzTHoDs8f\nlVOQVvt+ELSqSZALIZTZGbKc2b83Oh1T71cRdHZ8AuNrk1pl5anLs1WJoqAYSCBl\nxeM9qM5IPcf3/kQVdPnnqwYUvc/GECLHgKMACQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0230480eca2874aa6ba71e7fb5711339ac0a7bf84065b3c7d59c64a2c6015e6f794e7dfa2b1fec73a72adb32bdb7dd55cd04",
@@ -1944,20 +2030,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGGK2BkS5MMfI+qy8MaTs++EBAdK\nsdzgHcgqdoFRyfoDk7TWrq7saFjT9BmVeluZfzH6gJsbRGd8xa7xiUhGFCw+RLum\nxHESP6FP6486qekvdpvlSc75wdVbxvH0+EGBPQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d",
         "wx" : "618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f",
         "wy" : "31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGGK2BkS5MMfI+qy8MaTs++EBAdK\nsdzgHcgqdoFRyfoDk7TWrq7saFjT9BmVeluZfzH6gJsbRGd8xa7xiUhGFCw+RLum\nxHESP6FP6486qekvdpvlSc75wdVbxvH0+EGBPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02301629ef2d7182d67b6bd9cf6842251fe09c96bfe022b8ad9a0e546fdc8ecf5dc8636fa13059d7e9d83fde50e0d2b392c8",
@@ -1967,20 +2054,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000479583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlYO0lotXaBG1Z+FiDgCwqriqIj\nxeZVsnsevq+DvNNfQgWloOUaIFL//p/SN4XJj3c1fIoQCPy3o1eWFML/R5gPqeRL\na16j+KM8kZ3SrqXa0MoaAaniEGUYsWQpBuTydQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0479583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275",
         "wx" : "79583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f",
         "wy" : "77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000479583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlYO0lotXaBG1Z+FiDgCwqriqIj\nxeZVsnsevq+DvNNfQgWloOUaIFL//p/SN4XJj3c1fIoQCPy3o1eWFML/R5gPqeRL\na16j+KM8kZ3SrqXa0MoaAaniEGUYsWQpBuTydQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1990,20 +2078,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlle6whbDrEo6LVr9NCrSSk6xA9\nTb4uRGHgPHARgmUT/oK9BuF+OujrWBHaC+yIuzPuHt3V1J3Ybnhfv+u5KIZhlk5v\nvgwHr5pLoxRfxL4R5UhLZQyXCW24LrsMoruE7Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0489657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed",
         "wx" : "089657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb",
         "wy" : "33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlle6whbDrEo6LVr9NCrSSk6xA9\nTb4uRGHgPHARgmUT/oK9BuF+OujrWBHaC+yIuzPuHt3V1J3Ybnhfv+u5KIZhlk5v\nvgwHr5pLoxRfxL4R5UhLZQyXCW24LrsMoruE7Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -2013,20 +2102,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e890dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFh29BT6OFtAOi0Q2l2JsRA0StAF\nv6+MdZqx41YaOf8Nuf+R7GBAMW4vyjZUpIwOiQ3Ld/iW6kdcuXZyqEADKVVMlBth\ntKhL3h+Mj8UlDCkWH8PKUEWKQcd6SLszaILy6g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e890dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea",
         "wx" : "5876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e89",
         "wy" : "0dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e890dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFh29BT6OFtAOi0Q2l2JsRA0StAF\nv6+MdZqx41YaOf8Nuf+R7GBAMW4vyjZUpIwOiQ3Ld/iW6kdcuXZyqEADKVVMlBth\ntKhL3h+Mj8UlDCkWH8PKUEWKQcd6SLszaILy6g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -2034,7 +2124,7 @@
           "flags" : []
         },
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566020103",
@@ -2044,20 +2134,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de06d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBvudB+hkqm9BTXQBidzcHnpjwAH\nY5TJeKlqD5+6ZOniHez/a0uP4R9gsY1ddYaE3gbRkyHqt+hgH49GBv6T/TsvAphq\nWMpWQTKCxm3Ta6ZySjy87ueZSLotVcdWWGtY4g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de06d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2",
         "wx" : "1bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de",
         "wy" : "6d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de06d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBvudB+hkqm9BTXQBidzcHnpjwAH\nY5TJeKlqD5+6ZOniHez/a0uP4R9gsY1ddYaE3gbRkyHqt+hgH49GBv6T/TsvAphq\nWMpWQTKCxm3Ta6ZySjy87ueZSLotVcdWWGtY4g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9173bec",
@@ -2067,20 +2158,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGsl+MFin3V548fuSwKcwCm0vb7Y\ni5s5kwPkoUNS0fP2BI7N0GLTfLp7cLy9WHIx52ITE/k9MQ8US9MyJYKARjndKWCW\nmpk6nyo2CfhW4UFaCk3PWKeGTkHiqMgN/BWKMA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30",
         "wx" : "6b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7",
         "wy" : "621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGsl+MFin3V548fuSwKcwCm0vb7Y\ni5s5kwPkoUNS0fP2BI7N0GLTfLp7cLy9WHIx52ITE/k9MQ8US9MyJYKARjndKWCW\nmpk6nyo2CfhW4UFaCk3PWKeGTkHiqMgN/BWKMA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "303702020101023100896621d23283b12111048d1c978e2c286d60b6ef7ce37af36cf7aa4de268d626de7ddcb356d167c7483c69455c752c93",
@@ -2090,20 +2182,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d02112c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF0ILN5ghvjqaZT0bp3AbBwdLDo8\nLcXJe/E3ZT2bLtIRAbrYQ9RuS3klua9wNMbQIRLH9W5l0jMQQGM5H7OCizmQ5ok9\nd3RuQjBealuhEdl21pP1la+Fjxn6xyNPdITEiQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d02112c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489",
         "wx" : "5d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d021",
         "wy" : "12c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d02112c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF0ILN5ghvjqaZT0bp3AbBwdLDo8\nLcXJe/E3ZT2bLtIRAbrYQ9RuS3klua9wNMbQIRLH9W5l0jMQQGM5H7OCizmQ5ok9\nd3RuQjBealuhEdl21pP1la+Fjxn6xyNPdITEiQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "303b02072d9b4d347952cc023038e8dae216c63f06b3edbd0f9ba7a5e4a332ec187251e3d627839d1baac667d7caad2ab0a1ea9fbb12dc5a71e3b49bc9",
@@ -2113,20 +2206,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHQHymwqGD+coTdmCenHio0IDv+t\nFaT2PLt6Fo48eJuLWc5NMSLKCKhpB7pIf3F/vD4sVqmzRgpRNrITvo1Iyz3Jx62U\nWx3Oy/k/ps+q+NvXDxBAuXrY46ww8uZP18x21g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6",
         "wx" : "7407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc",
         "wy" : "3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHQHymwqGD+coTdmCenHio0IDv+t\nFaT2PLt6Fo48eJuLWc5NMSLKCKhpB7pIf3F/vD4sVqmzRgpRNrITvo1Iyz3Jx62U\nWx3Oy/k/ps+q+NvXDxBAuXrY46ww8uZP18x21g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d1033e67e37b32b445580bf4efc02300d2436a599b396a51c546e05d1c3d25a8f6d05935ae5031dad3cdd7cb36cf6912a433de28f8475d3b1e2e1ce77610879",
@@ -2136,20 +2230,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE/DKlImgg7Jw//yx04LNtfeAo5Z\n/ABfOAejvVmJLJrSDbpxaO+e2b+Zsl7QG8/GymoT2i6FJ3em+Z0EMiobn7QidoS/\nfEDU0++SeYADo78toVjVaGRXwz0OJL5cJl/Ecw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473",
         "wx" : "4fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca",
         "wy" : "6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE/DKlImgg7Jw//yx04LNtfeAo5Z\n/ABfOAejvVmJLJrSDbpxaO+e2b+Zsl7QG8/GymoT2i6FJ3em+Z0EMiobn7QidoS/\nfEDU0++SeYADo78toVjVaGRXwz0OJL5cJl/Ecw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "30360202010102304a289adad7ceec67ae99ef5da797b6bb17d9c168428ab30ea9a68b89652c4b9e9bae876ab3d7fbdf1eb92ed422bd3b93",
@@ -2159,20 +2254,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHNQp9ANdxmjGFIu9MXmviSzsssw\nDFlveejdMaRoj+ZaVLLXSXoGgh7suvMbL6fNy0vXL8fwXjJFf9oMw/MhFXdE8YQc\nML0Ibm3dW/QV63Hsvjbw8/0j08QUh/soPg6XlA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794",
         "wx" : "7350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb",
         "wy" : "4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHNQp9ANdxmjGFIu9MXmviSzsssw\nDFlveejdMaRoj+ZaVLLXSXoGgh7suvMbL6fNy0vXL8fwXjJFf9oMw/MhFXdE8YQc\nML0Ibm3dW/QV63Hsvjbw8/0j08QUh/soPg6XlA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d062522bbd3ecbe7c39e93e7c2402304a289adad7ceec67ae99ef5da797b6bb17d9c168428ab30ea9a68b89652c4b9e9bae876ab3d7fbdf1eb92ed422bd3b93",
@@ -2182,20 +2278,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e30cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGFJitMahO7RAronEuuKe9kjIL2k\nrG0HtDJqMIadGesbliKdIe/XEdz3MEi/FmgA4wz8wToJFBMihNvqtvz11ws0yoam\ngRV+SHSr/67rtpuLcfadMyMGVngj3eVAfOc56A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0461498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e30cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8",
         "wx" : "61498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e3",
         "wy" : "0cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e30cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGFJitMahO7RAronEuuKe9kjIL2k\nrG0HtDJqMIadGesbliKdIe/XEdz3MEi/FmgA4wz8wToJFBMihNvqtvz11ws0yoam\ngRV+SHSr/67rtpuLcfadMyMGVngj3eVAfOc56A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "30650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90464e502305dd0bf01c2259e1ab4e8f4fee099813f6374f6069e3839ccbf64499dc802c3c534d1cf1f9cffd76027b021574602ee43",
@@ -2205,20 +2302,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004050592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b511545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAUFkvNNsCY99MZpuJkZQb4YI3oQ\nRb/RZepK84U3ZWTt9mVKDf97XYRHQJDyZcRrURVFkYzY8iJgziGlhO36CxZESIyZ\nfZVlKSYq70AMwDIO0n3c7Dvea5/XmzdK9oj6nw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04050592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b511545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f",
         "wx" : "50592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b51",
         "wy" : "1545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004050592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b511545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAUFkvNNsCY99MZpuJkZQb4YI3oQ\nRb/RZepK84U3ZWTt9mVKDf97XYRHQJDyZcRrURVFkYzY8iJgziGlhO36CxZESIyZ\nfZVlKSYq70AMwDIO0n3c7Dvea5/XmzdK9oj6nw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "303502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721020101",
@@ -2226,7 +2324,7 @@
           "flags" : []
         },
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "303502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721020100",
@@ -2236,20 +2334,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a003343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE34mFRMKxDcPE0ySfylEw51PSbg\ngyC9gjkmrLBQ2Lak/q3ym+8H7NsA6Fs0HyIGmgAzQ2ldHgrAp4s4SQ2XwekOT/TK\nDSFAuRAfG2PynKTyv5F24WAEg5FiFr01q85nQQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a003343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741",
         "wx" : "4df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a",
         "wy" : "3343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a003343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE34mFRMKxDcPE0ySfylEw51PSbg\ngyC9gjkmrLBQ2Lak/q3ym+8H7NsA6Fs0HyIGmgAzQ2ldHgrAp4s4SQ2XwekOT/TK\nDSFAuRAfG2PynKTyv5F24WAEg5FiFr01q85nQQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "30640230465c8f41519c369407aeb7bf287320ef8a97b884f6aa2b598f8b3736560212d3e79d5b57b5bfe1881dc41901748232b202302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721",
@@ -2259,20 +2358,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF13E06JCscvnGn8w/GBrnRv7//a\n/B38eRzzOiL7D45YYYjPLV0GDdsEAEuvVhkcnw50Ad3MR6CbXs8nGcyTYBCpNxp/\ndiTmPnoAVQoT0DXPWG07Uix/0GJRrbsPCq091w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7",
         "wx" : "5d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f",
         "wy" : "0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF13E06JCscvnGn8w/GBrnRv7//a\n/B38eRzzOiL7D45YYYjPLV0GDdsEAEuvVhkcnw50Ad3MR6CbXs8nGcyTYBCpNxp/\ndiTmPnoAVQoT0DXPWG07Uix/0GJRrbsPCq091w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "306502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
@@ -2282,20 +2382,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c89f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGB82UxC9bv8+FenCKwWPwr8CmXI\n2Icl8YxL9+t89dNKymAIontOX9lHYTTthfzTLInySCkMWbj7lj6Qurmws+MT07jg\npsiQFFWiK3t0oQgVLFuBS6V13o3gfNuNZ7orUA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c89f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50",
         "wx" : "607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c",
         "wy" : "089f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c89f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGB82UxC9bv8+FenCKwWPwr8CmXI\n2Icl8YxL9+t89dNKymAIontOX9lHYTTthfzTLInySCkMWbj7lj6Qurmws+MT07jg\npsiQFFWiK3t0oQgVLFuBS6V13o3gfNuNZ7orUA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc",
@@ -2305,20 +2406,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c735f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEtK+9kXRrGk320NcXr8dSj6Sp3a\nmmKv7hmnL8ABmqLqiaElvqdnVQYjBlbKr/Usc19cNXW/ZpY379tnJHdQDx/je0Xc\n+HlIetbKNsQUcyn7dBcGzpuSjOR79twPnkQBfw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c735f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f",
         "wx" : "4b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c73",
         "wy" : "5f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c735f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEtK+9kXRrGk320NcXr8dSj6Sp3a\nmmKv7hmnL8ABmqLqiaElvqdnVQYjBlbKr/Usc19cNXW/ZpY379tnJHdQDx/je0Xc\n+HlIetbKNsQUcyn7dBcGzpuSjOR79twPnkQBfw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721",
@@ -2328,20 +2430,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d46edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABA2LJGxiMYi3RVcWrBibmvRBZ2oc\nQc1XV1S9Aq5NaCUwS5Yd3wgmuxYePWPpvHHx1G7b7dwtQNr9zKyQroXNYWoOoeSg\niuj8M1jOfVFC7ujzvr3BRZHEybFb/xK4zwgzSg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d46edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a",
         "wx" : "0d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d4",
         "wy" : "6edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d46edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABA2LJGxiMYi3RVcWrBibmvRBZ2oc\nQc1XV1S9Aq5NaCUwS5Yd3wgmuxYePWPpvHHx1G7b7dwtQNr9zKyQroXNYWoOoeSg\niuj8M1jOfVFC7ujzvr3BRZHEybFb/xK4zwgzSg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102305dd0bf01c2259e1ab4e8f4fee099813f6374f6069e3839ccbf64499dc802c3c534d1cf1f9cffd76027b021574602ee44",
@@ -2351,20 +2454,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8029af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABATZ1KYtbrAgc+c4seQ5zs1UQAMZ\nEfRRkOtgYqM1NfxSabz8JdSvwdrg662UjXcy2AKa836Jo86n3ziwIPYkkG/KbZRO\nFIaFP+jlupz7otdKhS7Fh9Rv5JkXw2RBjvfspQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8029af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5",
         "wx" : "4d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8",
         "wy" : "29af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8029af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABATZ1KYtbrAgc+c4seQ5zs1UQAMZ\nEfRRkOtgYqM1NfxSabz8JdSvwdrg662UjXcy2AKa836Jo86n3ziwIPYkkG/KbZRO\nFIaFP+jlupz7otdKhS7Fh9Rv5JkXw2RBjvfspQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a",
@@ -2374,20 +2478,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBpKVcmwzkPX7XipjZv2RZzPNJRm\n/MxFdZj8FaHWlW2M6DSLIzL/+z1RaweNKNMp3XP0Wkzh9dx3Lzwyg69lZObkEPnV\nBktkhAZZZpNmk/YqyZQOsokUoJHSlkzYQ7QQKA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028",
         "wx" : "1a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd",
         "wy" : "73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBpKVcmwzkPX7XipjZv2RZzPNJRm\n/MxFdZj8FaHWlW2M6DSLIzL/+z1RaweNKNMp3XP0Wkzh9dx3Lzwyg69lZObkEPnV\nBktkhAZZZpNmk/YqyZQOsokUoJHSlkzYQ7QQKA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023070a8e817f4ea82b831ba5e671830b4312846b23da14ff7d43baf3a7ee7aa061c86422aaf27ffc5c655406868b5bf19bf",
@@ -2397,20 +2502,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f069e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDc6yY8IgmiobRNt5PoM4sQQQs0z\n7S0HJQ9TzU7UP6HaQl2ll71bQT1Wz/+VQmcQTwaeBFO7vXkoAxb4wcFhqEavN5qU\nHtKG5ZPn8om6T/9CRYsnOjukmVdOE05/tKfcGQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f069e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19",
         "wx" : "373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f",
         "wy" : "69e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f069e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDc6yY8IgmiobRNt5PoM4sQQQs0z\n7S0HJQ9TzU7UP6HaQl2ll71bQT1Wz/+VQmcQTwaeBFO7vXkoAxb4wcFhqEavN5qU\nHtKG5ZPn8om6T/9CRYsnOjukmVdOE05/tKfcGQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230326c0872a7224e7a104087acf4c4b4e3e5aba4ffe4625fc3955ce9647bf71fb596b83971ad2b52473a2821991c808905",
@@ -2420,20 +2526,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e8595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH5qtCm54zqXT2q5pJ6xUsSEV1+t\nXZvN3Lh+3OFueTM6k3J282rskSHeRQOEyyC7LoWV9sKIDYkZjhtiXmUFbQoZpY0d\nHFUbzF3TnSgdcm2tQQhIjI+UGsmDFpys4+zHGw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e8595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b",
         "wx" : "7e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e",
         "wy" : "08595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e8595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH5qtCm54zqXT2q5pJ6xUsSEV1+t\nXZvN3Lh+3OFueTM6k3J282rskSHeRQOEyyC7LoWV9sKIDYkZjhtiXmUFbQoZpY0d\nHFUbzF3TnSgdcm2tQQhIjI+UGsmDFpys4+zHGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023065cf0a5bce70af078af6d5a14545ca619e47d6eb0fd0531ecc743a7685530284a83289c2d09e024384ae5e778799e414",
@@ -2443,20 +2550,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac551734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB+7N/dRlcPy3jr8yIrX6zIQgURg\niUP6zjqJAAX/Kj4LVYB5xYQmIPRK3Aw43YiqxVFzT464J9+SnXMXcUopz4ukMsr2\niQlNAOudY8vJCLp2ylsfk9IpR3yWCEKUD0Ik0w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac551734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3",
         "wx" : "1fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac5",
         "wy" : "51734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac551734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB+7N/dRlcPy3jr8yIrX6zIQgURg\niUP6zjqJAAX/Kj4LVYB5xYQmIPRK3Aw43YiqxVFzT464J9+SnXMXcUopz4ukMsr2\niQlNAOudY8vJCLp2ylsfk9IpR3yWCEKUD0Ik0w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02302e099adfe4d9120596e8a1520399b0e249555b171e0a71967307548a3c28753fa40bbcb0a8658369dc8ca0caa05fb001",
@@ -2466,20 +2574,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000407fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAf6MMg3yK0Ckyah1Ei9J1IbXSaq\n1NgkS3JCST33AXLm3R2vXH4H9PoQL1xBWk7GHwkEUn34d1J/fQ9af3G22cA/LeHf\niASGjnM32jXJsf/Jvy4nnDr4oHhubzmDLMbtGw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0407fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b",
         "wx" : "7fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f",
         "wy" : "0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000407fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAf6MMg3yK0Ckyah1Ei9J1IbXSaq\n1NgkS3JCST33AXLm3R2vXH4H9PoQL1xBWk7GHwkEUn34d1J/fQ9af3G22cA/LeHf\niASGjnM32jXJsf/Jvy4nnDr4oHhubzmDLMbtGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02305c1335bfc9b2240b2dd142a4073361c492aab62e3c14e32ce60ea9147850ea7f4817796150cb06d3b919419540bf6002",
@@ -2489,20 +2598,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c630c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGE5euf+jn6JS/ponlgTUUKToPG5\n8QkMDZaWN5thKHp1Kj99HSSA/kEnSY0O7ahMYwwvrdN+o2v+UytdOg8QHd06xZRY\nOZZI8++vWDPewcjI7OBVFYk1U+9NWBINN84uzQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0461397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c630c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd",
         "wx" : "61397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c63",
         "wy" : "0c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c630c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGE5euf+jn6JS/ponlgTUUKToPG5\n8QkMDZaWN5thKHp1Kj99HSSA/kEnSY0O7ahMYwwvrdN+o2v+UytdOg8QHd06xZRY\nOZZI8++vWDPewcjI7OBVFYk1U+9NWBINN84uzQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230259160b321c350f4f2299aa77c72a09248927957b6414308bf8c7fb4f2dbba5ca79198f80a150e1ceb5a9845144eee9b",
@@ -2512,20 +2622,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH8WbvqNhBbZIvV2c6IYDPu0no0W\nDWC6XskLpUfz7M0izmr9maD7KSz9FrBpK5yrA0GFeeZ8h7NZkS9stBWL3X6hMLUA\ndybfL84xmRXe7cT36J7iP3huJTc8mTdJi6uBtA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4",
         "wx" : "7f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03",
         "wy" : "418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH8WbvqNhBbZIvV2c6IYDPu0no0W\nDWC6XskLpUfz7M0izmr9maD7KSz9FrBpK5yrA0GFeeZ8h7NZkS9stBWL3X6hMLUA\ndybfL84xmRXe7cT36J7iP3huJTc8mTdJi6uBtA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023100881964e1bba9a28c7a1d84379c65bb3da72f3cc879f7f579d2f9b34a574432d6c7d1c229ee227d4ddbdd9f15df9978c0",
@@ -2535,20 +2646,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000477c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHfJwuZYsASraEDXwzpefrX5O6On\nxbMvcnX9dbB8HJL1rjFXa5y8oEYzfm1up2wUXmfFYBDdl0ni2Qs+tX7xxMc3QSM6\nMqakNVuMTjokvPWYZifHSAeDFh2x0qUzK9df7w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0477c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef",
         "wx" : "77c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e",
         "wy" : "67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000477c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHfJwuZYsASraEDXwzpefrX5O6On\nxbMvcnX9dbB8HJL1rjFXa5y8oEYzfm1up2wUXmfFYBDdl0ni2Qs+tX7xxMc3QSM6\nMqakNVuMTjokvPWYZifHSAeDFh2x0qUzK9df7w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02300e3c83bb59abc57220170152251cf010b0081fecca2c957ca7ec1a33dae3ca1d7094b1c0f71b03e008bbe64659119f09",
@@ -2558,20 +2670,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000464d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a3777299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGTZoxfVtBrzD9/HOJRg81f6mXgw\nTQJrMSqlygShm9wMVkQM/RSgsGDDuPTujUpaN3cpmyKAq0yFftJTHo2wJ/jHI4Ao\nvX97pZvIBUfU8Q2m8uYTWAVTQG8EJ+y9e3WRbg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0464d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a3777299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e",
         "wx" : "64d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a37",
         "wy" : "77299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000464d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a3777299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGTZoxfVtBrzD9/HOJRg81f6mXgw\nTQJrMSqlygShm9wMVkQM/RSgsGDDuPTujUpaN3cpmyKAq0yFftJTHo2wJ/jHI4Ao\nvX97pZvIBUfU8Q2m8uYTWAVTQG8EJ+y9e3WRbg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230631b97da7f334dafd01e2a01f8618632372d9abcdf14ebaf7213da37b1449c4e8c8a1dfe03384f3ade8907ad94421398",
@@ -2581,20 +2694,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCZLpEf4DXIb8eeYd/J6I+5YVl6I\nxJ9rnNZEjAJLb/U667KwjOwi6y6zjjD9VHJ/AYAYh/n5Tc5iXtHVY1CkslLg3PwJ\nhJKPJa0ioTE1uvmWv6goCfvnnAl5Zw/dyfup5g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6",
         "wx" : "264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01",
         "wy" : "0801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCZLpEf4DXIb8eeYd/J6I+5YVl6I\nxJ9rnNZEjAJLb/U667KwjOwi6y6zjjD9VHJ/AYAYh/n5Tc5iXtHVY1CkslLg3PwJ\nhJKPJa0ioTE1uvmWv6goCfvnnAl5Zw/dyfup5g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230397e11325b2e2e3790dee4859fdcca85592bc46fd0d580abc5114602b68512f549d9854c9af0db658189dd583f7fc1cb",
@@ -2604,20 +2718,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABASRgECljcR3pyRVYSc98ti9l35f\n05xA0wEVNssrnP7oLiq19TnlkI3L8/8kxkXbTllpqdjfXNqv40kMqklGrPXr4+k6\nqyio1Kb2HiyOXALcYFx1gG3d3eviORVjEVnB9w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7",
         "wx" : "4918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e",
         "wy" : "5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABASRgECljcR3pyRVYSc98ti9l35f\n05xA0wEVNssrnP7oLiq19TnlkI3L8/8kxkXbTllpqdjfXNqv40kMqklGrPXr4+k6\nqyio1Kb2HiyOXALcYFx1gG3d3eviORVjEVnB9w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02300fe08a8a37290ebf519f9f0947580ed87b29ee22c29615a8180eb1cdbbc5899c0728ec9b32a96790248ab302eabd6ffe",
@@ -2627,20 +2742,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000422e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c408196089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCLkTr4KNR5Mkfe9/AwMPG4cZ52o\nSjJTnC27QeoxBhsIJePzTXsK1SUmHrnkV8QIGWCJ4zA0cxuo6flfWiNL+NNTnIOB\n9NlVENXg8UX9SCBeXGAhjD+EsYnI5P1WCLSXeA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0422e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c408196089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778",
         "wx" : "22e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c40819",
         "wy" : "6089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000422e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c408196089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCLkTr4KNR5Mkfe9/AwMPG4cZ52o\nSjJTnC27QeoxBhsIJePzTXsK1SUmHrnkV8QIGWCJ4zA0cxuo6flfWiNL+NNTnIOB\n9NlVENXg8UX9SCBeXGAhjD+EsYnI5P1WCLSXeA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02305f92937aa52d5dd10fcefb95a2d57b617d6d8b04e8db5b3b5a39abe893fda2aeb2f978108c558aabbad829ce02c27735",
@@ -2650,20 +2766,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000466ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a28accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGbtSXee1qexDIErx+57R6XRHF6l\nAncnPaFAvBsM9bghCmpzf36dku7m2EUTflxEoorMuPY3OFz2UZv64+065NCsqhmi\nYKAb2MtTrSTayrGVSyDRRyzzl16HzHM/Mpq2vQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0466ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a28accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd",
         "wx" : "66ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a2",
         "wy" : "08accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000466ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a28accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGbtSXee1qexDIErx+57R6XRHF6l\nAncnPaFAvBsM9bghCmpzf36dku7m2EUTflxEoorMuPY3OFz2UZv64+065NCsqhmi\nYKAb2MtTrSTayrGVSyDRRyzzl16HzHM/Mpq2vQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023059930a2b8bbd79b8051f252a1af76b4a5c6525adf9c6c7910a5ccf798eac0c8d4513923a792a965abe82bb564dac21cb",
@@ -2673,20 +2790,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200043024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDAkkSBBvJiak2+03N0XixXgOgqp\nSrr7RGW0qJ1EFreosCnUfBfmmiWWL/Ou/oYtyySe6SUrVxPnR6Laiqwrlh7itqyh\nV6RIiHSGSPvNxWYc1KFpu5LJwc5Qp5pjc1ACoQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1",
         "wx" : "3024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb",
         "wy" : "249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200043024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDAkkSBBvJiak2+03N0XixXgOgqp\nSrr7RGW0qJ1EFreosCnUfBfmmiWWL/Ou/oYtyySe6SUrVxPnR6Laiqwrlh7itqyh\nV6RIiHSGSPvNxWYc1KFpu5LJwc5Qp5pjc1ACoQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02301449901ce4b00f0e3a5ff84cff8c134854b808e504d1b8f027ace9591234e3f62ce70c35a8aa8e60cafe1e0df3ed80e7",
@@ -2696,20 +2814,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2000b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyTk7AOmmLOC4NnTNzKWbGNWzQk\nY0jjfB14iYpSLYE8SdCO/F8/fvM/PcndG8LlwgALlBDOBKZM0JWuEZS8H1FMcAmk\n4GhxtVcVTPSS58V3SUh+z80EyzFCareF/6leLw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2000b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f",
         "wx" : "6c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2",
         "wy" : "0b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2000b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyTk7AOmmLOC4NnTNzKWbGNWzQk\nY0jjfB14iYpSLYE8SdCO/F8/fvM/PcndG8LlwgALlBDOBKZM0JWuEZS8H1FMcAmk\n4GhxtVcVTPSS58V3SUh+z80EyzFCareF/6leLw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02310089ae6f8e215bcf35c7e2afed1a6b9855171687d9edbea8af5bf8e9ddc667aac4e166f05097385fa9ea3a6245fc07b4ad",
@@ -2719,20 +2838,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCxYJ3qqYcQA1wNhg69JyZqX/qWo\n1fhgjExqx6KCdX5NxLb5LYKhAnLyoZaWpI+nn1qK23cHQGadYBDlX2YlsUG+Rp/h\nd59K3+ZOqy5KmsW/HCWz3gt0uPlkT8IWAQ2WWQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "042c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659",
         "wx" : "2c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f",
         "wy" : "5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCxYJ3qqYcQA1wNhg69JyZqX/qWo\n1fhgjExqx6KCdX5NxLb5LYKhAnLyoZaWpI+nn1qK23cHQGadYBDlX2YlsUG+Rp/h\nd59K3+ZOqy5KmsW/HCWz3gt0uPlkT8IWAQ2WWQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303fc16256a0914ce2661a54688af4b2546b1b59b043667da6abb5b1a1e0e2e6ab862fe8bb749f7251572bc160567530a7",
@@ -2742,20 +2862,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABG5fgn4aoiXEuV21JlX2fWVL3Gmk\nv49JwZ0eZdzxLKURUFqhcmyi9c34qzdvlKDFvV2uxvNfHfvGj7oCTMjF95zpuqhq\n39jSulOnmM3MkCXrl5fTviB7xpSrszjkN3j/3Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd",
         "wx" : "6e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd",
         "wy" : "5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABG5fgn4aoiXEuV21JlX2fWVL3Gmk\nv49JwZ0eZdzxLKURUFqhcmyi9c34qzdvlKDFvV2uxvNfHfvGj7oCTMjF95zpuqhq\n39jSulOnmM3MkCXrl5fTviB7xpSrszjkN3j/3Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023064c1556c5eef311a4f3ba46316adf73732d6ed47b1ba2ecd178ff89bbc5ddd6c6419f62e045ea2d35c33a250dc2fb925",
@@ -2765,20 +2886,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b1700465cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH/oUqdhKmc981HwWv6vy7Fs5Mrf\nhWgbK19GzDHvM9a2lTeOcyXpyzGF1xN7KxcARly9TIEAdtE1MWiH6UsUtLAQjbHJ\nRHlMOYk41CF2wyV1tkKLPje2AiEcV0rK/vCRHg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b1700465cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e",
         "wx" : "7fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b170046",
         "wy" : "5cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b1700465cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH/oUqdhKmc981HwWv6vy7Fs5Mrf\nhWgbK19GzDHvM9a2lTeOcyXpyzGF1xN7KxcARly9TIEAdtE1MWiH6UsUtLAQjbHJ\nRHlMOYk41CF2wyV1tkKLPje2AiEcV0rK/vCRHg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303cc98c561aa5f50c8f19d947dc75ac8f507e6985762006e7100982caccb79530f8f935ac9d3d82967cdf129ecf5b0ce5",
@@ -2788,20 +2910,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABApJ3DWe1P72g+Ri3+aFRCzqd7cz\n/ZVjMhZ5TZph9+ECLZQqNueBpISitHmmQ0aa9FEuvQlmtov+z3pHAhvNnmqicD3M\nVWqaRD0WGVqhRXOPo2pN/z0JSB9KhlUKjR81RQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545",
         "wx" : "0a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4",
         "wy" : "512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABApJ3DWe1P72g+Ri3+aFRCzqd7cz\n/ZVjMhZ5TZph9+ECLZQqNueBpISitHmmQ0aa9FEuvQlmtov+z3pHAhvNnmqicD3M\nVWqaRD0WGVqhRXOPo2pN/z0JSB9KhlUKjR81RQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303f2095530f36144e009019eee102b2867d83c9eb4f28bcb31b383e00c8c3746b20cc90e8efc813aefb5b6a4965204c53",
@@ -2811,20 +2934,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCdnFQh0ldUsQWDRVEbrtNdYKRv1\nvJyoe1bD8ArcQfpFLWZoQVLT4Z0vw61dKJeHrTZzhdPD9cPCxsMWatz6/D0gRFPK\nuHl9VulV+/HPQhdjpmU+QO/ZA134EoE1VGtiYQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261",
         "wx" : "276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad",
         "wy" : "367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCdnFQh0ldUsQWDRVEbrtNdYKRv1\nvJyoe1bD8ArcQfpFLWZoQVLT4Z0vw61dKJeHrTZzhdPD9cPCxsMWatz6/D0gRFPK\nuHl9VulV+/HPQhdjpmU+QO/ZA134EoE1VGtiYQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230704afc6a72080d1728f6cc9fd023e9d2373023377f02599b6ea9fb2923dd7403fe2fd73999f65316b53f910bda4f6f10",
@@ -2834,20 +2958,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFlD29Zsefy4gpNuzN1thgxC4gcn\nos2ykWXIQmydGSmQtx2aPH8kDkasqydBt+6cekYeWrHbPrm1GzI4062jNWfSUdj9\nD7r1mqHPtA/nsi4Cd/Fmoy7bgatqhYD5sfs+OQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39",
         "wx" : "5943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a",
         "wy" : "461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFlD29Zsefy4gpNuzN1thgxC4gcn\nos2ykWXIQmydGSmQtx2aPH8kDkasqydBt+6cekYeWrHbPrm1GzI4062jNWfSUdj9\nD7r1mqHPtA/nsi4Cd/Fmoy7bgatqhYD5sfs+OQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023046f09c4741c1afe74e32f6ff14daaf90f4486c33f5d0e978f9af24f5751988e72b374c5faeffdec309330401965f7d20",
@@ -2857,20 +2982,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda64ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFKF1yklyHx1tq2ZVQZBgr8t68sl\nyI0GBvZnKGPeQT5Uloik/PvmaJuyPbordXvNpk72sBdmyVtm/xBJbV3uusS0v4w7\ntCMsAZ+Atp2KsCFM6vWBMCfs7BM6WluXGUiCLg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda64ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e",
         "wx" : "5285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda6",
         "wy" : "4ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda64ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFKF1yklyHx1tq2ZVQZBgr8t68sl\nyI0GBvZnKGPeQT5Uloik/PvmaJuyPbordXvNpk72sBdmyVtm/xBJbV3uusS0v4w7\ntCMsAZ+Atp2KsCFM6vWBMCfs7BM6WluXGUiCLg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023019930a2b8bbd79b8051f252a1af76b4a5c6525adf9c6c7910a5ccf798eac0c8d4513923a792a965abe82bb564dac21cd",
@@ -2880,20 +3006,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b84eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAeGr7A915Hb/DcatR/6KIt87dkN\najWjw6klZviV84yxhTYTfgEPHPui++1wVo13uE7shAzKi28/YSMEtgL/rY3LrheG\nssIhbpoeWaa2lii1KkCLagg9cn88zQ5wb5ru+A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b84eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8",
         "wx" : "786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b8",
         "wy" : "4eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b84eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAeGr7A915Hb/DcatR/6KIt87dkN\najWjw6klZviV84yxhTYTfgEPHPui++1wVo13uE7shAzKi28/YSMEtgL/rY3LrheG\nssIhbpoeWaa2lii1KkCLagg9cn88zQ5wb5ru+A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023033261457177af3700a3e4a5435eed694b8ca4b5bf38d8f2214b99ef31d58191a8a272474f2552cb57d0576ac9b58439a",
@@ -2903,20 +3030,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000446690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEZpDbQDkEIo5Pc2sTRHkVlmKOhW\nadTdATdLISdCgLQh5C9bo/Py+trSfURpvn2b236IO0PCchf2BuClumyd94HBRXds\nDlqJk/DtZcbe1lpDvd0P52EUhejo2efezfLYtQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0446690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5",
         "wx" : "46690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb",
         "wy" : "7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000446690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEZpDbQDkEIo5Pc2sTRHkVlmKOhW\nadTdATdLISdCgLQh5C9bo/Py+trSfURpvn2b236IO0PCchf2BuClumyd94HBRXds\nDlqJk/DtZcbe1lpDvd0P52EUhejo2efezfLYtQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02304cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046567",
@@ -2926,20 +3054,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d83b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIvmkorK1EyVcbXEAV+j/65eY55B\nMKGma0c+Xf3+k7aKjeiVg2ZtTWmeiIVGn5saTYOx1TEjEORFrlfIWrGj3427twal\nmPvAB++2AqFKWVL9fn3wRk1TPgYuohEoXC9cJw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d83b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27",
         "wx" : "08be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d",
         "wy" : "083b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d83b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIvmkorK1EyVcbXEAV+j/65eY55B\nMKGma0c+Xf3+k7aKjeiVg2ZtTWmeiIVGn5saTYOx1TEjEORFrlfIWrGj3427twal\nmPvAB++2AqFKWVL9fn3wRk1TPgYuohEoXC9cJw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0231008b33c708624a1e2eeba00fb5b5a8ed1a1622fc71ed897fb13d87ac253935e8365850d380015c115d12e14a2472860d09",
@@ -2949,20 +3078,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e856a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehWoPDtjX8o+Rak5yflW/CBjcyE7R\nEyvX2p+Y/5X7Kuwjj035GFsJgqZoLAbIXmqJXg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e856a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e",
         "wx" : "1886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e85",
         "wy" : "6a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e856a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehWoPDtjX8o+Rak5yflW/CBjcyE7R\nEyvX2p+Y/5X7Kuwjj035GFsJgqZoLAbIXmqJXg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "30650231008729cbb906f69d8d43f94cb8c4b9572c958272f5c6ff759ba9113f340b9f9aa598837aa37a4311717faf4cf66747a5b4023028a9b8c55eb6f5f1cf5c233aff640f48211cd2b9cf0593e8b9ffff67c7e69703f8a6c5382a36769d3cca57711ab63c65",
@@ -2974,20 +3104,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e8522aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehSKqD6nLRd2WpQ78//snOcY4ZyI4\n2ih+2XMY2oOEjCUAHYWuETUTl8sfGvlK0p1i9Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e8522aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5",
         "wx" : "1886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e85",
         "wy" : "22aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e8522aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehSKqD6nLRd2WpQ78//snOcY4ZyI4\n2ih+2XMY2oOEjCUAHYWuETUTl8sfGvlK0p1i9Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 271,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "30650231008729cbb906f69d8d43f94cb8c4b9572c958272f5c6ff759ba9113f340b9f9aa598837aa37a4311717faf4cf66747a5b4023028a9b8c55eb6f5f1cf5c233aff640f48211cd2b9cf0593e8b9ffff67c7e69703f8a6c5382a36769d3cca57711ab63c65",
@@ -2999,20 +3130,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIndc478sPeYEd9r7Ic0hRaUUK2h\njmAnIeYXaL4NgeXUE4HyRmgnbzK/4x/xwWvLax96TSgjvNc/I22Qtuph2JICYZDh\nQxe10RBSbp4mdfA9XvP86HtYJ6N+DPGbTTmIwA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0489dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0",
         "wx" : "089dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b",
         "wy" : "1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIndc478sPeYEd9r7Ic0hRaUUK2h\njmAnIeYXaL4NgeXUE4HyRmgnbzK/4x/xwWvLax96TSgjvNc/I22Qtuph2JICYZDh\nQxe10RBSbp4mdfA9XvP86HtYJ6N+DPGbTTmIwA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
+          "tcId" : 272,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102301c25061a20a4e2a19cac497fa9c7a6c6376fe36862aa77bd6c9e1615bc00d454c30bbe23157ff3d00be80a009500e114",
@@ -3022,21 +3154,22 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a5303085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlVkqZz6C3/PXdFAZTlMI1k9F8R\n91nzT3x7W3zGrXP5v/j2YzzCA3jP8uU/t6UwMIW1zUYhZlqshDXYzoWybURFCLd7\nKC6RzVMVxwHS5bZrpMAL9+HrCFmhPMNR0ABBoQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a5303085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1",
         "wx" : "795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a53030",
         "wy" : "085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a5303085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlVkqZz6C3/PXdFAZTlMI1k9F8R\n91nzT3x7W3zGrXP5v/j2YzzCA3jP8uU/t6UwMIW1zUYhZlqshDXYzoWybURFCLd7\nKC6RzVMVxwHS5bZrpMAL9+HrCFmhPMNR0ABBoQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
-          "comment" : "extreme value for k",
+          "tcId" : 273,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca02302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721",
           "result" : "valid",
@@ -3045,21 +3178,142 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab723732442f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCwRV3LdKYYSGXocWd+cJahqwW+k\n8nrfdLzGc7tKaku10LW2RHDV0m4DAJIqtyNzJEL27CCeJ84LEn0zR0UnJkPTZmv/\nVJJ0GXZN5SMi7haW5iDRXg7qYv7Q8g7+bJHh4w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0439d94ff8757dcdb67480cbc48e9679423e57de5a23232df0db1e0ff7e908614401e6cd8d615008ea8be51299d9e22de9438126d70d14e75ce41ea2f409be88e2806f7f73bd513731696bc59e7a2c1d44d5683d3bdc92baba1c2ada58809f8bef",
+        "wx" : "39d94ff8757dcdb67480cbc48e9679423e57de5a23232df0db1e0ff7e908614401e6cd8d615008ea8be51299d9e22de9",
+        "wy" : "438126d70d14e75ce41ea2f409be88e2806f7f73bd513731696bc59e7a2c1d44d5683d3bdc92baba1c2ada58809f8bef"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000439d94ff8757dcdb67480cbc48e9679423e57de5a23232df0db1e0ff7e908614401e6cd8d615008ea8be51299d9e22de9438126d70d14e75ce41ea2f409be88e2806f7f73bd513731696bc59e7a2c1d44d5683d3bdc92baba1c2ada58809f8bef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDnZT/h1fc22dIDLxI6WeUI+V95a\nIyMt8NseD/fpCGFEAebNjWFQCOqL5RKZ2eIt6UOBJtcNFOdc5B6i9Am+iOKAb39z\nvVE3MWlrxZ56LB1E1Wg9O9ySurocKtpYgJ+L7w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0420b1fc8e2480a973e097337343490b12ae40652e4180dd4ae56df521daa9e391777c0d466f018af55519038dead355017232882bca3ccd6b375591f5b5096538ca5778355307e603148fde31f5acffeb4c6863541ad233de3f281ea0d235b6f3",
+        "wx" : "20b1fc8e2480a973e097337343490b12ae40652e4180dd4ae56df521daa9e391777c0d466f018af55519038dead35501",
+        "wy" : "7232882bca3ccd6b375591f5b5096538ca5778355307e603148fde31f5acffeb4c6863541ad233de3f281ea0d235b6f3"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000420b1fc8e2480a973e097337343490b12ae40652e4180dd4ae56df521daa9e391777c0d466f018af55519038dead355017232882bca3ccd6b375591f5b5096538ca5778355307e603148fde31f5acffeb4c6863541ad233de3f281ea0d235b6f3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCCx/I4kgKlz4Jczc0NJCxKuQGUu\nQYDdSuVt9SHaqeORd3wNRm8BivVVGQON6tNVAXIyiCvKPM1rN1WR9bUJZTjKV3g1\nUwfmAxSP3jH1rP/rTGhjVBrSM94/KB6g0jW28w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca02301c25061a20a4e2a19cac497fa9c7a6c6376fe36862aa77bd6c9e1615bc00d454c30bbe23157ff3d00be80a009500e114",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044a391d79cfa82b943123d69ee2d1bc0e0b7e1e6f93c69123bfce0bd4f31a5e3434062dd0e1aa8b886ceba362c4d6720c7a2b0543a156f1934e02d31e81d5d2785a71d541cc7e1e6e6132ebee42111f52a844937260719056ae7b10f751606c41",
+        "wx" : "4a391d79cfa82b943123d69ee2d1bc0e0b7e1e6f93c69123bfce0bd4f31a5e3434062dd0e1aa8b886ceba362c4d6720c",
+        "wy" : "7a2b0543a156f1934e02d31e81d5d2785a71d541cc7e1e6e6132ebee42111f52a844937260719056ae7b10f751606c41"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044a391d79cfa82b943123d69ee2d1bc0e0b7e1e6f93c69123bfce0bd4f31a5e3434062dd0e1aa8b886ceba362c4d6720c7a2b0543a156f1934e02d31e81d5d2785a71d541cc7e1e6e6132ebee42111f52a844937260719056ae7b10f751606c41",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEo5HXnPqCuUMSPWnuLRvA4Lfh5v\nk8aRI7/OC9TzGl40NAYt0OGqi4hs66NixNZyDHorBUOhVvGTTgLTHoHV0nhacdVB\nzH4ebmEy6+5CER9SqESTcmBxkFauexD3UWBsQQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca02307094186882938a8672b125fea71e9b18ddbf8da18aa9def5b2785856f00351530c2ef88c55ffcf402fa0280254038451",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0436854adacf83ce5f0e4422406d7b6f7db63d73d4c892a01e975ef6ee6b71a9334c9d57ce6ffcdb1a2e4174ddba799e127d619672035db4fd73e5e4b4ea920b74f2e70fd24ebca49d22fdb11e96b7867fa1838ca5babcd9dd096ab85e2f97b5ae",
+        "wx" : "36854adacf83ce5f0e4422406d7b6f7db63d73d4c892a01e975ef6ee6b71a9334c9d57ce6ffcdb1a2e4174ddba799e12",
+        "wy" : "7d619672035db4fd73e5e4b4ea920b74f2e70fd24ebca49d22fdb11e96b7867fa1838ca5babcd9dd096ab85e2f97b5ae"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000436854adacf83ce5f0e4422406d7b6f7db63d73d4c892a01e975ef6ee6b71a9334c9d57ce6ffcdb1a2e4174ddba799e127d619672035db4fd73e5e4b4ea920b74f2e70fd24ebca49d22fdb11e96b7867fa1838ca5babcd9dd096ab85e2f97b5ae",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDaFStrPg85fDkQiQG17b322PXPU\nyJKgHpde9u5rcakzTJ1Xzm/82xouQXTdunmeEn1hlnIDXbT9c+XktOqSC3Ty5w/S\nTryknSL9sR6Wt4Z/oYOMpbq82d0JarheL5e1rg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca0230789eac6ff99e146b7ae25f90d7a0cabf36baf32d14916ee2aceea7cadc95d7221f56e5baee6d82a03307064ba32856e9",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04804e6c71e493b783ecd375a4edcf86c77b1c2df551bbc73bed8516e4d11ce51a1dd081e19aa6f51c656818b853962178580bd6b2c4eabcf5b3741e6b7d59b0e7f2bddb247f5f9d6751cf09e3c6c9d1f7c27c0bb8d21e77a80ebadaf90af8b0d0",
+        "wx" : "0804e6c71e493b783ecd375a4edcf86c77b1c2df551bbc73bed8516e4d11ce51a1dd081e19aa6f51c656818b853962178",
+        "wy" : "580bd6b2c4eabcf5b3741e6b7d59b0e7f2bddb247f5f9d6751cf09e3c6c9d1f7c27c0bb8d21e77a80ebadaf90af8b0d0"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004804e6c71e493b783ecd375a4edcf86c77b1c2df551bbc73bed8516e4d11ce51a1dd081e19aa6f51c656818b853962178580bd6b2c4eabcf5b3741e6b7d59b0e7f2bddb247f5f9d6751cf09e3c6c9d1f7c27c0bb8d21e77a80ebadaf90af8b0d0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIBObHHkk7eD7NN1pO3Phsd7HC31\nUbvHO+2FFuTRHOUaHdCB4Zqm9RxlaBi4U5YheFgL1rLE6rz1s3Qea31ZsOfyvdsk\nf1+dZ1HPCePGydH3wnwLuNIed6gOutr5Cviw0A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca023064dc78d112cd6ed67d4323b302650a606ed41415bd8cfc40ec7438a70ee3d8680420e5f602aed591a324760c58140642",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab723732442f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3",
         "wx" : "2c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab7237324",
         "wy" : "42f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab723732442f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCwRV3LdKYYSGXocWd+cJahqwW+k\n8nrfdLzGc7tKaku10LW2RHDV0m4DAJIqtyNzJEL27CCeJ84LEn0zR0UnJkPTZmv/\nVJJ0GXZN5SMi7haW5iDRXg7qYv7Q8g7+bJHh4w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 266,
-          "comment" : "extreme value for k",
+          "tcId" : 279,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e02302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721",
           "result" : "valid",
@@ -3068,20 +3322,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04295778c9a3be2b373450f57daf10de66d32441750ac4289f6751ff61405ce0237f64e28ac5281a81d13fba81a8454e584c9f3991d615512faf0dc9107193b1b6f5cd684356ca51504d15c1ca4ba00b21c7c68eb4683222a8211e4ffd56da0e06",
+        "wx" : "295778c9a3be2b373450f57daf10de66d32441750ac4289f6751ff61405ce0237f64e28ac5281a81d13fba81a8454e58",
+        "wy" : "4c9f3991d615512faf0dc9107193b1b6f5cd684356ca51504d15c1ca4ba00b21c7c68eb4683222a8211e4ffd56da0e06"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004295778c9a3be2b373450f57daf10de66d32441750ac4289f6751ff61405ce0237f64e28ac5281a81d13fba81a8454e584c9f3991d615512faf0dc9107193b1b6f5cd684356ca51504d15c1ca4ba00b21c7c68eb4683222a8211e4ffd56da0e06",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABClXeMmjvis3NFD1fa8Q3mbTJEF1\nCsQon2dR/2FAXOAjf2TiisUoGoHRP7qBqEVOWEyfOZHWFVEvrw3JEHGTsbb1zWhD\nVspRUE0VwcpLoAshx8aOtGgyIqghHk/9VtoOBg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0465a340bc68f3fcead4f04277ee8675f9c17bc8c88426c5ba0313b8ce7da58d92ca9a0ffa32c7eee195857d860ba1eebe4dcd5be3a6778008b36ea19d902d93dd488f6fb65dc0719521553b39cb3c524b12681d2e07a8ef720cdc15011c23ba9d",
+        "wx" : "65a340bc68f3fcead4f04277ee8675f9c17bc8c88426c5ba0313b8ce7da58d92ca9a0ffa32c7eee195857d860ba1eebe",
+        "wy" : "4dcd5be3a6778008b36ea19d902d93dd488f6fb65dc0719521553b39cb3c524b12681d2e07a8ef720cdc15011c23ba9d"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000465a340bc68f3fcead4f04277ee8675f9c17bc8c88426c5ba0313b8ce7da58d92ca9a0ffa32c7eee195857d860ba1eebe4dcd5be3a6778008b36ea19d902d93dd488f6fb65dc0719521553b39cb3c524b12681d2e07a8ef720cdc15011c23ba9d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGWjQLxo8/zq1PBCd+6GdfnBe8jI\nhCbFugMTuM59pY2SypoP+jLH7uGVhX2GC6Huvk3NW+Omd4AIs26hnZAtk91Ij2+2\nXcBxlSFVOznLPFJLEmgdLgeo73IM3BUBHCO6nQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e02301c25061a20a4e2a19cac497fa9c7a6c6376fe36862aa77bd6c9e1615bc00d454c30bbe23157ff3d00be80a009500e114",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0454a03902656bfaf4d6a54ff3429d9f9719bb61e6caf000e100992b31700e780e0f73f51614954acdddcaaa8b2311195b04ad3b19b01e150a39dc0cfaecc6498b18138ce612c492795687a488522644b3ddf7462c3c359bd091b7d39469571879",
+        "wx" : "54a03902656bfaf4d6a54ff3429d9f9719bb61e6caf000e100992b31700e780e0f73f51614954acdddcaaa8b2311195b",
+        "wy" : "4ad3b19b01e150a39dc0cfaecc6498b18138ce612c492795687a488522644b3ddf7462c3c359bd091b7d39469571879"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000454a03902656bfaf4d6a54ff3429d9f9719bb61e6caf000e100992b31700e780e0f73f51614954acdddcaaa8b2311195b04ad3b19b01e150a39dc0cfaecc6498b18138ce612c492795687a488522644b3ddf7462c3c359bd091b7d39469571879",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFSgOQJla/r01qVP80Kdn5cZu2Hm\nyvAA4QCZKzFwDngOD3P1FhSVSs3dyqqLIxEZWwStOxmwHhUKOdwM+uzGSYsYE4zm\nEsSSeVaHpIhSJkSz3fdGLDw1m9CRt9OUaVcYeQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e02307094186882938a8672b125fea71e9b18ddbf8da18aa9def5b2785856f00351530c2ef88c55ffcf402fa0280254038451",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0446d10d749a47a4d3f25b6f28951a11f01a54c2413957a477162dabe0d08d8ae9b6a9f44b68ef341fb820b0c24c7a1c0e671ff166cd35d2f3cc821d58fa18e35d25e6033b9e790fce4818f9e570921c0034b381cc9ad254eeaf1b386e511b7c89",
+        "wx" : "46d10d749a47a4d3f25b6f28951a11f01a54c2413957a477162dabe0d08d8ae9b6a9f44b68ef341fb820b0c24c7a1c0e",
+        "wy" : "671ff166cd35d2f3cc821d58fa18e35d25e6033b9e790fce4818f9e570921c0034b381cc9ad254eeaf1b386e511b7c89"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000446d10d749a47a4d3f25b6f28951a11f01a54c2413957a477162dabe0d08d8ae9b6a9f44b68ef341fb820b0c24c7a1c0e671ff166cd35d2f3cc821d58fa18e35d25e6033b9e790fce4818f9e570921c0034b381cc9ad254eeaf1b386e511b7c89",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEbRDXSaR6TT8ltvKJUaEfAaVMJB\nOVekdxYtq+DQjYrptqn0S2jvNB+4ILDCTHocDmcf8WbNNdLzzIIdWPoY410l5gM7\nnnkPzkgY+eVwkhwANLOBzJrSVO6vGzhuURt8iQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e0230789eac6ff99e146b7ae25f90d7a0cabf36baf32d14916ee2aceea7cadc95d7221f56e5baee6d82a03307064ba32856e9",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048ae92de10b244ac7f0deb6b102d075951d8c13b2960c2e98d7fb42b8abe90fd07a4a21b86eb4c77efe9adb6725676d1736063f3407c71627acaa83be9029c7a40e8aa896cb68a9c2fa2aaa1079035a283181cd3f2723b221d5a8747ad392a0f9",
+        "wx" : "08ae92de10b244ac7f0deb6b102d075951d8c13b2960c2e98d7fb42b8abe90fd07a4a21b86eb4c77efe9adb6725676d17",
+        "wy" : "36063f3407c71627acaa83be9029c7a40e8aa896cb68a9c2fa2aaa1079035a283181cd3f2723b221d5a8747ad392a0f9"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048ae92de10b244ac7f0deb6b102d075951d8c13b2960c2e98d7fb42b8abe90fd07a4a21b86eb4c77efe9adb6725676d1736063f3407c71627acaa83be9029c7a40e8aa896cb68a9c2fa2aaa1079035a283181cd3f2723b221d5a8747ad392a0f9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIrpLeELJErH8N62sQLQdZUdjBOy\nlgwumNf7Qrir6Q/QekohuG60x37+mttnJWdtFzYGPzQHxxYnrKqDvpApx6QOiqiW\ny2ipwvoqqhB5A1ooMYHNPycjsiHVqHR605Kg+Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 284,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e023064dc78d112cd6ed67d4323b302650a606ed41415bd8cfc40ec7438a70ee3d8680420e5f602aed591a324760c58140642",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315",
+        "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e",
+        "wy" : "08abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"
+      },
       "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB0cZPBoz0X/oqY6gbfBP2uIR6Pn\nfvFP49t/yv4MvRDo6CbgNDbWRqrvh7LiR9SvHoq+HXUg+cKkXLHrjpXP1VJitwsp\n/uxYZOGcBU/5kSkoDkZGIXeRgRFCggNBJjxTFQ==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e",
-        "wy" : "08abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"
-      },
       "tests" : [
         {
-          "tcId" : 267,
+          "tcId" : 285,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
@@ -3089,7 +3464,7 @@
           "flags" : []
         },
         {
-          "tcId" : 268,
+          "tcId" : 286,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "306402301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
@@ -3099,20 +3474,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e01fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e",
+        "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e",
+        "wy" : "1fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e"
+      },
       "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e01fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB0cZPBoz0X/oqY6gbfBP2uIR6Pn\nfvFP49t/yv4MvRDo6CbgNDbWRqrvh7LiR9SvHgH7AQ2CPqqDsquD77sWbIyyeGXf\n7mf+TzEV1MmGJef7no1hCBiLmWBExPzSCsuZPg==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e",
-        "wy" : "1fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e"
-      },
       "tests" : [
         {
-          "tcId" : 269,
+          "tcId" : 287,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
@@ -3120,7 +3496,7 @@
           "flags" : []
         },
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "306402301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
@@ -3130,20 +3506,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da501be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyaq6NDyy+vCYMZzE0V6iGHhvVc\njPCotmgJEXCmQi9sJJiUWoFkpLbyfN0R6ADaUBvpYbN7CYBGEM4N9A3YI2x1oS0M\ngBSxY0ZKSuunyxjSDTIiCD7EqUGFLySqPV2E4w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da501be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3",
         "wx" : "6c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da50",
         "wy" : "1be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da501be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyaq6NDyy+vCYMZzE0V6iGHhvVc\njPCotmgJEXCmQi9sJJiUWoFkpLbyfN0R6ADaUBvpYbN7CYBGEM4N9A3YI2x1oS0M\ngBSxY0ZKSuunyxjSDTIiCD7EqUGFLySqPV2E4w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3064023065fd456814371d60883ffda5f74f36dc2d45886121770e29ed3163754716d12c1cab03a2cb6a6e3376fc96d8727bd1bf02301aa65e57932d05788413219b7ab23e5337f63fb2dcb0f89b4227d284a3fcbdf3c54c021a6c0ca42445bf802213121654",
@@ -3151,7 +3528,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306402306b10a2ecec944cd8263ea904457db3d2031f8f5cc369c42056d38edea3e673f6ffb2dc80ad9926021aa36b8eccb9b1ef0230361bffe307741afb3c946b37fbfbca5619a65ce55229dea766469f73c33a87d40310e2c1ad7dd0dd86e833c409fd411c",
@@ -3159,7 +3536,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306402306677fdfbb7896df62cd1fb7be92c32580cf82d88333500c3fb5fa8279d45a73dcddd9cb019223c18a6851d29a2323c46023075449ffd41b66e4d8d5bf880cf8f5f7618c770f9bdfd7456b16655cdc1a73e029ae49b2083ed0db0eedc3a37e6bf67e2",
@@ -3167,7 +3544,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30640230142f9af23572fcf1df6cdfc27ebe88ba1e5dae3ffe4b7a96cdfd9fde2c34681b5fa7cbc2edfe0fd85237233f16815e4c023027bee9228de0e93c682cf3380ea7524286e2b723aed58f6c1b45d070409fab5e5f0db44b7c703c5c2dd98e9f54c86b80",
@@ -3175,7 +3552,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30640230134d654b9b2ce89745ee6f91f14f384c1b0918cdc31f956896888c0049c0a037ce6843abfe0fa208e9bc85d00ea4977902302803b3db39b01486c3824207455d6c37a9550ff01085e3547f7971f87f20ce0b899e16d819f4659d12c2ad870e0658f0",
@@ -3183,7 +3560,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306402306999f75ce19e7ed2aae51a00995bf0892012121d32768b1e5d64bb95a968352c280323595e45e8e248cd9097be3c763a02305f64ca3810fd8f15e7ceade306e2949020f817565072f63608915c73612a6ea91f31479e480a08dedbcdaa347bb5420c",
@@ -3191,7 +3568,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306402303a537419444d9a6fd27de5a6ce218b57c97ea097ec0baae3f69567e52f1c9dd634a67436f9c116a33e2ff2f15d13ed1c0230586942565989959ad9282df028df29c52d4cd74b988af377cc6f3d22145c18f9b23f5384bf46dbf9c3a3d6e7c38927b3",
@@ -3199,7 +3576,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306402306b2f570c916727c7c4a19b9058a6a1417730c9650de44b4941f412735aa480ad124804e7384ac0ddb6d5f24920381c9502305b96b393ed21f734843de2ef00842b16e739346041542b4e1ff83e9d4281c09a309467066ee506825e9510debe935a7d",
@@ -3207,7 +3584,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3064023062062dd583a9c26a9ec3fc3eb6c8d1d6d39053ba45c2b51988f41907716f4853925b6d5f2e52704116e27413256063c20230159d46ce8505cc8f950edc20a4e982956f7550afe85874f4a5558b9b5cc55729b438a9722c5e445140069a3e8da2ca2f",
@@ -3215,7 +3592,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3064023034f93a9190c052195a2c155b8201dd57c9310c24b36636717a6b208025272d1f2e378d54f48f2251f0adf5eeca2f3260023005be1ffb51284bd25136a810dfecc29bb09ed7a2af1ad55013e801a7cafdbb2736392514a2aecc7101cafe3dd6f26aa8",
@@ -3223,7 +3600,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3064023001057e36ad00f79e7c1cfcf4dea301e4e2350644d5eff4d4c7f23cdd2f4f236093ff27e33eb44fd804b2f0daf5c327a402302a9b2b910dd23b994cac12f322828461094c8790481b392569c6674ac2eca74dd74957d94456548546b65bd50558f4a6",
@@ -3231,7 +3608,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3066023100893a4812d5d0935a5719c9d8e58d2f8f6849776f49000dc0f546e77551970e0bd6e0bb24f3e4d4d207eb09ecd9cf24b202310086dbdee702223b288d02234a0508d4e101e2ce63cb22ea02e07e412aadb4a750c5de5c2d714cd9b1a4e382f2f7283114",
@@ -3239,7 +3616,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30640230634216e2b77ec215250d8f2eb7e47fa0b1135b7d220467bbf24d5e255740f96c6d3f922f6e56303470539d4424482b220230768d0c953bdb3d625671c3dac9ffbdbd3e9c904f1739a51b59072d4025090cf0529db0955ab84f7bcc68a425e7bd6c3c",
@@ -3247,7 +3624,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30640230356d295e11595c6a0a1eba908604cbd6eb37120cb220ec3ea2ef09ba51fb34b4d066d683f026a8f9d530e93138db17a0023060a7cea9efb0f28bfb4db30e18a2d89bbfbb85951bca9cee686e4343468c9fff1b2ab6967c2ad7cda4e2fae19a221678",
@@ -3255,7 +3632,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "306402303c02d52bc40942f2fb54b6c46048ee4dad65a1c0f6deec97274b262e7dd487fc8f5abae51d38331ad2576e8b2c7ce5c6023077042b275ab053f9f10db09093a213ecbc58e8f0ff4468506bcd2ecb440e6d18f4bba77c2ff4d779d0c2336df4f57871",
@@ -3263,7 +3640,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "306402304a1b8bf071137f8ea85b9d1b1b0f855ed00b5a36ef7a69584b0b55eb56f87640ac6f2842d42a0fa5097fd8b505ffaabd02307332ff8847516c084a95587a15567ed3dd2a98bf7be6bc58c13883e4be5539370cb39902496203325ec8d3d00891152c",
@@ -3271,7 +3648,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3064023034997ec3e14defbb93a1a8a2e1fc3a9aaf7c5f975f995cc412ec45ae0ac34c04ae42701eb6184474a3277b788e4736be023067fb4df932cc6ba99059447e1d9972f099c6419050bffcbf0ff509020a090ac6f1fb6648553e7799a544e26c2c68797c",
@@ -3279,7 +3656,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "306502310085ef249d1f41b06f57e3d305c47114f05e3903b559dc7830135881813ec7c980deb8ede7cac772b45ae3fc99fcecfc540230326fe752d71f1b402a93ad5e8b778a210f485ca18442ce823458c69ea9f9bdbb5c2cedaced755dd8481028507a188353",
@@ -3287,7 +3664,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30640230392eb29e2a7a5f1c50a72e84251b511ddc85499d6cfe5164ab015d98692f775140b11501799dc9fa5c77bb85eaf952b802304360bf01480dcdb144a4b29a328213dd0d7d153ca4929494d3627772b092b29f6761c085336c1ed765bbd3c88cc8fbf0",
@@ -3295,7 +3672,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30640230224b2c4ba08c96a101acc6cfee93f07ebbb942c0950a6153eec872057d1efc007d8ed3dbe77facf83b25d68be3d755540230514fffb95599fe003dd5fe03efc83f62b64bf51b663733b9c7cea6510bb55d149cf39dfd4fe403514e6150831b382a52",
@@ -3303,7 +3680,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402306dd9d4e98c9c388240e95c49b2100afbe0d722f8a152651c61d7ef9bf46150e3cdf9bf6330e75e4bf2c294cd66e48d0602301282d33b5b79d4eaafa03a77bb8ba2c318291f6ea09d548b7704bb00910856dd360557e609add891c6435d7a80afddfb",
@@ -3311,7 +3688,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402306e888a5eaa24d1a03318d4f6c0686e4dd584f78e7f6c00a52b5ff82e985b3efd641391ac9522685e89f9309ebe06679d023037c47e7fc27a56f86e033e9214691890d0edbf23bc267b2090f21ab6a18ade496dfe207ccd21efbaa797badaada30915",
@@ -3319,7 +3696,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402304518110ae52f101a2bf80b1969dbf50cc70189790e3805769f58239289cc60051f3337dec7803ec684208d0e56ee4140023019ea6f00caccfba71d9e56dcd47e9db355130722ebf5eeda228a15335192a3bb471f60a88c9bf8a7bfa1025c284fb829",
@@ -3327,7 +3704,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30650231008b10c183171be911454f63cd69b58bf321dd551547366c2d8242c9f32a2f8541ec58c7abeec2c6be23f9d88b65c64fab0230786e14ecf5d0ab4f512ef410f2e37fb851365c3d0ccd4d8801f15c5599a2baef4914005e8d90f51594535bd7e43492a8",
@@ -3335,7 +3712,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402304b5de69fe9bba28ba3df12c7e51c7566cb920a2ae8b90c16d66249362b40eea5b8b41512a18d389b9fd0f44f7d31c22702302342dc94e814b5309fae83fd80ebdbe5bacadf7a29c454617b077f9231772b55523dc929bf0780d68197676b76ea0f59",
@@ -3343,7 +3720,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402300edcc4377b3417c37eb632292ac15edd3c59eedede9a3dcf6363f6fda6055911f10ccb1e9763cd5e70dffcd513c0fcf8023057cab352d6f339875908a14d0887d7570338216d27a1865e56a0de299cd4d6d39a521a221256ef707a5c397e6e42a48d",
@@ -3351,7 +3728,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30640230119a372655a8279c47953be8f74dd9c5ad89caa504a459fbcef5902b60c10b1aad4b11fa4295b9f21ee83c4eaec2e6e202300ccdb93a4c38a487ae5af34c37486521fe53cc6c7e23ff3483a84d6d114eb0b5c35552d0301e210062b5c393e9850372",
@@ -3359,7 +3736,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402305f80518f9c01d1efe2bd34cd07ae6f7089de75a9a61c40a434f89388d2c1f0c67801ce79045dce91445ad7956d94e49802301ba6507b33b1eeca4102eaad451bafacb59ef9942417ec9f846e29c2ffe56640093311568a4b41c716225ed6448623a0",
@@ -3367,7 +3744,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402303725b7cc3ce988a8ea7ca0351847f11f4c2edfd44d89fb98835ad10f17e1acd0ef576eea8fe59f23afa80b1fafd9168502303e5455c5d4e8477b1bfa6b36bd7393710233647eb79bd34fe13bbdb35a5f9dd514d9fe352ccf0c64f0fbb2794222e73d",
@@ -3375,7 +3752,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30640230643bab5e2241fd1e4e06de1be76d40b918fec864fe3bc6edb3eecf0bb0bc2f847e6aa4bbf99590dff29d5b6fb13ea238023046e663094086a36c1bed51ffc0f1ca8bfe1258ae769fd04dd286afd3298f60280e597286a6c241a8051420550d4e4f13",
@@ -3383,7 +3760,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023046cb43798bc06dbe788a4f4b2b98130e3aae917f1d2a005656bd70a3288caf7c37d1dee0c9108828a69d2a1eeae113c60231008180d0c5ba1bed4f2b0d4d8ed7ea17916b63400397e7b6d70e7312c5ff0f4524a49abf7071c8ba470de64fb668570380",
@@ -3391,7 +3768,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3064023049122026df0ec7eec191f6d930a5fdeb09fbd22ec4e96e1e67a8b5e8a5faa972ef14b08c16743d06ecdedcdea8b46ec2023052616b834784cca56a4fbd59bd6f343275b44222ab503dfee3d1eb39e024d3578a919d28698304ee1868f95f8b7b0c65",
@@ -3399,7 +3776,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30650231008757ac9f296b91bf6930eb4d444914e1a01809a5d38d2af4a2308f962e72da259a674efd5e1a6ec614e9bf030e62565b02307710a488830703e22f0234216fe16fe75337516ea9af73508f0ed5cfd2546873a8498889a13e9cc0fa3dd7dbf6ff2866",
@@ -3407,7 +3784,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306402301fbd8fcb4c2e11311d304c8cf0522ccc86229d7d67936d5993bc6e703fc201d0d1f0ddaa49b7e9e2cdc1f8560ef7abec02301ddc6ec82f2fd78f2997bb3d67ee4a835d1a372baa230b67c82875776037f2fabbd48c2701055b29107e83b86a9a868e",
@@ -3415,7 +3792,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306402306dd8d7981aac02fc6aac91d16dec9f407840937c48fb5f24e81f5b5e6016177353368f82f98b5850d71d0878b1168a1e0230495c051860bef7f80bf0b5373da6d5c71d9778707856dc1be4fba925caaae64dae653c8f79357d715878c8d52c7ea04a",
@@ -3423,7 +3800,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306402307e9aedf99ce15c53f5564cd06a693e3e1c533252e10e09f3d85aa309ef9282600fcc610b8408386b02c42c124f262c2502301f2e847ec8fecf7ef89ca50dbabc856fccfe9a7daf4a1843b4301af93a5e9f684530ec7f8c5a141675500333e702ba07",
@@ -3431,7 +3808,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3064023044de407a46dc138a82fae4771d981f4695e2fe10c0a75cd1e7b3721aef04de3dd65611a3e463d57cfda2e8f346d86b5702306ef664710e819dc98061320489bbef8c4fb418a580489c96320a3bfa94176f65f5523d3849d665dd308390b74e7639db",
@@ -3439,7 +3816,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3064023062a229eec8b4f04cbf19f8448dcc6bd282f0f8bcd6399a40116bbb16907d9f95a8cf8a202a2d1ffaa10f2d44a7bb388d0230552781ff7067c1acc13ce32fbf12b0e6e559a915eaf9bc345bb2208950f66ad83974801d6c378db2f5ecaccdb0231243",
@@ -3447,7 +3824,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30650230150c92f25a556c127ab84faea67af4fed4e941fa6d8fd041786938e494cc07265dc7e3e9a893f2a23aa28783673dfbb70231008a00058a7d653c27fcfa849a3b7c5b61c690686a01eca9d0b96b0abafb4fee25ca9f61f3bd4052ad6159c094120b06df",
@@ -3455,7 +3832,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30640230498edee7178373e85abf518916ffce05615d539bfc675e1f015f1e59375e07ada36bbd237b28fa3711e208379edd923202305318b5bad6f1f2188ebfdb68cf467b6873f7ab231b483b6d056e93aa31249baf52e88ec0ca084f7aaaec31f6853bd968",
@@ -3465,20 +3842,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a850e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEYhF9LjOn2xuVyKajx5gvg9qWgX\n50lxjK7ntqqcnaTo8v95UWdO7StWmrhG9ZACqFDmYGqXJqkgnJ6UX79su8mkh8Sk\n2BxSrDaEwmwzkrm9JPcYSCG+BvZEiySo/////w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a850e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff",
         "wx" : "462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a8",
         "wy" : "50e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a850e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEYhF9LjOn2xuVyKajx5gvg9qWgX\n50lxjK7ntqqcnaTo8v95UWdO7StWmrhG9ZACqFDmYGqXJqkgnJ6UX79su8mkh8Sk\n2BxSrDaEwmwzkrm9JPcYSCG+BvZEiySo/////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3064023043a3ac2f3d2b4d3723a97930b023ee73010a7cf8d2a99372f3132bd7d9c83574de3ab86525efc4ee2c59799d5ff7efb4023034f59a3ea9f5267f8458afdaa3873e2336e0ab8a40ca1b797cbd977d192f2024f9eb8d39b37b9a238f208d66bacd27bf",
@@ -3486,7 +3864,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "306402303531ada25b8d9af9b87e5224cd6a6d956c17dc323ef8980f497a6e7e44c83d69b74de791d62bceacaff7378863dd725b0230459d15539399409380af99d560c561217daa5c539729453067dd1aa4bd9df2b534920f0d6213261ecea16f0ed68536b1",
@@ -3494,7 +3872,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30640230438a0cff9fcfcf587f8c40775ad44ea4b0ed69f2d547befe295d1fb9c24ddcb97f228027df552a06bf657b4c2027261502305e157630bb744fc8e7f75901de498e5af0b5511dfeee0c4c1f2e5c4aa0129de57b87a2a13ea59d187d51cbeb6ef22407",
@@ -3504,20 +3882,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e6553a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIy5HoHuWQG3Glmk98gXSuBf47oA\n9pncvDySMyZcZAWHs8FlWTwtdrX/xLjcvLDmVToOXRTy0Ojv4r2KomDYrOBr+WTF\nG6uCBwcKLTBBC7a4eu7Lf/+ALy1Oo8r24OfnJg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e6553a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726",
         "wx" : "08cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e655",
         "wy" : "3a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e6553a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIy5HoHuWQG3Glmk98gXSuBf47oA\n9pncvDySMyZcZAWHs8FlWTwtdrX/xLjcvLDmVToOXRTy0Ojv4r2KomDYrOBr+WTF\nG6uCBwcKLTBBC7a4eu7Lf/+ALy1Oo8r24OfnJg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3064023016496c08c3076773fcd841a5e25e1a87108e0ba90f9727f539034bd2cf688e01a955686a15112e0590fc91e3995ff5f8023031b1b7338f74adba33712a83a7c685e7cd5f3be84ef951ecad50facb7c6ec393a3bac52ea7b1212bd92f4f45a9f8514c",
@@ -3525,7 +3904,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "306602310087f3090292e79b722cde5aedafa4244f6eb460a280e2e050399b9d802391ad502108704a3c0bb9f9ae571c3f7dec6c0b02310089ae0043de38a585a1632c7211b78303afa3f8936154a6e65a6f729c3b1ec66a1775aa465af8eed6dfeaa5ba98cedb41",
@@ -3533,7 +3912,7 @@
           "flags" : []
         },
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30640230720822abefa91265a7b8d446ec3bc405fd192178aa1b85dd663396a896a32c119e64b1a20843f81edd43c03709b8dbc60230206ae95bb18d2d3844a39340872edba1611e3ea0e84cea7cb6cff282af414d8b5aa0be8aabc1b51b7121d426916b01b5",
@@ -3543,20 +3922,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000469ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGnr8zLh6yRVMkp1cqF5d6TilVEI\n7ovYG9bR9VXWCGh/W7s5hY6+4wSYW6p9Ccgwu2crnJZoTfwAfwFeOc2tqf4W21Ai\nv9FzNIyq/FKGhGIfl/uiTyww49xyh3LoAAAAAA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0469ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000",
         "wx" : "69ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb",
         "wy" : "672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000469ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGnr8zLh6yRVMkp1cqF5d6TilVEI\n7ovYG9bR9VXWCGh/W7s5hY6+4wSYW6p9Ccgwu2crnJZoTfwAfwFeOc2tqf4W21Ai\nv9FzNIyq/FKGhGIfl/uiTyww49xyh3LoAAAAAA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402301e5027fcc630aa08750a4725919dd9072422a21aca9d3326bec3e6ac040ba9784951b1fda6f588e60dcb550b75793a4e02300df3224641f6804f4d1bf951051e087ce1fa7365c43bd27878626833f09190cc0a7fa29b16bc2ca0d34fd0660d24718f",
@@ -3564,7 +3944,7 @@
           "flags" : []
         },
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402304e61e34740a9f6db0854faf205719a3d98ef644b86241b858fa22959c04395578bef7be35036ae7a9ffeb9a2173311f402301e967c3b6071d37560fd64a4fe0921b1d600f60d883fdec816836176c5e67ad05182aa080c7e2184c0710050d523f0e2",
@@ -3572,7 +3952,7 @@
           "flags" : []
         },
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402302c3090c581e575da58a8f659f74c5eee566400eb1d91de0a950e787542e6572f73b9f6d4f81f1c8e42f9e460dac3c1dc0230756b1b693e7fe06686708c2a609854accd21e3195d84b72c11c873908d175dfc00c00ebbdf8e2bb6970f2f19785303cc",
@@ -3582,20 +3962,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE+1aIZmZz8QQodCi1uua9gqXGm1\nI3YqpzmyRZSpqBKXMY32E/a3N5r0eXmuf////34tMltB/oMaI8tpTLgKMBGcGWFD\nU27jNEFrpDekGQVMGAqUUVRZa4PX98OmtgWWRQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645",
         "wx" : "4fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff",
         "wy" : "7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE+1aIZmZz8QQodCi1uua9gqXGm1\nI3YqpzmyRZSpqBKXMY32E/a3N5r0eXmuf////34tMltB/oMaI8tpTLgKMBGcGWFD\nU27jNEFrpDekGQVMGAqUUVRZa4PX98OmtgWWRQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30640230092f0ee1feeb79c054ae36235f8717e9ee72b466b1704d4fa78addfcd13518a64db2b2fdb06439acbc4c045fb2c23c3a02302371ca6d36f4266162ee5c657c71cea35dcec3632c5b220a6f23ace1ba6562a841aeeeefe87a7998adfaf185b8558e4a",
@@ -3603,7 +3984,7 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "306402306c8f4be641afaf5bf91ce08974d284ece6aec74792247229fa86c6597eed3fb507b712bb77af0226e1bbb3bad632b0d80230775954fe8bf936157b7ab7a683f6dc1838a8718200621bc8bf2f32b778f6c8e8c656532b50de39ac22d22b37dccfd1f9",
@@ -3611,7 +3992,7 @@
           "flags" : []
         },
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3064023076e5c07582177400df453114fed746f40704197897b4ca21b72e5b44d4ca40cfcaa55e4446355c91ea9767f38c8172df02300c6dd73eefbb4c06e823224d8efaa3ee934e4a97eed2833513b4d735ed06eb550b2a5fa7f86613d627d9db466afa6646",
@@ -3621,20 +4002,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000434770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae263688622421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDR3DHOn5CznpX0d5uVPNfF1IEf2\nUTWEx7FLyhfXq8SZ+KsDfHD9LhOouXsq4mNohiJCFhW6Nj8f/pqPL+D24kb9oRRi\no+wADGheCakNvNwq9kZ/nuabXnvq2bhGH0pL4A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0434770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae263688622421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0",
         "wx" : "34770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae2636886",
         "wy" : "22421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000434770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae263688622421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDR3DHOn5CznpX0d5uVPNfF1IEf2\nUTWEx7FLyhfXq8SZ+KsDfHD9LhOouXsq4mNohiJCFhW6Nj8f/pqPL+D24kb9oRRi\no+wADGheCakNvNwq9kZ/nuabXnvq2bhGH0pL4A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "x-coordinate of the public key is large on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402300e44fdc33aed0c320e371e2a78e9f18fde83434e681afb05a5bdb0f43cac70e83ede56bf8c56acf70e054e2ffef549cf02301324b4cfe684d401eac15b0940f5835436d3a1028e27c1966dbf69fefef82748a05b4443c77c870789135755d0d184cf",
@@ -3644,7 +4026,7 @@
           ]
         },
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "x-coordinate of the public key is large on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402305966acd8a7714f2015e36fd4fdb3452258ce0aaefb3972091b496bd530bbaf1ec67d7e37e50031b3eea44a8bb8f62c2002302a5f309d2fad55b93a7a3012cbda2845efaa4ea0d187d3824f4a6a9227730d3ab15246d8d0952c7ee8c0b9eb83d1c2a2",
@@ -3654,7 +4036,7 @@
           ]
         },
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "x-coordinate of the public key is large on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "30640230266eace657e1ec88a2adbb38a5afb4f750274ca614d1fde9ea39dff6f2a2aa69923e9a7489f06bf9d84c518cee57e55b02303d19027684ef221216f63a591d8e793524e4c1234a56ce415bb9ad9e2ebf25ac94a99261b9157d19daa5aa876291f308",
@@ -3666,20 +4048,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000486f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e01ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIbw/Im3hh7DvVghYa7PyVeJrkAk\nWet/MBW33STiD8mwBcY1/CkKDiqf81hjt7guPgHrukiekj2tiBRgd5FOOuXFdeG+\nzs7HEJYqGP/ZEAV3bE2eS9lSx5NYenApHOR4tA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0486f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e01ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4",
         "wx" : "086f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e",
         "wy" : "1ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000486f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e01ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIbw/Im3hh7DvVghYa7PyVeJrkAk\nWet/MBW33STiD8mwBcY1/CkKDiqf81hjt7guPgHrukiekj2tiBRgd5FOOuXFdeG+\nzs7HEJYqGP/ZEAV3bE2eS9lSx5NYenApHOR4tA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "x-coordinate of the public key is small on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3064023013de6eb532321c023092aa78c199f9ee4dce7a18df158c3e799461af9d96c2d38765a78fdb14404d199365de05bd44c502302514a0359bcb66122bf48c186a4bb2edccf305b06414b11f470d2512cadda129366f6072de715bc2babb8a3a5f260d9b",
@@ -3689,7 +4072,7 @@
           ]
         },
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "x-coordinate of the public key is small on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402301308d3d9edfe3ad07e215a975b2b067e9f0b803371b3029f4388a3471f4db23f358aea5c03db62d77115c56c4962633b02304b8b1fe44b32cc669114a1ce0ba0555446d0c96a32cb602185e8fba414d3a831cbf5b519b0f90647dc45e30a1f23ef90",
@@ -3699,7 +4082,7 @@
           ]
         },
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "x-coordinate of the public key is small on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402305da3df094155b8f8812d0c6345344e41c3b591b65b95fedbbcbd3c3a3bb1c1dbfc4d4c5b841b8f8874d59b07cf2288fc02304a1e4a8399abbdf246929b2559bb0fa404772755fc74523626aeef432fe4764df1e1f5c9b0f897ed8f1ffd7a88167f0e",
@@ -3711,20 +4094,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e8072c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAgvfc61hcW6SJSw+vZgTaiIoxGt\nn0FzGh05NxaKELB5Wh+uSWy5qQc54cCm5THoByw7hWjqocb1QaZlznpm946i1Ykx\nA+YCit1iNWSS2LWsariQHVliHDNBbDOYG9WU7A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e8072c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec",
         "wx" : "082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e807",
         "wy" : "2c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e8072c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAgvfc61hcW6SJSw+vZgTaiIoxGt\nn0FzGh05NxaKELB5Wh+uSWy5qQc54cCm5THoByw7hWjqocb1QaZlznpm946i1Ykx\nA+YCit1iNWSS2LWsariQHVliHDNBbDOYG9WU7A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402300bf6fec0a5be27cddb0e7669ae06d15dfa75837f8ee72b47443ac845ffcd427b0893e10c85c20c7aa576fb70e87761ab02307418b6f374936adca8b07dc51545ee34ed2e9f56f3267033e30ea09a0acd31b6ce83503ee7e098627f8ba8b4c584341e",
@@ -3734,7 +4118,7 @@
           ]
         },
         {
-          "tcId" : 330,
+          "tcId" : 348,
           "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3064023003e306a86f6b2cb248fcb68d1d317a6042b7089e96d74c2f5b934e2e122831268a45e2185b7c21270e8b906cd372e6d702304c82ab6de6bc0194ac1a2e3480a0c80466af7d2a329d20b03151d1806a0bc0720f55d3781a7db9febe7d8bbd0a719bfa",
@@ -3744,7 +4128,7 @@
           ]
         },
         {
-          "tcId" : 331,
+          "tcId" : 349,
           "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3064023014d1df9b3db55ecc8d1e126625bdf5b6316bba1e7f4ea5ec77418c754a597563dc5dc291b7dd047782d518fe74e0be83023033ef701c440f280edf81a9632dde9dc17de5f438dcc19e9ca5919b4b73e62905e5f7e0bc9db0b14bc53327f79f70c6da",
@@ -3756,20 +4140,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e7498475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGr+TqdwVJK9owi3idcNpJRX3egl\n1SWJYKejZuRmWvnTJjksJnIWXqS73DM3TYjnSYR15pN6EKb2pQ8j3pEmugTlZQoc\n0GqAZspCMzn8LOU9kUgnRKTN8vk3928SquP2MA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e7498475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630",
         "wx" : "6afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e749",
         "wy" : "08475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e7498475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGr+TqdwVJK9owi3idcNpJRX3egl\n1SWJYKejZuRmWvnTJjksJnIWXqS73DM3TYjnSYR15pN6EKb2pQ8j3pEmugTlZQoc\n0GqAZspCMzn8LOU9kUgnRKTN8vk3928SquP2MA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 332,
+          "tcId" : 350,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402306a3a18400686635ae279c385b640d4fa080d9c44a5d421fe4be5a5ec7a8ae31b00bfa406e919e57e39c11360e670d8690230729c0b9ff77f88f810548d6db1835312a448114a3bd93cf59422faa2ea026f5d47627f0c11fb859112246d879c859568",
@@ -3779,7 +4164,7 @@
           ]
         },
         {
-          "tcId" : 333,
+          "tcId" : 351,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306502301ab8d6c31d4577f59ca5714c9eada979fdb9ec0cad32d8cb915dbd70492947187f5a52718e19982f7a2d4cb48b227723023100872e3ce7d1fd5ae180faf1990b11937558aa44ccdab631492b8925be84fbcb452148edad5bbfe48c06b8c9908ca252fd",
@@ -3789,7 +4174,7 @@
           ]
         },
         {
-          "tcId" : 334,
+          "tcId" : 352,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3066023100803ffc58f8150a9c4c229a7b522357f49f9a5f48f82d8bb982954395836e09eb5f8cf1f345ce284674bc369d046d5c8a0231008a9feb64c410cf3ae6261ad35f7e3e8da13129daf94944f8e08e9649cd006622c3d5c91ec5b9798a1be3a31533a0a851",
@@ -3801,20 +4186,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd47a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEvGUmLCLTIuqJFGzLXGDEKHtlo1\nIodDpbnc0VSTvYZCR4mHxCFjfdBxUHnskPuM1HpFVX72U9B3Pb4mMPjgAGKe2Ck+\nGqSpbzsVmiRao1rZKhAZx+CamrdbpDwHhpKCNw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd47a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237",
         "wx" : "4bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd4",
         "wy" : "7a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd47a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEvGUmLCLTIuqJFGzLXGDEKHtlo1\nIodDpbnc0VSTvYZCR4mHxCFjfdBxUHnskPuM1HpFVX72U9B3Pb4mMPjgAGKe2Ck+\nGqSpbzsVmiRao1rZKhAZx+CamrdbpDwHhpKCNw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 335,
+          "tcId" : 353,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306502302ed569f12dbe30a2abf02190bb9e4de7e218e9fd705dc71cbe1480022781b2a2213c3ef2f91052e90840a18f74e375ae0231008872b566f387c2bcb639df9c2d866f7631df290c5f66c264d4949e256383b1b4b2098c120f13449d9d7bff6891919c88",
@@ -3824,7 +4210,7 @@
           ]
         },
         {
-          "tcId" : 336,
+          "tcId" : 354,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402304b7e5651b035959295092e2efe548da52206c8d0e48ba43e2b8ecd98ece25dc08955b6e7b05e38c4e22829d1658711b5023044a973b75528400cef3f63f55f2154d48bb0b826214200d3f33c7bc31155242d4e24f07ed19606fdb2c8ecaeb6981eb7",
@@ -3834,7 +4220,7 @@
           ]
         },
         {
-          "tcId" : 337,
+          "tcId" : 355,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402301ecadaceaa479fa4e9aabac4210b1ab77fc1d13a9c4cb022826bb1806575115834a6ecb9dec3e668b8c91d4aca283dc902302de8965a66d56545ad84fdaee16fffa0eb31022186a5b6be2a2475958b9ad72f483ebd4b255748a811806bcd428acfd7",
@@ -3846,20 +4232,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e21734c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCrDk/IMEQ4/lwZTBDl+rg4jGHsr\nYWPcZgg+gq/1aEJoQwVq/43CPuvOKX90eDDiFzTJNWcTkcbvqLRsXDez+EqC5Cmn\nWA/rmhODtVyDqTmOjsx7FdaZ5jliMpECoVdvKw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "042ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e21734c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b",
         "wx" : "2ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e217",
         "wy" : "34c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e21734c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCrDk/IMEQ4/lwZTBDl+rg4jGHsr\nYWPcZgg+gq/1aEJoQwVq/43CPuvOKX90eDDiFzTJNWcTkcbvqLRsXDez+EqC5Cmn\nWA/rmhODtVyDqTmOjsx7FdaZ5jliMpECoVdvKw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 338,
+          "tcId" : 356,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3064023037e256872340da9dc884fd00daa14628372b4bedc0a8a09f9d7513521d3b803a78dc0edbab3c7dc2b2014baf7a9d210e02301ba4b4087973070cca9b957650177eeb41c557731596a966b0b7f68717d8e7b554afd07c2937c95403a90c3a05fa964b",
@@ -3869,7 +4256,7 @@
           ]
         },
         {
-          "tcId" : 339,
+          "tcId" : 357,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3063022f128c199dc27677f23feae28a9b28813cbc3b02fca493005a67c3126a705c49b982cb5817ee2c81161e80b738bbb512023073cb6d4547771d254be74348955bee979071358aa3afd62a5838179a0965465aec79bd6cbd9b8b2aa2c79bb88ab21592",
@@ -3879,7 +4266,7 @@
           ]
         },
         {
-          "tcId" : 340,
+          "tcId" : 358,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3065023100818b0fd6ca0978a59cad3fa15e84db2896f39b2aa462f0583834fa4444d153fe61e0c93071ba96c5ffa7193f77b806f302301d2d6144172385f857db4b7e7e863962eacacdec034b4b4a9dd1af272604403f39f45a21948b30976e738e9e98fd9cee",
diff --git a/src/third_party/wycheproof/ecdsa_brainpoolP512r1_sha512_test.json b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP512r1_sha512_test.json
similarity index 72%
rename from src/third_party/wycheproof/ecdsa_brainpoolP512r1_sha512_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_brainpoolP512r1_sha512_test.json
index ad66446..94e22eb 100644
--- a/src/third_party/wycheproof/ecdsa_brainpoolP512r1_sha512_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_brainpoolP512r1_sha512_test.json
@@ -1,7 +1,6 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 309,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
@@ -9,20 +8,22 @@
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 363,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000467cea1bedf84cbdcba69a05bb2ce3a2d1c9d911d236c480929a16ad697b45a6ca127079fe8d7868671e28ef33bdf9319e2e51c84b190ac5c91b51baf0a980ba500a7e79006194b5378f65cbe625ef2c47c64e56040d873b995b5b1ebaa4a6ce971da164391ff619af3bcfc71c5e1ad27ee0e859c2943e2de8ef7c43d3c976e9b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEZ86hvt+Ey9y6aaBbss46LRyd\nkR0jbEgJKaFq1pe0WmyhJwef6NeGhnHijvM735MZ4uUchLGQrFyRtRuvCpgLpQCn\n55AGGUtTePZcvmJe8sR8ZOVgQNhzuZW1seuqSmzpcdoWQ5H/YZrzvPxxxeGtJ+4O\nhZwpQ+LejvfEPTyXbps=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0467cea1bedf84cbdcba69a05bb2ce3a2d1c9d911d236c480929a16ad697b45a6ca127079fe8d7868671e28ef33bdf9319e2e51c84b190ac5c91b51baf0a980ba500a7e79006194b5378f65cbe625ef2c47c64e56040d873b995b5b1ebaa4a6ce971da164391ff619af3bcfc71c5e1ad27ee0e859c2943e2de8ef7c43d3c976e9b",
         "wx" : "67cea1bedf84cbdcba69a05bb2ce3a2d1c9d911d236c480929a16ad697b45a6ca127079fe8d7868671e28ef33bdf9319e2e51c84b190ac5c91b51baf0a980ba5",
         "wy" : "0a7e79006194b5378f65cbe625ef2c47c64e56040d873b995b5b1ebaa4a6ce971da164391ff619af3bcfc71c5e1ad27ee0e859c2943e2de8ef7c43d3c976e9b"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000467cea1bedf84cbdcba69a05bb2ce3a2d1c9d911d236c480929a16ad697b45a6ca127079fe8d7868671e28ef33bdf9319e2e51c84b190ac5c91b51baf0a980ba500a7e79006194b5378f65cbe625ef2c47c64e56040d873b995b5b1ebaa4a6ce971da164391ff619af3bcfc71c5e1ad27ee0e859c2943e2de8ef7c43d3c976e9b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEZ86hvt+Ey9y6aaBbss46LRyd\nkR0jbEgJKaFq1pe0WmyhJwef6NeGhnHijvM735MZ4uUchLGQrFyRtRuvCpgLpQCn\n55AGGUtTePZcvmJe8sR8ZOVgQNhzuZW1seuqSmzpcdoWQ5H/YZrzvPxxxeGtJ+4O\nhZwpQ+LejvfEPTyXbps=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -36,7 +37,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30818402404fa015df53797262667c8cf8412ca96335d83c0ac2ea6875c7d10f1274bc2688af5b69b75ebff36b54b5be3ffcc29e0ebcc066cfe4bdb22e067f87736a5ba605024037cdc44d7a08a10a2b7cfbbb31fe65c2423bf73a13c9a3cf894a16976483063f50b2cbd2e405d9eaae76d954027504b0fc11a6acb09bfe79601e8a4c1f63f461",
+          "sig" : "30818602410091218080b43ceb8e71e669e5d99a5c691e109d84b8d8d1099ba1804ae7ee288c743c296f27c1a526e8305708237120746e875447f8ecfc1ea6e51696b29e47ef0241008fc9cfbf62d722f27effe4ab9be85bdd4663fe8077d796c2a0bad297521555816bc61fdeab51fdc1383190ae5c0b36bec8b5db0ba95426e84d0a081aa4068454",
           "result" : "valid",
           "flags" : []
         },
@@ -44,7 +45,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3081840240328efb44fa5a954d899bc321ebf3626a8d8b662ed32e2d687e88f1da3c068d645a0e6f4bee083a7977b1bb4ed33a95688627ee1377c56ae9a27499ca33174aed02406ec5934c90a1a2c6a96e85e60be71c71ba0da91cc2f35eda5162342be3d4715b216e784932a56286efc29d79c591b4d54a0a6d4c9ddb412bc46860b78ff4f987",
+          "sig" : "30818402400d696354dee88661fddb2abb926249b338192907ee63b71a55819311ba747a0f83ecbcbf06ce159618e152547278f448226b038b8425db9b19b4da3fe8569458024076ca5f428527c4d67bdf3b7fc1b870755ec093910c75607c37fb35e4444a7f8bd89d29613400aea00e91e18a7682aba48375d6edc7bcce2e603cb7b239304087",
           "result" : "valid",
           "flags" : []
         },
@@ -52,7 +53,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "308184024049bb9150fd1baad79f1d4bc2386338603ece56900b50f2cc2885724c33eabe1a1517e963c422c13828d51eb09365cfdf867ddcde7638ca0f06b3ab3900f882c302406675ca81cf5d3e1508df2e7a83c66b3692dcd47e3367ad684e23f7fd672be2f4bcf65cba1ab229202ef1ee83d5742878df164d200a78bb059bb7bd07ec0377cd",
+          "sig" : "3081850240658e95d1398613751d9eef7ff8b00e63020f9c1a83365f1e0047d0d86d61397462743b4be3ebdfe4c1f1819b8cbd01c18892f5b592e3d32b88ed7135d320587902410085593b913f542c3b79bad7e29a859b3756280f79efc980d5ad270fe0655c627354d269b763cc66130b10995c045ed8ae92f0fc0d3ab14eba839cdff606832aa3",
           "result" : "valid",
           "flags" : []
         },
@@ -60,7 +61,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30818402407660369c1c87f3137a8fec5adf2afdc1ed4fe9c23e66d848ace51e2d9e5d2c5c57dbc65046624c9fc51fe4e2ecc3daf5f6eeee45b1839cf5b858b7bbe5f3fc64024068c76df31910c3e58a819ca0339880b27fbf8b4dc6cc0140b3d5332a6118c19850fc45b3ab57d72e6c19839f8cc597ef6b831d1b450208a1327e125ecdd18476",
+          "sig" : "30818502410097ecfb653b81416bf69de1c21840103af77f055be5e5d61937347d14ccbe82077073d0e7eaddea3fb0637a6f7c29f5a621cddbca82b13864f7eb1ff69b5dc5a902402f3655a6ec5a43f329ed52528e1e44d7c20b76871735ddfcf112a2fa264a27de473e12805848cdaf51b7b94a3cd3704b650b0a5f44fe897644e2a2283efa8d03",
           "result" : "valid",
           "flags" : []
         },
@@ -68,7 +69,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "308185024100826ff243ed770688da168ddb8eef36e91ce53dd04c87943d1dc7abb1d56e078ac35f253bfc630aca31e60000daf7b8fbda9cf434d11781449a9436ad82ff379c024031284e23a9646ad261dfaaf7f7814a2bf3e774a1c112095412b79dddbc96fb864c133db61063847e66c4b18e1b74830efc730d8fae1bcf42ed3e6ce512e54897",
+          "sig" : "308185024100a51b4593a0487cd3e8672e0b8b8738df439dfbc5118f81cb54225b9bc2a44254cb761d593bc55a110e957e06f0f93fb50c02d744aa304a22e670f77af78b7a99024033dd5c2926df519a788f8306dc8f5d998690a683f03a045bb87ed8775702cc97cb0abda3b9aaa267cf030485da8d9c67875dae732d3dbdba3b88f6b2bc3cf8d4",
           "result" : "valid",
           "flags" : []
         },
@@ -86,7 +87,9 @@
           "msg" : "313233343030",
           "sig" : "3082008402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 9,
@@ -94,7 +97,9 @@
           "msg" : "313233343030",
           "sig" : "308186028200400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -102,7 +107,9 @@
           "msg" : "313233343030",
           "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70282004066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -354,6 +361,14 @@
         },
         {
           "tcId" : 42,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000",
@@ -361,7 +376,7 @@
           "flags" : []
         },
         {
-          "tcId" : 43,
+          "tcId" : 44,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "308186000002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -369,24 +384,16 @@
           "flags" : []
         },
         {
-          "tcId" : 44,
-          "comment" : "appending unused 0's",
+          "tcId" : 45,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 45,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70000024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 46,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80500",
           "result" : "invalid",
@@ -394,22 +401,6 @@
         },
         {
           "tcId" : 47,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "30818602420bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70500024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 48,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024266297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 49,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818a49817730818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -417,7 +408,7 @@
           "flags" : []
         },
         {
-          "tcId" : 50,
+          "tcId" : 48,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "308189250030818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -425,7 +416,7 @@
           "flags" : []
         },
         {
-          "tcId" : 51,
+          "tcId" : 49,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818730818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80004deadbeef",
@@ -433,7 +424,7 @@
           "flags" : []
         },
         {
-          "tcId" : 52,
+          "tcId" : 50,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "308189224549817702400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -441,7 +432,7 @@
           "flags" : []
         },
         {
-          "tcId" : 53,
+          "tcId" : 51,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3081882244250002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -449,7 +440,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818c224202400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70004deadbeef024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -457,7 +448,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818902400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c72245498177024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -465,7 +456,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818802400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c722442500024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -473,7 +464,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818c02400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c72242024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80004deadbeef",
@@ -481,7 +472,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818daa00bb00cd0030818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -489,7 +480,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818baa02aabb30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -497,7 +488,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818c2248aa00bb00cd0002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -505,7 +496,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818a2246aa02aabb02400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -513,7 +504,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818c02400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c72248aa00bb00cd00024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -521,7 +512,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818a02400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c72246aa02aabb024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -529,7 +520,15 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "308030818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000",
@@ -537,7 +536,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 64,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "308188228002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70000024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -545,7 +544,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 65,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30818802400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c72280024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000",
@@ -553,7 +552,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 66,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "308031818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000",
@@ -561,7 +560,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 67,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "308188228003400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70000024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -569,7 +568,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30818802400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c72280034066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000",
@@ -577,7 +576,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -585,127 +584,47 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
-          "comment" : "changing tag value",
+          "tcId" : 70,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 72,
-          "comment" : "changing tag value",
+          "tcId" : 71,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 73,
-          "comment" : "changing tag value",
+          "tcId" : 72,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "31818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 74,
-          "comment" : "changing tag value",
+          "tcId" : 73,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "32818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818400400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 77,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818401400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 78,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818403400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 79,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818404400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "308184ff400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7004066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7014066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7034066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7044066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7ff4066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
+          "tcId" : 75,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -713,31 +632,15 @@
           "flags" : []
         },
         {
-          "tcId" : 87,
-          "comment" : "using composition",
+          "tcId" : 76,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "308189300102308183400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 88,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "308188224402010b023fd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "30818802400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c72244020166023f297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
+          "tcId" : 77,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "30818302400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194",
@@ -745,7 +648,7 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
+          "tcId" : 78,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "308183400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -753,15 +656,17 @@
           "flags" : []
         },
         {
-          "tcId" : 92,
+          "tcId" : 79,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "308002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 93,
+          "tcId" : 80,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "308002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f800",
@@ -769,7 +674,7 @@
           "flags" : []
         },
         {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "308002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f805000000",
@@ -777,7 +682,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "308002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8060811220000",
@@ -785,7 +690,7 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "308002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000fe02beef",
@@ -793,7 +698,7 @@
           "flags" : []
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "308002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80002beef",
@@ -801,7 +706,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "308186300002400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -809,7 +714,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f83000",
@@ -817,7 +722,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "30818730818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -825,7 +730,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "304202400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7",
@@ -833,7 +738,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "3081c602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -841,23 +746,27 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "long form encoding of length",
           "msg" : "313233343030",
           "sig" : "3081850281400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "long form encoding of length",
           "msg" : "313233343030",
           "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c702814066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "3042024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -865,7 +774,23 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "304302024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "304302400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c702",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30818602420bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70000024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -873,7 +798,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 96,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024266297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80000",
@@ -881,23 +806,67 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 97,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "308186024200000bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70242000066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70000024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 100,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "30818602420bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70500024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "30818602400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024266297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f80500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30440281024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "304402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "30440500024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -905,7 +874,7 @@
           "flags" : []
         },
         {
-          "tcId" : 111,
+          "tcId" : 105,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "304402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70500",
@@ -913,7 +882,87 @@
           "flags" : []
         },
         {
+          "tcId" : 106,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818400400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818401400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818403400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818404400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "308184ff400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7004066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7014066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7034066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7044066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7ff4066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "30440200024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -921,7 +970,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 117,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "304402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70200",
@@ -929,7 +978,23 @@
           "flags" : []
         },
         {
-          "tcId" : 114,
+          "tcId" : 118,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "308188224402010b023fd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "30818802400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c72244020166023f297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "308184024009d2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -937,7 +1002,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 121,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024064297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -945,7 +1010,7 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 122,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f947024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -953,7 +1018,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf19478",
@@ -961,7 +1026,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "308183023f0bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -969,7 +1034,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "308183023fd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -977,7 +1042,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30818302400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7023f66297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194",
@@ -985,7 +1050,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30818302400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7023f297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -993,7 +1058,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "3081850241ff0bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -1001,7 +1066,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70241ff66297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -1009,7 +1074,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3045090180024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
@@ -1017,7 +1082,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "304502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7090180",
@@ -1025,66 +1090,18 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "308185024100b6aff6ed23b6308e0ace840e7557d0366549da44c23127fbe2d3f6771c987375223c7ac494ef54fd71ece3546ddbfdc3bdc4bd0a1659446423027f0e01affa30024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 127,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081850241ff60f4bb7b6be2a7778b24b6b20dc3d826cee8bedd5a9d83de360cbce23c32629477bfc241fb9d08caeee021216e83dd3582611608059d8ea8b7f35208c85df95e024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081840240f42da6cbb83393fd3506629fbe722bd165e6b36ef198aa12f38fa653539a94fb3301e17cb7b9d11bcf997dc511d012835fed1676f2049679928517749af90639024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081850241009f0b4484941d588874db494df23c27d931174122a5627c21c9f3431dc3cd9d6b88403dbe0462f735111fdede917c22ca7d9ee9f7fa627157480cadf737a206a2024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081850241ff49500912dc49cf71f5317bf18aa82fc99ab625bb3dced8041d2c0988e3678c8addc3853b6b10ab028e131cab9224023c423b42f5e9a6bb9bdcfd80f1fe5005d0024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081850241010bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "308185024100f42da6cbb83393fd3506629fbe722bd165e6b36ef198aa12f38fa653539a94fb3301e17cb7b9d11bcf997dc511d012835fed1676f2049679928517749af90639024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "sig" : "3045020100024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70241011107186cd1400fb066d93c809c69d2bdd295a3142181bdfdd2f593d44cdab551e38f64afc6c8b247c733dab9d241a0bee33f14c1d651a63ea1c2b962a99a9561",
+          "sig" : "304502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1092,7 +1109,7 @@
           "tcId" : 134,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70240bb4bdcfb196c8699e72f6f2434d5daae3c3487acb9ee19e0262e5a3f6c74a4713912ac2d2d76661544271886d2e98030a7db6dbfc595f08336b38c5d7048948f",
+          "sig" : "308185024100b6aff6ed23b6308e0ace840e7557d0366549da44c23127fbe2d3f6771c987375223c7ac494ef54fd71ece3546ddbfdc3bdc4bd0a1659446423027f0e01affa30024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
@@ -1100,7 +1117,7 @@
           "tcId" : 135,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024099d6854c0aa9b4dad8fbaa2d97602949f89aea9f92481411036e08f62358531e71aef79185e073d17a52865fad6a6f883a72bebf320c349f13c4dd1ff30e6b08",
+          "sig" : "3081850241ff60f4bb7b6be2a7778b24b6b20dc3d826cee8bedd5a9d83de360cbce23c32629477bfc241fb9d08caeee021216e83dd3582611608059d8ea8b7f35208c85df95e024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
@@ -1108,7 +1125,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70241feeef8e7932ebff04f9926c37f63962d422d6a5cebde7e42022d0a6c2bb3254aae1c709b5039374db838cc25462dbe5f411cc0eb3e29ae59c15e3d469d56656a9f",
+          "sig" : "3081840240f42da6cbb83393fd3506629fbe722bd165e6b36ef198aa12f38fa653539a94fb3301e17cb7b9d11bcf997dc511d012835fed1676f2049679928517749af90639024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
@@ -1116,7 +1133,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c702410166297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "sig" : "3081850241009f0b4484941d588874db494df23c27d931174122a5627c21c9f3431dc3cd9d6b88403dbe0462f735111fdede917c22ca7d9ee9f7fa627157480cadf737a206a2024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
@@ -1124,12 +1141,76 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c702410099d6854c0aa9b4dad8fbaa2d97602949f89aea9f92481411036e08f62358531e71aef79185e073d17a52865fad6a6f883a72bebf320c349f13c4dd1ff30e6b08",
+          "sig" : "3081850241ff49500912dc49cf71f5317bf18aa82fc99ab625bb3dced8041d2c0988e3678c8addc3853b6b10ab028e131cab9224023c423b42f5e9a6bb9bdcfd80f1fe5005d0024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 139,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3081850241010bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "308185024100f42da6cbb83393fd3506629fbe722bd165e6b36ef198aa12f38fa653539a94fb3301e17cb7b9d11bcf997dc511d012835fed1676f2049679928517749af90639024066297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70241011107186cd1400fb066d93c809c69d2bdd295a3142181bdfdd2f593d44cdab551e38f64afc6c8b247c733dab9d241a0bee33f14c1d651a63ea1c2b962a99a9561",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70240bb4bdcfb196c8699e72f6f2434d5daae3c3487acb9ee19e0262e5a3f6c74a4713912ac2d2d76661544271886d2e98030a7db6dbfc595f08336b38c5d7048948f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818402400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c7024099d6854c0aa9b4dad8fbaa2d97602949f89aea9f92481411036e08f62358531e71aef79185e073d17a52865fad6a6f883a72bebf320c349f13c4dd1ff30e6b08",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c70241feeef8e7932ebff04f9926c37f63962d422d6a5cebde7e42022d0a6c2bb3254aae1c709b5039374db838cc25462dbe5f411cc0eb3e29ae59c15e3d469d56656a9f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c702410166297ab3f5564b25270455d2689fd6b6076515606db7ebeefc91f709dca7ace18e51086e7a1f8c2e85ad79a052959077c58d4140cdf3cb60ec3b22e00cf194f8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818502400bd2593447cc6c02caf99d60418dd42e9a194c910e6755ed0c7059acac656b04ccfe1e8348462ee43066823aee2fed7ca012e9890dfb69866d7ae88b6506f9c702410099d6854c0aa9b4dad8fbaa2d97602949f89aea9f92481411036e08f62358531e71aef79185e073d17a52865fad6a6f883a72bebf320c349f13c4dd1ff30e6b08",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1139,7 +1220,7 @@
           ]
         },
         {
-          "tcId" : 140,
+          "tcId" : 148,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1149,7 +1230,7 @@
           ]
         },
         {
-          "tcId" : 141,
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1159,7 +1240,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020100024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069",
@@ -1169,7 +1250,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020100024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068",
@@ -1179,7 +1260,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020100024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a",
@@ -1189,7 +1270,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020100024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3",
@@ -1199,7 +1280,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020100024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4",
@@ -1209,7 +1290,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1219,7 +1300,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1229,7 +1310,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1239,7 +1320,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201010201ff",
@@ -1249,7 +1330,7 @@
           ]
         },
         {
-          "tcId" : 151,
+          "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069",
@@ -1259,7 +1340,7 @@
           ]
         },
         {
-          "tcId" : 152,
+          "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068",
@@ -1269,7 +1350,7 @@
           ]
         },
         {
-          "tcId" : 153,
+          "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a",
@@ -1279,7 +1360,7 @@
           ]
         },
         {
-          "tcId" : 154,
+          "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3",
@@ -1289,7 +1370,7 @@
           ]
         },
         {
-          "tcId" : 155,
+          "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046020101024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4",
@@ -1299,7 +1380,7 @@
           ]
         },
         {
-          "tcId" : 156,
+          "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020101090380fe01",
@@ -1309,7 +1390,7 @@
           ]
         },
         {
-          "tcId" : 157,
+          "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020100",
@@ -1319,7 +1400,7 @@
           ]
         },
         {
-          "tcId" : 158,
+          "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020101",
@@ -1329,7 +1410,7 @@
           ]
         },
         {
-          "tcId" : 159,
+          "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff0201ff",
@@ -1339,7 +1420,7 @@
           ]
         },
         {
-          "tcId" : 160,
+          "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30460201ff024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069",
@@ -1349,7 +1430,7 @@
           ]
         },
         {
-          "tcId" : 161,
+          "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30460201ff024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068",
@@ -1359,7 +1440,7 @@
           ]
         },
         {
-          "tcId" : 162,
+          "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30460201ff024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a",
@@ -1369,7 +1450,7 @@
           ]
         },
         {
-          "tcId" : 163,
+          "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30460201ff024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3",
@@ -1379,7 +1460,7 @@
           ]
         },
         {
-          "tcId" : 164,
+          "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30460201ff024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4",
@@ -1389,7 +1470,7 @@
           ]
         },
         {
-          "tcId" : 165,
+          "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30080201ff090380fe01",
@@ -1399,7 +1480,7 @@
           ]
         },
         {
-          "tcId" : 166,
+          "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069020100",
@@ -1409,7 +1490,7 @@
           ]
         },
         {
-          "tcId" : 167,
+          "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069020101",
@@ -1419,7 +1500,7 @@
           ]
         },
         {
-          "tcId" : 168,
+          "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900690201ff",
@@ -1429,7 +1510,7 @@
           ]
         },
         {
-          "tcId" : 169,
+          "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069",
@@ -1439,7 +1520,7 @@
           ]
         },
         {
-          "tcId" : 170,
+          "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068",
@@ -1449,7 +1530,7 @@
           ]
         },
         {
-          "tcId" : 171,
+          "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a",
@@ -1459,7 +1540,7 @@
           ]
         },
         {
-          "tcId" : 172,
+          "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3",
@@ -1469,7 +1550,7 @@
           ]
         },
         {
-          "tcId" : 173,
+          "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4",
@@ -1479,7 +1560,7 @@
           ]
         },
         {
-          "tcId" : 174,
+          "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3048024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069090380fe01",
@@ -1489,7 +1570,7 @@
           ]
         },
         {
-          "tcId" : 175,
+          "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068020100",
@@ -1499,7 +1580,7 @@
           ]
         },
         {
-          "tcId" : 176,
+          "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068020101",
@@ -1509,7 +1590,7 @@
           ]
         },
         {
-          "tcId" : 177,
+          "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca900680201ff",
@@ -1519,7 +1600,7 @@
           ]
         },
         {
-          "tcId" : 178,
+          "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069",
@@ -1529,7 +1610,7 @@
           ]
         },
         {
-          "tcId" : 179,
+          "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068",
@@ -1539,7 +1620,7 @@
           ]
         },
         {
-          "tcId" : 180,
+          "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a",
@@ -1549,7 +1630,7 @@
           ]
         },
         {
-          "tcId" : 181,
+          "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3",
@@ -1559,7 +1640,7 @@
           ]
         },
         {
-          "tcId" : 182,
+          "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4",
@@ -1569,7 +1650,7 @@
           ]
         },
         {
-          "tcId" : 183,
+          "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3048024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068090380fe01",
@@ -1579,7 +1660,7 @@
           ]
         },
         {
-          "tcId" : 184,
+          "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a020100",
@@ -1589,7 +1670,7 @@
           ]
         },
         {
-          "tcId" : 185,
+          "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a020101",
@@ -1599,7 +1680,7 @@
           ]
         },
         {
-          "tcId" : 186,
+          "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a0201ff",
@@ -1609,7 +1690,7 @@
           ]
         },
         {
-          "tcId" : 187,
+          "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069",
@@ -1619,7 +1700,7 @@
           ]
         },
         {
-          "tcId" : 188,
+          "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068",
@@ -1629,7 +1710,7 @@
           ]
         },
         {
-          "tcId" : 189,
+          "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a",
@@ -1639,7 +1720,7 @@
           ]
         },
         {
-          "tcId" : 190,
+          "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3",
@@ -1649,7 +1730,7 @@
           ]
         },
         {
-          "tcId" : 191,
+          "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4",
@@ -1659,7 +1740,7 @@
           ]
         },
         {
-          "tcId" : 192,
+          "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3048024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a090380fe01",
@@ -1669,7 +1750,7 @@
           ]
         },
         {
-          "tcId" : 193,
+          "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3020100",
@@ -1679,7 +1760,7 @@
           ]
         },
         {
-          "tcId" : 194,
+          "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3020101",
@@ -1689,7 +1770,7 @@
           ]
         },
         {
-          "tcId" : 195,
+          "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f30201ff",
@@ -1699,7 +1780,7 @@
           ]
         },
         {
-          "tcId" : 196,
+          "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069",
@@ -1709,7 +1790,7 @@
           ]
         },
         {
-          "tcId" : 197,
+          "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068",
@@ -1719,7 +1800,7 @@
           ]
         },
         {
-          "tcId" : 198,
+          "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a",
@@ -1729,7 +1810,7 @@
           ]
         },
         {
-          "tcId" : 199,
+          "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3",
@@ -1739,7 +1820,7 @@
           ]
         },
         {
-          "tcId" : 200,
+          "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4",
@@ -1749,7 +1830,7 @@
           ]
         },
         {
-          "tcId" : 201,
+          "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3048024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3090380fe01",
@@ -1759,7 +1840,7 @@
           ]
         },
         {
-          "tcId" : 202,
+          "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4020100",
@@ -1769,7 +1850,7 @@
           ]
         },
         {
-          "tcId" : 203,
+          "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4020101",
@@ -1779,7 +1860,7 @@
           ]
         },
         {
-          "tcId" : 204,
+          "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f40201ff",
@@ -1789,7 +1870,7 @@
           ]
         },
         {
-          "tcId" : 205,
+          "tcId" : 213,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90069",
@@ -1799,7 +1880,7 @@
           ]
         },
         {
-          "tcId" : 206,
+          "tcId" : 214,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90068",
@@ -1809,7 +1890,7 @@
           ]
         },
         {
-          "tcId" : 207,
+          "tcId" : 215,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006a",
@@ -1819,7 +1900,7 @@
           ]
         },
         {
-          "tcId" : 208,
+          "tcId" : 216,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f3",
@@ -1829,7 +1910,7 @@
           ]
         },
         {
-          "tcId" : 209,
+          "tcId" : 217,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4",
@@ -1839,7 +1920,7 @@
           ]
         },
         {
-          "tcId" : 210,
+          "tcId" : 218,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3048024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f4090380fe01",
@@ -1849,7 +1930,7 @@
           ]
         },
         {
-          "tcId" : 211,
+          "tcId" : 219,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "31313138",
           "sig" : "30818402407da11e5b4bb7932135cd91accef8892c4286654a7be7c9d384b600d97900ee12a23ff1f9ae9a4fe74cca185d0dc9f59dc24be03d0223d8feb55b6dde1777475f02400686bc313aa5c1923ab0543331398190ca5f22a3a97e963a13cedf688da1dfe4a348945497b21c01c8a17c23252b3e8eac1f9a92d6320eaa324b44807c326175",
@@ -1859,20 +1940,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046b6763a186aa5159049f2ea5c8a232dcbe6337b0d92e969da52af32524f61da3097fa314ac792234e59867af320478774bd4c785a0330624c0b4babe257f65972e4063e45e13d505e14db6f5fef3538db181cc1a6e0a9381fa3f0321be47f40dc05ab80e9caa3b7559c67535e83d984f3b9557118dde29c5e7a5a4a18d0c9d43",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEa2djoYaqUVkEny6lyKIy3L5j\nN7DZLpadpSrzJST2HaMJf6MUrHkiNOWYZ68yBHh3S9THhaAzBiTAtLq+JX9lly5A\nY+ReE9UF4U229f7zU42xgcwabgqTgfo/AyG+R/QNwFq4DpyqO3VZxnU16D2YTzuV\nVxGN3inF56WkoY0MnUM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "046b6763a186aa5159049f2ea5c8a232dcbe6337b0d92e969da52af32524f61da3097fa314ac792234e59867af320478774bd4c785a0330624c0b4babe257f65972e4063e45e13d505e14db6f5fef3538db181cc1a6e0a9381fa3f0321be47f40dc05ab80e9caa3b7559c67535e83d984f3b9557118dde29c5e7a5a4a18d0c9d43",
         "wx" : "6b6763a186aa5159049f2ea5c8a232dcbe6337b0d92e969da52af32524f61da3097fa314ac792234e59867af320478774bd4c785a0330624c0b4babe257f6597",
         "wy" : "2e4063e45e13d505e14db6f5fef3538db181cc1a6e0a9381fa3f0321be47f40dc05ab80e9caa3b7559c67535e83d984f3b9557118dde29c5e7a5a4a18d0c9d43"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046b6763a186aa5159049f2ea5c8a232dcbe6337b0d92e969da52af32524f61da3097fa314ac792234e59867af320478774bd4c785a0330624c0b4babe257f65972e4063e45e13d505e14db6f5fef3538db181cc1a6e0a9381fa3f0321be47f40dc05ab80e9caa3b7559c67535e83d984f3b9557118dde29c5e7a5a4a18d0c9d43",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEa2djoYaqUVkEny6lyKIy3L5j\nN7DZLpadpSrzJST2HaMJf6MUrHkiNOWYZ68yBHh3S9THhaAzBiTAtLq+JX9lly5A\nY+ReE9UF4U229f7zU42xgcwabgqTgfo/AyG+R/QNwFq4DpyqO3VZxnU16D2YTzuV\nVxGN3inF56WkoY0MnUM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 212,
+          "tcId" : 220,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "3066022101280f3ebf4f1d42296d47401166f7709f0ad02bae2524eba77322c9d3bb914889024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90066",
@@ -1880,7 +1962,7 @@
           "flags" : []
         },
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca703308717d4d9b009bc66842aecda12ae6a380e62881ff2f2d82c68528aa6056583a48f2024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90066",
@@ -1890,20 +1972,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200048f676959bfda02d373977a80528b61d4148f8eabc2027fb5b5db5827677d147a728661fd5c546b6ad5f0a89a347449aa2f32112e3bbda8035089547929b56a5578c45ce0a688aea390d4e4db4d48d2cdb21865bc8cefd15f2bbae4270ab765a76f049449f17ce1ac7f513977ce0a5237e5bd63b4af92a6cf4918d91bccd0f279",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEj2dpWb/aAtNzl3qAUoth1BSP\njqvCAn+1tdtYJ2d9FHpyhmH9XFRratXwqJo0dEmqLzIRLju9qANQiVR5KbVqVXjE\nXOCmiK6jkNTk201I0s2yGGW8jO/RXyu65CcKt2WnbwSUSfF84ax/UTl3zgpSN+W9\nY7SvkqbPSRjZG8zQ8nk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "048f676959bfda02d373977a80528b61d4148f8eabc2027fb5b5db5827677d147a728661fd5c546b6ad5f0a89a347449aa2f32112e3bbda8035089547929b56a5578c45ce0a688aea390d4e4db4d48d2cdb21865bc8cefd15f2bbae4270ab765a76f049449f17ce1ac7f513977ce0a5237e5bd63b4af92a6cf4918d91bccd0f279",
         "wx" : "08f676959bfda02d373977a80528b61d4148f8eabc2027fb5b5db5827677d147a728661fd5c546b6ad5f0a89a347449aa2f32112e3bbda8035089547929b56a55",
         "wy" : "78c45ce0a688aea390d4e4db4d48d2cdb21865bc8cefd15f2bbae4270ab765a76f049449f17ce1ac7f513977ce0a5237e5bd63b4af92a6cf4918d91bccd0f279"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200048f676959bfda02d373977a80528b61d4148f8eabc2027fb5b5db5827677d147a728661fd5c546b6ad5f0a89a347449aa2f32112e3bbda8035089547929b56a5578c45ce0a688aea390d4e4db4d48d2cdb21865bc8cefd15f2bbae4270ab765a76f049449f17ce1ac7f513977ce0a5237e5bd63b4af92a6cf4918d91bccd0f279",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEj2dpWb/aAtNzl3qAUoth1BSP\njqvCAn+1tdtYJ2d9FHpyhmH9XFRratXwqJo0dEmqLzIRLju9qANQiVR5KbVqVXjE\nXOCmiK6jkNTk201I0s2yGGW8jO/RXyu65CcKt2WnbwSUSfF84ax/UTl3zgpSN+W9\nY7SvkqbPSRjZG8zQ8nk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "308186024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90065024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca90064",
@@ -1913,20 +1996,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000414f38afbc8d6be59ee7075bdfd2616a44b86535687d05c2347553173cd14df8abd0a4c102c62e8141127dc66d2dcaae38c9324980ede204688bb9f916ba9f1a823f358139316ca27b8874e68b93388f9780d9ba7e23b8421bfad38a19ed161477e0a05380bebd7a1156dc32f69047679fa2b977fadc0c29ebc1ebcea6cc1894c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEFPOK+8jWvlnucHW9/SYWpEuG\nU1aH0FwjR1Uxc80U34q9CkwQLGLoFBEn3GbS3KrjjJMkmA7eIEaIu5+Ra6nxqCPz\nWBOTFsonuIdOaLkziPl4DZun4juEIb+tOKGe0WFHfgoFOAvr16EVbcMvaQR2efor\nl3+twMKevB686mzBiUw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0414f38afbc8d6be59ee7075bdfd2616a44b86535687d05c2347553173cd14df8abd0a4c102c62e8141127dc66d2dcaae38c9324980ede204688bb9f916ba9f1a823f358139316ca27b8874e68b93388f9780d9ba7e23b8421bfad38a19ed161477e0a05380bebd7a1156dc32f69047679fa2b977fadc0c29ebc1ebcea6cc1894c",
         "wx" : "14f38afbc8d6be59ee7075bdfd2616a44b86535687d05c2347553173cd14df8abd0a4c102c62e8141127dc66d2dcaae38c9324980ede204688bb9f916ba9f1a8",
         "wy" : "23f358139316ca27b8874e68b93388f9780d9ba7e23b8421bfad38a19ed161477e0a05380bebd7a1156dc32f69047679fa2b977fadc0c29ebc1ebcea6cc1894c"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000414f38afbc8d6be59ee7075bdfd2616a44b86535687d05c2347553173cd14df8abd0a4c102c62e8141127dc66d2dcaae38c9324980ede204688bb9f916ba9f1a823f358139316ca27b8874e68b93388f9780d9ba7e23b8421bfad38a19ed161477e0a05380bebd7a1156dc32f69047679fa2b977fadc0c29ebc1ebcea6cc1894c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEFPOK+8jWvlnucHW9/SYWpEuG\nU1aH0FwjR1Uxc80U34q9CkwQLGLoFBEn3GbS3KrjjJMkmA7eIEaIu5+Ra6nxqCPz\nWBOTFsonuIdOaLkziPl4DZun4juEIb+tOKGe0WFHfgoFOAvr16EVbcMvaQR2efor\nl3+twMKevB686mzBiUw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "30818402407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02404338ed95ac0d09c51d7044d59f1bc26f8f3f11fc7bf2f81bdf0b21b5c0b9c89bea3cc6dd8b3692c8310b98117b508d130073e74b02b3ba482fb0a5ef1036a3fd",
@@ -1936,20 +2020,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043df9e586410ba633b9f165d29b073b67a167297cb4086889e52b925a9cb25acc4c85e5b8112221ba49ecc99a0cb7fb3385352a7140072f79c2f44396ee8b678622c7b6185e4b667a5cc427c99ca53fe54f03dfeeca92ba2c1ae1f2b3feebedeaba62ee3ba065ac5303c2d56969f0b341486f29f3b2a06df32830f25999c42f88",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEPfnlhkELpjO58WXSmwc7Z6Fn\nKXy0CGiJ5SuSWpyyWsxMheW4ESIhuknsyZoMt/szhTUqcUAHL3nC9EOW7otnhiLH\nthheS2Z6XMQnyZylP+VPA9/uypK6LBrh8rP+6+3qumLuO6BlrFMDwtVpafCzQUhv\nKfOyoG3zKDDyWZnEL4g=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "043df9e586410ba633b9f165d29b073b67a167297cb4086889e52b925a9cb25acc4c85e5b8112221ba49ecc99a0cb7fb3385352a7140072f79c2f44396ee8b678622c7b6185e4b667a5cc427c99ca53fe54f03dfeeca92ba2c1ae1f2b3feebedeaba62ee3ba065ac5303c2d56969f0b341486f29f3b2a06df32830f25999c42f88",
         "wx" : "3df9e586410ba633b9f165d29b073b67a167297cb4086889e52b925a9cb25acc4c85e5b8112221ba49ecc99a0cb7fb3385352a7140072f79c2f44396ee8b6786",
         "wy" : "22c7b6185e4b667a5cc427c99ca53fe54f03dfeeca92ba2c1ae1f2b3feebedeaba62ee3ba065ac5303c2d56969f0b341486f29f3b2a06df32830f25999c42f88"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043df9e586410ba633b9f165d29b073b67a167297cb4086889e52b925a9cb25acc4c85e5b8112221ba49ecc99a0cb7fb3385352a7140072f79c2f44396ee8b678622c7b6185e4b667a5cc427c99ca53fe54f03dfeeca92ba2c1ae1f2b3feebedeaba62ee3ba065ac5303c2d56969f0b341486f29f3b2a06df32830f25999c42f88",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEPfnlhkELpjO58WXSmwc7Z6Fn\nKXy0CGiJ5SuSWpyyWsxMheW4ESIhuknsyZoMt/szhTUqcUAHL3nC9EOW7otnhiLH\nthheS2Z6XMQnyZylP+VPA9/uypK6LBrh8rP+6+3qumLuO6BlrFMDwtVpafCzQUhv\nKfOyoG3zKDDyWZnEL4g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "30818402407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024039c982e2a4f560c509055888f60317e6b5bb61d594d7bd4f5897396bf3e81a09cf703d319f9b4a092d46d5f202ff5ddb776c57e8ede8454def7037b541c97436",
@@ -1959,20 +2044,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040ad66abdba9fbee1fdd1b9e0db9a7460f460de3916efd16d7d9c6cc7a6cc9fa5cc03020d9f8c9094c0cb52fe1babd63c69ab20f04a116ecee3a009d5acb5729d5b4765858f696b61bf6b3a1812d057bee93b143836a764927971fb746141b5422fc077f73caa000f62ce00103502d1ecb0954f2cad60b224ec6fe1033009d64c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAECtZqvbqfvuH90bng25p0YPRg\n3jkW79FtfZxsx6bMn6XMAwINn4yQlMDLUv4bq9Y8aasg8EoRbs7joAnVrLVynVtH\nZYWPaWthv2s6GBLQV77pOxQ4Nqdkknlx+3RhQbVCL8B39zyqAA9izgAQNQLR7LCV\nTyytYLIk7G/hAzAJ1kw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "040ad66abdba9fbee1fdd1b9e0db9a7460f460de3916efd16d7d9c6cc7a6cc9fa5cc03020d9f8c9094c0cb52fe1babd63c69ab20f04a116ecee3a009d5acb5729d5b4765858f696b61bf6b3a1812d057bee93b143836a764927971fb746141b5422fc077f73caa000f62ce00103502d1ecb0954f2cad60b224ec6fe1033009d64c",
         "wx" : "0ad66abdba9fbee1fdd1b9e0db9a7460f460de3916efd16d7d9c6cc7a6cc9fa5cc03020d9f8c9094c0cb52fe1babd63c69ab20f04a116ecee3a009d5acb5729d",
         "wy" : "5b4765858f696b61bf6b3a1812d057bee93b143836a764927971fb746141b5422fc077f73caa000f62ce00103502d1ecb0954f2cad60b224ec6fe1033009d64c"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040ad66abdba9fbee1fdd1b9e0db9a7460f460de3916efd16d7d9c6cc7a6cc9fa5cc03020d9f8c9094c0cb52fe1babd63c69ab20f04a116ecee3a009d5acb5729d5b4765858f696b61bf6b3a1812d057bee93b143836a764927971fb746141b5422fc077f73caa000f62ce00103502d1ecb0954f2cad60b224ec6fe1033009d64c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAECtZqvbqfvuH90bng25p0YPRg\n3jkW79FtfZxsx6bMn6XMAwINn4yQlMDLUv4bq9Y8aasg8EoRbs7joAnVrLVynVtH\nZYWPaWthv2s6GBLQV77pOxQ4Nqdkknlx+3RhQbVCL8B39zyqAA9izgAQNQLR7LCV\nTyytYLIk7G/hAzAJ1kw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020101",
@@ -1982,20 +2068,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049741c2634e42f1865625a9d97ebc549ac8c67eb6d03cd2a7c5987f0f5164c9be9775e32c5d59d3175de468e243591021ab623f6b09b31a4028639b041684f359470ddff173c67c71055f5f715b7b74993800305938bbda89d24b187f4819c30575d5e2275f08cbf3ba86b1a11f12671d2eb009d02516f3d1da0aafcd1d81a0c1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEl0HCY05C8YZWJanZfrxUmsjG\nfrbQPNKnxZh/D1Fkyb6XdeMsXVnTF13kaOJDWRAhq2I/awmzGkAoY5sEFoTzWUcN\n3/FzxnxxBV9fcVt7dJk4ADBZOLvaidJLGH9IGcMFddXiJ18Iy/O6hrGhHxJnHS6w\nCdAlFvPR2gqvzR2BoME=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "049741c2634e42f1865625a9d97ebc549ac8c67eb6d03cd2a7c5987f0f5164c9be9775e32c5d59d3175de468e243591021ab623f6b09b31a4028639b041684f359470ddff173c67c71055f5f715b7b74993800305938bbda89d24b187f4819c30575d5e2275f08cbf3ba86b1a11f12671d2eb009d02516f3d1da0aafcd1d81a0c1",
         "wx" : "09741c2634e42f1865625a9d97ebc549ac8c67eb6d03cd2a7c5987f0f5164c9be9775e32c5d59d3175de468e243591021ab623f6b09b31a4028639b041684f359",
         "wy" : "470ddff173c67c71055f5f715b7b74993800305938bbda89d24b187f4819c30575d5e2275f08cbf3ba86b1a11f12671d2eb009d02516f3d1da0aafcd1d81a0c1"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049741c2634e42f1865625a9d97ebc549ac8c67eb6d03cd2a7c5987f0f5164c9be9775e32c5d59d3175de468e243591021ab623f6b09b31a4028639b041684f359470ddff173c67c71055f5f715b7b74993800305938bbda89d24b187f4819c30575d5e2275f08cbf3ba86b1a11f12671d2eb009d02516f3d1da0aafcd1d81a0c1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEl0HCY05C8YZWJanZfrxUmsjG\nfrbQPNKnxZh/D1Fkyb6XdeMsXVnTF13kaOJDWRAhq2I/awmzGkAoY5sEFoTzWUcN\n3/FzxnxxBV9fcVt7dJk4ADBZOLvaidJLGH9IGcMFddXiJ18Iy/O6hrGhHxJnHS6w\nCdAlFvPR2gqvzR2BoME=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020103",
@@ -2005,20 +2092,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200048b06a77616ea21f14093d3a373a8f57106a71939f25415f6a9aa001640b5ed0adf39fc2f5e58d4233c2eefe4f170499da57e9dceb7f8cd5f38c4181fa7d2f768074a91e99eabced1bda358653e09b51eb8b1a9526f5a1b32c7edd3b701f5af4103314971d5c082c5f20053c3b66d39a1cb6c4d310dbe895546892d4296d96eff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEiwandhbqIfFAk9Ojc6j1cQan\nGTnyVBX2qaoAFkC17QrfOfwvXljUIzwu7+TxcEmdpX6dzrf4zV84xBgfp9L3aAdK\nkemeq87RvaNYZT4JtR64salSb1obMsft07cB9a9BAzFJcdXAgsXyAFPDtm05octs\nTTENvolVRoktQpbZbv8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "048b06a77616ea21f14093d3a373a8f57106a71939f25415f6a9aa001640b5ed0adf39fc2f5e58d4233c2eefe4f170499da57e9dceb7f8cd5f38c4181fa7d2f768074a91e99eabced1bda358653e09b51eb8b1a9526f5a1b32c7edd3b701f5af4103314971d5c082c5f20053c3b66d39a1cb6c4d310dbe895546892d4296d96eff",
         "wx" : "08b06a77616ea21f14093d3a373a8f57106a71939f25415f6a9aa001640b5ed0adf39fc2f5e58d4233c2eefe4f170499da57e9dceb7f8cd5f38c4181fa7d2f768",
         "wy" : "74a91e99eabced1bda358653e09b51eb8b1a9526f5a1b32c7edd3b701f5af4103314971d5c082c5f20053c3b66d39a1cb6c4d310dbe895546892d4296d96eff"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200048b06a77616ea21f14093d3a373a8f57106a71939f25415f6a9aa001640b5ed0adf39fc2f5e58d4233c2eefe4f170499da57e9dceb7f8cd5f38c4181fa7d2f768074a91e99eabced1bda358653e09b51eb8b1a9526f5a1b32c7edd3b701f5af4103314971d5c082c5f20053c3b66d39a1cb6c4d310dbe895546892d4296d96eff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEiwandhbqIfFAk9Ojc6j1cQan\nGTnyVBX2qaoAFkC17QrfOfwvXljUIzwu7+TxcEmdpX6dzrf4zV84xBgfp9L3aAdK\nkemeq87RvaNYZT4JtR64salSb1obMsft07cB9a9BAzFJcdXAgsXyAFPDtm05octs\nTTENvolVRoktQpbZbv8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020104",
@@ -2026,7 +2114,7 @@
           "flags" : []
         },
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3046024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca9006c020104",
@@ -2036,20 +2124,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004792feceeb3166356d10aeb0940124294341802924c79f2391b77875657c17f55955b28685cc2203f18c22004bab1da516896f01b0529c804245baa3a6930b35526deb73e372176cc7358c04247923a791181ce72c183506046e69de4976d4f2637f11e705f1f9a5a0f99eea1841e540c6aa43d4fb20030d70d4a54fb6a6e8559",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEeS/s7rMWY1bRCusJQBJClDQY\nApJMefI5G3eHVlfBf1WVWyhoXMIgPxjCIAS6sdpRaJbwGwUpyAQkW6o6aTCzVSbe\ntz43IXbMc1jAQkeSOnkRgc5ywYNQYEbmneSXbU8mN/EecF8fmloPme6hhB5UDGqk\nPU+yADDXDUpU+2puhVk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04792feceeb3166356d10aeb0940124294341802924c79f2391b77875657c17f55955b28685cc2203f18c22004bab1da516896f01b0529c804245baa3a6930b35526deb73e372176cc7358c04247923a791181ce72c183506046e69de4976d4f2637f11e705f1f9a5a0f99eea1841e540c6aa43d4fb20030d70d4a54fb6a6e8559",
         "wx" : "792feceeb3166356d10aeb0940124294341802924c79f2391b77875657c17f55955b28685cc2203f18c22004bab1da516896f01b0529c804245baa3a6930b355",
         "wy" : "26deb73e372176cc7358c04247923a791181ce72c183506046e69de4976d4f2637f11e705f1f9a5a0f99eea1841e540c6aa43d4fb20030d70d4a54fb6a6e8559"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004792feceeb3166356d10aeb0940124294341802924c79f2391b77875657c17f55955b28685cc2203f18c22004bab1da516896f01b0529c804245baa3a6930b35526deb73e372176cc7358c04247923a791181ce72c183506046e69de4976d4f2637f11e705f1f9a5a0f99eea1841e540c6aa43d4fb20030d70d4a54fb6a6e8559",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEeS/s7rMWY1bRCusJQBJClDQY\nApJMefI5G3eHVlfBf1WVWyhoXMIgPxjCIAS6sdpRaJbwGwUpyAQkW6o6aTCzVSbe\ntz43IXbMc1jAQkeSOnkRgc5ywYNQYEbmneSXbU8mN/EecF8fmloPme6hhB5UDGqk\nPU+yADDXDUpU+2puhVk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3046020103024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829cbbd6f0",
@@ -2059,20 +2148,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000481b42adaac02a5fd87a04a16ddc2333075778f133ea0af66049c72a06721e3924979249e04291e4b99d4ecf448b3fdc5e56ea23381d6d06e23011965d1653816244327f9d59ca6787575bb7707ef2672f113ba7a302d69c29fea6ff66f449dcd3b273b3398481776c2f2a685cb6dde31e176be8f2b785fed313be5730c6624ed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEgbQq2qwCpf2HoEoW3cIzMHV3\njxM+oK9mBJxyoGch45JJeSSeBCkeS5nU7PRIs/3F5W6iM4HW0G4jARll0WU4FiRD\nJ/nVnKZ4dXW7dwfvJnLxE7p6MC1pwp/qb/ZvRJ3NOyc7M5hIF3bC8qaFy23eMeF2\nvo8reF/tMTvlcwxmJO0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0481b42adaac02a5fd87a04a16ddc2333075778f133ea0af66049c72a06721e3924979249e04291e4b99d4ecf448b3fdc5e56ea23381d6d06e23011965d1653816244327f9d59ca6787575bb7707ef2672f113ba7a302d69c29fea6ff66f449dcd3b273b3398481776c2f2a685cb6dde31e176be8f2b785fed313be5730c6624ed",
         "wx" : "081b42adaac02a5fd87a04a16ddc2333075778f133ea0af66049c72a06721e3924979249e04291e4b99d4ecf448b3fdc5e56ea23381d6d06e23011965d1653816",
         "wy" : "244327f9d59ca6787575bb7707ef2672f113ba7a302d69c29fea6ff66f449dcd3b273b3398481776c2f2a685cb6dde31e176be8f2b785fed313be5730c6624ed"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000481b42adaac02a5fd87a04a16ddc2333075778f133ea0af66049c72a06721e3924979249e04291e4b99d4ecf448b3fdc5e56ea23381d6d06e23011965d1653816244327f9d59ca6787575bb7707ef2672f113ba7a302d69c29fea6ff66f449dcd3b273b3398481776c2f2a685cb6dde31e176be8f2b785fed313be5730c6624ed",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEgbQq2qwCpf2HoEoW3cIzMHV3\njxM+oK9mBJxyoGch45JJeSSeBCkeS5nU7PRIs/3F5W6iM4HW0G4jARll0WU4FiRD\nJ/nVnKZ4dXW7dwfvJnLxE7p6MC1pwp/qb/ZvRJ3NOyc7M5hIF3bC8qaFy23eMeF2\nvo8reF/tMTvlcwxmJO0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "304602020100024012d5e9125cc71fbeb86c217e09bd92b646c6dd3a1be1d6a6ed4d80267127e4b5b4bc4aac7d5d3aa0033114c85aac2a1bff3def001d248d0a5483dc2ea66f5ac1",
@@ -2082,20 +2172,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000401a0e00bb4a669f10f594489a42f1babd3a028b5ea75757a986c55f6159469752b88bbe9f52f2422d503a4d9a849c3dad410a6dc4e4e32b95469e09386063401574c501128906459a23af93b9830e297f3e73d3173df7807679b713ce6b34f64b1ee7547b927e43105118c496b9a3c1e0264e84b5b0fb459582af98edf0c117f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEAaDgC7SmafEPWUSJpC8bq9Og\nKLXqdXV6mGxV9hWUaXUriLvp9S8kItUDpNmoScPa1BCm3E5OMrlUaeCThgY0AVdM\nUBEokGRZojr5O5gw4pfz5z0xc994B2ebcTzms09kse51R7kn5DEFEYxJa5o8HgJk\n6EtbD7RZWCr5jt8MEX8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401a0e00bb4a669f10f594489a42f1babd3a028b5ea75757a986c55f6159469752b88bbe9f52f2422d503a4d9a849c3dad410a6dc4e4e32b95469e09386063401574c501128906459a23af93b9830e297f3e73d3173df7807679b713ce6b34f64b1ee7547b927e43105118c496b9a3c1e0264e84b5b0fb459582af98edf0c117f",
         "wx" : "1a0e00bb4a669f10f594489a42f1babd3a028b5ea75757a986c55f6159469752b88bbe9f52f2422d503a4d9a849c3dad410a6dc4e4e32b95469e09386063401",
         "wy" : "574c501128906459a23af93b9830e297f3e73d3173df7807679b713ce6b34f64b1ee7547b927e43105118c496b9a3c1e0264e84b5b0fb459582af98edf0c117f"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000401a0e00bb4a669f10f594489a42f1babd3a028b5ea75757a986c55f6159469752b88bbe9f52f2422d503a4d9a849c3dad410a6dc4e4e32b95469e09386063401574c501128906459a23af93b9830e297f3e73d3173df7807679b713ce6b34f64b1ee7547b927e43105118c496b9a3c1e0264e84b5b0fb459582af98edf0c117f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEAaDgC7SmafEPWUSJpC8bq9Og\nKLXqdXV6mGxV9hWUaXUriLvp9S8kItUDpNmoScPa1BCm3E5OMrlUaeCThgY0AVdM\nUBEokGRZojr5O5gw4pfz5z0xc994B2ebcTzms09kse51R7kn5DEFEYxJa5o8HgJk\n6EtbD7RZWCr5jt8MEX8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "304b02072d9b4d347952cc024076752ce289c38f22de7f75d0fa6da056f473c77194de931d97efd65421ff3ec82c57a6393a42702e14a2d831768865ab933281abf1bcf52a7ef6b73f2373c9ee",
@@ -2105,20 +2196,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040dc4c5639b7690157c210b75e7a006d9cfdf80f9d0b2bbd643036890a8168a88947b197aa9a60047cd8f6e77c0777bb9e09da737dbbe57a977a6ae070798356460b0a49d4f9578273f6e5ab3873194292e893e06c5a39bb1f8a0551f4e01ca460a03a77c35cff8d7d6e0f33b8a88acdc36eae5a83a129bfeecc2a68936883d91",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEDcTFY5t2kBV8IQt156AG2c/f\ngPnQsrvWQwNokKgWioiUexl6qaYAR82PbnfAd3u54J2nN9u+V6l3pq4HB5g1ZGCw\npJ1PlXgnP25as4cxlCkuiT4GxaObsfigVR9OAcpGCgOnfDXP+NfW4PM7iois3Dbq\n5ag6Epv+7MKmiTaIPZE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "040dc4c5639b7690157c210b75e7a006d9cfdf80f9d0b2bbd643036890a8168a88947b197aa9a60047cd8f6e77c0777bb9e09da737dbbe57a977a6ae070798356460b0a49d4f9578273f6e5ab3873194292e893e06c5a39bb1f8a0551f4e01ca460a03a77c35cff8d7d6e0f33b8a88acdc36eae5a83a129bfeecc2a68936883d91",
         "wx" : "0dc4c5639b7690157c210b75e7a006d9cfdf80f9d0b2bbd643036890a8168a88947b197aa9a60047cd8f6e77c0777bb9e09da737dbbe57a977a6ae0707983564",
         "wy" : "60b0a49d4f9578273f6e5ab3873194292e893e06c5a39bb1f8a0551f4e01ca460a03a77c35cff8d7d6e0f33b8a88acdc36eae5a83a129bfeecc2a68936883d91"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040dc4c5639b7690157c210b75e7a006d9cfdf80f9d0b2bbd643036890a8168a88947b197aa9a60047cd8f6e77c0777bb9e09da737dbbe57a977a6ae070798356460b0a49d4f9578273f6e5ab3873194292e893e06c5a39bb1f8a0551f4e01ca460a03a77c35cff8d7d6e0f33b8a88acdc36eae5a83a129bfeecc2a68936883d91",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEDcTFY5t2kBV8IQt156AG2c/f\ngPnQsrvWQwNokKgWioiUexl6qaYAR82PbnfAd3u54J2nN9u+V6l3pq4HB5g1ZGCw\npJ1PlXgnP25as4cxlCkuiT4GxaObsfigVR9OAcpGCgOnfDXP+NfW4PM7iois3Dbq\n5ag6Epv+7MKmiTaIPZE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3052020d1033e67e37b32b445580bf4efd0241009ce766006a5130005e79caddba04302708487a27823bd1d3d9ca0a801f4fbc0b83126aa1911ad44afd6a770c753d619fef707e7c773f467de5738b35333893cd",
@@ -2128,20 +2220,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004867dfdd726cee931256dd9aae0c1a660a12b1dfd6baf180b35e39c0f93cbf9800c5cf11b29f18678d325121fb286545a512dd8f6c2cb81e598d05fc40cfcf9dc91d4d2153f667593e25fee42e39dafd1811974943e875dfcc6badc0ea22db4212637be71c6b74375c43cfbf719088691aec70e691e46edfe8ccdb4cefcb1351e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEhn391ybO6TElbdmq4MGmYKEr\nHf1rrxgLNeOcD5PL+YAMXPEbKfGGeNMlEh+yhlRaUS3Y9sLLgeWY0F/EDPz53JHU\n0hU/ZnWT4l/uQuOdr9GBGXSUPodd/Ma63A6iLbQhJje+cca3Q3XEPPv3GQiGka7H\nDmkeRu3+jM20zvyxNR4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04867dfdd726cee931256dd9aae0c1a660a12b1dfd6baf180b35e39c0f93cbf9800c5cf11b29f18678d325121fb286545a512dd8f6c2cb81e598d05fc40cfcf9dc91d4d2153f667593e25fee42e39dafd1811974943e875dfcc6badc0ea22db4212637be71c6b74375c43cfbf719088691aec70e691e46edfe8ccdb4cefcb1351e",
         "wx" : "0867dfdd726cee931256dd9aae0c1a660a12b1dfd6baf180b35e39c0f93cbf9800c5cf11b29f18678d325121fb286545a512dd8f6c2cb81e598d05fc40cfcf9dc",
         "wy" : "091d4d2153f667593e25fee42e39dafd1811974943e875dfcc6badc0ea22db4212637be71c6b74375c43cfbf719088691aec70e691e46edfe8ccdb4cefcb1351e"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004867dfdd726cee931256dd9aae0c1a660a12b1dfd6baf180b35e39c0f93cbf9800c5cf11b29f18678d325121fb286545a512dd8f6c2cb81e598d05fc40cfcf9dc91d4d2153f667593e25fee42e39dafd1811974943e875dfcc6badc0ea22db4212637be71c6b74375c43cfbf719088691aec70e691e46edfe8ccdb4cefcb1351e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEhn391ybO6TElbdmq4MGmYKEr\nHf1rrxgLNeOcD5PL+YAMXPEbKfGGeNMlEh+yhlRaUS3Y9sLLgeWY0F/EDPz53JHU\n0hU/ZnWT4l/uQuOdr9GBGXSUPodd/Ma63A6iLbQhJje+cca3Q3XEPPv3GQiGka7H\nDmkeRu3+jM20zvyxNR4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "3046020201000240029c0de2216bab72af9ec823411e7ee444482bc268ae1ba9064e04019609757d95b2e0c5a3fde377a87fcd38b32f8061bd3dc81cbbdb96ca626e6582ba61dc31",
@@ -2151,20 +2244,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000434308c7d6eaa1bd7d8edc02fc6277c5271ca847428ff210d6078ec968df4e8730e21bc7715a7ee85a7352802466c0ab23560929bab49296509937fe7cd6edc0236491a29b86ea0e6124f4b72101f48230bdc1f5b36d2e6500c3ffd4ba9818b435046335a2da15a89bc51117204d330832abc0f7b09a59d82bbb01d71762d8df5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAENDCMfW6qG9fY7cAvxid8UnHK\nhHQo/yENYHjslo306HMOIbx3Fafuhac1KAJGbAqyNWCSm6tJKWUJk3/nzW7cAjZJ\nGim4bqDmEk9LchAfSCML3B9bNtLmUAw//UupgYtDUEYzWi2hWom8URFyBNMwgyq8\nD3sJpZ2Cu7AdcXYtjfU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0434308c7d6eaa1bd7d8edc02fc6277c5271ca847428ff210d6078ec968df4e8730e21bc7715a7ee85a7352802466c0ab23560929bab49296509937fe7cd6edc0236491a29b86ea0e6124f4b72101f48230bdc1f5b36d2e6500c3ffd4ba9818b435046335a2da15a89bc51117204d330832abc0f7b09a59d82bbb01d71762d8df5",
         "wx" : "34308c7d6eaa1bd7d8edc02fc6277c5271ca847428ff210d6078ec968df4e8730e21bc7715a7ee85a7352802466c0ab23560929bab49296509937fe7cd6edc02",
         "wy" : "36491a29b86ea0e6124f4b72101f48230bdc1f5b36d2e6500c3ffd4ba9818b435046335a2da15a89bc51117204d330832abc0f7b09a59d82bbb01d71762d8df5"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000434308c7d6eaa1bd7d8edc02fc6277c5271ca847428ff210d6078ec968df4e8730e21bc7715a7ee85a7352802466c0ab23560929bab49296509937fe7cd6edc0236491a29b86ea0e6124f4b72101f48230bdc1f5b36d2e6500c3ffd4ba9818b435046335a2da15a89bc51117204d330832abc0f7b09a59d82bbb01d71762d8df5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAENDCMfW6qG9fY7cAvxid8UnHK\nhHQo/yENYHjslo306HMOIbx3Fafuhac1KAJGbAqyNWCSm6tJKWUJk3/nzW7cAjZJ\nGim4bqDmEk9LchAfSCML3B9bNtLmUAw//UupgYtDUEYzWi2hWom8URFyBNMwgyq8\nD3sJpZ2Cu7AdcXYtjfU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3051020d062522bbd3ecbe7c39e93e7c250240029c0de2216bab72af9ec823411e7ee444482bc268ae1ba9064e04019609757d95b2e0c5a3fde377a87fcd38b32f8061bd3dc81cbbdb96ca626e6582ba61dc31",
@@ -2174,20 +2268,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000478d35a1c8a83997300a02eb477916e7095b001bfc47341528f75c6cebefd2d59c5d5efaeae9c5bd8ad4bdbad76da1cbcd3547a95d392dff53ce85bc4e4b23ff94bb3427e6074138fc0e438320a314e20367137133b4fee63d80ecfb5931666b0873dcd456a36994edfda75b0f3ea81732277e77adc43a481ff0f0ed4d2f37ff0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEeNNaHIqDmXMAoC60d5FucJWw\nAb/Ec0FSj3XGzr79LVnF1e+urpxb2K1L26122hy801R6ldOS3/U86FvE5LI/+Uuz\nQn5gdBOPwOQ4MgoxTiA2cTcTO0/uY9gOz7WTFmawhz3NRWo2mU7f2nWw8+qBcyJ3\n53rcQ6SB/w8O1NLzf/A=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0478d35a1c8a83997300a02eb477916e7095b001bfc47341528f75c6cebefd2d59c5d5efaeae9c5bd8ad4bdbad76da1cbcd3547a95d392dff53ce85bc4e4b23ff94bb3427e6074138fc0e438320a314e20367137133b4fee63d80ecfb5931666b0873dcd456a36994edfda75b0f3ea81732277e77adc43a481ff0f0ed4d2f37ff0",
         "wx" : "78d35a1c8a83997300a02eb477916e7095b001bfc47341528f75c6cebefd2d59c5d5efaeae9c5bd8ad4bdbad76da1cbcd3547a95d392dff53ce85bc4e4b23ff9",
         "wy" : "4bb3427e6074138fc0e438320a314e20367137133b4fee63d80ecfb5931666b0873dcd456a36994edfda75b0f3ea81732277e77adc43a481ff0f0ed4d2f37ff0"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000478d35a1c8a83997300a02eb477916e7095b001bfc47341528f75c6cebefd2d59c5d5efaeae9c5bd8ad4bdbad76da1cbcd3547a95d392dff53ce85bc4e4b23ff94bb3427e6074138fc0e438320a314e20367137133b4fee63d80ecfb5931666b0873dcd456a36994edfda75b0f3ea81732277e77adc43a481ff0f0ed4d2f37ff0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEeNNaHIqDmXMAoC60d5FucJWw\nAb/Ec0FSj3XGzr79LVnF1e+urpxb2K1L26122hy801R6ldOS3/U86FvE5LI/+Uuz\nQn5gdBOPwOQ4MgoxTiA2cTcTO0/uY9gOz7WTFmawhz3NRWo2mU7f2nWw8+qBcyJ3\n53rcQ6SB/w8O1NLzf/A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "308185024100aadd9db8dbe9c48b3fd4e6ae33c9fc07cb308db3b3c9d20ed6639cca70330870553e5c414ca92619418661197fac10471db1d381085ddaddb58796829ca8ffe9024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578",
@@ -2197,20 +2292,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049019be20f640ecb2b7c3311bcda870954938a780686c063fe0ab26f57ba60511ff3cee3286d8d90487eb8014788a1f134ed59a774fdb8b0d24770bf2301b2d1808fe934dc911d15c44e59b9026811e7cd8fdd874410d51a56f5aea137bfc4a8e85b7eba7528949cdabc4d33aef16157d14e3f5f68bde5de1c5196917a56dab29",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEkBm+IPZA7LK3wzEbzahwlUk4\np4BobAY/4Ksm9XumBRH/PO4yhtjZBIfrgBR4ih8TTtWad0/biw0kdwvyMBstGAj+\nk03JEdFcROWbkCaBHnzY/dh0QQ1RpW9a6hN7/EqOhbfrp1KJSc2rxNM67xYVfRTj\n9faL3l3hxRlpF6Vtqyk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "049019be20f640ecb2b7c3311bcda870954938a780686c063fe0ab26f57ba60511ff3cee3286d8d90487eb8014788a1f134ed59a774fdb8b0d24770bf2301b2d1808fe934dc911d15c44e59b9026811e7cd8fdd874410d51a56f5aea137bfc4a8e85b7eba7528949cdabc4d33aef16157d14e3f5f68bde5de1c5196917a56dab29",
         "wx" : "09019be20f640ecb2b7c3311bcda870954938a780686c063fe0ab26f57ba60511ff3cee3286d8d90487eb8014788a1f134ed59a774fdb8b0d24770bf2301b2d18",
         "wy" : "08fe934dc911d15c44e59b9026811e7cd8fdd874410d51a56f5aea137bfc4a8e85b7eba7528949cdabc4d33aef16157d14e3f5f68bde5de1c5196917a56dab29"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049019be20f640ecb2b7c3311bcda870954938a780686c063fe0ab26f57ba60511ff3cee3286d8d90487eb8014788a1f134ed59a774fdb8b0d24770bf2301b2d1808fe934dc911d15c44e59b9026811e7cd8fdd874410d51a56f5aea137bfc4a8e85b7eba7528949cdabc4d33aef16157d14e3f5f68bde5de1c5196917a56dab29",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEkBm+IPZA7LK3wzEbzahwlUk4\np4BobAY/4Ksm9XumBRH/PO4yhtjZBIfrgBR4ih8TTtWad0/biw0kdwvyMBstGAj+\nk03JEdFcROWbkCaBHnzY/dh0QQ1RpW9a6hN7/EqOhbfrp1KJSc2rxNM67xYVfRTj\n9faL3l3hxRlpF6Vtqyk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3045024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578020101",
@@ -2218,7 +2314,7 @@
           "flags" : []
         },
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3045024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578020100",
@@ -2228,20 +2324,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004417db8e95f89131457983e75379009905d2d8008b790519d65e650d3b60a32563c18c5afd06ca314bc3a17746087a578ce78cbb60cb599cf0dd9cff22acb84cf0b86f2e57ce298c85bc28f3d0274cf3140ea5fc6015f4b636fb271da09445e15adcb60ae1f6d001ad4e25e6d69767236cc16e725f5d7b2af449939017a8c8c85",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEQX246V+JExRXmD51N5AJkF0t\ngAi3kFGdZeZQ07YKMlY8GMWv0GyjFLw6F3Rgh6V4znjLtgy1mc8N2c/yKsuEzwuG\n8uV84pjIW8KPPQJ0zzFA6l/GAV9LY2+ycdoJRF4Vrctgrh9tABrU4l5taXZyNswW\n5yX117KvRJk5AXqMjIU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04417db8e95f89131457983e75379009905d2d8008b790519d65e650d3b60a32563c18c5afd06ca314bc3a17746087a578ce78cbb60cb599cf0dd9cff22acb84cf0b86f2e57ce298c85bc28f3d0274cf3140ea5fc6015f4b636fb271da09445e15adcb60ae1f6d001ad4e25e6d69767236cc16e725f5d7b2af449939017a8c8c85",
         "wx" : "417db8e95f89131457983e75379009905d2d8008b790519d65e650d3b60a32563c18c5afd06ca314bc3a17746087a578ce78cbb60cb599cf0dd9cff22acb84cf",
         "wy" : "0b86f2e57ce298c85bc28f3d0274cf3140ea5fc6015f4b636fb271da09445e15adcb60ae1f6d001ad4e25e6d69767236cc16e725f5d7b2af449939017a8c8c85"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004417db8e95f89131457983e75379009905d2d8008b790519d65e650d3b60a32563c18c5afd06ca314bc3a17746087a578ce78cbb60cb599cf0dd9cff22acb84cf0b86f2e57ce298c85bc28f3d0274cf3140ea5fc6015f4b636fb271da09445e15adcb60ae1f6d001ad4e25e6d69767236cc16e725f5d7b2af449939017a8c8c85",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEQX246V+JExRXmD51N5AJkF0t\ngAi3kFGdZeZQ07YKMlY8GMWv0GyjFLw6F3Rgh6V4znjLtgy1mc8N2c/yKsuEzwuG\n8uV84pjIW8KPPQJ0zzFA6l/GAV9LY2+ycdoJRF4Vrctgrh9tABrU4l5taXZyNswW\n5yX117KvRJk5AXqMjIU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "3081840240556ecedc6df4e2459fea735719e4fe03e59846d9d9e4e9076b31ce65381984382a9f2e20a654930ca0c3308cbfd608238ed8e9c0842eed6edac3cb414e548034024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578",
@@ -2251,20 +2348,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000438597c68eabfbe648bca0b3e8d235f9082cf15d694e14e686b1e0a89b73e3dbc346ebbde38da2c602fe975c21a1fbc8f363b592903d02d4434fae52ee8cc3b3a572b82084747ea5af0633936b570354365ee2d7fba4c404bd69458eb825007ed89067effec6b2e67c32d197e8c28ecfefa7ee79cea09d7eb248925c543c30ba5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEOFl8aOq/vmSLygs+jSNfkILP\nFdaU4U5oax4Kibc+Pbw0brveONosYC/pdcIaH7yPNjtZKQPQLUQ0+uUu6Mw7Olcr\ngghHR+pa8GM5NrVwNUNl7i1/ukxAS9aUWOuCUAftiQZ+/+xrLmfDLRl+jCjs/vp+\n55zqCdfrJIklxUPDC6U=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0438597c68eabfbe648bca0b3e8d235f9082cf15d694e14e686b1e0a89b73e3dbc346ebbde38da2c602fe975c21a1fbc8f363b592903d02d4434fae52ee8cc3b3a572b82084747ea5af0633936b570354365ee2d7fba4c404bd69458eb825007ed89067effec6b2e67c32d197e8c28ecfefa7ee79cea09d7eb248925c543c30ba5",
         "wx" : "38597c68eabfbe648bca0b3e8d235f9082cf15d694e14e686b1e0a89b73e3dbc346ebbde38da2c602fe975c21a1fbc8f363b592903d02d4434fae52ee8cc3b3a",
         "wy" : "572b82084747ea5af0633936b570354365ee2d7fba4c404bd69458eb825007ed89067effec6b2e67c32d197e8c28ecfefa7ee79cea09d7eb248925c543c30ba5"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000438597c68eabfbe648bca0b3e8d235f9082cf15d694e14e686b1e0a89b73e3dbc346ebbde38da2c602fe975c21a1fbc8f363b592903d02d4434fae52ee8cc3b3a572b82084747ea5af0633936b570354365ee2d7fba4c404bd69458eb825007ed89067effec6b2e67c32d197e8c28ecfefa7ee79cea09d7eb248925c543c30ba5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEOFl8aOq/vmSLygs+jSNfkILP\nFdaU4U5oax4Kibc+Pbw0brveONosYC/pdcIaH7yPNjtZKQPQLUQ0+uUu6Mw7Olcr\ngghHR+pa8GM5NrVwNUNl7i1/ukxAS9aUWOuCUAftiQZ+/+xrLmfDLRl+jCjs/vp+\n55zqCdfrJIklxUPDC6U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "308184024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
@@ -2274,20 +2372,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049d60ec91976a8fc7f8422876ccb22870eca8d39b8cdfc30193e3bb22a10e37c537a092dbb0124c8c4b26655ad96127d3140bc1f9556ebabf477fd95951b4b0dd2bc1fcd7d6840fd83a5e982361c304a34ed10e873aa4637ecac29f555c0526b519c238ce0b002d7e2f98225dec884c95d742e86fa68ce6e81f6542fe81730cfb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEnWDskZdqj8f4Qih2zLIocOyo\n05uM38MBk+O7IqEON8U3oJLbsBJMjEsmZVrZYSfTFAvB+VVuur9Hf9lZUbSw3SvB\n/NfWhA/YOl6YI2HDBKNO0Q6HOqRjfsrCn1VcBSa1GcI4zgsALX4vmCJd7IhMlddC\n6G+mjOboH2VC/oFzDPs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "049d60ec91976a8fc7f8422876ccb22870eca8d39b8cdfc30193e3bb22a10e37c537a092dbb0124c8c4b26655ad96127d3140bc1f9556ebabf477fd95951b4b0dd2bc1fcd7d6840fd83a5e982361c304a34ed10e873aa4637ecac29f555c0526b519c238ce0b002d7e2f98225dec884c95d742e86fa68ce6e81f6542fe81730cfb",
         "wx" : "09d60ec91976a8fc7f8422876ccb22870eca8d39b8cdfc30193e3bb22a10e37c537a092dbb0124c8c4b26655ad96127d3140bc1f9556ebabf477fd95951b4b0dd",
         "wy" : "2bc1fcd7d6840fd83a5e982361c304a34ed10e873aa4637ecac29f555c0526b519c238ce0b002d7e2f98225dec884c95d742e86fa68ce6e81f6542fe81730cfb"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049d60ec91976a8fc7f8422876ccb22870eca8d39b8cdfc30193e3bb22a10e37c537a092dbb0124c8c4b26655ad96127d3140bc1f9556ebabf477fd95951b4b0dd2bc1fcd7d6840fd83a5e982361c304a34ed10e873aa4637ecac29f555c0526b519c238ce0b002d7e2f98225dec884c95d742e86fa68ce6e81f6542fe81730cfb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEnWDskZdqj8f4Qih2zLIocOyo\n05uM38MBk+O7IqEON8U3oJLbsBJMjEsmZVrZYSfTFAvB+VVuur9Hf9lZUbSw3SvB\n/NfWhA/YOl6YI2HDBKNO0Q6HOqRjfsrCn1VcBSa1GcI4zgsALX4vmCJd7IhMlddC\n6G+mjOboH2VC/oFzDPs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "308184024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578024066e59cbcf0f0a0fee7256d52661cf74b816308a77a7c9e8c4130461a4d1205eedfc32b5fba90829c8425409283eab77c74fcf1d45571da5a372a026368794c9d",
@@ -2297,20 +2396,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004a911df350e95c0da4d56c3c44a84aad88ee85e628ccc44c5e131dfad8a3fc69eed9c620ed8c821c84de2c2113c1d6c10aaea5544903b1d59678d39b052e0f1b3a2c16d1e74ae6fd993b986234665eda14ff678e58c414ae55de8aa1eda26242d616b267e6fdb7491efb5a3c179b84903127070e5e2597d2f0b2af333b6349857",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEqRHfNQ6VwNpNVsPESoSq2I7o\nXmKMzETF4THfrYo/xp7tnGIO2MghyE3iwhE8HWwQqupVRJA7HVlnjTmwUuDxs6LB\nbR50rm/Zk7mGI0Zl7aFP9njljEFK5V3oqh7aJiQtYWsmfm/bdJHvtaPBebhJAxJw\ncOXiWX0vCyrzM7Y0mFc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a911df350e95c0da4d56c3c44a84aad88ee85e628ccc44c5e131dfad8a3fc69eed9c620ed8c821c84de2c2113c1d6c10aaea5544903b1d59678d39b052e0f1b3a2c16d1e74ae6fd993b986234665eda14ff678e58c414ae55de8aa1eda26242d616b267e6fdb7491efb5a3c179b84903127070e5e2597d2f0b2af333b6349857",
         "wx" : "0a911df350e95c0da4d56c3c44a84aad88ee85e628ccc44c5e131dfad8a3fc69eed9c620ed8c821c84de2c2113c1d6c10aaea5544903b1d59678d39b052e0f1b3",
         "wy" : "0a2c16d1e74ae6fd993b986234665eda14ff678e58c414ae55de8aa1eda26242d616b267e6fdb7491efb5a3c179b84903127070e5e2597d2f0b2af333b6349857"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004a911df350e95c0da4d56c3c44a84aad88ee85e628ccc44c5e131dfad8a3fc69eed9c620ed8c821c84de2c2113c1d6c10aaea5544903b1d59678d39b052e0f1b3a2c16d1e74ae6fd993b986234665eda14ff678e58c414ae55de8aa1eda26242d616b267e6fdb7491efb5a3c179b84903127070e5e2597d2f0b2af333b6349857",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEqRHfNQ6VwNpNVsPESoSq2I7o\nXmKMzETF4THfrYo/xp7tnGIO2MghyE3iwhE8HWwQqupVRJA7HVlnjTmwUuDxs6LB\nbR50rm/Zk7mGI0Zl7aFP9njljEFK5V3oqh7aJiQtYWsmfm/bdJHvtaPBebhJAxJw\ncOXiWX0vCyrzM7Y0mFc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "308184024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578",
@@ -2320,20 +2420,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000401823db8fd2ba4a34bacc4f64283909f4d01d02b8db66f9cb9bd77806b890ba31a6915b93dcbdd72c83338eb6029f22c31795712b1ac7a1fb81a304e3c58d8d54ec267bad3984a3e2fd87defbe863d73885872488bdda9d6e3da8ecf8eabfd4674d201278ffc63cbc1ffa0f99eb5e85c9b20ae10a226e1e5594ca78fc0d531d8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEAYI9uP0rpKNLrMT2QoOQn00B\n0CuNtm+cub13gGuJC6MaaRW5PcvdcsgzOOtgKfIsMXlXErGseh+4GjBOPFjY1U7C\nZ7rTmEo+L9h9776GPXOIWHJIi92p1uPajs+Oq/1GdNIBJ4/8Y8vB/6D5nrXoXJsg\nrhCiJuHlWUynj8DVMdg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401823db8fd2ba4a34bacc4f64283909f4d01d02b8db66f9cb9bd77806b890ba31a6915b93dcbdd72c83338eb6029f22c31795712b1ac7a1fb81a304e3c58d8d54ec267bad3984a3e2fd87defbe863d73885872488bdda9d6e3da8ecf8eabfd4674d201278ffc63cbc1ffa0f99eb5e85c9b20ae10a226e1e5594ca78fc0d531d8",
         "wx" : "1823db8fd2ba4a34bacc4f64283909f4d01d02b8db66f9cb9bd77806b890ba31a6915b93dcbdd72c83338eb6029f22c31795712b1ac7a1fb81a304e3c58d8d5",
         "wy" : "4ec267bad3984a3e2fd87defbe863d73885872488bdda9d6e3da8ecf8eabfd4674d201278ffc63cbc1ffa0f99eb5e85c9b20ae10a226e1e5594ca78fc0d531d8"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000401823db8fd2ba4a34bacc4f64283909f4d01d02b8db66f9cb9bd77806b890ba31a6915b93dcbdd72c83338eb6029f22c31795712b1ac7a1fb81a304e3c58d8d54ec267bad3984a3e2fd87defbe863d73885872488bdda9d6e3da8ecf8eabfd4674d201278ffc63cbc1ffa0f99eb5e85c9b20ae10a226e1e5594ca78fc0d531d8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEAYI9uP0rpKNLrMT2QoOQn00B\n0CuNtm+cub13gGuJC6MaaRW5PcvdcsgzOOtgKfIsMXlXErGseh+4GjBOPFjY1U7C\nZ7rTmEo+L9h9776GPXOIWHJIi92p1uPajs+Oq/1GdNIBJ4/8Y8vB/6D5nrXoXJsg\nrhCiJuHlWUynj8DVMdg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "308184024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578024071e913d0929bd85cd53899c977dbfd5a8775b3cd22868c09e4426886f5775af58e2992d6331b6ebb810440bbaa72b584be768d00b03e91e923afb9ac6870aaf1",
@@ -2343,20 +2444,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049fa44401db098e9f28579aaf02adff61faf1e6f7039cf1b3134b83dfba962b13a4397dcdd6feef4b64fc32eb3dfba3f596f5f75beabd3dade484089310b658228bb1897c75da51e56db19d8df13623754a0db9d6da5002ffc8a73be21b80eeecca35ec541e81831b3fec4cc3193dc5929f12c4c463a4107911bbb0f15ae390ef",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEn6REAdsJjp8oV5qvAq3/Yfrx\n5vcDnPGzE0uD37qWKxOkOX3N1v7vS2T8Mus9+6P1lvX3W+q9Pa3khAiTELZYIoux\niXx12lHlbbGdjfE2I3VKDbnW2lAC/8inO+IbgO7syjXsVB6Bgxs/7EzDGT3Fkp8S\nxMRjpBB5Ebuw8VrjkO8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "049fa44401db098e9f28579aaf02adff61faf1e6f7039cf1b3134b83dfba962b13a4397dcdd6feef4b64fc32eb3dfba3f596f5f75beabd3dade484089310b658228bb1897c75da51e56db19d8df13623754a0db9d6da5002ffc8a73be21b80eeecca35ec541e81831b3fec4cc3193dc5929f12c4c463a4107911bbb0f15ae390ef",
         "wx" : "09fa44401db098e9f28579aaf02adff61faf1e6f7039cf1b3134b83dfba962b13a4397dcdd6feef4b64fc32eb3dfba3f596f5f75beabd3dade484089310b65822",
         "wy" : "08bb1897c75da51e56db19d8df13623754a0db9d6da5002ffc8a73be21b80eeecca35ec541e81831b3fec4cc3193dc5929f12c4c463a4107911bbb0f15ae390ef"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049fa44401db098e9f28579aaf02adff61faf1e6f7039cf1b3134b83dfba962b13a4397dcdd6feef4b64fc32eb3dfba3f596f5f75beabd3dade484089310b658228bb1897c75da51e56db19d8df13623754a0db9d6da5002ffc8a73be21b80eeecca35ec541e81831b3fec4cc3193dc5929f12c4c463a4107911bbb0f15ae390ef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEn6REAdsJjp8oV5qvAq3/Yfrx\n5vcDnPGzE0uD37qWKxOkOX3N1v7vS2T8Mus9+6P1lvX3W+q9Pa3khAiTELZYIoux\niXx12lHlbbGdjfE2I3VKDbnW2lAC/8inO+IbgO7syjXsVB6Bgxs/7EzDGT3Fkp8S\nxMRjpBB5Ebuw8VrjkO8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02404f9c8a3c424ba2b2882c200355d25596b1aa063ff9b2573079325128dbc6ae5098e88460f4eb4331ffa2808ad3cf2305eccce70f3e6df3cb114c638b459d9167",
@@ -2366,20 +2468,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040fe7f7ca44453560e1ba38b34ec8dfbc745edefc58878255452f614fee561a8a620b4d8624e159bd483db08c9a62100fd2ea69ef7381f520abe651b2ea226eea156e75af465b22d226408314536d4238a739fd2f4003bac552ae34bfa27e9be460fe40a5468cedd3221048cd1b8d796bc27494565f88aaf7fccc4c0fc36b78b1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAED+f3ykRFNWDhujizTsjfvHRe\n3vxYh4JVRS9hT+5WGopiC02GJOFZvUg9sIyaYhAP0upp73OB9SCr5lGy6iJu6hVu\nda9GWyLSJkCDFFNtQjinOf0vQAO6xVKuNL+ifpvkYP5ApUaM7dMiEEjNG415a8J0\nlFZfiKr3/MxMD8NreLE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "040fe7f7ca44453560e1ba38b34ec8dfbc745edefc58878255452f614fee561a8a620b4d8624e159bd483db08c9a62100fd2ea69ef7381f520abe651b2ea226eea156e75af465b22d226408314536d4238a739fd2f4003bac552ae34bfa27e9be460fe40a5468cedd3221048cd1b8d796bc27494565f88aaf7fccc4c0fc36b78b1",
         "wx" : "0fe7f7ca44453560e1ba38b34ec8dfbc745edefc58878255452f614fee561a8a620b4d8624e159bd483db08c9a62100fd2ea69ef7381f520abe651b2ea226eea",
         "wy" : "156e75af465b22d226408314536d4238a739fd2f4003bac552ae34bfa27e9be460fe40a5468cedd3221048cd1b8d796bc27494565f88aaf7fccc4c0fc36b78b1"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040fe7f7ca44453560e1ba38b34ec8dfbc745edefc58878255452f614fee561a8a620b4d8624e159bd483db08c9a62100fd2ea69ef7381f520abe651b2ea226eea156e75af465b22d226408314536d4238a739fd2f4003bac552ae34bfa27e9be460fe40a5468cedd3221048cd1b8d796bc27494565f88aaf7fccc4c0fc36b78b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAED+f3ykRFNWDhujizTsjfvHRe\n3vxYh4JVRS9hT+5WGopiC02GJOFZvUg9sIyaYhAP0upp73OB9SCr5lGy6iJu6hVu\nda9GWyLSJkCDFFNtQjinOf0vQAO6xVKuNL+ifpvkYP5ApUaM7dMiEEjNG415a8J0\nlFZfiKr3/MxMD8NreLE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02402820c603534f430db8e49727244a316acd6ea30733070dc4fdd24e2211dded80597a9cb6bd866f37b255057ab771925eb439293319a9a2c12dc0b7cb1dbf4fa7",
@@ -2389,20 +2492,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000499e5c3ad1ef53ad780c3c4d90c27cc1986496a215b25829a88de200a9c2146aec8f182dc6dec6611c7ffda1a55b0ccb2045b1ed5c9231b9eb3cb232417e2fcfa35e8b3f604f5d793d135ce06e23fc6ac82c0997de9e3f4d2dc3636ba0b521c785776dbc8d48da5d59a86fb3e90fb00bccb017d25100be8e35db1dfb5b44967ef",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEmeXDrR71OteAw8TZDCfMGYZJ\naiFbJYKaiN4gCpwhRq7I8YLcbexmEcf/2hpVsMyyBFse1ckjG56zyyMkF+L8+jXo\ns/YE9deT0TXOBuI/xqyCwJl96eP00tw2NroLUhx4V3bbyNSNpdWahvs+kPsAvMsB\nfSUQC+jjXbHftbRJZ+8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0499e5c3ad1ef53ad780c3c4d90c27cc1986496a215b25829a88de200a9c2146aec8f182dc6dec6611c7ffda1a55b0ccb2045b1ed5c9231b9eb3cb232417e2fcfa35e8b3f604f5d793d135ce06e23fc6ac82c0997de9e3f4d2dc3636ba0b521c785776dbc8d48da5d59a86fb3e90fb00bccb017d25100be8e35db1dfb5b44967ef",
         "wx" : "099e5c3ad1ef53ad780c3c4d90c27cc1986496a215b25829a88de200a9c2146aec8f182dc6dec6611c7ffda1a55b0ccb2045b1ed5c9231b9eb3cb232417e2fcfa",
         "wy" : "35e8b3f604f5d793d135ce06e23fc6ac82c0997de9e3f4d2dc3636ba0b521c785776dbc8d48da5d59a86fb3e90fb00bccb017d25100be8e35db1dfb5b44967ef"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000499e5c3ad1ef53ad780c3c4d90c27cc1986496a215b25829a88de200a9c2146aec8f182dc6dec6611c7ffda1a55b0ccb2045b1ed5c9231b9eb3cb232417e2fcfa35e8b3f604f5d793d135ce06e23fc6ac82c0997de9e3f4d2dc3636ba0b521c785776dbc8d48da5d59a86fb3e90fb00bccb017d25100be8e35db1dfb5b44967ef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEmeXDrR71OteAw8TZDCfMGYZJ\naiFbJYKaiN4gCpwhRq7I8YLcbexmEcf/2hpVsMyyBFse1ckjG56zyyMkF+L8+jXo\ns/YE9deT0TXOBuI/xqyCwJl96eP00tw2NroLUhx4V3bbyNSNpdWahvs+kPsAvMsB\nfSUQC+jjXbHftbRJZ+8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02406e5d2dd1e3d278ebc6f73409651ebc46b65c6c3efe1165b74b5164356783251e3bb666804faa7bf389b5ff285b66b912c51c478c58cd2dbe5293d95735ab9436",
@@ -2412,20 +2516,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004423fc7aa8d6d77fae60bebce7757e15689426cbabd2c3fa6ff71da7765ab887a93c93cb8e1008892c0d8f1e03e48555c81dfc433d42f4890b71177b848aab9cc1ff6abd7c7f953de797480e292b987ddf47570d88dc5e51c7a47c357d71978190931976f55cc84c3a4cd4635ed5ba4920efa8219c7aa1685bf1a9bc7129fa2cb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEQj/Hqo1td/rmC+vOd1fhVolC\nbLq9LD+m/3Had2WriHqTyTy44QCIksDY8eA+SFVcgd/EM9QvSJC3EXe4SKq5zB/2\nq9fH+VPeeXSA4pK5h930dXDYjcXlHHpHw1fXGXgZCTGXb1XMhMOkzUY17Vukkg76\nghnHqhaFvxqbxxKfoss=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04423fc7aa8d6d77fae60bebce7757e15689426cbabd2c3fa6ff71da7765ab887a93c93cb8e1008892c0d8f1e03e48555c81dfc433d42f4890b71177b848aab9cc1ff6abd7c7f953de797480e292b987ddf47570d88dc5e51c7a47c357d71978190931976f55cc84c3a4cd4635ed5ba4920efa8219c7aa1685bf1a9bc7129fa2cb",
         "wx" : "423fc7aa8d6d77fae60bebce7757e15689426cbabd2c3fa6ff71da7765ab887a93c93cb8e1008892c0d8f1e03e48555c81dfc433d42f4890b71177b848aab9cc",
         "wy" : "1ff6abd7c7f953de797480e292b987ddf47570d88dc5e51c7a47c357d71978190931976f55cc84c3a4cd4635ed5ba4920efa8219c7aa1685bf1a9bc7129fa2cb"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004423fc7aa8d6d77fae60bebce7757e15689426cbabd2c3fa6ff71da7765ab887a93c93cb8e1008892c0d8f1e03e48555c81dfc433d42f4890b71177b848aab9cc1ff6abd7c7f953de797480e292b987ddf47570d88dc5e51c7a47c357d71978190931976f55cc84c3a4cd4635ed5ba4920efa8219c7aa1685bf1a9bc7129fa2cb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEQj/Hqo1td/rmC+vOd1fhVolC\nbLq9LD+m/3Had2WriHqTyTy44QCIksDY8eA+SFVcgd/EM9QvSJC3EXe4SKq5zB/2\nq9fH+VPeeXSA4pK5h930dXDYjcXlHHpHw1fXGXgZCTGXb1XMhMOkzUY17Vukkg76\nghnHqhaFvxqbxxKfoss=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02402bd0ea22df17e2f0854094002df56a63da80713274b5192327b1d86c256437bd10f7a21e1c7480836dea40f56ee9b5810c68f2a06e728a802d01b5a514db6914",
@@ -2435,20 +2540,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004415e9d50af5da71189607811680dc16d3da9a0e339a53d166b9b226806a6ffdae01eb40295cf5e00f47ddf0b4afa6729a8f7d18a437d157df4d99c19181ef524907efdc15b338664e911b62f9ac015d9e36bb7be0cccdf330517d52970dab18848bce0bfdfc0bd39c675753666036e4c4c5eb0c62321b22bd1cb1fa352670fbc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEQV6dUK9dpxGJYHgRaA3BbT2p\noOM5pT0Wa5siaAam/9rgHrQClc9eAPR93wtK+mcpqPfRikN9FX302ZwZGB71JJB+\n/cFbM4Zk6RG2L5rAFdnja7e+DMzfMwUX1Slw2rGISLzgv9/AvTnGdXU2ZgNuTExe\nsMYjIbIr0csfo1JnD7w=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04415e9d50af5da71189607811680dc16d3da9a0e339a53d166b9b226806a6ffdae01eb40295cf5e00f47ddf0b4afa6729a8f7d18a437d157df4d99c19181ef524907efdc15b338664e911b62f9ac015d9e36bb7be0cccdf330517d52970dab18848bce0bfdfc0bd39c675753666036e4c4c5eb0c62321b22bd1cb1fa352670fbc",
         "wx" : "415e9d50af5da71189607811680dc16d3da9a0e339a53d166b9b226806a6ffdae01eb40295cf5e00f47ddf0b4afa6729a8f7d18a437d157df4d99c19181ef524",
         "wy" : "0907efdc15b338664e911b62f9ac015d9e36bb7be0cccdf330517d52970dab18848bce0bfdfc0bd39c675753666036e4c4c5eb0c62321b22bd1cb1fa352670fbc"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004415e9d50af5da71189607811680dc16d3da9a0e339a53d166b9b226806a6ffdae01eb40295cf5e00f47ddf0b4afa6729a8f7d18a437d157df4d99c19181ef524907efdc15b338664e911b62f9ac015d9e36bb7be0cccdf330517d52970dab18848bce0bfdfc0bd39c675753666036e4c4c5eb0c62321b22bd1cb1fa352670fbc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEQV6dUK9dpxGJYHgRaA3BbT2p\noOM5pT0Wa5siaAam/9rgHrQClc9eAPR93wtK+mcpqPfRikN9FX302ZwZGB71JJB+\n/cFbM4Zk6RG2L5rAFdnja7e+DMzfMwUX1Slw2rGISLzgv9/AvTnGdXU2ZgNuTExe\nsMYjIbIr0csfo1JnD7w=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02403da945bb815ee5303a05dc5eec3285b0a1edf43be7caa19fc8f5ac06122b3451d85b7df2da41f347e2e51458f39d4d16c3cc87aad7b451758d3afd9729659156",
@@ -2458,20 +2564,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042c65b61fa1f4d3c86c829d15d4de5b47c5b789f53a4355661f09eef3b97b21a3b93fae0f035bf347a315594785059b37ccf8062a391ace30e69a984d8417ca2c341a8019653ad617da57c9997c2debfaf340a6780bd8371aee2c668b7dcc70fe06789b8f36f8f13f40822f0401102e03742c8ffaa1dcf0baf981c7ecc1a7e278",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAELGW2H6H008hsgp0V1N5bR8W3\nifU6Q1VmHwnu87l7IaO5P64PA1vzR6MVWUeFBZs3zPgGKjkazjDmmphNhBfKLDQa\ngBllOtYX2lfJmXwt6/rzQKZ4C9g3Gu4sZot9zHD+Bnibjzb48T9Agi8EARAuA3Qs\nj/qh3PC6+YHH7MGn4ng=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "042c65b61fa1f4d3c86c829d15d4de5b47c5b789f53a4355661f09eef3b97b21a3b93fae0f035bf347a315594785059b37ccf8062a391ace30e69a984d8417ca2c341a8019653ad617da57c9997c2debfaf340a6780bd8371aee2c668b7dcc70fe06789b8f36f8f13f40822f0401102e03742c8ffaa1dcf0baf981c7ecc1a7e278",
         "wx" : "2c65b61fa1f4d3c86c829d15d4de5b47c5b789f53a4355661f09eef3b97b21a3b93fae0f035bf347a315594785059b37ccf8062a391ace30e69a984d8417ca2c",
         "wy" : "341a8019653ad617da57c9997c2debfaf340a6780bd8371aee2c668b7dcc70fe06789b8f36f8f13f40822f0401102e03742c8ffaa1dcf0baf981c7ecc1a7e278"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042c65b61fa1f4d3c86c829d15d4de5b47c5b789f53a4355661f09eef3b97b21a3b93fae0f035bf347a315594785059b37ccf8062a391ace30e69a984d8417ca2c341a8019653ad617da57c9997c2debfaf340a6780bd8371aee2c668b7dcc70fe06789b8f36f8f13f40822f0401102e03742c8ffaa1dcf0baf981c7ecc1a7e278",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAELGW2H6H008hsgp0V1N5bR8W3\nifU6Q1VmHwnu87l7IaO5P64PA1vzR6MVWUeFBZs3zPgGKjkazjDmmphNhBfKLDQa\ngBllOtYX2lfJmXwt6/rzQKZ4C9g3Gu4sZot9zHD+Bnibjzb48T9Agi8EARAuA3Qs\nj/qh3PC6+YHH7MGn4ng=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02407b528b7702bdca60740bb8bdd8650b6143dbe877cf95433f91eb580c245668a3b0b6fbe5b483e68fc5ca28b1e73a9a2d87990f55af68a2eb1a75fb2e52cb22ac",
@@ -2481,20 +2588,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046a8222da632550f85a0d59fa8e8f327e16274b6397d5a42aa1bf6f1a1b5cedd3a1182dd0f22fca690c5ef5a261e6e5d8bae34f2e1ae294b50a287c882574ee7c82d86218782338757b9bab359e63516ce3dbf5e7fdbd5baa4ae99713fe5dd85bb61ea12a178cfb50a25eef41a085dcd5e5b88f148badf4c8f4031e03d49aec6b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEaoIi2mMlUPhaDVn6jo8yfhYn\nS2OX1aQqob9vGhtc7dOhGC3Q8i/KaQxe9aJh5uXYuuNPLhrilLUKKHyIJXTufILY\nYhh4Izh1e5urNZ5jUWzj2/Xn/b1bqkrplxP+Xdhbth6hKheM+1CiXu9BoIXc1eW4\njxSLrfTI9AMeA9Sa7Gs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "046a8222da632550f85a0d59fa8e8f327e16274b6397d5a42aa1bf6f1a1b5cedd3a1182dd0f22fca690c5ef5a261e6e5d8bae34f2e1ae294b50a287c882574ee7c82d86218782338757b9bab359e63516ce3dbf5e7fdbd5baa4ae99713fe5dd85bb61ea12a178cfb50a25eef41a085dcd5e5b88f148badf4c8f4031e03d49aec6b",
         "wx" : "6a8222da632550f85a0d59fa8e8f327e16274b6397d5a42aa1bf6f1a1b5cedd3a1182dd0f22fca690c5ef5a261e6e5d8bae34f2e1ae294b50a287c882574ee7c",
         "wy" : "082d86218782338757b9bab359e63516ce3dbf5e7fdbd5baa4ae99713fe5dd85bb61ea12a178cfb50a25eef41a085dcd5e5b88f148badf4c8f4031e03d49aec6b"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046a8222da632550f85a0d59fa8e8f327e16274b6397d5a42aa1bf6f1a1b5cedd3a1182dd0f22fca690c5ef5a261e6e5d8bae34f2e1ae294b50a287c882574ee7c82d86218782338757b9bab359e63516ce3dbf5e7fdbd5baa4ae99713fe5dd85bb61ea12a178cfb50a25eef41a085dcd5e5b88f148badf4c8f4031e03d49aec6b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEaoIi2mMlUPhaDVn6jo8yfhYn\nS2OX1aQqob9vGhtc7dOhGC3Q8i/KaQxe9aJh5uXYuuNPLhrilLUKKHyIJXTufILY\nYhh4Izh1e5urNZ5jUWzj2/Xn/b1bqkrplxP+Xdhbth6hKheM+1CiXu9BoIXc1eW4\njxSLrfTI9AMeA9Sa7Gs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02402d17048ee57e45b66057acfab9c3b2a4939e81b1eb0f8972a8c2b5aa6b04c15584894e168e15dc5cf889fa09f7934d1084def351042c2b97cde3c100b894bad3",
@@ -2504,20 +2612,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aa17b5bd2bbfce1ae133e2479fe1f87e64e6165897ee457391bc2daee9fd7686b8d4bec8ecfa8a5693f39b4ef9b4163cdbc5c4546fadba0cfe3e1532ea2aadd473fa93039717f9dfd49a9c2884dc2d1012d71d6054ea0f391685bde5e8c0d5d611b40bd1fbe35dc5bd7e916ddc9a66ba54ae8949776f2f21d4cf54b2f6c757c5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEqhe1vSu/zhrhM+JHn+H4fmTm\nFliX7kVzkbwtrun9doa41L7I7PqKVpPzm075tBY828XEVG+tugz+PhUy6iqt1HP6\nkwOXF/nf1JqcKITcLRAS1x1gVOoPORaFveXowNXWEbQL0fvjXcW9fpFt3JpmulSu\niUl3by8h1M9UsvbHV8U=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04aa17b5bd2bbfce1ae133e2479fe1f87e64e6165897ee457391bc2daee9fd7686b8d4bec8ecfa8a5693f39b4ef9b4163cdbc5c4546fadba0cfe3e1532ea2aadd473fa93039717f9dfd49a9c2884dc2d1012d71d6054ea0f391685bde5e8c0d5d611b40bd1fbe35dc5bd7e916ddc9a66ba54ae8949776f2f21d4cf54b2f6c757c5",
         "wx" : "0aa17b5bd2bbfce1ae133e2479fe1f87e64e6165897ee457391bc2daee9fd7686b8d4bec8ecfa8a5693f39b4ef9b4163cdbc5c4546fadba0cfe3e1532ea2aadd4",
         "wy" : "73fa93039717f9dfd49a9c2884dc2d1012d71d6054ea0f391685bde5e8c0d5d611b40bd1fbe35dc5bd7e916ddc9a66ba54ae8949776f2f21d4cf54b2f6c757c5"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aa17b5bd2bbfce1ae133e2479fe1f87e64e6165897ee457391bc2daee9fd7686b8d4bec8ecfa8a5693f39b4ef9b4163cdbc5c4546fadba0cfe3e1532ea2aadd473fa93039717f9dfd49a9c2884dc2d1012d71d6054ea0f391685bde5e8c0d5d611b40bd1fbe35dc5bd7e916ddc9a66ba54ae8949776f2f21d4cf54b2f6c757c5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEqhe1vSu/zhrhM+JHn+H4fmTm\nFliX7kVzkbwtrun9doa41L7I7PqKVpPzm075tBY828XEVG+tugz+PhUy6iqt1HP6\nkwOXF/nf1JqcKITcLRAS1x1gVOoPORaFveXowNXWEbQL0fvjXcW9fpFt3JpmulSu\niUl3by8h1M9UsvbHV8U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02402b18986d87bd21cdcbf0f13103794735979354290c43aa8c298dbd473de5a389cb55f00c2184a235f6b7347305926c0e25785eca6d98eb2bd921562164f365f0",
@@ -2527,20 +2636,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004a72de8d4d2896f9bc6d72a68f8b2588fa2ecb4992e8e3616fd58a1a12f0327db1fc3740ed384022078156fe66712bf092cabbc43659cddc9cf3dbf807bcf36358819319aef0e23b142e75d9c4c139812e55e1c419d96084a68b950356c46eb2357512f208bb1dbe970d1900c8dfda77d2f477760db63d228dbf8b342265bcbde",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEpy3o1NKJb5vG1ypo+LJYj6Ls\ntJkujjYW/VihoS8DJ9sfw3QO04QCIHgVb+ZnEr8JLKu8Q2Wc3cnPPb+Ae882NYgZ\nMZrvDiOxQuddnEwTmBLlXhxBnZYISmi5UDVsRusjV1EvIIux2+lw0ZAMjf2nfS9H\nd2DbY9Io2/izQiZby94=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a72de8d4d2896f9bc6d72a68f8b2588fa2ecb4992e8e3616fd58a1a12f0327db1fc3740ed384022078156fe66712bf092cabbc43659cddc9cf3dbf807bcf36358819319aef0e23b142e75d9c4c139812e55e1c419d96084a68b950356c46eb2357512f208bb1dbe970d1900c8dfda77d2f477760db63d228dbf8b342265bcbde",
         "wx" : "0a72de8d4d2896f9bc6d72a68f8b2588fa2ecb4992e8e3616fd58a1a12f0327db1fc3740ed384022078156fe66712bf092cabbc43659cddc9cf3dbf807bcf3635",
         "wy" : "08819319aef0e23b142e75d9c4c139812e55e1c419d96084a68b950356c46eb2357512f208bb1dbe970d1900c8dfda77d2f477760db63d228dbf8b342265bcbde"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004a72de8d4d2896f9bc6d72a68f8b2588fa2ecb4992e8e3616fd58a1a12f0327db1fc3740ed384022078156fe66712bf092cabbc43659cddc9cf3dbf807bcf36358819319aef0e23b142e75d9c4c139812e55e1c419d96084a68b950356c46eb2357512f208bb1dbe970d1900c8dfda77d2f477760db63d228dbf8b342265bcbde",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEpy3o1NKJb5vG1ypo+LJYj6Ls\ntJkujjYW/VihoS8DJ9sfw3QO04QCIHgVb+ZnEr8JLKu8Q2Wc3cnPPb+Ae882NYgZ\nMZrvDiOxQuddnEwTmBLlXhxBnZYISmi5UDVsRusjV1EvIIux2+lw0ZAMjf2nfS9H\nd2DbY9Io2/izQiZby94=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0240445f8caaf2093f6882bc6c7af537ebacbf8620f0b6ac68a19a5de1935225cc949c24365504222938c56982b824bbee59253f4a866485149ec4c5b5ec9ad74ec3",
@@ -2550,20 +2660,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000437d8519f0c7492ff443bad34cbd54eee9ba120e41fbb9fd604cdd6d41b762bf2bba392d4f4646978730f6556662b99768dcb2754c180c0fbd8ad707636d8f8b143b17d728ffeac454019530d2bb0f69a58535a2e8e609ff69596d53d11a00e6f650d49d9a5f211204b4e5a421c757f8e1738955df96bad5bfdd71e155a932d1f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEN9hRnwx0kv9EO600y9VO7puh\nIOQfu5/WBM3W1Bt2K/K7o5LU9GRpeHMPZVZmK5l2jcsnVMGAwPvYrXB2Ntj4sUOx\nfXKP/qxFQBlTDSuw9ppYU1oujmCf9pWW1T0RoA5vZQ1J2aXyESBLTlpCHHV/jhc4\nlV35a61b/dceFVqTLR8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0437d8519f0c7492ff443bad34cbd54eee9ba120e41fbb9fd604cdd6d41b762bf2bba392d4f4646978730f6556662b99768dcb2754c180c0fbd8ad707636d8f8b143b17d728ffeac454019530d2bb0f69a58535a2e8e609ff69596d53d11a00e6f650d49d9a5f211204b4e5a421c757f8e1738955df96bad5bfdd71e155a932d1f",
         "wx" : "37d8519f0c7492ff443bad34cbd54eee9ba120e41fbb9fd604cdd6d41b762bf2bba392d4f4646978730f6556662b99768dcb2754c180c0fbd8ad707636d8f8b1",
         "wy" : "43b17d728ffeac454019530d2bb0f69a58535a2e8e609ff69596d53d11a00e6f650d49d9a5f211204b4e5a421c757f8e1738955df96bad5bfdd71e155a932d1f"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000437d8519f0c7492ff443bad34cbd54eee9ba120e41fbb9fd604cdd6d41b762bf2bba392d4f4646978730f6556662b99768dcb2754c180c0fbd8ad707636d8f8b143b17d728ffeac454019530d2bb0f69a58535a2e8e609ff69596d53d11a00e6f650d49d9a5f211204b4e5a421c757f8e1738955df96bad5bfdd71e155a932d1f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEN9hRnwx0kv9EO600y9VO7puh\nIOQfu5/WBM3W1Bt2K/K7o5LU9GRpeHMPZVZmK5l2jcsnVMGAwPvYrXB2Ntj4sUOx\nfXKP/qxFQBlTDSuw9ppYU1oujmCf9pWW1T0RoA5vZQ1J2aXyESBLTlpCHHV/jhc4\nlV35a61b/dceFVqTLR8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02402da089be4ccf10ec5bd463556efbd3388cc343b9dd0bbd6f2e98a5d0ca362d0fde2aebf02bdef173a0f1f04755ee76a098727638e4f7f389521d997bab85b781",
@@ -2573,20 +2684,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042afb786d246b43a53df6841d04d4c7705357939697714ed4681dc595188191877a46f3c6bbc63170406e0c6db7dd6789a644738f7d0acb7c9e5959c01e39e97520327e6e5c925198b74af0beb51a83ea662efbc3f85bba8924046b97dacb0717d6b7f422d8426625ea7f6b4ce865dfab264ba5247b4dad3e2ca5614bff4c0d5f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEKvt4bSRrQ6U99oQdBNTHcFNX\nk5aXcU7UaB3FlRiBkYd6RvPGu8YxcEBuDG233WeJpkRzj30Ky3yeWVnAHjnpdSAy\nfm5cklGYt0rwvrUag+pmLvvD+Fu6iSQEa5faywcX1rf0IthCZiXqf2tM6GXfqyZL\npSR7Ta0+LKVhS/9MDV8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "042afb786d246b43a53df6841d04d4c7705357939697714ed4681dc595188191877a46f3c6bbc63170406e0c6db7dd6789a644738f7d0acb7c9e5959c01e39e97520327e6e5c925198b74af0beb51a83ea662efbc3f85bba8924046b97dacb0717d6b7f422d8426625ea7f6b4ce865dfab264ba5247b4dad3e2ca5614bff4c0d5f",
         "wx" : "2afb786d246b43a53df6841d04d4c7705357939697714ed4681dc595188191877a46f3c6bbc63170406e0c6db7dd6789a644738f7d0acb7c9e5959c01e39e975",
         "wy" : "20327e6e5c925198b74af0beb51a83ea662efbc3f85bba8924046b97dacb0717d6b7f422d8426625ea7f6b4ce865dfab264ba5247b4dad3e2ca5614bff4c0d5f"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042afb786d246b43a53df6841d04d4c7705357939697714ed4681dc595188191877a46f3c6bbc63170406e0c6db7dd6789a644738f7d0acb7c9e5959c01e39e97520327e6e5c925198b74af0beb51a83ea662efbc3f85bba8924046b97dacb0717d6b7f422d8426625ea7f6b4ce865dfab264ba5247b4dad3e2ca5614bff4c0d5f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEKvt4bSRrQ6U99oQdBNTHcFNX\nk5aXcU7UaB3FlRiBkYd6RvPGu8YxcEBuDG233WeJpkRzj30Ky3yeWVnAHjnpdSAy\nfm5cklGYt0rwvrUag+pmLvvD+Fu6iSQEa5faywcX1rf0IthCZiXqf2tM6GXfqyZL\npSR7Ta0+LKVhS/9MDV8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02405b41137c999e21d8b7a8c6aaddf7a67119868773ba177ade5d314ba1946c5a1fbc55d7e057bde2e741e3e08eabdced4130e4ec71c9efe712a43b32f7570b6f02",
@@ -2596,20 +2708,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200041b419aa39d3e3125ae705f77885c3b11387bc422fadbba7eb0a66ac14ae26c0f978333dce64e4fe0d3bdbc6d52adcee3b51493a26d21376bef764e0628dfbb1273ee3ef2eae04a27e798323d50e0f4fefbc43fc4613677311da858f83e5d9b3b9e41af6c5582908a3ef2948e4b5dc8c5b8a590b3ceda18e4c4cc05ddc268dcfe",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEG0Gao50+MSWucF93iFw7ETh7\nxCL627p+sKZqwUribA+XgzPc5k5P4NO9vG1Src7jtRSTom0hN2vvdk4GKN+7EnPu\nPvLq4Eon55gyPVDg9P77xD/EYTZ3MR2oWPg+XZs7nkGvbFWCkIo+8pSOS13Ixbil\nkLPO2hjkxMwF3cJo3P4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "041b419aa39d3e3125ae705f77885c3b11387bc422fadbba7eb0a66ac14ae26c0f978333dce64e4fe0d3bdbc6d52adcee3b51493a26d21376bef764e0628dfbb1273ee3ef2eae04a27e798323d50e0f4fefbc43fc4613677311da858f83e5d9b3b9e41af6c5582908a3ef2948e4b5dc8c5b8a590b3ceda18e4c4cc05ddc268dcfe",
         "wx" : "1b419aa39d3e3125ae705f77885c3b11387bc422fadbba7eb0a66ac14ae26c0f978333dce64e4fe0d3bdbc6d52adcee3b51493a26d21376bef764e0628dfbb12",
         "wy" : "73ee3ef2eae04a27e798323d50e0f4fefbc43fc4613677311da858f83e5d9b3b9e41af6c5582908a3ef2948e4b5dc8c5b8a590b3ceda18e4c4cc05ddc268dcfe"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200041b419aa39d3e3125ae705f77885c3b11387bc422fadbba7eb0a66ac14ae26c0f978333dce64e4fe0d3bdbc6d52adcee3b51493a26d21376bef764e0628dfbb1273ee3ef2eae04a27e798323d50e0f4fefbc43fc4613677311da858f83e5d9b3b9e41af6c5582908a3ef2948e4b5dc8c5b8a590b3ceda18e4c4cc05ddc268dcfe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEG0Gao50+MSWucF93iFw7ETh7\nxCL627p+sKZqwUribA+XgzPc5k5P4NO9vG1Src7jtRSTom0hN2vvdk4GKN+7EnPu\nPvLq4Eon55gyPVDg9P77xD/EYTZ3MR2oWPg+XZs7nkGvbFWCkIo+8pSOS13Ixbil\nkLPO2hjkxMwF3cJo3P4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818502407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02410088e19d3ae66d32c5137d2a004cf379a9a649cb2d9723384d8bc9f1725ea2872f9a80c3d0839cd45ae2d5d0d601cb63e1c95762aaaee7da9bf658cc7302912683",
@@ -2619,20 +2732,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004327a6e5e4ef2bec0631e13354094cca4df5bc4018a0572c00873543d98100ac09d76d27bd6e0bc2dc96bd8cbbe19aec0c141320ffd64aedba5c17a1be4bd296078dccc453c2aa7e92a7734823306c6c1ae3e52131edbfa5fddb719c8d5d00ba3d38baa8fb727bb941e21baff375503c27eed7046fa6d00c70ef136e01d36efd5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEMnpuXk7yvsBjHhM1QJTMpN9b\nxAGKBXLACHNUPZgQCsCddtJ71uC8Lclr2Mu+Ga7AwUEyD/1krtulwXob5L0pYHjc\nzEU8KqfpKnc0gjMGxsGuPlITHtv6X923GcjV0Auj04uqj7cnu5QeIbr/N1UDwn7t\ncEb6bQDHDvE24B0279U=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04327a6e5e4ef2bec0631e13354094cca4df5bc4018a0572c00873543d98100ac09d76d27bd6e0bc2dc96bd8cbbe19aec0c141320ffd64aedba5c17a1be4bd296078dccc453c2aa7e92a7734823306c6c1ae3e52131edbfa5fddb719c8d5d00ba3d38baa8fb727bb941e21baff375503c27eed7046fa6d00c70ef136e01d36efd5",
         "wx" : "327a6e5e4ef2bec0631e13354094cca4df5bc4018a0572c00873543d98100ac09d76d27bd6e0bc2dc96bd8cbbe19aec0c141320ffd64aedba5c17a1be4bd2960",
         "wy" : "78dccc453c2aa7e92a7734823306c6c1ae3e52131edbfa5fddb719c8d5d00ba3d38baa8fb727bb941e21baff375503c27eed7046fa6d00c70ef136e01d36efd5"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004327a6e5e4ef2bec0631e13354094cca4df5bc4018a0572c00873543d98100ac09d76d27bd6e0bc2dc96bd8cbbe19aec0c141320ffd64aedba5c17a1be4bd296078dccc453c2aa7e92a7734823306c6c1ae3e52131edbfa5fddb719c8d5d00ba3d38baa8fb727bb941e21baff375503c27eed7046fa6d00c70ef136e01d36efd5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEMnpuXk7yvsBjHhM1QJTMpN9b\nxAGKBXLACHNUPZgQCsCddtJ71uC8Lclr2Mu+Ga7AwUEyD/1krtulwXob5L0pYHjc\nzEU8KqfpKnc0gjMGxsGuPlITHtv6X923GcjV0Auj04uqj7cnu5QeIbr/N1UDwn7t\ncEb6bQDHDvE24B0279U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0240372e96e8f1e93c75e37b9a04b28f5e235b2e361f7f08b2dba5a8b21ab3c1928f1ddb334027d53df9c4daff942db35c89628e23c62c6696df2949ecab9ad5ca1b",
@@ -2642,20 +2756,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049aa189b5b1e5b66641c7ec3fa7d0dbb6a72d874d18c7927cac8470a70969f35705bc73182abc10b5a16955889619bcba6ff310209473c3120e44a2e1bf9fc9c72e5de74749a05227509a2b3d0322a8f9020709cb8e5da67dfee28e96e0ab8a1c3208055d1f08f38fa1cc79c119ff704592a8eef58bf66204b81ad0b0abdd0390",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEmqGJtbHltmZBx+w/p9Dbtqct\nh00Yx5J8rIRwpwlp81cFvHMYKrwQtaFpVYiWGby6b/MQIJRzwxIORKLhv5/Jxy5d\n50dJoFInUJorPQMiqPkCBwnLjl2mff7ijpbgq4ocMggFXR8I84+hzHnBGf9wRZKo\n7vWL9mIEuBrQsKvdA5A=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "049aa189b5b1e5b66641c7ec3fa7d0dbb6a72d874d18c7927cac8470a70969f35705bc73182abc10b5a16955889619bcba6ff310209473c3120e44a2e1bf9fc9c72e5de74749a05227509a2b3d0322a8f9020709cb8e5da67dfee28e96e0ab8a1c3208055d1f08f38fa1cc79c119ff704592a8eef58bf66204b81ad0b0abdd0390",
         "wx" : "09aa189b5b1e5b66641c7ec3fa7d0dbb6a72d874d18c7927cac8470a70969f35705bc73182abc10b5a16955889619bcba6ff310209473c3120e44a2e1bf9fc9c7",
         "wy" : "2e5de74749a05227509a2b3d0322a8f9020709cb8e5da67dfee28e96e0ab8a1c3208055d1f08f38fa1cc79c119ff704592a8eef58bf66204b81ad0b0abdd0390"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049aa189b5b1e5b66641c7ec3fa7d0dbb6a72d874d18c7927cac8470a70969f35705bc73182abc10b5a16955889619bcba6ff310209473c3120e44a2e1bf9fc9c72e5de74749a05227509a2b3d0322a8f9020709cb8e5da67dfee28e96e0ab8a1c3208055d1f08f38fa1cc79c119ff704592a8eef58bf66204b81ad0b0abdd0390",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEmqGJtbHltmZBx+w/p9Dbtqct\nh00Yx5J8rIRwpwlp81cFvHMYKrwQtaFpVYiWGby6b/MQIJRzwxIORKLhv5/Jxy5d\n50dJoFInUJorPQMiqPkCBwnLjl2mff7ijpbgq4ocMggFXR8I84+hzHnBGf9wRZKo\n7vWL9mIEuBrQsKvdA5A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02402aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9",
@@ -2665,20 +2780,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004439a859d7aaf99f57205f210c93ab89c317bd2fa215e7903a67976d336d83b1bf9719067077420078f837514d607ae3981185dc7b02627b05ac66e491a2b94c54c3fa47a926dbd6945aca6d404f85f46e070d04e7dabf6fa9cb88c3428dd02fd01a9b190bb61dfb7b2439e42d0b689aef968356b011cf3054ab929c85777e652",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEQ5qFnXqvmfVyBfIQyTq4nDF7\n0vohXnkDpnl20zbYOxv5cZBnB3QgB4+DdRTWB645gRhdx7AmJ7Baxm5JGiuUxUw/\npHqSbb1pRaym1AT4X0bgcNBOfav2+py4jDQo3QL9AamxkLth37eyQ55C0LaJrvlo\nNWsBHPMFSrkpyFd35lI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04439a859d7aaf99f57205f210c93ab89c317bd2fa215e7903a67976d336d83b1bf9719067077420078f837514d607ae3981185dc7b02627b05ac66e491a2b94c54c3fa47a926dbd6945aca6d404f85f46e070d04e7dabf6fa9cb88c3428dd02fd01a9b190bb61dfb7b2439e42d0b689aef968356b011cf3054ab929c85777e652",
         "wx" : "439a859d7aaf99f57205f210c93ab89c317bd2fa215e7903a67976d336d83b1bf9719067077420078f837514d607ae3981185dc7b02627b05ac66e491a2b94c5",
         "wy" : "4c3fa47a926dbd6945aca6d404f85f46e070d04e7dabf6fa9cb88c3428dd02fd01a9b190bb61dfb7b2439e42d0b689aef968356b011cf3054ab929c85777e652"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004439a859d7aaf99f57205f210c93ab89c317bd2fa215e7903a67976d336d83b1bf9719067077420078f837514d607ae3981185dc7b02627b05ac66e491a2b94c54c3fa47a926dbd6945aca6d404f85f46e070d04e7dabf6fa9cb88c3428dd02fd01a9b190bb61dfb7b2439e42d0b689aef968356b011cf3054ab929c85777e652",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEQ5qFnXqvmfVyBfIQyTq4nDF7\n0vohXnkDpnl20zbYOxv5cZBnB3QgB4+DdRTWB645gRhdx7AmJ7Baxm5JGiuUxUw/\npHqSbb1pRaym1AT4X0bgcNBOfav2+py4jDQo3QL9AamxkLth37eyQ55C0LaJrvlo\nNWsBHPMFSrkpyFd35lI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb024048d7851b079f620209e8ba05eb24ee515964d37577c7c3ae309ab2bddd7eee7101899d0c6c780111bede61ed1215ec42399409d605eccc9aac4c9548f87770df",
@@ -2688,20 +2804,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000466fa158c51d3a9421cbb133799ab90a12387ec7875a2b354b8487673495bb1879ef1672f4928a2034095a02c7d083f27e0eac0a40b87d837f52e7648200c5666278037cd7e5e8bc6821027b21a2ca7ae9c694ae809966b79d441dcdc9d3b444f8793122f30956ae0a7aadfbe431a342dcd857095bd058a742ba58af18b1a519b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEZvoVjFHTqUIcuxM3mauQoSOH\n7Hh1orNUuEh2c0lbsYee8WcvSSiiA0CVoCx9CD8n4OrApAuH2Df1LnZIIAxWZieA\nN81+XovGghAnshosp66caUroCZZredRB3NydO0RPh5MSLzCVauCnqt++Qxo0Lc2F\ncJW9BYp0K6WK8YsaUZs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0466fa158c51d3a9421cbb133799ab90a12387ec7875a2b354b8487673495bb1879ef1672f4928a2034095a02c7d083f27e0eac0a40b87d837f52e7648200c5666278037cd7e5e8bc6821027b21a2ca7ae9c694ae809966b79d441dcdc9d3b444f8793122f30956ae0a7aadfbe431a342dcd857095bd058a742ba58af18b1a519b",
         "wx" : "66fa158c51d3a9421cbb133799ab90a12387ec7875a2b354b8487673495bb1879ef1672f4928a2034095a02c7d083f27e0eac0a40b87d837f52e7648200c5666",
         "wy" : "278037cd7e5e8bc6821027b21a2ca7ae9c694ae809966b79d441dcdc9d3b444f8793122f30956ae0a7aadfbe431a342dcd857095bd058a742ba58af18b1a519b"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000466fa158c51d3a9421cbb133799ab90a12387ec7875a2b354b8487673495bb1879ef1672f4928a2034095a02c7d083f27e0eac0a40b87d837f52e7648200c5666278037cd7e5e8bc6821027b21a2ca7ae9c694ae809966b79d441dcdc9d3b444f8793122f30956ae0a7aadfbe431a342dcd857095bd058a742ba58af18b1a519b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEZvoVjFHTqUIcuxM3mauQoSOH\n7Hh1orNUuEh2c0lbsYee8WcvSSiiA0CVoCx9CD8n4OrApAuH2Df1LnZIIAxWZieA\nN81+XovGghAnshosp66caUroCZZredRB3NydO0RPh5MSLzCVauCnqt++Qxo0Lc2F\ncJW9BYp0K6WK8YsaUZs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02400e6cf68d5be5138253de290ec41bde7dcf96065c280d0a09d9a4888d5de04dbea75038fc061b653340696c62baaea92d5747e50249034c427f2f813e2b98c24b",
@@ -2711,20 +2828,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000429bdf2feb76740763f5098cfd5efaca5fa2b19654bd4e8d5d75978b90520e7483875bfbe2ac0e57adf90cc140af59821786724e5eab9111445a2de4b3768774c32ae3979b352dcfb0c72e8f6799ab76415428a9956ca5d2b14d74b9a1be189bcd3032f742ec94744c33a3cdca10dff4d5b07929660d6e78729ada6e5be9ae101",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEKb3y/rdnQHY/UJjP1e+spfor\nGWVL1OjV11l4uQUg50g4db++KsDlet+QzBQK9ZgheGck5eq5ERRFot5LN2h3TDKu\nOXmzUtz7DHLo9nmat2QVQoqZVspdKxTXS5ob4Ym80wMvdC7JR0TDOjzcoQ3/TVsH\nkpZg1ueHKa2m5b6a4QE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0429bdf2feb76740763f5098cfd5efaca5fa2b19654bd4e8d5d75978b90520e7483875bfbe2ac0e57adf90cc140af59821786724e5eab9111445a2de4b3768774c32ae3979b352dcfb0c72e8f6799ab76415428a9956ca5d2b14d74b9a1be189bcd3032f742ec94744c33a3cdca10dff4d5b07929660d6e78729ada6e5be9ae101",
         "wx" : "29bdf2feb76740763f5098cfd5efaca5fa2b19654bd4e8d5d75978b90520e7483875bfbe2ac0e57adf90cc140af59821786724e5eab9111445a2de4b3768774c",
         "wy" : "32ae3979b352dcfb0c72e8f6799ab76415428a9956ca5d2b14d74b9a1be189bcd3032f742ec94744c33a3cdca10dff4d5b07929660d6e78729ada6e5be9ae101"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000429bdf2feb76740763f5098cfd5efaca5fa2b19654bd4e8d5d75978b90520e7483875bfbe2ac0e57adf90cc140af59821786724e5eab9111445a2de4b3768774c32ae3979b352dcfb0c72e8f6799ab76415428a9956ca5d2b14d74b9a1be189bcd3032f742ec94744c33a3cdca10dff4d5b07929660d6e78729ada6e5be9ae101",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEKb3y/rdnQHY/UJjP1e+spfor\nGWVL1OjV11l4uQUg50g4db++KsDlet+QzBQK9ZgheGck5eq5ERRFot5LN2h3TDKu\nOXmzUtz7DHLo9nmat2QVQoqZVspdKxTXS5ob4Ym80wMvdC7JR0TDOjzcoQ3/TVsH\nkpZg1ueHKa2m5b6a4QE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb024041b2af78294165d86f751cb82a80327a0eb4c0544a06d4a5719aea4a098f115973aff4c1a8cec2dcf0f5f0fa24190b474a25b9ab3baef7770f68ba9c7ef7f7ca",
@@ -2734,20 +2852,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000480af1bb9dfce00963799e01aecbf8bf5a659b6bbfa4689f0674a6115bcdf996d155d9a75c5295141e2cc3e611b32c589e6ae76aef190dc8a363ba9f9c3cc5727038cd95bcd34420e63ae435afed09f70e4ebc3501b42f35ebbecd8b0a165c61616090b118ef05a43c31f3b710907c745264b1f537c28596a403c25195e87545e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEgK8bud/OAJY3meAa7L+L9aZZ\ntrv6RonwZ0phFbzfmW0VXZp1xSlRQeLMPmEbMsWJ5q52rvGQ3Io2O6n5w8xXJwOM\n2VvNNEIOY65DWv7Qn3Dk68NQG0LzXrvs2LChZcYWFgkLEY7wWkPDHztxCQfHRSZL\nH1N8KFlqQDwlGV6HVF4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0480af1bb9dfce00963799e01aecbf8bf5a659b6bbfa4689f0674a6115bcdf996d155d9a75c5295141e2cc3e611b32c589e6ae76aef190dc8a363ba9f9c3cc5727038cd95bcd34420e63ae435afed09f70e4ebc3501b42f35ebbecd8b0a165c61616090b118ef05a43c31f3b710907c745264b1f537c28596a403c25195e87545e",
         "wx" : "080af1bb9dfce00963799e01aecbf8bf5a659b6bbfa4689f0674a6115bcdf996d155d9a75c5295141e2cc3e611b32c589e6ae76aef190dc8a363ba9f9c3cc5727",
         "wy" : "38cd95bcd34420e63ae435afed09f70e4ebc3501b42f35ebbecd8b0a165c61616090b118ef05a43c31f3b710907c745264b1f537c28596a403c25195e87545e"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000480af1bb9dfce00963799e01aecbf8bf5a659b6bbfa4689f0674a6115bcdf996d155d9a75c5295141e2cc3e611b32c589e6ae76aef190dc8a363ba9f9c3cc5727038cd95bcd34420e63ae435afed09f70e4ebc3501b42f35ebbecd8b0a165c61616090b118ef05a43c31f3b710907c745264b1f537c28596a403c25195e87545e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEgK8bud/OAJY3meAa7L+L9aZZ\ntrv6RonwZ0phFbzfmW0VXZp1xSlRQeLMPmEbMsWJ5q52rvGQ3Io2O6n5w8xXJwOM\n2VvNNEIOY65DWv7Qn3Dk68NQG0LzXrvs2LChZcYWFgkLEY7wWkPDHztxCQfHRSZL\nH1N8KFlqQDwlGV6HVF4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818502407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0241009c5fc3fbf70f16ccdac92f95974408ffff7e05bd0268cfdf862e9beb174fb48ee1e0e10f942d8fc67ed69f7a94c85f61c84048617e67c1cc6c0260e048641a6a",
@@ -2757,20 +2876,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046eeb4735286c2c094dda29710a774eccdb6ca5fa8991f9adbc769b448d3899943c860e3fb50cff34825adaee82aab5a533adaf74fbfe7e8b032e2642fa5fc86f5ef74aa61a26823bc2ed70f08b64a6906db981564d5e0c15a076a582da8fee20b773ef591f9054da34d90a1f1317294610a81d3e0f1adce4f6d2fd6ba4b93501",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEbutHNShsLAlN2ilxCndOzNts\npfqJkfmtvHabRI04mZQ8hg4/tQz/NIJa2u6CqrWlM62vdPv+fosDLiZC+l/Ib173\nSqYaJoI7wu1w8ItkppBtuYFWTV4MFaB2pYLaj+4gt3PvWR+QVNo02QofExcpRhCo\nHT4PGtzk9tL9a6S5NQE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "046eeb4735286c2c094dda29710a774eccdb6ca5fa8991f9adbc769b448d3899943c860e3fb50cff34825adaee82aab5a533adaf74fbfe7e8b032e2642fa5fc86f5ef74aa61a26823bc2ed70f08b64a6906db981564d5e0c15a076a582da8fee20b773ef591f9054da34d90a1f1317294610a81d3e0f1adce4f6d2fd6ba4b93501",
         "wx" : "6eeb4735286c2c094dda29710a774eccdb6ca5fa8991f9adbc769b448d3899943c860e3fb50cff34825adaee82aab5a533adaf74fbfe7e8b032e2642fa5fc86f",
         "wy" : "5ef74aa61a26823bc2ed70f08b64a6906db981564d5e0c15a076a582da8fee20b773ef591f9054da34d90a1f1317294610a81d3e0f1adce4f6d2fd6ba4b93501"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200046eeb4735286c2c094dda29710a774eccdb6ca5fa8991f9adbc769b448d3899943c860e3fb50cff34825adaee82aab5a533adaf74fbfe7e8b032e2642fa5fc86f5ef74aa61a26823bc2ed70f08b64a6906db981564d5e0c15a076a582da8fee20b773ef591f9054da34d90a1f1317294610a81d3e0f1adce4f6d2fd6ba4b93501",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEbutHNShsLAlN2ilxCndOzNts\npfqJkfmtvHabRI04mZQ8hg4/tQz/NIJa2u6CqrWlM62vdPv+fosDLiZC+l/Ib173\nSqYaJoI7wu1w8ItkppBtuYFWTV4MFaB2pYLaj+4gt3PvWR+QVNo02QofExcpRhCo\nHT4PGtzk9tL9a6S5NQE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818502407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0241008de1ea3f1234690e75bd787cfabe15f833cb7dc65107cdb035f99b0bbe6c60ad6e8365dddbb1f973bc26dddba9e4ae7c72cebd41f471a8bb227d2b3df41f346b",
@@ -2780,20 +2900,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004938841937550134c5a4bade19a5021c73cffc774fdca875413a7d541e65145fb77dad4a7c7eb3a966c184d73cdcf3f1bea984ad25dd4fb7f47239faa5b539f6d3275cde53c18f3bb537a7f06c7ea1b4f355025919002bae9a3a3c1dcf150c1b53bc8dfe53f60cc785e44051c95b735552ba622897d5bf7556fd7b9e38b6531be",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEk4hBk3VQE0xaS63hmlAhxzz/\nx3T9yodUE6fVQeZRRft32tSnx+s6lmwYTXPNzz8b6phK0l3U+39HI5+qW1OfbTJ1\nzeU8GPO7U3p/BsfqG081UCWRkAK66aOjwdzxUMG1O8jf5T9gzHheRAUclbc1VSum\nIol9W/dVb9e544tlMb4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04938841937550134c5a4bade19a5021c73cffc774fdca875413a7d541e65145fb77dad4a7c7eb3a966c184d73cdcf3f1bea984ad25dd4fb7f47239faa5b539f6d3275cde53c18f3bb537a7f06c7ea1b4f355025919002bae9a3a3c1dcf150c1b53bc8dfe53f60cc785e44051c95b735552ba622897d5bf7556fd7b9e38b6531be",
         "wx" : "0938841937550134c5a4bade19a5021c73cffc774fdca875413a7d541e65145fb77dad4a7c7eb3a966c184d73cdcf3f1bea984ad25dd4fb7f47239faa5b539f6d",
         "wy" : "3275cde53c18f3bb537a7f06c7ea1b4f355025919002bae9a3a3c1dcf150c1b53bc8dfe53f60cc785e44051c95b735552ba622897d5bf7556fd7b9e38b6531be"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004938841937550134c5a4bade19a5021c73cffc774fdca875413a7d541e65145fb77dad4a7c7eb3a966c184d73cdcf3f1bea984ad25dd4fb7f47239faa5b539f6d3275cde53c18f3bb537a7f06c7ea1b4f355025919002bae9a3a3c1dcf150c1b53bc8dfe53f60cc785e44051c95b735552ba622897d5bf7556fd7b9e38b6531be",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEk4hBk3VQE0xaS63hmlAhxzz/\nx3T9yodUE6fVQeZRRft32tSnx+s6lmwYTXPNzz8b6phK0l3U+39HI5+qW1OfbTJ1\nzeU8GPO7U3p/BsfqG081UCWRkAK66aOjwdzxUMG1O8jf5T9gzHheRAUclbc1VSum\nIol9W/dVb9e544tlMb4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0240326a7e59c4bcf9ba52235a8e06d244557acf66885b64f9238cddb3be327b6205758b60f3203418cbe5b330e28a9d7a360edfb8ddf39d46340d5c2792824b7c6d",
@@ -2803,20 +2924,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000478fbd1e762019602ff7187cf06a886d2ed2cb5d06481b06c3c4be4f7f3746cd0151d57f4d6aebd6048895cabfe9500adf3daec59ffa6ee9621c8b584ed6dad1a6f3c2070e01421a1ebb969607d44f76778748bcb559a8b5eed83b04760ab53556b0039e8765ab85a92950c10ca6bbdcc9d6e2f03d88b6d7bbdcd53c8b1ff86cc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEePvR52IBlgL/cYfPBqiG0u0s\ntdBkgbBsPEvk9/N0bNAVHVf01q69YEiJXKv+lQCt89rsWf+m7pYhyLWE7W2tGm88\nIHDgFCGh67lpYH1E92d4dIvLVZqLXu2DsEdgq1NVawA56HZauFqSlQwQymu9zJ1u\nLwPYi217vc1TyLH/hsw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0478fbd1e762019602ff7187cf06a886d2ed2cb5d06481b06c3c4be4f7f3746cd0151d57f4d6aebd6048895cabfe9500adf3daec59ffa6ee9621c8b584ed6dad1a6f3c2070e01421a1ebb969607d44f76778748bcb559a8b5eed83b04760ab53556b0039e8765ab85a92950c10ca6bbdcc9d6e2f03d88b6d7bbdcd53c8b1ff86cc",
         "wx" : "78fbd1e762019602ff7187cf06a886d2ed2cb5d06481b06c3c4be4f7f3746cd0151d57f4d6aebd6048895cabfe9500adf3daec59ffa6ee9621c8b584ed6dad1a",
         "wy" : "6f3c2070e01421a1ebb969607d44f76778748bcb559a8b5eed83b04760ab53556b0039e8765ab85a92950c10ca6bbdcc9d6e2f03d88b6d7bbdcd53c8b1ff86cc"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000478fbd1e762019602ff7187cf06a886d2ed2cb5d06481b06c3c4be4f7f3746cd0151d57f4d6aebd6048895cabfe9500adf3daec59ffa6ee9621c8b584ed6dad1a6f3c2070e01421a1ebb969607d44f76778748bcb559a8b5eed83b04760ab53556b0039e8765ab85a92950c10ca6bbdcc9d6e2f03d88b6d7bbdcd53c8b1ff86cc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEePvR52IBlgL/cYfPBqiG0u0s\ntdBkgbBsPEvk9/N0bNAVHVf01q69YEiJXKv+lQCt89rsWf+m7pYhyLWE7W2tGm88\nIHDgFCGh67lpYH1E92d4dIvLVZqLXu2DsEdgq1NVawA56HZauFqSlQwQymu9zJ1u\nLwPYi217vc1TyLH/hsw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02403c5d08339f2f6f97a2b86b83296678f7bff61e1b7487cda14f3b12fce6aeafa3f2fb385aea3e82f312a6880efd18a1d77fd7faafaf9d1ecc5ee9c2c0f71d10d9",
@@ -2826,20 +2948,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044c9ada2fa2acf8d01fba2b015f7badc322785c85f2199b6c4ac490da8e1ec973387f4abe26d526a056dc7195fb1c9c0ca7612cb65f15f106380d8c5dece529f32172c8b9b3b6fb0bbe9f2273d9a218bd512479dd27605b2a6e8b44f58d176178390c2bdd1ccf60c1e823a23e8b0fce7dab2f197913b1fe30f699e3bf366bf1bf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAETJraL6Ks+NAfuisBX3utwyJ4\nXIXyGZtsSsSQ2o4eyXM4f0q+JtUmoFbccZX7HJwMp2Estl8V8QY4DYxd7OUp8yFy\nyLmztvsLvp8ic9miGL1RJHndJ2BbKm6LRPWNF2F4OQwr3RzPYMHoI6I+iw/Ofasv\nGXkTsf4w9pnjvzZr8b8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "044c9ada2fa2acf8d01fba2b015f7badc322785c85f2199b6c4ac490da8e1ec973387f4abe26d526a056dc7195fb1c9c0ca7612cb65f15f106380d8c5dece529f32172c8b9b3b6fb0bbe9f2273d9a218bd512479dd27605b2a6e8b44f58d176178390c2bdd1ccf60c1e823a23e8b0fce7dab2f197913b1fe30f699e3bf366bf1bf",
         "wx" : "4c9ada2fa2acf8d01fba2b015f7badc322785c85f2199b6c4ac490da8e1ec973387f4abe26d526a056dc7195fb1c9c0ca7612cb65f15f106380d8c5dece529f3",
         "wy" : "2172c8b9b3b6fb0bbe9f2273d9a218bd512479dd27605b2a6e8b44f58d176178390c2bdd1ccf60c1e823a23e8b0fce7dab2f197913b1fe30f699e3bf366bf1bf"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200044c9ada2fa2acf8d01fba2b015f7badc322785c85f2199b6c4ac490da8e1ec973387f4abe26d526a056dc7195fb1c9c0ca7612cb65f15f106380d8c5dece529f32172c8b9b3b6fb0bbe9f2273d9a218bd512479dd27605b2a6e8b44f58d176178390c2bdd1ccf60c1e823a23e8b0fce7dab2f197913b1fe30f699e3bf366bf1bf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAETJraL6Ks+NAfuisBX3utwyJ4\nXIXyGZtsSsSQ2o4eyXM4f0q+JtUmoFbccZX7HJwMp2Estl8V8QY4DYxd7OUp8yFy\nyLmztvsLvp8ic9miGL1RJHndJ2BbKm6LRPWNF2F4OQwr3RzPYMHoI6I+iw/Ofasv\nGXkTsf4w9pnjvzZr8b8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818502407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0241009584a4bdf0c6c8ca72211f589dcdd7be181accb926f2430dc7135abbfa7887d606030c85c72f5a3c05fcc7e0d1fb33afc0251fd33ea04b3b96470bc26ce612ab",
@@ -2849,20 +2972,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004854cf9601010be20633f5d17214cab687dab3aa54a38a02c55ed003615ec8efada2ac0d62d923d0e1df9aa382d512706cadf5539858a62a5ec62fd8248e632776a783303285206018cbb9fc1e98cdf94ac6f2fecbdc7d8428ff485e59b00b2bfa45a06aaa93e6b51b7ad1b8ac0dbe135455d8d2875231357060990abcde563de",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEhUz5YBAQviBjP10XIUyraH2r\nOqVKOKAsVe0ANhXsjvraKsDWLZI9Dh35qjgtUScGyt9VOYWKYqXsYv2CSOYyd2p4\nMwMoUgYBjLufwemM35Ssby/svcfYQo/0heWbALK/pFoGqqk+a1G3rRuKwNvhNUVd\njSh1IxNXBgmQq83lY94=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04854cf9601010be20633f5d17214cab687dab3aa54a38a02c55ed003615ec8efada2ac0d62d923d0e1df9aa382d512706cadf5539858a62a5ec62fd8248e632776a783303285206018cbb9fc1e98cdf94ac6f2fecbdc7d8428ff485e59b00b2bfa45a06aaa93e6b51b7ad1b8ac0dbe135455d8d2875231357060990abcde563de",
         "wx" : "0854cf9601010be20633f5d17214cab687dab3aa54a38a02c55ed003615ec8efada2ac0d62d923d0e1df9aa382d512706cadf5539858a62a5ec62fd8248e63277",
         "wy" : "6a783303285206018cbb9fc1e98cdf94ac6f2fecbdc7d8428ff485e59b00b2bfa45a06aaa93e6b51b7ad1b8ac0dbe135455d8d2875231357060990abcde563de"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004854cf9601010be20633f5d17214cab687dab3aa54a38a02c55ed003615ec8efada2ac0d62d923d0e1df9aa382d512706cadf5539858a62a5ec62fd8248e632776a783303285206018cbb9fc1e98cdf94ac6f2fecbdc7d8428ff485e59b00b2bfa45a06aaa93e6b51b7ad1b8ac0dbe135455d8d2875231357060990abcde563de",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEhUz5YBAQviBjP10XIUyraH2r\nOqVKOKAsVe0ANhXsjvraKsDWLZI9Dh35qjgtUScGyt9VOYWKYqXsYv2CSOYyd2p4\nMwMoUgYBjLufwemM35Ssby/svcfYQo/0heWbALK/pFoGqqk+a1G3rRuKwNvhNUVd\njSh1IxNXBgmQq83lY94=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb024040197987189f8cf04a951e01c48fa8ae9042f184848f93b215dc790fe2c42ee2d549d8cb50ff3db74b6ddb376a80b2ce3983946b2ed99819856e75ebf8ff2ae0",
@@ -2872,20 +2996,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200045e3de509f7585c0f6d05c387a6d07a061c9f98c6adc8b3c36efbdefcbff2e6ad4678960524d116154f5b17332204e3a1867082d2e518504f433e2726ad58e9d7a0b32e9d3c523bac3c1ccdd75f82b909a8306c74be899f13228abf87db76b9115c0b293d7d30f3c86230461b28a45a6cc88b8fe079143103c5b01016ba95bcd5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEXj3lCfdYXA9tBcOHptB6Bhyf\nmMatyLPDbvve/L/y5q1GeJYFJNEWFU9bFzMiBOOhhnCC0uUYUE9DPicmrVjp16Cz\nLp08UjusPBzN11+CuQmoMGx0vomfEyKKv4fbdrkRXAspPX0w88hiMEYbKKRabMiL\nj+B5FDEDxbAQFrqVvNU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "045e3de509f7585c0f6d05c387a6d07a061c9f98c6adc8b3c36efbdefcbff2e6ad4678960524d116154f5b17332204e3a1867082d2e518504f433e2726ad58e9d7a0b32e9d3c523bac3c1ccdd75f82b909a8306c74be899f13228abf87db76b9115c0b293d7d30f3c86230461b28a45a6cc88b8fe079143103c5b01016ba95bcd5",
         "wx" : "5e3de509f7585c0f6d05c387a6d07a061c9f98c6adc8b3c36efbdefcbff2e6ad4678960524d116154f5b17332204e3a1867082d2e518504f433e2726ad58e9d7",
         "wy" : "0a0b32e9d3c523bac3c1ccdd75f82b909a8306c74be899f13228abf87db76b9115c0b293d7d30f3c86230461b28a45a6cc88b8fe079143103c5b01016ba95bcd5"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200045e3de509f7585c0f6d05c387a6d07a061c9f98c6adc8b3c36efbdefcbff2e6ad4678960524d116154f5b17332204e3a1867082d2e518504f433e2726ad58e9d7a0b32e9d3c523bac3c1ccdd75f82b909a8306c74be899f13228abf87db76b9115c0b293d7d30f3c86230461b28a45a6cc88b8fe079143103c5b01016ba95bcd5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEXj3lCfdYXA9tBcOHptB6Bhyf\nmMatyLPDbvve/L/y5q1GeJYFJNEWFU9bFzMiBOOhhnCC0uUYUE9DPicmrVjp16Cz\nLp08UjusPBzN11+CuQmoMGx0vomfEyKKv4fbdrkRXAspPX0w88hiMEYbKKRabMiL\nj+B5FDEDxbAQFrqVvNU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818502407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0241008032f30e313f19e0952a3c03891f515d2085e309091f27642bb8f21fc5885dc5aa93b196a1fe7b6e96dbb66ed501659c730728d65db330330adcebd7f1fe55c0",
@@ -2895,20 +3020,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000415d2ffcd4617eb1b400610cba8d738c76c8e15ad72b34e576772ae19cd8345294644d13ac62a293788de2a92dd547c2ac3a98aba72952d3ea2d491d7eea5b9cba3ec2c79a2cf7ba0083933b2c534fd4b51587c4ebc3cbaaa28d92b95e3c8e90142effac27bbab215ac0b39d1c5f332feb779351a66c294e4ed62f5cd3229a923",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEFdL/zUYX6xtABhDLqNc4x2yO\nFa1ys05XZ3KuGc2DRSlGRNE6xiopN4jeKpLdVHwqw6mKunKVLT6i1JHX7qW5y6Ps\nLHmiz3ugCDkzssU0/UtRWHxOvDy6qijZK5XjyOkBQu/6wnu6shWsCznRxfMy/rd5\nNRpmwpTk7WL1zTIpqSM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0415d2ffcd4617eb1b400610cba8d738c76c8e15ad72b34e576772ae19cd8345294644d13ac62a293788de2a92dd547c2ac3a98aba72952d3ea2d491d7eea5b9cba3ec2c79a2cf7ba0083933b2c534fd4b51587c4ebc3cbaaa28d92b95e3c8e90142effac27bbab215ac0b39d1c5f332feb779351a66c294e4ed62f5cd3229a923",
         "wx" : "15d2ffcd4617eb1b400610cba8d738c76c8e15ad72b34e576772ae19cd8345294644d13ac62a293788de2a92dd547c2ac3a98aba72952d3ea2d491d7eea5b9cb",
         "wy" : "0a3ec2c79a2cf7ba0083933b2c534fd4b51587c4ebc3cbaaa28d92b95e3c8e90142effac27bbab215ac0b39d1c5f332feb779351a66c294e4ed62f5cd3229a923"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000415d2ffcd4617eb1b400610cba8d738c76c8e15ad72b34e576772ae19cd8345294644d13ac62a293788de2a92dd547c2ac3a98aba72952d3ea2d491d7eea5b9cba3ec2c79a2cf7ba0083933b2c534fd4b51587c4ebc3cbaaa28d92b95e3c8e90142effac27bbab215ac0b39d1c5f332feb779351a66c294e4ed62f5cd3229a923",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEFdL/zUYX6xtABhDLqNc4x2yO\nFa1ys05XZ3KuGc2DRSlGRNE6xiopN4jeKpLdVHwqw6mKunKVLT6i1JHX7qW5y6Ps\nLHmiz3ugCDkzssU0/UtRWHxOvDy6qijZK5XjyOkBQu/6wnu6shWsCznRxfMy/rd5\nNRpmwpTk7WL1zTIpqSM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb0240156ecedc6df4e2459fea735719e4fe03e59846d9d9e4e9076b31ce65381984382a9f2e20a654930ca0c3308cbfd608238ed8e9c0842eed6edac3cb414e548037",
@@ -2918,20 +3044,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004974df3e7a61283830e544ba9023479cb8d7559524df76fb38d23c55d29923e72ec5cb48717fab859f2f3111585bbee004595c5fed64411fbbf9f6351bf5f69e84e1fdd691b30b0b4c2590a881ce458053349356da747cd93ba931eee6ae88cae827007105c3b1633a48e1c9db5272ac01145aee6132ba73af83d6e6c4106b290",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEl03z56YSg4MOVEupAjR5y411\nWVJN92+zjSPFXSmSPnLsXLSHF/q4WfLzERWFu+4ARZXF/tZEEfu/n2NRv19p6E4f\n3WkbMLC0wlkKiBzkWAUzSTVtp0fNk7qTHu5q6IyugnAHEFw7FjOkjhydtScqwBFF\nruYTK6c6+D1ubEEGspA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04974df3e7a61283830e544ba9023479cb8d7559524df76fb38d23c55d29923e72ec5cb48717fab859f2f3111585bbee004595c5fed64411fbbf9f6351bf5f69e84e1fdd691b30b0b4c2590a881ce458053349356da747cd93ba931eee6ae88cae827007105c3b1633a48e1c9db5272ac01145aee6132ba73af83d6e6c4106b290",
         "wx" : "0974df3e7a61283830e544ba9023479cb8d7559524df76fb38d23c55d29923e72ec5cb48717fab859f2f3111585bbee004595c5fed64411fbbf9f6351bf5f69e8",
         "wy" : "4e1fdd691b30b0b4c2590a881ce458053349356da747cd93ba931eee6ae88cae827007105c3b1633a48e1c9db5272ac01145aee6132ba73af83d6e6c4106b290"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004974df3e7a61283830e544ba9023479cb8d7559524df76fb38d23c55d29923e72ec5cb48717fab859f2f3111585bbee004595c5fed64411fbbf9f6351bf5f69e84e1fdd691b30b0b4c2590a881ce458053349356da747cd93ba931eee6ae88cae827007105c3b1633a48e1c9db5272ac01145aee6132ba73af83d6e6c4106b290",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEl03z56YSg4MOVEupAjR5y411\nWVJN92+zjSPFXSmSPnLsXLSHF/q4WfLzERWFu+4ARZXF/tZEEfu/n2NRv19p6E4f\n3WkbMLC0wlkKiBzkWAUzSTVtp0fNk7qTHu5q6IyugnAHEFw7FjOkjhydtScqwBFF\nruYTK6c6+D1ubEEGspA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "30818402407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb02405ca54a231be76c06c9d987de7bf2ed42cd634a07edeb6e0c580412abe709ab177e474a9ea96245a640f7e6be1d2d5cba3a7cdc41a8b093901a5b8be06420e15a",
@@ -2941,20 +3068,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042cb7364ccec9148a3242eee17ce01d82a56d037cb01746fdd24b893f35e072827ce463adafca6282d93cf666a740ee88adbef241f17955d2bf5f9f95958a38a696da5643e5fe057f1c3b931e36d33f0e2f5fba680932a35987b79855b6c1f0ead64cbe9c72959ece2184ee65a768410df1dad81c4dba853340a2396abf82e36a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAELLc2TM7JFIoyQu7hfOAdgqVt\nA3ywF0b90kuJPzXgcoJ85GOtr8pigtk89manQO6Irb7yQfF5VdK/X5+VlYo4ppba\nVkPl/gV/HDuTHjbTPw4vX7poCTKjWYe3mFW2wfDq1ky+nHKVns4hhO5lp2hBDfHa\n2BxNuoUzQKI5ar+C42o=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "042cb7364ccec9148a3242eee17ce01d82a56d037cb01746fdd24b893f35e072827ce463adafca6282d93cf666a740ee88adbef241f17955d2bf5f9f95958a38a696da5643e5fe057f1c3b931e36d33f0e2f5fba680932a35987b79855b6c1f0ead64cbe9c72959ece2184ee65a768410df1dad81c4dba853340a2396abf82e36a",
         "wx" : "2cb7364ccec9148a3242eee17ce01d82a56d037cb01746fdd24b893f35e072827ce463adafca6282d93cf666a740ee88adbef241f17955d2bf5f9f95958a38a6",
         "wy" : "096da5643e5fe057f1c3b931e36d33f0e2f5fba680932a35987b79855b6c1f0ead64cbe9c72959ece2184ee65a768410df1dad81c4dba853340a2396abf82e36a"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042cb7364ccec9148a3242eee17ce01d82a56d037cb01746fdd24b893f35e072827ce463adafca6282d93cf666a740ee88adbef241f17955d2bf5f9f95958a38a696da5643e5fe057f1c3b931e36d33f0e2f5fba680932a35987b79855b6c1f0ead64cbe9c72959ece2184ee65a768410df1dad81c4dba853340a2396abf82e36a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAELLc2TM7JFIoyQu7hfOAdgqVt\nA3ywF0b90kuJPzXgcoJ85GOtr8pigtk89manQO6Irb7yQfF5VdK/X5+VlYo4ppba\nVkPl/gV/HDuTHjbTPw4vX7poCTKjWYe3mFW2wfDq1ky+nHKVns4hhO5lp2hBDfHa\n2BxNuoUzQKI5ar+C42o=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "30818402401b8e8440bd94752dc603159728a346872cad48dfff819f181f9d53537a80868bff1280acfd2397a846d3259049352bc11f5fb739410c766d1344cbcbc03bf761024021610740799a83a13b49aa45dd854d85b058bd955a4105d749cba74b8f2a38cf7c33ed56921d029e7493894ad3d8f28f4431dceb89cd56316de93dc09777ca10",
@@ -2966,20 +3094,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042cb7364ccec9148a3242eee17ce01d82a56d037cb01746fdd24b893f35e072827ce463adafca6282d93cf666a740ee88adbef241f17955d2bf5f9f95958a38a614034774f5ebbf0c2399538ffcf6bcf99bd0d34baa972eb54eac0474b9711786a700dc642930c9748d48b2c53f3b3fd836a72712dfc84151e80826eb98b76589",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAELLc2TM7JFIoyQu7hfOAdgqVt\nA3ywF0b90kuJPzXgcoJ85GOtr8pigtk89manQO6Irb7yQfF5VdK/X5+VlYo4phQD\nR3T1678MI5lTj/z2vPmb0NNLqpcutU6sBHS5cReGpwDcZCkwyXSNSLLFPzs/2Dan\nJxLfyEFR6Agm65i3ZYk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "042cb7364ccec9148a3242eee17ce01d82a56d037cb01746fdd24b893f35e072827ce463adafca6282d93cf666a740ee88adbef241f17955d2bf5f9f95958a38a614034774f5ebbf0c2399538ffcf6bcf99bd0d34baa972eb54eac0474b9711786a700dc642930c9748d48b2c53f3b3fd836a72712dfc84151e80826eb98b76589",
         "wx" : "2cb7364ccec9148a3242eee17ce01d82a56d037cb01746fdd24b893f35e072827ce463adafca6282d93cf666a740ee88adbef241f17955d2bf5f9f95958a38a6",
         "wy" : "14034774f5ebbf0c2399538ffcf6bcf99bd0d34baa972eb54eac0474b9711786a700dc642930c9748d48b2c53f3b3fd836a72712dfc84151e80826eb98b76589"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042cb7364ccec9148a3242eee17ce01d82a56d037cb01746fdd24b893f35e072827ce463adafca6282d93cf666a740ee88adbef241f17955d2bf5f9f95958a38a614034774f5ebbf0c2399538ffcf6bcf99bd0d34baa972eb54eac0474b9711786a700dc642930c9748d48b2c53f3b3fd836a72712dfc84151e80826eb98b76589",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAELLc2TM7JFIoyQu7hfOAdgqVt\nA3ywF0b90kuJPzXgcoJ85GOtr8pigtk89manQO6Irb7yQfF5VdK/X5+VlYo4phQD\nR3T1678MI5lTj/z2vPmb0NNLqpcutU6sBHS5cReGpwDcZCkwyXSNSLLFPzs/2Dan\nJxLfyEFR6Agm65i3ZYk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "30818402401b8e8440bd94752dc603159728a346872cad48dfff819f181f9d53537a80868bff1280acfd2397a846d3259049352bc11f5fb739410c766d1344cbcbc03bf761024021610740799a83a13b49aa45dd854d85b058bd955a4105d749cba74b8f2a38cf7c33ed56921d029e7493894ad3d8f28f4431dceb89cd56316de93dc09777ca10",
@@ -2991,20 +3120,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004063d566fa93ee219482ec947e7be4694f9c073b2bb786db849e1f3973c5122394cf68edd9947b58e61fe42c98d3640844ed2775b0c36b5f4c0c9605d028bc0c507521b29889632bb0756fec98e8e956cb7ac515a3fc9082b871861548e9702786f591e9a222391014725167a6c22aaf8c2c4be9425248b4d5f94f31cbd8bd352",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEBj1Wb6k+4hlILslH575GlPnA\nc7K7eG24SeHzlzxRIjlM9o7dmUe1jmH+QsmNNkCETtJ3Www2tfTAyWBdAovAxQdS\nGymIljK7B1b+yY6OlWy3rFFaP8kIK4cYYVSOlwJ4b1kemiIjkQFHJRZ6bCKq+MLE\nvpQlJItNX5TzHL2L01I=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04063d566fa93ee219482ec947e7be4694f9c073b2bb786db849e1f3973c5122394cf68edd9947b58e61fe42c98d3640844ed2775b0c36b5f4c0c9605d028bc0c507521b29889632bb0756fec98e8e956cb7ac515a3fc9082b871861548e9702786f591e9a222391014725167a6c22aaf8c2c4be9425248b4d5f94f31cbd8bd352",
         "wx" : "63d566fa93ee219482ec947e7be4694f9c073b2bb786db849e1f3973c5122394cf68edd9947b58e61fe42c98d3640844ed2775b0c36b5f4c0c9605d028bc0c5",
         "wy" : "7521b29889632bb0756fec98e8e956cb7ac515a3fc9082b871861548e9702786f591e9a222391014725167a6c22aaf8c2c4be9425248b4d5f94f31cbd8bd352"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004063d566fa93ee219482ec947e7be4694f9c073b2bb786db849e1f3973c5122394cf68edd9947b58e61fe42c98d3640844ed2775b0c36b5f4c0c9605d028bc0c507521b29889632bb0756fec98e8e956cb7ac515a3fc9082b871861548e9702786f591e9a222391014725167a6c22aaf8c2c4be9425248b4d5f94f31cbd8bd352",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEBj1Wb6k+4hlILslH575GlPnA\nc7K7eG24SeHzlzxRIjlM9o7dmUe1jmH+QsmNNkCETtJ3Www2tfTAyWBdAovAxQdS\nGymIljK7B1b+yY6OlWy3rFFaP8kIK4cYYVSOlwJ4b1kemiIjkQFHJRZ6bCKq+MLE\nvpQlJItNX5TzHL2L01I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 271,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "308184024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd6343855780240222c52be9261f41bd990faefa3f53267f5701c5723f52a02f7ad85c216709b49aaa6127375bb6e050d1ae0384cbc03416c56c3e69b45f892bde7eae6ec21cce1",
@@ -3014,21 +3144,22 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000413b9a0273b3b283cc8a25aaaf2a8508a745db022e7f4ddc06acdf06eb7770fd95ba68b047b030419aec366bd187eb840a43df7d9439419e2639614d5b4eb22d23ba9a5c0301708dc50ab9e4ad4ed48ad0f701cf387f210e57b6d06fb69cd58dfb0685f89d9ed1a319f00151d9082663046cc27101b692ca22a6b3e083dd0ff7f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEE7mgJzs7KDzIolqq8qhQinRd\nsCLn9N3Aas3wbrd3D9lbposEewMEGa7DZr0YfrhApD332UOUGeJjlhTVtOsi0jup\npcAwFwjcUKueStTtSK0PcBzzh/IQ5XttBvtpzVjfsGhfidntGjGfABUdkIJmMEbM\nJxAbaSyiKms+CD3Q/38=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0413b9a0273b3b283cc8a25aaaf2a8508a745db022e7f4ddc06acdf06eb7770fd95ba68b047b030419aec366bd187eb840a43df7d9439419e2639614d5b4eb22d23ba9a5c0301708dc50ab9e4ad4ed48ad0f701cf387f210e57b6d06fb69cd58dfb0685f89d9ed1a319f00151d9082663046cc27101b692ca22a6b3e083dd0ff7f",
         "wx" : "13b9a0273b3b283cc8a25aaaf2a8508a745db022e7f4ddc06acdf06eb7770fd95ba68b047b030419aec366bd187eb840a43df7d9439419e2639614d5b4eb22d2",
         "wy" : "3ba9a5c0301708dc50ab9e4ad4ed48ad0f701cf387f210e57b6d06fb69cd58dfb0685f89d9ed1a319f00151d9082663046cc27101b692ca22a6b3e083dd0ff7f"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000413b9a0273b3b283cc8a25aaaf2a8508a745db022e7f4ddc06acdf06eb7770fd95ba68b047b030419aec366bd187eb840a43df7d9439419e2639614d5b4eb22d23ba9a5c0301708dc50ab9e4ad4ed48ad0f701cf387f210e57b6d06fb69cd58dfb0685f89d9ed1a319f00151d9082663046cc27101b692ca22a6b3e083dd0ff7f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEE7mgJzs7KDzIolqq8qhQinRd\nsCLn9N3Aas3wbrd3D9lbposEewMEGa7DZr0YfrhApD332UOUGeJjlhTVtOsi0jup\npcAwFwjcUKueStTtSK0PcBzzh/IQ5XttBvtpzVjfsGhfidntGjGfABUdkIJmMEbM\nJxAbaSyiKms+CD3Q/38=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
-          "comment" : "extreme value for k",
+          "tcId" : 272,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3081850241009f4945f680edf9800a63285758f399b3d18d8141b8a18064a30d3035f4cb6581957877f3a8f0f72597116e702915a4f4f698f404089a4cc5080447def02f4850024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578",
           "result" : "valid",
@@ -3037,21 +3168,142 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000483672d9b61f73f1a0b2e066bc3d009749d28d4e584a1afea28dcffd78b6b2d659dbb0c5cf7bed61f3b03c3c129e31d4b49ca8da3813cf25b6f025d84ee82d561379be7f5c837fd23e0acd749167549e8703dbad3bc7add9d3a9ff01abd34b55342f532428d95cc1f0c9bae7f458d9411919a2816009658224218851b0f8d5720",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEg2ctm2H3PxoLLgZrw9AJdJ0o\n1OWEoa/qKNz/14trLWWduwxc977WHzsDw8Ep4x1LScqNo4E88ltvAl2E7oLVYTeb\n5/XIN/0j4KzXSRZ1SehwPbrTvHrdnTqf8Bq9NLVTQvUyQo2VzB8Mm65/RY2UEZGa\nKBYAllgiQhiFGw+NVyA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "0445d4d4ad6b3aaf94b6d739a072f31b1e744f13876304ea11113fe8123a155e1a921be46cde2f2412e02a0fa5c1865db8a6dbd44eeac165b0f7fa73c04783802d1cb951cc65c9056480695bc467dca577964cee048a14c81716ce9558b450981cf3a0f0059d581b076afb69efe0a505357b8060e02d6b9f13a031a1dae5f1ce3c",
+        "wx" : "45d4d4ad6b3aaf94b6d739a072f31b1e744f13876304ea11113fe8123a155e1a921be46cde2f2412e02a0fa5c1865db8a6dbd44eeac165b0f7fa73c04783802d",
+        "wy" : "1cb951cc65c9056480695bc467dca577964cee048a14c81716ce9558b450981cf3a0f0059d581b076afb69efe0a505357b8060e02d6b9f13a031a1dae5f1ce3c"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000445d4d4ad6b3aaf94b6d739a072f31b1e744f13876304ea11113fe8123a155e1a921be46cde2f2412e02a0fa5c1865db8a6dbd44eeac165b0f7fa73c04783802d1cb951cc65c9056480695bc467dca577964cee048a14c81716ce9558b450981cf3a0f0059d581b076afb69efe0a505357b8060e02d6b9f13a031a1dae5f1ce3c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAERdTUrWs6r5S21zmgcvMbHnRP\nE4djBOoRET/oEjoVXhqSG+Rs3i8kEuAqD6XBhl24ptvUTurBZbD3+nPAR4OALRy5\nUcxlyQVkgGlbxGfcpXeWTO4EihTIFxbOlVi0UJgc86DwBZ1YGwdq+2nv4KUFNXuA\nYOAta58ToDGh2uXxzjw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3081850241009f4945f680edf9800a63285758f399b3d18d8141b8a18064a30d3035f4cb6581957877f3a8f0f72597116e702915a4f4f698f404089a4cc5080447def02f485002407a0c02f1c1a6fa1a522a5ba1006bb4059122ae5bc9902853bdb4ddb52b922a996175af9c5b543fc8e5a920c9120d3032cc114dee73b0c0e781a9fdcb022f9294",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049060430c4439c352cbc08cd0906f91464ce37a7974de996525758628b9d3580540afe9be74ba1050d03acbb0ac29e60aca9b96295a6b5e49707410257fb7639d59f888ad8a62becde0661defeee48135d36167f9e8580f2714bcd5b67ec70ae3deae5d80b1e9d10c13f21ce7c59c79ac2cf705aee890adf434f29aa841a05b0f",
+        "wx" : "09060430c4439c352cbc08cd0906f91464ce37a7974de996525758628b9d3580540afe9be74ba1050d03acbb0ac29e60aca9b96295a6b5e49707410257fb7639d",
+        "wy" : "59f888ad8a62becde0661defeee48135d36167f9e8580f2714bcd5b67ec70ae3deae5d80b1e9d10c13f21ce7c59c79ac2cf705aee890adf434f29aa841a05b0f"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200049060430c4439c352cbc08cd0906f91464ce37a7974de996525758628b9d3580540afe9be74ba1050d03acbb0ac29e60aca9b96295a6b5e49707410257fb7639d59f888ad8a62becde0661defeee48135d36167f9e8580f2714bcd5b67ec70ae3deae5d80b1e9d10c13f21ce7c59c79ac2cf705aee890adf434f29aa841a05b0f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEkGBDDEQ5w1LLwIzQkG+RRkzj\nenl03pllJXWGKLnTWAVAr+m+dLoQUNA6y7CsKeYKypuWKVprXklwdBAlf7djnVn4\niK2KYr7N4GYd7+7kgTXTYWf56FgPJxS81bZ+xwrj3q5dgLHp0QwT8hznxZx5rCz3\nBa7okK30NPKaqEGgWw8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3081860241009f4945f680edf9800a63285758f399b3d18d8141b8a18064a30d3035f4cb6581957877f3a8f0f72597116e702915a4f4f698f404089a4cc5080447def02f485002410088b14afa4987d06f6643ebbe8fd4c99fd5c0715c8fd4a80bdeb6170859c26d26aa9849cdd6edb814346b80e132f00d05b15b0f9a6d17e24af79fab9bb0873387",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047326137c699e6b1d2bf313c04c34b86e63293d7e2054e47187ef843fb42674f65b7e0136ecdaf8e411c6e2dbbf5ac5007401743ec7244e7dac0379516bb92f3992e546d01c1655cf68549391d8582035ee471e58f433ea89f38f8cc1edc1928225b3f5a376e015cee6ae9e1eaae609be2e69537e596b06b77e4b6b7482fab60b",
+        "wx" : "7326137c699e6b1d2bf313c04c34b86e63293d7e2054e47187ef843fb42674f65b7e0136ecdaf8e411c6e2dbbf5ac5007401743ec7244e7dac0379516bb92f39",
+        "wy" : "092e546d01c1655cf68549391d8582035ee471e58f433ea89f38f8cc1edc1928225b3f5a376e015cee6ae9e1eaae609be2e69537e596b06b77e4b6b7482fab60b"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047326137c699e6b1d2bf313c04c34b86e63293d7e2054e47187ef843fb42674f65b7e0136ecdaf8e411c6e2dbbf5ac5007401743ec7244e7dac0379516bb92f3992e546d01c1655cf68549391d8582035ee471e58f433ea89f38f8cc1edc1928225b3f5a376e015cee6ae9e1eaae609be2e69537e596b06b77e4b6b7482fab60b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEcyYTfGmeax0r8xPATDS4bmMp\nPX4gVORxh++EP7QmdPZbfgE27Nr45BHG4tu/WsUAdAF0PsckTn2sA3lRa7kvOZLl\nRtAcFlXPaFSTkdhYIDXuRx5Y9DPqifOPjMHtwZKCJbP1o3bgFc7mrp4equYJvi5p\nU35Zawa3fktrdIL6tgs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3081850241009f4945f680edf9800a63285758f399b3d18d8141b8a18064a30d3035f4cb6581957877f3a8f0f72597116e702915a4f4f698f404089a4cc5080447def02f48500240222c52be9261f41bd990faefa3f53267f5701c5723f52a02f7ad85c216709b49aaa6127375bb6e050d1ae0384cbc03416c56c3e69b45f892bde7eae6ec21cce2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0456bd4e3ca322f65c29b611f79f3f950f21638e026fccf673b08cffc73cc39495ced5b88e26419ebde75c85fdff1460947ef7afe99aca5878b1af79688181e32369e646bb9d01a10cc4931259dc8f597d95e85ebd56729098cfab1443165e558f053698b0bb4f44222ea245ac4c21717eb22aaff650a329eee24203841c59d13f",
+        "wx" : "56bd4e3ca322f65c29b611f79f3f950f21638e026fccf673b08cffc73cc39495ced5b88e26419ebde75c85fdff1460947ef7afe99aca5878b1af79688181e323",
+        "wy" : "69e646bb9d01a10cc4931259dc8f597d95e85ebd56729098cfab1443165e558f053698b0bb4f44222ea245ac4c21717eb22aaff650a329eee24203841c59d13f"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000456bd4e3ca322f65c29b611f79f3f950f21638e026fccf673b08cffc73cc39495ced5b88e26419ebde75c85fdff1460947ef7afe99aca5878b1af79688181e32369e646bb9d01a10cc4931259dc8f597d95e85ebd56729098cfab1443165e558f053698b0bb4f44222ea245ac4c21717eb22aaff650a329eee24203841c59d13f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEVr1OPKMi9lwpthH3nz+VDyFj\njgJvzPZzsIz/xzzDlJXO1biOJkGevedchf3/FGCUfvev6ZrKWHixr3logYHjI2nm\nRrudAaEMxJMSWdyPWX2V6F69VnKQmM+rFEMWXlWPBTaYsLtPRCIuokWsTCFxfrIq\nr/ZQoynu4kIDhBxZ0T8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3081850241009f4945f680edf9800a63285758f399b3d18d8141b8a18064a30d3035f4cb6581957877f3a8f0f72597116e702915a4f4f698f404089a4cc5080447def02f4850024030d19ac71a42ca70edaa8b0d335e48023a0ddf57ea39a9bb18aebf1544a0ddd6f3c8aca4f154e6505bdd40506d9ee01451a0859294ad19f633dd98b79a796dd5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04688d0f394acb16119e0b29b56e780f295a24dcba1615a23e59e67b1dc9549bff8791a62130d4b0d8d75739f06dfc08cf6b5cb1e31a63bc72b1fad6f058b1cd599f9446ae8a7f41bdfbac1ddbcdd6e6490193260dcdada072079cbf139b666cf5934f11abf572a33e7f1235cdf70820a5475d14eced67ad6a4a8578f9b6e4093c",
+        "wx" : "688d0f394acb16119e0b29b56e780f295a24dcba1615a23e59e67b1dc9549bff8791a62130d4b0d8d75739f06dfc08cf6b5cb1e31a63bc72b1fad6f058b1cd59",
+        "wy" : "09f9446ae8a7f41bdfbac1ddbcdd6e6490193260dcdada072079cbf139b666cf5934f11abf572a33e7f1235cdf70820a5475d14eced67ad6a4a8578f9b6e4093c"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004688d0f394acb16119e0b29b56e780f295a24dcba1615a23e59e67b1dc9549bff8791a62130d4b0d8d75739f06dfc08cf6b5cb1e31a63bc72b1fad6f058b1cd599f9446ae8a7f41bdfbac1ddbcdd6e6490193260dcdada072079cbf139b666cf5934f11abf572a33e7f1235cdf70820a5475d14eced67ad6a4a8578f9b6e4093c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEaI0POUrLFhGeCym1bngPKVok\n3LoWFaI+WeZ7HclUm/+HkaYhMNSw2NdXOfBt/AjPa1yx4xpjvHKx+tbwWLHNWZ+U\nRq6Kf0G9+6wd283W5kkBkyYNza2gcgecvxObZmz1k08Rq/Vyoz5/EjXN9wggpUdd\nFOztZ61qSoV4+bbkCTw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3081850241009f4945f680edf9800a63285758f399b3d18d8141b8a18064a30d3035f4cb6581957877f3a8f0f72597116e702915a4f4f698f404089a4cc5080447def02f4850024010b989002855ffafbd8c23a661f3b93ccfff4fbe84a23d1a6c4aff4405bdb94c3f860224e205032fdc9a1dc80c7d6b21409f9632e0fb540021ccc42161b70f1c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0483672d9b61f73f1a0b2e066bc3d009749d28d4e584a1afea28dcffd78b6b2d659dbb0c5cf7bed61f3b03c3c129e31d4b49ca8da3813cf25b6f025d84ee82d561379be7f5c837fd23e0acd749167549e8703dbad3bc7add9d3a9ff01abd34b55342f532428d95cc1f0c9bae7f458d9411919a2816009658224218851b0f8d5720",
         "wx" : "083672d9b61f73f1a0b2e066bc3d009749d28d4e584a1afea28dcffd78b6b2d659dbb0c5cf7bed61f3b03c3c129e31d4b49ca8da3813cf25b6f025d84ee82d561",
         "wy" : "379be7f5c837fd23e0acd749167549e8703dbad3bc7add9d3a9ff01abd34b55342f532428d95cc1f0c9bae7f458d9411919a2816009658224218851b0f8d5720"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000483672d9b61f73f1a0b2e066bc3d009749d28d4e584a1afea28dcffd78b6b2d659dbb0c5cf7bed61f3b03c3c129e31d4b49ca8da3813cf25b6f025d84ee82d561379be7f5c837fd23e0acd749167549e8703dbad3bc7add9d3a9ff01abd34b55342f532428d95cc1f0c9bae7f458d9411919a2816009658224218851b0f8d5720",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEg2ctm2H3PxoLLgZrw9AJdJ0o\n1OWEoa/qKNz/14trLWWduwxc977WHzsDw8Ep4x1LScqNo4E88ltvAl2E7oLVYTeb\n5/XIN/0j4KzXSRZ1SehwPbrTvHrdnTqf8Bq9NLVTQvUyQo2VzB8Mm65/RY2UEZGa\nKBYAllgiQhiFGw+NVyA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
-          "comment" : "extreme value for k",
+          "tcId" : 278,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "30818502410081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822024038f489e8494dec2e6a9c4ce4bbedfead43bad9e691434604f22134437abbad7ac714c96b198db75dc082205dd5395ac25f3b4680581f48f491d7dcd634385578",
           "result" : "valid",
@@ -3060,20 +3312,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047386a10991c1475c6c53f05867e69a35219bc5cad4405c960322843a56bb07bbaa317d20a0bc98786ab7b4c0cf6deadf093bb07d5bd563c0d56b380f880e7ad19819e9e897c76405dafbe1d785b3bff2e6e48770ada1f452ec2b4a347bdaba7b6d7122002d5f6ec4cabc585b4ef830e52c624641fe038297805ef0b7e8e82bdd",
+        "wx" : "7386a10991c1475c6c53f05867e69a35219bc5cad4405c960322843a56bb07bbaa317d20a0bc98786ab7b4c0cf6deadf093bb07d5bd563c0d56b380f880e7ad1",
+        "wy" : "09819e9e897c76405dafbe1d785b3bff2e6e48770ada1f452ec2b4a347bdaba7b6d7122002d5f6ec4cabc585b4ef830e52c624641fe038297805ef0b7e8e82bdd"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047386a10991c1475c6c53f05867e69a35219bc5cad4405c960322843a56bb07bbaa317d20a0bc98786ab7b4c0cf6deadf093bb07d5bd563c0d56b380f880e7ad19819e9e897c76405dafbe1d785b3bff2e6e48770ada1f452ec2b4a347bdaba7b6d7122002d5f6ec4cabc585b4ef830e52c624641fe038297805ef0b7e8e82bdd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEc4ahCZHBR1xsU/BYZ+aaNSGb\nxcrUQFyWAyKEOla7B7uqMX0goLyYeGq3tMDPberfCTuwfVvVY8DVazgPiA560ZgZ\n6eiXx2QF2vvh14Wzv/Lm5IdwraH0UuwrSjR72rp7bXEiAC1fbsTKvFhbTvgw5Sxi\nRkH+A4KXgF7wt+joK90=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30818502410081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f82202407a0c02f1c1a6fa1a522a5ba1006bb4059122ae5bc9902853bdb4ddb52b922a996175af9c5b543fc8e5a920c9120d3032cc114dee73b0c0e781a9fdcb022f9294",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047d76f09db5fc7ed767dfad2af9af5470a43e062f21492499af5fc719f6be17881957ef476688fa3049b13d48c51f259e5d60434465d84445d359b89f66c88bac420661699273b23838827c69908978064b7c98f4195ad5e2ec709a036ead56e34a3e999e8c37ddea5b00490a011d9d116676e9022c124b3c0818bcc3488f78d3",
+        "wx" : "7d76f09db5fc7ed767dfad2af9af5470a43e062f21492499af5fc719f6be17881957ef476688fa3049b13d48c51f259e5d60434465d84445d359b89f66c88bac",
+        "wy" : "420661699273b23838827c69908978064b7c98f4195ad5e2ec709a036ead56e34a3e999e8c37ddea5b00490a011d9d116676e9022c124b3c0818bcc3488f78d3"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047d76f09db5fc7ed767dfad2af9af5470a43e062f21492499af5fc719f6be17881957ef476688fa3049b13d48c51f259e5d60434465d84445d359b89f66c88bac420661699273b23838827c69908978064b7c98f4195ad5e2ec709a036ead56e34a3e999e8c37ddea5b00490a011d9d116676e9022c124b3c0818bcc3488f78d3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEfXbwnbX8ftdn360q+a9UcKQ+\nBi8hSSSZr1/HGfa+F4gZV+9HZoj6MEmxPUjFHyWeXWBDRGXYREXTWbifZsiLrEIG\nYWmSc7I4OIJ8aZCJeAZLfJj0GVrV4uxwmgNurVbjSj6Znow33epbAEkKAR2dEWZ2\n6QIsEks8CBi8w0iPeNM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30818602410081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f82202410088b14afa4987d06f6643ebbe8fd4c99fd5c0715c8fd4a80bdeb6170859c26d26aa9849cdd6edb814346b80e132f00d05b15b0f9a6d17e24af79fab9bb0873387",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042a3a7f8815983c9251df9220cb5f424f4d8eb9cfce3d96de725bbea6dbfefe226d789fef8533194787668b66f8fb640d135a25a30f5a25111ddcfc5c9c7eb22d9ba35f3054ac439e0f558ead8d0979a0fab046a47aa0339ef16c0e1d37e4d1d6f29fb7f674dd51ed57233409ac9e505e29d40378897194cf5fbc92595fd774be",
+        "wx" : "2a3a7f8815983c9251df9220cb5f424f4d8eb9cfce3d96de725bbea6dbfefe226d789fef8533194787668b66f8fb640d135a25a30f5a25111ddcfc5c9c7eb22d",
+        "wy" : "09ba35f3054ac439e0f558ead8d0979a0fab046a47aa0339ef16c0e1d37e4d1d6f29fb7f674dd51ed57233409ac9e505e29d40378897194cf5fbc92595fd774be"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200042a3a7f8815983c9251df9220cb5f424f4d8eb9cfce3d96de725bbea6dbfefe226d789fef8533194787668b66f8fb640d135a25a30f5a25111ddcfc5c9c7eb22d9ba35f3054ac439e0f558ead8d0979a0fab046a47aa0339ef16c0e1d37e4d1d6f29fb7f674dd51ed57233409ac9e505e29d40378897194cf5fbc92595fd774be",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEKjp/iBWYPJJR35Igy19CT02O\nuc/OPZbeclu+ptv+/iJteJ/vhTMZR4dmi2b4+2QNE1olow9aJREd3PxcnH6yLZuj\nXzBUrEOeD1WOrY0JeaD6sEakeqAznvFsDh035NHW8p+39nTdUe1XIzQJrJ5QXinU\nA3iJcZTPX7ySWV/XdL4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30818502410081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8220240222c52be9261f41bd990faefa3f53267f5701c5723f52a02f7ad85c216709b49aaa6127375bb6e050d1ae0384cbc03416c56c3e69b45f892bde7eae6ec21cce2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0403f498f2ea6e36b498ac66463a06708fb931ac59a2a1dfa6ebb4973cf01a06ceef58b344b85e89fc78351211f71fd1f11818f7ef96e296466b0d3b70c2da692064aa78285439f17d69a98cae8a1379bdac05ced930a18f44939bd91f8669a37fe8fb1e9ab1ead4db0b337ac594fd21d9e0d4325ab7ee07208f1c07601bb91320",
+        "wx" : "3f498f2ea6e36b498ac66463a06708fb931ac59a2a1dfa6ebb4973cf01a06ceef58b344b85e89fc78351211f71fd1f11818f7ef96e296466b0d3b70c2da6920",
+        "wy" : "64aa78285439f17d69a98cae8a1379bdac05ced930a18f44939bd91f8669a37fe8fb1e9ab1ead4db0b337ac594fd21d9e0d4325ab7ee07208f1c07601bb91320"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000403f498f2ea6e36b498ac66463a06708fb931ac59a2a1dfa6ebb4973cf01a06ceef58b344b85e89fc78351211f71fd1f11818f7ef96e296466b0d3b70c2da692064aa78285439f17d69a98cae8a1379bdac05ced930a18f44939bd91f8669a37fe8fb1e9ab1ead4db0b337ac594fd21d9e0d4325ab7ee07208f1c07601bb91320",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEA/SY8upuNrSYrGZGOgZwj7kx\nrFmiod+m67SXPPAaBs7vWLNEuF6J/Hg1EhH3H9HxGBj375bilkZrDTtwwtppIGSq\neChUOfF9aamMrooTeb2sBc7ZMKGPRJOb2R+GaaN/6PsemrHq1NsLM3rFlP0h2eDU\nMlq37gcgjxwHYBu5EyA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "30818502410081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822024030d19ac71a42ca70edaa8b0d335e48023a0ddf57ea39a9bb18aebf1544a0ddd6f3c8aca4f154e6505bdd40506d9ee01451a0859294ad19f633dd98b79a796dd5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047bb5f9efbcc260b08120c7c4193566133322ce47e666047edfb462fbc310bb06503e8d62d0cf6055e271a8187be22dc5a1d6b09704a3b99065edb87b46c2ae32401f0040048f947fa02017bca61ab6d6353fc58807bba2f0a46521e20f2066824ec84bae1b545a414a296adee22315fd48573a7c5b3bd4c5398b27d7f2824f2c",
+        "wx" : "7bb5f9efbcc260b08120c7c4193566133322ce47e666047edfb462fbc310bb06503e8d62d0cf6055e271a8187be22dc5a1d6b09704a3b99065edb87b46c2ae32",
+        "wy" : "401f0040048f947fa02017bca61ab6d6353fc58807bba2f0a46521e20f2066824ec84bae1b545a414a296adee22315fd48573a7c5b3bd4c5398b27d7f2824f2c"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047bb5f9efbcc260b08120c7c4193566133322ce47e666047edfb462fbc310bb06503e8d62d0cf6055e271a8187be22dc5a1d6b09704a3b99065edb87b46c2ae32401f0040048f947fa02017bca61ab6d6353fc58807bba2f0a46521e20f2066824ec84bae1b545a414a296adee22315fd48573a7c5b3bd4c5398b27d7f2824f2c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEe7X577zCYLCBIMfEGTVmEzMi\nzkfmZgR+37Ri+8MQuwZQPo1i0M9gVeJxqBh74i3FodawlwSjuZBl7bh7RsKuMkAf\nAEAEj5R/oCAXvKYattY1P8WIB7ui8KRlIeIPIGaCTshLrhtUWkFKKWre4iMV/UhX\nOnxbO9TFOYsn1/KCTyw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "30818502410081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822024010b989002855ffafbd8c23a661f3b93ccfff4fbe84a23d1a6c4aff4405bdb94c3f860224e205032fdc9a1dc80c7d6b21409f9632e0fb540021ccc42161b70f1c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892",
+        "wx" : "081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822",
+        "wy" : "7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"
+      },
       "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8227dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEga7kvdgu2WRaITIunExqk4Xt\nn3C12RbBtDti7vTQCY7/Ox944tDUjVDRaHuTuX1ffG1QR0BqXmiLNSIJvLn4In3e\nOF1WYzLswOq/qc94Iv3yCfcAJKV7GqAAxVuIH4ERstzeSUpfSF5bykvYiidjrtHK\nKy+o8FQGeM0eDzrYCJI=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP512r1",
-        "keySize" : 512,
-        "type" : "ECPublicKey",
-        "wx" : "081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822",
-        "wy" : "7dde385d566332ecc0eabfa9cf7822fdf209f70024a57b1aa000c55b881f8111b2dcde494a5f485e5bca4bd88a2763aed1ca2b2fa8f0540678cd1e0f3ad80892"
-      },
       "tests" : [
         {
-          "tcId" : 266,
+          "tcId" : 284,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "308184024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc02401868cd638d21653876d5458699af24011d06efabf51cd4dd8c575f8aa2506eeb79e4565278aa73282deea02836cf700a28d042c94a568cfb19eecc5bcd3cb6ea",
@@ -3081,7 +3454,7 @@
           "flags" : []
         },
         {
-          "tcId" : 267,
+          "tcId" : 285,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "308184024066e59cbcf0f0a0fee7256d52661cf74b816308a77a7c9e8c4130461a4d1205eedfc32b5fba90829c8425409283eab77c74fcf1d45571da5a372a026368794c9d02401868cd638d21653876d5458699af24011d06efabf51cd4dd8c575f8aa2506eeb79e4565278aa73282deea02836cf700a28d042c94a568cfb19eecc5bcd3cb6ea",
@@ -3091,20 +3464,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8222cff655b8586919e7eea27046451d909d92696b38f2456f43662d76ee813875fca70bcb751671fe4530355525c7c1d3756b7d3ff8492727eafdd42471d624061",
+        "wx" : "081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822",
+        "wy" : "2cff655b8586919e7eea27046451d909d92696b38f2456f43662d76ee813875fca70bcb751671fe4530355525c7c1d3756b7d3ff8492727eafdd42471d624061"
+      },
       "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000481aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f8222cff655b8586919e7eea27046451d909d92696b38f2456f43662d76ee813875fca70bcb751671fe4530355525c7c1d3756b7d3ff8492727eafdd42471d624061",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEga7kvdgu2WRaITIunExqk4Xt\nn3C12RbBtDti7vTQCY7/Ox944tDUjVDRaHuTuX1ffG1QR0BqXmiLNSIJvLn4Iiz/\nZVuFhpGefuonBGRR2QnZJpazjyRW9DZi127oE4dfynC8t1FnH+RTA1VSXHwdN1a3\n0/+EknJ+r91CRx1iQGE=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP512r1",
-        "keySize" : 512,
-        "type" : "ECPublicKey",
-        "wx" : "081aee4bdd82ed9645a21322e9c4c6a9385ed9f70b5d916c1b43b62eef4d0098eff3b1f78e2d0d48d50d1687b93b97d5f7c6d5047406a5e688b352209bcb9f822",
-        "wy" : "2cff655b8586919e7eea27046451d909d92696b38f2456f43662d76ee813875fca70bcb751671fe4530355525c7c1d3756b7d3ff8492727eafdd42471d624061"
-      },
       "tests" : [
         {
-          "tcId" : 268,
+          "tcId" : 286,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "308184024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc02401868cd638d21653876d5458699af24011d06efabf51cd4dd8c575f8aa2506eeb79e4565278aa73282deea02836cf700a28d042c94a568cfb19eecc5bcd3cb6ea",
@@ -3112,7 +3486,7 @@
           "flags" : []
         },
         {
-          "tcId" : 269,
+          "tcId" : 287,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "308184024066e59cbcf0f0a0fee7256d52661cf74b816308a77a7c9e8c4130461a4d1205eedfc32b5fba90829c8425409283eab77c74fcf1d45571da5a372a026368794c9d02401868cd638d21653876d5458699af24011d06efabf51cd4dd8c575f8aa2506eeb79e4565278aa73282deea02836cf700a28d042c94a568cfb19eecc5bcd3cb6ea",
@@ -3122,20 +3496,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200041ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd5443cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEHsf+InWGDDvA5ObkWa9+Fphd\nN626c1GsNXp8OX4HUi6kG8yo6Jd3/gW48NncjGFABPyvMKlwAaUBGhWfRvzVRDy8\nHd/HrImhovju93v5u6it5z2iEAy2o3FUa0lfteqIXrYxZF55WR22WcSSZtJj1cvT\nQDCBy0B1Nu/ppb7GmVU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "041ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd5443cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955",
         "wx" : "1ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd544",
         "wy" : "3cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200041ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd5443cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEHsf+InWGDDvA5ObkWa9+Fphd\nN626c1GsNXp8OX4HUi6kG8yo6Jd3/gW48NncjGFABPyvMKlwAaUBGhWfRvzVRDy8\nHd/HrImhovju93v5u6it5z2iEAy2o3FUa0lfteqIXrYxZF55WR22WcSSZtJj1cvT\nQDCBy0B1Nu/ppb7GmVU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818502410089edf75e6e986305d8181386c16db44ba0d7ff40f4335569754a481f5cd48c6211a63de7bdaa485e9fa79858a4eabf111fed2959f031de2a132ba709412683a902407a8c08564f51534128bb52fe36dffaae89079011256ef8069e64d64c5610d3e611c0ba8b19027388fccc212523b22c44e85a789e16cb1bbd3240c86b43480fde",
@@ -3143,7 +3518,7 @@
           "flags" : []
         },
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818502403915e599d984f4d8417fd3a11d01a68c6d90474f2b1551bcc4b4eab9aa8e2d05ef10e0d694d0c13c98bdea76df39895015d92bcc228ff3416c0dfff5394c249d0241008d3e50b32ddb81e8843cff3373d747ba8cc0d090a73282492eb60ee49618534ed05bb73d0dc3a2cea4cbbdc54f3ef915e880926d83405a08b6ccf9848e4d8ab1",
@@ -3151,7 +3526,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3081850240558cd1bbf7853b68d566157772a84967d7a317535009adffc6bc437aed1ec443b82e59c4f7a3ecbdf36e3919b1a14d11cb4420b982df1cedc5c5a48eb5a1342c024100a266df24c6cf32c071e623d81a1991649c2bb3fc06cd91bde4721ce9458513d63511a0dcf522baf6ef4b12126149b66722b30a862be07356e78f9aec34e4c295",
@@ -3159,7 +3534,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3081850241008628504957c1c0295f277969b88f4101795072fe9010bde58de44c4b6a8b19c91eec95d76dd3dbe65c9f95122029a5acdde05d77de5b7dd765a7e756cf21e1840240094c9947a3faf64a7963cfbfdd5a988cec79fe27f1e1b4c5d6c9986da8cd6bfbafffbbafe6ee01a002189607401371765a4a71527b40b2192c09a05273b70a98",
@@ -3167,7 +3542,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "308185024039b3a3fd9ca78f258577bf4641d6c02661e9f30eb066b680aa8bbe567ae1d9fa75b5b94211f7f8b842303e97af7e86bea68398d9166159bc6b077a36a6ef235102410094857c4425397ae1a554ef5ddf27195666b65fac8b356a5a19412c2a6134f77703d775095f6af70fa4cd5d63065dfe70c095156c7868bc7f4a4a0aaf70040a1a",
@@ -3175,7 +3550,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3081840240187ca74d98179988b356ac360a8575be689c04f70dba3988f293278a1acaac56db4ff13effe990a5df28e1406ef2fa8b3eed62bb1f39d77ee580d21eb44dd3930240249fc547a5e2c2bd1074ef2dfab0c8d48ba1f6fb657e270129682931310a112540a1137683ca65cac718c1be9adfe34d919549ff99d632e69e65530041ca5388",
@@ -3183,7 +3558,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818402400f09926d3a135f6f51dd7b5db3b5d3e55bfb3c1ba0c30f865faeddba751cc603c9f4af834b874400dba94dbc3c688226a4cb0fc5800f0248e9b159c6e39d849c02404984317b3c9520b139cc4535b8269b6244e9fd6288d1351e8b73d7c9e709bb1932e343f758f6f4fe8db8099161df0fe9a4bbc5e010e6c4c8060ab6a3c6aff889",
@@ -3191,7 +3566,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3081850241008d41d2c4b61d31385e6c4402bf4c86677f1bc8dd01d93ddbb8765e8d5cb447d33756152ceb0a8e0e8aa0e2e6d14da9ea8cede6dce286778f5e5e7bba1509756002406bb0b984933cec50cd3295d0039bcb8ce6a505b43a2be69884b4d064309a892fa617906c2de43fdb8ad3ce5c4bc134203de9e59367ec164bdda484b2734feb5e",
@@ -3199,7 +3574,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818402404f850ac7b43c71ca6ca9ff37ce1e585b4b9e426692eba53716cee6bfaf2e908255be98cc10784f1a6d4e6c4be321597cf4a7746a0cb15b6571cffcfbd428353702407e20583e692ac05f5a1c5098f7f8b173daeee53a724426bde8d3c87dce1f793bccf0b706097ef59329b92e55860c132514ff83e637dbdc5ab39c143d0b3316c5",
@@ -3207,7 +3582,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818402400c3e41d030a40e8ff8919b07e102aeca730595c882d266dba6a79607e95638d1f8db1ca3f38aed34123d993e524658f83d41a6ab982f730f91c1f3343d958f500240219d8f9e3628ca26f3193318cca8dd671d9adf5422c376def66fd3cb760a24a1c7e7e655af0f28243411fc8b5232576bee9ae47bfda93dec8d3c6feee7512c52",
@@ -3215,7 +3590,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3081840240225dc2310177ce6267efde9937eff898fb0bad12b0dbeb4fa9c6be6e20f88563e6d2991d47a648b0ba5a7039842dbf883bbd735df793cce0d136023fbfc9be95024000d59783d8bd050cf728b3506c16ee4a78ac26c12fd33dadb6ee8146372e4fb2a880ef77eb20ac90f3a4275c1718a033a7c0b2df538eb35827330154191153cb",
@@ -3223,7 +3598,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3081850241008dee57a9e032e4b3afc9ec58d9a46e9d84d272448d36a07f3b362d821f1cb1082e90f0a0c779225db2287b0292237e2e80ca57ffbe89a87b2d78b5e32d714b6b0240672e2f549117678c4ef0fb106103bc987f839c9bdbef84ee92e9a1f79b3d4270d42b2b982bcedf88df117f62bc4e89c37c7a2aaec8c2391a7089d1721e2a206f",
@@ -3231,7 +3606,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308185024100920dd66e2dc70da70034b3b8b1793e6dccefcddd6b89973afc98c9df70e178eeeea5ccc2d5d2e0b068bf775873248e8b06039565d7b0277ca971ff0f8f28fdc7024016a62271848f3df776c53345c7d99abaf34933cbedf5c4f534aa099ac0b76e2a77aa1064395202dcb762b02bcd121af8a6785422e8f8eb585476cb2fcb9786e2",
@@ -3239,7 +3614,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308185024066e5c6498dc07bea9f7437ea760322c4d8a83c3ab415a10e96f726f2c8dfe8e352e7edb38ce0a8f13bb96e233161d6ceb4cbb845a566074e724af0e31ea1721c024100977ac9eb1a33c46c729a601d1b4086b82ed48c2e4c35b9b281470a44fbe16ba403fcda5dcff018a70613fc89f7483ab2531181ce6d76b599845d7d697c48eb69",
@@ -3247,7 +3622,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308184024034430780830864b3a54334e3dd0344412288f3ce5b17277a75f72cbe6d8a38f216c1f4f2f3493f430a8705fe1e9ab3bd4b9ec670d64146bd8c6e25a6d5b36d06024036da09fbc88bd421e0e421aae0df56ed6f4cd21ecd9c2447d50ee6de546e8ade3133d793c898b38ac72d2267ae2b83026441bdc0ec674e5e69c1ee1c7855977d",
@@ -3255,7 +3630,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3081850240027fb2089ebf8678a8efbe44e12eb504a18c121068bc45ed4f48f882721dc7b6816f58078cf5482965dee81342594af0412d1c0bb9582c210126f4b17f090d0c0241009bdf94cdd2b3dd22917dbb4afa4638aedfa2eafdd6e11e78ef848471054dd3a01027e434d5164fe6b6cfe820c047a89ae72af8ff8825417473f386cbd8cbe8bd",
@@ -3263,7 +3638,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308184024043d872839886c53368c2ce044248255221bc5bcbd4c734efd1bb8c61b3aa06b466e7db5ad93e14906168d4b02d0b37d4e88739b2f54b0860f71c56b75871eb4c02401b46c4011af392543ae3be096adc59b4388d8a51df6771e5e152180fe80c29b03282572c2121cccd0d6c063282e216e0ac477354774ae941575aede4193dd9d3",
@@ -3271,7 +3646,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308185024100a41edc0e4c0fc8083a412cb602a048a0b7bc71cb948fae0f359f5a65181ec7bc3127c2989335bdf9f8c7208060fdf5937794fd7d4763cfac1b7b0bbb8c3df8e20240087749434902774e8eb5c4bf04c451c50273679d548acdf07493d780d0656f6774692fc3ee4ec5d13e01aa0015d6dc9cad1047ef09d1f5aab80d2b6de83710e8",
@@ -3279,7 +3654,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30818602410083aadf57922951fa4eaed0140892c752043a970fee033135c053b009d6f9472d1a26a5f91c053953841093c2a332a5e5e92922a71538f27b22cc6788ba044b280241009e8ab28a76dc0eaabcc43496107264ac42eb79340a7b9ca1aef8d75f2c0226bb5fe7afd4dbe37ebe7c3ba2b135ac2469a6c13bad1780d4f8e40c0e8827b8c1ee",
@@ -3287,7 +3662,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3081840240418f88674193a94156fa5d5ac639c2c1271f14ce5394d54c30c0e8085b69b1e4066ec3b6b18d04342859b53bb2487e596722b4e788fc3ede058213ac5db18a9c0240043b63ceabf93e25f946634c09b00c36b7a4e413fad415b5232c69dd04bbe13cad8e7b12eab8e9985899f4d790a20cda9a23a79b04246cc7eb2eeea4093c23ec",
@@ -3295,7 +3670,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308184024061483c729369413144a6be0dd05c1ac29bc440bbdaf87e572aa987e9ca423639f339bcaaad99cb1fa80b7c35416a1834ec04bcf0fe7812c712eb1f06a16daca3024041bb956c339ebcf5e4e403c7d8928d5eb4fdf7d3f53a2c06d6c9fac347f603ac3209a2af37516f807b50363b5328bc98b94354af7d59966d160f68e80c6b2dc0",
@@ -3303,7 +3678,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308185024100aa0f0c888b164bc5c95dde51b05b96a03194b1eeb51bb203038d874254126e2bd8facd041160d514af353c4c5b6b3879412b7e428ec96199976948a8a72ca499024047aa5389d7f95ba161db52f3a8fbdf25f67423e646d203728f8781b0bd68282a0e3c1360a282d90a2d2de4f70df63c0b1a6376c5b6bec8be918770f162ad63b7",
@@ -3311,7 +3686,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308184024043b42d602b8c9d58c2f3f9c692199918b202c5922c3b6a1719457033b0f291c202f79cdd05dff70f85a8fb3afbc802c51266b4d5a0d75432f624cd84cf92ac5002401fa248a12faaf352d953ba5e456e53ada5776bd96d351d7cd3b6893c25f9b1c75feaf709b297c7ed89d2afe1ee270d56b6d37d700d7f1c99acbd76739d33cf98",
@@ -3319,7 +3694,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308184024024e123514e5a66e6e602c0731b7d523170f0e516094fdc64224851e989959327c26c0508e731c11ee1ec1cabf1724fe5bfe871298465e15b49fafc8179e1789e024070b19db5c097703b4350b3973a1b42e65741f019ac2ab9d6d3bf6db8191920fc4c78007b149b9d1bbcda945608aaaa87df44d6a35fadefe257d6c8ff4bff6368",
@@ -3327,7 +3702,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30818502405af3e9635a468399563d1e9624a5355c37f1c3c8d8a7723eaa83a44012dd30bd3e4f0839100deacd08a8ca7842b267389f97961139de4ca485b8d815721399cc024100a60ee65815a5990942efab34ed7fe9c751ce67f758c1939b09d2673ff2947d467096956b1f4e3851afa051b1e23832d452fdd3edeb4f72c8647596c1374a7ec5",
@@ -3335,7 +3710,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3081860241009655557b1643ef2eb364d3a8159f22e78da5a277c6363c05e190719cb276ba3a9c7654f665997a43024bc8fa5769caf4bdf6e23f3f344df35313a5d18908e69302410091ea8f09db6c672fa8c6c6d3077b93354786430a7bab82e1bc6213b67eba9f52209e84b8e9690f8919413816dc44eac65a721d2236cc7767cfd2b29f3a1f5ee4",
@@ -3343,7 +3718,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308185024073fde788900f7bf9be1057420ddbc6aea955f6aa11a026f416eee30eb48325a3b19a89b752fbc09f91c5a029cf0f00287ef67702d657fa8c8528c27cf82067c1024100a60edba5f6b452b79e1fc6aece05467d68417655270bfe1d05d2b4a76d255006cf8a5f1b680dccdb737ba4af5cd40e394a89f2f4b9e2c1c92fb76116e7932588",
@@ -3351,7 +3726,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308184024007d6bed335740f06f506c3a8e51381dc5cd11e648d787962f88c32ceba1853f9e6eda57cf1d8151f4c40791b3c5bbf263c73557ef72db5fa105b64aadcb9118402405ea1a004276a6a335f0652806d8df1911cc5f086d546a7afa852336a9769ad12c6a394ac2c8aa2398d6c723bbb61c5072b25b3fbe547e6644d2ea66032fd3a88",
@@ -3359,7 +3734,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30818502403ca7cade6c723f12ceeadca56bcff71ea1eb2bd388a27941b728f6752f424a6b3c4c0c7a3dc369753486c74fea234494aa4e3d1df859690901e766ec4cf5b6580241008bb431c4b5e5acdd92140e8a8b3e5cb3de5361979c356b335c41b0577065ff350f15cae3ccfb9c240b8a782fc5e70145fd70ae516e3b70ed912df34fcd5f623d",
@@ -3367,7 +3742,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3081850241009401f566e5dfd6806e58de002daf51b29c9f58deb0bb0572a15bb0a01a44dffe80fb45a0b9a061a78bc531b07f2fdbcf94722bff23dd5a1f2a78a0bfd1b5fbdb0240138da4f1356891080bcf600e8713de8dc04a2a4c11cb4c6ce3f08ea884e5c98b44f0a9eaeb2170340151bf4e8322cd6c086848c82c27b55e4fb792bf440ea700",
@@ -3375,7 +3750,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308185024100a620880bb7fab1180e3d8f393e4b3343dd4eb1c374f9d61252f8a201d9096ba836721f8e2d8b56cbf406960aae0e50325adfca6b1b529f06a81260bd8b15ff68024076537febbc0e24ab4992b576abf8bc0201cacf5ccf674ad3c3b1552c98ca64642eff5401afecab167ec0be195fe5ffa178f14567ef171b4827964a559d079b7a",
@@ -3383,7 +3758,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308184024002692d43df4ce3724571246a459c46fe3f94373abf7da921e531ad73bebf8c623ed34300741694efb652a21ba4fc3237c7ef0a4b7d9ce2188d885a0302d9102a02400eda15d35f34dbb29c504023851ad03841f578b1f215de05a184493e89f2f802a53ac604b6ef7955863ec610aa786c5236b0981a20721853ee081aa46f99d412",
@@ -3391,7 +3766,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30818502407129e41282482a50417aec000389935adc2eccf65444aac12a30ccb9b06fab0650d347258c8bf1f30b35769946c07bb02de452605e40ee2c2e14fd6b08c476ec024100984ba319c1a3d1467e99a59bce31454367a210d4a261ba7cce92206a7ffeae23770a00d33aa3b61edb88b3790d1a249245ff5c58a5ea83ee28bce7f09648212a",
@@ -3399,7 +3774,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308185024100a1246d8296795c48e19211014d88f6795a22863454f6f89ede7a931abab1d8ba003726fd72fca49f5e6d4e178b4e4a83c87265bf48de0684e93f6ef56bf5ca21024058b2dada9935b9dc11a3c8985b0ecc07066fce090cd57d412c25e1431d018e3873dedb3d48b9b2fd0af37608cdfe1e338e19368bd805e1ec38528c04ba1129a9",
@@ -3407,7 +3782,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30818502404134d7c0e61393867b451e4aaba79304b4bc9e7400826cdfa21093e468a6884aea440beb0a0b7e4459c3eb0992683e4e52912ec32083e79a96cd6bfe9605123e0241008533c2c34bf7cd2968f5ccd167a4ea710bfa0a126273b43aaf406ab60063237cd7eb0fbf28f9898c3bf085ded5e2c2c8b216f48a5ba033c029c6b2c969d88051",
@@ -3415,7 +3790,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30818502410087a6311356c309695a74ef2096bf95c2aefb22412bfe2c12ed9d93fb0614fcb176c4db52f17f732528abd0314b1e93fb670ba673925d8f809baa6dca5a7ef37b02403bd5551cfc5ada9b31fcb763900ee21c301abea14851c768ab69b91417527fa96b27f4f35d3a29d99fd860e47d69a1686b8c5b9e3c1fc9a1ad387e950cdc32af",
@@ -3423,7 +3798,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30818402405ab0aac4c655b08ac678af4fa151b2a85092a701ca21b44e733391801e499a3743fbfe9b6a38cc51f1bd393c1379db664f59b3c6abaf931402647ddf13bd7bba024032d056f3e09fd4dfe4ee747aabe57a972a2ddcfce29bd2ff6d0c2f1018c85c10a4b5a8dcbb6dbbb8e0e870af0561b98a536f13dabc042ebc49ece5db3809ab37",
@@ -3431,7 +3806,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308184024017dd4280d311e5cf69ce7b4ad7f88d7e1ef3c2ce9128db4cbc68560de309cd2a5ee97cc4e906141de7158f30767ae38b8ddd80c90fbf3bcc2af191ecf24d365902404b517e40d5b145e4f82bc68b6897b8a5b727d29a4b0e97f2202552556cd93bbc92f1e256f8d480b0b7eb72bceb1115e0b6ec45b73ef18999d5b98ee3a345db99",
@@ -3439,7 +3814,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30818502410090d4d5b30c84013ec14011011b244eb5741b3b4512aeeb93e13ba34fc8169b9dc86d47c310cbd575cf2b94a81218717538b902b4603467a654f5f0a35129563702400fa303a2973d7afa13a7f8049504001c3ba7de524d3a7d91c7737880f59ca1611cd945fa50fc78ef7ee9b9606d231aa80b68dd6271b8f57f8f51f10caaa0f233",
@@ -3447,7 +3822,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30818502410087ddfd6155f068b4078b699d1b0eb74cccbb4639ff0c404bd2e4a9be2fcea4fab9f55b41c37be9d5fc3dac0566140564b20f3852b1cd81dca46e9ca6649ae97302405290491b678fe1ea66257a2018b31f31794ce3d2671c5b565097b4a8e1e77e1d4a7013d7f34286d3b9e07a8dad536990245d53bc8d9a216e71b0d57bce64811f",
@@ -3455,6 +3830,516 @@
           "flags" : []
         }
       ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0430a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1000000001a4b00c74a5a61ac196faf4dc39acd41bf354def0a27529964359132a76f28654248d1ac004d11d811aba0acb9c26d2f4a54012c5d8a9a1e7c8b4a52",
+        "wx" : "30a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1",
+        "wy" : "1a4b00c74a5a61ac196faf4dc39acd41bf354def0a27529964359132a76f28654248d1ac004d11d811aba0acb9c26d2f4a54012c5d8a9a1e7c8b4a52"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000430a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1000000001a4b00c74a5a61ac196faf4dc39acd41bf354def0a27529964359132a76f28654248d1ac004d11d811aba0acb9c26d2f4a54012c5d8a9a1e7c8b4a52",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEMKZ96q8M7kSq65A9jNskrZ3B\nkdN119amDSUg4ZMGz8R93p3LgKrgsEBVS7mNYB4Bn5M26DHMy5ny2Sz0uRYEsQAA\nAAAaSwDHSlphrBlvr03Dms1BvzVN7wonUplkNZEyp28oZUJI0awATRHYEaugrLnC\nbS9KVAEsXYqaHnyLSlI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 328,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "3081850240479ce8458b04b2dc127b46971e6c79831bf788f65ddc770620daaa15583f8d506f2a6652d82b38560ec1977586e11929b666f6d7012d816fd356d41e9304d60f024100a750f73ccaeff5d994067e66e45c200892c607b329be5e64db5c383c7be711c97b5dd425a52250bc862477e28b3afa4ef3d831066a7b143432a5d15403021457",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 329,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "3081840240685b8b2929c9a0a9b0deb6baefd00e26f50d4c1fc3fed47d7ef812c52b66ec6f6d09f54e9bdb7202016570f75bb9912aab3a572bfb97ea589ace294ff0fe666202404c286267cb87a6be56f4cd0080398c23e569f2ebda71d2cd1682080290deb4143bdc61e75b42abefbcbbddf4c794545a05378656a1858658e0a4595833fc40f6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 330,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "308186024100811112d27ca1e434b00c0293320284b1c5369fd007f90e7a99d44c9c02013688d16e5e0a2fc3a077064a995c4244195c04f00323e33adea6b37701ad5cb3621602410082dd5c3e3642fc43e5c4c652e3b2d00f6d137207be8c9b2125561c08703e4a84d2a82785f775abd18aab24e52f12c5f8cb56b28b915f9c0b1110c542ba92b313",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0430a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1aadd9db8c19ec3c3f57a85021a5a4cba0795c071f494841fcc3c4a310bfd773ed5de729b597d9696ae808f52d4f7e0396ebf91ffe32ec558cb1fc637dbaefea1",
+        "wx" : "30a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1",
+        "wy" : "0aadd9db8c19ec3c3f57a85021a5a4cba0795c071f494841fcc3c4a310bfd773ed5de729b597d9696ae808f52d4f7e0396ebf91ffe32ec558cb1fc637dbaefea1"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000430a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1aadd9db8c19ec3c3f57a85021a5a4cba0795c071f494841fcc3c4a310bfd773ed5de729b597d9696ae808f52d4f7e0396ebf91ffe32ec558cb1fc637dbaefea1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEMKZ96q8M7kSq65A9jNskrZ3B\nkdN119amDSUg4ZMGz8R93p3LgKrgsEBVS7mNYB4Bn5M26DHMy5ny2Sz0uRYEsard\nnbjBnsPD9XqFAhpaTLoHlcBx9JSEH8w8SjEL/Xc+1d5ym1l9lpaugI9S1PfgOW6/\nkf/jLsVYyx/GN9uu/qE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 331,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "308184024039d0c5c4e48ca14064b2e9b3600deb0ec2fb3e0c65b3be5ce3f206166d76dfc5a5f6ea8702da3aecb13e7b55a87b1263c4884611e5de440f6c89ed12f88ae50f02406ae78398e7f942b35e7d87ef27ce830690f7327ad2a83df56e9d0288b51999454bd90f895e7849f35b2a652a3af97bf55795b4698e0b014ea6ff021a00878f3c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 332,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "30818402407c3ab2e3deafb823ee591dc53c97b389c6d18a8ca9a6ae20c74328606db2d7c7d2bb3ce26894e3f30785237b9e874350d615786381b0c8c420224d2f5e359468024034e703dd939b2b1a200872334e2f864dbf26688f8475c9e38a384102e08a18c27d4e30d802095fff3edda6dc1e03aa81aed96719cb49612471fa118875a15c18",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 333,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "30818502404cd8a5f1977a3cf8e847a1377359cca7046c793ada0665f2c06908fdcec24e6cd55a1750ca576421b8a65aa99aed863cdaaa77d7f7cf84448ea58e95c57a133c024100a340572d5d9683e72e157e683ab16d0e2a35030ff3e1641d1b4f801d80732c32b9fbb53fdcaea933f131136f8ab25311018b871f53753782989a87ef231a38ac",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aadd9db8bb4189a6d2ab7b5aae550fe8dc00be2e00f4b35b576d6f862c09869210fc82fbd15a54def1442979fa0da1c64408fd8437a60046930820748ecdfc664a59a87eae338d22d0835523156f8f7d934710a747cf192d3e317bc45f0489d6979887c65ec17ab7b5e3da9f4cb110116ef0739849acc56d24e5a3365fcfb289",
+        "wx" : "0aadd9db8bb4189a6d2ab7b5aae550fe8dc00be2e00f4b35b576d6f862c09869210fc82fbd15a54def1442979fa0da1c64408fd8437a60046930820748ecdfc66",
+        "wy" : "4a59a87eae338d22d0835523156f8f7d934710a747cf192d3e317bc45f0489d6979887c65ec17ab7b5e3da9f4cb110116ef0739849acc56d24e5a3365fcfb289"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aadd9db8bb4189a6d2ab7b5aae550fe8dc00be2e00f4b35b576d6f862c09869210fc82fbd15a54def1442979fa0da1c64408fd8437a60046930820748ecdfc664a59a87eae338d22d0835523156f8f7d934710a747cf192d3e317bc45f0489d6979887c65ec17ab7b5e3da9f4cb110116ef0739849acc56d24e5a3365fcfb289",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEqt2duLtBiabSq3tarlUP6NwA\nvi4A9LNbV21vhiwJhpIQ/IL70VpU3vFEKXn6DaHGRAj9hDemAEaTCCB0js38ZkpZ\nqH6uM40i0INVIxVvj32TRxCnR88ZLT4xe8RfBInWl5iHxl7Bere149qfTLEQEW7w\nc5hJrMVtJOWjNl/Psok=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 334,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "308184024053192c28820ec266639fee09e214a55cc0efb07b22dc0d3f293bda2072fcf9b462da93ec9e7169ae1f1148705189f7f15d2cbec46d224197a3a7a924b0c00a3202401b664536aedbdc97bed4dee23eb94a49f23de3bd84a78f299e81edfe017a7d3ca3a7c8aace8d13b6b2eb477b922c439839eacdff2783070757754863582f715d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 335,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "308185024100969058c15d675b1b262152a4520f7e803ab465a9e1eeef7b8a5d0fb3e88032b8e8f1be9f37c80f9c7b950f4da950baae9b216ecd6c793ddb1459cfdf49776bae024020e0d078a5a113e92facdfe5cb39243247254aa0a656b83e7baa343d36f7b14b86f15e54b71ba7506d5119ff52c47e0ee549927a008cbf2bbfe1916d1cc274b2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 336,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "30818402401de5df621364436bed5cacf8dbe420e4e4e5d1b0434fcf9dc335645dd0aa07cc1d1ea30a8cafe2531cd4035dd972c0d6c3720f160e24264fd6c41521e44eb0cb024072e9abd54561bac89b234bf9e51a3f6003590af177098e25f0053a3ae18a6c74b389674a6eb80378ffd255cfe52323645cdfe9a10a965341b4e47fc0dd082e1e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0424c10440e37a15d7ec9a3a48965a9ce9380221fc51155f1e992716cd9933d09ce0a5424471877e8994494a4c2ade0a81ef52952e395655157f0b743b3b219e2d628fd5ba510f610ee693a1e0d39ef39d91a6248379c622a175a23a5330a88b2d5a60dbf6d249702cd1504561535ea17e1be1b70a41dc463e8e1a1af000000000",
+        "wx" : "24c10440e37a15d7ec9a3a48965a9ce9380221fc51155f1e992716cd9933d09ce0a5424471877e8994494a4c2ade0a81ef52952e395655157f0b743b3b219e2d",
+        "wy" : "628fd5ba510f610ee693a1e0d39ef39d91a6248379c622a175a23a5330a88b2d5a60dbf6d249702cd1504561535ea17e1be1b70a41dc463e8e1a1af000000000"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000424c10440e37a15d7ec9a3a48965a9ce9380221fc51155f1e992716cd9933d09ce0a5424471877e8994494a4c2ade0a81ef52952e395655157f0b743b3b219e2d628fd5ba510f610ee693a1e0d39ef39d91a6248379c622a175a23a5330a88b2d5a60dbf6d249702cd1504561535ea17e1be1b70a41dc463e8e1a1af000000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEJMEEQON6FdfsmjpIllqc6TgC\nIfxRFV8emScWzZkz0JzgpUJEcYd+iZRJSkwq3gqB71KVLjlWVRV/C3Q7OyGeLWKP\n1bpRD2EO5pOh4NOe852RpiSDecYioXWiOlMwqIstWmDb9tJJcCzRUEVhU16hfhvh\ntwpB3EY+jhoa8AAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 337,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3081840240422fb18cdec966937145b0f160b8ce222b0ba16fab075e16f1dac839b8d7772fee27a283ad722225bebe83db2d5a8b25cb2cbe45248b3aa876554c6a37f8137502407a3889d53bb42a6d41f393eb00c43623937029d4cc1d367469f6ea4ec16658619d2935de0a655adae4cbb624f2ffe3ce41f024269d9149dbd83cb1c97aed41b8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 338,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3081850241009836ee7ae0447ec07a6a216633e0a97de831fa04fcd760abe39e8f457796fdfce9c69ed13c827de0ca6b60d849ed6976ac091b7d90ce3e98d3c9144afe638d4202401c9d8e142baee857d6adec8eff84ea1d23b05f5482cc2950451586cf5de0cbf9e3a727a4a4e93e15b6cc0125e5fcd1910636898064a63813a0c75fee28041b88",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 339,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402400877d7a3ffacf4ef36cbedfd44e4cc0237bdeede8ce0bdfb330bb73b317b7d161c45bd1496e1233ced8f7dcfd05e0e1cc665fb1dc92b54fcbe9b0e55d9ba1be402400f7ab871742ebf22e0b7674614d71569d5084ccc0c98c2e40d088ae88eab37820a89a2dbe49e1b67ec55ae1a34fe4822d691bbf5490fcc2c47e7c1ba4dc56e7a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040ba18cc05572424a7a391f4b48258a871a0f6d8216c5cf82446c2d156d5586b4c196da0b2f3a23511b89eff31dd4f0c88dbb1a76c5e4b27c4276f8fbc74a1b9da28cc8c341ea2e3908ae6ab6825f956032c53e625697f80b7b4ee72dcc9f3cff730349e0d30de410917f3d0d1c8988562c1d55583b47f0dec234fda2ffffffff",
+        "wx" : "0ba18cc05572424a7a391f4b48258a871a0f6d8216c5cf82446c2d156d5586b4c196da0b2f3a23511b89eff31dd4f0c88dbb1a76c5e4b27c4276f8fbc74a1b9d",
+        "wy" : "0a28cc8c341ea2e3908ae6ab6825f956032c53e625697f80b7b4ee72dcc9f3cff730349e0d30de410917f3d0d1c8988562c1d55583b47f0dec234fda2ffffffff"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040ba18cc05572424a7a391f4b48258a871a0f6d8216c5cf82446c2d156d5586b4c196da0b2f3a23511b89eff31dd4f0c88dbb1a76c5e4b27c4276f8fbc74a1b9da28cc8c341ea2e3908ae6ab6825f956032c53e625697f80b7b4ee72dcc9f3cff730349e0d30de410917f3d0d1c8988562c1d55583b47f0dec234fda2ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEC6GMwFVyQkp6OR9LSCWKhxoP\nbYIWxc+CRGwtFW1VhrTBltoLLzojURuJ7/Md1PDIjbsadsXksnxCdvj7x0obnaKM\nyMNB6i45CK5qtoJflWAyxT5iVpf4C3tO5y3Mnzz/cwNJ4NMN5BCRfz0NHImIViwd\nVVg7R/DewjT9ov////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 340,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "308186024100a7322046ba7473716d35742d961ac5f2fe2e1dd574ece7bd15da8c66a262b2e79b0d1df27619fdebbb41da1b27ba7c9a0370ef962ee8a45105f4416d16ebf13e0241008418e445db45cfbdc8458055386d65e9bc07b497b8d4bef5f515e7947050d9ab9799fb520f322bf00fae4fae03c1269510ebb3e1dc8cca59298e26945862e9e6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 341,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402401bb460ac42bb3640bfc739a0186ef3362ed27b254f548c073935caa211a1aa302e79a9466d7fece774d250c1aeaef9641b9a2f25e61ca37fada8ee07f49fd51e02403d918a07a36f578da8b0d42d30bad60ecfbd603a45d0c1a71bb01447ead81a5313265cc9b5860aba03f1c93a9cb9f3bdd9a85f270dd3691465941d2b8098f93c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 342,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402405b44e4fd4996f27a7dcf306bc9fff4a9c36e3fe09026fa72122b64a4ff65f861a5954ce8a41f69a3915c84a63db0c57c6dfecbac4fde99ea5fcb104d6967d6130240088e7b846d6c5e093a7ba17427bcba0e925acb826e4e9b972b2d8a6d232f635cbe96bf6f163174db646c2f6623c89dc6e4a828d4e2e2fcf3c427c42bdb72efb7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047f3327e34662274aa147953a007f30c2ee1b06d7bb053e8ce1c9b683f0f46563dd38db071d87433b30380434c92e8cb76d603d1936fba1e9317a06e20000000052ca478f0367ab24857e788576f17bfcd05e62d20d0fbefd1b2d954b996eaba67819023635e31483f5b0257f89b46a1d2b9cb2420e1cdb940ceaff5429dd8013",
+        "wx" : "7f3327e34662274aa147953a007f30c2ee1b06d7bb053e8ce1c9b683f0f46563dd38db071d87433b30380434c92e8cb76d603d1936fba1e9317a06e200000000",
+        "wy" : "52ca478f0367ab24857e788576f17bfcd05e62d20d0fbefd1b2d954b996eaba67819023635e31483f5b0257f89b46a1d2b9cb2420e1cdb940ceaff5429dd8013"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047f3327e34662274aa147953a007f30c2ee1b06d7bb053e8ce1c9b683f0f46563dd38db071d87433b30380434c92e8cb76d603d1936fba1e9317a06e20000000052ca478f0367ab24857e788576f17bfcd05e62d20d0fbefd1b2d954b996eaba67819023635e31483f5b0257f89b46a1d2b9cb2420e1cdb940ceaff5429dd8013",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEfzMn40ZiJ0qhR5U6AH8wwu4b\nBte7BT6M4cm2g/D0ZWPdONsHHYdDOzA4BDTJLoy3bWA9GTb7oekxegbiAAAAAFLK\nR48DZ6skhX54hXbxe/zQXmLSDQ++/RstlUuZbqumeBkCNjXjFIP1sCV/ibRqHSuc\nskIOHNuUDOr/VCndgBM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 343,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024073967eb24e20f0d4ba58895a49f812c28d24e5f0fd5e35f1075810a478d93717c8aa2605ac84226dd3d53c39c0d8c52eeac8e998bad931f5efdd664b57cee555024005b0031fb10dfc7c36ed89aafe66444835cd9c53e1c850af5f055e2b263d3e737a4e6a83cadb9d76dde535e809f447455324d4aee6f036485d4167a6e60eeda5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 344,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3081850240633f456914707923f4b0086ea318b8cebdba5fa14352e3d9c606bd8dabf032835bbda76aa514c1a6dde1b321803d27f253dfe1cae532a5bdcd9e93e5f94596d10241009b9c8ba074deeb03745d8ae37c73e02273071a35dcfe0f65e463e208bd11c6ccb3aded6be7313d7a656d5e871b8ea4d1d51b778467b6dde6578e105d56b617d4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 345,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024040891a57b9b8f0bc6a8761d2424cb60b3f39de4e601bc8daf15ab3216c2c56ebcc760de30907e89294af5818f5a72a2df409bb6918f3d6e506ce5314602e50c1024068620756ee2a600a1467f29608ead019d0d516b79c8a756fc537a9fc734616bfec133839beb4778fdffd3fb4226e51ce4bc09627331c8daef1f711648a30fb06",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0412482f158e62e83467297b4edad930ad319048283f0949300605a4a2d19f72f924d41e1cc3ad2c246574f4a0eb637cdd386c1ebf4a00707b71a646dcffffffff18d851ef92835f7be92a25b988ae8d5f7ed42f312f7c896850a589f7bb7500330d138cc20dc5630a7d525926e8f717635ee72937035736ace88f0c491f31930d",
+        "wx" : "12482f158e62e83467297b4edad930ad319048283f0949300605a4a2d19f72f924d41e1cc3ad2c246574f4a0eb637cdd386c1ebf4a00707b71a646dcffffffff",
+        "wy" : "18d851ef92835f7be92a25b988ae8d5f7ed42f312f7c896850a589f7bb7500330d138cc20dc5630a7d525926e8f717635ee72937035736ace88f0c491f31930d"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000412482f158e62e83467297b4edad930ad319048283f0949300605a4a2d19f72f924d41e1cc3ad2c246574f4a0eb637cdd386c1ebf4a00707b71a646dcffffffff18d851ef92835f7be92a25b988ae8d5f7ed42f312f7c896850a589f7bb7500330d138cc20dc5630a7d525926e8f717635ee72937035736ace88f0c491f31930d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEEkgvFY5i6DRnKXtO2tkwrTGQ\nSCg/CUkwBgWkotGfcvkk1B4cw60sJGV09KDrY3zdOGwev0oAcHtxpkbc/////xjY\nUe+Sg1976SoluYiujV9+1C8xL3yJaFClife7dQAzDROMwg3FYwp9Ulkm6PcXY17n\nKTcDVzas6I8MSR8xkw0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 346,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404debd0683028f2335b233c49531b6096e7c5521f75fcb4b5f5e32241be081f3c2b8549b57f31217be9b7aa1a4687a72ec9a5d376307252ca7c1b9b610d25b4d0024004d1303f6b91ac01c91411a983f3abb04f3698b169f8a39ffd1931c061e66f43482fec795dfd0d0abe879fa8db885b618aca2ae013e693f154bb9d0a77adef4f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 347,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024034ac9a4e6fb171f424bb592d1b845bee55173b42422fd5b5132f859a27ddcda5532fd38116e6277d9375639fb25b0f66f1e8a1accaa7800c91c87e7439987d58024075892be8e11d9bf3e81e8370af02d88bda83ce0ae9c21aeb487eef4c4c5458e51a99e4d788db84064cfbc48240f56612078769fde0e3b706125f46e2f26a3508",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 348,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024036b68b5cad7428803f606615505857aa7cfb683d1e9ce856d499fa6e13ee6a4f235edd00403429ff14bc578dd121fd256004794add4fb8195b43a9e1eefbd3a1024045c6affd607f5424a0e49c0f1a72ebf7948a80b482ef171ee161dc36515679e32fa9edaa92c57403e6e102643b77391aedeec2b054964315dedd4cc369f23f03",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d69121837f78918506ea9cc14f1492eb66c9e1c4e27f3cb00bb511d5dfdbea6f817a87bfd81de2955fa032f52873f799169cc445cb0391e46e57179ef84d50c85db5c97",
+        "wx" : "727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d691218",
+        "wy" : "37f78918506ea9cc14f1492eb66c9e1c4e27f3cb00bb511d5dfdbea6f817a87bfd81de2955fa032f52873f799169cc445cb0391e46e57179ef84d50c85db5c97"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d69121837f78918506ea9cc14f1492eb66c9e1c4e27f3cb00bb511d5dfdbea6f817a87bfd81de2955fa032f52873f799169cc445cb0391e46e57179ef84d50c85db5c97",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEcn511j3OsahKcQbYAujrNKIE\nvAU1NWeiO6i29U5Q0tgiHIf9jlI4ozdN+Vizzz4/OMYYwcyMW5V0tQ5AXWkSGDf3\niRhQbqnMFPFJLrZsnhxOJ/PLALtRHV39vqb4F6h7/YHeKVX6Ay9Shz95kWnMRFyw\nOR5G5XF574TVDIXbXJc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 349,
+          "comment" : "y-coordinate of the public key is small on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402405e1bf4b1debacba4725fc3cc8214534de5f6e592645b60f4c4a1dd2260d3357d8fb2ada7f72a48346a7e34395a6a181c694048ae8258f1cb3b6f63f4932829eb02405e3df0beee22fa96d4655833862f73b52f12e4c4c7d818b21846effb39d6f09fc35b2d0fac8f5cb3c4051ff45f5305e93b24138a0f95fad2fef1c10cd1dcf2cb",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 350,
+          "comment" : "y-coordinate of the public key is small on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818502410080400bee9a342f3afba2dbb029235ad511aedb30960c53bad670460b38304d7cbd706ff98f1296cb7e746f8ca3a43937a5cd035a00c63868001fa429b491bd8e02405c66941edcda56228edce77373a7b9dcdd464ed18075e7da1427911778784f8017bef6f18751cba12355bd90ba63b8d31ea373387f36494e3642008082d349d1",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 351,
+          "comment" : "y-coordinate of the public key is small on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404768dfddae4cb83566f2c3a9340091c2608e0e270a4b3f48ded7c75b4aa15ab65cb050cfdb312c32bfaa7759869c9c0ce27f6cdf1fb584379f6398c95ebf864402407e1a3aacd8d603faecf87902147b67435d992ee9e543f934dd4c40d8a12cd1e10366d0743d7862b9c8ba8b6816639c3509b5caa2a91533c0af50ece2fd2c530c",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d69121872e614a08b7b1abf2ae39d7f7d5d5deb7d0899e8b30e80f17865de23781b5ff57fcbbcd745cc65135c4661b15539b4a1cbd1c610e69d550b39258b49d25eec5c",
+        "wx" : "727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d691218",
+        "wy" : "72e614a08b7b1abf2ae39d7f7d5d5deb7d0899e8b30e80f17865de23781b5ff57fcbbcd745cc65135c4661b15539b4a1cbd1c610e69d550b39258b49d25eec5c"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d69121872e614a08b7b1abf2ae39d7f7d5d5deb7d0899e8b30e80f17865de23781b5ff57fcbbcd745cc65135c4661b15539b4a1cbd1c610e69d550b39258b49d25eec5c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEcn511j3OsahKcQbYAujrNKIE\nvAU1NWeiO6i29U5Q0tgiHIf9jlI4ozdN+Vizzz4/OMYYwcyMW5V0tQ5AXWkSGHLm\nFKCLexq/KuOdf31dXet9CJnosw6A8Xhl3iN4G1/1f8u810XMZRNcRmGxVTm0ocvR\nxhDmnVULOSWLSdJe7Fw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 352,
+          "comment" : "y-coordinate of the public key is large on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308184024027d9c6c4db31aff288fa4e40159d6ee18c98139427484796f1f8745c9827dfc08d393abe144df6b7c12d48971fdd284b81e6e10860359ef71473b9e6bb84cb1e024007a0420c8a9b26911b63626540a85f60aa277afdef9990fc8dc1d3f1f2c5a927e1e4a29d81a701b48b366f000f962614899cbf193826ca8de4a425538de5ac62",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 353,
+          "comment" : "y-coordinate of the public key is large on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308184024049542eec3b96c476b59b2b94d5fc7ee08fd2a1b1e732e6609098ab2a7f250452fbc1057a6d3feccbcaeb00468b26222eb48065fcaad7647681823860451e1e91024037db336dee1e45d9ace550053511c9c3755657e78eca108d3dfd1e68fe83da626b8dacbb19f0ee232b0f8bfe8ddbe7d5e98b7a2eccd03f375d164ce828631896",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 354,
+          "comment" : "y-coordinate of the public key is large on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404f90ceb76bc72f0cca10705d3badab6caa6019ef6bfe7de1b75951d517d2b16168515bf305f0006292e4900598256141e45c19077fa447dd5f32daa62c25081502406712a784102802821e9708e349d03a88297b374ef81a4edc35016524cd2a22afea7b8b3171de60ac1b3882533650586dcad338ea48231486e10e3120ce3d2a59",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040518ff14ba05188abed0a8c88db0f097b5660aac57e9a3cdbb9c833e2a7f9f613e49956b53a635952e29818e4a8015cb6a150cede636c2558f2d3602483963b99ed9fe842f3ed418462c63e266944ca2747e15bd8f52844d6a1ce9815210421206805c6ed792356ec57d79fa3e36fff23e2fc6370c67bc51d3f8b555c9048d6d",
+        "wx" : "518ff14ba05188abed0a8c88db0f097b5660aac57e9a3cdbb9c833e2a7f9f613e49956b53a635952e29818e4a8015cb6a150cede636c2558f2d3602483963b9",
+        "wy" : "09ed9fe842f3ed418462c63e266944ca2747e15bd8f52844d6a1ce9815210421206805c6ed792356ec57d79fa3e36fff23e2fc6370c67bc51d3f8b555c9048d6d"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040518ff14ba05188abed0a8c88db0f097b5660aac57e9a3cdbb9c833e2a7f9f613e49956b53a635952e29818e4a8015cb6a150cede636c2558f2d3602483963b99ed9fe842f3ed418462c63e266944ca2747e15bd8f52844d6a1ce9815210421206805c6ed792356ec57d79fa3e36fff23e2fc6370c67bc51d3f8b555c9048d6d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEBRj/FLoFGIq+0KjIjbDwl7Vm\nCqxX6aPNu5yDPip/n2E+SZVrU6Y1lS4pgY5KgBXLahUM7eY2wlWPLTYCSDljuZ7Z\n/oQvPtQYRixj4maUTKJ0fhW9j1KETWoc6YFSEEISBoBcbteSNW7FfXn6Pjb/8j4v\nxjcMZ7xR0/i1VckEjW0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 355,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "3081850240459e3e6e671a6c342d585db689043d32a494ce0039ee71ac67ed6ec0861908ebae6b2d6e4a67caa7a8f0576a49889a4a63d4b0b8aa8845c9cf785b49412a7071024100a5edd7abfce9d4413b22289397785b3d84b2c0d3719409255bb7128268e0bcd37d928bea5486bf56ffe259c7ec9f50b878e0155d73e3bde5cffe55e612f8d7b8",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 356,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402401b2f7ea40960e37e28b556b7e446c4641e2f3d8a829dcc4a349553e42cf9ce6272dc9cdcda013e3981cb73b10d46321c80501d6a34ad7fd959a0c78f891f33f002407f195b7696edfc7687ff0126eaba13dad1e19563e8d395af32db3d6a7b4e82f28004501d92b7537da397845b7aa398a11051052e52264bd8cbcba9987ec6742b",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 357,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402401b5c1d2b2b06591a1fa516cffa9c8a57cf1fffc22cecb7249281670bc23883a68553e0caf1edd9f1703a25b74e0000a37e32e6cc3576939f458c3dd5c4dbcc9c02404b23d7ed7f8a6b7ba7d22aefa8fde030ecb3f2fed4a5f26f12d59a29d63cdd0ec03fae557d141c7b0e8712c306b0eebbd0cab27696012062622bb180043034ba",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043f89e787b4d5d2599624513530e750ab3c5957dc9aa0e7b08a3e25356818e2037d062f336d4eed417c91bcb11b54b57d54a4f02a72fb74262f742cc6f34044013a448b8e2d0d5a7c5b4f1b9f5b701a9d21ff55e3678ca119b6d7c511ba0aef89f31aeb195db00f248359aee924e7c860b76845f6512a2a4aadc1287a15095220",
+        "wx" : "3f89e787b4d5d2599624513530e750ab3c5957dc9aa0e7b08a3e25356818e2037d062f336d4eed417c91bcb11b54b57d54a4f02a72fb74262f742cc6f3404401",
+        "wy" : "3a448b8e2d0d5a7c5b4f1b9f5b701a9d21ff55e3678ca119b6d7c511ba0aef89f31aeb195db00f248359aee924e7c860b76845f6512a2a4aadc1287a15095220"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043f89e787b4d5d2599624513530e750ab3c5957dc9aa0e7b08a3e25356818e2037d062f336d4eed417c91bcb11b54b57d54a4f02a72fb74262f742cc6f34044013a448b8e2d0d5a7c5b4f1b9f5b701a9d21ff55e3678ca119b6d7c511ba0aef89f31aeb195db00f248359aee924e7c860b76845f6512a2a4aadc1287a15095220",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEP4nnh7TV0lmWJFE1MOdQqzxZ\nV9yaoOewij4lNWgY4gN9Bi8zbU7tQXyRvLEbVLV9VKTwKnL7dCYvdCzG80BEATpE\ni44tDVp8W08bn1twGp0h/1XjZ4yhGbbXxRG6Cu+J8xrrGV2wDySDWa7pJOfIYLdo\nRfZRKipKrcEoehUJUiA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 358,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308186024100a952847acf213c86e231316d8f9130f7cbdf7f3952307a577076342d13939b4ab5a1313b34abb89204d3fd1f873885fffa683c5a493e5461c7f1400af86ae7fe0241009a65a8a4150de593b29642b988b2ec2e23e15e156ecf0af5fde2fbd73208f69f2506d141e0b47c0e1f2fa09ef26b389a6bd2b0230930a16fd119767e382724b5",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 359,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308185024051bfb80aae30262a67bf0771a6b8d195e59aa04e87bd060fe5a9bd56d35385a5fc3da5dfc3ae8c67dbd408184482855e3563dedee72a21b60fafd73819aa837c024100807f0d69385467ad6cd8a44d482ca3b6e18f7b352ef19a2bc980500b6d59045f0d6f7ab7e414c50d2b68d7f6e6c01d3e8353cdfd475f249b31842fe59955f414",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 360,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404e8711b00de355f14c8eb91959c13c77f9155754765f10f2aaa8fdad6a14c6a4e62c5ed48a9d8ca403c902db0c2c0735426b33e67828ac32ae19b84e6598681902407d104ae5e5d0da26cb427d7951d40df429b4205086e633b800d7d7b8bde48a9bec4e43ddeb4226192b5c9b30ffa3efa7d2385ab28a190c165fb2a2c58572c2a2",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047860a4743bb48e7793c7f1416fbac6ca0b538210d743f24976af3efda97f28bc95913401ec4ca5e744a23d1a552653ff110ec8421b3de531f3bacda07bfb09d603662f2f2475bbf5e20da48b50169d289c89c54ed0f97bbbc7f38016f1a955cb74c52727ef802055ea090fe1a49be58ddc6083bca3f7c02ff644775cd0027f06",
+        "wx" : "7860a4743bb48e7793c7f1416fbac6ca0b538210d743f24976af3efda97f28bc95913401ec4ca5e744a23d1a552653ff110ec8421b3de531f3bacda07bfb09d6",
+        "wy" : "3662f2f2475bbf5e20da48b50169d289c89c54ed0f97bbbc7f38016f1a955cb74c52727ef802055ea090fe1a49be58ddc6083bca3f7c02ff644775cd0027f06"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047860a4743bb48e7793c7f1416fbac6ca0b538210d743f24976af3efda97f28bc95913401ec4ca5e744a23d1a552653ff110ec8421b3de531f3bacda07bfb09d603662f2f2475bbf5e20da48b50169d289c89c54ed0f97bbbc7f38016f1a955cb74c52727ef802055ea090fe1a49be58ddc6083bca3f7c02ff644775cd0027f06",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEeGCkdDu0jneTx/FBb7rGygtT\nghDXQ/JJdq8+/al/KLyVkTQB7Eyl50SiPRpVJlP/EQ7IQhs95THzus2ge/sJ1gNm\nLy8kdbv14g2ki1AWnSicicVO0Pl7u8fzgBbxqVXLdMUnJ++AIFXqCQ/hpJvljdxg\ng7yj98Av9kR3XNACfwY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 361,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404cd61754211d222371e552578ff705cc819a2f9fb2729f05d848caabf44a31fda1bd038f1b87efd28a8ce53222fdfec18d5929df926df27c2c7e7360bc5c0c7002405ce94c851db1807dc79dcc087c0830d70a0069cf52baffaf347aefa1ddba77f6f770c1483fdde38f5d74bdb32372e12fee843efff0f2dc9344ca1e3b26b9b051",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 362,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308185024048b4bde7befb1b1cad50cee6233cbf32812860c81d7ad5b0e9d6377202bcd34827c534da0ac9646ae0154689e38c608894bb3126e1025f69c824c69ab821274a0241008369f5840f776668ebb435b33be05dce4adfabb8860ccc900d07db006a50195fd4de98632192fbe7319cedff26aa8682cf7bf5f1c02e58b9c163236103d9b314",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 363,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308185024019524b15cf4ecb400b938ef5f752b86ec8f07c5903da5dba9c91ab7965b1223a8e262bef8cca8973ed98797f37a35e1c5999cf203e610ef773c6aa2786bba06402410098cf7526f5a24a0e2f22f909f8190b13130451b15dd6774bdea9d929342d924bc7eba1df89919c1b9aee8d09203606d10cebff89904cb7e71a82d8972d755306",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
     }
   ]
 }
diff --git a/src/third_party/wycheproof/ecdsa_secp224r1_sha224_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.json
similarity index 85%
rename from src/third_party/wycheproof/ecdsa_secp224r1_sha224_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.json
index 9fa7206..8fb42ae 100644
--- a/src/third_party/wycheproof/ecdsa_secp224r1_sha224_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.json
@@ -1,27 +1,28 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 337,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 355,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6tqTvhCyRJ4ei7WDBdUgCAE8VxB8GiCj\nF6bLp+ymcjQMA9HS4JZjKGaR31UGn6JUkMndn5wLsrU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5",
         "wx" : "0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7",
         "wy" : "0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6tqTvhCyRJ4ei7WDBdUgCAE8VxB8GiCj\nF6bLp+ymcjQMA9HS4JZjKGaR31UGn6JUkMndn5wLsrU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -35,7 +36,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303c021c533d488bd8c4b459bc1bb67c7c96f5fcfc70996660c068d7fca3d605021c31893ff9dd72c79f3a62fdc5d82f7c05b75b8807c3f6830e861697fb",
+          "sig" : "303c021c4a8707d71bfb4abe6f4ec4b6a9b9bb6ca976f49ea4f9da5c512c18ff021c0e7005d0d6531f804fc379ff5636f84dd4ebfd152a77208a4ab380d2",
           "result" : "valid",
           "flags" : []
         },
@@ -43,7 +44,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303d021c40d10e9cb11ac916d0c388a6feef764e2c22309f93a9f539c73725a2021d00904be66c40a6d256f3e99555c502b933f8625351e9bf7955fe173e75",
+          "sig" : "303e021d00f28392efbc1cde8f18300262d8983b7b3a76469eb109d74963e6b78e021d00f88da4155a96cdf7684f25642576db90346f0ae4dce4a6e0bfd147d1",
           "result" : "valid",
           "flags" : []
         },
@@ -51,7 +52,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303c021c426f5e9c494c3669a6d0df24f5523d6dcda666a6ab8eb7def60a40bf021c1c342732ba0cc317dd4ffbbd20ce163607f9009a1a67518b0dff0cee",
+          "sig" : "303e021d0080d9d26b88c799b65de914068a8f2b13a7834f2f1eb680a610a38365021d0080b9d0b15dea30ca097f04fc3b1283de05e9cf6e418601db595d8c74",
           "result" : "valid",
           "flags" : []
         },
@@ -59,7 +60,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303d021d00abf10842ebbfdcd2c3bf18e1acc17c04bcc488e65542af2de38cb712021c5f37ff71604b38b5d66087a36ffdf371b0d4e2d9d4a22c2e9c80fafc",
+          "sig" : "303d021d00fc6e6932efd7ddc5c9be971b2516ac818a7300bf3ccc19d19572c781021c47a255e496b1cceb892c4861e2e0e48ae94b98493a8cb255e8e23298",
           "result" : "valid",
           "flags" : []
         },
@@ -67,7 +68,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303d021c7827f94e5abd228d2bf7bd42bb8cbd1a3529ff26b295f4fbfa159b4c021d00b5a984cbd21ed6d230d22e4688745cfe0da94f9c0bccfb249ae6a4ef",
+          "sig" : "303d021c3284a29335f522ce8b34a17cd22c8c8f6a72d7cec4211f64f9e93fbe021d00d1c7644ca2a165562d14dafef9b9a26bd5d3e31f6945928b63675f2d",
           "result" : "valid",
           "flags" : []
         },
@@ -95,7 +96,9 @@
           "msg" : "313233343030",
           "sig" : "30813d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -103,7 +106,9 @@
           "msg" : "313233343030",
           "sig" : "303e02811c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -111,7 +116,9 @@
           "msg" : "313233343030",
           "sig" : "303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02811d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -119,7 +126,9 @@
           "msg" : "313233343030",
           "sig" : "3082003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -127,7 +136,9 @@
           "msg" : "313233343030",
           "sig" : "303f0282001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -135,7 +146,9 @@
           "msg" : "313233343030",
           "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0282001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 15,
@@ -387,6 +400,14 @@
         },
         {
           "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000",
@@ -394,7 +415,7 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
+          "tcId" : 48,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "303f0000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -402,24 +423,16 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 49,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 50,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500",
           "result" : "invalid",
@@ -427,22 +440,6 @@
         },
         {
           "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3042498177303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -450,7 +447,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30412500303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -458,7 +455,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef",
@@ -466,7 +463,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30422221498177021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -474,7 +471,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304122202500021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -482,7 +479,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3045221e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0004deadbeef021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -490,7 +487,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2222498177021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -498,7 +495,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a22212500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -506,7 +503,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a221f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef",
@@ -514,7 +511,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3045aa00bb00cd00303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -522,7 +519,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3043aa02aabb303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -530,7 +527,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30452224aa00bb00cd00021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -538,7 +535,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30432222aa02aabb021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -546,7 +543,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2225aa00bb00cd00021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -554,7 +551,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3043021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2223aa02aabb021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -562,7 +559,15 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000",
@@ -570,7 +575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30412280021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -578,7 +583,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000",
@@ -586,7 +591,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000",
@@ -594,7 +599,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30412280031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -602,7 +607,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000",
@@ -610,7 +615,7 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
+          "tcId" : 73,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -618,127 +623,47 @@
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "323d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
+          "tcId" : 79,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -746,31 +671,15 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "3041300102303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463",
@@ -778,7 +687,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -786,15 +695,17 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636100",
@@ -802,7 +713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636105000000",
@@ -810,7 +721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361060811220000",
@@ -818,7 +729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000fe02beef",
@@ -826,7 +737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610002beef",
@@ -834,7 +745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "303f3000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -842,7 +753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463613000",
@@ -850,7 +761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -858,7 +769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "301e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a",
@@ -866,7 +777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "305c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -874,7 +785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "301f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -882,7 +793,23 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302002021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "301f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -890,7 +817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000",
@@ -898,23 +825,67 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "303f021e000070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 111,
+          "tcId" : 100,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f000000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30210281021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "30210500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -922,7 +893,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 107,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500",
@@ -930,7 +901,87 @@
           "flags" : []
         },
         {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "30210200021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -938,7 +989,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0200",
@@ -946,7 +997,23 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "303d021c72049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -954,7 +1021,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d02d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -962,7 +1029,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a488a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -970,7 +1037,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463e1",
@@ -978,7 +1045,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303c021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a48021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -986,7 +1053,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303c021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -994,7 +1061,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463",
@@ -1002,7 +1069,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -1010,7 +1077,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "303e021dff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -1018,7 +1085,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021eff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -1026,7 +1093,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3022090180021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
@@ -1034,7 +1101,7 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
+          "tcId" : 133,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a090180",
@@ -1042,66 +1109,18 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "sig" : "3022020100021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 135,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e",
+          "sig" : "3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1109,7 +1128,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924",
+          "sig" : "303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
@@ -1117,7 +1136,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f",
+          "sig" : "303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
@@ -1125,7 +1144,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262",
+          "sig" : "303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
@@ -1133,7 +1152,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "sig" : "303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
@@ -1141,12 +1160,76 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f",
+          "sig" : "303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1156,7 +1239,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1166,7 +1249,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1176,7 +1259,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1186,7 +1269,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1196,7 +1279,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1206,7 +1289,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1216,7 +1299,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1226,7 +1309,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1236,7 +1319,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1246,7 +1329,7 @@
           ]
         },
         {
-          "tcId" : 151,
+          "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1256,7 +1339,7 @@
           ]
         },
         {
-          "tcId" : 152,
+          "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201010201ff",
@@ -1266,7 +1349,7 @@
           ]
         },
         {
-          "tcId" : 153,
+          "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1276,7 +1359,7 @@
           ]
         },
         {
-          "tcId" : 154,
+          "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1286,7 +1369,7 @@
           ]
         },
         {
-          "tcId" : 155,
+          "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1296,7 +1379,7 @@
           ]
         },
         {
-          "tcId" : 156,
+          "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1306,7 +1389,7 @@
           ]
         },
         {
-          "tcId" : 157,
+          "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1316,7 +1399,7 @@
           ]
         },
         {
-          "tcId" : 158,
+          "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020101090380fe01",
@@ -1326,7 +1409,7 @@
           ]
         },
         {
-          "tcId" : 159,
+          "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020100",
@@ -1336,7 +1419,7 @@
           ]
         },
         {
-          "tcId" : 160,
+          "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020101",
@@ -1346,7 +1429,7 @@
           ]
         },
         {
-          "tcId" : 161,
+          "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff0201ff",
@@ -1356,7 +1439,7 @@
           ]
         },
         {
-          "tcId" : 162,
+          "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1366,7 +1449,7 @@
           ]
         },
         {
-          "tcId" : 163,
+          "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1376,7 +1459,7 @@
           ]
         },
         {
-          "tcId" : 164,
+          "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1386,7 +1469,7 @@
           ]
         },
         {
-          "tcId" : 165,
+          "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1396,7 +1479,7 @@
           ]
         },
         {
-          "tcId" : 166,
+          "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1406,7 +1489,7 @@
           ]
         },
         {
-          "tcId" : 167,
+          "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30080201ff090380fe01",
@@ -1416,7 +1499,7 @@
           ]
         },
         {
-          "tcId" : 168,
+          "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100",
@@ -1426,7 +1509,7 @@
           ]
         },
         {
-          "tcId" : 169,
+          "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101",
@@ -1436,7 +1519,7 @@
           ]
         },
         {
-          "tcId" : 170,
+          "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff",
@@ -1446,7 +1529,7 @@
           ]
         },
         {
-          "tcId" : 171,
+          "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1456,7 +1539,7 @@
           ]
         },
         {
-          "tcId" : 172,
+          "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1466,7 +1549,7 @@
           ]
         },
         {
-          "tcId" : 173,
+          "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1476,7 +1559,7 @@
           ]
         },
         {
-          "tcId" : 174,
+          "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1486,7 +1569,7 @@
           ]
         },
         {
-          "tcId" : 175,
+          "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1496,7 +1579,7 @@
           ]
         },
         {
-          "tcId" : 176,
+          "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01",
@@ -1506,7 +1589,7 @@
           ]
         },
         {
-          "tcId" : 177,
+          "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100",
@@ -1516,7 +1599,7 @@
           ]
         },
         {
-          "tcId" : 178,
+          "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101",
@@ -1526,7 +1609,7 @@
           ]
         },
         {
-          "tcId" : 179,
+          "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff",
@@ -1536,7 +1619,7 @@
           ]
         },
         {
-          "tcId" : 180,
+          "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1546,7 +1629,7 @@
           ]
         },
         {
-          "tcId" : 181,
+          "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1556,7 +1639,7 @@
           ]
         },
         {
-          "tcId" : 182,
+          "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1566,7 +1649,7 @@
           ]
         },
         {
-          "tcId" : 183,
+          "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1576,7 +1659,7 @@
           ]
         },
         {
-          "tcId" : 184,
+          "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1586,7 +1669,7 @@
           ]
         },
         {
-          "tcId" : 185,
+          "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01",
@@ -1596,7 +1679,7 @@
           ]
         },
         {
-          "tcId" : 186,
+          "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100",
@@ -1606,7 +1689,7 @@
           ]
         },
         {
-          "tcId" : 187,
+          "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101",
@@ -1616,7 +1699,7 @@
           ]
         },
         {
-          "tcId" : 188,
+          "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff",
@@ -1626,7 +1709,7 @@
           ]
         },
         {
-          "tcId" : 189,
+          "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1636,7 +1719,7 @@
           ]
         },
         {
-          "tcId" : 190,
+          "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1646,7 +1729,7 @@
           ]
         },
         {
-          "tcId" : 191,
+          "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1656,7 +1739,7 @@
           ]
         },
         {
-          "tcId" : 192,
+          "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1666,7 +1749,7 @@
           ]
         },
         {
-          "tcId" : 193,
+          "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1676,7 +1759,7 @@
           ]
         },
         {
-          "tcId" : 194,
+          "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01",
@@ -1686,7 +1769,7 @@
           ]
         },
         {
-          "tcId" : 195,
+          "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100",
@@ -1696,7 +1779,7 @@
           ]
         },
         {
-          "tcId" : 196,
+          "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101",
@@ -1706,7 +1789,7 @@
           ]
         },
         {
-          "tcId" : 197,
+          "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff",
@@ -1716,7 +1799,7 @@
           ]
         },
         {
-          "tcId" : 198,
+          "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1726,7 +1809,7 @@
           ]
         },
         {
-          "tcId" : 199,
+          "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1736,7 +1819,7 @@
           ]
         },
         {
-          "tcId" : 200,
+          "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1746,7 +1829,7 @@
           ]
         },
         {
-          "tcId" : 201,
+          "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1756,7 +1839,7 @@
           ]
         },
         {
-          "tcId" : 202,
+          "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1766,7 +1849,7 @@
           ]
         },
         {
-          "tcId" : 203,
+          "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01",
@@ -1776,7 +1859,7 @@
           ]
         },
         {
-          "tcId" : 204,
+          "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100",
@@ -1786,7 +1869,7 @@
           ]
         },
         {
-          "tcId" : 205,
+          "tcId" : 213,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101",
@@ -1796,7 +1879,7 @@
           ]
         },
         {
-          "tcId" : 206,
+          "tcId" : 214,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff",
@@ -1806,7 +1889,7 @@
           ]
         },
         {
-          "tcId" : 207,
+          "tcId" : 215,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1816,7 +1899,7 @@
           ]
         },
         {
-          "tcId" : 208,
+          "tcId" : 216,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1826,7 +1909,7 @@
           ]
         },
         {
-          "tcId" : 209,
+          "tcId" : 217,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1836,7 +1919,7 @@
           ]
         },
         {
-          "tcId" : 210,
+          "tcId" : 218,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1846,7 +1929,7 @@
           ]
         },
         {
-          "tcId" : 211,
+          "tcId" : 219,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1856,7 +1939,7 @@
           ]
         },
         {
-          "tcId" : 212,
+          "tcId" : 220,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01",
@@ -1866,7 +1949,7 @@
           ]
         },
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3137353738",
           "sig" : "303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c3116e1a38e4ab2008eca032fb2d185e5c21a232eaf4507ae56177fd2",
@@ -1876,20 +1959,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEi/fnkvfIaHfx/QVS5C2AZTtZ46Kedioi\ngQ2qx+7GFbutBLWNwqeVYJC4BAu1BVMlu6Cqizpcqm8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f",
         "wx" : "08bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7",
         "wy" : "0eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEi/fnkvfIaHfx/QVS5C2AZTtZ46Kedioi\ngQ2qx+7GFbutBLWNwqeVYJC4BAu1BVMlu6Cqizpcqm8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
@@ -1897,7 +1981,7 @@
           "flags" : []
         },
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
@@ -1907,20 +1991,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJkb/NtlpeqrtDWQRF/lPYOE4urjpkStV\niuCoGMpI5FozVQwbW9IKAOTZ3zAzwDIi6HvZaoGX8t0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd",
         "wx" : "2646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818",
         "wy" : "0ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJkb/NtlpeqrtDWQRF/lPYOE4urjpkStV\niuCoGMpI5FozVQwbW9IKAOTZ3zAzwDIi6HvZaoGX8t0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b",
@@ -1930,20 +2015,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6j6ihztvwJm/13mwosI8LENU4v7EU287\njkIJiPl+HHZGtOs95hZ1L0Fas6b2ltHWdPtLZzIlI4I=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382",
         "wx" : "0ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988",
         "wy" : "0f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6j6ihztvwJm/13mwosI8LENU4v7EU287\njkIJiPl+HHZGtOs95hZ1L0Fas6b2ltHWdPtLZzIlI4I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1",
@@ -1953,20 +2039,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkq5U44tOnGrplDGTdHxMisxslvQiUVKI\n6WmKE+jzp1mhqCc8U/S0sYv8942buYits7AFAC2+Q0w=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c",
         "wx" : "092ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13",
         "wy" : "0e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkq5U44tOnGrplDGTdHxMisxslvQiUVKI\n6WmKE+jzp1mhqCc8U/S0sYv8942buYits7AFAC2+Q0w=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b",
@@ -1976,20 +2063,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsVcxXMGq6uZOtbOEUohBlf3+ihX7Vhgo\nT0iv5eH7uq1ylHekXzdSt/cq0vnNfc5BWKjiG4En6Kc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7",
         "wx" : "0b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5",
         "wy" : "0e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsVcxXMGq6uZOtbOEUohBlf3+ihX7Vhgo\nT0iv5eH7uq1ylHekXzdSt/cq0vnNfc5BWKjiG4En6Kc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020101",
@@ -1999,20 +2087,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEh9nZZARLWxaAHzLenz+QZhlOi/gK/6PL\nDU3bHbXrm2WU5tG8rND9nWfECPeJ37lf63mm4vucTO4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee",
         "wx" : "087d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1d",
         "wy" : "0b5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEh9nZZARLWxaAHzLenz+QZhlOi/gK/6PL\nDU3bHbXrm2WU5tG8rND9nWfECPeJ37lf63mm4vucTO4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020103",
@@ -2022,20 +2111,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAERhtDWvCe3jXnTawh+a97G5mYITA5+Hhd\nSkkF9Ri4m95p3jSkgmOEYdCThucZPKkMpbMDjio4hdE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1",
         "wx" : "461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f5",
         "wy" : "18b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAERhtDWvCe3jXnTawh+a97G5mYITA5+Hhd\nSkkF9Ri4m95p3jSkgmOEYdCThucZPKkMpbMDjio4hdE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020104",
@@ -2043,7 +2133,7 @@
           "flags" : []
         },
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104",
@@ -2053,20 +2143,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEgJOvjbBLPdLnw8WbtkqDLC+46OFBuue6\nFTSVChDF6HrsvR/N/DbNGNQbMjiyrGE+t8nemI2IGBY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816",
         "wx" : "08093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a",
         "wy" : "10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEgJOvjbBLPdLnw8WbtkqDLC+46OFBuue6\nFTSVChDF6HrsvR/N/DbNGNQbMjiyrGE+t8nemI2IGBY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4",
@@ -2076,20 +2167,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExtcfS6CTPxJp99bfg/0MnGclTxAdzBJt\nwV+qPjxF3J/txxyfKw3RsStlYkH14zUGbz+SW9vP6Y8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f",
         "wx" : "0c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e",
         "wy" : "3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExtcfS6CTPxJp99bfg/0MnGclTxAdzBJt\nwV+qPjxF3J/txxyfKw3RsStlYkH14zUGbz+SW9vP6Y8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab",
@@ -2099,20 +2191,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvrnY3LpIFGuQMmiOzqlHojHn0ObOF9dr\nVu1jSDVQPztK9BSHDvAzg3hLHYRrPge46fwtYZCjv9o=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda",
         "wx" : "0beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed6348",
         "wy" : "35503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvrnY3LpIFGuQMmiOzqlHojHn0ObOF9dr\nVu1jSDVQPztK9BSHDvAzg3hLHYRrPge46fwtYZCjv9o=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c",
@@ -2122,20 +2215,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEGVW6P5DnpzlHGl0YK1lMl0frSdU1YgPz\nu4uTnIB9iM46CIW/pbW39um+sYKF5xMFJLbBSYsyae4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee",
         "wx" : "1955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c",
         "wy" : "0807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEGVW6P5DnpzlHGl0YK1lMl0frSdU1YgPz\nu4uTnIB9iM46CIW/pbW39um+sYKF5xMFJLbBSYsyae4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8",
@@ -2145,20 +2239,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEXLnlpQcfKzeqOl5fOJ9U+ZawvIoTLsto\nhTGPv07F+Lk9i/Kjtk+nysMWOSVixGVnljxDpp96N/0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd",
         "wx" : "5cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf",
         "wy" : "4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEXLnlpQcfKzeqOl5fOJ9U+ZawvIoTLsto\nhTGPv07F+Lk9i/Kjtk+nysMWOSVixGVnljxDpp96N/0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e",
@@ -2168,20 +2263,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEezTvhyOkMJwPqKfsOng0d2UqgokjcPZ2\nMxT+e97mY4UwceNf08dvmR14Q8XhaMplm5O9YBVRj7o=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba",
         "wx" : "7b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7b",
         "wy" : "0dee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEezTvhyOkMJwPqKfsOng0d2UqgokjcPZ2\nMxT+e97mY4UwceNf08dvmR14Q8XhaMplm5O9YBVRj7o=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e",
@@ -2191,20 +2287,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA/JqnBOXnPXQkOol3JZjmAIs7sMVBKvE\nsQ92dn1Xfc9H4Q44TGuaIppFWp/TPlT+eWC4sBYK7xY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16",
         "wx" : "3f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f7676",
         "wy" : "7d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA/JqnBOXnPXQkOol3JZjmAIs7sMVBKvE\nsQ92dn1Xfc9H4Q44TGuaIppFWp/TPlT+eWC4sBYK7xY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -2214,20 +2311,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtnEpbdX2kFAuSxUA5Ky0yC06qN+8WGim\nQ/hqPKRrqMOnuCMllSIpHiQWIyJ2zKhQPMjb+UHx2T0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d",
         "wx" : "0b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3c",
         "wy" : "0a46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtnEpbdX2kFAuSxUA5Ky0yC06qN+8WGim\nQ/hqPKRrqMOnuCMllSIpHiQWIyJ2zKhQPMjb+UHx2T0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101",
@@ -2235,7 +2333,7 @@
           "flags" : []
         },
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100",
@@ -2245,20 +2343,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEduNLV6jGHfWcsLeSHOxuVCI0QDP3rMt7\nMXnmgs79CoSDCdHez5ijueMzaRuVwXghy2gRN2MMAuI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2",
         "wx" : "76e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682",
         "wy" : "0cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEduNLV6jGHfWcsLeSHOxuVCI0QDP3rMt7\nMXnmgs79CoSDCdHez5ijueMzaRuVwXghy2gRN2MMAuI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -2268,20 +2367,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtcCbSFGmc3Hu57vwJFHlIIxA3mG8GjPf\nJxCzhNzOTluDwyqADo3ij6k21YLNytGF6JTKrHl/HRQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14",
         "wx" : "0b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384",
         "wy" : "0dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtcCbSFGmc3Hu57vwJFHlIIxA3mG8GjPf\nJxCzhNzOTluDwyqADo3ij6k21YLNytGF6JTKrHl/HRQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
@@ -2291,20 +2391,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElB4oO+MTAL/U9qErh2/TJnNSVRzEnp7v\nc/dlOMEV5f47kvZDxs7xxY8/hldXTR9klX1IgJlc3oM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83",
         "wx" : "0941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538",
         "wy" : "0c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElB4oO+MTAL/U9qErh2/TJnNSVRzEnp7v\nc/dlOMEV5f47kvZDxs7xxY8/hldXTR9klX1IgJlc3oM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811",
@@ -2314,20 +2415,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEQ8nM0IqAvKGAInIrC9zXkNgqPvi2XD80\nIEu0cp7hwfAFmBMLIxOj44o3mNA9rGZc/yDzbOiiAko=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a",
         "wx" : "43c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb472",
         "wy" : "09ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEQ8nM0IqAvKGAInIrC9zXkNgqPvi2XD80\nIEu0cp7hwfAFmBMLIxOj44o3mNA9rGZc/yDzbOiiAko=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -2337,20 +2439,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2VjkGPrRxepckj5hheA+1VOdP19Y36yL\nufEEWWmX5AjJe+X9wDelwAQ4nUuX6x9UY16YWFPB8II=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082",
         "wx" : "0d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f10459",
         "wy" : "6997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2VjkGPrRxepckj5hheA+1VOdP19Y36yL\nufEEWWmX5AjJe+X9wDelwAQ4nUuX6x9UY16YWFPB8II=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29",
@@ -2360,20 +2463,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE1im0NMm10Ve9cuEU/YOVU/fw6UYAk0oK\nSeWapHE6E8AXdedeLrrnXZ4p0lBhhBd7fdCGhpOHNZY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596",
         "wx" : "0d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4",
         "wy" : "713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE1im0NMm10Ve9cuEU/YOVU/fw6UYAk0oK\nSeWapHE6E8AXdedeLrrnXZ4p0lBhhBd7fdCGhpOHNZY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d1be91557d866ad5f2945b14ec3317bc43c1338fd06af6496201cce2",
@@ -2383,20 +2487,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPS6buacSvzrUKsMGWf29qb6ZVlN/nzfN\nBfD/N31ZgtbZJm13SULETZ6zUBBR07lohhATHnhW7zY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36",
         "wx" : "3d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff37",
         "wy" : "7d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPS6buacSvzrUKsMGWf29qb6ZVlN/nzfN\nBfD/N31ZgtbZJm13SULETZ6zUBBR07lohhATHnhW7zY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7ac54a381d9bd3f2698359d6f658b5e4167d15a75b576e82d2efbd37",
@@ -2406,20 +2511,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoL4vEBRLm0KwFvG9n8ow5MJKrkd1WWx8\n2weuYNYP86cPFUFjH2CH0/Oz/jdtIwW1C5SCEQZBJHk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479",
         "wx" : "0a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60",
         "wy" : "0d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoL4vEBRLm0KwFvG9n8ow5MJKrkd1WWx8\n2weuYNYP86cPFUFjH2CH0/Oz/jdtIwW1C5SCEQZBJHk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4fbb063e82402e16fe14edda4d7986b0b88344a1f53b0e2684ee7e31",
@@ -2429,20 +2535,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETXQ5elhsisXjJr7QNyC95wN+Sgeu5yCf\ncEk8qxBneL/QgdF6tty4/YpFSWKUHCbswZzan7d3Gds=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db",
         "wx" : "4d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab",
         "wy" : "106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETXQ5elhsisXjJr7QNyC95wN+Sgeu5yCf\ncEk8qxBneL/QgdF6tty4/YpFSWKUHCbswZzan7d3Gds=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d3be5f50d726f99b8ac44bff876bfe78dd7ae630d227ef0ba87ae39b",
@@ -2452,20 +2559,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjC8Umxc4JD+BpvEhNTlaK6JxiGNiLmbj\nPvwkH1Y4z2rpz7OVeM86cZcCBS5enpQCFsUTbctu8IU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085",
         "wx" : "08c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f",
         "wy" : "5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjC8Umxc4JD+BpvEhNTlaK6JxiGNiLmbj\nPvwkH1Y4z2rpz7OVeM86cZcCBS5enpQCFsUTbctu8IU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e5f50d726f99b8ac44bff876cbf710e47f9087d1afdfb1dab6d6daf1",
@@ -2475,20 +2583,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErVIn5Ir6oWXnuX74IQaHVW4QZD/aijd6\nr09b9BLobUrlX0Rgq6apMvMH7njv3BNumj32MTEAv08=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f",
         "wx" : "0ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf4",
         "wy" : "12e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErVIn5Ir6oWXnuX74IQaHVW4QZD/aijd6\nr09b9BLobUrlX0Rgq6apMvMH7njv3BNumj32MTEAv08=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00cbea1ae4df337158897ff0ed97ef0b261e681f654be23a7011518ba5",
@@ -2498,20 +2607,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEP7lKMWXs3vQ/onkH7Qdcr1LCVCCse8e7\nkECJkgI8TXtHdbWRriI91Nqc6qvXO5dD3auLQFduOT8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f",
         "wx" : "3fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992",
         "wy" : "23c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEP7lKMWXs3vQ/onkH7Qdcr1LCVCCse8e7\nkECJkgI8TXtHdbWRriI91Nqc6qvXO5dD3auLQFduOT8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d726f99b8ac44bff876cbf7e28422aa07ec3cb1d9472bd704f4029f0",
@@ -2521,20 +2631,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE5F/PCn9NwqMI3HhoJRQj+/caIFqVRoUK\nAacy/Jpzyk1BF1B28vNisnbssMzbbguzDEobNcLj7YI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82",
         "wx" : "0e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc",
         "wy" : "09a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE5F/PCn9NwqMI3HhoJRQj+/caIFqVRoUK\nAacy/Jpzyk1BF1B28vNisnbssMzbbguzDEobNcLj7YI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009720b755413cca9506b5d27589e58ac4bed856762ba7ae20ab5b43cc",
@@ -2544,20 +2655,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPFnhOYL9nBpFmRsenXnpOaUqYspHl2Tx\nR34oExsATJv/1/AMBeMWjGJcyTq3oPG6jW+iak1RYss=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb",
         "wx" : "3c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e2813",
         "wy" : "1b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPFnhOYL9nBpFmRsenXnpOaUqYspHl2Tx\nR34oExsATJv/1/AMBeMWjGJcyTq3oPG6jW+iak1RYss=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2e416eaa8279952a0d6ba4eb13cbfee69cf7bcae437232fbfa5a5d5b",
@@ -2567,20 +2679,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExrj/FS16G3qZzjSDveqvW9LOZNxrD4nP\nNUS4fAU6ts+ctRDcFECrTkEqFn9MaTZfz8l/MdW6RYE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581",
         "wx" : "0c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c",
         "wy" : "53ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExrj/FS16G3qZzjSDveqvW9LOZNxrD4nP\nNUS4fAU6ts+ctRDcFECrTkEqFn9MaTZfz8l/MdW6RYE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c56225ffc3b65fbf142177609db189ab5bd013246f19e11ca5b5a127",
@@ -2590,20 +2703,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEfAdy+2VTwOwN0fc7XbOAdk2fL3r7Tqwe\nd02s1W4uXeDbY78Dz5Z16ubS3+VCTnmrOUlRybYK1d8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df",
         "wx" : "7c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd5",
         "wy" : "6e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEfAdy+2VTwOwN0fc7XbOAdk2fL3r7Tqwe\nd02s1W4uXeDbY78Dz5Z16ubS3+VCTnmrOUlRybYK1d8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a7dd831f4120170b7f0a76ed26bc4ea9cc9e1a70048c1bb5f0a55437",
@@ -2613,20 +2727,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEQQjgzNR8ugn7ftTZ80VYI3gJZRV4YcG/\nj5PTS0bW/bcenomtqucTdrE/0XZEsR7tANSYeD2guho=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a",
         "wx" : "4108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b",
         "wy" : "46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEQQjgzNR8ugn7ftTZ80VYI3gJZRV4YcG/\nj5PTS0bW/bcenomtqucTdrE/0XZEsR7tANSYeD2guho=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be",
@@ -2636,20 +2751,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELy2kChty9numNhOiQxGcQcclKDnPEG6G\ntdjm41oeDi/Em08xbwwOcjZ4V0nrNM6SPCOu8zCvhzM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733",
         "wx" : "2f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e3",
         "wy" : "5a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELy2kChty9numNhOiQxGcQcclKDnPEG6G\ntdjm41oeDi/Em08xbwwOcjZ4V0nrNM6SPCOu8zCvhzM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c",
@@ -2659,20 +2775,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEfcCXEPT1hq8FsI8Mnc1IsTCHM8l3Z/wo\nbRxyg0NTpwTHlQuPShE5S8jbBq3M8Z2O2Vx/IUoXMTc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137",
         "wx" : "7dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c7283",
         "wy" : "4353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEfcCXEPT1hq8FsI8Mnc1IsTCHM8l3Z/wo\nbRxyg0NTpwTHlQuPShE5S8jbBq3M8Z2O2Vx/IUoXMTc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f",
@@ -2682,20 +2799,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE27Q54sPp0YIrlMzH2Yyfy2aOZd1qdZrS\n39zTKIJmMjTm2lEtfX1f55FWrQ4Z/8YtYY489IJ2EG0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d",
         "wx" : "0dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd328",
         "wy" : "082663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE27Q54sPp0YIrlMzH2Yyfy2aOZd1qdZrS\n39zTKIJmMjTm2lEtfX1f55FWrQ4Z/8YtYY489IJ2EG0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd",
@@ -2705,20 +2823,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4BLcIMylvSrfqif1dBlZbOCe0PGKkUjj\nCg9u0lW+yhtePiSF75U3rkime3Lbz217MzcgI6XEQ+g=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8",
         "wx" : "0e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed2",
         "wy" : "55beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4BLcIMylvSrfqif1dBlZbOCe0PGKkUjj\nCg9u0lW+yhtePiSF75U3rkime3Lbz217MzcgI6XEQ+g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e",
@@ -2728,20 +2847,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExRCrNKvUhVxU1iQHq+bKCQxzukmsqd6b\n8Re8okKzsAwnLCJoGvfCVRIPrBSK1zyBtHhG5K0vVic=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627",
         "wx" : "0c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca2",
         "wy" : "42b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExRCrNKvUhVxU1iQHq+bKCQxzukmsqd6b\n8Re8okKzsAwnLCJoGvfCVRIPrBSK1zyBtHhG5K0vVic=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc",
@@ -2751,20 +2871,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAECKbhZ1NqR6qiJP7CHOB3ZC79uX2Trha5\nZyJ59DP7nxq7JfLAw+YAishX7eSonKjZ0IuJlmFJaaw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac",
         "wx" : "08a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f4",
         "wy" : "33fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAECKbhZ1NqR6qiJP7CHOB3ZC79uX2Trha5\nZyJ59DP7nxq7JfLAw+YAishX7eSonKjZ0IuJlmFJaaw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3",
@@ -2774,20 +2895,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEGoPhhfzzDmxpzykuSX1jzATm/QfLk2Wn\nS+PDnGstViR99Jz5QXbE6O/ITscQzQ1hTdBmwW9q0+A=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0",
         "wx" : "1a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c",
         "wy" : "6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEGoPhhfzzDmxpzykuSX1jzATm/QfLk2Wn\nS+PDnGstViR99Jz5QXbE6O/ITscQzQ1hTdBmwW9q0+A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde",
@@ -2797,20 +2919,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELVnv2EGkS4P9QuaimEpT+pOtJCwRZ4+S\nICzM+5W8rwsvbrDm1Ng+MmDgN9PcDkirbEFBzmtWytA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0",
         "wx" : "2d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb",
         "wy" : "095bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELVnv2EGkS4P9QuaimEpT+pOtJCwRZ4+S\nICzM+5W8rwsvbrDm1Ng+MmDgN9PcDkirbEFBzmtWytA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f",
@@ -2820,20 +2943,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEEWHHrdb2f5lbk+GesYvV5z/XHWuxDc7v\nC3kunAjETO+YJrTtZ1CMCdB+yFeg6kntGn8fosdMuDg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838",
         "wx" : "1161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c",
         "wy" : "08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEEWHHrdb2f5lbk+GesYvV5z/XHWuxDc7v\nC3kunAjETO+YJrTtZ1CMCdB+yFeg6kntGn8fosdMuDg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520",
@@ -2843,20 +2967,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhNw9Lr/PNIBxO67/MK0HgbyMTQarbd1P\nfxBFr3VwU3xdcaeLGgQayg/jX2QoJKvajD/y6fz1yMs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb",
         "wx" : "084dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af",
         "wy" : "7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhNw9Lr/PNIBxO67/MK0HgbyMTQarbd1P\nfxBFr3VwU3xdcaeLGgQayg/jX2QoJKvajD/y6fz1yMs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056",
@@ -2866,20 +2991,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEF2dXTmRcVQ7z01P3bUQo+WFqwoizY3iF\nfeMyYp/gmCWlfzoOwRGJ9FYCcil6ttXglUAf67YNDck=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9",
         "wx" : "1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262",
         "wy" : "09fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEF2dXTmRcVQ7z01P3bUQo+WFqwoizY3iF\nfeMyYp/gmCWlfzoOwRGJ9FYCcil6ttXglUAf67YNDck=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a",
@@ -2891,20 +3017,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEF2dXTmRcVQ7z01P3bUQo+WFqwoizY3iF\nfeMyYmAfZ9pagMXxPu52C6n9jdWFSSofar/gFEny8jg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238",
         "wx" : "1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262",
         "wy" : "601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEF2dXTmRcVQ7z01P3bUQo+WFqwoizY3iF\nfeMyYmAfZ9pagMXxPu52C6n9jdWFSSofar/gFEny8jg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c1ef359e4bd146f63d8155c5c2523fa3353c9820f84f28150bad3819a",
@@ -2916,20 +3043,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4u+MjMtY66KH2SebNJ52Usyj582hiKXx\neddxQvh1lPNmTA+ve1lnDjU6Nw0daK2J1qHiRrTQO+4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee",
         "wx" : "0e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142",
         "wy" : "0f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4u+MjMtY66KH2SebNJ52Usyj582hiKXx\neddxQvh1lPNmTA+ve1lnDjU6Nw0daK2J1qHiRrTQO+4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
@@ -2939,21 +3067,22 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEuL8++WRqv/+4QiAQTsmWqSzvM/kyjsTL\nHqaZSE/qUaDenp2AG6vULKCSSzZJi8WQD765y9WtnBo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a",
         "wx" : "0b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea69948",
         "wy" : "4fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEuL8++WRqv/+4QiAQTsmWqSzvM/kyjsTL\nHqaZSE/qUaDenp2AG6vULKCSSzZJi8WQD765y9WtnBo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
-          "comment" : "extreme value for k",
+          "tcId" : 270,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
           "result" : "valid",
@@ -2962,21 +3091,142 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJIGTI7e+irCRD38zvS92acRLE/CUeZZe\nlSh9E7BZI0W+r7/bjPNikmm92BdyjV1c08KLxsZBSnA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0",
+        "wx" : "286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e220",
+        "wy" : "2e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKG6AQpyHltzYhdlflg0gn+0Z+H4s5CPR\nZsjiIC4wiCwJlw1d1Ytn5buAr/7HQkipy0p4M4TItqA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 271,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793",
+        "wx" : "5599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c31039",
+        "wy" : "3faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVZmj+vlqunMCvT2Yz95pUltyknYjg/Sg\ntcMQOT+qRf62w10re/Jf/GM8Qg6/xOcVdlMCxaEax5M=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 272,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4",
+        "wx" : "5b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb",
+        "wy" : "1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEW1I0uNtrvTlurn0cpObYd4JMmM3p+/qz\nS2uMyx84rp+HrcPm0kdOtePNmu/wknMgIUvlUPXmLtQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725",
+        "wx" : "0aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b672",
+        "wy" : "5e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErO1OqJSeWuN+8vXrXgBnXQjhfDS+Znew\n8mm2cl460K9J6//0Fe5PKoOOrR+EyvqmUsF6zCYTByU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4",
+        "wx" : "3e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa1532",
+        "wy" : "4e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPowbzBYZXodp4l1MhZgH3/4Xi+1byp2w\nbvoVMk47U7MEi4zNjNwSZb4kDI7iBAYEhqma0x6q06Q=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70",
         "wx" : "24819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13",
         "wy" : "0b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJIGTI7e+irCRD38zvS92acRLE/CUeZZe\nlSh9E7BZI0W+r7/bjPNikmm92BdyjV1c08KLxsZBSnA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
-          "comment" : "extreme value for k",
+          "tcId" : 276,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
           "result" : "valid",
@@ -2985,20 +3235,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82",
+        "wx" : "44cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c81",
+        "wy" : "2b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAERM9XusMKg9o5+Qvz+qzVIhGnD7klR9t3\neOpsgSs/0b8UaI0ncMUM1aiQo4B7oOhhITahsR4DD4I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd",
+        "wx" : "0dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca0",
+        "wy" : "7a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE3BfxAB0yYSf3N1z/pwt1MLyk2hBA3EPQ\nBEqsoHoUbwTFKUz+fh7Vh9pVuucLf6jjL2qoADFNAd0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a",
+        "wx" : "68e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277",
+        "wy" : "0e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEaOLXCI6sGLp3W/aMXFCehq/W+TRRtOTu\nHXPid+JP9OJ+9sUZ22dtgixdsEBIKIgBPI84gbyaxlo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5",
+        "wx" : "0cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046",
+        "wy" : "0865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEzUFxrcuL5153NAYaBIsr8ijRZ8J0LSf4\nVDkgRoZeuVjr0yC6h2Yq06x69WjGvg8JvgkLz+CDs+U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359",
+        "wx" : "0eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed3",
+        "wy" : "59718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7v35mradGIh3LKviHUBgReG+q4J2GnBA\nvut+01lxjIia+A8i8yD75mLV6g9l37SlWJwpTOW3M1k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34",
+        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+        "wy" : "0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"
+      },
       "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIb03Y4i19yP7TCLf5s1DdaBaB0dkRNWBmYUAfjQ=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-224",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
-        "wy" : "0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"
-      },
       "tests" : [
         {
-          "tcId" : 264,
+          "tcId" : 282,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -3006,7 +3377,7 @@
           "flags" : []
         },
         {
-          "tcId" : 265,
+          "tcId" : 283,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -3016,20 +3387,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd",
+        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+        "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd"
+      },
       "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIULInHdKCNwEs90gGTK8il6l+Libuyp+Znr/gc0=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-224",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
-        "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd"
-      },
       "tests" : [
         {
-          "tcId" : 266,
+          "tcId" : 284,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -3037,7 +3409,7 @@
           "flags" : []
         },
         {
-          "tcId" : 267,
+          "tcId" : 285,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303d021d008ac44bff876cbf7e2842eec13b63fcb3d6e7360aca5698f3ef0f1811021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -3047,20 +3419,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
         "wx" : "4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466",
         "wy" : "0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 268,
+          "tcId" : 286,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021c2770403d42b7b45e553308d1f6a480640b61cac0ae36665d6f14d34e021d0085506b0404265ededf9a89fc7c9c7a55c16c5b0d781f774de8f46fa1",
@@ -3068,7 +3441,7 @@
           "flags" : []
         },
         {
-          "tcId" : 269,
+          "tcId" : 287,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00dd0d56c27a0dc01ce0aad178f274d47bdf9dac8db1df5edbd3234e9f021c393cb201b9f3306ef587c8461e18617f8c0cb96dfad301fca8c852a5",
@@ -3076,7 +3449,7 @@
           "flags" : []
         },
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c0441d3ea1ccaf7ee9cba39cc90f117edf9183d34e8ec255bbee3af7b021c72787e0e4c55099d0582680e153ed4907d2a950c9421da4b83036091",
@@ -3084,7 +3457,7 @@
           "flags" : []
         },
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c4408ea3b626ab23a391f941f93e1f2998efb4c2dc4ab6ccbf2f79b50021c0fa5ffbafb3943ff0c4e68408247f95343c4832bc01e5cd505685ef3",
@@ -3092,7 +3465,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d009f0659f0009e16c6a98e26f7479b7ed4268f28d9bd8806ca54a5d8e7021c43aa3fd3dfc50844e03f4ce9801d3a1023a8c4d0bd67149f437ae3a2",
@@ -3100,7 +3473,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00b2f4f3ca7ce467a8928ee15b2672a30aad1d03f5271e9a0e7a52e233021c3e0f281a9d56fdfac280ac1eb799d3874115e773041d1e722fc36b67",
@@ -3108,7 +3481,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303e021d00ed63abaa150741427c9810dbaadec1bf43c0ac36968146300c0b080d021d00febd4a3944f0ea30f0e9bb13d553e839b48ef721e598aa03db7638d5",
@@ -3116,7 +3489,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021c340814eb8a132af8e8d6bc0836c0abcd6411e8d8930cf346c41de9ae021d00c8eefdb53796bcb54c59f3193ef858ebc92cebac9f0bb38c08284b4e",
@@ -3124,7 +3497,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00cc75615f5415f8244fd42b518618b9734e3c5b1399507557f7834789021c7b68afe08887d34f1ce19942e4f3c5d99c20d0e15ba13adc287e5554",
@@ -3132,7 +3505,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00f83bb419a391163c306b3e10c3bb5a029b428d560181c80e279498f3021c317446aa67bac1e52b6069e29e90f6df1737a61229600523e32f4e23",
@@ -3140,7 +3513,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00b68da722bbba7f6a58417bb5d0dd88f40316fc628b0edfcb0f02b062021c5c742e330b6febadf9a12d58ba2a7199629457ef2e9e4cecd2f09f50",
@@ -3148,7 +3521,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021c5df6b8389e40473ac6cb14330066887779a6aafbec652c9d3f42f4db021d00ce28e7b8f4a4d5263a10c20d615b3dbaad18b58de36625a485d77adb",
@@ -3156,7 +3529,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00edd07a0529340b7e3ad39a37f7f7043cc560f605f2c14d5b6e7c4f63021c03cd4525a02091490b49645464040fac40d8a70ce49042b21f1a1b8e",
@@ -3164,7 +3537,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00d32e7b5ebef67e442f086595e62d7f282c26b5618e50ae386de8efa9021c554e7c860e0e1db0080cd520c7fe745b72c540074fc610dc0e280520",
@@ -3172,7 +3545,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00d1edaf4c0174197bf38b78b53c6ed7d8d3f16ab50379bc9c25e40536021c438bc07b8cfc3b8aa319e9d50153ca4bb6702071bbc01b687d48bd99",
@@ -3180,7 +3553,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303e021d008bb29b81e2b348ab4f04156269f21e9ed74eada70e505faf8ee8519a021d008b9a30f30ea26c37bfe4f879939ed442523ff8ce0a3ceda97f3314e2",
@@ -3188,7 +3561,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021c627cf63b5c30c55368d377cee6e8da5ccc265952b36eed5f2a7ccc0b021d008f76f6b9cfec6ad1bbb3e0b27ddadc7c3b35b6fd33a8302a75b0ee55",
@@ -3196,7 +3569,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c1d6b1e116413eae3d8975144d14bbab1db23dbc2254417973f8871a4021c7dfea6372066fce663a84ced6385ae63a4c5121d3ba6856208603ddf",
@@ -3204,7 +3577,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021c1e93ab2e3b2249bcc89c326d709ddaa568320cf8598c3ee0d69aa674021d00ee64abd080c4f31311b5c1ff081f3131a1d76e292f23e1f8602a3dff",
@@ -3212,7 +3585,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c76ab1b4c88eb4985ed345b5e3abf06ddc8c3f34c0d0e1b393a76ce85021c523ce0669a34b629b6e13a9f8b0fa6c5a6514e1267077df420ab3b88",
@@ -3220,7 +3593,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c01ec1ff15c8a55d697a5424d674753f82f711593828368d2fbb41a17021c20d9089db7baf46b8135e17e01645e732d22d5adb20e3772da740eee",
@@ -3228,7 +3601,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c5af925948bda1fe510456cf27ce65b6d3ad17dd6d511600fad58aacf021c2eb0a3cf8b5e0b73239eb053a5a78ab8af78397062d06f8dbda2eb17",
@@ -3236,7 +3609,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c070fa48e5307b660cfa9e66a0ab98959ec3dcc3ac5e1b1dff1064087021c028926a511087943333f6fa336b235792b6f64ee3f5f594a7c3f6d2c",
@@ -3244,7 +3617,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00bcfbb22ed79dd2ee8ae602dde144a63f9fa68f8f9b71b5994ac8f17b021c27c9c1494081d99a2708b02196eb9581b0b4147d00f3ae3089cc6d7a",
@@ -3252,7 +3625,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00a914df6f841ef05491827d92e55148a5c71c687c89dccbfdfd6eddfc021c7316b41eecbff1dd0fafdeb8b717e3f91aceeb2c22cb25023ee2af0b",
@@ -3260,7 +3633,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303e021d00a72fc403de3dab1cf179f630940cfd990702969160d7bdf5c47a12a0021d00c2b0a943e45dbd0ffe6a4e31eab8099cd940c02d415041c149f24308",
@@ -3268,7 +3641,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021c23ae9b89bbddbc88815c39e6f5969cce536caf36547b19d286fd868d021d00df9f9b611e22facb95e599bbca556f943739d5110678883c27d89c4d",
@@ -3276,7 +3649,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021c356c7d340cfbd7205d466872524b1585d8659c43532fad657352f420021d00bc54e0b4c6f878e6052058ef4cbadefe3b4299993df773277bc32e5c",
@@ -3284,7 +3657,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d0086f4ab774e4e5d8705eaeff1f464da1774c177defcf4799656606b85021c3e03ea07272bad191989244af4230c275657c13258b77f9241caf7e6",
@@ -3292,7 +3665,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c1bde22394310f2f3139a51406c05ef6b553cd72b3520c824eb0ba4e6021c379d85d4a88357b77fc418c1e4a2525e964415605b7a5ca5018c7662",
@@ -3300,7 +3673,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c3e46e9ba4dc089ff30fa8c0209c31b11ff49dbeec090f9f53c000c75021c6f2e3b36369416602bca83206809ed898fcf158a56c25a5474143f68",
@@ -3308,7 +3681,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c6464668eeb6f693262fa4449dfffa86d346a2d11521d196214158666021d009ba2b14539efc3c884515e5bcf794c27a00ccbff01297a45dc444693",
@@ -3316,7 +3689,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c50b504b81612583ebecc4317a24ea4f7527d246ae1bee6c0157452f8021c0df691ff8b33d71c8b96bd246328ebd3a2f91d2be2ade9a7c2643cbf",
@@ -3324,7 +3697,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021d00e14a319fd627669f24ce1a51f7ec2333da3b2c3de62c3aaf2b02e76b021c7845a14342c67c2f1ccd0a8a3a34ca0f382386964cd4c07360dd7bf8",
@@ -3332,7 +3705,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303b021c098c7a8a3b6c5659e7a013efbd8e907935d0606b6c2a868455abf489021b7730907f494e81ddceb19215fa7e9398e7aa9144ac74d9fbf8c519",
@@ -3340,7 +3713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303e021d009e5db35801390400d1c6d496ba9d9ff5fddb688bdad6c8144d12e3b4021d00f8a618180b6b76c9bd837a67547a826c3cf270be1f2f50af690b8285",
@@ -3348,7 +3721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303e021d00f1b4f951e32e2ae47b776cdb87654cb18b74106d6b81f29e4d98f3cc021d00f1ea4b08a530d55982eb4a895d28f75fc2b831d7e46fd835bf8d8a33",
@@ -3356,7 +3729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c50e80890e6b9b25b1aae3f8ddbc48026f57ad0f117694b0377bf4b9e021c7e804b9aaeb1df008cb3ac44f54d7d9ff159ca37d7f869a642c65eb6",
@@ -3364,7 +3737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303e021d00bdd75697eeb16df9b85ba07a14bcd200997a64bf1ec12e6e24bbe81b021d00d6f8396d399baa426c70d9cf00f1e392281755bff240752ca544e433",
@@ -3372,7 +3745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c36766ad3607b8b63a4d7ce4132b46c90c8b99f44afb589720efffe4d021d00ded14db5945f5f84ba235f8eb2ada604ae8a9cf92527f692bf066629",
@@ -3382,20 +3755,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
         "wx" : "0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf",
         "wy" : "08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303d021c77b38da37079d27b837613ac3e8248d66eabd5d637076c8e62c7991e021d00d40cd9f81efc52db4429c0c1af7c1d8a22b6c7babbe7fbd8b5b3f02f",
@@ -3403,7 +3777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303d021d008c03b32c166c0c8b99d7f876acd109447efb13f6b82945e78d51a269021c657568f1a0a8bd7df5ffa43097ebb2b64435c8e3335bcaafc63f9ed5",
@@ -3411,7 +3785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303d021d00d199a375253d30f1d2b4493542e9934f9f1f8b0680117679f5bc4ad2021c11419ddbf02c8ad5f518f8dac33f86a85e777af51a034132e2767a6d",
@@ -3421,20 +3795,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
         "wx" : "0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1",
         "wy" : "73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303d021d008ff82699e2e82870be9cfdd8a408bb34f8f38a83a4ac8370f18f2bc8021c7e5008fab6a0d4159200077ef9918dad6592cd8359838852c636ac05",
@@ -3442,7 +3817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303d021c3f3b60b529ae0f950c517264adf2e481616bc47416742d5103589660021d00f731ebe98e58384b3a64b4696d4cc9619828ad51d7c39980749709a6",
@@ -3450,7 +3825,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303d021d00dc11ffdc6b78754a335f168c4033916a2158d125a3f4fed9dc736661021c6dd84364717d9f4b0790f2b282f9245ecb316874eac025600397f109",
@@ -3460,20 +3835,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
         "wx" : "26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000",
         "wy" : "0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303e021d00a59b25b786d55f26b04dfe90ee02a6bde64ed6e431dc9fbdc3ab360e021d00fc14b5ad20f39da9900e35437936c8626fccf6632e7a3d9e587e3311",
@@ -3481,7 +3857,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303d021c2eda1f96c1a6e3ad8a3321ce82cbb13a5b935b501abf6c06f7fd2b3f021d00e81050c3e5f53a3c7b9d0bdb9ed92a326dfeac44791ba1abe4d6e973",
@@ -3489,7 +3865,7 @@
           "flags" : []
         },
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303d021c60f5e093fda08fc14ac99d820a18ad1370c58150bea0aca24fc6db9d021d00c2220a0ebbf4896e68fdb5bd824f88291c1c862b916f9c4af87f8f5f",
@@ -3499,20 +3875,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
         "wx" : "0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff",
         "wy" : "41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303d021c2ead37846a5e36a490b75140bdc7b636c6e9f6d8f980f6fadb08f769021d00e1fe130ae1798c196d7be62c7a5ddb3168cf4b8d48b6b6b4dc94ab3b",
@@ -3520,7 +3897,7 @@
           "flags" : []
         },
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303d021d00a8a4c9416d72c860573d073281cb08c86ad65313f06b15a329e82eb2021c5a6edd2f0816b7263d915d72c67d50a854e3abee5cde1b679a0cef09",
@@ -3528,7 +3905,7 @@
           "flags" : []
         },
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303c021c576bb86c517bfecdc930a4c8501725548d425afbb96d93f5c1e2a0e1021c77248c5ecd620c431438c50e6bee6858091b54a87f8548ae35c21027",
@@ -3538,20 +3915,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
         "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
         "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021c34e41cba628fd8787ba1a528f6015d2cae015c1c9a866e08a7133801021d0083d422ffdd99cc3c6d7096ef927f0b11988d1824e6e93840ff666ccd",
@@ -3559,7 +3937,7 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303c021c2558a42e79689244bccd5e855f6a1e42b4ff726873f30b532b89ef53021c07f9bd947785187175d848b6e2d79f7ab3bbc1087b42590b0cfb256a",
@@ -3567,7 +3945,7 @@
           "flags" : []
         },
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d00d5fe7dd5fb4fd1ea5ce66c0824f53f96ce47fd9b6c63b4d57827fd17021d00bce5bc3af705afaacb81bfa6d552d6198962fece9fba41546c602ddc",
@@ -3577,20 +3955,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
         "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
         "wy" : "0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021d008c1da2f07cdcbce4db8067b863468cfc728df52980229028689e57b6021c32175c1390a4b2cab6359bab9f854957d4fd7976c9c6d920c871c051",
@@ -3598,7 +3977,7 @@
           "flags" : []
         },
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303e021d00e46d4f11b86b5a12f6fe781d1f934ef2b30e78f6f9cc86a9996e20c0021d008351974b965526034a0ccef0e7d3bc13d91798151488c91533143f7b",
@@ -3606,7 +3985,7 @@
           "flags" : []
         },
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303c021c305ccf0b5d0cf33dc745bb7c7964c233f6cfd8892a1c1ae9f50b2f3f021c785f6e85f5e652587c6e15d0c45c427278cf65bb1429a57d8826ca39",
@@ -3616,20 +3995,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
         "wx" : "0f7e4713d085112112c37cdf4601ff688da796016b71a727a",
         "wy" : "0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021c0e4fde0ac8d37536505f7b8bdc2d22c5c334b064ac5ed27bea9c179e021d00c4d6bf829dd547000d6f70b9ad9e9c1503bebcf1d95c2608942ca19d",
@@ -3637,7 +4017,7 @@
           "flags" : []
         },
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d00818afcaf491da9d08a7cc29318d5e85dce568dcca7018059f44e9b7e021d00bf32a233d5fc6ed8e2d9270b1bdad4bbd2a0f2c293d289bd91ffbcf3",
@@ -3645,7 +4025,7 @@
           "flags" : []
         },
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303c021c0e05ed675c673e5e70a4fdd5a47b114c5d542d4f6d7a367597d713ea021c26d70d65c48430373363987810bdcc556e02718eab214403ae008db4",
@@ -3655,20 +4035,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
         "wx" : "0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725",
         "wy" : "086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303e021d00ab7a19eecf63e9668278963b65236b2768e57cae0e268cb86a0ddda1021d008829f5d3a3394f9467ba62e66ef1768e3e54f93ed23ec962bc443c2e",
@@ -3676,7 +4057,7 @@
           "flags" : []
         },
         {
-          "tcId" : 330,
+          "tcId" : 348,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021c17111a77cf79bead456ed86a7d8a935531440281eb8b15a885e341c0021d00fdc3958d04f037b1d4bb2cee307b5201be062e0d4e089df1c1917668",
@@ -3684,7 +4065,7 @@
           "flags" : []
         },
         {
-          "tcId" : 331,
+          "tcId" : 349,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021d00acafa1e33345eeba0c338c2204b4cd8ba21de7ec3e1213317038e968021c0b42fbbaeda98a35da0de4c79546f3a0f7d9dec275d2cd671f93c874",
@@ -3694,20 +4075,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
         "wx" : "0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1",
         "wy" : "0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 332,
+          "tcId" : 350,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021d00a3fe71a2a56f554e98fd10a8098c2a543c98bc6b3602ef39f2412308021c5d1d68f9a870ef2bc87484b3386549fae95811ab72bc0e3a514720da",
@@ -3715,7 +4097,7 @@
           "flags" : []
         },
         {
-          "tcId" : 333,
+          "tcId" : 351,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021c132f7625704756c13f2bfa449e60952f836f4904660b5b1da07e5a9f021d0082b4abafc40e8fd19b0c967f02fff152737ce01153658df445c4d7b7",
@@ -3723,7 +4105,7 @@
           "flags" : []
         },
         {
-          "tcId" : 334,
+          "tcId" : 352,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d00f36a8347c6fe0397a1161a364cbc4bdfb4d8b7894cbaa6edc55a4ff7021d009c9c90515da5e602d62e99f48eac414e913dd0b7cbf680c1a5399952",
@@ -3733,20 +4115,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
         "wx" : "0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1",
         "wy" : "0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 335,
+          "tcId" : 353,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021c2125ecc08e52e9e39e590117de2145bd879626cb87180e52e9d3ce03021d008f7e838d0e8fb80005fe3c72fca1b7cc08ed321a34487896b0c90b04",
@@ -3754,7 +4137,7 @@
           "flags" : []
         },
         {
-          "tcId" : 336,
+          "tcId" : 354,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303e021d00e485747ac2f3d045e010cdadab4fd5dbd5556c0008445fb73e07cd90021d00e2133a7906aeac504852e09e6d057f29ab21368cfc4e2394be565e68",
@@ -3762,7 +4145,7 @@
           "flags" : []
         },
         {
-          "tcId" : 337,
+          "tcId" : 355,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021d00a4de0d931ddab90e667ebc0ad800ce49e971c60543abdc46cefff926021c550816170bd87593b9fb8ad5ed9ab4ddb12403ff6fe032252833bac4",
diff --git a/src/third_party/wycheproof/ecdsa_secp224r1_sha224_test.txt b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt
similarity index 79%
rename from src/third_party/wycheproof/ecdsa_secp224r1_sha224_test.txt
rename to src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt
index 59083d8..ac4ae4b 100644
--- a/src/third_party/wycheproof/ecdsa_secp224r1_sha224_test.txt
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha224_test.txt
@@ -2,46 +2,54 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: ECDSA
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
 [key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]
 [key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
 [sha = SHA-224]
 
+# tcId = 1
 # signature malleability
 msg = 313233343030
 result = valid
 sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf38788e1b7770b18fd1aa6a26d7c6dc
 
+# tcId = 2
 # random signature
 msg = 313233343030
 result = valid
-sig = 303c021c533d488bd8c4b459bc1bb67c7c96f5fcfc70996660c068d7fca3d605021c31893ff9dd72c79f3a62fdc5d82f7c05b75b8807c3f6830e861697fb
+sig = 303c021c4a8707d71bfb4abe6f4ec4b6a9b9bb6ca976f49ea4f9da5c512c18ff021c0e7005d0d6531f804fc379ff5636f84dd4ebfd152a77208a4ab380d2
 
+# tcId = 3
 # random signature
 msg = 313233343030
 result = valid
-sig = 303d021c40d10e9cb11ac916d0c388a6feef764e2c22309f93a9f539c73725a2021d00904be66c40a6d256f3e99555c502b933f8625351e9bf7955fe173e75
+sig = 303e021d00f28392efbc1cde8f18300262d8983b7b3a76469eb109d74963e6b78e021d00f88da4155a96cdf7684f25642576db90346f0ae4dce4a6e0bfd147d1
 
+# tcId = 4
 # random signature
 msg = 313233343030
 result = valid
-sig = 303c021c426f5e9c494c3669a6d0df24f5523d6dcda666a6ab8eb7def60a40bf021c1c342732ba0cc317dd4ffbbd20ce163607f9009a1a67518b0dff0cee
+sig = 303e021d0080d9d26b88c799b65de914068a8f2b13a7834f2f1eb680a610a38365021d0080b9d0b15dea30ca097f04fc3b1283de05e9cf6e418601db595d8c74
 
+# tcId = 5
 # random signature
 msg = 313233343030
 result = valid
-sig = 303d021d00abf10842ebbfdcd2c3bf18e1acc17c04bcc488e65542af2de38cb712021c5f37ff71604b38b5d66087a36ffdf371b0d4e2d9d4a22c2e9c80fafc
+sig = 303d021d00fc6e6932efd7ddc5c9be971b2516ac818a7300bf3ccc19d19572c781021c47a255e496b1cceb892c4861e2e0e48ae94b98493a8cb255e8e23298
 
+# tcId = 6
 # random signature
 msg = 313233343030
 result = valid
-sig = 303d021c7827f94e5abd228d2bf7bd42bb8cbd1a3529ff26b295f4fbfa159b4c021d00b5a984cbd21ed6d230d22e4688745cfe0da94f9c0bccfb249ae6a4ef
+sig = 303d021c3284a29335f522ce8b34a17cd22c8c8f6a72d7cec4211f64f9e93fbe021d00d1c7644ca2a165562d14dafef9b9a26bd5d3e31f6945928b63675f2d
 
+# tcId = 7
 # Legacy:ASN encoding of s misses leading 0
 msg = 313233343030
 result = acceptable
@@ -51,671 +59,880 @@
 # some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
 # assuming that the signature is otherwise valid.
 
+# tcId = 8
 # valid
 msg = 313233343030
 result = valid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 9
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 30813d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 10
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 303e02811c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 11
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02811d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 12
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 3082003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 13
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 303f0282001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 14
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0282001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 15
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 16
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 17
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303d021d70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 18
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303d021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 19
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021e00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 20
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 21
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3085010000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 22
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30420285010000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 23
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285010000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 24
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 308901000000000000003d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 25
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3046028901000000000000001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 26
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3046021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028901000000000000001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 27
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30847fffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 28
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 304102847fffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 29
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02847fffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 30
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3084ffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 31
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 30410284ffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 32
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0284ffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 33
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3085ffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 34
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 30420285ffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 35
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0285ffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 36
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3088ffffffffffffffff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 37
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 30450288ffffffffffffffff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 38
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0288ffffffffffffffff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 39
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30ff021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 40
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 303d02ff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 41
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02ff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 42
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 43
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 303d028070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 44
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a028000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 45
 # removing sequence
 msg = 313233343030
 result = invalid
 sig = 
 
+# tcId = 46
+# lonely sequence tag
+msg = 313233343030
+result = invalid
+sig = 30
+
+# tcId = 47
 # appending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
 
+# tcId = 48
 # prepending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 303f0000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
-# appending unused 0's
+# tcId = 49
+# appending unused 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
 
-# appending unused 0's
-msg = 313233343030
-result = invalid
-sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
-
-# appending null value
+# tcId = 50
+# appending null value to sequence
 msg = 313233343030
 result = invalid
 sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500
 
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
-
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500
-
+# tcId = 51
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3042498177303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 52
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30412500303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 53
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef
 
+# tcId = 54
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30422221498177021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 55
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 304122202500021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 56
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3045221e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0004deadbeef021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 57
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3042021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2222498177021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 58
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a22212500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 59
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a221f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610004deadbeef
 
+# tcId = 60
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3045aa00bb00cd00303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 61
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3043aa02aabb303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 62
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30452224aa00bb00cd00021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 63
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30432222aa02aabb021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 64
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3045021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2225aa00bb00cd00021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 65
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3043021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2223aa02aabb021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 66
+# truncated length of sequence
+msg = 313233343030
+result = invalid
+sig = 3081
+
+# tcId = 67
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
 
+# tcId = 68
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 30412280021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 69
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
 
+# tcId = 70
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3080313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
 
+# tcId = 71
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 30412280031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 72
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2280031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
 
+# tcId = 73
 # Replacing sequence with NULL
 msg = 313233343030
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 74
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2e3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
-# changing tag value
+# tcId = 75
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2f3d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
-# changing tag value
+# tcId = 76
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 313d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
-# changing tag value
+# tcId = 77
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 323d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
-# changing tag value
+# tcId = 78
+# changing tag value of sequence
 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
-
+# tcId = 79
 # dropping value of sequence
 msg = 313233343030
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 80
+# using composition forsequence
 msg = 313233343030
 result = invalid
 sig = 3041300102303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
-# using composition
-msg = 313233343030
-result = invalid
-sig = 30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
-
-# using composition
-msg = 313233343030
-result = invalid
-sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
-
+# tcId = 81
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463
 
+# tcId = 82
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 303c1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 83
 # indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 84
 # indefinite length with truncated delimiter
 msg = 313233343030
 result = invalid
 sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636100
 
+# tcId = 85
 # indefinite length with additional element
 msg = 313233343030
 result = invalid
 sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb3584636105000000
 
+# tcId = 86
 # indefinite length with truncated element
 msg = 313233343030
 result = invalid
 sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361060811220000
 
+# tcId = 87
 # indefinite length with garbage
 msg = 313233343030
 result = invalid
 sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000fe02beef
 
+# tcId = 88
 # indefinite length with nonempty EOC
 msg = 313233343030
 result = invalid
 sig = 3080021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610002beef
 
+# tcId = 89
 # prepend empty sequence
 msg = 313233343030
 result = invalid
 sig = 303f3000021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 90
 # append empty sequence
 msg = 313233343030
 result = invalid
 sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463613000
 
+# tcId = 91
 # sequence of sequence
 msg = 313233343030
 result = invalid
 sig = 303f303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 92
 # truncated sequence
 msg = 313233343030
 result = invalid
 sig = 301e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a
 
+# tcId = 93
 # repeat element in sequence
 msg = 313233343030
 result = invalid
 sig = 305c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 94
 # removing integer
 msg = 313233343030
 result = invalid
 sig = 301f021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 95
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 302002021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 96
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 301f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a02
+
+# tcId = 97
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 98
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610000
 
+# tcId = 99
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 303f021e000070049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 100
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f000000d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 101
+# appending unused 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0000021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 102
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 303f021e70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 103
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 303f021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021f00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463610500
+
+# tcId = 104
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 30210281021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 105
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0281
+
+# tcId = 106
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 30210500021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 107
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0500
 
+# tcId = 108
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d001c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 109
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d011c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 110
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d031c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 111
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d041c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 112
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303dff1c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 113
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a001d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 114
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a011d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 115
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a031d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 116
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a041d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 117
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480aff1d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 118
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 30210200021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 119
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 3020021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a0200
 
+# tcId = 120
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 30412220020170021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 121
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 3041021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a2221020100021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 122
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 303d021c72049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 123
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d02d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 124
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a488a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 125
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463e1
 
+# tcId = 126
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 303c021b70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a48021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 127
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 303c021b049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 128
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb358463
 
+# tcId = 129
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 130
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 303e021dff70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 131
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 303e021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021eff00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 132
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3022090180021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 133
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a090180
 
+# tcId = 134
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3022020100021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
+
+# tcId = 135
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3021021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a020100
+
+# tcId = 136
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303e021d0170049af31f8348673d56cece2b26fc2a84bbe2e2a2e84aeced767247021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 137
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303e021dff70049af31f8348673d56cece2b28cee4c34a02667b2df86234be1dcd021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 138
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c8ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 139
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303e021d008ffb650ce07cb798c2a93131d4d7311b3cb5fd9984d2079dcb41e233021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 140
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303e021dfe8ffb650ce07cb798c2a93131d4d903d57b441d1d5d17b51312898db9021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 141
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303e021d0170049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 142
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303e021d008ffb650ce07cb798c2a93131d4d81a785bfd0d5b70f4de586ee5b7f6021d00d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 143
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c5b4b7a5fa6fca97e8a82091e08d9e
 
+# tcId = 144
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021cd7bf40db0909941d78f9948340c78771e4888f4e702e5595d9283924
 
+# tcId = 145
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dff2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f
 
+# tcId = 146
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021dfe2840bf24f6f66be287066b7cbf3a4b485a059035681757df6e1f7262
 
+# tcId = 147
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021d01d7bf40db0909941d78f9948340c69e14c5417f8c840b7edb35846361
 
+# tcId = 148
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303c021c70049af31f8348673d56cece2b27e587a402f2a48f0b21a7911a480a021c2840bf24f6f66be287066b7cbf3961eb3abe80737bf48124ca7b9c9f
 
+# tcId = 149
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -723,6 +940,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 150
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -730,6 +948,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 151
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -737,6 +956,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 152
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -744,6 +964,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 153
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -751,6 +972,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 154
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -758,6 +980,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 155
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -765,6 +988,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 156
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -772,6 +996,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 157
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -779,6 +1004,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 158
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -786,6 +1012,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 159
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -793,6 +1020,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 160
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -800,6 +1028,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 161
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -807,6 +1036,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 162
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -814,6 +1044,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 163
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -821,6 +1052,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 164
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -828,6 +1060,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 165
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -835,6 +1068,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 166
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -842,6 +1076,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 167
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -849,6 +1084,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 168
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -856,6 +1092,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 169
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -863,6 +1100,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 170
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -870,6 +1108,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 171
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -877,6 +1116,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 172
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -884,6 +1124,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 173
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -891,6 +1132,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 174
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -898,6 +1140,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 175
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -905,6 +1148,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 176
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -912,6 +1156,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 177
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -919,6 +1164,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 178
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -926,6 +1172,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 179
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -933,6 +1180,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 180
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -940,6 +1188,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 181
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -947,6 +1196,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 182
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -954,6 +1204,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 183
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -961,6 +1212,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 184
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -968,6 +1220,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 185
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -975,6 +1228,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 186
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -982,6 +1236,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 187
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -989,6 +1244,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 188
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -996,6 +1252,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 189
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1003,6 +1260,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 190
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1010,6 +1268,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 191
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1017,6 +1276,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 192
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1024,6 +1284,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 193
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1031,6 +1292,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 194
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1038,6 +1300,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 195
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1045,6 +1308,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 196
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1052,6 +1316,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 197
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1059,6 +1324,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 198
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1066,6 +1332,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 199
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1073,6 +1340,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 200
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1080,6 +1348,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 201
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1087,6 +1356,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 202
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1094,6 +1364,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 203
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1101,6 +1372,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 204
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1108,6 +1380,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 205
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1115,6 +1388,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 206
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1122,6 +1396,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 207
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1129,6 +1404,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 208
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1136,6 +1412,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 209
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1143,6 +1420,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 210
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1150,6 +1428,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 211
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1157,6 +1436,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 212
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1164,6 +1444,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 213
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1171,6 +1452,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 214
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1178,6 +1460,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 215
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1185,6 +1468,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 216
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1192,6 +1476,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 217
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1199,6 +1484,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 218
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1206,6 +1492,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 219
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1213,6 +1500,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 220
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1220,6 +1508,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 221
 # Edge case for Shamir multiplication
 msg = 3137353738
 result = valid
@@ -1228,16 +1517,19 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]
 [key.wx = 08bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7]
 [key.wy = 0eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00048bf7e792f7c86877f1fd0552e42d80653b59e3a29e762a22810daac7eec615bbad04b58dc2a7956090b8040bb5055325bba0aa8b3a5caa6f]
 [sha = SHA-224]
 
+# tcId = 222
 # k*G has a large x-coordinate
 msg = 313233343030
 result = valid
 sig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a
 
+# tcId = 223
 # r too large
 msg = 313233343030
 result = invalid
@@ -1246,11 +1538,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]
 [key.wx = 2646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818]
 [key.wy = 0ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00042646ff36d9697aaaed0d641117f94f60e138bab8e9912b558ae0a818ca48e45a33550c1b5bd20a00e4d9df3033c03222e87bd96a8197f2dd]
 [sha = SHA-224]
 
+# tcId = 224
 # r,s are large
 msg = 313233343030
 result = valid
@@ -1259,11 +1553,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]
 [key.wx = 0ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988]
 [key.wy = 0f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ea3ea2873b6fc099bfd779b0a2c23c2c4354e2fec4536f3b8e420988f97e1c7646b4eb3de616752f415ab3a6f696d1d674fb4b6732252382]
 [sha = SHA-224]
 
+# tcId = 225
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1272,11 +1568,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]
 [key.wx = 092ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13]
 [key.wy = 0e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000492ae54e38b4e9c6ae9943193747c4c8acc6c96f422515288e9698a13e8f3a759a1a8273c53f4b4b18bfcf78d9bb988adb3b005002dbe434c]
 [sha = SHA-224]
 
+# tcId = 226
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1285,11 +1583,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]
 [key.wx = 0b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5]
 [key.wy = 0e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b157315cc1aaeae64eb5b38452884195fdfe8a15fb5618284f48afe5e1fbbaad729477a45f3752b7f72ad2f9cd7dce4158a8e21b8127e8a7]
 [sha = SHA-224]
 
+# tcId = 227
 # small r and s
 msg = 313233343030
 result = valid
@@ -1298,11 +1598,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]
 [key.wx = 087d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1d]
 [key.wy = 0b5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000487d9d964044b5b16801f32de9f3f9066194e8bf80affa3cb0d4ddb1db5eb9b6594e6d1bcacd0fd9d67c408f789dfb95feb79a6e2fb9c4cee]
 [sha = SHA-224]
 
+# tcId = 228
 # small r and s
 msg = 313233343030
 result = valid
@@ -1311,16 +1613,19 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]
 [key.wx = 461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f5]
 [key.wy = 18b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004461b435af09ede35e74dac21f9af7b1b9998213039f8785d4a4905f518b89bde69de34a482638461d09386e7193ca90ca5b3038e2a3885d1]
 [sha = SHA-224]
 
+# tcId = 229
 # small r and s
 msg = 313233343030
 result = valid
 sig = 3006020103020104
 
+# tcId = 230
 # r is larger than n
 msg = 313233343030
 result = invalid
@@ -1329,11 +1634,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]
 [key.wx = 08093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a]
 [key.wy = 10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00048093af8db04b3dd2e7c3c59bb64a832c2fb8e8e141bae7ba1534950a10c5e87aecbd1fcdfc36cd18d41b3238b2ac613eb7c9de988d881816]
 [sha = SHA-224]
 
+# tcId = 231
 # s is larger than n
 msg = 313233343030
 result = invalid
@@ -1342,11 +1649,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]
 [key.wx = 0c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e]
 [key.wy = 3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6d71f4ba0933f1269f7d6df83fd0c9c67254f101dcc126dc15faa3e3c45dc9fedc71c9f2b0dd1b12b656241f5e335066f3f925bdbcfe98f]
 [sha = SHA-224]
 
+# tcId = 232
 # small r and s^-1
 msg = 313233343030
 result = valid
@@ -1355,11 +1664,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]
 [key.wx = 0beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed6348]
 [key.wy = 35503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004beb9d8dcba48146b9032688ecea947a231e7d0e6ce17d76b56ed634835503f3b4af414870ef03383784b1d846b3e07b8e9fc2d6190a3bfda]
 [sha = SHA-224]
 
+# tcId = 233
 # smallish r and s^-1
 msg = 313233343030
 result = valid
@@ -1368,11 +1679,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]
 [key.wx = 1955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c]
 [key.wy = 0807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00041955ba3f90e7a739471a5d182b594c9747eb49d5356203f3bb8b939c807d88ce3a0885bfa5b5b7f6e9beb18285e7130524b6c1498b3269ee]
 [sha = SHA-224]
 
+# tcId = 234
 # 100-bit r and small s^-1
 msg = 313233343030
 result = valid
@@ -1381,11 +1694,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]
 [key.wx = 5cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf]
 [key.wy = 4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00045cb9e5a5071f2b37aa3a5e5f389f54f996b0bc8a132ecb6885318fbf4ec5f8b93d8bf2a3b64fa7cac316392562c46567963c43a69f7a37fd]
 [sha = SHA-224]
 
+# tcId = 235
 # small r and 100 bit s^-1
 msg = 313233343030
 result = valid
@@ -1394,11 +1709,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]
 [key.wx = 7b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7b]
 [key.wy = 0dee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00047b34ef8723a4309c0fa8a7ec3a783477652a82892370f6763314fe7bdee663853071e35fd3c76f991d7843c5e168ca659b93bd6015518fba]
 [sha = SHA-224]
 
+# tcId = 236
 # 100-bit r and s^-1
 msg = 313233343030
 result = valid
@@ -1407,11 +1724,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]
 [key.wx = 3f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f7676]
 [key.wy = 7d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000403f26a9c13979cf5d090ea25dc966398022ceec31504abc4b10f76767d577dcf47e10e384c6b9a229a455a9fd33e54fe7960b8b0160aef16]
 [sha = SHA-224]
 
+# tcId = 237
 # r and s^-1 are close to n
 msg = 313233343030
 result = valid
@@ -1420,16 +1739,19 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]
 [key.wx = 0b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3c]
 [key.wy = 0a46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b671296dd5f690502e4b1500e4acb4c82d3aa8dfbc5868a643f86a3ca46ba8c3a7b823259522291e2416232276cca8503cc8dbf941f1d93d]
 [sha = SHA-224]
 
+# tcId = 238
 # s == 1
 msg = 313233343030
 result = valid
 sig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101
 
+# tcId = 239
 # s == 0
 msg = 313233343030
 result = invalid
@@ -1438,11 +1760,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]
 [key.wx = 76e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682]
 [key.wy = 0cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000476e34b57a8c61df59cb0b7921cec6e5422344033f7accb7b3179e682cefd0a848309d1decf98a3b9e333691b95c17821cb681137630c02e2]
 [sha = SHA-224]
 
+# tcId = 240
 # point at infinity during verify
 msg = 313233343030
 result = invalid
@@ -1451,11 +1775,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]
 [key.wx = 0b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384]
 [key.wy = 0dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b5c09b4851a67371eee7bbf02451e5208c40de61bc1a33df2710b384dcce4e5b83c32a800e8de28fa936d582cdcad185e894caac797f1d14]
 [sha = SHA-224]
 
+# tcId = 241
 # u1 == 1
 msg = 313233343030
 result = valid
@@ -1464,11 +1790,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]
 [key.wx = 0941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538]
 [key.wy = 0c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004941e283be31300bfd4f6a12b876fd3267352551cc49e9eef73f76538c115e5fe3b92f643c6cef1c58f3f8657574d1f64957d4880995cde83]
 [sha = SHA-224]
 
+# tcId = 242
 # u1 == n - 1
 msg = 313233343030
 result = valid
@@ -1477,11 +1805,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]
 [key.wx = 43c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb472]
 [key.wy = 09ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000443c9ccd08a80bca18022722b0bdcd790d82a3ef8b65c3f34204bb4729ee1c1f00598130b2313a3e38a3798d03dac665cff20f36ce8a2024a]
 [sha = SHA-224]
 
+# tcId = 243
 # u2 == 1
 msg = 313233343030
 result = valid
@@ -1490,11 +1820,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]
 [key.wx = 0d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f10459]
 [key.wy = 6997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d958e418fad1c5ea5c923e6185e03ed5539d3f5f58dfac8bb9f104596997e408c97be5fdc037a5c004389d4b97eb1f54635e985853c1f082]
 [sha = SHA-224]
 
+# tcId = 244
 # u2 == n - 1
 msg = 313233343030
 result = valid
@@ -1503,11 +1835,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]
 [key.wx = 0d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4]
 [key.wy = 713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d629b434c9b5d157bd72e114fd839553f7f0e94600934a0a49e59aa4713a13c01775e75e2ebae75d9e29d2506184177b7dd0868693873596]
 [sha = SHA-224]
 
+# tcId = 245
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1516,11 +1850,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]
 [key.wx = 3d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff37]
 [key.wy = 7d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00043d2e9bb9a712bf3ad42ac30659fdbda9be9956537f9f37cd05f0ff377d5982d6d9266d774942c44d9eb3501051d3b9688610131e7856ef36]
 [sha = SHA-224]
 
+# tcId = 246
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1529,11 +1865,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]
 [key.wx = 0a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60]
 [key.wy = 0d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a0be2f10144b9b42b016f1bd9fca30e4c24aae4775596c7cdb07ae60d60ff3a70f1541631f6087d3f3b3fe376d2305b50b94821106412479]
 [sha = SHA-224]
 
+# tcId = 247
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1542,11 +1880,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]
 [key.wx = 4d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab]
 [key.wy = 106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00044d74397a586c8ac5e326bed03720bde7037e4a07aee7209f70493cab106778bfd081d17ab6dcb8fd8a454962941c26ecc19cda9fb77719db]
 [sha = SHA-224]
 
+# tcId = 248
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1555,11 +1895,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]
 [key.wx = 08c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f]
 [key.wy = 5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00048c2f149b1738243f81a6f12135395a2ba2718863622e66e33efc241f5638cf6ae9cfb39578cf3a719702052e5e9e940216c5136dcb6ef085]
 [sha = SHA-224]
 
+# tcId = 249
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1568,11 +1910,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]
 [key.wx = 0ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf4]
 [key.wy = 12e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ad5227e48afaa165e7b97ef8210687556e10643fda8a377aaf4f5bf412e86d4ae55f4460aba6a932f307ee78efdc136e9a3df6313100bf4f]
 [sha = SHA-224]
 
+# tcId = 250
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1581,11 +1925,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]
 [key.wx = 3fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992]
 [key.wy = 23c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00043fb94a3165ecdef43fa27907ed075caf52c25420ac7bc7bb90408992023c4d7b4775b591ae223dd4da9ceaabd73b9743ddab8b40576e393f]
 [sha = SHA-224]
 
+# tcId = 251
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1594,11 +1940,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]
 [key.wx = 0e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc]
 [key.wy = 09a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e45fcf0a7f4dc2a308dc7868251423fbf71a205a9546850a01a732fc9a73ca4d41175076f2f362b276ecb0ccdb6e0bb30c4a1b35c2e3ed82]
 [sha = SHA-224]
 
+# tcId = 252
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1607,11 +1955,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]
 [key.wx = 3c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e2813]
 [key.wy = 1b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00043c59e13982fd9c1a45991b1e9d79e939a52a62ca479764f1477e28131b004c9bffd7f00c05e3168c625cc93ab7a0f1ba8d6fa26a4d5162cb]
 [sha = SHA-224]
 
+# tcId = 253
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1620,11 +1970,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]
 [key.wx = 0c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c]
 [key.wy = 53ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c6b8ff152d7a1b7a99ce3483bdeaaf5bd2ce64dc6b0f89cf3544b87c053ab6cf9cb510dc1440ab4e412a167f4c69365fcfc97f31d5ba4581]
 [sha = SHA-224]
 
+# tcId = 254
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1633,11 +1985,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]
 [key.wx = 7c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd5]
 [key.wy = 6e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00047c0772fb6553c0ec0dd1f73b5db380764d9f2f7afb4eac1e774dacd56e2e5de0db63bf03cf9675eae6d2dfe5424e79ab394951c9b60ad5df]
 [sha = SHA-224]
 
+# tcId = 255
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1646,11 +2000,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]
 [key.wx = 4108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b]
 [key.wy = 46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00044108e0ccd47cba09fb7ed4d9f3455823780965157861c1bf8f93d34b46d6fdb71e9e89adaae71376b13fd17644b11eed00d498783da0ba1a]
 [sha = SHA-224]
 
+# tcId = 256
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1659,11 +2015,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]
 [key.wx = 2f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e3]
 [key.wy = 5a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00042f2da40a1b72f67ba63613a243119c41c7252839cf106e86b5d8e6e35a1e0e2fc49b4f316f0c0e7236785749eb34ce923c23aef330af8733]
 [sha = SHA-224]
 
+# tcId = 257
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1672,11 +2030,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]
 [key.wx = 7dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c7283]
 [key.wy = 4353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00047dc09710f4f586af05b08f0c9dcd48b1308733c97767fc286d1c72834353a704c7950b8f4a11394bc8db06adccf19d8ed95c7f214a173137]
 [sha = SHA-224]
 
+# tcId = 258
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1685,11 +2045,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]
 [key.wx = 0dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd328]
 [key.wy = 082663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dbb439e2c3e9d1822b94ccc7d98c9fcb668e65dd6a759ad2dfdcd32882663234e6da512d7d7d5fe79156ad0e19ffc62d618e3cf48276106d]
 [sha = SHA-224]
 
+# tcId = 259
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1698,11 +2060,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]
 [key.wx = 0e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed2]
 [key.wy = 55beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e012dc20cca5bd2adfaa27f57419596ce09ed0f18a9148e30a0f6ed255beca1b5e3e2485ef9537ae48a67b72dbcf6d7b33372023a5c443e8]
 [sha = SHA-224]
 
+# tcId = 260
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1711,11 +2075,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]
 [key.wx = 0c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca2]
 [key.wy = 42b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c510ab34abd4855c54d62407abe6ca090c73ba49aca9de9bf117bca242b3b00c272c22681af7c255120fac148ad73c81b47846e4ad2f5627]
 [sha = SHA-224]
 
+# tcId = 261
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1724,11 +2090,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]
 [key.wx = 08a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f4]
 [key.wy = 33fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000408a6e167536a47aaa224fec21ce077642efdb97d93ae16b9672279f433fb9f1abb25f2c0c3e6008ac857ede4a89ca8d9d08b8996614969ac]
 [sha = SHA-224]
 
+# tcId = 262
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1737,11 +2105,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]
 [key.wx = 1a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c]
 [key.wy = 6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00041a83e185fcf30e6c69cf292e497d63cc04e6fd07cb9365a74be3c39c6b2d56247df49cf94176c4e8efc84ec710cd0d614dd066c16f6ad3e0]
 [sha = SHA-224]
 
+# tcId = 263
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1750,11 +2120,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]
 [key.wx = 2d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb]
 [key.wy = 095bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00042d59efd841a44b83fd42e6a2984a53fa93ad242c11678f92202cccfb95bcaf0b2f6eb0e6d4d83e3260e037d3dc0e48ab6c4141ce6b56cad0]
 [sha = SHA-224]
 
+# tcId = 264
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1763,11 +2135,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]
 [key.wx = 1161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c]
 [key.wy = 08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00041161c7add6f67f995b93e19eb18bd5e73fd71d6bb10dceef0b792e9c08c44cef9826b4ed67508c09d07ec857a0ea49ed1a7f1fa2c74cb838]
 [sha = SHA-224]
 
+# tcId = 265
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1776,11 +2150,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]
 [key.wx = 084dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af]
 [key.wy = 7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000484dc3d2ebfcf3480713baeff30ad0781bc8c4d06ab6ddd4f7f1045af7570537c5d71a78b1a041aca0fe35f642824abda8c3ff2e9fcf5c8cb]
 [sha = SHA-224]
 
+# tcId = 266
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1789,11 +2165,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]
 [key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]
 [key.wy = 09fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de332629fe09825a57f3a0ec11189f4560272297ab6d5e095401febb60d0dc9]
 [sha = SHA-224]
 
+# tcId = 267
 # point duplication during verification
 msg = 313233343030
 result = valid
@@ -1805,11 +2183,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]
 [key.wx = 1767574e645c550ef3d353f76d4428f9616ac288b36378857de33262]
 [key.wy = 601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00041767574e645c550ef3d353f76d4428f9616ac288b36378857de33262601f67da5a80c5f13eee760ba9fd8dd585492a1f6abfe01449f2f238]
 [sha = SHA-224]
 
+# tcId = 268
 # duplication bug
 msg = 313233343030
 result = invalid
@@ -1821,11 +2201,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]
 [key.wx = 0e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142]
 [key.wy = 0f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e2ef8c8ccb58eba287d9279b349e7652cca3e7cda188a5f179d77142f87594f3664c0faf7b59670e353a370d1d68ad89d6a1e246b4d03bee]
 [sha = SHA-224]
 
+# tcId = 269
 # comparison with point at infinity 
 msg = 313233343030
 result = invalid
@@ -1834,12 +2216,14 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]
 [key.wx = 0b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea69948]
 [key.wy = 4fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b8bf3ef9646abfffb84220104ec996a92cef33f9328ec4cb1ea699484fea51a0de9e9d801babd42ca0924b36498bc5900fbeb9cbd5ad9c1a]
 [sha = SHA-224]
 
-# extreme value for k
+# tcId = 270
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
@@ -1847,12 +2231,89 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]
+[key.wx = 286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e220]
+[key.wy = 2e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004286e80429c8796dcd885d95f960d209fed19f87e2ce423d166c8e2202e30882c09970d5dd58b67e5bb80affec74248a9cb4a783384c8b6a0]
+[sha = SHA-224]
+
+# tcId = 271
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]
+[key.wx = 5599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c31039]
+[key.wy = 3faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045599a3faf96aba7302bd3d98cfde69525b7292762383f4a0b5c310393faa45feb6c35d2b7bf25ffc633c420ebfc4e715765302c5a11ac793]
+[sha = SHA-224]
+
+# tcId = 272
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]
+[key.wx = 5b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb]
+[key.wy = 1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00045b5234b8db6bbd396eae7d1ca4e6d877824c98cde9fbfab34b6b8ccb1f38ae9f87adc3e6d2474eb5e3cd9aeff0927320214be550f5e62ed4]
+[sha = SHA-224]
+
+# tcId = 273
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]
+[key.wx = 0aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b672]
+[key.wy = 5e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aced4ea8949e5ae37ef2f5eb5e00675d08e17c34be6677b0f269b6725e3ad0af49ebfff415ee4f2a838ead1f84cafaa652c17acc26130725]
+[sha = SHA-224]
+
+# tcId = 274
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]
+[key.wx = 3e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa1532]
+[key.wy = 4e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043e8c1bcc16195e8769e25d4c859807dffe178bed5bca9db06efa15324e3b53b3048b8ccd8cdc1265be240c8ee204060486a99ad31eaad3a4]
+[sha = SHA-224]
+
+# tcId = 275
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 0424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]
 [key.wx = 24819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13]
 [key.wy = 0b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000424819323b7be8ab0910f7f33bd2f7669c44b13f09479965e95287d13b0592345beafbfdb8cf3629269bdd817728d5d5cd3c28bc6c6414a70]
 [sha = SHA-224]
 
-# extreme value for k
+# tcId = 276
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
@@ -1860,16 +2321,94 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]
+[key.wx = 44cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c81]
+[key.wy = 2b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000444cf57bac30a83da39f90bf3faacd52211a70fb92547db7778ea6c812b3fd1bf14688d2770c50cd5a890a3807ba0e8612136a1b11e030f82]
+[sha = SHA-224]
+
+# tcId = 277
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]
+[key.wx = 0dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca0]
+[key.wy = 7a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004dc17f1001d326127f7375cffa70b7530bca4da1040dc43d0044aaca07a146f04c5294cfe7e1ed587da55bae70b7fa8e32f6aa800314d01dd]
+[sha = SHA-224]
+
+# tcId = 278
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 0468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]
+[key.wx = 68e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277]
+[key.wy = 0e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000468e2d7088eac18ba775bf68c5c509e86afd6f93451b4e4ee1d73e277e24ff4e27ef6c519db676d822c5db040482888013c8f3881bc9ac65a]
+[sha = SHA-224]
+
+# tcId = 279
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]
+[key.wx = 0cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046]
+[key.wy = 0865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004cd4171adcb8be75e7734061a048b2bf228d167c2742d27f854392046865eb958ebd320ba87662ad3ac7af568c6be0f09be090bcfe083b3e5]
+[sha = SHA-224]
+
+# tcId = 280
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]
+[key.wx = 0eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed3]
+[key.wy = 59718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eefdf99ab69d1888772cabe21d406045e1beab82761a7040beeb7ed359718c889af80f22f320fbe662d5ea0f65dfb4a5589c294ce5b73359]
+[sha = SHA-224]
+
+# tcId = 281
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
 [key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]
 [key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
 [sha = SHA-224]
 
+# tcId = 282
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851
 
+# tcId = 283
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1878,16 +2417,19 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
 [key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]
 [key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
 [sha = SHA-224]
 
+# tcId = 284
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 303c021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c021c249249249249249249249249249227ce201a6b76951f982e7ae89851
 
+# tcId = 285
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1896,206 +2438,247 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
 [key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]
 [key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
 [sha = SHA-224]
 
+# tcId = 286
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021c2770403d42b7b45e553308d1f6a480640b61cac0ae36665d6f14d34e021d0085506b0404265ededf9a89fc7c9c7a55c16c5b0d781f774de8f46fa1
 
+# tcId = 287
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d00dd0d56c27a0dc01ce0aad178f274d47bdf9dac8db1df5edbd3234e9f021c393cb201b9f3306ef587c8461e18617f8c0cb96dfad301fca8c852a5
 
+# tcId = 288
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303c021c0441d3ea1ccaf7ee9cba39cc90f117edf9183d34e8ec255bbee3af7b021c72787e0e4c55099d0582680e153ed4907d2a950c9421da4b83036091
 
+# tcId = 289
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303c021c4408ea3b626ab23a391f941f93e1f2998efb4c2dc4ab6ccbf2f79b50021c0fa5ffbafb3943ff0c4e68408247f95343c4832bc01e5cd505685ef3
 
+# tcId = 290
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d009f0659f0009e16c6a98e26f7479b7ed4268f28d9bd8806ca54a5d8e7021c43aa3fd3dfc50844e03f4ce9801d3a1023a8c4d0bd67149f437ae3a2
 
+# tcId = 291
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d00b2f4f3ca7ce467a8928ee15b2672a30aad1d03f5271e9a0e7a52e233021c3e0f281a9d56fdfac280ac1eb799d3874115e773041d1e722fc36b67
 
+# tcId = 292
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303e021d00ed63abaa150741427c9810dbaadec1bf43c0ac36968146300c0b080d021d00febd4a3944f0ea30f0e9bb13d553e839b48ef721e598aa03db7638d5
 
+# tcId = 293
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021c340814eb8a132af8e8d6bc0836c0abcd6411e8d8930cf346c41de9ae021d00c8eefdb53796bcb54c59f3193ef858ebc92cebac9f0bb38c08284b4e
 
+# tcId = 294
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d00cc75615f5415f8244fd42b518618b9734e3c5b1399507557f7834789021c7b68afe08887d34f1ce19942e4f3c5d99c20d0e15ba13adc287e5554
 
+# tcId = 295
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d00f83bb419a391163c306b3e10c3bb5a029b428d560181c80e279498f3021c317446aa67bac1e52b6069e29e90f6df1737a61229600523e32f4e23
 
+# tcId = 296
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021d00b68da722bbba7f6a58417bb5d0dd88f40316fc628b0edfcb0f02b062021c5c742e330b6febadf9a12d58ba2a7199629457ef2e9e4cecd2f09f50
 
+# tcId = 297
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021c5df6b8389e40473ac6cb14330066887779a6aafbec652c9d3f42f4db021d00ce28e7b8f4a4d5263a10c20d615b3dbaad18b58de36625a485d77adb
 
+# tcId = 298
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021d00edd07a0529340b7e3ad39a37f7f7043cc560f605f2c14d5b6e7c4f63021c03cd4525a02091490b49645464040fac40d8a70ce49042b21f1a1b8e
 
+# tcId = 299
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021d00d32e7b5ebef67e442f086595e62d7f282c26b5618e50ae386de8efa9021c554e7c860e0e1db0080cd520c7fe745b72c540074fc610dc0e280520
 
+# tcId = 300
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021d00d1edaf4c0174197bf38b78b53c6ed7d8d3f16ab50379bc9c25e40536021c438bc07b8cfc3b8aa319e9d50153ca4bb6702071bbc01b687d48bd99
 
+# tcId = 301
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303e021d008bb29b81e2b348ab4f04156269f21e9ed74eada70e505faf8ee8519a021d008b9a30f30ea26c37bfe4f879939ed442523ff8ce0a3ceda97f3314e2
 
+# tcId = 302
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021c627cf63b5c30c55368d377cee6e8da5ccc265952b36eed5f2a7ccc0b021d008f76f6b9cfec6ad1bbb3e0b27ddadc7c3b35b6fd33a8302a75b0ee55
 
+# tcId = 303
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303c021c1d6b1e116413eae3d8975144d14bbab1db23dbc2254417973f8871a4021c7dfea6372066fce663a84ced6385ae63a4c5121d3ba6856208603ddf
 
+# tcId = 304
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021c1e93ab2e3b2249bcc89c326d709ddaa568320cf8598c3ee0d69aa674021d00ee64abd080c4f31311b5c1ff081f3131a1d76e292f23e1f8602a3dff
 
+# tcId = 305
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303c021c76ab1b4c88eb4985ed345b5e3abf06ddc8c3f34c0d0e1b393a76ce85021c523ce0669a34b629b6e13a9f8b0fa6c5a6514e1267077df420ab3b88
 
+# tcId = 306
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303c021c01ec1ff15c8a55d697a5424d674753f82f711593828368d2fbb41a17021c20d9089db7baf46b8135e17e01645e732d22d5adb20e3772da740eee
 
+# tcId = 307
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303c021c5af925948bda1fe510456cf27ce65b6d3ad17dd6d511600fad58aacf021c2eb0a3cf8b5e0b73239eb053a5a78ab8af78397062d06f8dbda2eb17
 
+# tcId = 308
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303c021c070fa48e5307b660cfa9e66a0ab98959ec3dcc3ac5e1b1dff1064087021c028926a511087943333f6fa336b235792b6f64ee3f5f594a7c3f6d2c
 
+# tcId = 309
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021d00bcfbb22ed79dd2ee8ae602dde144a63f9fa68f8f9b71b5994ac8f17b021c27c9c1494081d99a2708b02196eb9581b0b4147d00f3ae3089cc6d7a
 
+# tcId = 310
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021d00a914df6f841ef05491827d92e55148a5c71c687c89dccbfdfd6eddfc021c7316b41eecbff1dd0fafdeb8b717e3f91aceeb2c22cb25023ee2af0b
 
+# tcId = 311
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303e021d00a72fc403de3dab1cf179f630940cfd990702969160d7bdf5c47a12a0021d00c2b0a943e45dbd0ffe6a4e31eab8099cd940c02d415041c149f24308
 
+# tcId = 312
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021c23ae9b89bbddbc88815c39e6f5969cce536caf36547b19d286fd868d021d00df9f9b611e22facb95e599bbca556f943739d5110678883c27d89c4d
 
+# tcId = 313
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021c356c7d340cfbd7205d466872524b1585d8659c43532fad657352f420021d00bc54e0b4c6f878e6052058ef4cbadefe3b4299993df773277bc32e5c
 
+# tcId = 314
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021d0086f4ab774e4e5d8705eaeff1f464da1774c177defcf4799656606b85021c3e03ea07272bad191989244af4230c275657c13258b77f9241caf7e6
 
+# tcId = 315
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303c021c1bde22394310f2f3139a51406c05ef6b553cd72b3520c824eb0ba4e6021c379d85d4a88357b77fc418c1e4a2525e964415605b7a5ca5018c7662
 
+# tcId = 316
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303c021c3e46e9ba4dc089ff30fa8c0209c31b11ff49dbeec090f9f53c000c75021c6f2e3b36369416602bca83206809ed898fcf158a56c25a5474143f68
 
+# tcId = 317
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303d021c6464668eeb6f693262fa4449dfffa86d346a2d11521d196214158666021d009ba2b14539efc3c884515e5bcf794c27a00ccbff01297a45dc444693
 
+# tcId = 318
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303c021c50b504b81612583ebecc4317a24ea4f7527d246ae1bee6c0157452f8021c0df691ff8b33d71c8b96bd246328ebd3a2f91d2be2ade9a7c2643cbf
 
+# tcId = 319
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303d021d00e14a319fd627669f24ce1a51f7ec2333da3b2c3de62c3aaf2b02e76b021c7845a14342c67c2f1ccd0a8a3a34ca0f382386964cd4c07360dd7bf8
 
+# tcId = 320
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303b021c098c7a8a3b6c5659e7a013efbd8e907935d0606b6c2a868455abf489021b7730907f494e81ddceb19215fa7e9398e7aa9144ac74d9fbf8c519
 
+# tcId = 321
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303e021d009e5db35801390400d1c6d496ba9d9ff5fddb688bdad6c8144d12e3b4021d00f8a618180b6b76c9bd837a67547a826c3cf270be1f2f50af690b8285
 
+# tcId = 322
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303e021d00f1b4f951e32e2ae47b776cdb87654cb18b74106d6b81f29e4d98f3cc021d00f1ea4b08a530d55982eb4a895d28f75fc2b831d7e46fd835bf8d8a33
 
+# tcId = 323
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303c021c50e80890e6b9b25b1aae3f8ddbc48026f57ad0f117694b0377bf4b9e021c7e804b9aaeb1df008cb3ac44f54d7d9ff159ca37d7f869a642c65eb6
 
+# tcId = 324
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303e021d00bdd75697eeb16df9b85ba07a14bcd200997a64bf1ec12e6e24bbe81b021d00d6f8396d399baa426c70d9cf00f1e392281755bff240752ca544e433
 
+# tcId = 325
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
@@ -2104,21 +2687,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
 [key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]
 [key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
 [sha = SHA-224]
 
+# tcId = 326
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 303d021c77b38da37079d27b837613ac3e8248d66eabd5d637076c8e62c7991e021d00d40cd9f81efc52db4429c0c1af7c1d8a22b6c7babbe7fbd8b5b3f02f
 
+# tcId = 327
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 303d021d008c03b32c166c0c8b99d7f876acd109447efb13f6b82945e78d51a269021c657568f1a0a8bd7df5ffa43097ebb2b64435c8e3335bcaafc63f9ed5
 
+# tcId = 328
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2127,21 +2714,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
 [key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]
 [key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
 [sha = SHA-224]
 
+# tcId = 329
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 303d021d008ff82699e2e82870be9cfdd8a408bb34f8f38a83a4ac8370f18f2bc8021c7e5008fab6a0d4159200077ef9918dad6592cd8359838852c636ac05
 
+# tcId = 330
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 303d021c3f3b60b529ae0f950c517264adf2e481616bc47416742d5103589660021d00f731ebe98e58384b3a64b4696d4cc9619828ad51d7c39980749709a6
 
+# tcId = 331
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
@@ -2150,21 +2741,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
 [key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]
 [key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
 [sha = SHA-224]
 
+# tcId = 332
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 303e021d00a59b25b786d55f26b04dfe90ee02a6bde64ed6e431dc9fbdc3ab360e021d00fc14b5ad20f39da9900e35437936c8626fccf6632e7a3d9e587e3311
 
+# tcId = 333
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 303d021c2eda1f96c1a6e3ad8a3321ce82cbb13a5b935b501abf6c06f7fd2b3f021d00e81050c3e5f53a3c7b9d0bdb9ed92a326dfeac44791ba1abe4d6e973
 
+# tcId = 334
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2173,21 +2768,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
 [key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]
 [key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
 [sha = SHA-224]
 
+# tcId = 335
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 303d021c2ead37846a5e36a490b75140bdc7b636c6e9f6d8f980f6fadb08f769021d00e1fe130ae1798c196d7be62c7a5ddb3168cf4b8d48b6b6b4dc94ab3b
 
+# tcId = 336
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 303d021d00a8a4c9416d72c860573d073281cb08c86ad65313f06b15a329e82eb2021c5a6edd2f0816b7263d915d72c67d50a854e3abee5cde1b679a0cef09
 
+# tcId = 337
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
@@ -2196,21 +2795,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
 [key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]
 [key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
 [sha = SHA-224]
 
+# tcId = 338
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303d021c34e41cba628fd8787ba1a528f6015d2cae015c1c9a866e08a7133801021d0083d422ffdd99cc3c6d7096ef927f0b11988d1824e6e93840ff666ccd
 
+# tcId = 339
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303c021c2558a42e79689244bccd5e855f6a1e42b4ff726873f30b532b89ef53021c07f9bd947785187175d848b6e2d79f7ab3bbc1087b42590b0cfb256a
 
+# tcId = 340
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2219,21 +2822,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
 [key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]
 [key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
 [sha = SHA-224]
 
+# tcId = 341
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303d021d008c1da2f07cdcbce4db8067b863468cfc728df52980229028689e57b6021c32175c1390a4b2cab6359bab9f854957d4fd7976c9c6d920c871c051
 
+# tcId = 342
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303e021d00e46d4f11b86b5a12f6fe781d1f934ef2b30e78f6f9cc86a9996e20c0021d008351974b965526034a0ccef0e7d3bc13d91798151488c91533143f7b
 
+# tcId = 343
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2242,21 +2849,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
 [key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]
 [key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
 [sha = SHA-224]
 
+# tcId = 344
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303d021c0e4fde0ac8d37536505f7b8bdc2d22c5c334b064ac5ed27bea9c179e021d00c4d6bf829dd547000d6f70b9ad9e9c1503bebcf1d95c2608942ca19d
 
+# tcId = 345
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303e021d00818afcaf491da9d08a7cc29318d5e85dce568dcca7018059f44e9b7e021d00bf32a233d5fc6ed8e2d9270b1bdad4bbd2a0f2c293d289bd91ffbcf3
 
+# tcId = 346
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2265,21 +2876,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
 [key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]
 [key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
 [sha = SHA-224]
 
+# tcId = 347
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303e021d00ab7a19eecf63e9668278963b65236b2768e57cae0e268cb86a0ddda1021d008829f5d3a3394f9467ba62e66ef1768e3e54f93ed23ec962bc443c2e
 
+# tcId = 348
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303d021c17111a77cf79bead456ed86a7d8a935531440281eb8b15a885e341c0021d00fdc3958d04f037b1d4bb2cee307b5201be062e0d4e089df1c1917668
 
+# tcId = 349
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2288,21 +2903,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
 [key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]
 [key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
 [sha = SHA-224]
 
+# tcId = 350
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303d021d00a3fe71a2a56f554e98fd10a8098c2a543c98bc6b3602ef39f2412308021c5d1d68f9a870ef2bc87484b3386549fae95811ab72bc0e3a514720da
 
+# tcId = 351
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303d021c132f7625704756c13f2bfa449e60952f836f4904660b5b1da07e5a9f021d0082b4abafc40e8fd19b0c967f02fff152737ce01153658df445c4d7b7
 
+# tcId = 352
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2311,21 +2930,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
 [key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]
 [key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
 [sha = SHA-224]
 
+# tcId = 353
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303d021c2125ecc08e52e9e39e590117de2145bd879626cb87180e52e9d3ce03021d008f7e838d0e8fb80005fe3c72fca1b7cc08ed321a34487896b0c90b04
 
+# tcId = 354
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303e021d00e485747ac2f3d045e010cdadab4fd5dbd5556c0008445fb73e07cd90021d00e2133a7906aeac504852e09e6d057f29ab21368cfc4e2394be565e68
 
+# tcId = 355
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
diff --git a/src/third_party/wycheproof/ecdsa_secp224r1_sha256_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.json
similarity index 85%
rename from src/third_party/wycheproof/ecdsa_secp224r1_sha256_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.json
index 099e265..1ad7e51 100644
--- a/src/third_party/wycheproof/ecdsa_secp224r1_sha256_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.json
@@ -1,27 +1,28 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 336,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 354,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6tqTvhCyRJ4ei7WDBdUgCAE8VxB8GiCj\nF6bLp+ymcjQMA9HS4JZjKGaR31UGn6JUkMndn5wLsrU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5",
         "wx" : "0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7",
         "wy" : "0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6tqTvhCyRJ4ei7WDBdUgCAE8VxB8GiCj\nF6bLp+ymcjQMA9HS4JZjKGaR31UGn6JUkMndn5wLsrU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -35,7 +36,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303d021c684caf7bdbcd579b1d8a17591e98630040e1bda6d6d5780af206a0b9021d00c006293694f152d326ba30011d95554d09189c7735b26068c5101c0d",
+          "sig" : "303c021c7eb66797b46c450a30227c9b4dcc6ce69e80155408a7e6e8ea84df2a021c3acce3958e78177cdebc75435081e8b0f6e41b0e957e98da3e272953",
           "result" : "valid",
           "flags" : []
         },
@@ -43,7 +44,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303e021d008f59422c1b4482269602cd7486aee41817a36c64d232fc411f3a1d09021d00d61e33aaaa743e2d10f55c302318c41d2236b2478a4f85fca09319fd",
+          "sig" : "303c021c08ca7e6b57f55e550a725234cba47224378a2b5d0039ad2297676605021c56de7c4732cbafbf1c4fc631cece056595eaf7fd200a737114744dc3",
           "result" : "valid",
           "flags" : []
         },
@@ -51,7 +52,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303e021d008c451662a222b7ed1d4e55744761bc47b8015e570e9b5390b56adf4e021d00acbe66d485b3c9cba373401f8e37fb4ff3c12bc6302cd7f8a6a65ebb",
+          "sig" : "303d021d00f5a0ee66158a3b627e53d578c48172378e58f84e01a3da8725009f41021c155b768199da7d0892709096ed7876badab210e89a6c975b6023204c",
           "result" : "valid",
           "flags" : []
         },
@@ -59,7 +60,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303e021d00d269d4150eb8ba7d590f35c6ad28e015d2f8cc4474c3b28d6d2c4af8021d00add458ae2267a4b3aba251104cc7b5d82c9aed339f4856b2e8397096",
+          "sig" : "303c021c1d5128dff235efabd38c884bc4b7e65df4910a2deaf7b2fd09ad0cba021c011b48fe6f91e7a550e0cd7bc16d2bcd85101e895608cb7bc1d38a12",
           "result" : "valid",
           "flags" : []
         },
@@ -67,7 +68,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "303e021d00df70013e990003e109e47b31e517715cd40628fe461c690b5447abff021d00838b89938718900c0b572545d4c556f9c00e46b0da22ae3840cb03e6",
+          "sig" : "303c021c600fd806e689aaba04aa1276942a2c9bc5db1749970dc4588c04d1ae021c0c6d54975970a701678a2dd123de8352085d2b58bf0f5fe44c9547df",
           "result" : "valid",
           "flags" : []
         },
@@ -85,7 +86,9 @@
           "msg" : "313233343030",
           "sig" : "30813c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 9,
@@ -93,7 +96,9 @@
           "msg" : "313233343030",
           "sig" : "303d02811c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -101,7 +106,9 @@
           "msg" : "313233343030",
           "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402811c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -109,7 +116,9 @@
           "msg" : "313233343030",
           "sig" : "3082003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -117,7 +126,9 @@
           "msg" : "313233343030",
           "sig" : "303e0282001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -125,7 +136,9 @@
           "msg" : "313233343030",
           "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040282001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -377,6 +390,14 @@
         },
         {
           "tcId" : 45,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000",
@@ -384,7 +405,7 @@
           "flags" : []
         },
         {
-          "tcId" : 46,
+          "tcId" : 47,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "303e0000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -392,24 +413,16 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
-          "comment" : "appending unused 0's",
+          "tcId" : 48,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 49,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500",
           "result" : "invalid",
@@ -417,22 +430,6 @@
         },
         {
           "tcId" : 50,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3041498177303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -440,7 +437,7 @@
           "flags" : []
         },
         {
-          "tcId" : 53,
+          "tcId" : 51,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30402500303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -448,7 +445,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef",
@@ -456,7 +453,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30412221498177021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -464,7 +461,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304022202500021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -472,7 +469,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3044221e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040004deadbeef021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -480,7 +477,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042221498177021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -488,7 +485,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0422202500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -496,7 +493,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04221e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef",
@@ -504,7 +501,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3044aa00bb00cd00303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -512,7 +509,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3042aa02aabb303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -520,7 +517,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30442224aa00bb00cd00021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -528,7 +525,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30422222aa02aabb021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -536,7 +533,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042224aa00bb00cd00021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -544,7 +541,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "3042021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042222aa02aabb021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -552,7 +549,15 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000",
@@ -560,7 +565,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30402280021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -568,7 +573,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000",
@@ -576,7 +581,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000",
@@ -584,7 +589,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30402280031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -592,7 +597,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000",
@@ -600,7 +605,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -608,127 +613,47 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
-          "comment" : "changing tag value",
+          "tcId" : 73,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "323c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
+          "tcId" : 78,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -736,31 +661,15 @@
           "flags" : []
         },
         {
-          "tcId" : 90,
-          "comment" : "using composition",
+          "tcId" : 79,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "3040300102303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
+          "tcId" : 80,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9",
@@ -768,7 +677,7 @@
           "flags" : []
         },
         {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -776,15 +685,17 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98100",
@@ -792,7 +703,7 @@
           "flags" : []
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98105000000",
@@ -800,7 +711,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981060811220000",
@@ -808,7 +719,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000fe02beef",
@@ -816,7 +727,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810002beef",
@@ -824,7 +735,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "303e3000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -832,7 +743,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9813000",
@@ -840,7 +751,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -848,7 +759,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "301e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04",
@@ -856,7 +767,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "305a021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -864,7 +775,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "301e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -872,7 +783,23 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "301f02021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "301f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -880,7 +807,7 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000",
@@ -888,23 +815,67 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "303e021e00003ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e0000617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 111,
+          "tcId" : 101,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30200281021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "30200500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -912,7 +883,7 @@
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500",
@@ -920,7 +891,87 @@
           "flags" : []
         },
         {
+          "tcId" : 107,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "30200200021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -928,7 +979,7 @@
           "flags" : []
         },
         {
-          "tcId" : 114,
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040200",
@@ -936,7 +987,23 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "303c021c38de5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -944,7 +1011,7 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c637d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -952,7 +1019,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a84021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -960,7 +1027,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad901",
@@ -968,7 +1035,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303b021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -976,7 +1043,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303b021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -984,7 +1051,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9",
@@ -992,7 +1059,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -1000,7 +1067,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "303d021dff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -1008,7 +1075,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -1016,7 +1083,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3021090180021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
@@ -1024,7 +1091,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04090180",
@@ -1032,66 +1099,18 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "sig" : "3021020100021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be",
+          "sig" : "3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1099,7 +1118,7 @@
           "tcId" : 135,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44",
+          "sig" : "303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
@@ -1107,7 +1126,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f",
+          "sig" : "303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
@@ -1115,7 +1134,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42",
+          "sig" : "303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
@@ -1123,7 +1142,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "sig" : "303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
@@ -1131,12 +1150,76 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f",
+          "sig" : "303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 140,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1146,7 +1229,7 @@
           ]
         },
         {
-          "tcId" : 141,
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1156,7 +1239,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1166,7 +1249,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1176,7 +1259,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1186,7 +1269,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1196,7 +1279,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1206,7 +1289,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1216,7 +1299,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1226,7 +1309,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1236,7 +1319,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1246,7 +1329,7 @@
           ]
         },
         {
-          "tcId" : 151,
+          "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201010201ff",
@@ -1256,7 +1339,7 @@
           ]
         },
         {
-          "tcId" : 152,
+          "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1266,7 +1349,7 @@
           ]
         },
         {
-          "tcId" : 153,
+          "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1276,7 +1359,7 @@
           ]
         },
         {
-          "tcId" : 154,
+          "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1286,7 +1369,7 @@
           ]
         },
         {
-          "tcId" : 155,
+          "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1296,7 +1379,7 @@
           ]
         },
         {
-          "tcId" : 156,
+          "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1306,7 +1389,7 @@
           ]
         },
         {
-          "tcId" : 157,
+          "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020101090380fe01",
@@ -1316,7 +1399,7 @@
           ]
         },
         {
-          "tcId" : 158,
+          "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020100",
@@ -1326,7 +1409,7 @@
           ]
         },
         {
-          "tcId" : 159,
+          "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020101",
@@ -1336,7 +1419,7 @@
           ]
         },
         {
-          "tcId" : 160,
+          "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff0201ff",
@@ -1346,7 +1429,7 @@
           ]
         },
         {
-          "tcId" : 161,
+          "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1356,7 +1439,7 @@
           ]
         },
         {
-          "tcId" : 162,
+          "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1366,7 +1449,7 @@
           ]
         },
         {
-          "tcId" : 163,
+          "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1376,7 +1459,7 @@
           ]
         },
         {
-          "tcId" : 164,
+          "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1386,7 +1469,7 @@
           ]
         },
         {
-          "tcId" : 165,
+          "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1396,7 +1479,7 @@
           ]
         },
         {
-          "tcId" : 166,
+          "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30080201ff090380fe01",
@@ -1406,7 +1489,7 @@
           ]
         },
         {
-          "tcId" : 167,
+          "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100",
@@ -1416,7 +1499,7 @@
           ]
         },
         {
-          "tcId" : 168,
+          "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101",
@@ -1426,7 +1509,7 @@
           ]
         },
         {
-          "tcId" : 169,
+          "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff",
@@ -1436,7 +1519,7 @@
           ]
         },
         {
-          "tcId" : 170,
+          "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1446,7 +1529,7 @@
           ]
         },
         {
-          "tcId" : 171,
+          "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1456,7 +1539,7 @@
           ]
         },
         {
-          "tcId" : 172,
+          "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1466,7 +1549,7 @@
           ]
         },
         {
-          "tcId" : 173,
+          "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1476,7 +1559,7 @@
           ]
         },
         {
-          "tcId" : 174,
+          "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1486,7 +1569,7 @@
           ]
         },
         {
-          "tcId" : 175,
+          "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01",
@@ -1496,7 +1579,7 @@
           ]
         },
         {
-          "tcId" : 176,
+          "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100",
@@ -1506,7 +1589,7 @@
           ]
         },
         {
-          "tcId" : 177,
+          "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101",
@@ -1516,7 +1599,7 @@
           ]
         },
         {
-          "tcId" : 178,
+          "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff",
@@ -1526,7 +1609,7 @@
           ]
         },
         {
-          "tcId" : 179,
+          "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1536,7 +1619,7 @@
           ]
         },
         {
-          "tcId" : 180,
+          "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1546,7 +1629,7 @@
           ]
         },
         {
-          "tcId" : 181,
+          "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1556,7 +1639,7 @@
           ]
         },
         {
-          "tcId" : 182,
+          "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1566,7 +1649,7 @@
           ]
         },
         {
-          "tcId" : 183,
+          "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1576,7 +1659,7 @@
           ]
         },
         {
-          "tcId" : 184,
+          "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01",
@@ -1586,7 +1669,7 @@
           ]
         },
         {
-          "tcId" : 185,
+          "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100",
@@ -1596,7 +1679,7 @@
           ]
         },
         {
-          "tcId" : 186,
+          "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101",
@@ -1606,7 +1689,7 @@
           ]
         },
         {
-          "tcId" : 187,
+          "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff",
@@ -1616,7 +1699,7 @@
           ]
         },
         {
-          "tcId" : 188,
+          "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1626,7 +1709,7 @@
           ]
         },
         {
-          "tcId" : 189,
+          "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1636,7 +1719,7 @@
           ]
         },
         {
-          "tcId" : 190,
+          "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1646,7 +1729,7 @@
           ]
         },
         {
-          "tcId" : 191,
+          "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1656,7 +1739,7 @@
           ]
         },
         {
-          "tcId" : 192,
+          "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1666,7 +1749,7 @@
           ]
         },
         {
-          "tcId" : 193,
+          "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01",
@@ -1676,7 +1759,7 @@
           ]
         },
         {
-          "tcId" : 194,
+          "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100",
@@ -1686,7 +1769,7 @@
           ]
         },
         {
-          "tcId" : 195,
+          "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101",
@@ -1696,7 +1779,7 @@
           ]
         },
         {
-          "tcId" : 196,
+          "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff",
@@ -1706,7 +1789,7 @@
           ]
         },
         {
-          "tcId" : 197,
+          "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1716,7 +1799,7 @@
           ]
         },
         {
-          "tcId" : 198,
+          "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1726,7 +1809,7 @@
           ]
         },
         {
-          "tcId" : 199,
+          "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1736,7 +1819,7 @@
           ]
         },
         {
-          "tcId" : 200,
+          "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1746,7 +1829,7 @@
           ]
         },
         {
-          "tcId" : 201,
+          "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1756,7 +1839,7 @@
           ]
         },
         {
-          "tcId" : 202,
+          "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01",
@@ -1766,7 +1849,7 @@
           ]
         },
         {
-          "tcId" : 203,
+          "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100",
@@ -1776,7 +1859,7 @@
           ]
         },
         {
-          "tcId" : 204,
+          "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101",
@@ -1786,7 +1869,7 @@
           ]
         },
         {
-          "tcId" : 205,
+          "tcId" : 213,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff",
@@ -1796,7 +1879,7 @@
           ]
         },
         {
-          "tcId" : 206,
+          "tcId" : 214,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
@@ -1806,7 +1889,7 @@
           ]
         },
         {
-          "tcId" : 207,
+          "tcId" : 215,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
@@ -1816,7 +1899,7 @@
           ]
         },
         {
-          "tcId" : 208,
+          "tcId" : 216,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
@@ -1826,7 +1909,7 @@
           ]
         },
         {
-          "tcId" : 209,
+          "tcId" : 217,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
@@ -1836,7 +1919,7 @@
           ]
         },
         {
-          "tcId" : 210,
+          "tcId" : 218,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
@@ -1846,7 +1929,7 @@
           ]
         },
         {
-          "tcId" : 211,
+          "tcId" : 219,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01",
@@ -1856,7 +1939,7 @@
           ]
         },
         {
-          "tcId" : 212,
+          "tcId" : 220,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3839313737",
           "sig" : "303d021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021d0096ad91f02a3bc40c118abd416ed5c6203ed7ced0330860d7b88c10ab",
@@ -1866,20 +1949,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEk7TCjwMtAPgOd0ke3BWDWZCe6eMKcye3\nQhnl4kgsGa41yyivyblcoe162RyBLV/M60vt2/GhbZI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92",
         "wx" : "093b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2",
         "wy" : "482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEk7TCjwMtAPgOd0ke3BWDWZCe6eMKcye3\nQhnl4kgsGa41yyivyblcoe162RyBLV/M60vt2/GhbZI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
@@ -1887,7 +1971,7 @@
           "flags" : []
         },
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
@@ -1897,20 +1981,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2pJ/S6iLY5v1M0Ih0vVNjvnMwaESX60Y\nx7+3iaxRrlPebYNKnbOUe43UxqwrCEuFSWv6cthraUg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948",
         "wx" : "0da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789",
         "wy" : "0ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2pJ/S6iLY5v1M0Ih0vVNjvnMwaESX60Y\nx7+3iaxRrlPebYNKnbOUe43UxqwrCEuFSWv6cthraUg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b",
@@ -1920,20 +2005,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEIIiOHA9WlMTANjs2SCvrbh5mSbPTsm8S\nf+u2/N4AwvPY5KfooLr9QXyW0+gcl1lGovNoaqOdNfE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1",
         "wx" : "20888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fc",
         "wy" : "0de00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEIIiOHA9WlMTANjs2SCvrbh5mSbPTsm8S\nf+u2/N4AwvPY5KfooLr9QXyW0+gcl1lGovNoaqOdNfE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1",
@@ -1943,20 +2029,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElUXIbwMsXfJVpEkLsLg+yiARgXkq10JG\nh02yKUBSZMKDBjMntw9MK+WrTS6UB7hm4SHWFF0STAQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04",
         "wx" : "09545c86f032c5df255a4490bb0b83eca201181792ad74246874db229",
         "wy" : "405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElUXIbwMsXfJVpEkLsLg+yiARgXkq10JG\nh02yKUBSZMKDBjMntw9MK+WrTS6UB7hm4SHWFF0STAQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b",
@@ -1966,20 +2053,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEV51T851RCb1EDj4+fv1gN0CWM0j/nHLA\nOw/muN8C8TPs1gsHKggSrcdScI8r6djJrVlT2Me/OWU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965",
         "wx" : "579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8",
         "wy" : "0df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEV51T851RCb1EDj4+fv1gN0CWM0j/nHLA\nOw/muN8C8TPs1gsHKggSrcdScI8r6djJrVlT2Me/OWU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020101",
@@ -1989,20 +2077,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0qFMgQbYnzU2+uva/NRoD2WrS/IkMWTK\nFGS2KKyvK+5S5iMdPJgPUvjhiaQcPjoF5ZEZXshkIXo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a",
         "wx" : "0d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628",
         "wy" : "0acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0qFMgQbYnzU2+uva/NRoD2WrS/IkMWTK\nFGS2KKyvK+5S5iMdPJgPUvjhiaQcPjoF5ZEZXshkIXo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020103",
@@ -2012,20 +2101,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6JJHkVOtE+pcpF1MMj6/H8PNDN94fDQw\naj95pDJsqWRfK1F2CNwfCLeoTPxh5v9o0U8n0gQ8fvU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5",
         "wx" : "0e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4",
         "wy" : "326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6JJHkVOtE+pcpF1MMj6/H8PNDN94fDQw\naj95pDJsqWRfK1F2CNwfCLeoTPxh5v9o0U8n0gQ8fvU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020103020104",
@@ -2033,7 +2123,7 @@
           "flags" : []
         },
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104",
@@ -2043,20 +2133,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKw6sNcCylPbUNdyv+oYzsBIwBUZcMAgK\n28wQOtRlpjv7cdSu4JMoaX/hCIdTZG2DabjcEDIXwhk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219",
         "wx" : "2b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103a",
         "wy" : "0d465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKw6sNcCylPbUNdyv+oYzsBIwBUZcMAgK\n28wQOtRlpjv7cdSu4JMoaX/hCIdTZG2DabjcEDIXwhk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4",
@@ -2066,20 +2157,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0VbgHjO+zt6PT7SulSHXUef463lcoAhX\n2y/Xr9c6RQ7GDmqSGKhDGHBofglolE9txf/rMORpO3w=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c",
         "wx" : "0d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7af",
         "wy" : "0d73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0VbgHjO+zt6PT7SulSHXUef463lcoAhX\n2y/Xr9c6RQ7GDmqSGKhDGHBofglolE9txf/rMORpO3w=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab",
@@ -2089,20 +2181,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE8pOoorSv8L7ZXGY7Nkr+aXeNON1+ejBP\nfTx05hff0J54A8RDmmwHXLV5zeZS0D91Wf9YhGMS+kw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c",
         "wx" : "0f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e6",
         "wy" : "17dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE8pOoorSv8L7ZXGY7Nkr+aXeNON1+ejBP\nfTx05hff0J54A8RDmmwHXLV5zeZS0D91Wf9YhGMS+kw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c",
@@ -2112,20 +2205,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE1N3wA7KYy6p9LtxYSyi0dKdhYu1LWw9i\nIsVDF9Tk/gMPF4+0qkptf2EmXs1+8TwxNga400GouVQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954",
         "wx" : "0d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317",
         "wy" : "0d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE1N3wA7KYy6p9LtxYSyi0dKdhYu1LWw9i\nIsVDF9Tk/gMPF4+0qkptf2EmXs1+8TwxNga400GouVQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8",
@@ -2135,20 +2229,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEilvwAo8ePraEHe57j4c/aLDFYOWS4xgg\ndPUc6JZowyIktltoSXE9NeOs8XhoYuZbWmZLR6CYyqA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0",
         "wx" : "08a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce8",
         "wy" : "09668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEilvwAo8ePraEHe57j4c/aLDFYOWS4xgg\ndPUc6JZowyIktltoSXE9NeOs8XhoYuZbWmZLR6CYyqA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e",
@@ -2158,20 +2253,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtT5WmxjpNhVn5XE+5p7L55SZEbAldUai\nTD3RN/KagzNM/xxE2MDDO22tuFaMAk+h+7aUzZ5wX1o=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a",
         "wx" : "0b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137",
         "wy" : "0f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtT5WmxjpNhVn5XE+5p7L55SZEbAldUai\nTD3RN/KagzNM/xxE2MDDO22tuFaMAk+h+7aUzZ5wX1o=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e",
@@ -2181,20 +2277,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEd/Pr9SclyAmsuxmt8JMSaio6BlymVMIg\nmcl4Ep8ZSNI8UVjsKt/0Vesv7fEHXU7CLWYJd0JKEPc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7",
         "wx" : "77f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c97812",
         "wy" : "09f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEd/Pr9SclyAmsuxmt8JMSaio6BlymVMIg\nmcl4Ep8ZSNI8UVjsKt/0Vesv7fEHXU7CLWYJd0JKEPc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -2204,20 +2301,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEp/e5nlzcb+yJKO/3c8zfO2ixnUPNtBgJ\n4Zxg8xc2t6DBKpwtcGZxkSkVFCs+Bcie861Je9bDRpk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699",
         "wx" : "0a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f3",
         "wy" : "1736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEp/e5nlzcb+yJKO/3c8zfO2ixnUPNtBgJ\n4Zxg8xc2t6DBKpwtcGZxkSkVFCs+Bcie861Je9bDRpk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101",
@@ -2225,7 +2323,7 @@
           "flags" : []
         },
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100",
@@ -2235,20 +2333,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEnPAAELSthmNvbMcPtYw7mVwNEuRvxY4k\nsNKPaSHIqKMgzEUMyxXr1xYX9O0l2000E/vfFX0x27Y=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6",
         "wx" : "09cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f69",
         "wy" : "21c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEnPAAELSthmNvbMcPtYw7mVwNEuRvxY4k\nsNKPaSHIqKMgzEUMyxXr1xYX9O0l2000E/vfFX0x27Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -2258,20 +2357,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEEFGOt6kmtfe2W+gB7Jsqv3atziXGFS5F\nKjUSyD8yK5q1fqg1KtKb65nvNWtxNDL8xK7zH5AwRdk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9",
         "wx" : "10518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c8",
         "wy" : "3f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEEFGOt6kmtfe2W+gB7Jsqv3atziXGFS5F\nKjUSyD8yK5q1fqg1KtKb65nvNWtxNDL8xK7zH5AwRdk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe",
@@ -2281,20 +2381,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEil3+3J3Ry5pDnIiz3UcrLmYXP3hmhV22\nu2wS/Tut+7ikxv2A5mUQlXknx4oqoC7O9igW0DVrScM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3",
         "wx" : "08a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd",
         "wy" : "3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEil3+3J3Ry5pDnIiz3UcrLmYXP3hmhV22\nu2wS/Tut+7ikxv2A5mUQlXknx4oqoC7O9igW0DVrScM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f",
@@ -2304,20 +2405,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEg6Wfw98pXoTCkLMtC1UKBvmUVvwimOSm\njE8r/xs09IPbMNs6UdgohzLBB9ixqFjNVMOTbhtcEaQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4",
         "wx" : "083a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff",
         "wy" : "1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEg6Wfw98pXoTCkLMtC1UKBvmUVvwimOSm\njE8r/xs09IPbMNs6UdgohzLBB9ixqFjNVMOTbhtcEaQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -2327,20 +2429,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEWLraV4ogXW4XByLI7Wx3FQEf4z1+uoae\n0dRIp1vkcwwdLS74geAvAookG319Ow0LSpwFZfy0mXc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977",
         "wx" : "58bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a7",
         "wy" : "5be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEWLraV4ogXW4XByLI7Wx3FQEf4z1+uoae\n0dRIp1vkcwwdLS74geAvAookG319Ow0LSpwFZfy0mXc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29",
@@ -2350,20 +2453,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEf8x5m5Gf6Xic4B3ZICcxy32BUVi8bLhG\nh2AkfA+dKVfg3V5MQBJL1eDdG+QcA4/OLNHcgU4K830=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d",
         "wx" : "7fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c",
         "wy" : "0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEf8x5m5Gf6Xic4B3ZICcxy32BUVi8bLhG\nh2AkfA+dKVfg3V5MQBJL1eDdG+QcA4/OLNHcgU4K830=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0093c8c651653430cb4f1675fc86b5e82ca04ff2ab1501674476aac169",
@@ -2373,20 +2477,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPd1o9p0L/UetGTcPo9xy6yWCaMK183aI\nUhUWdPvg4VXZTSNzoBpecPGhBSWee4sdL99Nujz0x4A=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780",
         "wx" : "3ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674",
         "wy" : "0fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPd1o9p0L/UetGTcPo9xy6yWCaMK183aI\nUhUWdPvg4VXZTSNzoBpecPGhBSWee4sdL99Nujz0x4A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009df50acc33b3625a2d5940dd13dbb97d1f7dd56afff8b7de7545127c",
@@ -2396,20 +2501,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEHLH1ZMKev2CjQrO8M8iUXLJ5xsGgEiVc\nh04cN7dRkas7K7cwkU6/oUCAQQlwtx6vT+AeLUi+mJE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891",
         "wx" : "1cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37",
         "wy" : "0b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEHLH1ZMKev2CjQrO8M8iUXLJ5xsGgEiVc\nh04cN7dRkas7K7cwkU6/oUCAQQlwtx6vT+AeLUi+mJE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00dce8c223f235699d1f5d2dcde4809d013390b59129f783239525c08f",
@@ -2419,20 +2525,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEROMJ62huevfx4swX/VZUKziRCzt5COpU\n+wONNkd+gp1MgzLlsp80StJ6IcGNqySjHOeYW2OiEwQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304",
         "wx" : "44e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36",
         "wy" : "477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEROMJ62huevfx4swX/VZUKziRCzt5COpU\n+wONNkd+gp1MgzLlsp80StJ6IcGNqySjHOeYW2OiEwQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c074aae944ee7a7d544a5ad0bd06366f872d2250ba3018a63d2a7f2e6",
@@ -2442,20 +2549,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExygGRULLUUL17v5jgSTc16GtCzVVhCpH\n3VEI4RASndh469RzEyds7Ib1IeqVhc0QWz3EIRQZk7g=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8",
         "wx" : "0c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e1",
         "wy" : "10129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExygGRULLUUL17v5jgSTc16GtCzVVhCpH\n3VEI4RASndh469RzEyds7Ib1IeqVhc0QWz3EIRQZk7g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00aae944ee7a7d544a5ad0bd0636d9455f4e83de0f186f89bca56b3c5c",
@@ -2465,20 +2573,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExGwa09PQ346cD1JcIc6Nge+dZil/RC1j\nCZZnIgz6IlOqMamNiWa4WWm/nIGcAZKS72pTrB2yoQg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108",
         "wx" : "0c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d6309966722",
         "wy" : "0cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExGwa09PQ346cD1JcIc6Nge+dZil/RC1j\nCZZnIgz6IlOqMamNiWa4WWm/nIGcAZKS72pTrB2yoQg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c55d289dcf4faa894b5a17a0c6db3741bbc4ecbe01d01ea33ee7a4e7b",
@@ -2488,20 +2597,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEt7LkjB5g4gkl9Nm2vmAN2DeGqTbJv6sA\nY5wzyqlny8ZQcHOaM3nagNVIQ6GNnBGimjIjSgswPBI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12",
         "wx" : "0b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33ca",
         "wy" : "0a967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEt7LkjB5g4gkl9Nm2vmAN2DeGqTbJv6sA\nY5wzyqlny8ZQcHOaM3nagNVIQ6GNnBGimjIjSgswPBI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4ee7a7d544a5ad0bd0636d9e12bc561ce04faaf1312bba3a15601ebc",
@@ -2511,20 +2621,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9KPUWYh1r38nQbvWexcztlQbxTJbO8tN\nMmfCfsML8yL1ikXGwqos7VXxddHL9yp8W/xGTXT2ZsA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0",
         "wx" : "0f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27e",
         "wy" : "0c30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9KPUWYh1r38nQbvWexcztlQbxTJbO8tN\nMmfCfsML8yL1ikXGwqos7VXxddHL9yp8W/xGTXT2ZsA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c361b9cd74d65e79a5874c501bca4973b20347ec97f6de10072d8b46a",
@@ -2534,20 +2645,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVtHlwdZk9s4vwfy5N6fOIxopSGq/Nsc/\nd6K9EWyygsnXxvwF85nBg+iA6jYu3wQ80o/6yflPIUE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141",
         "wx" : "56d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd11",
         "wy" : "6cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVtHlwdZk9s4vwfy5N6fOIxopSGq/Nsc/\nd6K9EWyygsnXxvwF85nBg+iA6jYu3wQ80o/6yflPIUE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c3739ae9acbcf34b0e98a0379492e764068fd92fedbc200e5b168d4",
@@ -2557,20 +2669,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMLzoxrfxu7oEC40SHYXVUWesmbLizxz6\nyLAYtfHDhMNb4K4wmly1WrqYI0PSEl8tSlWdjFRTWc0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd",
         "wx" : "30bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5",
         "wy" : "0f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMLzoxrfxu7oEC40SHYXVUWesmbLizxz6\nyLAYtfHDhMNb4K4wmly1WrqYI0PSEl8tSlWdjFRTWc0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a252d685e831b6cf095e4f0535edc5b1609d7c5c7e49a301588a1d3e",
@@ -2580,20 +2693,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6H5TipeM8YeQi+snpKJH1JaoQh2rH+ef\nh0TStVObn4/ovdz3yXxExVpPwi9NePapYUR6W2E7XEk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49",
         "wx" : "0e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5",
         "wy" : "539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6H5TipeM8YeQi+snpKJH1JaoQh2rH+ef\nh0TStVObn4/ovdz3yXxExVpPwi9NePapYUR6W2E7XEk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ee746111f91ab4ce8fae96e6f23fd9d20a24d2e79eea563478c0f566",
@@ -2603,20 +2717,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEETosxXyO594RvEXhRUbHKilyW5pyGBFK\nwx8CgWx2W5pGsCFTEqMpL1l5yY03s1iDuqFWKBsbrow=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c",
         "wx" : "113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f0281",
         "wy" : "6c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEETosxXyO594RvEXhRUbHKilyW5pyGBFK\nwx8CgWx2W5pGsCFTEqMpL1l5yY03s1iDuqFWKBsbrow=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be",
@@ -2626,20 +2741,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEI92cPxpLR4sB+ixemX0Eggc7MpGN5Evl\ng9z3StZhpe1Xmi8J0v9W1rgPJlaNk6I3ymREsMrceVE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951",
         "wx" : "23dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74a",
         "wy" : "0d661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEI92cPxpLR4sB+ixemX0Eggc7MpGN5Evl\ng9z3StZhpe1Xmi8J0v9W1rgPJlaNk6I3ymREsMrceVE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c",
@@ -2649,20 +2765,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEu85LF9RdJKHIC8jsqYw1nV4eRYBYoAuV\nBkMlbf4J4JIxjjkwPcoDaI5OzzADAHhDEtYX5QiMWEw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c",
         "wx" : "0bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256d",
         "wy" : "0fe09e092318e39303dca03688e4ecf300300784312d617e5088c584c"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEu85LF9RdJKHIC8jsqYw1nV4eRYBYoAuV\nBkMlbf4J4JIxjjkwPcoDaI5OzzADAHhDEtYX5QiMWEw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f",
@@ -2672,20 +2789,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA19YRGwb2+qlZmCol+v5ZfLRiCDHzQYw\n8EpJU0e9+upgCR9AXgmSnLLA4vbu1T4Icbf+DNWhXYU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85",
         "wx" : "35f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a4953",
         "wy" : "47bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA19YRGwb2+qlZmCol+v5ZfLRiCDHzQYw\n8EpJU0e9+upgCR9AXgmSnLLA4vbu1T4Icbf+DNWhXYU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd",
@@ -2695,20 +2813,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkRwAM+rEYzJpHLeSDElQ7tVzVHYeEIGh\n6p8SeVCOv3z9Pqtdq97hvhTOgpax/CCs+qwW94JMYAI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002",
         "wx" : "0911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279",
         "wy" : "508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkRwAM+rEYzJpHLeSDElQ7tVzVHYeEIGh\n6p8SeVCOv3z9Pqtdq97hvhTOgpax/CCs+qwW94JMYAI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e",
@@ -2718,20 +2837,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYrKrtwu5x+/ftXGB9DO2R1HxCBMNzhgN\naZLn0xJLOqilPl7t9yqmfm7cxx8Z425q0dCZpZ/9lVU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555",
         "wx" : "62b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3",
         "wy" : "124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYrKrtwu5x+/ftXGB9DO2R1HxCBMNzhgN\naZLn0xJLOqilPl7t9yqmfm7cxx8Z425q0dCZpZ/9lVU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc",
@@ -2741,20 +2861,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAED3WTMOeZJ1Kq5qhfe7BZl4S+pT4oj/fu\njVPV5t7+YXNiOA6S+aI8T9zDTglxOqucxEEZQY9vL9E=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1",
         "wx" : "0f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6",
         "wy" : "0defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAED3WTMOeZJ1Kq5qhfe7BZl4S+pT4oj/fu\njVPV5t7+YXNiOA6S+aI8T9zDTglxOqucxEEZQY9vL9E=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3",
@@ -2764,20 +2885,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjy7aQnQqsx9dTPZmiS0dYj79Oyb335qn\nApboDTvq8jXP6kH625jFM6j961hB1p7mX25xkUcR8Tg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138",
         "wx" : "08f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d",
         "wy" : "3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjy7aQnQqsx9dTPZmiS0dYj79Oyb335qn\nApboDTvq8jXP6kH625jFM6j961hB1p7mX25xkUcR8Tg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde",
@@ -2787,20 +2909,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEK89DcbMZppHtDi4MSlWoqbmH3shrhjYh\n6XucCVuGYKdMyWSmrwMR7caxzZgPnHvzpsm3+RMqCy8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f",
         "wx" : "2bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c09",
         "wy" : "5b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEK89DcbMZppHtDi4MSlWoqbmH3shrhjYh\n6XucCVuGYKdMyWSmrwMR7caxzZgPnHvzpsm3+RMqCy8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f",
@@ -2810,20 +2933,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpvJSVo9vvRrgReYCNENZwMIWkRcjdI+a\nPn+t7Dt278dboDC/594t7WhpkeYYPUAkGgW0eWk8cBU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015",
         "wx" : "0a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec",
         "wy" : "3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpvJSVo9vvRrgReYCNENZwMIWkRcjdI+a\nPn+t7Dt278dboDC/594t7WhpkeYYPUAkGgW0eWk8cBU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520",
@@ -2833,20 +2957,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEp0wcOjHH1JOrLAr4nPXmiGIcqUZtK6HY\ndhw/6Cug0I9Mn3aFbCtxOMjx54C2lZmSsWzN/ZJfSzo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a",
         "wx" : "0a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe8",
         "wy" : "2ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEp0wcOjHH1JOrLAr4nPXmiGIcqUZtK6HY\ndhw/6Cug0I9Mn3aFbCtxOMjx54C2lZmSsWzN/ZJfSzo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056",
@@ -2856,20 +2981,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA06nJ5glfzPyT2TElDj8Q+j2fdxxcP0S\nfixD8oBWKsybSfLX/MiUIdKl2y6o3QNh+0jYl9RhJic=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627",
         "wx" : "34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2",
         "wy" : "080562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA06nJ5glfzPyT2TElDj8Q+j2fdxxcP0S\nfixD8oBWKsybSfLX/MiUIdKl2y6o3QNh+0jYl9RhJic=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13",
@@ -2881,20 +3007,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA06nJ5glfzPyT2TElDj8Q+j2fdxxcP0S\nfixD8n+p1TNktg0oAzdr3i1aJNBXIvyeBLcnaCue2do=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da",
         "wx" : "34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2",
         "wy" : "7fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA06nJ5glfzPyT2TElDj8Q+j2fdxxcP0S\nfixD8n+p1TNktg0oAzdr3i1aJNBXIvyeBLcnaCue2do=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c3f552f1c2b01651edf5902650fe9ab046f71999ac928edc0087bdb13",
@@ -2906,20 +3033,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAENnK6lxjmDQDqtClcgZ6jZqd43W/WIfqW\nZSWctnrl6EfurqZ0vutjY3npaPeSZVAuQUodRE8Ernk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79",
         "wx" : "3672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb6",
         "wy" : "7ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAENnK6lxjmDQDqtClcgZ6jZqd43W/WIfqW\nZSWctnrl6EfurqZ0vutjY3npaPeSZVAuQUodRE8Ernk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
@@ -2929,21 +3057,22 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEM+7vv8dyKRNuVrV1FEhj7ZC0wPip4xWB\nbW3mSAUXSd0RSAwUH7WhlGMTFjwBQSZbaKJiFry5k2o=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a",
         "wx" : "33eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648",
         "wy" : "51749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEM+7vv8dyKRNuVrV1FEhj7ZC0wPip4xWB\nbW3mSAUXSd0RSAwUH7WhlGMTFjwBQSZbaKJiFry5k2o=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
-          "comment" : "extreme value for k",
+          "tcId" : 269,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
           "result" : "valid",
@@ -2952,21 +3081,142 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExSCxgAOzVglBR+4vnfEXhXK+2De9iUQ7\nJevOuA4uk6mY+7q+ghkupMhWUc8JqVqw3C49l17nvpg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f",
+        "wx" : "0bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd6",
+        "wy" : "1c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvaA7JLYiQ8YeKItuoemaKIb3AJROsbjw\nRmz/1hxxKjqqzmkzGYm3B+aejeOdfNGutl2XrRgAv38=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 270,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df",
+        "wx" : "7abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b",
+        "wy" : "792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEerugy/8TTdz1TQSEb5VLiCyp+u/f6BiJ\ni/s3i3kvELV5cK5Xu0+wHAiIaEiFWusZhNPW/LK0Et8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 271,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da",
+        "wx" : "0f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16",
+        "wy" : "234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9o2Z4oZTubo+fO2zt4Fl9aVPvpDUufiE\nl5d+FiNNo+qgF4pRtbDCCO8IGN9vZXh5PBrxeHAmuNo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 272,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1",
+        "wx" : "65d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f1093427",
+        "wy" : "2004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEBl2e8TPOgcLWtm6Sg2D5Un+PNrW63TW1\n8Qk0JyAEhSdV93RAoLCLnxZUicBpbotJgdbQSihbD9E=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6",
+        "wx" : "0d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e",
+        "wy" : "083904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE1s6glHLt5XTOHgVGyazQ4c2MupsSHfKe\nidUJLoOQTr+5AuphyYfcBQjgyaflY+Jgn+r3kUCrkdY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98",
         "wx" : "0c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb8",
         "wy" : "0e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExSCxgAOzVglBR+4vnfEXhXK+2De9iUQ7\nJevOuA4uk6mY+7q+ghkupMhWUc8JqVqw3C49l17nvpg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
-          "comment" : "extreme value for k",
+          "tcId" : 275,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
           "result" : "valid",
@@ -2975,20 +3225,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3",
+        "wx" : "09dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26c",
+        "wy" : "0a141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEndC5m7eoMLzH1Vq6xCkS1SWwY8UM83fK\nV3GibKFB/M8Hk8K6JGmpRsLU7SY0QFLGOm1+d5fOlsM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521",
+        "wx" : "3dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f",
+        "wy" : "47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEPaufGxnnFdF0pzYJIDddVpoYHwVeZvAT\nkYcbb0em2Hwjpbah49CpchMCzALM41813qCOImGb5SE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87",
+        "wx" : "56dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100",
+        "wy" : "0e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVt3huljqMQU7JTXGZiM0TCTHLSFK9b5p\nguiRAOdxCEgGFD6G8rMb2vYigPWzEdDSvbs4WyD8bIc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601",
+        "wx" : "094efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a612",
+        "wy" : "4414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElO/hOH/ARH19vLU3OaDk4N3sGB04LK6m\nRbGmEkQUprHHiQjQ+iBvjy3pUK1KFNHOlNnN2+MuRgE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59",
+        "wx" : "6286803b952976ee1897013695d3ef2cbb6f977142a042b236572577",
+        "wy" : "722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYoaAO5Updu4YlwE2ldPvLLtvl3FCoEKy\nNlcld3IqbOmtPj/SjkUYM0lsY7ircFOIdyFfIElCv1k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34",
+        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+        "wy" : "0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"
+      },
       "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIb03Y4i19yP7TCLf5s1DdaBaB0dkRNWBmYUAfjQ=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
-        "wy" : "0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"
-      },
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 281,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -2996,7 +3367,7 @@
           "flags" : []
         },
         {
-          "tcId" : 264,
+          "tcId" : 282,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -3006,20 +3377,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd",
+        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+        "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd"
+      },
       "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIULInHdKCNwEs90gGTK8il6l+Libuyp+Znr/gc0=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
-        "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd"
-      },
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 283,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -3027,7 +3399,7 @@
           "flags" : []
         },
         {
-          "tcId" : 266,
+          "tcId" : 284,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "303c021c44a5ad0bd0636d9e12bc9e0a6bdc74bfe082087ae8b61cbd54b8103f021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -3037,20 +3409,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
         "wx" : "4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466",
         "wy" : "0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 267,
+          "tcId" : 285,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc",
@@ -3058,7 +3431,7 @@
           "flags" : []
         },
         {
-          "tcId" : 268,
+          "tcId" : 286,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303e021d00b41091a5d3fbacfb8cf5633536cbe1d9fcf21e6d68cc9778490e058d021d00fb62cf967601d20f34f43cb138f57b7e0ba1f0b900faf0ea2bb1fc14",
@@ -3066,7 +3439,7 @@
           "flags" : []
         },
         {
-          "tcId" : 269,
+          "tcId" : 287,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00d0f1072fd6283d4d60ee043f6c78b6e3ca9c1cce4caaf9ae4874b2c9021c49e7aa1cc6e8c7833bd67a8880329b96ece3d4fda1c0fcaf53daadac",
@@ -3074,7 +3447,7 @@
           "flags" : []
         },
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d009124453ca4b811d8a50834a092ef6a32ce6db98e72a66a140fe33b9f021c20cd9182f7d9d42e1e67ea77b92190afaaa4ff664cfc684e0f384eb1",
@@ -3082,7 +3455,7 @@
           "flags" : []
         },
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303e021d00c8db428f70740b9a2769e50ef6c8897a58f2b805d3630556a23025e1021d00a1eaa6d5b7f44109f839a66ee6463f16c2ca7ca0fb20ea4eb992ac10",
@@ -3090,7 +3463,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303e021d00f3142ef7e66d0434c9d2db4187183504d7ab2692d5a8c92e4dc08883021d00b8f43460ff89694721da3d8dfa21d9cf09eccc4ec97ad8216719b3c4",
@@ -3098,7 +3471,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021c5b1c9ef283f70dbacae11eaa63f13e6b5a33dbcdb329c3ceeab98848021d00f70ebe657369f642c61d643bdf52d49b07a68d80279561958c3102d9",
@@ -3106,7 +3479,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00d4340200c221c443f6763120ecafca40a327dd6e40dae29641b11205021c3c9b65e174695e62117579f4ca5903044320e48d6ccec91446426325",
@@ -3114,7 +3487,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021c53df2654f17e3c002c7f464e9aff8c3dcaa1b8f0122c8a4b86e9c4e5021d00cae45907fa41b790c7e90f0669ae3e76ff0a3de0b585998e81df34c1",
@@ -3122,7 +3495,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021d00bea17b9096e2bc7e041cdef9ec91f42b827ee8c8228d65d9bf7a9711021c13e245afc9277f7e32714fd7b3d95872aa689b219ac0acf050c1d9ec",
@@ -3130,7 +3503,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00f4b68df62b9238363ccc1bbee00deb3fb2693f7894178e14eeac596a021c7f51c9451adacd2bcbc721f7df0643d7cd18a6b52064b507e1912f23",
@@ -3138,7 +3511,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021c6f66f0f4d6fe7620666bb98e24769a58af83693d42cd7769b3caeabf021d00818ad21034973894236d27a9bcd736eb9ac631caeb196ed4c97ce7f5",
@@ -3146,7 +3519,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c30d85a8bd9d7750d036da6cd2e8d590d23d54d60a07fb32e1c170402021c420de69e400c572c36ce3b35e40a4b47bedfbe3a7af58f8ceb4066ed",
@@ -3154,7 +3527,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00e01302d4273341f11ef9788ac1e525a45f2659d7a8a64885aec54ae1021c3a886ab91681c019476753253fdda416731aad946b91886214fe0650",
@@ -3162,7 +3535,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c3afd7abd885aae32de3ef49cb331155334bb4309e4eda73ac4aee400021c1d51e8a79b85335560dfb118a8f4cf16ee3641a782d3ee5e455a63b6",
@@ -3170,7 +3543,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021c07c73dae6b6f894bf1aeb340eaf06cbdf5556887aeed306ca87bb4a7021d00f0e98ce504608ac63b30b7d581a9ee44a5b439736a20661a0d0656a8",
@@ -3178,7 +3551,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021c3d8216344b7480e25230dd4608b7ca09a63ae352f9961c2a3088676f021d00e71d2d7e78aae7f826b1d30a06f89f8fbe8702e639d85cf15b3ecb06",
@@ -3186,7 +3559,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021c24e768c333808f0f0eb05b3ddf95d5530f8670334e742ff4ad783ef9021d00f4da768f939e12c7cecc90c45cfff173ea1fc4237290b17d2acbf8a9",
@@ -3194,7 +3567,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303d021d00b1d7988d9bcd4f7a7b643e391f5b37d9f56a6ca4ab81c9a5a2b72d14021c518da4c39db722cdae6d1a8f0268ded4e4522926b672b4bd14ef8564",
@@ -3202,7 +3575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "303c021c6374f85c920dace4b5828384b05696d0bd7cc0992f804a8059247538021c01b8f519efc35f104cc83be9280c44b4345cafcda02b944744a931c7",
@@ -3210,7 +3583,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579",
@@ -3218,7 +3591,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00bc9052305d076c009f0250d888d0fae950bbdf53e42fc5b35850d4c5021c400a143f82c3b045ce46742aca8a1af966cc4b04e10fe96090374d36",
@@ -3226,7 +3599,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c7a57cfac41911d334dde984ef64bacf978fb04c77ffe00892e611fad021c52a3f891c2877d433b6b5799ca6f774941370654e17811b2fc401974",
@@ -3234,7 +3607,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c2092d6e7a86055b119e1f6f97b21ac3789e78804d0e25ff2945ad240021c3099207c5088715cb79437724b84018459553e82e6a72e6791cc2b02",
@@ -3242,7 +3615,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303e021d0089b1dfa081bc9200d86bcf63c75e80fab8b8b11270768fa0ed07d45e021d008c2299775762dd15aefb1a18d9adac8dc756f4619e5fc3c526922100",
@@ -3250,7 +3623,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00b16307867551b63b168131371c2eb6e8fab7d1ecfec6fde744e0ec51021c2f3ad86ba61343dc7d33908f83feb28a5b63aba08e3e990bdd441ab1",
@@ -3258,7 +3631,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303e021d00b712f2b41da5c8265797d52b946fb79ecfe70544f83be0badbe4b71c021d00b02018a67a61d7df4d04aef55bafabd50e56840733b99b781185667f",
@@ -3266,7 +3639,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d008972a6fc414736cfc4a57704dc2d76857738366a4175acb71eb3aa59021c0bfdc4fd4b6d9e6afb62b9f5e41c8cbac2790dd9fa06a72df6e0d0d8",
@@ -3274,7 +3647,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303e021d00da7640586f3f0aae5fb1c3e32da59b3322c24d6303d1d006d50f74b5021d00c5462bf20238cdd4e534494629561aa111480d08b48557e69fc17f3e",
@@ -3282,7 +3655,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c05c302ce36d5b7ba053cc9c9c26095e887df0f7e190396e13e487905021c52cb970da954ac97f3c507399451dcf28a4d37871b66b46f99c58531",
@@ -3290,7 +3663,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6",
@@ -3298,7 +3671,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c0d81b5454f87f6000460dc7819b6fc712c042645340e0f4196f046e9021d00aa2efd27ccc7b942bcfebce7e735125227e2bdadcb943efa88f1f42e",
@@ -3306,7 +3679,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c09b59a8f079529fad06c514abaf356537f9bc2eedfefc595aace6c48021c721310942b44535e02f455015143fffe3dae9e5193a4ef1eeff94686",
@@ -3314,7 +3687,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021d0092f268abc43239955edad0766503714b4e156ec436df34b1da00b2c2021c580cab7733f22244b5c74ceae56e048b260c2d1e8b96b15997145ba4",
@@ -3322,7 +3695,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c514ef0e344b5cb8de93212d0493192437f86090ecc284dae54f74a60021c42e510fc18cd8c39113d4153dc2fc59dd2efaf22bd9330119458820a",
@@ -3330,7 +3703,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303e021d008a16dcf2e449678047e967a2c281c6500b6cdfddf631d784ff60fb68021d00b16ac240544d86b9b40e4baf4d53f1ee33fdf8161830ccad4d2f354e",
@@ -3338,7 +3711,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c6f84179e3ea956abbf31daebace7b443c7a0e9f9641fa8fe4f4f9be9021c39df090fbe36b37c2aab1cbd61d7a5138c4b709e70606bcf99ff16ae",
@@ -3346,7 +3719,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021d00c0f2d12d910cf6bc0c4d09443a6da8247649e1724f95bddd711e2f64021c766bf054f829d02db13c6aa8536e00e5e30e5313a868e0a7851fcdcc",
@@ -3354,7 +3727,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303e021d00ca3d5f3822b905db4786b88e0ca370555825971d1a4b7fcc37bb1ed0021d00a3c21935732cd227a4f592c91cdd2509c078984b38a37cf530338364",
@@ -3362,7 +3735,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021d00e1e6139431452e5cb96dc75677cbb3f1892b98e8fa2ba3f62ed8ea1a021c735daa1083e15eefad9357f76f83198448daffea42d34946d6c48b1f",
@@ -3372,20 +3745,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
         "wx" : "0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf",
         "wy" : "08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7",
@@ -3393,7 +3767,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab",
@@ -3401,7 +3775,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303d021d00ec919d4e283ccf1f71a9e3c0f781a36758d3f38b1b78a87a74288e80021c4c4663044a73c79bd88f0dc245ab1a32f89f06f40a704b31e9fabc51",
@@ -3411,20 +3785,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
         "wx" : "0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1",
         "wy" : "73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7",
@@ -3432,7 +3807,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193",
@@ -3440,7 +3815,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303c021c36245ef126b5b51e459f84eaaad5a495061f0471dc8c23f1c5f16282021c39e31d72a06ba8e14fcf95778e07bc16a2628e39449da8857d506edc",
@@ -3450,20 +3825,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
         "wx" : "26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000",
         "wy" : "0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96",
@@ -3471,7 +3847,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7",
@@ -3479,7 +3855,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "303e021d00ca7b7432ba41ff2112e1116fffde89bbd68f5ce67fe5513d16c8e6f7021d00e421b7599e0180798acc2006451603cda2db1d582741116e6033ce5f",
@@ -3489,20 +3865,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
         "wx" : "0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff",
         "wy" : "41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501",
@@ -3510,7 +3887,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4",
@@ -3518,7 +3895,7 @@
           "flags" : []
         },
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "303d021c0bf2d86ecaa8b56aca5e8f8ebcb45081d078a14555b75f5be8e9b132021d009a55b3ce4734849966b5034ccd9b19f76407ee0241c3f58e7b8fc89a",
@@ -3528,20 +3905,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
         "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
         "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50",
@@ -3549,7 +3927,7 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161",
@@ -3557,7 +3935,7 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4",
@@ -3567,20 +3945,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
         "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
         "wy" : "0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb",
@@ -3588,7 +3967,7 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004",
@@ -3596,7 +3975,7 @@
           "flags" : []
         },
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d",
@@ -3606,20 +3985,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
         "wx" : "0f7e4713d085112112c37cdf4601ff688da796016b71a727a",
         "wy" : "0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070",
@@ -3627,7 +4007,7 @@
           "flags" : []
         },
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838",
@@ -3635,7 +4015,7 @@
           "flags" : []
         },
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021c1b919ef93532292743bb2e1b7b4894fd847c6e5de52a08e1b0f2dcfb021d00c2d30d6b7594d8dbd261491ae1d58779505b075b64e5564dc97a418b",
@@ -3645,20 +4025,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
         "wx" : "0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725",
         "wy" : "086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f",
@@ -3666,7 +4047,7 @@
           "flags" : []
         },
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b",
@@ -3674,7 +4055,7 @@
           "flags" : []
         },
         {
-          "tcId" : 330,
+          "tcId" : 348,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303c021c00fda613aa67ca42673ad4309f3f0f05b2569f3dee63f4aa9cc54cf3021c1e5a64b68a37e5b201c918303dc7a40439aaeacf019c5892a8f6d0ce",
@@ -3684,20 +4065,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
         "wx" : "0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1",
         "wy" : "0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 331,
+          "tcId" : 349,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550cfa712bbf65937165a36f2c32dc9",
@@ -3705,7 +4087,7 @@
           "flags" : []
         },
         {
-          "tcId" : 332,
+          "tcId" : 350,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633",
@@ -3713,7 +4095,7 @@
           "flags" : []
         },
         {
-          "tcId" : 333,
+          "tcId" : 351,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303c021c6e54f941204d4639b863c98a65b7bee318d51ab1900a8f345eac6f07021c0da5054829214ecde5e10579b36a2fe6426c24b064ed77c38590f25c",
@@ -3723,20 +4105,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
         "wx" : "0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1",
         "wy" : "0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 334,
+          "tcId" : 352,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b",
@@ -3744,7 +4127,7 @@
           "flags" : []
         },
         {
-          "tcId" : 335,
+          "tcId" : 353,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55",
@@ -3752,7 +4135,7 @@
           "flags" : []
         },
         {
-          "tcId" : 336,
+          "tcId" : 354,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303c021c1526eb2f657ebea9af4ca184b975c02372c88e24e835f3f5774c0e12021c1f1ecce38ee52372cb201907794de17b6d6c1afa13c316c51cb07bc7",
diff --git a/src/third_party/wycheproof/ecdsa_secp224r1_sha256_test.txt b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt
similarity index 79%
rename from src/third_party/wycheproof/ecdsa_secp224r1_sha256_test.txt
rename to src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt
index 2868b6c..ef6ea56 100644
--- a/src/third_party/wycheproof/ecdsa_secp224r1_sha256_test.txt
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha256_test.txt
@@ -2,711 +2,927 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: ECDSA
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
 [key.wx = 0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7]
 [key.wy = 0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5]
 [sha = SHA-256]
 
+# tcId = 1
 # signature malleability
 msg = 313233343030
 result = valid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3c1bab8864e5e03a5011eeba8150bc
 
+# tcId = 2
 # random signature
 msg = 313233343030
 result = valid
-sig = 303d021c684caf7bdbcd579b1d8a17591e98630040e1bda6d6d5780af206a0b9021d00c006293694f152d326ba30011d95554d09189c7735b26068c5101c0d
+sig = 303c021c7eb66797b46c450a30227c9b4dcc6ce69e80155408a7e6e8ea84df2a021c3acce3958e78177cdebc75435081e8b0f6e41b0e957e98da3e272953
 
+# tcId = 3
 # random signature
 msg = 313233343030
 result = valid
-sig = 303e021d008f59422c1b4482269602cd7486aee41817a36c64d232fc411f3a1d09021d00d61e33aaaa743e2d10f55c302318c41d2236b2478a4f85fca09319fd
+sig = 303c021c08ca7e6b57f55e550a725234cba47224378a2b5d0039ad2297676605021c56de7c4732cbafbf1c4fc631cece056595eaf7fd200a737114744dc3
 
+# tcId = 4
 # random signature
 msg = 313233343030
 result = valid
-sig = 303e021d008c451662a222b7ed1d4e55744761bc47b8015e570e9b5390b56adf4e021d00acbe66d485b3c9cba373401f8e37fb4ff3c12bc6302cd7f8a6a65ebb
+sig = 303d021d00f5a0ee66158a3b627e53d578c48172378e58f84e01a3da8725009f41021c155b768199da7d0892709096ed7876badab210e89a6c975b6023204c
 
+# tcId = 5
 # random signature
 msg = 313233343030
 result = valid
-sig = 303e021d00d269d4150eb8ba7d590f35c6ad28e015d2f8cc4474c3b28d6d2c4af8021d00add458ae2267a4b3aba251104cc7b5d82c9aed339f4856b2e8397096
+sig = 303c021c1d5128dff235efabd38c884bc4b7e65df4910a2deaf7b2fd09ad0cba021c011b48fe6f91e7a550e0cd7bc16d2bcd85101e895608cb7bc1d38a12
 
+# tcId = 6
 # random signature
 msg = 313233343030
 result = valid
-sig = 303e021d00df70013e990003e109e47b31e517715cd40628fe461c690b5447abff021d00838b89938718900c0b572545d4c556f9c00e46b0da22ae3840cb03e6
+sig = 303c021c600fd806e689aaba04aa1276942a2c9bc5db1749970dc4588c04d1ae021c0c6d54975970a701678a2dd123de8352085d2b58bf0f5fe44c9547df
 
+# tcId = 7
 # valid
 msg = 313233343030
 result = valid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 8
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 30813c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 9
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 303d02811c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 10
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402811c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 11
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 3082003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 12
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 303e0282001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 13
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040282001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 14
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 15
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 16
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303c021d3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 17
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303c021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 18
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 19
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 20
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3085010000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 21
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30410285010000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 22
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285010000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 23
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 308901000000000000003c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 24
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3045028901000000000000001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 25
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3045021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04028901000000000000001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 26
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30847fffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 27
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 304002847fffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 28
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402847fffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 29
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3084ffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 30
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 30400284ffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 31
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040284ffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 32
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3085ffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 33
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 30410285ffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 34
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040285ffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 35
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3088ffffffffffffffff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 36
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 30440288ffffffffffffffff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 37
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040288ffffffffffffffff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 38
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30ff021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 39
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 303c02ff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 40
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402ff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 41
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 42
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 303c02803ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 43
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040280617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 44
 # removing sequence
 msg = 313233343030
 result = invalid
 sig = 
 
+# tcId = 45
+# lonely sequence tag
+msg = 313233343030
+result = invalid
+sig = 30
+
+# tcId = 46
 # appending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
 
+# tcId = 47
 # prepending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 303e0000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
-# appending unused 0's
+# tcId = 48
+# appending unused 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
 
-# appending unused 0's
-msg = 313233343030
-result = invalid
-sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
-
-# appending null value
+# tcId = 49
+# appending null value to sequence
 msg = 313233343030
 result = invalid
 sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500
 
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
-
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500
-
+# tcId = 50
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3041498177303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 51
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30402500303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 52
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef
 
+# tcId = 53
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30412221498177021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 54
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 304022202500021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 55
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3044221e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040004deadbeef021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 56
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3041021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042221498177021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 57
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0422202500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 58
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04221e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810004deadbeef
 
+# tcId = 59
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3044aa00bb00cd00303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 60
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3042aa02aabb303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 61
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30442224aa00bb00cd00021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 62
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30422222aa02aabb021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 63
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3044021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042224aa00bb00cd00021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 64
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 3042021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042222aa02aabb021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 65
+# truncated length of sequence
+msg = 313233343030
+result = invalid
+sig = 3081
+
+# tcId = 66
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
 
+# tcId = 67
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 30402280021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 68
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
 
+# tcId = 69
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3080313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
 
+# tcId = 70
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 30402280031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 71
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042280031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
 
+# tcId = 72
 # Replacing sequence with NULL
 msg = 313233343030
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 73
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2e3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
-# changing tag value
+# tcId = 74
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2f3c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
-# changing tag value
+# tcId = 75
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 313c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
-# changing tag value
+# tcId = 76
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 323c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
-# changing tag value
+# tcId = 77
+# changing tag value of sequence
 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
-
+# tcId = 78
 # dropping value of sequence
 msg = 313233343030
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 79
+# using composition forsequence
 msg = 313233343030
 result = invalid
 sig = 3040300102303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
-# using composition
-msg = 313233343030
-result = invalid
-sig = 3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
-
-# using composition
-msg = 313233343030
-result = invalid
-sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
-
+# tcId = 80
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9
 
+# tcId = 81
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 303b1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 82
 # indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 83
 # indefinite length with truncated delimiter
 msg = 313233343030
 result = invalid
 sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98100
 
+# tcId = 84
 # indefinite length with additional element
 msg = 313233343030
 result = invalid
 sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad98105000000
 
+# tcId = 85
 # indefinite length with truncated element
 msg = 313233343030
 result = invalid
 sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981060811220000
 
+# tcId = 86
 # indefinite length with garbage
 msg = 313233343030
 result = invalid
 sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000fe02beef
 
+# tcId = 87
 # indefinite length with nonempty EOC
 msg = 313233343030
 result = invalid
 sig = 3080021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810002beef
 
+# tcId = 88
 # prepend empty sequence
 msg = 313233343030
 result = invalid
 sig = 303e3000021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 89
 # append empty sequence
 msg = 313233343030
 result = invalid
 sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9813000
 
+# tcId = 90
 # sequence of sequence
 msg = 313233343030
 result = invalid
 sig = 303e303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 91
 # truncated sequence
 msg = 313233343030
 result = invalid
 sig = 301e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04
 
+# tcId = 92
 # repeat element in sequence
 msg = 313233343030
 result = invalid
 sig = 305a021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 93
 # removing integer
 msg = 313233343030
 result = invalid
 sig = 301e021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 94
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 301f02021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 95
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 301f021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a0402
+
+# tcId = 96
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 97
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810000
 
+# tcId = 98
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 303e021e00003ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 99
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e0000617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 100
+# appending unused 0's to integer
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040000021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 101
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 303e021e3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 102
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 303e021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021e617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9810500
+
+# tcId = 103
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 30200281021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 104
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040281
+
+# tcId = 105
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 30200500021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 106
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040500
 
+# tcId = 107
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c001c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 108
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c011c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 109
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c031c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 110
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c041c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 111
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303cff1c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 112
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04001c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 113
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04011c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 114
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04031c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 115
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04041c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 116
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04ff1c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 117
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 30200200021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 118
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 3020021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a040200
 
+# tcId = 119
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 3040222002013a021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 120
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 3040021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a042220020161021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 121
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 303c021c38de5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 122
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c637d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 123
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a84021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 124
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad901
 
+# tcId = 125
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 303b021b3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 126
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 303b021bde5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 127
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad9
 
+# tcId = 128
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 303b021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021b7d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 129
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 303d021dff3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 130
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 131
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3021090180021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 132
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04090180
 
+# tcId = 133
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3021020100021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
+
+# tcId = 134
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3021021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04020100
+
+# tcId = 135
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021d013ade5c0624a5677ed7b6450d941fd283098d8a004fc718e2e7e6b441021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 136
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021dff3ade5c0624a5677ed7b6450d9421a53d481ba984280cc6582f2e5fc7021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 137
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303c021cc521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 138
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021d00c521a3f9db5a98812849baf26bde5ac2b7e4567bd7f339a7d0d1a039021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 139
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021dfec521a3f9db5a98812849baf26be02d7cf67275ffb038e71d18194bbf021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 140
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021d013ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 141
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021d00c521a3f9db5a98812849baf26bdf441fd72b663dc4161062747575fc021c617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 142
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2119a390cfa9bed6a409bfe3703be
 
+# tcId = 143
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dff617d6af141efd0c800c9ba3382c3e454779b1a1fc5afee11457eaf44
 
+# tcId = 144
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303c021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021c9e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f
 
+# tcId = 145
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021dfe9e82950ebe102f37ff3645cc7d3dee65c6f305641295bf6401c8fc42
 
+# tcId = 146
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d01617d6af141efd0c800c9ba3382c2faf758540a5dd98d1756a1dad981
 
+# tcId = 147
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 303d021c3ade5c0624a5677ed7b6450d9420bbe028d499c23be9ef9d8b8a8a04021d009e82950ebe102f37ff3645cc7d3d0508a7abf5a22672e8a95e25267f
 
+# tcId = 148
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -714,6 +930,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 149
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -721,6 +938,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 150
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -728,6 +946,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 151
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -735,6 +954,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 152
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -742,6 +962,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 153
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -749,6 +970,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 154
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -756,6 +978,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 155
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -763,6 +986,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 156
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -770,6 +994,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 157
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -777,6 +1002,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 158
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -784,6 +1010,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 159
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -791,6 +1018,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 160
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -798,6 +1026,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 161
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -805,6 +1034,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 162
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -812,6 +1042,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 163
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -819,6 +1050,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 164
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -826,6 +1058,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 165
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -833,6 +1066,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 166
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -840,6 +1074,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 167
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -847,6 +1082,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 168
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -854,6 +1090,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 169
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -861,6 +1098,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 170
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -868,6 +1106,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 171
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -875,6 +1114,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 172
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -882,6 +1122,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 173
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -889,6 +1130,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 174
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -896,6 +1138,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 175
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -903,6 +1146,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 176
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -910,6 +1154,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 177
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -917,6 +1162,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 178
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -924,6 +1170,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 179
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -931,6 +1178,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 180
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -938,6 +1186,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 181
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -945,6 +1194,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 182
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -952,6 +1202,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 183
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -959,6 +1210,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 184
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -966,6 +1218,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 185
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -973,6 +1226,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 186
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -980,6 +1234,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 187
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -987,6 +1242,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 188
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -994,6 +1250,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 189
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1001,6 +1258,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 190
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1008,6 +1266,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 191
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1015,6 +1274,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 192
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1022,6 +1282,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 193
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1029,6 +1290,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 194
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1036,6 +1298,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 195
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1043,6 +1306,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 196
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1050,6 +1314,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 197
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1057,6 +1322,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 198
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1064,6 +1330,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 199
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1071,6 +1338,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 200
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1078,6 +1346,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 201
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1085,6 +1354,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 202
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1092,6 +1362,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 203
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1099,6 +1370,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 204
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1106,6 +1378,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 205
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1113,6 +1386,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 206
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1120,6 +1394,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 207
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1127,6 +1402,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 208
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1134,6 +1410,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 209
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1141,6 +1418,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 210
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1148,6 +1426,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 211
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1155,6 +1434,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 212
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1162,6 +1442,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 213
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1169,6 +1450,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 214
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1176,6 +1458,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 215
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1183,6 +1466,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 216
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1190,6 +1474,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 217
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1197,6 +1482,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 218
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1204,6 +1490,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 219
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1211,6 +1498,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 220
 # Edge case for Shamir multiplication
 msg = 3839313737
 result = valid
@@ -1219,16 +1507,19 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]
 [key.wx = 093b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2]
 [key.wy = 482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000493b4c28f032d00f80e77491edc158359909ee9e30a7327b74219e5e2482c19ae35cb28afc9b95ca1ed7ad91c812d5fcceb4beddbf1a16d92]
 [sha = SHA-256]
 
+# tcId = 221
 # k*G has a large x-coordinate
 msg = 313233343030
 result = valid
 sig = 3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a
 
+# tcId = 222
 # r too large
 msg = 313233343030
 result = invalid
@@ -1237,11 +1528,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]
 [key.wx = 0da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789]
 [key.wy = 0ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004da927f4ba88b639bf5334221d2f54d8ef9ccc1a1125fad18c7bfb789ac51ae53de6d834a9db3947b8dd4c6ac2b084b85496bfa72d86b6948]
 [sha = SHA-256]
 
+# tcId = 223
 # r,s are large
 msg = 313233343030
 result = valid
@@ -1250,11 +1543,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]
 [key.wx = 20888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fc]
 [key.wy = 0de00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000420888e1c0f5694c4c0363b36482beb6e1e6649b3d3b26f127febb6fcde00c2f3d8e4a7e8a0bafd417c96d3e81c975946a2f3686aa39d35f1]
 [sha = SHA-256]
 
+# tcId = 224
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1263,11 +1558,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]
 [key.wx = 09545c86f032c5df255a4490bb0b83eca201181792ad74246874db229]
 [key.wy = 405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00049545c86f032c5df255a4490bb0b83eca201181792ad74246874db229405264c283063327b70f4c2be5ab4d2e9407b866e121d6145d124c04]
 [sha = SHA-256]
 
+# tcId = 225
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1276,11 +1573,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]
 [key.wx = 579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8]
 [key.wy = 0df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004579d53f39d5109bd440e3e3e7efd603740963348ff9c72c03b0fe6b8df02f133ecd60b072a0812adc752708f2be9d8c9ad5953d8c7bf3965]
 [sha = SHA-256]
 
+# tcId = 226
 # small r and s
 msg = 313233343030
 result = valid
@@ -1289,11 +1588,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]
 [key.wx = 0d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628]
 [key.wy = 0acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d2a14c8106d89f3536faebdafcd4680f65ab4bf2243164ca1464b628acaf2bee52e6231d3c980f52f8e189a41c3e3a05e591195ec864217a]
 [sha = SHA-256]
 
+# tcId = 227
 # small r and s
 msg = 313233343030
 result = valid
@@ -1302,16 +1603,19 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]
 [key.wx = 0e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4]
 [key.wy = 326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e892479153ad13ea5ca45d4c323ebf1fc3cd0cdf787c34306a3f79a4326ca9645f2b517608dc1f08b7a84cfc61e6ff68d14f27d2043c7ef5]
 [sha = SHA-256]
 
+# tcId = 228
 # small r and s
 msg = 313233343030
 result = valid
 sig = 3006020103020104
 
+# tcId = 229
 # r is larger than n
 msg = 313233343030
 result = invalid
@@ -1320,11 +1624,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]
 [key.wx = 2b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103a]
 [key.wy = 0d465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00042b0eac35c0b294f6d435dcaffa8633b0123005465c30080adbcc103ad465a63bfb71d4aee09328697fe1088753646d8369b8dc103217c219]
 [sha = SHA-256]
 
+# tcId = 230
 # s is larger than n
 msg = 313233343030
 result = invalid
@@ -1333,11 +1639,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]
 [key.wx = 0d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7af]
 [key.wy = 0d73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d156e01e33becede8f4fb4ae9521d751e7f8eb795ca00857db2fd7afd73a450ec60e6a9218a8431870687e0968944f6dc5ffeb30e4693b7c]
 [sha = SHA-256]
 
+# tcId = 231
 # small r and s^-1
 msg = 313233343030
 result = valid
@@ -1346,11 +1654,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]
 [key.wx = 0f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e6]
 [key.wy = 17dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f293a8a2b4aff0bed95c663b364afe69778d38dd7e7a304f7d3c74e617dfd09e7803c4439a6c075cb579cde652d03f7559ff58846312fa4c]
 [sha = SHA-256]
 
+# tcId = 232
 # smallish r and s^-1
 msg = 313233343030
 result = valid
@@ -1359,11 +1669,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]
 [key.wx = 0d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317]
 [key.wy = 0d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d4ddf003b298cbaa7d2edc584b28b474a76162ed4b5b0f6222c54317d4e4fe030f178fb4aa4a6d7f61265ecd7ef13c313606b8d341a8b954]
 [sha = SHA-256]
 
+# tcId = 233
 # 100-bit r and small s^-1
 msg = 313233343030
 result = valid
@@ -1372,11 +1684,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]
 [key.wx = 08a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce8]
 [key.wy = 09668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5bf0028f1e3eb6841dee7b8f873f68b0c560e592e3182074f51ce89668c32224b65b6849713d35e3acf1786862e65b5a664b47a098caa0]
 [sha = SHA-256]
 
+# tcId = 234
 # small r and 100 bit s^-1
 msg = 313233343030
 result = valid
@@ -1385,11 +1699,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]
 [key.wx = 0b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137]
 [key.wy = 0f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b53e569b18e9361567e5713ee69ecbe7949911b0257546a24c3dd137f29a83334cff1c44d8c0c33b6dadb8568c024fa1fbb694cd9e705f5a]
 [sha = SHA-256]
 
+# tcId = 235
 # 100-bit r and s^-1
 msg = 313233343030
 result = valid
@@ -1398,11 +1714,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]
 [key.wx = 77f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c97812]
 [key.wy = 09f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000477f3ebf52725c809acbb19adf093126a2a3a065ca654c22099c978129f1948d23c5158ec2adff455eb2fedf1075d4ec22d660977424a10f7]
 [sha = SHA-256]
 
+# tcId = 236
 # r and s^-1 are close to n
 msg = 313233343030
 result = valid
@@ -1411,16 +1729,19 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]
 [key.wx = 0a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f3]
 [key.wy = 1736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a7f7b99e5cdc6fec8928eff773ccdf3b68b19d43cdb41809e19c60f31736b7a0c12a9c2d706671912915142b3e05c89ef3ad497bd6c34699]
 [sha = SHA-256]
 
+# tcId = 237
 # s == 1
 msg = 313233343030
 result = valid
 sig = 3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101
 
+# tcId = 238
 # s == 0
 msg = 313233343030
 result = invalid
@@ -1429,11 +1750,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]
 [key.wx = 09cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f69]
 [key.wy = 21c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00049cf00010b4ad86636f6cc70fb58c3b995c0d12e46fc58e24b0d28f6921c8a8a320cc450ccb15ebd71617f4ed25db4d3413fbdf157d31dbb6]
 [sha = SHA-256]
 
+# tcId = 239
 # point at infinity during verify
 msg = 313233343030
 result = invalid
@@ -1442,11 +1765,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]
 [key.wx = 10518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c8]
 [key.wy = 3f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000410518eb7a926b5f7b65be801ec9b2abf76adce25c6152e452a3512c83f322b9ab57ea8352ad29beb99ef356b713432fcc4aef31f903045d9]
 [sha = SHA-256]
 
+# tcId = 240
 # u1 == 1
 msg = 313233343030
 result = valid
@@ -1455,11 +1780,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]
 [key.wx = 08a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd]
 [key.wy = 3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00048a5dfedc9dd1cb9a439c88b3dd472b2e66173f7866855db6bb6c12fd3badfbb8a4c6fd80e66510957927c78a2aa02ecef62816d0356b49c3]
 [sha = SHA-256]
 
+# tcId = 241
 # u1 == n - 1
 msg = 313233343030
 result = valid
@@ -1468,11 +1795,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]
 [key.wx = 083a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff]
 [key.wy = 1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000483a59fc3df295e84c290b32d0b550a06f99456fc2298e4a68c4f2bff1b34f483db30db3a51d8288732c107d8b1a858cd54c3936e1b5c11a4]
 [sha = SHA-256]
 
+# tcId = 242
 # u2 == 1
 msg = 313233343030
 result = valid
@@ -1481,11 +1810,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]
 [key.wx = 58bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a7]
 [key.wy = 5be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000458bada578a205d6e170722c8ed6c7715011fe33d7eba869ed1d448a75be4730c1d2d2ef881e02f028a241b7d7d3b0d0b4a9c0565fcb49977]
 [sha = SHA-256]
 
+# tcId = 243
 # u2 == n - 1
 msg = 313233343030
 result = valid
@@ -1494,11 +1825,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]
 [key.wx = 7fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c]
 [key.wy = 0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00047fcc799b919fe9789ce01dd9202731cb7d815158bc6cb8468760247c0f9d2957e0dd5e4c40124bd5e0dd1be41c038fce2cd1dc814e0af37d]
 [sha = SHA-256]
 
+# tcId = 244
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1507,11 +1840,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]
 [key.wx = 3ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674]
 [key.wy = 0fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00043ddd68f69d0bfd47ad19370fa3dc72eb258268c2b5f3768852151674fbe0e155d94d2373a01a5e70f1a105259e7b8b1d2fdf4dba3cf4c780]
 [sha = SHA-256]
 
+# tcId = 245
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1520,11 +1855,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]
 [key.wx = 1cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37]
 [key.wy = 0b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00041cb1f564c29ebf60a342b3bc33c8945cb279c6c1a012255c874e1c37b75191ab3b2bb730914ebfa14080410970b71eaf4fe01e2d48be9891]
 [sha = SHA-256]
 
+# tcId = 246
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1533,11 +1870,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]
 [key.wx = 44e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36]
 [key.wy = 477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000444e309eb686e7af7f1e2cc17fd56542b38910b3b7908ea54fb038d36477e829d4c8332e5b29f344ad27a21c18dab24a31ce7985b63a21304]
 [sha = SHA-256]
 
+# tcId = 247
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1546,11 +1885,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]
 [key.wx = 0c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e1]
 [key.wy = 10129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c728064542cb5142f5eefe638124dcd7a1ad0b3555842a47dd5108e110129dd878ebd47313276cec86f521ea9585cd105b3dc421141993b8]
 [sha = SHA-256]
 
+# tcId = 248
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1559,11 +1900,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]
 [key.wx = 0c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d6309966722]
 [key.wy = 0cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c46c1ad3d3d0df8e9c0f525c21ce8d81ef9d66297f442d63099667220cfa2253aa31a98d8966b85969bf9c819c019292ef6a53ac1db2a108]
 [sha = SHA-256]
 
+# tcId = 249
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1572,11 +1915,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]
 [key.wx = 0b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33ca]
 [key.wy = 0a967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b7b2e48c1e60e20925f4d9b6be600dd83786a936c9bfab00639c33caa967cbc65070739a3379da80d54843a18d9c11a29a32234a0b303c12]
 [sha = SHA-256]
 
+# tcId = 250
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1585,11 +1930,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]
 [key.wx = 0f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27e]
 [key.wy = 0c30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f4a3d4598875af7f2741bbd67b1733b6541bc5325b3bcb4d3267c27ec30bf322f58a45c6c2aa2ced55f175d1cbf72a7c5bfc464d74f666c0]
 [sha = SHA-256]
 
+# tcId = 251
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1598,11 +1945,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]
 [key.wx = 56d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd11]
 [key.wy = 6cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000456d1e5c1d664f6ce2fc1fcb937a7ce231a29486abf36c73f77a2bd116cb282c9d7c6fc05f399c183e880ea362edf043cd28ffac9f94f2141]
 [sha = SHA-256]
 
+# tcId = 252
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1611,11 +1960,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]
 [key.wx = 30bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5]
 [key.wy = 0f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000430bce8c6b7f1bbba040b8d121d85d55167ac99b2e2cf1cfac8b018b5f1c384c35be0ae309a5cb55aba982343d2125f2d4a559d8c545359cd]
 [sha = SHA-256]
 
+# tcId = 253
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1624,11 +1975,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]
 [key.wx = 0e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5]
 [key.wy = 539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004e87e538a978cf187908beb27a4a247d496a8421dab1fe79f8744d2b5539b9f8fe8bddcf7c97c44c55a4fc22f4d78f6a961447a5b613b5c49]
 [sha = SHA-256]
 
+# tcId = 254
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1637,11 +1990,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]
 [key.wx = 113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f0281]
 [key.wy = 6c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004113a2cc57c8ee7de11bc45e14546c72a29725b9a7218114ac31f02816c765b9a46b0215312a3292f5979c98d37b35883baa156281b1bae8c]
 [sha = SHA-256]
 
+# tcId = 255
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1650,11 +2005,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]
 [key.wx = 23dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74a]
 [key.wy = 0d661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000423dd9c3f1a4b478b01fa2c5e997d0482073b32918de44be583dcf74ad661a5ed579a2f09d2ff56d6b80f26568d93a237ca6444b0cadc7951]
 [sha = SHA-256]
 
+# tcId = 256
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1663,11 +2020,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]
 [key.wx = 0bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256d]
 [key.wy = 0fe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bbce4b17d45d24a1c80bc8eca98c359d5e1e458058a00b950643256dfe09e092318e39303dca03688e4ecf300300784312d617e5088c584c]
 [sha = SHA-256]
 
+# tcId = 257
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1676,11 +2035,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]
 [key.wx = 35f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a4953]
 [key.wy = 47bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004035f58446c1bdbeaa56660a897ebf965f2d18820c7cd0630f04a495347bdfaea60091f405e09929cb2c0e2f6eed53e0871b7fe0cd5a15d85]
 [sha = SHA-256]
 
+# tcId = 258
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1689,11 +2050,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]
 [key.wx = 0911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279]
 [key.wy = 508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004911c0033eac46332691cb7920c4950eed57354761e1081a1ea9f1279508ebf7cfd3eab5dabdee1be14ce8296b1fc20acfaac16f7824c6002]
 [sha = SHA-256]
 
+# tcId = 259
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1702,11 +2065,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]
 [key.wx = 62b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3]
 [key.wy = 124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000462b2abb70bb9c7efdfb57181f433b64751f108130dce180d6992e7d3124b3aa8a53e5eedf72aa67e6edcc71f19e36e6ad1d099a59ffd9555]
 [sha = SHA-256]
 
+# tcId = 260
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1715,11 +2080,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]
 [key.wx = 0f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6]
 [key.wy = 0defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00040f759330e7992752aae6a85f7bb0599784bea53e288ff7ee8d53d5e6defe617362380e92f9a23c4fdcc34e09713aab9cc44119418f6f2fd1]
 [sha = SHA-256]
 
+# tcId = 261
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1728,11 +2095,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]
 [key.wx = 08f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d]
 [key.wy = 3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00048f2eda42742ab31f5d4cf666892d1d623efd3b26f7df9aa70296e80d3beaf235cfea41fadb98c533a8fdeb5841d69ee65f6e71914711f138]
 [sha = SHA-256]
 
+# tcId = 262
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1741,11 +2110,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]
 [key.wx = 2bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c09]
 [key.wy = 5b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00042bcf4371b319a691ed0e2e0c4a55a8a9b987dec86b863621e97b9c095b8660a74cc964a6af0311edc6b1cd980f9c7bf3a6c9b7f9132a0b2f]
 [sha = SHA-256]
 
+# tcId = 263
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1754,11 +2125,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]
 [key.wx = 0a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec]
 [key.wy = 3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a6f252568f6fbd1ae045e602344359c0c216911723748f9a3e7fadec3b76efc75ba030bfe7de2ded686991e6183d40241a05b479693c7015]
 [sha = SHA-256]
 
+# tcId = 264
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1767,11 +2140,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]
 [key.wx = 0a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe8]
 [key.wy = 2ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004a74c1c3a31c7d493ab2c0af89cf5e688621ca9466d2ba1d8761c3fe82ba0d08f4c9f76856c2b7138c8f1e780b6959992b16ccdfd925f4b3a]
 [sha = SHA-256]
 
+# tcId = 265
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1780,11 +2155,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]
 [key.wx = 34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]
 [key.wy = 080562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f280562acc9b49f2d7fcc89421d2a5db2ea8dd0361fb48d897d4612627]
 [sha = SHA-256]
 
+# tcId = 266
 # point duplication during verification
 msg = 313233343030
 result = valid
@@ -1796,11 +2173,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]
 [key.wx = 34ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f2]
 [key.wy = 7fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004034ea72798257f33f24f64c49438fc43e8f67ddc7170fd127e2c43f27fa9d53364b60d2803376bde2d5a24d05722fc9e04b727682b9ed9da]
 [sha = SHA-256]
 
+# tcId = 267
 # duplication bug
 msg = 313233343030
 result = invalid
@@ -1812,11 +2191,13 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]
 [key.wx = 3672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb6]
 [key.wy = 7ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00043672ba9718e60d00eab4295c819ea366a778dd6fd621fa9665259cb67ae5e847eeaea674beeb636379e968f79265502e414a1d444f04ae79]
 [sha = SHA-256]
 
+# tcId = 268
 # comparison with point at infinity 
 msg = 313233343030
 result = invalid
@@ -1825,12 +2206,14 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]
 [key.wx = 33eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648]
 [key.wy = 51749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000433eeefbfc77229136e56b575144863ed90b4c0f8a9e315816d6de648051749dd11480c141fb5a1946313163c0141265b68a26216bcb9936a]
 [sha = SHA-256]
 
-# extreme value for k
+# tcId = 269
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
@@ -1838,12 +2221,89 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]
+[key.wx = 0bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd6]
+[key.wy = 1c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bda03b24b62243c61e288b6ea1e99a2886f700944eb1b8f0466cffd61c712a3aaace69331989b707e69e8de39d7cd1aeb65d97ad1800bf7f]
+[sha = SHA-256]
+
+# tcId = 270
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]
+[key.wx = 7abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b]
+[key.wy = 792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00047abba0cbff134ddcf54d04846f954b882ca9faefdfe818898bfb378b792f10b57970ae57bb4fb01c08886848855aeb1984d3d6fcb2b412df]
+[sha = SHA-256]
+
+# tcId = 271
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]
+[key.wx = 0f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16]
+[key.wy = 234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004f68d99e28653b9ba3e7cedb3b78165f5a54fbe90d4b9f88497977e16234da3eaa0178a51b5b0c208ef0818df6f6578793c1af1787026b8da]
+[sha = SHA-256]
+
+# tcId = 272
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]
+[key.wx = 65d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f1093427]
+[key.wy = 2004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004065d9ef133ce81c2d6b66e928360f9527f8f36b5badd35b5f10934272004852755f77440a0b08b9f165489c0696e8b4981d6d04a285b0fd1]
+[sha = SHA-256]
+
+# tcId = 273
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]
+[key.wx = 0d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e]
+[key.wy = 083904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a0004d6cea09472ede574ce1e0546c9acd0e1cd8cba9b121df29e89d5092e83904ebfb902ea61c987dc0508e0c9a7e563e2609feaf79140ab91d6]
+[sha = SHA-256]
+
+# tcId = 274
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]
 [key.wx = 0c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb8]
 [key.wy = 0e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004c520b18003b356094147ee2f9df1178572bed837bd89443b25ebceb80e2e93a998fbbabe82192ea4c85651cf09a95ab0dc2e3d975ee7be98]
 [sha = SHA-256]
 
-# extreme value for k
+# tcId = 275
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14
@@ -1851,16 +2311,94 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]
+[key.wx = 09dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26c]
+[key.wy = 0a141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00049dd0b99bb7a830bcc7d55abac42912d525b063c50cf377ca5771a26ca141fccf0793c2ba2469a946c2d4ed26344052c63a6d7e7797ce96c3]
+[sha = SHA-256]
+
+# tcId = 276
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]
+[key.wx = 3dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f]
+[key.wy = 47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00043dab9f1b19e715d174a7360920375d569a181f055e66f01391871b6f47a6d87c23a5b6a1e3d0a9721302cc02cce35f35dea08e22619be521]
+[sha = SHA-256]
+
+# tcId = 277
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 0456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]
+[key.wx = 56dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100]
+[key.wy = 0e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000456dde1ba58ea31053b2535c66623344c24c72d214af5be6982e89100e771084806143e86f2b31bdaf62280f5b311d0d2bdbb385b20fc6c87]
+[sha = SHA-256]
+
+# tcId = 278
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 0494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]
+[key.wx = 094efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a612]
+[key.wy = 4414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a000494efe1387fc0447d7dbcb53739a0e4e0ddec181d382caea645b1a6124414a6b1c78908d0fa206f8f2de950ad4a14d1ce94d9cddbe32e4601]
+[sha = SHA-256]
+
+# tcId = 279
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]
+[key.wx = 6286803b952976ee1897013695d3ef2cbb6f977142a042b236572577]
+[key.wy = 722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]
+[keyDer = 304e301006072a8648ce3d020106052b81040021033a00046286803b952976ee1897013695d3ef2cbb6f977142a042b236572577722a6ce9ad3e3fd28e451833496c63b8ab70538877215f204942bf59]
+[sha = SHA-256]
+
+# tcId = 280
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057
+
+[key.curve = secp224r1]
+[key.keySize = 224]
+[key.type = ECPublicKey]
+[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
 [key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]
 [key.wy = 0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34]
 [sha = SHA-256]
 
+# tcId = 281
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851
 
+# tcId = 282
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1869,16 +2407,19 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
 [key.wx = 0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21]
 [key.wy = 42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd]
 [sha = SHA-256]
 
+# tcId = 283
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 303d021d00bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419fe021c249249249249249249249249249227ce201a6b76951f982e7ae89851
 
+# tcId = 284
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1887,206 +2428,247 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
 [key.wx = 4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466]
 [key.wy = 0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176]
 [sha = SHA-256]
 
+# tcId = 285
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc
 
+# tcId = 286
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303e021d00b41091a5d3fbacfb8cf5633536cbe1d9fcf21e6d68cc9778490e058d021d00fb62cf967601d20f34f43cb138f57b7e0ba1f0b900faf0ea2bb1fc14
 
+# tcId = 287
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d00d0f1072fd6283d4d60ee043f6c78b6e3ca9c1cce4caaf9ae4874b2c9021c49e7aa1cc6e8c7833bd67a8880329b96ece3d4fda1c0fcaf53daadac
 
+# tcId = 288
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d009124453ca4b811d8a50834a092ef6a32ce6db98e72a66a140fe33b9f021c20cd9182f7d9d42e1e67ea77b92190afaaa4ff664cfc684e0f384eb1
 
+# tcId = 289
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303e021d00c8db428f70740b9a2769e50ef6c8897a58f2b805d3630556a23025e1021d00a1eaa6d5b7f44109f839a66ee6463f16c2ca7ca0fb20ea4eb992ac10
 
+# tcId = 290
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303e021d00f3142ef7e66d0434c9d2db4187183504d7ab2692d5a8c92e4dc08883021d00b8f43460ff89694721da3d8dfa21d9cf09eccc4ec97ad8216719b3c4
 
+# tcId = 291
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021c5b1c9ef283f70dbacae11eaa63f13e6b5a33dbcdb329c3ceeab98848021d00f70ebe657369f642c61d643bdf52d49b07a68d80279561958c3102d9
 
+# tcId = 292
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d00d4340200c221c443f6763120ecafca40a327dd6e40dae29641b11205021c3c9b65e174695e62117579f4ca5903044320e48d6ccec91446426325
 
+# tcId = 293
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021c53df2654f17e3c002c7f464e9aff8c3dcaa1b8f0122c8a4b86e9c4e5021d00cae45907fa41b790c7e90f0669ae3e76ff0a3de0b585998e81df34c1
 
+# tcId = 294
 # pseudorandom signature
 msg = 
 result = valid
 sig = 303d021d00bea17b9096e2bc7e041cdef9ec91f42b827ee8c8228d65d9bf7a9711021c13e245afc9277f7e32714fd7b3d95872aa689b219ac0acf050c1d9ec
 
+# tcId = 295
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021d00f4b68df62b9238363ccc1bbee00deb3fb2693f7894178e14eeac596a021c7f51c9451adacd2bcbc721f7df0643d7cd18a6b52064b507e1912f23
 
+# tcId = 296
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021c6f66f0f4d6fe7620666bb98e24769a58af83693d42cd7769b3caeabf021d00818ad21034973894236d27a9bcd736eb9ac631caeb196ed4c97ce7f5
 
+# tcId = 297
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303c021c30d85a8bd9d7750d036da6cd2e8d590d23d54d60a07fb32e1c170402021c420de69e400c572c36ce3b35e40a4b47bedfbe3a7af58f8ceb4066ed
 
+# tcId = 298
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021d00e01302d4273341f11ef9788ac1e525a45f2659d7a8a64885aec54ae1021c3a886ab91681c019476753253fdda416731aad946b91886214fe0650
 
+# tcId = 299
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303c021c3afd7abd885aae32de3ef49cb331155334bb4309e4eda73ac4aee400021c1d51e8a79b85335560dfb118a8f4cf16ee3641a782d3ee5e455a63b6
 
+# tcId = 300
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021c07c73dae6b6f894bf1aeb340eaf06cbdf5556887aeed306ca87bb4a7021d00f0e98ce504608ac63b30b7d581a9ee44a5b439736a20661a0d0656a8
 
+# tcId = 301
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021c3d8216344b7480e25230dd4608b7ca09a63ae352f9961c2a3088676f021d00e71d2d7e78aae7f826b1d30a06f89f8fbe8702e639d85cf15b3ecb06
 
+# tcId = 302
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021c24e768c333808f0f0eb05b3ddf95d5530f8670334e742ff4ad783ef9021d00f4da768f939e12c7cecc90c45cfff173ea1fc4237290b17d2acbf8a9
 
+# tcId = 303
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303d021d00b1d7988d9bcd4f7a7b643e391f5b37d9f56a6ca4ab81c9a5a2b72d14021c518da4c39db722cdae6d1a8f0268ded4e4522926b672b4bd14ef8564
 
+# tcId = 304
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 303c021c6374f85c920dace4b5828384b05696d0bd7cc0992f804a8059247538021c01b8f519efc35f104cc83be9280c44b4345cafcda02b944744a931c7
 
+# tcId = 305
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579
 
+# tcId = 306
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021d00bc9052305d076c009f0250d888d0fae950bbdf53e42fc5b35850d4c5021c400a143f82c3b045ce46742aca8a1af966cc4b04e10fe96090374d36
 
+# tcId = 307
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303c021c7a57cfac41911d334dde984ef64bacf978fb04c77ffe00892e611fad021c52a3f891c2877d433b6b5799ca6f774941370654e17811b2fc401974
 
+# tcId = 308
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303c021c2092d6e7a86055b119e1f6f97b21ac3789e78804d0e25ff2945ad240021c3099207c5088715cb79437724b84018459553e82e6a72e6791cc2b02
 
+# tcId = 309
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303e021d0089b1dfa081bc9200d86bcf63c75e80fab8b8b11270768fa0ed07d45e021d008c2299775762dd15aefb1a18d9adac8dc756f4619e5fc3c526922100
 
+# tcId = 310
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021d00b16307867551b63b168131371c2eb6e8fab7d1ecfec6fde744e0ec51021c2f3ad86ba61343dc7d33908f83feb28a5b63aba08e3e990bdd441ab1
 
+# tcId = 311
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303e021d00b712f2b41da5c8265797d52b946fb79ecfe70544f83be0badbe4b71c021d00b02018a67a61d7df4d04aef55bafabd50e56840733b99b781185667f
 
+# tcId = 312
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303d021d008972a6fc414736cfc4a57704dc2d76857738366a4175acb71eb3aa59021c0bfdc4fd4b6d9e6afb62b9f5e41c8cbac2790dd9fa06a72df6e0d0d8
 
+# tcId = 313
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303e021d00da7640586f3f0aae5fb1c3e32da59b3322c24d6303d1d006d50f74b5021d00c5462bf20238cdd4e534494629561aa111480d08b48557e69fc17f3e
 
+# tcId = 314
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 303c021c05c302ce36d5b7ba053cc9c9c26095e887df0f7e190396e13e487905021c52cb970da954ac97f3c507399451dcf28a4d37871b66b46f99c58531
 
+# tcId = 315
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6
 
+# tcId = 316
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303d021c0d81b5454f87f6000460dc7819b6fc712c042645340e0f4196f046e9021d00aa2efd27ccc7b942bcfebce7e735125227e2bdadcb943efa88f1f42e
 
+# tcId = 317
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303c021c09b59a8f079529fad06c514abaf356537f9bc2eedfefc595aace6c48021c721310942b44535e02f455015143fffe3dae9e5193a4ef1eeff94686
 
+# tcId = 318
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303d021d0092f268abc43239955edad0766503714b4e156ec436df34b1da00b2c2021c580cab7733f22244b5c74ceae56e048b260c2d1e8b96b15997145ba4
 
+# tcId = 319
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303c021c514ef0e344b5cb8de93212d0493192437f86090ecc284dae54f74a60021c42e510fc18cd8c39113d4153dc2fc59dd2efaf22bd9330119458820a
 
+# tcId = 320
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303e021d008a16dcf2e449678047e967a2c281c6500b6cdfddf631d784ff60fb68021d00b16ac240544d86b9b40e4baf4d53f1ee33fdf8161830ccad4d2f354e
 
+# tcId = 321
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303c021c6f84179e3ea956abbf31daebace7b443c7a0e9f9641fa8fe4f4f9be9021c39df090fbe36b37c2aab1cbd61d7a5138c4b709e70606bcf99ff16ae
 
+# tcId = 322
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303d021d00c0f2d12d910cf6bc0c4d09443a6da8247649e1724f95bddd711e2f64021c766bf054f829d02db13c6aa8536e00e5e30e5313a868e0a7851fcdcc
 
+# tcId = 323
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 303e021d00ca3d5f3822b905db4786b88e0ca370555825971d1a4b7fcc37bb1ed0021d00a3c21935732cd227a4f592c91cdd2509c078984b38a37cf530338364
 
+# tcId = 324
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
@@ -2095,21 +2677,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
 [key.wx = 0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf]
 [key.wy = 08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000]
 [sha = SHA-256]
 
+# tcId = 325
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7
 
+# tcId = 326
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab
 
+# tcId = 327
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2118,21 +2704,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
 [key.wx = 0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1]
 [key.wy = 73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff]
 [sha = SHA-256]
 
+# tcId = 328
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7
 
+# tcId = 329
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193
 
+# tcId = 330
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
@@ -2141,21 +2731,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
 [key.wx = 26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000]
 [key.wy = 0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0]
 [sha = SHA-256]
 
+# tcId = 331
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96
 
+# tcId = 332
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7
 
+# tcId = 333
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2164,21 +2758,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
 [key.wx = 0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff]
 [key.wy = 41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd]
 [sha = SHA-256]
 
+# tcId = 334
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501
 
+# tcId = 335
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4
 
+# tcId = 336
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
@@ -2187,21 +2785,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
 [key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]
 [key.wy = 762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5]
 [sha = SHA-256]
 
+# tcId = 337
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50
 
+# tcId = 338
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161
 
+# tcId = 339
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2210,21 +2812,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
 [key.wx = 15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a]
 [key.wy = 0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c]
 [sha = SHA-256]
 
+# tcId = 340
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb
 
+# tcId = 341
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004
 
+# tcId = 342
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2233,21 +2839,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
 [key.wx = 0f7e4713d085112112c37cdf4601ff688da796016b71a727a]
 [key.wy = 0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1]
 [sha = SHA-256]
 
+# tcId = 343
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070
 
+# tcId = 344
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838
 
+# tcId = 345
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2256,21 +2866,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
 [key.wx = 0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725]
 [key.wy = 086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e]
 [sha = SHA-256]
 
+# tcId = 346
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f
 
+# tcId = 347
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b
 
+# tcId = 348
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2279,21 +2893,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
 [key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]
 [key.wy = 0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc]
 [sha = SHA-256]
 
+# tcId = 349
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550cfa712bbf65937165a36f2c32dc9
 
+# tcId = 350
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633
 
+# tcId = 351
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2302,21 +2920,25 @@
 [key.curve = secp224r1]
 [key.keySize = 224]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
 [key.wx = 0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1]
 [key.wy = 0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
 [keyDer = 304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945]
 [sha = SHA-256]
 
+# tcId = 352
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b
 
+# tcId = 353
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55
 
+# tcId = 354
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
diff --git a/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.json
new file mode 100644
index 0000000..95b207c
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp224r1_sha512_test.json
@@ -0,0 +1,4158 @@
+{
+  "algorithm" : "ECDSA",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
+    "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
+    "MissingZero" : "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.",
+    "PointDuplication" : "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."
+  },
+  "numberOfTests" : 355,
+  "header" : [],
+  "testGroups" : [
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5",
+        "wx" : "0eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7",
+        "wy" : "0eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004eada93be10b2449e1e8bb58305d52008013c57107c1a20a317a6cba7eca672340c03d1d2e09663286691df55069fa25490c9dd9f9c0bb2b5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6tqTvhCyRJ4ei7WDBdUgCAE8VxB8GiCj\nF6bLp+ymcjQMA9HS4JZjKGaR31UGn6JUkMndn5wLsrU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "signature malleability",
+          "msg" : "313233343030",
+          "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbd285ea180b4c6150cdafafb0f6f0f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "303d021c5796509df707db026fdbcaa56f27d6dc2036846adac9c095232c0848021d00df229b04b90d06ef098ebad659992ca89b520d3abab8ad2ce0488be9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "303e021d00f24c800364d6fa4dee339fa923208ae3511b212604fb84bb24d21fc8021d00eff2b632a23197aeededa2e90dd86f287f52c93ec59695a559e3c9f2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "303c021c4096f544ab9166fb8b16d5d7e68ec97c3aed7841ea7f5bc6820891c7021c1e812ed60839753524f52f83a8da8a43fd8b87c62f9a76a2ce9329b4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "303c021c58a750e498eecb89f2e62d3134b602228e43e47879c0e21209421656021c357a108bed477c584f32af872f654ac29bafdb2bf236aadef210284c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "303c021c1e950cac37d66353d1acffa41568b1379a6798de8b363725e9f3a847021c2e258855c159f970e4ff5cdeddb86372f6518131ea93aa385329af77",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "Legacy:ASN encoding of s misses leading 0",
+          "msg" : "313233343030",
+          "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingZero"
+          ]
+        },
+        {
+          "tcId" : 8,
+          "comment" : "valid",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "30813d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "303e02811c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02811d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 12,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "3082003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 13,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "303f0282001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0282001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 15,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "303d021d691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "303d021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021e00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3085010000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "30420285010000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285010000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "308901000000000000003d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3046028901000000000000001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3046021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028901000000000000001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "30847fffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "304102847fffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02847fffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "3084ffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "30410284ffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0284ffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "3085ffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "30420285ffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0285ffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "3088ffffffffffffffff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "30450288ffffffffffffffff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0288ffffffffffffffff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "30ff021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "303d02ff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02ff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "303d0280691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab028000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "303f0000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3042498177303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "30412500303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "30422221498177021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304122202500021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3045221e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0004deadbeef021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3042021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2222498177021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab22212500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab221f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "3045aa00bb00cd00303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "3043aa02aabb303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "30452224aa00bb00cd00021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "30432222aa02aabb021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "3045021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2225aa00bb00cd00021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "3043021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2223aa02aabb021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "3080303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "30412280021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3080313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "30412280031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2280031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2e3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2f3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "313d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "323d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "ff3d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "3041300102303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "303c1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e05000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "3080021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "303f3000021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "303f303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "301e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "305c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "removing integer",
+          "msg" : "313233343030",
+          "sig" : "301f021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302002021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "301f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab02",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "appending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "appending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "prepending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021e0000691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "prepending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f000000c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0000021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021e691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "303f021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021f00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30210281021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "Replacing integer with NULL",
+          "msg" : "313233343030",
+          "sig" : "30210500021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "Replacing integer with NULL",
+          "msg" : "313233343030",
+          "sig" : "3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d001c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d011c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d031c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d041c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303dff1c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab001d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab011d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab031d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab041d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92abff1d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "dropping value of integer",
+          "msg" : "313233343030",
+          "sig" : "30210200021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "dropping value of integer",
+          "msg" : "313233343030",
+          "sig" : "3020021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab0200",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "30412220020169021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3041021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab2221020100021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "modify first byte of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c6b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "modify first byte of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d02c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "modify last byte of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf922b021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "modify last byte of integer",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbbae",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "303c021b691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "303c021b1c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "leading ff in integer",
+          "msg" : "313233343030",
+          "sig" : "303e021dff691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "leading ff in integer",
+          "msg" : "313233343030",
+          "sig" : "303e021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021eff00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "infinity",
+          "msg" : "313233343030",
+          "sig" : "3022090180021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "infinity",
+          "msg" : "313233343030",
+          "sig" : "3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab090180",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "replacing integer with zero",
+          "msg" : "313233343030",
+          "sig" : "3022020100021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "replacing integer with zero",
+          "msg" : "313233343030",
+          "sig" : "3021021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab020100",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d01691c723dd6a7f5d11b8c8e8bd08173428bc48a2c3f031caaec3bbce8021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021dff691c723dd6a7f5d11b8c8e8bd08345fcca52a9b01748ca203383686e021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c96e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d0096e38dc229580a2ee47371742f7cba0335ad564fe8b735dfcc7c9792021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021dfe96e38dc229580a2ee47371742f7e8cbd743b75d3c0fce35513c44318021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d01691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303e021d0096e38dc229580a2ee47371742f7da36054f46611d4da0c9a70206d55021d00c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab0834104e71ff12bb612ad778fbda8e56b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021cc6b899049859a01f5093eab08342d7a15e7f4b39eaf3250504f090f1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dff394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021dfe394766fb67a65fe0af6c154f7cbefb18e00ed449ed52887042571a95",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303d021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021d01c6b899049859a01f5093eab08341ee443f383b77fed04e4a614cbb2e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "303c021c691c723dd6a7f5d11b8c8e8bd0825c9fab0b99ee2b25f3658fdf92ab021c394766fb67a65fe0af6c154f7cbe11bbc0c7c488012fb1b59eb344d2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020100020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020100020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201000201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020100021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020100021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3008020100090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201010201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020101021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022020101021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3008020101090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30220201ff021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30220201ff021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30080201ff090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3024021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000001020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000010201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000001021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000001090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffffffff000000000000000000000002020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffffffff0000000000000000000000020201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3e",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000001",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffffffff000000000000000000000002021d00ffffffffffffffffffffffffffffffff000000000000000000000002",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3024021d00ffffffffffffffffffffffffffffffff000000000000000000000002090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "Edge case for Shamir multiplication",
+          "msg" : "3639313930",
+          "sig" : "303c021c326bc06353f7f9c9f77b8f4b55464e8619944e7879402cca572e041a021c221a25eb9cc8dd66fdf156b2f6ab601ab6d9c509247f8de5d2671a96",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6",
+        "wx" : "4408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9",
+        "wy" : "0f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044408e5c95e332ab6c2823a63959391d60a6d69c59eb1f7bd272206b9f5278e901fb4773aeeb2d8255ba4df3cf3db7e0557dbc6134c55f3a6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAERAjlyV4zKrbCgjpjlZOR1gptacWesfe9\nJyIGufUnjpAftHc67rLYJVuk3zzz234FV9vGE0xV86Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 222,
+          "comment" : "k*G has a large x-coordinate",
+          "msg" : "313233343030",
+          "sig" : "3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "r too large",
+          "msg" : "313233343030",
+          "sig" : "303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296",
+        "wx" : "315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269",
+        "wy" : "504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004315a83008dba00b351c3f9fca0811c3ae1884fa9a2a75e6d5e71f269504bbe6a25be253b582efab4b8b9e61372767a7a3a423c0943127296",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMVqDAI26ALNRw/n8oIEcOuGIT6mip15t\nXnHyaVBLvmolviU7WC76tLi55hNydnp6OkI8CUMScpY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 224,
+          "comment" : "r,s are large",
+          "msg" : "313233343030",
+          "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef",
+        "wx" : "2f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a79",
+        "wy" : "71bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042f6983b6e9f8ef96c2d981f69be54b06591ed73fe40c8a546b936a7971bf57726c26c811d7625a9d851951c1fffe236b0eb3b896bc4c98ef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEL2mDtun475bC2YH2m+VLBlke1z/kDIpU\na5NqeXG/V3JsJsgR12JanYUZUcH//iNrDrO4lrxMmO8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 225,
+          "comment" : "r and s^-1 have a large Hamming weight",
+          "msg" : "313233343030",
+          "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc",
+        "wx" : "0d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f86",
+        "wy" : "41c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d1f515971cc9391153569c2befa1f915e2931110757760ebd7e61f8641c3db8beea20b13205389dcc4ba8a6af4d6da2604cacd7184ec9dbc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0fUVlxzJORFTVpwr76H5FeKTERB1d2Dr\n1+YfhkHD24vuogsTIFOJ3MS6imr01tomBMrNcYTsnbw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 226,
+          "comment" : "r and s^-1 have a large Hamming weight",
+          "msg" : "313233343030",
+          "sig" : "303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf",
+        "wx" : "0e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b",
+        "wy" : "66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e8f90a717714f0158d9521f18c14ae8c83bf1eeba115c46cbdabb20b66f50ac13461c02da02edfe4296a1f543dde7b4359f905e04193d3cf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE6PkKcXcU8BWNlSHxjBSujIO/HuuhFcRs\nvauyC2b1CsE0YcAtoC7f5ClqH1Q93ntDWfkF4EGT088=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 227,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020103020101",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59",
+        "wx" : "723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1",
+        "wy" : "0cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004723bc0c9b7ce6ea784ec075036cede90452c76576bd8fb5be4dc0fb1cf405820d92f48552b551c7b11f49406dc892fd659971ae7f9e74b59",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEcjvAybfObqeE7AdQNs7ekEUsdldr2Ptb\n5NwPsc9AWCDZL0hVK1UcexH0lAbciS/WWZca5/nnS1k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 228,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020103020103",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a",
+        "wx" : "0a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88",
+        "wy" : "0f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a0dcce127084f955a4e49a7c86b9b91b05ae7afd6eb07225a6541d88f10a1d4fef93934967bb6c5d8792bbd47ab3abb406899a00b1c91b4a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoNzOEnCE+VWk5Jp8hrm5GwWuev1usHIl\nplQdiPEKHU/vk5NJZ7tsXYeSu9R6s6u0BomaALHJG0o=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 229,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020103020104",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "r is larger than n",
+          "msg" : "313233343030",
+          "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d",
+        "wx" : "0e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10",
+        "wy" : "0fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e10abc9fe15bcc63f009e161aaee26602415bcb45bc6c99ce7ab2b10fbebff4e4de0dfaaf04594dd603cee80b5d9ab78b6707608a95e574d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4Qq8n+FbzGPwCeFhqu4mYCQVvLRbxsmc\n56srEPvr/05N4N+q8EWU3WA87oC12at4tnB2CKleV00=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 231,
+          "comment" : "s is larger than n",
+          "msg" : "313233343030",
+          "sig" : "3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82",
+        "wx" : "0fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f",
+        "wy" : "6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004fbfabe6c640856ae5dcdc9e4b706fb3db23ddca46b80b9057ab9e44f6b62d4697977ffe19bf3185083b1ede2161aa5725401a8f57851fc82",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE+/q+bGQIVq5dzcnktwb7PbI93KRrgLkF\nernkT2ti1Gl5d//hm/MYUIOx7eIWGqVyVAGo9XhR/II=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 232,
+          "comment" : "small r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c",
+        "wx" : "091a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439",
+        "wy" : "0f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000491a85b3c5e90b409f6b8d3bca9117a54a40f4162b388bb9367fd6439f1cedf20ab52eb7154b7ea1f2934a9c8292906e18a0e572002cd2f7c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkahbPF6QtAn2uNO8qRF6VKQPQWKziLuT\nZ/1kOfHO3yCrUutxVLfqHyk0qcgpKQbhig5XIALNL3w=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 233,
+          "comment" : "smallish r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1",
+        "wx" : "0d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652c",
+        "wy" : "0ce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d1ca7a5c1aa086b2951c1ac14e005f0072fb28383973a05117f9652cce523c05ebe94991c47fecd241d0a07e86c88ab3c620eae792aba3d1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0cp6XBqghrKVHBrBTgBfAHL7KDg5c6BR\nF/llLM5SPAXr6UmRxH/s0kHQoH6GyIqzxiDq55Kro9E=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 234,
+          "comment" : "100-bit r and small s^-1",
+          "msg" : "313233343030",
+          "sig" : "302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72",
+        "wx" : "3565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e",
+        "wy" : "09474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043565af2a481f9390e71d7642717d0427e02e5e7de8a3c0c1ffd5f33e9474547e0d54dcaae85494c74faa23394a056e41c2839638b8523b72",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAENWWvKkgfk5DnHXZCcX0EJ+AuXn3oo8DB\n/9XzPpR0VH4NVNyq6FSUx0+qIzlKBW5BwoOWOLhSO3I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 235,
+          "comment" : "small r and 100 bit s^-1",
+          "msg" : "313233343030",
+          "sig" : "302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8",
+        "wx" : "29c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c",
+        "wy" : "178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000429c694790fbd23777cfde434badcb061a326a5534264bcfe193c716c178a943f7bd4fb132565ba602358b13433a5217ac04cc035566c73f8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKcaUeQ+9I3d8/eQ0utywYaMmpVNCZLz+\nGTxxbBeKlD971PsTJWW6YCNYsTQzpSF6wEzANVZsc/g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 236,
+          "comment" : "100-bit r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab",
+        "wx" : "08fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f97",
+        "wy" : "09687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048fd43aac8556f4665fd4c13f4e151140f42a395763c5da247a398f979687d24a9fcd6b20a59451c348a6364d0ffaf0ecfe164313db6594ab",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEj9Q6rIVW9GZf1ME/ThURQPQqOVdjxdok\nejmPl5aH0kqfzWsgpZRRw0imNk0P+vDs/hZDE9tllKs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 237,
+          "comment" : "r and s^-1 are close to n",
+          "msg" : "313233343030",
+          "sig" : "303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef",
+        "wx" : "0c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e9",
+        "wy" : "6a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c2ae0e357a43f97549a725ae3704449051c96bf3633355c35b6eb7e96a84dfb6d4517d1de46b18786a506178724bf4ae4f9e418c75ab17ef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwq4ONXpD+XVJpyWuNwREkFHJa/NjM1XD\nW2636WqE37bUUX0d5GsYeGpQYXhyS/SuT55BjHWrF+8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 238,
+          "comment" : "s == 1",
+          "msg" : "313233343030",
+          "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 239,
+          "comment" : "s == 0",
+          "msg" : "313233343030",
+          "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43",
+        "wx" : "0961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b",
+        "wy" : "089b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004961617d9855f202fd600b584abe94a46674927cfdc6333c5be56ce7b89b4150d9ccdfbd77e7682ca862c0c3e96d89c918b7d3b7bbb92ff43",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAElhYX2YVfIC/WALWEq+lKRmdJJ8/cYzPF\nvlbOe4m0FQ2czfvXfnaCyoYsDD6W2JyRi307e7uS/0M=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 240,
+          "comment" : "point at infinity during verify",
+          "msg" : "313233343030",
+          "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f",
+        "wx" : "55b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e",
+        "wy" : "795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000455b212919cd6886b13cd7a2556430ce442e86942f1bf6e4618ae363e795c664ae960ee1106308b7dba91240ab0c3ef8beb7d0a4d7a102a7f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVbISkZzWiGsTzXolVkMM5ELoaULxv25G\nGK42PnlcZkrpYO4RBjCLfbqRJAqww++L630KTXoQKn8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 241,
+          "comment" : "u1 == 1",
+          "msg" : "313233343030",
+          "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda",
+        "wx" : "0c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e140",
+        "wy" : "10d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c0288a63ce32263f3651198dab801c896fb9308362fc40e35959e14010d00bd1c228cfb6a5faa647387804e34fa1a7f9fcc472c05ea2eeda",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwCiKY84yJj82URmNq4AciW+5MINi/EDj\nWVnhQBDQC9HCKM+2pfqmRzh4BONPoaf5/MRywF6i7to=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 242,
+          "comment" : "u1 == n - 1",
+          "msg" : "313233343030",
+          "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899",
+        "wx" : "0c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341",
+        "wy" : "0d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040c8e2cb5f6a903e1cccf3ac2d465f1d0dc3452237fd9e8a4df5d5341d044ca8ceecb54a1b951270971e5ab4eb226116c48c553499d1a4899",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEDI4stfapA+HMzzrC1GXx0Nw0UiN/2eik\n311TQdBEyozuy1ShuVEnCXHlq06yJhFsSMVTSZ0aSJk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 243,
+          "comment" : "u2 == 1",
+          "msg" : "313233343030",
+          "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003",
+        "wx" : "1ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e2",
+        "wy" : "0e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041ff6b9901784d88b25527b3702622a2734b83d8a0fed0f740bb784e20e83ee0aa82933dcdc637a3760606a04974c2dc75f12095f8fdaf003",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEH/a5kBeE2IslUns3AmIqJzS4PYoP7Q90\nC7eE4g6D7gqoKTPc3GN6N2BgagSXTC3HXxIJX4/a8AM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 244,
+          "comment" : "u2 == n - 1",
+          "msg" : "313233343030",
+          "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01",
+        "wx" : "0b21faca17b68058752d943a81f853b800562df8b2172e150953c6242",
+        "wy" : "1c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b21faca17b68058752d943a81f853b800562df8b2172e150953c624201c2c0f5ed3b342956cacd26f9097562d0fb0a3ddab91c5ae7e90c01",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsh+soXtoBYdS2UOoH4U7gAVi34shcuFQ\nlTxiQgHCwPXtOzQpVsrNJvkJdWLQ+wo92rkcWufpDAE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 245,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c152aafea3a8612ec83a7dc9448e6600ae6a772d75ad2caf19f9390e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3",
+        "wx" : "0f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29c",
+        "wy" : "0b1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f49278419e4f506889b0168b1fce1f87ee5b61efa0e73c7833eeb29cb1b334f81be8f05f3b2e98d38b030cff57947b96135ec4465c5e53f3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9JJ4QZ5PUGiJsBaLH84fh+5bYe+g5zx4\nM+6ynLGzNPgb6PBfOy6Y04sDDP9XlHuWE17ERlxeU/M=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 246,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c4e158ef86cc53054f1635c74e65508206048929315e097a59f1519e2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40",
+        "wx" : "75c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba2",
+        "wy" : "33ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000475c6a886e22bc04b996d4a19575ce0c6686b449b6e05ef1301bd8ba233ab29f65df2d4144da2b21e90359a064765c95e325bb7e54ca28e40",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdcaohuIrwEuZbUoZV1zgxmhrRJtuBe8T\nAb2LojOrKfZd8tQUTaKyHpA1mgZHZcleMlu35UyijkA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 247,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00e2ac0b24512e84f6fb015620d689d30d14736cf00c18838753c3814f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0",
+        "wx" : "0f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0f",
+        "wy" : "0d2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f554014cc14f319c18f5fa6cd739249075ff35ba3b2afdab5329ef0fd2c501f25a704addbd85c0e022748956e5998d99c387fbfd343c89e0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9VQBTMFPMZwY9fps1zkkkHX/Nbo7Kv2r\nUynvD9LFAfJacErdvYXA4CJ0iVblmY2Zw4f7/TQ8ieA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 248,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c5221f3c2de0c6fbc07ff04150679b57f57512b814f413aebafe731",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f",
+        "wx" : "0bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c",
+        "wy" : "091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bcfa8db704aca56feb23bd4b4049213233aa652045a0a81a2e0da64c091b359f7be7ae00a0e9777d9510f847430b5dfda878e66d4fb0d62f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvPqNtwSspW/rI71LQEkhMjOqZSBFoKga\nLg2mTAkbNZ97564AoOl3fZUQ+EdDC139qHjmbU+w1i8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 249,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c221f3c2de0c6fbc07ff041506dc71b5a312063d87beb4c30c289210f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad",
+        "wx" : "09fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9f",
+        "wy" : "0b2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049fd4d828ae98056be58fa69eaf9cde98ca0ed9b415d6463fa1864d9fb2a5e41f10e8789450217daafd259f204aed87b0e26100f43f7c5bad",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEn9TYKK6YBWvlj6aer5zemMoO2bQV1kY/\noYZNn7Kl5B8Q6HiUUCF9qv0lnyBK7Yew4mEA9D98W60=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 250,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c443e785bc18df780ffe082a0db8e36b46240c7b0f7d698618512421e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c",
+        "wx" : "6123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995d",
+        "wy" : "0a03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046123a33969f2e036fc27885f55755d391cb0c2d3fafb0c4056c1995da03bb490047e88fe7e608912a6205b65f950a8a0a360362d3339e62c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYSOjOWny4Db8J4hfVXVdORywwtP6+wxA\nVsGZXaA7tJAEfoj+fmCJEqYgW2X5UKigo2A2LTM55iw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 251,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00c2de0c6fbc07ff041506dc73a74fd50136878b7e1341521b2f880b19",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382",
+        "wx" : "0a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306e",
+        "wy" : "0c178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a10b7aa7785b2f2791b1d4c43e127aab5669612d740b38abaa0d306ec178f216fad379ad80baa0eac57bf9a56d446d685576371b74762382",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoQt6p3hbLyeRsdTEPhJ6q1ZpYS10Czir\nqg0wbsF48hb603mtgLqg6sV7+aVtRG1oVXY3G3R2I4I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 252,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d009f56aa80ae2bcf689be2c11b5db7e3a28983b4a7590692edcf5f8db6",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa",
+        "wx" : "0e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52ba",
+        "wy" : "0d352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e012c23c6867e9553313d0179e9db953de7c368cdb59abe05f1c52bad352a57bb59c45159352c114eeb696ec3b79caa835ef5c2ae71ddcfa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE4BLCPGhn6VUzE9AXnp25U958NozbWavg\nXxxSutNSpXu1nEUVk1LBFO62luw7ecqoNe9cKucd3Po=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 253,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3ead55015c579ed137c58236bb70b0a2324e79109e2ffc964262f12f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f",
+        "wx" : "0b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca71057",
+        "wy" : "089829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b9ccd7f0f3594954aa729bda4be883e107e7f1226465b64c2ca7105789829d787016c5c118d3ba3317a2da0a0daaf56d3004c10962333a9f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEuczX8PNZSVSqcpvaS+iD4Qfn8SJkZbZM\nLKcQV4mCnXhwFsXBGNO6Mxei2goNqvVtMATBCWIzOp8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 254,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00de03ff820a836e39d3a8435219289444bbd22db7f7368f8411c27ee5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9",
+        "wx" : "321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffe",
+        "wy" : "0b1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004321a17de024fe89c1864e128b9e0af3e6b48800a70d6e802b8b6dffeb1a8ae96911ddbdeb83948a992b1b0fe316679c64814b6a45ec56fe9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMhoX3gJP6JwYZOEoueCvPmtIgApw1ugC\nuLbf/rGorpaRHdveuDlIqZKxsP4xZnnGSBS2pF7Fb+k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 255,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00f15605922897427b7d80ab106b4474d7fa962e970ffad666580fd5c6",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859",
+        "wx" : "08842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee",
+        "wy" : "4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000408842f19b114d16be27bb4b6971377ed6b1d0915e133a9ebf01674ee4c97738b6912ff71553c4a747c782eddd9d2a20fbeae38864d217859",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAECIQvGbEU0Wvie7S2lxN37WsdCRXhM6nr\n8BZ07kyXc4tpEv9xVTxKdHx4Lt3Z0qIPvq44hk0heFk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 256,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7",
+        "wx" : "084d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc24",
+        "wy" : "3196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000484d651596fd2348f1bb5c8ae9d22c8b21c4f7509240b609abad5cc243196b67b4cfaffaf0dce25ab00bfeaa1a64821332efa6dedd87cc9e7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhNZRWW/SNI8btciunSLIshxPdQkkC2Ca\nutXMJDGWtntM+v+vDc4lqwC/6qGmSCEzLvpt7dh8yec=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 257,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0",
+        "wx" : "08fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b2",
+        "wy" : "7abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048fbe39e75bc4fd8a15e4b52e4bbebe2047d54385a7117e17a4d0b2b207abdb40824538e5787c718d6548583f523f6b5bbfa239a7f622c8a0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEj74551vE/YoV5LUuS76+IEfVQ4WnEX4X\npNCysger20CCRTjleHxxjWVIWD9SP2tbv6I5p/YiyKA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 258,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc",
+        "wx" : "0c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652",
+        "wy" : "0f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c336b340bc99d46c2c52df5428b6a0c4eb2da76c423530f767cc7652f3ab9981bd05d2955123935a379cbb2d4361a17d19878673e1e17dcc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwzazQLyZ1GwsUt9UKLagxOstp2xCNTD3\nZ8x2UvOrmYG9BdKVUSOTWjecuy1DYaF9GYeGc+Hhfcw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 259,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c",
+        "wx" : "0816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663",
+        "wy" : "0edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004816fdcf370827e3f7771564e1aa73ed73e62556deadad89711cef663edcda0ea42235f4c9a8c13f787351ffe5ceb32f15fc0ccb24e0a409c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEgW/c83CCfj93cVZOGqc+1z5iVW3q2tiX\nEc72Y+3NoOpCI19MmowT94c1H/5c6zLxX8DMsk4KQJw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 260,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897",
+        "wx" : "6429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f39",
+        "wy" : "4f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046429d2b7b07ab0d5ea352902df0efc036d7270a0a6ed39f635d04f394f7932883bc45394151324aab26ae29bbd7385fa6a42c3db84432897",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEZCnSt7B6sNXqNSkC3w78A21ycKCm7Tn2\nNdBPOU95Mog7xFOUFRMkqrJq4pu9c4X6akLD24RDKJc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 261,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a",
+        "wx" : "288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1e",
+        "wy" : "0c84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004288f38fd77dd1603ff0275cb11cba280ae3408affa6a760f396f1a1ec84ca6fd772c6ac6cc523cc72c2e7e95eb6a36a66b5cca5a58ba078a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEKI84/XfdFgP/AnXLEcuigK40CK/6anYP\nOW8aHshMpv13LGrGzFI8xywufpXrajama1zKWli6B4o=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 262,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6",
+        "wx" : "0c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f",
+        "wy" : "430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c769c138f9d71ffff113273b71a4afde4f9996a1c4be658a3903cf7f430e512b868b37bb96bc17a09b0ab01b262f2e23f34f00418f6b63d6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEx2nBOPnXH//xEyc7caSv3k+ZlqHEvmWK\nOQPPf0MOUSuGize7lrwXoJsKsBsmLy4j808AQY9rY9Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 263,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5",
+        "wx" : "75f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc",
+        "wy" : "71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000475f007c11b93e6f46e9a815cb765990a8305d3ad8d22c76fe6b257cc71b5c1951b5d464c66df7c290cf0a4f156bbf52f1e41a79dc63abce5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdfAHwRuT5vRumoFct2WZCoMF062NIsdv\n5rJXzHG1wZUbXUZMZt98KQzwpPFWu/UvHkGnncY6vOU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 264,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1",
+        "wx" : "1255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6e",
+        "wy" : "0ea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00041255fb94a0f20e6faa2505c394cc3c39f07def4107127dffc4dacb6eea73c1044544a1496560bd1b049ff615e68ae0d483220327569884e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEElX7lKDyDm+qJQXDlMw8OfB970EHEn3/\nxNrLbupzwQRFRKFJZWC9GwSf9hXmiuDUgyIDJ1aYhOE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 265,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982",
+        "wx" : "0f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f",
+        "wy" : "30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f656a632a0804cf688446b261208f793373c5ff4454bd1e0a882113f30a25d6f586e02dd4dcbf73d96af3e483b7acb5f8f4c06450dec1982",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE9lamMqCATPaIRGsmEgj3kzc8X/RFS9Hg\nqIIRPzCiXW9YbgLdTcv3PZavPkg7estfj0wGRQ3sGYI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 266,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8",
+        "wx" : "08fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3",
+        "wy" : "0f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3f074d20e1da7232d279461732bc1bae0c5416ab9d696308622e7ffe8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEj7Vy3k2vdnAmJM5O2BnQJnYiJOilQhW/\ngbICo/B00g4dpyMtJ5RhcyvBuuDFQWq51pYwhiLn/+g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 267,
+          "comment" : "point duplication during verification",
+          "msg" : "313233343030",
+          "sig" : "303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2",
+          "result" : "valid",
+          "flags" : [
+            "PointDuplication"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019",
+        "wx" : "08fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a3",
+        "wy" : "0f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048fb572de4daf76702624ce4ed819d026762224e8a54215bf81b202a30f8b2df1e258dcd2d86b9e8cd43e451e3abe95462969cf79dd180019",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEj7Vy3k2vdnAmJM5O2BnQJnYiJOilQhW/\ngbICow+LLfHiWNzS2GuejNQ+RR46vpVGKWnPed0YABk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 268,
+          "comment" : "duplication bug",
+          "msg" : "313233343030",
+          "sig" : "303e021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021d00ec0ce3fa725c1027475a5f5bf4ee980de61c3b4875afe8b654b24ee2",
+          "result" : "invalid",
+          "flags" : [
+            "PointDuplication"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd",
+        "wx" : "0e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121",
+        "wy" : "368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e5462d3a838d4a14de96a7b0b1071eb622ae6e71ede8f95ff01c2121368e3a90d8584e194616d3211a7541f6a0960339cab28e8bfd6b1dfd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE5UYtOoONShTelqewsQcetiKubnHt6Plf\n8BwhITaOOpDYWE4ZRhbTIRp1QfaglgM5yrKOi/1rHf0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 269,
+          "comment" : "comparison with point at infinity ",
+          "msg" : "313233343030",
+          "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f",
+        "wx" : "5d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831",
+        "wy" : "0c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045d97670c1f121f7f1ba541505609f20143b312a7bb49d376690e1831c1b4567141a7b534e21bd2f706ae034169ab9c3f8536147904de8c5f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEXZdnDB8SH38bpUFQVgnyAUOzEqe7SdN2\naQ4YMcG0VnFBp7U04hvS9wauA0Fpq5w/hTYUeQTejF8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 270,
+          "comment" : "extreme value for k and edgecase s",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98",
+        "wx" : "0d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5",
+        "wy" : "699b572d4b951497418a376930022d48fe59966b158fa08340e24b98"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d2675278da2d7daa8373dd63b7aa46cb14766571c2d8098b83a102a5699b572d4b951497418a376930022d48fe59966b158fa08340e24b98",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0mdSeNotfaqDc91jt6pGyxR2ZXHC2AmL\ng6ECpWmbVy1LlRSXQYo3aTACLUj+WZZrFY+gg0DiS5g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 271,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f",
+        "wx" : "5a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca",
+        "wy" : "2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045a5cd1162388348734dae20e2235ae2c464adef0a196f9aaf02482ca2ae94e8b9a024375036429b632ab485e02c5a9665b289b8a47bade8f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEWlzRFiOINIc02uIOIjWuLEZK3vChlvmq\n8CSCyirpTouaAkN1A2QptjKrSF4CxalmWyibike63o8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 272,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b",
+        "wx" : "0cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41",
+        "wy" : "716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cacd93eb11a821de3d882bab7411e7c77f23c08da174189cc987dc41716fe378ab842161bc16def6e037d4ba9d30d8cb41ad30cf0656e50b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEys2T6xGoId49iCurdBHnx38jwI2hdBic\nyYfcQXFv43irhCFhvBbe9uA31LqdMNjLQa0wzwZW5Qs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066",
+        "wx" : "0cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931",
+        "wy" : "0ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cf46960060453e55577f1bee6a9c4709e7cdcba45ca8020bb3536931ea4ec33309213864a1318aee0a86d8b6f0c1b9741cd6bd5dea4f4066",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEz0aWAGBFPlVXfxvuapxHCefNy6RcqAIL\ns1NpMepOwzMJIThkoTGK7gqG2Lbwwbl0HNa9XepPQGY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c",
+        "wx" : "62f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561",
+        "wy" : "0bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000462f4eaf3797bdc3d5d8cfaa07b5af7060e131b183ca4eded4819e561bff3eadd7b55db2dc01bd20569e6c47c9212f9b2d6793795b51e4f6c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEYvTq83l73D1djPqge1r3Bg4TGxg8pO3t\nSBnlYb/z6t17VdstwBvSBWnmxHySEvmy1nk3lbUeT2w=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7",
+        "wx" : "0c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488d",
+        "wy" : "0f9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c4a4bf5ae0138587f50ab7a2c336a430527a86f59f9765c2f3f5488df9419bf9df5f121de3a32db17b49c72b606b2be5ce56acb565cc12b7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExKS/WuAThYf1CreiwzakMFJ6hvWfl2XC\n8/VIjflBm/nfXxId46MtsXtJxytgayvlzlastWXMErc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "extreme value for k and edgecase s",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b",
+        "wx" : "0e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e",
+        "wy" : "64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004e7cb5ae54dbe619ab5069f14566236b3c6b0b44f1c4c531e66d89b3e64be7fdc18789629dfddf7158f8ff27abd553bfac3f7c874bccdc31b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE58ta5U2+YZq1Bp8UVmI2s8awtE8cTFMe\nZtibPmS+f9wYeJYp3933FY+P8nq9VTv6w/fIdLzNwxs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934",
+        "wx" : "30db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cd",
+        "wy" : "0d32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000430db5d8279319cf5a3b6768a0c5e5c84752f6314f735d63f6c5650cdd32fb54f74d4a5088e6774a13201683642790d2e69e55e4f47612934",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMNtdgnkxnPWjtnaKDF5chHUvYxT3NdY/\nbFZQzdMvtU901KUIjmd0oTIBaDZCeQ0uaeVeT0dhKTQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a",
+        "wx" : "7db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc2",
+        "wy" : "2ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047db27da4d67a2de0c78815809719bdf6976332c67ef0f3827df4adc22ab37aec2eed0d5e67acfd6a195f21032d9af71ce73e120fdda29f1a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEfbJ9pNZ6LeDHiBWAlxm99pdjMsZ+8POC\nffStwiqzeuwu7Q1eZ6z9ahlfIQMtmvcc5z4SD92inxo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7",
+        "wx" : "0d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c5",
+        "wy" : "5ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d1c19d46b517bb3bd7bdf074ff975c0dbd2bde10d1ad217e58ebc8c55ac898c040a185804ddb032b48103d6c8d12043d3a4fec93aba7a6d7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE0cGdRrUXuzvXvfB0/5dcDb0r3hDRrSF+\nWOvIxVrImMBAoYWATdsDK0gQPWyNEgQ9Ok/sk6unptc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd",
+        "wx" : "0d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c0",
+        "wy" : "093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004d95ac96ae9dbfb80911862e00a4cadbcb2359f499b53be007f0711c093d3da931acbb9242800dc521695b4f19ff2dffc3613f40bdb15c3cd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE2VrJaunb+4CRGGLgCkytvLI1n0mbU74A\nfwcRwJPT2pMay7kkKADcUhaVtPGf8t/8NhP0C9sVw80=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34",
+        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+        "wy" : "0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIb03Y4i19yP7TCLf5s1DdaBaB0dkRNWBmYUAfjQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 283,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd",
+        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+        "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIULInHdKCNwEs90gGTK8il6l+Libuyp+Znr/gc0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 284,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "303c021c43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 285,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "303d021d00bc07ff041506dc73a75086a4325211e696eb6b31da8ff5c2c728d38d021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
+        "wx" : "4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466",
+        "wy" : "0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 286,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303e021d00f72915d6d916014279616186869a01228fcd9f1b4078353018b399ab021d00b67f2b91eeeb910381f5b461a4a39c642aea4792013d4eb63da1832b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 287,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303d021c2cca5728c7bbb636c8889f31b4503479419d4a0317aee56861a0fcff021d0095f4c27b5de809a961e693d58947c918ab9a2b783cb6f04785886d2e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 288,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303e021d00ccd4e816ce09dc8758a6a28eb7f1260fe85306c75415de3282a39700021d00cedd7fcb4d48ed33a47d8746fb014c0915ddff93b849e4f8fbfb9bf7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 289,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303e021d0089553fa97cf40be4034785e1fadd36e795b41baf9cc77844c6c3bcbd021d00b1d107a0f98e5e9592b89b10098ff0da0594a7377382edf3476b47cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 290,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303d021d00ab393fc2c9ed43a9fb17c891137a088fd48073a9f466d0c021f39378021c7ea3c2555797669b87daebbff4824b832ed880ccb3d5a30e27d0cd65",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 291,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303d021d009a7d1f8a1adf70cdf9f4faed428dee3c34cadc36b020967fdb46a4b5021c42ca55cadb23db8f9ca0c86552da0e514e03670fac978b36e9b037fc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 292,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303e021d00f9ea663fc20951e9f3065cae571d2a89a813189a739ce9a267d173e4021d00919e98e7954e4ef4a3cca96a78162fabb19a64e094481e0745829a88",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 293,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303d021c18b9a4d15b6bf073fa4eb6cca6d88536d391fbbfead2032278e6a2fd021d0096b1fa8e5f8381805f545e4876d432fa3ac2c8b9dbbcf1a339f3487a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 294,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303d021d00e59ef9fe303b9b840daea60f839ee1f0e9f48028d219f3af8caf3ad7021c7359176be554e2d168dcd04c330f8d9f0e0390ed555eff523566df19",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 295,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "303d021c60f471a9aa1ad79a3c9fbe1d586d598683cf0de393d011ac46b6ed18021d00e189e32a45b7c80561f5606b6430469dd5a62d5f8aa9be4dbf9f6615",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 296,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303e021d00a5d179c336ccdc760dfddd913cdf8ea468d0f4686f7b2d3825698ed7021d00a77f12060a4d1b94b0d1c443eae3ad6e21b7eacfdf6fbf39a2b29658",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 297,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303d021d00be20e07fd96fb2f41ffeaeafa24702ce2a4eaa3060f2f20c3a21dd47021c7b132372ce347587ed2df3c25a2e1bb7d1052940b48b01152465d5a9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 298,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303c021c61fc02df7e648f727ff891cfb743ec91eba82a76934752d5f1c7dd9d021c72b641ba4567b30166b972e36e8fbc16e47212975f8d6d37799a16ad",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 299,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303d021c360445ae5235ada8878c2f85215fd49f6d698c40affcc7d6477182f2021d00fe66937e0b37bcaefd2c3277e1a114804191f285604d0e74f9be0f2e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 300,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303e021d00e6ff8cb03716f2e6dce612c7b698d8e265d7237249445aae482623f8021d00a34195e0a368f2d8985a5f2326fdcd84e521205861562a8f0c063260",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 301,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303c021c10ffbb08a62f063a19b6805558abfb05b73584f1630b74107a220873021c5baac6f81f02133fb20c3bed9864be9ef671ae19f9b9bbaff2f2246a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 302,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303c021c311b4b7f74190aa2c9b82d6e3eff46fdc7dfeca899dbb768fbcece38021c4d8c0c21fe13ff8423ae0eb165c25b0dd55f8e4276079174104bd95b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 303,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303d021c527e186bcb449143d89fe5afaadd4d9da57b3dce60b668e72c3acbd6021d00bed845c1af9ddacd709acebe0db625064f64ae4f529bea271704b907",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 304,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303c021c3ef2a4257b1a0ec24d370db59d9acd941da8aea42d39d5c6275489c4021c5ff58e49dd9405f234f4ca029448b7db8b3596bdb8b0306ee7157d34",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 305,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "303c021c0efc568cdf5481f84dc399c62af30d6f3b7728344471ac4bd4766efd021c6e07e3827c0f575e50848b02e94d43af5c4116bc48f7a34eff770fb3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 306,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303e021d00b7c65dce56abe24fb4592ece5ac1e6ee8353431f7452409add736884021d00e5fe5db7988931026b937dc4ef983fe446ca134d29b94ac777cde317",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 307,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303d021d00f326e5afa0256db3e273a779ffa8259e29f51618507ef38bf2c8be59021c77c51eff0b5fba30108a995b748183312eb36c6a0b043c50769bf6ce",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 308,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303e021d008be4d4a1865c0558dd3db81ca705384a8e0cae31c6ea93d3d44093b4021d00f96712dd1ee4640fc614a18c634f3f0687f0269febb473d1c3db29fd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 309,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303e021d00fc97210517e0f209a969ec9efd031661ab4ed349b2d43400fe41fe2e021d00d49b922b67bbc97aeea45bea019de1ce6b33452ce289372370164d1b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 310,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303c021c10359556fe9a67770c49269e4ba53c4fd77abbbe0ba0700288bbfefc021c75da5b8dcf661b5b3cb0429f4fa618b7544d33598c7526af95e07a51",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 311,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303d021d00cc90967eddbb1ebf50e96dcd4002d3607c10c75e7f38cf9f2b9ccb40021c434a18c813a3b643437c650705d4089b154efbe2a75a692a14397eb4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 312,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303c021c61ef0cd1cb692a870872cf0c967822bb8b9f057d3617b0fb962a2b1b021c05dd50dc0af75b5a4da4d6ee597961ad2773ce7cd322d17ab2897072",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 313,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303d021c36e2c6ddfe95243bff584cde4af6bdf220e935403560c96ad7ff3057021d00b6f47a8d6b0f6db9b6b6fb84e008f545edfdfc865f22ca2b81176c3e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 314,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303c021c18b8e67b1fadc7bbe4764bab3995569556cd76ee196a1e6a1b0ccdf5021c3bc44f10b13339728d429bac52019d765b993c4534c7d70782fbd1f1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 315,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "303d021d00d96f7b7926ccc6fc9d121f6250ddebcd52d5289efbced9d0a8a464ab021c799a8a898053b2c252b2b995133b029a0e9e1eda6a4abf4742781159",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 316,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303d021c05c563d3a4bad874e4610adfa57777a59f995bfa06ef97bf125a4988021d0097ed68f546cf4bb4998524c18356f3af162d2bf2744be93357bc4b4b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 317,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303d021c2d44ede3d020d12b075d30a1140fa09194cadd89013fd864bc7b4497021d00a964e72da3e7ad1414d60988ec92faf2409186c4252f5587a2eb7aba",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 318,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303e021d00ba992ec54849aa2cd8b025715780a34d9f1fcbda39419e13d8d1e193021d00e975e9cd1d8e9d4bf0973d10dfb24b7eac6dffc65fbea0a8efd6b0be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 319,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303e021d00978f8d2af5845bc3ab2779123c60f8ece8e9638fa6a83c3f56ec6f7d021d00e9063b413c660f5bb28893fd6cb862426b1abac94057a52a0d15de48",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 320,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303d021d00e96005a1413a13163f36e10f1d551cd92d8aa852e94bcfc07077171e021c3bbbb592d88d03ee56307fbe285ba205b4ec91f572358170440891dd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 321,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303d021c5e7e74ccc2d48af4dbbce6b1040917f3388894a4be2396d8d92d0c09021d00e216d804142f618aa2a20322503a7358eb2c95358c0a72837675b412",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 322,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303e021d00a113f7c0bde007e137399873846028879ea358357aa9007034b39e8b021d009e708aafe2140ee37f7562c24533b9fca4707ebbebfd9fe94b9b9f62",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 323,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303e021d008f1855511285e0e45c14823921ee993918c6f34e99f644905cd98189021d00941251dca7ec6aa8aff8534ec3bd05bf98e03e9930e21cfeeb2f7398",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 324,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303d021d00e6d751f17a4fa3189eca62653baceb7240babfd8ad37c16304caca81021c700882c3e6e11b67ad3ed6f59dadf5ae12262e2aed0a8274a64e38cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 325,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "303d021d009b133d6445529e04b30038ddc605770068151a0788b55c7e193ffacb021c2417efc1b06dc97188414afd67ee35d6937f1ec08f77ec36e9f4aace",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
+        "wx" : "0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf",
+        "wy" : "08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 326,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00c7a6f358b7d93815189ae5d2c3ab4d4e05f43176a52dd4fc5b48a34a021d00a2458512bb8dbe6f1bd6eb01d2d77d5624e8547bf87d85fc731c0c86",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 327,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c5f56ca587d16664a20dad13df85a475978e5cee81a8d0f49faaf6158021d00b64ef59d79461fe1a09a5864907435f70bd75f183afb11903f560b7c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 328,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00dd94f5b56e9947d007e7c8efd894a5c882f1d0b5dd56c32b5b266521021d00fbc883741bd27c59958ae17ba6e4a41ad1edeca9a3ba31c8f233b5ac",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
+        "wx" : "0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1",
+        "wy" : "73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 329,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d008071e6682c6e8a32706dc7e411503946546b31fff27dcce188ae389f021d00dc396c797d44edf794432d1da091f8c762974d8ce1f06e08ca013622",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 330,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c791624e5f234b8950d509d0b456ef6fa778b19dccd609d496b62a211021c6c51e846fa53d03d42f798e6bb90954f9a48c1794b47e84ac97b460a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 331,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021b34befa1d25b756ce76b383a6e8753741c12a59266c2c7921ff6e8b021d00bc44e3823e4d807cbc92fa786a89e62a4b217b5fb0c0f1865d4a7e43",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
+        "wx" : "26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000",
+        "wy" : "0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 332,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c224a38e733ebd3fac274ecc50ecef2e7c3189be2b9d093a8dcc6fa3a021c134fa5a4f923d296b3c6dd4683d249ccf0ad272890e4149c9a0d7415",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 333,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c338d07d990879ad844e24c1788e362269d8aca70500357d385768227021d00f745cc4ebaaf1cd42830026a66e5b95564cdbee5edf853bb2cc91259",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 334,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c689fce4b33d8212a663640a1ae0efaa7a7d7711beba719374fe634ee021c04bd9981fa52293063076f0fd70fc31875d580ef94f020d2f95440e0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
+        "wx" : "0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff",
+        "wy" : "41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 335,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c2a4287e01510e7fb5fed2e1ccc3f2a6929cf7d03850e49d7ae8a504a021c355c3915f3fa9637dc8001438a8c04e15d14934cabd430feb0cb5ba5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 336,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00b5bf795a38adb052b401468ffcab81103d2d9fca2e15b8d08ab98ce8021c5ec0d2c6aec71888c941af324c7272bec192abb292f9df82a24e8a41",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 337,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c100ed07f467133bf10917f7a15ab2bfda519bdbc2653b95955e22211021d00b38a081f7c2e2b775d1da868d0381c09ba1559c9613b5be7159363ad",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
+        "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
+        "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 338,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c54e6add8ac910e52c6228fe3980d8f586218334d8d859ba9a3329917021c5836cc79ec88519eab4a6b2614c501628c9fee32fbafd93e32158409",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 339,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c1230d5409f379584b4d548b7bccba64baf81d512a9f2e6398c4e3a66021c1937a298f8cbdfa85b8e6fcf0a12be4966d80270cade85a0c37ee6f3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 340,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00862f43b044fb32adb45e00378ba083ae761c84452054f17b1341bf5b021d0095d8d8e5e3a6cc2b0a06c792252ca11a642257721831578520f96b9e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
+        "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
+        "wy" : "0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 341,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00cb5cabb1ca01b847a6bc70558d1e5d3a204d1741bbe800f4b159af35021c3580cc85f218394130bddf1c4eac04fe96f59f14fb436686950398be",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 342,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00c9d83dc04cf4ee89c405045d0fd1d704f627ca5bbe350f40b826bbc1021c74fedc9e55045e9759f2124460fdfb991dc620cfee6effc0b4adaa9e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 343,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c46dd65b6e7f10c0841841b01033a5befd3a0e78c85f1f390bb3cdf25021d00f33acea3d47cf0dd5273735b004104f6512ed641052509422c0325a7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
+        "wx" : "0f7e4713d085112112c37cdf4601ff688da796016b71a727a",
+        "wy" : "0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 344,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00ddb4a7e400a1e98118f474722da3f421f65a76eec61f4f7b699faf07021d00db80cba199859cdfe916d6ab3deb91d76aaf0ed554c8f9ed7e5aa59d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 345,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c4c260b546280604e4c80384721c9e803ef704e7fb70168e6730fc1f3021d00a8aceae219ac25c9f04231b4e0c171413db1d26df1c1e8430062eb2b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 346,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00f4098d2c0240e78fceabb0183df0b39e7ad3e7f5d6da1587fa09853c021d00d42412b2abaa614c95eb11f9b9346282ce3a1c93aac35ce7aa372f4a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
+        "wx" : "0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725",
+        "wy" : "086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 347,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c48ddc497f9a4732c677e46c0e2bdabec54fc9d27e46ab595056db4d9021d00b8219ebbfaebc2fe4311efab0c35d4392751351bcc1971e8d01941e4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 348,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00e1abaf51d27a6d7d4c9b28078325cac2d7ce3d5403916c68903760b7021c2c45a99e2770f782fee5ca1d713eaecf07e62d53c64b7cf93de9900d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 349,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00868cd127c99e1149f7fc8d878cdfa986b62e99addea281149611ff15021c16e5953820135b7d462ce5434ef85920e973eec9e4d14d7cb3cc2a3f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
+        "wx" : "0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1",
+        "wy" : "0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 350,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00a375929718ec4e6ada9c9370c51df6bdaee7ebab2a70675d42a0b6b3021d009eaf4802efaf7ca082ffbf5ed774af43792d9b3fd711c6b1c36112ff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 351,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00d97b32f3bf8bc11ec2672dd6320418beeed99527a63fe4c52199ec61021c68dd9006b03319ccbe651d0bdaf84c63356f03cb007a6865ee3e0206",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 352,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d008ee5794dc2e66f2584910ea1d8361e5b53db535adcf5c1c35e128309021c5d1d8b9b996c0a488e05af14421b86e9841f0cba706027fc827d4d95",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
+        "wx" : "0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1",
+        "wy" : "0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 353,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c7999727c0cc02d88ef274012a762afcbb19e7fce19091a02acd00564021d00dbfacf67999f22c499d48a60a6fe4bbb746199c29957a1ec7a0900e0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 354,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c5797c21c0162e42f69693c6c0244dfdf9218c01e9235760177b61a54021c5452c887b27fb342a8a00d27579c7195dddb73df399233ed0dea567b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 355,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c0eb9dc5d67bb0d4009544f8654977907dfe770e7fae4571d31d7b4fa021d00ab5cda53e868bff5198be4be3681b186cb0c1396d272c71f093f8b12",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof/ecdsa_secp256k1_sha256_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha256_test.json
similarity index 85%
rename from src/third_party/wycheproof/ecdsa_secp256k1_sha256_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha256_test.json
index 6d52038..9cc902b 100644
--- a/src/third_party/wycheproof/ecdsa_secp256k1_sha256_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha256_test.json
@@ -1,27 +1,28 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 333,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 351,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEuDj/ROW8F3vyEYnQdmCC/J2EMiaIf8l2\nA3EQC37iCm/wyddb+6ezGmvKGXRJbutW3jVwcZVdg8Sxutqgshgy6Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9",
         "wx" : "0b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6f",
         "wy" : "0f0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEuDj/ROW8F3vyEYnQdmCC/J2EMiaIf8l2\nA3EQC37iCm/wyddb+6ezGmvKGXRJbutW3jVwcZVdg8Sxutqgshgy6Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -35,7 +36,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304502210089fba57f428b69cff33f19092dcdc368fc87d4d0f0086c42729f8e409a48b8b902203d0f0f73c590218154952d69df5b406f140161c5600c274d69d475de987d2999",
+          "sig" : "3045022100bdb14e2f5c696b38c9241931a21c996a0d1aa995bce7a13de347a12ca40379b302207d74834727e3717b396603aefaca81e2224a75e08ffd51ec7529aaa5efb1a0ea",
           "result" : "valid",
           "flags" : []
         },
@@ -43,7 +44,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3045022051dcc058c70a215bcef1d12b3d6e5c30bc57e079ab64d5cc993d84cafbedb548022100d24666691c695e2aa68ea6ac38c78cfd50179a2ddfe7fc2a9efbbc574b9963d6",
+          "sig" : "3044022033a91a4530f916ddc409bc043a21d1c55cad01b207f8691de9312831343f277502206b8aaedfd261b66899f55cd13673b162cedaf6980c3e23362c3f63041df6bde3",
           "result" : "valid",
           "flags" : []
         },
@@ -51,7 +52,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3046022100c384928d75b911cdfcf994bc809b5adb4ae0e7747a08dc7b50734708ec2b375e0221009da4c98e1822874450c1551df725ca89cd50ec33aec2052a54d0d853f6c5e1cb",
+          "sig" : "3044022000e409e24b57ca5f8aae742848ff60fbff2f83be2119ffe9a19d947ac9ca88c30220510a72fe53dede1a8742d5205862a8c2b4d5b3a148a3f307ae95c7eb7048a648",
           "result" : "valid",
           "flags" : []
         },
@@ -59,7 +60,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3044022027340377d4b3f30b3930729654c3a4e527ca12b843fc67dd51ea60627df916f202207b7b8c92512bb6b64f4ba46ae4fee6f376d93285e9a96701c42e60c416239007",
+          "sig" : "3046022100c761c3e2f221c25457df3e6925977f1d8cde122d9f0a546e8446229005fe82e9022100dd86cef52d73be368f2558dd8b3ad595bc69f2700db9023987fc2ebf564dd012",
           "result" : "valid",
           "flags" : []
         },
@@ -67,7 +68,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30460221009cbf94ef2aba2beb60315981f4ce44ed302d0fbc819a058722c29df53a3c7c1d0221009f36bbbb6aaa36e78023f3dd559f0f380e2d60aebd54c1472695ff35bb19bc47",
+          "sig" : "3045022006bdcb7d1e2cf003cf615cb6a32d3f6fec66c619b2c40bdd50de32263f57f5fc022100fda04b33984575a80ec342b770b2df699d29247b07807e071133c8d09762ed5f",
           "result" : "valid",
           "flags" : []
         },
@@ -95,7 +96,9 @@
           "msg" : "313233343030",
           "sig" : "308145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -103,7 +106,9 @@
           "msg" : "313233343030",
           "sig" : "304602812100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -111,7 +116,9 @@
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650281206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -119,7 +126,9 @@
           "msg" : "313233343030",
           "sig" : "30820045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -127,7 +136,9 @@
           "msg" : "313233343030",
           "sig" : "30470282002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -135,7 +146,9 @@
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365028200206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 15,
@@ -387,6 +400,14 @@
         },
         {
           "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -394,7 +415,7 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
+          "tcId" : 48,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30470000022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -402,24 +423,16 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 49,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 50,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0500",
           "result" : "invalid",
@@ -427,22 +440,6 @@
         },
         {
           "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3047022300813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365050002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502226ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a4981773045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -450,7 +447,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304925003045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -458,7 +455,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30473045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0004deadbeef",
@@ -466,7 +463,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a2226498177022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -474,7 +471,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304922252500022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -482,7 +479,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304d2223022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650004deadbeef02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -490,7 +487,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222549817702206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -498,7 +495,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652224250002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -506,7 +503,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0004deadbeef",
@@ -514,7 +511,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304daa00bb00cd003045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -522,7 +519,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304baa02aabb3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -530,7 +527,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304d2229aa00bb00cd00022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -538,7 +535,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304b2227aa02aabb022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -546,7 +543,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652228aa00bb00cd0002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -554,7 +551,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304b022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652226aa02aabb02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -562,7 +559,15 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30803045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -570,7 +575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30492280022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -578,7 +583,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365228002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -586,7 +591,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30803145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -594,7 +599,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30492280032100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -602,7 +607,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365228003206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -610,7 +615,7 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
+          "tcId" : 73,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -618,127 +623,47 @@
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "3145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "3245022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045012100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045032100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045042100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045ff2100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236500206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236501206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236503206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236504206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365ff206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
+          "tcId" : 79,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -746,31 +671,15 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "304930010230442100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "304922250201000220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222402016f021ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31",
@@ -778,7 +687,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "30442100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -786,15 +695,17 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba00",
@@ -802,7 +713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba05000000",
@@ -810,7 +721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba060811220000",
@@ -818,7 +729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000fe02beef",
@@ -826,7 +737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0002beef",
@@ -834,7 +745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "30473000022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -842,7 +753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba3000",
@@ -850,7 +761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "30473045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -858,7 +769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "3023022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365",
@@ -866,7 +777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "3067022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -874,7 +785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "302202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -882,7 +793,23 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "30230202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3024022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3047022300813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -890,7 +817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502226ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -898,23 +825,67 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30470223000000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 111,
+          "tcId" : 100,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022200006ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3047022300813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365050002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502226ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3024028102206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3025022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3024050002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -922,7 +893,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 107,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3025022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650500",
@@ -930,7 +901,87 @@
           "flags" : []
         },
         {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045012100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045032100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045042100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045ff2100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236500206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236501206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236503206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236504206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365ff206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3024020002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -938,7 +989,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3025022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650200",
@@ -946,7 +997,23 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "304922250201000220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222402016f021ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022102813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -954,7 +1021,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206df18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -962,7 +1029,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323e502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -970,7 +1037,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb313a",
@@ -978,7 +1045,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044022000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832302206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -986,7 +1053,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30440220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -994,7 +1061,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365021f6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31",
@@ -1002,7 +1069,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365021ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -1010,7 +1077,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30460222ff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -1018,7 +1085,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221ff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -1026,7 +1093,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "302509018002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -1034,7 +1101,7 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
+          "tcId" : 133,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3026022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365090180",
@@ -1042,66 +1109,18 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3045022101813ef79ccefa9a56f7ba805f0e478583b90deabca4b05c4574e49b5899b964a602206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30440220813ef79ccefa9a56f7ba805f0e47858643b030ef461f1bcdf53fde3ef94ce22402206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30450221ff7ec10863310565a908457fa0f1b87a7b01a0f22a0a9843f64aedc334367cdc9b02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "304402207ec10863310565a908457fa0f1b87a79bc4fcf10b9e0e4320ac021c106b31ddc02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30450221fe7ec10863310565a908457fa0f1b87a7c46f215435b4fa3ba8b1b64a766469b5a02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3045022101813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "304402207ec10863310565a908457fa0f1b87a7b01a0f22a0a9843f64aedc334367cdc9b02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "sig" : "302502010002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 135,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221016ff18a52dcc0336f7af62400a6dd9b7fc1e197d8aebe203c96c87232272172fb",
+          "sig" : "3026022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1109,7 +1128,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221ff6ff18a52dcc0336f7af62400a6dd9b824c83de0b502cdfc51723b51886b4f079",
+          "sig" : "3045022101813ef79ccefa9a56f7ba805f0e478583b90deabca4b05c4574e49b5899b964a602206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
@@ -1117,7 +1136,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650220900e75ad233fcc908509dbff5922647ef8cd450e008a7fff2909ec5aa914ce46",
+          "sig" : "30440220813ef79ccefa9a56f7ba805f0e47858643b030ef461f1bcdf53fde3ef94ce22402206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
@@ -1125,7 +1144,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221fe900e75ad233fcc908509dbff592264803e1e68275141dfc369378dcdd8de8d05",
+          "sig" : "30450221ff7ec10863310565a908457fa0f1b87a7b01a0f22a0a9843f64aedc334367cdc9b02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
@@ -1133,7 +1152,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221016ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "sig" : "304402207ec10863310565a908457fa0f1b87a79bc4fcf10b9e0e4320ac021c106b31ddc02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
@@ -1141,12 +1160,76 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022100900e75ad233fcc908509dbff5922647ef8cd450e008a7fff2909ec5aa914ce46",
+          "sig" : "30450221fe7ec10863310565a908457fa0f1b87a7c46f215435b4fa3ba8b1b64a766469b5a02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3045022101813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402207ec10863310565a908457fa0f1b87a7b01a0f22a0a9843f64aedc334367cdc9b02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221016ff18a52dcc0336f7af62400a6dd9b7fc1e197d8aebe203c96c87232272172fb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221ff6ff18a52dcc0336f7af62400a6dd9b824c83de0b502cdfc51723b51886b4f079",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650220900e75ad233fcc908509dbff5922647ef8cd450e008a7fff2909ec5aa914ce46",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221fe900e75ad233fcc908509dbff592264803e1e68275141dfc369378dcdd8de8d05",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221016ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022100900e75ad233fcc908509dbff5922647ef8cd450e008a7fff2909ec5aa914ce46",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1156,7 +1239,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1166,7 +1249,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1176,7 +1259,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
@@ -1186,7 +1269,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
@@ -1196,7 +1279,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
@@ -1206,7 +1289,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
@@ -1216,7 +1299,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
@@ -1226,7 +1309,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1236,7 +1319,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1246,90 +1329,10 @@
           ]
         },
         {
-          "tcId" : 151,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 152,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 153,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 154,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 155,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 156,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 157,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 158,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020100",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1339,7 +1342,7 @@
           "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020101",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1349,7 +1352,7 @@
           "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1359,7 +1362,7 @@
           "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1369,7 +1372,7 @@
           "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1379,7 +1382,7 @@
           "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1389,7 +1392,7 @@
           "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1399,7 +1402,7 @@
           "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1409,7 +1412,7 @@
           "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1419,7 +1422,7 @@
           "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020100",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1429,7 +1432,7 @@
           "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1439,7 +1442,7 @@
           "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1449,7 +1452,7 @@
           "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1459,7 +1462,7 @@
           "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1469,7 +1472,7 @@
           "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1479,7 +1482,7 @@
           "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1489,7 +1492,7 @@
           "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1499,7 +1502,7 @@
           "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1509,7 +1512,7 @@
           "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020100",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1519,7 +1522,7 @@
           "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020101",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1529,7 +1532,7 @@
           "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641400201ff",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1539,7 +1542,7 @@
           "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1549,7 +1552,7 @@
           "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1559,7 +1562,7 @@
           "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1569,7 +1572,7 @@
           "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1579,7 +1582,7 @@
           "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1589,7 +1592,7 @@
           "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1599,7 +1602,7 @@
           "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020100",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1609,7 +1612,7 @@
           "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020101",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641400201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1619,7 +1622,7 @@
           "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641420201ff",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1629,7 +1632,7 @@
           "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1639,7 +1642,7 @@
           "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1649,7 +1652,7 @@
           "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1659,7 +1662,7 @@
           "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1669,7 +1672,7 @@
           "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1679,7 +1682,7 @@
           "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1689,7 +1692,7 @@
           "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020100",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1699,7 +1702,7 @@
           "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020101",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641420201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1709,7 +1712,7 @@
           "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f0201ff",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1719,7 +1722,7 @@
           "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1729,7 +1732,7 @@
           "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1739,7 +1742,7 @@
           "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1749,7 +1752,7 @@
           "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1759,7 +1762,7 @@
           "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1769,7 +1772,7 @@
           "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1779,7 +1782,7 @@
           "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020100",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1789,7 +1792,7 @@
           "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020101",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1799,7 +1802,7 @@
           "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc300201ff",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1809,7 +1812,7 @@
           "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1819,7 +1822,7 @@
           "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1829,7 +1832,7 @@
           "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1839,7 +1842,7 @@
           "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1849,7 +1852,7 @@
           "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1859,7 +1862,7 @@
           "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1867,6 +1870,86 @@
         },
         {
           "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc300201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 221,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3235353835",
           "sig" : "3045022100dd1b7d09a7bd8218961034a39a87fecf5314f00c4d25eb58a07ac85e85eab516022035138c401ef8d3493d65c9002fe62b43aee568731b744548358996d9cc427e06",
@@ -1876,20 +1959,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000407310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc36226a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEBzEPkKnq4UmghAL1QZSg97SsQnv42b1s\ndoEHHcR9w2ImptN6xG1h/WAMC/G/+HaJ7RF92msOWTGK4BChl6JsoA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0407310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc36226a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0",
         "wx" : "7310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc362",
         "wy" : "26a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000407310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc36226a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEBzEPkKnq4UmghAL1QZSg97SsQnv42b1s\ndoEHHcR9w2ImptN6xG1h/WAMC/G/+HaJ7RF92msOWTGK4BChl6JsoA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "30360211014551231950b75fc4402da1722fc9baeb022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
@@ -1897,7 +1981,7 @@
           "flags" : []
         },
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2c022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
@@ -1907,20 +1991,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvJfnWF7srUjhZoO8QJFwjhqTDGg/xHAB\n1LODWU8sTiJwWYnPadrq3U5OS4FR7YiN/sIPsBco2J1Ws/OPKunIxQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5",
         "wx" : "0bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22",
         "wy" : "705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvJfnWF7srUjhZoO8QJFwjhqTDGg/xHAB\n1LODWU8sTiJwWYnPadrq3U5OS4FR7YiN/sIPsBco2J1Ws/OPKunIxQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
@@ -1930,20 +2015,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERK0zmvvCHpq/e2AqXKU16jeBNbbRDYEx\nC92Ck9HfMlK2P/fQd0dw+P4dFyL6g6zQL0NOT8EQoMyPbd3TfVbEYw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463",
         "wx" : "44ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252",
         "wy" : "0b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERK0zmvvCHpq/e2AqXKU16jeBNbbRDYEx\nC92Ck9HfMlK2P/fQd0dw+P4dFyL6g6zQL0NOT8EQoMyPbd3TfVbEYw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203e9a7582886089c62fb840cf3b83061cd1cff3ae4341808bb5bdee6191174177",
@@ -1953,20 +2039,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEEmDCEiyeJE4a9RUb7eDDriO1TXxZaIHT\n7rrSHzfdh4xcmgwamt52c3qIEb1qf5KHyXjuOWqonBHkcinSzLVS8A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0",
         "wx" : "1260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c",
         "wy" : "5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEEmDCEiyeJE4a9RUb7eDDriO1TXxZaIHT\n7rrSHzfdh4xcmgwamt52c3qIEb1qf5KHyXjuOWqonBHkcinSzLVS8A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022024238e70b431b1a64efdf9032669939d4b77f249503fc6905feb7540dea3e6d2",
@@ -1976,20 +2063,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGHcEW+JdNKHQYA+dXADQZFoqVDebbO76\n0ua/XCozUs6CGlMswXUe4dNtQcPWq06bFD5E7EbXNHjqanmlwOVBWQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159",
         "wx" : "1877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce",
         "wy" : "0821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGHcEW+JdNKHQYA+dXADQZFoqVDebbO76\n0ua/XCozUs6CGlMswXUe4dNtQcPWq06bFD5E7EbXNHjqanmlwOVBWQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1999,20 +2087,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERVQ5/MPS3uzt3q7OYOe9FzBPNuu2Aq31\noi4Ljx20alCuw4+yuvIh6ajRiHx79iIt0YNGNOdyYzFa9tI2CdBPdw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77",
         "wx" : "455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50",
         "wy" : "0aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERVQ5/MPS3uzt3q7OYOe9FzBPNuu2Aq31\noi4Ljx20alCuw4+yuvIh6ajRiHx79iIt0YNGNOdyYzFa9tI2CdBPdw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -2022,20 +2111,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece7180449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELh9GawJMDDrOJDfeCRJ/7QS3BvlLGaIb\nscKs81zs5xgESa41I9clNOlklyz9OzivC93ZYZ5a8iPk0aQPNM+fHQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece7180449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d",
         "wx" : "2e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece718",
         "wy" : "449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece7180449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELh9GawJMDDrOJDfeCRJ/7QS3BvlLGaIb\nscKs81zs5xgESa41I9clNOlklyz9OzivC93ZYZ5a8iPk0aQPNM+fHQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -2043,7 +2133,7 @@
           "flags" : []
         },
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020103",
@@ -2053,20 +2143,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a25305adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE3aldewaY3l0tC08ANNvjW1D5ePzFGKhK\nv5yZ79lqJTBa3AjWpj2+gxq5nNkUbjxMRUkq0ZUhYSVCJW1q9g54iA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a25305adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888",
         "wx" : "0dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a2530",
         "wy" : "5adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a25305adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE3aldewaY3l0tC08ANNvjW1D5ePzFGKhK\nv5yZ79lqJTBa3AjWpj2+gxq5nNkUbjxMRUkq0ZUhYSVCJW1q9g54iA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd04917c8",
@@ -2076,20 +2167,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000402ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee777eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAu9NbWz9WpTx13hCJuPipsCkNsVYOWGf\nOPtEcrX57nd+tKzU7r2lzXKHX/0qLyYinC3GtGUAkZpDLIZznzroZg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0402ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee777eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866",
         "wx" : "2ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee77",
         "wy" : "7eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000402ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee777eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAu9NbWz9WpTx13hCJuPipsCkNsVYOWGf\nOPtEcrX57nd+tKzU7r2lzXKHX/0qLyYinC3GtGUAkZpDLIZznzroZg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "302702020101022100c58b162c58b162c58b162c58b162c58a1b242973853e16db75c8a1a71da4d39d",
@@ -2099,20 +2191,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERk9P9xVynK5Qcso72AHTGVtnrsZemwGq\n0gopQ9y8tYSxr9KdMaOaEdVwqhWXQ5s7LRlxvy8avxVDLQIHsQ0dCA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08",
         "wx" : "464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584",
         "wy" : "0b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERk9P9xVynK5Qcso72AHTGVtnrsZemwGq\n0gopQ9y8tYSxr9KdMaOaEdVwqhWXQ5s7LRlxvy8avxVDLQIHsQ0dCA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "302c02072d9b4d347952cc022100fcbc5103d0da267477d1791461cf2aa44bf9d43198f79507bd8779d69a13108e",
@@ -2122,20 +2215,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4cdeadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEFX+P3fNz619Jz88Q2LhTz5HLzX1mXDUi\nun3XON23mkzerfGlxEjqPJ9BkaiZmr/MdXrG1kVn7wcsR/7GE0Q7jw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4cdeadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f",
         "wx" : "157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4c",
         "wy" : "0deadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4cdeadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEFX+P3fNz619Jz88Q2LhTz5HLzX1mXDUi\nun3XON23mkzerfGlxEjqPJ9BkaiZmr/MdXrG1kVn7wcsR/7GE0Q7jw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3032020d1033e67e37b32b445580bf4efc022100906f906f906f906f906f906f906f906ed8e426f7b1968c35a204236a579723d2",
@@ -2145,20 +2239,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200040934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAECTSlN0ZsB0MOLEj+uZC7Gft4zsyc7kJO\npNEwKRqiN/DU+S0jtGKAS1toxSVYwByZltv3J/zKu+7bliGkAFNa+g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa",
         "wx" : "0934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0",
         "wy" : "0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200040934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAECTSlN0ZsB0MOLEj+uZC7Gft4zsyc7kJO\npNEwKRqiN/DU+S0jtGKAS1toxSVYwByZltv3J/zKu+7bliGkAFNa+g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "3026020201010220783266e90f43dafe5cd9b3b0be86de22f9de83677d0f50713a468ec72fcf5d57",
@@ -2168,20 +2263,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c654a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1u8gvmbIk/dBqb+Q2bdGddHCoxKWOXrL\nPvF0/QswDGVKDJVHjKADmRYtfw8tyJ79wrKKMPur4oWFcpWksMTiZQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c654a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265",
         "wx" : "0d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c65",
         "wy" : "4a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c654a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1u8gvmbIk/dBqb+Q2bdGddHCoxKWOXrL\nPvF0/QswDGVKDJVHjKADmRYtfw8tyJ79wrKKMPur4oWFcpWksMTiZQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3031020d062522bbd3ecbe7c39e93e7c260220783266e90f43dafe5cd9b3b0be86de22f9de83677d0f50713a468ec72fcf5d57",
@@ -2191,20 +2287,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee0629c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEtykdFATgwMB9q5NyGJ9L1Y0s6qjRXt5U\nTZUUVFup7gYpyaY9XjCHacww7CdqQQ5kZKJ+6v2eWZ2xDwU6T+SoKQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee0629c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829",
         "wx" : "0b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee06",
         "wy" : "29c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee0629c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEtykdFATgwMB9q5NyGJ9L1Y0s6qjRXt5U\nTZUUVFup7gYpyaY9XjCHacww7CdqQQ5kZKJ+6v2eWZ2xDwU6T+SoKQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3045022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03640c1022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
@@ -2214,20 +2311,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEu3n2GFf3Q7+htucRHOQJQ3claWnk4VFZ\nEj2VSKzDvmwfnZ+IYNz/0+s23Wwx/y5yJsIAnEyU2NfStWhr96vWdw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677",
         "wx" : "0bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c",
         "wy" : "1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEu3n2GFf3Q7+htucRHOQJQ3claWnk4VFZ\nEj2VSKzDvmwfnZ+IYNz/0+s23Wwx/y5yJsIAnEyU2NfStWhr96vWdw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3025022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c1020101",
@@ -2235,7 +2333,7 @@
           "flags" : []
         },
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3025022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c1020100",
@@ -2245,20 +2343,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b415087401b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1TO3iaSviQ+nqCofrljEBPmmKlC0mtr6\ns0nFE7QVCHQBtBcbgD52s0qYYeEPe8KJoGb9Ab0p+EyYehCl+xjC1A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b415087401b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4",
         "wx" : "0d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b4150874",
         "wy" : "1b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b415087401b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1TO3iaSviQ+nqCofrljEBPmmKlC0mtr6\ns0nFE7QVCHQBtBcbgD52s0qYYeEPe8KJoGb9Ab0p+EyYehCl+xjC1A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "304402207fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
@@ -2268,20 +2367,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82ce87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/rUWOw7OMP8+A8fVXEOA+i+oHuLANUlC\n/28IyZ0M2CzofeBe4b2gidPk4kj6D3IRAqz//fUOZUvigUM5md+Jfg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82ce87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e",
         "wx" : "0feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82c",
         "wy" : "0e87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82ce87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/rUWOw7OMP8+A8fVXEOA+i+oHuLANUlC\n/28IyZ0M2CzofeBe4b2gidPk4kj6D3IRAqz//fUOZUvigUM5md+Jfg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "3045022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
@@ -2291,20 +2391,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd414922897640683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEI4ztABzyK4hT4C7cicvspQULp+BCp6d/\nk4LNQUkiiXZAaD0wlGQ4QPKViQqkwYqjm0HXfdD7O7JwDk+ewoT/wg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd414922897640683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2",
         "wx" : "238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd4149228976",
         "wy" : "40683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd414922897640683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEI4ztABzyK4hT4C7cicvspQULp+BCp6d/\nk4LNQUkiiXZAaD0wlGQ4QPKViQqkwYqjm0HXfdD7O7JwDk+ewoT/wg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e",
@@ -2314,20 +2415,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35ed2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAElhz2SBfAbA5Rs8JzbJIv3hi9jEkG/Nf1\n72bEZ4UI817SxdGBaM++cPLxI710GSMruS3WkRPilBBhiJSBxaAnvw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35ed2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf",
         "wx" : "0961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35e",
         "wy" : "0d2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35ed2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAElhz2SBfAbA5Rs8JzbJIv3hi9jEkG/Nf1\n72bEZ4UI817SxdGBaM++cPLxI710GSMruS3WkRPilBBhiJSBxaAnvw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8",
@@ -2337,20 +2439,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000413681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b1028816528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEE2gerhaM1Op88uKkXQUnQtEKn2TnloZ9\nvcuCn+CxAogWUodg0Xc3bAnfed45VXwynMF1NRes/+j6LsKYAmuDhA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0413681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b1028816528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384",
         "wx" : "13681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b10288",
         "wy" : "16528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000413681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b1028816528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEE2gerhaM1Op88uKkXQUnQtEKn2TnloZ9\nvcuCn+CxAogWUodg0Xc3bAnfed45VXwynMF1NRes/+j6LsKYAmuDhA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "3045022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b89",
@@ -2360,20 +2463,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c291c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEWqer/ba0CG1UMyXl15xulc5C+GbSu4SQ\nljOgS7GqMcKRyACIeUkF4dozM22HTi+RzPRcxZGFvt5d1vP3rKrhiw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c291c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b",
         "wx" : "5aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c2",
         "wy" : "091c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c291c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEWqer/ba0CG1UMyXl15xulc5C+GbSu4SQ\nljOgS7GqMcKRyACIeUkF4dozM22HTi+RzPRcxZGFvt5d1vP3rKrhiw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100e91e1ba6ba898620a46bcb51dc0b8b4ad1dc35dad892c4552d1847b2ce444637",
@@ -2383,20 +2487,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000400277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e464108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEACd3kbMFpFsrOVkLLwXTOSpsgYLO9OtU\nASDg9cIGw+RkEIIz+wuMOsiS15744Pv5LtEzrdtFVCcBMlhNxS7vQQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e464108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41",
         "wx" : "277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e4",
         "wy" : "64108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000400277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e464108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEACd3kbMFpFsrOVkLLwXTOSpsgYLO9OtU\nASDg9cIGw+RkEIIz+wuMOsiS15744Pv5LtEzrdtFVCcBMlhNxS7vQQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100e36bf0cec06d9b841da81332812f74f30bbaec9f202319206c6f0b8a0a400ff7",
@@ -2406,20 +2511,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1ac75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbvoJK2jelGDwvMkZAFpfboDhnemJaL48\n0sdwqZSb+xrHXm5Qh9ZVDV+b6x555QKTB7wlUjXi1dyZJBrDq4hsSQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1ac75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49",
         "wx" : "6efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1a",
         "wy" : "0c75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1ac75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbvoJK2jelGDwvMkZAFpfboDhnemJaL48\n0sdwqZSb+xrHXm5Qh9ZVDV+b6x555QKTB7wlUjXi1dyZJBrDq4hsSQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ea26b57af884b6c06e348efe139c1e4e9ec9518d60c340f6bac7d278ca08d8a6",
@@ -2429,20 +2535,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000472d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEctShnE+dLPWEjqQERbcNRpa18C1jLAxl\nTMfX7rDG0FjoxM2ZQ+RZF0x6wB+nQhmOR+bBmmvbDE9sI3gxwbP5Qg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0472d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942",
         "wx" : "72d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058",
         "wy" : "0e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000472d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEctShnE+dLPWEjqQERbcNRpa18C1jLAxl\nTMfX7rDG0FjoxM2ZQ+RZF0x6wB+nQhmOR+bBmmvbDE9sI3gxwbP5Qg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205b1d27a7694c146244a5ad0bd0636d9d9ef3b9fb58385418d9c982105077d1b7",
@@ -2452,20 +2559,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e740258f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEKo6i9Q3M7QwhdXW9+nzUfRxvEABB7A41\nUSeUwb5+dAJY+MFxIu0wP9pxQ+tYvt5wKVtlMmYBOwsOvT8FMTf27A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e740258f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec",
         "wx" : "2a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e7402",
         "wy" : "58f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e740258f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEKo6i9Q3M7QwhdXW9+nzUfRxvEABB7A41\nUSeUwb5+dAJY+MFxIu0wP9pxQ+tYvt5wKVtlMmYBOwsOvT8FMTf27A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100d27a7694c146244a5ad0bd0636d9e12abe687897e8e9998ddbd4e59a78520d0f",
@@ -2475,20 +2583,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000488de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b80c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiN5onOmvHpS+aiCJyKixJT/9u2yOnIYk\nm6IgABpK07gMSZjlSEL0E7ntsYJay7YzXoHk0YSysByL69yF0fKJRg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0488de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b80c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946",
         "wx" : "088de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b8",
         "wy" : "0c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000488de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b80c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiN5onOmvHpS+aiCJyKixJT/9u2yOnIYk\nm6IgABpK07gMSZjlSEL0E7ntsYJay7YzXoHk0YSysByL69yF0fKJRg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100a4f4ed29828c4894b5a17a0c6db3c256c2221449228a92dff7d76ca8206dd8dd",
@@ -2498,20 +2607,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/qLTH3D5DV+z4A4YasQqs8FhXO5xTgtO\nETGz1NgiW/ewN6GN8qwVND8w90Bn3fKegX1fd/jc4FcU2lnAlPDNqQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9",
         "wx" : "0fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7",
         "wy" : "0b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/qLTH3D5DV+z4A4YasQqs8FhXO5xTgtO\nETGz1NgiW/ewN6GN8qwVND8w90Bn3fKegX1fd/jc4FcU2lnAlPDNqQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220694c146244a5ad0bd0636d9e12bc9e09e60e68b90d0b5e6c5dddd0cb694d8799",
@@ -2521,20 +2631,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200047258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEcliRHj1CM0kWZHnb4Lg0Gvf70D0KfhDt\nzLNrbO6lo9sXrCuJknkRKPo7ltwvvUyjv6eC7ygy/GZWlD2xjnNGsA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0",
         "wx" : "7258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db",
         "wy" : "17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200047258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEcliRHj1CM0kWZHnb4Lg0Gvf70D0KfhDt\nzLNrbO6lo9sXrCuJknkRKPo7ltwvvUyjv6eC7ygy/GZWlD2xjnNGsA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203d7f487c07bfc5f30846938a3dcef696444707cf9677254a92b06c63ab867d22",
@@ -2544,20 +2655,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAETyhGHepkR01rs00Umcl9N7npVjPfHO7q\nrNRQFsmLORTIgYgQuMwG3bQOihJhxSj6pYlFXVpt+Tt3vF4OSTx0cA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470",
         "wx" : "4f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914",
         "wy" : "0c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAETyhGHepkR01rs00Umcl9N7npVjPfHO7q\nrNRQFsmLORTIgYgQuMwG3bQOihJhxSj6pYlFXVpt+Tt3vF4OSTx0cA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206c7648fc0fbf8a06adb8b839f97b4ff7a800f11b1e37c593b261394599792ba4",
@@ -2567,20 +2679,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000474f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEdPKoFPtdjsqRppteYHEnMrOTfeMoKb6X\nTte2jFwvXWbv8PB8VvmHplf0IZYgX1iMDx2W/YpjpfI4tI9Hh4j+Ow==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0474f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b",
         "wx" : "74f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66",
         "wy" : "0eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000474f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEdPKoFPtdjsqRppteYHEnMrOTfeMoKb6X\nTte2jFwvXWbv8PB8VvmHplf0IZYgX1iMDx2W/YpjpfI4tI9Hh4j+Ow==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009be363a286f23f6322c205449d320baad417953ecb70f6214e90d49d7d1f26a8",
@@ -2590,20 +2703,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6ab2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGVtRp8xKIbgnSnCpDed5gUw8jKNYMoII\nwJop8za4LWqyQWt8kv/9wpw7EoLdKnek0E3390UgRzk9hJmJxc7prQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6ab2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad",
         "wx" : "195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6a",
         "wy" : "0b2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6ab2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGVtRp8xKIbgnSnCpDed5gUw8jKNYMoII\nwJop8za4LWqyQWt8kv/9wpw7EoLdKnek0E3390UgRzk9hJmJxc7prQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022029798c5c45bdf58b4a7b2fdc2c46ab4af1218c7eeb9f0f27a88f1267674de3b0",
@@ -2613,20 +2727,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYi/HRzIDS+wt3zvBbTSz0fejJ90qjBm6\ntLtP46JLWKpzay8vrnb0367MkJYzOwEyjVHrP9qckifpDQtEmYPE8A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0",
         "wx" : "622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa",
         "wy" : "736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYi/HRzIDS+wt3zvBbTSz0fejJ90qjBm6\ntLtP46JLWKpzay8vrnb0367MkJYzOwEyjVHrP9qckifpDQtEmYPE8A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02200b70f22ca2bb3cefadca1a5711fa3a59f4695385eb5aedf3495d0b6d00f8fd85",
@@ -2636,20 +2751,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c70827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEH3+FyvLXVQ56+bZQI+u03ONFAxFpIwnb\nJplpuDS2EccIJ/RbeAIOy7r0hP3Vv6rmhw8RhMIVgbr274K9e1MPkw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c70827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93",
         "wx" : "1f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c7",
         "wy" : "0827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c70827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEH3+FyvLXVQ56+bZQI+u03ONFAxFpIwnb\nJplpuDS2EccIJ/RbeAIOy7r0hP3Vv6rmhw8RhMIVgbr274K9e1MPkw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022016e1e459457679df5b9434ae23f474b3e8d2a70bd6b5dbe692ba16da01f1fb0a",
@@ -2659,20 +2775,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000449c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377aefc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEScGX3ICtHaR6Q0K5OJPo4fsLuU/DOoPn\ng8ALJMeBN3rvwg2pK6x2KVH3JHS+zHNNTMIrqBuJXigv2sTfevDzfQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0449c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377aefc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d",
         "wx" : "49c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377a",
         "wy" : "0efc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000449c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377aefc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEScGX3ICtHaR6Q0K5OJPo4fsLuU/DOoPn\ng8ALJMeBN3rvwg2pK6x2KVH3JHS+zHNNTMIrqBuJXigv2sTfevDzfQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202252d685e831b6cf095e4f0535eeaf0ddd3bfa91c210c9d9dc17224702eaf88f",
@@ -2682,20 +2799,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2MtoUXthalZACqOGhjXlS29plZii9hZ3\nV2VJgLr2rL5+yM9EnISaoDRhow762kFFPFfG5vvJO7xvpJrabcBVXA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c",
         "wx" : "0d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe",
         "wy" : "7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2MtoUXthalZACqOGhjXlS29plZii9hZ3\nV2VJgLr2rL5+yM9EnISaoDRhow762kFFPFfG5vvJO7xvpJrabcBVXA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022075135abd7c425b60371a477f09ce0f274f64a8c6b061a07b5d63e93c65046c53",
@@ -2705,20 +2823,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004030713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAwcT+2Pyqm/iyt8bIO/CWcd0Rdr6h9rD\nmLhAZco0ffOyJ4GN4aObWJywcdg+UxfMzcIzjlHjEv4x2Nw0pIAXUA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04030713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750",
         "wx" : "30713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3",
         "wy" : "0b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004030713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAwcT+2Pyqm/iyt8bIO/CWcd0Rdr6h9rD\nmLhAZco0ffOyJ4GN4aObWJywcdg+UxfMzcIzjlHjEv4x2Nw0pIAXUA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100d55555555555555555555555555555547c74934474db157d2a8c3f088aced62a",
@@ -2728,20 +2847,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEurs2d7CVWALY6SmkE1VkDq8eoTU/incT\nMcSUbjSAr6clLxlsh+09KlnTsbVZE3/tABP+zvwZ+1qSaCubylG5UA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950",
         "wx" : "0babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7",
         "wy" : "252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEurs2d7CVWALY6SmkE1VkDq8eoTU/incT\nMcSUbjSAr6clLxlsh+09KlnTsbVZE3/tABP+zvwZ+1qSaCubylG5UA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100c1777c8853938e536213c02464a936000ba1e21c0fc62075d46c624e23b52f31",
@@ -2751,20 +2871,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGqsgGHk0cREaig6bFD/eAvyVkgeW06Y9\n4ym0JDlvumC75BMHBRdHkkQbMY06ox3+hXeCHptEbsVz0nLgNsTr6Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9",
         "wx" : "1aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60",
         "wy" : "0bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGqsgGHk0cREaig6bFD/eAvyVkgeW06Y9\n4ym0JDlvumC75BMHBRdHkkQbMY06ox3+hXeCHptEbsVz0nLgNsTr6Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022030bbb794db588363b40679f6c182a50d3ce9679acdd3ffbe36d7813dacbdc818",
@@ -2774,20 +2895,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjLC5CUmcg+qAbNiFsd1GegEZ8GqIoCdu\nsM/aJ0U1qP9HtUKIM7w/LIv52QQRWM8zcYpplhzQFym8ABHR5YardQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75",
         "wx" : "08cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff",
         "wy" : "47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjLC5CUmcg+qAbNiFsd1GegEZ8GqIoCdu\nsM/aJ0U1qP9HtUKIM7w/LIv52QQRWM8zcYpplhzQFym8ABHR5YardQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202c37fd995622c4fb7fffffffffffffffc7cee745110cb45ab558ed7c90c15a2f",
@@ -2797,20 +2919,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjwPPGkInK7FTJyMJP3Lm/urIXhcA6fvp\npqLdZC10v107iacYna2M91/CL28ViqJ/nCygDaynhb4zWPK9o4YsoA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0",
         "wx" : "08f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d",
         "wy" : "3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjwPPGkInK7FTJyMJP3Lm/urIXhcA6fvp\npqLdZC10v107iacYna2M91/CL28ViqJ/nCygDaynhb4zWPK9o4YsoA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207fd995622c4fb7ffffffffffffffffff5d883ffab5b32652ccdcaa290fccb97d",
@@ -2820,20 +2943,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8acea2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERN47nHpXqMnoIJUnU0IefZh7s9efcfAT\ngFyJfgGPis6iRgdYyPmNP9zhIalDZZ43LDJv/y5fwq5/o/edquE8Eg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8acea2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12",
         "wx" : "44de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8ace",
         "wy" : "0a2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8acea2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERN47nHpXqMnoIJUnU0IefZh7s9efcfAT\ngFyJfgGPis6iRgdYyPmNP9zhIalDZZ43LDJv/y5fwq5/o/edquE8Eg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ffb32ac4589f6ffffffffffffffffffebb107ff56b664ca599b954521f9972fa",
@@ -2843,20 +2967,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEb7iytI4zAxJorWpRdITciDnqkPZmnqDH\nrDIz4qwxOUoKyLvn9zwv9N+ZeHJ6wd/C/VhkfSDzH5kQUxa2RnHyBA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204",
         "wx" : "6fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a",
         "wy" : "0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEb7iytI4zAxJorWpRdITciDnqkPZmnqDH\nrDIz4qwxOUoKyLvn9zwv9N+ZeHJ6wd/C/VhkfSDzH5kQUxa2RnHyBA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205622c4fb7fffffffffffffffffffffff928a8f1c7ac7bec1808b9f61c01ec327",
@@ -2866,20 +2991,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvqcRIqBIaT6QX/YCs8+d0Yr2m5/J2EMd\nKx3Sa5Qsleb0PHuLletiCCwS2529p/445Fy+SkiGkH+4G9sMXqkkbA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c",
         "wx" : "0bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6",
         "wy" : "0f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvqcRIqBIaT6QX/YCs8+d0Yr2m5/J2EMd\nKx3Sa5Qsleb0PHuLletiCCwS2529p/445Fy+SkiGkH+4G9sMXqkkbA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022044104104104104104104104104104103b87853fd3b7d3f8e175125b4382f25ed",
@@ -2889,20 +3015,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2pGMcxugaiDLlO8zt3jpgaQEowXxlB/j\nNma0WwM1MVbiuyaU9XW0UYO+eOXJtSEL879Ij9TIKUUW2JVyyk9TkQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391",
         "wx" : "0da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156",
         "wy" : "0e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2pGMcxugaiDLlO8zt3jpgaQEowXxlB/j\nNma0WwM1MVbiuyaU9XW0UYO+eOXJtSEL879Ij9TIKUUW2JVyyk9TkQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202739ce739ce739ce739ce739ce739ce705560298d1f2f08dc419ac273a5b54d9",
@@ -2912,20 +3039,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEMAfpLDk32t55ZN+jWw7/Ax9+sCrtCgMU\nQREGzetw/j1adUb8BVKZeyDj1vQT514stm4RYyJpcRS3m6xzS/xNxQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5",
         "wx" : "3007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d",
         "wy" : "5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEMAfpLDk32t55ZN+jWw7/Ax9+sCrtCgMU\nQREGzetw/j1adUb8BVKZeyDj1vQT514stm4RYyJpcRS3m6xzS/xNxQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100b777777777777777777777777777777688e6a1fe808a97a348671222ff16b863",
@@ -2935,20 +3063,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000460e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9bd2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYOc071Yk08vw3dN1ARvWY9bWrrxkTrWZ\n/fmNvc0YzpvS2Qs6wx8TmvgyzM9sy7ssbqEfqXNw3JkG2kdNfYp1Zw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0460e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9bd2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567",
         "wx" : "60e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9b",
         "wy" : "0d2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000460e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9bd2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYOc071Yk08vw3dN1ARvWY9bWrrxkTrWZ\n/fmNvc0YzpvS2Qs6wx8TmvgyzM9sy7ssbqEfqXNw3JkG2kdNfYp1Zw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206492492492492492492492492492492406dd3a19b8d5fb875235963c593bd2d3",
@@ -2958,20 +3087,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000485a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba33769744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEhakA6XhY9pPAt9+iYeOA2tbqBG0fZd3u\n7dX32K8LozdpdE0VrdT2wLw7DaKuyTs0y4xl+TQN33TnsACe7szOPA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0485a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba33769744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c",
         "wx" : "085a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba337",
         "wy" : "69744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000485a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba33769744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEhakA6XhY9pPAt9+iYeOA2tbqBG0fZd3u\n7dX32K8LozdpdE0VrdT2wLw7DaKuyTs0y4xl+TQN33TnsACe7szOPA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 271,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100955555555555555555555555555555547c74934474db157d2a8c3f088aced62c",
@@ -2981,20 +3111,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000438066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEOAZvddiO/EyT3jb0ngN7I0zBix3lYIdQ\npiyrA0VAEEaj6EvtjPy4Ge9NVQRE8s5LZRdmtp4uKQH4iDb/kANP7Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0438066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed",
         "wx" : "38066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046",
         "wy" : "0a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000438066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEOAZvddiO/EyT3jb0ngN7I0zBix3lYIdQ\npiyrA0VAEEaj6EvtjPy4Ge9NVQRE8s5LZRdmtp4uKQH4iDb/kANP7Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
+          "tcId" : 272,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3e3a49a23a6d8abe95461f8445676b17",
@@ -3004,20 +3135,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000498f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabfa33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEmPaBd9yVwbTL+lJFSIylI6fVYpRw0DXW\nIaRDxy85qr+jPSlUb6HGSPLH1cz3DPHOSrebXbGsBZ2+zQaNvf8biQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0498f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabfa33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89",
         "wx" : "098f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabf",
         "wy" : "0a33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000498f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabfa33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEmPaBd9yVwbTL+lJFSIylI6fVYpRw0DXW\nIaRDxy85qr+jPSlUb6HGSPLH1cz3DPHOSrebXbGsBZ2+zQaNvf8biQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 273,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100bffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364143",
@@ -3027,20 +3159,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEXCu/ojybmtB/A4qom0kwvyZ9lAHkJV3p\n6NoKUHjsgnfj6IKjHV5qN54Hk5g8ze05uVxDU6sv8B6lNpukewwxkQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191",
         "wx" : "5c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277",
         "wy" : "0e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEXCu/ojybmtB/A4qom0kwvyZ9lAHkJV3p\n6NoKUHjsgnfj6IKjHV5qN54Hk5g8ze05uVxDU6sv8B6lNpukewwxkQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 266,
+          "tcId" : 274,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220185ddbca6dac41b1da033cfb60c152869e74b3cd66e9ffdf1b6bc09ed65ee40c",
@@ -3050,20 +3183,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a3853547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4U1R4CCmESO215wGt6EzV+xrJVnul6Ptoprkz7EtcyEzA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a3853547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc",
         "wx" : "2ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385",
         "wy" : "3547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a3853547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4U1R4CCmESO215wGt6EzV+xrJVnul6Ptoprkz7EtcyEzA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 267,
+          "tcId" : 275,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "3045022032b0d10d8d0e04bc8d4d064d270699e87cffc9b49c5c20730e1c26f6105ddcda022100d612c2984c2afa416aa7f2882a486d4a8426cb6cfc91ed5b737278f9fca8be68",
@@ -3075,20 +3209,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4XKuH99Z7txJKGP5SF7MqBOU2qYRaFwSXWUbME6SjN3Yw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763",
         "wx" : "2ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385",
         "wy" : "0cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4XKuH99Z7txJKGP5SF7MqBOU2qYRaFwSXWUbME6SjN3Yw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 268,
+          "tcId" : 276,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "3045022032b0d10d8d0e04bc8d4d064d270699e87cffc9b49c5c20730e1c26f6105ddcda022100d612c2984c2afa416aa7f2882a486d4a8426cb6cfc91ed5b737278f9fca8be68",
@@ -3100,20 +3235,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiqLGT6nGQ3Vjq/vL0AsgSNSMGMFSoqb0\nkDbedkfr6C4c5kOHmVxooGD6O8A5mwXMBu7H1Zj3UEGkkX5pK39R/w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff",
         "wx" : "08aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e",
         "wy" : "1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiqLGT6nGQ3Vjq/vL0AsgSNSMGMFSoqb0\nkDbedkfr6C4c5kOHmVxooGD6O8A5mwXMBu7H1Zj3UEGkkX5pK39R/w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 269,
+          "tcId" : 277,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0022033333333333333333333333333333332f222f8faefdb533f265d461c29a47373",
@@ -3123,21 +3259,22 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71fdd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEORQn/37ngBPBSux9lqigYiCSmKeDg16U\n/WVJ1QL/9x/dZiTsNDrZ/PTZhyGB5Z+EL5ukzMrgmmwJcvtqxrTGvQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71fdd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd",
         "wx" : "391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71f",
         "wy" : "0dd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71fdd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEORQn/37ngBPBSux9lqigYiCSmKeDg16U\n/WVJ1QL/9x/dZiTsNDrZ/PTZhyGB5Z+EL5ukzMrgmmwJcvtqxrTGvQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 270,
-          "comment" : "extreme value for k",
+          "tcId" : 278,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
           "result" : "valid",
@@ -3146,21 +3283,142 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb248185ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEPzlSGZd0x885s4tmyxBCpiYNhoCAOEXk\n1DOtujuySBhepJW2jLx+1Bc+5jyQQtxQJiXH634h+wLKmpEU4KOhjQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e762b8a219b4f180219cc7a9059245e4961bd191c03899789c7a34b89e8c138ec1533ef0419bb7376e0bfde9319d10a06968791d9ea0eed9c1ce6345aed9759e",
+        "wx" : "0e762b8a219b4f180219cc7a9059245e4961bd191c03899789c7a34b89e8c138e",
+        "wy" : "0c1533ef0419bb7376e0bfde9319d10a06968791d9ea0eed9c1ce6345aed9759e"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004e762b8a219b4f180219cc7a9059245e4961bd191c03899789c7a34b89e8c138ec1533ef0419bb7376e0bfde9319d10a06968791d9ea0eed9c1ce6345aed9759e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE52K4ohm08YAhnMepBZJF5JYb0ZHAOJl4\nnHo0uJ6ME47BUz7wQZu3N24L/ekxnRCgaWh5HZ6g7tnBzmNFrtl1ng==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3046022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022100b6db6db6db6db6db6db6db6db6db6db5f30f30127d33e02aad96438927022e9c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049aedb0d281db164e130000c5697fae0f305ef848be6fffb43ac593fbb950e952fa6f633359bdcd82b56b0b9f965b037789d46b9a8141b791b2aefa713f96c175",
+        "wx" : "09aedb0d281db164e130000c5697fae0f305ef848be6fffb43ac593fbb950e952",
+        "wy" : "0fa6f633359bdcd82b56b0b9f965b037789d46b9a8141b791b2aefa713f96c175"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200049aedb0d281db164e130000c5697fae0f305ef848be6fffb43ac593fbb950e952fa6f633359bdcd82b56b0b9f965b037789d46b9a8141b791b2aefa713f96c175",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEmu2w0oHbFk4TAADFaX+uDzBe+Ei+b/+0\nOsWT+7lQ6VL6b2MzWb3NgrVrC5+WWwN3idRrmoFBt5GyrvpxP5bBdQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3046022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee502210099999999999999999999999999999998d668eaf0cf91f9bd7317d2547ced5a5a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048ad445db62816260e4e687fd1884e48b9fc0636d031547d63315e792e19bfaee1de64f99d5f1cd8b6ec9cb0f787a654ae86993ba3db1008ef43cff0684cb22bd",
+        "wx" : "08ad445db62816260e4e687fd1884e48b9fc0636d031547d63315e792e19bfaee",
+        "wy" : "1de64f99d5f1cd8b6ec9cb0f787a654ae86993ba3db1008ef43cff0684cb22bd"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048ad445db62816260e4e687fd1884e48b9fc0636d031547d63315e792e19bfaee1de64f99d5f1cd8b6ec9cb0f787a654ae86993ba3db1008ef43cff0684cb22bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEitRF22KBYmDk5of9GITki5/AY20DFUfW\nMxXnkuGb+u4d5k+Z1fHNi27Jyw94emVK6GmTuj2xAI70PP8GhMsivQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022066666666666666666666666666666665e445f1f5dfb6a67e4cba8c385348e6e7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041f5799c95be89063b24f26e40cb928c1a868a76fb0094607e8043db409c91c32e75724e813a4191e3a839007f08e2e897388b06d4a00de6de60e536d91fab566",
+        "wx" : "1f5799c95be89063b24f26e40cb928c1a868a76fb0094607e8043db409c91c32",
+        "wy" : "0e75724e813a4191e3a839007f08e2e897388b06d4a00de6de60e536d91fab566"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041f5799c95be89063b24f26e40cb928c1a868a76fb0094607e8043db409c91c32e75724e813a4191e3a839007f08e2e897388b06d4a00de6de60e536d91fab566",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEH1eZyVvokGOyTybkDLkowahop2+wCUYH\n6AQ9tAnJHDLnVyToE6QZHjqDkAfwji6Jc4iwbUoA3m3mDlNtkfq1Zg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022049249249249249249249249249249248c79facd43214c011123c1b03a93412a5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a3331a4e1b4223ec2c027edd482c928a14ed358d93f1d4217d39abf69fcb5ccc28d684d2aaabcd6383775caa6239de26d4c6937bb603ecb4196082f4cffd509d",
+        "wx" : "0a3331a4e1b4223ec2c027edd482c928a14ed358d93f1d4217d39abf69fcb5ccc",
+        "wy" : "28d684d2aaabcd6383775caa6239de26d4c6937bb603ecb4196082f4cffd509d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004a3331a4e1b4223ec2c027edd482c928a14ed358d93f1d4217d39abf69fcb5ccc28d684d2aaabcd6383775caa6239de26d4c6937bb603ecb4196082f4cffd509d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEozMaThtCI+wsAn7dSCySihTtNY2T8dQh\nfTmr9p/LXMwo1oTSqqvNY4N3XKpiOd4m1MaTe7YD7LQZYIL0z/1QnQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee502200eb10e5ab95f2f275348d82ad2e4d7949c8193800d8c9c75df58e343f0ebba7b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb248185ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d",
         "wx" : "3f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb24818",
         "wy" : "5ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb248185ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEPzlSGZd0x885s4tmyxBCpiYNhoCAOEXk\n1DOtujuySBhepJW2jLx+1Bc+5jyQQtxQJiXH634h+wLKmpEU4KOhjQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 271,
-          "comment" : "extreme value for k",
+          "tcId" : 284,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
           "result" : "valid",
@@ -3169,20 +3427,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cdfb8c0f422e144e137c2412c86c171f5fe3fa3f5bbb544e9076288f3ced786e054fd0721b77c11c79beacb3c94211b0a19bda08652efeaf92513a3b0a163698",
+        "wx" : "0cdfb8c0f422e144e137c2412c86c171f5fe3fa3f5bbb544e9076288f3ced786e",
+        "wy" : "54fd0721b77c11c79beacb3c94211b0a19bda08652efeaf92513a3b0a163698"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004cdfb8c0f422e144e137c2412c86c171f5fe3fa3f5bbb544e9076288f3ced786e054fd0721b77c11c79beacb3c94211b0a19bda08652efeaf92513a3b0a163698",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEzfuMD0IuFE4TfCQSyGwXH1/j+j9bu1RO\nkHYojzzteG4FT9ByG3fBHHm+rLPJQhGwoZvaCGUu/q+SUTo7ChY2mA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 285,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022100b6db6db6db6db6db6db6db6db6db6db5f30f30127d33e02aad96438927022e9c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0473598a6a1c68278fa6bfd0ce4064e68235bc1c0f6b20a928108be336730f87e3cbae612519b5032ecc85aed811271a95fe7939d5d3460140ba318f4d14aba31d",
+        "wx" : "73598a6a1c68278fa6bfd0ce4064e68235bc1c0f6b20a928108be336730f87e3",
+        "wy" : "0cbae612519b5032ecc85aed811271a95fe7939d5d3460140ba318f4d14aba31d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000473598a6a1c68278fa6bfd0ce4064e68235bc1c0f6b20a928108be336730f87e3cbae612519b5032ecc85aed811271a95fe7939d5d3460140ba318f4d14aba31d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEc1mKahxoJ4+mv9DOQGTmgjW8HA9rIKko\nEIvjNnMPh+PLrmElGbUDLsyFrtgRJxqV/nk51dNGAUC6MY9NFKujHQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 286,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179802210099999999999999999999999999999998d668eaf0cf91f9bd7317d2547ced5a5a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0458debd9a7ee2c9d59132478a5440ae4d5d7ed437308369f92ea86c82183f10a16773e76f5edbf4da0e4f1bdffac0f57257e1dfa465842931309a24245fda6a5d",
+        "wx" : "58debd9a7ee2c9d59132478a5440ae4d5d7ed437308369f92ea86c82183f10a1",
+        "wy" : "6773e76f5edbf4da0e4f1bdffac0f57257e1dfa465842931309a24245fda6a5d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000458debd9a7ee2c9d59132478a5440ae4d5d7ed437308369f92ea86c82183f10a16773e76f5edbf4da0e4f1bdffac0f57257e1dfa465842931309a24245fda6a5d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEWN69mn7iydWRMkeKVECuTV1+1Dcwg2n5\nLqhsghg/EKFnc+dvXtv02g5PG9/6wPVyV+HfpGWEKTEwmiQkX9pqXQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 287,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022066666666666666666666666666666665e445f1f5dfb6a67e4cba8c385348e6e7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048b904de47967340c5f8c3572a720924ef7578637feab1949acb241a5a6ac3f5b950904496f9824b1d63f3313bae21b89fae89afdfc811b5ece03fd5aa301864f",
+        "wx" : "08b904de47967340c5f8c3572a720924ef7578637feab1949acb241a5a6ac3f5b",
+        "wy" : "0950904496f9824b1d63f3313bae21b89fae89afdfc811b5ece03fd5aa301864f"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048b904de47967340c5f8c3572a720924ef7578637feab1949acb241a5a6ac3f5b950904496f9824b1d63f3313bae21b89fae89afdfc811b5ece03fd5aa301864f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEi5BN5HlnNAxfjDVypyCSTvdXhjf+qxlJ\nrLJBpaasP1uVCQRJb5gksdY/MxO64huJ+uia/fyBG17OA/1aowGGTw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 288,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022049249249249249249249249249249248c79facd43214c011123c1b03a93412a5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f4892b6d525c771e035f2a252708f3784e48238604b4f94dc56eaa1e546d941a346b1aa0bce68b1c50e5b52f509fb5522e5c25e028bc8f863402edb7bcad8b1b",
+        "wx" : "0f4892b6d525c771e035f2a252708f3784e48238604b4f94dc56eaa1e546d941a",
+        "wy" : "346b1aa0bce68b1c50e5b52f509fb5522e5c25e028bc8f863402edb7bcad8b1b"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004f4892b6d525c771e035f2a252708f3784e48238604b4f94dc56eaa1e546d941a346b1aa0bce68b1c50e5b52f509fb5522e5c25e028bc8f863402edb7bcad8b1b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE9IkrbVJcdx4DXyolJwjzeE5II4YEtPlN\nxW6qHlRtlBo0axqgvOaLHFDltS9Qn7VSLlwl4Ci8j4Y0Au23vK2LGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 289,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179802200eb10e5ab95f2f275348d82ad2e4d7949c8193800d8c9c75df58e343f0ebba7b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
+        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
+        "wy" : "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
+      },
       "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeb5mfvncu6xVoGKVzocLBwKb/NstzijZ\nWfKBWxb4F5hIOtp3JqPEZV2k+/wOEQio/Re0SKaFVBmcR9CP+xDUuA==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp256k1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
-        "wy" : "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
-      },
       "tests" : [
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502302202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
@@ -3190,7 +3569,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3044022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e02202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
@@ -3200,20 +3579,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777",
+        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
+        "wy" : "0b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777"
+      },
       "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeb5mfvncu6xVoGKVzocLBwKb/NstzijZ\nWfKBWxb4F5i3xSWI2Vw7mqJbBAPx7vdXAuhLt1l6q+ZjuC9vBO8ndw==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp256k1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
-        "wy" : "0b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777"
-      },
       "tests" : [
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502302202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
@@ -3221,7 +3601,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3044022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e02202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
@@ -3231,20 +3611,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeCyO0X47Kng7VGTzOwllKnHGeOBexR6E\n4rz8Zjo96WOvmstCgLjH98QvTvmrpiRewewXEv04oPqWQY2M1qphUg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152",
         "wx" : "782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963",
         "wy" : "0af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeCyO0X47Kng7VGTzOwllKnHGeOBexR6E\n4rz8Zjo96WOvmstCgLjH98QvTvmrpiRewewXEv04oPqWQY2M1qphUg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3046022100f80ae4f96cdbc9d853f83d47aae225bf407d51c56b7776cd67d0dc195d99a9dc022100b303e26be1f73465315221f0b331528807a1a9b6eb068ede6eebeaaa49af8a36",
@@ -3252,7 +3633,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3045022046c6a602c620ad6dd9bcc38fdbde3786a8b39186595aa110485279d27d08af0d0221008653eae21ae129a1133188611946d73f56c7cd63454397ea9ea4db46f7e8e77e",
@@ -3260,7 +3641,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3045022100e1d93efb91cd529957a435f3e7638b4a5eae4f32ed6c639e9975178a79389bbc02206929c855b1d62009586260fb3507d89271a2f0356156a7017a628bfb4dba3d6a",
@@ -3268,7 +3649,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304502201b3dbb40c2f3d2ed950b32f0b49464f3d4e57e533f9d6d20e8bfb5b8fe3f10660221008effca43042829b985a4c4f839168e111fbfe496a6e631a9ca6b4616b56d34ce",
@@ -3276,7 +3657,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402200f97f629b81d7b795deb6f7cb13934701c55b050a407e9ae2472c077eac7c3d302205b73afed87128d98d41e50b639b92c1a4ace56959410ac2542ce0a366e27d248",
@@ -3284,7 +3665,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3046022100dcdbe5ccd4caa1c29e72f88c8c4d68480a46a639f6c15c1876990513605f6250022100819b949534af8952d203e84470f92faad40dc7eb373c44d0a1dd7c0bde78e7df",
@@ -3292,7 +3673,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3046022100b232ec1e548d0099a131ebca06f69233bdd5e8b0e40836555d3a011697021b51022100febcf8aeabb0d837f13eb3282714c9145932ceec359faffbb191b081436832bf",
@@ -3300,7 +3681,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30440220405881c4921cb39611b7da245a3f16fc47065a5a4b5bf0b8168eac6e970e2b1f02202f3ec1022ccc0788b9a85567b896dacec87e4f1737bd2db5a10519690740cc63",
@@ -3308,7 +3689,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30450220070b3ac51f721c3c256d0af38e6c8665189e125540bf24cb0143333f9d011ead022100b17016b278f763fdbc185e648ffad2bed15803ce43af7c4865c066a4e86fb523",
@@ -3316,7 +3697,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402204e264eb2ab4133aa7fa687f972f1e63fcf9e8e215918a76f27b8fc7443d397db022034634536ea7d4babcad17eb108f70ded16937d3bb1c679393e55583e17b0e9d1",
@@ -3324,7 +3705,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30450220109cd8ae0374358984a8249c0a843628f2835ffad1df1a9a69aa2fe72355545c022100ac6f00daf53bd8b1e34da329359b6e08019c5b037fed79ee383ae39f85a159c6",
@@ -3332,7 +3713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3045022100b75c7a80d04d252fc4de897faa22778007d04d84f05dffd446a0e20f707faf8302204b86a97e3c3c4b2eb2f29568c663ff6dcf1d0bfbadcf465f209933bd6dd22d6d",
@@ -3340,7 +3721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304502204df1eb0f8f8d552865c3115c62cde2c3c1e3498e8e42b9a0edd51610f8c83bf1022100a94c200a354237fd789d17d2effb21a1958ae608da1452402fe94065ac37f332",
@@ -3348,7 +3729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304502202ea8eda3df2968e21ffc7af2a0bf960d11bb1677d35e74cf2225221d1531c880022100a0fc494bca24f8aab343479f53f3749d80d0479b983c013a6c0cb3cd7d359f74",
@@ -3356,7 +3737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304502206b0e22b021a0169a07c9585e04c750e56e6112851ccb791b7fa9216c043c3a18022100b41078a9452b3f708322585ee2bb063c106c24c998b321c45c0860f3fb889125",
@@ -3364,7 +3745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30460221008111b8f2f92e729d540c24192b468980288dc6d29f39b3c87c17d0fdacc8831e022100b6684fb2b413a1f496677ba1adb845aa6e5a109b9b398260e1dc98b5e4931f06",
@@ -3372,7 +3753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3045022100bedcc4a861790226833df84cc110dc68ff4299458c9b3ada6d085a1c722a3d5b022059f2580b59e751a02efbdd0637c444f843d602c9df153d611b16e6e604356f1a",
@@ -3380,7 +3761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304402206b3ffb0f27a25790cbd38358b6365a6b80c66bbacb710e548d348ec23831218f022065386fce0e4194b7c1370485712611c178da62a60ddc27185d0682c842c812f5",
@@ -3388,7 +3769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304502204aef876a310ed2ff28b48a3ff393463afd5f2ecff75738a1dee6487a6bb5f5ed022100c2545ca60c5e3cfd38796f1f375b9393db1697ec7e718cf0bd4942288ebd23d4",
@@ -3396,7 +3777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3045022100d341dd19d66897465a42c5f74434553f3ffe43caeeea7348d1f046fa945344ac022048e39471186694e32a5e615d371fbfbc14cce501e5453bae3e8e218bccc43e59",
@@ -3404,7 +3785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3045022100d035ee1f17fdb0b2681b163e33c359932659990af77dca632012b30b27a057b302201939d9f3b2858bc13e3474cb50e6a82be44faa71940f876c1cba4c3e989202b6",
@@ -3412,7 +3793,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100a2d376c52ef94bf6e458502ddf32b43e52cb6d7ca0aaf50f2e00421005507e4c022100d144a2f15c45eb048513756479eaf3fba64775297593c344596e6b3c19662c05",
@@ -3420,7 +3801,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100f0fd2a0a44f1a2444a8b49f6de26828ee161c238ed113a722405eec674d1a71802210099a2ce92ee0a0fe669ddbe0ef8ea2c1d51110c2136893fadf4db87f3d99d6fec",
@@ -3428,7 +3809,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3045022067acccba4288731964d2c74d4f4d001285105ea16a9223de721aa0aa0e6fd724022100fdf87529c6fdafca416bbb071a9ecbead4687f8fd948c3c5a48675a4cbee226f",
@@ -3436,7 +3817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30460221009cf78df6b7686451059d3ca9647f1371daf216a21788b85ec11f54969d6fc1af022100c7f983d6ae7c76b7257ff3ae58014b6fc9853819b83279be91ed04a529c6551e",
@@ -3444,7 +3825,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100fed6582391724cbdd28c5b814f5e357480b87277bb8d6872ceee9952440603bc022100f0cc3470b86bf97fd7ccd6cc1e1aa963a6159bdaa5c76eea77bf923363b77ca0",
@@ -3452,7 +3833,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30450221009a2a710a7be6ec784fe7369543f77b44b2bb62a8e50be7098ca9226802652de10220070c8fcc0725750cfbb0c9efbad090a534fb2dd62487671bfd0ea6eb10000283",
@@ -3460,7 +3841,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3045022072838caadc9e97cb56f81e98a99f14a3a07bd0e5ca8df695240be9533cb76fe7022100e13aaa4a7cdf7600d9c333cffbe7d75f796df2440d0be68a46a9267ff312a56d",
@@ -3468,7 +3849,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304502206e68dcc3b4a48cd0b031674a2d02d9e06868f218af75aae889a7fe09d9ed7574022100f951cf44dc5ed5069b43f7758f9ff1e96bfb936b2bb5d305fc929712a9f3adf3",
@@ -3476,7 +3857,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304402203fe91e6efd953769e8c016619d851cdadc6979d0dc337956cb4464cb756aa8770220596e2605e17a12f84d96d0321ecad44f4cb7f019d69fed9ca9ea67c9454b3ee0",
@@ -3484,7 +3865,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304402204f053f563ad34b74fd8c9934ce59e79c2eb8e6eca0fef5b323ca67d5ac7ed23802204d4b05daa0719e773d8617dce5631c5fd6f59c9bdc748e4b55c970040af01be5",
@@ -3492,7 +3873,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3046022100e2f7b85c9f8bf762fa478180e983a35ac1cd686ffcce7b2375f52e8919f7b7a5022100b72ad2cac62d18005f89b973924f65104a6f04dca5bb974e3b08d057c3683a74",
@@ -3500,7 +3881,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3045022100ff89d088eac71769a192339c28bdddc4b0cd7d8c1e86b14dc469748a7040475702204b99e739a65bdbd32957e913dcbc72f7022a1679b095516496d92c785f0d1fe9",
@@ -3508,7 +3889,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3046022100a4437b483cd616d650cd5200621fc3b298e9a2bbab2c3606289f65d8f16d64c1022100e7450d20cb0a63308ee9c77c18c67ba1b8caecb69ae5bf420c64124c8aab79b8",
@@ -3516,7 +3897,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304602210096d3703f3090e60bb60f7c91d6d9e3ad1d7bde144a3c8b2c6000e40381dbdfbf022100e331e363e91a2ae3eedbdc6d1a8ff3bfa614e277795d12ed909ef78c527412f2",
@@ -3524,7 +3905,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304502200a7a8c229fb5bf41cc36fb62c01aa83a237c36325e1bdcbc35576058b56f05dc022100bfd63a7787e3322eddbeacceb1cb9a5ee449d506cd3d4b361124c9d106409135",
@@ -3532,7 +3913,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3045022100a09cc138a2e1f90b142fe2958780e8081c624a0c72941a2cb584b3ab683f0e47022049eff087ef11d3e3f621d3bef8b9f44123cc6c250cc2de150af5ffaaf60cd60c",
@@ -3540,7 +3921,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304402207c94d4b2805e696cb40bfabaa29747cd54600c87100e2f38bd8f5f84afafc1aa02203222524423f4756f95235958d2e4170ef9cfa3181465369214ef556415bbf42b",
@@ -3548,7 +3929,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304502205a53a0291cb7e6f6e0a7264ce62b85ea366daede336553f9e15da76a9bdfb4a3022100d6caf6bc6f199c452c5bc04878697bfe815bf2015e66b04a9fc4ad63591ea2ff",
@@ -3556,7 +3937,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30460221008ab746e7e79bf53962ec0fc67917fd55e5bc9f4e459afd89f9ac90260705247d022100b5edfecab34048daf4db6c59fcddfc78429377215d2394cb31de1437103e52c1",
@@ -3566,20 +3947,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv8AAAABBgSS1aVnPg8l2NUPt+WMSdhtRtQhaVXgqj1A4Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1",
         "wx" : "6e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff",
         "wy" : "1060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv8AAAABBgSS1aVnPg8l2NUPt+WMSdhtRtQhaVXgqj1A4Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304402206d6a4f556ccce154e7fb9f19e76c3deca13d59cc2aeb4ecad968aab2ded45965022053b9fa74803ede0fc4441bf683d56c564d3e274e09ccf47390badd1471c05fb7",
@@ -3587,7 +3969,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100aad503de9b9fd66b948e9acf596f0a0e65e700b28b26ec56e6e45e846489b3c4022100fff223c5d0765447e8447a3f9d31fd0696e89d244422022ff61a110b2a8c2f04",
@@ -3595,7 +3977,7 @@
           "flags" : []
         },
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "30460221009182cebd3bb8ab572e167174397209ef4b1d439af3b200cdf003620089e43225022100abb88367d15fe62d1efffb6803da03109ee22e90bc9c78e8b4ed23630b82ea9d",
@@ -3605,20 +3987,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv/////++fttKlqYwfDaJyrwSBpztieSuSvelqoeVcK7Tg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e",
         "wx" : "6e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff",
         "wy" : "0fffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv/////++fttKlqYwfDaJyrwSBpztieSuSvelqoeVcK7Tg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304502203854a3998aebdf2dbc28adac4181462ccac7873907ab7f212c42db0e69b56ed8022100c12c09475c772fd0c1b2060d5163e42bf71d727e4ae7c03eeba954bf50b43bb3",
@@ -3626,7 +4009,7 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3046022100e94dbdc38795fe5c904d8f16d969d3b587f0a25d2de90b6d8c5c53ff887e3607022100856b8c963e9b68dade44750bf97ec4d11b1a0a3804f4cb79aa27bdea78ac14e4",
@@ -3634,7 +4017,7 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3044022049fc102a08ca47b60e0858cd0284d22cddd7233f94aaffbb2db1dd2cf08425e102205b16fca5a12cdb39701697ad8e39ffd6bdec0024298afaa2326aea09200b14d6",
@@ -3644,20 +4027,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAAAAAT/SIkjWTZX3PCm0irSGMYUL5QP9\nAPhGi18PcOD27nqkO8LG/SWx2CaSQcvdnbsNrJbcliMfQwcF+DhxfQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d",
         "wx" : "13fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0",
         "wy" : "0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAAAAAT/SIkjWTZX3PCm0irSGMYUL5QP9\nAPhGi18PcOD27nqkO8LG/SWx2CaSQcvdnbsNrJbcliMfQwcF+DhxfQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3045022041efa7d3f05a0010675fcb918a45c693da4b348df21a59d6f9cd73e0d831d67a022100bbab52596c1a1d9484296cdc92cbf07e665259a13791a8fe8845e2c07cf3fc67",
@@ -3665,7 +4049,7 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100b615698c358b35920dd883eca625a6c5f7563970cdfc378f8fe0cee17092144c022100da0b84cd94a41e049ef477aeac157b2a9bfa6b7ac8de06ed3858c5eede6ddd6d",
@@ -3673,7 +4057,7 @@
           "flags" : []
         },
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304602210087cf8c0eb82d44f69c60a2ff5457d3aaa322e7ec61ae5aecfd678ae1c1932b0e022100c522c4eea7eafb82914cbf5c1ff76760109f55ddddcf58274d41c9bc4311e06e",
@@ -3683,20 +4067,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEJa/WiayrrtZ8Hylt5ZQG+MVQ9XFGoLTs\nLJeHbf/////6RqduUgMi37xJHsTwzBl0IPxOpYg9j23VPDVLxPZ8NQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35",
         "wx" : "25afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dffffffff",
         "wy" : "0fa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEJa/WiayrrtZ8Hylt5ZQG+MVQ9XFGoLTs\nLJeHbf/////6RqduUgMi37xJHsTwzBl0IPxOpYg9j23VPDVLxPZ8NQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022062f48ef71ace27bf5a01834de1f7e3f948b9dce1ca1e911d5e13d3b104471d82022100a1570cc0f388768d3ba7df7f212564caa256ff825df997f21f72f5280d53011f",
@@ -3704,7 +4089,7 @@
           "flags" : []
         },
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3046022100f6b0e2f6fe020cf7c0c20137434344ed7add6c4be51861e2d14cbda472a6ffb40221009be93722c1a3ad7d4cf91723700cb5486de5479d8c1b38ae4e8e5ba1638e9732",
@@ -3712,7 +4097,7 @@
           "flags" : []
         },
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022100db09d8460f05eff23bc7e436b67da563fa4b4edb58ac24ce201fa8a358125057022046da116754602940c8999c8d665f786c50f5772c0a3cdbda075e77eabc64df16",
@@ -3722,20 +4107,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE0S5sZrZ3NMPITSYBz1013Al+J2N/CspK\nT9t0tqrdO7k/W9/4i9VzbfiY5pkAbtdQ8RzwfFhmzXrXDHEh/////w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
         "wx" : "0d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb9",
         "wy" : "3f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE0S5sZrZ3NMPITSYBz1013Al+J2N/CspK\nT9t0tqrdO7k/W9/4i9VzbfiY5pkAbtdQ8RzwfFhmzXrXDHEh/////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30450220592c41e16517f12fcabd98267674f974b588e9f35d35406c1a7bb2ed1d19b7b8022100c19a5f942607c3551484ff0dc97281f0cdc82bc48e2205a0645c0cf3d7f59da0",
@@ -3743,7 +4129,7 @@
           "flags" : []
         },
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3046022100be0d70887d5e40821a61b68047de4ea03debfdf51cdf4d4b195558b959a032b20221008266b4d270e24414ecacb14c091a233134b918d37320c6557d60ad0a63544ac4",
@@ -3751,7 +4137,7 @@
           "flags" : []
         },
         {
-          "tcId" : 330,
+          "tcId" : 348,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3046022100fae92dfcb2ee392d270af3a5739faa26d4f97bfd39ed3cbee4d29e26af3b206a02210093645c80605595e02c09a0dc4b17ac2a51846a728b3e8d60442ed6449fd3342b",
@@ -3761,20 +4147,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbUp/YNR3Sk8KqLve25U8fup5CUB+MWR1\nVmS8KAAAAADmWdNOTfONnoyeqt+6NmEsdpGVvobHeqw/NueLU4aA+w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb",
         "wx" : "6d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000",
         "wy" : "0e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbUp/YNR3Sk8KqLve25U8fup5CUB+MWR1\nVmS8KAAAAADmWdNOTfONnoyeqt+6NmEsdpGVvobHeqw/NueLU4aA+w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 331,
+          "tcId" : 349,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30450220176a2557566ffa518b11226694eb9802ed2098bfe278e5570fe1d5d7af18a943022100ed6e2095f12a03f2eaf6718f430ec5fe2829fd1646ab648701656fd31221b97d",
@@ -3782,7 +4169,7 @@
           "flags" : []
         },
         {
-          "tcId" : 332,
+          "tcId" : 350,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3045022060be20c3dbc162dd34d26780621c104bbe5dace630171b2daef0d826409ee5c2022100bd8081b27762ab6e8f425956bf604e332fa066a99b59f87e27dc1198b26f5caa",
@@ -3790,7 +4177,7 @@
           "flags" : []
         },
         {
-          "tcId" : 333,
+          "tcId" : 351,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3046022100edf03cf63f658883289a1a593d1007895b9f236d27c9c1f1313089aaed6b16ae022100e5b22903f7eb23adc2e01057e39b0408d495f694c83f306f1216c9bf87506074",
diff --git a/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha512_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha512_test.json
new file mode 100644
index 0000000..364271e
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp256k1_sha512_test.json
@@ -0,0 +1,4190 @@
+{
+  "algorithm" : "ECDSA",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
+    "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
+    "MissingZero" : "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.",
+    "PointDuplication" : "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."
+  },
+  "numberOfTests" : 351,
+  "header" : [],
+  "testGroups" : [
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9",
+        "wx" : "0b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6f",
+        "wy" : "0f0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEuDj/ROW8F3vyEYnQdmCC/J2EMiaIf8l2\nA3EQC37iCm/wyddb+6ezGmvKGXRJbutW3jVwcZVdg8Sxutqgshgy6Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "signature malleability",
+          "msg" : "313233343030",
+          "sig" : "304402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022034d2f1a567d7e647b178552dec35875a2cc61df3ce8ae2c1357ea8c5ff505561",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "3045022100c09b047e0117afd69ad189ef44145dda45063c2a3ba69497ba42597740132d3102206c16cd18562a5d6a102322b60e091eda8309ecee31f0ef4bba16ec875d210d4a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "3044022041c58129f3d1e8deaff1dd36836c6b6ad480ba07e90d5164f732ba01f3b2ab9e02203ad964f08d27e4847ec67e6da698b3e6b8ab16fda36dcb259b7d780f36a0cac3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "3046022100d526ee5eed5a89a587827e83987ac702b6044dc95fe89bb8c0a65f4a18a4da25022100ae17f8da5be53761763f675a2a1464912ced467686e6cf2bb1c2d03a0f5b6490",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "30440220166c2c8110d94bc20a47dabd8b87356d07ae60674a2ff0aae034ec83d00eea0a02200aa248cbb3dd2f480ca21708e315c4c796c53b900da0220e2bdf9356e259372f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "3045022100e93feb314c939b470705612b6bb8cd0953faa602cef5c6d9b47d67f245c1b9000220314d0e20e00f70bdfe0a5852e7d7b44359cd54d4f2bdd19d8d785037de1c3c0f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "Legacy:ASN encoding of s misses leading 0",
+          "msg" : "313233343030",
+          "sig" : "304402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90220cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingZero"
+          ]
+        },
+        {
+          "tcId" : 8,
+          "comment" : "valid",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "30814502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "30460281206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "304602206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e902812100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 12,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "3082004502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 13,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "3047028200206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "304702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90282002100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 15,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304602206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304502216cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "3045021f6cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022200cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022000cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3085010000004502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "304a028501000000206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "304a02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90285010000002100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "308901000000000000004502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "304e02890100000000000000206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "304e02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9028901000000000000002100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "30847fffffff02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "304902847fffffff6cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "304902206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e902847fffffff00cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "3084ffffffff02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "30490284ffffffff6cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "304902206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90284ffffffff00cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "3085ffffffffff02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "304a0285ffffffffff6cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "304a02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90285ffffffffff00cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "3088ffffffffffffffff02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "304d0288ffffffffffffffff6cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "304d02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90288ffffffffffffffff00cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "30ff02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "304502ff6cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e902ff00cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "308002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "304502806cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9028000cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "304702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "3047000002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "304702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304a498177304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "30492500304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3047304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304a222549817702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "30492224250002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304d222202206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90004deadbeef022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304a02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e92226498177022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304902206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e922252500022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304d02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e92223022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304daa00bb00cd00304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304baa02aabb304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304d2228aa00bb00cd0002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304b2226aa02aabb02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304d02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e92229aa00bb00cd00022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304b02206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e92227aa02aabb022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "3080304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "3049228002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90000022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "304902206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e92280022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3080314502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3049228003206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90000022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "304902206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e92280032100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2e4502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2f4502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "314502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "324502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "ff4502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "30493001023044206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "304402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5eb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "3044206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "308002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "308002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "308002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe005000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "308002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "308002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "308002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "3047300002206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "304702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe03000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "3047304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "302202206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "306802206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "removing integer",
+          "msg" : "313233343030",
+          "sig" : "3023022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302402022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302302206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e902",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "appending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702226cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90000022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "appending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022300cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "prepending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "3047022200006cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "prepending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90223000000cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90000022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304702226cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90500022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304702206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022300cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe00500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30250281022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "302402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "Replacing integer with NULL",
+          "msg" : "313233343030",
+          "sig" : "30250500022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "Replacing integer with NULL",
+          "msg" : "313233343030",
+          "sig" : "302402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304500206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304501206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304503206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304504206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045ff206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9002100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9012100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9032100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9042100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9ff2100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "dropping value of integer",
+          "msg" : "313233343030",
+          "sig" : "30250200022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "dropping value of integer",
+          "msg" : "313233343030",
+          "sig" : "302402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90200",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3049222402016c021fb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "304902206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e922250201000220cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "modify first byte of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206eb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "modify first byte of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022102cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "modify last byte of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a169022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "modify last byte of integer",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5eb60",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "3044021f6cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "3044021fb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "304402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022000cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5eb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "304402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90220cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "leading ff in integer",
+          "msg" : "313233343030",
+          "sig" : "30460221ff6cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "leading ff in integer",
+          "msg" : "313233343030",
+          "sig" : "304602206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90222ff00cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "infinity",
+          "msg" : "313233343030",
+          "sig" : "3026090180022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "infinity",
+          "msg" : "313233343030",
+          "sig" : "302502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9090180",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "replacing integer with zero",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "replacing integer with zero",
+          "msg" : "313233343030",
+          "sig" : "302502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9020100",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221016cb914246e1c92050a03d9b0b4f05dde199ab6bf23cec3a120f56da5843de32a022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221ff6cb914246e1c92050a03d9b0b4f05de0a43cfcf1c53d8329a150b08be3d160a8022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502209346ebdb91e36dfaf5fc264f4b0fa220a11426278b79dc9a9edcf0e74bf85e17022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221009346ebdb91e36dfaf5fc264f4b0fa21f5bc3030e3ac27cd65eaf4f741c2e9f58022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221fe9346ebdb91e36dfaf5fc264f4b0fa221e6654940dc313c5edf0a925a7bc21cd6022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221016cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221009346ebdb91e36dfaf5fc264f4b0fa220a11426278b79dc9a9edcf0e74bf85e17022100cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022101cb2d0e5a982819b84e87aad213ca78a348979bd990065db64a261453a11c2d21",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90220cb2d0e5a982819b84e87aad213ca78a5d339e20c31751d3eca81573a00afaa9f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90221ff34d2f1a567d7e647b178552dec35875b7217410d1f42428575ac4a392f1a1420",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e90221fe34d2f1a567d7e647b178552dec35875cb76864266ff9a249b5d9ebac5ee3d2df",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022101cb2d0e5a982819b84e87aad213ca78a48de8bef2e0bdbd7a8a53b5c6d0e5ebe0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402206cb914246e1c92050a03d9b0b4f05ddf5eebd9d87486236561230f18b407a1e9022034d2f1a567d7e647b178552dec35875b7217410d1f42428575ac4a392f1a1420",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020100020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020100020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201000201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3008020100090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201010201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3008020101090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30080201ff090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641400201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641420201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc300201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "Edge case for Shamir multiplication",
+          "msg" : "313236373939",
+          "sig" : "3045022100dd1b7d09a7bd8218961034a39a87fecf5314f00c4d25eb58a07ac85e85eab51602202c8a79b49cae4ec15d293575a5a1af5b4d6efb74ef5c2c1be34e33cdeb7113cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0412c90a5debd88d42686b84227dbc755351b78e7c6cb86c0b22536f394603646ed03d965851bc41bb089499c51987b899a8353d997e040fdd35290a2627f0a3ab",
+        "wx" : "12c90a5debd88d42686b84227dbc755351b78e7c6cb86c0b22536f394603646e",
+        "wy" : "0d03d965851bc41bb089499c51987b899a8353d997e040fdd35290a2627f0a3ab"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000412c90a5debd88d42686b84227dbc755351b78e7c6cb86c0b22536f394603646ed03d965851bc41bb089499c51987b899a8353d997e040fdd35290a2627f0a3ab",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEEskKXevYjUJoa4Qifbx1U1G3jnxsuGwL\nIlNvOUYDZG7QPZZYUbxBuwiUmcUZh7iZqDU9mX4ED901KQomJ/Cjqw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 222,
+          "comment" : "k*G has a large x-coordinate",
+          "msg" : "313233343030",
+          "sig" : "30360211014551231950b75fc4402da1722fc9baeb022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "r too large",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2c022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04913ed043022ee590f59e44f519e5cfd9d6f1b84a50fb417e9ad06683c6afa194b68fb80d6ef261b5a63b57f871d2ea7224319f5fa3ed3dd77f1012dba19d0395",
+        "wx" : "0913ed043022ee590f59e44f519e5cfd9d6f1b84a50fb417e9ad06683c6afa194",
+        "wy" : "0b68fb80d6ef261b5a63b57f871d2ea7224319f5fa3ed3dd77f1012dba19d0395"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004913ed043022ee590f59e44f519e5cfd9d6f1b84a50fb417e9ad06683c6afa194b68fb80d6ef261b5a63b57f871d2ea7224319f5fa3ed3dd77f1012dba19d0395",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEkT7QQwIu5ZD1nkT1GeXP2dbxuEpQ+0F+\nmtBmg8avoZS2j7gNbvJhtaY7V/hx0upyJDGfX6PtPdd/EBLboZ0DlQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 224,
+          "comment" : "r,s are large",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04644cc54e84467213fafe2a4451dba550f3ea76ea9970bd6251fc7783a420d8b51cd9439155ec45d5634677c281154bbdf99fe44051dcec322053ca69ea88297c",
+        "wx" : "644cc54e84467213fafe2a4451dba550f3ea76ea9970bd6251fc7783a420d8b5",
+        "wy" : "1cd9439155ec45d5634677c281154bbdf99fe44051dcec322053ca69ea88297c"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004644cc54e84467213fafe2a4451dba550f3ea76ea9970bd6251fc7783a420d8b51cd9439155ec45d5634677c281154bbdf99fe44051dcec322053ca69ea88297c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEZEzFToRGchP6/ipEUdulUPPqduqZcL1i\nUfx3g6Qg2LUc2UORVexF1WNGd8KBFUu9+Z/kQFHc7DIgU8pp6ogpfA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 225,
+          "comment" : "r and s^-1 have a large Hamming weight",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203e9a7582886089c62fb840cf3b83061cd1cff3ae4341808bb5bdee6191174177",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040a11d42154bd2de10ca92321fb6b3e638ee8b5a7fb4fb5f501b44515cf60e8c906ccaab8748cd38ece73ddc975bc307e7de172357e14cd96a94bb3461d32d50e",
+        "wx" : "0a11d42154bd2de10ca92321fb6b3e638ee8b5a7fb4fb5f501b44515cf60e8c9",
+        "wy" : "6ccaab8748cd38ece73ddc975bc307e7de172357e14cd96a94bb3461d32d50e"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200040a11d42154bd2de10ca92321fb6b3e638ee8b5a7fb4fb5f501b44515cf60e8c906ccaab8748cd38ece73ddc975bc307e7de172357e14cd96a94bb3461d32d50e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEChHUIVS9LeEMqSMh+2s+Y47otaf7T7X1\nAbRFFc9g6MkGzKq4dIzTjs5z3cl1vDB+feFyNX4UzZapS7NGHTLVDg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 226,
+          "comment" : "r and s^-1 have a large Hamming weight",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022024238e70b431b1a64efdf9032669939d4b77f249503fc6905feb7540dea3e6d2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049fa2c32bb349846acb5af14e1c67acfdd8963ed251c4b5783cad4bcdd0fd505d6f724937217d1e5483920405cf1b20200797521c464a2355fdde5306f2a9e448",
+        "wx" : "09fa2c32bb349846acb5af14e1c67acfdd8963ed251c4b5783cad4bcdd0fd505d",
+        "wy" : "6f724937217d1e5483920405cf1b20200797521c464a2355fdde5306f2a9e448"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200049fa2c32bb349846acb5af14e1c67acfdd8963ed251c4b5783cad4bcdd0fd505d6f724937217d1e5483920405cf1b20200797521c464a2355fdde5306f2a9e448",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEn6LDK7NJhGrLWvFOHGes/diWPtJRxLV4\nPK1LzdD9UF1vckk3IX0eVIOSBAXPGyAgB5dSHEZKI1X93lMG8qnkSA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 227,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020101",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0460eace95001201cf4c83b580fb698bb6abf446e5c56ff945eb5769b1a477b55069f5354a77fe2d601528f126c9a6858deeddb9e5ec408356d05ed5c80d62b8e1",
+        "wx" : "60eace95001201cf4c83b580fb698bb6abf446e5c56ff945eb5769b1a477b550",
+        "wy" : "69f5354a77fe2d601528f126c9a6858deeddb9e5ec408356d05ed5c80d62b8e1"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000460eace95001201cf4c83b580fb698bb6abf446e5c56ff945eb5769b1a477b55069f5354a77fe2d601528f126c9a6858deeddb9e5ec408356d05ed5c80d62b8e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYOrOlQASAc9Mg7WA+2mLtqv0RuXFb/lF\n61dpsaR3tVBp9TVKd/4tYBUo8SbJpoWN7t255exAg1bQXtXIDWK44Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 228,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020102",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f1a57d9346842310975ed356672a48a06a70b5efbc0c23287c9b9952ec955b330091aee1224ecd69791856c521b12df172b45a5ce247e6dcaca7349684278f23",
+        "wx" : "0f1a57d9346842310975ed356672a48a06a70b5efbc0c23287c9b9952ec955b33",
+        "wy" : "091aee1224ecd69791856c521b12df172b45a5ce247e6dcaca7349684278f23"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004f1a57d9346842310975ed356672a48a06a70b5efbc0c23287c9b9952ec955b330091aee1224ecd69791856c521b12df172b45a5ce247e6dcaca7349684278f23",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE8aV9k0aEIxCXXtNWZypIoGpwte+8DCMo\nfJuZUuyVWzMAka7hIk7NaXkYVsUhsS3xcrRaXOJH5tyspzSWhCePIw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 229,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020103",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "r is larger than n",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020103",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04968a493f279c0f8ea9f2446e361ee5b9757039d57a8003e6fd731d4dc6a2d2ca6784c5484fe797c830aa49a72cf85375523228393b730b20b04a192032af4d29",
+        "wx" : "0968a493f279c0f8ea9f2446e361ee5b9757039d57a8003e6fd731d4dc6a2d2ca",
+        "wy" : "6784c5484fe797c830aa49a72cf85375523228393b730b20b04a192032af4d29"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004968a493f279c0f8ea9f2446e361ee5b9757039d57a8003e6fd731d4dc6a2d2ca6784c5484fe797c830aa49a72cf85375523228393b730b20b04a192032af4d29",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAElopJPyecD46p8kRuNh7luXVwOdV6gAPm\n/XMdTcai0spnhMVIT+eXyDCqSacs+FN1UjIoOTtzCyCwShkgMq9NKQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 231,
+          "comment" : "s is larger than n",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd04917c8",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b3c7fbdf1d7472f7bd578757762c8ebc922ff063b0ae9c3aa9cd81600abea76c038eeb3852b836c0649fd82fe5d1d02c3d0dbb30fbcd7fe41866ebc3bd927c69",
+        "wx" : "0b3c7fbdf1d7472f7bd578757762c8ebc922ff063b0ae9c3aa9cd81600abea76c",
+        "wy" : "38eeb3852b836c0649fd82fe5d1d02c3d0dbb30fbcd7fe41866ebc3bd927c69"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b3c7fbdf1d7472f7bd578757762c8ebc922ff063b0ae9c3aa9cd81600abea76c038eeb3852b836c0649fd82fe5d1d02c3d0dbb30fbcd7fe41866ebc3bd927c69",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEs8f73x10cve9V4dXdiyOvJIv8GOwrpw6\nqc2BYAq+p2wDjus4Urg2wGSf2C/l0dAsPQ27MPvNf+QYZuvDvZJ8aQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 232,
+          "comment" : "small r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "302702020101022100c58b162c58b162c58b162c58b162c58a1b242973853e16db75c8a1a71da4d39d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04759fdd1a64c000188b87eb0ddd291a50358fca2b0a5b92f027573845dc40b27a12ec1b2892ef46700f13cff8eb88f40076cc811478b008f5aabee4a74b4546f1",
+        "wx" : "759fdd1a64c000188b87eb0ddd291a50358fca2b0a5b92f027573845dc40b27a",
+        "wy" : "12ec1b2892ef46700f13cff8eb88f40076cc811478b008f5aabee4a74b4546f1"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004759fdd1a64c000188b87eb0ddd291a50358fca2b0a5b92f027573845dc40b27a12ec1b2892ef46700f13cff8eb88f40076cc811478b008f5aabee4a74b4546f1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEdZ/dGmTAABiLh+sN3SkaUDWPyisKW5Lw\nJ1c4RdxAsnoS7Bsoku9GcA8Tz/jriPQAdsyBFHiwCPWqvuSnS0VG8Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 233,
+          "comment" : "smallish r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "302c02072d9b4d347952cc022100fcbc5103d0da267477d1791461cf2aa44bf9d43198f79507bd8779d69a13108e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044882825a892d30267264e300e868ab5d4b0ffc9ef3c2cb6e90d61d238daed856e4c8248a189eb36d83740f5928cb802fb9c50b5a18c9196344a0c2cb74416423",
+        "wx" : "4882825a892d30267264e300e868ab5d4b0ffc9ef3c2cb6e90d61d238daed856",
+        "wy" : "0e4c8248a189eb36d83740f5928cb802fb9c50b5a18c9196344a0c2cb74416423"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044882825a892d30267264e300e868ab5d4b0ffc9ef3c2cb6e90d61d238daed856e4c8248a189eb36d83740f5928cb802fb9c50b5a18c9196344a0c2cb74416423",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAESIKCWoktMCZyZOMA6GirXUsP/J7zwstu\nkNYdI42u2FbkyCSKGJ6zbYN0D1koy4AvucULWhjJGWNEoMLLdEFkIw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 234,
+          "comment" : "100-bit r and small s^-1",
+          "msg" : "313233343030",
+          "sig" : "3032020d1033e67e37b32b445580bf4efc022100906f906f906f906f906f906f906f906ed8e426f7b1968c35a204236a579723d2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c4d1b1fdf274cf83f3395a70a36c94f7c51f1a31e99514b4ef10ba1304756caf4eaf435b20dd76d6ef447869503da9b28f0ea08edf287424d44aa04b254c1736",
+        "wx" : "0c4d1b1fdf274cf83f3395a70a36c94f7c51f1a31e99514b4ef10ba1304756caf",
+        "wy" : "4eaf435b20dd76d6ef447869503da9b28f0ea08edf287424d44aa04b254c1736"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004c4d1b1fdf274cf83f3395a70a36c94f7c51f1a31e99514b4ef10ba1304756caf4eaf435b20dd76d6ef447869503da9b28f0ea08edf287424d44aa04b254c1736",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAExNGx/fJ0z4PzOVpwo2yU98UfGjHplRS0\n7xC6EwR1bK9Or0NbIN121u9EeGlQPamyjw6gjt8odCTUSqBLJUwXNg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 235,
+          "comment" : "small r and 100 bit s^-1",
+          "msg" : "313233343030",
+          "sig" : "3026020201010220783266e90f43dafe5cd9b3b0be86de22f9de83677d0f50713a468ec72fcf5d57",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043376df7376d5e651d45b8ec2e5ff9d891c6fdd6dbbb52b046e6b5ac4c9facedf76cf27f9fcb65403b1f585a2dafe26b43ebd622baccde699d81c9be98df9f4df",
+        "wx" : "3376df7376d5e651d45b8ec2e5ff9d891c6fdd6dbbb52b046e6b5ac4c9facedf",
+        "wy" : "76cf27f9fcb65403b1f585a2dafe26b43ebd622baccde699d81c9be98df9f4df"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043376df7376d5e651d45b8ec2e5ff9d891c6fdd6dbbb52b046e6b5ac4c9facedf76cf27f9fcb65403b1f585a2dafe26b43ebd622baccde699d81c9be98df9f4df",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEM3bfc3bV5lHUW47C5f+diRxv3W27tSsE\nbmtaxMn6zt92zyf5/LZUA7H1haLa/ia0Pr1iK6zN5pnYHJvpjfn03w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 236,
+          "comment" : "100-bit r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3031020d062522bbd3ecbe7c39e93e7c260220783266e90f43dafe5cd9b3b0be86de22f9de83677d0f50713a468ec72fcf5d57",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045077fdd202fdb4194b05491b6c053fff8760697531fc5227879e9cbec3309585d0b5cffb3e0fdfb1c06e6d11a1182752730cfe439f7a4f8a49b9c2924f49ec14",
+        "wx" : "5077fdd202fdb4194b05491b6c053fff8760697531fc5227879e9cbec3309585",
+        "wy" : "0d0b5cffb3e0fdfb1c06e6d11a1182752730cfe439f7a4f8a49b9c2924f49ec14"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045077fdd202fdb4194b05491b6c053fff8760697531fc5227879e9cbec3309585d0b5cffb3e0fdfb1c06e6d11a1182752730cfe439f7a4f8a49b9c2924f49ec14",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEUHf90gL9tBlLBUkbbAU//4dgaXUx/FIn\nh56cvsMwlYXQtc/7Pg/fscBubRGhGCdScwz+Q596T4pJucKST0nsFA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 237,
+          "comment" : "r and s^-1 are close to n",
+          "msg" : "313233343030",
+          "sig" : "3045022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03640c1022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041b1f773b472dac5e1adf94e69d865b404d2cc92cff7bb66cf2197978f6c45d08a9725791c5f33787977a9ddfa69296be998a968c51ec7f1c5447793bc56286b3",
+        "wx" : "1b1f773b472dac5e1adf94e69d865b404d2cc92cff7bb66cf2197978f6c45d08",
+        "wy" : "0a9725791c5f33787977a9ddfa69296be998a968c51ec7f1c5447793bc56286b3"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041b1f773b472dac5e1adf94e69d865b404d2cc92cff7bb66cf2197978f6c45d08a9725791c5f33787977a9ddfa69296be998a968c51ec7f1c5447793bc56286b3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGx93O0ctrF4a35TmnYZbQE0sySz/e7Zs\n8hl5ePbEXQipcleRxfM3h5d6nd+mkpa+mYqWjFHsfxxUR3k7xWKGsw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 238,
+          "comment" : "s == 1",
+          "msg" : "313233343030",
+          "sig" : "3025022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c1020101",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 239,
+          "comment" : "s == 0",
+          "msg" : "313233343030",
+          "sig" : "3025022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c1020100",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042f20bc2232b4ba9d75fea6a92bc827d91c5a8f5c887f4e304d76656ba15999ea5f83242efbd57dd16dbd3de0915bdb2ddec201d2f749b13fc22c223a2644dcdc",
+        "wx" : "2f20bc2232b4ba9d75fea6a92bc827d91c5a8f5c887f4e304d76656ba15999ea",
+        "wy" : "5f83242efbd57dd16dbd3de0915bdb2ddec201d2f749b13fc22c223a2644dcdc"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042f20bc2232b4ba9d75fea6a92bc827d91c5a8f5c887f4e304d76656ba15999ea5f83242efbd57dd16dbd3de0915bdb2ddec201d2f749b13fc22c223a2644dcdc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELyC8IjK0up11/qapK8gn2Rxaj1yIf04w\nTXZla6FZmepfgyQu+9V90W29PeCRW9st3sIB0vdJsT/CLCI6JkTc3A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 240,
+          "comment" : "point at infinity during verify",
+          "msg" : "313233343030",
+          "sig" : "304402207fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044a7217cabc95b496f3f4e12d54e9def7651b866be69d3695cd77ad2e3a3f13d1d0fa71bf21d2c00b1ff4cc76b53a9c5c2a8a8b6b4c2ec88b99ee537ac6262b3d",
+        "wx" : "4a7217cabc95b496f3f4e12d54e9def7651b866be69d3695cd77ad2e3a3f13d1",
+        "wy" : "0d0fa71bf21d2c00b1ff4cc76b53a9c5c2a8a8b6b4c2ec88b99ee537ac6262b3d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044a7217cabc95b496f3f4e12d54e9def7651b866be69d3695cd77ad2e3a3f13d1d0fa71bf21d2c00b1ff4cc76b53a9c5c2a8a8b6b4c2ec88b99ee537ac6262b3d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAESnIXyryVtJbz9OEtVOne92UbhmvmnTaV\nzXetLjo/E9HQ+nG/IdLACx/0zHa1OpxcKoqLa0wuyIuZ7lN6xiYrPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 241,
+          "comment" : "u1 == 1",
+          "msg" : "313233343030",
+          "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400a42e277ce657fb3dd07e135a3cb9b0a75a30bd8b64911606ee68371e56124467cf22e26a7009045b73ff19cd79851cceaad9ae72ef2d043d75365245befa06",
+        "wx" : "0a42e277ce657fb3dd07e135a3cb9b0a75a30bd8b64911606ee68371e561244",
+        "wy" : "67cf22e26a7009045b73ff19cd79851cceaad9ae72ef2d043d75365245befa06"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000400a42e277ce657fb3dd07e135a3cb9b0a75a30bd8b64911606ee68371e56124467cf22e26a7009045b73ff19cd79851cceaad9ae72ef2d043d75365245befa06",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAKQuJ3zmV/s90H4TWjy5sKdaML2LZJEW\nBu5oNx5WEkRnzyLianAJBFtz/xnNeYUczqrZrnLvLQQ9dTZSRb76Bg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 242,
+          "comment" : "u1 == n - 1",
+          "msg" : "313233343030",
+          "sig" : "3045022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022100bc07ff041506dc73a75086a43252fb4270e157da75fb6cb92a9f07dcad153ec0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048520b9502f9a5ed753f09a5282cad721f5ebfb3db4142d667c6279869e76bcf1678e9bbd04a51460afc40a3e0cb7b0f8b8add89b2979758a5a1ffeb4584ee49e",
+        "wx" : "08520b9502f9a5ed753f09a5282cad721f5ebfb3db4142d667c6279869e76bcf1",
+        "wy" : "678e9bbd04a51460afc40a3e0cb7b0f8b8add89b2979758a5a1ffeb4584ee49e"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048520b9502f9a5ed753f09a5282cad721f5ebfb3db4142d667c6279869e76bcf1678e9bbd04a51460afc40a3e0cb7b0f8b8add89b2979758a5a1ffeb4584ee49e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEhSC5UC+aXtdT8JpSgsrXIfXr+z20FC1m\nfGJ5hp52vPFnjpu9BKUUYK/ECj4Mt7D4uK3Ymyl5dYpaH/60WE7kng==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 243,
+          "comment" : "u2 == 1",
+          "msg" : "313233343030",
+          "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b5deca0fe0296905aac27e3604a95a0a2ecbee9fc453d2e1164632964454d0c94f9e4e85a143ee677d40919c71014e8cabf4d9db7442fe4b96298f99f90ca67f",
+        "wx" : "0b5deca0fe0296905aac27e3604a95a0a2ecbee9fc453d2e1164632964454d0c9",
+        "wy" : "4f9e4e85a143ee677d40919c71014e8cabf4d9db7442fe4b96298f99f90ca67f"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b5deca0fe0296905aac27e3604a95a0a2ecbee9fc453d2e1164632964454d0c94f9e4e85a143ee677d40919c71014e8cabf4d9db7442fe4b96298f99f90ca67f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEtd7KD+ApaQWqwn42BKlaCi7L7p/EU9Lh\nFkYylkRU0MlPnk6FoUPuZ31AkZxxAU6Mq/TZ23RC/kuWKY+Z+Qymfw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 244,
+          "comment" : "u2 == n - 1",
+          "msg" : "313233343030",
+          "sig" : "3045022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b89",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045dcb2767dc851e20911ed7be39dd87ba81c7a6d10255dfb825f241486f98ae10f8a9ef736b3e11d7d54a0e086902fb477246ec8c57de65d336570b65f65e0d83",
+        "wx" : "5dcb2767dc851e20911ed7be39dd87ba81c7a6d10255dfb825f241486f98ae10",
+        "wy" : "0f8a9ef736b3e11d7d54a0e086902fb477246ec8c57de65d336570b65f65e0d83"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045dcb2767dc851e20911ed7be39dd87ba81c7a6d10255dfb825f241486f98ae10f8a9ef736b3e11d7d54a0e086902fb477246ec8c57de65d336570b65f65e0d83",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEXcsnZ9yFHiCRHte+Od2HuoHHptECVd+4\nJfJBSG+YrhD4qe9zaz4R19VKDghpAvtHckbsjFfeZdM2Vwtl9l4Ngw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 245,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206bfd55a94e530bd972e52873ef39ac3e56d420a64d874694c701e714511d1696",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c8e144c853a7e1a6f5bbabe7ef91ef5b152113210d44fd58d3cb6185184e168aac40fb3618882193fc6d113760e476465df49067480a0a7cffe686515b3391a8",
+        "wx" : "0c8e144c853a7e1a6f5bbabe7ef91ef5b152113210d44fd58d3cb6185184e168a",
+        "wy" : "0ac40fb3618882193fc6d113760e476465df49067480a0a7cffe686515b3391a8"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004c8e144c853a7e1a6f5bbabe7ef91ef5b152113210d44fd58d3cb6185184e168aac40fb3618882193fc6d113760e476465df49067480a0a7cffe686515b3391a8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEyOFEyFOn4ab1u6vn75HvWxUhEyENRP1Y\n08thhRhOFoqsQPs2GIghk/xtETdg5HZGXfSQZ0gKCnz/5oZRWzORqA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 246,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100b494bd67c209a5adb1c9a09337e2629b03f8a924be53c542478e5864ed2622ad",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047ffe185a23eb5b736704387e6357628a65984985773b4473cf9ef560b3fa50514740cb1217f1ad2b5910d7f74906602b1f9550b3d11cff705b358c3bcbf72c3d",
+        "wx" : "7ffe185a23eb5b736704387e6357628a65984985773b4473cf9ef560b3fa5051",
+        "wy" : "4740cb1217f1ad2b5910d7f74906602b1f9550b3d11cff705b358c3bcbf72c3d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200047ffe185a23eb5b736704387e6357628a65984985773b4473cf9ef560b3fa50514740cb1217f1ad2b5910d7f74906602b1f9550b3d11cff705b358c3bcbf72c3d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEf/4YWiPrW3NnBDh+Y1diimWYSYV3O0Rz\nz571YLP6UFFHQMsSF/GtK1kQ1/dJBmArH5VQs9Ec/3BbNYw7y/csPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 247,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100aad4e2b69a9f378dae7873b40f7c15cb4565fcc8cbc0ec55b0bd3fe9d8626b2c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048a858226155e34dbb7e5dac7f13127c81c6ce8c9d891918c67c8738d7e4b46e96c1386e84c612312de53e9e4af34d9bd57f93d9a06b855b6e0b06ad4137ff57c",
+        "wx" : "08a858226155e34dbb7e5dac7f13127c81c6ce8c9d891918c67c8738d7e4b46e9",
+        "wy" : "6c1386e84c612312de53e9e4af34d9bd57f93d9a06b855b6e0b06ad4137ff57c"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048a858226155e34dbb7e5dac7f13127c81c6ce8c9d891918c67c8738d7e4b46e96c1386e84c612312de53e9e4af34d9bd57f93d9a06b855b6e0b06ad4137ff57c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEioWCJhVeNNu35drH8TEnyBxs6MnYkZGM\nZ8hzjX5LRulsE4boTGEjEt5T6eSvNNm9V/k9mga4VbbgsGrUE3/1fA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 248,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022073fec4995e9d3140bc07ff041506dc7313e95389fb599d22f24039392a4014d3",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aec0be729b02f266c542d139a3e04110c933e8eca1008e8dba38d75e7f8fab532cd688d924b456848bd5c651444c67a9399fdfb5b5b9693162c1728bfadc1046",
+        "wx" : "0aec0be729b02f266c542d139a3e04110c933e8eca1008e8dba38d75e7f8fab53",
+        "wy" : "2cd688d924b456848bd5c651444c67a9399fdfb5b5b9693162c1728bfadc1046"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004aec0be729b02f266c542d139a3e04110c933e8eca1008e8dba38d75e7f8fab532cd688d924b456848bd5c651444c67a9399fdfb5b5b9693162c1728bfadc1046",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAErsC+cpsC8mbFQtE5o+BBEMkz6OyhAI6N\nujjXXn+Pq1Ms1ojZJLRWhIvVxlFETGepOZ/ftbW5aTFiwXKL+twQRg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 249,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ec4995e9d3140bc07ff041506dc73a73dc25f4257a911e310e38744b482a5a01",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401ed4b5f941f443b31a7e2583ea165551d1815b54740deb12e9fdeff32e2306184385ca448cc5dd71139bda3ab42d0b6e44d719e52fff64d971876efa9109fb2",
+        "wx" : "1ed4b5f941f443b31a7e2583ea165551d1815b54740deb12e9fdeff32e23061",
+        "wy" : "084385ca448cc5dd71139bda3ab42d0b6e44d719e52fff64d971876efa9109fb2"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000401ed4b5f941f443b31a7e2583ea165551d1815b54740deb12e9fdeff32e2306184385ca448cc5dd71139bda3ab42d0b6e44d719e52fff64d971876efa9109fb2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAe1LX5QfRDsxp+JYPqFlVR0YFbVHQN6x\nLp/e/zLiMGGEOFykSMxd1xE5vaOrQtC25E1xnlL/9k2XGHbvqRCfsg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 250,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100d8932bd3a6281780ffe082a0db8e74e8fd9d0b6445d99c265c9e8a09c01e72c1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0459c427cb6525eab511a06e03e00cf2aab4abc587c2601534338a50bc25701a703e4eb388b453cbaea594d6b5c14a519ac3fda770c53580beefc68f09200d55ff",
+        "wx" : "59c427cb6525eab511a06e03e00cf2aab4abc587c2601534338a50bc25701a70",
+        "wy" : "3e4eb388b453cbaea594d6b5c14a519ac3fda770c53580beefc68f09200d55ff"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000459c427cb6525eab511a06e03e00cf2aab4abc587c2601534338a50bc25701a703e4eb388b453cbaea594d6b5c14a519ac3fda770c53580beefc68f09200d55ff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEWcQny2Ul6rURoG4D4AzyqrSrxYfCYBU0\nM4pQvCVwGnA+TrOItFPLrqWU1rXBSlGaw/2ncMU1gL7vxo8JIA1V/w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 251,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205e9d3140bc07ff041506dc73a75086a3ba176f06c2b6e37363e2ce1c141f3c27",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0404acbbcd23cf2ec819fd297ab2cb5407ede6319518651a391e941cc8003568331206dd00df23bc8ce0b85a018c4b34e9c3b41b4ef59c71492fa62d134772f97e",
+        "wx" : "4acbbcd23cf2ec819fd297ab2cb5407ede6319518651a391e941cc800356833",
+        "wy" : "1206dd00df23bc8ce0b85a018c4b34e9c3b41b4ef59c71492fa62d134772f97e"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000404acbbcd23cf2ec819fd297ab2cb5407ede6319518651a391e941cc8003568331206dd00df23bc8ce0b85a018c4b34e9c3b41b4ef59c71492fa62d134772f97e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEBKy7zSPPLsgZ/Sl6sstUB+3mMZUYZRo5\nHpQcyAA1aDMSBt0A3yO8jOC4WgGMSzTpw7QbTvWccUkvpi0TR3L5fg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 252,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100fd6dc71a71f1d50d1bbd976af4357be4dd2fe850707c431fd376e53d176c6b62",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ccacbc626fd6ea31175815cff958ca1637323877d3bdf09896b527bf4e255e8571f8a27e6309bd9b9b15d78d5270012ad2ed15a7fffe024fc0eca63fb6ac2f8d",
+        "wx" : "0ccacbc626fd6ea31175815cff958ca1637323877d3bdf09896b527bf4e255e85",
+        "wy" : "71f8a27e6309bd9b9b15d78d5270012ad2ed15a7fffe024fc0eca63fb6ac2f8d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004ccacbc626fd6ea31175815cff958ca1637323877d3bdf09896b527bf4e255e8571f8a27e6309bd9b9b15d78d5270012ad2ed15a7fffe024fc0eca63fb6ac2f8d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEzKy8Ym/W6jEXWBXP+VjKFjcyOHfTvfCY\nlrUnv04lXoVx+KJ+Ywm9m5sV141ScAEq0u0Vp//+Ak/A7KY/tqwvjQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 253,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207ee75ad2a5801c54722eb7d95ba67febcfc399b956b7b682fe89638de3690bf1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ccc30b65cad3dd1d793b6db80f57b2e1237973e4264c3d9bbc2551ec68a0b7be75ff6d1f4f535a131aa573f6e2d6912c397154933750417d28e46524392592de",
+        "wx" : "0ccc30b65cad3dd1d793b6db80f57b2e1237973e4264c3d9bbc2551ec68a0b7be",
+        "wy" : "75ff6d1f4f535a131aa573f6e2d6912c397154933750417d28e46524392592de"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004ccc30b65cad3dd1d793b6db80f57b2e1237973e4264c3d9bbc2551ec68a0b7be75ff6d1f4f535a131aa573f6e2d6912c397154933750417d28e46524392592de",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEzMMLZcrT3R15O224D1ey4SN5c+QmTD2b\nvCVR7Gigt751/20fT1NaExqlc/bi1pEsOXFUkzdQQX0o5GUkOSWS3g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 254,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100f533776f11c47ed0a7b5e25ace7a3b921866733c7454b2c678b8943dfb4cf232",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cc9349aca0cbd0b2df0deecd88ed39e6d8c7c3d7b422fd5d92431baf7225fcc0ed494be698d6f3850be277c268792400f396025cfa95cf56018bcbc243e512eb",
+        "wx" : "0cc9349aca0cbd0b2df0deecd88ed39e6d8c7c3d7b422fd5d92431baf7225fcc0",
+        "wy" : "0ed494be698d6f3850be277c268792400f396025cfa95cf56018bcbc243e512eb"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004cc9349aca0cbd0b2df0deecd88ed39e6d8c7c3d7b422fd5d92431baf7225fcc0ed494be698d6f3850be277c268792400f396025cfa95cf56018bcbc243e512eb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEzJNJrKDL0LLfDe7NiO055tjHw9e0Iv1d\nkkMbr3Il/MDtSUvmmNbzhQvid8JoeSQA85YCXPqVz1YBi8vCQ+US6w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 255,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100e8dbffee01807d75f9aa52c295e15b15f138439e7a195a40709b1abf511dbc6a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04000e7c30d2f259f7c13f194320e43905d0ead7277e283e8918437c10f9d052b02b39b66dbba2b1cf5dac1b41d2dec6f1fb08bdd14d420d703986f63aedeb5c47",
+        "wx" : "0e7c30d2f259f7c13f194320e43905d0ead7277e283e8918437c10f9d052b0",
+        "wy" : "2b39b66dbba2b1cf5dac1b41d2dec6f1fb08bdd14d420d703986f63aedeb5c47"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004000e7c30d2f259f7c13f194320e43905d0ead7277e283e8918437c10f9d052b02b39b66dbba2b1cf5dac1b41d2dec6f1fb08bdd14d420d703986f63aedeb5c47",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAA58MNLyWffBPxlDIOQ5BdDq1yd+KD6J\nGEN8EPnQUrArObZtu6Kxz12sG0HS3sbx+wi90U1CDXA5hvY67etcRw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 256,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ca01552b58d67a13468d6bc6086329df8f44cc938884fcf15c516b02a7a7b5f6",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048fa298c00ac93f7c36892c5299005a0f6843f9cf0669fdbb7d6d81e0341803ed4cab33cc2821b2da849f90ef20dc1eb896fc67161440b3c52c0b1e88627e508c",
+        "wx" : "08fa298c00ac93f7c36892c5299005a0f6843f9cf0669fdbb7d6d81e0341803ed",
+        "wy" : "4cab33cc2821b2da849f90ef20dc1eb896fc67161440b3c52c0b1e88627e508c"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048fa298c00ac93f7c36892c5299005a0f6843f9cf0669fdbb7d6d81e0341803ed4cab33cc2821b2da849f90ef20dc1eb896fc67161440b3c52c0b1e88627e508c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEj6KYwArJP3w2iSxSmQBaD2hD+c8Gaf27\nfW2B4DQYA+1MqzPMKCGy2oSfkO8g3B64lvxnFhRAs8UsCx6IYn5QjA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 257,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009402aa56b1acf4268d1ad78c10c653c063dabc4061c159a6f8d077787f192aab",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046fbf608a83e37ec26b37da033e069816680b770ba766fb8c44fce003960562f1045f268ccc5e0949213f7f2f1fa57cfead04625ec3ccfc9c333596e487b2056f",
+        "wx" : "6fbf608a83e37ec26b37da033e069816680b770ba766fb8c44fce003960562f1",
+        "wy" : "45f268ccc5e0949213f7f2f1fa57cfead04625ec3ccfc9c333596e487b2056f"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046fbf608a83e37ec26b37da033e069816680b770ba766fb8c44fce003960562f1045f268ccc5e0949213f7f2f1fa57cfead04625ec3ccfc9c333596e487b2056f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEb79gioPjfsJrN9oDPgaYFmgLdwunZvuM\nRPzgA5YFYvEEXyaMzF4JSSE/fy8fpXz+rQRiXsPM/JwzNZbkh7IFbw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 258,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205e03ff820a836e39d3a8435219297da13870abed3afdb65c954f83ee568a9f60",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c4dd547ad750174179bac8b8ce27481c58b81347776220a1b52ada13d65c8124f9c2ef3b5b4957cf69d3a139891682363c040610f200f4c318e59aa68f298af0",
+        "wx" : "0c4dd547ad750174179bac8b8ce27481c58b81347776220a1b52ada13d65c8124",
+        "wy" : "0f9c2ef3b5b4957cf69d3a139891682363c040610f200f4c318e59aa68f298af0"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004c4dd547ad750174179bac8b8ce27481c58b81347776220a1b52ada13d65c8124f9c2ef3b5b4957cf69d3a139891682363c040610f200f4c318e59aa68f298af0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAExN1UetdQF0F5usi4zidIHFi4E0d3YiCh\ntSraE9ZcgST5wu87W0lXz2nToTmJFoI2PAQGEPIA9MMY5ZqmjymK8A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 259,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220556a715b4d4f9bc6d73c39da07be0ae5a2b2fe6465e0762ad85e9ff4ec313596",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400055d79fb26286bb6289a7983a2b23bf5c30cc3d70363b559adf5548af991f8cae8b1b0ace32fd74a86ee1a671cc36c052a4796eae323be32e02ce9a0fb6227",
+        "wx" : "55d79fb26286bb6289a7983a2b23bf5c30cc3d70363b559adf5548af991f8",
+        "wy" : "0cae8b1b0ace32fd74a86ee1a671cc36c052a4796eae323be32e02ce9a0fb6227"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000400055d79fb26286bb6289a7983a2b23bf5c30cc3d70363b559adf5548af991f8cae8b1b0ace32fd74a86ee1a671cc36c052a4796eae323be32e02ce9a0fb6227",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAAVdefsmKGu2KJp5g6KyO/XDDMPXA2O1\nWa31VIr5kfjK6LGwrOMv10qG7hpnHMNsBSpHlurjI74y4CzpoPtiJw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 260,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100d55555555555555555555555555555547c74934474db157d2a8c3f088aced62a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040db51c74d34e41baba67c13a60af404ee82d8f1b0386b09696ee1e6ea1327b86413886c4623fc222a6950c3c3a09f3fd867a566bfd345e06b09ec6c5c2e4a192",
+        "wx" : "0db51c74d34e41baba67c13a60af404ee82d8f1b0386b09696ee1e6ea1327b86",
+        "wy" : "413886c4623fc222a6950c3c3a09f3fd867a566bfd345e06b09ec6c5c2e4a192"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200040db51c74d34e41baba67c13a60af404ee82d8f1b0386b09696ee1e6ea1327b86413886c4623fc222a6950c3c3a09f3fd867a566bfd345e06b09ec6c5c2e4a192",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEDbUcdNNOQbq6Z8E6YK9ATugtjxsDhrCW\nlu4ebqEye4ZBOIbEYj/CIqaVDDw6CfP9hnpWa/00XgawnsbFwuShkg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 261,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100c1777c8853938e536213c02464a936000ba1e21c0fc62075d46c624e23b52f31",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04bc2f7bc74cb3bc7e797b06cc3e649bf3407d1a55b4eaaddd28d3dcfaff2c3737a23bb364e16ac79398c013ce29a22e762c0d6067aaefda958474aad194a92e8a",
+        "wx" : "0bc2f7bc74cb3bc7e797b06cc3e649bf3407d1a55b4eaaddd28d3dcfaff2c3737",
+        "wy" : "0a23bb364e16ac79398c013ce29a22e762c0d6067aaefda958474aad194a92e8a"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bc2f7bc74cb3bc7e797b06cc3e649bf3407d1a55b4eaaddd28d3dcfaff2c3737a23bb364e16ac79398c013ce29a22e762c0d6067aaefda958474aad194a92e8a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvC97x0yzvH55ewbMPmSb80B9GlW06q3d\nKNPc+v8sNzeiO7Nk4WrHk5jAE84poi52LA1gZ6rv2pWEdKrRlKkuig==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 262,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022030bbb794db588363b40679f6c182a50d3ce9679acdd3ffbe36d7813dacbdc818",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d7edc7c645efff6af8821aea5b7f969f56ef6e615862b08fba3eaf0111c06f67e47fd0da61682adcc405f329148bf1c35b89cb5ec5a9ed0d98a410e261a6b41a",
+        "wx" : "0d7edc7c645efff6af8821aea5b7f969f56ef6e615862b08fba3eaf0111c06f67",
+        "wy" : "0e47fd0da61682adcc405f329148bf1c35b89cb5ec5a9ed0d98a410e261a6b41a"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d7edc7c645efff6af8821aea5b7f969f56ef6e615862b08fba3eaf0111c06f67e47fd0da61682adcc405f329148bf1c35b89cb5ec5a9ed0d98a410e261a6b41a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1+3HxkXv/2r4ghrqW3+Wn1bvbmFYYrCP\nuj6vARHAb2fkf9DaYWgq3MQF8ykUi/HDW4nLXsWp7Q2YpBDiYaa0Gg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 263,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202c37fd995622c4fb7fffffffffffffffc7cee745110cb45ab558ed7c90c15a2f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046bfd7ad01b5dcfb04de464083d3ca7ef5054506111df92ef02ff7690d9a6ec9306c469fe4c5a1e04f114e193b4bb197de2c8e35089037e5a20275bcf67d9bf73",
+        "wx" : "6bfd7ad01b5dcfb04de464083d3ca7ef5054506111df92ef02ff7690d9a6ec93",
+        "wy" : "6c469fe4c5a1e04f114e193b4bb197de2c8e35089037e5a20275bcf67d9bf73"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046bfd7ad01b5dcfb04de464083d3ca7ef5054506111df92ef02ff7690d9a6ec9306c469fe4c5a1e04f114e193b4bb197de2c8e35089037e5a20275bcf67d9bf73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEa/160Btdz7BN5GQIPTyn71BUUGER35Lv\nAv92kNmm7JMGxGn+TFoeBPEU4ZO0uxl94sjjUIkDflogJ1vPZ9m/cw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 264,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207fd995622c4fb7ffffffffffffffffff5d883ffab5b32652ccdcaa290fccb97d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048a9076c923021d5c5ef85894176ebb5c3a74aba75b3944c96f17debc2173ba99e5601d115bf08d37ae115c4d186bc21127bbfb21d0629bde27a16e9ed721b740",
+        "wx" : "08a9076c923021d5c5ef85894176ebb5c3a74aba75b3944c96f17debc2173ba99",
+        "wy" : "0e5601d115bf08d37ae115c4d186bc21127bbfb21d0629bde27a16e9ed721b740"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048a9076c923021d5c5ef85894176ebb5c3a74aba75b3944c96f17debc2173ba99e5601d115bf08d37ae115c4d186bc21127bbfb21d0629bde27a16e9ed721b740",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEipB2ySMCHVxe+FiUF267XDp0q6dbOUTJ\nbxfevCFzupnlYB0RW/CNN64RXE0Ya8IRJ7v7IdBim94noW6e1yG3QA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 265,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ffb32ac4589f6ffffffffffffffffffebb107ff56b664ca599b954521f9972fa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040fec6a85e077ef4240b98c62ab3b93e2cebcad0ae9617f7b0471504db1f45a65245a5fd0ad7a6d854125ed76d4787f77cc1983eca8c6ba8c019523a088c4d0f3",
+        "wx" : "0fec6a85e077ef4240b98c62ab3b93e2cebcad0ae9617f7b0471504db1f45a65",
+        "wy" : "245a5fd0ad7a6d854125ed76d4787f77cc1983eca8c6ba8c019523a088c4d0f3"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200040fec6a85e077ef4240b98c62ab3b93e2cebcad0ae9617f7b0471504db1f45a65245a5fd0ad7a6d854125ed76d4787f77cc1983eca8c6ba8c019523a088c4d0f3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAED+xqheB370JAuYxiqzuT4s68rQrpYX97\nBHFQTbH0WmUkWl/QrXpthUEl7XbUeH93zBmD7KjGuowBlSOgiMTQ8w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 266,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205622c4fb7fffffffffffffffffffffff928a8f1c7ac7bec1808b9f61c01ec327",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d3ab94d8704fb51774dcc3838ad9703071e0851de9b2d6ca74ccd79b855581914e4979b67f377419e5a9d4f03012b7e75656556f23756d4dbee145834c8279ef",
+        "wx" : "0d3ab94d8704fb51774dcc3838ad9703071e0851de9b2d6ca74ccd79b85558191",
+        "wy" : "4e4979b67f377419e5a9d4f03012b7e75656556f23756d4dbee145834c8279ef"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d3ab94d8704fb51774dcc3838ad9703071e0851de9b2d6ca74ccd79b855581914e4979b67f377419e5a9d4f03012b7e75656556f23756d4dbee145834c8279ef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE06uU2HBPtRd03MODitlwMHHghR3pstbK\ndMzXm4VVgZFOSXm2fzd0GeWp1PAwErfnVlZVbyN1bU2+4UWDTIJ57w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 267,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022044104104104104104104104104104103b87853fd3b7d3f8e175125b4382f25ed",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0449e13cd44c8b8350a5eaca2181bf96db120b768bde8800f379f43e9198333c75030ad9fb4b0b233bdc10ca0dc4c2134b18b691e46c7151e3573aa2b62891e69d",
+        "wx" : "49e13cd44c8b8350a5eaca2181bf96db120b768bde8800f379f43e9198333c75",
+        "wy" : "30ad9fb4b0b233bdc10ca0dc4c2134b18b691e46c7151e3573aa2b62891e69d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000449e13cd44c8b8350a5eaca2181bf96db120b768bde8800f379f43e9198333c75030ad9fb4b0b233bdc10ca0dc4c2134b18b691e46c7151e3573aa2b62891e69d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAESeE81EyLg1Cl6sohgb+W2xILdoveiADz\nefQ+kZgzPHUDCtn7SwsjO9wQyg3EwhNLGLaR5GxxUeNXOqK2KJHmnQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 268,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202739ce739ce739ce739ce739ce739ce705560298d1f2f08dc419ac273a5b54d9",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044574fd94ad03828588cb0bc2d434842ee093efe639015cc107d1ea3710f2112d1786d6ef1d411cbd1af5b5ee8845993e738fb64519b4329d04be21f7902a1c1d",
+        "wx" : "4574fd94ad03828588cb0bc2d434842ee093efe639015cc107d1ea3710f2112d",
+        "wy" : "1786d6ef1d411cbd1af5b5ee8845993e738fb64519b4329d04be21f7902a1c1d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044574fd94ad03828588cb0bc2d434842ee093efe639015cc107d1ea3710f2112d1786d6ef1d411cbd1af5b5ee8845993e738fb64519b4329d04be21f7902a1c1d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERXT9lK0DgoWIywvC1DSELuCT7+Y5AVzB\nB9HqNxDyES0XhtbvHUEcvRr1te6IRZk+c4+2RRm0Mp0EviH3kCocHQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 269,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100b777777777777777777777777777777688e6a1fe808a97a348671222ff16b863",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ee824d818768f13fa0eb908e396ea1c56b11774ce69d01e563aa36bb41d6371c990291ce2abc55bb6682d502ae0129e7c57e146e96d44757daaa1f94c93e0b17",
+        "wx" : "0ee824d818768f13fa0eb908e396ea1c56b11774ce69d01e563aa36bb41d6371c",
+        "wy" : "0990291ce2abc55bb6682d502ae0129e7c57e146e96d44757daaa1f94c93e0b17"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004ee824d818768f13fa0eb908e396ea1c56b11774ce69d01e563aa36bb41d6371c990291ce2abc55bb6682d502ae0129e7c57e146e96d44757daaa1f94c93e0b17",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE7oJNgYdo8T+g65COOW6hxWsRd0zmnQHl\nY6o2u0HWNxyZApHOKrxVu2aC1QKuASnnxX4UbpbUR1faqh+UyT4LFw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 270,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206492492492492492492492492492492406dd3a19b8d5fb875235963c593bd2d3",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044825ee46b2d21564726a32a922f5e3f2da6098f780e1f15c6bf1640669c41fe7292c066a24f0f450c2603f1837210898f8e80fa384aaf077eb5c7e87c6b26976",
+        "wx" : "4825ee46b2d21564726a32a922f5e3f2da6098f780e1f15c6bf1640669c41fe7",
+        "wy" : "292c066a24f0f450c2603f1837210898f8e80fa384aaf077eb5c7e87c6b26976"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044825ee46b2d21564726a32a922f5e3f2da6098f780e1f15c6bf1640669c41fe7292c066a24f0f450c2603f1837210898f8e80fa384aaf077eb5c7e87c6b26976",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAESCXuRrLSFWRyajKpIvXj8tpgmPeA4fFc\na/FkBmnEH+cpLAZqJPD0UMJgPxg3IQiY+OgPo4Sq8HfrXH6HxrJpdg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 271,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100955555555555555555555555555555547c74934474db157d2a8c3f088aced62c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0441348e7ac18eb1f4852801467bb0a0e36209321a8af4b410fd06f070a81f5de603b5594f1a5a79d23089e49e3e379f2a6cb14f92301c6999e510b8c8dc37fb4b",
+        "wx" : "41348e7ac18eb1f4852801467bb0a0e36209321a8af4b410fd06f070a81f5de6",
+        "wy" : "3b5594f1a5a79d23089e49e3e379f2a6cb14f92301c6999e510b8c8dc37fb4b"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000441348e7ac18eb1f4852801467bb0a0e36209321a8af4b410fd06f070a81f5de603b5594f1a5a79d23089e49e3e379f2a6cb14f92301c6999e510b8c8dc37fb4b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEQTSOesGOsfSFKAFGe7Cg42IJMhqK9LQQ\n/QbwcKgfXeYDtVlPGlp50jCJ5J4+N58qbLFPkjAcaZnlELjI3Df7Sw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 272,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3e3a49a23a6d8abe95461f8445676b17",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04753c74e5a36e1a4b61be7787202c98e05841fea2b0392b6ab69ee2e8a747e2b618971da1c85825c1d8141886115d27cb2add86545e6971bb835a2f452cde1e52",
+        "wx" : "753c74e5a36e1a4b61be7787202c98e05841fea2b0392b6ab69ee2e8a747e2b6",
+        "wy" : "18971da1c85825c1d8141886115d27cb2add86545e6971bb835a2f452cde1e52"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004753c74e5a36e1a4b61be7787202c98e05841fea2b0392b6ab69ee2e8a747e2b618971da1c85825c1d8141886115d27cb2add86545e6971bb835a2f452cde1e52",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEdTx05aNuGkthvneHICyY4FhB/qKwOStq\ntp7i6KdH4rYYlx2hyFglwdgUGIYRXSfLKt2GVF5pcbuDWi9FLN4eUg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100bffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364143",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0449c0254724576b0949827ce46240d90cb4075cd1978a416495a455f06a895504df7d64c35853353bd4d905da6adb88f26e62a5f20b3cd6382adf2c5a42d85053",
+        "wx" : "49c0254724576b0949827ce46240d90cb4075cd1978a416495a455f06a895504",
+        "wy" : "0df7d64c35853353bd4d905da6adb88f26e62a5f20b3cd6382adf2c5a42d85053"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000449c0254724576b0949827ce46240d90cb4075cd1978a416495a455f06a895504df7d64c35853353bd4d905da6adb88f26e62a5f20b3cd6382adf2c5a42d85053",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEScAlRyRXawlJgnzkYkDZDLQHXNGXikFk\nlaRV8GqJVQTffWTDWFM1O9TZBdpq24jybmKl8gs81jgq3yxaQthQUw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220185ddbca6dac41b1da033cfb60c152869e74b3cd66e9ffdf1b6bc09ed65ee40c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b05e98e84e2c19743c1dcf4e0ddf0bb1f32854033de63fcf3e605fbb2ed94cb1871d7415d5f6c57c840678f7e1a1c1e323519a4647fb3f6f52abb4647b9b6d70",
+        "wx" : "0b05e98e84e2c19743c1dcf4e0ddf0bb1f32854033de63fcf3e605fbb2ed94cb1",
+        "wy" : "0871d7415d5f6c57c840678f7e1a1c1e323519a4647fb3f6f52abb4647b9b6d70"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b05e98e84e2c19743c1dcf4e0ddf0bb1f32854033de63fcf3e605fbb2ed94cb1871d7415d5f6c57c840678f7e1a1c1e323519a4647fb3f6f52abb4647b9b6d70",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEsF6Y6E4sGXQ8Hc9ODd8LsfMoVAM95j/P\nPmBfuy7ZTLGHHXQV1fbFfIQGePfhocHjI1GaRkf7P29Sq7Rke5ttcA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "point duplication during verification",
+          "msg" : "313233343030",
+          "sig" : "3044022032b0d10d8d0e04bc8d4d064d270699e87cffc9b49c5c20730e1c26f6105ddcda02206fd848306e968e3ac1f6e443577c47a3c20bf0d01a5dc39c78c2c69d681850f4",
+          "result" : "valid",
+          "flags" : [
+            "PointDuplication"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b05e98e84e2c19743c1dcf4e0ddf0bb1f32854033de63fcf3e605fbb2ed94cb178e28bea2a093a837bf987081e5e3e1cdcae65b9b804c090ad544b9a84648ebf",
+        "wx" : "0b05e98e84e2c19743c1dcf4e0ddf0bb1f32854033de63fcf3e605fbb2ed94cb1",
+        "wy" : "78e28bea2a093a837bf987081e5e3e1cdcae65b9b804c090ad544b9a84648ebf"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b05e98e84e2c19743c1dcf4e0ddf0bb1f32854033de63fcf3e605fbb2ed94cb178e28bea2a093a837bf987081e5e3e1cdcae65b9b804c090ad544b9a84648ebf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEsF6Y6E4sGXQ8Hc9ODd8LsfMoVAM95j/P\nPmBfuy7ZTLF44ovqKgk6g3v5hwgeXj4c3K5lubgEwJCtVEuahGSOvw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "duplication bug",
+          "msg" : "313233343030",
+          "sig" : "3044022032b0d10d8d0e04bc8d4d064d270699e87cffc9b49c5c20730e1c26f6105ddcda02206fd848306e968e3ac1f6e443577c47a3c20bf0d01a5dc39c78c2c69d681850f4",
+          "result" : "invalid",
+          "flags" : [
+            "PointDuplication"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a49f9ebc082c064d61c0eab5f8bf23207b06e3a689dfc4fa2896ed114d1a88ab55783a6baf9401977d117ccb748c0d5c24a5d3bd2133d62c74de2be7cc7d9d40",
+        "wx" : "0a49f9ebc082c064d61c0eab5f8bf23207b06e3a689dfc4fa2896ed114d1a88ab",
+        "wy" : "55783a6baf9401977d117ccb748c0d5c24a5d3bd2133d62c74de2be7cc7d9d40"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004a49f9ebc082c064d61c0eab5f8bf23207b06e3a689dfc4fa2896ed114d1a88ab55783a6baf9401977d117ccb748c0d5c24a5d3bd2133d62c74de2be7cc7d9d40",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEpJ+evAgsBk1hwOq1+L8jIHsG46aJ38T6\nKJbtEU0aiKtVeDprr5QBl30RfMt0jA1cJKXTvSEz1ix03ivnzH2dQA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "comparison with point at infinity ",
+          "msg" : "313233343030",
+          "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0022033333333333333333333333333333332f222f8faefdb533f265d461c29a47373",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f9567a431b716388428510393b37feefd3afcfc6dc3881f623c0a0995e461ec3fba2f910ced19f8e789b158390a295e636c588c622d54f8feffbd2852e2911a9",
+        "wx" : "0f9567a431b716388428510393b37feefd3afcfc6dc3881f623c0a0995e461ec3",
+        "wy" : "0fba2f910ced19f8e789b158390a295e636c588c622d54f8feffbd2852e2911a9"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004f9567a431b716388428510393b37feefd3afcfc6dc3881f623c0a0995e461ec3fba2f910ced19f8e789b158390a295e636c588c622d54f8feffbd2852e2911a9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE+VZ6QxtxY4hChRA5Ozf+79Ovz8bcOIH2\nI8CgmV5GHsP7ovkQztGfjnibFYOQopXmNsWIxiLVT4/v+9KFLikRqQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and edgecase s",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0426095ef93b10bf50fe283f4c99136fb81fa297814f09977e8e38a3bfb837f61baf8d7cfc46c1928624f201ed14a70701bc5531bff4e2e578d5c92dabddbc7580",
+        "wx" : "26095ef93b10bf50fe283f4c99136fb81fa297814f09977e8e38a3bfb837f61b",
+        "wy" : "0af8d7cfc46c1928624f201ed14a70701bc5531bff4e2e578d5c92dabddbc7580"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000426095ef93b10bf50fe283f4c99136fb81fa297814f09977e8e38a3bfb837f61baf8d7cfc46c1928624f201ed14a70701bc5531bff4e2e578d5c92dabddbc7580",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEJgle+TsQv1D+KD9MmRNvuB+il4FPCZd+\njjijv7g39huvjXz8RsGShiTyAe0UpwcBvFUxv/Ti5XjVyS2r3bx1gA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3046022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022100b6db6db6db6db6db6db6db6db6db6db5f30f30127d33e02aad96438927022e9c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047a4b58ee76d461a1c3cde68400a0bbeeab346ee69315bed63f1700c66cf5e6cca642ae4078bb6bbbb76028977882e9c8374f267a2ced131029ae89560ce29825",
+        "wx" : "7a4b58ee76d461a1c3cde68400a0bbeeab346ee69315bed63f1700c66cf5e6cc",
+        "wy" : "0a642ae4078bb6bbbb76028977882e9c8374f267a2ced131029ae89560ce29825"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200047a4b58ee76d461a1c3cde68400a0bbeeab346ee69315bed63f1700c66cf5e6cca642ae4078bb6bbbb76028977882e9c8374f267a2ced131029ae89560ce29825",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEektY7nbUYaHDzeaEAKC77qs0buaTFb7W\nPxcAxmz15symQq5AeLtru7dgKJd4gunIN08meiztExAprolWDOKYJQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3046022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee502210099999999999999999999999999999998d668eaf0cf91f9bd7317d2547ced5a5a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f2a111eb24c9d280d9a66e4ff18681d222dd6a1828ebc4528f2bebe3e25228a1a0699bcec507fd0ec83da541a5a6143e2e68e4af72fcdcc8a2aea2b17478cc8a",
+        "wx" : "0f2a111eb24c9d280d9a66e4ff18681d222dd6a1828ebc4528f2bebe3e25228a1",
+        "wy" : "0a0699bcec507fd0ec83da541a5a6143e2e68e4af72fcdcc8a2aea2b17478cc8a"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004f2a111eb24c9d280d9a66e4ff18681d222dd6a1828ebc4528f2bebe3e25228a1a0699bcec507fd0ec83da541a5a6143e2e68e4af72fcdcc8a2aea2b17478cc8a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE8qER6yTJ0oDZpm5P8YaB0iLdahgo68RS\njyvr4+JSKKGgaZvOxQf9Dsg9pUGlphQ+Lmjkr3L83MiirqKxdHjMig==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022066666666666666666666666666666665e445f1f5dfb6a67e4cba8c385348e6e7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04e50054b3e4a4d1fef988e5a5e830155abc293fea3598af4c5ddaa10acd111274eb710d1834568cb379a1d1f3d691a8c0dc19f901fe3225c2b6691df5ef5333fe",
+        "wx" : "0e50054b3e4a4d1fef988e5a5e830155abc293fea3598af4c5ddaa10acd111274",
+        "wy" : "0eb710d1834568cb379a1d1f3d691a8c0dc19f901fe3225c2b6691df5ef5333fe"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004e50054b3e4a4d1fef988e5a5e830155abc293fea3598af4c5ddaa10acd111274eb710d1834568cb379a1d1f3d691a8c0dc19f901fe3225c2b6691df5ef5333fe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE5QBUs+Sk0f75iOWl6DAVWrwpP+o1mK9M\nXdqhCs0REnTrcQ0YNFaMs3mh0fPWkajA3Bn5Af4yJcK2aR3171Mz/g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022049249249249249249249249249249248c79facd43214c011123c1b03a93412a5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04edc17cd4ca6f9988fda5af4042e3f9eb42d0f7b6a1c0156e1a2af566b78103548a5d357777b306e96405f12e2617c1b29e8d574e5f6d66d1bc8ff7ea7c4b683c",
+        "wx" : "0edc17cd4ca6f9988fda5af4042e3f9eb42d0f7b6a1c0156e1a2af566b7810354",
+        "wy" : "08a5d357777b306e96405f12e2617c1b29e8d574e5f6d66d1bc8ff7ea7c4b683c"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004edc17cd4ca6f9988fda5af4042e3f9eb42d0f7b6a1c0156e1a2af566b78103548a5d357777b306e96405f12e2617c1b29e8d574e5f6d66d1bc8ff7ea7c4b683c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE7cF81MpvmYj9pa9AQuP560LQ97ahwBVu\nGir1ZreBA1SKXTV3d7MG6WQF8S4mF8Gyno1XTl9tZtG8j/fqfEtoPA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee502200eb10e5ab95f2f275348d82ad2e4d7949c8193800d8c9c75df58e343f0ebba7b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046d267c10d2315b42dbaf34c97c3c0d331fabacaf6021df4dc85b3e9e63dc0798ed154b11fa3a5ed952c14d8a2dd242de2b6cce3c22df42cd97de30054a19555e",
+        "wx" : "6d267c10d2315b42dbaf34c97c3c0d331fabacaf6021df4dc85b3e9e63dc0798",
+        "wy" : "0ed154b11fa3a5ed952c14d8a2dd242de2b6cce3c22df42cd97de30054a19555e"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046d267c10d2315b42dbaf34c97c3c0d331fabacaf6021df4dc85b3e9e63dc0798ed154b11fa3a5ed952c14d8a2dd242de2b6cce3c22df42cd97de30054a19555e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbSZ8ENIxW0LbrzTJfDwNMx+rrK9gId9N\nyFs+nmPcB5jtFUsR+jpe2VLBTYot0kLeK2zOPCLfQs2X3jAFShlVXg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 284,
+          "comment" : "extreme value for k and edgecase s",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c24bf7a984c96ece10077a9def38cbd0d898abd555f1668e06c27cabc00f6f679f69b238e1f95e99e5b558e0036273ebd6c36d12b4515348b85a21f6283f5016",
+        "wx" : "0c24bf7a984c96ece10077a9def38cbd0d898abd555f1668e06c27cabc00f6f67",
+        "wy" : "09f69b238e1f95e99e5b558e0036273ebd6c36d12b4515348b85a21f6283f5016"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004c24bf7a984c96ece10077a9def38cbd0d898abd555f1668e06c27cabc00f6f679f69b238e1f95e99e5b558e0036273ebd6c36d12b4515348b85a21f6283f5016",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEwkv3qYTJbs4QB3qd7zjL0NiYq9VV8WaO\nBsJ8q8APb2efabI44flemeW1WOADYnPr1sNtErRRU0i4WiH2KD9QFg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 285,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022100b6db6db6db6db6db6db6db6db6db6db5f30f30127d33e02aad96438927022e9c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041cd26d668807c815ed3f532c1db81ac473fb368f0f7ef1aff2592ea6fa6c4624a229b9ab5746cfbc47280c019a4248545354ca20880ff41cac2e252bc9b49704",
+        "wx" : "1cd26d668807c815ed3f532c1db81ac473fb368f0f7ef1aff2592ea6fa6c4624",
+        "wy" : "0a229b9ab5746cfbc47280c019a4248545354ca20880ff41cac2e252bc9b49704"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041cd26d668807c815ed3f532c1db81ac473fb368f0f7ef1aff2592ea6fa6c4624a229b9ab5746cfbc47280c019a4248545354ca20880ff41cac2e252bc9b49704",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEHNJtZogHyBXtP1MsHbgaxHP7No8PfvGv\n8lkupvpsRiSiKbmrV0bPvEcoDAGaQkhUU1TKIIgP9BysLiUrybSXBA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 286,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179802210099999999999999999999999999999998d668eaf0cf91f9bd7317d2547ced5a5a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04fc780777a3289af663fa02b1c262a8373b84614e659c1ab46942f1e058926ff82196c6bcae0b2798298d463be5c87924343d7f103a27131e0c7f4d60d2b5da8c",
+        "wx" : "0fc780777a3289af663fa02b1c262a8373b84614e659c1ab46942f1e058926ff8",
+        "wy" : "2196c6bcae0b2798298d463be5c87924343d7f103a27131e0c7f4d60d2b5da8c"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004fc780777a3289af663fa02b1c262a8373b84614e659c1ab46942f1e058926ff82196c6bcae0b2798298d463be5c87924343d7f103a27131e0c7f4d60d2b5da8c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/HgHd6MomvZj+gKxwmKoNzuEYU5lnBq0\naULx4FiSb/ghlsa8rgsnmCmNRjvlyHkkND1/EDonEx4Mf01g0rXajA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 287,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022066666666666666666666666666666665e445f1f5dfb6a67e4cba8c385348e6e7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045e25e2ee8af5ef8a3e0908341f9884501fb58a2fd234b1db6f22d561025524f4491d97a7793c9d9a1f35bb35f12121b9dbe075d8501cbd4db6697e3e0ad98bc0",
+        "wx" : "5e25e2ee8af5ef8a3e0908341f9884501fb58a2fd234b1db6f22d561025524f4",
+        "wy" : "491d97a7793c9d9a1f35bb35f12121b9dbe075d8501cbd4db6697e3e0ad98bc0"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045e25e2ee8af5ef8a3e0908341f9884501fb58a2fd234b1db6f22d561025524f4491d97a7793c9d9a1f35bb35f12121b9dbe075d8501cbd4db6697e3e0ad98bc0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEXiXi7or174o+CQg0H5iEUB+1ii/SNLHb\nbyLVYQJVJPRJHZeneTydmh81uzXxISG52+B12FAcvU22aX4+CtmLwA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 288,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022049249249249249249249249249249248c79facd43214c011123c1b03a93412a5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043ddf2920607df596da90123ea5674958054c8ed7758661b813f1aa30f19778b0707243e1a7bcc264b54289832e950c27563856241b79c243d0fc54f7ad24bc25",
+        "wx" : "3ddf2920607df596da90123ea5674958054c8ed7758661b813f1aa30f19778b0",
+        "wy" : "707243e1a7bcc264b54289832e950c27563856241b79c243d0fc54f7ad24bc25"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043ddf2920607df596da90123ea5674958054c8ed7758661b813f1aa30f19778b0707243e1a7bcc264b54289832e950c27563856241b79c243d0fc54f7ad24bc25",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEPd8pIGB99ZbakBI+pWdJWAVMjtd1hmG4\nE/GqMPGXeLBwckPhp7zCZLVCiYMulQwnVjhWJBt5wkPQ/FT3rSS8JQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 289,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179802200eb10e5ab95f2f275348d82ad2e4d7949c8193800d8c9c75df58e343f0ebba7b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
+        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
+        "wy" : "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeb5mfvncu6xVoGKVzocLBwKb/NstzijZ\nWfKBWxb4F5hIOtp3JqPEZV2k+/wOEQio/Re0SKaFVBmcR9CP+xDUuA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 290,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b02321028102202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 291,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "3045022100bc07ff041506dc73a75086a43252fb4270e157da75fb6cb92a9f07dcad153ec002202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777",
+        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
+        "wy" : "0b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeb5mfvncu6xVoGKVzocLBwKb/NstzijZ\nWfKBWxb4F5i3xSWI2Vw7mqJbBAPx7vdXAuhLt1l6q+ZjuC9vBO8ndw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 292,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b02321028102202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 293,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "3045022100bc07ff041506dc73a75086a43252fb4270e157da75fb6cb92a9f07dcad153ec002202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152",
+        "wx" : "782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963",
+        "wy" : "0af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeCyO0X47Kng7VGTzOwllKnHGeOBexR6E\n4rz8Zjo96WOvmstCgLjH98QvTvmrpiRewewXEv04oPqWQY2M1qphUg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 294,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "304502206632473c909425b6fa37095398e2538daab8552440320f9fe190dba8f672796b022100a8c3aacce9ffe4bc17c0530738f1386f9d9579f029ff3a7791b16e98422265e3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 295,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3046022100aa2c9af8351d49ca61907ac263cfe61a2146a11b3184a8c71ead4f08ac73531f022100b5f6b1a4c81424e5795a465d1d161873fc3ea395e144a072b522b2c78e1dc42e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 296,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "30460221009ea051fb091ed1cd137f22eb8511d0736f964da9fdd50013e50940156c21384a022100b17773d33789a2b57370dacd87857fdaba55ffa9ba0a0f62cf359179cec2d418",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 297,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "304502202d4d590c10e70219c504a51a90987c01c72a572a331191f6a9a047fe07cdf55b0221009833a138ad27600db4a96bd8b83afefd0b0974d690cd6523f32d184452740c2c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 298,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "304502204a9a6defca5259d749bc8e3fe2d313202ea68d4a01f883fa0af693b9212885b6022100b412ec617b693b83187b5c7b7c7959aa31b44e7a6e261c4105ab932c34bcf6f9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 299,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3045022011ea7ac2cd860115b74830215166ae5833b70f63f6ce5e1028dc40da20ab60d4022100ec63d937a97cab85a2bc8072d4889a40809bc03aaf9bae3fe3104c1df961a169",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 300,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3046022100ad37b4074b635b8c20bc31f9d19a60f206cc1796765a5e635d0a5c65abd404d1022100ad3298fc3f2164e140e77a14e9ec164b27ae078b84d863b3fbf0b0a4f2eeb6de",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 301,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3045022100d03fe7ce192885ab40b82aa43b54f1ede917e4924d28b6eaf556bde42a85627b022048afc1ac5b7d957b9267027db2966e1888d1b8784d34c92821ea47d2ef515daf",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 302,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "30460221009aae514db0491b124be8c3bc1fa32b23d92f31039a5785394ab672e0c42470d5022100c847c29d614452957ce3467b308b7706f17bb2f052a8b0e3f6669369487933ff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 303,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3046022100a20658453713610dbb502695921cd49192be8b41cbf4cfe87b430326f6ce4c5e022100bae9476729ce96f060afe6ee33e31fbfacad4618a5fe908b81d3f8683c4a344f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 304,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "30430220465b0fb05c14cd4ddef23e13acbe5f2337c45ea3816536670cfa7f2ab9090619021f5e525e837c406cf8944383e20bcee32112d8da5b42b40f88415098f722aa89",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 305,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3045022100c1a7d1972ed5bfa773d984355e8d38736d095a03991ddc2074ef6ea428c51d3602200681cfdc3f3bb495194f4a28187e9f1e00d88c00a6b1066fc800fee4b586993b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 306,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "30450220499955457fb43a75cb4a09cee433717f36f1cd33937ea91d22782a8782924eb9022100db54b560f54dbc10ad66df73da745da03614c93cd8a1734aabf5463d170492ca",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 307,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "304502203b14204636494c48f6f1eb9b6f05e4944107f4e84ef0eeab88e502df05704c4a0221009167bc4e096d0c8d67dcd1f9cd3e41c8eb1c3dbfb610252ddf4416afe6c3671a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 308,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3045022066e51e66b69393580bffddde6b97184df6e67d588a62206823a58a52eb93b86d022100e7b372305b6fbbda5cb19be8b3b8134dc96316b26a7dd2200580c4155e117e27",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 309,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3045022100983e39f3ea51ef7be98309047ba863b2090f791274663a8277ac257a6c4998e802202b1dfc63c5580ddbc15b0aaaeef3991bbc34b48fa3682691468d25df24b1579c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 310,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3045022100dca119753047b7ad177cd6c07b8d74ec916f4bb7c33f5a198f5527c8dfaf6f3a02200851f0e91532007d60284280e65fb967dee9f8e7bfe4641392613f2ed93f816f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 311,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3046022100a4a75b202b4489f89f78b60cb4a8b90f07d80c1b2d7208047267438cd987b41b022100c4a02862f1ac0e1271ead4a6c245e6d7ef60e6de9aed8ce20879b2a987ec4d1c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 312,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "304402204481555a0c4276b9e12f879436bb64a9b6c66d36f533086077000564d90d920c02206b2735878a323155f7a11fa1e7a74f2ee6ed0b015af46fbd47c008ea2287e759",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 313,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3046022100b45176dfeb1e7820130aa48bcec01d3af965f47819ec03e34958753a9d0f05be022100b06cbb6487985dc54c2f0f46dfea0d8ff8b753f98622919f83111f6fc5baebbd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 314,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304502207b1553e4d650c71fd49aa36ceed56f0438b0065e1b234445134bf7c83231ca9d022100e369a20fa6434bd138b092885a89e53a3f0b6bdcc5d2653e136c54070081dc5a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 315,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3045022100e2ba9e7427199e8f1ff12b55059eefdbc7578ed017c84b9649d2cee5526b4d64022065c109e60cb7ff237d8d8a7d5fd83d543cbd1326e2eb5bc970a9fdd8b7161519",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 316,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304402201c218f3ed33faa396211f70aa619d99bfcab37862d81d7d08ce2bb7ffa3dc77102200da293d71d1c0f0170056e5b0201d63b505bfc629d85a0b3ce4885d32fcf8491",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 317,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3046022100d473f4d278608a388422c4b22c252a2e28feb586e5b9d82aee2581a7d1cfe825022100c495d6047eeda193d4d9eb57e0e46c0ff642698d5cde2bf7cefac233420ee44f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 318,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304502202cdcad4834491f7ce6ee16af61309208dfb07878378c0810e0b192b835131309022100c6a7c963373dc2f259683aad6e734e839fc7b0c8177efc8911372d00aae3fca0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 319,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3046022100dcdc4ecd515dab4e8ac8573c8d05617fa064578d0926304ae04604a9a3f665f8022100ea865029740296417fe0878818a8ddb5712f93c3504635d4cb534044a9268ec2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 320,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3045022063a5587d3aa62b42dbbbf4551feb3e35029141f2d1cd9b6b123e838245142bff022100f121211cdbf23141266e9a79aa46b007df509f8e2826074d8477ff4153933657",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 321,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304502202844b4355dab5bf67dceabdf0d73ebe1cf3ecf669a7c6a681ae3c8dea6094f2e022100ba7f157f1b49cf44d61b97536779c9eac815ed86b73825970f485d8690247ccb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 322,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304402207e0b029c08bd2ef517515abf79be685aadca23a3898b45b8c466fea315709c41022024d61721e6c0a86a2fc97610876a22e9e28cdd015bcf0f1e3e0ad4fdc2d6077a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 323,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304502202e2f9f053a17456f39c61d1d9537e34c2af0de785327b6e55a40fa780263c1900221009f038b4fda4dc6f96f6694dcae1fbdbe9ba2fc9846466ee0b15f54bb93bfd981",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 324,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "3045022100c7ba1c73bdc4364f6c7c61ab1fecc0547f8d6fcbeb251f734964407536353f3202207b3a6fb2fe60f8861e9e0955663f5703a17f5ecc3a5b5140eb87eaf35a3a5090",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 325,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "304502206994495068123b083f5dfa7ca843440c6805e7eb491ed6751981be0c6d5289a10221008553d5328bbf134fcd1183ed271b0b02de5306fde3db3b668f094651d19c6662",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 326,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "304402200dd00adf031b0d32985c9be65f71062c18e762652945c261aaee707e63f31acc02202ff39fc09f9177519a83e7b07f66432963b74737277572bd27368184187ce0a3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 327,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "30450220218f85afc034b7805171f89cdd3f0e33a215b92fda4744714ddad4c0ee0f14d4022100948adfad4005373bba45e1cec039e1caaea888c1f4da0e0df86c701df72b1f60",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 328,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "3045022100b5913e646766d68c843ebcd6ab84f73367ce07bdf56c62a27dcdaafedb27dea202207152e40faca1de0793be55d57b5749285ef75a89bab9330a1e76574075831e75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 329,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "30440220744051e7cde18399d623b6d5406aa5d0267ac8342a904d5fd2d1a7f90535e4b7022016eeabbf600ed3ed32c61ad8ff7d18e87cb5c086752e5eb0343caac413360dd1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 330,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "30450220009d7eafa98d8021f899687b60106e6a9535e9f54a7cc9c5d2f6b72704dccc38022100e23156e54d3125fdc2c3965dcf506a7bb048e1467a74647d117c64a843b7c8f8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 331,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "304502207bffd957c513feb521c98832cc160e43e2997101571a4166d80b4c703a4fc897022100f1e561519b98c15817d2de1667ee2d873c41a3f7453c41058dbe4ef43cb487c7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 332,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "3046022100a99cc60ba7e66ca30382430c4f6a2b9275603fa49645074bc54f91797c45b8da02210086fdf8f96844578229d1eb48ffaa14c2a3ef93ea3db38766cd7d087ecbe9681c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 333,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "30440220115dd9b69631cbf0a0cd5510b6bc38fb45eec57dff5b3b6efbc319b2229107120220692654dc9a4fcd7644dfaad18e38c8ce21c64117e681c20b4b65734394817910",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1",
+        "wx" : "6e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff",
+        "wy" : "1060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv8AAAABBgSS1aVnPg8l2NUPt+WMSdhtRtQhaVXgqj1A4Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 334,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "304402202b9c9f85596fed708b3af80393b27edfd0b5ae2f0074270a56362f5f9f62b4e102202fae837503ba2c1d4c945e0913949ef094ce0b8086359bbb5dba4a12707c5600",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 335,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "304402205cd765209021d8c1a8aef4ff61d6fa6e7993bf9fea0b93609eea130de536fccc02204f10c7989587fe3019e36d85aa024bf20db6737c4f28900c1c9662f2782143e0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 336,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "304502204c1a59b1e578d76f1595e13b557057559f26ab559ec1df3f45ec98b90fa526ce022100c6872f094bdb3f82e31f93ad65357e2daafe66f304af197089ef0dc94ff90624",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e",
+        "wx" : "6e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff",
+        "wy" : "0fffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv/////++fttKlqYwfDaJyrwSBpztieSuSvelqoeVcK7Tg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 337,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100a35d1400d4cc7a8f617b721faee7118a74103c4630dec5aa47e097951dafc1a7022100958221023024e97ef6df35a22e820c7bc5e16299f3f12e9d9b1b727c46d795e6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 338,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "304402207fb733ed73c72fc4f4cf065e370c730301316ff4e9c6a8a701170f604c2d70b702207ca9ca985d3df48978b3a2f9c0bb8a58b216c795e687f74623a3321448bfa73c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 339,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "304502210095ae4df2fba8524e1151cb9a9c5c1ec1357a663722a18329303d86a58e7047540220591ea644b1dc6f4c7cd5d7d939397f84d9e077100760f0816ae5b22ae6a74203",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d",
+        "wx" : "13fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0",
+        "wy" : "0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAAAAAT/SIkjWTZX3PCm0irSGMYUL5QP9\nAPhGi18PcOD27nqkO8LG/SWx2CaSQcvdnbsNrJbcliMfQwcF+DhxfQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 340,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "30440220717925f0dd5cf45e746e87f79c9ea97d11eb01444052c270aeccef56c2e958280220785787b664137080383d2fc500459fa713258205fdae97b3240fb64bb638a657",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 341,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "30460221008adfdeae3b586315d06183610d271fc423cc789908b8f5dc563253a3c782510a0221008137bedbb4e60da26041b351f72a6bc3b7741f745743f0733b40b7fc56febd04",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 342,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "304502210092ded14e19b94d17c79b063a034b122ce3b93a2502f2f223fad3461abf631632022052ff8ad14ba3657242e29440d01cab36ebb6033ee36021dc8d9b38f0808a90bc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35",
+        "wx" : "25afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dffffffff",
+        "wy" : "0fa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEJa/WiayrrtZ8Hylt5ZQG+MVQ9XFGoLTs\nLJeHbf/////6RqduUgMi37xJHsTwzBl0IPxOpYg9j23VPDVLxPZ8NQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 343,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100d48373483e0fa2f11cfdfaea6f1de59e6861e9e87c4f6446602ba0125ab7de460221009d753bba3a7be08aab456e93a6500d4781795ed59af8bd6d6133129abef1ad98",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 344,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100f11473117b66e5d84a2ecd0f8b7ec4a2cc2aee89ae022020235777305142f498022100fe5ce43ced28f3f69f65e810678afefd2bdeefb051280ad2880157fda28b2ab1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 345,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "304502203c9f5bdde7310b5696c93c86203fc97e11a70739e20c71c9e722308d45a59e6c022100c09efb9a045a47cce799b768890bb17833a0210d869a36be1da33f2585477c32",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
+        "wx" : "0d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb9",
+        "wy" : "3f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE0S5sZrZ3NMPITSYBz1013Al+J2N/CspK\nT9t0tqrdO7k/W9/4i9VzbfiY5pkAbtdQ8RzwfFhmzXrXDHEh/////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 346,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "304402206953442c487f240487d2af81f9825c894b1fc2534321fa012db8248be20a4b06022056927395d64ce4d690caa98944c2ddebc312f57f439d37236ea63cc1de098718",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 347,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100fb39aa5f36ceca6e68d1932e811598c412892734dade389fd9e8ba94c5c7a251022100fdddf0c3db66c7c46608ac98431f0ee8ebb1e27ba501937789ebcd0f7ac26ecc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 348,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3044022044fef6017638fd5bda17dfce346b0311b5e369bfb68aa85d5e970786b8e6644b0220720b3a52fe44be6028759f0f1a6fd7020ff6792cd4ece98dffd0d97d3b726091",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb",
+        "wx" : "6d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000",
+        "wy" : "0e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbUp/YNR3Sk8KqLve25U8fup5CUB+MWR1\nVmS8KAAAAADmWdNOTfONnoyeqt+6NmEsdpGVvobHeqw/NueLU4aA+w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 349,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "30430220304babc41346e6205cf03e2d0b26e4b222dce8227402d001ba233efa69c91234021f65add3279f51b2417fb0a13b0f06404199caac3430385513ee49f67d8e8cdf",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 350,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3044022023868700b71fbafcaa73960faf922ee0458ef69e01fb060b2f9a80d992fe114c02206ec1526bd56f6eebf10463bd9210d62510b95166365e10a7b7abfc4d584ca338",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 351,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100dd60d7cf83a08208637212b65d079fb658d8ef1b8438d9c58f4122b0cd14ac49022100f1d762516f4d6c3e6a98dd31dc3869dc7cf35944f33b35c6a17fe632d2b18cd5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof/ecdsa_secp256r1_sha256_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.json
similarity index 85%
rename from src/third_party/wycheproof/ecdsa_secp256r1_sha256_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.json
index 19847ab..690228a 100644
--- a/src/third_party/wycheproof/ecdsa_secp256r1_sha256_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.json
@@ -1,27 +1,28 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 340,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 358,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
         "wx" : "2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838",
         "wy" : "0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -35,7 +36,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3046022100e43dc0edacf7345544d7c28547949164bf882dedcc9db1be918caa02a5f7f7ca022100eb313df522aa9e6dbc0cd45d1ea6edaebd858dca4780a940014363ff7600118d",
+          "sig" : "304402200c465158cada5bbaa87faa8fb796304117db6576d33827b483b6b6aea478a229022013f0fe9ee688d551c164ae988b38916f1a208f2e67621f392c6b6ce0c0e72364",
           "result" : "valid",
           "flags" : []
         },
@@ -43,7 +44,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304502204d1b36126feee49ec974650f8d1a335f8d210e60949642348ad71e476a35cdfe022100a890b9ddbb3f2089ea69fd117fb349ed054c0f0830f671c1a639ed88eec0bc75",
+          "sig" : "304502206634bf617fa20aac6606bd44f8479816957dc3af187eed0f2383b6324b499fad022100aaeaebcf1222bbc8f05eda510a9da32010f9d009388733ec8abeaf433651a176",
           "result" : "valid",
           "flags" : []
         },
@@ -51,7 +52,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304502200e285057b2f96995a3e6a6511cc4a83a791491610ae3f3571d8ab1080b726cc4022100d8b8325f25fb663eda57d958cc174fa8c36d19d2ccb76d5ac4488d776fcf0b8d",
+          "sig" : "3045022100a5631aa8b4ea617299812d6ba30634e6435b464134851bab34b27de1efa846f102203748532dde1027adf441d8d838cb071e53ca07940bfbeba596f187dc2dbbffd3",
           "result" : "valid",
           "flags" : []
         },
@@ -59,7 +60,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3046022100caf80e1656e0a20237b7c39c8bffdf1831efef84a0b5bd7d404fec77b20efecd022100e8352a15bf01544331281f2f71fd913003acabbc6ab0f47cdc58c8d7bc8a6cd5",
+          "sig" : "304402200ab76b2520a9f50b8f587dcebf4b4505d8bb20b0259be12f6b331eb372b14bcc02207e1a6aaeaa2a06159ca3b8d276a1dc4f5e177cba24945e574e11de12c6fd6d01",
           "result" : "valid",
           "flags" : []
         },
@@ -67,7 +68,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304502206160cb08f98f68d6c62b45babea51bd439d9003a40acb38295f63929bf26027e0221008f6b86c954822054da763c5dc9e5ce22e08814904e438311fa4ff2d79e9f9795",
+          "sig" : "3045022100bf9c4ae2cb659c363042793489587d62e5e680c4a82ff6dca07f3c52814eba0a02202e64c12f19f4f9c442562b31335dffa7b929525c0563da11b0909a3c3b942e31",
           "result" : "valid",
           "flags" : []
         },
@@ -95,7 +96,9 @@
           "msg" : "313233343030",
           "sig" : "30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -103,7 +106,9 @@
           "msg" : "313233343030",
           "sig" : "30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -111,7 +116,9 @@
           "msg" : "313233343030",
           "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -119,7 +126,9 @@
           "msg" : "313233343030",
           "sig" : "3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -127,7 +136,9 @@
           "msg" : "313233343030",
           "sig" : "3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -135,7 +146,9 @@
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 15,
@@ -387,6 +400,14 @@
         },
         {
           "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -394,7 +415,7 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
+          "tcId" : 48,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -402,24 +423,16 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 49,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 50,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500",
           "result" : "invalid",
@@ -427,22 +440,6 @@
         },
         {
           "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -450,7 +447,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -458,7 +455,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef",
@@ -466,7 +463,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -474,7 +471,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -482,7 +479,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -490,7 +487,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -498,7 +495,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -506,7 +503,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef",
@@ -514,7 +511,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -522,7 +519,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -530,7 +527,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -538,7 +535,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -546,7 +543,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -554,7 +551,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -562,7 +559,15 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -570,7 +575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -578,7 +583,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -586,7 +591,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -594,7 +599,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -602,7 +607,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -610,7 +615,7 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
+          "tcId" : 73,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -618,127 +623,47 @@
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
+          "tcId" : 79,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -746,31 +671,15 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847",
@@ -778,7 +687,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -786,15 +695,17 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00",
@@ -802,7 +713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000",
@@ -810,7 +721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000",
@@ -818,7 +729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef",
@@ -826,7 +737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef",
@@ -834,7 +745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -842,7 +753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000",
@@ -850,7 +761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -858,7 +769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18",
@@ -866,7 +777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -874,7 +785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -882,7 +793,23 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302402022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302302202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -890,7 +817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -898,23 +825,67 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 111,
+          "tcId" : 100,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30250281022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -922,7 +893,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 107,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500",
@@ -930,7 +901,87 @@
           "flags" : []
         },
         {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -938,7 +989,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200",
@@ -946,7 +997,23 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -954,7 +1021,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -962,7 +1029,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -970,7 +1037,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b",
@@ -978,7 +1045,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -986,7 +1053,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -994,7 +1061,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847",
@@ -1002,7 +1069,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -1010,7 +1077,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -1018,7 +1085,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -1026,7 +1093,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -1034,7 +1101,7 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
+          "tcId" : 133,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180",
@@ -1042,66 +1109,18 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "sig" : "3026020100022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 135,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c",
+          "sig" : "302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1109,7 +1128,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a",
+          "sig" : "30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
@@ -1117,7 +1136,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825",
+          "sig" : "30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
@@ -1125,7 +1144,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4",
+          "sig" : "30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
@@ -1133,7 +1152,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "sig" : "3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
@@ -1141,12 +1160,76 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825",
+          "sig" : "30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1156,7 +1239,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1166,7 +1249,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1176,7 +1259,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
@@ -1186,7 +1269,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
@@ -1196,7 +1279,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
@@ -1206,7 +1289,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
@@ -1216,7 +1299,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000",
@@ -1226,7 +1309,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1236,7 +1319,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1246,7 +1329,7 @@
           ]
         },
         {
-          "tcId" : 151,
+          "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1256,7 +1339,7 @@
           ]
         },
         {
-          "tcId" : 152,
+          "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201010201ff",
@@ -1266,7 +1349,7 @@
           ]
         },
         {
-          "tcId" : 153,
+          "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
@@ -1276,7 +1359,7 @@
           ]
         },
         {
-          "tcId" : 154,
+          "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
@@ -1286,7 +1369,7 @@
           ]
         },
         {
-          "tcId" : 155,
+          "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
@@ -1296,7 +1379,7 @@
           ]
         },
         {
-          "tcId" : 156,
+          "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
@@ -1306,7 +1389,7 @@
           ]
         },
         {
-          "tcId" : 157,
+          "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000",
@@ -1316,7 +1399,7 @@
           ]
         },
         {
-          "tcId" : 158,
+          "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020101090380fe01",
@@ -1326,7 +1409,7 @@
           ]
         },
         {
-          "tcId" : 159,
+          "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020100",
@@ -1336,7 +1419,7 @@
           ]
         },
         {
-          "tcId" : 160,
+          "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020101",
@@ -1346,7 +1429,7 @@
           ]
         },
         {
-          "tcId" : 161,
+          "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff0201ff",
@@ -1356,7 +1439,7 @@
           ]
         },
         {
-          "tcId" : 162,
+          "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
@@ -1366,7 +1449,7 @@
           ]
         },
         {
-          "tcId" : 163,
+          "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
@@ -1376,7 +1459,7 @@
           ]
         },
         {
-          "tcId" : 164,
+          "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
@@ -1386,7 +1469,7 @@
           ]
         },
         {
-          "tcId" : 165,
+          "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
@@ -1396,7 +1479,7 @@
           ]
         },
         {
-          "tcId" : 166,
+          "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000",
@@ -1406,7 +1489,7 @@
           ]
         },
         {
-          "tcId" : 167,
+          "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30080201ff090380fe01",
@@ -1416,7 +1499,7 @@
           ]
         },
         {
-          "tcId" : 168,
+          "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100",
@@ -1426,7 +1509,7 @@
           ]
         },
         {
-          "tcId" : 169,
+          "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101",
@@ -1436,7 +1519,7 @@
           ]
         },
         {
-          "tcId" : 170,
+          "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff",
@@ -1446,7 +1529,7 @@
           ]
         },
         {
-          "tcId" : 171,
+          "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
@@ -1456,7 +1539,7 @@
           ]
         },
         {
-          "tcId" : 172,
+          "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
@@ -1466,7 +1549,7 @@
           ]
         },
         {
-          "tcId" : 173,
+          "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
@@ -1476,7 +1559,7 @@
           ]
         },
         {
-          "tcId" : 174,
+          "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
@@ -1486,7 +1569,7 @@
           ]
         },
         {
-          "tcId" : 175,
+          "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000",
@@ -1496,7 +1579,7 @@
           ]
         },
         {
-          "tcId" : 176,
+          "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01",
@@ -1506,7 +1589,7 @@
           ]
         },
         {
-          "tcId" : 177,
+          "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100",
@@ -1516,7 +1599,7 @@
           ]
         },
         {
-          "tcId" : 178,
+          "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101",
@@ -1526,7 +1609,7 @@
           ]
         },
         {
-          "tcId" : 179,
+          "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff",
@@ -1536,7 +1619,7 @@
           ]
         },
         {
-          "tcId" : 180,
+          "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
@@ -1546,7 +1629,7 @@
           ]
         },
         {
-          "tcId" : 181,
+          "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
@@ -1556,7 +1639,7 @@
           ]
         },
         {
-          "tcId" : 182,
+          "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
@@ -1566,7 +1649,7 @@
           ]
         },
         {
-          "tcId" : 183,
+          "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
@@ -1576,7 +1659,7 @@
           ]
         },
         {
-          "tcId" : 184,
+          "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000",
@@ -1586,7 +1669,7 @@
           ]
         },
         {
-          "tcId" : 185,
+          "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01",
@@ -1596,7 +1679,7 @@
           ]
         },
         {
-          "tcId" : 186,
+          "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100",
@@ -1606,7 +1689,7 @@
           ]
         },
         {
-          "tcId" : 187,
+          "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101",
@@ -1616,7 +1699,7 @@
           ]
         },
         {
-          "tcId" : 188,
+          "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff",
@@ -1626,7 +1709,7 @@
           ]
         },
         {
-          "tcId" : 189,
+          "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
@@ -1636,7 +1719,7 @@
           ]
         },
         {
-          "tcId" : 190,
+          "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
@@ -1646,7 +1729,7 @@
           ]
         },
         {
-          "tcId" : 191,
+          "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
@@ -1656,7 +1739,7 @@
           ]
         },
         {
-          "tcId" : 192,
+          "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
@@ -1666,7 +1749,7 @@
           ]
         },
         {
-          "tcId" : 193,
+          "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000",
@@ -1676,7 +1759,7 @@
           ]
         },
         {
-          "tcId" : 194,
+          "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01",
@@ -1686,7 +1769,7 @@
           ]
         },
         {
-          "tcId" : 195,
+          "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100",
@@ -1696,7 +1779,7 @@
           ]
         },
         {
-          "tcId" : 196,
+          "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101",
@@ -1706,7 +1789,7 @@
           ]
         },
         {
-          "tcId" : 197,
+          "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff",
@@ -1716,7 +1799,7 @@
           ]
         },
         {
-          "tcId" : 198,
+          "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
@@ -1726,7 +1809,7 @@
           ]
         },
         {
-          "tcId" : 199,
+          "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
@@ -1736,7 +1819,7 @@
           ]
         },
         {
-          "tcId" : 200,
+          "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
@@ -1746,7 +1829,7 @@
           ]
         },
         {
-          "tcId" : 201,
+          "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
@@ -1756,7 +1839,7 @@
           ]
         },
         {
-          "tcId" : 202,
+          "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000",
@@ -1766,7 +1849,7 @@
           ]
         },
         {
-          "tcId" : 203,
+          "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01",
@@ -1776,7 +1859,7 @@
           ]
         },
         {
-          "tcId" : 204,
+          "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100",
@@ -1786,7 +1869,7 @@
           ]
         },
         {
-          "tcId" : 205,
+          "tcId" : 213,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101",
@@ -1796,7 +1879,7 @@
           ]
         },
         {
-          "tcId" : 206,
+          "tcId" : 214,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff",
@@ -1806,7 +1889,7 @@
           ]
         },
         {
-          "tcId" : 207,
+          "tcId" : 215,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
@@ -1816,7 +1899,7 @@
           ]
         },
         {
-          "tcId" : 208,
+          "tcId" : 216,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
@@ -1826,7 +1909,7 @@
           ]
         },
         {
-          "tcId" : 209,
+          "tcId" : 217,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
@@ -1836,7 +1919,7 @@
           ]
         },
         {
-          "tcId" : 210,
+          "tcId" : 218,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
@@ -1846,7 +1929,7 @@
           ]
         },
         {
-          "tcId" : 211,
+          "tcId" : 219,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000",
@@ -1856,7 +1939,7 @@
           ]
         },
         {
-          "tcId" : 212,
+          "tcId" : 220,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01",
@@ -1866,7 +1949,7 @@
           ]
         },
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3639383139",
           "sig" : "3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b",
@@ -1876,20 +1959,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECtmVACiNRmlAAx1yqfVEWk1DeEZA\nhVvwpph00t5f4QPFAR5u8sQtzVDV09Kfma5uuiyAySRPTFQi8Jef8MO6Xg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e",
         "wx" : "0ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103",
         "wy" : "0c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECtmVACiNRmlAAx1yqfVEWk1DeEZA\nhVvwpph00t5f4QPFAR5u8sQtzVDV09Kfma5uuiyAySRPTFQi8Jef8MO6Xg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
@@ -1897,7 +1981,7 @@
           "flags" : []
         },
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
@@ -1907,20 +1991,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqwX9nQ3ia5zm9IGWUtn8aRk9CqOY\n8PuoAT4JxYIgRVQZI1JxIox4Z1kJXRK3WvBpLdQQPxn2qMMvSUNaHpuNRQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45",
         "wx" : "0ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c582204554",
         "wy" : "19235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqwX9nQ3ia5zm9IGWUtn8aRk9CqOY\n8PuoAT4JxYIgRVQZI1JxIox4Z1kJXRK3WvBpLdQQPxn2qMMvSUNaHpuNRQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
@@ -1930,20 +2015,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgJhPOaH/OKhqaKpCAba+Xfv+z4di\nGXELB7rfb91MbFYR/rlzkNmCbnoG37QYcclA10QV7TysIInxRFAZu1XtlQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95",
         "wx" : "080984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c56",
         "wy" : "11feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgJhPOaH/OKhqaKpCAba+Xfv+z4di\nGXELB7rfb91MbFYR/rlzkNmCbnoG37QYcclA10QV7TysIInxRFAZu1XtlQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4",
@@ -1953,20 +2039,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQgG0JylEIBwylPW6qaMjK23Wh0lf\nzBmnCpW8YCtPfAWVw366nugXHBu1rG/q91O8NvRj467xZilXLAwKj7CADg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e",
         "wx" : "4201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c05",
         "wy" : "095c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQgG0JylEIBwylPW6qaMjK23Wh0lf\nzBmnCpW8YCtPfAWVw366nugXHBu1rG/q91O8NvRj467xZilXLAwKj7CADg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5",
@@ -1976,20 +2063,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpxr2TeUSakpOAreSLWbOlBXOiKTJ\n0lUU2RCCyHJayVddR3I8j75YC7Np/snCZl2OMKQ1uZMmRUgufJ8R6HIpaw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b",
         "wx" : "0a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac957",
         "wy" : "5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpxr2TeUSakpOAreSLWbOlBXOiKTJ\n0lUU2RCCyHJayVddR3I8j75YC7Np/snCZl2OMKQ1uZMmRUgufJ8R6HIpaw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020105020101",
@@ -1999,20 +2087,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZifOxPBzHqI/wpMfkOvlt1cvWX0g\n3wj8KzHujvFrFXJhcO132NChT8XJw8TJvn8NPuGPcJuyderyBz4lj+aUpQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5",
         "wx" : "6627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b1572",
         "wy" : "6170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZifOxPBzHqI/wpMfkOvlt1cvWX0g\n3wj8KzHujvFrFXJhcO132NChT8XJw8TJvn8NPuGPcJuyderyBz4lj+aUpQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020105020103",
@@ -2022,20 +2111,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWnyIJehWkczh9edUTFTnPxSvwBDL\ncxNDJiyn7Fp39b/vbt9ipEl8G9exR/tsPSKvPDm/zpXzDhOhbT17KBL4Ew==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813",
         "wx" : "5a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bf",
         "wy" : "0ef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWnyIJehWkczh9edUTFTnPxSvwBDL\ncxNDJiyn7Fp39b/vbt9ipEl8G9exR/tsPSKvPDm/zpXzDhOhbT17KBL4Ew==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020105020105",
@@ -2045,20 +2135,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEy+DCkTLNc4Nk/t1gMVKZDASOXi//\nmW2IP6bKynl4xzdwr2qM5Ey0EiSyYDYG9MBNGI6Av/fMMa1RidSrDXDowQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1",
         "wx" : "0cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c737",
         "wy" : "70af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEy+DCkTLNc4Nk/t1gMVKZDASOXi//\nmW2IP6bKynl4xzdwr2qM5Ey0EiSyYDYG9MBNGI6Av/fMMa1RidSrDXDowQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020105020106",
@@ -2066,7 +2157,7 @@
           "flags" : []
         },
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106",
@@ -2076,20 +2167,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAES+QXgJcALw3qto8NmhMODtM6Z5XQ\nKiB5bbg0RLA34Tkg8TBR4O7Nz85NrOoPUNHyR8qmafGTwbQHW1GuKW0tVg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56",
         "wx" : "4be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e139",
         "wy" : "20f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAES+QXgJcALw3qto8NmhMODtM6Z5XQ\nKiB5bbg0RLA34Tkg8TBR4O7Nz85NrOoPUNHyR8qmafGTwbQHW1GuKW0tVg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8",
@@ -2099,20 +2191,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0Pc3kiA3Fq/UvkMp+qSNJp8VMT67\nujedd4PJe/PokNmXH0oyBmBb7CF4K/XidccUQX6PVmVJ5rxoaQ0jY8icwQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1",
         "wx" : "0d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9",
         "wy" : "0971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0Pc3kiA3Fq/UvkMp+qSNJp8VMT67\nujedd4PJe/PokNmXH0oyBmBb7CF4K/XidccUQX6PVmVJ5rxoaQ0jY8icwQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88",
@@ -2122,20 +2215,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESDiyvjWmJ2qA754igUD52bls6Dt6\nJU9xzN67uAVM4F/6nLwSPJGbGeACOBmNBAaQQ71mCoKIFAUfy4qsc4psaw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b",
         "wx" : "4838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05f",
         "wy" : "0fa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESDiyvjWmJ2qA754igUD52bls6Dt6\nJU9xzN67uAVM4F/6nLwSPJGbGeACOBmNBAaQQ71mCoKIFAUfy4qsc4psaw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a",
@@ -2145,20 +2239,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc5OYPKMKUgu8R4PcmWB0aqtETvUg\nwKjncRGapOdLD2Tp174asBoL9ibnCYY+akhtuvMnk6/M93Tixs0nsYV1Jg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526",
         "wx" : "7393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64",
         "wy" : "0e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEc5OYPKMKUgu8R4PcmWB0aqtETvUg\nwKjncRGapOdLD2Tp174asBoL9ibnCYY+akhtuvMnk6/M93Tixs0nsYV1Jg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d",
@@ -2168,20 +2263,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWsMxoRA/6WZpc3nzVqk381BYigVH\nfjCIUbilAtXfzcX+mZPfS1eTmyuNoJW/bXlCZSBM/gO+mVoC5l1AjIccCw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b",
         "wx" : "5ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5",
         "wy" : "0fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWsMxoRA/6WZpc3nzVqk381BYigVH\nfjCIUbilAtXfzcX+mZPfS1eTmyuNoJW/bXlCZSBM/gO+mVoC5l1AjIccCw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b",
@@ -2191,20 +2287,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHSCb6N4t6HcJWjmdOQTHTMRY2Sbi\ne7jljl6uV2fEFQndWeBMIU97GNzjUfwqVJiTpoYOgBY/OMxgpPLJ0EDYyQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9",
         "wx" : "1d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509",
         "wy" : "0dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHSCb6N4t6HcJWjmdOQTHTMRY2Sbi\ne7jljl6uV2fEFQndWeBMIU97GNzjUfwqVJiTpoYOgBY/OMxgpPLJ0EDYyQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b",
@@ -2214,20 +2311,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECDU5++5EYl46yq+i/LQTSTks7wYz\nobj6vs7gwTOxDpmRXB6+e/AN+FNRlncKWAR64qQC8mMmu31B1NdhYzeRHg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e",
         "wx" : "083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99",
         "wy" : "0915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECDU5++5EYl46yq+i/LQTSTks7wYz\nobj6vs7gwTOxDpmRXB6+e/AN+FNRlncKWAR64qQC8mMmu31B1NdhYzeRHg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
@@ -2237,20 +2335,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEius2inAnpNZKveo3OQwMHWom85ni\n2XNN4es9Dhk3OHQFvRODRxXh266bh1zwe9VeG2aRx/dTau87Gb96St9XbQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d",
         "wx" : "08aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e19373874",
         "wy" : "5bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEius2inAnpNZKveo3OQwMHWom85ni\n2XNN4es9Dhk3OHQFvRODRxXh266bh1zwe9VeG2aRx/dTau87Gb96St9XbQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101",
@@ -2258,7 +2357,7 @@
           "flags" : []
         },
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100",
@@ -2268,20 +2367,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEtTPUaV3VuMXgd1flXm5Rb34siPoC\nOeI/YOjsB91w8ocbE07ljMWDJ4RWhj8zw6hdiB99SjmFAUPinU6vAJr+Rw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47",
         "wx" : "0b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f287",
         "wy" : "1b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEtTPUaV3VuMXgd1flXm5Rb34siPoC\nOeI/YOjsB91w8ocbE07ljMWDJ4RWhj8zw6hdiB99SjmFAUPinU6vAJr+Rw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
@@ -2291,20 +2391,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEadoDZHNNLlMP7OlAGSZf77eBoPGw\nj2yIl732VXknyLhm0tPH3NUYsj1yaWDwaa1xqTPYbvirvM6LIPceKoRwAg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002",
         "wx" : "69da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b8",
         "wy" : "66d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEadoDZHNNLlMP7OlAGSZf77eBoPGw\nj2yIl732VXknyLhm0tPH3NUYsj1yaWDwaa1xqTPYbvirvM6LIPceKoRwAg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
@@ -2314,20 +2415,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2K3AACOo7cAlduK2Pj4wYhpHHisj\nIGIBh78GehrB/zIz4rUOwJgHrMs2Ex//le0SoJqGtOqWkKoyhhV2uiNi4Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1",
         "wx" : "0d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff32",
         "wy" : "33e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2K3AACOo7cAlduK2Pj4wYhpHHisj\nIGIBh78GehrB/zIz4rUOwJgHrMs2Ex//le0SoJqGtOqWkKoyhhV2uiNi4Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e",
@@ -2337,20 +2439,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENiOslzztClb6bYgvA6fVx+3KAs/H\nskAfqzaQ2+dat4WNsGkI5ksoYT2nJX5zfzl5PajnE7oGQ7kum7MlK+f4/g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe",
         "wx" : "3623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab785",
         "wy" : "08db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENiOslzztClb6bYgvA6fVx+3KAs/H\nskAfqzaQ2+dat4WNsGkI5ksoYT2nJX5zfzl5PajnE7oGQ7kum7MlK+f4/g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
@@ -2360,20 +2463,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzwTqd+liJSPYlLk/9S3DAnsxlZUD\ntvo4kOXgQmP5IvHoUo+3wAazmDyLhADle07XF0DC85dUOIIRmb7ersqy6Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9",
         "wx" : "0cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1",
         "wy" : "0e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzwTqd+liJSPYlLk/9S3DAnsxlZUD\ntvo4kOXgQmP5IvHoUo+3wAazmDyLhADle07XF0DC85dUOIIRmb7ersqy6Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1",
@@ -2383,20 +2487,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE23osihq1c+WSncJAd7UI1+aD1JIn\nmWvaPp942+/3c1BPQX87yaiAdcLgqt1aEzEXMM98x2qC8Ro26vCKbJmiBg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206",
         "wx" : "0db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff77350",
         "wy" : "4f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE23osihq1c+WSncJAd7UI1+aD1JIn\nmWvaPp942+/3c1BPQX87yaiAdcLgqt1aEzEXMM98x2qC8Ro26vCKbJmiBg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e91e1ba60fdedb76a46bcb51dc0b8b4b7e019f0a28721885fa5d3a8196623397",
@@ -2406,20 +2511,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3q0Rx6WzloYvIZdNxHUvre/5lO/p\nu9BatBN2XqgLbh8d4/BkDorG7c+Jz/U8QOJlu5QHijQ3Nt8HqgMY/H/h/w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff",
         "wx" : "0dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f",
         "wy" : "1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3q0Rx6WzloYvIZdNxHUvre/5lO/p\nu9BatBN2XqgLbh8d4/BkDorG7c+Jz/U8QOJlu5QHijQ3Nt8HqgMY/H/h/w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fdea5843ffeb73af94313ba4831b53fe24f799e525b1e8e8c87b59b95b430ad9",
@@ -2429,20 +2535,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0LxHLg18geuu06bvlsGGE7sf6m+Z\nQyb76A4A395nx+mYbHI+pIQ9SDiblG9krVbIOtcP8XuoUzVmfRu5+mGe/Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd",
         "wx" : "0d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9",
         "wy" : "0986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0LxHLg18geuu06bvlsGGE7sf6m+Z\nQyb76A4A395nx+mYbHI+pIQ9SDiblG9krVbIOtcP8XuoUzVmfRu5+mGe/Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022003ffcabf2f1b4d2a65190db1680d62bb994e41c5251cd73b3c3dfc5e5bafc035",
@@ -2452,20 +2559,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoKRMqUfWairLc2AIucCNGrKtA3du\nAmQPeEldRY3VHDJjN/5c+MRgSx8cQJ3C2HLUKUpHYkIN9DowojkuQEJq3Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add",
         "wx" : "0a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c32",
         "wy" : "6337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoKRMqUfWairLc2AIucCNGrKtA3du\nAmQPeEldRY3VHDJjN/5c+MRgSx8cQJ3C2HLUKUpHYkIN9DowojkuQEJq3Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204dfbc401f971cd304b33dfdb17d0fed0fe4c1a88ae648e0d2847f74977534989",
@@ -2475,20 +2583,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEycIRUpDQCLRftl+tD2AjiSmMJUIL\nd1AZ1Ctiw86Klrc4d9JagIDcAtmHynMPBAXCydvvrEb55gHMPwbpcTlz/Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd",
         "wx" : "0c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b7",
         "wy" : "3877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEycIRUpDQCLRftl+tD2AjiSmMJUIL\nd1AZ1Ctiw86Klrc4d9JagIDcAtmHynMPBAXCydvvrEb55gHMPwbpcTlz/Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bc4024761cd2ffd43dfdb17d0fed112b988977055cd3a8e54971eba9cda5ca71",
@@ -2498,20 +2607,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXsoe9MKH3dxmuLzPG4jookwAGJYv\nPF5++oO8Gl/2Az5eecTLLCRbjEWr3Oio5Np1jZKmB8Ms1AfsrvIvHJNKcQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71",
         "wx" : "5eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e",
         "wy" : "5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXsoe9MKH3dxmuLzPG4jookwAGJYv\nPF5++oO8Gl/2Az5eecTLLCRbjEWr3Oio5Np1jZKmB8Ms1AfsrvIvHJNKcQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220788048ed39a5ffa77bfb62fa1fda2257742bf35d128fb3459f2a0c909ee86f91",
@@ -2521,20 +2631,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXKqgMOf98OSTa8erWpY1PgoB5BMM\nP4vyLUc+MXAppHretq3EYvcFjyog03HpcCJU6bIBZCAFs87akmtCsXi++Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9",
         "wx" : "5caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47a",
         "wy" : "0deb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXKqgMOf98OSTa8erWpY1PgoB5BMM\nP4vyLUc+MXAppHretq3EYvcFjyog03HpcCJU6bIBZCAFs87akmtCsXi++Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220476d9131fd381bd917d0fed112bc9e0a5924b5ed5b11167edd8b23582b3cb15e",
@@ -2544,20 +2655,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwv0gusBuVVu4rAzmnrHqIPg6H8NQ\nHIpmRpsaMfYZsJhiNwUHefUrYVvXuNdqJfyVyi7TJSXHXyf/yHrDl+bLrw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf",
         "wx" : "0c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b098",
         "wy" : "6237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwv0gusBuVVu4rAzmnrHqIPg6H8NQ\nHIpmRpsaMfYZsJhiNwUHefUrYVvXuNdqJfyVyi7TJSXHXyf/yHrDl+bLrw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008374253e3e21bd154448d0a8f640fe46fafa8b19ce78d538f6cc0a19662d3601",
@@ -2567,20 +2679,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP9ahyn93+zsLvnJsNyAQBoQm4R6m\nrnjOF77a5LuobO0DzlUWQGv4z6q4dF6sHNaQGK1vULVGGHLd/Fbg2zyP9A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4",
         "wx" : "3fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced",
         "wy" : "3ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEP9ahyn93+zsLvnJsNyAQBoQm4R6m\nrnjOF77a5LuobO0DzlUWQGv4z6q4dF6sHNaQGK1vULVGGHLd/Fbg2zyP9A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220357cfd3be4d01d413c5b9ede36cba5452c11ee7fe14879e749ae6a2d897a52d6",
@@ -2590,20 +2703,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnLjlHielrjtiSmDW3DJzTkmJ2yDp\nvKPt4e33sIaRERS0wQSrPGd+SzbWVW6K1fUjQQoZ8uJ3qolfxXMitEJ1RA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544",
         "wx" : "09cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114",
         "wy" : "0b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnLjlHielrjtiSmDW3DJzTkmJ2yDp\nvKPt4e33sIaRERS0wQSrPGd+SzbWVW6K1fUjQQoZ8uJ3qolfxXMitEJ1RA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022029798c5c0ee287d4a5e8e6b799fd86b8df5225298e6ffc807cd2f2bc27a0a6d8",
@@ -2613,20 +2727,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo+UsFW3K8QUCYgt5VbwrQLx47z1W\nnhIjwmJRLY9JYCpKIDnzHBCXAkrTzIblcyHeAyNVRjSGFkzxkpRJd98Ufw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f",
         "wx" : "0a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a",
         "wy" : "4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo+UsFW3K8QUCYgt5VbwrQLx47z1W\nnhIjwmJRLY9JYCpKIDnzHBCXAkrTzIblcyHeAyNVRjSGFkzxkpRJd98Ufw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02200b70f22c781092452dca1a5711fa3a5a1f72add1bf52c2ff7cae4820b30078dd",
@@ -2636,20 +2751,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8Zt4kocg1b7o5nD7kAEPsVw3v5G1\nilFXw/PAWbJlXojPcB7JYvtKEdzyc/XcNX5YRoVgx8/rlC0HSr1DKSYFCQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509",
         "wx" : "0f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88",
         "wy" : "0cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8Zt4kocg1b7o5nD7kAEPsVw3v5G1\nilFXw/PAWbJlXojPcB7JYvtKEdzyc/XcNX5YRoVgx8/rlC0HSr1DKSYFCQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022016e1e458f021248a5b9434ae23f474b43ee55ba37ea585fef95c90416600f1ba",
@@ -2659,20 +2775,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEg6dERZ7N+wGlz1KyegW7czdILSQv\nI117TLiTRVRckKjAXUkze5ZJgTKH3p/+kDVf2QXfXzwylFgoEh83zFDebg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e",
         "wx" : "083a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8",
         "wy" : "0c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEg6dERZ7N+wGlz1KyegW7czdILSQv\nI117TLiTRVRckKjAXUkze5ZJgTKH3p/+kDVf2QXfXzwylFgoEh83zFDebg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202252d6856831b6cf895e4f0535eeaf0e5e5809753df848fe760ad86219016a97",
@@ -2682,20 +2799,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3RPGs0xWmC3a4STwOd/SP0sZu+iM\n7o5SiuUeXW86Ide/rUwubyY/5etZypdNA5/A5MM0VpL7UyC9rkvTtCpF/w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff",
         "wx" : "0dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7",
         "wy" : "0bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3RPGs0xWmC3a4STwOd/SP0sZu+iM\n7o5SiuUeXW86Ide/rUwubyY/5etZypdNA5/A5MM0VpL7UyC9rkvTtCpF/w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210081ffe55f178da695b28c86d8b406b15dab1a9e39661a3ae017fbe390ac0972c3",
@@ -2705,20 +2823,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZ+b2Wc3ehpovZfCU6U5bTfrWNrv5\nUZL+7tAbDz3rdGCjfgpR8li3rrUd/lkvXP1WhbvlhxLI2SM8YohkN8OLoA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0",
         "wx" : "67e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460",
         "wy" : "0a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZ+b2Wc3ehpovZfCU6U5bTfrWNrv5\nUZL+7tAbDz3rdGCjfgpR8li3rrUd/lkvXP1WhbvlhxLI2SM8YohkN8OLoA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a",
@@ -2728,20 +2847,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELrZBJQWuwFxlRfApkyCH5JDQVRHo\n7B9Zlhe7Nn+eyq+AX1HvzEgDQD+bGuASSJDwakP+3N2zGDD2ZprykolcsA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0",
         "wx" : "2eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf",
         "wy" : "0805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELrZBJQWuwFxlRfApkyCH5JDQVRHo\n7B9Zlhe7Nn+eyq+AX1HvzEgDQD+bGuASSJDwakP+3N2zGDD2ZprykolcsA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2",
@@ -2751,20 +2871,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhNtkWGjqs146n9gOBW4uhVQ146a2\njXWlCoVGJf4NfzVtJYmsZV7cmhHvPgde3dqav5LnIXFXDve/Q6LuOTOM/g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe",
         "wx" : "084db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f35",
         "wy" : "6d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhNtkWGjqs146n9gOBW4uhVQ146a2\njXWlCoVGJf4NfzVtJYmsZV7cmhHvPgde3dqav5LnIXFXDve/Q6LuOTOM/g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e",
@@ -2774,20 +2895,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkbnkfFYnhmLXXAmDsiyo6mqlBZt6\nL/djfrKXXjhq1mNJqo/yg9D3fBjW0R3AYhZf0Tw8AxBnnBQIMCoWhU7PvQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd",
         "wx" : "091b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad663",
         "wy" : "49aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkbnkfFYnhmLXXAmDsiyo6mqlBZt6\nL/djfrKXXjhq1mNJqo/yg9D3fBjW0R3AYhZf0Tw8AxBnnBQIMCoWhU7PvQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2",
@@ -2797,20 +2919,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8+wvE8rwTQGStH+0xTEfttTcawqe\ngC5TJ/fsXujkg035fj5Gi30NuGfW7P6B4rD5Ux34fv20fBM4rDIf7+WkMg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432",
         "wx" : "0f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834d",
         "wy" : "0f97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE8+wvE8rwTQGStH+0xTEfttTcawqe\ngC5TJ/fsXujkg035fj5Gi30NuGfW7P6B4rD5Ux34fv20fBM4rDIf7+WkMg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669",
@@ -2820,20 +2943,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2SsgCu/Ktqx9r9msry+hCzGAI1uP\nRrRQPkaTxnD8zIhe8vOuv1sxdHUzYlZ2j3wZ77c1LSfkzMrchba4q5Iscg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72",
         "wx" : "0d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc88",
         "wy" : "5ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2SsgCu/Ktqx9r9msry+hCzGAI1uP\nRrRQPkaTxnD8zIhe8vOuv1sxdHUzYlZ2j3wZ77c1LSfkzMrchba4q5Iscg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2",
@@ -2843,20 +2967,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECog2HrkuzKJiWzjl+Yu6u5a/F5s9\ndvxIFAo7zYgVI83mvfVgM/hKUFQDVZc3XZCGaqLJa4akHM9u3r9HKYrUiQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489",
         "wx" : "0a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cd",
         "wy" : "0e6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECog2HrkuzKJiWzjl+Yu6u5a/F5s9\ndvxIFAo7zYgVI83mvfVgM/hKUFQDVZc3XZCGaqLJa4akHM9u3r9HKYrUiQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600",
@@ -2866,20 +2991,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0PsXzNj6/oJ+DBr8XY2ANm4rIOfx\nSlY6K6UEadhDdehoYSVp054rufVUNVVkZG3pmsYCzGNJz4weI2p952N9kw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93",
         "wx" : "0d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e8",
         "wy" : "68612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE0PsXzNj6/oJ+DBr8XY2ANm4rIOfx\nSlY6K6UEadhDdehoYSVp054rufVUNVVkZG3pmsYCzGNJz4weI2p952N9kw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3",
@@ -2889,20 +3015,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEg28zu8HcDT06u87w2R8R4qxBgQds\nmvCiKx5DCdPtsnaatEP/b5AeMMdzhnWCmXwr7CsMuBINdgI286lbvogfdQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75",
         "wx" : "0836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb276",
         "wy" : "09ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEg28zu8HcDT06u87w2R8R4qxBgQds\nmvCiKx5DCdPtsnaatEP/b5AeMMdzhnWCmXwr7CsMuBINdgI286lbvogfdQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4",
@@ -2912,20 +3039,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkvmfvpc+1KKZcZuu5LQydBI3A03s\njXK6UQPLM+Vf7rgDPdDpETTHNBdIifPrzxt6GsBXZyiSgO56eUzr1uaWlw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697",
         "wx" : "092f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8",
         "wy" : "33dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkvmfvpc+1KKZcZuu5LQydBI3A03s\njXK6UQPLM+Vf7rgDPdDpETTHNBdIifPrzxt6GsBXZyiSgO56eUzr1uaWlw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09",
@@ -2935,20 +3063,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE01uljaMBl9N45hjsD6fi4tEs/9c+\nu7IEnRMLukNK8J7/g5huaHXkHqQyt1haSbOmx3y7PEeRn46Ch0x5RjXB0g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2",
         "wx" : "0d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09e",
         "wy" : "0ff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE01uljaMBl9N45hjsD6fi4tEs/9c+\nu7IEnRMLukNK8J7/g5huaHXkHqQyt1haSbOmx3y7PEeRn46Ch0x5RjXB0g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4",
@@ -2958,20 +3087,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhlHOSQ8bRtc/P/R1FJvikTZpczSl\nGdfdqwclyNB5MiThHGW9jKktyLya6CkR8LUnUc4h3ZADrmCQC9gl9ZDMKA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28",
         "wx" : "08651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224",
         "wy" : "0e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhlHOSQ8bRtc/P/R1FJvikTZpczSl\nGdfdqwclyNB5MiThHGW9jKktyLya6CkR8LUnUc4h3ZADrmCQC9gl9ZDMKA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 271,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37",
@@ -2981,20 +3111,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEbY4bEsgxoNqHlWUP+V8QHtkh2eL3\nKxWxzaypgmuc/G3vbWPivFwIlXA5SkvJ+JLV5sempjeyBGmljBBq1Ia/Nw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37",
         "wx" : "6d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6d",
         "wy" : "0ef6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEbY4bEsgxoNqHlWUP+V8QHtkh2eL3\nKxWxzaypgmuc/G3vbWPivFwIlXA5SkvJ+JLV5sempjeyBGmljBBq1Ia/Nw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
+          "tcId" : 272,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa",
@@ -3004,20 +3135,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECuWAuukztO8pl8vbsJIjKMqaQQ9i\neg99/yTLTZIOFUKJEef4zDZaiojrgUIaNhzMK5njCdjc2amLqDw5SdiT4w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3",
         "wx" : "0ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e1542",
         "wy" : "08911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECuWAuukztO8pl8vbsJIjKMqaQQ9i\neg99/yTLTZIOFUKJEef4zDZaiojrgUIaNhzMK5njCdjc2amLqDw5SdiT4w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 273,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f",
@@ -3027,20 +3159,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEW4Ev1SGq+mmDWoSczm+962mDtELS\nRE/nDhNMAn/EaWODikDyo2CS6QBOktjZQM9WOFUM5nLOi41OFeulSZJJ6Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9",
         "wx" : "5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963",
         "wy" : "0838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEW4Ev1SGq+mmDWoSczm+962mDtELS\nRE/nDhNMAn/EaWODikDyo2CS6QBOktjZQM9WOFUM5nLOi41OFeulSZJJ6Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 266,
+          "tcId" : 274,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b",
@@ -3052,20 +3185,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEW4Ev1SGq+mmDWoSczm+962mDtELS\nRE/nDhNMAn/EaWN8db8MXJ9tF/+xbScmvzCpx6rzGo0xdHKx6hRatm22Fg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616",
         "wx" : "5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963",
         "wy" : "7c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEW4Ev1SGq+mmDWoSczm+962mDtELS\nRE/nDhNMAn/EaWN8db8MXJ9tF/+xbScmvzCpx6rzGo0xdHKx6hRatm22Fg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 267,
+          "tcId" : 275,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100bb726660235793aa9957a61e76e00c2c435109cf9a15dd624d53f4301047856b",
@@ -3077,20 +3211,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEat2oK5AmGw8xn6oNh4ZlprbaSX8J\nyQMXYiLDSs/vcqZH5vUNzECtXZtZ92ArsiL61xpBv14fnfSVmjZMYuSI2Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9",
         "wx" : "6adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a6",
         "wy" : "47e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEat2oK5AmGw8xn6oNh4ZlprbaSX8J\nyQMXYiLDSs/vcqZH5vUNzECtXZtZ92ArsiL61xpBv14fnfSVmjZMYuSI2Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 268,
+          "tcId" : 276,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
@@ -3100,20 +3235,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEL8oNCkeRTed+1W5+zMMnamARIMbf\nAGnIJcj2oByfOCBl80UKHRfGskmJo5vrHH3s/Kg4T73ClEGOXYB7PG7X3g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de",
         "wx" : "2fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f3820",
         "wy" : "65f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEL8oNCkeRTed+1W5+zMMnamARIMbf\nAGnIJcj2oByfOCBl80UKHRfGskmJo5vrHH3s/Kg4T73ClEGOXYB7PG7X3g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 269,
+          "tcId" : 277,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9",
@@ -3123,20 +3259,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3YbTtfShPoURCDt4ACCBxT/0Z/Ee\nvZilGmM9t2Zl0lBF1cggDIny+hDYSTSSJtIdjfrtb/jVyz4bfhdHTrwY9w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7",
         "wx" : "0dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d250",
         "wy" : "45d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3YbTtfShPoURCDt4ACCBxT/0Z/Ee\nvZilGmM9t2Zl0lBF1cggDIny+hDYSTSSJtIdjfrtb/jVyz4bfhdHTrwY9w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 270,
+          "tcId" : 278,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9",
@@ -3146,21 +3283,22 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET+pVsyyzKsoMEsTNCr+05ksPWlFu\nV4wBZZGpP1oPvMXX0/0Qsr5mjFR7IS9rsUyI8P7NOKiksseF7TvmLOSygA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280",
         "wx" : "4fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5",
         "wy" : "0d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET+pVsyyzKsoMEsTNCr+05ksPWlFu\nV4wBZZGpP1oPvMXX0/0Qsr5mjFR7IS9rsUyI8P7NOKiksseF7TvmLOSygA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 271,
-          "comment" : "extreme value for k",
+          "tcId" : 279,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
           "result" : "valid",
@@ -3169,21 +3307,142 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXln1Bwhka+iliTVQFDCOYLZo+2cB\nliBsQedI5k5NyiFd43/uXJe8r3FE1bRZmC9S7ur73wOqy6/vOOITYkoB3g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e",
+        "wx" : "0c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107",
+        "wy" : "0bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExqdxUnAkIneSFwpvju5zW/Mrf5iv\nZp6tKZgC4y18MQe8O0teZauIe700NXKz5WGSYf46Bz4v/XhBL3JoZ9tYng==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6",
+        "wx" : "0851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956ef",
+        "wy" : "0cee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhRwrutCOVOx6mvmfSfA2RNbsbVmy\nB/7JjehafRW5Vu/O6ZYCgwRQdWhLQQvo0PdJS5GqI3n2BycxnxDd6w/p1g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f",
+        "wx" : "0f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f",
+        "wy" : "08f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9kF8imcFhOOIZ2lJ5T2n/FWRH/aD\nGNG/MGEgWssZxI+PK3Q980rQ9yZ0rLdQWSl4R3nNmskWw2aerUMCarbUPw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371",
+        "wx" : "501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a0643",
+        "wy" : "08673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUBQhJ3vkWl7v7GxjmTDWNgMlZa9C\nDPM3P1V/qn+KBkOGc9bLYHbhz83H3+c4TI5crAjXRQHyrm6JytGV0KoTcQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5",
+        "wx" : "0d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb34",
+        "wy" : "3195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDZNb+f/BFaUnc19ynKikyiPuAaSJ\nSt8ONBWshOgIuzQxlaN2L+op7TiRK9nqbE/ecMMFCJOkN1hQzmHYLrozxQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 284,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de",
         "wx" : "5e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca21",
         "wy" : "5de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXln1Bwhka+iliTVQFDCOYLZo+2cB\nliBsQedI5k5NyiFd43/uXJe8r3FE1bRZmC9S7ur73wOqy6/vOOITYkoB3g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 272,
-          "comment" : "extreme value for k",
+          "tcId" : 285,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
           "result" : "valid",
@@ -3192,20 +3451,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667",
+        "wx" : "169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e",
+        "wy" : "7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFp+3lzJYQ/r/L3pbVEXani/WIm9+\n+Q7wv+kkEEsC2457u43mYse5sc+bIvei5YK9RtWB1oh477K4YbEx2KHWZw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 286,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5",
+        "wx" : "271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b54898148754",
+        "wy" : "0a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJxzYnAABQwlrYtTp5MqIWu8vcCPR\niv/a+Le1SJgUh1QKHG6VTjIQhDW1X6OFsPdkgaYJuRScy0sCsspH/o5NpQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 287,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df",
+        "wx" : "3d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12",
+        "wy" : "0e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPQvH7Y8J0st920brwe15mrFWOpq4\nS/UkWHoiCv5JnBLiLcOzwQOCSk83jZatsKQIq/Gc59aKpiRPeMshb6P43w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 288,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316",
+        "wx" : "0a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b7",
+        "wy" : "2e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpsiFreGkxWb5uwENBml0q7KBeX+n\nASiMchvL0jZjqbcuQktpCVcWjRk6YJb8d6KwBKnH1GfgB+HyBYRY+YrzFg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 289,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d",
+        "wx" : "08d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c",
+        "wy" : "4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjTwsLDt2W6gonmrDgSVyolv3XfYt\nh6tzMMO9utnr+lxMaEVELWaTWyOFeNQ67FT3yqFiHRryQdRjLgt4DEI/XQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 290,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
+        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
+        "wy" : "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
+      },
       "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9Q==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
-        "wy" : "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
-      },
       "tests" : [
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -3213,7 +3593,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -3223,20 +3603,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
+        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
+        "wy" : "0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a"
+      },
       "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpawHL0cAeWAZXEYFLWD8GHp1DHMqZTOoTE0Sb+XyECuCg==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
-        "wy" : "0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a"
-      },
       "tests" : [
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -3244,7 +3625,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3044022044a5ad0ad0636d9f12bc9e0a6bdd5e1cbcb012ea7bf091fcec15b0c43202d52e0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -3254,20 +3635,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
         "wx" : "4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5",
         "wy" : "087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2",
@@ -3275,7 +3657,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3045022100e502de07f887e60119f9668cec69d2760839e6e74b9e6ff8cb7fa8d5a24f66c802207605e8b6afdbef06db7f89d06e2add2cf064eb4054d5ff0b101d815e813a8c08",
@@ -3283,7 +3665,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3044022030fbfb3d662f0f07e8d51c6c3ebbc3ae9cf17b985db10e38116f1ba584cccf4102206fcc086c907209fe3d3d3a3724af44ce3d5af9345ac8864de18ad2b2f9617819",
@@ -3291,7 +3673,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304602210097dde41357ef913cb8b9cd8e8c8c858831ec69298c739cd7fb14edcafc519d4e022100c8e032ad4432814ba4ddf3e25004594fa8c5137e39fd360ca36aedabaa934db3",
@@ -3299,7 +3681,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3044022047bf21626d4b879fc51774251d7e3a380104e2c8170f13d32e86358c63d6b50102203f9c9d81b5e20b94766a62efdee7f3edfada68ab4d74487a24978fb574358830",
@@ -3307,7 +3689,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3045022100d7908fbd16c6a3ffd7c315bfc2f87d8d42bda8fac5d6024069b5df6b101420e0022066a4771722eef9f166f037629c0d210010727dd114049fe2159ffa228fc11798",
@@ -3315,7 +3697,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3046022100d48907279f401ee511d2e78d15f4c17539c93373d72bb66cff066a9114801a6d022100c7b709d88a367836a66cdb4b3bd4e0b2a76c97e551505c2969c98b6709600733",
@@ -3323,7 +3705,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30450220743d6d5a99bcf2f7e011d6cac86a73582014419d3803c8d61128b23e4683cf96022100fa1270b7406b13cdbea376cb502f01f388f97dc5b660c9f3ba92c40233ae853f",
@@ -3331,7 +3713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304502201c8e26e3a84892b12d6946fa39aa15ee8989f32c647db31c48c7276718907734022100e486719b597f52356d20afc98af82301d3ed33e2c3ec61c23601de687c432893",
@@ -3339,7 +3721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3046022100f8f074bad4cc63ce49b1a7101f5f1e5dd7e8d28e1654e3052e9dea4e8830a247022100d232383e83d2b4e0c12ee6127dd8cc3fcfcdff971571b07e18ea0d59d1bd75e9",
@@ -3347,7 +3729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30450220530bd6b0c9af2d69ba897f6b5fb59695cfbf33afe66dbadcf5b8d2a2a6538e23022100d85e489cb7a161fd55ededcedbf4cc0c0987e3e3f0f242cae934c72caa3f43e9",
@@ -3355,7 +3737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304502202a95faa048e78949b27dd4f2a69bf26f809d565cca4fd0205aac95382e19df1c022100c7de7183db22fb7015697d8f15874529c1c37b3506b32e2969c6345ba6431eea",
@@ -3363,7 +3745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3046022100ef18b2f9d187e6d6ebd0fe0ff63ebbee44e4e8c3812fb53f7399a2db757965fc022100ff2f438009b409c18fb908851115a00f3ac250428c0485cb8e8066e27608dc2a",
@@ -3371,7 +3753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3045022100d1ba6053e65dd564d24a99aeabb181529f48ed9564bfcf8d9b7950d05dfbf1f702204b4d69402ba634983534a599f49c47d4fef03ace4446a7934124e7b4cd212be2",
@@ -3379,7 +3761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3045022100d8df1a77d439e1a68621712e5cf65ecc503398f7a87a6b53fbd1d7251d1a62bd02203276f956f733314b20eb399f2027702463e203cd8f15f1dbe41fe157dcaac618",
@@ -3387,7 +3769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30440220771b9696276b14cf4e0342272f65be8ddf3d603036b03d13a82f522c0446843c022062e7b425f0e2d8a6a207e8324014a6d4d569d80e0fe5509ba1cd1581446d5a2b",
@@ -3395,7 +3777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3046022100f052476d9a28b34372a358481c650f2aee5c91b88fa307ad39719c11d2ae2b79022100d5da4b0f6bab8923ec17533d455ed259d379fe265956b7106f2c44c4f56a70ed",
@@ -3403,7 +3785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3046022100a6a63a03be4a3505ba28907fb2b028268387b657ae561fb5bf9c011a330a8dae022100bacb589b58eeb74b7ab85b1abdaf50f59ed03ea4a73dde66470b86dc34e25768",
@@ -3411,7 +3793,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3046022100f547541d72fad13c84399a2e74e00c2f2b6ee9c24b48bb06c00c321786273c07022100d28d340d5e507b1fd87011bc8a21b388f7a4ea6acbc67916667e278dd52c5c1b",
@@ -3419,7 +3801,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "304402205b64337764e6b896219a3502e4ea632fc03afe12c27ad0501640f46f7a6e62950220100cd011a79cbcba991f0994e4e406de9a390d8ede12d4a116f39072d8373463",
@@ -3427,7 +3809,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86",
@@ -3435,7 +3817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304402206d5091f9497241fb2a99137f56734d70797c1620fa58f292f3ddc1c21980768a02207d4681372addeec97da13d3834429a49cf94c68cc6d8380fcc1fb897caeaa4d7",
@@ -3443,7 +3825,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30440220111af92aa721abe4492468a6ad410f85351c3f71f6f076c5160eac1665bf08a002205d9f4658ec427e54fd64ccc367f50d48c7e5c2822299e258f443cc7890d25db9",
@@ -3451,7 +3833,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100ecd42e0caddf730e79911ea0725402d3e4519e93299217cfff7f27eb06383bcb022100b9002348257e8aa55de6326e8588d1e5ac7803e912dca2b6aac1c0b6c6ce887d",
@@ -3459,7 +3841,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100dd7ff4894d875b82698e738cd6af3e06df3dfe519c63c83bda6cb780003212680221008ae21af20504ca943014f87bc06eff0c72222900e7b78e49e7107d1d27f78d7a",
@@ -3467,7 +3849,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304502202c4ffe7eba452ab8147fbd117091b6a6aed2c022b51a0559f45a210149827585022100f8f713031c6747382a930183f508cb5ba3dee9918623ed7b9246f7792895806f",
@@ -3475,7 +3857,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30450220036e58fdd99c73206d0b989e315d4e7445853b29756abd9be4988043ee575318022100bca3bdbd7b13d674a507755a1fb25d6b9ad533e6aea4c07da2b662bf64074c1f",
@@ -3483,7 +3865,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3045022100e8967620ea0878093f914bc670e9fd49e5e1d120cd8296f67934806921edd1eb0220091fe9cc8158606b7a93a87b830d8bf892c8086bc3ccb364b885adc11c5a2f5b",
@@ -3491,7 +3873,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30450221008053d20f27c43e96e7cb99f0fb5ed638f391dbb8c49228bb164e3c5c7ed98df802200f8f909a360d019c8cd8cc4936c471cb0e81eec812a7815a413f015e5020a83a",
@@ -3499,7 +3881,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304402201a05d145760911a0d03a3f9e04183b4fa12052ab08e8e2a61cecd685abe06ccd022015a45cdddd5b271b460fd23970e3f09bd3e428c5935a141131f7bb9cdcb31ffe",
@@ -3507,7 +3889,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c",
@@ -3515,7 +3897,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304502200a1ba2c8595e428eb8efe4d0d527b57a9d65a18f2adb74a8d42b079cca3ded47022100a9b1d33b3b0498f08a46b3602d216cddd909b46a4531bb0c8eda027c813701ea",
@@ -3523,7 +3905,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3044022051a2d733ccc576739d202cac29631dd4a4c2b7bca274a88bed819b4fa74bc13a02203332485952b2bafdd23bb4bdd5b182c17d68fa989fb297e522f58267f579858b",
@@ -3531,7 +3913,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30450221008523fa05039757ff31734c5a97512e16d36a2b44cfeaf698bf99a3da10192ce102201a4a46d618146dbd6f8b96bde830c1cd6b3c40b3c3f076b0525327b81421703c",
@@ -3539,7 +3921,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30450221008b7c16aead127ff236229edf3b3d685389d833a6706f8baaf8d18c42c8e0fcb402207c007ac920eb885009bb826dacf204affc995b8b1da3088ab8233372e77bfcb9",
@@ -3547,7 +3929,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3046022100eb05151d10844480bb1da9bbd5fadeb94653979ce6473e1eae877c04b5dc136b022100f5626ba78e4936461be857439da72310f0159c53076ed7602b802b5c79296db6",
@@ -3555,7 +3937,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3046022100b1ef5e5b2ed946f33e3f14a755af39520397d425aa184e24c3a1ab2071bd28ad022100f06c9370a8fd969f14fe9fb10d18e593c1469e5716c7264880dd35a8589c4747",
@@ -3563,7 +3945,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304502206da6c71eb7d8a2435999c8f6b7a1de30f2a863a2f07a8aad4d321d52cc619679022100ab1abe0cbd07504de3fd9ac64bed3bf89fb0061e251a1b1de2925e6635d523ec",
@@ -3571,7 +3953,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30450220450e205ad97a14760979e1d5a24f2277c88382810b73c94ea53fa0d768ee18d1022100ba73359c371c5ff36c338bcd9761096647e0437db6a01b95df8cfa15ffc29bf4",
@@ -3579,7 +3961,7 @@
           "flags" : []
         },
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304502201814378a581d4584664c2e24d695edeec6ce96971887a35a67df515e8788d44c022100c96da4442349d041183bba91d8f2b0279501c85b7b31f993c82268b6703c7b3f",
@@ -3589,20 +3971,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
         "wx" : "4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000",
         "wy" : "0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a",
@@ -3610,7 +3993,7 @@
           "flags" : []
         },
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737",
@@ -3618,7 +4001,7 @@
           "flags" : []
         },
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677",
@@ -3628,20 +4011,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
         "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935",
         "wy" : "084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd",
@@ -3649,7 +4033,7 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3",
@@ -3657,7 +4041,7 @@
           "flags" : []
         },
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55",
@@ -3667,20 +4051,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
         "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935",
         "wy" : "7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519",
@@ -3688,7 +4073,7 @@
           "flags" : []
         },
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336",
@@ -3696,7 +4081,7 @@
           "flags" : []
         },
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc",
@@ -3706,20 +4091,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
         "wx" : "2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff",
         "wy" : "0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929",
@@ -3727,7 +4113,7 @@
           "flags" : []
         },
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5",
@@ -3735,7 +4121,7 @@
           "flags" : []
         },
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d",
@@ -3745,20 +4131,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
         "wx" : "0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5",
         "wy" : "5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41",
@@ -3766,7 +4153,7 @@
           "flags" : []
         },
         {
-          "tcId" : 330,
+          "tcId" : 348,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba",
@@ -3774,7 +4161,7 @@
           "flags" : []
         },
         {
-          "tcId" : 331,
+          "tcId" : 349,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941",
@@ -3784,20 +4171,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
         "wx" : "3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e",
         "wy" : "1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 332,
+          "tcId" : 350,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3",
@@ -3805,7 +4193,7 @@
           "flags" : []
         },
         {
-          "tcId" : 333,
+          "tcId" : 351,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a",
@@ -3813,7 +4201,7 @@
           "flags" : []
         },
         {
-          "tcId" : 334,
+          "tcId" : 352,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d",
@@ -3823,20 +4211,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
         "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015",
         "wy" : "1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 335,
+          "tcId" : 353,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff",
@@ -3844,7 +4233,7 @@
           "flags" : []
         },
         {
-          "tcId" : 336,
+          "tcId" : 354,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0",
@@ -3852,7 +4241,7 @@
           "flags" : []
         },
         {
-          "tcId" : 337,
+          "tcId" : 355,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa",
@@ -3862,20 +4251,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
         "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015",
         "wy" : "0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 338,
+          "tcId" : 356,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224",
@@ -3883,7 +4273,7 @@
           "flags" : []
         },
         {
-          "tcId" : 339,
+          "tcId" : 357,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469",
@@ -3891,7 +4281,7 @@
           "flags" : []
         },
         {
-          "tcId" : 340,
+          "tcId" : 358,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9",
diff --git a/src/third_party/wycheproof/ecdsa_secp256r1_sha256_test.txt b/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt
similarity index 79%
rename from src/third_party/wycheproof/ecdsa_secp256r1_sha256_test.txt
rename to src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt
index 7580de1..2b6f2fc 100644
--- a/src/third_party/wycheproof/ecdsa_secp256r1_sha256_test.txt
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha256_test.txt
@@ -2,46 +2,54 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: ECDSA
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]
 [key.wx = 2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838]
 [key.wy = 0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e]
 [sha = SHA-256]
 
+# tcId = 1
 # signature malleability
 msg = 313233343030
 result = valid
 sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b855d442f5b3c7b11eb6c4e0ae7525fe710fab9aa7c77a67f79e6fadd76
 
+# tcId = 2
 # random signature
 msg = 313233343030
 result = valid
-sig = 3046022100e43dc0edacf7345544d7c28547949164bf882dedcc9db1be918caa02a5f7f7ca022100eb313df522aa9e6dbc0cd45d1ea6edaebd858dca4780a940014363ff7600118d
+sig = 304402200c465158cada5bbaa87faa8fb796304117db6576d33827b483b6b6aea478a229022013f0fe9ee688d551c164ae988b38916f1a208f2e67621f392c6b6ce0c0e72364
 
+# tcId = 3
 # random signature
 msg = 313233343030
 result = valid
-sig = 304502204d1b36126feee49ec974650f8d1a335f8d210e60949642348ad71e476a35cdfe022100a890b9ddbb3f2089ea69fd117fb349ed054c0f0830f671c1a639ed88eec0bc75
+sig = 304502206634bf617fa20aac6606bd44f8479816957dc3af187eed0f2383b6324b499fad022100aaeaebcf1222bbc8f05eda510a9da32010f9d009388733ec8abeaf433651a176
 
+# tcId = 4
 # random signature
 msg = 313233343030
 result = valid
-sig = 304502200e285057b2f96995a3e6a6511cc4a83a791491610ae3f3571d8ab1080b726cc4022100d8b8325f25fb663eda57d958cc174fa8c36d19d2ccb76d5ac4488d776fcf0b8d
+sig = 3045022100a5631aa8b4ea617299812d6ba30634e6435b464134851bab34b27de1efa846f102203748532dde1027adf441d8d838cb071e53ca07940bfbeba596f187dc2dbbffd3
 
+# tcId = 5
 # random signature
 msg = 313233343030
 result = valid
-sig = 3046022100caf80e1656e0a20237b7c39c8bffdf1831efef84a0b5bd7d404fec77b20efecd022100e8352a15bf01544331281f2f71fd913003acabbc6ab0f47cdc58c8d7bc8a6cd5
+sig = 304402200ab76b2520a9f50b8f587dcebf4b4505d8bb20b0259be12f6b331eb372b14bcc02207e1a6aaeaa2a06159ca3b8d276a1dc4f5e177cba24945e574e11de12c6fd6d01
 
+# tcId = 6
 # random signature
 msg = 313233343030
 result = valid
-sig = 304502206160cb08f98f68d6c62b45babea51bd439d9003a40acb38295f63929bf26027e0221008f6b86c954822054da763c5dc9e5ce22e08814904e438311fa4ff2d79e9f9795
+sig = 3045022100bf9c4ae2cb659c363042793489587d62e5e680c4a82ff6dca07f3c52814eba0a02202e64c12f19f4f9c442562b31335dffa7b929525c0563da11b0909a3c3b942e31
 
+# tcId = 7
 # Legacy:ASN encoding of s misses leading 0
 msg = 313233343030
 result = acceptable
@@ -51,671 +59,880 @@
 # some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
 # assuming that the signature is otherwise valid.
 
+# tcId = 8
 # valid
 msg = 313233343030
 result = valid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 9
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 10
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 11
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 12
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 13
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 14
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 15
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 16
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 17
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 304502212ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 18
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3045021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 19
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022200b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 20
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 21
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3085010000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 22
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 304a028501000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 23
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285010000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 24
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 308901000000000000004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 25
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 304e02890100000000000000202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 26
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 304e02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028901000000000000002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 27
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30847fffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 28
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 304902847fffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 29
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802847fffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 30
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3084ffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 31
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 30490284ffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 32
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180284ffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 33
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3085ffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 34
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 304a0285ffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 35
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180285ffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 36
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3088ffffffffffffffff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 37
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 304d0288ffffffffffffffff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 38
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180288ffffffffffffffff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 39
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30ff02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 40
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 304502ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 41
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 42
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 43
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 304502802ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 44
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18028000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 45
 # removing sequence
 msg = 313233343030
 result = invalid
 sig = 
 
+# tcId = 46
+# lonely sequence tag
+msg = 313233343030
+result = invalid
+sig = 30
+
+# tcId = 47
 # appending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
 
+# tcId = 48
 # prepending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
-# appending unused 0's
+# tcId = 49
+# appending unused 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
 
-# appending unused 0's
-msg = 313233343030
-result = invalid
-sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
-
-# appending null value
+# tcId = 50
+# appending null value to sequence
 msg = 313233343030
 result = invalid
 sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500
 
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
-
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500
-
+# tcId = 51
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 52
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 53
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef
 
+# tcId = 54
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 55
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 56
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 57
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 58
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 59
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef
 
+# tcId = 60
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 61
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 62
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 63
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 64
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 65
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 66
+# truncated length of sequence
+msg = 313233343030
+result = invalid
+sig = 3081
+
+# tcId = 67
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
 
+# tcId = 68
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 69
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
 
+# tcId = 70
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
 
+# tcId = 71
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 72
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
 
+# tcId = 73
 # Replacing sequence with NULL
 msg = 313233343030
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 74
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
-# changing tag value
+# tcId = 75
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
-# changing tag value
+# tcId = 76
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
-# changing tag value
+# tcId = 77
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
-# changing tag value
+# tcId = 78
+# changing tag value of sequence
 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
-
+# tcId = 79
 # dropping value of sequence
 msg = 313233343030
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 80
+# using composition forsequence
 msg = 313233343030
 result = invalid
 sig = 30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
-# using composition
-msg = 313233343030
-result = invalid
-sig = 3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
-
-# using composition
-msg = 313233343030
-result = invalid
-sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
-
+# tcId = 81
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847
 
+# tcId = 82
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 83
 # indefinite length
 msg = 313233343030
 result = invalid
 sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 84
 # indefinite length with truncated delimiter
 msg = 313233343030
 result = invalid
 sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00
 
+# tcId = 85
 # indefinite length with additional element
 msg = 313233343030
 result = invalid
 sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000
 
+# tcId = 86
 # indefinite length with truncated element
 msg = 313233343030
 result = invalid
 sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000
 
+# tcId = 87
 # indefinite length with garbage
 msg = 313233343030
 result = invalid
 sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef
 
+# tcId = 88
 # indefinite length with nonempty EOC
 msg = 313233343030
 result = invalid
 sig = 308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef
 
+# tcId = 89
 # prepend empty sequence
 msg = 313233343030
 result = invalid
 sig = 3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 90
 # append empty sequence
 msg = 313233343030
 result = invalid
 sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000
 
+# tcId = 91
 # sequence of sequence
 msg = 313233343030
 result = invalid
 sig = 3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 92
 # truncated sequence
 msg = 313233343030
 result = invalid
 sig = 302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18
 
+# tcId = 93
 # repeat element in sequence
 msg = 313233343030
 result = invalid
 sig = 306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 94
 # removing integer
 msg = 313233343030
 result = invalid
 sig = 3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 95
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 302402022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 96
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 302302202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802
+
+# tcId = 97
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 98
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000
 
+# tcId = 99
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 100
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 101
+# appending unused 0's to integer
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 102
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 103
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500
+
+# tcId = 104
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 30250281022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 105
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180281
+
+# tcId = 106
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 107
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500
 
+# tcId = 108
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 109
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 110
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 111
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 112
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 113
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 114
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 115
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 116
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 117
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 118
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 119
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200
 
+# tcId = 120
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 121
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 122
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 123
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 124
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 125
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b
 
+# tcId = 126
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 127
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 128
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847
 
+# tcId = 129
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 130
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 131
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 132
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 133
 # infinity
 msg = 313233343030
 result = invalid
 sig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180
 
+# tcId = 134
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3026020100022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
+
+# tcId = 135
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18020100
+
+# tcId = 136
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 137
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 138
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 139
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 140
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 141
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 142
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 143
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c
 
+# tcId = 144
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a
 
+# tcId = 145
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825
 
+# tcId = 146
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4
 
+# tcId = 147
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db
 
+# tcId = 148
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825
 
+# tcId = 149
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -723,6 +940,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 150
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -730,6 +948,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 151
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -737,6 +956,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 152
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -744,6 +964,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 153
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -751,6 +972,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 154
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -758,6 +980,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 155
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -765,6 +988,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 156
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -772,6 +996,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 157
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -779,6 +1004,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 158
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -786,6 +1012,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 159
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -793,6 +1020,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 160
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -800,6 +1028,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 161
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -807,6 +1036,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 162
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -814,6 +1044,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 163
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -821,6 +1052,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 164
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -828,6 +1060,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 165
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -835,6 +1068,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 166
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -842,6 +1076,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 167
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -849,6 +1084,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 168
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -856,6 +1092,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 169
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -863,6 +1100,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 170
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -870,6 +1108,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 171
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -877,6 +1116,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 172
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -884,6 +1124,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 173
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -891,6 +1132,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 174
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -898,6 +1140,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 175
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -905,6 +1148,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 176
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -912,6 +1156,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 177
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -919,6 +1164,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 178
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -926,6 +1172,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 179
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -933,6 +1180,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 180
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -940,6 +1188,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 181
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -947,6 +1196,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 182
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -954,6 +1204,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 183
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -961,6 +1212,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 184
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -968,6 +1220,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 185
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -975,6 +1228,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 186
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -982,6 +1236,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 187
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -989,6 +1244,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 188
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -996,6 +1252,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 189
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1003,6 +1260,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 190
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1010,6 +1268,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 191
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1017,6 +1276,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 192
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1024,6 +1284,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 193
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1031,6 +1292,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 194
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1038,6 +1300,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 195
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1045,6 +1308,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 196
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1052,6 +1316,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 197
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1059,6 +1324,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 198
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1066,6 +1332,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 199
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1073,6 +1340,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 200
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1080,6 +1348,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 201
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1087,6 +1356,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 202
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1094,6 +1364,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 203
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1101,6 +1372,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 204
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1108,6 +1380,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 205
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1115,6 +1388,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 206
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1122,6 +1396,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 207
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1129,6 +1404,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 208
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1136,6 +1412,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 209
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1143,6 +1420,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 210
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1150,6 +1428,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 211
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1157,6 +1436,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 212
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1164,6 +1444,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 213
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1171,6 +1452,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 214
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1178,6 +1460,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 215
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1185,6 +1468,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 216
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1192,6 +1476,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 217
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1199,6 +1484,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 218
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1206,6 +1492,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 219
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1213,6 +1500,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 220
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1220,6 +1508,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 221
 # Edge case for Shamir multiplication
 msg = 3639383139
 result = valid
@@ -1228,16 +1517,19 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]
 [key.wx = 0ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103]
 [key.wy = 0c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ad99500288d466940031d72a9f5445a4d43784640855bf0a69874d2de5fe103c5011e6ef2c42dcd50d5d3d29f99ae6eba2c80c9244f4c5422f0979ff0c3ba5e]
 [sha = SHA-256]
 
+# tcId = 222
 # k*G has a large x-coordinate
 msg = 313233343030
 result = valid
 sig = 303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e
 
+# tcId = 223
 # r too large
 msg = 313233343030
 result = invalid
@@ -1246,11 +1538,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]
 [key.wx = 0ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c582204554]
 [key.wy = 19235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004ab05fd9d0de26b9ce6f4819652d9fc69193d0aa398f0fba8013e09c58220455419235271228c786759095d12b75af0692dd4103f19f6a8c32f49435a1e9b8d45]
 [sha = SHA-256]
 
+# tcId = 224
 # r,s are large
 msg = 313233343030
 result = valid
@@ -1259,11 +1553,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]
 [key.wx = 080984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c56]
 [key.wy = 11feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000480984f39a1ff38a86a68aa4201b6be5dfbfecf876219710b07badf6fdd4c6c5611feb97390d9826e7a06dfb41871c940d74415ed3cac2089f1445019bb55ed95]
 [sha = SHA-256]
 
+# tcId = 225
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1272,11 +1568,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]
 [key.wx = 4201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c05]
 [key.wy = 095c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044201b4272944201c3294f5baa9a3232b6dd687495fcc19a70a95bc602b4f7c0595c37eba9ee8171c1bb5ac6feaf753bc36f463e3aef16629572c0c0a8fb0800e]
 [sha = SHA-256]
 
+# tcId = 226
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1285,11 +1583,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]
 [key.wx = 0a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac957]
 [key.wy = 5d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a71af64de5126a4a4e02b7922d66ce9415ce88a4c9d25514d91082c8725ac9575d47723c8fbe580bb369fec9c2665d8e30a435b9932645482e7c9f11e872296b]
 [sha = SHA-256]
 
+# tcId = 227
 # small r and s
 msg = 313233343030
 result = valid
@@ -1298,11 +1598,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]
 [key.wx = 6627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b1572]
 [key.wy = 6170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046627cec4f0731ea23fc2931f90ebe5b7572f597d20df08fc2b31ee8ef16b15726170ed77d8d0a14fc5c9c3c4c9be7f0d3ee18f709bb275eaf2073e258fe694a5]
 [sha = SHA-256]
 
+# tcId = 228
 # small r and s
 msg = 313233343030
 result = valid
@@ -1311,11 +1613,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]
 [key.wx = 5a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bf]
 [key.wy = 0ef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045a7c8825e85691cce1f5e7544c54e73f14afc010cb731343262ca7ec5a77f5bfef6edf62a4497c1bd7b147fb6c3d22af3c39bfce95f30e13a16d3d7b2812f813]
 [sha = SHA-256]
 
+# tcId = 229
 # small r and s
 msg = 313233343030
 result = valid
@@ -1324,16 +1628,19 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]
 [key.wx = 0cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c737]
 [key.wy = 70af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cbe0c29132cd738364fedd603152990c048e5e2fff996d883fa6caca7978c73770af6a8ce44cb41224b2603606f4c04d188e80bff7cc31ad5189d4ab0d70e8c1]
 [sha = SHA-256]
 
+# tcId = 230
 # small r and s
 msg = 313233343030
 result = valid
 sig = 3006020105020106
 
+# tcId = 231
 # r is larger than n
 msg = 313233343030
 result = invalid
@@ -1342,11 +1649,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]
 [key.wx = 4be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e139]
 [key.wy = 20f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044be4178097002f0deab68f0d9a130e0ed33a6795d02a20796db83444b037e13920f13051e0eecdcfce4dacea0f50d1f247caa669f193c1b4075b51ae296d2d56]
 [sha = SHA-256]
 
+# tcId = 232
 # s is larger than n
 msg = 313233343030
 result = invalid
@@ -1355,11 +1664,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]
 [key.wx = 0d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9]
 [key.wy = 0971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0f73792203716afd4be4329faa48d269f15313ebbba379d7783c97bf3e890d9971f4a3206605bec21782bf5e275c714417e8f566549e6bc68690d2363c89cc1]
 [sha = SHA-256]
 
+# tcId = 233
 # small r and s^-1
 msg = 313233343030
 result = valid
@@ -1368,11 +1679,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]
 [key.wx = 4838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05f]
 [key.wy = 0fa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044838b2be35a6276a80ef9e228140f9d9b96ce83b7a254f71ccdebbb8054ce05ffa9cbc123c919b19e00238198d04069043bd660a828814051fcb8aac738a6c6b]
 [sha = SHA-256]
 
+# tcId = 234
 # smallish r and s^-1
 msg = 313233343030
 result = valid
@@ -1381,11 +1694,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]
 [key.wx = 7393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64]
 [key.wy = 0e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200047393983ca30a520bbc4783dc9960746aab444ef520c0a8e771119aa4e74b0f64e9d7be1ab01a0bf626e709863e6a486dbaf32793afccf774e2c6cd27b1857526]
 [sha = SHA-256]
 
+# tcId = 235
 # 100-bit r and small s^-1
 msg = 313233343030
 result = valid
@@ -1394,11 +1709,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]
 [key.wx = 5ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5]
 [key.wy = 0fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045ac331a1103fe966697379f356a937f350588a05477e308851b8a502d5dfcdc5fe9993df4b57939b2b8da095bf6d794265204cfe03be995a02e65d408c871c0b]
 [sha = SHA-256]
 
+# tcId = 236
 # small r and 100 bit s^-1
 msg = 313233343030
 result = valid
@@ -1407,11 +1724,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]
 [key.wx = 1d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509]
 [key.wy = 0dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200041d209be8de2de877095a399d3904c74cc458d926e27bb8e58e5eae5767c41509dd59e04c214f7b18dce351fc2a549893a6860e80163f38cc60a4f2c9d040d8c9]
 [sha = SHA-256]
 
+# tcId = 237
 # 100-bit r and s^-1
 msg = 313233343030
 result = valid
@@ -1420,11 +1739,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]
 [key.wx = 083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99]
 [key.wy = 0915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004083539fbee44625e3acaafa2fcb41349392cef0633a1b8fabecee0c133b10e99915c1ebe7bf00df8535196770a58047ae2a402f26326bb7d41d4d7616337911e]
 [sha = SHA-256]
 
+# tcId = 238
 # r and s^-1 are close to n
 msg = 313233343030
 result = valid
@@ -1433,16 +1754,19 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]
 [key.wx = 08aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e19373874]
 [key.wy = 5bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048aeb368a7027a4d64abdea37390c0c1d6a26f399e2d9734de1eb3d0e1937387405bd13834715e1dbae9b875cf07bd55e1b6691c7f7536aef3b19bf7a4adf576d]
 [sha = SHA-256]
 
+# tcId = 239
 # s == 1
 msg = 313233343030
 result = valid
 sig = 30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101
 
+# tcId = 240
 # s == 0
 msg = 313233343030
 result = invalid
@@ -1451,11 +1775,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]
 [key.wx = 0b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f287]
 [key.wy = 1b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004b533d4695dd5b8c5e07757e55e6e516f7e2c88fa0239e23f60e8ec07dd70f2871b134ee58cc583278456863f33c3a85d881f7d4a39850143e29d4eaf009afe47]
 [sha = SHA-256]
 
+# tcId = 241
 # point at infinity during verify
 msg = 313233343030
 result = invalid
@@ -1464,11 +1790,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]
 [key.wx = 69da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b8]
 [key.wy = 66d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000469da0364734d2e530fece94019265fefb781a0f1b08f6c8897bdf6557927c8b866d2d3c7dcd518b23d726960f069ad71a933d86ef8abbcce8b20f71e2a847002]
 [sha = SHA-256]
 
+# tcId = 242
 # u1 == 1
 msg = 313233343030
 result = valid
@@ -1477,11 +1805,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]
 [key.wx = 0d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff32]
 [key.wy = 33e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d8adc00023a8edc02576e2b63e3e30621a471e2b2320620187bf067a1ac1ff3233e2b50ec09807accb36131fff95ed12a09a86b4ea9690aa32861576ba2362e1]
 [sha = SHA-256]
 
+# tcId = 243
 # u1 == n - 1
 msg = 313233343030
 result = valid
@@ -1490,11 +1820,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]
 [key.wx = 3623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab785]
 [key.wy = 08db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043623ac973ced0a56fa6d882f03a7d5c7edca02cfc7b2401fab3690dbe75ab7858db06908e64b28613da7257e737f39793da8e713ba0643b92e9bb3252be7f8fe]
 [sha = SHA-256]
 
+# tcId = 244
 # u2 == 1
 msg = 313233343030
 result = valid
@@ -1503,11 +1835,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]
 [key.wx = 0cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1]
 [key.wy = 0e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004cf04ea77e9622523d894b93ff52dc3027b31959503b6fa3890e5e04263f922f1e8528fb7c006b3983c8b8400e57b4ed71740c2f3975438821199bedeaecab2e9]
 [sha = SHA-256]
 
+# tcId = 245
 # u2 == n - 1
 msg = 313233343030
 result = valid
@@ -1516,11 +1850,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]
 [key.wx = 0db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff77350]
 [key.wy = 4f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004db7a2c8a1ab573e5929dc24077b508d7e683d49227996bda3e9f78dbeff773504f417f3bc9a88075c2e0aadd5a13311730cf7cc76a82f11a36eaf08a6c99a206]
 [sha = SHA-256]
 
+# tcId = 246
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1529,11 +1865,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]
 [key.wx = 0dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f]
 [key.wy = 1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dead11c7a5b396862f21974dc4752fadeff994efe9bbd05ab413765ea80b6e1f1de3f0640e8ac6edcf89cff53c40e265bb94078a343736df07aa0318fc7fe1ff]
 [sha = SHA-256]
 
+# tcId = 247
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1542,11 +1880,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]
 [key.wx = 0d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9]
 [key.wy = 0986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0bc472e0d7c81ebaed3a6ef96c18613bb1fea6f994326fbe80e00dfde67c7e9986c723ea4843d48389b946f64ad56c83ad70ff17ba85335667d1bb9fa619efd]
 [sha = SHA-256]
 
+# tcId = 248
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1555,11 +1895,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]
 [key.wx = 0a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c32]
 [key.wy = 6337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a0a44ca947d66a2acb736008b9c08d1ab2ad03776e02640f78495d458dd51c326337fe5cf8c4604b1f1c409dc2d872d4294a4762420df43a30a2392e40426add]
 [sha = SHA-256]
 
+# tcId = 249
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1568,11 +1910,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]
 [key.wx = 0c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b7]
 [key.wy = 3877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c9c2115290d008b45fb65fad0f602389298c25420b775019d42b62c3ce8a96b73877d25a8080dc02d987ca730f0405c2c9dbefac46f9e601cc3f06e9713973fd]
 [sha = SHA-256]
 
+# tcId = 250
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1581,11 +1925,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]
 [key.wx = 5eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e]
 [key.wy = 5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045eca1ef4c287dddc66b8bccf1b88e8a24c0018962f3c5e7efa83bc1a5ff6033e5e79c4cb2c245b8c45abdce8a8e4da758d92a607c32cd407ecaef22f1c934a71]
 [sha = SHA-256]
 
+# tcId = 251
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1594,11 +1940,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]
 [key.wx = 5caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47a]
 [key.wy = 0deb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045caaa030e7fdf0e4936bc7ab5a96353e0a01e4130c3f8bf22d473e317029a47adeb6adc462f7058f2a20d371e9702254e9b201642005b3ceda926b42b178bef9]
 [sha = SHA-256]
 
+# tcId = 252
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1607,11 +1955,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]
 [key.wx = 0c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b098]
 [key.wy = 6237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c2fd20bac06e555bb8ac0ce69eb1ea20f83a1fc3501c8a66469b1a31f619b0986237050779f52b615bd7b8d76a25fc95ca2ed32525c75f27ffc87ac397e6cbaf]
 [sha = SHA-256]
 
+# tcId = 253
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1620,11 +1970,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]
 [key.wx = 3fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced]
 [key.wy = 3ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043fd6a1ca7f77fb3b0bbe726c372010068426e11ea6ae78ce17bedae4bba86ced03ce5516406bf8cfaab8745eac1cd69018ad6f50b5461872ddfc56e0db3c8ff4]
 [sha = SHA-256]
 
+# tcId = 254
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1633,11 +1985,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]
 [key.wx = 09cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114]
 [key.wy = 0b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200049cb8e51e27a5ae3b624a60d6dc32734e4989db20e9bca3ede1edf7b086911114b4c104ab3c677e4b36d6556e8ad5f523410a19f2e277aa895fc57322b4427544]
 [sha = SHA-256]
 
+# tcId = 255
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1646,11 +2000,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]
 [key.wx = 0a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a]
 [key.wy = 4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a3e52c156dcaf10502620b7955bc2b40bc78ef3d569e1223c262512d8f49602a4a2039f31c1097024ad3cc86e57321de032355463486164cf192944977df147f]
 [sha = SHA-256]
 
+# tcId = 256
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1659,11 +2015,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]
 [key.wx = 0f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88]
 [key.wy = 0cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f19b78928720d5bee8e670fb90010fb15c37bf91b58a5157c3f3c059b2655e88cf701ec962fb4a11dcf273f5dc357e58468560c7cfeb942d074abd4329260509]
 [sha = SHA-256]
 
+# tcId = 257
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1672,11 +2030,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]
 [key.wx = 083a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8]
 [key.wy = 0c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000483a744459ecdfb01a5cf52b27a05bb7337482d242f235d7b4cb89345545c90a8c05d49337b9649813287de9ffe90355fd905df5f3c32945828121f37cc50de6e]
 [sha = SHA-256]
 
+# tcId = 258
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1685,11 +2045,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]
 [key.wx = 0dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7]
 [key.wy = 0bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd13c6b34c56982ddae124f039dfd23f4b19bbe88cee8e528ae51e5d6f3a21d7bfad4c2e6f263fe5eb59ca974d039fc0e4c3345692fb5320bdae4bd3b42a45ff]
 [sha = SHA-256]
 
+# tcId = 259
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1698,11 +2060,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]
 [key.wx = 67e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460]
 [key.wy = 0a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000467e6f659cdde869a2f65f094e94e5b4dfad636bbf95192feeed01b0f3deb7460a37e0a51f258b7aeb51dfe592f5cfd5685bbe58712c8d9233c62886437c38ba0]
 [sha = SHA-256]
 
+# tcId = 260
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1711,11 +2075,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]
 [key.wx = 2eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf]
 [key.wy = 0805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042eb6412505aec05c6545f029932087e490d05511e8ec1f599617bb367f9ecaaf805f51efcc4803403f9b1ae0124890f06a43fedcddb31830f6669af292895cb0]
 [sha = SHA-256]
 
+# tcId = 261
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1724,11 +2090,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]
 [key.wx = 084db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f35]
 [key.wy = 6d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000484db645868eab35e3a9fd80e056e2e855435e3a6b68d75a50a854625fe0d7f356d2589ac655edc9a11ef3e075eddda9abf92e72171570ef7bf43a2ee39338cfe]
 [sha = SHA-256]
 
+# tcId = 262
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1737,11 +2105,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]
 [key.wx = 091b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad663]
 [key.wy = 49aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000491b9e47c56278662d75c0983b22ca8ea6aa5059b7a2ff7637eb2975e386ad66349aa8ff283d0f77c18d6d11dc062165fd13c3c0310679c1408302a16854ecfbd]
 [sha = SHA-256]
 
+# tcId = 263
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1750,11 +2120,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]
 [key.wx = 0f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834d]
 [key.wy = 0f97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f3ec2f13caf04d0192b47fb4c5311fb6d4dc6b0a9e802e5327f7ec5ee8e4834df97e3e468b7d0db867d6ecfe81e2b0f9531df87efdb47c1338ac321fefe5a432]
 [sha = SHA-256]
 
+# tcId = 264
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1763,11 +2135,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]
 [key.wx = 0d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc88]
 [key.wy = 5ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d92b200aefcab6ac7dafd9acaf2fa10b3180235b8f46b4503e4693c670fccc885ef2f3aebf5b317475336256768f7c19efb7352d27e4cccadc85b6b8ab922c72]
 [sha = SHA-256]
 
+# tcId = 265
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1776,11 +2150,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]
 [key.wx = 0a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cd]
 [key.wy = 0e6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040a88361eb92ecca2625b38e5f98bbabb96bf179b3d76fc48140a3bcd881523cde6bdf56033f84a5054035597375d90866aa2c96b86a41ccf6edebf47298ad489]
 [sha = SHA-256]
 
+# tcId = 266
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1789,11 +2165,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]
 [key.wx = 0d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e8]
 [key.wy = 68612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d0fb17ccd8fafe827e0c1afc5d8d80366e2b20e7f14a563a2ba50469d84375e868612569d39e2bb9f554355564646de99ac602cc6349cf8c1e236a7de7637d93]
 [sha = SHA-256]
 
+# tcId = 267
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1802,11 +2180,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]
 [key.wx = 0836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb276]
 [key.wy = 09ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004836f33bbc1dc0d3d3abbcef0d91f11e2ac4181076c9af0a22b1e4309d3edb2769ab443ff6f901e30c773867582997c2bec2b0cb8120d760236f3a95bbe881f75]
 [sha = SHA-256]
 
+# tcId = 268
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1815,11 +2195,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]
 [key.wx = 092f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8]
 [key.wy = 33dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000492f99fbe973ed4a299719baee4b432741237034dec8d72ba5103cb33e55feeb8033dd0e91134c734174889f3ebcf1b7a1ac05767289280ee7a794cebd6e69697]
 [sha = SHA-256]
 
+# tcId = 269
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1828,11 +2210,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]
 [key.wx = 0d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09e]
 [key.wy = 0ff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004d35ba58da30197d378e618ec0fa7e2e2d12cffd73ebbb2049d130bba434af09eff83986e6875e41ea432b7585a49b3a6c77cbb3c47919f8e82874c794635c1d2]
 [sha = SHA-256]
 
+# tcId = 270
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1841,11 +2225,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]
 [key.wx = 08651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224]
 [key.wy = 0e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048651ce490f1b46d73f3ff475149be29136697334a519d7ddab0725c8d0793224e11c65bd8ca92dc8bc9ae82911f0b52751ce21dd9003ae60900bd825f590cc28]
 [sha = SHA-256]
 
+# tcId = 271
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1854,11 +2240,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]
 [key.wx = 6d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6d]
 [key.wy = 0ef6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046d8e1b12c831a0da8795650ff95f101ed921d9e2f72b15b1cdaca9826b9cfc6def6d63e2bc5c089570394a4bc9f892d5e6c7a6a637b20469a58c106ad486bf37]
 [sha = SHA-256]
 
+# tcId = 272
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1867,11 +2255,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]
 [key.wx = 0ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e1542]
 [key.wy = 08911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040ae580bae933b4ef2997cbdbb0922328ca9a410f627a0f7dff24cb4d920e15428911e7f8cc365a8a88eb81421a361ccc2b99e309d8dcd9a98ba83c3949d893e3]
 [sha = SHA-256]
 
+# tcId = 273
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1880,11 +2270,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]
 [key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]
 [key.wy = 0838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963838a40f2a36092e9004e92d8d940cf5638550ce672ce8b8d4e15eba5499249e9]
 [sha = SHA-256]
 
+# tcId = 274
 # point duplication during verification
 msg = 313233343030
 result = valid
@@ -1896,11 +2288,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]
 [key.wx = 5b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc46963]
 [key.wy = 7c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045b812fd521aafa69835a849cce6fbdeb6983b442d2444fe70e134c027fc469637c75bf0c5c9f6d17ffb16d2726bf30a9c7aaf31a8d317472b1ea145ab66db616]
 [sha = SHA-256]
 
+# tcId = 275
 # duplication bug
 msg = 313233343030
 result = invalid
@@ -1912,11 +2306,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]
 [key.wx = 6adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a6]
 [key.wy = 47e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046adda82b90261b0f319faa0d878665a6b6da497f09c903176222c34acfef72a647e6f50dcc40ad5d9b59f7602bb222fad71a41bf5e1f9df4959a364c62e488d9]
 [sha = SHA-256]
 
+# tcId = 276
 # point with x-coordinate 0
 msg = 313233343030
 result = invalid
@@ -1925,11 +2321,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]
 [key.wx = 2fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f3820]
 [key.wy = 65f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042fca0d0a47914de77ed56e7eccc3276a601120c6df0069c825c8f6a01c9f382065f3450a1d17c6b24989a39beb1c7decfca8384fbdc294418e5d807b3c6ed7de]
 [sha = SHA-256]
 
+# tcId = 277
 # point with x-coordinate 0
 msg = 313233343030
 result = invalid
@@ -1938,11 +2336,13 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]
 [key.wx = 0dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d250]
 [key.wy = 45d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004dd86d3b5f4a13e8511083b78002081c53ff467f11ebd98a51a633db76665d25045d5c8200c89f2fa10d849349226d21d8dfaed6ff8d5cb3e1b7e17474ebc18f7]
 [sha = SHA-256]
 
+# tcId = 278
 # comparison with point at infinity 
 msg = 313233343030
 result = invalid
@@ -1951,12 +2351,14 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]
 [key.wx = 4fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5]
 [key.wy = 0d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044fea55b32cb32aca0c12c4cd0abfb4e64b0f5a516e578c016591a93f5a0fbcc5d7d3fd10b2be668c547b212f6bb14c88f0fecd38a8a4b2c785ed3be62ce4b280]
 [sha = SHA-256]
 
-# extreme value for k
+# tcId = 279
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70
@@ -1964,12 +2366,89 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]
+[key.wx = 0c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107]
+[key.wy = 0bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004c6a771527024227792170a6f8eee735bf32b7f98af669ead299802e32d7c3107bc3b4b5e65ab887bbd343572b3e5619261fe3a073e2ffd78412f726867db589e]
+[sha = SHA-256]
+
+# tcId = 280
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 04851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]
+[key.wx = 0851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956ef]
+[key.wy = 0cee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004851c2bbad08e54ec7a9af99f49f03644d6ec6d59b207fec98de85a7d15b956efcee9960283045075684b410be8d0f7494b91aa2379f60727319f10ddeb0fe9d6]
+[sha = SHA-256]
+
+# tcId = 281
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 04f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]
+[key.wx = 0f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f]
+[key.wy = 08f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004f6417c8a670584e388676949e53da7fc55911ff68318d1bf3061205acb19c48f8f2b743df34ad0f72674acb7505929784779cd9ac916c3669ead43026ab6d43f]
+[sha = SHA-256]
+
+# tcId = 282
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 04501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]
+[key.wx = 501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a0643]
+[key.wy = 08673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004501421277be45a5eefec6c639930d636032565af420cf3373f557faa7f8a06438673d6cb6076e1cfcdc7dfe7384c8e5cac08d74501f2ae6e89cad195d0aa1371]
+[sha = SHA-256]
+
+# tcId = 283
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]
+[key.wx = 0d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb34]
+[key.wy = 3195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200040d935bf9ffc115a527735f729ca8a4ca23ee01a4894adf0e3415ac84e808bb343195a3762fea29ed38912bd9ea6c4fde70c3050893a4375850ce61d82eba33c5]
+[sha = SHA-256]
+
+# tcId = 284
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]
 [key.wx = 5e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca21]
 [key.wy = 5de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200045e59f50708646be8a589355014308e60b668fb670196206c41e748e64e4dca215de37fee5c97bcaf7144d5b459982f52eeeafbdf03aacbafef38e213624a01de]
 [sha = SHA-256]
 
-# extreme value for k
+# tcId = 285
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70
@@ -1977,16 +2456,94 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]
+[key.wx = 169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e]
+[key.wy = 7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004169fb797325843faff2f7a5b5445da9e2fd6226f7ef90ef0bfe924104b02db8e7bbb8de662c7b9b1cf9b22f7a2e582bd46d581d68878efb2b861b131d8a1d667]
+[sha = SHA-256]
+
+# tcId = 286
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 04271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]
+[key.wx = 271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b54898148754]
+[key.wy = 0a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004271cd89c000143096b62d4e9e4ca885aef2f7023d18affdaf8b7b548981487540a1c6e954e32108435b55fa385b0f76481a609b9149ccb4b02b2ca47fe8e4da5]
+[sha = SHA-256]
+
+# tcId = 287
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]
+[key.wx = 3d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12]
+[key.wy = 0e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043d0bc7ed8f09d2cb7ddb46ebc1ed799ab1563a9ab84bf524587a220afe499c12e22dc3b3c103824a4f378d96adb0a408abf19ce7d68aa6244f78cb216fa3f8df]
+[sha = SHA-256]
+
+# tcId = 288
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 04a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]
+[key.wx = 0a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b7]
+[key.wy = 2e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004a6c885ade1a4c566f9bb010d066974abb281797fa701288c721bcbd23663a9b72e424b690957168d193a6096fc77a2b004a9c7d467e007e1f2058458f98af316]
+[sha = SHA-256]
+
+# tcId = 289
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]
+[key.wx = 08d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c]
+[key.wy = 4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]
+[keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200048d3c2c2c3b765ba8289e6ac3812572a25bf75df62d87ab7330c3bdbad9ebfa5c4c6845442d66935b238578d43aec54f7caa1621d1af241d4632e0b780c423f5d]
+[sha = SHA-256]
+
+# tcId = 290
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb
+
+[key.curve = secp256r1]
+[key.keySize = 256]
+[key.type = ECPublicKey]
+[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]
 [key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]
 [key.wy = 4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5]
 [sha = SHA-256]
 
+# tcId = 291
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2
 
+# tcId = 292
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1995,16 +2552,19 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]
 [key.wx = 6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296]
 [key.wy = 0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a]
 [sha = SHA-256]
 
+# tcId = 293
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2
 
+# tcId = 294
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -2013,206 +2573,247 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]
 [key.wx = 4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5]
 [key.wy = 087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d]
 [sha = SHA-256]
 
+# tcId = 295
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2
 
+# tcId = 296
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3045022100e502de07f887e60119f9668cec69d2760839e6e74b9e6ff8cb7fa8d5a24f66c802207605e8b6afdbef06db7f89d06e2add2cf064eb4054d5ff0b101d815e813a8c08
 
+# tcId = 297
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3044022030fbfb3d662f0f07e8d51c6c3ebbc3ae9cf17b985db10e38116f1ba584cccf4102206fcc086c907209fe3d3d3a3724af44ce3d5af9345ac8864de18ad2b2f9617819
 
+# tcId = 298
 # pseudorandom signature
 msg = 
 result = valid
 sig = 304602210097dde41357ef913cb8b9cd8e8c8c858831ec69298c739cd7fb14edcafc519d4e022100c8e032ad4432814ba4ddf3e25004594fa8c5137e39fd360ca36aedabaa934db3
 
+# tcId = 299
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3044022047bf21626d4b879fc51774251d7e3a380104e2c8170f13d32e86358c63d6b50102203f9c9d81b5e20b94766a62efdee7f3edfada68ab4d74487a24978fb574358830
 
+# tcId = 300
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3045022100d7908fbd16c6a3ffd7c315bfc2f87d8d42bda8fac5d6024069b5df6b101420e0022066a4771722eef9f166f037629c0d210010727dd114049fe2159ffa228fc11798
 
+# tcId = 301
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3046022100d48907279f401ee511d2e78d15f4c17539c93373d72bb66cff066a9114801a6d022100c7b709d88a367836a66cdb4b3bd4e0b2a76c97e551505c2969c98b6709600733
 
+# tcId = 302
 # pseudorandom signature
 msg = 
 result = valid
 sig = 30450220743d6d5a99bcf2f7e011d6cac86a73582014419d3803c8d61128b23e4683cf96022100fa1270b7406b13cdbea376cb502f01f388f97dc5b660c9f3ba92c40233ae853f
 
+# tcId = 303
 # pseudorandom signature
 msg = 
 result = valid
 sig = 304502201c8e26e3a84892b12d6946fa39aa15ee8989f32c647db31c48c7276718907734022100e486719b597f52356d20afc98af82301d3ed33e2c3ec61c23601de687c432893
 
+# tcId = 304
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3046022100f8f074bad4cc63ce49b1a7101f5f1e5dd7e8d28e1654e3052e9dea4e8830a247022100d232383e83d2b4e0c12ee6127dd8cc3fcfcdff971571b07e18ea0d59d1bd75e9
 
+# tcId = 305
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 30450220530bd6b0c9af2d69ba897f6b5fb59695cfbf33afe66dbadcf5b8d2a2a6538e23022100d85e489cb7a161fd55ededcedbf4cc0c0987e3e3f0f242cae934c72caa3f43e9
 
+# tcId = 306
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 304502202a95faa048e78949b27dd4f2a69bf26f809d565cca4fd0205aac95382e19df1c022100c7de7183db22fb7015697d8f15874529c1c37b3506b32e2969c6345ba6431eea
 
+# tcId = 307
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3046022100ef18b2f9d187e6d6ebd0fe0ff63ebbee44e4e8c3812fb53f7399a2db757965fc022100ff2f438009b409c18fb908851115a00f3ac250428c0485cb8e8066e27608dc2a
 
+# tcId = 308
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3045022100d1ba6053e65dd564d24a99aeabb181529f48ed9564bfcf8d9b7950d05dfbf1f702204b4d69402ba634983534a599f49c47d4fef03ace4446a7934124e7b4cd212be2
 
+# tcId = 309
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3045022100d8df1a77d439e1a68621712e5cf65ecc503398f7a87a6b53fbd1d7251d1a62bd02203276f956f733314b20eb399f2027702463e203cd8f15f1dbe41fe157dcaac618
 
+# tcId = 310
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 30440220771b9696276b14cf4e0342272f65be8ddf3d603036b03d13a82f522c0446843c022062e7b425f0e2d8a6a207e8324014a6d4d569d80e0fe5509ba1cd1581446d5a2b
 
+# tcId = 311
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3046022100f052476d9a28b34372a358481c650f2aee5c91b88fa307ad39719c11d2ae2b79022100d5da4b0f6bab8923ec17533d455ed259d379fe265956b7106f2c44c4f56a70ed
 
+# tcId = 312
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3046022100a6a63a03be4a3505ba28907fb2b028268387b657ae561fb5bf9c011a330a8dae022100bacb589b58eeb74b7ab85b1abdaf50f59ed03ea4a73dde66470b86dc34e25768
 
+# tcId = 313
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3046022100f547541d72fad13c84399a2e74e00c2f2b6ee9c24b48bb06c00c321786273c07022100d28d340d5e507b1fd87011bc8a21b388f7a4ea6acbc67916667e278dd52c5c1b
 
+# tcId = 314
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 304402205b64337764e6b896219a3502e4ea632fc03afe12c27ad0501640f46f7a6e62950220100cd011a79cbcba991f0994e4e406de9a390d8ede12d4a116f39072d8373463
 
+# tcId = 315
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86
 
+# tcId = 316
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 304402206d5091f9497241fb2a99137f56734d70797c1620fa58f292f3ddc1c21980768a02207d4681372addeec97da13d3834429a49cf94c68cc6d8380fcc1fb897caeaa4d7
 
+# tcId = 317
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 30440220111af92aa721abe4492468a6ad410f85351c3f71f6f076c5160eac1665bf08a002205d9f4658ec427e54fd64ccc367f50d48c7e5c2822299e258f443cc7890d25db9
 
+# tcId = 318
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3046022100ecd42e0caddf730e79911ea0725402d3e4519e93299217cfff7f27eb06383bcb022100b9002348257e8aa55de6326e8588d1e5ac7803e912dca2b6aac1c0b6c6ce887d
 
+# tcId = 319
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3046022100dd7ff4894d875b82698e738cd6af3e06df3dfe519c63c83bda6cb780003212680221008ae21af20504ca943014f87bc06eff0c72222900e7b78e49e7107d1d27f78d7a
 
+# tcId = 320
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 304502202c4ffe7eba452ab8147fbd117091b6a6aed2c022b51a0559f45a210149827585022100f8f713031c6747382a930183f508cb5ba3dee9918623ed7b9246f7792895806f
 
+# tcId = 321
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 30450220036e58fdd99c73206d0b989e315d4e7445853b29756abd9be4988043ee575318022100bca3bdbd7b13d674a507755a1fb25d6b9ad533e6aea4c07da2b662bf64074c1f
 
+# tcId = 322
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3045022100e8967620ea0878093f914bc670e9fd49e5e1d120cd8296f67934806921edd1eb0220091fe9cc8158606b7a93a87b830d8bf892c8086bc3ccb364b885adc11c5a2f5b
 
+# tcId = 323
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 30450221008053d20f27c43e96e7cb99f0fb5ed638f391dbb8c49228bb164e3c5c7ed98df802200f8f909a360d019c8cd8cc4936c471cb0e81eec812a7815a413f015e5020a83a
 
+# tcId = 324
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 304402201a05d145760911a0d03a3f9e04183b4fa12052ab08e8e2a61cecd685abe06ccd022015a45cdddd5b271b460fd23970e3f09bd3e428c5935a141131f7bb9cdcb31ffe
 
+# tcId = 325
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c
 
+# tcId = 326
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 304502200a1ba2c8595e428eb8efe4d0d527b57a9d65a18f2adb74a8d42b079cca3ded47022100a9b1d33b3b0498f08a46b3602d216cddd909b46a4531bb0c8eda027c813701ea
 
+# tcId = 327
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3044022051a2d733ccc576739d202cac29631dd4a4c2b7bca274a88bed819b4fa74bc13a02203332485952b2bafdd23bb4bdd5b182c17d68fa989fb297e522f58267f579858b
 
+# tcId = 328
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 30450221008523fa05039757ff31734c5a97512e16d36a2b44cfeaf698bf99a3da10192ce102201a4a46d618146dbd6f8b96bde830c1cd6b3c40b3c3f076b0525327b81421703c
 
+# tcId = 329
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 30450221008b7c16aead127ff236229edf3b3d685389d833a6706f8baaf8d18c42c8e0fcb402207c007ac920eb885009bb826dacf204affc995b8b1da3088ab8233372e77bfcb9
 
+# tcId = 330
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3046022100eb05151d10844480bb1da9bbd5fadeb94653979ce6473e1eae877c04b5dc136b022100f5626ba78e4936461be857439da72310f0159c53076ed7602b802b5c79296db6
 
+# tcId = 331
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3046022100b1ef5e5b2ed946f33e3f14a755af39520397d425aa184e24c3a1ab2071bd28ad022100f06c9370a8fd969f14fe9fb10d18e593c1469e5716c7264880dd35a8589c4747
 
+# tcId = 332
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 304502206da6c71eb7d8a2435999c8f6b7a1de30f2a863a2f07a8aad4d321d52cc619679022100ab1abe0cbd07504de3fd9ac64bed3bf89fb0061e251a1b1de2925e6635d523ec
 
+# tcId = 333
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 30450220450e205ad97a14760979e1d5a24f2277c88382810b73c94ea53fa0d768ee18d1022100ba73359c371c5ff36c338bcd9761096647e0437db6a01b95df8cfa15ffc29bf4
 
+# tcId = 334
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
@@ -2221,21 +2822,25 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]
 [key.wx = 4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000]
 [key.wy = 0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685]
 [sha = SHA-256]
 
+# tcId = 335
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a
 
+# tcId = 336
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737
 
+# tcId = 337
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2244,21 +2849,25 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]
 [key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]
 [key.wy = 084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000]
 [sha = SHA-256]
 
+# tcId = 338
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd
 
+# tcId = 339
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3
 
+# tcId = 340
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2267,21 +2876,25 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]
 [key.wx = 3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935]
 [key.wy = 7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff]
 [sha = SHA-256]
 
+# tcId = 341
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519
 
+# tcId = 342
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336
 
+# tcId = 343
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
@@ -2290,21 +2903,25 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]
 [key.wx = 2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff]
 [key.wy = 0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e]
 [sha = SHA-256]
 
+# tcId = 344
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929
 
+# tcId = 345
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5
 
+# tcId = 346
 # x-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
@@ -2313,21 +2930,25 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]
 [key.wx = 0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5]
 [key.wy = 5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73]
 [sha = SHA-256]
 
+# tcId = 347
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41
 
+# tcId = 348
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba
 
+# tcId = 349
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2336,21 +2957,25 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]
 [key.wx = 3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e]
 [key.wy = 1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71]
 [sha = SHA-256]
 
+# tcId = 350
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3
 
+# tcId = 351
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a
 
+# tcId = 352
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2359,21 +2984,25 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]
 [key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]
 [key.wy = 1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2]
 [sha = SHA-256]
 
+# tcId = 353
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff
 
+# tcId = 354
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0
 
+# tcId = 355
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2382,21 +3011,25 @@
 [key.curve = secp256r1]
 [key.keySize = 256]
 [key.type = ECPublicKey]
+[key.uncompressed = 04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]
 [key.wx = 0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015]
 [key.wy = 0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]
 [keyDer = 3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d]
 [sha = SHA-256]
 
+# tcId = 356
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224
 
+# tcId = 357
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469
 
+# tcId = 358
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
diff --git a/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.json
new file mode 100644
index 0000000..401d95b
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp256r1_sha512_test.json
@@ -0,0 +1,4294 @@
+{
+  "algorithm" : "ECDSA",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
+    "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
+    "MissingZero" : "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.",
+    "PointDuplication" : "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."
+  },
+  "numberOfTests" : 358,
+  "header" : [],
+  "testGroups" : [
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
+        "wx" : "2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838",
+        "wy" : "0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "signature malleability",
+          "msg" : "313233343030",
+          "sig" : "304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63a5be977ad714cea16b10035f07cadf7513ae8cca86f35b7692aafd69f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "304402206690eb2d54e34ed95b349a6653637f91d506199c1fa257a659d529d393b81cf702207983ef184510c101246239c8a90eefe4e8201a3221b7b3ebc8e6291ba9914c13",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "3045022100f39b534198dd70fee930092d5be9065123838a2214fd5eeca516405693aa946f02204f06c3511bc74ee0ecf7ee301d6d9cd5a581729ab59dbfba083fcbe287722492",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "3045022044cf4e1333ada29443fceb23914823df2af559259587edc95f9fc96de3953c25022100eac2b60a4d29446abf6eca751c0648c6c24db8b54783bbb008a20e9ffdc6eae8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "3046022100ae072bb35658282bc7c705241010ceeb869f8d66f18e7460ac59d4ecf1c4f075022100c2122d60a79c3fe0dc975496d38ceb23e8cfce56e01e467603e8542d487c4178",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "random signature",
+          "msg" : "313233343030",
+          "sig" : "3044022068d0b55d0470c77f327ed5c8b76b45c5f8504946c337d5011ff179014cdcd659022012acc83ec3cfbda6af5155dab5941ebb85c1cca67b397bdf0224e38f9e30358e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "Legacy:ASN encoding of s misses leading 0",
+          "msg" : "313233343030",
+          "sig" : "304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingZero"
+          ]
+        },
+        {
+          "tcId" : 8,
+          "comment" : "valid",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "30814502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "30460281202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002812100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 12,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "3082004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 13,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "3047028200202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00282002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 15,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304502212478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "3045021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022200a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3085010000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "304a028501000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285010000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "308901000000000000004502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "304e02890100000000000000202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "304e02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028901000000000000002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "30847fffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "304902847fffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002847fffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "3084ffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "30490284ffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00284ffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "3085ffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "304a0285ffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00285ffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "3088ffffffffffffffff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "304d0288ffffffffffffffff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00288ffffffffffffffff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "30ff02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "304502ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "304502802478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0028000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "3047000002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304a498177304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "30492500304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304a222549817702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "30492224250002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304d222202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00004deadbeef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304a02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02226498177022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022252500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02223022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304daa00bb00cd00304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304baa02aabb304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304d2228aa00bb00cd0002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304b2226aa02aabb02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304d02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02229aa00bb00cd00022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "304b02202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02227aa02aabb022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "3080304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "3049228002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3080314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3049228003202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c02280032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2e4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2f4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "314502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "324502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "ff4502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "30493001023044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "3044202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 84,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb200",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb205000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "308002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "3047300002202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb23000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "3047304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "302202202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "306802202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "removing integer",
+          "msg" : "313233343030",
+          "sig" : "3023022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302402022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302302202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "appending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "appending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "prepending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "3047022200002478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 100,
+          "comment" : "prepending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00223000000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00000022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304702222478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304702202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022300a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb20500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30250281022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "Replacing integer with NULL",
+          "msg" : "313233343030",
+          "sig" : "30250500022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "Replacing integer with NULL",
+          "msg" : "313233343030",
+          "sig" : "302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304500202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304501202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304503202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304504202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045ff202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0002100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0012100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0032100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0042100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0ff2100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "dropping value of integer",
+          "msg" : "313233343030",
+          "sig" : "30250200022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "dropping value of integer",
+          "msg" : "313233343030",
+          "sig" : "302402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00200",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "30492224020124021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "304902202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c022250201000220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "modify first byte of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202678f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "modify first byte of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022102a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "modify last byte of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f98140022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "modify last byte of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e32",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "3044021f2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "3044021f78f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022000a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "truncate integer",
+          "msg" : "313233343030",
+          "sig" : "304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "leading ff in integer",
+          "msg" : "313233343030",
+          "sig" : "30460221ff2478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "leading ff in integer",
+          "msg" : "313233343030",
+          "sig" : "304602202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00222ff00a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "infinity",
+          "msg" : "313233343030",
+          "sig" : "3026090180022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "infinity",
+          "msg" : "313233343030",
+          "sig" : "302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0090180",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "replacing integer with zero",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "replacing integer with zero",
+          "msg" : "313233343030",
+          "sig" : "302502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0020100",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221012478f1cf49f6d858ac900a7af177222661ac95e206d32ee63020beee955ca711022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221ff2478f1d149f6d856ac900a7af1772226e7dea086b8a3f1dc48ad29689c965c6f022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30450220db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3046022100db870e2eb60927a9536ff5850e88ddd918215f79475c0e23b752d6976369a391022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221fedb870e30b60927a7536ff5850e88ddd99e536a1df92cd119cfdf41116aa358ef022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30460221012478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3046022100db870e2fb60927a8536ff5850e88ddd95b3a64cba0446f9ec3990bd467067e40022100a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c3a41688548eb315e94effca0efd1ffe0a13467061783dde1cce167403",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00220a07a59c5a41688528eb315e94effca0f835208aec517335790ca4896d5502961",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221ff5f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c00221fe5f85a63c5be977ab714cea16b10035f102e001f5ecb98f9e87c221e331e98bfd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304502202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c0022101a07a59c4a41688538eb315e94effca0f4039035c6c2ed1dc84841359d1b34eb2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "304402202478f1d049f6d857ac900a7af1772226a4c59b345fbb90613c66f42b98f981c002205f85a63b5be977ac714cea16b10035f0bfc6fca393d12e237b7beca62e4cb14e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020100020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 150,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020100020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 151,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201000201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 152,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 153,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 154,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 155,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 156,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 157,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3008020100090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 158,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 159,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020101020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 160,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201010201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 161,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 162,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 163,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 165,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 166,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3008020101090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 167,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 168,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 169,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30060201ff0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 170,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 171,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 172,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 173,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 174,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 175,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30080201ff090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 176,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 177,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 178,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 179,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 180,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 181,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 182,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 183,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 184,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 185,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 186,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 187,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 188,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 189,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 190,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 191,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 192,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 193,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 194,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 195,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 196,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 197,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 199,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 200,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 201,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 202,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 203,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 204,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 205,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 206,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 207,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 208,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 209,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 210,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 211,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 212,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 221,
+          "comment" : "Edge case for Shamir multiplication",
+          "msg" : "3932323038",
+          "sig" : "3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02203c623e7f7598376825fa8bc09e727c75794cbb4ee8716ae15c31cd1cbe9ca3ee",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116",
+        "wx" : "0b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a05734",
+        "wy" : "31760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b6e08b1bcc89e7fb0b84d7497e310553495be4877eccc4b3d6d79f7c68a0573431760fa1bcea4972759174ac1103bc6011985ccee251918d0573fbcb78969116",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEtuCLG8yJ5/sLhNdJfjEFU0lb5Id+\nzMSz1teffGigVzQxdg+hvOpJcnWRdKwRA7xgEZhczuJRkY0Fc/vLeJaRFg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 222,
+          "comment" : "k*G has a large x-coordinate",
+          "msg" : "313233343030",
+          "sig" : "303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "r too large",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8",
+        "wx" : "3590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb6",
+        "wy" : "15fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043590c6a10353d669bc94d8e2ff9e14bbeed4a7f45b887255ab7e37b676387bb615fc6f97ce39a3874c2b34cc571889abfa0a706c2cfb0e5a4750cc25690696f8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENZDGoQNT1mm8lNji/54Uu+7Up/Rb\niHJVq343tnY4e7YV/G+Xzjmjh0wrNMxXGImr+gpwbCz7DlpHUMwlaQaW+A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 224,
+          "comment" : "r,s are large",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb",
+        "wx" : "369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650a",
+        "wy" : "0a723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004369e96402f2cfd1a37b3acbdecfc562862dbca944a0f12d7aaacb8d325d7650aa723621922be2bdac9186290fdcdda028d94437966507d93f2fc1f5c887fdedb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENp6WQC8s/Ro3s6y97PxWKGLbypRK\nDxLXqqy40yXXZQqnI2IZIr4r2skYYpD9zdoCjZRDeWZQfZPy/B9ciH/e2w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 225,
+          "comment" : "r and s^-1 have a large Hamming weight",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0427a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f",
+        "wx" : "27a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d",
+        "wy" : "32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000427a0a80ea2e1aa798ea9bcc3aedbf01ab78e49c9ec2ad0e08a0429a0e1db4d0d32a8ee7bee9d0a40014e484f34a92bd6f33fe63624ea9579657441ac79666e7f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJ6CoDqLhqnmOqbzDrtvwGreOScns\nKtDgigQpoOHbTQ0yqO577p0KQAFOSE80qSvW8z/mNiTqlXlldEGseWZufw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 226,
+          "comment" : "r and s^-1 have a large Hamming weight",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59",
+        "wx" : "09cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867",
+        "wy" : "0f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200049cff61712d4bc5b3638341e6e0a576a8098c9c6d3f198d389c4669f398dc0867f3b9e09f567f3dfd9c4d2c1163e82beadf16c76e8f9d7a64673800ea76fa1e59",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEnP9hcS1LxbNjg0Hm4KV2qAmMnG0/\nGY04nEZp85jcCGfzueCfVn89/ZxNLBFj6Cvq3xbHbo+demRnOADqdvoeWQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 227,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020105020101",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca",
+        "wx" : "0d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc",
+        "wy" : "19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d9117cae81295e82682fa387991e668e1570e0e90100bf4e63964822460561bc19f96b1787ed15769929978ba3dd7f68c97adf5c16f671e756cd8f08c49456ca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2RF8roEpXoJoL6OHmR5mjhVw4OkB\nAL9OY5ZIIkYFYbwZ+WsXh+0Vdpkpl4uj3X9oyXrfXBb2cedWzY8IxJRWyg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 228,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020105020103",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde",
+        "wx" : "08cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21e",
+        "wy" : "0afb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048cfcbad3524c22b992529f943e3ce0b2d126085501d6e3edd4f1dbf74bdca21eafb259b1ba179cac09e8e43a88c8a09e7339910a7c941932e44b8be56f1fccde",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEjPy601JMIrmSUp+UPjzgstEmCFUB\n1uPt1PHb90vcoh6vslmxuhecrAno5DqIyKCeczmRCnyUGTLkS4vlbx/M3g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 229,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020105020105",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c",
+        "wx" : "0fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc1117",
+        "wy" : "09abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fbb51127e1f1b6a38e9fe9a2544614edb8e43ad7cd8c56f14b3235dda3bc11179abd9753a9e647e9340c395fb2b91384d6d33fcb6456214350b6f3fa00f4364c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+7URJ+HxtqOOn+miVEYU7bjkOtfN\njFbxSzI13aO8EReavZdTqeZH6TQMOV+yuROE1tM/y2RWIUNQtvP6APQ2TA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 230,
+          "comment" : "small r and s",
+          "msg" : "313233343030",
+          "sig" : "3006020105020106",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 231,
+          "comment" : "r is larger than n",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf",
+        "wx" : "0dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994",
+        "wy" : "0dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dc80905500d7d74ed47de5224d8734545f22b776ae086cabfffe6ce58d5ef994dc3067ce7d2cdfa9f4d5ace296b752814acc69c19a932d8b14077927901de3bf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3ICQVQDX107UfeUiTYc0VF8it3au\nCGyr//5s5Y1e+ZTcMGfOfSzfqfTVrOKWt1KBSsxpwZqTLYsUB3knkB3jvw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 232,
+          "comment" : "s is larger than n",
+          "msg" : "313233343030",
+          "sig" : "3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb",
+        "wx" : "1b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920e",
+        "wy" : "0e900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041b824a11eed94fbcd9b722d06613bbcf7eca00b9136f2652642178f37b1a920ee900de495d9ef56fa6d19f3dd1e0edb23d23835ac8c2d3d13c0227e852e503eb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEG4JKEe7ZT7zZtyLQZhO7z37KALkT\nbyZSZCF483sakg7pAN5JXZ71b6bRnz3R4O2yPSODWsjC09E8AifoUuUD6w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 233,
+          "comment" : "small r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136",
+        "wx" : "2914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d",
+        "wy" : "3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042914b30c4c784696ffc3dddcec05f36cb1488bc342b9f529d5387acb9e48cb8d3dbd30d0d5d6d6a39108863c2d6a6e8571cd3261fb9eb98ce46125bd8f139136",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKRSzDEx4Rpb/w93c7AXzbLFIi8NC\nufUp1Th6y55Iy409vTDQ1dbWo5EIhjwtam6Fcc0yYfueuYzkYSW9jxORNg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 234,
+          "comment" : "smallish r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f",
+        "wx" : "2579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da41",
+        "wy" : "5528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042579f546fe2f2aeb5f822feb28f2f8371618d04815455a7e903c10024a17da415528e951147f76bee1314e65a49c6ec70686e62d38fbc23472f96e3d3b33fd1f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJXn1Rv4vKutfgi/rKPL4NxYY0EgV\nRVp+kDwQAkoX2kFVKOlRFH92vuExTmWknG7HBobmLTj7wjRy+W49OzP9Hw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 235,
+          "comment" : "100-bit r and small s^-1",
+          "msg" : "313233343030",
+          "sig" : "3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5",
+        "wx" : "0b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992",
+        "wy" : "0f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b102196bf455ee5aafc6f895504d3c3b6b2d37c35f8669bd0f0b694795fbd992f777b6f829b9628ac35db0ef43f6a89f0a42812614e4c15924d8d47ebe45bae5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsQIZa/RV7lqvxviVUE08O2stN8Nf\nhmm9DwtpR5X72ZL3d7b4KbliisNdsO9D9qifCkKBJhTkwVkk2NR+vkW65Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 236,
+          "comment" : "small r and 100 bit s^-1",
+          "msg" : "313233343030",
+          "sig" : "302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91",
+        "wx" : "4d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749",
+        "wy" : "0fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044d056ab2ff57662fd6eebbe23930fef5cd08083e24146190cd01960b1fcd3749fe7ec5847651c857898be0f09efd6e0116a5dbe327f6f3080a65fc966bf64d91",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETQVqsv9XZi/W7rviOTD+9c0ICD4k\nFGGQzQGWCx/NN0n+fsWEdlHIV4mL4PCe/W4BFqXb4yf28wgKZfyWa/ZNkQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 237,
+          "comment" : "100-bit r and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c",
+        "wx" : "361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab222058",
+        "wy" : "4f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004361c4a62cd867613138dfe24ccebc4b7df1b55fc7410f4995ee2b6b9ab2220584f116c6c84e53d262fd13a5f5de6b57e7a1981de4ecdffdf3323b4e91d80649c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENhxKYs2GdhMTjf4kzOvEt98bVfx0\nEPSZXuK2uasiIFhPEWxshOU9Ji/ROl9d5rV+ehmB3k7N/98zI7TpHYBknA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 238,
+          "comment" : "r and s^-1 are close to n",
+          "msg" : "313233343030",
+          "sig" : "3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667",
+        "wx" : "0db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad",
+        "wy" : "1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db9d5c5113f00822a146c9cda2e75cb6634cd0dff54aff6e22875171f57a0dad1c424cdd83eb01c02f6f8d36f42c6dc7e39db74358da8ac9bc9dc5890d46f667",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE251cURPwCCKhRsnNoudctmNM0N/1\nSv9uIodRcfV6Da0cQkzdg+sBwC9vjTb0LG3H4523Q1jaism8ncWJDUb2Zw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 239,
+          "comment" : "s == 1",
+          "msg" : "313233343030",
+          "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 240,
+          "comment" : "s == 0",
+          "msg" : "313233343030",
+          "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a",
+        "wx" : "099f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea412",
+        "wy" : "086a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000499f19f07b33e03caf4703e04b930d57d6d9baa44460c596a2d3064e0b63ea41286a74c4612a812ee348d2b43f80de627c11c75d81511e22a199c32119b792c6a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEmfGfB7M+A8r0cD4EuTDVfW2bqkRG\nDFlqLTBk4LY+pBKGp0xGEqgS7jSNK0P4DeYnwRx12BUR4ioZnDIRm3ksag==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 241,
+          "comment" : "point at infinity during verify",
+          "msg" : "313233343030",
+          "sig" : "304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232",
+        "wx" : "5e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df",
+        "wy" : "648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045e31eccd4704ebf7a4247ea57f9351abadff63679f2276e2a3b05009ebc1b8df648465a925010db823b2a5f3a6072343a6cc9961a9c482399d0d82051c2e3232",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXjHszUcE6/ekJH6lf5NRq63/Y2ef\nInbio7BQCevBuN9khGWpJQENuCOypfOmByNDpsyZYanEgjmdDYIFHC4yMg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 242,
+          "comment" : "u1 == 1",
+          "msg" : "313233343030",
+          "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9",
+        "wx" : "0ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a",
+        "wy" : "085b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ce0a47f881fd7315a733c4317848fa33c72e38de0b8fda36b61aa9a164f5808a85b05d25115ea4097ddf63f878c8e83657e66de136a8f9e62ed81a58bf117ff9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzgpH+IH9cxWnM8QxeEj6M8cuON4L\nj9o2thqpoWT1gIqFsF0lEV6kCX3fY/h4yOg2V+Zt4Tao+eYu2BpYvxF/+Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 243,
+          "comment" : "u1 == n - 1",
+          "msg" : "313233343030",
+          "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60",
+        "wx" : "0cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941",
+        "wy" : "0b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004cd6f487b47f36c0dea8f4b04c4e6ac637c76b725929c611f48addcf3d2f65941b50ea8f3a491190ee0b20cfb6efd113608e7c7c127577500e7f5c4a4e490fd60",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzW9Ie0fzbA3qj0sExOasY3x2tyWS\nnGEfSK3c89L2WUG1DqjzpJEZDuCyDPtu/RE2COfHwSdXdQDn9cSk5JD9YA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 244,
+          "comment" : "u2 == 1",
+          "msg" : "313233343030",
+          "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e",
+        "wx" : "456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d",
+        "wy" : "720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004456e5f8067d68a1b0a2e8fe2b28acad5755687154a0f167734ebabbdc059070d720dbe96659a66ef0cf27a73e7b3f3f145a60e0ad29f1e21dcc2bb42f0d82c1e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAERW5fgGfWihsKLo/isorK1XVWhxVK\nDxZ3NOurvcBZBw1yDb6WZZpm7wzyenPns/PxRaYOCtKfHiHcwrtC8NgsHg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 245,
+          "comment" : "u2 == n - 1",
+          "msg" : "313233343030",
+          "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb",
+        "wx" : "42bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc",
+        "wy" : "5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000442bf0c0ac1e3850baf5515748a878e34249f71035e20a9f54ed468ec273cb0fc5b3138500230055c71f12d53f5c7d0e3d8aa54a94c668cb311e20d195fc71abb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQr8MCsHjhQuvVRV0ioeONCSfcQNe\nIKn1TtRo7Cc8sPxbMThQAjAFXHHxLVP1x9Dj2KpUqUxmjLMR4g0ZX8cauw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 246,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206bfd55a8f8fdb68472e52873ef39ac3eace6d53df576f0ad2da4607bb52c0d46",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54",
+        "wx" : "0ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2",
+        "wy" : "0b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ffdd48da63d3af67223f16c51eb7e95600eb0b0e8b964f4fcd8c534face3c2c2b4e009ab2a76829480e69c9e43b2f1fe076cfafb3fa8d27dd4d6bab4d6c3db54",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE/91I2mPTr2ciPxbFHrfpVgDrCw6L\nlk9PzYxTT6zjwsK04AmrKnaClIDmnJ5DsvH+B2z6+z+o0n3U1rq01sPbVA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 247,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220654937791db0686f712ff9b453eeadb0026c9b058bba49199ca3e8fac03c094f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6",
+        "wx" : "793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c",
+        "wy" : "483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004793cbfce6f335dcfede7c6898ea1c537d7661ed6a8c9d308d64a2560d21c6e2c483d23a5ff05da00eaf9d52cf5362be9b53b95316c6a32e9ebe68d9ac35c2fd6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeTy/zm8zXc/t58aJjqHFN9dmHtao\nydMI1kolYNIcbixIPSOl/wXaAOr51Sz1NivptTuVMWxqMunr5o2aw1wv1g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 248,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100c51bbee23a95437abe5c978f8fe596a31c858ac8d55be9786aa5d36a5ac74e97",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b",
+        "wx" : "0a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac",
+        "wy" : "6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a9f7023f559d4bb6c9f4bc3643e2824aff5451d929479ec3ea5eb30bad2c36ac6a7c77e8dd21f4ad49b103e67da9d3cda62b653dd194fad2ba8d1dd37bb0ea9b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqfcCP1WdS7bJ9Lw2Q+KCSv9UUdkp\nR57D6l6zC60sNqxqfHfo3SH0rUmxA+Z9qdPNpitlPdGU+tK6jR3Te7Dqmw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 249,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ba4c3da7154ba564ab344ae12005aa482b6c1639ea191f8568afb6e47163c45",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16",
+        "wx" : "0df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ff",
+        "wy" : "0aa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004df79ee082b2fc77e9ce4633471f569bbcb5ce53856e3067774f37e8a64a2c7ffaa488a6c34d499df76f427de3609bfcfd9feae67ffe0b0de594463c453b0ab16",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE33nuCCsvx36c5GM0cfVpu8tc5ThW\n4wZ3dPN+imSix/+qSIpsNNSZ33b0J942Cb/P2f6uZ//gsN5ZRGPEU7CrFg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 250,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02204c3dafcf4ba55bf1344ae12005aa4a74f46eaa85f5023131cc637ae2ea90ab26",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2",
+        "wx" : "4cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0",
+        "wy" : "123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044cc3bf65e32e00284adfca00f40df755415c485091ac0489ae9a337103a5f8f0123ab86dd433b933b4f2063c002144df3cfeba78dad0ed89c0377541532908c2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETMO/ZeMuAChK38oA9A33VUFcSFCR\nrASJrpozcQOl+PASOrht1DO5M7TyBjwAIUTfPP66eNrQ7YnAN3VBUykIwg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 251,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100987b5f9e974ab7e26895c2400b5494e9e8dd550bea04626398c6f5c5d521564c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041",
+        "wx" : "264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f0",
+        "wy" : "67268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004264a7ad439a4828a9dc97ecf837155355f99ae0b65975f851b541ad3a0e032f067268b7298c73e581866fbcbd161689b16b81cf262e007ce68e25a28c83ef041",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJkp61DmkgoqdyX7Pg3FVNV+Zrgtl\nl1+FG1Qa06DgMvBnJotymMc+WBhm+8vRYWibFrgc8mLgB85o4looyD7wQQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 252,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100fcf97e2fbf0e80d412005aa4a75086a3f004f59d512cb47271798733ab418606",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569",
+        "wx" : "1d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f",
+        "wy" : "56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041d7ff4d3a41206c8143635f12876e0ea0875ea5e4a5a249250d0eda33daa211f56e89c0beaf910ac934ca12380455600d0fd85b56a7035cb171b3f1c72a15569",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHX/006QSBsgUNjXxKHbg6gh16l5K\nWiSSUNDtoz2qIR9W6JwL6vkQrJNMoSOARVYA0P2FtWpwNcsXGz8ccqFVaQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 253,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022079d482b60864d6c5cb4fd5db9e7e28ccd9a5948c316c8740fb429c0f37169a02",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473",
+        "wx" : "0b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f11",
+        "wy" : "7fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b09685f338dceb421778a1458d52bed734c236242da2baa280d6f6b7b86e4f117fe6a34146b422d7aebd1a51b20948d7872a514c4cfd7686dc436b70733d6473",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsJaF8zjc60IXeKFFjVK+1zTCNiQt\norqigNb2t7huTxF/5qNBRrQi1669GlGyCUjXhypRTEz9dobcQ2twcz1kcw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 254,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ecd11081a4d0759c14f7bf46813d52cc6738115321be0a4da78a3356bb71510",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899",
+        "wx" : "0dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b4",
+        "wy" : "43a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004dd811f2c0f5e9d4fbb2ef31818c1cd807247bc14fcd1170bef00e2c71dc037b443a15cdf8f3fbdc87e06250c0720d261d2b8d087fa7bf9548f6293f0ce5ae899",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE3YEfLA9enU+7LvMYGMHNgHJHvBT8\n0RcL7wDixx3AN7RDoVzfjz+9yH4GJQwHINJh0rjQh/p7+VSPYpPwzlromQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 255,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e8dbffed13c9a2093085c079714f11f24eb583d73ba2b416b3169183e7d9b4c2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e",
+        "wx" : "69d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db",
+        "wy" : "32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000469d60ae1f39e1da95809d408894707ad2134f4943a1db089bebf815a391f18db32b401d98bf894d3b6d59e6eb45573285642e358ad687b7d7bf9600b1987809e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEadYK4fOeHalYCdQIiUcHrSE09JQ6\nHbCJvr+BWjkfGNsytAHZi/iU07bVnm60VXMoVkLjWK1oe317+WALGYeAng==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 256,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca01552a838124bec68d6bc6086329e06673900eac5c262e5ce79a8521cd1eae",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577",
+        "wx" : "0a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f",
+        "wy" : "79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a658553a0620c95e987b5c3163bcfea68c52065f53c9d553f2a924d8b3ed511f79f0dfec4536b65aa5fb31297e96f6b464aa669b9268b3156c43d4612978a577",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEplhVOgYgyV6Ye1wxY7z+poxSBl9T\nydVT8qkk2LPtUR958N/sRTa2WqX7MSl+lva0ZKpmm5JosxVsQ9RhKXildw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 257,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221009402aa560702497c8d1ad78c10c653c11000256fb1a0add7c6156a474737180b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca",
+        "wx" : "0bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b9",
+        "wy" : "2450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bc4d3354a6a973dd8088919cc181194e879ed7920db30d0d1278edf74413b7b92450d162b26dcb25fbbd53ea4044189981d737055925bd2e86bfb0374b09f3ca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvE0zVKapc92AiJGcwYEZToee15IN\nsw0NEnjt90QTt7kkUNFism3LJfu9U+pARBiZgdc3BVklvS6Gv7A3Swnzyg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 258,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205e03ff818a836e3a53a8435219297da1b98cbad0b6e535812f433a096ca11168",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f",
+        "wx" : "0eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5a",
+        "wy" : "0ed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040eb628724fce764c687d874ade7b8e0aa4abf20ee6e3610fac9fe3e72f97ab5aed09f4843660eb1daf015d397a7c1073d7ae43bda0ba3e117008785abfffa00f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDrYock/OdkxofYdK3nuOCqSr8g7m\n42EPrJ/j5y+Xq1rtCfSENmDrHa8BXTl6fBBz165DvaC6PhFwCHhav/+gDw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 259,
+          "comment" : "edge case for u1",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e28ddf709d4aa1bddf2e4bc7c7f2cb516cb642bb3e39c3feaf2fcf16ab9539f4",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2",
+        "wx" : "0e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a7",
+        "wy" : "7b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e7ac5cc7f296912f703f59fe88e49b521da245e12e6eee161ee6b3b1127611a77b3bedd2a773cf58b0629b936dd85dad2d0c39676306ed63e1a9bcd0e08bccc2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE56xcx/KWkS9wP1n+iOSbUh2iReEu\nbu4WHuazsRJ2Ead7O+3Sp3PPWLBim5Nt2F2tLQw5Z2MG7WPhqbzQ4IvMwg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 260,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f",
+        "wx" : "2407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062",
+        "wy" : "0fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042407b60abf3ee5edaf92ed505a11d0ddce0ea33eca58a031bb2f162c512f4062fb81bff36bf967e834e3d5d468730dcd70440022ab60061a62fac53350fe259f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJAe2Cr8+5e2vku1QWhHQ3c4Ooz7K\nWKAxuy8WLFEvQGL7gb/za/ln6DTj1dRocw3NcEQAIqtgBhpi+sUzUP4lnw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 261,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59",
+        "wx" : "47b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0b",
+        "wy" : "0df2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000447b2ad96dfc2f23fe5926809f38042b2c801962bd7394cefbf4aacb2554b7b0bdf2b937a16a7d96a2a0682cd164428890208597f2cdcc734fda73600b5cf6c59",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER7Ktlt/C8j/lkmgJ84BCssgBlivX\nOUzvv0qsslVLewvfK5N6FqfZaioGgs0WRCiJAghZfyzcxzT9pzYAtc9sWQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 262,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a",
+        "wx" : "69a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498",
+        "wy" : "0cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000469a65b75f31ae7b4930292f90902461befcee5d1606939c28e01b652a7fbc498cf68619e5860128f56cecf53eba2ffe82889a9bb04a5fa4c8b722bc91d55978a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaaZbdfMa57STApL5CQJGG+/O5dFg\naTnCjgG2Uqf7xJjPaGGeWGASj1bOz1Prov/oKImpuwSl+kyLcivJHVWXig==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 263,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe",
+        "wx" : "0b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb",
+        "wy" : "09361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b2037176c84db04a6c773e32f9ed1d6b25ef4c303c6725c6932ec2cc2788bcbb9361505e6b771691adb41598f292d6521722404bf183241b195738b77abd6cfe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsgNxdshNsEpsdz4y+e0dayXvTDA8\nZyXGky7CzCeIvLuTYVBea3cWka20FZjyktZSFyJAS/GDJBsZVzi3er1s/g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 264,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f",
+        "wx" : "1eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834",
+        "wy" : "0c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041eef95aef71f793afd50bb2604064d63e88bef7404a4d0e206446245ae2e7834c96e86dd040f9794b63712d90e719576b8b92c406ab0f288ad9b327bd124454f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHu+VrvcfeTr9ULsmBAZNY+iL73QE\npNDiBkRiRa4ueDTJbobdBA+XlLY3EtkOcZV2uLksQGqw8oitmzJ70SRFTw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 265,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793",
+        "wx" : "0a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab10756",
+        "wy" : "7667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a9734899c954e5b7adbca8f783428b5fbcbdfd3d2813f8d2f95b31a78ab107567667abf8c02ce4951bc59b2564130c27d7b64cdbc5cad95ca42d5bbb7cd4e793",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqXNImclU5betvKj3g0KLX7y9/T0o\nE/jS+Vsxp4qxB1Z2Z6v4wCzklRvFmyVkEwwn17ZM28XK2VykLVu7fNTnkw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 266,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e",
+        "wx" : "1ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396",
+        "wy" : "434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041ae51662331a1dbfab0751d30dfab2273a04a239e055a537b16ab595f9612396434f21c2bfe6555c9fc4a8e82dab1fa5631881b016e0831d9e1bbf5799fcf32e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEGuUWYjMaHb+rB1HTDfqyJzoEojng\nVaU3sWq1lflhI5ZDTyHCv+ZVXJ/EqOgtqx+lYxiBsBbggx2eG79XmfzzLg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 267,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3",
+        "wx" : "53c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c1",
+        "wy" : "4603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000453c90cdd8b0dadd21c44ad557b327f4dbf57144aaf06597deb3f94125206a6c14603475bd79b30e36340cd09b0b59e6cd46ce90150e9ffe5c8a0172b2c9898e3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEU8kM3YsNrdIcRK1VezJ/Tb9XFEqv\nBll96z+UElIGpsFGA0db15sw42NAzQmwtZ5s1GzpAVDp/+XIoBcrLJiY4w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 268,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410",
+        "wx" : "33797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74e",
+        "wy" : "0ba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000433797539515c51f429967b8e36930d9fdda1edb13aecec9771f7cde5f6f2e74eba51d0b6456bb902dba1f3ea436f96ad2355da454dc9b32c503c4bc6cfd6d410",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEM3l1OVFcUfQplnuONpMNn92h7bE6\n7OyXcffN5fby5066UdC2RWu5Atuh8+pDb5atI1XaRU3JsyxQPEvGz9bUEA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 269,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648",
+        "wx" : "0a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3",
+        "wy" : "0eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040a8f5f1d5bbd2783fa7f37c86879057fb2fcf25383aafb86d03d6bafb41a17b3eaf6da715fe950349fd5736117b08e15e32cf1d2fdc003e510009f1b4ba1e648",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECo9fHVu9J4P6fzfIaHkFf7L88lOD\nqvuG0D1rr7QaF7Pq9tpxX+lQNJ/Vc2EXsI4V4yzx0v3AA+UQAJ8bS6HmSA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 270,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c",
+        "wx" : "1dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a",
+        "wy" : "65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041dbc94e96c056b9d2cb6773bb24b69ed473851badf927a29955aff290ef3675a65e587561122aa8226facb95df08308cadf01c8351a1569176d917821113aa7c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHbyU6WwFa50stnc7sktp7Uc4Ubrf\nknoplVr/KQ7zZ1pl5YdWESKqgib6y5XfCDCMrfAcg1GhVpF22ReCEROqfA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 271,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51",
+        "wx" : "084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e9",
+        "wy" : "091c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004084ab885dbff7f12e6cdadb59d456e500797779425c7518c259c83718289e6e991c345d3a093e86670605bbc2ff4c69d0ed694fd433ec6b6ba1bf7d56c3e6b51",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECEq4hdv/fxLmza21nUVuUAeXd5Ql\nx1GMJZyDcYKJ5umRw0XToJPoZnBgW7wv9MadDtaU/UM+xra6G/fVbD5rUQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 272,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a",
+        "wx" : "3adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f50",
+        "wy" : "09430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004003adfa4c620a207096cd18ee8fd2a90e20106cf824a0c63d6dec727a9fe7f509430d26bdd5f71e819d12b70069901461ae083cc809122d4fb86b5c475244e5a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEADrfpMYgogcJbNGO6P0qkOIBBs+C\nSgxj1t7HJ6n+f1CUMNJr3V9x6BnRK3AGmQFGGuCDzICRItT7hrXEdSROWg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "edge case for u2",
+          "msg" : "313233343030",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4",
+        "wx" : "7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884",
+        "wy" : "08d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c58848d5ca99b350bd7d10ab5ee6fcfe46623fdc03e9f828158f4d4cc08ad1ff83de4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfJiy1H60M8DRjlM8+8iQnWb3t51Z\nJcyxfszsnRBcWISNXKmbNQvX0Qq17m/P5GYj/cA+n4KBWPTUzAitH/g95A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 274,
+          "comment" : "point duplication during verification",
+          "msg" : "313233343030",
+          "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746",
+          "result" : "valid",
+          "flags" : [
+            "PointDuplication"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b",
+        "wx" : "7c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c5884",
+        "wy" : "72a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047c98b2d47eb433c0d18e533cfbc8909d66f7b79d5925ccb17eccec9d105c588472a35663caf4282ff54a1190301b99dc023fc1617d7ea70b2b33f752e007c21b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfJiy1H60M8DRjlM8+8iQnWb3t51Z\nJcyxfszsnRBcWIRyo1ZjyvQoL/VKEZAwG5ncAj/BYX1+pwsrM/dS4AfCGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "duplication bug",
+          "msg" : "313233343030",
+          "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100b4cfa1996ec1d24cdbc8fa17fcabc3a5d4b2b36cf4b50a7b775ab78785710746",
+          "result" : "invalid",
+          "flags" : [
+            "PointDuplication"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67",
+        "wx" : "0b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e3",
+        "wy" : "08bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b7a90e21e7547d73267940033cea05042c50f7c9fa5eaeb471cd6260c685f2e38bb7309d0c3bab249faaf3e44179d6dd5302375c580fd0570a788c6be3680c67",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEt6kOIedUfXMmeUADPOoFBCxQ98n6\nXq60cc1iYMaF8uOLtzCdDDurJJ+q8+RBedbdUwI3XFgP0FcKeIxr42gMZw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "point with x-coordinate 0",
+          "msg" : "313233343030",
+          "sig" : "30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066",
+        "wx" : "1550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc",
+        "wy" : "09a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041550a173373b2d594374f0642cd73de06a045c09c7a4f388c731e8cd8971adfc9a3a9843583a86c0e1c62cbde67165f40a926b1028ba38aa3895e188ebbc7066",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFVChczc7LVlDdPBkLNc94GoEXAnH\npPOIxzHozYlxrfyaOphDWDqGwOHGLL3mcWX0CpJrECi6OKo4leGI67xwZg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "point with x-coordinate 0",
+          "msg" : "313233343030",
+          "sig" : "3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab",
+        "wx" : "313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef350597111",
+        "wy" : "0996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004313447778195daa1791a6530cd0697ae34bf9d8d225984394f72eef3505971110996a8fbdd1a70ecd64cb00b595afe1669bfef80d91756a62d84c1d83e0f22ab",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEMTRHd4GV2qF5GmUwzQaXrjS/nY0i\nWYQ5T3Lu81BZcREJlqj73Rpw7NZMsAtZWv4Wab/vgNkXVqYthMHYPg8iqw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "comparison with point at infinity ",
+          "msg" : "313233343030",
+          "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1",
+        "wx" : "4ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639",
+        "wy" : "0b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044ada634941476ca63c2c5803eec2f33b2d17920f798a5be6275f5a54cd2e7639b1a04bead5c7314c427492db21b9544d81caa8159587e41aa023aa967f31aaa1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEStpjSUFHbKY8LFgD7sLzOy0Xkg95\nilvmJ19aVM0udjmxoEvq1ccxTEJ0ktshuVRNgcqoFZWH5BqgI6qWfzGqoQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and edgecase s",
+          "msg" : "313233343030",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1",
+        "wx" : "0aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a3119",
+        "wy" : "3bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004aacce093270fa59ad412b5459a08e490743b97086c781ac3c8d54030b41a31193bece4956172d56befb7011d684e772905e48d2115444a75ac7a325a3f25f4b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqszgkycPpZrUErVFmgjkkHQ7lwhs\neBrDyNVAMLQaMRk77OSVYXLVa++3AR1oTncpBeSNIRVESnWsejJaPyX0sQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf",
+        "wx" : "0f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0",
+        "wy" : "439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f62b8d7feeff5a847ab79212269e55e62fa87ebe930821747b57a511a5ea99f0439ee057bb27898582a683c3fdb7f95404d41d42f276803751a316eb3aab7ebf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE9iuNf+7/WoR6t5ISJp5V5i+ofr6T\nCCF0e1elEaXqmfBDnuBXuyeJhYKmg8P9t/lUBNQdQvJ2gDdRoxbrOqt+vw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33",
+        "wx" : "4baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2",
+        "wy" : "0bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044baa07ff6e7bb9aa223d1c61932005fe98fe78b787fdab4bd3619bc8833072a2bcacd63802c56af82607953e72a0f5d3c23bd265544e020951824ea485555d33",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAES6oH/257uaoiPRxhkyAF/pj+eLeH\n/atL02GbyIMwcqK8rNY4AsVq+CYHlT5yoPXTwjvSZVROAglRgk6khVVdMw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a",
+        "wx" : "0c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2d",
+        "wy" : "0b568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040c753ed1ba92f766800fdd0ae1c0d7f8f4cd8305fd803d8bca881397b5937e2db568509b1faf3cf251de6db9810e8b8caed235da10eeddbed62775c8e5c9460a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDHU+0bqS92aAD90K4cDX+PTNgwX9\ngD2LyogTl7WTfi21aFCbH6888lHebbmBDouMrtI12hDu3b7WJ3XI5clGCg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c",
+        "wx" : "30fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df69",
+        "wy" : "5ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004030fdcae6541f22c5bab254e4f1a285c507d1cefea03bf90cf19daf3cb62df695ff2c94d588f2c2b2b0a12bebc011bcee4fa1b54506ec07d0a29d24a0891193c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAw/crmVB8ixbqyVOTxooXFB9HO/q\nA7+Qzxna88ti32lf8slNWI8sKysKEr68ARvO5PobVFBuwH0KKdJKCJEZPA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 284,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44",
+        "wx" : "3fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdc",
+        "wy" : "0ae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000403fc621eaf90c23d8f9fa125d2c59b8728ebccb30ca3e3db879a06ca90f20cdcae58d3f0c6aef0e805be10ea54e23cf6f0397f9addddc2b09088855316b0ef44",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEA/xiHq+Qwj2Pn6El0sWbhyjrzLMM\no+Pbh5oGypDyDNyuWNPwxq7w6AW+EOpU4jz28Dl/mt3dwrCQiIVTFrDvRA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 285,
+          "comment" : "extreme value for k and edgecase s",
+          "msg" : "313233343030",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7",
+        "wx" : "70f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4c",
+        "wy" : "0d42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000470f2ce24dc62923bb09cc92d74329bbd0d2e6b0e354c0be2383d24acdccb9e4cd42d1f973466f5e5462a939084a294ebfc7a45629c70ee5def46de9536ea7bf7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEcPLOJNxikjuwnMktdDKbvQ0uaw41\nTAviOD0krNzLnkzULR+XNGb15UYqk5CEopTr/HpFYpxw7l3vRt6VNup79w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 286,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d",
+        "wx" : "732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c",
+        "wy" : "0858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004732b8ac0c30fe44307431235271cb5d6e5f677a19ce3f058b939a7bf19349d3c858cc735af8577468275847cf5ec19972e6c20738276e2708b23c595bfc4433d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEcyuKwMMP5EMHQxI1Jxy11uX2d6Gc\n4/BYuTmnvxk0nTyFjMc1r4V3RoJ1hHz17BmXLmwgc4J24nCLI8WVv8RDPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 287,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398",
+        "wx" : "47aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce",
+        "wy" : "09199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000447aff9501825a166782bb58a5b459006eacdbce5e5323addad34ec1b6444cdce9199c31502ad4277c73ddd0c807b72634c45762404837d9814a5d4b5a7c3f398",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER6/5UBgloWZ4K7WKW0WQBurNvOXl\nMjrdrTTsG2REzc6RmcMVAq1Cd8c93QyAe3JjTEV2JASDfZgUpdS1p8PzmA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 288,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46",
+        "wx" : "0aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c0",
+        "wy" : "6486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004aed8eeff77644bf83b9222f8f57173fa8217ec7e0763ee7d7171fb6092fba5c06486a86d94f48834ba5adbaf349687f9cee400389642b828e68207b147ca2c46",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErtju/3dkS/g7kiL49XFz+oIX7H4H\nY+59cXH7YJL7pcBkhqhtlPSINLpa2680lof5zuQAOJZCuCjmggexR8osRg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 289,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d",
+        "wx" : "0f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7",
+        "wy" : "0c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004f7c54a585a904300d05b53ef3b854e71999a344b89adc0caaa28e254db9bc7c7c161a79f38ff446051303577e40638fb020329940a63c241bb32c2205eb57b7d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE98VKWFqQQwDQW1PvO4VOcZmaNEuJ\nrcDKqijiVNubx8fBYaefOP9EYFEwNXfkBjj7AgMplApjwkG7MsIgXrV7fQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 290,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
+        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
+        "wy" : "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 291,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 292,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
+        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
+        "wy" : "0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpawHL0cAeWAZXEYFLWD8GHp1DHMqZTOoTE0Sb+XyECuCg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 293,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "3044022043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b0232102810220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 294,
+          "comment" : "testing point duplication",
+          "msg" : "313233343030",
+          "sig" : "3045022100bc07ff031506dc74a75086a43252fb43731975a16dca6b025e867412d94222d00220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
+        "wx" : "4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5",
+        "wy" : "087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 295,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "30440220093f3825c0cf820cced816a3a67446c85606a6d529e43857643fccc11e1f705f0220769782888c63058630f97a5891c8700e82979e4f233586bfc5042fa73cb70a4e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 296,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3046022100fd5fd3d422ec38ca3515fe88de86c2cc9b61a783a08d9031d45cce7a3b539429022100921819f7121bcb6465c3a7fe576143263ec98e607db4d64fe991922cf9683962",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 297,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "304502210095bf90856e1c6b7692e8a179ec917e525039051d46d4e1d2122b3f514884053d0220710da620885ff04b19bb50c5a6402f5d964faeefc76132535d51627cdfe69c55",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 298,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "304502207fbc204e93da4cc66edea4dc689dd72fb03c7ff6feebbc068ffd26feaa99195f022100e19d0d4c9f34214c00f8c666b1a0763d7930a7cc1eb2e324df0ad4216abd8166",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 299,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3046022100ef1606b001c1d64a0f6111995a8ff65e93890a24c020dbd792386222542d59bc0221008881909b2f24e9889213f6797df58e6084a2018e8ab8244d3d6409e46bca577b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 300,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3046022100d365dc8a80b5cd9f0567eb46b6581bc78a82f196ac1ce4b83c88c6f9fd77c412022100d6ff3cca6f23d4355f81c66c19fb6f9ac7db91e8d085d52ad5c5092980a27208",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 301,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3045022100c8cbcbe388a35cb04b56b8d82c8eea6331809e7c99ff3f579818111852a50c8d022063cd1d748a770ea4a4a6bd28a6627c03b47f638f84f1a496511dd3b5e28ea106",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 302,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3045022100be2c66ff9479aec0335150f750acbc617a4a9895aadc76d0be1834d01e7cb53402206f7a6bb605da8cc97e783893acc72b5baffba5e95d1813c6d0a4c6bec1460757",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 303,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "30440220422f9554b361d5f7b1f428f68065800b7a246a37db575485b8002bcb0e50208f022021af3d932804d9b740ee04ae059ae517d5a90c36e81e1745f3215b723a6f675d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 304,
+          "comment" : "pseudorandom signature",
+          "msg" : "",
+          "sig" : "3045022100bcc96c52a39f8ee463d45dad1a92bdf72758650d2d733d2bfb5ba2116602cd9f02203c064637b2293c51a13f163afe08a3f63fc5180f795c1482632ddf1b3d8e2560",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 305,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3046022100e8564e3e515a09f9f35258442b99e162d27e10975fcb7963d3c26319dc093f84022100c3af01ed0fd0148749ca323364846c862fc6f4beb682b7ead3b2d89b9da8bad4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 306,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3045022020a45eeebbead5433807fc3337ce77509f588b503fcc44f528534bd4ab481a2a022100eb91808f4c71f365b21715bc623ac6058b81018949981362f47f7594c0c069b5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 307,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3045022100e933070fa0830e16a3ff6971d53526db0f573beb633f2e477bfa0fd7ab9a60b202203e1e89cc35b492e6444e34c5f7cc6525bc1f419f240e3c30ea9ce79c8d3ca60b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 308,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3045022100a8fd4f252cdb07edab1ba7035f09332771d34d89d6a4464e8e93cb8ecf8089940220207f849d7c704a2cc6a03b4bc99aa98f6770043036000a14b555d8f7d5177d96",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 309,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3045022100b0829d56f65214f43382c15a647fcd4f9109c66ac254ebe5cf901ab8ba0c3437022017ffe34243068bbc9e288fd2a2d046485ebeebf945ae7bc50f4726b34e30d10d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 310,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3046022100f8c34a551329482e9f2c1a4993ee31c65d8b6caa5fb782282baf7f4f10fb7ad9022100e6804ca8ad42603d876d39e80f6cbffcd098ccbb020cafef32b09fb11ff5e6db",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 311,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3046022100b214fa06ef1a13b183ce5e2907ea4c9ae03f7fdcedb7ef9dfc9dbb23f0b71959022100e58f6e5b074e1e5fa6e5a06fcc8aa0947a040ebc6734b919ed5e68f935d20c19",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 312,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "304502210095bef24a4c9965ce03057185325281e820d1dd668dadce0aaeb49bf03a7b920d02200303360a4ff36d85e28ee8a39c3ec8dbefe4d30938c9e16f37b8e4916cd9d66b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 313,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "304402206b6364852ca55706f93db1955b93e39472b15ffe09a1271629a61ae42951a20002201d02202a961e52f451c0bd511371480fb881205b28011fa57a0fab692647558f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 314,
+          "comment" : "pseudorandom signature",
+          "msg" : "4d7367",
+          "sig" : "3044022045b1ff0cfd75b94aee0ad8ba2f028f72c8fac4859277747887bade9678f8946e0220702300df5f5a0dd50cc9d46b9e965c9b6c9dde365a0cfad1421f099e56715b31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 315,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304502201412254f8c1dd2742a00ddee5192e7baa288741026871f3057ad9f983b5ab114022100bcdf878fa156f37040922698ad6fb6928601ddc26c40448ea660e67c25eda090",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 316,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304502204f810944c9f0f1567c1065694fdb5c9528d002313446fb8ddacd02c911428b36022100fe3ca4af63873f0d9908dbde71f55abd60b2f0ba73bfce3a76d9fa89c5c7ea6f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 317,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3044022068688d8b7df360599e572aea37ebb6d9b5600dd3e8bbd2b9def24acd4e37e43702207477c8c9cd86f8ea3ed0e0fe355050632f10bd6b29db786c28da089a4ebbf4f3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 318,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3046022100b0244d225e583a33614c09ad1d2ff9cb670ad33368834e62dbd22d29ad833df8022100b41e6e0a0b7b448556a07e8a9363a9f45628c18f747667b629a2fa3c36df2bc8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 319,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304502206e990717b75102e0c4973062ef546c1fe380e2ba890bf0e2ad89e8c0f31035fd022100a2a4eb47edb2d05e255f7a8543a5bcef0b020f64962c465e9b98f4484bbbff83",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 320,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "304602210097a2163b02626a769ac112dd5f3c659800d610ecb7021ab55066234faab64948022100e50aebe69341ea95ac9e57c380926a4cdda6080170e600e2eccdd4b994eadacb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 321,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3046022100db1e5e123b55be3b2c9e83308bb79f7105527727eea6cb1c89318fefad787d02022100a92d36686fff0af583443da053e61105b4cca447b2bb41922510751237ad789c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 322,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3045022002a879a1b624323feef778b28ce97f212c7e18d2fd5a395935e4877022508670022100aae89903f7f8b3d204cdeead2fe72f80ec6d115facf284d1eaf85f5bc36fcc66",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 323,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3044022022b5cc155462d553a426b3e4ff3bce02583005173936705facbb73f5f8da4fa9022015bb0252fb6c004fb2391f1c1478ef1edbaa26ce4e7a309bafe05fdcfb41645c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 324,
+          "comment" : "pseudorandom signature",
+          "msg" : "313233343030",
+          "sig" : "3046022100a29eec2b1189f040ecf79378ae5b9d5e1659ae20ee4207df01b54502cdb311f5022100991a116af29ebfb4a6b781329f89563c62a548e75176b739596798d14b6be51d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 325,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "30450221009e0676048381839bb0a4703a0ae38facfe1e2c61bd25950c896aa975cd6ec86902206ea0cedf96f11fff0e746941183492f4d17272c92449afd20e34041a6894ee82",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 326,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "3045022055b17d91bda0dacc64b8d31051af4cd7193d0aac8b20e06337cc6f4349afa321022100d23d32c39049b80c97e1e18cafeb34fd3c4f05be701ee5b9ee8b9e1e6bb9fa4d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 327,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "304402205167f5bb05f65c6b5f4c28d90dc26f4efd23cb8bd23ed4ac577c70d84f9d35bd02200b1bdc50d8129b94374c46813391037e8b864a15ad31e55b75f35359d34fc06c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 328,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "3045022011f8be9689a71042d971921dbeeca4f8e69223fc5f69e1d0e71479c2729067ea022100a8cec75f942dd295c914f904e5fe9b3ce839622c973e88db77b5107083f04d0e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 329,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "3046022100c56225d1f6977696b8b17269c8318ae916d60f0188007d2d1b2246a66b426b9f0221008d13ae56c9bb64c3278c7d03a5e51588e1b00d28f4008816f7a6be9d9335bb2d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 330,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "304402200c4ac8ae25a03cd2f7ca7efbb43655888e6556c57185dad7cdbd2796ff630e470220641f8cc80225ef14e8f6b6e740704d64076bbf78cb74464640e92c94d0608709",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 331,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "3046022100efda0e65a98ed4a86efee17f4e6dade7f43d0f255b1e6c09987727e9cae38002022100f9728a62f8e1e773edb8b4cd05d511b84311de4c38b808a4e7b34e5c78e8afec",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 332,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "304402207e6342566ccdc9422f454453e55ce161b2caf49eedb9bd65370c398b6bac8129022003834127fc127bdb39caa0e9c49c73bb1d2e93af6d4253b16c8823d6193baa98",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 333,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "304502206e09c28a00505ca67961d267e22af2f1c6ed94f78a3b518949d40ca816df100e022100c1d99b48ac1be1265edc38de3c1e0f4968ca642b040d1fd9e7e291b6c8479358",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 334,
+          "comment" : "pseudorandom signature",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "3046022100ef6964eaa168fd50e410027c9f27dbc834d38f517533a8f4e0721a6978f3d801022100aee686df49a9dc079f2d4f6052de056e3153e22f5746d8b09118b6b4d6e37559",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
+        "wx" : "4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000",
+        "wy" : "0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 335,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "30440220554482404173a5582884b0d168a32ef8033d7eb780936c390e8eedf720c7f56402200a15413f9ed0d454b92ab901119e7251a4d444ba1421ba639fa57e0d8cf6b313",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 336,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "304502200b1d838dd54a462745e2c8d5f32637f26fb16dde20a385e45f8a20a8a1f8370e022100ae855e0a10ef087075fda0ed84e2bc5786a681172ea9834e53351316df332bbd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 337,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3045022100af89e4f2b03e5d1f0352e258ef71493040c17d70c36cfd044128302df2ed5e4a0220420f04148c3e6f06561bd448362d6c6fa3f9aeeb7e42843b4674e7ddfd0ba901",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
+        "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935",
+        "wy" : "084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 338,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "304402206c1581f1485ccc4e657606fa1a38cf227e3870dc9f41e26b84e28483635e321b02201b3e3c22af23e919b30330f8710f6ef3760c0e2237a9a9f5cf30a1d9f5bbd464",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 339,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3045022100dc83bf97ca28db0e04104a16fe3de694311a6cd9f230a300504ae71d8ec755b1022064a83af0ab3e6037003a1f4240dffd8a342afdee50604ed1afa416fd009e4668",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 340,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "30450220575b70b4375684291b95d81e3c820ed9bde9e5b7343036e4951f3c46894a6d9d022100f10d716efbfeba953701b603fc9ef6ff6e47edef38c9eeef2d55e6486bc4d6e6",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
+        "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935",
+        "wy" : "7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 341,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30450221008d4f113189dfd3d3239e331f76d3fca9cef86fcd5dc9b4ab2ca38aeba56c178b022078389c3cf11dcff6d6c7f5efd277d480060691144b568a6f090c8902557bfc61",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 342,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100834d10ec2d2d50eeebfecd6328f03fafbb488fc043c362cbc67880ec0ebd04b302210094c026feaf6e68759146fe5b6fd52eaa3c3c5552d83719d2cb900615e2a634db",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 343,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "304502206894de495e7bb5566807d475d96a0d414a94f4f02c3ab7c2edc2916deafc1e1f022100a603642c20fabc07182867fcc6923d35be23ad3f97a5f93c6ec5b9cce8239569",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
+        "wx" : "2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff",
+        "wy" : "0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 344,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100e500c086fedd59e090ce7bfb615751ed9abe4c09b839ee8f05320245b9796f3e022100807b1d0638c86ef6113fff0d63497800e1b848b5a303a54c748e45ca8f35d7d7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 345,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100b922c1abe1a8309c0acf90e586c6de8c33e37057673390a97ff098f71680b32b022100f86d92b051b7923d82555c205e21b54eab869766c716209648c3e6cc2629057d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 346,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100823c37e46c74ec8497d89245fde3bf53ddb462c00d840e983dcb1b72bbf8bf27022100c4552f2425d14f0f0fa988778403d60a58962e7c548715af83b2edabbb24a49f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
+        "wx" : "0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5",
+        "wy" : "5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 347,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "30450220577a08a95db6dcda9985109942d3786630f640190f920b95bd4d5d84e0f163ef022100d762286e92925973fd38b67ef944a99c0ec5b499b7175cbb4369e053c1fcbb10",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 348,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "304402207ba458cfe952326922c7aa2854bdc673ce3daaf65d464dfb9f700701503056b102200df8821c92d20546fa741fb426bf56728a53182691964225c9b380b56b22ee6d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 349,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "304402205cd60c3b021b4be116f06f1d447f65e458329a8bbae1d9b5977d18cf5618486102204c635cd7aa9aebb5716d5ae09e57f8c481a741a029b40f71ec47344ef883e86e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
+        "wx" : "3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e",
+        "wy" : "1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 350,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "304402204b50e1e8cf830e04c17e7472caf60da8150ffa568e2c64498cc972a379e542e502202e3adaa5afab89cca91693609555f40543578852cde29c21cb037c0c0b78478e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 351,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "304402205aea930c7d8fffcd5c6df2c9430ef76f8b5ed58a8b9c95847288abf8f09a1ac202207ddfef7688a6053ce4eeeeefd6f1a9d71381b7548925f6682aa0a9d05cf5a3a3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 352,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "304602210098b092c2d14b5b14a23e9368e0ce1be744dfae9f9a5cdaba51e7872099df96f202210090d3e4f87bd7bc94589f8150b6b01045cd8759a00af78b24d7de771887610df5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
+        "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015",
+        "wy" : "1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 353,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "30460221009e95f2856a9fff9a172b07817c8c60fe185cd3ce9582678f8cc4b02bc444621a022100c54ca51d8117d904f0d3773911cb2792348fae21c2da7dad25f990d122376e4c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 354,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "3046022100e77df8f9782696344c33de29ebdc9f8d3fcf463d950cdbe256fd4fc2fd44877e02210087028850c962cf2fb450ffe6b983981e499dc498fbd654fa454c9e07c8cb5ca8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 355,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "3045022100bd2dd6f5026d2b5ad7ead74bdf52b8cbcabc08facee0a1c8584658a85ed0c5dc02203e8543e819bdae47d872e29a85ba38addf3eaeaad8786d79c3fb027f6f1ff4bf",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
+        "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015",
+        "wy" : "0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 356,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "3045022100bd5c0294acc28c15c5d1ebc7274c9ca21a081c8a67da430a34a7fff1a564fabb02207ec103a2385b4ff38b47d306434e9091de24dc9f1a25967ee06f8a0a53ac0181",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 357,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "304402203c7dbfb43dd80379ee2c23ad5472873a22c8a0179ac8f381ad9e0f193231dc1f02207cf8e07530ade503b3d43a84b75a2a76fc40763daed4e9734e745c58c9ae72d3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 358,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "3045022100b38ca4dac6d949be5e5f969860269f0eedff2eb92f45bfc02470300cc96dd52602201c7b22992bb13749cc0c5bc25330a17446e40db734203f9035172725fc70f863",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof/ecdsa_secp384r1_sha384_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.json
similarity index 84%
rename from src/third_party/wycheproof/ecdsa_secp384r1_sha384_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.json
index ea5ee44..1255ae2 100644
--- a/src/third_party/wycheproof/ecdsa_secp384r1_sha384_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.json
@@ -1,27 +1,28 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 329,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 347,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAELaV92hCJJ2pUP5/9rAv/DZdsrXHrcoDn\n2b/Z/uS9svIPR/+IgnQ4l3LZjMV1ITiqS20FTWnc8+JexJ34cHFeNIg7GDYZfXb4\nrZYuePZXG7x0B7DWCR+eTYjwFCdEBhdP\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f",
         "wx" : "2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa",
         "wy" : "4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAELaV92hCJJ2pUP5/9rAv/DZdsrXHrcoDn\n2b/Z/uS9svIPR/+IgnQ4l3LZjMV1ITiqS20FTWnc8+JexJ34cHFeNIg7GDYZfXb4\nrZYuePZXG7x0B7DWCR+eTYjwFCdEBhdP\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -35,7 +36,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3064023077391f04a7b47a003a9b68ae641d6022093a5fa29464b1826228cbffc35a3a655f9712d478dec2f72dd3c02ce31c075a02305e8daba38b616460ec0e4b6477ce0266aa2f62b0cdb224907a8f999abfa68b48657677b018a29767c0926a1640fd9b0a",
+          "sig" : "3064023075982988ec19604565468179a3fa189d962cff07c60fc8f42e4771482d85b40a057dc028c9c3a6a3cfb82dc9a88b6b7b02305596a6e14c0947e092a04f669052e3eb32dba05422d94e0e46fb54e35df5b6d03ec965865976c195a081573a7cfe6bf2",
           "result" : "valid",
           "flags" : []
         },
@@ -43,7 +44,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3065023100c46c6312342ad3b2d260d33a0cc41d13378daf8570d7b937980761ea0cc18c9948b40fcd790bb2021afaa8cb4fc76ff502307a7547ed765905268768027bc59f1edf367e4088b779c2618f4c1e6f0f56154351aac80cd59d4907ef2f93155c16523d",
+          "sig" : "30650231009232a7041b91514155c19d7c53003ef5bb8f3a459b1b8a37c61025e5aa99f568e5c6a64c4e391e5422bf1dc861e14b28023059e4508807863dbc7186b2839be3f266c11e283ceb8841cc65556939c0a8fd852ea06575145f743cff4ff078430cd8a7",
           "result" : "valid",
           "flags" : []
         },
@@ -51,7 +52,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30660231009584b8a737f417dfeef0eb1a8f727e14b231ec372eb0520a2357b44478bd076e7a3e4e8bac670bfd3419296c9d854da1023100beca69a1c97e08af8e9a5cb76d9c46c6ee022b670962dc1e59850e6a9266d216aa816225d8ebcb7c4de88ceb3c1bae3d",
+          "sig" : "30650230133f344caa6325a51b0cc3aac7fa53b06d5f081976d19017b741f09a95b83d8ed28bbe8fdfac1530170cfe0f5b630705023100cb561f180bc4c74e316fad8d9414e4fd1844b6ae320e2038dce7559f143c61e3b4d6c5d758d4421132d334f0c8ed37f7",
           "result" : "valid",
           "flags" : []
         },
@@ -59,7 +60,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30650230700041c0719c076f07280dec96763c88efdb903660d57182c9c7753b0334abb2e4dd2726f63ce1a8acd0eb67a492161f0231008028097fd011fea390fba8f50c36e5676867325d0bce627c3ddc3581ed3ba7ff1e76f5ece6304c172e9144756f47b2b8",
+          "sig" : "306502300e6ed680dd151c47511cba04acf06f081cebb1ac0662b97cc5ebd077dcb4927be523bb3e5bf58ed293ced253e3f658f5023100edad9076bd329ea42e8aa41f6c86d1c5ce40a876ad554a56cc5d1a80ce4eb6748bb527bb377b56dd159a46cff1680192",
           "result" : "valid",
           "flags" : []
         },
@@ -67,7 +68,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30650230409616ba406241c624514057defe1c868e655bca413af7aa0fb3d80c4969df41d9bb5d3a733b400705453a965e80d46d023100da24d79fdb11e4612faf34b8b64af8067492d6510c4eddb1310e578d1f49a43e427dcd188b259f9012791718776253ab",
+          "sig" : "3065023100a3848f6bffae02e61b18268df4308cad49400754fab081a25930205746dc8300d3648582027ab7aec27a1d0cf8c5c12002307feff2b4d3ec0636210ec3e8af4b05731463617c70df4621c001a1253e97753d8709f0cc54e912c0cf2019b7ce3a035e",
           "result" : "valid",
           "flags" : []
         },
@@ -95,7 +96,9 @@
           "msg" : "313233343030",
           "sig" : "308165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -103,7 +106,9 @@
           "msg" : "313233343030",
           "sig" : "306602813012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -111,7 +116,9 @@
           "msg" : "313233343030",
           "sig" : "3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702813100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -119,7 +126,9 @@
           "msg" : "313233343030",
           "sig" : "30820065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -127,7 +136,9 @@
           "msg" : "313233343030",
           "sig" : "30670282003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -135,7 +146,9 @@
           "msg" : "313233343030",
           "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70282003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 15,
@@ -387,6 +400,14 @@
         },
         {
           "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000",
@@ -394,7 +415,7 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
+          "tcId" : 48,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30670000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -402,24 +423,16 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 49,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 50,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500",
           "result" : "invalid",
@@ -427,22 +440,6 @@
         },
         {
           "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306a4981773065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -450,7 +447,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306925003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -458,7 +455,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef",
@@ -466,7 +463,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306a2235498177023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -474,7 +471,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306922342500023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -482,7 +479,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306d2232023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70004deadbeef023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -490,7 +487,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72236498177023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -498,7 +495,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722352500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -506,7 +503,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72233023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef",
@@ -514,7 +511,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306daa00bb00cd003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -522,7 +519,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306baa02aabb3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -530,7 +527,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306d2238aa00bb00cd00023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -538,7 +535,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306b2236aa02aabb023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -546,7 +543,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72239aa00bb00cd00023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -554,7 +551,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306b023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72237aa02aabb023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -562,7 +559,15 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30803065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000",
@@ -570,7 +575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30692280023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -578,7 +583,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000",
@@ -586,7 +591,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30803165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000",
@@ -594,7 +599,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30692280033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -602,7 +607,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000",
@@ -610,7 +615,7 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
+          "tcId" : 73,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -618,127 +623,47 @@
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "3165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "3265023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065013012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065043012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065ff3012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7013100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7043100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7ff3100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
+          "tcId" : 79,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -746,31 +671,15 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "306930010230643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f",
@@ -778,7 +687,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "30643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -786,15 +695,17 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8200",
@@ -802,7 +713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8205000000",
@@ -810,7 +721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82060811220000",
@@ -818,7 +729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000fe02beef",
@@ -826,7 +737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820002beef",
@@ -834,7 +745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "30673000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -842,7 +753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f823000",
@@ -850,7 +761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -858,7 +769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "3032023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7",
@@ -866,7 +777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "308198023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -874,7 +785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "3033023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -882,7 +793,23 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "303402023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3033023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -890,7 +817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000",
@@ -898,23 +825,67 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30670232000012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 111,
+          "tcId" : 100,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70233000000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30350281023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "30350500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -922,7 +893,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 107,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500",
@@ -930,7 +901,87 @@
           "flags" : []
         },
         {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065013012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065043012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065ff3012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7013100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7043100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7ff3100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "30350200023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -938,7 +989,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70200",
@@ -946,7 +997,23 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3065023010b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -954,7 +1021,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023102e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -962,7 +1029,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c54857023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -970,7 +1037,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f02",
@@ -978,7 +1045,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3064022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -986,7 +1053,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3064022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -994,7 +1061,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f",
@@ -1002,7 +1069,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -1010,7 +1077,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -1018,7 +1085,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70232ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -1026,7 +1093,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3036090180023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
@@ -1034,7 +1101,7 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
+          "tcId" : 133,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7090180",
@@ -1042,66 +1109,18 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19a25617aad7485e6312a8589714f647acf7a94cffbe8a724a023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe1a138f7ca6eeda02a462743d328394f8b71dd11a2a25001f64023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30650230ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e5ec7083591125fd5b9d8bc2cd7c6b0748e22ee5d5daffe09c023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30660231feed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e65da9e85528b7a19ced57a768eb09b8530856b30041758db6023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "sig" : "3036020100023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 135,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc5f8fc6adfda650a86aa74b95adbd6874b3cd8dde6cc0798f5",
+          "sig" : "3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1109,7 +1128,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc66a35cfdbf1f6aec7fa409df64a7538556300ab11327d460f",
+          "sig" : "306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19a25617aad7485e6312a8589714f647acf7a94cffbe8a724a023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
@@ -1117,7 +1136,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231ff1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e",
+          "sig" : "30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe1a138f7ca6eeda02a462743d328394f8b71dd11a2a25001f64023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
@@ -1125,7 +1144,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231fe1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03a07039520259af579558b46a5242978b4c327221933f8670b",
+          "sig" : "30650230ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
@@ -1133,7 +1152,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "sig" : "3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e5ec7083591125fd5b9d8bc2cd7c6b0748e22ee5d5daffe09c023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
@@ -1141,12 +1160,76 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e",
+          "sig" : "30660231feed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e65da9e85528b7a19ced57a768eb09b8530856b30041758db6023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc5f8fc6adfda650a86aa74b95adbd6874b3cd8dde6cc0798f5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc66a35cfdbf1f6aec7fa409df64a7538556300ab11327d460f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231ff1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231fe1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03a07039520259af579558b46a5242978b4c327221933f8670b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1156,7 +1239,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1166,7 +1249,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1176,7 +1259,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1186,7 +1269,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1196,7 +1279,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1206,7 +1289,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1216,7 +1299,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1226,7 +1309,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1236,7 +1319,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1246,7 +1329,7 @@
           ]
         },
         {
-          "tcId" : 151,
+          "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1256,7 +1339,7 @@
           ]
         },
         {
-          "tcId" : 152,
+          "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201010201ff",
@@ -1266,7 +1349,7 @@
           ]
         },
         {
-          "tcId" : 153,
+          "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1276,7 +1359,7 @@
           ]
         },
         {
-          "tcId" : 154,
+          "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1286,7 +1369,7 @@
           ]
         },
         {
-          "tcId" : 155,
+          "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1296,7 +1379,7 @@
           ]
         },
         {
-          "tcId" : 156,
+          "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1306,7 +1389,7 @@
           ]
         },
         {
-          "tcId" : 157,
+          "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1316,7 +1399,7 @@
           ]
         },
         {
-          "tcId" : 158,
+          "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020101090380fe01",
@@ -1326,7 +1409,7 @@
           ]
         },
         {
-          "tcId" : 159,
+          "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020100",
@@ -1336,7 +1419,7 @@
           ]
         },
         {
-          "tcId" : 160,
+          "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020101",
@@ -1346,7 +1429,7 @@
           ]
         },
         {
-          "tcId" : 161,
+          "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff0201ff",
@@ -1356,7 +1439,7 @@
           ]
         },
         {
-          "tcId" : 162,
+          "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1366,7 +1449,7 @@
           ]
         },
         {
-          "tcId" : 163,
+          "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1376,7 +1459,7 @@
           ]
         },
         {
-          "tcId" : 164,
+          "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1386,7 +1469,7 @@
           ]
         },
         {
-          "tcId" : 165,
+          "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1396,7 +1479,7 @@
           ]
         },
         {
-          "tcId" : 166,
+          "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1406,7 +1489,7 @@
           ]
         },
         {
-          "tcId" : 167,
+          "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30080201ff090380fe01",
@@ -1416,7 +1499,7 @@
           ]
         },
         {
-          "tcId" : 168,
+          "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100",
@@ -1426,7 +1509,7 @@
           ]
         },
         {
-          "tcId" : 169,
+          "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101",
@@ -1436,7 +1519,7 @@
           ]
         },
         {
-          "tcId" : 170,
+          "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff",
@@ -1446,7 +1529,7 @@
           ]
         },
         {
-          "tcId" : 171,
+          "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1456,7 +1539,7 @@
           ]
         },
         {
-          "tcId" : 172,
+          "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1466,7 +1549,7 @@
           ]
         },
         {
-          "tcId" : 173,
+          "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1476,7 +1559,7 @@
           ]
         },
         {
-          "tcId" : 174,
+          "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1486,7 +1569,7 @@
           ]
         },
         {
-          "tcId" : 175,
+          "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1496,7 +1579,7 @@
           ]
         },
         {
-          "tcId" : 176,
+          "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01",
@@ -1506,7 +1589,7 @@
           ]
         },
         {
-          "tcId" : 177,
+          "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100",
@@ -1516,7 +1599,7 @@
           ]
         },
         {
-          "tcId" : 178,
+          "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101",
@@ -1526,7 +1609,7 @@
           ]
         },
         {
-          "tcId" : 179,
+          "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff",
@@ -1536,7 +1619,7 @@
           ]
         },
         {
-          "tcId" : 180,
+          "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1546,7 +1629,7 @@
           ]
         },
         {
-          "tcId" : 181,
+          "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1556,7 +1639,7 @@
           ]
         },
         {
-          "tcId" : 182,
+          "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1566,7 +1649,7 @@
           ]
         },
         {
-          "tcId" : 183,
+          "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1576,7 +1659,7 @@
           ]
         },
         {
-          "tcId" : 184,
+          "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1586,7 +1669,7 @@
           ]
         },
         {
-          "tcId" : 185,
+          "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01",
@@ -1596,7 +1679,7 @@
           ]
         },
         {
-          "tcId" : 186,
+          "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100",
@@ -1606,7 +1689,7 @@
           ]
         },
         {
-          "tcId" : 187,
+          "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101",
@@ -1616,7 +1699,7 @@
           ]
         },
         {
-          "tcId" : 188,
+          "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff",
@@ -1626,7 +1709,7 @@
           ]
         },
         {
-          "tcId" : 189,
+          "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1636,7 +1719,7 @@
           ]
         },
         {
-          "tcId" : 190,
+          "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1646,7 +1729,7 @@
           ]
         },
         {
-          "tcId" : 191,
+          "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1656,7 +1739,7 @@
           ]
         },
         {
-          "tcId" : 192,
+          "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1666,7 +1749,7 @@
           ]
         },
         {
-          "tcId" : 193,
+          "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1676,7 +1759,7 @@
           ]
         },
         {
-          "tcId" : 194,
+          "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01",
@@ -1686,7 +1769,7 @@
           ]
         },
         {
-          "tcId" : 195,
+          "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100",
@@ -1696,7 +1779,7 @@
           ]
         },
         {
-          "tcId" : 196,
+          "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101",
@@ -1706,7 +1789,7 @@
           ]
         },
         {
-          "tcId" : 197,
+          "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff",
@@ -1716,7 +1799,7 @@
           ]
         },
         {
-          "tcId" : 198,
+          "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1726,7 +1809,7 @@
           ]
         },
         {
-          "tcId" : 199,
+          "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1736,7 +1819,7 @@
           ]
         },
         {
-          "tcId" : 200,
+          "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1746,7 +1829,7 @@
           ]
         },
         {
-          "tcId" : 201,
+          "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1756,7 +1839,7 @@
           ]
         },
         {
-          "tcId" : 202,
+          "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1766,7 +1849,7 @@
           ]
         },
         {
-          "tcId" : 203,
+          "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01",
@@ -1776,7 +1859,7 @@
           ]
         },
         {
-          "tcId" : 204,
+          "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100",
@@ -1786,7 +1869,7 @@
           ]
         },
         {
-          "tcId" : 205,
+          "tcId" : 213,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101",
@@ -1796,7 +1879,7 @@
           ]
         },
         {
-          "tcId" : 206,
+          "tcId" : 214,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff",
@@ -1806,7 +1889,7 @@
           ]
         },
         {
-          "tcId" : 207,
+          "tcId" : 215,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1816,7 +1899,7 @@
           ]
         },
         {
-          "tcId" : 208,
+          "tcId" : 216,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1826,7 +1909,7 @@
           ]
         },
         {
-          "tcId" : 209,
+          "tcId" : 217,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1836,7 +1919,7 @@
           ]
         },
         {
-          "tcId" : 210,
+          "tcId" : 218,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1846,7 +1929,7 @@
           ]
         },
         {
-          "tcId" : 211,
+          "tcId" : 219,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1856,7 +1939,7 @@
           ]
         },
         {
-          "tcId" : 212,
+          "tcId" : 220,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01",
@@ -1866,7 +1949,7 @@
           ]
         },
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3133323237",
           "sig" : "3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf565684023100bd770d3ee4beadbabe7ca46e8c4702783435228d46e2dd360e322fe61c86926fa49c8116ec940f72ac8c30d9beb3e12f",
@@ -1876,20 +1959,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAES/TlL5WEJ+u1kV+4yVlVUbTTo/2rZ7rd\nnWwwk/QlukNjDfcfQvDrfOqpTZ9kSKhd0wMxWIJJ/S/cCzCex+2EgbwW8ngAwT19\ntwD8guGxyFRaoMDTtW47/nifwYqRaIfC\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2",
         "wx" : "4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d",
         "wy" : "0d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAES/TlL5WEJ+u1kV+4yVlVUbTTo/2rZ7rd\nnWwwk/QlukNjDfcfQvDrfOqpTZ9kSKhd0wMxWIJJ/S/cCzCex+2EgbwW8ngAwT19\ntwD8guGxyFRaoMDTtW47/nifwYqRaIfC\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
@@ -1897,7 +1981,7 @@
           "flags" : []
         },
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
@@ -1907,20 +1991,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENiO7KWuI9ibQ+SZWvwFvEVtyEnfMtJMH\nOb+9gfnB5zRjDgaF0y4VTgtKXGLkOFH2doNWtKV2TBKMexEF49d4qJ0eAdopft4b\nxDEsJYPgu93SFhNYPdCauJXGO+R5+UV2\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576",
         "wx" : "3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6",
         "wy" : "768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENiO7KWuI9ibQ+SZWvwFvEVtyEnfMtJMH\nOb+9gfnB5zRjDgaF0y4VTgtKXGLkOFH2doNWtKV2TBKMexEF49d4qJ0eAdopft4b\nxDEsJYPgu93SFhNYPdCauJXGO+R5+UV2\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971",
@@ -1930,20 +2015,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE1RbLisjkRXtpPVGSvuts59mka+9I7s8+\nqCMobxAfmNEw9aJtxv7CNmLv8H8USG/VhFaTLnSJS38OO7Df02JQKzdl3YCjF3IJ\n+yIdybUar0RwskU5FAW+9RQXaxOiZ6cg\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720",
         "wx" : "0d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd5",
         "wy" : "08456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE1RbLisjkRXtpPVGSvuts59mka+9I7s8+\nqCMobxAfmNEw9aJtxv7CNmLv8H8USG/VhFaTLnSJS38OO7Df02JQKzdl3YCjF3IJ\n+yIdybUar0RwskU5FAW+9RQXaxOiZ6cg\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1",
@@ -1953,20 +2039,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqDgM01Am4Tv4e+aTzbbnWoLXZbQBm1Ke\njSd8SvbJ2yfrtdP4boit2dW2EYbwTIOpkqGHUHxzcyXSzGJKzvPNA2v6meDBUYvm\nXIi7UfkA+UEjrKutgdFRMNOt5/9+Q2Th\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1",
         "wx" : "0a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9",
         "wy" : "092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqDgM01Am4Tv4e+aTzbbnWoLXZbQBm1Ke\njSd8SvbJ2yfrtdP4boit2dW2EYbwTIOpkqGHUHxzcyXSzGJKzvPNA2v6meDBUYvm\nXIi7UfkA+UEjrKutgdFRMNOt5/9+Q2Th\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f",
@@ -1976,20 +2063,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEVU8v0LcAqfRWh1K2c9nA0p3JbBD+Z+OM\nbW0zm/r+Bflw2ow9IWToIDEwekS9MiURcTErYbWRE/8L07ippJNN8mKqgJb4QOnY\nv/pddJHe2Hs4xJb5ueTwuhCJ+NP/yIqf\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f",
         "wx" : "554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511",
         "wy" : "71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEVU8v0LcAqfRWh1K2c9nA0p3JbBD+Z+OM\nbW0zm/r+Bflw2ow9IWToIDEwekS9MiURcTErYbWRE/8L07ippJNN8mKqgJb4QOnY\nv/pddJHe2Hs4xJb5ueTwuhCJ+NP/yIqf\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020101",
@@ -1999,20 +2087,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERO4zNfp30vsC5L1wdPReWYqHnA+oIuxx\njCHcE7g0QO3E48EKGFhCPgMETJ7/Ilkc0CfEmTPlUQVX1rSyxvZv5dy5MCo7E/3G\ngEjD/KyIuhUrapgzyH/cYoCvxdEat8EH\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107",
         "wx" : "44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c",
         "wy" : "0d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERO4zNfp30vsC5L1wdPReWYqHnA+oIuxx\njCHcE7g0QO3E48EKGFhCPgMETJ7/Ilkc0CfEmTPlUQVX1rSyxvZv5dy5MCo7E/3G\ngEjD/KyIuhUrapgzyH/cYoCvxdEat8EH\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020102",
@@ -2022,20 +2111,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4vh/cuPGbHMDf+d2B9Qq0tnEzBWYk7S5\nuLA2XTp3ZtvoZ4sC4raPWOWk92gQYaOQ448hQoGFQr72srw6LE9DyV5SWda9VAFT\nE3jHyhJaH2zGCdT638XJqZNY7nf/eAyN\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d",
         "wx" : "0e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390",
         "wy" : "0e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4vh/cuPGbHMDf+d2B9Qq0tnEzBWYk7S5\nuLA2XTp3ZtvoZ4sC4raPWOWk92gQYaOQ448hQoGFQr72srw6LE9DyV5SWda9VAFT\nE3jHyhJaH2zGCdT638XJqZNY7nf/eAyN\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020103",
@@ -2043,7 +2133,7 @@
           "flags" : []
         },
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103",
@@ -2053,20 +2143,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBeZ8RPwMvJqOs0O01vWWx9AMrF2oWUyv\nRbcgk5dJYhTELYVqAVzlibybqGWk+rWriKAce10J76+Hj8uRAvs4dag4GvI00cWT\nB25FIiWlb1FnTzRxJtMAm0TcuwA6ZNlf\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f",
         "wx" : "5e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab",
         "wy" : "088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBeZ8RPwMvJqOs0O01vWWx9AMrF2oWUyv\nRbcgk5dJYhTELYVqAVzlibybqGWk+rWriKAce10J76+Hj8uRAvs4dag4GvI00cWT\nB25FIiWlb1FnTzRxJtMAm0TcuwA6ZNlf\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa",
@@ -2076,20 +2167,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEC7A/zjwB688Ic6vRNKhoL1+42/+iLaZ0\nBH5cPnHkPeWC7Wq7kIwuT6pdlhhieLbBujsiEj5ozMVvF915/xVWVwb3GgthI8d6\n882I8K8CTMUll4FRbtyvX+mQZG57Zpmd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d",
         "wx" : "0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1",
         "wy" : "0ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEC7A/zjwB688Ic6vRNKhoL1+42/+iLaZ0\nBH5cPnHkPeWC7Wq7kIwuT6pdlhhieLbBujsiEj5ozMVvF915/xVWVwb3GgthI8d6\n882I8K8CTMUll4FRbtyvX+mQZG57Zpmd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553",
@@ -2099,20 +2191,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEWPJGCQ1eSYY7wL8tUB/3L1UcXxxeZ560\nkGT9AuIhonBzJuwtFAvMgXr6rVBldhVmSXyCP9c2iCy/ePuSsaVYm2foBnSXxxCk\ny7Od7ixUMbxFz7lsn4RUOFyfKz7y09Ma\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a",
         "wx" : "58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566",
         "wy" : "497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEWPJGCQ1eSYY7wL8tUB/3L1UcXxxeZ560\nkGT9AuIhonBzJuwtFAvMgXr6rVBldhVmSXyCP9c2iCy/ePuSsaVYm2foBnSXxxCk\ny7Od7ixUMbxFz7lsn4RUOFyfKz7y09Ma\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351",
@@ -2122,20 +2215,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/GmE3Wgw0UhfslgaRaeR2NyixyfHPT1E\nyJ8AgsGGivXKdLTKSuIoAmQKnr/ox64SmY1jpbWtG3K4mfCxMuSVKqoZ1B/e6kix\n7WuDWN0dsgf9ZuAUU61A9nuDatyALV/o\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8",
         "wx" : "0fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12",
         "wy" : "0998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/GmE3Wgw0UhfslgaRaeR2NyixyfHPT1E\nyJ8AgsGGivXKdLTKSuIoAmQKnr/ox64SmY1jpbWtG3K4mfCxMuSVKqoZ1B/e6kix\n7WuDWN0dsgf9ZuAUU61A9nuDatyALV/o\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452",
@@ -2145,20 +2239,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEG43vWSIwPWR+jrB+O62S+SS3m3ae7xaO\ndUHeH04NKK6XM+uYz4oftt1SygLIx1tRx6pL9nnUnYEUEiB02o9gRKQnNxeWpWVK\nYQYWLV9oartz69iWqwjHBiaH8SFx++Sj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3",
         "wx" : "1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51",
         "wy" : "0c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEG43vWSIwPWR+jrB+O62S+SS3m3ae7xaO\ndUHeH04NKK6XM+uYz4oftt1SygLIx1tRx6pL9nnUnYEUEiB02o9gRKQnNxeWpWVK\nYQYWLV9oartz69iWqwjHBiaH8SFx++Sj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b",
@@ -2168,20 +2263,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFzSgOaiKFsL/Sql9I5kSH1b1LvAe1eUI\nh/c29ltuUdboeGq7TgY9pdG6gS3/mYQDzNaY5sKW1c1pF4+Kgkgahl2jMWJ/HEsy\nT7wCs26LXtWKMfco6QTSA6OIdVMCGVdl\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765",
         "wx" : "1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403",
         "wy" : "0ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFzSgOaiKFsL/Sql9I5kSH1b1LvAe1eUI\nh/c29ltuUdboeGq7TgY9pdG6gS3/mYQDzNaY5sKW1c1pF4+Kgkgahl2jMWJ/HEsy\nT7wCs26LXtWKMfco6QTSA6OIdVMCGVdl\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b",
@@ -2191,20 +2287,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUspH3amRcsuDIUlaz5iFSClZiOyXPBtO\nqUYsU+V2inBKk2QQ7oR7Xb8enQwTHabHh6RwJ+ZlV5LrAC1CKO5y98gUyaDOy/8m\neUj4HJkDrBDrNfbLhjaSJO1gmBHN85D0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4",
         "wx" : "52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7",
         "wy" : "087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUspH3amRcsuDIUlaz5iFSClZiOyXPBtO\nqUYsU+V2inBKk2QQ7oR7Xb8enQwTHabHh6RwJ+ZlV5LrAC1CKO5y98gUyaDOy/8m\neUj4HJkDrBDrNfbLhjaSJO1gmBHN85D0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -2214,20 +2311,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvT2R8APhitvqcwedTrojuR/Bf87BTJ6x\nWhk/vJyjnIx0fNeiyWI+Bd1YfMu4q0xEOtsKBwaqXqemgEIIL8zvyXlhKnoaPWlL\nAHk7A/ib/4Zqi5fI53mQwpNgznlQNsdk\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764",
         "wx" : "0bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44",
         "wy" : "3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvT2R8APhitvqcwedTrojuR/Bf87BTJ6x\nWhk/vJyjnIx0fNeiyWI+Bd1YfMu4q0xEOtsKBwaqXqemgEIIL8zvyXlhKnoaPWlL\nAHk7A/ib/4Zqi5fI53mQwpNgznlQNsdk\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101",
@@ -2235,7 +2333,7 @@
           "flags" : []
         },
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100",
@@ -2245,20 +2343,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+JY1PMOor91UPsOu8GLKl7wy7Rck6ji5\nQLjA6g4js0GHr75w2vjbqltRFVfl0r3axL0mXaZ87q/KY29vTARy8iqdAuIokYT3\nO7twCuj8kh7/SSDykL/LSfuyMswTohAo\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028",
         "wx" : "0f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda",
         "wy" : "0c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+JY1PMOor91UPsOu8GLKl7wy7Rck6ji5\nQLjA6g4js0GHr75w2vjbqltRFVfl0r3axL0mXaZ87q/KY29vTARy8iqdAuIokYT3\nO7twCuj8kh7/SSDykL/LSfuyMswTohAo\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -2268,20 +2367,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPs/Vijzlg4ZuBHHRbrPBCkEew7hnHzoE\ndpse2EZKcc8cdtjZt+NnC75xLW9VSpOD2YDYvt9XRw1rRcwa0MZCbccKDkvpARBq\nNmY7/KsE/LhgCHd7kkRRINXjZB2XOWNi\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362",
         "wx" : "3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383",
         "wy" : "0d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPs/Vijzlg4ZuBHHRbrPBCkEew7hnHzoE\ndpse2EZKcc8cdtjZt+NnC75xLW9VSpOD2YDYvt9XRw1rRcwa0MZCbccKDkvpARBq\nNmY7/KsE/LhgCHd7kkRRINXjZB2XOWNi\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
@@ -2291,20 +2391,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQVDM0PpFqi72tQQt27G4fF/9ERWo/lmV\nZBlIrNqCp7GQdi2ENSzXTRygHnn2j5y06xG+nUlMGBwVbiPnflMr3wogw8x0uowp\nsfPrK9mRKe4NcP8NWT8Nem1oh+fFWTDS\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2",
         "wx" : "4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4",
         "wy" : "0eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQVDM0PpFqi72tQQt27G4fF/9ERWo/lmV\nZBlIrNqCp7GQdi2ENSzXTRygHnn2j5y06xG+nUlMGBwVbiPnflMr3wogw8x0uowp\nsfPrK9mRKe4NcP8NWT8Nem1oh+fFWTDS\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec63260230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea5",
@@ -2314,20 +2415,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE54/iwRvqxwkO4K9/7UaajM69PMzE7p/M\nyO8/wEVbaaqggtwT4dhPNAJstvCvnpkv8067pxvzpAUL8o5AhLXF9dQJjsRvEKMb\nAvtL8gzJNi9vAqZugC+BdQdTX6w+wLCZ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099",
         "wx" : "0e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f",
         "wy" : "0f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE54/iwRvqxwkO4K9/7UaajM69PMzE7p/M\nyO8/wEVbaaqggtwT4dhPNAJstvCvnpkv8067pxvzpAUL8o5AhLXF9dQJjsRvEKMb\nAvtL8gzJNi9vAqZugC+BdQdTX6w+wLCZ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -2337,20 +2439,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7iSrijTQWvaEk5NX8ydZzFoU88cXUpog\nrqjgxZZdikHmiSX2iEcZlLcgIbpRsowJClVpPJKtDLrp7c9RXitMBguIjYLIHko7\nahc7Yu0EpG+pXbGi85SZgPui43EmPE+p\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9",
         "wx" : "0ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09",
         "wy" : "0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7iSrijTQWvaEk5NX8ydZzFoU88cXUpog\nrqjgxZZdikHmiSX2iEcZlLcgIbpRsowJClVpPJKtDLrp7c9RXitMBguIjYLIHko7\nahc7Yu0EpG+pXbGi85SZgPui43EmPE+p\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d",
@@ -2360,20 +2463,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPS6RYFXJLhs2Ez9ZN7N8GwECg063cAij\nupw9pEbpBllx1oupEwkYUeEM/1tM2HXBOap6rfwsr3EHsXrhrqiymdYb8VrKDLP9\nbx/96Bkr/ljwgiu7wfVb3fa0/pyPKw6s\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac",
         "wx" : "3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1",
         "wy" : "39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPS6RYFXJLhs2Ez9ZN7N8GwECg063cAij\nupw9pEbpBllx1oupEwkYUeEM/1tM2HXBOap6rfwsr3EHsXrhrqiymdYb8VrKDLP9\nbx/96Bkr/ljwgiu7wfVb3fa0/pyPKw6s\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a",
@@ -2383,20 +2487,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAErllml0J6olAVbAWsQzjkiYCn8JPqHx/m\ncJi0P2U5wbIK50M4+b8nDTNmPFCr6P0AHKalJzLbdKsV0vJJo9g5CA+Jg2ff1kmS\nzc4nCN6q1SOioja0NABCQkHJGjW1MPpQ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50",
         "wx" : "0ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00",
         "wy" : "1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAErllml0J6olAVbAWsQzjkiYCn8JPqHx/m\ncJi0P2U5wbIK50M4+b8nDTNmPFCr6P0AHKalJzLbdKsV0vJJo9g5CA+Jg2ff1kmS\nzc4nCN6q1SOioja0NABCQkHJGjW1MPpQ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d49a253986bbaa8ce9c3d3808313d39c3b950a478372edc009bc0566b73be7b05dad0737e16960257cc16db6ec6c620f",
@@ -2406,20 +2511,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiHOPmYHdTR+rtgrYPC3W38naMCIJrj5T\nSYqIO245o4vq2bAnCfNS0+a2V4FU6rJSk4igXGufOkAoq7mVClH1Jk7NdYCkI/3s\nlHL67rV/kuMcRr7yp4H+XtrQJgCfGYJi\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262",
         "wx" : "088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252",
         "wy" : "09388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiHOPmYHdTR+rtgrYPC3W38naMCIJrj5T\nSYqIO245o4vq2bAnCfNS0+a2V4FU6rJSk4igXGufOkAoq7mVClH1Jk7NdYCkI/3s\nlHL67rV/kuMcRr7yp4H+XtrQJgCfGYJi\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230285090b0d6a6820bbba394efbee5c24a2281e825d2f6c55fb7a85b8251db00f75ab07cc993ceaf664f3c116baf34b021",
@@ -2429,20 +2535,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE9CFUExHJT915/CmPirGjrf0IAp/a1Dmp\nTUzqEffnmbxDlgny+3vj80nVXkhNCg02s1Mwu9vsHnXymESD2WvyENciwYMCkv/D\nWi9qIaS1BRn1ZfAku8zJciii+K2PrcDV\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5",
         "wx" : "0f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36",
         "wy" : "0b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE9CFUExHJT915/CmPirGjrf0IAp/a1Dmp\nTUzqEffnmbxDlgny+3vj80nVXkhNCg02s1Mwu9vsHnXymESD2WvyENciwYMCkv/D\nWi9qIaS1BRn1ZfAku8zJciii+K2PrcDV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b39af4a81ee4ae79064ed80f27e1432e84845f15ece399f2a43d2505a0a8c72c5731f4fd967420b1000e3f75502ed7b7",
@@ -2452,20 +2559,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOZvkz8Q5+U8kIcvTTCzZC65T62Dd+vyl\nL3J10WXRT6ZZtjZxO11LOeYv1IuuFB0OGyPjtPDCAu17Wdt4o1wSrGmMYD6rFE/Q\nmsLtj0SV9gfk0sh6I84uwz5BDKR+zCVV\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555",
         "wx" : "399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e",
         "wy" : "1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOZvkz8Q5+U8kIcvTTCzZC65T62Dd+vyl\nL3J10WXRT6ZZtjZxO11LOeYv1IuuFB0OGyPjtPDCAu17Wdt4o1wSrGmMYD6rFE/Q\nmsLtj0SV9gfk0sh6I84uwz5BDKR+zCVV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100af4a81ee4ae79064ed80f27e1432e84845f15ece399f2cbf28df829ccd30f5ef62ec23957b837d73fe4e156edccd4465",
@@ -2475,20 +2583,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFXi7/3ITfEvKM9c4Wokr6UywWfkJHd/o\nkDRfcSqful/HcITOwRCE7QSEkWBKB/Zsdruqhy8HENgqCNnd3YM8e+fH6OJl9JFF\nFX606OgoAHajfuWHMnHbUQA02hnaJEFb\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b",
         "wx" : "1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c",
         "wy" : "76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFXi7/3ITfEvKM9c4Wokr6UywWfkJHd/o\nkDRfcSqful/HcITOwRCE7QSEkWBKB/Zsdruqhy8HENgqCNnd3YM8e+fH6OJl9JFF\nFX606OgoAHajfuWHMnHbUQA02hnaJEFb\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02305e9503dc95cf20c9db01e4fc2865d0908be2bd9c733e597e8a5bb7b7a62abdff6dbe3978ae56536d0fb01172ecd55f57",
@@ -2498,20 +2607,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEM7pFHIXnKQWPgwQQd6RpXrR9+T5xiwmk\nYYx1OsgDzXXBqRKQwv9aY1OJ0HFJVx2rH8fYpxd2hR/yRP9jL+b5LhZS5ShIk8Qk\nT+d12O/Fidgj3QPzkZAn8ARTe9juCfOj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3",
         "wx" : "33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab",
         "wy" : "1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEM7pFHIXnKQWPgwQQd6RpXrR9+T5xiwmk\nYYx1OsgDzXXBqRKQwv9aY1OJ0HFJVx2rH8fYpxd2hR/yRP9jL+b5LhZS5ShIk8Qk\nT+d12O/Fidgj3QPzkZAn8ARTe9juCfOj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02301ee4ae79064ed80f27e1432e84845f15ece399f2cbf4fa31a3ae8edab84dc3330a39f70938e3912bd59753de5aed3088",
@@ -2521,20 +2631,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBAdx4zkCFv7SxiCL31v+qDqxkVsWbmJl\nafEu/UEKObfnx29w8AEoQ6Jt6/TMwz3a5bxffmLQVOrDHNAir9txt8Y48kwwy60O\n817S/JkX81bpw/BDkbIdEDUnS4FTf8vz\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3",
         "wx" : "40771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda",
         "wy" : "0e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBAdx4zkCFv7SxiCL31v+qDqxkVsWbmJl\nafEu/UEKObfnx29w8AEoQ6Jt6/TMwz3a5bxffmLQVOrDHNAir9txt8Y48kwwy60O\n817S/JkX81bpw/BDkbIdEDUnS4FTf8vz\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bb51cd3ba8eb201f53ddb4e34e08c0ff7dff9378106784d798d5a3440bd6dc34be3a0eaef8776619a0c97fefb15720b3",
@@ -2544,20 +2655,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmNPxbhxRCpM+ZI540BWIMZ8ALpR134lC\noqidsGZrt8iLMrskgUDkSsSrKBEbK3kjmakm9KZvvij/ZcCfgwaJOuwJS4nQ/lKe\nNXfF7PMKeUTKr1MPRXXrET/PTCANLdS9\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd",
         "wx" : "098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923",
         "wy" : "099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmNPxbhxRCpM+ZI540BWIMZ8ALpR134lC\noqidsGZrt8iLMrskgUDkSsSrKBEbK3kjmakm9KZvvij/ZcCfgwaJOuwJS4nQ/lKe\nNXfF7PMKeUTKr1MPRXXrET/PTCANLdS9\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e707e267ea635384a6da09823149f5cb7acbb29e910d2630c5fb5afbc42aa8436349b214a3b8fb9481ec999e005091f8",
@@ -2567,20 +2679,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0f1gL+74C+nlWhnRqXmccqiZEQxqwh+z\nwhNXBpgJ1ZGod1tk0YZ6jP/xJPal46T1+VSAZPAbmviGhwVJOjegNxk7SPU7fHlz\nAj9T5s7/aDDKL3oU71FTbUU69DswWNip\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9",
         "wx" : "0d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5",
         "wy" : "0f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0f1gL+74C+nlWhnRqXmccqiZEQxqwh+z\nwhNXBpgJ1ZGod1tk0YZ6jP/xJPal46T1+VSAZPAbmviGhwVJOjegNxk7SPU7fHlz\nAj9T5s7/aDDKL3oU71FTbUU69DswWNip\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100acc4f2afb7f5c10f818175074ef688a643fc5365e38129f86d5e2517feb81b2cd2b8dc4f7821bfd032edc4c0234085d9",
@@ -2590,20 +2703,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgvN2BPZmZMKIPbptmDl8KBBFy/WfHRbd\n2xOBEmokZVOotNKq6kitkYWhZF9lVn0xik17GfHS5ENMmo7K05YwSryCIhu6sGeZ\nNQcccv2XXnsCHASx0W6jb8LQUe9ajhF8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c",
         "wx" : "082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31",
         "wy" : "08a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgvN2BPZmZMKIPbptmDl8KBBFy/WfHRbd\n2xOBEmokZVOotNKq6kitkYWhZF9lVn0xik17GfHS5ENMmo7K05YwSryCIhu6sGeZ\nNQcccv2XXnsCHASx0W6jb8LQUe9ajhF8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083276c0793f0a19742422f8af671ccf965fa7d18d541bef4c05b90e303f891d39008439e0fda4bfad5ee9a6ace7e340c",
@@ -2613,20 +2727,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8FLfwnv4ptNvNznyObmB9bU/4I2ZnsaD\nsB5D51lhViBroIuLn1kini+9zgXx5A+ZkPD9+3Ap+bPoxhRNrQM5IIt83LOCClVC\nWdudJ6/dGPSnUClsWbrWti3wdvkNU74N\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d",
         "wx" : "0f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99",
         "wy" : "090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8FLfwnv4ptNvNznyObmB9bU/4I2ZnsaD\nsB5D51lhViBroIuLn1kini+9zgXx5A+ZkPD9+3Ap+bPoxhRNrQM5IIt83LOCClVC\nWdudJ6/dGPSnUClsWbrWti3wdvkNU74N\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100942848586b534105ddd1ca77df72e1251140f412e97b62afbf85d4822309176b5965453dee3fab709e14156b3dfcecca",
@@ -2636,20 +2751,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+He9biqSc+MioymOo63RPREEsyFyKDZp\nymaI8MtZFSSn8V3UFJZoHtqYk5qucp/t6FyjfIHvGePcmrFpCKNyDYaHWlGmptky\n43SSpux6NE6rxII3fxSJH70dp/rv+hF4\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178",
         "wx" : "0f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed",
         "wy" : "0e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+He9biqSc+MioymOo63RPREEsyFyKDZp\nymaI8MtZFSSn8V3UFJZoHtqYk5qucp/t6FyjfIHvGePcmrFpCKNyDYaHWlGmptky\n43SSpux6NE6rxII3fxSJH70dp/rv+hF4\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0",
@@ -2659,20 +2775,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFCSbvP7s6rBsdWVNNhwN+NVrMg6jvB1G\nJ+wKL0uPo1d0RWlGZPVpqR9IB0E4HklKKEefIYbXFaVniPZwcwVqoMsLan94k+d7\nmml272Zj2AImiW1/Q7tQLhtNSVWKJ92L\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b",
         "wx" : "14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a",
         "wy" : "28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFCSbvP7s6rBsdWVNNhwN+NVrMg6jvB1G\nJ+wKL0uPo1d0RWlGZPVpqR9IB0E4HklKKEefIYbXFaVniPZwcwVqoMsLan94k+d7\nmml272Zj2AImiW1/Q7tQLhtNSVWKJ92L\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072",
@@ -2682,20 +2799,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUKQ4yY7pQCXOE+J9NrgoDUhDWFg260cB\nGgcM13cpJFaEoNsx/emAYgNJx5aDKyxsvbctup8/nMh4VZ9Qtr0SkPEKa8y8Hu73\ncIsbcgWQIph5eeNSIcUSWfM3xyiKL4a8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc",
         "wx" : "50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c",
         "wy" : "0bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUKQ4yY7pQCXOE+J9NrgoDUhDWFg260cB\nGgcM13cpJFaEoNsx/emAYgNJx5aDKyxsvbctup8/nMh4VZ9Qtr0SkPEKa8y8Hu73\ncIsbcgWQIph5eeNSIcUSWfM3xyiKL4a8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81",
@@ -2705,20 +2823,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETT/F3Pr3QRE82jzi+N/0yRIUPk02MUw2\nHX7VZWtoRIvMoRS6noEkKBI0Zgt3Jt3NaA3f736ge/vO3hCAPTjXIRYxyhFGYHiB\nnrZuEZIat/+jxFYMcy53WV/UCOkX3Zr8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc",
         "wx" : "4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd",
         "wy" : "680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETT/F3Pr3QRE82jzi+N/0yRIUPk02MUw2\nHX7VZWtoRIvMoRS6noEkKBI0Zgt3Jt3NaA3f736ge/vO3hCAPTjXIRYxyhFGYHiB\nnrZuEZIat/+jxFYMcy53WV/UCOkX3Zr8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a",
@@ -2728,20 +2847,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY9Zc3+sfGkIAD0O9Hd0TBTentvY16NK9\ngal9oWgiEYPaQzynhCn9KzPF+UiVqcE6qdHV6jKHJWU6Wp0A+FpVFiNvOxQoqGKS\nh9OwSHougt1X+Tuyqj2Xg9x0Ex4TdWA0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034",
         "wx" : "63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a",
         "wy" : "0a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY9Zc3+sfGkIAD0O9Hd0TBTentvY16NK9\ngal9oWgiEYPaQzynhCn9KzPF+UiVqcE6qdHV6jKHJWU6Wp0A+FpVFiNvOxQoqGKS\nh9OwSHougt1X+Tuyqj2Xg9x0Ex4TdWA0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b",
@@ -2751,20 +2871,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0iycNIuXRXEfV966w6B9+QpSfAa9AqhF\nT0FDfVQiTgcWmPA/3GSx1lJBTtw/IjnEmumBKkuS8JnWZZpllpF2jVflMO08kdVF\nV4FgWFCZelgiHyKiRRw5MkcGBsI/OrG4\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8",
         "wx" : "0d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4",
         "wy" : "09ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0iycNIuXRXEfV966w6B9+QpSfAa9AqhF\nT0FDfVQiTgcWmPA/3GSx1lJBTtw/IjnEmumBKkuS8JnWZZpllpF2jVflMO08kdVF\nV4FgWFCZelgiHyKiRRw5MkcGBsI/OrG4\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3",
@@ -2774,20 +2895,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEMfBcDCnp2kmqL7vt7ncMaNEPhef3fnKs\nPPqchiOiu0LusvJKyPKu96sMS0eCMUADW7MvwewEu/9eq5bgcMk4uhtT/mOXD2Sa\n4C4qStpCCiSbb3xSXixLmw1VYq4m8ieM\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c",
         "wx" : "31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003",
         "wy" : "5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEMfBcDCnp2kmqL7vt7ncMaNEPhef3fnKs\nPPqchiOiu0LusvJKyPKu96sMS0eCMUADW7MvwewEu/9eq5bgcMk4uhtT/mOXD2Sa\n4C4qStpCCiSbb3xSXixLmw1VYq4m8ieM\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179",
@@ -2797,20 +2919,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvCbuyV4myYC8AzQmTLz8JriXw1ccls6a\nsqZ7SbsPJqYnL9wngG16TFcq4PeBSfHzyK9fQbmdIGYBgWVRP7O1XkJV3NBllkft\nVeHiYCyuTvvW6uHf4v9j4sdI1KzHQwE5\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139",
         "wx" : "0bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3",
         "wy" : "0c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvCbuyV4myYC8AzQmTLz8JriXw1ccls6a\nsqZ7SbsPJqYnL9wngG16TFcq4PeBSfHzyK9fQbmdIGYBgWVRP7O1XkJV3NBllkft\nVeHiYCyuTvvW6uHf4v9j4sdI1KzHQwE5\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df",
@@ -2820,20 +2943,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEb6CWTdBUJQrxdokcDIIrATtw8FnDRxcs\nr8azbNFs87D50Z8lmL0NWArBbEassWfUN1vvcBwALcwED9VIJLFMwt8BVOsg50Rk\n4f57gzQm3X1ja/LXlgP93l3aqyOrDPQm\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426",
         "wx" : "6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4",
         "wy" : "375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEb6CWTdBUJQrxdokcDIIrATtw8FnDRxcs\nr8azbNFs87D50Z8lmL0NWArBbEassWfUN1vvcBwALcwED9VIJLFMwt8BVOsg50Rk\n4f57gzQm3X1ja/LXlgP93l3aqyOrDPQm\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed",
@@ -2843,20 +2967,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuqTnEu4HhqWrDlpdr9zc+Hs4gwqy7Ib6\n7dqf32UzL2qWiCaUEvBQNWUw1GZKf7jN7MRqkBsBbmu4ozatmqbxmr+a2mlwXRyQ\nW+r7laRPUq9D3kv4DAUM+Za3eW387o4b\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b",
         "wx" : "0baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd",
         "wy" : "0ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuqTnEu4HhqWrDlpdr9zc+Hs4gwqy7Ib6\n7dqf32UzL2qWiCaUEvBQNWUw1GZKf7jN7MRqkBsBbmu4ozatmqbxmr+a2mlwXRyQ\nW+r7laRPUq9D3kv4DAUM+Za3eW387o4b\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3",
@@ -2866,20 +2991,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgeeKUq4GlVg/emAaubb7+vQ08r76H4yD\nPVnetiepJ8L0LUjrYX/gQvWE4QXCPCMXzyLVZfXztCXveTffYptoZNrHEmSyiMGp\nhyEPUjBxMZzj9kQRkQrCN2XEJm5hURK8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc",
         "wx" : "081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317",
         "wy" : "0cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgeeKUq4GlVg/emAaubb7+vQ08r76H4yD\nPVnetiepJ8L0LUjrYX/gQvWE4QXCPCMXzyLVZfXztCXveTffYptoZNrHEmSyiMGp\nhyEPUjBxMZzj9kQRkQrCN2XEJm5hURK8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb",
@@ -2889,20 +3015,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQfqHZbGdMQgDHijJp4GjhcnBCyv9QuZD\nflxL1xHPKgMXUIR9F6gvk3ajCuGCptbnHCCvljJBR9QVWk0Mhnyo4266IE++0gh+\nD8vci6q+B7sxI/n3JZ53HNnxrRfRojeH\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787",
         "wx" : "41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7",
         "wy" : "1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQfqHZbGdMQgDHijJp4GjhcnBCyv9QuZD\nflxL1xHPKgMXUIR9F6gvk3ajCuGCptbnHCCvljJBR9QVWk0Mhnyo4266IE++0gh+\nD8vci6q+B7sxI/n3JZ53HNnxrRfRojeH\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa",
@@ -2912,20 +3039,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrVyweBt0se5S4c/BXj8srmdYOJG5RJF0I\nBO3USzLw8ADI+PiPHUpl/qUdu7SrHigj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823",
         "wx" : "0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b",
         "wy" : "572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrVyweBt0se5S4c/BXj8srmdYOJG5RJF0I\nBO3USzLw8ADI+PiPHUpl/qUdu7SrHigj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34",
@@ -2937,20 +3065,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrqNPh+SLThGtHjA+ocDTUZinx25Gu26L3\n+xIrtM0PD/43Bwdv4rWaAVriRExU4dfc\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc",
         "wx" : "0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b",
         "wy" : "0a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrqNPh+SLThGtHjA+ocDTUZinx25Gu26L3\n+xIrtM0PD/43Bwdv4rWaAVriRExU4dfc\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34",
@@ -2962,20 +3091,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtNeMzLztgGXA69wzC0Zw7JkwknPkQrm+\nNBGWwQQ+REH8V7kUCFWVv8dVxk/ECfC6Af7jHLu67VwTI/Cch9+bBxLBLplzP6I+\n+RtObKZmsJ3XVA6/EGihUVW8Bp49WVyM\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c",
         "wx" : "0b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba",
         "wy" : "1fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtNeMzLztgGXA69wzC0Zw7JkwknPkQrm+\nNBGWwQQ+REH8V7kUCFWVv8dVxk/ECfC6Af7jHLu67VwTI/Cch9+bBxLBLplzP6I+\n+RtObKZmsJ3XVA6/EGihUVW8Bp49WVyM\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 271,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -2985,20 +3115,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEbjxovlOq3oHvieCW2EHihFojMx5+yKao\nOdWNB/oBbAlz7XXeT5kXe/3HTbVm6dFaSXLqCOV3zh9hwTpsobrR3u8pgu4BooJv\nACt2nyxGCY07r/BopAXQnKOEDS+v5ORu\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e",
         "wx" : "6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a",
         "wy" : "4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEbjxovlOq3oHvieCW2EHihFojMx5+yKao\nOdWNB/oBbAlz7XXeT5kXe/3HTbVm6dFaSXLqCOV3zh9hwTpsobrR3u8pgu4BooJv\nACt2nyxGCY07r/BopAXQnKOEDS+v5ORu\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
+          "tcId" : 272,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0",
@@ -3008,20 +3139,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEsQHNs+uiDhEq27S70stHmmnlkKROqQJj\nGDKr+rivLDBBs99/FmWyxutTP1RiFxAKGmGqmVFXitTwCuFzOaim8TWbvQrDVWeO\n1N8hM48IdjwdNwLsEytjTHvMARjvsdDd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd",
         "wx" : "0b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a",
         "wy" : "1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEsQHNs+uiDhEq27S70stHmmnlkKROqQJj\nGDKr+rivLDBBs99/FmWyxutTP1RiFxAKGmGqmVFXitTwCuFzOaim8TWbvQrDVWeO\n1N8hM48IdjwdNwLsEytjTHvMARjvsdDd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 273,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0",
@@ -3031,21 +3163,22 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEZ2EESgQKSXnbJptKN35C8RtL4M4kYR9n\ndnTc93D1iHyk21ZTAyg4CebWX3/GvCc2BcfapAP8pTVJ91/zNykJZC0Ct/3KweaC\nQoFNbpJasBqAg2z7s1WBlgB54vtEwNGG\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186",
         "wx" : "6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736",
         "wy" : "5c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEZ2EESgQKSXnbJptKN35C8RtL4M4kYR9n\ndnTc93D1iHyk21ZTAyg4CebWX3/GvCc2BcfapAP8pTVJ91/zNykJZC0Ct/3KweaC\nQoFNbpJasBqAg2z7s1WBlgB54vtEwNGG\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 266,
-          "comment" : "extreme value for k",
+          "tcId" : 274,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
           "result" : "valid",
@@ -3054,21 +3187,142 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENNdOwIi6tsYyOWjR9GiZOBL2kNbtyluX\nYE1xjhK4zf3ZbULlfTOv4xLw7jw9ChP3hvSSK7LBO993UqPstpOT6Ze9ZUYcRoZ+\nvu9ilrI/LFbfY6z95kjz9QAtvCOf/RWC\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1",
+        "wx" : "6922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab26",
+        "wy" : "55854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEaSLFkVAvAQRv7lYXvxZJb1g5iCLmmvqD\nNTCPNsCajtQ3IJ/vz/u98KSHazWjx6smVYVNuCW5Sz8n5fiS07u2xyQOySKJTdNZ\njpH8xhNKK4/RVOF5BGaQYgbw9iNBbmOh\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 275,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1",
+        "wx" : "0892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233",
+        "wy" : "0cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiS2sDnAPwp0YAtmkSab1ayFyyxt9iBAT\nzTsxwO2wUvLTQMiZWkR3vLkiX+wVZnIzzGw0rhdEVERRb9j9Iu6D956wdx6/9md6\nxdTgifh6HHLflXrLJEkq3NfDgWuODHWx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c",
+        "wx" : "1634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf222",
+        "wy" : "31e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAWNBF+ZHjOBWiwokaSN7usb/CWrLflFA\ncr93Ejy1G6DMPo1pKE1TTY5tHods7PIiMeXvBNyWdizn1e8zSK0eJBrHl647Yw6i\nSa/FE5r0m472izL4Eta1FCEDY9SY78KM\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895",
+        "wx" : "675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f61674456",
+        "wy" : "3e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEZ1vcedgkOIf+GzBdEqwQ0unAveBwpuM5\nTNX2rfvO2nVJiw56eUxyEvQr6T9hZ0RWPpbRv2+Vzb76d0kRugZGPYqQoMnXPJaZ\nsGHXedxSSW6O6bmunF1NkOic0RV9gRiV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23",
+        "wx" : "0fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676",
+        "wy" : "0f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAED9GquJ9HtWW4Fg38xDO2QIresUc8A2sm\nt93scU+00OfddWyIRp6G4hiBPq2OjnZ28cyVXEE54AccAHnsHXcWTgVpvfRTg36L\nM8mFNaDnycYe8kdiBnu0a2EW6nkJppsj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582",
         "wx" : "34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7",
         "wy" : "086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENNdOwIi6tsYyOWjR9GiZOBL2kNbtyluX\nYE1xjhK4zf3ZbULlfTOv4xLw7jw9ChP3hvSSK7LBO993UqPstpOT6Ze9ZUYcRoZ+\nvu9ilrI/LFbfY6z95kjz9QAtvCOf/RWC\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 267,
-          "comment" : "extreme value for k",
+          "tcId" : 280,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
           "result" : "valid",
@@ -3077,20 +3331,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809",
+        "wx" : "4376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b",
+        "wy" : "290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQ3bJiT6SdylsdmqDq742s02npjH4y/0y\noYiN4N0UVaIaFT6i1hz6UHH8a+EqZY9rKQuhqO6MeLXdWPn/yssilVaC7qAkKcP6\njNy2SfpNAHyGk+P488Cl88TeelG+qpgJ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b",
+        "wx" : "10878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b4",
+        "wy" : "3036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEIePxIB/ZzKiPIg+g444x4f3CI+UwYJL\nhGc+i56rFt4VRK5L8sb+P+T7NDt0h+K0MDb/Q5Uz0i+VHa6WZYS6+yOyF9ytL49O\nDmmZwMTQ8HZjS+gF9nb9KlnCf5/nxdlb\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6",
+        "wx" : "36b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f",
+        "wy" : "09c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEA2slPjtKyIu4WForMrl4dmqTHlrQ0OZT\nouNLRNbdzA04biDE3vLYuz+NoSjB6safnI47X/Xd4iBa81mzl01SdY16uugSuLJ1\n4UUsTlnLYum2dx00fb0d6nYccCkcxeCm\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b",
+        "wx" : "2783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a40441994",
+        "wy" : "1a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEJ4PBvpIvzhVYZOy0HQoxbhk6VYQ+gBkv\nH+VWdy8969BLn8k8J7xvNTk4iGpARBmUGjUs7DNpRkJPo8II6nEF9VSe3ehoir0w\nU0S/T2bdp+q82m+FV8mviBCYBNcC6WcL\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 284,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409",
+        "wx" : "0fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb",
+        "wy" : "620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+pJTjNx0A2jK8WSA/xMEzru+WaRqeoRg\nNya5WS0QW+Bp3xxhtZdPJ+dVL3l96XzbYg4DpG2oYuSwibr7uA348FXI9HmRs6Pd\nsrCJrtsvFYQaalteFMHcNrPBVcT3TTQJ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 285,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",
+        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
+        "wy" : "3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"
+      },
       "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqofKIr6LBTeOscce8yCtdG4dO2KLp5uY\nWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3NhfeSpYmLG9dnpi/kpLcKfj0Hb0omhR8\n6doxE7XwuMAKYLHOHX6BnXpDHXyQ6g5f\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
-        "wy" : "3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"
-      },
       "tests" : [
         {
-          "tcId" : 268,
+          "tcId" : 286,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -3098,7 +3473,7 @@
           "flags" : []
         },
         {
-          "tcId" : 269,
+          "tcId" : 287,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -3108,20 +3483,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0",
+        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
+        "wy" : "0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0"
+      },
       "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqofKIr6LBTeOscce8yCtdG4dO2KLp5uY\nWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3yeghtWnZ05CiYWdAbW0j1gcL4kLXZeuD\nFiXO7EoPRz71n04w4oF+YoW84oRvFfGg\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
-        "wy" : "0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0"
-      },
       "tests" : [
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -3129,7 +3505,7 @@
           "flags" : []
         },
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -3139,20 +3515,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
         "wx" : "29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc",
         "wy" : "09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753",
@@ -3160,7 +3537,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3065023100b713d2bfbe31b816d8cd9664b96f3383ecaac5a4d1f7e1d9ae64e2b99f9bccac04749052b45d119a39f8b2c11a385b780230690dfcac264fd52f6b26207d74f9fa2bea2ca3d59e405140c94248fb2839eb42c502581b89a964c93cc2e1752dd8b145",
@@ -3168,7 +3545,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3066023100e16bf26ea4fff5d11027bcb3ef305991171e10056986fb03643c5b3c32e88a4f83ea290931fb30f99577ac0f18b733e802310080ff5982d87f575300940c106d84de8af66e16aae7fb31debcb06dfc61fae3f5dbddf6c91211f59f4f5b69962b1f554c",
@@ -3176,7 +3553,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3066023100c137d4933acbdce166768125db5e42d0764ccad43b0104870761086072cce89de2f3819ca305dc3073a941ae78dbbf55023100f990907818a7c67ecfedd56629cc6fb334edafa233f08a79d21be8653f012994e7736a060428b45deec34140c496302e",
@@ -3184,7 +3561,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3065023000f5579516d13ca92114bf230093f2462ef65e97b111051e62fbb73d06e0635a8d70e04b20f86e5e7ed211eebc653342023100e425e475ee6e27df44eeafbb268356bcd70aee82f0b971c994b49d1aae86fec12d3b7db4aaa2ff7de5b4bfb2eedcacc0",
@@ -3192,7 +3569,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306502304e7989e8d6498df3d1b34d8f45fc922197dd023ef9f3594a7ec52dd575d24e3d93ef16e11bc77893dd341c8d1ab2c4b302310088a4178d2ba03c6acc79eda01e742dcd82fb2614cabd8bc586145c97da3d170b884678abdb2dc80b3b9bf6244e966ba1",
@@ -3200,7 +3577,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306502302b1ff7fafd59899258d6b8c69bd3410f1d983e6b167674591d9c25387263e7e25438b30dcbd2c8ff76db8ebec2c77e2a0231008c44cf1a90610d9deefbf23c935741530f9f190dae4d7ba3d6efaef3bbb0e2d47296b65ef65241ef3b98934639fb50bd",
@@ -3208,7 +3585,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3066023100c0583e25c9298fdcc1695f04d3fc32de300ec5470c584b85b7d3c3c2915e9de3c22516907852dd801d7f1ef1645157bb023100c01f7df3954501aee191ead82e68a408549a09fb3a839325111b195938df984c9cf1383cfb88800757bade4d585ec906",
@@ -3216,7 +3593,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306502304131dda169326aaac2714d0ff8a98d7439d2f353ab98e40bdde29d3b20dec87daef1358adc611280384a631f38c2cf70023100d72f8e5dbd73950cb6e941a563387ed1ae707db38f0f8a80518cf3d4885a56d8ecf7f278a1b24f0a973347b4a160bcf6",
@@ -3224,7 +3601,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3065023048e82f614523c83dfc873730d02541aab03214825d21aac689c3b851c20f9e4d563439999372fc781f4351202ddef8d1023100c54ceb0786726ce16d74d259813e6ab859e42a09639a39da77f412ab86c17a9b8b5add2bbcda564f650ca304c081be3f",
@@ -3232,7 +3609,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3066023100d7143a836608b25599a7f28dec6635494c2992ad1e2bbeecb7ef601a9c01746e710ce0d9c48accb38a79ede5b9638f3402310080f9e165e8c61035bf8aa7b5533960e46dd0e211c904a064edb6de41f797c0eae4e327612ee3f816f4157272bb4fabc9",
@@ -3240,7 +3617,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "306402307ff92abef367440ba54256a5fd5d679a9741d5a63fa0ef9ab34351239c67804eaff32f86d69b984096a1c0c76d36b79802301120223ea279522dbea4eb4297452fd9bdc723e0752b1fd7fdfcdb90d2a4e06ea3ac2e680e6823c57ddb5cbea22da451",
@@ -3248,7 +3625,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3066023100dc2a42181fac07068e0d3ee845d21f38c1464199009f99f4e88b99f540436401b514cd72ecdafd0e5b3808c9a9130928023100de979bef97b779c29b80e38fb17e8a3072f84560793d936051f5fca6013e11e743b4efc10f9bd45a9a0e5dc3d71c8f6a",
@@ -3256,7 +3633,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30640230239542d8e4ee6f48e7d10657ba3d0a9a92c66f0e10c82b5919afba50c129b2d01124ae5bdc643bfa8bb3be67814f6b6502305d5a5a89149eefd34d1f00fe8922b06e62fca3d57d1c0a8daabd3f2160706830fdb3579cf6e64ed8ee635908239e8e6d",
@@ -3264,7 +3641,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023100929edc580377e5f1f0a6bed840a14ac1ac3fdd98f7d0cd56735583b521e9f6f2d7caabed6688fed3ffcaf0554e9aecf4023008e571b8052b5b59f2251b33b609681e7128d765b8b2b169eaccd7238f372c994c99aee46c8bf4fa039d0070b544c8d3",
@@ -3272,7 +3649,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "306602310091df8d8c1a2f4fedad280883f1d54b43e9bbbc1a626df57f58cfa020159c3f91571939f06e6d32748fbb3a224c7c0559023100ab40e8c6b98b16afdf556b16fe50d3baffaf742e56cd552d5efa7307bff708923c4e9080dc46d1c23b15bc3036982fd3",
@@ -3280,7 +3657,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023058a891b20baeb6430fc44e3684900d9eee4566ee90cb3a6f175e1963d9e1e706e753ab3be82e6ab438a61fece74e3788023100bcd637e78b7a944533525c9d51b045743381c778133a5ad9d95d5d0692bea05695ff1a72419ca2929a215bc769707c1e",
@@ -3288,7 +3665,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3066023100ec4fbd25bd38a23ce5c98c6e582d0810cd918fc04be2b78df107765baefe3783a8e917bf6d6768e8f8b79f67a6b6e023023100ee8b5d4b8c8b1b26960984c3226654a829d9c28d3b050ae464c8399c936be431ad0ac22b6df23589f77cf752b965e4de",
@@ -3296,7 +3673,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023100f2a9b27da3c72a037f3ff2fe5f4c776df8383c7955636260a66316525089bbbb1719f96bc4ed132923ec168e6f3143320230476e427ec28bc4a04c485dde1d34243f1fe283616e0b632195eb71950de75e61061ca7c522a305eaacf61294339eec11",
@@ -3304,7 +3681,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023100938c88f4937f8cab933d7879f04a316d2b6976d8bfb6b86742a2442839806726723dbed366f4004537e759e77fe07e2102306415396d8690b380b4eb1b4d78016cf6d407259bad568bee662dd594731fabae115534cc7db00b2ec46326926646d029",
@@ -3312,7 +3689,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf",
@@ -3320,7 +3697,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3065023100ac5559ad224e76aa6637515357c5f0ac4ffef4f7e21297f8b65d72e6b5cc547511ddb2f0c36125b6b11c0a82308c44d20230542aea18bf5fe640d5e94fc27d69176e21cd15f0f817741e982f51e7a9d5bd4f33cd8846fbd9f6cd1ae7d0cff31de2e4",
@@ -3328,7 +3705,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3065023100d48578efe0200370eb3dba190629c584f4505b3d18dcb7176e81c94eaaba9be4b35f16b2f558cf42f6e49bb13a8c52a3023062d7450e411ce64d8349a9e90a07fc09e5521efec1b9739cc9f68d0877b4a4b4d50a5f5647ef6dc3e6a9495ccabbeae4",
@@ -3336,7 +3713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3064023019a87de40615da310fbc062ab5954a4a5d538f7bb18407e9c9e852fead9d03fed7c7fbd6034e1ad8c30b978bfed75a3202304e0c8a9da62e78c60c417fa8870cc879e4d5ec92b6ec8648fd6ce4e576f1e09eaad3867f5441d800e659207c8a1bba86",
@@ -3344,7 +3721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402306e6c0aed8fb6d30d7fd6064ad34316c9cfb4eb4a0c5bef44660a3b993ab199a934fc8e69cdf764abf05639cc16ef2e1d0230758560ba98b0b522327e2ae8a8ba843e4255c1742eb69174d3ce806c8a91ef330d186311c99062626a81fe38ad6d10c0",
@@ -3352,7 +3729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306502305acb49557723224e81e2a58e633d38cd78dcc1c905e61e2a16ade32420e198b9cd6120fcc3a57c0c986f80658dc4c4a0023100addee5259c644f68219827a73ddeb4d46123b3afd9c5812d2c6738f7e46f69115923464b7dcf214388e37a62bf2b6e8e",
@@ -3360,7 +3737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306502310083ae547fe0e176a792cb77ca7af6acdd7670f168565c7d918e8f90cbaafe59d57a425dd33d1140167446f34067fc276f0230384ce801465758c5c4b1c1684f51c36a70a844aa9b0607a4cef6e16cf59298c281cf01c712d1022d22b24cb21ebb326b",
@@ -3368,7 +3745,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3066023100ef29e1a82a785f06532f48954482c53677d2dbf6b2b1e7d1b3869a846bde4d12e03ae0d873dc36a9ac8a00c4560760e7023100de7f161069409d8c66842ee3cd9564703565c533027f12a4ca1dd6d3f276e46d42b712789b3426a36741bbe989d2dfa2",
@@ -3376,7 +3753,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306602310087c8bd783eef6a4c6d7fa736f04988ff9f8c0c5dbcc217dbd1ec581d19e0f0febf5e00ae17d8c06002c8819922f3bdc4023100d678c7b67e2e915a8d082374d0f881bea2bec6ddd588835fed0dc4fc22589104330904ff877f88e43c3b4370dd7e8534",
@@ -3384,7 +3761,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3066023100baac6d6ce7f04ae4c4c857ef84b15fa80fc65ae28094039b9650e519770725bb9a025b9ae11a01af606b05bc821fe5ec023100e4f63ca843015dbe2b5b0d416eeffde83c3551c577fae2e51439c3914e25c3bfb88926189d8bae17914d5da25fd95d4d",
@@ -3392,7 +3769,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840",
@@ -3400,7 +3777,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306402306c8c296baf417e4a24df7461c2de9e9cf5d571bf5385b638fddb79fb085df7649b2f92302bc2c5fd5f5e5329b66cbf59023053757b85d794471f605b02fb5ff537b745b743cab0ebd9d23719fd287c35fc76db0faae9acd714387ade4598afbcfe7f",
@@ -3408,7 +3785,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306502302790f0cc0c6b246039e10903c8fc31b422ae1556828211f0d161d0faebdf2c2de291aa27eb0e4e77acdf9c26c9b93ecf023100f3ae4e3438d6ec9b2226b2fbfc91531c84ee662f373fb0758d037878e389e1d41a72e79deea65566769f1a6517a5bd3d",
@@ -3416,7 +3793,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306402305acf4d0f3774877235bdb1451bab6b9213afafbf0167d0344b759ba7a25585108d47a800ff16fe931fb015fa5905554f02304b23183cf53319e1520e5b27b3329494e1a2f293095b6fa5e0246ae2541348fadcbfee925b28892edda4d05eac5e5c69",
@@ -3424,7 +3801,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306402301bc3589fc58f43ef7d7361cf0d1f0b89214e151ebd2a9757b1af0c753b19e7459ec0d83b2c030e19e56eb010ff28ca5802303943d4aabfa9f3705bfd5d544b0347e5b41651c1b5b58ba6d1d200d868193a31ccc45d955fddbb869bd0a8c16530c61e",
@@ -3432,7 +3809,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3064023024f9ee63092fd4ea83bddecb5f120d41b61ec39a5faf037b24c8fdd4036ab3ecc3368a60b82b735321ce91c23b5ea69a02306495015984abae9ab9335d0ea705b93cad15f1df84bc73a47ae38fd338f1a9a89bbd8a0dff83ff69e93c4f5ac5fb2032",
@@ -3440,7 +3817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3066023100e8ec3ba983144d851f617b28a76097335f4cdaa2d08af546f6ef13863c2293138e2d049661c671565f9fb507cfd200e40231008614ed1d49c27fce7798537a6f5ca13a25183787941aefd2282269e3a86d444742a3b546ce474d6f916a57d9ab63b6ad",
@@ -3448,7 +3825,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306502310080a7f5589456796f2287b8d875bca222907b9cc30f0d667e126f56bae9e758da271d10624ac2b2b7ef472614c06530de02303beaf667ddacecf76d6ca6a5fff559c0a3099a267f84f0f29eb481c3b2e719c14373c90218670f0dca5fa77bf95ad294",
@@ -3456,7 +3833,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3066023100e3aa89289f644082c98a80aacae011381bcbc6056007b4d81a180b3681da2e3f1fc0808b018d14fbd6afd09880e6f168023100ef6f95647ba3db06a703af6836b2fea8f1a02248d55621d0fb8b6dada63926a0a93a71a75283929f67082977cb1158b6",
@@ -3464,7 +3841,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023071c7c3bf3ce2d458c047f91ba180930fddf878c0f8dae3cdd9fd6d2da516c47265f9c3e3f51a33ef38b63c5a39de0f1e023100c080c819a34b8968bd36a60251d75464910039cdcc0ea8d18d681144960b8a566aecf27d23b47ce2b38e7ed0a4d27bf4",
@@ -3474,20 +3851,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
         "wx" : "0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac",
         "wy" : "0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f",
@@ -3495,7 +3873,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2",
@@ -3503,7 +3881,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30650230441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05023100dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd",
@@ -3513,20 +3891,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
         "wx" : "0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422",
         "wy" : "0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93",
@@ -3534,7 +3913,7 @@
           "flags" : []
         },
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955",
@@ -3542,7 +3921,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306502306688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0d023100aa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f",
@@ -3552,20 +3931,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
         "wx" : "1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000",
         "wy" : "0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae",
@@ -3573,7 +3953,7 @@
           "flags" : []
         },
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40",
@@ -3581,7 +3961,7 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3065023100d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc202301fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b",
@@ -3591,20 +3971,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
         "wx" : "2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69",
         "wy" : "0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16",
@@ -3612,7 +3993,7 @@
           "flags" : []
         },
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551",
@@ -3620,7 +4001,7 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3064023023855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd023050f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee",
@@ -3630,20 +4011,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
         "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336",
         "wy" : "208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799",
@@ -3651,7 +4033,7 @@
           "flags" : []
         },
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835",
@@ -3659,7 +4041,7 @@
           "flags" : []
         },
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3065023100e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc502304a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0",
@@ -3669,20 +4051,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
         "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336",
         "wy" : "0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f",
@@ -3690,7 +4073,7 @@
           "flags" : []
         },
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1",
@@ -3698,7 +4081,7 @@
           "flags" : []
         },
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3066023100dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9023100a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b",
diff --git a/src/third_party/wycheproof/ecdsa_secp384r1_sha384_test.txt b/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt
similarity index 79%
rename from src/third_party/wycheproof/ecdsa_secp384r1_sha384_test.txt
rename to src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt
index ae61087..29ffebc 100644
--- a/src/third_party/wycheproof/ecdsa_secp384r1_sha384_test.txt
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha384_test.txt
@@ -2,46 +2,54 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: ECDSA
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
 [key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]
 [key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
 [sha = SHA-384]
 
+# tcId = 1
 # signature malleability
 msg = 313233343030
 result = valid
 sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03995ca30240e09513805bf6209b58ac7aa9cff54eecd82b9f1
 
+# tcId = 2
 # random signature
 msg = 313233343030
 result = valid
-sig = 3064023077391f04a7b47a003a9b68ae641d6022093a5fa29464b1826228cbffc35a3a655f9712d478dec2f72dd3c02ce31c075a02305e8daba38b616460ec0e4b6477ce0266aa2f62b0cdb224907a8f999abfa68b48657677b018a29767c0926a1640fd9b0a
+sig = 3064023075982988ec19604565468179a3fa189d962cff07c60fc8f42e4771482d85b40a057dc028c9c3a6a3cfb82dc9a88b6b7b02305596a6e14c0947e092a04f669052e3eb32dba05422d94e0e46fb54e35df5b6d03ec965865976c195a081573a7cfe6bf2
 
+# tcId = 3
 # random signature
 msg = 313233343030
 result = valid
-sig = 3065023100c46c6312342ad3b2d260d33a0cc41d13378daf8570d7b937980761ea0cc18c9948b40fcd790bb2021afaa8cb4fc76ff502307a7547ed765905268768027bc59f1edf367e4088b779c2618f4c1e6f0f56154351aac80cd59d4907ef2f93155c16523d
+sig = 30650231009232a7041b91514155c19d7c53003ef5bb8f3a459b1b8a37c61025e5aa99f568e5c6a64c4e391e5422bf1dc861e14b28023059e4508807863dbc7186b2839be3f266c11e283ceb8841cc65556939c0a8fd852ea06575145f743cff4ff078430cd8a7
 
+# tcId = 4
 # random signature
 msg = 313233343030
 result = valid
-sig = 30660231009584b8a737f417dfeef0eb1a8f727e14b231ec372eb0520a2357b44478bd076e7a3e4e8bac670bfd3419296c9d854da1023100beca69a1c97e08af8e9a5cb76d9c46c6ee022b670962dc1e59850e6a9266d216aa816225d8ebcb7c4de88ceb3c1bae3d
+sig = 30650230133f344caa6325a51b0cc3aac7fa53b06d5f081976d19017b741f09a95b83d8ed28bbe8fdfac1530170cfe0f5b630705023100cb561f180bc4c74e316fad8d9414e4fd1844b6ae320e2038dce7559f143c61e3b4d6c5d758d4421132d334f0c8ed37f7
 
+# tcId = 5
 # random signature
 msg = 313233343030
 result = valid
-sig = 30650230700041c0719c076f07280dec96763c88efdb903660d57182c9c7753b0334abb2e4dd2726f63ce1a8acd0eb67a492161f0231008028097fd011fea390fba8f50c36e5676867325d0bce627c3ddc3581ed3ba7ff1e76f5ece6304c172e9144756f47b2b8
+sig = 306502300e6ed680dd151c47511cba04acf06f081cebb1ac0662b97cc5ebd077dcb4927be523bb3e5bf58ed293ced253e3f658f5023100edad9076bd329ea42e8aa41f6c86d1c5ce40a876ad554a56cc5d1a80ce4eb6748bb527bb377b56dd159a46cff1680192
 
+# tcId = 6
 # random signature
 msg = 313233343030
 result = valid
-sig = 30650230409616ba406241c624514057defe1c868e655bca413af7aa0fb3d80c4969df41d9bb5d3a733b400705453a965e80d46d023100da24d79fdb11e4612faf34b8b64af8067492d6510c4eddb1310e578d1f49a43e427dcd188b259f9012791718776253ab
+sig = 3065023100a3848f6bffae02e61b18268df4308cad49400754fab081a25930205746dc8300d3648582027ab7aec27a1d0cf8c5c12002307feff2b4d3ec0636210ec3e8af4b05731463617c70df4621c001a1253e97753d8709f0cc54e912c0cf2019b7ce3a035e
 
+# tcId = 7
 # Legacy:ASN encoding of s misses leading 0
 msg = 313233343030
 result = acceptable
@@ -51,671 +59,880 @@
 # some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
 # assuming that the signature is otherwise valid.
 
+# tcId = 8
 # valid
 msg = 313233343030
 result = valid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 9
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 308165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 10
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 306602813012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 11
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702813100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 12
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 30820065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 13
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 30670282003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 14
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70282003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 15
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 16
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 17
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3065023112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 18
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3065022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 19
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023200e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 20
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 21
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30850100000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 22
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 306a0285010000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 23
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285010000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 24
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3089010000000000000065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 25
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 306e028901000000000000003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 26
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 306e023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028901000000000000003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 27
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30847fffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 28
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 306902847fffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 29
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702847fffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 30
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3084ffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 31
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 30690284ffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 32
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70284ffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 33
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3085ffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 34
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 306a0285ffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 35
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70285ffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 36
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3088ffffffffffffffff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 37
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 306d0288ffffffffffffffff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 38
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70288ffffffffffffffff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 39
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30ff023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 40
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 306502ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 41
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 42
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 43
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3065028012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 44
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7028000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 45
 # removing sequence
 msg = 313233343030
 result = invalid
 sig = 
 
+# tcId = 46
+# lonely sequence tag
+msg = 313233343030
+result = invalid
+sig = 30
+
+# tcId = 47
 # appending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
 
+# tcId = 48
 # prepending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 30670000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
-# appending unused 0's
+# tcId = 49
+# appending unused 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
 
-# appending unused 0's
-msg = 313233343030
-result = invalid
-sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
-
-# appending null value
+# tcId = 50
+# appending null value to sequence
 msg = 313233343030
 result = invalid
 sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500
 
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
-
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500
-
+# tcId = 51
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306a4981773065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 52
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306925003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 53
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef
 
+# tcId = 54
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306a2235498177023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 55
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306922342500023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 56
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306d2232023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70004deadbeef023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 57
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306a023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72236498177023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 58
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722352500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 59
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72233023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820004deadbeef
 
+# tcId = 60
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306daa00bb00cd003065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 61
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306baa02aabb3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 62
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306d2238aa00bb00cd00023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 63
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306b2236aa02aabb023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 64
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306d023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72239aa00bb00cd00023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 65
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306b023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72237aa02aabb023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 66
+# truncated length of sequence
+msg = 313233343030
+result = invalid
+sig = 3081
+
+# tcId = 67
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 30803065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
 
+# tcId = 68
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 30692280023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 69
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
 
+# tcId = 70
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 30803165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
 
+# tcId = 71
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 30692280033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 72
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d72280033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
 
+# tcId = 73
 # Replacing sequence with NULL
 msg = 313233343030
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 74
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2e65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
-# changing tag value
+# tcId = 75
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2f65023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
-# changing tag value
+# tcId = 76
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 3165023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
-# changing tag value
+# tcId = 77
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 3265023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
-# changing tag value
+# tcId = 78
+# changing tag value of sequence
 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
-
+# tcId = 79
 # dropping value of sequence
 msg = 313233343030
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 80
+# using composition forsequence
 msg = 313233343030
 result = invalid
 sig = 306930010230643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
-# using composition
-msg = 313233343030
-result = invalid
-sig = 30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
-
-# using composition
-msg = 313233343030
-result = invalid
-sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
-
+# tcId = 81
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f
 
+# tcId = 82
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 30643012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 83
 # indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 84
 # indefinite length with truncated delimiter
 msg = 313233343030
 result = invalid
 sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8200
 
+# tcId = 85
 # indefinite length with additional element
 msg = 313233343030
 result = invalid
 sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f8205000000
 
+# tcId = 86
 # indefinite length with truncated element
 msg = 313233343030
 result = invalid
 sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82060811220000
 
+# tcId = 87
 # indefinite length with garbage
 msg = 313233343030
 result = invalid
 sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000fe02beef
 
+# tcId = 88
 # indefinite length with nonempty EOC
 msg = 313233343030
 result = invalid
 sig = 3080023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820002beef
 
+# tcId = 89
 # prepend empty sequence
 msg = 313233343030
 result = invalid
 sig = 30673000023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 90
 # append empty sequence
 msg = 313233343030
 result = invalid
 sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f823000
 
+# tcId = 91
 # sequence of sequence
 msg = 313233343030
 result = invalid
 sig = 30673065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 92
 # truncated sequence
 msg = 313233343030
 result = invalid
 sig = 3032023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7
 
+# tcId = 93
 # repeat element in sequence
 msg = 313233343030
 result = invalid
 sig = 308198023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 94
 # removing integer
 msg = 313233343030
 result = invalid
 sig = 3033023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 95
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 303402023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 96
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 3033023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702
+
+# tcId = 97
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 98
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820000
 
+# tcId = 99
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 30670232000012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 100
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70233000000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 101
+# appending unused 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70000023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 102
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 3067023212b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 103
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 3067023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023300e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f820500
+
+# tcId = 104
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 30350281023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 105
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70281
+
+# tcId = 106
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 30350500023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 107
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70500
 
+# tcId = 108
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065003012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 109
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065013012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 110
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065033012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 111
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065043012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 112
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065ff3012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 113
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7003100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 114
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7013100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 115
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7033100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 116
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7043100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 117
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7ff3100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 118
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 30350200023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 119
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 3034023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70200
 
+# tcId = 120
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 30692234020112022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 121
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 3069023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d722350201000230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 122
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 3065023010b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 123
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023102e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 124
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c54857023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 125
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f02
 
+# tcId = 126
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3064022f12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 127
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3064022fb30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 128
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023000e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f
 
+# tcId = 129
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 130
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 131
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 3066023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70232ff00e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 132
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3036090180023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 133
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7090180
 
+# tcId = 134
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3036020100023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
+
+# tcId = 135
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3035023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7020100
+
+# tcId = 136
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19a25617aad7485e6312a8589714f647acf7a94cffbe8a724a023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 137
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30660231ff12b30abef6b5476fe6b612ae557c0425661e26b44b1bfe1a138f7ca6eeda02a462743d328394f8b71dd11a2a25001f64023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 138
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30650230ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 139
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e5ec7083591125fd5b9d8bc2cd7c6b0748e22ee5d5daffe09c023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 140
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30660231feed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e65da9e85528b7a19ced57a768eb09b8530856b30041758db6023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 141
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 306602310112b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 142
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3066023100ed4cf541094ab8901949ed51aa83fbda99e1d94bb4e401e6250d35d71ceecf7c4571b51b33ba5fcdf542cc6b0e3ab729023100e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 143
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc5f8fc6adfda650a86aa74b95adbd6874b3cd8dde6cc0798f5
 
+# tcId = 144
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70230e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc66a35cfdbf1f6aec7fa409df64a7538556300ab11327d460f
 
+# tcId = 145
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231ff1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e
 
+# tcId = 146
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d70231fe1840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca03a07039520259af579558b46a5242978b4c327221933f8670b
 
+# tcId = 147
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3065023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d7023101e7bf25603e2d07076ff30b7a2abec473da8b11c572b35fc631991d5de62ddca7525aaba89325dfd04fecc47bff426f82
 
+# tcId = 148
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3064023012b30abef6b5476fe6b612ae557c0425661e26b44b1bfe19daf2ca28e3113083ba8e4ae4cc45a0320abd3394f1c548d702301840da9fc1d2f8f8900cf485d5413b8c2574ee3a8d4ca039ce66e2a219d22358ada554576cda202fb0133b8400bd907e
 
+# tcId = 149
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -723,6 +940,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 150
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -730,6 +948,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 151
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -737,6 +956,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 152
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -744,6 +964,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 153
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -751,6 +972,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 154
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -758,6 +980,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 155
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -765,6 +988,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 156
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -772,6 +996,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 157
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -779,6 +1004,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 158
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -786,6 +1012,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 159
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -793,6 +1020,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 160
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -800,6 +1028,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 161
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -807,6 +1036,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 162
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -814,6 +1044,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 163
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -821,6 +1052,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 164
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -828,6 +1060,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 165
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -835,6 +1068,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 166
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -842,6 +1076,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 167
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -849,6 +1084,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 168
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -856,6 +1092,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 169
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -863,6 +1100,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 170
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -870,6 +1108,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 171
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -877,6 +1116,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 172
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -884,6 +1124,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 173
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -891,6 +1132,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 174
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -898,6 +1140,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 175
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -905,6 +1148,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 176
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -912,6 +1156,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 177
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -919,6 +1164,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 178
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -926,6 +1172,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 179
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -933,6 +1180,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 180
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -940,6 +1188,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 181
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -947,6 +1196,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 182
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -954,6 +1204,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 183
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -961,6 +1212,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 184
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -968,6 +1220,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 185
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -975,6 +1228,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 186
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -982,6 +1236,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 187
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -989,6 +1244,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 188
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -996,6 +1252,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 189
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1003,6 +1260,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 190
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1010,6 +1268,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 191
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1017,6 +1276,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 192
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1024,6 +1284,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 193
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1031,6 +1292,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 194
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1038,6 +1300,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 195
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1045,6 +1308,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 196
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1052,6 +1316,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 197
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1059,6 +1324,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 198
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1066,6 +1332,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 199
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1073,6 +1340,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 200
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1080,6 +1348,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 201
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1087,6 +1356,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 202
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1094,6 +1364,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 203
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1101,6 +1372,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 204
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1108,6 +1380,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 205
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1115,6 +1388,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 206
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1122,6 +1396,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 207
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1129,6 +1404,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 208
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1136,6 +1412,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 209
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1143,6 +1420,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 210
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1150,6 +1428,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 211
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1157,6 +1436,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 212
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1164,6 +1444,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 213
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1171,6 +1452,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 214
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1178,6 +1460,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 215
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1185,6 +1468,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 216
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1192,6 +1476,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 217
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1199,6 +1484,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 218
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1206,6 +1492,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 219
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1213,6 +1500,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 220
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1220,6 +1508,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 221
 # Edge case for Shamir multiplication
 msg = 3133323237
 result = valid
@@ -1228,16 +1517,19 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]
 [key.wx = 4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d]
 [key.wy = 0d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2]
 [sha = SHA-384]
 
+# tcId = 222
 # k*G has a large x-coordinate
 msg = 313233343030
 result = valid
 sig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970
 
+# tcId = 223
 # r too large
 msg = 313233343030
 result = invalid
@@ -1246,11 +1538,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]
 [key.wx = 3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6]
 [key.wy = 768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576]
 [sha = SHA-384]
 
+# tcId = 224
 # r,s are large
 msg = 313233343030
 result = valid
@@ -1259,11 +1553,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]
 [key.wx = 0d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd5]
 [key.wy = 08456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720]
 [sha = SHA-384]
 
+# tcId = 225
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1272,11 +1568,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]
 [key.wx = 0a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9]
 [key.wy = 092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1]
 [sha = SHA-384]
 
+# tcId = 226
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1285,11 +1583,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]
 [key.wx = 554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511]
 [key.wy = 71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f]
 [sha = SHA-384]
 
+# tcId = 227
 # small r and s
 msg = 313233343030
 result = valid
@@ -1298,11 +1598,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]
 [key.wx = 44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c]
 [key.wy = 0d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107]
 [sha = SHA-384]
 
+# tcId = 228
 # small r and s
 msg = 313233343030
 result = valid
@@ -1311,16 +1613,19 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]
 [key.wx = 0e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390]
 [key.wy = 0e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d]
 [sha = SHA-384]
 
+# tcId = 229
 # small r and s
 msg = 313233343030
 result = valid
 sig = 3006020102020103
 
+# tcId = 230
 # r is larger than n
 msg = 313233343030
 result = invalid
@@ -1329,11 +1634,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]
 [key.wx = 5e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab]
 [key.wy = 088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f]
 [sha = SHA-384]
 
+# tcId = 231
 # s is larger than n
 msg = 313233343030
 result = invalid
@@ -1342,11 +1649,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]
 [key.wx = 0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1]
 [key.wy = 0ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d]
 [sha = SHA-384]
 
+# tcId = 232
 # small r and s^-1
 msg = 313233343030
 result = valid
@@ -1355,11 +1664,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]
 [key.wx = 58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566]
 [key.wy = 497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a]
 [sha = SHA-384]
 
+# tcId = 233
 # smallish r and s^-1
 msg = 313233343030
 result = valid
@@ -1368,11 +1679,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]
 [key.wx = 0fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12]
 [key.wy = 0998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8]
 [sha = SHA-384]
 
+# tcId = 234
 # 100-bit r and small s^-1
 msg = 313233343030
 result = valid
@@ -1381,11 +1694,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]
 [key.wx = 1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51]
 [key.wy = 0c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3]
 [sha = SHA-384]
 
+# tcId = 235
 # small r and 100 bit s^-1
 msg = 313233343030
 result = valid
@@ -1394,11 +1709,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]
 [key.wx = 1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403]
 [key.wy = 0ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765]
 [sha = SHA-384]
 
+# tcId = 236
 # 100-bit r and s^-1
 msg = 313233343030
 result = valid
@@ -1407,11 +1724,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]
 [key.wx = 52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7]
 [key.wy = 087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4]
 [sha = SHA-384]
 
+# tcId = 237
 # r and s^-1 are close to n
 msg = 313233343030
 result = valid
@@ -1420,16 +1739,19 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]
 [key.wx = 0bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44]
 [key.wy = 3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764]
 [sha = SHA-384]
 
+# tcId = 238
 # s == 1
 msg = 313233343030
 result = valid
 sig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101
 
+# tcId = 239
 # s == 0
 msg = 313233343030
 result = invalid
@@ -1438,11 +1760,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]
 [key.wx = 0f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda]
 [key.wy = 0c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028]
 [sha = SHA-384]
 
+# tcId = 240
 # point at infinity during verify
 msg = 313233343030
 result = invalid
@@ -1451,11 +1775,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]
 [key.wx = 3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383]
 [key.wy = 0d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362]
 [sha = SHA-384]
 
+# tcId = 241
 # u1 == 1
 msg = 313233343030
 result = valid
@@ -1464,11 +1790,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]
 [key.wx = 4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4]
 [key.wy = 0eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2]
 [sha = SHA-384]
 
+# tcId = 242
 # u1 == n - 1
 msg = 313233343030
 result = valid
@@ -1477,11 +1805,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]
 [key.wx = 0e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f]
 [key.wy = 0f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099]
 [sha = SHA-384]
 
+# tcId = 243
 # u2 == 1
 msg = 313233343030
 result = valid
@@ -1490,11 +1820,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]
 [key.wx = 0ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09]
 [key.wy = 0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9]
 [sha = SHA-384]
 
+# tcId = 244
 # u2 == n - 1
 msg = 313233343030
 result = valid
@@ -1503,11 +1835,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]
 [key.wx = 3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1]
 [key.wy = 39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac]
 [sha = SHA-384]
 
+# tcId = 245
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1516,11 +1850,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]
 [key.wx = 0ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00]
 [key.wy = 1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50]
 [sha = SHA-384]
 
+# tcId = 246
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1529,11 +1865,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]
 [key.wx = 088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252]
 [key.wy = 09388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262]
 [sha = SHA-384]
 
+# tcId = 247
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1542,11 +1880,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]
 [key.wx = 0f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36]
 [key.wy = 0b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5]
 [sha = SHA-384]
 
+# tcId = 248
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1555,11 +1895,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]
 [key.wx = 399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e]
 [key.wy = 1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555]
 [sha = SHA-384]
 
+# tcId = 249
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1568,11 +1910,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]
 [key.wx = 1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c]
 [key.wy = 76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b]
 [sha = SHA-384]
 
+# tcId = 250
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1581,11 +1925,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]
 [key.wx = 33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab]
 [key.wy = 1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3]
 [sha = SHA-384]
 
+# tcId = 251
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1594,11 +1940,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]
 [key.wx = 40771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda]
 [key.wy = 0e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3]
 [sha = SHA-384]
 
+# tcId = 252
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1607,11 +1955,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]
 [key.wx = 098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923]
 [key.wy = 099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd]
 [sha = SHA-384]
 
+# tcId = 253
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1620,11 +1970,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]
 [key.wx = 0d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5]
 [key.wy = 0f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9]
 [sha = SHA-384]
 
+# tcId = 254
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1633,11 +1985,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]
 [key.wx = 082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31]
 [key.wy = 08a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c]
 [sha = SHA-384]
 
+# tcId = 255
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1646,11 +2000,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]
 [key.wx = 0f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99]
 [key.wy = 090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d]
 [sha = SHA-384]
 
+# tcId = 256
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1659,11 +2015,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]
 [key.wx = 0f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed]
 [key.wy = 0e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178]
 [sha = SHA-384]
 
+# tcId = 257
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1672,11 +2030,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]
 [key.wx = 14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a]
 [key.wy = 28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b]
 [sha = SHA-384]
 
+# tcId = 258
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1685,11 +2045,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]
 [key.wx = 50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c]
 [key.wy = 0bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc]
 [sha = SHA-384]
 
+# tcId = 259
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1698,11 +2060,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]
 [key.wx = 4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd]
 [key.wy = 680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc]
 [sha = SHA-384]
 
+# tcId = 260
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1711,11 +2075,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]
 [key.wx = 63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a]
 [key.wy = 0a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034]
 [sha = SHA-384]
 
+# tcId = 261
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1724,11 +2090,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]
 [key.wx = 0d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4]
 [key.wy = 09ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8]
 [sha = SHA-384]
 
+# tcId = 262
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1737,11 +2105,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]
 [key.wx = 31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003]
 [key.wy = 5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c]
 [sha = SHA-384]
 
+# tcId = 263
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1750,11 +2120,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]
 [key.wx = 0bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3]
 [key.wy = 0c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139]
 [sha = SHA-384]
 
+# tcId = 264
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1763,11 +2135,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]
 [key.wx = 6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4]
 [key.wy = 375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426]
 [sha = SHA-384]
 
+# tcId = 265
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1776,11 +2150,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]
 [key.wx = 0baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd]
 [key.wy = 0ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b]
 [sha = SHA-384]
 
+# tcId = 266
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1789,11 +2165,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]
 [key.wx = 081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317]
 [key.wy = 0cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc]
 [sha = SHA-384]
 
+# tcId = 267
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1802,11 +2180,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]
 [key.wx = 41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7]
 [key.wy = 1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787]
 [sha = SHA-384]
 
+# tcId = 268
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1815,11 +2195,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]
 [key.wx = 0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]
 [key.wy = 572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823]
 [sha = SHA-384]
 
+# tcId = 269
 # point duplication during verification
 msg = 313233343030
 result = valid
@@ -1831,11 +2213,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]
 [key.wx = 0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b]
 [key.wy = 0a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc]
 [sha = SHA-384]
 
+# tcId = 270
 # duplication bug
 msg = 313233343030
 result = invalid
@@ -1847,11 +2231,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]
 [key.wx = 0b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba]
 [key.wy = 1fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c]
 [sha = SHA-384]
 
+# tcId = 271
 # point with x-coordinate 0
 msg = 313233343030
 result = invalid
@@ -1860,11 +2246,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]
 [key.wx = 6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a]
 [key.wy = 4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e]
 [sha = SHA-384]
 
+# tcId = 272
 # point with x-coordinate 0
 msg = 313233343030
 result = invalid
@@ -1873,11 +2261,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]
 [key.wx = 0b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a]
 [key.wy = 1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd]
 [sha = SHA-384]
 
+# tcId = 273
 # comparison with point at infinity 
 msg = 313233343030
 result = invalid
@@ -1886,12 +2276,14 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]
 [key.wx = 6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736]
 [key.wy = 5c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186]
 [sha = SHA-384]
 
-# extreme value for k
+# tcId = 274
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
@@ -1899,12 +2291,89 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]
+[key.wx = 6922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab26]
+[key.wy = 55854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1]
+[sha = SHA-384]
+
+# tcId = 275
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]
+[key.wx = 0892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233]
+[key.wy = 0cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1]
+[sha = SHA-384]
+
+# tcId = 276
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 0401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]
+[key.wx = 1634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf222]
+[key.wy = 31e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c]
+[sha = SHA-384]
+
+# tcId = 277
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]
+[key.wx = 675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f61674456]
+[key.wy = 3e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895]
+[sha = SHA-384]
+
+# tcId = 278
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]
+[key.wx = 0fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676]
+[key.wy = 0f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23]
+[sha = SHA-384]
+
+# tcId = 279
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 0434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]
 [key.wx = 34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7]
 [key.wy = 086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582]
 [sha = SHA-384]
 
-# extreme value for k
+# tcId = 280
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
@@ -1912,16 +2381,94 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]
+[key.wx = 4376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b]
+[key.wy = 290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809]
+[sha = SHA-384]
+
+# tcId = 281
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 0410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]
+[key.wx = 10878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b4]
+[key.wy = 3036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b]
+[sha = SHA-384]
+
+# tcId = 282
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]
+[key.wx = 36b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f]
+[key.wy = 09c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6]
+[sha = SHA-384]
+
+# tcId = 283
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]
+[key.wx = 2783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a40441994]
+[key.wy = 1a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b]
+[sha = SHA-384]
+
+# tcId = 284
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]
+[key.wx = 0fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb]
+[key.wy = 620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409]
+[sha = SHA-384]
+
+# tcId = 285
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
 [key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]
 [key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
 [sha = SHA-384]
 
+# tcId = 286
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
 
+# tcId = 287
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1930,16 +2477,19 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
 [key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]
 [key.wy = 0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
 [sha = SHA-384]
 
+# tcId = 288
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
 
+# tcId = 289
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1948,206 +2498,247 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
 [key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]
 [key.wy = 09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
 [sha = SHA-384]
 
+# tcId = 290
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753
 
+# tcId = 291
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3065023100b713d2bfbe31b816d8cd9664b96f3383ecaac5a4d1f7e1d9ae64e2b99f9bccac04749052b45d119a39f8b2c11a385b780230690dfcac264fd52f6b26207d74f9fa2bea2ca3d59e405140c94248fb2839eb42c502581b89a964c93cc2e1752dd8b145
 
+# tcId = 292
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3066023100e16bf26ea4fff5d11027bcb3ef305991171e10056986fb03643c5b3c32e88a4f83ea290931fb30f99577ac0f18b733e802310080ff5982d87f575300940c106d84de8af66e16aae7fb31debcb06dfc61fae3f5dbddf6c91211f59f4f5b69962b1f554c
 
+# tcId = 293
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3066023100c137d4933acbdce166768125db5e42d0764ccad43b0104870761086072cce89de2f3819ca305dc3073a941ae78dbbf55023100f990907818a7c67ecfedd56629cc6fb334edafa233f08a79d21be8653f012994e7736a060428b45deec34140c496302e
 
+# tcId = 294
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3065023000f5579516d13ca92114bf230093f2462ef65e97b111051e62fbb73d06e0635a8d70e04b20f86e5e7ed211eebc653342023100e425e475ee6e27df44eeafbb268356bcd70aee82f0b971c994b49d1aae86fec12d3b7db4aaa2ff7de5b4bfb2eedcacc0
 
+# tcId = 295
 # pseudorandom signature
 msg = 
 result = valid
 sig = 306502304e7989e8d6498df3d1b34d8f45fc922197dd023ef9f3594a7ec52dd575d24e3d93ef16e11bc77893dd341c8d1ab2c4b302310088a4178d2ba03c6acc79eda01e742dcd82fb2614cabd8bc586145c97da3d170b884678abdb2dc80b3b9bf6244e966ba1
 
+# tcId = 296
 # pseudorandom signature
 msg = 
 result = valid
 sig = 306502302b1ff7fafd59899258d6b8c69bd3410f1d983e6b167674591d9c25387263e7e25438b30dcbd2c8ff76db8ebec2c77e2a0231008c44cf1a90610d9deefbf23c935741530f9f190dae4d7ba3d6efaef3bbb0e2d47296b65ef65241ef3b98934639fb50bd
 
+# tcId = 297
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3066023100c0583e25c9298fdcc1695f04d3fc32de300ec5470c584b85b7d3c3c2915e9de3c22516907852dd801d7f1ef1645157bb023100c01f7df3954501aee191ead82e68a408549a09fb3a839325111b195938df984c9cf1383cfb88800757bade4d585ec906
 
+# tcId = 298
 # pseudorandom signature
 msg = 
 result = valid
 sig = 306502304131dda169326aaac2714d0ff8a98d7439d2f353ab98e40bdde29d3b20dec87daef1358adc611280384a631f38c2cf70023100d72f8e5dbd73950cb6e941a563387ed1ae707db38f0f8a80518cf3d4885a56d8ecf7f278a1b24f0a973347b4a160bcf6
 
+# tcId = 299
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3065023048e82f614523c83dfc873730d02541aab03214825d21aac689c3b851c20f9e4d563439999372fc781f4351202ddef8d1023100c54ceb0786726ce16d74d259813e6ab859e42a09639a39da77f412ab86c17a9b8b5add2bbcda564f650ca304c081be3f
 
+# tcId = 300
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3066023100d7143a836608b25599a7f28dec6635494c2992ad1e2bbeecb7ef601a9c01746e710ce0d9c48accb38a79ede5b9638f3402310080f9e165e8c61035bf8aa7b5533960e46dd0e211c904a064edb6de41f797c0eae4e327612ee3f816f4157272bb4fabc9
 
+# tcId = 301
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 306402307ff92abef367440ba54256a5fd5d679a9741d5a63fa0ef9ab34351239c67804eaff32f86d69b984096a1c0c76d36b79802301120223ea279522dbea4eb4297452fd9bdc723e0752b1fd7fdfcdb90d2a4e06ea3ac2e680e6823c57ddb5cbea22da451
 
+# tcId = 302
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3066023100dc2a42181fac07068e0d3ee845d21f38c1464199009f99f4e88b99f540436401b514cd72ecdafd0e5b3808c9a9130928023100de979bef97b779c29b80e38fb17e8a3072f84560793d936051f5fca6013e11e743b4efc10f9bd45a9a0e5dc3d71c8f6a
 
+# tcId = 303
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 30640230239542d8e4ee6f48e7d10657ba3d0a9a92c66f0e10c82b5919afba50c129b2d01124ae5bdc643bfa8bb3be67814f6b6502305d5a5a89149eefd34d1f00fe8922b06e62fca3d57d1c0a8daabd3f2160706830fdb3579cf6e64ed8ee635908239e8e6d
 
+# tcId = 304
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023100929edc580377e5f1f0a6bed840a14ac1ac3fdd98f7d0cd56735583b521e9f6f2d7caabed6688fed3ffcaf0554e9aecf4023008e571b8052b5b59f2251b33b609681e7128d765b8b2b169eaccd7238f372c994c99aee46c8bf4fa039d0070b544c8d3
 
+# tcId = 305
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 306602310091df8d8c1a2f4fedad280883f1d54b43e9bbbc1a626df57f58cfa020159c3f91571939f06e6d32748fbb3a224c7c0559023100ab40e8c6b98b16afdf556b16fe50d3baffaf742e56cd552d5efa7307bff708923c4e9080dc46d1c23b15bc3036982fd3
 
+# tcId = 306
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023058a891b20baeb6430fc44e3684900d9eee4566ee90cb3a6f175e1963d9e1e706e753ab3be82e6ab438a61fece74e3788023100bcd637e78b7a944533525c9d51b045743381c778133a5ad9d95d5d0692bea05695ff1a72419ca2929a215bc769707c1e
 
+# tcId = 307
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3066023100ec4fbd25bd38a23ce5c98c6e582d0810cd918fc04be2b78df107765baefe3783a8e917bf6d6768e8f8b79f67a6b6e023023100ee8b5d4b8c8b1b26960984c3226654a829d9c28d3b050ae464c8399c936be431ad0ac22b6df23589f77cf752b965e4de
 
+# tcId = 308
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023100f2a9b27da3c72a037f3ff2fe5f4c776df8383c7955636260a66316525089bbbb1719f96bc4ed132923ec168e6f3143320230476e427ec28bc4a04c485dde1d34243f1fe283616e0b632195eb71950de75e61061ca7c522a305eaacf61294339eec11
 
+# tcId = 309
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023100938c88f4937f8cab933d7879f04a316d2b6976d8bfb6b86742a2442839806726723dbed366f4004537e759e77fe07e2102306415396d8690b380b4eb1b4d78016cf6d407259bad568bee662dd594731fabae115534cc7db00b2ec46326926646d029
 
+# tcId = 310
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf
 
+# tcId = 311
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3065023100ac5559ad224e76aa6637515357c5f0ac4ffef4f7e21297f8b65d72e6b5cc547511ddb2f0c36125b6b11c0a82308c44d20230542aea18bf5fe640d5e94fc27d69176e21cd15f0f817741e982f51e7a9d5bd4f33cd8846fbd9f6cd1ae7d0cff31de2e4
 
+# tcId = 312
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3065023100d48578efe0200370eb3dba190629c584f4505b3d18dcb7176e81c94eaaba9be4b35f16b2f558cf42f6e49bb13a8c52a3023062d7450e411ce64d8349a9e90a07fc09e5521efec1b9739cc9f68d0877b4a4b4d50a5f5647ef6dc3e6a9495ccabbeae4
 
+# tcId = 313
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3064023019a87de40615da310fbc062ab5954a4a5d538f7bb18407e9c9e852fead9d03fed7c7fbd6034e1ad8c30b978bfed75a3202304e0c8a9da62e78c60c417fa8870cc879e4d5ec92b6ec8648fd6ce4e576f1e09eaad3867f5441d800e659207c8a1bba86
 
+# tcId = 314
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 306402306e6c0aed8fb6d30d7fd6064ad34316c9cfb4eb4a0c5bef44660a3b993ab199a934fc8e69cdf764abf05639cc16ef2e1d0230758560ba98b0b522327e2ae8a8ba843e4255c1742eb69174d3ce806c8a91ef330d186311c99062626a81fe38ad6d10c0
 
+# tcId = 315
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 306502305acb49557723224e81e2a58e633d38cd78dcc1c905e61e2a16ade32420e198b9cd6120fcc3a57c0c986f80658dc4c4a0023100addee5259c644f68219827a73ddeb4d46123b3afd9c5812d2c6738f7e46f69115923464b7dcf214388e37a62bf2b6e8e
 
+# tcId = 316
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 306502310083ae547fe0e176a792cb77ca7af6acdd7670f168565c7d918e8f90cbaafe59d57a425dd33d1140167446f34067fc276f0230384ce801465758c5c4b1c1684f51c36a70a844aa9b0607a4cef6e16cf59298c281cf01c712d1022d22b24cb21ebb326b
 
+# tcId = 317
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3066023100ef29e1a82a785f06532f48954482c53677d2dbf6b2b1e7d1b3869a846bde4d12e03ae0d873dc36a9ac8a00c4560760e7023100de7f161069409d8c66842ee3cd9564703565c533027f12a4ca1dd6d3f276e46d42b712789b3426a36741bbe989d2dfa2
 
+# tcId = 318
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 306602310087c8bd783eef6a4c6d7fa736f04988ff9f8c0c5dbcc217dbd1ec581d19e0f0febf5e00ae17d8c06002c8819922f3bdc4023100d678c7b67e2e915a8d082374d0f881bea2bec6ddd588835fed0dc4fc22589104330904ff877f88e43c3b4370dd7e8534
 
+# tcId = 319
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3066023100baac6d6ce7f04ae4c4c857ef84b15fa80fc65ae28094039b9650e519770725bb9a025b9ae11a01af606b05bc821fe5ec023100e4f63ca843015dbe2b5b0d416eeffde83c3551c577fae2e51439c3914e25c3bfb88926189d8bae17914d5da25fd95d4d
 
+# tcId = 320
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840
 
+# tcId = 321
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 306402306c8c296baf417e4a24df7461c2de9e9cf5d571bf5385b638fddb79fb085df7649b2f92302bc2c5fd5f5e5329b66cbf59023053757b85d794471f605b02fb5ff537b745b743cab0ebd9d23719fd287c35fc76db0faae9acd714387ade4598afbcfe7f
 
+# tcId = 322
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 306502302790f0cc0c6b246039e10903c8fc31b422ae1556828211f0d161d0faebdf2c2de291aa27eb0e4e77acdf9c26c9b93ecf023100f3ae4e3438d6ec9b2226b2fbfc91531c84ee662f373fb0758d037878e389e1d41a72e79deea65566769f1a6517a5bd3d
 
+# tcId = 323
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 306402305acf4d0f3774877235bdb1451bab6b9213afafbf0167d0344b759ba7a25585108d47a800ff16fe931fb015fa5905554f02304b23183cf53319e1520e5b27b3329494e1a2f293095b6fa5e0246ae2541348fadcbfee925b28892edda4d05eac5e5c69
 
+# tcId = 324
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 306402301bc3589fc58f43ef7d7361cf0d1f0b89214e151ebd2a9757b1af0c753b19e7459ec0d83b2c030e19e56eb010ff28ca5802303943d4aabfa9f3705bfd5d544b0347e5b41651c1b5b58ba6d1d200d868193a31ccc45d955fddbb869bd0a8c16530c61e
 
+# tcId = 325
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3064023024f9ee63092fd4ea83bddecb5f120d41b61ec39a5faf037b24c8fdd4036ab3ecc3368a60b82b735321ce91c23b5ea69a02306495015984abae9ab9335d0ea705b93cad15f1df84bc73a47ae38fd338f1a9a89bbd8a0dff83ff69e93c4f5ac5fb2032
 
+# tcId = 326
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3066023100e8ec3ba983144d851f617b28a76097335f4cdaa2d08af546f6ef13863c2293138e2d049661c671565f9fb507cfd200e40231008614ed1d49c27fce7798537a6f5ca13a25183787941aefd2282269e3a86d444742a3b546ce474d6f916a57d9ab63b6ad
 
+# tcId = 327
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 306502310080a7f5589456796f2287b8d875bca222907b9cc30f0d667e126f56bae9e758da271d10624ac2b2b7ef472614c06530de02303beaf667ddacecf76d6ca6a5fff559c0a3099a267f84f0f29eb481c3b2e719c14373c90218670f0dca5fa77bf95ad294
 
+# tcId = 328
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3066023100e3aa89289f644082c98a80aacae011381bcbc6056007b4d81a180b3681da2e3f1fc0808b018d14fbd6afd09880e6f168023100ef6f95647ba3db06a703af6836b2fea8f1a02248d55621d0fb8b6dada63926a0a93a71a75283929f67082977cb1158b6
 
+# tcId = 329
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
@@ -2156,21 +2747,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
 [key.wx = 0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]
 [key.wy = 0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
 [sha = SHA-384]
 
+# tcId = 330
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f
 
+# tcId = 331
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2
 
+# tcId = 332
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2179,21 +2774,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
 [key.wx = 0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]
 [key.wy = 0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
 [sha = SHA-384]
 
+# tcId = 333
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93
 
+# tcId = 334
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955
 
+# tcId = 335
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2202,21 +2801,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
 [key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]
 [key.wy = 0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
 [sha = SHA-384]
 
+# tcId = 336
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae
 
+# tcId = 337
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40
 
+# tcId = 338
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2225,21 +2828,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
 [key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]
 [key.wy = 0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
 [sha = SHA-384]
 
+# tcId = 339
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16
 
+# tcId = 340
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551
 
+# tcId = 341
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2248,21 +2855,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
 [key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]
 [key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
 [sha = SHA-384]
 
+# tcId = 342
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799
 
+# tcId = 343
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835
 
+# tcId = 344
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2271,21 +2882,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
 [key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]
 [key.wy = 0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
 [sha = SHA-384]
 
+# tcId = 345
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f
 
+# tcId = 346
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1
 
+# tcId = 347
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
diff --git a/src/third_party/wycheproof/ecdsa_secp384r1_sha512_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.json
similarity index 84%
rename from src/third_party/wycheproof/ecdsa_secp384r1_sha512_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.json
index ad507d3..9b585e8 100644
--- a/src/third_party/wycheproof/ecdsa_secp384r1_sha512_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.json
@@ -1,27 +1,28 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 330,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 348,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAELaV92hCJJ2pUP5/9rAv/DZdsrXHrcoDn\n2b/Z/uS9svIPR/+IgnQ4l3LZjMV1ITiqS20FTWnc8+JexJ34cHFeNIg7GDYZfXb4\nrZYuePZXG7x0B7DWCR+eTYjwFCdEBhdP\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f",
         "wx" : "2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa",
         "wy" : "4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAELaV92hCJJ2pUP5/9rAv/DZdsrXHrcoDn\n2b/Z/uS9svIPR/+IgnQ4l3LZjMV1ITiqS20FTWnc8+JexJ34cHFeNIg7GDYZfXb4\nrZYuePZXG7x0B7DWCR+eTYjwFCdEBhdP\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -35,7 +36,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "306402301d526c8b0d7b0858c58e843fd9d7c779a519f0c34aa789f36cdbb6f0820a506b3631ccc2b335f78350f7c50337d0f5190230454ccaa7aec6e4bec81886203e5a8743a67a265dd9c048f47b7b6a4d2a18e27992e727757788e0c4b22ef0c16ec0643a",
+          "sig" : "306502307e99965aee24503b03d272714eed7025523539d03302e3bd4d7d5a7a90c0913b2c92692bd36d0b3c39276233098448b6023100d71668b3fe4250355a4f83e124b7e5e5d74b79b6e29338319c9de6f52806ac8be61014610706b01a2f85aad1e51e9172",
           "result" : "valid",
           "flags" : []
         },
@@ -43,7 +44,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3065023100e2cc9ba64c14225cee38c83c0f060e4df6977efafde3df2abeddb0a6b55f68e29a3842c5064540f020c940c14cb066ab0230504f4d0fd25a10f866bb15c5bbfd2a56a157e01a67530d02f737f62f2cb661e5e133569d5f870ac1c629b2edd010a19e",
+          "sig" : "306402301237c06eeca85a3505d64a8d3b23c22ab53d552a7872d93419deead45c7a92d9e863b5569d7493c12fd479949ca475720230781b915b1b02630ae524c9ae057b45ecdd5f5eb41fb7f22382f90ca7d494bde49e95af8eaea39610542e4c64499f1cdd",
           "result" : "valid",
           "flags" : []
         },
@@ -51,7 +52,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3066023100cd5d45c993e29a8dfab724cfd83eec1da56a101dc12ab26242c72c8196db8b07e5cba3e84d720d0120b38c25a938e4ec02310088f6d024d7a40232b81816246ca44e69ad0f2dee19312c3937028a91e843d386e649923059c28025a3017e1228b7a2eb",
+          "sig" : "30650230325328490218c8d8a87cb3b80c5e757bdd2e31ed25e294d55bab0b76eccb9c0e3be00abfec37cd6f0529e662cf449570023100b6bcec84b93fb5b332d8de665f62e43572b8a793078a7fbaaccc8d58eaaf0186387031c60ee8cb7e34494231ff53b14d",
           "result" : "valid",
           "flags" : []
         },
@@ -59,7 +60,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30640230425ebeaf08d3a75c61e193b6fd0d27ab04cecc4f35a9cf1e1d1420795ec34bc7301216248f265d759fdc39e687bd49ff0230500819b4abc358e7139eb3c481bb73d88322e7467e617a47143989844b5d95b7c79b3192075faa7a157ca8278376b109",
+          "sig" : "306402307943d795e12846871b632e20ff15e133cf7ee835eea39021eed8e67ed2beb9fcdc47333a5dd949ee0f11f34a5ce111bd02300c48fe32b87d73c0c96e9677e3b60b41c5c50189c32717a00a45a9826386f91360799ca98ae6b8718585ac87d7c6d52c",
           "result" : "valid",
           "flags" : []
         },
@@ -67,7 +68,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "306402300b1d031c018d70070d27e3b0c565c2c887206711567d35b79060c9273a03e2cc022c2711a983fee92a24d81ec1269cdb02303df76cc45d142a5ef8f1c4fae7ef1d10f267606089dc4b53aaac719835a2768e9a7a0e85649a22f0e50aae7cb52149cc",
+          "sig" : "3064023035ded233801e06a96f57686cb029e60b7928d8200bd2a7590866958079c5b058f9755b89dccef7ed5583200ffc0982f402301e0621b528f02b35756cfab176e219d7e0bfc965084d68be89d68b6de0c07649ca4450498dd46f043263b024366e95fa",
           "result" : "valid",
           "flags" : []
         },
@@ -105,7 +106,9 @@
           "msg" : "313233343030",
           "sig" : "308166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -113,7 +116,9 @@
           "msg" : "313233343030",
           "sig" : "306702813100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -121,7 +126,9 @@
           "msg" : "313233343030",
           "sig" : "3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -129,7 +136,9 @@
           "msg" : "313233343030",
           "sig" : "30820066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -137,7 +146,9 @@
           "msg" : "313233343030",
           "sig" : "30680282003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 15,
@@ -145,7 +156,9 @@
           "msg" : "313233343030",
           "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 16,
@@ -397,6 +410,14 @@
         },
         {
           "tcId" : 47,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000",
@@ -404,7 +425,7 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
+          "tcId" : 49,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30680000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -412,24 +433,16 @@
           "flags" : []
         },
         {
-          "tcId" : 49,
-          "comment" : "appending unused 0's",
+          "tcId" : 50,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 50,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 51,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500",
           "result" : "invalid",
@@ -437,22 +450,6 @@
         },
         {
           "tcId" : 52,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306b4981773066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -460,7 +457,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306a25003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -468,7 +465,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef",
@@ -476,7 +473,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306b2236498177023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -484,7 +481,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306a22352500023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -492,7 +489,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306e2233023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20004deadbeef02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -500,7 +497,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223649817702310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -508,7 +505,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235250002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -516,7 +513,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef",
@@ -524,7 +521,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306eaa00bb00cd003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -532,7 +529,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306caa02aabb3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -540,7 +537,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306e2239aa00bb00cd00023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -548,7 +545,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306c2237aa02aabb023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -556,7 +553,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22239aa00bb00cd0002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -564,7 +561,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 66,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "306c023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22237aa02aabb02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -572,7 +569,15 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 67,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30803066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000",
@@ -580,7 +585,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "306a2280023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -588,7 +593,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000",
@@ -596,7 +601,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30803166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000",
@@ -604,7 +609,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "306a2280033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -612,7 +617,7 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
+          "tcId" : 73,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228003310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000",
@@ -620,7 +625,7 @@
           "flags" : []
         },
         {
-          "tcId" : 75,
+          "tcId" : 74,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -628,127 +633,47 @@
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "3166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "3266023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 80,
-          "comment" : "changing tag value",
+          "tcId" : 79,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066013100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066043100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066ff3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e201310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e203310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e204310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2ff310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 91,
+          "tcId" : 80,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -756,31 +681,15 @@
           "flags" : []
         },
         {
-          "tcId" : 92,
-          "comment" : "using composition",
+          "tcId" : 81,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "306a30010230653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 93,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7",
@@ -788,7 +697,7 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "30653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -796,15 +705,17 @@
           "flags" : []
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd00",
@@ -812,7 +723,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd05000000",
@@ -820,7 +731,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd060811220000",
@@ -828,7 +739,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000fe02beef",
@@ -836,7 +747,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0002beef",
@@ -844,7 +755,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "30683000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -852,7 +763,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd3000",
@@ -860,7 +771,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -868,7 +779,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "3033023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2",
@@ -876,7 +787,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "308199023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -884,7 +795,7 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 95,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "303302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -892,7 +803,23 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "30340202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3034023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -900,7 +827,7 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000",
@@ -908,23 +835,67 @@
           "flags" : []
         },
         {
-          "tcId" : 111,
+          "tcId" : 100,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30680233000000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 112,
+          "tcId" : 101,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023300000084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 102,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3035028102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3035050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -932,7 +903,7 @@
           "flags" : []
         },
         {
-          "tcId" : 114,
+          "tcId" : 108,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20500",
@@ -940,7 +911,87 @@
           "flags" : []
         },
         {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066013100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066043100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066ff3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e201310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e203310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e204310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2ff310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3035020002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -948,7 +999,7 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 120,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20200",
@@ -956,7 +1007,23 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3066023102814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -964,7 +1031,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310284f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -972,7 +1039,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a156202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -980,7 +1047,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a74d",
@@ -988,7 +1055,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3065023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a1502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -996,7 +1063,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -1004,7 +1071,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7",
@@ -1012,7 +1079,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -1020,7 +1087,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30670232ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -1028,7 +1095,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20232ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -1036,7 +1103,7 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
+          "tcId" : 133,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "303609018002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
@@ -1044,7 +1111,7 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
+          "tcId" : 134,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2090180",
@@ -1052,66 +1119,18 @@
           "flags" : []
         },
         {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3066023101814cc9a70febda342d4ada87fc39426f403d5e8980842845d38217e2bcceedb5caa7aef8bc35edeec4beb155610f3f5502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30650230814cc9a70febda342d4ada87fc39426f403d5e898084284644bb7cded46091f71a7393942ad49ef8eae67e7fc784ec6f02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30660231ff7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9bb4483212b9f6e08e58c6c6bd52b610715198180387b139102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30660231fe7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7ba2c7de81d4331124a3558510743ca12113b414eaa9ef0c0ab02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3066023101814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 135,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "sig" : "303602010002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 136,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e5fd3ad1cb7a61dc9507f6eeb2a65341ad0cac035dfee58d140",
+          "sig" : "3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1119,7 +1138,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e6044e681b3bdaf6d91cf3acfc5d3d2cbdaf0e8030a54ce7e5a",
+          "sig" : "3066023101814cc9a70febda342d4ada87fc39426f403d5e8980842845d38217e2bcceedb5caa7aef8bc35edeec4beb155610f3f5502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
@@ -1127,7 +1146,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231ff7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833",
+          "sig" : "30650230814cc9a70febda342d4ada87fc39426f403d5e898084284644bb7cded46091f71a7393942ad49ef8eae67e7fc784ec6f02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
@@ -1135,7 +1154,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231fe7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a1a02c52e34859e236af809114d59acbe52f353fca2011a72ec0",
+          "sig" : "30660231ff7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
@@ -1143,7 +1162,7 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "sig" : "306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9bb4483212b9f6e08e58c6c6bd52b610715198180387b139102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
@@ -1151,12 +1170,76 @@
           "tcId" : 141,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833",
+          "sig" : "30660231fe7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7ba2c7de81d4331124a3558510743ca12113b414eaa9ef0c0ab02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3066023101814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e5fd3ad1cb7a61dc9507f6eeb2a65341ad0cac035dfee58d140",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e6044e681b3bdaf6d91cf3acfc5d3d2cbdaf0e8030a54ce7e5a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231ff7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231fe7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a1a02c52e34859e236af809114d59acbe52f353fca2011a72ec0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1166,7 +1249,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1176,7 +1259,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1186,7 +1269,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1196,7 +1279,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1206,7 +1289,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1216,7 +1299,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1226,7 +1309,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020100023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1236,7 +1319,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1246,7 +1329,7 @@
           ]
         },
         {
-          "tcId" : 151,
+          "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1256,7 +1339,7 @@
           ]
         },
         {
-          "tcId" : 152,
+          "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1266,7 +1349,7 @@
           ]
         },
         {
-          "tcId" : 153,
+          "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201010201ff",
@@ -1276,7 +1359,7 @@
           ]
         },
         {
-          "tcId" : 154,
+          "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1286,7 +1369,7 @@
           ]
         },
         {
-          "tcId" : 155,
+          "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1296,7 +1379,7 @@
           ]
         },
         {
-          "tcId" : 156,
+          "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1306,7 +1389,7 @@
           ]
         },
         {
-          "tcId" : 157,
+          "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1316,7 +1399,7 @@
           ]
         },
         {
-          "tcId" : 158,
+          "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036020101023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1326,7 +1409,7 @@
           ]
         },
         {
-          "tcId" : 159,
+          "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020101090380fe01",
@@ -1336,7 +1419,7 @@
           ]
         },
         {
-          "tcId" : 160,
+          "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020100",
@@ -1346,7 +1429,7 @@
           ]
         },
         {
-          "tcId" : 161,
+          "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff020101",
@@ -1356,7 +1439,7 @@
           ]
         },
         {
-          "tcId" : 162,
+          "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201ff0201ff",
@@ -1366,7 +1449,7 @@
           ]
         },
         {
-          "tcId" : 163,
+          "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1376,7 +1459,7 @@
           ]
         },
         {
-          "tcId" : 164,
+          "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1386,7 +1469,7 @@
           ]
         },
         {
-          "tcId" : 165,
+          "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1396,7 +1479,7 @@
           ]
         },
         {
-          "tcId" : 166,
+          "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1406,7 +1489,7 @@
           ]
         },
         {
-          "tcId" : 167,
+          "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30360201ff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1416,7 +1499,7 @@
           ]
         },
         {
-          "tcId" : 168,
+          "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30080201ff090380fe01",
@@ -1426,7 +1509,7 @@
           ]
         },
         {
-          "tcId" : 169,
+          "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020100",
@@ -1436,7 +1519,7 @@
           ]
         },
         {
-          "tcId" : 170,
+          "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973020101",
@@ -1446,7 +1529,7 @@
           ]
         },
         {
-          "tcId" : 171,
+          "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529730201ff",
@@ -1456,7 +1539,7 @@
           ]
         },
         {
-          "tcId" : 172,
+          "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1466,7 +1549,7 @@
           ]
         },
         {
-          "tcId" : 173,
+          "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1476,7 +1559,7 @@
           ]
         },
         {
-          "tcId" : 174,
+          "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1486,7 +1569,7 @@
           ]
         },
         {
-          "tcId" : 175,
+          "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1496,7 +1579,7 @@
           ]
         },
         {
-          "tcId" : 176,
+          "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1506,7 +1589,7 @@
           ]
         },
         {
-          "tcId" : 177,
+          "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973090380fe01",
@@ -1516,7 +1599,7 @@
           ]
         },
         {
-          "tcId" : 178,
+          "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020100",
@@ -1526,7 +1609,7 @@
           ]
         },
         {
-          "tcId" : 179,
+          "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972020101",
@@ -1536,7 +1619,7 @@
           ]
         },
         {
-          "tcId" : 180,
+          "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529720201ff",
@@ -1546,7 +1629,7 @@
           ]
         },
         {
-          "tcId" : 181,
+          "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1556,7 +1639,7 @@
           ]
         },
         {
-          "tcId" : 182,
+          "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1566,7 +1649,7 @@
           ]
         },
         {
-          "tcId" : 183,
+          "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1576,7 +1659,7 @@
           ]
         },
         {
-          "tcId" : 184,
+          "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1586,7 +1669,7 @@
           ]
         },
         {
-          "tcId" : 185,
+          "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1596,7 +1679,7 @@
           ]
         },
         {
-          "tcId" : 186,
+          "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972090380fe01",
@@ -1606,7 +1689,7 @@
           ]
         },
         {
-          "tcId" : 187,
+          "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020100",
@@ -1616,7 +1699,7 @@
           ]
         },
         {
-          "tcId" : 188,
+          "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974020101",
@@ -1626,7 +1709,7 @@
           ]
         },
         {
-          "tcId" : 189,
+          "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc529740201ff",
@@ -1636,7 +1719,7 @@
           ]
         },
         {
-          "tcId" : 190,
+          "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1646,7 +1729,7 @@
           ]
         },
         {
-          "tcId" : 191,
+          "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1656,7 +1739,7 @@
           ]
         },
         {
-          "tcId" : 192,
+          "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1666,7 +1749,7 @@
           ]
         },
         {
-          "tcId" : 193,
+          "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1676,7 +1759,7 @@
           ]
         },
         {
-          "tcId" : 194,
+          "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1686,7 +1769,7 @@
           ]
         },
         {
-          "tcId" : 195,
+          "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974090380fe01",
@@ -1696,7 +1779,7 @@
           ]
         },
         {
-          "tcId" : 196,
+          "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020100",
@@ -1706,7 +1789,7 @@
           ]
         },
         {
-          "tcId" : 197,
+          "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff020101",
@@ -1716,7 +1799,7 @@
           ]
         },
         {
-          "tcId" : 198,
+          "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff0201ff",
@@ -1726,7 +1809,7 @@
           ]
         },
         {
-          "tcId" : 199,
+          "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1736,7 +1819,7 @@
           ]
         },
         {
-          "tcId" : 200,
+          "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1746,7 +1829,7 @@
           ]
         },
         {
-          "tcId" : 201,
+          "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1756,7 +1839,7 @@
           ]
         },
         {
-          "tcId" : 202,
+          "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1766,7 +1849,7 @@
           ]
         },
         {
-          "tcId" : 203,
+          "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1776,7 +1859,7 @@
           ]
         },
         {
-          "tcId" : 204,
+          "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff090380fe01",
@@ -1786,7 +1869,7 @@
           ]
         },
         {
-          "tcId" : 205,
+          "tcId" : 213,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020100",
@@ -1796,7 +1879,7 @@
           ]
         },
         {
-          "tcId" : 206,
+          "tcId" : 214,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000020101",
@@ -1806,7 +1889,7 @@
           ]
         },
         {
-          "tcId" : 207,
+          "tcId" : 215,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3036023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000001000000000201ff",
@@ -1816,7 +1899,7 @@
           ]
         },
         {
-          "tcId" : 208,
+          "tcId" : 216,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",
@@ -1826,7 +1909,7 @@
           ]
         },
         {
-          "tcId" : 209,
+          "tcId" : 217,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972",
@@ -1836,7 +1919,7 @@
           ]
         },
         {
-          "tcId" : 210,
+          "tcId" : 218,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52974",
@@ -1846,7 +1929,7 @@
           ]
         },
         {
-          "tcId" : 211,
+          "tcId" : 219,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff",
@@ -1856,7 +1939,7 @@
           ]
         },
         {
-          "tcId" : 212,
+          "tcId" : 220,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000",
@@ -1866,7 +1949,7 @@
           ]
         },
         {
-          "tcId" : 213,
+          "tcId" : 221,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3038023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff000000000000000100000000090380fe01",
@@ -1876,7 +1959,7 @@
           ]
         },
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3637323636",
           "sig" : "3066023100ac042e13ab83394692019170707bc21dd3d7b8d233d11b651757085bdd5767eabbb85322984f14437335de0cdf5656840231008f8a277dde5282671af958e3315e795a20e2885157b77663a67a77ef2379020c5d12be6c732fd725402cb9ee8c345284",
@@ -1886,20 +1969,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEyl7kea1mJKtYcFOaVqI7OBbu97vGcVaD\nbftYxCX9tyE+MXcPErQxUuiH2Io6+0sYKs7skrMTmsqDlkAqj4G7UBTnSOqy4gWf\nhlaog+YteLncmIuYMyYn+VIy033yZYXT\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3",
         "wx" : "0ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b18",
         "wy" : "2aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEyl7kea1mJKtYcFOaVqI7OBbu97vGcVaD\nbftYxCX9tyE+MXcPErQxUuiH2Io6+0sYKs7skrMTmsqDlkAqj4G7UBTnSOqy4gWf\nhlaog+YteLncmIuYMyYn+VIy033yZYXT\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
@@ -1907,7 +1991,7 @@
           "flags" : []
         },
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
@@ -1917,20 +2001,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEcOapC04Ha/Ud+gH6RN5JtEj3r6Dz0HZ3\n8Wgsp3bUBLKg/u9msAXqKLqZts4h0MoSQk99F5lR+4kVbN8ErtbbBWyYWSxlG1qI\nGrw04kARJ/uBxk6QzugyacUUH5o8e854\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78",
         "wx" : "70e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12",
         "wy" : "424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEcOapC04Ha/Ud+gH6RN5JtEj3r6Dz0HZ3\n8Wgsp3bUBLKg/u9msAXqKLqZts4h0MoSQk99F5lR+4kVbN8ErtbbBWyYWSxlG1qI\nGrw04kARJ/uBxk6QzugyacUUH5o8e854\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971",
@@ -1940,20 +2025,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEWlaEdIBfv5rMHldW0pZpYpC3PU0cOxl/\nSK/wO5GfARGCP5DqAkrxx458gD4il2YtTBx57cnGlGIMH1tcx92f+JpCRCdHhXys\n4mtuvJmWLsOmio5AciJtbZiiqGbdl8ID\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203",
         "wx" : "5a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d",
         "wy" : "4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEWlaEdIBfv5rMHldW0pZpYpC3PU0cOxl/\nSK/wO5GfARGCP5DqAkrxx458gD4il2YtTBx57cnGlGIMH1tcx92f+JpCRCdHhXys\n4mtuvJmWLsOmio5AciJtbZiiqGbdl8ID\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1",
@@ -1963,20 +2049,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiFMTgpY7/k4XnwtFfs1EZSi5jTSe29jn\n0PbBZztK4qdimzNFp+ri58SDWME72+A4k3XISd1XHZHyo7+JlPU/giYfOBcoBsTX\nJd4gKeiHv+A2841phepaIsUhadtuQhPa\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da",
         "wx" : "088531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe038",
         "wy" : "09375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiFMTgpY7/k4XnwtFfs1EZSi5jTSe29jn\n0PbBZztK4qdimzNFp+ri58SDWME72+A4k3XISd1XHZHyo7+JlPU/giYfOBcoBsTX\nJd4gKeiHv+A2841phepaIsUhadtuQhPa\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f",
@@ -1986,20 +2073,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAECA2lfWfbpI61Du9ITPZo2YHhvzDDV8P9\nIaQ83EHyZ8Pxhr+H42gCObrAmTDxRCY8Xyh3eti8v8PrA2ng97GDkqEjl6T74Voq\nH24uW0BnyCaByJxz2yXsoYxrJXaEKc7w\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0",
         "wx" : "080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c",
         "wy" : "5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAECA2lfWfbpI61Du9ITPZo2YHhvzDDV8P9\nIaQ83EHyZ8Pxhr+H42gCObrAmTDxRCY8Xyh3eti8v8PrA2ng97GDkqEjl6T74Voq\nH24uW0BnyCaByJxz2yXsoYxrJXaEKc7w\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020101",
@@ -2009,20 +2097,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEDnSgltf27hvptBYNa3m6uk0ltPtvvdOP\nWp7VzBrHmUO+ce3gk+UEx9wIMtrriYoFqNAFswyJRob27LK8aW4l7/rM08nktIEi\n21Z8ARiguYO3V8L0AILcN0+PYReo52/A\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0",
         "wx" : "0e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05",
         "wy" : "0a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEDnSgltf27hvptBYNa3m6uk0ltPtvvdOP\nWp7VzBrHmUO+ce3gk+UEx9wIMtrriYoFqNAFswyJRob27LK8aW4l7/rM08nktIEi\n21Z8ARiguYO3V8L0AILcN0+PYReo52/A\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020102",
@@ -2032,20 +2121,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEoq0OJ7QEENFgd93F5BXxCdMov3XnOg9W\nh2/vcxKF+DGIsgemhpCkDnbtI+LF5J/PYE8cXX1982UAXUDiCfTae7BvMQ1aFmCt\nYjZXf7tHlVJh9QfSO4MBP/uVG9dpCOds\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c",
         "wx" : "0a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf",
         "wy" : "604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEoq0OJ7QEENFgd93F5BXxCdMov3XnOg9W\nh2/vcxKF+DGIsgemhpCkDnbtI+LF5J/PYE8cXX1982UAXUDiCfTae7BvMQ1aFmCt\nYjZXf7tHlVJh9QfSO4MBP/uVG9dpCOds\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020103",
@@ -2053,7 +2143,7 @@
           "flags" : []
         },
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103",
@@ -2063,20 +2153,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEojMCXBLSD0ncUNyALnnwPHzhdQuSBLUT\nJdkLWt4I9KdO9u+wge0xVtZKARDWD/+ruSSIGJHumEz1GUne6Wz9fJdZsf8A8Nvc\ncY1SEXB51di9bIbG9TInavOLd5vyNQ1/\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f",
         "wx" : "0a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffab",
         "wy" : "0b924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEojMCXBLSD0ncUNyALnnwPHzhdQuSBLUT\nJdkLWt4I9KdO9u+wge0xVtZKARDWD/+ruSSIGJHumEz1GUne6Wz9fJdZsf8A8Nvc\ncY1SEXB51di9bIbG9TInavOLd5vyNQ1/\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa",
@@ -2086,20 +2177,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPJu2NgfN6gWF842XgMmsPppaWBU+KqzE\nvHodY40S4yxNOpDAwRSyMsbxbiPkvrsk2irCzO3FSU/lNKmrrqMBPeAXbxsOkbzW\nIVS98/YECRpQCLJGZwLQ4vk+SktsYBpU\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54",
         "wx" : "3c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24",
         "wy" : "0da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPJu2NgfN6gWF842XgMmsPppaWBU+KqzE\nvHodY40S4yxNOpDAwRSyMsbxbiPkvrsk2irCzO3FSU/lNKmrrqMBPeAXbxsOkbzW\nIVS98/YECRpQCLJGZwLQ4vk+SktsYBpU\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553",
@@ -2109,20 +2201,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEVZpm73d1L9hWl2827TFWGZMiBFmb1++R\n0aU6wefJCzlpyrgUO3pTxL9aP+OfZJ62HwD4bdi4VWxIFbKgHFnrbMA8l7lLbbQx\ngkn+SJ42rJY1h2scouwJmcrvXhpqWKcN\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d",
         "wx" : "559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb6",
         "wy" : "1f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEVZpm73d1L9hWl2827TFWGZMiBFmb1++R\n0aU6wefJCzlpyrgUO3pTxL9aP+OfZJ62HwD4bdi4VWxIFbKgHFnrbMA8l7lLbbQx\ngkn+SJ42rJY1h2scouwJmcrvXhpqWKcN\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351",
@@ -2132,20 +2225,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBUjnmhf9OhFNgw6ojyGO4e96o/jcE54K\ni5tg4lBJqBbvRJ6L1droZ0Rklf3yD0dwA2Oh6K/vsC6/1Z35C20j/31fcG+bJtrr\nrh1GV6w0KETunC4Okmn37+erkeAwPBFd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d",
         "wx" : "548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f4770",
         "wy" : "363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBUjnmhf9OhFNgw6ojyGO4e96o/jcE54K\ni5tg4lBJqBbvRJ6L1droZ0Rklf3yD0dwA2Oh6K/vsC6/1Z35C20j/31fcG+bJtrr\nrh1GV6w0KETunC4Okmn37+erkeAwPBFd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452",
@@ -2155,20 +2249,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEoOtnBjD5u72WPFdQ3nvLrk3f03sT/naQ\n7saGGjxWyO+4fbv4XM2VPGWdOCw9ffdq+wiEBjWhasfs894twop3yK+dSeWoMlUe\nM1SisxHlK+hnINmy+7eNEaiuxhYGop8N\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d",
         "wx" : "0a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76a",
         "wy" : "0fb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEoOtnBjD5u72WPFdQ3nvLrk3f03sT/naQ\n7saGGjxWyO+4fbv4XM2VPGWdOCw9ffdq+wiEBjWhasfs894twop3yK+dSeWoMlUe\nM1SisxHlK+hnINmy+7eNEaiuxhYGop8N\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b",
@@ -2178,20 +2273,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEJUvOMEGwBGhEXLmuWXvHbBJ5qFBhQs4k\nJxhbHX91PRwKrZQVa1MaIHGqYcg+yEKjcQ1sjJZ2aui2M5YTPlhygF5H2bo5ET4S\nLWdtVNuyRgtZ2Ya90zvjRsAh6KcbtBup\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9",
         "wx" : "254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3",
         "wy" : "710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEJUvOMEGwBGhEXLmuWXvHbBJ5qFBhQs4k\nJxhbHX91PRwKrZQVa1MaIHGqYcg+yEKjcQ1sjJZ2aui2M5YTPlhygF5H2bo5ET4S\nLWdtVNuyRgtZ2Ya90zvjRsAh6KcbtBup\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b",
@@ -2201,20 +2297,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEkSnbREbCxZjE+BBw9w9mw3w5Mj4BQYwJ\nXemQLg4bIPJrw+ARuoTBBib/3Og2aQyfjkoQT+xKqkNQwjhhfuUEVqzMSe/Dtz65\nVI4WAMJIPxxLrp3fP/kq8Xr9GfhidFic\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c",
         "wx" : "09129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f",
         "wy" : "08e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEkSnbREbCxZjE+BBw9w9mw3w5Mj4BQYwJ\nXemQLg4bIPJrw+ARuoTBBib/3Og2aQyfjkoQT+xKqkNQwjhhfuUEVqzMSe/Dtz65\nVI4WAMJIPxxLrp3fP/kq8Xr9GfhidFic\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -2224,20 +2321,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEpwGoERzfl87XSgCkUUsrUmvoET599s9x\nY6ruRliA0mJ1uDOxhtgPGGLcZ/92jd5D5amR8W+Pd3MRsX6r3JC27OO12nds++u8\nUEOCyhq64caqamTZxBEQ2XlQUU6ZV47Y\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8",
         "wx" : "0a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43",
         "wy" : "0e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEpwGoERzfl87XSgCkUUsrUmvoET599s9x\nY6ruRliA0mJ1uDOxhtgPGGLcZ/92jd5D5amR8W+Pd3MRsX6r3JC27OO12nds++u8\nUEOCyhq64caqamTZxBEQ2XlQUU6ZV47Y\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101",
@@ -2245,7 +2343,7 @@
           "flags" : []
         },
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100",
@@ -2255,20 +2353,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtoFboFQTvPNPTAcEr1kMGZjX/NFpVB4e\n/hVnyh3XGiLjWsg4sgx1KBWCBEpXtY9FbNzrEGEgYneaut2HQsbpPtdK3zBvOzoP\nlrcN0RNLdVi2S1WyAMVzLFDwWqAyrnwA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00",
         "wx" : "0b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f45",
         "wy" : "6cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtoFboFQTvPNPTAcEr1kMGZjX/NFpVB4e\n/hVnyh3XGiLjWsg4sgx1KBWCBEpXtY9FbNzrEGEgYneaut2HQsbpPtdK3zBvOzoP\nlrcN0RNLdVi2S1WyAMVzLFDwWqAyrnwA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -2278,20 +2377,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtLLVqLUP+r00dI6USYwdRyjQhPlD+93U\ns7buFuqk2pFhOoLJgBcTLJTNb+S4cjLxbWEiKO1dfQi/DIaZZ347jz5xgHO5RabB\nCNl6OxQzx5BSsmVaGKOy5iG6qIGYy188\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c",
         "wx" : "0b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f1",
         "wy" : "6d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtLLVqLUP+r00dI6USYwdRyjQhPlD+93U\ns7buFuqk2pFhOoLJgBcTLJTNb+S4cjLxbWEiKO1dfQi/DIaZZ347jz5xgHO5RabB\nCNl6OxQzx5BSsmVaGKOy5iG6qIGYy188\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca",
@@ -2301,20 +2401,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEhCs9ieVNmktWlNklG7ogrkhUxRDcC273\nAz5ARbpOZLbdzTYpmqxVTbrG2z4nyYEjhoJYGQKX4da65kim3uIoWIYjOv0cPW8Z\natHbFCYqV510z3hV//xl9avSQrE1roff\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df",
         "wx" : "0842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123",
         "wy" : "0868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEhCs9ieVNmktWlNklG7ogrkhUxRDcC273\nAz5ARbpOZLbdzTYpmqxVTbrG2z4nyYEjhoJYGQKX4da65kim3uIoWIYjOv0cPW8Z\natHbFCYqV510z3hV//xl9avSQrE1roff\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a9",
@@ -2324,20 +2425,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmrc9z//IIOc5o+2cMWxvFdJ6Ay+KpZMl\n94Qs9KNBmKxv8J6xoxHOImvxq7SdgIURATX0sMK2sZXam74Zk+mFuGB2ZPGks9SZ\n6hoRK2r8fmuINXyTSLYU3f3IRqPzi73K\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca",
         "wx" : "09ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d808511",
         "wy" : "135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmrc9z//IIOc5o+2cMWxvFdJ6Ay+KpZMl\n94Qs9KNBmKxv8J6xoxHOImvxq7SdgIURATX0sMK2sZXam74Zk+mFuGB2ZPGks9SZ\n6hoRK2r8fmuINXyTSLYU3f3IRqPzi73K\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -2347,20 +2449,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKHcbE3+310wO0CkEFvR8gRiZeSPHs7cX\n+71TCKS7DklHFL0/H/Xp42iIc3coQnLr+S5d9Hai+gkGzk+tEhxkGrtTmrTvJwzY\n8El8w+bgWxhWG3MGcPAQdBI4pdB7B3BF\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045",
         "wx" : "28771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272eb",
         "wy" : "0f92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKHcbE3+310wO0CkEFvR8gRiZeSPHs7cX\n+71TCKS7DklHFL0/H/Xp42iIc3coQnLr+S5d9Hai+gkGzk+tEhxkGrtTmrTvJwzY\n8El8w+bgWxhWG3MGcPAQdBI4pdB7B3BF\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d",
@@ -2370,20 +2473,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEnRuq0heCnV8tfbW9CF6RJiMujEnFhwfL\nFT2x0eIKEJyQ97y65PLHTWWVIHyw5d0nHuowdSoUJZBdCBHQ9CAZ5QiBQrQZRb7g\nOUjyBvLnw8EIG6milxgONrJH7p5wgyA1\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035",
         "wx" : "09d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd27",
         "wy" : "1eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEnRuq0heCnV8tfbW9CF6RJiMujEnFhwfL\nFT2x0eIKEJyQ97y65PLHTWWVIHyw5d0nHuowdSoUJZBdCBHQ9CAZ5QiBQrQZRb7g\nOUjyBvLnw8EIG6milxgONrJH7p5wgyA1\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c152aafea3a8612ec83a7dc9448f01941899d7041319bbd60bfdfb3c03da74c00c8fc4176128a6263268711edc6e8e90",
@@ -2393,20 +2497,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEjjnh5E94K4EOqTA3w0Q3HE+xQci/GW6m\nGPOhdlRxOabQISHSeUy+ZIEGFpTbV5MVwxhOjNm2wWs3aZYz2H9WAGVLRMvLWrUL\nqHLfoAF2nrdlstGQLgHS6K9OH9bpwPMP\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f",
         "wx" : "08e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315",
         "wy" : "0c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEjjnh5E94K4EOqTA3w0Q3HE+xQci/GW6m\nGPOhdlRxOabQISHSeUy+ZIEGFpTbV5MVwxhOjNm2wWs3aZYz2H9WAGVLRMvLWrUL\nqHLfoAF2nrdlstGQLgHS6K9OH9bpwPMP\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304764eeac3e7a08daacfad7d1e1e3696042164b06f77bd78c3213ddea6f9fd449a34c97b9e560a6bf7195da41333c7565",
@@ -2416,20 +2521,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuW/KDj9uv3Mm8KjOi98iaiVgwiUmvxVP\ne0ZwEPOka6ynNBQHDbD3qwOfNFVIRSrib3t0QnTpvWx5H0dRPmtR60L+o4FrMDKz\nOoFpXwTU53W+BkhM9+amnLqLrLy1l7Pj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3",
         "wx" : "0b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae2",
         "wy" : "6f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuW/KDj9uv3Mm8KjOi98iaiVgwiUmvxVP\ne0ZwEPOka6ynNBQHDbD3qwOfNFVIRSrib3t0QnTpvWx5H0dRPmtR60L+o4FrMDKz\nOoFpXwTU53W+BkhM9+amnLqLrLy1l7Pj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100cb4d5c0ff0abe29b2771fe9f179a5614e2e4c3cc1134a7aad08d8ec3fd8fcd07fd34b3473ca65ead1c7bb20bcf3ea5c9",
@@ -2439,20 +2545,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAET9UrEf90e1nvYJ4GWkYs2FtzFy0g9Ab9\n2EXU6qPsFz4G7liljhgQ8FGydbuqR8y0hNI4K55yxSbcN2ShGkqWKnpMc1Xm8Ff8\nl2q3PMOE+aKdpQdpgJ7L83NY3YPHT8Jf\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f",
         "wx" : "4fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb4",
         "wy" : "084d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAET9UrEf90e1nvYJ4GWkYs2FtzFy0g9Ab9\n2EXU6qPsFz4G7liljhgQ8FGydbuqR8y0hNI4K55yxSbcN2ShGkqWKnpMc1Xm8Ff8\nl2q3PMOE+aKdpQdpgJ7L83NY3YPHT8Jf\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02306e441db253bf798dbc07ff041506dc73a75086a43252fb439dd016110475d8381f65f7f27f9e1cfc9b48f06a2dfa8eb6",
@@ -2462,20 +2569,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEfRI+Pbq5kT1piJECPihlTLoqlNxAig3D\nhuY9jSL/DzM1iiMYYLfC5PhCnp6Mmhxb58ldGHXyTs3+/8YTbPVvgA9UNEkPI08U\n14UFwtSupR4qOmpdFpPnLEsd0qh0a4da\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a",
         "wx" : "7d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5b",
         "wy" : "0e7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEfRI+Pbq5kT1piJECPihlTLoqlNxAig3D\nhuY9jSL/DzM1iiMYYLfC5PhCnp6Mmhxb58ldGHXyTs3+/8YTbPVvgA9UNEkPI08U\n14UFwtSupR4qOmpdFpPnLEsd0qh0a4da\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023041db253bf798dbc07ff041506dc73a75086a43252fb43b63191efcd0914b6afb4bf8c77d008dbeac04277ef4aa59c394",
@@ -2485,20 +2593,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYIziOjg0Uvj03MXACF1nk+xRiYXwJ2o0\nCaI9e3yn59yxY2AaynOEDDvUcK/3AlC/Z0AFoL4Ik5M5Nj4xTcp+pnrftgzVMGKP\n418FQW2o8g1fs7DM0YOiHbtBxOGV1jA9\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d",
         "wx" : "608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf",
         "wy" : "674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEYIziOjg0Uvj03MXACF1nk+xRiYXwJ2o0\nCaI9e3yn59yxY2AaynOEDDvUcK/3AlC/Z0AFoL4Ik5M5Nj4xTcp+pnrftgzVMGKP\n418FQW2o8g1fs7DM0YOiHbtBxOGV1jA9\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083b64a77ef31b780ffe082a0db8e74ea10d4864a5f6876c6323df9a12296d5f697f18efa011b7d58084efde954b38728",
@@ -2508,20 +2617,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAESNI94YaUdaHeUyOZ2hJAurVg63Smx7CH\nG/isj7bMF897NPzXx5/ZnHbGBb3z/L4Y4Vtmq5HQoD4gPC/5FNS+3DjB7F3NHRLb\nm0Pvb0RYFjJoO/eFqkMmVmIn7OPBa+eW\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796",
         "wx" : "48d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18",
         "wy" : "0e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAESNI94YaUdaHeUyOZ2hJAurVg63Smx7CH\nG/isj7bMF897NPzXx5/ZnHbGBb3z/L4Y4Vtmq5HQoD4gPC/5FNS+3DjB7F3NHRLb\nm0Pvb0RYFjJoO/eFqkMmVmIn7OPBa+eW\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023053bf798dbc07ff041506dc73a75086a43252fb43b6327af3b42da6d3e9a72cde0b5c2de6bf072e780e94ad12dcab270a",
@@ -2531,20 +2641,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEXV60cPnGoLsY6JYLZwEaz58B30BaxbS/\nn0YR1qivGiaxGweQ6TriNhUl3eUbrKyU1CzhUXk7gM7mechINi7CcgADFlkOvJFU\neztmCN+63iHgTeFUjrtFzEch62Sha4MY\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318",
         "wx" : "5d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94",
         "wy" : "0d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEXV60cPnGoLsY6JYLZwEaz58B30BaxbS/\nn0YR1qivGiaxGweQ6TriNhUl3eUbrKyU1CzhUXk7gM7mechINi7CcgADFlkOvJFU\neztmCN+63iHgTeFUjrtFzEch62Sha4MY\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023024c53b0a00cf087a9a20a2b78bc81d5b383d04ba9b55a567405239d224387344c41cceff0f68ffc930dbaa0b3d346f45",
@@ -2554,20 +2665,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEHaNKFJ7VYsjsE+hMsGcQe8KLUL+kdXXV\nqZSM3lo9c1fDjqQfz83Rqxob2bZZKzPZ4Urt/Qz//P7L3CEnbmoseLhylBLEgzmu\nU4t5m32OYRYwR6ZM/OyQGKoA+ZrnQOPz\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3",
         "wx" : "1da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9",
         "wy" : "0e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEHaNKFJ7VYsjsE+hMsGcQe8KLUL+kdXXV\nqZSM3lo9c1fDjqQfz83Rqxob2bZZKzPZ4Urt/Qz//P7L3CEnbmoseLhylBLEgzmu\nU4t5m32OYRYwR6ZM/OyQGKoA+ZrnQOPz\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100c600ccb39bb3e2d85d880d76d1d519205f050c4b93deae0c5d63e8898ca8d7a5babbb944debe0f3c44332aae5770cb7b",
@@ -2577,20 +2689,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEi4Z1IRsyH4sxi6YDN83jKmsEJDl5VGOD\nEnoGiodJy16YxCMbGY3mKisGnTqU0cexnTNGihMLT+9mpZ1K7gDKQL2+rwRLiyKE\nG7TIukGfiRs4VfS9342uNXfZcSC50/pE\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44",
         "wx" : "08b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b1",
         "wy" : "09d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEi4Z1IRsyH4sxi6YDN83jKmsEJDl5VGOD\nEnoGiodJy16YxCMbGY3mKisGnTqU0cexnTNGihMLT+9mpZ1K7gDKQL2+rwRLiyKE\nG7TIukGfiRs4VfS9342uNXfZcSC50/pE\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303ead55015c579ed137c58236bb70fe6be76628fbece64429bb655245f05cb91f4b8a499ae7880154ba83a84bf0569ae3",
@@ -2600,20 +2713,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERCdmvbiyz0/vX2XV2GthaB7IkiDJg7Uf\nFb/hL7C/l4Dgw4u8yIivs8Ve6Ch3S4b3VrfzmcU0x6zUa+S8i7OPCHsAI7j1Fmqz\nQZLKCxytYtZjqkdMb5KGyKBU75TqQuPH\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7",
         "wx" : "442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f7",
         "wy" : "56b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERCdmvbiyz0/vX2XV2GthaB7IkiDJg7Uf\nFb/hL7C/l4Dgw4u8yIivs8Ve6Ch3S4b3VrfzmcU0x6zUa+S8i7OPCHsAI7j1Fmqz\nQZLKCxytYtZjqkdMb5KGyKBU75TqQuPH\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100de03ff820a836e39d3a8435219297da1db193d79e359663e7cc9a229e2a6ac9e9d5c75417fa455bc8e3b89274ee47d0e",
@@ -2623,20 +2737,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEETQrMU8xZIkxq7iXwTcd06I+kfJAXEqB\ndEvhjnU5GXUiCHed4tVOhl7u+7C/tJmK9TPXpNb8bLXLmJFc4I0PZW43pQLnj4wb\ni6ynKMLssFohVvAc/xZZWzY820nADBqi\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2",
         "wx" : "11342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998a",
         "wy" : "0f533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEETQrMU8xZIkxq7iXwTcd06I+kfJAXEqB\ndEvhjnU5GXUiCHed4tVOhl7u+7C/tJmK9TPXpNb8bLXLmJFc4I0PZW43pQLnj4wb\ni6ynKMLssFohVvAc/xZZWzY820nADBqi\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e5a6ae07f855f14d93b8ff4f8bcd2b0a717261e6089a53d54bf86e22f8e37d73aaa7607cc2ab831404b3e5bb4e01e79e",
@@ -2646,20 +2761,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPJa0n/YP8FlRt7GsplZk8TEotxTaYgaX\n7w2Qv8Ae9kO6pcYI8WyohQODIqRDrtPmFpon8up6Njdu+SqQDlOJp7RB/QUdaTzm\nUlC4gc/dZIc3A3IpLIQ2l0KxgQYYiwXA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0",
         "wx" : "3c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6",
         "wy" : "169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPJa0n/YP8FlRt7GsplZk8TEotxTaYgaX\n7w2Qv8Ae9kO6pcYI8WyohQODIqRDrtPmFpon8up6Njdu+SqQDlOJp7RB/QUdaTzm\nUlC4gc/dZIc3A3IpLIQ2l0KxgQYYiwXA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0",
@@ -2669,20 +2785,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOI2uSepIr7VYRW/bHQsE1PjxxG8U0i3i\nWGLTUGmiiukoTXqAdFRud5rSxfF86bibs1MpjzxSaqChDtI7yx7ZeIgSyKOmy+qC\no9nY1GWkzKWdvT09ijYJjWRPG0XTbfU3\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537",
         "wx" : "388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89b",
         "wy" : "0b353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOI2uSepIr7VYRW/bHQsE1PjxxG8U0i3i\nWGLTUGmiiukoTXqAdFRud5rSxfF86bibs1MpjzxSaqChDtI7yx7ZeIgSyKOmy+qC\no9nY1GWkzKWdvT09ijYJjWRPG0XTbfU3\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072",
@@ -2692,20 +2809,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEyFIArGQRQjVz4+vBt66pXnSt1c47QSgr\nqohZcqzAhcg2XAXFOc5H55mvw1PWeIzoaM/OHrK/4AmZAIT7A8CRmriSMT16Eu/D\nUU6Cc2hbkHGJL678pDBq33hUr866//v0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4",
         "wx" : "0c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce8",
         "wy" : "68cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEyFIArGQRQjVz4+vBt66pXnSt1c47QSgr\nqohZcqzAhcg2XAXFOc5H55mvw1PWeIzoaM/OHrK/4AmZAIT7A8CRmriSMT16Eu/D\nUU6Cc2hbkHGJL678pDBq33hUr866//v0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81",
@@ -2715,20 +2833,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5jriiB7WCITvGu9SF4ope9/t9n9OPB2H\natELQsA7Xmf3+M+vTf6k3vergv3j7ZuRDiviK8P6RqLtCU69fIapUSyMQM1UL7U5\nw0NH7yvk5/FUOvlg/SNHNUp6HfcaI31R\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51",
         "wx" : "0e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b91",
         "wy" : "0e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5jriiB7WCITvGu9SF4ope9/t9n9OPB2H\natELQsA7Xmf3+M+vTf6k3vergv3j7ZuRDiviK8P6RqLtCU69fIapUSyMQM1UL7U5\nw0NH7yvk5/FUOvlg/SNHNUp6HfcaI31R\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a",
@@ -2738,20 +2857,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE6cQV+KcgVSOVcMPDcM+TgM36u269vYBY\n4vxlGTCAcHiV6hVm7rJhSWA/S01MHnnUlq4XoAFCTSHq5OqgEGcEi82RliX91+/Y\nltmAYzoOLKH4ybAsmbaaHk+lNGii/iRN\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d",
         "wx" : "0e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d4",
         "wy" : "096ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE6cQV+KcgVSOVcMPDcM+TgM36u269vYBY\n4vxlGTCAcHiV6hVm7rJhSWA/S01MHnnUlq4XoAFCTSHq5OqgEGcEi82RliX91+/Y\nltmAYzoOLKH4ybAsmbaaHk+lNGii/iRN\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b",
@@ -2761,20 +2881,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY3IjqT3WOvazSPJG57O8swvqodzIiK+O\nEuUIaqAPd5L75FdGPFJCLUNfQwrRu0sh+aHgF1jR4CWxYtCdPfi0AyJu07NeQUxB\nZRdA1QnYz2teVYEYYH0QZpkCq+vaPKKN\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d",
         "wx" : "637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21",
         "wy" : "0f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY3IjqT3WOvazSPJG57O8swvqodzIiK+O\nEuUIaqAPd5L75FdGPFJCLUNfQwrRu0sh+aHgF1jR4CWxYtCdPfi0AyJu07NeQUxB\nZRdA1QnYz2teVYEYYH0QZpkCq+vaPKKN\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3",
@@ -2784,20 +2905,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEf03COYLsyLhPVCQXFcfpTpUPWWzgMyN2\nOaFf76XrXDfLLlYtbVswUeoVYA4zQaVl/tK1W4nSeTMhN0iHt4gn7kyiIW6sKZOx\nsJWETbdq3FYEUBNcByrBosQWdSAjf7yd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d",
         "wx" : "7f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565",
         "wy" : "0fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEf03COYLsyLhPVCQXFcfpTpUPWWzgMyN2\nOaFf76XrXDfLLlYtbVswUeoVYA4zQaVl/tK1W4nSeTMhN0iHt4gn7kyiIW6sKZOx\nsJWETbdq3FYEUBNcByrBosQWdSAjf7yd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179",
@@ -2807,20 +2929,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEoK6MlJ9j8bal0CTJngopbs0S0ZbTsWJd\nSnZgAIKhTUVaqyZ8aPVx2JrQYZy45HahNGNDNmEeH9HXKLzqWI0OG2UrvKDlLBv7\n1Dh6Yzf/Qc4TplyDBpFdKjmJe5hdkJs2\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36",
         "wx" : "0a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a1",
         "wy" : "34634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEoK6MlJ9j8bal0CTJngopbs0S0ZbTsWJd\nSnZgAIKhTUVaqyZ8aPVx2JrQYZy45HahNGNDNmEeH9HXKLzqWI0OG2UrvKDlLBv7\n1Dh6Yzf/Qc4TplyDBpFdKjmJe5hdkJs2\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df",
@@ -2830,20 +2953,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEfK0WN3IfWYjLeWcjix9H/Qtj8w8gehZZ\nUfxvt0uoaOW0YmKFle3ID3UYLlZKiceg/ATEBZOKqz1oKOcuhrxZpABxknD47jy1\n75KatTKHuzCLUavS4/+8PZO4dHG8Ljcw\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730",
         "wx" : "7cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0",
         "wy" : "0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEfK0WN3IfWYjLeWcjix9H/Qtj8w8gehZZ\nUfxvt0uoaOW0YmKFle3ID3UYLlZKiceg/ATEBZOKqz1oKOcuhrxZpABxknD47jy1\n75KatTKHuzCLUavS4/+8PZO4dHG8Ljcw\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed",
@@ -2853,20 +2977,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEICTs3g5hJilVsDAa5rCk+9d3F2L+st41\n7tGCPSY2xuAB97/NvE5lsepAIkCQQRkG1VNipXDoCiEm8B2Rm2CEQClAOb4DQZ1R\nixPMpqFZVBRxfxtN24QrLJ1PVD5oO4ag\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0",
         "wx" : "2024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906",
         "wy" : "0d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEICTs3g5hJilVsDAa5rCk+9d3F2L+st41\n7tGCPSY2xuAB97/NvE5lsepAIkCQQRkG1VNipXDoCiEm8B2Rm2CEQClAOb4DQZ1R\nixPMpqFZVBRxfxtN24QrLJ1PVD5oO4ag\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3",
@@ -2876,20 +3001,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQMXyYIlWOAw5aVx0V93OCIC16PqwqaNy\nbQyFNbL/bKFYFNg+2CwKszq6duBeXAR2ydFaKgsgQSN/9hwmUZ0ddLFB16RJn73v\nxBSpAJN6j69u9WBVDHPNt+3+kxTEgLsr\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b",
         "wx" : "40c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476",
         "wy" : "0c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQMXyYIlWOAw5aVx0V93OCIC16PqwqaNy\nbQyFNbL/bKFYFNg+2CwKszq6duBeXAR2ydFaKgsgQSN/9hwmUZ0ddLFB16RJn73v\nxBSpAJN6j69u9WBVDHPNt+3+kxTEgLsr\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb",
@@ -2899,20 +3025,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEdKzf0qt2PFk7yjDSSPK/JvGEOs+euJtN\n/LhFHVloOBLPPL6aJk6kNZEqiWnFPXy4SW3LCk7+1puHEQ/aIOaOtv7tLVEBpJVd\nQ3WfELc+j/wxMeDBKnZbaL0hbtHsT10v\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f",
         "wx" : "74acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8",
         "wy" : "496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEdKzf0qt2PFk7yjDSSPK/JvGEOs+euJtN\n/LhFHVloOBLPPL6aJk6kNZEqiWnFPXy4SW3LCk7+1puHEQ/aIOaOtv7tLVEBpJVd\nQ3WfELc+j/wxMeDBKnZbaL0hbtHsT10v\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa",
@@ -2922,20 +3049,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE2jXWqCgYrlJUy2X8hqxCpHhzqyR6XKZk\n6fCV6N6aV/5yGGDmbLxr1JlDGkijmRc0lFuqsnymODc3t91FAj+Zev9eFl8P19jl\nwLX5xecxWIry/lvYl2oLhxwTLt8h82Ov\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af",
         "wx" : "0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734",
         "wy" : "0945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE2jXWqCgYrlJUy2X8hqxCpHhzqyR6XKZk\n6fCV6N6aV/5yGGDmbLxr1JlDGkijmRc0lFuqsnymODc3t91FAj+Zev9eFl8P19jl\nwLX5xecxWIry/lvYl2oLhxwTLt8h82Ov\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec",
@@ -2947,20 +3075,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE2jXWqCgYrlJUy2X8hqxCpHhzqyR6XKZk\n6fCV6N6aV/5yGGDmbLxr1JlDGkijmRc0a6RVTYNZx8jISCK6/cBmhQCh6aDwKCca\nP0oGOhjOp3QNAaQmaJX0eOPs0SHeDJxQ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50",
         "wx" : "0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734",
         "wy" : "6ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE2jXWqCgYrlJUy2X8hqxCpHhzqyR6XKZk\n6fCV6N6aV/5yGGDmbLxr1JlDGkijmRc0a6RVTYNZx8jISCK6/cBmhQCh6aDwKCca\nP0oGOhjOp3QNAaQmaJX0eOPs0SHeDJxQ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 271,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "3066023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023100e16043c2face20228dba6366e19ecc6db71b918bbe8a890b9dad2fcead184e071c9ac4acaee2f831a1e4cc337994f5ec",
@@ -2972,20 +3101,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEggBkGTxxxxQf5B5xH+hDp0dL5rBfUMsL\n5BHN9/x46n7Jaus5ke92RrveWRUtOBoyYxxa35PUiLReZ8yYkNjnefY5YBk9wWvR\nzBNrPijPSZ36jnv/SCoBFeYIOYf3wEL8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc",
         "wx" : "0820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32",
         "wy" : "631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEggBkGTxxxxQf5B5xH+hDp0dL5rBfUMsL\n5BHN9/x46n7Jaus5ke92RrveWRUtOBoyYxxa35PUiLReZ8yYkNjnefY5YBk9wWvR\nzBNrPijPSZ36jnv/SCoBFeYIOYf3wEL8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
+          "tcId" : 272,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -2995,20 +3125,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUvq8WOrP06SCj1HEEyBcIIiJQe5F7KwH\nb/wjFF2DVCA0qgElPW6/NO7vqjcdbO4RnzQHEs14FVcSdGV49WMt7SsuWvtDsIX4\nFzJ5IQjjMaS1DSfzV4JS/7DaqdeGVaCr\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab",
         "wx" : "52fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee11",
         "wy" : "09f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUvq8WOrP06SCj1HEEyBcIIiJQe5F7KwH\nb/wjFF2DVCA0qgElPW6/NO7vqjcdbO4RnzQHEs14FVcSdGV49WMt7SsuWvtDsIX4\nFzJ5IQjjMaS1DSfzV4JS/7DaqdeGVaCr\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 273,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0",
@@ -3018,20 +3149,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqP2xoCLU46fuKWErsRCsvqJ9rsuCfTRM\ntsanrK1h03Hdx4QhR7dKGHZ+YYcS8EwcZKxtr44IzXuQoMnZEjiEx6ertGZKdbCJ\ncGTDyJVrDKnEFyN/jVp92EIbDUjJ1Sx8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c",
         "wx" : "0a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c",
         "wy" : "64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqP2xoCLU46fuKWErsRCsvqJ9rsuCfTRM\ntsanrK1h03Hdx4QhR7dKGHZ+YYcS8EwcZKxtr44IzXuQoMnZEjiEx6ertGZKdbCJ\ncGTDyJVrDKnEFyN/jVp92EIbDUjJ1Sx8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 266,
+          "tcId" : 274,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0",
@@ -3041,21 +3173,22 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEh45BSl1qDg0as8VWPEToDDsu8mXyejPt\nXKwQmtZkwSab6ukDHY0XjL/bG/p8w8x5+ruytvfOVAJoY7Dyl6T+PegtUETayv7e\nSdWvxgvIdfS2WcBsGbt0x8JzUWh/UrQR\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411",
         "wx" : "0878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79",
         "wy" : "0fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEh45BSl1qDg0as8VWPEToDDsu8mXyejPt\nXKwQmtZkwSab6ukDHY0XjL/bG/p8w8x5+ruytvfOVAJoY7Dyl6T+PegtUETayv7e\nSdWvxgvIdfS2WcBsGbt0x8JzUWh/UrQR\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 267,
-          "comment" : "extreme value for k",
+          "tcId" : 275,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
           "result" : "valid",
@@ -3064,21 +3197,142 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmEocBERqUq1qVNZPLGxJth8jq+fcbzNx\nSJau+wvvuaUrlbBIVhEywoyYUOhRptAOtOGfneWdMMomgB8niaMzCwgea/V/hPPG\nEH3v0FqVnO9fKYrOpaa4ezjiLFQJ7J9x\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5",
+        "wx" : "08faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e41",
+        "wy" : "2bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEj6qEl64wBrYSmZsD+R94hNlVQ6JmWY6J\ne3HkTs/Zq9eQi/0SK7NmwBald8sbLi5BK7GnGSicdJgEymd9FMCQD6sDHajHByRy\nOg1U46ADXafc3e72/OgN8vgZQIF9J7K1\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 276,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9",
+        "wx" : "0c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16c",
+        "wy" : "0b138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAExZzGSGKeYtwYVfZTWD2grOYx4PS0WJt/\n5cxEnhLfLc7rhiyuAM0QAjO5ma9leuFssTj2WdzI00L9F2ZNhsW92qhmwgsAMfZc\nhEKg7WKzN9Ca22OkQ6sU41h7kpkFNxf5\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 277,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715",
+        "wx" : "386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf28821",
+        "wy" : "5503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOGvcmP48FWp5Du5tVW4ANqS4SFM1i9Wr\naFbbWYW56OqS6NTB+NBOzR5t5FSL8oghVQMpLCxXD1e0LyyvXnq5TYeBeoALKvb/\nzU8T4w7bjKryPG1b4iq+oYwvlFCtGkcV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 278,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b",
+        "wx" : "294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd47",
+        "wy" : "1e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKUw3s+yRobBQAELYuXvJYZ0X94Sp6lKM\nBgLXAHg7+6yaxJv/HlJ7ObsqSdHcOr1HHnmGebfFj036M8/kC7YuffbS8ZCw84BM\ncA+hnroorX/W7dfjp1SvhSkhwnBfRE8L\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af",
+        "wx" : "0bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c8341",
+        "wy" : "5a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEusfNindVoXT6tY5TdOxVpc5TEyNexRyR\nnGaEvUkwW3AFOT9yvE2BDKhk+wRtLINBWjO3f0FFaAveY7Zp6h8Q8+4YNgGMEab5\ncVXZCCfIPbrDiEAqyPWTaN2vLDNUhhGv\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71",
         "wx" : "0984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00e",
         "wy" : "0b4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmEocBERqUq1qVNZPLGxJth8jq+fcbzNx\nSJau+wvvuaUrlbBIVhEywoyYUOhRptAOtOGfneWdMMomgB8niaMzCwgea/V/hPPG\nEH3v0FqVnO9fKYrOpaa4ezjiLFQJ7J9x\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 268,
-          "comment" : "extreme value for k",
+          "tcId" : 281,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
           "result" : "valid",
@@ -3087,20 +3341,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56",
+        "wx" : "0f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf7",
+        "wy" : "087bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8A1jJ7EibqobCJcpXu3a33UQJJ5vD4Eb\nV9cZfrbmEZmo8cZmXsSCHT4YZ11Tmf33h78eP7f+5cs1gqQVmAi3Xosd4H6v/UnT\niC0Vx3RDrYMhPSGkvpKFIjqkSoQOR+tW\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69",
+        "wx" : "452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd6",
+        "wy" : "68a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERSsEd0M0aJiwh9qqxdmC03h1K6U05Wny\nGsWSwJZU0ICblMz4IgRfKIXL07IhRTzWaKAfUC9VGvFKqzXCww7HusBwn1Jf55YE\nObHp3lPNrSRe/YkwlnzebK+NIiyCAM1p\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16",
+        "wx" : "44a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72",
+        "wy" : "0bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERKj1R5W9uB4A/IT6g3PRJbFtpuK/TPqe\n4dwT1/FXOUaDljwXD0wV6M8htUZrSfpyu1aTZVs+CoXifj5tJl+6ATHzCDv0R/Yr\nbj5SdUlvNNqlIuFhldgUiKMf6YLCt18W\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 284,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08",
+        "wx" : "10b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa",
+        "wy" : "09be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEELM2s6+4DID/UHFuc0EQ/oPNW41B1/L5\nTw3sfs8frMZjuruO2U5L3zWS43Rklwr6m+FE01TptFaHPGOHoSo+79Pi/rZvdRms\ncqxQLAnSDXLK6dBMiFSaKFwIECPhwdoI\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 285,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb",
+        "wx" : "081f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132",
+        "wy" : "221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgfkmMHeHd6AXgeeST87TX8CQGNmwCCCI\nGxSoFMGDah9zw2QfehfIIf/ZXakC7+EyIh2BMjUJOR97Yb15YBEzfmrzauB5jBcE\nPXno782ujnJK35aiMJIHwtLP2I6MSDrL\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 286,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",
+        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
+        "wy" : "3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"
+      },
       "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqofKIr6LBTeOscce8yCtdG4dO2KLp5uY\nWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3NhfeSpYmLG9dnpi/kpLcKfj0Hb0omhR8\n6doxE7XwuMAKYLHOHX6BnXpDHXyQ6g5f\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
-        "wy" : "3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"
-      },
       "tests" : [
         {
-          "tcId" : 269,
+          "tcId" : 287,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -3108,7 +3483,7 @@
           "flags" : []
         },
         {
-          "tcId" : 270,
+          "tcId" : 288,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -3118,20 +3493,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0",
+        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
+        "wy" : "0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0"
+      },
       "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqofKIr6LBTeOscce8yCtdG4dO2KLp5uY\nWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3yeghtWnZ05CiYWdAbW0j1gcL4kLXZeuD\nFiXO7EoPRz71n04w4oF+YoW84oRvFfGg\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
-        "wy" : "0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0"
-      },
       "tests" : [
         {
-          "tcId" : 271,
+          "tcId" : 289,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -3139,7 +3515,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100bc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d322ff6d1d1162b5de29edcd0b69803fe2f8af8e3d103d0a902302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -3149,20 +3525,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
         "wx" : "29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc",
         "wy" : "09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306402302290c886bbad8f53089583d543a269a727665626d6b94a3796324c62d08988f66f6011e845811a03589e92abe1f17faf023066e2cb4380997f4e7f85022541adb22d24d1196be68a3db888b03eb3d2d40b0d9a3a6a00a1a4782ee0a00e8410ba2d86",
@@ -3170,7 +3547,7 @@
           "flags" : []
         },
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3066023100a3f1102e92ebe46d67e47c61e54a109347ddd7dced3721bffab6847607678f1d15bc1cb5b39b43ee52b02d684bf37850023100eeebb277b55c8748c47675f5e1cf85c1634cea8ce043040de5e76b1bd72e8067a7c6bfa6813b21396348dd01ac7ab61c",
@@ -3178,7 +3555,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3065023100f290946361f7b733316210d91fc06c1459893f5dbfcf1e086183e5d7730661ef9b3587a9b690438e92d2278779a4d3fd02307b8bdc03bd4cc0026befb1551c75cd6f6b962a80b96fa5b2bbe135cd7b37580501b931b273b298b2ae0ab1198c920e1a",
@@ -3186,7 +3563,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306502304da0ba312f61a16a1c9878408ba142b9809a25a089d53089e852d13670fe5050898105af571e1c02c32617a7b77e16e0023100ce54b6ba8d60e21ca6e3bbbc305dc946a92b72f167c412088ab77c08273c2cabe1cd4c89d1f508ffd420e1dae2efdaad",
@@ -3194,7 +3571,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306602310087e01c452f47c3a87bf083ed5f8db2fccf89722b56f8cd7a39fc850172f3033ec08c8dcde6015c032084aef34b3638bf023100f3676ef5f43ff23f303fddc5f59bdd0362c3953d48c383f950ef62e88f72e93138c0dbca4b933fa78f94cf3ce5da5cfc",
@@ -3202,7 +3579,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30650230557a8ad54ec9ea3806071f75621ed1c4bc3c9fda897066d7b3c827c1832dfc2520d6598265a89208241b852ce932e2e8023100c6629483a2a00da078aa35177833fdaa9956925dc10eca31d358c5403a0ab003858b7c08f383b44c0c658b1b18d354e9",
@@ -3210,7 +3587,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3065023100db72e945913b3f8b421f2e87893a119e4de350fa899017efa7afa709e3c898972ffa70413d70de6dab9738ffb82a89920230767853ae338f0f0405eaf8a59302200a6bc291edd3a0355c8844c01e7aa59a0b39691d15b94827b07ebb3175584a7d58",
@@ -3218,7 +3595,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30650231008c1b2c1610665be24f03b47527dced5cc82d8991e13b906f22c9847b73c066934e1457afc14465761c61ca3a4cb144ed023046f7127854b68a76efa6ec4cda7929d20bff808e624fcb824d544cdf322ff21df61d737631965360a3a198a457aa33e1",
@@ -3226,7 +3603,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306502303a8ddef86bfbf861d75ecbf8e8a3612decc043252538286b15af1a87fda64142dd1f139af7678ae7f7104e5090724e3f0231009933cd18a87341a94f1dbee88044cd8b72b394693d2503dc7cf9337aa3f6f83662c61b374a27fa45c4b3fbef9aff29fe",
@@ -3234,7 +3611,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "306402306a28f6e429413f3f03c20f3c7841b83adade75054c2237a060787646712d09df8b7283eda1c2bfc039d0453639aab5a602306c3837367c65397024a0dc910735132219c1c1ed9e127528c3549efc6f897806416f9c41296175c61cd70d06e90e003e",
@@ -3242,7 +3619,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30650231008071d8cf9df9efef696ebafc59f74db90c1f1ecf5ccde18858de22fe4d7df2a25cb3001695d706dfd7984b39df65a0f4023027291e6339c2a7fed7a174bb97ffe41d8cfdc20c1260c6ec85d7259f0cc7781bf2ae7a6e6fb4c08e0d75b7381bb7d9b8",
@@ -3250,7 +3627,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023100c89ec4718c55edfdb5ba2ecf4cb12277b49e59f5f3ee3f57b8905f585ce04f79ba0032380ea35922d7ea63f064c93d2002306d212828521c0cae11ae4a8c89a996a3557e10f975b1837f401622c257e3a3cb72b38cc6bb0ee595e5c876a1646441fe",
@@ -3258,7 +3635,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023100d01de802b92ea4ca0baa4c14cfb491ca03f2fe3905b6a8d02fac21d8f0d65fe0743776d1473195f0e2f021361db83a490230791231dc4382dcded690ee9edf8d0ccfc90704dcf1bd211a873b6d6c704e745cabd305a51f9238d0f406998e735895b8",
@@ -3266,7 +3643,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023100b2623abbdc4e5d0cf47b4d629734fd39171cd2e1cfc231ad467f8470e0bc83fcf9e391c68409d3421d7492a7d25d72a90230167750548143e8239b73ce6f7ff2eddb14b8290fc7a92deae483c112d111d04cf4c0ae55ca65f9aa27fb36bc16b64a55",
@@ -3274,7 +3651,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023100ad08aa6dcbcec824cb6c92d6506b1ea7b0228185a446e0cad5961a36272755845a12f8300984f3a9f55004204d17b87b023003dd40f67bfe14a875a453321d84645273420bc16c4ac3e237035740c5712f837afcc5329eeb4adcfa1ef2bcd53c09b9",
@@ -3282,7 +3659,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3066023100a6f16b617020bcf0f31ded86fcb8001acfe856bb5267baf7cdb862d396b7619432559240e471f80f506b186eabf84bb3023100bd748eea34293676c7cb21a7aea1871aad4e06363d5ed33abebc6c9dd72160c24c0f15d807f3a435fe4c8fcbe63a6f25",
@@ -3290,7 +3667,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3066023100f72891f7c26020b0487c60d58d0f9663d4e508045268937c23f84b023f991ce92d33fe33dc78083b53a6da02cfb10faf023100f17ea544d497229b54cd49194a6c9d68db6b4db2d0e024daaaf4d19c200d7687cad5e33c893ed59d7627418211dde679",
@@ -3298,7 +3675,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30640230773332032272abf6efb4f91947af3503433003149807d95a6d318541835aa93cc2e41b6b8735b7a5ed4028ab6b3c4d80023068316b3263a5e34c32c338b9cf329f6b64cebe6e4d73bef9ac4b12013027cf6db87b31ed6128a47525b72a139c10752d",
@@ -3306,7 +3683,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3066023100fa0c7636f79cd35e1af317354adb4ce9aaddc6b70a89c972ead222b48dfff4a320fc62d90ef737a642b347c752d5e468023100fafaaa2b3f7e92ea0b0f2b89088ec1adcbd3b9c7b97e8893ad9ca07e9ced7fd37b1aabab68114fe42a4abbeaa32d84ae",
@@ -3314,7 +3691,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3065023017fbfd972e166d5a788d9af84160f6ecfcd86f5287945bc816bfc644f9849bc1608095de69533699fc465f4e4f074fb7023100d0c71ce90c5ffaef356a1d28ebe6b4e047c678c489f219e12e353a94fbd6478d2fd8bc8f363614cb532b7669943aefd8",
@@ -3322,7 +3699,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30650230470014ccd7a1a5e5333d301c8ea528ac3b07b01944af30cec60f4bad94db108509e45ba381818b5bdfaf9daf0d372301023100e3d49d6a05a755aa871d7cb96fffb79fed7625f83f69498ba07c0d65166a67107c9a17ae6e1028e244377a44096217b2",
@@ -3330,7 +3707,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3066023100fb766fd8f8d4142b57252b38e958fbcc802031776f5a2ed33a089b150d57f1e5b61820c9db9429b9d4a0d0dac0724779023100ab4dd8ed8989bb38a33a90e898383dc01d5e93f283700890f9c52fb18ef5c82304dfb6b719fcfcf4911ec7c5c2fc8bdb",
@@ -3338,7 +3715,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30640230455a32ff77b60c69cef3660a8372d82b3ea3f5ae39151c481e8aceb7d0ebed159a6f2981c00e2db7b0961452b400f35c02305774e8505bfcb77f3a3d751c31d7e19b3d172228826d1d7ea177d418c58f792d36e13ebd14202197c2070e0223fd3900",
@@ -3346,7 +3723,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306502302ff98892d18cc048dbb9e5dafebc222300b3ae8a8364f9d2f98ffd4a336fc1ee8bcb89bfe28d9c3e8abac7d153370d760231009045438e28185061d05fdff63cd314d9fc59891bf616bf5e001d313a560d49714dd7864099a09b8032ea870d31d451b6",
@@ -3354,7 +3731,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30660231009cafe84002716b7aa1bc76517177e6188f031c066f41cc5e4e4429ef11b855070e91ad94299d7df1e66457336d40774902310094a341146eb31c97759199cada842bf4f9c5e205ef49663939dcce2d40db7f947b91d8e9b0c8398e2f7028cf1e529b8c",
@@ -3362,7 +3739,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3065023100a1a5d4820fe5226f2f547b238c96eb62c299ad17bb43298fbf39607cbd908256351a41f44a62d0f20eba1001f22f7b5e02307431dc7ead3664a8aea70efb317af12947e7b49e41e660e522295a0a04c1f6a526158ead5644d82ac4cca618bf01becd",
@@ -3370,7 +3747,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306502302c14d1df832aa0eb10e7ce221735ad7584ac0887531b32402e3c1e57fc863be5bc5a2bb87b86165df64f3a4233e761c5023100bdfc8c3579e2417f49d5628dc8286b32663188e017d936e10d61cd3f6edb97919b109c5567b46f4708106fe671f1d5fb",
@@ -3378,7 +3755,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3065023009a8643aee4ec1119c836373e167064a53888ef7abe5faeed250c1f9960c6c06bcd42a11f13181d3aab8246767dc5368023100bbb6dd94750e6656babd4e159e27a2fa986bc7e4441771ef87b2280f93056dc5a4a38d1c45b8bc2aa20a4b0c5945b57b",
@@ -3386,7 +3763,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3066023100841721e96c44524e86c56d84a5aaea1ac439b060aa11d3e2a1961babd4778075f138dfc0189d3ceac0caccf5bbc1943d023100c9b0df9963daa9b2fe5d75edad22a9316af0132bbda41f7b6754425e9378fa12af0111baabcd37b43714171fcadd978b",
@@ -3394,7 +3771,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402300a453df160ea5a79926517f16dba255826b87aebabd6fe9f0332100f94ca5cce86f1a528cf4e0010add0eaa7d86b84be023023a1fae44f99681c9b7b2495fb056e206a0e8c4b60a065a576d0bac6f867ef06c402bc8e8584392a3c97accaa0a36cbc",
@@ -3402,7 +3779,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30640230377044d343f900175ac6833071be74964cd636417039e10e837da94b6919bffc3f5a517b945a450852af3259f5cbf108023032ea25006375c153581e80c09f53ad585c736f823c70147aba4fb47bb0a224fae4d8819adad80d4c144ecc2380954a9e",
@@ -3410,7 +3787,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023002881912e33e93b3d6d4daaffbb8bdc421240934f006be89d918ef43a82ea072921f940748c59d1368511355e936c5360231008a77df61061022893e15a793a6a5e332bf4c963b2f8ccd4e1a3193ce196b09afac6740a32118adafffcab61cbc96b5df",
@@ -3418,7 +3795,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023100d55902bc90b4ba98054c751746a0109edb8c2ca928585c5c847bc4abf65482ecac190541248e905e7ce5ca313341c6d8023063bd0c665fd69f43ad50417b5bfd2c669f10d12b33e119c605978069f45457beaff125e3492ffa3d166fbc6735d996c4",
@@ -3426,7 +3803,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023100867551b1271ca957a4f71a645ec14be9973633efbb5d23fb7adaa234b47ad618c6dca48301d8791baf9eaa69155a8cb202301623c18f1a4cd4703756418e6d8bc4868de44f170b094700d6b73e5b9b8a461598f8d0c7041e2cef0411b16f0b5485ed",
@@ -3434,7 +3811,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023100b0f8b43879c5241e40981335abbc66cce82868a2ded3d9dd40a7ed882d59ad8bda1f51f382608380917a92d99e45380602301fc0128240724d16b8cb1cc481f4b5fb972b2f7fc984e488550313443b409151c93171da08222253d0c46bb121f0c418",
@@ -3442,7 +3819,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023100a04b68197390cacb812b47c28158689f11df11f61029b0cfb4989aa4faa7ee4a15c0837642c24d450ca6ea05a79b914102304a243a2491b8f54e5cdf34ee80b2571956e7df6ea0680443a2da089db84c5bd68e489e108e1064fd291c9fb23603469d",
@@ -3450,7 +3827,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3064023047bc5ab70e4fc533f42fb58ab387f7444d2c655093e47fc988b64ba279fa03a93191eae120b7642795c50a9be44216590230347ad7008ba5f47043858e5a6bc04f05cffb91045cc9a29d6b224cd4e1f50bda10449a2d2e054581a00f1f65062223c0",
@@ -3458,7 +3835,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023008fb1f88f24104bc8d0f3c5ff573d9e714fa87856255503da7a13a2cce87ae4cc383000eb3940374f2b09fcd152e8097023100e86fa46404216031e00a0df4360d49feed084eb7a88a8d1264a4842c802d60bae44b117cba233cc567360c4626913f0b",
@@ -3466,7 +3843,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3066023100d4353b7c73abaaefdb11321f374ac8584d9d1fd72836300d8353bf9fe35f269f9225e58630a4182f16c07b00efce32e502310082e4180a271b4571835ebe0299ac13a2053500be7f31747e30318d6dd69e95a59b7f3e1fb457c6929f3e7c84ba6fdd43",
@@ -3474,7 +3851,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30650231009d124af0982f176a7f7ac202861a8e3eec892956f0987d8a6c141cf8073b27eeca265bd668ced4280c4a64408cdc38e9023065dd8e11cc71ba60a492fe03b35a8dcec34ff47e99bc3e258e877784ebe0ee77b1d0b67ebc9d2c4b37257fa30bdfaa87",
@@ -3484,20 +3861,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
         "wx" : "0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac",
         "wy" : "0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3066023100ccb13c4dc9805a9b4e06ee25ef8c7593eaff7326c432d4b12b923163cf1cbe5fe1cfd3546c1d0761d8874e83ffd2e15d023100db1b0c082ae314b539f05e8a14ad51e5db37f29cacea9b2aab63a04917d58d008cf3f7ba41d5ea280f3b6a67be3ae8f8",
@@ -3505,7 +3883,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3065023100c79a30e36d2126b348dd9eb2f5db6aa98f79d80214027e51bcf3cabec188a7ebaf25cb7bbe9ec6bfed135e2a3b70e9160230241338ee2ac931adea9a56e7bfe909947128d54d5122a47b00c278e684e10102740d26e89e343290a5b2fa8b401faec6",
@@ -3513,7 +3891,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "306402300df82e4ec2960e3df614f8b49cec9a4ee1054365414241361feec9d9d9b6909d8775f222ec385a14afab46266db390c302300968485e854addba0f8354e677e955e1ef2df973d564c49f65f2562cb2a2b80d75e92f8784042955f7b8765f609ce221",
@@ -3523,20 +3901,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
         "wx" : "0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422",
         "wy" : "0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402301fafd83d728422e1485f1e52e5b631548647cc3c76c109c3177a73751d91a19012fa4628b218f2229fc4d55f105fe00102304474f9af7b4b0bb96fdb05ae918f799024e8d5b864e49ccd047cf97e7b9f8763cce015c11cf1f461c9027cb901055101",
@@ -3544,7 +3923,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3066023100e6025bb957ab197fb4c080d0a5c647e428afb0d7cc235c605ae97545494fd31a9979790bb2da6e1cf186789422b15c970231008ae9872291430d1bb371ef72360dad5afbb6fb001f403d9aaa1445f0326eb1eef775c9dfe1d7ef8bf4e744822108d27e",
@@ -3552,7 +3931,7 @@
           "flags" : []
         },
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3066023100877d5567c18fa568259005a89c2300d1b3825b732fa14964c1477d4b3098afd09384b97d497464adba41e9df8a74d339023100c40f0760717b4b3bae75742b6dc3dcf04cc22a449cfea19d305e0658cb705fda75163e7399e0b3125ca7d1919c13851e",
@@ -3562,20 +3941,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
         "wx" : "1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000",
         "wy" : "0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3065023100e706b0045a6f54bd175e2437b48767b0204f93d8a4d9d3d00838278137e5b670de4305c5c55e49059b8b5f6e264654c90230405741adff94afd9a88e08d0b1021911fa4cedb2466b1a8fd302a5b5d96566ada63ccb82b6c5e8452fde860c545e0a19",
@@ -3583,7 +3963,7 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306502300c57ce2bc579fbd3a759dfbf5e84c3cef2414846a2e300453e1e4c5188f24432b14ca647a733b6ad35c980a880d36145023100f12a119e22d48b82049df611f1c851fb22795056498a873c730fcb9fd8f314728de0298b9b22c348abc6de2aba97e972",
@@ -3591,7 +3971,7 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30660231009a8f80697ccf2e0617612027d861a3a3a657fb75cc82810b40dd5072d39ff37eca29008390da356137e2c9babd814198023100a86537a83c3d57da50e4b29b47dcc3717c5a1ed0fff18ade8dcce4220eac63aab60b9bfed5f1bdd241dab655a9bdd75f",
@@ -3601,20 +3981,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
         "wx" : "2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69",
         "wy" : "0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "306602310093718f6f8542725f62de7039fc193d3fcc81d622230ccc94e9e265390b385af3a3ba50c91a9d6a5b1e07d79af2bd80b2023100d08499f3d298e8afecea122265a36dbf337259020654739783c8ec8ef783d072555b5907285ce83fc8ced9c8398c6269",
@@ -3622,7 +4003,7 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3066023100ce26e42c490dec92cf59d6b1ba75c9a1400d6e5c3fd7c47e1eeb1cded30a3a3d18c81cdfdcbad2742a97293369ce21c202310094671085d941fd27d495452a4c8559a1fe24f3225f5b8ef75faf9d3fb01372c586e23b82714359d0e47144ff5d946161",
@@ -3630,7 +4011,7 @@
           "flags" : []
         },
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3066023100ffc4738acf71f04a13104c328c138b331fb7202aef66f583ba543ed490d12993c18f724c81ad0f7ea18dae352e5c6480023100e67d4ccdeb68a9a731f06f77eae00175be076d92529b109a62542692c8749ddfde03bed1c119a5901a4e852f2115578f",
@@ -3640,20 +4021,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
         "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336",
         "wy" : "208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3065023100e6fa8455bc14e730e4ca1eb5faf6c8180f2f231069b93a0bb17d33ad5513d93a36214f5ce82ca6bd785ccbacf7249a4c02303979b4b480f496357c25aa3fc850c67ff1c5a2aabd80b6020d2eac3dd7833cf2387d0be64df54a0e9b59f12c3bebf886",
@@ -3661,7 +4043,7 @@
           "flags" : []
         },
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "306502301b49b037783838867fbaa57305b2aa28df1b0ec40f43140067fafdea63f87c02dfb0e6f41b760fbdf51005e90c0c3715023100e7d4eb6ee61611264ea8a668a70287e3d63489273da2b30ad0c221f1893feaea3e878c9a81c6cec865899dbda4fa79ae",
@@ -3669,7 +4051,7 @@
           "flags" : []
         },
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "306502310091d9da3d577408189dcaae33d95ed0a0118afd460d5228fa352b6ea671b172eb413816a70621ddaf23c5e2ef79df0c110230053dadbfcd564bddbe44e0ecb4d1e608dbd35d4e83b6634cc72afb87a2d61675ee13960c243f6be70519e167b1d3ceb0",
@@ -3679,20 +4061,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
         "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336",
         "wy" : "0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3065023100af0ed6ce6419662db80f02a2b632675445c7bf8a34bbacdc81cc5dd306c657ca4c5a3fb1b05f358d8f36fda8ae238806023046b472c0badb17e089c8f9697fd0b4ce71f0f4471b235483d4c8dd3d00aa282cde990253df38ba733b2ad82a601c7508",
@@ -3700,7 +4083,7 @@
           "flags" : []
         },
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3066023100e2aa9468ccaaadad8b9f43a429c97f0c6a7eedcb4d4af72d639df0fe53f610b953408a8e24e8db138551770750680f7a023100d81020846d1c50ee9ae23601dd638cb71b38d37fb555268c2fa1ad8a761fa7b27afcab2fa69224d1f976699914e09de2",
@@ -3708,7 +4091,7 @@
           "flags" : []
         },
         {
-          "tcId" : 330,
+          "tcId" : 348,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "306402306bf6fa7a663802c3382cc5fd02004ec71e5a031e3d9bfc0858fa994e88497a7782308bc265b8237a6bbbdd38658b36fc02303a9d5941a013bf70d99cc3ff255ce85573688dac40344b5db7144b19bf57bb2701e6850a8f819796b67f7d0b6aea7e50",
diff --git a/src/third_party/wycheproof/ecdsa_secp384r1_sha512_test.txt b/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt
similarity index 79%
rename from src/third_party/wycheproof/ecdsa_secp384r1_sha512_test.txt
rename to src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt
index da3eebb..52938ef 100644
--- a/src/third_party/wycheproof/ecdsa_secp384r1_sha512_test.txt
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp384r1_sha512_test.txt
@@ -2,46 +2,54 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: ECDSA
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
 [key.wx = 2da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa]
 [key.wy = 4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200042da57dda1089276a543f9ffdac0bff0d976cad71eb7280e7d9bfd9fee4bdb2f20f47ff888274389772d98cc5752138aa4b6d054d69dcf3e25ec49df870715e34883b1836197d76f8ad962e78f6571bbc7407b0d6091f9e4d88f014274406174f]
 [sha = SHA-512]
 
+# tcId = 1
 # signature malleability
 msg = 313233343030
 result = valid
 sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19fbb197e4c4250926e30c5303a2c2d34250f17fcf5ab3181a6
 
+# tcId = 2
 # random signature
 msg = 313233343030
 result = valid
-sig = 306402301d526c8b0d7b0858c58e843fd9d7c779a519f0c34aa789f36cdbb6f0820a506b3631ccc2b335f78350f7c50337d0f5190230454ccaa7aec6e4bec81886203e5a8743a67a265dd9c048f47b7b6a4d2a18e27992e727757788e0c4b22ef0c16ec0643a
+sig = 306502307e99965aee24503b03d272714eed7025523539d03302e3bd4d7d5a7a90c0913b2c92692bd36d0b3c39276233098448b6023100d71668b3fe4250355a4f83e124b7e5e5d74b79b6e29338319c9de6f52806ac8be61014610706b01a2f85aad1e51e9172
 
+# tcId = 3
 # random signature
 msg = 313233343030
 result = valid
-sig = 3065023100e2cc9ba64c14225cee38c83c0f060e4df6977efafde3df2abeddb0a6b55f68e29a3842c5064540f020c940c14cb066ab0230504f4d0fd25a10f866bb15c5bbfd2a56a157e01a67530d02f737f62f2cb661e5e133569d5f870ac1c629b2edd010a19e
+sig = 306402301237c06eeca85a3505d64a8d3b23c22ab53d552a7872d93419deead45c7a92d9e863b5569d7493c12fd479949ca475720230781b915b1b02630ae524c9ae057b45ecdd5f5eb41fb7f22382f90ca7d494bde49e95af8eaea39610542e4c64499f1cdd
 
+# tcId = 4
 # random signature
 msg = 313233343030
 result = valid
-sig = 3066023100cd5d45c993e29a8dfab724cfd83eec1da56a101dc12ab26242c72c8196db8b07e5cba3e84d720d0120b38c25a938e4ec02310088f6d024d7a40232b81816246ca44e69ad0f2dee19312c3937028a91e843d386e649923059c28025a3017e1228b7a2eb
+sig = 30650230325328490218c8d8a87cb3b80c5e757bdd2e31ed25e294d55bab0b76eccb9c0e3be00abfec37cd6f0529e662cf449570023100b6bcec84b93fb5b332d8de665f62e43572b8a793078a7fbaaccc8d58eaaf0186387031c60ee8cb7e34494231ff53b14d
 
+# tcId = 5
 # random signature
 msg = 313233343030
 result = valid
-sig = 30640230425ebeaf08d3a75c61e193b6fd0d27ab04cecc4f35a9cf1e1d1420795ec34bc7301216248f265d759fdc39e687bd49ff0230500819b4abc358e7139eb3c481bb73d88322e7467e617a47143989844b5d95b7c79b3192075faa7a157ca8278376b109
+sig = 306402307943d795e12846871b632e20ff15e133cf7ee835eea39021eed8e67ed2beb9fcdc47333a5dd949ee0f11f34a5ce111bd02300c48fe32b87d73c0c96e9677e3b60b41c5c50189c32717a00a45a9826386f91360799ca98ae6b8718585ac87d7c6d52c
 
+# tcId = 6
 # random signature
 msg = 313233343030
 result = valid
-sig = 306402300b1d031c018d70070d27e3b0c565c2c887206711567d35b79060c9273a03e2cc022c2711a983fee92a24d81ec1269cdb02303df76cc45d142a5ef8f1c4fae7ef1d10f267606089dc4b53aaac719835a2768e9a7a0e85649a22f0e50aae7cb52149cc
+sig = 3064023035ded233801e06a96f57686cb029e60b7928d8200bd2a7590866958079c5b058f9755b89dccef7ed5583200ffc0982f402301e0621b528f02b35756cfab176e219d7e0bfc965084d68be89d68b6de0c07649ca4450498dd46f043263b024366e95fa
 
+# tcId = 7
 # Legacy:ASN encoding of r misses leading 0
 msg = 313233343030
 result = acceptable
@@ -51,6 +59,7 @@
 # some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
 # assuming that the signature is otherwise valid.
 
+# tcId = 8
 # Legacy:ASN encoding of s misses leading 0
 msg = 313233343030
 result = acceptable
@@ -60,671 +69,880 @@
 # some implementations (e.g. jdk) allow signatures with incorrect ASN encodings
 # assuming that the signature is otherwise valid.
 
+# tcId = 9
 # valid
 msg = 313233343030
 result = valid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 10
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 308166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 11
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 306702813100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 12
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 13
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 30820066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 14
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 30680282003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 15
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 16
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 17
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 18
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3066023200814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 19
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3066023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 20
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202320084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 21
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 22
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30850100000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 23
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 306b0285010000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 24
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2028501000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 25
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3089010000000000000066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 26
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 306f028901000000000000003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 27
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 306f023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202890100000000000000310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 28
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30847fffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 29
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 306a02847fffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 30
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202847fffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 31
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3084ffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 32
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 306a0284ffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 33
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20284ffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 34
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3085ffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 35
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 306b0285ffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 36
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20285ffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 37
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3088ffffffffffffffff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 38
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 306e0288ffffffffffffffff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 39
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20288ffffffffffffffff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 40
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30ff023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 41
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 306602ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 42
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 43
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 44
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3066028000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 45
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202800084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 46
 # removing sequence
 msg = 313233343030
 result = invalid
 sig = 
 
+# tcId = 47
+# lonely sequence tag
+msg = 313233343030
+result = invalid
+sig = 30
+
+# tcId = 48
 # appending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
 
+# tcId = 49
 # prepending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 30680000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
-# appending unused 0's
+# tcId = 50
+# appending unused 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
 
-# appending unused 0's
-msg = 313233343030
-result = invalid
-sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
-
-# appending null value
+# tcId = 51
+# appending null value to sequence
 msg = 313233343030
 result = invalid
 sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500
 
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
-
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500
-
+# tcId = 52
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306b4981773066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 53
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306a25003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 54
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef
 
+# tcId = 55
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306b2236498177023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 56
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306a22352500023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 57
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306e2233023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20004deadbeef02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 58
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306b023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223649817702310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 59
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235250002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 60
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2223302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0004deadbeef
 
+# tcId = 61
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306eaa00bb00cd003066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 62
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306caa02aabb3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 63
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306e2239aa00bb00cd00023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 64
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306c2237aa02aabb023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 65
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306e023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22239aa00bb00cd0002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 66
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 306c023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22237aa02aabb02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 67
+# truncated length of sequence
+msg = 313233343030
+result = invalid
+sig = 3081
+
+# tcId = 68
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 30803066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
 
+# tcId = 69
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 306a2280023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 70
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
 
+# tcId = 71
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 30803166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
 
+# tcId = 72
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 306a2280033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 73
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2228003310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
 
+# tcId = 74
 # Replacing sequence with NULL
 msg = 313233343030
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 75
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2e66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
-# changing tag value
+# tcId = 76
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2f66023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
-# changing tag value
+# tcId = 77
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 3166023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
-# changing tag value
+# tcId = 78
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 3266023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
-# changing tag value
+# tcId = 79
+# changing tag value of sequence
 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
-
+# tcId = 80
 # dropping value of sequence
 msg = 313233343030
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 81
+# using composition forsequence
 msg = 313233343030
 result = invalid
 sig = 306a30010230653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
-# using composition
-msg = 313233343030
-result = invalid
-sig = 306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
-
-# using composition
-msg = 313233343030
-result = invalid
-sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
-
+# tcId = 82
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7
 
+# tcId = 83
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 30653100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 84
 # indefinite length
 msg = 313233343030
 result = invalid
 sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 85
 # indefinite length with truncated delimiter
 msg = 313233343030
 result = invalid
 sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd00
 
+# tcId = 86
 # indefinite length with additional element
 msg = 313233343030
 result = invalid
 sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd05000000
 
+# tcId = 87
 # indefinite length with truncated element
 msg = 313233343030
 result = invalid
 sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd060811220000
 
+# tcId = 88
 # indefinite length with garbage
 msg = 313233343030
 result = invalid
 sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000fe02beef
 
+# tcId = 89
 # indefinite length with nonempty EOC
 msg = 313233343030
 result = invalid
 sig = 3080023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0002beef
 
+# tcId = 90
 # prepend empty sequence
 msg = 313233343030
 result = invalid
 sig = 30683000023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 91
 # append empty sequence
 msg = 313233343030
 result = invalid
 sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd3000
 
+# tcId = 92
 # sequence of sequence
 msg = 313233343030
 result = invalid
 sig = 30683066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 93
 # truncated sequence
 msg = 313233343030
 result = invalid
 sig = 3033023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2
 
+# tcId = 94
 # repeat element in sequence
 msg = 313233343030
 result = invalid
 sig = 308199023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 95
 # removing integer
 msg = 313233343030
 result = invalid
 sig = 303302310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 96
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 30340202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 97
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 3034023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202
+
+# tcId = 98
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 99
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0000
 
+# tcId = 100
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 30680233000000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 101
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023300000084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 102
+# appending unused 0's to integer
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2000002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 103
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 3068023300814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 104
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 3068023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202330084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd0500
+
+# tcId = 105
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 3035028102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 106
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20281
+
+# tcId = 107
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 3035050002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 108
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20500
 
+# tcId = 109
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066003100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 110
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066013100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 111
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066033100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 112
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066043100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 113
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066ff3100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 114
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e200310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 115
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e201310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 116
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e203310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 117
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e204310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 118
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2ff310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 119
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 3035020002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 120
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 3035023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20200
 
+# tcId = 121
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 306a22350201000230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 122
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 306a023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e22235020100023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 123
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 3066023102814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 124
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310284f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 125
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a156202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 126
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a74d
 
+# tcId = 127
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3065023000814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a1502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 128
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 30650230814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 129
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202300084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7
 
+# tcId = 130
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 131
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 30670232ff00814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 132
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 3067023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20232ff0084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 133
 # infinity
 msg = 313233343030
 result = invalid
 sig = 303609018002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 134
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2090180
 
+# tcId = 135
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 303602010002310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
+
+# tcId = 136
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3036023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2020100
+
+# tcId = 137
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e8980842845d38217e2bcceedb5caa7aef8bc35edeec4beb155610f3f5502310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 138
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30650230814cc9a70febda342d4ada87fc39426f403d5e898084284644bb7cded46091f71a7393942ad49ef8eae67e7fc784ec6f02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 139
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30660231ff7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 140
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9bb4483212b9f6e08e58c6c6bd52b610715198180387b139102310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 141
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30660231fe7eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7ba2c7de81d4331124a3558510743ca12113b414eaa9ef0c0ab02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 142
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3066023101814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 143
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 306502307eb33658f01425cbd2b5257803c6bd90bfc2a1767f7bd7b9f3e1359f376840298d725eb98c7ab98c282d68156bb5ea1e02310084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 144
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e5fd3ad1cb7a61dc9507f6eeb2a65341ad0cac035dfee58d140
 
+# tcId = 145
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e2023084f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e6044e681b3bdaf6d91cf3acfc5d3d2cbdaf0e8030a54ce7e5a
 
+# tcId = 146
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231ff7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833
 
+# tcId = 147
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e20231fe7b0a10ee2dd0dd2fab75095af240d095e446faba7a50a1a02c52e34859e236af809114d59acbe52f353fca2011a72ec0
 
+# tcId = 148
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3066023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202310184f5ef11d22f22d0548af6a50dbf2f6a1bb9054585af5e600c49cf35b1e69b712754dd781c837355ddd41c752193a7cd
 
+# tcId = 149
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3065023100814cc9a70febda342d4ada87fc39426f403d5e89808428460c1eca60c897bfd6728da14673854673d7d297ea944a15e202307b0a10ee2dd0dd2fab75095af240d095e446faba7a50a19ff3b630ca4e19648ed8ab2287e37c8caa222be38ade6c5833
 
+# tcId = 150
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -732,6 +950,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 151
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -739,6 +958,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 152
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -746,6 +966,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 153
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -753,6 +974,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 154
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -760,6 +982,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 155
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -767,6 +990,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 156
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -774,6 +998,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 157
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -781,6 +1006,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 158
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -788,6 +1014,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 159
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -795,6 +1022,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 160
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -802,6 +1030,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 161
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -809,6 +1038,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 162
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -816,6 +1046,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 163
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -823,6 +1054,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 164
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -830,6 +1062,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 165
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -837,6 +1070,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 166
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -844,6 +1078,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 167
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -851,6 +1086,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 168
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -858,6 +1094,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 169
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -865,6 +1102,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 170
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -872,6 +1110,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 171
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -879,6 +1118,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 172
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -886,6 +1126,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 173
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -893,6 +1134,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 174
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -900,6 +1142,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 175
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -907,6 +1150,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 176
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -914,6 +1158,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 177
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -921,6 +1166,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 178
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -928,6 +1174,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 179
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -935,6 +1182,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 180
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -942,6 +1190,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 181
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -949,6 +1198,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 182
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -956,6 +1206,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 183
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -963,6 +1214,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 184
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -970,6 +1222,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 185
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -977,6 +1230,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 186
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -984,6 +1238,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 187
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -991,6 +1246,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 188
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -998,6 +1254,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 189
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1005,6 +1262,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 190
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1012,6 +1270,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 191
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1019,6 +1278,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 192
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1026,6 +1286,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 193
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1033,6 +1294,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 194
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1040,6 +1302,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 195
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1047,6 +1310,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 196
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1054,6 +1318,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 197
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1061,6 +1326,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 198
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1068,6 +1334,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 199
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1075,6 +1342,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 200
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1082,6 +1350,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 201
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1089,6 +1358,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 202
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1096,6 +1366,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 203
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1103,6 +1374,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 204
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1110,6 +1382,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 205
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1117,6 +1390,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 206
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1124,6 +1398,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 207
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1131,6 +1406,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 208
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1138,6 +1414,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 209
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1145,6 +1422,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 210
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1152,6 +1430,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 211
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1159,6 +1438,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 212
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1166,6 +1446,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 213
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1173,6 +1454,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 214
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1180,6 +1462,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 215
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1187,6 +1470,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 216
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1194,6 +1478,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 217
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1201,6 +1486,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 218
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1208,6 +1494,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 219
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1215,6 +1502,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 220
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1222,6 +1510,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 221
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1229,6 +1518,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 222
 # Edge case for Shamir multiplication
 msg = 3637323636
 result = valid
@@ -1237,16 +1527,19 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]
 [key.wx = 0ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b18]
 [key.wy = 2aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004ca5ee479ad6624ab5870539a56a23b3816eef7bbc67156836dfb58c425fdb7213e31770f12b43152e887d88a3afb4b182aceec92b3139aca8396402a8f81bb5014e748eab2e2059f8656a883e62d78b9dc988b98332627f95232d37df26585d3]
 [sha = SHA-512]
 
+# tcId = 223
 # k*G has a large x-coordinate
 msg = 313233343030
 result = valid
 sig = 304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970
 
+# tcId = 224
 # r too large
 msg = 313233343030
 result = invalid
@@ -1255,11 +1548,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]
 [key.wx = 70e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12]
 [key.wy = 424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000470e6a90b4e076bf51dfa01fa44de49b448f7afa0f3d07677f1682ca776d404b2a0feef66b005ea28ba99b6ce21d0ca12424f7d179951fb89156cdf04aed6db056c98592c651b5a881abc34e2401127fb81c64e90cee83269c5141f9a3c7bce78]
 [sha = SHA-512]
 
+# tcId = 225
 # r,s are large
 msg = 313233343030
 result = valid
@@ -1268,11 +1563,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]
 [key.wx = 5a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d]
 [key.wy = 4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200045a568474805fbf9acc1e5756d296696290b73d4d1c3b197f48aff03b919f0111823f90ea024af1c78e7c803e2297662d4c1c79edc9c694620c1f5b5cc7dd9ff89a42442747857cace26b6ebc99962ec3a68a8e4072226d6d98a2a866dd97c203]
 [sha = SHA-512]
 
+# tcId = 226
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1281,11 +1578,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]
 [key.wx = 088531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe038]
 [key.wy = 09375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000488531382963bfe4e179f0b457ecd446528b98d349edbd8e7d0f6c1673b4ae2a7629b3345a7eae2e7c48358c13bdbe0389375c849dd571d91f2a3bf8994f53f82261f38172806c4d725de2029e887bfe036f38d6985ea5a22c52169db6e4213da]
 [sha = SHA-512]
 
+# tcId = 227
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1294,11 +1593,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]
 [key.wx = 080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c]
 [key.wy = 5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004080da57d67dba48eb50eef484cf668d981e1bf30c357c3fd21a43cdc41f267c3f186bf87e3680239bac09930f144263c5f28777ad8bcbfc3eb0369e0f7b18392a12397a4fbe15a2a1f6e2e5b4067c82681c89c73db25eca18c6b25768429cef0]
 [sha = SHA-512]
 
+# tcId = 228
 # small r and s
 msg = 313233343030
 result = valid
@@ -1307,11 +1608,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]
 [key.wx = 0e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05]
 [key.wy = 0a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200040e74a096d7f6ee1be9b4160d6b79baba4d25b4fb6fbdd38f5a9ed5cc1ac79943be71ede093e504c7dc0832daeb898a05a8d005b30c894686f6ecb2bc696e25effaccd3c9e4b48122db567c0118a0b983b757c2f40082dc374f8f6117a8e76fc0]
 [sha = SHA-512]
 
+# tcId = 229
 # small r and s
 msg = 313233343030
 result = valid
@@ -1320,16 +1623,19 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]
 [key.wx = 0a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf]
 [key.wy = 604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004a2ad0e27b40410d16077ddc5e415f109d328bf75e73a0f56876fef731285f83188b207a68690a40e76ed23e2c5e49fcf604f1c5d7d7df365005d40e209f4da7bb06f310d5a1660ad6236577fbb47955261f507d23b83013ffb951bd76908e76c]
 [sha = SHA-512]
 
+# tcId = 230
 # small r and s
 msg = 313233343030
 result = valid
 sig = 3006020102020103
 
+# tcId = 231
 # r is larger than n
 msg = 313233343030
 result = invalid
@@ -1338,11 +1644,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]
 [key.wx = 0a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffab]
 [key.wy = 0b924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004a233025c12d20f49dc50dc802e79f03c7ce1750b9204b51325d90b5ade08f4a74ef6efb081ed3156d64a0110d60fffabb924881891ee984cf51949dee96cfd7c9759b1ff00f0dbdc718d52117079d5d8bd6c86c6f532276af38b779bf2350d7f]
 [sha = SHA-512]
 
+# tcId = 232
 # s is larger than n
 msg = 313233343030
 result = invalid
@@ -1351,11 +1659,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]
 [key.wx = 3c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24]
 [key.wy = 0da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200043c9bb63607cdea0585f38d9780c9ac3e9a5a58153e2aacc4bc7a1d638d12e32c4d3a90c0c114b232c6f16e23e4bebb24da2ac2ccedc5494fe534a9abaea3013de0176f1b0e91bcd62154bdf3f604091a5008b2466702d0e2f93e4a4b6c601a54]
 [sha = SHA-512]
 
+# tcId = 233
 # small r and s^-1
 msg = 313233343030
 result = valid
@@ -1364,11 +1674,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]
 [key.wx = 559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb6]
 [key.wy = 1f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004559a66ef77752fd856976f36ed315619932204599bd7ef91d1a53ac1e7c90b3969cab8143b7a53c4bf5a3fe39f649eb61f00f86dd8b8556c4815b2a01c59eb6cc03c97b94b6db4318249fe489e36ac9635876b1ca2ec0999caef5e1a6a58a70d]
 [sha = SHA-512]
 
+# tcId = 234
 # smallish r and s^-1
 msg = 313233343030
 result = valid
@@ -1377,11 +1689,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]
 [key.wx = 548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f4770]
 [key.wy = 363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200040548e79a17fd3a114d830ea88f218ee1ef7aa3f8dc139e0a8b9b60e25049a816ef449e8bd5dae867446495fdf20f47700363a1e8afefb02ebfd59df90b6d23ff7d5f706f9b26daebae1d4657ac342844ee9c2e0e9269f7efe7ab91e0303c115d]
 [sha = SHA-512]
 
+# tcId = 235
 # 100-bit r and small s^-1
 msg = 313233343030
 result = valid
@@ -1390,11 +1704,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]
 [key.wx = 0a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76a]
 [key.wy = 0fb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0eb670630f9bbbd963c5750de7bcbae4ddfd37b13fe7690eec6861a3c56c8efb87dbbf85ccd953c659d382c3d7df76afb08840635a16ac7ecf3de2dc28a77c8af9d49e5a832551e3354a2b311e52be86720d9b2fbb78d11a8aec61606a29f0d]
 [sha = SHA-512]
 
+# tcId = 236
 # small r and 100 bit s^-1
 msg = 313233343030
 result = valid
@@ -1403,11 +1719,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]
 [key.wx = 254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3]
 [key.wy = 710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004254bce3041b00468445cb9ae597bc76c1279a8506142ce2427185b1d7f753d1c0aad94156b531a2071aa61c83ec842a3710d6c8c96766ae8b63396133e5872805e47d9ba39113e122d676d54dbb2460b59d986bdd33be346c021e8a71bb41ba9]
 [sha = SHA-512]
 
+# tcId = 237
 # 100-bit r and s^-1
 msg = 313233343030
 result = valid
@@ -1416,11 +1734,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]
 [key.wx = 09129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f]
 [key.wy = 08e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200049129db4446c2c598c4f81070f70f66c37c39323e01418c095de9902e0e1b20f26bc3e011ba84c10626ffdce836690c9f8e4a104fec4aaa4350c238617ee50456accc49efc3b73eb9548e1600c2483f1c4bae9ddf3ff92af17afd19f86274589c]
 [sha = SHA-512]
 
+# tcId = 238
 # r and s^-1 are close to n
 msg = 313233343030
 result = valid
@@ -1429,16 +1749,19 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]
 [key.wx = 0a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43]
 [key.wy = 0e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004a701a8111cdf97ced74a00a4514b2b526be8113e7df6cf7163aaee465880d26275b833b186d80f1862dc67ff768dde43e5a991f16f8f777311b17eabdc90b6ece3b5da776cfbebbc504382ca1abae1c6aa6a64d9c41110d97950514e99578ed8]
 [sha = SHA-512]
 
+# tcId = 239
 # s == 1
 msg = 313233343030
 result = valid
 sig = 3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101
 
+# tcId = 240
 # s == 0
 msg = 313233343030
 result = invalid
@@ -1447,11 +1770,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]
 [key.wx = 0b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f45]
 [key.wy = 6cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004b6815ba05413bcf34f4c0704af590c1998d7fcd169541e1efe1567ca1dd71a22e35ac838b20c75281582044a57b58f456cdceb10612062779abadd8742c6e93ed74adf306f3b3a0f96b70dd1134b7558b64b55b200c5732c50f05aa032ae7c00]
 [sha = SHA-512]
 
+# tcId = 241
 # point at infinity during verify
 msg = 313233343030
 result = invalid
@@ -1460,11 +1785,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]
 [key.wx = 0b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f1]
 [key.wy = 6d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004b4b2d5a8b50ffabd34748e94498c1d4728d084f943fbddd4b3b6ee16eaa4da91613a82c98017132c94cd6fe4b87232f16d612228ed5d7d08bf0c8699677e3b8f3e718073b945a6c108d97a3b1433c79052b2655a18a3b2e621baa88198cb5f3c]
 [sha = SHA-512]
 
+# tcId = 242
 # u1 == 1
 msg = 313233343030
 result = valid
@@ -1473,11 +1800,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]
 [key.wx = 0842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123]
 [key.wy = 0868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004842b3d89e54d9a4b5694d9251bba20ae4854c510dc0b6ef7033e4045ba4e64b6ddcd36299aac554dbac6db3e27c98123868258190297e1d6bae648a6dee2285886233afd1c3d6f196ad1db14262a579d74cf7855fffc65f5abd242b135ae87df]
 [sha = SHA-512]
 
+# tcId = 243
 # u1 == n - 1
 msg = 313233343030
 result = valid
@@ -1486,11 +1815,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]
 [key.wx = 09ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d808511]
 [key.wy = 135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200049ab73dcfffc820e739a3ed9c316c6f15d27a032f8aa59325f7842cf4a34198ac6ff09eb1a311ce226bf1abb49d8085110135f4b0c2b6b195da9bbe1993e985b8607664f1a4b3d499ea1a112b6afc7e6b88357c9348b614ddfdc846a3f38bbdca]
 [sha = SHA-512]
 
+# tcId = 244
 # u2 == 1
 msg = 313233343030
 result = valid
@@ -1499,11 +1830,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]
 [key.wx = 28771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272eb]
 [key.wy = 0f92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000428771b137fb7d74c0ed0290416f47c8118997923c7b3b717fbbd5308a4bb0e494714bd3f1ff5e9e368887377284272ebf92e5df476a2fa0906ce4fad121c641abb539ab4ef270cd8f0497cc3e6e05b18561b730670f010741238a5d07b077045]
 [sha = SHA-512]
 
+# tcId = 245
 # u2 == n - 1
 msg = 313233343030
 result = valid
@@ -1512,11 +1845,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]
 [key.wx = 09d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd27]
 [key.wy = 1eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200049d1baad217829d5f2d7db5bd085e9126232e8c49c58707cb153db1d1e20a109c90f7bcbae4f2c74d6595207cb0e5dd271eea30752a1425905d0811d0f42019e5088142b41945bee03948f206f2e7c3c1081ba9a297180e36b247ee9e70832035]
 [sha = SHA-512]
 
+# tcId = 246
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1525,11 +1860,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]
 [key.wx = 08e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315]
 [key.wy = 0c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200048e39e1e44f782b810ea93037c344371c4fb141c8bf196ea618f3a176547139a6d02121d2794cbe6481061694db579315c3184e8cd9b6c16b37699633d87f5600654b44cbcb5ab50ba872dfa001769eb765b2d1902e01d2e8af4e1fd6e9c0f30f]
 [sha = SHA-512]
 
+# tcId = 247
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1538,11 +1875,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]
 [key.wx = 0b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae2]
 [key.wy = 6f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004b96fca0e3f6ebf7326f0a8ce8bdf226a2560c22526bf154f7b467010f3a46baca73414070db0f7ab039f345548452ae26f7b744274e9bd6c791f47513e6b51eb42fea3816b3032b33a81695f04d4e775be06484cf7e6a69cba8bacbcb597b3e3]
 [sha = SHA-512]
 
+# tcId = 248
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1551,11 +1890,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]
 [key.wx = 4fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb4]
 [key.wy = 084d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200044fd52b11ff747b59ef609e065a462cd85b73172d20f406fdd845d4eaa3ec173e06ee58a58e1810f051b275bbaa47ccb484d2382b9e72c526dc3764a11a4a962a7a4c7355e6f057fc976ab73cc384f9a29da50769809ecbf37358dd83c74fc25f]
 [sha = SHA-512]
 
+# tcId = 249
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1564,11 +1905,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]
 [key.wx = 7d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5b]
 [key.wy = 0e7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200047d123e3dbab9913d698891023e28654cba2a94dc408a0dc386e63d8d22ff0f33358a231860b7c2e4f8429e9e8c9a1c5be7c95d1875f24ecdfeffc6136cf56f800f5434490f234f14d78505c2d4aea51e2a3a6a5d1693e72c4b1dd2a8746b875a]
 [sha = SHA-512]
 
+# tcId = 250
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1577,11 +1920,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]
 [key.wx = 608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf]
 [key.wy = 674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004608ce23a383452f8f4dcc5c0085d6793ec518985f0276a3409a23d7b7ca7e7dcb163601aca73840c3bd470aff70250bf674005a0be08939339363e314dca7ea67adfb60cd530628fe35f05416da8f20d5fb3b0ccd183a21dbb41c4e195d6303d]
 [sha = SHA-512]
 
+# tcId = 251
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1590,11 +1935,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]
 [key.wx = 48d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18]
 [key.wy = 0e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000448d23de1869475a1de532399da1240bab560eb74a6c7b0871bf8ac8fb6cc17cf7b34fcd7c79fd99c76c605bdf3fcbe18e15b66ab91d0a03e203c2ff914d4bedc38c1ec5dcd1d12db9b43ef6f44581632683bf785aa4326566227ece3c16be796]
 [sha = SHA-512]
 
+# tcId = 252
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1603,11 +1950,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]
 [key.wx = 5d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94]
 [key.wy = 0d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200045d5eb470f9c6a0bb18e8960b67011acf9f01df405ac5b4bf9f4611d6a8af1a26b11b0790e93ae2361525dde51bacac94d42ce151793b80cee679c848362ec272000316590ebc91547b3b6608dfbade21e04de1548ebb45cc4721eb64a16b8318]
 [sha = SHA-512]
 
+# tcId = 253
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1616,11 +1965,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]
 [key.wx = 1da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9]
 [key.wy = 0e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200041da34a149ed562c8ec13e84cb067107bc28b50bfa47575d5a9948cde5a3d7357c38ea41fcfcdd1ab1a1bd9b6592b33d9e14aedfd0cfffcfecbdc21276e6a2c78b8729412c48339ae538b799b7d8e61163047a64cfcec9018aa00f99ae740e3f3]
 [sha = SHA-512]
 
+# tcId = 254
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1629,11 +1980,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]
 [key.wx = 08b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b1]
 [key.wy = 09d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200048b8675211b321f8b318ba60337cde32a6b04243979546383127a068a8749cb5e98c4231b198de62a2b069d3a94d1c7b19d33468a130b4fef66a59d4aee00ca40bdbeaf044b8b22841bb4c8ba419f891b3855f4bddf8dae3577d97120b9d3fa44]
 [sha = SHA-512]
 
+# tcId = 255
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1642,11 +1995,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]
 [key.wx = 442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f7]
 [key.wy = 56b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004442766bdb8b2cf4fef5f65d5d86b61681ec89220c983b51f15bfe12fb0bf9780e0c38bbcc888afb3c55ee828774b86f756b7f399c534c7acd46be4bc8bb38f087b0023b8f5166ab34192ca0b1cad62d663aa474c6f9286c8a054ef94ea42e3c7]
 [sha = SHA-512]
 
+# tcId = 256
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1655,11 +2010,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]
 [key.wx = 11342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998a]
 [key.wy = 0f533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000411342b314f31648931abb897c1371dd3a23e91f2405c4a81744be18e753919752208779de2d54e865eeefbb0bfb4998af533d7a4d6fc6cb5cb98915ce08d0f656e37a502e78f8c1b8baca728c2ecb05a2156f01cff16595b363cdb49c00c1aa2]
 [sha = SHA-512]
 
+# tcId = 257
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1668,11 +2025,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]
 [key.wx = 3c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6]
 [key.wy = 169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200043c96b49ff60ff05951b7b1aca65664f13128b714da620697ef0d90bfc01ef643baa5c608f16ca885038322a443aed3e6169a27f2ea7a36376ef92a900e5389a7b441fd051d693ce65250b881cfdd6487370372292c84369742b18106188b05c0]
 [sha = SHA-512]
 
+# tcId = 258
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1681,11 +2040,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]
 [key.wx = 388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89b]
 [key.wy = 0b353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004388dae49ea48afb558456fdb1d0b04d4f8f1c46f14d22de25862d35069a28ae9284d7a8074546e779ad2c5f17ce9b89bb353298f3c526aa0a10ed23bcb1ed9788812c8a3a6cbea82a3d9d8d465a4cca59dbd3d3d8a36098d644f1b45d36df537]
 [sha = SHA-512]
 
+# tcId = 259
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1694,11 +2055,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]
 [key.wx = 0c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce8]
 [key.wy = 68cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004c85200ac6411423573e3ebc1b7aea95e74add5ce3b41282baa885972acc085c8365c05c539ce47e799afc353d6788ce868cfce1eb2bfe009990084fb03c0919ab892313d7a12efc3514e8273685b9071892faefca4306adf7854afcebafffbf4]
 [sha = SHA-512]
 
+# tcId = 260
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1707,11 +2070,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]
 [key.wx = 0e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b91]
 [key.wy = 0e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004e63ae2881ed60884ef1aef52178a297bdfedf67f4e3c1d876ad10b42c03b5e67f7f8cfaf4dfea4def7ab82fde3ed9b910e2be22bc3fa46a2ed094ebd7c86a9512c8c40cd542fb539c34347ef2be4e7f1543af960fd2347354a7a1df71a237d51]
 [sha = SHA-512]
 
+# tcId = 261
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1720,11 +2085,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]
 [key.wx = 0e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d4]
 [key.wy = 096ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004e9c415f8a72055239570c3c370cf9380cdfabb6ebdbd8058e2fc65193080707895ea1566eeb26149603f4b4d4c1e79d496ae17a001424d21eae4eaa01067048bcd919625fdd7efd896d980633a0e2ca1f8c9b02c99b69a1e4fa53468a2fe244d]
 [sha = SHA-512]
 
+# tcId = 262
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1733,11 +2100,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]
 [key.wx = 637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21]
 [key.wy = 0f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004637223a93dd63af6b348f246e7b3bcb30beaa1dcc888af8e12e5086aa00f7792fbe457463c52422d435f430ad1bb4b21f9a1e01758d1e025b162d09d3df8b403226ed3b35e414c41651740d509d8cf6b5e558118607d10669902abebda3ca28d]
 [sha = SHA-512]
 
+# tcId = 263
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1746,11 +2115,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]
 [key.wx = 7f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565]
 [key.wy = 0fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200047f4dc23982ecc8b84f54241715c7e94e950f596ce033237639a15fefa5eb5c37cb2e562d6d5b3051ea15600e3341a565fed2b55b89d2793321374887b78827ee4ca2216eac2993b1b095844db76adc560450135c072ac1a2c4167520237fbc9d]
 [sha = SHA-512]
 
+# tcId = 264
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1759,11 +2130,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]
 [key.wx = 0a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a1]
 [key.wy = 34634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004a0ae8c949f63f1b6a5d024c99e0a296ecd12d196d3b1625d4a76600082a14d455aab267c68f571d89ad0619cb8e476a134634336611e1fd1d728bcea588d0e1b652bbca0e52c1bfbd4387a6337ff41ce13a65c8306915d2a39897b985d909b36]
 [sha = SHA-512]
 
+# tcId = 265
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1772,11 +2145,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]
 [key.wx = 7cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0]
 [key.wy = 0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200047cad1637721f5988cb7967238b1f47fd0b63f30f207a165951fc6fb74ba868e5b462628595edc80f75182e564a89c7a0fc04c405938aab3d6828e72e86bc59a400719270f8ee3cb5ef929ab53287bb308b51abd2e3ffbc3d93b87471bc2e3730]
 [sha = SHA-512]
 
+# tcId = 266
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1785,11 +2160,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]
 [key.wx = 2024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906]
 [key.wy = 0d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200042024ecde0e61262955b0301ae6b0a4fbd7771762feb2de35eed1823d2636c6e001f7bfcdbc4e65b1ea40224090411906d55362a570e80a2126f01d919b608440294039be03419d518b13cca6a1595414717f1b4ddb842b2c9d4f543e683b86a0]
 [sha = SHA-512]
 
+# tcId = 267
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1798,11 +2175,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]
 [key.wx = 40c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476]
 [key.wy = 0c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000440c5f2608956380c39695c7457ddce0880b5e8fab0a9a3726d0c8535b2ff6ca15814d83ed82c0ab33aba76e05e5c0476c9d15a2a0b2041237ff61c26519d1d74b141d7a4499fbdefc414a900937a8faf6ef560550c73cdb7edfe9314c480bb2b]
 [sha = SHA-512]
 
+# tcId = 268
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1811,11 +2190,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]
 [key.wx = 74acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8]
 [key.wy = 496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000474acdfd2ab763c593bca30d248f2bf26f1843acf9eb89b4dfcb8451d59683812cf3cbe9a264ea435912a8969c53d7cb8496dcb0a4efed69b87110fda20e68eb6feed2d5101a4955d43759f10b73e8ffc3131e0c12a765b68bd216ed1ec4f5d2f]
 [sha = SHA-512]
 
+# tcId = 269
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1824,11 +2205,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]
 [key.wx = 0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]
 [key.wy = 0945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734945baab27ca6383737b7dd45023f997aff5e165f0fd7d8e5c0b5f9c5e731588af2fe5bd8976a0b871c132edf21f363af]
 [sha = SHA-512]
 
+# tcId = 270
 # point duplication during verification
 msg = 313233343030
 result = valid
@@ -1840,11 +2223,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]
 [key.wx = 0da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a3991734]
 [key.wy = 6ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004da35d6a82818ae5254cb65fc86ac42a47873ab247a5ca664e9f095e8de9a57fe721860e66cbc6bd499431a48a39917346ba4554d8359c7c8c84822bafdc0668500a1e9a0f028271a3f4a063a18cea7740d01a4266895f478e3ecd121de0c9c50]
 [sha = SHA-512]
 
+# tcId = 271
 # duplication bug
 msg = 313233343030
 result = invalid
@@ -1856,11 +2241,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]
 [key.wx = 0820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32]
 [key.wy = 631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004820064193c71c7141fe41e711fe843a7474be6b05f50cb0be411cdf7fc78ea7ec96aeb3991ef7646bbde59152d381a32631c5adf93d488b45e67cc9890d8e779f63960193dc16bd1cc136b3e28cf499dfa8e7bff482a0115e6083987f7c042fc]
 [sha = SHA-512]
 
+# tcId = 272
 # point with x-coordinate 0
 msg = 313233343030
 result = invalid
@@ -1869,11 +2256,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]
 [key.wx = 52fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee11]
 [key.wy = 09f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000452fabc58eacfd3a4828f51c413205c20888941ee45ecac076ffc23145d83542034aa01253d6ebf34eeefaa371d6cee119f340712cd78155712746578f5632ded2b2e5afb43b085f81732792108e331a4b50d27f3578252ffb0daa9d78655a0ab]
 [sha = SHA-512]
 
+# tcId = 273
 # point with x-coordinate 0
 msg = 313233343030
 result = invalid
@@ -1882,11 +2271,13 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]
 [key.wx = 0a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c]
 [key.wy = 64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004a8fdb1a022d4e3a7ee29612bb110acbea27daecb827d344cb6c6a7acad61d371ddc7842147b74a18767e618712f04c1c64ac6daf8e08cd7b90a0c9d9123884c7a7abb4664a75b0897064c3c8956b0ca9c417237f8d5a7dd8421b0d48c9d52c7c]
 [sha = SHA-512]
 
+# tcId = 274
 # comparison with point at infinity 
 msg = 313233343030
 result = invalid
@@ -1895,12 +2286,14 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]
 [key.wx = 0878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79]
 [key.wy = 0fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004878e414a5d6a0e0d1ab3c5563c44e80c3b2ef265f27a33ed5cac109ad664c1269beae9031d8d178cbfdb1bfa7cc3cc79fabbb2b6f7ce54026863b0f297a4fe3de82d5044dacafede49d5afc60bc875f4b659c06c19bb74c7c27351687f52b411]
 [sha = SHA-512]
 
-# extreme value for k
+# tcId = 275
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
@@ -1908,12 +2301,89 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]
+[key.wx = 08faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e41]
+[key.wy = 2bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]
+[keyDer = 3076301006072a8648ce3d020106052b81040022036200048faa8497ae3006b612999b03f91f7884d95543a266598e897b71e44ecfd9abd7908bfd122bb366c016a577cb1b2e2e412bb1a719289c749804ca677d14c0900fab031da8c70724723a0d54e3a0035da7dcddeef6fce80df2f81940817d27b2b5]
+[sha = SHA-512]
+
+# tcId = 276
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]
+[key.wx = 0c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16c]
+[key.wy = 0b138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004c59cc648629e62dc1855f653583da0ace631e0f4b4589b7fe5cc449e12df2dceeb862cae00cd100233b999af657ae16cb138f659dcc8d342fd17664d86c5bddaa866c20b0031f65c8442a0ed62b337d09adb63a443ab14e3587b9299053717f9]
+[sha = SHA-512]
+
+# tcId = 277
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]
+[key.wx = 386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf28821]
+[key.wy = 5503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004386bdc98fe3c156a790eee6d556e0036a4b84853358bd5ab6856db5985b9e8ea92e8d4c1f8d04ecd1e6de4548bf288215503292c2c570f57b42f2caf5e7ab94d87817a800b2af6ffcd4f13e30edb8caaf23c6d5be22abea18c2f9450ad1a4715]
+[sha = SHA-512]
+
+# tcId = 278
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]
+[key.wx = 294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd47]
+[key.wy = 1e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004294c37b3ec91a1b0500042d8b97bc9619d17f784a9ea528c0602d700783bfbac9ac49bff1e527b39bb2a49d1dc3abd471e798679b7c58f4dfa33cfe40bb62e7df6d2f190b0f3804c700fa19eba28ad7fd6edd7e3a754af852921c2705f444f0b]
+[sha = SHA-512]
+
+# tcId = 279
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]
+[key.wx = 0bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c8341]
+[key.wy = 5a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004bac7cd8a7755a174fab58e5374ec55a5ce5313235ec51c919c6684bd49305b7005393f72bc4d810ca864fb046d2c83415a33b77f4145680bde63b669ea1f10f3ee1836018c11a6f97155d90827c83dbac388402ac8f59368ddaf2c33548611af]
+[sha = SHA-512]
+
+# tcId = 280
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]
 [key.wx = 0984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00e]
 [key.wy = 0b4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004984a1c04446a52ad6a54d64f2c6c49b61f23abe7dc6f33714896aefb0befb9a52b95b048561132c28c9850e851a6d00eb4e19f9de59d30ca26801f2789a3330b081e6bf57f84f3c6107defd05a959cef5f298acea5a6b87b38e22c5409ec9f71]
 [sha = SHA-512]
 
-# extreme value for k
+# tcId = 281
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326
@@ -1921,16 +2391,94 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]
+[key.wx = 0f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf7]
+[key.wy = 087bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004f00d6327b1226eaa1b0897295eeddadf7510249e6f0f811b57d7197eb6e61199a8f1c6665ec4821d3e18675d5399fdf787bf1e3fb7fee5cb3582a4159808b75e8b1de07eaffd49d3882d15c77443ad83213d21a4be9285223aa44a840e47eb56]
+[sha = SHA-512]
+
+# tcId = 282
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]
+[key.wx = 452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd6]
+[key.wy = 68a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]
+[keyDer = 3076301006072a8648ce3d020106052b8104002203620004452b047743346898b087daaac5d982d378752ba534e569f21ac592c09654d0809b94ccf822045f2885cbd3b221453cd668a01f502f551af14aab35c2c30ec7bac0709f525fe7960439b1e9de53cdad245efd8930967cde6caf8d222c8200cd69]
+[sha = SHA-512]
+
+# tcId = 283
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 0444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]
+[key.wx = 44a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72]
+[key.wy = 0bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000444a8f54795bdb81e00fc84fa8373d125b16da6e2bf4cfa9ee1dc13d7f157394683963c170f4c15e8cf21b5466b49fa72bb5693655b3e0a85e27e3e6d265fba0131f3083bf447f62b6e3e5275496f34daa522e16195d81488a31fe982c2b75f16]
+[sha = SHA-512]
+
+# tcId = 284
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 0410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]
+[key.wx = 10b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa]
+[key.wy = 09be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000410b336b3afb80c80ff50716e734110fe83cd5b8d41d7f2f94f0dec7ecf1facc663babb8ed94e4bdf3592e37464970afa9be144d354e9b456873c6387a12a3eefd3e2feb66f7519ac72ac502c09d20d72cae9d04c88549a285c081023e1c1da08]
+[sha = SHA-512]
+
+# tcId = 285
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 0481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]
+[key.wx = 081f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132]
+[key.wy = 221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]
+[keyDer = 3076301006072a8648ce3d020106052b810400220362000481f92630778777a01781e7924fced35fc09018d9b00820881b14a814c1836a1f73c3641f7a17c821ffd95da902efe132221d81323509391f7b61bd796011337e6af36ae0798c17043d79e8efcdae8e724adf96a2309207c2d2cfd88e8c483acb]
+[sha = SHA-512]
+
+# tcId = 286
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a
+
+[key.curve = secp384r1]
+[key.keySize = 384]
+[key.type = ECPublicKey]
+[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
 [key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]
 [key.wy = 3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f]
 [sha = SHA-512]
 
+# tcId = 287
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
 
+# tcId = 288
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1939,16 +2487,19 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
 [key.wx = 0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7]
 [key.wy = 0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0]
 [sha = SHA-512]
 
+# tcId = 289
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 3064023043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158ca02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e
 
+# tcId = 290
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1957,206 +2508,247 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
 [key.wx = 29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc]
 [key.wy = 09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
 [keyDer = 3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3]
 [sha = SHA-512]
 
+# tcId = 291
 # pseudorandom signature
 msg = 
 result = valid
 sig = 306402302290c886bbad8f53089583d543a269a727665626d6b94a3796324c62d08988f66f6011e845811a03589e92abe1f17faf023066e2cb4380997f4e7f85022541adb22d24d1196be68a3db888b03eb3d2d40b0d9a3a6a00a1a4782ee0a00e8410ba2d86
 
+# tcId = 292
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3066023100a3f1102e92ebe46d67e47c61e54a109347ddd7dced3721bffab6847607678f1d15bc1cb5b39b43ee52b02d684bf37850023100eeebb277b55c8748c47675f5e1cf85c1634cea8ce043040de5e76b1bd72e8067a7c6bfa6813b21396348dd01ac7ab61c
 
+# tcId = 293
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3065023100f290946361f7b733316210d91fc06c1459893f5dbfcf1e086183e5d7730661ef9b3587a9b690438e92d2278779a4d3fd02307b8bdc03bd4cc0026befb1551c75cd6f6b962a80b96fa5b2bbe135cd7b37580501b931b273b298b2ae0ab1198c920e1a
 
+# tcId = 294
 # pseudorandom signature
 msg = 
 result = valid
 sig = 306502304da0ba312f61a16a1c9878408ba142b9809a25a089d53089e852d13670fe5050898105af571e1c02c32617a7b77e16e0023100ce54b6ba8d60e21ca6e3bbbc305dc946a92b72f167c412088ab77c08273c2cabe1cd4c89d1f508ffd420e1dae2efdaad
 
+# tcId = 295
 # pseudorandom signature
 msg = 
 result = valid
 sig = 306602310087e01c452f47c3a87bf083ed5f8db2fccf89722b56f8cd7a39fc850172f3033ec08c8dcde6015c032084aef34b3638bf023100f3676ef5f43ff23f303fddc5f59bdd0362c3953d48c383f950ef62e88f72e93138c0dbca4b933fa78f94cf3ce5da5cfc
 
+# tcId = 296
 # pseudorandom signature
 msg = 
 result = valid
 sig = 30650230557a8ad54ec9ea3806071f75621ed1c4bc3c9fda897066d7b3c827c1832dfc2520d6598265a89208241b852ce932e2e8023100c6629483a2a00da078aa35177833fdaa9956925dc10eca31d358c5403a0ab003858b7c08f383b44c0c658b1b18d354e9
 
+# tcId = 297
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3065023100db72e945913b3f8b421f2e87893a119e4de350fa899017efa7afa709e3c898972ffa70413d70de6dab9738ffb82a89920230767853ae338f0f0405eaf8a59302200a6bc291edd3a0355c8844c01e7aa59a0b39691d15b94827b07ebb3175584a7d58
 
+# tcId = 298
 # pseudorandom signature
 msg = 
 result = valid
 sig = 30650231008c1b2c1610665be24f03b47527dced5cc82d8991e13b906f22c9847b73c066934e1457afc14465761c61ca3a4cb144ed023046f7127854b68a76efa6ec4cda7929d20bff808e624fcb824d544cdf322ff21df61d737631965360a3a198a457aa33e1
 
+# tcId = 299
 # pseudorandom signature
 msg = 
 result = valid
 sig = 306502303a8ddef86bfbf861d75ecbf8e8a3612decc043252538286b15af1a87fda64142dd1f139af7678ae7f7104e5090724e3f0231009933cd18a87341a94f1dbee88044cd8b72b394693d2503dc7cf9337aa3f6f83662c61b374a27fa45c4b3fbef9aff29fe
 
+# tcId = 300
 # pseudorandom signature
 msg = 
 result = valid
 sig = 306402306a28f6e429413f3f03c20f3c7841b83adade75054c2237a060787646712d09df8b7283eda1c2bfc039d0453639aab5a602306c3837367c65397024a0dc910735132219c1c1ed9e127528c3549efc6f897806416f9c41296175c61cd70d06e90e003e
 
+# tcId = 301
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 30650231008071d8cf9df9efef696ebafc59f74db90c1f1ecf5ccde18858de22fe4d7df2a25cb3001695d706dfd7984b39df65a0f4023027291e6339c2a7fed7a174bb97ffe41d8cfdc20c1260c6ec85d7259f0cc7781bf2ae7a6e6fb4c08e0d75b7381bb7d9b8
 
+# tcId = 302
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023100c89ec4718c55edfdb5ba2ecf4cb12277b49e59f5f3ee3f57b8905f585ce04f79ba0032380ea35922d7ea63f064c93d2002306d212828521c0cae11ae4a8c89a996a3557e10f975b1837f401622c257e3a3cb72b38cc6bb0ee595e5c876a1646441fe
 
+# tcId = 303
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023100d01de802b92ea4ca0baa4c14cfb491ca03f2fe3905b6a8d02fac21d8f0d65fe0743776d1473195f0e2f021361db83a490230791231dc4382dcded690ee9edf8d0ccfc90704dcf1bd211a873b6d6c704e745cabd305a51f9238d0f406998e735895b8
 
+# tcId = 304
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023100b2623abbdc4e5d0cf47b4d629734fd39171cd2e1cfc231ad467f8470e0bc83fcf9e391c68409d3421d7492a7d25d72a90230167750548143e8239b73ce6f7ff2eddb14b8290fc7a92deae483c112d111d04cf4c0ae55ca65f9aa27fb36bc16b64a55
 
+# tcId = 305
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023100ad08aa6dcbcec824cb6c92d6506b1ea7b0228185a446e0cad5961a36272755845a12f8300984f3a9f55004204d17b87b023003dd40f67bfe14a875a453321d84645273420bc16c4ac3e237035740c5712f837afcc5329eeb4adcfa1ef2bcd53c09b9
 
+# tcId = 306
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3066023100a6f16b617020bcf0f31ded86fcb8001acfe856bb5267baf7cdb862d396b7619432559240e471f80f506b186eabf84bb3023100bd748eea34293676c7cb21a7aea1871aad4e06363d5ed33abebc6c9dd72160c24c0f15d807f3a435fe4c8fcbe63a6f25
 
+# tcId = 307
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3066023100f72891f7c26020b0487c60d58d0f9663d4e508045268937c23f84b023f991ce92d33fe33dc78083b53a6da02cfb10faf023100f17ea544d497229b54cd49194a6c9d68db6b4db2d0e024daaaf4d19c200d7687cad5e33c893ed59d7627418211dde679
 
+# tcId = 308
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 30640230773332032272abf6efb4f91947af3503433003149807d95a6d318541835aa93cc2e41b6b8735b7a5ed4028ab6b3c4d80023068316b3263a5e34c32c338b9cf329f6b64cebe6e4d73bef9ac4b12013027cf6db87b31ed6128a47525b72a139c10752d
 
+# tcId = 309
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3066023100fa0c7636f79cd35e1af317354adb4ce9aaddc6b70a89c972ead222b48dfff4a320fc62d90ef737a642b347c752d5e468023100fafaaa2b3f7e92ea0b0f2b89088ec1adcbd3b9c7b97e8893ad9ca07e9ced7fd37b1aabab68114fe42a4abbeaa32d84ae
 
+# tcId = 310
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3065023017fbfd972e166d5a788d9af84160f6ecfcd86f5287945bc816bfc644f9849bc1608095de69533699fc465f4e4f074fb7023100d0c71ce90c5ffaef356a1d28ebe6b4e047c678c489f219e12e353a94fbd6478d2fd8bc8f363614cb532b7669943aefd8
 
+# tcId = 311
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 30650230470014ccd7a1a5e5333d301c8ea528ac3b07b01944af30cec60f4bad94db108509e45ba381818b5bdfaf9daf0d372301023100e3d49d6a05a755aa871d7cb96fffb79fed7625f83f69498ba07c0d65166a67107c9a17ae6e1028e244377a44096217b2
 
+# tcId = 312
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3066023100fb766fd8f8d4142b57252b38e958fbcc802031776f5a2ed33a089b150d57f1e5b61820c9db9429b9d4a0d0dac0724779023100ab4dd8ed8989bb38a33a90e898383dc01d5e93f283700890f9c52fb18ef5c82304dfb6b719fcfcf4911ec7c5c2fc8bdb
 
+# tcId = 313
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 30640230455a32ff77b60c69cef3660a8372d82b3ea3f5ae39151c481e8aceb7d0ebed159a6f2981c00e2db7b0961452b400f35c02305774e8505bfcb77f3a3d751c31d7e19b3d172228826d1d7ea177d418c58f792d36e13ebd14202197c2070e0223fd3900
 
+# tcId = 314
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 306502302ff98892d18cc048dbb9e5dafebc222300b3ae8a8364f9d2f98ffd4a336fc1ee8bcb89bfe28d9c3e8abac7d153370d760231009045438e28185061d05fdff63cd314d9fc59891bf616bf5e001d313a560d49714dd7864099a09b8032ea870d31d451b6
 
+# tcId = 315
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 30660231009cafe84002716b7aa1bc76517177e6188f031c066f41cc5e4e4429ef11b855070e91ad94299d7df1e66457336d40774902310094a341146eb31c97759199cada842bf4f9c5e205ef49663939dcce2d40db7f947b91d8e9b0c8398e2f7028cf1e529b8c
 
+# tcId = 316
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3065023100a1a5d4820fe5226f2f547b238c96eb62c299ad17bb43298fbf39607cbd908256351a41f44a62d0f20eba1001f22f7b5e02307431dc7ead3664a8aea70efb317af12947e7b49e41e660e522295a0a04c1f6a526158ead5644d82ac4cca618bf01becd
 
+# tcId = 317
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 306502302c14d1df832aa0eb10e7ce221735ad7584ac0887531b32402e3c1e57fc863be5bc5a2bb87b86165df64f3a4233e761c5023100bdfc8c3579e2417f49d5628dc8286b32663188e017d936e10d61cd3f6edb97919b109c5567b46f4708106fe671f1d5fb
 
+# tcId = 318
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3065023009a8643aee4ec1119c836373e167064a53888ef7abe5faeed250c1f9960c6c06bcd42a11f13181d3aab8246767dc5368023100bbb6dd94750e6656babd4e159e27a2fa986bc7e4441771ef87b2280f93056dc5a4a38d1c45b8bc2aa20a4b0c5945b57b
 
+# tcId = 319
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3066023100841721e96c44524e86c56d84a5aaea1ac439b060aa11d3e2a1961babd4778075f138dfc0189d3ceac0caccf5bbc1943d023100c9b0df9963daa9b2fe5d75edad22a9316af0132bbda41f7b6754425e9378fa12af0111baabcd37b43714171fcadd978b
 
+# tcId = 320
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 306402300a453df160ea5a79926517f16dba255826b87aebabd6fe9f0332100f94ca5cce86f1a528cf4e0010add0eaa7d86b84be023023a1fae44f99681c9b7b2495fb056e206a0e8c4b60a065a576d0bac6f867ef06c402bc8e8584392a3c97accaa0a36cbc
 
+# tcId = 321
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 30640230377044d343f900175ac6833071be74964cd636417039e10e837da94b6919bffc3f5a517b945a450852af3259f5cbf108023032ea25006375c153581e80c09f53ad585c736f823c70147aba4fb47bb0a224fae4d8819adad80d4c144ecc2380954a9e
 
+# tcId = 322
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3065023002881912e33e93b3d6d4daaffbb8bdc421240934f006be89d918ef43a82ea072921f940748c59d1368511355e936c5360231008a77df61061022893e15a793a6a5e332bf4c963b2f8ccd4e1a3193ce196b09afac6740a32118adafffcab61cbc96b5df
 
+# tcId = 323
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3065023100d55902bc90b4ba98054c751746a0109edb8c2ca928585c5c847bc4abf65482ecac190541248e905e7ce5ca313341c6d8023063bd0c665fd69f43ad50417b5bfd2c669f10d12b33e119c605978069f45457beaff125e3492ffa3d166fbc6735d996c4
 
+# tcId = 324
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3065023100867551b1271ca957a4f71a645ec14be9973633efbb5d23fb7adaa234b47ad618c6dca48301d8791baf9eaa69155a8cb202301623c18f1a4cd4703756418e6d8bc4868de44f170b094700d6b73e5b9b8a461598f8d0c7041e2cef0411b16f0b5485ed
 
+# tcId = 325
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3065023100b0f8b43879c5241e40981335abbc66cce82868a2ded3d9dd40a7ed882d59ad8bda1f51f382608380917a92d99e45380602301fc0128240724d16b8cb1cc481f4b5fb972b2f7fc984e488550313443b409151c93171da08222253d0c46bb121f0c418
 
+# tcId = 326
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3065023100a04b68197390cacb812b47c28158689f11df11f61029b0cfb4989aa4faa7ee4a15c0837642c24d450ca6ea05a79b914102304a243a2491b8f54e5cdf34ee80b2571956e7df6ea0680443a2da089db84c5bd68e489e108e1064fd291c9fb23603469d
 
+# tcId = 327
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3064023047bc5ab70e4fc533f42fb58ab387f7444d2c655093e47fc988b64ba279fa03a93191eae120b7642795c50a9be44216590230347ad7008ba5f47043858e5a6bc04f05cffb91045cc9a29d6b224cd4e1f50bda10449a2d2e054581a00f1f65062223c0
 
+# tcId = 328
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3065023008fb1f88f24104bc8d0f3c5ff573d9e714fa87856255503da7a13a2cce87ae4cc383000eb3940374f2b09fcd152e8097023100e86fa46404216031e00a0df4360d49feed084eb7a88a8d1264a4842c802d60bae44b117cba233cc567360c4626913f0b
 
+# tcId = 329
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3066023100d4353b7c73abaaefdb11321f374ac8584d9d1fd72836300d8353bf9fe35f269f9225e58630a4182f16c07b00efce32e502310082e4180a271b4571835ebe0299ac13a2053500be7f31747e30318d6dd69e95a59b7f3e1fb457c6929f3e7c84ba6fdd43
 
+# tcId = 330
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
@@ -2165,21 +2757,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
 [key.wx = 0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac]
 [key.wy = 0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1]
 [sha = SHA-512]
 
+# tcId = 331
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3066023100ccb13c4dc9805a9b4e06ee25ef8c7593eaff7326c432d4b12b923163cf1cbe5fe1cfd3546c1d0761d8874e83ffd2e15d023100db1b0c082ae314b539f05e8a14ad51e5db37f29cacea9b2aab63a04917d58d008cf3f7ba41d5ea280f3b6a67be3ae8f8
 
+# tcId = 332
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3065023100c79a30e36d2126b348dd9eb2f5db6aa98f79d80214027e51bcf3cabec188a7ebaf25cb7bbe9ec6bfed135e2a3b70e9160230241338ee2ac931adea9a56e7bfe909947128d54d5122a47b00c278e684e10102740d26e89e343290a5b2fa8b401faec6
 
+# tcId = 333
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2188,21 +2784,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
 [key.wx = 0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422]
 [key.wy = 0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000]
 [sha = SHA-512]
 
+# tcId = 334
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 306402301fafd83d728422e1485f1e52e5b631548647cc3c76c109c3177a73751d91a19012fa4628b218f2229fc4d55f105fe00102304474f9af7b4b0bb96fdb05ae918f799024e8d5b864e49ccd047cf97e7b9f8763cce015c11cf1f461c9027cb901055101
 
+# tcId = 335
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 3066023100e6025bb957ab197fb4c080d0a5c647e428afb0d7cc235c605ae97545494fd31a9979790bb2da6e1cf186789422b15c970231008ae9872291430d1bb371ef72360dad5afbb6fb001f403d9aaa1445f0326eb1eef775c9dfe1d7ef8bf4e744822108d27e
 
+# tcId = 336
 # y-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2211,21 +2811,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
 [key.wx = 1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000]
 [key.wy = 0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
 [keyDer = 3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557]
 [sha = SHA-512]
 
+# tcId = 337
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 3065023100e706b0045a6f54bd175e2437b48767b0204f93d8a4d9d3d00838278137e5b670de4305c5c55e49059b8b5f6e264654c90230405741adff94afd9a88e08d0b1021911fa4cedb2466b1a8fd302a5b5d96566ada63ccb82b6c5e8452fde860c545e0a19
 
+# tcId = 338
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
 sig = 306502300c57ce2bc579fbd3a759dfbf5e84c3cef2414846a2e300453e1e4c5188f24432b14ca647a733b6ad35c980a880d36145023100f12a119e22d48b82049df611f1c851fb22795056498a873c730fcb9fd8f314728de0298b9b22c348abc6de2aba97e972
 
+# tcId = 339
 # x-coordinate of the public key has many trailing 0's
 msg = 4d657373616765
 result = valid
@@ -2234,21 +2838,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
 [key.wx = 2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69]
 [key.wy = 0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98]
 [sha = SHA-512]
 
+# tcId = 340
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 306602310093718f6f8542725f62de7039fc193d3fcc81d622230ccc94e9e265390b385af3a3ba50c91a9d6a5b1e07d79af2bd80b2023100d08499f3d298e8afecea122265a36dbf337259020654739783c8ec8ef783d072555b5907285ce83fc8ced9c8398c6269
 
+# tcId = 341
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3066023100ce26e42c490dec92cf59d6b1ba75c9a1400d6e5c3fd7c47e1eeb1cded30a3a3d18c81cdfdcbad2742a97293369ce21c202310094671085d941fd27d495452a4c8559a1fe24f3225f5b8ef75faf9d3fb01372c586e23b82714359d0e47144ff5d946161
 
+# tcId = 342
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2257,21 +2865,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
 [key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]
 [key.wy = 208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4]
 [sha = SHA-512]
 
+# tcId = 343
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3065023100e6fa8455bc14e730e4ca1eb5faf6c8180f2f231069b93a0bb17d33ad5513d93a36214f5ce82ca6bd785ccbacf7249a4c02303979b4b480f496357c25aa3fc850c67ff1c5a2aabd80b6020d2eac3dd7833cf2387d0be64df54a0e9b59f12c3bebf886
 
+# tcId = 344
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 306502301b49b037783838867fbaa57305b2aa28df1b0ec40f43140067fafdea63f87c02dfb0e6f41b760fbdf51005e90c0c3715023100e7d4eb6ee61611264ea8a668a70287e3d63489273da2b30ad0c221f1893feaea3e878c9a81c6cec865899dbda4fa79ae
 
+# tcId = 345
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2280,21 +2892,25 @@
 [key.curve = secp384r1]
 [key.keySize = 384]
 [key.type = ECPublicKey]
+[key.uncompressed = 04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
 [key.wx = 0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336]
 [key.wy = 0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
 [keyDer = 3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b]
 [sha = SHA-512]
 
+# tcId = 346
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3065023100af0ed6ce6419662db80f02a2b632675445c7bf8a34bbacdc81cc5dd306c657ca4c5a3fb1b05f358d8f36fda8ae238806023046b472c0badb17e089c8f9697fd0b4ce71f0f4471b235483d4c8dd3d00aa282cde990253df38ba733b2ad82a601c7508
 
+# tcId = 347
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 3066023100e2aa9468ccaaadad8b9f43a429c97f0c6a7eedcb4d4af72d639df0fe53f610b953408a8e24e8db138551770750680f7a023100d81020846d1c50ee9ae23601dd638cb71b38d37fb555268c2fa1ad8a761fa7b27afcab2fa69224d1f976699914e09de2
 
+# tcId = 348
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
diff --git a/src/third_party/wycheproof/ecdsa_secp521r1_sha512_test.json b/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.json
similarity index 83%
rename from src/third_party/wycheproof/ecdsa_secp521r1_sha512_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.json
index 90178e6..8b3a8a2 100644
--- a/src/third_party/wycheproof/ecdsa_secp521r1_sha512_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.json
@@ -1,27 +1,28 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 330,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "MissingZero" : "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.",
     "PointDuplication" : "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."
   },
+  "numberOfTests" : 348,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXGRX7AiNUy9IIJOWWuU8zQflVu1Z\n4q+UXNjHqVwcZE+KVqioo813OS3dhh6Kkk2smcaQaQk71SpS+mxWAEoHRQgAeHjW\n1C5LTdHpwGlss+GfYwM8PbTmDUcyWbPr4Hmq8KmG7mF3+CF6eMaLgT9+FJpOVv2V\nYsB/7T2JWULX0QHLg/Y=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6",
         "wx" : "5c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508",
         "wy" : "7878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXGRX7AiNUy9IIJOWWuU8zQflVu1Z\n4q+UXNjHqVwcZE+KVqioo813OS3dhh6Kkk2smcaQaQk71SpS+mxWAEoHRQgAeHjW\n1C5LTdHpwGlss+GfYwM8PbTmDUcyWbPr4Hmq8KmG7mF3+CF6eMaLgT9+FJpOVv2V\nYsB/7T2JWULX0QHLg/Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -35,7 +36,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30818802420081d7b378e361fe518b0afc37ffb88f0dcc62be9a9e03d23412efb8c799b803a96ccb37886a57c4f61b228ae2609cb6f14033494846f79aeb2c4fc70c9c020bc1530242010b2471c2a7ebbc5e48f03d2dbbbf89c847a44dedc7ffcddd073f1f814cb0fd1418bd524ba1ec74abef8e4a27f19eab93db20d4553a603f04a0c3719430d80e1197",
+          "sig" : "308187024200d703523eda938e2cee1b8ca598f52b20cc2f23c8eca85ad991f5709797cc57a76e4a30199c9ffb745dd5dd2ea62981a1e74f9da090be412d7667bd9e92e2efa7af02412923ae695df38c16e9e035c1905dda07ef80e38a8db8ba853b7d45bd12ad06e384ebdb55228e322c90a514e7e07a534c45cad83574ef46c3e0105096a1a9efa7b6",
           "result" : "valid",
           "flags" : []
         },
@@ -43,7 +44,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "308188024200e819b543589aa13fddef2531dd1c67caa775493b2d307e8130a765f7772d5056d3a5eb6bb37979d9606c1b36862e8397d38d7aae666c558705ce13667cc832d4af02420162398631365bde51182b0b8869b2d924defff46abcbb5fd07dd90240644f623c15f5ed7ad32f6f9a2b81db7f9eb4e8b25ca53e30f1ffc21cdfed6c437b8b03fcbb",
+          "sig" : "308187024201edfd55e6cfd3e5e282ad50855947b1ca259ba568106315658618793c02d92eb662b3f2cb651ecb65b1a5bac4c6dae699760a3d9824a10ffe2d6699f9a4f14406bb02415c056f1b5eaf3fa0a50b767fc7683f302ade107ebe8265e3f1550ba947fd24d6e11e2a2d9ce1925ae75718c6a3a9dfeeeb43bfc3d6214e5f74f8fbed54488a5dad",
           "result" : "valid",
           "flags" : []
         },
@@ -51,7 +52,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "308188024201ac089cee6fceeb3c00cf74492744b63121d94e7a3d480e59627d64afba97b8745b724ec54f9bf1d4601acdca547404771d06213e3357ebdb729bcfd70cd069fc2d024201ce834aedf2bda5e7fc97aad2df904b9f4ed7a6c26aed152e46de2eda517704fe8d2955a9c1a5790e2f86a4b3c09ac61aff8bc8dfe000cd0e016891806065e51f4a",
+          "sig" : "308186024028e25a563e9a79bf4d0bd4d0557393d1cf5e54fe8a62e2db7f573009972a78aee864be5c0f20fd98bc8b291a113215f76a0ec7836e997ab7838dbd856b518d7602420080b4276568a247ae57880a800d939553e28e3377870cc2425276f40beee81a2f986fe487e30b0493e4fd69cc0d19f0ba560e6200ba604c121c5f1621c100ef4f5b",
           "result" : "valid",
           "flags" : []
         },
@@ -59,7 +60,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "308186024156b7aa356f1584b4c209aa24eadb3de60775e1273bee4f0e9d247ceae97e3d6f701798e883be932cd60d95fb0e659a7f3e2a8291b757f851a0a284b28932f6cf28024127aa41b0bf9ed8202f46f7eb312574601028831cef64d9e1dc7a4e553e8d3c0d5a837baaccfe065bff0bc4e8d389fc1335edaeecc7862bec41af6ed5bb4bc8a19f",
+          "sig" : "308188024200b29a98b9d03abb13a30ad32e42ed1c92b3f294743e103184613bb151b7fd183db9f2107e5641889d2e430dfb3ed9fbf9262fe6220c9fbe37cdcb64465ec10777980242010e86349333a1ba89a1674b39eead9249c6f4e3ab2da6e9cb68c31984e6a3ebe5c6d1938ce87e4258a28e4f9e07e6f595e7a079c94fea978d6c5c3677713c5bfaa8",
           "result" : "valid",
           "flags" : []
         },
@@ -67,7 +68,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "308188024200bb73df934eef063702468f828c2338cbdc4f9cb71b07334f68f44f9189322cfe0a1c499545bab1195e4b6f9368a848cbead4c77fee1aa4edd0b617a51dd075a604024201171cf378b95cd4032e42c789a315b51632be03620dae45d58f024b9f3cb90b2bdb15b3ebddb89f2f811d06482962adab8d31b2894296846e28f520efe63d725f7c",
+          "sig" : "308188024200f46a4a4cd5cf22373f768ba79a58b9b48af3db95bf92645c9d9c034d8364d2be4cf2830a36de9c5c3f5952f40aee0f19483aabfde8484bb82e09e514377b30972502420128398151929ee841586daef3b5ff028f461bf8be48875692f6d62b7206bdc6ad85c2f6330c75acb7f29ba73ca20f5561c20efc6621880033853bfbd5c7eee270e0",
           "result" : "valid",
           "flags" : []
         },
@@ -85,7 +86,9 @@
           "msg" : "313233343030",
           "sig" : "3082008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 9,
@@ -93,7 +96,9 @@
           "msg" : "313233343030",
           "sig" : "308188028200414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -101,7 +106,9 @@
           "msg" : "313233343030",
           "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450282004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -353,6 +360,14 @@
         },
         {
           "tcId" : 42,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000",
@@ -360,7 +375,7 @@
           "flags" : []
         },
         {
-          "tcId" : 43,
+          "tcId" : 44,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "308188000002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -368,24 +383,16 @@
           "flags" : []
         },
         {
-          "tcId" : 44,
-          "comment" : "appending unused 0's",
+          "tcId" : 45,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 45,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 46,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500",
           "result" : "invalid",
@@ -393,22 +400,6 @@
         },
         {
           "tcId" : 47,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 48,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 49,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818c49817730818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -416,7 +407,7 @@
           "flags" : []
         },
         {
-          "tcId" : 50,
+          "tcId" : 48,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818b250030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -424,7 +415,7 @@
           "flags" : []
         },
         {
-          "tcId" : 51,
+          "tcId" : 49,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef",
@@ -432,7 +423,7 @@
           "flags" : []
         },
         {
-          "tcId" : 52,
+          "tcId" : 50,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818b224649817702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -440,7 +431,7 @@
           "flags" : []
         },
         {
-          "tcId" : 53,
+          "tcId" : 51,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818a2245250002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -448,7 +439,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818e224302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450004deadbeef024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -456,7 +447,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452246498177024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -464,7 +455,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522452500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -472,7 +463,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452243024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef",
@@ -480,7 +471,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818faa00bb00cd0030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -488,7 +479,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818daa02aabb30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -496,7 +487,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818e2249aa00bb00cd0002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -504,7 +495,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818c2247aa02aabb02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -512,7 +503,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452249aa00bb00cd00024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -520,7 +511,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "30818c02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452247aa02aabb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -528,7 +519,15 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "308030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000",
@@ -536,7 +535,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 64,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30818a228002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -544,7 +543,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 65,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000",
@@ -552,7 +551,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 66,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "308031818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000",
@@ -560,7 +559,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 67,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30818a228003414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -568,7 +567,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000",
@@ -576,7 +575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -584,127 +583,47 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
-          "comment" : "changing tag value",
+          "tcId" : 70,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 72,
-          "comment" : "changing tag value",
+          "tcId" : 71,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 73,
-          "comment" : "changing tag value",
+          "tcId" : 72,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "31818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 74,
-          "comment" : "changing tag value",
+          "tcId" : 73,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "32818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818600414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 77,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818601414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 78,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818603414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 79,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818604414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "308186ff414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645014128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645044128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645ff4128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
+          "tcId" : 75,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -712,31 +631,15 @@
           "flags" : []
         },
         {
-          "tcId" : 87,
-          "comment" : "using composition",
+          "tcId" : 76,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "30818b300102308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 88,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
+          "tcId" : 77,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a",
@@ -744,7 +647,7 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
+          "tcId" : 78,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -752,15 +655,17 @@
           "flags" : []
         },
         {
-          "tcId" : 92,
+          "tcId" : 79,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 93,
+          "tcId" : 80,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac100",
@@ -768,7 +673,7 @@
           "flags" : []
         },
         {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac105000000",
@@ -776,7 +681,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1060811220000",
@@ -784,7 +689,7 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000fe02beef",
@@ -792,7 +697,7 @@
           "flags" : []
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10002beef",
@@ -800,7 +705,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "308188300002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -808,7 +713,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac13000",
@@ -816,7 +721,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -824,7 +729,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "304302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645",
@@ -832,7 +737,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "3081c902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -840,23 +745,27 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "long form encoding of length",
           "msg" : "313233343030",
           "sig" : "3081870281414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "long form encoding of length",
           "msg" : "313233343030",
           "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502814128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "3043024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -864,7 +773,23 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "304402024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "304402414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -872,7 +797,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 96,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000",
@@ -880,23 +805,67 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 97,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "308188024300004e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450243000028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 99,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 100,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30450281024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "30450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -904,7 +873,7 @@
           "flags" : []
         },
         {
-          "tcId" : 111,
+          "tcId" : 105,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500",
@@ -912,7 +881,87 @@
           "flags" : []
         },
         {
+          "tcId" : 106,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818600414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818601414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818603414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818604414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "308186ff414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645014128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645044128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645ff4128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "30450200024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -920,7 +969,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 117,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450200",
@@ -928,7 +977,23 @@
           "flags" : []
         },
         {
-          "tcId" : 114,
+          "tcId" : 118,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "30818602414c4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -936,7 +1001,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 121,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502412ab5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -944,7 +1009,7 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 122,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86c5024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -952,7 +1017,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a41",
@@ -960,7 +1025,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30818502404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -968,7 +1033,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30818502404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -976,7 +1041,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a",
@@ -984,7 +1049,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -992,7 +1057,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "3081870242ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -1000,7 +1065,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -1008,7 +1073,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3046090180024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
@@ -1016,7 +1081,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645090180",
@@ -1024,66 +1089,18 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbe97b3367122fa4a20584c271233f3ec3b7f7b31b0faa4d340b92a6b0d5cd17ea4e024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 127,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbf4d826580ab145752e852a6e91512b78178047879e9714a4ae1bc74298aaa7223c024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081860241b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0040b27d9a7f54eba8ad17ad5916eaed487e87fb8786168eb5b51e438bd675558ddc4024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081870242fdb1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0041684cc98edd05b5dfa7b3d8edcc0c13c48084ce4f055b2cbf46d594f2a32e815b2024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "sig" : "3046020100024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "sig" : "304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1091,7 +1108,7 @@
           "tcId" : 134,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba09a7b6ac4ecd0410b4722ca75ba197a403a0a1f9ee0e7b391b0649fda1d3969eeca",
+          "sig" : "3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbe97b3367122fa4a20584c271233f3ec3b7f7b31b0faa4d340b92a6b0d5cd17ea4e024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
@@ -1099,7 +1116,7 @@
           "tcId" : 135,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a5d85db5e551e1de70233273282b66f49992b40b6fd47b0252edc06be016f926b8",
+          "sig" : "3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbf4d826580ab145752e852a6e91512b78178047879e9714a4ae1bc74298aaa7223c024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
@@ -1107,7 +1124,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450241d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f",
+          "sig" : "3081860241b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
@@ -1115,7 +1132,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fdd74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f6584953b132fbef4b8dd358a45e685bfc5f5e0611f184c6e4f9b6025e2c6961136",
+          "sig" : "308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0040b27d9a7f54eba8ad17ad5916eaed487e87fb8786168eb5b51e438bd675558ddc4024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
@@ -1123,7 +1140,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "sig" : "3081870242fdb1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0041684cc98edd05b5dfa7b3d8edcc0c13c48084ce4f055b2cbf46d594f2a32e815b2024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
@@ -1131,7 +1148,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "sig" : "3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
@@ -1139,12 +1156,76 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f",
+          "sig" : "3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 141,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba09a7b6ac4ecd0410b4722ca75ba197a403a0a1f9ee0e7b391b0649fda1d3969eeca",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a5d85db5e551e1de70233273282b66f49992b40b6fd47b0252edc06be016f926b8",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450241d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fdd74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f6584953b132fbef4b8dd358a45e685bfc5f5e0611f184c6e4f9b6025e2c6961136",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "msg" : "313233343030",
+          "sig" : "30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -1154,7 +1235,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -1164,7 +1245,7 @@
           ]
         },
         {
-          "tcId" : 143,
+          "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -1174,7 +1255,7 @@
           ]
         },
         {
-          "tcId" : 144,
+          "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
@@ -1184,7 +1265,7 @@
           ]
         },
         {
-          "tcId" : 145,
+          "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
@@ -1194,7 +1275,7 @@
           ]
         },
         {
-          "tcId" : 146,
+          "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3047020100024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
@@ -1204,7 +1285,7 @@
           ]
         },
         {
-          "tcId" : 147,
+          "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3047020100024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -1214,7 +1295,7 @@
           ]
         },
         {
-          "tcId" : 148,
+          "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30470201000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -1224,7 +1305,7 @@
           ]
         },
         {
-          "tcId" : 149,
+          "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -1234,7 +1315,7 @@
           ]
         },
         {
-          "tcId" : 150,
+          "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -1244,90 +1325,10 @@
           ]
         },
         {
-          "tcId" : 151,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 152,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 153,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 154,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 155,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 156,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3047020101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 157,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30470201010242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 158,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020100",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1337,7 +1338,7 @@
           "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020101",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1347,7 +1348,7 @@
           "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
+          "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1357,7 +1358,7 @@
           "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
+          "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1367,7 +1368,7 @@
           "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
+          "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1377,7 +1378,7 @@
           "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
+          "sig" : "3047020101024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1387,7 +1388,7 @@
           "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30470201ff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "sig" : "30470201010242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1397,7 +1398,7 @@
           "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30470201ff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1407,7 +1408,7 @@
           "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1417,7 +1418,7 @@
           "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1427,7 +1428,7 @@
           "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1437,7 +1438,7 @@
           "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff",
+          "sig" : "30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1447,7 +1448,7 @@
           "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
+          "sig" : "30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1457,7 +1458,7 @@
           "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
+          "sig" : "30470201ff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1467,7 +1468,7 @@
           "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
+          "sig" : "30470201ff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1477,7 +1478,7 @@
           "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "sig" : "30470201ff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1487,7 +1488,7 @@
           "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1497,7 +1498,7 @@
           "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090380fe01",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1507,7 +1508,7 @@
           "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020100",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1517,7 +1518,7 @@
           "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020101",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1527,7 +1528,7 @@
           "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080201ff",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1537,7 +1538,7 @@
           "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1547,7 +1548,7 @@
           "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1557,7 +1558,7 @@
           "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1567,7 +1568,7 @@
           "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864090242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1577,7 +1578,7 @@
           "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "sig" : "3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1587,7 +1588,7 @@
           "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090380fe01",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1597,7 +1598,7 @@
           "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020100",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1607,7 +1608,7 @@
           "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020101",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1617,7 +1618,7 @@
           "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0201ff",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1627,7 +1628,7 @@
           "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1637,7 +1638,7 @@
           "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1647,7 +1648,7 @@
           "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1657,7 +1658,7 @@
           "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e913864080242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1667,7 +1668,7 @@
           "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "sig" : "3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1677,7 +1678,7 @@
           "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090380fe01",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1687,7 +1688,7 @@
           "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020100",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1697,7 +1698,7 @@
           "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020101",
+          "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1707,7 +1708,7 @@
           "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0201ff",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1717,7 +1718,7 @@
           "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1727,7 +1728,7 @@
           "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1737,7 +1738,7 @@
           "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1747,7 +1748,7 @@
           "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1757,7 +1758,7 @@
           "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "sig" : "3049024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1767,7 +1768,7 @@
           "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3049024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090380fe01",
+          "sig" : "3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1777,7 +1778,7 @@
           "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100",
+          "sig" : "3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1787,7 +1788,7 @@
           "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101",
+          "sig" : "3047024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1797,7 +1798,7 @@
           "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "304702420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201ff",
+          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1807,7 +1808,7 @@
           "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
+          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1817,7 +1818,7 @@
           "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
+          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1827,7 +1828,7 @@
           "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
+          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1837,7 +1838,7 @@
           "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "sig" : "308188024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1847,7 +1848,7 @@
           "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30818802420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "sig" : "3049024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1857,7 +1858,7 @@
           "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30490242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090380fe01",
+          "sig" : "30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1865,6 +1866,86 @@
         },
         {
           "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30470242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "304702420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386408",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3081880242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024201ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30818802420200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "30490242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 221,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "39353032",
           "sig" : "308187024200b4b10646a668c385e1c4da613eb6592c0976fc4df843fc446f20673be5ac18c7d8608a943f019d96216254b09de5f20f3159402ced88ef805a4154f780e093e044024165cd4e7f2d8b752c35a62fc11a4ab745a91ca80698a226b41f156fb764b79f4d76548140eb94d2c477c0a9be3e1d4d1acbf9cf449701c10bd47c2e3698b3287934",
@@ -1874,20 +1955,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQASRzWxfk7dBTW1Fz+PSZL0Hf8RCek\nsK/t52ysU3p8pe4sRFZCWCYPdpG4H9/s6/0Dumcid4dcWzEeqSDnT7OXivUBRKNT\nolG0KXiUFhuuEtFqicM7cZ+QTPzMJ333jOpTeRmGQv1UnfkZkE3AzzZi7qsB7xG4\n48tJtRuFPZjwQmAMCZc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997",
         "wx" : "491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af5",
         "wy" : "144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQASRzWxfk7dBTW1Fz+PSZL0Hf8RCek\nsK/t52ysU3p8pe4sRFZCWCYPdpG4H9/s6/0Dumcid4dcWzEeqSDnT7OXivUBRKNT\nolG0KXiUFhuuEtFqicM7cZ+QTPzMJ333jOpTeRmGQv1UnfkZkE3AzzZi7qsB7xG4\n48tJtRuFPZjwQmAMCZc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -1895,7 +1977,7 @@
           "flags" : []
         },
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -1905,20 +1987,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBXygdzcl2ZBzgJNyh6sjd1/lJ4ykN\nOy3hHEhz82dqBv+fcEwkgTvY1jUosugT94uGn/OBElJ+ebODo71Se625Kf8BUC5M\nxwMtPsNbD40FQJQ4qGlm1iP3ovQyv3EvdtxjRUBd/PzcNtR3gx047sZO3n9NOaqR\nv/zFbsQkHLBnNbKAn74=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe",
         "wx" : "15f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff",
         "wy" : "1502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBXygdzcl2ZBzgJNyh6sjd1/lJ4ykN\nOy3hHEhz82dqBv+fcEwkgTvY1jUosugT94uGn/OBElJ+ebODo71Se625Kf8BUC5M\nxwMtPsNbD40FQJQ4qGlm1iP3ovQyv3EvdtxjRUBd/PzcNtR3gx047sZO3n9NOaqR\nv/zFbsQkHLBnNbKAn74=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -1928,20 +2011,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAM21dCP51xQlG5t3dNsVQuwVNmSXI\n8lTP4cM4j3ILHWUAqQQSsCCz21krkqufaPHGk7jRNlNxY14hvEPqrfieTnQB1I1g\nMZ39Bvk1/EZIjCKbYR7s0DiASun2gaB43ejtj44grZUEvPPCSgtWax6FstPtChJz\nKS/1+HuuWzyHhX5n7YE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81",
         "wx" : "336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e74",
         "wy" : "1d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAM21dCP51xQlG5t3dNsVQuwVNmSXI\n8lTP4cM4j3ILHWUAqQQSsCCz21krkqufaPHGk7jRNlNxY14hvEPqrfieTnQB1I1g\nMZ39Bvk1/EZIjCKbYR7s0DiASun2gaB43ejtj44grZUEvPPCSgtWax6FstPtChJz\nKS/1+HuuWzyHhX5n7YE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02420095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66",
@@ -1951,20 +2035,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAb4+t7brmNwEHLCh8Yz+cAFLqHmzQ\nCoQ0LMD2JiEAcVdqv9CHVmSwdGza8nRe/8GNlJBbD8nSytS6N1wOoimMjRwBUNEo\ny2KlJ65t8+kvHygOozJIcR/+SzXBsWKpUIV2hgFl4N3DYdlvr80v+Cd2x0O5zWhF\n22HrVnOfXE71YebCDYw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c",
         "wx" : "6f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c",
         "wy" : "150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAb4+t7brmNwEHLCh8Yz+cAFLqHmzQ\nCoQ0LMD2JiEAcVdqv9CHVmSwdGza8nRe/8GNlJBbD8nSytS6N1wOoimMjRwBUNEo\ny2KlJ65t8+kvHygOozJIcR/+SzXBsWKpUIV2hgFl4N3DYdlvr80v+Cd2x0O5zWhF\n22HrVnOfXE71YebCDYw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024115837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19",
@@ -1974,20 +2059,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXn62xPSBgwq6rYpg3bCYkRZO5Bjq\nTNKZUGLiJ9M8Ip+3N78zBwMJfWs7aaPwnnnJ3gtAK/hG3Sa1uxGRz/gBNV0BeJya\n/aVn5h3kFEN7DpOhdhHm52hTdivAr/HivJ5GzhKFuTFlHXEpuFrvLB+rFyjn60RJ\nspVt7DPmzXyboSXFzZ0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d",
         "wx" : "5e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d",
         "wy" : "1789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXn62xPSBgwq6rYpg3bCYkRZO5Bjq\nTNKZUGLiJ9M8Ip+3N78zBwMJfWs7aaPwnnnJ3gtAK/hG3Sa1uxGRz/gBNV0BeJya\n/aVn5h3kFEN7DpOhdhHm52hTdivAr/HivJ5GzhKFuTFlHXEpuFrvLB+rFyjn60RJ\nspVt7DPmzXyboSXFzZ0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -1997,20 +2083,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAtCD7H+zdnMXqfXx2F+cFONsy5teg\nrXIsY1gPH2ofVTfrUJMLkP1v3Zq9QAFfdG0v2K35RadWIUB+22hjWI5Bl54AKVEI\np+nSGRoof9FgvST0mAVdybrb1hxqif7eJ7T51HnYaiC23AfJDwCOvmig4MwVpKA7\njPmQ5P9+1uOJKyHFIVM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153",
         "wx" : "0b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e",
         "wy" : "295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAtCD7H+zdnMXqfXx2F+cFONsy5teg\nrXIsY1gPH2ofVTfrUJMLkP1v3Zq9QAFfdG0v2K35RadWIUB+22hjWI5Bl54AKVEI\np+nSGRoof9FgvST0mAVdybrb1hxqif7eJ7T51HnYaiC23AfJDwCOvmig4MwVpKA7\njPmQ5P9+1uOJKyHFIVM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -2020,20 +2107,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMrmhfCAa7DTSm4wnZOfH9q7vEPth\nv5g3EX+th5+MaiKjAABtIBjPQrJYmP/Job9Qc1LlnmpS5ifNoWDhfqL0YAUAMXqJ\niZt8s6DTPq+gKwE3oPsbBRArIrZ281uf9sBQ3e6fGFYJ/7f1Flp2nkQHkrdQRKQ+\ng4aQ0T+ISqroiL9fhvA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0",
         "wx" : "32b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f46005",
         "wy" : "317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMrmhfCAa7DTSm4wnZOfH9q7vEPth\nv5g3EX+th5+MaiKjAABtIBjPQrJYmP/Job9Qc1LlnmpS5ifNoWDhfqL0YAUAMXqJ\niZt8s6DTPq+gKwE3oPsbBRArIrZ281uf9sBQ3e6fGFYJ/7f1Flp2nkQHkrdQRKQ+\ng4aQ0T+ISqroiL9fhvA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -2041,7 +2129,7 @@
           "flags" : []
         },
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020103",
@@ -2051,20 +2139,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAZ91Fa1L4Kl1MSnGz6pMC9iqFLdwE\nrSW2L+8d32VzdPtOgGed30LSEvBxHbMrYm2Fk71wiS6T7QrbJzFXtt8YeTgBTSx4\nUJ871vfQ+6SpDLRWKG4mf13Z2WeEKmCGiE1mx7KpMoM0cMchpKcozYSG0VMUIy2A\nHxfjpv1waL3rrN+CwLQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4",
         "wx" : "67dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938",
         "wy" : "14d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAZ91Fa1L4Kl1MSnGz6pMC9iqFLdwE\nrSW2L+8d32VzdPtOgGed30LSEvBxHbMrYm2Fk71wiS6T7QrbJzFXtt8YeTgBTSx4\nUJ871vfQ+6SpDLRWKG4mf13Z2WeEKmCGiE1mx7KpMoM0cMchpKcozYSG0VMUIy2A\nHxfjpv1waL3rrN+CwLQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90",
@@ -2074,20 +2163,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAaNe1GCFHZqxzSnRh1Jk1JEQ3fVCv\nQqG7238AMgZe5tw0HM8jGvZSUOfROoBzOr6/9VmJHUIR1sKM+VLJIiMDtTsAovPX\n4U2dj6vhk51mTkYVxuJPVJDIFcdlHM9sxlJS+IvP07B/vbqgugBEHlkMy86gBljz\niPIsQtim0PeBrlu014s=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b",
         "wx" : "68d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b",
         "wy" : "0a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAaNe1GCFHZqxzSnRh1Jk1JEQ3fVCv\nQqG7238AMgZe5tw0HM8jGvZSUOfROoBzOr6/9VmJHUIR1sKM+VLJIiMDtTsAovPX\n4U2dj6vhk51mTkYVxuJPVJDIFcdlHM9sxlJS+IvP07B/vbqgugBEHlkMy86gBljz\niPIsQtim0PeBrlu014s=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "304802020100024201efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac",
@@ -2097,20 +2187,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHtw7IrIPmhiLMrHoJ9bkay7WG5vm\n9K2gsslYNb7ic47E3FMTgxzOX5JyEKe8LxOrwC+pDnFvwb0vY8Qpp2DtI2MBGNqt\niP6bnWbmbnHOBddBN9J3qcqBx9eu8edFUIkFZBA8wNldMPYgXJEkgpGS4V1m+x9A\nMwMqQrpgbj7cpuwGXFA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50",
         "wx" : "11edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed2363",
         "wy" : "118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHtw7IrIPmhiLMrHoJ9bkay7WG5vm\n9K2gsslYNb7ic47E3FMTgxzOX5JyEKe8LxOrwC+pDnFvwb0vY8Qpp2DtI2MBGNqt\niP6bnWbmbnHOBddBN9J3qcqBx9eu8edFUIkFZBA8wNldMPYgXJEkgpGS4V1m+x9A\nMwMqQrpgbj7cpuwGXFA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "304d02072d9b4d347952cd02420100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de",
@@ -2120,20 +2211,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBL4uYY6GIfspoJ61KzMK6YH+FkuW+\nFdlpK2l6QGH8yBVgyP6yrjhR0A4G3z4AkfHxyl7GR2H0+L1tDCyrKhIQJEQBdLTj\nSuxReg0s6y/RUu0XNrwzDvyl5tUw6hcIAvtq8DFCWQP6ajeEBb5eR9HlL2L4WfU3\n35wPakpkeaCq2v4hmCE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821",
         "wx" : "12f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a12102444",
         "wy" : "174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBL4uYY6GIfspoJ61KzMK6YH+FkuW+\nFdlpK2l6QGH8yBVgyP6yrjhR0A4G3z4AkfHxyl7GR2H0+L1tDCyrKhIQJEQBdLTj\nSuxReg0s6y/RUu0XNrwzDvyl5tUw6hcIAvtq8DFCWQP6ajeEBb5eR9HlL2L4WfU3\n35wPakpkeaCq2v4hmCE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3053020d1033e67e37b32b445580bf4eff0242013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998",
@@ -2143,20 +2235,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAiu13mjK5v1bqerRuS5FOVcZTAc2+\nnqbn7UT36XjANlmJoZpeSCgvsRWPSBxVZQXWb/QUoHAD6/gvyhaYwz8ohMYApiQm\nmT7VsXe2BF5gtfoaH4zhrV1w57x7WvgR2/huZR+eoC7HlquZHhQ5vwf/4qxgUqig\nsBdNeKlEGq9Nj8dX2A8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f",
         "wx" : "08aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c6",
         "wy" : "0a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAiu13mjK5v1bqerRuS5FOVcZTAc2+\nnqbn7UT36XjANlmJoZpeSCgvsRWPSBxVZQXWb/QUoHAD6/gvyhaYwz8ohMYApiQm\nmT7VsXe2BF5gtfoaH4zhrV1w57x7WvgR2/huZR+eoC7HlquZHhQ5vwf/4qxgUqig\nsBdNeKlEGq9Nj8dX2A8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "30480202010002420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b",
@@ -2166,20 +2259,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAk2l7A3gxKzjDHergc/JKgWPwhqwh\nFrfDfJkVfPrnlwq0IB9afgbsOe7b99h/MCHKQ54/98WYi4RnmTe6t4bb4S4Bxph8\nhgd8BUI6woHebSP2poWHDhKFVGN3DsyryfOh0jyyoMFUeUILXdQPvcmIbEY7Yu4j\nI53zqLhhwykdKCJPYFc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057",
         "wx" : "093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e",
         "wy" : "1c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAk2l7A3gxKzjDHergc/JKgWPwhqwh\nFrfDfJkVfPrnlwq0IB9afgbsOe7b99h/MCHKQ54/98WYi4RnmTe6t4bb4S4Bxph8\nhgd8BUI6woHebSP2poWHDhKFVGN3DsyryfOh0jyyoMFUeUILXdQPvcmIbEY7Yu4j\nI53zqLhhwykdKCJPYFc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3053020d062522bbd3ecbe7c39e93e7c2402420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b",
@@ -2189,20 +2283,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBmp8be39XSgIf7dhnmk6Zi0hSSFTu\n+6rkEEo5c9aT4CEE+hGSQyVuPZhvi0lmwoarjLH1JnwLvWvBgq61dJOl1bYBWLl+\nt0hi+8pBdj6NOnvrX8zQVWW3WjpDwrOLlussz/FJwj7xrAn8RV2Aj/KAgemF+eFy\n/GLQkAWFFyz7/4c4NZU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595",
         "wx" : "19a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b6",
         "wy" : "158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBmp8be39XSgIf7dhnmk6Zi0hSSFTu\n+6rkEEo5c9aT4CEE+hGSQyVuPZhvi0lmwoarjLH1JnwLvWvBgq61dJOl1bYBWLl+\nt0hi+8pBdj6NOnvrX8zQVWW3WjpDwrOLlussz/FJwj7xrAn8RV2Aj/KAgemF+eFy\n/GLQkAWFFyz7/4c4NZU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b",
@@ -2212,20 +2307,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBqp86iUtyfXoBsJxPBRtGnWYd4eBp\nFbWZ4hFGMxmsG3yopgl/G+QB1wpx0LU2Vc35vvdI2IbgjufeL6eB6T7EGiYBup6m\nc4XhmJT8nNSwFzqyFfe5byO8QgZl1Gx1RHvyAK46x7Qr2bhX/RyFzOjqnI0jReRo\nfdcN9Z9RSVEHNbuce2Q=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64",
         "wx" : "1aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a26",
         "wy" : "1ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBqp86iUtyfXoBsJxPBRtGnWYd4eBp\nFbWZ4hFGMxmsG3yopgl/G+QB1wpx0LU2Vc35vvdI2IbgjufeL6eB6T7EGiYBup6m\nc4XhmJT8nNSwFzqyFfe5byO8QgZl1Gx1RHvyAK46x7Qr2bhX/RyFzOjqnI0jReRo\nfdcN9Z9RSVEHNbuce2Q=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101",
@@ -2233,7 +2329,7 @@
           "flags" : []
         },
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020100",
@@ -2243,20 +2339,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAKgfxPz6N84IUW3lC/m+RwS/zBksx\nS040dr86+7mCBw8X9jst5fvoyRqHrmMoafrPF9XOnRObN+1VdYG7mn5Lj6MAJLkE\nxfxTauU7Mjp/0Le45CAwJAat6E6ooQynxck0utVInbbjqMwwZGAsyD8wnp0keq5y\nr8oIM2vIkZ4V9L5a13o=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a",
         "wx" : "2a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa3",
         "wy" : "24b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAKgfxPz6N84IUW3lC/m+RwS/zBksx\nS040dr86+7mCBw8X9jst5fvoyRqHrmMoafrPF9XOnRObN+1VdYG7mn5Lj6MAJLkE\nxfxTauU7Mjp/0Le45CAwJAat6E6ooQynxck0utVInbbjqMwwZGAsyD8wnp0keq5y\nr8oIM2vIkZ4V9L5a13o=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -2266,20 +2363,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAYNr1ljgVjtnT1+hChQEzR2QWL5vi\nOeFo+umvNIwwp74c+k2WNsO7Yh1+CqcURvjUo38tQydKQlWyJvYSOC9jFS4Bbkgw\nASSmNrIG+tTQNVhiqFJiN5mv7pQehk2W3L9VuAHKvWJJtvVnUG1aUD59A7R2THD8\nRMU2XzLDYDZ4R21isJ0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d",
         "wx" : "60daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e",
         "wy" : "16e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAYNr1ljgVjtnT1+hChQEzR2QWL5vi\nOeFo+umvNIwwp74c+k2WNsO7Yh1+CqcURvjUo38tQydKQlWyJvYSOC9jFS4Bbkgw\nASSmNrIG+tTQNVhiqFJiN5mv7pQehk2W3L9VuAHKvWJJtvVnUG1aUD59A7R2THD8\nRMU2XzLDYDZ4R21isJ0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "308186024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
@@ -2289,20 +2387,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAUf5qNahQcMfClQKodnKjgVPXma73\nNCJrZNj9M5hiFwERfwr52a+vbbuMowByVdx5sPQe1VJRLLKSB7FaAc39+q4BoWxh\nJ3WGNW763LJHZPIfV075byyqvD9H+mb7hxnXeFgkBhwtbXpLy4UVQOYrLwCWCyg+\nrHgI0YE+9RtG4RSdPk0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d",
         "wx" : "51fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae",
         "wy" : "1a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAUf5qNahQcMfClQKodnKjgVPXma73\nNCJrZNj9M5hiFwERfwr52a+vbbuMowByVdx5sPQe1VJRLLKSB7FaAc39+q4BoWxh\nJ3WGNW763LJHZPIfV075byyqvD9H+mb7hxnXeFgkBhwtbXpLy4UVQOYrLwCWCyg+\nrHgI0YE+9RtG4RSdPk0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d",
@@ -2312,20 +2411,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAtP/A//CHYHrSbEsj1tMa5fkEzAZO\nNQ9HExzieE+7NZhnmIpVnUOGdS5WJ3vvNOJlRN7dqIzCCjQR+piDTuroaa0AnW6M\nqZlJt7NP0Gp4l0TsrDNWJHMXxNeqkpZnbdYjWU82hLwTBkyrjS237bypHxyL61Qr\nyXl4o/MfNhCgP0apgtI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2",
         "wx" : "0b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad",
         "wy" : "09d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAtP/A//CHYHrSbEsj1tMa5fkEzAZO\nNQ9HExzieE+7NZhnmIpVnUOGdS5WJ3vvNOJlRN7dqIzCCjQR+piDTuroaa0AnW6M\nqZlJt7NP0Gp4l0TsrDNWJHMXxNeqkpZnbdYjWU82hLwTBkyrjS237bypHxyL61Qr\nyXl4o/MfNhCgP0apgtI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -2335,20 +2435,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAgJ+6Mg/pbe0kYRtyoqVCj+RgSf8I\nDW4IE6t6NYlwGP5kGGE6vYYNHrSElZBZoBr31oy6adHFLqZK0PKKGKQfx4oBEIrM\nVXfp6JYuKnzqC7N98dDKQFD7bP66Qaf4aNmI27zryWKYZ0j6SFGD9rYPRT7IYG+M\nM9Q3Z93bvvjEErLDeTk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939",
         "wx" : "0809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a",
         "wy" : "1108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAgJ+6Mg/pbe0kYRtyoqVCj+RgSf8I\nDW4IE6t6NYlwGP5kGGE6vYYNHrSElZBZoBr31oy6adHFLqZK0PKKGKQfx4oBEIrM\nVXfp6JYuKnzqC7N98dDKQFD7bP66Qaf4aNmI27zryWKYZ0j6SFGD9rYPRT7IYG+M\nM9Q3Z93bvvjEErLDeTk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c",
@@ -2358,20 +2459,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBRRMNynfZZ0387/qFG0omcuSQ6Puo\nJ3YisAIOL+kQHnaTOwwB0kgHH4VOm8Ujczk23AuZMMvhVLmkAvaB7jxs72sADQyU\nsq0oVWZDqj0nUjBI0ieh3oL4pmRwfnU5TSHaGBvsguGvsOYnU5Uxr/qEmiQJvKyD\n+3hsNRyIusL7LkMi5Uo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a",
         "wx" : "145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b",
         "wy" : "0d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBRRMNynfZZ0387/qFG0omcuSQ6Puo\nJ3YisAIOL+kQHnaTOwwB0kgHH4VOm8Ujczk23AuZMMvhVLmkAvaB7jxs72sADQyU\nsq0oVWZDqj0nUjBI0ieh3oL4pmRwfnU5TSHaGBvsguGvsOYnU5Uxr/qEmiQJvKyD\n+3hsNRyIusL7LkMi5Uo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201556bfd55a94e530bd972e52873ef39ac3ec34481aebdc46680dc66723ab66056275d82bff85ad29ac694530bb2f89c36ce600ad1b49761854afc69ab741ce0294a",
@@ -2381,20 +2483,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA7T4JgJ/lmFgY+QWS/QbnHSxJPZp4\nFxTJFXy6+luhlrmH/UmuJCdMdiUccLn3lw8fcTrSdFkKcC9GPHOgcEgxzl0AysJ4\nKXCTvZ+awtAL7z1noBtDsoufgpQHJkxzgRdDgwDHcEdyl2kW6hAqd2JizPQiLMNI\nw0qsaD2PABeaNIMjur0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd",
         "wx" : "0ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d",
         "wy" : "0cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA7T4JgJ/lmFgY+QWS/QbnHSxJPZp4\nFxTJFXy6+luhlrmH/UmuJCdMdiUccLn3lw8fcTrSdFkKcC9GPHOgcEgxzl0AysJ4\nKXCTvZ+awtAL7z1noBtDsoufgpQHJkxzgRdDgwDHcEdyl2kW6hAqd2JizPQiLMNI\nw0qsaD2PABeaNIMjur0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200dcf9e7f441448a125b96d72b989d9f4dac7508c7e036f6080d4758e736f5e0636b0ff503f128a98d08e0ae189921065219d2cc3aa83e3c660ca0cb85e7c11a24d0",
@@ -2404,20 +2507,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQACsLFpMeTCaUTLV10lL77OQXTP9pf\ngO6vY3dRg6rnrxCKPZfzpEFTLPb6xH9siYMp1pGC4foHzkWZfr7DeBya10EBc6W2\nuAqLc9MKyX4aSqy3c8GtaSxepj9o43OEJ4K9Z3hk/2Vs+NHm7B5Y6ag4Vu+SZ3VV\nkWdJ+5XoAK4uARYYyjo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a",
         "wx" : "0ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad741",
         "wy" : "173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQACsLFpMeTCaUTLV10lL77OQXTP9pf\ngO6vY3dRg6rnrxCKPZfzpEFTLPb6xH9siYMp1pGC4foHzkWZfr7DeBya10EBc6W2\nuAqLc9MKyX4aSqy3c8GtaSxepj9o43OEJ4K9Z3hk/2Vs+NHm7B5Y6ag4Vu+SZ3VV\nkWdJ+5XoAK4uARYYyjo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024166eb57733c19a7003cf8253279fce41907bc4f127153c4576dd4814f8b335a0b51560b4447f0382c69b3fe509522c891f0eec3999ad2526835f33ae22a642843af",
@@ -2427,20 +2531,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB6yo1PexrRg+9pJxn9DEZD/9vGVY5\nwibvj+/L8ZHXJSmhLMVIWygqUnBMH9hFKaGqCteU+WST4plxjSYYobg6UmwB9wRg\nTVsrlKQr/Dq5MxfWalTeFSWDN0M/yWqWXY4tBW/RE0t5idez9wmtwoInvavBH+Lz\nWcam5REatDN5yiW2by8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f",
         "wx" : "1eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c",
         "wy" : "1f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB6yo1PexrRg+9pJxn9DEZD/9vGVY5\nwibvj+/L8ZHXJSmhLMVIWygqUnBMH9hFKaGqCteU+WST4plxjSYYobg6UmwB9wRg\nTVsrlKQr/Dq5MxfWalTeFSWDN0M/yWqWXY4tBW/RE0t5idez9wmtwoInvavBH+Lz\nWcam5REatDN5yiW2by8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017106d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc79527ac09f0a3f0a8aa38285585b6afceac5ff6692842232d106d15d4df1b66aa8",
@@ -2450,20 +2555,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB5D3+zH5sqtA9F7QHMiyHj3AcWt1u\nsq/NeG/zgDYi37trqgEkbh6gWfe3iEKRmyUH2qnjQ076fo065sNUmfgtCsgBiw5N\nY3giKgfM20IUAB+XsaUD0arDq5Jepk+qnHOboE7jSAsUfLB/k+30C2hWoi9BWcP1\nzWyecWVFKQfI0C+rIB4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e",
         "wx" : "1e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8",
         "wy" : "18b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB5D3+zH5sqtA9F7QHMiyHj3AcWt1u\nsq/NeG/zgDYi37trqgEkbh6gWfe3iEKRmyUH2qnjQ076fo065sNUmfgtCsgBiw5N\nY3giKgfM20IUAB+XsaUD0arDq5Jepk+qnHOboE7jSAsUfLB/k+30C2hWoi9BWcP1\nzWyecWVFKQfI0C+rIB4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02416d1131b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6ab94bf496f53ea229e7fe6b456088ea32f6e2b104f5112798bb59d46a0d468f838",
@@ -2473,20 +2579,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQaTXFGKMGSuKzhpChU2gbg4d24Kg\ndhjk77BdcJXNHrZUJQeBYFlHFer1n8tByeVz/hApjHXJ6RNcd1ynP2PROqwAiVJL\nR1Fw1DkcwDKgVD6iLatg6gdTjzo3YH8NTtUWY0/eVF4vCmuo0NL+at7Qp3G0sTSl\nooDlR5n6R27w7IfUThw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c",
         "wx" : "141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac",
         "wy" : "089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQaTXFGKMGSuKzhpChU2gbg4d24Kg\ndhjk77BdcJXNHrZUJQeBYFlHFer1n8tByeVz/hApjHXJ6RNcd1ynP2PROqwAiVJL\nR1Fw1DkcwDKgVD6iLatg6gdTjzo3YH8NTtUWY0/eVF4vCmuo0NL+at7Qp3G0sTSl\nooDlR5n6R27w7IfUThw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200da226366601afff780ffe082a0db8e74ea10d4864a5f6876c64f5e78d6598fad57297e92dea7d4453cffcd68ac111d465edc56209ea224f3176b3a8d41a8d1f070",
@@ -2496,20 +2603,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBR/vMZdSBjgKeCjrxOh98kPBgWgDN\nB4EgDrZWpZHWaaeHYg5vyMxZSqKKCw8pOexzRyxJTgnOyvXzMdr9MtWsMcMAdUMr\n2u7KoL7H/t3CmMVlcj+2ae5244pMX/FwHxs4zancmsQ7/xjaIEfk3NgMBae7fnRk\ngp1gi2gXawTIf0CfRtY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6",
         "wx" : "147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c3",
         "wy" : "75432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBR/vMZdSBjgKeCjrxOh98kPBgWgDN\nB4EgDrZWpZHWaaeHYg5vyMxZSqKKCw8pOexzRyxJTgnOyvXzMdr9MtWsMcMAdUMr\n2u7KoL7H/t3CmMVlcj+2ae5244pMX/FwHxs4zancmsQ7/xjaIEfk3NgMBae7fnRk\ngp1gi2gXawTIf0CfRtY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242011b3300d7ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94cb85df5e6c1125394fcd34f6521ffdaddd98f88a99fedcedd9384288bb793cf2f",
@@ -2519,20 +2627,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAtbHDmYWJslyWpwC71FDQTaHyc9+A\nU3Z6OwPtGnY+0InA3pm89U1JwVINOgm4RSlvBEWzvVuHkY03Us9lHg/zAHsA6JY4\nCHa5QZxWCWkU/27sAa7iR+7+8HQYlfFO4oDzYOEVCMN4Jq+CzZFbkALwRstRAI2e\nrSESTFkb2CZdFJKzX/s=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb",
         "wx" : "0b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b",
         "wy" : "0e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAtbHDmYWJslyWpwC71FDQTaHyc9+A\nU3Z6OwPtGnY+0InA3pm89U1JwVINOgm4RSlvBEWzvVuHkY03Us9lHg/zAHsA6JY4\nCHa5QZxWCWkU/27sAa7iR+7+8HQYlfFO4oDzYOEVCMN4Jq+CzZFbkALwRstRAI2e\nrSESTFkb2CZdFJKzX/s=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02420161be37ed5f748e06a89d72c4b7051cae809d9567848b1d8d7ed019221efb06ae81e1264ce49c5d29ee5fe22ccf70899002643aca7b99f57756f2639b6d459ae410",
@@ -2542,20 +2651,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBqttB+tw1z20Rp8fQHQSbdLN2d/BO\nG9PcCEUPq64orc0tE1+WZhbSg/sYpeaeq/5+xB4aDts2gvHTnyr2SpTWArkBSuge\nv149LQUpR51K6OsF9LQuUZYIRmrWnnZi1umyNnZfm+U1wFjwDwhmu7Sxcu9HoDy5\nfFjd5XUDRLspMDX46X4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e",
         "wx" : "1aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9",
         "wy" : "14ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBqttB+tw1z20Rp8fQHQSbdLN2d/BO\nG9PcCEUPq64orc0tE1+WZhbSg/sYpeaeq/5+xB4aDts2gvHTnyr2SpTWArkBSuge\nv149LQUpR51K6OsF9LQuUZYIRmrWnnZi1umyNnZfm+U1wFjwDwhmu7Sxcu9HoDy5\nfFjd5XUDRLspMDX46X4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201e9bbbd64270b9668f7623ef7cbead5483eb07b883cf39fb6884aab67dac7958b0e03144357b9433e69adc696c86c63a23d35724cbd749b7c34f8e34232d21ea420",
@@ -2565,20 +2675,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBtwb8P0quW4baJhpm+85H6zs+HpFU\nSkCpmJ/M90FUu+ysBC27v0EaOQkAWLYsRvzNHV6roMSHmmiOpf0Ke0+aC08B7aAZ\nMMayJ0Wpfy1Z4YJZjf37/bRjM1KTkB3n/J1Jz1Xtf89ddn1MIvifFxtBN8hBXD7U\nOAiScMQfiOre8wGBQOE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1",
         "wx" : "1b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f",
         "wy" : "1eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBtwb8P0quW4baJhpm+85H6zs+HpFU\nSkCpmJ/M90FUu+ysBC27v0EaOQkAWLYsRvzNHV6roMSHmmiOpf0Ke0+aC08B7aAZ\nMMayJ0Wpfy1Z4YJZjf37/bRjM1KTkB3n/J1Jz1Xtf89ddn1MIvifFxtBN8hBXD7U\nOAiScMQfiOre8wGBQOE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200924449b6c96f3758e3b085c079714f11f28d039b11699f0e9b3e7c553c8fc6c8f5212fec5eac3068713b8ec72fc6e2a90872b94e161a89822887f4a9bd5c9efd74",
@@ -2588,20 +2699,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAWKH6lhEb8wvnbDuLpENWZmd7bdBQ\nMbXEqEDh6oH2Al9w4dOV72PLWfpx42dMtnj3JQiH9dc04+w3fb465jfST4IAek6v\nAsxX5li1ufoI7jDg71s0KbtaEEOLDgW6yuvGAxcBCjNNf4lgKK72IPXZx8q8ODBu\nAysbkcI3bD/vPkVaEN8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df",
         "wx" : "58a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82",
         "wy" : "7a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAWKH6lhEb8wvnbDuLpENWZmd7bdBQ\nMbXEqEDh6oH2Al9w4dOV72PLWfpx42dMtnj3JQiH9dc04+w3fb465jfST4IAek6v\nAsxX5li1ufoI7jDg71s0KbtaEEOLDgW6yuvGAxcBCjNNf4lgKK72IPXZx8q8ODBu\nAysbkcI3bD/vPkVaEN8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201554a01552b58d67a13468d6bc6086329e09e5dbf28a11dccbf91ccc6e2a4cfd4e6a2c5278791c6490835a27b6f7abb8a690bb060de3deb85093d3ae16482c84f64",
@@ -2611,20 +2723,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMDul75CwURAAL9900rjUx6sYnGQA\nSFnGnXxHMPystfTZt2GumH0fO2O7Pst4ruz0oE/2D182epasLajaJ6Noej4AZnPQ\n1MzUw84avJmA/RiFACw+e4YHghTK9/CWL6UeEWNjAy16G5PJKk1ignVJ1aM+Tmub\nbCq2rZwqFeQQxbGoRrI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2",
         "wx" : "303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e",
         "wy" : "6673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMDul75CwURAAL9900rjUx6sYnGQA\nSFnGnXxHMPystfTZt2GumH0fO2O7Pst4ruz0oE/2D182epasLajaJ6Noej4AZnPQ\n1MzUw84avJmA/RiFACw+e4YHghTK9/CWL6UeEWNjAy16G5PJKk1ignVJ1aM+Tmub\nbCq2rZwqFeQQxbGoRrI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200aa9402aa56b1acf4268d1ad78c10c653c13cbb7e51423b997f23998dc5499fa9d2f403c78b645cfba4eb78f595fe6d6f01dbaaf803f23ac263bf060baa74583abf",
@@ -2634,20 +2747,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAqU7qhDpcSWNwQVmOMMOB9xc7+M0S\nfzyvXBbLxyiqTZkXP7ONahsewh5AM26NgCJJJysMy/T4w2Nu9mKQqBtY+lsBEWwj\nRk+tYd+NLV0SUKWkxCfpxY4s8dBZzdiKfDSYT90ipM8YQR4bAiTURKW9OdX8l/wL\nNkhgDxnWq4CqanwIOhc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17",
         "wx" : "0a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b",
         "wy" : "1116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAqU7qhDpcSWNwQVmOMMOB9xc7+M0S\nfzyvXBbLxyiqTZkXP7ONahsewh5AM26NgCJJJysMy/T4w2Nu9mKQqBtY+lsBEWwj\nRk+tYd+NLV0SUKWkxCfpxY4s8dBZzdiKfDSYT90ipM8YQR4bAiTURKW9OdX8l/wL\nNkhgDxnWq4CqanwIOhc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ffde03ff820a836e39d3a8435219297da1db193d79e359663eb56654a7ee6f7eb996c8ef12f62344ad211b71057928f96ae75b58e23026476cfc40ed0ef7208a23",
@@ -2657,20 +2771,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBT3HSylvSBRM2hUZX8JofqxTH8veG\nXXG9P6NUvye2nchziXIUBVO1JWWLb9IDzAXKCCLgkEutIbYy4N50oq0/DnIARSX5\nBRn5SXQlRgsxy7aas3AanqaKqrcsbWXTZNDw7U0FJCgPETvWnvG6mCUgKxAoegiM\nS/MN6+y3IKwHOexnQ00=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d",
         "wx" : "14f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72",
         "wy" : "4525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBT3HSylvSBRM2hUZX8JofqxTH8veG\nXXG9P6NUvye2nchziXIUBVO1JWWLb9IDzAXKCCLgkEutIbYy4N50oq0/DnIARSX5\nBRn5SXQlRgsxy7aas3AanqaKqrcsbWXTZNDw7U0FJCgPETvWnvG6mCUgKxAoegiM\nS/MN6+y3IKwHOexnQ00=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242013375abb99e0cd3801e7c12993cfe720c83de278938a9e22bb6ea40a7c599ad05a5d3c8e5e5d7b3e16a99e528ef0ce91be0953cb1a9adf757f257554ca47ab053dc",
@@ -2680,20 +2795,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB0uytkh3RAKjcGnuCSwrGybZUqxeY\nM8KIHOI38bhJet6FEwLPUOpeoWnCpQwMCctupTmnKQoPNDcES3ounKjUBQAAP9Vl\nFTXcuh8zGYHCFqHH2YQvZcXzjKQ91xxB4Z78rDhGF2Vv0K/dg8UMXlJOm2creqim\nayia+miORcpu2zR3qLA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0",
         "wx" : "1d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500",
         "wy" : "3fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB0uytkh3RAKjcGnuCSwrGybZUqxeY\nM8KIHOI38bhJet6FEwLPUOpeoWnCpQwMCctupTmnKQoPNDcES3ounKjUBQAAP9Vl\nFTXcuh8zGYHCFqHH2YQvZcXzjKQ91xxB4Z78rDhGF2Vv0K/dg8UMXlJOm2creqim\nayia+miORcpu2zR3qLA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02415555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554",
@@ -2703,20 +2819,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBZdZ5cqSP3cL0HAP3mrXg1C/QmSwB\nPq0TXDOUBJZF4mrXx76WUQ31m6Z33JTxFG6Ojo++Vt68tmkgY5WBlWuStNEAiutm\n7gvhirqpCalzxwtXSdaI+OLNLm4WE6+T0AM0ktJqboLPuArGklrGvHm5hPc+Prv/\nLyI6OGdokcHs14Sop4k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789",
         "wx" : "165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1",
         "wy" : "08aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBZdZ5cqSP3cL0HAP3mrXg1C/QmSwB\nPq0TXDOUBJZF4mrXx76WUQ31m6Z33JTxFG6Ojo++Vt68tmkgY5WBlWuStNEAiutm\n7gvhirqpCalzxwtXSdaI+OLNLm4WE6+T0AM0ktJqboLPuArGklrGvHm5hPc+Prv/\nLyI6OGdokcHs14Sop4k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e",
@@ -2726,20 +2843,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBjNESUvCkNPRG068YUYxrhMsLe/M3\nWLTYO5fCpW4AN7VNV9KwuELpwX1wUE4BiWOJwGbbjyv+wCUlmlHf9RRmgwgBzKVD\nZRVsWeLHPBdmTwn83P1bkQ+atI0ImbanBk3ouA/HqZLkfufyPsgv2AF5oZ9M+JtM\nArchj0NSmNpdMiqYLB4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e",
         "wx" : "18cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff514668308",
         "wy" : "1cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBjNESUvCkNPRG068YUYxrhMsLe/M3\nWLTYO5fCpW4AN7VNV9KwuELpwX1wUE4BiWOJwGbbjyv+wCUlmlHf9RRmgwgBzKVD\nZRVsWeLHPBdmTwn83P1bkQ+atI0ImbanBk3ouA/HqZLkfufyPsgv2AF5oZ9M+JtM\nArchj0NSmNpdMiqYLB4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024168d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35",
@@ -2749,20 +2867,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB1jKaiv3qJ88QKKRNGcPHKSdZDWRi\nh3XzJFFMgd4wGqm+nHdcU6Y0nRy9Xs/HvTmzc+YToQwUOUQbFBQw/a2sFowABxNC\n1j26kBuTvcREof4uxqFRCL30nrHf0hg3OIRSDYS84DxQEvWDcFHLir9qC+eN/f7r\nOlhy3/dbP4dPqm0iQ78=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf",
         "wx" : "1d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c",
         "wy" : "71342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB1jKaiv3qJ88QKKRNGcPHKSdZDWRi\nh3XzJFFMgd4wGqm+nHdcU6Y0nRy9Xs/HvTmzc+YToQwUOUQbFBQw/a2sFowABxNC\n1j26kBuTvcREof4uxqFRCL30nrHf0hg3OIRSDYS84DxQEvWDcFHLir9qC+eN/f7r\nOlhy3/dbP4dPqm0iQ78=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c",
@@ -2772,20 +2891,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQByWO2TNw+yxw1zaXO2UGawUawYK2w\nTGOM9rZmWAE8sl6RWmrQBVZoNCiB7Sf0OLUK5LuGrjx8ArcnoTDHe61pgAgASBv/\n+urYVrQTf9Qmjs10psLUvWzROZjOfw6CiyIBNdjfIyU+aB3JBnPgU351kHaaKkQa\nqqo6mQHE++RPqVE5Ue8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef",
         "wx" : "1c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad698008",
         "wy" : "481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQByWO2TNw+yxw1zaXO2UGawUawYK2w\nTGOM9rZmWAE8sl6RWmrQBVZoNCiB7Sf0OLUK5LuGrjx8ArcnoTDHe61pgAgASBv/\n+urYVrQTf9Qmjs10psLUvWzROZjOfw6CiyIBNdjfIyU+aB3JBnPgU351kHaaKkQa\nqqo6mQHE++RPqVE5Ue8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d",
@@ -2795,20 +2915,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXfvIZ9U8V7KUVQK45W2Wyi1NSFqj\nNFIgCi9LoWBCNXl2r+7PPmOy/c1c3XYHbBpz5JbK+dbePogx2VXROOBYhK4B4Eqg\ntTYKDTut0BIPu4zEKji/HGF1XQCFjkDksQ2k6iV1gw3JLjEsIK8rixZ9eljReGYd\nSM2TL+R6S8cUXmIK4iw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c",
         "wx" : "5dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae",
         "wy" : "1e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXfvIZ9U8V7KUVQK45W2Wyi1NSFqj\nNFIgCi9LoWBCNXl2r+7PPmOy/c1c3XYHbBpz5JbK+dbePogx2VXROOBYhK4B4Eqg\ntTYKDTut0BIPu4zEKji/HGF1XQCFjkDksQ2k6iV1gw3JLjEsIK8rixZ9eljReGYd\nSM2TL+R6S8cUXmIK4iw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1",
@@ -2818,20 +2939,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAeL5sQ+Nmz2PdxCNei5aThulQEvvK\nXOvxsKb+PAPBJX33z0ewAutsRJfzEL/2Extcy1T9Do7n/Pa0nUh+G1RQj2gAm2Gl\nRxBMhRbg3DXT0XZZygmNAjsFk5CP6XnCnmI3NzijwwCUukcQWkntvG4dN8zjF7Sd\nJwFHDutT2bJNzp2AkWY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166",
         "wx" : "78be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68",
         "wy" : "09b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAeL5sQ+Nmz2PdxCNei5aThulQEvvK\nXOvxsKb+PAPBJX33z0ewAutsRJfzEL/2Extcy1T9Do7n/Pa0nUh+G1RQj2gAm2Gl\nRxBMhRbg3DXT0XZZygmNAjsFk5CP6XnCnmI3NzijwwCUukcQWkntvG4dN8zjF7Sd\nJwFHDutT2bJNzp2AkWY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23",
@@ -2841,20 +2963,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAk/aJYQBfMEDcGo/xQWyRe9zHfx36\nhVBsO7YtrEf3vpUptMvlfdLBnoYL0qDbcdR+8eyoogv8PgvF4FyDAwAcGWAAK5o9\nRfL1Eg/uBkRfDTTmE446xbFtKiLwRgzqJYw2jKnkeOt7glPnxvL3JQ/cfc1yQ3Yf\njVbyNQrFHkfuBj9B2jE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31",
         "wx" : "093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960",
         "wy" : "2b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAk/aJYQBfMEDcGo/xQWyRe9zHfx36\nhVBsO7YtrEf3vpUptMvlfdLBnoYL0qDbcdR+8eyoogv8PgvF4FyDAwAcGWAAK5o9\nRfL1Eg/uBkRfDTTmE446xbFtKiLwRgzqJYw2jKnkeOt7glPnxvL3JQ/cfc1yQ3Yf\njVbyNQrFHkfuBj9B2jE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024122e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a",
@@ -2864,20 +2987,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALS19QL8XxOixh1fkUd3e2V5rEAfN\nFEgJ0hrzE1OwMDg3LEryBNRBS3EGC0izqEOcYygJvTPEc2JjBEQFoa12bjYAuwxa\niEj5P6PoU3awEr8GTjA3RlKaZzuFK7WpacJMAVao3SYkLQqtS65D4jYxsB+50FD5\ndEtZ87UrHFciF6HXBYg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588",
         "wx" : "2d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e36",
         "wy" : "0bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALS19QL8XxOixh1fkUd3e2V5rEAfN\nFEgJ0hrzE1OwMDg3LEryBNRBS3EGC0izqEOcYygJvTPEc2JjBEQFoa12bjYAuwxa\niEj5P6PoU3awEr8GTjA3RlKaZzuFK7WpacJMAVao3SYkLQqtS65D4jYxsB+50FD5\ndEtZ87UrHFciF6HXBYg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 267,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2",
@@ -2887,20 +3011,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBisEd/mLR8qggJzLHm0I9KfQ77E22\nCAoiB5ahDyaF+Sxxx/ctnaCorLImgMygGOui6Lo7/eHbmk7zuX2hZHQ2TpYAWq07\nKGcHvTrQegYMq8pJxT3k9WwFoKjeQP2WnX1PmV98ZwH+XFMh+FMYuYvmYlH6SQCI\n/XJ9okVOALO5TcbhJBs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b",
         "wx" : "18ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96",
         "wy" : "5aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBisEd/mLR8qggJzLHm0I9KfQ77E22\nCAoiB5ahDyaF+Sxxx/ctnaCorLImgMygGOui6Lo7/eHbmk7zuX2hZHQ2TpYAWq07\nKGcHvTrQegYMq8pJxT3k9WwFoKjeQP2WnX1PmV98ZwH+XFMh+FMYuYvmYlH6SQCI\n/XJ9okVOALO5TcbhJBs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 260,
+          "tcId" : 268,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808",
@@ -2910,20 +3035,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAUbLD4ElFZO1I7TR5tZbqQHgkBVCj\nwo2jPXHSWejmI+N6tD85bEk2PzHI3opGRNN+lO2A4N1PksPfIQbieVwnmLgApTDV\n6WHwaWu+uWKsqOcfZZVq4EzcIqSsZRRpQ+maSi/bR333WqBpyN03pdquo4SAeaan\nvAPg+qPWXUL4BT2yB4s=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b",
         "wx" : "51b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b8",
         "wy" : "0a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAUbLD4ElFZO1I7TR5tZbqQHgkBVCj\nwo2jPXHSWejmI+N6tD85bEk2PzHI3opGRNN+lO2A4N1PksPfIQbieVwnmLgApTDV\n6WHwaWu+uWKsqOcfZZVq4EzcIqSsZRRpQ+maSi/bR333WqBpyN03pdquo4SAeaan\nvAPg+qPWXUL4BT2yB4s=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 261,
+          "tcId" : 269,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f",
@@ -2933,20 +3059,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBujGm+cLSJ9pX3gB1ni6ETWB7yb2S\nvN8oIAaITcNHyShPDcBiOvHp2yIRc2SnqApbBn76GbIE2sj68iMNgLcErdwA2It2\nHNOksJR7/BfiBLTXUfdogKgsm3xv2T3tVYg8mVAC2Li//x4CEYnAjYKdFrCI9Ps5\nrZRW6vvHfCA1O8DzwDg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038",
         "wx" : "1ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc",
         "wy" : "0d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBujGm+cLSJ9pX3gB1ni6ETWB7yb2S\nvN8oIAaITcNHyShPDcBiOvHp2yIRc2SnqApbBn76GbIE2sj68iMNgLcErdwA2It2\nHNOksJR7/BfiBLTXUfdogKgsm3xv2T3tVYg8mVAC2Li//x4CEYnAjYKdFrCI9Ps5\nrZRW6vvHfCA1O8DzwDg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 270,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5",
@@ -2956,20 +3083,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBN7u0jvKBEzhJ7XI/VmKhn/+cxzia\nAXDTEb009NvcZWJG22leoHEtis7/nR0O95IewuP4tTPkyhIvn39EYHOIkzQBY+RQ\nDZmAlfYPo/7UFJ0tm1sBjgPrU0Tv6P/MHH0nbnQBpN9jnEqxCIIAYklUcb57KTmK\nrbrkQKm9zVXPC7XZb3k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79",
         "wx" : "137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f446073889334",
         "wy" : "163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBN7u0jvKBEzhJ7XI/VmKhn/+cxzia\nAXDTEb009NvcZWJG22leoHEtis7/nR0O95IewuP4tTPkyhIvn39EYHOIkzQBY+RQ\nDZmAlfYPo/7UFJ0tm1sBjgPrU0Tv6P/MHH0nbnQBpN9jnEqxCIIAYklUcb57KTmK\nrbrkQKm9zVXPC7XZb3k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 263,
+          "tcId" : 271,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b",
@@ -2979,20 +3107,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAcm3ai3tu0l+X8fxsPM9VTWD8ceT6\nsqV4KG0yYS5/PmafrtC5dhmu8tWv+cj/2Yf+3cDWw4t+7AKBkUAIdIA/SYsAwLiH\nDGEuBsE8V+1vfvPVO15fotticHsDS17BP7RwGOMdp+zJkdV1lDRo1wHhGOyjMSLP\nbTlLim7A9FvAlwFgOiY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26",
         "wx" : "726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b",
         "wy" : "0c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAcm3ai3tu0l+X8fxsPM9VTWD8ceT6\nsqV4KG0yYS5/PmafrtC5dhmu8tWv+cj/2Yf+3cDWw4t+7AKBkUAIdIA/SYsAwLiH\nDGEuBsE8V+1vfvPVO15fotticHsDS17BP7RwGOMdp+zJkdV1lDRo1wHhGOyjMSLP\nbTlLim7A9FvAlwFgOiY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 264,
+          "tcId" : 272,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f",
@@ -3002,20 +3131,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBb86fN1u9KWitqvNXVZUSnvPnIcO3\nyD1aSnn0td+72x9m2nJD5RIMXb174coHPgS0zFjKjOLzT/aj0CqSm/L8J5cAg/Ew\neS1sRcjypnRx5RJG4rh4FGW4KRy9pm0icZzVNr+AHgB2AwkZ1XAXMs52eL9HKEbt\nB3eTftd8qtdNBWZGFKI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2",
         "wx" : "16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797",
         "wy" : "083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBb86fN1u9KWitqvNXVZUSnvPnIcO3\nyD1aSnn0td+72x9m2nJD5RIMXb174coHPgS0zFjKjOLzT/aj0CqSm/L8J5cAg/Ew\neS1sRcjypnRx5RJG4rh4FGW4KRy9pm0icZzVNr+AHgB2AwkZ1XAXMs52eL9HKEbt\nB3eTftd8qtdNBWZGFKI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 273,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963",
@@ -3027,20 +3157,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBb86fN1u9KWitqvNXVZUSnvPnIcO3\nyD1aSnn0td+72x9m2nJD5RIMXb174coHPgS0zFjKjOLzT/aj0CqSm/L8J5cBfA7P\nhtKTujcNWYuOGu25HUeH65pH1uNCWZLdjmMqyUB/4f+J/PbmKo/ozTGJh0C417kS\n+IhsgSiDVSiy+pm5610=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d",
         "wx" : "16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797",
         "wy" : "17c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBb86fN1u9KWitqvNXVZUSnvPnIcO3\nyD1aSnn0td+72x9m2nJD5RIMXb174coHPgS0zFjKjOLzT/aj0CqSm/L8J5cBfA7P\nhtKTujcNWYuOGu25HUeH65pH1uNCWZLdjmMqyUB/4f+J/PbmKo/ozTGJh0C417kS\n+IhsgSiDVSiy+pm5610=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 266,
+          "tcId" : 274,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024201150b0fe9f0dff27fa180cc9442c3bfc9e395232898607b110a51bcb1086cb9726e251a07c9557808df32460715950a3dc446ae4229b9ed59fe241b389aee3a6963",
@@ -3052,20 +3183,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBEPuJr/E17bgBoctbxJUluB3HTaRQ\nkNIoEihxgU9In9ywLr7ka3A+a05q9WxQJEIrMf1CUsRNC/0p2UXeeC2YVD8B7EJb\nTEko4Sthkifx2m0KlnUHDZxbScpSMFCstxjmJkOw5YAVQ7dtwR+NaUuglDbYORtH\netLBQ+xQwjhMT2iFEtw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc",
         "wx" : "110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f",
         "wy" : "1ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBEPuJr/E17bgBoctbxJUluB3HTaRQ\nkNIoEihxgU9In9ywLr7ka3A+a05q9WxQJEIrMf1CUsRNC/0p2UXeeC2YVD8B7EJb\nTEko4Sthkifx2m0KlnUHDZxbScpSMFCstxjmJkOw5YAVQ7dtwR+NaUuglDbYORtH\netLBQ+xQwjhMT2iFEtw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 267,
+          "tcId" : 275,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3047020101024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -3075,20 +3207,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBxpOj/MvJ9iUoQjnCcl8qXJCym3zj\n0Hcw995gMcnnREbSF4iK4COq4j32pKoVP1jHlZfVf0LOXBNU5dxDpesxHhMBX5ll\nhEOy45w+3LzacHB/xaTTlUXqvjVIFtCShKYmXkfr8KRzVYKOgYp2f4RSptGEUeDj\ngXqJb/QEyxYRv8TEtKM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3",
         "wx" : "1c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13",
         "wy" : "15f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBxpOj/MvJ9iUoQjnCcl8qXJCym3zj\n0Hcw995gMcnnREbSF4iK4COq4j32pKoVP1jHlZfVf0LOXBNU5dxDpesxHhMBX5ll\nhEOy45w+3LzacHB/xaTTlUXqvjVIFtCShKYmXkfr8KRzVYKOgYp2f4RSptGEUeDj\ngXqJb/QEyxYRv8TEtKM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 268,
+          "tcId" : 276,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3081870242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401",
@@ -3098,20 +3231,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBfXv3I2eN9XTOQ2Z0Hh03h/g0r5mX\ntByCYKB0yx8yXSuun4Vl3GtRtssC3O61obd07o3XBXyZ4tlMPHEpmpzg8bABYsZW\nMv/4i9uxfOJSXMrI3zfFAasOZibic/ts+ZAAQkNEwKxTnJ/WxPPSiHayV8AQ00ek\nW7AQzAWEQ4Q6dYMo1JE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491",
         "wx" : "17d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b0",
         "wy" : "162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBfXv3I2eN9XTOQ2Z0Hh03h/g0r5mX\ntByCYKB0yx8yXSuun4Vl3GtRtssC3O61obd07o3XBXyZ4tlMPHEpmpzg8bABYsZW\nMv/4i9uxfOJSXMrI3zfFAasOZibic/ts+ZAAQkNEwKxTnJ/WxPPSiHayV8AQ00ek\nW7AQzAWEQ4Q6dYMo1JE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 269,
+          "tcId" : 277,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401",
@@ -3121,21 +3255,22 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB4G20I6kC4jm5c0CrBSU06tN+eUEs\nZ1vw64I5mea3MQQL/ysOT6ZO3zlioyiSHqWuTo9Aeeq0OeEvkjNd/EhjwH8Afunw\n7LQJyxM8DNCLhehAsHbz1hXh7xOTtSIjOLIn12gAPaXzuh9y9mVMpUrBHCupGmy1\niD1tGoIwStK3neCSFfM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3",
         "wx" : "1e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f",
         "wy" : "7ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB4G20I6kC4jm5c0CrBSU06tN+eUEs\nZ1vw64I5mea3MQQL/ysOT6ZO3zlioyiSHqWuTo9Aeeq0OeEvkjNd/EhjwH8Afunw\n7LQJyxM8DNCLhehAsHbz1hXh7xOTtSIjOLIn12gAPaXzuh9y9mVMpUrBHCupGmy1\niD1tGoIwStK3neCSFfM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 270,
-          "comment" : "extreme value for k",
+          "tcId" : 278,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
           "result" : "valid",
@@ -3144,21 +3279,142 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQABMPsjX0jznS+i5x8J76GnCO6/Gh0\n68RPR+EHQiqx517Qm+vXyx7EYm5EK89RKiXF3d4m6wi6N1BkYYMM+SQcvpwAUKG8\nCPS6jaHWQaw4kYI6tRn6zUFZdoscBzjw4jRQ83Tk1t5VzO7ZVyK+Y1xdwAI6FJiG\nL4e/5h134g5ZLMILsso=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298",
+        "wx" : "15053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a7448",
+        "wy" : "0b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBUFN0TVOBHb7YiA8406NFeKfxwXLs\nZb2K2Bg7oK4QCTQWEH88lCdCveYHGZSbLE8Cb0NYISXJntSMvHxaBRpadEgAs21M\nkaKwNnxWaywSmBzg/bw765g3F0A/ab9CZPxhgkeK8LI2/xILz8oRaSTFUqvvZmO2\nAjvhmGtwIG2buJte0pg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 279,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0",
+        "wx" : "1fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f",
+        "wy" : "19e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB+y4mWWzIBHORfdRrSh0UvZocqXad\n0Sv6wb/xfNwoLnTHOoAewb6D7f5L/pgT7JQ6wVFnjwqaC/J9nvMIF36wQA8BngOl\n2j2mfmuNBo29rPCRudXvra9j9KfpxrbtChyaXTy8PgJE1IEGYBj7p2dKK1kTmlZW\neAVju0YYAU8XZ1Lhd+A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1",
+        "wx" : "08422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c86",
+        "wy" : "25a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAhCLOqdz4rgH3oVeIjwGKQKZkYdNW\nbsSk38ieyzwkBL5zTTKRN9YwOHsBLQMyIYV9W/spD6gCdkC0BjByo+WxTIYAJaIZ\n5yS4GBSQGmd6i+6bcWszsWpbZfInKVaka16Gg9yJaYQwmseUSWV6GJXJ9ivemcf1\n4k7S3vvJ+N3jXr0L3cE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 281,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0",
+        "wx" : "1bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a15",
+        "wy" : "0f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBvBnPS5S800EUzoPF8afgSOL8T9RX\n1X45s9op9HZqy67xwQyxPHlqb/+1bWo5Lke2x0Ui33+gJ1TDPZWxqaPJKhUA9XRM\nK+0wjLT0G1EuYyzQHScO8aDT9H6ngOc8amyepqmW+u9NKCiWxk+lD1sE4gTFa1BL\nwSL/unrqRXTX16tjA8A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 282,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531",
+        "wx" : "17b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da3",
+        "wy" : "0c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBew684IsJ8h4w0V4O3Z/N8kq0gx7I\nplo9Hjj3KxXwEV2m7RiF5C/PrjHAkUtx6d8s0QatwDmoKBCpKSTdFU3AXaMAxhTR\nr8T2PeOAO7VJCjTh4vq563hCKyHTd/wNf5kbk4wi9NfdZl+N0h+t3kMXKlX4DQXM\nRVe2Zj+eej/kkNJcVTE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 283,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d02410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca",
         "wx" : "4c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c",
         "wy" : "50a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQABMPsjX0jznS+i5x8J76GnCO6/Gh0\n68RPR+EHQiqx517Qm+vXyx7EYm5EK89RKiXF3d4m6wi6N1BkYYMM+SQcvpwAUKG8\nCPS6jaHWQaw4kYI6tRn6zUFZdoscBzjw4jRQ83Tk1t5VzO7ZVyK+Y1xdwAI6FJiG\nL4e/5h134g5ZLMILsso=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 271,
-          "comment" : "extreme value for k",
+          "tcId" : 284,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
           "result" : "valid",
@@ -3167,20 +3423,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9",
+        "wx" : "0a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a",
+        "wy" : "1ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAp8ggTyhk3O8IkWXDkU3MLAiWB1hw\nygvBzjeFb4DyOBWwyPLsBRRcQhBJ6A7B52lPnwQXS77yG8CXLlWc8iLefhoB/xEI\nwo8BtwOCDhwBh5EpYqsjEJYY38sMBizO4zkAIiKj992N0hZ1sOIJCP5YVeqHbWqe\nAsX1t5PTj995+4NgPqk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 285,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95",
+        "wx" : "1802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c6",
+        "wy" : "722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBgC/Hn8jlW85QpYFjK1HW7sBKPHSs\nK/T64Wzmx+/vFwHWn5wAqRrVIddax1OdVL9GTK7shxRWED3JdDVEYImKGcYAci/B\n9ShQZhix2p+LLtvb2vfuwC6PuSA9Kyd3NaHYZ5EbEx9FP1LMxM7QXDsbwp5NIPHm\n00l5+qaIzoAD952ODJU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 286,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429",
+        "wx" : "1beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed765836",
+        "wy" : "130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBvrC0wuSUImQE/KStUF6/7RPRhLFX\nJoMhWxYXPCmkR1rt5H8mbgycQUMTfT4AAfnwFItokoanxk4ilFi4JO12WDYBMCBR\naXg+2a2p86GTAnrk4hgprUpx0F2WlgXATzIx2rqwO+svqwfdgyPXEydVc09ObR+0\nP8imO/0kQWDCPvtsFCk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 287,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f",
+        "wx" : "121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1",
+        "wy" : "0cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBIeWarya4MB9PzD4KVjxBBK4AtHxV\nuJRc50kRb99nYddovVDtQx4rUeZG/k/n3CmFtq76f5RB6hGEDSrOLzQpPLEADPHh\npG1NY3IW4oq9EkzGQa56ZzRF1XOFa8L+xY2G5e1jvCp/IEkjTjNae+6Vuyck+xSA\nyXw4zQ0pbLzBE94/E18=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 288,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27",
+        "wx" : "08e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4",
+        "wy" : "5a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAjoWeZtEjf9ySikuVSVT+9WXSA6Bz\nHQZdnfQaT9OBKxzCSHBT6hnOg50gCEWVL4DYBph3HYPMwfx/I22+5MdrK7QAWgSy\nTIjNQCM/tDxZ6lzyy5UQ0WsRaLwSbbZKr5qwenRTII/eB5CVlmJyvwO8MxLJubq4\nx5WuN16KDo3YHJJOfCc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 289,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6602410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
+        "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
+        "wy" : "11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"
+      },
       "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYBGDkp\naniaO8AEXIpftCx9G9mY9URJV5tEaBevvRcnPmYsl+5ymV70JkDFULkBP60HYTU8\ncIaicsJAiL6Udp/RZlA=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp521r1",
-        "keySize" : 521,
-        "type" : "ECPublicKey",
-        "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
-        "wy" : "11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"
-      },
       "tests" : [
         {
-          "tcId" : 272,
+          "tcId" : 290,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -3188,7 +3565,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 291,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -3198,20 +3575,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af",
+        "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
+        "wy" : "0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af"
+      },
       "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYA58bW\nlYdlxD/7o3WgS9OC5CZnCru2qGS7l+hQQujYwZnTaBGNZqEL2b86r0b+wFL4nsrD\nj3ldjT2/d0FriWAuma8=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp521r1",
-        "keySize" : 521,
-        "type" : "ECPublicKey",
-        "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
-        "wy" : "0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af"
-      },
       "tests" : [
         {
-          "tcId" : 274,
+          "tcId" : 292,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -3219,7 +3597,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 293,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "308187024201ffbc07ff041506dc73a75086a43252fb43b6327af3c6b2cc7d6acca94fdcdefd78dc0b56a22d16f2eec26ae0c1fb484d059300e80bd6b0472b3d1222ff5d08b03d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -3229,20 +3607,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKpCL/Ftw4XvfrnQpSZSAi/KkLatZ\nr4sFI6Am1kCio9bTRFILYhd+LPoznKQvsIg+xCWQT72igzo7WwqaAIETZdgBIzPV\nMvj46xpiPDeKNpRlEZK72oM+O417j5Cyv8mwRfilXhtqX+FRLEAMS8nIb9fGmdZC\n9c7pu4J8iwq8DaAc7x4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
         "wx" : "12a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8",
         "wy" : "12333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKpCL/Ftw4XvfrnQpSZSAi/KkLatZ\nr4sFI6Am1kCio9bTRFILYhd+LPoznKQvsIg+xCWQT72igzo7WwqaAIETZdgBIzPV\nMvj46xpiPDeKNpRlEZK72oM+O417j5Cyv8mwRfilXhtqX+FRLEAMS8nIb9fGmdZC\n9c7pu4J8iwq8DaAc7x4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 276,
+          "tcId" : 294,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f",
@@ -3250,7 +3629,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 295,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "308188024200f3d90294fbca4a4666ecbd5053c16731b742b50a0ae13722f41afe777c106283197376b127ded991e2ad52d84247165da34e91bc231655f959d988c3c7b9a67c080242014ce0570d16ba8dcb31e392cafacb4c0f0798263bf04bd4776d6135fa22cc0d3820b9c8a9a14f8d2913aed876254496209c3830f2bf6131d4240dc326ff5f7b7d71",
@@ -3258,7 +3637,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 296,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818702415cfa3b6e6952dd5886275ab7023e7bd3d06a07d84a5137960b3f636ddefabaf6b9db9d7e9785c51bb66206fc1f6859e86a5609599db33b6d2f240cc8aa1bfe490f0242014a57f403fd1f79f2898d62a61dc66135cc1a00f75954d3ee296ff897f8e98d340b1632468060f829e247a498c753096db19cd4b19bfd777d947ca9f7a50738410b",
@@ -3266,7 +3645,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 297,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "308188024200f5467782293b3daa6b61d24aef3d841e47565cce6f0a7700b31cc70998544ce654add1502efddcb4c67ae0d9e8732e5315d59c37ff7171e68a8f761cd3ea3e61fe024200c79c315958f8013d20a86d10725a8913141d73d1282b163a02f36c9d280ee4d865901d7232871caccfc320c81d43f1e8cdaa7e646bbf9aa04f0eeb639d0ee0bdc6",
@@ -3274,7 +3653,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 298,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3081880242015feb9fa8803a5d0296c263127d8ee9ed72a94d1ec38a84f8ce2283876388a6fdaee7e232f14da5fa447d8ff72fae4b3872db787befed48b6413c2a27de4c89dae902420126b94cf89238a0837188ceb04a47c2d9800397d1122ea831de47fe11ef146903a35030d2ce08310f2842ac5c9772597083fa6e8c0fb810e58260d6e20bdd566ef2",
@@ -3282,7 +3661,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 299,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818702417358687f319dab3c22b906cd58dd3556cf982c7c25ef30fefa4abae3f2b9079dc82d5807f32ec8976ac8dc69c1b1b2cbf7103675481f35072726c1d4afd158dcb8024200f6c899c6da4fd6f0b267a96ca927b79e34d250e8af76cc8b0bd71b850bbd23631af36c7269aeb4d837ee7017772cce2ef7567c558f657802df56aec17e576b1155",
@@ -3290,7 +3669,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 300,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "308188024200bcd2cfaf0ddf3c2414a2ca1af9114afe2d0b89af80ba797c93a05fc9efc69daa33a0812c464eb29be9d7bc5ec5aea698b018102a0e460f580059e5cd0d6e493f2b0242012c5a138af2d3e0e016f6c7ea6dda84ee4132e788949f73a31539c5e117247ccce9f676eb91462787eb71469c22e831811896513e6d35e9645e84f967839ca490e6",
@@ -3298,7 +3677,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 301,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818702414dcb6fd277c0fe1919e1c6f85d78b3ff198035005fe1d497f7c8f4803d584fb4c88db946bf7af32f7b54e8db80a694b81be78d4329b5d8e3da5fd22546ad5a1b9d024200f14c765e92da98273ddd53b50e907b7d313914a6bd23c8484d95a3f6f33971d06c4c340fe2cd567c150a16bfe0873c77993e5ad61855ac4705740e7befb24d2b27",
@@ -3306,7 +3685,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 302,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "308188024201569a9498513ae97350a86110c1d1960e89e83c26dfec840f6104318b3a84109a60024062a85daf62412c878710d3aefe47f594b68f525ef090497712e0f5caa34e024200e09fbf93ac11ab2b8e3dd0f731218e4ea08b077e4ebc717562f2746d25573dad3532702fbccfbd1bac23fa552d853594590ded4d0977a2efb140e9519d83a7b4a7",
@@ -3314,7 +3693,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 303,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "308187024200e0380e08d8a302c9829d02f65436c380c10f0dabfcc6336d4831b1dce7c96c3faff388120e8f1b4319daebe9f8642ce765c39dfb5bae243dec70149b754051f5c302411c4944a7e5ec140e91f01c313fa44de41e196a9576a4c201e1fa1dd58a8a7c021d4f20d25d0f7e172e4231f18ac12ff940f2955cd852b7e6b3b3b45720863cbb62",
@@ -3322,7 +3701,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 304,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30818602415adc833cbc1d6141ced457bab2b01b0814054d7a28fa8bb2925d1e7525b7cf7d5c938a17abfb33426dcc05ce8d44db02f53a75ea04017dca51e1fbb14ce3311b1402415f69b2a6de129147a8437b79c72315d35173d88c2d6119085c90dae8ec05c55e067e7dfa4f681035e3dccab099291c0ecf4428332a9cb0736d16e79111ac76d766",
@@ -3330,7 +3709,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 305,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "3081880242010217c32045f589b5479feaaf471c68e5a27b6567c19724bec8c580fb50c52f95cd4e8296ac6334844e17dfe21167c7028204d53bd24ae05e79587149d7921ed087024200fb908a87377d788fd65c91a0a935e61a3d8d735b29e2ce2083ffbbf0f0b5dd60bc53877c3155c1a089160ceb6197e39ccd0cd4edaa6449830c4e29f9aae835a9c0",
@@ -3338,7 +3717,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 306,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308188024201ce64622f59112dd0e4397e6902a1ba5c258729b577980b54a745e76ce29d83ba48ede7fb63f374535017c3c73a8940022fd7b6a2e701171890ff54db363879caff024201b84c02f06de11b8d6eee94d37c7d7a352e938452ae76639dfd77c00f0d3f14432edcc0bfae410224838b4ac07f0adec294d86ac06bc04066b269ac1b8c0bf5b67a",
@@ -3346,7 +3725,7 @@
           "flags" : []
         },
         {
-          "tcId" : 289,
+          "tcId" : 307,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308188024201cfc67612e129ae1f5e60da08b9f4f7ab970e0d1c66be7290cc30d501edc04d7c47781a50e8da32c17f391005231aa2a5401f7456ec13af5a90b972eb1fa133d3ae024200d837a34c9f002ac4d833192d84748471d9bfacf9cf760005f2e4860851309ed9bc7e01b4cb48143c40bad42e9e5fd755b4511b0461bcca84354512dc54b432ff84",
@@ -3354,7 +3733,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 308,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308188024200fc0f11de211a3c868949e897a5c9efa3f2de6a716075ba31eaf4ba6776db234a652a88488bac3d492ba1205e15ff694e71a0073211477bac7f07101c8b6fb70f8502420100891497bd19b5f1ae508ab5114d2a3fd3b3fde2216b38dfd540775d2fb3d1dcb13b2a0880144f4f562eef76c3af133002c4326561b3190e76fc39267d2b4cd164",
@@ -3362,7 +3741,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 309,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308188024200d3842281c596639bf18a3b32457cba814a4d86ed414d6884169ec8b1f3b7442f328df1d7deeb3db491ecfa4a84b5f334fb077923c4df768489698c6cde8691a13a024201f720d385ec6283f6c7378ab19874dace5a9c3f729e4e87e9e369d2e6ca27824eb6e86bb4bc7e3c5578627763c80b73bea3e0d0e2751afa29fd448a4a326c853b36",
@@ -3370,7 +3749,7 @@
           "flags" : []
         },
         {
-          "tcId" : 292,
+          "tcId" : 310,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308187024165d858f83de40ae1cd9d303e96ac2917ee5c389d5053be0ff05deac9ec902a70c4685305561f3aafcae225b37ef4ba062da3fa70ee2c23549b43d1f824efbcda980242010e77eb4af330ecaf545c3890e369468071f4ea9a104e1e47ed0d1455fbd492688d8e03bfad80a883136cd2fb3910f44a33cac86f515509b0c59a56af27677c6012",
@@ -3378,7 +3757,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 311,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308186024175dc6b7aa29fb66b5b77c5cd4b99aaa1aa7dfeba720a9f85f191cb5682851ee12c226b4b98175d058ada3a9887e7a9d3d82b1553aac4553a3beff5d8f465125b11024176561b3c31d7a8a2770f8258058948144c0dec91c23fdff47f3ebeb36e1869fc094738b6f80e90399db1dcfaf25771606c743edf559f77a4ffebbfd697da367bc6",
@@ -3386,7 +3765,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 312,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "30818702412d9c3f9a79e234a3f3b9e04ee08bce70a65668880ed90f5a2b4e839475daff5226f420dae3417a553215904d5632936c591e945289a5284f61294cc764ac0a954002420177f9c6ea95857ca73c51268c6ad7d7bfe4cfe0e270b3d221ed950e69fcc39e29882ac894122f6dda70d908fa0bf2ac7f73b9755c86cf92e0218fd5c78fc947addb",
@@ -3394,7 +3773,7 @@
           "flags" : []
         },
         {
-          "tcId" : 295,
+          "tcId" : 313,
           "comment" : "pseudorandom signature",
           "msg" : "4d7367",
           "sig" : "308186024126db1b8d3e0d7523b055ea6e31f8b050095f4187a3ef3db62b7157ad9bc0e8934cb1a65508632930d64b89031d1c8786b879ea46cc85d4a029096089148f2454ed024132c8a0f3f44eacfd0451aab9e4c6163cadc97e323722d1e2c9cc2403aae990dc3b227600c37808ffe7e15c8e015a18b2a23aed38b1b3aed179819ac9160911d650",
@@ -3402,7 +3781,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 314,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab",
@@ -3410,7 +3789,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 315,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308187024178192ba6c31398e095b1a5ba49e34f0a6df60263e8324a9d728e292c8dbe477ad9326f3e915f4006795dbeddc92b01fae052143c961b24e624eb70e0b0e6874653024201b470d58c6ec28c2fb155b2047073bc8bec3c2d9e7f50038964dd4b5b721807a679f7252fe72ca977e2bc4d8831fef14a2bf51c7919dfa7a33acdf9a9fc1ca2dbe6",
@@ -3418,7 +3797,7 @@
           "flags" : []
         },
         {
-          "tcId" : 298,
+          "tcId" : 316,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308187024160bedcd13c22d2353e613cca0f81215c34e51bf0a83faff1da5c8b4c182785358757b35a681e4eaf021af4f43d54ec49d8bfcd8dc5015b42a7a91f263fcb8db661024201050354daf39d5261bd27f36b8c1c38f48707ece9ea9311d13489dcfc5357eda2e57000c10cf0cda7b12f313842fb884a14f902ee9bca5b4da4fbbae0f969691005",
@@ -3426,7 +3805,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 317,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3081880242008b51c02f4a5c80c9988646900a6516e7893cd8274013e276e8b0773af1e275030bab64551e2725bf89e06dcde6ae79a126dd01ca850b4896c71eac8b1aee9db0d1024201ce5824d2f5cfd09c3ee239366207391db3f049f67c0885e919b3ce13c52215437b77fc5c5d36465319862cb5fa75e0f54dd63d3754dcca422c99432286be327d43",
@@ -3434,7 +3813,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 318,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308186024136a263c96cf448db82ec4ed8bda627b6e4250011c00da3cda6a8d68f9982f8c4cdfa87bbcad35da4918bb1dd6e9b666bb0ef93493e90266a97ae3ef17e6bf05ea90241691dad07a5de565cf4fbb6457aabc1527f317b3577fe712f85a8722ba13639b552f530367f3d0f6c099dd490284b4b22e0f0867d6fe4b0b50cd137b9875c666486",
@@ -3442,7 +3821,7 @@
           "flags" : []
         },
         {
-          "tcId" : 301,
+          "tcId" : 319,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3081880242016737805388c1f33aa5ba70a93d5d3bb8e2cb1c6afffa9c71423663570a64e5f19a658ddb5e5351d2c724574843c6096c7bd0f5ff016304e2bb7c3c8643c0969a6b024201cc16da8f7858e4716eb7420b1f5935178cd47ad61139e0f6b4f1f98959f70ab25454f84079798931391fccdcf4bad14234db9fac4a2b811ce937691e880476ac62",
@@ -3450,7 +3829,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 320,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3081880242011cff9efd4637941a840054b27db8747ea2b1a44ea29b9f28e5878acaaa06a280082c9afc33e8eff8f029f1d30be2260cc2b287d5acfecbe49ac362a6b9e883e01a0242015af84a78474acb77a1afdafcc3667bcee6638ad97b5ba39ae781b0d32f7f8d3c03e2d524cb2e4afaddf212c28122f268567aae3859cf019ea0112f0d667b376f5b",
@@ -3458,7 +3837,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 321,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308187024164915760336c2e2c29fa207e7fc883dc36ae3b18cded722794e916671f009dd4a205c584172f81aab519bbac4cc12e6c2986b5cd4ca84a03c535bbd0c335bd1fb90242011699a6ca58af781f2bb04533c5a1b1e5cce42c58c7b05243f036cf53ac2a56b5b7bf3255dbd0f92a8dba528a5d6a1c6e021815fb4bda11ef27c0e98583b021ab09",
@@ -3466,7 +3845,7 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
+          "tcId" : 322,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308188024200805994ccc821372a695824596995e53973d9423dc685f9caa5b0db9ad53445c9312ea55c5337e15e5f98de83d67ae31e31891674e30c50c64f707ba6f28124126902420182e6f40987e37fc182e095ec7a783879910bae48b4c34fb9d5e82af9548d87ce1525ff8996cc66e7094f804bbc0ee76bbb74c94db324cb0b08d73fa31f33e29781",
@@ -3474,7 +3853,7 @@
           "flags" : []
         },
         {
-          "tcId" : 305,
+          "tcId" : 323,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308188024200b28b75b96eac5a7147ed3eb6db677906776bc58942860f5228c492aef5f5067fcad4df9a84446c8783cdb19d7004b6aa262500c066888a757bbb53675e34ce45ea02420135d86f04d3f8a9b14c214324b6d4eb8f3121d43a8a3641de6f0625a07945ce1b3dd4f42bad6bfb34fda0cbb7ddfdfd229040fa609afec6f7fa3a24f33d239250cb",
@@ -3482,7 +3861,7 @@
           "flags" : []
         },
         {
-          "tcId" : 306,
+          "tcId" : 324,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181",
@@ -3490,7 +3869,7 @@
           "flags" : []
         },
         {
-          "tcId" : 307,
+          "tcId" : 325,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308188024201813f1dcac3d1da48a1a3b2542df932a465c2af1e4f6edbceee83b24c36e08981061e190863eb4ea8876899d0e5e4d4ac14e7fa2ea509ff946418e1108b8d2e64ed02420180bfc16e1747b75d51df791f06220d5473fc3c76ed0453003b13f16159c3808eec089fe40b945f8773eb72ea05bcf0ef33b6d4d5dc47ae4fae6d93b080053fc1af",
@@ -3498,7 +3877,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 326,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30818802420108c9a063ab73bfa5e117d58dc5cc331440fc99307c8b9b9e881a7ef8edf9061e996341863b751ef4b9ad91cd8699be5dd4dc9a2593908f9b04428b0fd1da561493024200b925a24de37fccd50bbc662029e3d143bc9dc5700d7cb5f98fb7859eb7439b67edd016e66be4f8d3c0f7ec7b57bc0a42f48e4a388786b22642c036d31ab9f2bab5",
@@ -3506,7 +3885,7 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 327,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3081870242011b8a3f283aeec301682cabc0b19e816afb3b707e0a833e49bfe0da29aa2bce07b7e85241bc1c04bdeff0baac7585facfd6b583cb6a423c40363beaac451255d4cf02412e0e4d93c7efec6e93e5389003c99b2fb1565d6791c81747eb0bb3a754f89af7d26148a0a77f2b79e650fa77f033f8b37cf39984bd7030d11fc75d805120e77f33",
@@ -3514,7 +3893,7 @@
           "flags" : []
         },
         {
-          "tcId" : 310,
+          "tcId" : 328,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308187024160c1d217a2485fce433723e1120271925a10dbb5b4ceb196f734c64587f618d47b4eb85996d0eacf642cfbd1536b346648b61f8188f255d1689a13718349627d76024200a91a0dea067d0f97b44cecdf21a2b1a67364a376fcc1afeded777a3170eb99a100f26f8bdd8ab65cb72a2c95eb5c992f5ee83630e1f2d8ae33fa60a10c9d1c32b2",
@@ -3522,7 +3901,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 329,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "30818802420090ced19cb14277f90d5bca4825bbeb384f459ad2c375841a5ce4eef5b00e1eb273567e671a48357a7a6d60e389391c5dc54f4e1f8a1b0d4a91aa44d252eb5bb0ef024200f7f5077c3b0485bf5aa1849cb5310886c0599eeda6b33f6d926c2987b373fc9e3d1e16837e8b55a46eb6479e45fafc9c8f94468db385476f472ef0436d1b1527e4",
@@ -3530,7 +3909,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 330,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308187024131b4a11c2da6971ab4b65995b4eef6ab1cc4f1a8d4438a570aac441c303937e503b349ec5e109adb457cee916bdf051092a6ba6c89e75bc12fbabe527cacfa873702420199c79c8c5abe9430ae4774ac9c20b38a435f5d2bbc0143eebb6b47a15bbfcd3068faeb3f3c694a40406e39eed2e27acce93ccfacc74063fcd1179dab96844bb694",
@@ -3538,7 +3917,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 331,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308188024200d8f352204f4c15f5fdd64dbd7870a65ccc4c9a78616fbd976ca16ff2a35aea8aa2f6db0bade2c4daefefc4e7a347efebb91fdfeb01ef808ec2b044d5e9ecc7084802420120a84665d678e8c01dabc04309bc6f314e6c847f34a6134824087df68ec307009f033cb0a336b50549bf6df4fc037a3a6d633f97e382454506b984d8d725df0660",
@@ -3546,7 +3925,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 332,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308187024200ccd1c00546ee2082dfe9438c9348f84f987a56a941296b537509fcfb4bd1e644872eb8fdfce36ef262a2c42d69eb8931ea21be8027ec2fc56a155127e607de096b024134947d4231cff66d0cbf5a568251e06d02eec4120876e48c72a3d840983180938f109df434d26060ff693ede581ff73be04ca961718730a24ed7d24c3863209a42",
@@ -3554,7 +3933,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 333,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3081880242008a13921becfa123084e86edb1cfcad8b5a04a2e20301a11c8f2f6b6b768da5f30c24b550f9b76848b6156c9277b61fd29832d7e0b955b871710a6ad16180e440b5024201db9867ad19b825494584a64ae049252d506116ca98324825d9d9d37f6a0927f874b9aff3990b332cca760464e93d3e6ed2fa7bfe51a2131cdfcf3ad45c7afa9d3e",
@@ -3564,20 +3943,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoAAAAA\nAJuYv9MzmMLPhgb8CuRottYXzLPnBK87hQZkKnddW02p0AIJNkqfCkrXfLrGBKAV\nyX5rWhiESliaTxx9liU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
         "wx" : "304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a",
         "wy" : "09b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoAAAAA\nAJuYv9MzmMLPhgb8CuRottYXzLPnBK87hQZkKnddW02p0AIJNkqfCkrXfLrGBKAV\nyX5rWhiESliaTxx9liU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 316,
+          "tcId" : 334,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6",
@@ -3585,7 +3965,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 335,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d",
@@ -3593,7 +3973,7 @@
           "flags" : []
         },
         {
-          "tcId" : 318,
+          "tcId" : 336,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "308188024201e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c024201de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e",
@@ -3603,20 +3983,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoB////\n/2RnQCzMZz0wefkD9RuXSSnoM0wY+1DEevmb1YiipLJWL/32ybVg9bUog0U5+1/q\nNoGUped7tadlsOOCado=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
         "wx" : "304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a",
         "wy" : "1ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoB////\n/2RnQCzMZz0wefkD9RuXSSnoM0wY+1DEevmb1YiipLJWL/32ybVg9bUog0U5+1/q\nNoGUped7tadlsOOCado=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 319,
+          "tcId" : 337,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f",
@@ -3624,7 +4005,7 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 338,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7",
@@ -3632,7 +4013,7 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 339,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30818802420152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa652024201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6",
@@ -3642,20 +4023,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAAAAAAvumoGEgHqax7UJlFjVoc166\nt4YAzfanEQHcY76vVG2XohT8Y5Z5OwFOsap6co9T3rL/mZmjgI3f7RXpYpsBmThS\n2tw5KZpaRba9fI3I7Gfnrbs1n6j6XUSXfhXi5ams8MM2RfPyxoxSbgdzL7NQQ3Gc\n+vwWBjyOWIUKlYQ2pOU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
         "wx" : "2fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b",
         "wy" : "1993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAAAAAAvumoGEgHqax7UJlFjVoc166\nt4YAzfanEQHcY76vVG2XohT8Y5Z5OwFOsap6co9T3rL/mZmjgI3f7RXpYpsBmThS\n2tw5KZpaRba9fI3I7Gfnrbs1n6j6XUSXfhXi5ams8MM2RfPyxoxSbgdzL7NQQ3Gc\n+vwWBjyOWIUKlYQ2pOU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 322,
+          "tcId" : 340,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda",
@@ -3663,7 +4045,7 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 341,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06",
@@ -3671,7 +4053,7 @@
           "flags" : []
         },
         {
-          "tcId" : 324,
+          "tcId" : 342,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "308188024201d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce2024201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457",
@@ -3681,20 +4063,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/////h1dUrMcpS+JR6NVk+3xZM0y\nT4M7kJNYRsZNsUVN+fAo3IvDa7BMt/DM7OugGjhECX98Ne6qgUKNsMymMzEBt8cC\nd9C/eKPHtiyTfwyyytJWX1UU9iBc6xoZPU/bRbpubOwHgnuuCxa4MWw1OaFRFNDe\nbS3kB/1xF1UacIJuraY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
         "wx" : "1fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331",
         "wy" : "1b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/////h1dUrMcpS+JR6NVk+3xZM0y\nT4M7kJNYRsZNsUVN+fAo3IvDa7BMt/DM7OugGjhECX98Ne6qgUKNsMymMzEBt8cC\nd9C/eKPHtiyTfwyyytJWX1UU9iBc6xoZPU/bRbpubOwHgnuuCxa4MWw1OaFRFNDe\nbS3kB/1xF1UacIJuraY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 325,
+          "tcId" : 343,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188",
@@ -3702,7 +4085,7 @@
           "flags" : []
         },
         {
-          "tcId" : 326,
+          "tcId" : 344,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3",
@@ -3710,7 +4093,7 @@
           "flags" : []
         },
         {
-          "tcId" : 327,
+          "tcId" : 345,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "308188024201d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee59430242015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9",
@@ -3720,20 +4103,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAx8iBe/LwZSpKS1FAx3PiYQgKChET\nlYVuijNQ9etWEr1js2e5ZekulTjqO3kIrvGt5LaOF/n5FISVwWfRxN1JE0kACL8L\n4peau4ER/Q12itytd0ETqCLBu2CIcFO1z4yVY+dnBaOR7OFUtd+xFLIONR30AUvs\nGfqHcghFgBzwa3////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
         "wx" : "0c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349",
         "wy" : "08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAx8iBe/LwZSpKS1FAx3PiYQgKChET\nlYVuijNQ9etWEr1js2e5ZekulTjqO3kIrvGt5LaOF/n5FISVwWfRxN1JE0kACL8L\n4peau4ER/Q12itytd0ETqCLBu2CIcFO1z4yVY+dnBaOR7OFUtd+xFLIONR30AUvs\nGfqHcghFgBzwa3////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 328,
+          "tcId" : 346,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b",
@@ -3741,7 +4125,7 @@
           "flags" : []
         },
         {
-          "tcId" : 329,
+          "tcId" : 347,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22",
@@ -3749,7 +4133,7 @@
           "flags" : []
         },
         {
-          "tcId" : 330,
+          "tcId" : 348,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "308188024201a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a024201a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d",
diff --git a/src/third_party/wycheproof/ecdsa_secp521r1_sha512_test.txt b/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt
similarity index 79%
rename from src/third_party/wycheproof/ecdsa_secp521r1_sha512_test.txt
rename to src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt
index 03abdde..9883088 100644
--- a/src/third_party/wycheproof/ecdsa_secp521r1_sha512_test.txt
+++ b/src/third_party/wycheproof_testvectors/ecdsa_secp521r1_sha512_test.txt
@@ -2,716 +2,930 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: ECDSA
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]
 [key.wx = 5c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508]
 [key.wy = 7878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005c6457ec088d532f482093965ae53ccd07e556ed59e2af945cd8c7a95c1c644f8a56a8a8a3cd77392ddd861e8a924dac99c69069093bd52a52fa6c56004a074508007878d6d42e4b4dd1e9c0696cb3e19f63033c3db4e60d473259b3ebe079aaf0a986ee6177f8217a78c68b813f7e149a4e56fd9562c07fed3d895942d7d101cb83f6]
 [sha = SHA-512]
 
+# tcId = 1
 # signature malleability
 msg = 313233343030
 result = valid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5a27a24a1aae1e218fdccd8cd7d4990b666d4bf4902b84fdad123f941fe906d948
 
+# tcId = 2
 # random signature
 msg = 313233343030
 result = valid
-sig = 30818802420081d7b378e361fe518b0afc37ffb88f0dcc62be9a9e03d23412efb8c799b803a96ccb37886a57c4f61b228ae2609cb6f14033494846f79aeb2c4fc70c9c020bc1530242010b2471c2a7ebbc5e48f03d2dbbbf89c847a44dedc7ffcddd073f1f814cb0fd1418bd524ba1ec74abef8e4a27f19eab93db20d4553a603f04a0c3719430d80e1197
+sig = 308187024200d703523eda938e2cee1b8ca598f52b20cc2f23c8eca85ad991f5709797cc57a76e4a30199c9ffb745dd5dd2ea62981a1e74f9da090be412d7667bd9e92e2efa7af02412923ae695df38c16e9e035c1905dda07ef80e38a8db8ba853b7d45bd12ad06e384ebdb55228e322c90a514e7e07a534c45cad83574ef46c3e0105096a1a9efa7b6
 
+# tcId = 3
 # random signature
 msg = 313233343030
 result = valid
-sig = 308188024200e819b543589aa13fddef2531dd1c67caa775493b2d307e8130a765f7772d5056d3a5eb6bb37979d9606c1b36862e8397d38d7aae666c558705ce13667cc832d4af02420162398631365bde51182b0b8869b2d924defff46abcbb5fd07dd90240644f623c15f5ed7ad32f6f9a2b81db7f9eb4e8b25ca53e30f1ffc21cdfed6c437b8b03fcbb
+sig = 308187024201edfd55e6cfd3e5e282ad50855947b1ca259ba568106315658618793c02d92eb662b3f2cb651ecb65b1a5bac4c6dae699760a3d9824a10ffe2d6699f9a4f14406bb02415c056f1b5eaf3fa0a50b767fc7683f302ade107ebe8265e3f1550ba947fd24d6e11e2a2d9ce1925ae75718c6a3a9dfeeeb43bfc3d6214e5f74f8fbed54488a5dad
 
+# tcId = 4
 # random signature
 msg = 313233343030
 result = valid
-sig = 308188024201ac089cee6fceeb3c00cf74492744b63121d94e7a3d480e59627d64afba97b8745b724ec54f9bf1d4601acdca547404771d06213e3357ebdb729bcfd70cd069fc2d024201ce834aedf2bda5e7fc97aad2df904b9f4ed7a6c26aed152e46de2eda517704fe8d2955a9c1a5790e2f86a4b3c09ac61aff8bc8dfe000cd0e016891806065e51f4a
+sig = 308186024028e25a563e9a79bf4d0bd4d0557393d1cf5e54fe8a62e2db7f573009972a78aee864be5c0f20fd98bc8b291a113215f76a0ec7836e997ab7838dbd856b518d7602420080b4276568a247ae57880a800d939553e28e3377870cc2425276f40beee81a2f986fe487e30b0493e4fd69cc0d19f0ba560e6200ba604c121c5f1621c100ef4f5b
 
+# tcId = 5
 # random signature
 msg = 313233343030
 result = valid
-sig = 308186024156b7aa356f1584b4c209aa24eadb3de60775e1273bee4f0e9d247ceae97e3d6f701798e883be932cd60d95fb0e659a7f3e2a8291b757f851a0a284b28932f6cf28024127aa41b0bf9ed8202f46f7eb312574601028831cef64d9e1dc7a4e553e8d3c0d5a837baaccfe065bff0bc4e8d389fc1335edaeecc7862bec41af6ed5bb4bc8a19f
+sig = 308188024200b29a98b9d03abb13a30ad32e42ed1c92b3f294743e103184613bb151b7fd183db9f2107e5641889d2e430dfb3ed9fbf9262fe6220c9fbe37cdcb64465ec10777980242010e86349333a1ba89a1674b39eead9249c6f4e3ab2da6e9cb68c31984e6a3ebe5c6d1938ce87e4258a28e4f9e07e6f595e7a079c94fea978d6c5c3677713c5bfaa8
 
+# tcId = 6
 # random signature
 msg = 313233343030
 result = valid
-sig = 308188024200bb73df934eef063702468f828c2338cbdc4f9cb71b07334f68f44f9189322cfe0a1c499545bab1195e4b6f9368a848cbead4c77fee1aa4edd0b617a51dd075a604024201171cf378b95cd4032e42c789a315b51632be03620dae45d58f024b9f3cb90b2bdb15b3ebddb89f2f811d06482962adab8d31b2894296846e28f520efe63d725f7c
+sig = 308188024200f46a4a4cd5cf22373f768ba79a58b9b48af3db95bf92645c9d9c034d8364d2be4cf2830a36de9c5c3f5952f40aee0f19483aabfde8484bb82e09e514377b30972502420128398151929ee841586daef3b5ff028f461bf8be48875692f6d62b7206bdc6ad85c2f6330c75acb7f29ba73ca20f5561c20efc6621880033853bfbd5c7eee270e0
 
+# tcId = 7
 # valid
 msg = 313233343030
 result = valid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 8
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 3082008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 9
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 308188028200414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 10
 # length contains leading 0
 msg = 313233343030
 result = invalid
 sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450282004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 11
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 308702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 12
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 308502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 13
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 30818602424e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 14
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 30818602404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 15
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 16
 # wrong length
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 17
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 3085010000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 18
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30818b028501000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 19
 # uint32 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285010000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 20
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 308901000000000000008602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 21
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30818f02890100000000000000414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 22
 # uint64 overflow in length
 msg = 313233343030
 result = invalid
 sig = 30818f02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028901000000000000004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 23
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30847fffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 24
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30818a02847fffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 25
 # length = 2**31 - 1
 msg = 313233343030
 result = invalid
 sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502847fffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 26
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 3084ffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 27
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 30818a0284ffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 28
 # length = 2**32 - 1
 msg = 313233343030
 result = invalid
 sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450284ffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 29
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 3085ffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 30
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 30818b0285ffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 31
 # length = 2**40 - 1
 msg = 313233343030
 result = invalid
 sig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450285ffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 32
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 3088ffffffffffffffff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 33
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 30818e0288ffffffffffffffff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 34
 # length = 2**64 - 1
 msg = 313233343030
 result = invalid
 sig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450288ffffffffffffffff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 35
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30ff02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 36
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30818602ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 37
 # incorrect length
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 38
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 39
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 30818602804e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 40
 # indefinite length without termination
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645028028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 41
 # removing sequence
 msg = 313233343030
 result = invalid
 sig = 
 
+# tcId = 42
+# lonely sequence tag
+msg = 313233343030
+result = invalid
+sig = 30
+
+# tcId = 43
 # appending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
 
+# tcId = 44
 # prepending 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 308188000002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
-# appending unused 0's
+# tcId = 45
+# appending unused 0's to sequence
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
 
-# appending unused 0's
-msg = 313233343030
-result = invalid
-sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
-
-# appending null value
+# tcId = 46
+# appending null value to sequence
 msg = 313233343030
 result = invalid
 sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500
 
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
-
-# appending null value
-msg = 313233343030
-result = invalid
-sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500
-
+# tcId = 47
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818c49817730818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 48
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818b250030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 49
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef
 
+# tcId = 50
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818b224649817702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 51
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818a2245250002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 52
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818e224302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450004deadbeef024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 53
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818b02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452246498177024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 54
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522452500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 55
 # including garbage
 msg = 313233343030
 result = invalid
 sig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452243024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10004deadbeef
 
+# tcId = 56
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30818faa00bb00cd0030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 57
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30818daa02aabb30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 58
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30818e2249aa00bb00cd0002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 59
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30818c2247aa02aabb02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 60
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30818e02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452249aa00bb00cd00024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 61
 # including undefined tags
 msg = 313233343030
 result = invalid
 sig = 30818c02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452247aa02aabb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 62
+# truncated length of sequence
+msg = 313233343030
+result = invalid
+sig = 3081
+
+# tcId = 63
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 308030818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
 
+# tcId = 64
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 30818a228002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 65
 # using composition with indefinite length
 msg = 313233343030
 result = invalid
 sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
 
+# tcId = 66
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 308031818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
 
+# tcId = 67
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 30818a228003414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 68
 # using composition with wrong tag
 msg = 313233343030
 result = invalid
 sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86452280034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
 
+# tcId = 69
 # Replacing sequence with NULL
 msg = 313233343030
 result = invalid
 sig = 0500
 
-# changing tag value
+# tcId = 70
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2e818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
-# changing tag value
+# tcId = 71
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 2f818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
-# changing tag value
+# tcId = 72
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 31818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
-# changing tag value
+# tcId = 73
+# changing tag value of sequence
 msg = 313233343030
 result = invalid
 sig = 32818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
-# changing tag value
+# tcId = 74
+# changing tag value of sequence
 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
-
+# tcId = 75
 # dropping value of sequence
 msg = 313233343030
 result = invalid
 sig = 3000
 
-# using composition
+# tcId = 76
+# using composition forsequence
 msg = 313233343030
 result = invalid
 sig = 30818b300102308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
-# using composition
-msg = 313233343030
-result = invalid
-sig = 30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
-
-# using composition
-msg = 313233343030
-result = invalid
-sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
-
+# tcId = 77
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a
 
+# tcId = 78
 # truncate sequence
 msg = 313233343030
 result = invalid
 sig = 308185414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 79
 # indefinite length
 msg = 313233343030
 result = invalid
 sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 80
 # indefinite length with truncated delimiter
 msg = 313233343030
 result = invalid
 sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac100
 
+# tcId = 81
 # indefinite length with additional element
 msg = 313233343030
 result = invalid
 sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac105000000
 
+# tcId = 82
 # indefinite length with truncated element
 msg = 313233343030
 result = invalid
 sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1060811220000
 
+# tcId = 83
 # indefinite length with garbage
 msg = 313233343030
 result = invalid
 sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000fe02beef
 
+# tcId = 84
 # indefinite length with nonempty EOC
 msg = 313233343030
 result = invalid
 sig = 308002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10002beef
 
+# tcId = 85
 # prepend empty sequence
 msg = 313233343030
 result = invalid
 sig = 308188300002414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 86
 # append empty sequence
 msg = 313233343030
 result = invalid
 sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac13000
 
+# tcId = 87
 # sequence of sequence
 msg = 313233343030
 result = invalid
 sig = 30818930818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 88
 # truncated sequence
 msg = 313233343030
 result = invalid
 sig = 304302414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645
 
+# tcId = 89
 # repeat element in sequence
 msg = 313233343030
 result = invalid
 sig = 3081c902414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 90
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 3081870281414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 91
 # long form encoding of length
 msg = 313233343030
 result = invalid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502814128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 92
 # removing integer
 msg = 313233343030
 result = invalid
 sig = 3043024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 93
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 304402024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 94
+# lonely integer tag
+msg = 313233343030
+result = invalid
+sig = 304402414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502
+
+# tcId = 95
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 96
 # appending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10000
 
+# tcId = 97
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 308188024300004e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 98
 # prepending 0's to integer
 msg = 313233343030
 result = invalid
 sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450243000028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+# This is a signature with correct values for (r, s) but using some alternative
+# BER encoding instead of DER encoding. Implementations should not accept such
+# signatures to limit signature malleability.
 
+# tcId = 99
+# appending unused 0's to integer
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450000024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 100
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 30818802434e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 101
+# appending null value to integer
+msg = 313233343030
+result = invalid
+sig = 30818802414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024328b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac10500
+
+# tcId = 102
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 30450281024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 103
+# truncated length of integer
+msg = 313233343030
+result = invalid
+sig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450281
+
+# tcId = 104
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 30450500024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 105
 # Replacing integer with NULL
 msg = 313233343030
 result = invalid
 sig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450500
 
+# tcId = 106
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818600414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 107
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818601414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 108
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818603414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 109
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818604414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 110
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 308186ff414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 111
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645004128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 112
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645014128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 113
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645034128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 114
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645044128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 115
+# changing tag value of integer
+msg = 313233343030
+result = invalid
+sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645ff4128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 116
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 30450200024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 117
 # dropping value of integer
 msg = 313233343030
 result = invalid
 sig = 304502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450200
 
+# tcId = 118
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 30818a224502014e02404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 119
+# using composition forinteger
+msg = 313233343030
+result = invalid
+sig = 30818a02414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864522450201280240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 120
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 30818602414c4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 121
 # modify first byte of integer
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502412ab5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 122
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86c5024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 123
 # modify last byte of integer
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a41
 
+# tcId = 124
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 30818502404e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 125
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 30818502404223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 126
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024028b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318a
 
+# tcId = 127
 # truncate integer
 msg = 313233343030
 result = invalid
 sig = 30818502414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450240b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 128
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 3081870242ff4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 129
 # leading ff in integer
 msg = 313233343030
 result = invalid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242ff28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 130
 # infinity
 msg = 313233343030
 result = invalid
 sig = 3046090180024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 131
 # infinity
 msg = 313233343030
 result = invalid
 sig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645090180
 
+# tcId = 132
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 3046020100024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
+
+# tcId = 133
+# replacing integer with zero
+msg = 313233343030
+result = invalid
+sig = 304602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645020100
+
+# tcId = 134
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbe97b3367122fa4a20584c271233f3ec3b7f7b31b0faa4d340b92a6b0d5cd17ea4e024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 135
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbf4d826580ab145752e852a6e91512b78178047879e9714a4ae1bc74298aaa7223c024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 136
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3081860241b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 137
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0040b27d9a7f54eba8ad17ad5916eaed487e87fb8786168eb5b51e438bd675558ddc4024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 138
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3081870242fdb1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a0041684cc98edd05b5dfa7b3d8edcc0c13c48084ce4f055b2cbf46d594f2a32e815b2024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 139
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3081870242024e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 140
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 3081870242fe4e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 141
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 308187024201b1bddc11bc17347621c4ecc6003d861a7d07d3854f08e4421bc241c8b538a00410d65320718f8af465fb099025b7cae2184402aea8df4f13a328c90648c42079bb024128b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 142
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba09a7b6ac4ecd0410b4722ca75ba197a403a0a1f9ee0e7b391b0649fda1d3969eeca
 
+# tcId = 143
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a5d85db5e551e1de70233273282b66f49992b40b6fd47b0252edc06be016f926b8
 
+# tcId = 144
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30818602414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450241d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f
 
+# tcId = 145
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fdd74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f6584953b132fbef4b8dd358a45e685bfc5f5e0611f184c6e4f9b6025e2c6961136
 
+# tcId = 146
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf864502420228b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 147
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf86450242fe28b5d0926a4172b349b0fd2e929487a5edb94b142df923a697e7446acdacdba0a029e43d69111174dba2fe747122709a69ce69d5285e174a01a93022fea8318ac1
 
+# tcId = 148
 # Modified r or s, e.g. by adding or subtracting the order of the group
 msg = 313233343030
 result = invalid
 sig = 30818702414e4223ee43e8cb89de3b1339ffc279e582f82c7ab0f71bbde43dbe374ac75ffbef29acdf8e70750b9a04f66fda48351de7bbfd515720b0ec5cd736f9b73bdf8645024201d74a2f6d95be8d4cb64f02d16d6b785a1246b4ebd206dc596818bb953253245f5fd61bc296eeee8b245d018b8edd8f659631962ad7a1e8b5fe56cfdd0157ce753f
 
+# tcId = 149
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -719,6 +933,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 150
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -726,6 +941,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 151
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -733,6 +949,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 152
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -740,6 +957,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 153
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -747,6 +965,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 154
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -754,6 +973,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 155
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -761,6 +981,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 156
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -768,6 +989,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 157
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -775,6 +997,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 158
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -782,6 +1005,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 159
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -789,6 +1013,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 160
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -796,6 +1021,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 161
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -803,6 +1029,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 162
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -810,6 +1037,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 163
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -817,6 +1045,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 164
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -824,6 +1053,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 165
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -831,6 +1061,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 166
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -838,6 +1069,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 167
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -845,6 +1077,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 168
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -852,6 +1085,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 169
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -859,6 +1093,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 170
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -866,6 +1101,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 171
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -873,6 +1109,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 172
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -880,6 +1117,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 173
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -887,6 +1125,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 174
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -894,6 +1133,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 175
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -901,6 +1141,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 176
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -908,6 +1149,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 177
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -915,6 +1157,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 178
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -922,6 +1165,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 179
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -929,6 +1173,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 180
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -936,6 +1181,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 181
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -943,6 +1189,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 182
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -950,6 +1197,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 183
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -957,6 +1205,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 184
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -964,6 +1213,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 185
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -971,6 +1221,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 186
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -978,6 +1229,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 187
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -985,6 +1237,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 188
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -992,6 +1245,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 189
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -999,6 +1253,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 190
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1006,6 +1261,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 191
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1013,6 +1269,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 192
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1020,6 +1277,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 193
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1027,6 +1285,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 194
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1034,6 +1293,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 195
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1041,6 +1301,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 196
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1048,6 +1309,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 197
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1055,6 +1317,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 198
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1062,6 +1325,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 199
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1069,6 +1333,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 200
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1076,6 +1341,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 201
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1083,6 +1349,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 202
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1090,6 +1357,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 203
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1097,6 +1365,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 204
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1104,6 +1373,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 205
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1111,6 +1381,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 206
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1118,6 +1389,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 207
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1125,6 +1397,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 208
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1132,6 +1405,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 209
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1139,6 +1413,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 210
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1146,6 +1421,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 211
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1153,6 +1429,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 212
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1160,6 +1437,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 213
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1167,6 +1445,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 214
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1174,6 +1453,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 215
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1181,6 +1461,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 216
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1188,6 +1469,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 217
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1195,6 +1477,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 218
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1202,6 +1485,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 219
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1209,6 +1493,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 220
 # Signature with special case values for r and s
 msg = 313233343030
 result = invalid
@@ -1216,6 +1501,7 @@
 # Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA
 # implementation does not check boundaries and computes s^(-1)==0.
 
+# tcId = 221
 # Edge case for Shamir multiplication
 msg = 39353032
 result = valid
@@ -1224,16 +1510,19 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]
 [key.wx = 491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af5]
 [key.wy = 144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400491cd6c5f93b7414d6d45cfe3d264bd077fc4427a4b0afede76cac537a7ca5ee2c44564258260f7691b81fdfecebfd03ba672277875c5b311ea920e74fb3978af50144a353a251b4297894161bae12d16a89c33b719f904cfccc277df78cea5379198642fd549df919904dc0cf3662eeab01ef11b8e3cb49b51b853d98f042600c0997]
 [sha = SHA-512]
 
+# tcId = 222
 # k*G has a large x-coordinate
 msg = 313233343030
 result = valid
 sig = 3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406
 
+# tcId = 223
 # r too large
 msg = 313233343030
 result = invalid
@@ -1242,11 +1531,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]
 [key.wx = 15f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff]
 [key.wy = 1502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015f281dcdc976641ce024dca1eac8ddd7f949e3290d3b2de11c4873f3676a06ff9f704c24813bd8d63528b2e813f78b869ff38112527e79b383a3bd527badb929ff01502e4cc7032d3ec35b0f8d05409438a86966d623f7a2f432bf712f76dc6345405dfcfcdc36d477831d38eec64ede7f4d39aa91bffcc56ec4241cb06735b2809fbe]
 [sha = SHA-512]
 
+# tcId = 224
 # r,s are large
 msg = 313233343030
 result = valid
@@ -1255,11 +1546,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]
 [key.wx = 336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e74]
 [key.wy = 1d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400336d5d08fe75c50946e6dddd36c550bb054d9925c8f254cfe1c3388f720b1d6500a90412b020b3db592b92ab9f68f1c693b8d1365371635e21bc43eaadf89e4e7401d48d60319dfd06f935fc46488c229b611eecd038804ae9f681a078dde8ed8f8e20ad9504bcf3c24a0b566b1e85b2d3ed0a1273292ff5f87bae5b3c87857e67ed81]
 [sha = SHA-512]
 
+# tcId = 225
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1268,11 +1561,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]
 [key.wx = 6f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c]
 [key.wy = 150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004006f8fadedbae63701072c287c633f9c0052ea1e6cd00a84342cc0f626210071576abfd0875664b0746cdaf2745effc18d94905b0fc9d2cad4ba375c0ea2298c8d1c0150d128cb62a527ae6df3e92f1f280ea33248711ffe4b35c1b162a9508576860165e0ddc361d96fafcd2ff82776c743b9cd6845db61eb56739f5c4ef561e6c20d8c]
 [sha = SHA-512]
 
+# tcId = 226
 # r and s^-1 have a large Hamming weight
 msg = 313233343030
 result = valid
@@ -1281,11 +1576,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]
 [key.wx = 5e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d]
 [key.wy = 1789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005e7eb6c4f481830abaad8a60ddb09891164ee418ea4cd2995062e227d33c229fb737bf330703097d6b3b69a3f09e79c9de0b402bf846dd26b5bb1191cff801355d01789c9afda567e61de414437b0e93a17611e6e76853762bc0aff1e2bc9e46ce1285b931651d7129b85aef2c1fab1728e7eb4449b2956dec33e6cd7c9ba125c5cd9d]
 [sha = SHA-512]
 
+# tcId = 227
 # small r and s
 msg = 313233343030
 result = valid
@@ -1294,11 +1591,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]
 [key.wx = 0b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e]
 [key.wy = 295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b420fb1fecdd9cc5ea7d7c7617e70538db32e6d7a0ad722c63580f1f6a1f5537eb50930b90fd6fdd9abd40015f746d2fd8adf945a75621407edb6863588e41979e00295108a7e9d2191a287fd160bd24f498055dc9badbd61c6a89fede27b4f9d479d86a20b6dc07c90f008ebe68a0e0cc15a4a03b8cf990e4ff7ed6e3892b21c52153]
 [sha = SHA-512]
 
+# tcId = 228
 # small r and s
 msg = 313233343030
 result = valid
@@ -1307,16 +1606,19 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]
 [key.wx = 32b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f46005]
 [key.wy = 317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040032b9a17c201aec34d29b8c2764e7c7f6aeef10fb61bf9837117fad879f8c6a22a300006d2018cf42b25898ffc9a1bf507352e59e6a52e627cda160e17ea2f4600500317a89899b7cb3a0d33eafa02b0137a0fb1b05102b22b676f35b9ff6c050ddee9f185609ffb7f5165a769e440792b75044a43e838690d13f884aaae888bf5f86f0]
 [sha = SHA-512]
 
+# tcId = 229
 # small r and s
 msg = 313233343030
 result = valid
 sig = 3006020101020103
 
+# tcId = 230
 # r is larger than n
 msg = 313233343030
 result = invalid
@@ -1325,11 +1627,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]
 [key.wx = 67dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938]
 [key.wy = 14d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040067dd456b52f82a5d4c4a71b3ea9302f62a852ddc04ad25b62fef1ddf657374fb4e80679ddf42d212f0711db32b626d8593bd70892e93ed0adb273157b6df187938014d2c78509f3bd6f7d0fba4a90cb456286e267f5dd9d967842a6086884d66c7b2a932833470c721a4a728cd8486d15314232d801f17e3a6fd7068bdebacdf82c0b4]
 [sha = SHA-512]
 
+# tcId = 231
 # s is larger than n
 msg = 313233343030
 result = invalid
@@ -1338,11 +1642,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]
 [key.wx = 68d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b]
 [key.wy = 0a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040068d7b518214766ac734a7461d499352444377d50af42a1bbdb7f0032065ee6dc341ccf231af65250e7d13a80733abebff559891d4211d6c28cf952c9222303b53b00a2f3d7e14d9d8fabe1939d664e4615c6e24f5490c815c7651ccf6cc65252f88bcfd3b07fbdbaa0ba00441e590ccbcea00658f388f22c42d8a6d0f781ae5bb4d78b]
 [sha = SHA-512]
 
+# tcId = 232
 # small r and s^-1
 msg = 313233343030
 result = valid
@@ -1351,11 +1657,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]
 [key.wx = 11edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed2363]
 [key.wy = 118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004011edc3b22b20f9a188b32b1e827d6e46b2ed61b9be6f4ada0b2c95835bee2738ec4dc5313831cce5f927210a7bc2f13abc02fa90e716fc1bd2f63c429a760ed23630118daad88fe9b9d66e66e71ce05d74137d277a9ca81c7d7aef1e74550890564103cc0d95d30f6205c9124829192e15d66fb1f4033032a42ba606e3edca6ec065c50]
 [sha = SHA-512]
 
+# tcId = 233
 # smallish r and s^-1
 msg = 313233343030
 result = valid
@@ -1364,11 +1672,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]
 [key.wx = 12f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a12102444]
 [key.wy = 174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012f8b9863a1887eca6827ad4accc2ba607f8592e5be15d9692b697a4061fcc81560c8feb2ae3851d00e06df3e0091f1f1ca5ec64761f4f8bd6d0c2cab2a121024440174b4e34aec517a0d2ceb2fd152ed1736bc330efca5e6d530ea170802fb6af031425903fa6a378405be5e47d1e52f62f859f537df9c0f6a4a6479a0aadafe219821]
 [sha = SHA-512]
 
+# tcId = 234
 # 100-bit r and small s^-1
 msg = 313233343030
 result = valid
@@ -1377,11 +1687,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]
 [key.wx = 08aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c6]
 [key.wy = 0a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008aed779a32b9bf56ea7ab46e4b914e55c65301cdbe9ea6e7ed44f7e978c0365989a19a5e48282fb1158f481c556505d66ff414a07003ebf82fca1698c33f2884c600a62426993ed5b177b6045e60b5fa1a1f8ce1ad5d70e7bc7b5af811dbf86e651f9ea02ec796ab991e1439bf07ffe2ac6052a8a0b0174d78a9441aaf4d8fc757d80f]
 [sha = SHA-512]
 
+# tcId = 235
 # small r and 100 bit s^-1
 msg = 313233343030
 result = valid
@@ -1390,11 +1702,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]
 [key.wx = 093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e]
 [key.wy = 1c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093697b0378312b38c31deae073f24a8163f086ac2116b7c37c99157cfae7970ab4201f5a7e06ec39eedbf7d87f3021ca439e3ff7c5988b84679937bab786dbe12e01c6987c86077c05423ac281de6d23f6a685870e12855463770eccabc9f3a1d23cb2a0c15479420b5dd40fbdc9886c463b62ee23239df3a8b861c3291d28224f6057]
 [sha = SHA-512]
 
+# tcId = 236
 # 100-bit r and s^-1
 msg = 313233343030
 result = valid
@@ -1403,11 +1717,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]
 [key.wx = 19a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b6]
 [key.wy = 158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004019a9f1b7b7f574a021fedd8679a4e998b48524854eefbaae4104a3973d693e02104fa119243256e3d986f8b4966c286ab8cb1f5267c0bbd6bc182aeb57493a5d5b60158b97eb74862fbca41763e8d3a7beb5fccd05565b75a3a43c2b38b96eb2ccff149c23ef1ac09fc455d808ff28081e985f9e172fc62d0900585172cfbff87383595]
 [sha = SHA-512]
 
+# tcId = 237
 # r and s^-1 are close to n
 msg = 313233343030
 result = valid
@@ -1416,16 +1732,19 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]
 [key.wx = 1aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a26]
 [key.wy = 1ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aa9f3a894b727d7a01b09c4f051b469d661de1e06915b599e211463319ac1b7ca8a6097f1be401d70a71d0b53655cdf9bef748d886e08ee7de2fa781e93ec41a2601ba9ea67385e19894fc9cd4b0173ab215f7b96f23bc420665d46c75447bf200ae3ac7b42bd9b857fd1c85cce8ea9c8d2345e4687dd70df59f5149510735bb9c7b64]
 [sha = SHA-512]
 
+# tcId = 238
 # s == 1
 msg = 313233343030
 result = valid
 sig = 3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101
 
+# tcId = 239
 # s == 0
 msg = 313233343030
 result = invalid
@@ -1434,11 +1753,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]
 [key.wx = 2a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa3]
 [key.wy = 24b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002a07f13f3e8df382145b7942fe6f91c12ff3064b314b4e3476bf3afbb982070f17f63b2de5fbe8c91a87ae632869facf17d5ce9d139b37ed557581bb9a7e4b8fa30024b904c5fc536ae53b323a7fd0b7b8e420302406ade84ea8a10ca7c5c934bad5489db6e3a8cc3064602cc83f309e9d247aae72afca08336bc8919e15f4be5ad77a]
 [sha = SHA-512]
 
+# tcId = 240
 # point at infinity during verify
 msg = 313233343030
 result = invalid
@@ -1447,11 +1768,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]
 [key.wx = 60daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e]
 [key.wy = 16e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040060daf59638158ed9d3d7e8428501334764162f9be239e168fae9af348c30a7be1cfa4d9636c3bb621d7e0aa71446f8d4a37f2d43274a4255b226f612382f63152e016e48300124a636b206fad4d0355862a852623799afee941e864d96dcbf55b801cabd6249b6f567506d5a503e7d03b4764c70fc44c5365f32c3603678476d62b09d]
 [sha = SHA-512]
 
+# tcId = 241
 # u1 == 1
 msg = 313233343030
 result = valid
@@ -1460,11 +1783,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]
 [key.wx = 51fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae]
 [key.wy = 1a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051fe6a35a85070c7c29502a87672a38153d799aef734226b64d8fd3398621701117f0af9d9afaf6dbb8ca3007255dc79b0f41ed552512cb29207b15a01cdfdfaae01a16c61277586356efadcb24764f21f574ef96f2caabc3f47fa66fb8719d7785824061c2d6d7a4bcb851540e62b2f00960b283eac7808d1813ef51b46e1149d3e4d]
 [sha = SHA-512]
 
+# tcId = 242
 # u1 == n - 1
 msg = 313233343030
 result = valid
@@ -1473,11 +1798,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]
 [key.wx = 0b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad]
 [key.wy = 09d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b4ffc0fff087607ad26c4b23d6d31ae5f904cc064e350f47131ce2784fbb359867988a559d4386752e56277bef34e26544dedda88cc20a3411fa98834eeae869ad009d6e8ca99949b7b34fd06a789744ecac3356247317c4d7aa9296676dd623594f3684bc13064cab8d2db7edbca91f1c8beb542bc97978a3f31f3610a03f46a982d2]
 [sha = SHA-512]
 
+# tcId = 243
 # u2 == 1
 msg = 313233343030
 result = valid
@@ -1486,11 +1813,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]
 [key.wx = 0809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a]
 [key.wy = 1108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400809fba320fe96ded24611b72a2a5428fe46049ff080d6e0813ab7a35897018fe6418613abd860d1eb484959059a01af7d68cba69d1c52ea64ad0f28a18a41fc78a01108acc5577e9e8962e2a7cea0bb37df1d0ca4050fb6cfeba41a7f868d988dbbcebc962986748fa485183f6b60f453ec8606f8c33d43767dddbbef8c412b2c37939]
 [sha = SHA-512]
 
+# tcId = 244
 # u2 == n - 1
 msg = 313233343030
 result = valid
@@ -1499,11 +1828,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]
 [key.wx = 145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b]
 [key.wy = 0d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040145130dca77d9674dfceffa851b4a2672e490e8fba8277622b0020e2fe9101e76933b0c01d248071f854e9bc523733936dc0b9930cbe154b9a402f681ee3c6cef6b000d0c94b2ad28556643aa3d27523048d227a1de82f8a664707e75394d21da181bec82e1afb0e627539531affa849a2409bcac83fb786c351c88bac2fb2e4322e54a]
 [sha = SHA-512]
 
+# tcId = 245
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1512,11 +1843,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]
 [key.wx = 0ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d]
 [key.wy = 0cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400ed3e09809fe5985818f90592fd06e71d2c493d9a781714c9157cbafa5ba196b987fd49ae24274c76251c70b9f7970f1f713ad274590a702f463c73a0704831ce5d00cac278297093bd9f9ac2d00bef3d67a01b43b28b9f829407264c738117438300c7704772976916ea102a776262ccf4222cc348c34aac683d8f00179a348323babd]
 [sha = SHA-512]
 
+# tcId = 246
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1525,11 +1858,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]
 [key.wx = 0ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad741]
 [key.wy = 173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004000ac2c5a4c79309a5132d5d7494befb3905d33fda5f80eeaf63775183aae7af108a3d97f3a441532cf6fac47f6c898329d69182e1fa07ce45997ebec3781c9ad7410173a5b6b80a8b73d30ac97e1a4aacb773c1ad692c5ea63f68e373842782bd677864ff656cf8d1e6ec1e58e9a83856ef92677555916749fb95e800ae2e011618ca3a]
 [sha = SHA-512]
 
+# tcId = 247
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1538,11 +1873,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]
 [key.wx = 1eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c]
 [key.wy = 1f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401eb2a353dec6b460fbda49c67f431190fff6f195639c226ef8fefcbf191d72529a12cc5485b282a52704c1fd84529a1aa0ad794f96493e299718d2618a1b83a526c01f704604d5b2b94a42bfc3ab93317d66a54de15258337433fc96a965d8e2d056fd1134b7989d7b3f709adc28227bdabc11fe2f359c6a6e5111ab43379ca25b66f2f]
 [sha = SHA-512]
 
+# tcId = 248
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1551,11 +1888,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]
 [key.wx = 1e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8]
 [key.wy = 18b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e43dfecc7e6caad03d17b407322c878f701c5add6eb2afcd786ff3803622dfbb6baa01246e1ea059f7b78842919b2507daa9e3434efa7e8d3ae6c35499f82d0ac8018b0e4d6378222a07ccdb4214001f97b1a503d1aac3ab925ea64faa9c739ba04ee3480b147cb07f93edf40b6856a22f4159c3f5cd6c9e7165452907c8d02fab201e]
 [sha = SHA-512]
 
+# tcId = 249
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1564,11 +1903,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]
 [key.wx = 141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac]
 [key.wy = 089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040141a4d714628c192b8ace1a42854da06e0e1ddb82a07618e4efb05d7095cd1eb65425078160594715eaf59fcb41c9e573fe10298c75c9e9135c775ca73f63d13aac0089524b475170d4391cc032a0543ea22dab60ea07538f3a37607f0d4ed516634fde545e2f0a6ba8d0d2fe6aded0a771b4b134a5a280e54799fa476ef0ec87d44e1c]
 [sha = SHA-512]
 
+# tcId = 250
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1577,11 +1918,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]
 [key.wx = 147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c3]
 [key.wy = 75432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040147fbcc65d4818e029e0a3af13a1f7c90f0605a00cd0781200eb656a591d669a787620e6fc8cc594aa28a0b0f2939ec73472c494e09cecaf5f331dafd32d5ac31c30075432bdaeecaa0bec7feddc298c565723fb669ee76e38a4c5ff1701f1b38cda9dc9ac43bff18da2047e4dcd80c05a7bb7e7464829d608b68176b04c87f409f46d6]
 [sha = SHA-512]
 
+# tcId = 251
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1590,11 +1933,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]
 [key.wx = 0b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b]
 [key.wy = 0e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400b5b1c3998589b25c96a700bbd450d04da1f273df8053767a3b03ed1a763ed089c0de99bcf54d49c1520d3a09b845296f0445b3bd5b87918d3752cf651e0ff3007b00e896380876b9419c56096914ff6eec01aee247eefef0741895f14ee280f360e11508c37826af82cd915b9002f046cb51008d9ead21124c591bd8265d1492b35ffb]
 [sha = SHA-512]
 
+# tcId = 252
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1603,11 +1948,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]
 [key.wx = 1aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9]
 [key.wy = 14ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401aadb41fadc35cf6d11a7c7d01d049b74b37677f04e1bd3dc08450fabae28adcd2d135f966616d283fb18a5e69eabfe7ec41e1a0edb3682f1d39f2af64a94d602b9014ae81ebf5e3d2d0529479d4ae8eb05f4b42e519608466ad69e7662d6e9b236765f9be535c058f00f0866bbb4b172ef47a03cb97c58dde5750344bb293035f8e97e]
 [sha = SHA-512]
 
+# tcId = 253
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1616,11 +1963,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]
 [key.wx = 1b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f]
 [key.wy = 1eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401b706fc3f4aae5b86da261a66fbce47eb3b3e1e91544a40a9989fccf74154bbecac042dbbbf411a39090058b62c46fccd1d5eaba0c4879a688ea5fd0a7b4f9a0b4f01eda01930c6b22745a97f2d59e182598dfdfbfdb463335293901de7fc9d49cf55ed7fcf5d767d4c22f89f171b4137c8415c3ed438089270c41f88eadef3018140e1]
 [sha = SHA-512]
 
+# tcId = 254
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1629,11 +1978,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]
 [key.wx = 58a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82]
 [key.wy = 7a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040058a1fa96111bf30be76c3b8ba4435666677b6dd05031b5c4a840e1ea81f6025f70e1d395ef63cb59fa71e3674cb678f7250887f5d734e3ec377dbe3ae637d24f82007a4eaf02cc57e658b5b9fa08ee30e0ef5b3429bb5a10438b0e05bacaebc60317010a334d7f896028aef620f5d9c7cabc38306e032b1b91c2376c3fef3e455a10df]
 [sha = SHA-512]
 
+# tcId = 255
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1642,11 +1993,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]
 [key.wx = 303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e]
 [key.wy = 6673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400303ba5ef90b05110002fdf74d2b8d4c7ab189c64004859c69d7c4730fcacb5f4d9b761ae987d1f3b63bb3ecb78aeecf4a04ff60f5f367a96ac2da8da27a3687a3e006673d0d4ccd4c3ce1abc9980fd1885002c3e7b86078214caf7f0962fa51e116363032d7a1b93c92a4d62827549d5a33e4e6b9b6c2ab6ad9c2a15e410c5b1a846b2]
 [sha = SHA-512]
 
+# tcId = 256
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1655,11 +2008,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]
 [key.wx = 0a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b]
 [key.wy = 1116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a94eea843a5c49637041598e30c381f7173bf8cd127f3caf5c16cbc728aa4d99173fb38d6a1b1ec21e40336e8d802249272b0ccbf4f8c3636ef66290a81b58fa5b01116c23464fad61df8d2d5d1250a5a4c427e9c58e2cf1d059cdd88a7c34984fdd22a4cf18411e1b0224d444a5bd39d5fc97fc0b3648600f19d6ab80aa6a7c083a17]
 [sha = SHA-512]
 
+# tcId = 257
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1668,11 +2023,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]
 [key.wx = 14f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72]
 [key.wy = 4525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004014f71d2ca5bd2051336854657f09a1fab14c7f2f7865d71bd3fa354bf27b69dc8738972140553b525658b6fd203cc05ca0822e0904bad21b632e0de74a2ad3f0e72004525f90519f9497425460b31cbb69ab3701a9ea68aaab72c6d65d364d0f0ed4d0524280f113bd69ef1ba9825202b10287a088c4bf30debecb720ac0739ec67434d]
 [sha = SHA-512]
 
+# tcId = 258
 # edge case for u1
 msg = 313233343030
 result = valid
@@ -1681,11 +2038,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]
 [key.wx = 1d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500]
 [key.wy = 3fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d2ecad921dd100a8dc1a7b824b0ac6c9b654ab179833c2881ce237f1b8497ade851302cf50ea5ea169c2a50c0c09cb6ea539a7290a0f3437044b7a2e9ca8d40500003fd5651535dcba1f331981c216a1c7d9842f65c5f38ca43dd71c41e19efcac384617656fd0afdd83c50c5e524e9b672b7aa8a66b289afa688e45ca6edb3477a8b0]
 [sha = SHA-512]
 
+# tcId = 259
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1694,11 +2053,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]
 [key.wx = 165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1]
 [key.wy = 08aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040165d67972a48fddc2f41c03f79ab5e0d42fd0992c013ead135c3394049645e26ad7c7be96510df59ba677dc94f1146e8e8e8fbe56debcb66920639581956b92b4d1008aeb66ee0be18abaa909a973c70b5749d688f8e2cd2e6e1613af93d0033492d26a6e82cfb80ac6925ac6bc79b984f73e3ebbff2f223a38676891c1ecd784a8a789]
 [sha = SHA-512]
 
+# tcId = 260
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1707,11 +2068,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]
 [key.wx = 18cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff514668308]
 [key.wy = 1cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018cd11252f0a434f446d3af18518c6b84cb0b7bf33758b4d83b97c2a56e0037b54d57d2b0b842e9c17d70504e01896389c066db8f2bfec025259a51dff51466830801cca54365156c59e2c73c17664f09fcdcfd5b910f9ab48d0899b6a7064de8b80fc7a992e47ee7f23ec82fd80179a19f4cf89b4c02b7218f435298da5d322a982c1e]
 [sha = SHA-512]
 
+# tcId = 261
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1720,11 +2083,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]
 [key.wx = 1d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c]
 [key.wy = 71342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401d6329a8afdea27cf1028a44d19c3c72927590d64628775f324514c81de301aa9be9c775c53a6349d1cbd5ecfc7bd39b373e613a10c1439441b141430fdadac168c00071342d63dba901b93bdc444a1fe2ec6a15108bdf49eb1dfd218373884520d84bce03c5012f5837051cb8abf6a0be78dfdfeeb3a5872dff75b3f874faa6d2243bf]
 [sha = SHA-512]
 
+# tcId = 262
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1733,11 +2098,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]
 [key.wx = 1c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad698008]
 [key.wy = 481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c963b64cdc3ecb1c35cda5ced9419ac146b060adb04c638cf6b66658013cb25e915a6ad0055668342881ed27f438b50ae4bb86ae3c7c02b727a130c77bad69800800481bfffaead856b4137fd4268ecd74a6c2d4bd6cd13998ce7f0e828b220135d8df23253e681dc90673e0537e7590769a2a441aaaaa3a9901c4fbe44fa9513951ef]
 [sha = SHA-512]
 
+# tcId = 263
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1746,11 +2113,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]
 [key.wx = 5dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae]
 [key.wy = 1e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004005dfbc867d53c57b2945502b8e56d96ca2d4d485aa33452200a2f4ba16042357976afeecf3e63b2fdcd5cdd76076c1a73e496caf9d6de3e8831d955d138e05884ae01e04aa0b5360a0d3badd0120fbb8cc42a38bf1c61755d00858e40e4b10da4ea2575830dc92e312c20af2b8b167d7a58d178661d48cd932fe47a4bc7145e620ae22c]
 [sha = SHA-512]
 
+# tcId = 264
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1759,11 +2128,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]
 [key.wx = 78be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68]
 [key.wy = 09b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040078be6c43e366cf63ddc4235e8b969386e95012fbca5cebf1b0a6fe3c03c1257df7cf47b002eb6c4497f310bff6131b5ccb54fd0e8ee7fcf6b49d487e1b54508f68009b61a547104c8516e0dc35d3d17659ca098d023b0593908fe979c29e62373738a3c30094ba47105a49edbc6e1d37cce317b49d2701470eeb53d9b24dce9d809166]
 [sha = SHA-512]
 
+# tcId = 265
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1772,11 +2143,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]
 [key.wx = 093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960]
 [key.wy = 2b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040093f68961005f3040dc1a8ff1416c917bdcc77f1dfa85506c3bb62dac47f7be9529b4cbe57dd2c19e860bd2a0db71d47ef1eca8a20bfc3e0bc5e05c8303001c1960002b9a3d45f2f5120fee06445f0d34e6138e3ac5b16d2a22f0460cea258c368ca9e478eb7b8253e7c6f2f7250fdc7dcd7243761f8d56f2350ac51e47ee063f41da31]
 [sha = SHA-512]
 
+# tcId = 266
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1785,11 +2158,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]
 [key.wx = 2d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e36]
 [key.wy = 0bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004002d2d7d40bf17c4e8b18757e451ddded95e6b1007cd144809d21af31353b03038372c4af204d4414b71060b48b3a8439c632809bd33c4736263044405a1ad766e3600bb0c5a8848f93fa3e85376b012bf064e303746529a673b852bb5a969c24c0156a8dd26242d0aad4bae43e23631b01fb9d050f9744b59f3b52b1c572217a1d70588]
 [sha = SHA-512]
 
+# tcId = 267
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1798,11 +2173,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]
 [key.wx = 18ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96]
 [key.wy = 5aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004018ac11dfe62d1f2a8202732c79b423d29f43bec4db6080a220796a10f2685f92c71c7f72d9da0a8acb22680cca018eba2e8ba3bfde1db9a4ef3b97da16474364e96005aad3b286707bd3ad07a060cabca49c53de4f56c05a0a8de40fd969d7d4f995f7c6701fe5c5321f85318b98be66251fa490088fd727da2454e00b3b94dc6e1241b]
 [sha = SHA-512]
 
+# tcId = 268
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1811,11 +2188,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]
 [key.wx = 51b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b8]
 [key.wy = 0a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040051b2c3e0494564ed48ed3479b596ea4078240550a3c28da33d71d259e8e623e37ab43f396c49363f31c8de8a4644d37e94ed80e0dd4f92c3df2106e2795c2798b800a530d5e961f0696bbeb962aca8e71f65956ae04cdc22a4ac65146943e99a4a2fdb477df75aa069c8dd37a5daaea3848079a6a7bc03e0faa3d65d42f8053db2078b]
 [sha = SHA-512]
 
+# tcId = 269
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1824,11 +2203,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]
 [key.wx = 1ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc]
 [key.wy = 0d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401ba31a6f9c2d227da57de00759e2e844d607bc9bd92bcdf282006884dc347c9284f0dc0623af1e9db22117364a7a80a5b067efa19b204dac8faf2230d80b704addc00d88b761cd3a4b0947bfc17e204b4d751f76880a82c9b7c6fd93ded55883c995002d8b8bfff1e021189c08d829d16b088f4fb39ad9456eafbc77c20353bc0f3c038]
 [sha = SHA-512]
 
+# tcId = 270
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1837,11 +2218,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]
 [key.wx = 137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f446073889334]
 [key.wy = 163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040137bbb48ef281133849ed723f5662a19fff9cc7389a0170d311bd34f4dbdc656246db695ea0712d8aceff9d1d0ef7921ec2e3f8b533e4ca122f9f7f4460738893340163e4500d998095f60fa3fed4149d2d9b5b018e03eb5344efe8ffcc1c7d276e7401a4df639c4ab108820062495471be7b29398aadbae440a9bdcd55cf0bb5d96f79]
 [sha = SHA-512]
 
+# tcId = 271
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1850,11 +2233,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]
 [key.wx = 726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b]
 [key.wy = 0c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400726dda8b7b6ed25f97f1fc6c3ccf554d60fc71e4fab2a578286d32612e7f3e669faed0b97619aef2d5aff9c8ffd987feddc0d6c38b7eec028191400874803f498b00c0b8870c612e06c13c57ed6f7ef3d53b5e5fa2db62707b034b5ec13fb47018e31da7ecc991d575943468d701e118eca33122cf6d394b8a6ec0f45bc09701603a26]
 [sha = SHA-512]
 
+# tcId = 272
 # edge case for u2
 msg = 313233343030
 result = valid
@@ -1863,11 +2248,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]
 [key.wx = 16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]
 [key.wy = 083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc27970083f130792d6c45c8f2a67471e51246e2b8781465b8291cbda66d22719cd536bf801e0076030919d5701732ce7678bf472846ed0777937ed77caad74d05664614a2]
 [sha = SHA-512]
 
+# tcId = 273
 # point duplication during verification
 msg = 313233343030
 result = valid
@@ -1879,11 +2266,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]
 [key.wx = 16fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797]
 [key.wy = 17c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004016fce9f375bbd2968adaaf3575595129ef3e721c3b7c83d5a4a79f4b5dfbbdb1f66da7243e5120c5dbd7be1ca073e04b4cc58ca8ce2f34ff6a3d02a929bf2fc2797017c0ecf86d293ba370d598b8e1aedb91d4787eb9a47d6e3425992dd8e632ac9407fe1ff89fcf6e62a8fe8cd31898740b8d7b912f8886c8128835528b2fa99b9eb5d]
 [sha = SHA-512]
 
+# tcId = 274
 # duplication bug
 msg = 313233343030
 result = invalid
@@ -1895,11 +2284,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]
 [key.wx = 110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f]
 [key.wy = 1ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040110fb89aff135edb801a1cb5bc49525b81dc74da45090d228122871814f489fdcb02ebee46b703e6b4e6af56c5024422b31fd4252c44d0bfd29d945de782d98543f01ec425b4c4928e12b619227f1da6d0a9675070d9c5b49ca523050acb718e62643b0e5801543b76dc11f8d694ba09436d8391b477ad2c143ec50c2384c4f688512dc]
 [sha = SHA-512]
 
+# tcId = 275
 # point with x-coordinate 0
 msg = 313233343030
 result = invalid
@@ -1908,11 +2299,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]
 [key.wx = 1c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13]
 [key.wy = 15f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401c693a3fccbc9f625284239c2725f2a5c90b29b7ce3d07730f7de6031c9e74446d217888ae023aae23df6a4aa153f58c79597d57f42ce5c1354e5dc43a5eb311e13015f99658443b2e39c3edcbcda70707fc5a4d39545eabe354816d09284a6265e47ebf0a47355828e818a767f8452a6d18451e0e3817a896ff404cb1611bfc4c4b4a3]
 [sha = SHA-512]
 
+# tcId = 276
 # point with x-coordinate 0
 msg = 313233343030
 result = invalid
@@ -1921,11 +2314,13 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]
 [key.wx = 17d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b0]
 [key.wy = 162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017d7bf723678df574ce4366741e1d3787f834af9997b41c8260a074cb1f325d2bae9f8565dc6b51b6cb02dceeb5a1b774ee8dd7057c99e2d94c3c71299a9ce0f1b00162c65632fff88bdbb17ce2525ccac8df37c501ab0e6626e273fb6cf99000424344c0ac539c9fd6c4f3d28876b257c010d347a45bb010cc058443843a758328d491]
 [sha = SHA-512]
 
+# tcId = 277
 # comparison with point at infinity 
 msg = 313233343030
 result = invalid
@@ -1934,12 +2329,14 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]
 [key.wx = 1e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f]
 [key.wy = 7ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401e06db423a902e239b97340ab052534ead37e79412c675bf0eb823999e6b731040bff2b0e4fa64edf3962a328921ea5ae4e8f4079eab439e12f92335dfc4863c07f007ee9f0ecb409cb133c0cd08b85e840b076f3d615e1ef1393b5222338b227d768003da5f3ba1f72f6654ca54ac11c2ba91a6cb5883d6d1a82304ad2b79de09215f3]
 [sha = SHA-512]
 
-# extreme value for k
+# tcId = 278
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad
@@ -1947,12 +2344,89 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]
+[key.wx = 15053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a7448]
+[key.wy = 0b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004015053744d53811dbed8880f38d3a34578a7f1c172ec65bd8ad8183ba0ae10093416107f3c942742bde60719949b2c4f026f43582125c99ed48cbc7c5a051a5a744800b36d4c91a2b0367c566b2c12981ce0fdbc3beb983717403f69bf4264fc6182478af0b236ff120bcfca116924c552abef6663b6023be1986b70206d9bb89b5ed298]
+[sha = SHA-512]
+
+# tcId = 279
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 0401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]
+[key.wx = 1fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f]
+[key.wy = 19e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fb2e26596cc80473917dd46b4a1d14bd9a1ca9769dd12bfac1bff17cdc282e74c73a801ec1be83edfe4bfe9813ec943ac151678f0a9a0bf27d9ef308177eb0400f019e03a5da3da67e6b8d068dbdacf091b9d5efadaf63f4a7e9c6b6ed0a1c9a5d3cbc3e0244d481066018fba7674a2b59139a5656780563bb4618014f176752e177e0]
+[sha = SHA-512]
+
+# tcId = 280
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 04008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]
+[key.wx = 08422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c86]
+[key.wy = 25a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008422cea9dcf8ae01f7a157888f018a40a66461d3566ec4a4dfc89ecb3c2404be734d329137d630387b012d033221857d5bfb290fa8027640b4063072a3e5b14c860025a219e724b81814901a677a8bee9b716b33b16a5b65f2272956a46b5e8683dc896984309ac79449657a1895c9f62bde99c7f5e24ed2defbc9f8dde35ebd0bddc1]
+[sha = SHA-512]
+
+# tcId = 281
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 0401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]
+[key.wx = 1bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a15]
+[key.wy = 0f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401bc19cf4b94bcd34114ce83c5f1a7e048e2fc4fd457d57e39b3da29f4766acbaef1c10cb13c796a6fffb56d6a392e47b6c74522df7fa02754c33d95b1a9a3c92a1500f5744c2bed308cb4f41b512e632cd01d270ef1a0d3f47ea780e73c6a6c9ea6a996faef4d282896c64fa50f5b04e204c56b504bc122ffba7aea4574d7d7ab6303c0]
+[sha = SHA-512]
+
+# tcId = 282
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 04017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]
+[key.wx = 17b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da3]
+[key.wy = 0c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004017b0ebce08b09f21e30d15e0edd9fcdf24ab4831ec8a65a3d1e38f72b15f0115da6ed1885e42fcfae31c0914b71e9df2cd106adc039a82810a92924dd154dc05da300c614d1afc4f63de3803bb5490a34e1e2fab9eb78422b21d377fc0d7f991b938c22f4d7dd665f8dd21fadde43172a55f80d05cc4557b6663f9e7a3fe490d25c5531]
+[sha = SHA-512]
+
+# tcId = 283
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d02410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]
 [key.wx = 4c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c]
 [key.wy = 50a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040004c3ec8d7d23ce74be8b9c7c27be869c23bafc6874ebc44f47e107422ab1e75ed09bebd7cb1ec4626e442bcf512a25c5ddde26eb08ba37506461830cf9241cbe9c0050a1bc08f4ba8da1d641ac3891823ab519facd4159768b1c0738f0e23450f374e4d6de55cceed95722be635c5dc0023a1498862f87bfe61d77e20e592cc20bb2ca]
 [sha = SHA-512]
 
-# extreme value for k
+# tcId = 284
+# extreme value for k and edgecase s
 msg = 313233343030
 result = valid
 sig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad
@@ -1960,16 +2434,94 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]
+[key.wx = 0a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a]
+[key.wy = 1ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400a7c8204f2864dcef089165c3914dcc2c0896075870ca0bc1ce37856f80f23815b0c8f2ec05145c421049e80ec1e7694f9f04174bbef21bc0972e559cf222de7e1a01ff1108c28f01b703820e1c0187912962ab23109618dfcb0c062ccee339002222a3f7dd8dd21675b0e20908fe5855ea876d6a9e02c5f5b793d38fdf79fb83603ea9]
+[sha = SHA-512]
+
+# tcId = 285
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 0401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]
+[key.wx = 1802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c6]
+[key.wy = 722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401802fc79fc8e55bce50a581632b51d6eec04a3c74ac2bf4fae16ce6c7efef1701d69f9c00a91ad521d75ac7539d54bf464caeec871456103dc974354460898a19c600722fc1f528506618b1da9f8b2edbdbdaf7eec02e8fb9203d2b277735a1d867911b131f453f52ccc4ced05c3b1bc29e4d20f1e6d34979faa688ce8003f79d8e0c95]
+[sha = SHA-512]
+
+# tcId = 286
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 0401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]
+[key.wx = 1beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed765836]
+[key.wy = 130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]
+[keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401beb0b4c2e494226404fca4ad505ebfed13d184b1572683215b16173c29a4475aede47f266e0c9c4143137d3e0001f9f0148b689286a7c64e229458b824ed7658360130205169783ed9ada9f3a193027ae4e21829ad4a71d05d969605c04f3231dabab03beb2fab07dd8323d7132755734f4e6d1fb43fc8a63bfd244160c23efb6c1429]
+[sha = SHA-512]
+
+# tcId = 287
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]
+[key.wx = 121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1]
+[key.wy = 0cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]
+[keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040121e59aaf26b8301f4fcc3e0a563c4104ae00b47c55b8945ce749116fdf6761d768bd50ed431e2b51e646fe4fe7dc2985b6aefa7f9441ea11840d2ace2f34293cb1000cf1e1a46d4d637216e28abd124cc641ae7a673445d573856bc2fec58d86e5ed63bc2a7f2049234e335a7bee95bb2724fb1480c97c38cd0d296cbcc113de3f135f]
+[sha = SHA-512]
+
+# tcId = 288
+# extreme value for k and s^-1
+msg = 313233343030
+result = valid
+sig = 308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 04008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]
+[key.wx = 08e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4]
+[key.wy = 5a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]
+[keyDer = 30819b301006072a8648ce3d020106052b810400230381860004008e859e66d1237fdc928a4b954954fef565d203a0731d065d9df41a4fd3812b1cc2487053ea19ce839d200845952f80d80698771d83ccc1fc7f236dbee4c76b2bb4005a04b24c88cd40233fb43c59ea5cf2cb9510d16b1168bc126db64aaf9ab07a7453208fde079095966272bf03bc3312c9b9bab8c795ae375e8a0e8dd81c924e7c27]
+[sha = SHA-512]
+
+# tcId = 289
+# extreme value for k
+msg = 313233343030
+result = valid
+sig = 308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6602410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447
+
+[key.curve = secp521r1]
+[key.keySize = 521]
+[key.type = ECPublicKey]
+[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]
 [key.wx = 0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]
 [key.wy = 11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650]
 [sha = SHA-512]
 
+# tcId = 290
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8
 
+# tcId = 291
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1978,16 +2530,19 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]
 [key.wx = 0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66]
 [key.wy = 0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af]
 [sha = SHA-512]
 
+# tcId = 292
 # testing point duplication
 msg = 313233343030
 result = invalid
 sig = 308185024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8
 
+# tcId = 293
 # testing point duplication
 msg = 313233343030
 result = invalid
@@ -1996,206 +2551,247 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 04012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]
 [key.wx = 12a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8]
 [key.wy = 12333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]
 [keyDer = 30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e]
 [sha = SHA-512]
 
+# tcId = 294
 # pseudorandom signature
 msg = 
 result = valid
 sig = 308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f
 
+# tcId = 295
 # pseudorandom signature
 msg = 
 result = valid
 sig = 308188024200f3d90294fbca4a4666ecbd5053c16731b742b50a0ae13722f41afe777c106283197376b127ded991e2ad52d84247165da34e91bc231655f959d988c3c7b9a67c080242014ce0570d16ba8dcb31e392cafacb4c0f0798263bf04bd4776d6135fa22cc0d3820b9c8a9a14f8d2913aed876254496209c3830f2bf6131d4240dc326ff5f7b7d71
 
+# tcId = 296
 # pseudorandom signature
 msg = 
 result = valid
 sig = 30818702415cfa3b6e6952dd5886275ab7023e7bd3d06a07d84a5137960b3f636ddefabaf6b9db9d7e9785c51bb66206fc1f6859e86a5609599db33b6d2f240cc8aa1bfe490f0242014a57f403fd1f79f2898d62a61dc66135cc1a00f75954d3ee296ff897f8e98d340b1632468060f829e247a498c753096db19cd4b19bfd777d947ca9f7a50738410b
 
+# tcId = 297
 # pseudorandom signature
 msg = 
 result = valid
 sig = 308188024200f5467782293b3daa6b61d24aef3d841e47565cce6f0a7700b31cc70998544ce654add1502efddcb4c67ae0d9e8732e5315d59c37ff7171e68a8f761cd3ea3e61fe024200c79c315958f8013d20a86d10725a8913141d73d1282b163a02f36c9d280ee4d865901d7232871caccfc320c81d43f1e8cdaa7e646bbf9aa04f0eeb639d0ee0bdc6
 
+# tcId = 298
 # pseudorandom signature
 msg = 
 result = valid
 sig = 3081880242015feb9fa8803a5d0296c263127d8ee9ed72a94d1ec38a84f8ce2283876388a6fdaee7e232f14da5fa447d8ff72fae4b3872db787befed48b6413c2a27de4c89dae902420126b94cf89238a0837188ceb04a47c2d9800397d1122ea831de47fe11ef146903a35030d2ce08310f2842ac5c9772597083fa6e8c0fb810e58260d6e20bdd566ef2
 
+# tcId = 299
 # pseudorandom signature
 msg = 
 result = valid
 sig = 30818702417358687f319dab3c22b906cd58dd3556cf982c7c25ef30fefa4abae3f2b9079dc82d5807f32ec8976ac8dc69c1b1b2cbf7103675481f35072726c1d4afd158dcb8024200f6c899c6da4fd6f0b267a96ca927b79e34d250e8af76cc8b0bd71b850bbd23631af36c7269aeb4d837ee7017772cce2ef7567c558f657802df56aec17e576b1155
 
+# tcId = 300
 # pseudorandom signature
 msg = 
 result = valid
 sig = 308188024200bcd2cfaf0ddf3c2414a2ca1af9114afe2d0b89af80ba797c93a05fc9efc69daa33a0812c464eb29be9d7bc5ec5aea698b018102a0e460f580059e5cd0d6e493f2b0242012c5a138af2d3e0e016f6c7ea6dda84ee4132e788949f73a31539c5e117247ccce9f676eb91462787eb71469c22e831811896513e6d35e9645e84f967839ca490e6
 
+# tcId = 301
 # pseudorandom signature
 msg = 
 result = valid
 sig = 30818702414dcb6fd277c0fe1919e1c6f85d78b3ff198035005fe1d497f7c8f4803d584fb4c88db946bf7af32f7b54e8db80a694b81be78d4329b5d8e3da5fd22546ad5a1b9d024200f14c765e92da98273ddd53b50e907b7d313914a6bd23c8484d95a3f6f33971d06c4c340fe2cd567c150a16bfe0873c77993e5ad61855ac4705740e7befb24d2b27
 
+# tcId = 302
 # pseudorandom signature
 msg = 
 result = valid
 sig = 308188024201569a9498513ae97350a86110c1d1960e89e83c26dfec840f6104318b3a84109a60024062a85daf62412c878710d3aefe47f594b68f525ef090497712e0f5caa34e024200e09fbf93ac11ab2b8e3dd0f731218e4ea08b077e4ebc717562f2746d25573dad3532702fbccfbd1bac23fa552d853594590ded4d0977a2efb140e9519d83a7b4a7
 
+# tcId = 303
 # pseudorandom signature
 msg = 
 result = valid
 sig = 308187024200e0380e08d8a302c9829d02f65436c380c10f0dabfcc6336d4831b1dce7c96c3faff388120e8f1b4319daebe9f8642ce765c39dfb5bae243dec70149b754051f5c302411c4944a7e5ec140e91f01c313fa44de41e196a9576a4c201e1fa1dd58a8a7c021d4f20d25d0f7e172e4231f18ac12ff940f2955cd852b7e6b3b3b45720863cbb62
 
+# tcId = 304
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 30818602415adc833cbc1d6141ced457bab2b01b0814054d7a28fa8bb2925d1e7525b7cf7d5c938a17abfb33426dcc05ce8d44db02f53a75ea04017dca51e1fbb14ce3311b1402415f69b2a6de129147a8437b79c72315d35173d88c2d6119085c90dae8ec05c55e067e7dfa4f681035e3dccab099291c0ecf4428332a9cb0736d16e79111ac76d766
 
+# tcId = 305
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 3081880242010217c32045f589b5479feaaf471c68e5a27b6567c19724bec8c580fb50c52f95cd4e8296ac6334844e17dfe21167c7028204d53bd24ae05e79587149d7921ed087024200fb908a87377d788fd65c91a0a935e61a3d8d735b29e2ce2083ffbbf0f0b5dd60bc53877c3155c1a089160ceb6197e39ccd0cd4edaa6449830c4e29f9aae835a9c0
 
+# tcId = 306
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 308188024201ce64622f59112dd0e4397e6902a1ba5c258729b577980b54a745e76ce29d83ba48ede7fb63f374535017c3c73a8940022fd7b6a2e701171890ff54db363879caff024201b84c02f06de11b8d6eee94d37c7d7a352e938452ae76639dfd77c00f0d3f14432edcc0bfae410224838b4ac07f0adec294d86ac06bc04066b269ac1b8c0bf5b67a
 
+# tcId = 307
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 308188024201cfc67612e129ae1f5e60da08b9f4f7ab970e0d1c66be7290cc30d501edc04d7c47781a50e8da32c17f391005231aa2a5401f7456ec13af5a90b972eb1fa133d3ae024200d837a34c9f002ac4d833192d84748471d9bfacf9cf760005f2e4860851309ed9bc7e01b4cb48143c40bad42e9e5fd755b4511b0461bcca84354512dc54b432ff84
 
+# tcId = 308
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 308188024200fc0f11de211a3c868949e897a5c9efa3f2de6a716075ba31eaf4ba6776db234a652a88488bac3d492ba1205e15ff694e71a0073211477bac7f07101c8b6fb70f8502420100891497bd19b5f1ae508ab5114d2a3fd3b3fde2216b38dfd540775d2fb3d1dcb13b2a0880144f4f562eef76c3af133002c4326561b3190e76fc39267d2b4cd164
 
+# tcId = 309
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 308188024200d3842281c596639bf18a3b32457cba814a4d86ed414d6884169ec8b1f3b7442f328df1d7deeb3db491ecfa4a84b5f334fb077923c4df768489698c6cde8691a13a024201f720d385ec6283f6c7378ab19874dace5a9c3f729e4e87e9e369d2e6ca27824eb6e86bb4bc7e3c5578627763c80b73bea3e0d0e2751afa29fd448a4a326c853b36
 
+# tcId = 310
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 308187024165d858f83de40ae1cd9d303e96ac2917ee5c389d5053be0ff05deac9ec902a70c4685305561f3aafcae225b37ef4ba062da3fa70ee2c23549b43d1f824efbcda980242010e77eb4af330ecaf545c3890e369468071f4ea9a104e1e47ed0d1455fbd492688d8e03bfad80a883136cd2fb3910f44a33cac86f515509b0c59a56af27677c6012
 
+# tcId = 311
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 308186024175dc6b7aa29fb66b5b77c5cd4b99aaa1aa7dfeba720a9f85f191cb5682851ee12c226b4b98175d058ada3a9887e7a9d3d82b1553aac4553a3beff5d8f465125b11024176561b3c31d7a8a2770f8258058948144c0dec91c23fdff47f3ebeb36e1869fc094738b6f80e90399db1dcfaf25771606c743edf559f77a4ffebbfd697da367bc6
 
+# tcId = 312
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 30818702412d9c3f9a79e234a3f3b9e04ee08bce70a65668880ed90f5a2b4e839475daff5226f420dae3417a553215904d5632936c591e945289a5284f61294cc764ac0a954002420177f9c6ea95857ca73c51268c6ad7d7bfe4cfe0e270b3d221ed950e69fcc39e29882ac894122f6dda70d908fa0bf2ac7f73b9755c86cf92e0218fd5c78fc947addb
 
+# tcId = 313
 # pseudorandom signature
 msg = 4d7367
 result = valid
 sig = 308186024126db1b8d3e0d7523b055ea6e31f8b050095f4187a3ef3db62b7157ad9bc0e8934cb1a65508632930d64b89031d1c8786b879ea46cc85d4a029096089148f2454ed024132c8a0f3f44eacfd0451aab9e4c6163cadc97e323722d1e2c9cc2403aae990dc3b227600c37808ffe7e15c8e015a18b2a23aed38b1b3aed179819ac9160911d650
 
+# tcId = 314
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab
 
+# tcId = 315
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 308187024178192ba6c31398e095b1a5ba49e34f0a6df60263e8324a9d728e292c8dbe477ad9326f3e915f4006795dbeddc92b01fae052143c961b24e624eb70e0b0e6874653024201b470d58c6ec28c2fb155b2047073bc8bec3c2d9e7f50038964dd4b5b721807a679f7252fe72ca977e2bc4d8831fef14a2bf51c7919dfa7a33acdf9a9fc1ca2dbe6
 
+# tcId = 316
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 308187024160bedcd13c22d2353e613cca0f81215c34e51bf0a83faff1da5c8b4c182785358757b35a681e4eaf021af4f43d54ec49d8bfcd8dc5015b42a7a91f263fcb8db661024201050354daf39d5261bd27f36b8c1c38f48707ece9ea9311d13489dcfc5357eda2e57000c10cf0cda7b12f313842fb884a14f902ee9bca5b4da4fbbae0f969691005
 
+# tcId = 317
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3081880242008b51c02f4a5c80c9988646900a6516e7893cd8274013e276e8b0773af1e275030bab64551e2725bf89e06dcde6ae79a126dd01ca850b4896c71eac8b1aee9db0d1024201ce5824d2f5cfd09c3ee239366207391db3f049f67c0885e919b3ce13c52215437b77fc5c5d36465319862cb5fa75e0f54dd63d3754dcca422c99432286be327d43
 
+# tcId = 318
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 308186024136a263c96cf448db82ec4ed8bda627b6e4250011c00da3cda6a8d68f9982f8c4cdfa87bbcad35da4918bb1dd6e9b666bb0ef93493e90266a97ae3ef17e6bf05ea90241691dad07a5de565cf4fbb6457aabc1527f317b3577fe712f85a8722ba13639b552f530367f3d0f6c099dd490284b4b22e0f0867d6fe4b0b50cd137b9875c666486
 
+# tcId = 319
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3081880242016737805388c1f33aa5ba70a93d5d3bb8e2cb1c6afffa9c71423663570a64e5f19a658ddb5e5351d2c724574843c6096c7bd0f5ff016304e2bb7c3c8643c0969a6b024201cc16da8f7858e4716eb7420b1f5935178cd47ad61139e0f6b4f1f98959f70ab25454f84079798931391fccdcf4bad14234db9fac4a2b811ce937691e880476ac62
 
+# tcId = 320
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 3081880242011cff9efd4637941a840054b27db8747ea2b1a44ea29b9f28e5878acaaa06a280082c9afc33e8eff8f029f1d30be2260cc2b287d5acfecbe49ac362a6b9e883e01a0242015af84a78474acb77a1afdafcc3667bcee6638ad97b5ba39ae781b0d32f7f8d3c03e2d524cb2e4afaddf212c28122f268567aae3859cf019ea0112f0d667b376f5b
 
+# tcId = 321
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 308187024164915760336c2e2c29fa207e7fc883dc36ae3b18cded722794e916671f009dd4a205c584172f81aab519bbac4cc12e6c2986b5cd4ca84a03c535bbd0c335bd1fb90242011699a6ca58af781f2bb04533c5a1b1e5cce42c58c7b05243f036cf53ac2a56b5b7bf3255dbd0f92a8dba528a5d6a1c6e021815fb4bda11ef27c0e98583b021ab09
 
+# tcId = 322
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 308188024200805994ccc821372a695824596995e53973d9423dc685f9caa5b0db9ad53445c9312ea55c5337e15e5f98de83d67ae31e31891674e30c50c64f707ba6f28124126902420182e6f40987e37fc182e095ec7a783879910bae48b4c34fb9d5e82af9548d87ce1525ff8996cc66e7094f804bbc0ee76bbb74c94db324cb0b08d73fa31f33e29781
 
+# tcId = 323
 # pseudorandom signature
 msg = 313233343030
 result = valid
 sig = 308188024200b28b75b96eac5a7147ed3eb6db677906776bc58942860f5228c492aef5f5067fcad4df9a84446c8783cdb19d7004b6aa262500c066888a757bbb53675e34ce45ea02420135d86f04d3f8a9b14c214324b6d4eb8f3121d43a8a3641de6f0625a07945ce1b3dd4f42bad6bfb34fda0cbb7ddfdfd229040fa609afec6f7fa3a24f33d239250cb
 
+# tcId = 324
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181
 
+# tcId = 325
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 308188024201813f1dcac3d1da48a1a3b2542df932a465c2af1e4f6edbceee83b24c36e08981061e190863eb4ea8876899d0e5e4d4ac14e7fa2ea509ff946418e1108b8d2e64ed02420180bfc16e1747b75d51df791f06220d5473fc3c76ed0453003b13f16159c3808eec089fe40b945f8773eb72ea05bcf0ef33b6d4d5dc47ae4fae6d93b080053fc1af
 
+# tcId = 326
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 30818802420108c9a063ab73bfa5e117d58dc5cc331440fc99307c8b9b9e881a7ef8edf9061e996341863b751ef4b9ad91cd8699be5dd4dc9a2593908f9b04428b0fd1da561493024200b925a24de37fccd50bbc662029e3d143bc9dc5700d7cb5f98fb7859eb7439b67edd016e66be4f8d3c0f7ec7b57bc0a42f48e4a388786b22642c036d31ab9f2bab5
 
+# tcId = 327
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 3081870242011b8a3f283aeec301682cabc0b19e816afb3b707e0a833e49bfe0da29aa2bce07b7e85241bc1c04bdeff0baac7585facfd6b583cb6a423c40363beaac451255d4cf02412e0e4d93c7efec6e93e5389003c99b2fb1565d6791c81747eb0bb3a754f89af7d26148a0a77f2b79e650fa77f033f8b37cf39984bd7030d11fc75d805120e77f33
 
+# tcId = 328
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 308187024160c1d217a2485fce433723e1120271925a10dbb5b4ceb196f734c64587f618d47b4eb85996d0eacf642cfbd1536b346648b61f8188f255d1689a13718349627d76024200a91a0dea067d0f97b44cecdf21a2b1a67364a376fcc1afeded777a3170eb99a100f26f8bdd8ab65cb72a2c95eb5c992f5ee83630e1f2d8ae33fa60a10c9d1c32b2
 
+# tcId = 329
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 30818802420090ced19cb14277f90d5bca4825bbeb384f459ad2c375841a5ce4eef5b00e1eb273567e671a48357a7a6d60e389391c5dc54f4e1f8a1b0d4a91aa44d252eb5bb0ef024200f7f5077c3b0485bf5aa1849cb5310886c0599eeda6b33f6d926c2987b373fc9e3d1e16837e8b55a46eb6479e45fafc9c8f94468db385476f472ef0436d1b1527e4
 
+# tcId = 330
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 308187024131b4a11c2da6971ab4b65995b4eef6ab1cc4f1a8d4438a570aac441c303937e503b349ec5e109adb457cee916bdf051092a6ba6c89e75bc12fbabe527cacfa873702420199c79c8c5abe9430ae4774ac9c20b38a435f5d2bbc0143eebb6b47a15bbfcd3068faeb3f3c694a40406e39eed2e27acce93ccfacc74063fcd1179dab96844bb694
 
+# tcId = 331
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 308188024200d8f352204f4c15f5fdd64dbd7870a65ccc4c9a78616fbd976ca16ff2a35aea8aa2f6db0bade2c4daefefc4e7a347efebb91fdfeb01ef808ec2b044d5e9ecc7084802420120a84665d678e8c01dabc04309bc6f314e6c847f34a6134824087df68ec307009f033cb0a336b50549bf6df4fc037a3a6d633f97e382454506b984d8d725df0660
 
+# tcId = 332
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
 sig = 308187024200ccd1c00546ee2082dfe9438c9348f84f987a56a941296b537509fcfb4bd1e644872eb8fdfce36ef262a2c42d69eb8931ea21be8027ec2fc56a155127e607de096b024134947d4231cff66d0cbf5a568251e06d02eec4120876e48c72a3d840983180938f109df434d26060ff693ede581ff73be04ca961718730a24ed7d24c3863209a42
 
+# tcId = 333
 # pseudorandom signature
 msg = 0000000000000000000000000000000000000000
 result = valid
@@ -2204,21 +2800,25 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]
 [key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]
 [key.wy = 09b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625]
 [sha = SHA-512]
 
+# tcId = 334
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6
 
+# tcId = 335
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d
 
+# tcId = 336
 # y-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2227,21 +2827,25 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]
 [key.wx = 304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a]
 [key.wy = 1ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da]
 [sha = SHA-512]
 
+# tcId = 337
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f
 
+# tcId = 338
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7
 
+# tcId = 339
 # y-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2250,21 +2854,25 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]
 [key.wx = 2fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b]
 [key.wy = 1993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]
 [keyDer = 30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5]
 [sha = SHA-512]
 
+# tcId = 340
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda
 
+# tcId = 341
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
 sig = 3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06
 
+# tcId = 342
 # x-coordinate of the public key is small
 msg = 4d657373616765
 result = valid
@@ -2273,21 +2881,25 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]
 [key.wx = 1fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331]
 [key.wy = 1b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6]
 [sha = SHA-512]
 
+# tcId = 343
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188
 
+# tcId = 344
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
 sig = 308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3
 
+# tcId = 345
 # x-coordinate of the public key is large
 msg = 4d657373616765
 result = valid
@@ -2296,21 +2908,25 @@
 [key.curve = secp521r1]
 [key.keySize = 521]
 [key.type = ECPublicKey]
+[key.uncompressed = 0400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]
 [key.wx = 0c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349]
 [key.wy = 08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]
 [keyDer = 30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff]
 [sha = SHA-512]
 
+# tcId = 346
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b
 
+# tcId = 347
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
 sig = 30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22
 
+# tcId = 348
 # y-coordinate of the public key has many trailing 1's
 msg = 4d657373616765
 result = valid
diff --git a/src/third_party/wycheproof/ecdsa_test.json b/src/third_party/wycheproof_testvectors/ecdsa_test.json
similarity index 72%
rename from src/third_party/wycheproof/ecdsa_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_test.json
index 32aa60a..c083c00 100644
--- a/src/third_party/wycheproof/ecdsa_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_test.json
@@ -1,7 +1,6 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 1240,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "BER" : "This is a signature with correct values for (r, s) but using some alternative BER encoding instead of DER encoding. Implementations should not accept such signatures to limit signature malleability.",
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
@@ -10,20 +9,22 @@
     "PointDuplication" : "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.",
     "WeakHash" : "The security strength of the hash function used in this signature is weaker than then strength of the EC parameters. Such choices are disallowed in FIPS PUB 186-4 Section 6.1.1. However, it is unclear whether a library should reject such parameter choices."
   },
+  "numberOfTests" : 1457,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
         "wx" : "2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838",
         "wy" : "0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -37,7 +38,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304602210086753af076a9fb3502947b82ed0803a4c956826fea52f0ca3a115368bcb3e57502210088f2916c764aec4a8ffcd8bb0d07bd2d9abf5809b420ba3a790609f9395f6c6a",
+          "sig" : "304502202bf7e3732383dc703cd1437ea504d2ce9f55cd3eac15a3901720515e72e8445f022100e170bfaf105ec3886c64e7557cee6f243d39c9d0463117b7101adc2fa28f7f4a",
           "result" : "valid",
           "flags" : []
         },
@@ -45,7 +46,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3046022100c7bff935fb0dc1ddf8dc381b8b783b974e5c16bba8d8ff2c328f164842674f16022100a09baf6de24e7b390fa15c14204f4621c8386f7ff91ae86304305aad3e1bd41f",
+          "sig" : "3045022100b9262833c847c045f2c9081b3b2b5c08b6bac03585f0d36bf2a658ff12c8c87b0220070d803cb902fe080b62b4bae4605d7b3d89b61dfe54ef4975d155ad6cbdfc4b",
           "result" : "valid",
           "flags" : []
         },
@@ -53,7 +54,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "30440220672deb79741a307a34f614d3d8bdcfe7d70704ba17e5f04191521f7f10e7cc44022029cf9a1498c58115db5c1d03e30a1371911ee4cffc83171887261f24c75ca80a",
+          "sig" : "304502201aee5d324b88b11996ab4f0fd3844dc7bce0e911173825862b69c734a4134805022100e804ac3fbde74ee15a56e07c01bb6306d113786563735bd3355d9b28bcc5c718",
           "result" : "valid",
           "flags" : []
         },
@@ -61,7 +62,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3046022100b9636bbfc0a48dc65055e6ed17ee0d21d671408ab5ab2172222d10eda9b02488022100a7700d7a903baa09e5360d2104674e207c367cf4464e5939505e19c112fcbb6b",
+          "sig" : "3045022031939ec923bfceff459af1cb4ed7f7dd38e1f4d60431315cc19477a5928819c2022100e2bdeff73ac37615f274f5ada597afc43ba46e89fe7b58488336a97a049eb9da",
           "result" : "valid",
           "flags" : []
         },
@@ -69,7 +70,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3046022100cff051385f85a769db6e75838d87ec13c59304fd71d9904aecb8b28c1f9338ea022100e994c7a64261dd20bf2ec608285880a3581e4c75abfa923a5b474bce60b01251",
+          "sig" : "3046022100ce71f86d36f5bdffa4b9e0a3b830feb9cebcb078ad6a68089505ff39fb4b2da2022100ddaf75620adf2f031b78a91d1bbad2c80110dd69dfbfc810c6b976469b98ab15",
           "result" : "valid",
           "flags" : []
         },
@@ -97,7 +98,9 @@
           "msg" : "313233343030",
           "sig" : "30814502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 10,
@@ -105,7 +108,9 @@
           "msg" : "313233343030",
           "sig" : "30460281202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 11,
@@ -113,7 +118,9 @@
           "msg" : "313233343030",
           "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802812100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 12,
@@ -121,7 +128,9 @@
           "msg" : "313233343030",
           "sig" : "3082004502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 13,
@@ -129,7 +138,9 @@
           "msg" : "313233343030",
           "sig" : "3047028200202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 14,
@@ -137,7 +148,9 @@
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180282002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
           "tcId" : 15,
@@ -389,6 +402,14 @@
         },
         {
           "tcId" : 46,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -396,7 +417,7 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
+          "tcId" : 48,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3047000002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -404,24 +425,16 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
-          "comment" : "appending unused 0's",
+          "tcId" : 49,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 49,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 50,
-          "comment" : "appending null value",
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500",
           "result" : "invalid",
@@ -429,22 +442,6 @@
         },
         {
           "tcId" : 51,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 52,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a498177304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -452,7 +449,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 52,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30492500304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -460,7 +457,7 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 53,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef",
@@ -468,7 +465,7 @@
           "flags" : []
         },
         {
-          "tcId" : 56,
+          "tcId" : 54,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a222549817702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -476,7 +473,7 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 55,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "30492224250002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -484,7 +481,7 @@
           "flags" : []
         },
         {
-          "tcId" : 58,
+          "tcId" : 56,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304d222202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180004deadbeef022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -492,7 +489,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 57,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304a02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182226498177022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -500,7 +497,7 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 58,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822252500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -508,7 +505,7 @@
           "flags" : []
         },
         {
-          "tcId" : 61,
+          "tcId" : 59,
           "comment" : "including garbage",
           "msg" : "313233343030",
           "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182223022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0004deadbeef",
@@ -516,7 +513,7 @@
           "flags" : []
         },
         {
-          "tcId" : 62,
+          "tcId" : 60,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304daa00bb00cd00304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -524,7 +521,7 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 61,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304baa02aabb304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -532,7 +529,7 @@
           "flags" : []
         },
         {
-          "tcId" : 64,
+          "tcId" : 62,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304d2228aa00bb00cd0002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -540,7 +537,7 @@
           "flags" : []
         },
         {
-          "tcId" : 65,
+          "tcId" : 63,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304b2226aa02aabb02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -548,7 +545,7 @@
           "flags" : []
         },
         {
-          "tcId" : 66,
+          "tcId" : 64,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304d02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182229aa00bb00cd00022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -556,7 +553,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 65,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304b02202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182227aa02aabb022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -564,7 +561,15 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 66,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3080304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -572,7 +577,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 68,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3049228002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -580,7 +585,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 69,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -588,7 +593,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 70,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3080314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -596,7 +601,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 71,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3049228003202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -604,7 +609,7 @@
           "flags" : []
         },
         {
-          "tcId" : 73,
+          "tcId" : 72,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e182280032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -612,7 +617,7 @@
           "flags" : []
         },
         {
-          "tcId" : 74,
+          "tcId" : 73,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -620,127 +625,47 @@
           "flags" : []
         },
         {
-          "tcId" : 75,
-          "comment" : "changing tag value",
+          "tcId" : 74,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 76,
-          "comment" : "changing tag value",
+          "tcId" : 75,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 77,
-          "comment" : "changing tag value",
+          "tcId" : 76,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "314502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 78,
-          "comment" : "changing tag value",
+          "tcId" : 77,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "324502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 79,
-          "comment" : "changing tag value",
+          "tcId" : 78,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff4502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 80,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 81,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 82,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 83,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 84,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 85,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 86,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 87,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 88,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 89,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 90,
+          "tcId" : 79,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -748,31 +673,15 @@
           "flags" : []
         },
         {
-          "tcId" : 91,
-          "comment" : "using composition",
+          "tcId" : 80,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "30493001023044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 92,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 93,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 94,
+          "tcId" : 81,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847",
@@ -780,7 +689,7 @@
           "flags" : []
         },
         {
-          "tcId" : 95,
+          "tcId" : 82,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3044202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -788,15 +697,17 @@
           "flags" : []
         },
         {
-          "tcId" : 96,
+          "tcId" : 83,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 97,
+          "tcId" : 84,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db00",
@@ -804,7 +715,7 @@
           "flags" : []
         },
         {
-          "tcId" : 98,
+          "tcId" : 85,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db05000000",
@@ -812,7 +723,7 @@
           "flags" : []
         },
         {
-          "tcId" : 99,
+          "tcId" : 86,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db060811220000",
@@ -820,7 +731,7 @@
           "flags" : []
         },
         {
-          "tcId" : 100,
+          "tcId" : 87,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000fe02beef",
@@ -828,7 +739,7 @@
           "flags" : []
         },
         {
-          "tcId" : 101,
+          "tcId" : 88,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "308002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0002beef",
@@ -836,7 +747,7 @@
           "flags" : []
         },
         {
-          "tcId" : 102,
+          "tcId" : 89,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "3047300002202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -844,7 +755,7 @@
           "flags" : []
         },
         {
-          "tcId" : 103,
+          "tcId" : 90,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db3000",
@@ -852,7 +763,7 @@
           "flags" : []
         },
         {
-          "tcId" : 104,
+          "tcId" : 91,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "3047304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -860,7 +771,7 @@
           "flags" : []
         },
         {
-          "tcId" : 105,
+          "tcId" : 92,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "302202202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18",
@@ -868,7 +779,7 @@
           "flags" : []
         },
         {
-          "tcId" : 106,
+          "tcId" : 93,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "306802202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -876,7 +787,7 @@
           "flags" : []
         },
         {
-          "tcId" : 107,
+          "tcId" : 94,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "3023022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -884,7 +795,23 @@
           "flags" : []
         },
         {
-          "tcId" : 108,
+          "tcId" : 95,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302402022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "302302202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -892,7 +819,7 @@
           "flags" : []
         },
         {
-          "tcId" : 109,
+          "tcId" : 98,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0000",
@@ -900,23 +827,67 @@
           "flags" : []
         },
         {
-          "tcId" : 110,
+          "tcId" : 99,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3047022200002ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 111,
+          "tcId" : 100,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180223000000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 101,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180000022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 112,
+          "tcId" : 102,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304702222ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "304702202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022300b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "30250281022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "30250500022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -924,7 +895,7 @@
           "flags" : []
         },
         {
-          "tcId" : 113,
+          "tcId" : 107,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180500",
@@ -932,7 +903,87 @@
           "flags" : []
         },
         {
+          "tcId" : 108,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304500202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304501202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304503202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304504202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045ff202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18002100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
           "tcId" : 114,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18012100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18032100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18042100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18ff2100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "30250200022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -940,7 +991,7 @@
           "flags" : []
         },
         {
-          "tcId" : 115,
+          "tcId" : 119,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "302402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180200",
@@ -948,7 +999,23 @@
           "flags" : []
         },
         {
-          "tcId" : 116,
+          "tcId" : 120,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3049222402012b021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "304902202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1822250201000220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022029a3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -956,7 +1023,7 @@
           "flags" : []
         },
         {
-          "tcId" : 117,
+          "tcId" : 123,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022102b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -964,7 +1031,7 @@
           "flags" : []
         },
         {
-          "tcId" : 118,
+          "tcId" : 124,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e98022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -972,7 +1039,7 @@
           "flags" : []
         },
         {
-          "tcId" : 119,
+          "tcId" : 125,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b491568475b",
@@ -980,7 +1047,7 @@
           "flags" : []
         },
         {
-          "tcId" : 120,
+          "tcId" : 126,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044021f2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -988,7 +1055,7 @@
           "flags" : []
         },
         {
-          "tcId" : 121,
+          "tcId" : 127,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044021fa3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -996,7 +1063,7 @@
           "flags" : []
         },
         {
-          "tcId" : 122,
+          "tcId" : 128,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022000b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847",
@@ -1004,7 +1071,7 @@
           "flags" : []
         },
         {
-          "tcId" : 123,
+          "tcId" : 129,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -1012,7 +1079,7 @@
           "flags" : []
         },
         {
-          "tcId" : 124,
+          "tcId" : 130,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30460221ff2ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -1020,7 +1087,7 @@
           "flags" : []
         },
         {
-          "tcId" : 125,
+          "tcId" : 131,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "304602202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180222ff00b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -1028,7 +1095,7 @@
           "flags" : []
         },
         {
-          "tcId" : 126,
+          "tcId" : 132,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3026090180022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
@@ -1036,7 +1103,7 @@
           "flags" : []
         },
         {
-          "tcId" : 127,
+          "tcId" : 133,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18090180",
@@ -1044,66 +1111,18 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 129,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 130,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 131,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 132,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 133,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
-          "msg" : "313233343030",
-          "sig" : "30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 134,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "sig" : "3026020100022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 135,
-          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
+          "comment" : "replacing integer with zero",
           "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c",
+          "sig" : "302502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18020100",
           "result" : "invalid",
           "flags" : []
         },
@@ -1111,7 +1130,7 @@
           "tcId" : 136,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a",
+          "sig" : "30460221012ba3a8bd6b94d5ed80a6d9d1190a436ebccc0833490686deac8635bcb9bf5369022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
@@ -1119,7 +1138,7 @@
           "tcId" : 137,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825",
+          "sig" : "30460221ff2ba3a8bf6b94d5eb80a6d9d1190a436f42fe12d7fad749d4c512a036c0f908c7022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
@@ -1127,7 +1146,7 @@
           "tcId" : 138,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4",
+          "sig" : "30450220d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
@@ -1135,7 +1154,7 @@
           "tcId" : 139,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
+          "sig" : "3046022100d45c5740946b2a147f59262ee6f5bc90bd01ed280528b62b3aed5fc93f06f739022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
@@ -1143,95 +1162,79 @@
           "tcId" : 140,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825",
+          "sig" : "30460221fed45c5742946b2a127f59262ee6f5bc914333f7ccb6f979215379ca434640ac97022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 141,
-          "comment" : "Signature with special case values for r and s",
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3006020100020100",
+          "sig" : "30460221012ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
+          "flags" : []
         },
         {
           "tcId" : 142,
-          "comment" : "Signature with special case values for r and s",
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3006020100020101",
+          "sig" : "3046022100d45c5741946b2a137f59262ee6f5bc91001af27a5e1117a64733950642a3d1e8022100b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
+          "flags" : []
         },
         {
           "tcId" : 143,
-          "comment" : "Signature with special case values for r and s",
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "30060201000201ff",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f478a2bbd0a6c384ee1493b1f518276e0e4a5375928d6fcd160c11cb6d2c",
           "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
+          "flags" : []
         },
         {
           "tcId" : 144,
-          "comment" : "Signature with special case values for r and s",
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180220b329f47aa2bbd0a4c384ee1493b1f518ada018ef05465583885980861905228a",
           "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
+          "flags" : []
         },
         {
           "tcId" : 145,
-          "comment" : "Signature with special case values for r and s",
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221ff4cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825",
           "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
+          "flags" : []
         },
         {
           "tcId" : 146,
-          "comment" : "Signature with special case values for r and s",
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e180221fe4cd60b875d442f593c7b11eb6c4e0ae7d891f1b5ac8a6d729032e9f3ee3492d4",
           "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
+          "flags" : []
         },
         {
           "tcId" : 147,
-          "comment" : "Signature with special case values for r and s",
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "sig" : "304502202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e18022101b329f479a2bbd0a5c384ee1493b1f5186a87139cac5df4087c134b49156847db",
           "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
+          "flags" : []
         },
         {
           "tcId" : 148,
-          "comment" : "Signature with special case values for r and s",
+          "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
-          "sig" : "3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "sig" : "304402202ba3a8be6b94d5ec80a6d9d1190a436effe50d85a1eee859b8cc6af9bd5c2e1802204cd60b865d442f5a3c7b11eb6c4e0ae79578ec6353a20bf783ecb4b6ea97b825",
           "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
+          "flags" : []
         },
         {
           "tcId" : 149,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3008020100090380fe01",
+          "sig" : "3006020100020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1241,7 +1244,7 @@
           "tcId" : 150,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3006020101020100",
+          "sig" : "3006020100020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1251,7 +1254,7 @@
           "tcId" : 151,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3006020101020101",
+          "sig" : "30060201000201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1261,7 +1264,7 @@
           "tcId" : 152,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201010201ff",
+          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1271,7 +1274,7 @@
           "tcId" : 153,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1281,7 +1284,7 @@
           "tcId" : 154,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "sig" : "3026020100022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1291,7 +1294,7 @@
           "tcId" : 155,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "sig" : "3026020100022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1301,7 +1304,7 @@
           "tcId" : 156,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "sig" : "3026020100022100ffffffff00000001000000000000000000000001000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1311,7 +1314,7 @@
           "tcId" : 157,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "sig" : "3008020100090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1321,7 +1324,7 @@
           "tcId" : 158,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
+          "sig" : "3006020101020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1331,7 +1334,7 @@
           "tcId" : 159,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020100",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1341,7 +1344,7 @@
           "tcId" : 160,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff020101",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1351,7 +1354,7 @@
           "tcId" : 161,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
+          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1361,7 +1364,7 @@
           "tcId" : 162,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1371,7 +1374,7 @@
           "tcId" : 163,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "sig" : "3026020101022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1381,7 +1384,7 @@
           "tcId" : 164,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "sig" : "3026020101022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1391,7 +1394,7 @@
           "tcId" : 165,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "sig" : "3026020101022100ffffffff00000001000000000000000000000001000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1401,7 +1404,7 @@
           "tcId" : 166,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1411,7 +1414,7 @@
           "tcId" : 167,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1421,7 +1424,7 @@
           "tcId" : 168,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1431,7 +1434,7 @@
           "tcId" : 169,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1441,7 +1444,7 @@
           "tcId" : 170,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff",
+          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1451,7 +1454,7 @@
           "tcId" : 171,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1461,7 +1464,7 @@
           "tcId" : 172,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "sig" : "30260201ff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1471,7 +1474,7 @@
           "tcId" : 173,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "sig" : "30260201ff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1481,7 +1484,7 @@
           "tcId" : 174,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "sig" : "30260201ff022100ffffffff00000001000000000000000000000001000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1491,7 +1494,7 @@
           "tcId" : 175,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1501,7 +1504,7 @@
           "tcId" : 176,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1511,7 +1514,7 @@
           "tcId" : 177,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1521,7 +1524,7 @@
           "tcId" : 178,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325510201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1531,7 +1534,7 @@
           "tcId" : 179,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1541,7 +1544,7 @@
           "tcId" : 180,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1551,7 +1554,7 @@
           "tcId" : 181,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1561,7 +1564,7 @@
           "tcId" : 182,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1571,7 +1574,7 @@
           "tcId" : 183,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551022100ffffffff00000001000000000000000000000001000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1581,7 +1584,7 @@
           "tcId" : 184,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1591,7 +1594,7 @@
           "tcId" : 185,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1601,7 +1604,7 @@
           "tcId" : 186,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1611,7 +1614,7 @@
           "tcId" : 187,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325500201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1621,7 +1624,7 @@
           "tcId" : 188,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1631,7 +1634,7 @@
           "tcId" : 189,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1641,7 +1644,7 @@
           "tcId" : 190,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1651,7 +1654,7 @@
           "tcId" : 191,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1661,7 +1664,7 @@
           "tcId" : 192,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550022100ffffffff00000001000000000000000000000001000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1671,7 +1674,7 @@
           "tcId" : 193,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1681,7 +1684,7 @@
           "tcId" : 194,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1691,7 +1694,7 @@
           "tcId" : 195,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1701,7 +1704,7 @@
           "tcId" : 196,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101",
+          "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6325520201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1711,7 +1714,7 @@
           "tcId" : 197,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1721,7 +1724,7 @@
           "tcId" : 198,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1731,7 +1734,7 @@
           "tcId" : 199,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1741,7 +1744,7 @@
           "tcId" : 200,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1751,7 +1754,7 @@
           "tcId" : 201,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552022100ffffffff00000001000000000000000000000001000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1761,7 +1764,7 @@
           "tcId" : 202,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "sig" : "3028022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1771,7 +1774,7 @@
           "tcId" : 203,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01",
+          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1781,7 +1784,7 @@
           "tcId" : 204,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100",
+          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1791,7 +1794,7 @@
           "tcId" : 205,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101",
+          "sig" : "3026022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1801,7 +1804,7 @@
           "tcId" : 206,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1811,7 +1814,7 @@
           "tcId" : 207,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1821,7 +1824,7 @@
           "tcId" : 208,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1831,7 +1834,7 @@
           "tcId" : 209,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1841,7 +1844,7 @@
           "tcId" : 210,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "sig" : "3046022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff022100ffffffff00000001000000000000000000000001000000000000000000000000",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1851,7 +1854,7 @@
           "tcId" : 211,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "sig" : "3028022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1861,7 +1864,7 @@
           "tcId" : 212,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01",
+          "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -1869,6 +1872,86 @@
         },
         {
           "tcId" : 213,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff00000001000000000000000000000001000000000000000000000000020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 214,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100ffffffff000000010000000000000000000000010000000000000000000000000201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 215,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 216,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632550",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 217,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632552",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 218,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000000ffffffffffffffffffffffff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 219,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100ffffffff00000001000000000000000000000001000000000000000000000000022100ffffffff00000001000000000000000000000001000000000000000000000000",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 220,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100ffffffff00000001000000000000000000000001000000000000000000000000090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 221,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3639383139",
           "sig" : "3044022064a1aab5000d0e804f3e2fc02bdee9be8ff312334e2ba16d11547c97711c898e02206af015971cc30be6d1a206d4e013e0997772a2f91d73286ffd683b9bb2cf4f1b",
@@ -1878,20 +1961,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEuDj/ROW8F3vyEYnQdmCC/J2EMiaIf8l2\nA3EQC37iCm/wyddb+6ezGmvKGXRJbutW3jVwcZVdg8Sxutqgshgy6Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9",
         "wx" : "0b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6f",
         "wy" : "0f0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b838ff44e5bc177bf21189d0766082fc9d843226887fc9760371100b7ee20a6ff0c9d75bfba7b31a6bca1974496eeb56de357071955d83c4b1badaa0b21832e9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEuDj/ROW8F3vyEYnQdmCC/J2EMiaIf8l2\nA3EQC37iCm/wyddb+6ezGmvKGXRJbutW3jVwcZVdg8Sxutqgshgy6Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 214,
+          "tcId" : 222,
           "comment" : "signature malleability",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022100900e75ad233fcc908509dbff5922647db37c21f4afd3203ae8dc4ae7794b0f87",
@@ -1899,47 +1983,47 @@
           "flags" : []
         },
         {
-          "tcId" : 215,
+          "tcId" : 223,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "304502203714006837443506a04d93a9245abddd7b17829220172a826dcc49577eb17a11022100b8c0892cac028b9bec95f6e561da7fc092d3cee3882c5b6aa7cfde2baf2791da",
+          "sig" : "3045022100d069d0bc09f4fe10611492357591cd04b3e6de0440d4f88dfa95340df39d040002207e322626d5d670d88e5c89cd6d6f1b568b7a137a8d44c3ba097d2591624d2d50",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 216,
+          "tcId" : 224,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3044022044da26aa0d2cb50dc29b6c4c8f8c596f9a89416f6cdd0dd84bea1556ee32008102205c37e44bb99c0315aaf8886bc3b4a359634e94489a96d7f5463b8720875fd6b5",
+          "sig" : "304602210091eb4053afa62a3ee0d81af3c274ccfaef90ea56d82b96a01db142c902f7d700022100bac66e88cd3269c36915fe2c513ce672029546219fbd79e2dda9959fcae2dfd5",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 217,
+          "tcId" : 225,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3045022100a4a4506d12e5489b94746209e7aca23722269d7ecfa42f787b0092cae14352d702203d8a793ae2047a01c3591b3377b59c19bb4b6bc444b67e9c353c739f526ad711",
+          "sig" : "304502202b3a9960b6ff6217d0d52ada66f14ec23f047b0c07b64fc37e8d7ce515b2421f02210090511139dd9caa1546d246bdbe8d82be970539fbd492205be4b8cb71399d64d4",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 218,
+          "tcId" : 226,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3045022100aea1527ff60cb198070fc75336eacb4a4627c00c78cdb21dfc9471e99bf7008d02201ebac9b104cf430e4aff3131aa77e3f6220f8426f010d514baf9c441800e9398",
+          "sig" : "3045022100d907b885c9c85e6cf20f1704d5cf42d475cbf1dd1c5cf91f2a53ccede7b8cdec02200e0e51454ae16fe6b8e8e852b548e5183313d0fc6038bbed367ea707ff91924e",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 219,
+          "tcId" : 227,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "3044022000edef225ae6c0e0f4ccb666ca2f07e967140c9b555dd7e9a1a2bf40d4bbbe8202207f5212e2298234e893253d520270309f8cec8c85a2d9b88e5fa8d3552ebd501a",
+          "sig" : "3044022024f635d06c943fe5f0c5329afc6165dbec0162a52b614fb212a66c03a8d7e55702201cf80f085bfdb2e78dca48692951a915317187ec340c023b1a95d149a3a24006",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 220,
+          "tcId" : 228,
           "comment" : "Legacy:ASN encoding of r misses leading 0",
           "msg" : "313233343030",
           "sig" : "30440220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -1949,7 +2033,7 @@
           ]
         },
         {
-          "tcId" : 221,
+          "tcId" : 229,
           "comment" : "valid",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -1957,55 +2041,67 @@
           "flags" : []
         },
         {
-          "tcId" : 222,
+          "tcId" : 230,
           "comment" : "long form encoding of length",
           "msg" : "313233343030",
           "sig" : "308145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 223,
+          "tcId" : 231,
           "comment" : "long form encoding of length",
           "msg" : "313233343030",
           "sig" : "304602812100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 224,
+          "tcId" : 232,
           "comment" : "long form encoding of length",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650281206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 225,
+          "tcId" : 233,
           "comment" : "length contains leading 0",
           "msg" : "313233343030",
           "sig" : "30820045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 226,
+          "tcId" : 234,
           "comment" : "length contains leading 0",
           "msg" : "313233343030",
           "sig" : "30470282002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 227,
+          "tcId" : 235,
           "comment" : "length contains leading 0",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365028200206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 228,
+          "tcId" : 236,
           "comment" : "wrong length",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2013,7 +2109,7 @@
           "flags" : []
         },
         {
-          "tcId" : 229,
+          "tcId" : 237,
           "comment" : "wrong length",
           "msg" : "313233343030",
           "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2021,7 +2117,7 @@
           "flags" : []
         },
         {
-          "tcId" : 230,
+          "tcId" : 238,
           "comment" : "wrong length",
           "msg" : "313233343030",
           "sig" : "3045022200813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2029,7 +2125,7 @@
           "flags" : []
         },
         {
-          "tcId" : 231,
+          "tcId" : 239,
           "comment" : "wrong length",
           "msg" : "313233343030",
           "sig" : "3045022000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2037,7 +2133,7 @@
           "flags" : []
         },
         {
-          "tcId" : 232,
+          "tcId" : 240,
           "comment" : "wrong length",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502216ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2045,7 +2141,7 @@
           "flags" : []
         },
         {
-          "tcId" : 233,
+          "tcId" : 241,
           "comment" : "wrong length",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365021f6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2053,7 +2149,7 @@
           "flags" : []
         },
         {
-          "tcId" : 234,
+          "tcId" : 242,
           "comment" : "uint32 overflow in length",
           "msg" : "313233343030",
           "sig" : "30850100000045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2061,7 +2157,7 @@
           "flags" : []
         },
         {
-          "tcId" : 235,
+          "tcId" : 243,
           "comment" : "uint32 overflow in length",
           "msg" : "313233343030",
           "sig" : "304a0285010000002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2069,7 +2165,7 @@
           "flags" : []
         },
         {
-          "tcId" : 236,
+          "tcId" : 244,
           "comment" : "uint32 overflow in length",
           "msg" : "313233343030",
           "sig" : "304a022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365028501000000206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2077,7 +2173,7 @@
           "flags" : []
         },
         {
-          "tcId" : 237,
+          "tcId" : 245,
           "comment" : "uint64 overflow in length",
           "msg" : "313233343030",
           "sig" : "3089010000000000000045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2085,7 +2181,7 @@
           "flags" : []
         },
         {
-          "tcId" : 238,
+          "tcId" : 246,
           "comment" : "uint64 overflow in length",
           "msg" : "313233343030",
           "sig" : "304e028901000000000000002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2093,7 +2189,7 @@
           "flags" : []
         },
         {
-          "tcId" : 239,
+          "tcId" : 247,
           "comment" : "uint64 overflow in length",
           "msg" : "313233343030",
           "sig" : "304e022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502890100000000000000206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2101,7 +2197,7 @@
           "flags" : []
         },
         {
-          "tcId" : 240,
+          "tcId" : 248,
           "comment" : "length = 2**31 - 1",
           "msg" : "313233343030",
           "sig" : "30847fffffff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2109,7 +2205,7 @@
           "flags" : []
         },
         {
-          "tcId" : 241,
+          "tcId" : 249,
           "comment" : "length = 2**31 - 1",
           "msg" : "313233343030",
           "sig" : "304902847fffffff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2117,7 +2213,7 @@
           "flags" : []
         },
         {
-          "tcId" : 242,
+          "tcId" : 250,
           "comment" : "length = 2**31 - 1",
           "msg" : "313233343030",
           "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502847fffffff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2125,7 +2221,7 @@
           "flags" : []
         },
         {
-          "tcId" : 243,
+          "tcId" : 251,
           "comment" : "length = 2**32 - 1",
           "msg" : "313233343030",
           "sig" : "3084ffffffff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2133,7 +2229,7 @@
           "flags" : []
         },
         {
-          "tcId" : 244,
+          "tcId" : 252,
           "comment" : "length = 2**32 - 1",
           "msg" : "313233343030",
           "sig" : "30490284ffffffff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2141,7 +2237,7 @@
           "flags" : []
         },
         {
-          "tcId" : 245,
+          "tcId" : 253,
           "comment" : "length = 2**32 - 1",
           "msg" : "313233343030",
           "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650284ffffffff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2149,7 +2245,7 @@
           "flags" : []
         },
         {
-          "tcId" : 246,
+          "tcId" : 254,
           "comment" : "length = 2**40 - 1",
           "msg" : "313233343030",
           "sig" : "3085ffffffffff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2157,7 +2253,7 @@
           "flags" : []
         },
         {
-          "tcId" : 247,
+          "tcId" : 255,
           "comment" : "length = 2**40 - 1",
           "msg" : "313233343030",
           "sig" : "304a0285ffffffffff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2165,7 +2261,7 @@
           "flags" : []
         },
         {
-          "tcId" : 248,
+          "tcId" : 256,
           "comment" : "length = 2**40 - 1",
           "msg" : "313233343030",
           "sig" : "304a022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650285ffffffffff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2173,7 +2269,7 @@
           "flags" : []
         },
         {
-          "tcId" : 249,
+          "tcId" : 257,
           "comment" : "length = 2**64 - 1",
           "msg" : "313233343030",
           "sig" : "3088ffffffffffffffff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2181,7 +2277,7 @@
           "flags" : []
         },
         {
-          "tcId" : 250,
+          "tcId" : 258,
           "comment" : "length = 2**64 - 1",
           "msg" : "313233343030",
           "sig" : "304d0288ffffffffffffffff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2189,7 +2285,7 @@
           "flags" : []
         },
         {
-          "tcId" : 251,
+          "tcId" : 259,
           "comment" : "length = 2**64 - 1",
           "msg" : "313233343030",
           "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650288ffffffffffffffff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2197,7 +2293,7 @@
           "flags" : []
         },
         {
-          "tcId" : 252,
+          "tcId" : 260,
           "comment" : "incorrect length",
           "msg" : "313233343030",
           "sig" : "30ff022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2205,7 +2301,7 @@
           "flags" : []
         },
         {
-          "tcId" : 253,
+          "tcId" : 261,
           "comment" : "incorrect length",
           "msg" : "313233343030",
           "sig" : "304502ff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2213,7 +2309,7 @@
           "flags" : []
         },
         {
-          "tcId" : 254,
+          "tcId" : 262,
           "comment" : "incorrect length",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502ff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2221,7 +2317,7 @@
           "flags" : []
         },
         {
-          "tcId" : 255,
+          "tcId" : 263,
           "comment" : "indefinite length without termination",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2229,7 +2325,7 @@
           "flags" : []
         },
         {
-          "tcId" : 256,
+          "tcId" : 264,
           "comment" : "indefinite length without termination",
           "msg" : "313233343030",
           "sig" : "3045028000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2237,7 +2333,7 @@
           "flags" : []
         },
         {
-          "tcId" : 257,
+          "tcId" : 265,
           "comment" : "indefinite length without termination",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502806ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2245,7 +2341,7 @@
           "flags" : []
         },
         {
-          "tcId" : 258,
+          "tcId" : 266,
           "comment" : "removing sequence",
           "msg" : "313233343030",
           "sig" : "",
@@ -2253,7 +2349,15 @@
           "flags" : []
         },
         {
-          "tcId" : 259,
+          "tcId" : 267,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 268,
           "comment" : "appending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -2261,7 +2365,7 @@
           "flags" : []
         },
         {
-          "tcId" : 260,
+          "tcId" : 269,
           "comment" : "prepending 0's to sequence",
           "msg" : "313233343030",
           "sig" : "30470000022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2269,98 +2373,26 @@
           "flags" : []
         },
         {
-          "tcId" : 261,
-          "comment" : "appending unused 0's",
+          "tcId" : 270,
+          "comment" : "appending unused 0's to sequence",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 262,
-          "comment" : "appending unused 0's",
-          "msg" : "313233343030",
-          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 263,
-          "comment" : "appending null value",
+          "tcId" : 271,
+          "comment" : "appending null value to sequence",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0500",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 264,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3047022300813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365050002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 265,
-          "comment" : "appending null value",
-          "msg" : "313233343030",
-          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502226ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0500",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 266,
-          "comment" : "including garbage",
-          "msg" : "313233343030",
-          "sig" : "304a4981773045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 267,
-          "comment" : "including garbage",
-          "msg" : "313233343030",
-          "sig" : "304925003045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 268,
-          "comment" : "including garbage",
-          "msg" : "313233343030",
-          "sig" : "30473045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0004deadbeef",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 269,
-          "comment" : "including garbage",
-          "msg" : "313233343030",
-          "sig" : "304a2226498177022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 270,
-          "comment" : "including garbage",
-          "msg" : "313233343030",
-          "sig" : "304922252500022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 271,
-          "comment" : "including garbage",
-          "msg" : "313233343030",
-          "sig" : "304d2223022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650004deadbeef02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 272,
           "comment" : "including garbage",
           "msg" : "313233343030",
-          "sig" : "304a022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222549817702206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "sig" : "304a4981773045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
@@ -2368,7 +2400,7 @@
           "tcId" : 273,
           "comment" : "including garbage",
           "msg" : "313233343030",
-          "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652224250002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "sig" : "304925003045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
@@ -2376,12 +2408,60 @@
           "tcId" : 274,
           "comment" : "including garbage",
           "msg" : "313233343030",
-          "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0004deadbeef",
+          "sig" : "30473045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0004deadbeef",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 275,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304a2226498177022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 276,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304922252500022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 277,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304d2223022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650004deadbeef02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 278,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304a022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222549817702206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 279,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652224250002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 280,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 281,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304daa00bb00cd003045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2389,7 +2469,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 282,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304baa02aabb3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2397,7 +2477,7 @@
           "flags" : []
         },
         {
-          "tcId" : 277,
+          "tcId" : 283,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304d2229aa00bb00cd00022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2405,7 +2485,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 284,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304b2227aa02aabb022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2413,7 +2493,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 285,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304d022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652228aa00bb00cd0002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2421,7 +2501,7 @@
           "flags" : []
         },
         {
-          "tcId" : 280,
+          "tcId" : 286,
           "comment" : "including undefined tags",
           "msg" : "313233343030",
           "sig" : "304b022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323652226aa02aabb02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2429,7 +2509,15 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 287,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 288,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30803045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -2437,7 +2525,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 289,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "30492280022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2445,7 +2533,7 @@
           "flags" : []
         },
         {
-          "tcId" : 283,
+          "tcId" : 290,
           "comment" : "using composition with indefinite length",
           "msg" : "313233343030",
           "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365228002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -2453,7 +2541,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 291,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30803145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -2461,7 +2549,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 292,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "30492280032100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2469,7 +2557,7 @@
           "flags" : []
         },
         {
-          "tcId" : 286,
+          "tcId" : 293,
           "comment" : "using composition with wrong tag",
           "msg" : "313233343030",
           "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365228003206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -2477,7 +2565,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 294,
           "comment" : "Replacing sequence with NULL",
           "msg" : "313233343030",
           "sig" : "0500",
@@ -2485,127 +2573,47 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
-          "comment" : "changing tag value",
+          "tcId" : 295,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2e45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 289,
-          "comment" : "changing tag value",
+          "tcId" : 296,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "2f45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 290,
-          "comment" : "changing tag value",
+          "tcId" : 297,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "3145022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 291,
-          "comment" : "changing tag value",
+          "tcId" : 298,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "3245022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 292,
-          "comment" : "changing tag value",
+          "tcId" : 299,
+          "comment" : "changing tag value of sequence",
           "msg" : "313233343030",
           "sig" : "ff45022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 293,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 294,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045012100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 295,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045032100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 296,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045042100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 297,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045ff2100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 298,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236500206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 299,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236501206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
           "tcId" : 300,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236503206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 301,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236504206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 302,
-          "comment" : "changing tag value",
-          "msg" : "313233343030",
-          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365ff206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 303,
           "comment" : "dropping value of sequence",
           "msg" : "313233343030",
           "sig" : "3000",
@@ -2613,31 +2621,15 @@
           "flags" : []
         },
         {
-          "tcId" : 304,
-          "comment" : "using composition",
+          "tcId" : 301,
+          "comment" : "using composition forsequence",
           "msg" : "313233343030",
           "sig" : "304930010230442100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
           "flags" : []
         },
         {
-          "tcId" : 305,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "304922250201000220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 306,
-          "comment" : "using composition",
-          "msg" : "313233343030",
-          "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222402016f021ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 307,
+          "tcId" : 302,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31",
@@ -2645,7 +2637,7 @@
           "flags" : []
         },
         {
-          "tcId" : 308,
+          "tcId" : 303,
           "comment" : "truncate sequence",
           "msg" : "313233343030",
           "sig" : "30442100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2653,15 +2645,17 @@
           "flags" : []
         },
         {
-          "tcId" : 309,
+          "tcId" : 304,
           "comment" : "indefinite length",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
           "result" : "invalid",
-          "flags" : []
+          "flags" : [
+            "BER"
+          ]
         },
         {
-          "tcId" : 310,
+          "tcId" : 305,
           "comment" : "indefinite length with truncated delimiter",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba00",
@@ -2669,7 +2663,7 @@
           "flags" : []
         },
         {
-          "tcId" : 311,
+          "tcId" : 306,
           "comment" : "indefinite length with additional element",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba05000000",
@@ -2677,7 +2671,7 @@
           "flags" : []
         },
         {
-          "tcId" : 312,
+          "tcId" : 307,
           "comment" : "indefinite length with truncated element",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba060811220000",
@@ -2685,7 +2679,7 @@
           "flags" : []
         },
         {
-          "tcId" : 313,
+          "tcId" : 308,
           "comment" : "indefinite length with garbage",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000fe02beef",
@@ -2693,7 +2687,7 @@
           "flags" : []
         },
         {
-          "tcId" : 314,
+          "tcId" : 309,
           "comment" : "indefinite length with nonempty EOC",
           "msg" : "313233343030",
           "sig" : "3080022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0002beef",
@@ -2701,7 +2695,7 @@
           "flags" : []
         },
         {
-          "tcId" : 315,
+          "tcId" : 310,
           "comment" : "prepend empty sequence",
           "msg" : "313233343030",
           "sig" : "30473000022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2709,7 +2703,7 @@
           "flags" : []
         },
         {
-          "tcId" : 316,
+          "tcId" : 311,
           "comment" : "append empty sequence",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba3000",
@@ -2717,7 +2711,7 @@
           "flags" : []
         },
         {
-          "tcId" : 317,
+          "tcId" : 312,
           "comment" : "sequence of sequence",
           "msg" : "313233343030",
           "sig" : "30473045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2725,7 +2719,7 @@
           "flags" : []
         },
         {
-          "tcId" : 318,
+          "tcId" : 313,
           "comment" : "truncated sequence",
           "msg" : "313233343030",
           "sig" : "3023022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365",
@@ -2733,7 +2727,7 @@
           "flags" : []
         },
         {
-          "tcId" : 319,
+          "tcId" : 314,
           "comment" : "repeat element in sequence",
           "msg" : "313233343030",
           "sig" : "3067022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2741,7 +2735,7 @@
           "flags" : []
         },
         {
-          "tcId" : 320,
+          "tcId" : 315,
           "comment" : "removing integer",
           "msg" : "313233343030",
           "sig" : "302202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2749,7 +2743,23 @@
           "flags" : []
         },
         {
-          "tcId" : 321,
+          "tcId" : 316,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "30230202206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 317,
+          "comment" : "lonely integer tag",
+          "msg" : "313233343030",
+          "sig" : "3024022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 318,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3047022300813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2757,7 +2767,7 @@
           "flags" : []
         },
         {
-          "tcId" : 322,
+          "tcId" : 319,
           "comment" : "appending 0's to integer",
           "msg" : "313233343030",
           "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502226ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0000",
@@ -2765,23 +2775,67 @@
           "flags" : []
         },
         {
-          "tcId" : 323,
+          "tcId" : 320,
           "comment" : "prepending 0's to integer",
           "msg" : "313233343030",
           "sig" : "30470223000000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
           "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 321,
+          "comment" : "prepending 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022200006ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : [
+            "BER"
+          ]
+        },
+        {
+          "tcId" : 322,
+          "comment" : "appending unused 0's to integer",
+          "msg" : "313233343030",
+          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365000002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 323,
+          "comment" : "appending null value to integer",
+          "msg" : "313233343030",
+          "sig" : "3047022300813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365050002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 324,
-          "comment" : "prepending 0's to integer",
+          "comment" : "appending null value to integer",
           "msg" : "313233343030",
-          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022200006ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "sig" : "3047022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502226ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba0500",
           "result" : "invalid",
           "flags" : []
         },
         {
           "tcId" : 325,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3024028102206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 326,
+          "comment" : "truncated length of integer",
+          "msg" : "313233343030",
+          "sig" : "3025022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650281",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 327,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3024050002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2789,7 +2843,7 @@
           "flags" : []
         },
         {
-          "tcId" : 326,
+          "tcId" : 328,
           "comment" : "Replacing integer with NULL",
           "msg" : "313233343030",
           "sig" : "3025022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650500",
@@ -2797,7 +2851,87 @@
           "flags" : []
         },
         {
-          "tcId" : 327,
+          "tcId" : 329,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045002100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 330,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045012100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 331,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045032100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 332,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045042100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 333,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045ff2100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 334,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236500206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 335,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236501206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 336,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236503206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 337,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236504206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 338,
+          "comment" : "changing tag value of integer",
+          "msg" : "313233343030",
+          "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365ff206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 339,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3024020002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2805,7 +2939,7 @@
           "flags" : []
         },
         {
-          "tcId" : 328,
+          "tcId" : 340,
           "comment" : "dropping value of integer",
           "msg" : "313233343030",
           "sig" : "3025022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650200",
@@ -2813,7 +2947,23 @@
           "flags" : []
         },
         {
-          "tcId" : 329,
+          "tcId" : 341,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "304922250201000220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 342,
+          "comment" : "using composition forinteger",
+          "msg" : "313233343030",
+          "sig" : "3049022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365222402016f021ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 343,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022102813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2821,7 +2971,7 @@
           "flags" : []
         },
         {
-          "tcId" : 330,
+          "tcId" : 344,
           "comment" : "modify first byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206df18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2829,7 +2979,7 @@
           "flags" : []
         },
         {
-          "tcId" : 331,
+          "tcId" : 345,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323e502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2837,7 +2987,7 @@
           "flags" : []
         },
         {
-          "tcId" : 332,
+          "tcId" : 346,
           "comment" : "modify last byte of integer",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb313a",
@@ -2845,7 +2995,7 @@
           "flags" : []
         },
         {
-          "tcId" : 333,
+          "tcId" : 347,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044022000813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832302206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2853,7 +3003,7 @@
           "flags" : []
         },
         {
-          "tcId" : 334,
+          "tcId" : 348,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "30440220813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2861,7 +3011,7 @@
           "flags" : []
         },
         {
-          "tcId" : 335,
+          "tcId" : 349,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365021f6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31",
@@ -2869,7 +3019,7 @@
           "flags" : []
         },
         {
-          "tcId" : 336,
+          "tcId" : 350,
           "comment" : "truncate integer",
           "msg" : "313233343030",
           "sig" : "3044022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365021ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2877,7 +3027,7 @@
           "flags" : []
         },
         {
-          "tcId" : 337,
+          "tcId" : 351,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "30460222ff00813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2885,7 +3035,7 @@
           "flags" : []
         },
         {
-          "tcId" : 338,
+          "tcId" : 352,
           "comment" : "leading ff in integer",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221ff6ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2893,7 +3043,7 @@
           "flags" : []
         },
         {
-          "tcId" : 339,
+          "tcId" : 353,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "302509018002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2901,7 +3051,7 @@
           "flags" : []
         },
         {
-          "tcId" : 340,
+          "tcId" : 354,
           "comment" : "infinity",
           "msg" : "313233343030",
           "sig" : "3026022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365090180",
@@ -2909,7 +3059,23 @@
           "flags" : []
         },
         {
-          "tcId" : 341,
+          "tcId" : 355,
+          "comment" : "replacing integer with zero",
+          "msg" : "313233343030",
+          "sig" : "302502010002206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 356,
+          "comment" : "replacing integer with zero",
+          "msg" : "313233343030",
+          "sig" : "3026022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365020100",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 357,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "3045022101813ef79ccefa9a56f7ba805f0e478583b90deabca4b05c4574e49b5899b964a602206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2917,7 +3083,7 @@
           "flags" : []
         },
         {
-          "tcId" : 342,
+          "tcId" : 358,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "30440220813ef79ccefa9a56f7ba805f0e47858643b030ef461f1bcdf53fde3ef94ce22402206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2925,7 +3091,7 @@
           "flags" : []
         },
         {
-          "tcId" : 343,
+          "tcId" : 359,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "30450221ff7ec10863310565a908457fa0f1b87a7b01a0f22a0a9843f64aedc334367cdc9b02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2933,7 +3099,7 @@
           "flags" : []
         },
         {
-          "tcId" : 344,
+          "tcId" : 360,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "304402207ec10863310565a908457fa0f1b87a79bc4fcf10b9e0e4320ac021c106b31ddc02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2941,7 +3107,7 @@
           "flags" : []
         },
         {
-          "tcId" : 345,
+          "tcId" : 361,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "30450221fe7ec10863310565a908457fa0f1b87a7c46f215435b4fa3ba8b1b64a766469b5a02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2949,7 +3115,7 @@
           "flags" : []
         },
         {
-          "tcId" : 346,
+          "tcId" : 362,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "3045022101813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc983236502206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2957,7 +3123,7 @@
           "flags" : []
         },
         {
-          "tcId" : 347,
+          "tcId" : 363,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "304402207ec10863310565a908457fa0f1b87a7b01a0f22a0a9843f64aedc334367cdc9b02206ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -2965,7 +3131,7 @@
           "flags" : []
         },
         {
-          "tcId" : 348,
+          "tcId" : 364,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221016ff18a52dcc0336f7af62400a6dd9b7fc1e197d8aebe203c96c87232272172fb",
@@ -2973,7 +3139,7 @@
           "flags" : []
         },
         {
-          "tcId" : 349,
+          "tcId" : 365,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221ff6ff18a52dcc0336f7af62400a6dd9b824c83de0b502cdfc51723b51886b4f079",
@@ -2981,7 +3147,7 @@
           "flags" : []
         },
         {
-          "tcId" : 350,
+          "tcId" : 366,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "3045022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650220900e75ad233fcc908509dbff5922647ef8cd450e008a7fff2909ec5aa914ce46",
@@ -2989,7 +3155,7 @@
           "flags" : []
         },
         {
-          "tcId" : 351,
+          "tcId" : 367,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221fe900e75ad233fcc908509dbff592264803e1e68275141dfc369378dcdd8de8d05",
@@ -2997,7 +3163,7 @@
           "flags" : []
         },
         {
-          "tcId" : 352,
+          "tcId" : 368,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc98323650221016ff18a52dcc0336f7af62400a6dd9b810732baf1ff758000d6f613a556eb31ba",
@@ -3005,7 +3171,7 @@
           "flags" : []
         },
         {
-          "tcId" : 353,
+          "tcId" : 369,
           "comment" : "Modified r or s, e.g. by adding or subtracting the order of the group",
           "msg" : "313233343030",
           "sig" : "3046022100813ef79ccefa9a56f7ba805f0e478584fe5f0dd5f567bc09b5123ccbc9832365022100900e75ad233fcc908509dbff5922647ef8cd450e008a7fff2909ec5aa914ce46",
@@ -3013,7 +3179,7 @@
           "flags" : []
         },
         {
-          "tcId" : 354,
+          "tcId" : 370,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020100",
@@ -3023,7 +3189,7 @@
           ]
         },
         {
-          "tcId" : 355,
+          "tcId" : 371,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020100020101",
@@ -3033,7 +3199,7 @@
           ]
         },
         {
-          "tcId" : 356,
+          "tcId" : 372,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "30060201000201ff",
@@ -3043,7 +3209,7 @@
           ]
         },
         {
-          "tcId" : 357,
+          "tcId" : 373,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
@@ -3053,7 +3219,7 @@
           ]
         },
         {
-          "tcId" : 358,
+          "tcId" : 374,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
@@ -3063,7 +3229,7 @@
           ]
         },
         {
-          "tcId" : 359,
+          "tcId" : 375,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
@@ -3073,7 +3239,7 @@
           ]
         },
         {
-          "tcId" : 360,
+          "tcId" : 376,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
@@ -3083,7 +3249,7 @@
           ]
         },
         {
-          "tcId" : 361,
+          "tcId" : 377,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3026020100022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
@@ -3093,7 +3259,7 @@
           ]
         },
         {
-          "tcId" : 362,
+          "tcId" : 378,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3008020100090380fe01",
@@ -3103,7 +3269,7 @@
           ]
         },
         {
-          "tcId" : 363,
+          "tcId" : 379,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020100",
@@ -3113,170 +3279,10 @@
           ]
         },
         {
-          "tcId" : 364,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3006020101020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 365,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201010201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 366,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 367,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 368,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 369,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 370,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 371,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "3008020101090380fe01",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 372,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201ff020100",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 373,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201ff020101",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 374,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30060201ff0201ff",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 375,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 376,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 377,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 378,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
-          "tcId" : 379,
-          "comment" : "Signature with special case values for r and s",
-          "msg" : "313233343030",
-          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
-          "result" : "invalid",
-          "flags" : [
-            "EdgeCase"
-          ]
-        },
-        {
           "tcId" : 380,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "30080201ff090380fe01",
+          "sig" : "3006020101020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3286,7 +3292,7 @@
           "tcId" : 381,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020100",
+          "sig" : "30060201010201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3296,7 +3302,7 @@
           "tcId" : 382,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3306,7 +3312,7 @@
           "tcId" : 383,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3316,7 +3322,7 @@
           "tcId" : 384,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3326,7 +3332,7 @@
           "tcId" : 385,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3336,7 +3342,7 @@
           "tcId" : 386,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3026020101022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3346,7 +3352,7 @@
           "tcId" : 387,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3008020101090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3356,7 +3362,7 @@
           "tcId" : 388,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "30060201ff020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3366,7 +3372,7 @@
           "tcId" : 389,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141090380fe01",
+          "sig" : "30060201ff020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3376,7 +3382,7 @@
           "tcId" : 390,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020100",
+          "sig" : "30060201ff0201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3386,7 +3392,7 @@
           "tcId" : 391,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020101",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3396,7 +3402,7 @@
           "tcId" : 392,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641400201ff",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3406,7 +3412,7 @@
           "tcId" : 393,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3416,7 +3422,7 @@
           "tcId" : 394,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3426,7 +3432,7 @@
           "tcId" : 395,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "30260201ff022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3436,7 +3442,7 @@
           "tcId" : 396,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "30080201ff090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3446,7 +3452,7 @@
           "tcId" : 397,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3456,7 +3462,7 @@
           "tcId" : 398,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3466,7 +3472,7 @@
           "tcId" : 399,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020100",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641410201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3476,7 +3482,7 @@
           "tcId" : 400,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020101",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3486,7 +3492,7 @@
           "tcId" : 401,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641420201ff",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3496,7 +3502,7 @@
           "tcId" : 402,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3506,7 +3512,7 @@
           "tcId" : 403,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3516,7 +3522,7 @@
           "tcId" : 404,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3526,7 +3532,7 @@
           "tcId" : 405,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3536,7 +3542,7 @@
           "tcId" : 406,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3546,7 +3552,7 @@
           "tcId" : 407,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3556,7 +3562,7 @@
           "tcId" : 408,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020100",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641400201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3566,7 +3572,7 @@
           "tcId" : 409,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020101",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3576,7 +3582,7 @@
           "tcId" : 410,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f0201ff",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3586,7 +3592,7 @@
           "tcId" : 411,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3596,7 +3602,7 @@
           "tcId" : 412,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3606,7 +3612,7 @@
           "tcId" : 413,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3616,7 +3622,7 @@
           "tcId" : 414,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3626,7 +3632,7 @@
           "tcId" : 415,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3636,7 +3642,7 @@
           "tcId" : 416,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3646,7 +3652,7 @@
           "tcId" : 417,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020100",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03641420201ff",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3656,7 +3662,7 @@
           "tcId" : 418,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020101",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3666,7 +3672,7 @@
           "tcId" : 419,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc300201ff",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3676,7 +3682,7 @@
           "tcId" : 420,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3686,7 +3692,7 @@
           "tcId" : 421,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3696,7 +3702,7 @@
           "tcId" : 422,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3706,7 +3712,7 @@
           "tcId" : 423,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142090380fe01",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3716,7 +3722,7 @@
           "tcId" : 424,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020100",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3726,7 +3732,7 @@
           "tcId" : 425,
           "comment" : "Signature with special case values for r and s",
           "msg" : "313233343030",
-          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30090380fe01",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f020101",
           "result" : "invalid",
           "flags" : [
             "EdgeCase"
@@ -3734,6 +3740,166 @@
         },
         {
           "tcId" : 426,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f0201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 427,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 428,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 429,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 430,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 431,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 432,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 433,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020100",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 434,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30020101",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 435,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3026022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc300201ff",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 436,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 437,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364140",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 438,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 439,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 440,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 441,
+          "comment" : "Signature with special case values for r and s",
+          "msg" : "313233343030",
+          "sig" : "3028022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc30090380fe01",
+          "result" : "invalid",
+          "flags" : [
+            "EdgeCase"
+          ]
+        },
+        {
+          "tcId" : 442,
           "comment" : "Edge case for Shamir multiplication",
           "msg" : "3235353835",
           "sig" : "3045022100dd1b7d09a7bd8218961034a39a87fecf5314f00c4d25eb58a07ac85e85eab516022035138c401ef8d3493d65c9002fe62b43aee568731b744548358996d9cc427e06",
@@ -3743,20 +3909,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bc75e84bc85176a30559db843e5fbb3628526120dae9227de017934ab10526c0eccb6c30f0781acb6b7036ee6dd2b9b7d77c963247266e43",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvHXoS8hRdqMFWduEPl+7NihSYSDa6SJ9\n4BeTSrEFJsDsy2ww8Hgay2twNu5t0rm313yWMkcmbkM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bc75e84bc85176a30559db843e5fbb3628526120dae9227de017934ab10526c0eccb6c30f0781acb6b7036ee6dd2b9b7d77c963247266e43",
         "wx" : "0bc75e84bc85176a30559db843e5fbb3628526120dae9227de017934a",
         "wy" : "0b10526c0eccb6c30f0781acb6b7036ee6dd2b9b7d77c963247266e43"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bc75e84bc85176a30559db843e5fbb3628526120dae9227de017934ab10526c0eccb6c30f0781acb6b7036ee6dd2b9b7d77c963247266e43",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvHXoS8hRdqMFWduEPl+7NihSYSDa6SJ9\n4BeTSrEFJsDsy2ww8Hgay2twNu5t0rm313yWMkcmbkM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 427,
+          "tcId" : 443,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "4d7367",
           "sig" : "3030020f00e95c1f470fc1ec22d6baa3a3d5c1021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
@@ -3764,7 +3931,7 @@
           "flags" : []
         },
         {
-          "tcId" : 428,
+          "tcId" : 444,
           "comment" : "r too large",
           "msg" : "4d7367",
           "sig" : "303e021d00fffffffffffffffffffffffffffffffefffffffffffffffffffffffe021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3a",
@@ -3774,20 +3941,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040bfefa69d4970f77e259099b01bbb869248e4859ed20c3d50dd83081e1f47eb82f10f71166816ad2a533b341883f9cdd88567c0fa9b2312e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEC/76adSXD3fiWQmbAbu4aSSOSFntIMPV\nDdgwgeH0frgvEPcRZoFq0qUzs0GIP5zdiFZ8D6myMS4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "040bfefa69d4970f77e259099b01bbb869248e4859ed20c3d50dd83081e1f47eb82f10f71166816ad2a533b341883f9cdd88567c0fa9b2312e",
         "wx" : "0bfefa69d4970f77e259099b01bbb869248e4859ed20c3d50dd83081",
         "wy" : "0e1f47eb82f10f71166816ad2a533b341883f9cdd88567c0fa9b2312e"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040bfefa69d4970f77e259099b01bbb869248e4859ed20c3d50dd83081e1f47eb82f10f71166816ad2a533b341883f9cdd88567c0fa9b2312e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEC/76adSXD3fiWQmbAbu4aSSOSFntIMPV\nDdgwgeH0frgvEPcRZoFq0qUzs0GIP5zdiFZ8D6myMS4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 429,
+          "tcId" : 445,
           "comment" : "r,s are large",
           "msg" : "4d7367",
           "sig" : "303e021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3c021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3b",
@@ -3797,20 +3965,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000469627a4c0957fc76df1698c37b9c6efedf0768f9797da84749a6b6070ba90da74515d002f3ecc6fbc7619c66b962db97f361933fb2f9b943",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEaWJ6TAlX/HbfFpjDe5xu/t8HaPl5fahH\nSaa2BwupDadFFdAC8+zG+8dhnGa5YtuX82GTP7L5uUM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0469627a4c0957fc76df1698c37b9c6efedf0768f9797da84749a6b6070ba90da74515d002f3ecc6fbc7619c66b962db97f361933fb2f9b943",
         "wx" : "69627a4c0957fc76df1698c37b9c6efedf0768f9797da84749a6b607",
         "wy" : "0ba90da74515d002f3ecc6fbc7619c66b962db97f361933fb2f9b943"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000469627a4c0957fc76df1698c37b9c6efedf0768f9797da84749a6b6070ba90da74515d002f3ecc6fbc7619c66b962db97f361933fb2f9b943",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEaWJ6TAlX/HbfFpjDe5xu/t8HaPl5fahH\nSaa2BwupDadFFdAC8+zG+8dhnGa5YtuX82GTP7L5uUM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 430,
+          "tcId" : 446,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "4d7367",
           "sig" : "303c021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021c3d5052691b8dc89debad360466f2a39e82e8ae2aefb77c3c92ad7cd1",
@@ -3820,20 +3989,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046514a1d0aa8f7f516efee552d0948f6c44caa2f5b8489910753c7418e126a8aadd213f6f38e27b16b92fd6a9d01b10ec6db10f2ae7e24c31",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEZRSh0KqPf1Fu/uVS0JSPbETKovW4SJkQ\ndTx0GOEmqKrdIT9vOOJ7Frkv1qnQGxDsbbEPKufiTDE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "046514a1d0aa8f7f516efee552d0948f6c44caa2f5b8489910753c7418e126a8aadd213f6f38e27b16b92fd6a9d01b10ec6db10f2ae7e24c31",
         "wx" : "6514a1d0aa8f7f516efee552d0948f6c44caa2f5b8489910753c7418",
         "wy" : "0e126a8aadd213f6f38e27b16b92fd6a9d01b10ec6db10f2ae7e24c31"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00046514a1d0aa8f7f516efee552d0948f6c44caa2f5b8489910753c7418e126a8aadd213f6f38e27b16b92fd6a9d01b10ec6db10f2ae7e24c31",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEZRSh0KqPf1Fu/uVS0JSPbETKovW4SJkQ\ndTx0GOEmqKrdIT9vOOJ7Frkv1qnQGxDsbbEPKufiTDE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 431,
+          "tcId" : 447,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "4d7367",
           "sig" : "303d021c7fffffffffffffffffffffffffffffffffffffffffffffffffffffff021d00bf19ab4d3ebf5a1a49d765909308daa88c2b7be3969db552ea30562b",
@@ -3843,20 +4013,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045a1fd06d0c6ae74cd08b8a94b01357c110eb9304ce58b93de7b02e002c824eca4386c5fcfba682f9dcd88b99f5fe90f6c620c50d420509e4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEWh/QbQxq50zQi4qUsBNXwRDrkwTOWLk9\n57AuACyCTspDhsX8+6aC+dzYi5n1/pD2xiDFDUIFCeQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "045a1fd06d0c6ae74cd08b8a94b01357c110eb9304ce58b93de7b02e002c824eca4386c5fcfba682f9dcd88b99f5fe90f6c620c50d420509e4",
         "wx" : "5a1fd06d0c6ae74cd08b8a94b01357c110eb9304ce58b93de7b02e00",
         "wy" : "2c824eca4386c5fcfba682f9dcd88b99f5fe90f6c620c50d420509e4"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045a1fd06d0c6ae74cd08b8a94b01357c110eb9304ce58b93de7b02e002c824eca4386c5fcfba682f9dcd88b99f5fe90f6c620c50d420509e4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEWh/QbQxq50zQi4qUsBNXwRDrkwTOWLk9\n57AuACyCTspDhsX8+6aC+dzYi5n1/pD2xiDFDUIFCeQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 432,
+          "tcId" : 448,
           "comment" : "small r and s",
           "msg" : "4d7367",
           "sig" : "3006020103020101",
@@ -3866,20 +4037,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000499c273370404653c768c5d638e9209e81ebb03e132a3669a3c23c8c7c068e0572c09a968eaa4b92781fe0aa7303099b374b9c2fa5da05834",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEmcJzNwQEZTx2jF1jjpIJ6B67A+Eyo2aa\nPCPIx8Bo4FcsCalo6qS5J4H+CqcwMJmzdLnC+l2gWDQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0499c273370404653c768c5d638e9209e81ebb03e132a3669a3c23c8c7c068e0572c09a968eaa4b92781fe0aa7303099b374b9c2fa5da05834",
         "wx" : "099c273370404653c768c5d638e9209e81ebb03e132a3669a3c23c8c7",
         "wy" : "0c068e0572c09a968eaa4b92781fe0aa7303099b374b9c2fa5da05834"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000499c273370404653c768c5d638e9209e81ebb03e132a3669a3c23c8c7c068e0572c09a968eaa4b92781fe0aa7303099b374b9c2fa5da05834",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEmcJzNwQEZTx2jF1jjpIJ6B67A+Eyo2aa\nPCPIx8Bo4FcsCalo6qS5J4H+CqcwMJmzdLnC+l2gWDQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 433,
+          "tcId" : 449,
           "comment" : "small r and s",
           "msg" : "4d7367",
           "sig" : "3006020103020103",
@@ -3889,20 +4061,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bed2146c8c62ddc31327c7f33d3a8feb2c3ef8e4414fe55f3545144536e288f69784e2a2d1ba748b0b3e07ffc31af07fd42c519a5c485d63",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvtIUbIxi3cMTJ8fzPTqP6yw++ORBT+Vf\nNUUURTbiiPaXhOKi0bp0iws+B//DGvB/1CxRmlxIXWM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bed2146c8c62ddc31327c7f33d3a8feb2c3ef8e4414fe55f3545144536e288f69784e2a2d1ba748b0b3e07ffc31af07fd42c519a5c485d63",
         "wx" : "0bed2146c8c62ddc31327c7f33d3a8feb2c3ef8e4414fe55f35451445",
         "wy" : "36e288f69784e2a2d1ba748b0b3e07ffc31af07fd42c519a5c485d63"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bed2146c8c62ddc31327c7f33d3a8feb2c3ef8e4414fe55f3545144536e288f69784e2a2d1ba748b0b3e07ffc31af07fd42c519a5c485d63",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvtIUbIxi3cMTJ8fzPTqP6yw++ORBT+Vf\nNUUURTbiiPaXhOKi0bp0iws+B//DGvB/1CxRmlxIXWM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 434,
+          "tcId" : 450,
           "comment" : "small r and s",
           "msg" : "4d7367",
           "sig" : "3006020103020104",
@@ -3910,7 +4083,7 @@
           "flags" : []
         },
         {
-          "tcId" : 435,
+          "tcId" : 451,
           "comment" : "r is larger than n",
           "msg" : "4d7367",
           "sig" : "3022021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a40020104",
@@ -3920,20 +4093,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a83321aecea4a1fca6be1add7a93ab679ef165ee24999eedf50a2dca00d1bb5122c539d17669e7b805d1ef3c83f81b991af0c380429fad85",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEqDMhrs6kofymvhrdepOrZ57xZe4kmZ7t\n9QotygDRu1EixTnRdmnnuAXR7zyD+BuZGvDDgEKfrYU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a83321aecea4a1fca6be1add7a93ab679ef165ee24999eedf50a2dca00d1bb5122c539d17669e7b805d1ef3c83f81b991af0c380429fad85",
         "wx" : "0a83321aecea4a1fca6be1add7a93ab679ef165ee24999eedf50a2dca",
         "wy" : "0d1bb5122c539d17669e7b805d1ef3c83f81b991af0c380429fad85"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a83321aecea4a1fca6be1add7a93ab679ef165ee24999eedf50a2dca00d1bb5122c539d17669e7b805d1ef3c83f81b991af0c380429fad85",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEqDMhrs6kofymvhrdepOrZ57xZe4kmZ7t\n9QotygDRu1EixTnRdmnnuAXR7zyD+BuZGvDDgEKfrYU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 436,
+          "tcId" : 452,
           "comment" : "s is larger than n",
           "msg" : "4d7367",
           "sig" : "3022020103021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c6f00c4",
@@ -3943,20 +4117,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000448aea0b4cbcbeba311d7d90a3a68c3af32d9aad3ea9eccb7573599a6dd5e2021bd903228e2d46faa9dd294a0793f81ad352f448e3e3b5ddc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAESK6gtMvL66MR19kKOmjDrzLZqtPqnsy3\nVzWZpt1eICG9kDIo4tRvqp3SlKB5P4GtNS9Ejj47Xdw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0448aea0b4cbcbeba311d7d90a3a68c3af32d9aad3ea9eccb7573599a6dd5e2021bd903228e2d46faa9dd294a0793f81ad352f448e3e3b5ddc",
         "wx" : "48aea0b4cbcbeba311d7d90a3a68c3af32d9aad3ea9eccb7573599a6",
         "wy" : "0dd5e2021bd903228e2d46faa9dd294a0793f81ad352f448e3e3b5ddc"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000448aea0b4cbcbeba311d7d90a3a68c3af32d9aad3ea9eccb7573599a6dd5e2021bd903228e2d46faa9dd294a0793f81ad352f448e3e3b5ddc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAESK6gtMvL66MR19kKOmjDrzLZqtPqnsy3\nVzWZpt1eICG9kDIo4tRvqp3SlKB5P4GtNS9Ejj47Xdw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 437,
+          "tcId" : 453,
           "comment" : "small r and s^-1",
           "msg" : "4d7367",
           "sig" : "302302020100021d00c993264c993264c993264c99326411d2e55b3214a8d67528812a55ab",
@@ -3966,20 +4141,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043b11713a7fd7aa516ba2529ad28ac4ce9b6ddc0d9bf4be5fd235b81c139277b772527cd2e857d212402f80d7f3c237e4730509012fab97c6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEOxFxOn/XqlFrolKa0orEzptt3A2b9L5f\n0jW4HBOSd7dyUnzS6FfSEkAvgNfzwjfkcwUJAS+rl8Y=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043b11713a7fd7aa516ba2529ad28ac4ce9b6ddc0d9bf4be5fd235b81c139277b772527cd2e857d212402f80d7f3c237e4730509012fab97c6",
         "wx" : "3b11713a7fd7aa516ba2529ad28ac4ce9b6ddc0d9bf4be5fd235b81c",
         "wy" : "139277b772527cd2e857d212402f80d7f3c237e4730509012fab97c6"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043b11713a7fd7aa516ba2529ad28ac4ce9b6ddc0d9bf4be5fd235b81c139277b772527cd2e857d212402f80d7f3c237e4730509012fab97c6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEOxFxOn/XqlFrolKa0orEzptt3A2b9L5f\n0jW4HBOSd7dyUnzS6FfSEkAvgNfzwjfkcwUJAS+rl8Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 438,
+          "tcId" : 454,
           "comment" : "smallish r and s^-1",
           "msg" : "4d7367",
           "sig" : "302702072d9b4d347952cc021c3e85d56474b5c55fbe86608442a84b2bf093b7d75f53a47250e1c70c",
@@ -3989,20 +4165,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047b1bf2b11f43f76f623270499a325450a8933590c09e132b83147033109485d2a2850aa0ed457e8de70398265ea27cbea2a53cc3a95db998",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEexvysR9D929iMnBJmjJUUKiTNZDAnhMr\ngxRwMxCUhdKihQqg7UV+jecDmCZeony+oqU8w6lduZg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "047b1bf2b11f43f76f623270499a325450a8933590c09e132b83147033109485d2a2850aa0ed457e8de70398265ea27cbea2a53cc3a95db998",
         "wx" : "7b1bf2b11f43f76f623270499a325450a8933590c09e132b83147033",
         "wy" : "109485d2a2850aa0ed457e8de70398265ea27cbea2a53cc3a95db998"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00047b1bf2b11f43f76f623270499a325450a8933590c09e132b83147033109485d2a2850aa0ed457e8de70398265ea27cbea2a53cc3a95db998",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEexvysR9D929iMnBJmjJUUKiTNZDAnhMr\ngxRwMxCUhdKihQqg7UV+jecDmCZeony+oqU8w6lduZg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 439,
+          "tcId" : 455,
           "comment" : "100-bit r and small s^-1",
           "msg" : "4d7367",
           "sig" : "302d020d1033e67e37b32b445580bf4efb021c02fd02fd02fd02fd02fd02fd02fd0043a4fd2da317247308c74dc6b8",
@@ -4012,20 +4189,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000438243cf4e5484660564484d497ef2afe528f28fda8c3697d10750a77b5c87a1b3090e592f047d1ba44b8f3ba1ec076fd8e8115c6fd671f22",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEOCQ89OVIRmBWRITUl+8q/lKPKP2ow2l9\nEHUKd7XIehswkOWS8EfRukS487oewHb9joEVxv1nHyI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0438243cf4e5484660564484d497ef2afe528f28fda8c3697d10750a77b5c87a1b3090e592f047d1ba44b8f3ba1ec076fd8e8115c6fd671f22",
         "wx" : "38243cf4e5484660564484d497ef2afe528f28fda8c3697d10750a77",
         "wy" : "0b5c87a1b3090e592f047d1ba44b8f3ba1ec076fd8e8115c6fd671f22"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000438243cf4e5484660564484d497ef2afe528f28fda8c3697d10750a77b5c87a1b3090e592f047d1ba44b8f3ba1ec076fd8e8115c6fd671f22",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEOCQ89OVIRmBWRITUl+8q/lKPKP2ow2l9\nEHUKd7XIehswkOWS8EfRukS487oewHb9joEVxv1nHyI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 440,
+          "tcId" : 456,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "4d7367",
           "sig" : "302302020100021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e",
@@ -4035,20 +4213,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043147173105159d5a66542e891dc5c1e831c390d76556a21f46b3f15ed9680c6eaa4136100e87bfa6592b8f059ae1450cf10980691049a5e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMUcXMQUVnVpmVC6JHcXB6DHDkNdlVqIf\nRrPxXtloDG6qQTYQDoe/plkrjwWa4UUM8QmAaRBJpeU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "043147173105159d5a66542e891dc5c1e831c390d76556a21f46b3f15ed9680c6eaa4136100e87bfa6592b8f059ae1450cf10980691049a5e5",
         "wx" : "3147173105159d5a66542e891dc5c1e831c390d76556a21f46b3f15e",
         "wy" : "0d9680c6eaa4136100e87bfa6592b8f059ae1450cf10980691049a5e5"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00043147173105159d5a66542e891dc5c1e831c390d76556a21f46b3f15ed9680c6eaa4136100e87bfa6592b8f059ae1450cf10980691049a5e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMUcXMQUVnVpmVC6JHcXB6DHDkNdlVqIf\nRrPxXtloDG6qQTYQDoe/plkrjwWa4UUM8QmAaRBJpeU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 441,
+          "tcId" : 457,
           "comment" : "100-bit r and s^-1",
           "msg" : "4d7367",
           "sig" : "302e020d062522bbd3ecbe7c39e93e7c24021d00d05434abacd859ed74185e75b751c6d9f60c7921dacfbb8e19cdba8e",
@@ -4058,20 +4237,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000476152d39df62cbd76319de7d35bdb1a3994baf4f5ca5fc984e95021cb1b3a380622ebbd266413ef0ba15d121afc5d2d51ba7979da29c4007",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdhUtOd9iy9djGd59Nb2xo5lLr09cpfyY\nTpUCHLGzo4BiLrvSZkE+8LoV0SGvxdLVG6eXnaKcQAc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0476152d39df62cbd76319de7d35bdb1a3994baf4f5ca5fc984e95021cb1b3a380622ebbd266413ef0ba15d121afc5d2d51ba7979da29c4007",
         "wx" : "76152d39df62cbd76319de7d35bdb1a3994baf4f5ca5fc984e95021c",
         "wy" : "0b1b3a380622ebbd266413ef0ba15d121afc5d2d51ba7979da29c4007"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000476152d39df62cbd76319de7d35bdb1a3994baf4f5ca5fc984e95021cb1b3a380622ebbd266413ef0ba15d121afc5d2d51ba7979da29c4007",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdhUtOd9iy9djGd59Nb2xo5lLr09cpfyY\nTpUCHLGzo4BiLrvSZkE+8LoV0SGvxdLVG6eXnaKcQAc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 442,
+          "tcId" : 458,
           "comment" : "r and s^-1 are close to n",
           "msg" : "4d7367",
           "sig" : "303d021d00ffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c29bd021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -4081,20 +4261,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048e7d4044d0aece8c814fd2e4a540d6ce14e3e92498a4f6d2760170e0e7edb0b8e72157b42682787a43f78632b5bc8d5ca084b08ddd742902",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjn1ARNCuzoyBT9LkpUDWzhTj6SSYpPbS\ndgFw4OftsLjnIVe0JoJ4ekP3hjK1vI1coISwjd10KQI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "048e7d4044d0aece8c814fd2e4a540d6ce14e3e92498a4f6d2760170e0e7edb0b8e72157b42682787a43f78632b5bc8d5ca084b08ddd742902",
         "wx" : "08e7d4044d0aece8c814fd2e4a540d6ce14e3e92498a4f6d2760170e0",
         "wy" : "0e7edb0b8e72157b42682787a43f78632b5bc8d5ca084b08ddd742902"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048e7d4044d0aece8c814fd2e4a540d6ce14e3e92498a4f6d2760170e0e7edb0b8e72157b42682787a43f78632b5bc8d5ca084b08ddd742902",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjn1ARNCuzoyBT9LkpUDWzhTj6SSYpPbS\ndgFw4OftsLjnIVe0JoJ4ekP3hjK1vI1coISwjd10KQI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 443,
+          "tcId" : 459,
           "comment" : "s == 1",
           "msg" : "4d7367",
           "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020101",
@@ -4102,7 +4283,7 @@
           "flags" : []
         },
         {
-          "tcId" : 444,
+          "tcId" : 460,
           "comment" : "s == 0",
           "msg" : "4d7367",
           "sig" : "3021021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14020100",
@@ -4112,20 +4293,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000486eef598040bc7ceb7cf07f0ee72e4e947dc120023bf552c0b484170bffa633852e6c6e2a41d61cf223a86b6ecfcf682cca8c38794925f4d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhu71mAQLx863zwfw7nLk6UfcEgAjv1Us\nC0hBcL/6YzhS5sbipB1hzyI6hrbs/PaCzKjDh5SSX00=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0486eef598040bc7ceb7cf07f0ee72e4e947dc120023bf552c0b484170bffa633852e6c6e2a41d61cf223a86b6ecfcf682cca8c38794925f4d",
         "wx" : "086eef598040bc7ceb7cf07f0ee72e4e947dc120023bf552c0b484170",
         "wy" : "0bffa633852e6c6e2a41d61cf223a86b6ecfcf682cca8c38794925f4d"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000486eef598040bc7ceb7cf07f0ee72e4e947dc120023bf552c0b484170bffa633852e6c6e2a41d61cf223a86b6ecfcf682cca8c38794925f4d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhu71mAQLx863zwfw7nLk6UfcEgAjv1Us\nC0hBcL/6YzhS5sbipB1hzyI6hrbs/PaCzKjDh5SSX00=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 445,
+          "tcId" : 461,
           "comment" : "point at infinity during verify",
           "msg" : "4d7367",
           "sig" : "303c021c7fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e151e021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -4135,20 +4317,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b7fd6e16896127b2d4341fb41c4274797b739bd5b756c4737f8fee55eb01d914e4dfdf606e9198bf03dfc7734abd0fadd4193ed0515f3cd7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEt/1uFolhJ7LUNB+0HEJ0eXtzm9W3VsRz\nf4/uVesB2RTk399gbpGYvwPfx3NKvQ+t1Bk+0FFfPNc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b7fd6e16896127b2d4341fb41c4274797b739bd5b756c4737f8fee55eb01d914e4dfdf606e9198bf03dfc7734abd0fadd4193ed0515f3cd7",
         "wx" : "0b7fd6e16896127b2d4341fb41c4274797b739bd5b756c4737f8fee55",
         "wy" : "0eb01d914e4dfdf606e9198bf03dfc7734abd0fadd4193ed0515f3cd7"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b7fd6e16896127b2d4341fb41c4274797b739bd5b756c4737f8fee55eb01d914e4dfdf606e9198bf03dfc7734abd0fadd4193ed0515f3cd7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEt/1uFolhJ7LUNB+0HEJ0eXtzm9W3VsRz\nf4/uVesB2RTk399gbpGYvwPfx3NKvQ+t1Bk+0FFfPNc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 446,
+          "tcId" : 462,
           "comment" : "u1 == 1",
           "msg" : "4d7367",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c0b041f884d648cc345e4600078eb790708ccad576d4abe3c943aa328",
@@ -4158,20 +4341,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004161fe96bac1f151e0565a7b2c3c089d79df5d298e7ca48964fdd86574c6247dbd41f235a149736122e96e6735054dac58c234031153fb82f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFh/pa6wfFR4FZaeyw8CJ15310pjnykiW\nT92GV0xiR9vUHyNaFJc2Ei6W5nNQVNrFjCNAMRU/uC8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04161fe96bac1f151e0565a7b2c3c089d79df5d298e7ca48964fdd86574c6247dbd41f235a149736122e96e6735054dac58c234031153fb82f",
         "wx" : "161fe96bac1f151e0565a7b2c3c089d79df5d298e7ca48964fdd8657",
         "wy" : "4c6247dbd41f235a149736122e96e6735054dac58c234031153fb82f"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004161fe96bac1f151e0565a7b2c3c089d79df5d298e7ca48964fdd86574c6247dbd41f235a149736122e96e6735054dac58c234031153fb82f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFh/pa6wfFR4FZaeyw8CJ15310pjnykiW\nT92GV0xiR9vUHyNaFJc2Ei6W5nNQVNrFjCNAMRU/uC8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 447,
+          "tcId" : 463,
           "comment" : "u1 == n - 1",
           "msg" : "4d7367",
           "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00f4fbe077b29b733cba1b9fff87139d9bd7ec42e6a6926b08c8218715",
@@ -4181,20 +4365,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004882dff239cdf9a0812caaf384ade87497131e6fb8ca184c27f9fb4d60032fbe649751ab5bc386f09dcab56a6df6563480a4bec5ed72298b1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEiC3/I5zfmggSyq84St6HSXEx5vuMoYTC\nf5+01gAy++ZJdRq1vDhvCdyrVqbfZWNICkvsXtcimLE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04882dff239cdf9a0812caaf384ade87497131e6fb8ca184c27f9fb4d60032fbe649751ab5bc386f09dcab56a6df6563480a4bec5ed72298b1",
         "wx" : "0882dff239cdf9a0812caaf384ade87497131e6fb8ca184c27f9fb4d6",
         "wy" : "32fbe649751ab5bc386f09dcab56a6df6563480a4bec5ed72298b1"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004882dff239cdf9a0812caaf384ade87497131e6fb8ca184c27f9fb4d60032fbe649751ab5bc386f09dcab56a6df6563480a4bec5ed72298b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEiC3/I5zfmggSyq84St6HSXEx5vuMoYTC\nf5+01gAy++ZJdRq1vDhvCdyrVqbfZWNICkvsXtcimLE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 448,
+          "tcId" : 464,
           "comment" : "u2 == 1",
           "msg" : "4d7367",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
@@ -4204,20 +4389,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cd8f963a1694e83241a7172f782b211786bc47b31ce5cad6abc865c19310d590a09e146c08fe443df76ec22ea95a62a90c7acef1127e4d71",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEzY+WOhaU6DJBpxcveCshF4a8R7Mc5crW\nq8hlwZMQ1ZCgnhRsCP5EPfduwi6pWmKpDHrO8RJ+TXE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cd8f963a1694e83241a7172f782b211786bc47b31ce5cad6abc865c19310d590a09e146c08fe443df76ec22ea95a62a90c7acef1127e4d71",
         "wx" : "0cd8f963a1694e83241a7172f782b211786bc47b31ce5cad6abc865c1",
         "wy" : "09310d590a09e146c08fe443df76ec22ea95a62a90c7acef1127e4d71"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004cd8f963a1694e83241a7172f782b211786bc47b31ce5cad6abc865c19310d590a09e146c08fe443df76ec22ea95a62a90c7acef1127e4d71",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEzY+WOhaU6DJBpxcveCshF4a8R7Mc5crW\nq8hlwZMQ1ZCgnhRsCP5EPfduwi6pWmKpDHrO8RJ+TXE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 449,
+          "tcId" : 465,
           "comment" : "u2 == n - 1",
           "msg" : "4d7367",
           "sig" : "303d021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021d00aaaaaaaaaaaaaaaaaaaaaaaaaaaa0f17407b4ad40d3e1b8392e81c29",
@@ -4227,20 +4413,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b564852ecb065e52db2b0cf9acdd3499b9b0045331a78e27aab12d173bccbf5375fc99604883f23b83f46f3e3c36c46dda56227b771497ed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtWSFLssGXlLbKwz5rN00mbmwBFMxp44n\nqrEtFzvMv1N1/JlgSIPyO4P0bz48NsRt2lYie3cUl+0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b564852ecb065e52db2b0cf9acdd3499b9b0045331a78e27aab12d173bccbf5375fc99604883f23b83f46f3e3c36c46dda56227b771497ed",
         "wx" : "0b564852ecb065e52db2b0cf9acdd3499b9b0045331a78e27aab12d17",
         "wy" : "3bccbf5375fc99604883f23b83f46f3e3c36c46dda56227b771497ed"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b564852ecb065e52db2b0cf9acdd3499b9b0045331a78e27aab12d173bccbf5375fc99604883f23b83f46f3e3c36c46dda56227b771497ed",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtWSFLssGXlLbKwz5rN00mbmwBFMxp44n\nqrEtFzvMv1N1/JlgSIPyO4P0bz48NsRt2lYie3cUl+0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 450,
+          "tcId" : 466,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ae56b52d6f218441174c2000284de21998bf849bdc570597c450fd36",
@@ -4250,20 +4437,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6780fe52e48d890a9ece0d4eda2ab9ad7c18cbfa9fd747215fc2cd14463d417b8b15383290a12cc3d5f1a5d24df2607bf73dbc6e61d0dc8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExngP5S5I2JCp7ODU7aKrmtfBjL+p/XRy\nFfws0URj1Be4sVODKQoSzD1fGl0k3yYHv3PbxuYdDcg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c6780fe52e48d890a9ece0d4eda2ab9ad7c18cbfa9fd747215fc2cd14463d417b8b15383290a12cc3d5f1a5d24df2607bf73dbc6e61d0dc8",
         "wx" : "0c6780fe52e48d890a9ece0d4eda2ab9ad7c18cbfa9fd747215fc2cd1",
         "wy" : "4463d417b8b15383290a12cc3d5f1a5d24df2607bf73dbc6e61d0dc8"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c6780fe52e48d890a9ece0d4eda2ab9ad7c18cbfa9fd747215fc2cd14463d417b8b15383290a12cc3d5f1a5d24df2607bf73dbc6e61d0dc8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAExngP5S5I2JCp7ODU7aKrmtfBjL+p/XRy\nFfws0URj1Be4sVODKQoSzD1fGl0k3yYHv3PbxuYdDcg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 451,
+          "tcId" : 467,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00abadccc5cafa7d90d9f20d1f3fbe18241e38cd6e99821135a808feb6",
@@ -4273,20 +4461,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004111285cc943890d01f0ef496a0ab99c5f879127941193717ecfec0ad35cea32862b4985580a4277d6062210ff42a529eb878b901183743de",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEERKFzJQ4kNAfDvSWoKuZxfh5EnlBGTcX\n7P7ArTXOoyhitJhVgKQnfWBiIQ/0KlKeuHi5ARg3Q94=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04111285cc943890d01f0ef496a0ab99c5f879127941193717ecfec0ad35cea32862b4985580a4277d6062210ff42a529eb878b901183743de",
         "wx" : "111285cc943890d01f0ef496a0ab99c5f879127941193717ecfec0ad",
         "wy" : "35cea32862b4985580a4277d6062210ff42a529eb878b901183743de"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004111285cc943890d01f0ef496a0ab99c5f879127941193717ecfec0ad35cea32862b4985580a4277d6062210ff42a529eb878b901183743de",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEERKFzJQ4kNAfDvSWoKuZxfh5EnlBGTcX\n7P7ArTXOoyhitJhVgKQnfWBiIQ/0KlKeuHi5ARg3Q94=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 452,
+          "tcId" : 468,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00ab7051d7e48b9f852e258cbede1f26aedc2e862ca9f63c7314c6ab13",
@@ -4296,20 +4485,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a70cf775ed0c3c6bc97e7c43e855c635d0b594011e59df12a8e28ee148da113b01454696dbe066c0368055000a92ad1018f1f6f2ccf8a26b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpwz3de0MPGvJfnxD6FXGNdC1lAEeWd8S\nqOKO4UjaETsBRUaW2+BmwDaAVQAKkq0QGPH28sz4oms=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a70cf775ed0c3c6bc97e7c43e855c635d0b594011e59df12a8e28ee148da113b01454696dbe066c0368055000a92ad1018f1f6f2ccf8a26b",
         "wx" : "0a70cf775ed0c3c6bc97e7c43e855c635d0b594011e59df12a8e28ee1",
         "wy" : "48da113b01454696dbe066c0368055000a92ad1018f1f6f2ccf8a26b"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a70cf775ed0c3c6bc97e7c43e855c635d0b594011e59df12a8e28ee148da113b01454696dbe066c0368055000a92ad1018f1f6f2ccf8a26b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpwz3de0MPGvJfnxD6FXGNdC1lAEeWd8S\nqOKO4UjaETsBRUaW2+BmwDaAVQAKkq0QGPH28sz4oms=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 453,
+          "tcId" : 469,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c787b89e72cafea47f4fbe077b29b056875feb7f770106528bbee29a6",
@@ -4319,20 +4509,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a2e42035b4fe096ecacb4b1a06565af64cfcc2b04f0178bc100732da00f2f50ea59d2a39ccee2eb5eca216c4748da18d783907963f5cb3e4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEouQgNbT+CW7Ky0saBlZa9kz8wrBPAXi8\nEAcy2gDy9Q6lnSo5zO4uteyiFsR0jaGNeDkHlj9cs+Q=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a2e42035b4fe096ecacb4b1a06565af64cfcc2b04f0178bc100732da00f2f50ea59d2a39ccee2eb5eca216c4748da18d783907963f5cb3e4",
         "wx" : "0a2e42035b4fe096ecacb4b1a06565af64cfcc2b04f0178bc100732da",
         "wy" : "0f2f50ea59d2a39ccee2eb5eca216c4748da18d783907963f5cb3e4"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a2e42035b4fe096ecacb4b1a06565af64cfcc2b04f0178bc100732da00f2f50ea59d2a39ccee2eb5eca216c4748da18d783907963f5cb3e4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEouQgNbT+CW7Ky0saBlZa9kz8wrBPAXi8\nEAcy2gDy9Q6lnSo5zO4uteyiFsR0jaGNeDkHlj9cs+Q=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 454,
+          "tcId" : 470,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00b89e72cafea47f4fbe077b29b73323565b6713b98090e2a4a8d86ed5",
@@ -4342,20 +4533,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f378963f5ef0893b5f89d58f73e9f5de692843637b8d9f301a775374f53e8627b42d2d6d540c0e238d4abc9576b7f202a97774e2ee9e58a6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE83iWP17wiTtfidWPc+n13mkoQ2N7jZ8w\nGndTdPU+hie0LS1tVAwOI41KvJV2t/ICqXd04u6eWKY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f378963f5ef0893b5f89d58f73e9f5de692843637b8d9f301a775374f53e8627b42d2d6d540c0e238d4abc9576b7f202a97774e2ee9e58a6",
         "wx" : "0f378963f5ef0893b5f89d58f73e9f5de692843637b8d9f301a775374",
         "wy" : "0f53e8627b42d2d6d540c0e238d4abc9576b7f202a97774e2ee9e58a6"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004f378963f5ef0893b5f89d58f73e9f5de692843637b8d9f301a775374f53e8627b42d2d6d540c0e238d4abc9576b7f202a97774e2ee9e58a6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE83iWP17wiTtfidWPc+n13mkoQ2N7jZ8w\nGndTdPU+hie0LS1tVAwOI41KvJV2t/ICqXd04u6eWKY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 455,
+          "tcId" : 471,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c713ce595fd48fe9f7c0ef6536e673009d6153734ed449c03f554b36d",
@@ -4365,20 +4557,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044be8786cf0e12e300b6180bcfb839a857f8aa99dc77e5496d28fcd122b5b9a274964449662fa65f8af0ca1f5d28c70a5c0a85d638cb8affe",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAES+h4bPDhLjALYYC8+4OahX+KqZ3HflSW\n0o/NEitbmidJZESWYvpl+K8MofXSjHClwKhdY4y4r/4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044be8786cf0e12e300b6180bcfb839a857f8aa99dc77e5496d28fcd122b5b9a274964449662fa65f8af0ca1f5d28c70a5c0a85d638cb8affe",
         "wx" : "4be8786cf0e12e300b6180bcfb839a857f8aa99dc77e5496d28fcd12",
         "wy" : "2b5b9a274964449662fa65f8af0ca1f5d28c70a5c0a85d638cb8affe"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044be8786cf0e12e300b6180bcfb839a857f8aa99dc77e5496d28fcd122b5b9a274964449662fa65f8af0ca1f5d28c70a5c0a85d638cb8affe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAES+h4bPDhLjALYYC8+4OahX+KqZ3HflSW\n0o/NEitbmidJZESWYvpl+K8MofXSjHClwKhdY4y4r/4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 456,
+          "tcId" : 472,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2cafea47f4fbe077b29b733cba1b7743297b2de81ca9398d72ec3df5",
@@ -4388,20 +4581,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049e5daf1bfea28ce039a8b95a08a1335034dd4cb8fe62ab5c8083ad27fea54bd62f2cf6ba7be2bb2823f73ebb3bb31fa3cf6638c11ecee8bb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEnl2vG/6ijOA5qLlaCKEzUDTdTLj+Yqtc\ngIOtJ/6lS9YvLPa6e+K7KCP3Prs7sx+jz2Y4wR7O6Ls=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "049e5daf1bfea28ce039a8b95a08a1335034dd4cb8fe62ab5c8083ad27fea54bd62f2cf6ba7be2bb2823f73ebb3bb31fa3cf6638c11ecee8bb",
         "wx" : "09e5daf1bfea28ce039a8b95a08a1335034dd4cb8fe62ab5c8083ad27",
         "wy" : "0fea54bd62f2cf6ba7be2bb2823f73ebb3bb31fa3cf6638c11ecee8bb"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00049e5daf1bfea28ce039a8b95a08a1335034dd4cb8fe62ab5c8083ad27fea54bd62f2cf6ba7be2bb2823f73ebb3bb31fa3cf6638c11ecee8bb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEnl2vG/6ijOA5qLlaCKEzUDTdTLj+Yqtc\ngIOtJ/6lS9YvLPa6e+K7KCP3Prs7sx+jz2Y4wR7O6Ls=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 457,
+          "tcId" : 473,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00a8d4a569486f3ddf7459efffebd8259614592df025b1a6797a33aba2",
@@ -4411,20 +4605,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004846285e0d1d15f80a2377a48d5233c61f8cff74cd6236fff2936c006647b6c0e9bc8a250f8b3b3b2565dd0b65f394db2a5c58bf271ca4a22",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhGKF4NHRX4CiN3pI1SM8YfjP90zWI2//\nKTbABmR7bA6byKJQ+LOzslZd0LZfOU2ypcWL8nHKSiI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04846285e0d1d15f80a2377a48d5233c61f8cff74cd6236fff2936c006647b6c0e9bc8a250f8b3b3b2565dd0b65f394db2a5c58bf271ca4a22",
         "wx" : "0846285e0d1d15f80a2377a48d5233c61f8cff74cd6236fff2936c006",
         "wy" : "647b6c0e9bc8a250f8b3b3b2565dd0b65f394db2a5c58bf271ca4a22"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004846285e0d1d15f80a2377a48d5233c61f8cff74cd6236fff2936c006647b6c0e9bc8a250f8b3b3b2565dd0b65f394db2a5c58bf271ca4a22",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEhGKF4NHRX4CiN3pI1SM8YfjP90zWI2//\nKTbABmR7bA6byKJQ+LOzslZd0LZfOU2ypcWL8nHKSiI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 458,
+          "tcId" : 474,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c51a94ad290de7bbee8b3dfffd7b1348947f96ba2378623ad980b2d07",
@@ -4434,20 +4629,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ecc1ba5ba1d685c1c4a15146145b376f2e42950c3876f2160988a68ab58542baf7fa542fbab77cc7c93ff28969e37cf0f3ffbfe7fe02dc51",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7MG6W6HWhcHEoVFGFFs3by5ClQw4dvIW\nCYimirWFQrr3+lQvurd8x8k/8olp43zw8/+/5/4C3FE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ecc1ba5ba1d685c1c4a15146145b376f2e42950c3876f2160988a68ab58542baf7fa542fbab77cc7c93ff28969e37cf0f3ffbfe7fe02dc51",
         "wx" : "0ecc1ba5ba1d685c1c4a15146145b376f2e42950c3876f2160988a68a",
         "wy" : "0b58542baf7fa542fbab77cc7c93ff28969e37cf0f3ffbfe7fe02dc51"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ecc1ba5ba1d685c1c4a15146145b376f2e42950c3876f2160988a68ab58542baf7fa542fbab77cc7c93ff28969e37cf0f3ffbfe7fe02dc51",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7MG6W6HWhcHEoVFGFFs3by5ClQw4dvIW\nCYimirWFQrr3+lQvurd8x8k/8olp43zw8/+/5/4C3FE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 459,
+          "tcId" : 475,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00fa7df03bd94db99e5d0dcfffc3895a1f5c5299925d37ca27123ed8a9",
@@ -4457,20 +4653,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042cbb210b5f6d09ade8b6566e9e4f122caa0032798cff8fa3cb36a10c7978044ce07d958601f3e49323313780325ed39eb4ed130b4c70551a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELLshC19tCa3otlZunk8SLKoAMnmM/4+j\nyzahDHl4BEzgfZWGAfPkkyMxN4AyXtOetO0TC0xwVRo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "042cbb210b5f6d09ade8b6566e9e4f122caa0032798cff8fa3cb36a10c7978044ce07d958601f3e49323313780325ed39eb4ed130b4c70551a",
         "wx" : "2cbb210b5f6d09ade8b6566e9e4f122caa0032798cff8fa3cb36a10c",
         "wy" : "7978044ce07d958601f3e49323313780325ed39eb4ed130b4c70551a"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00042cbb210b5f6d09ade8b6566e9e4f122caa0032798cff8fa3cb36a10c7978044ce07d958601f3e49323313780325ed39eb4ed130b4c70551a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAELLshC19tCa3otlZunk8SLKoAMnmM/4+j\nyzahDHl4BEzgfZWGAfPkkyMxN4AyXtOetO0TC0xwVRo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 460,
+          "tcId" : 476,
           "comment" : "edge case for u1",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d5b828ebf245cfc29712c65f6f0f1ea8de73bb355ee9b2dc38916aa8",
@@ -4480,20 +4677,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004754108bb613336db9886cba90f5e4a9e4efd26cad603ff650164350de335eb473aa5c19e9d28d3100879d90c733e0f8436fef59a5afa1016",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdUEIu2EzNtuYhsupD15Knk79JsrWA/9l\nAWQ1DeM160c6pcGenSjTEAh52QxzPg+ENv71mlr6EBY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04754108bb613336db9886cba90f5e4a9e4efd26cad603ff650164350de335eb473aa5c19e9d28d3100879d90c733e0f8436fef59a5afa1016",
         "wx" : "754108bb613336db9886cba90f5e4a9e4efd26cad603ff650164350d",
         "wy" : "0e335eb473aa5c19e9d28d3100879d90c733e0f8436fef59a5afa1016"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004754108bb613336db9886cba90f5e4a9e4efd26cad603ff650164350de335eb473aa5c19e9d28d3100879d90c733e0f8436fef59a5afa1016",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEdUEIu2EzNtuYhsupD15Knk79JsrWA/9l\nAWQ1DeM160c6pcGenSjTEAh52QxzPg+ENv71mlr6EBY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 461,
+          "tcId" : 477,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffffb2364ae85014b149b86c741eb8be",
@@ -4503,20 +4701,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004273c311cc5ce74d1d01b017188472de04b38b72d34abfae6266679b4ec64adcb3ca5247cf598a9cb66cc22e79e31f1661c781c1871fcc1a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJzwxHMXOdNHQGwFxiEct4Es4ty00q/rm\nJmZ5tOxkrcs8pSR89Zipy2bMIueeMfFmHHgcGHH8waM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04273c311cc5ce74d1d01b017188472de04b38b72d34abfae6266679b4ec64adcb3ca5247cf598a9cb66cc22e79e31f1661c781c1871fcc1a3",
         "wx" : "273c311cc5ce74d1d01b017188472de04b38b72d34abfae6266679b4",
         "wy" : "0ec64adcb3ca5247cf598a9cb66cc22e79e31f1661c781c1871fcc1a3"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004273c311cc5ce74d1d01b017188472de04b38b72d34abfae6266679b4ec64adcb3ca5247cf598a9cb66cc22e79e31f1661c781c1871fcc1a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJzwxHMXOdNHQGwFxiEct4Es4ty00q/rm\nJmZ5tOxkrcs8pSR89Zipy2bMIueeMfFmHHgcGHH8waM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 462,
+          "tcId" : 478,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00855f5b2dc8e46ec428a593f73219cf65dae793e8346e30cc3701309c",
@@ -4526,20 +4725,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bd53b3b52cd9134e91e2f90ba50083c007daa7cff5cdabe4208ec1b8d4b114bdcd3f599aedde76c6ea6993d1d578d8faf9851d136d4caa4f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvVOztSzZE06R4vkLpQCDwAfap8/1zavk\nII7BuNSxFL3NP1ma7d52xuppk9HVeNj6+YUdE21Mqk8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bd53b3b52cd9134e91e2f90ba50083c007daa7cff5cdabe4208ec1b8d4b114bdcd3f599aedde76c6ea6993d1d578d8faf9851d136d4caa4f",
         "wx" : "0bd53b3b52cd9134e91e2f90ba50083c007daa7cff5cdabe4208ec1b8",
         "wy" : "0d4b114bdcd3f599aedde76c6ea6993d1d578d8faf9851d136d4caa4f"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bd53b3b52cd9134e91e2f90ba50083c007daa7cff5cdabe4208ec1b8d4b114bdcd3f599aedde76c6ea6993d1d578d8faf9851d136d4caa4f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvVOztSzZE06R4vkLpQCDwAfap8/1zavk\nII7BuNSxFL3NP1ma7d52xuppk9HVeNj6+YUdE21Mqk8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 463,
+          "tcId" : 479,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c2db5f61aea817276af2064e104c7a30e32034cb526dd0aacfa56566f",
@@ -4549,20 +4749,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004014cbf869ed4534cd9d32fc5bb806d5dfa61aad3e81edd4502c594859478257b5e26770f7bc6f7e084d47e1d7c4140b836344e5fe84c0694",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAUy/hp7UU0zZ0y/Fu4BtXfphqtPoHt1F\nAsWUhZR4JXteJncPe8b34ITUfh18QUC4NjROX+hMBpQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04014cbf869ed4534cd9d32fc5bb806d5dfa61aad3e81edd4502c594859478257b5e26770f7bc6f7e084d47e1d7c4140b836344e5fe84c0694",
         "wx" : "14cbf869ed4534cd9d32fc5bb806d5dfa61aad3e81edd4502c59485",
         "wy" : "09478257b5e26770f7bc6f7e084d47e1d7c4140b836344e5fe84c0694"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004014cbf869ed4534cd9d32fc5bb806d5dfa61aad3e81edd4502c594859478257b5e26770f7bc6f7e084d47e1d7c4140b836344e5fe84c0694",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAUy/hp7UU0zZ0y/Fu4BtXfphqtPoHt1F\nAsWUhZR4JXteJncPe8b34ITUfh18QUC4NjROX+hMBpQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 464,
+          "tcId" : 480,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0084a6c7513e5f48c07fffffffffff8713f3cba1293e4f3e95597fe6bd",
@@ -4572,20 +4773,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000403c6d87405e081ac2dc9188afed99eb87f13bd7b80e7363fd21a7692a092b8b8354493e2444736a9c78bf356fcdf07849120986afb98fa03",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA8bYdAXggawtyRiK/tmeuH8TvXuA5zY/\n0hp2kqCSuLg1RJPiREc2qceL81b83weEkSCYavuY+gM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0403c6d87405e081ac2dc9188afed99eb87f13bd7b80e7363fd21a7692a092b8b8354493e2444736a9c78bf356fcdf07849120986afb98fa03",
         "wx" : "3c6d87405e081ac2dc9188afed99eb87f13bd7b80e7363fd21a7692",
         "wy" : "0a092b8b8354493e2444736a9c78bf356fcdf07849120986afb98fa03"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000403c6d87405e081ac2dc9188afed99eb87f13bd7b80e7363fd21a7692a092b8b8354493e2444736a9c78bf356fcdf07849120986afb98fa03",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEA8bYdAXggawtyRiK/tmeuH8TvXuA5zY/\n0hp2kqCSuLg1RJPiREc2qceL81b83weEkSCYavuY+gM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 465,
+          "tcId" : 481,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c6c7513e5f48c07ffffffffffffff9d21fd1b31544cb13ca86a75b25e",
@@ -4595,20 +4797,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000423a692efebef2ac0f696d0f952dbd435a4402aad2edc3262c19e0c2f705278859aec7c13b3ff66d04ea226c7de2edd6e69099b9d1a0e4bc9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEI6aS7+vvKsD2ltD5UtvUNaRAKq0u3DJi\nwZ4ML3BSeIWa7HwTs/9m0E6iJsfeLt1uaQmbnRoOS8k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0423a692efebef2ac0f696d0f952dbd435a4402aad2edc3262c19e0c2f705278859aec7c13b3ff66d04ea226c7de2edd6e69099b9d1a0e4bc9",
         "wx" : "23a692efebef2ac0f696d0f952dbd435a4402aad2edc3262c19e0c2f",
         "wy" : "705278859aec7c13b3ff66d04ea226c7de2edd6e69099b9d1a0e4bc9"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000423a692efebef2ac0f696d0f952dbd435a4402aad2edc3262c19e0c2f705278859aec7c13b3ff66d04ea226c7de2edd6e69099b9d1a0e4bc9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEI6aS7+vvKsD2ltD5UtvUNaRAKq0u3DJi\nwZ4ML3BSeIWa7HwTs/9m0E6iJsfeLt1uaQmbnRoOS8k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 466,
+          "tcId" : 482,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00d8ea27cbe9180fffffffffffffff3a43fa3662a899627950d4eb64bc",
@@ -4618,20 +4821,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b2fcf3f649cdd7f8012ac1d2243f07ca0ff8fe75c9f59bbe7f3407e69c69a46fdf16174bb0e59ce3d7129cfafd74e6dacdb3dbbe6d772943",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsvzz9knN1/gBKsHSJD8Hyg/4/nXJ9Zu+\nfzQH5pxppG/fFhdLsOWc49cSnPr9dObazbPbvm13KUM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b2fcf3f649cdd7f8012ac1d2243f07ca0ff8fe75c9f59bbe7f3407e69c69a46fdf16174bb0e59ce3d7129cfafd74e6dacdb3dbbe6d772943",
         "wx" : "0b2fcf3f649cdd7f8012ac1d2243f07ca0ff8fe75c9f59bbe7f3407e6",
         "wy" : "09c69a46fdf16174bb0e59ce3d7129cfafd74e6dacdb3dbbe6d772943"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b2fcf3f649cdd7f8012ac1d2243f07ca0ff8fe75c9f59bbe7f3407e69c69a46fdf16174bb0e59ce3d7129cfafd74e6dacdb3dbbe6d772943",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsvzz9knN1/gBKsHSJD8Hyg/4/nXJ9Zu+\nfzQH5pxppG/fFhdLsOWc49cSnPr9dObazbPbvm13KUM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 467,
+          "tcId" : 483,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3e5f48c07fffffffffffffffffffc724968c0ecf9ed783744a7337b3",
@@ -4641,20 +4845,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000421b68c2b25120292e7f0616d68260fc0f3fe9f1dff0fcb88c9f0138607ada4f6669a1c52e684113ceafd4f49cc119faa8ccbb3834e9853b9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEIbaMKyUSApLn8GFtaCYPwPP+nx3/D8uI\nyfAThgetpPZmmhxS5oQRPOr9T0nMEZ+qjMuzg06YU7k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0421b68c2b25120292e7f0616d68260fc0f3fe9f1dff0fcb88c9f0138607ada4f6669a1c52e684113ceafd4f49cc119faa8ccbb3834e9853b9",
         "wx" : "21b68c2b25120292e7f0616d68260fc0f3fe9f1dff0fcb88c9f01386",
         "wy" : "7ada4f6669a1c52e684113ceafd4f49cc119faa8ccbb3834e9853b9"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000421b68c2b25120292e7f0616d68260fc0f3fe9f1dff0fcb88c9f0138607ada4f6669a1c52e684113ceafd4f49cc119faa8ccbb3834e9853b9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEIbaMKyUSApLn8GFtaCYPwPP+nx3/D8uI\nyfAThgetpPZmmhxS5oQRPOr9T0nMEZ+qjMuzg06YU7k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 468,
+          "tcId" : 484,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d00bfffffffffffffffffffffffffff3d87bb44c833bb384d0f224ccdde",
@@ -4664,20 +4869,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a4d3669d9b797a7e2b07ea8e89ac2f0bc1aa914f788e93babcc4f15d46b26c00dad8dc5162bdeaaec2a38a649303bbdafc02b5a8ae8abf1d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpNNmnZt5en4rB+qOiawvC8GqkU94jpO6\nvMTxXUaybADa2NxRYr3qrsKjimSTA7va/AK1qK6Kvx0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a4d3669d9b797a7e2b07ea8e89ac2f0bc1aa914f788e93babcc4f15d46b26c00dad8dc5162bdeaaec2a38a649303bbdafc02b5a8ae8abf1d",
         "wx" : "0a4d3669d9b797a7e2b07ea8e89ac2f0bc1aa914f788e93babcc4f15d",
         "wy" : "46b26c00dad8dc5162bdeaaec2a38a649303bbdafc02b5a8ae8abf1d"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a4d3669d9b797a7e2b07ea8e89ac2f0bc1aa914f788e93babcc4f15d46b26c00dad8dc5162bdeaaec2a38a649303bbdafc02b5a8ae8abf1d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEpNNmnZt5en4rB+qOiawvC8GqkU94jpO6\nvMTxXUaybADa2NxRYr3qrsKjimSTA7va/AK1qK6Kvx0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 469,
+          "tcId" : 485,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c7fffffffffffffffffffffffffff646c95d0a029629370d8e83d717f",
@@ -4687,20 +4893,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000435d31d0546d98621e629ef809364e61f069d5209eb07df02aca0aed9ade758d0998296d3adadf1b2076081a787a52e4f2d647cb3f06ff9ae",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAENdMdBUbZhiHmKe+Ak2TmHwadUgnrB98C\nrKCu2a3nWNCZgpbTra3xsgdggaeHpS5PLWR8s/Bv+a4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0435d31d0546d98621e629ef809364e61f069d5209eb07df02aca0aed9ade758d0998296d3adadf1b2076081a787a52e4f2d647cb3f06ff9ae",
         "wx" : "35d31d0546d98621e629ef809364e61f069d5209eb07df02aca0aed9",
         "wy" : "0ade758d0998296d3adadf1b2076081a787a52e4f2d647cb3f06ff9ae"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000435d31d0546d98621e629ef809364e61f069d5209eb07df02aca0aed9ade758d0998296d3adadf1b2076081a787a52e4f2d647cb3f06ff9ae",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAENdMdBUbZhiHmKe+Ak2TmHwadUgnrB98C\nrKCu2a3nWNCZgpbTra3xsgdggaeHpS5PLWR8s/Bv+a4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 470,
+          "tcId" : 486,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303c021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021c3fffffffffffffffffffffffffff8b51705c781f09ee94a2ae2e1520",
@@ -4710,20 +4917,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b243cde43260a599600ce327389369ee212d61be8603a6aa9d0cc0ebb066a5cd3e877b75f45ef89699673c5d3a7be7385de993583ce9b20d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEskPN5DJgpZlgDOMnOJNp7iEtYb6GA6aq\nnQzA67Bmpc0+h3t19F74lplnPF06e+c4XemTWDzpsg0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b243cde43260a599600ce327389369ee212d61be8603a6aa9d0cc0ebb066a5cd3e877b75f45ef89699673c5d3a7be7385de993583ce9b20d",
         "wx" : "0b243cde43260a599600ce327389369ee212d61be8603a6aa9d0cc0eb",
         "wy" : "0b066a5cd3e877b75f45ef89699673c5d3a7be7385de993583ce9b20d"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b243cde43260a599600ce327389369ee212d61be8603a6aa9d0cc0ebb066a5cd3e877b75f45ef89699673c5d3a7be7385de993583ce9b20d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEskPN5DJgpZlgDOMnOJNp7iEtYb6GA6aq\nnQzA67Bmpc0+h3t19F74lplnPF06e+c4XemTWDzpsg0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 471,
+          "tcId" : 487,
           "comment" : "edge case for u2",
           "msg" : "4d7367",
           "sig" : "303d021c7ffffffffffffffffffffffffffffffffffffffffffffffffffffffd021d0096dafb0d7540b93b5790327082635cd8895e1e799d5d19f92b594056",
@@ -4733,20 +4941,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db77bf48b8d63e9618de21fa2bd81fda7552340a8d00fea6f33f47857f09",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwOHW7sQJMjdL39CDMJI5b4mLSKVY1nL8\n6pfbd79IuNY+lhjeIfor2B/adVI0Co0A/qbzP0eFfwk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db77bf48b8d63e9618de21fa2bd81fda7552340a8d00fea6f33f47857f09",
         "wx" : "0c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db77",
         "wy" : "0bf48b8d63e9618de21fa2bd81fda7552340a8d00fea6f33f47857f09"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db77bf48b8d63e9618de21fa2bd81fda7552340a8d00fea6f33f47857f09",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwOHW7sQJMjdL39CDMJI5b4mLSKVY1nL8\n6pfbd79IuNY+lhjeIfor2B/adVI0Co0A/qbzP0eFfwk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 472,
+          "tcId" : 488,
           "comment" : "point duplication during verification",
           "msg" : "4d7367",
           "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c23c5bbfb025d0d11bc97dd040416fcc32324cc8f5936ed88da2dc253",
@@ -4758,20 +4967,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db7740b74729c169e721de05d427e0258aaccbf572ff01590cc0b87a80f8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwOHW7sQJMjdL39CDMJI5b4mLSKVY1nL8\n6pfbd0C3RynBaech3gXUJ+AliqzL9XL/AVkMwLh6gPg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db7740b74729c169e721de05d427e0258aaccbf572ff01590cc0b87a80f8",
         "wx" : "0c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db77",
         "wy" : "40b74729c169e721de05d427e0258aaccbf572ff01590cc0b87a80f8"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004c0e1d6eec40932374bdfd0833092396f898b48a558d672fcea97db7740b74729c169e721de05d427e0258aaccbf572ff01590cc0b87a80f8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEwOHW7sQJMjdL39CDMJI5b4mLSKVY1nL8\n6pfbd0C3RynBaech3gXUJ+AliqzL9XL/AVkMwLh6gPg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 473,
+          "tcId" : 489,
           "comment" : "duplication bug",
           "msg" : "4d7367",
           "sig" : "303d021d00c44503dae85dd5210780f02928b3d927171c578f8603d16b240663c7021c23c5bbfb025d0d11bc97dd040416fcc32324cc8f5936ed88da2dc253",
@@ -4783,20 +4993,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000431406520359b1fb714b9042a821a958e423639ef7c4d463b33240a8d9a813d3906c33b07451694b58ae6862898b4ecdad3ea3e0954a27ab1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMUBlIDWbH7cUuQQqghqVjkI2Oe98TUY7\nMyQKjZqBPTkGwzsHRRaUtYrmhiiYtOza0+o+CVSierE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0431406520359b1fb714b9042a821a958e423639ef7c4d463b33240a8d9a813d3906c33b07451694b58ae6862898b4ecdad3ea3e0954a27ab1",
         "wx" : "31406520359b1fb714b9042a821a958e423639ef7c4d463b33240a8d",
         "wy" : "09a813d3906c33b07451694b58ae6862898b4ecdad3ea3e0954a27ab1"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000431406520359b1fb714b9042a821a958e423639ef7c4d463b33240a8d9a813d3906c33b07451694b58ae6862898b4ecdad3ea3e0954a27ab1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEMUBlIDWbH7cUuQQqghqVjkI2Oe98TUY7\nMyQKjZqBPTkGwzsHRRaUtYrmhiiYtOza0+o+CVSierE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 474,
+          "tcId" : 490,
           "comment" : "comparison with point at infinity ",
           "msg" : "4d7367",
           "sig" : "303c021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
@@ -4806,21 +5017,22 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000453883538d86609217a4d9c27992e2bd704a4bb12fb91253cd4f496fa00b32f3a2d153a52bb577650cdf1b73a340535c7e73deb599aa95088",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEU4g1ONhmCSF6TZwnmS4r1wSkuxL7kSU8\n1PSW+gCzLzotFTpSu1d2UM3xtzo0BTXH5z3rWZqpUIg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0453883538d86609217a4d9c27992e2bd704a4bb12fb91253cd4f496fa00b32f3a2d153a52bb577650cdf1b73a340535c7e73deb599aa95088",
         "wx" : "53883538d86609217a4d9c27992e2bd704a4bb12fb91253cd4f496fa",
         "wy" : "0b32f3a2d153a52bb577650cdf1b73a340535c7e73deb599aa95088"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000453883538d86609217a4d9c27992e2bd704a4bb12fb91253cd4f496fa00b32f3a2d153a52bb577650cdf1b73a340535c7e73deb599aa95088",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEU4g1ONhmCSF6TZwnmS4r1wSkuxL7kSU8\n1PSW+gCzLzotFTpSu1d2UM3xtzo0BTXH5z3rWZqpUIg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 475,
-          "comment" : "extreme value for k",
+          "tcId" : 491,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "4d7367",
           "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
           "result" : "valid",
@@ -4829,21 +5041,142 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004019cb0c37dbd376a14e9e9438767307e8f6cf2e79689b582882f347d02b11468cb1a7782569e48b7f72e482f5fc0da729388e4b479dc76b5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAZyww329N2oU6elDh2cwfo9s8ueWibWC\niC80fQKxFGjLGneCVp5It/cuSC9fwNpyk4jktHncdrU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "045568139000f8cf6496428e524f105cb0447ee417ab0a1d842c831e73ed0465c1c6e623c3acc6a3349bb41ad41b741cce460d6e72d008c47d",
+        "wx" : "5568139000f8cf6496428e524f105cb0447ee417ab0a1d842c831e73",
+        "wy" : "0ed0465c1c6e623c3acc6a3349bb41ad41b741cce460d6e72d008c47d"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045568139000f8cf6496428e524f105cb0447ee417ab0a1d842c831e73ed0465c1c6e623c3acc6a3349bb41ad41b741cce460d6e72d008c47d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEVWgTkAD4z2SWQo5STxBcsER+5BerCh2E\nLIMec+0EZcHG5iPDrMajNJu0GtQbdBzORg1uctAIxH0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 492,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "4d7367",
+          "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0468820408a5dd10cc423d60efbb5b6d7aab326dc95e40030f118ad59bb2a92f649fc395904ea83c1c77f1ee9725a2d3e20ee2bed12e54b3e6",
+        "wx" : "68820408a5dd10cc423d60efbb5b6d7aab326dc95e40030f118ad59b",
+        "wy" : "0b2a92f649fc395904ea83c1c77f1ee9725a2d3e20ee2bed12e54b3e6"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000468820408a5dd10cc423d60efbb5b6d7aab326dc95e40030f118ad59bb2a92f649fc395904ea83c1c77f1ee9725a2d3e20ee2bed12e54b3e6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEaIIECKXdEMxCPWDvu1tteqsybcleQAMP\nEYrVm7KpL2Sfw5WQTqg8HHfx7pclotPiDuK+0S5Us+Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 493,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "4d7367",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0464d6344a03e8858f482883c9cf653364c1ca15a9b4638c3d4854eb5342070226b4ea55b227e540dfb6acd3b56fd829d34be310a5f0b57425",
+        "wx" : "64d6344a03e8858f482883c9cf653364c1ca15a9b4638c3d4854eb53",
+        "wy" : "42070226b4ea55b227e540dfb6acd3b56fd829d34be310a5f0b57425"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000464d6344a03e8858f482883c9cf653364c1ca15a9b4638c3d4854eb5342070226b4ea55b227e540dfb6acd3b56fd829d34be310a5f0b57425",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEZNY0SgPohY9IKIPJz2UzZMHKFam0Y4w9\nSFTrU0IHAia06lWyJ+VA37as07Vv2CnTS+MQpfC1dCU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 494,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "4d7367",
+          "sig" : "303d021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0493a2063dc206c8c277e67920b2102cfa5b47e862ed70f864ee6b8cb6c163388e63647115e37092cea043c45e09f8fec6ecdc99b6fbc76ce4",
+        "wx" : "093a2063dc206c8c277e67920b2102cfa5b47e862ed70f864ee6b8cb6",
+        "wy" : "0c163388e63647115e37092cea043c45e09f8fec6ecdc99b6fbc76ce4"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000493a2063dc206c8c277e67920b2102cfa5b47e862ed70f864ee6b8cb6c163388e63647115e37092cea043c45e09f8fec6ecdc99b6fbc76ce4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEk6IGPcIGyMJ35nkgshAs+ltH6GLtcPhk\n7muMtsFjOI5jZHEV43CSzqBDxF4J+P7G7NyZtvvHbOQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 495,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "4d7367",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c249249249249249249249249249227ce201a6b76951f982e7ae89852",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ad2a196e6aa1b0334fc3cbd7533c237f96de557cecbcb963001b7315c06060bea2aadd9fc70a98ad1e10bfee5c34b29a6acfa69e708d1c7c",
+        "wx" : "0ad2a196e6aa1b0334fc3cbd7533c237f96de557cecbcb963001b7315",
+        "wy" : "0c06060bea2aadd9fc70a98ad1e10bfee5c34b29a6acfa69e708d1c7c"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ad2a196e6aa1b0334fc3cbd7533c237f96de557cecbcb963001b7315c06060bea2aadd9fc70a98ad1e10bfee5c34b29a6acfa69e708d1c7c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErSoZbmqhsDNPw8vXUzwjf5beVXzsvLlj\nABtzFcBgYL6iqt2fxwqYrR4Qv+5cNLKaas+mnnCNHHw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 496,
+          "comment" : "extreme value for k",
+          "msg" : "4d7367",
+          "sig" : "303c021c706a46dc76dcb76798e60e6d89474788d16dc18032d268fd1a704fa6021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04019cb0c37dbd376a14e9e9438767307e8f6cf2e79689b582882f347d02b11468cb1a7782569e48b7f72e482f5fc0da729388e4b479dc76b5",
         "wx" : "19cb0c37dbd376a14e9e9438767307e8f6cf2e79689b582882f347d",
         "wy" : "2b11468cb1a7782569e48b7f72e482f5fc0da729388e4b479dc76b5"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004019cb0c37dbd376a14e9e9438767307e8f6cf2e79689b582882f347d02b11468cb1a7782569e48b7f72e482f5fc0da729388e4b479dc76b5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAZyww329N2oU6elDh2cwfo9s8ueWibWC\niC80fQKxFGjLGneCVp5It/cuSC9fwNpyk4jktHncdrU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 476,
-          "comment" : "extreme value for k",
+          "tcId" : 497,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "4d7367",
           "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c5555555555555555555555555555078ba03da56a069f0dc1c9740e14",
           "result" : "valid",
@@ -4852,20 +5185,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04fbd1d4eff21c752f648ac2c68e3aa9bfe42821c2ca44a57380ed60eea247d953d459b04915783b69fb4316a7bd7f185a88e6b5013cf888fa",
+        "wx" : "0fbd1d4eff21c752f648ac2c68e3aa9bfe42821c2ca44a57380ed60ee",
+        "wy" : "0a247d953d459b04915783b69fb4316a7bd7f185a88e6b5013cf888fa"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004fbd1d4eff21c752f648ac2c68e3aa9bfe42821c2ca44a57380ed60eea247d953d459b04915783b69fb4316a7bd7f185a88e6b5013cf888fa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE+9HU7/IcdS9kisLGjjqpv+QoIcLKRKVz\ngO1g7qJH2VPUWbBJFXg7aftDFqe9fxhaiOa1ATz4iPo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 498,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "4d7367",
+          "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00db6db6db6db6db6db6db6db6db6ceed4c09e84c77ebd9116e17391eb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040a30164667b9f3dd854589fe6231000e2877eb998c4b67a2d6de8f3dbf1b247fc0aaad5debd1c67b9a2bee26b31cdc4f69f3bc71cf459c2b",
+        "wx" : "0a30164667b9f3dd854589fe6231000e2877eb998c4b67a2d6de8f3d",
+        "wy" : "0bf1b247fc0aaad5debd1c67b9a2bee26b31cdc4f69f3bc71cf459c2b"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00040a30164667b9f3dd854589fe6231000e2877eb998c4b67a2d6de8f3dbf1b247fc0aaad5debd1c67b9a2bee26b31cdc4f69f3bc71cf459c2b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAECjAWRme5892FRYn+YjEADih365mMS2ei\n1t6PPb8bJH/Aqq1d69HGe5or7iazHNxPafO8cc9FnCs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 499,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "4d7367",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c33333333333333333333333333330486f9be9672d0c5d50ddf45a20c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045126ffacb4950168a420dd479ce1b26586e1a313c04546fbd9c60fe94e074ab326efcefad191264175a358909fea1fdd8cc80b209ba7321b",
+        "wx" : "5126ffacb4950168a420dd479ce1b26586e1a313c04546fbd9c60fe9",
+        "wy" : "4e074ab326efcefad191264175a358909fea1fdd8cc80b209ba7321b"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045126ffacb4950168a420dd479ce1b26586e1a313c04546fbd9c60fe94e074ab326efcefad191264175a358909fea1fdd8cc80b209ba7321b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEUSb/rLSVAWikIN1HnOGyZYbhoxPARUb7\n2cYP6U4HSrMm78760ZEmQXWjWJCf6h/djMgLIJunMhs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 500,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "4d7367",
+          "sig" : "303e021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021d00cccccccccccccccccccccccccccc121be6fa59cb431754377d168831",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0491b25dd9a1259a742e5d8e909ac09983685c82a3e4cdb91858e6ce0fbb78599ecac5116724e9cb0b7aaeb5ad45b098d8c59f2567dd1b1298",
+        "wx" : "091b25dd9a1259a742e5d8e909ac09983685c82a3e4cdb91858e6ce0f",
+        "wy" : "0bb78599ecac5116724e9cb0b7aaeb5ad45b098d8c59f2567dd1b1298"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000491b25dd9a1259a742e5d8e909ac09983685c82a3e4cdb91858e6ce0fbb78599ecac5116724e9cb0b7aaeb5ad45b098d8c59f2567dd1b1298",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEkbJd2aElmnQuXY6QmsCZg2hcgqPkzbkY\nWObOD7t4WZ7KxRFnJOnLC3quta1FsJjYxZ8lZ90bEpg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 501,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "4d7367",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c249249249249249249249249249227ce201a6b76951f982e7ae89852",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045bc34a3c52a4fbd90eb90aaea41171ee037e4b2811ba168b01b13d71852a17c2243d517a8c38cc54e39e4f7983c5033d4ecac265a44b773c",
+        "wx" : "5bc34a3c52a4fbd90eb90aaea41171ee037e4b2811ba168b01b13d71",
+        "wy" : "0852a17c2243d517a8c38cc54e39e4f7983c5033d4ecac265a44b773c"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00045bc34a3c52a4fbd90eb90aaea41171ee037e4b2811ba168b01b13d71852a17c2243d517a8c38cc54e39e4f7983c5033d4ecac265a44b773c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEW8NKPFKk+9kOuQqupBFx7gN+SygRuhaL\nAbE9cYUqF8IkPVF6jDjMVOOeT3mDxQM9TsrCZaRLdzw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 502,
+          "comment" : "extreme value for k",
+          "msg" : "4d7367",
+          "sig" : "303d021d00b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21021c0eb10e5ab95facded4061029d63a46f46f12947411f2ea561a592057",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34",
+        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+        "wy" : "0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"
+      },
       "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIb03Y4i19yP7TCLf5s1DdaBaB0dkRNWBmYUAfjQ=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-224",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
-        "wy" : "0bd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"
-      },
       "tests" : [
         {
-          "tcId" : 477,
+          "tcId" : 503,
           "comment" : "testing point duplication",
           "msg" : "4d7367",
           "sig" : "303c021c0b041f884d648cc345e4600078eb790708ccad576d4abe3c943aa328021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -4873,7 +5327,7 @@
           "flags" : []
         },
         {
-          "tcId" : 478,
+          "tcId" : 504,
           "comment" : "testing point duplication",
           "msg" : "4d7367",
           "sig" : "303d021d00f4fbe077b29b733cba1b9fff87139d9bd7ec42e6a6926b08c8218715021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -4883,20 +5337,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd",
+        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
+        "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd"
+      },
       "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d2142c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEtw4MvWu0v38yE5C5SgPB01bCESI0MoDW\nEVwdIULInHdKCNwEs90gGTK8il6l+Libuyp+Znr/gc0=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-224",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "0b70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21",
-        "wy" : "42c89c774a08dc04b3dd201932bc8a5ea5f8b89bbb2a7e667aff81cd"
-      },
       "tests" : [
         {
-          "tcId" : 479,
+          "tcId" : 505,
           "comment" : "testing point duplication",
           "msg" : "4d7367",
           "sig" : "303c021c0b041f884d648cc345e4600078eb790708ccad576d4abe3c943aa328021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -4904,7 +5359,7 @@
           "flags" : []
         },
         {
-          "tcId" : 480,
+          "tcId" : 506,
           "comment" : "testing point duplication",
           "msg" : "4d7367",
           "sig" : "303d021d00f4fbe077b29b733cba1b9fff87139d9bd7ec42e6a6926b08c8218715021c249249249249249249249249249227ce201a6b76951f982e7ae89851",
@@ -4914,20 +5369,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926",
         "wx" : "0d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4",
         "wy" : "0b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 481,
+          "tcId" : 507,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "54657374",
           "sig" : "303502104319055358e8617b0c46353d039cdaab022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
@@ -4935,7 +5391,7 @@
           "flags" : []
         },
         {
-          "tcId" : 482,
+          "tcId" : 508,
           "comment" : "r too large",
           "msg" : "54657374",
           "sig" : "3046022100ffffffff00000001000000000000000000000000fffffffffffffffffffffffc022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
@@ -4945,20 +5401,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPNjS+B1pU7CETAnXtWDVJ80u9nBW\niT6tr6UshQE4fVnuQf200QQCznoMXjt0et+jpJC2Kmt3GQaJA0hcC7bcLQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d",
         "wx" : "3cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59",
         "wy" : "0ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPNjS+B1pU7CETAnXtWDVJ80u9nBW\niT6tr6UshQE4fVnuQf200QQCznoMXjt0et+jpJC2Kmt3GQaJA0hcC7bcLQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 483,
+          "tcId" : 509,
           "comment" : "r,s are large",
           "msg" : "54657374",
           "sig" : "3046022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254f022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc63254e",
@@ -4968,20 +5425,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgkDNge3ZHLaTYTNQjDkVEA6B8zLE\nVF1BGJtIEZaFE3jgWwbnLUob/4DqXbUUqi+T6m3W2cCuJ7eDfcQy+c6J2Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9",
         "wx" : "08240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378",
         "wy" : "0e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgkDNge3ZHLaTYTNQjDkVEA6B8zLE\nVF1BGJtIEZaFE3jgWwbnLUob/4DqXbUUqi+T6m3W2cCuJ7eDfcQy+c6J2Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 484,
+          "tcId" : 510,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100909135bdb6799286170f5ead2de4f6511453fe50914f3df2de54a36383df8dd4",
@@ -4991,20 +5449,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsGKUc1Z0iw/BfxcExlqh3Kbhv+Z3\nl1b6YW2R6q0T3ywLOMF/PQZy50Cc/FmSqZ//ErhKT4QyKTtDERPxsvtXnQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d",
         "wx" : "0b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c",
         "wy" : "0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsGKUc1Z0iw/BfxcExlqh3Kbhv+Z3\nl1b6YW2R6q0T3ywLOMF/PQZy50Cc/FmSqZ//ErhKT4QyKTtDERPxsvtXnQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 485,
+          "tcId" : 511,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027b4577ca009376f71303fd5dd227dcef5deb773ad5f5a84360644669ca249a5",
@@ -5014,20 +5473,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0",
         "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5",
         "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 486,
+          "tcId" : 512,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "3006020105020101",
@@ -5037,20 +5497,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e70127242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRGUwcuhfzTihrSDNwFgakHO8mF3\nraiFC2AeofhZ5wEnJC/OxwiCh1hAPOL+UBmDp5hOYgn01rldua13dn9V6w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e70127242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb",
         "wx" : "091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e701",
         "wy" : "27242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e70127242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRGUwcuhfzTihrSDNwFgakHO8mF3\nraiFC2AeofhZ5wEnJC/OxwiCh1hAPOL+UBmDp5hOYgn01rldua13dn9V6w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 487,
+          "tcId" : 513,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "3006020105020103",
@@ -5060,20 +5521,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a72303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEDxuzO/1nnHqj1b+46SysUjoHCvb\n3TnBlYEsltz7QacjA6GT3Fkb4VC4g9dw7FHrtOvOiwkELC7LFsRI2OV79Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a72303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5",
         "wx" : "103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a7",
         "wy" : "2303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a72303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEDxuzO/1nnHqj1b+46SysUjoHCvb\n3TnBlYEsltz7QacjA6GT3Fkb4VC4g9dw7FHrtOvOiwkELC7LFsRI2OV79Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 488,
+          "tcId" : 514,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "3006020105020105",
@@ -5083,20 +5545,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6eabc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEO2a4Kf5gRji8sr/owiIovmc5DCAR\nG9K0UUaJJ+h/tuq8jlnACTYXWLJ0uiytNrWP3khaPtCdrednEvqenErCEg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6eabc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212",
         "wx" : "3b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6ea",
         "wy" : "0bc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6eabc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEO2a4Kf5gRji8sr/owiIovmc5DCAR\nG9K0UUaJJ+h/tuq8jlnACTYXWLJ0uiytNrWP3khaPtCdrednEvqenErCEg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 489,
+          "tcId" : 515,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "3006020105020106",
@@ -5104,7 +5567,7 @@
           "flags" : []
         },
         {
-          "tcId" : 490,
+          "tcId" : 516,
           "comment" : "r is larger than n",
           "msg" : "54657374",
           "sig" : "3026022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632556020106",
@@ -5114,20 +5577,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c3084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET/L2wk5KM81xwJ/cvHSmIzlhuHS4\nyODrlFggksvFDDCE+pVHr9pcZjNfP5N9THmvoSBIa1NBOdWa6C1h6tJkIA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c3084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420",
         "wx" : "4ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c30",
         "wy" : "084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c3084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET/L2wk5KM81xwJ/cvHSmIzlhuHS4\nyODrlFggksvFDDCE+pVHr9pcZjNfP5N9THmvoSBIa1NBOdWa6C1h6tJkIA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 491,
+          "tcId" : 517,
           "comment" : "s is larger than n",
           "msg" : "54657374",
           "sig" : "3026020105022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc75fbd8",
@@ -5137,20 +5601,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000484b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLlZCAuzCFnNU8L7lzzxTWDNqo7g\nBYeIm1vGV6xYgXWgLOXB5TyxlhE8eLTLjcfTYOXqeFCw9mULDEWvLDzXyg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0484b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca",
         "wx" : "084b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175",
         "wy" : "0a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000484b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLlZCAuzCFnNU8L7lzzxTWDNqo7g\nBYeIm1vGV6xYgXWgLOXB5TyxlhE8eLTLjcfTYOXqeFCw9mULDEWvLDzXyg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 492,
+          "tcId" : 518,
           "comment" : "small r and s^-1",
           "msg" : "54657374",
           "sig" : "3027020201000221008f1e3c7862c58b16bb76eddbb76eddbb516af4f63f2d74d76e0d28c9bb75ea88",
@@ -5160,20 +5625,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e9925af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE30CDvW7L2lp3rleOXYNfp/dKB+u5\nHgVw4f8ypWM1Tpklr4CwmhZ9nvZH3yji2azQ1LxPLe7FcjgY7a+QceMR+A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e9925af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8",
         "wx" : "0df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e99",
         "wy" : "25af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e9925af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE30CDvW7L2lp3rleOXYNfp/dKB+u5\nHgVw4f8ypWM1Tpklr4CwmhZ9nvZH3yji2azQ1LxPLe7FcjgY7a+QceMR+A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 493,
+          "tcId" : 519,
           "comment" : "smallish r and s^-1",
           "msg" : "54657374",
           "sig" : "302c02072d9b4d347952d6022100ef3043e7329581dbb3974497710ab11505ee1c87ff907beebadd195a0ffe6d7a",
@@ -5183,20 +5649,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a03770387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwlaaPJv4wYOMqCH3um8ADMhnnSeP\nNza0FKNKfJVqA3cDh+qFvE8ogEtKkcm31lvGQ0yXWAZ5WrfUQaTpaDrrCQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a03770387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09",
         "wx" : "0c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a0377",
         "wy" : "387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a03770387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwlaaPJv4wYOMqCH3um8ADMhnnSeP\nNza0FKNKfJVqA3cDh+qFvE8ogEtKkcm31lvGQ0yXWAZ5WrfUQaTpaDrrCQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 494,
+          "tcId" : 520,
           "comment" : "100-bit r and small s^-1",
           "msg" : "54657374",
           "sig" : "3032020d1033e67e37b32b445580bf4eff0221008b748b74000000008b748b748b748b7466e769ad4a16d3dcd87129b8e91d1b4d",
@@ -5206,20 +5673,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968ac496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESp99oqbDWaFlQMJxd0pr8cWGNXyX\nglb0SmSW2AZwlorEluc6RFY/jVb717ueTjrjBMhvLFCOt3ewOSR1W+tA1A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968ac496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4",
         "wx" : "4a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968a",
         "wy" : "0c496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968ac496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESp99oqbDWaFlQMJxd0pr8cWGNXyX\nglb0SmSW2AZwlorEluc6RFY/jVb717ueTjrjBMhvLFCOt3ewOSR1W+tA1A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 495,
+          "tcId" : 521,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "54657374",
           "sig" : "302702020100022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b",
@@ -5229,20 +5697,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh0FGQys80sniYgTAo0E2mWBn1Gbd\n5JF6j/I6jpXKEGtwmz1Ql274s4WoE7w186IHEL3G7dRl5vQ6xIZnA6ZgjA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c",
         "wx" : "0874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b",
         "wy" : "709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh0FGQys80sniYgTAo0E2mWBn1Gbd\n5JF6j/I6jpXKEGtwmz1Ql274s4WoE7w186IHEL3G7dRl5vQ6xIZnA6ZgjA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 496,
+          "tcId" : 522,
           "comment" : "100-bit r and s^-1",
           "msg" : "54657374",
           "sig" : "3032020d062522bbd3ecbe7c39e93e7c25022100ef9f6ba4d97c09d03178fa20b4aaad83be3cf9cb824a879fec3270fc4b81ef5b",
@@ -5252,20 +5721,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07edeb3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEenNtjjJqnKYrviWjTqTjYztJmpav\np6qj/PP9iPjgft6z5Fh52GIrk+gYRDpoboae7ae/muRqo+r8xIpZNIZGJw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07edeb3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627",
         "wx" : "7a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07ede",
         "wy" : "0b3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07edeb3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEenNtjjJqnKYrviWjTqTjYztJmpav\np6qj/PP9iPjgft6z5Fh52GIrk+gYRDpoboae7ae/muRqo+r8xIpZNIZGJw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 497,
+          "tcId" : 523,
           "comment" : "r and s^-1 are close to n",
           "msg" : "54657374",
           "sig" : "3045022100ffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc6324d50220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
@@ -5275,20 +5745,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6E2bIy6XGkM4JjD5lyXkI+wey0Hl\nUXLpxpdIoD8NWYhhixW0J62DNjvQQf91+smO8u6SNxTn0d/jF1N5PHWI1A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4",
         "wx" : "0e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988",
         "wy" : "618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6E2bIy6XGkM4JjD5lyXkI+wey0Hl\nUXLpxpdIoD8NWYhhixW0J62DNjvQQf91+smO8u6SNxTn0d/jF1N5PHWI1A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 498,
+          "tcId" : 524,
           "comment" : "s == 1",
           "msg" : "54657374",
           "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020101",
@@ -5296,7 +5767,7 @@
           "flags" : []
         },
         {
-          "tcId" : 499,
+          "tcId" : 525,
           "comment" : "s == 0",
           "msg" : "54657374",
           "sig" : "30250220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70020100",
@@ -5306,20 +5777,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAgNzb8sZixXY16DID2bd3RUlkkCq\neNCKrmfEZ94EUDQ0ODQ41QQeqaOH7o5NToS0RxsWDGvPJWiwcvjyDoeplg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996",
         "wx" : "203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de045034",
         "wy" : "34383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAgNzb8sZixXY16DID2bd3RUlkkCq\neNCKrmfEZ94EUDQ0ODQ41QQeqaOH7o5NToS0RxsWDGvPJWiwcvjyDoeplg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 500,
+          "tcId" : 526,
           "comment" : "point at infinity during verify",
           "msg" : "54657374",
           "sig" : "304402207fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192a80220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
@@ -5329,20 +5801,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoX9bdaNe1kYjyly/H5GVEpLbDCPw\nwuokw9DK0JiMq8CDp6YYYlwiiUBzC0+j7mT67Lsvwg/d58WLOj9jAEJNxg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6",
         "wx" : "0a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc0",
         "wy" : "083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoX9bdaNe1kYjyly/H5GVEpLbDCPw\nwuokw9DK0JiMq8CDp6YYYlwiiUBzC0+j7mT67Lsvwg/d58WLOj9jAEJNxg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 501,
+          "tcId" : 527,
           "comment" : "u1 == 1",
           "msg" : "54657374",
           "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
@@ -5352,20 +5825,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBLoMuikaN9sT8zv5DatijATsg5Og\nIAQZ6eqh68yftcMfOgoOaCOkm2Ja1XsSoy1AR5cPw0KPDwBJ7PQmXcEvYg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62",
         "wx" : "4ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c3",
         "wy" : "1f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBLoMuikaN9sT8zv5DatijATsg5Og\nIAQZ6eqh68yftcMfOgoOaCOkm2Ja1XsSoy1AR5cPw0KPDwBJ7PQmXcEvYg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 502,
+          "tcId" : 528,
           "comment" : "u1 == n - 1",
           "msg" : "54657374",
           "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c",
@@ -5375,20 +5849,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaStsgo4P7tY9iuqitzIvnMvocjoe\n058inyBKQ0uJAO+h9varyzjqO4/eOLmMfCcfJ0r1aoxWKNwzKQaa5N1XFg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716",
         "wx" : "692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900ef",
         "wy" : "0a1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaStsgo4P7tY9iuqitzIvnMvocjoe\n058inyBKQ0uJAO+h9varyzjqO4/eOLmMfCcfJ0r1aoxWKNwzKQaa5N1XFg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 503,
+          "tcId" : 529,
           "comment" : "u2 == 1",
           "msg" : "54657374",
           "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c700220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
@@ -5398,20 +5873,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAM79kWLRPmTLk2h6nNj5dV67Wj73\nYy+AD4SHGHTM7wlUPsvq9+gETvchvi+19UnkuEgNJYdATr99u+8sVLwMsQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1",
         "wx" : "0cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09",
         "wy" : "543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAM79kWLRPmTLk2h6nNj5dV67Wj73\nYy+AD4SHGHTM7wlUPsvq9+gETvchvi+19UnkuEgNJYdATr99u+8sVLwMsQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 504,
+          "tcId" : 530,
           "comment" : "u2 == n - 1",
           "msg" : "54657374",
           "sig" : "30450220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70022100aaaaaaaa00000000aaaaaaaaaaaaaaaa7def51c91a0fbf034d26872ca84218e1",
@@ -5421,20 +5897,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f244862243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXUYO0JVHPUvKR1cGSH9XhL1DIyF\npL653gPvo/DyRIYiQwGOaGbfki3DE2EgIDEf8h4kLOP7Fbx4xAayWrQwkQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f244862243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091",
         "wx" : "0b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f24486",
         "wy" : "2243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f244862243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXUYO0JVHPUvKR1cGSH9XhL1DIyF\npL653gPvo/DyRIYiQwGOaGbfki3DE2EgIDEf8h4kLOP7Fbx4xAayWrQwkQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 505,
+          "tcId" : 531,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220710f8e3edc7c2d5a3fd23de844002bb949d9f794f6d5405f6d97c1bb03dd2bd2",
@@ -5444,20 +5921,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed71714927446699965d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwl8dFm8+IRzfBCom+Kv2CU1IuNFx\nkddO1xcUknRGaZll0G3WqIq/pJ6LTF2mu5IoUZaa35YEtazPtSoRTnfM2w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed71714927446699965d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb",
         "wx" : "0c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed717149274466999",
         "wy" : "65d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed71714927446699965d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwl8dFm8+IRzfBCom+Kv2CU1IuNFx\nkddO1xcUknRGaZll0G3WqIq/pJ6LTF2mu5IoUZaa35YEtazPtSoRTnfM2w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 506,
+          "tcId" : 532,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100edffbc270f722c243069a7e5f40335a61a58525c7b4db2e7a8e269274ffe4e1b",
@@ -5467,20 +5945,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca98a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEj+XogkOnbkGgBCNiGKPDotbu45ii\nPDoLAI1/AWTLwMqYog0b3PVzUTx8/ZuDxj46gtQBJ8iXaXyGuMs4evfyQA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca98a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240",
         "wx" : "08fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca",
         "wy" : "098a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca98a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEj+XogkOnbkGgBCNiGKPDotbu45ii\nPDoLAI1/AWTLwMqYog0b3PVzUTx8/ZuDxj46gtQBJ8iXaXyGuMs4evfyQA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 507,
+          "tcId" : 533,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a25adcae105ed7ff4f95d2344e24ee523314c3e178525d007904b68919ba4d53",
@@ -5490,20 +5969,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000402148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2cc0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAhSCVrUw+8Rwx7NBlws4JD7O5tWo\nQKN77KLvs36N/yzArb6giCSCp0icpwOjmYZLqYfutt23OK9TqDVzRzyzDQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0402148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2cc0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d",
         "wx" : "2148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2c",
         "wy" : "0c0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000402148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2cc0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAhSCVrUw+8Rwx7NBlws4JD7O5tWo\nQKN77KLvs36N/yzArb6giCSCp0icpwOjmYZLqYfutt23OK9TqDVzRzyzDQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 508,
+          "tcId" : 534,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202e4348c645707dce6760d773de3f3e87346924b2f64bd3dd0297e766b5805ebb",
@@ -5513,20 +5993,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo02wEs5u2h6cc3XF/PPlTtaY4ZYV\nEkJzs6Yh0CHHb453dFjW9Vo2TCIeOeEgXVUQu0+7fd8I2Nj93hPR1t9/FA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14",
         "wx" : "0a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e",
         "wy" : "777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo02wEs5u2h6cc3XF/PPlTtaY4ZYV\nEkJzs6Yh0CHHb453dFjW9Vo2TCIeOeEgXVUQu0+7fd8I2Nj93hPR1t9/FA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 509,
+          "tcId" : 535,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220348c673b07dce3920d773de3f3e87408869e916dbcf797d8f9684fb67753d1dc",
@@ -5536,20 +6017,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXrz/ni+FfKRK2Jx3YpDuttt0qGz\nFbLOeuN7Tnd4BB2TDXHuGZLSRmSVxCEC0I6BFUwwUwfR3NUtD6TEebJ45w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7",
         "wx" : "0b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d",
         "wy" : "0930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXrz/ni+FfKRK2Jx3YpDuttt0qGz\nFbLOeuN7Tnd4BB2TDXHuGZLSRmSVxCEC0I6BFUwwUwfR3NUtD6TEebJ45w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 510,
+          "tcId" : 536,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206918ce760fb9c7241aee7bc7e7d0e8110d3d22db79ef2fb1f2d09f6ceea7a3b8",
@@ -5559,20 +6041,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000481e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb9ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgecZijw/I5Ac7ceh1u/26b+BEI5s\nNc2FWROa8xNdvLue8VaFMCkagGG5DJ9Che78upkNRXCk47e3N1JbXVgANA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0481e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb9ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034",
         "wx" : "081e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb",
         "wy" : "09ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000481e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb9ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgecZijw/I5Ac7ceh1u/26b+BEI5s\nNc2FWROa8xNdvLue8VaFMCkagGG5DJ9Che78upkNRXCk47e3N1JbXVgANA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 511,
+          "tcId" : 537,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022073b3c694391d8eadde3f3e874089464715ac20e4c126bbf6d864d648969f5b5a",
@@ -5582,20 +6065,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf737f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEq015LKEh0dujnLneZFFJwqtXPovs\nxt3/PMmWDxiN33N/kLojZkFT6TJi/3M1VBUZWFjXvhMVppRWOG3mgoWjyA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf737f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8",
         "wx" : "0ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf73",
         "wy" : "7f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf737f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEq015LKEh0dujnLneZFFJwqtXPovs\nxt3/PMmWDxiN33N/kLojZkFT6TJi/3M1VBUZWFjXvhMVppRWOG3mgoWjyA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 512,
+          "tcId" : 538,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb07ac7a86948c2c2989a16db1930ef1b89ce112595197656877e53c41457f28",
@@ -5605,20 +6089,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUYQStpr0Oq4IRHamjVm73lH7+p5b\n6AVj9YfJwmUviO8tO5DSW6pr23sMVeUkCjqY+8JK/thSPt7BxwUD/BDyMw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233",
         "wx" : "518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef",
         "wy" : "2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUYQStpr0Oq4IRHamjVm73lH7+p5b\n6AVj9YfJwmUviO8tO5DSW6pr23sMVeUkCjqY+8JK/thSPt7BxwUD/BDyMw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 513,
+          "tcId" : 539,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022027e4d82cb6c061dd9337c69bf9332ed3d198662d6f2299443f62c861187db648",
@@ -5628,20 +6113,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352da54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoI8UpkS5qTXf/qR2Hrr1ktH2b+bN\nNzqn9dNwrzT4NS2lS1vEAlzzNZAKkUwpNOwv7Ho5bQp6/8rXMqV0HHqq9Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352da54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5",
         "wx" : "0a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352d",
         "wy" : "0a54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352da54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoI8UpkS5qTXf/qR2Hrr1ktH2b+bN\nNzqn9dNwrzT4NS2lS1vEAlzzNZAKkUwpNOwv7Ho5bQp6/8rXMqV0HHqq9Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 514,
+          "tcId" : 540,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100e7c5cf3aac2e88923b77850515fff6a12d13b356dfe9ec275c3dd81ae94609a4",
@@ -5651,20 +6137,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8caace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzPIpamqJtiuQc504r0rjog6fRXFb\nkARGOSQQYeM/j4yqzgBGSR7qocbppHK5bYj0r4Pn/xu4RDjH4FgDRBKuCA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8caace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08",
         "wx" : "0ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8c",
         "wy" : "0aace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8caace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzPIpamqJtiuQc504r0rjog6fRXFb\nkARGOSQQYeM/j4yqzgBGSR7qocbppHK5bYj0r4Pn/xu4RDjH4FgDRBKuCA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 515,
+          "tcId" : 541,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100c77838df91c1e953e016e10bddffea2317f9fee32bacfe553cede9e57a748f68",
@@ -5674,20 +6161,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000494b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElLD8FSW8q/grHzSJXlgZoGwCsj4E\nACJ24WX5YshuOSe+fCq00LJTAyBPsyofgpKQJ5IiXham0tv7KfvImpwzdg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0494b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376",
         "wx" : "094b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927",
         "wy" : "0be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000494b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElLD8FSW8q/grHzSJXlgZoGwCsj4E\nACJ24WX5YshuOSe+fCq00LJTAyBPsyofgpKQJ5IiXham0tv7KfvImpwzdg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 516,
+          "tcId" : 542,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008ef071c02383d2a6c02dc217bbffd446730d0318b0425e2586220907f885f97f",
@@ -5697,20 +6185,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEU1Hzfh3gyIxQhSfYmILRg8zc8u/K\nQH7bBifK39Ft5uxEtLV835YNMuvMTJeEfu0hhCWFO1tnXreBt2ahoTADSQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349",
         "wx" : "5351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec",
         "wy" : "44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEU1Hzfh3gyIxQhSfYmILRg8zc8u/K\nQH7bBifK39Ft5uxEtLV835YNMuvMTJeEfu0hhCWFO1tnXreBt2ahoTADSQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 517,
+          "tcId" : 543,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205668aaa0b545bbf9a044a32399ffbe69ce20074e34d7bdf5cf56282a76976396",
@@ -5720,20 +6209,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a69d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdIu6/DIOZzXLZAGXEKJpxsK10Ue9\nyDEyXLL7J2rJcaadZV6adVvJ2ACtIe4/1NmA2Tp6SajFzNNwBRd1ePURYw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a69d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163",
         "wx" : "748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a6",
         "wy" : "09d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a69d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdIu6/DIOZzXLZAGXEKJpxsK10Ue9\nyDEyXLL7J2rJcaadZV6adVvJ2ACtIe4/1NmA2Tp6SajFzNNwBRd1ePURYw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 518,
+          "tcId" : 544,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100d12d6e56882f6c0027cae91a27127728f7fddf478fb4fdc2b65f40a60b0eb952",
@@ -5743,20 +6233,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000414b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFLO711xeHAw2U1qTTUq4URJBCzuQ\n+pejHDMDiWT9hcwRL32Df4+cNrRg1jbJZaX4GPK1DF0A+z+XBVYd1mMYgw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0414b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883",
         "wx" : "14b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc",
         "wy" : "112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000414b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFLO711xeHAw2U1qTTUq4URJBCzuQ\n+pejHDMDiWT9hcwRL32Df4+cNrRg1jbJZaX4GPK1DF0A+z+XBVYd1mMYgw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 519,
+          "tcId" : 545,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffffaaaaaaaaffffffffffffffffe9a2538f37b28a2c513dee40fecbb71a",
@@ -5766,20 +6257,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2CNTPATNjtxtb5UKjgit4Eqbr6Lx\nSlkDVpNWca6TBb9DF40fiLalepaSTCZfDdt1tYMSkHsZWstZ13lzAxI3dQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775",
         "wx" : "0d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf",
         "wy" : "43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2CNTPATNjtxtb5UKjgit4Eqbr6Lx\nSlkDVpNWca6TBb9DF40fiLalepaSTCZfDdt1tYMSkHsZWstZ13lzAxI3dQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 520,
+          "tcId" : 546,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100b62f26b5f2a2b26f6de86d42ad8a13da3ab3cccd0459b201de009e526adf21f2",
@@ -5789,20 +6281,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2ys0CLMWfZEDBiTGMo6M4+wQjBBV\ndcLz0gm5LmVLq2nDQxgTnFCwgCxuYS8P0xidgA33yZbV17fD1r6Cg2+iWA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258",
         "wx" : "0db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69",
         "wy" : "0c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2ys0CLMWfZEDBiTGMo6M4+wQjBBV\ndcLz0gm5LmVLq2nDQxgTnFCwgCxuYS8P0xidgA33yZbV17fD1r6Cg2+iWA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 521,
+          "tcId" : 547,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bb1d9ac949dd748cd02bbbe749bd351cd57b38bb61403d700686aa7b4c90851e",
@@ -5812,20 +6305,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000409179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab60638527425556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRec58WSJTkiFkU7KsHp0XjCSDff\nria8HderYGOFJ0JVVrQuMwKJ87gmstt6htGdRcKGClnyvh3cw7aR+VqSVQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0409179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab60638527425556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255",
         "wx" : "09179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab6063852742",
         "wy" : "5556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000409179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab60638527425556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRec58WSJTkiFkU7KsHp0XjCSDff\nria8HderYGOFJ0JVVrQuMwKJ87gmstt6htGdRcKGClnyvh3cw7aR+VqSVQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 522,
+          "tcId" : 548,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022066755a00638cdaec1c732513ca0234ece52545dac11f816e818f725b4f60aaf2",
@@ -5835,20 +6329,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000401959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7ed9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAZWfuN7aVuVGe35LIU6kwtDC+ynX\nD/Gbax7M69ZWjX7Z29d6kYKX/ZcL/wHhND9pJRZ9taFNCYohHDnMOkEzmA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7ed9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398",
         "wx" : "1959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7e",
         "wy" : "0d9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000401959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7ed9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAZWfuN7aVuVGe35LIU6kwtDC+ynX\nD/Gbax7M69ZWjX7Z29d6kYKX/ZcL/wHhND9pJRZ9taFNCYohHDnMOkEzmA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 523,
+          "tcId" : 549,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022055a00c9fcdaebb6032513ca0234ecfffe98ebe492fdf02e48ca48e982beb3669",
@@ -5858,20 +6353,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a9960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVn8f3Dh+U1DIUrTo+LqdbZR+HF3X\nzMYaWTgkXda8qzqZYL66+RlRT5U1wi6q8LWBKFeXDiZmImex8+sQERMKEQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a9960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11",
         "wx" : "567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a",
         "wy" : "09960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a9960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVn8f3Dh+U1DIUrTo+LqdbZR+HF3X\nzMYaWTgkXda8qzqZYL66+RlRT5U1wi6q8LWBKFeXDiZmImex8+sQERMKEQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 524,
+          "tcId" : 550,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ab40193f9b5d76c064a27940469d9fffd31d7c925fbe05c919491d3057d66cd2",
@@ -5881,20 +6377,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENJn5dP9Mpruy9RaC/V9Rdi+d1t0o\nVSYmYLNtRtPkvsL0mPriSHgH4iARkVLwEiR2xk1PpG3c6FxFRmMPDVxegQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81",
         "wx" : "3499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2",
         "wy" : "0f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENJn5dP9Mpruy9RaC/V9Rdi+d1t0o\nVSYmYLNtRtPkvsL0mPriSHgH4iARkVLwEiR2xk1PpG3c6FxFRmMPDVxegQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 525,
+          "tcId" : 551,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100ca0234ebb5fdcb13ca0234ecffffffffcb0dadbbc7f549f8a26b4408d0dc8600",
@@ -5904,20 +6401,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELFwBZizwDBkpWWJX2xOybs8w0PPs\nS58DUbDycJRHNCbphqCGBg0Ibu6CLd0vx0QkegFUtX96acUdn9r6SE5Kxw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7",
         "wx" : "2c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426",
         "wy" : "0e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELFwBZizwDBkpWWJX2xOybs8w0PPs\nS58DUbDycJRHNCbphqCGBg0Ibu6CLd0vx0QkegFUtX96acUdn9r6SE5Kxw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 526,
+          "tcId" : 552,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff3ea3677e082b9310572620ae19933a9e65b285598711c77298815ad3",
@@ -5927,20 +6425,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000491d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkdTLqBOgTYbbrpTCO+b1LBV3QYO+\ne6Wy2fPPAQsWBQGQC4rf6mSRAZqawIDVFgJaVBv0uVKwrXvksYdLAv1USg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0491d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a",
         "wx" : "091d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501",
         "wy" : "0900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000491d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkdTLqBOgTYbbrpTCO+b1LBV3QYO+\ne6Wy2fPPAQsWBQGQC4rf6mSRAZqawIDVFgJaVBv0uVKwrXvksYdLAv1USg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 527,
+          "tcId" : 553,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220266666663bbbbbbbe6666666666666665b37902e023fab7c8f055d86e5cc41f4",
@@ -5950,20 +6449,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73/Qo6NjhmODMOytQeGjswKvNpYI\nMdAhDGFLlI6KoSTvDW2ADkBH1tPBvg/erxH82Mq1q1nHMOs0EW41qMfQmA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098",
         "wx" : "0ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124",
         "wy" : "0ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73/Qo6NjhmODMOytQeGjswKvNpYI\nMdAhDGFLlI6KoSTvDW2ADkBH1tPBvg/erxH82Mq1q1nHMOs0EW41qMfQmA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 528,
+          "tcId" : 554,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff36db6db7a492492492492492146c573f4c6dfc8d08a443e258970b09",
@@ -5973,20 +6473,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpSHasTzJFS2Mp3A1pgf+oGxVzDyl\n2+uGjOqS6v6T3yp7+5soUxmWY15qXMqigmpAbOERG9ucLgyjZQBBii9D3g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de",
         "wx" : "0a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a",
         "wy" : "7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpSHasTzJFS2Mp3A1pgf+oGxVzDyl\n2+uGjOqS6v6T3yp7+5soUxmWY15qXMqigmpAbOERG9ucLgyjZQBBii9D3g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 529,
+          "tcId" : 555,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100bfffffff2aaaaaab7fffffffffffffffc815d0e60b3e596ecb1ad3a27cfd49c4",
@@ -5996,20 +6497,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a10976e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER01YpO7Bbg1WXyGH/hHU6OeiaDoS\n84tPwB0SN6gaEJduVfc7t83aRr22fvd/b9KWnfK2eSD7WUX946UXpt7UzQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a10976e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd",
         "wx" : "474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a1097",
         "wy" : "6e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a10976e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER01YpO7Bbg1WXyGH/hHU6OeiaDoS\n84tPwB0SN6gaEJduVfc7t83aRr22fvd/b9KWnfK2eSD7WUX946UXpt7UzQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 530,
+          "tcId" : 556,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207fffffff55555555ffffffffffffffffd344a71e6f651458a27bdc81fd976e37",
@@ -6019,20 +6521,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a62140e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaS2lzUMJ2ably1JcN9qPoIefe1cg\njNq79H0iOlsjpiFA4NqnjP3SB6c4mq7WFzixf8X8Pmpe0zl9KQLpEl5qtA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a62140e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4",
         "wx" : "692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a621",
         "wy" : "40e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a62140e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaS2lzUMJ2ably1JcN9qPoIefe1cg\njNq79H0iOlsjpiFA4NqnjP3SB6c4mq7WFzixf8X8Pmpe0zl9KQLpEl5qtA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 531,
+          "tcId" : 557,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203fffffff800000007fffffffffffffffde737d56d38bcf4279dce5617e3192aa",
@@ -6042,20 +6545,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000485689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhWibPgd1x3GKkCefFKgILPzU0fFn\nknT06biAXFcKBnAWf8xcpzRVLgmvo2QPSgNOFbm3ymYex/9w0/JA6+cFsQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0485689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1",
         "wx" : "085689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670",
         "wy" : "167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000485689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhWibPgd1x3GKkCefFKgILPzU0fFn\nknT06biAXFcKBnAWf8xcpzRVLgmvo2QPSgNOFbm3ymYex/9w0/JA6+cFsQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 532,
+          "tcId" : 558,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205d8ecd64a4eeba466815ddf3a4de9a8e6abd9c5db0a01eb80343553da648428f",
@@ -6065,20 +6569,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI34qlk/ADTd6hZK4thqvp6Sqp8e5/StB1uDhe9G6VnftzQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd",
         "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e",
         "wy" : "2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI34qlk/ADTd6hZK4thqvp6Sqp8e5/StB1uDhe9G6VnftzQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 533,
+          "tcId" : 559,
           "comment" : "point duplication during verification",
           "msg" : "54657374",
           "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100f21d907e3890916dc4fa1f4703c1e50d3f54ddf7383e44023a41de562aa18ed8",
@@ -6090,20 +6595,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI37VabA+8siFe21HSeVQWFtVWDhGA9S+KR8ehC5FqYgSMg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232",
         "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e",
         "wy" : "0d569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI37VabA+8siFe21HSeVQWFtVWDhGA9S+KR8ehC5FqYgSMg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 534,
+          "tcId" : 560,
           "comment" : "duplication bug",
           "msg" : "54657374",
           "sig" : "304502206f2347cab7dd76858fe0555ac3bc99048c4aacafdfb6bcbe05ea6c42c4934569022100f21d907e3890916dc4fa1f4703c1e50d3f54ddf7383e44023a41de562aa18ed8",
@@ -6115,20 +6621,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000438a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69ca699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOKCE/8zEri+CBL4qvKn7itSrKDsq\npQ8TtrsjR62rxpymmXmbd7HMba0nHoi4mcEpMZhulY4fXPVlPd33OJNl4g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0438a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69ca699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2",
         "wx" : "38a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69c",
         "wy" : "0a699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000438a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69ca699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOKCE/8zEri+CBL4qvKn7itSrKDsq\npQ8TtrsjR62rxpymmXmbd7HMba0nHoi4mcEpMZhulY4fXPVlPd33OJNl4g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 535,
+          "tcId" : 561,
           "comment" : "point with x-coordinate 0",
           "msg" : "54657374",
           "sig" : "30250201010220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
@@ -6138,20 +6645,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeodvv4IdlsVVw1OT07LS6Amm2Dmw\nsRXZZNo+kZ74JQRzPc9B2DOwUwuHp7GlL32Rv6GZE/cVGIaROxYN4HzWmw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b",
         "wx" : "7a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504",
         "wy" : "733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeodvv4IdlsVVw1OT07LS6Amm2Dmw\nsRXZZNo+kZ74JQRzPc9B2DOwUwuHp7GlL32Rv6GZE/cVGIaROxYN4HzWmw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 536,
+          "tcId" : 562,
           "comment" : "point with x-coordinate 0",
           "msg" : "54657374",
           "sig" : "3045022101000000000000000000000000000000000000000000000000000000000000000002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9",
@@ -6161,20 +6669,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZkziczINkY2L2y5hIBtFSbNrfNxU\n4zuErbbywQqsgx5J5ogx8YvaKXOsPXa/vIxe4czu0t2GLi3HyRXHNs7x9A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4",
         "wx" : "664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e",
         "wy" : "49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZkziczINkY2L2y5hIBtFSbNrfNxU\n4zuErbbywQqsgx5J5ogx8YvaKXOsPXa/vIxe4czu0t2GLi3HyRXHNs7x9A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 537,
+          "tcId" : 563,
           "comment" : "comparison with point at infinity ",
           "msg" : "54657374",
           "sig" : "30440220555555550000000055555555555555553ef7a8e48d07df81a693439654210c7002203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aa9",
@@ -6184,21 +6693,22 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElhaRpelg0HowHbutTYYkfsJ9cIn6\n6z3dGt05Xv/x4P5yVGIsw3GGbN+ZDSxTd3kON9HxUZgX8JojG9JgqeeK6w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb",
         "wx" : "0961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe",
         "wy" : "7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElhaRpelg0HowHbutTYYkfsJ9cIn6\n6z3dGt05Xv/x4P5yVGIsw3GGbN+ZDSxTd3kON9HxUZgX8JojG9JgqeeK6w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 538,
-          "comment" : "extreme value for k",
+          "tcId" : 564,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699780220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
           "result" : "valid",
@@ -6207,21 +6717,142 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2wLR80IdYA6dnvnkdBnboyCO7QjC\n1BiaXbY6vrJzlmbg7SaWe5rantf/5ICCf5Cg0hDV/Y7GKOMXFeayQSVRKg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045d283e13ce8ca60da868e3b0fb33e6b4f1074793274e2928250e71e2aca63e9c214dc74fa25371fb4d9e506d418ed9a1bfd6d0c8bb6591d3e0f44505a84886ce",
+        "wx" : "5d283e13ce8ca60da868e3b0fb33e6b4f1074793274e2928250e71e2aca63e9c",
+        "wy" : "214dc74fa25371fb4d9e506d418ed9a1bfd6d0c8bb6591d3e0f44505a84886ce"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045d283e13ce8ca60da868e3b0fb33e6b4f1074793274e2928250e71e2aca63e9c214dc74fa25371fb4d9e506d418ed9a1bfd6d0c8bb6591d3e0f44505a84886ce",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXSg+E86Mpg2oaOOw+zPmtPEHR5Mn\nTikoJQ5x4qymPpwhTcdPolNx+02eUG1Bjtmhv9bQyLtlkdPg9EUFqEiGzg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 565,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040fc351da038ae0803bd1d86514ae0462f9f8216551d9315aa9d297f792eef6a341c74eed786f2d33da35360ca7aa925e753f00d6077a1e9e5fc339d634019c73",
+        "wx" : "0fc351da038ae0803bd1d86514ae0462f9f8216551d9315aa9d297f792eef6a3",
+        "wy" : "41c74eed786f2d33da35360ca7aa925e753f00d6077a1e9e5fc339d634019c73"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040fc351da038ae0803bd1d86514ae0462f9f8216551d9315aa9d297f792eef6a341c74eed786f2d33da35360ca7aa925e753f00d6077a1e9e5fc339d634019c73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAED8NR2gOK4IA70dhlFK4EYvn4IWVR\n2TFaqdKX95Lu9qNBx07teG8tM9o1NgynqpJedT8A1gd6Hp5fwznWNAGccw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 566,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "304502207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a1e34c8f16d138673fee55c080547c2bfd4de7550065f638322bba9430ce4b60662be9bb512663aa4d7df8ab3f3b4181c5d44a7bdf42436620b7d8a6b81ac936",
+        "wx" : "0a1e34c8f16d138673fee55c080547c2bfd4de7550065f638322bba9430ce4b60",
+        "wy" : "662be9bb512663aa4d7df8ab3f3b4181c5d44a7bdf42436620b7d8a6b81ac936"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a1e34c8f16d138673fee55c080547c2bfd4de7550065f638322bba9430ce4b60662be9bb512663aa4d7df8ab3f3b4181c5d44a7bdf42436620b7d8a6b81ac936",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoeNMjxbROGc/7lXAgFR8K/1N51UA\nZfY4Miu6lDDOS2BmK+m7USZjqk19+Ks/O0GBxdRKe99CQ2Ygt9imuBrJNg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 567,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997802203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047e1a8a8338d7fd8cf41d322a302d2078a87a23c7186150ed7cda6e52817c1bdfd0a9135a89d21ce821e29014b2898349254d748272b2d4eb8d59ee34c615377f",
+        "wx" : "7e1a8a8338d7fd8cf41d322a302d2078a87a23c7186150ed7cda6e52817c1bdf",
+        "wy" : "0d0a9135a89d21ce821e29014b2898349254d748272b2d4eb8d59ee34c615377f"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047e1a8a8338d7fd8cf41d322a302d2078a87a23c7186150ed7cda6e52817c1bdfd0a9135a89d21ce821e29014b2898349254d748272b2d4eb8d59ee34c615377f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfhqKgzjX/Yz0HTIqMC0geKh6I8cY\nYVDtfNpuUoF8G9/QqRNaidIc6CHikBSyiYNJJU10gnKy1OuNWe40xhU3fw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 568,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045c19fe227a61abc65c61ee7a018cc9571b2c6f663ea33583f76a686f64be078b7b4a0d734940f613d52bc48673b457c2cf78492490a5cc5606c0541d17b24ddb",
+        "wx" : "5c19fe227a61abc65c61ee7a018cc9571b2c6f663ea33583f76a686f64be078b",
+        "wy" : "7b4a0d734940f613d52bc48673b457c2cf78492490a5cc5606c0541d17b24ddb"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045c19fe227a61abc65c61ee7a018cc9571b2c6f663ea33583f76a686f64be078b7b4a0d734940f613d52bc48673b457c2cf78492490a5cc5606c0541d17b24ddb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXBn+Inphq8ZcYe56AYzJVxssb2Y+\nozWD92pob2S+B4t7Sg1zSUD2E9UrxIZztFfCz3hJJJClzFYGwFQdF7JN2w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 569,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "304402207cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a",
         "wx" : "0db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666",
         "wy" : "0e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2wLR80IdYA6dnvnkdBnboyCO7QjC\n1BiaXbY6vrJzlmbg7SaWe5rantf/5ICCf5Cg0hDV/Y7GKOMXFeayQSVRKg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 539,
-          "comment" : "extreme value for k",
+          "tcId" : 570,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2960220555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
           "result" : "valid",
@@ -6230,20 +6861,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046222d1962655501893c29e441395b6c05711bd3ed5a0ef72cfab338b88229c4baaae079cb44a1af070362aaa520ee24cac2626423b0bf81af1c54311d8e2fd23",
+        "wx" : "6222d1962655501893c29e441395b6c05711bd3ed5a0ef72cfab338b88229c4b",
+        "wy" : "0aaae079cb44a1af070362aaa520ee24cac2626423b0bf81af1c54311d8e2fd23"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046222d1962655501893c29e441395b6c05711bd3ed5a0ef72cfab338b88229c4baaae079cb44a1af070362aaa520ee24cac2626423b0bf81af1c54311d8e2fd23",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYiLRliZVUBiTwp5EE5W2wFcRvT7V\noO9yz6szi4ginEuqrgectEoa8HA2KqpSDuJMrCYmQjsL+BrxxUMR2OL9Iw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 571,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044ccfa24c67f3def7fa81bc99c70bb0419c0952ba599f4c03361da184b04cdca5db76b797f7f41d9c729a2219478a7e629728df870800be8cf6ca7a0a82153bfa",
+        "wx" : "4ccfa24c67f3def7fa81bc99c70bb0419c0952ba599f4c03361da184b04cdca5",
+        "wy" : "0db76b797f7f41d9c729a2219478a7e629728df870800be8cf6ca7a0a82153bfa"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044ccfa24c67f3def7fa81bc99c70bb0419c0952ba599f4c03361da184b04cdca5db76b797f7f41d9c729a2219478a7e629728df870800be8cf6ca7a0a82153bfa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETM+iTGfz3vf6gbyZxwuwQZwJUrpZ\nn0wDNh2hhLBM3KXbdreX9/QdnHKaIhlHin5ilyjfhwgAvoz2ynoKghU7+g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 572,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "304502206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022100cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ea1c72c91034036bac71402b6e9ecc4af3dbde7a99dc574061e99fefff9d84dab7dd057e75b78ac6f56e34eb048f0a9d29d5d055408c90d02bc2ea918c18cb63",
+        "wx" : "0ea1c72c91034036bac71402b6e9ecc4af3dbde7a99dc574061e99fefff9d84da",
+        "wy" : "0b7dd057e75b78ac6f56e34eb048f0a9d29d5d055408c90d02bc2ea918c18cb63"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ea1c72c91034036bac71402b6e9ecc4af3dbde7a99dc574061e99fefff9d84dab7dd057e75b78ac6f56e34eb048f0a9d29d5d055408c90d02bc2ea918c18cb63",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6hxyyRA0A2uscUArbp7MSvPb3nqZ\n3FdAYemf7/+dhNq33QV+dbeKxvVuNOsEjwqdKdXQVUCMkNArwuqRjBjLYw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 573,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29602203333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c2879a66d86cb20b820b7795da2da62b38924f7817d1cd350d936988e90e79bc5431a7268ff6931c7a759de024eff90bcb0177216db6fd1f3aaaa11fa3b6a083",
+        "wx" : "0c2879a66d86cb20b820b7795da2da62b38924f7817d1cd350d936988e90e79bc",
+        "wy" : "5431a7268ff6931c7a759de024eff90bcb0177216db6fd1f3aaaa11fa3b6a083"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2879a66d86cb20b820b7795da2da62b38924f7817d1cd350d936988e90e79bc5431a7268ff6931c7a759de024eff90bcb0177216db6fd1f3aaaa11fa3b6a083",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwoeaZthssguCC3eV2i2mKziST3gX\n0c01DZNpiOkOebxUMacmj/aTHHp1neAk7/kLywF3IW22/R86qqEfo7aggw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 574,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022049249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ab1c0f273f74abc2b848c75006f2ef3c54c26df27711b06558f455079aee0ba3df510f2ecef6d9a05997c776f14ad6456c179f0a13af1771e4d6c37fa48b47f2",
+        "wx" : "0ab1c0f273f74abc2b848c75006f2ef3c54c26df27711b06558f455079aee0ba3",
+        "wy" : "0df510f2ecef6d9a05997c776f14ad6456c179f0a13af1771e4d6c37fa48b47f2"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab1c0f273f74abc2b848c75006f2ef3c54c26df27711b06558f455079aee0ba3df510f2ecef6d9a05997c776f14ad6456c179f0a13af1771e4d6c37fa48b47f2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqxwPJz90q8K4SMdQBvLvPFTCbfJ3\nEbBlWPRVB5ruC6PfUQ8uzvbZoFmXx3bxStZFbBefChOvF3Hk1sN/pItH8g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 575,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "304402206b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296022016a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
+        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
+        "wy" : "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
+      },
       "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9Q==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
-        "wy" : "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
-      },
       "tests" : [
         {
-          "tcId" : 540,
+          "tcId" : 576,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -6251,7 +7003,7 @@
           "flags" : []
         },
         {
-          "tcId" : 541,
+          "tcId" : 577,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "3045022100acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -6261,20 +7013,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
+        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
+        "wy" : "0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a"
+      },
       "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpawHL0cAeWAZXEYFLWD8GHp1DHMqZTOoTE0Sb+XyECuCg==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
-        "wy" : "0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a"
-      },
       "tests" : [
         {
-          "tcId" : 542,
+          "tcId" : 578,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -6282,7 +7035,7 @@
           "flags" : []
         },
         {
-          "tcId" : 543,
+          "tcId" : 579,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "3045022100acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c0220249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -6292,20 +7045,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAES/TlL5WEJ+u1kV+4yVlVUbTTo/2rZ7rd\nnWwwk/QlukNjDfcfQvDrfOqpTZ9kSKhd0wMxWIJJ/S/cCzCex+2EgbwW8ngAwT19\ntwD8guGxyFRaoMDTtW47/nifwYqRaIfC\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2",
         "wx" : "4bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85d",
         "wy" : "0d30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044bf4e52f958427ebb5915fb8c9595551b4d3a3fdab67badd9d6c3093f425ba43630df71f42f0eb7ceaa94d9f6448a85dd30331588249fd2fdc0b309ec7ed8481bc16f27800c13d7db700fc82e1b1c8545aa0c0d3b56e3bfe789fc18a916887c2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAES/TlL5WEJ+u1kV+4yVlVUbTTo/2rZ7rd\nnWwwk/QlukNjDfcfQvDrfOqpTZ9kSKhd0wMxWIJJ/S/cCzCex+2EgbwW8ngAwT19\ntwD8guGxyFRaoMDTtW47/nifwYqRaIfC\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 544,
+          "tcId" : 580,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "304d0218389cb27e0bc8d21fa7e5f24cb74f58851313e696333ad68b023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
@@ -6313,7 +7067,7 @@
           "flags" : []
         },
         {
-          "tcId" : 545,
+          "tcId" : 581,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3066023100fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffe023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52970",
@@ -6323,20 +7077,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENiO7KWuI9ibQ+SZWvwFvEVtyEnfMtJMH\nOb+9gfnB5zRjDgaF0y4VTgtKXGLkOFH2doNWtKV2TBKMexEF49d4qJ0eAdopft4b\nxDEsJYPgu93SFhNYPdCauJXGO+R5+UV2\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576",
         "wx" : "3623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6",
         "wy" : "768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043623bb296b88f626d0f92656bf016f115b721277ccb4930739bfbd81f9c1e734630e0685d32e154e0b4a5c62e43851f6768356b4a5764c128c7b1105e3d778a89d1e01da297ede1bc4312c2583e0bbddd21613583dd09ab895c63be479f94576",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENiO7KWuI9ibQ+SZWvwFvEVtyEnfMtJMH\nOb+9gfnB5zRjDgaF0y4VTgtKXGLkOFH2doNWtKV2TBKMexEF49d4qJ0eAdopft4b\nxDEsJYPgu93SFhNYPdCauJXGO+R5+UV2\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 546,
+          "tcId" : 582,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3066023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52972023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52971",
@@ -6346,20 +7101,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE1RbLisjkRXtpPVGSvuts59mka+9I7s8+\nqCMobxAfmNEw9aJtxv7CNmLv8H8USG/VhFaTLnSJS38OO7Df02JQKzdl3YCjF3IJ\n+yIdybUar0RwskU5FAW+9RQXaxOiZ6cg\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720",
         "wx" : "0d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd5",
         "wy" : "08456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d516cb8ac8e4457b693d5192beeb6ce7d9a46bef48eecf3ea823286f101f98d130f5a26dc6fec23662eff07f14486fd58456932e74894b7f0e3bb0dfd362502b3765dd80a3177209fb221dc9b51aaf4470b245391405bef514176b13a267a720",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE1RbLisjkRXtpPVGSvuts59mka+9I7s8+\nqCMobxAfmNEw9aJtxv7CNmLv8H8USG/VhFaTLnSJS38OO7Df02JQKzdl3YCjF3IJ\n+yIdybUar0RwskU5FAW+9RQXaxOiZ6cg\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 547,
+          "tcId" : 583,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d1aee55fdc2a716ba2fabcb57020b72e539bf05c7902f98e105bf83d4cc10c2a159a3cf7e01d749d2205f4da6bd8fcf1",
@@ -6369,20 +7125,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqDgM01Am4Tv4e+aTzbbnWoLXZbQBm1Ke\njSd8SvbJ2yfrtdP4boit2dW2EYbwTIOpkqGHUHxzcyXSzGJKzvPNA2v6meDBUYvm\nXIi7UfkA+UEjrKutgdFRMNOt5/9+Q2Th\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1",
         "wx" : "0a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a9",
         "wy" : "092a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004a8380cd35026e13bf87be693cdb6e75a82d765b4019b529e8d277c4af6c9db27ebb5d3f86e88add9d5b61186f04c83a992a187507c737325d2cc624acef3cd036bfa99e0c1518be65c88bb51f900f94123acabad81d15130d3ade7ff7e4364e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqDgM01Am4Tv4e+aTzbbnWoLXZbQBm1Ke\njSd8SvbJ2yfrtdP4boit2dW2EYbwTIOpkqGHUHxzcyXSzGJKzvPNA2v6meDBUYvm\nXIi7UfkA+UEjrKutgdFRMNOt5/9+Q2Th\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 548,
+          "tcId" : 584,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b6b681dc484f4f020fd3f7e626d88edc6ded1b382ef3e143d60887b51394260832d4d8f2ef70458f9fa90e38c2e19e4f",
@@ -6392,20 +7149,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEVU8v0LcAqfRWh1K2c9nA0p3JbBD+Z+OM\nbW0zm/r+Bflw2ow9IWToIDEwekS9MiURcTErYbWRE/8L07ippJNN8mKqgJb4QOnY\nv/pddJHe2Hs4xJb5ueTwuhCJ+NP/yIqf\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f",
         "wx" : "554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd322511",
         "wy" : "71312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004554f2fd0b700a9f4568752b673d9c0d29dc96c10fe67e38c6d6d339bfafe05f970da8c3d2164e82031307a44bd32251171312b61b59113ff0bd3b8a9a4934df262aa8096f840e9d8bffa5d7491ded87b38c496f9b9e4f0ba1089f8d3ffc88a9f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEVU8v0LcAqfRWh1K2c9nA0p3JbBD+Z+OM\nbW0zm/r+Bflw2ow9IWToIDEwekS9MiURcTErYbWRE/8L07ippJNN8mKqgJb4QOnY\nv/pddJHe2Hs4xJb5ueTwuhCJ+NP/yIqf\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 549,
+          "tcId" : 585,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020101",
@@ -6415,20 +7173,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERO4zNfp30vsC5L1wdPReWYqHnA+oIuxx\njCHcE7g0QO3E48EKGFhCPgMETJ7/Ilkc0CfEmTPlUQVX1rSyxvZv5dy5MCo7E/3G\ngEjD/KyIuhUrapgzyH/cYoCvxdEat8EH\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107",
         "wx" : "44ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591c",
         "wy" : "0d027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000444ee3335fa77d2fb02e4bd7074f45e598a879c0fa822ec718c21dc13b83440edc4e3c10a1858423e03044c9eff22591cd027c49933e5510557d6b4b2c6f66fe5dcb9302a3b13fdc68048c3fcac88ba152b6a9833c87fdc6280afc5d11ab7c107",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAERO4zNfp30vsC5L1wdPReWYqHnA+oIuxx\njCHcE7g0QO3E48EKGFhCPgMETJ7/Ilkc0CfEmTPlUQVX1rSyxvZv5dy5MCo7E/3G\ngEjD/KyIuhUrapgzyH/cYoCvxdEat8EH\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 550,
+          "tcId" : 586,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020102",
@@ -6438,20 +7197,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4vh/cuPGbHMDf+d2B9Qq0tnEzBWYk7S5\nuLA2XTp3ZtvoZ4sC4raPWOWk92gQYaOQ448hQoGFQr72srw6LE9DyV5SWda9VAFT\nE3jHyhJaH2zGCdT638XJqZNY7nf/eAyN\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d",
         "wx" : "0e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390",
         "wy" : "0e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e2f87f72e3c66c73037fe77607d42ad2d9c4cc159893b4b9b8b0365d3a7766dbe8678b02e2b68f58e5a4f7681061a390e38f2142818542bef6b2bc3a2c4f43c95e5259d6bd5401531378c7ca125a1f6cc609d4fadfc5c9a99358ee77ff780c8d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4vh/cuPGbHMDf+d2B9Qq0tnEzBWYk7S5\nuLA2XTp3ZtvoZ4sC4raPWOWk92gQYaOQ448hQoGFQr72srw6LE9DyV5SWda9VAFT\nE3jHyhJaH2zGCdT638XJqZNY7nf/eAyN\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 551,
+          "tcId" : 587,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020102020103",
@@ -6459,7 +7219,7 @@
           "flags" : []
         },
         {
-          "tcId" : 552,
+          "tcId" : 588,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3036023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52975020103",
@@ -6469,20 +7229,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBeZ8RPwMvJqOs0O01vWWx9AMrF2oWUyv\nRbcgk5dJYhTELYVqAVzlibybqGWk+rWriKAce10J76+Hj8uRAvs4dag4GvI00cWT\nB25FIiWlb1FnTzRxJtMAm0TcuwA6ZNlf\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f",
         "wx" : "5e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab",
         "wy" : "088a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000405e67c44fc0cbc9a8eb343b4d6f596c7d00cac5da8594caf45b7209397496214c42d856a015ce589bc9ba865a4fab5ab88a01c7b5d09efaf878fcb9102fb3875a8381af234d1c593076e452225a56f51674f347126d3009b44dcbb003a64d95f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBeZ8RPwMvJqOs0O01vWWx9AMrF2oWUyv\nRbcgk5dJYhTELYVqAVzlibybqGWk+rWriKAce10J76+Hj8uRAvs4dag4GvI00cWT\nB25FIiWlb1FnTzRxJtMAm0TcuwA6ZNlf\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 553,
+          "tcId" : 589,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3036020102023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accd7fffa",
@@ -6492,20 +7253,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEC7A/zjwB688Ic6vRNKhoL1+42/+iLaZ0\nBH5cPnHkPeWC7Wq7kIwuT6pdlhhieLbBujsiEj5ozMVvF915/xVWVwb3GgthI8d6\n882I8K8CTMUll4FRbtyvX+mQZG57Zpmd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d",
         "wx" : "0bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1",
         "wy" : "0ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040bb03fce3c01ebcf0873abd134a8682f5fb8dbffa22da674047e5c3e71e43de582ed6abb908c2e4faa5d96186278b6c1ba3b22123e68ccc56f17dd79ff15565706f71a0b6123c77af3cd88f0af024cc5259781516edcaf5fe990646e7b66999d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEC7A/zjwB688Ic6vRNKhoL1+42/+iLaZ0\nBH5cPnHkPeWC7Wq7kIwuT6pdlhhieLbBujsiEj5ozMVvF915/xVWVwb3GgthI8d6\n882I8K8CTMUll4FRbtyvX+mQZG57Zpmd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 554,
+          "tcId" : 590,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "3036020201000230489122448912244891224489122448912244891224489122347ce79bc437f4d071aaa92c7d6c882ae8734dc18cb0d553",
@@ -6515,20 +7277,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEWPJGCQ1eSYY7wL8tUB/3L1UcXxxeZ560\nkGT9AuIhonBzJuwtFAvMgXr6rVBldhVmSXyCP9c2iCy/ePuSsaVYm2foBnSXxxCk\ny7Od7ixUMbxFz7lsn4RUOFyfKz7y09Ma\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a",
         "wx" : "58f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566",
         "wy" : "497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000458f246090d5e49863bc0bf2d501ff72f551c5f1c5e679eb49064fd02e221a2707326ec2d140bcc817afaad5065761566497c823fd736882cbf78fb92b1a5589b67e8067497c710a4cbb39dee2c5431bc45cfb96c9f8454385c9f2b3ef2d3d31a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEWPJGCQ1eSYY7wL8tUB/3L1UcXxxeZ560\nkGT9AuIhonBzJuwtFAvMgXr6rVBldhVmSXyCP9c2iCy/ePuSsaVYm2foBnSXxxCk\ny7Od7ixUMbxFz7lsn4RUOFyfKz7y09Ma\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 555,
+          "tcId" : 591,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "303c02072d9b4d347952cd023100ce751512561b6f57c75342848a3ff98ccf9c3f0219b6b68d00449e6c971a85d2e2ce73554b59219d54d2083b46327351",
@@ -6538,20 +7301,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/GmE3Wgw0UhfslgaRaeR2NyixyfHPT1E\nyJ8AgsGGivXKdLTKSuIoAmQKnr/ox64SmY1jpbWtG3K4mfCxMuSVKqoZ1B/e6kix\n7WuDWN0dsgf9ZuAUU61A9nuDatyALV/o\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8",
         "wx" : "0fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12",
         "wy" : "0998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fc6984dd6830d1485fb2581a45a791d8dca2c727c73d3d44c89f0082c1868af5ca74b4ca4ae22802640a9ebfe8c7ae12998d63a5b5ad1b72b899f0b132e4952aaa19d41fdeea48b1ed6b8358dd1db207fd66e01453ad40f67b836adc802d5fe8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/GmE3Wgw0UhfslgaRaeR2NyixyfHPT1E\nyJ8AgsGGivXKdLTKSuIoAmQKnr/ox64SmY1jpbWtG3K4mfCxMuSVKqoZ1B/e6kix\n7WuDWN0dsgf9ZuAUU61A9nuDatyALV/o\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 556,
+          "tcId" : 592,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d1033e67e37b32b445580bf4efb02302ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad52ad5215c51b320e460542f9cc38968ccdf4263684004eb79a452",
@@ -6561,20 +7325,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEG43vWSIwPWR+jrB+O62S+SS3m3ae7xaO\ndUHeH04NKK6XM+uYz4oftt1SygLIx1tRx6pL9nnUnYEUEiB02o9gRKQnNxeWpWVK\nYQYWLV9oartz69iWqwjHBiaH8SFx++Sj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3",
         "wx" : "1b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51",
         "wy" : "0c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041b8def5922303d647e8eb07e3bad92f924b79b769eef168e7541de1f4e0d28ae9733eb98cf8a1fb6dd52ca02c8c75b51c7aa4bf679d49d8114122074da8f6044a427371796a5654a6106162d5f686abb73ebd896ab08c7062687f12171fbe4a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEG43vWSIwPWR+jrB+O62S+SS3m3ae7xaO\ndUHeH04NKK6XM+uYz4oftt1SygLIx1tRx6pL9nnUnYEUEiB02o9gRKQnNxeWpWVK\nYQYWLV9oartz69iWqwjHBiaH8SFx++Sj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 557,
+          "tcId" : 593,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "303602020100023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b",
@@ -6584,20 +7349,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFzSgOaiKFsL/Sql9I5kSH1b1LvAe1eUI\nh/c29ltuUdboeGq7TgY9pdG6gS3/mYQDzNaY5sKW1c1pF4+Kgkgahl2jMWJ/HEsy\nT7wCs26LXtWKMfco6QTSA6OIdVMCGVdl\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765",
         "wx" : "1734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403",
         "wy" : "0ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041734a039a88a16c2ff4aa97d2399121f56f52ef01ed5e50887f736f65b6e51d6e8786abb4e063da5d1ba812dff998403ccd698e6c296d5cd69178f8a82481a865da331627f1c4b324fbc02b36e8b5ed58a31f728e904d203a388755302195765",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFzSgOaiKFsL/Sql9I5kSH1b1LvAe1eUI\nh/c29ltuUdboeGq7TgY9pdG6gS3/mYQDzNaY5sKW1c1pF4+Kgkgahl2jMWJ/HEsy\nT7wCs26LXtWKMfco6QTSA6OIdVMCGVdl\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 558,
+          "tcId" : 594,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d062522bbd3ecbe7c39e93e7c24023077a172dfe37a2c53f0b92ab60f0a8f085f49dbfd930719d6f9e587ea68ae57cb49cd35a88cf8c6acec02f057a3807a5b",
@@ -6607,20 +7373,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUspH3amRcsuDIUlaz5iFSClZiOyXPBtO\nqUYsU+V2inBKk2QQ7oR7Xb8enQwTHabHh6RwJ+ZlV5LrAC1CKO5y98gUyaDOy/8m\neUj4HJkDrBDrNfbLhjaSJO1gmBHN85D0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4",
         "wx" : "52ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c7",
         "wy" : "087a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000452ca47dda99172cb8321495acf988548295988ec973c1b4ea9462c53e5768a704a936410ee847b5dbf1e9d0c131da6c787a47027e6655792eb002d4228ee72f7c814c9a0cecbff267948f81c9903ac10eb35f6cb86369224ed609811cdf390f4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUspH3amRcsuDIUlaz5iFSClZiOyXPBtO\nqUYsU+V2inBKk2QQ7oR7Xb8enQwTHabHh6RwJ+ZlV5LrAC1CKO5y98gUyaDOy/8m\neUj4HJkDrBDrNfbLhjaSJO1gmBHN85D0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 559,
+          "tcId" : 595,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3065023100ffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc528f3023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -6630,20 +7397,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvT2R8APhitvqcwedTrojuR/Bf87BTJ6x\nWhk/vJyjnIx0fNeiyWI+Bd1YfMu4q0xEOtsKBwaqXqemgEIIL8zvyXlhKnoaPWlL\nAHk7A/ib/4Zqi5fI53mQwpNgznlQNsdk\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764",
         "wx" : "0bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c44",
         "wy" : "3adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bd3d91f003e18adbea73079d4eba23b91fc17fcec14c9eb15a193fbc9ca39c8c747cd7a2c9623e05dd587ccbb8ab4c443adb0a0706aa5ea7a68042082fccefc979612a7a1a3d694b00793b03f89bff866a8b97c8e77990c29360ce795036c764",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvT2R8APhitvqcwedTrojuR/Bf87BTJ6x\nWhk/vJyjnIx0fNeiyWI+Bd1YfMu4q0xEOtsKBwaqXqemgEIIL8zvyXlhKnoaPWlL\nAHk7A/ib/4Zqi5fI53mQwpNgznlQNsdk\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 560,
+          "tcId" : 596,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020101",
@@ -6651,7 +7419,7 @@
           "flags" : []
         },
         {
-          "tcId" : 561,
+          "tcId" : 597,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3035023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326020100",
@@ -6661,20 +7429,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+JY1PMOor91UPsOu8GLKl7wy7Rck6ji5\nQLjA6g4js0GHr75w2vjbqltRFVfl0r3axL0mXaZ87q/KY29vTARy8iqdAuIokYT3\nO7twCuj8kh7/SSDykL/LSfuyMswTohAo\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028",
         "wx" : "0f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bdda",
         "wy" : "0c4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f896353cc3a8afdd543ec3aef062ca97bc32ed1724ea38b940b8c0ea0e23b34187afbe70daf8dbaa5b511557e5d2bddac4bd265da67ceeafca636f6f4c0472f22a9d02e2289184f73bbb700ae8fc921eff4920f290bfcb49fbb232cc13a21028",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+JY1PMOor91UPsOu8GLKl7wy7Rck6ji5\nQLjA6g4js0GHr75w2vjbqltRFVfl0r3axL0mXaZ87q/KY29vTARy8iqdAuIokYT3\nO7twCuj8kh7/SSDykL/LSfuyMswTohAo\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 562,
+          "tcId" : 598,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "306402307fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294b9023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -6684,20 +7453,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPs/Vijzlg4ZuBHHRbrPBCkEew7hnHzoE\ndpse2EZKcc8cdtjZt+NnC75xLW9VSpOD2YDYvt9XRw1rRcwa0MZCbccKDkvpARBq\nNmY7/KsE/LhgCHd7kkRRINXjZB2XOWNi\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362",
         "wx" : "3ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383",
         "wy" : "0d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043ecfd58a3ce583866e0471d16eb3c10a411ec3b8671f3a04769b1ed8464a71cf1c76d8d9b7e3670bbe712d6f554a9383d980d8bedf57470d6b45cc1ad0c6426dc70a0e4be901106a36663bfcab04fcb86008777b92445120d5e3641d97396362",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPs/Vijzlg4ZuBHHRbrPBCkEew7hnHzoE\ndpse2EZKcc8cdtjZt+NnC75xLW9VSpOD2YDYvt9XRw1rRcwa0MZCbccKDkvpARBq\nNmY7/KsE/LhgCHd7kkRRINXjZB2XOWNi\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 563,
+          "tcId" : 599,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
@@ -6707,20 +7477,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQVDM0PpFqi72tQQt27G4fF/9ERWo/lmV\nZBlIrNqCp7GQdi2ENSzXTRygHnn2j5y06xG+nUlMGBwVbiPnflMr3wogw8x0uowp\nsfPrK9mRKe4NcP8NWT8Nem1oh+fFWTDS\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2",
         "wx" : "4150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4",
         "wy" : "0eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044150ccd0fa45aa2ef6b5042ddbb1b87c5ffd1115a8fe5995641948acda82a7b190762d84352cd74d1ca01e79f68f9cb4eb11be9d494c181c156e23e77e532bdf0a20c3cc74ba8c29b1f3eb2bd99129ee0d70ff0d593f0d7a6d6887e7c55930d2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQVDM0PpFqi72tQQt27G4fF/9ERWo/lmV\nZBlIrNqCp7GQdi2ENSzXTRygHnn2j5y06xG+nUlMGBwVbiPnflMr3wogw8x0uowp\nsfPrK9mRKe4NcP8NWT8Nem1oh+fFWTDS\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 564,
+          "tcId" : 600,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec63260230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea5",
@@ -6730,20 +7501,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE54/iwRvqxwkO4K9/7UaajM69PMzE7p/M\nyO8/wEVbaaqggtwT4dhPNAJstvCvnpkv8067pxvzpAUL8o5AhLXF9dQJjsRvEKMb\nAvtL8gzJNi9vAqZugC+BdQdTX6w+wLCZ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099",
         "wx" : "0e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992f",
         "wy" : "0f34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e78fe2c11beac7090ee0af7fed469a8ccebd3cccc4ee9fccc8ef3fc0455b69aaa082dc13e1d84f34026cb6f0af9e992ff34ebba71bf3a4050bf28e4084b5c5f5d4098ec46f10a31b02fb4bf20cc9362f6f02a66e802f817507535fac3ec0b099",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE54/iwRvqxwkO4K9/7UaajM69PMzE7p/M\nyO8/wEVbaaqggtwT4dhPNAJstvCvnpkv8067pxvzpAUL8o5AhLXF9dQJjsRvEKMb\nAvtL8gzJNi9vAqZugC+BdQdTX6w+wLCZ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 565,
+          "tcId" : 601,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -6753,20 +7525,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7iSrijTQWvaEk5NX8ydZzFoU88cXUpog\nrqjgxZZdikHmiSX2iEcZlLcgIbpRsowJClVpPJKtDLrp7c9RXitMBguIjYLIHko7\nahc7Yu0EpG+pXbGi85SZgPui43EmPE+p\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9",
         "wx" : "0ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c09",
         "wy" : "0a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ee24ab8a34d05af684939357f32759cc5a14f3c717529a20aea8e0c5965d8a41e68925f688471994b72021ba51b28c090a55693c92ad0cbae9edcf515e2b4c060b888d82c81e4a3b6a173b62ed04a46fa95db1a2f3949980fba2e371263c4fa9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE7iSrijTQWvaEk5NX8ydZzFoU88cXUpog\nrqjgxZZdikHmiSX2iEcZlLcgIbpRsowJClVpPJKtDLrp7c9RXitMBguIjYLIHko7\nahc7Yu0EpG+pXbGi85SZgPui43EmPE+p\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 566,
+          "tcId" : 602,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "3065023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa84ecde56a2cf73ea3abc092185cb1a51f34810f1ddd8c64d",
@@ -6776,20 +7549,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPS6RYFXJLhs2Ez9ZN7N8GwECg063cAij\nupw9pEbpBllx1oupEwkYUeEM/1tM2HXBOap6rfwsr3EHsXrhrqiymdYb8VrKDLP9\nbx/96Bkr/ljwgiu7wfVb3fa0/pyPKw6s\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac",
         "wx" : "3d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c1",
         "wy" : "39aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200043d2e916055c92e1b36133f5937b37c1b0102834eb77008a3ba9c3da446e9065971d68ba913091851e10cff5b4cd875c139aa7aadfc2caf7107b17ae1aea8b299d61bf15aca0cb3fd6f1ffde8192bfe58f0822bbbc1f55bddf6b4fe9c8f2b0eac",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEPS6RYFXJLhs2Ez9ZN7N8GwECg063cAij\nupw9pEbpBllx1oupEwkYUeEM/1tM2HXBOap6rfwsr3EHsXrhrqiymdYb8VrKDLP9\nbx/96Bkr/ljwgiu7wfVb3fa0/pyPKw6s\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 567,
+          "tcId" : 603,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a",
@@ -6799,20 +7573,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAErllml0J6olAVbAWsQzjkiYCn8JPqHx/m\ncJi0P2U5wbIK50M4+b8nDTNmPFCr6P0AHKalJzLbdKsV0vJJo9g5CA+Jg2ff1kmS\nzc4nCN6q1SOioja0NABCQkHJGjW1MPpQ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50",
         "wx" : "0ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd00",
         "wy" : "1ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ae596697427aa250156c05ac4338e48980a7f093ea1f1fe67098b43f6539c1b20ae74338f9bf270d33663c50abe8fd001ca6a52732db74ab15d2f249a3d839080f898367dfd64992cdce2708deaad523a2a236b43400424241c91a35b530fa50",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAErllml0J6olAVbAWsQzjkiYCn8JPqHx/m\ncJi0P2U5wbIK50M4+b8nDTNmPFCr6P0AHKalJzLbdKsV0vJJo9g5CA+Jg2ff1kmS\nzc4nCN6q1SOioja0NABCQkHJGjW1MPpQ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 568,
+          "tcId" : 604,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d49a253986bbaa8ce9c3d3808313d39c3b950a478372edc009bc0566b73be7b05dad0737e16960257cc16db6ec6c620f",
@@ -6822,20 +7597,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiHOPmYHdTR+rtgrYPC3W38naMCIJrj5T\nSYqIO245o4vq2bAnCfNS0+a2V4FU6rJSk4igXGufOkAoq7mVClH1Jk7NdYCkI/3s\nlHL67rV/kuMcRr7yp4H+XtrQJgCfGYJi\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262",
         "wx" : "088738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab252",
         "wy" : "09388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000488738f9981dd4d1fabb60ad83c2dd6dfc9da302209ae3e53498a883b6e39a38bead9b02709f352d3e6b6578154eab2529388a05c6b9f3a4028abb9950a51f5264ecd7580a423fdec9472faeeb57f92e31c46bef2a781fe5edad026009f198262",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiHOPmYHdTR+rtgrYPC3W38naMCIJrj5T\nSYqIO245o4vq2bAnCfNS0+a2V4FU6rJSk4igXGufOkAoq7mVClH1Jk7NdYCkI/3s\nlHL67rV/kuMcRr7yp4H+XtrQJgCfGYJi\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 569,
+          "tcId" : 605,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0230285090b0d6a6820bbba394efbee5c24a2281e825d2f6c55fb7a85b8251db00f75ab07cc993ceaf664f3c116baf34b021",
@@ -6845,20 +7621,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE9CFUExHJT915/CmPirGjrf0IAp/a1Dmp\nTUzqEffnmbxDlgny+3vj80nVXkhNCg02s1Mwu9vsHnXymESD2WvyENciwYMCkv/D\nWi9qIaS1BRn1ZfAku8zJciii+K2PrcDV\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5",
         "wx" : "0f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36",
         "wy" : "0b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f421541311c94fdd79fc298f8ab1a3adfd08029fdad439a94d4cea11f7e799bc439609f2fb7be3f349d55e484d0a0d36b35330bbdbec1e75f2984483d96bf210d722c1830292ffc35a2f6a21a4b50519f565f024bbccc97228a2f8ad8fadc0d5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE9CFUExHJT915/CmPirGjrf0IAp/a1Dmp\nTUzqEffnmbxDlgny+3vj80nVXkhNCg02s1Mwu9vsHnXymESD2WvyENciwYMCkv/D\nWi9qIaS1BRn1ZfAku8zJciii+K2PrcDV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 570,
+          "tcId" : 606,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b39af4a81ee4ae79064ed80f27e1432e84845f15ece399f2a43d2505a0a8c72c5731f4fd967420b1000e3f75502ed7b7",
@@ -6868,20 +7645,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOZvkz8Q5+U8kIcvTTCzZC65T62Dd+vyl\nL3J10WXRT6ZZtjZxO11LOeYv1IuuFB0OGyPjtPDCAu17Wdt4o1wSrGmMYD6rFE/Q\nmsLtj0SV9gfk0sh6I84uwz5BDKR+zCVV\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555",
         "wx" : "399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e",
         "wy" : "1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004399be4cfc439f94f2421cbd34c2cd90bae53eb60ddfafca52f7275d165d14fa659b636713b5d4b39e62fd48bae141d0e1b23e3b4f0c202ed7b59db78a35c12ac698c603eab144fd09ac2ed8f4495f607e4d2c87a23ce2ec33e410ca47ecc2555",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEOZvkz8Q5+U8kIcvTTCzZC65T62Dd+vyl\nL3J10WXRT6ZZtjZxO11LOeYv1IuuFB0OGyPjtPDCAu17Wdt4o1wSrGmMYD6rFE/Q\nmsLtj0SV9gfk0sh6I84uwz5BDKR+zCVV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 571,
+          "tcId" : 607,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100af4a81ee4ae79064ed80f27e1432e84845f15ece399f2cbf28df829ccd30f5ef62ec23957b837d73fe4e156edccd4465",
@@ -6891,20 +7669,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFXi7/3ITfEvKM9c4Wokr6UywWfkJHd/o\nkDRfcSqful/HcITOwRCE7QSEkWBKB/Zsdruqhy8HENgqCNnd3YM8e+fH6OJl9JFF\nFX606OgoAHajfuWHMnHbUQA02hnaJEFb\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b",
         "wx" : "1578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c",
         "wy" : "76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041578bbff72137c4bca33d7385a892be94cb059f9091ddfe890345f712a9fba5fc77084cec11084ed048491604a07f66c76bbaa872f0710d82a08d9dddd833c7be7c7e8e265f49145157eb4e8e8280076a37ee5873271db510034da19da24415b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFXi7/3ITfEvKM9c4Wokr6UywWfkJHd/o\nkDRfcSqful/HcITOwRCE7QSEkWBKB/Zsdruqhy8HENgqCNnd3YM8e+fH6OJl9JFF\nFX606OgoAHajfuWHMnHbUQA02hnaJEFb\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 572,
+          "tcId" : 608,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02305e9503dc95cf20c9db01e4fc2865d0908be2bd9c733e597e8a5bb7b7a62abdff6dbe3978ae56536d0fb01172ecd55f57",
@@ -6914,20 +7693,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEM7pFHIXnKQWPgwQQd6RpXrR9+T5xiwmk\nYYx1OsgDzXXBqRKQwv9aY1OJ0HFJVx2rH8fYpxd2hR/yRP9jL+b5LhZS5ShIk8Qk\nT+d12O/Fidgj3QPzkZAn8ARTe9juCfOj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3",
         "wx" : "33ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab",
         "wy" : "1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000433ba451c85e729058f83041077a4695eb47df93e718b09a4618c753ac803cd75c1a91290c2ff5a635389d07149571dab1fc7d8a71776851ff244ff632fe6f92e1652e5284893c4244fe775d8efc589d823dd03f3919027f004537bd8ee09f3a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEM7pFHIXnKQWPgwQQd6RpXrR9+T5xiwmk\nYYx1OsgDzXXBqRKQwv9aY1OJ0HFJVx2rH8fYpxd2hR/yRP9jL+b5LhZS5ShIk8Qk\nT+d12O/Fidgj3QPzkZAn8ARTe9juCfOj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 573,
+          "tcId" : 609,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02301ee4ae79064ed80f27e1432e84845f15ece399f2cbf4fa31a3ae8edab84dc3330a39f70938e3912bd59753de5aed3088",
@@ -6937,20 +7717,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBAdx4zkCFv7SxiCL31v+qDqxkVsWbmJl\nafEu/UEKObfnx29w8AEoQ6Jt6/TMwz3a5bxffmLQVOrDHNAir9txt8Y48kwwy60O\n817S/JkX81bpw/BDkbIdEDUnS4FTf8vz\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3",
         "wx" : "40771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33dda",
         "wy" : "0e5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004040771e3390216fed2c6208bdf5bfea83ab1915b166e626569f12efd410a39b7e7c76f70f0012843a26debf4ccc33ddae5bc5f7e62d054eac31cd022afdb71b7c638f24c30cbad0ef35ed2fc9917f356e9c3f04391b21d1035274b81537fcbf3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEBAdx4zkCFv7SxiCL31v+qDqxkVsWbmJl\nafEu/UEKObfnx29w8AEoQ6Jt6/TMwz3a5bxffmLQVOrDHNAir9txt8Y48kwwy60O\n817S/JkX81bpw/BDkbIdEDUnS4FTf8vz\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 574,
+          "tcId" : 610,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bb51cd3ba8eb201f53ddb4e34e08c0ff7dff9378106784d798d5a3440bd6dc34be3a0eaef8776619a0c97fefb15720b3",
@@ -6960,20 +7741,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmNPxbhxRCpM+ZI540BWIMZ8ALpR134lC\noqidsGZrt8iLMrskgUDkSsSrKBEbK3kjmakm9KZvvij/ZcCfgwaJOuwJS4nQ/lKe\nNXfF7PMKeUTKr1MPRXXrET/PTCANLdS9\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd",
         "wx" : "098d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b7923",
         "wy" : "099a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000498d3f16e1c510a933e648e78d01588319f002e9475df8942a2a89db0666bb7c88b32bb248140e44ac4ab28111b2b792399a926f4a66fbe28ff65c09f8306893aec094b89d0fe529e3577c5ecf30a7944caaf530f4575eb113fcf4c200d2dd4bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEmNPxbhxRCpM+ZI540BWIMZ8ALpR134lC\noqidsGZrt8iLMrskgUDkSsSrKBEbK3kjmakm9KZvvij/ZcCfgwaJOuwJS4nQ/lKe\nNXfF7PMKeUTKr1MPRXXrET/PTCANLdS9\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 575,
+          "tcId" : 611,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100e707e267ea635384a6da09823149f5cb7acbb29e910d2630c5fb5afbc42aa8436349b214a3b8fb9481ec999e005091f8",
@@ -6983,20 +7765,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0f1gL+74C+nlWhnRqXmccqiZEQxqwh+z\nwhNXBpgJ1ZGod1tk0YZ6jP/xJPal46T1+VSAZPAbmviGhwVJOjegNxk7SPU7fHlz\nAj9T5s7/aDDKL3oU71FTbUU69DswWNip\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9",
         "wx" : "0d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5",
         "wy" : "0f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1fd602feef80be9e55a19d1a9799c72a899110c6ac21fb3c21357069809d591a8775b64d1867a8cfff124f6a5e3a4f5f9548064f01b9af8868705493a37a037193b48f53b7c7973023f53e6ceff6830ca2f7a14ef51536d453af43b3058d8a9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0f1gL+74C+nlWhnRqXmccqiZEQxqwh+z\nwhNXBpgJ1ZGod1tk0YZ6jP/xJPal46T1+VSAZPAbmviGhwVJOjegNxk7SPU7fHlz\nAj9T5s7/aDDKL3oU71FTbUU69DswWNip\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 576,
+          "tcId" : 612,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100acc4f2afb7f5c10f818175074ef688a643fc5365e38129f86d5e2517feb81b2cd2b8dc4f7821bfd032edc4c0234085d9",
@@ -7006,20 +7789,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgvN2BPZmZMKIPbptmDl8KBBFy/WfHRbd\n2xOBEmokZVOotNKq6kitkYWhZF9lVn0xik17GfHS5ENMmo7K05YwSryCIhu6sGeZ\nNQcccv2XXnsCHASx0W6jb8LQUe9ajhF8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c",
         "wx" : "082f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d31",
         "wy" : "08a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000482f37604f66664c2883dba6d98397c281045cbf59f1d16dddb1381126a246553a8b4d2aaea48ad9185a1645f65567d318a4d7b19f1d2e4434c9a8ecad396304abc82221bbab0679935071c72fd975e7b021c04b1d16ea36fc2d051ef5a8e117c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgvN2BPZmZMKIPbptmDl8KBBFy/WfHRbd\n2xOBEmokZVOotNKq6kitkYWhZF9lVn0xik17GfHS5ENMmo7K05YwSryCIhu6sGeZ\nNQcccv2XXnsCHASx0W6jb8LQUe9ajhF8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 577,
+          "tcId" : 613,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02310083276c0793f0a19742422f8af671ccf965fa7d18d541bef4c05b90e303f891d39008439e0fda4bfad5ee9a6ace7e340c",
@@ -7029,20 +7813,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8FLfwnv4ptNvNznyObmB9bU/4I2ZnsaD\nsB5D51lhViBroIuLn1kini+9zgXx5A+ZkPD9+3Ap+bPoxhRNrQM5IIt83LOCClVC\nWdudJ6/dGPSnUClsWbrWti3wdvkNU74N\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d",
         "wx" : "0f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f99",
         "wy" : "090f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f052dfc27bf8a6d36f3739f239b981f5b53fe08d999ec683b01e43e7596156206ba08b8b9f59229e2fbdce05f1e40f9990f0fdfb7029f9b3e8c6144dad0339208b7cdcb3820a554259db9d27afdd18f4a750296c59bad6b62df076f90d53be0d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE8FLfwnv4ptNvNznyObmB9bU/4I2ZnsaD\nsB5D51lhViBroIuLn1kini+9zgXx5A+ZkPD9+3Ap+bPoxhRNrQM5IIt83LOCClVC\nWdudJ6/dGPSnUClsWbrWti3wdvkNU74N\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 578,
+          "tcId" : 614,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100942848586b534105ddd1ca77df72e1251140f412e97b62afbf85d4822309176b5965453dee3fab709e14156b3dfcecca",
@@ -7052,20 +7837,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+He9biqSc+MioymOo63RPREEsyFyKDZp\nymaI8MtZFSSn8V3UFJZoHtqYk5qucp/t6FyjfIHvGePcmrFpCKNyDYaHWlGmptky\n43SSpux6NE6rxII3fxSJH70dp/rv+hF4\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178",
         "wx" : "0f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fed",
         "wy" : "0e85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f877bd6e2a9273e322a3298ea3add13d1104b32172283669ca6688f0cb591524a7f15dd41496681eda98939aae729fede85ca37c81ef19e3dc9ab16908a3720d86875a51a6a6d932e37492a6ec7a344eabc482377f14891fbd1da7faeffa1178",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+He9biqSc+MioymOo63RPREEsyFyKDZp\nymaI8MtZFSSn8V3UFJZoHtqYk5qucp/t6FyjfIHvGePcmrFpCKNyDYaHWlGmptky\n43SSpux6NE6rxII3fxSJH70dp/rv+hF4\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 579,
+          "tcId" : 615,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffed2119d5fc12649fc808af3b6d9037d3a44eb32399970dd0",
@@ -7075,20 +7861,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFCSbvP7s6rBsdWVNNhwN+NVrMg6jvB1G\nJ+wKL0uPo1d0RWlGZPVpqR9IB0E4HklKKEefIYbXFaVniPZwcwVqoMsLan94k+d7\nmml272Zj2AImiW1/Q7tQLhtNSVWKJ92L\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b",
         "wx" : "14249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a",
         "wy" : "28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000414249bbcfeeceab06c75654d361c0df8d56b320ea3bc1d4627ec0a2f4b8fa3577445694664f569a91f480741381e494a28479f2186d715a56788f67073056aa0cb0b6a7f7893e77b9a6976ef6663d80226896d7f43bb502e1b4d49558a27dd8b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEFCSbvP7s6rBsdWVNNhwN+NVrMg6jvB1G\nJ+wKL0uPo1d0RWlGZPVpqR9IB0E4HklKKEefIYbXFaVniPZwcwVqoMsLan94k+d7\nmml272Zj2AImiW1/Q7tQLhtNSVWKJ92L\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 580,
+          "tcId" : 616,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023079b95c013b0472de04d8faeec3b779c39fe729ea84fb554cd091c7178c2f054eabbc62c3e1cfbac2c2e69d7aa45d9072",
@@ -7098,20 +7885,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUKQ4yY7pQCXOE+J9NrgoDUhDWFg260cB\nGgcM13cpJFaEoNsx/emAYgNJx5aDKyxsvbctup8/nMh4VZ9Qtr0SkPEKa8y8Hu73\ncIsbcgWQIph5eeNSIcUSWfM3xyiKL4a8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc",
         "wx" : "50a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6c",
         "wy" : "0bdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000450a438c98ee94025ce13e27d36b8280d4843585836eb47011a070cd77729245684a0db31fde980620349c796832b2c6cbdb72dba9f3f9cc878559f50b6bd1290f10a6bccbc1eeef7708b1b72059022987979e35221c51259f337c7288a2f86bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUKQ4yY7pQCXOE+J9NrgoDUhDWFg260cB\nGgcM13cpJFaEoNsx/emAYgNJx5aDKyxsvbctup8/nMh4VZ9Qtr0SkPEKa8y8Hu73\ncIsbcgWQIph5eeNSIcUSWfM3xyiKL4a8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 581,
+          "tcId" : 617,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100bfd40d0caa4d9d42381f3d72a25683f52b03a1ed96fb72d03f08dcb9a8bc8f23c1a459deab03bcd39396c0d1e9053c81",
@@ -7121,20 +7909,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETT/F3Pr3QRE82jzi+N/0yRIUPk02MUw2\nHX7VZWtoRIvMoRS6noEkKBI0Zgt3Jt3NaA3f736ge/vO3hCAPTjXIRYxyhFGYHiB\nnrZuEZIat/+jxFYMcy53WV/UCOkX3Zr8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc",
         "wx" : "4d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd",
         "wy" : "680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044d3fc5dcfaf741113cda3ce2f8dff4c912143e4d36314c361d7ed5656b68448bcca114ba9e8124281234660b7726ddcd680ddfef7ea07bfbcede10803d38d7211631ca11466078819eb66e11921ab7ffa3c4560c732e77595fd408e917dd9afc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETT/F3Pr3QRE82jzi+N/0yRIUPk02MUw2\nHX7VZWtoRIvMoRS6noEkKBI0Zgt3Jt3NaA3f736ge/vO3hCAPTjXIRYxyhFGYHiB\nnrZuEZIat/+jxFYMcy53WV/UCOkX3Zr8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 582,
+          "tcId" : 618,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02304c7d219db9af94ce7fffffffffffffffffffffffffffffffef15cf1058c8d8ba1e634c4122db95ec1facd4bb13ebf09a",
@@ -7144,20 +7933,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY9Zc3+sfGkIAD0O9Hd0TBTentvY16NK9\ngal9oWgiEYPaQzynhCn9KzPF+UiVqcE6qdHV6jKHJWU6Wp0A+FpVFiNvOxQoqGKS\nh9OwSHougt1X+Tuyqj2Xg9x0Ex4TdWA0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034",
         "wx" : "63d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13a",
         "wy" : "0a9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000463d65cdfeb1f1a42000f43bd1ddd130537a7b6f635e8d2bd81a97da168221183da433ca78429fd2b33c5f94895a9c13aa9d1d5ea328725653a5a9d00f85a5516236f3b1428a8629287d3b0487a2e82dd57f93bb2aa3d9783dc74131e13756034",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEY9Zc3+sfGkIAD0O9Hd0TBTentvY16NK9\ngal9oWgiEYPaQzynhCn9KzPF+UiVqcE6qdHV6jKHJWU6Wp0A+FpVFiNvOxQoqGKS\nh9OwSHougt1X+Tuyqj2Xg9x0Ex4TdWA0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 583,
+          "tcId" : 619,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100d219db9af94ce7ffffffffffffffffffffffffffffffffffd189bdb6d9ef7be8504ca374756ea5b8f15e44067d209b9b",
@@ -7167,20 +7957,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0iycNIuXRXEfV966w6B9+QpSfAa9AqhF\nT0FDfVQiTgcWmPA/3GSx1lJBTtw/IjnEmumBKkuS8JnWZZpllpF2jVflMO08kdVF\nV4FgWFCZelgiHyKiRRw5MkcGBsI/OrG4\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8",
         "wx" : "0d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c4",
         "wy" : "09ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d22c9c348b9745711f57debac3a07df90a527c06bd02a8454f41437d54224e071698f03fdc64b1d652414edc3f2239c49ae9812a4b92f099d6659a659691768d57e530ed3c91d5455781605850997a58221f22a2451c3932470606c23f3ab1b8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0iycNIuXRXEfV966w6B9+QpSfAa9AqhF\nT0FDfVQiTgcWmPA/3GSx1lJBTtw/IjnEmumBKkuS8JnWZZpllpF2jVflMO08kdVF\nV4FgWFCZelgiHyKiRRw5MkcGBsI/OrG4\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 584,
+          "tcId" : 620,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a433b735f299cfffffffffffffffffffffffffffffffffffdbb02debbfa7c9f1487f3936a22ca3f6f5d06ea22d7c0dc3",
@@ -7190,20 +7981,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEMfBcDCnp2kmqL7vt7ncMaNEPhef3fnKs\nPPqchiOiu0LusvJKyPKu96sMS0eCMUADW7MvwewEu/9eq5bgcMk4uhtT/mOXD2Sa\n4C4qStpCCiSbb3xSXixLmw1VYq4m8ieM\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c",
         "wx" : "31f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b4782314003",
         "wy" : "5bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000431f05c0c29e9da49aa2fbbedee770c68d10f85e7f77e72ac3cfa9c8623a2bb42eeb2f24ac8f2aef7ab0c4b47823140035bb32fc1ec04bbff5eab96e070c938ba1b53fe63970f649ae02e2a4ada420a249b6f7c525e2c4b9b0d5562ae26f2278c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEMfBcDCnp2kmqL7vt7ncMaNEPhef3fnKs\nPPqchiOiu0LusvJKyPKu96sMS0eCMUADW7MvwewEu/9eq5bgcMk4uhtT/mOXD2Sa\n4C4qStpCCiSbb3xSXixLmw1VYq4m8ieM\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 585,
+          "tcId" : 621,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100b9af94ce7fffffffffffffffffffffffffffffffffffffffd6efeefc876c9f23217b443c80637ef939e911219f96c179",
@@ -7213,20 +8005,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvCbuyV4myYC8AzQmTLz8JriXw1ccls6a\nsqZ7SbsPJqYnL9wngG16TFcq4PeBSfHzyK9fQbmdIGYBgWVRP7O1XkJV3NBllkft\nVeHiYCyuTvvW6uHf4v9j4sdI1KzHQwE5\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139",
         "wx" : "0bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3",
         "wy" : "0c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004bc26eec95e26c980bc0334264cbcfc26b897c3571c96ce9ab2a67b49bb0f26a6272fdc27806d7a4c572ae0f78149f1f3c8af5f41b99d2066018165513fb3b55e4255dcd0659647ed55e1e2602cae4efbd6eae1dfe2ff63e2c748d4acc7430139",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEvCbuyV4myYC8AzQmTLz8JriXw1ccls6a\nsqZ7SbsPJqYnL9wngG16TFcq4PeBSfHzyK9fQbmdIGYBgWVRP7O1XkJV3NBllkft\nVeHiYCyuTvvW6uHf4v9j4sdI1KzHQwE5\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 586,
+          "tcId" : 622,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100a276276276276276276276276276276276276276276276273d7228d4f84b769be0fd57b97e4c1ebcae9a5f635e80e9df",
@@ -7236,20 +8029,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEb6CWTdBUJQrxdokcDIIrATtw8FnDRxcs\nr8azbNFs87D50Z8lmL0NWArBbEassWfUN1vvcBwALcwED9VIJLFMwt8BVOsg50Rk\n4f57gzQm3X1ja/LXlgP93l3aqyOrDPQm\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426",
         "wx" : "6fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4",
         "wy" : "375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046fa0964dd054250af176891c0c822b013b70f059c347172cafc6b36cd16cf3b0f9d19f2598bd0d580ac16c46acb167d4375bef701c002dcc040fd54824b14cc2df0154eb20e74464e1fe7b833426dd7d636bf2d79603fdde5ddaab23ab0cf426",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEb6CWTdBUJQrxdokcDIIrATtw8FnDRxcs\nr8azbNFs87D50Z8lmL0NWArBbEassWfUN1vvcBwALcwED9VIJLFMwt8BVOsg50Rk\n4f57gzQm3X1ja/LXlgP93l3aqyOrDPQm\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 587,
+          "tcId" : 623,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023073333333333333333333333333333333333333333333333316e4d9f42d4eca22df403a0c578b86f0a9a93fe89995c7ed",
@@ -7259,20 +8053,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuqTnEu4HhqWrDlpdr9zc+Hs4gwqy7Ib6\n7dqf32UzL2qWiCaUEvBQNWUw1GZKf7jN7MRqkBsBbmu4ozatmqbxmr+a2mlwXRyQ\nW+r7laRPUq9D3kv4DAUM+Za3eW387o4b\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b",
         "wx" : "0baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cd",
         "wy" : "0ecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004baa4e712ee0786a5ab0e5a5dafdcdcf87b38830ab2ec86faedda9fdf65332f6a9688269412f050356530d4664a7fb8cdecc46a901b016e6bb8a336ad9aa6f19abf9ada69705d1c905beafb95a44f52af43de4bf80c050cf996b7796dfcee8e1b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEuqTnEu4HhqWrDlpdr9zc+Hs4gwqy7Ib6\n7dqf32UzL2qWiCaUEvBQNWUw1GZKf7jN7MRqkBsBbmu4ozatmqbxmr+a2mlwXRyQ\nW+r7laRPUq9D3kv4DAUM+Za3eW387o4b\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 588,
+          "tcId" : 624,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02307fffffffffffffffffffffffffffffffffffffffffffffffda4233abf824c93f90115e76db206fa7489d6647332e1ba3",
@@ -7282,20 +8077,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgeeKUq4GlVg/emAaubb7+vQ08r76H4yD\nPVnetiepJ8L0LUjrYX/gQvWE4QXCPCMXzyLVZfXztCXveTffYptoZNrHEmSyiMGp\nhyEPUjBxMZzj9kQRkQrCN2XEJm5hURK8\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc",
         "wx" : "081e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317",
         "wy" : "0cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000481e78a52ae0695583f7a601ab9b6fbfaf434f2befa1f8c833d59deb627a927c2f42d48eb617fe042f584e105c23c2317cf22d565f5f3b425ef7937df629b6864dac71264b288c1a987210f523071319ce3f64411910ac23765c4266e615112bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgeeKUq4GlVg/emAaubb7+vQ08r76H4yD\nPVnetiepJ8L0LUjrYX/gQvWE4QXCPCMXzyLVZfXztCXveTffYptoZNrHEmSyiMGp\nhyEPUjBxMZzj9kQRkQrCN2XEJm5hURK8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 589,
+          "tcId" : 625,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02303fffffffffffffffffffffffffffffffffffffffffffffffe3b1a6c0fa1b96efac0d06d9245853bd76760cb5666294bb",
@@ -7305,20 +8101,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQfqHZbGdMQgDHijJp4GjhcnBCyv9QuZD\nflxL1xHPKgMXUIR9F6gvk3ajCuGCptbnHCCvljJBR9QVWk0Mhnyo4266IE++0gh+\nD8vci6q+B7sxI/n3JZ53HNnxrRfRojeH\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787",
         "wx" : "41fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e7",
         "wy" : "1c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000441fa8765b19d3108031e28c9a781a385c9c10b2bfd42e6437e5c4bd711cf2a031750847d17a82f9376a30ae182a6d6e71c20af96324147d4155a4d0c867ca8e36eba204fbed2087e0fcbdc8baabe07bb3123f9f7259e771cd9f1ad17d1a23787",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQfqHZbGdMQgDHijJp4GjhcnBCyv9QuZD\nflxL1xHPKgMXUIR9F6gvk3ajCuGCptbnHCCvljJBR9QVWk0Mhnyo4266IE++0gh+\nD8vci6q+B7sxI/n3JZ53HNnxrRfRojeH\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 590,
+          "tcId" : 626,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd023100dfea06865526cea11c0f9eb9512b41fa9581d0f6cb7db9680336151dce79de818cdf33c879da322740416d1e5ae532fa",
@@ -7328,20 +8125,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrVyweBt0se5S4c/BXj8srmdYOJG5RJF0I\nBO3USzLw8ADI+PiPHUpl/qUdu7SrHigj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823",
         "wx" : "0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b",
         "wy" : "572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b572c1e06dd2c7b94b873f0578fcb2b99d60e246e51245d0804edd44b32f0f000c8f8f88f1d4a65fea51dbbb4ab1e2823",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrVyweBt0se5S4c/BXj8srmdYOJG5RJF0I\nBO3USzLw8ADI+PiPHUpl/qUdu7SrHigj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 591,
+          "tcId" : 627,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34",
@@ -7353,20 +8151,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrqNPh+SLThGtHjA+ocDTUZinx25Gu26L3\n+xIrtM0PD/43Bwdv4rWaAVriRExU4dfc\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc",
         "wx" : "0e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86b",
         "wy" : "0a8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004e585a067d6dff37ae7f17f81583119b61291597345f107acffe237a08f4886d4fdf94fe63182e6143c99be25a7b7d86ba8d3e1f922d3846b478c0fa87034d46629f1db91aedba2f7fb122bb4cd0f0ffe3707076fe2b59a015ae2444c54e1d7dc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE5YWgZ9bf83rn8X+BWDEZthKRWXNF8Qes\n/+I3oI9IhtT9+U/mMYLmFDyZviWnt9hrqNPh+SLThGtHjA+ocDTUZinx25Gu26L3\n+xIrtM0PD/43Bwdv4rWaAVriRExU4dfc\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 592,
+          "tcId" : 628,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "3065023100b37699e0d518a4d370dbdaaaea3788850fa03f8186d1f78fdfbae6540aa670b31c8ada0fff3e737bd69520560fe0ce60023064adb4d51a93f96bed4665de2d4e1169cc95819ec6e9333edfd5c07ca134ceef7c95957b719ae349fc439eaa49fbbe34",
@@ -7378,20 +8177,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtNeMzLztgGXA69wzC0Zw7JkwknPkQrm+\nNBGWwQQ+REH8V7kUCFWVv8dVxk/ECfC6Af7jHLu67VwTI/Cch9+bBxLBLplzP6I+\n+RtObKZmsJ3XVA6/EGihUVW8Bp49WVyM\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c",
         "wx" : "0b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba",
         "wy" : "1fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b4d78cccbced8065c0ebdc330b4670ec99309273e442b9be341196c1043e4441fc57b914085595bfc755c64fc409f0ba01fee31cbbbaed5c1323f09c87df9b0712c12e99733fa23ef91b4e6ca666b09dd7540ebf1068a15155bc069e3d595c8c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEtNeMzLztgGXA69wzC0Zw7JkwknPkQrm+\nNBGWwQQ+REH8V7kUCFWVv8dVxk/ECfC6Af7jHLu67VwTI/Cch9+bBxLBLplzP6I+\n+RtObKZmsJ3XVA6/EGihUVW8Bp49WVyM\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 593,
+          "tcId" : 629,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3035020101023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
@@ -7401,20 +8201,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEbjxovlOq3oHvieCW2EHihFojMx5+yKao\nOdWNB/oBbAlz7XXeT5kXe/3HTbVm6dFaSXLqCOV3zh9hwTpsobrR3u8pgu4BooJv\nACt2nyxGCY07r/BopAXQnKOEDS+v5ORu\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e",
         "wx" : "6e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a",
         "wy" : "4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046e3c68be53aade81ef89e096d841e2845a23331e7ec8a6a839d58d07fa016c0973ed75de4f99177bfdc74db566e9d15a4972ea08e577ce1f61c13a6ca1bad1deef2982ee01a2826f002b769f2c46098d3baff068a405d09ca3840d2fafe4e46e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEbjxovlOq3oHvieCW2EHihFojMx5+yKao\nOdWNB/oBbAlz7XXeT5kXe/3HTbVm6dFaSXLqCOV3zh9hwTpsobrR3u8pgu4BooJv\nACt2nyxGCY07r/BopAXQnKOEDS+v5ORu\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 594,
+          "tcId" : 630,
           "comment" : "point with x-coordinate 0",
           "msg" : "313233343030",
           "sig" : "3065023101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0",
@@ -7424,20 +8225,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEsQHNs+uiDhEq27S70stHmmnlkKROqQJj\nGDKr+rivLDBBs99/FmWyxutTP1RiFxAKGmGqmVFXitTwCuFzOaim8TWbvQrDVWeO\n1N8hM48IdjwdNwLsEytjTHvMARjvsdDd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd",
         "wx" : "0b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a",
         "wy" : "1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b101cdb3eba20e112adbb4bbd2cb479a69e590a44ea902631832abfab8af2c3041b3df7f1665b2c6eb533f546217100a1a61aa9951578ad4f00ae17339a8a6f1359bbd0ac355678ed4df21338f08763c1d3702ec132b634c7bcc0118efb1d0dd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEsQHNs+uiDhEq27S70stHmmnlkKROqQJj\nGDKr+rivLDBBs99/FmWyxutTP1RiFxAKGmGqmVFXitTwCuFzOaim8TWbvQrDVWeO\n1N8hM48IdjwdNwLsEytjTHvMARjvsdDd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 595,
+          "tcId" : 631,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "3064023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326023033333333333333333333333333333333333333333333333327e0a919fda4a2c644d202bd41bcee4bc8fc05155c276eb0",
@@ -7447,21 +8249,22 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEZ2EESgQKSXnbJptKN35C8RtL4M4kYR9n\ndnTc93D1iHyk21ZTAyg4CebWX3/GvCc2BcfapAP8pTVJ91/zNykJZC0Ct/3KweaC\nQoFNbpJasBqAg2z7s1WBlgB54vtEwNGG\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186",
         "wx" : "6761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc2736",
         "wy" : "5c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046761044a040a4979db269b4a377e42f11b4be0ce24611f677674dcf770f5887ca4db565303283809e6d65f7fc6bc273605c7daa403fca53549f75ff3372909642d02b7fdcac1e68242814d6e925ab01a80836cfbb35581960079e2fb44c0d186",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEZ2EESgQKSXnbJptKN35C8RtL4M4kYR9n\ndnTc93D1iHyk21ZTAyg4CebWX3/GvCc2BcfapAP8pTVJ91/zNykJZC0Ct/3KweaC\nQoFNbpJasBqAg2z7s1WBlgB54vtEwNGG\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 596,
-          "comment" : "extreme value for k",
+          "tcId" : 632,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
           "result" : "valid",
@@ -7470,21 +8273,142 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENNdOwIi6tsYyOWjR9GiZOBL2kNbtyluX\nYE1xjhK4zf3ZbULlfTOv4xLw7jw9ChP3hvSSK7LBO993UqPstpOT6Ze9ZUYcRoZ+\nvu9ilrI/LFbfY6z95kjz9QAtvCOf/RWC\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1",
+        "wx" : "6922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab26",
+        "wy" : "55854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200046922c591502f01046fee5617bf16496f58398822e69afa8335308f36c09a8ed437209fefcffbbdf0a4876b35a3c7ab2655854db825b94b3f27e5f892d3bbb6c7240ec922894dd3598e91fcc6134a2b8fd154e1790466906206f0f623416e63a1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEaSLFkVAvAQRv7lYXvxZJb1g5iCLmmvqD\nNTCPNsCajtQ3IJ/vz/u98KSHazWjx6smVYVNuCW5Sz8n5fiS07u2xyQOySKJTdNZ\njpH8xhNKK4/RVOF5BGaQYgbw9iNBbmOh\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 633,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1",
+        "wx" : "0892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233",
+        "wy" : "0cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004892dac0e700fc29d1802d9a449a6f56b2172cb1b7d881013cd3b31c0edb052f2d340c8995a4477bcb9225fec15667233cc6c34ae17445444516fd8fd22ee83f79eb0771ebff6677ac5d4e089f87a1c72df957acb24492adcd7c3816b8e0c75b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEiS2sDnAPwp0YAtmkSab1ayFyyxt9iBAT\nzTsxwO2wUvLTQMiZWkR3vLkiX+wVZnIzzGw0rhdEVERRb9j9Iu6D956wdx6/9md6\nxdTgifh6HHLflXrLJEkq3NfDgWuODHWx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 634,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c",
+        "wx" : "1634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf222",
+        "wy" : "31e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000401634117e6478ce0568b0a2469237bbac6ff096acb7e514072bf77123cb51ba0cc3e8d69284d534d8e6d1e876cecf22231e5ef04dc96762ce7d5ef3348ad1e241ac797ae3b630ea249afc5139af49b8ef68b32f812d6b514210363d498efc28c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAWNBF+ZHjOBWiwokaSN7usb/CWrLflFA\ncr93Ejy1G6DMPo1pKE1TTY5tHods7PIiMeXvBNyWdizn1e8zSK0eJBrHl647Yw6i\nSa/FE5r0m472izL4Eta1FCEDY9SY78KM\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 635,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895",
+        "wx" : "675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f61674456",
+        "wy" : "3e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004675bdc79d8243887fe1b305d12ac10d2e9c0bde070a6e3394cd5f6adfbceda75498b0e7a794c7212f42be93f616744563e96d1bf6f95cdbefa774911ba06463d8a90a0c9d73c9699b061d779dc52496e8ee9b9ae9c5d4d90e89cd1157d811895",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEZ1vcedgkOIf+GzBdEqwQ0unAveBwpuM5\nTNX2rfvO2nVJiw56eUxyEvQr6T9hZ0RWPpbRv2+Vzb76d0kRugZGPYqQoMnXPJaZ\nsGHXedxSSW6O6bmunF1NkOic0RV9gRiV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 636,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df61023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23",
+        "wx" : "0fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676",
+        "wy" : "0f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200040fd1aab89f47b565b8160dfcc433b6408adeb1473c036b26b7ddec714fb4d0e7dd756c88469e86e218813ead8e8e7676f1cc955c4139e0071c0079ec1d77164e0569bdf453837e8b33c98535a0e7c9c61ef24762067bb46b6116ea7909a69b23",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAED9GquJ9HtWW4Fg38xDO2QIresUc8A2sm\nt93scU+00OfddWyIRp6G4hiBPq2OjnZ28cyVXEE54AccAHnsHXcWTgVpvfRTg36L\nM8mFNaDnycYe8kdiBnu0a2EW6nkJppsj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 637,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3064023008d999057ba3d2d969260045c55b97f089025959a6f434d651d207d19fb96e9e4fe0e86ebe0e64f85b96a9c75295df6102300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582",
         "wx" : "34d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f7",
         "wy" : "086f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000434d74ec088bab6c6323968d1f468993812f690d6edca5b97604d718e12b8cdfdd96d42e57d33afe312f0ee3c3d0a13f786f4922bb2c13bdf7752a3ecb69393e997bd65461c46867ebeef6296b23f2c56df63acfde648f3f5002dbc239ffd1582",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAENNdOwIi6tsYyOWjR9GiZOBL2kNbtyluX\nYE1xjhK4zf3ZbULlfTOv4xLw7jw9ChP3hvSSK7LBO993UqPstpOT6Ze9ZUYcRoZ+\nvu9ilrI/LFbfY6z95kjz9QAtvCOf/RWC\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 597,
-          "comment" : "extreme value for k",
+          "tcId" : 638,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023055555555555555555555555555555555555555555555555542766f2b5167b9f51d5e0490c2e58d28f9a40878eeec6326",
           "result" : "valid",
@@ -7493,20 +8417,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809",
+        "wx" : "4376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b",
+        "wy" : "290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044376c9893e9277296c766a83abbe36b34da7a631f8cbfd32a1888de0dd1455a21a153ea2d61cfa5071fc6be12a658f6b290ba1a8ee8c78b5dd58f9ffcacb22955682eea02429c3fa8cdcb649fa4d007c8693e3f8f3c0a5f3c4de7a51beaa9809",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEQ3bJiT6SdylsdmqDq742s02npjH4y/0y\noYiN4N0UVaIaFT6i1hz6UHH8a+EqZY9rKQuhqO6MeLXdWPn/yssilVaC7qAkKcP6\njNy2SfpNAHyGk+P488Cl88TeelG+qpgJ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 639,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b",
+        "wx" : "10878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b4",
+        "wy" : "3036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000410878fc4807f6732a23c883e838e38c787f7088f94c1824b84673e8b9eab16de1544ae4bf2c6fe3fe4fb343b7487e2b43036ff439533d22f951dae966584bafb23b217dcad2f8f4e0e6999c0c4d0f076634be805f676fd2a59c27f9fe7c5d95b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEIePxIB/ZzKiPIg+g444x4f3CI+UwYJL\nhGc+i56rFt4VRK5L8sb+P+T7NDt0h+K0MDb/Q5Uz0i+VHa6WZYS6+yOyF9ytL49O\nDmmZwMTQ8HZjS+gF9nb9KlnCf5/nxdlb\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 640,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702306666666666666666666666666666666666666666666666664fc15233fb49458c89a4057a8379dc9791f80a2ab84edd61",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6",
+        "wx" : "36b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f",
+        "wy" : "09c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004036b253e3b4ac88bb8585a2b32b978766a931e5ad0d0e653a2e34b44d6ddcc0d386e20c4def2d8bb3f8da128c1eac69f9c8e3b5ff5dde2205af359b3974d52758d7abae812b8b275e1452c4e59cb62e9b6771d347dbd1dea761c70291cc5e0a6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEA2slPjtKyIu4WForMrl4dmqTHlrQ0OZT\nouNLRNbdzA04biDE3vLYuz+NoSjB6safnI47X/Xd4iBa81mzl01SdY16uugSuLJ1\n4UUsTlnLYum2dx00fb0d6nYccCkcxeCm\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 641,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702310099999999999999999999999999999999999999999999999977a1fb4df8ede852ce760837c536cae35af40f4014764c12",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b",
+        "wx" : "2783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a40441994",
+        "wy" : "1a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200042783c1be922fce155864ecb41d0a316e193a55843e80192f1fe556772f3debd04b9fc93c27bc6f353938886a404419941a352cec336946424fa3c208ea7105f5549edde8688abd305344bf4f66dda7eabcda6f8557c9af88109804d702e9670b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEJ4PBvpIvzhVYZOy0HQoxbhk6VYQ+gBkv\nH+VWdy8969BLn8k8J7xvNTk4iGpARBmUGjUs7DNpRkJPo8II6nEF9VSe3ehoir0w\nU0S/T2bdp+q82m+FV8mviBCYBNcC6WcL\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 642,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3066023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7023100db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6aae76701acc1950894a89e068772d8b281eef136f8a8fef5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409",
+        "wx" : "0fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb",
+        "wy" : "620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fa92538cdc740368caf16480ff1304cebbbe59a46a7a84603726b9592d105be069df1c61b5974f27e7552f797de97cdb620e03a46da862e4b089bafbb80df8f055c8f47991b3a3ddb2b089aedb2f15841a6a5b5e14c1dc36b3c155c4f74d3409",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+pJTjNx0A2jK8WSA/xMEzru+WaRqeoRg\nNya5WS0QW+Bp3xxhtZdPJ+dVL3l96XzbYg4DpG2oYuSwibr7uA348FXI9HmRs6Pd\nsrCJrtsvFYQaalteFMHcNrPBVcT3TTQJ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 643,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3065023100aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab702300eb10e5ab95f2f26a40700b1300fb8c3e754d5c453d9384ecce1daa38135a48a0a96c24efc2a76d00bde1d7aeedf7f6a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",
+        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
+        "wy" : "3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"
+      },
       "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab73617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqofKIr6LBTeOscce8yCtdG4dO2KLp5uY\nWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3NhfeSpYmLG9dnpi/kpLcKfj0Hb0omhR8\n6doxE7XwuMAKYLHOHX6BnXpDHXyQ6g5f\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
-        "wy" : "3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"
-      },
       "tests" : [
         {
-          "tcId" : 598,
+          "tcId" : 644,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -7514,7 +8559,7 @@
           "flags" : []
         },
         {
-          "tcId" : 599,
+          "tcId" : 645,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -7524,20 +8569,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0",
+        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
+        "wy" : "0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0"
+      },
       "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEqofKIr6LBTeOscce8yCtdG4dO2KLp5uY\nWfdB4IJUKjhVAvJdv1UpbDpUXjhydgq3yeghtWnZ05CiYWdAbW0j1gcL4kLXZeuD\nFiXO7EoPRz71n04w4oF+YoW84oRvFfGg\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "0aa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7",
-        "wy" : "0c9e821b569d9d390a26167406d6d23d6070be242d765eb831625ceec4a0f473ef59f4e30e2817e6285bce2846f15f1a0"
-      },
       "tests" : [
         {
-          "tcId" : 600,
+          "tcId" : 646,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace02302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -7545,7 +8591,7 @@
           "flags" : []
         },
         {
-          "tcId" : 601,
+          "tcId" : 647,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "30640230064ed80f27e1432e84845f15ece399f2cbf4fa31aa837de9b953d44413b9f5c7c7f67989d703f07abef11b6ad0373ea502302492492492492492492492492492492492492492492492491c7be680477598d6c3716fabc13dcec86afd2833d41c2a7e",
@@ -7555,20 +8601,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHS/JlN8gS2PwWuhCDKOQVZuAxJiO\n9jm5XEaeXLJM8hZUDL68RwvKoEZmEtvebQMJjGmW4KBfApAhg866S1MPTzUAqZ5M\n3IpQwNmNhwlE5WVI3Ez2u789aXjvvI/Id4sz4TLSwYXCCETPPfOU1SIlkxfjkx8B\nMPI/ZQDIgPOoMZq0Sg4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e",
         "wx" : "11d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f35",
         "wy" : "0a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHS/JlN8gS2PwWuhCDKOQVZuAxJiO\n9jm5XEaeXLJM8hZUDL68RwvKoEZmEtvebQMJjGmW4KBfApAhg866S1MPTzUAqZ5M\n3IpQwNmNhwlE5WVI3Ez2u789aXjvvI/Id4sz4TLSwYXCCETPPfOU1SIlkxfjkx8B\nMPI/ZQDIgPOoMZq0Sg4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 602,
+          "tcId" : 648,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "54657374",
           "sig" : "3067022105ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf5024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -7576,7 +8623,7 @@
           "flags" : []
         },
         {
-          "tcId" : 603,
+          "tcId" : 649,
           "comment" : "r too large",
           "msg" : "54657374",
           "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -7586,20 +8633,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea329076697800125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBmgKcd/7QTKsauJN/2oEo/Bm/jEGo\n8kL2qcpvCugTwXCbiwPiapKY/ln5njcG/8KMQ9JqEWkNL/2BWjPqMpB2aXgAElsq\nS2NfUU/V1jIVZy8xGuWTXBd07V2KRIl7aBkeY2mrJt+RXiBmqUPlmjV3MZ2sWoZk\nC8jHGNKxWUef3SLRFEE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04019a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea329076697800125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441",
         "wx" : "19a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea3290766978",
         "wy" : "125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea329076697800125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBmgKcd/7QTKsauJN/2oEo/Bm/jEGo\n8kL2qcpvCugTwXCbiwPiapKY/ln5njcG/8KMQ9JqEWkNL/2BWjPqMpB2aXgAElsq\nS2NfUU/V1jIVZy8xGuWTXBd07V2KRIl7aBkeY2mrJt+RXiBmqUPlmjV3MZ2sWoZk\nC8jHGNKxWUef3SLRFEE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 604,
+          "tcId" : 650,
           "comment" : "r,s are large",
           "msg" : "54657374",
           "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386407024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -7609,20 +8657,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af005bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA62KHgEC0ygyMYa/n4ZXiLjlfaceF\nmsK3mAKWcJgyVXO1bT1lt7zzERvEhZ4dCBbFQUc6wf/PSizH1uaqWRuhF68AW+om\nysfOITWEtdNasi2LRdyI/ybtut1IeqmMyqcWE7t7edzmepvDbT6YD8ENQxOsIMTP\nJx7MH0ras5UTlxqk+50=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af005bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d",
         "wx" : "0eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af",
         "wy" : "5bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af005bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA62KHgEC0ygyMYa/n4ZXiLjlfaceF\nmsK3mAKWcJgyVXO1bT1lt7zzERvEhZ4dCBbFQUc6wf/PSizH1uaqWRuhF68AW+om\nysfOITWEtdNasi2LRdyI/ybtut1IeqmMyqcWE7t7edzmepvDbT6YD8ENQxOsIMTP\nJx7MH0ras5UTlxqk+50=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 605,
+          "tcId" : 651,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02420095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66",
@@ -7632,20 +8681,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c200b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKWsEnxl5eFszd8Xijt9MJ4fyE/KD\na+r11hQHhwrehX1Qg+Adhyiw3d4bobs+eRYX7dsCpSx4BJeRylK2RvkxF8IAuXen\nEaUDDE72mQgzKWEyIDutvbwBQHxKzrSclrZY/Hf/H2Va104TROL8Vckcf8NDI1UZ\nLbPSwDzRNLo4etOs3kA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c200b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40",
         "wx" : "1296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c2",
         "wy" : "0b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c200b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKWsEnxl5eFszd8Xijt9MJ4fyE/KD\na+r11hQHhwrehX1Qg+Adhyiw3d4bobs+eRYX7dsCpSx4BJeRylK2RvkxF8IAuXen\nEaUDDE72mQgzKWEyIDutvbwBQHxKzrSclrZY/Hf/H2Va104TROL8Vckcf8NDI1UZ\nLbPSwDzRNLo4etOs3kA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 606,
+          "tcId" : 652,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "54657374",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe024115837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19",
@@ -7655,20 +8705,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAX1BZMINJ+eu7TRxVwK/M9iFi7B3R\nLvPtkGZWkk/9mcq58GsOshjP8HikZ3pc4cwHZSvJdq78cywo9n7weKQ06ZkApdFN\n8xBjDXbsA8tvm5W/GiJDgQXIjNn9PayA+Fet04Jx2LqQFoSybUNtSoWa1M2l6Wd7\nc8qz8+XkGj15lmByeas=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab",
         "wx" : "5f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e999",
         "wy" : "0a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAX1BZMINJ+eu7TRxVwK/M9iFi7B3R\nLvPtkGZWkk/9mcq58GsOshjP8HikZ3pc4cwHZSvJdq78cywo9n7weKQ06ZkApdFN\n8xBjDXbsA8tvm5W/GiJDgQXIjNn9PayA+Fet04Jx2LqQFoSybUNtSoWa1M2l6Wd7\nc8qz8+XkGj15lmByeas=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 607,
+          "tcId" : 653,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "3006020101020101",
@@ -7678,20 +8729,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7006b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAH7cGQnS6O1lQ8AoCfLLPQtHtacid\nlE2gQV6QhvNchbRK/dY1zcH63iznHmJIXiQ8658HWhEUdjAuYNfXixIHzacAa0JS\nB3FyMyBZqcYPlmiT/afnM3fevLqaj2nO6PWdZ6LKiS+tHfRGMWHxV8fBF8G7/dyI\nRBxMirxjZnvlwf8i9uI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04001fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7006b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2",
         "wx" : "1fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7",
         "wy" : "6b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7006b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAH7cGQnS6O1lQ8AoCfLLPQtHtacid\nlE2gQV6QhvNchbRK/dY1zcH63iznHmJIXiQ8658HWhEUdjAuYNfXixIHzacAa0JS\nB3FyMyBZqcYPlmiT/afnM3fevLqaj2nO6PWdZ6LKiS+tHfRGMWHxV8fBF8G7/dyI\nRBxMirxjZnvlwf8i9uI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 608,
+          "tcId" : 654,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "3006020101020102",
@@ -7701,20 +8753,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b6101acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBh31CwRCp++NyPmhOoBxVJpeo6DZ4\nFFy63C4nwz527y7Yheevd/gzEyE7BBB7S5L4Cuv9Zw/RRnsruTM6woDqm2EBrPTo\nWgzL38RwNjjCHrRbSpPbP6dHs2UjhTXNruT8VqqVhUtOycRRaTqvcqkNZtMA0iEb\n3B+gz4XlwkrgjvKiQkg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b6101acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248",
         "wx" : "1877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b61",
         "wy" : "1acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b6101acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBh31CwRCp++NyPmhOoBxVJpeo6DZ4\nFFy63C4nwz527y7Yheevd/gzEyE7BBB7S5L4Cuv9Zw/RRnsruTM6woDqm2EBrPTo\nWgzL38RwNjjCHrRbSpPbP6dHs2UjhTXNruT8VqqVhUtOycRRaTqvcqkNZtMA0iEb\n3B+gz4XlwkrgjvKiQkg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 609,
+          "tcId" : 655,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "3006020101020103",
@@ -7722,7 +8775,7 @@
           "flags" : []
         },
         {
-          "tcId" : 610,
+          "tcId" : 656,
           "comment" : "r is larger than n",
           "msg" : "54657374",
           "sig" : "3047024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a020103",
@@ -7732,20 +8785,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9006dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBbq8sMEOxCtipm+f4zMSTFRm27Fky\nb2oG83TLT4bhI33w8m32qQz4bDDULjvQWDx0SDDez3g0RUX0ttrqZ0qILbkAbf0J\nMgqXbVksTTnTCQ1vStOZK3AOPpDtGhNGI4x19Lr0k76MHBaDjs7C2ZlCZgQv+cYk\nhpKW7psCO7sS1AvArwc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04016eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9006dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07",
         "wx" : "16eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9",
         "wy" : "6dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9006dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBbq8sMEOxCtipm+f4zMSTFRm27Fky\nb2oG83TLT4bhI33w8m32qQz4bDDULjvQWDx0SDDez3g0RUX0ttrqZ0qILbkAbf0J\nMgqXbVksTTnTCQ1vStOZK3AOPpDtGhNGI4x19Lr0k76MHBaDjs7C2ZlCZgQv+cYk\nhpKW7psCO7sS1AvArwc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 611,
+          "tcId" : 657,
           "comment" : "s is larger than n",
           "msg" : "54657374",
           "sig" : "3047020101024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90",
@@ -7755,20 +8809,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8017ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBi3DfOWpr2EGN5qH36A+RW8wHkSnN\ny0ocdrDh0ldpEPGuFvPCdnGMhBwD4YziQ+uuWqYY8Jzd9HA0EiSlAW9vBOgBetPG\nECsoISANNzz/1WFKZwvr3ObyRLNNzofdh1h4a3ooKc1T5ZMl3OvpS1ZAudHKd1xS\ncWpZbZ46CED/29ZL8kc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04018b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8017ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247",
         "wx" : "18b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8",
         "wy" : "17ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8017ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBi3DfOWpr2EGN5qH36A+RW8wHkSnN\ny0ocdrDh0ldpEPGuFvPCdnGMhBwD4YziQ+uuWqYY8Jzd9HA0EiSlAW9vBOgBetPG\nECsoISANNzz/1WFKZwvr3ObyRLNNzofdh1h4a3ooKc1T5ZMl3OvpS1ZAudHKd1xS\ncWpZbZ46CED/29ZL8kc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 612,
+          "tcId" : 658,
           "comment" : "small r and s^-1",
           "msg" : "54657374",
           "sig" : "304802020100024201efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac",
@@ -7778,20 +8833,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b900643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAEzN5iGRFiAj9axCmyCUXQNptYjRA\nzfHjWW6DErWPI2ktagIQ0WgsBqR29EcDTXo0aXbQws4aWD+W95pTVrmggLkAZD0j\ntSEpL6lpZrf3M88gi2vnVkffhuLizNpAqzNgqx1jHvE/5m6z4I+uoZRFtvk+gyPh\nfeKQkx+tvitqfSzfM9c=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04001333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b900643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7",
         "wx" : "1333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b9",
         "wy" : "643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b900643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAEzN5iGRFiAj9axCmyCUXQNptYjRA\nzfHjWW6DErWPI2ktagIQ0WgsBqR29EcDTXo0aXbQws4aWD+W95pTVrmggLkAZD0j\ntSEpL6lpZrf3M88gi2vnVkffhuLizNpAqzNgqx1jHvE/5m6z4I+uoZRFtvk+gyPh\nfeKQkx+tvitqfSzfM9c=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 613,
+          "tcId" : 659,
           "comment" : "smallish r and s^-1",
           "msg" : "54657374",
           "sig" : "304d02072d9b4d347952cd02420100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de",
@@ -7801,20 +8857,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf01c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBU/oL4fnRmbpisepwSJPps0tNkeOP\nFq6MQ887qeO3sJsfk8+HZVNjrv6TljSKr7ca78FWeJBQ30b4QDsEbhqQaq8BwsQa\nf6AND3rq7KFWTavocMkJcYJVGxzv66a0Zz5VehspdYcROUPiXADCGlT0XygOD7xR\nFmSTNWf3nL0Onipa2nU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf01c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75",
         "wx" : "153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf",
         "wy" : "1c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf01c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBU/oL4fnRmbpisepwSJPps0tNkeOP\nFq6MQ887qeO3sJsfk8+HZVNjrv6TljSKr7ca78FWeJBQ30b4QDsEbhqQaq8BwsQa\nf6AND3rq7KFWTavocMkJcYJVGxzv66a0Zz5VehspdYcROUPiXADCGlT0XygOD7xR\nFmSTNWf3nL0Onipa2nU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 614,
+          "tcId" : 660,
           "comment" : "100-bit r and small s^-1",
           "msg" : "54657374",
           "sig" : "3053020d1033e67e37b32b445580bf4eff0242013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998",
@@ -7824,20 +8881,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c000e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBUjBFmboh/PnvJHuZ3xKtpxTJBnPz\nFwCnFLzKpkf2MICJpDjZWkYgZGJLjBbULWYPPBaieoI98d0DmImQKO+L5sAA4uYa\nJ+j78LCvscOUjouJN1tuXstd3Ubh0sKhlrquHvjWjk8Kkkqba/heUPzPcZ22EKoA\nT6/O+D2ZbNHvy9AIKKY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c000e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6",
         "wx" : "152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c0",
         "wy" : "0e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c000e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBUjBFmboh/PnvJHuZ3xKtpxTJBnPz\nFwCnFLzKpkf2MICJpDjZWkYgZGJLjBbULWYPPBaieoI98d0DmImQKO+L5sAA4uYa\nJ+j78LCvscOUjouJN1tuXstd3Ubh0sKhlrquHvjWjk8Kkkqba/heUPzPcZ22EKoA\nT6/O+D2ZbNHvy9AIKKY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 615,
+          "tcId" : 661,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "54657374",
           "sig" : "30480202010002420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b",
@@ -7847,20 +8905,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3010b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA0DrM7t232PYAQSBd74LgnmS8WYEc\n9lAt6o9yqajn3TxqsD4+bU0TG2iFfQrpb9S1nU+sggsQZI+ygt+U5dKcYtMBCwHI\nUwoImwexsqNP2p3+lxI7HA75fHyetk9EpsGs8hARV9hZapvb21StebO0o23QZ2TK\nsCR1HD+EzQo81xTX5Jw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3010b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c",
         "wx" : "0d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3",
         "wy" : "10b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3010b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA0DrM7t232PYAQSBd74LgnmS8WYEc\n9lAt6o9yqajn3TxqsD4+bU0TG2iFfQrpb9S1nU+sggsQZI+ygt+U5dKcYtMBCwHI\nUwoImwexsqNP2p3+lxI7HA75fHyetk9EpsGs8hARV9hZapvb21StebO0o23QZ2TK\nsCR1HD+EzQo81xTX5Jw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 616,
+          "tcId" : 662,
           "comment" : "100-bit r and s^-1",
           "msg" : "54657374",
           "sig" : "3053020d062522bbd3ecbe7c39e93e7c2402420086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b",
@@ -7870,20 +8929,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46005888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Sm6thBb7cnF8YVM42R0IkhOkzpH\nLIIvP8iMdoRUA5qg3B7E91IVfUYCXq0HIrPLhvaCMz6I7ea9L3SHCEhzrUYAWIgk\nM2Cwi6YjjXyC10kg+3yNXMr5KyxHiC5zDmpopWJHTTxM2c0TA1dMKQrt2sITzIMb\nbnEMnNE2iSysx6yOLpo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46005888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a",
         "wx" : "1d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46",
         "wy" : "5888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46005888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Sm6thBb7cnF8YVM42R0IkhOkzpH\nLIIvP8iMdoRUA5qg3B7E91IVfUYCXq0HIrPLhvaCMz6I7ea9L3SHCEhzrUYAWIgk\nM2Cwi6YjjXyC10kg+3yNXMr5KyxHiC5zDmpopWJHTTxM2c0TA1dMKQrt2sITzIMb\nbnEMnNE2iSysx6yOLpo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 617,
+          "tcId" : 663,
           "comment" : "r and s^-1 are close to n",
           "msg" : "54657374",
           "sig" : "308188024201fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b",
@@ -7893,20 +8953,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f007d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBe/462koaBucy9ITxgw0MC3HEe3T6\nUG3jq96m0TmrId1yx7HBMDXw/9ElQz0BAKcDAze5ndFia5HKVyMzWFOg9n8AfShE\nfC/Ewp/HSoOOMOrjmeKCtgf/8GGiew1pMhzMPOsPw66GpYx3QCja/RCL2HS4xE80\n9audLjHKd9Kqs8xerNs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04017bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f007d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb",
         "wx" : "17bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f",
         "wy" : "7d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f007d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBe/462koaBucy9ITxgw0MC3HEe3T6\nUG3jq96m0TmrId1yx7HBMDXw/9ElQz0BAKcDAze5ndFia5HKVyMzWFOg9n8AfShE\nfC/Ewp/HSoOOMOrjmeKCtgf/8GGiew1pMhzMPOsPw66GpYx3QCja/RCL2HS4xE80\n9audLjHKd9Kqs8xerNs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 618,
+          "tcId" : 664,
           "comment" : "s == 1",
           "msg" : "54657374",
           "sig" : "3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020101",
@@ -7914,7 +8975,7 @@
           "flags" : []
         },
         {
-          "tcId" : 619,
+          "tcId" : 665,
           "comment" : "s == 0",
           "msg" : "54657374",
           "sig" : "3047024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad020100",
@@ -7924,20 +8985,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd64900912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBO3O+DsTxizb9wgqslnVYCiDMcl7Q\n3m/qY6thEbSq7MabH98Fuxx6ccS3paHqr/I74VYE9AW17NOz7Wr+qOSc1kkAkSGA\nyYH0gNK4t0OJiLA6DF79vS2glPCC9/pX7MQf3oxl08nYDzT5Ek4VHaVdltKpuZFn\nLeeUSbzBwBkrdlCukLc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04013b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd64900912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7",
         "wx" : "13b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd649",
         "wy" : "0912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd64900912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBO3O+DsTxizb9wgqslnVYCiDMcl7Q\n3m/qY6thEbSq7MabH98Fuxx6ccS3paHqr/I74VYE9AW17NOz7Wr+qOSc1kkAkSGA\nyYH0gNK4t0OJiLA6DF79vS2glPCC9/pX7MQf3oxl08nYDzT5Ek4VHaVdltKpuZFn\nLeeUSbzBwBkrdlCukLc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 620,
+          "tcId" : 666,
           "comment" : "point at infinity during verify",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c3204024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -7947,20 +9009,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b77600a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBwB6rm6bd0h4zQhA0rNaskjpAn6s0\nngOAv6pUtASJAIal4S+wnhNScSz94Vq8JWMHmnPTM8nHnGcPsGtdgCqpt3YAp2oo\n0D9lfGG/h/9453M6BpVW0r1ji3kxarcLWigJvIqYoqhDI41KviaYsqpq7eGyVBvz\n3NAHz5zVxNSWnE9//Ms=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b77600a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb",
         "wx" : "1c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b776",
         "wy" : "0a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b77600a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBwB6rm6bd0h4zQhA0rNaskjpAn6s0\nngOAv6pUtASJAIal4S+wnhNScSz94Vq8JWMHmnPTM8nHnGcPsGtdgCqpt3YAp2oo\n0D9lfGG/h/9453M6BpVW0r1ji3kxarcLWigJvIqYoqhDI41KviaYsqpq7eGyVBvz\n3NAHz5zVxNSWnE9//Ms=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 621,
+          "tcId" : 667,
           "comment" : "u1 == 1",
           "msg" : "54657374",
           "sig" : "308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024100c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
@@ -7970,20 +9033,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb0014620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAGGNlxzWIgHpRAFQS2wBLRfX3vjpg\ndOYRkEKXjb+8WkMeFsyTB0fmzXURUFtMk0nO35CKWp29M82wrsy/aUVEV/sAFGIK\nKaJpHYA4054eTefEJDyMQmAecZlFwSl8GksQ10Fa83vx7Q3ckDC85TAYXf38Rlj/\nY19r2WYL7Mj/nspP3fo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb0014620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa",
         "wx" : "186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb",
         "wy" : "14620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb0014620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAGGNlxzWIgHpRAFQS2wBLRfX3vjpg\ndOYRkEKXjb+8WkMeFsyTB0fmzXURUFtMk0nO35CKWp29M82wrsy/aUVEV/sAFGIK\nKaJpHYA4054eTefEJDyMQmAecZlFwSl8GksQ10Fa83vx7Q3ckDC85TAYXf38Rlj/\nY19r2WYL7Mj/nspP3fo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 622,
+          "tcId" : 668,
           "comment" : "u1 == n - 1",
           "msg" : "54657374",
           "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024201ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d8",
@@ -7993,20 +9057,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863008c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALip0a1XgW8Ew03TIq7i/ZRouKwJU\nBPCFRb78uVyff2gfb1ub8uvEXUyFcpIdOrXc4UTqXVDr7Im4yPAQ6jFJSGMAjIFv\nEi1dY7X+oA0aAO0jV39+99SPOXNWg1PUaDaOx3y8njxQEoObdIMwh9Ubo+aAq1N1\nvmgOqMGPe2GfMrFB8oE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04002e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863008c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281",
         "wx" : "2e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863",
         "wy" : "08c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863008c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALip0a1XgW8Ew03TIq7i/ZRouKwJU\nBPCFRb78uVyff2gfb1ub8uvEXUyFcpIdOrXc4UTqXVDr7Im4yPAQ6jFJSGMAjIFv\nEi1dY7X+oA0aAO0jV39+99SPOXNWg1PUaDaOx3y8njxQEoObdIMwh9Ubo+aAq1N1\nvmgOqMGPe2GfMrFB8oE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 623,
+          "tcId" : 669,
           "comment" : "u2 == 1",
           "msg" : "54657374",
           "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -8016,20 +9081,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f201c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA03n3mCawQZjfNxqwUZ0afwpPGZ1h\nScqLfxOl2gnLoCT759T/f9eoqTtcvK88aCQ/Yw1H2PK2Uran1rHFIqdfqfIBxmBy\nLZXIPGuUV5RKzGceiB6NF7BzYvL4J5lFby8V1mLTaqCdWlI2KI08E4Lj4jCPRoZ9\nU8WIo3CFf65NMvCj3a8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f201c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf",
         "wx" : "0d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f2",
         "wy" : "1c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f201c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA03n3mCawQZjfNxqwUZ0afwpPGZ1h\nScqLfxOl2gnLoCT759T/f9eoqTtcvK88aCQ/Yw1H2PK2Uran1rHFIqdfqfIBxmBy\nLZXIPGuUV5RKzGceiB6NF7BzYvL4J5lFby8V1mLTaqCdWlI2KI08E4Lj4jCPRoZ9\nU8WIo3CFf65NMvCj3a8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 624,
+          "tcId" : 670,
           "comment" : "u2 == n - 1",
           "msg" : "54657374",
           "sig" : "308188024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0242015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c",
@@ -8039,20 +9105,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb5001712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBucyMq2rz785ioV3h8q27sipNLXTo\n3PMv7AqUo9o1CN4dSgc/UkX5bJpqowIeVOqjUzp4F8TleUSrIXRUm2uT61ABcSzd\ng2bEURjwFhY6c0cZj0laKpvEJ5CNvG3UszD1bhwd9KmIb3/WPEkSSt5g1b+Oa3rD\n1p04+cTb2KEiFjgnLMs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb5001712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb",
         "wx" : "1b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb50",
         "wy" : "1712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb5001712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBucyMq2rz785ioV3h8q27sipNLXTo\n3PMv7AqUo9o1CN4dSgc/UkX5bJpqowIeVOqjUzp4F8TleUSrIXRUm2uT61ABcSzd\ng2bEURjwFhY6c0cZj0laKpvEJ5CNvG3UszD1bhwd9KmIb3/WPEkSSt5g1b+Oa3rD\n1p04+cTb2KEiFjgnLMs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 625,
+          "tcId" : 671,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308186024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0240424f8a11451ecd0735f06da9d15265d82c3c08f43db200b4b9404d558c9749dd51b1607da78f82eda9f32f5e53aef6ed9b97191fbd3bae7f35ddd3e66903d8bb",
@@ -8062,20 +9129,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b601ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAOCbJGqozoYPeP24TTYZTCK68eQ6S\nh7x64TbtWb8DvkSntbQ6GMqK8aFOjKiO/hxl+JSXbFbEivALWsHzy831iLYBrDvO\nX648K7bc8Z2cJ16y61YUUjoEvw5/mKSlC+f4DIzO6Knnt0yK8HY0FwSnrCN2mkIH\nFyJ9b30bvPzs9yDsrDk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04003826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b601ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39",
         "wx" : "3826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b6",
         "wy" : "1ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b601ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAOCbJGqozoYPeP24TTYZTCK68eQ6S\nh7x64TbtWb8DvkSntbQ6GMqK8aFOjKiO/hxl+JSXbFbEivALWsHzy831iLYBrDvO\nX648K7bc8Z2cJ16y61YUUjoEvw5/mKSlC+f4DIzO6Knnt0yK8HY0FwSnrCN2mkIH\nFyJ9b30bvPzs9yDsrDk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 626,
+          "tcId" : 672,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024141eeab7d3d7e80937cad0b86d3e53e14830166c2efa89df18ec6f88fc6a8a580601a91934ba922bd746351a008ac4f86dcc4d13a7ff09420f897b52bf88a4c9269",
@@ -8085,20 +9153,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f64300601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAyGGz1Zd9r9MhxC6rGROi8ac06fsa\nIY8zwCqUHa+kHn9fpbTXP1LHTDXmJiscShVFxc3fqRL+RC7noWqq4MXD9kMAYB25\ngauVk8lAVyPKqG2GLFdbXFSkh0Z8I0DklfJtuxWHVw0Q04YJs4xQCUgFX1lrKQGU\nseZuqNBv+nVU0dj7axg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f64300601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18",
         "wx" : "0c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f643",
         "wy" : "601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f64300601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAyGGz1Zd9r9MhxC6rGROi8ac06fsa\nIY8zwCqUHa+kHn9fpbTXP1LHTDXmJiscShVFxc3fqRL+RC7noWqq4MXD9kMAYB25\ngauVk8lAVyPKqG2GLFdbXFSkh0Z8I0DklfJtuxWHVw0Q04YJs4xQCUgFX1lrKQGU\nseZuqNBv+nVU0dj7axg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 627,
+          "tcId" : 673,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a2eb25c2d3f9db15f320a4dd42e236f98a5d8c6774c12f982e2bce6c5e16cb53dbc52da6e091201170c7b11463700865120b560f106e1448c57f957a3bec28db90",
@@ -8108,20 +9177,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b53023800754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAHwLaNjgp7gi0zJNGTi17FvLCYu95\nd6S01A8ThLQL3mgIEohg5VOfuR6SMQSAJJmavOGPH77qiYNIdUmkBDtTAjgAdUoF\nmo6hG8pMHyxTb7vZEMUDhqzVVMJ0eAkN+pKZnyfibpxfDFUfewKqFSPb9WBj97tw\nBNZJBMGuw1vHOu/i6Ag=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04001f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b53023800754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808",
         "wx" : "1f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b530238",
         "wy" : "754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b53023800754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAHwLaNjgp7gi0zJNGTi17FvLCYu95\nd6S01A8ThLQL3mgIEohg5VOfuR6SMQSAJJmavOGPH77qiYNIdUmkBDtTAjgAdUoF\nmo6hG8pMHyxTb7vZEMUDhqzVVMJ0eAkN+pKZnyfibpxfDFUfewKqFSPb9WBj97tw\nBNZJBMGuw1vHOu/i6Ag=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 628,
+          "tcId" : 674,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200a521a445fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fddfff25612d4c640b972f4400e5bf597b342cc4a0e5e4d50ca579ce8a0ae09c0913",
@@ -8131,20 +9201,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c01186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALs4pYu9HEfSbFpesf60HWRZ3Z6EE\nt2rYd0nIOuKBi/ZqudlQn3P7FT6ri1RgfcynPTw4CXWvo+45NzK0Slk0mSwBGGrY\nC/EjujW9WyGz2V4sZyrTtIXweGIIWM+yTxv2Hq2Q+xonI+xQHCt6l83R/D6WTobS\nPAMKKrkNpvOXHaT2jJk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04002ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c01186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99",
         "wx" : "2ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c",
         "wy" : "1186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c01186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALs4pYu9HEfSbFpesf60HWRZ3Z6EE\nt2rYd0nIOuKBi/ZqudlQn3P7FT6ri1RgfcynPTw4CXWvo+45NzK0Slk0mSwBGGrY\nC/EjujW9WyGz2V4sZyrTtIXweGIIWM+yTxv2Hq2Q+xonI+xQHCt6l83R/D6WTobS\nPAMKKrkNpvOXHaT2jJk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 629,
+          "tcId" : 675,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02411a445fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43a6e18df0b42a423dcc5bba72d6eaa3482d00750f395c72f7b528c14e6494fd8f",
@@ -8154,20 +9225,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034008d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBq5gfUHqsbAipr415Y8DMldmkF2ow\nvTbZuLlmaXkS9WkIeSzPFcbKQYFRqi6EHBd4P4QU+k1cIi5JwAetyrEKoDQAjRoW\niKg5kxCEyu3jN1gghlaDcpIgmod/vBwS61b/mFCNI0g9bjam1H4PIhfSWM3cxvLv\n/iQ8CjNmTgq6DkbaM7k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034008d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9",
         "wx" : "1ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034",
         "wy" : "08d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034008d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBq5gfUHqsbAipr415Y8DMldmkF2ow\nvTbZuLlmaXkS9WkIeSzPFcbKQYFRqi6EHBd4P4QU+k1cIi5JwAetyrEKoDQAjRoW\niKg5kxCEyu3jN1gghlaDcpIgmod/vBwS61b/mFCNI0g9bjam1H4PIhfSWM3cxvLv\n/iQ8CjNmTgq6DkbaM7k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 630,
+          "tcId" : 676,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02413488bfd003ba3fe7222c398614731d4bc5d6e0518119ceef697ca468dd3fbc3a874dc31be16854847b98b774e5add546905a00ea1e72b8e5ef6a51829cc929fb1e",
@@ -8177,20 +9249,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4017f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA/vrPQlZhyNOiGD/EzhG5p5eYuSNn\nHkLGk8EL7gbYp7Rh76SjJXPKx6AWTyuj6fSDZritBkFw++eYZksVOJ2OjaQBf0sp\nyxrgn2QKar63ioRndCK++4BBY0E4at7k2ucCx+Fq6D0CRTHhtjsBrLLEbkwOJd5W\nkVvUyQ7xE+h3kQj64mc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4017f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267",
         "wx" : "0fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4",
         "wy" : "17f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4017f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA/vrPQlZhyNOiGD/EzhG5p5eYuSNn\nHkLGk8EL7gbYp7Rh76SjJXPKx6AWTyuj6fSDZritBkFw++eYZksVOJ2OjaQBf0sp\nyxrgn2QKar63ioRndCK++4BBY0E4at7k2ucCx+Fq6D0CRTHhtjsBrLLEbkwOJd5W\nkVvUyQ7xE+h3kQj64mc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 631,
+          "tcId" : 677,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17f9b003304fb6269c9f550768537b35f96443556a62b5ec77958bd8e4204d6354ce",
@@ -8200,20 +9273,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e7501e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBulY/JD2FkCM75ZdF3I4xHoe2qeMr\n3b30Dw3IehG90dddWNMSw23I4nIiNpDaG2oFjV2rVvL8bylxIaWrKIwmnnUB4DTS\n5d25Dv1Ik+SGlLTPXIXovcr7vK5RiA2X4i0U2Dj4Fi7bDgJvW6iLFQ4/LB/EntJC\nl5O3bpLxr6nwGAUQXNg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e7501e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8",
         "wx" : "1ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e75",
         "wy" : "1e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e7501e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBulY/JD2FkCM75ZdF3I4xHoe2qeMr\n3b30Dw3IehG90dddWNMSw23I4nIiNpDaG2oFjV2rVvL8bylxIaWrKIwmnnUB4DTS\n5d25Dv1Ik+SGlLTPXIXovcr7vK5RiA2X4i0U2Dj4Fi7bDgJvW6iLFQ4/LB/EntJC\nl5O3bpLxr6nwGAUQXNg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 632,
+          "tcId" : 678,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242014128151a7d33a465767e87681050667ae528af3c43cfc59e3c3c1c8037d941b12bed6b79efcbcacf25ad46226c5c2b2bbfa1360e23c331db67cede47d9b0aa3fd2",
@@ -8223,20 +9297,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5015a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAJDTMonw5ZdMMGsN2BP7NVvDUrHAc\nHXpMxzV3ShCRNlzBp8teLWbYmTFVH9zgTA3vFQPi7Ct4IMGZrpkONjUjhuUBWjvX\n22L5tflvUPFM8LMVqqE0K/Q1JcnNLrBNK4PsIUBP5R9nUR0e5yln54NrgxboIoR3\n+JM+Rd9Vt1/rpDGZU8Y=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04002434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5015a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6",
         "wx" : "2434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5",
         "wy" : "15a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5015a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAJDTMonw5ZdMMGsN2BP7NVvDUrHAc\nHXpMxzV3ShCRNlzBp8teLWbYmTFVH9zgTA3vFQPi7Ct4IMGZrpkONjUjhuUBWjvX\n22L5tflvUPFM8LMVqqE0K/Q1JcnNLrBNK4PsIUBP5R9nUR0e5yln54NrgxboIoR3\n+JM+Rd9Vt1/rpDGZU8Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 633,
+          "tcId" : 679,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242019bcf27559ab324f2a0ebc95d059edeccd613604232da95c84d41d4d990ae7bb2d12b8d297d99fb86b64572d6fce2a34e4fa5e168f6894d4a1a828e2c6dbbdf31a2",
@@ -8246,20 +9321,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e20089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAPuq3JBtJgl+Ns5BDwwep27tibMww\naTHGqI1CRSV64AV2LVSUS4qXlQ/TvgLuW8u1oQBosjDBvSEAMHMDO1tAcuIAibIT\nSvr/HX4Z/CPUQRBgjvvG4rgSChamO9/y4GX8yULnlsbb3/FPwXmraU7oZeg6KOcO\ni6Y1ZcL6LzGsPnG9xGo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04003eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e20089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a",
         "wx" : "3eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e2",
         "wy" : "089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e20089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAPuq3JBtJgl+Ns5BDwwep27tibMww\naTHGqI1CRSV64AV2LVSUS4qXlQ/TvgLuW8u1oQBosjDBvSEAMHMDO1tAcuIAibIT\nSvr/HX4Z/CPUQRBgjvvG4rgSChamO9/y4GX8yULnlsbb3/FPwXmraU7oZeg6KOcO\ni6Y1ZcL6LzGsPnG9xGo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 634,
+          "tcId" : 680,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200b6cd381945713041c7990356370a00a10888ce905df2c792226a96cadb61df94bc4277c04afbcdabf376f02d2a6addf4052ad7673b1ae1e1ec49af389066810792",
@@ -8269,20 +9345,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a170100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBf7g475pryIdu8hiKXw02+3ZkJnPs\nIi8j9Jz92GDFBTTTR3YJw6EWXpPfr8wQNNbPdils0C9W4z9Q76ICzdfdChcBANJ1\nvLg2nDTPMEbRmP+vTM67AxOarY5EATEPdj54tK0N2H+m4EOL9DCywQ8l+IGdxUa2\nsGYT6vBoxZzssruRaEo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04017fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a170100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a",
         "wx" : "17fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a17",
         "wy" : "100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a170100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBf7g475pryIdu8hiKXw02+3ZkJnPs\nIi8j9Jz92GDFBTTTR3YJw6EWXpPfr8wQNNbPdils0C9W4z9Q76ICzdfdChcBANJ1\nvLg2nDTPMEbRmP+vTM67AxOarY5EATEPdj54tK0N2H+m4EOL9DCywQ8l+IGdxUa2\nsGYT6vBoxZzssruRaEo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 635,
+          "tcId" : 681,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200ffded83af75d70997c6507c92b1756cd13e9e1fb85e126ffa5a35fd95539b45b0e7fea93830bd009beeaec68f551ad5771500f584c66304c97c2c8f19c141a45a7",
@@ -8292,20 +9369,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a00d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPSpVGMRbYC97Pu4uJhqZeqeKWoMc\nROOtoW/bDPGzKSae+xUs/o5OCAd7Z8wnq0rkKZW3qZce/lJIF1y118pj94oA0rZ2\nyj1B+O2LtlMJ3m7FN5lBpfdKbXDdyuH3NlznH97wPjcqoxQIqKUcw0ysVParc2bZ\nh1i3+T/JduD+UfOHG4I=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04013d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a00d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82",
         "wx" : "13d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a",
         "wy" : "0d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a00d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPSpVGMRbYC97Pu4uJhqZeqeKWoMc\nROOtoW/bDPGzKSae+xUs/o5OCAd7Z8wnq0rkKZW3qZce/lJIF1y118pj94oA0rZ2\nyj1B+O2LtlMJ3m7FN5lBpfdKbXDdyuH3NlznH97wPjcqoxQIqKUcw0ysVParc2bZ\nh1i3+T/JduD+UfOHG4I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 636,
+          "tcId" : 682,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ffbdb075eebae132f8ca0f92562ead9a27d3c3f70bc24dff4b46bfb2aa7368b61cffd5270617a0137dd5d8d1eaa35aaee2a01eb098cc60992f8591e33828348b4e",
@@ -8315,20 +9393,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae005ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQArE6a0frYBUouEyA/zEiTM5Vb+3di\nrtRbYedRgm+KEwtTB8Hy8FIAHcOflx8ZXWqcalq10CWXgiqJKuK+ZxQ78q4AXOD9\nguNQuF8tei7b1ZWh6JChQ+6aF/FK7TGVDVF9RX6V7hYPgYt+eua3ITVQRRa0u9vI\nVxj0QqPcmiHuTaDzJ7Y=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae005ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6",
         "wx" : "0ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae",
         "wy" : "5ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae005ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQArE6a0frYBUouEyA/zEiTM5Vb+3di\nrtRbYedRgm+KEwtTB8Hy8FIAHcOflx8ZXWqcalq10CWXgiqJKuK+ZxQ78q4AXOD9\nguNQuF8tei7b1ZWh6JChQ+6aF/FK7TGVDVF9RX6V7hYPgYt+eua3ITVQRRa0u9vI\nVxj0QqPcmiHuTaDzJ7Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 637,
+          "tcId" : 683,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200ff9c88b0e61851cc752f175b814604673bbda5f291a374fef0ea1f8bffad1d11312e393305644086d140f93996fdfe6083b4783f2ca8f49e188ceb1db5ab166cec",
@@ -8338,20 +9417,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1016e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAnRrvwBFgh3Td5rFXTPeXNWkbzNDV\nNJeVVbkj5IA/SW4JbZWvfb+AJZVTEs8xgPKxJOFAS6i9Riz4x1C9FX27GPEBbjc2\nViXig8ZEdna+wphBCja5yMZLpaG2kXkXndi48+jmWcysDN8cQvF001gKAILBMaiG\nXlCtmvkIjrLWPwtHaK4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04009d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1016e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae",
         "wx" : "09d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1",
         "wy" : "16e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1016e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAnRrvwBFgh3Td5rFXTPeXNWkbzNDV\nNJeVVbkj5IA/SW4JbZWvfb+AJZVTEs8xgPKxJOFAS6i9Riz4x1C9FX27GPEBbjc2\nViXig8ZEdna+wphBCja5yMZLpaG2kXkXndi48+jmWcysDN8cQvF001gKAILBMaiG\nXlCtmvkIjrLWPwtHaK4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 638,
+          "tcId" : 684,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200d17592e169fced8af990526ea1711b7cc52ec633ba6097cc1715e7362f0b65a9ede296d370489008b863d88a31b804328905ab0788370a2462bfcabd1df6146dc8",
@@ -8361,20 +9441,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004010f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705012d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBD1gk0R0QD5wd6h9ED//mrvFDqPya\nrJ5k4U97r/OmKlrp9t1A3TaLZSOaqAIxhp4qp6ok8FjRemw1kka99eyF1wUBLQfC\nUf7Lz1AWqOqePEa8UxhLupYdSuidq/qhruM03PlIJM8ab4QOmouhzr+7mIGsyOgG\nKE0FgbfIWY8+fkZt6gk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04010f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705012d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09",
         "wx" : "10f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705",
         "wy" : "12d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004010f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705012d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBD1gk0R0QD5wd6h9ED//mrvFDqPya\nrJ5k4U97r/OmKlrp9t1A3TaLZSOaqAIxhp4qp6ok8FjRemw1kka99eyF1wUBLQfC\nUf7Lz1AWqOqePEa8UxhLupYdSuidq/qhruM03PlIJM8ab4QOmouhzr+7mIGsyOgG\nKE0FgbfIWY8+fkZt6gk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 639,
+          "tcId" : 685,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02415555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554",
@@ -8384,20 +9465,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b29400f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBtVf2/CHxbmqOUbKQSyT7jHXI/uSx\nsP+XX81UxJGg5SdYo4gwONvPIfGeV5FGPC2VK7SwtkKPCuc2m0HR2XZhspQA91yF\nk/ns9UomzIx7QY+fvKQpaIW5NnCTmUL13PbLSgPCNE0EEd8eWlSGUlNMS328zpQB\naXJSJn6HRdBxOI7sgy4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b29400f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e",
         "wx" : "1b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b294",
         "wy" : "0f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b29400f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBtVf2/CHxbmqOUbKQSyT7jHXI/uSx\nsP+XX81UxJGg5SdYo4gwONvPIfGeV5FGPC2VK7SwtkKPCuc2m0HR2XZhspQA91yF\nk/ns9UomzIx7QY+fvKQpaIW5NnCTmUL13PbLSgPCNE0EEd8eWlSGUlNMS328zpQB\naXJSJn6HRdBxOI7sgy4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 640,
+          "tcId" : 686,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e",
@@ -8407,20 +9489,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f00a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAzgIrVDoYH90xMM41kmF4p/Dvlxxf\n6EiwLcG/aMiDspqjU2mr0ZntYo6oNzqWYKHAhUFKLGbeASjAj4OG7+ygDT8Aopxw\nS6rqAhSrlETpLUfbWcRIxlWUtwnFvUMHiXyY0LzLSp81HFHSJz7yu4TWh8MF52Nr\nVf0+OFS0s0ynunEnaso=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f00a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca",
         "wx" : "0ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f",
         "wy" : "0a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f00a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAzgIrVDoYH90xMM41kmF4p/Dvlxxf\n6EiwLcG/aMiDspqjU2mr0ZntYo6oNzqWYKHAhUFKLGbeASjAj4OG7+ygDT8Aopxw\nS6rqAhSrlETpLUfbWcRIxlWUtwnFvUMHiXyY0LzLSp81HFHSJz7yu4TWh8MF52Nr\nVf0+OFS0s0ynunEnaso=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 641,
+          "tcId" : 687,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024168d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35",
@@ -8430,20 +9513,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a01537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQA0ZT1HYAhjAKW6Xi5t6XrsNNz0h\n6e1/S+iuJepbb861gNxFEIJlJf4TjRpOIMwpPFMNukuFw9KbuHSGfDaEaWoBU3uj\nwywfH5stnoD4j/zcSqUkboFFuHw31HMEQjTYrSjGq9Whhu0Kthxuct3vd7CZ9R7c\nWOvrQzrtBkUDyklMTHM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a01537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73",
         "wx" : "400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a",
         "wy" : "1537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a01537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQA0ZT1HYAhjAKW6Xi5t6XrsNNz0h\n6e1/S+iuJepbb861gNxFEIJlJf4TjRpOIMwpPFMNukuFw9KbuHSGfDaEaWoBU3uj\nwywfH5stnoD4j/zcSqUkboFFuHw31HMEQjTYrSjGq9Whhu0Kthxuct3vd7CZ9R7c\nWOvrQzrtBkUDyklMTHM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 642,
+          "tcId" : 688,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024200e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c",
@@ -8453,20 +9537,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040078266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a0198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAeCZvV53KE+oUM4wyoNaBLf2Ycgoq\nHqK/pEuis/4VxjBjyMx5PJbulgz1N+NK0Mr6RiGSz2KFy4xI2Tmb9VLU/GoBmL7e\nYSaJ0iiYQeSQW+dm26igewCk1KlvmhBxYKmybrMv2nmWNOAH7lDjT2slVg1+7Rco\n1LXtxFN99PUIkQrO9zY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040078266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a0198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736",
         "wx" : "78266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a",
         "wy" : "198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040078266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a0198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAeCZvV53KE+oUM4wyoNaBLf2Ycgoq\nHqK/pEuis/4VxjBjyMx5PJbulgz1N+NK0Mr6RiGSz2KFy4xI2Tmb9VLU/GoBmL7e\nYSaJ0iiYQeSQW+dm26igewCk1KlvmhBxYKmybrMv2nmWNOAH7lDjT2slVg1+7Rco\n1LXtxFN99PUIkQrO9zY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 643,
+          "tcId" : 689,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d",
@@ -8476,20 +9561,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c301282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXFhcD63smjT8wIBBVPFMtWaLmX8u\nCW2gl0sj6ZAuNJmVYDeheKUhCDNQfh4QjuXNmU9lnj6Mqt6dKVjtSPZpkcMBKCwZ\naaaOGQxhHsAyI1LvAcdQ3IdGSqAQJLLBDJ1Lakop+Z6nQNuNr6tl7XVCNgFlTWj0\n32QugKTnnKEt+w7kJAQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04005c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c301282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404",
         "wx" : "5c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c3",
         "wy" : "1282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c301282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXFhcD63smjT8wIBBVPFMtWaLmX8u\nCW2gl0sj6ZAuNJmVYDeheKUhCDNQfh4QjuXNmU9lnj6Mqt6dKVjtSPZpkcMBKCwZ\naaaOGQxhHsAyI1LvAcdQ3IdGSqAQJLLBDJ1Lakop+Z6nQNuNr6tl7XVCNgFlTWj0\n32QugKTnnKEt+w7kJAQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 644,
+          "tcId" : 690,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1",
@@ -8499,20 +9585,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a00403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAkZ0Mv/cEPeLrAk5eznpZ3hSxvYsI\nQolYdDAFbjUOSRNr+JJ1eziXNed1s1LXdDdv4p5i5AFSU1AuTMwpnyV1dmoAQDzf\npJ/kZHeU1nn9KInDpsKmUeuwTk/uhGi9TCQNi6ciCX6uvVJHtL68boc7JwEcSdH4\noTHqD3pWeowqfBcyieI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a00403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2",
         "wx" : "0919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a",
         "wy" : "403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a00403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAkZ0Mv/cEPeLrAk5eznpZ3hSxvYsI\nQolYdDAFbjUOSRNr+JJ1eziXNed1s1LXdDdv4p5i5AFSU1AuTMwpnyV1dmoAQDzf\npJ/kZHeU1nn9KInDpsKmUeuwTk/uhGi9TCQNi6ciCX6uvVJHtL68boc7JwEcSdH4\noTHqD3pWeowqfBcyieI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 645,
+          "tcId" : 691,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23",
@@ -8522,20 +9609,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a99750010829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPIm2juIWXOWD4pprRjA+UeSbZYO5\nf6SPyX9IyorQ3dTd0J36389wlfDKGJY0MoQcTv+RX2E40O9ZHorkvp9KmXUAEIKc\nKWtJ6D6iIBi9HUvjDMM7/OIFqrpUUuEEn3i+3gsAOuLCe6/AzX96wRIQiSiL/jfi\nIeGPWk/dfXOzwOWuatE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04013c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a99750010829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1",
         "wx" : "13c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a9975",
         "wy" : "10829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a99750010829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPIm2juIWXOWD4pprRjA+UeSbZYO5\nf6SPyX9IyorQ3dTd0J36389wlfDKGJY0MoQcTv+RX2E40O9ZHorkvp9KmXUAEIKc\nKWtJ6D6iIBi9HUvjDMM7/OIFqrpUUuEEn3i+3gsAOuLCe6/AzX96wRIQiSiL/jfi\nIeGPWk/dfXOzwOWuatE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 646,
+          "tcId" : 692,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308187024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024122e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a",
@@ -8545,20 +9633,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f7901f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Ryg/3kHl6g8O+HIJCWvkXIICHqm\nc17r00mED9n7w7pZYu4R+AQzOMGz81BBcfqo6ERIgLalxVrmZnxSygftP3kB80eG\nwtxxcErDRjQQCo6RKnxAY3gg6XzTLVc51wNLx/aHS5DulMzgdmKjsnWyP6IK5/yD\ncNBbru/gKGFovTQX0T8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f7901f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f",
         "wx" : "1d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f79",
         "wy" : "1f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f7901f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Ryg/3kHl6g8O+HIJCWvkXIICHqm\nc17r00mED9n7w7pZYu4R+AQzOMGz81BBcfqo6ERIgLalxVrmZnxSygftP3kB80eG\nwtxxcErDRjQQCo6RKnxAY3gg6XzTLVc51wNLx/aHS5DulMzgdmKjsnWyP6IK5/yD\ncNBbru/gKGFovTQX0T8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 647,
+          "tcId" : 693,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2",
@@ -8568,20 +9657,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040040af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c7901c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQK8vTdweUnKyrtNYt3dvKPDcmW93\nL5UfJdEvn4sPPeDRwdKbY7dKlQ20dHAaNMjdgDtZTpV71qPrfpOL5FEfTHkBwBtC\nyXPVX7iZbkDuaOES5YqJLqsDLFzdbbOfssEWkuizzr273Aj7PZWip2BwBQifRSze\nuYIbWhGEAfzQKcmtJIQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040040af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c7901c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484",
         "wx" : "40af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c79",
         "wy" : "1c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040040af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c7901c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQK8vTdweUnKyrtNYt3dvKPDcmW93\nL5UfJdEvn4sPPeDRwdKbY7dKlQ20dHAaNMjdgDtZTpV71qPrfpOL5FEfTHkBwBtC\nyXPVX7iZbkDuaOES5YqJLqsDLFzdbbOfssEWkuizzr273Aj7PZWip2BwBQifRSze\nuYIbWhGEAfzQKcmtJIQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 648,
+          "tcId" : 694,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808",
@@ -8591,20 +9681,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040069e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c0177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAaeC0gduZ+JTweA+EcZ3hauxZnHZe\nulC4YVR3Bzwywmqx5OeuXR+VJROtMjIlIDtPDGWiSoNozTIsI+kgSdEhdHwBd5Ae\nN55eck9BZIf+5wd+auqB5SUMqjz/u30bInCqdUtP2uUeRDBQwzx7hCHHs8U4xJpn\nSjTiJ4x+oJ2QDPWFHc8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040069e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c0177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf",
         "wx" : "69e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c",
         "wy" : "177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040069e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c0177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAaeC0gduZ+JTweA+EcZ3hauxZnHZe\nulC4YVR3Bzwywmqx5OeuXR+VJROtMjIlIDtPDGWiSoNozTIsI+kgSdEhdHwBd5Ae\nN55eck9BZIf+5wd+auqB5SUMqjz/u30bInCqdUtP2uUeRDBQwzx7hCHHs8U4xJpn\nSjTiJ4x+oJ2QDPWFHc8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 649,
+          "tcId" : 695,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f",
@@ -8614,20 +9705,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67001c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAqcLFfxoukcTuaz0DwJI7WNDsQJ34\njk8wZbqBSL/Pf3HOsvGh6Z3IMAhLFpk0VOfhjaI8Gh53GZSR21QYrii3bGcAHJfu\ncgSTtCf9M6E8jofoQuyW5pA8yXyw9pNASYv9xvVDyoBE7KUR6ufw3VYqrBPyw/NW\n0hbEK3PdrUdW0DL2l5A=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67001c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790",
         "wx" : "0a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67",
         "wy" : "1c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67001c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAqcLFfxoukcTuaz0DwJI7WNDsQJ34\njk8wZbqBSL/Pf3HOsvGh6Z3IMAhLFpk0VOfhjaI8Gh53GZSR21QYrii3bGcAHJfu\ncgSTtCf9M6E8jofoQuyW5pA8yXyw9pNASYv9xvVDyoBE7KUR6ufw3VYqrBPyw/NW\n0hbEK3PdrUdW0DL2l5A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 650,
+          "tcId" : 696,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5",
@@ -8637,20 +9729,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a301aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB35pupag1foKeYLunEdEfhqLdKMXv\n2/lo6WRt+7DSf6i/TYHUYlXBmN9KJ+bKMVaQsepoeVKXw2Uim9aVmylktKMBqrRa\nIR6QErK8aavAWIoN6OLFkzTNOKPCId76t4n5z7Rgh5SoxRFQp4PllWoKn5ovVHze\ngtG11s9RxWZgS1C8940=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a301aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d",
         "wx" : "1df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a3",
         "wy" : "1aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a301aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB35pupag1foKeYLunEdEfhqLdKMXv\n2/lo6WRt+7DSf6i/TYHUYlXBmN9KJ+bKMVaQsepoeVKXw2Uim9aVmylktKMBqrRa\nIR6QErK8aavAWIoN6OLFkzTNOKPCId76t4n5z7Rgh5SoxRFQp4PllWoKn5ovVHze\ngtG11s9RxWZgS1C8940=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 651,
+          "tcId" : 697,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0242017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b",
@@ -8660,20 +9753,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf00134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB3zDvJuFgFToUaKXd0GsCzLFk3+Os\njH8V9o1PGQfvi+nK3GvnBaIpRCNAZwvRGG7YJtObpMIxGx33lAAaKTwCfN8AE08w\n5ENVBBAqVMNE7YAAnOG5xQksQLoy34BTk2qM2KlBrlKEUF/RrgxTAghsk6WCgw0k\nu2Rict2d0vIVBCWi1+U=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf00134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5",
         "wx" : "1df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf",
         "wy" : "134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf00134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB3zDvJuFgFToUaKXd0GsCzLFk3+Os\njH8V9o1PGQfvi+nK3GvnBaIpRCNAZwvRGG7YJtObpMIxGx33lAAaKTwCfN8AE08w\n5ENVBBAqVMNE7YAAnOG5xQksQLoy34BTk2qM2KlBrlKEUF/RrgxTAghsk6WCgw0k\nu2Rict2d0vIVBCWi1+U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 652,
+          "tcId" : 698,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "308188024200fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc024201346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f",
@@ -8683,20 +9777,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e01690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4BaQ13\nCAa96fTSdgKTq6YHYGbxdi6ESPDQhyTvMR/3WW816LapNG3mW+qSS50wu5cuOziH\ngXL5BAN4oNtHKZ6XmFY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e01690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856",
         "wx" : "1400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e",
         "wy" : "1690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e01690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4BaQ13\nCAa96fTSdgKTq6YHYGbxdi6ESPDQhyTvMR/3WW816LapNG3mW+qSS50wu5cuOziH\ngXL5BAN4oNtHKZ6XmFY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 653,
+          "tcId" : 699,
           "comment" : "point duplication during verification",
           "msg" : "54657374",
           "sig" : "30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024200a24fbd602ff7012b6b00e9aa1683b45bfa2d62dc768737e8da92cad52f069efbea526acc68096fc0ef9960c6b989bf8922aea38fd463d02c0e7c25e336f32b0874",
@@ -8708,20 +9803,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e0096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4AlvKI\n9/lCFgstif1sVFn4n5kOidF7tw8veNsQzuAIppDKF0lWy5IZpBVttGLPRGjRxMd4\nfo0G+/yHXyS41mFoZ6k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e0096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9",
         "wx" : "1400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e",
         "wy" : "096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e0096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4AlvKI\n9/lCFgstif1sVFn4n5kOidF7tw8veNsQzuAIppDKF0lWy5IZpBVttGLPRGjRxMd4\nfo0G+/yHXyS41mFoZ6k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 654,
+          "tcId" : 700,
           "comment" : "duplication bug",
           "msg" : "54657374",
           "sig" : "30818802420090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf024200a24fbd602ff7012b6b00e9aa1683b45bfa2d62dc768737e8da92cad52f069efbea526acc68096fc0ef9960c6b989bf8922aea38fd463d02c0e7c25e336f32b0874",
@@ -8733,20 +9829,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0008e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAmntS4d/wGAWBQ87xXHAqeglOgbPm\nZbUph6Swd9AMfRzDmL2+Fn0qPB7Z2v8g92iss/2WLAax/BZZOikXNAgPQMAAjkS0\nRKP2aAP/OEbyJtz3JOw85pLmesmR4GKuSg5VWhrRhJBdMjHD8FiuQMJmVHsHanyE\nINan6UqjADQq7u0cX30=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04009a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0008e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d",
         "wx" : "09a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0",
         "wy" : "08e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0008e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAmntS4d/wGAWBQ87xXHAqeglOgbPm\nZbUph6Swd9AMfRzDmL2+Fn0qPB7Z2v8g92iss/2WLAax/BZZOikXNAgPQMAAjkS0\nRKP2aAP/OEbyJtz3JOw85pLmesmR4GKuSg5VWhrRhJBdMjHD8FiuQMJmVHsHanyE\nINan6UqjADQq7u0cX30=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 655,
+          "tcId" : 701,
           "comment" : "point with x-coordinate 0",
           "msg" : "54657374",
           "sig" : "3047020101024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -8756,20 +9853,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd01efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA4m/wIAtzFFCtF7tv7xpuOHo+xBzU\n2AgjSmQnLoGcIgJmvnnFra43glRknsjMoF7JKBW4ues87FhpOqar0LoZGr0B78U2\n/3APNhHTWOGCkUcNhFRztXULdSXNNwlDL/L6h3Q6+SiUp6ZGqC/STT9uDMR6tnPW\nhjDXcL0NcksNYN5rUfY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd01efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6",
         "wx" : "0e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd",
         "wy" : "1efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd01efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA4m/wIAtzFFCtF7tv7xpuOHo+xBzU\n2AgjSmQnLoGcIgJmvnnFra43glRknsjMoF7JKBW4ues87FhpOqar0LoZGr0B78U2\n/3APNhHTWOGCkUcNhFRztXULdSXNNwlDL/L6h3Q6+SiUp6ZGqC/STT9uDMR6tnPW\nhjDXcL0NcksNYN5rUfY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 656,
+          "tcId" : 702,
           "comment" : "point with x-coordinate 0",
           "msg" : "54657374",
           "sig" : "3081870242020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401",
@@ -8779,20 +9877,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87002bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBd9QTC7D/VZfzpR9aAPkCE8HYWFOJ\ngp3tYxgJwYCmZWNkSDFCrtrTFIb/J6Kqq7DtMIiWlD3fllkOFmVFC6NMnocAK7pg\nmtiktMiU0wOzhyxPY5OeGa6R0hsag8wiYHAPjg7BmKbzjaYqbqVyHhNkpafwL2D1\n6N5TqXzhHIZm1YjLzbM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87002bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3",
         "wx" : "177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87",
         "wy" : "2bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87002bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBd9QTC7D/VZfzpR9aAPkCE8HYWFOJ\ngp3tYxgJwYCmZWNkSDFCrtrTFIb/J6Kqq7DtMIiWlD3fllkOFmVFC6NMnocAK7pg\nmtiktMiU0wOzhyxPY5OeGa6R0hsag8wiYHAPjg7BmKbzjaYqbqVyHhNkpafwL2D1\n6N5TqXzhHIZm1YjLzbM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 657,
+          "tcId" : 703,
           "comment" : "comparison with point at infinity ",
           "msg" : "54657374",
           "sig" : "308187024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401",
@@ -8802,21 +9901,22 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040058d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1018728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAWNMbnzujTzhPJHj9YNVM+mk7vFRy\nECgcAAlYnAJEuhlY8rqRrfdqKWx3Vm6OquwTK1y9VVsT7ewMDwrgYejJobEBhyiw\n3QLRMfxoBbdRaMmCo/25P+hcorUw0dg5y1NMDrwCGuNyOSajACc3tLeWwSaI12iD\nTQXiUWgYQ4o4wCO1L88=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040058d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1018728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf",
         "wx" : "58d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1",
         "wy" : "18728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040058d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1018728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAWNMbnzujTzhPJHj9YNVM+mk7vFRy\nECgcAAlYnAJEuhlY8rqRrfdqKWx3Vm6OquwTK1y9VVsT7ewMDwrgYejJobEBhyiw\n3QLRMfxoBbdRaMmCo/25P+hcorUw0dg5y1NMDrwCGuNyOSajACc3tLeWwSaI12iD\nTQXiUWgYQ4o4wCO1L88=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 658,
-          "comment" : "extreme value for k",
+          "tcId" : 704,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
           "result" : "valid",
@@ -8825,21 +9925,142 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b60077400359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAz23xyvAvkJi+UC4YepJPvozBDwQi\n3Wa/2fkVbPItgw8IS42zpO5Yj7EIuheBA6GqRapof+mzAXN5G27+3ktgB3QANZuW\n5yT+hpq7lfRUmvQOE8Zk0aAJrQIFtFTxpJVYGncOXIKqmEvSpc0tNZrfSHw5LkQQ\nSP5gwmlv+pWMgH3gl8k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040051f9819380755fab58f496a81f8465554bcf907554e911580366215296d3a6d81ba22cec986ae33010d6416bf1db3b6637f64d240b6f4b5c7ea229f87e0fcd699f01812487275e672c364712783fe4a8a53729e3fc90138afe5b869c5068cb5d4554e1a7f1d8ac9dd78fbca9acab4ea791311d66e01e048201b40d9f383d0a0b068daa",
+        "wx" : "51f9819380755fab58f496a81f8465554bcf907554e911580366215296d3a6d81ba22cec986ae33010d6416bf1db3b6637f64d240b6f4b5c7ea229f87e0fcd699f",
+        "wy" : "1812487275e672c364712783fe4a8a53729e3fc90138afe5b869c5068cb5d4554e1a7f1d8ac9dd78fbca9acab4ea791311d66e01e048201b40d9f383d0a0b068daa"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040051f9819380755fab58f496a81f8465554bcf907554e911580366215296d3a6d81ba22cec986ae33010d6416bf1db3b6637f64d240b6f4b5c7ea229f87e0fcd699f01812487275e672c364712783fe4a8a53729e3fc90138afe5b869c5068cb5d4554e1a7f1d8ac9dd78fbca9acab4ea791311d66e01e048201b40d9f383d0a0b068daa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAUfmBk4B1X6tY9JaoH4RlVUvPkHVU\n6RFYA2YhUpbTptgboizsmGrjMBDWQWvx2ztmN/ZNJAtvS1x+oin4fg/NaZ8BgSSH\nJ15nLDZHEng/5KilNynj/JATiv5bhpxQaMtdRVThp/HYrJ3Xj7yprKtOp5ExHWbg\nHgSCAbQNnzg9CgsGjao=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 705,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401fca5b6da4b965f2c88b14f7a5844ce6f8276d2f5d03739db266c4f5d85fc9b3719be453ac8004f027f714cf07ac1b27c7b2a1ef92705d2a57bbdebf521647615b601a8dabcdbbf3510a509244dcd9af272abc560b30d874e92ad52c52ba64b19325b250e15e7eb5b04a190eb658e0cf663f0265c05bf4ab8eb960a7084c514250de790",
+        "wx" : "1fca5b6da4b965f2c88b14f7a5844ce6f8276d2f5d03739db266c4f5d85fc9b3719be453ac8004f027f714cf07ac1b27c7b2a1ef92705d2a57bbdebf521647615b6",
+        "wy" : "1a8dabcdbbf3510a509244dcd9af272abc560b30d874e92ad52c52ba64b19325b250e15e7eb5b04a190eb658e0cf663f0265c05bf4ab8eb960a7084c514250de790"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fca5b6da4b965f2c88b14f7a5844ce6f8276d2f5d03739db266c4f5d85fc9b3719be453ac8004f027f714cf07ac1b27c7b2a1ef92705d2a57bbdebf521647615b601a8dabcdbbf3510a509244dcd9af272abc560b30d874e92ad52c52ba64b19325b250e15e7eb5b04a190eb658e0cf663f0265c05bf4ab8eb960a7084c514250de790",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/KW22kuWXyyIsU96WETOb4J20vXQ\nNznbJmxPXYX8mzcZvkU6yABPAn9xTPB6wbJ8eyoe+ScF0qV7vev1IWR2FbYBqNq8\n2781EKUJJE3NmvJyq8Vgsw2HTpKtUsUrpksZMlslDhXn61sEoZDrZY4M9mPwJlwF\nv0q465YKcITFFCUN55A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 706,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04004c8643e546a71b93185ca583ae5098c1e6c0b0d33fc2d618870f9438b1c595dbc8920084565f0074dafaca78bac2558ca623c251f6d530328c2734a0413821dfe5001d8ac0a7251b82046f9cf2ce679e12770f8681a43f0e27e553680fc5234295ac24212a25c857e152350676e4e52ca3044181b67110ce0129fa0bdc15a4d5a70e8e",
+        "wx" : "4c8643e546a71b93185ca583ae5098c1e6c0b0d33fc2d618870f9438b1c595dbc8920084565f0074dafaca78bac2558ca623c251f6d530328c2734a0413821dfe5",
+        "wy" : "1d8ac0a7251b82046f9cf2ce679e12770f8681a43f0e27e553680fc5234295ac24212a25c857e152350676e4e52ca3044181b67110ce0129fa0bdc15a4d5a70e8e"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004004c8643e546a71b93185ca583ae5098c1e6c0b0d33fc2d618870f9438b1c595dbc8920084565f0074dafaca78bac2558ca623c251f6d530328c2734a0413821dfe5001d8ac0a7251b82046f9cf2ce679e12770f8681a43f0e27e553680fc5234295ac24212a25c857e152350676e4e52ca3044181b67110ce0129fa0bdc15a4d5a70e8e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQATIZD5UanG5MYXKWDrlCYwebAsNM/\nwtYYhw+UOLHFldvIkgCEVl8AdNr6yni6wlWMpiPCUfbVMDKMJzSgQTgh3+UAHYrA\npyUbggRvnPLOZ54Sdw+GgaQ/DiflU2gPxSNClawkISolyFfhUjUGduTlLKMEQYG2\ncRDOASn6C9wVpNWnDo4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 707,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400a6597c76956046fcd03c444e9a4e13b9fb751ac91fb4fcba5fd33aff61f3305fa7b831e5227a5c0470e5e1fde4a25e539fc23773bb3a2cf41eee0fc678d050705a01f6f5ae4a3b994473679074f6ee6579c5005e6fd860cd4dd29e07d4475823af6be8af5d414bba47b42e601b97660d10a662e37b5180e8e69b33c5f7d798da18be49",
+        "wx" : "0a6597c76956046fcd03c444e9a4e13b9fb751ac91fb4fcba5fd33aff61f3305fa7b831e5227a5c0470e5e1fde4a25e539fc23773bb3a2cf41eee0fc678d050705a",
+        "wy" : "1f6f5ae4a3b994473679074f6ee6579c5005e6fd860cd4dd29e07d4475823af6be8af5d414bba47b42e601b97660d10a662e37b5180e8e69b33c5f7d798da18be49"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a6597c76956046fcd03c444e9a4e13b9fb751ac91fb4fcba5fd33aff61f3305fa7b831e5227a5c0470e5e1fde4a25e539fc23773bb3a2cf41eee0fc678d050705a01f6f5ae4a3b994473679074f6ee6579c5005e6fd860cd4dd29e07d4475823af6be8af5d414bba47b42e601b97660d10a662e37b5180e8e69b33c5f7d798da18be49",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQApll8dpVgRvzQPEROmk4Tuft1Gskf\ntPy6X9M6/2HzMF+nuDHlInpcBHDl4f3kol5Tn8I3c7s6LPQe7g/GeNBQcFoB9vWu\nSjuZRHNnkHT27mV5xQBeb9hgzU3SngfUR1gjr2vor11BS7pHtC5gG5dmDRCmYuN7\nUYDo5pszxffXmNoYvkk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 708,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "3081870241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401a72fa046b1157567b9913a8a61107fb4dd0e12b2b406ef219b767f93130f39d54998745c51d1aff51b68d78d34418d6128bf93ccdbe15f6476824e0b311bd267ad00f3e4d71961055a4c1763fc1eefa0800f84ac7c7bbc4fd8ed773b79b70a99e01d1a6c00965ee1ff6665093aa423f9d304792af7a4f4141c3a2a5d900524954a95d4",
+        "wx" : "1a72fa046b1157567b9913a8a61107fb4dd0e12b2b406ef219b767f93130f39d54998745c51d1aff51b68d78d34418d6128bf93ccdbe15f6476824e0b311bd267ad",
+        "wy" : "0f3e4d71961055a4c1763fc1eefa0800f84ac7c7bbc4fd8ed773b79b70a99e01d1a6c00965ee1ff6665093aa423f9d304792af7a4f4141c3a2a5d900524954a95d4"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401a72fa046b1157567b9913a8a61107fb4dd0e12b2b406ef219b767f93130f39d54998745c51d1aff51b68d78d34418d6128bf93ccdbe15f6476824e0b311bd267ad00f3e4d71961055a4c1763fc1eefa0800f84ac7c7bbc4fd8ed773b79b70a99e01d1a6c00965ee1ff6665093aa423f9d304792af7a4f4141c3a2a5d900524954a95d4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBpy+gRrEVdWe5kTqKYRB/tN0OErK0\nBu8hm3Z/kxMPOdVJmHRcUdGv9Rto1400QY1hKL+TzNvhX2R2gk4LMRvSZ60A8+TX\nGWEFWkwXY/we76CAD4SsfHu8T9jtdzt5twqZ4B0abACWXuH/ZmUJOqQj+dMEeSr3\npPQUHDoqXZAFJJVKldQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 709,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "3081860241433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d02410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b60077400359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9",
         "wx" : "0cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b600774",
         "wy" : "359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b60077400359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAz23xyvAvkJi+UC4YepJPvozBDwQi\n3Wa/2fkVbPItgw8IS42zpO5Yj7EIuheBA6GqRapof+mzAXN5G27+3ktgB3QANZuW\n5yT+hpq7lfRUmvQOE8Zk0aAJrQIFtFTxpJVYGncOXIKqmEvSpc0tNZrfSHw5LkQQ\nSP5gwmlv+pWMgH3gl8k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 659,
-          "comment" : "extreme value for k",
+          "tcId" : 710,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
           "result" : "valid",
@@ -8848,20 +10069,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04006f839c4f23ef040b3a9991d47c9c4def6fdb0ecf6fc3b8295d07729beb37505cb4e9b10d68972f03b6ef5d669603c1515e26cdf3a7ff5d34cd4f70e7ad4b94a27b0054df97785db8216d9a5e21118bc6cca9597d89c66db1df90c9c8303a49001ab854fd39d3c18f2eb3736a0827a751011870c1db6a0013bdbf6175c2fbfe27d91fe5",
+        "wx" : "6f839c4f23ef040b3a9991d47c9c4def6fdb0ecf6fc3b8295d07729beb37505cb4e9b10d68972f03b6ef5d669603c1515e26cdf3a7ff5d34cd4f70e7ad4b94a27b",
+        "wy" : "54df97785db8216d9a5e21118bc6cca9597d89c66db1df90c9c8303a49001ab854fd39d3c18f2eb3736a0827a751011870c1db6a0013bdbf6175c2fbfe27d91fe5"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004006f839c4f23ef040b3a9991d47c9c4def6fdb0ecf6fc3b8295d07729beb37505cb4e9b10d68972f03b6ef5d669603c1515e26cdf3a7ff5d34cd4f70e7ad4b94a27b0054df97785db8216d9a5e21118bc6cca9597d89c66db1df90c9c8303a49001ab854fd39d3c18f2eb3736a0827a751011870c1db6a0013bdbf6175c2fbfe27d91fe5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAb4OcTyPvBAs6mZHUfJxN72/bDs9v\nw7gpXQdym+s3UFy06bENaJcvA7bvXWaWA8FRXibN86f/XTTNT3DnrUuUonsAVN+X\neF24IW2aXiERi8bMqVl9icZtsd+QycgwOkkAGrhU/TnTwY8us3NqCCenUQEYcMHb\nagATvb9hdcL7/ifZH+U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 711,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040150246dd427cacce66e6de57a8cc0dfe249969f3fcf4ed64de341339eb90331db1f05475292ce9c29916da65ceab6e67ef2dce13b1e17b8d1a2de7ffc1504f3fd9d019287f09186d2a7efd6c4bc5690429dc31a17ddea53d4aa662a58aa11feb40801dc9c750c187d4351f5990cdd1671ab9097baac0512b8ca37f557fecbf590fafd6a",
+        "wx" : "150246dd427cacce66e6de57a8cc0dfe249969f3fcf4ed64de341339eb90331db1f05475292ce9c29916da65ceab6e67ef2dce13b1e17b8d1a2de7ffc1504f3fd9d",
+        "wy" : "19287f09186d2a7efd6c4bc5690429dc31a17ddea53d4aa662a58aa11feb40801dc9c750c187d4351f5990cdd1671ab9097baac0512b8ca37f557fecbf590fafd6a"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040150246dd427cacce66e6de57a8cc0dfe249969f3fcf4ed64de341339eb90331db1f05475292ce9c29916da65ceab6e67ef2dce13b1e17b8d1a2de7ffc1504f3fd9d019287f09186d2a7efd6c4bc5690429dc31a17ddea53d4aa662a58aa11feb40801dc9c750c187d4351f5990cdd1671ab9097baac0512b8ca37f557fecbf590fafd6a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBUCRt1CfKzOZubeV6jMDf4kmWnz/P\nTtZN40EznrkDMdsfBUdSks6cKZFtplzqtuZ+8tzhOx4XuNGi3n/8FQTz/Z0Bkofw\nkYbSp+/WxLxWkEKdwxoX3epT1KpmKliqEf60CAHcnHUMGH1DUfWZDN0WcauQl7qs\nBRK4yjf1V/7L9ZD6/Wo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 712,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660242019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400d42b271445241e4e5136cf8e5b706ed4403234cca54821737169e9a60dec54745f1dc077c5ed9d60c2f572c5e5749f4f4431952561c2a30d9ac312fbc3e5dc9dca0179b7a63b67b345aa865db14d9147b36094a12164263e588e20996ad814b2f1ffd9681720305b3b03f6b948db03a7d89af2eff7dbdea0c411940ed80cce6d9b34c6",
+        "wx" : "0d42b271445241e4e5136cf8e5b706ed4403234cca54821737169e9a60dec54745f1dc077c5ed9d60c2f572c5e5749f4f4431952561c2a30d9ac312fbc3e5dc9dca",
+        "wy" : "179b7a63b67b345aa865db14d9147b36094a12164263e588e20996ad814b2f1ffd9681720305b3b03f6b948db03a7d89af2eff7dbdea0c411940ed80cce6d9b34c6"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d42b271445241e4e5136cf8e5b706ed4403234cca54821737169e9a60dec54745f1dc077c5ed9d60c2f572c5e5749f4f4431952561c2a30d9ac312fbc3e5dc9dca0179b7a63b67b345aa865db14d9147b36094a12164263e588e20996ad814b2f1ffd9681720305b3b03f6b948db03a7d89af2eff7dbdea0c411940ed80cce6d9b34c6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA1CsnFEUkHk5RNs+OW3Bu1EAyNMyl\nSCFzcWnppg3sVHRfHcB3xe2dYML1csXldJ9PRDGVJWHCow2awxL7w+XcncoBebem\nO2ezRaqGXbFNkUezYJShIWQmPliOIJlq2BSy8f/ZaBcgMFs7A/a5SNsDp9ia8u/3\n296gxBGUDtgMzm2bNMY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 713,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024166666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040070780ea3c2e73b2400f44f48a393b6c9019cfa788aa5e3d272ecbec9dc0dbcb35187d9575e1f5f15baf22f502e3ca9287c5224f587fbaf1d8894a1c33bd6d12aa6000e0bcd718484ed9f4da4d77a97f6b5a42ff82c0f25d3241ab0b2a1de2419bee04545ea159d8e564ec3bb91267cec492bfb9bfcaba8fda4e88051fcafc98a3f5336",
+        "wx" : "70780ea3c2e73b2400f44f48a393b6c9019cfa788aa5e3d272ecbec9dc0dbcb35187d9575e1f5f15baf22f502e3ca9287c5224f587fbaf1d8894a1c33bd6d12aa6",
+        "wy" : "0e0bcd718484ed9f4da4d77a97f6b5a42ff82c0f25d3241ab0b2a1de2419bee04545ea159d8e564ec3bb91267cec492bfb9bfcaba8fda4e88051fcafc98a3f5336"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040070780ea3c2e73b2400f44f48a393b6c9019cfa788aa5e3d272ecbec9dc0dbcb35187d9575e1f5f15baf22f502e3ca9287c5224f587fbaf1d8894a1c33bd6d12aa6000e0bcd718484ed9f4da4d77a97f6b5a42ff82c0f25d3241ab0b2a1de2419bee04545ea159d8e564ec3bb91267cec492bfb9bfcaba8fda4e88051fcafc98a3f5336",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAcHgOo8LnOyQA9E9Io5O2yQGc+niK\npePScuy+ydwNvLNRh9lXXh9fFbryL1AuPKkofFIk9Yf7rx2IlKHDO9bRKqYADgvN\ncYSE7Z9NpNd6l/a1pC/4LA8l0yQasLKh3iQZvuBFReoVnY5WTsO7kSZ87Ekr+5v8\nq6j9pOiAUfyvyYo/UzY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 714,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "308188024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66024201b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401f988e92791f14ddbff35eab1dddd36f3167b514e95c70dfe6e616a77a0064721f8aef871d4c482524e5647ff20204fa4dafaeaa80dd3b7d99007e592ae5b589916003a9299ba5dfb5991c94e880ff6c614958ceee55e2ce5b22c0bfb0eb43759b4848ce007482e7421aef5c8da000ba224acb4dbbf73498d73705c06b67f267e5a8a10",
+        "wx" : "1f988e92791f14ddbff35eab1dddd36f3167b514e95c70dfe6e616a77a0064721f8aef871d4c482524e5647ff20204fa4dafaeaa80dd3b7d99007e592ae5b589916",
+        "wy" : "3a9299ba5dfb5991c94e880ff6c614958ceee55e2ce5b22c0bfb0eb43759b4848ce007482e7421aef5c8da000ba224acb4dbbf73498d73705c06b67f267e5a8a10"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401f988e92791f14ddbff35eab1dddd36f3167b514e95c70dfe6e616a77a0064721f8aef871d4c482524e5647ff20204fa4dafaeaa80dd3b7d99007e592ae5b589916003a9299ba5dfb5991c94e880ff6c614958ceee55e2ce5b22c0bfb0eb43759b4848ce007482e7421aef5c8da000ba224acb4dbbf73498d73705c06b67f267e5a8a10",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB+YjpJ5HxTdv/Neqx3d028xZ7UU6V\nxw3+bmFqd6AGRyH4rvhx1MSCUk5WR/8gIE+k2vrqqA3Tt9mQB+WSrltYmRYAOpKZ\nul37WZHJTogP9sYUlYzu5V4s5bIsC/sOtDdZtISM4AdILnQhrvXI2gALoiSstNu/\nc0mNc3BcBrZ/Jn5aihA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 715,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "308187024200c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6602410eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
+        "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
+        "wy" : "11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"
+      },
       "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYBGDkp\naniaO8AEXIpftCx9G9mY9URJV5tEaBevvRcnPmYsl+5ymV70JkDFULkBP60HYTU8\ncIaicsJAiL6Udp/RZlA=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp521r1",
-        "keySize" : 521,
-        "type" : "ECPublicKey",
-        "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
-        "wy" : "11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"
-      },
       "tests" : [
         {
-          "tcId" : 660,
+          "tcId" : 716,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "308186024100c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a310241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -8869,7 +10211,7 @@
           "flags" : []
         },
         {
-          "tcId" : 661,
+          "tcId" : 717,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "308187024201ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d80241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -8879,20 +10221,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af",
+        "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
+        "wy" : "0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af"
+      },
       "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYA58bW\nlYdlxD/7o3WgS9OC5CZnCru2qGS7l+hQQujYwZnTaBGNZqEL2b86r0b+wFL4nsrD\nj3ldjT2/d0FriWAuma8=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp521r1",
-        "keySize" : 521,
-        "type" : "ECPublicKey",
-        "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
-        "wy" : "0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af"
-      },
       "tests" : [
         {
-          "tcId" : 662,
+          "tcId" : 718,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "308186024100c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a310241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -8900,7 +10243,7 @@
           "flags" : []
         },
         {
-          "tcId" : 663,
+          "tcId" : 719,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "308187024201ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d80241492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -8910,20 +10253,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004873b01c3fbd1852fb7029e571eb0b6ee7a2cd85cdc3350332baf15b19b7892cd827fd418154a8436a2dbcff0ffde24cd1436e08161a7c9c1abf936c533bf2296",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIc7AcP70YUvtwKeVx6wtu56LNhc\n3DNQMyuvFbGbeJLNgn/UGBVKhDai28/w/94kzRQ24IFhp8nBq/k2xTO/IpY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04873b01c3fbd1852fb7029e571eb0b6ee7a2cd85cdc3350332baf15b19b7892cd827fd418154a8436a2dbcff0ffde24cd1436e08161a7c9c1abf936c533bf2296",
         "wx" : "0873b01c3fbd1852fb7029e571eb0b6ee7a2cd85cdc3350332baf15b19b7892cd",
         "wy" : "0827fd418154a8436a2dbcff0ffde24cd1436e08161a7c9c1abf936c533bf2296"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004873b01c3fbd1852fb7029e571eb0b6ee7a2cd85cdc3350332baf15b19b7892cd827fd418154a8436a2dbcff0ffde24cd1436e08161a7c9c1abf936c533bf2296",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIc7AcP70YUvtwKeVx6wtu56LNhc\n3DNQMyuvFbGbeJLNgn/UGBVKhDai28/w/94kzRQ24IFhp8nBq/k2xTO/IpY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 664,
+          "tcId" : 720,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "54657374",
           "sig" : "3036021100e2027b801fc479308ff5399a8825fccf022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
@@ -8931,7 +10275,7 @@
           "flags" : []
         },
         {
-          "tcId" : 665,
+          "tcId" : 721,
           "comment" : "r too large",
           "msg" : "54657374",
           "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5376022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
@@ -8941,20 +10285,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040654f94b4ee20794db95a64f56fc4d823118c8a2df77c25dc49ab6172a43a5cb3e43eec1ceab77f227a84fc0a185ee368817419900117724edd476fc17ce0c99",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAZU+UtO4geU25WmT1b8TYIxGMii\n33fCXcSathcqQ6XLPkPuwc6rd/InqE/AoYXuNogXQZkAEXck7dR2/BfODJk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040654f94b4ee20794db95a64f56fc4d823118c8a2df77c25dc49ab6172a43a5cb3e43eec1ceab77f227a84fc0a185ee368817419900117724edd476fc17ce0c99",
         "wx" : "654f94b4ee20794db95a64f56fc4d823118c8a2df77c25dc49ab6172a43a5cb",
         "wy" : "3e43eec1ceab77f227a84fc0a185ee368817419900117724edd476fc17ce0c99"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040654f94b4ee20794db95a64f56fc4d823118c8a2df77c25dc49ab6172a43a5cb3e43eec1ceab77f227a84fc0a185ee368817419900117724edd476fc17ce0c99",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAZU+UtO4geU25WmT1b8TYIxGMii\n33fCXcSathcqQ6XLPkPuwc6rd/InqE/AoYXuNogXQZkAEXck7dR2/BfODJk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 666,
+          "tcId" : 722,
           "comment" : "r,s are large",
           "msg" : "54657374",
           "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a3022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a2",
@@ -8964,1234 +10309,18 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040bdcb6c8fd1409184869e266c97a59982d9c360114c1ec5fd5402bc638fcb27e055132e5ac1221bc4fc89161d2d56e113880292e4a3d4d9e43979bb66e5dc819",
+        "wx" : "0bdcb6c8fd1409184869e266c97a59982d9c360114c1ec5fd5402bc638fcb27e",
+        "wy" : "55132e5ac1221bc4fc89161d2d56e113880292e4a3d4d9e43979bb66e5dc819"
+      },
       "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040bdcb6c8fd1409184869e266c97a59982d9c360114c1ec5fd5402bc638fcb27e055132e5ac1221bc4fc89161d2d56e113880292e4a3d4d9e43979bb66e5dc819",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAvctsj9FAkYSGniZsl6WZgtnDYB\nFMHsX9VAK8Y4/LJ+BVEy5awSIbxPyJFh0tVuETiAKS5KPU2eQ5ebtm5dyBk=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0bdcb6c8fd1409184869e266c97a59982d9c360114c1ec5fd5402bc638fcb27e",
-        "wy" : "55132e5ac1221bc4fc89161d2d56e113880292e4a3d4d9e43979bb66e5dc819"
-      },
-      "tests" : [
-        {
-          "tcId" : 667,
-          "comment" : "r and s^-1 have a large Hamming weight",
-          "msg" : "54657374",
-          "sig" : "304402207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02204ab8de0a51481bc45794b924518f2dd6ac5cce31f3228d624c5a896f79a2d6a2",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004656bd0903ccbd335f66090d6ed2ed1a9a6056142c5ccc55c38838a7f3847a4845ae6dc9d86de0b6f330344d9ed1683b6ec92184d8caf0c7837b1a8724125d7c9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGVr0JA8y9M19mCQ1u0u0ammBWFC\nxczFXDiDin84R6SEWubcnYbeC28zA0TZ7RaDtuySGE2Mrwx4N7GockEl18k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "656bd0903ccbd335f66090d6ed2ed1a9a6056142c5ccc55c38838a7f3847a484",
-        "wy" : "5ae6dc9d86de0b6f330344d9ed1683b6ec92184d8caf0c7837b1a8724125d7c9"
-      },
-      "tests" : [
-        {
-          "tcId" : 668,
-          "comment" : "r and s^-1 have a large Hamming weight",
-          "msg" : "54657374",
-          "sig" : "304502207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0221008b1b5f89f5bb74caa42d36e601a9f3c20b4e6c91ceb98a52fbfa9f81781b8a17",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043794534eb2f575d7948fb331553b33aeaf395f66193c6f9eabd5e1b2a30b230c9afb63cb41720f4e915b630d4b088fb4fcea4d0849f3cc023a6ca59357f85c36",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDeUU06y9XXXlI+zMVU7M66vOV9m\nGTxvnqvV4bKjCyMMmvtjy0FyD06RW2MNSwiPtPzqTQhJ88wCOmylk1f4XDY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "3794534eb2f575d7948fb331553b33aeaf395f66193c6f9eabd5e1b2a30b230c",
-        "wy" : "09afb63cb41720f4e915b630d4b088fb4fcea4d0849f3cc023a6ca59357f85c36"
-      },
-      "tests" : [
-        {
-          "tcId" : 669,
-          "comment" : "small r and s",
-          "msg" : "54657374",
-          "sig" : "3006020101020101",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004380ec87cfe9da69e438357d9f68ed7ba59d43b164b1cb7ebdb5a8ba25ffb2abf832f8efce46b1c8a5ac4b4c39657432e0bfcf71bfccb08e236620f444148665c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDgOyHz+naaeQ4NX2faO17pZ1DsW\nSxy369tai6Jf+yq/gy+O/ORrHIpaxLTDlldDLgv89xv8ywjiNmIPREFIZlw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "380ec87cfe9da69e438357d9f68ed7ba59d43b164b1cb7ebdb5a8ba25ffb2abf",
-        "wy" : "0832f8efce46b1c8a5ac4b4c39657432e0bfcf71bfccb08e236620f444148665c"
-      },
-      "tests" : [
-        {
-          "tcId" : 670,
-          "comment" : "small r and s",
-          "msg" : "54657374",
-          "sig" : "3006020101020102",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041b93505886094d6e1df0393000b41d097906fdf03435e771082ddb6e7d53b347285ecd2cb254f514c566b3cfffc50db03f259155be368fe713e8a833a747f981",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBuTUFiGCU1uHfA5MAC0HQl5Bv3w\nNDXncQgt2259U7NHKF7NLLJU9RTFZrPP/8UNsD8lkVW+No/nE+ioM6dH+YE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "1b93505886094d6e1df0393000b41d097906fdf03435e771082ddb6e7d53b347",
-        "wy" : "285ecd2cb254f514c566b3cfffc50db03f259155be368fe713e8a833a747f981"
-      },
-      "tests" : [
-        {
-          "tcId" : 671,
-          "comment" : "small r and s",
-          "msg" : "54657374",
-          "sig" : "3006020101020103",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 672,
-          "comment" : "r is larger than n",
-          "msg" : "54657374",
-          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020103",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000403d1c0ee4010a27b1faddcdf256d0b6eb2a5bcc256e685d379f5ba20e93919f4658be2a06d5eb3205c2dbdb67d55413913b51d794c59e91d3e5b783d535ef5bc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAPRwO5AEKJ7H63c3yVtC26ypbzC\nVuaF03n1uiDpORn0ZYvioG1esyBcLb22fVVBORO1HXlMWekdPlt4PVNe9bw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "3d1c0ee4010a27b1faddcdf256d0b6eb2a5bcc256e685d379f5ba20e93919f4",
-        "wy" : "658be2a06d5eb3205c2dbdb67d55413913b51d794c59e91d3e5b783d535ef5bc"
-      },
-      "tests" : [
-        {
-          "tcId" : 673,
-          "comment" : "s is larger than n",
-          "msg" : "54657374",
-          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82975b2d2e",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004677ccca257fb6730e744de5013bf98ea8003e320b8ca70888a351aa7b0f8906f54ca266a5267503e1aa90c74a67006bff1a8461ce9526bf266b02b39448a0219",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGd8zKJX+2cw50TeUBO/mOqAA+Mg\nuMpwiIo1Gqew+JBvVMomalJnUD4aqQx0pnAGv/GoRhzpUmvyZrArOUSKAhk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "677ccca257fb6730e744de5013bf98ea8003e320b8ca70888a351aa7b0f8906f",
-        "wy" : "54ca266a5267503e1aa90c74a67006bff1a8461ce9526bf266b02b39448a0219"
-      },
-      "tests" : [
-        {
-          "tcId" : 674,
-          "comment" : "small r and s^-1",
-          "msg" : "54657374",
-          "sig" : "30260202010102202827370584fdeb9f5d5a9fb9579a09390efb6f9d99b64fc188d8bce05c2d4eed",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000499a4b3ffdda680963d6a6f29d95eb6c1c653655437e028b92d8fa90b6e31649c28cbae0a35de3ad10e462c6854e95dfb5dfde9cb0575075c204ccf2edddbf725",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJmks//dpoCWPWpvKdletsHGU2VU\nN+AouS2PqQtuMWScKMuuCjXeOtEORixoVOld+1396csFdQdcIEzPLt3b9yU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "099a4b3ffdda680963d6a6f29d95eb6c1c653655437e028b92d8fa90b6e31649c",
-        "wy" : "28cbae0a35de3ad10e462c6854e95dfb5dfde9cb0575075c204ccf2edddbf725"
-      },
-      "tests" : [
-        {
-          "tcId" : 675,
-          "comment" : "smallish r and s^-1",
-          "msg" : "54657374",
-          "sig" : "302b02072d9b4d347952ce02204937a087731df4febc2c3a81ddfbab5dc3af950817f41b590d156ed409ad2869",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000463aeb7a8c99b569922290cfaf225e135c3110261987605d22edf37a3c6672d341acabe5a64f0c9ba20c665381ad24d275347ab6f54fb992d0d3f436c19d05cee",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGOut6jJm1aZIikM+vIl4TXDEQJh\nmHYF0i7fN6PGZy00Gsq+WmTwybogxmU4GtJNJ1NHq29U+5ktDT9DbBnQXO4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "63aeb7a8c99b569922290cfaf225e135c3110261987605d22edf37a3c6672d34",
-        "wy" : "1acabe5a64f0c9ba20c665381ad24d275347ab6f54fb992d0d3f436c19d05cee"
-      },
-      "tests" : [
-        {
-          "tcId" : 676,
-          "comment" : "100-bit r and small s^-1",
-          "msg" : "54657374",
-          "sig" : "3032020d1033e67e37b32b445580bf4efb02210091827d03bb6dac31940ba56ed88489048ff173f0bf20cab20dcc086fca37f285",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048e2fdf5606030d4c02117b6642699cd10b9f791bafa6952a6635939aa577ff3a350cd8e98725756cd384937e0599f38ee7cc16e85474c9bc6d6bbcb4a6ae3a82",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABI4v31YGAw1MAhF7ZkJpnNELn3kb\nr6aVKmY1k5qld/86NQzY6YcldWzThJN+BZnzjufMFuhUdMm8bWu8tKauOoI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "08e2fdf5606030d4c02117b6642699cd10b9f791bafa6952a6635939aa577ff3a",
-        "wy" : "350cd8e98725756cd384937e0599f38ee7cc16e85474c9bc6d6bbcb4a6ae3a82"
-      },
-      "tests" : [
-        {
-          "tcId" : 677,
-          "comment" : "small r and 100 bit s^-1",
-          "msg" : "54657374",
-          "sig" : "30260202010102203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048854b415e4e34bb3e19a1c4bda67260f0518c320696b6e6393b3c7823d8a30a70e594403225c63da5138eb9067e86f638d91793b6410688c34cdf6c8d2ac601a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIhUtBXk40uz4ZocS9pnJg8FGMMg\naWtuY5Ozx4I9ijCnDllEAyJcY9pROOuQZ+hvY42ReTtkEGiMNM32yNKsYBo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "08854b415e4e34bb3e19a1c4bda67260f0518c320696b6e6393b3c7823d8a30a7",
-        "wy" : "0e594403225c63da5138eb9067e86f638d91793b6410688c34cdf6c8d2ac601a"
-      },
-      "tests" : [
-        {
-          "tcId" : 678,
-          "comment" : "100-bit r and s^-1",
-          "msg" : "54657374",
-          "sig" : "3031020d062522bbd3ecbe7c39e93e7c2502203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004595f3befe9ac34763eb99d6a95f8b45a94084406f165ea5781ccd39d923b61232508badaf61ae9c37742f03b8fbf48413ef9c512cfa63a299c1bea7d6a7cc583",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFlfO+/prDR2PrmdapX4tFqUCEQG\n8WXqV4HM052SO2EjJQi62vYa6cN3QvA7j79IQT75xRLPpjopnBvqfWp8xYM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "595f3befe9ac34763eb99d6a95f8b45a94084406f165ea5781ccd39d923b6123",
-        "wy" : "2508badaf61ae9c37742f03b8fbf48413ef9c512cfa63a299c1bea7d6a7cc583"
-      },
-      "tests" : [
-        {
-          "tcId" : 679,
-          "comment" : "r and s^-1 are close to n",
-          "msg" : "54657374",
-          "sig" : "3045022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485628022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040f4c30d0099f1d1ce785714707f10172c0881cd1aec5daf4f849462688248fa00be78142c4538617830dcd2ef814cbe33c7dcf5cf6fb95217f7a76d118e029ed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA9MMNAJnx0c54VxRwfxAXLAiBzR\nrsXa9PhJRiaIJI+gC+eBQsRThheDDc0u+BTL4zx9z1z2+5Uhf3p20RjgKe0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0f4c30d0099f1d1ce785714707f10172c0881cd1aec5daf4f849462688248fa0",
-        "wy" : "0be78142c4538617830dcd2ef814cbe33c7dcf5cf6fb95217f7a76d118e029ed"
-      },
-      "tests" : [
-        {
-          "tcId" : 680,
-          "comment" : "s == 1",
-          "msg" : "54657374",
-          "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2020101",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 681,
-          "comment" : "s == 0",
-          "msg" : "54657374",
-          "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2020100",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045866d53f9e14bb54784136192419568c060f30d7dfd771f5a3e4d6a0e8c2597c43a773b94d7d0a706b9ba3488389705e29d6809f93a92fa69786657364129202",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFhm1T+eFLtUeEE2GSQZVowGDzDX\n39dx9aPk1qDowll8Q6dzuU19CnBrm6NIg4lwXinWgJ+TqS+ml4Zlc2QSkgI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "5866d53f9e14bb54784136192419568c060f30d7dfd771f5a3e4d6a0e8c2597c",
-        "wy" : "43a773b94d7d0a706b9ba3488389705e29d6809f93a92fa69786657364129202"
-      },
-      "tests" : [
-        {
-          "tcId" : 682,
-          "comment" : "point at infinity during verify",
-          "msg" : "54657374",
-          "sig" : "3044022054fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b53022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a60f67988936eb09516548355a6731e04c62f2fb5be99668a819d3f1edcfe8ac691ec942aaa90570c5a61c3bdb6c01085829e63b87ecb5e80fa9d305b1f3e151",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKYPZ5iJNusJUWVINVpnMeBMYvL7\nW+mWaKgZ0/Htz+isaR7JQqqpBXDFphw722wBCFgp5juH7LXoD6nTBbHz4VE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0a60f67988936eb09516548355a6731e04c62f2fb5be99668a819d3f1edcfe8ac",
-        "wy" : "691ec942aaa90570c5a61c3bdb6c01085829e63b87ecb5e80fa9d305b1f3e151"
-      },
-      "tests" : [
-        {
-          "tcId" : 683,
-          "comment" : "u1 == 1",
-          "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce20220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a68baf3367bc5d28f24eaa740ccb4f115f02e8e0d86d389d2f0679d522a21f3b57d331289faf2dc50f95d4e2cbfa7ace61c1fbbe73c628d78e78f1ed57e982e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKaLrzNnvF0o8k6qdAzLTxFfAujg\n2G04nS8GedUioh87V9MxKJ+vLcUPldTiy/p6zmHB+75zxijXjnjx7VfpguU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0a68baf3367bc5d28f24eaa740ccb4f115f02e8e0d86d389d2f0679d522a21f3b",
-        "wy" : "57d331289faf2dc50f95d4e2cbfa7ace61c1fbbe73c628d78e78f1ed57e982e5"
-      },
-      "tests" : [
-        {
-          "tcId" : 684,
-          "comment" : "u1 == n - 1",
-          "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040fd5ca9814b5dd0bb7dde76609785bc61ed9490ffff8e67d4d8cb67de0982ddda61b90df51db44af8adbbfd524b7eb3dd1eb652d13dd0a2e17049bed1ad20b23",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA/VypgUtd0Lt93nZgl4W8Ye2UkP\n//jmfU2Mtn3gmC3dphuQ31HbRK+K27/VJLfrPdHrZS0T3QouFwSb7RrSCyM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0fd5ca9814b5dd0bb7dde76609785bc61ed9490ffff8e67d4d8cb67de0982ddd",
-        "wy" : "0a61b90df51db44af8adbbfd524b7eb3dd1eb652d13dd0a2e17049bed1ad20b23"
-      },
-      "tests" : [
-        {
-          "tcId" : 685,
-          "comment" : "u2 == 1",
-          "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047289e13555ea568fe89151d61e5c072f4b35897600ae7bf9e2b2aa0e5fb3f0f33e3148ae84ca2d0bf8c771bf330be074b3524d7bf0d2bea2f5ae3ec101cca105",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHKJ4TVV6laP6JFR1h5cBy9LNYl2\nAK57+eKyqg5fs/DzPjFIroTKLQv4x3G/MwvgdLNSTXvw0r6i9a4+wQHMoQU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "7289e13555ea568fe89151d61e5c072f4b35897600ae7bf9e2b2aa0e5fb3f0f3",
-        "wy" : "3e3148ae84ca2d0bf8c771bf330be074b3524d7bf0d2bea2f5ae3ec101cca105"
-      },
-      "tests" : [
-        {
-          "tcId" : 686,
-          "comment" : "u2 == n - 1",
-          "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022071523a926bf4712829995c6069025e4bb2d0fc6d23966f4fb5695f01ba3039c5",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040e5c985b558157eb8ea717ed9662ba521d3c54164d7fe2ce3aaff1d395f90c076dd5d9ad049a537b684974297a1f91eadb3b7a97164ec381efbb3b0526661047",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA5cmFtVgVfrjqcX7ZZiulIdPFQW\nTX/izjqv8dOV+QwHbdXZrQSaU3toSXQpeh+R6ts7epcWTsOB77s7BSZmEEc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0e5c985b558157eb8ea717ed9662ba521d3c54164d7fe2ce3aaff1d395f90c07",
-        "wy" : "6dd5d9ad049a537b684974297a1f91eadb3b7a97164ec381efbb3b0526661047"
-      },
-      "tests" : [
-        {
-          "tcId" : 687,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022054635633127665edff4996c3232c0589e44acce6fb989885a1b92da58cd43c44",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004389a0c6c57397a0e5dd0dc238ff253a82d3073b4e3fca8b5ffb5f205c34651d308a535730a6987df9717111c8272fad3ac1ffb5feb5e04541682c9440863f425",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDiaDGxXOXoOXdDcI4/yU6gtMHO0\n4/yotf+18gXDRlHTCKU1cwpph9+XFxEcgnL606wf+1/rXgRUFoLJRAhj9CU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "389a0c6c57397a0e5dd0dc238ff253a82d3073b4e3fca8b5ffb5f205c34651d3",
-        "wy" : "08a535730a6987df9717111c8272fad3ac1ffb5feb5e04541682c9440863f425"
-      },
-      "tests" : [
-        {
-          "tcId" : 688,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220028eb8f6fb8e5a3833700b5687f17948beeecf7c73aa9c14430ef3ca01602036",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041817c8914321f6d4dea4936b11500555e57c20651db6b478761c8ea1d58632a80067bccdae9389ca4cb6e3279b1896448ff22951e5065326833487066eeedcf9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBgXyJFDIfbU3qSTaxFQBVXlfCBl\nHba0eHYcjqHVhjKoAGe8za6TicpMtuMnmxiWRI/yKVHlBlMmgzSHBm7u3Pk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "1817c8914321f6d4dea4936b11500555e57c20651db6b478761c8ea1d58632a8",
-        "wy" : "67bccdae9389ca4cb6e3279b1896448ff22951e5065326833487066eeedcf9"
-      },
-      "tests" : [
-        {
-          "tcId" : 689,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207c04eb7f3730e231a1c6f86a11042f1a914b02bd83ca8e82670f9bf9d17d9e00",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004446e925eb47fb9e986762c3ad5600e44018b8928be7c61fee438db8f0fd76b185420796deda74ab9508ba6c45e826dbd47acbf943e87877478d6cd1b8825efad",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABERukl60f7nphnYsOtVgDkQBi4ko\nvnxh/uQ4248P12sYVCB5be2nSrlQi6bEXoJtvUesv5Q+h4d0eNbNG4gl760=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "446e925eb47fb9e986762c3ad5600e44018b8928be7c61fee438db8f0fd76b18",
-        "wy" : "5420796deda74ab9508ba6c45e826dbd47acbf943e87877478d6cd1b8825efad"
-      },
-      "tests" : [
-        {
-          "tcId" : 690,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203b3b272686d138084988ae23089d57b574fbabe983e1de35694442c2b9660070",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047742d14fff17f37674f3f1d4df982427dac545722aeafd8f3effbd40890900af693a32aa0b83dc4fe27a409e7a35f52827582d9c97f84acd24a4c3e3db67cdc6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHdC0U//F/N2dPPx1N+YJCfaxUVy\nKur9jz7/vUCJCQCvaToyqguD3E/iekCeejX1KCdYLZyX+ErNJKTD49tnzcY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "7742d14fff17f37674f3f1d4df982427dac545722aeafd8f3effbd40890900af",
-        "wy" : "693a32aa0b83dc4fe27a409e7a35f52827582d9c97f84acd24a4c3e3db67cdc6"
-      },
-      "tests" : [
-        {
-          "tcId" : 691,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202e67ab256e246048b8154c6bd12de75f1657f9b20e8da09beca149a517cbfb1b",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045cc07b0a02619c701b5b2112ee1e8152aa2a7d87880c2310409142046e962df40e74e8191e2ec76f8f9e3c54a59bc79ec68bff407e4ad4d6988f419b5671f25b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFzAewoCYZxwG1shEu4egVKqKn2H\niAwjEECRQgRuli30DnToGR4ux2+PnjxUpZvHnsaL/0B+StTWmI9Bm1Zx8ls=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "5cc07b0a02619c701b5b2112ee1e8152aa2a7d87880c2310409142046e962df4",
-        "wy" : "0e74e8191e2ec76f8f9e3c54a59bc79ec68bff407e4ad4d6988f419b5671f25b"
-      },
-      "tests" : [
-        {
-          "tcId" : 692,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205ccf564adc48c091702a98d7a25bcebe2caff3641d1b4137d942934a2f97f636",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045598267f28a0d095cac9d4b6e4f8157c73d48d6a76b72c8f3a8115ecfe5e28a72d651136d13e039ce4c134dd5572ffdc996bee018b3d01439df62a538ceac8a7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFWYJn8ooNCVysnUtuT4FXxz1I1q\ndrcsjzqBFez+XiinLWURNtE+A5zkwTTdVXL/3Jlr7gGLPQFDnfYqU4zqyKc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "5598267f28a0d095cac9d4b6e4f8157c73d48d6a76b72c8f3a8115ecfe5e28a7",
-        "wy" : "2d651136d13e039ce4c134dd5572ffdc996bee018b3d01439df62a538ceac8a7"
-      },
-      "tests" : [
-        {
-          "tcId" : 693,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008197dc78d6ccee9677df5d99f382c80c19dd0d78babbb86810d8398b0c911414",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000480e25f21cd7b8be2bab4183194edbd22b0ca53fd70f344e42988a396b0f2c6e2991e27d9c14c1dbb5e1889956a7328159da9dbac082b93b289cc90b28f96a65a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIDiXyHNe4viurQYMZTtvSKwylP9\ncPNE5CmIo5aw8sbimR4n2cFMHbteGImVanMoFZ2p26wIK5OyicyQso+Wplo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "080e25f21cd7b8be2bab4183194edbd22b0ca53fd70f344e42988a396b0f2c6e2",
-        "wy" : "0991e27d9c14c1dbb5e1889956a7328159da9dbac082b93b289cc90b28f96a65a"
-      },
-      "tests" : [
-        {
-          "tcId" : 694,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207552d8ce45674b223735b1c2d0946581cd062d494a89f42f58f0ee1bc5c0f318",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004680de45fd1e6c38819ae4bdd43d61482752fa43e8138a9a390364cecf36b4ef28b90de2f260f747fee8a963ae308349aa6b816e6be814035cbc68448eae27272",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGgN5F/R5sOIGa5L3UPWFIJ1L6Q+\ngTipo5A2TOzza07yi5DeLyYPdH/uipY64wg0mqa4Fua+gUA1y8aESOricnI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "680de45fd1e6c38819ae4bdd43d61482752fa43e8138a9a390364cecf36b4ef2",
-        "wy" : "08b90de2f260f747fee8a963ae308349aa6b816e6be814035cbc68448eae27272"
-      },
-      "tests" : [
-        {
-          "tcId" : 695,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202a988eeb5d91279714eb150faea4838ede06b16567dc73919515d28ff04a12d7",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000452d9e8e7e7a728f24a61ef3713375ade942d708d9bc061f500fd32d493f48fbd0f3883d1a55680f69a0fe6909da55f506e9937837e244e20550019a17ba9c370",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFLZ6OfnpyjySmHvNxM3Wt6ULXCN\nm8Bh9QD9MtST9I+9DziD0aVWgPaaD+aQnaVfUG6ZN4N+JE4gVQAZoXupw3A=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "52d9e8e7e7a728f24a61ef3713375ade942d708d9bc061f500fd32d493f48fbd",
-        "wy" : "0f3883d1a55680f69a0fe6909da55f506e9937837e244e20550019a17ba9c370"
-      },
-      "tests" : [
-        {
-          "tcId" : 696,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220559801a88f7843ce3f1c73cd7a5787e7a7eeadbcb9c90e71ee64e0dd0a741a63",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a00c60235109352c589563a590d61adbe34d84bddd6e82c2f42efb871527011778035471de3b72ddc3caf6981824aa4ce301405610156deb90ea9aa316a8ba66",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKAMYCNRCTUsWJVjpZDWGtvjTYS9\n3W6CwvQu+4cVJwEXeANUcd47ct3DyvaYGCSqTOMBQFYQFW3rkOqaoxaoumY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0a00c60235109352c589563a590d61adbe34d84bddd6e82c2f42efb8715270117",
-        "wy" : "78035471de3b72ddc3caf6981824aa4ce301405610156deb90ea9aa316a8ba66"
-      },
-      "tests" : [
-        {
-          "tcId" : 697,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202b66568f063d10d73f77a86be8c18522b5c947493bfcc22f1d884a0a4409fc41",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045758f9e402a4bafd82594d0d26ed47a5f8e9c50526d34b34b47d0875b9fe7b1404f3f8095376d54dfc10d83c938a18175a64517e3b464edd058f5b8626d837c5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFdY+eQCpLr9gllNDSbtR6X46cUF\nJtNLNLR9CHW5/nsUBPP4CVN21U38ENg8k4oYF1pkUX47Rk7dBY9bhibYN8U=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "5758f9e402a4bafd82594d0d26ed47a5f8e9c50526d34b34b47d0875b9fe7b14",
-        "wy" : "4f3f8095376d54dfc10d83c938a18175a64517e3b464edd058f5b8626d837c5"
-      },
-      "tests" : [
-        {
-          "tcId" : 698,
-          "comment" : "edge case for u1",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203e0275bf9b987118d0e37c350882178d48a5815ec1e547413387cdfce8becf00",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042fa1d8ac0d02da83a998f767bd854b1a043e383d5159e7077e35ed3a9ca8194212d7fb2b95e867ed0b24e45093d639f1fed68162aa51e60ad2e45de012b8e94a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABC+h2KwNAtqDqZj3Z72FSxoEPjg9\nUVnnB3417TqcqBlCEtf7K5XoZ+0LJORQk9Y58f7WgWKqUeYK0uRd4BK46Uo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "2fa1d8ac0d02da83a998f767bd854b1a043e383d5159e7077e35ed3a9ca81942",
-        "wy" : "12d7fb2b95e867ed0b24e45093d639f1fed68162aa51e60ad2e45de012b8e94a"
-      },
-      "tests" : [
-        {
-          "tcId" : 699,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206353c7f3e0a4e33ebf7758dadf2bd9d0841328e13c75e252855f5a2b87c2c78c",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043e09805fe499d1bcd7a4388fe03c4bd3eaf6371cdb3e7afd748cde52ae897c0219e65e9b77ef754d77140c20b8c89074950f7e71cbc7d97e0dc879371aa3306c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABD4JgF/kmdG816Q4j+A8S9Pq9jcc\n2z56/XSM3lKuiXwCGeZem3fvdU13FAwguMiQdJUPfnHLx9l+Dch5NxqjMGw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "3e09805fe499d1bcd7a4388fe03c4bd3eaf6371cdb3e7afd748cde52ae897c02",
-        "wy" : "19e65e9b77ef754d77140c20b8c89074950f7e71cbc7d97e0dc879371aa3306c"
-      },
-      "tests" : [
-        {
-          "tcId" : 700,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022014899bc6ff5e72338f3c9847fa6531c4337fde3fcf1c8c32f768fba3a402a964",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047e69909dbc544342a5bee9af766347526fea9bea526bd8a2728d80253c01c204a3490b6583c6bf44a3791b61a298dc18be55d3593c24b8a013747f9877f66e61",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH5pkJ28VENCpb7pr3ZjR1Jv6pvq\nUmvYonKNgCU8AcIEo0kLZYPGv0SjeRthopjcGL5V01k8JLigE3R/mHf2bmE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "7e69909dbc544342a5bee9af766347526fea9bea526bd8a2728d80253c01c204",
-        "wy" : "0a3490b6583c6bf44a3791b61a298dc18be55d3593c24b8a013747f9877f66e61"
-      },
-      "tests" : [
-        {
-          "tcId" : 701,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022072655c5e4f1cefca22f413a612e5bfdd7ba9ae71053f68b0c74d9a73590013c3",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046be621988af517a22e1549cb23416dc2cf8d8accdd8d083708e6d655f155ccfe8eb87277219356972a3bd0dac5f549ac52315c43e0edea9d6e24f2ff952029d0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGvmIZiK9ReiLhVJyyNBbcLPjYrM\n3Y0INwjm1lXxVcz+jrhydyGTVpcqO9DaxfVJrFIxXEPg7eqdbiTy/5UgKdA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "6be621988af517a22e1549cb23416dc2cf8d8accdd8d083708e6d655f155ccfe",
-        "wy" : "08eb87277219356972a3bd0dac5f549ac52315c43e0edea9d6e24f2ff952029d0"
-      },
-      "tests" : [
-        {
-          "tcId" : 702,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a2030dbf01d8c9de2900dc3845fda4e4c6bc049c4cd5717a9c629b9ed29d1859",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045ae6afae79752250b1ea02f49cd75aa899418631041172b2e3db31ca7abb2ab22bef1f798389a216b0322419fd7a76e4448b3d1abe425b47d84307e4553ad352",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFrmr655dSJQseoC9JzXWqiZQYYx\nBBFysuPbMcp6uyqyK+8feYOJohawMiQZ/Xp25ESLPRq+QltH2EMH5FU601I=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "5ae6afae79752250b1ea02f49cd75aa899418631041172b2e3db31ca7abb2ab2",
-        "wy" : "2bef1f798389a216b0322419fd7a76e4448b3d1abe425b47d84307e4553ad352"
-      },
-      "tests" : [
-        {
-          "tcId" : 703,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a1db7293b6f01594b808718e61a4d642dff4fee2fb471167ef7ab42959a473e7",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000418350252507cc26e4a12bf3e483e02dee74809382c8e640ca635b06c27b51a4e97578f3ef03fae837a178d50a9c94d7af61d6070dd13a72409925ec6b331326c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBg1AlJQfMJuShK/Pkg+At7nSAk4\nLI5kDKY1sGwntRpOl1ePPvA/roN6F41QqclNevYdYHDdE6ckCZJexrMxMmw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "18350252507cc26e4a12bf3e483e02dee74809382c8e640ca635b06c27b51a4e",
-        "wy" : "097578f3ef03fae837a178d50a9c94d7af61d6070dd13a72409925ec6b331326c"
-      },
-      "tests" : [
-        {
-          "tcId" : 704,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210099bb8d4bcbf1816d31aad88c25c61f1433b08322412c7bd84ed759d01c009127",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040943cc104456d87a712b8aaf7113d43be64404dcd0f8ed707ae3286e3db5323f43862753ab1b05e3f8d425498514caf178a7602ebe43a71ceeec6da14f880e4c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAlDzBBEVth6cSuKr3ET1DvmRATc\n0PjtcHrjKG49tTI/Q4YnU6sbBeP41CVJhRTK8XinYC6+Q6cc7uxtoU+IDkw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0943cc104456d87a712b8aaf7113d43be64404dcd0f8ed707ae3286e3db5323f",
-        "wy" : "43862753ab1b05e3f8d425498514caf178a7602ebe43a71ceeec6da14f880e4c"
-      },
-      "tests" : [
-        {
-          "tcId" : 705,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022041cee82a6957ef02ab3aa07a3315accc0d0d66c2081d530246d6e681873c90d1",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000464931339acdda82764a00229d8d266b131122302fa3eb440cfda72cf81ad554e92ddffa1e7690efc1a4a8408e1e3c5e599aa9811f26d51852c9ceeabdfe5e5c7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGSTEzms3agnZKACKdjSZrExEiMC\n+j60QM/acs+BrVVOkt3/oedpDvwaSoQI4ePF5ZmqmBHybVGFLJzuq9/l5cc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "64931339acdda82764a00229d8d266b131122302fa3eb440cfda72cf81ad554e",
-        "wy" : "092ddffa1e7690efc1a4a8408e1e3c5e599aa9811f26d51852c9ceeabdfe5e5c7"
-      },
-      "tests" : [
-        {
-          "tcId" : 706,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220746d61572ecae774691e7809121986d9b93279b00934ff1def1f4798da89ad4c",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004018d755e5540692f87b6e01864be3cc272a468f3fccdd535cc0c2f1c75e0abd04c7c7155f0e9686de0fcbcf93a39d50c2e2adf8b0362676b31e9a49bdcaadbb7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAGNdV5VQGkvh7bgGGS+PMJypGjz\n/M3VNcwMLxx14KvQTHxxVfDpaG3g/Lz5OjnVDC4q34sDYmdrMemkm9yq27c=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "18d755e5540692f87b6e01864be3cc272a468f3fccdd535cc0c2f1c75e0abd0",
-        "wy" : "4c7c7155f0e9686de0fcbcf93a39d50c2e2adf8b0362676b31e9a49bdcaadbb7"
-      },
-      "tests" : [
-        {
-          "tcId" : 707,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220281b26a0908968099f8e1f610f4f358318baa21107b791ef6f24cb244677a64b",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000453ee3f75ed7275550c4b1604f68fbc4c411006b13da809d5ae6a14cb37bafef57d26222d2d7236b9d7e3ac4225100d68764c37c77b80f24f7c65e579d13d9727",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFPuP3XtcnVVDEsWBPaPvExBEAax\nPagJ1a5qFMs3uv71fSYiLS1yNrnX46xCJRANaHZMN8d7gPJPfGXledE9lyc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "53ee3f75ed7275550c4b1604f68fbc4c411006b13da809d5ae6a14cb37bafef5",
-        "wy" : "7d26222d2d7236b9d7e3ac4225100d68764c37c77b80f24f7c65e579d13d9727"
-      },
-      "tests" : [
-        {
-          "tcId" : 708,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022046a78fe7c149c67d7eeeb1b5be57b3a1082651c278ebc4a50abeb4570f858f1b",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000486fd25de250bd6e9c272d4a3e7f28edea934b7f043050b765ab755200f4e2900a2238299783c290a0b4d4f3bfe37645719967000466f29882e895f54c3eb7f8f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIb9Jd4lC9bpwnLUo+fyjt6pNLfw\nQwULdlq3VSAPTikAoiOCmXg8KQoLTU87/jdkVxmWcABGbymILolfVMPrf48=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "086fd25de250bd6e9c272d4a3e7f28edea934b7f043050b765ab755200f4e2900",
-        "wy" : "0a2238299783c290a0b4d4f3bfe37645719967000466f29882e895f54c3eb7f8f"
-      },
-      "tests" : [
-        {
-          "tcId" : 709,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022014fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b55",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041cc2c242a63d44b90f67f35aca9fd5cc0b25d384ee9648a05279d476f9aa748c6cb072f7336cf89f483542721c9ba71197e9bf387299d9807ef7924b9e7c083c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBzCwkKmPUS5D2fzWsqf1cwLJdOE\n7pZIoFJ51Hb5qnSMbLBy9zNs+J9INUJyHJunEZfpvzhymdmAfveSS558CDw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "1cc2c242a63d44b90f67f35aca9fd5cc0b25d384ee9648a05279d476f9aa748c",
-        "wy" : "6cb072f7336cf89f483542721c9ba71197e9bf387299d9807ef7924b9e7c083c"
-      },
-      "tests" : [
-        {
-          "tcId" : 710,
-          "comment" : "edge case for u2",
-          "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008e305a1cf885ccc330ad0f1b5834a6a783f1948a5d5087d42bb5d47af8243535",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb4386d34b899200cdd58ba2faa1d0169da8a5454de50d08a2e7f5362d60f6ec7c5de",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEUzOC4crtvti9+l9IxYvfy3XWgR\nEiuwFs9C5FeYn7Q4bTS4mSAM3Vi6L6odAWnailRU3lDQii5/U2LWD27Hxd4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "4533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb438",
-        "wy" : "6d34b899200cdd58ba2faa1d0169da8a5454de50d08a2e7f5362d60f6ec7c5de"
-      },
-      "tests" : [
-        {
-          "tcId" : 711,
-          "comment" : "point duplication during verification",
-          "msg" : "54657374",
-          "sig" : "30440220074c035603e1eb49ab5382819bf82af82929b500c6e78841c1b2c3ff54a615dd022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799",
-          "result" : "valid",
-          "flags" : [
-            "PointDuplication"
-          ]
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb4383cc69f4281e1cc63843660739c19b2e819e717d3049bf1a8ccb0720db0a68d99",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEUzOC4crtvti9+l9IxYvfy3XWgR\nEiuwFs9C5FeYn7Q4PMafQoHhzGOENmBznBmy6BnnF9MEm/GozLByDbCmjZk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "4533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb438",
-        "wy" : "3cc69f4281e1cc63843660739c19b2e819e717d3049bf1a8ccb0720db0a68d99"
-      },
-      "tests" : [
-        {
-          "tcId" : 712,
-          "comment" : "duplication bug",
-          "msg" : "54657374",
-          "sig" : "30440220074c035603e1eb49ab5382819bf82af82929b500c6e78841c1b2c3ff54a615dd022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799",
-          "result" : "invalid",
-          "flags" : [
-            "PointDuplication"
-          ]
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a9011e3712e137ef2319b964c61ba2335399cb49d16f1939ca7f03c37c13bb0f93fdb94d60b34aa9e6919b62c24db2e57a07d593692f8ae924ee37a59f2fcd4e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKkBHjcS4TfvIxm5ZMYbojNTmctJ\n0W8ZOcp/A8N8E7sPk/25TWCzSqnmkZtiwk2y5XoH1ZNpL4rpJO43pZ8vzU4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0a9011e3712e137ef2319b964c61ba2335399cb49d16f1939ca7f03c37c13bb0f",
-        "wy" : "093fdb94d60b34aa9e6919b62c24db2e57a07d593692f8ae924ee37a59f2fcd4e"
-      },
-      "tests" : [
-        {
-          "tcId" : 713,
-          "comment" : "comparison with point at infinity ",
-          "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4487",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004616514d11e2e9b4f63725981f1d33a0e28973bc7719a4cc2969700913cd2f1b16071f71eff21d2bc254fcffede47a53b6b4e041ab97b6350d59485176ec9d72b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGFlFNEeLptPY3JZgfHTOg4olzvH\ncZpMwpaXAJE80vGxYHH3Hv8h0rwlT8/+3kelO2tOBBq5e2NQ1ZSFF27J1ys=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "616514d11e2e9b4f63725981f1d33a0e28973bc7719a4cc2969700913cd2f1b1",
-        "wy" : "6071f71eff21d2bc254fcffede47a53b6b4e041ab97b6350d59485176ec9d72b"
-      },
-      "tests" : [
-        {
-          "tcId" : 714,
-          "comment" : "extreme value for k",
-          "msg" : "54657374",
-          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a12c7c13adff626ad31ffb8ba385c3092db1afe4a2a8e887d810a722048164cd8b1f3e67fde9ff0703f1e429f748c847997546ab1850ebc004535dccd453cf81",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKEsfBOt/2Jq0x/7i6OFwwktsa/k\noqjoh9gQpyIEgWTNix8+Z/3p/wcD8eQp90jIR5l1RqsYUOvABFNdzNRTz4E=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0a12c7c13adff626ad31ffb8ba385c3092db1afe4a2a8e887d810a722048164cd",
-        "wy" : "08b1f3e67fde9ff0703f1e429f748c847997546ab1850ebc004535dccd453cf81"
-      },
-      "tests" : [
-        {
-          "tcId" : 715,
-          "comment" : "extreme value for k",
-          "msg" : "54657374",
-          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIvSrrnLflfLLEtIL/yBt6+53ifh\n470jwjpEU72azjJiVH74NcPaxP2X+EYaFGEdycJ3RRMt7Y5UXB1Uxy8EaZc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262",
-        "wy" : "547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"
-      },
-      "tests" : [
-        {
-          "tcId" : 716,
-          "comment" : "testing point duplication",
-          "msg" : "54657374",
-          "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 717,
-          "comment" : "testing point duplication",
-          "msg" : "54657374",
-          "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIvSrrnLflfLLEtIL/yBt6+53ifh\n470jwjpEU72azjJiVXxfpd4T5L6mbcR2iSJvqKvEsRCnOJHTw/XzVfBp6eA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256r1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262",
-        "wy" : "557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0"
-      },
-      "tests" : [
-        {
-          "tcId" : 718,
-          "comment" : "testing point duplication",
-          "msg" : "54657374",
-          "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
-          "result" : "invalid",
-          "flags" : []
-        },
-        {
-          "tcId" : 719,
-          "comment" : "testing point duplication",
-          "msg" : "54657374",
-          "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004231ea76f9414e4667265c9750666b38b6e9bde67fb074f78d25e7b1807a45a46182e262b4038cc6868516fbf12bd4dca207c17564e5a049c60b5d5dd09c73d22",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCMep2+UFORmcmXJdQZms4tum95n\n+wdPeNJeexgHpFpGGC4mK0A4zGhoUW+/Er1NyiB8F1ZOWgScYLXV3QnHPSI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256t1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "231ea76f9414e4667265c9750666b38b6e9bde67fb074f78d25e7b1807a45a46",
-        "wy" : "182e262b4038cc6868516fbf12bd4dca207c17564e5a049c60b5d5dd09c73d22"
-      },
-      "tests" : [
-        {
-          "tcId" : 720,
-          "comment" : "k*G has a large x-coordinate",
-          "msg" : "54657374",
-          "sig" : "3036021100e2027b801fc479308ff5399a8825fcce022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 721,
-          "comment" : "r too large",
-          "msg" : "54657374",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5375022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
-          "result" : "invalid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000485d4be1e69cb9b5a0c3be6fd07576bffa61e9a430b2fa4a80ef860ca6de2a4e58003cfc8de01db91d37dc76d1e3bd95aea47c301f1b987cd2ddaf5e91be77f15",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIXUvh5py5taDDvm/QdXa/+mHppD\nCy+kqA74YMpt4qTlgAPPyN4B25HTfcdtHjvZWupHwwHxuYfNLdr16RvnfxU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256t1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "085d4be1e69cb9b5a0c3be6fd07576bffa61e9a430b2fa4a80ef860ca6de2a4e5",
-        "wy" : "08003cfc8de01db91d37dc76d1e3bd95aea47c301f1b987cd2ddaf5e91be77f15"
-      },
-      "tests" : [
-        {
-          "tcId" : 722,
-          "comment" : "r,s are large",
-          "msg" : "54657374",
-          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a3",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0a4f1e4d84c6bfd203a0ea04d7a9419bcd59b0ff8757609701b61881eda3b79bc84764caa0dd0815ca06fc0b38d7e840eabccf945697438944d5859772aeb4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsKTx5NhMa/0gOg6gTXqUGbzVmw\n/4dXYJcBthiB7aO3m8hHZMqg3QgVygb8CzjX6EDqvM+UVpdDiUTVhZdyrrQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256t1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "3b0a4f1e4d84c6bfd203a0ea04d7a9419bcd59b0ff8757609701b61881eda3b7",
-        "wy" : "09bc84764caa0dd0815ca06fc0b38d7e840eabccf945697438944d5859772aeb4"
-      },
       "tests" : [
         {
           "tcId" : 723,
@@ -10204,17 +10333,18 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045a40fcf15f9749254ebcc9c8e1fecebb1248f5ce29dddc26702357bedebfa0154e25e19b6b63fe08914f4062c0a564ac5333632f1086415464d671626bc4dc56",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFpA/PFfl0klTrzJyOH+zrsSSPXO\nKd3cJnAjV77ev6AVTiXhm2tj/giRT0BiwKVkrFMzYy8QhkFUZNZxYmvE3FY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "5a40fcf15f9749254ebcc9c8e1fecebb1248f5ce29dddc26702357bedebfa015",
-        "wy" : "4e25e19b6b63fe08914f4062c0a564ac5333632f1086415464d671626bc4dc56"
+        "uncompressed" : "04656bd0903ccbd335f66090d6ed2ed1a9a6056142c5ccc55c38838a7f3847a4845ae6dc9d86de0b6f330344d9ed1683b6ec92184d8caf0c7837b1a8724125d7c9",
+        "wx" : "656bd0903ccbd335f66090d6ed2ed1a9a6056142c5ccc55c38838a7f3847a484",
+        "wy" : "5ae6dc9d86de0b6f330344d9ed1683b6ec92184d8caf0c7837b1a8724125d7c9"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004656bd0903ccbd335f66090d6ed2ed1a9a6056142c5ccc55c38838a7f3847a4845ae6dc9d86de0b6f330344d9ed1683b6ec92184d8caf0c7837b1a8724125d7c9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGVr0JA8y9M19mCQ1u0u0ammBWFC\nxczFXDiDin84R6SEWubcnYbeC28zA0TZ7RaDtuySGE2Mrwx4N7GockEl18k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 724,
@@ -10227,17 +10357,18 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200044ee4aff9868419906d5946b3cc338fa4db92a1d016a5c6c697062d2c39dff57a7a308c37a2610abc9e604666c53495bd4359903e47119570935984b34d118018",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABE7kr/mGhBmQbVlGs8wzj6TbkqHQ\nFqXGxpcGLSw53/V6ejCMN6JhCryeYEZmxTSVvUNZkD5HEZVwk1mEs00RgBg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "4ee4aff9868419906d5946b3cc338fa4db92a1d016a5c6c697062d2c39dff57a",
-        "wy" : "7a308c37a2610abc9e604666c53495bd4359903e47119570935984b34d118018"
+        "uncompressed" : "043794534eb2f575d7948fb331553b33aeaf395f66193c6f9eabd5e1b2a30b230c9afb63cb41720f4e915b630d4b088fb4fcea4d0849f3cc023a6ca59357f85c36",
+        "wx" : "3794534eb2f575d7948fb331553b33aeaf395f66193c6f9eabd5e1b2a30b230c",
+        "wy" : "09afb63cb41720f4e915b630d4b088fb4fcea4d0849f3cc023a6ca59357f85c36"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043794534eb2f575d7948fb331553b33aeaf395f66193c6f9eabd5e1b2a30b230c9afb63cb41720f4e915b630d4b088fb4fcea4d0849f3cc023a6ca59357f85c36",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDeUU06y9XXXlI+zMVU7M66vOV9m\nGTxvnqvV4bKjCyMMmvtjy0FyD06RW2MNSwiPtPzqTQhJ88wCOmylk1f4XDY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 725,
@@ -10250,17 +10381,18 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045ef5efbfaeb5cb4c2c9f8db76cdb6f832adabda8c3a882e99f9ab23d8962b7cb33097ad4f67e9cbb90b8bbd2b71f4554818ac5aeb1f396ac6d49626edd51b0c2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABF7177+utctMLJ+Nt2zbb4Mq2r2o\nw6iC6Z+asj2JYrfLMwl61PZ+nLuQuLvStx9FVIGKxa6x85asbUlibt1RsMI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "5ef5efbfaeb5cb4c2c9f8db76cdb6f832adabda8c3a882e99f9ab23d8962b7cb",
-        "wy" : "33097ad4f67e9cbb90b8bbd2b71f4554818ac5aeb1f396ac6d49626edd51b0c2"
+        "uncompressed" : "04380ec87cfe9da69e438357d9f68ed7ba59d43b164b1cb7ebdb5a8ba25ffb2abf832f8efce46b1c8a5ac4b4c39657432e0bfcf71bfccb08e236620f444148665c",
+        "wx" : "380ec87cfe9da69e438357d9f68ed7ba59d43b164b1cb7ebdb5a8ba25ffb2abf",
+        "wy" : "0832f8efce46b1c8a5ac4b4c39657432e0bfcf71bfccb08e236620f444148665c"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004380ec87cfe9da69e438357d9f68ed7ba59d43b164b1cb7ebdb5a8ba25ffb2abf832f8efce46b1c8a5ac4b4c39657432e0bfcf71bfccb08e236620f444148665c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDgOyHz+naaeQ4NX2faO17pZ1DsW\nSxy369tai6Jf+yq/gy+O/ORrHIpaxLTDlldDLgv89xv8ywjiNmIPREFIZlw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 726,
@@ -10273,17 +10405,18 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043e8403566c4bd45dc1a3e33ffc44482c103eab150327e52879d91faec4b41ba27fa87129ced313ce073e9772f0d4862d879c39e5d1512e1a47e43303d9ddfb1d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABD6EA1ZsS9RdwaPjP/xESCwQPqsV\nAyflKHnZH67EtBuif6hxKc7TE84HPpdy8NSGLYecOeXRUS4aR+QzA9nd+x0=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "3e8403566c4bd45dc1a3e33ffc44482c103eab150327e52879d91faec4b41ba2",
-        "wy" : "7fa87129ced313ce073e9772f0d4862d879c39e5d1512e1a47e43303d9ddfb1d"
+        "uncompressed" : "041b93505886094d6e1df0393000b41d097906fdf03435e771082ddb6e7d53b347285ecd2cb254f514c566b3cfffc50db03f259155be368fe713e8a833a747f981",
+        "wx" : "1b93505886094d6e1df0393000b41d097906fdf03435e771082ddb6e7d53b347",
+        "wy" : "285ecd2cb254f514c566b3cfffc50db03f259155be368fe713e8a833a747f981"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041b93505886094d6e1df0393000b41d097906fdf03435e771082ddb6e7d53b347285ecd2cb254f514c566b3cfffc50db03f259155be368fe713e8a833a747f981",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBuTUFiGCU1uHfA5MAC0HQl5Bv3w\nNDXncQgt2259U7NHKF7NLLJU9RTFZrPP/8UNsD8lkVW+No/nE+ioM6dH+YE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 727,
@@ -10304,17 +10437,18 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000414033c115778c47034a8dcd20912fa3dfa7c68aaf24b5cabc4c8d032f32758f855ec2a8c3033a2a832fc2f496d8fc067547bbffd37e7ea7314bba8a0e2e38bc8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBQDPBFXeMRwNKjc0gkS+j36fGiq\n8ktcq8TI0DLzJ1j4VewqjDAzoqgy/C9JbY/AZ1R7v/035+pzFLuooOLji8g=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "14033c115778c47034a8dcd20912fa3dfa7c68aaf24b5cabc4c8d032f32758f8",
-        "wy" : "55ec2a8c3033a2a832fc2f496d8fc067547bbffd37e7ea7314bba8a0e2e38bc8"
+        "uncompressed" : "0403d1c0ee4010a27b1faddcdf256d0b6eb2a5bcc256e685d379f5ba20e93919f4658be2a06d5eb3205c2dbdb67d55413913b51d794c59e91d3e5b783d535ef5bc",
+        "wx" : "3d1c0ee4010a27b1faddcdf256d0b6eb2a5bcc256e685d379f5ba20e93919f4",
+        "wy" : "658be2a06d5eb3205c2dbdb67d55413913b51d794c59e91d3e5b783d535ef5bc"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000403d1c0ee4010a27b1faddcdf256d0b6eb2a5bcc256e685d379f5ba20e93919f4658be2a06d5eb3205c2dbdb67d55413913b51d794c59e91d3e5b783d535ef5bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAPRwO5AEKJ7H63c3yVtC26ypbzC\nVuaF03n1uiDpORn0ZYvioG1esyBcLb22fVVBORO1HXlMWekdPlt4PVNe9bw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 729,
@@ -10327,109 +10461,114 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048a9fcc60103a2ca5b2c4d88843e224785a2b0540bd89a14d2f320a953aac5d789f2153a664aa7e150c0e267921894696c6cecbaba854457fc42c9d24864a08a1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIqfzGAQOiylssTYiEPiJHhaKwVA\nvYmhTS8yCpU6rF14nyFTpmSqfhUMDiZ5IYlGlsbOy6uoVEV/xCydJIZKCKE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "08a9fcc60103a2ca5b2c4d88843e224785a2b0540bd89a14d2f320a953aac5d78",
-        "wy" : "09f2153a664aa7e150c0e267921894696c6cecbaba854457fc42c9d24864a08a1"
+        "uncompressed" : "04677ccca257fb6730e744de5013bf98ea8003e320b8ca70888a351aa7b0f8906f54ca266a5267503e1aa90c74a67006bff1a8461ce9526bf266b02b39448a0219",
+        "wx" : "677ccca257fb6730e744de5013bf98ea8003e320b8ca70888a351aa7b0f8906f",
+        "wy" : "54ca266a5267503e1aa90c74a67006bff1a8461ce9526bf266b02b39448a0219"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004677ccca257fb6730e744de5013bf98ea8003e320b8ca70888a351aa7b0f8906f54ca266a5267503e1aa90c74a67006bff1a8461ce9526bf266b02b39448a0219",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGd8zKJX+2cw50TeUBO/mOqAA+Mg\nuMpwiIo1Gqew+JBvVMomalJnUD4aqQx0pnAGv/GoRhzpUmvyZrArOUSKAhk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 730,
           "comment" : "small r and s^-1",
           "msg" : "54657374",
-          "sig" : "30260202010202202827370584fdeb9f5d5a9fb9579a09390efb6f9d99b64fc188d8bce05c2d4eed",
+          "sig" : "30260202010102202827370584fdeb9f5d5a9fb9579a09390efb6f9d99b64fc188d8bce05c2d4eed",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200047eb86f8e5d2adf7cc4cbd8849ca3ac811540fd35f60bd691dbc666a894ee6e5c6c1daa6faf62318dc5f1dba736f841bb21af46aa6ac17f78662018d45fbdcc3f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABH64b45dKt98xMvYhJyjrIEVQP01\n9gvWkdvGZqiU7m5cbB2qb69iMY3F8dunNvhBuyGvRqpqwX94ZiAY1F+9zD8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "7eb86f8e5d2adf7cc4cbd8849ca3ac811540fd35f60bd691dbc666a894ee6e5c",
-        "wy" : "6c1daa6faf62318dc5f1dba736f841bb21af46aa6ac17f78662018d45fbdcc3f"
+        "uncompressed" : "0499a4b3ffdda680963d6a6f29d95eb6c1c653655437e028b92d8fa90b6e31649c28cbae0a35de3ad10e462c6854e95dfb5dfde9cb0575075c204ccf2edddbf725",
+        "wx" : "099a4b3ffdda680963d6a6f29d95eb6c1c653655437e028b92d8fa90b6e31649c",
+        "wy" : "28cbae0a35de3ad10e462c6854e95dfb5dfde9cb0575075c204ccf2edddbf725"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000499a4b3ffdda680963d6a6f29d95eb6c1c653655437e028b92d8fa90b6e31649c28cbae0a35de3ad10e462c6854e95dfb5dfde9cb0575075c204ccf2edddbf725",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABJmks//dpoCWPWpvKdletsHGU2VU\nN+AouS2PqQtuMWScKMuuCjXeOtEORixoVOld+1396csFdQdcIEzPLt3b9yU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 731,
           "comment" : "smallish r and s^-1",
           "msg" : "54657374",
-          "sig" : "302b02072d9b4d347952cc02204937a087731df4febc2c3a81ddfbab5dc3af950817f41b590d156ed409ad2869",
+          "sig" : "302b02072d9b4d347952ce02204937a087731df4febc2c3a81ddfbab5dc3af950817f41b590d156ed409ad2869",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200041206e3a802f59b8ed707474530c37a8c25efdfb1bcb2cfea3c813b58eb667e1715e78dc70170f2720cf0331432d61148591ebcfc4d20c6a3fd01afd9fa6a9e80",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBIG46gC9ZuO1wdHRTDDeowl79+x\nvLLP6jyBO1jrZn4XFeeNxwFw8nIM8DMUMtYRSFkevPxNIMaj/QGv2fpqnoA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "1206e3a802f59b8ed707474530c37a8c25efdfb1bcb2cfea3c813b58eb667e17",
-        "wy" : "15e78dc70170f2720cf0331432d61148591ebcfc4d20c6a3fd01afd9fa6a9e80"
+        "uncompressed" : "0463aeb7a8c99b569922290cfaf225e135c3110261987605d22edf37a3c6672d341acabe5a64f0c9ba20c665381ad24d275347ab6f54fb992d0d3f436c19d05cee",
+        "wx" : "63aeb7a8c99b569922290cfaf225e135c3110261987605d22edf37a3c6672d34",
+        "wy" : "1acabe5a64f0c9ba20c665381ad24d275347ab6f54fb992d0d3f436c19d05cee"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000463aeb7a8c99b569922290cfaf225e135c3110261987605d22edf37a3c6672d341acabe5a64f0c9ba20c665381ad24d275347ab6f54fb992d0d3f436c19d05cee",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGOut6jJm1aZIikM+vIl4TXDEQJh\nmHYF0i7fN6PGZy00Gsq+WmTwybogxmU4GtJNJ1NHq29U+5ktDT9DbBnQXO4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 732,
           "comment" : "100-bit r and small s^-1",
           "msg" : "54657374",
-          "sig" : "3032020d1033e67e37b32b445580bf4efc02210091827d03bb6dac31940ba56ed88489048ff173f0bf20cab20dcc086fca37f285",
+          "sig" : "3032020d1033e67e37b32b445580bf4efb02210091827d03bb6dac31940ba56ed88489048ff173f0bf20cab20dcc086fca37f285",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048a33c9017ba0f19ed44cbdf7c9817024c3f095a899adafdcfe7dd6f51ffef9518c56c09ccfcbe2250838630e26764ba9e1bc1092bccec6135c29f31f617c14ca",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIozyQF7oPGe1Ey998mBcCTD8JWo\nma2v3P591vUf/vlRjFbAnM/L4iUIOGMOJnZLqeG8EJK8zsYTXCnzH2F8FMo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "08a33c9017ba0f19ed44cbdf7c9817024c3f095a899adafdcfe7dd6f51ffef951",
-        "wy" : "08c56c09ccfcbe2250838630e26764ba9e1bc1092bccec6135c29f31f617c14ca"
+        "uncompressed" : "048e2fdf5606030d4c02117b6642699cd10b9f791bafa6952a6635939aa577ff3a350cd8e98725756cd384937e0599f38ee7cc16e85474c9bc6d6bbcb4a6ae3a82",
+        "wx" : "08e2fdf5606030d4c02117b6642699cd10b9f791bafa6952a6635939aa577ff3a",
+        "wy" : "350cd8e98725756cd384937e0599f38ee7cc16e85474c9bc6d6bbcb4a6ae3a82"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048e2fdf5606030d4c02117b6642699cd10b9f791bafa6952a6635939aa577ff3a350cd8e98725756cd384937e0599f38ee7cc16e85474c9bc6d6bbcb4a6ae3a82",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABI4v31YGAw1MAhF7ZkJpnNELn3kb\nr6aVKmY1k5qld/86NQzY6YcldWzThJN+BZnzjufMFuhUdMm8bWu8tKauOoI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 733,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "54657374",
-          "sig" : "30260202010202203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15",
+          "sig" : "30260202010102203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a5d5c0efc3901f308bf4251bb0cc2844e5abcee9096d118134fd714d13f2d0308ef80671c71bd6bf6e333325b561b3c0c3d1a4db1ac7ed8b0fe09b3b3253cd56",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKXVwO/DkB8wi/QlG7DMKETlq87p\nCW0RgTT9cU0T8tAwjvgGcccb1r9uMzMltWGzwMPRpNsax+2LD+CbOzJTzVY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "0a5d5c0efc3901f308bf4251bb0cc2844e5abcee9096d118134fd714d13f2d030",
-        "wy" : "08ef80671c71bd6bf6e333325b561b3c0c3d1a4db1ac7ed8b0fe09b3b3253cd56"
+        "uncompressed" : "048854b415e4e34bb3e19a1c4bda67260f0518c320696b6e6393b3c7823d8a30a70e594403225c63da5138eb9067e86f638d91793b6410688c34cdf6c8d2ac601a",
+        "wx" : "08854b415e4e34bb3e19a1c4bda67260f0518c320696b6e6393b3c7823d8a30a7",
+        "wy" : "0e594403225c63da5138eb9067e86f638d91793b6410688c34cdf6c8d2ac601a"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048854b415e4e34bb3e19a1c4bda67260f0518c320696b6e6393b3c7823d8a30a70e594403225c63da5138eb9067e86f638d91793b6410688c34cdf6c8d2ac601a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIhUtBXk40uz4ZocS9pnJg8FGMMg\naWtuY5Ozx4I9ijCnDllEAyJcY9pROOuQZ+hvY42ReTtkEGiMNM32yNKsYBo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 734,
@@ -10442,46 +10581,48 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048aede4648355451e9ac82e480fee5c4c90492d053ece6f77d153878b51e13a4e9c3fd7e229ec77ab92ba6ca57005cb25313b3629d33409b15d34cabe08fec31a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIrt5GSDVUUemsguSA/uXEyQSS0F\nPs5vd9FTh4tR4TpOnD/X4insd6uSumylcAXLJTE7NinTNAmxXTTKvgj+wxo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "08aede4648355451e9ac82e480fee5c4c90492d053ece6f77d153878b51e13a4e",
-        "wy" : "09c3fd7e229ec77ab92ba6ca57005cb25313b3629d33409b15d34cabe08fec31a"
+        "uncompressed" : "04595f3befe9ac34763eb99d6a95f8b45a94084406f165ea5781ccd39d923b61232508badaf61ae9c37742f03b8fbf48413ef9c512cfa63a299c1bea7d6a7cc583",
+        "wx" : "595f3befe9ac34763eb99d6a95f8b45a94084406f165ea5781ccd39d923b6123",
+        "wy" : "2508badaf61ae9c37742f03b8fbf48413ef9c512cfa63a299c1bea7d6a7cc583"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004595f3befe9ac34763eb99d6a95f8b45a94084406f165ea5781ccd39d923b61232508badaf61ae9c37742f03b8fbf48413ef9c512cfa63a299c1bea7d6a7cc583",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFlfO+/prDR2PrmdapX4tFqUCEQG\n8WXqV4HM052SO2EjJQi62vYa6cN3QvA7j79IQT75xRLPpjopnBvqfWp8xYM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 735,
           "comment" : "r and s^-1 are close to n",
           "msg" : "54657374",
-          "sig" : "3045022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485629022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
+          "sig" : "3045022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485628022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a3e82d3f4e532da8f2fb627e07436c86923e7bcd3055706250074257fad3f1052d01c6d7e6d065c3b25e4f85d211e060208d7dad38a56bbd397f785ab77820a8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKPoLT9OUy2o8vtifgdDbIaSPnvN\nMFVwYlAHQlf60/EFLQHG1+bQZcOyXk+F0hHgYCCNfa04pWu9OX94Wrd4IKg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "0a3e82d3f4e532da8f2fb627e07436c86923e7bcd3055706250074257fad3f105",
-        "wy" : "2d01c6d7e6d065c3b25e4f85d211e060208d7dad38a56bbd397f785ab77820a8"
+        "uncompressed" : "040f4c30d0099f1d1ce785714707f10172c0881cd1aec5daf4f849462688248fa00be78142c4538617830dcd2ef814cbe33c7dcf5cf6fb95217f7a76d118e029ed",
+        "wx" : "0f4c30d0099f1d1ce785714707f10172c0881cd1aec5daf4f849462688248fa0",
+        "wy" : "0be78142c4538617830dcd2ef814cbe33c7dcf5cf6fb95217f7a76d118e029ed"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040f4c30d0099f1d1ce785714707f10172c0881cd1aec5daf4f849462688248fa00be78142c4538617830dcd2ef814cbe33c7dcf5cf6fb95217f7a76d118e029ed",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA9MMNAJnx0c54VxRwfxAXLAiBzR\nrsXa9PhJRiaIJI+gC+eBQsRThheDDc0u+BTL4zx9z1z2+5Uhf3p20RjgKe0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 736,
           "comment" : "s == 1",
           "msg" : "54657374",
-          "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce4020101",
+          "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2020101",
           "result" : "valid",
           "flags" : []
         },
@@ -10489,24 +10630,25 @@
           "tcId" : 737,
           "comment" : "s == 0",
           "msg" : "54657374",
-          "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce4020100",
+          "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2020100",
           "result" : "invalid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004938461391ad301808f26169b23999507de65e9af8af7e1f8e480336765ef4a8b3a858dbd1ef2cca29203ee738dacb20e0c57f1bc77653a0bb4929bc1fc4fe792",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJOEYTka0wGAjyYWmyOZlQfeZemv\nivfh+OSAM2dl70qLOoWNvR7yzKKSA+5zjayyDgxX8bx3ZToLtJKbwfxP55I=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "0938461391ad301808f26169b23999507de65e9af8af7e1f8e480336765ef4a8b",
-        "wy" : "3a858dbd1ef2cca29203ee738dacb20e0c57f1bc77653a0bb4929bc1fc4fe792"
+        "uncompressed" : "045866d53f9e14bb54784136192419568c060f30d7dfd771f5a3e4d6a0e8c2597c43a773b94d7d0a706b9ba3488389705e29d6809f93a92fa69786657364129202",
+        "wx" : "5866d53f9e14bb54784136192419568c060f30d7dfd771f5a3e4d6a0e8c2597c",
+        "wy" : "43a773b94d7d0a706b9ba3488389705e29d6809f93a92fa69786657364129202"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045866d53f9e14bb54784136192419568c060f30d7dfd771f5a3e4d6a0e8c2597c43a773b94d7d0a706b9ba3488389705e29d6809f93a92fa69786657364129202",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFhm1T+eFLtUeEE2GSQZVowGDzDX\n39dx9aPk1qDowll8Q6dzuU19CnBrm6NIg4lwXinWgJ+TqS+ml4Zlc2QSkgI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 738,
@@ -10519,667 +10661,696 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000495d81e1dd9790ff561dc95495371397250466122ef461ebf706de39e1f35929f18736e96131c0cb92c504dc26025db20bd124ece9c5c04182b3f0dd79bbdaa55",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJXYHh3ZeQ/1YdyVSVNxOXJQRmEi\n70Yev3Bt454fNZKfGHNulhMcDLksUE3CYCXbIL0STs6cXAQYKz8N15u9qlU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "095d81e1dd9790ff561dc95495371397250466122ef461ebf706de39e1f35929f",
-        "wy" : "18736e96131c0cb92c504dc26025db20bd124ece9c5c04182b3f0dd79bbdaa55"
+        "uncompressed" : "04a60f67988936eb09516548355a6731e04c62f2fb5be99668a819d3f1edcfe8ac691ec942aaa90570c5a61c3bdb6c01085829e63b87ecb5e80fa9d305b1f3e151",
+        "wx" : "0a60f67988936eb09516548355a6731e04c62f2fb5be99668a819d3f1edcfe8ac",
+        "wy" : "691ec942aaa90570c5a61c3bdb6c01085829e63b87ecb5e80fa9d305b1f3e151"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a60f67988936eb09516548355a6731e04c62f2fb5be99668a819d3f1edcfe8ac691ec942aaa90570c5a61c3bdb6c01085829e63b87ecb5e80fa9d305b1f3e151",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKYPZ5iJNusJUWVINVpnMeBMYvL7\nW+mWaKgZ0/Htz+isaR7JQqqpBXDFphw722wBCFgp5juH7LXoD6nTBbHz4VE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 739,
           "comment" : "u1 == 1",
           "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce00220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce20220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000482fd28b9fad4a324f2f1124c8c3bf4577b6ac6635377d01dc539399dfc48fe8e54435ac2fa06f4e74b8ec7276a185b15419182366e4bee335335a2b87f27a9bc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIL9KLn61KMk8vESTIw79Fd7asZj\nU3fQHcU5OZ38SP6OVENawvoG9OdLjscnahhbFUGRgjZuS+4zUzWiuH8nqbw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "082fd28b9fad4a324f2f1124c8c3bf4577b6ac6635377d01dc539399dfc48fe8e",
-        "wy" : "54435ac2fa06f4e74b8ec7276a185b15419182366e4bee335335a2b87f27a9bc"
+        "uncompressed" : "04a68baf3367bc5d28f24eaa740ccb4f115f02e8e0d86d389d2f0679d522a21f3b57d331289faf2dc50f95d4e2cbfa7ace61c1fbbe73c628d78e78f1ed57e982e5",
+        "wx" : "0a68baf3367bc5d28f24eaa740ccb4f115f02e8e0d86d389d2f0679d522a21f3b",
+        "wy" : "57d331289faf2dc50f95d4e2cbfa7ace61c1fbbe73c628d78e78f1ed57e982e5"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a68baf3367bc5d28f24eaa740ccb4f115f02e8e0d86d389d2f0679d522a21f3b57d331289faf2dc50f95d4e2cbfa7ace61c1fbbe73c628d78e78f1ed57e982e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKaLrzNnvF0o8k6qdAzLTxFfAujg\n2G04nS8GedUioh87V9MxKJ+vLcUPldTiy/p6zmHB+75zxijXjnjx7VfpguU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 740,
           "comment" : "u1 == n - 1",
           "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ec2ca240d708aee13f51f45e3d81caf3abc0a12056c6473f4ac77d06a9243593074913904d9383dc793a752bb29085bebbcbd221080f05137ea2633e00c9f38",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC7CyiQNcIruE/UfRePYHK86vAoS\nBWxkc/Ssd9BqkkNZMHSROQTZOD3Hk6dSuykIW+u8vSIQgPBRN+omM+AMnzg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "2ec2ca240d708aee13f51f45e3d81caf3abc0a12056c6473f4ac77d06a924359",
-        "wy" : "3074913904d9383dc793a752bb29085bebbcbd221080f05137ea2633e00c9f38"
+        "uncompressed" : "040fd5ca9814b5dd0bb7dde76609785bc61ed9490ffff8e67d4d8cb67de0982ddda61b90df51db44af8adbbfd524b7eb3dd1eb652d13dd0a2e17049bed1ad20b23",
+        "wx" : "0fd5ca9814b5dd0bb7dde76609785bc61ed9490ffff8e67d4d8cb67de0982ddd",
+        "wy" : "0a61b90df51db44af8adbbfd524b7eb3dd1eb652d13dd0a2e17049bed1ad20b23"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040fd5ca9814b5dd0bb7dde76609785bc61ed9490ffff8e67d4d8cb67de0982ddda61b90df51db44af8adbbfd524b7eb3dd1eb652d13dd0a2e17049bed1ad20b23",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA/VypgUtd0Lt93nZgl4W8Ye2UkP\n//jmfU2Mtn3gmC3dphuQ31HbRK+K27/VJLfrPdHrZS0T3QouFwSb7RrSCyM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 741,
           "comment" : "u2 == 1",
           "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000437e96dd49cec4da55325782300d56bad85ceb0bb89a68f489d58b0cab883bdd745684243865d704269ceb1d8682dd370c4b5456ebda33d60dba0c1fba8493db7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDfpbdSc7E2lUyV4IwDVa62FzrC7\niaaPSJ1YsMq4g73XRWhCQ4ZdcEJpzrHYaC3TcMS1RW69oz1g26DB+6hJPbc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "37e96dd49cec4da55325782300d56bad85ceb0bb89a68f489d58b0cab883bdd7",
-        "wy" : "45684243865d704269ceb1d8682dd370c4b5456ebda33d60dba0c1fba8493db7"
+        "uncompressed" : "047289e13555ea568fe89151d61e5c072f4b35897600ae7bf9e2b2aa0e5fb3f0f33e3148ae84ca2d0bf8c771bf330be074b3524d7bf0d2bea2f5ae3ec101cca105",
+        "wx" : "7289e13555ea568fe89151d61e5c072f4b35897600ae7bf9e2b2aa0e5fb3f0f3",
+        "wy" : "3e3148ae84ca2d0bf8c771bf330be074b3524d7bf0d2bea2f5ae3ec101cca105"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047289e13555ea568fe89151d61e5c072f4b35897600ae7bf9e2b2aa0e5fb3f0f33e3148ae84ca2d0bf8c771bf330be074b3524d7bf0d2bea2f5ae3ec101cca105",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHKJ4TVV6laP6JFR1h5cBy9LNYl2\nAK57+eKyqg5fs/DzPjFIroTKLQv4x3G/MwvgdLNSTXvw0r6i9a4+wQHMoQU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 742,
           "comment" : "u2 == n - 1",
           "msg" : "54657374",
-          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022071523a926bf4712829995c6069025e4bb2d0fc6d23966f4fb5695f01ba3039c7",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022071523a926bf4712829995c6069025e4bb2d0fc6d23966f4fb5695f01ba3039c5",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049f787c4b132b722d1c5a34042e8587d001b379a0f884bff21335a91e7e393b798a1c1eaf1520068b6e891222a434e9c61f3490fffdd855e4f54765105a6fccd6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJ94fEsTK3ItHFo0BC6Fh9ABs3mg\n+IS/8hM1qR5+OTt5ihwerxUgBotuiRIipDTpxh80kP/92FXk9UdlEFpvzNY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "09f787c4b132b722d1c5a34042e8587d001b379a0f884bff21335a91e7e393b79",
-        "wy" : "08a1c1eaf1520068b6e891222a434e9c61f3490fffdd855e4f54765105a6fccd6"
+        "uncompressed" : "040e5c985b558157eb8ea717ed9662ba521d3c54164d7fe2ce3aaff1d395f90c076dd5d9ad049a537b684974297a1f91eadb3b7a97164ec381efbb3b0526661047",
+        "wx" : "0e5c985b558157eb8ea717ed9662ba521d3c54164d7fe2ce3aaff1d395f90c07",
+        "wy" : "6dd5d9ad049a537b684974297a1f91eadb3b7a97164ec381efbb3b0526661047"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040e5c985b558157eb8ea717ed9662ba521d3c54164d7fe2ce3aaff1d395f90c076dd5d9ad049a537b684974297a1f91eadb3b7a97164ec381efbb3b0526661047",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABA5cmFtVgVfrjqcX7ZZiulIdPFQW\nTX/izjqv8dOV+QwHbdXZrQSaU3toSXQpeh+R6ts7epcWTsOB77s7BSZmEEc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 743,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022054635633127665edff4996c3232c0589e44acce6fb989885a1b92da58cd43c44",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022054635633127665edff4996c3232c0589e44acce6fb989885a1b92da58cd43c44",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000485b0ab50fcd2814f9e98712fd08bf77e95b95fa0a3203b14e9d64511f498dd535af793c11e554ce787e6e44037ce1449ef4eca6f1087e72b809e128fed50c1e7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIWwq1D80oFPnphxL9CL936VuV+g\noyA7FOnWRRH0mN1TWveTwR5VTOeH5uRAN84USe9Oym8Qh+crgJ4Sj+1Qwec=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "085b0ab50fcd2814f9e98712fd08bf77e95b95fa0a3203b14e9d64511f498dd53",
-        "wy" : "5af793c11e554ce787e6e44037ce1449ef4eca6f1087e72b809e128fed50c1e7"
+        "uncompressed" : "04389a0c6c57397a0e5dd0dc238ff253a82d3073b4e3fca8b5ffb5f205c34651d308a535730a6987df9717111c8272fad3ac1ffb5feb5e04541682c9440863f425",
+        "wx" : "389a0c6c57397a0e5dd0dc238ff253a82d3073b4e3fca8b5ffb5f205c34651d3",
+        "wy" : "08a535730a6987df9717111c8272fad3ac1ffb5feb5e04541682c9440863f425"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004389a0c6c57397a0e5dd0dc238ff253a82d3073b4e3fca8b5ffb5f205c34651d308a535730a6987df9717111c8272fad3ac1ffb5feb5e04541682c9440863f425",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDiaDGxXOXoOXdDcI4/yU6gtMHO0\n4/yotf+18gXDRlHTCKU1cwpph9+XFxEcgnL606wf+1/rXgRUFoLJRAhj9CU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 744,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220028eb8f6fb8e5a3833700b5687f17948beeecf7c73aa9c14430ef3ca01602036",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220028eb8f6fb8e5a3833700b5687f17948beeecf7c73aa9c14430ef3ca01602036",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000482958c572d5b3db6e18567361b715b1e3aea2a399f0a3c0723fa7f39ac6ec997201815b8ab4412a36334844afb6b407290240282b4036112ddf61f281057c862",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIKVjFctWz224YVnNhtxWx466io5\nnwo8ByP6fzmsbsmXIBgVuKtEEqNjNIRK+2tAcpAkAoK0A2ES3fYfKBBXyGI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "082958c572d5b3db6e18567361b715b1e3aea2a399f0a3c0723fa7f39ac6ec997",
-        "wy" : "201815b8ab4412a36334844afb6b407290240282b4036112ddf61f281057c862"
+        "uncompressed" : "041817c8914321f6d4dea4936b11500555e57c20651db6b478761c8ea1d58632a80067bccdae9389ca4cb6e3279b1896448ff22951e5065326833487066eeedcf9",
+        "wx" : "1817c8914321f6d4dea4936b11500555e57c20651db6b478761c8ea1d58632a8",
+        "wy" : "67bccdae9389ca4cb6e3279b1896448ff22951e5065326833487066eeedcf9"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041817c8914321f6d4dea4936b11500555e57c20651db6b478761c8ea1d58632a80067bccdae9389ca4cb6e3279b1896448ff22951e5065326833487066eeedcf9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBgXyJFDIfbU3qSTaxFQBVXlfCBl\nHba0eHYcjqHVhjKoAGe8za6TicpMtuMnmxiWRI/yKVHlBlMmgzSHBm7u3Pk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 745,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207c04eb7f3730e231a1c6f86a11042f1a914b02bd83ca8e82670f9bf9d17d9e00",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207c04eb7f3730e231a1c6f86a11042f1a914b02bd83ca8e82670f9bf9d17d9e00",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043269930ec284341b0d34ffaa187f69ca4d1599daa85ff7c2ef069d75d62a2e189eb2b5ed183a18c369626e4eff08f42fb9d3286de2bcdb7c145507bd57e37a78",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDJpkw7ChDQbDTT/qhh/acpNFZna\nqF/3wu8GnXXWKi4YnrK17Rg6GMNpYm5O/wj0L7nTKG3ivNt8FFUHvVfjeng=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "3269930ec284341b0d34ffaa187f69ca4d1599daa85ff7c2ef069d75d62a2e18",
-        "wy" : "09eb2b5ed183a18c369626e4eff08f42fb9d3286de2bcdb7c145507bd57e37a78"
+        "uncompressed" : "04446e925eb47fb9e986762c3ad5600e44018b8928be7c61fee438db8f0fd76b185420796deda74ab9508ba6c45e826dbd47acbf943e87877478d6cd1b8825efad",
+        "wx" : "446e925eb47fb9e986762c3ad5600e44018b8928be7c61fee438db8f0fd76b18",
+        "wy" : "5420796deda74ab9508ba6c45e826dbd47acbf943e87877478d6cd1b8825efad"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004446e925eb47fb9e986762c3ad5600e44018b8928be7c61fee438db8f0fd76b185420796deda74ab9508ba6c45e826dbd47acbf943e87877478d6cd1b8825efad",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABERukl60f7nphnYsOtVgDkQBi4ko\nvnxh/uQ4248P12sYVCB5be2nSrlQi6bEXoJtvUesv5Q+h4d0eNbNG4gl760=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 746,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203b3b272686d138084988ae23089d57b574fbabe983e1de35694442c2b9660070",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203b3b272686d138084988ae23089d57b574fbabe983e1de35694442c2b9660070",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ebdb7c2caec4073589afde56e0f7ecd8983fcc80eac1450af82dca4328c9b7198509d877261e2f71b05059e71f9f81fe91466e51ea1b8621407ce182ffadb45",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC69t8LK7EBzWJr95W4Pfs2Jg/zI\nDqwUUK+C3KQyjJtxmFCdh3Jh4vcbBQWecfn4H+kUZuUeobhiFAfOGC/620U=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "2ebdb7c2caec4073589afde56e0f7ecd8983fcc80eac1450af82dca4328c9b71",
-        "wy" : "098509d877261e2f71b05059e71f9f81fe91466e51ea1b8621407ce182ffadb45"
+        "uncompressed" : "047742d14fff17f37674f3f1d4df982427dac545722aeafd8f3effbd40890900af693a32aa0b83dc4fe27a409e7a35f52827582d9c97f84acd24a4c3e3db67cdc6",
+        "wx" : "7742d14fff17f37674f3f1d4df982427dac545722aeafd8f3effbd40890900af",
+        "wy" : "693a32aa0b83dc4fe27a409e7a35f52827582d9c97f84acd24a4c3e3db67cdc6"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047742d14fff17f37674f3f1d4df982427dac545722aeafd8f3effbd40890900af693a32aa0b83dc4fe27a409e7a35f52827582d9c97f84acd24a4c3e3db67cdc6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHdC0U//F/N2dPPx1N+YJCfaxUVy\nKur9jz7/vUCJCQCvaToyqguD3E/iekCeejX1KCdYLZyX+ErNJKTD49tnzcY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 747,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202e67ab256e246048b8154c6bd12de75f1657f9b20e8da09beca149a517cbfb1b",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202e67ab256e246048b8154c6bd12de75f1657f9b20e8da09beca149a517cbfb1b",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042bb609b2926d816280a8104377abab010feb15a0c537081bdf3d5152ce94e5765a84ed06d11a4bfddfdc5465b1c0e4f891119cdcbaaad52eee39b046afb2c6cb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCu2CbKSbYFigKgQQ3erqwEP6xWg\nxTcIG989UVLOlOV2WoTtBtEaS/3f3FRlscDk+JERnNy6qtUu7jmwRq+yxss=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "2bb609b2926d816280a8104377abab010feb15a0c537081bdf3d5152ce94e576",
-        "wy" : "5a84ed06d11a4bfddfdc5465b1c0e4f891119cdcbaaad52eee39b046afb2c6cb"
+        "uncompressed" : "045cc07b0a02619c701b5b2112ee1e8152aa2a7d87880c2310409142046e962df40e74e8191e2ec76f8f9e3c54a59bc79ec68bff407e4ad4d6988f419b5671f25b",
+        "wx" : "5cc07b0a02619c701b5b2112ee1e8152aa2a7d87880c2310409142046e962df4",
+        "wy" : "0e74e8191e2ec76f8f9e3c54a59bc79ec68bff407e4ad4d6988f419b5671f25b"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045cc07b0a02619c701b5b2112ee1e8152aa2a7d87880c2310409142046e962df40e74e8191e2ec76f8f9e3c54a59bc79ec68bff407e4ad4d6988f419b5671f25b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFzAewoCYZxwG1shEu4egVKqKn2H\niAwjEECRQgRuli30DnToGR4ux2+PnjxUpZvHnsaL/0B+StTWmI9Bm1Zx8ls=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 748,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205ccf564adc48c091702a98d7a25bcebe2caff3641d1b4137d942934a2f97f636",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02205ccf564adc48c091702a98d7a25bcebe2caff3641d1b4137d942934a2f97f636",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045c52ce74f8178b363464f21ad35af0e4eb944c64006590b00d1f110ce66d19b696777c5dd01e7c522bccd704adeb236697617ef70b2ba24a7b8e19b02fc1dd88",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFxSznT4F4s2NGTyGtNa8OTrlExk\nAGWQsA0fEQzmbRm2lnd8XdAefFIrzNcEresjZpdhfvcLK6JKe44ZsC/B3Yg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "5c52ce74f8178b363464f21ad35af0e4eb944c64006590b00d1f110ce66d19b6",
-        "wy" : "096777c5dd01e7c522bccd704adeb236697617ef70b2ba24a7b8e19b02fc1dd88"
+        "uncompressed" : "045598267f28a0d095cac9d4b6e4f8157c73d48d6a76b72c8f3a8115ecfe5e28a72d651136d13e039ce4c134dd5572ffdc996bee018b3d01439df62a538ceac8a7",
+        "wx" : "5598267f28a0d095cac9d4b6e4f8157c73d48d6a76b72c8f3a8115ecfe5e28a7",
+        "wy" : "2d651136d13e039ce4c134dd5572ffdc996bee018b3d01439df62a538ceac8a7"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045598267f28a0d095cac9d4b6e4f8157c73d48d6a76b72c8f3a8115ecfe5e28a72d651136d13e039ce4c134dd5572ffdc996bee018b3d01439df62a538ceac8a7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFWYJn8ooNCVysnUtuT4FXxz1I1q\ndrcsjzqBFez+XiinLWURNtE+A5zkwTTdVXL/3Jlr7gGLPQFDnfYqU4zqyKc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 749,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221008197dc78d6ccee9677df5d99f382c80c19dd0d78babbb86810d8398b0c911414",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008197dc78d6ccee9677df5d99f382c80c19dd0d78babbb86810d8398b0c911414",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ffe3a34411ff56f7c7de85601cf4a07bfb39623ef660ceb0ab4493be8911362735028764c6e7812195d792ebc7e5954755f3e35c28467f72a7890bbbf403f7f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC/+OjRBH/VvfH3oVgHPSge/s5Yj\n72YM6wq0STvokRNic1AodkxueBIZXXkuvH5ZVHVfPjXChGf3KniQu79AP38=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "2ffe3a34411ff56f7c7de85601cf4a07bfb39623ef660ceb0ab4493be8911362",
-        "wy" : "735028764c6e7812195d792ebc7e5954755f3e35c28467f72a7890bbbf403f7f"
+        "uncompressed" : "0480e25f21cd7b8be2bab4183194edbd22b0ca53fd70f344e42988a396b0f2c6e2991e27d9c14c1dbb5e1889956a7328159da9dbac082b93b289cc90b28f96a65a",
+        "wx" : "080e25f21cd7b8be2bab4183194edbd22b0ca53fd70f344e42988a396b0f2c6e2",
+        "wy" : "0991e27d9c14c1dbb5e1889956a7328159da9dbac082b93b289cc90b28f96a65a"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000480e25f21cd7b8be2bab4183194edbd22b0ca53fd70f344e42988a396b0f2c6e2991e27d9c14c1dbb5e1889956a7328159da9dbac082b93b289cc90b28f96a65a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIDiXyHNe4viurQYMZTtvSKwylP9\ncPNE5CmIo5aw8sbimR4n2cFMHbteGImVanMoFZ2p26wIK5OyicyQso+Wplo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 750,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207552d8ce45674b223735b1c2d0946581cd062d494a89f42f58f0ee1bc5c0f318",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02207552d8ce45674b223735b1c2d0946581cd062d494a89f42f58f0ee1bc5c0f318",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000464aa0c89a2b612b682080395da8601d8d19cd7ca163c01ee8d012ddace8e82ec4114ff212a262a25f7983ef1caa8fc5c781a06462c7f556e69f164aaf9ec0f40",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGSqDImithK2gggDldqGAdjRnNfK\nFjwB7o0BLdrOjoLsQRT/ISomKiX3mD7xyqj8XHgaBkYsf1VuafFkqvnsD0A=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "64aa0c89a2b612b682080395da8601d8d19cd7ca163c01ee8d012ddace8e82ec",
-        "wy" : "4114ff212a262a25f7983ef1caa8fc5c781a06462c7f556e69f164aaf9ec0f40"
+        "uncompressed" : "04680de45fd1e6c38819ae4bdd43d61482752fa43e8138a9a390364cecf36b4ef28b90de2f260f747fee8a963ae308349aa6b816e6be814035cbc68448eae27272",
+        "wx" : "680de45fd1e6c38819ae4bdd43d61482752fa43e8138a9a390364cecf36b4ef2",
+        "wy" : "08b90de2f260f747fee8a963ae308349aa6b816e6be814035cbc68448eae27272"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004680de45fd1e6c38819ae4bdd43d61482752fa43e8138a9a390364cecf36b4ef28b90de2f260f747fee8a963ae308349aa6b816e6be814035cbc68448eae27272",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGgN5F/R5sOIGa5L3UPWFIJ1L6Q+\ngTipo5A2TOzza07yi5DeLyYPdH/uipY64wg0mqa4Fua+gUA1y8aESOricnI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 751,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202a988eeb5d91279714eb150faea4838ede06b16567dc73919515d28ff04a12d7",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202a988eeb5d91279714eb150faea4838ede06b16567dc73919515d28ff04a12d7",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000480af66c253b93acb4d5c06d22fba4dfec149d243af9fad96b9b0ab792ba38c4f171eb35aee0ad693d6ac63adf2813840f13e6432cb498ad9eb0356f6abe7d503",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABICvZsJTuTrLTVwG0i+6Tf7BSdJD\nr5+tlrmwq3kro4xPFx6zWu4K1pPWrGOt8oE4QPE+ZDLLSYrZ6wNW9qvn1QM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "080af66c253b93acb4d5c06d22fba4dfec149d243af9fad96b9b0ab792ba38c4f",
-        "wy" : "171eb35aee0ad693d6ac63adf2813840f13e6432cb498ad9eb0356f6abe7d503"
+        "uncompressed" : "0452d9e8e7e7a728f24a61ef3713375ade942d708d9bc061f500fd32d493f48fbd0f3883d1a55680f69a0fe6909da55f506e9937837e244e20550019a17ba9c370",
+        "wx" : "52d9e8e7e7a728f24a61ef3713375ade942d708d9bc061f500fd32d493f48fbd",
+        "wy" : "0f3883d1a55680f69a0fe6909da55f506e9937837e244e20550019a17ba9c370"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000452d9e8e7e7a728f24a61ef3713375ade942d708d9bc061f500fd32d493f48fbd0f3883d1a55680f69a0fe6909da55f506e9937837e244e20550019a17ba9c370",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFLZ6OfnpyjySmHvNxM3Wt6ULXCN\nm8Bh9QD9MtST9I+9DziD0aVWgPaaD+aQnaVfUG6ZN4N+JE4gVQAZoXupw3A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 752,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220559801a88f7843ce3f1c73cd7a5787e7a7eeadbcb9c90e71ee64e0dd0a741a63",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220559801a88f7843ce3f1c73cd7a5787e7a7eeadbcb9c90e71ee64e0dd0a741a63",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000420d1a06bd6fda62e0a9ee8be88681234d04a519a44b25a8515746c44aad5787226d00ef3ec03a34b07efbbf1185bc6ce1f30ed780812dcebefe046fc9be6d9dc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCDRoGvW/aYuCp7ovohoEjTQSlGa\nRLJahRV0bESq1XhyJtAO8+wDo0sH77vxGFvGzh8w7XgIEtzr7+BG/Jvm2dw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "20d1a06bd6fda62e0a9ee8be88681234d04a519a44b25a8515746c44aad57872",
-        "wy" : "26d00ef3ec03a34b07efbbf1185bc6ce1f30ed780812dcebefe046fc9be6d9dc"
+        "uncompressed" : "04a00c60235109352c589563a590d61adbe34d84bddd6e82c2f42efb871527011778035471de3b72ddc3caf6981824aa4ce301405610156deb90ea9aa316a8ba66",
+        "wx" : "0a00c60235109352c589563a590d61adbe34d84bddd6e82c2f42efb8715270117",
+        "wy" : "78035471de3b72ddc3caf6981824aa4ce301405610156deb90ea9aa316a8ba66"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a00c60235109352c589563a590d61adbe34d84bddd6e82c2f42efb871527011778035471de3b72ddc3caf6981824aa4ce301405610156deb90ea9aa316a8ba66",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKAMYCNRCTUsWJVjpZDWGtvjTYS9\n3W6CwvQu+4cVJwEXeANUcd47ct3DyvaYGCSqTOMBQFYQFW3rkOqaoxaoumY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 753,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202b66568f063d10d73f77a86be8c18522b5c947493bfcc22f1d884a0a4409fc41",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02202b66568f063d10d73f77a86be8c18522b5c947493bfcc22f1d884a0a4409fc41",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049b3fc0ecd0fc126fa2c539e0f0b1eb3228829664c841775a4d35032500a8a04522de521356799e53e43a4f5a62ddfc98aae4a3cb9f0ae2096224df1e84e90dd6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJs/wOzQ/BJvosU54PCx6zIogpZk\nyEF3Wk01AyUAqKBFIt5SE1Z5nlPkOk9aYt38mKrko8ufCuIJYiTfHoTpDdY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "09b3fc0ecd0fc126fa2c539e0f0b1eb3228829664c841775a4d35032500a8a045",
-        "wy" : "22de521356799e53e43a4f5a62ddfc98aae4a3cb9f0ae2096224df1e84e90dd6"
+        "uncompressed" : "045758f9e402a4bafd82594d0d26ed47a5f8e9c50526d34b34b47d0875b9fe7b1404f3f8095376d54dfc10d83c938a18175a64517e3b464edd058f5b8626d837c5",
+        "wx" : "5758f9e402a4bafd82594d0d26ed47a5f8e9c50526d34b34b47d0875b9fe7b14",
+        "wy" : "4f3f8095376d54dfc10d83c938a18175a64517e3b464edd058f5b8626d837c5"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045758f9e402a4bafd82594d0d26ed47a5f8e9c50526d34b34b47d0875b9fe7b1404f3f8095376d54dfc10d83c938a18175a64517e3b464edd058f5b8626d837c5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFdY+eQCpLr9gllNDSbtR6X46cUF\nJtNLNLR9CHW5/nsUBPP4CVN21U38ENg8k4oYF1pkUX47Rk7dBY9bhibYN8U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 754,
           "comment" : "edge case for u1",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203e0275bf9b987118d0e37c350882178d48a5815ec1e547413387cdfce8becf00",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02203e0275bf9b987118d0e37c350882178d48a5815ec1e547413387cdfce8becf00",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004265900656b73d7f3023419513d3809a9f7553280756451a4f5b9696f4ec4630b8b4ab325d5fa8831b16699993dc49cc87db870fd1789869614653b38e0c74219",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCZZAGVrc9fzAjQZUT04Can3VTKA\ndWRRpPW5aW9OxGMLi0qzJdX6iDGxZpmZPcScyH24cP0XiYaWFGU7OODHQhk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "265900656b73d7f3023419513d3809a9f7553280756451a4f5b9696f4ec4630b",
-        "wy" : "08b4ab325d5fa8831b16699993dc49cc87db870fd1789869614653b38e0c74219"
+        "uncompressed" : "042fa1d8ac0d02da83a998f767bd854b1a043e383d5159e7077e35ed3a9ca8194212d7fb2b95e867ed0b24e45093d639f1fed68162aa51e60ad2e45de012b8e94a",
+        "wx" : "2fa1d8ac0d02da83a998f767bd854b1a043e383d5159e7077e35ed3a9ca81942",
+        "wy" : "12d7fb2b95e867ed0b24e45093d639f1fed68162aa51e60ad2e45de012b8e94a"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042fa1d8ac0d02da83a998f767bd854b1a043e383d5159e7077e35ed3a9ca8194212d7fb2b95e867ed0b24e45093d639f1fed68162aa51e60ad2e45de012b8e94a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABC+h2KwNAtqDqZj3Z72FSxoEPjg9\nUVnnB3417TqcqBlCEtf7K5XoZ+0LJORQk9Y58f7WgWKqUeYK0uRd4BK46Uo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 755,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009bfce53d169f1bd2d444070b13ad08f65d7ba717ce4119fa601409ac64dae46e",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02206353c7f3e0a4e33ebf7758dadf2bd9d0841328e13c75e252855f5a2b87c2c78c",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042c26be9c36920f0066ec7816cf910e99cff1ed2a4f76f2762a8a9bb2312247152f594f09d6ac32cf0b761eea8a29ba67511765ffc5c67ca093e92a09171b4e4a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCwmvpw2kg8AZux4Fs+RDpnP8e0q\nT3bydiqKm7IxIkcVL1lPCdasMs8Ldh7qiim6Z1EXZf/Fxnygk+kqCRcbTko=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "2c26be9c36920f0066ec7816cf910e99cff1ed2a4f76f2762a8a9bb231224715",
-        "wy" : "2f594f09d6ac32cf0b761eea8a29ba67511765ffc5c67ca093e92a09171b4e4a"
+        "uncompressed" : "043e09805fe499d1bcd7a4388fe03c4bd3eaf6371cdb3e7afd748cde52ae897c0219e65e9b77ef754d77140c20b8c89074950f7e71cbc7d97e0dc879371aa3306c",
+        "wx" : "3e09805fe499d1bcd7a4388fe03c4bd3eaf6371cdb3e7afd748cde52ae897c02",
+        "wy" : "19e65e9b77ef754d77140c20b8c89074950f7e71cbc7d97e0dc879371aa3306c"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043e09805fe499d1bcd7a4388fe03c4bd3eaf6371cdb3e7afd748cde52ae897c0219e65e9b77ef754d77140c20b8c89074950f7e71cbc7d97e0dc879371aa3306c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABD4JgF/kmdG816Q4j+A8S9Pq9jcc\n2z56/XSM3lKuiXwCGeZem3fvdU13FAwguMiQdJUPfnHLx9l+Dch5NxqjMGw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 756,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022073cc15985005002b760de9b44659915f135c8ab1915ba5c83b2c80b6c1a82969",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022014899bc6ff5e72338f3c9847fa6531c4337fde3fcf1c8c32f768fba3a402a964",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040cde1d4275e01f57e5a78968b6da29d704b12d7ee15ffdbf67edb53937f575504c95a2f102571f765c509a89ac7a6ced5fede55b339eed9032f49bd627f75280",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABAzeHUJ14B9X5aeJaLbaKdcEsS1+\n4V/9v2fttTk39XVQTJWi8QJXH3ZcUJqJrHps7V/t5Vsznu2QMvSb1if3UoA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "0cde1d4275e01f57e5a78968b6da29d704b12d7ee15ffdbf67edb53937f57550",
-        "wy" : "4c95a2f102571f765c509a89ac7a6ced5fede55b339eed9032f49bd627f75280"
+        "uncompressed" : "047e69909dbc544342a5bee9af766347526fea9bea526bd8a2728d80253c01c204a3490b6583c6bf44a3791b61a298dc18be55d3593c24b8a013747f9877f66e61",
+        "wx" : "7e69909dbc544342a5bee9af766347526fea9bea526bd8a2728d80253c01c204",
+        "wy" : "0a3490b6583c6bf44a3791b61a298dc18be55d3593c24b8a013747f9877f66e61"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047e69909dbc544342a5bee9af766347526fea9bea526bd8a2728d80253c01c204a3490b6583c6bf44a3791b61a298dc18be55d3593c24b8a013747f9877f66e61",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH5pkJ28VENCpb7pr3ZjR1Jv6pvq\nUmvYonKNgCU8AcIEo0kLZYPGv0SjeRthopjcGL5V01k8JLigE3R/mHf2bmE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 757,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202734eb40a83223e55a56bdd25adaa186476696d438be1c46a9a8c442bc7a8b3f",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022072655c5e4f1cefca22f413a612e5bfdd7ba9ae71053f68b0c74d9a73590013c3",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043795af819ed2bafdc708718f4f0b10c1362ae0210bd7c63c4f243ca7ce725e8927952b02af7554f50f4e0c71150b6a03c864479bfeca00a799a13212288c1c01",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDeVr4Ge0rr9xwhxj08LEME2KuAh\nC9fGPE8kPKfOcl6JJ5UrAq91VPUPTgxxFQtqA8hkR5v+ygCnmaEyEiiMHAE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "3795af819ed2bafdc708718f4f0b10c1362ae0210bd7c63c4f243ca7ce725e89",
-        "wy" : "27952b02af7554f50f4e0c71150b6a03c864479bfeca00a799a13212288c1c01"
+        "uncompressed" : "046be621988af517a22e1549cb23416dc2cf8d8accdd8d083708e6d655f155ccfe8eb87277219356972a3bd0dac5f549ac52315c43e0edea9d6e24f2ff952029d0",
+        "wx" : "6be621988af517a22e1549cb23416dc2cf8d8accdd8d083708e6d655f155ccfe",
+        "wy" : "08eb87277219356972a3bd0dac5f549ac52315c43e0edea9d6e24f2ff952029d0"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046be621988af517a22e1549cb23416dc2cf8d8accdd8d083708e6d655f155ccfe8eb87277219356972a3bd0dac5f549ac52315c43e0edea9d6e24f2ff952029d0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGvmIZiK9ReiLhVJyyNBbcLPjYrM\n3Y0INwjm1lXxVcz+jrhydyGTVpcqO9DaxfVJrFIxXEPg7eqdbiTy/5UgKdA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 758,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009f5af50acc7c29e9a1df221ad37bacb5da3cdd447f515fa64b241ffd910eae3f",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a2030dbf01d8c9de2900dc3845fda4e4c6bc049c4cd5717a9c629b9ed29d1859",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000459dcdf8fd82ad6aacf29c588ffdf9aeab54c89f6729cdc0c286d5c115bb5309071d4aec02802a39e801f793e87c96dfb7ff414adb24e609fd811835e5947bbb4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFnc34/YKtaqzynFiP/fmuq1TIn2\ncpzcDChtXBFbtTCQcdSuwCgCo56AH3k+h8lt+3/0FK2yTmCf2BGDXllHu7Q=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "59dcdf8fd82ad6aacf29c588ffdf9aeab54c89f6729cdc0c286d5c115bb53090",
-        "wy" : "71d4aec02802a39e801f793e87c96dfb7ff414adb24e609fd811835e5947bbb4"
+        "uncompressed" : "045ae6afae79752250b1ea02f49cd75aa899418631041172b2e3db31ca7abb2ab22bef1f798389a216b0322419fd7a76e4448b3d1abe425b47d84307e4553ad352",
+        "wx" : "5ae6afae79752250b1ea02f49cd75aa899418631041172b2e3db31ca7abb2ab2",
+        "wy" : "2bef1f798389a216b0322419fd7a76e4448b3d1abe425b47d84307e4553ad352"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200045ae6afae79752250b1ea02f49cd75aa899418631041172b2e3db31ca7abb2ab22bef1f798389a216b0322419fd7a76e4448b3d1abe425b47d84307e4553ad352",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFrmr655dSJQseoC9JzXWqiZQYYx\nBBFysuPbMcp6uyqyK+8feYOJohawMiQZ/Xp25ESLPRq+QltH2EMH5FU601I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 759,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009f262626689b3c3235e93e8da30543ddfbde2af812938a380f4440b645187da7",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022100a1db7293b6f01594b808718e61a4d642dff4fee2fb471167ef7ab42959a473e7",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004133904e1f94786758e63ddf382bd25b59793ce16e81dc33f794e9581cde8da644a099fe3b67dace481cae93f0ae7ece905e5ff3b411c0a6a2db4e20a228fe61f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBM5BOH5R4Z1jmPd84K9JbWXk84W\n6B3DP3lOlYHN6NpkSgmf47Z9rOSByuk/Cufs6QXl/ztBHApqLbTiCiKP5h8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "133904e1f94786758e63ddf382bd25b59793ce16e81dc33f794e9581cde8da64",
-        "wy" : "4a099fe3b67dace481cae93f0ae7ece905e5ff3b411c0a6a2db4e20a228fe61f"
+        "uncompressed" : "0418350252507cc26e4a12bf3e483e02dee74809382c8e640ca635b06c27b51a4e97578f3ef03fae837a178d50a9c94d7af61d6070dd13a72409925ec6b331326c",
+        "wx" : "18350252507cc26e4a12bf3e483e02dee74809382c8e640ca635b06c27b51a4e",
+        "wy" : "097578f3ef03fae837a178d50a9c94d7af61d6070dd13a72409925ec6b331326c"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000418350252507cc26e4a12bf3e483e02dee74809382c8e640ca635b06c27b51a4e97578f3ef03fae837a178d50a9c94d7af61d6070dd13a72409925ec6b331326c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBg1AlJQfMJuShK/Pkg+At7nSAk4\nLI5kDKY1sGwntRpOl1ePPvA/roN6F41QqclNevYdYHDdE6ckCZJexrMxMmw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 760,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009450f4712f47cea82d6c728aa886fa4a6b82db4c6fc56d788e6a72e9f2e8a4a7",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd02210099bb8d4bcbf1816d31aad88c25c61f1433b08322412c7bd84ed759d01c009127",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046d36cf5d643e4c77be28a30ef74d5016c5dfcba4f181467a0d8d419c28c0e9010f09dad5ab90679b3baf6cce79d8d87c07005a868133dcc898da81c2c760ae55",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABG02z11kPkx3viijDvdNUBbF38uk\n8YFGeg2NQZwowOkBDwna1auQZ5s7r2zOedjYfAcAWoaBM9zImNqBwsdgrlU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "6d36cf5d643e4c77be28a30ef74d5016c5dfcba4f181467a0d8d419c28c0e901",
-        "wy" : "0f09dad5ab90679b3baf6cce79d8d87c07005a868133dcc898da81c2c760ae55"
+        "uncompressed" : "040943cc104456d87a712b8aaf7113d43be64404dcd0f8ed707ae3286e3db5323f43862753ab1b05e3f8d425498514caf178a7602ebe43a71ceeec6da14f880e4c",
+        "wx" : "0943cc104456d87a712b8aaf7113d43be64404dcd0f8ed707ae3286e3db5323f",
+        "wy" : "43862753ab1b05e3f8d425498514caf178a7602ebe43a71ceeec6da14f880e4c"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040943cc104456d87a712b8aaf7113d43be64404dcd0f8ed707ae3286e3db5323f43862753ab1b05e3f8d425498514caf178a7602ebe43a71ceeec6da14f880e4c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAlDzBBEVth6cSuKr3ET1DvmRATc\n0PjtcHrjKG49tTI/Q4YnU6sbBeP41CVJhRTK8XinYC6+Q6cc7uxtoU+IDkw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 761,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02201f156d9a2bd05b6f7a2c27c80f9bb73f8d540acc23b13705d91483d681e34edf",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022041cee82a6957ef02ab3aa07a3315accc0d0d66c2081d530246d6e681873c90d1",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004346a4c284d5f5aab6577fa8eaab3f465bd8dc99f91c0fc327d0dcf9f330293c24acc9f6c82b403b78f97b31e5f5ebadee52429716a3bd484478497ae649d2e66",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDRqTChNX1qrZXf6jqqz9GW9jcmf\nkcD8Mn0Nz58zApPCSsyfbIK0A7ePl7MeX1663uUkKXFqO9SER4SXrmSdLmY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "346a4c284d5f5aab6577fa8eaab3f465bd8dc99f91c0fc327d0dcf9f330293c2",
-        "wy" : "4acc9f6c82b403b78f97b31e5f5ebadee52429716a3bd484478497ae649d2e66"
+        "uncompressed" : "0464931339acdda82764a00229d8d266b131122302fa3eb440cfda72cf81ad554e92ddffa1e7690efc1a4a8408e1e3c5e599aa9811f26d51852c9ceeabdfe5e5c7",
+        "wx" : "64931339acdda82764a00229d8d266b131122302fa3eb440cfda72cf81ad554e",
+        "wy" : "092ddffa1e7690efc1a4a8408e1e3c5e599aa9811f26d51852c9ceeabdfe5e5c7"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000464931339acdda82764a00229d8d266b131122302fa3eb440cfda72cf81ad554e92ddffa1e7690efc1a4a8408e1e3c5e599aa9811f26d51852c9ceeabdfe5e5c7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGSTEzms3agnZKACKdjSZrExEiMC\n+j60QM/acs+BrVVOkt3/oedpDvwaSoQI4ePF5ZmqmBHybVGFLJzuq9/l5cc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 762,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022033d58cc129940d5af53f5f8a6fd82d430e26df908bf649e8d1f5235cfd35de4a",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220746d61572ecae774691e7809121986d9b93279b00934ff1def1f4798da89ad4c",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046af61f84384de5591090cb3b6d8c592094f3702c2401eee392c920a43e927390a87f47a6d5db9e88ac2001e1843a3ce4c664bc33aedccef5f104f3d38501ca92",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGr2H4Q4TeVZEJDLO22MWSCU83As\nJAHu45LJIKQ+knOQqH9HptXbnoisIAHhhDo85MZkvDOu3M718QTz04UBypI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "6af61f84384de5591090cb3b6d8c592094f3702c2401eee392c920a43e927390",
-        "wy" : "0a87f47a6d5db9e88ac2001e1843a3ce4c664bc33aedccef5f104f3d38501ca92"
+        "uncompressed" : "04018d755e5540692f87b6e01864be3cc272a468f3fccdd535cc0c2f1c75e0abd04c7c7155f0e9686de0fcbcf93a39d50c2e2adf8b0362676b31e9a49bdcaadbb7",
+        "wx" : "18d755e5540692f87b6e01864be3cc272a468f3fccdd535cc0c2f1c75e0abd0",
+        "wy" : "4c7c7155f0e9686de0fcbcf93a39d50c2e2adf8b0362676b31e9a49bdcaadbb7"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004018d755e5540692f87b6e01864be3cc272a468f3fccdd535cc0c2f1c75e0abd04c7c7155f0e9686de0fcbcf93a39d50c2e2adf8b0362676b31e9a49bdcaadbb7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAGNdV5VQGkvh7bgGGS+PMJypGjz\n/M3VNcwMLxx14KvQTHxxVfDpaG3g/Lz5OjnVDC4q34sDYmdrMemkm9yq27c=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 763,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02201ea9a1bf078a5e9b9c16ad03b139ada7747e8d07ef6b08a8cab1588ecc48f6d0",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0220281b26a0908968099f8e1f610f4f358318baa21107b791ef6f24cb244677a64b",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046c98913484d659ac8bb2d2dec96505eadca3b1d9703a71c558655b8a9f3513c66f905ec936941a5798720c32847c2166a91e875f66d1949b9bfc9b3a7217c80a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGyYkTSE1lmsi7LS3sllBerco7HZ\ncDpxxVhlW4qfNRPGb5BeyTaUGleYcgwyhHwhZqkeh19m0ZSbm/ybOnIXyAo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "6c98913484d659ac8bb2d2dec96505eadca3b1d9703a71c558655b8a9f3513c6",
-        "wy" : "6f905ec936941a5798720c32847c2166a91e875f66d1949b9bfc9b3a7217c80a"
+        "uncompressed" : "0453ee3f75ed7275550c4b1604f68fbc4c411006b13da809d5ae6a14cb37bafef57d26222d2d7236b9d7e3ac4225100d68764c37c77b80f24f7c65e579d13d9727",
+        "wx" : "53ee3f75ed7275550c4b1604f68fbc4c411006b13da809d5ae6a14cb37bafef5",
+        "wy" : "7d26222d2d7236b9d7e3ac4225100d68764c37c77b80f24f7c65e579d13d9727"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000453ee3f75ed7275550c4b1604f68fbc4c411006b13da809d5ae6a14cb37bafef57d26222d2d7236b9d7e3ac4225100d68764c37c77b80f24f7c65e579d13d9727",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFPuP3XtcnVVDEsWBPaPvExBEAax\nPagJ1a5qFMs3uv71fSYiLS1yNrnX46xCJRANaHZMN8d7gPJPfGXledE9lyc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 764,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02200dfe729e8b4f8de96a22038589d6847b2ebdd38be7208cfd300a04d6326d7239",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022046a78fe7c149c67d7eeeb1b5be57b3a1082651c278ebc4a50abeb4570f858f1b",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040c30a40dbad124c50fc8b4000a51545523384fdc0cdc267cf734f65fb55902fd4630e4eaed17c12345efc9c8b5de7fc04271bf65ede03ee3df4668a9619d935f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABAwwpA260STFD8i0AApRVFUjOE/c\nDNwmfPc09l+1WQL9RjDk6u0XwSNF78nItd5/wEJxv2Xt4D7j30ZoqWGdk18=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "0c30a40dbad124c50fc8b4000a51545523384fdc0cdc267cf734f65fb55902fd",
-        "wy" : "4630e4eaed17c12345efc9c8b5de7fc04271bf65ede03ee3df4668a9619d935f"
+        "uncompressed" : "0486fd25de250bd6e9c272d4a3e7f28edea934b7f043050b765ab755200f4e2900a2238299783c290a0b4d4f3bfe37645719967000466f29882e895f54c3eb7f8f",
+        "wx" : "086fd25de250bd6e9c272d4a3e7f28edea934b7f043050b765ab755200f4e2900",
+        "wy" : "0a2238299783c290a0b4d4f3bfe37645719967000466f29882e895f54c3eb7f8f"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000486fd25de250bd6e9c272d4a3e7f28edea934b7f043050b765ab755200f4e2900a2238299783c290a0b4d4f3bfe37645719967000466f29882e895f54c3eb7f8f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIb9Jd4lC9bpwnLUo+fyjt6pNLfw\nQwULdlq3VSAPTikAoiOCmXg8KQoLTU87/jdkVxmWcABGbymILolfVMPrf48=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 765,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022069fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a9",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd022014fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b55",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046ca3fc25839a95af403e37794bad8a08e0f87fceb7ac68468704284807f65601681f87c95a55f1e210fe96f2d89c330b45fa034006c5280ce5c1770f091138b6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGyj/CWDmpWvQD43eUutigjg+H/O\nt6xoRocEKEgH9lYBaB+HyVpV8eIQ/pby2JwzC0X6A0AGxSgM5cF3DwkROLY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "6ca3fc25839a95af403e37794bad8a08e0f87fceb7ac68468704284807f65601",
-        "wy" : "681f87c95a55f1e210fe96f2d89c330b45fa034006c5280ce5c1770f091138b6"
+        "uncompressed" : "041cc2c242a63d44b90f67f35aca9fd5cc0b25d384ee9648a05279d476f9aa748c6cb072f7336cf89f483542721c9ba71197e9bf387299d9807ef7924b9e7c083c",
+        "wx" : "1cc2c242a63d44b90f67f35aca9fd5cc0b25d384ee9648a05279d476f9aa748c",
+        "wy" : "6cb072f7336cf89f483542721c9ba71197e9bf387299d9807ef7924b9e7c083c"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200041cc2c242a63d44b90f67f35aca9fd5cc0b25d384ee9648a05279d476f9aa748c6cb072f7336cf89f483542721c9ba71197e9bf387299d9807ef7924b9e7c083c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABBzCwkKmPUS5D2fzWsqf1cwLJdOE\n7pZIoFJ51Hb5qnSMbLBy9zNs+J9INUJyHJunEZfpvzhymdmAfveSS558CDw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 766,
           "comment" : "edge case for u2",
           "msg" : "54657374",
-          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206898218e251066d0cc5e64317c2f177be9d008bbf70fe19f1ce36962a9e170f3",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0221008e305a1cf885ccc330ad0f1b5834a6a783f1948a5d5087d42bb5d47af8243535",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b254471c1b4633bf35e53fcfdd6ec8bd1d30e94d342809e19e651ea265b9b09b7240c1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsNMeTsOfGUFG4/6WSLuk5s2dXK\nX43RMEzewNOWslRHHBtGM7815T/P3W7IvR0w6U00KAnhnmUeomW5sJtyQME=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "3b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b25447",
-        "wy" : "1c1b4633bf35e53fcfdd6ec8bd1d30e94d342809e19e651ea265b9b09b7240c1"
+        "uncompressed" : "044533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb4386d34b899200cdd58ba2faa1d0169da8a5454de50d08a2e7f5362d60f6ec7c5de",
+        "wx" : "4533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb438",
+        "wy" : "6d34b899200cdd58ba2faa1d0169da8a5454de50d08a2e7f5362d60f6ec7c5de"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb4386d34b899200cdd58ba2faa1d0169da8a5454de50d08a2e7f5362d60f6ec7c5de",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEUzOC4crtvti9+l9IxYvfy3XWgR\nEiuwFs9C5FeYn7Q4bTS4mSAM3Vi6L6odAWnailRU3lDQii5/U2LWD27Hxd4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 767,
           "comment" : "point duplication during verification",
           "msg" : "54657374",
-          "sig" : "304402205b22974296c093fcc9930e14215bb19875a7d1efb2efe0154d4e6196ddb34d44022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799",
+          "sig" : "30440220074c035603e1eb49ab5382819bf82af82929b500c6e78841c1b2c3ff54a615dd022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799",
           "result" : "valid",
           "flags" : [
             "PointDuplication"
@@ -11188,23 +11359,24 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b254478de011a7e2b8c47c6e889bc7e0665c892107ce19f387bb097dad8e6c83fc12b6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsNMeTsOfGUFG4/6WSLuk5s2dXK\nX43RMEzewNOWslRHjeARp+K4xHxuiJvH4GZciSEHzhnzh7sJfa2ObIP8ErY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "3b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b25447",
-        "wy" : "08de011a7e2b8c47c6e889bc7e0665c892107ce19f387bb097dad8e6c83fc12b6"
+        "uncompressed" : "044533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb4383cc69f4281e1cc63843660739c19b2e819e717d3049bf1a8ccb0720db0a68d99",
+        "wx" : "4533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb438",
+        "wy" : "3cc69f4281e1cc63843660739c19b2e819e717d3049bf1a8ccb0720db0a68d99"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200044533382e1caedbed8bdfa5f48c58bdfcb75d6811122bb016cf42e457989fb4383cc69f4281e1cc63843660739c19b2e819e717d3049bf1a8ccb0720db0a68d99",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABEUzOC4crtvti9+l9IxYvfy3XWgR\nEiuwFs9C5FeYn7Q4PMafQoHhzGOENmBznBmy6BnnF9MEm/GozLByDbCmjZk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 768,
           "comment" : "duplication bug",
           "msg" : "54657374",
-          "sig" : "304402205b22974296c093fcc9930e14215bb19875a7d1efb2efe0154d4e6196ddb34d44022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799",
+          "sig" : "30440220074c035603e1eb49ab5382819bf82af82929b500c6e78841c1b2c3ff54a615dd022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799",
           "result" : "invalid",
           "flags" : [
             "PointDuplication"
@@ -11213,17 +11385,18 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000452987319644a827a6d82083352487688f33e2095faeacbc83ec9c4e53e0338f115b7ed0718c3b21da8ae42a0b3735eb4fc7fdadbec883f3545698bd3305c0843",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFKYcxlkSoJ6bYIIM1JIdojzPiCV\n+urLyD7JxOU+AzjxFbftBxjDsh2orkKgs3NetPx/2tvsiD81RWmL0zBcCEM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
-        "curve" : "brainpoolP256t1",
+        "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "52987319644a827a6d82083352487688f33e2095faeacbc83ec9c4e53e0338f1",
-        "wy" : "15b7ed0718c3b21da8ae42a0b3735eb4fc7fdadbec883f3545698bd3305c0843"
+        "uncompressed" : "04a9011e3712e137ef2319b964c61ba2335399cb49d16f1939ca7f03c37c13bb0f93fdb94d60b34aa9e6919b62c24db2e57a07d593692f8ae924ee37a59f2fcd4e",
+        "wx" : "0a9011e3712e137ef2319b964c61ba2335399cb49d16f1939ca7f03c37c13bb0f",
+        "wy" : "093fdb94d60b34aa9e6919b62c24db2e57a07d593692f8ae924ee37a59f2fcd4e"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a9011e3712e137ef2319b964c61ba2335399cb49d16f1939ca7f03c37c13bb0f93fdb94d60b34aa9e6919b62c24db2e57a07d593692f8ae924ee37a59f2fcd4e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKkBHjcS4TfvIxm5ZMYbojNTmctJ\n0W8ZOcp/A8N8E7sPk/25TWCzSqnmkZtiwk2y5XoH1ZNpL4rpJO43pZ8vzU4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 769,
@@ -11236,21 +11409,1530 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200041d30cc1c88b587fe248d14ae8391e2204517611dacd43eea92795327d3e177487f90837130c328b9396d81061094e9741d07578ad937e12b45551463866c8367",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABB0wzByItYf+JI0UroOR4iBFF2Ed\nrNQ+6pJ5UyfT4XdIf5CDcTDDKLk5bYEGEJTpdB0HV4rZN+ErRVUUY4Zsg2c=\n-----END PUBLIC KEY-----",
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04616514d11e2e9b4f63725981f1d33a0e28973bc7719a4cc2969700913cd2f1b16071f71eff21d2bc254fcffede47a53b6b4e041ab97b6350d59485176ec9d72b",
+        "wx" : "616514d11e2e9b4f63725981f1d33a0e28973bc7719a4cc2969700913cd2f1b1",
+        "wy" : "6071f71eff21d2bc254fcffede47a53b6b4e041ab97b6350d59485176ec9d72b"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004616514d11e2e9b4f63725981f1d33a0e28973bc7719a4cc2969700913cd2f1b16071f71eff21d2bc254fcffede47a53b6b4e041ab97b6350d59485176ec9d72b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGFlFNEeLptPY3JZgfHTOg4olzvH\ncZpMwpaXAJE80vGxYHH3Hv8h0rwlT8/+3kelO2tOBBq5e2NQ1ZSFF27J1ys=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 770,
+          "comment" : "extreme value for k and edgecase s",
+          "msg" : "54657374",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048897c36dda8276cd506b8952172661188c0e0e793d3ae477bc7741f737ded270160f4a84f6678e8f4c91e462f80d83701754c4be2fcabf8ca507bf8652375c7f",
+        "wx" : "08897c36dda8276cd506b8952172661188c0e0e793d3ae477bc7741f737ded270",
+        "wy" : "160f4a84f6678e8f4c91e462f80d83701754c4be2fcabf8ca507bf8652375c7f"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048897c36dda8276cd506b8952172661188c0e0e793d3ae477bc7741f737ded270160f4a84f6678e8f4c91e462f80d83701754c4be2fcabf8ca507bf8652375c7f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIiXw23agnbNUGuJUhcmYRiMDg55\nPTrkd7x3Qfc33tJwFg9KhPZnjo9MkeRi+A2DcBdUxL4vyr+MpQe/hlI3XH8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 771,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e0220796a6353bccf0b8675b699d502cbae2c88bb5799818ee4f9f93a0a5d477cd02e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0458961ab0292d1738fc4e560909b43b6f8f5674b2ea802550b50c78856371f6af86513e451cf349bf19f0362f3445efb4a0d0838a24333b943054f826d1bedd27",
+        "wx" : "58961ab0292d1738fc4e560909b43b6f8f5674b2ea802550b50c78856371f6af",
+        "wy" : "086513e451cf349bf19f0362f3445efb4a0d0838a24333b943054f826d1bedd27"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000458961ab0292d1738fc4e560909b43b6f8f5674b2ea802550b50c78856371f6af86513e451cf349bf19f0362f3445efb4a0d0838a24333b943054f826d1bedd27",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFiWGrApLRc4/E5WCQm0O2+PVnSy\n6oAlULUMeIVjcfavhlE+RRzzSb8Z8DYvNEXvtKDQg4okMzuUMFT4JtG+3Sc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 772,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30450220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e02210087fc46494e5887c9cb84d5407e02d78e09c7954fc44e1f2c734b3ecedf6d121f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043925bdeea6e2f648ae6da3988b3a3ea9203829d28da4584f60e3bcbe5f82fa3069822ff194599d3b580f72fcf2a864c4138a12dbd980c2b3e2d7ef870c91cc6e",
+        "wx" : "3925bdeea6e2f648ae6da3988b3a3ea9203829d28da4584f60e3bcbe5f82fa30",
+        "wy" : "69822ff194599d3b580f72fcf2a864c4138a12dbd980c2b3e2d7ef870c91cc6e"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200043925bdeea6e2f648ae6da3988b3a3ea9203829d28da4584f60e3bcbe5f82fa3069822ff194599d3b580f72fcf2a864c4138a12dbd980c2b3e2d7ef870c91cc6e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDklve6m4vZIrm2jmIs6PqkgOCnS\njaRYT2DjvL5fgvowaYIv8ZRZnTtYD3L88qhkxBOKEtvZgMKz4tfvhwyRzG4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 773,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4488",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04311f12cc03f64afdf6a8348926241d5aafbcfb6e604d50bc9f88018f6acc1b77940c3892867e5953730c3116d3f772feb777302cdf825193f81d19eb4e726eb6",
+        "wx" : "311f12cc03f64afdf6a8348926241d5aafbcfb6e604d50bc9f88018f6acc1b77",
+        "wy" : "0940c3892867e5953730c3116d3f772feb777302cdf825193f81d19eb4e726eb6"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004311f12cc03f64afdf6a8348926241d5aafbcfb6e604d50bc9f88018f6acc1b77940c3892867e5953730c3116d3f772feb777302cdf825193f81d19eb4e726eb6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDEfEswD9kr99qg0iSYkHVqvvPtu\nYE1QvJ+IAY9qzBt3lAw4koZ+WVNzDDEW0/dy/rd3MCzfglGT+B0Z605ybrY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 774,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e02203090f487e51f9e35c8af70bb9ab7df45037e230a33d2c1fd96e404254fcb8679",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0430291bca4eb93c41991daec0fd2e87c2778d958d9a8e2fa4e6d3835d485bc23e4217f684cfdd836d7cf6099a34c68261e5a094adb5b3e4a9262ff5957c1b1ba8",
+        "wx" : "30291bca4eb93c41991daec0fd2e87c2778d958d9a8e2fa4e6d3835d485bc23e",
+        "wy" : "4217f684cfdd836d7cf6099a34c68261e5a094adb5b3e4a9262ff5957c1b1ba8"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000430291bca4eb93c41991daec0fd2e87c2778d958d9a8e2fa4e6d3835d485bc23e4217f684cfdd836d7cf6099a34c68261e5a094adb5b3e4a9262ff5957c1b1ba8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDApG8pOuTxBmR2uwP0uh8J3jZWN\nmo4vpObTg11IW8I+Qhf2hM/dg2189gmaNMaCYeWglK21s+SpJi/1lXwbG6g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 775,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "30440220743cf1b8b5cd4f2eb55f8aa369593ac436ef044166699e37d51a14c2ce13ea0e022077472d9a28b4ece71cf413a68eac0eb423a16fb462b1f48706fed48ca437bd2d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a12c7c13adff626ad31ffb8ba385c3092db1afe4a2a8e887d810a722048164cd8b1f3e67fde9ff0703f1e429f748c847997546ab1850ebc004535dccd453cf81",
+        "wx" : "0a12c7c13adff626ad31ffb8ba385c3092db1afe4a2a8e887d810a722048164cd",
+        "wy" : "08b1f3e67fde9ff0703f1e429f748c847997546ab1850ebc004535dccd453cf81"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a12c7c13adff626ad31ffb8ba385c3092db1afe4a2a8e887d810a722048164cd8b1f3e67fde9ff0703f1e429f748c847997546ab1850ebc004535dccd453cf81",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKEsfBOt/2Jq0x/7i6OFwwktsa/k\noqjoh9gQpyIEgWTNix8+Z/3p/wcD8eQp90jIR5l1RqsYUOvABFNdzNRTz4E=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 776,
+          "comment" : "extreme value for k and edgecase s",
+          "msg" : "54657374",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048b0a02e69359fe5e11e15f765277d4bbd31e898a7daa1fca22d6841037c8d7ab7e771e124db6c35c8ae8d262140c4e47de301d8b0fddfc25a7338b08ab2d698b",
+        "wx" : "08b0a02e69359fe5e11e15f765277d4bbd31e898a7daa1fca22d6841037c8d7ab",
+        "wy" : "7e771e124db6c35c8ae8d262140c4e47de301d8b0fddfc25a7338b08ab2d698b"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048b0a02e69359fe5e11e15f765277d4bbd31e898a7daa1fca22d6841037c8d7ab7e771e124db6c35c8ae8d262140c4e47de301d8b0fddfc25a7338b08ab2d698b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIsKAuaTWf5eEeFfdlJ31LvTHomK\nfaofyiLWhBA3yNerfnceEk22w1yK6NJiFAxOR94wHYsP3fwlpzOLCKstaYs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 777,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace32620220796a6353bccf0b8675b699d502cbae2c88bb5799818ee4f9f93a0a5d477cd02e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04714d086c1016bc3c73cbe008fe42e4418af114e17ad5fd06b357f443bbf947d017ff32e299fd7e3ec73d93374753a62d227324a25daf47ec5d0630ffe2c0219a",
+        "wx" : "714d086c1016bc3c73cbe008fe42e4418af114e17ad5fd06b357f443bbf947d0",
+        "wy" : "17ff32e299fd7e3ec73d93374753a62d227324a25daf47ec5d0630ffe2c0219a"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004714d086c1016bc3c73cbe008fe42e4418af114e17ad5fd06b357f443bbf947d017ff32e299fd7e3ec73d93374753a62d227324a25daf47ec5d0630ffe2c0219a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABHFNCGwQFrw8c8vgCP5C5EGK8RTh\netX9BrNX9EO7+UfQF/8y4pn9fj7HPZM3R1OmLSJzJKJdr0fsXQYw/+LAIZo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 778,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30460221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace326202210087fc46494e5887c9cb84d5407e02d78e09c7954fc44e1f2c734b3ecedf6d121f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0458e260beaa2177f61a1aa24b70b104f3ed7ce997e1e764f2f7af8809c83299ac41cce510d2abd1b9ae5d6d621bf76476c3804c1d9df0dcf368ff214689f20a92",
+        "wx" : "58e260beaa2177f61a1aa24b70b104f3ed7ce997e1e764f2f7af8809c83299ac",
+        "wy" : "41cce510d2abd1b9ae5d6d621bf76476c3804c1d9df0dcf368ff214689f20a92"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000458e260beaa2177f61a1aa24b70b104f3ed7ce997e1e764f2f7af8809c83299ac41cce510d2abd1b9ae5d6d621bf76476c3804c1d9df0dcf368ff214689f20a92",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABFjiYL6qIXf2GhqiS3CxBPPtfOmX\n4edk8veviAnIMpmsQczlENKr0bmuXW1iG/dkdsOATB2d8NzzaP8hRonyCpI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 779,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4488",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046e7f19d3f4b8a5443f4b460446099c71c1aca4f7e3b40152e25e332e14cdb7d833295afc0cb4f8dd478589ec32fd30de716c3788c35f15f1a0eb3fe6cad085fe",
+        "wx" : "6e7f19d3f4b8a5443f4b460446099c71c1aca4f7e3b40152e25e332e14cdb7d8",
+        "wy" : "33295afc0cb4f8dd478589ec32fd30de716c3788c35f15f1a0eb3fe6cad085fe"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046e7f19d3f4b8a5443f4b460446099c71c1aca4f7e3b40152e25e332e14cdb7d833295afc0cb4f8dd478589ec32fd30de716c3788c35f15f1a0eb3fe6cad085fe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG5/GdP0uKVEP0tGBEYJnHHBrKT3\n47QBUuJeMy4UzbfYMyla/Ay0+N1HhYnsMv0w3nFsN4jDXxXxoOs/5srQhf4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 780,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace326202203090f487e51f9e35c8af70bb9ab7df45037e230a33d2c1fd96e404254fcb8679",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a888899c0d571168431730d7f24018d340f0a14fd45d8ba747a028de41dd38724541c38e87f62f2f1294923c28f79b3802deb6634366f17d3e5b699e9c4c8534",
+        "wx" : "0a888899c0d571168431730d7f24018d340f0a14fd45d8ba747a028de41dd3872",
+        "wy" : "4541c38e87f62f2f1294923c28f79b3802deb6634366f17d3e5b699e9c4c8534"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a888899c0d571168431730d7f24018d340f0a14fd45d8ba747a028de41dd38724541c38e87f62f2f1294923c28f79b3802deb6634366f17d3e5b699e9c4c8534",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKiIiZwNVxFoQxcw1/JAGNNA8KFP\n1F2Lp0egKN5B3ThyRUHDjof2Ly8SlJI8KPebOALetmNDZvF9PltpnpxMhTQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 781,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "30450221008bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262022077472d9a28b4ece71cf413a68eac0eb423a16fb462b1f48706fed48ca437bd2d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997",
+        "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262",
+        "wy" : "547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262547ef835c3dac4fd97f8461a14611dc9c27745132ded8e545c1d54c72f046997",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIvSrrnLflfLLEtIL/yBt6+53ifh\n470jwjpEU72azjJiVH74NcPaxP2X+EYaFGEdycJ3RRMt7Y5UXB1Uxy8EaZc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 782,
+          "comment" : "testing point duplication",
+          "msg" : "54657374",
+          "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 783,
+          "comment" : "testing point duplication",
+          "msg" : "54657374",
+          "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0",
+        "wx" : "08bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262",
+        "wy" : "557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200048bd2aeb9cb7e57cb2c4b482ffc81b7afb9de27e1e3bd23c23a4453bd9ace3262557c5fa5de13e4bea66dc47689226fa8abc4b110a73891d3c3f5f355f069e9e0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIvSrrnLflfLLEtIL/yBt6+53ifh\n470jwjpEU72azjJiVXxfpd4T5L6mbcR2iSJvqKvEsRCnOJHTw/XzVfBp6eA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 784,
+          "comment" : "testing point duplication",
+          "msg" : "54657374",
+          "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 785,
+          "comment" : "testing point duplication",
+          "msg" : "54657374",
+          "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
       "key" : {
         "curve" : "brainpoolP256t1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04231ea76f9414e4667265c9750666b38b6e9bde67fb074f78d25e7b1807a45a46182e262b4038cc6868516fbf12bd4dca207c17564e5a049c60b5d5dd09c73d22",
+        "wx" : "231ea76f9414e4667265c9750666b38b6e9bde67fb074f78d25e7b1807a45a46",
+        "wy" : "182e262b4038cc6868516fbf12bd4dca207c17564e5a049c60b5d5dd09c73d22"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004231ea76f9414e4667265c9750666b38b6e9bde67fb074f78d25e7b1807a45a46182e262b4038cc6868516fbf12bd4dca207c17564e5a049c60b5d5dd09c73d22",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCMep2+UFORmcmXJdQZms4tum95n\n+wdPeNJeexgHpFpGGC4mK0A4zGhoUW+/Er1NyiB8F1ZOWgScYLXV3QnHPSI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 786,
+          "comment" : "k*G has a large x-coordinate",
+          "msg" : "54657374",
+          "sig" : "3036021100e2027b801fc479308ff5399a8825fcce022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 787,
+          "comment" : "r too large",
+          "msg" : "54657374",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d726e3bf623d52620282013481d1f6e5375022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0485d4be1e69cb9b5a0c3be6fd07576bffa61e9a430b2fa4a80ef860ca6de2a4e58003cfc8de01db91d37dc76d1e3bd95aea47c301f1b987cd2ddaf5e91be77f15",
+        "wx" : "085d4be1e69cb9b5a0c3be6fd07576bffa61e9a430b2fa4a80ef860ca6de2a4e5",
+        "wy" : "08003cfc8de01db91d37dc76d1e3bd95aea47c301f1b987cd2ddaf5e91be77f15"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000485d4be1e69cb9b5a0c3be6fd07576bffa61e9a430b2fa4a80ef860ca6de2a4e58003cfc8de01db91d37dc76d1e3bd95aea47c301f1b987cd2ddaf5e91be77f15",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIXUvh5py5taDDvm/QdXa/+mHppD\nCy+kqA74YMpt4qTlgAPPyN4B25HTfcdtHjvZWupHwwHxuYfNLdr16RvnfxU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 788,
+          "comment" : "r,s are large",
+          "msg" : "54657374",
+          "sig" : "3046022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a4022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a3",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043b0a4f1e4d84c6bfd203a0ea04d7a9419bcd59b0ff8757609701b61881eda3b79bc84764caa0dd0815ca06fc0b38d7e840eabccf945697438944d5859772aeb4",
+        "wx" : "3b0a4f1e4d84c6bfd203a0ea04d7a9419bcd59b0ff8757609701b61881eda3b7",
+        "wy" : "09bc84764caa0dd0815ca06fc0b38d7e840eabccf945697438944d5859772aeb4"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0a4f1e4d84c6bfd203a0ea04d7a9419bcd59b0ff8757609701b61881eda3b79bc84764caa0dd0815ca06fc0b38d7e840eabccf945697438944d5859772aeb4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsKTx5NhMa/0gOg6gTXqUGbzVmw\n/4dXYJcBthiB7aO3m8hHZMqg3QgVygb8CzjX6EDqvM+UVpdDiUTVhZdyrrQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 789,
+          "comment" : "r and s^-1 have a large Hamming weight",
+          "msg" : "54657374",
+          "sig" : "304402207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02204ab8de0a51481bc45794b924518f2dd6ac5cce31f3228d624c5a896f79a2d6a2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045a40fcf15f9749254ebcc9c8e1fecebb1248f5ce29dddc26702357bedebfa0154e25e19b6b63fe08914f4062c0a564ac5333632f1086415464d671626bc4dc56",
+        "wx" : "5a40fcf15f9749254ebcc9c8e1fecebb1248f5ce29dddc26702357bedebfa015",
+        "wy" : "4e25e19b6b63fe08914f4062c0a564ac5333632f1086415464d671626bc4dc56"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045a40fcf15f9749254ebcc9c8e1fecebb1248f5ce29dddc26702357bedebfa0154e25e19b6b63fe08914f4062c0a564ac5333632f1086415464d671626bc4dc56",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFpA/PFfl0klTrzJyOH+zrsSSPXO\nKd3cJnAjV77ev6AVTiXhm2tj/giRT0BiwKVkrFMzYy8QhkFUZNZxYmvE3FY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 790,
+          "comment" : "r and s^-1 have a large Hamming weight",
+          "msg" : "54657374",
+          "sig" : "304502207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0221008b1b5f89f5bb74caa42d36e601a9f3c20b4e6c91ceb98a52fbfa9f81781b8a17",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044ee4aff9868419906d5946b3cc338fa4db92a1d016a5c6c697062d2c39dff57a7a308c37a2610abc9e604666c53495bd4359903e47119570935984b34d118018",
+        "wx" : "4ee4aff9868419906d5946b3cc338fa4db92a1d016a5c6c697062d2c39dff57a",
+        "wy" : "7a308c37a2610abc9e604666c53495bd4359903e47119570935984b34d118018"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200044ee4aff9868419906d5946b3cc338fa4db92a1d016a5c6c697062d2c39dff57a7a308c37a2610abc9e604666c53495bd4359903e47119570935984b34d118018",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABE7kr/mGhBmQbVlGs8wzj6TbkqHQ\nFqXGxpcGLSw53/V6ejCMN6JhCryeYEZmxTSVvUNZkD5HEZVwk1mEs00RgBg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 791,
+          "comment" : "small r and s",
+          "msg" : "54657374",
+          "sig" : "3006020101020101",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045ef5efbfaeb5cb4c2c9f8db76cdb6f832adabda8c3a882e99f9ab23d8962b7cb33097ad4f67e9cbb90b8bbd2b71f4554818ac5aeb1f396ac6d49626edd51b0c2",
+        "wx" : "5ef5efbfaeb5cb4c2c9f8db76cdb6f832adabda8c3a882e99f9ab23d8962b7cb",
+        "wy" : "33097ad4f67e9cbb90b8bbd2b71f4554818ac5aeb1f396ac6d49626edd51b0c2"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045ef5efbfaeb5cb4c2c9f8db76cdb6f832adabda8c3a882e99f9ab23d8962b7cb33097ad4f67e9cbb90b8bbd2b71f4554818ac5aeb1f396ac6d49626edd51b0c2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABF7177+utctMLJ+Nt2zbb4Mq2r2o\nw6iC6Z+asj2JYrfLMwl61PZ+nLuQuLvStx9FVIGKxa6x85asbUlibt1RsMI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 792,
+          "comment" : "small r and s",
+          "msg" : "54657374",
+          "sig" : "3006020101020102",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043e8403566c4bd45dc1a3e33ffc44482c103eab150327e52879d91faec4b41ba27fa87129ced313ce073e9772f0d4862d879c39e5d1512e1a47e43303d9ddfb1d",
+        "wx" : "3e8403566c4bd45dc1a3e33ffc44482c103eab150327e52879d91faec4b41ba2",
+        "wy" : "7fa87129ced313ce073e9772f0d4862d879c39e5d1512e1a47e43303d9ddfb1d"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043e8403566c4bd45dc1a3e33ffc44482c103eab150327e52879d91faec4b41ba27fa87129ced313ce073e9772f0d4862d879c39e5d1512e1a47e43303d9ddfb1d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABD6EA1ZsS9RdwaPjP/xESCwQPqsV\nAyflKHnZH67EtBuif6hxKc7TE84HPpdy8NSGLYecOeXRUS4aR+QzA9nd+x0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 793,
+          "comment" : "small r and s",
+          "msg" : "54657374",
+          "sig" : "3006020101020103",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 794,
+          "comment" : "r is larger than n",
+          "msg" : "54657374",
+          "sig" : "3026022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a8020103",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0414033c115778c47034a8dcd20912fa3dfa7c68aaf24b5cabc4c8d032f32758f855ec2a8c3033a2a832fc2f496d8fc067547bbffd37e7ea7314bba8a0e2e38bc8",
+        "wx" : "14033c115778c47034a8dcd20912fa3dfa7c68aaf24b5cabc4c8d032f32758f8",
+        "wy" : "55ec2a8c3033a2a832fc2f496d8fc067547bbffd37e7ea7314bba8a0e2e38bc8"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000414033c115778c47034a8dcd20912fa3dfa7c68aaf24b5cabc4c8d032f32758f855ec2a8c3033a2a832fc2f496d8fc067547bbffd37e7ea7314bba8a0e2e38bc8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBQDPBFXeMRwNKjc0gkS+j36fGiq\n8ktcq8TI0DLzJ1j4VewqjDAzoqgy/C9JbY/AZ1R7v/035+pzFLuooOLji8g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 795,
+          "comment" : "s is larger than n",
+          "msg" : "54657374",
+          "sig" : "3026020101022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82975b2d2e",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048a9fcc60103a2ca5b2c4d88843e224785a2b0540bd89a14d2f320a953aac5d789f2153a664aa7e150c0e267921894696c6cecbaba854457fc42c9d24864a08a1",
+        "wx" : "08a9fcc60103a2ca5b2c4d88843e224785a2b0540bd89a14d2f320a953aac5d78",
+        "wy" : "09f2153a664aa7e150c0e267921894696c6cecbaba854457fc42c9d24864a08a1"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048a9fcc60103a2ca5b2c4d88843e224785a2b0540bd89a14d2f320a953aac5d789f2153a664aa7e150c0e267921894696c6cecbaba854457fc42c9d24864a08a1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIqfzGAQOiylssTYiEPiJHhaKwVA\nvYmhTS8yCpU6rF14nyFTpmSqfhUMDiZ5IYlGlsbOy6uoVEV/xCydJIZKCKE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 796,
+          "comment" : "small r and s^-1",
+          "msg" : "54657374",
+          "sig" : "30260202010202202827370584fdeb9f5d5a9fb9579a09390efb6f9d99b64fc188d8bce05c2d4eed",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047eb86f8e5d2adf7cc4cbd8849ca3ac811540fd35f60bd691dbc666a894ee6e5c6c1daa6faf62318dc5f1dba736f841bb21af46aa6ac17f78662018d45fbdcc3f",
+        "wx" : "7eb86f8e5d2adf7cc4cbd8849ca3ac811540fd35f60bd691dbc666a894ee6e5c",
+        "wy" : "6c1daa6faf62318dc5f1dba736f841bb21af46aa6ac17f78662018d45fbdcc3f"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200047eb86f8e5d2adf7cc4cbd8849ca3ac811540fd35f60bd691dbc666a894ee6e5c6c1daa6faf62318dc5f1dba736f841bb21af46aa6ac17f78662018d45fbdcc3f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABH64b45dKt98xMvYhJyjrIEVQP01\n9gvWkdvGZqiU7m5cbB2qb69iMY3F8dunNvhBuyGvRqpqwX94ZiAY1F+9zD8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 797,
+          "comment" : "smallish r and s^-1",
+          "msg" : "54657374",
+          "sig" : "302b02072d9b4d347952cc02204937a087731df4febc2c3a81ddfbab5dc3af950817f41b590d156ed409ad2869",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041206e3a802f59b8ed707474530c37a8c25efdfb1bcb2cfea3c813b58eb667e1715e78dc70170f2720cf0331432d61148591ebcfc4d20c6a3fd01afd9fa6a9e80",
+        "wx" : "1206e3a802f59b8ed707474530c37a8c25efdfb1bcb2cfea3c813b58eb667e17",
+        "wy" : "15e78dc70170f2720cf0331432d61148591ebcfc4d20c6a3fd01afd9fa6a9e80"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200041206e3a802f59b8ed707474530c37a8c25efdfb1bcb2cfea3c813b58eb667e1715e78dc70170f2720cf0331432d61148591ebcfc4d20c6a3fd01afd9fa6a9e80",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBIG46gC9ZuO1wdHRTDDeowl79+x\nvLLP6jyBO1jrZn4XFeeNxwFw8nIM8DMUMtYRSFkevPxNIMaj/QGv2fpqnoA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 798,
+          "comment" : "100-bit r and small s^-1",
+          "msg" : "54657374",
+          "sig" : "3032020d1033e67e37b32b445580bf4efc02210091827d03bb6dac31940ba56ed88489048ff173f0bf20cab20dcc086fca37f285",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048a33c9017ba0f19ed44cbdf7c9817024c3f095a899adafdcfe7dd6f51ffef9518c56c09ccfcbe2250838630e26764ba9e1bc1092bccec6135c29f31f617c14ca",
+        "wx" : "08a33c9017ba0f19ed44cbdf7c9817024c3f095a899adafdcfe7dd6f51ffef951",
+        "wy" : "08c56c09ccfcbe2250838630e26764ba9e1bc1092bccec6135c29f31f617c14ca"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048a33c9017ba0f19ed44cbdf7c9817024c3f095a899adafdcfe7dd6f51ffef9518c56c09ccfcbe2250838630e26764ba9e1bc1092bccec6135c29f31f617c14ca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIozyQF7oPGe1Ey998mBcCTD8JWo\nma2v3P591vUf/vlRjFbAnM/L4iUIOGMOJnZLqeG8EJK8zsYTXCnzH2F8FMo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 799,
+          "comment" : "small r and 100 bit s^-1",
+          "msg" : "54657374",
+          "sig" : "30260202010202203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a5d5c0efc3901f308bf4251bb0cc2844e5abcee9096d118134fd714d13f2d0308ef80671c71bd6bf6e333325b561b3c0c3d1a4db1ac7ed8b0fe09b3b3253cd56",
+        "wx" : "0a5d5c0efc3901f308bf4251bb0cc2844e5abcee9096d118134fd714d13f2d030",
+        "wy" : "08ef80671c71bd6bf6e333325b561b3c0c3d1a4db1ac7ed8b0fe09b3b3253cd56"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a5d5c0efc3901f308bf4251bb0cc2844e5abcee9096d118134fd714d13f2d0308ef80671c71bd6bf6e333325b561b3c0c3d1a4db1ac7ed8b0fe09b3b3253cd56",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKXVwO/DkB8wi/QlG7DMKETlq87p\nCW0RgTT9cU0T8tAwjvgGcccb1r9uMzMltWGzwMPRpNsax+2LD+CbOzJTzVY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 800,
+          "comment" : "100-bit r and s^-1",
+          "msg" : "54657374",
+          "sig" : "3031020d062522bbd3ecbe7c39e93e7c2502203eb35fe7e8331f71e4c63b45f349a99d47a5e781798e579f2386195d3827bb15",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048aede4648355451e9ac82e480fee5c4c90492d053ece6f77d153878b51e13a4e9c3fd7e229ec77ab92ba6ca57005cb25313b3629d33409b15d34cabe08fec31a",
+        "wx" : "08aede4648355451e9ac82e480fee5c4c90492d053ece6f77d153878b51e13a4e",
+        "wy" : "09c3fd7e229ec77ab92ba6ca57005cb25313b3629d33409b15d34cabe08fec31a"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048aede4648355451e9ac82e480fee5c4c90492d053ece6f77d153878b51e13a4e9c3fd7e229ec77ab92ba6ca57005cb25313b3629d33409b15d34cabe08fec31a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIrt5GSDVUUemsguSA/uXEyQSS0F\nPs5vd9FTh4tR4TpOnD/X4insd6uSumylcAXLJTE7NinTNAmxXTTKvgj+wxo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 801,
+          "comment" : "r and s^-1 are close to n",
+          "msg" : "54657374",
+          "sig" : "3045022100a9fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e8297485629022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a3e82d3f4e532da8f2fb627e07436c86923e7bcd3055706250074257fad3f1052d01c6d7e6d065c3b25e4f85d211e060208d7dad38a56bbd397f785ab77820a8",
+        "wx" : "0a3e82d3f4e532da8f2fb627e07436c86923e7bcd3055706250074257fad3f105",
+        "wy" : "2d01c6d7e6d065c3b25e4f85d211e060208d7dad38a56bbd397f785ab77820a8"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a3e82d3f4e532da8f2fb627e07436c86923e7bcd3055706250074257fad3f1052d01c6d7e6d065c3b25e4f85d211e060208d7dad38a56bbd397f785ab77820a8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKPoLT9OUy2o8vtifgdDbIaSPnvN\nMFVwYlAHQlf60/EFLQHG1+bQZcOyXk+F0hHgYCCNfa04pWu9OX94Wrd4IKg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 802,
+          "comment" : "s == 1",
+          "msg" : "54657374",
+          "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce4020101",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 803,
+          "comment" : "s == 0",
+          "msg" : "54657374",
+          "sig" : "3025022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce4020100",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04938461391ad301808f26169b23999507de65e9af8af7e1f8e480336765ef4a8b3a858dbd1ef2cca29203ee738dacb20e0c57f1bc77653a0bb4929bc1fc4fe792",
+        "wx" : "0938461391ad301808f26169b23999507de65e9af8af7e1f8e480336765ef4a8b",
+        "wy" : "3a858dbd1ef2cca29203ee738dacb20e0c57f1bc77653a0bb4929bc1fc4fe792"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004938461391ad301808f26169b23999507de65e9af8af7e1f8e480336765ef4a8b3a858dbd1ef2cca29203ee738dacb20e0c57f1bc77653a0bb4929bc1fc4fe792",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJOEYTka0wGAjyYWmyOZlQfeZemv\nivfh+OSAM2dl70qLOoWNvR7yzKKSA+5zjayyDgxX8bx3ZToLtJKbwfxP55I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 804,
+          "comment" : "point at infinity during verify",
+          "msg" : "54657374",
+          "sig" : "3044022054fdabedd0f754de1f3305484ec1c6b8c61cbd51dab0d37bc80f07414ba42b53022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0495d81e1dd9790ff561dc95495371397250466122ef461ebf706de39e1f35929f18736e96131c0cb92c504dc26025db20bd124ece9c5c04182b3f0dd79bbdaa55",
+        "wx" : "095d81e1dd9790ff561dc95495371397250466122ef461ebf706de39e1f35929f",
+        "wy" : "18736e96131c0cb92c504dc26025db20bd124ece9c5c04182b3f0dd79bbdaa55"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000495d81e1dd9790ff561dc95495371397250466122ef461ebf706de39e1f35929f18736e96131c0cb92c504dc26025db20bd124ece9c5c04182b3f0dd79bbdaa55",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJXYHh3ZeQ/1YdyVSVNxOXJQRmEi\n70Yev3Bt454fNZKfGHNulhMcDLksUE3CYCXbIL0STs6cXAQYKz8N15u9qlU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 805,
+          "comment" : "u1 == 1",
+          "msg" : "54657374",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce00220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0482fd28b9fad4a324f2f1124c8c3bf4577b6ac6635377d01dc539399dfc48fe8e54435ac2fa06f4e74b8ec7276a185b15419182366e4bee335335a2b87f27a9bc",
+        "wx" : "082fd28b9fad4a324f2f1124c8c3bf4577b6ac6635377d01dc539399dfc48fe8e",
+        "wy" : "54435ac2fa06f4e74b8ec7276a185b15419182366e4bee335335a2b87f27a9bc"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000482fd28b9fad4a324f2f1124c8c3bf4577b6ac6635377d01dc539399dfc48fe8e54435ac2fa06f4e74b8ec7276a185b15419182366e4bee335335a2b87f27a9bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIL9KLn61KMk8vESTIw79Fd7asZj\nU3fQHcU5OZ38SP6OVENawvoG9OdLjscnahhbFUGRgjZuS+4zUzWiuH8nqbw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 806,
+          "comment" : "u1 == n - 1",
+          "msg" : "54657374",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042ec2ca240d708aee13f51f45e3d81caf3abc0a12056c6473f4ac77d06a9243593074913904d9383dc793a752bb29085bebbcbd221080f05137ea2633e00c9f38",
+        "wx" : "2ec2ca240d708aee13f51f45e3d81caf3abc0a12056c6473f4ac77d06a924359",
+        "wy" : "3074913904d9383dc793a752bb29085bebbcbd221080f05137ea2633e00c9f38"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ec2ca240d708aee13f51f45e3d81caf3abc0a12056c6473f4ac77d06a9243593074913904d9383dc793a752bb29085bebbcbd221080f05137ea2633e00c9f38",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC7CyiQNcIruE/UfRePYHK86vAoS\nBWxkc/Ssd9BqkkNZMHSROQTZOD3Hk6dSuykIW+u8vSIQgPBRN+omM+AMnzg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 807,
+          "comment" : "u2 == 1",
+          "msg" : "54657374",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0437e96dd49cec4da55325782300d56bad85ceb0bb89a68f489d58b0cab883bdd745684243865d704269ceb1d8682dd370c4b5456ebda33d60dba0c1fba8493db7",
+        "wx" : "37e96dd49cec4da55325782300d56bad85ceb0bb89a68f489d58b0cab883bdd7",
+        "wy" : "45684243865d704269ceb1d8682dd370c4b5456ebda33d60dba0c1fba8493db7"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000437e96dd49cec4da55325782300d56bad85ceb0bb89a68f489d58b0cab883bdd745684243865d704269ceb1d8682dd370c4b5456ebda33d60dba0c1fba8493db7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDfpbdSc7E2lUyV4IwDVa62FzrC7\niaaPSJ1YsMq4g73XRWhCQ4ZdcEJpzrHYaC3TcMS1RW69oz1g26DB+6hJPbc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 808,
+          "comment" : "u2 == n - 1",
+          "msg" : "54657374",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce0022071523a926bf4712829995c6069025e4bb2d0fc6d23966f4fb5695f01ba3039c7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049f787c4b132b722d1c5a34042e8587d001b379a0f884bff21335a91e7e393b798a1c1eaf1520068b6e891222a434e9c61f3490fffdd855e4f54765105a6fccd6",
+        "wx" : "09f787c4b132b722d1c5a34042e8587d001b379a0f884bff21335a91e7e393b79",
+        "wy" : "08a1c1eaf1520068b6e891222a434e9c61f3490fffdd855e4f54765105a6fccd6"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049f787c4b132b722d1c5a34042e8587d001b379a0f884bff21335a91e7e393b798a1c1eaf1520068b6e891222a434e9c61f3490fffdd855e4f54765105a6fccd6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJ94fEsTK3ItHFo0BC6Fh9ABs3mg\n+IS/8hM1qR5+OTt5ihwerxUgBotuiRIipDTpxh80kP/92FXk9UdlEFpvzNY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 809,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022054635633127665edff4996c3232c0589e44acce6fb989885a1b92da58cd43c44",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0485b0ab50fcd2814f9e98712fd08bf77e95b95fa0a3203b14e9d64511f498dd535af793c11e554ce787e6e44037ce1449ef4eca6f1087e72b809e128fed50c1e7",
+        "wx" : "085b0ab50fcd2814f9e98712fd08bf77e95b95fa0a3203b14e9d64511f498dd53",
+        "wy" : "5af793c11e554ce787e6e44037ce1449ef4eca6f1087e72b809e128fed50c1e7"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000485b0ab50fcd2814f9e98712fd08bf77e95b95fa0a3203b14e9d64511f498dd535af793c11e554ce787e6e44037ce1449ef4eca6f1087e72b809e128fed50c1e7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIWwq1D80oFPnphxL9CL936VuV+g\noyA7FOnWRRH0mN1TWveTwR5VTOeH5uRAN84USe9Oym8Qh+crgJ4Sj+1Qwec=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 810,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220028eb8f6fb8e5a3833700b5687f17948beeecf7c73aa9c14430ef3ca01602036",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0482958c572d5b3db6e18567361b715b1e3aea2a399f0a3c0723fa7f39ac6ec997201815b8ab4412a36334844afb6b407290240282b4036112ddf61f281057c862",
+        "wx" : "082958c572d5b3db6e18567361b715b1e3aea2a399f0a3c0723fa7f39ac6ec997",
+        "wy" : "201815b8ab4412a36334844afb6b407290240282b4036112ddf61f281057c862"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000482958c572d5b3db6e18567361b715b1e3aea2a399f0a3c0723fa7f39ac6ec997201815b8ab4412a36334844afb6b407290240282b4036112ddf61f281057c862",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIKVjFctWz224YVnNhtxWx466io5\nnwo8ByP6fzmsbsmXIBgVuKtEEqNjNIRK+2tAcpAkAoK0A2ES3fYfKBBXyGI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 811,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207c04eb7f3730e231a1c6f86a11042f1a914b02bd83ca8e82670f9bf9d17d9e00",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043269930ec284341b0d34ffaa187f69ca4d1599daa85ff7c2ef069d75d62a2e189eb2b5ed183a18c369626e4eff08f42fb9d3286de2bcdb7c145507bd57e37a78",
+        "wx" : "3269930ec284341b0d34ffaa187f69ca4d1599daa85ff7c2ef069d75d62a2e18",
+        "wy" : "09eb2b5ed183a18c369626e4eff08f42fb9d3286de2bcdb7c145507bd57e37a78"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043269930ec284341b0d34ffaa187f69ca4d1599daa85ff7c2ef069d75d62a2e189eb2b5ed183a18c369626e4eff08f42fb9d3286de2bcdb7c145507bd57e37a78",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDJpkw7ChDQbDTT/qhh/acpNFZna\nqF/3wu8GnXXWKi4YnrK17Rg6GMNpYm5O/wj0L7nTKG3ivNt8FFUHvVfjeng=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 812,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203b3b272686d138084988ae23089d57b574fbabe983e1de35694442c2b9660070",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042ebdb7c2caec4073589afde56e0f7ecd8983fcc80eac1450af82dca4328c9b7198509d877261e2f71b05059e71f9f81fe91466e51ea1b8621407ce182ffadb45",
+        "wx" : "2ebdb7c2caec4073589afde56e0f7ecd8983fcc80eac1450af82dca4328c9b71",
+        "wy" : "098509d877261e2f71b05059e71f9f81fe91466e51ea1b8621407ce182ffadb45"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ebdb7c2caec4073589afde56e0f7ecd8983fcc80eac1450af82dca4328c9b7198509d877261e2f71b05059e71f9f81fe91466e51ea1b8621407ce182ffadb45",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC69t8LK7EBzWJr95W4Pfs2Jg/zI\nDqwUUK+C3KQyjJtxmFCdh3Jh4vcbBQWecfn4H+kUZuUeobhiFAfOGC/620U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 813,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202e67ab256e246048b8154c6bd12de75f1657f9b20e8da09beca149a517cbfb1b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042bb609b2926d816280a8104377abab010feb15a0c537081bdf3d5152ce94e5765a84ed06d11a4bfddfdc5465b1c0e4f891119cdcbaaad52eee39b046afb2c6cb",
+        "wx" : "2bb609b2926d816280a8104377abab010feb15a0c537081bdf3d5152ce94e576",
+        "wy" : "5a84ed06d11a4bfddfdc5465b1c0e4f891119cdcbaaad52eee39b046afb2c6cb"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042bb609b2926d816280a8104377abab010feb15a0c537081bdf3d5152ce94e5765a84ed06d11a4bfddfdc5465b1c0e4f891119cdcbaaad52eee39b046afb2c6cb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCu2CbKSbYFigKgQQ3erqwEP6xWg\nxTcIG989UVLOlOV2WoTtBtEaS/3f3FRlscDk+JERnNy6qtUu7jmwRq+yxss=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 814,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205ccf564adc48c091702a98d7a25bcebe2caff3641d1b4137d942934a2f97f636",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045c52ce74f8178b363464f21ad35af0e4eb944c64006590b00d1f110ce66d19b696777c5dd01e7c522bccd704adeb236697617ef70b2ba24a7b8e19b02fc1dd88",
+        "wx" : "5c52ce74f8178b363464f21ad35af0e4eb944c64006590b00d1f110ce66d19b6",
+        "wy" : "096777c5dd01e7c522bccd704adeb236697617ef70b2ba24a7b8e19b02fc1dd88"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045c52ce74f8178b363464f21ad35af0e4eb944c64006590b00d1f110ce66d19b696777c5dd01e7c522bccd704adeb236697617ef70b2ba24a7b8e19b02fc1dd88",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFxSznT4F4s2NGTyGtNa8OTrlExk\nAGWQsA0fEQzmbRm2lnd8XdAefFIrzNcEresjZpdhfvcLK6JKe44ZsC/B3Yg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 815,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221008197dc78d6ccee9677df5d99f382c80c19dd0d78babbb86810d8398b0c911414",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042ffe3a34411ff56f7c7de85601cf4a07bfb39623ef660ceb0ab4493be8911362735028764c6e7812195d792ebc7e5954755f3e35c28467f72a7890bbbf403f7f",
+        "wx" : "2ffe3a34411ff56f7c7de85601cf4a07bfb39623ef660ceb0ab4493be8911362",
+        "wy" : "735028764c6e7812195d792ebc7e5954755f3e35c28467f72a7890bbbf403f7f"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042ffe3a34411ff56f7c7de85601cf4a07bfb39623ef660ceb0ab4493be8911362735028764c6e7812195d792ebc7e5954755f3e35c28467f72a7890bbbf403f7f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC/+OjRBH/VvfH3oVgHPSge/s5Yj\n72YM6wq0STvokRNic1AodkxueBIZXXkuvH5ZVHVfPjXChGf3KniQu79AP38=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 816,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207552d8ce45674b223735b1c2d0946581cd062d494a89f42f58f0ee1bc5c0f318",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0464aa0c89a2b612b682080395da8601d8d19cd7ca163c01ee8d012ddace8e82ec4114ff212a262a25f7983ef1caa8fc5c781a06462c7f556e69f164aaf9ec0f40",
+        "wx" : "64aa0c89a2b612b682080395da8601d8d19cd7ca163c01ee8d012ddace8e82ec",
+        "wy" : "4114ff212a262a25f7983ef1caa8fc5c781a06462c7f556e69f164aaf9ec0f40"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000464aa0c89a2b612b682080395da8601d8d19cd7ca163c01ee8d012ddace8e82ec4114ff212a262a25f7983ef1caa8fc5c781a06462c7f556e69f164aaf9ec0f40",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGSqDImithK2gggDldqGAdjRnNfK\nFjwB7o0BLdrOjoLsQRT/ISomKiX3mD7xyqj8XHgaBkYsf1VuafFkqvnsD0A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 817,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202a988eeb5d91279714eb150faea4838ede06b16567dc73919515d28ff04a12d7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0480af66c253b93acb4d5c06d22fba4dfec149d243af9fad96b9b0ab792ba38c4f171eb35aee0ad693d6ac63adf2813840f13e6432cb498ad9eb0356f6abe7d503",
+        "wx" : "080af66c253b93acb4d5c06d22fba4dfec149d243af9fad96b9b0ab792ba38c4f",
+        "wy" : "171eb35aee0ad693d6ac63adf2813840f13e6432cb498ad9eb0356f6abe7d503"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000480af66c253b93acb4d5c06d22fba4dfec149d243af9fad96b9b0ab792ba38c4f171eb35aee0ad693d6ac63adf2813840f13e6432cb498ad9eb0356f6abe7d503",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABICvZsJTuTrLTVwG0i+6Tf7BSdJD\nr5+tlrmwq3kro4xPFx6zWu4K1pPWrGOt8oE4QPE+ZDLLSYrZ6wNW9qvn1QM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 818,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220559801a88f7843ce3f1c73cd7a5787e7a7eeadbcb9c90e71ee64e0dd0a741a63",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0420d1a06bd6fda62e0a9ee8be88681234d04a519a44b25a8515746c44aad5787226d00ef3ec03a34b07efbbf1185bc6ce1f30ed780812dcebefe046fc9be6d9dc",
+        "wx" : "20d1a06bd6fda62e0a9ee8be88681234d04a519a44b25a8515746c44aad57872",
+        "wy" : "26d00ef3ec03a34b07efbbf1185bc6ce1f30ed780812dcebefe046fc9be6d9dc"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000420d1a06bd6fda62e0a9ee8be88681234d04a519a44b25a8515746c44aad5787226d00ef3ec03a34b07efbbf1185bc6ce1f30ed780812dcebefe046fc9be6d9dc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCDRoGvW/aYuCp7ovohoEjTQSlGa\nRLJahRV0bESq1XhyJtAO8+wDo0sH77vxGFvGzh8w7XgIEtzr7+BG/Jvm2dw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 819,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202b66568f063d10d73f77a86be8c18522b5c947493bfcc22f1d884a0a4409fc41",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049b3fc0ecd0fc126fa2c539e0f0b1eb3228829664c841775a4d35032500a8a04522de521356799e53e43a4f5a62ddfc98aae4a3cb9f0ae2096224df1e84e90dd6",
+        "wx" : "09b3fc0ecd0fc126fa2c539e0f0b1eb3228829664c841775a4d35032500a8a045",
+        "wy" : "22de521356799e53e43a4f5a62ddfc98aae4a3cb9f0ae2096224df1e84e90dd6"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049b3fc0ecd0fc126fa2c539e0f0b1eb3228829664c841775a4d35032500a8a04522de521356799e53e43a4f5a62ddfc98aae4a3cb9f0ae2096224df1e84e90dd6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJs/wOzQ/BJvosU54PCx6zIogpZk\nyEF3Wk01AyUAqKBFIt5SE1Z5nlPkOk9aYt38mKrko8ufCuIJYiTfHoTpDdY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 820,
+          "comment" : "edge case for u1",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203e0275bf9b987118d0e37c350882178d48a5815ec1e547413387cdfce8becf00",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04265900656b73d7f3023419513d3809a9f7553280756451a4f5b9696f4ec4630b8b4ab325d5fa8831b16699993dc49cc87db870fd1789869614653b38e0c74219",
+        "wx" : "265900656b73d7f3023419513d3809a9f7553280756451a4f5b9696f4ec4630b",
+        "wy" : "08b4ab325d5fa8831b16699993dc49cc87db870fd1789869614653b38e0c74219"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004265900656b73d7f3023419513d3809a9f7553280756451a4f5b9696f4ec4630b8b4ab325d5fa8831b16699993dc49cc87db870fd1789869614653b38e0c74219",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCZZAGVrc9fzAjQZUT04Can3VTKA\ndWRRpPW5aW9OxGMLi0qzJdX6iDGxZpmZPcScyH24cP0XiYaWFGU7OODHQhk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 821,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009bfce53d169f1bd2d444070b13ad08f65d7ba717ce4119fa601409ac64dae46e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042c26be9c36920f0066ec7816cf910e99cff1ed2a4f76f2762a8a9bb2312247152f594f09d6ac32cf0b761eea8a29ba67511765ffc5c67ca093e92a09171b4e4a",
+        "wx" : "2c26be9c36920f0066ec7816cf910e99cff1ed2a4f76f2762a8a9bb231224715",
+        "wy" : "2f594f09d6ac32cf0b761eea8a29ba67511765ffc5c67ca093e92a09171b4e4a"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042c26be9c36920f0066ec7816cf910e99cff1ed2a4f76f2762a8a9bb2312247152f594f09d6ac32cf0b761eea8a29ba67511765ffc5c67ca093e92a09171b4e4a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABCwmvpw2kg8AZux4Fs+RDpnP8e0q\nT3bydiqKm7IxIkcVL1lPCdasMs8Ldh7qiim6Z1EXZf/Fxnygk+kqCRcbTko=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 822,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022073cc15985005002b760de9b44659915f135c8ab1915ba5c83b2c80b6c1a82969",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040cde1d4275e01f57e5a78968b6da29d704b12d7ee15ffdbf67edb53937f575504c95a2f102571f765c509a89ac7a6ced5fede55b339eed9032f49bd627f75280",
+        "wx" : "0cde1d4275e01f57e5a78968b6da29d704b12d7ee15ffdbf67edb53937f57550",
+        "wy" : "4c95a2f102571f765c509a89ac7a6ced5fede55b339eed9032f49bd627f75280"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040cde1d4275e01f57e5a78968b6da29d704b12d7ee15ffdbf67edb53937f575504c95a2f102571f765c509a89ac7a6ced5fede55b339eed9032f49bd627f75280",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABAzeHUJ14B9X5aeJaLbaKdcEsS1+\n4V/9v2fttTk39XVQTJWi8QJXH3ZcUJqJrHps7V/t5Vsznu2QMvSb1if3UoA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 823,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202734eb40a83223e55a56bdd25adaa186476696d438be1c46a9a8c442bc7a8b3f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043795af819ed2bafdc708718f4f0b10c1362ae0210bd7c63c4f243ca7ce725e8927952b02af7554f50f4e0c71150b6a03c864479bfeca00a799a13212288c1c01",
+        "wx" : "3795af819ed2bafdc708718f4f0b10c1362ae0210bd7c63c4f243ca7ce725e89",
+        "wy" : "27952b02af7554f50f4e0c71150b6a03c864479bfeca00a799a13212288c1c01"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043795af819ed2bafdc708718f4f0b10c1362ae0210bd7c63c4f243ca7ce725e8927952b02af7554f50f4e0c71150b6a03c864479bfeca00a799a13212288c1c01",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDeVr4Ge0rr9xwhxj08LEME2KuAh\nC9fGPE8kPKfOcl6JJ5UrAq91VPUPTgxxFQtqA8hkR5v+ygCnmaEyEiiMHAE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 824,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009f5af50acc7c29e9a1df221ad37bacb5da3cdd447f515fa64b241ffd910eae3f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0459dcdf8fd82ad6aacf29c588ffdf9aeab54c89f6729cdc0c286d5c115bb5309071d4aec02802a39e801f793e87c96dfb7ff414adb24e609fd811835e5947bbb4",
+        "wx" : "59dcdf8fd82ad6aacf29c588ffdf9aeab54c89f6729cdc0c286d5c115bb53090",
+        "wy" : "71d4aec02802a39e801f793e87c96dfb7ff414adb24e609fd811835e5947bbb4"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000459dcdf8fd82ad6aacf29c588ffdf9aeab54c89f6729cdc0c286d5c115bb5309071d4aec02802a39e801f793e87c96dfb7ff414adb24e609fd811835e5947bbb4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFnc34/YKtaqzynFiP/fmuq1TIn2\ncpzcDChtXBFbtTCQcdSuwCgCo56AH3k+h8lt+3/0FK2yTmCf2BGDXllHu7Q=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 825,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009f262626689b3c3235e93e8da30543ddfbde2af812938a380f4440b645187da7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04133904e1f94786758e63ddf382bd25b59793ce16e81dc33f794e9581cde8da644a099fe3b67dace481cae93f0ae7ece905e5ff3b411c0a6a2db4e20a228fe61f",
+        "wx" : "133904e1f94786758e63ddf382bd25b59793ce16e81dc33f794e9581cde8da64",
+        "wy" : "4a099fe3b67dace481cae93f0ae7ece905e5ff3b411c0a6a2db4e20a228fe61f"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004133904e1f94786758e63ddf382bd25b59793ce16e81dc33f794e9581cde8da644a099fe3b67dace481cae93f0ae7ece905e5ff3b411c0a6a2db4e20a228fe61f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBM5BOH5R4Z1jmPd84K9JbWXk84W\n6B3DP3lOlYHN6NpkSgmf47Z9rOSByuk/Cufs6QXl/ztBHApqLbTiCiKP5h8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 826,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009450f4712f47cea82d6c728aa886fa4a6b82db4c6fc56d788e6a72e9f2e8a4a7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046d36cf5d643e4c77be28a30ef74d5016c5dfcba4f181467a0d8d419c28c0e9010f09dad5ab90679b3baf6cce79d8d87c07005a868133dcc898da81c2c760ae55",
+        "wx" : "6d36cf5d643e4c77be28a30ef74d5016c5dfcba4f181467a0d8d419c28c0e901",
+        "wy" : "0f09dad5ab90679b3baf6cce79d8d87c07005a868133dcc898da81c2c760ae55"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046d36cf5d643e4c77be28a30ef74d5016c5dfcba4f181467a0d8d419c28c0e9010f09dad5ab90679b3baf6cce79d8d87c07005a868133dcc898da81c2c760ae55",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABG02z11kPkx3viijDvdNUBbF38uk\n8YFGeg2NQZwowOkBDwna1auQZ5s7r2zOedjYfAcAWoaBM9zImNqBwsdgrlU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 827,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02201f156d9a2bd05b6f7a2c27c80f9bb73f8d540acc23b13705d91483d681e34edf",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04346a4c284d5f5aab6577fa8eaab3f465bd8dc99f91c0fc327d0dcf9f330293c24acc9f6c82b403b78f97b31e5f5ebadee52429716a3bd484478497ae649d2e66",
+        "wx" : "346a4c284d5f5aab6577fa8eaab3f465bd8dc99f91c0fc327d0dcf9f330293c2",
+        "wy" : "4acc9f6c82b403b78f97b31e5f5ebadee52429716a3bd484478497ae649d2e66"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004346a4c284d5f5aab6577fa8eaab3f465bd8dc99f91c0fc327d0dcf9f330293c24acc9f6c82b403b78f97b31e5f5ebadee52429716a3bd484478497ae649d2e66",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDRqTChNX1qrZXf6jqqz9GW9jcmf\nkcD8Mn0Nz58zApPCSsyfbIK0A7ePl7MeX1663uUkKXFqO9SER4SXrmSdLmY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 828,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022033d58cc129940d5af53f5f8a6fd82d430e26df908bf649e8d1f5235cfd35de4a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046af61f84384de5591090cb3b6d8c592094f3702c2401eee392c920a43e927390a87f47a6d5db9e88ac2001e1843a3ce4c664bc33aedccef5f104f3d38501ca92",
+        "wx" : "6af61f84384de5591090cb3b6d8c592094f3702c2401eee392c920a43e927390",
+        "wy" : "0a87f47a6d5db9e88ac2001e1843a3ce4c664bc33aedccef5f104f3d38501ca92"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046af61f84384de5591090cb3b6d8c592094f3702c2401eee392c920a43e927390a87f47a6d5db9e88ac2001e1843a3ce4c664bc33aedccef5f104f3d38501ca92",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGr2H4Q4TeVZEJDLO22MWSCU83As\nJAHu45LJIKQ+knOQqH9HptXbnoisIAHhhDo85MZkvDOu3M718QTz04UBypI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 829,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02201ea9a1bf078a5e9b9c16ad03b139ada7747e8d07ef6b08a8cab1588ecc48f6d0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046c98913484d659ac8bb2d2dec96505eadca3b1d9703a71c558655b8a9f3513c66f905ec936941a5798720c32847c2166a91e875f66d1949b9bfc9b3a7217c80a",
+        "wx" : "6c98913484d659ac8bb2d2dec96505eadca3b1d9703a71c558655b8a9f3513c6",
+        "wy" : "6f905ec936941a5798720c32847c2166a91e875f66d1949b9bfc9b3a7217c80a"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046c98913484d659ac8bb2d2dec96505eadca3b1d9703a71c558655b8a9f3513c66f905ec936941a5798720c32847c2166a91e875f66d1949b9bfc9b3a7217c80a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGyYkTSE1lmsi7LS3sllBerco7HZ\ncDpxxVhlW4qfNRPGb5BeyTaUGleYcgwyhHwhZqkeh19m0ZSbm/ybOnIXyAo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 830,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02200dfe729e8b4f8de96a22038589d6847b2ebdd38be7208cfd300a04d6326d7239",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040c30a40dbad124c50fc8b4000a51545523384fdc0cdc267cf734f65fb55902fd4630e4eaed17c12345efc9c8b5de7fc04271bf65ede03ee3df4668a9619d935f",
+        "wx" : "0c30a40dbad124c50fc8b4000a51545523384fdc0cdc267cf734f65fb55902fd",
+        "wy" : "4630e4eaed17c12345efc9c8b5de7fc04271bf65ede03ee3df4668a9619d935f"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040c30a40dbad124c50fc8b4000a51545523384fdc0cdc267cf734f65fb55902fd4630e4eaed17c12345efc9c8b5de7fc04271bf65ede03ee3df4668a9619d935f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABAwwpA260STFD8i0AApRVFUjOE/c\nDNwmfPc09l+1WQL9RjDk6u0XwSNF78nItd5/wEJxv2Xt4D7j30ZoqWGdk18=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 831,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022069fb57dba1eea9bc3e660a909d838d718c397aa3b561a6f7901e0e82974856a9",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046ca3fc25839a95af403e37794bad8a08e0f87fceb7ac68468704284807f65601681f87c95a55f1e210fe96f2d89c330b45fa034006c5280ce5c1770f091138b6",
+        "wx" : "6ca3fc25839a95af403e37794bad8a08e0f87fceb7ac68468704284807f65601",
+        "wy" : "681f87c95a55f1e210fe96f2d89c330b45fa034006c5280ce5c1770f091138b6"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200046ca3fc25839a95af403e37794bad8a08e0f87fceb7ac68468704284807f65601681f87c95a55f1e210fe96f2d89c330b45fa034006c5280ce5c1770f091138b6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABGyj/CWDmpWvQD43eUutigjg+H/O\nt6xoRocEKEgH9lYBaB+HyVpV8eIQ/pby2JwzC0X6A0AGxSgM5cF3DwkROLY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 832,
+          "comment" : "edge case for u2",
+          "msg" : "54657374",
+          "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206898218e251066d0cc5e64317c2f177be9d008bbf70fe19f1ce36962a9e170f3",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b254471c1b4633bf35e53fcfdd6ec8bd1d30e94d342809e19e651ea265b9b09b7240c1",
+        "wx" : "3b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b25447",
+        "wy" : "1c1b4633bf35e53fcfdd6ec8bd1d30e94d342809e19e651ea265b9b09b7240c1"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b254471c1b4633bf35e53fcfdd6ec8bd1d30e94d342809e19e651ea265b9b09b7240c1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsNMeTsOfGUFG4/6WSLuk5s2dXK\nX43RMEzewNOWslRHHBtGM7815T/P3W7IvR0w6U00KAnhnmUeomW5sJtyQME=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 833,
+          "comment" : "point duplication during verification",
+          "msg" : "54657374",
+          "sig" : "304402205b22974296c093fcc9930e14215bb19875a7d1efb2efe0154d4e6196ddb34d44022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799",
+          "result" : "valid",
+          "flags" : [
+            "PointDuplication"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b254478de011a7e2b8c47c6e889bc7e0665c892107ce19f387bb097dad8e6c83fc12b6",
+        "wx" : "3b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b25447",
+        "wy" : "08de011a7e2b8c47c6e889bc7e0665c892107ce19f387bb097dad8e6c83fc12b6"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043b0d31e4ec39f194146e3fe9648bba4e6cd9d5ca5f8dd1304cdec0d396b254478de011a7e2b8c47c6e889bc7e0665c892107ce19f387bb097dad8e6c83fc12b6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDsNMeTsOfGUFG4/6WSLuk5s2dXK\nX43RMEzewNOWslRHjeARp+K4xHxuiJvH4GZciSEHzhnzh7sJfa2ObIP8ErY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 834,
+          "comment" : "duplication bug",
+          "msg" : "54657374",
+          "sig" : "304402205b22974296c093fcc9930e14215bb19875a7d1efb2efe0154d4e6196ddb34d44022044088a0685df1955696286cc083d35afa8d2895927405b0731eadcd8a7233799",
+          "result" : "invalid",
+          "flags" : [
+            "PointDuplication"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0452987319644a827a6d82083352487688f33e2095faeacbc83ec9c4e53e0338f115b7ed0718c3b21da8ae42a0b3735eb4fc7fdadbec883f3545698bd3305c0843",
+        "wx" : "52987319644a827a6d82083352487688f33e2095faeacbc83ec9c4e53e0338f1",
+        "wy" : "15b7ed0718c3b21da8ae42a0b3735eb4fc7fdadbec883f3545698bd3305c0843"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000452987319644a827a6d82083352487688f33e2095faeacbc83ec9c4e53e0338f115b7ed0718c3b21da8ae42a0b3735eb4fc7fdadbec883f3545698bd3305c0843",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABFKYcxlkSoJ6bYIIM1JIdojzPiCV\n+urLyD7JxOU+AzjxFbftBxjDsh2orkKgs3NetPx/2tvsiD81RWmL0zBcCEM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 835,
+          "comment" : "comparison with point at infinity ",
+          "msg" : "54657374",
+          "sig" : "3044022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4487",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041d30cc1c88b587fe248d14ae8391e2204517611dacd43eea92795327d3e177487f90837130c328b9396d81061094e9741d07578ad937e12b45551463866c8367",
         "wx" : "1d30cc1c88b587fe248d14ae8391e2204517611dacd43eea92795327d3e17748",
         "wy" : "7f90837130c328b9396d81061094e9741d07578ad937e12b45551463866c8367"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200041d30cc1c88b587fe248d14ae8391e2204517611dacd43eea92795327d3e177487f90837130c328b9396d81061094e9741d07578ad937e12b45551463866c8367",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABB0wzByItYf+JI0UroOR4iBFF2Ed\nrNQ+6pJ5UyfT4XdIf5CDcTDDKLk5bYEGEJTpdB0HV4rZN+ErRVUUY4Zsg2c=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 770,
-          "comment" : "extreme value for k",
+          "tcId" : 836,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "30450221008338427c7cf4d11cb981d9b18793e3779c494c502c75bd739e578de2a700578d022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
           "result" : "valid",
@@ -11259,21 +12941,142 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042d373920bf3f9957e92d328be30b9c3ef5da0def50544577194d167ff55e55fd51d21be506e0aa233fad3869d197e4474d2a9039850c229ab772e510c06b20d5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC03OSC/P5lX6S0yi+MLnD712g3v\nUFRFdxlNFn/1XlX9UdIb5QbgqiM/rThp0ZfkR00qkDmFDCKat3LlEMBrINU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256t1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04122f70e98579bab33d717664868d56d5b00683b5d532091eed7f56c9b9bee5cf2269ae98c2c40ccdaf447851e36bd4d6c5d46f57d7ecd8a4cc415514e481bf11",
+        "wx" : "122f70e98579bab33d717664868d56d5b00683b5d532091eed7f56c9b9bee5cf",
+        "wy" : "2269ae98c2c40ccdaf447851e36bd4d6c5d46f57d7ecd8a4cc415514e481bf11"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004122f70e98579bab33d717664868d56d5b00683b5d532091eed7f56c9b9bee5cf2269ae98c2c40ccdaf447851e36bd4d6c5d46f57d7ecd8a4cc415514e481bf11",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABBIvcOmFebqzPXF2ZIaNVtWwBoO1\n1TIJHu1/Vsm5vuXPImmumMLEDM2vRHhR42vU1sXUb1fX7NikzEFVFOSBvxE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 837,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30450221008338427c7cf4d11cb981d9b18793e3779c494c502c75bd739e578de2a700578d0220796a6353bccf0b8675b699d502cbae2c88bb5799818ee4f9f93a0a5d477cd02e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04904c3d1a939ac75edbe7c66cbcb751f7ab369b684930eaaa3c54420367ab009a7e9b8347ee4db666e78be870a732c6f471c20b2cbf61cce59d81475e4a3e6a0f",
+        "wx" : "0904c3d1a939ac75edbe7c66cbcb751f7ab369b684930eaaa3c54420367ab009a",
+        "wy" : "7e9b8347ee4db666e78be870a732c6f471c20b2cbf61cce59d81475e4a3e6a0f"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004904c3d1a939ac75edbe7c66cbcb751f7ab369b684930eaaa3c54420367ab009a7e9b8347ee4db666e78be870a732c6f471c20b2cbf61cce59d81475e4a3e6a0f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJBMPRqTmsde2+fGbLy3UferNpto\nSTDqqjxUQgNnqwCafpuDR+5Ntmbni+hwpzLG9HHCCyy/YczlnYFHXko+ag8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 838,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30460221008338427c7cf4d11cb981d9b18793e3779c494c502c75bd739e578de2a700578d02210087fc46494e5887c9cb84d5407e02d78e09c7954fc44e1f2c734b3ecedf6d121f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043f9e34f512b8588b6b2c4384fcbb395979e6142ec13d8af937c725185d1329b254eba9f00758e1642c694a1958b4f79b1de97595f492d7eeb970824f326d914e",
+        "wx" : "3f9e34f512b8588b6b2c4384fcbb395979e6142ec13d8af937c725185d1329b2",
+        "wy" : "54eba9f00758e1642c694a1958b4f79b1de97595f492d7eeb970824f326d914e"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200043f9e34f512b8588b6b2c4384fcbb395979e6142ec13d8af937c725185d1329b254eba9f00758e1642c694a1958b4f79b1de97595f492d7eeb970824f326d914e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABD+eNPUSuFiLayxDhPy7OVl55hQu\nwT2K+TfHJRhdEymyVOup8AdY4WQsaUoZWLT3mx3pdZX0ktfuuXCCTzJtkU4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 839,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30450221008338427c7cf4d11cb981d9b18793e3779c494c502c75bd739e578de2a700578d022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4488",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044424f09e4f869231e47b1e3426ec269e5bef19ec64cc96da5b2efdd2116b83f07a863d25743bb260a638de649796c676e13805865c8bb9dac38e16fae54b0cef",
+        "wx" : "4424f09e4f869231e47b1e3426ec269e5bef19ec64cc96da5b2efdd2116b83f0",
+        "wy" : "7a863d25743bb260a638de649796c676e13805865c8bb9dac38e16fae54b0cef"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200044424f09e4f869231e47b1e3426ec269e5bef19ec64cc96da5b2efdd2116b83f07a863d25743bb260a638de649796c676e13805865c8bb9dac38e16fae54b0cef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABEQk8J5PhpIx5HseNCbsJp5b7xns\nZMyW2lsu/dIRa4PweoY9JXQ7smCmON5kl5bGduE4BYZci7naw44W+uVLDO8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 840,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "30450221008338427c7cf4d11cb981d9b18793e3779c494c502c75bd739e578de2a700578d02203090f487e51f9e35c8af70bb9ab7df45037e230a33d2c1fd96e404254fcb8679",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04395d3e0debc6f3f5c33cdd6b5d0b4e457cfd94a7c29b05a490ff4e0397d73dca49268faa790b51955b297aa06fbb7c6f92b9d588d04325415f08d1fbe97c7c09",
+        "wx" : "395d3e0debc6f3f5c33cdd6b5d0b4e457cfd94a7c29b05a490ff4e0397d73dca",
+        "wy" : "49268faa790b51955b297aa06fbb7c6f92b9d588d04325415f08d1fbe97c7c09"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004395d3e0debc6f3f5c33cdd6b5d0b4e457cfd94a7c29b05a490ff4e0397d73dca49268faa790b51955b297aa06fbb7c6f92b9d588d04325415f08d1fbe97c7c09",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABDldPg3rxvP1wzzda10LTkV8/ZSn\nwpsFpJD/TgOX1z3KSSaPqnkLUZVbKXqgb7t8b5K51YjQQyVBXwjR++l8fAk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 841,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "30450221008338427c7cf4d11cb981d9b18793e3779c494c502c75bd739e578de2a700578d022077472d9a28b4ece71cf413a68eac0eb423a16fb462b1f48706fed48ca437bd2d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042d373920bf3f9957e92d328be30b9c3ef5da0def50544577194d167ff55e55fd51d21be506e0aa233fad3869d197e4474d2a9039850c229ab772e510c06b20d5",
         "wx" : "2d373920bf3f9957e92d328be30b9c3ef5da0def50544577194d167ff55e55fd",
         "wy" : "51d21be506e0aa233fad3869d197e4474d2a9039850c229ab772e510c06b20d5"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200042d373920bf3f9957e92d328be30b9c3ef5da0def50544577194d167ff55e55fd51d21be506e0aa233fad3869d197e4474d2a9039850c229ab772e510c06b20d5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABC03OSC/P5lX6S0yi+MLnD712g3v\nUFRFdxlNFn/1XlX9UdIb5QbgqiM/rThp0ZfkR00qkDmFDCKat3LlEMBrINU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 771,
-          "comment" : "extreme value for k",
+          "tcId" : 842,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "3045022100a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4022038a91d4935fa389414ccae3034812f25d9687e3691cb37a7dab4af80dd181ce2",
           "result" : "valid",
@@ -11282,20 +13085,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048f99ece4442ea6ec2b4e412c6167f847a3ec781998148cd58255c9ea34d379b4080a032469e7bcc64f0c387b36525239090604c115fe89bae2e462ccc26c417b",
+        "wx" : "08f99ece4442ea6ec2b4e412c6167f847a3ec781998148cd58255c9ea34d379b4",
+        "wy" : "080a032469e7bcc64f0c387b36525239090604c115fe89bae2e462ccc26c417b"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048f99ece4442ea6ec2b4e412c6167f847a3ec781998148cd58255c9ea34d379b4080a032469e7bcc64f0c387b36525239090604c115fe89bae2e462ccc26c417b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABI+Z7ORELqbsK05BLGFn+Eej7HgZ\nmBSM1YJVyeo003m0CAoDJGnnvMZPDDh7NlJSOQkGBMEV/om64uRizMJsQXs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 843,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "3045022100a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f40220796a6353bccf0b8675b699d502cbae2c88bb5799818ee4f9f93a0a5d477cd02e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0406bd17d0d354ecd7e8c7ecc9020b1a781743b2462671d19ecf7ee69137d23e2609c5f605d0cf1b8ce96b4d1b7039599dd4e6726fd27b34aecc9fc07d90ad7ff8",
+        "wx" : "6bd17d0d354ecd7e8c7ecc9020b1a781743b2462671d19ecf7ee69137d23e26",
+        "wy" : "09c5f605d0cf1b8ce96b4d1b7039599dd4e6726fd27b34aecc9fc07d90ad7ff8"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000406bd17d0d354ecd7e8c7ecc9020b1a781743b2462671d19ecf7ee69137d23e2609c5f605d0cf1b8ce96b4d1b7039599dd4e6726fd27b34aecc9fc07d90ad7ff8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABAa9F9DTVOzX6MfsyQILGngXQ7JG\nJnHRns9+5pE30j4mCcX2BdDPG4zpa00bcDlZndTmcm/SezSuzJ/AfZCtf/g=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 844,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "3046022100a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f402210087fc46494e5887c9cb84d5407e02d78e09c7954fc44e1f2c734b3ecedf6d121f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045f894cbb72549ded11d41abcc30bd0634ea4508ad11b323a74a31a95be5b7c99996d7de228ad0c2309be12a33a86c170870f4a93b8f6ce4c2f347b9ecc715bbb",
+        "wx" : "5f894cbb72549ded11d41abcc30bd0634ea4508ad11b323a74a31a95be5b7c99",
+        "wy" : "0996d7de228ad0c2309be12a33a86c170870f4a93b8f6ce4c2f347b9ecc715bbb"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200045f894cbb72549ded11d41abcc30bd0634ea4508ad11b323a74a31a95be5b7c99996d7de228ad0c2309be12a33a86c170870f4a93b8f6ce4c2f347b9ecc715bbb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABF+JTLtyVJ3tEdQavMML0GNOpFCK\n0RsyOnSjGpW+W3yZmW194iitDCMJvhKjOobBcIcPSpO49s5MLzR7nsxxW7s=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 845,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "3045022100a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4022021ff1192539621f272e135501f80b5e38271e553f11387cb1cd2cfb3b7db4488",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0478e1d4be5068250d2cb266397e727c066e5f2f747a8666cd8af070d5b9ed6a4168a546bec874dfaa1300421e2ce7646b6dfd8e7e5ac5a82129d759ffe4aeefff",
+        "wx" : "78e1d4be5068250d2cb266397e727c066e5f2f747a8666cd8af070d5b9ed6a41",
+        "wy" : "68a546bec874dfaa1300421e2ce7646b6dfd8e7e5ac5a82129d759ffe4aeefff"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101080342000478e1d4be5068250d2cb266397e727c066e5f2f747a8666cd8af070d5b9ed6a4168a546bec874dfaa1300421e2ce7646b6dfd8e7e5ac5a82129d759ffe4aeefff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABHjh1L5QaCUNLLJmOX5yfAZuXy90\neoZmzYrwcNW57WpBaKVGvsh036oTAEIeLOdka239jn5axaghKddZ/+Su7/8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 846,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "3045022100a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f402203090f487e51f9e35c8af70bb9ab7df45037e230a33d2c1fd96e404254fcb8679",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048eea4918015d5d0bf2d8bc047a1b2ced1da6889ee4dfa58461a351ce36bff8f8197ede0e92b1001f0fd82cf66f96f51471d48a6dfff52aec62a9e1a361cd7d49",
+        "wx" : "08eea4918015d5d0bf2d8bc047a1b2ced1da6889ee4dfa58461a351ce36bff8f8",
+        "wy" : "197ede0e92b1001f0fd82cf66f96f51471d48a6dfff52aec62a9e1a361cd7d49"
+      },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048eea4918015d5d0bf2d8bc047a1b2ced1da6889ee4dfa58461a351ce36bff8f8197ede0e92b1001f0fd82cf66f96f51471d48a6dfff52aec62a9e1a361cd7d49",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABI7qSRgBXV0L8ti8BHobLO0dpoie\n5N+lhGGjUc42v/j4GX7eDpKxAB8P2Cz2b5b1FHHUim3/9SrsYqnho2HNfUk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 847,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "3045022100a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4022077472d9a28b4ece71cf413a68eac0eb423a16fb462b1f48706fed48ca437bd2d",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be",
+        "wx" : "0a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4",
+        "wy" : "2d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be"
+      },
       "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f42d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKPo6zzBz+e3cyITsjplYUmvoULE\neq+8K3mhkVYuEwX0LZlsgjQ5xW1/eyLhRkRBfmm8tt450CcAHavo81slyb4=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256t1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4",
-        "wy" : "2d996c823439c56d7f7b22e14644417e69bcb6de39d027001dabe8f35b25c9be"
-      },
       "tests" : [
         {
-          "tcId" : 772,
+          "tcId" : 848,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
@@ -11303,7 +13227,7 @@
           "flags" : []
         },
         {
-          "tcId" : 773,
+          "tcId" : 849,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
@@ -11313,20 +13237,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP256t1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f47c61eb596db4e44ebeeae7af573f4bf4047f3f459b55f92802675f29c44889b9",
+        "wx" : "0a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4",
+        "wy" : "7c61eb596db4e44ebeeae7af573f4bf4047f3f459b55f92802675f29c44889b9"
+      },
       "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f47c61eb596db4e44ebeeae7af573f4bf4047f3f459b55f92802675f29c44889b9",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKPo6zzBz+e3cyITsjplYUmvoULE\neq+8K3mhkVYuEwX0fGHrWW205E6+6uevVz9L9AR/P0WbVfkoAmdfKcRIibk=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP256t1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "0a3e8eb3cc1cfe7b7732213b23a656149afa142c47aafbc2b79a191562e1305f4",
-        "wy" : "7c61eb596db4e44ebeeae7af573f4bf4047f3f459b55f92802675f29c44889b9"
-      },
       "tests" : [
         {
-          "tcId" : 774,
+          "tcId" : 850,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "30440220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
@@ -11334,7 +13259,7 @@
           "flags" : []
         },
         {
-          "tcId" : 775,
+          "tcId" : 851,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "3044022056ccad1e0c7a21ae7eef50d7d1830a456b928e9277f9845e3b1094148813f882022018487a43f28fcf1ae457b85dcd5befa281bf118519e960fecb720212a7e5c33c",
@@ -11344,20 +13269,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf386224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLIezUjMRvswbtVOiK22FSCEV70l\nfn6dgdtb0fVhAKeuuxOGRlUHu/OGIkyzg4FeG6vlYdy29JrwBz4b/aNmBm72JED8\ngd7H7KAhywwFCR37\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf386224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb",
         "wx" : "0b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf3",
         "wy" : "086224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b21ecd48cc46fb306ed54e88adb615208457bd257e7e9d81db5bd1f56100a7aebb1386465507bbf386224cb383815e1babe561dcb6f49af0073e1bfda366066ef62440fc81dec7eca021cb0c05091dfb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLIezUjMRvswbtVOiK22FSCEV70l\nfn6dgdtb0fVhAKeuuxOGRlUHu/OGIkyzg4FeG6vlYdy29JrwBz4b/aNmBm72JED8\ngd7H7KAhywwFCR37\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 776,
+          "tcId" : 852,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "30420215014064fb4c224a8b248a0d933f7642bd56aced9b12022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
@@ -11365,7 +13291,7 @@
           "flags" : []
         },
         {
-          "tcId" : 777,
+          "tcId" : 853,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa6f6f40def4f92b9ec7893ec28fcd412b1f1b32e23022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
@@ -11375,20 +13301,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200049c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf179001e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJyXAd4v/bKW5tVqXzwYnsuw5ESO\nOO1l2kbuqlGns05lCpHalfrxeQAeCpilmFI6NMSRjUGA+H1kHkYmzhH6OiRKv7JF\nBzZpPThlIwkkDr2p\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "049c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf179001e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9",
         "wx" : "09c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf17900",
         "wy" : "1e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200049c9701de2ffdb296e6d56a5f3c189ecbb0e4448e38ed65da46eeaa51a7b34e650a91da95faf179001e0a98a598523a34c4918d4180f87d641e4626ce11fa3a244abfb2450736693d38652309240ebda9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJyXAd4v/bKW5tVqXzwYnsuw5ESO\nOO1l2kbuqlGns05lCpHalfrxeQAeCpilmFI6NMSRjUGA+H1kHkYmzhH6OiRKv7JF\nBzZpPThlIwkkDr2p\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 778,
+          "tcId" : 854,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930f022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c5930e",
@@ -11398,20 +13325,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee427538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLbw3cg074pnkDaB6gK3iPz/gtEj\nB8jD9KRLMNfF9hTa/MmoOZkfjuQnU44wrlECsgQ5V91hJPujobYBwEvdr2ySn/3y\n93lv1wmMOH28Cyb7\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee427538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb",
         "wx" : "0b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee4",
         "wy" : "27538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b6f0ddc834ef8a67903681ea02b788fcff82d12307c8c3f4a44b30d7c5f614dafcc9a839991f8ee427538e30ae5102b2043957dd6124fba3a1b601c04bddaf6c929ffdf2f7796fd7098c387dbc0b26fb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLbw3cg074pnkDaB6gK3iPz/gtEj\nB8jD9KRLMNfF9hTa/MmoOZkfjuQnU44wrlECsgQ5V91hJPujobYBwEvdr2ySn/3y\n93lv1wmMOH28Cyb7\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 779,
+          "tcId" : 855,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "305502287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0229008c0736554dbc446063e8e15f297fd4b66fa8879945bbb5c22714a9645f4fa4ef9d710eafa6b226d8",
@@ -11421,20 +13349,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96fb52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABG30QyHUpfavY+AbebtgjqBKxvNf\neVBEoE/0APVH/TTZt4wSxFl4+W+1KQHOzkiqtDLD29y8DicLLMm5kVzB/7aaNl2E\nw5GGxIF3OHqp7gpI\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "046df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96fb52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48",
         "wx" : "6df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96f",
         "wy" : "0b52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046df44321d4a5f6af63e01b79bb608ea04ac6f35f795044a04ff400f547fd34d9b78c12c45978f96fb52901cece48aab432c3dbdcbc0e270b2cc9b9915cc1ffb69a365d84c39186c48177387aa9ee0a48",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABG30QyHUpfavY+AbebtgjqBKxvNf\neVBEoE/0APVH/TTZt4wSxFl4+W+1KQHOzkiqtDLD29y8DicLLMm5kVzB/7aaNl2E\nw5GGxIF3OHqp7gpI\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 780,
+          "tcId" : 856,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "305402287fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02285407cdd593acb501fc2848351f9d2e6b5457d3de43c3130e3b74e6a9242b3cce1c24f094f118bcd6",
@@ -11444,20 +13373,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE5JbwVqtdB/llYsaDZDRA4x/qJt\nNebFtp7vqkEH00XIB78nny6ia2AohTl2b8cmy56EHbXc+7t5LK3jwe9ktp3L2n9e\nSXtFWpEc4vDrysqt\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "044e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad",
         "wx" : "4e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60",
         "wy" : "288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044e496f056ab5d07f96562c683643440e31fea26d35e6c5b69eefaa4107d345c807bf279f2ea26b60288539766fc726cb9e841db5dcfbbb792cade3c1ef64b69dcbda7f5e497b455a911ce2f0ebcacaad",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE5JbwVqtdB/llYsaDZDRA4x/qJt\nNebFtp7vqkEH00XIB78nny6ia2AohTl2b8cmy56EHbXc+7t5LK3jwe9ktp3L2n9e\nSXtFWpEc4vDrysqt\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 781,
+          "tcId" : 857,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -11467,20 +13397,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000411e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af43f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBHglPRwlI5OqmqhP6tOBjOG6Rpj\nj6Im2YjQaT3qcZypX2Hkk+mDWvQ/Uz6JqiCFqfgSEIaiWX8QYPc8jXXWaUDlDurX\nPf0DxHbqGUfN1N0/\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0411e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af43f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f",
         "wx" : "11e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af4",
         "wy" : "3f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000411e094f470948e4eaa6aa13fab4e063386e91a638fa226d988d0693dea719ca95f61e493e9835af43f533e89aa2085a9f8121086a2597f1060f73c8d75d66940e50eead73dfd03c476ea1947cdd4dd3f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBHglPRwlI5OqmqhP6tOBjOG6Rpj\nj6Im2YjQaT3qcZypX2Hkk+mDWvQ/Uz6JqiCFqfgSEIaiWX8QYPc8jXXWaUDlDurX\nPf0DxHbqGUfN1N0/\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 782,
+          "tcId" : 858,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -11490,20 +13421,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000416517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb9f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBZRen176rZHLqj2vCBBKjzZbSQs\nJGzp+YOy7wiyhM+tGsKFY7Vu2vufVv4t94wjmqFsPDGLyRkaFuxAenADVBc/i4Yt\nmgqhDWc5fybnycC+\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0416517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb9f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be",
         "wx" : "16517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb",
         "wy" : "09f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000416517a7d7beab6472ea8f6bc20412a3cd96d242c246ce9f983b2ef08b284cfad1ac28563b56edafb9f56fe2df78c239aa16c3c318bc9191a16ec407a700354173f8b862d9a0aa10d67397f26e7c9c0be",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBZRen176rZHLqj2vCBBKjzZbSQs\nJGzp+YOy7wiyhM+tGsKFY7Vu2vufVv4t94wjmqFsPDGLyRkaFuxAenADVBc/i4Yt\nmgqhDWc5fybnycC+\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 783,
+          "tcId" : 859,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -11511,7 +13443,7 @@
           "flags" : []
         },
         {
-          "tcId" : 784,
+          "tcId" : 860,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "302e022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59312020103",
@@ -11521,20 +13453,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABDomaLwJYU0mOO1Y8cQhu2Hy1Jmo\nb+fVc70TkqzvnilrHvKxDX9OxSTRt46ycWzmaAVNKWd8b00yNfJ9OpKV7O+d39L2\nWLoAIFLQ4eZxch4u\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "043a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e",
         "wx" : "3a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524",
         "wy" : "0d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043a2668bc09614d2638ed58f1c421bb61f2d499a86fe7d573bd1392acef9e296b1ef2b10d7f4ec524d1b78eb2716ce668054d29677c6f4d3235f27d3a9295ecef9ddfd2f658ba002052d0e1e671721e2e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABDomaLwJYU0mOO1Y8cQhu2Hy1Jmo\nb+fVc70TkqzvnilrHvKxDX9OxSTRt46ycWzmaAVNKWd8b00yNfJ9OpKV7O+d39L2\nWLoAIFLQ4eZxch4u\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 785,
+          "tcId" : 861,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "302e020101022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44d86998",
@@ -11544,20 +13477,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c84b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0Wl8bhB/PZC430Yus2i3XrpYVj\nWVAXfgpksa1L5SfJCVf73yA9Z8hLAD8g6BZZCZt+RmYY8mEMbx3zFbIBHbB7kPNm\nK1FWH//fPrtdRDRA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c84b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440",
         "wx" : "0cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c8",
         "wy" : "4b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd1697c6e107f3d90b8df462eb368b75eba585635950177e0a64b1ad4be527c90957fbdf203d67c84b003f20e81659099b7e466618f2610c6f1df315b2011db07b90f3662b51561fffdf3ebb5d443440",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0Wl8bhB/PZC430Yus2i3XrpYVj\nWVAXfgpksa1L5SfJCVf73yA9Z8hLAD8g6BZZCZt+RmYY8mEMbx3zFbIBHbB7kPNm\nK1FWH//fPrtdRDRA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 786,
+          "tcId" : 862,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "302e02020100022821494db879806d4f59e53d4963977a03f6ec51140c9f9a1dba8857ff3bbc76d2214947e60edc982b",
@@ -11567,20 +13501,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLHjYZ2eNYc+lZu33ndA6Sfjy3/P\nRBO/277XLsyahqUNcCnK4I7ChatIa10vfJuTFEILyGTP4ptAZL97kiu7W7zRbzqB\n6n0KYbCgmmKVm3aQ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690",
         "wx" : "0b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab",
         "wy" : "486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b1e3619d9e35873e959bb7de7740e927e3cb7fcf4413bfdbbed72ecc9a86a50d7029cae08ec285ab486b5d2f7c9b9314420bc864cfe29b4064bf7b922bbb5bbcd16f3a81ea7d0a61b0a09a62959b7690",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLHjYZ2eNYc+lZu33ndA6Sfjy3/P\nRBO/277XLsyahqUNcCnK4I7ChatIa10vfJuTFEILyGTP4ptAZL97kiu7W7zRbzqB\n6n0KYbCgmmKVm3aQ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 787,
+          "tcId" : 863,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "303302072d9b4d347952cc022843becc876a63564b458280199e382cbad8ef68d406665bbf307ffea45845a9ac69345a84a5a72b87",
@@ -11590,20 +13525,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000497cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJfP66tYilQkKk2WLvgDN2w/Qwea\npQqIcdbndvegszrqRquaLaY6M9jIGvNK8umgxXHv+1AcSif9Ku3BNiNEevK8i21e\ncgjCPofi15fMPPV+\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0497cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e",
         "wx" : "097cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8",
         "wy" : "0c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000497cfebab588a54242a4d962ef803376c3f43079aa50a8871d6e776f7a0b33aea46ab9a2da63a33d8c81af34af2e9a0c571effb501c4a27fd2aedc13623447af2bc8b6d5e7208c23e87e2d797cc3cf57e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJfP66tYilQkKk2WLvgDN2w/Qwea\npQqIcdbndvegszrqRquaLaY6M9jIGvNK8umgxXHv+1AcSif9Ku3BNiNEevK8i21e\ncgjCPofi15fMPPV+\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 788,
+          "tcId" : 864,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3039020d1033e67e37b32b445580bf4efc02283992353d916617b49303856488e39fbc26173b8bc426f8207de3d8f1b97f3d12c803b99d57768fa7",
@@ -11613,20 +13549,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCluAGeUfvwHoGriGPsAFk0evrzT\neH95NIFAfieWJI6LZerFfbDBRgZynoCUuaVO6sI9mNUdZi7/LfM6hpMAj9AqBCnv\naFHsvc2TqsZ8L722\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6",
         "wx" : "296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606",
         "wy" : "729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004296e0067947efc07a06ae218fb00164d1ebebcd3787f793481407e2796248e8b65eac57db0c14606729e8094b9a54eeac23d98d51d662eff2df33a8693008fd02a0429ef6851ecbdcd93aac67c2fbdb6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCluAGeUfvwHoGriGPsAFk0evrzT\neH95NIFAfieWJI6LZerFfbDBRgZynoCUuaVO6sI9mNUdZi7/LfM6hpMAj9AqBCnv\naFHsvc2TqsZ8L722\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 789,
+          "tcId" : 865,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "302f0202010002290084380881b243236967227191398a3a4909000425576c79465bdaaa0a03267b9e48f68fa0a68b29e3",
@@ -11636,20 +13573,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a6851cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKN4OwFFXZIID1INFx+Sq+r0jHI4\n4Wiykx8rMi+cD6ppokCXg2ywpoUcvxoiusJDdVEkRgVoLavN1M85/50IRDkhyZRI\ny86l3rha2VLbsrln\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a6851cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967",
         "wx" : "0a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a685",
         "wy" : "1cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a3783b01455d92080f520d171f92abeaf48c7238e168b2931f2b322f9c0faa69a24097836cb0a6851cbf1a22bac2437551244605682dabcdd4cf39ff9d08443921c99448cbcea5deb85ad952dbb2b967",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKN4OwFFXZIID1INFx+Sq+r0jHI4\n4Wiykx8rMi+cD6ppokCXg2ywpoUcvxoiusJDdVEkRgVoLavN1M85/50IRDkhyZRI\ny86l3rha2VLbsrln\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 790,
+          "tcId" : 866,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "303a020d062522bbd3ecbe7c39e93e7c2402290084380881b243236967227191398a3a4909000425576c79465bdaaa0a03267b9e48f68fa0a68b29e3",
@@ -11659,20 +13597,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000470d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHDV/UHEFtW3zby5RCBb1p/wDtY1\nSqUCdX4InLGa9vd3vrD2khwPr6wirnzGXg57YXQjdQuEk6WFEuN5wA3mJsF/fIK/\nyQfyZhCj8eTRMsV1\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0470d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575",
         "wx" : "70d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac",
         "wy" : "22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000470d5fd41c416d5b7cdbcb944205bd69ff00ed6354aa502757e089cb19af6f777beb0f6921c0fafac22ae7cc65e0e7b617423750b8493a58512e379c00de626c17f7c82bfc907f26610a3f1e4d132c575",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHDV/UHEFtW3zby5RCBb1p/wDtY1\nSqUCdX4InLGa9vd3vrD2khwPr6wirnzGXg57YXQjdQuEk6WFEuN5wA3mJsF/fIK/\nyQfyZhCj8eTRMsV1\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 791,
+          "tcId" : 867,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3056022900d35e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c592940229008ce984c0247d8a7a9628503f36abeaeea65fdfc3cf0a0c6cc8dac9da9f043b4659b638e7832e620b",
@@ -11682,20 +13621,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAaCjOY/Ow1pTOKZnQaUf6ni0cGK\nuAMmUvp6mMZ4z2uyxS5zaQheTvfFbfaRKJYvvvwq7xs/bEZ7cvwwWs9RszlkPKLt\na95WMXxM9ZiVkj3t\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0406828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded",
         "wx" : "6828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7",
         "wy" : "0c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406828ce63f3b0d694ce2999d06947fa9e2d1c18ab8032652fa7a98c678cf6bb2c52e7369085e4ef7c56df69128962fbefc2aef1b3f6c467b72fc305acf51b339643ca2ed6bde56317c4cf59895923ded",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAaCjOY/Ow1pTOKZnQaUf6ni0cGK\nuAMmUvp6mMZ4z2uyxS5zaQheTvfFbfaRKJYvvvwq7xs/bEZ7cvwwWs9RszlkPKLt\na95WMXxM9ZiVkj3t\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 792,
+          "tcId" : 868,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "302d02284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105020101",
@@ -11703,7 +13643,7 @@
           "flags" : []
         },
         {
-          "tcId" : 793,
+          "tcId" : 869,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "302d02284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105020100",
@@ -11713,20 +13653,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCAlFq1mN3XxIVVSEHkDfz/KUMZP\nqkr9iGrdTaq5J/P2KqLa5oSmNdZjKu3VMOYdqzWRaWLujyPtaIGYr9WtawcF4u+d\nC6PFMzsVvatDLuNC\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342",
         "wx" : "202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6",
         "wy" : "632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004202516ad663775f12155521079037f3fca50c64faa4afd886add4daab927f3f62aa2dae684a635d6632aedd530e61dab35916962ee8f23ed688198afd5ad6b0705e2ef9d0ba3c5333b15bdab432ee342",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCAlFq1mN3XxIVVSEHkDfz/KUMZP\nqkr9iGrdTaq5J/P2KqLa5oSmNdZjKu3VMOYdqzWRaWLujyPtaIGYr9WtawcF4u+d\nC6PFMzsVvatDLuNC\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 794,
+          "tcId" : 870,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "3054022869af23901b5e27dbf09e3c2f6900f032fcc7e7d2db47895196a41763f7432c74c348aaada262c98802284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105",
@@ -11736,20 +13677,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c9b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGtDJxF+nATXpYJZxSB6NujSeOhz\nuStbOnCjxHQsxYO0FAiqqyOhKpybCyYWDFSKus1/Djcnb5F8CXIbOETQsm6e1cds\nmXh5kiWb8PewJEXT\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "046b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c9b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3",
         "wx" : "6b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c",
         "wy" : "09b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046b4327117e9c04d7a58259c5207a36e8d278e873b92b5b3a70a3c4742cc583b41408aaab23a12a9c9b0b26160c548abacd7f0e37276f917c09721b3844d0b26e9ed5c76c99787992259bf0f7b02445d3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGtDJxF+nATXpYJZxSB6NujSeOhz\nuStbOnCjxHQsxYO0FAiqqyOhKpybCyYWDFSKus1/Djcnb5F8CXIbOETQsm6e1cds\nmXh5kiWb8PewJEXT\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 795,
+          "tcId" : 871,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb700",
@@ -11759,20 +13701,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d77202282d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCd/SH+vd6Zdu3kVNuhjuMcPkE/N\nyvUnQNS9XEaXMeWOpr1T6NdyAigtNG8rTKe6y4gv73ScJxPxp18Agn6Lm590Sg4e\nNLz4B5mhIJUN6V2Z\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d77202282d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99",
         "wx" : "277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d7720228",
         "wy" : "2d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004277f487faf77a65dbb791536e863b8c70f904fcdcaf52740d4bd5c469731e58ea6bd53e8d77202282d346f2b4ca7bacb882fef749c2713f1a75f00827e8b9b9f744a0e1e34bcf80799a120950de95d99",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCd/SH+vd6Zdu3kVNuhjuMcPkE/N\nyvUnQNS9XEaXMeWOpr1T6NdyAigtNG8rTKe6y4gv73ScJxPxp18Agn6Lm590Sg4e\nNLz4B5mhIJUN6V2Z\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 796,
+          "tcId" : 872,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f22",
@@ -11782,20 +13725,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000473bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334baec1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHO9YvO7Mp1lCStdE8V0bUYkAdJg\nCZTY/i7F71ufM5kISx3cZMszS67B0axPmgwqee98zErpFl3fp2E4I1cYzyQDLDP5\n20omsrA2kqVvUgLr\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0473bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334baec1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb",
         "wx" : "73bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334bae",
         "wy" : "0c1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000473bd62f3bb329d65092b5d13c5746d462401d2600994d8fe2ec5ef5b9f3399084b1ddc64cb334baec1d1ac4f9a0c2a79ef7ccc4ae9165ddfa76138235718cf24032c33f9db4a26b2b03692a56f5202eb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHO9YvO7Mp1lCStdE8V0bUYkAdJg\nCZTY/i7F71ufM5kISx3cZMszS67B0axPmgwqee98zErpFl3fp2E4I1cYzyQDLDP5\n20omsrA2kqVvUgLr\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 797,
+          "tcId" : 873,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "305402284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c197310502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105",
@@ -11805,20 +13749,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000420a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCCnVVEDXbldehpnPUZNJ22ghhAI\n5GRMWCvBChvurrBwgj/QZKJiXrtdR/DHf8V+O7DhU7vH6bvejbmLDEbFgVSvW5eG\nsQuhKrO6hTOjmSiD\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0420a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883",
         "wx" : "20a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb",
         "wy" : "5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000420a75551035db95d7a1a673d464d276da0861008e4644c582bc10a1beeaeb070823fd064a2625ebb5d47f0c77fc57e3bb0e153bbc7e9bbde8db98b0c46c58154af5b9786b10ba12ab3ba8533a3992883",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCCnVVEDXbldehpnPUZNJ22ghhAI\n5GRMWCvBChvurrBwgj/QZKJiXrtdR/DHf8V+O7DhU7vH6bvejbmLDEbFgVSvW5eG\nsQuhKrO6hTOjmSiD\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 798,
+          "tcId" : 874,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "305502284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c19731050229008ce984c0247d8a7a9628503f36abeaeea65fdfc3cf0a0c6cc8dac9da9f043b4659b638e7832e620c",
@@ -11828,20 +13773,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf671666340e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD9DbQfLAmSxP5L9aWM0pOUbfWYZ\n4tBDstDSeJY/JRYgDvkF6/ZxZmNA5kK2yWYHK3kngANlESiHnxne4BJztmvq2ARR\nlCd8koQJM0jZBWmx\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "043f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf671666340e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1",
         "wx" : "3f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf6716663",
         "wy" : "40e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043f436d07cb0264b13f92fd696334a4e51b7d6619e2d043b2d0d278963f2516200ef905ebf671666340e642b6c966072b79278003651128879f19dee01273b66bead8045194277c9284093348d90569b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD9DbQfLAmSxP5L9aWM0pOUbfWYZ\n4tBDstDSeJY/JRYgDvkF6/ZxZmNA5kK2yWYHK3kngANlESiHnxne4BJztmvq2ARR\nlCd8koQJM0jZBWmx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 799,
+          "tcId" : 875,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02280cc64af035cb79b3336a62d915b381e268d3bcb834f9cfd0f597c37ca5fcf50f588614ef0ef7b6a5",
@@ -11851,20 +13797,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e575421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMFvvm0NdzJ8+aZfmHwv5+4YB4Uc\nDhyLxPBiKAfc1KiLO5EusEdUceV1QhxAVABQUHoWPyPMfLkKzFKCLQHSRatw3KrA\nbi6mRDJ6hfWV0Cbv\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e575421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef",
         "wx" : "0c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e5",
         "wy" : "75421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004c16fbe6d0d77327cf9a65f987c2fe7ee1807851c0e1c8bc4f0622807dcd4a88b3b912eb0475471e575421c40540050507a163f23cc7cb90acc52822d01d245ab70dcaac06e2ea644327a85f595d026ef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMFvvm0NdzJ8+aZfmHwv5+4YB4Uc\nDhyLxPBiKAfc1KiLO5EusEdUceV1QhxAVABQUHoWPyPMfLkKzFKCLQHSRatw3KrA\nbi6mRDJ6hfWV0Cbv\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 800,
+          "tcId" : 876,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0229008e765d0d1cf9539f682a4155b6d60eb6aa6862b2af9e9d3f94c9ad46d332f0e029775522815c0e5a",
@@ -11874,20 +13821,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307ec62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABL6SQAfW4iuUSsdtp/wmYNGu+raU\ncb2DW9eO3SwQYh529xi/0KXiMH7GJYPVulzBxUdjBHazmYZuftlTtTj3bIav6c/Q\nhUtX4zaRx35ETMq4\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307ec62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8",
         "wx" : "0be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307e",
         "wy" : "0c62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004be924007d6e22b944ac76da7fc2660d1aefab69471bd835bd78edd2c10621e76f718bfd0a5e2307ec62583d5ba5cc1c547630476b399866e7ed953b538f76c86afe9cfd0854b57e33691c77e444ccab8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABL6SQAfW4iuUSsdtp/wmYNGu+raU\ncb2DW9eO3SwQYh529xi/0KXiMH7GJYPVulzBxUdjBHazmYZuftlTtTj3bIav6c/Q\nhUtX4zaRx35ETMq4\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 801,
+          "tcId" : 877,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02287225a960d967cfe52ac126a50fd79fa85a586397c0b298c8adfaf138317b0f794b24f53bd920c1cf",
@@ -11897,20 +13845,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a431b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKzyQBMNR9SlfWBllfmJEp/qfpdE\nseU/XOZ5wkTIWvNcYYYH4uzOGkMbaWp5Wf4w0EkQDdVCWBgbCKL+RC5B/ylSPBGj\n4BAo62SzIcK3Alec\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a431b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c",
         "wx" : "0acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a43",
         "wy" : "1b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004acf240130d47d4a57d606595f989129fea7e9744b1e53f5ce679c244c85af35c618607e2ecce1a431b696a7959fe30d049100dd54258181b08a2fe442e41ff29523c11a3e01028eb64b321c2b702579c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKzyQBMNR9SlfWBllfmJEp/qfpdE\nseU/XOZ5wkTIWvNcYYYH4uzOGkMbaWp5Wf4w0EkQDdVCWBgbCKL+RC5B/ylSPBGj\n4BAo62SzIcK3Alec\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 802,
+          "tcId" : 878,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900874f311b6b9ac74fc34c60c0941873651b3c0ec1d097a7861e0c7fbec3226f23a5e2c929d856ecb3",
@@ -11920,20 +13869,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000446243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEYkOznndjmsGem+U2aTF9lZjgPs\nMKDPaTD4AACYM4JqWa3lMhkz/y9p13C5eMzDbJC3SOUBBjbnAE3cGYhdp7uQ2/rU\nefxS3OS5KBQF8ca9\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0446243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd",
         "wx" : "46243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f",
         "wy" : "69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000446243b39e77639ac19e9be53669317d9598e03ec30a0cf6930f800009833826a59ade5321933ff2f69d770b978ccc36c90b748e5010636e7004ddc19885da7bb90dbfad479fc52dce4b9281405f1c6bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEYkOznndjmsGem+U2aTF9lZjgPs\nMKDPaTD4AACYM4JqWa3lMhkz/y9p13C5eMzDbJC3SOUBBjbnAE3cGYhdp7uQ2/rU\nefxS3OS5KBQF8ca9\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 803,
+          "tcId" : 879,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022813753ac90fbc7edfdcb32e1697fdfd41b1fb59c5ad177e96feacc87522ef928de80a60bb0f32e7e2",
@@ -11943,20 +13893,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c94f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLS5tro8DnUJwnWJToToGNcd4UV3\nvbS/C45eEzLRCH88Mztz6Kt18slPM9DiqzQtLhlozj4cR76H457ognOuTPd3hp06\nFwO2Opg9LUPFkwPl\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c94f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5",
         "wx" : "0b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c9",
         "wy" : "4f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004b4b9b6ba3c0e7509c275894e84e818d71de14577bdb4bf0b8e5e1332d1087f3c333b73e8ab75f2c94f33d0e2ab342d2e1968ce3e1c47be87e39ee88273ae4cf777869d3a1703b63a983d2d43c59303e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLS5tro8DnUJwnWJToToGNcd4UV3\nvbS/C45eEzLRCH88Mztz6Kt18slPM9DiqzQtLhlozj4cR76H457ognOuTPd3hp06\nFwO2Opg9LUPFkwPl\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 804,
+          "tcId" : 880,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022826ea75921f78fdbfb9665c2d2ffbfa8363f6b38b5a2efd2dfd5990ea45df251bd014c1761e65cfc4",
@@ -11966,20 +13917,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000403015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAMBWzymdoNGfHlEbUuT0Ql4MwhW\n7uQNbVhoOsc1AK4xXFtYI1HEImsY2JVh0/+g+TEaphZUf36x025zpsxL0jDfNKHz\nGb5mvLL7Dh9ozBku\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0403015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e",
         "wx" : "3015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b",
         "wy" : "18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000403015b3ca67683467c79446d4b93d10978330856eee40d6d58683ac73500ae315c5b582351c4226b18d89561d3ffa0f9311aa616547f7eb1d36e73a6cc4bd230df34a1f319be66bcb2fb0e1f68cc192e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAMBWzymdoNGfHlEbUuT0Ql4MwhW\n7uQNbVhoOsc1AK4xXFtYI1HEImsY2JVh0/+g+TEaphZUf36x025zpsxL0jDfNKHz\nGb5mvLL7Dh9ozBku\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 805,
+          "tcId" : 881,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0229009fee192930d30502c05e56adf086ecd13a92cd43ce0c72ea65ead43667890ae19be835333c32c5f0",
@@ -11989,20 +13941,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c0623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBh9k/hKDmBD8JfQqH+NygdznPRF\nSKfTQD4DnknExRKFSCl1r1TsBWwGI8V1OP77cjHWGbvv1Mqzc6VLNhNU5Yax2Zga\niDXpxr6rCCy5PhO2\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c0623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6",
         "wx" : "187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c",
         "wy" : "623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004187d93f84a0e6043f097d0a87f8dca07739cf44548a7d3403e039e49c4c51285482975af54ec056c0623c57538fefb7231d619bbefd4cab373a54b361354e586b1d9981a8835e9c6beab082cb93e13b6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBh9k/hKDmBD8JfQqH+NygdznPRF\nSKfTQD4DnknExRKFSCl1r1TsBWwGI8V1OP77cjHWGbvv1Mqzc6VLNhNU5Yax2Zga\niDXpxr6rCCy5PhO2\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 806,
+          "tcId" : 882,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900963f97cb35a321df62fc219eb2f3703949c483165d06db13c403080a86c1e5d9b43d2e8dd9643cde",
@@ -12012,20 +13965,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAhVzCA1ESazj5NPu1bDAvYqNg5i\nSTwtUp+4fK6g1xv9r1/MM2jUlf0c51eGEMvsRlOYssEjiz4jueKbR2GWEGQw12MW\nqvKZN6zmWLaci/uZ\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "040855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99",
         "wx" : "0855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd",
         "wy" : "1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040855cc20351126b38f934fbb56c302f62a360e62493c2d529fb87caea0d71bfdaf5fcc3368d495fd1ce7578610cbec465398b2c1238b3e23b9e29b476196106430d76316aaf29937ace658b69c8bfb99",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAhVzCA1ESazj5NPu1bDAvYqNg5i\nSTwtUp+4fK6g1xv9r1/MM2jUlf0c51eGEMvsRlOYssEjiz4jueKbR2GWEGQw12MW\nqvKZN6zmWLaci/uZ\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 807,
+          "tcId" : 883,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022813dbff9e667e7bcd44950226f93b09738e793517c02886ae9f2b3dededa756c9049ab9a46bc7c93e",
@@ -12035,20 +13989,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000494c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a5833686d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJTFSRkAQHm+DbTJLcH8lH156w+O\nhp2UgTiGraQlTx2ttNh6YRKlgzaG2LW+rAD6/WR++LYx6JmmqLcqUR1PUM4VZkit\nnLcI+y+yxjj9ufMy\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0494c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a5833686d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332",
         "wx" : "094c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a58336",
         "wy" : "086d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000494c54919004079be0db4c92dc1fc947d79eb0f8e869d94813886ada4254f1dadb4d87a6112a5833686d8b5beac00fafd647ef8b631e899a6a8b72a511d4f50ce156648ad9cb708fb2fb2c638fdb9f332",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJTFSRkAQHm+DbTJLcH8lH156w+O\nhp2UgTiGraQlTx2ttNh6YRKlgzaG2LW+rAD6/WR++LYx6JmmqLcqUR1PUM4VZkit\nnLcI+y+yxjj9ufMy\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 808,
+          "tcId" : 884,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900852466cef316992b3ca25cc54b7f4fda2e8a819e7c4b040543e94f9caca02937681c2019bb49ee43",
@@ -12058,20 +14013,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200042bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de92f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCvKdgQ3KLXu796J0lrN8uCxYMWu\nDM2ra9O6pHnxd1PDwADM+LqGI96S8MLWihvUBeRJgj/mOyFAKu8+mgF9y8MK8YvM\neahSZINDmMcvorsW\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "042bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de92f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16",
         "wx" : "2bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de",
         "wy" : "092f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200042bca76043728b5eeefde89d25acdf2e0b160c5ae0ccdab6bd3baa479f17753c3c000ccf8ba8623de92f0c2d68a1bd405e449823fe63b21402aef3e9a017dcbc30af18bcc79a85264834398c72fa2bb16",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABCvKdgQ3KLXu796J0lrN8uCxYMWu\nDM2ra9O6pHnxd1PDwADM+LqGI96S8MLWihvUBeRJgj/mOyFAKu8+mgF9y8MK8YvM\neahSZINDmMcvorsW\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 809,
+          "tcId" : 885,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228634bfe1800786b0256e90ac2de272f41c85e0976c0caa1691bd835a5a444b1ed1705a0361ae6ee36",
@@ -12081,20 +14037,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a300997d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBwBOzoyYMz7U+P2zpPmmEhl3I4S\nk+kjAfTLOlVL1dqKU+4QGz4aMAmX0pAeJnKTA+HLk6i3LcKvyQ/1tE/VtmJEVUh5\ndO1xx4M+/wPMEo0M\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "041c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a300997d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c",
         "wx" : "1c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a3009",
         "wy" : "097d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041c013b3a3260ccfb53e3f6ce93e6984865dc8e1293e92301f4cb3a554bd5da8a53ee101b3e1a300997d2901e26729303e1cb93a8b72dc2afc90ff5b44fd5b6624455487974ed71c7833eff03cc128d0c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBwBOzoyYMz7U+P2zpPmmEhl3I4S\nk+kjAfTLOlVL1dqKU+4QGz4aMAmX0pAeJnKTA+HLk6i3LcKvyQ/1tE/VtmJEVUh5\ndO1xx4M+/wPMEo0M\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 810,
+          "tcId" : 886,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900c697fc3000f0d604add21585bc4e5e8390bc12ed819542d237b06b4b488963da2e0b406c35cddc6c",
@@ -12104,20 +14061,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b547f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGJL7EUg5gRKvtHu5JZGaHdRgUZM\nXWv1qLU58RVvMkjAInG/lCW5ZrVH9Aa8wUMibYFM25iNdkEq0Ya97rhprXijL+h8\ndvJUVEfd+PvQQwgR\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b547f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811",
         "wx" : "624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b5",
         "wy" : "47f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004624bec4520e6044abed1eee4964668775181464c5d6bf5a8b539f1156f3248c02271bf9425b966b547f406bcc143226d814cdb988d76412ad186bdeeb869ad78a32fe87c76f2545447ddf8fbd0430811",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGJL7EUg5gRKvtHu5JZGaHdRgUZM\nXWv1qLU58RVvMkjAInG/lCW5ZrVH9Aa8wUMibYFM25iNdkEq0Ya97rhprXijL+h8\ndvJUVEfd+PvQQwgR\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 811,
+          "tcId" : 887,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285685b327caacf14f237ea7e9c873ad5f5f8a4cbe8bd0d19826407228fe47bcddbe7f8b470bef3791",
@@ -12127,20 +14085,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc8209fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBsrJzjjBV0VlvZBds8Kw4GzqBeK\nLwIUAzUCGPoY+fhgwbujn8UkvIIJ+6/KGvxa91mLh41py4db4NOfQf8BsJOIaT6z\nEK3J1INuImwjZ35R\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "041b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc8209fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51",
         "wx" : "1b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc82",
         "wy" : "09fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200041b2b2738e3055d1596f64176cf0ac381b3a8178a2f021403350218fa18f9f860c1bba39fc524bc8209fbafca1afc5af7598b878d69cb875be0d39f41ff01b09388693eb310adc9d4836e226c23677e51",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBsrJzjjBV0VlvZBds8Kw4GzqBeK\nLwIUAzUCGPoY+fhgwbujn8UkvIIJ+6/KGvxa91mLh41py4db4NOfQf8BsJOIaT6z\nEK3J1INuImwjZ35R\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 812,
+          "tcId" : 888,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900a2c1f84088120fce85fecf81f0ecc00729f4199ebba0d5b5eda190001000b43168db254b8ef32a70",
@@ -12150,20 +14109,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000440902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae016f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABECQK/ayOdLzWIJg6df1EiU/pE8w\nigq4Hf8FuPouJYFNZcIBjUk5Cq4Bb4rlaRk4QCrcD/opu4fvCvDs881EbZfD6NEr\nOwnreJCcG5GxuHhf\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0440902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae016f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f",
         "wx" : "40902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae",
         "wy" : "16f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000440902bf6b239d2f3588260e9d7f512253fa44f308a0ab81dff05b8fa2e25814d65c2018d49390aae016f8ae5691938402adc0ffa29bb87ef0af0ecf3cd446d97c3e8d12b3b09eb78909c1b91b1b8785f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABECQK/ayOdLzWIJg6df1EiU/pE8w\nigq4Hf8FuPouJYFNZcIBjUk5Cq4Bb4rlaRk4QCrcD/opu4fvCvDs881EbZfD6NEr\nOwnreJCcG5GxuHhf\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 813,
+          "tcId" : 889,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228711f6d0abce96fe7f5bed2ca4600a021fdda9a8c922fb0e10f180f97fa2cc84dd785c71e6c41dbaf",
@@ -12173,20 +14133,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa92accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHJlM+Jnc6xyChFbAt6JrBWWZnfi\nObfFd6HBW4ECex/rc+ZzYB4hGqkqzLWFvAbMJ0thyeYUdG7dJI0czPjYsatLwVzF\njN8RYGXOl2fyoyI9\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa92accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d",
         "wx" : "726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa9",
         "wy" : "2accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004726533e26773ac720a115b02de89ac15966677e239b7c577a1c15b81027b1feb73e673601e211aa92accb585bc06cc274b61c9e614746edd248d1cccf8d8b1ab4bc15cc58cdf116065ce9767f2a3223d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHJlM+Jnc6xyChFbAt6JrBWWZnfi\nObfFd6HBW4ECex/rc+ZzYB4hGqkqzLWFvAbMJ0thyeYUdG7dJI0czPjYsatLwVzF\njN8RYGXOl2fyoyI9\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 814,
+          "tcId" : 890,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022802a6eb408443d24e96be4ca0278442a8a426087f9beb03ffe5526162bf1dc30434cf7ea79574b19b",
@@ -12196,20 +14157,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000453c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFPD2k3hT301d1+b7KbVPueNrHPN\nPxjG+/cJtP+n3T5wtDZAm5soXRwqW2DkV+WEIslZFCtez/I239dsmcMBjOqQQFgJ\nmhNkfbCImM/QUJ6E\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0453c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84",
         "wx" : "53c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c",
         "wy" : "2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000453c3da4de14f7d35775f9beca6d53ee78dac73cd3f18c6fbf709b4ffa7dd3e70b436409b9b285d1c2a5b60e457e58422c959142b5ecff236dfd76c99c3018cea904058099a13647db08898cfd0509e84",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFPD2k3hT301d1+b7KbVPueNrHPN\nPxjG+/cJtP+n3T5wtDZAm5soXRwqW2DkV+WEIslZFCtez/I239dsmcMBjOqQQFgJ\nmhNkfbCImM/QUJ6E\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 815,
+          "tcId" : 891,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900b6ba1aecd240debe77213a4228b125603671c9d5147b6c0b36dd23e42b7cb5078a1b8fdf1b98b93a",
@@ -12219,20 +14181,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0krn91I634WduS5R1IdGuLL4aG\nIImKnEL4uugXPjZG9Yb9gYcSQw5VsS1Z9zRBaPeW/lnAJuqqE5dFqKzpffHVxrzC\nHwz6aGD5yMdfORYp\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629",
         "wx" : "0cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e",
         "wy" : "55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cd24ae7f7523adf859db92e51d48746b8b2f868620898a9c42f8bae8173e3646f586fd818712430e55b12d59f7344168f796fe59c026eaaa139745a8ace97df1d5c6bcc21f0cfa6860f9c8c75f391629",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABM0krn91I634WduS5R1IdGuLL4aG\nIImKnEL4uugXPjZG9Yb9gYcSQw5VsS1Z9zRBaPeW/lnAJuqqE5dFqKzpffHVxrzC\nHwz6aGD5yMdfORYp\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 816,
+          "tcId" : 892,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900957b383ba1cebf5ca579ef6ed10027988f8424f42ffbea2e51b3340df9f8c3c60b558d6dc2df10f3",
@@ -12242,20 +14205,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb69ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE20YCCZcsjpw2URlUasRXrdFX8M\nTSs81lxjXcrsphcCnKv3XAYQG7ae+LdibmsvmEWwCG0qlkAYubJeuNtCa8kGlMxh\nS3YCsf1gh6mnHL8f\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "044db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb69ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f",
         "wx" : "4db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb6",
         "wy" : "09ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044db460209972c8e9c365119546ac457add157f0c4d2b3cd65c635dcaeca617029cabf75c06101bb69ef8b7626e6b2f9845b0086d2a964018b9b25eb8db426bc90694cc614b7602b1fd6087a9a71cbf1f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE20YCCZcsjpw2URlUasRXrdFX8M\nTSs81lxjXcrsphcCnKv3XAYQG7ae+LdibmsvmEWwCG0qlkAYubJeuNtCa8kGlMxh\nS3YCsf1gh6mnHL8f\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 817,
+          "tcId" : 893,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02290098ff1db1b9affa33a2e53c684d3f07611772405e8c200f2af2afa9e53c6e8ef30cc143b3f5ff7fb0",
@@ -12265,20 +14229,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD56uFCEDXWYfTODfq1GSZzkM/P8\n5nODsuMl3S/H4PUAdpy7Z7RVCijDAxRIeocJR1AzRJnb++stXLl27i1HmXMhWXpB\nEkoDj+hnvg72aMTO\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "043e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce",
         "wx" : "3e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28",
         "wy" : "0c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043e7ab850840d75987d33837ead46499ce433f3fce67383b2e325dd2fc7e0f500769cbb67b4550a28c30314487a87094750334499dbfbeb2d5cb976ee2d47997321597a41124a038fe867be0ef668c4ce",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD56uFCEDXWYfTODfq1GSZzkM/P8\n5nODsuMl3S/H4PUAdpy7Z7RVCijDAxRIeocJR1AzRJnb++stXLl27i1HmXMhWXpB\nEkoDj+hnvg72aMTO\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 818,
+          "tcId" : 894,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285e9ff4433ca3a4af648e0071c87c2e5c3554b11761b10bb2b81725028a56c4fc92f1320ca7396c4f",
@@ -12288,20 +14253,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200047acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c0629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHrMkZk0sP2QARzZb1ndulLhIJTa\nwYosrcsDoPMaxy0/1ZhKEekiD4wGKbxfPw2rvT/dMPR6ClvqMFKJL45QpAM75Hlb\nMsZnHRQbRzCA5XkR\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "047acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c0629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911",
         "wx" : "7acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c",
         "wy" : "629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200047acc919934b0fd90011cd96f59ddba52e12094dac18a2cadcb03a0f31ac72d3fd5984a11e9220f8c0629bc5f3f0dabbd3fdd30f47a0a5bea3052892f8e50a4033be4795b32c6671d141b473080e57911",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABHrMkZk0sP2QARzZb1ndulLhIJTa\nwYosrcsDoPMaxy0/1ZhKEekiD4wGKbxfPw2rvT/dMPR6ClvqMFKJL45QpAM75Hlb\nMsZnHRQbRzCA5XkR\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 819,
+          "tcId" : 895,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900c76ce53560163f157b11e4d05c61540a5df6b8241cbd3ba7d911a7541eec55e986ebf811ae50a8b9",
@@ -12311,20 +14277,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000412c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBLBY/4ly3mtWcdrUoDcZwakLFhZ\nYjC/e6cgbmzitGfht6cGPlmwvtbMvq8irMsaxB7UOsd1uXrqOmiOLwlsOl5Z+Gi8\nkZ2lziUs9dcS595A\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0412c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40",
         "wx" : "12c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6",
         "wy" : "0ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000412c163fe25cb79ad59c76b5280dc6706a42c58596230bf7ba7206e6ce2b467e1b7a7063e59b0bed6ccbeaf22accb1ac41ed43ac775b97aea3a688e2f096c3a5e59f868bc919da5ce252cf5d712e7de40",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABBLBY/4ly3mtWcdrUoDcZwakLFhZ\nYjC/e6cgbmzitGfht6cGPlmwvtbMvq8irMsaxB7UOsd1uXrqOmiOLwlsOl5Z+Gi8\nkZ2lziUs9dcS595A\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 820,
+          "tcId" : 896,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02284218a45116ea65b283cc7d90a510f077b1b09eddbcfca3e7d2896b869dd3ba556c4f10590b0e08cf",
@@ -12334,20 +14301,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c57726503305c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGlgv83dACH8uKPXqoX5bPNgpxE+\nOCRQhSUCH4PjCFmJw14MV3JlAzBcEnW52LUZnUYfy500+IV7ZaFARi/VzcejPlz3\n9OLQilo02a4AspOa\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "046960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c57726503305c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a",
         "wx" : "6960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c5772650330",
         "wy" : "5c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046960bfcddd0021fcb8a3d7aa85f96cf360a7113e3824508525021f83e3085989c35e0c57726503305c1275b9d8b5199d461fcb9d34f8857b65a140462fd5cdc7a33e5cf7f4e2d08a5a34d9ae00b2939a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGlgv83dACH8uKPXqoX5bPNgpxE+\nOCRQhSUCH4PjCFmJw14MV3JlAzBcEnW52LUZnUYfy500+IV7ZaFARi/VzcejPlz3\n9OLQilo02a4AspOa\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 821,
+          "tcId" : 897,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285e5f32423bad3644be718d8195341362c9cba52b330f913b1521af6e5e3eb2069421b05dcac299f7",
@@ -12357,20 +14325,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000466ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f61a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGatLCYBI4jIuQRqRmuHvXG2Srgb\nVM/8WmEfS3WBrYNl7dCOav1KUvYaMGbAs7cD3c50Yjmk09vxk4lF8V6pSXu/xFs4\nnhMDULmUWSK4fON0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0466ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f61a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374",
         "wx" : "66ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f6",
         "wy" : "1a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000466ad2c26012388c8b9046a466b87bd71b64ab81b54cffc5a611f4b7581ad8365edd08e6afd4a52f61a3066c0b3b703ddce746239a4d3dbf1938945f15ea9497bbfc45b389e130350b9945922b87ce374",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGatLCYBI4jIuQRqRmuHvXG2Srgb\nVM/8WmEfS3WBrYNl7dCOav1KUvYaMGbAs7cD3c50Yjmk09vxk4lF8V6pSXu/xFs4\nnhMDULmUWSK4fON0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 822,
+          "tcId" : 898,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900ac07aaade5c5fb2fe5a18bbefd262e0e439fd68e0a317db06ff4ba623a2a03114ec5b6e084171058",
@@ -12380,20 +14349,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAz6bjg42BE6JNh9uXQX1o8AxCbp\nuFUNipUf7VMVcufMpm/+CuF2/w4xL6AuXMd8IfSmYw4lvLmH3B7vFK7IDBW5spLj\nrPswvCwEOPCpgxwH\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "040cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07",
         "wx" : "0cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e",
         "wy" : "312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200040cfa6e3838d8113a24d87db97417d68f00c426e9b8550d8a951fed531572e7cca66ffe0ae176ff0e312fa02e5cc77c21f4a6630e25bcb987dc1eef14aec80c15b9b292e3acfb30bc2c0438f0a9831c07",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAz6bjg42BE6JNh9uXQX1o8AxCbp\nuFUNipUf7VMVcufMpm/+CuF2/w4xL6AuXMd8IfSmYw4lvLmH3B7vFK7IDBW5spLj\nrPswvCwEOPCpgxwH\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 823,
+          "tcId" : 899,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228311f6d0abce96fe7f5bed2ca4600a021fdda9a8c922fb0e10f180f97fa2cc84dd785c71e6c41dbb1",
@@ -12403,20 +14373,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5eece48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD2rvDakVboHQy2hqnI5rv3vtyrA\nkxPDp/NDmFD2AlQ+tK/8XYIlte7OSOL2foLUSLPYubD8IAgyo9GsiAWIcnYvy/An\n6fVwXY9YEuUH2uEl\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "043dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5eece48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125",
         "wx" : "3dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5ee",
         "wy" : "0ce48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200043dabbc36a455ba07432da1aa7239aefdefb72ac09313c3a7f3439850f602543eb4affc5d8225b5eece48e2f67e82d448b3d8b9b0fc200832a3d1ac88058872762fcbf027e9f5705d8f5812e507dae125",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABD2rvDakVboHQy2hqnI5rv3vtyrA\nkxPDp/NDmFD2AlQ+tK/8XYIlte7OSOL2foLUSLPYubD8IAgyo9GsiAWIcnYvy/An\n6fVwXY9YEuUH2uEl\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 824,
+          "tcId" : 900,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0228623eda1579d2dfcfeb7da5948c014043fbb53519245f61c21e301f2ff459909baf0b8e3cd883b762",
@@ -12426,20 +14397,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200048a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABIqWWNxfkapXdwbx2R0iUssNCfIF\nPlYRKRBcfzfdsvlysyJPEs+eQ/4IeC7GEF9MBlh+sezssvT0oE4jYwTcdesu//C+\nZrl3+oBK9zv8useO\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "048a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e",
         "wx" : "08a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe",
         "wy" : "08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200048a9658dc5f91aa577706f1d91d2252cb0d09f2053e561129105c7f37ddb2f972b3224f12cf9e43fe08782ec6105f4c06587eb1ececb2f4f4a04e236304dc75eb2efff0be66b977fa804af73bfcbac78e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABIqWWNxfkapXdwbx2R0iUssNCfIF\nPlYRKRBcfzfdsvlysyJPEs+eQ/4IeC7GEF9MBlh+sezssvT0oE4jYwTcdesu//C+\nZrl3+oBK9zv8useO\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 825,
+          "tcId" : 901,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305502287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022900935e472036bc4fb7e13c785ed201e065f98fcfa5b68f12a32d482ec7ee8658e98691555b44c59313",
@@ -12449,20 +14421,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf9994449705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAa0O7lYfuFYrVdS0a0R9vD14xat\nIZN83ZJT84RIV/CiXntne7+ZlESXBTYjNL3OtormpYRkDJXLEHibGZU/XhGZc+7X\nNRd6q/yyY/yO9e+X\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0406b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf9994449705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97",
         "wx" : "6b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf999444",
         "wy" : "09705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000406b43bb9587ee158ad5752d1ad11f6f0f5e316ad21937cdd9253f3844857f0a25e7b677bbf9994449705362334bdceb68ae6a584640c95cb10789b19953f5e119973eed735177aabfcb263fc8ef5ef97",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABAa0O7lYfuFYrVdS0a0R9vD14xat\nIZN83ZJT84RIV/CiXntne7+ZlESXBTYjNL3OtormpYRkDJXLEHibGZU/XhGZc+7X\nNRd6q/yyY/yO9e+X\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 826,
+          "tcId" : 902,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "305402287ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02285b5d0d7669206f5f3b909d21145892b01b38e4ea8a3db6059b6e91f215be5a83c50dc7ef8dcc5c9d",
@@ -12472,20 +14445,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZnAg2eUVJXZM/IGknorf1t0si+XOomDVaovfile\nBu86T1YVRtuX95r6\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa",
         "wx" : "568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999",
         "wy" : "0c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999c08367945495d933f206927a2b7f5b74b22f973a898355aa2f7e295e06ef3a4f561546db97f79afa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZnAg2eUVJXZM/IGknorf1t0si+XOomDVaovfile\nBu86T1YVRtuX95r6\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 827,
+          "tcId" : 903,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "30560229009563bd68545ccd185ae724d8efcd4cc23234934eef10f280792b2f930c97a6c1e00829a8b975b9ee022900c5e79c49abb135129f0636e18e2e73bced30855deeba1477d9521b33a32865155177d946e1babcb4",
@@ -12497,20 +14471,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f42399912dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZkS2t+L4iZ2g+815eSmgoTxR2A4bG1wuEUgFJCO\ncaSx2aa+y9ZZu5Mt\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f42399912dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d",
         "wx" : "568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f423999",
         "wy" : "12dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004568803da071e6b9f4380e39954f2b0fc0f5bb58a0f68b5d1a42c7e9052ece2a0fc7acadc0f42399912dadf8be2267683ef35e5e4a68284f14760386c6d70b8452014908e71a4b1d9a6becbd659bb932d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABFaIA9oHHmufQ4DjmVTysPwPW7WK\nD2i10aQsfpBS7OKg/HrK3A9COZkS2t+L4iZ2g+815eSmgoTxR2A4bG1wuEUgFJCO\ncaSx2aa+y9ZZu5Mt\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 828,
+          "tcId" : 904,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "30560229009563bd68545ccd185ae724d8efcd4cc23234934eef10f280792b2f930c97a6c1e00829a8b975b9ee022900c5e79c49abb135129f0636e18e2e73bced30855deeba1477d9521b33a32865155177d946e1babcb4",
@@ -12522,20 +14497,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d3425d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF0aEAEYvTYQ8Q4Tta3MepCjf0+Y\njPpOIsynfohESwAhbc/l9oQY00JdW4jJuMkrPex/e8xoim0Y5s3rkXYVDUsQYqgy\nyKO8N3+Nfpix2wud\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "045d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d3425d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d",
         "wx" : "5d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d342",
         "wy" : "5d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045d1a100118bd3610f10e13b5adcc7a90a37f4f988cfa4e22cca77e88444b00216dcfe5f68418d3425d5b88c9b8c92b3dec7f7bcc688a6d18e6cdeb9176150d4b1062a832c8a3bc377f8d7e98b1db0b9d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF0aEAEYvTYQ8Q4Tta3MepCjf0+Y\njPpOIsynfohESwAhbc/l9oQY00JdW4jJuMkrPex/e8xoim0Y5s3rkXYVDUsQYqgy\nyKO8N3+Nfpix2wud\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 829,
+          "tcId" : 905,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "305402284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c197310502282a460e39a48c0ff193727e795d339347984ff65457b636ed6f74d627fc8144fb81504445742783d0",
@@ -12545,21 +14521,22 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf32279b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMyprDjeWzbPedjkFctynmheC72v\n4WHF5+z6QXfoJugV1mUmql2vMiebd5m878a12NCf8aBzn9QjGIEm+Ar3AzFNoNJr\npnFKoZemWCw2sPBd\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf32279b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d",
         "wx" : "0cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf3227",
         "wy" : "09b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cca9ac38de5b36cf79d8e415cb729e685e0bbdafe161c5e7ecfa4177e826e815d66526aa5daf32279b7799bcefc6b5d8d09ff1a0739fd423188126f80af703314da0d26ba6714aa197a6582c36b0f05d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMyprDjeWzbPedjkFctynmheC72v\n4WHF5+z6QXfoJugV1mUmql2vMiebd5m878a12NCf8aBzn9QjGIEm+Ar3AzFNoNJr\npnFKoZemWCw2sPBd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 830,
-          "comment" : "extreme value for k",
+          "tcId" : 906,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de802284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105",
           "result" : "valid",
@@ -12568,21 +14545,142 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000490537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e591003309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJBTemgnolBgJz1E1IRq6llmgt8K\nWdD/55vioevpGHA8q/rGTaXlkQAzCRgNnaXngje5VAPFLzzu5QMGe2cnFel9i2Np\nNCaEpy9Gdph0Gxof\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "04cceaa1203bdcbe15e20434d624f0ed9aca81d4c82f840bba3a86c6756262aa37efed62f5f1d097f7457057b98d2b9ea6bd28581d40ac20fcc9d536a117769203447bf41e10ce4da1ad794ca20f8ee146",
+        "wx" : "0cceaa1203bdcbe15e20434d624f0ed9aca81d4c82f840bba3a86c6756262aa37efed62f5f1d097f7",
+        "wy" : "457057b98d2b9ea6bd28581d40ac20fcc9d536a117769203447bf41e10ce4da1ad794ca20f8ee146"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cceaa1203bdcbe15e20434d624f0ed9aca81d4c82f840bba3a86c6756262aa37efed62f5f1d097f7457057b98d2b9ea6bd28581d40ac20fcc9d536a117769203447bf41e10ce4da1ad794ca20f8ee146",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMzqoSA73L4V4gQ01iTw7ZrKgdTI\nL4QLujqGxnViYqo37+1i9fHQl/dFcFe5jSuepr0oWB1ArCD8ydU2oRd2kgNEe/Qe\nEM5Noa15TKIPjuFG\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 907,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de802281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cc9ed25f13e94a6ebd531f3b142fabc4ed522dc6127861528830c6787d6ecfd4b704e1774e9118ed68e4e172f93f1d5b8d7860fae2c115f4aa0daaf6df5ca3809d79acfdb9ed2be19995658d2f44d235",
+        "wx" : "0cc9ed25f13e94a6ebd531f3b142fabc4ed522dc6127861528830c6787d6ecfd4b704e1774e9118ed",
+        "wy" : "68e4e172f93f1d5b8d7860fae2c115f4aa0daaf6df5ca3809d79acfdb9ed2be19995658d2f44d235"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004cc9ed25f13e94a6ebd531f3b142fabc4ed522dc6127861528830c6787d6ecfd4b704e1774e9118ed68e4e172f93f1d5b8d7860fae2c115f4aa0daaf6df5ca3809d79acfdb9ed2be19995658d2f44d235",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABMye0l8T6UpuvVMfOxQvq8TtUi3G\nEnhhUogwxnh9bs/UtwThd06RGO1o5OFy+T8dW414YPriwRX0qg2q9t9co4Cdeaz9\nue0r4ZmVZY0vRNI1\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 908,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de802282a460e39a48c0ff193727e795d339347984ff65457b636ed6f74d627fc8144fb81504445742783d0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046a3cae0edc8455ae16b5eeb6569603bdaeb5793699e85d372857f1319c70dd525b1ea30a0f5c7b44075537cd822d9ee2d0e7a49c4c3141445d01b789bbcad02ec4249c2e2355d61db5581dbdb342c993",
+        "wx" : "6a3cae0edc8455ae16b5eeb6569603bdaeb5793699e85d372857f1319c70dd525b1ea30a0f5c7b44",
+        "wy" : "75537cd822d9ee2d0e7a49c4c3141445d01b789bbcad02ec4249c2e2355d61db5581dbdb342c993"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200046a3cae0edc8455ae16b5eeb6569603bdaeb5793699e85d372857f1319c70dd525b1ea30a0f5c7b44075537cd822d9ee2d0e7a49c4c3141445d01b789bbcad02ec4249c2e2355d61db5581dbdb342c993",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABGo8rg7chFWuFrXutlaWA72utXk2\nmehdNyhX8TGccN1SWx6jCg9ce0QHVTfNgi2e4tDnpJxMMUFEXQG3ibvK0C7EJJwu\nI1XWHbVYHb2zQsmT\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 909,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "305502282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de8022900a91838e692303fc64dc9f9e574ce4d1e613fd9515ed8dbb5bdd3589ff20513ee05411115d09e0f41",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044efb5161ca1a1eeb59a5fc39cd521d40bd3e034512fa2a1eaf3b7e92bb9e95c06a4c726ceccdf9bc6bfa801b067137f1b6b4506041130b4d402d90087ad005e3f652e1d91c9d344cd1eeffff61d3a306",
+        "wx" : "4efb5161ca1a1eeb59a5fc39cd521d40bd3e034512fa2a1eaf3b7e92bb9e95c06a4c726ceccdf9bc",
+        "wy" : "6bfa801b067137f1b6b4506041130b4d402d90087ad005e3f652e1d91c9d344cd1eeffff61d3a306"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044efb5161ca1a1eeb59a5fc39cd521d40bd3e034512fa2a1eaf3b7e92bb9e95c06a4c726ceccdf9bc6bfa801b067137f1b6b4506041130b4d402d90087ad005e3f652e1d91c9d344cd1eeffff61d3a306",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABE77UWHKGh7rWaX8Oc1SHUC9PgNF\nEvoqHq87fpK7npXAakxybOzN+bxr+oAbBnE38ba0UGBBEwtNQC2QCHrQBeP2UuHZ\nHJ00TNHu//9h06MG\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 910,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "305502282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de8022900b52c3cf70a58445477eab051464ac05768321fb29c7aa242b9194cab5ebc4c35e10edb72cd3ba2a1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045f658687e6a542a91d893b48776a86d528fd399781bbb9305be0797e3a6f36118ae19e68dc1673f6676e536c7897a0002f9664929631f418c4537d23749220c50a32121c434dcad2a6cdc203cd035a32",
+        "wx" : "5f658687e6a542a91d893b48776a86d528fd399781bbb9305be0797e3a6f36118ae19e68dc1673f6",
+        "wy" : "676e536c7897a0002f9664929631f418c4537d23749220c50a32121c434dcad2a6cdc203cd035a32"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045f658687e6a542a91d893b48776a86d528fd399781bbb9305be0797e3a6f36118ae19e68dc1673f6676e536c7897a0002f9664929631f418c4537d23749220c50a32121c434dcad2a6cdc203cd035a32",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF9lhofmpUKpHYk7SHdqhtUo/TmX\ngbu5MFvgeX46bzYRiuGeaNwWc/ZnblNseJegAC+WZJKWMfQYxFN9I3SSIMUKMhIc\nQ03K0qbNwgPNA1oy\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 911,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "305402282fb412f03e6debdfbfa3a3092f21c4619e04279be0931694ab99c6503e5a894def8377ed059a6de8022853bf06e43fcc4236b2ec0d88471379053f1f3437207c5a75b09036b1c40fa8f3128277894a4c96cf",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0490537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e591003309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f",
         "wx" : "090537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e59100",
         "wy" : "3309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000490537a6827a25060273d44d4846aea596682df0a59d0ffe79be2a1ebe918703cabfac64da5e591003309180d9da5e78237b95403c52f3ceee503067b672715e97d8b6369342684a72f467698741b1a1f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABJBTemgnolBgJz1E1IRq6llmgt8K\nWdD/55vioevpGHA8q/rGTaXlkQAzCRgNnaXngje5VAPFLzzu5QMGe2cnFel9i2Np\nNCaEpy9Gdph0Gxof\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 831,
-          "comment" : "extreme value for k",
+          "tcId" : 912,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061102284674c260123ec53d4b14281f9b55f577532fefe1e7850636646d64ed4f821da32cdb1c73c1973105",
           "result" : "valid",
@@ -12591,20 +14689,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a81ccbf4fc4457033bd49ceac8fa52e459400730b877305be0418153d278d30b5973777a7dd1c2c17544ff1b76208e841053ecaef7a5869e92da08c5c4c3d0a167d5685eb721d620339cc9b00149838e",
+        "wx" : "0a81ccbf4fc4457033bd49ceac8fa52e459400730b877305be0418153d278d30b5973777a7dd1c2c1",
+        "wy" : "7544ff1b76208e841053ecaef7a5869e92da08c5c4c3d0a167d5685eb721d620339cc9b00149838e"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a81ccbf4fc4457033bd49ceac8fa52e459400730b877305be0418153d278d30b5973777a7dd1c2c17544ff1b76208e841053ecaef7a5869e92da08c5c4c3d0a167d5685eb721d620339cc9b00149838e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKgcy/T8RFcDO9Sc6sj6UuRZQAcw\nuHcwW+BBgVPSeNMLWXN3en3RwsF1RP8bdiCOhBBT7K73pYaektoIxcTD0KFn1Whe\ntyHWIDOcybABSYOO\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 913,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061102281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ba160089327cf8ba163eefa476a4eafd0f6ce9d55292f6724d020f0efac54bf684f9d5f5695f89c2b4de70dc4ab265761827323da3b2b055ac1187fc5341e4555ebc6f6993b4c3fdd89863fc55ea38b4",
+        "wx" : "0ba160089327cf8ba163eefa476a4eafd0f6ce9d55292f6724d020f0efac54bf684f9d5f5695f89c2",
+        "wy" : "0b4de70dc4ab265761827323da3b2b055ac1187fc5341e4555ebc6f6993b4c3fdd89863fc55ea38b4"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004ba160089327cf8ba163eefa476a4eafd0f6ce9d55292f6724d020f0efac54bf684f9d5f5695f89c2b4de70dc4ab265761827323da3b2b055ac1187fc5341e4555ebc6f6993b4c3fdd89863fc55ea38b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABLoWAIkyfPi6Fj7vpHak6v0PbOnV\nUpL2ck0CDw76xUv2hPnV9WlficK03nDcSrJldhgnMj2jsrBVrBGH/FNB5FVevG9p\nk7TD/diYY/xV6ji0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 914,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061102282a460e39a48c0ff193727e795d339347984ff65457b636ed6f74d627fc8144fb81504445742783d0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044a5cf447550f0ff2efa193c3e185db604fcfd7de5c47a59a392da0c7572f061038c6af5afcfa9bd530b7682b82010c39334ba2edecf0a23bca09e810d745bdf73e445e80ace0e5399fa26102cb3faee6",
+        "wx" : "4a5cf447550f0ff2efa193c3e185db604fcfd7de5c47a59a392da0c7572f061038c6af5afcfa9bd5",
+        "wy" : "30b7682b82010c39334ba2edecf0a23bca09e810d745bdf73e445e80ace0e5399fa26102cb3faee6"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200044a5cf447550f0ff2efa193c3e185db604fcfd7de5c47a59a392da0c7572f061038c6af5afcfa9bd530b7682b82010c39334ba2edecf0a23bca09e810d745bdf73e445e80ace0e5399fa26102cb3faee6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEpc9EdVDw/y76GTw+GF22BPz9fe\nXEelmjktoMdXLwYQOMavWvz6m9Uwt2grggEMOTNLou3s8KI7ygnoENdFvfc+RF6A\nrODlOZ+iYQLLP67m\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 915,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3055022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611022900a91838e692303fc64dc9f9e574ce4d1e613fd9515ed8dbb5bdd3589ff20513ee05411115d09e0f41",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045d3fef1b96dbc8ca9330508ad4ced491e627eb67cba8c6b1537937498ee3021b45ca6759117d89c4ad2b699e3ef9516fff2ed2e134931c96d28d3e14dd51c5b87589a8fa88af2529b8caa0f785ce2033",
+        "wx" : "5d3fef1b96dbc8ca9330508ad4ced491e627eb67cba8c6b1537937498ee3021b45ca6759117d89c4",
+        "wy" : "0ad2b699e3ef9516fff2ed2e134931c96d28d3e14dd51c5b87589a8fa88af2529b8caa0f785ce2033"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b2403030208010109035200045d3fef1b96dbc8ca9330508ad4ced491e627eb67cba8c6b1537937498ee3021b45ca6759117d89c4ad2b699e3ef9516fff2ed2e134931c96d28d3e14dd51c5b87589a8fa88af2529b8caa0f785ce2033",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABF0/7xuW28jKkzBQitTO1JHmJ+tn\ny6jGsVN5N0mO4wIbRcpnWRF9icStK2mePvlRb/8u0uE0kxyW0o0+FN1Rxbh1iaj6\niK8lKbjKoPeFziAz\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 916,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3055022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611022900b52c3cf70a58445477eab051464ac05768321fb29c7aa242b9194cab5ebc4c35e10edb72cd3ba2a1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a8336702c158dcae495f1c9cd720c39f15c123a67750dcd74520c34cf67907e49220bcd020cc3a60151a432ee3e23a74c8b8a98d8e7c672216df48d8a60d3f592f6673830ac9ecfbcd00550db7ad5c62",
+        "wx" : "0a8336702c158dcae495f1c9cd720c39f15c123a67750dcd74520c34cf67907e49220bcd020cc3a60",
+        "wy" : "151a432ee3e23a74c8b8a98d8e7c672216df48d8a60d3f592f6673830ac9ecfbcd00550db7ad5c62"
+      },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010903520004a8336702c158dcae495f1c9cd720c39f15c123a67750dcd74520c34cf67907e49220bcd020cc3a60151a432ee3e23a74c8b8a98d8e7c672216df48d8a60d3f592f6673830ac9ecfbcd00550db7ad5c62",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABKgzZwLBWNyuSV8cnNcgw58VwSOm\nd1Dc10Ugw0z2eQfkkiC80CDMOmAVGkMu4+I6dMi4qY2OfGciFt9I2KYNP1kvZnOD\nCsns+80AVQ23rVxi\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 917,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3054022843bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611022853bf06e43fcc4236b2ec0d88471379053f1f3437207c5a75b09036b1c40fa8f3128277894a4c96cf",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1",
+        "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611",
+        "wy" : "14fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1"
+      },
       "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e2061114fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEO9fpr7U9i4Uom8xI7lv+byATfR\nCgh+tueHHioQpZnHEK+NDTniBhEU/dBVRewcyKtAkyR/dydeB0P/7RFxguqpx3h3\nqqxqx9NSRdFpLo7h\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP320r1",
-        "keySize" : 320,
-        "type" : "ECPublicKey",
-        "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611",
-        "wy" : "14fdd05545ec1cc8ab4093247f77275e0743ffed117182eaa9c77877aaac6ac7d35245d1692e8ee1"
-      },
       "tests" : [
         {
-          "tcId" : 832,
+          "tcId" : 918,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3055022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb70002281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
@@ -12612,7 +14831,7 @@
           "flags" : []
         },
         {
-          "tcId" : 833,
+          "tcId" : 919,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3055022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f2202281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
@@ -12622,20 +14841,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP320r1",
+        "keySize" : 320,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46",
+        "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611",
+        "wy" : "0be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46"
+      },
       "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000443bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABEO9fpr7U9i4Uom8xI7lv+byATfR\nCgh+tueHHioQpZnHEK+NDTniBhG+YHbK8NAy7zX75TpSirkH8kvPueWCiwSly0F0\nzeeBYSmBzOCIhJ9G\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP320r1",
-        "keySize" : 320,
-        "type" : "ECPublicKey",
-        "wx" : "43bd7e9afb53d8b85289bcc48ee5bfe6f20137d10a087eb6e7871e2a10a599c710af8d0d39e20611",
-        "wy" : "0be6076caf0d032ef35fbe53a528ab907f24bcfb9e5828b04a5cb4174cde781612981cce088849f46"
-      },
       "tests" : [
         {
-          "tcId" : 834,
+          "tcId" : 920,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3055022900f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb70002281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
@@ -12643,7 +14863,7 @@
           "flags" : []
         },
         {
-          "tcId" : 835,
+          "tcId" : 921,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3055022900ad0b664f9559e29e46fd4fd390e75abebf14997d17a1a3304c80e451fc8f79bb7cff168e17de6f2202281e320a292c640b636951c80d8bb7200e915daff31a147060742ee21c8fca0cb3a58279e87789f070",
@@ -12653,20 +14873,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIqUFk3HZU/aPNQwHT6XICTC2rpx\n1EISjH8/rs2543WoWqgMSsKIifJY5suohtR2NlSLO/G2dfIxjD2Kt6HCgaMyQcEh\ns1kL/fcDx81Lro9FGIbZiSNMG4xYlhRVTUKTkg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392",
         "wx" : "08a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636",
         "wy" : "548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048a94164dc7654fda3cd4301d3e972024c2daba71d442128c7f3faecdb9e375a85aa80c4ac28889f258e6cba886d47636548b3bf1b675f2318c3d8ab7a1c281a33241c121b3590bfdf703c7cd4bae8f451886d989234c1b8c589614554d429392",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIqUFk3HZU/aPNQwHT6XICTC2rpx\n1EISjH8/rs2543WoWqgMSsKIifJY5suohtR2NlSLO/G2dfIxjD2Kt6HCgaMyQcEh\ns1kL/fcDx81Lro9FGIbZiSNMG4xYlhRVTUKTkg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 836,
+          "tcId" : 922,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "304e021900f39b6bacd3b2eb7bdd98f07a249d57614bbece10480386e80231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
@@ -12674,7 +14895,7 @@
           "flags" : []
         },
         {
-          "tcId" : 837,
+          "tcId" : 923,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b412b1da197fb71123acd3a729901d1a71874700133107ec4d0231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046562",
@@ -12684,20 +14905,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000473f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHP4SrY3iTAeiLTLgsuTXez/uPQr\nLJeEx1RGFbkHbsenq5RwLKfx2arPuQU3tdNo3FAst8jBgoWZTHsZ+j4kAf3CbeVP\n/gBrt5vdeFLGZtcwvfdqFsB5Kmxmge1rZH/IGw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0473f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b",
         "wx" : "73f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc",
         "wy" : "502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000473f84ab63789301e88b4cb82cb935decffb8f42b2c9784c7544615b9076ec7a7ab94702ca7f1d9aacfb90537b5d368dc502cb7c8c18285994c7b19fa3e2401fdc26de54ffe006bb79bdd7852c666d730bdf76a16c0792a6c6681ed6b647fc81b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHP4SrY3iTAeiLTLgsuTXez/uPQr\nLJeEx1RGFbkHbsenq5RwLKfx2arPuQU3tdNo3FAst8jBgoWZTHsZ+j4kAf3CbeVP\n/gBrt5vdeFLGZtcwvfdqFsB5Kmxmge1rZH/IGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 838,
+          "tcId" : 924,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "30660231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90465640231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046563",
@@ -12707,20 +14929,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlehGHt2+ITZ6lbJc2FzTHoDs8f\nlVOQVvt+ELSqSZALIZTZGbKc2b83Oh1T71cRdHZ8AuNrk1pl5anLs1WJoqAYSCBl\nxeM9qM5IPcf3/kQVdPnnqwYUvc/GECLHgKMACQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009",
         "wx" : "0895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174",
         "wy" : "767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004895e8461eddbe21367a95b25cd85cd31e80ecf1f95539056fb7e10b4aa49900b2194d919b29cd9bf373a1d53ef571174767c02e36b935a65e5a9cbb35589a2a018482065c5e33da8ce483dc7f7fe441574f9e7ab0614bdcfc61022c780a30009",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlehGHt2+ITZ6lbJc2FzTHoDs8f\nlVOQVvt+ELSqSZALIZTZGbKc2b83Oh1T71cRdHZ8AuNrk1pl5anLs1WJoqAYSCBl\nxeM9qM5IPcf3/kQVdPnnqwYUvc/GECLHgKMACQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 839,
+          "tcId" : 925,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0230480eca2874aa6ba71e7fb5711339ac0a7bf84065b3c7d59c64a2c6015e6f794e7dfa2b1fec73a72adb32bdb7dd55cd04",
@@ -12730,20 +14953,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGGK2BkS5MMfI+qy8MaTs++EBAdK\nsdzgHcgqdoFRyfoDk7TWrq7saFjT9BmVeluZfzH6gJsbRGd8xa7xiUhGFCw+RLum\nxHESP6FP6486qekvdpvlSc75wdVbxvH0+EGBPQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d",
         "wx" : "618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f",
         "wy" : "31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004618ad81912e4c31f23eab2f0c693b3ef8404074ab1dce01dc82a768151c9fa0393b4d6aeaeec6858d3f419957a5b997f31fa809b1b44677cc5aef1894846142c3e44bba6c471123fa14feb8f3aa9e92f769be549cef9c1d55bc6f1f4f841813d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGGK2BkS5MMfI+qy8MaTs++EBAdK\nsdzgHcgqdoFRyfoDk7TWrq7saFjT9BmVeluZfzH6gJsbRGd8xa7xiUhGFCw+RLum\nxHESP6FP6486qekvdpvlSc75wdVbxvH0+EGBPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 840,
+          "tcId" : 926,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe02301629ef2d7182d67b6bd9cf6842251fe09c96bfe022b8ad9a0e546fdc8ecf5dc8636fa13059d7e9d83fde50e0d2b392c8",
@@ -12753,20 +14977,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000479583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlYO0lotXaBG1Z+FiDgCwqriqIj\nxeZVsnsevq+DvNNfQgWloOUaIFL//p/SN4XJj3c1fIoQCPy3o1eWFML/R5gPqeRL\na16j+KM8kZ3SrqXa0MoaAaniEGUYsWQpBuTydQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0479583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275",
         "wx" : "79583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f",
         "wy" : "77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000479583b4968b576811b567e1620e00b0aab8aa223c5e655b27b1ebeaf83bcd35f4205a5a0e51a2052fffe9fd23785c98f77357c8a1008fcb7a3579614c2ff47980fa9e44b6b5ea3f8a33c919dd2aea5dad0ca1a01a9e2106518b1642906e4f275",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlYO0lotXaBG1Z+FiDgCwqriqIj\nxeZVsnsevq+DvNNfQgWloOUaIFL//p/SN4XJj3c1fIoQCPy3o1eWFML/R5gPqeRL\na16j+KM8kZ3SrqXa0MoaAaniEGUYsWQpBuTydQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 841,
+          "tcId" : 927,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -12776,20 +15001,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlle6whbDrEo6LVr9NCrSSk6xA9\nTb4uRGHgPHARgmUT/oK9BuF+OujrWBHaC+yIuzPuHt3V1J3Ybnhfv+u5KIZhlk5v\nvgwHr5pLoxRfxL4R5UhLZQyXCW24LrsMoruE7Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0489657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed",
         "wx" : "089657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb",
         "wy" : "33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489657bac216c3ac4a3a2d5afd342ad24a4eb103d4dbe2e4461e03c7011826513fe82bd06e17e3ae8eb5811da0bec88bb33ee1eddd5d49dd86e785fbfebb9288661964e6fbe0c07af9a4ba3145fc4be11e5484b650c97096db82ebb0ca2bb84ed",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIlle6whbDrEo6LVr9NCrSSk6xA9\nTb4uRGHgPHARgmUT/oK9BuF+OujrWBHaC+yIuzPuHt3V1J3Ybnhfv+u5KIZhlk5v\nvgwHr5pLoxRfxL4R5UhLZQyXCW24LrsMoruE7Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 842,
+          "tcId" : 928,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -12799,20 +15025,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e890dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFh29BT6OFtAOi0Q2l2JsRA0StAF\nv6+MdZqx41YaOf8Nuf+R7GBAMW4vyjZUpIwOiQ3Ld/iW6kdcuXZyqEADKVVMlBth\ntKhL3h+Mj8UlDCkWH8PKUEWKQcd6SLszaILy6g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e890dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea",
         "wx" : "5876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e89",
         "wy" : "0dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045876f414fa385b403a2d10da5d89b110344ad005bfaf8c759ab1e3561a39ff0db9ff91ec6040316e2fca3654a48c0e890dcb77f896ea475cb97672a8400329554c941b61b4a84bde1f8c8fc5250c29161fc3ca50458a41c77a48bb336882f2ea",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFh29BT6OFtAOi0Q2l2JsRA0StAF\nv6+MdZqx41YaOf8Nuf+R7GBAMW4vyjZUpIwOiQ3Ld/iW6kdcuXZyqEADKVVMlBth\ntKhL3h+Mj8UlDCkWH8PKUEWKQcd6SLszaILy6g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 843,
+          "tcId" : 929,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -12820,7 +15047,7 @@
           "flags" : []
         },
         {
-          "tcId" : 844,
+          "tcId" : 930,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "30360231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046566020103",
@@ -12830,20 +15057,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de06d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBvudB+hkqm9BTXQBidzcHnpjwAH\nY5TJeKlqD5+6ZOniHez/a0uP4R9gsY1ddYaE3gbRkyHqt+hgH49GBv6T/TsvAphq\nWMpWQTKCxm3Ta6ZySjy87ueZSLotVcdWWGtY4g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de06d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2",
         "wx" : "1bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de",
         "wy" : "6d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041bee741fa192a9bd0535d00627737079e98f00076394c978a96a0f9fba64e9e21decff6b4b8fe11f60b18d5d758684de06d19321eab7e8601f8f4606fe93fd3b2f02986a58ca56413282c66dd36ba6724a3cbceee79948ba2d55c756586b58e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBvudB+hkqm9BTXQBidzcHnpjwAH\nY5TJeKlqD5+6ZOniHez/a0uP4R9gsY1ddYaE3gbRkyHqt+hgH49GBv6T/TsvAphq\nWMpWQTKCxm3Ta6ZySjy87ueZSLotVcdWWGtY4g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 845,
+          "tcId" : 931,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "30360201010231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9173bec",
@@ -12853,20 +15081,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGsl+MFin3V548fuSwKcwCm0vb7Y\ni5s5kwPkoUNS0fP2BI7N0GLTfLp7cLy9WHIx52ITE/k9MQ8US9MyJYKARjndKWCW\nmpk6nyo2CfhW4UFaCk3PWKeGTkHiqMgN/BWKMA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30",
         "wx" : "6b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7",
         "wy" : "621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046b25f8c1629f7579e3c7ee4b029cc029b4bdbed88b9b399303e4a14352d1f3f6048ecdd062d37cba7b70bcbd587231e7621313f93d310f144bd3322582804639dd2960969a993a9f2a3609f856e1415a0a4dcf58a7864e41e2a8c80dfc158a30",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGsl+MFin3V548fuSwKcwCm0vb7Y\ni5s5kwPkoUNS0fP2BI7N0GLTfLp7cLy9WHIx52ITE/k9MQ8US9MyJYKARjndKWCW\nmpk6nyo2CfhW4UFaCk3PWKeGTkHiqMgN/BWKMA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 846,
+          "tcId" : 932,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "303702020101023100896621d23283b12111048d1c978e2c286d60b6ef7ce37af36cf7aa4de268d626de7ddcb356d167c7483c69455c752c93",
@@ -12876,20 +15105,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d02112c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF0ILN5ghvjqaZT0bp3AbBwdLDo8\nLcXJe/E3ZT2bLtIRAbrYQ9RuS3klua9wNMbQIRLH9W5l0jMQQGM5H7OCizmQ5ok9\nd3RuQjBealuhEdl21pP1la+Fjxn6xyNPdITEiQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d02112c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489",
         "wx" : "5d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d021",
         "wy" : "12c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d082cde6086f8ea6994f46e9dc06c1c1d2c3a3c2dc5c97bf137653d9b2ed21101bad843d46e4b7925b9af7034c6d02112c7f56e65d233104063391fb3828b3990e6893d77746e42305e6a5ba111d976d693f595af858f19fac7234f7484c489",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF0ILN5ghvjqaZT0bp3AbBwdLDo8\nLcXJe/E3ZT2bLtIRAbrYQ9RuS3klua9wNMbQIRLH9W5l0jMQQGM5H7OCizmQ5ok9\nd3RuQjBealuhEdl21pP1la+Fjxn6xyNPdITEiQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 847,
+          "tcId" : 933,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "303b02072d9b4d347952cc023038e8dae216c63f06b3edbd0f9ba7a5e4a332ec187251e3d627839d1baac667d7caad2ab0a1ea9fbb12dc5a71e3b49bc9",
@@ -12899,20 +15129,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHQHymwqGD+coTdmCenHio0IDv+t\nFaT2PLt6Fo48eJuLWc5NMSLKCKhpB7pIf3F/vD4sVqmzRgpRNrITvo1Iyz3Jx62U\nWx3Oy/k/ps+q+NvXDxBAuXrY46ww8uZP18x21g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6",
         "wx" : "7407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc",
         "wy" : "3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047407ca6c2a183f9ca1376609e9c78a8d080effad15a4f63cbb7a168e3c789b8b59ce4d3122ca08a86907ba487f717fbc3e2c56a9b3460a5136b213be8d48cb3dc9c7ad945b1dcecbf93fa6cfaaf8dbd70f1040b97ad8e3ac30f2e64fd7cc76d6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHQHymwqGD+coTdmCenHio0IDv+t\nFaT2PLt6Fo48eJuLWc5NMSLKCKhpB7pIf3F/vD4sVqmzRgpRNrITvo1Iyz3Jx62U\nWx3Oy/k/ps+q+NvXDxBAuXrY46ww8uZP18x21g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 848,
+          "tcId" : 934,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d1033e67e37b32b445580bf4efc02300d2436a599b396a51c546e05d1c3d25a8f6d05935ae5031dad3cdd7cb36cf6912a433de28f8475d3b1e2e1ce77610879",
@@ -12922,20 +15153,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE/DKlImgg7Jw//yx04LNtfeAo5Z\n/ABfOAejvVmJLJrSDbpxaO+e2b+Zsl7QG8/GymoT2i6FJ3em+Z0EMiobn7QidoS/\nfEDU0++SeYADo78toVjVaGRXwz0OJL5cJl/Ecw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473",
         "wx" : "4fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca",
         "wy" : "6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fc32a5226820ec9c3fff2c74e0b36d7de028e59fc005f3807a3bd59892c9ad20dba7168ef9ed9bf99b25ed01bcfc6ca6a13da2e852777a6f99d04322a1b9fb4227684bf7c40d4d3ef92798003a3bf2da158d5686457c33d0e24be5c265fc473",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE/DKlImgg7Jw//yx04LNtfeAo5Z\n/ABfOAejvVmJLJrSDbpxaO+e2b+Zsl7QG8/GymoT2i6FJ3em+Z0EMiobn7QidoS/\nfEDU0++SeYADo78toVjVaGRXwz0OJL5cJl/Ecw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 849,
+          "tcId" : 935,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "30360202010102304a289adad7ceec67ae99ef5da797b6bb17d9c168428ab30ea9a68b89652c4b9e9bae876ab3d7fbdf1eb92ed422bd3b93",
@@ -12945,20 +15177,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHNQp9ANdxmjGFIu9MXmviSzsssw\nDFlveejdMaRoj+ZaVLLXSXoGgh7suvMbL6fNy0vXL8fwXjJFf9oMw/MhFXdE8YQc\nML0Ibm3dW/QV63Hsvjbw8/0j08QUh/soPg6XlA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794",
         "wx" : "7350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb",
         "wy" : "4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047350a7d00d7719a318522ef4c5e6be24b3b2cb300c596f79e8dd31a4688fe65a54b2d7497a06821eecbaf31b2fa7cdcb4bd72fc7f05e32457fda0cc3f321157744f1841c30bd086e6ddd5bf415eb71ecbe36f0f3fd23d3c41487fb283e0e9794",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHNQp9ANdxmjGFIu9MXmviSzsssw\nDFlveejdMaRoj+ZaVLLXSXoGgh7suvMbL6fNy0vXL8fwXjJFf9oMw/MhFXdE8YQc\nML0Ibm3dW/QV63Hsvjbw8/0j08QUh/soPg6XlA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 850,
+          "tcId" : 936,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3041020d062522bbd3ecbe7c39e93e7c2402304a289adad7ceec67ae99ef5da797b6bb17d9c168428ab30ea9a68b89652c4b9e9bae876ab3d7fbdf1eb92ed422bd3b93",
@@ -12968,20 +15201,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e30cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGFJitMahO7RAronEuuKe9kjIL2k\nrG0HtDJqMIadGesbliKdIe/XEdz3MEi/FmgA4wz8wToJFBMihNvqtvz11ws0yoam\ngRV+SHSr/67rtpuLcfadMyMGVngj3eVAfOc56A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0461498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e30cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8",
         "wx" : "61498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e3",
         "wy" : "0cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461498ad31a84eed102ba2712eb8a7bd92320bda4ac6d07b4326a30869d19eb1b96229d21efd711dcf73048bf166800e30cfcc13a0914132284dbeab6fcf5d70b34ca86a681157e4874abffaeebb69b8b71f69d332306567823dde5407ce739e8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGFJitMahO7RAronEuuKe9kjIL2k\nrG0HtDJqMIadGesbliKdIe/XEdz3MEi/FmgA4wz8wToJFBMihNvqtvz11ws0yoam\ngRV+SHSr/67rtpuLcfadMyMGVngj3eVAfOc56A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 851,
+          "tcId" : 937,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "30650231008cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e90464e502305dd0bf01c2259e1ab4e8f4fee099813f6374f6069e3839ccbf64499dc802c3c534d1cf1f9cffd76027b021574602ee43",
@@ -12991,20 +15225,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004050592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b511545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAUFkvNNsCY99MZpuJkZQb4YI3oQ\nRb/RZepK84U3ZWTt9mVKDf97XYRHQJDyZcRrURVFkYzY8iJgziGlhO36CxZESIyZ\nfZVlKSYq70AMwDIO0n3c7Dvea5/XmzdK9oj6nw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04050592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b511545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f",
         "wx" : "50592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b51",
         "wy" : "1545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004050592f34db0263df4c669b8991941be18237a1045bfd165ea4af385376564edf6654a0dff7b5d84474090f265c46b511545918cd8f22260ce21a584edfa0b1644488c997d956529262aef400cc0320ed27ddcec3bde6b9fd79b374af688fa9f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAUFkvNNsCY99MZpuJkZQb4YI3oQ\nRb/RZepK84U3ZWTt9mVKDf97XYRHQJDyZcRrURVFkYzY8iJgziGlhO36CxZESIyZ\nfZVlKSYq70AMwDIO0n3c7Dvea5/XmzdK9oj6nw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 852,
+          "tcId" : 938,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "303502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721020101",
@@ -13012,7 +15247,7 @@
           "flags" : []
         },
         {
-          "tcId" : 853,
+          "tcId" : 939,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "303502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721020100",
@@ -13022,20 +15257,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a003343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE34mFRMKxDcPE0ySfylEw51PSbg\ngyC9gjkmrLBQ2Lak/q3ym+8H7NsA6Fs0HyIGmgAzQ2ldHgrAp4s4SQ2XwekOT/TK\nDSFAuRAfG2PynKTyv5F24WAEg5FiFr01q85nQQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a003343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741",
         "wx" : "4df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a",
         "wy" : "3343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044df898544c2b10dc3c4d3249fca5130e753d26e08320bd823926acb050d8b6a4feadf29bef07ecdb00e85b341f22069a003343695d1e0ac0a78b38490d97c1e90e4ff4ca0d2140b9101f1b63f29ca4f2bf9176e1600483916216bd35abce6741",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE34mFRMKxDcPE0ySfylEw51PSbg\ngyC9gjkmrLBQ2Lak/q3ym+8H7NsA6Fs0HyIGmgAzQ2ldHgrAp4s4SQ2XwekOT/TK\nDSFAuRAfG2PynKTyv5F24WAEg5FiFr01q85nQQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 854,
+          "tcId" : 940,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "30640230465c8f41519c369407aeb7bf287320ef8a97b884f6aa2b598f8b3736560212d3e79d5b57b5bfe1881dc41901748232b202302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721",
@@ -13045,20 +15281,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF13E06JCscvnGn8w/GBrnRv7//a\n/B38eRzzOiL7D45YYYjPLV0GDdsEAEuvVhkcnw50Ad3MR6CbXs8nGcyTYBCpNxp/\ndiTmPnoAVQoT0DXPWG07Uix/0GJRrbsPCq091w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7",
         "wx" : "5d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f",
         "wy" : "0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045d77134e890ac72f9c69fcc3f181ae746fefffdafc1dfc791cf33a22fb0f8e586188cf2d5d060ddb04004baf56191c9f0e7401ddcc47a09b5ecf2719cc936010a9371a7f7624e63e7a00550a13d035cf586d3b522c7fd06251adbb0f0aad3dd7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABF13E06JCscvnGn8w/GBrnRv7//a\n/B38eRzzOiL7D45YYYjPLV0GDdsEAEuvVhkcnw50Ad3MR6CbXs8nGcyTYBCpNxp/\ndiTmPnoAVQoT0DXPWG07Uix/0GJRrbsPCq091w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 855,
+          "tcId" : 941,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "306502302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
@@ -13068,20 +15305,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c89f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGB82UxC9bv8+FenCKwWPwr8CmXI\n2Icl8YxL9+t89dNKymAIontOX9lHYTTthfzTLInySCkMWbj7lj6Qurmws+MT07jg\npsiQFFWiK3t0oQgVLFuBS6V13o3gfNuNZ7orUA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c89f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50",
         "wx" : "607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c",
         "wy" : "089f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004607cd94c42f5bbfcf857a708ac163f0afc0a65c8d88725f18c4bf7eb7cf5d34aca6008a27b4e5fd9476134ed85fcd32c89f248290c59b8fb963e90bab9b0b3e313d3b8e0a6c8901455a22b7b74a108152c5b814ba575de8de07cdb8d67ba2b50",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGB82UxC9bv8+FenCKwWPwr8CmXI\n2Icl8YxL9+t89dNKymAIontOX9lHYTTthfzTLInySCkMWbj7lj6Qurmws+MT07jg\npsiQFFWiK3t0oQgVLFuBS6V13o3gfNuNZ7orUA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 856,
+          "tcId" : 942,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc",
@@ -13091,20 +15329,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c735f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEtK+9kXRrGk320NcXr8dSj6Sp3a\nmmKv7hmnL8ABmqLqiaElvqdnVQYjBlbKr/Usc19cNXW/ZpY379tnJHdQDx/je0Xc\n+HlIetbKNsQUcyn7dBcGzpuSjOR79twPnkQBfw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c735f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f",
         "wx" : "4b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c73",
         "wy" : "5f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044b4afbd91746b1a4df6d0d717afc7528fa4a9dda9a62afee19a72fc0019aa2ea89a125bea7675506230656caaff52c735f5c3575bf669637efdb672477500f1fe37b45dcf879487ad6ca36c4147329fb741706ce9b928ce47bf6dc0f9e44017f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEtK+9kXRrGk320NcXr8dSj6Sp3a\nmmKv7hmnL8ABmqLqiaElvqdnVQYjBlbKr/Usc19cNXW/ZpY379tnJHdQDx/je0Xc\n+HlIetbKNsQUcyn7dBcGzpuSjOR79twPnkQBfw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 857,
+          "tcId" : 943,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721",
@@ -13114,20 +15353,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d46edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABA2LJGxiMYi3RVcWrBibmvRBZ2oc\nQc1XV1S9Aq5NaCUwS5Yd3wgmuxYePWPpvHHx1G7b7dwtQNr9zKyQroXNYWoOoeSg\niuj8M1jOfVFC7ujzvr3BRZHEybFb/xK4zwgzSg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d46edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a",
         "wx" : "0d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d4",
         "wy" : "6edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040d8b246c623188b7455716ac189b9af441676a1c41cd575754bd02ae4d6825304b961ddf0826bb161e3d63e9bc71f1d46edbeddc2d40dafdccac90ae85cd616a0ea1e4a08ae8fc3358ce7d5142eee8f3bebdc14591c4c9b15bff12b8cf08334a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABA2LJGxiMYi3RVcWrBibmvRBZ2oc\nQc1XV1S9Aq5NaCUwS5Yd3wgmuxYePWPpvHHx1G7b7dwtQNr9zKyQroXNYWoOoeSg\niuj8M1jOfVFC7ujzvr3BRZHEybFb/xK4zwgzSg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 858,
+          "tcId" : 944,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102305dd0bf01c2259e1ab4e8f4fee099813f6374f6069e3839ccbf64499dc802c3c534d1cf1f9cffd76027b021574602ee44",
@@ -13137,20 +15377,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8029af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABATZ1KYtbrAgc+c4seQ5zs1UQAMZ\nEfRRkOtgYqM1NfxSabz8JdSvwdrg662UjXcy2AKa836Jo86n3ziwIPYkkG/KbZRO\nFIaFP+jlupz7otdKhS7Fh9Rv5JkXw2RBjvfspQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8029af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5",
         "wx" : "4d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8",
         "wy" : "29af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404d9d4a62d6eb02073e738b1e439cecd5440031911f45190eb6062a33535fc5269bcfc25d4afc1dae0ebad948d7732d8029af37e89a3cea7df38b020f624906fca6d944e1486853fe8e5ba9cfba2d74a852ec587d46fe49917c364418ef7eca5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABATZ1KYtbrAgc+c4seQ5zs1UQAMZ\nEfRRkOtgYqM1NfxSabz8JdSvwdrg662UjXcy2AKa836Jo86n3ziwIPYkkG/KbZRO\nFIaFP+jlupz7otdKhS7Fh9Rv5JkXw2RBjvfspQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 859,
+          "tcId" : 945,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230533b0d50480a3ef07e7e8af8b1097759bc03ac9a1c7ed6075a052869f57f12b285613162d08ee7aab9fe54aaa984a39a",
@@ -13160,20 +15401,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBpKVcmwzkPX7XipjZv2RZzPNJRm\n/MxFdZj8FaHWlW2M6DSLIzL/+z1RaweNKNMp3XP0Wkzh9dx3Lzwyg69lZObkEPnV\nBktkhAZZZpNmk/YqyZQOsokUoJHSlkzYQ7QQKA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028",
         "wx" : "1a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd",
         "wy" : "73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041a4a55c9b0ce43d7ed78a98d9bf6459ccf349466fccc457598fc15a1d6956d8ce8348b2332fffb3d516b078d28d329dd73f45a4ce1f5dc772f3c3283af6564e6e410f9d5064b6484065966936693f62ac9940eb28914a091d2964cd843b41028",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBpKVcmwzkPX7XipjZv2RZzPNJRm\n/MxFdZj8FaHWlW2M6DSLIzL/+z1RaweNKNMp3XP0Wkzh9dx3Lzwyg69lZObkEPnV\nBktkhAZZZpNmk/YqyZQOsokUoJHSlkzYQ7QQKA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 860,
+          "tcId" : 946,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023070a8e817f4ea82b831ba5e671830b4312846b23da14ff7d43baf3a7ee7aa061c86422aaf27ffc5c655406868b5bf19bf",
@@ -13183,20 +15425,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f069e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDc6yY8IgmiobRNt5PoM4sQQQs0z\n7S0HJQ9TzU7UP6HaQl2ll71bQT1Wz/+VQmcQTwaeBFO7vXkoAxb4wcFhqEavN5qU\nHtKG5ZPn8om6T/9CRYsnOjukmVdOE05/tKfcGQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f069e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19",
         "wx" : "373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f",
         "wy" : "69e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004373ac98f088268a86d136de4fa0ce2c41042cd33ed2d07250f53cd4ed43fa1da425da597bd5b413d56cfff954267104f069e0453bbbd79280316f8c1c161a846af379a941ed286e593e7f289ba4fff42458b273a3ba499574e134e7fb4a7dc19",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDc6yY8IgmiobRNt5PoM4sQQQs0z\n7S0HJQ9TzU7UP6HaQl2ll71bQT1Wz/+VQmcQTwaeBFO7vXkoAxb4wcFhqEavN5qU\nHtKG5ZPn8om6T/9CRYsnOjukmVdOE05/tKfcGQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 861,
+          "tcId" : 947,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230326c0872a7224e7a104087acf4c4b4e3e5aba4ffe4625fc3955ce9647bf71fb596b83971ad2b52473a2821991c808905",
@@ -13206,20 +15449,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e8595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH5qtCm54zqXT2q5pJ6xUsSEV1+t\nXZvN3Lh+3OFueTM6k3J282rskSHeRQOEyyC7LoWV9sKIDYkZjhtiXmUFbQoZpY0d\nHFUbzF3TnSgdcm2tQQhIjI+UGsmDFpys4+zHGw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e8595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b",
         "wx" : "7e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e",
         "wy" : "08595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047e6ab429b9e33a974f6ab9a49eb152c484575fad5d9bcddcb87edce16e79333a937276f36aec9121de450384cb20bb2e8595f6c2880d89198e1b625e65056d0a19a58d1d1c551bcc5dd39d281d726dad4108488c8f941ac983169cace3ecc71b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH5qtCm54zqXT2q5pJ6xUsSEV1+t\nXZvN3Lh+3OFueTM6k3J282rskSHeRQOEyyC7LoWV9sKIDYkZjhtiXmUFbQoZpY0d\nHFUbzF3TnSgdcm2tQQhIjI+UGsmDFpys4+zHGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 862,
+          "tcId" : 948,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023065cf0a5bce70af078af6d5a14545ca619e47d6eb0fd0531ecc743a7685530284a83289c2d09e024384ae5e778799e414",
@@ -13229,20 +15473,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac551734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB+7N/dRlcPy3jr8yIrX6zIQgURg\niUP6zjqJAAX/Kj4LVYB5xYQmIPRK3Aw43YiqxVFzT464J9+SnXMXcUopz4ukMsr2\niQlNAOudY8vJCLp2ylsfk9IpR3yWCEKUD0Ik0w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac551734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3",
         "wx" : "1fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac5",
         "wy" : "51734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041fbb37f75195c3f2de3afcc88ad7eb32108144608943face3a890005ff2a3e0b558079c5842620f44adc0c38dd88aac551734f8eb827df929d7317714a29cf8ba432caf689094d00eb9d63cbc908ba76ca5b1f93d229477c960842940f4224d3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB+7N/dRlcPy3jr8yIrX6zIQgURg\niUP6zjqJAAX/Kj4LVYB5xYQmIPRK3Aw43YiqxVFzT464J9+SnXMXcUopz4ukMsr2\niQlNAOudY8vJCLp2ylsfk9IpR3yWCEKUD0Ik0w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 863,
+          "tcId" : 949,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02302e099adfe4d9120596e8a1520399b0e249555b171e0a71967307548a3c28753fa40bbcb0a8658369dc8ca0caa05fb001",
@@ -13252,20 +15497,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000407fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAf6MMg3yK0Ckyah1Ei9J1IbXSaq\n1NgkS3JCST33AXLm3R2vXH4H9PoQL1xBWk7GHwkEUn34d1J/fQ9af3G22cA/LeHf\niASGjnM32jXJsf/Jvy4nnDr4oHhubzmDLMbtGw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0407fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b",
         "wx" : "7fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f",
         "wy" : "0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000407fa30c837c8ad029326a1d448bd27521b5d26aad4d8244b7242493df70172e6dd1daf5c7e07f4fa102f5c415a4ec61f0904527df877527f7d0f5a7f71b6d9c03f2de1df8804868e7337da35c9b1ffc9bf2e279c3af8a0786e6f39832cc6ed1b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAf6MMg3yK0Ckyah1Ei9J1IbXSaq\n1NgkS3JCST33AXLm3R2vXH4H9PoQL1xBWk7GHwkEUn34d1J/fQ9af3G22cA/LeHf\niASGjnM32jXJsf/Jvy4nnDr4oHhubzmDLMbtGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 864,
+          "tcId" : 950,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02305c1335bfc9b2240b2dd142a4073361c492aab62e3c14e32ce60ea9147850ea7f4817796150cb06d3b919419540bf6002",
@@ -13275,20 +15521,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c630c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGE5euf+jn6JS/ponlgTUUKToPG5\n8QkMDZaWN5thKHp1Kj99HSSA/kEnSY0O7ahMYwwvrdN+o2v+UytdOg8QHd06xZRY\nOZZI8++vWDPewcjI7OBVFYk1U+9NWBINN84uzQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0461397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c630c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd",
         "wx" : "61397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c63",
         "wy" : "0c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000461397ae7fe8e7e894bfa689e5813514293a0f1b9f1090c0d9696379b61287a752a3f7d1d2480fe4127498d0eeda84c630c2fadd37ea36bfe532b5d3a0f101ddd3ac59458399648f3efaf5833dec1c8c8ece05515893553ef4d58120d37ce2ecd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGE5euf+jn6JS/ponlgTUUKToPG5\n8QkMDZaWN5thKHp1Kj99HSSA/kEnSY0O7ahMYwwvrdN+o2v+UytdOg8QHd06xZRY\nOZZI8++vWDPewcjI7OBVFYk1U+9NWBINN84uzQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 865,
+          "tcId" : 951,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230259160b321c350f4f2299aa77c72a09248927957b6414308bf8c7fb4f2dbba5ca79198f80a150e1ceb5a9845144eee9b",
@@ -13298,20 +15545,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH8WbvqNhBbZIvV2c6IYDPu0no0W\nDWC6XskLpUfz7M0izmr9maD7KSz9FrBpK5yrA0GFeeZ8h7NZkS9stBWL3X6hMLUA\ndybfL84xmRXe7cT36J7iP3huJTc8mTdJi6uBtA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4",
         "wx" : "7f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03",
         "wy" : "418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047f166efa8d8416d922f57673a2180cfbb49e8d160d60ba5ec90ba547f3eccd22ce6afd99a0fb292cfd16b0692b9cab03418579e67c87b359912f6cb4158bdd7ea130b5007726df2fce319915deedc4f7e89ee23f786e25373c9937498bab81b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH8WbvqNhBbZIvV2c6IYDPu0no0W\nDWC6XskLpUfz7M0izmr9maD7KSz9FrBpK5yrA0GFeeZ8h7NZkS9stBWL3X6hMLUA\ndybfL84xmRXe7cT36J7iP3huJTc8mTdJi6uBtA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 866,
+          "tcId" : 952,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023100881964e1bba9a28c7a1d84379c65bb3da72f3cc879f7f579d2f9b34a574432d6c7d1c229ee227d4ddbdd9f15df9978c0",
@@ -13321,20 +15569,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000477c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHfJwuZYsASraEDXwzpefrX5O6On\nxbMvcnX9dbB8HJL1rjFXa5y8oEYzfm1up2wUXmfFYBDdl0ni2Qs+tX7xxMc3QSM6\nMqakNVuMTjokvPWYZifHSAeDFh2x0qUzK9df7w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0477c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef",
         "wx" : "77c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e",
         "wy" : "67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000477c9c2e658b004ab6840d7c33a5e7eb5f93ba3a7c5b32f7275fd75b07c1c92f5ae31576b9cbca046337e6d6ea76c145e67c56010dd9749e2d90b3eb57ef1c4c73741233a32a6a4355b8c4e3a24bcf5986627c7480783161db1d2a5332bd75fef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHfJwuZYsASraEDXwzpefrX5O6On\nxbMvcnX9dbB8HJL1rjFXa5y8oEYzfm1up2wUXmfFYBDdl0ni2Qs+tX7xxMc3QSM6\nMqakNVuMTjokvPWYZifHSAeDFh2x0qUzK9df7w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 867,
+          "tcId" : 953,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02300e3c83bb59abc57220170152251cf010b0081fecca2c957ca7ec1a33dae3ca1d7094b1c0f71b03e008bbe64659119f09",
@@ -13344,20 +15593,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000464d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a3777299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGTZoxfVtBrzD9/HOJRg81f6mXgw\nTQJrMSqlygShm9wMVkQM/RSgsGDDuPTujUpaN3cpmyKAq0yFftJTHo2wJ/jHI4Ao\nvX97pZvIBUfU8Q2m8uYTWAVTQG8EJ+y9e3WRbg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0464d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a3777299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e",
         "wx" : "64d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a37",
         "wy" : "77299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000464d9a317d5b41af30fdfc7389460f357fa9978304d026b312aa5ca04a19bdc0c56440cfd14a0b060c3b8f4ee8d4a5a3777299b2280ab4c857ed2531e8db027f8c7238028bd7f7ba59bc80547d4f10da6f2e613580553406f0427ecbd7b75916e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGTZoxfVtBrzD9/HOJRg81f6mXgw\nTQJrMSqlygShm9wMVkQM/RSgsGDDuPTujUpaN3cpmyKAq0yFftJTHo2wJ/jHI4Ao\nvX97pZvIBUfU8Q2m8uYTWAVTQG8EJ+y9e3WRbg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 868,
+          "tcId" : 954,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230631b97da7f334dafd01e2a01f8618632372d9abcdf14ebaf7213da37b1449c4e8c8a1dfe03384f3ade8907ad94421398",
@@ -13367,20 +15617,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCZLpEf4DXIb8eeYd/J6I+5YVl6I\nxJ9rnNZEjAJLb/U667KwjOwi6y6zjjD9VHJ/AYAYh/n5Tc5iXtHVY1CkslLg3PwJ\nhJKPJa0ioTE1uvmWv6goCfvnnAl5Zw/dyfup5g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6",
         "wx" : "264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01",
         "wy" : "0801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004264ba447f80d721bf1e79877f27a23ee58565e88c49f6b9cd6448c024b6ff53aebb2b08cec22eb2eb38e30fd54727f01801887f9f94dce625ed1d56350a4b252e0dcfc0984928f25ad22a13135baf996bfa82809fbe79c0979670fddc9fba9e6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCZLpEf4DXIb8eeYd/J6I+5YVl6I\nxJ9rnNZEjAJLb/U667KwjOwi6y6zjjD9VHJ/AYAYh/n5Tc5iXtHVY1CkslLg3PwJ\nhJKPJa0ioTE1uvmWv6goCfvnnAl5Zw/dyfup5g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 869,
+          "tcId" : 955,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230397e11325b2e2e3790dee4859fdcca85592bc46fd0d580abc5114602b68512f549d9854c9af0db658189dd583f7fc1cb",
@@ -13390,20 +15641,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABASRgECljcR3pyRVYSc98ti9l35f\n05xA0wEVNssrnP7oLiq19TnlkI3L8/8kxkXbTllpqdjfXNqv40kMqklGrPXr4+k6\nqyio1Kb2HiyOXALcYFx1gG3d3eviORVjEVnB9w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7",
         "wx" : "4918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e",
         "wy" : "5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000404918040a58dc477a7245561273df2d8bd977e5fd39c40d3011536cb2b9cfee82e2ab5f539e5908dcbf3ff24c645db4e5969a9d8df5cdaafe3490caa4946acf5ebe3e93aab28a8d4a6f61e2c8e5c02dc605c75806dddddebe23915631159c1f7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABASRgECljcR3pyRVYSc98ti9l35f\n05xA0wEVNssrnP7oLiq19TnlkI3L8/8kxkXbTllpqdjfXNqv40kMqklGrPXr4+k6\nqyio1Kb2HiyOXALcYFx1gG3d3eviORVjEVnB9w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 870,
+          "tcId" : 956,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02300fe08a8a37290ebf519f9f0947580ed87b29ee22c29615a8180eb1cdbbc5899c0728ec9b32a96790248ab302eabd6ffe",
@@ -13413,20 +15665,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000422e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c408196089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCLkTr4KNR5Mkfe9/AwMPG4cZ52o\nSjJTnC27QeoxBhsIJePzTXsK1SUmHrnkV8QIGWCJ4zA0cxuo6flfWiNL+NNTnIOB\n9NlVENXg8UX9SCBeXGAhjD+EsYnI5P1WCLSXeA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0422e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c408196089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778",
         "wx" : "22e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c40819",
         "wy" : "6089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000422e44ebe0a351e4c91f7bdfc0c0c3c6e1c679da84a32539c2dbb41ea31061b0825e3f34d7b0ad525261eb9e457c408196089e33034731ba8e9f95f5a234bf8d3539c8381f4d95510d5e0f145fd48205e5c60218c3f84b189c8e4fd5608b49778",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCLkTr4KNR5Mkfe9/AwMPG4cZ52o\nSjJTnC27QeoxBhsIJePzTXsK1SUmHrnkV8QIGWCJ4zA0cxuo6flfWiNL+NNTnIOB\n9NlVENXg8UX9SCBeXGAhjD+EsYnI5P1WCLSXeA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 871,
+          "tcId" : 957,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02305f92937aa52d5dd10fcefb95a2d57b617d6d8b04e8db5b3b5a39abe893fda2aeb2f978108c558aabbad829ce02c27735",
@@ -13436,20 +15689,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000466ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a28accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGbtSXee1qexDIErx+57R6XRHF6l\nAncnPaFAvBsM9bghCmpzf36dku7m2EUTflxEoorMuPY3OFz2UZv64+065NCsqhmi\nYKAb2MtTrSTayrGVSyDRRyzzl16HzHM/Mpq2vQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0466ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a28accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd",
         "wx" : "66ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a2",
         "wy" : "08accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000466ed49779ed6a7b10c812bc7ee7b47a5d11c5ea50277273da140bc1b0cf5b8210a6a737f7e9d92eee6d845137e5c44a28accb8f637385cf6519bfae3ed3ae4d0acaa19a260a01bd8cb53ad24dacab1954b20d1472cf3975e87cc733f329ab6bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGbtSXee1qexDIErx+57R6XRHF6l\nAncnPaFAvBsM9bghCmpzf36dku7m2EUTflxEoorMuPY3OFz2UZv64+065NCsqhmi\nYKAb2MtTrSTayrGVSyDRRyzzl16HzHM/Mpq2vQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 872,
+          "tcId" : 958,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023059930a2b8bbd79b8051f252a1af76b4a5c6525adf9c6c7910a5ccf798eac0c8d4513923a792a965abe82bb564dac21cb",
@@ -13459,20 +15713,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200043024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDAkkSBBvJiak2+03N0XixXgOgqp\nSrr7RGW0qJ1EFreosCnUfBfmmiWWL/Ou/oYtyySe6SUrVxPnR6Laiqwrlh7itqyh\nV6RIiHSGSPvNxWYc1KFpu5LJwc5Qp5pjc1ACoQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1",
         "wx" : "3024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb",
         "wy" : "249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200043024912041bc989a936fb4dcdd178b15e03a0aa94abafb4465b4a89d4416b7a8b029d47c17e69a25962ff3aefe862dcb249ee9252b5713e747a2da8aac2b961ee2b6aca157a44888748648fbcdc5661cd4a169bb92c9c1ce50a79a63735002a1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDAkkSBBvJiak2+03N0XixXgOgqp\nSrr7RGW0qJ1EFreosCnUfBfmmiWWL/Ou/oYtyySe6SUrVxPnR6Laiqwrlh7itqyh\nV6RIiHSGSPvNxWYc1KFpu5LJwc5Qp5pjc1ACoQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 873,
+          "tcId" : 959,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02301449901ce4b00f0e3a5ff84cff8c134854b808e504d1b8f027ace9591234e3f62ce70c35a8aa8e60cafe1e0df3ed80e7",
@@ -13482,20 +15737,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2000b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyTk7AOmmLOC4NnTNzKWbGNWzQk\nY0jjfB14iYpSLYE8SdCO/F8/fvM/PcndG8LlwgALlBDOBKZM0JWuEZS8H1FMcAmk\n4GhxtVcVTPSS58V3SUh+z80EyzFCareF/6leLw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2000b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f",
         "wx" : "6c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2",
         "wy" : "0b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9393b00e9a62ce0b83674cdcca59b18d5b34246348e37c1d78898a522d813c49d08efc5f3f7ef33f3dc9dd1bc2e5c2000b9410ce04a64cd095ae1194bc1f514c7009a4e06871b557154cf492e7c57749487ecfcd04cb31426ab785ffa95e2f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyTk7AOmmLOC4NnTNzKWbGNWzQk\nY0jjfB14iYpSLYE8SdCO/F8/fvM/PcndG8LlwgALlBDOBKZM0JWuEZS8H1FMcAmk\n4GhxtVcVTPSS58V3SUh+z80EyzFCareF/6leLw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 874,
+          "tcId" : 960,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02310089ae6f8e215bcf35c7e2afed1a6b9855171687d9edbea8af5bf8e9ddc667aac4e166f05097385fa9ea3a6245fc07b4ad",
@@ -13505,20 +15761,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCxYJ3qqYcQA1wNhg69JyZqX/qWo\n1fhgjExqx6KCdX5NxLb5LYKhAnLyoZaWpI+nn1qK23cHQGadYBDlX2YlsUG+Rp/h\nd59K3+ZOqy5KmsW/HCWz3gt0uPlkT8IWAQ2WWQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "042c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659",
         "wx" : "2c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f",
         "wy" : "5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c58277aaa61c400d7036183af49c99a97fea5a8d5f8608c4c6ac7a282757e4dc4b6f92d82a10272f2a19696a48fa79f5a8adb770740669d6010e55f6625b141be469fe1779f4adfe64eab2e4a9ac5bf1c25b3de0b74b8f9644fc216010d9659",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCxYJ3qqYcQA1wNhg69JyZqX/qWo\n1fhgjExqx6KCdX5NxLb5LYKhAnLyoZaWpI+nn1qK23cHQGadYBDlX2YlsUG+Rp/h\nd59K3+ZOqy5KmsW/HCWz3gt0uPlkT8IWAQ2WWQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 875,
+          "tcId" : 961,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303fc16256a0914ce2661a54688af4b2546b1b59b043667da6abb5b1a1e0e2e6ab862fe8bb749f7251572bc160567530a7",
@@ -13528,20 +15785,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABG5fgn4aoiXEuV21JlX2fWVL3Gmk\nv49JwZ0eZdzxLKURUFqhcmyi9c34qzdvlKDFvV2uxvNfHfvGj7oCTMjF95zpuqhq\n39jSulOnmM3MkCXrl5fTviB7xpSrszjkN3j/3Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd",
         "wx" : "6e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd",
         "wy" : "5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046e5f827e1aa225c4b95db52655f67d654bdc69a4bf8f49c19d1e65dcf12ca511505aa1726ca2f5cdf8ab376f94a0c5bd5daec6f35f1dfbc68fba024cc8c5f79ce9baa86adfd8d2ba53a798cdcc9025eb9797d3be207bc694abb338e43778ffdd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABG5fgn4aoiXEuV21JlX2fWVL3Gmk\nv49JwZ0eZdzxLKURUFqhcmyi9c34qzdvlKDFvV2uxvNfHfvGj7oCTMjF95zpuqhq\n39jSulOnmM3MkCXrl5fTviB7xpSrszjkN3j/3Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 876,
+          "tcId" : 962,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023064c1556c5eef311a4f3ba46316adf73732d6ed47b1ba2ecd178ff89bbc5ddd6c6419f62e045ea2d35c33a250dc2fb925",
@@ -13551,20 +15809,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b1700465cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH/oUqdhKmc981HwWv6vy7Fs5Mrf\nhWgbK19GzDHvM9a2lTeOcyXpyzGF1xN7KxcARly9TIEAdtE1MWiH6UsUtLAQjbHJ\nRHlMOYk41CF2wyV1tkKLPje2AiEcV0rK/vCRHg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b1700465cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e",
         "wx" : "7fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b170046",
         "wy" : "5cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200047fe852a7612a673df351f05afeafcbb16ce4cadf85681b2b5f46cc31ef33d6b695378e7325e9cb3185d7137b2b1700465cbd4c810076d135316887e94b14b4b0108db1c944794c398938d42176c32575b6428b3e37b602211c574acafef0911e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABH/oUqdhKmc981HwWv6vy7Fs5Mrf\nhWgbK19GzDHvM9a2lTeOcyXpyzGF1xN7KxcARly9TIEAdtE1MWiH6UsUtLAQjbHJ\nRHlMOYk41CF2wyV1tkKLPje2AiEcV0rK/vCRHg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 877,
+          "tcId" : 963,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303cc98c561aa5f50c8f19d947dc75ac8f507e6985762006e7100982caccb79530f8f935ac9d3d82967cdf129ecf5b0ce5",
@@ -13574,20 +15833,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABApJ3DWe1P72g+Ri3+aFRCzqd7cz\n/ZVjMhZ5TZph9+ECLZQqNueBpISitHmmQ0aa9FEuvQlmtov+z3pHAhvNnmqicD3M\nVWqaRD0WGVqhRXOPo2pN/z0JSB9KhlUKjR81RQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545",
         "wx" : "0a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4",
         "wy" : "512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040a49dc359ed4fef683e462dfe685442cea77b733fd95633216794d9a61f7e1022d942a36e781a484a2b479a643469af4512ebd0966b68bfecf7a47021bcd9e6aa2703dcc556a9a443d16195aa145738fa36a4dff3d09481f4a86550a8d1f3545",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABApJ3DWe1P72g+Ri3+aFRCzqd7cz\n/ZVjMhZ5TZph9+ECLZQqNueBpISitHmmQ0aa9FEuvQlmtov+z3pHAhvNnmqicD3M\nVWqaRD0WGVqhRXOPo2pN/z0JSB9KhlUKjR81RQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 878,
+          "tcId" : 964,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02303f2095530f36144e009019eee102b2867d83c9eb4f28bcb31b383e00c8c3746b20cc90e8efc813aefb5b6a4965204c53",
@@ -13597,20 +15857,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCdnFQh0ldUsQWDRVEbrtNdYKRv1\nvJyoe1bD8ArcQfpFLWZoQVLT4Z0vw61dKJeHrTZzhdPD9cPCxsMWatz6/D0gRFPK\nuHl9VulV+/HPQhdjpmU+QO/ZA134EoE1VGtiYQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261",
         "wx" : "276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad",
         "wy" : "367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004276715087495d52c4160d15446ebb4d758291bf5bc9ca87b56c3f00adc41fa452d66684152d3e19d2fc3ad5d289787ad367385d3c3f5c3c2c6c3166adcfafc3d204453cab8797d56e955fbf1cf421763a6653e40efd9035df8128135546b6261",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCdnFQh0ldUsQWDRVEbrtNdYKRv1\nvJyoe1bD8ArcQfpFLWZoQVLT4Z0vw61dKJeHrTZzhdPD9cPCxsMWatz6/D0gRFPK\nuHl9VulV+/HPQhdjpmU+QO/ZA134EoE1VGtiYQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 879,
+          "tcId" : 965,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0230704afc6a72080d1728f6cc9fd023e9d2373023377f02599b6ea9fb2923dd7403fe2fd73999f65316b53f910bda4f6f10",
@@ -13620,20 +15881,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFlD29Zsefy4gpNuzN1thgxC4gcn\nos2ykWXIQmydGSmQtx2aPH8kDkasqydBt+6cekYeWrHbPrm1GzI4062jNWfSUdj9\nD7r1mqHPtA/nsi4Cd/Fmoy7bgatqhYD5sfs+OQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39",
         "wx" : "5943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a",
         "wy" : "461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045943dbd66c79fcb882936eccdd6d860c42e20727a2cdb29165c8426c9d192990b71d9a3c7f240e46acab2741b7ee9c7a461e5ab1db3eb9b51b3238d3ada33567d251d8fd0fbaf59aa1cfb40fe7b22e0277f166a32edb81ab6a8580f9b1fb3e39",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFlD29Zsefy4gpNuzN1thgxC4gcn\nos2ykWXIQmydGSmQtx2aPH8kDkasqydBt+6cekYeWrHbPrm1GzI4062jNWfSUdj9\nD7r1mqHPtA/nsi4Cd/Fmoy7bgatqhYD5sfs+OQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 880,
+          "tcId" : 966,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023046f09c4741c1afe74e32f6ff14daaf90f4486c33f5d0e978f9af24f5751988e72b374c5faeffdec309330401965f7d20",
@@ -13643,20 +15905,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda64ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFKF1yklyHx1tq2ZVQZBgr8t68sl\nyI0GBvZnKGPeQT5Uloik/PvmaJuyPbordXvNpk72sBdmyVtm/xBJbV3uusS0v4w7\ntCMsAZ+Atp2KsCFM6vWBMCfs7BM6WluXGUiCLg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "045285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda64ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e",
         "wx" : "5285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda6",
         "wy" : "4ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200045285d72925c87c75b6ad9955064182bf2debcb25c88d0606f6672863de413e549688a4fcfbe6689bb23dba2b757bcda64ef6b01766c95b66ff10496d5deebac4b4bf8c3bb4232c019f80b69d8ab0214ceaf5813027ecec133a5a5b971948822e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFKF1yklyHx1tq2ZVQZBgr8t68sl\nyI0GBvZnKGPeQT5Uloik/PvmaJuyPbordXvNpk72sBdmyVtm/xBJbV3uusS0v4w7\ntCMsAZ+Atp2KsCFM6vWBMCfs7BM6WluXGUiCLg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 881,
+          "tcId" : 967,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023019930a2b8bbd79b8051f252a1af76b4a5c6525adf9c6c7910a5ccf798eac0c8d4513923a792a965abe82bb564dac21cd",
@@ -13666,20 +15929,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b84eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAeGr7A915Hb/DcatR/6KIt87dkN\najWjw6klZviV84yxhTYTfgEPHPui++1wVo13uE7shAzKi28/YSMEtgL/rY3LrheG\nssIhbpoeWaa2lii1KkCLagg9cn88zQ5wb5ru+A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "040786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b84eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8",
         "wx" : "786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b8",
         "wy" : "4eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200040786afb03dd791dbfc371ab51ffa288b7cedd90d6a35a3c3a92566f895f38cb18536137e010f1cfba2fbed70568d77b84eec840cca8b6f3f612304b602ffad8dcbae1786b2c2216e9a1e59a6b69628b52a408b6a083d727f3ccd0e706f9aeef8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAeGr7A915Hb/DcatR/6KIt87dkN\najWjw6klZviV84yxhTYTfgEPHPui++1wVo13uE7shAzKi28/YSMEtgL/rY3LrheG\nssIhbpoeWaa2lii1KkCLagg9cn88zQ5wb5ru+A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 882,
+          "tcId" : 968,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc023033261457177af3700a3e4a5435eed694b8ca4b5bf38d8f2214b99ef31d58191a8a272474f2552cb57d0576ac9b58439a",
@@ -13689,20 +15953,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000446690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEZpDbQDkEIo5Pc2sTRHkVlmKOhW\nadTdATdLISdCgLQh5C9bo/Py+trSfURpvn2b236IO0PCchf2BuClumyd94HBRXds\nDlqJk/DtZcbe1lpDvd0P52EUhejo2efezfLYtQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0446690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5",
         "wx" : "46690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb",
         "wy" : "7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000446690db403904228e4f736b1344791596628e85669d4dd01374b21274280b421e42f5ba3f3f2fadad27d4469be7d9bdb7e883b43c27217f606e0a5ba6c9df781c145776c0e5a8993f0ed65c6ded65a43bddd0fe7611485e8e8d9e7decdf2d8b5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEZpDbQDkEIo5Pc2sTRHkVlmKOhW\nadTdATdLISdCgLQh5C9bo/Py+trSfURpvn2b236IO0PCchf2BuClumyd94HBRXds\nDlqJk/DtZcbe1lpDvd0P52EUhejo2efezfLYtQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 883,
+          "tcId" : 969,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306402307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02304cb91e82a3386d280f5d6f7e50e641df152f7109ed5456b31f166e6cac0425a7cf3ab6af6b7fc3103b883202e9046567",
@@ -13712,20 +15977,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d83b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIvmkorK1EyVcbXEAV+j/65eY55B\nMKGma0c+Xf3+k7aKjeiVg2ZtTWmeiIVGn5saTYOx1TEjEORFrlfIWrGj3427twal\nmPvAB++2AqFKWVL9fn3wRk1TPgYuohEoXC9cJw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d83b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27",
         "wx" : "08be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d",
         "wy" : "083b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048be6928acad44c9571b5c4015fa3ffae5e639e4130a1a66b473e5dfdfe93b68a8de89583666d4d699e8885469f9b1a4d83b1d5312310e445ae57c85ab1a3df8dbbb706a598fbc007efb602a14a5952fd7e7df0464d533e062ea211285c2f5c27",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIvmkorK1EyVcbXEAV+j/65eY55B\nMKGma0c+Xf3+k7aKjeiVg2ZtTWmeiIVGn5saTYOx1TEjEORFrlfIWrGj3427twal\nmPvAB++2AqFKWVL9fn3wRk1TPgYuohEoXC9cJw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 884,
+          "tcId" : 970,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "306502307ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0231008b33c708624a1e2eeba00fb5b5a8ed1a1622fc71ed897fb13d87ac253935e8365850d380015c115d12e14a2472860d09",
@@ -13735,20 +16001,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e856a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehWoPDtjX8o+Rak5yflW/CBjcyE7R\nEyvX2p+Y/5X7Kuwjj035GFsJgqZoLAbIXmqJXg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e856a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e",
         "wx" : "1886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e85",
         "wy" : "6a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e856a0f0ed8d7f28f916a4e727e55bf0818dcc84ed1132bd7da9f98ff95fb2aec238f4df9185b0982a6682c06c85e6a895e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehWoPDtjX8o+Rak5yflW/CBjcyE7R\nEyvX2p+Y/5X7Kuwjj035GFsJgqZoLAbIXmqJXg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 885,
+          "tcId" : 971,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "30650231008729cbb906f69d8d43f94cb8c4b9572c958272f5c6ff759ba9113f340b9f9aa598837aa37a4311717faf4cf66747a5b4023028a9b8c55eb6f5f1cf5c233aff640f48211cd2b9cf0593e8b9ffff67c7e69703f8a6c5382a36769d3cca57711ab63c65",
@@ -13760,20 +16027,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e8522aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehSKqD6nLRd2WpQ78//snOcY4ZyI4\n2ih+2XMY2oOEjCUAHYWuETUTl8sfGvlK0p1i9Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e8522aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5",
         "wx" : "1886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e85",
         "wy" : "22aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041886ddd282b023084953ef7d9e853a6adc1360cef7f56df7da0ca7bdcf4f3a5d227a730f9f20f9434b565dc4fa819e8522aa0fa9cb45dd96a50efcfffb2739c638672238da287ed97318da83848c25001d85ae11351397cb1f1af94ad29d62f5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABBiG3dKCsCMISVPvfZ6FOmrcE2DO\n9/Vt99oMp73PTzpdInpzD58g+UNLVl3E+oGehSKqD6nLRd2WpQ78//snOcY4ZyI4\n2ih+2XMY2oOEjCUAHYWuETUTl8sfGvlK0p1i9Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 886,
+          "tcId" : 972,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "30650231008729cbb906f69d8d43f94cb8c4b9572c958272f5c6ff759ba9113f340b9f9aa598837aa37a4311717faf4cf66747a5b4023028a9b8c55eb6f5f1cf5c233aff640f48211cd2b9cf0593e8b9ffff67c7e69703f8a6c5382a36769d3cca57711ab63c65",
@@ -13785,20 +16053,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIndc478sPeYEd9r7Ic0hRaUUK2h\njmAnIeYXaL4NgeXUE4HyRmgnbzK/4x/xwWvLax96TSgjvNc/I22Qtuph2JICYZDh\nQxe10RBSbp4mdfA9XvP86HtYJ6N+DPGbTTmIwA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0489dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0",
         "wx" : "089dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b",
         "wy" : "1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000489dd738efcb0f79811df6bec873485169450ada18e602721e61768be0d81e5d41381f24668276f32bfe31ff1c16bcb6b1f7a4d2823bcd73f236d90b6ea61d892026190e14317b5d110526e9e2675f03d5ef3fce87b5827a37e0cf19b4d3988c0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIndc478sPeYEd9r7Ic0hRaUUK2h\njmAnIeYXaL4NgeXUE4HyRmgnbzK/4x/xwWvLax96TSgjvNc/I22Qtuph2JICYZDh\nQxe10RBSbp4mdfA9XvP86HtYJ6N+DPGbTTmIwA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 887,
+          "tcId" : 973,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "306402302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba301772102301c25061a20a4e2a19cac497fa9c7a6c6376fe36862aa77bd6c9e1615bc00d454c30bbe23157ff3d00be80a009500e114",
@@ -13808,21 +16077,22 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a5303085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlVkqZz6C3/PXdFAZTlMI1k9F8R\n91nzT3x7W3zGrXP5v/j2YzzCA3jP8uU/t6UwMIW1zUYhZlqshDXYzoWybURFCLd7\nKC6RzVMVxwHS5bZrpMAL9+HrCFmhPMNR0ABBoQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a5303085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1",
         "wx" : "795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a53030",
         "wy" : "085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004795592a673e82dff3d77450194e5308d64f45f11f759f34f7c7b5b7cc6ad73f9bff8f6633cc20378cff2e53fb7a5303085b5cd4621665aac8435d8ce85b26d444508b77b282e91cd5315c701d2e5b66ba4c00bf7e1eb0859a13cc351d00041a1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABHlVkqZz6C3/PXdFAZTlMI1k9F8R\n91nzT3x7W3zGrXP5v/j2YzzCA3jP8uU/t6UwMIW1zUYhZlqshDXYzoWybURFCLd7\nKC6RzVMVxwHS5bZrpMAL9+HrCFmhPMNR0ABBoQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 888,
-          "comment" : "extreme value for k",
+          "tcId" : 974,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca02302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721",
           "result" : "valid",
@@ -13831,21 +16101,142 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab723732442f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCwRV3LdKYYSGXocWd+cJahqwW+k\n8nrfdLzGc7tKaku10LW2RHDV0m4DAJIqtyNzJEL27CCeJ84LEn0zR0UnJkPTZmv/\nVJJ0GXZN5SMi7haW5iDRXg7qYv7Q8g7+bJHh4w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0439d94ff8757dcdb67480cbc48e9679423e57de5a23232df0db1e0ff7e908614401e6cd8d615008ea8be51299d9e22de9438126d70d14e75ce41ea2f409be88e2806f7f73bd513731696bc59e7a2c1d44d5683d3bdc92baba1c2ada58809f8bef",
+        "wx" : "39d94ff8757dcdb67480cbc48e9679423e57de5a23232df0db1e0ff7e908614401e6cd8d615008ea8be51299d9e22de9",
+        "wy" : "438126d70d14e75ce41ea2f409be88e2806f7f73bd513731696bc59e7a2c1d44d5683d3bdc92baba1c2ada58809f8bef"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000439d94ff8757dcdb67480cbc48e9679423e57de5a23232df0db1e0ff7e908614401e6cd8d615008ea8be51299d9e22de9438126d70d14e75ce41ea2f409be88e2806f7f73bd513731696bc59e7a2c1d44d5683d3bdc92baba1c2ada58809f8bef",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDnZT/h1fc22dIDLxI6WeUI+V95a\nIyMt8NseD/fpCGFEAebNjWFQCOqL5RKZ2eIt6UOBJtcNFOdc5B6i9Am+iOKAb39z\nvVE3MWlrxZ56LB1E1Wg9O9ySurocKtpYgJ+L7w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 975,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0420b1fc8e2480a973e097337343490b12ae40652e4180dd4ae56df521daa9e391777c0d466f018af55519038dead355017232882bca3ccd6b375591f5b5096538ca5778355307e603148fde31f5acffeb4c6863541ad233de3f281ea0d235b6f3",
+        "wx" : "20b1fc8e2480a973e097337343490b12ae40652e4180dd4ae56df521daa9e391777c0d466f018af55519038dead35501",
+        "wy" : "7232882bca3ccd6b375591f5b5096538ca5778355307e603148fde31f5acffeb4c6863541ad233de3f281ea0d235b6f3"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000420b1fc8e2480a973e097337343490b12ae40652e4180dd4ae56df521daa9e391777c0d466f018af55519038dead355017232882bca3ccd6b375591f5b5096538ca5778355307e603148fde31f5acffeb4c6863541ad233de3f281ea0d235b6f3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCCx/I4kgKlz4Jczc0NJCxKuQGUu\nQYDdSuVt9SHaqeORd3wNRm8BivVVGQON6tNVAXIyiCvKPM1rN1WR9bUJZTjKV3g1\nUwfmAxSP3jH1rP/rTGhjVBrSM94/KB6g0jW28w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 976,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca02301c25061a20a4e2a19cac497fa9c7a6c6376fe36862aa77bd6c9e1615bc00d454c30bbe23157ff3d00be80a009500e114",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044a391d79cfa82b943123d69ee2d1bc0e0b7e1e6f93c69123bfce0bd4f31a5e3434062dd0e1aa8b886ceba362c4d6720c7a2b0543a156f1934e02d31e81d5d2785a71d541cc7e1e6e6132ebee42111f52a844937260719056ae7b10f751606c41",
+        "wx" : "4a391d79cfa82b943123d69ee2d1bc0e0b7e1e6f93c69123bfce0bd4f31a5e3434062dd0e1aa8b886ceba362c4d6720c",
+        "wy" : "7a2b0543a156f1934e02d31e81d5d2785a71d541cc7e1e6e6132ebee42111f52a844937260719056ae7b10f751606c41"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044a391d79cfa82b943123d69ee2d1bc0e0b7e1e6f93c69123bfce0bd4f31a5e3434062dd0e1aa8b886ceba362c4d6720c7a2b0543a156f1934e02d31e81d5d2785a71d541cc7e1e6e6132ebee42111f52a844937260719056ae7b10f751606c41",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEo5HXnPqCuUMSPWnuLRvA4Lfh5v\nk8aRI7/OC9TzGl40NAYt0OGqi4hs66NixNZyDHorBUOhVvGTTgLTHoHV0nhacdVB\nzH4ebmEy6+5CER9SqESTcmBxkFauexD3UWBsQQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 977,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca02307094186882938a8672b125fea71e9b18ddbf8da18aa9def5b2785856f00351530c2ef88c55ffcf402fa0280254038451",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0436854adacf83ce5f0e4422406d7b6f7db63d73d4c892a01e975ef6ee6b71a9334c9d57ce6ffcdb1a2e4174ddba799e127d619672035db4fd73e5e4b4ea920b74f2e70fd24ebca49d22fdb11e96b7867fa1838ca5babcd9dd096ab85e2f97b5ae",
+        "wx" : "36854adacf83ce5f0e4422406d7b6f7db63d73d4c892a01e975ef6ee6b71a9334c9d57ce6ffcdb1a2e4174ddba799e12",
+        "wy" : "7d619672035db4fd73e5e4b4ea920b74f2e70fd24ebca49d22fdb11e96b7867fa1838ca5babcd9dd096ab85e2f97b5ae"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000436854adacf83ce5f0e4422406d7b6f7db63d73d4c892a01e975ef6ee6b71a9334c9d57ce6ffcdb1a2e4174ddba799e127d619672035db4fd73e5e4b4ea920b74f2e70fd24ebca49d22fdb11e96b7867fa1838ca5babcd9dd096ab85e2f97b5ae",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDaFStrPg85fDkQiQG17b322PXPU\nyJKgHpde9u5rcakzTJ1Xzm/82xouQXTdunmeEn1hlnIDXbT9c+XktOqSC3Ty5w/S\nTryknSL9sR6Wt4Z/oYOMpbq82d0JarheL5e1rg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 978,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca0230789eac6ff99e146b7ae25f90d7a0cabf36baf32d14916ee2aceea7cadc95d7221f56e5baee6d82a03307064ba32856e9",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04804e6c71e493b783ecd375a4edcf86c77b1c2df551bbc73bed8516e4d11ce51a1dd081e19aa6f51c656818b853962178580bd6b2c4eabcf5b3741e6b7d59b0e7f2bddb247f5f9d6751cf09e3c6c9d1f7c27c0bb8d21e77a80ebadaf90af8b0d0",
+        "wx" : "0804e6c71e493b783ecd375a4edcf86c77b1c2df551bbc73bed8516e4d11ce51a1dd081e19aa6f51c656818b853962178",
+        "wy" : "580bd6b2c4eabcf5b3741e6b7d59b0e7f2bddb247f5f9d6751cf09e3c6c9d1f7c27c0bb8d21e77a80ebadaf90af8b0d0"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004804e6c71e493b783ecd375a4edcf86c77b1c2df551bbc73bed8516e4d11ce51a1dd081e19aa6f51c656818b853962178580bd6b2c4eabcf5b3741e6b7d59b0e7f2bddb247f5f9d6751cf09e3c6c9d1f7c27c0bb8d21e77a80ebadaf90af8b0d0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIBObHHkk7eD7NN1pO3Phsd7HC31\nUbvHO+2FFuTRHOUaHdCB4Zqm9RxlaBi4U5YheFgL1rLE6rz1s3Qea31ZsOfyvdsk\nf1+dZ1HPCePGydH3wnwLuNIed6gOutr5Cviw0A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 979,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "306402302282bc382a2f4dfcb95c3495d7b4fd590ad520b3eb6be4d6ec2f80c4e0f70df87c4ba74a09b553ebb427b58df9d59fca023064dc78d112cd6ed67d4323b302650a606ed41415bd8cfc40ec7438a70ee3d8680420e5f602aed591a324760c58140642",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab723732442f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3",
         "wx" : "2c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab7237324",
         "wy" : "42f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042c115772dd298612197a1c59df9c25a86ac16fa4f27adf74bcc673bb4a6a4bb5d0b5b64470d5d26e0300922ab723732442f6ec209e27ce0b127d334745272643d3666bff54927419764de52322ee1696e620d15e0eea62fed0f20efe6c91e1e3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCwRV3LdKYYSGXocWd+cJahqwW+k\n8nrfdLzGc7tKaku10LW2RHDV0m4DAJIqtyNzJEL27CCeJ84LEn0zR0UnJkPTZmv/\nVJJ0GXZN5SMi7haW5iDRXg7qYv7Q8g7+bJHh4w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 889,
-          "comment" : "extreme value for k",
+          "tcId" : 980,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e02302ee85f80e112cf0d5a747a7f704cc09fb1ba7b034f1c1ce65fb224cee40161e29a68e78fce7febb013d810aba3017721",
           "result" : "valid",
@@ -13854,20 +16245,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04295778c9a3be2b373450f57daf10de66d32441750ac4289f6751ff61405ce0237f64e28ac5281a81d13fba81a8454e584c9f3991d615512faf0dc9107193b1b6f5cd684356ca51504d15c1ca4ba00b21c7c68eb4683222a8211e4ffd56da0e06",
+        "wx" : "295778c9a3be2b373450f57daf10de66d32441750ac4289f6751ff61405ce0237f64e28ac5281a81d13fba81a8454e58",
+        "wy" : "4c9f3991d615512faf0dc9107193b1b6f5cd684356ca51504d15c1ca4ba00b21c7c68eb4683222a8211e4ffd56da0e06"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004295778c9a3be2b373450f57daf10de66d32441750ac4289f6751ff61405ce0237f64e28ac5281a81d13fba81a8454e584c9f3991d615512faf0dc9107193b1b6f5cd684356ca51504d15c1ca4ba00b21c7c68eb4683222a8211e4ffd56da0e06",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABClXeMmjvis3NFD1fa8Q3mbTJEF1\nCsQon2dR/2FAXOAjf2TiisUoGoHRP7qBqEVOWEyfOZHWFVEvrw3JEHGTsbb1zWhD\nVspRUE0VwcpLoAshx8aOtGgyIqghHk/9VtoOBg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 981,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0465a340bc68f3fcead4f04277ee8675f9c17bc8c88426c5ba0313b8ce7da58d92ca9a0ffa32c7eee195857d860ba1eebe4dcd5be3a6778008b36ea19d902d93dd488f6fb65dc0719521553b39cb3c524b12681d2e07a8ef720cdc15011c23ba9d",
+        "wx" : "65a340bc68f3fcead4f04277ee8675f9c17bc8c88426c5ba0313b8ce7da58d92ca9a0ffa32c7eee195857d860ba1eebe",
+        "wy" : "4dcd5be3a6778008b36ea19d902d93dd488f6fb65dc0719521553b39cb3c524b12681d2e07a8ef720cdc15011c23ba9d"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000465a340bc68f3fcead4f04277ee8675f9c17bc8c88426c5ba0313b8ce7da58d92ca9a0ffa32c7eee195857d860ba1eebe4dcd5be3a6778008b36ea19d902d93dd488f6fb65dc0719521553b39cb3c524b12681d2e07a8ef720cdc15011c23ba9d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGWjQLxo8/zq1PBCd+6GdfnBe8jI\nhCbFugMTuM59pY2SypoP+jLH7uGVhX2GC6Huvk3NW+Omd4AIs26hnZAtk91Ij2+2\nXcBxlSFVOznLPFJLEmgdLgeo73IM3BUBHCO6nQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 982,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e02301c25061a20a4e2a19cac497fa9c7a6c6376fe36862aa77bd6c9e1615bc00d454c30bbe23157ff3d00be80a009500e114",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0454a03902656bfaf4d6a54ff3429d9f9719bb61e6caf000e100992b31700e780e0f73f51614954acdddcaaa8b2311195b04ad3b19b01e150a39dc0cfaecc6498b18138ce612c492795687a488522644b3ddf7462c3c359bd091b7d39469571879",
+        "wx" : "54a03902656bfaf4d6a54ff3429d9f9719bb61e6caf000e100992b31700e780e0f73f51614954acdddcaaa8b2311195b",
+        "wy" : "4ad3b19b01e150a39dc0cfaecc6498b18138ce612c492795687a488522644b3ddf7462c3c359bd091b7d39469571879"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000454a03902656bfaf4d6a54ff3429d9f9719bb61e6caf000e100992b31700e780e0f73f51614954acdddcaaa8b2311195b04ad3b19b01e150a39dc0cfaecc6498b18138ce612c492795687a488522644b3ddf7462c3c359bd091b7d39469571879",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABFSgOQJla/r01qVP80Kdn5cZu2Hm\nyvAA4QCZKzFwDngOD3P1FhSVSs3dyqqLIxEZWwStOxmwHhUKOdwM+uzGSYsYE4zm\nEsSSeVaHpIhSJkSz3fdGLDw1m9CRt9OUaVcYeQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 983,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e02307094186882938a8672b125fea71e9b18ddbf8da18aa9def5b2785856f00351530c2ef88c55ffcf402fa0280254038451",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0446d10d749a47a4d3f25b6f28951a11f01a54c2413957a477162dabe0d08d8ae9b6a9f44b68ef341fb820b0c24c7a1c0e671ff166cd35d2f3cc821d58fa18e35d25e6033b9e790fce4818f9e570921c0034b381cc9ad254eeaf1b386e511b7c89",
+        "wx" : "46d10d749a47a4d3f25b6f28951a11f01a54c2413957a477162dabe0d08d8ae9b6a9f44b68ef341fb820b0c24c7a1c0e",
+        "wy" : "671ff166cd35d2f3cc821d58fa18e35d25e6033b9e790fce4818f9e570921c0034b381cc9ad254eeaf1b386e511b7c89"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000446d10d749a47a4d3f25b6f28951a11f01a54c2413957a477162dabe0d08d8ae9b6a9f44b68ef341fb820b0c24c7a1c0e671ff166cd35d2f3cc821d58fa18e35d25e6033b9e790fce4818f9e570921c0034b381cc9ad254eeaf1b386e511b7c89",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEbRDXSaR6TT8ltvKJUaEfAaVMJB\nOVekdxYtq+DQjYrptqn0S2jvNB+4ILDCTHocDmcf8WbNNdLzzIIdWPoY410l5gM7\nnnkPzkgY+eVwkhwANLOBzJrSVO6vGzhuURt8iQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 984,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e0230789eac6ff99e146b7ae25f90d7a0cabf36baf32d14916ee2aceea7cadc95d7221f56e5baee6d82a03307064ba32856e9",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048ae92de10b244ac7f0deb6b102d075951d8c13b2960c2e98d7fb42b8abe90fd07a4a21b86eb4c77efe9adb6725676d1736063f3407c71627acaa83be9029c7a40e8aa896cb68a9c2fa2aaa1079035a283181cd3f2723b221d5a8747ad392a0f9",
+        "wx" : "08ae92de10b244ac7f0deb6b102d075951d8c13b2960c2e98d7fb42b8abe90fd07a4a21b86eb4c77efe9adb6725676d17",
+        "wy" : "36063f3407c71627acaa83be9029c7a40e8aa896cb68a9c2fa2aaa1079035a283181cd3f2723b221d5a8747ad392a0f9"
+      },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048ae92de10b244ac7f0deb6b102d075951d8c13b2960c2e98d7fb42b8abe90fd07a4a21b86eb4c77efe9adb6725676d1736063f3407c71627acaa83be9029c7a40e8aa896cb68a9c2fa2aaa1079035a283181cd3f2723b221d5a8747ad392a0f9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIrpLeELJErH8N62sQLQdZUdjBOy\nlgwumNf7Qrir6Q/QekohuG60x37+mttnJWdtFzYGPzQHxxYnrKqDvpApx6QOiqiW\ny2ipwvoqqhB5A1ooMYHNPycjsiHVqHR605Kg+Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 985,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "306402301d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e023064dc78d112cd6ed67d4323b302650a606ed41415bd8cfc40ec7438a70ee3d8680420e5f602aed591a324760c58140642",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315",
+        "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e",
+        "wy" : "08abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"
+      },
       "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e8abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB0cZPBoz0X/oqY6gbfBP2uIR6Pn\nfvFP49t/yv4MvRDo6CbgNDbWRqrvh7LiR9SvHoq+HXUg+cKkXLHrjpXP1VJitwsp\n/uxYZOGcBU/5kSkoDkZGIXeRgRFCggNBJjxTFQ==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e",
-        "wy" : "08abe1d7520f9c2a45cb1eb8e95cfd55262b70b29feec5864e19c054ff99129280e4646217791811142820341263c5315"
-      },
       "tests" : [
         {
-          "tcId" : 890,
+          "tcId" : 986,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
@@ -13875,7 +16387,7 @@
           "flags" : []
         },
         {
-          "tcId" : 891,
+          "tcId" : 987,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "306402301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
@@ -13885,20 +16397,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "brainpoolP384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e01fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e",
+        "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e",
+        "wy" : "1fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e"
+      },
       "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200041d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e01fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABB0cZPBoz0X/oqY6gbfBP2uIR6Pn\nfvFP49t/yv4MvRDo6CbgNDbWRqrvh7LiR9SvHgH7AQ2CPqqDsquD77sWbIyyeGXf\n7mf+TzEV1MmGJef7no1hCBiLmWBExPzSCsuZPg==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-384",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "brainpoolP384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "1d1c64f068cf45ffa2a63a81b7c13f6b8847a3e77ef14fe3db7fcafe0cbd10e8e826e03436d646aaef87b2e247d4af1e",
-        "wy" : "1fb010d823eaa83b2ab83efbb166c8cb27865dfee67fe4f3115d4c98625e7fb9e8d6108188b996044c4fcd20acb993e"
-      },
       "tests" : [
         {
-          "tcId" : 892,
+          "tcId" : 988,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3065023100f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
@@ -13906,7 +16419,7 @@
           "flags" : []
         },
         {
-          "tcId" : 893,
+          "tcId" : 989,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "306402301fc115146e521d7ea33f3e128eb01db0f653dc45852c2b50301d639b778b13380e51d9366552cf2049156605d57adffc0230141a7212a99a58bc947b0fed7945771fde747ddcd8c2e7d07227c6a1cf6e4e85afe3d0f47d12407008812bb745dc0e7c",
@@ -13916,20 +16429,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000407310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc36226a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEBzEPkKnq4UmghAL1QZSg97SsQnv42b1s\ndoEHHcR9w2ImptN6xG1h/WAMC/G/+HaJ7RF92msOWTGK4BChl6JsoA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0407310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc36226a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0",
         "wx" : "7310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc362",
         "wy" : "26a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000407310f90a9eae149a08402f54194a0f7b4ac427bf8d9bd6c7681071dc47dc36226a6d37ac46d61fd600c0bf1bff87689ed117dda6b0e59318ae010a197a26ca0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEBzEPkKnq4UmghAL1QZSg97SsQnv42b1s\ndoEHHcR9w2ImptN6xG1h/WAMC/G/+HaJ7RF92msOWTGK4BChl6JsoA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 894,
+          "tcId" : 990,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "313233343030",
           "sig" : "30360211014551231950b75fc4402da1722fc9baeb022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
@@ -13937,7 +16451,7 @@
           "flags" : []
         },
         {
-          "tcId" : 895,
+          "tcId" : 991,
           "comment" : "r too large",
           "msg" : "313233343030",
           "sig" : "3046022100fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2c022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
@@ -13947,20 +16461,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvJfnWF7srUjhZoO8QJFwjhqTDGg/xHAB\n1LODWU8sTiJwWYnPadrq3U5OS4FR7YiN/sIPsBco2J1Ws/OPKunIxQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5",
         "wx" : "0bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22",
         "wy" : "705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bc97e7585eecad48e16683bc4091708e1a930c683fc47001d4b383594f2c4e22705989cf69daeadd4e4e4b8151ed888dfec20fb01728d89d56b3f38f2ae9c8c5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvJfnWF7srUjhZoO8QJFwjhqTDGg/xHAB\n1LODWU8sTiJwWYnPadrq3U5OS4FR7YiN/sIPsBco2J1Ws/OPKunIxQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 896,
+          "tcId" : 992,
           "comment" : "r,s are large",
           "msg" : "313233343030",
           "sig" : "3046022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413f022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd036413e",
@@ -13970,20 +16485,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERK0zmvvCHpq/e2AqXKU16jeBNbbRDYEx\nC92Ck9HfMlK2P/fQd0dw+P4dFyL6g6zQL0NOT8EQoMyPbd3TfVbEYw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463",
         "wx" : "44ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252",
         "wy" : "0b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444ad339afbc21e9abf7b602a5ca535ea378135b6d10d81310bdd8293d1df3252b63ff7d0774770f8fe1d1722fa83acd02f434e4fc110a0cc8f6dddd37d56c463",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERK0zmvvCHpq/e2AqXKU16jeBNbbRDYEx\nC92Ck9HfMlK2P/fQd0dw+P4dFyL6g6zQL0NOT8EQoMyPbd3TfVbEYw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 897,
+          "tcId" : 993,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203e9a7582886089c62fb840cf3b83061cd1cff3ae4341808bb5bdee6191174177",
@@ -13993,20 +16509,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEEmDCEiyeJE4a9RUb7eDDriO1TXxZaIHT\n7rrSHzfdh4xcmgwamt52c3qIEb1qf5KHyXjuOWqonBHkcinSzLVS8A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0",
         "wx" : "1260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c",
         "wy" : "5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041260c2122c9e244e1af5151bede0c3ae23b54d7c596881d3eebad21f37dd878c5c9a0c1a9ade76737a8811bd6a7f9287c978ee396aa89c11e47229d2ccb552f0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEEmDCEiyeJE4a9RUb7eDDriO1TXxZaIHT\n7rrSHzfdh4xcmgwamt52c3qIEb1qf5KHyXjuOWqonBHkcinSzLVS8A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 898,
+          "tcId" : 994,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022024238e70b431b1a64efdf9032669939d4b77f249503fc6905feb7540dea3e6d2",
@@ -14016,20 +16533,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGHcEW+JdNKHQYA+dXADQZFoqVDebbO76\n0ua/XCozUs6CGlMswXUe4dNtQcPWq06bFD5E7EbXNHjqanmlwOVBWQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159",
         "wx" : "1877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce",
         "wy" : "0821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041877045be25d34a1d0600f9d5c00d0645a2a54379b6ceefad2e6bf5c2a3352ce821a532cc1751ee1d36d41c3d6ab4e9b143e44ec46d73478ea6a79a5c0e54159",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGHcEW+JdNKHQYA+dXADQZFoqVDebbO76\n0ua/XCozUs6CGlMswXUe4dNtQcPWq06bFD5E7EbXNHjqanmlwOVBWQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 899,
+          "tcId" : 995,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020101",
@@ -14039,20 +16557,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERVQ5/MPS3uzt3q7OYOe9FzBPNuu2Aq31\noi4Ljx20alCuw4+yuvIh6ajRiHx79iIt0YNGNOdyYzFa9tI2CdBPdw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77",
         "wx" : "455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50",
         "wy" : "0aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004455439fcc3d2deeceddeaece60e7bd17304f36ebb602adf5a22e0b8f1db46a50aec38fb2baf221e9a8d1887c7bf6222dd1834634e77263315af6d23609d04f77",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERVQ5/MPS3uzt3q7OYOe9FzBPNuu2Aq31\noi4Ljx20alCuw4+yuvIh6ajRiHx79iIt0YNGNOdyYzFa9tI2CdBPdw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 900,
+          "tcId" : 996,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020102",
@@ -14062,20 +16581,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece7180449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELh9GawJMDDrOJDfeCRJ/7QS3BvlLGaIb\nscKs81zs5xgESa41I9clNOlklyz9OzivC93ZYZ5a8iPk0aQPNM+fHQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece7180449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d",
         "wx" : "2e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece718",
         "wy" : "449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042e1f466b024c0c3ace2437de09127fed04b706f94b19a21bb1c2acf35cece7180449ae3523d72534e964972cfd3b38af0bddd9619e5af223e4d1a40f34cf9f1d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELh9GawJMDDrOJDfeCRJ/7QS3BvlLGaIb\nscKs81zs5xgESa41I9clNOlklyz9OzivC93ZYZ5a8iPk0aQPNM+fHQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 901,
+          "tcId" : 997,
           "comment" : "small r and s",
           "msg" : "313233343030",
           "sig" : "3006020101020103",
@@ -14083,7 +16603,7 @@
           "flags" : []
         },
         {
-          "tcId" : 902,
+          "tcId" : 998,
           "comment" : "r is larger than n",
           "msg" : "313233343030",
           "sig" : "3026022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364142020103",
@@ -14093,20 +16613,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a25305adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE3aldewaY3l0tC08ANNvjW1D5ePzFGKhK\nv5yZ79lqJTBa3AjWpj2+gxq5nNkUbjxMRUkq0ZUhYSVCJW1q9g54iA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a25305adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888",
         "wx" : "0dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a2530",
         "wy" : "5adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004dda95d7b0698de5d2d0b4f0034dbe35b50f978fcc518a84abf9c99efd96a25305adc08d6a63dbe831ab99cd9146e3c4c45492ad19521612542256d6af60e7888",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE3aldewaY3l0tC08ANNvjW1D5ePzFGKhK\nv5yZ79lqJTBa3AjWpj2+gxq5nNkUbjxMRUkq0ZUhYSVCJW1q9g54iA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 903,
+          "tcId" : 999,
           "comment" : "s is larger than n",
           "msg" : "313233343030",
           "sig" : "3026020101022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd04917c8",
@@ -14116,20 +16637,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000402ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee777eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAu9NbWz9WpTx13hCJuPipsCkNsVYOWGf\nOPtEcrX57nd+tKzU7r2lzXKHX/0qLyYinC3GtGUAkZpDLIZznzroZg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0402ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee777eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866",
         "wx" : "2ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee77",
         "wy" : "7eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000402ef4d6d6cfd5a94f1d7784226e3e2a6c0a436c55839619f38fb4472b5f9ee777eb4acd4eebda5cd72875ffd2a2f26229c2dc6b46500919a432c86739f3ae866",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAu9NbWz9WpTx13hCJuPipsCkNsVYOWGf\nOPtEcrX57nd+tKzU7r2lzXKHX/0qLyYinC3GtGUAkZpDLIZznzroZg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 904,
+          "tcId" : 1000,
           "comment" : "small r and s^-1",
           "msg" : "313233343030",
           "sig" : "302702020101022100c58b162c58b162c58b162c58b162c58a1b242973853e16db75c8a1a71da4d39d",
@@ -14139,20 +16661,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERk9P9xVynK5Qcso72AHTGVtnrsZemwGq\n0gopQ9y8tYSxr9KdMaOaEdVwqhWXQ5s7LRlxvy8avxVDLQIHsQ0dCA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08",
         "wx" : "464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584",
         "wy" : "0b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004464f4ff715729cae5072ca3bd801d3195b67aec65e9b01aad20a2943dcbcb584b1afd29d31a39a11d570aa1597439b3b2d1971bf2f1abf15432d0207b10d1d08",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERk9P9xVynK5Qcso72AHTGVtnrsZemwGq\n0gopQ9y8tYSxr9KdMaOaEdVwqhWXQ5s7LRlxvy8avxVDLQIHsQ0dCA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 905,
+          "tcId" : 1001,
           "comment" : "smallish r and s^-1",
           "msg" : "313233343030",
           "sig" : "302c02072d9b4d347952cc022100fcbc5103d0da267477d1791461cf2aa44bf9d43198f79507bd8779d69a13108e",
@@ -14162,20 +16685,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4cdeadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEFX+P3fNz619Jz88Q2LhTz5HLzX1mXDUi\nun3XON23mkzerfGlxEjqPJ9BkaiZmr/MdXrG1kVn7wcsR/7GE0Q7jw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4cdeadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f",
         "wx" : "157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4c",
         "wy" : "0deadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004157f8fddf373eb5f49cfcf10d8b853cf91cbcd7d665c3522ba7dd738ddb79a4cdeadf1a5c448ea3c9f4191a8999abfcc757ac6d64567ef072c47fec613443b8f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEFX+P3fNz619Jz88Q2LhTz5HLzX1mXDUi\nun3XON23mkzerfGlxEjqPJ9BkaiZmr/MdXrG1kVn7wcsR/7GE0Q7jw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 906,
+          "tcId" : 1002,
           "comment" : "100-bit r and small s^-1",
           "msg" : "313233343030",
           "sig" : "3032020d1033e67e37b32b445580bf4efc022100906f906f906f906f906f906f906f906ed8e426f7b1968c35a204236a579723d2",
@@ -14185,20 +16709,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200040934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAECTSlN0ZsB0MOLEj+uZC7Gft4zsyc7kJO\npNEwKRqiN/DU+S0jtGKAS1toxSVYwByZltv3J/zKu+7bliGkAFNa+g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa",
         "wx" : "0934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0",
         "wy" : "0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200040934a537466c07430e2c48feb990bb19fb78cecc9cee424ea4d130291aa237f0d4f92d23b462804b5b68c52558c01c9996dbf727fccabbeedb9621a400535afa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAECTSlN0ZsB0MOLEj+uZC7Gft4zsyc7kJO\npNEwKRqiN/DU+S0jtGKAS1toxSVYwByZltv3J/zKu+7bliGkAFNa+g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 907,
+          "tcId" : 1003,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "313233343030",
           "sig" : "3026020201010220783266e90f43dafe5cd9b3b0be86de22f9de83677d0f50713a468ec72fcf5d57",
@@ -14208,20 +16733,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c654a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1u8gvmbIk/dBqb+Q2bdGddHCoxKWOXrL\nPvF0/QswDGVKDJVHjKADmRYtfw8tyJ79wrKKMPur4oWFcpWksMTiZQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c654a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265",
         "wx" : "0d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c65",
         "wy" : "4a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d6ef20be66c893f741a9bf90d9b74675d1c2a31296397acb3ef174fd0b300c654a0c95478ca00399162d7f0f2dc89efdc2b28a30fbabe285857295a4b0c4e265",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1u8gvmbIk/dBqb+Q2bdGddHCoxKWOXrL\nPvF0/QswDGVKDJVHjKADmRYtfw8tyJ79wrKKMPur4oWFcpWksMTiZQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 908,
+          "tcId" : 1004,
           "comment" : "100-bit r and s^-1",
           "msg" : "313233343030",
           "sig" : "3031020d062522bbd3ecbe7c39e93e7c260220783266e90f43dafe5cd9b3b0be86de22f9de83677d0f50713a468ec72fcf5d57",
@@ -14231,20 +16757,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee0629c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEtykdFATgwMB9q5NyGJ9L1Y0s6qjRXt5U\nTZUUVFup7gYpyaY9XjCHacww7CdqQQ5kZKJ+6v2eWZ2xDwU6T+SoKQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee0629c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829",
         "wx" : "0b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee06",
         "wy" : "29c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004b7291d1404e0c0c07dab9372189f4bd58d2ceaa8d15ede544d9514545ba9ee0629c9a63d5e308769cc30ec276a410e6464a27eeafd9e599db10f053a4fe4a829",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEtykdFATgwMB9q5NyGJ9L1Y0s6qjRXt5U\nTZUUVFup7gYpyaY9XjCHacww7CdqQQ5kZKJ+6v2eWZ2xDwU6T+SoKQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 909,
+          "tcId" : 1005,
           "comment" : "r and s^-1 are close to n",
           "msg" : "313233343030",
           "sig" : "3045022100fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd03640c1022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
@@ -14254,20 +16781,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEu3n2GFf3Q7+htucRHOQJQ3claWnk4VFZ\nEj2VSKzDvmwfnZ+IYNz/0+s23Wwx/y5yJsIAnEyU2NfStWhr96vWdw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677",
         "wx" : "0bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c",
         "wy" : "1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bb79f61857f743bfa1b6e7111ce4094377256969e4e15159123d9548acc3be6c1f9d9f8860dcffd3eb36dd6c31ff2e7226c2009c4c94d8d7d2b5686bf7abd677",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEu3n2GFf3Q7+htucRHOQJQ3claWnk4VFZ\nEj2VSKzDvmwfnZ+IYNz/0+s23Wwx/y5yJsIAnEyU2NfStWhr96vWdw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 910,
+          "tcId" : 1006,
           "comment" : "s == 1",
           "msg" : "313233343030",
           "sig" : "3025022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c1020101",
@@ -14275,7 +16803,7 @@
           "flags" : []
         },
         {
-          "tcId" : 911,
+          "tcId" : 1007,
           "comment" : "s == 0",
           "msg" : "313233343030",
           "sig" : "3025022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c1020100",
@@ -14285,20 +16813,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b415087401b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1TO3iaSviQ+nqCofrljEBPmmKlC0mtr6\ns0nFE7QVCHQBtBcbgD52s0qYYeEPe8KJoGb9Ab0p+EyYehCl+xjC1A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b415087401b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4",
         "wx" : "0d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b4150874",
         "wy" : "1b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d533b789a4af890fa7a82a1fae58c404f9a62a50b49adafab349c513b415087401b4171b803e76b34a9861e10f7bc289a066fd01bd29f84c987a10a5fb18c2d4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE1TO3iaSviQ+nqCofrljEBPmmKlC0mtr6\ns0nFE7QVCHQBtBcbgD52s0qYYeEPe8KJoGb9Ab0p+EyYehCl+xjC1A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 912,
+          "tcId" : 1008,
           "comment" : "point at infinity during verify",
           "msg" : "313233343030",
           "sig" : "304402207fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
@@ -14308,20 +16837,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82ce87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/rUWOw7OMP8+A8fVXEOA+i+oHuLANUlC\n/28IyZ0M2CzofeBe4b2gidPk4kj6D3IRAqz//fUOZUvigUM5md+Jfg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82ce87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e",
         "wx" : "0feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82c",
         "wy" : "0e87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004feb5163b0ece30ff3e03c7d55c4380fa2fa81ee2c0354942ff6f08c99d0cd82ce87de05ee1bda089d3e4e248fa0f721102acfffdf50e654be281433999df897e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/rUWOw7OMP8+A8fVXEOA+i+oHuLANUlC\n/28IyZ0M2CzofeBe4b2gidPk4kj6D3IRAqz//fUOZUvigUM5md+Jfg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 913,
+          "tcId" : 1009,
           "comment" : "u1 == 1",
           "msg" : "313233343030",
           "sig" : "3045022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
@@ -14331,20 +16861,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd414922897640683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEI4ztABzyK4hT4C7cicvspQULp+BCp6d/\nk4LNQUkiiXZAaD0wlGQ4QPKViQqkwYqjm0HXfdD7O7JwDk+ewoT/wg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd414922897640683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2",
         "wx" : "238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd4149228976",
         "wy" : "40683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004238ced001cf22b8853e02edc89cbeca5050ba7e042a7a77f9382cd414922897640683d3094643840f295890aa4c18aa39b41d77dd0fb3bb2700e4f9ec284ffc2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEI4ztABzyK4hT4C7cicvspQULp+BCp6d/\nk4LNQUkiiXZAaD0wlGQ4QPKViQqkwYqjm0HXfdD7O7JwDk+ewoT/wg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 914,
+          "tcId" : 1010,
           "comment" : "u1 == n - 1",
           "msg" : "313233343030",
           "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e",
@@ -14354,20 +16885,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35ed2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAElhz2SBfAbA5Rs8JzbJIv3hi9jEkG/Nf1\n72bEZ4UI817SxdGBaM++cPLxI710GSMruS3WkRPilBBhiJSBxaAnvw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35ed2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf",
         "wx" : "0961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35e",
         "wy" : "0d2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004961cf64817c06c0e51b3c2736c922fde18bd8c4906fcd7f5ef66c4678508f35ed2c5d18168cfbe70f2f123bd7419232bb92dd69113e2941061889481c5a027bf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAElhz2SBfAbA5Rs8JzbJIv3hi9jEkG/Nf1\n72bEZ4UI817SxdGBaM++cPLxI710GSMruS3WkRPilBBhiJSBxaAnvw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 915,
+          "tcId" : 1011,
           "comment" : "u2 == 1",
           "msg" : "313233343030",
           "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8",
@@ -14377,20 +16909,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000413681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b1028816528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEE2gerhaM1Op88uKkXQUnQtEKn2TnloZ9\nvcuCn+CxAogWUodg0Xc3bAnfed45VXwynMF1NRes/+j6LsKYAmuDhA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0413681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b1028816528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384",
         "wx" : "13681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b10288",
         "wy" : "16528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000413681eae168cd4ea7cf2e2a45d052742d10a9f64e796867dbdcb829fe0b1028816528760d177376c09df79de39557c329cc1753517acffe8fa2ec298026b8384",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEE2gerhaM1Op88uKkXQUnQtEKn2TnloZ9\nvcuCn+CxAogWUodg0Xc3bAnfed45VXwynMF1NRes/+j6LsKYAmuDhA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 916,
+          "tcId" : 1012,
           "comment" : "u2 == n - 1",
           "msg" : "313233343030",
           "sig" : "3045022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215b8022100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9d1c9e899ca306ad27fe1945de0242b89",
@@ -14400,20 +16933,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c291c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEWqer/ba0CG1UMyXl15xulc5C+GbSu4SQ\nljOgS7GqMcKRyACIeUkF4dozM22HTi+RzPRcxZGFvt5d1vP3rKrhiw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c291c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b",
         "wx" : "5aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c2",
         "wy" : "091c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045aa7abfdb6b4086d543325e5d79c6e95ce42f866d2bb84909633a04bb1aa31c291c80088794905e1da33336d874e2f91ccf45cc59185bede5dd6f3f7acaae18b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEWqer/ba0CG1UMyXl15xulc5C+GbSu4SQ\nljOgS7GqMcKRyACIeUkF4dozM22HTi+RzPRcxZGFvt5d1vP3rKrhiw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 917,
+          "tcId" : 1013,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100e91e1ba6ba898620a46bcb51dc0b8b4ad1dc35dad892c4552d1847b2ce444637",
@@ -14423,20 +16957,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000400277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e464108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEACd3kbMFpFsrOVkLLwXTOSpsgYLO9OtU\nASDg9cIGw+RkEIIz+wuMOsiS15744Pv5LtEzrdtFVCcBMlhNxS7vQQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e464108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41",
         "wx" : "277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e4",
         "wy" : "64108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000400277791b305a45b2b39590b2f05d3392a6c8182cef4eb540120e0f5c206c3e464108233fb0b8c3ac892d79ef8e0fbf92ed133addb4554270132584dc52eef41",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEACd3kbMFpFsrOVkLLwXTOSpsgYLO9OtU\nASDg9cIGw+RkEIIz+wuMOsiS15744Pv5LtEzrdtFVCcBMlhNxS7vQQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 918,
+          "tcId" : 1014,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100e36bf0cec06d9b841da81332812f74f30bbaec9f202319206c6f0b8a0a400ff7",
@@ -14446,20 +16981,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1ac75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbvoJK2jelGDwvMkZAFpfboDhnemJaL48\n0sdwqZSb+xrHXm5Qh9ZVDV+b6x555QKTB7wlUjXi1dyZJBrDq4hsSQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1ac75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49",
         "wx" : "6efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1a",
         "wy" : "0c75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046efa092b68de9460f0bcc919005a5f6e80e19de98968be3cd2c770a9949bfb1ac75e6e5087d6550d5f9beb1e79e5029307bc255235e2d5dc99241ac3ab886c49",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbvoJK2jelGDwvMkZAFpfboDhnemJaL48\n0sdwqZSb+xrHXm5Qh9ZVDV+b6x555QKTB7wlUjXi1dyZJBrDq4hsSQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 919,
+          "tcId" : 1015,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ea26b57af884b6c06e348efe139c1e4e9ec9518d60c340f6bac7d278ca08d8a6",
@@ -14469,20 +17005,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000472d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEctShnE+dLPWEjqQERbcNRpa18C1jLAxl\nTMfX7rDG0FjoxM2ZQ+RZF0x6wB+nQhmOR+bBmmvbDE9sI3gxwbP5Qg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0472d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942",
         "wx" : "72d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058",
         "wy" : "0e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000472d4a19c4f9d2cf5848ea40445b70d4696b5f02d632c0c654cc7d7eeb0c6d058e8c4cd9943e459174c7ac01fa742198e47e6c19a6bdb0c4f6c237831c1b3f942",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEctShnE+dLPWEjqQERbcNRpa18C1jLAxl\nTMfX7rDG0FjoxM2ZQ+RZF0x6wB+nQhmOR+bBmmvbDE9sI3gxwbP5Qg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 920,
+          "tcId" : 1016,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205b1d27a7694c146244a5ad0bd0636d9d9ef3b9fb58385418d9c982105077d1b7",
@@ -14492,20 +17029,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e740258f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEKo6i9Q3M7QwhdXW9+nzUfRxvEABB7A41\nUSeUwb5+dAJY+MFxIu0wP9pxQ+tYvt5wKVtlMmYBOwsOvT8FMTf27A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e740258f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec",
         "wx" : "2a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e7402",
         "wy" : "58f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042a8ea2f50dcced0c217575bdfa7cd47d1c6f100041ec0e35512794c1be7e740258f8c17122ed303fda7143eb58bede70295b653266013b0b0ebd3f053137f6ec",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEKo6i9Q3M7QwhdXW9+nzUfRxvEABB7A41\nUSeUwb5+dAJY+MFxIu0wP9pxQ+tYvt5wKVtlMmYBOwsOvT8FMTf27A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 921,
+          "tcId" : 1017,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100d27a7694c146244a5ad0bd0636d9e12abe687897e8e9998ddbd4e59a78520d0f",
@@ -14515,20 +17053,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000488de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b80c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiN5onOmvHpS+aiCJyKixJT/9u2yOnIYk\nm6IgABpK07gMSZjlSEL0E7ntsYJay7YzXoHk0YSysByL69yF0fKJRg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0488de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b80c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946",
         "wx" : "088de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b8",
         "wy" : "0c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000488de689ce9af1e94be6a2089c8a8b1253ffdbb6c8e9c86249ba220001a4ad3b80c4998e54842f413b9edb1825acbb6335e81e4d184b2b01c8bebdc85d1f28946",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiN5onOmvHpS+aiCJyKixJT/9u2yOnIYk\nm6IgABpK07gMSZjlSEL0E7ntsYJay7YzXoHk0YSysByL69yF0fKJRg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 922,
+          "tcId" : 1018,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100a4f4ed29828c4894b5a17a0c6db3c256c2221449228a92dff7d76ca8206dd8dd",
@@ -14538,20 +17077,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/qLTH3D5DV+z4A4YasQqs8FhXO5xTgtO\nETGz1NgiW/ewN6GN8qwVND8w90Bn3fKegX1fd/jc4FcU2lnAlPDNqQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9",
         "wx" : "0fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7",
         "wy" : "0b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004fea2d31f70f90d5fb3e00e186ac42ab3c1615cee714e0b4e1131b3d4d8225bf7b037a18df2ac15343f30f74067ddf29e817d5f77f8dce05714da59c094f0cda9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE/qLTH3D5DV+z4A4YasQqs8FhXO5xTgtO\nETGz1NgiW/ewN6GN8qwVND8w90Bn3fKegX1fd/jc4FcU2lnAlPDNqQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 923,
+          "tcId" : 1019,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220694c146244a5ad0bd0636d9e12bc9e09e60e68b90d0b5e6c5dddd0cb694d8799",
@@ -14561,20 +17101,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200047258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEcliRHj1CM0kWZHnb4Lg0Gvf70D0KfhDt\nzLNrbO6lo9sXrCuJknkRKPo7ltwvvUyjv6eC7ygy/GZWlD2xjnNGsA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0",
         "wx" : "7258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db",
         "wy" : "17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200047258911e3d423349166479dbe0b8341af7fbd03d0a7e10edccb36b6ceea5a3db17ac2b8992791128fa3b96dc2fbd4ca3bfa782ef2832fc6656943db18e7346b0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEcliRHj1CM0kWZHnb4Lg0Gvf70D0KfhDt\nzLNrbO6lo9sXrCuJknkRKPo7ltwvvUyjv6eC7ygy/GZWlD2xjnNGsA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 924,
+          "tcId" : 1020,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02203d7f487c07bfc5f30846938a3dcef696444707cf9677254a92b06c63ab867d22",
@@ -14584,20 +17125,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAETyhGHepkR01rs00Umcl9N7npVjPfHO7q\nrNRQFsmLORTIgYgQuMwG3bQOihJhxSj6pYlFXVpt+Tt3vF4OSTx0cA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470",
         "wx" : "4f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914",
         "wy" : "0c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200044f28461dea64474d6bb34d1499c97d37b9e95633df1ceeeaacd45016c98b3914c8818810b8cc06ddb40e8a1261c528faa589455d5a6df93b77bc5e0e493c7470",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAETyhGHepkR01rs00Umcl9N7npVjPfHO7q\nrNRQFsmLORTIgYgQuMwG3bQOihJhxSj6pYlFXVpt+Tt3vF4OSTx0cA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 925,
+          "tcId" : 1021,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206c7648fc0fbf8a06adb8b839f97b4ff7a800f11b1e37c593b261394599792ba4",
@@ -14607,20 +17149,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000474f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEdPKoFPtdjsqRppteYHEnMrOTfeMoKb6X\nTte2jFwvXWbv8PB8VvmHplf0IZYgX1iMDx2W/YpjpfI4tI9Hh4j+Ow==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0474f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b",
         "wx" : "74f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66",
         "wy" : "0eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000474f2a814fb5d8eca91a69b5e60712732b3937de32829be974ed7b68c5c2f5d66eff0f07c56f987a657f42196205f588c0f1d96fd8a63a5f238b48f478788fe3b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEdPKoFPtdjsqRppteYHEnMrOTfeMoKb6X\nTte2jFwvXWbv8PB8VvmHplf0IZYgX1iMDx2W/YpjpfI4tI9Hh4j+Ow==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 926,
+          "tcId" : 1022,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0221009be363a286f23f6322c205449d320baad417953ecb70f6214e90d49d7d1f26a8",
@@ -14630,20 +17173,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6ab2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGVtRp8xKIbgnSnCpDed5gUw8jKNYMoII\nwJop8za4LWqyQWt8kv/9wpw7EoLdKnek0E3390UgRzk9hJmJxc7prQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6ab2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad",
         "wx" : "195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6a",
         "wy" : "0b2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004195b51a7cc4a21b8274a70a90de779814c3c8ca358328208c09a29f336b82d6ab2416b7c92fffdc29c3b1282dd2a77a4d04df7f7452047393d849989c5cee9ad",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGVtRp8xKIbgnSnCpDed5gUw8jKNYMoII\nwJop8za4LWqyQWt8kv/9wpw7EoLdKnek0E3390UgRzk9hJmJxc7prQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 927,
+          "tcId" : 1023,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022029798c5c45bdf58b4a7b2fdc2c46ab4af1218c7eeb9f0f27a88f1267674de3b0",
@@ -14653,20 +17197,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYi/HRzIDS+wt3zvBbTSz0fejJ90qjBm6\ntLtP46JLWKpzay8vrnb0367MkJYzOwEyjVHrP9qckifpDQtEmYPE8A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0",
         "wx" : "622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa",
         "wy" : "736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004622fc74732034bec2ddf3bc16d34b3d1f7a327dd2a8c19bab4bb4fe3a24b58aa736b2f2fae76f4dfaecc9096333b01328d51eb3fda9c9227e90d0b449983c4f0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYi/HRzIDS+wt3zvBbTSz0fejJ90qjBm6\ntLtP46JLWKpzay8vrnb0367MkJYzOwEyjVHrP9qckifpDQtEmYPE8A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 928,
+          "tcId" : 1024,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02200b70f22ca2bb3cefadca1a5711fa3a59f4695385eb5aedf3495d0b6d00f8fd85",
@@ -14676,20 +17221,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c70827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEH3+FyvLXVQ56+bZQI+u03ONFAxFpIwnb\nJplpuDS2EccIJ/RbeAIOy7r0hP3Vv6rmhw8RhMIVgbr274K9e1MPkw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c70827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93",
         "wx" : "1f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c7",
         "wy" : "0827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041f7f85caf2d7550e7af9b65023ebb4dce3450311692309db269969b834b611c70827f45b78020ecbbaf484fdd5bfaae6870f1184c21581baf6ef82bd7b530f93",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEH3+FyvLXVQ56+bZQI+u03ONFAxFpIwnb\nJplpuDS2EccIJ/RbeAIOy7r0hP3Vv6rmhw8RhMIVgbr274K9e1MPkw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 929,
+          "tcId" : 1025,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022016e1e459457679df5b9434ae23f474b3e8d2a70bd6b5dbe692ba16da01f1fb0a",
@@ -14699,20 +17245,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000449c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377aefc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEScGX3ICtHaR6Q0K5OJPo4fsLuU/DOoPn\ng8ALJMeBN3rvwg2pK6x2KVH3JHS+zHNNTMIrqBuJXigv2sTfevDzfQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0449c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377aefc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d",
         "wx" : "49c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377a",
         "wy" : "0efc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000449c197dc80ad1da47a4342b93893e8e1fb0bb94fc33a83e783c00b24c781377aefc20da92bac762951f72474becc734d4cc22ba81b895e282fdac4df7af0f37d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEScGX3ICtHaR6Q0K5OJPo4fsLuU/DOoPn\ng8ALJMeBN3rvwg2pK6x2KVH3JHS+zHNNTMIrqBuJXigv2sTfevDzfQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 930,
+          "tcId" : 1026,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202252d685e831b6cf095e4f0535eeaf0ddd3bfa91c210c9d9dc17224702eaf88f",
@@ -14722,20 +17269,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2MtoUXthalZACqOGhjXlS29plZii9hZ3\nV2VJgLr2rL5+yM9EnISaoDRhow762kFFPFfG5vvJO7xvpJrabcBVXA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c",
         "wx" : "0d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe",
         "wy" : "7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d8cb68517b616a56400aa3868635e54b6f699598a2f6167757654980baf6acbe7ec8cf449c849aa03461a30efada41453c57c6e6fbc93bbc6fa49ada6dc0555c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2MtoUXthalZACqOGhjXlS29plZii9hZ3\nV2VJgLr2rL5+yM9EnISaoDRhow762kFFPFfG5vvJO7xvpJrabcBVXA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 931,
+          "tcId" : 1027,
           "comment" : "edge case for u1",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022075135abd7c425b60371a477f09ce0f274f64a8c6b061a07b5d63e93c65046c53",
@@ -14745,20 +17293,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004030713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAwcT+2Pyqm/iyt8bIO/CWcd0Rdr6h9rD\nmLhAZco0ffOyJ4GN4aObWJywcdg+UxfMzcIzjlHjEv4x2Nw0pIAXUA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04030713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750",
         "wx" : "30713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3",
         "wy" : "0b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004030713fb63f2aa6fe2cadf1b20efc259c77445dafa87dac398b84065ca347df3b227818de1a39b589cb071d83e5317cccdc2338e51e312fe31d8dc34a4801750",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAwcT+2Pyqm/iyt8bIO/CWcd0Rdr6h9rD\nmLhAZco0ffOyJ4GN4aObWJywcdg+UxfMzcIzjlHjEv4x2Nw0pIAXUA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 932,
+          "tcId" : 1028,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100d55555555555555555555555555555547c74934474db157d2a8c3f088aced62a",
@@ -14768,20 +17317,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEurs2d7CVWALY6SmkE1VkDq8eoTU/incT\nMcSUbjSAr6clLxlsh+09KlnTsbVZE3/tABP+zvwZ+1qSaCubylG5UA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950",
         "wx" : "0babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7",
         "wy" : "252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004babb3677b0955802d8e929a41355640eaf1ea1353f8a771331c4946e3480afa7252f196c87ed3d2a59d3b1b559137fed0013fecefc19fb5a92682b9bca51b950",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEurs2d7CVWALY6SmkE1VkDq8eoTU/incT\nMcSUbjSAr6clLxlsh+09KlnTsbVZE3/tABP+zvwZ+1qSaCubylG5UA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 933,
+          "tcId" : 1029,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100c1777c8853938e536213c02464a936000ba1e21c0fc62075d46c624e23b52f31",
@@ -14791,20 +17341,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGqsgGHk0cREaig6bFD/eAvyVkgeW06Y9\n4ym0JDlvumC75BMHBRdHkkQbMY06ox3+hXeCHptEbsVz0nLgNsTr6Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "041aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9",
         "wx" : "1aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60",
         "wy" : "0bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041aab2018793471111a8a0e9b143fde02fc95920796d3a63de329b424396fba60bbe4130705174792441b318d3aa31dfe8577821e9b446ec573d272e036c4ebe9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEGqsgGHk0cREaig6bFD/eAvyVkgeW06Y9\n4ym0JDlvumC75BMHBRdHkkQbMY06ox3+hXeCHptEbsVz0nLgNsTr6Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 934,
+          "tcId" : 1030,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022030bbb794db588363b40679f6c182a50d3ce9679acdd3ffbe36d7813dacbdc818",
@@ -14814,20 +17365,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjLC5CUmcg+qAbNiFsd1GegEZ8GqIoCdu\nsM/aJ0U1qP9HtUKIM7w/LIv52QQRWM8zcYpplhzQFym8ABHR5YardQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75",
         "wx" : "08cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff",
         "wy" : "47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048cb0b909499c83ea806cd885b1dd467a0119f06a88a0276eb0cfda274535a8ff47b5428833bc3f2c8bf9d9041158cf33718a69961cd01729bc0011d1e586ab75",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjLC5CUmcg+qAbNiFsd1GegEZ8GqIoCdu\nsM/aJ0U1qP9HtUKIM7w/LIv52QQRWM8zcYpplhzQFym8ABHR5YardQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 935,
+          "tcId" : 1031,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202c37fd995622c4fb7fffffffffffffffc7cee745110cb45ab558ed7c90c15a2f",
@@ -14837,20 +17389,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjwPPGkInK7FTJyMJP3Lm/urIXhcA6fvp\npqLdZC10v107iacYna2M91/CL28ViqJ/nCygDaynhb4zWPK9o4YsoA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0",
         "wx" : "08f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d",
         "wy" : "3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048f03cf1a42272bb1532723093f72e6feeac85e1700e9fbe9a6a2dd642d74bf5d3b89a7189dad8cf75fc22f6f158aa27f9c2ca00daca785be3358f2bda3862ca0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEjwPPGkInK7FTJyMJP3Lm/urIXhcA6fvp\npqLdZC10v107iacYna2M91/CL28ViqJ/nCygDaynhb4zWPK9o4YsoA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 936,
+          "tcId" : 1032,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02207fd995622c4fb7ffffffffffffffffff5d883ffab5b32652ccdcaa290fccb97d",
@@ -14860,20 +17413,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8acea2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERN47nHpXqMnoIJUnU0IefZh7s9efcfAT\ngFyJfgGPis6iRgdYyPmNP9zhIalDZZ43LDJv/y5fwq5/o/edquE8Eg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8acea2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12",
         "wx" : "44de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8ace",
         "wy" : "0a2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000444de3b9c7a57a8c9e820952753421e7d987bb3d79f71f013805c897e018f8acea2460758c8f98d3fdce121a943659e372c326fff2e5fc2ae7fa3f79daae13c12",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAERN47nHpXqMnoIJUnU0IefZh7s9efcfAT\ngFyJfgGPis6iRgdYyPmNP9zhIalDZZ43LDJv/y5fwq5/o/edquE8Eg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 937,
+          "tcId" : 1033,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100ffb32ac4589f6ffffffffffffffffffebb107ff56b664ca599b954521f9972fa",
@@ -14883,20 +17437,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEb7iytI4zAxJorWpRdITciDnqkPZmnqDH\nrDIz4qwxOUoKyLvn9zwv9N+ZeHJ6wd/C/VhkfSDzH5kQUxa2RnHyBA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204",
         "wx" : "6fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a",
         "wy" : "0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046fb8b2b48e33031268ad6a517484dc8839ea90f6669ea0c7ac3233e2ac31394a0ac8bbe7f73c2ff4df9978727ac1dfc2fd58647d20f31f99105316b64671f204",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEb7iytI4zAxJorWpRdITciDnqkPZmnqDH\nrDIz4qwxOUoKyLvn9zwv9N+ZeHJ6wd/C/VhkfSDzH5kQUxa2RnHyBA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 938,
+          "tcId" : 1034,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02205622c4fb7fffffffffffffffffffffff928a8f1c7ac7bec1808b9f61c01ec327",
@@ -14906,20 +17461,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvqcRIqBIaT6QX/YCs8+d0Yr2m5/J2EMd\nKx3Sa5Qsleb0PHuLletiCCwS2529p/445Fy+SkiGkH+4G9sMXqkkbA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c",
         "wx" : "0bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6",
         "wy" : "0f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004bea71122a048693e905ff602b3cf9dd18af69b9fc9d8431d2b1dd26b942c95e6f43c7b8b95eb62082c12db9dbda7fe38e45cbe4a4886907fb81bdb0c5ea9246c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEvqcRIqBIaT6QX/YCs8+d0Yr2m5/J2EMd\nKx3Sa5Qsleb0PHuLletiCCwS2529p/445Fy+SkiGkH+4G9sMXqkkbA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 939,
+          "tcId" : 1035,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022044104104104104104104104104104103b87853fd3b7d3f8e175125b4382f25ed",
@@ -14929,20 +17485,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2pGMcxugaiDLlO8zt3jpgaQEowXxlB/j\nNma0WwM1MVbiuyaU9XW0UYO+eOXJtSEL879Ij9TIKUUW2JVyyk9TkQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391",
         "wx" : "0da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156",
         "wy" : "0e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004da918c731ba06a20cb94ef33b778e981a404a305f1941fe33666b45b03353156e2bb2694f575b45183be78e5c9b5210bf3bf488fd4c8294516d89572ca4f5391",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE2pGMcxugaiDLlO8zt3jpgaQEowXxlB/j\nNma0WwM1MVbiuyaU9XW0UYO+eOXJtSEL879Ij9TIKUUW2JVyyk9TkQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 940,
+          "tcId" : 1036,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202739ce739ce739ce739ce739ce739ce705560298d1f2f08dc419ac273a5b54d9",
@@ -14952,20 +17509,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEMAfpLDk32t55ZN+jWw7/Ax9+sCrtCgMU\nQREGzetw/j1adUb8BVKZeyDj1vQT514stm4RYyJpcRS3m6xzS/xNxQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5",
         "wx" : "3007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d",
         "wy" : "5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043007e92c3937dade7964dfa35b0eff031f7eb02aed0a0314411106cdeb70fe3d5a7546fc0552997b20e3d6f413e75e2cb66e116322697114b79bac734bfc4dc5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEMAfpLDk32t55ZN+jWw7/Ax9+sCrtCgMU\nQREGzetw/j1adUb8BVKZeyDj1vQT514stm4RYyJpcRS3m6xzS/xNxQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 941,
+          "tcId" : 1037,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100b777777777777777777777777777777688e6a1fe808a97a348671222ff16b863",
@@ -14975,20 +17533,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000460e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9bd2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYOc071Yk08vw3dN1ARvWY9bWrrxkTrWZ\n/fmNvc0YzpvS2Qs6wx8TmvgyzM9sy7ssbqEfqXNw3JkG2kdNfYp1Zw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0460e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9bd2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567",
         "wx" : "60e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9b",
         "wy" : "0d2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000460e734ef5624d3cbf0ddd375011bd663d6d6aebc644eb599fdf98dbdcd18ce9bd2d90b3ac31f139af832cccf6ccbbb2c6ea11fa97370dc9906da474d7d8a7567",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEYOc071Yk08vw3dN1ARvWY9bWrrxkTrWZ\n/fmNvc0YzpvS2Qs6wx8TmvgyzM9sy7ssbqEfqXNw3JkG2kdNfYp1Zw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 942,
+          "tcId" : 1038,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02206492492492492492492492492492492406dd3a19b8d5fb875235963c593bd2d3",
@@ -14998,20 +17557,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000485a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba33769744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEhakA6XhY9pPAt9+iYeOA2tbqBG0fZd3u\n7dX32K8LozdpdE0VrdT2wLw7DaKuyTs0y4xl+TQN33TnsACe7szOPA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0485a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba33769744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c",
         "wx" : "085a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba337",
         "wy" : "69744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000485a900e97858f693c0b7dfa261e380dad6ea046d1f65ddeeedd5f7d8af0ba33769744d15add4f6c0bc3b0da2aec93b34cb8c65f9340ddf74e7b0009eeeccce3c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEhakA6XhY9pPAt9+iYeOA2tbqBG0fZd3u\n7dX32K8LozdpdE0VrdT2wLw7DaKuyTs0y4xl+TQN33TnsACe7szOPA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 943,
+          "tcId" : 1039,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100955555555555555555555555555555547c74934474db157d2a8c3f088aced62c",
@@ -15021,20 +17581,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000438066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEOAZvddiO/EyT3jb0ngN7I0zBix3lYIdQ\npiyrA0VAEEaj6EvtjPy4Ge9NVQRE8s5LZRdmtp4uKQH4iDb/kANP7Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0438066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed",
         "wx" : "38066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046",
         "wy" : "0a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000438066f75d88efc4c93de36f49e037b234cc18b1de5608750a62cab0345401046a3e84bed8cfcb819ef4d550444f2ce4b651766b69e2e2901f88836ff90034fed",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEOAZvddiO/EyT3jb0ngN7I0zBix3lYIdQ\npiyrA0VAEEaj6EvtjPy4Ge9NVQRE8s5LZRdmtp4uKQH4iDb/kANP7Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 944,
+          "tcId" : 1040,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc02202aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa3e3a49a23a6d8abe95461f8445676b17",
@@ -15044,20 +17605,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000498f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabfa33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEmPaBd9yVwbTL+lJFSIylI6fVYpRw0DXW\nIaRDxy85qr+jPSlUb6HGSPLH1cz3DPHOSrebXbGsBZ2+zQaNvf8biQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0498f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabfa33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89",
         "wx" : "098f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabf",
         "wy" : "0a33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000498f68177dc95c1b4cbfa5245488ca523a7d5629470d035d621a443c72f39aabfa33d29546fa1c648f2c7d5ccf70cf1ce4ab79b5db1ac059dbecd068dbdff1b89",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEmPaBd9yVwbTL+lJFSIylI6fVYpRw0DXW\nIaRDxy85qr+jPSlUb6HGSPLH1cz3DPHOSrebXbGsBZ2+zQaNvf8biQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 945,
+          "tcId" : 1041,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304502207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc022100bffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364143",
@@ -15067,20 +17629,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEXCu/ojybmtB/A4qom0kwvyZ9lAHkJV3p\n6NoKUHjsgnfj6IKjHV5qN54Hk5g8ze05uVxDU6sv8B6lNpukewwxkQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191",
         "wx" : "5c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277",
         "wy" : "0e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200045c2bbfa23c9b9ad07f038aa89b4930bf267d9401e4255de9e8da0a5078ec8277e3e882a31d5e6a379e0793983ccded39b95c4353ab2ff01ea5369ba47b0c3191",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEXCu/ojybmtB/A4qom0kwvyZ9lAHkJV3p\n6NoKUHjsgnfj6IKjHV5qN54Hk5g8ze05uVxDU6sv8B6lNpukewwxkQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 946,
+          "tcId" : 1042,
           "comment" : "edge case for u2",
           "msg" : "313233343030",
           "sig" : "304402207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0220185ddbca6dac41b1da033cfb60c152869e74b3cd66e9ffdf1b6bc09ed65ee40c",
@@ -15090,20 +17653,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a3853547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4U1R4CCmESO215wGt6EzV+xrJVnul6Ptoprkz7EtcyEzA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a3853547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc",
         "wx" : "2ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385",
         "wy" : "3547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a3853547808298448edb5e701ade84cd5fb1ac9567ba5e8fb68a6b933ec4b5cc84cc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4U1R4CCmESO215wGt6EzV+xrJVnul6Ptoprkz7EtcyEzA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 947,
+          "tcId" : 1043,
           "comment" : "point duplication during verification",
           "msg" : "313233343030",
           "sig" : "3045022032b0d10d8d0e04bc8d4d064d270699e87cffc9b49c5c20730e1c26f6105ddcda022100d612c2984c2afa416aa7f2882a486d4a8426cb6cfc91ed5b737278f9fca8be68",
@@ -15115,20 +17679,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4XKuH99Z7txJKGP5SF7MqBOU2qYRaFwSXWUbME6SjN3Yw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763",
         "wx" : "2ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385",
         "wy" : "0cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200042ea7133432339c69d27f9b267281bd2ddd5f19d6338d400a05cd3647b157a385cab87f7d67bb7124a18fe5217b32a04e536a9845a1704975946cc13a4a337763",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAELqcTNDIznGnSf5smcoG9Ld1fGdYzjUAK\nBc02R7FXo4XKuH99Z7txJKGP5SF7MqBOU2qYRaFwSXWUbME6SjN3Yw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 948,
+          "tcId" : 1044,
           "comment" : "duplication bug",
           "msg" : "313233343030",
           "sig" : "3045022032b0d10d8d0e04bc8d4d064d270699e87cffc9b49c5c20730e1c26f6105ddcda022100d612c2984c2afa416aa7f2882a486d4a8426cb6cfc91ed5b737278f9fca8be68",
@@ -15140,20 +17705,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiqLGT6nGQ3Vjq/vL0AsgSNSMGMFSoqb0\nkDbedkfr6C4c5kOHmVxooGD6O8A5mwXMBu7H1Zj3UEGkkX5pK39R/w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff",
         "wx" : "08aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e",
         "wy" : "1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048aa2c64fa9c6437563abfbcbd00b2048d48c18c152a2a6f49036de7647ebe82e1ce64387995c68a060fa3bc0399b05cc06eec7d598f75041a4917e692b7f51ff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEiqLGT6nGQ3Vjq/vL0AsgSNSMGMFSoqb0\nkDbedkfr6C4c5kOHmVxooGD6O8A5mwXMBu7H1Zj3UEGkkX5pK39R/w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 949,
+          "tcId" : 1045,
           "comment" : "comparison with point at infinity ",
           "msg" : "313233343030",
           "sig" : "3044022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0022033333333333333333333333333333332f222f8faefdb533f265d461c29a47373",
@@ -15163,21 +17729,22 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71fdd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEORQn/37ngBPBSux9lqigYiCSmKeDg16U\n/WVJ1QL/9x/dZiTsNDrZ/PTZhyGB5Z+EL5ukzMrgmmwJcvtqxrTGvQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71fdd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd",
         "wx" : "391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71f",
         "wy" : "0dd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004391427ff7ee78013c14aec7d96a8a062209298a783835e94fd6549d502fff71fdd6624ec343ad9fcf4d9872181e59f842f9ba4cccae09a6c0972fb6ac6b4c6bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEORQn/37ngBPBSux9lqigYiCSmKeDg16U\n/WVJ1QL/9x/dZiTsNDrZ/PTZhyGB5Z+EL5ukzMrgmmwJcvtqxrTGvQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 950,
-          "comment" : "extreme value for k",
+          "tcId" : 1046,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
           "result" : "valid",
@@ -15186,21 +17753,142 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb248185ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEPzlSGZd0x885s4tmyxBCpiYNhoCAOEXk\n1DOtujuySBhepJW2jLx+1Bc+5jyQQtxQJiXH634h+wLKmpEU4KOhjQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e762b8a219b4f180219cc7a9059245e4961bd191c03899789c7a34b89e8c138ec1533ef0419bb7376e0bfde9319d10a06968791d9ea0eed9c1ce6345aed9759e",
+        "wx" : "0e762b8a219b4f180219cc7a9059245e4961bd191c03899789c7a34b89e8c138e",
+        "wy" : "0c1533ef0419bb7376e0bfde9319d10a06968791d9ea0eed9c1ce6345aed9759e"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004e762b8a219b4f180219cc7a9059245e4961bd191c03899789c7a34b89e8c138ec1533ef0419bb7376e0bfde9319d10a06968791d9ea0eed9c1ce6345aed9759e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE52K4ohm08YAhnMepBZJF5JYb0ZHAOJl4\nnHo0uJ6ME47BUz7wQZu3N24L/ekxnRCgaWh5HZ6g7tnBzmNFrtl1ng==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1047,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3046022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022100b6db6db6db6db6db6db6db6db6db6db5f30f30127d33e02aad96438927022e9c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "049aedb0d281db164e130000c5697fae0f305ef848be6fffb43ac593fbb950e952fa6f633359bdcd82b56b0b9f965b037789d46b9a8141b791b2aefa713f96c175",
+        "wx" : "09aedb0d281db164e130000c5697fae0f305ef848be6fffb43ac593fbb950e952",
+        "wy" : "0fa6f633359bdcd82b56b0b9f965b037789d46b9a8141b791b2aefa713f96c175"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200049aedb0d281db164e130000c5697fae0f305ef848be6fffb43ac593fbb950e952fa6f633359bdcd82b56b0b9f965b037789d46b9a8141b791b2aefa713f96c175",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEmu2w0oHbFk4TAADFaX+uDzBe+Ei+b/+0\nOsWT+7lQ6VL6b2MzWb3NgrVrC5+WWwN3idRrmoFBt5GyrvpxP5bBdQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1048,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3046022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee502210099999999999999999999999999999998d668eaf0cf91f9bd7317d2547ced5a5a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048ad445db62816260e4e687fd1884e48b9fc0636d031547d63315e792e19bfaee1de64f99d5f1cd8b6ec9cb0f787a654ae86993ba3db1008ef43cff0684cb22bd",
+        "wx" : "08ad445db62816260e4e687fd1884e48b9fc0636d031547d63315e792e19bfaee",
+        "wy" : "1de64f99d5f1cd8b6ec9cb0f787a654ae86993ba3db1008ef43cff0684cb22bd"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048ad445db62816260e4e687fd1884e48b9fc0636d031547d63315e792e19bfaee1de64f99d5f1cd8b6ec9cb0f787a654ae86993ba3db1008ef43cff0684cb22bd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEitRF22KBYmDk5of9GITki5/AY20DFUfW\nMxXnkuGb+u4d5k+Z1fHNi27Jyw94emVK6GmTuj2xAI70PP8GhMsivQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1049,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022066666666666666666666666666666665e445f1f5dfb6a67e4cba8c385348e6e7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "041f5799c95be89063b24f26e40cb928c1a868a76fb0094607e8043db409c91c32e75724e813a4191e3a839007f08e2e897388b06d4a00de6de60e536d91fab566",
+        "wx" : "1f5799c95be89063b24f26e40cb928c1a868a76fb0094607e8043db409c91c32",
+        "wy" : "0e75724e813a4191e3a839007f08e2e897388b06d4a00de6de60e536d91fab566"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200041f5799c95be89063b24f26e40cb928c1a868a76fb0094607e8043db409c91c32e75724e813a4191e3a839007f08e2e897388b06d4a00de6de60e536d91fab566",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEH1eZyVvokGOyTybkDLkowahop2+wCUYH\n6AQ9tAnJHDLnVyToE6QZHjqDkAfwji6Jc4iwbUoA3m3mDlNtkfq1Zg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1050,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5022049249249249249249249249249249248c79facd43214c011123c1b03a93412a5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a3331a4e1b4223ec2c027edd482c928a14ed358d93f1d4217d39abf69fcb5ccc28d684d2aaabcd6383775caa6239de26d4c6937bb603ecb4196082f4cffd509d",
+        "wx" : "0a3331a4e1b4223ec2c027edd482c928a14ed358d93f1d4217d39abf69fcb5ccc",
+        "wy" : "28d684d2aaabcd6383775caa6239de26d4c6937bb603ecb4196082f4cffd509d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004a3331a4e1b4223ec2c027edd482c928a14ed358d93f1d4217d39abf69fcb5ccc28d684d2aaabcd6383775caa6239de26d4c6937bb603ecb4196082f4cffd509d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEozMaThtCI+wsAn7dSCySihTtNY2T8dQh\nfTmr9p/LXMwo1oTSqqvNY4N3XKpiOd4m1MaTe7YD7LQZYIL0z/1QnQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1051,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3045022100c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee502200eb10e5ab95f2f275348d82ad2e4d7949c8193800d8c9c75df58e343f0ebba7b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb248185ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d",
         "wx" : "3f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb24818",
         "wy" : "5ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200043f3952199774c7cf39b38b66cb1042a6260d8680803845e4d433adba3bb248185ea495b68cbc7ed4173ee63c9042dc502625c7eb7e21fb02ca9a9114e0a3a18d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEPzlSGZd0x885s4tmyxBCpiYNhoCAOEXk\n1DOtujuySBhepJW2jLx+1Bc+5jyQQtxQJiXH634h+wLKmpEU4KOhjQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 951,
-          "comment" : "extreme value for k",
+          "tcId" : 1052,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "313233343030",
           "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022055555555555555555555555555555554e8e4f44ce51835693ff0ca2ef01215c0",
           "result" : "valid",
@@ -15209,20 +17897,141 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cdfb8c0f422e144e137c2412c86c171f5fe3fa3f5bbb544e9076288f3ced786e054fd0721b77c11c79beacb3c94211b0a19bda08652efeaf92513a3b0a163698",
+        "wx" : "0cdfb8c0f422e144e137c2412c86c171f5fe3fa3f5bbb544e9076288f3ced786e",
+        "wy" : "54fd0721b77c11c79beacb3c94211b0a19bda08652efeaf92513a3b0a163698"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004cdfb8c0f422e144e137c2412c86c171f5fe3fa3f5bbb544e9076288f3ced786e054fd0721b77c11c79beacb3c94211b0a19bda08652efeaf92513a3b0a163698",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEzfuMD0IuFE4TfCQSyGwXH1/j+j9bu1RO\nkHYojzzteG4FT9ByG3fBHHm+rLPJQhGwoZvaCGUu/q+SUTo7ChY2mA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1053,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022100b6db6db6db6db6db6db6db6db6db6db5f30f30127d33e02aad96438927022e9c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0473598a6a1c68278fa6bfd0ce4064e68235bc1c0f6b20a928108be336730f87e3cbae612519b5032ecc85aed811271a95fe7939d5d3460140ba318f4d14aba31d",
+        "wx" : "73598a6a1c68278fa6bfd0ce4064e68235bc1c0f6b20a928108be336730f87e3",
+        "wy" : "0cbae612519b5032ecc85aed811271a95fe7939d5d3460140ba318f4d14aba31d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000473598a6a1c68278fa6bfd0ce4064e68235bc1c0f6b20a928108be336730f87e3cbae612519b5032ecc85aed811271a95fe7939d5d3460140ba318f4d14aba31d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEc1mKahxoJ4+mv9DOQGTmgjW8HA9rIKko\nEIvjNnMPh+PLrmElGbUDLsyFrtgRJxqV/nk51dNGAUC6MY9NFKujHQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1054,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3045022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179802210099999999999999999999999999999998d668eaf0cf91f9bd7317d2547ced5a5a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0458debd9a7ee2c9d59132478a5440ae4d5d7ed437308369f92ea86c82183f10a16773e76f5edbf4da0e4f1bdffac0f57257e1dfa465842931309a24245fda6a5d",
+        "wx" : "58debd9a7ee2c9d59132478a5440ae4d5d7ed437308369f92ea86c82183f10a1",
+        "wy" : "6773e76f5edbf4da0e4f1bdffac0f57257e1dfa465842931309a24245fda6a5d"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000458debd9a7ee2c9d59132478a5440ae4d5d7ed437308369f92ea86c82183f10a16773e76f5edbf4da0e4f1bdffac0f57257e1dfa465842931309a24245fda6a5d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEWN69mn7iydWRMkeKVECuTV1+1Dcwg2n5\nLqhsghg/EKFnc+dvXtv02g5PG9/6wPVyV+HfpGWEKTEwmiQkX9pqXQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1055,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022066666666666666666666666666666665e445f1f5dfb6a67e4cba8c385348e6e7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048b904de47967340c5f8c3572a720924ef7578637feab1949acb241a5a6ac3f5b950904496f9824b1d63f3313bae21b89fae89afdfc811b5ece03fd5aa301864f",
+        "wx" : "08b904de47967340c5f8c3572a720924ef7578637feab1949acb241a5a6ac3f5b",
+        "wy" : "0950904496f9824b1d63f3313bae21b89fae89afdfc811b5ece03fd5aa301864f"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200048b904de47967340c5f8c3572a720924ef7578637feab1949acb241a5a6ac3f5b950904496f9824b1d63f3313bae21b89fae89afdfc811b5ece03fd5aa301864f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEi5BN5HlnNAxfjDVypyCSTvdXhjf+qxlJ\nrLJBpaasP1uVCQRJb5gksdY/MxO64huJ+uia/fyBG17OA/1aowGGTw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1056,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798022049249249249249249249249249249248c79facd43214c011123c1b03a93412a5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04f4892b6d525c771e035f2a252708f3784e48238604b4f94dc56eaa1e546d941a346b1aa0bce68b1c50e5b52f509fb5522e5c25e028bc8f863402edb7bcad8b1b",
+        "wx" : "0f4892b6d525c771e035f2a252708f3784e48238604b4f94dc56eaa1e546d941a",
+        "wy" : "346b1aa0bce68b1c50e5b52f509fb5522e5c25e028bc8f863402edb7bcad8b1b"
+      },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004f4892b6d525c771e035f2a252708f3784e48238604b4f94dc56eaa1e546d941a346b1aa0bce68b1c50e5b52f509fb5522e5c25e028bc8f863402edb7bcad8b1b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE9IkrbVJcdx4DXyolJwjzeE5II4YEtPlN\nxW6qHlRtlBo0axqgvOaLHFDltS9Qn7VSLlwl4Ci8j4Y0Au23vK2LGw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1057,
+          "comment" : "extreme value for k",
+          "msg" : "313233343030",
+          "sig" : "3044022079be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f8179802200eb10e5ab95f2f275348d82ad2e4d7949c8193800d8c9c75df58e343f0ebba7b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
+        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
+        "wy" : "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
+      },
       "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeb5mfvncu6xVoGKVzocLBwKb/NstzijZ\nWfKBWxb4F5hIOtp3JqPEZV2k+/wOEQio/Re0SKaFVBmcR9CP+xDUuA==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp256k1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
-        "wy" : "483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8"
-      },
       "tests" : [
         {
-          "tcId" : 952,
+          "tcId" : 1058,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502302202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
@@ -15230,7 +18039,7 @@
           "flags" : []
         },
         {
-          "tcId" : 953,
+          "tcId" : 1059,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3044022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e02202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
@@ -15240,20 +18049,21 @@
       ]
     },
     {
+      "key" : {
+        "curve" : "secp256k1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777",
+        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
+        "wy" : "0b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777"
+      },
       "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000479be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeb5mfvncu6xVoGKVzocLBwKb/NstzijZ\nWfKBWxb4F5i3xSWI2Vw7mqJbBAPx7vdXAuhLt1l6q+ZjuC9vBO8ndw==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp256k1",
-        "keySize" : 256,
-        "type" : "ECPublicKey",
-        "wx" : "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
-        "wy" : "0b7c52588d95c3b9aa25b0403f1eef75702e84bb7597aabe663b82f6f04ef2777"
-      },
       "tests" : [
         {
-          "tcId" : 954,
+          "tcId" : 1060,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3045022100bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502302202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
@@ -15261,7 +18071,7 @@
           "flags" : []
         },
         {
-          "tcId" : 955,
+          "tcId" : 1061,
           "comment" : "testing point duplication",
           "msg" : "313233343030",
           "sig" : "3044022044a5ad0bd0636d9e12bc9e0a6bdd5e1bba77f523842193b3b82e448e05d5f11e02202492492492492492492492492492492463cfd66a190a6008891e0d81d49a0952",
@@ -15271,20 +18081,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
         "wx" : "4c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466",
         "wy" : "0ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00044c246670658a1d41f5d77bce246cbe386ac22848e269b9d4cd67c466ddd947153d39b2d42533a460def26880408caf2dd3dd48fe888cd176",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAETCRmcGWKHUH113vOJGy+OGrCKEjiabnU\nzWfEZt3ZRxU9ObLUJTOkYN7yaIBAjK8t091I/oiM0XY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 956,
+          "tcId" : 1062,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00b2970cdec29c70294a18bbc49985efa33acc0af509c326a3977a35e8021c0cea3ed8ebaaf6ee6aef6049a23cbc39f61fcf8fc6be4bab13385579",
@@ -15292,7 +18103,7 @@
           "flags" : []
         },
         {
-          "tcId" : 957,
+          "tcId" : 1063,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021d00bc9052305d076c009f0250d888d0fae950bbdf53e42fc5b35850d4c5021c400a143f82c3b045ce46742aca8a1af966cc4b04e10fe96090374d36",
@@ -15300,7 +18111,7 @@
           "flags" : []
         },
         {
-          "tcId" : 958,
+          "tcId" : 1064,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c7a57cfac41911d334dde984ef64bacf978fb04c77ffe00892e611fad021c52a3f891c2877d433b6b5799ca6f774941370654e17811b2fc401974",
@@ -15308,7 +18119,7 @@
           "flags" : []
         },
         {
-          "tcId" : 959,
+          "tcId" : 1065,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "303d021d00d48ab7215a25802132a9b0cb95493f911c965b1b2518cdaa3625417b021c1e49bc825576c5436140caa8a3332d1bb2a745f6a22ef3e80018581d",
@@ -15316,7 +18127,7 @@
           "flags" : []
         },
         {
-          "tcId" : 960,
+          "tcId" : 1066,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303d021c0364e7d96832614a80216e730c353534d4bffd2c26649c0b4b0e2628021d008f40064b412fe38c5ba9cf664e6172ed48e6e79f0fe5e31a54985dfc",
@@ -15324,7 +18135,7 @@
           "flags" : []
         },
         {
-          "tcId" : 961,
+          "tcId" : 1067,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303d021c7e7b0eb7da8c68a7072b11404ee95a5c407fbfe3d69646802e28ae77021d00d409a2f6bbaae59bb60fc0a092b12fa4e67dc8d088cf19a833322fd6",
@@ -15334,20 +18145,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
         "wx" : "4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5",
         "wy" : "087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 962,
+          "tcId" : 1068,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388022100f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86",
@@ -15355,7 +18167,7 @@
           "flags" : []
         },
         {
-          "tcId" : 963,
+          "tcId" : 1069,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304402206d5091f9497241fb2a99137f56734d70797c1620fa58f292f3ddc1c21980768a02207d4681372addeec97da13d3834429a49cf94c68cc6d8380fcc1fb897caeaa4d7",
@@ -15363,7 +18175,7 @@
           "flags" : []
         },
         {
-          "tcId" : 964,
+          "tcId" : 1070,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30440220111af92aa721abe4492468a6ad410f85351c3f71f6f076c5160eac1665bf08a002205d9f4658ec427e54fd64ccc367f50d48c7e5c2822299e258f443cc7890d25db9",
@@ -15371,7 +18183,7 @@
           "flags" : []
         },
         {
-          "tcId" : 965,
+          "tcId" : 1071,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "3044022030e782f964b2e2ff065a051bc7adc20615d8c43a1365713c88268822c253bcce02205b16df652aa1ecb2dc8b46c515f9604e2e84cacfa7c6eec30428d2d3f4e08ed5",
@@ -15379,7 +18191,7 @@
           "flags" : []
         },
         {
-          "tcId" : 966,
+          "tcId" : 1072,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3045022100b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a02200177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2",
@@ -15387,7 +18199,7 @@
           "flags" : []
         },
         {
-          "tcId" : 967,
+          "tcId" : 1073,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3045022100986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb7102203dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c",
@@ -15397,20 +18209,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
         "wx" : "29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc",
         "wy" : "09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 968,
+          "tcId" : 1074,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30650230234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0705498c023100cd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf",
@@ -15418,7 +18231,7 @@
           "flags" : []
         },
         {
-          "tcId" : 969,
+          "tcId" : 1075,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3065023100ac5559ad224e76aa6637515357c5f0ac4ffef4f7e21297f8b65d72e6b5cc547511ddb2f0c36125b6b11c0a82308c44d20230542aea18bf5fe640d5e94fc27d69176e21cd15f0f817741e982f51e7a9d5bd4f33cd8846fbd9f6cd1ae7d0cff31de2e4",
@@ -15426,7 +18239,7 @@
           "flags" : []
         },
         {
-          "tcId" : 970,
+          "tcId" : 1076,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3065023100d48578efe0200370eb3dba190629c584f4505b3d18dcb7176e81c94eaaba9be4b35f16b2f558cf42f6e49bb13a8c52a3023062d7450e411ce64d8349a9e90a07fc09e5521efec1b9739cc9f68d0877b4a4b4d50a5f5647ef6dc3e6a9495ccabbeae4",
@@ -15434,7 +18247,7 @@
           "flags" : []
         },
         {
-          "tcId" : 971,
+          "tcId" : 1077,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "306602310099c8ee5310653f6bb6f540146edc015cce3c115bf3088be1f4205930b08184be8868d8b8320f0ecc60f3b1bccd410b32023100ca49b9f4fda715d522bd0ec9b767ef6d7d0b340d3aa9fcac675874bb3dabc7b8e0c33923860b94cb00115b10ac5056f1",
@@ -15442,7 +18255,7 @@
           "flags" : []
         },
         {
-          "tcId" : 972,
+          "tcId" : 1078,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3064023032401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f02304326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753",
@@ -15450,7 +18263,7 @@
           "flags" : []
         },
         {
-          "tcId" : 973,
+          "tcId" : 1079,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306502305cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18d023100bf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840",
@@ -15460,20 +18273,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKpCL/Ftw4XvfrnQpSZSAi/KkLatZ\nr4sFI6Am1kCio9bTRFILYhd+LPoznKQvsIg+xCWQT72igzo7WwqaAIETZdgBIzPV\nMvj46xpiPDeKNpRlEZK72oM+O417j5Cyv8mwRfilXhtqX+FRLEAMS8nIb9fGmdZC\n9c7pu4J8iwq8DaAc7x4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
         "wx" : "12a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8",
         "wy" : "12333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKpCL/Ftw4XvfrnQpSZSAi/KkLatZ\nr4sFI6Am1kCio9bTRFILYhd+LPoznKQvsIg+xCWQT72igzo7WwqaAIETZdgBIzPV\nMvj46xpiPDeKNpRlEZK72oM+O417j5Cyv8mwRfilXhtqX+FRLEAMS8nIb9fGmdZC\n9c7pu4J8iwq8DaAc7x4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 974,
+          "tcId" : 1080,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3081880242014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba258702420108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab",
@@ -15481,7 +18295,7 @@
           "flags" : []
         },
         {
-          "tcId" : 975,
+          "tcId" : 1081,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308187024178192ba6c31398e095b1a5ba49e34f0a6df60263e8324a9d728e292c8dbe477ad9326f3e915f4006795dbeddc92b01fae052143c961b24e624eb70e0b0e6874653024201b470d58c6ec28c2fb155b2047073bc8bec3c2d9e7f50038964dd4b5b721807a679f7252fe72ca977e2bc4d8831fef14a2bf51c7919dfa7a33acdf9a9fc1ca2dbe6",
@@ -15489,7 +18303,7 @@
           "flags" : []
         },
         {
-          "tcId" : 976,
+          "tcId" : 1082,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308187024160bedcd13c22d2353e613cca0f81215c34e51bf0a83faff1da5c8b4c182785358757b35a681e4eaf021af4f43d54ec49d8bfcd8dc5015b42a7a91f263fcb8db661024201050354daf39d5261bd27f36b8c1c38f48707ece9ea9311d13489dcfc5357eda2e57000c10cf0cda7b12f313842fb884a14f902ee9bca5b4da4fbbae0f969691005",
@@ -15497,7 +18311,7 @@
           "flags" : []
         },
         {
-          "tcId" : 977,
+          "tcId" : 1083,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "308188024201b257e46f4a9fcba03012fbeea4cd3bb2e20fd7dd4e1ced708405330a87597407a5870861e71c3a157c021eb4beb9881fce9c3f458f3cd9dbd94e422cf07a75012e024201b55f01bd17e5a6ad7d28bfbf7560de548f96ca52683d12ec6ba347e6f3c1c4c3b6463c73bd2639014de5db1443f181d620d42e6f69b560f37732af83a6a2ef2119",
@@ -15505,7 +18319,7 @@
           "flags" : []
         },
         {
-          "tcId" : 978,
+          "tcId" : 1084,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "308188024201625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c5024201b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f",
@@ -15513,7 +18327,7 @@
           "flags" : []
         },
         {
-          "tcId" : 979,
+          "tcId" : 1085,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308187024108135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb4520242011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181",
@@ -15523,20 +18337,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeCyO0X47Kng7VGTzOwllKnHGeOBexR6E\n4rz8Zjo96WOvmstCgLjH98QvTvmrpiRewewXEv04oPqWQY2M1qphUg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152",
         "wx" : "782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963",
         "wy" : "0af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004782c8ed17e3b2a783b5464f33b09652a71c678e05ec51e84e2bcfc663a3de963af9acb4280b8c7f7c42f4ef9aba6245ec1ec1712fd38a0fa96418d8cd6aa6152",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEeCyO0X47Kng7VGTzOwllKnHGeOBexR6E\n4rz8Zjo96WOvmstCgLjH98QvTvmrpiRewewXEv04oPqWQY2M1qphUg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 980,
+          "tcId" : 1086,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3045022100d035ee1f17fdb0b2681b163e33c359932659990af77dca632012b30b27a057b302201939d9f3b2858bc13e3474cb50e6a82be44faa71940f876c1cba4c3e989202b6",
@@ -15544,7 +18359,7 @@
           "flags" : []
         },
         {
-          "tcId" : 981,
+          "tcId" : 1087,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100a2d376c52ef94bf6e458502ddf32b43e52cb6d7ca0aaf50f2e00421005507e4c022100d144a2f15c45eb048513756479eaf3fba64775297593c344596e6b3c19662c05",
@@ -15552,7 +18367,7 @@
           "flags" : []
         },
         {
-          "tcId" : 982,
+          "tcId" : 1088,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100f0fd2a0a44f1a2444a8b49f6de26828ee161c238ed113a722405eec674d1a71802210099a2ce92ee0a0fe669ddbe0ef8ea2c1d51110c2136893fadf4db87f3d99d6fec",
@@ -15560,7 +18375,7 @@
           "flags" : []
         },
         {
-          "tcId" : 983,
+          "tcId" : 1089,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "3044022024813a5aeff4584826a72e3ce030ff39124b456c8db11574ab44e9634f2be54502200c50c914e04bfe3c87ef8dfda335686faa799591141c9b8def398c5eeae107c5",
@@ -15568,7 +18383,7 @@
           "flags" : []
         },
         {
-          "tcId" : 984,
+          "tcId" : 1090,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3046022100f80ae4f96cdbc9d853f83d47aae225bf407d51c56b7776cd67d0dc195d99a9dc022100b303e26be1f73465315221f0b331528807a1a9b6eb068ede6eebeaaa49af8a36",
@@ -15576,7 +18391,7 @@
           "flags" : []
         },
         {
-          "tcId" : 985,
+          "tcId" : 1091,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304402204f053f563ad34b74fd8c9934ce59e79c2eb8e6eca0fef5b323ca67d5ac7ed23802204d4b05daa0719e773d8617dce5631c5fd6f59c9bdc748e4b55c970040af01be5",
@@ -15586,20 +18401,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7ed08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLVU/CXp8Jjq8UZsNTKMlzBdDUqg\n5EYui696jn7Qj8QOsB3IVVd7rqnjBwdwYW9XsX6phUytk4ga\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7ed08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a",
         "wx" : "0b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7e",
         "wy" : "0d08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004b554fc25e9f098eaf1466c35328c97305d0d4aa0e4462e8baf7a8e7ed08fc40eb01dc855577baea9e3070770616f57b17ea9854cad93881a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABLVU/CXp8Jjq8UZsNTKMlzBdDUqg\n5EYui696jn7Qj8QOsB3IVVd7rqnjBwdwYW9XsX6phUytk4ga\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 986,
+          "tcId" : 1092,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c669ce9e63d915be4a217fb0bb9ad361d62e98d73e073fffbe921fd4a021c33ef2edccac60ced6d3d07c3b8f1d36687e16f8487c3e8ad5096c798",
@@ -15607,7 +18423,7 @@
           "flags" : []
         },
         {
-          "tcId" : 987,
+          "tcId" : 1093,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303d021c16db8fd8135704f0a80afa911b2fd6a4c821ece419222fba82809c55021d00a0460d410d9a6c0c18664530c96a0e351098ab233d7dad8ba2d63bc9",
@@ -15615,7 +18431,7 @@
           "flags" : []
         },
         {
-          "tcId" : 988,
+          "tcId" : 1094,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c4caf4650cabbe271f787aaf4d7482e3ebabe45dae93c83ea20aca1d1021c734be5f7361b31b316ea649732ba937313bc574617bfe3b8b3c7e13c",
@@ -15623,7 +18439,7 @@
           "flags" : []
         },
         {
-          "tcId" : 989,
+          "tcId" : 1095,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "303d021d00921175090125c251838efece2fe3ac1f5a52a4a3e027d864d375433f021c2c008ff69458d37992cd6b60af33e1c5ecc917cc6dbab80b74cfcb4b",
@@ -15631,7 +18447,7 @@
           "flags" : []
         },
         {
-          "tcId" : 990,
+          "tcId" : 1096,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303c021c79854774987fa51e6614af166a3298d2a20ac8594a7287a9632c0be1021c13fa3911567cdcc2021d238335e67ffa01c6de22b18971854392d70e",
@@ -15639,7 +18455,7 @@
           "flags" : []
         },
         {
-          "tcId" : 991,
+          "tcId" : 1097,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c4f4e4d86d432a539f62dda75842544b24bbb0609d09ab1d0d1bcb976021c637ee62661e83551144240ea029572e03efd85787e45f175f0cd22d6",
@@ -15649,20 +18465,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCZ2vR4/2D8zKNGvlBRCwDZ2DwlY\ndylBkFMIPrYdHtIsLPdpaIpf/WfaGJnSQ+Zryr4h+eeDNSY79TCLjkGnGzk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39",
         "wx" : "2676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c",
         "wy" : "2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200042676bd1e3fd83f3328d1af941442c036760f09587729419053083eb61d1ed22c2cf769688a5ffd67da1899d243e66bcabe21f9e78335263bf5308b8e41a71b39",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABCZ2vR4/2D8zKNGvlBRCwDZ2DwlY\ndylBkFMIPrYdHtIsLPdpaIpf/WfaGJnSQ+Zryr4h+eeDNSY79TCLjkGnGzk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 992,
+          "tcId" : 1098,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30450220351e727003896ec02949a3cf752223bcc6c2b611b30391edd60dc0c83dc9c98f022100924ad9dc00364d4aa2091416d173862f9b02965ff176e880ea62a673e16db98e",
@@ -15670,7 +18487,7 @@
           "flags" : []
         },
         {
-          "tcId" : 993,
+          "tcId" : 1099,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3046022100a0ac4453893d671ebca111713ca23c3beed7b63317119858e1b8516fd1ca62dc022100a046ee1d900f36b3856aaab16523eb3f62427d305c12b9da9e5e00ebdbce0ae0",
@@ -15678,7 +18495,7 @@
           "flags" : []
         },
         {
-          "tcId" : 994,
+          "tcId" : 1100,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "304402205e1b940c559d2dff9418fcad50c27ad4de122d1bed47d2657ef1f756be97ce7e0220340855b0b0b045192aaeae2e96e276c9a78e1b2043c176d89cbc4951eeed8d50",
@@ -15686,7 +18503,7 @@
           "flags" : []
         },
         {
-          "tcId" : 995,
+          "tcId" : 1101,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "304502203e083e2a473bda482c81c6beade21b130d15b1ca957a4576768caa3f11362f1502210087dc390d128a792252b51d8c93d1da064d702317add97dab74db78a8f2e6d2a7",
@@ -15694,7 +18511,7 @@
           "flags" : []
         },
         {
-          "tcId" : 996,
+          "tcId" : 1102,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30440220745be1da902d19c76c8f57d4a1f3362b4b20ed7c8de8fc0463d566795f979cea02205916c317a1e325b53735216a0fa37737f08b32245c88084817b468a41f5afee9",
@@ -15702,7 +18519,7 @@
           "flags" : []
         },
         {
-          "tcId" : 997,
+          "tcId" : 1103,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3044022044a811b2321acbc65cacf80d2dbe848946f1dac528f3e1ae38b0e54d083c258f022055d7edfaecdda3bbc062d5074e3c3719d32761159d027ca27c1725ddbd62f688",
@@ -15712,20 +18529,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000444ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABESrIyDCKXtmEUQo3zP+ZBlW+CAz\niTOYrztJsAIxeSAcJ9Jt1lEhwG4MWVJMk48Z2v/CqaRnnbp88Zkc7UcAWSu3XpjP\nd9v2xYTC9yc1FSkh\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320r1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0444ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921",
         "wx" : "44ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e",
         "wy" : "0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b24030302080101090352000444ab2320c2297b66114428df33fe641956f82033893398af3b49b0023179201c27d26dd65121c06e0c59524c938f19daffc2a9a4679dba7cf1991ced4700592bb75e98cf77dbf6c584c2f72735152921",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEJA1IABESrIyDCKXtmEUQo3zP+ZBlW+CAz\niTOYrztJsAIxeSAcJ9Jt1lEhwG4MWVJMk48Z2v/CqaRnnbp88Zkc7UcAWSu3XpjP\nd9v2xYTC9yc1FSkh\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 998,
+          "tcId" : 1104,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305402287a31b7375f924369ec12bc33b834726c95444a4c263557344afa732cf48a155e71a6ee7de42e91ce022824d3d72861f4d2b551c10f0294d16a3bf1d4ee3e484439b804d097dea2d7cace76ade14af1663322",
@@ -15733,7 +18551,7 @@
           "flags" : []
         },
         {
-          "tcId" : 999,
+          "tcId" : 1105,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305402286787b980a66749ed0b63b8e1857d2d8bafe7344ca7a0d1c2c2ad23bc9d3916714bb1683ca3e19ef002286e0352e95bcd79de5cd1aac11f5ed3c42b4aa3b2bde667e939cc8aab2da60f7e27ed01375d77efd9",
@@ -15741,7 +18559,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1000,
+          "tcId" : 1106,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30550228033e4bdb806f5bf3dca2f3f839bdd9213c4904a00a2fb6ebe3ff9b4a00430a5e5547a1115676edf4022900976c3695960f25151df781955444e4581332f299d812e259c8efe857c8af8cb53144863178610db7",
@@ -15749,7 +18567,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1001,
+          "tcId" : 1107,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "3056022900ac60ae7e85aedd2e65b37a3731695f684d82c78029b4baa70e56e6fec23f3b65dd213dac69b5052f02290082ae3c06ffdceffec7da820479e6cf3f58bc3bb9b6d88e0da615b0885ece3388f6f2d2fa3685e6a7",
@@ -15757,7 +18575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1002,
+          "tcId" : 1108,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30540229009cf7f0d60cc1fb2d4b3e78d5f83b374e17a4aebccc6e723f1ad35babb2acfb2b75530389189395f802271110c5b8b8e5fa8dc7952a7bf6200bddae6c1d66639a07a4b6046e00bfa7a2bd9d5777b80c3a92",
@@ -15765,7 +18583,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1003,
+          "tcId" : 1109,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "305502282417eb10a538921621066608243fd6574de84ef1281520f01ebe0444b46a607ab9eda8f3721779a60229008f1e2ea294028baeb738181e128c86ad55cb1945436cf69e090c2f6159f6f22011d731733b4433ba",
@@ -15775,20 +18593,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da501be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyaq6NDyy+vCYMZzE0V6iGHhvVc\njPCotmgJEXCmQi9sJJiUWoFkpLbyfN0R6ADaUBvpYbN7CYBGEM4N9A3YI2x1oS0M\ngBSxY0ZKSuunyxjSDTIiCD7EqUGFLySqPV2E4w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da501be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3",
         "wx" : "6c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da50",
         "wy" : "1be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046c9aaba343cb2faf098319cc4d15ea218786f55c8cf0a8b668091170a6422f6c2498945a8164a4b6f27cdd11e800da501be961b37b09804610ce0df40dd8236c75a12d0c8014b163464a4aeba7cb18d20d3222083ec4a941852f24aa3d5d84e3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGyaq6NDyy+vCYMZzE0V6iGHhvVc\njPCotmgJEXCmQi9sJJiUWoFkpLbyfN0R6ADaUBvpYbN7CYBGEM4N9A3YI2x1oS0M\ngBSxY0ZKSuunyxjSDTIiCD7EqUGFLySqPV2E4w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1004,
+          "tcId" : 1110,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402306dd9d4e98c9c388240e95c49b2100afbe0d722f8a152651c61d7ef9bf46150e3cdf9bf6330e75e4bf2c294cd66e48d0602301282d33b5b79d4eaafa03a77bb8ba2c318291f6ea09d548b7704bb00910856dd360557e609add891c6435d7a80afddfb",
@@ -15796,7 +18615,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1005,
+          "tcId" : 1111,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402306e888a5eaa24d1a03318d4f6c0686e4dd584f78e7f6c00a52b5ff82e985b3efd641391ac9522685e89f9309ebe06679d023037c47e7fc27a56f86e033e9214691890d0edbf23bc267b2090f21ab6a18ade496dfe207ccd21efbaa797badaada30915",
@@ -15804,7 +18623,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1006,
+          "tcId" : 1112,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "306402304518110ae52f101a2bf80b1969dbf50cc70189790e3805769f58239289cc60051f3337dec7803ec684208d0e56ee4140023019ea6f00caccfba71d9e56dcd47e9db355130722ebf5eeda228a15335192a3bb471f60a88c9bf8a7bfa1025c284fb829",
@@ -15812,7 +18631,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1007,
+          "tcId" : 1113,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "306402300179a6f40039bfe52e7d30a9af9e3b24638de555bfef84840f0c9d6bd75fcb8e9b97bf33c5f8dc6b7d6b53972fe156d00230691efc254c864e9a448997c41525ffc386fa97ee489852c95a1485b1993b33e40fd3e0de7f1b64308fa829faceb3be17",
@@ -15820,7 +18639,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1008,
+          "tcId" : 1114,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3064023065fd456814371d60883ffda5f74f36dc2d45886121770e29ed3163754716d12c1cab03a2cb6a6e3376fc96d8727bd1bf02301aa65e57932d05788413219b7ab23e5337f63fb2dcb0f89b4227d284a3fcbdf3c54c021a6c0ca42445bf802213121654",
@@ -15828,7 +18647,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1009,
+          "tcId" : 1115,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "3065023046cb43798bc06dbe788a4f4b2b98130e3aae917f1d2a005656bd70a3288caf7c37d1dee0c9108828a69d2a1eeae113c60231008180d0c5ba1bed4f2b0d4d8ed7ea17916b63400397e7b6d70e7312c5ff0f4524a49abf7071c8ba470de64fb668570380",
@@ -15838,20 +18657,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200041ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd5443cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEHsf+InWGDDvA5ObkWa9+Fphd\nN626c1GsNXp8OX4HUi6kG8yo6Jd3/gW48NncjGFABPyvMKlwAaUBGhWfRvzVRDy8\nHd/HrImhovju93v5u6it5z2iEAy2o3FUa0lfteqIXrYxZF55WR22WcSSZtJj1cvT\nQDCBy0B1Nu/ppb7GmVU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512r1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "041ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd5443cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955",
         "wx" : "1ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd544",
         "wy" : "3cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200041ec7fe2275860c3bc0e4e6e459af7e16985d37adba7351ac357a7c397e07522ea41bcca8e89777fe05b8f0d9dc8c614004fcaf30a97001a5011a159f46fcd5443cbc1ddfc7ac89a1a2f8eef77bf9bba8ade73da2100cb6a371546b495fb5ea885eb631645e79591db659c49266d263d5cbd3403081cb407536efe9a5bec69955",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEHsf+InWGDDvA5ObkWa9+Fphd\nN626c1GsNXp8OX4HUi6kG8yo6Jd3/gW48NncjGFABPyvMKlwAaUBGhWfRvzVRDy8\nHd/HrImhovju93v5u6it5z2iEAy2o3FUa0lfteqIXrYxZF55WR22WcSSZtJj1cvT\nQDCBy0B1Nu/ppb7GmVU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1010,
+          "tcId" : 1116,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308184024061483c729369413144a6be0dd05c1ac29bc440bbdaf87e572aa987e9ca423639f339bcaaad99cb1fa80b7c35416a1834ec04bcf0fe7812c712eb1f06a16daca3024041bb956c339ebcf5e4e403c7d8928d5eb4fdf7d3f53a2c06d6c9fac347f603ac3209a2af37516f807b50363b5328bc98b94354af7d59966d160f68e80c6b2dc0",
@@ -15859,7 +18679,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1011,
+          "tcId" : 1117,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308185024100aa0f0c888b164bc5c95dde51b05b96a03194b1eeb51bb203038d874254126e2bd8facd041160d514af353c4c5b6b3879412b7e428ec96199976948a8a72ca499024047aa5389d7f95ba161db52f3a8fbdf25f67423e646d203728f8781b0bd68282a0e3c1360a282d90a2d2de4f70df63c0b1a6376c5b6bec8be918770f162ad63b7",
@@ -15867,7 +18687,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1012,
+          "tcId" : 1118,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "308184024043b42d602b8c9d58c2f3f9c692199918b202c5922c3b6a1719457033b0f291c202f79cdd05dff70f85a8fb3afbc802c51266b4d5a0d75432f624cd84cf92ac5002401fa248a12faaf352d953ba5e456e53ada5776bd96d351d7cd3b6893c25f9b1c75feaf709b297c7ed89d2afe1ee270d56b6d37d700d7f1c99acbd76739d33cf98",
@@ -15875,7 +18695,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1013,
+          "tcId" : 1119,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "30818402405b86ad576cdc5e76a4e4a2ba795b80faa822bc07d62d6697a1a2d4c9f1ac99bdaf6c34ec446e764f598db0f422592ae59a59c8efdf6c480adfff10bff1936fdd02407725a56a95c4cbea85ebf78f01d16b63534f6f0c53d645e3c3d6e7c30ae25797a5e4e6a578368df577734823ad0efabd15581c428def0c4e34dacacb9f164909",
@@ -15883,7 +18703,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1014,
+          "tcId" : 1120,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818502410089edf75e6e986305d8181386c16db44ba0d7ff40f4335569754a481f5cd48c6211a63de7bdaa485e9fa79858a4eabf111fed2959f031de2a132ba709412683a902407a8c08564f51534128bb52fe36dffaae89079011256ef8069e64d64c5610d3e611c0ba8b19027388fccc212523b22c44e85a789e16cb1bbd3240c86b43480fde",
@@ -15891,7 +18711,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1015,
+          "tcId" : 1121,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308185024100a620880bb7fab1180e3d8f393e4b3343dd4eb1c374f9d61252f8a201d9096ba836721f8e2d8b56cbf406960aae0e50325adfca6b1b529f06a81260bd8b15ff68024076537febbc0e24ab4992b576abf8bc0201cacf5ccf674ad3c3b1552c98ca64642eff5401afecab167ec0be195fe5ffa178f14567ef171b4827964a559d079b7a",
@@ -15901,20 +18721,21 @@
       ]
     },
     {
-      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a0004c514e66ef76e69aa6d27eb4a9147c84f2516407494ee454136a42f6b364a318ddcfd8b7024550e601ba549f96d2ca1b75d512ca6cf47fbe4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABMUU5m73bmmqbSfrSpFHyE8lFkB0\nlO5FQTakL2s2SjGN3P2LcCRVDmAbpUn5bSyht11RLKbPR/vk\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP224t1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c514e66ef76e69aa6d27eb4a9147c84f2516407494ee454136a42f6b364a318ddcfd8b7024550e601ba549f96d2ca1b75d512ca6cf47fbe4",
         "wx" : "0c514e66ef76e69aa6d27eb4a9147c84f2516407494ee454136a42f6b",
         "wy" : "364a318ddcfd8b7024550e601ba549f96d2ca1b75d512ca6cf47fbe4"
       },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a0004c514e66ef76e69aa6d27eb4a9147c84f2516407494ee454136a42f6b364a318ddcfd8b7024550e601ba549f96d2ca1b75d512ca6cf47fbe4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABMUU5m73bmmqbSfrSpFHyE8lFkB0\nlO5FQTakL2s2SjGN3P2LcCRVDmAbpUn5bSyht11RLKbPR/vk\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1016,
+          "tcId" : 1122,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c34a59f27e90297e11ac10c22d15f54d6b95b39ea3e7a0e0ac19f6180021c77a1ced2a607e6f7410f1f2e5e8d95f1e9545c7a3681aed99427ae66",
@@ -15922,7 +18743,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1017,
+          "tcId" : 1123,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303e021d00cd1c7fdb21092b5b8c5cb82fc558770728b35f78af101fe5e6489af3021d00c1bbd4168d5e4badfaf30e1de0f1bbebe421e11fc9781021eceecef5",
@@ -15930,7 +18751,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1018,
+          "tcId" : 1124,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "303c021c5d843d10309597a5fb1573c68628a7b9264b2fa5ba556181fd7df871021c184471bbdfeb0e9482b46db8be9985687b8cbd7388d09fab0569a88c",
@@ -15938,7 +18759,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1019,
+          "tcId" : 1125,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "303d021d00cdd0d45c29175bf8e9ac47d84e73eb83102995384369d45fe432d2d6021c586641ff60219da25448c314a2c4267be4d12f0e490fd46142e41874",
@@ -15946,7 +18767,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1020,
+          "tcId" : 1126,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "303b021c3000d34848dff1f1412f9754ac38a061ae69feeef07aae4cc3ca0a5c021b3330a2e4e5ad39ee244649aad7d5fc533f0bc281c03ddbb0f6edff",
@@ -15954,7 +18775,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1021,
+          "tcId" : 1127,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "303c021c1d0a67e5916f3eefa2794822489be4e9e8d2bfc83f31544103a11cbf021c4ae3cec888167cc93bdbf1f83ebf3d2d9a7288bdb1f094bf21b45d01",
@@ -15964,20 +18785,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048509d27e0e9b9720f61f48d491c6bcc62fd6d97f23394fb0b794f3bc7e926c7399fca67f503522d0453df1caf8e6db43d62c789f99fbc468774fb29efa44162c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIUJ0n4Om5cg9h9I1JHGvMYv1tl/\nIzlPsLeU87x+kmxzmfymf1A1ItBFPfHK+ObbQ9YseJ+Z+8Rod0+ynvpEFiw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256t1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048509d27e0e9b9720f61f48d491c6bcc62fd6d97f23394fb0b794f3bc7e926c7399fca67f503522d0453df1caf8e6db43d62c789f99fbc468774fb29efa44162c",
         "wx" : "08509d27e0e9b9720f61f48d491c6bcc62fd6d97f23394fb0b794f3bc7e926c73",
         "wy" : "099fca67f503522d0453df1caf8e6db43d62c789f99fbc468774fb29efa44162c"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200048509d27e0e9b9720f61f48d491c6bcc62fd6d97f23394fb0b794f3bc7e926c7399fca67f503522d0453df1caf8e6db43d62c789f99fbc468774fb29efa44162c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABIUJ0n4Om5cg9h9I1JHGvMYv1tl/\nIzlPsLeU87x+kmxzmfymf1A1ItBFPfHK+ObbQ9YseJ+Z+8Rod0+ynvpEFiw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1022,
+          "tcId" : 1128,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30460221008a2a6cd8b36728e5cbac83e6748d36876cb46004872b45adc05c55284ce612b602210098ac99ca605e2cd46ce17264be25899138a06340fa75c04e97b74af25ad16b78",
@@ -15985,7 +18807,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1023,
+          "tcId" : 1129,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3044022010f580b61266cd1b3d4496c3b2ce68285bb7c2d651341fbc702782841f48790b02200f7df5adb9618c76dcbd322d2a3f792207a2a0d1f5c3a7cc01275690f80fb06b",
@@ -15993,7 +18815,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1024,
+          "tcId" : 1130,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30440220150dcf39eb3d0c097ed0edf3a33c1eef0d4c48c864f564a993a665996e5efb8602205304690dbb74c62cbad7eb15343592c6ce98ed64265e1effcfa47958172d6a6b",
@@ -16001,7 +18823,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1025,
+          "tcId" : 1131,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "304402204f0afdfa975557f8a144c9b0b2a60f43e40f5b9ba0d80779943a106e6a278b6902201d52424c3aeb9800c2afb9a066b106b66f202717828a261ed27476190d3f62d4",
@@ -16009,7 +18831,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1026,
+          "tcId" : 1132,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "304402204ebd5f5e64c10e74bd32a769565c49f931ec3b69f74859e4123dd85ddfa6ac7502200c1498cb92ce45a6e777a1f7d8de1e1f11f8056ba675ec9d1027b884a9e25177",
@@ -16017,7 +18839,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1027,
+          "tcId" : 1133,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "304402205895cb223665173957d33b1bdbc9727371cfe5ebfb596b8e366b9f1c75aa0a0e02205d372010b36dde53c599262829a8f88581ad6247d3f30a2b692963212db88b6d",
@@ -16027,20 +18849,21 @@
       ]
     },
     {
-      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010a0352000461447d3e1bb7da8122352bada17ab980cf5cbddbe09c4269533c7b48764bbfdffa78af06ef6333226ac4899f6a0bfaff640c91ae099489b18093ed1987b9a18cf621653b93dfcaf6bbbe9696e52281c8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEKA1IABGFEfT4bt9qBIjUrraF6uYDPXL3b\n4JxCaVM8e0h2S7/f+nivBu9jMyJqxImfagv6/2QMka4JlImxgJPtGYe5oYz2IWU7\nk9/K9ru+lpblIoHI\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP320t1",
         "keySize" : 320,
         "type" : "ECPublicKey",
+        "uncompressed" : "0461447d3e1bb7da8122352bada17ab980cf5cbddbe09c4269533c7b48764bbfdffa78af06ef6333226ac4899f6a0bfaff640c91ae099489b18093ed1987b9a18cf621653b93dfcaf6bbbe9696e52281c8",
         "wx" : "61447d3e1bb7da8122352bada17ab980cf5cbddbe09c4269533c7b48764bbfdffa78af06ef633322",
         "wy" : "6ac4899f6a0bfaff640c91ae099489b18093ed1987b9a18cf621653b93dfcaf6bbbe9696e52281c8"
       },
+      "keyDer" : "306a301406072a8648ce3d020106092b240303020801010a0352000461447d3e1bb7da8122352bada17ab980cf5cbddbe09c4269533c7b48764bbfdffa78af06ef6333226ac4899f6a0bfaff640c91ae099489b18093ed1987b9a18cf621653b93dfcaf6bbbe9696e52281c8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMGowFAYHKoZIzj0CAQYJKyQDAwIIAQEKA1IABGFEfT4bt9qBIjUrraF6uYDPXL3b\n4JxCaVM8e0h2S7/f+nivBu9jMyJqxImfagv6/2QMka4JlImxgJPtGYe5oYz2IWU7\nk9/K9ru+lpblIoHI\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1028,
+          "tcId" : 1134,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3055022900accb506f1bad3d84f2966be7630ff551be70c1c1d6f45728abde037bf2a6b3bbc2dc94416539339d022865c576935e93ac452834bdf9cf3a6ce91da7fadaba34b24a0b5aa47f717ae3d1ef21c6ef7ef6be32",
@@ -16048,7 +18871,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1029,
+          "tcId" : 1135,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "305602290099e8f2d8c52b9653cc551a3bae5ab2a32583bc8020839b734d3221e0775252913d7e112bf6a9d5db022900820ab618950c60360af8be40b49764adeae7c9045cb495b9a59c38eea918aab13b6d0837a200ed75",
@@ -16056,7 +18879,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1030,
+          "tcId" : 1136,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3056022900d1715a0735fd59458d85f81a8b06ca7aa52f8dd7556a68c9584faeb3d5240253b065b4cc37b03aad022900a30f02a082ccd073f9f22d7fa6f80637a13d6428874236a48b64140b73ff85a5ec14c266e592a2f4",
@@ -16064,7 +18887,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1031,
+          "tcId" : 1137,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "305502286f64c4e05fb8f11e7ca9c71407de33d824adf4c0da9abf2f74a7b28dae2253586b18d3a69bea0520022900ca8ef19ae2f278265db27259693e57c7cf52e5c12d53f29e321a68aea5570f9f428854522813979f",
@@ -16072,7 +18895,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1032,
+          "tcId" : 1138,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "305602290080439603434ae38f3f08ca8812c3cf6b5b41973aace77ce5acc0fec5accbe5fce65b9dfaeeb1d75d0229008a952af632fc4823ff40f7d65be23e85717ef2111118b2b22932dc3f8b479501e1bc422fb0f6309c",
@@ -16080,7 +18903,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1033,
+          "tcId" : 1139,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "305502286ef646d78f7f4d69aa7378a9d199bc7fc5355f65a83b62de0d78ca3f6a9588d873b6a54ba9cbf98a022900b31e5ca01a5d076e70a1b8de28eff126bb3cab9f0e607a2cfd3a8056b6896762bae51b25861b8ef7",
@@ -16090,20 +18913,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000400d95b9bbcf029074240d23232b287fec40768d9d31826a2d128d48667c91fddd509ce449d7de14568af320d15499f964cdccbb334791e89c0ea0dadd3e9ab657d6dec8a38b174c6f3a9da08d8bf3703cbb21ed3c35dc702536aaeef03bd56a0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABADZW5u88CkHQkDSMjKyh/7EB2jZ\n0xgmotEo1IZnyR/d1QnORJ194UVorzINFUmflkzcy7M0eR6JwOoNrdPpq2V9beyK\nOLF0xvOp2gjYvzcDy7Ie08NdxwJTaq7vA71WoA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384t1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400d95b9bbcf029074240d23232b287fec40768d9d31826a2d128d48667c91fddd509ce449d7de14568af320d15499f964cdccbb334791e89c0ea0dadd3e9ab657d6dec8a38b174c6f3a9da08d8bf3703cbb21ed3c35dc702536aaeef03bd56a0",
         "wx" : "0d95b9bbcf029074240d23232b287fec40768d9d31826a2d128d48667c91fddd509ce449d7de14568af320d15499f96",
         "wy" : "4cdccbb334791e89c0ea0dadd3e9ab657d6dec8a38b174c6f3a9da08d8bf3703cbb21ed3c35dc702536aaeef03bd56a0"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000400d95b9bbcf029074240d23232b287fec40768d9d31826a2d128d48667c91fddd509ce449d7de14568af320d15499f964cdccbb334791e89c0ea0dadd3e9ab657d6dec8a38b174c6f3a9da08d8bf3703cbb21ed3c35dc702536aaeef03bd56a0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABADZW5u88CkHQkDSMjKyh/7EB2jZ\n0xgmotEo1IZnyR/d1QnORJ194UVorzINFUmflkzcy7M0eR6JwOoNrdPpq2V9beyK\nOLF0xvOp2gjYvzcDy7Ie08NdxwJTaq7vA71WoA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1034,
+          "tcId" : 1140,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3064023038d0472c6a7fb0fa0b605023eca6e26c7570820554f1d3ccb9cce15579469c057ca6f99cafb591599ddc1713cd67e659023050f3983145a748dda08ab2547eff692b69606beffa993380f27fdf6fb91ba7bb9b3b37c65586c9512ff10ba849b58987",
@@ -16111,7 +18935,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1035,
+          "tcId" : 1141,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3064023019d242b769d4188423daea513f769c3808b293cb3a7859d313bffe85f365df03c5427a2f60b9ac8595213e33aaa0675302302da4780efdf2fbae4df8828e07c162623c2116ef715e8b40b96c6fc20cc283c9b2fc6b0529c36dc8bcd21350a2a33c55",
@@ -16119,7 +18943,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1036,
+          "tcId" : 1142,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3064023077ceb23b51b24c9910f6e05e52398892a18c14d6ca60445679b2e45798ab702349c7c3b5da5ae97a5c9aad16a7c7c96f023079778d545b5926b60d0a204cbd2f72e25f586cb535fae8370b321a2ef3ce72470e1e41c9662601eaf1a98df6279e09fe",
@@ -16127,7 +18951,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1037,
+          "tcId" : 1143,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "30640230152ca621474847b02e3cd14ec2c8e21247aacc830a0a5410bf408d5837d9ddd45738637134e55555916828922db3e4ea023039f3093eec232e1449d72a3a2b68cef4fd436c498ac265f90edc7bbbe1b102d5a42a801f3be233bacb5c52ce488fe83e",
@@ -16135,7 +18959,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1038,
+          "tcId" : 1144,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "3064023029b74d0c4211d1e36e8fcf0ae00a4b3fe738478119866c0503da62b6abdb96bd61fa70460be6aaa0579e162d045cc8be02304820e4bfe763eb12f37b1f852723728feb63c86741d4dd2196446ea5f47c2f879f11fdf23f121f950169901f3c4cb03c",
@@ -16143,7 +18967,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1039,
+          "tcId" : 1145,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "306502305e83a0b1c1bdfe98babe8f83bc046d5a896fbf307c8a468f4567dc2940a11d31344d3575620bd0c4201b80d6cc2a3ca9023100801352c92b908ce2f7522492ade4dea788ddb6d17204387d764ce7c2940302a98b62cf83baa69f0c735a56fe8c35dbeb",
@@ -16153,20 +18977,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004a5008ecb5b6294ab2ea71a9e23694973c95a0b5f5874ade775d349a23148038e6c7311aa69aba4b9fa8cefe8ff9bf1c5f4324e3f3cdf43143b1d35df7cf7f5071bc165ca46fe65152d2e74d95ce1a740d5e1a2728005f72ed66e5eeef49d9750a7471c45658d0d189890a1616aa66d6487cc3e70ac950fe81e550dab58fdb55f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEpQCOy1tilKsupxqeI2lJc8la\nC19YdK3nddNJojFIA45scxGqaaukufqM7+j/m/HF9DJOPzzfQxQ7HTXffPf1BxvB\nZcpG/mUVLS502Vzhp0DV4aJygAX3LtZuXu70nZdQp0ccRWWNDRiYkKFhaqZtZIfM\nPnCslQ/oHlUNq1j9tV8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP512t1",
         "keySize" : 512,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a5008ecb5b6294ab2ea71a9e23694973c95a0b5f5874ade775d349a23148038e6c7311aa69aba4b9fa8cefe8ff9bf1c5f4324e3f3cdf43143b1d35df7cf7f5071bc165ca46fe65152d2e74d95ce1a740d5e1a2728005f72ed66e5eeef49d9750a7471c45658d0d189890a1616aa66d6487cc3e70ac950fe81e550dab58fdb55f",
         "wx" : "0a5008ecb5b6294ab2ea71a9e23694973c95a0b5f5874ade775d349a23148038e6c7311aa69aba4b9fa8cefe8ff9bf1c5f4324e3f3cdf43143b1d35df7cf7f507",
         "wy" : "1bc165ca46fe65152d2e74d95ce1a740d5e1a2728005f72ed66e5eeef49d9750a7471c45658d0d189890a1616aa66d6487cc3e70ac950fe81e550dab58fdb55f"
       },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010e0381820004a5008ecb5b6294ab2ea71a9e23694973c95a0b5f5874ade775d349a23148038e6c7311aa69aba4b9fa8cefe8ff9bf1c5f4324e3f3cdf43143b1d35df7cf7f5071bc165ca46fe65152d2e74d95ce1a740d5e1a2728005f72ed66e5eeef49d9750a7471c45658d0d189890a1616aa66d6487cc3e70ac950fe81e550dab58fdb55f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEpQCOy1tilKsupxqeI2lJc8la\nC19YdK3nddNJojFIA45scxGqaaukufqM7+j/m/HF9DJOPzzfQxQ7HTXffPf1BxvB\nZcpG/mUVLS502Vzhp0DV4aJygAX3LtZuXu70nZdQp0ccRWWNDRiYkKFhaqZtZIfM\nPnCslQ/oHlUNq1j9tV8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1040,
+          "tcId" : 1146,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30818502403a146c30a1e275ef8e6410288c48e9751d82c14cce9a1a8367cb272bda61048e6272bbfbe781a52f2694229a5fa49fb021b90b67dd976e83b7eabd3d6893d613024100810c5bdc99f722390918937ef115276cae34b30441285ed7242024dea1704445bb694848f6c2914e818af6947e3df8072fa9643ebc199ca88a374df7fd2fc009",
@@ -16174,7 +18999,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1041,
+          "tcId" : 1147,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "30818402404747ab518a295690a79e3d94f3bfce525127c9efb3b52ddbfb60732e011e3fe562f91b2a4e476148c02ffe3c430ee7fd7cd9f2fcb7be29eb70cf2044f9c1b511024067c0b1de933bdd0e48ace2771771b7905d7b10cf1a8cb6ec1f4c66a7d314795a7f8ca2ac8370483cdf72430506bcf7afe2c09b407c296804e2c102f438ac2700",
@@ -16182,7 +19007,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1042,
+          "tcId" : 1148,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "3081850241009e2c83ad6ee75cc9f702ffe637d62c0d24442feacaf465edcf8868185615af5b42f39902df77ddd7dc86c519252fd09caa7063576e44f9b41b05aac372bd4957024005f25c0cef70be6bfa0389ec4084a3b953b354e1a3e667fc3caa29748d09e85cabcad230c3ce70308e130eeba4dd05b78a22a0502f20a95af4bea416b624264c",
@@ -16190,7 +19015,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1043,
+          "tcId" : 1149,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "30818402405326efd4d3969f3074cc2fc1226e0cd0a00be4cec1d01643812435bfe135ccd781040cd201101eb45c13d4654dbe3902109ec662dbb63b9e9d3ea017a62209d3024003fb04f8b00612a0020e8cdadf30a064436ced16a34ed7ec4d332950b93083b506ce05d12465877aed3db3744ba7b8e4698bc1c125bd38517f15949444b8fc8a",
@@ -16198,7 +19023,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1044,
+          "tcId" : 1150,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "30818402401ebb81543b870229db3a440fdcf6402e22b5f9760c3b95e44bca6a7b7ad3df5c6e9d07f71ac6ce63916141baa92171bde9701b59907da2cfa922b30611188a2102406adba7340a1687dae2596329218a856ced4e86d0a39ddd7c1634233e061767dbf58751a05df152b49e0a5d722358a6d8fe7e69176621a365772cafaf41714833",
@@ -16206,7 +19031,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1045,
+          "tcId" : 1151,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "308185024100a6b9e91472661f0a15d79e3dd4c6b05921e07c456571233f4af67c66e94a9e06c6daddece057dc49b617f95138038a28d77a984015548d487adb3d55152129d002404c657ef2b28b0b7171a5c4ec4a11a894cba4c312be4d26013e508766f43cf8f7986d54fbc358e8b95b4171bee39fc0c8e1810e6e4642c31c740138f44e2586f8",
@@ -16216,23 +19041,24 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ae6e3df43c00de10df3343347a02dbb18e82cc10d85ae90a9eb26c883d75603868e747b659b786745a83e5d05aacea097ebb7f4d24a4e47997fecf7faa19bf35",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErm499DwA3hDfM0M0egLbsY6CzBDY\nWukKnrJsiD11YDho50e2WbeGdFqD5dBarOoJfrt/TSSk5HmX/s9/qhm/NQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-224",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "0ae6e3df43c00de10df3343347a02dbb18e82cc10d85ae90a9eb26c883d756038",
-        "wy" : "68e747b659b786745a83e5d05aacea097ebb7f4d24a4e47997fecf7faa19bf35"
+        "uncompressed" : "046dfd976be29cc8568d9f714f25a44e0f1c4dbeae471f095370a95de661a8108e36d93506c9ead3dc479a42b7619ee9fcb175bf93293d020fff79bd2e66499f34",
+        "wx" : "6dfd976be29cc8568d9f714f25a44e0f1c4dbeae471f095370a95de661a8108e",
+        "wy" : "36d93506c9ead3dc479a42b7619ee9fcb175bf93293d020fff79bd2e66499f34"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046dfd976be29cc8568d9f714f25a44e0f1c4dbeae471f095370a95de661a8108e36d93506c9ead3dc479a42b7619ee9fcb175bf93293d020fff79bd2e66499f34",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEbf2Xa+KcyFaNn3FPJaRODxxNvq5H\nHwlTcKld5mGoEI422TUGyerT3EeaQrdhnun8sXW/kyk9Ag//eb0uZkmfNA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-224",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1046,
+          "tcId" : 1152,
           "comment" : "Hash weaker than DL-group",
           "msg" : "4d7367",
-          "sig" : "30460221008abad7ad92a9b9a33a4f9b4015bbd63ff1e89f626a76215ce09402f30b488bcb022100b2296e39a8a4b3ee38748a874b88cb085bd1645b82183aae2da7b45cd2632bbd",
+          "sig" : "3045022100f141479312cc68314fd0fbbad9efb82bd7f32664fb58e24aaa87826e971eb71102201d2f326f479aff47a5fe2452d1342090bdf10008da2f7ea599dbb1607c254c30",
           "result" : "acceptable",
           "flags" : [
             "WeakHash"
@@ -16241,23 +19067,24 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429870e7f1077d2da9faac31ec2037770f21224f9fc48274e11007fe606254b51979c6b7feebe320ee32e734d9d2c208309ffd2a3a35749b0945e7f66bf1a807d7694d76bdf27fd048b6acfa091d58e6d936b83765c5542807bdf7bbe3371b5ed",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKYcOfxB30tqfqsMewgN3cPISJPn8SCdO\nEQB/5gYlS1GXnGt/7r4yDuMuc02dLCCDCf/So6NXSbCUXn9mvxqAfXaU12vfJ/0E\ni2rPoJHVjm2Ta4N2XFVCgHvfe74zcbXt\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
-        "wx" : "29870e7f1077d2da9faac31ec2037770f21224f9fc48274e11007fe606254b51979c6b7feebe320ee32e734d9d2c2083",
-        "wy" : "09ffd2a3a35749b0945e7f66bf1a807d7694d76bdf27fd048b6acfa091d58e6d936b83765c5542807bdf7bbe3371b5ed"
+        "uncompressed" : "044933b6218f075b5477fd1b4c6d0f4048ae147489909dffaf40f210bbd0b01c59806d6cfb7e9520788a0ec0ccedb4d8f1485aba85bd63f3bc3e25f5cc1d48ed5fa9ae5400a2a07d1a60c1d5bd5951e159252d3142db36d1bcfb7ef3bc9051d457",
+        "wx" : "4933b6218f075b5477fd1b4c6d0f4048ae147489909dffaf40f210bbd0b01c59806d6cfb7e9520788a0ec0ccedb4d8f1",
+        "wy" : "485aba85bd63f3bc3e25f5cc1d48ed5fa9ae5400a2a07d1a60c1d5bd5951e159252d3142db36d1bcfb7ef3bc9051d457"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200044933b6218f075b5477fd1b4c6d0f4048ae147489909dffaf40f210bbd0b01c59806d6cfb7e9520788a0ec0ccedb4d8f1485aba85bd63f3bc3e25f5cc1d48ed5fa9ae5400a2a07d1a60c1d5bd5951e159252d3142db36d1bcfb7ef3bc9051d457",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAESTO2IY8HW1R3/RtMbQ9ASK4UdImQnf+v\nQPIQu9CwHFmAbWz7fpUgeIoOwMzttNjxSFq6hb1j87w+JfXMHUjtX6muVACioH0a\nYMHVvVlR4VklLTFC2zbRvPt+87yQUdRX\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1047,
+          "tcId" : 1153,
           "comment" : "Hash weaker than DL-group",
           "msg" : "54657374",
-          "sig" : "30650230496f9bb6374555956d9e44465891e2966aedc4fd1b5eec55acb889a74ad52455b0766a2b04933ba80ef042aca87a8aba023100adc16d5cc47504a632164987bdd53063047f4f69fb9db2140b95c931bc3193f433797854c4b4afe3f8b0e73ccf1ac698",
+          "sig" : "306402303d2c8e02334814db9247b805e64ec548ffb571bd8b48023880e7ce4f822c7eae08d01e2e10e6b32a51f6492ea2079ce102300ea43c8df9dc5fb0ec64e915a67c18610ccf778283a74e612442dde01da37ff30c92d0ec46f5cf97c111b8f7b6d0ddad",
           "result" : "acceptable",
           "flags" : [
             "WeakHash"
@@ -16266,23 +19093,24 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040062811f3e388189e2ea2bc7800bb47e6c01eead17e5c08a7e92bdbf5386dec6b13afced5a4bbb49ca0a87c6ef9575e4d2bcca9c02ac3a7c7c9235d77db0a0c4d4b701b163f2db0e5f4a49a9498dd4cffc1bbcafe56820c479cd0ffb36ff3bd2b2106b447faceff8b9169fcc88743adc9b78fcc97516d8c536e64a36e9d1aacec9294b34",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAYoEfPjiBieLqK8eAC7R+bAHurRfl\nwIp+kr2/U4bexrE6/O1aS7tJygqHxu+VdeTSvMqcAqw6fHySNdd9sKDE1LcBsWPy\n2w5fSkmpSY3Uz/wbvK/laCDEec0P+zb/O9KyEGtEf6zv+LkWn8yIdDrcm3j8yXUW\n2MU25ko26dGqzskpSzQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
-        "wx" : "62811f3e388189e2ea2bc7800bb47e6c01eead17e5c08a7e92bdbf5386dec6b13afced5a4bbb49ca0a87c6ef9575e4d2bcca9c02ac3a7c7c9235d77db0a0c4d4b7",
-        "wy" : "1b163f2db0e5f4a49a9498dd4cffc1bbcafe56820c479cd0ffb36ff3bd2b2106b447faceff8b9169fcc88743adc9b78fcc97516d8c536e64a36e9d1aacec9294b34"
+        "uncompressed" : "04018db16486b3db4ee056d476ae6a46062d875d5cdc6977b6cf60d77471c1a1618e863d6a1d032b96736e8c116c3e3f69c67a679d9973de85d1919d9eabdea26f8bcc01d8005ba5b0a04e57ef9b6c64c3c17ebfc3f4ba261b34b854d11c658547ce8472e1e3113c7dc7edc7717278bcef505d426c9518c9131911377661dcadce71dce040",
+        "wx" : "18db16486b3db4ee056d476ae6a46062d875d5cdc6977b6cf60d77471c1a1618e863d6a1d032b96736e8c116c3e3f69c67a679d9973de85d1919d9eabdea26f8bcc",
+        "wy" : "1d8005ba5b0a04e57ef9b6c64c3c17ebfc3f4ba261b34b854d11c658547ce8472e1e3113c7dc7edc7717278bcef505d426c9518c9131911377661dcadce71dce040"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018db16486b3db4ee056d476ae6a46062d875d5cdc6977b6cf60d77471c1a1618e863d6a1d032b96736e8c116c3e3f69c67a679d9973de85d1919d9eabdea26f8bcc01d8005ba5b0a04e57ef9b6c64c3c17ebfc3f4ba261b34b854d11c658547ce8472e1e3113c7dc7edc7717278bcef505d426c9518c9131911377661dcadce71dce040",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBjbFkhrPbTuBW1HauakYGLYddXNxp\nd7bPYNd0ccGhYY6GPWodAyuWc26MEWw+P2nGemedmXPehdGRnZ6r3qJvi8wB2ABb\npbCgTlfvm2xkw8F+v8P0uiYbNLhU0RxlhUfOhHLh4xE8fcftx3FyeLzvUF1CbJUY\nyRMZETd2YdytznHc4EA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1048,
+          "tcId" : 1154,
           "comment" : "Hash weaker than DL-group",
           "msg" : "54657374",
-          "sig" : "30818802420125a17621b3636ba15386af51d678a465784bfd37fd68cf1e9aab218d29937ad45c0b854fdb4bb955e84cbb64c7268c691dd08c7a6c7eae5f2c2e46a564acbf0343024200b080aaceaa9723a962ada29a05dacffc3876e1e47abc08d7be9826d9d0f59da4035ba94bfc76846c477c946b651047a5850cb91c51c134cc29df6a431281905274",
+          "sig" : "3081880242015879299301fce08a22b57bf7261d0c8fcd900020bd115034991e728f03118a37ec717ce6be06b4eb609b651939bfa9746c9805c96b89fd4e44eb1356d4db8dbcca024200c6e9f554887e403004b95d9cabd2cf0c059568b5d87a00886839b7e331415ff1e389b0018b11a860e1b2a11b33b6d936598f24c0b27bbc5b05f4367cb2dce1e6d8",
           "result" : "acceptable",
           "flags" : [
             "WeakHash"
@@ -16291,215 +19119,181 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000416c22e9e7de9e490012c93677a0527f50277d82c069349bc5ed85c65c8ddf45e4ce925bbb61a3f99753972f79d2fe1e8485e06347fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFsIunn3p5JABLJNnegUn9QJ32CwGk0m8\nXthcZcjd9F5M6SW7tho/mXU5cvedL+HoSF4GNH////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
-        "wx" : "16c22e9e7de9e490012c93677a0527f50277d82c069349bc5ed85c65",
-        "wy" : "0c8ddf45e4ce925bbb61a3f99753972f79d2fe1e8485e06347fffffff"
+        "uncompressed" : "04aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
+        "wx" : "0aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf",
+        "wy" : "08a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004aed6fcad2400c4d94e55dbb6b012ce3d4c2b46843fbe99d4289e6ecf8a24a89e71343d7d151d258d2cb690349c2d56b366dd10a600000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAErtb8rSQAxNlOVdu2sBLOPUwrRoQ/vpnU\nKJ5uz4okqJ5xND19FR0ljSy2kDScLVazZt0QpgAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1049,
-          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "tcId" : 1155,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
-          "sig" : "303d021d008a5d2e7556d47be42d55e92103c2fb35caceb386c04413bb657d4381021c4c7377529e10821c795d696408cf1bd098e8fe5b49233068a0ee36e6",
+          "sig" : "303c021c519bf185ff4635271961fa491be257231deeea9c53a6ede3b4a89ed1021c486bdad484a6a3134e1471cf56a9df0fac50f773b3e37d6f327617d7",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 1050,
-          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "tcId" : 1156,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
-          "sig" : "303e021d00f8fb28d33156387cc5c1c359df36d546dfc529912fe696861fc888d9021d009e5f9c74549c188098ef0691defe34e376855288a0bacd41a5829f0d",
+          "sig" : "303d021c09fd644898b7cb5d018b52234e7b4ef2b54789afd0ce9c434e9e5515021d00f19309532164ea2053cae55df7bdcbab536c83ea7bfe6fe10d60c1ab",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 1051,
-          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "tcId" : 1157,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
-          "sig" : "303e021d00e2b9d6073dd7b32467e0cad6e8f066d56696c97193d115c4eb9c5a49021d00e1a310acacd29e1a9e0cb373191632fd513865799947f7af0b1c70c3",
+          "sig" : "303d021d00ec919d4e283ccf1f71a9e3c0f781a36758d3f38b1b78a87a74288e80021c4c4663044a73c79bd88f0dc245ab1a32f89f06f40a704b31e9fabc51",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000443f6b3e6a5968b48d8c72a2d98fe81e6ef5dee9af38bcdd3de6c5f89aeee5daba5037a5260955d99c7fdbb6cdb02ee85844f32a4ffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEQ/az5qWWi0jYxyotmP6B5u9d7przi83T\n3mxfia7uXaulA3pSYJVdmcf9u2zbAu6FhE8ypP////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
-        "wx" : "43f6b3e6a5968b48d8c72a2d98fe81e6ef5dee9af38bcdd3de6c5f89",
-        "wy" : "0aeee5daba5037a5260955d99c7fdbb6cdb02ee85844f32a4ffffffff"
+        "uncompressed" : "04bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
+        "wx" : "0bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f1",
+        "wy" : "73d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004bf19ecfe43ffe289f699f479316145b9a7f7370b9ece5ab1212174f173d528949ae9142f818bade71a960407963be0b6482a6a60ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEvxns/kP/4on2mfR5MWFFuaf3Nwuezlqx\nISF08XPVKJSa6RQvgYut5xqWBAeWO+C2SCpqYP////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1052,
+          "tcId" : 1158,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
-          "sig" : "303c021c5da1b59e7997ab7e0013c4af5db3608fd506f723e506106f40d96094021c74685189b408ed0bd2e3c96c568995845ac0b064fee3e1bc5da9532e",
+          "sig" : "303e021d00c51760478447217597ecc6f4001bd45088d53c90f53103608bf88aea021d00a201253aa903f9781e8992101d7171d2dd3a5d48c44d8e1d544cd6d7",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 1053,
+          "tcId" : 1159,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
-          "sig" : "303d021d00a51d2c5d925cdc054e9c4bd6e0b0f5058734f74f0e1e0e491a73dc02021c714bbc6f446ef30e707acc9c84c3ba119414e55a66e3644e4f31c531",
+          "sig" : "303c021c76be0112674ec29128823e1af7512e6143872fef30a64e2f1799bd56021c187e503e1a48c27b549fe0a4ce5e581e242c8663fc9efb02d6f2b193",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 1054,
+          "tcId" : 1160,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
-          "sig" : "303c021c388da108a77679c2ce7951d4fdc1777a95bcb25206b9a21eeb4c46d6021c31121ea14452e1fac5836646769239a6e99648358fbe12feeed70321",
+          "sig" : "303c021c36245ef126b5b51e459f84eaaad5a495061f0471dc8c23f1c5f16282021c39e31d72a06ba8e14fcf95778e07bc16a2628e39449da8857d506edc",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a10c01821c9094e2b391392aa80d55d90da35226739032ef0515b1700000000180e0dd4b058f7d7cb35f25870d838feea105211bc9f98388",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoQwBghyQlOKzkTkqqA1V2Q2jUiZzkDLv\nBRWxcAAAAAGA4N1LBY99fLNfJYcNg4/uoQUhG8n5g4g=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
-        "wx" : "0a10c01821c9094e2b391392aa80d55d90da35226739032ef0515b170",
-        "wy" : "180e0dd4b058f7d7cb35f25870d838feea105211bc9f98388"
+        "uncompressed" : "0426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
+        "wx" : "26e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000",
+        "wy" : "0eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000426e5abf135cb54eaaa16b69e4b0b292275344e88a09df6df80000000eab891de54e3f26ff50ab989f333dac551583d468ae623c596434af0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEJuWr8TXLVOqqFraeSwspInU0Toignfbf\ngAAAAOq4kd5U4/Jv9Qq5ifMz2sVRWD1GiuYjxZZDSvA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1055,
-          "comment" : "y-coordinate of the public key is small",
+          "tcId" : 1161,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
-          "sig" : "303c021c33796e8bcdfd9d44d19dc1e0951712b97ba8d77aa7a5c506ee200e1f021c19e420f877105f3700daf364e9d87f9b7849cb60e2a9fce82ac5a090",
+          "sig" : "303c021c258682975df8bca7f203f771ebeb478ef637360c860fc386cfb21745021c7663e70188047e41469a2a35c8c330dd900f2340ba82aafd22962a96",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 1056,
-          "comment" : "y-coordinate of the public key is small",
+          "tcId" : 1162,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
-          "sig" : "303e021d00e6f67d52183f9284c49c0ac6dd32966ca48e9f8f4a8ff997b5bad529021d00d982695a83061ea483e554d8e701f75bc643f12dd51725fdafef198e",
+          "sig" : "303e021d0085c98614f36c0d66f8d87834cae978611b7b4eebf59a46bea1b89ae9021d00d1a18e378dda840e06b60f6279bf0a2231d9fa2d8d2c31e88bc1bdd7",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 1057,
-          "comment" : "y-coordinate of the public key is small",
+          "tcId" : 1163,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
-          "sig" : "303d021c029871f6677cf395c9480735242735baa9be08147f7218ea4c678030021d00a4f0b91c0021bd664bc4df6a524931a6a8a434131c91283c9d028e45",
+          "sig" : "303e021d00ca7b7432ba41ff2112e1116fffde89bbd68f5ce67fe5513d16c8e6f7021d00e421b7599e0180798acc2006451603cda2db1d582741116e6033ce5f",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004a10c01821c9094e2b391392aa80d55d90da35226739032ef0515b170fffffffe7f1f22b4fa7082834ca0da77f27c70115efadee436067c79",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEoQwBghyQlOKzkTkqqA1V2Q2jUiZzkDLv\nBRWxcP////5/HyK0+nCCg0yg2nfyfHARXvre5DYGfHk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
-        "wx" : "0a10c01821c9094e2b391392aa80d55d90da35226739032ef0515b170",
-        "wy" : "0fffffffe7f1f22b4fa7082834ca0da77f27c70115efadee436067c79"
+        "uncompressed" : "04ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
+        "wx" : "0ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff",
+        "wy" : "41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd"
       },
-      "tests" : [
-        {
-          "tcId" : 1058,
-          "comment" : "y-coordinate of the public key is large",
-          "msg" : "4d657373616765",
-          "sig" : "303d021d008ae9d987abef0761c7657ed2a716098c0b75df077410e560e467141f021c73a34bb1f3aee02b1cebc676938680cc7b87b58fc0cc3c5a1b154e93",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1059,
-          "comment" : "y-coordinate of the public key is large",
-          "msg" : "4d657373616765",
-          "sig" : "303c021c59ce9a92b60d319b832e5a8767b54627458ea2ac2bb8c30ad17a8a12021c702fa8ed4997262e646ba1f1f503252f53d029fc79446e1132825234",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 1060,
-          "comment" : "y-coordinate of the public key is large",
-          "msg" : "4d657373616765",
-          "sig" : "303e021d00e3862efa8044995ddb292df13c6ff303d18decf5c35f10f336477812021d00e4292971a476600cfe676fd14e7e77a57ec1619386917f8298aee08b",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a00048c589daff97983c7dc5eadd8183fdc91f03811bd722557aa7fffffffb2302039ed0b831fdd0db45bf40253df69137c086c2d7340829a70cf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEjFidr/l5g8fcXq3YGD/ckfA4Eb1yJVeq\nf////7IwIDntC4Mf3Q20W/QCU99pE3wIbC1zQIKacM8=\n-----END PUBLIC KEY-----",
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ec627f345545d03f8c6dbd08e575527116567fe375f9ecaaffffffff41bf705697d5f716bcf78718d5393b63a98691f4a1f24246375538fd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE7GJ/NFVF0D+Mbb0I5XVScRZWf+N1+eyq\n/////0G/cFaX1fcWvPeHGNU5O2OphpH0ofJCRjdVOP0=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "08c589daff97983c7dc5eadd8183fdc91f03811bd722557aa7fffffff",
-        "wy" : "0b2302039ed0b831fdd0db45bf40253df69137c086c2d7340829a70cf"
-      },
       "tests" : [
         {
-          "tcId" : 1061,
+          "tcId" : 1164,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
-          "sig" : "303d021d00ae0ab1d36249d97af3157fbf5c621f084ce75711f4fbdadb04046d04021c4a5cb9a2747843251363d80f685eb67795ead41ecea1b4c6ccbd8fa9",
+          "sig" : "303c021c19397fe5d3ecabf80fc624c1bf379564387517c185087dc97d605069021c33b5773e9aaf6c34cb612cfc81efd3bf9c22224e8c4fa1bfccf5c501",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 1062,
+          "tcId" : 1165,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
-          "sig" : "303e021d00ea1439d315b156ae68da113845366fe2d850336b30448fa46ed615ce021d00884d16de77edc7ea9326ba63c53c5d551e7765aa049078ea4f3d476c",
+          "sig" : "303d021c70f24f5c164164bfbb8459aa12a981aa312dbcf00204326ebaaabdc8021d00f5cebee8caedae8662c43501665084b45d2f494fb70d603043543dc4",
           "result" : "valid",
           "flags" : []
         },
         {
-          "tcId" : 1063,
+          "tcId" : 1166,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
-          "sig" : "303d021d00af18ea84ef3ce2243947595c47945e82d8cd7ffaa3df306fbcea5fdf021c11bfca4e0820a08f5efdb8da6f1f52a0b7e4d9966fbeaa1cd95b11af",
+          "sig" : "303d021c0bf2d86ecaa8b56aca5e8f8ebcb45081d078a14555b75f5be8e9b132021d009a55b3ce4734849966b5034ccd9b19f76407ee0241c3f58e7b8fc89a",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
+        "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
+        "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5"
+      },
       "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a00000000762d28f1fdc219184f81681fbff566d465b5f1f31e872df5",
       "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWgAAAAB2LSjx/cIZGE+BaB+/9WbUZbXx8x6HLfU=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "key" : {
-        "curve" : "secp224r1",
-        "keySize" : 224,
-        "type" : "ECPublicKey",
-        "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
-        "wy" : "762d28f1fdc219184f81681fbff566d465b5f1f31e872df5"
-      },
       "tests" : [
         {
-          "tcId" : 1064,
+          "tcId" : 1167,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d00bfc5dc4434cd09369610687d38d2d418b63fd475dea246a456b25a3a021d00b171dfa6cf722f20816370a868785da842b37bac31d7b78e6751fc50",
@@ -16507,7 +19301,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1065,
+          "tcId" : 1168,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303e021d008fdbe8da646c5642d767c7dbeb3872b1edab6e37365805f0e94ce0a9021d00bcf35ab81222883dd3526cb0cf93138f4687cd0b10c2b0a126385161",
@@ -16515,7 +19309,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1066,
+          "tcId" : 1169,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "303d021d00e23a11275848fd4f8b6f4ac4fc305eae981d3b7dc453e5a980c46422021c1a875693f24a03ea1614c4c3bbd0dd7221429f22b337ea7d98348ca4",
@@ -16525,20 +19319,21 @@
       ]
     },
     {
-      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp224r1",
         "keySize" : 224,
         "type" : "ECPublicKey",
+        "uncompressed" : "0415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
         "wx" : "15016e52b36472d536477605fb805dd3903082a062d1ea30af9e555a",
         "wy" : "0ffffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c"
       },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000415016e52b36472d536477605fb805dd3903082a062d1ea30af9e555affffffff89d2d70e023de6e7b07e97df400a992b9a4a0e0ce178d20c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEFQFuUrNkctU2R3YF+4Bd05AwgqBi0eow\nr55VWv////+J0tcOAj3m57B+l99ACpkrmkoODOF40gw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1067,
+          "tcId" : 1170,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021c76645164ff9af3a1a9205fda2eef326d2bffc795dcc4829547fe01dd021d00b65bba503719314b27734dd06b1395d540af8396029b78b84e0149eb",
@@ -16546,7 +19341,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1068,
+          "tcId" : 1171,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303c021c32fa0ca7e07f1f86ac350734994e1f31b6da9c82f93dced2b983c29c021c7b7891282206a45711bdfcb2a102b5d289df84ff5778548603574004",
@@ -16554,7 +19349,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1069,
+          "tcId" : 1172,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "303d021c2d5492478ca64e5111dfd8521867b6477b7e78227849ad090b855694021d00a532f5a2fa3594af81cd5928b81b4057da717be5fb42a3a86c68190d",
@@ -16564,20 +19359,181 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----",
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
+        "wx" : "0f7e4713d085112112c37cdf4601ff688da796016b71a727a",
+        "wy" : "0de5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a000400000000f7e4713d085112112c37cdf4601ff688da796016b71a727ade5a9ec165054cc987f9dc87e9991b92e4fa649ca655eeae9f2a30e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEAAAAAPfkcT0IURIRLDfN9GAf9ojaeWAW\ntxpyet5ansFlBUzJh/nch+mZG5Lk+mScplXurp8qMOE=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1173,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c191eee5daf55cd499e8539cb2cff797cfec5d566d2027bf9f8d64693021d00dadfeae8131f64d96b94fd340197caa2bc04818554812feef3343070",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1174,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00e0e2c08180b8a207ee9105a7d379fa112368e8370fa09dfde4a45c45021d00c717bc0860e016e7ce48f8fe6a299b36906a6055adad93b416ce8838",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1175,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c1b919ef93532292743bb2e1b7b4894fd847c6e5de52a08e1b0f2dcfb021d00c2d30d6b7594d8dbd261491ae1d58779505b075b64e5564dc97a418b",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
+        "wx" : "0ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f725",
+        "wy" : "086c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004ffffffffeadf7cee8d34d04cf22c8f7de35674fb2f501d242a76f72586c409309d398e60ce1e0a4c9e05a9d32627577e8ce2cc7f3afa2c3e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAE/////+rffO6NNNBM8iyPfeNWdPsvUB0k\nKnb3JYbECTCdOY5gzh4KTJ4FqdMmJ1d+jOLMfzr6LD4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1176,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00e75db49ed33ff2885ea6100cc95b8fe1b9242ea4248db07bcac2e020021c796c866142ae8eb75bb0499c668c6fe45497692fbcc66b37c2e4624f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1177,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c1f81cd924362ec825890307b9b3936e0d8f728a7c84bdb43c5cf0433021c39d3e46a03040ad41ac026b18e0629f6145e3dc8d1e6bbe200c8482b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1178,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c00fda613aa67ca42673ad4309f3f0f05b2569f3dee63f4aa9cc54cf3021c1e5a64b68a37e5b201c918303dc7a40439aaeacf019c5892a8f6d0ce",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
+        "wx" : "0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1",
+        "wy" : "0e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1000000000e2ab0e8495e859eb2afb00769d6e7fe626a119167c0b6bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4QAAAAAOKrDoSV6FnrKvsAdp1uf+YmoRkWfAtrw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1179,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00b932b3f7e6467e1ec7a561f31160248c7f224550a8508788634b53ce021d00a0c5312acf9e801aff6d6fc98550cfa712bbf65937165a36f2c32dc9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1180,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00e509593fb09245ee8226ce72786b0cc352be555a7486be628f4fd00c021c0b7abde0061b1e07bf13319150a4ff6a464abab636ab4e297b0d7633",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1181,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c6e54f941204d4639b863c98a65b7bee318d51ab1900a8f345eac6f07021c0da5054829214ecde5e10579b36a2fe6426c24b064ed77c38590f25c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "secp224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
+        "wx" : "0b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1",
+        "wy" : "0fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945"
+      },
+      "keyDer" : "304e301006072a8648ce3d020106052b81040021033a0004b0013c6fbff6f09fecda1c263ef65399d4cf989ca5fc4f8fff0fe9e1fffffffff1d54f17b6a17a614d504ff7962918019d95ee6e983f4945",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nME4wEAYHKoZIzj0CAQYFK4EEACEDOgAEsAE8b7/28J/s2hwmPvZTmdTPmJyl/E+P\n/w/p4f/////x1U8XtqF6YU1QT/eWKRgBnZXubpg/SUU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1182,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d0085ea4ab3ffdc992330c0ca8152faf991386bce82877dbb239ba654f6021c0806c6baf0ebea4c1aaa190e7d4325d46d1f7789d550632b70b5fc9b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1183,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c44d53debb646b73485402eab2d099081b97b1243c025b624f0dd67ea021d00e5de789a7d4b77eac6d7bba41658e6e4dc347dabed2f9680c04a6f55",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1184,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c1526eb2f657ebea9af4ca184b975c02372c88e24e835f3f5774c0e12021c1f1ecce38ee52372cb201907794de17b6d6c1afa13c316c51cb07bc7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
         "wx" : "4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000",
         "wy" : "0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1070,
+          "tcId" : 1185,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3046022100d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f10221009b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a",
@@ -16585,7 +19541,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1071,
+          "tcId" : 1186,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "304402200fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b0220500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737",
@@ -16593,7 +19549,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1072,
+          "tcId" : 1187,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3045022100bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e30220541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677",
@@ -16603,20 +19559,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
         "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935",
         "wy" : "084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1073,
+          "tcId" : 1188,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30440220664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a022059f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd",
@@ -16624,7 +19581,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1074,
+          "tcId" : 1189,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "304502204cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b430221009638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3",
@@ -16632,7 +19589,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1075,
+          "tcId" : 1190,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3046022100e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04022100a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55",
@@ -16642,20 +19599,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
         "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935",
         "wy" : "7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1076,
+          "tcId" : 1191,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304402201158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf34668300220228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519",
@@ -16663,7 +19621,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1077,
+          "tcId" : 1192,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022100b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d02203e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336",
@@ -16671,7 +19629,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1078,
+          "tcId" : 1193,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3046022100b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86022100ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc",
@@ -16681,20 +19639,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
         "wx" : "2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff",
         "wy" : "0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1079,
+          "tcId" : 1194,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022100d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b402203dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929",
@@ -16702,7 +19661,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1080,
+          "tcId" : 1195,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304402205eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af7802202c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5",
@@ -16710,7 +19669,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1081,
+          "tcId" : 1196,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304602210096843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28022100f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d",
@@ -16720,20 +19679,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
         "wx" : "0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5",
         "wy" : "5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1082,
+          "tcId" : 1197,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30440220766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f60220402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41",
@@ -16741,7 +19701,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1083,
+          "tcId" : 1198,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3046022100c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9022100edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba",
@@ -16749,7 +19709,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1084,
+          "tcId" : 1199,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3046022100d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84022100feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941",
@@ -16759,20 +19719,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
         "wx" : "3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e",
         "wy" : "1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1085,
+          "tcId" : 1200,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7022100b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3",
@@ -16780,7 +19741,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1086,
+          "tcId" : 1201,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304402206b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f702205939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a",
@@ -16788,7 +19749,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1087,
+          "tcId" : 1202,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361022100f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d",
@@ -16798,20 +19759,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
         "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015",
         "wy" : "1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1088,
+          "tcId" : 1203,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3044022031230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb0702200f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff",
@@ -16819,7 +19781,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1089,
+          "tcId" : 1204,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743022100cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0",
@@ -16827,7 +19789,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1090,
+          "tcId" : 1205,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304502207e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859450221009450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa",
@@ -16837,20 +19799,21 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
         "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015",
         "wy" : "0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1091,
+          "tcId" : 1206,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3046022100d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35602210089c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224",
@@ -16858,7 +19821,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1092,
+          "tcId" : 1207,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30440220341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b34022072b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469",
@@ -16866,7 +19829,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1093,
+          "tcId" : 1208,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3045022070bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67022100aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9",
@@ -16876,20 +19839,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv8AAAABBgSS1aVnPg8l2NUPt+WMSdhtRtQhaVXgqj1A4Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1",
         "wx" : "6e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff",
         "wy" : "1060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff00000001060492d5a5673e0f25d8d50fb7e58c49d86d46d4216955e0aa3d40e1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv8AAAABBgSS1aVnPg8l2NUPt+WMSdhtRtQhaVXgqj1A4Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1094,
+          "tcId" : 1209,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304402206d6a4f556ccce154e7fb9f19e76c3deca13d59cc2aeb4ecad968aab2ded45965022053b9fa74803ede0fc4441bf683d56c564d3e274e09ccf47390badd1471c05fb7",
@@ -16897,7 +19861,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1095,
+          "tcId" : 1210,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100aad503de9b9fd66b948e9acf596f0a0e65e700b28b26ec56e6e45e846489b3c4022100fff223c5d0765447e8447a3f9d31fd0696e89d244422022ff61a110b2a8c2f04",
@@ -16905,7 +19869,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1096,
+          "tcId" : 1211,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "30460221009182cebd3bb8ab572e167174397209ef4b1d439af3b200cdf003620089e43225022100abb88367d15fe62d1efffb6803da03109ee22e90bc9c78e8b4ed23630b82ea9d",
@@ -16915,20 +19879,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv/////++fttKlqYwfDaJyrwSBpztieSuSvelqoeVcK7Tg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e",
         "wx" : "6e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40caff",
         "wy" : "0fffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046e823555452914099182c6b2c1d6f0b5d28d50ccd005af2ce1bba541aa40cafffffffffef9fb6d2a5a98c1f0da272af0481a73b62792b92bde96aa1e55c2bb4e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEboI1VUUpFAmRgsaywdbwtdKNUMzQBa8s\n4bulQapAyv/////++fttKlqYwfDaJyrwSBpztieSuSvelqoeVcK7Tg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1097,
+          "tcId" : 1212,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304502203854a3998aebdf2dbc28adac4181462ccac7873907ab7f212c42db0e69b56ed8022100c12c09475c772fd0c1b2060d5163e42bf71d727e4ae7c03eeba954bf50b43bb3",
@@ -16936,7 +19901,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1098,
+          "tcId" : 1213,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3046022100e94dbdc38795fe5c904d8f16d969d3b587f0a25d2de90b6d8c5c53ff887e3607022100856b8c963e9b68dade44750bf97ec4d11b1a0a3804f4cb79aa27bdea78ac14e4",
@@ -16944,7 +19909,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1099,
+          "tcId" : 1214,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3044022049fc102a08ca47b60e0858cd0284d22cddd7233f94aaffbb2db1dd2cf08425e102205b16fca5a12cdb39701697ad8e39ffd6bdec0024298afaa2326aea09200b14d6",
@@ -16954,20 +19919,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAAAAAT/SIkjWTZX3PCm0irSGMYUL5QP9\nAPhGi18PcOD27nqkO8LG/SWx2CaSQcvdnbsNrJbcliMfQwcF+DhxfQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d",
         "wx" : "13fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0",
         "wy" : "0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004000000013fd22248d64d95f73c29b48ab48631850be503fd00f8468b5f0f70e0f6ee7aa43bc2c6fd25b1d8269241cbdd9dbb0dac96dc96231f430705f838717d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEAAAAAT/SIkjWTZX3PCm0irSGMYUL5QP9\nAPhGi18PcOD27nqkO8LG/SWx2CaSQcvdnbsNrJbcliMfQwcF+DhxfQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1100,
+          "tcId" : 1215,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3045022041efa7d3f05a0010675fcb918a45c693da4b348df21a59d6f9cd73e0d831d67a022100bbab52596c1a1d9484296cdc92cbf07e665259a13791a8fe8845e2c07cf3fc67",
@@ -16975,7 +19941,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1101,
+          "tcId" : 1216,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3046022100b615698c358b35920dd883eca625a6c5f7563970cdfc378f8fe0cee17092144c022100da0b84cd94a41e049ef477aeac157b2a9bfa6b7ac8de06ed3858c5eede6ddd6d",
@@ -16983,7 +19949,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1102,
+          "tcId" : 1217,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304602210087cf8c0eb82d44f69c60a2ff5457d3aaa322e7ec61ae5aecfd678ae1c1932b0e022100c522c4eea7eafb82914cbf5c1ff76760109f55ddddcf58274d41c9bc4311e06e",
@@ -16993,20 +19959,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEJa/WiayrrtZ8Hylt5ZQG+MVQ9XFGoLTs\nLJeHbf/////6RqduUgMi37xJHsTwzBl0IPxOpYg9j23VPDVLxPZ8NQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35",
         "wx" : "25afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dffffffff",
         "wy" : "0fa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a0342000425afd689acabaed67c1f296de59406f8c550f57146a0b4ec2c97876dfffffffffa46a76e520322dfbc491ec4f0cc197420fc4ea5883d8f6dd53c354bc4f67c35",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEJa/WiayrrtZ8Hylt5ZQG+MVQ9XFGoLTs\nLJeHbf/////6RqduUgMi37xJHsTwzBl0IPxOpYg9j23VPDVLxPZ8NQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1103,
+          "tcId" : 1218,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022062f48ef71ace27bf5a01834de1f7e3f948b9dce1ca1e911d5e13d3b104471d82022100a1570cc0f388768d3ba7df7f212564caa256ff825df997f21f72f5280d53011f",
@@ -17014,7 +19981,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1104,
+          "tcId" : 1219,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3046022100f6b0e2f6fe020cf7c0c20137434344ed7add6c4be51861e2d14cbda472a6ffb40221009be93722c1a3ad7d4cf91723700cb5486de5479d8c1b38ae4e8e5ba1638e9732",
@@ -17022,7 +19989,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1105,
+          "tcId" : 1220,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022100db09d8460f05eff23bc7e436b67da563fa4b4edb58ac24ce201fa8a358125057022046da116754602940c8999c8d665f786c50f5772c0a3cdbda075e77eabc64df16",
@@ -17032,20 +19999,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE0S5sZrZ3NMPITSYBz1013Al+J2N/CspK\nT9t0tqrdO7k/W9/4i9VzbfiY5pkAbtdQ8RzwfFhmzXrXDHEh/////w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
         "wx" : "0d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb9",
         "wy" : "3f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a03420004d12e6c66b67734c3c84d2601cf5d35dc097e27637f0aca4a4fdb74b6aadd3bb93f5bdff88bd5736df898e699006ed750f11cf07c5866cd7ad70c7121ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAE0S5sZrZ3NMPITSYBz1013Al+J2N/CspK\nT9t0tqrdO7k/W9/4i9VzbfiY5pkAbtdQ8RzwfFhmzXrXDHEh/////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1106,
+          "tcId" : 1221,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30450220592c41e16517f12fcabd98267674f974b588e9f35d35406c1a7bb2ed1d19b7b8022100c19a5f942607c3551484ff0dc97281f0cdc82bc48e2205a0645c0cf3d7f59da0",
@@ -17053,7 +20021,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1107,
+          "tcId" : 1222,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3046022100be0d70887d5e40821a61b68047de4ea03debfdf51cdf4d4b195558b959a032b20221008266b4d270e24414ecacb14c091a233134b918d37320c6557d60ad0a63544ac4",
@@ -17061,7 +20029,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1108,
+          "tcId" : 1223,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3046022100fae92dfcb2ee392d270af3a5739faa26d4f97bfd39ed3cbee4d29e26af3b206a02210093645c80605595e02c09a0dc4b17ac2a51846a728b3e8d60442ed6449fd3342b",
@@ -17071,20 +20039,21 @@
       ]
     },
     {
-      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbUp/YNR3Sk8KqLve25U8fup5CUB+MWR1\nVmS8KAAAAADmWdNOTfONnoyeqt+6NmEsdpGVvobHeqw/NueLU4aA+w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp256k1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb",
         "wx" : "6d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000",
         "wy" : "0e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb"
       },
+      "keyDer" : "3056301006072a8648ce3d020106052b8104000a034200046d4a7f60d4774a4f0aa8bbdedb953c7eea7909407e3164755664bc2800000000e659d34e4df38d9e8c9eaadfba36612c769195be86c77aac3f36e78b538680fb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFYwEAYHKoZIzj0CAQYFK4EEAAoDQgAEbUp/YNR3Sk8KqLve25U8fup5CUB+MWR1\nVmS8KAAAAADmWdNOTfONnoyeqt+6NmEsdpGVvobHeqw/NueLU4aA+w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1109,
+          "tcId" : 1224,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30450220176a2557566ffa518b11226694eb9802ed2098bfe278e5570fe1d5d7af18a943022100ed6e2095f12a03f2eaf6718f430ec5fe2829fd1646ab648701656fd31221b97d",
@@ -17092,7 +20061,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1110,
+          "tcId" : 1225,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3045022060be20c3dbc162dd34d26780621c104bbe5dace630171b2daef0d826409ee5c2022100bd8081b27762ab6e8f425956bf604e332fa066a99b59f87e27dc1198b26f5caa",
@@ -17100,7 +20069,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1111,
+          "tcId" : 1226,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3046022100edf03cf63f658883289a1a593d1007895b9f236d27c9c1f1313089aaed6b16ae022100e5b22903f7eb23adc2e01057e39b0408d495f694c83f306f1216c9bf87506074",
@@ -17110,20 +20079,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
         "wx" : "0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac",
         "wy" : "0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1112,
+          "tcId" : 1227,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3065023007648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed02310099fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f",
@@ -17131,7 +20101,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1113,
+          "tcId" : 1228,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3065023100a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca44074102303970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2",
@@ -17139,7 +20109,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1114,
+          "tcId" : 1229,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30650230441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05023100dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd",
@@ -17149,20 +20119,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
         "wx" : "0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422",
         "wy" : "0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1115,
+          "tcId" : 1230,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402303244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a65290230501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93",
@@ -17170,7 +20141,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1116,
+          "tcId" : 1231,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402305e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b02307e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955",
@@ -17178,7 +20149,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1117,
+          "tcId" : 1232,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306502306688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0d023100aa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f",
@@ -17188,20 +20159,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
         "wx" : "1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000",
         "wy" : "0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1118,
+          "tcId" : 1233,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3065023100d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb48023004cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae",
@@ -17209,7 +20181,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1119,
+          "tcId" : 1234,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3065023100c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a220230201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40",
@@ -17217,7 +20189,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1120,
+          "tcId" : 1235,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3065023100d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc202301fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b",
@@ -17227,20 +20199,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
         "wx" : "2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69",
         "wy" : "0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1121,
+          "tcId" : 1236,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3065023020fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81970231008141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16",
@@ -17248,7 +20221,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1122,
+          "tcId" : 1237,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3065023100913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f0230649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551",
@@ -17256,7 +20229,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1123,
+          "tcId" : 1238,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3064023023855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd023050f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee",
@@ -17266,20 +20239,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
         "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336",
         "wy" : "208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1124,
+          "tcId" : 1239,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3066023100d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d21e84593a023100c2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799",
@@ -17287,7 +20261,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1125,
+          "tcId" : 1240,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "306402306ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e0023032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835",
@@ -17295,7 +20269,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1126,
+          "tcId" : 1241,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3065023100e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc502304a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0",
@@ -17305,20 +20279,21 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
         "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336",
         "wy" : "0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1127,
+          "tcId" : 1242,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3064023015aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d02307f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f",
@@ -17326,7 +20301,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1128,
+          "tcId" : 1243,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "306602310090b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47023100cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1",
@@ -17334,7 +20309,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1129,
+          "tcId" : 1244,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3066023100dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9023100a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b",
@@ -17344,20 +20319,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoAAAAA\nAJuYv9MzmMLPhgb8CuRottYXzLPnBK87hQZkKnddW02p0AIJNkqfCkrXfLrGBKAV\nyX5rWhiESliaTxx9liU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
         "wx" : "304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a",
         "wy" : "09b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoAAAAA\nAJuYv9MzmMLPhgb8CuRottYXzLPnBK87hQZkKnddW02p0AIJNkqfCkrXfLrGBKAV\nyX5rWhiESliaTxx9liU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1130,
+          "tcId" : 1245,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3081870242011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe4746218024134c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6",
@@ -17365,7 +20341,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1131,
+          "tcId" : 1246,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "30818702417c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e024201058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d",
@@ -17373,7 +20349,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1132,
+          "tcId" : 1247,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "308188024201e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c024201de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e",
@@ -17383,20 +20359,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoB////\n/2RnQCzMZz0wefkD9RuXSSnoM0wY+1DEevmb1YiipLJWL/32ybVg9bUog0U5+1/q\nNoGUped7tadlsOOCado=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
         "wx" : "304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a",
         "wy" : "1ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoB////\n/2RnQCzMZz0wefkD9RuXSSnoM0wY+1DEevmb1YiipLJWL/32ybVg9bUog0U5+1/q\nNoGUped7tadlsOOCado=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1133,
+          "tcId" : 1248,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "308187024200b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a820241228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f",
@@ -17404,7 +20381,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1134,
+          "tcId" : 1249,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30818802420093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea20242012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7",
@@ -17412,7 +20389,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1135,
+          "tcId" : 1250,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30818802420152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa652024201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6",
@@ -17422,20 +20399,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAAAAAAvumoGEgHqax7UJlFjVoc166\nt4YAzfanEQHcY76vVG2XohT8Y5Z5OwFOsap6co9T3rL/mZmjgI3f7RXpYpsBmThS\n2tw5KZpaRba9fI3I7Gfnrbs1n6j6XUSXfhXi5ams8MM2RfPyxoxSbgdzL7NQQ3Gc\n+vwWBjyOWIUKlYQ2pOU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
         "wx" : "2fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b",
         "wy" : "1993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAAAAAAvumoGEgHqax7UJlFjVoc166\nt4YAzfanEQHcY76vVG2XohT8Y5Z5OwFOsap6co9T3rL/mZmjgI3f7RXpYpsBmThS\n2tw5KZpaRba9fI3I7Gfnrbs1n6j6XUSXfhXi5ams8MM2RfPyxoxSbgdzL7NQQ3Gc\n+vwWBjyOWIUKlYQ2pOU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1136,
+          "tcId" : 1251,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3081880242010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e0242017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda",
@@ -17443,7 +20421,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1137,
+          "tcId" : 1252,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3081880242011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf5906802420147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06",
@@ -17451,7 +20429,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1138,
+          "tcId" : 1253,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "308188024201d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce2024201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457",
@@ -17461,20 +20439,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/////h1dUrMcpS+JR6NVk+3xZM0y\nT4M7kJNYRsZNsUVN+fAo3IvDa7BMt/DM7OugGjhECX98Ne6qgUKNsMymMzEBt8cC\nd9C/eKPHtiyTfwyyytJWX1UU9iBc6xoZPU/bRbpubOwHgnuuCxa4MWw1OaFRFNDe\nbS3kB/1xF1UacIJuraY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
         "wx" : "1fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331",
         "wy" : "1b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/////h1dUrMcpS+JR6NVk+3xZM0y\nT4M7kJNYRsZNsUVN+fAo3IvDa7BMt/DM7OugGjhECX98Ne6qgUKNsMymMzEBt8cC\nd9C/eKPHtiyTfwyyytJWX1UU9iBc6xoZPU/bRbpubOwHgnuuCxa4MWw1OaFRFNDe\nbS3kB/1xF1UacIJuraY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1139,
+          "tcId" : 1254,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30818602414ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a702417aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188",
@@ -17482,7 +20461,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1140,
+          "tcId" : 1255,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "308188024200e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d836024201489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3",
@@ -17490,7 +20469,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1141,
+          "tcId" : 1256,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "308188024201d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee59430242015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9",
@@ -17500,20 +20479,21 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAx8iBe/LwZSpKS1FAx3PiYQgKChET\nlYVuijNQ9etWEr1js2e5ZekulTjqO3kIrvGt5LaOF/n5FISVwWfRxN1JE0kACL8L\n4peau4ER/Q12itytd0ETqCLBu2CIcFO1z4yVY+dnBaOR7OFUtd+xFLIONR30AUvs\nGfqHcghFgBzwa3////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
         "wx" : "0c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349",
         "wy" : "08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAx8iBe/LwZSpKS1FAx3PiYQgKChET\nlYVuijNQ9etWEr1js2e5ZekulTjqO3kIrvGt5LaOF/n5FISVwWfRxN1JE0kACL8L\n4peau4ER/Q12itytd0ETqCLBu2CIcFO1z4yVY+dnBaOR7OFUtd+xFLIONR30AUvs\nGfqHcghFgBzwa3////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1142,
+          "tcId" : 1257,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "308188024201ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef21024201ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b",
@@ -17521,7 +20501,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1143,
+          "tcId" : 1258,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30818802420155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c0024200f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22",
@@ -17529,7 +20509,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1144,
+          "tcId" : 1259,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "308188024201a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a024201a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d",
@@ -17539,20 +20519,461 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f7749507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKn7V9tiUBOJWU8O6fwWUvqDN3+j\nAuGc72QlL8CxR/d0lQes9bBDOe0QK5ymDbmMFluU6+hV0iAuRtzhW6HgKL4=\n-----END PUBLIC KEY-----",
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04802a0f51204ef6a829211bc0740887461ee4aba736e9caee000000007fb931e06300451362d444106eeb5dabddca650fec4be55fc545f7c8",
+        "wx" : "0802a0f51204ef6a829211bc0740887461ee4aba736e9caee00000000",
+        "wy" : "7fb931e06300451362d444106eeb5dabddca650fec4be55fc545f7c8"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004802a0f51204ef6a829211bc0740887461ee4aba736e9caee000000007fb931e06300451362d444106eeb5dabddca650fec4be55fc545f7c8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIAqD1EgTvaoKSEbwHQIh0Ye5Kun\nNunK7gAAAAB/uTHgYwBFE2LURBBu612r3cplD+xL5V/FRffI\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1260,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c0e17e8450ea85d201ac120ad8219dba676e937f139eb28ca3b02b7a7021c7839548a47fc6f4d5dbd4fa76b947ab9d3fd1f428bf3b0ebcafe85d6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1261,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c331c2d450147066ec54df6db127e520f53ff40494694f40c16d62bda021c17f9ecad114fac61661fa4be9dba6adf361ccd2a7cfd9141926273c5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1262,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c40cdcc80f93e469b257cf5890500eb6e6cb0f5f6b81b717159baaa43021c0d748759d141d54d15080bbf76db1e9da934d6a43b5df86fafee9fa8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04cb320c84f26c00a1b4ad7146914cae126529165de7363d8aef9abd05a397d46b87283176b7f69da1f94615ca4431fc47b2a0e60c00000000",
+        "wx" : "0cb320c84f26c00a1b4ad7146914cae126529165de7363d8aef9abd05",
+        "wy" : "0a397d46b87283176b7f69da1f94615ca4431fc47b2a0e60c00000000"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004cb320c84f26c00a1b4ad7146914cae126529165de7363d8aef9abd05a397d46b87283176b7f69da1f94615ca4431fc47b2a0e60c00000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMsyDITybAChtK1xRpFMrhJlKRZd\n5zY9iu+avQWjl9Rrhygxdrf2naH5RhXKRDH8R7Kg5gwAAAAA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1263,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00bdf933f1bd8f7f85007b53006ca6286825d8cda993d2732bcf7ef821021d008b233dcd04c8bfc0135f77f092c40e5a3d372663cd270467cec78602",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1264,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00a130281e17a3bebbbf807d82a17ee8481ae355d97986066ebc23a9d2021c57967b897505d7833916968b24d3f4a4d75881b530725d28ece785af",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1265,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c711567408f7592b1e09b87c6bfd20dff2fa50663ad4dd0ff86353f5d021c60c183ff249e79258c8e95e59d13ead6db5ccfcb70c0ea05433fd8d7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040000000081df971744a25ac99472c3ff5a8fc49b86fc9fb570448ff977f2d07c1c9296b2f77478d13d5ab1c63993962f2dd08ee7c313dece",
+        "wx" : "081df971744a25ac99472c3ff5a8fc49b86fc9fb570448ff9",
+        "wy" : "77f2d07c1c9296b2f77478d13d5ab1c63993962f2dd08ee7c313dece"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040000000081df971744a25ac99472c3ff5a8fc49b86fc9fb570448ff977f2d07c1c9296b2f77478d13d5ab1c63993962f2dd08ee7c313dece",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABAAAAACB35cXRKJayZRyw/9aj8Sb\nhvyftXBEj/l38tB8HJKWsvd0eNE9WrHGOZOWLy3QjufDE97O\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1266,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c141aa423ae368d00efcdc9a3a61102888a2f3457d21f1ceb15a646d0021c2cf9185b025434b807fec86c2dee087827fe3a07b174eddbe0b3fc63",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1267,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c0714c39972835620b5f1952e8792bc2933e9fda40c1c48472bb93feb021d00d30c570777affb34aa4d2506bd0ae9e4245398fc3a5d79d8e4681b37",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1268,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d0088089cd16381ba75b1bb830053202970ebdf4a3222831378d9784713021c3bcef1a5e70eee13abac90b95b764cf344ccc9c0b4703f7be60292da",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b000000002801d48382861684b8d2cbd7e5989a0d7c15a7e819b573aa",
+        "wx" : "0d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b",
+        "wy" : "2801d48382861684b8d2cbd7e5989a0d7c15a7e819b573aa"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b000000002801d48382861684b8d2cbd7e5989a0d7c15a7e819b573aa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA0otPf+H2xvpqd9EeQ70+knF1jf\nNMZfpXem3TsAAAAAKAHUg4KGFoS40svX5ZiaDXwVp+gZtXOq\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1269,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c6e5344dd4452d37dff3d46177d56d3dd7f3faa63ac0ff0f4fa3996d7021d00d380df757a616d6c209a590dbbeba1dd2bf75d17e49841a6f7a7aca4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1270,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00c85b980fa4149d9ac418090c9eda8754d1ea5228fbe04a918157879f021c4f848fb87e188614ad92b4e0bddfaeade1d7d19da6a249e4cbd73358",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1271,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00b02936692b3e662508896e956fec67733a5436a40fc9b7a896f44c8e021c04b8dea8fe1593aa703dcde9c3a9e8bd8a1bd6e06631d273aa8bd978",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3bd7c134a9fe419202a79219a0bcff0bafcb066d4a1bc4e20d65134d55",
+        "wx" : "0d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3b",
+        "wy" : "0d7c134a9fe419202a79219a0bcff0bafcb066d4a1bc4e20d65134d55"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00040d28b4f7fe1f6c6fa6a77d11e43bd3e9271758df34c65fa577a6dd3bd7c134a9fe419202a79219a0bcff0bafcb066d4a1bc4e20d65134d55",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABA0otPf+H2xvpqd9EeQ70+knF1jf\nNMZfpXem3TvXwTSp/kGSAqeSGaC8/wuvywZtShvE4g1lE01V\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1272,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d009750a310311b383b1e9c36c63003748261460b52233f871a8d0d0e87021c4cab79d9bbf0c570e30a2383405b4ecbec8608dde1d24b3730b87835",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1273,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c560e0be613fb22842c6c23cc571058141112dc35497e54241f398cc9021c009dc86d2c7f0861313d49379335b2ed1c06a1709eddca0326f76ab5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1274,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00a5c995fc1fb0a913f2bb5db55d40bc846b78f32eb77ce8037b1e6086021d00b0bc916ecffdeb812f0bb16d0236d5fe77d855ba47009c921581eb4f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224t1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d3315edb498cdae7e105fb1cb9cfb1c8b736a831e0bef47be3c15311b513d2bf169a570607f9dcb809a53840ef6e907a7fe90ee3ffffffff",
+        "wx" : "0d3315edb498cdae7e105fb1cb9cfb1c8b736a831e0bef47be3c15311",
+        "wy" : "0b513d2bf169a570607f9dcb809a53840ef6e907a7fe90ee3ffffffff"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a0004d3315edb498cdae7e105fb1cb9cfb1c8b736a831e0bef47be3c15311b513d2bf169a570607f9dcb809a53840ef6e907a7fe90ee3ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABNMxXttJjNrn4QX7HLnPsci3Nqgx\n4L70e+PBUxG1E9K/FppXBgf53LgJpThA726Qen/pDuP/////\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1275,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c77cd4c6e4907e645028fd9ab47f35f3e4deac62ab5623e4caa5f22ca021c4dfb99d0da46d520687e3ad4eac2383664a7bbc9249faaef6af5d0c5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1276,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c270c9c43ade9dc6cf53853d7b544db44aa43291d20f8674cf4d2cfab021c2f6d5d4db32b2f547923bbdb9d7a79044a2b02149ba8a409914ddf77",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1277,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c218a41444e6a08de3a15dd81deb2f0909989926e919c6b39422a07b9021d00bff743595322d652da673bbb78428150d2aaa245c4ecc08d58350b57",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224t1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400000000ad0561f78ae4931752dcac129756e9057a5fd6ee31a280293ce1515ae15694f8bd2efa26f5fb5e10b38c393d539d25ad3152fe94",
+        "wx" : "0ad0561f78ae4931752dcac129756e9057a5fd6ee31a28029",
+        "wy" : "3ce1515ae15694f8bd2efa26f5fb5e10b38c393d539d25ad3152fe94"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a000400000000ad0561f78ae4931752dcac129756e9057a5fd6ee31a280293ce1515ae15694f8bd2efa26f5fb5e10b38c393d539d25ad3152fe94",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABAAAAACtBWH3iuSTF1LcrBKXVukF\nel/W7jGigCk84VFa4VaU+L0u+ib1+14Qs4w5PVOdJa0xUv6U\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1278,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c240c5b1371b9b45cc72ae32ef9dca603d92644bc33c88af5494c4568021c225648b2154e0b3834a426b3c0f3c68afd356715670664b4bcebd44d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1279,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00b585ad9b16d2999bad8ae0c08e49d6f1aab3287f4c5a9ccb0ca75c19021c6b6cca5d875bf475b56669b4bff47dddb6ae9dd0c29d8f5bb3806ece",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1280,
+          "comment" : "x-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c5c9b6872553ed6bf23ec5fcc5ac1f6cf49a30e93a275556634e7cd44021c687e3a536c67325a97b46db24d557469b0dc38e0574a5bd4aae8f976",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224t1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0467a0970c72a15b2bf830ede450f72d29f7e24e307933e39fe37a6269000000000a84a1d47239d59c46df70265c8f728d4a6dc98c9b1237dc",
+        "wx" : "67a0970c72a15b2bf830ede450f72d29f7e24e307933e39fe37a6269",
+        "wy" : "0a84a1d47239d59c46df70265c8f728d4a6dc98c9b1237dc"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a000467a0970c72a15b2bf830ede450f72d29f7e24e307933e39fe37a6269000000000a84a1d47239d59c46df70265c8f728d4a6dc98c9b1237dc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABGeglwxyoVsr+DDt5FD3LSn34k4w\neTPjn+N6YmkAAAAACoSh1HI51ZxG33AmXI9yjUptyYybEjfc\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1281,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d0094b828b360834e98f348d0e2084f39b6375a7fb31ac2c16a78d5c123021c2e6b6686d1b582e165be1bfda1b35ca16839f312fa74252ba7f42e2d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1282,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c69c0f72f5308ef41dad0e2ea4dbd3af978a80186aded8f33c1fa1c7e021c22ba73e20baaa697c67de73c89752705aa3f3acdaf027d7ef216e338",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1283,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00a5a02604d4edff156c42619395a41304440e375e94314a482ee52ef8021c1a5f88c1c708e7cf2697f574c1edcb5e68dd6a25199be40d190860fa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224t1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0467a0970c72a15b2bf830ede450f72d29f7e24e307933e39fe37a6269d7c134aa1bbec4b1b7de5a892ef26761540f94ca4d6cc068e3b68923",
+        "wx" : "67a0970c72a15b2bf830ede450f72d29f7e24e307933e39fe37a6269",
+        "wy" : "0d7c134aa1bbec4b1b7de5a892ef26761540f94ca4d6cc068e3b68923"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a000467a0970c72a15b2bf830ede450f72d29f7e24e307933e39fe37a6269d7c134aa1bbec4b1b7de5a892ef26761540f94ca4d6cc068e3b68923",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABGeglwxyoVsr+DDt5FD3LSn34k4w\neTPjn+N6YmnXwTSqG77EsbfeWoku8mdhVA+Uyk1swGjjtokj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1284,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c58c9484628a064a0c0708b8cc9cc66c86c469228684ed9ddcfd84f60021d00c676ba679fba5b70dc502b307c44c73994b2215025654beea00edf86",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1285,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00d4927deedb36416ff812c995147f906a3c25f1fa6931c7aac5993633021d00951be296ab7fe95ec7f3d0a4277ae2b45c2736b56ddd041c07c7bf6a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1286,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d0091d9e01b7d857d6dc1c795e363a5db9e8aceb36a71f3ccc500e3200b021d00d12426571cd8e7764b682cb65b9e0fed3aec3e224ed89f45610bf9c5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224t1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040e3b9930f83128444f91cb99dad7ad08ebda6751249ff480b4f8c99ba87ab319035e38828bedfd8b88648c509a93a2c90893667b00000000",
+        "wx" : "0e3b9930f83128444f91cb99dad7ad08ebda6751249ff480b4f8c99b",
+        "wy" : "0a87ab319035e38828bedfd8b88648c509a93a2c90893667b00000000"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a00040e3b9930f83128444f91cb99dad7ad08ebda6751249ff480b4f8c99ba87ab319035e38828bedfd8b88648c509a93a2c90893667b00000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABA47mTD4MShET5HLmdrXrQjr2mdR\nJJ/0gLT4yZuoerMZA144govt/YuIZIxQmpOiyQiTZnsAAAAA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1287,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c60e49adadc253a80c898a6e5bb60729f8a493c69ca762f5f914bb095021d00a9767c5acf98c0486dcbdc8d893406833ed3d7512b90b3dc8c86e068",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1288,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c3b802bc26fbf0a1ac2471622721300e4b6b6608683dc53c1695bbb49021d00a484c4c40c1cd96c72bb59193c408f36ae7db57b0b7019b83412f56e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1289,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00bb4333677bbd774da30446a45cb4457ebbf348fd79a0570e94353df5021c03aee9fb72e283d6ff2721796696e7d7e744e9128411519a31a0aa9c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224t1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d6939170da6417743dd90517b6b5a249d8176cdc054395a5ffffffff40d1f24a9103e287cff1cd33c841a8f5ac64441adb60e5aa55cbf4a2",
+        "wx" : "0d6939170da6417743dd90517b6b5a249d8176cdc054395a5ffffffff",
+        "wy" : "40d1f24a9103e287cff1cd33c841a8f5ac64441adb60e5aa55cbf4a2"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010106033a0004d6939170da6417743dd90517b6b5a249d8176cdc054395a5ffffffff40d1f24a9103e287cff1cd33c841a8f5ac64441adb60e5aa55cbf4a2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEGAzoABNaTkXDaZBd0PdkFF7a1oknYF2zc\nBUOVpf////9A0fJKkQPih8/xzTPIQaj1rGREGttg5apVy/Si\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1290,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c5b0960bf9b80e91dca65e558adf271f16b23e87bcc6c51ef10ce9352021d008f84a7c312b21c959c6cf7efbfd8feb7174ff6401a85e17ba6121e0b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1291,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c1f1a6223aad76016ac351833a0b7859c6b6ff9edf900d040c8cc398a021c512b0b449c3bd0df9e5153f6e8d6381752ed62785d853d72950d9d7f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1292,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c034a264c9d3feafdd488c528af27fa45c58f28cfe4a1637d1ab567d3021c4d7c05e58af7f288ab83d01bbf8fad1d8ca793221d4af5fe4c719fd3",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f7749507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be",
         "wx" : "0a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f774",
         "wy" : "09507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a9fb57db62501389594f0ee9fc1652fa83377fa302e19cef64252fc0b147f7749507acf5b04339ed102b9ca60db98c165b94ebe855d2202e46dce15ba1e028be",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKn7V9tiUBOJWU8O6fwWUvqDN3+j\nAuGc72QlL8CxR/d0lQes9bBDOe0QK5ymDbmMFluU6+hV0iAuRtzhW6HgKL4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1145,
+          "tcId" : 1293,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3045022062aab40a36d6a0d25644719ce31dc629ec684f6f0da32f9dd034ccc421dbd0ed022100a1fa6b0dfd9558da29374fb77505ee8ab3572161711f821d11807c7fff910c1c",
@@ -17560,7 +20981,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1146,
+          "tcId" : 1294,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30450220740cd3d3a9cd9dbe05ead4e39e54db27c0f1579da68e3aa5c9245b047aebc3b80221008ae78c12233d378fe2ce3c0fb2b769f8463830a71a5e5187c11b20fdd7e50445",
@@ -17568,7 +20989,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1147,
+          "tcId" : 1295,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3045022100a28f30245c5fb0c225fdec23924dc2cd4c2da888d1ee1bc5445858c646015ca802200ee364c1491c4551ef3509be8f88db0e04d0afb36528aeda1301b14948cc9cd6",
@@ -17578,20 +20999,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e884652761270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDUaRfuSDyyfGxeEOPo78nL/kyi4\ngcR3ofVqjA6IRlJ2EnD4Bv5ArZfr92xoJThLeArmr8zHkrBfL7Pre3////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e884652761270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff",
         "wx" : "351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e88465276",
         "wy" : "1270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004351a45fb920f2c9f1b178438fa3bf272ff9328b881c477a1f56a8c0e884652761270f806fe40ad97ebf76c6825384b780ae6afccc792b05f2fb3eb7b7fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABDUaRfuSDyyfGxeEOPo78nL/kyi4\ngcR3ofVqjA6IRlJ2EnD4Bv5ArZfr92xoJThLeArmr8zHkrBfL7Pre3////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1148,
+          "tcId" : 1296,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304402207f202f54f591b51105b227ee6d6da3adddfc4b5e819efc04befcdcbf7484f78302204360ea04503955fc3f025928b2dce50ff2d58b9060b34bbedfc3c219b3b4355b",
@@ -17599,7 +21021,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1149,
+          "tcId" : 1297,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3044022062e218dca32e4ef35692e9315e1e036bef1766073b846e38de20d2d29349f9fe0220519d4d4c6158d95474d793a0ee9c260a0c5469c5aab79510971b41fb4fae4baf",
@@ -17607,7 +21029,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1150,
+          "tcId" : 1298,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3045022100a3902295f6f743ac754db7b3fcd823be917b1191a5705728f5682492784da7f1022043def636660eff72e6435edb850c9126c7067938668f249998a0e4006b8ee7db",
@@ -17617,20 +21039,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040000000129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc35354a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAAAAAEpshRuNvwFVUW/jyzHD45z\n6LJeU5NlrXV3zDU1SiuMAxm8TM0+YNoRlHfCP6+PwtzvxC0691gnrrQvbw8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040000000129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc35354a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f",
         "wx" : "129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc3535",
         "wy" : "4a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200040000000129b2146e36fc055545bf8f2cc70f8e73e8b25e539365ad7577cc35354a2b8c0319bc4ccd3e60da119477c23faf8fc2dcefc42d3af75827aeb42f6f0f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAAAAAEpshRuNvwFVUW/jyzHD45z\n6LJeU5NlrXV3zDU1SiuMAxm8TM0+YNoRlHfCP6+PwtzvxC0691gnrrQvbw8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1151,
+          "tcId" : 1299,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304502210086d05b26a9ca7e10ae0681bb4c35a06d7a4e918f8625e3dfa7ac2d5aeda91c05022008c5f475a95888769da4a0e1b635c2292f654f934a5c5010fe0c729f3d11e1b1",
@@ -17638,7 +21061,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1152,
+          "tcId" : 1300,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3045022043c4474710d25094a2e21a9cc08585c26015f9f94012b100e72c0763aa9e0cff0221008345c46fd5592cefbd5ebb258965c05d964e6e6a278198ddc1e388cf1e75867c",
@@ -17646,7 +21069,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1153,
+          "tcId" : 1301,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304402206d2724167e816528491cce574f0526209de52cd0f2af0085284fd050163d37c5022076dd1dd50ff9b553b0e142b7e6c6be8edf3708dd292f03f3e9bf157d21daa9eb",
@@ -17656,20 +21079,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d0508541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGgL7Kvn199Prf5a4B+6XqUbdnWW\nBqLjBhLmZ0GbiF0FCFQdywcjeFw8dmWBp1FKH/QuRDfWP4eCccuGDwAAAAA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d0508541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000",
         "wx" : "680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d05",
         "wy" : "08541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004680becabe7d7df4fadfe5ae01fba5ea51b76759606a2e30612e667419b885d0508541dcb0723785c3c766581a7514a1ff42e4437d63f878271cb860f00000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABGgL7Kvn199Prf5a4B+6XqUbdnWW\nBqLjBhLmZ0GbiF0FCFQdywcjeFw8dmWBp1FKH/QuRDfWP4eCccuGDwAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1154,
+          "tcId" : 1302,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30440220321009a06c759c54cd66baafa0cbfd07eedb19f12a1ed654dd52b56f9c4fac7c02201956310a7e4757ec83ddb92d2763607354678149f1ad92387928cf887b4bed0f",
@@ -17677,7 +21101,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1155,
+          "tcId" : 1303,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30450221009bdd359881c239e2415ca2af3d18463bb24be53f6f636cbd20360b6b333bc34502200ff03bc36cc1975bdc8680c44fbf2aefddf67c118c304b8b3d360eb10203c3a4",
@@ -17685,7 +21109,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1156,
+          "tcId" : 1304,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3044022048565eb7e7820d40754b5f264a4ceafa62bf75084241514b491995e7971e699502203da6df3d354f48daef6d078cf1124295fc8c3211f2757967c781dc2e9c62ed1a",
@@ -17695,20 +21119,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee906100000001469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhAAAAAUaftFbKahcgyo2yXVZ+Ehz5Ic4T40AA+MEvUnI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee906100000001469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272",
         "wx" : "7d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061",
         "wy" : "1469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee906100000001469fb456ca6a1720ca8db25d567e121cf921ce13e34000f8c12f5272",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhAAAAAUaftFbKahcgyo2yXVZ+Ehz5Ic4T40AA+MEvUnI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1157,
+          "tcId" : 1305,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "30450220518e885def022eb5020fc90f4024d87122dc0f3ed7f869ed7720ff74a009fb7b0221008a3e26a8cd426d21eba5cd7a5614f3644395cfcecb24fe760a68a7a9e8f09c02",
@@ -17716,7 +21141,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1158,
+          "tcId" : 1306,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3044022004b01e5cc3ce9bf10844bc1cb21deeff6ebc9e2a7010cfbb3af0811354599c8102202e65fb8db62f255910ea4d5235bb21aa67aa59ffd519911ecd9893000ab67bb4",
@@ -17724,7 +21149,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1159,
+          "tcId" : 1307,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "304502210094bb0601198c4ce266b0932426ffd00132d7d4e2de65ef47f56360825f26243802202734327d1989c9580f5458f04aac6fd5752a1ee5e236e9ed1a7c0b2d9b36db10",
@@ -17734,20 +21159,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhqftX2ltO9WVz+/Nv0vXbFRe95AbcBFIUPNNHJF4/AQU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105",
         "wx" : "7d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061",
         "wy" : "0a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200047d16fd656a9e6b34e45d8c8c3b458eae7bbc2879f8b4f61171a96f664eee9061a9fb57da5b4ef56573fbf36fd2f5db1517bde406dc0452143cd347245e3f0105",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABH0W/WVqnms05F2MjDtFjq57vCh5\n+LT2EXGpb2ZO7pBhqftX2ltO9WVz+/Nv0vXbFRe95AbcBFIUPNNHJF4/AQU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1160,
+          "tcId" : 1308,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304402204dde197f962c63a7799c862e897b3bb1e7a7ddfb9ab77c2a17a54151ce604ad60220017e7aef86e533086425a2c4b32082f118913ef3667c8437672e0bbc7c2b8d7e",
@@ -17755,7 +21181,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1161,
+          "tcId" : 1309,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304402207c53ed1d504ad4ba53d39792012a34d007250a2b8d1ca189c0d9f75ccc9a9957022009b97dcc5c67487114231d601374a8364cafa39581291762202b9215d51135fd",
@@ -17763,7 +21189,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1162,
+          "tcId" : 1310,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30450220513245ab2b6a4206bb0f6970c8ad040a94725ddc9a08db0fd9def93866ffbba1022100a53a7ab37decedae18dd5b5c48eb642b7a9c927e6bcf6bdac3a757e6d2c169c5",
@@ -17773,20 +21199,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200047f85e98d6be68ba1db3a0e1eddd66f059521eb4117e72d804134392effffffff0efe5fb8e32884e0796063ee19094944d7998137b305ff3b5f0288f67a1b6a2e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABH+F6Y1r5ouh2zoOHt3WbwWVIetB\nF+ctgEE0OS7/////Dv5fuOMohOB5YGPuGQlJRNeZgTezBf87XwKI9nobai4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256t1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047f85e98d6be68ba1db3a0e1eddd66f059521eb4117e72d804134392effffffff0efe5fb8e32884e0796063ee19094944d7998137b305ff3b5f0288f67a1b6a2e",
         "wx" : "7f85e98d6be68ba1db3a0e1eddd66f059521eb4117e72d804134392effffffff",
         "wy" : "0efe5fb8e32884e0796063ee19094944d7998137b305ff3b5f0288f67a1b6a2e"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200047f85e98d6be68ba1db3a0e1eddd66f059521eb4117e72d804134392effffffff0efe5fb8e32884e0796063ee19094944d7998137b305ff3b5f0288f67a1b6a2e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABH+F6Y1r5ouh2zoOHt3WbwWVIetB\nF+ctgEE0OS7/////Dv5fuOMohOB5YGPuGQlJRNeZgTezBf87XwKI9nobai4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1163,
+          "tcId" : 1311,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304402204b5eaecd4434b9a3052490e5d74725d11b1bb0eab3341ab7e5343638b96309a5022060c4fcfacac8f8b6079402b514453033606c42efd166f67115644ec0cc704ff2",
@@ -17794,7 +21221,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1164,
+          "tcId" : 1312,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3044022017c45f9814d9553c17d73fccf1060770dba9e540af29b2576cce524494d6c8d202205cc08e026aed87fbb3d6f2e8e0cc8083f04eb3fd06e12e108f180b3e0fdec73e",
@@ -17802,7 +21229,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1165,
+          "tcId" : 1313,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30440220515bc9c084757bbdbe90497ec5fca75e8b48e64f794417af2ba8bbf78ea992f5022068c31499463513540ba789bdaa4530884117c1856398ba3b19286029f3fa797b",
@@ -17812,20 +21239,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040058237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b250890000000049e1973136914fb97489793fe44a2103c7bc6b90fe183976d0794632",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABABYI3o0+T2LcBP5a4vWGDAKJ5bK\n2TUPROW7id71slCJAAAAAEnhlzE2kU+5dIl5P+RKIQPHvGuQ/hg5dtB5RjI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256t1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040058237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b250890000000049e1973136914fb97489793fe44a2103c7bc6b90fe183976d0794632",
         "wx" : "58237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b25089",
         "wy" : "49e1973136914fb97489793fe44a2103c7bc6b90fe183976d0794632"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040058237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b250890000000049e1973136914fb97489793fe44a2103c7bc6b90fe183976d0794632",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABABYI3o0+T2LcBP5a4vWGDAKJ5bK\n2TUPROW7id71slCJAAAAAEnhlzE2kU+5dIl5P+RKIQPHvGuQ/hg5dtB5RjI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1166,
+          "tcId" : 1314,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "30450220038090bf9f3f640519d418414f0a7f8afb0dbe4c225d4f9fa284922ba5f966490221008bfaded7b3ea38f7eb7f9912443130b4418e5bacc16a6ff8253d4f1926eced67",
@@ -17833,7 +21261,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1167,
+          "tcId" : 1315,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3045022074cb761ac6b5687c29f18448c5ba804d5869780de37e5606ac5461b1b9697cfe02210098852aadb7bb2b44cbcd432eee62bdb0cebcab8c1d24ace5218bedee35609438",
@@ -17841,7 +21269,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1168,
+          "tcId" : 1316,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "3044022077cbc58c57a912a3a66153b6e83f0c0daf6f7d1449fa9a29281dd5d221ae8e8d02200b56cff53baccce588ca5c8eda47cf74a57ebbd8448126a50acdb11c8e0a2a53",
@@ -17851,20 +21279,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040058237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b25089a9fb57db580d128b07d4bad728fa143289f1d5200d69b49721fb0ea64ef50d45",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABABYI3o0+T2LcBP5a4vWGDAKJ5bK\n2TUPROW7id71slCJqftX21gNEosH1LrXKPoUMonx1SANabSXIfsOpk71DUU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256t1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040058237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b25089a9fb57db580d128b07d4bad728fa143289f1d5200d69b49721fb0ea64ef50d45",
         "wx" : "58237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b25089",
         "wy" : "0a9fb57db580d128b07d4bad728fa143289f1d5200d69b49721fb0ea64ef50d45"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200040058237a34f93d8b7013f96b8bd618300a2796cad9350f44e5bb89def5b25089a9fb57db580d128b07d4bad728fa143289f1d5200d69b49721fb0ea64ef50d45",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABABYI3o0+T2LcBP5a4vWGDAKJ5bK\n2TUPROW7id71slCJqftX21gNEosH1LrXKPoUMonx1SANabSXIfsOpk71DUU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1169,
+          "tcId" : 1317,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3044022063a581c9e66100f650d9ff11ad7bea622386a26c5337b71b4d97a120c146343102205cc6bb800deeb73a16814897ef9a625bbdb6e4b45fcceaf0a3182980619ea727",
@@ -17872,7 +21301,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1170,
+          "tcId" : 1318,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304402207d62fbfb45e73ffacf9c81d68769364940537494992296a50656731a5ebe1ab102207b986faf243493ce8f6a5e278271339cc18d3fd8a00f3fb07a5dbb37e820209d",
@@ -17880,7 +21309,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1171,
+          "tcId" : 1319,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304402210092cdaed3e4842b55745b13a84d4a67ee8fa4ec7c939f4a19425ed0c86bc36f9c021f5b52a0957ffcfceb4662fdd21af0846f4c877a37897b50f62ab344469d9e68",
@@ -17890,20 +21319,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049894c2c5ae909bc9f69fdeb1a9c19966c09c63c8d7b82acb1a83d24651716f664939cb7769d74f2235ad0653e0d33114062ebd90478bf8e219d2cfa8ffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJiUwsWukJvJ9p/esanBmWbAnGPI\n17gqyxqD0kZRcW9mSTnLd2nXTyI1rQZT4NMxFAYuvZBHi/jiGdLPqP////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256t1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "049894c2c5ae909bc9f69fdeb1a9c19966c09c63c8d7b82acb1a83d24651716f664939cb7769d74f2235ad0653e0d33114062ebd90478bf8e219d2cfa8ffffffff",
         "wx" : "09894c2c5ae909bc9f69fdeb1a9c19966c09c63c8d7b82acb1a83d24651716f66",
         "wy" : "4939cb7769d74f2235ad0653e0d33114062ebd90478bf8e219d2cfa8ffffffff"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010108034200049894c2c5ae909bc9f69fdeb1a9c19966c09c63c8d7b82acb1a83d24651716f664939cb7769d74f2235ad0653e0d33114062ebd90478bf8e219d2cfa8ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABJiUwsWukJvJ9p/esanBmWbAnGPI\n17gqyxqD0kZRcW9mSTnLd2nXTyI1rQZT4NMxFAYuvZBHi/jiGdLPqP////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1172,
+          "tcId" : 1320,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "304402205157cfa642e8d3b77536846a0ff6cadaea5f53974d7c55385e84592a37fbb258022071e17e0a1c84805b2e6760e2cff8eb9b396a09264905fddb8db1e2a7cb5221d7",
@@ -17911,7 +21341,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1173,
+          "tcId" : 1321,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30440220615579b5fe86585ece10d0c1eaa2a30d5d4b23b2c8c2ba51ca83ea51a8f73b3602204441feacf132db44e5d9d74ef183bdf86d25f8f48f5abc8286e0dd2f9dc0d189",
@@ -17919,7 +21349,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1174,
+          "tcId" : 1322,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3044022034e5d4ab1ba116d64a65b098b29cc7919c7de039f1e6c62a2ed3f1801c07263a022069d9d5eb218dbd58ae23d2653bdb80d92d8672e3c518a5529a574a94c0c9cce0",
@@ -17929,20 +21359,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a9fb57db1931dcd62fd3601a5f197b62bae749d2f28f7b2d02b8a6376ae050a546ede758cc395813b28ccf2fb7ca4ff2ca36b963473248e001ef511aa61f2f1b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKn7V9sZMdzWL9NgGl8Ze2K650nS\n8o97LQK4pjdq4FClRu3nWMw5WBOyjM8vt8pP8so2uWNHMkjgAe9RGqYfLxs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256t1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a9fb57db1931dcd62fd3601a5f197b62bae749d2f28f7b2d02b8a6376ae050a546ede758cc395813b28ccf2fb7ca4ff2ca36b963473248e001ef511aa61f2f1b",
         "wx" : "0a9fb57db1931dcd62fd3601a5f197b62bae749d2f28f7b2d02b8a6376ae050a5",
         "wy" : "46ede758cc395813b28ccf2fb7ca4ff2ca36b963473248e001ef511aa61f2f1b"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010803420004a9fb57db1931dcd62fd3601a5f197b62bae749d2f28f7b2d02b8a6376ae050a546ede758cc395813b28ccf2fb7ca4ff2ca36b963473248e001ef511aa61f2f1b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEIA0IABKn7V9sZMdzWL9NgGl8Ze2K650nS\n8o97LQK4pjdq4FClRu3nWMw5WBOyjM8vt8pP8so2uWNHMkjgAe9RGqYfLxs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1175,
+          "tcId" : 1323,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30450221009572dfd46d530875292df5c19f2b66f76d2ab5e8c859464fa36712309f804d0002204fb29d6df73504fabb2a11b42b3a65b6568a67c0b8442b48733392a80cfb9a69",
@@ -17950,7 +21381,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1176,
+          "tcId" : 1324,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30450221008502979572eb037cc088e0b5d00e8ae8a9596fd2274be6170cefa44b7fb73432022071d740cbc4d99ac707c98138c2676b6ffabe050db7320b869f3f05d49a3a17e1",
@@ -17958,7 +21389,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1177,
+          "tcId" : 1325,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "304402206ad7e2ca670e0c7ff8c5c6f0b4fce230b04a729a11cbf003c8bce87955bc56c8022029719b165bac6822c9582830cd4b0c61e03bfcdc2750d950ed27330fdc81fe43",
@@ -17968,20 +21399,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a850e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEYhF9LjOn2xuVyKajx5gvg9qWgX\n50lxjK7ntqqcnaTo8v95UWdO7StWmrhG9ZACqFDmYGqXJqkgnJ6UX79su8mkh8Sk\n2BxSrDaEwmwzkrm9JPcYSCG+BvZEiySo/////w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a850e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff",
         "wx" : "462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a8",
         "wy" : "50e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004462117d2e33a7db1b95c8a6a3c7982f83da96817e749718caee7b6aa9c9da4e8f2ff7951674eed2b569ab846f59002a850e6606a9726a9209c9e945fbf6cbbc9a487c4a4d81c52ac3684c26c3392b9bd24f7184821be06f6448b24a8ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEYhF9LjOn2xuVyKajx5gvg9qWgX\n50lxjK7ntqqcnaTo8v95UWdO7StWmrhG9ZACqFDmYGqXJqkgnJ6UX79su8mkh8Sk\n2BxSrDaEwmwzkrm9JPcYSCG+BvZEiySo/////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1178,
+          "tcId" : 1326,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3064023043a3ac2f3d2b4d3723a97930b023ee73010a7cf8d2a99372f3132bd7d9c83574de3ab86525efc4ee2c59799d5ff7efb4023034f59a3ea9f5267f8458afdaa3873e2336e0ab8a40ca1b797cbd977d192f2024f9eb8d39b37b9a238f208d66bacd27bf",
@@ -17989,7 +21421,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1179,
+          "tcId" : 1327,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "306402303531ada25b8d9af9b87e5224cd6a6d956c17dc323ef8980f497a6e7e44c83d69b74de791d62bceacaff7378863dd725b0230459d15539399409380af99d560c561217daa5c539729453067dd1aa4bd9df2b534920f0d6213261ecea16f0ed68536b1",
@@ -17997,7 +21429,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1180,
+          "tcId" : 1328,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30640230438a0cff9fcfcf587f8c40775ad44ea4b0ed69f2d547befe295d1fb9c24ddcb97f228027df552a06bf657b4c2027261502305e157630bb744fc8e7f75901de498e5af0b5511dfeee0c4c1f2e5c4aa0129de57b87a2a13ea59d187d51cbeb6ef22407",
@@ -18007,20 +21439,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e6553a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIy5HoHuWQG3Glmk98gXSuBf47oA\n9pncvDySMyZcZAWHs8FlWTwtdrX/xLjcvLDmVToOXRTy0Ojv4r2KomDYrOBr+WTF\nG6uCBwcKLTBBC7a4eu7Lf/+ALy1Oo8r24OfnJg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e6553a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726",
         "wx" : "08cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e655",
         "wy" : "3a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200048cb91e81ee5901b71a59a4f7c8174ae05fe3ba00f699dcbc3c9233265c640587b3c165593c2d76b5ffc4b8dcbcb0e6553a0e5d14f2d0e8efe2bd8aa260d8ace06bf964c51bab8207070a2d30410bb6b87aeecb7fff802f2d4ea3caf6e0e7e726",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIy5HoHuWQG3Glmk98gXSuBf47oA\n9pncvDySMyZcZAWHs8FlWTwtdrX/xLjcvLDmVToOXRTy0Ojv4r2KomDYrOBr+WTF\nG6uCBwcKLTBBC7a4eu7Lf/+ALy1Oo8r24OfnJg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1181,
+          "tcId" : 1329,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3064023016496c08c3076773fcd841a5e25e1a87108e0ba90f9727f539034bd2cf688e01a955686a15112e0590fc91e3995ff5f8023031b1b7338f74adba33712a83a7c685e7cd5f3be84ef951ecad50facb7c6ec393a3bac52ea7b1212bd92f4f45a9f8514c",
@@ -18028,7 +21461,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1182,
+          "tcId" : 1330,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "306602310087f3090292e79b722cde5aedafa4244f6eb460a280e2e050399b9d802391ad502108704a3c0bb9f9ae571c3f7dec6c0b02310089ae0043de38a585a1632c7211b78303afa3f8936154a6e65a6f729c3b1ec66a1775aa465af8eed6dfeaa5ba98cedb41",
@@ -18036,7 +21469,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1183,
+          "tcId" : 1331,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30640230720822abefa91265a7b8d446ec3bc405fd192178aa1b85dd663396a896a32c119e64b1a20843f81edd43c03709b8dbc60230206ae95bb18d2d3844a39340872edba1611e3ea0e84cea7cb6cff282af414d8b5aa0be8aabc1b51b7121d426916b01b5",
@@ -18046,20 +21479,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000469ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGnr8zLh6yRVMkp1cqF5d6TilVEI\n7ovYG9bR9VXWCGh/W7s5hY6+4wSYW6p9Ccgwu2crnJZoTfwAfwFeOc2tqf4W21Ai\nv9FzNIyq/FKGhGIfl/uiTyww49xyh3LoAAAAAA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0469ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000",
         "wx" : "69ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb",
         "wy" : "672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000469ebf332e1eb2455324a7572a17977a4e2955108ee8bd81bd6d1f555d608687f5bbb39858ebee304985baa7d09c830bb672b9c96684dfc007f015e39cdada9fe16db5022bfd173348caafc528684621f97fba24f2c30e3dc728772e800000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGnr8zLh6yRVMkp1cqF5d6TilVEI\n7ovYG9bR9VXWCGh/W7s5hY6+4wSYW6p9Ccgwu2crnJZoTfwAfwFeOc2tqf4W21Ai\nv9FzNIyq/FKGhGIfl/uiTyww49xyh3LoAAAAAA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1184,
+          "tcId" : 1332,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402301e5027fcc630aa08750a4725919dd9072422a21aca9d3326bec3e6ac040ba9784951b1fda6f588e60dcb550b75793a4e02300df3224641f6804f4d1bf951051e087ce1fa7365c43bd27878626833f09190cc0a7fa29b16bc2ca0d34fd0660d24718f",
@@ -18067,7 +21501,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1185,
+          "tcId" : 1333,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402304e61e34740a9f6db0854faf205719a3d98ef644b86241b858fa22959c04395578bef7be35036ae7a9ffeb9a2173311f402301e967c3b6071d37560fd64a4fe0921b1d600f60d883fdec816836176c5e67ad05182aa080c7e2184c0710050d523f0e2",
@@ -18075,7 +21509,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1186,
+          "tcId" : 1334,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402302c3090c581e575da58a8f659f74c5eee566400eb1d91de0a950e787542e6572f73b9f6d4f81f1c8e42f9e460dac3c1dc0230756b1b693e7fe06686708c2a609854accd21e3195d84b72c11c873908d175dfc00c00ebbdf8e2bb6970f2f19785303cc",
@@ -18085,20 +21519,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE+1aIZmZz8QQodCi1uua9gqXGm1\nI3YqpzmyRZSpqBKXMY32E/a3N5r0eXmuf////34tMltB/oMaI8tpTLgKMBGcGWFD\nU27jNEFrpDekGQVMGAqUUVRZa4PX98OmtgWWRQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645",
         "wx" : "4fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff",
         "wy" : "7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044fb5688666673f104287428b5bae6bd82a5c69b523762aa739b24594a9a81297318df613f6b7379af47979ae7fffffff7e2d325b41fe831a23cb694cb80a30119c196143536ee334416ba437a419054c180a945154596b83d7f7c3a6b6059645",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABE+1aIZmZz8QQodCi1uua9gqXGm1\nI3YqpzmyRZSpqBKXMY32E/a3N5r0eXmuf////34tMltB/oMaI8tpTLgKMBGcGWFD\nU27jNEFrpDekGQVMGAqUUVRZa4PX98OmtgWWRQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1187,
+          "tcId" : 1335,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30640230092f0ee1feeb79c054ae36235f8717e9ee72b466b1704d4fa78addfcd13518a64db2b2fdb06439acbc4c045fb2c23c3a02302371ca6d36f4266162ee5c657c71cea35dcec3632c5b220a6f23ace1ba6562a841aeeeefe87a7998adfaf185b8558e4a",
@@ -18106,7 +21541,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1188,
+          "tcId" : 1336,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "306402306c8f4be641afaf5bf91ce08974d284ece6aec74792247229fa86c6597eed3fb507b712bb77af0226e1bbb3bad632b0d80230775954fe8bf936157b7ab7a683f6dc1838a8718200621bc8bf2f32b778f6c8e8c656532b50de39ac22d22b37dccfd1f9",
@@ -18114,7 +21549,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1189,
+          "tcId" : 1337,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3064023076e5c07582177400df453114fed746f40704197897b4ca21b72e5b44d4ca40cfcaa55e4446355c91ea9767f38c8172df02300c6dd73eefbb4c06e823224d8efaa3ee934e4a97eed2833513b4d735ed06eb550b2a5fa7f86613d627d9db466afa6646",
@@ -18124,20 +21559,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200048cb91e70c122d808515ce5383d1f753f95023a64adee7b7072bcbf43ffbdfdfb05060d6a8f5ea5022a6a0e6245190235599ea831aa5857a0a118d4871e8a86aee2965afbdcfe3fb50e5e7c94672a63672eaf26384ecfa8d7a78512d6a6c63d86",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABIy5HnDBItgIUVzlOD0fdT+VAjpk\nre57cHK8v0P/vf37BQYNao9epQIqag5iRRkCNVmeqDGqWFegoRjUhx6Khq7illr7\n3P4/tQ5efJRnKmNnLq8mOE7PqNenhRLWpsY9hg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384t1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "048cb91e70c122d808515ce5383d1f753f95023a64adee7b7072bcbf43ffbdfdfb05060d6a8f5ea5022a6a0e6245190235599ea831aa5857a0a118d4871e8a86aee2965afbdcfe3fb50e5e7c94672a63672eaf26384ecfa8d7a78512d6a6c63d86",
         "wx" : "08cb91e70c122d808515ce5383d1f753f95023a64adee7b7072bcbf43ffbdfdfb05060d6a8f5ea5022a6a0e6245190235",
         "wy" : "599ea831aa5857a0a118d4871e8a86aee2965afbdcfe3fb50e5e7c94672a63672eaf26384ecfa8d7a78512d6a6c63d86"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200048cb91e70c122d808515ce5383d1f753f95023a64adee7b7072bcbf43ffbdfdfb05060d6a8f5ea5022a6a0e6245190235599ea831aa5857a0a118d4871e8a86aee2965afbdcfe3fb50e5e7c94672a63672eaf26384ecfa8d7a78512d6a6c63d86",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABIy5HnDBItgIUVzlOD0fdT+VAjpk\nre57cHK8v0P/vf37BQYNao9epQIqag5iRRkCNVmeqDGqWFegoRjUhx6Khq7illr7\n3P4/tQ5efJRnKmNnLq8mOE7PqNenhRLWpsY9hg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1190,
+          "tcId" : 1338,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "30640230495c7d5f262ad770f5f223cbf80d0c9e256c41d19ba9ad251fcd958915434c56c7f60db2f269b8b6aa49ff7a0314f5b1023026248e930f04d06798f447ade60ac88439a7b1e2bd987c03b17ddd357c2482c06d81e0eec720ab5180fefcbf2a95d5a6",
@@ -18145,7 +21581,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1191,
+          "tcId" : 1339,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "3064023059326ed88303d6dd31dd7b4c7e30337172ac4a9c3511c4805c2094374ddad15191bbdd3fe7a5e86a4fb9d0c46216492c023036dfedf341921afe9e3158b44a7db7ab370e2c43496a34d09fa88a4e8c8fb0ce8d933c08c39ea27503199e9a632d220c",
@@ -18153,7 +21589,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1192,
+          "tcId" : 1340,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "306402305c53e8fc75fd338f2e28bb886fa3c88b09395a66e8a4528de51375c211f0e1c7ee04134db06f6caed4265be691c43471023051ac815c377e6af03fe1de6db95ca6cbac16e8b3d0b6384f153a4f7952b64923683266d30038d1465e400d6345d513af",
@@ -18163,20 +21599,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c03620004000000004ac5b59140cd6406050b0d813411a18e4a8449596b1fabd36fc49e4478117db2ea522ccaa43cc1beaa9a18a35fbf6dec1a4d2a8bc7b4c39ceeda7108068168a94e87161dfdd3040df9f6dae4d7eb5a88286d014c92cfe009902b3463",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABAAAAABKxbWRQM1kBgULDYE0EaGO\nSoRJWWsfq9NvxJ5EeBF9supSLMqkPMG+qpoYo1+/bewaTSqLx7TDnO7acQgGgWip\nTocWHf3TBA359trk1+taiChtAUySz+AJkCs0Yw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384t1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04000000004ac5b59140cd6406050b0d813411a18e4a8449596b1fabd36fc49e4478117db2ea522ccaa43cc1beaa9a18a35fbf6dec1a4d2a8bc7b4c39ceeda7108068168a94e87161dfdd3040df9f6dae4d7eb5a88286d014c92cfe009902b3463",
         "wx" : "4ac5b59140cd6406050b0d813411a18e4a8449596b1fabd36fc49e4478117db2ea522ccaa43cc1beaa9a18a3",
         "wy" : "5fbf6dec1a4d2a8bc7b4c39ceeda7108068168a94e87161dfdd3040df9f6dae4d7eb5a88286d014c92cfe009902b3463"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c03620004000000004ac5b59140cd6406050b0d813411a18e4a8449596b1fabd36fc49e4478117db2ea522ccaa43cc1beaa9a18a35fbf6dec1a4d2a8bc7b4c39ceeda7108068168a94e87161dfdd3040df9f6dae4d7eb5a88286d014c92cfe009902b3463",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABAAAAABKxbWRQM1kBgULDYE0EaGO\nSoRJWWsfq9NvxJ5EeBF9supSLMqkPMG+qpoYo1+/bewaTSqLx7TDnO7acQgGgWip\nTocWHf3TBA359trk1+taiChtAUySz+AJkCs0Yw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1193,
+          "tcId" : 1341,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "306402300e971ffffd7b86a216cf2e8c2267ebfdbfffe33cc91a578abdb3b065a33829b1e85d77a83490bd862b484545373276e402301dee3a5b1021e5d7f2f6283be4c37749200089af3039847ee2d9d62abfe36144e6de9690714bd931535d73f872f5509b",
@@ -18184,7 +21621,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1194,
+          "tcId" : 1342,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "306402307080b70e60eb3bf5538555554ae8b135ec6378610e5fe1c9e3d1646b61ec28f51e7fe7ed9fb18717641e7debb90eb647023017d44cc60ef9d9d00f3672fb101f0e2d76a472d34181a607a13eb58756648ba0555dae6acb357d3cd5e30e7758884d42",
@@ -18192,7 +21629,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1195,
+          "tcId" : 1343,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "30640230210674f82d8731467e9893c007733971740837ceb78ee1a957e799c3309f27da768331262df94293f84b85fb00a70c730230686be0240ac527f1560e6d9c20af7b755be421c30ec3dae94bb2d01d7b0af2894c96a5ba181ab2d92b9f18db2d6dd28e",
@@ -18202,20 +21639,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000449967ad412be2ee1d435ce6261ff127250085e1903e04c0388ff9c1a35e12536e31a2f8fefe2194cdf1e9bb800000000245148c105c664988179a8c2e68418dea078f90682ea06b51d89cc93173fb8a991ecca52805d97ac89f66855a593fbb4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABEmWetQSvi7h1DXOYmH/EnJQCF4Z\nA+BMA4j/nBo14SU24xovj+/iGUzfHpu4AAAAACRRSMEFxmSYgXmowuaEGN6gePkG\nguoGtR2JzJMXP7ipkezKUoBdl6yJ9mhVpZP7tA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384t1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0449967ad412be2ee1d435ce6261ff127250085e1903e04c0388ff9c1a35e12536e31a2f8fefe2194cdf1e9bb800000000245148c105c664988179a8c2e68418dea078f90682ea06b51d89cc93173fb8a991ecca52805d97ac89f66855a593fbb4",
         "wx" : "49967ad412be2ee1d435ce6261ff127250085e1903e04c0388ff9c1a35e12536e31a2f8fefe2194cdf1e9bb800000000",
         "wy" : "245148c105c664988179a8c2e68418dea078f90682ea06b51d89cc93173fb8a991ecca52805d97ac89f66855a593fbb4"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000449967ad412be2ee1d435ce6261ff127250085e1903e04c0388ff9c1a35e12536e31a2f8fefe2194cdf1e9bb800000000245148c105c664988179a8c2e68418dea078f90682ea06b51d89cc93173fb8a991ecca52805d97ac89f66855a593fbb4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABEmWetQSvi7h1DXOYmH/EnJQCF4Z\nA+BMA4j/nBo14SU24xovj+/iGUzfHpu4AAAAACRRSMEFxmSYgXmowuaEGN6gePkG\nguoGtR2JzJMXP7ipkezKUoBdl6yJ9mhVpZP7tA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1196,
+          "tcId" : 1344,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3064023064aa82bf225050a63cf16424ccccd0f16d5939d73479d33db3d7f0517a750cdfc01e37354502ffcb1c4956c2c7c7fa3e02305e8101692c6eb55767734839efe43da943cb69d7b3ce9ea0d4aef6892cb244883997ec10f368e295ef080ef9b078d0d3",
@@ -18223,7 +21661,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1197,
+          "tcId" : 1345,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402302d106908a50b6e5ba59d6074a2e940dcfeb73c5ba1c5464ab9ff6c805d23f46464978116c68199d1a8ac63d8b823368d02307b8cc56036a62d9a26322a413a1a183f1bb2d795789fab72a45f4121b35796e1e3a592e1c62f2c4d070e9bee85bce70f",
@@ -18231,7 +21669,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1198,
+          "tcId" : 1346,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30640230180bea728d39c32579141a215e0256d2b8e0fcc1d2b73135a71cc484d9c8fb666644fe3c14ff11affe135e02c72647c2023042ccc524b7109bfef81604adb1893d1531b65c497560daa941f18a0dbd200ddf79743168011c0c6856f2a456e46c57da",
@@ -18241,20 +21679,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000433a02b38ab0869360416d68a1cb9d1e5e3fc37e539b7f562f4ce359d7504a5f551a98cd78812fad80b717df3f7de92510c66e185b7d57726984fe09e8ec885554d84faf51284fd839af4e59fc704c3f37626491d98a48350f41a50dfffffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABDOgKzirCGk2BBbWihy50eXj/Dfl\nObf1YvTONZ11BKX1UamM14gS+tgLcX3z996SUQxm4YW31XcmmE/gno7IhVVNhPr1\nEoT9g5r05Z/HBMPzdiZJHZikg1D0GlDf/////w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384t1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0433a02b38ab0869360416d68a1cb9d1e5e3fc37e539b7f562f4ce359d7504a5f551a98cd78812fad80b717df3f7de92510c66e185b7d57726984fe09e8ec885554d84faf51284fd839af4e59fc704c3f37626491d98a48350f41a50dfffffffff",
         "wx" : "33a02b38ab0869360416d68a1cb9d1e5e3fc37e539b7f562f4ce359d7504a5f551a98cd78812fad80b717df3f7de9251",
         "wy" : "0c66e185b7d57726984fe09e8ec885554d84faf51284fd839af4e59fc704c3f37626491d98a48350f41a50dfffffffff"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c0362000433a02b38ab0869360416d68a1cb9d1e5e3fc37e539b7f562f4ce359d7504a5f551a98cd78812fad80b717df3f7de92510c66e185b7d57726984fe09e8ec885554d84faf51284fd839af4e59fc704c3f37626491d98a48350f41a50dfffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABDOgKzirCGk2BBbWihy50eXj/Dfl\nObf1YvTONZ11BKX1UamM14gS+tgLcX3z996SUQxm4YW31XcmmE/gno7IhVVNhPr1\nEoT9g5r05Z/HBMPzdiZJHZikg1D0GlDf/////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1199,
+          "tcId" : 1347,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "30640230577b89e7eb4e0c11d3ddc8273fdcab2583a0c8908acb3c92a41073c1b4879cb6bd09825e345917d10e9a10c57127a096023033c568e1ff376a2b6c49e495385de655d667b8402d73fc02e9db61d42b4920bd0c3f0c88a1c3091ab5b9970bdaa1d39c",
@@ -18262,7 +21701,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1200,
+          "tcId" : 1348,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "306402306bb794738248b375c9f5c6a5e67c04053979b1f096a97a54710da3674a6af23295256c660a6e0949be8c69c9e0af1c9a023016f454f290edac489680bc8bcacabfbff9d0d29dd11c7c003e97c056cca9cd2b5033692b766fd20d8ce0a4b0dfc417a4",
@@ -18270,7 +21709,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1201,
+          "tcId" : 1349,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "3064023071dad8b09ea0c67eaa79b937cb4fc54c7280779f37dfe293756327b9bdf3bbad9a51613dbfde19496d620e15e2bf8fda023016db51fa414c9f13e2c7965e3315cda2fbd64f95b0c88d3b2aa48811727af7cdd70eee7700dbf4ea3c9c84e6284387be",
@@ -18280,20 +21719,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200047fa73b521e19cd2b08e7127f5a31309089ecb3628c7e341a977cfc4bf445ab151010602becf720dc41aebb86900870de4f3b7dd19ac8970f116996b0d48dc20d69d784e8502284701ef653300993e158c8b82fc5a4664a8ec28a03c400000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABH+nO1IeGc0rCOcSf1oxMJCJ7LNi\njH40Gpd8/Ev0RasVEBBgK+z3INxBrruGkAhw3k87fdGayJcPEWmWsNSNwg1p14To\nUCKEcB72UzAJk+FYyLgvxaRmSo7CigPEAAAAAA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384t1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "047fa73b521e19cd2b08e7127f5a31309089ecb3628c7e341a977cfc4bf445ab151010602becf720dc41aebb86900870de4f3b7dd19ac8970f116996b0d48dc20d69d784e8502284701ef653300993e158c8b82fc5a4664a8ec28a03c400000000",
         "wx" : "7fa73b521e19cd2b08e7127f5a31309089ecb3628c7e341a977cfc4bf445ab151010602becf720dc41aebb86900870de",
         "wy" : "4f3b7dd19ac8970f116996b0d48dc20d69d784e8502284701ef653300993e158c8b82fc5a4664a8ec28a03c400000000"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200047fa73b521e19cd2b08e7127f5a31309089ecb3628c7e341a977cfc4bf445ab151010602becf720dc41aebb86900870de4f3b7dd19ac8970f116996b0d48dc20d69d784e8502284701ef653300993e158c8b82fc5a4664a8ec28a03c400000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABH+nO1IeGc0rCOcSf1oxMJCJ7LNi\njH40Gpd8/Ev0RasVEBBgK+z3INxBrruGkAhw3k87fdGayJcPEWmWsNSNwg1p14To\nUCKEcB72UzAJk+FYyLgvxaRmSo7CigPEAAAAAA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1202,
+          "tcId" : 1350,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402300e0e11e2cf805a3054db77fd49a9456ccf22f5948a9a02e6474a5a89dd394d3c89a46b16dcad39f67b33be149f75b8e30230719ace8887143d8f0f4c1e478de836fe78dc71d14ea234fddd47bbfcdd77fb44c77b49c6c4b048d05be953713a480db2",
@@ -18301,7 +21741,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1203,
+          "tcId" : 1351,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "306402305e4f0e8f833a1e50cf46495d4594c37894a21ec8164dfde3a05c9682698620746b42988fdeec9bdae3e961121e5ea0b1023077eba3e704bf9635b5750ffec2ee8d39681c762d21278465828ab0f574935448cff6575b8d699406407874864f87ad9f",
@@ -18309,7 +21749,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1204,
+          "tcId" : 1352,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3064023008c4664a036a5d4f5b7b9a365656db0c786246ac7b992bfac53cf2f31e9fc738698596db4ea385f7bab978b4f1ed02b2023063eb0c4d629d01f1fe9133d64440cda717cac4e16ac1ceeebe10b8c38d3ccc0b2bd75918e4c995d2c525c77591681804",
@@ -18319,20 +21759,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200043dc23704ba8346fee7028a863e3e1c201ac5e5c1f0a0bd8ad967d3fe8c8e4b8d6b5f92449e3378218862f261d09f6fd833c942cd24af05e473097248db981d009c69e53ea9b5f3f4ecba0d6f4d24317caedb6917f4ca9f8e9bf0e82800000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABD3CNwS6g0b+5wKKhj4+HCAaxeXB\n8KC9itln0/6MjkuNa1+SRJ4zeCGIYvJh0J9v2DPJQs0krwXkcwlySNuYHQCcaeU+\nqbXz9Oy6DW9NJDF8rttpF/TKn46b8OgoAAAAAA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384t1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "043dc23704ba8346fee7028a863e3e1c201ac5e5c1f0a0bd8ad967d3fe8c8e4b8d6b5f92449e3378218862f261d09f6fd833c942cd24af05e473097248db981d009c69e53ea9b5f3f4ecba0d6f4d24317caedb6917f4ca9f8e9bf0e82800000000",
         "wx" : "3dc23704ba8346fee7028a863e3e1c201ac5e5c1f0a0bd8ad967d3fe8c8e4b8d6b5f92449e3378218862f261d09f6fd8",
         "wy" : "33c942cd24af05e473097248db981d009c69e53ea9b5f3f4ecba0d6f4d24317caedb6917f4ca9f8e9bf0e82800000000"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010c036200043dc23704ba8346fee7028a863e3e1c201ac5e5c1f0a0bd8ad967d3fe8c8e4b8d6b5f92449e3378218862f261d09f6fd833c942cd24af05e473097248db981d009c69e53ea9b5f3f4ecba0d6f4d24317caedb6917f4ca9f8e9bf0e82800000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQEMA2IABD3CNwS6g0b+5wKKhj4+HCAaxeXB\n8KC9itln0/6MjkuNa1+SRJ4zeCGIYvJh0J9v2DPJQs0krwXkcwlySNuYHQCcaeU+\nqbXz9Oy6DW9NJDF8rttpF/TKn46b8OgoAAAAAA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1205,
+          "tcId" : 1353,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "30640230064db827c2b97c16fce0d952513bb687c26451db1c6b1e82010f6901fdd1709e83d0efcc5b33eae5f490c6604e8e172f023054aed930e8300a82efe2609ccb030b82c7991a7db261fd60e3c9097be13341909ec3492a3803cda07cb2d1838946d191",
@@ -18340,7 +21781,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1206,
+          "tcId" : 1354,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3064023008d8ba04dc844a5ef30f632c7ca47ebe2ac75b86a821b8b6b5b699a5cbe42382f0b92703af6042205f80ddf23d27e97102300a33ca44c7b65eaf5cc81af23de282c562307980e31a1e6ee632a6141d7714394241d90869e2c9592423106abf2a35b1",
@@ -18348,7 +21789,7 @@
           "flags" : []
         },
         {
-          "tcId" : 1207,
+          "tcId" : 1355,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3064023024e40d5ef670018c0ce690fc15042156b0e39a057d2eb76c91d8119cc3982136118f4eee76403eac13b89cb9bdb0020002301aa24023e2e12ebed8146f3c4f1ecdfb24eca3bff085cd6c654cb52f33e368a073e27a9912f4509a27c84913b85fc7e0",
@@ -18358,20 +21799,777 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000481528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff1175bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIFSi3rbvr8bazx/odYShLB3Wbmp\njTGlcCcHsBj97P8Rdbv8y1RTgb+GAQMXMYQYKUAbCNzcaMw04Gpk5BIDhRI=\n-----END PUBLIC KEY-----",
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0430a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1000000001a4b00c74a5a61ac196faf4dc39acd41bf354def0a27529964359132a76f28654248d1ac004d11d811aba0acb9c26d2f4a54012c5d8a9a1e7c8b4a52",
+        "wx" : "30a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1",
+        "wy" : "1a4b00c74a5a61ac196faf4dc39acd41bf354def0a27529964359132a76f28654248d1ac004d11d811aba0acb9c26d2f4a54012c5d8a9a1e7c8b4a52"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000430a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1000000001a4b00c74a5a61ac196faf4dc39acd41bf354def0a27529964359132a76f28654248d1ac004d11d811aba0acb9c26d2f4a54012c5d8a9a1e7c8b4a52",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEMKZ96q8M7kSq65A9jNskrZ3B\nkdN119amDSUg4ZMGz8R93p3LgKrgsEBVS7mNYB4Bn5M26DHMy5ny2Sz0uRYEsQAA\nAAAaSwDHSlphrBlvr03Dms1BvzVN7wonUplkNZEyp28oZUJI0awATRHYEaugrLnC\nbS9KVAEsXYqaHnyLSlI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1356,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "3081850240479ce8458b04b2dc127b46971e6c79831bf788f65ddc770620daaa15583f8d506f2a6652d82b38560ec1977586e11929b666f6d7012d816fd356d41e9304d60f024100a750f73ccaeff5d994067e66e45c200892c607b329be5e64db5c383c7be711c97b5dd425a52250bc862477e28b3afa4ef3d831066a7b143432a5d15403021457",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1357,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "3081840240685b8b2929c9a0a9b0deb6baefd00e26f50d4c1fc3fed47d7ef812c52b66ec6f6d09f54e9bdb7202016570f75bb9912aab3a572bfb97ea589ace294ff0fe666202404c286267cb87a6be56f4cd0080398c23e569f2ebda71d2cd1682080290deb4143bdc61e75b42abefbcbbddf4c794545a05378656a1858658e0a4595833fc40f6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1358,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "308186024100811112d27ca1e434b00c0293320284b1c5369fd007f90e7a99d44c9c02013688d16e5e0a2fc3a077064a995c4244195c04f00323e33adea6b37701ad5cb3621602410082dd5c3e3642fc43e5c4c652e3b2d00f6d137207be8c9b2125561c08703e4a84d2a82785f775abd18aab24e52f12c5f8cb56b28b915f9c0b1110c542ba92b313",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0430a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1aadd9db8c19ec3c3f57a85021a5a4cba0795c071f494841fcc3c4a310bfd773ed5de729b597d9696ae808f52d4f7e0396ebf91ffe32ec558cb1fc637dbaefea1",
+        "wx" : "30a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1",
+        "wy" : "0aadd9db8c19ec3c3f57a85021a5a4cba0795c071f494841fcc3c4a310bfd773ed5de729b597d9696ae808f52d4f7e0396ebf91ffe32ec558cb1fc637dbaefea1"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000430a67deaaf0cee44aaeb903d8cdb24ad9dc191d375d7d6a60d2520e19306cfc47dde9dcb80aae0b040554bb98d601e019f9336e831cccb99f2d92cf4b91604b1aadd9db8c19ec3c3f57a85021a5a4cba0795c071f494841fcc3c4a310bfd773ed5de729b597d9696ae808f52d4f7e0396ebf91ffe32ec558cb1fc637dbaefea1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEMKZ96q8M7kSq65A9jNskrZ3B\nkdN119amDSUg4ZMGz8R93p3LgKrgsEBVS7mNYB4Bn5M26DHMy5ny2Sz0uRYEsard\nnbjBnsPD9XqFAhpaTLoHlcBx9JSEH8w8SjEL/Xc+1d5ym1l9lpaugI9S1PfgOW6/\nkf/jLsVYyx/GN9uu/qE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1359,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "308184024039d0c5c4e48ca14064b2e9b3600deb0ec2fb3e0c65b3be5ce3f206166d76dfc5a5f6ea8702da3aecb13e7b55a87b1263c4884611e5de440f6c89ed12f88ae50f02406ae78398e7f942b35e7d87ef27ce830690f7327ad2a83df56e9d0288b51999454bd90f895e7849f35b2a652a3af97bf55795b4698e0b014ea6ff021a00878f3c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1360,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "30818402407c3ab2e3deafb823ee591dc53c97b389c6d18a8ca9a6ae20c74328606db2d7c7d2bb3ce26894e3f30785237b9e874350d615786381b0c8c420224d2f5e359468024034e703dd939b2b1a200872334e2f864dbf26688f8475c9e38a384102e08a18c27d4e30d802095fff3edda6dc1e03aa81aed96719cb49612471fa118875a15c18",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1361,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "30818502404cd8a5f1977a3cf8e847a1377359cca7046c793ada0665f2c06908fdcec24e6cd55a1750ca576421b8a65aa99aed863cdaaa77d7f7cf84448ea58e95c57a133c024100a340572d5d9683e72e157e683ab16d0e2a35030ff3e1641d1b4f801d80732c32b9fbb53fdcaea933f131136f8ab25311018b871f53753782989a87ef231a38ac",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04aadd9db8bb4189a6d2ab7b5aae550fe8dc00be2e00f4b35b576d6f862c09869210fc82fbd15a54def1442979fa0da1c64408fd8437a60046930820748ecdfc664a59a87eae338d22d0835523156f8f7d934710a747cf192d3e317bc45f0489d6979887c65ec17ab7b5e3da9f4cb110116ef0739849acc56d24e5a3365fcfb289",
+        "wx" : "0aadd9db8bb4189a6d2ab7b5aae550fe8dc00be2e00f4b35b576d6f862c09869210fc82fbd15a54def1442979fa0da1c64408fd8437a60046930820748ecdfc66",
+        "wy" : "4a59a87eae338d22d0835523156f8f7d934710a747cf192d3e317bc45f0489d6979887c65ec17ab7b5e3da9f4cb110116ef0739849acc56d24e5a3365fcfb289"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004aadd9db8bb4189a6d2ab7b5aae550fe8dc00be2e00f4b35b576d6f862c09869210fc82fbd15a54def1442979fa0da1c64408fd8437a60046930820748ecdfc664a59a87eae338d22d0835523156f8f7d934710a747cf192d3e317bc45f0489d6979887c65ec17ab7b5e3da9f4cb110116ef0739849acc56d24e5a3365fcfb289",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEqt2duLtBiabSq3tarlUP6NwA\nvi4A9LNbV21vhiwJhpIQ/IL70VpU3vFEKXn6DaHGRAj9hDemAEaTCCB0js38ZkpZ\nqH6uM40i0INVIxVvj32TRxCnR88ZLT4xe8RfBInWl5iHxl7Bere149qfTLEQEW7w\nc5hJrMVtJOWjNl/Psok=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1362,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "308184024053192c28820ec266639fee09e214a55cc0efb07b22dc0d3f293bda2072fcf9b462da93ec9e7169ae1f1148705189f7f15d2cbec46d224197a3a7a924b0c00a3202401b664536aedbdc97bed4dee23eb94a49f23de3bd84a78f299e81edfe017a7d3ca3a7c8aace8d13b6b2eb477b922c439839eacdff2783070757754863582f715d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1363,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "308185024100969058c15d675b1b262152a4520f7e803ab465a9e1eeef7b8a5d0fb3e88032b8e8f1be9f37c80f9c7b950f4da950baae9b216ecd6c793ddb1459cfdf49776bae024020e0d078a5a113e92facdfe5cb39243247254aa0a656b83e7baa343d36f7b14b86f15e54b71ba7506d5119ff52c47e0ee549927a008cbf2bbfe1916d1cc274b2",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1364,
+          "comment" : "x-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "30818402401de5df621364436bed5cacf8dbe420e4e4e5d1b0434fcf9dc335645dd0aa07cc1d1ea30a8cafe2531cd4035dd972c0d6c3720f160e24264fd6c41521e44eb0cb024072e9abd54561bac89b234bf9e51a3f6003590af177098e25f0053a3ae18a6c74b389674a6eb80378ffd255cfe52323645cdfe9a10a965341b4e47fc0dd082e1e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0424c10440e37a15d7ec9a3a48965a9ce9380221fc51155f1e992716cd9933d09ce0a5424471877e8994494a4c2ade0a81ef52952e395655157f0b743b3b219e2d628fd5ba510f610ee693a1e0d39ef39d91a6248379c622a175a23a5330a88b2d5a60dbf6d249702cd1504561535ea17e1be1b70a41dc463e8e1a1af000000000",
+        "wx" : "24c10440e37a15d7ec9a3a48965a9ce9380221fc51155f1e992716cd9933d09ce0a5424471877e8994494a4c2ade0a81ef52952e395655157f0b743b3b219e2d",
+        "wy" : "628fd5ba510f610ee693a1e0d39ef39d91a6248379c622a175a23a5330a88b2d5a60dbf6d249702cd1504561535ea17e1be1b70a41dc463e8e1a1af000000000"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000424c10440e37a15d7ec9a3a48965a9ce9380221fc51155f1e992716cd9933d09ce0a5424471877e8994494a4c2ade0a81ef52952e395655157f0b743b3b219e2d628fd5ba510f610ee693a1e0d39ef39d91a6248379c622a175a23a5330a88b2d5a60dbf6d249702cd1504561535ea17e1be1b70a41dc463e8e1a1af000000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEJMEEQON6FdfsmjpIllqc6TgC\nIfxRFV8emScWzZkz0JzgpUJEcYd+iZRJSkwq3gqB71KVLjlWVRV/C3Q7OyGeLWKP\n1bpRD2EO5pOh4NOe852RpiSDecYioXWiOlMwqIstWmDb9tJJcCzRUEVhU16hfhvh\ntwpB3EY+jhoa8AAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1365,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3081840240422fb18cdec966937145b0f160b8ce222b0ba16fab075e16f1dac839b8d7772fee27a283ad722225bebe83db2d5a8b25cb2cbe45248b3aa876554c6a37f8137502407a3889d53bb42a6d41f393eb00c43623937029d4cc1d367469f6ea4ec16658619d2935de0a655adae4cbb624f2ffe3ce41f024269d9149dbd83cb1c97aed41b8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1366,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3081850241009836ee7ae0447ec07a6a216633e0a97de831fa04fcd760abe39e8f457796fdfce9c69ed13c827de0ca6b60d849ed6976ac091b7d90ce3e98d3c9144afe638d4202401c9d8e142baee857d6adec8eff84ea1d23b05f5482cc2950451586cf5de0cbf9e3a727a4a4e93e15b6cc0125e5fcd1910636898064a63813a0c75fee28041b88",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1367,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402400877d7a3ffacf4ef36cbedfd44e4cc0237bdeede8ce0bdfb330bb73b317b7d161c45bd1496e1233ced8f7dcfd05e0e1cc665fb1dc92b54fcbe9b0e55d9ba1be402400f7ab871742ebf22e0b7674614d71569d5084ccc0c98c2e40d088ae88eab37820a89a2dbe49e1b67ec55ae1a34fe4822d691bbf5490fcc2c47e7c1ba4dc56e7a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040ba18cc05572424a7a391f4b48258a871a0f6d8216c5cf82446c2d156d5586b4c196da0b2f3a23511b89eff31dd4f0c88dbb1a76c5e4b27c4276f8fbc74a1b9da28cc8c341ea2e3908ae6ab6825f956032c53e625697f80b7b4ee72dcc9f3cff730349e0d30de410917f3d0d1c8988562c1d55583b47f0dec234fda2ffffffff",
+        "wx" : "0ba18cc05572424a7a391f4b48258a871a0f6d8216c5cf82446c2d156d5586b4c196da0b2f3a23511b89eff31dd4f0c88dbb1a76c5e4b27c4276f8fbc74a1b9d",
+        "wy" : "0a28cc8c341ea2e3908ae6ab6825f956032c53e625697f80b7b4ee72dcc9f3cff730349e0d30de410917f3d0d1c8988562c1d55583b47f0dec234fda2ffffffff"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040ba18cc05572424a7a391f4b48258a871a0f6d8216c5cf82446c2d156d5586b4c196da0b2f3a23511b89eff31dd4f0c88dbb1a76c5e4b27c4276f8fbc74a1b9da28cc8c341ea2e3908ae6ab6825f956032c53e625697f80b7b4ee72dcc9f3cff730349e0d30de410917f3d0d1c8988562c1d55583b47f0dec234fda2ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEC6GMwFVyQkp6OR9LSCWKhxoP\nbYIWxc+CRGwtFW1VhrTBltoLLzojURuJ7/Md1PDIjbsadsXksnxCdvj7x0obnaKM\nyMNB6i45CK5qtoJflWAyxT5iVpf4C3tO5y3Mnzz/cwNJ4NMN5BCRfz0NHImIViwd\nVVg7R/DewjT9ov////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1368,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "308186024100a7322046ba7473716d35742d961ac5f2fe2e1dd574ece7bd15da8c66a262b2e79b0d1df27619fdebbb41da1b27ba7c9a0370ef962ee8a45105f4416d16ebf13e0241008418e445db45cfbdc8458055386d65e9bc07b497b8d4bef5f515e7947050d9ab9799fb520f322bf00fae4fae03c1269510ebb3e1dc8cca59298e26945862e9e6",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1369,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402401bb460ac42bb3640bfc739a0186ef3362ed27b254f548c073935caa211a1aa302e79a9466d7fece774d250c1aeaef9641b9a2f25e61ca37fada8ee07f49fd51e02403d918a07a36f578da8b0d42d30bad60ecfbd603a45d0c1a71bb01447ead81a5313265cc9b5860aba03f1c93a9cb9f3bdd9a85f270dd3691465941d2b8098f93c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1370,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402405b44e4fd4996f27a7dcf306bc9fff4a9c36e3fe09026fa72122b64a4ff65f861a5954ce8a41f69a3915c84a63db0c57c6dfecbac4fde99ea5fcb104d6967d6130240088e7b846d6c5e093a7ba17427bcba0e925acb826e4e9b972b2d8a6d232f635cbe96bf6f163174db646c2f6623c89dc6e4a828d4e2e2fcf3c427c42bdb72efb7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047f3327e34662274aa147953a007f30c2ee1b06d7bb053e8ce1c9b683f0f46563dd38db071d87433b30380434c92e8cb76d603d1936fba1e9317a06e20000000052ca478f0367ab24857e788576f17bfcd05e62d20d0fbefd1b2d954b996eaba67819023635e31483f5b0257f89b46a1d2b9cb2420e1cdb940ceaff5429dd8013",
+        "wx" : "7f3327e34662274aa147953a007f30c2ee1b06d7bb053e8ce1c9b683f0f46563dd38db071d87433b30380434c92e8cb76d603d1936fba1e9317a06e200000000",
+        "wy" : "52ca478f0367ab24857e788576f17bfcd05e62d20d0fbefd1b2d954b996eaba67819023635e31483f5b0257f89b46a1d2b9cb2420e1cdb940ceaff5429dd8013"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047f3327e34662274aa147953a007f30c2ee1b06d7bb053e8ce1c9b683f0f46563dd38db071d87433b30380434c92e8cb76d603d1936fba1e9317a06e20000000052ca478f0367ab24857e788576f17bfcd05e62d20d0fbefd1b2d954b996eaba67819023635e31483f5b0257f89b46a1d2b9cb2420e1cdb940ceaff5429dd8013",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEfzMn40ZiJ0qhR5U6AH8wwu4b\nBte7BT6M4cm2g/D0ZWPdONsHHYdDOzA4BDTJLoy3bWA9GTb7oekxegbiAAAAAFLK\nR48DZ6skhX54hXbxe/zQXmLSDQ++/RstlUuZbqumeBkCNjXjFIP1sCV/ibRqHSuc\nskIOHNuUDOr/VCndgBM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1371,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024073967eb24e20f0d4ba58895a49f812c28d24e5f0fd5e35f1075810a478d93717c8aa2605ac84226dd3d53c39c0d8c52eeac8e998bad931f5efdd664b57cee555024005b0031fb10dfc7c36ed89aafe66444835cd9c53e1c850af5f055e2b263d3e737a4e6a83cadb9d76dde535e809f447455324d4aee6f036485d4167a6e60eeda5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1372,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "3081850240633f456914707923f4b0086ea318b8cebdba5fa14352e3d9c606bd8dabf032835bbda76aa514c1a6dde1b321803d27f253dfe1cae532a5bdcd9e93e5f94596d10241009b9c8ba074deeb03745d8ae37c73e02273071a35dcfe0f65e463e208bd11c6ccb3aded6be7313d7a656d5e871b8ea4d1d51b778467b6dde6578e105d56b617d4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1373,
+          "comment" : "x-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024040891a57b9b8f0bc6a8761d2424cb60b3f39de4e601bc8daf15ab3216c2c56ebcc760de30907e89294af5818f5a72a2df409bb6918f3d6e506ce5314602e50c1024068620756ee2a600a1467f29608ead019d0d516b79c8a756fc537a9fc734616bfec133839beb4778fdffd3fb4226e51ce4bc09627331c8daef1f711648a30fb06",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0412482f158e62e83467297b4edad930ad319048283f0949300605a4a2d19f72f924d41e1cc3ad2c246574f4a0eb637cdd386c1ebf4a00707b71a646dcffffffff18d851ef92835f7be92a25b988ae8d5f7ed42f312f7c896850a589f7bb7500330d138cc20dc5630a7d525926e8f717635ee72937035736ace88f0c491f31930d",
+        "wx" : "12482f158e62e83467297b4edad930ad319048283f0949300605a4a2d19f72f924d41e1cc3ad2c246574f4a0eb637cdd386c1ebf4a00707b71a646dcffffffff",
+        "wy" : "18d851ef92835f7be92a25b988ae8d5f7ed42f312f7c896850a589f7bb7500330d138cc20dc5630a7d525926e8f717635ee72937035736ace88f0c491f31930d"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d038182000412482f158e62e83467297b4edad930ad319048283f0949300605a4a2d19f72f924d41e1cc3ad2c246574f4a0eb637cdd386c1ebf4a00707b71a646dcffffffff18d851ef92835f7be92a25b988ae8d5f7ed42f312f7c896850a589f7bb7500330d138cc20dc5630a7d525926e8f717635ee72937035736ace88f0c491f31930d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEEkgvFY5i6DRnKXtO2tkwrTGQ\nSCg/CUkwBgWkotGfcvkk1B4cw60sJGV09KDrY3zdOGwev0oAcHtxpkbc/////xjY\nUe+Sg1976SoluYiujV9+1C8xL3yJaFClife7dQAzDROMwg3FYwp9Ulkm6PcXY17n\nKTcDVzas6I8MSR8xkw0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1374,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404debd0683028f2335b233c49531b6096e7c5521f75fcb4b5f5e32241be081f3c2b8549b57f31217be9b7aa1a4687a72ec9a5d376307252ca7c1b9b610d25b4d0024004d1303f6b91ac01c91411a983f3abb04f3698b169f8a39ffd1931c061e66f43482fec795dfd0d0abe879fa8db885b618aca2ae013e693f154bb9d0a77adef4f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1375,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024034ac9a4e6fb171f424bb592d1b845bee55173b42422fd5b5132f859a27ddcda5532fd38116e6277d9375639fb25b0f66f1e8a1accaa7800c91c87e7439987d58024075892be8e11d9bf3e81e8370af02d88bda83ce0ae9c21aeb487eef4c4c5458e51a99e4d788db84064cfbc48240f56612078769fde0e3b706125f46e2f26a3508",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1376,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024036b68b5cad7428803f606615505857aa7cfb683d1e9ce856d499fa6e13ee6a4f235edd00403429ff14bc578dd121fd256004794add4fb8195b43a9e1eefbd3a1024045c6affd607f5424a0e49c0f1a72ebf7948a80b482ef171ee161dc36515679e32fa9edaa92c57403e6e102643b77391aedeec2b054964315dedd4cc369f23f03",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512t1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042998e0959e62bbed075dad4830ff74a33d199c6e29beb5ba518c6c4105e1b413ab78f730e1fc32e94f1a2c15931625c6b2150db2a12b5b44da15845068fab40f000000005d9bf2e4367c381dab13e026a1db8ba70f04268779ac786983d697461f0c7e526aaf03001b168cb47911cec4439d139ce2bdc3cb2f6f7ce51001de6e",
+        "wx" : "2998e0959e62bbed075dad4830ff74a33d199c6e29beb5ba518c6c4105e1b413ab78f730e1fc32e94f1a2c15931625c6b2150db2a12b5b44da15845068fab40f",
+        "wy" : "5d9bf2e4367c381dab13e026a1db8ba70f04268779ac786983d697461f0c7e526aaf03001b168cb47911cec4439d139ce2bdc3cb2f6f7ce51001de6e"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010e03818200042998e0959e62bbed075dad4830ff74a33d199c6e29beb5ba518c6c4105e1b413ab78f730e1fc32e94f1a2c15931625c6b2150db2a12b5b44da15845068fab40f000000005d9bf2e4367c381dab13e026a1db8ba70f04268779ac786983d697461f0c7e526aaf03001b168cb47911cec4439d139ce2bdc3cb2f6f7ce51001de6e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEKZjglZ5iu+0HXa1IMP90oz0Z\nnG4pvrW6UYxsQQXhtBOrePcw4fwy6U8aLBWTFiXGshUNsqErW0TaFYRQaPq0DwAA\nAABdm/LkNnw4HasT4Cah24unDwQmh3mseGmD1pdGHwx+UmqvAwAbFoy0eRHOxEOd\nE5zivcPLL2985RAB3m4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1377,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "30818402402eaf57807294e50728a87468381a4499b336af045d534cf0854ccf80178d53a379585ff06b3db31174e101dce81c757a8cc3c4033231baf3e8d4c5c4bd35984b024060d445cccc506abdae5a7d42c2d22cf03fc2e8f6717668308fb5cf8e10176d1c723e4682f942ff13ef832ad51329076f4c628b4f6263f519bcaf0d915692a24d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1378,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "30818402400ae7a5f9bef3bc570b1bfc218f6ee071855d86c8aba36504dc0c480d857059dce2cf937506716075cd8045fae969309585f62ad34135c64dd6f9c18705df0db1024069f2473a71eca7222b27c5bd600c1b1c2a8b9afb3b063ae49d5b4a090ecfc76179f041b39dafa491b391ee79b5d24fc1210e5d8d135cb1fda891ec7b806af31f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1379,
+          "comment" : "y-coordinate of the public key is small",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404a2942579bed39477d56cec8d7e8f029e93ded04bed5ec727180efab14212f88530fb4bd92d99202ac966c6d75d8c1f1bef5d13e14973ac49f32e70643a83c670240632f647f8c256a6ff572c0885d20e9dd309d26c96cc7392649ca1a1dd5c638358626705850f7768542f53a50a63c191b2d86e00ee2b3233df5c0bddcff272bad",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512t1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "042998e0959e62bbed075dad4830ff74a33d199c6e29beb5ba518c6c4105e1b413ab78f730e1fc32e94f1a2c15931625c6b2150db2a12b5b44da15845068fab40faadd9db87e4dd1a70958ae9088b61be12955020ca4c5ab875cb72460ec5c712b5e411cae3117654293b714766d91b221e4e4eb924ac502b9f93ae37148386a85",
+        "wx" : "2998e0959e62bbed075dad4830ff74a33d199c6e29beb5ba518c6c4105e1b413ab78f730e1fc32e94f1a2c15931625c6b2150db2a12b5b44da15845068fab40f",
+        "wy" : "0aadd9db87e4dd1a70958ae9088b61be12955020ca4c5ab875cb72460ec5c712b5e411cae3117654293b714766d91b221e4e4eb924ac502b9f93ae37148386a85"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010e03818200042998e0959e62bbed075dad4830ff74a33d199c6e29beb5ba518c6c4105e1b413ab78f730e1fc32e94f1a2c15931625c6b2150db2a12b5b44da15845068fab40faadd9db87e4dd1a70958ae9088b61be12955020ca4c5ab875cb72460ec5c712b5e411cae3117654293b714766d91b221e4e4eb924ac502b9f93ae37148386a85",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEKZjglZ5iu+0HXa1IMP90oz0Z\nnG4pvrW6UYxsQQXhtBOrePcw4fwy6U8aLBWTFiXGshUNsqErW0TaFYRQaPq0D6rd\nnbh+TdGnCViukIi2G+EpVQIMpMWrh1y3JGDsXHErXkEcrjEXZUKTtxR2bZGyIeTk\n65JKxQK5+TrjcUg4aoU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1380,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "3081850240113619a3231e670e22c557ce2cdd030b7e32d9abd069db7304c31e2a1e54aa9986a44124b40d5fb50a8fa1cafcdbf6f1454753203819d0d269579b138fc7b63b024100989982ebc17f27cbcdf17d04e994c829b013305c6faa48b10cff5e9118d6368d7a4f276cd1c92200a17eb6a2b9309f75d9f5df58b68e876082720468ef63fa48",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1381,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "308183023f558cf186f501179e19d8606bad39e84f14239dcf6993ae850f42759a13eb7cad5eae697ed25ec2ee18b77c3ef7ef09c06cab159a82f18ddccaf1063c83cd220240660292d1bcf9d6fd1d1b66eae49cde4da7710e9807aeb747417002047b7148f7e316b9e810ae5359c7218e5baf4da97664ed4e93d169d4ade7fe272d56ebc21d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1382,
+          "comment" : "y-coordinate of the public key is large",
+          "msg" : "4d657373616765",
+          "sig" : "308185024100909621b2b940d634907762fa65c6249857e414b3e5e4a1461cd47743bd46497cc313c28811287f9ff1b485219ef050b26623b9bec5f1e0e6b7b96b49e2bb831c02400169e5b9f3d0a64bf90e55668fd12888dcfa55eaaec2076ea7b84e88f22225c57e220d7b96c2a5753d7e3b45fa046ea1fb6683e1a8cf818b19afbbe54c12d28c",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512t1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0450ce8ff875f5162824bc04693a98fb3ede4d850986640c5b6d8fc451c45de8ed6fdc28c097ba8eafd591e7dc48ca5f9a94710666c310be8c335a4c68ffffffff5a186446dc03018965b508c5941ee6b462774fe6229610e235678a304755e1b6eabf725dfcff2a0cae7e8a7c6bf220ddf0189d0afa78519944b9958c50ac1e90",
+        "wx" : "50ce8ff875f5162824bc04693a98fb3ede4d850986640c5b6d8fc451c45de8ed6fdc28c097ba8eafd591e7dc48ca5f9a94710666c310be8c335a4c68ffffffff",
+        "wy" : "5a186446dc03018965b508c5941ee6b462774fe6229610e235678a304755e1b6eabf725dfcff2a0cae7e8a7c6bf220ddf0189d0afa78519944b9958c50ac1e90"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010e038182000450ce8ff875f5162824bc04693a98fb3ede4d850986640c5b6d8fc451c45de8ed6fdc28c097ba8eafd591e7dc48ca5f9a94710666c310be8c335a4c68ffffffff5a186446dc03018965b508c5941ee6b462774fe6229610e235678a304755e1b6eabf725dfcff2a0cae7e8a7c6bf220ddf0189d0afa78519944b9958c50ac1e90",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEUM6P+HX1FigkvARpOpj7Pt5N\nhQmGZAxbbY/EUcRd6O1v3CjAl7qOr9WR59xIyl+alHEGZsMQvowzWkxo/////1oY\nZEbcAwGJZbUIxZQe5rRid0/mIpYQ4jVnijBHVeG26r9yXfz/Kgyufop8a/Ig3fAY\nnQr6eFGZRLmVjFCsHpA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1383,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "308185024072e1d955e0d4579fbbf3cd6700ef435292be919c42a0f003d6a2a5e4b94cfe1a4dbf4b4a1781f81ef4706f2e9f4fac8cd671251685ebe50002d4e6f532bb454f024100875967a2c16d3ffc1c571875b6f35ca66709fa86fe24f61d0ece79b8df551c4cb71918748105f26e367ee141f13f1bdfbbb1070d6ac031a1aecf2b25ba8d563a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1384,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024035e6f53d230d2d18cfd3e6ccf2b6c9fd56838760884f1888754beb474feb3dc41073075b3b7c309548bfce2eefc3107328f364b816b923e8efef89f39539bc3902401e5eddd0ff983a9af60b30bfb1662491bb900f91bb506332c630ed06d83e34420490d782c9df591d39c53364a5a6e3c6e330cde77658f34ed34c33bf3d264e35",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1385,
+          "comment" : "x-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30818502410094875032e0358e02ef7418c2141a3c97a9cdc42451c5498d048e9bceb23b6c62f0245c778d064b9fdb6c0c182b2c8cba6f92c20bdc39ccf6f789d7cbfc8781e3024033fc0f481463d96900a59158a78c288bd78593a1cdb3e287ae75c597cf8d59ac2636a8535e1723f12791b9ada9d0f4509eb48e573cf4f69571d527a22d14e39e",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512t1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044c827f0f3da1a424a2cef8a32f51046e6e99b834912c779b9b8ced1df4941379082a7545fb34f1da0413542ffe713aba57e7c275e28197746fc7e837a325f42a23d88740018aea655ce5b763aa3fb1a83072f866f7c1454f8c023c196953026abe4a01f5ed414c703c4b458d09e0815df663790b77f7a9a38b8f07a900000000",
+        "wx" : "4c827f0f3da1a424a2cef8a32f51046e6e99b834912c779b9b8ced1df4941379082a7545fb34f1da0413542ffe713aba57e7c275e28197746fc7e837a325f42a",
+        "wy" : "23d88740018aea655ce5b763aa3fb1a83072f866f7c1454f8c023c196953026abe4a01f5ed414c703c4b458d09e0815df663790b77f7a9a38b8f07a900000000"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010e03818200044c827f0f3da1a424a2cef8a32f51046e6e99b834912c779b9b8ced1df4941379082a7545fb34f1da0413542ffe713aba57e7c275e28197746fc7e837a325f42a23d88740018aea655ce5b763aa3fb1a83072f866f7c1454f8c023c196953026abe4a01f5ed414c703c4b458d09e0815df663790b77f7a9a38b8f07a900000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAETIJ/Dz2hpCSizvijL1EEbm6Z\nuDSRLHebm4ztHfSUE3kIKnVF+zTx2gQTVC/+cTq6V+fCdeKBl3Rvx+g3oyX0KiPY\nh0ABiuplXOW3Y6o/sagwcvhm98FFT4wCPBlpUwJqvkoB9e1BTHA8S0WNCeCBXfZj\neQt396mji48HqQAAAAA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1386,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402406fc29976ce99ca8961a91a97dc6a4a110cf087eef1865bce8fb47f704b641f7170121db02ce95066e672efc0bcc6fd5c6a6a6c162cdfffc66dc202d30f16bae002402ec8e0d92e576b417756e387a5418e2b83fdf04b6f087b1f01bf58f8d6691577755172fbfc71a29689fc823737882cf8df16f0bc29cb3884e7c04b8e5dc75c4f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1387,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "30818402405bc931007fd6c71a64df18fe1b44afaf58ecdbb21e7bc9dda8f11b0c23f5cbabe659de7a6a68f9fdb59a78c73f7c307677857e04a6ee2b0a71fae572bec5197d0240683cc10278169dc262b5ebb8ee498b9e48957c91293c2ece45e6398a4a7f7fa05ddb6f39dd6729450cc8226631a2cceeaf735b1e54f023272059a0568229c500",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1388,
+          "comment" : "y-coordinate of the public key has many trailing 0's",
+          "msg" : "4d657373616765",
+          "sig" : "308184024044314adc963c90d08ebefdb19f5426678ddf05dfeaee54e58a8f6b689832f01b75ccf2a13ac9ba96739ba2caa2948705a47b01a2134ce023c7a51c43aea2cd47024009769abfcba361f04bc661d28d51edb6c0a61d02a2b092a239928d5df3ed88ae50cb93e1fc25d7a4b0f5088e7300363ebaea6797b37fa68c2b3a92ba086aac99",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512t1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046ba6e00ef35739a400c612f603b9363f3442b2fcec8a94e2685818ea114925e68db15ec7ebc4fe778838d183b14e16f2eba107256e1e65cad301af869521f64e4a469191781d8503a3a41bdd1203f96af37547d8cf4dfbd780ffb223d60c8f0ad303f5109447564164c4ae85310899d089d333cfb2655852a51dbb31ffffffff",
+        "wx" : "6ba6e00ef35739a400c612f603b9363f3442b2fcec8a94e2685818ea114925e68db15ec7ebc4fe778838d183b14e16f2eba107256e1e65cad301af869521f64e",
+        "wy" : "4a469191781d8503a3a41bdd1203f96af37547d8cf4dfbd780ffb223d60c8f0ad303f5109447564164c4ae85310899d089d333cfb2655852a51dbb31ffffffff"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010e03818200046ba6e00ef35739a400c612f603b9363f3442b2fcec8a94e2685818ea114925e68db15ec7ebc4fe778838d183b14e16f2eba107256e1e65cad301af869521f64e4a469191781d8503a3a41bdd1203f96af37547d8cf4dfbd780ffb223d60c8f0ad303f5109447564164c4ae85310899d089d333cfb2655852a51dbb31ffffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDgOBggAEa6bgDvNXOaQAxhL2A7k2PzRC\nsvzsipTiaFgY6hFJJeaNsV7H68T+d4g40YOxThby66EHJW4eZcrTAa+GlSH2TkpG\nkZF4HYUDo6Qb3RID+WrzdUfYz03714D/siPWDI8K0wP1EJRHVkFkxK6FMQiZ0InT\nM8+yZVhSpR27Mf////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1389,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "30818502406fa3401b7ffd9e455613f1032f757ee318e3fad1eb064f5b7036efdbf6c1d7a1c40328f4bb2435b37a21b6f1f9d7d853eeac2660c45d65459d73ce191767c69302410092e90f5e883638d9bac9b4eff9333dfba55860a97810a505baa7f317cfee0d44c9bd332163db3d63e975443b0457cc52737aa84dbcbfdcd5b8d4f7f8388973f9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1390,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3081850241008f1a46fa97c1f64e999a373af69cda2da531440f22383328f04b30b20366b3814d0a5616fc5ccbf7cbca97e95d2099fc7c5bb582ecadcda9b535117daa9c39920240186a626132df3f81868ce9d5963f931e0142677254a31a8647556bf896907f29d62167b3cb2ea892a4384daf8855e258361cb6762de703c63d6445cd68ab4d33",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 1391,
+          "comment" : "y-coordinate of the public key has many trailing 1's",
+          "msg" : "4d657373616765",
+          "sig" : "3081850240108b5edd424745fc20da9bdcb83cf2f8c0439b390d72805149b8deb85352d79b9579d5f7f1b92e79ddff5c05f8c046f6bce7129565d33937c72a34d3436587c40241008f3af09a517f564adb3dbb345c122de41640f4b3cc6c5cbc0e2b36a836b2653caa112ae03f753b0e9070c9fc7f0d140b33c9d2b837837d1947c03d141957ffee",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04512e581731c9c460bb705b60da976ccb1b0ef421785106ba2ccdd2380f21d5bacdf81c0cb78fa151237db3130ad4def373f3e523398c2cf7",
+        "wx" : "512e581731c9c460bb705b60da976ccb1b0ef421785106ba2ccdd238",
+        "wy" : "0f21d5bacdf81c0cb78fa151237db3130ad4def373f3e523398c2cf7"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004512e581731c9c460bb705b60da976ccb1b0ef421785106ba2ccdd2380f21d5bacdf81c0cb78fa151237db3130ad4def373f3e523398c2cf7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABFEuWBcxycRgu3BbYNqXbMsbDvQh\neFEGuizN0jgPIdW6zfgcDLePoVEjfbMTCtTe83Pz5SM5jCz3\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1392,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00c95518bae4cdd1311784590a784650c2633ae192d2929553e96edf5f021c6afb37f9924b5e4c9453bdc2dcb9ac1565b3b1182d74607e339de8ff",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1393,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c2d0cdd510f69007deb38ad899122b926cd684ee85a29892a6f8e2949021d00a60982ac01e843bf4039baf0e4c54d803ee86c9b396b719a58f2b084",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1394,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00bf03007699cbd36c564029340d93e7a69230aceb759a3d0918ee0e6c021d0099743ba3a4e77418adadc7b2db67adec8fc8b244e56ec4f2d5afc0c5",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ac55d1b3fed4aee03fa3615d225a9cba5c0284416fbaf9a76135f76217a888395bced34977a8482370d56ebc62aa1ca81bc330f49d4a141d",
+        "wx" : "0ac55d1b3fed4aee03fa3615d225a9cba5c0284416fbaf9a76135f762",
+        "wy" : "17a888395bced34977a8482370d56ebc62aa1ca81bc330f49d4a141d"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004ac55d1b3fed4aee03fa3615d225a9cba5c0284416fbaf9a76135f76217a888395bced34977a8482370d56ebc62aa1ca81bc330f49d4a141d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABKxV0bP+1K7gP6NhXSJanLpcAoRB\nb7r5p2E192IXqIg5W87TSXeoSCNw1W68YqocqBvDMPSdShQd\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1395,
+          "comment" : "x-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00b207e86cb0789b09de84e0b05c875c134cb701b825b7e37369d1497f021d00b66f890b6c61171d2d474391d5fbf5205afef3d8628ed3728d5c1655",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1396,
+          "comment" : "x-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00d2c0ae451c1d661cd3c137a2b0c2a5349a1b22e890093f3bb021b470021c6b7bf3bee77d48b32b0b822f5d4f0dca0a017919b09f92c7669cf5cd",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1397,
+          "comment" : "x-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00ad305aff3120dcaa93238388f96f26b44e2abfbfc8e366e936a1f5f0021d00910d0c66c18b74dcad62da508f8bb5e44483c20df95d7b3348c5d32c",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59b120f96343deb80093ecb7695c2d2a5be9937a258723d78ed00aa1edf",
+        "wx" : "08b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59b",
+        "wy" : "120f96343deb80093ecb7695c2d2a5be9937a258723d78ed00aa1edf"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00048b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59b120f96343deb80093ecb7695c2d2a5be9937a258723d78ed00aa1edf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIsxny7QdKIOxC2GnH+ZvZFG7YJj\nKXv+AE8nxZsSD5Y0PeuACT7LdpXC0qW+mTeiWHI9eO0Aqh7f\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1398,
+          "comment" : "y-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00a2f1ca07012f6d76f0c1a7edc98e97ac5439ea6f536376e1518243e1021d008da899be8b73ad74f31cde8030ec694c3c0380a303554557009ddce4",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1399,
+          "comment" : "y-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d008e245a23d95e8c8512689c6a7b79b338f4628116d92e2659650bb879021c2602f7ec88ab2e7e10fa02aac442476ee26ffb8231d017355f804761",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1400,
+          "comment" : "y-coordinate of the public key is small on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303e021d00948a855285cfd20560efa45f93306aa5d0aeb3988b224587fc30122f021d00d54acf351e538f162991b91768e3690f149095d31397cf01ad136a21",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "048b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59bc5b19e75e857e67ceb4cb98fb2ff31c9176764ff259d11087e1ea220",
+        "wx" : "08b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59b",
+        "wy" : "0c5b19e75e857e67ceb4cb98fb2ff31c9176764ff259d11087e1ea220"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a00048b319f2ed074a20ec42d869c7f99bd9146ed8263297bfe004f27c59bc5b19e75e857e67ceb4cb98fb2ff31c9176764ff259d11087e1ea220",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABIsxny7QdKIOxC2GnH+ZvZFG7YJj\nKXv+AE8nxZvFsZ516FfmfOtMuY+y/zHJF2dk/yWdEQh+HqIg\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1401,
+          "comment" : "y-coordinate of the public key is large on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c1c2d0f676f99a2955b72ca32d28968ccbd38d3de70bcedbbe1592291021d00cb7a39faa9ab0508a6aaa772f0a003c703ab84ffcddd9ac50ba1f196",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1402,
+          "comment" : "y-coordinate of the public key is large on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d00d3a0a4924f86c524fe771342d6cb645d72807fa250cb7b27502a7fc9021c5393c63fd2c682691dc3cd911f175a5f115d002e33794ad8d39b6c4b",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1403,
+          "comment" : "y-coordinate of the public key is large on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c3a001e9bd29a137ef655aa8fc02ad9cfb19171668df2ffecbb166fab021c646b4695547ddb392820e0f84350862a7cff332b036f046d4c2fe4a0",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c5dc5135f050a96bbb0d21885195b49a574d5198baac4b4602b21bc8b5f38b7fe661003faee1b7af670e165bfab70b018965e83329d405bc",
+        "wx" : "0c5dc5135f050a96bbb0d21885195b49a574d5198baac4b4602b21bc8",
+        "wy" : "0b5f38b7fe661003faee1b7af670e165bfab70b018965e83329d405bc"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c5dc5135f050a96bbb0d21885195b49a574d5198baac4b4602b21bc8b5f38b7fe661003faee1b7af670e165bfab70b018965e83329d405bc",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMXcUTXwUKlruw0hiFGVtJpXTVGY\nuqxLRgKyG8i184t/5mEAP67ht69nDhZb+rcLAYll6DMp1AW8\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1404,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c7116be59cfe691bf4d41aa536df59681f08ff5663a87e5b0432543ff021c6459005b5513c470c8fa49213c97d54a8d9241c56b2c35df714f474c",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1405,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303c021c3e2af0528f85dd3603b6138d4d58b700d9e14c24ebb9a523233e02da021c34cd5a75313f0d0c57d4534cac1859197eac3e837fd7b77bc925b257",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1406,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c2357daaf4dd854e9090386350d76ca18436c81a91811ddd272e0e369021d00d491a745051d6a45afb6bd4653b1a1eb52c3b6eb41e03847da3ee5b9",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP224r1",
+        "keySize" : 224,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c1b56a1ad154e11556b723fc7493f36e66509d8f68fad0e62c40f0859b04780a85e69abf98def3335ce643cd3554167a8b50d596b9538895",
+        "wx" : "0c1b56a1ad154e11556b723fc7493f36e66509d8f68fad0e62c40f085",
+        "wy" : "09b04780a85e69abf98def3335ce643cd3554167a8b50d596b9538895"
+      },
+      "keyDer" : "3052301406072a8648ce3d020106092b2403030208010105033a0004c1b56a1ad154e11556b723fc7493f36e66509d8f68fad0e62c40f0859b04780a85e69abf98def3335ce643cd3554167a8b50d596b9538895",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFIwFAYHKoZIzj0CAQYJKyQDAwIIAQEFAzoABMG1ahrRVOEVVrcj/HST825mUJ2P\naPrQ5ixA8IWbBHgKheaav5je8zNc5kPNNVQWeotQ1Za5U4iV\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1407,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c39aa3aa6691c95487ebc3d605cf9e0ac8a64ea3324f448e851ea1d0c021d008e87a220c70a7e1b5b53e10f9f85dfd796e5bcb8c50b56fe8c119a25",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1408,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021c3c4e580131536b54fb1bf9da674cbf773e88599bf5664e414d38cf54021d00d1b2db7da0337af9665a0c3c635545e6e07325ea811664ab1bb97f21",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1409,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP224t1",
+          "msg" : "4d657373616765",
+          "sig" : "303d021d0082890d9903ff2413542b218cd13a0401f6a83f07c2b7cb32294953b0021c2189daaae8e48edab99bd1e01e22d04f28782f2d1e17b6c85b7bb56f",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0481528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff1175bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512",
         "wx" : "081528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff11",
         "wy" : "75bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000481528b7adbbebf1b6b3c7fa1d61284b07759b9a98d31a5702707b018fdecff1175bbfccb545381bf8601031731841829401b08dcdc68cc34e06a64e412038512",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABIFSi3rbvr8bazx/odYShLB3Wbmp\njTGlcCcHsBj97P8Rdbv8y1RTgb+GAQMXMYQYKUAbCNzcaMw04Gpk5BIDhRI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1208,
+          "tcId" : 1410,
           "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3045022100a50318c3066a4966ad18ae8f85253fbb5835a34b2f9187daac71ee28d3d5d0eb02200890ef0fc93df222d11197cb221483ce897b0cf1acf4a909c306c5a485776abc",
@@ -18381,7 +22579,7 @@
           ]
         },
         {
-          "tcId" : 1209,
+          "tcId" : 1411,
           "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "30440220041e0389dda2cf2ae3a9562a0fb5d41c1f7533e6cc84a896e99af781e21097700220366b5d88c36f1227df522fdab65e12347d68eb64f2de82c648115fd565bd37b7",
@@ -18391,7 +22589,7 @@
           ]
         },
         {
-          "tcId" : 1210,
+          "tcId" : 1412,
           "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304502202a76394a04ae19b25c54291e28bcd42a7edeb20981b8a3b838f9dd0e29b574c10221009ce89980ae432c4fa6a68025da554bf900cc2eb0c66906420d322c14b453049c",
@@ -18403,20 +22601,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+FuqOA8IJd/IK7VgQa22dEIW0R191tUacX0Jssn7G2HI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872",
         "wx" : "0a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e",
         "wy" : "16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e16ea8e03c20977f20aed58106b6d9d1085b4475f75b5469c5f426cb27ec6d872",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+FuqOA8IJd/IK7VgQa22dEIW0R191tUacX0Jssn7G2HI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1211,
+          "tcId" : 1413,
           "comment" : "y-coordinate of the public key is small on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3045022066958be3379405826a00daf5495b1657698126a5ff449f9649af26ca96df96670221009b4100816e2741f86c5c0b0dcf82e579f4281d2b8e70c234808d84c1a495079f",
@@ -18426,7 +22625,7 @@
           ]
         },
         {
-          "tcId" : 1212,
+          "tcId" : 1414,
           "comment" : "y-coordinate of the public key is small on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3044022053ed0f4b8fb33ef277cdd1060435ed3dec518a225659f71f67f9a1f07f85c1ca0220124d5f94ddf12bb4cbe3c5cea6d2686d4480dabb8ffbb05e5238c877fe20383e",
@@ -18436,7 +22635,7 @@
           ]
         },
         {
-          "tcId" : 1213,
+          "tcId" : 1415,
           "comment" : "y-coordinate of the public key is small on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3044022046643c7fe0f308b8af4ce2978d797e8c46a7e1f8bfee0b5cdbaecde1f59be41d02201bd11a814d1fbd9ae97a49df99beca7fec2512563c0031c5aad5b9fc2fb0a507",
@@ -18448,20 +22647,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e9310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+kxDJ19/lMcozeLKAMhXwYeiHrsRfcNmLwNDbaqCnewU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e9310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05",
         "wx" : "0a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e",
         "wy" : "09310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b240303020801010703420004a3a25a353caa94ac4eed3700f7d56b456a0fc670d56a166d5219b7c97f30ef3e9310c9d7dfe531ca3378b2803215f061e887aec45f70d98bc0d0db6aa0a77b05",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABKOiWjU8qpSsTu03APfVa0VqD8Zw\n1WoWbVIZt8l/MO8+kxDJ19/lMcozeLKAMhXwYeiHrsRfcNmLwNDbaqCnewU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1214,
+          "tcId" : 1416,
           "comment" : "y-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402204f833bec9c80185beacbb73b5f984e2c03d922359be7468ce37584f53d1aea4a02206636744ab7fecaa53541bcf5f37c6cbe828a8efbc4d00f6469ba390a86708a26",
@@ -18471,7 +22671,7 @@
           ]
         },
         {
-          "tcId" : 1215,
+          "tcId" : 1417,
           "comment" : "y-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3045022100a2869da416523aad2b8fa8aad5c3b31c5a535fdd413b71af4dffb90c6f96a669022029ff3e8d499cabc3cc4cccd0fa811cc3b04770aa71f0d052185210b14d31993d",
@@ -18481,7 +22681,7 @@
           ]
         },
         {
-          "tcId" : 1216,
+          "tcId" : 1418,
           "comment" : "y-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3044022063dbfe29249a506b89fbd2cb1fafc254a9582dfc4b08d143b6d25bf2ab49d55e022044cad80c00460905e103f26da84cefd71af4bc7a71962a3bce321bc3b5842736",
@@ -18493,20 +22693,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f45994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG1Jmwd6ttd7JEMgosrKuRp2RZXd\nZ6eo38+E2n04stj0WZTAe4M/9JCcGpLMnyTeqIvoYDtAewDSKPryFY2yNU8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f45994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f",
         "wx" : "6d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f4",
         "wy" : "5994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b2403030208010107034200046d499b077ab6d77b244320a2cacab91a764595dd67a7a8dfcf84da7d38b2d8f45994c07b833ff4909c1a92cc9f24dea88be8603b407b00d228faf2158db2354f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABG1Jmwd6ttd7JEMgosrKuRp2RZXd\nZ6eo38+E2n04stj0WZTAe4M/9JCcGpLMnyTeqIvoYDtAewDSKPryFY2yNU8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1217,
+          "tcId" : 1419,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "30450221009d907cf88e10d60c3f23892498fe43ddb02f824fb18e6be313e02d94f2c8e09002200c16b9e0db4dc8606c023b001f69b3c886080794fc9d7fe31b00c1cf0935e421",
@@ -18516,7 +22717,7 @@
           ]
         },
         {
-          "tcId" : 1218,
+          "tcId" : 1420,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402207395ce0ef652848a86b61097cc9543998d39dae88a1fc9e4dfdd69642949548902207de29e256e8202382f91c116a667a8b946f210447a57369ba61ae4fae73dd136",
@@ -18526,7 +22727,7 @@
           ]
         },
         {
-          "tcId" : 1219,
+          "tcId" : 1421,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402207baf1fde87ccb1bea0f893b3bfb2549c04bca18835d8eb5a31b8d20506ff88c30220289ebe829fefb9ad009d7cdd622874aef5fa088f0508a4b43d5895d61645cecf",
@@ -18538,20 +22739,21 @@
       ]
     },
     {
-      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000408c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAjC+V/+3eHVXj8snc9YhDR/aQTG\nSSJzrXYOt7mzXwNrK896BIyqLHJq6ICNyVMS6yNQJ1qPT77qfA8y84Oce5M=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0408c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93",
         "wx" : "08c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b",
         "wy" : "2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93"
       },
+      "keyDer" : "305a301406072a8648ce3d020106092b24030302080101070342000408c2f95ffedde1d55e3f2c9dcf5884347f6904c6492273ad760eb7b9b35f036b2bcf7a048caa2c726ae8808dc95312eb2350275a8f4fbeea7c0f32f3839c7b93",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFowFAYHKoZIzj0CAQYJKyQDAwIIAQEHA0IABAjC+V/+3eHVXj8snc9YhDR/aQTG\nSSJzrXYOt7mzXwNrK896BIyqLHJq6ICNyVMS6yNQJ1qPT77qfA8y84Oce5M=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1220,
+          "tcId" : 1422,
           "comment" : "x-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "3044022033e37c3b66acabee3d68cbbb9c55cd52b586de51647723fa84e532a3ec5953ef02203b8a9ee707d1bc5f83e17ea072adc2ecda92e637d7c06060f1af79b929a850b3",
@@ -18561,7 +22763,7 @@
           ]
         },
         {
-          "tcId" : 1221,
+          "tcId" : 1423,
           "comment" : "x-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402201f8ebdc94ecddd84f90960cc55d0ca02e33d70535fc1c7322b3c2783b9dc92380220205aa8626c3a5da214e5485b11154a378d70b0d3323ab868528ae8048d17b696",
@@ -18571,7 +22773,7 @@
           ]
         },
         {
-          "tcId" : 1222,
+          "tcId" : 1424,
           "comment" : "x-coordinate of the public key is large on brainpoolP256t1",
           "msg" : "4d657373616765",
           "sig" : "304402206b0d70e09ba1642adac06dff9b52e22a3e4aab4180e372665691412241e743a002204d7d30ff8a210de69e3e6d1ecf7175f89f481a4d9ed06beaf7148da47f4af9e9",
@@ -18583,20 +22785,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000434770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae263688622421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDR3DHOn5CznpX0d5uVPNfF1IEf2\nUTWEx7FLyhfXq8SZ+KsDfHD9LhOouXsq4mNohiJCFhW6Nj8f/pqPL+D24kb9oRRi\no+wADGheCakNvNwq9kZ/nuabXnvq2bhGH0pL4A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0434770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae263688622421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0",
         "wx" : "34770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae2636886",
         "wy" : "22421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000434770c73a7e42ce7a57d1de6e54f35f1752047f6513584c7b14bca17d7abc499f8ab037c70fd2e13a8b97b2ae263688622421615ba363f1ffe9a8f2fe0f6e246fda11462a3ec000c685e09a90dbcdc2af6467f9ee69b5e7bead9b8461f4a4be0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABDR3DHOn5CznpX0d5uVPNfF1IEf2\nUTWEx7FLyhfXq8SZ+KsDfHD9LhOouXsq4mNohiJCFhW6Nj8f/pqPL+D24kb9oRRi\no+wADGheCakNvNwq9kZ/nuabXnvq2bhGH0pL4A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1223,
+          "tcId" : 1425,
           "comment" : "x-coordinate of the public key is large on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402300e44fdc33aed0c320e371e2a78e9f18fde83434e681afb05a5bdb0f43cac70e83ede56bf8c56acf70e054e2ffef549cf02301324b4cfe684d401eac15b0940f5835436d3a1028e27c1966dbf69fefef82748a05b4443c77c870789135755d0d184cf",
@@ -18606,7 +22809,7 @@
           ]
         },
         {
-          "tcId" : 1224,
+          "tcId" : 1426,
           "comment" : "x-coordinate of the public key is large on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402305966acd8a7714f2015e36fd4fdb3452258ce0aaefb3972091b496bd530bbaf1ec67d7e37e50031b3eea44a8bb8f62c2002302a5f309d2fad55b93a7a3012cbda2845efaa4ea0d187d3824f4a6a9227730d3ab15246d8d0952c7ee8c0b9eb83d1c2a2",
@@ -18616,7 +22819,7 @@
           ]
         },
         {
-          "tcId" : 1225,
+          "tcId" : 1427,
           "comment" : "x-coordinate of the public key is large on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "30640230266eace657e1ec88a2adbb38a5afb4f750274ca614d1fde9ea39dff6f2a2aa69923e9a7489f06bf9d84c518cee57e55b02303d19027684ef221216f63a591d8e793524e4c1234a56ce415bb9ad9e2ebf25ac94a99261b9157d19daa5aa876291f308",
@@ -18628,20 +22831,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000486f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e01ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIbw/Im3hh7DvVghYa7PyVeJrkAk\nWet/MBW33STiD8mwBcY1/CkKDiqf81hjt7guPgHrukiekj2tiBRgd5FOOuXFdeG+\nzs7HEJYqGP/ZEAV3bE2eS9lSx5NYenApHOR4tA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0486f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e01ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4",
         "wx" : "086f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e",
         "wy" : "1ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b0362000486f0fc89b7861ec3bd582161aecfc95789ae402459eb7f3015b7dd24e20fc9b005c635fc290a0e2a9ff35863b7b82e3e01ebba489e923dad88146077914e3ae5c575e1bececec710962a18ffd91005776c4d9e4bd952c793587a70291ce478b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABIbw/Im3hh7DvVghYa7PyVeJrkAk\nWet/MBW33STiD8mwBcY1/CkKDiqf81hjt7guPgHrukiekj2tiBRgd5FOOuXFdeG+\nzs7HEJYqGP/ZEAV3bE2eS9lSx5NYenApHOR4tA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1226,
+          "tcId" : 1428,
           "comment" : "x-coordinate of the public key is small on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3064023013de6eb532321c023092aa78c199f9ee4dce7a18df158c3e799461af9d96c2d38765a78fdb14404d199365de05bd44c502302514a0359bcb66122bf48c186a4bb2edccf305b06414b11f470d2512cadda129366f6072de715bc2babb8a3a5f260d9b",
@@ -18651,7 +22855,7 @@
           ]
         },
         {
-          "tcId" : 1227,
+          "tcId" : 1429,
           "comment" : "x-coordinate of the public key is small on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402301308d3d9edfe3ad07e215a975b2b067e9f0b803371b3029f4388a3471f4db23f358aea5c03db62d77115c56c4962633b02304b8b1fe44b32cc669114a1ce0ba0555446d0c96a32cb602185e8fba414d3a831cbf5b519b0f90647dc45e30a1f23ef90",
@@ -18661,7 +22865,7 @@
           ]
         },
         {
-          "tcId" : 1228,
+          "tcId" : 1430,
           "comment" : "x-coordinate of the public key is small on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402305da3df094155b8f8812d0c6345344e41c3b591b65b95fedbbcbd3c3a3bb1c1dbfc4d4c5b841b8f8874d59b07cf2288fc02304a1e4a8399abbdf246929b2559bb0fa404772755fc74523626aeef432fe4764df1e1f5c9b0f897ed8f1ffd7a88167f0e",
@@ -18673,20 +22877,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e8072c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAgvfc61hcW6SJSw+vZgTaiIoxGt\nn0FzGh05NxaKELB5Wh+uSWy5qQc54cCm5THoByw7hWjqocb1QaZlznpm946i1Ykx\nA+YCit1iNWSS2LWsariQHVliHDNBbDOYG9WU7A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e8072c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec",
         "wx" : "082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e807",
         "wy" : "2c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b03620004082f7dceb585c5ba4894b0faf6604da888a311ad9f41731a1d3937168a10b0795a1fae496cb9a90739e1c0a6e531e8072c3b8568eaa1c6f541a665ce7a66f78ea2d5893103e6028add62356492d8b5ac6ab8901d59621c33416c33981bd594ec",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABAgvfc61hcW6SJSw+vZgTaiIoxGt\nn0FzGh05NxaKELB5Wh+uSWy5qQc54cCm5THoByw7hWjqocb1QaZlznpm946i1Ykx\nA+YCit1iNWSS2LWsariQHVliHDNBbDOYG9WU7A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1229,
+          "tcId" : 1431,
           "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402300bf6fec0a5be27cddb0e7669ae06d15dfa75837f8ee72b47443ac845ffcd427b0893e10c85c20c7aa576fb70e87761ab02307418b6f374936adca8b07dc51545ee34ed2e9f56f3267033e30ea09a0acd31b6ce83503ee7e098627f8ba8b4c584341e",
@@ -18696,7 +22901,7 @@
           ]
         },
         {
-          "tcId" : 1230,
+          "tcId" : 1432,
           "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3064023003e306a86f6b2cb248fcb68d1d317a6042b7089e96d74c2f5b934e2e122831268a45e2185b7c21270e8b906cd372e6d702304c82ab6de6bc0194ac1a2e3480a0c80466af7d2a329d20b03151d1806a0bc0720f55d3781a7db9febe7d8bbd0a719bfa",
@@ -18706,7 +22911,7 @@
           ]
         },
         {
-          "tcId" : 1231,
+          "tcId" : 1433,
           "comment" : "x-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3064023014d1df9b3db55ecc8d1e126625bdf5b6316bba1e7f4ea5ec77418c754a597563dc5dc291b7dd047782d518fe74e0be83023033ef701c440f280edf81a9632dde9dc17de5f438dcc19e9ca5919b4b73e62905e5f7e0bc9db0b14bc53327f79f70c6da",
@@ -18718,20 +22923,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e7498475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGr+TqdwVJK9owi3idcNpJRX3egl\n1SWJYKejZuRmWvnTJjksJnIWXqS73DM3TYjnSYR15pN6EKb2pQ8j3pEmugTlZQoc\n0GqAZspCMzn8LOU9kUgnRKTN8vk3928SquP2MA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "046afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e7498475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630",
         "wx" : "6afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e749",
         "wy" : "08475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200046afe4ea7705492bda308b789d70da49457dde825d5258960a7a366e4665af9d326392c2672165ea4bbdc33374d88e7498475e6937a10a6f6a50f23de9126ba04e5650a1cd06a8066ca423339fc2ce53d91482744a4cdf2f937f76f12aae3f630",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABGr+TqdwVJK9owi3idcNpJRX3egl\n1SWJYKejZuRmWvnTJjksJnIWXqS73DM3TYjnSYR15pN6EKb2pQ8j3pEmugTlZQoc\n0GqAZspCMzn8LOU9kUgnRKTN8vk3928SquP2MA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1232,
+          "tcId" : 1434,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402306a3a18400686635ae279c385b640d4fa080d9c44a5d421fe4be5a5ec7a8ae31b00bfa406e919e57e39c11360e670d8690230729c0b9ff77f88f810548d6db1835312a448114a3bd93cf59422faa2ea026f5d47627f0c11fb859112246d879c859568",
@@ -18741,7 +22947,7 @@
           ]
         },
         {
-          "tcId" : 1233,
+          "tcId" : 1435,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306502301ab8d6c31d4577f59ca5714c9eada979fdb9ec0cad32d8cb915dbd70492947187f5a52718e19982f7a2d4cb48b227723023100872e3ce7d1fd5ae180faf1990b11937558aa44ccdab631492b8925be84fbcb452148edad5bbfe48c06b8c9908ca252fd",
@@ -18751,7 +22957,7 @@
           ]
         },
         {
-          "tcId" : 1234,
+          "tcId" : 1436,
           "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3066023100803ffc58f8150a9c4c229a7b522357f49f9a5f48f82d8bb982954395836e09eb5f8cf1f345ce284674bc369d046d5c8a0231008a9feb64c410cf3ae6261ad35f7e3e8da13129daf94944f8e08e9649cd006622c3d5c91ec5b9798a1be3a31533a0a851",
@@ -18763,20 +22969,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd47a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEvGUmLCLTIuqJFGzLXGDEKHtlo1\nIodDpbnc0VSTvYZCR4mHxCFjfdBxUHnskPuM1HpFVX72U9B3Pb4mMPjgAGKe2Ck+\nGqSpbzsVmiRao1rZKhAZx+CamrdbpDwHhpKCNw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "044bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd47a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237",
         "wx" : "4bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd4",
         "wy" : "7a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200044bc65262c22d322ea89146ccb5c60c4287b65a35228743a5b9dcd15493bd8642478987c421637dd0715079ec90fb8cd47a45557ef653d0773dbe2630f8e000629ed8293e1aa4a96f3b159a245aa35ad92a1019c7e09a9ab75ba43c0786928237",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABEvGUmLCLTIuqJFGzLXGDEKHtlo1\nIodDpbnc0VSTvYZCR4mHxCFjfdBxUHnskPuM1HpFVX72U9B3Pb4mMPjgAGKe2Ck+\nGqSpbzsVmiRao1rZKhAZx+CamrdbpDwHhpKCNw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1235,
+          "tcId" : 1437,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306502302ed569f12dbe30a2abf02190bb9e4de7e218e9fd705dc71cbe1480022781b2a2213c3ef2f91052e90840a18f74e375ae0231008872b566f387c2bcb639df9c2d866f7631df290c5f66c264d4949e256383b1b4b2098c120f13449d9d7bff6891919c88",
@@ -18786,7 +22993,7 @@
           ]
         },
         {
-          "tcId" : 1236,
+          "tcId" : 1438,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402304b7e5651b035959295092e2efe548da52206c8d0e48ba43e2b8ecd98ece25dc08955b6e7b05e38c4e22829d1658711b5023044a973b75528400cef3f63f55f2154d48bb0b826214200d3f33c7bc31155242d4e24f07ed19606fdb2c8ecaeb6981eb7",
@@ -18796,7 +23003,7 @@
           ]
         },
         {
-          "tcId" : 1237,
+          "tcId" : 1439,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "306402301ecadaceaa479fa4e9aabac4210b1ab77fc1d13a9c4cb022826bb1806575115834a6ecb9dec3e668b8c91d4aca283dc902302de8965a66d56545ad84fdaee16fffa0eb31022186a5b6be2a2475958b9ad72f483ebd4b255748a811806bcd428acfd7",
@@ -18808,20 +23015,21 @@
       ]
     },
     {
-      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e21734c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCrDk/IMEQ4/lwZTBDl+rg4jGHsr\nYWPcZgg+gq/1aEJoQwVq/43CPuvOKX90eDDiFzTJNWcTkcbvqLRsXDez+EqC5Cmn\nWA/rmhODtVyDqTmOjsx7FdaZ5jliMpECoVdvKw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "key" : {
         "curve" : "brainpoolP384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "042ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e21734c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b",
         "wx" : "2ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e217",
         "wy" : "34c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b"
       },
+      "keyDer" : "307a301406072a8648ce3d020106092b240303020801010b036200042ac393f20c110e3f97065304397eae0e23187b2b6163dc66083e82aff568426843056aff8dc23eebce297f747830e21734c935671391c6efa8b46c5c37b3f84a82e429a7580feb9a1383b55c83a9398e8ecc7b15d699e63962329102a1576f2b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHowFAYHKoZIzj0CAQYJKyQDAwIIAQELA2IABCrDk/IMEQ4/lwZTBDl+rg4jGHsr\nYWPcZgg+gq/1aEJoQwVq/43CPuvOKX90eDDiFzTJNWcTkcbvqLRsXDez+EqC5Cmn\nWA/rmhODtVyDqTmOjsx7FdaZ5jliMpECoVdvKw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 1238,
+          "tcId" : 1440,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3064023037e256872340da9dc884fd00daa14628372b4bedc0a8a09f9d7513521d3b803a78dc0edbab3c7dc2b2014baf7a9d210e02301ba4b4087973070cca9b957650177eeb41c557731596a966b0b7f68717d8e7b554afd07c2937c95403a90c3a05fa964b",
@@ -18831,7 +23039,7 @@
           ]
         },
         {
-          "tcId" : 1239,
+          "tcId" : 1441,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3063022f128c199dc27677f23feae28a9b28813cbc3b02fca493005a67c3126a705c49b982cb5817ee2c81161e80b738bbb512023073cb6d4547771d254be74348955bee979071358aa3afd62a5838179a0965465aec79bd6cbd9b8b2aa2c79bb88ab21592",
@@ -18841,7 +23049,7 @@
           ]
         },
         {
-          "tcId" : 1240,
+          "tcId" : 1442,
           "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP384t1",
           "msg" : "4d657373616765",
           "sig" : "3065023100818b0fd6ca0978a59cad3fa15e84db2896f39b2aa462f0583834fa4444d153fe61e0c93071ba96c5ffa7193f77b806f302301d2d6144172385f857db4b7e7e863962eacacdec034b4b4a9dd1af272604403f39f45a21948b30976e738e9e98fd9cee",
@@ -18851,6 +23059,236 @@
           ]
         }
       ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d69121837f78918506ea9cc14f1492eb66c9e1c4e27f3cb00bb511d5dfdbea6f817a87bfd81de2955fa032f52873f799169cc445cb0391e46e57179ef84d50c85db5c97",
+        "wx" : "727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d691218",
+        "wy" : "37f78918506ea9cc14f1492eb66c9e1c4e27f3cb00bb511d5dfdbea6f817a87bfd81de2955fa032f52873f799169cc445cb0391e46e57179ef84d50c85db5c97"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d69121837f78918506ea9cc14f1492eb66c9e1c4e27f3cb00bb511d5dfdbea6f817a87bfd81de2955fa032f52873f799169cc445cb0391e46e57179ef84d50c85db5c97",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEcn511j3OsahKcQbYAujrNKIE\nvAU1NWeiO6i29U5Q0tgiHIf9jlI4ozdN+Vizzz4/OMYYwcyMW5V0tQ5AXWkSGDf3\niRhQbqnMFPFJLrZsnhxOJ/PLALtRHV39vqb4F6h7/YHeKVX6Ay9Shz95kWnMRFyw\nOR5G5XF574TVDIXbXJc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1443,
+          "comment" : "y-coordinate of the public key is small on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402405e1bf4b1debacba4725fc3cc8214534de5f6e592645b60f4c4a1dd2260d3357d8fb2ada7f72a48346a7e34395a6a181c694048ae8258f1cb3b6f63f4932829eb02405e3df0beee22fa96d4655833862f73b52f12e4c4c7d818b21846effb39d6f09fc35b2d0fac8f5cb3c4051ff45f5305e93b24138a0f95fad2fef1c10cd1dcf2cb",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1444,
+          "comment" : "y-coordinate of the public key is small on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818502410080400bee9a342f3afba2dbb029235ad511aedb30960c53bad670460b38304d7cbd706ff98f1296cb7e746f8ca3a43937a5cd035a00c63868001fa429b491bd8e02405c66941edcda56228edce77373a7b9dcdd464ed18075e7da1427911778784f8017bef6f18751cba12355bd90ba63b8d31ea373387f36494e3642008082d349d1",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1445,
+          "comment" : "y-coordinate of the public key is small on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404768dfddae4cb83566f2c3a9340091c2608e0e270a4b3f48ded7c75b4aa15ab65cb050cfdb312c32bfaa7759869c9c0ce27f6cdf1fb584379f6398c95ebf864402407e1a3aacd8d603faecf87902147b67435d992ee9e543f934dd4c40d8a12cd1e10366d0743d7862b9c8ba8b6816639c3509b5caa2a91533c0af50ece2fd2c530c",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d69121872e614a08b7b1abf2ae39d7f7d5d5deb7d0899e8b30e80f17865de23781b5ff57fcbbcd745cc65135c4661b15539b4a1cbd1c610e69d550b39258b49d25eec5c",
+        "wx" : "727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d691218",
+        "wy" : "72e614a08b7b1abf2ae39d7f7d5d5deb7d0899e8b30e80f17865de23781b5ff57fcbbcd745cc65135c4661b15539b4a1cbd1c610e69d550b39258b49d25eec5c"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d0381820004727e75d63dceb1a84a7106d802e8eb34a204bc05353567a23ba8b6f54e50d2d8221c87fd8e5238a3374df958b3cf3e3f38c618c1cc8c5b9574b50e405d69121872e614a08b7b1abf2ae39d7f7d5d5deb7d0899e8b30e80f17865de23781b5ff57fcbbcd745cc65135c4661b15539b4a1cbd1c610e69d550b39258b49d25eec5c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEcn511j3OsahKcQbYAujrNKIE\nvAU1NWeiO6i29U5Q0tgiHIf9jlI4ozdN+Vizzz4/OMYYwcyMW5V0tQ5AXWkSGHLm\nFKCLexq/KuOdf31dXet9CJnosw6A8Xhl3iN4G1/1f8u810XMZRNcRmGxVTm0ocvR\nxhDmnVULOSWLSdJe7Fw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1446,
+          "comment" : "y-coordinate of the public key is large on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308184024027d9c6c4db31aff288fa4e40159d6ee18c98139427484796f1f8745c9827dfc08d393abe144df6b7c12d48971fdd284b81e6e10860359ef71473b9e6bb84cb1e024007a0420c8a9b26911b63626540a85f60aa277afdef9990fc8dc1d3f1f2c5a927e1e4a29d81a701b48b366f000f962614899cbf193826ca8de4a425538de5ac62",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1447,
+          "comment" : "y-coordinate of the public key is large on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308184024049542eec3b96c476b59b2b94d5fc7ee08fd2a1b1e732e6609098ab2a7f250452fbc1057a6d3feccbcaeb00468b26222eb48065fcaad7647681823860451e1e91024037db336dee1e45d9ace550053511c9c3755657e78eca108d3dfd1e68fe83da626b8dacbb19f0ee232b0f8bfe8ddbe7d5e98b7a2eccd03f375d164ce828631896",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1448,
+          "comment" : "y-coordinate of the public key is large on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404f90ceb76bc72f0cca10705d3badab6caa6019ef6bfe7de1b75951d517d2b16168515bf305f0006292e4900598256141e45c19077fa447dd5f32daa62c25081502406712a784102802821e9708e349d03a88297b374ef81a4edc35016524cd2a22afea7b8b3171de60ac1b3882533650586dcad338ea48231486e10e3120ce3d2a59",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040518ff14ba05188abed0a8c88db0f097b5660aac57e9a3cdbb9c833e2a7f9f613e49956b53a635952e29818e4a8015cb6a150cede636c2558f2d3602483963b99ed9fe842f3ed418462c63e266944ca2747e15bd8f52844d6a1ce9815210421206805c6ed792356ec57d79fa3e36fff23e2fc6370c67bc51d3f8b555c9048d6d",
+        "wx" : "518ff14ba05188abed0a8c88db0f097b5660aac57e9a3cdbb9c833e2a7f9f613e49956b53a635952e29818e4a8015cb6a150cede636c2558f2d3602483963b9",
+        "wy" : "09ed9fe842f3ed418462c63e266944ca2747e15bd8f52844d6a1ce9815210421206805c6ed792356ec57d79fa3e36fff23e2fc6370c67bc51d3f8b555c9048d6d"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200040518ff14ba05188abed0a8c88db0f097b5660aac57e9a3cdbb9c833e2a7f9f613e49956b53a635952e29818e4a8015cb6a150cede636c2558f2d3602483963b99ed9fe842f3ed418462c63e266944ca2747e15bd8f52844d6a1ce9815210421206805c6ed792356ec57d79fa3e36fff23e2fc6370c67bc51d3f8b555c9048d6d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEBRj/FLoFGIq+0KjIjbDwl7Vm\nCqxX6aPNu5yDPip/n2E+SZVrU6Y1lS4pgY5KgBXLahUM7eY2wlWPLTYCSDljuZ7Z\n/oQvPtQYRixj4maUTKJ0fhW9j1KETWoc6YFSEEISBoBcbteSNW7FfXn6Pjb/8j4v\nxjcMZ7xR0/i1VckEjW0=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1449,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "3081850240459e3e6e671a6c342d585db689043d32a494ce0039ee71ac67ed6ec0861908ebae6b2d6e4a67caa7a8f0576a49889a4a63d4b0b8aa8845c9cf785b49412a7071024100a5edd7abfce9d4413b22289397785b3d84b2c0d3719409255bb7128268e0bcd37d928bea5486bf56ffe259c7ec9f50b878e0155d73e3bde5cffe55e612f8d7b8",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1450,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402401b2f7ea40960e37e28b556b7e446c4641e2f3d8a829dcc4a349553e42cf9ce6272dc9cdcda013e3981cb73b10d46321c80501d6a34ad7fd959a0c78f891f33f002407f195b7696edfc7687ff0126eaba13dad1e19563e8d395af32db3d6a7b4e82f28004501d92b7537da397845b7aa398a11051052e52264bd8cbcba9987ec6742b",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1451,
+          "comment" : "x-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402401b5c1d2b2b06591a1fa516cffa9c8a57cf1fffc22cecb7249281670bc23883a68553e0caf1edd9f1703a25b74e0000a37e32e6cc3576939f458c3dd5c4dbcc9c02404b23d7ed7f8a6b7ba7d22aefa8fde030ecb3f2fed4a5f26f12d59a29d63cdd0ec03fae557d141c7b0e8712c306b0eebbd0cab27696012062622bb180043034ba",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "043f89e787b4d5d2599624513530e750ab3c5957dc9aa0e7b08a3e25356818e2037d062f336d4eed417c91bcb11b54b57d54a4f02a72fb74262f742cc6f34044013a448b8e2d0d5a7c5b4f1b9f5b701a9d21ff55e3678ca119b6d7c511ba0aef89f31aeb195db00f248359aee924e7c860b76845f6512a2a4aadc1287a15095220",
+        "wx" : "3f89e787b4d5d2599624513530e750ab3c5957dc9aa0e7b08a3e25356818e2037d062f336d4eed417c91bcb11b54b57d54a4f02a72fb74262f742cc6f3404401",
+        "wy" : "3a448b8e2d0d5a7c5b4f1b9f5b701a9d21ff55e3678ca119b6d7c511ba0aef89f31aeb195db00f248359aee924e7c860b76845f6512a2a4aadc1287a15095220"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200043f89e787b4d5d2599624513530e750ab3c5957dc9aa0e7b08a3e25356818e2037d062f336d4eed417c91bcb11b54b57d54a4f02a72fb74262f742cc6f34044013a448b8e2d0d5a7c5b4f1b9f5b701a9d21ff55e3678ca119b6d7c511ba0aef89f31aeb195db00f248359aee924e7c860b76845f6512a2a4aadc1287a15095220",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEP4nnh7TV0lmWJFE1MOdQqzxZ\nV9yaoOewij4lNWgY4gN9Bi8zbU7tQXyRvLEbVLV9VKTwKnL7dCYvdCzG80BEATpE\ni44tDVp8W08bn1twGp0h/1XjZ4yhGbbXxRG6Cu+J8xrrGV2wDySDWa7pJOfIYLdo\nRfZRKipKrcEoehUJUiA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1452,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308186024100a952847acf213c86e231316d8f9130f7cbdf7f3952307a577076342d13939b4ab5a1313b34abb89204d3fd1f873885fffa683c5a493e5461c7f1400af86ae7fe0241009a65a8a4150de593b29642b988b2ec2e23e15e156ecf0af5fde2fbd73208f69f2506d141e0b47c0e1f2fa09ef26b389a6bd2b0230930a16fd119767e382724b5",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1453,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308185024051bfb80aae30262a67bf0771a6b8d195e59aa04e87bd060fe5a9bd56d35385a5fc3da5dfc3ae8c67dbd408184482855e3563dedee72a21b60fafd73819aa837c024100807f0d69385467ad6cd8a44d482ca3b6e18f7b352ef19a2bc980500b6d59045f0d6f7ab7e414c50d2b68d7f6e6c01d3e8353cdfd475f249b31842fe59955f414",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1454,
+          "comment" : "y-coordinate of the public key has many trailing 0's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404e8711b00de355f14c8eb91959c13c77f9155754765f10f2aaa8fdad6a14c6a4e62c5ed48a9d8ca403c902db0c2c0735426b33e67828ac32ae19b84e6598681902407d104ae5e5d0da26cb427d7951d40df429b4205086e633b800d7d7b8bde48a9bec4e43ddeb4226192b5c9b30ffa3efa7d2385ab28a190c165fb2a2c58572c2a2",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
+    },
+    {
+      "key" : {
+        "curve" : "brainpoolP512r1",
+        "keySize" : 512,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047860a4743bb48e7793c7f1416fbac6ca0b538210d743f24976af3efda97f28bc95913401ec4ca5e744a23d1a552653ff110ec8421b3de531f3bacda07bfb09d603662f2f2475bbf5e20da48b50169d289c89c54ed0f97bbbc7f38016f1a955cb74c52727ef802055ea090fe1a49be58ddc6083bca3f7c02ff644775cd0027f06",
+        "wx" : "7860a4743bb48e7793c7f1416fbac6ca0b538210d743f24976af3efda97f28bc95913401ec4ca5e744a23d1a552653ff110ec8421b3de531f3bacda07bfb09d6",
+        "wy" : "3662f2f2475bbf5e20da48b50169d289c89c54ed0f97bbbc7f38016f1a955cb74c52727ef802055ea090fe1a49be58ddc6083bca3f7c02ff644775cd0027f06"
+      },
+      "keyDer" : "30819b301406072a8648ce3d020106092b240303020801010d03818200047860a4743bb48e7793c7f1416fbac6ca0b538210d743f24976af3efda97f28bc95913401ec4ca5e744a23d1a552653ff110ec8421b3de531f3bacda07bfb09d603662f2f2475bbf5e20da48b50169d289c89c54ed0f97bbbc7f38016f1a955cb74c52727ef802055ea090fe1a49be58ddc6083bca3f7c02ff644775cd0027f06",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBQGByqGSM49AgEGCSskAwMCCAEBDQOBggAEeGCkdDu0jneTx/FBb7rGygtT\nghDXQ/JJdq8+/al/KLyVkTQB7Eyl50SiPRpVJlP/EQ7IQhs95THzus2ge/sJ1gNm\nLy8kdbv14g2ki1AWnSicicVO0Pl7u8fzgBbxqVXLdMUnJ++AIFXqCQ/hpJvljdxg\ng7yj98Av9kR3XNACfwY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 1455,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "30818402404cd61754211d222371e552578ff705cc819a2f9fb2729f05d848caabf44a31fda1bd038f1b87efd28a8ce53222fdfec18d5929df926df27c2c7e7360bc5c0c7002405ce94c851db1807dc79dcc087c0830d70a0069cf52baffaf347aefa1ddba77f6f770c1483fdde38f5d74bdb32372e12fee843efff0f2dc9344ca1e3b26b9b051",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1456,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308185024048b4bde7befb1b1cad50cee6233cbf32812860c81d7ad5b0e9d6377202bcd34827c534da0ac9646ae0154689e38c608894bb3126e1025f69c824c69ab821274a0241008369f5840f776668ebb435b33be05dce4adfabb8860ccc900d07db006a50195fd4de98632192fbe7319cedff26aa8682cf7bf5f1c02e58b9c163236103d9b314",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        },
+        {
+          "tcId" : 1457,
+          "comment" : "y-coordinate of the public key has many trailing 1's on brainpoolP512t1",
+          "msg" : "4d657373616765",
+          "sig" : "308185024019524b15cf4ecb400b938ef5f752b86ec8f07c5903da5dba9c91ab7965b1223a8e262bef8cca8973ed98797f37a35e1c5999cf203e610ef773c6aa2786bba06402410098cf7526f5a24a0e2f22f909f8190b13130451b15dd6774bdea9d929342d924bc7eba1df89919c1b9aee8d09203606d10cebff89904cb7e71a82d8972d755306",
+          "result" : "valid",
+          "flags" : [
+            "GroupIsomorphism"
+          ]
+        }
+      ]
     }
   ]
 }
diff --git a/src/third_party/wycheproof/ecdsa_webcrypto_test.json b/src/third_party/wycheproof_testvectors/ecdsa_webcrypto_test.json
similarity index 77%
rename from src/third_party/wycheproof/ecdsa_webcrypto_test.json
rename to src/third_party/wycheproof_testvectors/ecdsa_webcrypto_test.json
index 8ad6e32..5c5251a 100644
--- a/src/third_party/wycheproof/ecdsa_webcrypto_test.json
+++ b/src/third_party/wycheproof_testvectors/ecdsa_webcrypto_test.json
@@ -1,20 +1,16 @@
 {
   "algorithm" : "ECDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 303,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "EdgeCase" : "Edge case values such as r=1 and s=0 can lead to forgeries if the ECDSA implementation does not check boundaries and computes s^(-1)==0.",
     "PointDuplication" : "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.",
     "SigSize" : "The size of the signature should always be twice the number of bytes of the size of the order. But some libraries accept signatures with less bytes.",
     "WeakHash" : "The security strength of the hash function used in this signature is weaker than then strength of the EC parameters. Such choices are disallowed in FIPS PUB 186-4 Section 6.1.1. However, it is unclear whether a library should reject such parameter choices."
   },
+  "numberOfTests" : 323,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -26,9 +22,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
         "wx" : "2927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838",
         "wy" : "0c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042927b10512bae3eddcfe467828128bad2903269919f7086069c8c4df6c732838c7787964eaac00e5921fb1498a60f4606766b3d9685001558d1a974e7341513e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKSexBRK64+3c/kZ4KBKLrSkDJpkZ\n9whgacjE32xzKDjHeHlk6qwA5ZIfsUmKYPRgZ2az2WhQAVWNGpdOc0FRPg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -42,7 +43,7 @@
           "tcId" : 2,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "8c526513e8ca357036e73ba8226f28bb532936036536ef67213076cfb95e1374b4da25485c638e9371ff7fcde72073f4008aeefab4e78e15bda7a9d21ae5298c",
+          "sig" : "5c3b213fdd4a73f21a15af8177f4063e12dd916cab1e470cb57a5086ef9d0238955c31598545bbd622e3656b7741e62fe51b614679eef2dd4e865bf0d7fe7a17",
           "result" : "valid",
           "flags" : []
         },
@@ -50,7 +51,7 @@
           "tcId" : 3,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "8c8d854e6af6848193e770e03fe9a0d16d2df9a10ccaa11de5e1c6dbf3b6608275090dbab427b7e312d46d011fca33b9aa853db73c8c526dee92ccccb99a0028",
+          "sig" : "3b0b177c7c2c4654427b1fab78cc0b27457e83c31677113980606bb79a3ade203cdecb3774d3c04086e91c8589805b2d75cdddfec2e39c31c2cc567b2e035b7c",
           "result" : "valid",
           "flags" : []
         },
@@ -58,7 +59,7 @@
           "tcId" : 4,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "7e0327b81330972b880c1341aa1e31d09f38180f0153cb8ee3df1272a724e49e651f7f0131c72a9f48b47525cffd008f1b968af7b9cff2207bbf889a5f7941f9",
+          "sig" : "cc0be61b7622f3740ef9728a5b08ffecdbe24de790ba97aa5ba1aa9ae92792dc021643fe89acc11a71457f1110449b9beb37e1970cad877468c7456f903e8120",
           "result" : "valid",
           "flags" : []
         },
@@ -66,7 +67,7 @@
           "tcId" : 5,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "dd3d20d487625ce65f4d608b6e704e87d9a7d987e68444e3e833202ecaf0d949b87d8bbcf0e1ef12607540b1f38e3f55ad8fd9b3cf5cfd0908d06d4e94d360fe",
+          "sig" : "eaa7bf98b28c8362b93403574c2fe7382e6f180c52e33f611ba055aee14516c72429782ebe309d61bcee01ff1bea9f5b7682116e03d98620b0273e2f17d01c6e",
           "result" : "valid",
           "flags" : []
         },
@@ -74,7 +75,7 @@
           "tcId" : 6,
           "comment" : "random signature",
           "msg" : "313233343030",
-          "sig" : "184968ed81fd25b2a270c4417f0de526a13c1c532c7707fb35e72b31eaf7b4ae224130d9d89358bce5def9ebaa3e3ec139abf676ef0ea2dd93c3c1f81f1354a5",
+          "sig" : "0fffdc35623e3e4169a28436dc73e85795efade1bf4e877f42cc5e333ee722042dda53533326f4707ddb2048543ce428bccd6d04be662d372b00c4e6b44f3611",
           "result" : "valid",
           "flags" : []
         },
@@ -635,10 +636,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -650,9 +647,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926",
         "wx" : "0d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4",
         "wy" : "0b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d705d16f80987e2d9b1a6957d29ce22febf7d10fa515153182415c8361baaca4b1fc105ee5ce80d514ec1238beae2037a6f83625593620d460819e8682160926",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1wXRb4CYfi2bGmlX0pziL+v30Q+l\nFRUxgkFcg2G6rKSx/BBe5c6A1RTsEji+riA3pvg2JVk2INRggZ6GghYJJg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 64,
@@ -673,10 +675,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPNjS+B1pU7CETAnXtWDVJ80u9nBW\niT6tr6UshQE4fVnuQf200QQCznoMXjt0et+jpJC2Kmt3GQaJA0hcC7bcLQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -688,9 +686,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d",
         "wx" : "3cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59",
         "wy" : "0ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cd8d2f81d6953b0844c09d7b560d527cd2ef67056893eadafa52c8501387d59ee41fdb4d10402ce7a0c5e3b747adfa3a490b62a6b7719068903485c0bb6dc2d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPNjS+B1pU7CETAnXtWDVJ80u9nBW\niT6tr6UshQE4fVnuQf200QQCznoMXjt0et+jpJC2Kmt3GQaJA0hcC7bcLQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 66,
@@ -703,10 +706,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgkDNge3ZHLaTYTNQjDkVEA6B8zLE\nVF1BGJtIEZaFE3jgWwbnLUob/4DqXbUUqi+T6m3W2cCuJ7eDfcQy+c6J2Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -718,9 +717,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9",
         "wx" : "08240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378",
         "wy" : "0e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048240cd81edd91cb6936133508c3915100e81f332c4545d41189b481196851378e05b06e72d4a1bff80ea5db514aa2f93ea6dd6d9c0ae27b7837dc432f9ce89d9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgkDNge3ZHLaTYTNQjDkVEA6B8zLE\nVF1BGJtIEZaFE3jgWwbnLUob/4DqXbUUqi+T6m3W2cCuJ7eDfcQy+c6J2Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 67,
@@ -733,10 +737,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsGKUc1Z0iw/BfxcExlqh3Kbhv+Z3\nl1b6YW2R6q0T3ywLOMF/PQZy50Cc/FmSqZ//ErhKT4QyKTtDERPxsvtXnQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -748,9 +748,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d",
         "wx" : "0b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c",
         "wy" : "0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b062947356748b0fc17f1704c65aa1dca6e1bfe6779756fa616d91eaad13df2c0b38c17f3d0672e7409cfc5992a99fff12b84a4f8432293b431113f1b2fb579d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEsGKUc1Z0iw/BfxcExlqh3Kbhv+Z3\nl1b6YW2R6q0T3ywLOMF/PQZy50Cc/FmSqZ//ErhKT4QyKTtDERPxsvtXnQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 68,
@@ -763,10 +768,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -778,9 +779,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0",
         "wx" : "4a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e5",
         "wy" : "3e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a03ef9f92eb268cafa601072489a56380fa0dc43171d7712813b3a19a1eb5e53e213e28a608ce9a2f4a17fd830c6654018a79b3e0263d91a8ba90622df6f2f0",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESgPvn5LrJoyvpgEHJImlY4D6DcQx\ncddxKBOzoZoeteU+IT4opgjOmi9KF/2DDGZUAYp5s+AmPZGoupBiLfby8A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 69,
@@ -803,10 +809,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e70127242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRGUwcuhfzTihrSDNwFgakHO8mF3\nraiFC2AeofhZ5wEnJC/OxwiCh1hAPOL+UBmDp5hOYgn01rldua13dn9V6w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -818,9 +820,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e70127242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb",
         "wx" : "091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e701",
         "wy" : "27242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004091194c1cba17f34e286b4833701606a41cef26177ada8850b601ea1f859e70127242fcec708828758403ce2fe501983a7984e6209f4d6b95db9ad77767f55eb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRGUwcuhfzTihrSDNwFgakHO8mF3\nraiFC2AeofhZ5wEnJC/OxwiCh1hAPOL+UBmDp5hOYgn01rldua13dn9V6w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 71,
@@ -843,10 +850,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a72303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEDxuzO/1nnHqj1b+46SysUjoHCvb\n3TnBlYEsltz7QacjA6GT3Fkb4VC4g9dw7FHrtOvOiwkELC7LFsRI2OV79Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -858,9 +861,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a72303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5",
         "wx" : "103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a7",
         "wy" : "2303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004103c6ecceff59e71ea8f56fee3a4b2b148e81c2bdbdd39c195812c96dcfb41a72303a193dc591be150b883d770ec51ebb4ebce8b09042c2ecb16c448d8e57bf5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEDxuzO/1nnHqj1b+46SysUjoHCvb\n3TnBlYEsltz7QacjA6GT3Fkb4VC4g9dw7FHrtOvOiwkELC7LFsRI2OV79Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 73,
@@ -883,10 +891,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6eabc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEO2a4Kf5gRji8sr/owiIovmc5DCAR\nG9K0UUaJJ+h/tuq8jlnACTYXWLJ0uiytNrWP3khaPtCdrednEvqenErCEg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -898,9 +902,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6eabc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212",
         "wx" : "3b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6ea",
         "wy" : "0bc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043b66b829fe604638bcb2bfe8c22228be67390c20111bd2b451468927e87fb6eabc8e59c009361758b274ba2cad36b58fde485a3ed09dade76712fa9e9c4ac212",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEO2a4Kf5gRji8sr/owiIovmc5DCAR\nG9K0UUaJJ+h/tuq8jlnACTYXWLJ0uiytNrWP3khaPtCdrednEvqenErCEg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 75,
@@ -931,10 +940,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c3084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET/L2wk5KM81xwJ/cvHSmIzlhuHS4\nyODrlFggksvFDDCE+pVHr9pcZjNfP5N9THmvoSBIa1NBOdWa6C1h6tJkIA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -946,9 +951,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c3084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420",
         "wx" : "4ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c30",
         "wy" : "084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044ff2f6c24e4a33cd71c09fdcbc74a6233961b874b8c8e0eb94582092cbc50c3084fa9547afda5c66335f3f937d4c79afa120486b534139d59ae82d61ead26420",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAET/L2wk5KM81xwJ/cvHSmIzlhuHS4\nyODrlFggksvFDDCE+pVHr9pcZjNfP5N9THmvoSBIa1NBOdWa6C1h6tJkIA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 78,
@@ -961,10 +971,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000484b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLlZCAuzCFnNU8L7lzzxTWDNqo7g\nBYeIm1vGV6xYgXWgLOXB5TyxlhE8eLTLjcfTYOXqeFCw9mULDEWvLDzXyg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -976,9 +982,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0484b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca",
         "wx" : "084b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175",
         "wy" : "0a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000484b959080bb30859cd53c2fb973cf14d60cdaa8ee00587889b5bc657ac588175a02ce5c1e53cb196113c78b4cb8dc7d360e5ea7850b0f6650b0c45af2c3cd7ca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLlZCAuzCFnNU8L7lzzxTWDNqo7g\nBYeIm1vGV6xYgXWgLOXB5TyxlhE8eLTLjcfTYOXqeFCw9mULDEWvLDzXyg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 79,
@@ -991,10 +1002,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e9925af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE30CDvW7L2lp3rleOXYNfp/dKB+u5\nHgVw4f8ypWM1Tpklr4CwmhZ9nvZH3yji2azQ1LxPLe7FcjgY7a+QceMR+A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1006,9 +1013,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e9925af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8",
         "wx" : "0df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e99",
         "wy" : "25af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004df4083bd6ecbda5a77ae578e5d835fa7f74a07ebb91e0570e1ff32a563354e9925af80b09a167d9ef647df28e2d9acd0d4bc4f2deec5723818edaf9071e311f8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE30CDvW7L2lp3rleOXYNfp/dKB+u5\nHgVw4f8ypWM1Tpklr4CwmhZ9nvZH3yji2azQ1LxPLe7FcjgY7a+QceMR+A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 80,
@@ -1021,10 +1033,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a03770387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwlaaPJv4wYOMqCH3um8ADMhnnSeP\nNza0FKNKfJVqA3cDh+qFvE8ogEtKkcm31lvGQ0yXWAZ5WrfUQaTpaDrrCQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1036,9 +1044,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a03770387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09",
         "wx" : "0c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a0377",
         "wy" : "387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2569a3c9bf8c1838ca821f7ba6f000cc8679d278f3736b414a34a7c956a03770387ea85bc4f28804b4a91c9b7d65bc6434c975806795ab7d441a4e9683aeb09",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwlaaPJv4wYOMqCH3um8ADMhnnSeP\nNza0FKNKfJVqA3cDh+qFvE8ogEtKkcm31lvGQ0yXWAZ5WrfUQaTpaDrrCQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 81,
@@ -1051,10 +1064,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968ac496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESp99oqbDWaFlQMJxd0pr8cWGNXyX\nglb0SmSW2AZwlorEluc6RFY/jVb717ueTjrjBMhvLFCOt3ewOSR1W+tA1A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1066,9 +1075,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968ac496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4",
         "wx" : "4a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968a",
         "wy" : "0c496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044a9f7da2a6c359a16540c271774a6bf1c586357c978256f44a6496d80670968ac496e73a44563f8d56fbd7bb9e4e3ae304c86f2c508eb777b03924755beb40d4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAESp99oqbDWaFlQMJxd0pr8cWGNXyX\nglb0SmSW2AZwlorEluc6RFY/jVb717ueTjrjBMhvLFCOt3ewOSR1W+tA1A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 82,
@@ -1081,10 +1095,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh0FGQys80sniYgTAo0E2mWBn1Gbd\n5JF6j/I6jpXKEGtwmz1Ql274s4WoE7w186IHEL3G7dRl5vQ6xIZnA6ZgjA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1096,9 +1106,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c",
         "wx" : "0874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b",
         "wy" : "709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004874146432b3cd2c9e26204c0a34136996067d466dde4917a8ff23a8e95ca106b709b3d50976ef8b385a813bc35f3a20710bdc6edd465e6f43ac4866703a6608c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEh0FGQys80sniYgTAo0E2mWBn1Gbd\n5JF6j/I6jpXKEGtwmz1Ql274s4WoE7w186IHEL3G7dRl5vQ6xIZnA6ZgjA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 83,
@@ -1111,10 +1126,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07edeb3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEenNtjjJqnKYrviWjTqTjYztJmpav\np6qj/PP9iPjgft6z5Fh52GIrk+gYRDpoboae7ae/muRqo+r8xIpZNIZGJw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1126,9 +1137,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07edeb3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627",
         "wx" : "7a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07ede",
         "wy" : "0b3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a736d8e326a9ca62bbe25a34ea4e3633b499a96afa7aaa3fcf3fd88f8e07edeb3e45879d8622b93e818443a686e869eeda7bf9ae46aa3eafcc48a5934864627",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEenNtjjJqnKYrviWjTqTjYztJmpav\np6qj/PP9iPjgft6z5Fh52GIrk+gYRDpoboae7ae/muRqo+r8xIpZNIZGJw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 84,
@@ -1141,10 +1157,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6E2bIy6XGkM4JjD5lyXkI+wey0Hl\nUXLpxpdIoD8NWYhhixW0J62DNjvQQf91+smO8u6SNxTn0d/jF1N5PHWI1A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1156,9 +1168,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4",
         "wx" : "0e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988",
         "wy" : "618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004e84d9b232e971a43382630f99725e423ec1ecb41e55172e9c69748a03f0d5988618b15b427ad83363bd041ff75fac98ef2ee923714e7d1dfe31753793c7588d4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6E2bIy6XGkM4JjD5lyXkI+wey0Hl\nUXLpxpdIoD8NWYhhixW0J62DNjvQQf91+smO8u6SNxTn0d/jF1N5PHWI1A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 85,
@@ -1179,10 +1196,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAgNzb8sZixXY16DID2bd3RUlkkCq\neNCKrmfEZ94EUDQ0ODQ41QQeqaOH7o5NToS0RxsWDGvPJWiwcvjyDoeplg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1194,9 +1207,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996",
         "wx" : "203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de045034",
         "wy" : "34383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040203736fcb198b15d8d7a0c80f66dddd15259240aa78d08aae67c467de04503434383438d5041ea9a387ee8e4d4e84b4471b160c6bcf2568b072f8f20e87a996",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAgNzb8sZixXY16DID2bd3RUlkkCq\neNCKrmfEZ94EUDQ0ODQ41QQeqaOH7o5NToS0RxsWDGvPJWiwcvjyDoeplg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 87,
@@ -1209,10 +1227,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoX9bdaNe1kYjyly/H5GVEpLbDCPw\nwuokw9DK0JiMq8CDp6YYYlwiiUBzC0+j7mT67Lsvwg/d58WLOj9jAEJNxg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1224,9 +1238,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6",
         "wx" : "0a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc0",
         "wy" : "083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a17f5b75a35ed64623ca5cbf1f91951292db0c23f0c2ea24c3d0cad0988cabc083a7a618625c228940730b4fa3ee64faecbb2fc20fdde7c58b3a3f6300424dc6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoX9bdaNe1kYjyly/H5GVEpLbDCPw\nwuokw9DK0JiMq8CDp6YYYlwiiUBzC0+j7mT67Lsvwg/d58WLOj9jAEJNxg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 88,
@@ -1239,10 +1258,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBLoMuikaN9sT8zv5DatijATsg5Og\nIAQZ6eqh68yftcMfOgoOaCOkm2Ja1XsSoy1AR5cPw0KPDwBJ7PQmXcEvYg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1254,9 +1269,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62",
         "wx" : "4ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c3",
         "wy" : "1f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404ba0cba291a37db13f33bf90dab628c04ec8393a0200419e9eaa1ebcc9fb5c31f3a0a0e6823a49b625ad57b12a32d4047970fc3428f0f0049ecf4265dc12f62",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBLoMuikaN9sT8zv5DatijATsg5Og\nIAQZ6eqh68yftcMfOgoOaCOkm2Ja1XsSoy1AR5cPw0KPDwBJ7PQmXcEvYg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 89,
@@ -1269,10 +1289,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaStsgo4P7tY9iuqitzIvnMvocjoe\n058inyBKQ0uJAO+h9varyzjqO4/eOLmMfCcfJ0r1aoxWKNwzKQaa5N1XFg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1284,9 +1300,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716",
         "wx" : "692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900ef",
         "wy" : "0a1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692b6c828e0feed63d8aeaa2b7322f9ccbe8723a1ed39f229f204a434b8900efa1f6f6abcb38ea3b8fde38b98c7c271f274af56a8c5628dc3329069ae4dd5716",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaStsgo4P7tY9iuqitzIvnMvocjoe\n058inyBKQ0uJAO+h9varyzjqO4/eOLmMfCcfJ0r1aoxWKNwzKQaa5N1XFg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 90,
@@ -1299,10 +1320,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAM79kWLRPmTLk2h6nNj5dV67Wj73\nYy+AD4SHGHTM7wlUPsvq9+gETvchvi+19UnkuEgNJYdATr99u+8sVLwMsQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1314,9 +1331,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1",
         "wx" : "0cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09",
         "wy" : "543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400cefd9162d13e64cb93687a9cd8f9755ebb5a3ef7632f800f84871874ccef09543ecbeaf7e8044ef721be2fb5f549e4b8480d2587404ebf7dbbef2c54bc0cb1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAM79kWLRPmTLk2h6nNj5dV67Wj73\nYy+AD4SHGHTM7wlUPsvq9+gETvchvi+19UnkuEgNJYdATr99u+8sVLwMsQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 91,
@@ -1329,10 +1351,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f244862243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXUYO0JVHPUvKR1cGSH9XhL1DIyF\npL653gPvo/DyRIYiQwGOaGbfki3DE2EgIDEf8h4kLOP7Fbx4xAayWrQwkQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1344,9 +1362,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f244862243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091",
         "wx" : "0b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f24486",
         "wy" : "2243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b975183b42551cf52f291d5c1921fd5e12f50c8c85a4beb9de03efa3f0f244862243018e6866df922dc313612020311ff21e242ce3fb15bc78c406b25ab43091",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXUYO0JVHPUvKR1cGSH9XhL1DIyF\npL653gPvo/DyRIYiQwGOaGbfki3DE2EgIDEf8h4kLOP7Fbx4xAayWrQwkQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 92,
@@ -1359,10 +1382,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed71714927446699965d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwl8dFm8+IRzfBCom+Kv2CU1IuNFx\nkddO1xcUknRGaZll0G3WqIq/pJ6LTF2mu5IoUZaa35YEtazPtSoRTnfM2w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1374,9 +1393,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed71714927446699965d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb",
         "wx" : "0c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed717149274466999",
         "wy" : "65d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c25f1d166f3e211cdf042a26f8abf6094d48b8d17191d74ed71714927446699965d06dd6a88abfa49e8b4c5da6bb922851969adf9604b5accfb52a114e77ccdb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwl8dFm8+IRzfBCom+Kv2CU1IuNFx\nkddO1xcUknRGaZll0G3WqIq/pJ6LTF2mu5IoUZaa35YEtazPtSoRTnfM2w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 93,
@@ -1389,10 +1413,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca98a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEj+XogkOnbkGgBCNiGKPDotbu45ii\nPDoLAI1/AWTLwMqYog0b3PVzUTx8/ZuDxj46gtQBJ8iXaXyGuMs4evfyQA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1404,9 +1424,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "048fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca98a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240",
         "wx" : "08fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca",
         "wy" : "098a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200048fe5e88243a76e41a004236218a3c3a2d6eee398a23c3a0b008d7f0164cbc0ca98a20d1bdcf573513c7cfd9b83c63e3a82d40127c897697c86b8cb387af7f240",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEj+XogkOnbkGgBCNiGKPDotbu45ii\nPDoLAI1/AWTLwMqYog0b3PVzUTx8/ZuDxj46gtQBJ8iXaXyGuMs4evfyQA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 94,
@@ -1419,10 +1444,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000402148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2cc0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAhSCVrUw+8Rwx7NBlws4JD7O5tWo\nQKN77KLvs36N/yzArb6giCSCp0icpwOjmYZLqYfutt23OK9TqDVzRzyzDQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1434,9 +1455,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0402148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2cc0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d",
         "wx" : "2148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2c",
         "wy" : "0c0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000402148256b530fbc470c7b341970b38243ecee6d5a840a37beca2efb37e8dff2cc0adbea0882482a7489ca703a399864ba987eeb6ddb738af53a83573473cb30d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAhSCVrUw+8Rwx7NBlws4JD7O5tWo\nQKN77KLvs36N/yzArb6giCSCp0icpwOjmYZLqYfutt23OK9TqDVzRzyzDQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 95,
@@ -1449,10 +1475,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo02wEs5u2h6cc3XF/PPlTtaY4ZYV\nEkJzs6Yh0CHHb453dFjW9Vo2TCIeOeEgXVUQu0+7fd8I2Nj93hPR1t9/FA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1464,9 +1486,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14",
         "wx" : "0a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e",
         "wy" : "777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a34db012ce6eda1e9c7375c5fcf3e54ed698e19615124273b3a621d021c76f8e777458d6f55a364c221e39e1205d5510bb4fbb7ddf08d8d8fdde13d1d6df7f14",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo02wEs5u2h6cc3XF/PPlTtaY4ZYV\nEkJzs6Yh0CHHb453dFjW9Vo2TCIeOeEgXVUQu0+7fd8I2Nj93hPR1t9/FA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 96,
@@ -1479,10 +1506,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXrz/ni+FfKRK2Jx3YpDuttt0qGz\nFbLOeuN7Tnd4BB2TDXHuGZLSRmSVxCEC0I6BFUwwUwfR3NUtD6TEebJ45w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1494,9 +1517,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7",
         "wx" : "0b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d",
         "wy" : "0930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b97af3fe78be15f2912b6271dd8a43badb6dd2a1b315b2ce7ae37b4e7778041d930d71ee1992d2466495c42102d08e81154c305307d1dcd52d0fa4c479b278e7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuXrz/ni+FfKRK2Jx3YpDuttt0qGz\nFbLOeuN7Tnd4BB2TDXHuGZLSRmSVxCEC0I6BFUwwUwfR3NUtD6TEebJ45w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 97,
@@ -1509,10 +1537,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000481e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb9ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgecZijw/I5Ac7ceh1u/26b+BEI5s\nNc2FWROa8xNdvLue8VaFMCkagGG5DJ9Che78upkNRXCk47e3N1JbXVgANA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1524,9 +1548,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0481e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb9ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034",
         "wx" : "081e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb",
         "wy" : "09ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000481e7198a3c3f23901cedc7a1d6eff6e9bf81108e6c35cd8559139af3135dbcbb9ef1568530291a8061b90c9f4285eefcba990d4570a4e3b7b737525b5d580034",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEgecZijw/I5Ac7ceh1u/26b+BEI5s\nNc2FWROa8xNdvLue8VaFMCkagGG5DJ9Che78upkNRXCk47e3N1JbXVgANA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 98,
@@ -1539,10 +1568,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf737f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEq015LKEh0dujnLneZFFJwqtXPovs\nxt3/PMmWDxiN33N/kLojZkFT6TJi/3M1VBUZWFjXvhMVppRWOG3mgoWjyA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1554,9 +1579,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf737f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8",
         "wx" : "0ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf73",
         "wy" : "7f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab4d792ca121d1dba39cb9de645149c2ab573e8becc6ddff3cc9960f188ddf737f90ba23664153e93262ff73355415195858d7be1315a69456386de68285a3c8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEq015LKEh0dujnLneZFFJwqtXPovs\nxt3/PMmWDxiN33N/kLojZkFT6TJi/3M1VBUZWFjXvhMVppRWOG3mgoWjyA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 99,
@@ -1569,10 +1599,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUYQStpr0Oq4IRHamjVm73lH7+p5b\n6AVj9YfJwmUviO8tO5DSW6pr23sMVeUkCjqY+8JK/thSPt7BxwUD/BDyMw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1584,9 +1610,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233",
         "wx" : "518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef",
         "wy" : "2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004518412b69af43aae084476a68d59bbde51fbfa9e5be80563f587c9c2652f88ef2d3b90d25baa6bdb7b0c55e5240a3a98fbc24afed8523edec1c70503fc10f233",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUYQStpr0Oq4IRHamjVm73lH7+p5b\n6AVj9YfJwmUviO8tO5DSW6pr23sMVeUkCjqY+8JK/thSPt7BxwUD/BDyMw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 100,
@@ -1599,10 +1630,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352da54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoI8UpkS5qTXf/qR2Hrr1ktH2b+bN\nNzqn9dNwrzT4NS2lS1vEAlzzNZAKkUwpNOwv7Ho5bQp6/8rXMqV0HHqq9Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1614,9 +1641,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352da54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5",
         "wx" : "0a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352d",
         "wy" : "0a54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a08f14a644b9a935dffea4761ebaf592d1f66fe6cd373aa7f5d370af34f8352da54b5bc4025cf335900a914c2934ec2fec7a396d0a7affcad732a5741c7aaaf5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoI8UpkS5qTXf/qR2Hrr1ktH2b+bN\nNzqn9dNwrzT4NS2lS1vEAlzzNZAKkUwpNOwv7Ho5bQp6/8rXMqV0HHqq9Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 101,
@@ -1629,10 +1661,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8caace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzPIpamqJtiuQc504r0rjog6fRXFb\nkARGOSQQYeM/j4yqzgBGSR7qocbppHK5bYj0r4Pn/xu4RDjH4FgDRBKuCA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1644,9 +1672,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8caace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08",
         "wx" : "0ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8c",
         "wy" : "0aace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ccf2296a6a89b62b90739d38af4ae3a20e9f45715b90044639241061e33f8f8caace0046491eeaa1c6e9a472b96d88f4af83e7ff1bb84438c7e058034412ae08",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzPIpamqJtiuQc504r0rjog6fRXFb\nkARGOSQQYeM/j4yqzgBGSR7qocbppHK5bYj0r4Pn/xu4RDjH4FgDRBKuCA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 102,
@@ -1659,10 +1692,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000494b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElLD8FSW8q/grHzSJXlgZoGwCsj4E\nACJ24WX5YshuOSe+fCq00LJTAyBPsyofgpKQJ5IiXham0tv7KfvImpwzdg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1674,9 +1703,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0494b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376",
         "wx" : "094b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927",
         "wy" : "0be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000494b0fc1525bcabf82b1f34895e5819a06c02b23e04002276e165f962c86e3927be7c2ab4d0b25303204fb32a1f8292902792225e16a6d2dbfb29fbc89a9c3376",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElLD8FSW8q/grHzSJXlgZoGwCsj4E\nACJ24WX5YshuOSe+fCq00LJTAyBPsyofgpKQJ5IiXham0tv7KfvImpwzdg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 103,
@@ -1689,10 +1723,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEU1Hzfh3gyIxQhSfYmILRg8zc8u/K\nQH7bBifK39Ft5uxEtLV835YNMuvMTJeEfu0hhCWFO1tnXreBt2ahoTADSQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1704,9 +1734,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "045351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349",
         "wx" : "5351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec",
         "wy" : "44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045351f37e1de0c88c508527d89882d183ccdcf2efca407edb0627cadfd16de6ec44b4b57cdf960d32ebcc4c97847eed218425853b5b675eb781b766a1a1300349",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEU1Hzfh3gyIxQhSfYmILRg8zc8u/K\nQH7bBifK39Ft5uxEtLV835YNMuvMTJeEfu0hhCWFO1tnXreBt2ahoTADSQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 104,
@@ -1719,10 +1754,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a69d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdIu6/DIOZzXLZAGXEKJpxsK10Ue9\nyDEyXLL7J2rJcaadZV6adVvJ2ACtIe4/1NmA2Tp6SajFzNNwBRd1ePURYw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1734,9 +1765,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a69d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163",
         "wx" : "748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a6",
         "wy" : "09d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004748bbafc320e6735cb64019710a269c6c2b5d147bdc831325cb2fb276ac971a69d655e9a755bc9d800ad21ee3fd4d980d93a7a49a8c5ccd37005177578f51163",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdIu6/DIOZzXLZAGXEKJpxsK10Ue9\nyDEyXLL7J2rJcaadZV6adVvJ2ACtIe4/1NmA2Tp6SajFzNNwBRd1ePURYw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 105,
@@ -1749,10 +1785,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000414b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFLO711xeHAw2U1qTTUq4URJBCzuQ\n+pejHDMDiWT9hcwRL32Df4+cNrRg1jbJZaX4GPK1DF0A+z+XBVYd1mMYgw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1764,9 +1796,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0414b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883",
         "wx" : "14b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc",
         "wy" : "112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000414b3bbd75c5e1c0c36535a934d4ab85112410b3b90fa97a31c33038964fd85cc112f7d837f8f9c36b460d636c965a5f818f2b50c5d00fb3f9705561dd6631883",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEFLO711xeHAw2U1qTTUq4URJBCzuQ\n+pejHDMDiWT9hcwRL32Df4+cNrRg1jbJZaX4GPK1DF0A+z+XBVYd1mMYgw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 106,
@@ -1779,10 +1816,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2CNTPATNjtxtb5UKjgit4Eqbr6Lx\nSlkDVpNWca6TBb9DF40fiLalepaSTCZfDdt1tYMSkHsZWstZ13lzAxI3dQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1794,9 +1827,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775",
         "wx" : "0d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf",
         "wy" : "43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004d823533c04cd8edc6d6f950a8e08ade04a9bafa2f14a590356935671ae9305bf43178d1f88b6a57a96924c265f0ddb75b58312907b195acb59d7797303123775",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2CNTPATNjtxtb5UKjgit4Eqbr6Lx\nSlkDVpNWca6TBb9DF40fiLalepaSTCZfDdt1tYMSkHsZWstZ13lzAxI3dQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 107,
@@ -1809,10 +1847,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2ys0CLMWfZEDBiTGMo6M4+wQjBBV\ndcLz0gm5LmVLq2nDQxgTnFCwgCxuYS8P0xidgA33yZbV17fD1r6Cg2+iWA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1824,9 +1858,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258",
         "wx" : "0db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69",
         "wy" : "0c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db2b3408b3167d91030624c6328e8ce3ec108c105575c2f3d209b92e654bab69c34318139c50b0802c6e612f0fd3189d800df7c996d5d7b7c3d6be82836fa258",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2ys0CLMWfZEDBiTGMo6M4+wQjBBV\ndcLz0gm5LmVLq2nDQxgTnFCwgCxuYS8P0xidgA33yZbV17fD1r6Cg2+iWA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 108,
@@ -1839,10 +1878,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000409179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab60638527425556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRec58WSJTkiFkU7KsHp0XjCSDff\nria8HderYGOFJ0JVVrQuMwKJ87gmstt6htGdRcKGClnyvh3cw7aR+VqSVQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1854,9 +1889,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0409179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab60638527425556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255",
         "wx" : "09179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab6063852742",
         "wy" : "5556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000409179ce7c59225392216453b2ac1e9d178c24837dfae26bc1dd7ab60638527425556b42e330289f3b826b2db7a86d19d45c2860a59f2be1ddcc3b691f95a9255",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECRec58WSJTkiFkU7KsHp0XjCSDff\nria8HderYGOFJ0JVVrQuMwKJ87gmstt6htGdRcKGClnyvh3cw7aR+VqSVQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 109,
@@ -1869,10 +1909,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000401959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7ed9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAZWfuN7aVuVGe35LIU6kwtDC+ynX\nD/Gbax7M69ZWjX7Z29d6kYKX/ZcL/wHhND9pJRZ9taFNCYohHDnMOkEzmA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1884,9 +1920,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7ed9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398",
         "wx" : "1959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7e",
         "wy" : "0d9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000401959fb8deda56e5467b7e4b214ea4c2d0c2fb29d70ff19b6b1eccebd6568d7ed9dbd77a918297fd970bff01e1343f6925167db5a14d098a211c39cc3a413398",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAZWfuN7aVuVGe35LIU6kwtDC+ynX\nD/Gbax7M69ZWjX7Z29d6kYKX/ZcL/wHhND9pJRZ9taFNCYohHDnMOkEzmA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 110,
@@ -1899,10 +1940,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a9960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVn8f3Dh+U1DIUrTo+LqdbZR+HF3X\nzMYaWTgkXda8qzqZYL66+RlRT5U1wi6q8LWBKFeXDiZmImex8+sQERMKEQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1914,9 +1951,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a9960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11",
         "wx" : "567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a",
         "wy" : "09960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004567f1fdc387e5350c852b4e8f8ba9d6d947e1c5dd7ccc61a5938245dd6bcab3a9960bebaf919514f9535c22eaaf0b5812857970e26662267b1f3eb1011130a11",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEVn8f3Dh+U1DIUrTo+LqdbZR+HF3X\nzMYaWTgkXda8qzqZYL66+RlRT5U1wi6q8LWBKFeXDiZmImex8+sQERMKEQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 111,
@@ -1929,10 +1971,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENJn5dP9Mpruy9RaC/V9Rdi+d1t0o\nVSYmYLNtRtPkvsL0mPriSHgH4iARkVLwEiR2xk1PpG3c6FxFRmMPDVxegQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1944,9 +1982,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81",
         "wx" : "3499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2",
         "wy" : "0f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043499f974ff4ca6bbb2f51682fd5f51762f9dd6dd2855262660b36d46d3e4bec2f498fae2487807e220119152f0122476c64d4fa46ddce85c4546630f0d5c5e81",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAENJn5dP9Mpruy9RaC/V9Rdi+d1t0o\nVSYmYLNtRtPkvsL0mPriSHgH4iARkVLwEiR2xk1PpG3c6FxFRmMPDVxegQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 112,
@@ -1959,10 +2002,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELFwBZizwDBkpWWJX2xOybs8w0PPs\nS58DUbDycJRHNCbphqCGBg0Ibu6CLd0vx0QkegFUtX96acUdn9r6SE5Kxw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -1974,9 +2013,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7",
         "wx" : "2c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426",
         "wy" : "0e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042c5c01662cf00c1929596257db13b26ecf30d0f3ec4b9f0351b0f27094473426e986a086060d086eee822ddd2fc744247a0154b57f7a69c51d9fdafa484e4ac7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAELFwBZizwDBkpWWJX2xOybs8w0PPs\nS58DUbDycJRHNCbphqCGBg0Ibu6CLd0vx0QkegFUtX96acUdn9r6SE5Kxw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 113,
@@ -1989,10 +2033,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000491d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkdTLqBOgTYbbrpTCO+b1LBV3QYO+\ne6Wy2fPPAQsWBQGQC4rf6mSRAZqawIDVFgJaVBv0uVKwrXvksYdLAv1USg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2004,9 +2044,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0491d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a",
         "wx" : "091d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501",
         "wy" : "0900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000491d4cba813a04d86dbae94c23be6f52c15774183be7ba5b2d9f3cf010b160501900b8adfea6491019a9ac080d516025a541bf4b952b0ad7be4b1874b02fd544a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEkdTLqBOgTYbbrpTCO+b1LBV3QYO+\ne6Wy2fPPAQsWBQGQC4rf6mSRAZqawIDVFgJaVBv0uVKwrXvksYdLAv1USg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 114,
@@ -2019,10 +2064,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73/Qo6NjhmODMOytQeGjswKvNpYI\nMdAhDGFLlI6KoSTvDW2ADkBH1tPBvg/erxH82Mq1q1nHMOs0EW41qMfQmA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2034,9 +2075,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098",
         "wx" : "0ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124",
         "wy" : "0ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ef7fd0a3a36386638330ecad41e1a3b302af36960831d0210c614b948e8aa124ef0d6d800e4047d6d3c1be0fdeaf11fcd8cab5ab59c730eb34116e35a8c7d098",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE73/Qo6NjhmODMOytQeGjswKvNpYI\nMdAhDGFLlI6KoSTvDW2ADkBH1tPBvg/erxH82Mq1q1nHMOs0EW41qMfQmA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 115,
@@ -2049,10 +2095,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpSHasTzJFS2Mp3A1pgf+oGxVzDyl\n2+uGjOqS6v6T3yp7+5soUxmWY15qXMqigmpAbOERG9ucLgyjZQBBii9D3g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2064,9 +2106,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de",
         "wx" : "0a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a",
         "wy" : "7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a521dab13cc9152d8ca77035a607fea06c55cc3ca5dbeb868cea92eafe93df2a7bfb9b28531996635e6a5ccaa2826a406ce1111bdb9c2e0ca36500418a2f43de",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpSHasTzJFS2Mp3A1pgf+oGxVzDyl\n2+uGjOqS6v6T3yp7+5soUxmWY15qXMqigmpAbOERG9ucLgyjZQBBii9D3g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 116,
@@ -2079,10 +2126,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a10976e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER01YpO7Bbg1WXyGH/hHU6OeiaDoS\n84tPwB0SN6gaEJduVfc7t83aRr22fvd/b9KWnfK2eSD7WUX946UXpt7UzQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2094,9 +2137,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a10976e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd",
         "wx" : "474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a1097",
         "wy" : "6e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004474d58a4eec16e0d565f2187fe11d4e8e7a2683a12f38b4fc01d1237a81a10976e55f73bb7cdda46bdb67ef77f6fd2969df2b67920fb5945fde3a517a6ded4cd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAER01YpO7Bbg1WXyGH/hHU6OeiaDoS\n84tPwB0SN6gaEJduVfc7t83aRr22fvd/b9KWnfK2eSD7WUX946UXpt7UzQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 117,
@@ -2109,10 +2157,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a62140e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaS2lzUMJ2ably1JcN9qPoIefe1cg\njNq79H0iOlsjpiFA4NqnjP3SB6c4mq7WFzixf8X8Pmpe0zl9KQLpEl5qtA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2124,9 +2168,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a62140e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4",
         "wx" : "692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a621",
         "wy" : "40e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004692da5cd4309d9a6e5cb525c37da8fa0879f7b57208cdabbf47d223a5b23a62140e0daa78cfdd207a7389aaed61738b17fc5fc3e6a5ed3397d2902e9125e6ab4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaS2lzUMJ2ably1JcN9qPoIefe1cg\njNq79H0iOlsjpiFA4NqnjP3SB6c4mq7WFzixf8X8Pmpe0zl9KQLpEl5qtA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 118,
@@ -2139,10 +2188,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000485689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhWibPgd1x3GKkCefFKgILPzU0fFn\nknT06biAXFcKBnAWf8xcpzRVLgmvo2QPSgNOFbm3ymYex/9w0/JA6+cFsQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2154,9 +2199,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0485689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1",
         "wx" : "085689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670",
         "wy" : "167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000485689b3e0775c7718a90279f14a8082cfcd4d1f1679274f4e9b8805c570a0670167fcc5ca734552e09afa3640f4a034e15b9b7ca661ec7ff70d3f240ebe705b1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhWibPgd1x3GKkCefFKgILPzU0fFn\nknT06biAXFcKBnAWf8xcpzRVLgmvo2QPSgNOFbm3ymYex/9w0/JA6+cFsQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 119,
@@ -2169,10 +2219,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI34qlk/ADTd6hZK4thqvp6Sqp8e5/StB1uDhe9G6VnftzQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2184,9 +2230,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd",
         "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e",
         "wy" : "2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e2a964fc00d377a8592b8b61aafa7a4aaa7c7b9fd2b41d6e0e17bd1ba5677edcd",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI34qlk/ADTd6hZK4thqvp6Sqp8e5/StB1uDhe9G6VnftzQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 120,
@@ -2201,10 +2252,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI37VabA+8siFe21HSeVQWFtVWDhGA9S+KR8ehC5FqYgSMg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2216,9 +2263,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232",
         "wx" : "158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237e",
         "wy" : "0d569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040158137755b901f797a90d4ca8887e023cb2ef63b2ba2c0d455edaef42cf237ed569b03ef2c8857b6d4749e550585b5558384603d4be291f1e842e45a9881232",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAVgTd1W5AfeXqQ1MqIh+Ajyy72Oy\nuiwNRV7a70LPI37VabA+8siFe21HSeVQWFtVWDhGA9S+KR8ehC5FqYgSMg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 121,
@@ -2233,10 +2285,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000438a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69ca699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOKCE/8zEri+CBL4qvKn7itSrKDsq\npQ8TtrsjR62rxpymmXmbd7HMba0nHoi4mcEpMZhulY4fXPVlPd33OJNl4g==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2248,9 +2296,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0438a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69ca699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2",
         "wx" : "38a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69c",
         "wy" : "0a699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000438a084ffccc4ae2f8204be2abca9fb8ad4ab283b2aa50f13b6bb2347adabc69ca699799b77b1cc6dad271e88b899c12931986e958e1f5cf5653dddf7389365e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOKCE/8zEri+CBL4qvKn7itSrKDsq\npQ8TtrsjR62rxpymmXmbd7HMba0nHoi4mcEpMZhulY4fXPVlPd33OJNl4g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 122,
@@ -2263,10 +2316,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeodvv4IdlsVVw1OT07LS6Amm2Dmw\nsRXZZNo+kZ74JQRzPc9B2DOwUwuHp7GlL32Rv6GZE/cVGIaROxYN4HzWmw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2278,9 +2327,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "047a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b",
         "wx" : "7a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504",
         "wy" : "733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047a876fbf821d96c555c35393d3b2d2e809a6d839b0b115d964da3e919ef82504733dcf41d833b0530b87a7b1a52f7d91bfa19913f7151886913b160de07cd69b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEeodvv4IdlsVVw1OT07LS6Amm2Dmw\nsRXZZNo+kZ74JQRzPc9B2DOwUwuHp7GlL32Rv6GZE/cVGIaROxYN4HzWmw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 123,
@@ -2293,10 +2347,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZkziczINkY2L2y5hIBtFSbNrfNxU\n4zuErbbywQqsgx5J5ogx8YvaKXOsPXa/vIxe4czu0t2GLi3HyRXHNs7x9A==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2308,9 +2358,14 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4",
         "wx" : "664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e",
         "wy" : "49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004664ce273320d918d8bdb2e61201b4549b36b7cdc54e33b84adb6f2c10aac831e49e68831f18bda2973ac3d76bfbc8c5ee1cceed2dd862e2dc7c915c736cef1f4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZkziczINkY2L2y5hIBtFSbNrfNxU\n4zuErbbywQqsgx5J5ogx8YvaKXOsPXa/vIxe4czu0t2GLi3HyRXHNs7x9A==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 124,
@@ -2323,10 +2378,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElhaRpelg0HowHbutTYYkfsJ9cIn6\n6z3dGt05Xv/x4P5yVGIsw3GGbN+ZDSxTd3kON9HxUZgX8JojG9JgqeeK6w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2338,13 +2389,18 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb",
         "wx" : "0961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe",
         "wy" : "7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004961691a5e960d07a301dbbad4d86247ec27d7089faeb3ddd1add395efff1e0fe7254622cc371866cdf990d2c5377790e37d1f1519817f09a231bd260a9e78aeb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAElhaRpelg0HowHbutTYYkfsJ9cIn6\n6z3dGt05Xv/x4P5yVGIsw3GGbN+ZDSxTd3kON9HxUZgX8JojG9JgqeeK6w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 125,
-          "comment" : "extreme value for k",
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "7cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
           "result" : "valid",
@@ -2353,10 +2409,161 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2wLR80IdYA6dnvnkdBnboyCO7QjC\n1BiaXbY6vrJzlmbg7SaWe5rantf/5ICCf5Cg0hDV/Y7GKOMXFeayQSVRKg==\n-----END PUBLIC KEY-----",
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "XSg-E86Mpg2oaOOw-zPmtPEHR5MnTikoJQ5x4qymPpw",
+        "y" : "IU3HT6JTcftNnlBtQY7Zob_W0Mi7ZZHT4PRFBahIhs4"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045d283e13ce8ca60da868e3b0fb33e6b4f1074793274e2928250e71e2aca63e9c214dc74fa25371fb4d9e506d418ed9a1bfd6d0c8bb6591d3e0f44505a84886ce",
+        "wx" : "5d283e13ce8ca60da868e3b0fb33e6b4f1074793274e2928250e71e2aca63e9c",
+        "wy" : "214dc74fa25371fb4d9e506d418ed9a1bfd6d0c8bb6591d3e0f44505a84886ce"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045d283e13ce8ca60da868e3b0fb33e6b4f1074793274e2928250e71e2aca63e9c214dc74fa25371fb4d9e506d418ed9a1bfd6d0c8bb6591d3e0f44505a84886ce",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXSg+E86Mpg2oaOOw+zPmtPEHR5Mn\nTikoJQ5x4qymPpwhTcdPolNx+02eUG1Bjtmhv9bQyLtlkdPg9EUFqEiGzg==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 126,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "7cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "D8NR2gOK4IA70dhlFK4EYvn4IWVR2TFaqdKX95Lu9qM",
+        "y" : "QcdO7XhvLTPaNTYMp6qSXnU_ANYHeh6eX8M51jQBnHM"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040fc351da038ae0803bd1d86514ae0462f9f8216551d9315aa9d297f792eef6a341c74eed786f2d33da35360ca7aa925e753f00d6077a1e9e5fc339d634019c73",
+        "wx" : "0fc351da038ae0803bd1d86514ae0462f9f8216551d9315aa9d297f792eef6a3",
+        "wy" : "41c74eed786f2d33da35360ca7aa925e753f00d6077a1e9e5fc339d634019c73"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200040fc351da038ae0803bd1d86514ae0462f9f8216551d9315aa9d297f792eef6a341c74eed786f2d33da35360ca7aa925e753f00d6077a1e9e5fc339d634019c73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAED8NR2gOK4IA70dhlFK4EYvn4IWVR\n2TFaqdKX95Lu9qNBx07teG8tM9o1NgynqpJedT8A1gd6Hp5fwznWNAGccw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 127,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "7cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc47669978cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "oeNMjxbROGc_7lXAgFR8K_1N51UAZfY4Miu6lDDOS2A",
+        "y" : "Zivpu1EmY6pNffirPztBgcXUSnvfQkNmILfYprgayTY"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04a1e34c8f16d138673fee55c080547c2bfd4de7550065f638322bba9430ce4b60662be9bb512663aa4d7df8ab3f3b4181c5d44a7bdf42436620b7d8a6b81ac936",
+        "wx" : "0a1e34c8f16d138673fee55c080547c2bfd4de7550065f638322bba9430ce4b60",
+        "wy" : "662be9bb512663aa4d7df8ab3f3b4181c5d44a7bdf42436620b7d8a6b81ac936"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004a1e34c8f16d138673fee55c080547c2bfd4de7550065f638322bba9430ce4b60662be9bb512663aa4d7df8ab3f3b4181c5d44a7bdf42436620b7d8a6b81ac936",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoeNMjxbROGc/7lXAgFR8K/1N51UA\nZfY4Miu6lDDOS2BmK+m7USZjqk19+Ks/O0GBxdRKe99CQ2Ygt9imuBrJNg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 128,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "7cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc476699783333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "fhqKgzjX_Yz0HTIqMC0geKh6I8cYYVDtfNpuUoF8G98",
+        "y" : "0KkTWonSHOgh4pAUsomDSSVNdIJystTrjVnuNMYVN38"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "047e1a8a8338d7fd8cf41d322a302d2078a87a23c7186150ed7cda6e52817c1bdfd0a9135a89d21ce821e29014b2898349254d748272b2d4eb8d59ee34c615377f",
+        "wx" : "7e1a8a8338d7fd8cf41d322a302d2078a87a23c7186150ed7cda6e52817c1bdf",
+        "wy" : "0d0a9135a89d21ce821e29014b2898349254d748272b2d4eb8d59ee34c615377f"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200047e1a8a8338d7fd8cf41d322a302d2078a87a23c7186150ed7cda6e52817c1bdfd0a9135a89d21ce821e29014b2898349254d748272b2d4eb8d59ee34c615377f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfhqKgzjX/Yz0HTIqMC0geKh6I8cY\nYVDtfNpuUoF8G9/QqRNaidIc6CHikBSyiYNJJU10gnKy1OuNWe40xhU3fw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 129,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "7cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997849249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "XBn-Inphq8ZcYe56AYzJVxssb2Y-ozWD92pob2S-B4s",
+        "y" : "e0oNc0lA9hPVK8SGc7RXws94SSSQpcxWBsBUHReyTds"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "045c19fe227a61abc65c61ee7a018cc9571b2c6f663ea33583f76a686f64be078b7b4a0d734940f613d52bc48673b457c2cf78492490a5cc5606c0541d17b24ddb",
+        "wx" : "5c19fe227a61abc65c61ee7a018cc9571b2c6f663ea33583f76a686f64be078b",
+        "wy" : "7b4a0d734940f613d52bc48673b457c2cf78492490a5cc5606c0541d17b24ddb"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200045c19fe227a61abc65c61ee7a018cc9571b2c6f663ea33583f76a686f64be078b7b4a0d734940f613d52bc48673b457c2cf78492490a5cc5606c0541d17b24ddb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXBn+Inphq8ZcYe56AYzJVxssb2Y+\nozWD92pob2S+B4t7Sg1zSUD2E9UrxIZztFfCz3hJJJClzFYGwFQdF7JN2w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 130,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "7cf27b188d034f7e8a52380304b51ac3c08969e277f21b35a60b48fc4766997816a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2368,13 +2575,18 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a",
         "wx" : "0db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666",
         "wy" : "0e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004db02d1f3421d600e9d9ef9e47419dba3208eed08c2d4189a5db63abeb2739666e0ed26967b9ada9ed7ffe480827f90a0d210d5fd8ec628e31715e6b24125512a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE2wLR80IdYA6dnvnkdBnboyCO7QjC\n1BiaXbY6vrJzlmbg7SaWe5rantf/5ICCf5Cg0hDV/Y7GKOMXFeayQSVRKg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 126,
-          "comment" : "extreme value for k",
+          "tcId" : 131,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296555555550000000055555555555555553ef7a8e48d07df81a693439654210c70",
           "result" : "valid",
@@ -2383,10 +2595,161 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9Q==\n-----END PUBLIC KEY-----",
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "YiLRliZVUBiTwp5EE5W2wFcRvT7VoO9yz6szi4ginEs",
+        "y" : "qq4HnLRKGvBwNiqqUg7iTKwmJkI7C_ga8cVDEdji_SM"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "046222d1962655501893c29e441395b6c05711bd3ed5a0ef72cfab338b88229c4baaae079cb44a1af070362aaa520ee24cac2626423b0bf81af1c54311d8e2fd23",
+        "wx" : "6222d1962655501893c29e441395b6c05711bd3ed5a0ef72cfab338b88229c4b",
+        "wy" : "0aaae079cb44a1af070362aaa520ee24cac2626423b0bf81af1c54311d8e2fd23"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046222d1962655501893c29e441395b6c05711bd3ed5a0ef72cfab338b88229c4baaae079cb44a1af070362aaa520ee24cac2626423b0bf81af1c54311d8e2fd23",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEYiLRliZVUBiTwp5EE5W2wFcRvT7V\noO9yz6szi4ginEuqrgectEoa8HA2KqpSDuJMrCYmQjsL+BrxxUMR2OL9Iw==\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 132,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b6db6db6249249254924924924924924625bd7a09bec4ca81bcdd9f8fd6b63cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "TM-iTGfz3vf6gbyZxwuwQZwJUrpZn0wDNh2hhLBM3KU",
+        "y" : "23a3l_f0HZxymiIZR4p-Ypco34cIAL6M9sp6CoIVO_o"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "044ccfa24c67f3def7fa81bc99c70bb0419c0952ba599f4c03361da184b04cdca5db76b797f7f41d9c729a2219478a7e629728df870800be8cf6ca7a0a82153bfa",
+        "wx" : "4ccfa24c67f3def7fa81bc99c70bb0419c0952ba599f4c03361da184b04cdca5",
+        "wy" : "0db76b797f7f41d9c729a2219478a7e629728df870800be8cf6ca7a0a82153bfa"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044ccfa24c67f3def7fa81bc99c70bb0419c0952ba599f4c03361da184b04cdca5db76b797f7f41d9c729a2219478a7e629728df870800be8cf6ca7a0a82153bfa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETM+iTGfz3vf6gbyZxwuwQZwJUrpZ\nn0wDNh2hhLBM3KXbdreX9/QdnHKaIhlHin5ilyjfhwgAvoz2ynoKghU7+g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 133,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296cccccccc00000000cccccccccccccccc971f2ef152794b9d8fc7d568c9e8eaa7",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "6hxyyRA0A2uscUArbp7MSvPb3nqZ3FdAYemf7_-dhNo",
+        "y" : "t90FfnW3isb1bjTrBI8KnSnV0FVAjJDQK8LqkYwYy2M"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ea1c72c91034036bac71402b6e9ecc4af3dbde7a99dc574061e99fefff9d84dab7dd057e75b78ac6f56e34eb048f0a9d29d5d055408c90d02bc2ea918c18cb63",
+        "wx" : "0ea1c72c91034036bac71402b6e9ecc4af3dbde7a99dc574061e99fefff9d84da",
+        "wy" : "0b7dd057e75b78ac6f56e34eb048f0a9d29d5d055408c90d02bc2ea918c18cb63"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ea1c72c91034036bac71402b6e9ecc4af3dbde7a99dc574061e99fefff9d84dab7dd057e75b78ac6f56e34eb048f0a9d29d5d055408c90d02bc2ea918c18cb63",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6hxyyRA0A2uscUArbp7MSvPb3nqZ\n3FdAYemf7/+dhNq33QV+dbeKxvVuNOsEjwqdKdXQVUCMkNArwuqRjBjLYw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 134,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2963333333300000000333333333333333325c7cbbc549e52e763f1f55a327a3aaa",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "woeaZthssguCC3eV2i2mKziST3gX0c01DZNpiOkOebw",
+        "y" : "VDGnJo_2kxx6dZ3gJO_5C8sBdyFttv0fOqqhH6O2oIM"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04c2879a66d86cb20b820b7795da2da62b38924f7817d1cd350d936988e90e79bc5431a7268ff6931c7a759de024eff90bcb0177216db6fd1f3aaaa11fa3b6a083",
+        "wx" : "0c2879a66d86cb20b820b7795da2da62b38924f7817d1cd350d936988e90e79bc",
+        "wy" : "5431a7268ff6931c7a759de024eff90bcb0177216db6fd1f3aaaa11fa3b6a083"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004c2879a66d86cb20b820b7795da2da62b38924f7817d1cd350d936988e90e79bc5431a7268ff6931c7a759de024eff90bcb0177216db6fd1f3aaaa11fa3b6a083",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEwoeaZthssguCC3eV2i2mKziST3gX\n0c01DZNpiOkOebxUMacmj/aTHHp1neAk7/kLywF3IW22/R86qqEfo7aggw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 135,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29649249248db6db6dbb6db6db6db6db6db5a8b230d0b2b51dcd7ebf0c9fef7c185",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-256",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "qxwPJz90q8K4SMdQBvLvPFTCbfJ3EbBlWPRVB5ruC6M",
+        "y" : "31EPLs722aBZl8d28UrWRWwXnwoTrxdx5NbDf6SLR_I"
+      },
+      "key" : {
+        "curve" : "secp256r1",
+        "keySize" : 256,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04ab1c0f273f74abc2b848c75006f2ef3c54c26df27711b06558f455079aee0ba3df510f2ecef6d9a05997c776f14ad6456c179f0a13af1771e4d6c37fa48b47f2",
+        "wx" : "0ab1c0f273f74abc2b848c75006f2ef3c54c26df27711b06558f455079aee0ba3",
+        "wy" : "0df510f2ecef6d9a05997c776f14ad6456c179f0a13af1771e4d6c37fa48b47f2"
+      },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004ab1c0f273f74abc2b848c75006f2ef3c54c26df27711b06558f455079aee0ba3df510f2ecef6d9a05997c776f14ad6456c179f0a13af1771e4d6c37fa48b47f2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqxwPJz90q8K4SMdQBvLvPFTCbfJ3\nEbBlWPRVB5ruC6PfUQ8uzvbZoFmXx3bxStZFbBefChOvF3Hk1sN/pItH8g==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 136,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c29616a4502e2781e11ac82cbc9d1edd8c981584d13e18411e2f6e0478c34416e3bb",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2398,12 +2761,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
         "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
         "wy" : "4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c2964fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpZP40Li/hp/m47n60p8D54WK84zV2sxXs7LtkBoN79R9Q==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 127,
+          "tcId" : 137,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -2411,7 +2779,7 @@
           "flags" : []
         },
         {
-          "tcId" : 128,
+          "tcId" : 138,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -2421,10 +2789,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpawHL0cAeWAZXEYFLWD8GHp1DHMqZTOoTE0Sb+XyECuCg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -2436,12 +2800,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
         "wx" : "6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296",
         "wy" : "0b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200046b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296b01cbd1c01e58065711814b583f061e9d431cca994cea1313449bf97c840ae0a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEaxfR8uEsQkf4vOblY6RA8ncDfYEt\n6zOg9KE5RdiYwpawHL0cAeWAZXEYFLWD8GHp1DHMqZTOoTE0Sb+XyECuCg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 129,
+          "tcId" : 139,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -2449,7 +2818,7 @@
           "flags" : []
         },
         {
-          "tcId" : 130,
+          "tcId" : 140,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "acd155416a8b77f34089464733ff7cd39c400e9c69af7beb9eac5054ed2ec72c249249246db6db6ddb6db6db6db6db6dad4591868595a8ee6bf5f864ff7be0c2",
@@ -2459,10 +2828,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHS/JlN8gS2PwWuhCDKOQVZuAxJiO\n9jm5XEaeXLJM8hZUDL68RwvKoEZmEtvebQMJjGmW4KBfApAhg866S1MPTzUAqZ5M\n3IpQwNmNhwlE5WVI3Ez2u789aXjvvI/Id4sz4TLSwYXCCETPPfOU1SIlkxfjkx8B\nMPI/ZQDIgPOoMZq0Sg4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2474,12 +2839,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e",
         "wx" : "11d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f35",
         "wy" : "0a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004011d2fc994df204b63f05ae8420ca390559b80c4988ef639b95c469e5cb24cf216540cbebc470bcaa0466612dbde6d03098c6996e0a05f02902183ceba4b530f4f3500a99e4cdc8a50c0d98d870944e56548dc4cf6bbbf3d6978efbc8fc8778b33e132d2c185c20844cf3df394d522259317e3931f0130f23f6500c880f3a8319ab44a0e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBHS/JlN8gS2PwWuhCDKOQVZuAxJiO\n9jm5XEaeXLJM8hZUDL68RwvKoEZmEtvebQMJjGmW4KBfApAhg866S1MPTzUAqZ5M\n3IpQwNmNhwlE5WVI3Ez2u789aXjvvI/Id4sz4TLSwYXCCETPPfOU1SIlkxfjkx8B\nMPI/ZQDIgPOoMZq0Sg4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 131,
+          "tcId" : 141,
           "comment" : "k*G has a large x-coordinate",
           "msg" : "54657374",
           "sig" : "00000000000000000000000000000000000000000000000000000000000000000005ae79787c40d069948033feb708f65a2fc44a36477663b851449048e16ec79bf501fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -2487,7 +2857,7 @@
           "flags" : []
         },
         {
-          "tcId" : 132,
+          "tcId" : 142,
           "comment" : "r too large",
           "msg" : "54657374",
           "sig" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -2497,10 +2867,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea329076697800125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBmgKcd/7QTKsauJN/2oEo/Bm/jEGo\n8kL2qcpvCugTwXCbiwPiapKY/ln5njcG/8KMQ9JqEWkNL/2BWjPqMpB2aXgAElsq\nS2NfUU/V1jIVZy8xGuWTXBd07V2KRIl7aBkeY2mrJt+RXiBmqUPlmjV3MZ2sWoZk\nC8jHGNKxWUef3SLRFEE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2512,12 +2878,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04019a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea329076697800125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441",
         "wx" : "19a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea3290766978",
         "wy" : "125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019a029c77fed04cab1ab8937fda8128fc19bf8c41a8f242f6a9ca6f0ae813c1709b8b03e26a9298fe59f99e3706ffc28c43d26a11690d2ffd815a33ea329076697800125b2a4b635f514fd5d63215672f311ae5935c1774ed5d8a44897b68191e6369ab26df915e2066a943e59a3577319dac5a86640bc8c718d2b159479fdd22d11441",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBmgKcd/7QTKsauJN/2oEo/Bm/jEGo\n8kL2qcpvCugTwXCbiwPiapKY/ln5njcG/8KMQ9JqEWkNL/2BWjPqMpB2aXgAElsq\nS2NfUU/V1jIVZy8xGuWTXBd07V2KRIl7aBkeY2mrJt+RXiBmqUPlmjV3MZ2sWoZk\nC8jHGNKxWUef3SLRFEE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 133,
+          "tcId" : 143,
           "comment" : "r,s are large",
           "msg" : "54657374",
           "sig" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640701fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386406",
@@ -2527,10 +2898,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af005bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA62KHgEC0ygyMYa/n4ZXiLjlfaceF\nmsK3mAKWcJgyVXO1bT1lt7zzERvEhZ4dCBbFQUc6wf/PSizH1uaqWRuhF68AW+om\nysfOITWEtdNasi2LRdyI/ybtut1IeqmMyqcWE7t7edzmepvDbT6YD8ENQxOsIMTP\nJx7MH0ras5UTlxqk+50=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2542,12 +2909,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af005bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d",
         "wx" : "0eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af",
         "wy" : "5bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400eb62878040b4ca0c8c61afe7e195e22e395f69c7859ac2b79802967098325573b56d3d65b7bcf3111bc4859e1d0816c541473ac1ffcf4a2cc7d6e6aa591ba117af005bea26cac7ce213584b5d35ab22d8b45dc88ff26edbadd487aa98ccaa71613bb7b79dce67a9bc36d3e980fc10d4313ac20c4cf271ecc1f4adab39513971aa4fb9d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA62KHgEC0ygyMYa/n4ZXiLjlfaceF\nmsK3mAKWcJgyVXO1bT1lt7zzERvEhZ4dCBbFQUc6wf/PSizH1uaqWRuhF68AW+om\nysfOITWEtdNasi2LRdyI/ybtut1IeqmMyqcWE7t7edzmepvDbT6YD8ENQxOsIMTP\nJx7MH0ras5UTlxqk+50=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 134,
+          "tcId" : 144,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0095e19fd2b755d603bf994562d9a11f63cf4eadecbdc0ecb5a394e54529e8da58a527bc6d85725043786362ab4de6cbc7d80e625ae0a98861aea1c7bf7109c91f66",
@@ -2557,10 +2929,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c200b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKWsEnxl5eFszd8Xijt9MJ4fyE/KD\na+r11hQHhwrehX1Qg+Adhyiw3d4bobs+eRYX7dsCpSx4BJeRylK2RvkxF8IAuXen\nEaUDDE72mQgzKWEyIDutvbwBQHxKzrSclrZY/Hf/H2Va104TROL8Vckcf8NDI1UZ\nLbPSwDzRNLo4etOs3kA=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2572,12 +2940,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c200b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40",
         "wx" : "1296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c2",
         "wy" : "0b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401296b049f1979785b3377c5e28edf4c2787f213f2836beaf5d61407870ade857d5083e01d8728b0ddde1ba1bb3e791617eddb02a52c78049791ca52b646f93117c200b977a711a5030c4ef6990833296132203badbdbc01407c4aceb49c96b658fc77ff1f655ad74e1344e2fc55c91c7fc3432355192db3d2c03cd134ba387ad3acde40",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKWsEnxl5eFszd8Xijt9MJ4fyE/KD\na+r11hQHhwrehX1Qg+Adhyiw3d4bobs+eRYX7dsCpSx4BJeRylK2RvkxF8IAuXen\nEaUDDE72mQgzKWEyIDutvbwBQHxKzrSclrZY/Hf/H2Va104TROL8Vckcf8NDI1UZ\nLbPSwDzRNLo4etOs3kA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 135,
+          "tcId" : 145,
           "comment" : "r and s^-1 have a large Hamming weight",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015837645583a37a7a665f983c5e347f65dca47647aa80fd2498a791d44d9b2850a151a6e86fce7d7bb814e724ff11b9ef726bf36c6e7548c37f82a24902876ee19",
@@ -2587,10 +2960,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAX1BZMINJ+eu7TRxVwK/M9iFi7B3R\nLvPtkGZWkk/9mcq58GsOshjP8HikZ3pc4cwHZSvJdq78cywo9n7weKQ06ZkApdFN\n8xBjDXbsA8tvm5W/GiJDgQXIjNn9PayA+Fet04Jx2LqQFoSybUNtSoWa1M2l6Wd7\nc8qz8+XkGj15lmByeas=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2602,12 +2971,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab",
         "wx" : "5f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e999",
         "wy" : "0a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005f5059308349f9ebbb4d1c55c0afccf62162ec1dd12ef3ed906656924ffd99cab9f06b0eb218cff078a4677a5ce1cc07652bc976aefc732c28f67ef078a434e99900a5d14df310630d76ec03cb6f9b95bf1a22438105c88cd9fd3dac80f857add38271d8ba901684b26d436d4a859ad4cda5e9677b73cab3f3e5e41a3d7996607279ab",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAX1BZMINJ+eu7TRxVwK/M9iFi7B3R\nLvPtkGZWkk/9mcq58GsOshjP8HikZ3pc4cwHZSvJdq78cywo9n7weKQ06ZkApdFN\n8xBjDXbsA8tvm5W/GiJDgQXIjNn9PayA+Fet04Jx2LqQFoSybUNtSoWa1M2l6Wd7\nc8qz8+XkGj15lmByeas=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 136,
+          "tcId" : 146,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
@@ -2615,7 +2989,7 @@
           "flags" : []
         },
         {
-          "tcId" : 137,
+          "tcId" : 147,
           "comment" : "incorrect size of signature",
           "msg" : "54657374",
           "sig" : "0101",
@@ -2627,10 +3001,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7006b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAH7cGQnS6O1lQ8AoCfLLPQtHtacid\nlE2gQV6QhvNchbRK/dY1zcH63iznHmJIXiQ8658HWhEUdjAuYNfXixIHzacAa0JS\nB3FyMyBZqcYPlmiT/afnM3fevLqaj2nO6PWdZ6LKiS+tHfRGMWHxV8fBF8G7/dyI\nRBxMirxjZnvlwf8i9uI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2642,12 +3012,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04001fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7006b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2",
         "wx" : "1fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7",
         "wy" : "6b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001fb7064274ba3b5950f00a027cb2cf42d1ed69c89d944da0415e9086f35c85b44afdd635cdc1fade2ce71e62485e243ceb9f075a111476302e60d7d78b1207cda7006b4252077172332059a9c60f966893fda7e73377debcba9a8f69cee8f59d67a2ca892fad1df4463161f157c7c117c1bbfddc88441c4c8abc63667be5c1ff22f6e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAH7cGQnS6O1lQ8AoCfLLPQtHtacid\nlE2gQV6QhvNchbRK/dY1zcH63iznHmJIXiQ8658HWhEUdjAuYNfXixIHzacAa0JS\nB3FyMyBZqcYPlmiT/afnM3fevLqaj2nO6PWdZ6LKiS+tHfRGMWHxV8fBF8G7/dyI\nRBxMirxjZnvlwf8i9uI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 138,
+          "tcId" : 148,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
@@ -2655,7 +3030,7 @@
           "flags" : []
         },
         {
-          "tcId" : 139,
+          "tcId" : 149,
           "comment" : "incorrect size of signature",
           "msg" : "54657374",
           "sig" : "0102",
@@ -2667,10 +3042,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b6101acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBh31CwRCp++NyPmhOoBxVJpeo6DZ4\nFFy63C4nwz527y7Yheevd/gzEyE7BBB7S5L4Cuv9Zw/RRnsruTM6woDqm2EBrPTo\nWgzL38RwNjjCHrRbSpPbP6dHs2UjhTXNruT8VqqVhUtOycRRaTqvcqkNZtMA0iEb\n3B+gz4XlwkrgjvKiQkg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2682,12 +3053,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b6101acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248",
         "wx" : "1877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b61",
         "wy" : "1acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401877d42c110a9fbe3723e684ea01c552697a8e83678145cbadc2e27c33e76ef2ed885e7af77f83313213b04107b4b92f80aebfd670fd1467b2bb9333ac280ea9b6101acf4e85a0ccbdfc4703638c21eb45b4a93db3fa747b365238535cdaee4fc56aa95854b4ec9c451693aaf72a90d66d300d2211bdc1fa0cf85e5c24ae08ef2a24248",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBh31CwRCp++NyPmhOoBxVJpeo6DZ4\nFFy63C4nwz527y7Yheevd/gzEyE7BBB7S5L4Cuv9Zw/RRnsruTM6woDqm2EBrPTo\nWgzL38RwNjjCHrRbSpPbP6dHs2UjhTXNruT8VqqVhUtOycRRaTqvcqkNZtMA0iEb\n3B+gz4XlwkrgjvKiQkg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 140,
+          "tcId" : 150,
           "comment" : "small r and s",
           "msg" : "54657374",
           "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003",
@@ -2695,7 +3071,7 @@
           "flags" : []
         },
         {
-          "tcId" : 141,
+          "tcId" : 151,
           "comment" : "incorrect size of signature",
           "msg" : "54657374",
           "sig" : "0103",
@@ -2705,7 +3081,7 @@
           ]
         },
         {
-          "tcId" : 142,
+          "tcId" : 152,
           "comment" : "r is larger than n",
           "msg" : "54657374",
           "sig" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003",
@@ -2715,10 +3091,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9006dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBbq8sMEOxCtipm+f4zMSTFRm27Fky\nb2oG83TLT4bhI33w8m32qQz4bDDULjvQWDx0SDDez3g0RUX0ttrqZ0qILbkAbf0J\nMgqXbVksTTnTCQ1vStOZK3AOPpDtGhNGI4x19Lr0k76MHBaDjs7C2ZlCZgQv+cYk\nhpKW7psCO7sS1AvArwc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2730,12 +3102,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04016eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9006dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07",
         "wx" : "16eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9",
         "wy" : "6dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004016eaf2c3043b10ad8a99be7f8ccc4931519b6ec59326f6a06f374cb4f86e1237df0f26df6a90cf86c30d42e3bd0583c744830decf78344545f4b6daea674a882db9006dfd09320a976d592c4d39d3090d6f4ad3992b700e3e90ed1a1346238c75f4baf493be8c1c16838ecec2d9994266042ff9c624869296ee9b023bbb12d40bc0af07",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBbq8sMEOxCtipm+f4zMSTFRm27Fky\nb2oG83TLT4bhI33w8m32qQz4bDDULjvQWDx0SDDez3g0RUX0ttrqZ0qILbkAbf0J\nMgqXbVksTTnTCQ1vStOZK3AOPpDtGhNGI4x19Lr0k76MHBaDjs7C2ZlCZgQv+cYk\nhpKW7psCO7sS1AvArwc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 143,
+          "tcId" : 153,
           "comment" : "s is larger than n",
           "msg" : "54657374",
           "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e914b3a90",
@@ -2745,10 +3122,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8017ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBi3DfOWpr2EGN5qH36A+RW8wHkSnN\ny0ocdrDh0ldpEPGuFvPCdnGMhBwD4YziQ+uuWqYY8Jzd9HA0EiSlAW9vBOgBetPG\nECsoISANNzz/1WFKZwvr3ObyRLNNzofdh1h4a3ooKc1T5ZMl3OvpS1ZAudHKd1xS\ncWpZbZ46CED/29ZL8kc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2760,12 +3133,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04018b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8017ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247",
         "wx" : "18b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8",
         "wy" : "17ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004018b70df396a6bd8418de6a1f7e80f915bcc079129cdcb4a1c76b0e1d2576910f1ae16f3c276718c841c03e18ce243ebae5aa618f09cddf470341224a5016f6f04e8017ad3c6102b2821200d373cffd5614a670bebdce6f244b34dce87dd8758786b7a2829cd53e59325dcebe94b5640b9d1ca775c52716a596d9e3a0840ffdbd64bf247",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBi3DfOWpr2EGN5qH36A+RW8wHkSnN\ny0ocdrDh0ldpEPGuFvPCdnGMhBwD4YziQ+uuWqYY8Jzd9HA0EiSlAW9vBOgBetPG\nECsoISANNzz/1WFKZwvr3ObyRLNNzofdh1h4a3ooKc1T5ZMl3OvpS1ZAudHKd1xS\ncWpZbZ46CED/29ZL8kc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 144,
+          "tcId" : 154,
           "comment" : "small r and s^-1",
           "msg" : "54657374",
           "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010001efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7efdfbf7ef87b4de1fc92dd757639408a50bee10764e326fdd2fa308dfde3e5243fdf4ac5ac",
@@ -2775,10 +3153,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b900643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAEzN5iGRFiAj9axCmyCUXQNptYjRA\nzfHjWW6DErWPI2ktagIQ0WgsBqR29EcDTXo0aXbQws4aWD+W95pTVrmggLkAZD0j\ntSEpL6lpZrf3M88gi2vnVkffhuLizNpAqzNgqx1jHvE/5m6z4I+uoZRFtvk+gyPh\nfeKQkx+tvitqfSzfM9c=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2790,12 +3164,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04001333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b900643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7",
         "wx" : "1333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b9",
         "wy" : "643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001333798864458808fd6b10a6c8251740da6d623440cdf1e3596e8312b58f23692d6a0210d1682c06a476f447034d7a346976d0c2ce1a583f96f79a5356b9a080b900643d23b521292fa96966b7f733cf208b6be75647df86e2e2ccda40ab3360ab1d631ef13fe66eb3e08faea19445b6f93e8323e17de290931fadbe2b6a7d2cdf33d7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAEzN5iGRFiAj9axCmyCUXQNptYjRA\nzfHjWW6DErWPI2ktagIQ0WgsBqR29EcDTXo0aXbQws4aWD+W95pTVrmggLkAZD0j\ntSEpL6lpZrf3M88gi2vnVkffhuLizNpAqzNgqx1jHvE/5m6z4I+uoZRFtvk+gyPh\nfeKQkx+tvitqfSzfM9c=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 145,
+          "tcId" : 155,
           "comment" : "smallish r and s^-1",
           "msg" : "54657374",
           "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d9b4d347952cd0100508d073413de829275e76509fd81cff49adf4c80ed2ddd4a7937d1d918796878fec24cc46570982c3fb8f5e92ccdcb3e677f07e9bd0db0b84814be1c7949b0de",
@@ -2805,10 +3184,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf01c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBU/oL4fnRmbpisepwSJPps0tNkeOP\nFq6MQ887qeO3sJsfk8+HZVNjrv6TljSKr7ca78FWeJBQ30b4QDsEbhqQaq8BwsQa\nf6AND3rq7KFWTavocMkJcYJVGxzv66a0Zz5VehspdYcROUPiXADCGlT0XygOD7xR\nFmSTNWf3nL0Onipa2nU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2820,12 +3195,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf01c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75",
         "wx" : "153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf",
         "wy" : "1c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040153fa0be1f9d199ba62b1ea704893e9b34b4d91e38f16ae8c43cf3ba9e3b7b09b1f93cf87655363aefe9396348aafb71aefc156789050df46f8403b046e1a906aaf01c2c41a7fa00d0f7aeaeca1564dabe870c9097182551b1cefeba6b4673e557a1b297587113943e25c00c21a54f45f280e0fbc511664933567f79cbd0e9e2a5ada75",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBU/oL4fnRmbpisepwSJPps0tNkeOP\nFq6MQ887qeO3sJsfk8+HZVNjrv6TljSKr7ca78FWeJBQ30b4QDsEbhqQaq8BwsQa\nf6AND3rq7KFWTavocMkJcYJVGxzv66a0Zz5VehspdYcROUPiXADCGlT0XygOD7xR\nFmSTNWf3nL0Onipa2nU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 146,
+          "tcId" : 156,
           "comment" : "100-bit r and small s^-1",
           "msg" : "54657374",
           "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001033e67e37b32b445580bf4eff013cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc33cc3393f632affd3eaa3c8fb64507bd5996497bd588fb9e3947c097ced7546b57c8998",
@@ -2835,10 +3215,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c000e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBUjBFmboh/PnvJHuZ3xKtpxTJBnPz\nFwCnFLzKpkf2MICJpDjZWkYgZGJLjBbULWYPPBaieoI98d0DmImQKO+L5sAA4uYa\nJ+j78LCvscOUjouJN1tuXstd3Ubh0sKhlrquHvjWjk8Kkkqba/heUPzPcZ22EKoA\nT6/O+D2ZbNHvy9AIKKY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2850,12 +3226,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c000e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6",
         "wx" : "152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c0",
         "wy" : "0e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040152304599ba21fcf9ef247b99df12ada714c90673f31700a714bccaa647f6308089a438d95a462064624b8c16d42d660f3c16a27a823df1dd0398899028ef8be6c000e2e61a27e8fbf0b0afb1c3948e8b89375b6e5ecb5ddd46e1d2c2a196baae1ef8d68e4f0a924a9b6bf85e50fccf719db610aa004fafcef83d996cd1efcbd00828a6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBUjBFmboh/PnvJHuZ3xKtpxTJBnPz\nFwCnFLzKpkf2MICJpDjZWkYgZGJLjBbULWYPPBaieoI98d0DmImQKO+L5sAA4uYa\nJ+j78LCvscOUjouJN1tuXstd3Ubh0sKhlrquHvjWjk8Kkkqba/heUPzPcZ22EKoA\nT6/O+D2ZbNHvy9AIKKY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 147,
+          "tcId" : 157,
           "comment" : "small r and 100 bit s^-1",
           "msg" : "54657374",
           "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b",
@@ -2865,10 +3246,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3010b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA0DrM7t232PYAQSBd74LgnmS8WYEc\n9lAt6o9yqajn3TxqsD4+bU0TG2iFfQrpb9S1nU+sggsQZI+ygt+U5dKcYtMBCwHI\nUwoImwexsqNP2p3+lxI7HA75fHyetk9EpsGs8hARV9hZapvb21StebO0o23QZ2TK\nsCR1HD+EzQo81xTX5Jw=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2880,12 +3257,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3010b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c",
         "wx" : "0d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3",
         "wy" : "10b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d03acceeddb7d8f60041205def82e09e64bc59811cf6502dea8f72a9a8e7dd3c6ab03e3e6d4d131b68857d0ae96fd4b59d4fac820b10648fb282df94e5d29c62d3010b01c8530a089b07b1b2a34fda9dfe97123b1c0ef97c7c9eb64f44a6c1acf2101157d8596a9bdbdb54ad79b3b4a36dd06764cab024751c3f84cd0a3cd714d7e49c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA0DrM7t232PYAQSBd74LgnmS8WYEc\n9lAt6o9yqajn3TxqsD4+bU0TG2iFfQrpb9S1nU+sggsQZI+ygt+U5dKcYtMBCwHI\nUwoImwexsqNP2p3+lxI7HA75fHyetk9EpsGs8hARV9hZapvb21StebO0o23QZ2TK\nsCR1HD+EzQo81xTX5Jw=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 148,
+          "tcId" : 158,
           "comment" : "100-bit r and s^-1",
           "msg" : "54657374",
           "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000062522bbd3ecbe7c39e93e7c240086ecbf54ab59a4e195f0be1402edd8657bb94618fab50f2fe20fe5ebbc9ff0e491397ed313cc918d438eedb9b5ecb4d9dfa305303505baf25400ed8c20fc3fc47b",
@@ -2895,10 +3277,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46005888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Sm6thBb7cnF8YVM42R0IkhOkzpH\nLIIvP8iMdoRUA5qg3B7E91IVfUYCXq0HIrPLhvaCMz6I7ea9L3SHCEhzrUYAWIgk\nM2Cwi6YjjXyC10kg+3yNXMr5KyxHiC5zDmpopWJHTTxM2c0TA1dMKQrt2sITzIMb\nbnEMnNE2iSysx6yOLpo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2910,12 +3288,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46005888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a",
         "wx" : "1d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46",
         "wy" : "5888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d929bab6105bedc9c5f1854ce3647422484e933a472c822f3fc88c768454039aa0dc1ec4f752157d46025ead0722b3cb86f682333e88ede6bd2f7487084873ad46005888243360b08ba6238d7c82d74920fb7c8d5ccaf92b2c47882e730e6a68a562474d3c4cd9cd1303574c290aeddac213cc831b6e710c9cd136892cacc7ac8e2e9a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Sm6thBb7cnF8YVM42R0IkhOkzpH\nLIIvP8iMdoRUA5qg3B7E91IVfUYCXq0HIrPLhvaCMz6I7ea9L3SHCEhzrUYAWIgk\nM2Cwi6YjjXyC10kg+3yNXMr5KyxHiC5zDmpopWJHTTxM2c0TA1dMKQrt2sITzIMb\nbnEMnNE2iSysx6yOLpo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 149,
+          "tcId" : 159,
           "comment" : "r and s^-1 are close to n",
           "msg" : "54657374",
           "sig" : "01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138638a015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5b",
@@ -2925,10 +3308,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f007d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBe/462koaBucy9ITxgw0MC3HEe3T6\nUG3jq96m0TmrId1yx7HBMDXw/9ElQz0BAKcDAze5ndFia5HKVyMzWFOg9n8AfShE\nfC/Ewp/HSoOOMOrjmeKCtgf/8GGiew1pMhzMPOsPw66GpYx3QCja/RCL2HS4xE80\n9audLjHKd9Kqs8xerNs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2940,12 +3319,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04017bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f007d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb",
         "wx" : "17bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f",
         "wy" : "7d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017bfe3ada4a1a06e732f484f1830d0c0b71c47b74fa506de3abdea6d139ab21dd72c7b1c13035f0ffd125433d0100a7030337b99dd1626b91ca5723335853a0f67f007d28447c2fc4c29fc74a838e30eae399e282b607fff061a27b0d69321ccc3ceb0fc3ae86a58c774028dafd108bd874b8c44f34f5ab9d2e31ca77d2aab3cc5eacdb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBe/462koaBucy9ITxgw0MC3HEe3T6\nUG3jq96m0TmrId1yx7HBMDXw/9ElQz0BAKcDAze5ndFia5HKVyMzWFOg9n8AfShE\nfC/Ewp/HSoOOMOrjmeKCtgf/8GGiew1pMhzMPOsPw66GpYx3QCja/RCL2HS4xE80\n9audLjHKd9Kqs8xerNs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 150,
+          "tcId" : 160,
           "comment" : "s == 1",
           "msg" : "54657374",
           "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
@@ -2953,7 +3337,7 @@
           "flags" : []
         },
         {
-          "tcId" : 151,
+          "tcId" : 161,
           "comment" : "s == 0",
           "msg" : "54657374",
           "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
@@ -2963,10 +3347,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd64900912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBO3O+DsTxizb9wgqslnVYCiDMcl7Q\n3m/qY6thEbSq7MabH98Fuxx6ccS3paHqr/I74VYE9AW17NOz7Wr+qOSc1kkAkSGA\nyYH0gNK4t0OJiLA6DF79vS2glPCC9/pX7MQf3oxl08nYDzT5Ek4VHaVdltKpuZFn\nLeeUSbzBwBkrdlCukLc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -2978,12 +3358,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04013b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd64900912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7",
         "wx" : "13b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd649",
         "wy" : "0912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013b73be0ec4f18b36fdc20aac9675580a20cc725ed0de6fea63ab6111b4aaecc69b1fdf05bb1c7a71c4b7a5a1eaaff23be15604f405b5ecd3b3ed6afea8e49cd64900912180c981f480d2b8b7438988b03a0c5efdbd2da094f082f7fa57ecc41fde8c65d3c9d80f34f9124e151da55d96d2a9b991672de79449bcc1c0192b7650ae90b7",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBO3O+DsTxizb9wgqslnVYCiDMcl7Q\n3m/qY6thEbSq7MabH98Fuxx6ccS3paHqr/I74VYE9AW17NOz7Wr+qOSc1kkAkSGA\nyYH0gNK4t0OJiLA6DF79vS2glPCC9/pX7MQf3oxl08nYDzT5Ek4VHaVdltKpuZFn\nLeeUSbzBwBkrdlCukLc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 152,
+          "tcId" : 162,
           "comment" : "point at infinity during verify",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd28c343c1df97cb35bfe600a47b84d2e81ddae4dc44ce23d75db7db8f489c320400aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -2993,10 +3378,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b77600a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBwB6rm6bd0h4zQhA0rNaskjpAn6s0\nngOAv6pUtASJAIal4S+wnhNScSz94Vq8JWMHmnPTM8nHnGcPsGtdgCqpt3YAp2oo\n0D9lfGG/h/9453M6BpVW0r1ji3kxarcLWigJvIqYoqhDI41KviaYsqpq7eGyVBvz\n3NAHz5zVxNSWnE9//Ms=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3008,12 +3389,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b77600a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb",
         "wx" : "1c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b776",
         "wy" : "0a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401c01eab9ba6ddd21e33421034acd6ac923a409fab349e0380bfaa54b404890086a5e12fb09e1352712cfde15abc2563079a73d333c9c79c670fb06b5d802aa9b77600a76a28d03f657c61bf87ff78e7733a069556d2bd638b79316ab70b5a2809bc8a98a2a843238d4abe2698b2aa6aede1b2541bf3dcd007cf9cd5c4d4969c4f7ffccb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBwB6rm6bd0h4zQhA0rNaskjpAn6s0\nngOAv6pUtASJAIal4S+wnhNScSz94Vq8JWMHmnPTM8nHnGcPsGtdgCqpt3YAp2oo\n0D9lfGG/h/9453M6BpVW0r1ji3kxarcLWigJvIqYoqhDI41KviaYsqpq7eGyVBvz\n3NAHz5zVxNSWnE9//Ms=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 153,
+          "tcId" : 163,
           "comment" : "u1 == 1",
           "msg" : "54657374",
           "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0000c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
@@ -3023,10 +3409,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb0014620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAGGNlxzWIgHpRAFQS2wBLRfX3vjpg\ndOYRkEKXjb+8WkMeFsyTB0fmzXURUFtMk0nO35CKWp29M82wrsy/aUVEV/sAFGIK\nKaJpHYA4054eTefEJDyMQmAecZlFwSl8GksQ10Fa83vx7Q3ckDC85TAYXf38Rlj/\nY19r2WYL7Mj/nspP3fo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3038,12 +3420,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb0014620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa",
         "wx" : "186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb",
         "wy" : "14620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400186365c73588807a51005412db004b45f5f7be3a6074e6119042978dbfbc5a431e16cc930747e6cd7511505b4c9349cedf908a5a9dbd33cdb0aeccbf69454457fb0014620a29a2691d8038d39e1e4de7c4243c8c42601e719945c1297c1a4b10d7415af37bf1ed0ddc9030bce530185dfdfc4658ff635f6bd9660becc8ff9eca4fddfa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAGGNlxzWIgHpRAFQS2wBLRfX3vjpg\ndOYRkEKXjb+8WkMeFsyTB0fmzXURUFtMk0nO35CKWp29M82wrsy/aUVEV/sAFGIK\nKaJpHYA4054eTefEJDyMQmAecZlFwSl8GksQ10Fa83vx7Q3ckDC85TAYXf38Rlj/\nY19r2WYL7Mj/nspP3fo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 154,
+          "tcId" : 164,
           "comment" : "u1 == n - 1",
           "msg" : "54657374",
           "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad01ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d8",
@@ -3053,10 +3440,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863008c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALip0a1XgW8Ew03TIq7i/ZRouKwJU\nBPCFRb78uVyff2gfb1ub8uvEXUyFcpIdOrXc4UTqXVDr7Im4yPAQ6jFJSGMAjIFv\nEi1dY7X+oA0aAO0jV39+99SPOXNWg1PUaDaOx3y8njxQEoObdIMwh9Ubo+aAq1N1\nvmgOqMGPe2GfMrFB8oE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3068,12 +3451,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04002e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863008c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281",
         "wx" : "2e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863",
         "wy" : "08c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002e2a746b55e05bc130d374c8abb8bf651a2e2b025404f08545befcb95c9f7f681f6f5b9bf2ebc45d4c8572921d3ab5dce144ea5d50ebec89b8c8f010ea31494863008c816f122d5d63b5fea00d1a00ed23577f7ef7d48f3973568353d468368ec77cbc9e3c5012839b74833087d51ba3e680ab5375be680ea8c18f7b619f32b141f281",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALip0a1XgW8Ew03TIq7i/ZRouKwJU\nBPCFRb78uVyff2gfb1ub8uvEXUyFcpIdOrXc4UTqXVDr7Im4yPAQ6jFJSGMAjIFv\nEi1dY7X+oA0aAO0jV39+99SPOXNWg1PUaDaOx3y8njxQEoObdIMwh9Ubo+aAq1N1\nvmgOqMGPe2GfMrFB8oE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 155,
+          "tcId" : 165,
           "comment" : "u2 == 1",
           "msg" : "54657374",
           "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -3083,10 +3471,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f201c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA03n3mCawQZjfNxqwUZ0afwpPGZ1h\nScqLfxOl2gnLoCT759T/f9eoqTtcvK88aCQ/Yw1H2PK2Uran1rHFIqdfqfIBxmBy\nLZXIPGuUV5RKzGceiB6NF7BzYvL4J5lFby8V1mLTaqCdWlI2KI08E4Lj4jCPRoZ9\nU8WIo3CFf65NMvCj3a8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3098,12 +3482,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f201c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf",
         "wx" : "0d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f2",
         "wy" : "1c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d379f79826b04198df371ab0519d1a7f0a4f199d6149ca8b7f13a5da09cba024fbe7d4ff7fd7a8a93b5cbcaf3c68243f630d47d8f2b652b6a7d6b1c522a75fa9f201c660722d95c83c6b9457944acc671e881e8d17b07362f2f82799456f2f15d662d36aa09d5a5236288d3c1382e3e2308f46867d53c588a370857fae4d32f0a3ddaf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA03n3mCawQZjfNxqwUZ0afwpPGZ1h\nScqLfxOl2gnLoCT759T/f9eoqTtcvK88aCQ/Yw1H2PK2Uran1rHFIqdfqfIBxmBy\nLZXIPGuUV5RKzGceiB6NF7BzYvL4J5lFby8V1mLTaqCdWlI2KI08E4Lj4jCPRoZ9\nU8WIo3CFf65NMvCj3a8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 156,
+          "tcId" : 166,
           "comment" : "u2 == n - 1",
           "msg" : "54657374",
           "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad015555555555555555555555555555555555555555555555555555555555555555518baf05027f750ef25532ab85fa066e8ad2793125b112da747cf524bf0b7aed5c",
@@ -3113,10 +3502,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb5001712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBucyMq2rz785ioV3h8q27sipNLXTo\n3PMv7AqUo9o1CN4dSgc/UkX5bJpqowIeVOqjUzp4F8TleUSrIXRUm2uT61ABcSzd\ng2bEURjwFhY6c0cZj0laKpvEJ5CNvG3UszD1bhwd9KmIb3/WPEkSSt5g1b+Oa3rD\n1p04+cTb2KEiFjgnLMs=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3128,12 +3513,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb5001712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb",
         "wx" : "1b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb50",
         "wy" : "1712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b9cc8cab6af3efce62a15de1f2adbbb22a4d2d74e8dcf32fec0a94a3da3508de1d4a073f5245f96c9a6aa3021e54eaa3533a7817c4e57944ab2174549b6b93eb5001712cdd8366c45118f016163a7347198f495a2a9bc427908dbc6dd4b330f56e1c1df4a9886f7fd63c49124ade60d5bf8e6b7ac3d69d38f9c4dbd8a1221638272ccb",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBucyMq2rz785ioV3h8q27sipNLXTo\n3PMv7AqUo9o1CN4dSgc/UkX5bJpqowIeVOqjUzp4F8TleUSrIXRUm2uT61ABcSzd\ng2bEURjwFhY6c0cZj0laKpvEJ5CNvG3UszD1bhwd9KmIb3/WPEkSSt5g1b+Oa3rD\n1p04+cTb2KEiFjgnLMs=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 157,
+          "tcId" : 167,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0000424f8a11451ecd0735f06da9d15265d82c3c08f43db200b4b9404d558c9749dd51b1607da78f82eda9f32f5e53aef6ed9b97191fbd3bae7f35ddd3e66903d8bb",
@@ -3143,10 +3533,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b601ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAOCbJGqozoYPeP24TTYZTCK68eQ6S\nh7x64TbtWb8DvkSntbQ6GMqK8aFOjKiO/hxl+JSXbFbEivALWsHzy831iLYBrDvO\nX648K7bc8Z2cJ16y61YUUjoEvw5/mKSlC+f4DIzO6Knnt0yK8HY0FwSnrCN2mkIH\nFyJ9b30bvPzs9yDsrDk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3158,12 +3544,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04003826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b601ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39",
         "wx" : "3826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b6",
         "wy" : "1ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003826c91aaa33a183de3f6e134d865308aebc790e9287bc7ae136ed59bf03be44a7b5b43a18ca8af1a14e8ca88efe1c65f894976c56c48af00b5ac1f3cbcdf588b601ac3bce5fae3c2bb6dcf19d9c275eb2eb5614523a04bf0e7f98a4a50be7f80c8ccee8a9e7b74c8af076341704a7ac23769a420717227d6f7d1bbcfcecf720ecac39",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAOCbJGqozoYPeP24TTYZTCK68eQ6S\nh7x64TbtWb8DvkSntbQ6GMqK8aFOjKiO/hxl+JSXbFbEivALWsHzy831iLYBrDvO\nX648K7bc8Z2cJ16y61YUUjoEvw5/mKSlC+f4DIzO6Knnt0yK8HY0FwSnrCN2mkIH\nFyJ9b30bvPzs9yDsrDk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 158,
+          "tcId" : 168,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0041eeab7d3d7e80937cad0b86d3e53e14830166c2efa89df18ec6f88fc6a8a580601a91934ba922bd746351a008ac4f86dcc4d13a7ff09420f897b52bf88a4c9269",
@@ -3173,10 +3564,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f64300601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAyGGz1Zd9r9MhxC6rGROi8ac06fsa\nIY8zwCqUHa+kHn9fpbTXP1LHTDXmJiscShVFxc3fqRL+RC7noWqq4MXD9kMAYB25\ngauVk8lAVyPKqG2GLFdbXFSkh0Z8I0DklfJtuxWHVw0Q04YJs4xQCUgFX1lrKQGU\nseZuqNBv+nVU0dj7axg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3188,12 +3575,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f64300601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18",
         "wx" : "0c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f643",
         "wy" : "601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c861b3d5977dafd321c42eab1913a2f1a734e9fb1a218f33c02a941dafa41e7f5fa5b4d73f52c74c35e6262b1c4a1545c5cddfa912fe442ee7a16aaae0c5c3f64300601db981ab9593c9405723caa86d862c575b5c54a487467c2340e495f26dbb1587570d10d38609b38c500948055f596b290194b1e66ea8d06ffa7554d1d8fb6b18",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAyGGz1Zd9r9MhxC6rGROi8ac06fsa\nIY8zwCqUHa+kHn9fpbTXP1LHTDXmJiscShVFxc3fqRL+RC7noWqq4MXD9kMAYB25\ngauVk8lAVyPKqG2GLFdbXFSkh0Z8I0DklfJtuxWHVw0Q04YJs4xQCUgFX1lrKQGU\nseZuqNBv+nVU0dj7axg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 159,
+          "tcId" : 169,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01a2eb25c2d3f9db15f320a4dd42e236f98a5d8c6774c12f982e2bce6c5e16cb53dbc52da6e091201170c7b11463700865120b560f106e1448c57f957a3bec28db90",
@@ -3203,10 +3595,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b53023800754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAHwLaNjgp7gi0zJNGTi17FvLCYu95\nd6S01A8ThLQL3mgIEohg5VOfuR6SMQSAJJmavOGPH77qiYNIdUmkBDtTAjgAdUoF\nmo6hG8pMHyxTb7vZEMUDhqzVVMJ0eAkN+pKZnyfibpxfDFUfewKqFSPb9WBj97tw\nBNZJBMGuw1vHOu/i6Ag=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3218,12 +3606,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04001f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b53023800754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808",
         "wx" : "1f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b530238",
         "wy" : "754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004001f02da363829ee08b4cc93464e2d7b16f2c262ef7977a4b4d40f1384b40bde6808128860e5539fb91e9231048024999abce18f1fbeea8983487549a4043b53023800754a059a8ea11bca4c1f2c536fbbd910c50386acd554c27478090dfa92999f27e26e9c5f0c551f7b02aa1523dbf56063f7bb7004d64904c1aec35bc73aefe2e808",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAHwLaNjgp7gi0zJNGTi17FvLCYu95\nd6S01A8ThLQL3mgIEohg5VOfuR6SMQSAJJmavOGPH77qiYNIdUmkBDtTAjgAdUoF\nmo6hG8pMHyxTb7vZEMUDhqzVVMJ0eAkN+pKZnyfibpxfDFUfewKqFSPb9WBj97tw\nBNZJBMGuw1vHOu/i6Ag=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 160,
+          "tcId" : 170,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00a521a445fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fddfff25612d4c640b972f4400e5bf597b342cc4a0e5e4d50ca579ce8a0ae09c0913",
@@ -3233,10 +3626,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c01186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALs4pYu9HEfSbFpesf60HWRZ3Z6EE\nt2rYd0nIOuKBi/ZqudlQn3P7FT6ri1RgfcynPTw4CXWvo+45NzK0Slk0mSwBGGrY\nC/EjujW9WyGz2V4sZyrTtIXweGIIWM+yTxv2Hq2Q+xonI+xQHCt6l83R/D6WTobS\nPAMKKrkNpvOXHaT2jJk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3248,12 +3637,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04002ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c01186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99",
         "wx" : "2ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c",
         "wy" : "1186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002ece2962ef4711f49b1697ac7fad0759167767a104b76ad87749c83ae2818bf66ab9d9509f73fb153eab8b54607dcca73d3c380975afa3ee393732b44a5934992c01186ad80bf123ba35bd5b21b3d95e2c672ad3b485f078620858cfb24f1bf61ead90fb1a2723ec501c2b7a97cdd1fc3e964e86d23c030a2ab90da6f3971da4f68c99",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALs4pYu9HEfSbFpesf60HWRZ3Z6EE\nt2rYd0nIOuKBi/ZqudlQn3P7FT6ri1RgfcynPTw4CXWvo+45NzK0Slk0mSwBGGrY\nC/EjujW9WyGz2V4sZyrTtIXweGIIWM+yTxv2Hq2Q+xonI+xQHCt6l83R/D6WTobS\nPAMKKrkNpvOXHaT2jJk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 161,
+          "tcId" : 171,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001a445fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43a6e18df0b42a423dcc5bba72d6eaa3482d00750f395c72f7b528c14e6494fd8f",
@@ -3263,10 +3657,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034008d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBq5gfUHqsbAipr415Y8DMldmkF2ow\nvTbZuLlmaXkS9WkIeSzPFcbKQYFRqi6EHBd4P4QU+k1cIi5JwAetyrEKoDQAjRoW\niKg5kxCEyu3jN1gghlaDcpIgmod/vBwS61b/mFCNI0g9bjam1H4PIhfSWM3cxvLv\n/iQ8CjNmTgq6DkbaM7k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3278,12 +3668,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034008d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9",
         "wx" : "1ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034",
         "wy" : "08d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ab981f507aac6c08a9af8d7963c0cc95d9a4176a30bd36d9b8b966697912f56908792ccf15c6ca418151aa2e841c17783f8414fa4d5c222e49c007adcab10aa034008d1a1688a839931084caede33758208656837292209a877fbc1c12eb56ff98508d23483d6e36a6d47e0f2217d258cddcc6f2effe243c0a33664e0aba0e46da33b9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBq5gfUHqsbAipr415Y8DMldmkF2ow\nvTbZuLlmaXkS9WkIeSzPFcbKQYFRqi6EHBd4P4QU+k1cIi5JwAetyrEKoDQAjRoW\niKg5kxCEyu3jN1gghlaDcpIgmod/vBwS61b/mFCNI0g9bjam1H4PIhfSWM3cxvLv\n/iQ8CjNmTgq6DkbaM7k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 162,
+          "tcId" : 172,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc003488bfd003ba3fe7222c398614731d4bc5d6e0518119ceef697ca468dd3fbc3a874dc31be16854847b98b774e5add546905a00ea1e72b8e5ef6a51829cc929fb1e",
@@ -3293,10 +3688,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4017f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA/vrPQlZhyNOiGD/EzhG5p5eYuSNn\nHkLGk8EL7gbYp7Rh76SjJXPKx6AWTyuj6fSDZritBkFw++eYZksVOJ2OjaQBf0sp\nyxrgn2QKar63ioRndCK++4BBY0E4at7k2ucCx+Fq6D0CRTHhtjsBrLLEbkwOJd5W\nkVvUyQ7xE+h3kQj64mc=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3308,12 +3699,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4017f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267",
         "wx" : "0fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4",
         "wy" : "17f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400fefacf425661c8d3a2183fc4ce11b9a79798b923671e42c693c10bee06d8a7b461efa4a32573cac7a0164f2ba3e9f48366b8ad064170fbe798664b15389d8e8da4017f4b29cb1ae09f640a6abeb78a84677422befb80416341386adee4dae702c7e16ae83d024531e1b63b01acb2c46e4c0e25de56915bd4c90ef113e8779108fae267",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA/vrPQlZhyNOiGD/EzhG5p5eYuSNn\nHkLGk8EL7gbYp7Rh76SjJXPKx6AWTyuj6fSDZritBkFw++eYZksVOJ2OjaQBf0sp\nyxrgn2QKar63ioRndCK++4BBY0E4at7k2ucCx+Fq6D0CRTHhtjsBrLLEbkwOJd5W\nkVvUyQ7xE+h3kQj64mc=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 163,
+          "tcId" : 173,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01fe801dd1ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17f9b003304fb6269c9f550768537b35f96443556a62b5ec77958bd8e4204d6354ce",
@@ -3323,10 +3719,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e7501e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBulY/JD2FkCM75ZdF3I4xHoe2qeMr\n3b30Dw3IehG90dddWNMSw23I4nIiNpDaG2oFjV2rVvL8bylxIaWrKIwmnnUB4DTS\n5d25Dv1Ik+SGlLTPXIXovcr7vK5RiA2X4i0U2Dj4Fi7bDgJvW6iLFQ4/LB/EntJC\nl5O3bpLxr6nwGAUQXNg=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3338,12 +3730,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e7501e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8",
         "wx" : "1ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e75",
         "wy" : "1e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401ba563f243d8590233be59745dc8e311e87b6a9e32bddbdf40f0dc87a11bdd1d75d58d312c36dc8e272223690da1b6a058d5dab56f2fc6f297121a5ab288c269e7501e034d2e5ddb90efd4893e48694b4cf5c85e8bdcafbbcae51880d97e22d14d838f8162edb0e026f5ba88b150e3f2c1fc49ed2429793b76e92f1afa9f01805105cd8",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBulY/JD2FkCM75ZdF3I4xHoe2qeMr\n3b30Dw3IehG90dddWNMSw23I4nIiNpDaG2oFjV2rVvL8bylxIaWrKIwmnnUB4DTS\n5d25Dv1Ik+SGlLTPXIXovcr7vK5RiA2X4i0U2Dj4Fi7bDgJvW6iLFQ4/LB/EntJC\nl5O3bpLxr6nwGAUQXNg=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 164,
+          "tcId" : 174,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc014128151a7d33a465767e87681050667ae528af3c43cfc59e3c3c1c8037d941b12bed6b79efcbcacf25ad46226c5c2b2bbfa1360e23c331db67cede47d9b0aa3fd2",
@@ -3353,10 +3750,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5015a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAJDTMonw5ZdMMGsN2BP7NVvDUrHAc\nHXpMxzV3ShCRNlzBp8teLWbYmTFVH9zgTA3vFQPi7Ct4IMGZrpkONjUjhuUBWjvX\n22L5tflvUPFM8LMVqqE0K/Q1JcnNLrBNK4PsIUBP5R9nUR0e5yln54NrgxboIoR3\n+JM+Rd9Vt1/rpDGZU8Y=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3368,12 +3761,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04002434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5015a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6",
         "wx" : "2434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5",
         "wy" : "15a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002434cca27c3965d30c1ac37604fecd56f0d4ac701c1d7a4cc735774a1091365cc1a7cb5e2d66d89931551fdce04c0def1503e2ec2b7820c199ae990e36352386e5015a3bd7db62f9b5f96f50f14cf0b315aaa1342bf43525c9cd2eb04d2b83ec21404fe51f67511d1ee72967e7836b8316e8228477f8933e45df55b75feba4319953c6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAJDTMonw5ZdMMGsN2BP7NVvDUrHAc\nHXpMxzV3ShCRNlzBp8teLWbYmTFVH9zgTA3vFQPi7Ct4IMGZrpkONjUjhuUBWjvX\n22L5tflvUPFM8LMVqqE0K/Q1JcnNLrBNK4PsIUBP5R9nUR0e5yln54NrgxboIoR3\n+JM+Rd9Vt1/rpDGZU8Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 165,
+          "tcId" : 175,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc019bcf27559ab324f2a0ebc95d059edeccd613604232da95c84d41d4d990ae7bb2d12b8d297d99fb86b64572d6fce2a34e4fa5e168f6894d4a1a828e2c6dbbdf31a2",
@@ -3383,10 +3781,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e20089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAPuq3JBtJgl+Ns5BDwwep27tibMww\naTHGqI1CRSV64AV2LVSUS4qXlQ/TvgLuW8u1oQBosjDBvSEAMHMDO1tAcuIAibIT\nSvr/HX4Z/CPUQRBgjvvG4rgSChamO9/y4GX8yULnlsbb3/FPwXmraU7oZeg6KOcO\ni6Y1ZcL6LzGsPnG9xGo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3398,12 +3792,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04003eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e20089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a",
         "wx" : "3eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e2",
         "wy" : "089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004003eeab7241b49825f8db39043c307a9dbbb626ccc306931c6a88d4245257ae005762d54944b8a97950fd3be02ee5bcbb5a10068b230c1bd21003073033b5b4072e20089b2134afaff1d7e19fc23d44110608efbc6e2b8120a16a63bdff2e065fcc942e796c6dbdff14fc179ab694ee865e83a28e70e8ba63565c2fa2f31ac3e71bdc46a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAPuq3JBtJgl+Ns5BDwwep27tibMww\naTHGqI1CRSV64AV2LVSUS4qXlQ/TvgLuW8u1oQBosjDBvSEAMHMDO1tAcuIAibIT\nSvr/HX4Z/CPUQRBgjvvG4rgSChamO9/y4GX8yULnlsbb3/FPwXmraU7oZeg6KOcO\ni6Y1ZcL6LzGsPnG9xGo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 166,
+          "tcId" : 176,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00b6cd381945713041c7990356370a00a10888ce905df2c792226a96cadb61df94bc4277c04afbcdabf376f02d2a6addf4052ad7673b1ae1e1ec49af389066810792",
@@ -3413,10 +3812,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a170100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBf7g475pryIdu8hiKXw02+3ZkJnPs\nIi8j9Jz92GDFBTTTR3YJw6EWXpPfr8wQNNbPdils0C9W4z9Q76ICzdfdChcBANJ1\nvLg2nDTPMEbRmP+vTM67AxOarY5EATEPdj54tK0N2H+m4EOL9DCywQ8l+IGdxUa2\nsGYT6vBoxZzssruRaEo=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3428,12 +3823,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04017fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a170100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a",
         "wx" : "17fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a17",
         "wy" : "100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017fb838ef9a6bc8876ef2188a5f0d36fb76642673ec222f23f49cfdd860c50534d3477609c3a1165e93dfafcc1034d6cf76296cd02f56e33f50efa202cdd7dd0a170100d275bcb8369c34cf3046d198ffaf4ccebb03139aad8e4401310f763e78b4ad0dd87fa6e0438bf430b2c10f25f8819dc546b6b06613eaf068c59cecb2bb91684a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBf7g475pryIdu8hiKXw02+3ZkJnPs\nIi8j9Jz92GDFBTTTR3YJw6EWXpPfr8wQNNbPdils0C9W4z9Q76ICzdfdChcBANJ1\nvLg2nDTPMEbRmP+vTM67AxOarY5EATEPdj54tK0N2H+m4EOL9DCywQ8l+IGdxUa2\nsGYT6vBoxZzssruRaEo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 167,
+          "tcId" : 177,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00ffded83af75d70997c6507c92b1756cd13e9e1fb85e126ffa5a35fd95539b45b0e7fea93830bd009beeaec68f551ad5771500f584c66304c97c2c8f19c141a45a7",
@@ -3443,10 +3843,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a00d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPSpVGMRbYC97Pu4uJhqZeqeKWoMc\nROOtoW/bDPGzKSae+xUs/o5OCAd7Z8wnq0rkKZW3qZce/lJIF1y118pj94oA0rZ2\nyj1B+O2LtlMJ3m7FN5lBpfdKbXDdyuH3NlznH97wPjcqoxQIqKUcw0ysVParc2bZ\nh1i3+T/JduD+UfOHG4I=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3458,12 +3854,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04013d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a00d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82",
         "wx" : "13d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a",
         "wy" : "0d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013d2a5518c45b602f7b3eee2e261a997aa78a5a831c44e3ada16fdb0cf1b329269efb152cfe8e4e08077b67cc27ab4ae42995b7a9971efe5248175cb5d7ca63f78a00d2b676ca3d41f8ed8bb65309de6ec5379941a5f74a6d70ddcae1f7365ce71fdef03e372aa31408a8a51cc34cac54f6ab7366d98758b7f93fc976e0fe51f3871b82",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPSpVGMRbYC97Pu4uJhqZeqeKWoMc\nROOtoW/bDPGzKSae+xUs/o5OCAd7Z8wnq0rkKZW3qZce/lJIF1y118pj94oA0rZ2\nyj1B+O2LtlMJ3m7FN5lBpfdKbXDdyuH3NlznH97wPjcqoxQIqKUcw0ysVParc2bZ\nh1i3+T/JduD+UfOHG4I=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 168,
+          "tcId" : 178,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01ffbdb075eebae132f8ca0f92562ead9a27d3c3f70bc24dff4b46bfb2aa7368b61cffd5270617a0137dd5d8d1eaa35aaee2a01eb098cc60992f8591e33828348b4e",
@@ -3473,10 +3874,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae005ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQArE6a0frYBUouEyA/zEiTM5Vb+3di\nrtRbYedRgm+KEwtTB8Hy8FIAHcOflx8ZXWqcalq10CWXgiqJKuK+ZxQ78q4AXOD9\nguNQuF8tei7b1ZWh6JChQ+6aF/FK7TGVDVF9RX6V7hYPgYt+eua3ITVQRRa0u9vI\nVxj0QqPcmiHuTaDzJ7Y=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3488,12 +3885,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae005ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6",
         "wx" : "0ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae",
         "wy" : "5ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ac4e9ad1fad8054a2e13203fcc489333955bfb7762aed45b61e751826f8a130b5307c1f2f052001dc39f971f195d6a9c6a5ab5d02597822a892ae2be67143bf2ae005ce0fd82e350b85f2d7a2edbd595a1e890a143ee9a17f14aed31950d517d457e95ee160f818b7e7ae6b72135504516b4bbdbc85718f442a3dc9a21ee4da0f327b6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQArE6a0frYBUouEyA/zEiTM5Vb+3di\nrtRbYedRgm+KEwtTB8Hy8FIAHcOflx8ZXWqcalq10CWXgiqJKuK+ZxQ78q4AXOD9\nguNQuF8tei7b1ZWh6JChQ+6aF/FK7TGVDVF9RX6V7hYPgYt+eua3ITVQRRa0u9vI\nVxj0QqPcmiHuTaDzJ7Y=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 169,
+          "tcId" : 179,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00ff9c88b0e61851cc752f175b814604673bbda5f291a374fef0ea1f8bffad1d11312e393305644086d140f93996fdfe6083b4783f2ca8f49e188ceb1db5ab166cec",
@@ -3503,10 +3905,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1016e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAnRrvwBFgh3Td5rFXTPeXNWkbzNDV\nNJeVVbkj5IA/SW4JbZWvfb+AJZVTEs8xgPKxJOFAS6i9Riz4x1C9FX27GPEBbjc2\nViXig8ZEdna+wphBCja5yMZLpaG2kXkXndi48+jmWcysDN8cQvF001gKAILBMaiG\nXlCtmvkIjrLWPwtHaK4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3518,12 +3916,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04009d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1016e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae",
         "wx" : "09d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1",
         "wy" : "16e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009d1aefc011608774dde6b1574cf79735691bccd0d534979555b923e4803f496e096d95af7dbf8025955312cf3180f2b124e1404ba8bd462cf8c750bd157dbb18f1016e37365625e283c6447676bec298410a36b9c8c64ba5a1b69179179dd8b8f3e8e659ccac0cdf1c42f174d3580a0082c131a8865e50ad9af9088eb2d63f0b4768ae",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAnRrvwBFgh3Td5rFXTPeXNWkbzNDV\nNJeVVbkj5IA/SW4JbZWvfb+AJZVTEs8xgPKxJOFAS6i9Riz4x1C9FX27GPEBbjc2\nViXig8ZEdna+wphBCja5yMZLpaG2kXkXndi48+jmWcysDN8cQvF001gKAILBMaiG\nXlCtmvkIjrLWPwtHaK4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 170,
+          "tcId" : 180,
           "comment" : "edge case for u1",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00d17592e169fced8af990526ea1711b7cc52ec633ba6097cc1715e7362f0b65a9ede296d370489008b863d88a31b804328905ab0788370a2462bfcabd1df6146dc8",
@@ -3533,10 +3936,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004010f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705012d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBD1gk0R0QD5wd6h9ED//mrvFDqPya\nrJ5k4U97r/OmKlrp9t1A3TaLZSOaqAIxhp4qp6ok8FjRemw1kka99eyF1wUBLQfC\nUf7Lz1AWqOqePEa8UxhLupYdSuidq/qhruM03PlIJM8ab4QOmouhzr+7mIGsyOgG\nKE0FgbfIWY8+fkZt6gk=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3548,12 +3947,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04010f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705012d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09",
         "wx" : "10f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705",
         "wy" : "12d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004010f5824d11d100f9c1dea1f440fffe6aef143a8fc9aac9e64e14f7baff3a62a5ae9f6dd40dd368b65239aa80231869e2aa7aa24f058d17a6c359246bdf5ec85d705012d07c251fecbcf5016a8ea9e3c46bc53184bba961d4ae89dabfaa1aee334dcf94824cf1a6f840e9a8ba1cebfbb9881acc8e806284d0581b7c8598f3e7e466dea09",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBD1gk0R0QD5wd6h9ED//mrvFDqPya\nrJ5k4U97r/OmKlrp9t1A3TaLZSOaqAIxhp4qp6ok8FjRemw1kka99eyF1wUBLQfC\nUf7Lz1AWqOqePEa8UxhLupYdSuidq/qhruM03PlIJM8ab4QOmouhzr+7mIGsyOgG\nKE0FgbfIWY8+fkZt6gk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 171,
+          "tcId" : 181,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc005555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555554",
@@ -3563,10 +3967,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b29400f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBtVf2/CHxbmqOUbKQSyT7jHXI/uSx\nsP+XX81UxJGg5SdYo4gwONvPIfGeV5FGPC2VK7SwtkKPCuc2m0HR2XZhspQA91yF\nk/ns9UomzIx7QY+fvKQpaIW5NnCTmUL13PbLSgPCNE0EEd8eWlSGUlNMS328zpQB\naXJSJn6HRdBxOI7sgy4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3578,12 +3978,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b29400f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e",
         "wx" : "1b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b294",
         "wy" : "0f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401b557f6fc21f16e6a8e51b2904b24fb8c75c8fee4b1b0ff975fcd54c491a0e52758a3883038dbcf21f19e5791463c2d952bb4b0b6428f0ae7369b41d1d97661b29400f75c8593f9ecf54a26cc8c7b418f9fbca4296885b93670939942f5dcf6cb4a03c2344d0411df1e5a548652534c4b7dbcce9401697252267e8745d071388eec832e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBtVf2/CHxbmqOUbKQSyT7jHXI/uSx\nsP+XX81UxJGg5SdYo4gwONvPIfGeV5FGPC2VK7SwtkKPCuc2m0HR2XZhspQA91yF\nk/ns9UomzIx7QY+fvKQpaIW5NnCTmUL13PbLSgPCNE0EEd8eWlSGUlNMS328zpQB\naXJSJn6HRdBxOI7sgy4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 172,
+          "tcId" : 182,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc009f57708fa97eba94c6d4782cdd4e33bb95c1353bde095232e3e2bab277bb5d2b48f55a53ffe928d034c29970a9e5f384a003907d3d9b82a86817cc61fb17f4c59e",
@@ -3593,10 +3998,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f00a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAzgIrVDoYH90xMM41kmF4p/Dvlxxf\n6EiwLcG/aMiDspqjU2mr0ZntYo6oNzqWYKHAhUFKLGbeASjAj4OG7+ygDT8Aopxw\nS6rqAhSrlETpLUfbWcRIxlWUtwnFvUMHiXyY0LzLSp81HFHSJz7yu4TWh8MF52Nr\nVf0+OFS0s0ynunEnaso=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3608,12 +4009,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f00a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca",
         "wx" : "0ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f",
         "wy" : "0a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400ce022b543a181fdd3130ce35926178a7f0ef971c5fe848b02dc1bf68c883b29aa35369abd199ed628ea8373a9660a1c085414a2c66de0128c08f8386efeca00d3f00a29c704baaea0214ab9444e92d47db59c448c65594b709c5bd4307897c98d0bccb4a9f351c51d2273ef2bb84d687c305e7636b55fd3e3854b4b34ca7ba71276aca",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAzgIrVDoYH90xMM41kmF4p/Dvlxxf\n6EiwLcG/aMiDspqjU2mr0ZntYo6oNzqWYKHAhUFKLGbeASjAj4OG7+ygDT8Aopxw\nS6rqAhSrlETpLUfbWcRIxlWUtwnFvUMHiXyY0LzLSp81HFHSJz7yu4TWh8MF52Nr\nVf0+OFS0s0ynunEnaso=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 173,
+          "tcId" : 183,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0068d98fa90736eff3e90f8fcfe50838b6fa0bf2cde77bc51e3f41019c8006f4e9cbaeadce7dbb44462da6425be9cfdaecb234c41749ce695be1b5ead2e6b1205f35",
@@ -3623,10 +4029,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a01537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQA0ZT1HYAhjAKW6Xi5t6XrsNNz0h\n6e1/S+iuJepbb861gNxFEIJlJf4TjRpOIMwpPFMNukuFw9KbuHSGfDaEaWoBU3uj\nwywfH5stnoD4j/zcSqUkboFFuHw31HMEQjTYrSjGq9Whhu0Kthxuct3vd7CZ9R7c\nWOvrQzrtBkUDyklMTHM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3638,12 +4040,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a01537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73",
         "wx" : "400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a",
         "wy" : "1537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400400d194f51d80218c0296e978b9b7a5ebb0d373d21e9ed7f4be8ae25ea5b6fceb580dc4510826525fe138d1a4e20cc293c530dba4b85c3d29bb874867c3684696a01537ba3c32c1f1f9b2d9e80f88ffcdc4aa5246e8145b87c37d473044234d8ad28c6abd5a186ed0ab61c6e72ddef77b099f51edc58ebeb433aed064503ca494c4c73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQA0ZT1HYAhjAKW6Xi5t6XrsNNz0h\n6e1/S+iuJepbb861gNxFEIJlJf4TjRpOIMwpPFMNukuFw9KbuHSGfDaEaWoBU3uj\nwywfH5stnoD4j/zcSqUkboFFuHw31HMEQjTYrSjGq9Whhu0Kthxuct3vd7CZ9R7c\nWOvrQzrtBkUDyklMTHM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 174,
+          "tcId" : 184,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc00e97ae66bcd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffd68bc9726f02dbf8598a98b3e5077eff6f2491eb678ed040fb338c084a9ea8a4c",
@@ -3653,10 +4060,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040078266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a0198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAeCZvV53KE+oUM4wyoNaBLf2Ycgoq\nHqK/pEuis/4VxjBjyMx5PJbulgz1N+NK0Mr6RiGSz2KFy4xI2Tmb9VLU/GoBmL7e\nYSaJ0iiYQeSQW+dm26igewCk1KlvmhBxYKmybrMv2nmWNOAH7lDjT2slVg1+7Rco\n1LXtxFN99PUIkQrO9zY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3668,12 +4071,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040078266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a0198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736",
         "wx" : "78266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a",
         "wy" : "198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040078266f579dca13ea14338c32a0d6812dfd98720a2a1ea2bfa44ba2b3fe15c63063c8cc793c96ee960cf537e34ad0cafa462192cf6285cb8c48d9399bf552d4fc6a0198bede612689d2289841e4905be766dba8a07b00a4d4a96f9a107160a9b26eb32fda799634e007ee50e34f6b25560d7eed1728d4b5edc4537df4f508910acef736",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAeCZvV53KE+oUM4wyoNaBLf2Ycgoq\nHqK/pEuis/4VxjBjyMx5PJbulgz1N+NK0Mr6RiGSz2KFy4xI2Tmb9VLU/GoBmL7e\nYSaJ0iiYQeSQW+dm26igewCk1KlvmhBxYKmybrMv2nmWNOAH7lDjT2slVg1+7Rco\n1LXtxFN99PUIkQrO9zY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 175,
+          "tcId" : 185,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01ae66bcd4cae36ffffffffffffffffffffffffffffffffffffffffffffffffffffb3954212f8bea578d93e685e5dba329811b2542bb398233e2944bceb19263325d",
@@ -3683,10 +4091,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c301282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXFhcD63smjT8wIBBVPFMtWaLmX8u\nCW2gl0sj6ZAuNJmVYDeheKUhCDNQfh4QjuXNmU9lnj6Mqt6dKVjtSPZpkcMBKCwZ\naaaOGQxhHsAyI1LvAcdQ3IdGSqAQJLLBDJ1Lakop+Z6nQNuNr6tl7XVCNgFlTWj0\n32QugKTnnKEt+w7kJAQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3698,12 +4102,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04005c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c301282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404",
         "wx" : "5c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c3",
         "wy" : "1282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004005c585c0fadec9a34fcc0804154f14cb5668b997f2e096da0974b23e9902e3499956037a178a5210833507e1e108ee5cd994f659e3e8caade9d2958ed48f66991c301282c1969a68e190c611ec0322352ef01c750dc87464aa01024b2c10c9d4b6a4a29f99ea740db8dafab65ed75423601654d68f4df642e80a4e79ca12dfb0ee42404",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAXFhcD63smjT8wIBBVPFMtWaLmX8u\nCW2gl0sj6ZAuNJmVYDeheKUhCDNQfh4QjuXNmU9lnj6Mqt6dKVjtSPZpkcMBKCwZ\naaaOGQxhHsAyI1LvAcdQ3IdGSqAQJLLBDJ1Lakop+Z6nQNuNr6tl7XVCNgFlTWj0\n32QugKTnnKEt+w7kJAQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 176,
+          "tcId" : 186,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc015ccd79a995c6dffffffffffffffffffffffffffffffffffffffffffffffffffffc2121badb58a518afa8010a82c03cad31fa94bbbde96820166d27e644938e00b1",
@@ -3713,10 +4122,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a00403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAkZ0Mv/cEPeLrAk5eznpZ3hSxvYsI\nQolYdDAFbjUOSRNr+JJ1eziXNed1s1LXdDdv4p5i5AFSU1AuTMwpnyV1dmoAQDzf\npJ/kZHeU1nn9KInDpsKmUeuwTk/uhGi9TCQNi6ciCX6uvVJHtL68boc7JwEcSdH4\noTHqD3pWeowqfBcyieI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3728,12 +4133,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a00403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2",
         "wx" : "0919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a",
         "wy" : "403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400919d0cbff7043de2eb024e5ece7a59de14b1bd8b084289587430056e350e49136bf892757b389735e775b352d774376fe29e62e4015253502e4ccc299f2575766a00403cdfa49fe4647794d679fd2889c3a6c2a651ebb04e4fee8468bd4c240d8ba722097eaebd5247b4bebc6e873b27011c49d1f8a131ea0f7a567a8c2a7c173289e2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAkZ0Mv/cEPeLrAk5eznpZ3hSxvYsI\nQolYdDAFbjUOSRNr+JJ1eziXNed1s1LXdDdv4p5i5AFSU1AuTMwpnyV1dmoAQDzf\npJ/kZHeU1nn9KInDpsKmUeuwTk/uhGi9TCQNi6ciCX6uvVJHtL68boc7JwEcSdH4\noTHqD3pWeowqfBcyieI=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 177,
+          "tcId" : 187,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01cd4cae36fffffffffffffffffffffffffffffffffffffffffffffffffffffffffae18dcc11dff7526233d923a0b202cb29e713f22de8bb6ab0a12821c5abbe3f23",
@@ -3743,10 +4153,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a99750010829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPIm2juIWXOWD4pprRjA+UeSbZYO5\nf6SPyX9IyorQ3dTd0J36389wlfDKGJY0MoQcTv+RX2E40O9ZHorkvp9KmXUAEIKc\nKWtJ6D6iIBi9HUvjDMM7/OIFqrpUUuEEn3i+3gsAOuLCe6/AzX96wRIQiSiL/jfi\nIeGPWk/dfXOzwOWuatE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3758,12 +4164,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04013c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a99750010829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1",
         "wx" : "13c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a9975",
         "wy" : "10829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004013c89b68ee2165ce583e29a6b46303e51e49b6583b97fa48fc97f48ca8ad0ddd4ddd09dfadfcf7095f0ca18963432841c4eff915f6138d0ef591e8ae4be9f4a99750010829c296b49e83ea22018bd1d4be30cc33bfce205aaba5452e1049f78bede0b003ae2c27bafc0cd7f7ac1121089288bfe37e221e18f5a4fdd7d73b3c0e5ae6ad1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBPIm2juIWXOWD4pprRjA+UeSbZYO5\nf6SPyX9IyorQ3dTd0J36389wlfDKGJY0MoQcTv+RX2E40O9ZHorkvp9KmXUAEIKc\nKWtJ6D6iIBi9HUvjDMM7/OIFqrpUUuEEn3i+3gsAOuLCe6/AzX96wRIQiSiL/jfi\nIeGPWk/dfXOzwOWuatE=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 178,
+          "tcId" : 188,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0022e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9c4c3f73cc816143fac3412b62de4c63db08f8c57e4c58c31f1b457ca5e57e20a",
@@ -3773,10 +4184,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f7901f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Ryg/3kHl6g8O+HIJCWvkXIICHqm\nc17r00mED9n7w7pZYu4R+AQzOMGz81BBcfqo6ERIgLalxVrmZnxSygftP3kB80eG\nwtxxcErDRjQQCo6RKnxAY3gg6XzTLVc51wNLx/aHS5DulMzgdmKjsnWyP6IK5/yD\ncNBbru/gKGFovTQX0T8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3788,12 +4195,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f7901f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f",
         "wx" : "1d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f79",
         "wy" : "1f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401d91ca0ff790797a83c3be1c82425af917208087aa6735eebd349840fd9fbc3ba5962ee11f8043338c1b3f3504171faa8e8444880b6a5c55ae6667c52ca07ed3f7901f34786c2dc71704ac34634100a8e912a7c40637820e97cd32d5739d7034bc7f6874b90ee94cce07662a3b275b23fa20ae7fc8370d05baeefe0286168bd3417d13f",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB2Ryg/3kHl6g8O+HIJCWvkXIICHqm\nc17r00mED9n7w7pZYu4R+AQzOMGz81BBcfqo6ERIgLalxVrmZnxSygftP3kB80eG\nwtxxcErDRjQQCo6RKnxAY3gg6XzTLVc51wNLx/aHS5DulMzgdmKjsnWyP6IK5/yD\ncNBbru/gKGFovTQX0T8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 179,
+          "tcId" : 189,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc010590b21642c8590b21642c8590b21642c8590b21642c8590b21642c8590b2164298eb57e5aff9343597a542d3132f9e734fdc305125e0ec139c5f780ee8e8cb9c2",
@@ -3803,10 +4215,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040040af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c7901c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQK8vTdweUnKyrtNYt3dvKPDcmW93\nL5UfJdEvn4sPPeDRwdKbY7dKlQ20dHAaNMjdgDtZTpV71qPrfpOL5FEfTHkBwBtC\nyXPVX7iZbkDuaOES5YqJLqsDLFzdbbOfssEWkuizzr273Aj7PZWip2BwBQifRSze\nuYIbWhGEAfzQKcmtJIQ=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3818,12 +4226,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040040af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c7901c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484",
         "wx" : "40af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c79",
         "wy" : "1c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040040af2f4ddc1e5272b2aed358b7776f28f0dc996f772f951f25d12f9f8b0f3de0d1c1d29b63b74a950db474701a34c8dd803b594e957bd6a3eb7e938be4511f4c7901c01b42c973d55fb8996e40ee68e112e58a892eab032c5cdd6db39fb2c11692e8b3cebdbbdc08fb3d95a2a7607005089f452cdeb9821b5a118401fcd029c9ad2484",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAQK8vTdweUnKyrtNYt3dvKPDcmW93\nL5UfJdEvn4sPPeDRwdKbY7dKlQ20dHAaNMjdgDtZTpV71qPrfpOL5FEfTHkBwBtC\nyXPVX7iZbkDuaOES5YqJLqsDLFzdbbOfssEWkuizzr273Aj7PZWip2BwBQifRSze\nuYIbWhGEAfzQKcmtJIQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 180,
+          "tcId" : 190,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01a4924924924924924924924924924924924924924924924924924924924924924445e10670ed0437c9db4125ac4175fbd70e9bd1799a85f44ca0a8e61a3354e808",
@@ -3833,10 +4246,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040069e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c0177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAaeC0gduZ+JTweA+EcZ3hauxZnHZe\nulC4YVR3Bzwywmqx5OeuXR+VJROtMjIlIDtPDGWiSoNozTIsI+kgSdEhdHwBd5Ae\nN55eck9BZIf+5wd+auqB5SUMqjz/u30bInCqdUtP2uUeRDBQwzx7hCHHs8U4xJpn\nSjTiJ4x+oJ2QDPWFHc8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3848,12 +4257,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040069e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c0177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf",
         "wx" : "69e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c",
         "wy" : "177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040069e0b481db99f894f0780f84719de16aec599c765eba50b8615477073c32c26ab1e4e7ae5d1f952513ad323225203b4f0c65a24a8368cd322c23e92049d121747c0177901e379e5e724f416487fee7077e6aea81e5250caa3cffbb7d1b2270aa754b4fdae51e443050c33c7b8421c7b3c538c49a674a34e2278c7ea09d900cf5851dcf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAaeC0gduZ+JTweA+EcZ3hauxZnHZe\nulC4YVR3Bzwywmqx5OeuXR+VJROtMjIlIDtPDGWiSoNozTIsI+kgSdEhdHwBd5Ae\nN55eck9BZIf+5wd+auqB5SUMqjz/u30bInCqdUtP2uUeRDBQwzx7hCHHs8U4xJpn\nSjTiJ4x+oJ2QDPWFHc8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 181,
+          "tcId" : 191,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01d5555555555555555555555555555555555555555555555555555555555555554fa6dbdcd91484ebc0d521569e4c5efb25910b1f0ddef19d0410c50c73e68db95f",
@@ -3863,10 +4277,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67001c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAqcLFfxoukcTuaz0DwJI7WNDsQJ34\njk8wZbqBSL/Pf3HOsvGh6Z3IMAhLFpk0VOfhjaI8Gh53GZSR21QYrii3bGcAHJfu\ncgSTtCf9M6E8jofoQuyW5pA8yXyw9pNASYv9xvVDyoBE7KUR6ufw3VYqrBPyw/NW\n0hbEK3PdrUdW0DL2l5A=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3878,12 +4288,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67001c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790",
         "wx" : "0a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67",
         "wy" : "1c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a9c2c57f1a2e91c4ee6b3d03c0923b58d0ec409df88e4f3065ba8148bfcf7f71ceb2f1a1e99dc830084b16993454e7e18da23c1a1e77199491db5418ae28b76c67001c97ee720493b427fd33a13c8e87e842ec96e6903cc97cb0f69340498bfdc6f543ca8044eca511eae7f0dd562aac13f2c3f356d216c42b73ddad4756d032f69790",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAqcLFfxoukcTuaz0DwJI7WNDsQJ34\njk8wZbqBSL/Pf3HOsvGh6Z3IMAhLFpk0VOfhjaI8Gh53GZSR21QYrii3bGcAHJfu\ncgSTtCf9M6E8jofoQuyW5pA8yXyw9pNASYv9xvVDyoBE7KUR6ufw3VYqrBPyw/NW\n0hbEK3PdrUdW0DL2l5A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 182,
+          "tcId" : 192,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa4fc31322e69da41162a76abf3a1b4507ae66074633446f259661a61c93be30eb5",
@@ -3893,10 +4308,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a301aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB35pupag1foKeYLunEdEfhqLdKMXv\n2/lo6WRt+7DSf6i/TYHUYlXBmN9KJ+bKMVaQsepoeVKXw2Uim9aVmylktKMBqrRa\nIR6QErK8aavAWIoN6OLFkzTNOKPCId76t4n5z7Rgh5SoxRFQp4PllWoKn5ovVHze\ngtG11s9RxWZgS1C8940=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3908,12 +4319,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a301aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d",
         "wx" : "1df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a3",
         "wy" : "1aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df9a6ea5a8357e829e60bba711d11f86a2dd28c5efdbf968e9646dfbb0d27fa8bf4d81d46255c198df4a27e6ca315690b1ea68795297c365229bd6959b2964b4a301aab45a211e9012b2bc69abc0588a0de8e2c59334cd38a3c221defab789f9cfb4608794a8c51150a783e5956a0a9f9a2f547cde82d1b5d6cf51c566604b50bcf78d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB35pupag1foKeYLunEdEfhqLdKMXv\n2/lo6WRt+7DSf6i/TYHUYlXBmN9KJ+bKMVaQsepoeVKXw2Uim9aVmylktKMBqrRa\nIR6QErK8aavAWIoN6OLFkzTNOKPCId76t4n5z7Rgh5SoxRFQp4PllWoKn5ovVHze\ngtG11s9RxWZgS1C8940=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 183,
+          "tcId" : 193,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e9138640b",
@@ -3923,10 +4339,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf00134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB3zDvJuFgFToUaKXd0GsCzLFk3+Os\njH8V9o1PGQfvi+nK3GvnBaIpRCNAZwvRGG7YJtObpMIxGx33lAAaKTwCfN8AE08w\n5ENVBBAqVMNE7YAAnOG5xQksQLoy34BTk2qM2KlBrlKEUF/RrgxTAghsk6WCgw0k\nu2Rict2d0vIVBCWi1+U=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3938,12 +4350,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf00134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5",
         "wx" : "1df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf",
         "wy" : "134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401df30ef26e160153a1468a5ddd06b02ccb164dfe3ac8c7f15f68d4f1907ef8be9cadc6be705a229442340670bd1186ed826d39ba4c2311b1df794001a293c027cdf00134f30e4435504102a54c344ed80009ce1b9c5092c40ba32df8053936a8cd8a941ae5284505fd1ae0c5302086c93a582830d24bb646272dd9dd2f2150425a2d7e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB3zDvJuFgFToUaKXd0GsCzLFk3+Os\njH8V9o1PGQfvi+nK3GvnBaIpRCNAZwvRGG7YJtObpMIxGx33lAAaKTwCfN8AE08w\n5ENVBBAqVMNE7YAAnOG5xQksQLoy34BTk2qM2KlBrlKEUF/RrgxTAghsk6WCgw0k\nu2Rict2d0vIVBCWi1+U=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 184,
+          "tcId" : 194,
           "comment" : "edge case for u2",
           "msg" : "54657374",
           "sig" : "00fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc01346cc7d4839b77f9f487c7e7f2841c5b7d05f966f3bde28f1fa080ce40037a74e3001a2b00bd39ee4c93072e9963724941383cf0812c02d1c838ad4502a12c619f",
@@ -3953,10 +4370,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e01690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4BaQ13\nCAa96fTSdgKTq6YHYGbxdi6ESPDQhyTvMR/3WW816LapNG3mW+qSS50wu5cuOziH\ngXL5BAN4oNtHKZ6XmFY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -3968,12 +4381,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e01690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856",
         "wx" : "1400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e",
         "wy" : "1690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e01690d770806bde9f4d2760293aba6076066f1762e8448f0d08724ef311ff7596f35e8b6a9346de65bea924b9d30bb972e3b38878172f9040378a0db47299e979856",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4BaQ13\nCAa96fTSdgKTq6YHYGbxdi6ESPDQhyTvMR/3WW816LapNG3mW+qSS50wu5cuOziH\ngXL5BAN4oNtHKZ6XmFY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 185,
+          "tcId" : 195,
           "comment" : "point duplication during verification",
           "msg" : "54657374",
           "sig" : "0090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf00a24fbd602ff7012b6b00e9aa1683b45bfa2d62dc768737e8da92cad52f069efbea526acc68096fc0ef9960c6b989bf8922aea38fd463d02c0e7c25e336f32b0874",
@@ -3985,10 +4403,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e0096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4AlvKI\n9/lCFgstif1sVFn4n5kOidF7tw8veNsQzuAIppDKF0lWy5IZpBVttGLPRGjRxMd4\nfo0G+/yHXyS41mFoZ6k=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4000,12 +4414,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e0096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9",
         "wx" : "1400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e",
         "wy" : "096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401400fa3bc87482ec1ba75346a129ec8f79456e7d6343b2a6be22490884b8f8b89114c0e5f9558d7627adeae53ff8ce37baf94b99d04f75098ca8e3e77c6be02bc3e0096f288f7f942160b2d89fd6c5459f89f990e89d17bb70f2f78db10cee008a690ca174956cb9219a4156db462cf4468d1c4c7787e8d06fbfc875f24b8d6616867a9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBQA+jvIdILsG6dTRqEp7I95RW59Y0\nOypr4iSQiEuPi4kRTA5flVjXYnrerlP/jON7r5S5nQT3UJjKjj53xr4CvD4AlvKI\n9/lCFgstif1sVFn4n5kOidF7tw8veNsQzuAIppDKF0lWy5IZpBVttGLPRGjRxMd4\nfo0G+/yHXyS41mFoZ6k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 186,
+          "tcId" : 196,
           "comment" : "duplication bug",
           "msg" : "54657374",
           "sig" : "0090c8d0d718cb9d8d81094e6d068fb13c16b4df8c77bac676dddfe3e68855bed06b9ba8d0f8a80edce03a9fac7da561e24b1cd22d459239a146695a671f81f73aaf00a24fbd602ff7012b6b00e9aa1683b45bfa2d62dc768737e8da92cad52f069efbea526acc68096fc0ef9960c6b989bf8922aea38fd463d02c0e7c25e336f32b0874",
@@ -4017,10 +4436,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0008e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAmntS4d/wGAWBQ87xXHAqeglOgbPm\nZbUph6Swd9AMfRzDmL2+Fn0qPB7Z2v8g92iss/2WLAax/BZZOikXNAgPQMAAjkS0\nRKP2aAP/OEbyJtz3JOw85pLmesmR4GKuSg5VWhrRhJBdMjHD8FiuQMJmVHsHanyE\nINan6UqjADQq7u0cX30=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4032,12 +4447,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04009a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0008e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d",
         "wx" : "09a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0",
         "wy" : "08e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004009a7b52e1dff018058143cef15c702a7a094e81b3e665b52987a4b077d00c7d1cc398bdbe167d2a3c1ed9daff20f768acb3fd962c06b1fc16593a291734080f40c0008e44b444a3f66803ff3846f226dcf724ec3ce692e67ac991e062ae4a0e555a1ad184905d3231c3f058ae40c266547b076a7c8420d6a7e94aa300342aeeed1c5f7d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAmntS4d/wGAWBQ87xXHAqeglOgbPm\nZbUph6Swd9AMfRzDmL2+Fn0qPB7Z2v8g92iss/2WLAax/BZZOikXNAgPQMAAjkS0\nRKP2aAP/OEbyJtz3JOw85pLmesmR4GKuSg5VWhrRhJBdMjHD8FiuQMJmVHsHanyE\nINan6UqjADQq7u0cX30=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 187,
+          "tcId" : 197,
           "comment" : "point with x-coordinate 0",
           "msg" : "54657374",
           "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
@@ -4047,10 +4467,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd01efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA4m/wIAtzFFCtF7tv7xpuOHo+xBzU\n2AgjSmQnLoGcIgJmvnnFra43glRknsjMoF7JKBW4ues87FhpOqar0LoZGr0B78U2\n/3APNhHTWOGCkUcNhFRztXULdSXNNwlDL/L6h3Q6+SiUp6ZGqC/STT9uDMR6tnPW\nhjDXcL0NcksNYN5rUfY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4062,12 +4478,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd01efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6",
         "wx" : "0e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd",
         "wy" : "1efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400e26ff0200b731450ad17bb6fef1a6e387a3ec41cd4d808234a64272e819c220266be79c5adae378254649ec8cca05ec92815b8b9eb3cec58693aa6abd0ba191abd01efc536ff700f3611d358e18291470d845473b5750b7525cd3709432ff2fa87743af92894a7a646a82fd24d3f6e0cc47ab673d68630d770bd0d724b0d60de6b51f6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA4m/wIAtzFFCtF7tv7xpuOHo+xBzU\n2AgjSmQnLoGcIgJmvnnFra43glRknsjMoF7JKBW4ues87FhpOqar0LoZGr0B78U2\n/3APNhHTWOGCkUcNhFRztXULdSXNNwlDL/L6h3Q6+SiUp6ZGqC/STT9uDMR6tnPW\nhjDXcL0NcksNYN5rUfY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 188,
+          "tcId" : 198,
           "comment" : "point with x-coordinate 0",
           "msg" : "54657374",
           "sig" : "0200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401",
@@ -4077,10 +4498,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87002bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBd9QTC7D/VZfzpR9aAPkCE8HYWFOJ\ngp3tYxgJwYCmZWNkSDFCrtrTFIb/J6Kqq7DtMIiWlD3fllkOFmVFC6NMnocAK7pg\nmtiktMiU0wOzhyxPY5OeGa6R0hsag8wiYHAPjg7BmKbzjaYqbqVyHhNkpafwL2D1\n6N5TqXzhHIZm1YjLzbM=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4092,12 +4509,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87002bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3",
         "wx" : "177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87",
         "wy" : "2bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040177d4130bb0ff5597f3a51f5a00f90213c1d8585389829ded631809c180a6656364483142aedad31486ff27a2aaabb0ed308896943ddf96590e1665450ba34c9e87002bba609ad8a4b4c894d303b3872c4f63939e19ae91d21b1a83cc2260700f8e0ec198a6f38da62a6ea5721e1364a5a7f02f60f5e8de53a97ce11c8666d588cbcdb3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBd9QTC7D/VZfzpR9aAPkCE8HYWFOJ\ngp3tYxgJwYCmZWNkSDFCrtrTFIb/J6Kqq7DtMIiWlD3fllkOFmVFC6NMnocAK7pg\nmtiktMiU0wOzhyxPY5OeGa6R0hsag8wiYHAPjg7BmKbzjaYqbqVyHhNkpafwL2D1\n6N5TqXzhHIZm1YjLzbM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 189,
+          "tcId" : 199,
           "comment" : "comparison with point at infinity ",
           "msg" : "54657374",
           "sig" : "00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad0066666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81401",
@@ -4107,10 +4529,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040058d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1018728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAWNMbnzujTzhPJHj9YNVM+mk7vFRy\nECgcAAlYnAJEuhlY8rqRrfdqKWx3Vm6OquwTK1y9VVsT7ewMDwrgYejJobEBhyiw\n3QLRMfxoBbdRaMmCo/25P+hcorUw0dg5y1NMDrwCGuNyOSajACc3tLeWwSaI12iD\nTQXiUWgYQ4o4wCO1L88=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4122,13 +4540,18 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040058d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1018728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf",
         "wx" : "58d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1",
         "wy" : "18728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040058d31b9f3ba34f384f2478fd60d54cfa693bbc547210281c0009589c0244ba1958f2ba91adf76a296c77566e8eaaec132b5cbd555b13edec0c0f0ae061e8c9a1b1018728b0dd02d131fc6805b75168c982a3fdb93fe85ca2b530d1d839cb534c0ebc021ae3723926a3002737b4b796c12688d768834d05e2516818438a38c023b52fcf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAWNMbnzujTzhPJHj9YNVM+mk7vFRy\nECgcAAlYnAJEuhlY8rqRrfdqKWx3Vm6OquwTK1y9VVsT7ewMDwrgYejJobEBhyiw\n3QLRMfxoBbdRaMmCo/25P+hcorUw0dg5y1NMDrwCGuNyOSajACc3tLeWwSaI12iD\nTQXiUWgYQ4o4wCO1L88=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 190,
-          "comment" : "extreme value for k",
+          "tcId" : 200,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "00433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d00aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
           "result" : "valid",
@@ -4137,10 +4560,161 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b60077400359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAz23xyvAvkJi+UC4YepJPvozBDwQi\n3Wa/2fkVbPItgw8IS42zpO5Yj7EIuheBA6GqRapof+mzAXN5G27+3ktgB3QANZuW\n5yT+hpq7lfRUmvQOE8Zk0aAJrQIFtFTxpJVYGncOXIKqmEvSpc0tNZrfSHw5LkQQ\nSP5gwmlv+pWMgH3gl8k=\n-----END PUBLIC KEY-----",
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AFH5gZOAdV-rWPSWqB-EZVVLz5B1VOkRWANmIVKW06bYG6Is7Jhq4zAQ1kFr8ds7Zjf2TSQLb0tcfqIp-H4PzWmf",
+        "y" : "AYEkhydeZyw2RxJ4P-SopTcp4_yQE4r-W4acUGjLXUVU4afx2Kyd14-8qayrTqeRMR1m4B4EggG0DZ84PQoLBo2q"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040051f9819380755fab58f496a81f8465554bcf907554e911580366215296d3a6d81ba22cec986ae33010d6416bf1db3b6637f64d240b6f4b5c7ea229f87e0fcd699f01812487275e672c364712783fe4a8a53729e3fc90138afe5b869c5068cb5d4554e1a7f1d8ac9dd78fbca9acab4ea791311d66e01e048201b40d9f383d0a0b068daa",
+        "wx" : "51f9819380755fab58f496a81f8465554bcf907554e911580366215296d3a6d81ba22cec986ae33010d6416bf1db3b6637f64d240b6f4b5c7ea229f87e0fcd699f",
+        "wy" : "1812487275e672c364712783fe4a8a53729e3fc90138afe5b869c5068cb5d4554e1a7f1d8ac9dd78fbca9acab4ea791311d66e01e048201b40d9f383d0a0b068daa"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040051f9819380755fab58f496a81f8465554bcf907554e911580366215296d3a6d81ba22cec986ae33010d6416bf1db3b6637f64d240b6f4b5c7ea229f87e0fcd699f01812487275e672c364712783fe4a8a53729e3fc90138afe5b869c5068cb5d4554e1a7f1d8ac9dd78fbca9acab4ea791311d66e01e048201b40d9f383d0a0b068daa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAUfmBk4B1X6tY9JaoH4RlVUvPkHVU\n6RFYA2YhUpbTptgboizsmGrjMBDWQWvx2ztmN/ZNJAtvS1x+oin4fg/NaZ8BgSSH\nJ15nLDZHEng/5KilNynj/JATiv5bhpxQaMtdRVThp/HYrJ3Xj7yprKtOp5ExHWbg\nHgSCAbQNnzg9CgsGjao=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 201,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "00433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d00492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AfylttpLll8siLFPelhEzm-CdtL10Dc52yZsT12F_Js3Gb5FOsgATwJ_cUzwesGyfHsqHvknBdKle73r9SFkdhW2",
+        "y" : "AajavNu_NRClCSRNzZrycqvFYLMNh06SrVLFK6ZLGTJbJQ4V5-tbBKGQ62WODPZj8CZcBb9KuOuWCnCExRQlDeeQ"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401fca5b6da4b965f2c88b14f7a5844ce6f8276d2f5d03739db266c4f5d85fc9b3719be453ac8004f027f714cf07ac1b27c7b2a1ef92705d2a57bbdebf521647615b601a8dabcdbbf3510a509244dcd9af272abc560b30d874e92ad52c52ba64b19325b250e15e7eb5b04a190eb658e0cf663f0265c05bf4ab8eb960a7084c514250de790",
+        "wx" : "1fca5b6da4b965f2c88b14f7a5844ce6f8276d2f5d03739db266c4f5d85fc9b3719be453ac8004f027f714cf07ac1b27c7b2a1ef92705d2a57bbdebf521647615b6",
+        "wy" : "1a8dabcdbbf3510a509244dcd9af272abc560b30d874e92ad52c52ba64b19325b250e15e7eb5b04a190eb658e0cf663f0265c05bf4ab8eb960a7084c514250de790"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fca5b6da4b965f2c88b14f7a5844ce6f8276d2f5d03739db266c4f5d85fc9b3719be453ac8004f027f714cf07ac1b27c7b2a1ef92705d2a57bbdebf521647615b601a8dabcdbbf3510a509244dcd9af272abc560b30d874e92ad52c52ba64b19325b250e15e7eb5b04a190eb658e0cf663f0265c05bf4ab8eb960a7084c514250de790",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/KW22kuWXyyIsU96WETOb4J20vXQ\nNznbJmxPXYX8mzcZvkU6yABPAn9xTPB6wbJ8eyoe+ScF0qV7vev1IWR2FbYBqNq8\n2781EKUJJE3NmvJyq8Vgsw2HTpKtUsUrpksZMlslDhXn61sEoZDrZY4M9mPwJlwF\nv0q465YKcITFFCUN55A=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 202,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "00433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AEyGQ-VGpxuTGFylg65QmMHmwLDTP8LWGIcPlDixxZXbyJIAhFZfAHTa-sp4usJVjKYjwlH21TAyjCc0oEE4Id_l",
+        "y" : "AB2KwKclG4IEb5zyzmeeEncPhoGkPw4n5VNoD8UjQpWsJCEqJchX4VI1Bnbk5SyjBEGBtnEQzgEp-gvcFaTVpw6O"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04004c8643e546a71b93185ca583ae5098c1e6c0b0d33fc2d618870f9438b1c595dbc8920084565f0074dafaca78bac2558ca623c251f6d530328c2734a0413821dfe5001d8ac0a7251b82046f9cf2ce679e12770f8681a43f0e27e553680fc5234295ac24212a25c857e152350676e4e52ca3044181b67110ce0129fa0bdc15a4d5a70e8e",
+        "wx" : "4c8643e546a71b93185ca583ae5098c1e6c0b0d33fc2d618870f9438b1c595dbc8920084565f0074dafaca78bac2558ca623c251f6d530328c2734a0413821dfe5",
+        "wy" : "1d8ac0a7251b82046f9cf2ce679e12770f8681a43f0e27e553680fc5234295ac24212a25c857e152350676e4e52ca3044181b67110ce0129fa0bdc15a4d5a70e8e"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004004c8643e546a71b93185ca583ae5098c1e6c0b0d33fc2d618870f9438b1c595dbc8920084565f0074dafaca78bac2558ca623c251f6d530328c2734a0413821dfe5001d8ac0a7251b82046f9cf2ce679e12770f8681a43f0e27e553680fc5234295ac24212a25c857e152350676e4e52ca3044181b67110ce0129fa0bdc15a4d5a70e8e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQATIZD5UanG5MYXKWDrlCYwebAsNM/\nwtYYhw+UOLHFldvIkgCEVl8AdNr6yni6wlWMpiPCUfbVMDKMJzSgQTgh3+UAHYrA\npyUbggRvnPLOZ54Sdw+GgaQ/DiflU2gPxSNClawkISolyFfhUjUGduTlLKMEQYG2\ncRDOASn6C9wVpNWnDo4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 203,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "00433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d0066666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AKZZfHaVYEb80DxETppOE7n7dRrJH7T8ul_TOv9h8zBfp7gx5SJ6XARw5eH95KJeU5_CN3O7Oiz0Hu4PxnjQUHBa",
+        "y" : "Afb1rko7mURzZ5B09u5lecUAXm_YYM1N0p4H1EdYI69r6K9dQUu6R7QuYBuXZg0QpmLje1GA6OabM8X315jaGL5J"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400a6597c76956046fcd03c444e9a4e13b9fb751ac91fb4fcba5fd33aff61f3305fa7b831e5227a5c0470e5e1fde4a25e539fc23773bb3a2cf41eee0fc678d050705a01f6f5ae4a3b994473679074f6ee6579c5005e6fd860cd4dd29e07d4475823af6be8af5d414bba47b42e601b97660d10a662e37b5180e8e69b33c5f7d798da18be49",
+        "wx" : "0a6597c76956046fcd03c444e9a4e13b9fb751ac91fb4fcba5fd33aff61f3305fa7b831e5227a5c0470e5e1fde4a25e539fc23773bb3a2cf41eee0fc678d050705a",
+        "wy" : "1f6f5ae4a3b994473679074f6ee6579c5005e6fd860cd4dd29e07d4475823af6be8af5d414bba47b42e601b97660d10a662e37b5180e8e69b33c5f7d798da18be49"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400a6597c76956046fcd03c444e9a4e13b9fb751ac91fb4fcba5fd33aff61f3305fa7b831e5227a5c0470e5e1fde4a25e539fc23773bb3a2cf41eee0fc678d050705a01f6f5ae4a3b994473679074f6ee6579c5005e6fd860cd4dd29e07d4475823af6be8af5d414bba47b42e601b97660d10a662e37b5180e8e69b33c5f7d798da18be49",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQApll8dpVgRvzQPEROmk4Tuft1Gskf\ntPy6X9M6/2HzMF+nuDHlInpcBHDl4f3kol5Tn8I3c7s6LPQe7g/GeNBQcFoB9vWu\nSjuZRHNnkHT27mV5xQBeb9hgzU3SngfUR1gjr2vor11BS7pHtC5gG5dmDRCmYuN7\nUYDo5pszxffXmNoYvkk=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 204,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "00433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d01b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AacvoEaxFXVnuZE6imEQf7TdDhKytAbvIZt2f5MTDznVSZh0XFHRr_UbaNeNNEGNYSi_k8zb4V9kdoJOCzEb0met",
+        "y" : "APPk1xlhBVpMF2P8Hu-ggA-ErHx7vE_Y7Xc7ebcKmeAdGmwAll7h_2ZlCTqkI_nTBHkq96T0FBw6Kl2QBSSVSpXU"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401a72fa046b1157567b9913a8a61107fb4dd0e12b2b406ef219b767f93130f39d54998745c51d1aff51b68d78d34418d6128bf93ccdbe15f6476824e0b311bd267ad00f3e4d71961055a4c1763fc1eefa0800f84ac7c7bbc4fd8ed773b79b70a99e01d1a6c00965ee1ff6665093aa423f9d304792af7a4f4141c3a2a5d900524954a95d4",
+        "wx" : "1a72fa046b1157567b9913a8a61107fb4dd0e12b2b406ef219b767f93130f39d54998745c51d1aff51b68d78d34418d6128bf93ccdbe15f6476824e0b311bd267ad",
+        "wy" : "0f3e4d71961055a4c1763fc1eefa0800f84ac7c7bbc4fd8ed773b79b70a99e01d1a6c00965ee1ff6665093aa423f9d304792af7a4f4141c3a2a5d900524954a95d4"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401a72fa046b1157567b9913a8a61107fb4dd0e12b2b406ef219b767f93130f39d54998745c51d1aff51b68d78d34418d6128bf93ccdbe15f6476824e0b311bd267ad00f3e4d71961055a4c1763fc1eefa0800f84ac7c7bbc4fd8ed773b79b70a99e01d1a6c00965ee1ff6665093aa423f9d304792af7a4f4141c3a2a5d900524954a95d4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBpy+gRrEVdWe5kTqKYRB/tN0OErK0\nBu8hm3Z/kxMPOdVJmHRcUdGv9Rto1400QY1hKL+TzNvhX2R2gk4LMRvSZ60A8+TX\nGWEFWkwXY/we76CAD4SsfHu8T9jtdzt5twqZ4B0abACWXuH/ZmUJOqQj+dMEeSr3\npPQUHDoqXZAFJJVKldQ=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 205,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "00433c219024277e7e682fcb288148c282747403279b1ccc06352c6e5505d769be97b3b204da6ef55507aa104a3a35c5af41cf2fa364d60fd967f43e3933ba6d783d000eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4152,13 +4726,18 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b60077400359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9",
         "wx" : "0cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b600774",
         "wy" : "359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400cf6df1caf02f9098be502e187a924fbe8cc10f0422dd66bfd9f9156cf22d830f084b8db3a4ee588fb108ba178103a1aa45aa687fe9b30173791b6efede4b60077400359b96e724fe869abb95f4549af40e13c664d1a009ad0205b454f1a495581a770e5c82aa984bd2a5cd2d359adf487c392e441048fe60c2696ffa958c807de097c9",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAz23xyvAvkJi+UC4YepJPvozBDwQi\n3Wa/2fkVbPItgw8IS42zpO5Yj7EIuheBA6GqRapof+mzAXN5G27+3ktgB3QANZuW\n5yT+hpq7lfRUmvQOE8Zk0aAJrQIFtFTxpJVYGncOXIKqmEvSpc0tNZrfSHw5LkQQ\nSP5gwmlv+pWMgH3gl8k=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 191,
-          "comment" : "extreme value for k",
+          "tcId" : 206,
+          "comment" : "extreme value for k and edgecase s",
           "msg" : "54657374",
           "sig" : "00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa8c5d782813fba87792a9955c2fd033745693c9892d8896d3a3e7a925f85bd76ad",
           "result" : "valid",
@@ -4167,10 +4746,161 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYBGDkp\naniaO8AEXIpftCx9G9mY9URJV5tEaBevvRcnPmYsl+5ymV70JkDFULkBP60HYTU8\ncIaicsJAiL6Udp/RZlA=\n-----END PUBLIC KEY-----",
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AG-DnE8j7wQLOpmR1HycTe9v2w7Pb8O4KV0HcpvrN1BctOmxDWiXLwO2711mlgPBUV4mzfOn_100zU9w561LlKJ7",
+        "y" : "AFTfl3hduCFtml4hEYvGzKlZfYnGbbHfkMnIMDpJABq4VP0508GPLrNzaggnp1EBGHDB22oAE72_YXXC-_4n2R_l"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04006f839c4f23ef040b3a9991d47c9c4def6fdb0ecf6fc3b8295d07729beb37505cb4e9b10d68972f03b6ef5d669603c1515e26cdf3a7ff5d34cd4f70e7ad4b94a27b0054df97785db8216d9a5e21118bc6cca9597d89c66db1df90c9c8303a49001ab854fd39d3c18f2eb3736a0827a751011870c1db6a0013bdbf6175c2fbfe27d91fe5",
+        "wx" : "6f839c4f23ef040b3a9991d47c9c4def6fdb0ecf6fc3b8295d07729beb37505cb4e9b10d68972f03b6ef5d669603c1515e26cdf3a7ff5d34cd4f70e7ad4b94a27b",
+        "wy" : "54df97785db8216d9a5e21118bc6cca9597d89c66db1df90c9c8303a49001ab854fd39d3c18f2eb3736a0827a751011870c1db6a0013bdbf6175c2fbfe27d91fe5"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004006f839c4f23ef040b3a9991d47c9c4def6fdb0ecf6fc3b8295d07729beb37505cb4e9b10d68972f03b6ef5d669603c1515e26cdf3a7ff5d34cd4f70e7ad4b94a27b0054df97785db8216d9a5e21118bc6cca9597d89c66db1df90c9c8303a49001ab854fd39d3c18f2eb3736a0827a751011870c1db6a0013bdbf6175c2fbfe27d91fe5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAb4OcTyPvBAs6mZHUfJxN72/bDs9v\nw7gpXQdym+s3UFy06bENaJcvA7bvXWaWA8FRXibN86f/XTTNT3DnrUuUonsAVN+X\neF24IW2aXiERi8bMqVl9icZtsd+QycgwOkkAGrhU/TnTwY8us3NqCCenUQEYcMHb\nagATvb9hdcL7/ifZH+U=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-512",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 207,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AVAkbdQnyszmbm3leozA3-JJlp8_z07WTeNBM565AzHbHwVHUpLOnCmRbaZc6rbmfvLc4TseF7jRot5__BUE8_2d",
+        "y" : "AZKH8JGG0qfv1sS8VpBCncMaF93qU9SqZipYqhH-tAgB3Jx1DBh9Q1H1mQzdFnGrkJe6rAUSuMo39Vf-y_WQ-v1q"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040150246dd427cacce66e6de57a8cc0dfe249969f3fcf4ed64de341339eb90331db1f05475292ce9c29916da65ceab6e67ef2dce13b1e17b8d1a2de7ffc1504f3fd9d019287f09186d2a7efd6c4bc5690429dc31a17ddea53d4aa662a58aa11feb40801dc9c750c187d4351f5990cdd1671ab9097baac0512b8ca37f557fecbf590fafd6a",
+        "wx" : "150246dd427cacce66e6de57a8cc0dfe249969f3fcf4ed64de341339eb90331db1f05475292ce9c29916da65ceab6e67ef2dce13b1e17b8d1a2de7ffc1504f3fd9d",
+        "wy" : "19287f09186d2a7efd6c4bc5690429dc31a17ddea53d4aa662a58aa11feb40801dc9c750c187d4351f5990cdd1671ab9097baac0512b8ca37f557fecbf590fafd6a"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040150246dd427cacce66e6de57a8cc0dfe249969f3fcf4ed64de341339eb90331db1f05475292ce9c29916da65ceab6e67ef2dce13b1e17b8d1a2de7ffc1504f3fd9d019287f09186d2a7efd6c4bc5690429dc31a17ddea53d4aa662a58aa11feb40801dc9c750c187d4351f5990cdd1671ab9097baac0512b8ca37f557fecbf590fafd6a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBUCRt1CfKzOZubeV6jMDf4kmWnz/P\nTtZN40EznrkDMdsfBUdSks6cKZFtplzqtuZ+8tzhOx4XuNGi3n/8FQTz/Z0Bkofw\nkYbSp+/WxLxWkEKdwxoX3epT1KpmKliqEf60CAHcnHUMGH1DUfWZDN0WcauQl7qs\nBRK4yjf1V/7L9ZD6/Wo=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 208,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66019999999999999999999999999999999999999999999999999999999999999999950e053936328c7855ffd6676d926e1e402fc4a1606e169fbefc595f4ba7605007",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "ANQrJxRFJB5OUTbPjltwbtRAMjTMpUghc3Fp6aYN7FR0Xx3Ad8XtnWDC9XLF5XSfT0QxlSVhwqMNmsMS-8Pl3J3K",
+        "y" : "AXm3pjtns0Wqhl2xTZFHs2CUoSFkJj5YjiCZatgUsvH_2WgXIDBbOwP2uUjbA6fYmvLv99veoMQRlA7YDM5tmzTG"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0400d42b271445241e4e5136cf8e5b706ed4403234cca54821737169e9a60dec54745f1dc077c5ed9d60c2f572c5e5749f4f4431952561c2a30d9ac312fbc3e5dc9dca0179b7a63b67b345aa865db14d9147b36094a12164263e588e20996ad814b2f1ffd9681720305b3b03f6b948db03a7d89af2eff7dbdea0c411940ed80cce6d9b34c6",
+        "wx" : "0d42b271445241e4e5136cf8e5b706ed4403234cca54821737169e9a60dec54745f1dc077c5ed9d60c2f572c5e5749f4f4431952561c2a30d9ac312fbc3e5dc9dca",
+        "wy" : "179b7a63b67b345aa865db14d9147b36094a12164263e588e20996ad814b2f1ffd9681720305b3b03f6b948db03a7d89af2eff7dbdea0c411940ed80cce6d9b34c6"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400d42b271445241e4e5136cf8e5b706ed4403234cca54821737169e9a60dec54745f1dc077c5ed9d60c2f572c5e5749f4f4431952561c2a30d9ac312fbc3e5dc9dca0179b7a63b67b345aa865db14d9147b36094a12164263e588e20996ad814b2f1ffd9681720305b3b03f6b948db03a7d89af2eff7dbdea0c411940ed80cce6d9b34c6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQA1CsnFEUkHk5RNs+OW3Bu1EAyNMyl\nSCFzcWnppg3sVHRfHcB3xe2dYML1csXldJ9PRDGVJWHCow2awxL7w+XcncoBebem\nO2ezRaqGXbFNkUezYJShIWQmPliOIJlq2BSy8f/ZaBcgMFs7A/a5SNsDp9ia8u/3\n296gxBGUDtgMzm2bNMY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 209,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd660066666666666666666666666666666666666666666666666666666666666666666543814e4d8ca31e157ff599db649b87900bf128581b85a7efbf1657d2e9d81402",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AHB4DqPC5zskAPRPSKOTtskBnPp4iqXj0nLsvsncDbyzUYfZV14fXxW68i9QLjypKHxSJPWH-68diJShwzvW0Sqm",
+        "y" : "AA4LzXGEhO2fTaTXepf2taQv-CwPJdMkGrCyod4kGb7gRUXqFZ2OVk7Du5EmfOxJK_ub_Kuo_aTogFH8r8mKP1M2"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "040070780ea3c2e73b2400f44f48a393b6c9019cfa788aa5e3d272ecbec9dc0dbcb35187d9575e1f5f15baf22f502e3ca9287c5224f587fbaf1d8894a1c33bd6d12aa6000e0bcd718484ed9f4da4d77a97f6b5a42ff82c0f25d3241ab0b2a1de2419bee04545ea159d8e564ec3bb91267cec492bfb9bfcaba8fda4e88051fcafc98a3f5336",
+        "wx" : "70780ea3c2e73b2400f44f48a393b6c9019cfa788aa5e3d272ecbec9dc0dbcb35187d9575e1f5f15baf22f502e3ca9287c5224f587fbaf1d8894a1c33bd6d12aa6",
+        "wy" : "0e0bcd718484ed9f4da4d77a97f6b5a42ff82c0f25d3241ab0b2a1de2419bee04545ea159d8e564ec3bb91267cec492bfb9bfcaba8fda4e88051fcafc98a3f5336"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040070780ea3c2e73b2400f44f48a393b6c9019cfa788aa5e3d272ecbec9dc0dbcb35187d9575e1f5f15baf22f502e3ca9287c5224f587fbaf1d8894a1c33bd6d12aa6000e0bcd718484ed9f4da4d77a97f6b5a42ff82c0f25d3241ab0b2a1de2419bee04545ea159d8e564ec3bb91267cec492bfb9bfcaba8fda4e88051fcafc98a3f5336",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAcHgOo8LnOyQA9E9Io5O2yQGc+niK\npePScuy+ydwNvLNRh9lXXh9fFbryL1AuPKkofFIk9Yf7rx2IlKHDO9bRKqYADgvN\ncYSE7Z9NpNd6l/a1pC/4LA8l0yQasLKh3iQZvuBFReoVnY5WTsO7kSZ87Ekr+5v8\nq6j9pOiAUfyvyYo/UzY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 210,
+          "comment" : "extreme value for k and s^-1",
+          "msg" : "54657374",
+          "sig" : "00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6601b6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db6db68d82a2b033628ca12ffd36ed0d3bf206957c063c2bf183d7132f20aac7c797a51",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AfmI6SeR8U3b_zXqsd3dNvMWe1FOlccN_m5hanegBkch-K74cdTEglJOVkf_ICBPpNr66qgN07fZkAflkq5bWJkW",
+        "y" : "ADqSmbpd-1mRyU6ID_bGFJWM7uVeLOWyLAv7DrQ3WbSEjOAHSC50Ia71yNoAC6IkrLTbv3NJjXNwXAa2fyZ-WooQ"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "0401f988e92791f14ddbff35eab1dddd36f3167b514e95c70dfe6e616a77a0064721f8aef871d4c482524e5647ff20204fa4dafaeaa80dd3b7d99007e592ae5b589916003a9299ba5dfb5991c94e880ff6c614958ceee55e2ce5b22c0bfb0eb43759b4848ce007482e7421aef5c8da000ba224acb4dbbf73498d73705c06b67f267e5a8a10",
+        "wx" : "1f988e92791f14ddbff35eab1dddd36f3167b514e95c70dfe6e616a77a0064721f8aef871d4c482524e5647ff20204fa4dafaeaa80dd3b7d99007e592ae5b589916",
+        "wy" : "3a9299ba5dfb5991c94e880ff6c614958ceee55e2ce5b22c0bfb0eb43759b4848ce007482e7421aef5c8da000ba224acb4dbbf73498d73705c06b67f267e5a8a10"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401f988e92791f14ddbff35eab1dddd36f3167b514e95c70dfe6e616a77a0064721f8aef871d4c482524e5647ff20204fa4dafaeaa80dd3b7d99007e592ae5b589916003a9299ba5dfb5991c94e880ff6c614958ceee55e2ce5b22c0bfb0eb43759b4848ce007482e7421aef5c8da000ba224acb4dbbf73498d73705c06b67f267e5a8a10",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB+YjpJ5HxTdv/Neqx3d028xZ7UU6V\nxw3+bmFqd6AGRyH4rvhx1MSCUk5WR/8gIE+k2vrqqA3Tt9mQB+WSrltYmRYAOpKZ\nul37WZHJTogP9sYUlYzu5V4s5bIsC/sOtDdZtISM4AdILnQhrvXI2gALoiSstNu/\nc0mNc3BcBrZ/Jn5aihA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 211,
+          "comment" : "extreme value for k",
+          "msg" : "54657374",
+          "sig" : "00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66000eb10e5ab95f2f26a40700b1300fb8c3c8d5384ffbecf1fdb9e11e67cb7fd6a7f503e6e25ac09bb88b6c3983df764d4d72bc2920e233f0f7974a234a21b00bb447",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4182,12 +4912,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
         "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
         "wy" : "11839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYBGDkp\naniaO8AEXIpftCx9G9mY9URJV5tEaBevvRcnPmYsl+5ymV70JkDFULkBP60HYTU8\ncIaicsJAiL6Udp/RZlA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 192,
+          "tcId" : 212,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "0000c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a3100492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -4195,7 +4930,7 @@
           "flags" : []
         },
         {
-          "tcId" : 193,
+          "tcId" : 213,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "01ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d800492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -4205,10 +4940,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYA58bW\nlYdlxD/7o3WgS9OC5CZnCru2qGS7l+hQQujYwZnTaBGNZqEL2b86r0b+wFL4nsrD\nj3ldjT2/d0FriWAuma8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4220,12 +4951,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af",
         "wx" : "0c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66",
         "wy" : "0e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd6600e7c6d6958765c43ffba375a04bd382e426670abbb6a864bb97e85042e8d8c199d368118d66a10bd9bf3aaf46fec052f89ecac38f795d8d3dbf77416b89602e99af",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAxoWOBrcEBOnNnj7LZiOVtEKcZIE5\nBT+1Ifgor2BrTT26oUted+/nWSj+HcEnov+o3jNIs8GFakKb+X5+McLlvWYA58bW\nlYdlxD/7o3WgS9OC5CZnCru2qGS7l+hQQujYwZnTaBGNZqEL2b86r0b+wFL4nsrD\nj3ldjT2/d0FriWAuma8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 194,
+          "tcId" : 214,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "0000c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a3100492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -4233,7 +4969,7 @@
           "flags" : []
         },
         {
-          "tcId" : 195,
+          "tcId" : 215,
           "comment" : "testing point duplication",
           "msg" : "54657374",
           "sig" : "01ff391161cc30a398ea5e2eb7028c08ce777b4be52346e9fde1d43f17ff5a3a22625c72660ac8810da281f2732dfbfcc10768f07e5951e93c3119d63b6b562cd9d800492492492492492492492492492492492492492492492492492492492492492491795c5c808906cc587ff89278234a8566e3f565f5ca840a3d887dac7214bee9b8",
@@ -4243,10 +4979,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -4258,12 +4990,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
         "wx" : "4aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad5",
         "wy" : "087d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000404aaec73635726f213fb8a9e64da3b8632e41495a944d0045b522eba7240fad587d9315798aaa3a5ba01775787ced05eaaf7b4e09fc81d6d1aa546e8365d525d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEBKrsc2NXJvIT+4qeZNo7hjLkFJWp\nRNAEW1IuunJA+tWH2TFXmKqjpboBd1eHztBeqve04J/IHW0apUboNl1SXQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 196,
+          "tcId" : 216,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "a8ea150cb80125d7381c4c1f1da8e9de2711f9917060406a73d7904519e51388f3ab9fa68bd47973a73b2d40480c2ba50c22c9d76ec217257288293285449b86",
@@ -4271,7 +5008,7 @@
           "flags" : []
         },
         {
-          "tcId" : 197,
+          "tcId" : 217,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "6d5091f9497241fb2a99137f56734d70797c1620fa58f292f3ddc1c21980768a7d4681372addeec97da13d3834429a49cf94c68cc6d8380fcc1fb897caeaa4d7",
@@ -4279,7 +5016,7 @@
           "flags" : []
         },
         {
-          "tcId" : 198,
+          "tcId" : 218,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "111af92aa721abe4492468a6ad410f85351c3f71f6f076c5160eac1665bf08a05d9f4658ec427e54fd64ccc367f50d48c7e5c2822299e258f443cc7890d25db9",
@@ -4287,7 +5024,7 @@
           "flags" : []
         },
         {
-          "tcId" : 199,
+          "tcId" : 219,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "30e782f964b2e2ff065a051bc7adc20615d8c43a1365713c88268822c253bcce5b16df652aa1ecb2dc8b46c515f9604e2e84cacfa7c6eec30428d2d3f4e08ed5",
@@ -4295,7 +5032,7 @@
           "flags" : []
         },
         {
-          "tcId" : 200,
+          "tcId" : 220,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "b292a619339f6e567a305c951c0dcbcc42d16e47f219f9e98e76e09d8770b34a0177e60492c5a8242f76f07bfe3661bde59ec2a17ce5bd2dab2abebdf89a62e2",
@@ -4303,7 +5040,7 @@
           "flags" : []
         },
         {
-          "tcId" : 201,
+          "tcId" : 221,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "986e65933ef2ed4ee5aada139f52b70539aaf63f00a91f29c69178490d57fb713dafedfb8da6189d372308cbf1489bbbdabf0c0217d1c0ff0f701aaa7a694b9c",
@@ -4313,10 +5050,6 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-384",
         "kid" : "none",
@@ -4328,12 +5061,17 @@
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "0429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
         "wx" : "29bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc",
         "wy" : "09a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000429bdb76d5fa741bfd70233cb3a66cc7d44beb3b0663d92a8136650478bcefb61ef182e155a54345a5e8e5e88f064e5bc9a525ab7f764dad3dae1468c2b419f3b62b9ba917d5e8c4fb1ec47404a3fc76474b2713081be9db4c00e043ada9fc4a3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEKb23bV+nQb/XAjPLOmbMfUS+s7BmPZKo\nE2ZQR4vO+2HvGC4VWlQ0Wl6OXojwZOW8mlJat/dk2tPa4UaMK0GfO2K5upF9XoxP\nsexHQEo/x2R0snEwgb6dtMAOBDran8Sj\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 202,
+          "tcId" : 222,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "234503fcca578121986d96be07fbc8da5d894ed8588c6dbcdbe974b4b813b21c52d20a8928f2e2fdac14705b0705498ccd7b9b766b97b53d1a80fc0b760af16a11bf4a59c7c367c6c7275dfb6e18a88091eed3734bf5cf41b3dc6fecd6d3baaf",
@@ -4341,7 +5079,7 @@
           "flags" : []
         },
         {
-          "tcId" : 203,
+          "tcId" : 223,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "ac5559ad224e76aa6637515357c5f0ac4ffef4f7e21297f8b65d72e6b5cc547511ddb2f0c36125b6b11c0a82308c44d2542aea18bf5fe640d5e94fc27d69176e21cd15f0f817741e982f51e7a9d5bd4f33cd8846fbd9f6cd1ae7d0cff31de2e4",
@@ -4349,7 +5087,7 @@
           "flags" : []
         },
         {
-          "tcId" : 204,
+          "tcId" : 224,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "d48578efe0200370eb3dba190629c584f4505b3d18dcb7176e81c94eaaba9be4b35f16b2f558cf42f6e49bb13a8c52a362d7450e411ce64d8349a9e90a07fc09e5521efec1b9739cc9f68d0877b4a4b4d50a5f5647ef6dc3e6a9495ccabbeae4",
@@ -4357,7 +5095,7 @@
           "flags" : []
         },
         {
-          "tcId" : 205,
+          "tcId" : 225,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "99c8ee5310653f6bb6f540146edc015cce3c115bf3088be1f4205930b08184be8868d8b8320f0ecc60f3b1bccd410b32ca49b9f4fda715d522bd0ec9b767ef6d7d0b340d3aa9fcac675874bb3dabc7b8e0c33923860b94cb00115b10ac5056f1",
@@ -4365,7 +5103,7 @@
           "flags" : []
         },
         {
-          "tcId" : 206,
+          "tcId" : 226,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "32401249714e9091f05a5e109d5c1216fdc05e98614261aa0dbd9e9cd4415dee29238afbd3b103c1e40ee5c9144aee0f4326756fb2c4fd726360dd6479b5849478c7a9d054a833a58c1631c33b63c3441336ddf2c7fe0ed129aae6d4ddfeb753",
@@ -4373,7 +5111,7 @@
           "flags" : []
         },
         {
-          "tcId" : 207,
+          "tcId" : 227,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "5cad9ae1565f2588f86d821c2cc1b4d0fdf874331326568f5b0e130e4e0c0ec497f8f5f564212bd2a26ecb782cf0a18dbf2e9d0980fbb00696673e7fbb03e1f854b9d7596b759a17bf6e6e67a95ea6c1664f82dc449ae5ea779abd99c78e6840",
@@ -4383,10 +5121,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKpCL/Ftw4XvfrnQpSZSAi/KkLatZ\nr4sFI6Am1kCio9bTRFILYhd+LPoznKQvsIg+xCWQT72igzo7WwqaAIETZdgBIzPV\nMvj46xpiPDeKNpRlEZK72oM+O417j5Cyv8mwRfilXhtqX+FRLEAMS8nIb9fGmdZC\n9c7pu4J8iwq8DaAc7x4=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -4398,12 +5132,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "04012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
         "wx" : "12a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8",
         "wy" : "12333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004012a908bfc5b70e17bdfae74294994808bf2a42dab59af8b0523a026d640a2a3d6d344520b62177e2cfa339ca42fb0883ec425904fbda2833a3b5b0a9a00811365d8012333d532f8f8eb1a623c378a3694651192bbda833e3b8d7b8f90b2bfc9b045f8a55e1b6a5fe1512c400c4bc9c86fd7c699d642f5cee9bb827c8b0abc0da01cef1e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBKpCL/Ftw4XvfrnQpSZSAi/KkLatZ\nr4sFI6Am1kCio9bTRFILYhd+LPoznKQvsIg+xCWQT72igzo7WwqaAIETZdgBIzPV\nMvj46xpiPDeKNpRlEZK72oM+O417j5Cyv8mwRfilXhtqX+FRLEAMS8nIb9fGmdZC\n9c7pu4J8iwq8DaAc7x4=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 208,
+          "tcId" : 228,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "014141e4d94a58c1e747cbd9ee6670a41eac3c26fb4db3248e45d583179076e6b19a8e2003657a108f91f9a103157edff9b37df2b436a77dc112927d907ac9ba25870108afa91b34bd904c680471e943af336fb90c5fb2b91401a58c9b1f467bf81af8049965dd8b45f12e152f4f7fd3780e3492f31ed2680d4777fbe655fe779ad897ab",
@@ -4411,7 +5150,7 @@
           "flags" : []
         },
         {
-          "tcId" : 209,
+          "tcId" : 229,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "0078192ba6c31398e095b1a5ba49e34f0a6df60263e8324a9d728e292c8dbe477ad9326f3e915f4006795dbeddc92b01fae052143c961b24e624eb70e0b0e687465301b470d58c6ec28c2fb155b2047073bc8bec3c2d9e7f50038964dd4b5b721807a679f7252fe72ca977e2bc4d8831fef14a2bf51c7919dfa7a33acdf9a9fc1ca2dbe6",
@@ -4419,7 +5158,7 @@
           "flags" : []
         },
         {
-          "tcId" : 210,
+          "tcId" : 230,
           "comment" : "pseudorandom signature",
           "msg" : "313233343030",
           "sig" : "0060bedcd13c22d2353e613cca0f81215c34e51bf0a83faff1da5c8b4c182785358757b35a681e4eaf021af4f43d54ec49d8bfcd8dc5015b42a7a91f263fcb8db66101050354daf39d5261bd27f36b8c1c38f48707ece9ea9311d13489dcfc5357eda2e57000c10cf0cda7b12f313842fb884a14f902ee9bca5b4da4fbbae0f969691005",
@@ -4427,7 +5166,7 @@
           "flags" : []
         },
         {
-          "tcId" : 211,
+          "tcId" : 231,
           "comment" : "pseudorandom signature",
           "msg" : "54657374",
           "sig" : "01b257e46f4a9fcba03012fbeea4cd3bb2e20fd7dd4e1ced708405330a87597407a5870861e71c3a157c021eb4beb9881fce9c3f458f3cd9dbd94e422cf07a75012e01b55f01bd17e5a6ad7d28bfbf7560de548f96ca52683d12ec6ba347e6f3c1c4c3b6463c73bd2639014de5db1443f181d620d42e6f69b560f37732af83a6a2ef2119",
@@ -4435,7 +5174,7 @@
           "flags" : []
         },
         {
-          "tcId" : 212,
+          "tcId" : 232,
           "comment" : "pseudorandom signature",
           "msg" : "",
           "sig" : "01625d6115092a8e2ee21b9f8a425aa73814dec8b2335e86150ab4229f5a3421d2e6256d632c7a4365a1ee01dd2a936921bbb4551a512d1d4b5a56c314e4a02534c501b792d23f2649862595451055777bda1b02dc6cc8fef23231e44b921b16155cd42257441d75a790371e91819f0a9b1fd0ebd02c90b5b774527746ed9bfe743dbe2f",
@@ -4443,7 +5182,7 @@
           "flags" : []
         },
         {
-          "tcId" : 213,
+          "tcId" : 233,
           "comment" : "pseudorandom signature",
           "msg" : "0000000000000000000000000000000000000000",
           "sig" : "0008135d3f1ae9e26fba825643ed8a29d63d7843720e93566aa09db2bdf5aaa69afbcc0c51e5295c298f305ba7b870f0a85bb5699cdf40764aab59418f77c6ffb452011d345256887fb351f5700961a7d47572e0d669056cb1d5619345c0c987f3331c2fe2c6df848a5c610422defd6212b64346161aa871ae55b1fe4add5f68836eb181",
@@ -4453,234 +5192,31 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004b69d5ee55ff6fb5c10f1d6f41d6b5f304beb61ec54014b15eeef8a94307e00650b063da0866e4c9f79f476e7404661651846f3731ef8d08f192ac7b17c9bf9d1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEtp1e5V/2+1wQ8db0HWtfMEvrYexU\nAUsV7u+KlDB+AGULBj2ghm5Mn3n0dudARmFlGEbzcx740I8ZKsexfJv50Q==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
         "kty" : "EC",
-        "x" : "tp1e5V_2-1wQ8db0HWtfMEvrYexUAUsV7u-KlDB-AGU",
-        "y" : "CwY9oIZuTJ959HbnQEZhZRhG83Me-NCPGSrHsXyb-dE"
+        "x" : "H88XrJQxOhU3uGqbiws-yJ4Cy93ebq41pUNjYFDPaVI",
+        "y" : "qUYVjrPeJjhsNChy11eiNFigYAzJ7HUkgwRo7uANww0"
       },
       "key" : {
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
-        "wx" : "0b69d5ee55ff6fb5c10f1d6f41d6b5f304beb61ec54014b15eeef8a94307e0065",
-        "wy" : "0b063da0866e4c9f79f476e7404661651846f3731ef8d08f192ac7b17c9bf9d1"
+        "uncompressed" : "041fcf17ac94313a1537b86a9b8b0b3ec89e02cbddde6eae35a543636050cf6952a946158eb3de26386c342872d757a23458a0600cc9ec7524830468eee00dc30d",
+        "wx" : "1fcf17ac94313a1537b86a9b8b0b3ec89e02cbddde6eae35a543636050cf6952",
+        "wy" : "0a946158eb3de26386c342872d757a23458a0600cc9ec7524830468eee00dc30d"
       },
-      "tests" : [
-        {
-          "tcId" : 214,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "4c86044ecf8400d5d2eb8a8b9876da214ab5b91d9f4e3dd19cc11b6bc67399ed55dd95a7fffd27b697302cdba15a3a2f3306a451ecfff4d1d63a6478bcef68de",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 215,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "e917723fab4ef6d0431681b979bae0e8ffff3dfc44265b5cd2b0fd85b90ad737e509d931b0b1faac8c0eda5062a60e24a3fb98e85fa4991274fa3067fe0a633e",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 216,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "2b5591f159aea1ca4de3e0bae98b2850f1e9915b1d9dd5b32e9d52500a252125be4408091bcd24d01b01e9787d50c078123bf1f0280bf6b49b6cc1e239043f5a",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 217,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "2c2468ed0a820af3b65c593229ff2dd3a5269802451fb2da87ccab0ae3afa2b24124a6b9c02b5d347734158eebe2d098fcec7ffd5eafc074a983339bf3929ab0",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 218,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "71b6ee7896d15f1387e265f97d9ac61a189e4940b0c4f31f76fa55cede96e89734e0f3201fd24e7f619f4914c44d2c3d4621a4b9e5c0117eb95c80ab0ef25d47",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 219,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "2bf97d25a3f4ab218fe07f4c634cd0f8cb548565c1077a341230ba31db91ab96220e5c0a3a11ed1a041e8913f97954742461107aed5ab18006dee2aba3eb5b6b",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 220,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "f42d09d830883a4247e7a4b7c2422da743fc85bab835fde7a9e557ab31944bf9cc34adbb2478660a611dad96c70e899e953cc90b36f8d5d91241209ef9f2fad4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 221,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "52583faf23120ba4638e2278727575c1df5a92cb79c64d72399b5691d90362934c465697e64a579ee5940bbc38fc7e16617784db8be4b61cd75ef447311b0f74",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 222,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "0edf81aa383a67f9d08c8cc20e78d4e83e3608fad45cb8caa74174c8c4ef3082a3ef411463c88cf0e37a34ef21f25b2e73ff661aadd9a4253decb49b59ecfc40",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 223,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "dfdc64f360b50e05456015603d2680cf158c2123602f3207b911596734a7e838ae12e1582fb449fa60f0ab1e68e91c404095b2be4050068420e2f5c24d753e83",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004f39b12b3ae7a3f81de137a74485b354da7dde83c1c41fa2694cb4cca88f73489fbdf8750cacf688f1f2e07f48fb7701ac16a6e1cb32e00ab6674d7c0b690c7b03d2b48f68e645becd75dc7ee28fb93261237a88438f9a1501b92911990eb4897",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE85sSs656P4HeE3p0SFs1Tafd6DwcQfom\nlMtMyoj3NIn734dQys9ojx8uB/SPt3AawWpuHLMuAKtmdNfAtpDHsD0rSPaOZFvs\n113H7ij7kyYSN6iEOPmhUBuSkRmQ60iX\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200041fcf17ac94313a1537b86a9b8b0b3ec89e02cbddde6eae35a543636050cf6952a946158eb3de26386c342872d757a23458a0600cc9ec7524830468eee00dc30d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEH88XrJQxOhU3uGqbiws+yJ4Cy93e\nbq41pUNjYFDPaVKpRhWOs94mOGw0KHLXV6I0WKBgDMnsdSSDBGju4A3DDQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
       "type" : "ECDSAVer",
-      "jwk" : {
-        "crv" : "P-384",
-        "kid" : "none",
-        "kty" : "EC",
-        "x" : "85sSs656P4HeE3p0SFs1Tafd6DwcQfomlMtMyoj3NIn734dQys9ojx8uB_SPt3Aa",
-        "y" : "wWpuHLMuAKtmdNfAtpDHsD0rSPaOZFvs113H7ij7kyYSN6iEOPmhUBuSkRmQ60iX"
-      },
-      "key" : {
-        "curve" : "secp384r1",
-        "keySize" : 384,
-        "type" : "ECPublicKey",
-        "wx" : "0f39b12b3ae7a3f81de137a74485b354da7dde83c1c41fa2694cb4cca88f73489fbdf8750cacf688f1f2e07f48fb7701a",
-        "wy" : "0c16a6e1cb32e00ab6674d7c0b690c7b03d2b48f68e645becd75dc7ee28fb93261237a88438f9a1501b92911990eb4897"
-      },
-      "tests" : [
-        {
-          "tcId" : 224,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "9cefee74c7eecfd6f2b7c0ec4025c5d8c50cc3735d44605628cd55adbd1414628fe9b14ce635072ba52edfb9b8130b21256b4984e826bf1fbf949c61af2cce2b80c41221471b1824c51d91dd0b77f9268edf12b6a9cb632fd5170c1a300630ca",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 225,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "790cb1f11ec1c42d7337d6a269bd3a1911ee1aa87d190455aa4dbcf659046ff4fb63ed388f2e5ec41b72cedd7f7a8d9c44ce9851da5833814a0629931349ca0d02a17470ee7f5e46a601e3e5d724a775303653f9e57e781340df5bdf6eafa258",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 226,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "a6a35921aeae3adb98525632d8cdf5c710ed19fdb2e03cc9632606021bd340ceb47f9b1137c3ce7333654c8205c25fda6415cbba63bde8f9b461e9649d4105d1384de76019d635fd0e90d9a39cada56b8171b434da15e1cdae5668a34933d610",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 227,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "fdc7e2fbd458cbb8ccddc9bb48480d4e44dd51dc5fbb1731d7aee3cd72a9949aa76986e6b405f6e1182a7253223b55303b1e33b11444d9d56559bef39ddf6e35ee7d62169275319307ad329e7a26210ba5dfb4843b5a9e24488936371e71d4a3",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 228,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "c13785d0f86df142b64aa1346d122a18930c66020a4c7ed2d14de5a35c5eec3a891e4ba404525aa263eaf5ced27fb4514b6f163ba90c07bbc9cc82744d1cbc0376cb593d270e700054b92bcc045efb2f7a4aea9f2408d50d4d07d715718b6cec",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 229,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "12011d91b44df2468bbf9be238428087b661029b85e51099c28dafb1a27ebd1790e2053632f3d88b888441ef0788520f69ceb37acee9f248efe8000ddd5df5d37b9010d4d472cc87791c57a2c294d9398d89b71fb64ab8e43c7e4686749803d4",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 230,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "57d29082c315a6872f6218aedb2186b458c89ae4cbc66789ff5f7d2673506a3669a43e34c3ed351bd64dda33571b332b5cddfe5472d736cf2ca9227c1950e5444a579bf166a1fdb2c562bfc7743953671a0f91c4edb5068b27d83b0b63cc0ac5",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 231,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "efc6a1b6a63704c27fb03df20f75d348f19e3f4b2490c4155b3914039f99fc75c9b2743302841e193746a438f6ec005d7fe1bbf57124afb8d29718ead2bb3f0f6bdc1e995848cadc5c6753497d16a0553b439dc3e6d534f8986447f43a7c1be1",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 232,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "450ccfc1b8779acff7ea4b7ccd4307decefa550b632568214112f6e29901ed863154a765f017822808a7e26b2a6ab3edafe77e7dbf7d16e3201aa2aad88f2e794abb3e1792d6ed4dcaebad5b84383fc093d7652fb4001dbfbb577a7f14847450",
-          "result" : "valid",
-          "flags" : []
-        },
-        {
-          "tcId" : 233,
-          "comment" : "random signature",
-          "msg" : "54657374",
-          "sig" : "ea921bb1893641d094e5f5a1fa3b7bdb2ffae806763490ae747f174671b9a8cafa77d70592e5d85843beb27a67484fe5cd7012b9ecb1a648ee6768948215adb5306cdfa3304bf24a77c43bac5d30f1815f86e742dab7d73a181469ce042bd1db",
-          "result" : "valid",
-          "flags" : []
-        }
-      ]
-    },
-    {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004014b0944b98cd2a050b306b54eb9f1d0e95d7b4dc96b0a64a04b18fd70f1cc2083dbccab0bac881fa72a3ece854c23dabc06409d8a25825e6f1c864f50fb3787f844002b6cddfb22f29d2d410ac5c0abdd271d1a1a0b3cd51dda504a3bf6d2087ce40d318952e9dc64805657f4e7ae487372b0f43f8ef7806239fbf508d8cfd6a0527a15",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBSwlEuYzSoFCzBrVOufHQ6V17Tclr\nCmSgSxj9cPHMIIPbzKsLrIgfpyo+zoVMI9q8BkCdiiWCXm8chk9Q+zeH+EQAK2zd\n+yLynS1BCsXAq90nHRoaCzzVHdpQSjv20gh85A0xiVLp3GSAVlf0565Ic3Kw9D+O\n94BiOfv1CNjP1qBSehU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
-      "jwk" : {
-        "crv" : "P-521",
-        "kid" : "none",
-        "kty" : "EC",
-        "x" : "AUsJRLmM0qBQswa1Trnx0Olde03JawpkoEsY_XDxzCCD28yrC6yIH6cqPs6FTCPavAZAnYolgl5vHIZPUPs3h_hE",
-        "y" : "ACts3fsi8p0tQQrFwKvdJx0aGgs81R3aUEo79tIIfOQNMYlS6dxkgFZX9OeuSHNysPQ_jveAYjn79QjYz9agUnoV"
-      },
-      "key" : {
-        "curve" : "secp521r1",
-        "keySize" : 521,
-        "type" : "ECPublicKey",
-        "wx" : "14b0944b98cd2a050b306b54eb9f1d0e95d7b4dc96b0a64a04b18fd70f1cc2083dbccab0bac881fa72a3ece854c23dabc06409d8a25825e6f1c864f50fb3787f844",
-        "wy" : "2b6cddfb22f29d2d410ac5c0abdd271d1a1a0b3cd51dda504a3bf6d2087ce40d318952e9dc64805657f4e7ae487372b0f43f8ef7806239fbf508d8cfd6a0527a15"
-      },
       "tests" : [
         {
           "tcId" : 234,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "0182a9dcfc2922803a11ae17eef98b266f7b27bbf186af3799ca2e01eaea3f46c7d205da51b002798457963b8e4c029a5602db9146eb188fb82742f90adc342ae55100ea4974ff15fb526e13d0adc1e63a8d66b976642a9f161170f11cfdee07a18d0905795788d412a3c900ada3ec7dec57f3cd32424691cf470611f124a032a645a367",
+          "sig" : "23f1e321e8cca7bfe3ce1e8803f4fd47259718a01cc2d478d349dd1a0b6acb1bdae96587fddc27fc347d4450caa5b7b57da796ed8a5d5ddb41392760376308e0",
           "result" : "valid",
           "flags" : []
         },
@@ -4688,7 +5224,7 @@
           "tcId" : 235,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "0176561cf7fd05c630a62d6affb4239c84136ce127698290c3879e32ebd21cedaee5106312ac5c9c2987207dc1a011cbd5d93e45287e74d059ade4b93a9857af863001e8491c53a084ee3beead20be6f7d3b5adf8039a40297dba11c7885082c9b3fd4113c98d73612fca273bb12b84454dce4f6dbfb5f5d882946ea6bd281df83f2f396",
+          "sig" : "f60ffe791a90ee4e80ac4e5274d25274e1fb30f00b6405970d463cc58dac90d7b70de37f2179c4675096ef510b267c1d3f6e60dd649b40d5aa4f95c480c51e56",
           "result" : "valid",
           "flags" : []
         },
@@ -4696,7 +5232,7 @@
           "tcId" : 236,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "004f940449e9b4038b727c1647a86c8280c973c482d54738609e4161764dbea7a7b2646ace3703aae992690b5c0f226d82e9e5398d5dd474ff134555320c7f773ee4007a0532d7273c23218ffad2de5cc7181b0756cf2ab9da10443705cdf09df3dc26d17a49b41a9677042ec6e796c660ed08bc4500d7fffdbd041ba50e04e2912eb221",
+          "sig" : "64614f3f4d834e1d81619e8e9a6593e98757a86aa0706ff88daff27a28c18c2f1977ebd95aa8d8b98a96dd1d83d49b4cf943f83b761bc02d8bef343747107e62",
           "result" : "valid",
           "flags" : []
         },
@@ -4704,7 +5240,7 @@
           "tcId" : 237,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "01b18edbbf9cdbcefb6a488255c6eefa743846d0b55f0bbffafcc4b74d3d60061b05a401b0ad31e81cf0be315268cb296a5b60f1d76a5a784d44cfa8b71ea552c3e7005d00f6f1029fe7ec57eda4597bd3186eed1f504efcf2e883a382835d2b0a513498ba006fb35bda24ff82e523945122fe42923cfbc9bec142c7c3a1cc31fffa03aa",
+          "sig" : "6255f013f7861bf001826612ddaabf78fe02516963924f2975eebaa9b07080313b7c31a9d25f3328ffca264c0b8789f59918b4f1da0799f63431bbb3b7b36f31",
           "result" : "valid",
           "flags" : []
         },
@@ -4712,7 +5248,7 @@
           "tcId" : 238,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "014dcdf01eb9cf97b3141c07c8c5111d246aadffd9bf2398614b822bbc0af08cd528d6c7def485e441cf679f6fa2c928207bfe9f419a2926d3a555d5ac82d9f316610144e203a8683bbe148ce0d7e62730f8a6f954144b7df798e1014014c2f4791d5d614521090719d9f3fb08338e90ccfeb09f59a019a899fc0c72f2d2e6c411ab1da1",
+          "sig" : "c29b1710656855059865251d04fb3e6fe5d136e24a191283cfee215a4cb21b603b160b762773ea7576794389d47be6c2ed245aab68852d168e0540da0e1d33b4",
           "result" : "valid",
           "flags" : []
         },
@@ -4720,7 +5256,7 @@
           "tcId" : 239,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "01a4499ff53330c9f47cd31c9c222ea53669e23d7cb30fcee5e48accf56aefb59422859cfd99e761bf78a33a26e12e512a5de8b33af4b78dc227ade2b50ac71a282c01b82afa7c90eb65d243202a3483f7f724c9eac5dd64e04b1ff3c969a51fd5ee6b27e47e56681387ae13593c3e8e29d0c677f2794c48923cb98555d431b765b5dece",
+          "sig" : "c7b10de66c9187cfaa92d91ea6916c6c53c7eb3d6f9098b637b294b4d280c514c60606f11b82ed5e395d16f9fe4aeb5210e10a68419b5fc761f5e1975640eab4",
           "result" : "valid",
           "flags" : []
         },
@@ -4728,7 +5264,7 @@
           "tcId" : 240,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "012efd09ca265b2c5d3960c153169830d771f994b648398e1fc1484cd390fc5e03ef2196398502322abb7b98904ecdf3ab916d028e1a42f679465a9269bed19d0b6901209cf2aaafef06f8906cb5df030be794f1a74158cb631d999b980a61910dd44678bde900e31c64b0604a894a9a7553c296e5cf8754d90f3a0868bd32d5d561050c",
+          "sig" : "8709ed16ad7f942d567ffb743aea01563db3a3d60fe590794150dfd3495d52b135930f72b0c070d9b3f9654fe04e4dc076b90f3bad1004c609455f130628dc2d",
           "result" : "valid",
           "flags" : []
         },
@@ -4736,7 +5272,7 @@
           "tcId" : 241,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "01d15c9334fc09ce16accfc1ba7c38f51859140b21a83424733b50f4982461dc09c30416ed289357a0a18c1d7f3f329beb4f1129a356591fa1c51e51e52013b33595019537c4b020f923eed04c7756d693ba36628900cae95cced7292a8668df757cc8445cb67081fc154ff2574d2f21718e0477fd6e6434e09426a302c24ae642f07f88",
+          "sig" : "bf8109f3e1bb5fb683ab9bd190d364d3e708a22c7c318e4efea6eb8aa491a527ed60a6f8d14f5091d2f3cda13adee01564629e7d5bf7dbcabd4df1749dd4dab8",
           "result" : "valid",
           "flags" : []
         },
@@ -4744,7 +5280,7 @@
           "tcId" : 242,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "01568bfe902345657852b8b374734c80e8c8557583a52c313eb073d14578b4bd6b523ffff41333c113a85a2c6ee4fb187addb908ac04535a77032afa19b660ce2abb00386854c98409c9b3466b5b2a9ee738f8d07d8d9f19a3381d7b92e25aef1979596f922c506b2cfebb10723500d1db4b19964f8acdf98f30fd73917ac9f7f48cbda4",
+          "sig" : "5352cdf7a68d85a3b662f0acf663c8f298226955b6a93f77ea73502b0c45d0f5e758a9622ff22ed5a7482ddc8a5da79d2163df94c795797516552ffecaa709fd",
           "result" : "valid",
           "flags" : []
         },
@@ -4752,101 +5288,244 @@
           "tcId" : 243,
           "comment" : "random signature",
           "msg" : "54657374",
-          "sig" : "0177eaa6ec1ad804c1b15f8d54dc1a58f5429d3baef550a4146872546dedb780b76a73955603961e664f34c89b08964a6efe8b5bda6146940a14bcf5302f8510125a00b34ced7d412bd478a870c3ab7bae1ef957d6789f42cf9994c9118dc689d4c2d37af450a137cd4d97c47f92a18a27c18831668c6d8a0040b279c1fe7edd6bbff6db",
+          "sig" : "821742b069bc804b86901d29ada8fc190090b1ac5129675fb7ba78015ffb7bef76694c0ab199130c32cb99239db83b4619a3baa1de5d7d0d14e8e3c61fed3abc",
           "result" : "valid",
           "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004b23836f5f62a971785083b36a94c20d92044142fa65541ff2c03f6d50e872bf1c2af00f285f8dd07b2f3e606a132c43ff01ed513f613e172c7404ce3f5e57dc69ae7389882590b3a4ef330508f67b9ccc928b5c3d81614acb833c27314f7c8a4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEsjg29fYqlxeFCDs2qUwg2SBEFC+mVUH/\nLAP21Q6HK/HCrwDyhfjdB7Lz5gahMsQ/8B7VE/YT4XLHQEzj9eV9xprnOJiCWQs6\nTvMwUI9nuczJKLXD2BYUrLgzwnMU98ik\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-384",
         "kid" : "none",
         "kty" : "EC",
-        "x" : "sjg29fYqlxeFCDs2qUwg2SBEFC-mVUH_LAP21Q6HK_HCrwDyhfjdB7Lz5gahMsQ_",
-        "y" : "8B7VE_YT4XLHQEzj9eV9xprnOJiCWQs6TvMwUI9nuczJKLXD2BYUrLgzwnMU98ik"
+        "x" : "leQ1Rv-7bMwNTiGJlUv3sVCMpmMXBm3nsCmRMUDHNBki_Eong-rD8GDOETc_11bd",
+        "y" : "F-ocRwmnNLerZ24WCtkEoaKGVrQP3hAZ8wIUvjMyDbK69Bj1fknsy1v55WIvld98"
       },
       "key" : {
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
-        "wx" : "0b23836f5f62a971785083b36a94c20d92044142fa65541ff2c03f6d50e872bf1c2af00f285f8dd07b2f3e606a132c43f",
-        "wy" : "0f01ed513f613e172c7404ce3f5e57dc69ae7389882590b3a4ef330508f67b9ccc928b5c3d81614acb833c27314f7c8a4"
+        "uncompressed" : "0495e43546ffbb6ccc0d4e2189954bf7b1508ca66317066de7b029913140c7341922fc4a2783eac3f060ce11373fd756dd17ea1c4709a734b7ab676e160ad904a1a28656b40fde1019f30214be33320db2baf418f57e49eccb5bf9e5622f95df7c",
+        "wx" : "095e43546ffbb6ccc0d4e2189954bf7b1508ca66317066de7b029913140c7341922fc4a2783eac3f060ce11373fd756dd",
+        "wy" : "17ea1c4709a734b7ab676e160ad904a1a28656b40fde1019f30214be33320db2baf418f57e49eccb5bf9e5622f95df7c"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b810400220362000495e43546ffbb6ccc0d4e2189954bf7b1508ca66317066de7b029913140c7341922fc4a2783eac3f060ce11373fd756dd17ea1c4709a734b7ab676e160ad904a1a28656b40fde1019f30214be33320db2baf418f57e49eccb5bf9e5622f95df7c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEleQ1Rv+7bMwNTiGJlUv3sVCMpmMXBm3n\nsCmRMUDHNBki/Eong+rD8GDOETc/11bdF+ocRwmnNLerZ24WCtkEoaKGVrQP3hAZ\n8wIUvjMyDbK69Bj1fknsy1v55WIvld98\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
           "tcId" : 244,
-          "comment" : "Hash weaker than DL-group",
-          "msg" : "48656c6c6f",
-          "sig" : "a124fe3b5aa09bd21df845aa96780a11cb493c8461faf8f810acf0738ef5b6725de09b3bd220f842664ffb4f578d67ac550640c59ca21f47c85d082c5cd92ba660a55802f4e668fbae92112870391005b60be3b439132b7f1c90d9f7ab506b0c",
-          "result" : "acceptable",
-          "flags" : [
-            "WeakHash"
-          ]
-        }
-      ]
-    },
-    {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004002ee242bb012c3aa2016ebe0e9b80feaa581c5b848158a0fc1d0ac8fd3327c61d23756b4a74dc641ea98551ed0689003fff5622a147066b869e94a97dce73d34cf401fe4351ea41f157e7de4a1ad9c380000166020d7db48d3ecb0ccf405dff0abc8805df24c6baa5aa3b66b086413f96833eae40161ee6f6a68dc67c5103a521a43542",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQALuJCuwEsOqIBbr4Om4D+qlgcW4SB\nWKD8HQrI/TMnxh0jdWtKdNxkHqmFUe0GiQA//1YioUcGa4aelKl9znPTTPQB/kNR\n6kHxV+feShrZw4AAAWYCDX20jT7LDM9AXf8KvIgF3yTGuqWqO2awhkE/loM+rkAW\nHub2po3GfFEDpSGkNUI=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
-      "jwk" : {
-        "crv" : "P-521",
-        "kid" : "none",
-        "kty" : "EC",
-        "x" : "AC7iQrsBLDqiAW6-DpuA_qpYHFuEgVig_B0KyP0zJ8YdI3VrSnTcZB6phVHtBokAP_9WIqFHBmuGnpSpfc5z00z0",
-        "y" : "Af5DUepB8Vfn3koa2cOAAAFmAg19tI0-ywzPQF3_CryIBd8kxrqlqjtmsIZBP5aDPq5AFh7m9qaNxnxRA6UhpDVC"
-      },
-      "key" : {
-        "curve" : "secp521r1",
-        "keySize" : 521,
-        "type" : "ECPublicKey",
-        "wx" : "2ee242bb012c3aa2016ebe0e9b80feaa581c5b848158a0fc1d0ac8fd3327c61d23756b4a74dc641ea98551ed0689003fff5622a147066b869e94a97dce73d34cf4",
-        "wy" : "1fe4351ea41f157e7de4a1ad9c380000166020d7db48d3ecb0ccf405dff0abc8805df24c6baa5aa3b66b086413f96833eae40161ee6f6a68dc67c5103a521a43542"
-      },
-      "tests" : [
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "9bb142df264762a5a40e39a15639b112790adffd61a900a451768958ee8e4f711bce32f9447ff15e8ba2d7861a0493bbf481853e48c28ec6b353be5f0398000eeedd3328fb17d10ca2f9f1c5e1088de95d12b4677d5d6317cd007b9629c0daea",
+          "result" : "valid",
+          "flags" : []
+        },
         {
           "tcId" : 245,
-          "comment" : "Hash weaker than DL-group",
-          "msg" : "48656c6c6f",
-          "sig" : "00f5b5331809d4b3ad9a120736ee5972b6ef5a961f28f56671d8aa2d608b0ab47ed5c92e39ff83d441e5114555235bf02244be4bf10709c8415a5828d7d41aa9c35701763b895e603db897dd2fdc34b56298e3010b5945cc7c859747321bf3b6c7a1aa60844f6857e8f031e94db6b7af0fea6ce163a36f6e9d947ba9b8ff8fa4032a2b3b",
-          "result" : "acceptable",
-          "flags" : [
-            "WeakHash"
-          ]
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "43676487b50b48bdfb320b6cc11090100e844555c35812ad1e8e067d9a4026c02ddd4301377a3dba2634a61772bf727abde89c06d83cac16c6a7ec7e7a31115bf9e6bcb86df826d241aeb875fb77472d880fbe8b5f3fa07d33639dbae2cdb45a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 246,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "13829868dba2da6a4a1f2e5b72f20c7a2662f98314014d7d97bb58bcd580222b98098e32d1edfa538b9a804bb73e3287eba476ee3f2c31e37f4a3588c462d02187b684baff5da3888eaa11da7ddfe3a94c89659970ac039c89fdda838711f5e1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 247,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "943627a5ba20cf36db1bc6298d2ab1dac602c1fef971aa14479d398c177b7857db1abf4694d2829ac69012d5fe16b802e018deb1c0c423b7def0b19c60639ca5c52153df345ce17105fd8c4639c7f68de388a58a140677b5b21e0e0b9957e29a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 248,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "a1fe80d3c2a89740528aad1afe33ae562f72e005bbadc7c9c5b296054128bda6e34da5af11ad10d14412ea7b820281402855143e81c12d3754aa2bc6d046914e19693cf1bd38db2025e2c9e478c6b0ea179b5ba413ef0961f2a2a5743904ffc1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 249,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "bf047ce99350bc4e04cac0afbe8dd1aeccf0b4733df737daa7181516b5fde26c1c6577459408af83762220bb2bfad21b076bc2b6002b0b82acf3a50d2a14ee0ec353835c2fc0e0e5069929b2be78c03184f1a858b70e1f694c05f870a90c28d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 250,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "35895bbe419aa2ef791f1d800115f5f9f9fabd95d77e7c4d37e7f8cd252fbc501b4ebc6815d7fb74dcde881bf1aafe4bd5e46a0d98b2731c38b09db23a486ba67e76489084a0ccfdbde24b536786b15811221152ebfd61c71de57735f35d92f0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 251,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "7dd8189e7366c073c591306985b12cf75184ba1775d3329efd04ad2450ba117866dc4dddbc447e8761099b378bc4657099ba8b0775790d0a2098127523e8dca9dfa6eb579a9cb5baf0513856f3cc16ee325fe30f8f163f99a6d4b81d05cd132e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 252,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "612441762cdfa9e8c554d5331619b522ca1aee1b5362937b13dba1163938b0ad5e925d425597505374e6c8bdde74504dc6909e09180d3a1e72c5934c0af311ff64e8e261a34657ff9a540f6413d52188da0de69866ad3f8457872153c9820145",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 253,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "d58922416357747ff196516c6bc253095f2c096a9509bf710348150a9835ba95ce2111f48a238d2b9bea8665533359a66723fbe543d8f33adb88be431d25be50588fc89e5d3b66dea0fc0fefc62f21ffafcff11ed79b7393e858e62f7586f886",
+          "result" : "valid",
+          "flags" : []
         }
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004019f536fb57cb6bbb0eaf1829fd34c9800d3266d28fb81a6cb23c9f48956cf58b9507a494ed81987bed0e184c9baa69acf4ffcdd2915e0c586891ba51774a5230ac1002de2fa959dc7f02b503300d7260a845b4992cdd129954db79d93339e89ec94e0653fba908f9d25bf815928acd5b618b56e1fe5fbe859c2e92892de89164eab8c11",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBn1NvtXy2u7Dq8YKf00yYANMmbSj7\ngabLI8n0iVbPWLlQeklO2BmHvtDhhMm6pprPT/zdKRXgxYaJG6UXdKUjCsEALeL6\nlZ3H8CtQMwDXJgqEW0mSzdEplU23nZMznonslOBlP7qQj50lv4FZKKzVthi1bh/l\n++hZwukokt6JFk6rjBE=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
         "kty" : "EC",
-        "x" : "AZ9Tb7V8truw6vGCn9NMmADTJm0o-4GmyyPJ9IlWz1i5UHpJTtgZh77Q4YTJuqaaz0_83SkV4MWGiRulF3SlIwrB",
-        "y" : "AC3i-pWdx_ArUDMA1yYKhFtJks3RKZVNt52TM56J7JTgZT-6kI-dJb-BWSis1bYYtW4f5fvoWcLpKJLeiRZOq4wR"
+        "x" : "AYhdiOs1L99HvhxVXPajGiN6Zp4Z7UrxeSezkGTxfDs0yKIaZjGo1lnI_C1HV5dAa3dQUPnb7xgkTQG_O9fjry6O",
+        "y" : "Ab-FOkycMHn3tbni9SJmQYzji0eFXMYAhUNkUQYlE90bp-WPRa1medOqqRtkfAE1BAQ4eb7dS41f4K4Gn0yIbjCz"
       },
       "key" : {
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
-        "wx" : "19f536fb57cb6bbb0eaf1829fd34c9800d3266d28fb81a6cb23c9f48956cf58b9507a494ed81987bed0e184c9baa69acf4ffcdd2915e0c586891ba51774a5230ac1",
-        "wy" : "2de2fa959dc7f02b503300d7260a845b4992cdd129954db79d93339e89ec94e0653fba908f9d25bf815928acd5b618b56e1fe5fbe859c2e92892de89164eab8c11"
+        "uncompressed" : "0401885d88eb352fdf47be1c555cf6a31a237a669e19ed4af17927b39064f17c3b34c8a21a6631a8d659c8fc2d475797406b775050f9dbef18244d01bf3bd7e3af2e8e01bf853a4c9c3079f7b5b9e2f52266418ce38b47855cc60085436451062513dd1ba7e58f45ad6679d3aaa91b647c013504043879bedd4b8d5fe0ae069f4c886e30b3",
+        "wx" : "1885d88eb352fdf47be1c555cf6a31a237a669e19ed4af17927b39064f17c3b34c8a21a6631a8d659c8fc2d475797406b775050f9dbef18244d01bf3bd7e3af2e8e",
+        "wy" : "1bf853a4c9c3079f7b5b9e2f52266418ce38b47855cc60085436451062513dd1ba7e58f45ad6679d3aaa91b647c013504043879bedd4b8d5fe0ae069f4c886e30b3"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401885d88eb352fdf47be1c555cf6a31a237a669e19ed4af17927b39064f17c3b34c8a21a6631a8d659c8fc2d475797406b775050f9dbef18244d01bf3bd7e3af2e8e01bf853a4c9c3079f7b5b9e2f52266418ce38b47855cc60085436451062513dd1ba7e58f45ad6679d3aaa91b647c013504043879bedd4b8d5fe0ae069f4c886e30b3",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBiF2I6zUv30e+HFVc9qMaI3pmnhnt\nSvF5J7OQZPF8OzTIohpmMajWWcj8LUdXl0Brd1BQ+dvvGCRNAb871+OvLo4Bv4U6\nTJwwefe1ueL1ImZBjOOLR4VcxgCFQ2RRBiUT3Run5Y9FrWZ506qpG2R8ATUEBDh5\nvt1LjV/grgafTIhuMLM=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 246,
+          "tcId" : 254,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "01f447d919a4f793350e43e95f919b917ccae38b64fd27717e962733e27ff0167b14659d33adfee2ec2840f7641aa6ba4b78f22d6a0e920097d4719e69af74eacb5201dd6679945a8933603c21074ab66752e37a158fa9e7ea3812d961212a56e8dec11e77382a554e92b916081ff3011e761527ac42c5fec22c53f7ee2a08c5bee60337",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 255,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "01d2dbbf562a1f47bde98dc63c895c24d8692867a5d7804b3b363404feddc0e0dcc35b3e3c1487ef813bb26f9b99593e5bf0b29629149d21152edbf78ccda48986aa0060f103c78cce250f100e767ee4b4dc92a4a2a972b4b8311460dd2b3a3db5aae60c2e11dc7e73c450246ef0ef49d7278f7e1b000261347eb4ea649b1c7ab28e6561",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 256,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "00a86283ffc51f95c84bd4d873cd7be77a0a9de301819f038959e36c9fdf44ee2b5498806251fe40c065a88c2e7a1f356791a178ad8100b615b0778b110e29609d07016c3115488962b58ec3a766cf69f83f22d1eb6fd48874b93ae8608ccef4665a2bbddde39f067acb09b455b46fccc7076bfa5985db25910a2c2632d468115153c71b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 257,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "0068e7cdc7041bc1ee0a0324f02937711d1143eac47d0e8c66b3ab80ed1ffaddc3941e84803fb66f76d8a84aebea1dca67e237ea7c957d4bcfac5ae791d772d4b0f6011957ad42f920a914e0e810594ad0c5c5c71c8abe11e90f5834775f610f5d7059280262effe33fd907554038582059ca278fdf2a2d2adbccedf02f6bbf98179fc86",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 258,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "015636aae9bc538293b38bd62660f1bba9e15848d96fc0ff1684f9fec699d1173fcacf1e7c32cfca8c791b01df1a36e81ffb3fda0de8239f1575916e3f4d4a6961950034bb7e5cd71f297c8b45e9ff3b1c9104711d1105cc5e432575a09a33cfd2f09f6454507f8aa2decb06912d0715f85e59bfb3360202604295364630b5d54f6abf66",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 259,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "00071238305ec947cd5743478bd192c73ddd455f934f35c27b4432833ec39e25aa67349f0c0e5ea07f2df1bb3dfccbfe748a0b783ec254c2196eac3a74935cfbd8b101ce08611e67215ca73fa1c1984c96f55b11c37f5794268ad4b0ee9117fc1b001a654ee96307d573ba2cc0872c34b13e7e71276bc665c9d60e9616a5e6fc3902a185",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 260,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "008674e7cffe6c3e4e5d7a9a3b2cdc03fb49ce817ea6950871e0fcd98e222633249717c64cf447b699c466a59279754134574ab078283891f55793187157cc8822a501703cf9bf04af1be62fceb547a047db0b98b7aa0c85f493907fb22cb39ffa819ee427c9fd796be561fbdcbcbb505db3fec7733e524944245b0345a3fd67ecdf86e7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 261,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "01fe8d97e0c046b46f604961a93b85e3c77fac7e6c0fa4dc993e326438111a12a889f329e4e74a0e93ccc2765ba4da1954e1e18250bcac2e56e4186319393c819245015492c8deae8259c1f1032378bb3d65431683db9d07fc9ca7b259f9d9a353205351542ed0d63336a343d6b579bbd10021e1c604fb0af018b4c97e7e860d51f39a14",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 262,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "00cfd89ea3e589090314606b3385a99ac1a76d6499df149c844720ab93b576e477043461cb4f36191d2ffbcc952ea06c91f731de6aa33cd19f19c769b59e09c7f9f4010d808f8923eb83c7e1d33154823515ede590b426a354fcc5051c9e3d4d86c795c097f5e811c0b43e7a53278afe6c32f2f1c72156d4ad69010587227c7bce711f6b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 263,
+          "comment" : "random signature",
+          "msg" : "54657374",
+          "sig" : "01fb7c96690d37fd3dc2583bf8da32d841556fb50ea6f33ecbbda286f948f8c88b1c1b538e956f0279831e00f81264f69ac8af43eab3a50edc9dd141888d48b5c0d6011c5f6bced99537959b9d3482dd15b8fcf97e7701c637626ade0473584247b3c11a891ad21480484b60611df4d26e2e3ff90452d099e72e46547e4ba022c4471994",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-384",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "1hQxa-B3ZUbadTUuFCgJtOqq0u8CIGmHUlWGBNbTn3UXj9x1vvmR-J1u9o0npvql",
+        "y" : "DIZL2gUvF1HW-SufMwBZcM6-fxF-qiBVPPnQZCZzjwoo_Awr3f9fUxwFyaSnj2i_"
+      },
+      "key" : {
+        "curve" : "secp384r1",
+        "keySize" : 384,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04d614316be0776546da75352e142809b4eaaad2ef0220698752558604d6d39f75178fdc75bef991f89d6ef68d27a6faa50c864bda052f1751d6f92b9f33005970cebe7f117eaa20553cf9d06426738f0a28fc0c2bddff5f531c05c9a4a78f68bf",
+        "wx" : "0d614316be0776546da75352e142809b4eaaad2ef0220698752558604d6d39f75178fdc75bef991f89d6ef68d27a6faa5",
+        "wy" : "0c864bda052f1751d6f92b9f33005970cebe7f117eaa20553cf9d06426738f0a28fc0c2bddff5f531c05c9a4a78f68bf"
+      },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d614316be0776546da75352e142809b4eaaad2ef0220698752558604d6d39f75178fdc75bef991f89d6ef68d27a6faa50c864bda052f1751d6f92b9f33005970cebe7f117eaa20553cf9d06426738f0a28fc0c2bddff5f531c05c9a4a78f68bf",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE1hQxa+B3ZUbadTUuFCgJtOqq0u8CIGmH\nUlWGBNbTn3UXj9x1vvmR+J1u9o0npvqlDIZL2gUvF1HW+SufMwBZcM6+fxF+qiBV\nPPnQZCZzjwoo/Awr3f9fUxwFyaSnj2i/\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 264,
           "comment" : "Hash weaker than DL-group",
           "msg" : "48656c6c6f",
-          "sig" : "0032c2f79a9b3eaa1651ca2d79bbf12a800883aab6455a124ff7a79a27ad1fbb686ff8c41eab230988d6d76ef5464fbec1ab02150bd48d67d6d1f68b129f29fd9bb70162c57866f2a463f59f6b712aa07dc53697395510fd98a0aeef7bf1b3b1134a63b0a6005c832b186fa45615cea3259a3fe776cb909f0d8f0843e9ebfdcae31dc5e2",
+          "sig" : "524c9a46ed664f10f9e086a1c6c128b57b1abccece7b2cddb47c248c97a5ff2363e27eaec85ab5e4f67b88ee6198681b8b7eee8ece5438fb3534d4c70cd6331802131b8e5b406fcc14bc08e10c215e40ffdf8813eeb03783ec7ea251f86e8fc9",
           "result" : "acceptable",
           "flags" : [
             "WeakHash"
@@ -4855,10 +5534,72 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----",
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AX_e09xnoL2GI9X1QyWR3zszRmWox4ekDaAW4_9KaN3geeS97YZs-XdHF8RPwCO87uScDRS6imSH9MXqf9Q-UIch",
+        "y" : "ABQMGi0L2kTpdWx4XSt6LWM_k11UaB_Ie4dlFOoHunftCA4z0oIdvIF7strYRstbRdk9HPQxGZohCr-YHtG0wimA"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04017fded3dc67a0bd8623d5f5432591df3b334665a8c787a40da016e3ff4a68dde079e4bded866cf9774717c44fc023bceee49c0d14ba8a6487f4c5ea7fd43e50872100140c1a2d0bda44e9756c785d2b7a2d633f935d54681fc87b876514ea07ba77ed080e33d2821dbc817bb2dad846cb5b45d93d1cf431199a210abf981ed1b4c22980",
+        "wx" : "17fded3dc67a0bd8623d5f5432591df3b334665a8c787a40da016e3ff4a68dde079e4bded866cf9774717c44fc023bceee49c0d14ba8a6487f4c5ea7fd43e508721",
+        "wy" : "140c1a2d0bda44e9756c785d2b7a2d633f935d54681fc87b876514ea07ba77ed080e33d2821dbc817bb2dad846cb5b45d93d1cf431199a210abf981ed1b4c22980"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004017fded3dc67a0bd8623d5f5432591df3b334665a8c787a40da016e3ff4a68dde079e4bded866cf9774717c44fc023bceee49c0d14ba8a6487f4c5ea7fd43e50872100140c1a2d0bda44e9756c785d2b7a2d633f935d54681fc87b876514ea07ba77ed080e33d2821dbc817bb2dad846cb5b45d93d1cf431199a210abf981ed1b4c22980",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQBf97T3GegvYYj1fVDJZHfOzNGZajH\nh6QNoBbj/0po3eB55L3thmz5d0cXxE/AI7zu5JwNFLqKZIf0xep/1D5QhyEAFAwa\nLQvaROl1bHhdK3otYz+TXVRoH8h7h2UU6ge6d+0IDjPSgh28gXuy2thGy1tF2T0c\n9DEZmiEKv5ge0bTCKYA=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 265,
+          "comment" : "Hash weaker than DL-group",
+          "msg" : "48656c6c6f",
+          "sig" : "0120c11ac54ead762c138438d6cb31b78357a7a5b7d8a2310486caa8b25bb5ad522b105f4eb0d63adcdc2a3de8686f8fc5c4ed5814ac942254709eb81531d3c04bf2010549b00dec29eec320461c0bee87d58bdc362d2832f88e0e8f1919b0795f83ee17870801091e05ceaa34d9e9cf3e17b0eb5c43ba06c55c180f26e98db8ace66255",
+          "result" : "acceptable",
+          "flags" : [
+            "WeakHash"
+          ]
+        }
+      ]
+    },
+    {
+      "jwk" : {
+        "crv" : "P-521",
+        "kid" : "none",
+        "kty" : "EC",
+        "x" : "AAIGwD14z7qi7ak6Nl5i94o0X3ycWrRx9UnYGEFu1_LzwTILB8evAxVsfoiJznrYQ70D0PHBCRDoYAEZ7VGnojCr",
+        "y" : "AAPuVMkPG-rSOpojylX9mt_GMRg_z8Q55NwVCaPunlmZ5Pf1r8h33Fc-0yo7dDUQOwhQn7R-vzki_l_A2yhLfruU"
+      },
+      "key" : {
+        "curve" : "secp521r1",
+        "keySize" : 521,
+        "type" : "ECPublicKey",
+        "uncompressed" : "04000206c03d78cfbaa2eda93a365e62f78a345f7c9c5ab471f549d818416ed7f2f3c1320b07c7af03156c7e8889ce7ad843bd03d0f1c10910e8600119ed51a7a230ab0003ee54c90f1bead23a9a23ca55fd9adfc631183fcfc439e4dc1509a3ee9e5999e4f7f5afc877dc573ed32a3b7435103b08509fb47ebf3922fe5fc0db284b7ebb94",
+        "wx" : "206c03d78cfbaa2eda93a365e62f78a345f7c9c5ab471f549d818416ed7f2f3c1320b07c7af03156c7e8889ce7ad843bd03d0f1c10910e8600119ed51a7a230ab",
+        "wy" : "3ee54c90f1bead23a9a23ca55fd9adfc631183fcfc439e4dc1509a3ee9e5999e4f7f5afc877dc573ed32a3b7435103b08509fb47ebf3922fe5fc0db284b7ebb94"
+      },
+      "keyDer" : "30819b301006072a8648ce3d020106052b810400230381860004000206c03d78cfbaa2eda93a365e62f78a345f7c9c5ab471f549d818416ed7f2f3c1320b07c7af03156c7e8889ce7ad843bd03d0f1c10910e8600119ed51a7a230ab0003ee54c90f1bead23a9a23ca55fd9adfc631183fcfc439e4dc1509a3ee9e5999e4f7f5afc877dc573ed32a3b7435103b08509fb47ebf3922fe5fc0db284b7ebb94",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAAgbAPXjPuqLtqTo2XmL3ijRffJxa\ntHH1SdgYQW7X8vPBMgsHx68DFWx+iInOethDvQPQ8cEJEOhgARntUaeiMKsAA+5U\nyQ8b6tI6miPKVf2a38YxGD/PxDnk3BUJo+6eWZnk9/WvyHfcVz7TKjt0NRA7CFCf\ntH6/OSL+X8DbKEt+u5Q=\n-----END PUBLIC KEY-----",
       "sha" : "SHA-256",
       "type" : "ECDSAVer",
+      "tests" : [
+        {
+          "tcId" : 266,
+          "comment" : "Hash weaker than DL-group",
+          "msg" : "48656c6c6f",
+          "sig" : "00a9f699cf415b2c818fb453cdacaca9d08332c9709e792c1ad85c18dbe79908890e9038486200405ec5ed52556a4971763ff1085dd08eb72a41c5d3e7534b201e980100bc9a543887cb7dd998a474fb5a12cb2fec8045ce47c937f7a3e23b0510a1440d4250c1c0e0c5527beb7adbff07842b953d671e947f5b0a391a6c11a86e850fc1",
+          "result" : "acceptable",
+          "flags" : [
+            "WeakHash"
+          ]
+        }
+      ]
+    },
+    {
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -4870,12 +5611,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
         "wx" : "4f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000",
         "wy" : "0ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200044f337ccfd67726a805e4f1600ae2849df3807eca117380239fbd816900000000ed9dea124cc8c396416411e988c30f427eb504af43a3146cd5df7ea60666d685",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAETzN8z9Z3JqgF5PFgCuKEnfOAfsoR\nc4Ajn72BaQAAAADtneoSTMjDlkFkEemIww9CfrUEr0OjFGzV336mBmbWhQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 247,
+          "tcId" : 267,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "d434e262a49eab7781e353a3565e482550dd0fd5defa013c7f29745eff3569f19b0c0a93f267fb6052fd8077be769c2b98953195d7bc10de844218305c6ba17a",
@@ -4883,7 +5629,7 @@
           "flags" : []
         },
         {
-          "tcId" : 248,
+          "tcId" : 268,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "0fe774355c04d060f76d79fd7a772e421463489221bf0a33add0be9b1979110b500dcba1c69a8fbd43fa4f57f743ce124ca8b91a1f325f3fac6181175df55737",
@@ -4891,7 +5637,7 @@
           "flags" : []
         },
         {
-          "tcId" : 249,
+          "tcId" : 269,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "bb40bf217bed3fb3950c7d39f03d36dc8e3b2cd79693f125bfd06595ee1135e3541bf3532351ebb032710bdb6a1bf1bfc89a1e291ac692b3fa4780745bb55677",
@@ -4901,10 +5647,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -4916,12 +5658,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
         "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935",
         "wy" : "084fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f49726500493584fa174d791c72bf2ce3880a8960dd2a7c7a1338a82f85a9e59cdbde80000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTWE+hdNeRxyvyzjiAqJYN0qfHoTOKgvhanlnNvegAAAAA==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 250,
+          "tcId" : 270,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "664eb7ee6db84a34df3c86ea31389a5405badd5ca99231ff556d3e75a233e73a59f3c752e52eca46137642490a51560ce0badc678754b8f72e51a2901426a1bd",
@@ -4929,7 +5676,7 @@
           "flags" : []
         },
         {
-          "tcId" : 251,
+          "tcId" : 271,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "4cd0429bbabd2827009d6fcd843d4ce39c3e42e2d1631fd001985a79d1fd8b439638bf12dd682f60be7ef1d0e0d98f08b7bca77a1a2b869ae466189d2acdabe3",
@@ -4937,7 +5684,7 @@
           "flags" : []
         },
         {
-          "tcId" : 252,
+          "tcId" : 272,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "e56c6ea2d1b017091c44d8b6cb62b9f460e3ce9aed5e5fd41e8added97c56c04a308ec31f281e955be20b457e463440b4fcf2b80258078207fc1378180f89b55",
@@ -4947,10 +5694,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -4962,12 +5705,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
         "wx" : "3cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f497265004935",
         "wy" : "7b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200043cf03d614d8939cfd499a07873fac281618f06b8ff87e8015c3f4972650049357b05e8b186e38d41d31c77f5769f22d58385ecc857d07a561a6324217fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEPPA9YU2JOc/UmaB4c/rCgWGPBrj/\nh+gBXD9JcmUASTV7BeixhuONQdMcd/V2nyLVg4XsyFfQelYaYyQhf////w==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 253,
+          "tcId" : 273,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "1158a08d291500b4cabed3346d891eee57c176356a2624fb011f8fbbf3466830228a8c486a736006e082325b85290c5bc91f378b75d487dda46798c18f285519",
@@ -4975,7 +5723,7 @@
           "flags" : []
         },
         {
-          "tcId" : 254,
+          "tcId" : 274,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "b1db9289649f59410ea36b0c0fc8d6aa2687b29176939dd23e0dde56d309fa9d3e1535e4280559015b0dbd987366dcf43a6d1af5c23c7d584e1c3f48a1251336",
@@ -4983,7 +5731,7 @@
           "flags" : []
         },
         {
-          "tcId" : 255,
+          "tcId" : 275,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "b7b16e762286cb96446aa8d4e6e7578b0a341a79f2dd1a220ac6f0ca4e24ed86ddc60a700a139b04661c547d07bbb0721780146df799ccf55e55234ecb8f12bc",
@@ -4993,10 +5741,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -5008,12 +5752,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
         "wx" : "2829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffff",
         "wy" : "0a01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d030107034200042829c31faa2e400e344ed94bca3fcd0545956ebcfe8ad0f6dfa5ff8effffffffa01aafaf000e52585855afa7676ade284113099052df57e7eb3bd37ebeb9222e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEKCnDH6ouQA40TtlLyj/NBUWVbrz+\nitD236X/jv////+gGq+vAA5SWFhVr6dnat4oQRMJkFLfV+frO9N+vrkiLg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 256,
+          "tcId" : 276,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "d82a7c2717261187c8e00d8df963ff35d796edad36bc6e6bd1c91c670d9105b43dcabddaf8fcaa61f4603e7cbac0f3c0351ecd5988efb23f680d07debd139929",
@@ -5021,7 +5770,7 @@
           "flags" : []
         },
         {
-          "tcId" : 257,
+          "tcId" : 277,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "5eb9c8845de68eb13d5befe719f462d77787802baff30ce96a5cba063254af782c026ae9be2e2a5e7ca0ff9bbd92fb6e44972186228ee9a62b87ddbe2ef66fb5",
@@ -5029,7 +5778,7 @@
           "flags" : []
         },
         {
-          "tcId" : 258,
+          "tcId" : 278,
           "comment" : "x-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "96843dd03c22abd2f3b782b170239f90f277921becc117d0404a8e4e36230c28f2be378f526f74a543f67165976de9ed9a31214eb4d7e6db19e1ede123dd991d",
@@ -5039,10 +5788,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -5054,12 +5799,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
         "wx" : "0fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f5",
         "wy" : "5a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004fffffff948081e6a0458dd8f9e738f2665ff9059ad6aac0708318c4ca9a7a4f55a8abcba2dda8474311ee54149b973cae0c0fb89557ad0bf78e6529a1663bd73",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE////+UgIHmoEWN2PnnOPJmX/kFmt\naqwHCDGMTKmnpPVairy6LdqEdDEe5UFJuXPK4MD7iVV60L945lKaFmO9cw==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 259,
+          "tcId" : 279,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "766456dce1857c906f9996af729339464d27e9d98edc2d0e3b760297067421f6402385ecadae0d8081dccaf5d19037ec4e55376eced699e93646bfbbf19d0b41",
@@ -5067,7 +5817,7 @@
           "flags" : []
         },
         {
-          "tcId" : 260,
+          "tcId" : 280,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "c605c4b2edeab20419e6518a11b2dbc2b97ed8b07cced0b19c34f777de7b9fd9edf0f612c5f46e03c719647bc8af1b29b2cde2eda700fb1cff5e159d47326dba",
@@ -5075,7 +5825,7 @@
           "flags" : []
         },
         {
-          "tcId" : 261,
+          "tcId" : 281,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "d48b68e6cabfe03cf6141c9ac54141f210e64485d9929ad7b732bfe3b7eb8a84feedae50c61bd00e19dc26f9b7e2265e4508c389109ad2f208f0772315b6c941",
@@ -5085,10 +5835,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -5100,12 +5846,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
         "wx" : "3fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e",
         "wy" : "1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d0301070342000400000003fa15f963949d5f03a6f5c7f86f9e0015eeb23aebbff1173937ba748e1099872070e8e87c555fa13659cca5d7fadcfcb0023ea889548ca48af2ba7e71",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEAAAAA/oV+WOUnV8DpvXH+G+eABXu\nsjrrv/EXOTe6dI4QmYcgcOjofFVfoTZZzKXX+tz8sAI+qIlUjKSK8rp+cQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 262,
+          "tcId" : 282,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "b7c81457d4aeb6aa65957098569f0479710ad7f6595d5874c35a93d12a5dd4c7b7961a0b652878c2d568069a432ca18a1a9199f2ca574dad4b9e3a05c0a1cdb3",
@@ -5113,7 +5864,7 @@
           "flags" : []
         },
         {
-          "tcId" : 263,
+          "tcId" : 283,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "6b01332ddb6edfa9a30a1321d5858e1ee3cf97e263e669f8de5e9652e76ff3f75939545fced457309a6a04ace2bd0f70139c8f7d86b02cb1cc58f9e69e96cd5a",
@@ -5121,7 +5872,7 @@
           "flags" : []
         },
         {
-          "tcId" : 264,
+          "tcId" : 284,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "efdb884720eaeadc349f9fc356b6c0344101cd2fd8436b7d0e6a4fb93f106361f24bee6ad5dc05f7613975473aadf3aacba9e77de7d69b6ce48cb60d8113385d",
@@ -5131,10 +5882,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -5146,12 +5893,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
         "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015",
         "wy" : "1352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015000000001352bb4a0fa2ea4cceb9ab63dd684ade5a1127bcf300a698a7193bc2",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BUAAAAAE1K7Sg+i6kzOuatj3WhK3loRJ7zzAKaYpxk7wg==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 265,
+          "tcId" : 285,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "31230428405560dcb88fb5a646836aea9b23a23dd973dcbe8014c87b8b20eb070f9344d6e812ce166646747694a41b0aaf97374e19f3c5fb8bd7ae3d9bd0beff",
@@ -5159,7 +5911,7 @@
           "flags" : []
         },
         {
-          "tcId" : 266,
+          "tcId" : 286,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "caa797da65b320ab0d5c470cda0b36b294359c7db9841d679174db34c4855743cf543a62f23e212745391aaf7505f345123d2685ee3b941d3de6d9b36242e5a0",
@@ -5167,7 +5919,7 @@
           "flags" : []
         },
         {
-          "tcId" : 267,
+          "tcId" : 287,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "7e5f0ab5d900d3d3d7867657e5d6d36519bc54084536e7d21c336ed8001859459450c07f201faec94b82dfb322e5ac676688294aad35aa72e727ff0b19b646aa",
@@ -5177,10 +5929,6 @@
       ]
     },
     {
-      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-256",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-256",
         "kid" : "none",
@@ -5192,12 +5940,17 @@
         "curve" : "secp256r1",
         "keySize" : 256,
         "type" : "ECPublicKey",
+        "uncompressed" : "04bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
         "wx" : "0bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015",
         "wy" : "0fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d"
       },
+      "keyDer" : "3059301306072a8648ce3d020106082a8648ce3d03010703420004bcbb2914c79f045eaa6ecbbc612816b3be5d2d6796707d8125e9f851c18af015fffffffeecad44b6f05d15b33146549c2297b522a5eed8430cff596758e6c43d",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvLspFMefBF6qbsu8YSgWs75dLWeW\ncH2BJen4UcGK8BX////+7K1EtvBdFbMxRlScIpe1IqXu2EMM/1lnWObEPQ==\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-256",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 268,
+          "tcId" : 288,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "d7d70c581ae9e3f66dc6a480bf037ae23f8a1e4a2136fe4b03aa69f0ca25b35689c460f8a5a5c2bbba962c8a3ee833a413e85658e62a59e2af41d9127cc47224",
@@ -5205,7 +5958,7 @@
           "flags" : []
         },
         {
-          "tcId" : 269,
+          "tcId" : 289,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "341c1b9ff3c83dd5e0dfa0bf68bcdf4bb7aa20c625975e5eeee34bb396266b3472b69f061b750fd5121b22b11366fad549c634e77765a017902a67099e0a4469",
@@ -5213,7 +5966,7 @@
           "flags" : []
         },
         {
-          "tcId" : 270,
+          "tcId" : 290,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "70bebe684cdcb5ca72a42f0d873879359bd1781a591809947628d313a3814f67aec03aca8f5587a4d535fa31027bbe9cc0e464b1c3577f4c2dcde6b2094798a9",
@@ -5223,10 +5976,6 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-384",
         "kid" : "none",
@@ -5238,12 +5987,17 @@
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
         "wx" : "0ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aac",
         "wy" : "0acbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004ffffffffaa63f1a239ac70197c6ebfcea5756dc012123f82c51fa874d66028be00e976a1080606737cc75c40bdfe4aacacbd85389088a62a6398384c22b52d492f23f46e4a27a4724ad55551da5c483438095a247cb0c3378f1f52c3425ff9f1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE/////6pj8aI5rHAZfG6/zqV1bcASEj+C\nxR+odNZgKL4A6XahCAYGc3zHXEC9/kqsrL2FOJCIpipjmDhMIrUtSS8j9G5KJ6Ry\nStVVUdpcSDQ4CVokfLDDN48fUsNCX/nx\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 271,
+          "tcId" : 291,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "07648b6660d01ba2520a09d298adf3b1a02c32744bd2877208f5a4162f6c984373139d800a4cdc1ffea15bce4871a0ed99fd367012cb9e02cde2749455e0d495c52818f3c14f6e6aad105b0925e2a7290ac4a06d9fadf4b15b578556fe332a5f",
@@ -5251,7 +6005,7 @@
           "flags" : []
         },
         {
-          "tcId" : 272,
+          "tcId" : 292,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "a049dcd96c72e4f36144a51bba30417b451a305dd01c9e30a5e04df94342617dc383f17727708e3277cd7246ca4407413970e264d85b228bf9e9b9c4947c5dd041ea8b5bde30b93aa59fedf2c428d3e2540a54e0530688acccb83ac7b29b79a2",
@@ -5259,7 +6013,7 @@
           "flags" : []
         },
         {
-          "tcId" : 273,
+          "tcId" : 293,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "441800ea9377c27865be000ad008eb3d7502bdd105824b26d15cf3d06452969a9d0607a915a8fe989215fc4d61af6e05dce29faa5137f75ad77e03918c8ee6747cc7a39b0a69f8b915654cac4cf4bfd9c87cc46ae1631b5c6baebd4fc08ff8fd",
@@ -5269,10 +6023,6 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-384",
         "kid" : "none",
@@ -5284,12 +6034,17 @@
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
         "wx" : "0d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422",
         "wy" : "0c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004d1827fc6f6f12f21992c5a409a0653b121d2ef02b2b0ab01a9161ce956280740b1e356b255701b0a6ddc9ec2ca8a9422c6ed5d2ced8d8ab7560fa5bb88c738e74541883d8a2b1c0e2ba7e36d030fc4d9bfb8b22f24db897ebac49dd400000000",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE0YJ/xvbxLyGZLFpAmgZTsSHS7wKysKsB\nqRYc6VYoB0Cx41ayVXAbCm3cnsLKipQixu1dLO2NirdWD6W7iMc450VBiD2KKxwO\nK6fjbQMPxNm/uLIvJNuJfrrEndQAAAAA\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 274,
+          "tcId" : 294,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "3244768016457c463b74f2097f216d9670b191f76281c74bc6a1a1971d19f209bf4696468f5eb75d6326a0a43c0a6529501e0ad985ed9f95697bd17fdbe3f9ca92e0f76426d3664e6896648d9c750bf588d0ce7d011c1a1e8d6c2e082422dc93",
@@ -5297,7 +6052,7 @@
           "flags" : []
         },
         {
-          "tcId" : 275,
+          "tcId" : 295,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "5e1af40f2480e3d97c4ae4bfd34a9f45269241356f3a46becd86a4a7c9716d73ca5aebdb3db1a7765650666683bc856b7e7c4b473a2baaa4953785be8aa2a10006f6d36b400ab981864d69cecec046718d0404b9647454b159aa5a92d76d7955",
@@ -5305,7 +6060,7 @@
           "flags" : []
         },
         {
-          "tcId" : 276,
+          "tcId" : 296,
           "comment" : "y-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "6688e36a26f15bdc1c3f91367f8a7667f7bb3e30a335d6f0900e9534eb88b260cb29344c723fedfbe7ac9c5a33f4bf0daa35fddf0fdc9017860b378f801cd806f3e2d754cd2fd94eb7bb36a46ce828cef87e9ebbf447068e630b87fee385ad8f",
@@ -5315,10 +6070,6 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-384",
         "kid" : "none",
@@ -5330,12 +6081,17 @@
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
         "wx" : "1099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000",
         "wy" : "0e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b81040022036200041099bb45100f55f5a85cca3de2b3bd5e250f4f6fad6631a3156c2e52a33d7d615dd279f79f8b4baff7c713ac00000000e6c9b736a8929f2ed7be0c753a54cbb48b8469e0411eaf93a4a82459ba0b681bba8f5fb383b4906d4901a3303e2f1557",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEEJm7RRAPVfWoXMo94rO9XiUPT2+tZjGj\nFWwuUqM9fWFd0nn3n4tLr/fHE6wAAAAA5sm3NqiSny7Xvgx1OlTLtIuEaeBBHq+T\npKgkWboLaBu6j1+zg7SQbUkBozA+LxVX\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 277,
+          "tcId" : 297,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "d4a8f3b0b4d3a5769e3a0bbc644b35f1d509355ed1fe401e170f667b661f693b32598e8c143a817a958982845042bb4804cc07578bbd1981dbf6e8a97a354c98d41b8b6f6e8a2c2b1763c7c2a29d79e24f8476075c9aed9aec6c64dff50461ae",
@@ -5343,7 +6099,7 @@
           "flags" : []
         },
         {
-          "tcId" : 278,
+          "tcId" : 298,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "c286d1928e9c79fdd3bebdf22a1dbd37c8105e8ecf41e9e3777fe341b6b8d5a89b9d986827d6d1dbb381cd8239484a22201119ae305b9360aa9b5e5d1567e0674c09e4f025556ebf81b987466b0f421b8d31f72bbe95f3ce2aa9874a84edfd40",
@@ -5351,7 +6107,7 @@
           "flags" : []
         },
         {
-          "tcId" : 279,
+          "tcId" : 299,
           "comment" : "x-coordinate of the public key has many trailing 0's",
           "msg" : "4d657373616765",
           "sig" : "d9c678550167f10c511e62acb4bd0a3f7f336bc090c94e6c6b02622439c348a2159c5f41f9b5aa4b470590d40dcd7cc21fd5eaee295abb4081cb626745f4ad279ceb44604062830b58e6c0465c562d41f02ba588fc0db1ebbe339cdc008d7a1b",
@@ -5361,10 +6117,6 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-384",
         "kid" : "none",
@@ -5376,12 +6128,17 @@
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
         "wx" : "2b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69",
         "wy" : "0d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004000000002b089edd754169010145f263f334fc167cc19dae8225970ae19cc8cb7ec73593d6a465c370f5478b0e539d69d1951d597b56a67345acb25809581f07cd0eb78d9538a3f8a65f300e68a1eb78507df76de650e8f8ee63a5f0c5687c98",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEAAAAACsInt11QWkBAUXyY/M0/BZ8wZ2u\ngiWXCuGcyMt+xzWT1qRlw3D1R4sOU51p0ZUdWXtWpnNFrLJYCVgfB80Ot42VOKP4\npl8wDmih63hQffdt5lDo+O5jpfDFaHyY\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 280,
+          "tcId" : 300,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "20fee7c71b6cb0d1da3641ec6622c055a3b16a1f596c64b34da1b2d0b868b66a8f0a0d0db983b3dc7e53bb7295da81978141a931d3579aec1cac9887d2fff9c6f12d47a27e4aab8cf262a9d14a715bca0b2057cbc3f18b6fd3d1df76f7410f16",
@@ -5389,7 +6146,7 @@
           "flags" : []
         },
         {
-          "tcId" : 281,
+          "tcId" : 301,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "913eecc559b3cf7108a65d6cc3076bfdf36c6f94dcc6693d06690470f34a2e81564241e1de5f5f51421de30af467f10f649bd3717244e8ef3c6b0eda983f84dca5ea86d1bec15386b9c473ec43a8cd0ba558eee819f791d9ff9272b9afd59551",
@@ -5397,7 +6154,7 @@
           "flags" : []
         },
         {
-          "tcId" : 282,
+          "tcId" : 302,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "23855c46403a97b76cbb316ec3fe7e2c422b818387604bda8c3d91121b4f20179d9107c5f92dedc8b620d7db87fccccd50f57343ab148e50662320c4161e44543c35bc992011ea5b1680b94382cf224ea0ec5da511e102f566cb67201f30a2ee",
@@ -5407,10 +6164,6 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-384",
         "kid" : "none",
@@ -5422,12 +6175,17 @@
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
         "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336",
         "wy" : "208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b33600000000208b3f5ad3b3937acc9d606cc5ececab4a701f75ed42957ea4d7858d33f5c26c6ae20a9cccda56996700d6b4",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2AAAAACCLP1rTs5N6zJ1gbMXs7KtKcB91\n7UKVfqTXhY0z9cJsauIKnMzaVplnANa0\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 283,
+          "tcId" : 303,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "d200958d491fcebde667cd736c9dba0961c70db2ecaf573c31dd7fa41ecca32b40b5896f9a0ddf272110e3d21e84593ac2ecf73943b9adce596bac14fce62495ae93825c5ff6f61c247d1d8afcba52082fc96f63a26e55bccfc3779f88cfd799",
@@ -5435,7 +6193,7 @@
           "flags" : []
         },
         {
-          "tcId" : 284,
+          "tcId" : 304,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "6ac17d71260c79f81a7566124738cb3ee5d0aa690e73a98ae9e766f1336691e500cad51ba1302366c09cc06b8f7049e032ca965d6d7012ec187c7cab9544334d66c2a7658ddefa67e4ad40429815518ecc87b1492ddd57333bd2300b4660a835",
@@ -5443,7 +6201,7 @@
           "flags" : []
         },
         {
-          "tcId" : 285,
+          "tcId" : 305,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "e19a4646f0ed8a271fe86ba533f8be4fd81bbf4674716f668efa89a40cac51eec2a6cfbd92327d25efe91ca4ff712bc54a86b2e8e12378e633dec2691e3b1eed4e932cc48b28e45fa3d464cc0e948c02cc9decf2bb43b25937fcf37e9ad86ef0",
@@ -5453,10 +6211,6 @@
       ]
     },
     {
-      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-384",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-384",
         "kid" : "none",
@@ -5468,12 +6222,17 @@
         "curve" : "secp384r1",
         "keySize" : 384,
         "type" : "ECPublicKey",
+        "uncompressed" : "04fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
         "wx" : "0fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336",
         "wy" : "0ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b"
       },
+      "keyDer" : "3076301006072a8648ce3d020106052b8104002203620004fb01baad5f0b8f79b9cd104d12aab9310146add7d6b4c022d87ae6711178b94d618ca7b3af13854b1c588879e877b336ffffffffdf74c0a52c4c6c8533629f933a131354b58fe08a12bd6a815b287a71cc0a3d92951df5633325a96798ff294b",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+wG6rV8Lj3m5zRBNEqq5MQFGrdfWtMAi\n2HrmcRF4uU1hjKezrxOFSxxYiHnod7M2/////990wKUsTGyFM2KfkzoTE1S1j+CK\nEr1qgVsoenHMCj2SlR31YzMlqWeY/ylL\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-384",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 286,
+          "tcId" : 306,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "15aac6c0f435cb662d110db5cf686caee53c64fe2d6d600a83ebe505a0e6fc62dc5705160477c47528c8c903fa865b5d7f94ddc01a603f9bec5d10c9f2c89fb23b3ffab6b2b68d0f04336d499085e32d22bf3ab67a49a74c743f72473172b59f",
@@ -5481,7 +6240,7 @@
           "flags" : []
         },
         {
-          "tcId" : 287,
+          "tcId" : 307,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "90b95a7d194b73498fba5afc95c1aea9be073162a9edc57c4d12f459f0a1730baf2f87d7d6624aea7b931ec53370fe47cbc1ef470e666010604c609384b872db7fa7b8a5a9f20fdefd656be2fcc75db53948102f7ab203ea1860a6a32af246a1",
@@ -5489,7 +6248,7 @@
           "flags" : []
         },
         {
-          "tcId" : 288,
+          "tcId" : 308,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "dd4391ce7557cbd005e3d5d727cd264399dcc3c6501e4547505b6d57b40bbf0a7fac794dcc8d4233159dd0aa40d4e0b9a77fa1374fd60aa91600912200fc83c6aa447f8171ecea72ae322df32dccd68951dc5caf6c50380e400e45bf5c0e626b",
@@ -5499,10 +6258,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoAAAAA\nAJuYv9MzmMLPhgb8CuRottYXzLPnBK87hQZkKnddW02p0AIJNkqfCkrXfLrGBKAV\nyX5rWhiESliaTxx9liU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -5514,12 +6269,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
         "wx" : "304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a",
         "wy" : "09b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a00000000009b98bfd33398c2cf8606fc0ae468b6d617ccb3e704af3b8506642a775d5b4da9d00209364a9f0a4ad77cbac604a015c97e6b5a18844a589a4f1c7d9625",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoAAAAA\nAJuYv9MzmMLPhgb8CuRottYXzLPnBK87hQZkKnddW02p0AIJNkqfCkrXfLrGBKAV\nyX5rWhiESliaTxx9liU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 289,
+          "tcId" : 309,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "011c9684af6dc52728410473c63053b01c358d67e81f8a1324ad711c60481a4a86dd3e75de20ca55ce7a9a39b1f82fd5da4fadf26a5bb8edd467af8825efe47462180034c058aba6488d6943e11e0d1348429449ea17ac5edf8bcaf654106b98b2ddf346c537b8a9a3f9b3174b77637d220ef5318dbbc33d0aac0fe2ddeda17b23cb2de6",
@@ -5527,7 +6287,7 @@
           "flags" : []
         },
         {
-          "tcId" : 290,
+          "tcId" : 310,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "007c47a668625648cd8a31ac92174cf3d61041f7ad292588def6ed143b1ff9a288fd20cf36f58d4bfe4b2cd4a381d4da50c8eda5674f020449ae1d3dd77e44ed485e01058e86b327d284e35bab49fc7c335417573f310afa9e1a53566e0fae516e099007965030f6f46b077116353f26cb466d1cf3f35300d744d2d8f883c8a31b43c20d",
@@ -5535,7 +6295,7 @@
           "flags" : []
         },
         {
-          "tcId" : 291,
+          "tcId" : 311,
           "comment" : "y-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "01e4e9f3a7b800de63407b8703ac545226541c97a673566711f70e2b9ccb21a145ad4637825b023d1ea9f18e60897413711611a85c1179bff9c107368f1c1b61c24c01de948ee577c3d4e4122a52ecccac59abb6fa937dfb3e4b988cb243efe98740309452ba013112b225b3b1b1384d5f68796845199a2602a8d4505a331b07d101188e",
@@ -5545,10 +6305,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoB////\n/2RnQCzMZz0wefkD9RuXSSnoM0wY+1DEevmb1YiipLJWL/32ybVg9bUog0U5+1/q\nNoGUped7tadlsOOCado=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -5560,12 +6316,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
         "wx" : "304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a",
         "wy" : "1ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400304b3d071ed1ef302391b566af8c9d1cb7afe9aabc141ac39ab39676c63e48c1b2c6451eb460e452bd573e1fb5f15b8e5f9c03f634d8db6897285064b3ce9bd98a01ffffffff6467402ccc673d3079f903f51b974929e8334c18fb50c47af99bd588a2a4b2562ffdf6c9b560f5b528834539fb5fea368194a5e77bb5a765b0e38269da",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAMEs9Bx7R7zAjkbVmr4ydHLev6aq8\nFBrDmrOWdsY+SMGyxkUetGDkUr1XPh+18VuOX5wD9jTY22iXKFBks86b2YoB////\n/2RnQCzMZz0wefkD9RuXSSnoM0wY+1DEevmb1YiipLJWL/32ybVg9bUog0U5+1/q\nNoGUped7tadlsOOCado=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 292,
+          "tcId" : 312,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "00b6cf64861a2b16e33976095dbf45a592c7c24228c4a1dd727f303d5eeb87e5388ad05c328f824c40abd3e6ce003fef5cd59dee0069ad6348ea6e57f90f6bdc0a8200228181c180366e5451dfef3593ce664804cb42d5a8d5046b816b3daf6602fafd9ac2dc24b8c93a10024480882558b6ad3d9e905923dcd0fd2a11964754a9b46b8f",
@@ -5573,7 +6334,7 @@
           "flags" : []
         },
         {
-          "tcId" : 293,
+          "tcId" : 313,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "0093c8f766827d6dc15c810fa30433153a5e742859205ee8389fbf695c8840dc917440870acc5b160087ffd0cd9a6081029c60a7c26d5e8aa9a0570f4efdeb13dea2012ec3bbf75a0ad3df40310266648a36db820217ed7fa94e9c8313e03293ef4f6a40e736fb8f208ad8fb883ca509d48046910523645459c27829d54431463b2548c7",
@@ -5581,7 +6342,7 @@
           "flags" : []
         },
         {
-          "tcId" : 294,
+          "tcId" : 314,
           "comment" : "y-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "0152388c6da66164b706b41dd4dd48176d6eaf6525f876ef0ff2d147f6966ebfadf1767fa66d04203d3ec9c937a1f0c945aed953e34be444c219fd3b94d3277aa65201658c1e5b2e563a49d11c883d05c491d628f0a92c3e3dc8db9a4c8d5f0dc846ac22af8b3c5fb5bbe2cfa98614dcffd87de1cee2c5912a5899505a0c5bcaa513e2c6",
@@ -5591,10 +6352,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAAAAAAvumoGEgHqax7UJlFjVoc166\nt4YAzfanEQHcY76vVG2XohT8Y5Z5OwFOsap6co9T3rL/mZmjgI3f7RXpYpsBmThS\n2tw5KZpaRba9fI3I7Gfnrbs1n6j6XUSXfhXi5ams8MM2RfPyxoxSbgdzL7NQQ3Gc\n+vwWBjyOWIUKlYQ2pOU=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -5606,12 +6363,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
         "wx" : "2fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b",
         "wy" : "1993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b8104002303818600040000000002fba6a061201ea6b1ed4265163568735ebab78600cdf6a71101dc63beaf546d97a214fc6396793b014eb1aa7a728f53deb2ff9999a3808ddfed15e9629b01993852dadc39299a5a45b6bd7c8dc8ec67e7adbb359fa8fa5d44977e15e2e5a9acf0c33645f3f2c68c526e07732fb35043719cfafc16063c8e58850a958436a4e5",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAAAAAAvumoGEgHqax7UJlFjVoc166\nt4YAzfanEQHcY76vVG2XohT8Y5Z5OwFOsap6co9T3rL/mZmjgI3f7RXpYpsBmThS\n2tw5KZpaRba9fI3I7Gfnrbs1n6j6XUSXfhXi5ams8MM2RfPyxoxSbgdzL7NQQ3Gc\n+vwWBjyOWIUKlYQ2pOU=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 295,
+          "tcId" : 315,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "010e89470f981d2c7c5c96587121a67323bb96ff2427739d0d885ea277293efa3b25c0bda04d81466198a3cbfc441f1b1b98f6bcdc2589d9d91a17a7899f70d0461e017351b0da8c8d0e4aa0974669d190fa2f90aa50227160594dfb55755002365441de17ea42902128a6f81e554177ed509c0cec31fd5053fae03f62ff76579ba92bda",
@@ -5619,7 +6381,7 @@
           "flags" : []
         },
         {
-          "tcId" : 296,
+          "tcId" : 316,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "011094ac23ca46a3e2b4ac3baae6504f1bfb3ddf2db9ab40eda32d8e0a05727998f8552a033bb05241e826a86a1d03014eae3aa5fe1a45caac1db3e8138b9cf590680147edb15a5080ee2f929f78b6ac86604aae51b674fa46eaae7fdfd90bf64d6189341155f4eba937eae74c9e480eb4fb7e6aafd4285e7fc503ee6ec20f0b1415be06",
@@ -5627,7 +6389,7 @@
           "flags" : []
         },
         {
-          "tcId" : 297,
+          "tcId" : 317,
           "comment" : "x-coordinate of the public key is small",
           "msg" : "4d657373616765",
           "sig" : "01d876ae174da31e128babff9f1d15507660bdc7958750844dc4f4291f75a882a22f177f704be6067bf7ce8f06b8626d971e6ef5dcb666fa975c1e11126e04fccce201abb12630a68b669e6ad2d8d62654d75dfbc6b54a8e3a9c915be663e080ddcc348e57a10e2b1dd9f03e1b897796ad889b075e5919dc5bf37a112d92c693456e6457",
@@ -5637,10 +6399,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/////h1dUrMcpS+JR6NVk+3xZM0y\nT4M7kJNYRsZNsUVN+fAo3IvDa7BMt/DM7OugGjhECX98Ne6qgUKNsMymMzEBt8cC\nd9C/eKPHtiyTfwyyytJWX1UU9iBc6xoZPU/bRbpubOwHgnuuCxa4MWw1OaFRFNDe\nbS3kB/1xF1UacIJuraY=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -5652,12 +6410,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
         "wx" : "1fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca63331",
         "wy" : "1b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000401fffffffe1d5d52b31ca52f8947a35593edf164cd324f833b90935846c64db1454df9f028dc8bc36bb04cb7f0cceceba01a3844097f7c35eeaa81428db0cca6333101b7c70277d0bf78a3c7b62c937f0cb2cad2565f5514f6205ceb1a193d4fdb45ba6e6cec07827bae0b16b8316c3539a15114d0de6d2de407fd7117551a70826eada6",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQB/////h1dUrMcpS+JR6NVk+3xZM0y\nT4M7kJNYRsZNsUVN+fAo3IvDa7BMt/DM7OugGjhECX98Ne6qgUKNsMymMzEBt8cC\nd9C/eKPHtiyTfwyyytJWX1UU9iBc6xoZPU/bRbpubOwHgnuuCxa4MWw1OaFRFNDe\nbS3kB/1xF1UacIJuraY=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 298,
+          "tcId" : 318,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "004ed692af1ed1b4bd5cea3aa8ddc6f3f15d8a6ee0016fa0e8eb958580e7421832ecc0e387c34aafac6380bac419ea45c42ae6426af503847f22c49c2f456338c1a7007aceadde02ace1668bc1a3360d34e125afde230f536c154d91e6c876bee1d34ae06edcbbca0c7cd17646840913164740b12e2e224fe3ef3dec6fd84a81b581c188",
@@ -5665,7 +6428,7 @@
           "flags" : []
         },
         {
-          "tcId" : 299,
+          "tcId" : 319,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "00e01094048fcf7a1e2ec66faedffc40f48c9c93514325bde6b4958d80f0413efde7eec1dc6de65f96009c069397e51da2eb1729efa287afd5552b25a9e427a6d83601489e7e124f66942e642de992e60b3a86fcce576767719390c3a312fcdeaa560a7fbb0cabb35e05a6d6f3499160fd2dba12d29b613b16dec7494c950d65fdf11fa3",
@@ -5673,7 +6436,7 @@
           "flags" : []
         },
         {
-          "tcId" : 300,
+          "tcId" : 320,
           "comment" : "x-coordinate of the public key is large",
           "msg" : "4d657373616765",
           "sig" : "01d296292213380de133dc66eceb8bd857a5c468afe855c05da9db937373b51f9020ca11353415da76bb6af997a486d2370e31adcc0a4531952a3b59428678ee5943015979a3c609c2c2099ae1b290da3d613b248e3a10de7ad770dffc82fb33e74fc3207533f97285cf4557a6407e9a775e59efeaee4264b2634933a6baf8c406f0c4a9",
@@ -5683,10 +6446,6 @@
       ]
     },
     {
-      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAx8iBe/LwZSpKS1FAx3PiYQgKChET\nlYVuijNQ9etWEr1js2e5ZekulTjqO3kIrvGt5LaOF/n5FISVwWfRxN1JE0kACL8L\n4peau4ER/Q12itytd0ETqCLBu2CIcFO1z4yVY+dnBaOR7OFUtd+xFLIONR30AUvs\nGfqHcghFgBzwa3////8=\n-----END PUBLIC KEY-----",
-      "sha" : "SHA-512",
-      "type" : "ECDSAVer",
       "jwk" : {
         "crv" : "P-521",
         "kid" : "none",
@@ -5698,12 +6457,17 @@
         "curve" : "secp521r1",
         "keySize" : 521,
         "type" : "ECPublicKey",
+        "uncompressed" : "0400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
         "wx" : "0c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd491349",
         "wy" : "08bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff"
       },
+      "keyDer" : "30819b301006072a8648ce3d020106052b81040023038186000400c7c8817bf2f0652a4a4b5140c773e261080a0a111395856e8a3350f5eb5612bd63b367b965e92e9538ea3b7908aef1ade4b68e17f9f9148495c167d1c4dd4913490008bf0be2979abb8111fd0d768adcad774113a822c1bb60887053b5cf8c9563e76705a391ece154b5dfb114b20e351df4014bec19fa87720845801cf06b7fffffff",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAx8iBe/LwZSpKS1FAx3PiYQgKChET\nlYVuijNQ9etWEr1js2e5ZekulTjqO3kIrvGt5LaOF/n5FISVwWfRxN1JE0kACL8L\n4peau4ER/Q12itytd0ETqCLBu2CIcFO1z4yVY+dnBaOR7OFUtd+xFLIONR30AUvs\nGfqHcghFgBzwa3////8=\n-----END PUBLIC KEY-----",
+      "sha" : "SHA-512",
+      "type" : "ECDSAVer",
       "tests" : [
         {
-          "tcId" : 301,
+          "tcId" : 321,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "01ef8f785c51a25ae2cd93487b5c848d4af133217a91f51359c966e7538e68743578122df5830002f96f6fadb5bc44480e3b3b2c804e4c51cf95d059d5646c5cef2101ba2276cc003e87bea37c3724e58a0ab885f56d09b8b5718f674f9c70f3b5ecfb4ad1f3417b420ec40810e08826efa7d8ad6ca7c6a7840348097f92b2de8d6e080b",
@@ -5711,7 +6475,7 @@
           "flags" : []
         },
         {
-          "tcId" : 302,
+          "tcId" : 322,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "0155978adc4b570d897511f5ecfb65a31947e6e989da17dea716625bb3fa7b92b853623eb0cd9ce2a5e2b4d8c1c2a90ec04fe79d012576ec728a45c5ce47c6d500c000f79fa8b94ee282a3d1815892cbf15d7ebdf62cb042c76bb3c710c23e32b75992cc249d84072198e4ed63d72435a07d2ed76f278d7399f61a5b5c997f45692fed22",
@@ -5719,7 +6483,7 @@
           "flags" : []
         },
         {
-          "tcId" : 303,
+          "tcId" : 323,
           "comment" : "y-coordinate of the public key has many trailing 1's",
           "msg" : "4d657373616765",
           "sig" : "01a2af29c58184ca861e7cd931f39cea064b199eee563f241cd5ecf6ebb2ade728f1be23cf007ebe8ef0c42d99f9f5190f6815446afc3043a820d7daf27e86b83b8a01a2acd1822eb539383defff8769aad8bacd50cd24ca7aa6670671418110177808c3f4fbe6041b9cb898359ee61e04824adedd62b39fe5791907a20586333bd3c76d",
diff --git a/src/third_party/wycheproof/eddsa_test.json b/src/third_party/wycheproof_testvectors/eddsa_test.json
similarity index 99%
rename from src/third_party/wycheproof/eddsa_test.json
rename to src/third_party/wycheproof_testvectors/eddsa_test.json
index 9444ff4..89f3008 100644
--- a/src/third_party/wycheproof/eddsa_test.json
+++ b/src/third_party/wycheproof_testvectors/eddsa_test.json
@@ -1,16 +1,13 @@
 {
   "algorithm" : "EDDSA",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 109,
+  "generatorVersion" : "0.4.6",
   "notes" : {
     "SignatureMalleability" : "EdDSA signatures are non-malleable, if implemented accordingly. Failing to check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7 and Section 8.4."
   },
+  "numberOfTests" : 109,
   "header" : [],
   "testGroups" : [
     {
-      "keyDer" : "302a300506032b65700321007d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAfU0Of2FTpptiQrUiq77mhf2kQg+INLEIw72uNp71Sfo=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -18,6 +15,9 @@
         "sk" : "add4bb8103785baf9ac534258e8aaf65f5f1adb5ef5f3df19bb80ab989c4d64b",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b65700321007d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAfU0Of2FTpptiQrUiq77mhf2kQg+INLEIw72uNp71Sfo=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 1,
@@ -582,9 +582,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAoSwr63cmXyqslTtQCTSdlBVaA62kFqrUUTGUgOmDykw=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -592,6 +589,9 @@
         "sk" : "0a23a20072891237aa0864b5765139514908787878cd77135a0059881d313f00",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAoSwr63cmXyqslTtQCTSdlBVaA62kFqrUUTGUgOmDykw=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 69,
@@ -668,9 +668,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -678,6 +675,9 @@
         "sk" : "9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA11qYAYKxCrfVS/7TyWQHOg7hcvPapiMlrwIaaPcHURo=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 78,
@@ -690,9 +690,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAPUAXw+hDiVqStwqnTRt+vJyYLM8uxJaMwM1V8Sr0Zgw=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -700,6 +697,9 @@
         "sk" : "4ccd089b28ff96da9db6c346ec114e0f5b8a319f35aba624da8cf6ed4fb8a6fb",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAPUAXw+hDiVqStwqnTRt+vJyYLM8uxJaMwM1V8Sr0Zgw=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 79,
@@ -712,9 +712,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA/FHNjmIYoaONpH7QAjDwWAgW7RO6MwOsXeuRFUiQgCU=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -722,6 +719,9 @@
         "sk" : "c5aa8df43f9f837bedb7442f31dcb7b166d38535076f094b85ce3a2e0b4458f7",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEA/FHNjmIYoaONpH7QAjDwWAgW7RO6MwOsXeuRFUiQgCU=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 80,
@@ -734,9 +734,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAJ4EX/BRMcjQPZ9DyMW6Dhs7/vyskKMnFH+98WX8dQm4=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -744,6 +741,9 @@
         "sk" : "f5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAJ4EX/BRMcjQPZ9DyMW6Dhs7/vyskKMnFH+98WX8dQm4=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 81,
@@ -756,9 +756,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b65700321008fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAj9ZZt3tVjtk4gsEVdDhFCshuxi1CHVaOmO4jbzgQKVo=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -766,6 +763,9 @@
         "sk" : "d7ad3f1f6bbe0477c3c357a806a19eb41ae3f94025035bc87f281f8ee9fc0e34",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b65700321008fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAj9ZZt3tVjtk4gsEVdDhFCshuxi1CHVaOmO4jbzgQKVo=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 82,
@@ -778,9 +778,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b65700321002a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAKmBr9nrHcMYHA4sAQQGzJe21ae/TQT0tHyw+a05uMII=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -788,6 +785,9 @@
         "sk" : "ad9b22793336fcdac10e136c4deea599be187a38eef91c1cf7c7a4ec884dda08",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b65700321002a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAKmBr9nrHcMYHA4sAQQGzJe21ae/TQT0tHyw+a05uMII=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 83,
@@ -808,9 +808,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAyclGy8VUSsdO70kfB8WIHBb69+wxzkqpG7YK57RTkFE=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -818,6 +815,9 @@
         "sk" : "04a6553d68a9baef78a2175af375458eaa01cdb77350c61e282ef5f0c7116599",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAyclGy8VUSsdO70kfB8WIHBb69+wxzkqpG7YK57RTkFE=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 85,
@@ -838,9 +838,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b657003210032ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMq0Cb2k9DSr+f0OI2RxMlkQm/LnjZlw+vYZQAJuBXI4=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -848,6 +845,9 @@
         "sk" : "c367c8d2ebeeecd70c1e8985b70c3808b75657f243b21ba4f322792540e92257",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b657003210032ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAMq0Cb2k9DSr+f0OI2RxMlkQm/LnjZlw+vYZQAJuBXI4=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 87,
@@ -924,9 +924,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwp7BiU4G0ntOQEhrT6UGPWanRsf5wyOxIgPAO3K4t4o=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -934,6 +931,9 @@
         "sk" : "56c1e22d616cbb6dea869288b4b1c02bb98696583c2f6e650013a03e17049c62",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwp7BiU4G0ntOQEhrT6UGPWanRsf5wyOxIgPAO3K4t4o=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 96,
@@ -954,9 +954,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAz9pbiZ41dkxSKeWSlf4SIrfdzhdmQ2l8KeRuy7oQzxA=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -964,6 +961,9 @@
         "sk" : "b7d2f64276df417fed27d8e15b4e90f6fd93dace707294c338bd32bc4bbd8fdb",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAz9pbiZ41dkxSKeWSlf4SIrfdzhdmQ2l8KeRuy7oQzxA=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 98,
@@ -1008,9 +1008,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAUpkZyceAmFqEHEK6bBgP8tZ6J2zPvigQgOR6txp1j1Y=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -1018,6 +1015,9 @@
         "sk" : "7d597c3b7283929d07ed8f01f31d2596823e5e46ab226c7be4234d1a9dcaef37",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAUpkZyceAmFqEHEK6bBgP8tZ6J2zPvigQgOR6txp1j1Y=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 103,
@@ -1038,9 +1038,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b65700321002252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAIlKz1Xx0y/i8Rg3C4IKEeSa8Ai8Jq2rpV1Y2K/0RZ8E=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -1048,6 +1045,9 @@
         "sk" : "f401cee4bfb1732f0e9b8d8ba79469565c3115296141dbdf7e9c311a0ac1823b",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b65700321002252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAIlKz1Xx0y/i8Rg3C4IKEeSa8Ai8Jq2rpV1Y2K/0RZ8E=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 105,
@@ -1068,9 +1068,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b6570032100c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwKdzEQ+XXeNzI1W7fsfwxBwJHAJSlmBwIFUWaTuZKko=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -1078,6 +1075,9 @@
         "sk" : "3d658956410377d0644676d2599542412a4f3b0e4eadfb7f3f836615f42b18bc",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b6570032100c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwKdzEQ+XXeNzI1W7fsfwxBwJHAJSlmBwIFUWaTuZKko=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 107,
@@ -1090,9 +1090,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b657003210054cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAVM2mIyRXWa1tQ+YgpgaQi+/GM9YHkrx3mER6DvOOcxE=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -1100,6 +1097,9 @@
         "sk" : "bccb61323840c2a96fc36f7e54ea6c8e55f9d221f7f05791ed60025e06064439",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b657003210054cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAVM2mIyRXWa1tQ+YgpgaQi+/GM9YHkrx3mER6DvOOcxE=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 108,
@@ -1112,9 +1112,6 @@
       ]
     },
     {
-      "keyDer" : "302a300506032b65700321002362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe",
-      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAI2K6xRTV+tM4AmQul5oegt5utvG8v2pbME8rsCueV/4=\n-----END PUBLIC KEY-----\n",
-      "type" : "EDDSAVer",
       "key" : {
         "curve" : "edwards25519",
         "keySize" : 255,
@@ -1122,6 +1119,9 @@
         "sk" : "f2d3023b9c19e241748bc4039a7a43c595701f23675505015213a8a2a0274c1b",
         "type" : "EDDSAKeyPair"
       },
+      "keyDer" : "302a300506032b65700321002362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAI2K6xRTV+tM4AmQul5oegt5utvG8v2pbME8rsCueV/4=\n-----END PUBLIC KEY-----\n",
+      "type" : "EDDSAVer",
       "tests" : [
         {
           "tcId" : 109,
diff --git a/src/third_party/wycheproof/eddsa_test.txt b/src/third_party/wycheproof_testvectors/eddsa_test.txt
similarity index 95%
rename from src/third_party/wycheproof/eddsa_test.txt
rename to src/third_party/wycheproof_testvectors/eddsa_test.txt
index 58ae6da..ce81d80 100644
--- a/src/third_party/wycheproof/eddsa_test.txt
+++ b/src/third_party/wycheproof_testvectors/eddsa_test.txt
@@ -2,7 +2,7 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: EDDSA
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [key.curve = edwards25519]
 [key.keySize = 255]
@@ -11,297 +11,358 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b65700321007d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa]
 
+# tcId = 1
 msg = 
 result = valid
 sig = d4fbdb52bfa726b44d1786a8c0d171c3e62ca83c9e5bbe63de0bb2483f8fd6cc1429ab72cafc41ab56af02ff8fcc43b99bfe4c7ae940f60f38ebaa9d311c4007
 
+# tcId = 2
 msg = 78
 result = valid
 sig = d80737358ede548acb173ef7e0399f83392fe8125b2ce877de7975d8b726ef5b1e76632280ee38afad12125ea44b961bf92f1178c9fa819d020869975bcbe109
 
+# tcId = 3
 msg = 54657374
 result = valid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d
 
+# tcId = 4
 msg = 48656c6c6f
 result = valid
 sig = 1c1ad976cbaae3b31dee07971cf92c928ce2091a85f5899f5e11ecec90fc9f8e93df18c5037ec9b29c07195ad284e63d548cd0a6fe358cc775bd6c1608d2c905
 
+# tcId = 5
 msg = 313233343030
 result = valid
 sig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bf0cf5b3a289976458a1be6277a5055545253b45b07dcc1abd96c8b989c00f301
 
+# tcId = 6
 msg = 000000000000000000000000
 result = valid
 sig = d46543bfb892f84ec124dcdfc847034c19363bf3fc2fa89b1267833a14856e52e60736918783f950b6f1dd8d40dc343247cd43ce054c2d68ef974f7ed0f3c60f
 
+# tcId = 7
 msg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161
 result = valid
 sig = 879350045543bc14ed2c08939b68c30d22251d83e018cacbaf0c9d7a48db577e80bdf76ce99e5926762bc13b7b3483260a5ef63d07e34b58eb9c14621ac92f00
 
+# tcId = 8
 msg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60
 result = valid
 sig = 7bdc3f9919a05f1d5db4a3ada896094f6871c1f37afc75db82ec3147d84d6f237b7e5ecc26b59cfea0c7eaf1052dc427b0f724615be9c3d3e01356c65b9b5109
 
+# tcId = 9
 msg = ffffffffffffffffffffffffffffffff
 result = valid
 sig = 5dbd7360e55aa38e855d6ad48c34bd35b7871628508906861a7c4776765ed7d1e13d910faabd689ec8618b78295c8ab8f0e19c8b4b43eb8685778499e943ae04
 
+# tcId = 10
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 11
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 00000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 12
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 0000000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010
 
+# tcId = 13
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 0000000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010
 
+# tcId = 14
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 0000000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 
+# tcId = 15
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 16
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 01000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 17
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 0100000000000000000000000000000000000000000000000000000000000000ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010
 
+# tcId = 18
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 0100000000000000000000000000000000000000000000000000000000000000edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010
 
+# tcId = 19
 # special values for r and s
 msg = 3f
 result = invalid
 sig = 0100000000000000000000000000000000000000000000000000000000000000edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 
+# tcId = 20
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 21
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edd3f55c1a631258d69cf7a2def9de14000000000000000000000000000000100100000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 22
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010ecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010
 
+# tcId = 23
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010
 
+# tcId = 24
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 
+# tcId = 25
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 26
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f0100000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 27
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fecd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010
 
+# tcId = 28
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedd3f55c1a631258d69cf7a2def9de1400000000000000000000000000000010
 
+# tcId = 29
 # special values for r and s
 msg = 3f
 result = invalid
 sig = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7fedffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 
+# tcId = 30
 # empty signature
 msg = 54657374
 result = invalid
 sig = 
 
+# tcId = 31
 # s missing
 msg = 54657374
 result = invalid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0
 
+# tcId = 32
 # signature too short
 msg = 54657374
 result = invalid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946
 
+# tcId = 33
 # signature too long
 msg = 54657374
 result = invalid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d2020
 
+# tcId = 34
 # include pk in signature
 msg = 54657374
 result = invalid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d7d4d0e7f6153a69b6242b522abbee685fda4420f8834b108c3bdae369ef549fa
 
+# tcId = 35
 # prepending 0 byte to signature
 msg = 54657374
 result = invalid
 sig = 007c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d
 
+# tcId = 36
 # prepending 0 byte to s
 msg = 54657374
 result = invalid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab0007a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d
 
+# tcId = 37
 # appending 0 byte to signature
 msg = 54657374
 result = invalid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d00
 
+# tcId = 38
 # removing 0 byte from signature
 msg = 54657374313236
 result = invalid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab09155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b30d
 
+# tcId = 39
 # removing 0 byte from signature
 msg = 546573743137
 result = invalid
 sig = 7c38e026f29e14aabd059a0f2db8b0cd783040609a8be684db12f82a27774ab07a9155711ecfaf7f99f277bad0c6ae7e39d4eef676573336a5c51eb6f946b3
 
+# tcId = 40
 # modified bit 0 in R
 msg = 313233343030
 result = invalid
 sig = 647c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b1d125e5538f38afbcc1c84e489521083041d24bc6240767029da063271a1ff0c
 
+# tcId = 41
 # modified bit 1 in R
 msg = 313233343030
 result = invalid
 sig = 677c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bc108ca4b87a49c9ed2cf383aecad8f54a962b2899da891e12004d7993a627e01
 
+# tcId = 42
 # modified bit 2 in R
 msg = 313233343030
 result = invalid
 sig = 617c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b9ce23fc6213ed5b87912e9bbf92f5e2c780eae26d15c50a112d1e97d2ea33c06
 
+# tcId = 43
 # modified bit 7 in R
 msg = 313233343030
 result = invalid
 sig = e57c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bbb3eb51cd98dddb235a5f46f2bded6af184a58d09cce928bda43f41d69118a03
 
+# tcId = 44
 # modified bit 8 in R
 msg = 313233343030
 result = invalid
 sig = 657d1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcd237dda9a116501f67a5705a854b9adc304f34720803a91b324f2c13e0f5a09
 
+# tcId = 45
 # modified bit 16 in R
 msg = 313233343030
 result = invalid
 sig = 657c1592402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b6b167bbdc0d881cc04d28905552c1876f3709851abc5007376940cc8a435c300
 
+# tcId = 46
 # modified bit 31 in R
 msg = 313233343030
 result = invalid
 sig = 657c1412402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7fd2ac7da14afffcceeb13f2a0d6b887941cb1a5eb57a52f3cb131a16cce7b0e
 
+# tcId = 47
 # modified bit 32 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492412ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2b7373ba13ebbef99cd2a8ead55ce735c987d85a35320925a8e871702dc7c5c40d
 
+# tcId = 48
 # modified bit 63 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab54e03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bd35bd331c03f0855504ca1cab87b83c36a028425a3cf007ede4f4254c261cb00
 
+# tcId = 49
 # modified bit 64 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce02e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2bcb35101f73cf467deac8c1a03b6c3dc35af544132734b7e57ab20c89b2e4750d
 
+# tcId = 50
 # modified bit 97 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce03e2c3a7f2384d051b9cf3570f1207fc78c1bcc98c281c2bb58d2e8878290bff8d3355fdd4ea381924ee578752354eb6dee678ab4011c301
 
+# tcId = 51
 # modified bit 127 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce03e2c3a7f0384d851b9cf3570f1207fc78c1bcc98c281c2bb978c866187ffb1cc7b29a0b4045aefc08768df65717194ff0c6e63f4dea0d02
 
+# tcId = 52
 # modified bit 240 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281d2b0576ecf8eaf675f00f3dfbe19f75b83b7607a6c96414f6821af920a2498d0305
 
+# tcId = 53
 # modified bit 247 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c289c2be5241a345c7b5428054c74b7c382fa10d4a5f1e8f8b79a71d3fdea2254f1ff0e
 
+# tcId = 54
 # modified bit 248 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c2a63950c85cd6dc96364e768de50ff7732b538f8a0b1615d799190ab600849230e
 
+# tcId = 55
 # modified bit 253 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c0b543bd3da0a56a8c9c152f59c9fec12f31fa66434d48b817b30d90cb4efa8b501
 
+# tcId = 56
 # modified bit 254 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281c6b8da07efd07a6dafb015ed6a32fe136319a972ffbc341f3a0beae97ccf8136505
 
+# tcId = 57
 # modified bit 255 in R
 msg = 313233343030
 result = invalid
 sig = 657c1492402ab5ce03e2c3a7f0384d051b9cf3570f1207fc78c1bcc98c281cab227aedf259f910f0f3a759a335062665217925d019173b88917eae294f75d40f
 
+# tcId = 58
 # R==0
 msg = 313233343030
 result = invalid
 sig = 0000000000000000000000000000000000000000000000000000000000000000e0b8e7770d51c7a36375d006c5bffd6af43ff54aaf47e4330dc118c71d61ec02
 
+# tcId = 59
 # invalid R
 msg = 313233343030
 result = invalid
 sig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff463a1908382e7eb7693acef9884f7cf931a215e0791876be22c631a59881fd0e
 
+# tcId = 60
 # all bits flipped in R
 msg = 313233343030
 result = invalid
 sig = 9a83eb6dbfd54a31fc1d3c580fc7b2fae4630ca8f0edf803873e433673d7e3d40e94254586cb6188c5386c3febed477cb9a6cb29e3979adc4cb27cf5278fb70a
 
+# tcId = 61
 # checking malleability 
 msg = 54657374
 result = invalid
@@ -310,6 +371,7 @@
 # check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7
 # and Section 8.4.
 
+# tcId = 62
 # checking malleability 
 msg = 54657374
 result = invalid
@@ -318,6 +380,7 @@
 # check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7
 # and Section 8.4.
 
+# tcId = 63
 # checking malleability 
 msg = 54657374
 result = invalid
@@ -326,6 +389,7 @@
 # check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7
 # and Section 8.4.
 
+# tcId = 64
 # checking malleability 
 msg = 54657374
 result = invalid
@@ -334,6 +398,7 @@
 # check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7
 # and Section 8.4.
 
+# tcId = 65
 # checking malleability 
 msg = 54657374
 result = invalid
@@ -342,6 +407,7 @@
 # check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7
 # and Section 8.4.
 
+# tcId = 66
 # checking malleability 
 msg = 54657374
 result = invalid
@@ -350,6 +416,7 @@
 # check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7
 # and Section 8.4.
 
+# tcId = 67
 # checking malleability 
 msg = 54657374
 result = invalid
@@ -358,6 +425,7 @@
 # check the range of S allows to modify signatures. See RFC 8032, Section 5.2.7
 # and Section 8.4.
 
+# tcId = 68
 # checking malleability 
 msg = 54657374
 result = invalid
@@ -373,38 +441,47 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100a12c2beb77265f2aac953b5009349d94155a03ada416aad451319480e983ca4c]
 
+# tcId = 69
 msg = 
 result = valid
 sig = 5056325d2ab440bf30bbf0f7173199aa8b4e6fbc091cf3eb6bc6cf87cd73d992ffc216c85e4ab5b8a0bbc7e9a6e9f8d33b7f6e5ac0ffdc22d9fcaf784af84302
 
+# tcId = 70
 msg = 78
 result = valid
 sig = 481fafbf4364d7b682475282f517a3ac0538c9a6b6a562e99a3d8e5afb4f90a559b056b9f07af023905753b02d95eb329a35c77f154b79abbcd291615ce42f02
 
+# tcId = 71
 msg = 54657374
 result = valid
 sig = 8a9bb4c465a3863abc9fd0dd35d80bb28f7d33d37d74679802d63f82b20da114b8d765a1206b3e9ad7cf2b2d8d778bb8651f1fa992db293c0039eacb6161480f
 
+# tcId = 72
 msg = 48656c6c6f
 result = valid
 sig = d839c20abfda1fd429531831c64f813f84b913e9928540310cf060b44c3dbf9457d44a7721fdc0d67724ff81cb450dd39b10cfb65db15dda4b8bf09d26bd3801
 
+# tcId = 73
 msg = 313233343030
 result = valid
 sig = 9bbb1052dcfa8ad2715c2eb716ae4f1902dea353d42ee09fd4c0b4fcb8b52b5219e2200016e1199d0061891c263e31b0bc3b55673c19610c4e0fa5408004160b
 
+# tcId = 74
 msg = 000000000000000000000000
 result = valid
 sig = f63b5c0667c7897fc283296416f7f60e84bbde9cbd832e56be463ed9f568069702b17a2f7c341ebf590706a6388ac76ac613c1675ec0f2c7118f2573422a500b
 
+# tcId = 75
 msg = 6161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161616161
 result = valid
 sig = 1bc44d7001e6b5b9090fef34b2ca480f9786bbefa7d279353e5881e8dfb91b803ccd46500e270ef0109bfd741037558832120bc2a4f20fbe7b5fb3c3aaf23e08
 
+# tcId = 76
 msg = 202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f60
 result = valid
 sig = ea8e22143b02372e76e99aece3ed36aec529768a27e2bb49bdc135d44378061e1f62d1ac518f33ebf37b2ee8cc6dde68a4bd7d4a2f4d6cb77f015f71ca9fc30d
 
+# tcId = 77
 msg = ffffffffffffffffffffffffffffffff
 result = valid
 sig = 8acd679e1a914fc45d5fa83d3021f0509c805c8d271df54e52f43cfbd00cb6222bf81d58fe1de2de378df67ee9f453786626961fe50a9b05f12b6f0899ebdd0a
@@ -416,6 +493,7 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a]
 
+# tcId = 78
 # draft-josefsson-eddsa-ed25519-02: Test 1
 msg = 
 result = valid
@@ -428,6 +506,7 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b65700321003d4017c3e843895a92b70aa74d1b7ebc9c982ccf2ec4968cc0cd55f12af4660c]
 
+# tcId = 79
 # draft-josefsson-eddsa-ed25519-02: Test 2
 msg = 72
 result = valid
@@ -440,6 +519,7 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100fc51cd8e6218a1a38da47ed00230f0580816ed13ba3303ac5deb911548908025]
 
+# tcId = 80
 # draft-josefsson-eddsa-ed25519-02: Test 3
 msg = af82
 result = valid
@@ -452,6 +532,7 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e]
 
+# tcId = 81
 # draft-josefsson-eddsa-ed25519-02: Test 1024
 msg = 08b8b2b733424243760fe426a4b54908632110a66c2f6591eabd3345e3e4eb98fa6e264bf09efe12ee50f8f54e9f77b1e355f6c50544e23fb1433ddf73be84d879de7c0046dc4996d9e773f4bc9efe5738829adb26c81b37c93a1b270b20329d658675fc6ea534e0810a4432826bf58c941efb65d57a338bbd2e26640f89ffbc1a858efcb8550ee3a5e1998bd177e93a7363c344fe6b199ee5d02e82d522c4feba15452f80288a821a579116ec6dad2b3b310da903401aa62100ab5d1a36553e06203b33890cc9b832f79ef80560ccb9a39ce767967ed628c6ad573cb116dbefefd75499da96bd68a8a97b928a8bbc103b6621fcde2beca1231d206be6cd9ec7aff6f6c94fcd7204ed3455c68c83f4a41da4af2b74ef5c53f1d8ac70bdcb7ed185ce81bd84359d44254d95629e9855a94a7c1958d1f8ada5d0532ed8a5aa3fb2d17ba70eb6248e594e1a2297acbbb39d502f1a8c6eb6f1ce22b3de1a1f40cc24554119a831a9aad6079cad88425de6bde1a9187ebb6092cf67bf2b13fd65f27088d78b7e883c8759d2c4f5c65adb7553878ad575f9fad878e80a0c9ba63bcbcc2732e69485bbc9c90bfbd62481d9089beccf80cfe2df16a2cf65bd92dd597b0707e0917af48bbb75fed413d238f5555a7a569d80c3414a8d0859dc65a46128bab27af87a71314f318c782b23ebfe808b82b0ce26401d2e22f04d83d1255dc51addd3b75a2b1ae0784504df543af8969be3ea7082ff7fc9888c144da2af58429ec96031dbcad3dad9af0dcbaaaf268cb8fcffead94f3c7ca495e056a9b47acdb751fb73e666c6c655ade8297297d07ad1ba5e43f1bca32301651339e22904cc8c42f58c30c04aafdb038dda0847dd988dcda6f3bfd15c4b4c4525004aa06eeff8ca61783aacec57fb3d1f92b0fe2fd1a85f6724517b65e614ad6808d6f6ee34dff7310fdc82aebfd904b01e1dc54b2927094b2db68d6f903b68401adebf5a7e08d78ff4ef5d63653a65040cf9bfd4aca7984a74d37145986780fc0b16ac451649de6188a7dbdf191f64b5fc5e2ab47b57f7f7276cd419c17a3ca8e1b939ae49e488acba6b965610b5480109c8b17b80e1b7b750dfc7598d5d5011fd2dcc5600a32ef5b52a1ecc820e308aa342721aac0943bf6686b64b2579376504ccc493d97e6aed3fb0f9cd71a43dd497f01f17c0e2cb3797aa2a2f256656168e6c496afc5fb93246f6b1116398a346f1a641f3b041e989f7914f90cc2c7fff357876e506b50d334ba77c225bc307ba537152f3f1610e4eafe595f6d9d90d11faa933a15ef1369546868a7f3a45a96768d40fd9d03412c091c6315cf4fde7cb68606937380db2eaaa707b4c4185c32eddcdd306705e4dc1ffc872eeee475a64dfac86aba41c0618983f8741c5ef68d3a101e8a3b8cac60c905c15fc910840b94c00a0b9d0
 result = valid
@@ -464,6 +545,7 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b65700321008fd659b77b558ed93882c1157438450ac86ec62d421d568e98ee236f3810295a]
 
+# tcId = 82
 # Random test failure 1
 msg = b0729a713593a92e46b56eaa66b9e435f7a09a8e7de03b078f6f282285276635f301e7aaafe42187c45d6f5b13f9f16b11195cc125c05b90d24dfe4c
 result = valid
@@ -476,11 +558,13 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b65700321002a606bf67ac770c607038b004101b325edb569efd3413d2d1f2c3e6b4e6e3082]
 
+# tcId = 83
 # Random test failure 2
 msg = a8546e50ba31cae3234310d32672447be213fad91a227a19669c53d309b959782b0e6b71f8791fdb470043b58122003157d2d96a43a6cbd7d3a8d86bf4c97391883e268d50af80e1e6e12939c2bd50ca746cdadfad4edf1bda875299740724148efb1ebe73fb60088cda890317658627a5f7ab5a0c075d9d8f3f97b6492b35519e50ff6b38377432a7081f9176bb1c29a862deac1336ca20b097a47829cec10a6a7cec178eda2d12f6dc6c87f910454af0123555ba184e68804d9cced60fd5c8c90943e56599c8f0ba59a38491ba5e5a53460682474c07e40ca142983314fd762856bb1093f359da6eb0a756bd93a3160c10dd8feea6b97e7c6a17cb54bd5d7649c05c66d7bdee056671dfdaf689fa3945bb8e29a429f4bd5d355dce9687b06f01d5e33e3999f0e8
 result = valid
 sig = 67d84d4c3945aaf06e06d524be63acbfb5dbb1988c4aea96a5ee9f7a9b9eecc29df4f66b8aa1d9e8607a58fb1ef0c2ad69aac005b4f58e34103344a9c8871a09
 
+# tcId = 84
 # Random test failure 24
 msg = b477b0480bb84642608b908d29a51cf2fce63f24ee95
 result = valid
@@ -493,11 +577,13 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100c9c946cbc5544ac74eef491f07c5881c16faf7ec31ce4aa91bb60ae7b4539051]
 
+# tcId = 85
 # Random test failure 3
 msg = cd2212eddb0706f62c995cef958634f0cb7793444cbf4d30e81c27c41ebea6cb02607510131f9c015692dfd521b148841e9a2d3564d20ac401f6cb8e40f520fe0cafbeaa88840b83013369d879f013463fe52a13267aa0c8c59c45cde9399cd1e6be8cc64cf48315ac2eb31a1c567a4fb7d601746d1f63b5ac020712adbbe07519bded6f
 result = valid
 sig = 24087d47f3e20af51b9668ae0a88ce76586802d0ec75d8c0f28fc30962b5e1d1a1d509571a1624ed125a8df92a6e963728d6b5de99200b8e285f70feb6f05207
 
+# tcId = 86
 # Random test failure 20
 msg = 27d465bc632743522aefa23c
 result = valid
@@ -510,46 +596,55 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b657003210032ad026f693d0d2afe7f4388d91c4c964426fcb9e3665c3ebd8650009b815c8e]
 
+# tcId = 87
 # Random test failure 4
 msg = ec5c7cb078
 result = valid
 sig = d920d421a5956b69bfe1ba834c025e2babb6c7a6d78c97de1d9bb1116dfdd1185147b2887e34e15578172e150774275ea2aad9e02106f7e8ca1caa669a066f0c
 
+# tcId = 88
 # Random test failure 5
 msg = 4668c6a76f0e482190a7175b9f3806a5fe4314a004fa69f988373f7a
 result = valid
 sig = 4f62daf7f7c162038552ad7d306e195baa37ecf6ca7604142679d7d1128e1f8af52e4cb3545748c44ef1ff1c64e877e4f4d248259b7f6eb56e3ef72097dc8e0c
 
+# tcId = 89
 # Random test failure 8
 msg = 5dc9bb87eb11621a93f92abe53515697d2611b2eef73
 result = valid
 sig = deecafb6f2ede73fec91a6f10e45b9c1c61c4b9bfbe6b6147e2de0b1df6938971f7896c3ab83851fb5d9e537037bff0fca0ccb4a3cc38f056f91f7d7a0557e08
 
+# tcId = 90
 # Random test failure 10
 msg = 7dcfe60f881e1285676f35b68a1b2dbcdd7be6f719a288ababc28d36e3a42ac3010a1ca54b32760e74
 result = valid
 sig = 7f8663cf98cbd39d5ff553f00bcf3d0d520605794f8866ce75714d77cc51e66c91818b657d7b0dae430a68353506edc4a714c345f5ddb5c8b958ba3d035f7a01
 
+# tcId = 91
 # Random test failure 12
 msg = 58e456064dff471109def4ca27fa8310a1df32739655b624f27e6418d34b7f007173f3faa5
 result = valid
 sig = 6aab49e5c0bc309b783378ee03ffda282f0185cdf94c847701ff307a6ee8d0865411c44e0a8206f6a5f606107451940c2593af790ce1860f4c14ab25b2deae08
 
+# tcId = 92
 # Random test failure 15
 msg = a1
 result = valid
 sig = 1a74ed2cbdc7d8f3827014e8e6ecf8fd2698ac8f86833acccdd400df710fe0d6b0543c9cfa00d52bf024ab7ce0d91981944097233ec134d5c7abbd44bfd32d0d
 
+# tcId = 93
 # Random test failure 19
 msg = 11cb1eafa4c42a8402c4193c4696f7b2e6d4585e4b42dcf1a8b67a80b2da80bc9d4b649fb2f35eaf1f56c426fd0b
 result = valid
 sig = 14ceb2eaf4688d995d482f44852d71ad878cd7c77b41e60b0065fd01a59b054ee74759224187dbde9e59a763a70277c960892ef89fba997aba2576b2c54ba608
 
+# tcId = 94
 # Random test failure 25
 msg = aa365b442d12b7f3c925
 result = valid
 sig = 83c40ce13d483cc58ff65844875862d93df4bd367af77efa469ec06a8ed9e6d7905a04879535708ddf225567a815c9b941d405c98e918fd0c151165cea7fb101
 
+# tcId = 95
 # Random test failure 28
 msg = 475f
 result = valid
@@ -562,11 +657,13 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100c29ec1894e06d27b4e40486b4fa5063d66a746c7f9c323b12203c03b72b8b78a]
 
+# tcId = 96
 # Random test failure 6
 msg = 0f325ffd87e58131ffa23c05ea4579513b287fdba87b44
 result = valid
 sig = 6669acf94667c5b541afe5307bde9476b13ae7e0e6058a772101ac8eb0a94331428eb4db0a2c68a9b6c1763b8624dab259b0876cdcfaeacc17b21a18e3fc010a
 
+# tcId = 97
 # Random test failure 21
 msg = 5ffa
 result = valid
@@ -579,26 +676,31 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100cfda5b899e35764c5229e59295fe1222b7ddce176643697c29e46ecbba10cf10]
 
+# tcId = 98
 # Random test failure 7
 msg = ec5c7cb078
 result = valid
 sig = 30490c28f806298225df62103521dcee047153912c33ab8ab8bbdd1ffabd70fd4fdb360f05be535b067d1cf4e78c2cb432206bf280aab3bd21aaa1cb894c5b06
 
+# tcId = 99
 # Random test failure 9
 msg = 67484059b2490b1a0a4f8dee77979e26
 result = valid
 sig = 4cd4f77ed473a6647387f3163541c67a1708a3c3bd1673247cb87f0cb68b3c56f04bfa72970c8a483efe659c87009ab4020b590b6641316b3deddb5450544e02
 
+# tcId = 100
 # Random test failure 11
 msg = a020a4381dc9141f47ee508871ab7a8b5a3648727c4281ae9932376f23a8e1bcda0626b7129197d864178631ec89c4332dbb18
 result = valid
 sig = 1e41a24fe732bd7cab14c2a2f5134ee8c87fcbd2e987e60957ed9239e5c32404d56977e1b4282871896cb10625a1937468e4dc266e16a9c1b8e9891177eca802
 
+# tcId = 101
 # Random test failure 14
 msg = a25176b3afea318b2ec11ddacb10caf7179c0b3f8eabbfa2895581138d3c1e0e
 result = valid
 sig = 2a833aadecd9f28235cb5896bf3781521dc71f28af2e91dbe1735a61dce3e31ac15ca24b3fc47817a59d386bbbb2ce60a6adc0a2703bb2bdea8f70f91051f706
 
+# tcId = 102
 # Random test failure 18
 msg = a9e6d94870a67a9fe1cf13b1e6f9150cdd407bf6480ec841ea586ae3935e9787163cf419c1
 result = valid
@@ -611,11 +713,13 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100529919c9c780985a841c42ba6c180ff2d67a276ccfbe281080e47ab71a758f56]
 
+# tcId = 103
 # Random test failure 13
 msg = e1cbf2d86827825613fb7a85811d
 result = valid
 sig = 01abfa4d6bbc726b196928ec84fd03f0c953a4fa2b228249562ff1442a4f63a7150b064f3712b51c2af768d2c2711a71aabf8d186833e941a0301b82f0502905
 
+# tcId = 104
 # Random test failure 22
 msg = 25
 result = valid
@@ -628,11 +732,13 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b65700321002252b3d57c74cbf8bc460dc2e082847926bc022f09ab6ae95756362bfd1167c1]
 
+# tcId = 105
 # Random test failure 16
 msg = 975ef941710071a9e1e6325a0c860becd7c695b5117c3107b686e330e5
 result = valid
 sig = af0fd9dda7e03e12313410d8d8844ebb6fe6b7f65141f22d7bcba5695a25414a9e54326fb44d59fb14707899a8aae70857b23d4080d7ab2c396ef3a36d45ce02
 
+# tcId = 106
 # Random test failure 23
 msg = 80fdd6218f29c8c8f6bd820945f9b0854e3a8824
 result = valid
@@ -645,6 +751,7 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b6570032100c0a773110f975de3732355bb7ec7f0c41c091c0252966070205516693b992a4a]
 
+# tcId = 107
 # Random test failure 17
 msg = 
 result = valid
@@ -657,6 +764,7 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b657003210054cda623245759ad6d43e620a606908befc633d60792bc7798447a0ef38e7311]
 
+# tcId = 108
 # Random test failure 26
 msg = 27e792b28b2f1702
 result = valid
@@ -669,6 +777,7 @@
 [key.type = EDDSAKeyPair]
 [keyDer = 302a300506032b65700321002362bac514d5fad33802642e979a1e82de6eb6f1bcbf6a5b304f2bb02b9e57fe]
 
+# tcId = 109
 # Random test failure 27
 msg = eef3bb0f617c17d0420c115c21c28e3762edc7b7fb048529b84a9c2bc6
 result = valid
diff --git a/src/third_party/wycheproof_testvectors/kw_test.json b/src/third_party/wycheproof_testvectors/kw_test.json
new file mode 100644
index 0000000..3757aa7
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/kw_test.json
@@ -0,0 +1,1484 @@
+{
+  "algorithm" : "KW",
+  "generatorVersion" : "0.4.6",
+  "numberOfTests" : 162,
+  "header" : [],
+  "testGroups" : [
+    {
+      "keySize" : 128,
+      "type" : "KeywrapTest",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "key" : "6f67486d1e914419cb43c28509c7c1ea",
+          "msg" : "8dc0632d92ee0be4f740028410b08270",
+          "ct" : "9de453ced5d4ab46a5601708eeefefb5e593e6ae8e86b26b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "key" : "a0b17172bb296db7f5c869e9a36b5ce3",
+          "msg" : "615dd022d607c910f20178cbdf42060f",
+          "ct" : "8c3aba85cc0ae1ae10b36658b068f595baf8caafb745ef3c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "key" : "0e49d571c19b5250effd41d94bde39d6",
+          "msg" : "f25e4de8caca363fd5f29442eb147b55",
+          "ct" : "1de093654826f18fcd0f3fd499416ff22ed75ee12fe0b624",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "e0e12959109103e30ae8b5684a22e662",
+          "msg" : "dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e",
+          "ct" : "9c3ddc23827b7b3c13105f9e8b11523baccdfb6c8b7e7825496e7a840bd32aec",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "dd583d9f1059861430ec8b5d8a180e9b",
+          "msg" : "f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487",
+          "ct" : "afb744aaf746dcc0b57f8b378c404cbe877f44cf3d45140d60814eda3f541f01",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "faf5ccfae42b43cee2c5f0f3177a7c5d",
+          "msg" : "4e02084833660c463830483b36dab866c64c8cf7429cac3d",
+          "ct" : "cff98cd64cb51ab99b81aee82cee4274d0df3e1b6a4943d39236ea989846d0cc",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "c2b9d23f2831ddcdeb456853d4014db9",
+          "msg" : "f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907",
+          "ct" : "58dcfb0e7ec4d3bc8003418d865fbd520c6b24b2bde35b1be5b1c5ff32a130f33d035e5932616083",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "620a08f320cdedbf7ae551add348d95e",
+          "msg" : "cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291",
+          "ct" : "4ee47bd68d418586c447a39111e2ec1502ff0f1726ea91c5d97370409d89b8e66e889b638ac40ced",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "ed089ac274f8c7cea2415671a94b5e53",
+          "msg" : "6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299",
+          "ct" : "d3b093fd822ce454ebc251c6f21fa71c3858ee7e623ecbfbbf887398a30b40c55d0565c7a15e4015",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "Round counter overflows 256",
+          "key" : "31cacbb17d6dbbecae40727c5048fe0c",
+          "msg" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "222deadde6efb760cae42fa188310e0c07e7d557529766444a9efb330907d42f0dd8f3d17b3a38bf40d68c095a9cce19daf907bf2c92f1e59b18b277ff0397fc50f45f582db936aa8afb943de01b58abfdc81daef4e038c99e4c1eb3ee447464bb8f89a4ea81e56556cc26c72883c06a7fe850d04347d68bbadc4a06775030676db8cc34aeb07e39c7f059c2bff76a7f2baf076749004ef7189f887f89029f88c5c1d0f5ee62320b423048e2ad8186e63be23c553f5576a40d967e8b527ccd783c41abc64bea1aec8a76deb3e9c9a6656756e1dac38bd25ff008888a5591af763fd73f5addd749794817070990484654a46ef442adaeacab14d12daaf87bcb91661a21593717d9b93529d813ea5fc812d708c0d8e9b68122d9f5e6267cde363780a45d07e4caa5bf14f2334f25b9d177632bb80a82894aa47b6f360b2da1138dedd4331f077c900554c7a68b5d154980bb3517ac20a78a51f6f21e42b2c4c960d31cbd22bd610819182c5e456ba7d7e903f5e60f6e0c4cc014feb4f81973ce48ad6f4dab8da51eb7",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "empty keys cannot be wrapped",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "",
+          "ct" : "a6a6a6a6a6a6a6a6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "keys of size 8 byte cannot be wrapped",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "0001020304050607",
+          "ct" : "dc26fb6911d71971df0356d6bb9ed6e6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "00",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "0001",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "000102",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "00010203",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "0001020304",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "000102030405",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "00010203040506",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495",
+          "msg" : "000102030405060708090a0b0c0d0e0f10111213",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7",
+          "msg" : "",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7",
+          "msg" : "",
+          "ct" : "9f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7",
+          "msg" : "",
+          "ct" : "dc9e9580",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7",
+          "msg" : "",
+          "ct" : "b9b282d138693000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7",
+          "msg" : "",
+          "ct" : "0efc635b2d61e244056b9d4591ca6b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7",
+          "msg" : "",
+          "ct" : "4a305dae087b0d24d62af41831338f33ae",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7",
+          "msg" : "",
+          "ct" : "82cb927097cf31ea4affea440b0d8ca6a240b900",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "bytes appended to wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7",
+          "msg" : "000102030405060708090a0b0c0d0e0f",
+          "ct" : "9790ab51fbcb850df6764e011ae97c85785bed2633aea66500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "0aac329ccd513edbdd6367df67999eaac9e7b51984c4d38d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "5a55dc429749ca49bb4ab01d966b19ea9a9e1402e6ab2962",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "45f533f6072f640eb7e1e512d56072085567f4ad6012a97a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "84f284565df47c409107f7a0a71bc370a8ed4489d414b9e9",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "3941c366554fc896e9fe52f02493ca03d439eb17c236146d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "45c9d42363d981d086a972728e130a42f5dd90bda562a85a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "037d17859519d6c0728a9eb6e64113e86919decabd3bbb88",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "1ad10af7f6c042b267a0c7bc4d25d27c003deb50e2cc566a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "630c571b7fb8647ac5360a255f9f5d3645795ac45285cbaa",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "16db553e467d4029d0fea62b2c440e5df6c6591f0497a99d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "097991090a156047d4784b757f262e12ce57e13a3d5d286c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "3957c338b750a3285eb7b65c9cfe77053dd7d8149f42caa1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "RFC 3394",
+          "key" : "000102030405060708090a0b0c0d0e0f",
+          "msg" : "00112233445566778899aabbccddeeff",
+          "ct" : "1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "keySize" : 192,
+      "type" : "KeywrapTest",
+      "tests" : [
+        {
+          "tcId" : 42,
+          "comment" : "",
+          "key" : "f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe",
+          "msg" : "9adbc00c710b1101bdf6a4ed65b32d72",
+          "ct" : "00be1caddfd5ad7697877017795f9cee4bce5a61687a6126",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "",
+          "key" : "b713f6b7814f98894d7b153974684359f1460213eb74be68",
+          "msg" : "78585f0c49922e82caf17ebc3721b4db",
+          "ct" : "54e7f278b5a1fb4c31a0d79ac1f615edd910bf22015a0668",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "",
+          "key" : "13ecf423211caa334ba6db37259a535c20de8ad10fc8c432",
+          "msg" : "4fc75d0f221e22408a37e11265d49a05",
+          "ct" : "510455bd9c078ac1f07bb3752cbd04e421b0dd635190fa62",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "",
+          "key" : "4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1",
+          "msg" : "f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5",
+          "ct" : "880da5b410f913ad72cc93f46344f1152165bdea14664fd2d3afbd87b8cc5cfd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "",
+          "key" : "b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e",
+          "msg" : "0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a",
+          "ct" : "27654cf6a63d6004ae83da54c2e5d7b5fad20878f350087ddd17ac44a2be868f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "",
+          "key" : "f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000",
+          "msg" : "241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea",
+          "ct" : "ad7ca66ad4664f43e4dd09296a6e6f02d5af4408f225c0abeb0d9b76c8d1e982",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "1639f9f81e53e2eeb677a249e5eced3af108971301601a7b",
+          "msg" : "ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691",
+          "ct" : "e245c90a6b46caece94f47117d608331958c8f75f531ebcdc902c0213d9105f2155af07daa62d132",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0",
+          "msg" : "50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380",
+          "ct" : "8a32b9f207ae5aaedb7e8a0d945107412c1bd06999bc5ac83c1f958dfb77ebdcf9d98c60dbd4650a",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771",
+          "msg" : "65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf",
+          "ct" : "4a5842b10d2db96ea1039ef4785ce722555b3751a9b6dd39126ad363378c72320d83ea7adb81615a",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "Round counter overflows 256",
+          "key" : "31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab63502",
+          "msg" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "e2192598e6124f2791b2751f930958435bb1d02e98aa1e09781bba0b159435db659fa73fa310111704692c68e16ddf4be06022c52fe9dba6279aad1aeb814125d0ddf33f31e58e625af32305050cfea390d8782d32caac558889ca8e641908208da6976542b40dbd090178e2a6812a436c18a5e891ac8083176ace1ddfee4d382856a59c80c643ecd5c1ab68c66b2b8984ce6e0e386f6554a9cb91d363bb4accf028878ec20b8b2e37214f7b12dbcd78fb38f711a90fe262c78491b9058354e27b34fc92ef0d7028594cb08259f86b54cb1d317ec55f2ef2ab7e8b141671f8bcb1a90bb7d82bc8cb4fb02c9ce430ef4ae0dc847e91e7d4fb463eb9dd87fc9dc9568f3a4ef504d74c134dcb60ca01b36ce10cb467268ea297c0518a50d12cc025cfeea1381ddd7dd63e4ac94890a0eae9dbd8db244625a3c8af2e1aff6a8112c4d3d98e8263588ee1dd9063b709b8ec00474c4ea413a802b8cde814e7b3731410809ed000060fb7b9b0bf8509ef17515f333e868b188ea16445f380b3a7d42774f6456cdf724246fa",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "empty keys cannot be wrapped",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "",
+          "ct" : "a6a6a6a6a6a6a6a6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "keys of size 8 byte cannot be wrapped",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "0001020304050607",
+          "ct" : "38d8238cdb0d9a2da28d6d56194f2e78",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "00",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "0001",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "000102",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "00010203",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "0001020304",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "000102030405",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "00010203040506",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76",
+          "msg" : "000102030405060708090a0b0c0d0e0f10111213",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97",
+          "msg" : "",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97",
+          "msg" : "",
+          "ct" : "9f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97",
+          "msg" : "",
+          "ct" : "dc9e9580",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97",
+          "msg" : "",
+          "ct" : "b9b282d138693000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97",
+          "msg" : "",
+          "ct" : "0efc635b2d61e244056b9d4591ca6b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97",
+          "msg" : "",
+          "ct" : "4a305dae087b0d24d62af41831338f33ae",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97",
+          "msg" : "",
+          "ct" : "82cb927097cf31ea4affea440b0d8ca6a240b900",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "bytes appended to wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97",
+          "msg" : "000102030405060708090a0b0c0d0e0f",
+          "ct" : "55dfb2f7e0c1ea04fead897c451c0505921dc47f308c491700",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "9b1593fd7d4fe25a660bbc1976ea4ab68bcc53f848a8eb9d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "e7edb847fa91e2deded726edf3ab93da91151697425fee28",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "1b51a7c033c1efb5ee2994259c40f03bb57d8cc09e507e6e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "c40b614a5062f5fd049c5379b3e8141614c2da97893589fb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "d7575ef02df54b3086eb49035eeafbce0e08336e89b35ab0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "0d617f1c12485a35917d2a941e949d2fdbf03a346889b850",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "c7df34729174db2e83ee16c6de74d5eb9766715fad049b40",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "c3ed38d6f9ccb9bf3c56bb3176f00d3ce9887521f8d4c70b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "6582b5f4652744b0537e97e7cdae0f443130140dbaea604c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "fc9b9bdf25f2b48ad79934c8d34897cdbf4c846f8cb4b11d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "fc23c7f4fe20aa81105efc1a7105a5316b23399ac792c824",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "37b4a261b96bcec9cc93eef5b2fbbbe84634f978c5893dda",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "1831109847d17d010bfcd93fb46f3150cdafd52733db74c221b034fe8e1552c0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "2b2b89c3c6b2db4903877ad4622ca33f3a3cb7e6701d1340e6afc0fdab7dbd72",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "3c6903f37da57161af6706050a2ed747cd55344d869189fd49d2536ff948129d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "8a8dc8b131c6b968b60c1dd819a655392d1a96d6cafa48e30fb1146f096229c6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "303e0b3602d514a7d52edba3306d7383e8999e7c652a510335a8949efb42eb66",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "319befbf2ddbb475723fb2fa30f2ae7fc1ceb1e6f361715eca7209608873c7fc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "9b3e440341c5da131559959db6b3553a534691162f4f009327bf2c21d6fe5ada",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "eba6cc0959e6a56339b141629840add80f4565656dc687a3b996960c994dfd26",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "b703b6cf4587709353c7e4004d3da61ce5f5deaf7163ca9d6158dde919e0ac34",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "72549d52d6f4ff912d833c74136d90634ce8afa4f84412bbee8074084d4cecff",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "1337c8bd6c8a5dd43aba8d298864ffe76ad6ea909f3488157a15e6c46acf2214",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "4aaffaca5fe85814d040aa2a306ba4d1d44746cfe46c978aa057b53fd25316c1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "RFC 3394",
+          "key" : "000102030405060708090a0b0c0d0e0f1011121314151617",
+          "msg" : "00112233445566778899aabbccddeeff",
+          "ct" : "96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "RFC 3394",
+          "key" : "000102030405060708090a0b0c0d0e0f1011121314151617",
+          "msg" : "00112233445566778899aabbccddeeff0001020304050607",
+          "ct" : "031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "keySize" : 256,
+      "type" : "KeywrapTest",
+      "tests" : [
+        {
+          "tcId" : 96,
+          "comment" : "",
+          "key" : "fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c",
+          "msg" : "287326b5ed0078e7ca0164d748f667e7",
+          "ct" : "940b1c580e0c7233a791b0f192438d2eace14214cee455b7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "",
+          "key" : "0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22",
+          "msg" : "b40b6828729b456322a8d065abc0d081",
+          "ct" : "939b3389336fea4a9751bf014ef18011323090e8a0500bc4",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "",
+          "key" : "d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588",
+          "msg" : "037b27b3dc95b19d15bd4091e320bfe1",
+          "ct" : "59ee8e5198861237f682edec6ba906526c016d4d935942bd",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "",
+          "key" : "07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121",
+          "msg" : "faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071",
+          "ct" : "1ab53a065d8f776a08b33e51383071b6f154612116655137bd3b7ec29b70fd56",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "",
+          "key" : "ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1",
+          "msg" : "dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825",
+          "ct" : "a1bf8e73e3fa1db759f0ab2ab0b1ca6f2c85b63d83e25f7a0b5293d0a216a2b7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "",
+          "key" : "fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87",
+          "msg" : "966b07047354966a703e79607b556032f4f596b7f9206f05",
+          "ct" : "27308a0e1a6c0a1d15d6174ab7d68675207b615df16fcf7a3c69b25f551cca9f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "",
+          "key" : "38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd",
+          "msg" : "80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a",
+          "ct" : "7155ee932b0358d98182a23f7f427c774ab340a4757d0b6a63facd3de90578438cf03201c3f88057",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "",
+          "key" : "c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7",
+          "msg" : "3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270",
+          "ct" : "f20b9b553bc0847529f8d4379fa909211e68249bd429f436c615c4c4a5d9f1a1968f0b89c5237b30",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "",
+          "key" : "aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c",
+          "msg" : "57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5",
+          "ct" : "2811716854a214aecdd318c6670b9b2a7511713c9a0c0fa805230ff05cf84af795dd72f6c1a44512",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "Round counter overflows 256",
+          "key" : "31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab635025cbac1ecf52ca495",
+          "msg" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "5322bc62bd8379abbb75f69688b8f00e31962b8f9ae1e89771952d8a2a749e1352ec33b5435a674271b314760ab9f753b16726185ec7d319ac60531355344c1d53c7903000a8039eb40f70564a0ad3f41b2355ea5dfa6a1d46392f1d106a5da569bfb0493bf7c12dff04bafeae377df4bb47cd440b6f60fbab2a54a98551b76273e02cac8d7be9f2343d3abb2a23af1c91a7011c67a7907260116b67d510aabe5c7ca46c1c20f77106c45966583b3e4ed799a47ee19bb4223209265c2b1ac8183a678ff43bc9a3470a50b9ee4d10f60674268d72c68be003a0d9dd6849aba836fe8a1792b81c90e12945bfe1f27a9c6b2af66a063cdb7721a7f23fb30afdbd8b18db377dd1697f157be81c1578d08b066c71b0c5ca7feecac1cdd938cf9ad525f74844660908194b28e54eddb158f6e4c921b811d90db71a92ff872db2250dcc3f847fc752b66d77e33c85084d3fa53b4f30503d2a06e6cabb9033d59fc1dc15e32f19846a039b91597b0ba3141a7d9717630062170117b2131dab77406e9ed7d66b2c754d849c60",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "empty keys cannot be wrapped",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "",
+          "ct" : "a6a6a6a6a6a6a6a6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "keys of size 8 byte cannot be wrapped",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "0001020304050607",
+          "ct" : "181ba6a3a4392469e3de98ddbbdd2432",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "00",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "0001",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "000102",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "00010203",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "0001020304",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "000102030405",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "00010203040506",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "wrapped key size must be divisible by 8",
+          "key" : "574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692",
+          "msg" : "000102030405060708090a0b0c0d0e0f10111213",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7",
+          "msg" : "",
+          "ct" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7",
+          "msg" : "",
+          "ct" : "9f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7",
+          "msg" : "",
+          "ct" : "dc9e9580",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7",
+          "msg" : "",
+          "ct" : "b9b282d138693000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7",
+          "msg" : "",
+          "ct" : "0efc635b2d61e244056b9d4591ca6b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7",
+          "msg" : "",
+          "ct" : "4a305dae087b0d24d62af41831338f33ae",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "invalid size of wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7",
+          "msg" : "",
+          "ct" : "82cb927097cf31ea4affea440b0d8ca6a240b900",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "bytes appended to wrapped key",
+          "key" : "fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7",
+          "msg" : "000102030405060708090a0b0c0d0e0f",
+          "ct" : "7dfbd7cf6158d75bb5900b3bf1e3871003402a6508b1912800",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "a417671bc62a23c7a65543092124024df72c048d8db330c7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "9518d0f99d7a73ed4a502b449c14c285971b0e6177ce0eca",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "f3511f0491bd74ae1defb5307f0e18db864b57b5c404d428",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "6c03ce779259661c43d41d5d0e45687f874353bba516c73e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "8df01969a11c87026535bfccf72b1d064c86ecc7e5227157",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "8ed1cde228d9c8d046dca65c7a27aef2edf8ae90c705d1e9",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "d69b3e34e9de38d44de1998992362a6fa1f696b5acab3f10",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "67865122af3294b8da0588775125cbd6dc19d5e5cab97b6d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "9f0fa52363dd55df472d867e6faf5da8eb204a1d6d497030",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "c399f999c96a4204325e7f08d6a4de256faf21ec2c007ddf",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "282082264a87dc35ce1cc5b9931b77d80d82fcacc0927f85",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "c192c90b83003ca96744498014b6ad6bedda837955269819",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "30a983cd9e69d561acc95c42b252aba4185f8392f2e6c935c8eb105af8082e34",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "4de9a639b799630b45b49e28dbfc44dabb9843ee588a8cff286b8d5fbd7b32ee",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "d915b2cdfb769d9d82259dc3d124646bbf972b83efd4c2eae9b9f751073f78d6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "117d653f480b69fce564f1fe99572492945189ed5af789ce05a2651baf90bb5e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "8226d07a2f919e24ada1081c69a75520be895e3a2bda9b805d9747773ddeaa38",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "b0a74345bedf8865348daf45d054b99ce515ea8be136270d1cf71e1cfa7aa4a2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "a261db77f17f7ec736d1a8be16e5f9ae432fe2a17012e5a6f07c5426a9f0ca59",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "c53acb5e096b54548e1385b2ff18eaef68d235c95b0194e74a2383d3a7a530dc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "faef482d99ebb180e5bc5e3cf775ba292c2a3b6c44aa4a21ad400906f11af392",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "73a450b63b07b3aece9d1ae5bf097a3dd3fcf73e3ec2f1bd8fc3b5586cb9bd73",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "d34b6ee184d387c9aa4b2d180ae0a89498014e55fe8e416be4f826fcf7d56522",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "2af823d1602803740bfa9040c2c4e769a5b6de919d403cfba9ad360f63af1113",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "dd78ebd3091c55a5da5b24504200f7fadd1b3ac6ad35f814f733e603c13936245d69d83f262f6b1e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "3d8338eae7de322399e1d1b4a3df54326b242b563612ea4b27da22a041d3c80966911bc009911761",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "d04bf75cadd3b5f099c34b27a91e64a8f2dbcf08e8c5c1c9f07a777eeb805d5d0e8c5c01afc43944",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "be0c5d193b61c5137a8fd8a6d7d1ed8f0fa28cec516f544697c12add4f8f4d5cfca65edeb1019974",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "a83ebcbeb2be9d6807b5cfc31c89849d1343dd4eb22e5bfe9e2b2b3790ad8900601f1f5d54fd472f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "416221485a6cb98ad1342ea9a12926a9a133ead8bd919323fe789bb8f89a4fcaf81e1be54f9d358e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "bf6a53286fac48e7f25d89b7056b27aa917d5b54c0d3171dff369f7249153bf09da5891eb4dc2d88",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "99d517a1321bb633b0d5f3afda2372d3abf68b41d13cbfdffc78f173b88bc4b97efcab2b2904788d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "d92456bc77a268ef71cba76064a1b772d1fee2ae4f0ee3bb932a2adb2b031796b9eadb51753f2868",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "5bb54630ab8d73a040f0f87e70e263d1aeb2358bcdc0dce6994d0d874452bbd8741b7ec1d59d8298",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "4581d6536039db1b23da50c648777e90c82d6128bb92e28b2974bae1141543a19a1592fda1fbd61f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "Incorrect IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c",
+          "ct" : "d35bc67e62064c34f48150999ba30ded475d8c75978f45737320f23edaaa7a40d7803fc61add34a4",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "RFC 3394",
+          "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
+          "msg" : "00112233445566778899aabbccddeeff",
+          "ct" : "64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "RFC 3394",
+          "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
+          "msg" : "00112233445566778899aabbccddeeff0001020304050607",
+          "ct" : "a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "RFC 3394",
+          "key" : "000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
+          "msg" : "00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f",
+          "ct" : "28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/kw_test.txt b/src/third_party/wycheproof_testvectors/kw_test.txt
new file mode 100644
index 0000000..fd04a5f
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/kw_test.txt
@@ -0,0 +1,1128 @@
+# Imported from Wycheproof's kw_test.json.
+# This file is generated by convert_wycheproof.go. Do not edit by hand.
+#
+# Algorithm: KW
+# Generator version: 0.4.6
+
+[keySize = 128]
+
+# tcId = 1
+ct = 9de453ced5d4ab46a5601708eeefefb5e593e6ae8e86b26b
+key = 6f67486d1e914419cb43c28509c7c1ea
+msg = 8dc0632d92ee0be4f740028410b08270
+result = valid
+
+# tcId = 2
+ct = 8c3aba85cc0ae1ae10b36658b068f595baf8caafb745ef3c
+key = a0b17172bb296db7f5c869e9a36b5ce3
+msg = 615dd022d607c910f20178cbdf42060f
+result = valid
+
+# tcId = 3
+ct = 1de093654826f18fcd0f3fd499416ff22ed75ee12fe0b624
+key = 0e49d571c19b5250effd41d94bde39d6
+msg = f25e4de8caca363fd5f29442eb147b55
+result = valid
+
+# tcId = 4
+# wrapped key is longer than wrapping key
+ct = 9c3ddc23827b7b3c13105f9e8b11523baccdfb6c8b7e7825496e7a840bd32aec
+key = e0e12959109103e30ae8b5684a22e662
+msg = dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e
+result = acceptable
+
+# tcId = 5
+# wrapped key is longer than wrapping key
+ct = afb744aaf746dcc0b57f8b378c404cbe877f44cf3d45140d60814eda3f541f01
+key = dd583d9f1059861430ec8b5d8a180e9b
+msg = f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487
+result = acceptable
+
+# tcId = 6
+# wrapped key is longer than wrapping key
+ct = cff98cd64cb51ab99b81aee82cee4274d0df3e1b6a4943d39236ea989846d0cc
+key = faf5ccfae42b43cee2c5f0f3177a7c5d
+msg = 4e02084833660c463830483b36dab866c64c8cf7429cac3d
+result = acceptable
+
+# tcId = 7
+# wrapped key is longer than wrapping key
+ct = 58dcfb0e7ec4d3bc8003418d865fbd520c6b24b2bde35b1be5b1c5ff32a130f33d035e5932616083
+key = c2b9d23f2831ddcdeb456853d4014db9
+msg = f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907
+result = acceptable
+
+# tcId = 8
+# wrapped key is longer than wrapping key
+ct = 4ee47bd68d418586c447a39111e2ec1502ff0f1726ea91c5d97370409d89b8e66e889b638ac40ced
+key = 620a08f320cdedbf7ae551add348d95e
+msg = cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291
+result = acceptable
+
+# tcId = 9
+# wrapped key is longer than wrapping key
+ct = d3b093fd822ce454ebc251c6f21fa71c3858ee7e623ecbfbbf887398a30b40c55d0565c7a15e4015
+key = ed089ac274f8c7cea2415671a94b5e53
+msg = 6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299
+result = acceptable
+
+# tcId = 10
+# Round counter overflows 256
+ct = 222deadde6efb760cae42fa188310e0c07e7d557529766444a9efb330907d42f0dd8f3d17b3a38bf40d68c095a9cce19daf907bf2c92f1e59b18b277ff0397fc50f45f582db936aa8afb943de01b58abfdc81daef4e038c99e4c1eb3ee447464bb8f89a4ea81e56556cc26c72883c06a7fe850d04347d68bbadc4a06775030676db8cc34aeb07e39c7f059c2bff76a7f2baf076749004ef7189f887f89029f88c5c1d0f5ee62320b423048e2ad8186e63be23c553f5576a40d967e8b527ccd783c41abc64bea1aec8a76deb3e9c9a6656756e1dac38bd25ff008888a5591af763fd73f5addd749794817070990484654a46ef442adaeacab14d12daaf87bcb91661a21593717d9b93529d813ea5fc812d708c0d8e9b68122d9f5e6267cde363780a45d07e4caa5bf14f2334f25b9d177632bb80a82894aa47b6f360b2da1138dedd4331f077c900554c7a68b5d154980bb3517ac20a78a51f6f21e42b2c4c960d31cbd22bd610819182c5e456ba7d7e903f5e60f6e0c4cc014feb4f81973ce48ad6f4dab8da51eb7
+key = 31cacbb17d6dbbecae40727c5048fe0c
+msg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = acceptable
+
+# tcId = 11
+# empty keys cannot be wrapped
+ct = a6a6a6a6a6a6a6a6
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 
+result = invalid
+
+# tcId = 12
+# keys of size 8 byte cannot be wrapped
+ct = dc26fb6911d71971df0356d6bb9ed6e6
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 0001020304050607
+result = invalid
+
+# tcId = 13
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 00
+result = invalid
+
+# tcId = 14
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 0001
+result = invalid
+
+# tcId = 15
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 000102
+result = invalid
+
+# tcId = 16
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 00010203
+result = invalid
+
+# tcId = 17
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 0001020304
+result = invalid
+
+# tcId = 18
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 000102030405
+result = invalid
+
+# tcId = 19
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 00010203040506
+result = invalid
+
+# tcId = 20
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495
+msg = 000102030405060708090a0b0c0d0e0f10111213
+result = invalid
+
+# tcId = 21
+# invalid size of wrapped key
+ct = 
+key = fe60fc8df7d9f4ebb5416ca4e82182f7
+msg = 
+result = invalid
+
+# tcId = 22
+# invalid size of wrapped key
+ct = 9f
+key = fe60fc8df7d9f4ebb5416ca4e82182f7
+msg = 
+result = invalid
+
+# tcId = 23
+# invalid size of wrapped key
+ct = dc9e9580
+key = fe60fc8df7d9f4ebb5416ca4e82182f7
+msg = 
+result = invalid
+
+# tcId = 24
+# invalid size of wrapped key
+ct = b9b282d138693000
+key = fe60fc8df7d9f4ebb5416ca4e82182f7
+msg = 
+result = invalid
+
+# tcId = 25
+# invalid size of wrapped key
+ct = 0efc635b2d61e244056b9d4591ca6b
+key = fe60fc8df7d9f4ebb5416ca4e82182f7
+msg = 
+result = invalid
+
+# tcId = 26
+# invalid size of wrapped key
+ct = 4a305dae087b0d24d62af41831338f33ae
+key = fe60fc8df7d9f4ebb5416ca4e82182f7
+msg = 
+result = invalid
+
+# tcId = 27
+# invalid size of wrapped key
+ct = 82cb927097cf31ea4affea440b0d8ca6a240b900
+key = fe60fc8df7d9f4ebb5416ca4e82182f7
+msg = 
+result = invalid
+
+# tcId = 28
+# bytes appended to wrapped key
+ct = 9790ab51fbcb850df6764e011ae97c85785bed2633aea66500
+key = fe60fc8df7d9f4ebb5416ca4e82182f7
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+
+# tcId = 29
+# Incorrect IV
+ct = 0aac329ccd513edbdd6367df67999eaac9e7b51984c4d38d
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 30
+# Incorrect IV
+ct = 5a55dc429749ca49bb4ab01d966b19ea9a9e1402e6ab2962
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 31
+# Incorrect IV
+ct = 45f533f6072f640eb7e1e512d56072085567f4ad6012a97a
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 32
+# Incorrect IV
+ct = 84f284565df47c409107f7a0a71bc370a8ed4489d414b9e9
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 33
+# Incorrect IV
+ct = 3941c366554fc896e9fe52f02493ca03d439eb17c236146d
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 34
+# Incorrect IV
+ct = 45c9d42363d981d086a972728e130a42f5dd90bda562a85a
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 35
+# Incorrect IV
+ct = 037d17859519d6c0728a9eb6e64113e86919decabd3bbb88
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 36
+# Incorrect IV
+ct = 1ad10af7f6c042b267a0c7bc4d25d27c003deb50e2cc566a
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 37
+# Incorrect IV
+ct = 630c571b7fb8647ac5360a255f9f5d3645795ac45285cbaa
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 38
+# Incorrect IV
+ct = 16db553e467d4029d0fea62b2c440e5df6c6591f0497a99d
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 39
+# Incorrect IV
+ct = 097991090a156047d4784b757f262e12ce57e13a3d5d286c
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 40
+# Incorrect IV
+ct = 3957c338b750a3285eb7b65c9cfe77053dd7d8149f42caa1
+key = 4f710eb6b5e28703becfc3dc52fa8bc1
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 41
+# RFC 3394
+ct = 1fa68b0a8112b447aef34bd8fb5a7b829d3e862371d2cfe5
+key = 000102030405060708090a0b0c0d0e0f
+msg = 00112233445566778899aabbccddeeff
+result = valid
+
+[keySize = 192]
+
+# tcId = 42
+ct = 00be1caddfd5ad7697877017795f9cee4bce5a61687a6126
+key = f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe
+msg = 9adbc00c710b1101bdf6a4ed65b32d72
+result = valid
+
+# tcId = 43
+ct = 54e7f278b5a1fb4c31a0d79ac1f615edd910bf22015a0668
+key = b713f6b7814f98894d7b153974684359f1460213eb74be68
+msg = 78585f0c49922e82caf17ebc3721b4db
+result = valid
+
+# tcId = 44
+ct = 510455bd9c078ac1f07bb3752cbd04e421b0dd635190fa62
+key = 13ecf423211caa334ba6db37259a535c20de8ad10fc8c432
+msg = 4fc75d0f221e22408a37e11265d49a05
+result = valid
+
+# tcId = 45
+ct = 880da5b410f913ad72cc93f46344f1152165bdea14664fd2d3afbd87b8cc5cfd
+key = 4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1
+msg = f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5
+result = valid
+
+# tcId = 46
+ct = 27654cf6a63d6004ae83da54c2e5d7b5fad20878f350087ddd17ac44a2be868f
+key = b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e
+msg = 0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a
+result = valid
+
+# tcId = 47
+ct = ad7ca66ad4664f43e4dd09296a6e6f02d5af4408f225c0abeb0d9b76c8d1e982
+key = f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000
+msg = 241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea
+result = valid
+
+# tcId = 48
+# wrapped key is longer than wrapping key
+ct = e245c90a6b46caece94f47117d608331958c8f75f531ebcdc902c0213d9105f2155af07daa62d132
+key = 1639f9f81e53e2eeb677a249e5eced3af108971301601a7b
+msg = ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691
+result = acceptable
+
+# tcId = 49
+# wrapped key is longer than wrapping key
+ct = 8a32b9f207ae5aaedb7e8a0d945107412c1bd06999bc5ac83c1f958dfb77ebdcf9d98c60dbd4650a
+key = 1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0
+msg = 50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380
+result = acceptable
+
+# tcId = 50
+# wrapped key is longer than wrapping key
+ct = 4a5842b10d2db96ea1039ef4785ce722555b3751a9b6dd39126ad363378c72320d83ea7adb81615a
+key = 3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771
+msg = 65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf
+result = acceptable
+
+# tcId = 51
+# Round counter overflows 256
+ct = e2192598e6124f2791b2751f930958435bb1d02e98aa1e09781bba0b159435db659fa73fa310111704692c68e16ddf4be06022c52fe9dba6279aad1aeb814125d0ddf33f31e58e625af32305050cfea390d8782d32caac558889ca8e641908208da6976542b40dbd090178e2a6812a436c18a5e891ac8083176ace1ddfee4d382856a59c80c643ecd5c1ab68c66b2b8984ce6e0e386f6554a9cb91d363bb4accf028878ec20b8b2e37214f7b12dbcd78fb38f711a90fe262c78491b9058354e27b34fc92ef0d7028594cb08259f86b54cb1d317ec55f2ef2ab7e8b141671f8bcb1a90bb7d82bc8cb4fb02c9ce430ef4ae0dc847e91e7d4fb463eb9dd87fc9dc9568f3a4ef504d74c134dcb60ca01b36ce10cb467268ea297c0518a50d12cc025cfeea1381ddd7dd63e4ac94890a0eae9dbd8db244625a3c8af2e1aff6a8112c4d3d98e8263588ee1dd9063b709b8ec00474c4ea413a802b8cde814e7b3731410809ed000060fb7b9b0bf8509ef17515f333e868b188ea16445f380b3a7d42774f6456cdf724246fa
+key = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab63502
+msg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = acceptable
+
+# tcId = 52
+# empty keys cannot be wrapped
+ct = a6a6a6a6a6a6a6a6
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 
+result = invalid
+
+# tcId = 53
+# keys of size 8 byte cannot be wrapped
+ct = 38d8238cdb0d9a2da28d6d56194f2e78
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 0001020304050607
+result = invalid
+
+# tcId = 54
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 00
+result = invalid
+
+# tcId = 55
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 0001
+result = invalid
+
+# tcId = 56
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 000102
+result = invalid
+
+# tcId = 57
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 00010203
+result = invalid
+
+# tcId = 58
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 0001020304
+result = invalid
+
+# tcId = 59
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 000102030405
+result = invalid
+
+# tcId = 60
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 00010203040506
+result = invalid
+
+# tcId = 61
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76
+msg = 000102030405060708090a0b0c0d0e0f10111213
+result = invalid
+
+# tcId = 62
+# invalid size of wrapped key
+ct = 
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97
+msg = 
+result = invalid
+
+# tcId = 63
+# invalid size of wrapped key
+ct = 9f
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97
+msg = 
+result = invalid
+
+# tcId = 64
+# invalid size of wrapped key
+ct = dc9e9580
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97
+msg = 
+result = invalid
+
+# tcId = 65
+# invalid size of wrapped key
+ct = b9b282d138693000
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97
+msg = 
+result = invalid
+
+# tcId = 66
+# invalid size of wrapped key
+ct = 0efc635b2d61e244056b9d4591ca6b
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97
+msg = 
+result = invalid
+
+# tcId = 67
+# invalid size of wrapped key
+ct = 4a305dae087b0d24d62af41831338f33ae
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97
+msg = 
+result = invalid
+
+# tcId = 68
+# invalid size of wrapped key
+ct = 82cb927097cf31ea4affea440b0d8ca6a240b900
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97
+msg = 
+result = invalid
+
+# tcId = 69
+# bytes appended to wrapped key
+ct = 55dfb2f7e0c1ea04fead897c451c0505921dc47f308c491700
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd97
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+
+# tcId = 70
+# Incorrect IV
+ct = 9b1593fd7d4fe25a660bbc1976ea4ab68bcc53f848a8eb9d
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 71
+# Incorrect IV
+ct = e7edb847fa91e2deded726edf3ab93da91151697425fee28
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 72
+# Incorrect IV
+ct = 1b51a7c033c1efb5ee2994259c40f03bb57d8cc09e507e6e
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 73
+# Incorrect IV
+ct = c40b614a5062f5fd049c5379b3e8141614c2da97893589fb
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 74
+# Incorrect IV
+ct = d7575ef02df54b3086eb49035eeafbce0e08336e89b35ab0
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 75
+# Incorrect IV
+ct = 0d617f1c12485a35917d2a941e949d2fdbf03a346889b850
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 76
+# Incorrect IV
+ct = c7df34729174db2e83ee16c6de74d5eb9766715fad049b40
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 77
+# Incorrect IV
+ct = c3ed38d6f9ccb9bf3c56bb3176f00d3ce9887521f8d4c70b
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 78
+# Incorrect IV
+ct = 6582b5f4652744b0537e97e7cdae0f443130140dbaea604c
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 79
+# Incorrect IV
+ct = fc9b9bdf25f2b48ad79934c8d34897cdbf4c846f8cb4b11d
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 80
+# Incorrect IV
+ct = fc23c7f4fe20aa81105efc1a7105a5316b23399ac792c824
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 81
+# Incorrect IV
+ct = 37b4a261b96bcec9cc93eef5b2fbbbe84634f978c5893dda
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 82
+# Incorrect IV
+ct = 1831109847d17d010bfcd93fb46f3150cdafd52733db74c221b034fe8e1552c0
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 83
+# Incorrect IV
+ct = 2b2b89c3c6b2db4903877ad4622ca33f3a3cb7e6701d1340e6afc0fdab7dbd72
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 84
+# Incorrect IV
+ct = 3c6903f37da57161af6706050a2ed747cd55344d869189fd49d2536ff948129d
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 85
+# Incorrect IV
+ct = 8a8dc8b131c6b968b60c1dd819a655392d1a96d6cafa48e30fb1146f096229c6
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 86
+# Incorrect IV
+ct = 303e0b3602d514a7d52edba3306d7383e8999e7c652a510335a8949efb42eb66
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 87
+# Incorrect IV
+ct = 319befbf2ddbb475723fb2fa30f2ae7fc1ceb1e6f361715eca7209608873c7fc
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 88
+# Incorrect IV
+ct = 9b3e440341c5da131559959db6b3553a534691162f4f009327bf2c21d6fe5ada
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 89
+# Incorrect IV
+ct = eba6cc0959e6a56339b141629840add80f4565656dc687a3b996960c994dfd26
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 90
+# Incorrect IV
+ct = b703b6cf4587709353c7e4004d3da61ce5f5deaf7163ca9d6158dde919e0ac34
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 91
+# Incorrect IV
+ct = 72549d52d6f4ff912d833c74136d90634ce8afa4f84412bbee8074084d4cecff
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 92
+# Incorrect IV
+ct = 1337c8bd6c8a5dd43aba8d298864ffe76ad6ea909f3488157a15e6c46acf2214
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 93
+# Incorrect IV
+ct = 4aaffaca5fe85814d040aa2a306ba4d1d44746cfe46c978aa057b53fd25316c1
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 94
+# RFC 3394
+ct = 96778b25ae6ca435f92b5b97c050aed2468ab8a17ad84e5d
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 00112233445566778899aabbccddeeff
+result = valid
+
+# tcId = 95
+# RFC 3394
+ct = 031d33264e15d33268f24ec260743edce1c6c7ddee725a936ba814915c6762d2
+key = 000102030405060708090a0b0c0d0e0f1011121314151617
+msg = 00112233445566778899aabbccddeeff0001020304050607
+result = valid
+
+[keySize = 256]
+
+# tcId = 96
+ct = 940b1c580e0c7233a791b0f192438d2eace14214cee455b7
+key = fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c
+msg = 287326b5ed0078e7ca0164d748f667e7
+result = valid
+
+# tcId = 97
+ct = 939b3389336fea4a9751bf014ef18011323090e8a0500bc4
+key = 0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22
+msg = b40b6828729b456322a8d065abc0d081
+result = valid
+
+# tcId = 98
+ct = 59ee8e5198861237f682edec6ba906526c016d4d935942bd
+key = d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588
+msg = 037b27b3dc95b19d15bd4091e320bfe1
+result = valid
+
+# tcId = 99
+ct = 1ab53a065d8f776a08b33e51383071b6f154612116655137bd3b7ec29b70fd56
+key = 07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121
+msg = faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071
+result = valid
+
+# tcId = 100
+ct = a1bf8e73e3fa1db759f0ab2ab0b1ca6f2c85b63d83e25f7a0b5293d0a216a2b7
+key = ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1
+msg = dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825
+result = valid
+
+# tcId = 101
+ct = 27308a0e1a6c0a1d15d6174ab7d68675207b615df16fcf7a3c69b25f551cca9f
+key = fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87
+msg = 966b07047354966a703e79607b556032f4f596b7f9206f05
+result = valid
+
+# tcId = 102
+ct = 7155ee932b0358d98182a23f7f427c774ab340a4757d0b6a63facd3de90578438cf03201c3f88057
+key = 38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd
+msg = 80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a
+result = valid
+
+# tcId = 103
+ct = f20b9b553bc0847529f8d4379fa909211e68249bd429f436c615c4c4a5d9f1a1968f0b89c5237b30
+key = c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7
+msg = 3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270
+result = valid
+
+# tcId = 104
+ct = 2811716854a214aecdd318c6670b9b2a7511713c9a0c0fa805230ff05cf84af795dd72f6c1a44512
+key = aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c
+msg = 57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5
+result = valid
+
+# tcId = 105
+# Round counter overflows 256
+ct = 5322bc62bd8379abbb75f69688b8f00e31962b8f9ae1e89771952d8a2a749e1352ec33b5435a674271b314760ab9f753b16726185ec7d319ac60531355344c1d53c7903000a8039eb40f70564a0ad3f41b2355ea5dfa6a1d46392f1d106a5da569bfb0493bf7c12dff04bafeae377df4bb47cd440b6f60fbab2a54a98551b76273e02cac8d7be9f2343d3abb2a23af1c91a7011c67a7907260116b67d510aabe5c7ca46c1c20f77106c45966583b3e4ed799a47ee19bb4223209265c2b1ac8183a678ff43bc9a3470a50b9ee4d10f60674268d72c68be003a0d9dd6849aba836fe8a1792b81c90e12945bfe1f27a9c6b2af66a063cdb7721a7f23fb30afdbd8b18db377dd1697f157be81c1578d08b066c71b0c5ca7feecac1cdd938cf9ad525f74844660908194b28e54eddb158f6e4c921b811d90db71a92ff872db2250dcc3f847fc752b66d77e33c85084d3fa53b4f30503d2a06e6cabb9033d59fc1dc15e32f19846a039b91597b0ba3141a7d9717630062170117b2131dab77406e9ed7d66b2c754d849c60
+key = 31cacbb17d6dbbecae40727c5048fe0c01bc53b23ab635025cbac1ecf52ca495
+msg = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+result = acceptable
+
+# tcId = 106
+# empty keys cannot be wrapped
+ct = a6a6a6a6a6a6a6a6
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 
+result = invalid
+
+# tcId = 107
+# keys of size 8 byte cannot be wrapped
+ct = 181ba6a3a4392469e3de98ddbbdd2432
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 0001020304050607
+result = invalid
+
+# tcId = 108
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 00
+result = invalid
+
+# tcId = 109
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 0001
+result = invalid
+
+# tcId = 110
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 000102
+result = invalid
+
+# tcId = 111
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 00010203
+result = invalid
+
+# tcId = 112
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 0001020304
+result = invalid
+
+# tcId = 113
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 000102030405
+result = invalid
+
+# tcId = 114
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 00010203040506
+result = invalid
+
+# tcId = 115
+# wrapped key size must be divisible by 8
+ct = 
+key = 574957151fc2afe0fa3dc7a9a7da6495398f18ea0d8eed76a51aac96038ad692
+msg = 000102030405060708090a0b0c0d0e0f10111213
+result = invalid
+
+# tcId = 116
+# invalid size of wrapped key
+ct = 
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7
+msg = 
+result = invalid
+
+# tcId = 117
+# invalid size of wrapped key
+ct = 9f
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7
+msg = 
+result = invalid
+
+# tcId = 118
+# invalid size of wrapped key
+ct = dc9e9580
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7
+msg = 
+result = invalid
+
+# tcId = 119
+# invalid size of wrapped key
+ct = b9b282d138693000
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7
+msg = 
+result = invalid
+
+# tcId = 120
+# invalid size of wrapped key
+ct = 0efc635b2d61e244056b9d4591ca6b
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7
+msg = 
+result = invalid
+
+# tcId = 121
+# invalid size of wrapped key
+ct = 4a305dae087b0d24d62af41831338f33ae
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7
+msg = 
+result = invalid
+
+# tcId = 122
+# invalid size of wrapped key
+ct = 82cb927097cf31ea4affea440b0d8ca6a240b900
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7
+msg = 
+result = invalid
+
+# tcId = 123
+# bytes appended to wrapped key
+ct = 7dfbd7cf6158d75bb5900b3bf1e3871003402a6508b1912800
+key = fe60fc8df7d9f4ebb5416ca4e82182f7e9923a746110fd978e3bd2defc1c10d7
+msg = 000102030405060708090a0b0c0d0e0f
+result = invalid
+
+# tcId = 124
+# Incorrect IV
+ct = a417671bc62a23c7a65543092124024df72c048d8db330c7
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 125
+# Incorrect IV
+ct = 9518d0f99d7a73ed4a502b449c14c285971b0e6177ce0eca
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 126
+# Incorrect IV
+ct = f3511f0491bd74ae1defb5307f0e18db864b57b5c404d428
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 127
+# Incorrect IV
+ct = 6c03ce779259661c43d41d5d0e45687f874353bba516c73e
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 128
+# Incorrect IV
+ct = 8df01969a11c87026535bfccf72b1d064c86ecc7e5227157
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 129
+# Incorrect IV
+ct = 8ed1cde228d9c8d046dca65c7a27aef2edf8ae90c705d1e9
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 130
+# Incorrect IV
+ct = d69b3e34e9de38d44de1998992362a6fa1f696b5acab3f10
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 131
+# Incorrect IV
+ct = 67865122af3294b8da0588775125cbd6dc19d5e5cab97b6d
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 132
+# Incorrect IV
+ct = 9f0fa52363dd55df472d867e6faf5da8eb204a1d6d497030
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 133
+# Incorrect IV
+ct = c399f999c96a4204325e7f08d6a4de256faf21ec2c007ddf
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 134
+# Incorrect IV
+ct = 282082264a87dc35ce1cc5b9931b77d80d82fcacc0927f85
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 135
+# Incorrect IV
+ct = c192c90b83003ca96744498014b6ad6bedda837955269819
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5
+result = invalid
+
+# tcId = 136
+# Incorrect IV
+ct = 30a983cd9e69d561acc95c42b252aba4185f8392f2e6c935c8eb105af8082e34
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 137
+# Incorrect IV
+ct = 4de9a639b799630b45b49e28dbfc44dabb9843ee588a8cff286b8d5fbd7b32ee
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 138
+# Incorrect IV
+ct = d915b2cdfb769d9d82259dc3d124646bbf972b83efd4c2eae9b9f751073f78d6
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 139
+# Incorrect IV
+ct = 117d653f480b69fce564f1fe99572492945189ed5af789ce05a2651baf90bb5e
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 140
+# Incorrect IV
+ct = 8226d07a2f919e24ada1081c69a75520be895e3a2bda9b805d9747773ddeaa38
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 141
+# Incorrect IV
+ct = b0a74345bedf8865348daf45d054b99ce515ea8be136270d1cf71e1cfa7aa4a2
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 142
+# Incorrect IV
+ct = a261db77f17f7ec736d1a8be16e5f9ae432fe2a17012e5a6f07c5426a9f0ca59
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 143
+# Incorrect IV
+ct = c53acb5e096b54548e1385b2ff18eaef68d235c95b0194e74a2383d3a7a530dc
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 144
+# Incorrect IV
+ct = faef482d99ebb180e5bc5e3cf775ba292c2a3b6c44aa4a21ad400906f11af392
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 145
+# Incorrect IV
+ct = 73a450b63b07b3aece9d1ae5bf097a3dd3fcf73e3ec2f1bd8fc3b5586cb9bd73
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 146
+# Incorrect IV
+ct = d34b6ee184d387c9aa4b2d180ae0a89498014e55fe8e416be4f826fcf7d56522
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 147
+# Incorrect IV
+ct = 2af823d1602803740bfa9040c2c4e769a5b6de919d403cfba9ad360f63af1113
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1
+result = invalid
+
+# tcId = 148
+# Incorrect IV
+ct = dd78ebd3091c55a5da5b24504200f7fadd1b3ac6ad35f814f733e603c13936245d69d83f262f6b1e
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 149
+# Incorrect IV
+ct = 3d8338eae7de322399e1d1b4a3df54326b242b563612ea4b27da22a041d3c80966911bc009911761
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 150
+# Incorrect IV
+ct = d04bf75cadd3b5f099c34b27a91e64a8f2dbcf08e8c5c1c9f07a777eeb805d5d0e8c5c01afc43944
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 151
+# Incorrect IV
+ct = be0c5d193b61c5137a8fd8a6d7d1ed8f0fa28cec516f544697c12add4f8f4d5cfca65edeb1019974
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 152
+# Incorrect IV
+ct = a83ebcbeb2be9d6807b5cfc31c89849d1343dd4eb22e5bfe9e2b2b3790ad8900601f1f5d54fd472f
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 153
+# Incorrect IV
+ct = 416221485a6cb98ad1342ea9a12926a9a133ead8bd919323fe789bb8f89a4fcaf81e1be54f9d358e
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 154
+# Incorrect IV
+ct = bf6a53286fac48e7f25d89b7056b27aa917d5b54c0d3171dff369f7249153bf09da5891eb4dc2d88
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 155
+# Incorrect IV
+ct = 99d517a1321bb633b0d5f3afda2372d3abf68b41d13cbfdffc78f173b88bc4b97efcab2b2904788d
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 156
+# Incorrect IV
+ct = d92456bc77a268ef71cba76064a1b772d1fee2ae4f0ee3bb932a2adb2b031796b9eadb51753f2868
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 157
+# Incorrect IV
+ct = 5bb54630ab8d73a040f0f87e70e263d1aeb2358bcdc0dce6994d0d874452bbd8741b7ec1d59d8298
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 158
+# Incorrect IV
+ct = 4581d6536039db1b23da50c648777e90c82d6128bb92e28b2974bae1141543a19a1592fda1fbd61f
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 159
+# Incorrect IV
+ct = d35bc67e62064c34f48150999ba30ded475d8c75978f45737320f23edaaa7a40d7803fc61add34a4
+key = 4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7
+msg = a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce34973526908c
+result = invalid
+
+# tcId = 160
+# RFC 3394
+ct = 64e8c3f9ce0f5ba263e9777905818a2a93c8191e7d6e8ae7
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 00112233445566778899aabbccddeeff
+result = valid
+
+# tcId = 161
+# RFC 3394
+ct = a8f9bc1612c68b3ff6e6f4fbe30e71e4769c8b80a32cb8958cd5d17d6b254da1
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 00112233445566778899aabbccddeeff0001020304050607
+result = valid
+
+# tcId = 162
+# RFC 3394
+ct = 28c9f404c4b810f4cbccb35cfb87f8263f5786e2d80ed326cbc7f0e71a99f43bfb988b9b7a02dd21
+key = 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
+msg = 00112233445566778899aabbccddeeff000102030405060708090a0b0c0d0e0f
+result = valid
+
diff --git a/src/third_party/wycheproof_testvectors/kwp_test.json b/src/third_party/wycheproof_testvectors/kwp_test.json
new file mode 100644
index 0000000..78b8a33
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/kwp_test.json
@@ -0,0 +1,2042 @@
+{
+  "algorithm" : "KWP",
+  "generatorVersion" : "0.4.6",
+  "numberOfTests" : 224,
+  "header" : [],
+  "testGroups" : [
+    {
+      "keySize" : 128,
+      "type" : "KeywrapTest",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "key" : "6f67486d1e914419cb43c28509c7c1ea",
+          "msg" : "8dc0632d92ee0be4f740028410b08270",
+          "ct" : "8cd63fa6788aa5edfa753fc87d645a672b14107c3b4519e7",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "key" : "a0b17172bb296db7f5c869e9a36b5ce3",
+          "msg" : "615dd022d607c910f20178cbdf42060f",
+          "ct" : "e8bac475d1429034b32f9bdeec09a37f9b3704028f1e0270",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "key" : "0e49d571c19b5250effd41d94bde39d6",
+          "msg" : "f25e4de8caca363fd5f29442eb147b55",
+          "ct" : "4c8bcd601b508ef399f71b841294497a4493c4a0014c0103",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "e0e12959109103e30ae8b5684a22e662",
+          "msg" : "dbb0f2bb2be912a20430972d9842ce3fd3b928e573e1ac8e",
+          "ct" : "9e4510cc84c4bd7abab0a8a5d7f1e6ff3e6777ca2dff9be7e223652239fe57d8",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "dd583d9f1059861430ec8b5d8a180e9b",
+          "msg" : "f2e34f356362a31b51d6e02bcd333c9e6170494ca5ff5487",
+          "ct" : "8fbf39ae583bd4efa7a3e8f7b86870b34766ae7d8923a8e97b0cd289ad98cacb",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "faf5ccfae42b43cee2c5f0f3177a7c5d",
+          "msg" : "4e02084833660c463830483b36dab866c64c8cf7429cac3d",
+          "ct" : "df2fbe5fa86418edc7b5b04a4aea724aca17e88cedc84ca8b0b0f048e64590cb",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "c2b9d23f2831ddcdeb456853d4014db9",
+          "msg" : "f4cfea98e58b939cc859554385cf3a6c7f8217f728efb431c964786de8274907",
+          "ct" : "67f8edf57f84ea0a35b35511d67d3f299c9984b2c07d3809c3d7f5f45091f1a8fbb937ed447677f6",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "620a08f320cdedbf7ae551add348d95e",
+          "msg" : "cec34eaf8e67e1ce619ddfc309531c42f16033a7e2cbc4f5eb3a548164e9b291",
+          "ct" : "60d55a22ba7dbd7d8f317388e01e6be561d15d29f85c566f1259aa7e7dc3d5d30e0ef5f4c6267553",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 9,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "ed089ac274f8c7cea2415671a94b5e53",
+          "msg" : "6065e41df14daeeefacac5daeb7674cdc9c1f686013b797153e80ef215893299",
+          "ct" : "d78a8291108f0f2d8be0ec10ec08240bf4d3021f0a5ed7faba0748db73762f34a0504bd373212df2",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "Round counter overflows 256",
+          "key" : "b6121acad51038e11873aaa7e6c7be06",
+          "msg" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "9341221aca1c647e2afc2bdd9cf4ed6e60058eb0a84cb3fc2daf3a87d9fad0a1f8268b27aaf7201d705e72f7e2240309ad98742094e3f1c99b7faa9ae181b441f5004b8bc93cdd4160d403d0884749a3c379d47c112a45788c05c2106c98f59758d393e04c880691b0e8683a12df7f876e1e1f68b4acbae9cc8310b34d59ccf4617cee72e845df1e0e32e5b4938f2923d55f1bb5156dd8c787401e6ef241ea4073d0a59ddfcd7a53db5d89b480b030cfb9084ea8479b964f090bb612d5251eee9ef8870a45f1e76fd24abdd9b350fe148b15a4cfeb032d57b5743b3548a7ce9eec8e21a31ce832530edfd1cffd9bb37369e6463c6b373ab60d80b0a2677e92e658f7daf2a5234b7312bf2d967cd0bc809e9be2f706ae63bd632fd611f161e48ee19677f3243aa0e91f6651a1cef62feff7a72eedf830bae1dc6d89e55ccb5e6f97889c6266f7d3f2eb0aea6c8c42200febccc5916825368adc87e04e835de06fd7bc2805c219e7f0b6252563f29969b1f30cfa1a8da4b90ae7534fb849d068a7e77de7360f8af173",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "",
+          "ct" : "a65959a600000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "4c",
+          "ct" : "09bcbab50b8dd45ad83412e2919030d3",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "be52",
+          "ct" : "0cbe852cdce4f0b5333366f446b2b1c5",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "2d5244",
+          "ct" : "a9dc66e03435ab3d4f97ff66f2c911a3",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "6c3d3b4c",
+          "ct" : "1b970c8ecb4187447e60e6083da03086",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "0412ab3ec6",
+          "ct" : "0344f7b34ab8ef28aaa843f276b0b3d5",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "8ae08938929c",
+          "ct" : "17356c7148334ca1a24aab7e82a66e18",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "7c8dfbb68d72af",
+          "ct" : "1db7510a55591a455d9f8167e6db3c88",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "536f8f83b64771c1",
+          "ct" : "936fe58b629ea6ec158145218f2361c7",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "8571f282b18b64ec5e",
+          "ct" : "6787816804b3127d0ca4073f1dba5c4d3db1ec9c227e6556",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "8ada889862813e364c4d",
+          "ct" : "34131c3bfcc48af15eea8672e52927b462f81d5ba0e6260f",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "f9c56e8058758a5c7c2baa",
+          "ct" : "4d1ec9287cd4dd378b9aefee79d4ed35bcb98ad9fa9fe529",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "7c7dbc83fa62206a521ed4ad",
+          "ct" : "7209f5b6bd5d4916f4995d280e9aa89edd5e96e3c9283ad2",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "a6614daf00df6d14f50388bad5",
+          "ct" : "d85a1efc6ab3a40948f723d9810a5deb019b3ce0208a0d94",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "450580a47d7008321496bfb82f48",
+          "ct" : "43509b5df3688b6e44c1a994592f4c03da34712f886e63d5",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dca",
+          "msg" : "9efd21e13855eea8907afdcd8935f4",
+          "ct" : "16e369351c40f220d3fb1197f35da652a3a40ca3b1e99bfb",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "82af032f5389caa503147d2825336eab84816fb6f8ae6df4",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "4e00a9eeef87eb6d7be4ec46204d94006c216d5177d2a83c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "d3dc6c3b4707a08039d621879caf419b9895482fff7bdcd0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "09d3bfc3c9c5af2b2951b06406f7ea4d84e9c37402637e2c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "3396679a4d87caf7ce7eb4707ba1c6526728f5a973191713",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "ec637d90d945e92929c1c873d9aa9c47bc7b172237319d15",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "748f373d48d8590e2216b294b9ef94860dbb6b0b0ab625c5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "61d7c584197f257caf2583e444896f1d3ba12509b1ef725b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "7f8cda973fe58b484b120fc710b520c5636057629795f89a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "ccea198029edb9d848d6ca76667b666b1dbebd1e4b1faa8d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "ee08cb9d20a98b88b2d8f0e39acf34219d105dc14afbe364",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "6782992bf8cff068cf41341dd2ca04adedea92e846f74411",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "7ed35d0c08042dd56bb5df78056ecd21b8c797d36f57aaec",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "37e3b4cefee648766a8efe73d6af12812eded603ab7141bb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "fe73777d8992e07eef0d053ad5ec0bf8243fc7e0bc2b405b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "39292c91b6b826d47d502043c3ba4f41e2ce32960a0291b5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "36ef8fc13d0f1f5745e3939877b62b8ecba2f5f0b19f9e90",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "7255c4eacb4105a68095e9e5b5a4bd8f9623a0da5c6fc230",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "ea26eec89a46ff1a628834c7247a8e4e45d8a8d3229e26cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "508593fa85a8effd27c8a225981978fcec6e992eb488c9c2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "b8a4cb22f15529864d4ced8e8abae69752a9045a084dfc3f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "a0a6bf5e47e89706932b1057b680c3c81dc4d9d0b4f9153b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "11f3af4ed30e77520517c880f1d0c272a89a968dc697cb5a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "6fc912a0bda73bacfa93db4002f18f349fa30f22f7a95ab9",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "RFC 3349 padding",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "000102030405060708090a0b0c0d0e0f",
+          "ct" : "3731038571c35f7dcc55e48892de353e54c079b89774bbfd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "Invalid encryption",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "0001020304050607",
+          "ct" : "d85c6bfd092df1aeae5a548e47aa7681",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "padding too long",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "000000000000000000000000000000000000000000000000",
+          "ct" : "7a92427387f5587ee825d1ffa011c40286844ecdadce31cd9678338694ea2682",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "padding too long",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "a437d354606ae752894feb62c8def7d17046d8e47f9aed755fba48b3a3009e3ff67d34e26a779064",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "incorrectly encoded length",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "e8d240d64f16d1522ae2ded42ced257dfec158ff2fe1467d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**32-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "6d1bfda356b7b954e7aaccc6df953322f75be95947b02b30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**32-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "0000000000000000",
+          "ct" : "17dbf878ef4076cfcaba5f81d7b123d7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "length = 2**31-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "75c23e253478037802fae0f86af9c78d4e4d9be0c3bff89f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "length = 2**31 + 16",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "55717658c6a35e15ee36c66cce91083b63091f51525c0b51",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "data is incorrectly padded",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "ffffffffffffffffffffffffffffffffffffffffffffffff",
+          "ct" : "8ede88a52ccb8a6d617456955a9f04c94d87696125ded87eebe3e97e185496d9",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "data is incorrectly padded",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "0001020304050607",
+          "ct" : "5b4a8f1abffa51676ac8b5ddf9366c12",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "length = 0",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "205cc6dd9592da0ebff6b4b48a0c450eeaeb11a60d33f387",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "RFC 3349 padding with incorrect size",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "0001020304050607",
+          "ct" : "908a68b0d2054e199220d37c34a2e136",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "length = 9",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "0000000000000000",
+          "ct" : "f84bdb15045cee3a8a0f3ed2f07c1771",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "length = 16",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "0000000000000000",
+          "ct" : "7592b1ee6ee92c9467db366adcfa65bb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "length = 2**31 + 8",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9",
+          "msg" : "0000000000000000",
+          "ct" : "db93a1db3b5babc80a304d527682c1ef",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "keySize" : 192,
+      "type" : "KeywrapTest",
+      "tests" : [
+        {
+          "tcId" : 67,
+          "comment" : "",
+          "key" : "f75a2f49a630c7dc91626b00ce029f0bd2981d7c74a93ebe",
+          "msg" : "9adbc00c710b1101bdf6a4ed65b32d72",
+          "ct" : "5c117a678223cfe5ee691503061e7ab1e5f720e005171b32",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "",
+          "key" : "b713f6b7814f98894d7b153974684359f1460213eb74be68",
+          "msg" : "78585f0c49922e82caf17ebc3721b4db",
+          "ct" : "6a7f9e03b6f379c56da3a56d8f32eba515454a91fd417449",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "",
+          "key" : "13ecf423211caa334ba6db37259a535c20de8ad10fc8c432",
+          "msg" : "4fc75d0f221e22408a37e11265d49a05",
+          "ct" : "764097f5ee8236bc0d93bbcea139a652f4b211cc33a61ac9",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "",
+          "key" : "4417fbbea51bdd91818d74051957dd70e135c5cf3732bdf1",
+          "msg" : "f5357da9f8fd4a1190f36e9fa09a90fcf14d87d62332f1a5",
+          "ct" : "04b83ec803a75bbcb2f87fc6f488a4ccc1827b412483070eed195b6f0048ccbe",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "",
+          "key" : "b3f26d8a22fdd61f709841231fbde695b3f28dddced6d41e",
+          "msg" : "0d0af955d2e3829cc3d643219b301e64e0510dfbc428119a",
+          "ct" : "46ab71f032cb1ccbcc7447a5183574268c0167a26a93fe8422bf284417aa93ea",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "",
+          "key" : "f70cfb262c729a18206c8afd74356ec7e049d10b44a6e000",
+          "msg" : "241cedfa64c4e7bec541a2eb4c368269e0f0ddebc58267ea",
+          "ct" : "47ca298ee47b1b755a499129347e11e7a25754ccb6c2689e8eff270e98c81d18",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "1639f9f81e53e2eeb677a249e5eced3af108971301601a7b",
+          "msg" : "ec3c6a1f1a9585327fe658490c74635e5300876da5846a629398984fb551d691",
+          "ct" : "ecac4c91758e1ae7bb010c34f4c5f99a3d728b9fa92cb778d3fe80d777a20d3de85ef46e7a0c6a6a",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "1f22d5658aa685b8ba8659dc342880d5b2399e6a815005b0",
+          "msg" : "50be4c1b2f29a63f44d7fc63737f600f0194ea3fb36e173d2ddd19f218656380",
+          "ct" : "39b7326a44eaed08bffbd4aeaf3e2c3f899c1fd049384ed7b3eb92b788c6449acd6385f0bb18cf28",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "wrapped key is longer than wrapping key",
+          "key" : "3a2f4aa50441954bba5a1836294ce071f9296b23dbed6771",
+          "msg" : "65da02ff21b483a1e39575490b4319e84ae0299f1f00b3859fbe2e74b3ec2aaf",
+          "ct" : "3d2e9f39c7b13e9585227c4344fbe596f92b002456616f137deacc6a8c941649ce294bb2695c1807",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "Round counter overflows 256",
+          "key" : "b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1",
+          "msg" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "d6aacfb52c26baae78c2f54259a4e4168f817064344e2ba8fbfa7fae9f1fd69bd5bc5c1e20a6101b4a7119cbce028e25a9e93d29ee260c4e609baedee788411c2afe60218ce1b0d28b9c29b941251fdcbac3009d59040a0337b8b4a3a020c6d8f310cba63db046d8f36b64c9092e75cee463fc7692ef56bed395c4579da0ecb02129e45ad8a7f116aac6170204888e40693f017a6a0a7dd3962004e60db3a9b6c8b7614a467ccb799bce1ba83f5c0921f1e52bb3909bc0486ec0eaea736498f3ba520a519c3ddf491307958620b737613417b15b438b80b43189baa455031f5771502002ea170c767b33d247feebce62e606f2262537f85f18d1951cc75cedef291c6a501cb1778586249b58156eb8d7283a3f508ee8bcc1206d77bbd6892fe74b865bfc02a8f07223087a6c1e50a41b7cf5f6ee04bd07766b2e5b34c4a7666b0ce06f670e6434a59fb74e0df36c91d94e5e8b721e53e09b6f6504c5d515492a373fcc348a63122cc6e4716e0e1a543d038c6f7731199f691780a8a655cca6718e3dc56e815b3669",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "",
+          "ct" : "a65959a600000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "a3",
+          "ct" : "52c7f388d0d4237afaa29f2b94723475",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "594b",
+          "ct" : "833431ce8799be69b36aafe3f38d9dac",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "72ab34",
+          "ct" : "31674f46b989f6ead582c70dedc8c6b9",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "d4d9460f",
+          "ct" : "80535172d2a498aa31601d70fdca9dea",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "643972e552",
+          "ct" : "56232300dd7b2a71d2328b6df47af8e3",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "f3cdb73d2561",
+          "ct" : "e27e08efe39adbbad8d300b87be2c258",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "7b0b53b6429e14",
+          "ct" : "8f90942cdab33e58b24a23ad7efb7538",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "6b2393773e6d1378",
+          "ct" : "0ebaf23c858015d3bda5b8d908db6049",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "2c52d6639e769960e8",
+          "ct" : "d56f89977b8eff511158edad6b993007189e5a4b8c0e2faf",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "707c9356216d69c69048",
+          "ct" : "dd889475a76733849f59bed49a15d4315bdb5ba00dc63470",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "615f6fa79e1847e7359a8a",
+          "ct" : "1a9b3369239b0f40a8dc5bd8d965caf7431445799337b99b",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "7f5e999168ec60624426cbb1",
+          "ct" : "5232f8f6679a17d3303b0bd72b06b56b5089e80372dc295b",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "3f93aaf4463775baf6c0c975ae",
+          "ct" : "e5544361c60980f3d38f2d8820a150f48f49ef3f9184b29f",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "fefcf10c976309b2beb085771e50",
+          "ct" : "55396065905915ec914b8d1efbf471e37d283fc2c1496b49",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b",
+          "msg" : "6854354d0099f7eff740b0587140b3",
+          "ct" : "d90376be302a24c541bd6d96094f0025e3d73888391b4306",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "eee27510be39cc88379459420f3773642a423ac1ff0cfb84",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "765df3fa1aca6f13268ba79f8659807049a313a0308b643e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "71346c17a2718cb7c357e3af2b2d0c3e29b7e02317926746",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "55fd49ba081fdf72896068c5a968e2b3c4a473786a2e12c2",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "133c66fcbf0e9d5139eff3fcb494b672d72bb622d7015c4b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "8439244f27470e5f1f294cfa22ef5412675d7fbbd92ff016",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "4265bdb7d8ea30d9a51e5f48b7ac5487e0c95f154ea8baeb",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "31afcca8ff2b8806408c3460181ee5a96bbaf51d133211be",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "196f2a6eccb5368fe6a3f2fa0874d8fc9b3b52484e2d6351",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "8dc73d363fdb32f6e0ff830c2a48db5815f66d0922694c74",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "e90022b9da998b4a30c91c1bd1a1f8ca05a52432867e5e78",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "c9898a1b70bd718df45f1f3eca82eab1eaddb8ed7f2380dc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "cc3f2cd6476eddbbfdc801b61174301688554f3db54c2903",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "23e15705e7b00d82bd052f0e0135ab7ac0dcce471ff2f1a7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "b8e2862c0f9eae4f44ad99496e3ed62b3b9c4ce7ab5afb74",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "66d8a7769d81421efda456992f6c26cb17665fe080b0160e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "a6a28bceb91551a395369ff09370658cc92b092855f417aa",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "03ff601cf12b432078a2185590fb5d01e3441cf084bcb04a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "e250d358d16d9fd20ad80a99656509229dca391aad3798f0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "643a17860b116ec74089bc574685a6328a3d7a07cd18b520",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "3e86e8128904f753c0f3fe3401ba36672966567725c4726c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "d4b8cc849176b8344b0849490143d3512915171bd7d5759e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "f84e0e6ff64e0b27b8b59b5b77c223023f0fea95433864ec",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "4030b4b0e9c1b1ce8e52f6bdb48088e65b05844307989c8b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "ccb3b36c26b2d901b7f0765362d992b2d5089c2a7559b195becbe173780352fa",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "4e5fc8dccaeec9b1c8a606a2bd7d7201eede62b9c2e939a5aba663a6a040e361",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "af21f5e7f15a63c8ea6001cf024f281e7f44aedd68954564fc2bd146e96d793a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "3a4f571ffbf761d3f7d413172ee1e4ae2862baacfd5ab66dc685b9af8b70b538",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "273de386d5fef497f9487afd54c1c0fae8aacabf2af465caf352e2300d29266b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "16511743dc44199cee1dbf5045141b075f01ee13326c9faf2c74b7c99791830f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "370f92db00f7fc8a0e654318a5b3ff89a604034f421339201d79e0ec4d6088de",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "e3edd0e84832f3615f6deefb444de3b9ec527741686029db91de0bb9b2a5c05d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "RFC 3349 padding",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "000102030405060708090a0b0c0d0e0f",
+          "ct" : "36ee480138edf11e144efcddd24d2c121749da6e4eab17fe",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "Invalid encryption",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "0001020304050607",
+          "ct" : "166beb49e97a4a9cc7b0ccf441ec15b5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "padding too long",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "000000000000000000000000000000000000000000000000",
+          "ct" : "74ff3070a0a08471c001febb95a890f35159a9fe263719e40c2332ce5c58fada",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "padding too long",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "4f0b38eb328d1227b1e17c103a44a373ff67cee953c59eea26117947b5d3ef8932c8858b4f9fb47c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "incorrectly encoded length",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "775dcabab9e4be8fd9963a4dc7a1447ef82888403882bdb6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "length = 2**32-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "669803237fa10eabb4d2c6ad85bd9f7df5f4a33340eb0ce9",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "length = 2**32-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "0000000000000000",
+          "ct" : "c788504d786f5c21b6671bf190657301",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "length = 2**31-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "d079f60d3258f5e695d1a73db008ef38516b713eca2c0eaf",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "length = 2**31 + 16",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "f1ae4b8865013b0fc63b463e664cec3c6031f61f2de82f43",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "data is incorrectly padded",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "ffffffffffffffffffffffffffffffffffffffffffffffff",
+          "ct" : "8874e1b6e15e3ef6c461411a5f5ad0c8b05368cd5b3ee39b2b413d18a4eebfc9",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "data is incorrectly padded",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "0001020304050607",
+          "ct" : "890a3dab8439bb73b14c6e99c34f0b0e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "length = 0",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "d4f633aedeb89e349a98738b00ee42c90d583b16e986e49f",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "RFC 3349 padding with incorrect size",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "0001020304050607",
+          "ct" : "b8b2a5b1d3280dcb4daeeed43f36509b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "length = 9",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "0000000000000000",
+          "ct" : "4429cf64251d8a54a9d1389c01c30900",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "length = 16",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "0000000000000000",
+          "ct" : "e5634eca10372c867c7f91ee813ec3f3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "length = 2**31 + 8",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702e",
+          "msg" : "0000000000000000",
+          "ct" : "9e517d4d0142e1544ba1e7419a696c21",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "RFC 3394",
+          "key" : "5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8",
+          "msg" : "c37b7e6492584340bed12207808941155068f738",
+          "ct" : "138bdeaa9b8fa7fc61f97742e72248ee5ae6ae5360d1ae6a5f54f373fa543b6a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "RFC 3394",
+          "key" : "5840df6e29b02af1ab493b705bf16ea1ae8338f4dcc176a8",
+          "msg" : "466f7250617369",
+          "ct" : "afbeb0f07dfbf5419200f2ccb50bb24f",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "keySize" : 256,
+      "type" : "KeywrapTest",
+      "tests" : [
+        {
+          "tcId" : 143,
+          "comment" : "",
+          "key" : "fce0429c610658ef8e7cfb0154c51de2239a8a317f5af5b6714f985fb5c4d75c",
+          "msg" : "287326b5ed0078e7ca0164d748f667e7",
+          "ct" : "e3eab96d9a2fda12f9e252053aff15e753e5ea6f5172c92b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "",
+          "key" : "0dda6da5123e2c37c6fa16ba0d334cd01acd652f8994211751dfab4faac2fc22",
+          "msg" : "b40b6828729b456322a8d065abc0d081",
+          "ct" : "9d2b42fb2fdb92c89fb0c3bcd9e1600d3334b4e35e791369",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "",
+          "key" : "d6925914cd06308f81ad91e23073593d99d4e50351b20eb2a8d1a1ac4ced6588",
+          "msg" : "037b27b3dc95b19d15bd4091e320bfe1",
+          "ct" : "5291e05abd55f5886850855e3f9f2f576b101acc222d6766",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "",
+          "key" : "07518a82cbc8da1dcec55f3763a206d277487abd03cedd0b8bef9ee2fb157121",
+          "msg" : "faa4664d79fce3c7d2fdd462f6c1c423c2f8e6b69be2e071",
+          "ct" : "4b1220525c537aec30ebcd562b694b4e9e2ccd819de22ef608b5d8090779d9de",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "",
+          "key" : "ea46991d4e71f53dd624e7fe7fde11944a7c5942d232369b8065d42b8cd2dde1",
+          "msg" : "dffc5cf1dd5411d015d84601fa38df5effe885c7f26a4825",
+          "ct" : "67b2cbd68f6a208d647bdc5af7d0bccf6711a9e8fd0d9434363006addd4b9696",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "",
+          "key" : "fdcfa902c6f222f527af84da533b14b52e2615da3a89d1d35708b0cd49f60d87",
+          "msg" : "966b07047354966a703e79607b556032f4f596b7f9206f05",
+          "ct" : "cfdbbd95f187508a488fe017c5e5d5a5975b68441d520e0e931922388e28784c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "",
+          "key" : "38e1b1d075d9d852b9a6c01c8ff6965af01bac457a4e339ae3e1d7b2ffacc0cd",
+          "msg" : "80ad6820f1c90981e2ca42b817a345c1179d0a11d8e23a8adc0505e13d87295a",
+          "ct" : "b63b7e0fec7e315816233db6758fd3e744b9f6a40862bdf866487e53bcb950d8b2649269e51b4475",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "",
+          "key" : "c641f1689d81caa8ba37d895272240664054ed974cfffc40e6c5c0cad1b916c7",
+          "msg" : "3fd0ba19955e46749f54d88e99d080b7339d588fe612ec0f4021ca3ca2104270",
+          "ct" : "837cfc316b49299edaf427e0988020ee876204b29d847669daab72c8660b0d860e9de3bd851198ff",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "",
+          "key" : "aa0ab9d68ed4a04e723f81b44c0c88d0bcde7a80cfd476eb4b8836d9aa01ec4c",
+          "msg" : "57faa8766f6d6a0aa1cf643f857c150df5b31303b50af480e21c4b5e8c8a15d5",
+          "ct" : "0e9e2e9aa34bbf973d67bc534ac86fc5b5a5f9da5f026866177894ec6077a5c84501510e1bf4afb3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "Round counter overflows 256",
+          "key" : "b6121acad51038e11873aaa7e6c7be06f93826b74fec0ea1c02f9981ed49d16a",
+          "msg" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "1c6b7e4003384f071bf29baea9098ad81da8e9862909329f52793b35d592c10dba15aa89400ea6403df8dcaffd0dbf5606303f109f79ad700ed5d5ad4e59950ce9ce5296c9d186a0df441973d1835f9ac000ad1a6797875c3a03161e9e3f5ea464032e407854eadca5a9e7a386bb0d29253e3804adefd8c0402cc8c40ac7f9041429cc0bb77a405b284baa2dae764ea09c654c0a82f2c5724221ba44e341503d3103dbc393c7702182f8cc2762ddbc873b7f84197709886a4b5df5b04ff9d21b79b50904af3c32128dfb9cde94fe1254d981e6ce3acfda82db1fa2badbccd2d29052a04a69ce1f5652f30496ea57edc7e3e885dd4a35ca15aba602bb4c888a8064da94c2ac5c12c11f608810af46fbb49c3e8f8771ff661f8d8dccd163d0c4a401b8b9aa74e68a56011cf78d21dc7541a974f9dad5ae27f8a26d1b0e76be2f86c6a21e9d1c2b5df3c8878a8bcae143b3af1f082afc52616eeadd2232926597b245d394931e02e493b0bc27a92d013e111694cac2c5a2a46e008a8498b5c31bb5ec35a4e9957e365d",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "",
+          "ct" : "a65959a600000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "ae",
+          "ct" : "06c1e65ac0f385b4e8c400d229f39422",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "c548",
+          "ct" : "c98da5936a1313eba1a6773b8060ea5e",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "f713b9",
+          "ct" : "b2a77d9b837e87cdb7391e1df7cdaf14",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "f375cbf7",
+          "ct" : "d8ecf20191f75aa36686298bfa5022ab",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "d9445094b1",
+          "ct" : "077362f50356fc7c54c70f9cb4306f7d",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "fab43e91ae15",
+          "ct" : "a4bd6a116ad88a52aae3f0c0cb893f9b",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "90735025797bd2",
+          "ct" : "68a52de00ec0f1ebbedc38fee6be0c23",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "e43f5e4e123a03c4",
+          "ct" : "3a6746052a1744cfe7e2f36dafc4042d",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "1723eb9d000916996a",
+          "ct" : "db7e73da22219e1baac0f4e955c3db2b900b5d3078f94b59",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "8b18daecde14b8472ffd",
+          "ct" : "f77ec14a010777f1f1071808f285c1c00b4e9420f0e8bf48",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "e5bd6fbacbf3ef0d40c884",
+          "ct" : "6b40d4f0863581a7d0365ad477568bfad94f8bf134984838",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "b3be5e5397df5f46b099e821",
+          "ct" : "660f645b02405a18f7225b68c0a09a949b2b5ba784922cfe",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "4cdd960cabcf8aaf69c37da1d3",
+          "ct" : "6bea6bf57601bf063873f47ec3572cfb9cfb595d8bdb5e97",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "da29e0889cf98742612e0326300b",
+          "ct" : "b631292536aaf02d829cc6d3c39e5a5cd76240889e9d51d0",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "wrapping small key",
+          "key" : "1abf4b7fa2bb62a78f09ddab04625dcacdd9e551d1a69b6b162baa53d2700093",
+          "msg" : "72aaee126a822184806c7d22eed66b",
+          "ct" : "de497acf18a177a3a9b3d8da46d74dfa58dcc537a3a95323",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "aef4d2357a8fc5c3b4a80a15ed49781d3a82c98eb78c9180",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "6eaefd5193f0725fea545077a430860663901979f0b6f4a3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "f9ded536c1ae9c680f7d9c4b91a566a07b1628e9b9f4fccd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "443526477c779a329ded0b230307afa64fdc10dfc86414dd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "21ba79f3b423a66e7baad86fe49786e07a33dfdf227687e9",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "3e65dbacaae556fa18bd192035cd55958adeac30e5ca7b3b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "de2054883b00f81ff68e42b7ff1c05ef5faaf75b2bb14004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae37",
+          "ct" : "2aa3c6ba891d1211677d59f886cc6d05698243d10dc189f7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "9b1e7d6caf42bb3a15530f2387ed7329310ba76e1852566a",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "daf6a9f5e4b4985fcd4815bf6298a3039bcb32327b0876ff",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "14c4079399721142fd5fce26e9417064c7e0201fb7b5255c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "f48a30b8691a2a80dd79c355c281addf779bfed8971e3ce4",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "248f867430ffc954b494c936a3ef815b1754009928aaf0c4",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "dcaa88dad9b03e59a3ac8350239824368004e2ca616c15d7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "a6cc8470192687ec9a31258ddb73084005784475f3442705",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070",
+          "ct" : "0527ab5408b4f1484b27f98641511143ab88783688256815",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "7fd3ad3aee0545da1ed3a54d5a198a2c76cf8290c011c042",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "a24e94c12b2e6b776c8febe9179521beae0cfbd507d358b4",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "9395b071fa3d9908b2e1b349bf7cd6a1cfc86b979c8c73cd",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "1eb452770bc0f26a3576b604bf5ac72f714fc468c357eba7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "b42bcb4161f40b30f3d2f740f43e441d3c9a39613914f1c6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "f3d76dd320e5f1b3f85b8f73a9ebcfabfb8346daafaf36e6",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "b8e26164496942f44f16751096fb47952ec478bb288e72a1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5",
+          "ct" : "fa783b3aca0ec1e677378f23ebe937776fa590ecc6b01392",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "8b011408049eab81cc185796b9636982c1ad28e940e5c35ab1219434c23e8c59",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "08db2f06aa2400d4cc1113b1c9e3ba1b39e3e26a84918f9266796c426c166428",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "3114404be000ee167b65dd3cfae3b10c50dffe1df864b5e52a2805f0c80021c0",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "405ae5bdeff8b05d28ea55900b8e81dc789d532ec3fc457730819e762172f751",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "7c19e66d21c0f1409ee6f03a36ab6ba532349e2567200b95d7f5012b2b7e5d33",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "955ac67d6e496b9b93a4dda8f6e65e668f1326b256ee146a7647ba18deee7986",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "c8600aa18be27279493fd68c84130c8bc328b0f6821e01e892b6c2dc1c005270",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1",
+          "ct" : "492566e0dc539e234b08b95fb23594a6d14f59fa4367799495c2e7f2993135ec",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690",
+          "ct" : "8c5c2ea18125a03d15d2a624c9bfcccdf53709a89ae03d5728c98943b13df72c6f02fc8e1cfcdfa7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690",
+          "ct" : "8836c5cb2eec2ca2541b18c1259933ebd601bd6763d9f7cebf06ed6abbe37d455aca13a2db87d111",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690",
+          "ct" : "2554e0faf721d77f7dfadaaa90b70c2f242f93bdc4f876cd058a86ccfff33f8fd88736997f505d98",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690",
+          "ct" : "53ee4c8f03212b389f5bc2b26bc898deb91a457f258a22028a688919e12c4da23090c26b5c9ff692",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690",
+          "ct" : "3a63b0283ec071a4d4c32b0f30b384eccb3cd8d7fb12de6806e12fef5da82a7a39aad8128c3e5915",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690",
+          "ct" : "d1cfaaa9adc25f948c0c4720967b01488e06d3dfc5622b5de38a722798d4a3a44fa6194a92c5ede7",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690",
+          "ct" : "251a71511a4e73d1469a051fd88fa78cae96547fd8ca8e323b05d8717cdcd239292c7bbe0708fae5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "Modified IV",
+          "key" : "4f710eb6b5e28703becfc3dc52fa8bc1dd44a4a6d38a84b4f94e89ac32d987e7",
+          "msg" : "a828cbda9b5ff0ae374f84fa01d070a5f0a17a0c462be4f1acce3497352690",
+          "ct" : "14a62f7284124d795826cc89852e97dbe6b8a30ac56df07173878cf0136dbe386ec46327d6fc65f1",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "RFC 3349 padding",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "000102030405060708090a0b0c0d0e0f",
+          "ct" : "ac1a774a5de27e4f9c356e4f62deaf8b7eeee6bcafafd895",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "Invalid encryption",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "0001020304050607",
+          "ct" : "b3941437f55e7cbc3f88050aff703967",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "padding too long",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "000000000000000000000000000000000000000000000000",
+          "ct" : "86175acf19ad0b7ac60d1fe4bb7850635e7ec6f8a314f85b6dd3d8f9349ea38d",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "padding too long",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "ct" : "791f088847a76731e0d56b9b2dcb28bf9f091a9725790e0a64fc8e7cb3ad50f380297a98e3b1c33e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "incorrectly encoded length",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "868c34495bd3d7b4e2c1861e7fcbbdb372099488dd96c9ea",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "length = 2**32-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "4a8b4aeaa713469bfd9bf88d4072379fc858e40b24b0bebe",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "length = 2**32-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "0000000000000000",
+          "ct" : "c210aa3b5fbf5eac97e68d98d7727f38",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "length = 2**31-1",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "e0ebd376e050cc9027b76dfc38ee2c6ae2808cecf480a560",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "length = 2**31 + 16",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "23a693e211c08ab9b222c2ede2db18f437e22917fdff8032",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "data is incorrectly padded",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "ffffffffffffffffffffffffffffffffffffffffffffffff",
+          "ct" : "003f2916fea6827e01199028d3dc4e03889113f97b1860cc242e5a0f28a0f159",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "data is incorrectly padded",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "0001020304050607",
+          "ct" : "5c25a170d5225a6d66e117c691b37383",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "length = 0",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "00000000000000000000000000000000",
+          "ct" : "df9ef924eb59634be5b27cabd33d72bd6be6e01e4672ab05",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "RFC 3349 padding with incorrect size",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "0001020304050607",
+          "ct" : "e6e66fad359a7b63a977788acd297121",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "length = 9",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "0000000000000000",
+          "ct" : "76b88ecda760b1af80703036185fc476",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "length = 16",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "0000000000000000",
+          "ct" : "fd101943f4ab7c38ec68c75d4b3193dc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "length = 2**31 + 8",
+          "key" : "48a53c11ef2d727db7eb9a834b134ea9602273aca929702eb2c31d96a58c9be2",
+          "msg" : "0000000000000000",
+          "ct" : "1793a3a9bd146726edbcb9589f20e849",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.json
new file mode 100644
index 0000000..0e6353f
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha224_test.json
@@ -0,0 +1,2113 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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"
+  },
+  "numberOfTests" : 232,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001",
+      "keyDer" : "30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwyzQ4UQf3ooolso6Ezc1\nvi0QEHd8/HOa/He22qZvNn1IdtzLMCH8IsJUUKaNbPsRkdSFy/ul7EW0kobXyuK9\nrlU/R+ELlPhnq8xtCv/HM7rMcl5atN4auhmjnXSLTBNV1aanEKUr0EwMJOe8O9q4\n88466G7LMcS0XhC0Ddtf3UDLJBG89bHTkuHu+VnP8nCabgKyD/O0NDZBpreFmVhu\n3JtnPZ8/Xp0znO6/lqGjFlWHbDn8sAscPlcZCMm3RHZQR6u1wj7MQuVR4TdV44zJ\noT4eArzV3OycMB+rdb4+Go7pxCmBYHq6eFX0u+dsjBYOgEaLVL359Dixd8M97jCw\n9QIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5",
+      "sha" : "SHA-224",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c",
+          "padding" : "302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251",
+          "padding" : "302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67",
+          "padding" : "302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed",
+          "padding" : "302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2",
+          "padding" : "302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02",
+          "padding" : "302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b",
+          "padding" : "302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "313233343030",
+          "sig" : "00a3e40c77eae1f17fbf23c0218bb5baabb4adc424ec585b499a0e28ac21e664a0a8030026a161b1c3eb96cb5d0e498023561f11cb4ecdbca633f5d6087784106683a804301a16911bd7f8fd44c66a1c890c70fdaebb68267253329280f60fd617594194c96714126ad30547a813ce57f4fd14b1907172986c8a525abd130977a8e0a4af8007bb1e9b7cd83865b6f1b0e40b1709663a25bf118aeabb0af179cf61f034fe23d505c86f9f2be08b4dbd9e9c465c71edc0ee7f6236c1b52ec2e01904c14a3da0a426f39a8a5c462bcbf6edc04febbacde1dfe30495fc5c9726fb103f19d30d9d49d69ffe9190f5d448ac2d063ec4bdb8e07aceddb17202dbc25823",
+          "padding" : "302b300b0609608648016503040204041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "1da09f538311c3b591f0c28ff1ba3d0888fd583f78c1bbdb93cd44c17640ea658a62e41adcc74bf8d7509e7d46764b33fa02f74cab9db364101857870003caf2f6df6f4c366997d1d00e891a30275554db7690b267c56eda3a279a1c2d9271cace128f8f3449f2590e4f30befa9f374009c7d4d75dc9101e63c7a102fd7ef19c9d8cc8214c7d8960332be27270e913e2906e55d3e55085c792f2e34cfbc6e017fa7211d3d2aa0dbf9f664d7cd0252247f8d9859eb7d738985e2785d1ddc21a156824dc323b272c04ac36015061888de8cf026afd575257f4fb482d5807d5ca41ee8128b2c9bfb22900a6e60f03b3fa99621f2b7990421a070d89d0eb981de5c2",
+          "padding" : "30812d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "22b094143d7c0e14529739d6e712202114a04053f0ab81f2b9ff357e6866fc58ec238d225ad4dc6ec877db71152395ca3747f72c20de76aa4bc04b1a61babb5d3a08017978de1144c3810ab5e371e0236fe14fce95d79fedc74b3108c0713940d4be0da190a7e7b7b90440e91fa1770b56754b4e7a8024ca5918aba59afbc2fda4d60745665abbc2ce2d9ef7aa9a4894e14c150c98b7855f9c015b90a245b491f5c4f74900737692adb05900d590e617ba6ac8e951166f5c6ca69b1e627ac7cf09d73d84eac332cdb3b6372575a2db2531a4e1342f68b91bf6ab49523d5b29f99515fa6af1e2f5d02ed7a7ecf8aa3884a656dd026b29864762bb85e55e4a8e39",
+          "padding" : "302e30810d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "10319c5491e381dd49b2aca0627aaea12030206508112a84699894de3b85c78df4c1a10bad009d2b56a4089082e53571c954e83d9eef8067b5aa1da948c6fc91baf7eb9b3b53ba00cb1cc7bd96bcf80fd523f3870f86e8bf1726d27325633eac380b9bf36a4d292229f8c2b6ff86476d95e454d91d92e2d850a90ce372d7ba8633a554c05eea5e6d1d6365129cc7a4c4f41d80e770458d0f4ae43d6833544b1c7e5212d5475cc78f326720a480d7dd22d550cb5145c985df82f4ca6d92915326b344f898f1caad6a7bb125fa371f26ca1a91a69173803a808bc2a79d65ab355d3159185660e4b0193a6dd44ff18548d0da0ef9a3da6a4bdcfca64fb617dbbb63",
+          "padding" : "302e300e0681096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "94ef725bc9d4374eae7758aee84e38ef98540d807dffc5de49aa12003f851e18fe3ac23405fd594212687be5ac3e515160ca540cccc3ad7cbdf7cb7e0e8f32466e572e99c46395383ea5588a8bbba46b5fdfa29e2badf8ef536f43c2e72cbf54c779f22ba880e41acdab922a19fb429a1520fa0f4f3c22b911bf7263c424a08aaca49571592b364814fbb5087dc03f52897217b6914609846942bf2566a86cab01b53512b05bff59e74eba5cba66ab47f1d1405b5688e9fd138ab8121804dff9a3f4677493bb9da31e545f69c51d17d1fd447ae2efdd73609d712d80a2a7d26dac168066d6d6f0255cb87589d2240f2ece3787bd122cf2e29999ad35fd6bdabd",
+          "padding" : "302e300e0609608648016503040204058100041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "bc4cb8d9113b6fda304a0e8c8419fbb18d6d9412d0922c727e36aba5a9d8c0ff0cdf62b544fad91af23f6b0ed985f88fba1d64357b7e92df0b4e196b4edeefa2b6b1d04927570ef07d5e5efc6e84bbcbe9f57ad2e0b93fd742e0fdcd37e730ff25fbc038a3a808cc9f40062983d3839977cf2a22539045986be087dfdd30a5611e13427e70c2f486542db4c71fb53273f8653bff224e7e2c1a778163b5b93c06976b111f3cc9fe55ba644bf8233c0752dbc0f130d6bfe85424f1d10b21fa64d074caff5c820cc3f416e1c48bcd17bb4ffe187ec924cfed89638882f190f4eaf45cb2105b208db449b8b9f66a71f0ce4ec9e55dab3ccc19f487080d7efc256f64",
+          "padding" : "302e300d0609608648016503040204050004811c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "1addb77d2c6e825936e498fd1210c2b6fca811a99896ad40375567647012f3601f9657617876c62d1314731ea4609d03dc3681e6b53a93ec3ff0d49af491ed906692ac9278dcd0e0d051eacedaab7a038a6a8ec4d2de08103025a726568271ef9561db94f44ce4bda7210057f6d9d70ab71bef8599226349a88161de5e8035b671505b6b476f2cf39589030148c1bebffddff6d025870a4859866d63e8945a10c2cb2fe575f6676051c9f38140969c0162d87edcd0abd564e92e7389b223895ee92e35add16fb745ad493d269bb1c691cd1dfeebbde8e343da7051dd6d5afaf7aa4ee78200916ea2497043d07dfa25ffad324549902dbda79f4d9f02817a88ae",
+          "padding" : "3082002d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "be516056260537514e69b25f482b4c22c1ff3ee12ca49b7f40e676a48cb424af3ca4bcb4d81b806c9c666ce066063efb1ba00f5b4dabae471e23e3eee7bbfb6ab5d505a725aadb6822a34d12ae00cb8e1a900a25cf236f3b1fe3b576162fcc8f33efd9bc6bc1c44d3c09e5e68c8aad9288a5a94cf86942231a413ced5bd61b4c6ebd83ccdbf52ab886f89d570d78c91d4b2afc3862569570e2d1b5469efb0be9b2c126c32dddac5c34d8f340b52cbcb38b1134c6b22109e7124411522b843c2bc3e575e60b35e7a440156770b85181c95488d82c0a725e02e90ca3dc4d41c8639d110d4bec80827140ffd1fe6e8d0c945de1e1b326a26e2998a2b03d86fbd7a2",
+          "padding" : "302f3082000d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "9a8cbf559ab2651631b39b94dde87261d9b4923fac4d4ab7254fbc7c4abd709a07c4cf29ec75b24728e851bc47f99181ca707e42d41677aa4e52e722db548f3b4302bed7cbc7c006643f2562a4d8af7d93e75867b54d263d29aad85f2b282213d8e12e3d52a8e5342f42ee762a310fd18a24886f07827dcc599c2fd85dbb126a91c340ddd4c43aa276d50606fa9850eda9dd13b009da84905dc2f4251ccf387a492f5ad0ec2167c04e8127e9970064008cc10b18dd0105b8bd30fffa700749cb1ada7f9a80f782b8a2153168747a6e86d4bb9179fd9b5ca7767bef629e6bd969ced193f60a1f09efc54023ddc60561c2a8986479b75086cd2d5cbf829bcd1c85",
+          "padding" : "302f300f068200096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "1e4874b647c48c3328ff47f4e3fd939a105dfd1913236958acfa88e63e4f9bf7e67a171b3c4b67f192092b29443650185281a5dcbdbc6f08530e7ad39a5de2920b9e089a969678841cdf311e2e90f1ce5aeded74ddab79961ea35072016f977b278372cb60d79c0cb84b3c255ac0b9e9dd14c49449067785fed408fca8bc98be54fb3c95e898f3c47b752dd20b067415d055bc175a173eb13b2c513adaf139903c71b13f1b56d381aabbdb6f985eb19bf670124d7f8ddcde05219648f55e203ec1528e2edb7b35022fdaef522001afb9312ae8dec3334b2160b761507f24ca044e79fbcedd5fd7903e2a168c4ac85bfed5f3e6877da3a6b4a604cf389729eedd",
+          "padding" : "302f300f060960864801650304020405820000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "4278e146dac5ef75ac6b9b3c9082e8401aa47be4fc0043eb5823eea077373f1ca319258b6842d77bed8177aa9e5c61107620d2f07627f869d32c9cd3fcec52cb9becc869f2ef4e567dfea371b021dc49f296acb7413241dff218310df1da4478bc99b24a4b03e7c80e03b5d85bac39eca10888884443ddad80647dbf658d11e0f4963136e030c4f8b687fa4637a11659614e158025fa5ec1a122d38d7097470e3fc8b9922a4909f5127edbeef081cec7c89c4a37157a0e27973c9ad62130e31ca6df22cc97ecde6296e502529475a6d92618e4bda715d1cf0426e92898fcd55b6c962d94aefbee3dd256daf1ed1458ac313f3ba778c29dda8d80e3e3d4d23ba5",
+          "padding" : "302f300d060960864801650304020405000482001c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "a9698fed4f4dd3d10ce7b039bd40b4a81bbd6a5eb82a71ba710094469479c14c1cb0cc13699fc8ccaf0c10382e1b03771a6d05670e22949c28965318acafde1331600f7337be8c19209b532958c5869c89b8384923a065df377de37b9e5cc7e5c8f6d0fd8664691dd9c97739194e5b2dd6d4330cef0aa0d873dce1405e7a435993fd84b339fb3574c78ed93fdc6fe604a3d9cf15c114e5fccbbbded2ae606fb9943a9a45461069e8b2dfdf882e9898a0eb59c4fadc3d86bf92b8dc537b1792be81b662b9c60db2938d513a7bb4878899df96a59334432d07a42b5de4a6d7c4b6449e3f469cd5f60857875bd1a617a2a8de8f9c0777fcf2e3e43499d90f3772a2",
+          "padding" : "302e300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "89d42ba026f51a31c27e079279cdded5cefe75069ce04bead266af39e266dfd8e9df16a3b9972e03f4afd3f561c931e815c66c2e81dafa56a8e6ff148f37e1ef4e98370c0a2b2e10ba47f7bdd4f433e8af206c107efdde39de9d8816bba196d52ace92335c34b15496c15f89bc087a16799059a556da9e96dafdb835b5553c5dc2c1b007a6ec1176e31a021da8c5106947e7a2316d3874a66b8a4ce2b237775365ec6f0842ade6f2a1b1e7d349189f6d2799c9dd40bd9d32056bfba10d14cd7d25fd260b1790f6ac6ff77631d4a5466c7c976c251f2d4b3fe943a344e75cfab3b8e30aff2ecb34014b906e1f1eb3f55dc8e4233a40cdd5364070ecb1f2b15682",
+          "padding" : "302c300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "712651f84c12fcbe98958b629326bb8aa9cf8e96cd8d06ebc68713e0241d2499b181b9216bb777e48d1191cae390d14dc63f0a09b5236fe6cb73f47d6043063ec1960e1fa5abb3631294e3c7fe3fa155864963a69ae9ad7f1b233a00e4b3b256fa0e28a431ff898155cbec008ec8367757b9290fc847bcad3a71d2026cd583b59401b7e66d552d9b59a010235785e6075cfa5f8a6588c957b66ce339882244311d9d0e33cf277134c0bf72c21683183ef12cff0ca9d3f517ee56acc4d89c74b0e81a7e1a26f14649766b0194b933649ec1fb72ebc78dd9645827e78843d31f503eebc40748a290b5fa5c1545d0801b63d753f0c0fb89e11e387d03c5dc465b2e",
+          "padding" : "302d300e06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "b23e98890d5806f743eed29a2f972bf2ef5e53bcd20e4e7f8beae79a4e7074ccc4ee9c38bd2122fc1ff4a94a22f25092024dd3aa598c70278c93d70e932402cc0bc7153d87c59c5fe15c50f13eaf4d0c468caba84e43c925c634a5c4518610e836da434a4743824139610d6ebacc07ef9438dbd860be879fa84f3cbc5ef4aaa140b581f7085cfbb343ea32dfd30546f559759df095853ab2d5dc9026f4f51f86a3621bd22b161215088a58233a42f64b1688244ce2a170b8c6656e33b697abf6a72d57662c5ba8e14cca9ac502392f4942f734670bd9addbc1033a33c1e7af3ec7dac7565a8fa50ddb8e220bc2426746bc0b05a9988aaf3b83103ef3a3902a74",
+          "padding" : "302d300c06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "81188dcd73390585f94e326b28c78bff4cfa08820167e63ef40802e2b6561bc73bdd740ea98f9e7196890ef6fa626b836b5d8dd33d93407ad285191881f4b378f2481ccd2e0ab4fc065e0941c4023fef608a7f2c975e39b0f0c48a833cb3defb5015830707c7050c3348a08a3829728736a6b1d0e4d5827461724b985acb9750cdbbbd451b97e660746238c4aff99b4184098fb5ac9cd4d0b398ead157329abee8feba75171e35c04a317c8d41d8b998e0a7ca5403ecba9ba66210c925864a20893f9a06bf9556ced71e1eed0178a7c36cb94d17b170e08e3e72b8fcd0941c4a41521e98e587a0fbefa2700b90bf12c019724a7d20528fb57ddb458eba8a7c1c",
+          "padding" : "302d300d060a6086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "0c5a755b16d0391221bae10e19594d3640a6a77cebfa79f478f55933f551b897714578fa5e459339e33405ea4290ed250bad9a4af1e49556ce5e76f7d3cf53d24159bcdfb11785a72a79e839a9e86dd394cdd42a3dd57792217d8075724b7460d311459e475ef93ab9a0000617dcfcd20b6982255c346932e1ca0452cb53df17de7d78876136e661341ab971788ee178ee9b8742f7affa11e63c8802d4b816fe3f52dcdc97343600d3703eb79a3706f888645f43bdc8333853e8b5869dca22a4db046f0decd66b8096776433bcdbdc3499a9609ece7f783d0e317ffcb3d764e8545cf6a12168e6f5560d0e7a7e31540d4ec0c3c9dc26dcfe8cc071be87568441",
+          "padding" : "302d300d06086086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "2840188f2742520ddbdd97a24eea63070050d3c9ee536eaee95233b66f5efe55ef4d8a318e460c4614310f00cd25fe2f154f67734556495ec15d2e2ea285aa22d9cd0711033c6db7aa84a24650674ec018cef326fcfc0f632012c4bd6d4930352712162dcd143754e7012c458ae29dde4fdc8f25486833a1a97991883f6f4cb94909768c0b80c2c705dedc6dfb244c465ee90dbfbc821592973b978f723200074ae4691f8f06c3add26e630a1b793f98e27a2f7edc48d043e1962de29b648067872da627967b0327d386f76af93d9c0d84ca89b9d567a845dea4de00accbaa11ddd4668a4f912a1b15666ef0f7604fb0b995a2a78660d8e52da06125335dfdc2",
+          "padding" : "302d300d06096086480165030402040501041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "23d74c2777033454f93db22d2080593c9cee14edbdc62dfcc9f4aa5dd5b32ec7e7c99f48f3225541f1048754ee9904b6f9b9c76819af8595c78762f420048d66907563802e8136560be3397eac0072573789695bbfd1ad4874277b047ef5ae2bbafddaba8ca0280e475f103adacdca558ef346d69036c13c72f388dc42340d76a8915ceb8b81e47122f0cbba0ea8e39d006e783796299309698dce133f1925530f12b3a5a9c8872a5dd3f822968f67b23e891929b9ea726488fbeda66237bd4d9b2618a114cfc62194c2be6ebf4122bd95671f94d88c1cc7eeb2575c3e6d7aa25de63b5a52fc5284a429c6c520f3acd9acd888f52410bd86832f45d1b32cc59a",
+          "padding" : "302d300d06096086480165030402040500041d753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "bd3d6bef4d7dd8f13d84a23eb5d8d7513e1eee3391dca46d02c7a673c1e468f2f0fd341805138c8950c1501b494f78d481cd5642149821f6f0439dbcf815169ded6856135eeefd469f42714b12b5ed5334f3ee2e535b0cbbc1cb7cfa8addbaccc65c7e02df84c926ecfbc5b5646dc9a17a0893d21106613707ae3cec2e13ea3f289b219d871b3bd67e8579c4473695ac761743f9fc5efcd572923e4f5d3d04c6e61585c9797d865d19d820b95e9c38402df6ab1084c7438dfa3fb12bc8f80c6d6a582f9bc9034f3e247058a985b571d0ceae1b3087814dcf70402fe774bc384e026d00fbeae4032ecef45eaaeb531835ad33a8c80fdbbeb7fdeca1d466108470",
+          "padding" : "302d300d06096086480165030402040500041b753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "98053fe9f2dfa6624379b11904fefed76adc19b8446cea727737fa452851deb44ea5a864300736b1c9a3ce27caed3fea4511e9bb9401d3a98b0892fb086a5dc04ae9e1d8ff6407914d0bb730507ceda69efb840219084c8ea2528b4146fc3420eaedaf45c0d8450192c7af36c3d6dc38f1604ea69fa9b2c38baf7e7cd4e0f5c151cc9db3590d505fd73e9c6363ac77aea87c7558582ff3a7b7ea08c4b4ef655984224c2bd9709d34d9b8662e48a2df5bbab3e9df9e5fb8db8411721c73ab50ac3d5a8b31bc64131415cc08daf6c34faae6abbf1b340dd4f3b1b0ab0d64cfa33b501bca552c950ddb7bb5f59562f73c51fd97f2d6d750b30ff19502516f5210f3",
+          "padding" : "3085010000002d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "a25aa3f523066ded870d269c7d26ef45ba35f386097015e0ef59a9de4710e88bffc62a16f8fb02eb18704c562bfb0ab9230d525e23b596a804707d98dce426d3e3a1278c29f342b9dc310b5c7da5aaa5584b84e922a385fedbe78ba432adee58f51b2570b7889fe854de8ba2654d52390217fc1f5f6f35f4a75cae85f388640db87e96908fe2a7b78c91f0fad3c118e75965ff2edc0cc9228cc81700069c6e71d4c7b527869e7a3dc63cf74c7f4aab9ecf0b2498d30765ed719ac0987cd5fa1058c81e57cacb3d489866f96d5962b1fba9f48ff298f89f8261e8fc4dacae06576c550421b419e5c5159a64b6b67eb7c709f145fd4ffbe4bf9d46b0b7d70d2e11",
+          "padding" : "30323085010000000d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "38294610b70d2d81675ee28b6a2a2283dedc976e95ba516b9efa0ccc017e8005056680d389ad287666a383238e9bcbe56ccc2d2acae5310a8accaf85d1048bcbf1ab74b4cbd3a9fd13056bc8e3c429af1b95330799bb9fcaad25b35545696a43f6ccdc3bf60550bd90e9e7592b9997dcdcf7b274dbdf4eb7c0a59b7a2d0b3d50bac5c394b0b60c580eedc6286dce16cf618a2e79d2e504b797914209cc896dd4f1a79354c1dae9c2b260934a2fa22320136fd1070ee272fab398d28c2c7521e4bc741da78a4acbb981383f03f9dc8f7bff26a110ddab72ba03b2cbd1e8e58888b0fc288f1f691cb5c3e5decd4fb656f71eb4f6b389b1f522ad4346927e31b185",
+          "padding" : "30323012068501000000096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "18610e0b455000de3a8c413af0dacfa8928be8844ba29f84235c0668c35b109f1b415b2e3c5ffac1195a9beef33a24821361741ef9669d626a8b76422e26380787af06cc36bcc7a39fd3ab5e8524f310c6530eba3c888eba5a3efa7e519e849cbfb2ce04b5a052f2b7b25784db1b84cea4a0871f58e766b3c93f122613a5486969c88fc20f5e70f55aca0f926cef4a2156cfa1192ce8d025347eb2d48658c7b6ed1f6c6faacc6be630f2f9f73e0258d63cfa489d81648915c20b1d45a8971a3d8a8888f95d7e745b207af923570a9a98e40aa97e1ddd8ece69c22c177b5c67e20b942a6e100142d539ebba5ebb814a376b0de24636cfe6ee19bfc95d1bacf6ea",
+          "padding" : "30323012060960864801650304020405850100000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "49ec58072a4c00be0416cb0887462bf350dc06c603958494b81af3680bba1d89fd193e23ad18910daacb63b8df2013923620a2e81cc7b57056b1634d381dabbf37e0748c41889a9c1c57259e743b3da94e2e9b430b8dd21aa06b28f45596fe2ec35c9a4c17d11480c8e771bde791b6dfb1161b84227430f6473395692ceb75fa48f4aea0a5540213899a4f015cb50d1f47cff07dd84156bb127e20e33544c4d2ce0e90c46e06435236ae5648f99a080b6aa20cbb8e9723e7a3c0931f5ad82c806303257128f48900691cbb7959313dfb2ea2a3712ccf3776f6be617305002b5a3daef3ed2e9cba126bcc6a840b09c34c6ff113d25132bab3fc074aba7a74b363",
+          "padding" : "3032300d060960864801650304020405000485010000001c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3f0770de907f40310ecfa536486f77d721aa07371f7e3c77849fb84166389876f4bd2c1730ec69ea95951582f9f7fb9b7ca388689062f50ebf2202893842891edff2bf0449f9fd9d9b5b26a6c96033700230d740dc585e64e0365079df974d12fd96cacddf2f114caa5ded4181f63380f30a696b13000554fb963b6b073891ccedde00ca3701baae4818f5e74838f6824b7590263228e7b31d614432bf06e78247cc82f88c63ad0514868cde210e2625fe5b9162781b4ac32a53d52bd673a257863b0c137bccb2f86e481430d4ae570bca908f62c27746a1e8e1bd051fa2de935bc40278c00901e5974756f94b3824b40e695296dfa730c2493ce257fcd7f00a",
+          "padding" : "308901000000000000002d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "5e4895d00312302559c490c304dcd4fc4a10398cb8d545976d6b700edadac5605c44cb0c0c7c7738fcd77dd5830d0601d65f4b1211b365705f3d5fc36fd713ce5b75e18232557046efb632da5186399a1de3dfd0236e2a4244d72637ccfc39132a642e4d467b15140a32550ce67d602d06e40c4a39085f63b4e382d4ab9bd55e070eb498cf3dce7f315c28b7d83ed704dabcabe0159a7254295755c7cc0ef757614e4d04be52ac43f4586535373780cecc58d07511b310fdb3e858489269968751e25c0641519547127bd99233e0dbb82b0c1b984a7856fd28ade5eddb5df6ece6c252283d66c3477c2a5a631f0e032e5330ed8e097426426502bfdfe1434b29",
+          "padding" : "3036308901000000000000000d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "310abbc3a50d55f557be9a7c8b64130908abb19b82daac9e9ffc00db5f5c701eff529d6cd9c006178f842bbc48c63938e0f6f0a39462f01866e80b6d8c350cbdc6327f7685a392cfa79f14f695278653caa7a2b7ebc7079c4132be18fe45e020bba5e846109ce2f5bc92e1ca70b1ec21f6b1813bea96f0af2c4409c54c2005684b30e8bb5a787e7585caab3a221b918936f74fb74733a8032a8ae471695e776a188ecf9832e1a26442eb8052b1e5ebfe8eda19019c8e727d73a3afe1304c3d6b0b033395286359b478e60dfeeb8481bfd3baf64cb1a2647f6fa55b67c2975868a030084ff60145e2d7b585582d2d3656e24f5809067baa42c0336660c46269ff",
+          "padding" : "3036301606890100000000000000096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "8f63e0cba1bfb93d25bab5873bfbca0f33a78cd5291a7634745e1a9260748b8daf0273225c0549dac01dfcc0a4937d360ec408901a54cc0a2c83bacdc18dd900a24994aa43c208b2067157ee3b04d089a76ba51afb829053b4d63d0b48bd1a96d0a705f8d9c3161a18581e53ad2c534d16723892230bee71cd5e6e05466c4a32bfdd3d62519d54e318b0d99946f04155ff172c2f066b54fb2965a90e129b615af617590c9d418697ac989f1f64468af5e5138df34f6e0190c549edf38f2383aeb08ee2ec697428a0ced1f5299c3e64eaefc507a72d7e32011c4ef56a3157f4d2ee72eb870ba77ce6d688443e0577ca8b9e768e8d7bd965ce894e506617935c3a",
+          "padding" : "3036301606096086480165030402040589010000000000000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "60dc41d5618fb2a8dcc94dd2e2d5d4122b4417ee6026f5e3e5e6528a2d59bce72911aeb2fc935b02262290b7c9e7648fe8b7725642796e8e06df60f94071d900169b2ac498cb13002d8fe2fa38321f89c593cab41223aa6997a356d184acdebed45ebfec4fcfdfcbcd0a8b5a74dadac80e372fe51725ff449bd6ff7e4e39be2288879a6342e7293a9fbb3b7faa56991b4ec13f48f27235e7bf348610254fcfe4b517bd010580f9ff1879c8c16973d6e0cd15a69b3ad6b9964f088ea1e90d548487c093a8afa3c3604cc2c6b928969d66605baba1810c2d483b9db183523b3161323ebeee3aab79cbd698126e893ed7412be3505a20eb09831e0d65023e62c522",
+          "padding" : "3036300d06096086480165030402040500048901000000000000001c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "1feb9e7455e16c9b7c572b6b0e095fae2a86e99fa92a8d65ed37f00450a20c3582dcb34c049d82c22200988da67eb45c2fe9d390161d50c3269250dd7e0f6f20a175fc4edaa6fc149a2fca18b3693b7779b686073e3c64f430c7578181389b813700da244d3725df2d63e0bff0b59d3894b646f94587e9431da3f508f23832b0eb69c825685bd1b9381d8127431d7efe2000bcfa5c507bba21b538780aabfe5aa9cbd8a075c91b487b29da70e18c48a9baa411f4f1d14ade15b09aafd0a3984013b376b2355ac9aac22b2695cd608cd9b9983821f1d570f523d3acbf119633af972fd5b311233fd0c7444c10d8b964b8372989640571ad80bf3f67dd1882d98f",
+          "padding" : "30847fffffff300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "43de19d59bba7bc49d2971d66a98e6eb34324705a3a860f74bff5edc1b41bb7b168cb7fe3639d7dd7766cfda9c8cb725c79c66cdf7b1fcfbf97e24ef45134b23e1028bdd8a3f6a50564970d9c8cdfa2e52defdc919a4c915104ec63b122323c9f37878017b5c2005af3249018417efdec9ac2cfe176a0f54b5b1b5cd949be1bf64e7e2b1d22e485bd215c61dc3b50af335e52ac5a9be0d5e3fdf6ead6e25146c429d7d4e0153a52e91504edf9e48ae8ebcbcbd753f06ebe111b72d7e24b80d5225daf8eec2bcc7d484a2fbb9d59c17cd5ab718557a452b848fc605b7f07a6a053049bc1221214932ac0892621b95dcabf0f9b2321a6af61fb4f47fa499d9f085",
+          "padding" : "303130847fffffff06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "70cedd06d21f7082d54c91ea46575e484c32473e9d4ad39d14a32239d56da1a8a1b5c61783c0a6d4d0843860b3800dd3958c93c15c15c454284b7c6e12446efccb5b2615a250e5f8f083c9546336e80a47bf0ddf427488a4937b57c269b2ed9828bd71c75ced34f80a3c7e5083462fb197ef2080a013f99bebde6bbf888b0e0c8ee9c68b3460ac68c82ecf1c31fd94f5fa8c6d931a75206921b694b793b0d63a24a569bafc4809d89a633e14671044464352e34eddb2d08ceb29584139065714754912dec831f9d3df34b8d7d3c57879cfebae1a987002d0705a25430bafcb6fafe8b1e5f113098236868f194457ba3e879e087e2999e6f74e2ca7771cdbc66e",
+          "padding" : "3031301106847fffffff6086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "b7875711a6985e2dbab6e3cc7df4629c99abdda3182a4c7f4b86867a71c929401ee9946e158a1ceeea97882acfe445fa90bdbb1bcdeb28eaa94791297b72e7640009299842e50015fe5cdc1cbb291e54c4aec98de74a012df737192985a89f3d3c8054a4bf5898fe9af8ce3d3b1afd21058929113358dee5908d598e0b531925dd8ccd03d1e0d885c3aa34e357a85abdfcde58893ed59b862dc6c98a35537c040ec6bf7d7af0654c50a3280af8bd48a49ab6ab7ce3000830508017576bd999adbcfce47d46fe6d2702528b73adfea2d7741b082af7b8bc4238a87fb263537d0cccf0cf93401915d7c570cb29394fe98878c07e983d5281a54bd27a097e065c39",
+          "padding" : "30313011060960864801650304020405847fffffff041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "8abaeeb60987b9a8722ab291049fb5c64c813a1bd6a147fdff93aec3b127f2dbb2af213cc920c7717c000d4985e0c833dadeee99437876d3d493550bfecafed0b3503436ff552c773e4d0c60ac9196efa9fb6be10378128c98a96480ad9e2c0242d1a7a9e66fbd7084f0c5e0a8979f2940bec7b6ceb2ae0bb221ec23983d6e3344a0bcda92263f1d768c1a5b9df555aee8de837060052a194851b732d373633ad441bdc761ffb9ea6134cd2982071f780b4fe92bf9253d4f8e8f07df417d1c2bb49e9268bd5cc0e4e652c38a44daf668095507ae05cc5879816b9c6a146330223c98a096847cde6a3e724afd9896aa45234c05c4a259dbc9ac8c8f93fa18181d",
+          "padding" : "3031300d0609608648016503040204050004847fffffff753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "81d561d769770756f1120220a1b8abc6054560f2797778bd433e53e256419f4f58b0ad1356c2cfade14a7a081d1b93b37b5edf2cca3f51ca82c683781e25f2df36f20af9a67491b302cb12f8b96c49ded82557999ea30638fc5b3aaf546e7e81675c79299c1994ab1b3ebbe6adf6f91a4b5fe15af92f05c4f9a63339dd53675e843f50d5e74c47ef3a9f471a7b5966c7995e1dc9bbb3f14187636c8aa1e1d3bf70d24642396765333b72a2d450d839a6582c7a285db440734e2488baa416ddfdebd7b6dbab4b21146c9adde2a14f69cc69aca5bd0a80f285a4aba56b2f5abe0122edfea4b75404ff0eb6304e10886adaabee2b778e36527f38335ae0932f9d11",
+          "padding" : "3084ffffffff300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "3b8ef79b1e78c674f827a66f305d67324d31847c0855cbc993fe9159f7a5e310ac2b30621646dacf58e57bc7b44a139c0834b3252f9c06ba6de582bd90de6e94211431820de2e00b9b0ab100239a5a75bbbcbb1761d85a3570dda4889bf37c8d3cc0faad74baa8c83124394cd10131351defb1673cbac952c4d968a4af71a28fc776f6f070b087f69a4d924dea561722f1029dd0c78bea40575b7faa5e8f96d3ac66acaa75aa5f74d11fed5070eaeb9f05892b7faabc4709ebc8b1748fc4d97e1452dc4dec40ab4789df166f68a4c8de218abbffba4b7b1733f81c47b3bf371a35114fff099b7db6fbbcaf37f7fe5d25a0399723a273e2c94f78cd21b4e534a7",
+          "padding" : "30313084ffffffff06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "423b43af069c6cc9ea47d73957dfde488371394e409d4f23ae4d3acfc5397dc328a1df5bdeb2f6bffd46b4da310e29d7a1edd998b76781f31f59705cd76d57236730b9f12366274bb532940d56ff847b38cc8785727b56349554791016bb559b6975551e41cf86b9ef83ff911c1968dbb9417e3d48d0a7605b6b6fbd09625e2d77c083ff5b8752e6a9a181cbdd12fdb636bba0ba9bac3b4b61113c982aaecbf64567009c97fdbca719ea01b2acce11a4711294fd0343a4ef1f50a0ed033303052a0f047e3feb19b0a691958a9392c97aba7fa8411f904e9e873f21224df5e6ae15a29327bf0948fd091b2aa611b40a5394fd29475c6327672d46a1f024809a93",
+          "padding" : "303130110684ffffffff6086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "5374a6b65ae6b7903d5c0d06ccbecc1e4cafc0fc854ab3d58e0a897ff7c65c859e808c17e154f1a8fe19ee7ecf19be910d6baff0d0a2dee05e049a07efa2dcab6cd429bb896655f36566073d576c2ee0829e5134cfda43e836d085c40f51690cc843c32831d37d3388aefd78a1cc2cb86853cb3ae4a92d86cc2acff509410d90a193d74630fc690156dcd4395a26047ee9c3f53b49ec5419d52911f2f89a53582b91618de91c23fdc665e3d5df7bea5c0ac4a84cc07aada130bf13c0be73552f9c9e40383e5d03d35f27e90cd3c615b55aeb0ad0ea3b230e336bf06cc785e11138b3d24e3ea40153c56734bd2fc8aa4236ac3f2e4b166b45280222bf444fa9a3",
+          "padding" : "3031301106096086480165030402040584ffffffff041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "3a3184a997e3cbdfe9fec8d260c7e8b09bb7180f65a83dd7d926a0355f1d04366994b0363c92de8730fe85f2f81d15725a6e9f7c06d01a7313d71af795a4abe11fb4c545411fea4cddbc128c8b8b0e713de1d0e78e457551e57a9f55f3c79b126ebcb586d5321ee78ba50034dea7a315f7c571922898230cc0c781383da9d3c2ebd936929bfb1a20bad72389903ee558a904ba39ae931c1ae9798b5951eafad58b1dc96159b1c7df12c2f47e81584099e33ec98ac9b08c192d676cb3eb2ef1a4959e8c29ada3f9f3738d0eac8442ac0e00fff98ce770f629a4a5a5effb465bfe4f7b4ef18432621cfe1d14a99102ab2ff3cab1ee37553b28bec3d04b2cb1e161",
+          "padding" : "3031300d060960864801650304020405000484ffffffff753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "89721e40d6e14639991bdefaab28735bdf50739f2583cb9ab34f4298ecf8070b5badd7d818fba03bace4d54fa050117cae3f575a97cb31859473040360b994866918ff6b83356ccf53ef6ea900a1a8ee77f31cd5cf25245c9c543463d09c4ecdcd9886513f630c9bee91ae0fd054cce64199a3e43ec3ecccf68a155f2bf1086c59ca0a3be47cec1d8638b9120b67d7ba03ebdd066493092297a6bf597ba63062dfbbd428bcd9725afd10586f1d6320738362e551ccb8631d802541ae74348dfb02f8662ff237daa10ca4efbe33cefdacfae2e6d86d96d7d06503c06375ca1abd2196bfae5c2ba9a2f4b1cc2cdcd59ac24451742edb3152852a89e5386c16bf37",
+          "padding" : "3085ffffffffff300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "10264b9667483464d2bff8d643de5bbc3482da0563fe1e77f11977c6c0c0b9c8699ab5b0ea87d123f8a73f4aefaade654f550a0e5197468246e5f8fe96704172ab6e50da24f48793f1de62bebf8fc54a2ddbd11304678f75831da77f3177b458f3ef73852fceb0c25fb91c1b99e865dac0deb6bfec1d924ceab739da876e7641cc3e3faf530d4a47b283b7a6954e943d0ab1435e217687ce7c0d0664c08b307401f7473e732a5edb1e5b76960283a29df5e39abae0a4ac89247c82a828273415189858f280a98ac509303e2a94c01f5e28aa4f04468744c9279858de3d3e81e534816eadd8d2188624f83135529544205e03f9aa256ef31c00cb5bb4cb69607b",
+          "padding" : "30323085ffffffffff06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "7f9b5c22b357cf95f0e3159b06bf2be50ab22f94217538f626f805828d8f154366ca2539e9b8e3355cb289bbef43531ef48b680bec72416e52f850d0c0e72112e6f1811d12a10d50251d8d526e5a11274ebaed0944ff3345903916e19f22a7f25b06005bc78c8713e30d0881cf9e6b510283116ebc44d61341b3fbb4d2bd5849636ac0ea47cb56bee1f6db9c6fb6766304fcb8bae7d58f82560a110c9d1c4d4d8a9eb3a74c9fd535caa86d6b890b2829da5f708388e19d2abbc85987b26e152c7b42ef48d8f79d5ef4337a6f5e19824905bae4b2afd4465d1dabe967a7193e6733056c5c809eb8084126644302ec9f9e672d6cb40f677b0373714fcde4009d05",
+          "padding" : "303230120685ffffffffff6086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "57c8ca1d0e8daba503da489edc7ec8b331e1088090142947cf10039da674933c33fbd7531f9998a67f4e6bc9d1a87e07a1a86ba821242d3a01f4755bff8130c4ffcb44e285cb72d38f729a1fc71e1df6aee5ceb9ce83cd1f635c201ccd0e7f975d4a4b0154fb2badb7b170832fafc9023ac74497fbd0e70009b55f79482a174573a811bf46a774d63ff3fd9ba22d82ad6e46761e9ee3b87f2bba58d76a26f03b4d5ab6884dbe5b51475fcbc2dd160f6f9b86d54b6f5322445ff8022c3d5a78dbc97a364842faf3e3be6b02faacaf22ee98e0aabdb1fc1e9c546d0978bd59f9062101b0d86c93e095b2b080067ca1cb2940a2271a6e738af88a2b9c92553512ac",
+          "padding" : "3032301206096086480165030402040585ffffffffff041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "2edc01b091fd7a5896b25ba0b960548a9c799f1ed7208bdc320c44ea15d46483c8dd8775fa3c689739defabdaa927f88c954befdda8452152757448c1207cc694af555021f5756982210f44780baf6f50ffb888e763ac87bf048611f9340c0ba78227f980b81c059925e3c5c42775e45d400a057c1846a314f5eeca92ed4febba7b4a91e1b1c2902471481e132d40681aa9e2bdd4dd481102d2c8259153c76d41d49106cdd3cd30fc0a0b06266f3cb4b6cc34c60b528cf7e7ef9f7d42e5e305dda9e46d070548c14705685de7bad5970b165e13cd46159f957cd2908b8eebba955d2c6760c16b3a2d3e9e1fca3cd8f184b30b1d6e188ece497e9e01c8e2a5267",
+          "padding" : "3032300d060960864801650304020405000485ffffffffff753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "6cc03e058bdf3761fa04a89069f97bb0654b41d00d825152cd00db635d7844d75596d33685fd02f4a1bf36040ad71d5c448d1e2a95d23dc150463d85394709f95d7e37aa44fe300e3cb6c59967cceb81e5741bdecfd1d877e5e02a543e4acac44c4563df5d5d2bcb20e68c26ba032928c5019b3030457f4a828b19d37c3bc5f341f00e15f14ac1184239ddfc66ad568682620ef099c08d088d5bd0a95935401fc1091bfa2a120e94d25a54cde34c455cadf6b5f784392e3d8a687a9c56f5348fe9e5082432b29f64ddcc292e445f51ee0af42a595e860b88eca2aa486e8c3998c00a3475ba04d740cb1cd3f8f436531271df58bd2f84c8dd20cf45ba4db256ab",
+          "padding" : "3088ffffffffffffffff300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "177e1f3535ebf19016eefcc188271b53387292eed25eab416ef324d58b7c26bccd05e5843e49b5ea573ec7557fa3662159318994595a878bf162f5206729bb960c502e248a1bc85bb60025ef41d9aaccc040d99d3b178b609a40c1581251cce8e6f410b082d5635f94dfbd06885f2935fcfbde23ae0ae509af1f39d77c2d94c0454cb173ea29381ebdedc4983e34efef635f954f6d911968c4f79b6487b28ef427805f4c3d14d2b8ab72f5d736cd48fae65ab3565d8d3b7af61b56f691c064146e424bd6db124ac9e5fb82e9a84e2d7da8ca953fb8db2a845640e6d48532adc426c4761315bbc2639bcde29f420cb553d6ebff0a496ede669b413c80aa63553b",
+          "padding" : "30353088ffffffffffffffff06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "473595c69d05d4776a0cb1186d8b898421123b863ea62b9274a46d488814a7b56e1d94ea2708f34b4deb705bd5df15ba0951a5915d27507bf145bf0a0e40cd2dee33e8c3171463d3db8c0f0efd77238ef463bbd959caf87b283927a304ccbfdc5ecee3e923ed7442afbfebdfd4af8e5d257015f21ea3b5d27fbcac0155238bd86e442e93e91659ead077893a02c32583c48e25784e0e3837bec334337b873b6b6660bdc138d3ea2f41b624116af4cd0ef70eabec4cedf7a3fbd83fa82b2761f1d352fd0770ac3bc00631afc7f5bcc149e7f13de23828cbb804218c000ab31f8cedd59cca89576c7234ff02e3a3ed3102abe1bb8c8e4de1a48192c703e24bcd64",
+          "padding" : "303530150688ffffffffffffffff6086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "5969bfdee65abe62a8cfc7f57efb08aa243fa3c4c4a35b62fa4bbcc3ab9aa45021ede863929644635bfa45ac7e73470bbac2a51b00f496f42bce087193503358eb285f4f45953b903858f1867870156f99b83c5b4a77a799dbbecc8eac25a5fcc26e559594c903cbfd086e72bfdb28b0be91d9f02f8cd94979937e105d2dbf9d134d0451a39f87019c1c13b22a6fd8d4d3603786489810be8078d407f614e4c6e80981f9c3ce32180c1069799063c6d759ce6973322043b611eb957f97d96b106231b52b051371ba5b36002b64b0f88557f0178bcfc040236d675fbcffc0c2ab9e5edaccf00db475e3a99396fb15af3b7ec93e2de668eeb91e6d4d4b78881308",
+          "padding" : "3035301506096086480165030402040588ffffffffffffffff041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "bc0716ac3f37a44d86b8225bb4834ad3d4bd10b171f36fee3885ce424e958e80bcdcf644ac3c3ec868c0c60739d7059f0e264dcfe73fdd708f13cc931255fa2576915b6e40b99cac7b40d259862316ce8f140435d44c973d6bfc48a26027cb1f6044aade27e387f950693e5a2787d6cbb9a38bf64303503c63c02f7649df3ccda47a380af779991b1f7356d81240d99a924c0c389c5fbe2719f7dee3f84283cdf41fed95341a4b249c92df9a93b5e8d031a8d693c9ffd5a91fdf2efdad0feb11fbe5e5eb5ac51ae85c65a4f0f0b3f67a0fef3f4c5ccb340cca0b43bc59015f0192bdf24dbb1e92ce66b534ffd38dc44f08746d0429271ccefe0bfda3c8e5187d",
+          "padding" : "3035300d060960864801650304020405000488ffffffffffffffff753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "2a0d24c903c732f2ad18dc96c7e58289a1ed5887006f1ff7eedcbeb28b517171a25e48bd161b33f8c620fc42f23cc0a4b3ec0c03e42748355650baafe1e03cb1e6dca25bed0afaf5a56f016372dae8b3d92e21e9a5dd7b56b26c9ada092805bdd6933cf2a9017bb258cc19cdb04b2ae507894527d93a1bc85ef0b8f3c2e6fb9671c75cba20986ecccae16470d2a0fd8534fd879d65e62233d0e6450e503912569db3ec382210f8173753b32c8302137f0b3a60faadbd5a2a5c7d117f248797ed44345ed43284adf7655e7f70a0d94c4b05f484553761ec8b7be2ab5bd66d3110b4fed00d83dde2f5e0c6e0dfad1f084a851b07fb097481517805affc7e5abb72",
+          "padding" : "30ff300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "28d582ef90052ede462304fb54653941f2b45d26998ae7af80f058646d2dd472d7ae738fe4ec226e2937366e759d2cf741b72cdc85f49004a143a68dd4c820985a5656b583e95dfdf48afe5895f6e02d8ad5131a522d8bb005303005ffe99fce9374cc538cc78d4f383dfe8b95cdee1938a91c847ad0c29345c99efb03424a4a04e52e5f955eac56fe5ddbb9c103223e0b3883ef4b1b787ccac10d9de11b85cfb8d3f675d18144ad64ebc59823653d54b85696bb6989c54dd368f0a130d8cdba7945216b7dc1da1f0a85e73f1458e009884d02106a2ed5b66d9871b5d1143d0ab5cf09b76e98d4f03675ff3e74af40e4fba4f9c0b87653455da30e4dd0897cb0",
+          "padding" : "302d30ff06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "296c0c4dc1182111feb1f9483872c861de9ef9dc5a0eea97a233379d71b07be1f7f7cc0447b069d871a98d14302c9e54b451f1a060dee8a190d20349eb9e316fb271c8fff3f0125751d3598a14b47c80e49fd772bcdfe08139cde367ad978a642d57142607a1ff367da8993555be75f7e4998030f2c90f7d24979976e5edb547500aa6f350d31b50834c476ca7d679180cf82f32d83489e5246352d39766ce357b83f21bf9233884c178bdacd1b59c084a287208418a5b09f6418720a4253b47d56b041b727b104f4b913156daf797946ce69f6c565aa679a210f300987b12354d2ddfa1d55ee133db4fea872824d40b28d10670a6dd781988cf620c1dc26022",
+          "padding" : "302d300d06ff6086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "11bd148f30f52678e48cc8ddb9bf60ec1d09aa9b80714728c222e249cae2baa098adb29250ec9132947abf8a28d287d5b0401ec86fb91e0995afa30b14c3f7d7fddec5a9e9dc9bf7eb43d218bccd469ae7972807bcdea685226995b3858d5a422409dc4952f661ee8a106642cacd264e645d88ce915caad8355cccbd56018e166fa7605caa05092149407a5cd469326301e4177f613b4ed967d9361bd703ffe26d9c149b583316c0d769cc2dbe5c4e45b0843066173a9dd5874f4498951d22f621be210135a4dfc91a72dd4d2423b3e8baf3d5ba08afa79cdc2bb63d0fa9bca508ec8e13c2dfa2c2aaaf2922bcf8623d8c4c20c3d927c726c57eb26dac95f49d",
+          "padding" : "302d300d060960864801650304020405ff041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "4019e011da7e59b601fe76db0333bf9fc0d2fe1fa33cf0569632e39940affad58dbe255f0e250b5dc5f5f4da0dae5c8a7599e1c6852c9cc052b4d7218acfc1cb6d2899b7e5d06eb0a666903e69383ba4d8bc6d2146a4a54cb0c7ecbf2e60fb09f4611f0d5692c653b31eb5795c838303ace417992185e138ea279f2081ae0c65c0431d9aa3027726674690ceaa3f0cc838bdf1eb2048f1117e896fcfe71513357ad636cff8d3b0c0ea2948d6c4a055cb61b0dbc56b346a6d9d3b8bc18a038d98d8a20ab63ab8798884ded8d9a11e94cd83d6d9a935abf11d079059d3fe6b21db0508ad9abf8603acf8d52d50926043033e054a81e4276fc16687234d4029370a",
+          "padding" : "302d300d0609608648016503040204050004ff753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "2ea2f54a8bb688cfc16d6566f6b94d3170cdd93451316e89bef148e70cd85e185e5e19f23f4a8e7a5e65d938a43002ad4be43b3be2e409aca1b69292928d98830945784abd1ceb0cec45984a5496d0ccf9958efeac39842ba50a1cad7130ef5b227fe93040ab7f4226d5005647cc1b0259373e08ffcd242b77f9037797cfafc0254a96edfae31c4f7ee08833c0490082bd33ea25a2138593cc88fcfd7668a82f0cd26f4e1dc65c4e010c113bb2678c91254de5eeb689b582601b79ad08198072c51987602fc78bee6bb4754361bf5be123aa9c1f8c0d8b2a804102962c8da772529947bf2dd36456f6ff6132a0c6ee7347afc5680e705ad3b8e81c9a04f6a807",
+          "padding" : "3080300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "0bc548744c7474e5d904c1a21dcf938ef8abc3fd1a0e20d94564432dae05550449d4b6ade94503073f6269bb71afd2b3207b809d39a2828a6f14774bfc04624255c1a2f28a722925e28115c98b20e98016fca0f8c4b3e2947e555113d7bc88d5586bd5a0c361d290b4dccbd1cce03a6df3dacc1baa516b1664608e6b9b097e64eaed352c8dc9b8864b0111581b97bd62a0f1b9396a385de650690e36818fc38d042574401c9dafb28b81ecd14d1b9e64ba867b4bf29f8e78fd919ba2b00f0896ab7d7df12fe4a8f525cb5b9a5b1c13ea609cc7d09b6ee57db3858e62270602662e8b160d7d4b76f2d128c901ecd74a0e2188aeea9c40325c18937e0ab67ea4ed",
+          "padding" : "302d308006096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "bf13c64caf9726506b5cf9605c68252c38c9151064fc85666c7572145a72fa04dfe0fa5aa12f020f4581f1b199025e44aee682d65b1d6f78d52b03466fb52c6c8bc2adf65a0e20cf39f4e9d62cbb6746de236279dedb71e4c3b27fa7b4263911ef7ee2164384ea9b47ab8efe33c7c41a785b3b8c3aeb329248a3ad4fe443828b73b7da87475b1ac102b582ef16d45678000dc625fbcff5fc6509f3b42e0b097617af91c63bdb661a6b92f72cb1ea33a6ef2b6d23782bb87d069f9726c8c91a7b412461d59433a85f04f01a94b7db2e6b493505f6ab51dd2cf37c22cb5b3b9cff2316fc4a7433af2f6ad4946bd3faffaf03fafc1921ba7dc135f3d06f76ab31d1",
+          "padding" : "302d300d06806086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "4789ffe0c9ae08e5b4a13e8e94fc0609c0485dd09c3d10621187aca1a503b0ad3e74ca519bc90f171f2de9246967b16ff69730a4fe9073685d35105633300f8af20b543f281fc7c2580a7d90e5977b13e20e3598daed7d1164f99999c49a90d50350e5e5e134c3692bdabb75fde51fe7f09bda5af6d98eadd4396bd90782579b02a0d60bcfab72ba3ff4414cd500360b21f9cfab420ccb67465967bf5a77efc2baf38b97759c28aa1df3443713c2967223e014182699c82169375388fb204b8bd609df94f5c14de98c4c4a97ef52bc4a26907e5610e249aeca9c951b5559ab1a63235cdd50ad991efeeb5cc87c2f270f3ef916c76beb90dd0fe380ef1d7f54ac",
+          "padding" : "302d300d06096086480165030402040580041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "3316b766710c2c54ce3c42fe05188c41bfd22cd91282464930c763ff3325bdf4cefe9328e6a6a9eaa0392422cc000a78903552649146773612a9becb4d7b4cdf2c6e468bf11b2ced75dcfb3f5811b596894c8dc7948d88093face5963356ef5dfe93a0839c0a3bde0ee33319fbf28949e9bf8710b988c6300beb0b04cbc841a9018a6a2fd6cad033fbb8e22c8cddf713fcbd096d5c498310a11863c276ba69d81a2327a0972bef0db5303e3d55dc4ccfdbac75885f337867e81994ce7e890dd52a0174639167b53718ad2dc59f75bb111461b713bedbb1fe00c790fed6984b630ead97647648bb09b65db20d2bdbf63b1101068d82a1ec3b2891f932ffa918cf",
+          "padding" : "302d300d060960864801650304020405000480753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "4f3eb885b1033c3f5cdbf48b6fdcbd092972a466af821ebbd6f8b8a2508240ef14957e9cca82bcc1b3124828f9e2154353292ba3339f19e5e35bc6f6a678bb0296b2b5f54dcf9fb4b19fad1451c61539f5b2a3c0e94a738f25309ef87b273cfc3495c79a3937ea0cf56d3bce104b9b1ce30561dfa64867ff722c37973afefea4b5a79073f8ea6b0af36c9f49e61998381d0dbbdf9243838a987c7c446bfee0f18fd90ca023c03576c1ee24d8e2706d337f126775f6bd3ac3c5985592209b2d15f5ddb8dda0a432a5992d784dccb4d84f91e8edca9eabc4376411cde969c703eb1b61f0a8b82cce96dbf4bd97d574efb97e60c4a2b50808963c36c20baffb0ea5",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "2d481e02fd9cb19356afe5a88342998ef96ef107f5b365c55e24073b815907f3ef9a628146f13101dc8305089ed0487576fa5b149ec6d80a0d1e6e8d874d1aa15f0261605105a63e41c05ba80aebb417a7fad72cbae383a26470e3ed867943a2a697b0e89ae5f2a9fa46edac74bbafec445a5d3f7ff8b010b6e0e0dd815f5a915d867c1345f39a3ff33e49e02c10dc0c87c1fbe3adfe8c21024573fe22e8f6700e9b577ba0c494eb96b55ac1fd6cc041f17f834c6b8b6ddc1c4087b6313012532365bf3771ef37bebc694fff80ae7682452d732da71a30cdee5af3f437451aae30d6b240752d87bfebf1141130d24a470fd991bd06bdc7fc1bc428380311dd86",
+          "padding" : "301e041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "421326a7fb2b1c3ccef84998301905f4f7ea1c3b9a0edee378edf33a555bc379399ba64c970fd8c41a72f6d7f6149908d22700f3836fc0baa11f88a15ef9aba5337c3d5ba081715749b04c3a05d026f17ff8c781af9526add7d138e3899651e28544f21dac75fedb70d1a38f48eb711afb66dbd275ff82fa2cba43d265f07b2087821d63a5467c9ec363bef9a55b65537e15fa0b2015d8e3cebcf096c63733cb418336e8f04a86ef9f430d28b78352043151deacf135b27805fccd9ae4bd6e62b10c11173b22ab155555a88960f3d1cb8ec761c56d6d5aa63bad6b0cbb47a981e283f3c494411a4c3f27d26013e3d09bdb7efbf3073443951c83697f9336fad2",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "7a722b22c2327408ee6035df9006171f719469bd5b48ee865978b0224eab4f0c3ace1287c3d95cff5c266cfa54a52c64a9b88d15610f6b496d30e9381c6bd83cb94ad574ae7fff00723d6996771e7395705f97c8e7677a3132dff741e38a5284e7fab7a68b042c5df40ea5adbfa650f6cb3eda0790d5be4d16ee07c07d8728bae2cec1d128647cbb2df8606a99804a1a00f9dbba76d4a9cbf013be2c541df73041e7cceb9a187c0241eb213e64ce29219f9acf064eb63a534006277ba02fe5a8c5fe0f040f4323acf78864d3b8a6f6ccd108131dbf92c42f42159a6f5a86651c1cfe56750a79a2a842f8204436800e51eefb7344f733b50e525a06d8dafc3807",
+          "padding" : "301f30041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "047d4caee2c97c7feaa65b9b4c183f54e7cfc8e94c9cd0c0b4c4dd204728c357b959c38376b74e65fdfe3a4b21411e22d3f6495cbb905171322132b879a95fe75f62bb7e648e03b923d6d1e56c810b9b71fa3b68ef01070814e56843a9b943cc83eb6f0091d4c11f0608697a859c3265a5554befef16557435072e251d70053fe6ec28b1399f8ebaf7956868412bc1dd7b6b2632098e3516a133fb13e690e36605f23a588eb1142a55aacd434e7ad8fce310ea6ca6ecd6214bab17ce772c99059ec9fef69fe2d3b1580d53d2ffde3c5930d203d7cd3abd345c56bbdf01804bd146468ed5ea193eb1b329ee33b57bf955704be426768b22654b988365271435b8",
+          "padding" : "302f300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "b0bba3124e4e8d991fefe71464559da12c7228646a5901a7475b1c71e352d6fad3dd37b16601deb4df3896535810dd9060223c0466035c4a2a481a19be2f85de7f0bf0d511e73681717877fbb6cf404727cc52a966b0acb3788967ce1aa5ea887a419f96454e583553ac07b15b3206c984dc32f555612534677bac5565f63d43729a3d2b5af5303d4af92027593313df17f46671caa4ec8deb10b870f4114abea7c11a32f1e66b1ca92fd21bb3678cfb039c5260ad33deb7c2ae1e847d86fb9eba1f212a707276810b91294773d469b484a9c9b2c655ebeaa9f0f77b96e2074c2441495351f605201ce8917d4d8755a74322f88157189dd9eef4b9166967189d",
+          "padding" : "302f300f060960864801650304020405000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "2103686c13ca1ec2567a0364cc5c7fbd2d3912d48e8eb79ac078ba92f780ce084c9e2684a7f162808499aa3c7dc17afa25173f6893a382c8a934f1bf9c43b0b3ce7d40f6532fcf6c225286362242a89b9efcc3ce8575099662a51d5ccb1a7dee56c25b475638de68901b855e6ca4f18286aa358fa92a4389fbb0eefc6afa547c68e2790980c41889217b5914bbae5527e7193df70562f4d44b0ace7be822470429c4798c39f33a36870cd3acc0006c356f6a3abff12ace4960f9a03ad1acd44598edf191789a5f8d83f33e4109ecb8a55e66bd950a7f0e91c369fbc97f221347c64dd49ca997451678de3f60d8dccfbf29f92f82c1843500b41a6aab49a2a146",
+          "padding" : "302f0000300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "081375d1eca4a5d33238f9bf1f7354b2d680752617a0caacecda023045cd5bd28771e38f24fdaabba884c87a70030ababa6a4a1d8e3d72b19dc7474250ce2d048a8ced039c8ef4fea770df5fba7ff5353d2beb06571503835a690dfbc43a40b2b9cb10d244c91a50b76f0e0524dd123a8a304378d1bfe6c10d7c281a77c18db64d844ef62802e93dcfe1df5ec9efb8e08c3bcb7d579e1acd4b0a0c33695a15c458ccb507f1715cc79d5c30d90da1de5d3d371ee17baaf51dbdde3f282fd266521940d3d1b5967f830881bf235e4b896b78aaae61e2105ce61fc7bec6274639c05a9ecf59e27a4b70e14a8b13579cd69b5760859243d04d2bc0b35097c551c748",
+          "padding" : "302f300f000006096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "3f04e9d3eeca27f5558685349f50f5dec7cf3d25801b977d0d07028fdafd462c7da1433157637cf2e32fc5b83dca9b3e293889a31e3c8d2e31eba924baebac2ceb7e3aecbdbf023f4e1db0e3b49884ac42ac7b79c31dc19796fd08bc95b08829703dd4ab6ca804a8f5c601be801632d17e08c217b5ff9d4680ea36fd553e51d7477b4e5360b2c076e7da5a9894579e33bc35f797b93d2661efe2bb87f557aca9b1e65b9b6d8646ae1771219cbfb0ed82b18009a8c0ab729b2e3815c6a0bd7d4eb0bb0dd209c417ff310678cc6b5813b2acd4d1223f5afe0ec1e08493860dfaea196c86c35f4506fd88dd78011d2accbadfa38323fc3a9625ed68cf649d1aca94",
+          "padding" : "302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "0411baa04f289c095a5bf21c481c848caadf6786ae0d9ed6f91a785d81510a3517edd3ac1d6ed4746110a109c8a99bc549a1409eb72a3681fc858249135cb5a24b3aed3ba8b3a33f472b15807c223473bcac0e301a846f6a293b28ae456987b65ec0b1dac7ad30eeb0f3e5d7dcd73978e79dd4b0c80efed470f5c90c8cb75e88c89e49a2c2a3e5c38fe34f57c6b15b835b4cc086721d55b8704299b6cde3b9bb983a9f2403ff68d3f9a55fd40245f421f586cdf8307d73cd77d42e0ba886ae5d191c578c3f4cabed531a0e32899b711f33611a5f89398d903dba08c93084d08e705b1fa5fca28b4e3bd031f5a7a0acefaa001545b432d6665d5ad80ca4cc72d0",
+          "padding" : "302f300d060960864801650304020405000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "8e3dde30848a0ec2780b18b8d5cc10875a090dbe69b6ab4e808e723372eeb7752142a3c9be04834d18fc4193e64a1436b7c9d6b62204b03afc122014a6ec2b2037baa3134344b612938a0dffa465cc4f5ce76642dd266afc5375f50927974c3fa458a5cfef69df6316ffff6019f00d40e7951613fd20ba9f5d575fe1d81bcbb1f51bffea42cb5624b3ec5c4f471e3f9fe6f0dfa162bfb6508711150d0727260b63cae72fb429b1153661fb6c6b7d3bfca05bc6ac9e96876c9986a05f62dd85693a9fd8748f9cbcc30ccdc393f9a9249af15610a2ae277f26a05b99dada16354ad93853dfbba23f817ac098ae5007d7e9bd023d7a4d803d5473087f3ddc0a9e71",
+          "padding" : "302f300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "573553d7dc7ae88321d688df3ae7f6a4a621452c55b8caa6c79c678d30f73413f4010a4673971dba59f2a31dde45fbccc00a24c316e186ee0769eadaf6d6fc11193f389fe3d874afe4ed226908acb2de226151d81f00cc8aea420cc2d8a04b24fad5f23353932109ab57c0ac3566b868692a8d7f50e975056e4b462debffe9d8a7ba7b8a2623970ae17ad5472e5fd1a54a4592d4755cee2a4c48391850a7dd732ffc9fb1387d63aad77d767c5ffedd557bfb7c733d8405355c9eeadf376b1ab3a83de9a2711f78903509f030c096cd1b26c867954c6c2c2785c19b438990f4f9e2748da577acd2985301065f5883325eb154294b37398dbc402e805fb637e742",
+          "padding" : "302f300f060960864801650304020405000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "8f65cbc7da6bbcaddabc96881f19fc7fcc12f7c37995965904a130c83f94294848ee51ac7e0d631f1c8f5de531297b458850179b41bcad718bff75cd7ec3538bfd4c24a3a66a1923ff803595ff297077a7c46c86e58dbaf8532c79c10c630b9282f36bf1cd10bf944c10d7031da6e70efb61850dfc152dec6f5e046990a1880c6d2f3b737fce1066adb6ac7e83f4f54a8364406c85a3eba4d9d5d3653c2e18fee613dd6d6c3aed29db13eacc0ca6f4c153c7ae623061bcc91f9909592c909b78e3da2a030b885969089957ed8e5d547f613d0f75dfb3a6192d49d5e35482841457bb97153ea1692fea6498bf1530546014eefb1041404b04034184ce1a93f1b1",
+          "padding" : "3032498177302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "0ef30aa40666dc896d83d48f76736806caec90d3e75fc02f61f3d6b2286cc695cf91a4fd58d39cb970c1c1c507431f9401330836d6e98e7d1795ea2afde9adc53da7299325c1b982169f96b11219f1cd987796522148f38a4539420782fa2d7bcb28e836188054420308ab512014c85dbf21acbdc2baa2a2f044de110701c0c42f842d6bd25460067787707b52e1ad14d46a0d815c754cf7939ed10467bdc0de1cec481bc2848dca5a385ba2baebd6b23086ff70eaa6ac2cddfc821f1c989573c749a86ff029faf42a1193a3a23571a9e1321f0b8c24f76c4b6828dd18e0c2bde1a3dfc5d0aa59c676a11c623d06e3d2fc652dab6a980bc4957f3ccbc462ca6e",
+          "padding" : "30312500302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "b0e67666c17cecdd0ab49ed69aa23b34da30fa6607f0f1be12bb6d5fe480ffc3cc253e97159c4e789019b78d7ad85f197eb91852b03d88610ecf3d63d9e3d69ee2dbdbf8715f0ddf2a0c238dbd83382488acda3cfa51a5f52d060b089354cddcbf76f0bfc74c619988dce3566310c884cf03a4eadd422c8f821865a04a991c64af3c220de643da0bad6a71aaccd87727ef62230c595312e40b1ef12d1b89da7f2c729a94a3c576b750061f150d074ac0518e1c0fa83a015545d56dff6dd5f549a5a471f6b029d2c0aa638e4c797d1dd6aaad0c8e58dccb184b56fe4fbcd7bd43a97e6c1abbe1f44ef0fb0ac79d573e286ef13446b697d2351c00bfe8eb4aeeef",
+          "padding" : "302f302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "1d02530bce0236b2b3de8b12d0b6725f703f679b39d28dac0764df224d2bfa712e22bff1b56b9ce565dff215e762c5b2d3e7e5230566ad5eb77a5b1eb10c21be29e525df1e7001a9797340e589d078617937eb24ac0001eb4990cb23e8f7ad00850ab8eb2f289cdce45812ab38b902386327a6480a76429bcea479da842ae8d632ff6a5477a520369e7e40e2b1cd8417c27d6e313621339229033ab24b516fd10c4bdcb39fdcb9556567592d79019954be9622aea1751d73f9745402e945b3d9aef077296722865e2f9dc88d1c1e6ff82e6196f690531474165d8a2546b1a40992b7235bd6706a41d414310e014c091e10a8e6cad578b9e23126166ba2cb2156",
+          "padding" : "30323012498177300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "5783c140eec08b80c4b6ab121a106a5eb8b98d10316aaacccdc0a128d6abcd9b69c94256990fa05d747473d39dcb7b7a105c355fa59b88c022900cc2ec0cc0b6d86c498c50f21de8366e497410820f16d21f49ef6c54ce7c83cdb7f6705a65be1c9dcc1ca784933184bdfd2cfdbc0e6849e7db44a14fc02bcda843ef3061a125deadf2ad5e7c64301ecbc8a0bc307c4a92985b3723fceee8343622207a0dcbcf82b3130b6922156c09cbd846a59795a7756ae6c71752f73e740a1199d4428f5bb98b03454944af3553a98890ba5c8ecf63ceae9d2bac536752acd2752e5dd84780974aaa8a1ec2560a04d43a69c480df1c76a64e734b7eab7c148d22b198ff8c",
+          "padding" : "303130112500300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "ac353b1cab78df8b9eec61d5de41f878f246914ab28d983f1b9c837e2d5b85df9bd27f07821e01d149c1e2e6a95d49553d23ee075ed98a75cb5903d7ed474e2102ead177ff584862877cea040714c3cdbe7dc0a7dab28492d7a6d14e1405b8d3f21ce35bf68a1afa46fb0de0c5f9568e3342b30417cd245492869d2264e1c450b0eb22d03aaad0e9eb8f6664e2006dfc044b5c147bbc31c09452d00e154ff8a5c15de66d26cad5efb656b4512f73df85a577fe83efca291c10603ebe79cb3782a79db4456305f259e793300899ec565621aa3700e9d1f328d161aa7d2d511545c3d2f9e3d5dcabd9f45fecc2fe43d6dbf5088362cc1f5193f8d785bd5230c6f4",
+          "padding" : "3035300f300d060960864801650304020405000004deadbeef041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "b97bbe22841dba4b6d115e4d297de6e2a7eb18b69651b15933d8131f5184566129d84e7e3cd9f9670c1b082afe403e8b2082a66db6178c8511a6a1e944a257ad28b163653455b9c416ab2914378d2bbac4edc5692bbbb5877b98ae7f7aa17f6db1a1a8c110e6addfde8d083a37462b461b842690443d3ca2e14a420fd8e663a2423477b0ba979b4f99be3589527d82158d05f437961e29852efe2bb7c3ea1c60993a70170599858f951249405b596cfae321ae71e29e2380455931c17387820d3cbccb91b6c55c53734af6dd94bfbbfb5faffbb6fba6dee37274bfa0c4e486d143b6a820f4568d67c8917cc05c97235984e1716a856071743efb4b00b461195a",
+          "padding" : "30323012260e49817706096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "0d6a1193dcd1fc7e17c72993cbc0d1fa3668496d131cf6e4cd70f9445edb45d228190c0bc05afffa4dc57a8d2abfc68beecc62bbbf0df0bca13101eb0e1a82e62d1f942e718f5849a8b47c9699914bcf6c69807c3288a39cd25429420892d20f9a65be77135921633f21d8f62481bbad628cbce6a5df56ff009ca635dc21c3d64df38382f5aff0397ff7f289b49da3ed1b31c4a25b39f806d8ff18298cffa65e312b663673c7d2a155ab7ecbc70710be28c597a291a2ee0ad695589044be2edcb7f91d08145925fcf3ab354f96717a801ce2d293c6edd89c1df4c9beaebd2ff8e360b1cf95b422729722ee8600939ddfdad24966b867f53be1ebff94e0733d10",
+          "padding" : "30313011260d250006096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "864714bb1336f8b13d8e6cb9c5c9b8523a136f48cb2e284c56f5d2e9f13139deebfe55e9cb132f07d5437bddff75083ee9a912c913372e343d0d4f5b23a19bbc3c4f35fc1408bd2ecbbaefea399c1c217aee2a0a34b9d37af538f01a304689f5b8770b9f30cf7e525179efb333793a2ee89811159e2d16c40f507de9341acdc841d9341a79d1408a6301521b8941e1e71c1d9126144de7e9b6beeec39982bb8d57c62fa8b5274cf3ab0a90fbff7245a30b79e407553fd56c068ca7cece808bd78f866412ea67ee515a4a6469be5bbe96928bae763055b1f327000387240cffb6a9934c9b7289b2101f9c121d456120bdc268b3f490a543246d21194dd3aa8f6c",
+          "padding" : "30353015260b06096086480165030402040004deadbeef0500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "9979b2682f0f00ea94c2e937924ea179cee83631f72c72bfedb182495301a15695e6f3046cca149e939284d729870500e639924422b693a1930f296b210b565f2ceb61254fd57e96158044a1c913621f5af9d3a8d593a9899ab5153442140650227817c5737353648ed9dcd137e8b2a8d66ba62b0256082f7d0d7f9c2cd8d457d01edde6be4021ed7cd6334c0d95633042c7da5cb9eee77ca1288e3b698ed435f21bfe1d4a6b62428b4f8f9612fe19bbb6dfb53b4e387c57de60228f46b3c1d951bc1df5ba6d169de2f420c9e2fbc06b4384eb3f3f3f8778696e862d8ed290a2105802a4a2376557406c7a390cfcdcae7ac71c5c8b4036bfe6718f7e258bb636",
+          "padding" : "30323012060960864801650304020425054981770500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "c30cdd24a0f73bae9ab20a2ed7dc92b7cd18c7603d05dd14498a6c9a7f3b5e332b6cba1aefce53ba9977c452317a8c5115eeaeb4da93c67d323381935eeba09f1ba8755e935cf6f0ecf0ecb7c54165f2dbb221a0a953795c38694c32e715e87673549f9bd1bda907b7f2b0f9430336b98e621e4fdf5c569ed9c5f1a146db2b1ecb0da9bc53caca8fecaa20a59ccd7a97a5323a90140a248e6ec764b9ab573278b4cdc818f202801678192fa83a01320753848b64d6515746ff99edf5384c8fa5317d3e9a043dfa613403b99e4a05a88310157d02601b940db9ded7121701e27cadbe494fdc855e583c1da47bea02520ecfa8242ea18fc61c922ec29d9d9fe209",
+          "padding" : "303130110609608648016503040204250425000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "0a3d16f6a90c75c52870a3fd75ad9c7ea68aab871686c058659863c84c732ca8d41a0e890e717502a5abfec94a9190ccc1246157f79079091e5f5b5408e5df84550fd302d1a223e9a227c8957fbe926ff8cc83b4fa4bf3a93826724bc9ce4b81343ee1130bf9b6b04871a394dda363bfe493190f0e0bb8cd63efa6558b5636dfceb98013abdaf77d0bcbb139b5270d16e4c75c1890c3e31a1b665c59117d560782fa4dede708168ad08acc4ac4a72e379f8111b06af6e70d4029eeed637cdcc4804bfb20776942675c85b6ac7f2c9386075940b5aaa03b0df227332288a78ec7e9bb086fae1657a87a456ce78ee1a197222eb52b67c6ae33defb7d1cfcb39fba",
+          "padding" : "303530150609608648016503040204250205000004deadbeef041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "79b10605bb396e0fb0ff055e705957f77a8c178b49e6998665d7a07d25eac2e6450477ec5ad54ec5aac9d2802d14a0fe290b0f577721c595c14770fa9680e623d8e724ee97ee0e486d8219e5e4a5ad6d9d12e35af7ac149685fd30a598a561220d497612193c5262d7df3f1d0b76acb3896d22c29d50f5c51fb9ee279d8deb770124ea9e60635ebeaa2c187831b75d6d73d26c3bb01bb958b6a5b1a8fbb5291e1674ae985d4b5f0e1258a803160ef06469e6ff92d3c67de254680ba245c8c4ef3305e55a498076aa9833fabab887258c757778f7dc85258f75efc588392b74f2aee52f04e975d5815eb6350cbdfe18824231a6a5202d67f2423c4769631dc6cb",
+          "padding" : "3032300d060960864801650304020405002421498177041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "23ff1fbcd4bf817c966cbc4fc9f4c62c948664441fc4259b6693519a95e266a7fb3fc51754905126d74c8c7de562d3526932b85fb81e2bdafea221152b995a904a1f980d6e88f276444ca4dffa1e35ba6942478f31732cc4dc2802eeece0beffa4a637b59b96b6ec0c9bd236d438605a177dd4d3bb2aa195d283e379e365645a172ac6712effd84ddd5b8c6736012b417101f6a5f7f2d5daa9fc58ffca9bc9565ad65821e8154b85e28cc8064f11c646d795efe9ba986420b28d8aea0afe5a11e038b03af78ab14b95e050cbb228cb505b708e56ef73b6a715b37d42af08a10dfd573c4fea47a1ed582901de7c0d71e1d016714f03f59106a9d10b15ede1892b",
+          "padding" : "3031300d0609608648016503040204050024202500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "42c18c5f195b1993fec4857593728cf00793bb0961f0a924b20f5cd94978acec7c4cb6d4c56dbb07028a8454d1f3b586ba17c2c9f4c6f993d12d315e49f921dc1e81344741273193b89cea722ead9716362069b5fda2dd45f00f646a25d17ead262c9c856cdf8be4b7fa54053ea5647868cc853e0843fd4577086b55502cdcaf7388ea92fe1250f2333cb744f7108251745cfb272e157f346cb2d1463a6c119ae0d6477232b321075bbcc69d5e76c8485d621bc17cea315c53e49036708c7b33d7f65dd851ddd96182b873e9efb2979678e78116d4d85063e3b314649996bc3908d409158221b563a119f4c857fc97d280e7500f0f4f6ce9761d2260189572ed",
+          "padding" : "3035300d06096086480165030402040500241e041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "8022366a2ecc0f3bedcdfed040048a7b951708d3bd22049be9e7ffeb46da3e2ad1277207b2f84b60bb24d00defbd2b895f3242fe1870a1291ef048a6c164486445729302378b411637073e386b0004321852e448f07620554dce1f75f1965773e20c01d0fa0ce9f51cfb938fb8d356ce3e281675d5e2c5aab46b3b7219d9660fffadf3ebc1f4618d46f54cb03e428e74cae7ff915213194abb0dc016f83b9740a438f6952c6f3e6bf3fc7f124196c34ef4e36cb54baed6a6707078dbf5db2c2941a235cfaf86df2862946e36f4f513160e50dcad2e31106f48619a41ba3a94d2012a87bf21a81dc23002a2c14f216e0f16e57b3cf26419c3cd2d61503936971e",
+          "padding" : "3035aa00bb00cd00302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "3c967b1b7453b98ef67694d96e8fc81c91475a6090395d32150f0df1f9492bcaad385cbeee2143f049aa7a7d59c0876859cb9c5197dab9a0ea886cdc58470e252a4c555fd48546db5c8bc425430ae08923b6cadbc48cca2a68167aad493a7070c27c9fece033567a1bc4969c4e6424660c88e1ecd657409d61f881411d29c1de427be1528af02db4defc6be5df7db0c85f8c890d50223ceacbf715b938d9ff2ee8dcbc57f65583bea6e21684cc5bb629408a80a68cbf901d6d05f1814353a458f6ffcac1c49b7f3cef66f52601f65ad4289707d44278694267fc5c43f4f9df765af887f4ce1753ec189553c77ead37d4dbf963f7b73f360db65b417299384dff",
+          "padding" : "3033aa02aabb302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "238cbda5396565558992dd9f4e51db93629242f2e8dfb7fec1b1bac8bdafe212b21125b09e782beddcc0122ddfd8463b4d330f2d69875dc560723e58b64f154bfbbad8f8ad3053f0e08108610298396cae35e96e9134d64c4b016a45abaaa10e8d24759727e0f85840f49a99d1ffe9d92561c6d152d1d033fa237f9d23b44ca3eb9c2c353595c4b3bb540a3c7030d64029d97f146a4d5c107cbf1a6a111b8bfeb148882753e3ccddc897cb3231b14650261c9daffe94f4594c43d45533692f0c4445646bc1ab30af8a6c548e2ad3d1fa64c50bfb96542a4c1b04f8a507fe352a3ea1152a3e47f52b520d4064b878d8281a7b3a5528f8bb7353d9c4972323db91",
+          "padding" : "30353015aa00bb00cd00300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "3f40a7d901d1f36a2052be75191d05e0141e1411ed61ac4556f411ab83be2c0fbd4c537a537944130c0b62993c1a1ac9b1f93684d7d39112652b0d5594ad9abcadd28ecb85e7683959beb069bd22a4252d2cc1ef3ba181567615255873bce46b0b27ab06d881b1917453c8d944c8ca76b3bd2ebac261b9b9585ea7cdd6cd189c4db872f5cfa41c2a48b1f06f9a5ac70edad5edc199766f7113e60b4da1df4486971ee371fe69ba655578eda765cd89436ee74f46a63a65fe2f373aad63e28e1a5c58db169f598a1dc9f638585da41eee8e971a8429becbb4d0bb03788ec6cf1af7102af35ee1cd7b91e3e68763e34e56532e13d133e8cf3f4b647ad697cd4ca3",
+          "padding" : "30333013aa02aabb300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "2974ef65a46c44f98e9e42db4a90e9896704ae8ed8083e2c8cb3b815b53ecebf381ce8ab71dae4f6a17ed3cd2190655e0f7944d70f61dc602744d0762998661f6e3414caaf5be9e219ce861b9e6cfffdf0453eb586c2ed7245ebca69f145beb5d98b9b41336f25193733e0e36c3982a182e63c3c0bb6beb8b10246f494b01e23ef8b5c2d2307fd5186e9177c8ceeb34b366393ed6b3556ba474d3b07ba137cd3f5c4bb3b614289fc94a4dbe7838d00213d828f505feb1f8163b949002b08da26d4bb0b2ec44a40cb059938bca94029804942bbdd08b975ba8461f4f929179fce2a6e2c15cfd4ff1cfd55a9d03d7bbccd4942bd2141ce3b899c48b8c0f7d3b38d",
+          "padding" : "303530152611aa00bb00cd0006096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "53d232f8030be51ed89087fd1adc816d1ee52ee9bf91a7cc43ae1ca4ec613ab3ba4dfe02c4e492167a0de06a2d546022aa288ca4a4ec6db4455d93343d80c57742f598493657a57c62ebe14fff7f7e3218f8296c2b9952bc58652ae81aee9e26450fa8c9f065081f00e3afc50d17b67f85dca8eda25fe3301f9696d2ca7f0fc4f418a479a2202d83a44bb5f7253d941ef9fd2fc1e6c4c42953d7315fe7916fad820e61bc3f1236e72e9b3ce5167027c791fb9179aabcbb08c307b70d69339acecb55840d0b24a8f596dbcf35e474b71c66188adc2e871436feb12b671261235842accadae54d6893dffa5c02a337fbc58ea4d0862f94f4d18bb0df3073a6ea9c",
+          "padding" : "30333013260faa02aabb06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "2688c25cd6d46dec0c961aaa9f80b38320130c0570f7d028a6cfe1dc0646152cdccb77e0171bc13b14a38e152922b780b73e63ada04cb0831904bf952ad15d82922e11cae73624b8be30a8636162288f4fbfc7ad0bff12628a9355ae7e3b329de67c7ea978ee12e2e8b9b98c8ed5967bcdc1b61a979ca746b6a4b2f61b964f8a8253a443c16a960e94e99f6ea07c9388820f95aa3d4f5e7ede3bc7beb385935c96a54e11e94a1928a6e0dfe68af8475b6903cc9191d2ea3fc43eef8dd0a74af3e8f0761d981ebf905c3361eeaee129263e3d587a46adf60747b6ee0da148a4183ae82f569b1098637a55565a17dc7d93d30b232a60fd3fa7534ef1c995395092",
+          "padding" : "3035301506096086480165030402042508aa00bb00cd000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "7c4a0234962f20fc3c3402d73a5f01293b6d4066fabf90f2d3221c11d22a415a4c469558833c9573bca8689eb6088ba3ea9e499d6d4deb5106fc9b6e0e0da5d8a39c00cbf455dd81a24cc15ce0cf217385bdbc7603a02967dc1388eeecf15a22431ef7da1cd5d208df946f90a0f1d609e2372b148079bfc3b7c9fbc94819d7847fa73a7aef0c502b3ee0a5d0103aa673add25af6f4ec0dfbca97e720cec8a5af70af732093cc726d72434f7f2ae685c02c4c607fa2f025c7614e164099a27f8aa214c6cd58c524d6402299352f2a83ccc63ff4a2190dc5ecdf407012f2c5c018c4be31382f06ee3aea6a4685cb395680cfebd6576dd07428cff98f6a5389a2ec",
+          "padding" : "3033301306096086480165030402042506aa02aabb0500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "88a2ac7e968f22bc28eef7ec6a825559216e71a51e2b0ce0e66935b33ee0bf3a0f72af9d35b30d6afc9117b8ebb36a1deab61d5e3a1977d32f246918d2d43717b1489059114d3bdfceea25477dec7785b4ebdd230c83e1a7db863b09836be01d005f4cb6e4629bec41d517155410634502d06e5f992ef377cbfc5800f71786a549fae04df96ecd12d0b94857d10f3f631ac2d32a2d18400d12b0039959e725bbaac36245599f71a6f38fb2545d69ff1712e712e3be7ef65df9cac6252c2ab2963d733b503e9f5133ea539ae09c5efb8a1371bf96d617c9ad488be05991ba6e021ba20b900553608c08c67a70e88ba0e2219fd8ca977e8b756dfd5c370a6024a7",
+          "padding" : "3035300d060960864801650304020405002424aa00bb00cd00041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "532ce064cb7186e8b373861f34435d417f4073d1a3ae6850e0ac3909faa275b388ddc7ea7682dd2197ae74dececaa1e21bded0510dfe5a73f8bf2e050aa69b8e592487f39624820d7bfacadd92320bf5f8bcf3b170efbd5e78f36a81cf75262de0ecc6f4ba033abe155e563e83cb82f39c4677df3c8c47af2b1db91e36735a5a1483a91ef98ba0d20abc93bbbb1b79fb9cf553e278d2c5542150f1668074eb1ba7e59eeff74d8fd5fd35ec168323d4b886dcf3961e3eeb05d7bc730c01bc139f27683ee8c1356ce05265d18508e2689fbb34a5d6fc26a40094f64b4ac1cadcc3ce9c3c08aeb181f73701325fb77d84b0ff9b0008aa8f68dee76a37c696c4f8ba",
+          "padding" : "3033300d060960864801650304020405002422aa02aabb041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "19082cac9c77c7837df434d9df18fbc9da0d3efb02316a2be47099aebf0afaaffb08dadc234653b22f16ee1aaffd67afaea5b8467674e1a359802bcf8fcea32f22b21bb258c4d9c802a8bdbb64b256107bb61c2970a6de9612f781cb6ac8852d6298b3f816904cf444203bd6165ed113ed04b5c6568d37ccbc581246e3138669d463f1c1f837a3ce6e99af0084f360ffc0e73d94e633ff1bc69abe0884b2a548066d9ed5674639d4fd1c5f98252b800c43676850ca3885fa644c69b6fcacdfd7c44dccbc0b2395d65c838a4f4e297926ffeb2ab7beedd912e2ef3e8bf685d7783aee5493ba871aa8d1199f88e8cb039b4f529110cf8f256ad89c7062414df91f",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "b7a46c2c323fda6047c0efe5819333617dac68c61b047d40b86881aa4c8dbdbc195e981e644ae50ab734657206a97d9c525ed3591c8dbde6c617cb150cce08afd867599df818db9c43a1c85ca89fbef7948bd7e089baa7d030546ef749ba5bd5a414302b1dcfc88a7a0054630f48600e7926d99f8b87460eb214df16dc077236d1239c70db04880e6d6044788f2deb20a4efaa3d8e43d73e63792b55aae9d61a3ac50f6452368cbdc7481dee9a419608ea401523868c8a9a825f858f7918c9ce0e138554ba55551e295323d13c30a01ec160c856efa17711698e4aa8e7457b2bf89a158ed4a0e11ba5972c996a1a9719628f0b5ceb81d415e89f34b916c64647",
+          "padding" : "30203081041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "743ac2e50adef925fe5d9c1ef79a650b92b156feeb8f2f5b47f3cc46ae90ff97bbae177679e69fc62f8993b45f5c813d4adc853f469a88b487a04920d490b786b1f511fe27c3cac8b6c631101575154bd6faae13a1798bb66a7df0a6344b2ab08bb7edd741c53078bf5cdc2b77806b103b98904db2bd0038d6cd974675b7aad4af88b767c90b709b35dca4865aca0f55e0467f37367f4cf2ef52eb97060bbc80f08d56632276f2049c51f3a6ad95ccd7cc7d2f8f9320a8dc15acd653c29a4eb6e33094cc957bf8b762ab0b6b128ae3c9306b73c59585864149de30ebc0692bd602735a7f0c29a422549346cc06e44c11149b92c31466c3dd4516a725cdee4a75",
+          "padding" : "3080302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "247c1089d3c148263fa548007f4416273a6dd21eea760cd6d8422dfa54f607ffb90e825182c4ce897e96de0bc869fe1f96cbabcd9321d5f379215b44c71fbcbd67635babde3061c940e09fafb73d7da345cc01af91edf4a311ef250ce4fdd172657e0c3eb046fcac5f49b0ba149ad8a06dc67c85107bdc064a308330fe5259d50f286dcec2f4ecd6518fa7fc43555dfc8a1692e5392c669d8903fdbb257f7c8f435f872bf4064b35e101a25c6ae7bd7d79ba31519310768272a2153b11d55b4f9cf6ce42584a4204c846cc40ecf9e96fdb428b850607f92f7638270bb93a33ebaf7765c48de75eb11948876d113eb5e265e36745b267f4fd5804519487cdf4f6",
+          "padding" : "30313080300d060960864801650304020405000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "5f739b137b57ec0378976ed71d00279a53a17069df1c6e05eb087d20450bb88097381c8fb50b12cf2e2924c2a863711eb416af40ddffd244f0657e2181061efee132e008c82ce7e8fbcb73b376f334b25ea8a842285e62ac6d1f73a70a6621452dd8d3333d44f89fb63cecd9b229e7b3e289eec8eda9309153da264c48296dcbc3afee796458701494cb6f8d4639bab7726aa5c5258de29d4a1b19a079b6f02fb1f8e38f13ae9def64473264cfac91158a6d003544e5b273a2e229c72ac566f33e0b2843dba1297d33416b93e69f4bef4e887388a44c37d310c14a36f88b2bb73351492fd4a8497aae14f5b8664b0fa9427faf2f7c1b990e1460d01a2cc80adc",
+          "padding" : "303130112680060960864801650304020400000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "a6b75fd7cf6188859a2afc987d28a42e81ccd095c15197fe71f42f37b60dc7d8dd5f7c1687e7be87156d24eeba8f468f66eec94e7167718f5535d556052fc6ddf61cfa4ae50cd7420670611e6010e4bfc945740240e63f0f6ad18de889e33ec269c56ce541a9f2359257cc313c46d76d1c4e9247927f0f7d4dc96174305980df30ce5026585db1f02e019f793ad590482303ae52b39f821650f0eb66b9d79543e5d9f81d3f1c8a64395065d978d1945b47c9110b54b58eb671b56a7a2502db9fba6ace43953f14480e00ae67ad1e16b1a3889528e3e438078764514322cd3a1723a08ae34b2186e3d38dd54d7e53f1a7be25b680fe15e9f813a47001013da5b1",
+          "padding" : "303130110609608648016503040204258005000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "667db4f818f537d8b36a441eb01eac4893841c91c6b44be684e7eb6858fd938c350a1450d195384e556e04387e8db2d69f0c9658aee5ea58646e964c4b01b96d08284333d18feecadb613f66ed69b6bdce9150d25a20a5abf4e8212a1099787eedf70292909a3e766a3bccd68567331f7ef6ac798834e2f806595060be19b1908f4c41d7c07bb17840da8a7223feec0e001f36704e87b5b703d9005c6338c1e2baa221ece6037af2653023f022b6a253942cee075899030805b7023fcbebdea43203bf7378f12472e109c7425e5806f586fc9521f7db66bec29a9308008c75868e5afed351691a1a7c607cca6bb711282a9166fa2ca743fbb8a42ff2d72bc83b",
+          "padding" : "3031300d060960864801650304020405002480041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "98484856664b3cae4bb563a23f6da8fcef1a168408e5844217af959ddb3f36045655c71f2569abb4b4a104dff68351e7bc9839117a7d4b666a21201e587823b2578d689b249150b82f3ccb2b36d31a4119de66cae8260c86dc553e3cbb8c2f68f8a7ed72a8526174c2f6df4403482d99fc58a52a95988ee3bc61505b14bcdd3e41cff71f29caec8a59d3181625e1e323967120dbb27f566987b66ca0f1b45429e3b363da5e1634ac48d5a7697a06eee3f96f3c1b84f156a1ce7e6898e07647ce62cec7ae30a6370411ccf9425ca28ba68024f8d21ef59e5c44bbbb5a1bbcb86af45b708d4eac46ca5e500b2ca913a5b49b48c7262f8f50576e7147755be488d0",
+          "padding" : "3080312d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "c1803ea21a43fb4b140650b7d2cda104f0d5a80a385e9b7055c509065d9d671c3f9fb2781ff5ebe5b22ba213ef62d54a43e2250ca4b62cd30b692052e2a7484b26aab40a27ec3c714c733093246f3614792c52b487279df6a693a481033022731fbdcb52c6d6a74b3f2b020df806837a84c2c0cce9d7c6e39f24101069241b7fb432d00015631018a94930ac3ec8c609bc5da81689b20c93435c8dd2edfbb86179c310b83b08747948fe35ba3d06b96d8029ce7609d53795f6e931d5d326ab02a837e839f0f20378a5ccf083f01b39464fa165c8221388391664765dddceb5fd4da58d088be7632f00a889a654d82962d68e078d1379eaa055120dd00b7c9dec",
+          "padding" : "30313080310d060960864801650304020405000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3894b11225d3ba5f37298149e2f31b7722a69f3d948ff6a1e39cf651f2ceb2bb4557945f90a6353dd9b217c8fe5d07b9383b5a8ab269b488b6d73030dbd4d2699e079a1d29d34088d9e9db18ca3e95895fb89041c2c5efb1df6d4ce270a577d829216a7c085e71546b20c947aa258f8c6dde4f4c92d7d31f39a447dd96858817928d2d73eae1c99618a664ba48aa7b0e757b6cf259eedda2f070ff0ac8604ae9d9fdc347be3f6fc2844f473a5ee849c01d20f8b9d6f346d2bf87f812c901f935fed89f3a0248484a9f21816e10a44f35731bc84f87c4d4d0723fa917b3f87e4f77155af986ca2c3f8a2022fe88db007a07c806c60cfcd75d787799f8b3aae924",
+          "padding" : "303130112680070960864801650304020400000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "31cb40aa860da5f103541cffdf14388cd82b683183d0bd4f813d6180ab24537b78f048bcc2fb6a27d79a0d641cb78e904d993d119b0bff260f16af03e70a45d3288980593b1ccc39c105790e0759cd0d9350e87c1d12b448fccfa9eb0b84b745480651caea97bead57d1a6a8fc98c97c00b3daed4662dc074665bb724290603c1b668e5aeb401404a6103412088285a436ac96b8860c576b1c5ebb6ea3d0037ea0d0f4e016046a9cf4bb41cc880556d5dcd87c2857da1b62adc97dc424055027d219f4866e673597309989f17f5bebe89e715c14dc8673c07c5f324f4d30b3bc424b908fb7cb3ed4d499b716575a10905c197cfaa5a8f2ad0b7300f2350abb51",
+          "padding" : "303130110609608648016503040204258004000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "9236f2a93872e266cecea65731a4c8942b2f8397f1a844ad667d178566c92b823c191595fa94220105d53c64fa1b60dee3ae982ba3eb507b99011d402c227853a24f3470133caafbb9d3d09fb45e7ad3060b95f53655e55f3264838df3ab258ce5cdf22170f0bd763092be876fa2728639c9a71382c4e04cd142d468596c91e86fc1608cb37af190c3e5ae63eb5ffa8f73fff11ef4b33770bb57491ef850492caff49d40f51e36f55b1e23489663a4bcc22a5e3f3cdaa2806c649adc288fe5031f2b047efcd777345c7803fd5b7957f8bbd6c3370d074fd7ec06b8298b4fab6a49d565e07daeba504871c853aa9d6393a1d83c2393bcbf7cf65fa0d2bf50c204",
+          "padding" : "3031300d060960864801650304020405002480051c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "996476326e01ee4b1cc50cf43aeeb6cd5b6ee7d4d9a0ac4fd6177ad1cb7e946f05b1dc4ab363c3160238755f24dfa7b44f5fb5cceb3d7086a8ffcfaeaba0ad6c50a2bf018de4cca5d01d1db2f818c8c5aad4ebfba39c9a2bf72bd734d1a5c9a51a7d5a29cf8a1a7424121704751c23a40f2e7989b24d3e4ba3c55ebc8fc9df13be98ba653cd18f095edcbad10fee9c3d5cb524413c0b30d4eae9b7c3f677d53bd1268f9786e2f03e6f10bef39c9102cefb0d89b51564d109a6506f2d43604b9c57cb2f9f83add3e0bf3eb80a676f5f6171afe9956be3bd3ba1f7c3d10ea1fcee11dd3d67ad6efa62463d6e418219b03854bd38e1193f43b3b0e4a4de46162c97",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "2cbe8ec045e8cedae1543a7f3b2f0604a2a94ba7a6fa268c16ec1d84a3980e76f71465d0d214caa0dd8f0148fda5df1e4dcda71c0de219447a7d562f60558418b66f4fe12a5b57a2d0c88251f5a4ddc3349b9b1ae40b41b695bf1ff69fe190c60970d65ca51e3de57cddfb9400eeeaa0f46b5df794b18f0b17959275ac800f57d3c3b7bcac259e6bba5dbfaa68204a15835c72a7c3602347c5fa16c402a37b08bb978395ed03aea43a05f16f2d501d786b7a6d4652ff6446fe16272d59f473333c0aad54787e32bd8a160517404f16aa7817eb6329131c2b2242eb5ffa621a467fa5189c574e63ac3eaff10d27cffcddc2f8fd185ea6ae5e3e64388ad1038443",
+          "padding" : "30200500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "54b4355a6ba1d1f036c86c12a495abfb1d005084a55624660ddc919242382249467ab28d6e975a99a6314ba0bd9c0c533999b85d6df9517d95f18dfd47e878aa8d0495ca5a1fe5bee9009468f3b58272511a6d3503c757bfffcdc1a00e0d0ee2ba385e3aab44e91c2830eb232994b304de062da2751ee4d0d3ba9d8fd9a58660800be4e3cac831850816a183d0a7bf5ef07fe15416987d2a9dcc66dea01f620250eeb8adf5ebd4f3e59eb5c9d15701643d8d00b169fbefcd99df2f237f9f2e7a6b464fdb27a808341aaea2167861e442c69f2fc2c8dce3016e7d58e5463fb9b73180839860d7e498e83f2dfc9f593521ee5135f4a24a853b409c942b55be8477",
+          "padding" : "2e2d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "b2c9d522eab8e949726340434fe91a1934de81f97f8085289c508c99a111b84b1dd0aa2210d29a50f19ca77c2ed1a5adb426682ce9afdb18269a8ccf98b52bda2bfb0a62f7497832521aee1a22d22aab83abeb19ee3d9ec924728d237a88cf18748fa26d53af27935438fb4d6f6a4c43e5ec9462ebeef792df7871e64560dd0fedd94b0ab97f7bfe2816ab208e5cd020a1f5ee490de36087e69c89fc9867fd06610381cfb01184c6b835cc1222ab5a5961fa0dd0a9d7b8d6b7735dd92ed6a15b7694376b62e2cdcbe37cef6268f120d018433329a396a6738260c8e2f34da8bbe19580f1ddb0007198aa2d2d95fb43d96f25b3c46c196d5d26672c30ae830924",
+          "padding" : "2f2d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "0f9a528468ebd469bc9db21a0edd8dbc568bf0492e18edd1a4a7f28666b839a9e3d3ca2a38b8ef41422c0b40de173e2566e32285461030f0cddca6c73f5f03f67b14c146d52b4d03a83dca365cd603dc5668b5dc2bdfd704e23ced38c1d20ee6189efc2f4749c36009afca5362cfb00e5699d559b1e82a4455bd3bef96ed38df75a9dd1d5786d224657658f048b80232bd17f8e690108d7036349ca26a8b369d3c9355e643d4b6e88b27ab7fdaad0115824fc333185a3102fc39e20355e9845c9684813dad7e2b0be33802aa4b94bfaed0938ab0ab1a7cbe28df74a359d7f301e65bba1a8dda1d8874911f9e81348e92db4f6f3780361da79369c6dc773cf6c3",
+          "padding" : "312d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "b408a5f0124d71e810205f8c8618eaeff99cf5029d2c9c7be90a956467a8f3f6df2298dc784d228911342cd5a1dc52f62a9f8e838c3a60a1426f33892e98f7249f2945723a374901c8e4b21d1de9585ddb0aa55992b1d88e685a088e81d460daf72b04c23e3b2ba24c9155aadad7c737a1b556352621dd7e7b5197e966d8ea7c0c50586faf4182aa94f9051f3dcddb5f67e8751eb8dffa258a52981119670c85eb3b371a5c66d635aacdd810aed9a28b8e3d7a5eda1a4db8a857ef65a9b6e1190328ec09044ac41a38837243b6a380647cdf469d16ab0c7a2612200764b8241b0e984510dbde762f5b0a1efdb56efce24c45d9b778bc3b0bb4efe993c6e5b0cf",
+          "padding" : "322d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "11102d3fbbbcad9b9592df2e16f9ace9d47621a9a3ed195b3231f44ceffabc2285842d125507f2ed86035a06ca7172051c10592275feaedc25e6917fd1a2c176596d6219ae303286bdc4a337a88354e3d75031aa586279b5fcc08f74c7de335cc9261c9d3ddff38e7922471096daa5185a396e4d4b4c2010f4f06912e21fbd26e86b78905e10a3d2577e4ffb82d664fbd8293b28578813177a4bb169ad1fa1a1cf092ed87e8eab86f493e65ea7921fbc7f154642aa05bd14a0ca245892841f2a84c411dc4533a9a4795ef210fb97473e6223b6272ba8d26425471470df33b76ad84dc029281a1c3ca2e666e8901dcec12e78a2a2a5b04dddaa2cf475f5365a30",
+          "padding" : "ff2d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "1f56d2c5fe55eb054497a5a9d9c58f4c6f814d3bfe1b4fa5020aadabc9d77256f8ff14c2ece6f2434e703fb16adbf48f91bd5e6df505f2d9bde65496a82d6a5d0d7a2b1a1a5725f7cb58d1c2e7bc101a095fe3f59219112bc4c89970197bb7d48d5afd9a08f3b70963a0a766f1d4aa8eca7893c4e7f7f432649faaf740d36dd20210f32f195b2d085c7e294912cc36d35e01dcfce2c12083f5e473cb75f663de533a8b94ff55ef781d06b1d8120894144fc3e4afd3a8de523d902e59137937d53c6c535550b23ae3dd50da50c2cdcb73dd19899333be21c95d6ccefbacadce30c48f31e982bebf55025241c7cb509a02cb4c8572a1f39abcfd9828f57a6c3800",
+          "padding" : "302d2e0d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "3f4d732558fcf6434d2f80c7debd057da8e47f87b8fb9fe62b3229b5cfa656d5003c3d6c6b3b5db6dc2d348fbfc6df1bc483e9f5ed8a415e1045f17644842b96439c5127155ac226097dbd29c8769da7e485db333ebbb3ee22464c928f42f0a1ee972cff3fad879c542c066d8717bc9159302c4b6c2f5cb944d9b21d8502e9e3de6f6bd20b3febdcf8348e86db72d1a8ea451a4af54ec4e0a854225eb7006cbf7b02b3ed5bc5ec81e511d6eb0513617c1b5b9ac330f408960c68e3a2c04d6c9b953da2c50715d191a10739008056c2412c4ea2d46d6dfb68bc7df711a4d543bea6903c8f67f88a553154b64559beb8adad42fe6686525a2a4c8c15d1f669d394",
+          "padding" : "302d2f0d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "615c556ace09f24b725489b29274422524f6e372d385fcacfc44bd82d75ad6f27a9f9378007016617634502691226dcd72aecfec6b839de344d1c53d5bbbf54f93f1d510d0ab9cd1c0d5363e265ed0b7fd9b6de200d4422ede2c65cb225855045f28ea14290435f35cd6e2a4fe59516babd10577c3d690c6f6431a56c1aad768f83098b19b3756a732382089516d3424f23cfe142a199db129c9ce2e61dce822bda75c0dce6f59f7a8e71d43bb0319c373f860f69c5aaa9243e9a52f221430e5315440a6f6a7539c058281309d9e435a31b9fd34f78020f1874c66c7de0f670a31c98bab40415d1a4a4e5ad6249e12f9bad78afd17054576c740673100e71006",
+          "padding" : "302d310d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "73dc8c7ea062d454b15f18d07539a13d08f29bf7791c3fa626f579f7ec701fdcd89a1facdda4b15d808847c419c184b39b6a4fa54a30f9f5d52878a47453fcc7d0cb504d1cc297b69f62a21db59aded5baaa6c100fd31eb32e02450433dd2c3c6dd7b343653c6d171949f52fc963416700dd83d31f259c5fedf9b1cc1385dfcdbdba2538c20a8aab641a7d5bc96223e038c6f84fc8302afd2c9ffd298d313dad50a5a943256549526e35fe61488acba25568826209048856e65acf3c9e2eabf239f20bb68f2538e0c81059603e1b8c94913365adfbd959d9353d8f653aebd086d123d1bf3687c3f644fe1247ae441b235243c4ba87dbc33f337b1e63b119656c",
+          "padding" : "302d320d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "3d9ed722a84f0fa9dea4187d8f0d51b70dcc754b7f7f951782643da2b7b06769429cb6d9fd0950eba58b0dace0e73dcbaa2c1b8981fc5971bad5f0c858761877b0c0967be0fad4eacf850b296447ee30519aa598159a179299e603cdba8f7de6cef9f9953144f34ef5f8663cd4bae2828bbe085b35e8a099cebbff34d6ca858eb35aad31e1f38bd2724c817ff32bcdb7658955537ce4ba83de10de7f6cf9d4d26a0e06b522e8e47c3a7ef1b7807792f43461975e0304e65c40afe40de7308989024d9958aa7b04657e9dbffe35d9ac69ab46a7e1796bda54af5cc6295535865b6d53235c8779ccec52108cfeeb3752b1a57eb3e81761731339a0af080d128b2d",
+          "padding" : "302dff0d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "b32a87df98eb19ba1326fa42c78998fea218b9c50bd5858f474a14b324b34cf42c4116a8eb121e79379defd04c8faa876482d9492a8beb951bac9ca56c4610aceccbd803896437d5b104ee06dc41848ce5f6e79dc0ac71bda6ff2ab411b26cc070a17ef3760e6a415929b23323c488e710761e8cef9031ffea40e518c491c32185730a2af20778681c74f030ba9e3947bd8fd2331c7b4e73387945739645bfd767d7a912fba46bed4355ca211f6eb438c4cd3202021deee48cb88f83eee84a5d4763e18f3ff9607b8fcf11e42186505c9cd731e7f6a7a0dd30df61b8ecbfca1fe0a6d3a1908e6f8aab5bbdc3b02be78fc2636cb5d39614c44060fef9d8c5cc70",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "b720bfc084fdd3352e066e0597edf19f1faa271cecf4b3d21bd32964862465b66e0291d6f5f87342b9fba6a77cb9262fefffad07889f3ef2d49dceb6779ba8025b05b5aaedbc46a011c819411ac4c4c596f88cd421febafd9549f404b3ed8458303dfe88fe8724a9419965945df23d810c3a2db45f27643eac386570a63d6dd6660802208e9bcb900168802b3d1014ec39416608ecd2e304aed4f1d93ddc6fa1a51d3014ef604c8ee9740ef2bbe546f1b5c307f529f1ac4fb8206bd283e9409af446a4b34937447ff259ac3b9a7702a56c8e8a571fadcfe1b6d55fb7d1e572e6ab641af87565a05eb55fcade48780fb99c6da263ab076149a5d2d4c40a15644a",
+          "padding" : "30203000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "af7d984e678893167aab922ba9f1dea3e67a98bf1ee442c56388ce6455a8cbd69f0cf0a30e21ec67d4bee411577b0700887ca5ce5f2a2b63a026956a6e56676d385b720ad708c9d87fd72a12d2921628f4ea931f3b594ebeb6c26030d7945ff347e7f1b30a0fa9177fe7382dc6247d271015f61f1fb2d15b7477abd4642f64eb5f5bd7adf92ebaa5dabc6714e873a8f93ad13b6ddc61fd92e7167b801410e338ac7ec85838e2f8571be2562d1b56377bf13a8852e15df0ef5f5626d1891988a0210ff2f5436ee9ff526f0dc7cce525d9ca8dbf35e37e17248567b792b1d8d233a2ce4efe589132e58f87e7db6cf86a7614559d90bbb9b10cc4e22b9905ac191f",
+          "padding" : "3031300130302c0d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "2deaf754332fee96a5c4954df9cf4df736deded05cb333d4654563c73d3de5629ad8e4ef290ee992874f2757a1e0520cb233201552c4eaa3b81968c3a315235d70e013cf3c2dfa1fad31336d4adb1b4bfb027fe5bfeb6d4a40274920180caf5d4676ca1bf16e0fe3ec48d72f61b7b37f3c5ee04c2dc095ba650e98eeffa7aa78023351087d4ed55d286ef8506ca09a1ac472d44a7b540dc63818298379a0c86a44751ad3f51e511627cadd54cc9a1a5ac8ff4deb552378d94ec22878239109f769eee07cfc70c96f2a601f722e5634356bcb24fdff5db7a1318213491bf2cc37dbaf36afd1436f976612dacac6e15b72f980099b53b89f220474041a16b9a0fe",
+          "padding" : "30313011300106300c096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "574444942db4e74b6ffdef52694dce12f41a4473c8fd68aaf974816102fcbb0ce4153a05b9e11eed421230d313586602beef2d1ec6c74f91fd70eaeedde7ef827d1409649a3a5dfacff49c5bd6aba7236a90cd4371d3f029029a4691b1f2b4ec037c1704c9470f99220ab35bb5b9f9209b05cb90e7e09047c3e2df1c5e020f2ed228f135f49ba8425f4ab40215e05927ef3be0a502642fcd9f2483bcc8a474b46b5211960d0af0cfb591af6d91b906bb13ac5e8e7baf582e086afa9c1df050321ecf473b56f490a25d158c5a7fc9dc515d5c9dec911cb83a4c05b5501e0cdfa444e3cf5f9b632b1492a1a1766f23132829834fafa8c81abcf9e4fe760be7dbc9",
+          "padding" : "302c300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d12",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "41775fde269f4a630110839a8af5dedd25bca44c7268ae8fc0d5aff838cbc1bae9bfa0948f03c79309b9c0e0c92fc59f4260f57f8483c0a1a014a58542b04e37b235337325c6f5021a4e04b1759a72f6f43434d1f4392c5316d8e69274a1ffcbf18440b4c92b9efc7fa238deae751a6b58c0c4efd5305c3bb63c20f0d782e4ee75e33ef3c7f7df1048eb3b0412bf71915bd372e7792692ecf5c3ee47d71c728cfbbb58f46fadfab99259290f03f9c6b18169e5602afeafb50751f2367af1053b41ac8b1e68107ad466a384c701b5cef71abcf2814bbb5e9088e14205fccd13e1240244c182885df9d32d804af5c34657dfc76f0a27a04d1fda612afd605343da",
+          "padding" : "302c0d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "0d5a499955e174e55cc4129d72cadd7bb43e416f232502d89113e15b557be64484b7a9414fa854205ffd9c33792f02b13070c5411ed2e808fd0c1d70f4a971f0b9aa34e983cfadcb3f027b76a6c35dfb537d87572cb67e7dd7e246219c62313fab5fca5f021f91b64b3ed75e1c371f101c09cc95afae07c2d257b2bd8b946caf839e88078c98fc21583ba5b205e2fa538d0c7de3f6ab17b352938941f6e65fe5455ecf77bdbde6df263d067004d508a2e32b2dd08d4457bea716bff025b5f32c5e8108b045ceda87fe710fb816c81a00ba26cf6f395da75a4ffdce9f47e712b9197898a6aa53fd8dfb3457cf9e1992c7371d370b6cc8125cc05e738a5dfa35f6",
+          "padding" : "302c300c060960864801650304020405041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "37066964e4c35b0540c14716c52798189318c20c73d61078281d3a0213a003e60f1b9867f1b9a0b9725d866677f80deefcaa38a3bd795a0bfd00d5853ac1714147fb2d284e1e8b3213acb96f587b16b9fbee57d4aa333929ea3d95d706c0e7dd8a29acefbf70ca2b77f0340a51c5a44b8ab4a8ad9e125ebb3747ec975d0cbc4d093516255195323106d94703347fdab58d3fb8ec879b783ae01be7c778b2773ab4fb71b4922a13d5638407465bf2bb388fa17c5fb8218077904ca3f532c3a692ada8ef261a8fa5fc91119d5b69b8bd737505eb9256399d6eb415d3b9e7b07f46f67d976e38a6ec9f9de5cdcd240640437d20f5ec76dd4c8817e98b6735a2e253",
+          "padding" : "302c300c096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "65f9966b68519da57e9aa0e6e024704df5307a40502ffca09d99826d9317c34781f81afe459f767ce11dde953affecaee68f444ccc7d8751b25129e54a33d6703f69789e76133f818965d6c97257e0e64b8edf88a8275d58637ed00dc6e606a95a0e7b0062f70d1d52bd8e08b790eda4258a16a418cdeee2064f7273dadef468f19a06c3cc3d25dcb47acadafcc3aa4b61705b44eda5b7deed0bc7e42bb0746bbbad0ace8537682b79cc2e8c6f4ec73b1b1ffbe6b5d07e0a4eaddb3759bc4c3d33756614f54159f3751f38828828a1d06adaf4d9fc270c941ab37d3380c16aac4da352cb152b4dcce0a63eee0a84a0eb07f243597c6759aaf91aa623b5b5c266",
+          "padding" : "3080300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "24882eaa767b6fc594388da59d578bd83ea15e7c2a239c78ae07098f2ad45737b155a7933b98e02de018da380229b2f4649143a82bf86eb4c8b00dcf6418e00ccd9059fcd5665dbf4c065a90efc9305862913871a7ceac586e25634993f4ddb2af2e95992f95166e0ee610bf0b22397ae5db506db3113838afc59efdf7a30a5f5b42ae339f379b8862ae27067718fef95982408de7cf64ca35c5ff195e39a390e62d4465b4977a7c2f7545026f647007e9483dbc3e5f030ce7883e8e4379defedd5f53616a2cb2daf932a053c087cc559fbc477073db8e9aeaf3708c7605dccbd3b2df68f3c957419ae8354ee01f3671fc27aa17a80795d0b65604af0f477b7a",
+          "padding" : "302f3080060960864801650304020405000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "97fd91d2e281945e46bef3852562724a0fba617ad2282063c182d6979c3dc72989432ab0c3344af047dd81d41fb2abf6a00bc1a63baf1af320bbbf47a00deb2538a3e353cdf0943a6f362da1458729cc24ca55dc20497a9e30c7895c24c7a36c1e8b42786ce17458134a10abb81de6e14e6a349315142238a22b56ec2165b90d73bbccc249b0e1a1db9c05fa190be7228a5ff8ea105a1e1a40dfb27be77188ad83f77d399cd20976ee20e424a324046394c9c837c6912f3d23512376fdf846134398f0b9d6a1a65894fe9e9522248e399d6e787a889ac5431fe3a2ff5c6855f121b37815be35f65a9c724008ce744d3431b761f87cf84e3320e201b6364885ff",
+          "padding" : "3080300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "5b20dff0b9a6110c8a3b833c72b38d20cc86fab63d9f12a1a46641fa05f45df7cd728e221cc7ef4c59a76bf643918a680afe78253eb840cf563639bde8778fa287717e72f45d3e39d21d07664d8d33c75267d24b6bbfb40ec847aa9f9f45468f014e3d48de25dd735e3c9998dbb0b482b219dac5da971f424d69b98d86f22a35dc65df85f2dcd08c41dbdf65ad53c8210b56c65cd005ba038d33edecebc952ab07582c5e6a4769cf845f254774a7eeeea59aca728029c0f3d07aa44b30a6ddcb17c203f85c732fc24c8d3797d3827d48c40803314b8a9878973335fd827f040d2f716d9d30ca66df6e7b19043dc53a80f05c12e692aa6b3c4d79022788b7e5c5",
+          "padding" : "302e30800609608648016503040204050000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "36415113cacc680ea4cae62df22e52e420be4f48219f45a90a66e3f1f023a7f004d828bd0ae923ca927a45cc8e840e635b06019a146ffe81e1bd777f79a5bd23a0953d68f520315f905026c530ddeea6a8b7b62f559e208189ad47e5ad797df5fc019de29667b9ba8ad53661b5ed93d73ab3fa3c13eee7c5e75ea40c9d87c0a45ae065776d781a3d94ef9f5878bda1abe940d23563b84be00efdb5f68671668f44e10d560b412e17280f5be9448d8ff057cc077153625fe5243d5cbd4ee358a56f52bb07f47cc6f4d768543446b4cab1ed1f489263477917178f84670a8f1cfbcea97b94ed951d29209dd70ae905c8d795595c723753c9f6028007c3744fb959",
+          "padding" : "3080300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c05000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "883205afeaa96f27231b485c53ead58a9949a375a677a28c13c5e4163d9a9bf40589f198dbac53a58c6f70ed087bcb75780d5160d567d6b77d73747ff7687f6ce708b04197be7fa7c4cd87dbf16d2acb2693fbe75b3b5633cdc0079762129ac6eb7cdf292838648fa2fcbdc4363548f4059f6e96792b98a9a8a0411622dd185c0f65a423fc06d70c931cb288d2f3273d120c8000adebf277b95cbb42d125432ff84be24ff8fbd8992fee51757e9578cfe83ff0b37d4c4fc2856606a820d22d367a1fe47cb3e16954656778df08d1ab8f868639fea43596b45671d06510f5c53ed79ea6c918d015ecedede1f898d626f95fc6bfc5b6d6c81e9ef01faa5b56bffb",
+          "padding" : "303130800609608648016503040204050005000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "3fc36fc628b18cf13fa4c6693ee98105590b96da05c58de44cb14d6ee4f038c76a0b0557c6bb9c4a289e3442154caeb427e9d77abdd2bd3dea4f43db5d9e40d2facdbb61b2348291040b4ca18a4106d3c061a7b3f514602901e3d8680c81ebb52b4d4ada68d43a3a0d4f9d79f34449380254e265ebe0524ec60fc9f760fc4b90bdce7f2a7e74a8ee97ea8f0b5799f17300ae6d4a30cebbbd6edd2a41d8862288b37cac2a7b9e4f5fa3f78ebd761715c36e1e226156c05eb6dd6f9d67284523620bb938d912ca388ba3d9cd24fa354cba42be0c932b00f52e345c8c8e491cce4da3e1e07b9e9f14d84353ce93b27ddea1565d8381aadc051579277624cb3fe7f2",
+          "padding" : "3080300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "5b2731749c715c394b718a51cfbbca731e651ddaed84471177169fa7afef0fad68b0cf35416a94d912ce1e555b31218a28dcaa1c22f64577c7999bc15ae99b0bb722a84ade8096c49db9965c2a11dd2294809fc7a3437431708e88b7776a2d17df8dcdca1239d11ebec354b80a4f787d1a15aaeb504d9cfb73dcda2b70233a73acd14579c26d8b166e0dc3f4bdd1d6bdebe81f40cc998fb035c1081d80eaa3dec7ccbe3e5b703cf85a038a9327bfbd3c1f260af148b7980c8d5e7a026d3e5bb36789ef554eb245d05a40aad1d0cbaa9e43ba46c1122a1160cc79d44018982b69e09aa34271b42babe3546d1deea236527b49e9895efac1be13117a8719419bda",
+          "padding" : "3033308006096086480165030402040500060811220000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "4aecbf74bb2ebd634e398370983c147d012c4bcc697caa4a5485750135263c004acd2218a1610cb17a328d560a6c692bd0ade10a6aba6f348dde36e8a96efb3cbe9d0fd58cebfac5ace26698ab21b6b45fdc1ffb28347f29069907819987d4333af24736f05bf2953f42c8e79bcd4695584807fdba2e184065ccc51b345d064b26bacde9ee2482ca2cc81c47cb3c30a138c8be31af2645bee217310d81516bc64036a109f19307aae3487dd145d1175efea73d03c1d32bed7adc6c740a64e4f4c78e95f3511cdcb9007d212798fd09dbc90e0728381ae885076e4c3c545ebc5b67a939e55588e9ef5e3640daa28517ded7ae0c068e0fef9940b21d871728b31a",
+          "padding" : "3080300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "b61d251dfe5c1851ef8739293b0d9af8ab2a482565cdc3b43bba70db7a03a7d8878c372d93943f42674a7678b41ffc9089d9a93c7a8009b57b2fe15fe1d944eec7c307e2f79ca2b3cfe07878cad8b4d1f38baf181583e30d7b1c7189488b7bc82e0e63c2efab91fc8fc40733306ce6b12e0db3c8245324e4250a9a015c221561178e54b615396892415fb0a9783538cd4bdbb37ee19f10f527165cd5452cb1bd2cf81b672451da9540e36d9d32416bac5b9cd8b1af67ac4c12dc0f39cd3b99648a4fe7d9e23b75df6838408225bdcbaccd80964c13c91ba8c25f5a0f822c5d03ae9e0bffd3324028d4688b2625542ef8ff54cbef0cdd1f52f3ffa88326d1659f",
+          "padding" : "30333080060960864801650304020405000000fe02beef041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "326febb57eb76b58ea5a0c873383cd14947f0c39be3338690c6e3d1fed1439278b8ce352b9dae697727037affff53350fb57d4e83347e7aca5a86b0bf4dd2eef88e0f08e0b6800021e310a3abb6d85cb504c7114e5987cd3ce39905b1258a3fb0c7ca1c4fa6f540406a1890866a635dd848919ec55eebfe1917afe3ad47d2ae27177c2a1cff84a7519f17245a462c28ca42fe4980070d6f72b52be443c125db095344b89269c8166468b08ddd52896c0b590ce6f3b4184cbe53496cfe38532b18df4c5ff021339e9425e0608e832b67dba265449de2d052adc077f25831baef3f7cb8ce618aa8eb89fe081a2f57d9d0f3d8a9c2010ae32484955bbc28c452970",
+          "padding" : "3080300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "ae2e46a32caa85e7e75931aeb5f69ef37a0e6e684a59ec058a48a23bdcb1a0c2186570469d7c6369dc8874e14a25f9b68d6e779ff1a1674499fc8602bac5848bd9f0cccbc7e5b2cd138ba6a02770c87ac82c3fcf60e2b124e48d77c04dda8a05053632e25f2dd95a8f7c79f152a746346462275a8c779d515dba6f8563acf7ae08b10efb95ed85be29281291857944fd74bbf85f782701d7e73abe9424756b1281c9ae3cedc38de4906061b983752d481b3fabbe513cc01539c33fec9f3d5e79b20e050dedc5f975c696607ba64d8e623b717d8fffd41b9d28af51aafb2efe268840d886fad2419df9f32b4d493378dd87bbc1199f86438cf74e0a0f7b9885b4",
+          "padding" : "30313080060960864801650304020405000002beef041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "4dd4bf9a57fc71a32ecb68063a6fcef1aa8ca1209124d87ab0ff1a8eac2fb89270de10f484fc6b385ddcd5c84049df9c85fba998b33d777a6171f87c5e60948fec10ec6eddabefebd69bca0d0dcdfaa2a3ea65e9ccf55f3c5a3c2f3c794522681a9a3283aa1d03c5b23841984b68e9435dc79e1f32e9dc392a0a4657be8832c9de063eefdfb24fffb2ad11ec16c17607f4fe9e526cccd22d5aa72b11bd2d78b7e3606c95e6a5c2edf8648ca7f27fb6a370be52f3487a7e5db564907f7bead76b0abf8f036f3ebb8a1163b277f66f50f253fc0a98a0eb6d16e76ffda6ac67f637c6d56e0fb64ca53fc036e398a6b6b265ae59546e6b987949ad6cb3430f7502dc",
+          "padding" : "302f3000300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "96225b7241ededebd722a0c68a46ca99eb081bd0f55eef0cc4595a0737a59009b7ac19288692be4d594fe166ee35dbc7c34b5c4f8cbbb3ce3b3a10b553b7671932d401bc2b7158266eac9e5e0f0e7ca6bc2d0ec0d6bae86104de02e11dbbbc652acb8f88f3122b3a1054d7dd37c94cee5ea82db3b145ae41c5bb065fb1b8eb6d3a706438a03905c8088bc8b8e5ef3cca9001c833e4883ad7e35fdbe654f4c23580d22d533d7a3938b16f0e3d457c629118b3294e4686ed4c6b703bdec946dabe75a0411a8cfe4877f0d7b71c6662d855bf8bd19c61b57ff4e61d756aec4f1a54dba26c0717f83b87056c7b982766b8c1cb407022d6b6c02762aa2ce02cd3bc9f",
+          "padding" : "302f300f300006096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "26a73b76551879a9188213c39fd69f8887e00f5280aebb87f2e6ac6049d938b41ae616971419a7abb81297a250df76d101c111ae581b1104c2c670c865d32081788d9934cab185ef3f82a2b63e4189cd445750c6f0782dbfd7e9cdb37d781be06cc72a14673e1f244fa3095028404090d2954e13e692b0e624d2c5cb663ce468076c08829a3e51e8b0a12632e71193f5c67780db620a2fab9a36f77916b8639bc82a24ad8cee73d15c17fca3443f37fe6f4a84fcf8bb91f0dd9d371b0f390a4dcad4538cb54919da6b1b584b233599f174827fc541811ece4c5860b81d7c75c859cc836cf28bdd66097537f7e847efdc1dcf03bd4cb2284a02aa172beb52a95a",
+          "padding" : "302f300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "aaccb6d6e7916330ffe535afe9afe3fa39b37a20008f62168cf34efb4329a31fac1a47f0708846224cd3ab7df38daa71a8441c0b1d133f620258cf00c91858353cb9ad6e6892e241968d9e1005c87ce4811c73059906711a38618ea1a0806893788c6c486fbe46f4e2011fd7c61691d68a18b01f969eefd78498076a458b7679cdd76069d3b17777cecfaf89dcddb3bc7e78631d5be60d90b12138bef2011bce1f6c033750fdbc1366ba1e1283b9513f38445978793889a8621960cf4389235d46831294a5b6e82c6805f373b4b9eb4f0edeb777d2bae6d89de6e7b820b69554e941899b48195ac8bcb37af1aa4e39f0e1ea5b6e62201e0ffc53fc2e1829fcf5",
+          "padding" : "302f300f060960864801650304020405003000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "9c95c7d4b8e9bd1719460e08d3ad1842fe43e8397c1605e2e3df9badeb228eba514cd2c5f6a11cba924ec287ab164d41a525de11c8f459829697517d271444b5d1a9735fe0a9cd46c82123caf063a7a2c7eba7ea2ae0e93df04c7f4cab38904ce394d1f12968796c6a744535e2efc6529ab18e747992db7a35c27e556ff0d897f8b1950bd50f333f9f8add8ef1fad5ebdf38cb9aff563b0fe7fbdfed5fc5d63c68060b380f5c792ade7d6c5295c1f25fc75f7207bc3624595669ffb20282d7fcbc3b24b8755740e41bcaf86b974a7aae3cf1a7ed1e7312449240dd80ac1715949b7565ba11c2adf30501bfb0d386b5dc91581fa1df31f5b26c175c7c60fc538c",
+          "padding" : "302f302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "b5609442da89be47095a0d9f5721b3c57382025d020b8fdafc0cd96df60f9e90d8499ea2a2a5c715f3d30f99af925a006634a84ff0ecfef26d959ba774ac9b26180dd3e2dcaed03ebf2922fcc33fbabda261534e5558a403cf0844fe0e715afe7059adf9888668aa9c34bb535d72322db8cad93a0f8607e258bbed3bd711f8188c380fba8367780b06f60874437e4249c869535c2668012684a27b29aa1cc6fc15b5268903227ce9838a437efe5073224fce926e2c8e6334aa1fa057526b566c06f685338692e72ac7613884eed1526928892a849caa3ab798361ae2bde4348b5d09d13c4f5a479a94e4e4f3bc84be2fe0184fdf4fc55494312a4f891e69738c",
+          "padding" : "302f300f300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "6068cbb745926f80b192d4f5cb2b009b74d4337200ceea82e26bb21a3285de6733123c4dd4e4f47f34a0bd05c310b4d50ec5f54cb9fd13d0cdeac8a31073c01e1fe119474c97b08164c62396fc7e1284e8fe97fd570bab065de8ecbcfb88210d44fdafaea7af0bd26c0017a96ba9152db828c42f895f688d92db2d7a51d966c5ab7810062a913c447f75d4e5052da973588fa49e990bbd88ec2ffc6b571674193b584f50093b424a173c253e7e711d647a190a5a5a7dfc2c3110f11dd83608b0fb7cfcc638ea97727c9b185e28c9f0bcda32a8ec43abba401c519e050b7819c09fe03204aec7216bfd41e389877a33bfd18fc6a08cfa815fedd5f10f4b87f833",
+          "padding" : "300f300d06096086480165030402040500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "92e22a0b52c4b83d9a0ea055979fe3e19984aec5762a639a51d07de1c298ec855b349ed5e8b28e0f3c583a5893c4243653652f544659ba251a017934c98696879784ddf04b9c3bccf4a06b0715dd6e53f762e9b6dc8022178600d88bdad727d8b3d7e72d967d4e44b5bf3095db626ae06e784c49f24849041dac411a42e20a8ac96ce77c31d82ea17e105530d522978ac1c86c652e90481af20ae5449f934eb00dea92bd1665e47e914391cd32a01ac499277b18975aca6e6cdc0e8773c524d8375ded14a85eed50b957f152079297472f41889a2acb5c510cf9030250d1d4799ff165ecd4f6974f8d5094d272fdf1445c84cf27199b7cd33179a4ad14b73398",
+          "padding" : "304b300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "313233343030",
+          "sig" : "6cce3b4cf07ba332c27e6efec7c1efc60eaf3e021165377a15dcfb6bdf76ab88da2ef3cad44a695d8afabb55e81df29281f85924d265fe18a4ce9b083dc76e070d795378ea95e50ae458d825b824e51fe264b6203e1a17981c69035a3a32eb0d24872a7a9264cf5fe068c1b3b24bd95f2404abe2487683f742a9196187ccf9eb606f5e951f73d614fb99151801794d2f69495cf1350a5369aea41da51de919dad4aefcefd98524b580e63510d6d75b46d4073a3a7d762117489b7e228bcd65dc49082171d54c8e921912f3caf724542a0ee6c0e6602d5c9c9ce5e5ec2797dd77ae8d76a27242a4a349c2f2b87f94584d3f9c470f9a485ffe9aeadeccf6fda97e",
+          "padding" : "302230020500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "313233343030",
+          "sig" : "085a664ebc3ca8149ab63ff2a46777a05e1b7162cfad4a300f5dd847ee73c33c1142cf485ca957b3c1b3361734a740ab9c4f050e1eec64be03a5d11993de4989a38e7fb9f9c899d8a929981aa1b32c0cbd75299285fcc758d95294687f93f1978e843be1cc5caa76a57603bb3a57fedf4d4066c532cf45f16c57ce0e4a628c3ecf33c0fedc77b670a33b9f71afd59cb725b1b1f0ff894c8c6383788e7604e531b6a02b917f83bf5645626dc8bbbdafb9bd70b7412a440cbe8848c336e0cdc3f94fc9b07a8ea34d50f6ac4a182cdd61bf20e32af5f23a4dbc0ec705670172be1a9a8352facb1a7ff4cc5e021173bf7f5964749f90a234a5589bea721811af8c8f",
+          "padding" : "30233003060500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "7d14a4c74fb25ea6fb4db19b08d8cfc03b9a20bb2cf9f8bbf7441a7c492854b5190688548438913ff506697f46cbc1ae6abee8dbc94a0a6b8e4d905cb98ac717da0fe81a8a8b12781f26e6e2509a6f4fbc283a2c2b938c267e601f4304726d43960ba571c5b8ae4ac1f8d3968ac61620632b72691d0bafada5fcecbdb5aba56bbe524a56187c4dd9655520bc145b8922a0edf4cb10a0285c65ac96bf22da5bf95e4be37860456417f5cbadfecb4730cbe9844b617b1ce1865db20f622b4550632a0d470703c74922967a84e311634f4936c0f6981de8be71ed7eee90bb6008be2fb5f88b5dc10d9f5721f81b1f7515099a8dedec08d61e84a145bbdfc6e5d418",
+          "padding" : "302f300f060b60864801650304020400000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "8b77e3df0c4988e78be57be796bbec888b40afb6bca4011b396f1fdfb87106a62373fdbdd038bd32fc50f375ee4b97a2f03fc9d866986141e7059a6c9757271db785999051dc71b84a10f15edc8d3b7085ead49c492937192af11dbe80a443407e068354e57ef7bcd436febe436c61140a724387a6e3d67101878aa703394e9054c1c14e01d2fb4fef803871c7e3d4a16787294c76cc5f1721675107f9f15700350fb0df77470832d146e52191abedf817d8165e982c117a40c6acfedd3d3ae075f3840ef07b9c0f281c97c1e41a590356f8ca3434c33c97df9af8fe155da43085e31c0f2c6542a778319b970e416da39fffb3b0c7d8462b219eec0548ace4c6",
+          "padding" : "302f300f060b00006086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "4748745f6c5bde511685fd4b1c50d41e78da3b3c189f66b48390c7be0e166eec074771bead431b40f4634378f82e1f2f858c77a8292a7cc3d7cdbd5a0ab17ff07bd9abadc7c5fd269d329f1b0ccf4b3e1d16c9df7374502c3b1dba57d45ee9e58bd725d5a62c8c2d62b5332718c2d3d73384f73a89423d56247b518b6515780d3415c0d2c31ae1e7f7300401209a8f837be839b8cadf0d104b1c218a0de3fd16ca74174527bdc37b735861fccdf3b7c2601ebbfd47a6bb8b970cbb53d4af55df8ed99d19605c4db379c80500419692c3e6091354c9b3ba4beff13e7c946ffd128cb5d71172562ea734916e6059d5b9eba540ecfca9495401e6579e0eae3d00f4",
+          "padding" : "302f300f060960864801650304020400000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "313233343030",
+          "sig" : "53e3142909e9a9c048b7f0f95a0e56424b896db0c7135bfcc23c49e6db250de1884312ce2b144977dde680c20b6652fd1e54eaaa84c673e039c673ea30e0f148b0c73da19f8a75b94e7411cd02a994e7b184e53426763e7c0483fa7be78eac0d4456109081dfe843e07084ba5f96c28c69a21e1468657f15be08e234230251b92ddcb70ef76a163237b85483046450bb9d831fb053cc48af052960120100d3e2bdc02bab4f9e099185a8cd060f8677f3b26617696b9ecb53f84065a21fa41e6695107b13382879fa323c0a9f35594fd40cbb9ff9a3984a78e9a643e88245c57c5372f3d9c300e35785ffd920d7cc9dae26b9cedad6975e492f484b23cbf1de94",
+          "padding" : "302f300f060b60864801650304020405000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "313233343030",
+          "sig" : "602943b9d26af2a741f6bdbe8553a3975830ef5f055391dd8169b061567a3edee3dcab00b2c274f233e0542c040cf01e50326619942048453f04081de1d19394a2db310ca8088d75f2b559ed663734eaa3bc6fa26fb8ca1a08d0739d0a426b29fc25023a9f110f22c04f80cf9a243aa37ca594c539091a2d3460fbd5e91f101f1773129bc489a780cd1049e7c55399bfc996a8e9005d191bfc8a605fc23db5106670b95342c1e4827e1c02b8d92db79960fc23f650366747be30a082f2c7b90cf15574e52633c0605ca459ea864841069f75833a6cfd1be6260c0fc1e4f78fd9420cbde31c4c7f7e76be5ca8bcee000ed44591b160c553ab88e2cf4179ecdf70",
+          "padding" : "3024300406810500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "313233343030",
+          "sig" : "456f7c00d31ad1ec7cb488711a9a4224c5d66b15c9b9a521ea316b94f2341561aa5d4955db7feac3bcbe4347ccfec2ae34ba7779c68e502d4ca9963311b48d3839510c16b5581b69eaf3c83b2430adf6ed6cb2cc5860a7cbfc063879b9913c94d08418cb3d9215090feae09aee52bb0fc24a515f2c7c6c380acf9d027f615ec48704f616bf0ebd7230c0b7d31231a919cf27e1fc7a4f36abd93dc133ab75e9ffd7a655eba1d0bd07a4f5308e047eb421a14908a693394c8eca91e93528f992816bf44b318e821eba1e4bae64c02ac588528b366bf1ee1e9c93d3341a3946f49e98e14b55ba8a5d120708c712b983319cfd8793e19c5608c9a8c511246b376cd8",
+          "padding" : "3024300405000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "1d3b8c10515753856261581ef9035a9799fc1adec7296dee7be49a3cd08ee9fe2db6addc5e3c5fc5dea8771f54b1e334a5364f1d3560f2dfd7d88b9ad4670e498282c8fd10f9ebf6ffdf7e3d01e467128c4da0536729169e4583ac6aa472cb4171d3448140299ad69bb8b7276a1f10e85f3ecd66f0cd94b850ac77445d75efeca7bb7e341623e447c3bf86da2f81afacb561b2c0939db30b313a302c52f8bea43b8a85c038d3343e7cf58751dfe19bad35cccf6263bb8f94ba81cd21885ccac5908f65d4b8eda969faeedeecc54c71698f3063738d7b107573876b1a25eee270cd10b44ada6471996dc2c09e95cd39cd2934a3d72f18da461e8a1d0b1773b419",
+          "padding" : "302d300d04096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "2680b2a4052b86c8ccddad39e73b127b13456dcd53e7794dd42f15c5764084f0d95ecd4aed1495df89988e0de4420413a9ac9da93c9bfe4992c88c480b91d3c4e5d560dca5ea9460cffdc4f89e6e27c44e760ab7893a38392197b762340a16d8b14a96536b1115656161a77c528bae274bd3a40786895be5bee47fcc2bc284e8813c40b3ab250ccc6f85cc1625cdebf1e7854b448843f7e878489c8965c7f3ff4f44110cae9eb124b4544b1cb64dafab668d0473734bca208ccde0aa94befb5ae7ca50ebd42e66bee587435912b439ee75264f60c5082c2060022be69db6d3c0fa6d4d10097d1cd6a4029e5c927e023fac65631091e6d9443afcb79b85474c9d",
+          "padding" : "302d300d05096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "46333e5ce80dac1d8b3ea04eca470613f7411581c712693852de4b8f2879a9d99777a6c2bbfdd04be775e4ea89c181c94fed707d99350c967d0834350ced2ca3783e975672ae7ac395f39b9f8f3060a9ad88c25b81ce182d9ca1b095e34992612a38aebfb43d94a8f308a2c228c5edf1bb1b7c99a242064240826968b53e357dc46f46780a7c770047f905e82b22c0a626da2631a08367905243ab7eb506f915e8351483575132c059b43c079b05f0a24ccd81547801b5e7a9c377fa34343c509be5b7a243e9b47c4ec824bdb9481407a8d251c79e1f046a2f5356bbe08d4c1bb87dc92361d5a81cfd7a914f0d472bfc3ca1763e89d0be797338c09d6563d556",
+          "padding" : "302d300d07096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "7f99343e2ab569fab355972825a87080b57746e6b810b07e564f15aa2981c91932bf39108cff2538bcd869e33854ee3479f3fa654b2b93140fe69df27ac661970df9661c6ba3ffdedb3597ddaaef59fa2d1dcb41651fbcdfcc3bc9928fe0648640722e134200aeb04521ed6128d7790844331afea369b532834216a9a1a6e4750b24390f39e091ccec7e17cd8ebcff83ce9175df2538107ce86db0ae5b44163e3ca4d7520e7e5a0af5fdb3c43c2977dd6a09d2523d72f61f4184ead70d6578f0dada65f28c5f04a4b16148d6b2a6c0c06ae9372bbd68ae011923e6835ecd5c9195cea1eb5ba30020f11d80202f9fe6f615caee33b18c0ebfbc98d6143f8f2d34",
+          "padding" : "302d300d08096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "40f5ccce4f70ba22ee1471ad394e351c4dc0095dca9ce9242215aac8784adb6e7cc353846487a9260eb1d01912ec858a1319f085ee48617573f1477e3dc9e1ebfbb7f8369f17da625d2c291bfa5f4d5e595cc5f0b51d835cbb295e22730e76459326de7be7fc8914558092d7a91de466e2f31a77b16ce00bcfde4d8d9d160b5f8c9987fe792da98e356587d574472dcb15fbe6286b1813caf5258d98739387bbb3ae59272d59f997588e693865c3109c1b43de8fa52e43a44087692fc263d0ed4d6e72f3c1febb529ece3897153bd8f67a9ad2a8bfec0de6db4d3e7f294a3dc8de22b78b4c5e82e36e9d641951de5c1c83b86368f92e5429afe3f2478ae7171c",
+          "padding" : "302d300dff096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "313233343030",
+          "sig" : "203b76f479e7f4910b519e1a6b8cc4c113ce838fc09fcbd9e03266e1e3e69264c622af09562ca6c985819ece0df48fe6faa580dae52fff36c052cfeeda7d7d0cfeb2eaaff7fe6b015b82e605ca2f75fc13327db5a99e89a96a7c09e79f73dd3a0f1a14a19ce248698f12d48162c4008c253dd6932e9d95ef9fc0de06ac3cdebdfb71301097578afa68a783ee902c7673d72cf4163a13c665a7d73160db15ea239d645150ae8dcedb7b0f1e4566639eede7e3953fb3fb23568cbbff07f0958ebcc5417a04f6c35cf853ba0079820d22fcb14c33ec5a59fc48430b1e92d4cbd948b17675621a092a9e01e05006d6ed74f1bce336f705a02b804a4a7811e2d0bdac",
+          "padding" : "3024300406000500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "313233343030",
+          "sig" : "010cab7807bcaf7a5e9e0d82184c24af79c838663a8a6c5547e5ee77e9b433c2b4b4124a863ec745fc46612b54a30653063142ee1bd5849a558d518389a0bc0e920e16482a15d2c2eb2f531f8b3708ede3f4a582674d45050c1b2f65ace1692f346cf38d3ad1a2db602509d0127fe52a2a9fd2fba7af62ec69d57dca87da17f70cb4af4671d8b4605acfddd95bb49b23e379f3581d848280d1b4c363842d1875e80a9aded043b66e636e0d45e58a7a3c4d3d046c13d2db0158d52fec634c5483f3e864988f80200818f80916d787983851ad3de9f0d2fcd063263e3ff2970e6fac058ed5e91fa99bb81edf1dd1e9dd704cf8f394989337b748c5adc304614904",
+          "padding" : "30313011260d060160060886480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "313233343030",
+          "sig" : "5af633ac970bcabc50e4202dd2fd0fed1099fe9d0d0fb3517ed92703bcf6527c827f7e2ff71f0804cbd369788562b7ec3c00450e86c95e03519f3489730091257670c3a785ff4729e40412f9cc7c4f2e42a5deed3f5bae02c929491e4df1e1996b56d8a67f2c29af70ac56c87801eb9ba4bf43d353bf4b41b3bdf9ea9e0e08eab61cea2deb9c9bdb3750afe1ab303393569249a024f1fa2c60e7913ab124dbc9dec67b900ab1035091c75fceb6d45e498144b2441b96fd0db1c84cc1d155517c5bc7cab8ef4e4d76369ccf7c2ea7e686df05039611fa6856760c56457f3ff7c7a6d218ce6b18938ad2d2cd9b48e82e7fbfb3fc9718b00f22617a8090850de678",
+          "padding" : "302d300d06096286480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "313233343030",
+          "sig" : "3844c68a3e1721d699de35121c738cd857f1fb64e94594f4e96991a3697b261fbac9977c17385502b7ac536a34031eb77d7035cb5849c501e92c9b3f24350b7089b0df15e8daaa4bf48343ce5fb66bdbb0b1ba5489ee8b04edc996293f258a130c516b00f4cc8d0c4d96794b48d7782cc4579b2502ab1a692a5db2129efd382f2aabb26b7bc845303b9a6898dca5f78b2b981d8f01fe4fe8401f672682b1bb7edb80b8c4e3ef9bb645777bbf3aaf75f4e868f88d66aabb4a0f4fb3d6abca7378689dc6b2fce7832f77a27400a56050d2d84b38d866db2c34264236190455cc6e6b6fddad1afc7515f0f5d501af63732c34fdc8ecb921db54f01a248fce06acc6",
+          "padding" : "302d300d06096086480165030402840500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "09ee17a7a33ec5483b434de0ab4ad614648c1de9527a436ce118d052697698ff21f096c4d87fb96f579eb099ed52df93de4e6a0f077c8d027d89c51412d56986253cbfdea175fd656f19d345bf0507e825b91b81536e51e73a569d6174a5e2409f213d0dabc090593572ceea2b98ff53d4be9f3f8e560960a60e166da56af88a24f62913699ea8fa68947d51cf543fc86df81454ced19bb72044106f51515d9b3e8972bef606fe17dd2afbdb198ef147b29f2ba332135b373d55bdc08fe78946c4e9b587c99d45ca54020942f79cb7b3f0fc794d66af07a72961ae3ba3b56b982da0ffea0db4028fc21baf50464b37630885d621a8ae17d9e6f44b3ebda04b73",
+          "padding" : "302c300c060860864801650304020500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "068b437649eaef8cce780c2c6295598b1a55f0eb903a2069aae7c5697eb1a643cda83e2691970f69b7ee9fa1d129eb82097d9d01d7ff7bad9580559f18811d9b9ea0dcc62d16757c73e1d3219b58c276c5d1a887adf6f3826c333c5e42887551f49d08f6bc95681f835ce520d2fcb3e043c1810eeb721706e46fb57e50da5c15bc03bd6ef40b2651c1bc5a55554be3945f485f699c3c27cfb953d3288256d663d9b1075cb473fa9c70862f35f78e19e1799ab19e4098e460d31cb51f87e32ecf5419ea4cb2677123130d8497dc7c03c8a5033b19d5c9b7b5608088a700cea65dad9955e97559a7e55809ee6acd22d7c291bc823920ee1aedaebf02d72845decf",
+          "padding" : "302c300c060886480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "71ecb662cf7b7b9d1199705b407517a0b5739efa25d61328f640c3540ea04c93621010bb5758ee9449c7650ccee1e3bd7adf7d4bceb6bd66a4e81f9a703738898b5341d8eff363a7abf114067c6ff6a5efb0ab50e3daf4ee3bfe10b4239fa6289ef58750f309fa192789ec6ce9e311ac2bf4954fdc810d86d8fd20322481afc6be18a06d40f643c218ad4bf73127b696d3dcf659ee124839c6d3cecdebc9f810ea83206280d7f981aab8afe30b6f422b61b160f297f2b4ce8ac590c3d313c5a97db8598d6bed63d875d48ff14545ce9a4e6d26f34bb0b48ec071305ad84bec268be7154d63945c51612d90e76b82c5838a0fa73aa8bbb763a98300a56bb83c36",
+          "padding" : "302e300e060a326230653033303231610500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "027dc14ccecf0f4b53628e69c0554fe6c3cc4cc0f14746b88bf1601fb147a91b6e1fe47fd2a36722f4c7bcec8be56ed5acbae1220b4ea432144fcbcf51fd8933be3e759d28b6a8de985eee560201ff637e39f05ee092e94702cec19a0bd9655f256a3a681b6896208ce5720c2fff59dc67d1ad589b6bf386b07ccefeb3b25c26d35eb9587e86987f6d6889fbd5d3633ea124c8847016d3429d31d1c9fd7a6f4b539aec19d0815a2c4e50974b1b548fc791e51529a1ea6584eaf588f118cd49266810f322f0aa119358ec68ca5a9e7d9628f563820ac3b7803fe0e83019c87af9659729e9fd2e09dc57c8cb12d68aed4780a9878d8e45913d947b1bfe39ae6e45",
+          "padding" : "3036301606123630383634383031363530333034303230310500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "313233343030",
+          "sig" : "498c6f4fd92499f8edf95ae6c19828e0530a7d1c5c389f029317be8c619b5d5f4086ed0e1ea231de10763b4793282b4d5ab086e26603708fb3c94cf9ed9218813ffbee4fb2fe472da21511505cd53b5ea84053b65b58897bc5dc0119ec9fe214ebe825aa052758105c3bb58f729e911f4dda5191e3825ed224d2f70f15febc752fbdd803604b1fe9437a82ac4de575fce35d02081b20c13acb6da46483f3755e3dea81d47eef789d6c0670ec09f6e1b1d16dade6743db16356b8d893b8a6a19ae4af6aafaee71f1e56e7e80f41757b2c374fdaab47c2141ba8179a6ccb53faadfa08b3d6e405907e1acfc43360bff0a298c24bdac7de35e76399a3aff93a4646",
+          "padding" : "30383018061436303836343830313635303330343032303430310500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "899200e00cf7a287e5fb690f1a98db20ca02d4caf704a01de5be69766b9742a9bc6cb756bcf675ddc06bfc2b82807a3dc801f0c0480d5447c391c12ccb9a924323bb0b48fc89bcc9056385fb27513c7d5c8d7d02b824129cdf88bc70e2d3e4891976dfa02856b2367fc2637085ac25160d20937d8faff4fb9551fb2f529729f8b7ff2bd50aa411f74e65a81d367a8b7f0e2cbb4993fb11bac5f45b4e60e427ba8d59ae6a8d8b208a6b1fdb20012a5d6be8de0e05ab4073e59475bad173b8b823745415d4fa8c451282f84fca477aab3f2b5a68682e60c33ae7b087be3a5b3a50f8d978fb0190310fffee76cd81806705678bc8e4dfec39167516930e122adbe4",
+          "padding" : "3036301606123630383634383031363530333034303231340500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "9087f6decf72fbe40bdfe9ba5040f6fcfa050164aabe33f5dd6625fc6633a46b24d4ac63f795027763bfa2787a2099780c13fdde2146a9127c85fb3214bb1e788f4755fa9b3edaefd22d82e317c28f34b9f930b436cf7c45dbe884f61c7517af883f5daa689a08f4f2b9713b626520a48ba23c9a221f3522d8ddb55430088ae3ef6f410f1c34022554c0494ef91bc476045e25efd6de65b511a62837fb5459e471081199358993b02b120db6cf8fb505fcf2c0382f39df46ee4bb99ccde80f78dd7b9f008aa15bbc3afee943ffdd791441de04654f5d1af7b8b5606959e279b336434dff7634604e07fd0c25d6910f24da7f1e5fab72c1b555b424663a3bf9ef",
+          "padding" : "303e301e061a36303836343830313635303330343032383838303830383030340500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "313233343030",
+          "sig" : "7836fc6341cdd9127267e09075d6bc1cd8b8b643552a095a87388014188b24a646701417073a0df53f2c04d57fbe542205325c8661cdd1e7580e227586b1e706e0fd4d0e28e32392c75f8104eb1ea9e34a39c63a05d5863fefacf1f9e81cfab1c3dbd0a05153c87595365639c1f9202b242dca3d5f1e022fbb5ef26737421a4a960a28bd6ca9d050414120e19577b8d75753a4a670498d51a9733d5ad23e39680cf287a3674d4f45c205e7982e70d669d3cd74a7292242d8c0dc7ed8e60b1d239306b3a36501a7254edd0b4ebcfe9dfa172f5e327fdaa862ea5d79e90c5bf7f6b3810838c2d3a41981f89b50ead4b137ad48b153bb73430a4990214b0616f44a",
+          "padding" : "3048302806243630383634383031363530333034303238323830383038303830383038303830383030340500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "166cfa96fe00046d45546b8b0c51e1998d39781f1503fe3bb3f405bbd0ff21f5398d5365f07767bbaf98c03329ebb2f7c7bc19d53908a1db8b5820dc50e348bb53393b2955ad5202b85aae3dccce156923fc9ce41af38dd81140c9642a30a90f0933e243dfb148e435255d43421663057af8a28d37f51e2de768c49758ea8e09a768c9f5b8a06cdc8c57da06aa95ba1a2a7ca562d131d16b4f182013b93205502dc447ff4b1274e5b3c1f560ab74e0e3f38bb2b3d2fc9717a8ce5bcbe0cd2fc890d82bb76d28c67d371a7783cd72721a1b4ce17a6a0e4f89061c293ba3cad94eaf2564544ea8198d4af9ab04b1d21ae4f1f618e0f633d0dab80729ae22577abd",
+          "padding" : "3039301906153630383634383031363530333034303230346530330500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "1fba2604adaf2f7cf9c0d4739b3677b1d8a00d4d7cd02519714e9c12881719853427c79e6f10f385c041d442a30897a917826d0a6b9004d559f6ebd119ae6c77ca17f710b963b7aadbf4e0db885de2cca48de8297a64541961ce1fcc0429fe213a0e9e6c59a39837e41dcd7b4ffffebee4736360947ae22eef06abba920791fe64e0b1eb7339946e6ac2aaae405efa0ac8146afefdc398f45319f332fefa03266de3256b6b50c3e6af4d89bcbdaa89b556905931f9bb3315893c4a6ad8548cbd6cf92c633b15c07871a2d8b48352eb1fc6637dbbd19164ef9f2b144a1ea3b53044e9d3d5c9534af7831c141443e32adb9e3db4468546437b5984bcbeb8fef671",
+          "padding" : "302e300e060a608086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "313233343030",
+          "sig" : "3d15e68ede26431e35c9a90b60fef58b0e4272399d3985fdee920c789995eb8bd99d01c4db80f90fa7e3105de75cea6ae24e677b8b1060a6a9f151a49fb4173397e59f79f46cd70a69ea44b183f6dde2245b4cf7d6c168483f276feaa2460eee644796979f20c6875d2ff9d7b26ecb9568a39db999b2b81c74f644573ccd7816239ac7e36c3cfa3ea458d192ac0eb40b5ecb56201b2826872df27403b98d1c5ca22e5ffa287b5ccd1c1a3f55841dff414d1edc4328c6c8c4b11877c954d0dd7a8d3f776c85810c842a4e14c87a9f9550a687561ff1875a86d4fb63191a7daeddbdc38f556c16ca97309935f13f5e2b2143f3725ec8ebab88f6a6a851a9083e93",
+          "padding" : "302f300f060960864801650304020405020000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "313233343030",
+          "sig" : "7cee1b5e0354fafa1579370b760ea9b7254ad7341baeb097ba395480d108b1650165bf82e3fb0c7abfcb6e6a26803efd2890f1fd138f57e1bd1dffa438bd28325c20b80d015aa670b27484a3fdac73a298d97356d26abc0f5330b1999ea37fb75d65aeb73fa4bef29d0a788bd1c5d50338c6cf4723071d1390f5911f05daee8307e9090f3509f47d235ea53feb88f82c89125501ec89e737ed31889cecf71c0ca14ca0e50631060069451c7c8d73cc943ab3226d82fbfb9374600b96304f74b2ae4c50c024340aa1ff7c884f010c4449d7fae341a8f048a1d072146ffcac6d13a84b995fa72563ae02f74df72f5e78e93fb7ef5811201fef2c5123e5725855ed",
+          "padding" : "302f300f060960864801650304020405020500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "313233343030",
+          "sig" : "99bcdd4917e12a459c8ec9d7ae7c5f59a74cc3850297c9b47b1ae62c2be91e84fde9bdd07bedab7ff50b721cf3c9f6bb448985b1f0bf1c54d9740b431793ba53c1963c31509a27f21868559d935ed6b3ccd0e52891b2371c8e77d8fd6478c16250b8920620b6dc6e73eddf059d483595e2bc5bb5161a08f1a430766507a68abffcdeb6a472f17f488420f8feed8587219ab1c432988ede2729ea8875cd501d2caf9bf1ea53c4e475c6e97410289f6ddaba3bd96b0b0005cab3b3bdad74c8d0c1185a099ffadfd3440e82a24265125a9ed641174f361c9bf944130939fd0daef02105c5ec01d2b5b3158aa46100d66b48e834d6edf050b88e83a3cca4212f995f",
+          "padding" : "302d300d06096086480165030402040581041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "4c5df8bcbed902183e3e90fb167a75c8e528eeac4b71557738f6472cc9755230f9d9e661306e7d99d9225cc4d392c094817d406c28df99da1241e26d05fa37a87d151d56ec19a0f7ba0c0852ee6f889fc623d67bb2fca1e8c93aa9d5f37fcfebeea2ff61ce6e7ba4b4e608b89901e17a4ab03db6eba7fa5f3768fb232d58a953456ff31e2fae2aa005ff896a1d6514b6206b7ac4a92946c0ac3485d255a9b7348fdee8bee8e1c4ab36f8a46c4b7c8200f14afefa7acfa8e45a9d0b7b207919f163afa90c36e8dd3da836ee1c5be69c72bed446081a80f6fc8c7fb8f532142d3eb2c56e6ac33bf277cf1bcfe8eed9fe637f24d4bf515c573d02f0868a25e88632",
+          "padding" : "302d300d06096086480165030402040300041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "5e0352e6010a615ed47d9aae0bff7f23593b2835966ebd2378bedc3459e3d5813093c46ca3ba496486975fab640bc05d4f0f789c730e5fec8692dceaec65062b2f0ad849a2fdba3b9749a8ca7307b71df156a57900fdbe688b98874219bd2b86f5fc2d2fcbde64ca55bd8c5862e68b7883afe0f2a6c5e4cf158349477dc99fc43878d5af3c75a10831a2e7a95710a06f15958e71e32f230c22e8e7c1b08c7dd2a7614e25ddc8c54f819b8ef314881e32e35beac0e70078b11c9307cf20280f8899630a0d02ff4dcc48a6ed74ddb18189c747428dc4657f6fe2f28ff772651b04402cc9cd667d44fb1dc9cb10061fea13c78dc82da9fb7c4a91cbf5d1f99c5449",
+          "padding" : "302d300d06096086480165030402040400041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "9175dbff955e941f857a3a6ffedbad1228ae8b7eecabd519012deff34ef33a941a079c7b4e541313b314005db463b80111af13e2bf975aff6d26dd97b6ccc3b0cb45d7b8a01126bc80ec48ea2821f3f2ac899a5c0c2b7307d928b24a379332e5a7ee287f3cd736c701be439bef6e83a23b2b93dd551c7cc1d5c14d6a1e9ba0ccd33ac9a2e9ab4158c271d728acafe36c61f68ebbdfd0c8834f5f87f83f296ce2d3880219e6fd8a24f38a685604e9ffdf1ae59ef4a301c7a56861987aaa8cac63e48272911b294c99e8fe5bae8eb32686bcabebf316574d53ba07a5cc07b327c056eb3020b6e9e4064a0b7714ae33375251d2d634e541a37405de3ee31bba78f1",
+          "padding" : "302d300d06096086480165030402040600041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "5e4816fc498d2e3f0a33263983b81d563bca7be0760b5d54c5f49f08fc6d10cf8ba95188428de68b4864fec29a64adea0119932d2c4e6af69108b1e397b1021528c679e21fbe7dc4dcf7dee27c2654561656d7b3bf08187f74cf8a0d24ac3fbef8bacf82d50981ac18912aa785263212bd71c9c6e209caeefe5d978e67bf34d3a1f6da724d7337c7f197642413d219d24653845ef35fbbe1d7c733d8bb32fc25457d36f20fff3f6c718a27ecc05ef36c143a5a580383e9d47c39c842598d0ea329aacd4eed20dc99e641101628def125b860520797f8434fb96c3bd90d9fc29562a34b4a784f847ff50c7322424d656e401c1b9beb39e2623e1ee7afddd0dbab",
+          "padding" : "302d300d06096086480165030402040700041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "3af357a109ee6de3edfb8b0ab82121c9e6ba5c78beab6393e776065f08184428100450038d40cac13d7d271c68da1c0d05e6d20065fed3dc1b02bbc9fb8c1de0b0dafff73f0bb88f36020a78590dd96b80189eb5740d2b84f66ff64240fa91ac8a73ba72ff56c6bb82dc424904e65bd1fd969c5d21a81f44b458ac52ed66cedc403d01f2139af14e6e38b722addeb3a2f6e4755e3d2337de4504216acbb596ef39deab19e5244d52fe462f4ab75aaa510552034706e00f33b8dc1b16d7e8cc5b4066a921ba5a70995ccb9d7f6a891cecfcdc78a092a8bea6408f5883fc866462abfe35cb28aaa6ebf1b283351a7505e6a80d8c64867c2d275e2c5d7500617975",
+          "padding" : "302d300d0609608648016503040204ff00041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "313233343030",
+          "sig" : "8a38e8a54857755b4922f9d248d9dfda77d284d2a678aa8bd55f351acf4aa40902f8704479827223c1c6aed95bb33d2c4048cd578f0b24b0ba88a96b881fa8b86f241ed49e4f0bc1a27f2e55289c53c44248ac1268f74123d8d055b72e7440dff28d05cbb174780e2f0636ac596849c8d6b20fc37afa9d160d8cb370651374919464dc618d491fd17754d9379ccdb689b004c7d4d4fd04dba6a9f721d4da77ae9f3abc094350355295ccc773ded661145aead73d5485e49af3d9c112f463503ca5be0549e186f334e95e8aa52c2a33c259306bd12279613f9969ab33075d76222cd6218f2efa9e0213664db951ef956814f29374fbfd0e563a5a77cbd851a9d0",
+          "padding" : "3033301306096086480165030402042580aa00bb000000041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "313233343030",
+          "sig" : "9f360dbd80e1a28bc2b1759707e4ae5c5e432d4d4b9fa6b67f37e8c576178b820f5fe3c8c44fc3de442b900c73eea6f3040f9b58ce38611f74ce6353793b7ec1b9ad21ec8dea913011e0d76ea2caf5c1ca7899453789d9e868a1317dd707481c213056add922177145e7cb077b9aec2123d8e854dfbab7c2a96a58c51cde0c7c77dccbf58d781cd0cf5f1251e5cf263088af9c374e8781b9f7d0fb0965a765727682f97b3f1ed593082709ca699570c7480c2fb3669bfed128c3063cccd79d1161c781589e733671956cf4d1a6d90a4680f4c38c04cf0b3b05289860a809ec99068fe853176f7e6354b4b2c15e3b535f301a00fe240ca43ea401f954e2e9d170",
+          "padding" : "3010300d0609608648016503040204050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "05ce3264ea04f7f7ce5a073bf70154b120bab5026887f675c9ec97fdaa0c66effeb7952e5b11999ff343bbd176978a6ec6eefa8f4be2671c700382f7d8d221266ecfd2bfec8a7d2fe36de408104df0152ece088b73c1c0a821b9a7ffff8d83059fc7250c5d54ad9e7099cfcd82e887b5ae551732c37a1bac432dcc5504bb5013dfe46764a03e24daf62e180a62491e75cbf560958ade809f8698e8465b99332807ecbacf1b29719c7d582240a3f19ad6799c852b958c7fce3ea5e19b6c098afbafc5bdec765d0b90da1b6df7540435f291cf2a19e9b31176b04579ab18cb3e9b5f4a86c7b4f17f131b7a5a9c03a93542990220709f8a68ad1d691e8c13345cd6",
+          "padding" : "302f300d06096086480165030402040500041e753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "0a7bf438897d08deeebb38dcdd687714d69b0f0ccd23c8daf75e3ac8588e1ba0e5cde9bd30cf6d61edac581c8f3d2b8fb7d92102faaa142f75dd78152bceb9a9cdce3ac1b6d3121cd7c65c5508deb1f671a83b3ba45d0d079ae294f56086ee92e109e94639494093b2fd9efb0bfbde8b459c7aee258b23b389871d4bedeef7b8bceace4b870098f42376cd0a2d4631f0e606390b34d86259b983c2c16939fae962a4da25c7874f5f59fe0b3e6a25fa8c0132375cca9f21cc23f4638a6efd3af2aa9010082e340394e33913f7331305e6544c87d34bb3a668a1c8473ff47d59fdff11172dd156aa94e4262c9374b001afde4fe551fb599242dc3584587fadcb3f",
+          "padding" : "302f300d06096086480165030402040500041e0000753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "313233343030",
+          "sig" : "6db16a706014bdc6d673d5a1e15904915bd1fe1934cc20a6ac6a01f1e3fe54750eb01ddd2afc1cab644bddd3805c57b0c45ec2951b2595cf41ca2a006e6bb4b4f1529516c48e007a2173a5aba22081a529d3d970c0ccd41a43b739e38063fec026f4e9c157670faa2a2d0288991737ccf7833f41dfc4c8d829bf1f4cd35af15b247a9ca676c52e5c3b07c08f1322b31f0d0fc0a9f0698c74248fc54e505431827b2b0e8814d806f12ae85c2e8f49207c21c6abe348e058a17ccaed6a75bcd07a677b5f1312fbc4a1dacb05b64272c178d8c57ce2f3556529d9ca1733cc386e39d661ba1c7bb1badf11488f84e533101a5568b9ef0604a8b2e131f671b1989999",
+          "padding" : "302f300d06096086480165030402040500041e753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "313233343030",
+          "sig" : "518a1e1c38f30eec3947d32d92d04e57a8a82923ef9f13f67c985a4d2ed90ecc39441372897888906014a98b38c079c9c53d9dedcec059518a1d8066b38b6fb6a6b10cc2b6ec04ba7c2ed60f6d5f17cda6db6db3f24d5e8a46a833594ae3817311a6664ef5a5db0eb988923e6cf5d21cbb1fcd27a4646ab5670780a86cb492bf17359f346b426bc634fe4a89797b9d71e6b80577d7b7cc3179903511bd7475d85596e8371b80684e031c9d676d665e9778be8ec6347a6622e2ea0232755f7fb07a53fc6361e58a76b87cc54678152c4b8febf1d942be3a000b6820cb86c9f25f332dee768dbdbe25c374af05a085e910d1effb97c914cf1cb0578b1f0858557b",
+          "padding" : "3011300d060960864801650304020405000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "313233343030",
+          "sig" : "4fb00ed61d60c0496a690006f40ea8a5df2e3e3dd80f8f6a3e39902e0447a37f4ab2e3737898cc0bdd7617236e637f0fbb9799f17873ad71bfeb32eb74cdd927bb830943bd0c6ae3a11705dcd8b272fa356d34445b46e3067caf45e0b4f37bb8c6dd43600184b25c2651932d07e6c9aedcf94796223bc90eaa329633756ddab77ed3b70de36f585918a7309d502c88aa922465ce213fb347d3aa70e840dbbd3ce920ea2b04a99c3845ef7ac87b68a54bf359a6540001f0602cc458b91032418da97bdc472774cdf65f58cba9b30b6f51777beb83cd6bdcba1fc1bee1ca35eaec7a29c8784e33b7a5b335058df1e2903538ded311330336a88256168a5759a7c2",
+          "padding" : "3011300d060960864801650304020405000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "08f67b8e90bb0959c276ed23d45d3752f2594353d868ecb2f213a980d8204d530c7b06ede81453a8ebe58ad685c7c9b8743fb0e940877592b87ceb457857543f060101e0757e02dd8f48c3bc348adc31d57513f5231e7cd32822b9844a41f00b394c20a6abc67d51a141738657247b4898b0c4422d900be64f673177f6a4437a125ce0a85ddefd952acba2c2809d4bdb4a9c05bfb9a1b09bbfb6cb675b51ae23f3857350b208632761ad04267caaf969d43f699d5908dfa7ae634447abebc05e372f194387e29db9adc9360d07b0d48c02f15eff31a0bb2ece9e97797fd18dd3ae2afee6b12576055913ecbb6cd8f58163736c2e45fee2bde79b7da293597c28",
+          "padding" : "302d300d06096086480165030402040500021c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "386dd157db54f471b88f6f4cd01b25ea4788cb1f8256ce996fa3a12bec90803e92b907d1e9e8c23bf20d8226b9d7df699d5d59daed206d4a5da51d0aa6566a47bb363c9375ea5404539054924b102c1e0ed40cce6c9b6811f79159a971c4a879f7568489d5c0ee7d6d20f48f0255bbe556de271c8291c1e4198f765e3d5cc7fe2f5ddc366d28ff08d57ee5efedb170a18cd27a4d15fa8d315b695d47f1006814731524cf3922aa5a42b2cef314a0cd43578a224cee8d0140c53ec80e8605e1a4f5e1e23f4600d18eeadba902a398c4d874d03ba098956749df963cefd387553b4da2a90550d516451b4430d7ce2601d148d6c83f3275b669bfce35b9a5c7c336",
+          "padding" : "302d300d06096086480165030402040500031c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "0511a80f4b37cd13711adacaf85270137064579acf30e3c928ed6419507b9a807f9f5e4aaf853d96083420949d4176a4bca9bffcafc149ac57e3138ef4ed6e7aac5b024725654ce7ced2e20ba2c43070ab5a9aac1382f101cd5020bb8ea6bb3e21ebae04de3c65cbb746863232b129e19fa2bf97bd79f7e7975e093da71332fb10d7f70285237017d7251a118ef3fde78dacfde73e4e28921dddcd21fe2fcbedd45121552a10461681fcb90bdd1d1877b4fe34b9deed004ce41581dc1fd38cb767b1ffffa69bc1ae1dfdaaf942f7b50cc0737adaaed0273c929ce60b0e2627c2c1d5153f001c55096120849682f8a9774b6f3ebbee71b5922080076a2d5544e7",
+          "padding" : "302d300d06096086480165030402040500051c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "4884cc2d614aa4f4f90973c0490a796927a2def10606cac4b00039f6b5e21742e1f75384585b423ea87efc022d8e7d2190b5eead35292677fb843ab81c476fd2c4861695cdf9d3ce3f49e2c6f90671193ef13d6726547f89888bfc16128c7e7ee48d61aec79b5e1e551abff8ee27ed83ee661e42fd614c2e88958d4364460cb9402027a10822c16e17c083e5792b77ce3f07a4698c7e25245c651858d96c1258a0e0d0ddb3badf5f7b9713c2b89ebde7266f5a88c19b794e6cc2a8d96789f0bdcbec49e128473e2efd7ff80387fff30a5dfee3f2ff18e4bef5baa2131937e7d71bab5e5f521570165a8a8fa27d6288a2d524a2be7a28a3dab05712210c8c1f76",
+          "padding" : "302d300d06096086480165030402040500061c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "101232b1f7090316ac2c1f1e56014df258065a04e8bc08740ce46d54356018ce1567fa2610743b7c496d414506e8d439bda52e3680ef660d4e7ba645825c0e82509be7f9adf0272b212381f5039fd354e693d77931e2d59b0bfb431d903b16cf3e84187a55f709e6bdc46e377ee965de7fa43783004081e9f681f794a922409434cac493d29c9d1ab0f2e033ff4e54af9cf00d6c8cffd0b67f0ea27c5776e2eaf039946e8d287c2c419ff9f1fefffc968ad7475bb95aacfb9cb1d623c2d1b6531bdcb2493f0e93ac4be36c7a05af062e6ce9af1b8e063c808af52f735bc0c64ad141347a19466f650eb660a6e7773900e6a0801083be2934a178403f5ec29e25",
+          "padding" : "302d300d06096086480165030402040500ff1c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "313233343030",
+          "sig" : "23dbd5d795fd3f97f7a2bc5df227e14e39416976c2c616e1e8a19a85b0648eedcbd2ed91780c043dbcb124de6be7ddb7eee16851a97eed4848589786095cff7c4395fb4bbc606f892b0b3a01b285c9aa4c86a060d4ed5f59e1d1d72180382531f6ef539d4ad5cfe82c9f02e5b6fc81ae0b952a6409d2109710c26280d1fa0be306a37f956ca50803b6eae1d11d4fb3a3d71bff2ba2773dccf3849bfbe42f5085f07334dd5bdd6708325d67d98598ffc5c52a0689449729665c3fa86d542e2f2da752339ded4dae90b36b0dc8a0cb3e350f62eb05ddd710ca6821f32f840eeb98961cc5823e1c827ac67ba8388a4046b8c856dadbd1323c919fea5d0f61e61f95",
+          "padding" : "3011300d060960864801650304020405000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "313233343030",
+          "sig" : "bffc9f6d012a4e94763983a47e9f37698e6810c3de75df01f408fcafb3d3099896d07017670867794d5820ec163b1fd2bce080aac8a6cb90f8856d5443d2abbaff0e18d6d3201b5d24745ce001ef8e07f8258a60067c83f42aad79f922ddfbf6199ca7935fba59eb2e639c8aed66845beef5bf01f2ce1b06106ac87a2c27f447d6038ead7cb1fbacf7bdfb7811097fe0b4b1f14012c3cc0025750f9cf67e838ff715f59b5bb75676c93f71ae5cfa96f0375e3e704583d41f499017a5e62a5ee321209041921f5a64e212d3eefa8b42a4a7c240f4da15d903682780ed8c005d4b5fc13e7a95e106644eed0ae9a93133df9dc7ae8555f18579f020651e53ea9340",
+          "padding" : "3031300d060960864801650304020405002420040175041b3bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "313233343030",
+          "sig" : "8ccdf190e17969f0e4c496dd400da98607ecca78795348eaf308d11e29950f0bda64cb6de73604f855a36326b4f18cfe433b67eded578feb4f923879e087af1b3c42f6f29d5f688924508586fd5cbe5ab90a1a04aafbe1d548f5945f7699db7264685405b558afdbe34adb976efc9f6ea2776cc41eeaef56c5cc13e8eff817a0b8b2d8978a8e445ce0ef586414550cd79030fc83d4aa4c2867570fe3242f6b9e659500f6d6072b8aab72d16454067d6c97d5f26ad9cb5e2dbacd9b332cef70578db5eeccb36d0d8f815e2125915764134943f03023e991428cb66076119dabf088632b22455f3e4965cb0ff86d67f8d5dc99763f831add9cd23c911e0a11bdbe",
+          "padding" : "302d300d06096086480165030402040500041c773bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "313233343030",
+          "sig" : "442fa58b964fcb7b87eb5b901fafb15c38e31db676c2df0cda01514d3bb6559130973b20478585e8429ba873ac0f6baab8c9ebc46805093abf57355f36860921edeb93024d812611669501928cc869b97d4eba755501c9f1a420317527e5694c6b67af946e6ea9fdf4dbd01f8f677d9a5ad69e8878562531c91362145f923c0083d404f1c6c2cfcefc8954e6efb63a10d3cd832958fae01ebb932e76eda84929f5c5032db5db9a9bf49b9f43e3359aa88cbc888fc6b10b4d908de28085af20b4287e30640bd3d67888a24fa7a216658af1add6c721de36a35e00d09dd54e55c2debec12eb475a3adcc2452ac5e68d1e94548734540cc1448949a5eb39945954f",
+          "padding" : "302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d12ac",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "a39bf00d81fb83c0c86b5ae8a70aa45079b84ae55c521f4363787f569836703fef97f5ed4f70fa9693ab365bdd8a0a6bb5020d01b0381c5cd17631edc8257a6fc271f05279d64568fa3208a632fe2b34c324fa0e93c259e80fa99fc2adbe43693d16399fca84c934a5f2948e6dd73d4c9f1f17bae710ff68ee63b39b70a09bccb891f2f849632efba4d001418f719b03a298e6f94459aa0786e6436986f637c813149b7ac5941792e7af84f8ba78bd6633811e6ab8c11c90a1a4d8f00795c8aff086c18a69f23cb75d615e298fd0d93f5ddb88b6b198af04247a2741728cbe51f571fd820c4182199df335d7b1480a1686331e8a04e15a4c14ddfa5724b785a9",
+          "padding" : "302c300d06096086480165030402040500041b753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d12",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "6cc74b8e2ed218ccfdb1d0a448c5a4b519ce9ea56ddc96dbb8a894b1d97405b3d3d728274ffb49913f578dfcfab9bf6581ea90c4b854ed701cb4dcb11b16fc68b7b1396d32eb24f7eac9bc121230450c41b54a6afa82a857c4f0c36dc698a2241d2f628e3f728933fb646cd9e6b97e69d8d059a3d9f08a481ec8e0c0d0b51f15df7a33a88a1e11dd46517a2c3a538f2fc581a65d1787f81594b740283df9aa01c28a64b203d6b43da281481bc4e05cb1e6c55031162afd482fdb7dafe520f4e79431cc956ffd512c68400a705bd4598534328a90e74ed4980a5bbf25efb1b02d32dbceb4b7593c1fe386d58e955a522802072c4ea02bee12ff5b76d5a0714867",
+          "padding" : "302c300d06096086480165030402040500041b3bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "9e97021c1c5dbc77cb54d1e88b29a02102b7f48e1f94c6f04a8dcdf19f54a72aca26700ed01912bf589e4dea8f385eca79a45e421b16d2d84527428537f4ba4b064773175aff9c9eaa6a6ea1949c5e698fe40de3d04dff9dccd4ed9e06a68bd2e71c6a4ff42d53294b45fcde7517ed378ed8c34c2273bb01c0773af8bdfb7b13e8e38f3cb49965c757f7718104786dd86c10b8696796db7f05dc2fe2474c0a57a897411aa7846919cd4fbf094c5207503dc8a4ef8966aee6561a43784b0ce06e7427429fbdb6c6e283a6a7af3af7a78124ae1ae6c57438d69b050f80b36d6cde6d84fec0bcff2196ea3232db115a3afaacb227417f0470f505ab849f1513058e",
+          "padding" : "302c300c06082a864886f70d02050500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "8730b927f2540ef947089c056ef194b7b119779e4f7b03fbb85e3830de65827da21d01591659c62e79b998b680ab33dcb64c366a8e0744f097fcb72289173cab08ce7410c025615352dcbfaf36c9f97fb7b372a73c6a93131d7b6a570a17214a691888ffadd5dc71659417a56722291b28b47a6ad418a3501eb3566f632b48728fad399a8dd2547eadb6d271a148e3691b2e8ec3122400f8bd40b0ecb4bff496aeb782bfce28d779f6b4f05d2355189c4e02de3a8b55e6180343888c45cd2afadfa882519f13019677e489294592f5c555a2f9de1510c08a1ad9727a1182ed5e1e8c1aa2903f6ad3f638f94fe1a26d2085aeb11e9f246dd2eb5702cdeca3c20e",
+          "padding" : "3029300906052b0e03021a0500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "29faf94760d009cd2a16a2ff1d13f415ac85ae4d41af4e13201312c93871c9668c00bd4c5d07841952725897efaec6783a188637d71e8ac8e762d12811c5dc108e8b7c10e4319331b855b041523783353435656e009e60f81a4ebfc900454b4a4d3e21fb4b4c82effa12133e58962a2a4320b6ffc9ece361c0bd4c49990209902633ecc271185127fe765c9c41b4b569220ad5de85b547c762cea9fbf24f92ff44002cefb25fd08bc0425192f332b568711c73f6fe9e87c577792ada529454a044a89783446fd007e18256e289756c60b781250b71a8876ca78404eeed93cd1dd36bf1c61a796195a8be395d59d05e2b2da685022760f6b46f11a9b86baa0490",
+          "padding" : "302d300d06096086480165030402010500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "7e5c93217161007a38889a0a43234def7026eb0a1259be8c7c5b2c94074c73c8a9b2e809bb635786a31e23cb9737c3ed87b113f9d1709b30240d0cde14e706d02e26f5dad1da07b7a47c21f45223e2946ce675bea3b4f1ccebf3d8219bea475897c5484cdd2558fd6a89a37880a3e32fae45e752bef2cc05c64f45b6bb30da8af951896bdd0ecaa6bff1963a90034f5ed4e45d3e89812826813ff067eef323c9e09943b25da94f138dfcb40457a1357c54ecc0fdd82fea5eddfcfaa86060feb1530d8623625c9de8bb506b13ee55cd29365e424240d8dfce15f09f98bb6d2930697841c81b35a284958ba6478b1cd75760a26a6d56212e83f38c1bfdb1240bac",
+          "padding" : "302d300d06096086480165030402020500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "b51fbcdc6eccb38cce3fa3cd271b9fa5930c6055a58c07e8b14fe29d0deb12ee2edb938bce4738ed5b28509188c907f4db14d380350de48333c7c2da1a9e284f533eca457dc6cbfb62796883a03c0e4bcd7bc60099b719a39d6b8b2609cc831661da6d84d02b19bc35b00084093225cbe336c34af9a818804ac9440179e19942db0af899e1045a035fdb24414c2a64a33a8887c903d4ba7028598a2c120a7e3da30e4cfbc4585babf11caed778b0e7cbc5198d281d5f82e9978bd8f620b48315a7e6abfc13bd83d0398d31fb89a0c8a51321575ab9a72781ba420ecbbee690604153b38bc76d00b615f901075be5305a2e78713194a36c443c0515166d7718bb",
+          "padding" : "302d300d06096086480165030402030500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "40f3c15a900e707287238618a78f3c1df4f751792bcfed49e583366a67413267b7022ff5668f583184ff8656fe1c89beb4ed5387fd92372d674b433f9bf0d2132c59db6c5974b8514eaa4e1b28a735c60282329f0d47052178ac07935702c7808285872cc498896f61cb887aee1a3fbc700bec4de4894274a6ad8f1842d6b87b31814dfee5688d573dc0ac5531921fd7266e4b07b26e56a10616d0027980cfc781c6bd1c84a7b104fbe9fa22377fe9f50b3caa1f7ffd4524f96a35e5e5e00f1e0248d36fe2fca1e1f21b0bebe1d4d9b16c8811a8b8207e954bb173cb4a17e8110d3966da35a491cb15f08130222067fd6bb6caef8d5e77ba7b4da52c302a6145",
+          "padding" : "3020300c06082a864886f70d0205050004103fa6e1540a9e5b94313c5907267a7331",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "090d7a188074116255cbdc8a8c1eb66d5224b045d3420451dab67b2d2111bf7dd145d522428c2e9e71be74af29f8e04d88ef46ac6b6dcddf2cb91156278f8b9151d7d5fec55224acc9b4a015762c9cc7327a16ed21a060b1f17b47d23ad66a2e5276524af9acc652e48d350409a119abdc73235d9de02a26964dff902aa1bcaefcb2b3e1a8394a50acf4c6fb503da872e9a65a220b7c1d31496ef10c2e27c00b7694648c60dfc5f238c7ca3063cd91d96d6617d76b0fed8da990838cb7a33561a7b61507deeebb95cb6a455b441305629ffde7979ac76c44601081f8cc425b346b08171752d4b3f711bf979a657e075e4924b73f011a0ba10d034934f8199c3c",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "bac5e1663853e0a4088543eaf4cdf36e8b1ec7b52fef42081d31e3f294dffb31276834807c4719a1cfb8c7ff8db7020b72058d4dc481da66ab60f40db119cb57b66726329194f8a8e2a22499bb53c1346778b9a02f92e015b82b4ef432a13c51f93999fd3bba3723698bb0724b2cc5f91dcda79e29c5eddad80b7d4a08e3c549170952eeb03188dac1c81bf37dde0378f66fb81102aef841a9a69743f4c78a8e31556fadf5af56d81afa825d37d2f6d8516795abb7d5804ebeab2fe2fbafd5ae355dfb9864c996b147bb5f1d8c1b4ccc3040b42876a27c83df2068f1ae264ba557a6f1c5e0436c04fae398ad4200f5d1d5a872f771934d4a22a1c7785d4bf347",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "83a66a917fd062478353636c8a55eef1bbd99fe82af9305ef6e9049d8e96758d856191bc2fa3226166670502552d6a9e2a62a26d449b31f5905a34c1199b2de9fa37ba9970d1a00baf6b070b92a59054b12d83517d3fe5ea4b07f7e234b3cce16b2783771d9d6cca2b7c6477d695fbc2566e55feae9c6dfc183f99b7e27a964a6169e6a27b16c6e51e1e4e1becb49f48d3f225214db85f5b8f729f3811ff4497b517c4bc0111396692e4f438c9a8437e62ccc5fc44ba85d6315a63dce77d13e54832835281982e722d3eee4f4ccc4c4112e881df0900433ef46cc6134dfa75ce7da8c6f96729760172cc613cfcc89ae90edf1e8126f39ca5db76f45eab8c20c9",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "60ed20bd7d6f5a7e30cfce9c7cb5686507fcadec04b8c8aaae94353f83a5a857b305aa837eb818e11a350d1c1f1d3b40581118771f57e987f1b9fbfe5335a5dec435982fa37a7921af79cf52d638a79fa13fd6007deaaf9cfb5425b7bb99269d464e4a342abef1be23f5c6383750c6563caafa863e82ceb3aac7d66e38eba4811944dcaf6bc75e56bffaa2d1070202c898b381cdec53dce38601c196b40e1dcaa5ad76d7936be573fd2bedaa6ab98dd5cdb1428d36ff98e1784adaa39d3019ba7685c4ccecb18dcd7d120579b8c7dbfa3334a65d4fa7620c6d57ed256a6ef49dd5a317675c6fdf27d6e58000195c65f5b41ad81f866859e2c6adfe7a8b444865",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "5f4e316d08081fb15f407f929883188cd7ed34b98fa2fcf2cd79ca01d83c86af4b122c300f4e4075cbe94c8b10b573e8f32f8dd24b5ba74f7ceb9583c562bd966d3071a56d4b815c285e16d15572f26ad3656bd86465cc2d1adcb4ffb0b323c1c77b3d4957523d76d82b25be35aa6a4c18e53ce056166aebc8ce5538f4e3ef33be60373f797fab945368e946fe6ac51516ce38ca46d86077c594e38f5a80e2475f3b929ed320ec43c12c12c297a6f15d90aa9d82321ca9a4ea7d147328ec2ab031ed9486dd889460f800a94a99ed2ee7a09c88f4dbafa1b462cdf42840db943b0b952f574a92c972af4ba04eb59540a2a02c538007f147769e238356a218ea09",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "7cce1a56772b4dcaf1b2fc68dc8300b8ba9cab26f96841934b207590f868a2d5b0ab94d9e31e2edb1fa2b8785c5255d175f7c5eb3ad81d20bdf20bc6f8cc622529ab26688c74015d74257c76fbb3faf101db3823f6cd164bcf6ad60c3a80ab95dc400d275348d7d6a1f946c37b8b8f38c44ab05198c5e5ac32cee8b8e9b4efe4692ccbde4acfce1ab26cd1d8d10c31929d8ae3b0d24b91e2094ae967a42393ab198259230b07651476208350a0a83de06c588f77e4a6b401bed5339749ec26231e7fbbeb690d3d29b3aaea38214b3ebc3707dc1742fa373da53d98a47f3199d0e948f285edaa9d79fe819f8c37d51aa8a60a8059fce71e80f3b95364a0365823",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "313233343030",
+          "sig" : "1927a8ca62884d8515e9df565abc521a1c40ee409a7aaf19368bdc2c24f9e0cbd1f6a144109273acd712cb0e34d367d76800dc5f0ca9145feda1c518cdf7d07dbef73c189db35220e78c46339fbfdd63070d47e2bc1fd8dfa8b5bb08db1266960951da2ddd16a345c3d34f8bc59622e940a8317685a98f5883ce155471d6c96605b285b754032f998f2e6cd62139f75cd66b1822dce1a10b5af8c22d0931bab50ea1a47230a2dcdf77b720411bcc64c88efc0dacbe8610c359575a1dad37f923a6ff44b493a3b5ea1ddf22c205484cbe07ee665b04e26f9bd7ed62a66286b32a209fda6b5df0d7df048c400f27c493a2504bb1b10a20fc7a5566d2c0bbb3783b",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "313233343030",
+          "sig" : "89c981b36b3a8db41f0282f14fd9cad08d7c088b56aa16eeac5f643e83ff68d165ec6790a5c195bd37ca3e6d23f8da5187e866ef44c401b338337bd4f9312e8e87b019e89814fd5e24d322630555cdf628b56f93ef81c435be13cba6cf91db2c32eb6927c9db7f856a4f86dd127e9cac8159a990cc816edee7e8c39f06eff4c72c8128d2be37d2eb2247a9d709797af04bcd744d54741b14ec0a5b7b1583f9e12063521d1e7143690fbfda7cea18451599e76e7c2bea000ba9ffd5b8c547c4c23e8975bc6ae22eec79937929487e0d1166dc7ea9f6a1e71cef41e704e89f2d01b7a81baaeda1738756265573528a3a495919dc65abc36c9aa246691fe0aede70",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "CVE-2017-11185",
+          "msg" : "313233343030",
+          "sig" : "c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "invalid length",
+          "msg" : "313233343030",
+          "sig" : "c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "empty signature",
+          "msg" : "313233343030",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "0",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "1",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "2",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "n-1",
+          "msg" : "313233343030",
+          "sig" : "c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f4",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 231,
+          "comment" : "n+1",
+          "msg" : "313233343030",
+          "sig" : "c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f6",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 232,
+          "comment" : "-1",
+          "msg" : "313233343030",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.json
new file mode 100644
index 0000000..448c158
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha256_test.json
@@ -0,0 +1,2095 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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"
+  },
+  "numberOfTests" : 230,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001",
+      "keyDer" : "30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAorRRoH0KpfluRVZxUTVQ\nUUqKW0YuvvcXCU+h/ugiJOY3+XRtP3yv0xh42AMltu9aFwD2WQO0aUKeidbqyIRQ\nl7WrOTGJ25JRLtincRoSU/rNIPecFegkfz0+QuRuSMmOJUov6XZTE6A+/48X4aAp\nOXofomqNzib0kO2BKZYV2YFMItphBCjgnH2WWFlCZvXAIdD87KCNlFoSvoLeTR7O\na0wDFFtdNJXU7VQR64eNrwX9evw+Ca2g8RJkIvWQl1oZaYFvSGmLy7obTZyuedRg\n2Pn4Xnl1AF2bwixOWsD3waRdElaaYoB9O5oC5aUw53MGb0U9H1tMLpz3ggKD90K5\n1QIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486",
+          "padding" : "3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102",
+          "padding" : "3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8",
+          "padding" : "3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907",
+          "padding" : "3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852",
+          "padding" : "3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "313233343030",
+          "sig" : "095dad1fd82bcd36652a381b7f4dd656bd89b40aa58b56da4f6aa8247874b935e65d2b86752d537df7103884d39dd9ad3d65f87404526b09094c5615c6249979b0dc58d2199ae8696a5b76b4bb03eaf08c2ab6aec686c6b1b289c9b44f648bd30cb1ac6a64a73d68e59cd05e7aa1b780f4bfd7b83dfe3b884ec11821a93dc5bbb47a00eea4557b6b96b5656276001f1f295ddbbbc511a99b9a665b9c2674c8af0d812286d0be3ce74817ba2cad283757de35dfb149f2835f60cb03ff155524a57f78b148feceb84cd20b0ae22e3e48f433fbd9bfd60be8afec93165ee0310be961d3695f309d031320c830aa6ba08b5a51d943797097c57630be391bd23736cc",
+          "padding" : "302f300b06096086480165030402010420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "8a0e82d4f334aca72a718b6f8f643f69c6048d619d5eba71263a5d2d3ac7a7af133b780c7595ca2c982c006e861948f543cd0210c758691f9626842c25de2843ea314ca8eff285d47e0cffa54180af416004017034962a80a5959c3d3f1bfc154a4824462a93c014f6dfe920824f414a6e30e0e5944d480b99949ec7bf64c4a7461575933b17d7d6b0178b5192392ace3ed8469e8ac1dacae51ad5d3ad73dcb213e056d04596e64d8c0703def3110c7cecc93ba8ac8059f0f3d66b89d8712c62b41d407e4b4a104f4569558b0290c213cad6d0653898b9df8f4a453ab07d13bfb7598d505abbd0c4987e4f1ac66e1a523e113e370ab7cf990f0cc63f50f4f0a4",
+          "padding" : "308131300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "3a380c29ce2f304f33a08aed4bd92cc6e8cf56596928fbde6b640cfdbe1dca564cb01421789c7fbb49856bbafb34da6e1c8351fb12f79a4614c33e50197939e237e0b987efdbc042bdd09073f02624c520f1e9524ec1cd10e917b9237166e3689afb710e6c4ef644e08ce866da6dc8849e0b2b4c6615b0aa803bf112e9a4883c8e60660935c43fbae9d939fdce49af603dceea05246b220a5cf99044f0c09dc98f3640eb23fa218d1421adea7898563144085f2c2d1c113e7046f80ff359b2f65742c58551ad62eb6dc6e7465553f7080fe100fcf1aad89fb079bfed32c8c4c15c84d2193de22385df91e9825717feb5209f1dbb47962df24f3b43c114417ae2",
+          "padding" : "303230810d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "24faf2f1b73eeca67814b066b8099b41a973b1c55f319d5e3f7a9943efb958e8f5a7ad9c9a7dfd64e2be0231d341a822a8ce31cf3e008e65e9e7ff7d7076c3ec62632a4c5cc4bc867c54c9789cb248bcd5afd0f8a2fa8b1884f630a0663758a6d472e4e7a085fdcdddcb1917630dc5e19857569208108123c0e87089f2f247b6dcd5940bc35c25dc10718649effbb56048bc03991851b0d50cb82eba64e6726c41567b5c708a8311c22e477a4614a2bb476e5fdb8cd7f14f461118bec1b6defc26a56df14ec3f64707d3d462378f6de72499639c01b6a745402fa46fb09578f52ac50f9db82c83e3041745300029b665701c595476e3e8651f86e1ffa6e0a045",
+          "padding" : "3032300e06810960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "78695d7dc94b3ad16254631482570bc97bbe1e5601c5d437660c9ffbf3d7864321e0a5fa4ea6136084ea004e71bd0ce76432f9b68e3c5e8995bc6e33bde9a93bdabdc6bfe5f8ffa30f22d4a13d453e26f975a7ef6fa21acf7903818df3a008b818e829d00e93f0fbde717f7c9de12e65581cd430993ac5d8ac840d5ab0dfed1834913c66e2689364e30f595c673a3c6c8191e80118e8cb2b36b1b613cbdb40d89444694b2609694ad877df3e42173b8f07f8d0089c34d8d6a539ae508105ee91a3d0cef2208ca74c57b57ac193412a713ad9ddfd10f63a6a9adcafb8c3eaffab0d0aa38fae362de560665022ac755fcea073aa905be19177debd5b00e9434f20",
+          "padding" : "3032300e06096086480165030402010581000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "9b35b207ca21297aac4b6b7d64614d610e43af5d21cf3c024aebdda0947fab0be7c397491eeef644cc31c73b7a51bdec1dfa4b6c34f831ce7044a1ba0ab50882886393c5b714fd3efc762d6d1c9cd51b8972171d998ab884658a8887607ac9b57f730238849806920f2a5da51f1b4247ad8ccb4f6cfd44ce76b9a8ebc57a3593574f8640d553c74a3fb4d36fab9d6cff6241f6d9c48488799b384fe3d8a3b88ec0aca5f8978b2194e7d9ea6d6a0cfd5b4601bedc90cb63b4ce02e03b736bd5249fef55a5259d0001d4a78ec392e3889a6863fc0c9acf9cc2761739e75ba7f940e424992aa9e63609df63a6c2cdc5a15e02e11dc4248d940275bca51142c6602c",
+          "padding" : "3032300d06096086480165030402010500048120bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "8d9c25235cdcdcc7ca2558c0be14f83afeb303f00c13106ac5affc952af527a0585cf4801104a7d019fa2e63fd0b923c061a24b8be7c3105443c8eedf4a033d3de802adfd80f872d3c505f41e3feb116f5d5f31f04df3e448bc7e7cbc2343f7dd4f4c3d2670ed3d3c66f91d626bb12a2001160a123d03b77d2a6ec53445db517147171e3ba3cd7dde902c486c74e8d8d33d4f7699791179d1df4fac78cda67da9138c18f2cc8863018e1739fb309408c62051b715096512602c5c4c7e7c394282593ec087832fd48b4f353d8046600e4152c2092632a79bf05497a13840e171047d79c23a76896235e9d5f0f56a78d3fe472fded2899e228f714690b40b66ee7",
+          "padding" : "30820031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "884b4b6838fb629fe42914cf15257111b502385d71dae543d03597a46cb10a6122f6d539ab411161ee278f16cd3b5f4bb7dfea0f907256d96cbdad1f1fb40093e9f5c97880814d86091bfa080bfaa5a955af9d15e9460610d4c859332c5beafc24fc9e02848e951eee2797246bef20dfb89e8e949ed52af39663f5f088690f1a24abf8a8e221582282127344bf740308d146d6d16b127d1639071037fdcfd630342ac134ec24791cb8905b77dccf45eb3ed7e9b2e72e60b5e19367fbb5d1c41853d79965530b3181e4cc7c24b198a61bcc2e63806cb6b3c76757737e35066b7f1bf0dd709216fcdab4f35d550b31ccfbda9eb8165aa78ba4b4e66e316ee07282",
+          "padding" : "30333082000d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "73cb10d068ce0168ddabc2dc7ccaef8026edd5517c0de9b4c8becf660ba62c3df0fc47710a9628ea478cc75adcae248bdcd3c555cebbc4f1d99ec1f6c0674e092548e20c747f84959cbd0a5589b8db3e464889d537c6977f13668fd02ceebad3d74d7ade6deb16c6c8c5d30fb0778c3db5d7cc9df986596a0768a0d30c199fb8ffe5511d99c8592679febb5f8851a388f291e194fcd19b9423ad4b47f492dd720b9f38c3b0b20bcb816d463ab9680bfde66132a54a8675be19944a5e648e0bf942427f404d9f810f2a9d4626df659f54b6a5d3a6878e113c48b733066b3a83f5b26ac75f20dfbb8efc1ffbdc2cb6b9f198545f95ca0c3f54dec2f8307fb1b6dd",
+          "padding" : "3033300f0682000960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "320d404e25a77d4ed6108433e85c9e8212b3614796c96105421acce95b48abd9683e00fbd57333b4483cda1d69d77189e7ca795ddf23355d0a40b67f9c97bf5843487b7550fc0d3577ba3a0cf7c7e083d18902fb4bb231c6ddb7942f512896af12d344a35cc6f1d3a6ceca567a15484ef95580b831e0c4d62bed425deff9175b68da5b6cf8daedcccaad83110b42ad03c5e8d4bceeb8e1ce2a9b15c2a61f0ec65248698b691a86d61eb593a359366254b8259b396f5ca3aaff4d0d3d1341afc019e6f7a2d43fff46a48aab2f33721d906299305dd97a9aca7aefa772f153371831653b607725fbe60c952bb04f3b02194fd0f0790b6560ee5a8f55ad1e8779b7",
+          "padding" : "3033300f0609608648016503040201058200000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "15e12377d3c5d50865371a69fd5e9f41ba3eb5ab2f9882aaa1729198dbf16299572898e6897b615d7c70d57719591184170321df750358f6b6ab9e7aa5a2e150a77fc4532b6d23fadbc1bb810c8498ee5ed2f8708faac2c80eb704ea65244f731e85e82aeee3c195eb01de1dda86bd80634b586118c1f2c144809f527a4b522d20b241c8e50d679506e7ce8f016cbbb8dcb57fe6cdffb860f0afb090b5007f81c61c87dac85fc0136477823da4011dd65bcd6eb67977091197ef02a1670993113199392b8d8173c971a03de1e1e15872188ab951e21da015a17959527be12fed5fe4cc3019741ede5706c472fc7befce0d9dae71083d61eec4679f3bbf222d75",
+          "padding" : "3033300d0609608648016503040201050004820020bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "9947c137ebf7013ea9e41f1ce93fd29022e340e6ade56c1119cd826430acf9833bbc1ed05c1899757a79d3104c9b4133ff0aef7e1cbeaafc2ada2422bdf9e29926626527f947124d5549d9f4fddb809f84923aa335d331c392a5ae5e29cb0f503e230ce7bff114206d5dfd51b812f9ed5448d9100125a8cc2324e560c69f4a492988045c97ab90a2806df900c3b95ab95bd634dd0a50edc5312eeef6463bc4b62e54261cc67e9cb9caa9a0a7550183c9e03f26bd5c8718dd77f54290b3a27a054d7d3e39e8cb45529d585ac0e507b8688219d2b8032268020b68d2284f9f743debab5cd47fb3fbd77fdfe3a9d7984b11a37cce190ac89a472578a3332b150f5d",
+          "padding" : "3032300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "259cc7e43882850415f4d7f2321fde08212490f6e9929c37c6a60cf686eec1dee385fc513f5e4105f19f2d63565b2d3762080634306b4ca87f857912bc062f31de6cccae9b48213c1b661ec9874d426d74e4c23c0ca53abc8f7bfdfb9d32dc6b5559f6aec33a5b9445ec4490302af6893890f57969de00287203d8df9a511b678caee2a7d666d9fca912826216ae3c62a37f12dac1412100c966ec7c8ff347eb79566784ef86943e999d0d1aa46fc9e5b90e9b91f4d16bfc2d5b9ffd4515f1d23cd0ce9612d19c28079702e1bc96b98cd86a5708b9000a5d61777a92d7d033557492f9ab1a4aee6719dbb14e6c3b4998480a8d49013898a5418bc8c63c41c5f1",
+          "padding" : "3030300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "8965489287b5c6732e9269f3ea349830169f9ab644076423519bd18d744e9547dfa82d9bba9a8cf4e1ff5bcd79ce2c4168a8b6b1c7931bf4eff64dd18a1728715274a735b9f529a2fe7b02cdc2a8740c2f16bed7e0ef2ef003089a30937f04c2d0617f70db8d67ae9f6200b8279200a21a7862b7cdb406d4855d8fc950a10d5430424e4872714cbe07ea03f36689f756ae0bc09b08cf1f3343cac1e1ae6f943b5d0b2a3df116b0bbf2d433a8c03fe27c6cf2de2c0603b2fbe174a6a4d0009248c0a04ee4b6f393195955ba0818d5e3abea276d9eac469b5eccf6b37d42e38d840513d7130009bb93fc3d208b89429d053ec1fb5b635e6240b3f0021c7a243640",
+          "padding" : "3031300e060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "2503d3586cf23777bcf02ac28f32daa1664ffd2e2bc3c34377d80718cd02195de3de6d10cbb057db69ca2bac07881497189bcd66b181972aa8def94a879dfcc1175aca14781a2abb39cd71569b721e69e9d9504b4ed54a58a4d8baa5f17bcaa8ca9524ed86cde37a86139bd62502afa770f4eef4293a0ba157968e42e77dd690a3920311d24013522295cb726e006a2e7f26dc287fd2754087f784151ac30188937c99cb20ae8d26db527d5dd3020742e8964f518bf13bf2cd36d99eacb1c81a6a9a46155894153d3c1a98e7671233febbf4f30bfad312e0dc4a9520a97098c634966c204aeffe7e55543a436ed003ce0772d9f57c8b0d3164ddb785639314a4",
+          "padding" : "3031300c060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "3aa737bfa89b66e9ce0508aa68da6c9760d5de6c50e1dc472073d4f5f280794b8e5f2ed5446cd73bbfe29d54c7f7f5ba69880158809b447a39e0363a59f46f83ade8032c7dfd090784c582141a5e4a9114082a2d91538bf55d7370525f31c0209342d78d327c53e21a64d9c81330003dc63b84d1ff3dc7a63528153e3d3028b66ec2c58182fa818d3c333f69b6dc9935cb670fdeeb226bfec9f3f7d04f5aad6947444e72dff3c46858ff89ab9a642b697f8c37fc6d58abd30d7e07061cbd366a566c22784e84d836a8b4d550a0617c4ea1ae7af61e2c78c9c67bb50c0982098faa9e14bbe0bd007e81c6c556bb3ac19b05057d7b4efc0d3d4238943ed1a552b3",
+          "padding" : "3031300d060a60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "1be82c7d86945e9d8bbbcbbf58216b20f2b44f68af6be2b538c52b0fa7809345aa227017a0854d462b74e287b20783cfd871fd85496dc39e8258b22e6befcefec67c69432ec269af2b4b348ec85ccc03a64523f038bf3dcd2de8cf6b6c6343b374419802d055902569d9188c9f7f795aa2ad22c8551392fedb3c5dadeeed4c1ea0ccf9ad237dbd73fc590f0920ba1ce11a130304bb3c4b923484a4922cdb87c032b16ba940885569e4a8a81fedf839f86e0d264e5c773b2530cfef13614de349779c08b9c18ca8e53348b62d9324c13e7222a99ef4b085cd8bb91d90b37e7bc6a5014a4906d7c3e5c59b56df9322a06434142bec6b066759658aa822c86bb5af",
+          "padding" : "3031300d060860864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "3501fae15b0d575cbae58228a1debcbb44575dbfe77fe1aa9dbb45ffeb821031933ca8f2b0e38900b84c86b4825bd587b28b94f27cf83cc8f36ce1e4f565124b2fc3426de04b3951800e54276ec31534a987536ef0e3d081dded8252bec64b432958df9ae045b29c1a85b9d4207fe4941356149dd0ced33fc5de142458a856151fc246c6626e9f1e00c326a00959f9080f5dbdb7e82fa79e100b03b6fe42e2d5c03cbb07b8d0ef8db22d323d9e8acdfc1dc30c765f7db9c9a14d9f41c451c3e037db9468148d8564b63fab33d5637183db20d27cb6a231491d6ac08d70d9a82e6e8ab04da8bc60659a3f9e31f793c2f0f090b6811f1dd634da057b3c4aea5e84",
+          "padding" : "3031300d060960864801650304020105010420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "1365fd05a76a548057742f631e0d957c020f670c74a339c4fe0d78aab13b4a960953201e12d75a8b221c0f30be8a9364f8925c6e1d8717222946f7410014b85eecd0ce632147798eaab5ffbc43df3db7207ad776bfba6d5d356307f9c8c17bacf6aed2a35979dd304e5400541e999aebeb35049c695fb5f6ea15b2f5a5734e14a90ba5126b34b296c5981e13f23fe560ca11bfd934082fe3223e381b24fa17677ff85da1709135e150af32c42415eb954746c0183ec648b7aa2f25ed94bf92afbc3398869f6fcfeca70977a6c6f2505b350e8a647affcb203dd836c80f178007dfc3b4e4ca6d50ada50dc73d3971cb055496f7af889ddb31d73f71501f4309a1",
+          "padding" : "3031300d060960864801650304020105000421bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "1fc4b5129a8b50e734dc531aa0b503c61fae5ae5202aaaddcee197270ec30d8d8e9e06ea5a4b83d113cb430a5b275d8273314c094fbee06047f8d9a090baf8f3f57c52247516b1ac84c1674a4788952dbcffc8c4b50bc3ed0ea16f95887cbe8121fce8c425fb0409494d5a511bcdf9a25fb4590dab75c2ebbaca4f66f6c11229f9367c9ede1214e726c8e3df12c764fd5b3b41121fbf240e92873739dfabdee2a634b142810b04d024b48a8f105682b5999bcec61bbb6fbed1d947922ae808cbc5b7c96eac9a7a94a184ddbf789a816202a19ad9c5a16d10a05e86a870eada53fad5d5cda3ece11b304c2da1c6ba743322ed24417803b1959f2a12c92b9939fd",
+          "padding" : "3031300d06096086480165030402010500041fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "129990973396b70468d380897ccbe6930a485460bfc199c7c8efeedf81c7fc6a98f47c0afc29546c92d3ac2d93d8b1c6909642757fa52de1375867a197dac0ee58c5b62f12182a5b4e703ca981ad344411e2dc3aa6c456dc69651cde35bfe136ca323753137b4a28571eccf8d1f0cc4cb4977238dc33827f1bf670d938f5b902e6389c10b564608b396feb0cdca57f5bc3ad6bbb2cd324d531b0c5538de37482a09ce103ef6399cdfb404021c836151c81adf6f852f9a96919e4e78ce76aec77a48bc5eb224a3fc404373e28f07a1488ce2fb3181075b852a87941bd11735b3cd6f5bc0b660031fbf7671d3bb4f8c9f653b8c36e89320f7532ac0fab23dfadb0",
+          "padding" : "30850100000031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "2a004204ec4ec1515b855f1dd802299780835fbf7430f8f5861a4c6d86adaf38159858810d8645a3076fad16d6daac69b942890d6cadfbd12affcc3d3fad8f07e90c2b1e5aecfd9716ac9a12349e4a4b29eedd9bf59d875cbf028bc9a1a0cb4f5ea77b7ad026f09a208d3d39477a1ab59329cb64e9edb6e7e552b8875a73490551df742ab300f254b7805b4a9ad72b650ca944289a9c7c5223d760baad3dea1fc36d2b5961684840939fab0ffaf7fbb7e181ce3b92d9f7eb833235d97431b76891ef910827d110ca9fc88f7e4f98e84d00a98a1b5c6c70d86d89f56bb4f33cc88936db2b7f8127d11cf94d91f56a07aa7880f6a7c3c25b0df691d8657c330a5e",
+          "padding" : "30363085010000000d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "1730655b946726d5db32d09c48c6b06937597b5766f4bea6d2a851faa90d83877887f3250ab9b8b4fef104a2fc0c22d603b28023087536c11da54fca390f4a3bd038e63ad1abf12c5bccf7f80519e941862dd673624ab04390a68fae6e1fc5874ca2dff234172cacf54c565fb999598b372523f4e3730acf43e3a747bc067215bb4f235133a7bc20a9dcf3916d619bfbf6abf0d565bb3e922fa93116725017bb7055e75b455de9b10f00716f448410f6ee84a5612d2646809050eb8b27bb8707b6026c168958b068c5406384e031768defd754d94bc497079982012edf7f966fa81a954e9c9be118001977773def1f29aed719e51e73fa618fb9d61fcbc4b34f",
+          "padding" : "303630120685010000000960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "989c7cce6a8018a5a2b05310bccc3dc0aa8f58fb3752111eaac000a2daed122d44293203ea9eea41eab79d0cae1bfb526a131e8a8bd021e5b98907de2b066a33165c30c7705c7cc684c21fac98d03e3c5e9dffb78d87fd57018cbca50e4cf1bd44e1799c03b0b44bb7a9971c314f2fcb1345269d27dc0375ef89d1062f1ab8220fe57ccf46a04e32b815f2c10a4045fd3b814113c679106f70d9ba9c746be24354e99b54e3dc1aafe2e9d83a668aa440194be87e914eb986c3d21447516efa0051f6a30d89acf520d697776b9b854d49230c6a221c5f67b3d66793b97741200b9f73d9ea7558df17e44de5480d99a4399e72a380c30b314d8b504fe160427df5",
+          "padding" : "303630120609608648016503040201058501000000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "5c0038ea42c3adc50e88f90780e9b0dab64b67c5507f5de0119c0fd2bc7d7a66d6baf1a47c7994fd39e33bd77b31d85db7f7eb1c3e5a5513a507b8c531be20303987382515d84a403ea3f9f3ed7c1b2fb5e5ca7d94458a7fd6fa6a522e92717510a167dd0cd2d27cccae6f29b3dcbd189448834e3ef5c029f6753826ed166f4148269fbb1785bb52a00ca635485c10abc64dcbe1fd7fc39dc9e6499bc72cc0099d6d2c8abdec7beeec586667af53683412ec0491534af62431d650752aa7da5cea0ceb298e24a5166f9df4cd1a05762dca43c5a2ee4687cd230b35d50d811d6cf33c8cfd49f222d5ce2ff0403f95c21f9e6d6d3c38eff74b35a392bbc50f0ea0",
+          "padding" : "3036300d0609608648016503040201050004850100000020bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "002faa1b204fd30ee0d3d6d79274f3b498f736bf6e6b34c0ec6eb418b7a4c105c1a75669c092f52fb1d39b2247a8d5692aaa44d4a4d70b8f9e636dfef370db9315fc1b35434af3ca21afd366c3295424bc1230a898186105a07788b92bd42c56d5b66a336fca64fbe58a843f391fcb58588466e0ba484502aa26c50ae35585eb95fe0ebf248b7a57782373cbac21a00928a091455347127910eb0b9ac35c1bac4a99eee0b718550ad282b4210eabe0602823209902b2bfac9283baac38940800515877366117a2d383e8f0cd09de7c946cff1eada4f1f97c44cbb3bf3562ce21af7f499af8ff40e13b907e5f4d1696dd52e3726570228095b89d4ed958e618a4",
+          "padding" : "3089010000000000000031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "6d8de4a2cc01e33812da2d364cf3cb4fea7c6f37b4314c123eccbb2e4e9ec5d593934c60dadd5fef2a273d01447519573f701d398cfbb72b0c19937e9f7805fc4d354e292c5d0fc18bb872f6843a9211802f5980538ec6b100e3b2b744693a9b8d07654d2655414550a1645f047c865291ea8043137758a13dfb1652ef7dd42182603ba597eace857f39a0b7ea0c9a987326f55358910cb51e4141653e9f3c3d73f09686463433520ef0786163efc39bba3c62cd5c3599678a28b90470bb6f19fa1a56cf60e8c3465f8d7082728c20730227a2a3d2a6a4cc50fe0217f35a45459809de1f921ac5b6aa833a85bda15e288abe640829bc4a0af1aa9b3692a414a0",
+          "padding" : "303a308901000000000000000d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "264fa8d38bb793a078fe9d9f39a484a8d42f4aae23c9486e2d987c7fd18a3e38111c78d4e90a4b0152ef18bcddfc346b901e3029b11ad5c95f92f0c53b62cc7b1f8e489392b323b81f5502e69920e7bddcfd212e32233f569d42ac9c511779de6618ec5411a95475126455e9d3d83d35620eab93f18f7b9080be87298079c5aa2e31f612727d979c7571b7736a8cccf6f3f053cd9e25ec502c8d61ee4a2ac94a879452c4a9aa88c094f73dfe3dc31a5fa3d2802fe2400ee8885f5527100fc82222d4470c979eea045db6e068e9a1b09591754eade5dd48f401da26c44dcdc13ed482b2202b10212d99378cb0f848d19f67e3f3d5351c5698c72f38b2d7f71c0e",
+          "padding" : "303a3016068901000000000000000960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "98ebc21ca822ccf9c7e82166aef286277d2335a8f68d48c1f4cee180bd6003a89e6137885113c2af09e805020ef5c0e13f913d6add5316396654325d04b40c268c3eaf3a0cfcbc5963e5d7e14e8bbe95a8b15f9dc0244b202537cbc561c91e22e933f4ffc96499e6a3b0b33a33d9329f8178f35f5b1a15940f34ff47aa1a6381d8216343cd40a02b4472b5a4ab2f3116803740b947258ec85e3404c375d97ce73e00f9fbace9a53844b8ae669b9743e8f7bf59b3623c0fa1d7c60fbeabe35ad5796a9d8a6d32eaba6c045a6aa2530b6cf1cc045326db85b4f2f567a8a38f58c8d978f3f2fff2098eb6dae5ad4bde60d9d3913eb23f378ce41ba198ac273778fd",
+          "padding" : "303a3016060960864801650304020105890100000000000000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "188571e345ba738adb4d1c4867474faf486c7a4813bb0dbcaf3f051b4fb5205412cabd2f8279930d1038976d5a23e0b064ca804cdd3a5b82b7e8e45c70381386ee84e2b9198206749f79b343677408731853bdeab4b5849abd3e603e612b857e2f63f59ebd66ca977d60e8d66f115394ad06c1c42ca0eafa8f32133ce8737ea606fa17db0f81898de3c3d8f4bbaaf7f6e48aa01424f870a8ecbbc97a6d71f828e91ba3a90c13540c1a3c3c7de2d4708edeb22987574fc9c9be0917cd40b8c75225d71a9b0dc9164d3c194043add6f6cd636a3bf42e0f6dc2f856085ce23e5a9c62f81e120b619551cbeda6e3eb0fbe693b19f2047245281dd6591af89fba425d",
+          "padding" : "303a300d060960864801650304020105000489010000000000000020bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "4c698321f4342f64a87fe6b199d5800af12d39725e449c79706e9af98b51a2d0d724663ab87618b06c49d3c1b98d97db35fbd8746c1d9a61f31ead8893ecc072057ad4004a53009703f66bc2b4fa7fa6826f54e8b873c79bc19ef71fe61a182a8be6cdb6dd35d87d1f46746022f98360f3870f49aceac4bb1a839977af2096539a2d182dfc4bd97af34ea075ba96c39c4a85b3ca83002f97e992c110d40cb6c668eb9fd022a4ef89988095e8c513153f99e37d9cce75a7ffa0a55af6b7d8314de4690934d55895b99cb0882adb346feb8af0480a4fc46251649d6cb2e4358dbadecf27ac713dfda9b8f40cfecb642b39bc1cca681d5628f4fd30e8788635e937",
+          "padding" : "30847fffffff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "43fe92f5ab6b2583fbba40b493ce45f9eb5f9e0254c6e2547ed4b9543a2c3a927d5b9c1c12525f4f94fcddcc4c586f4e16626ef48fb0688e07eccf77dc65a26c28f374aa4bcca05c72555e7f54d896065f3d44a728bd2ef9c8adfa698b963c16b13c1d5346457beb6a66c964330e0945dafc5bf75f4ff26e84c0a8bbc854c6c877ffad409b11627ba951181939ba9a2e28764de34704a5575f43f70c3f4bc5d74f4d651e25f32fe238f193d4ca55c04463dafcc2bfe50e017fe9d3bd319311bd2d972f5e04d8324a4b26842fd66115ebd139440fe89bdd55d10e14aea5d9e3f6a5c5fac4acada9d9e2006e6a0c36f4b94956493c9a582eab35c69c9add972d40",
+          "padding" : "303530847fffffff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "8908cf495fae96c593c04e0bc329ed29cb7fc151c8d66546057554b7f59e2da70b164dc6bc26aa19370903eaf5fb60a0c33ba9f8d39cc015a8a5e10e24d9d292227e1a52bd6640b8de82202c2effc973341e0dbf0bf7a47ffe500309699a9787fa74ced281ce129019df96930d66d1f95619abfd5127a85d9e0aa6757e7c8ea29fa339214074580b8181804bd224dd6d4be45c1681158ffac6ebf5399737b5538ead3fbbfa68b9407fe717d255c7e1f3cd02c6c2793095999d0e35493c67766ce320d4bc4c984bd4af0c1a6744357508c2bc23c2eac58b72a181963d7838e8f8d5f979ab3b9c505f177ac3350657cb84c52a4be3976141ca5727190a2f570c08",
+          "padding" : "3035301106847fffffff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "94ed6235a870a8ac919051f7204f809e6bc1da3c22eaf7df3f238f7b183a7fac66adc90b51688e3e00764a45990845d542b04181d618c383f632a5f5193e77b48e423c0db3e266c5b87b7f38d95cdeacdaeb29e419619ccea4899cc2d1489e10034560aa52f6b17ff5f650659ccbd403c6e89b2812211894fba188748786b2babaf913a03c432f22da99c44cad95272e6cc16dbc44ac6d0a9afe23946d93299ca8840108dfdf25cb25846a8fa9234bbd92ab5712ae6d7f7f162fc76baabf30e0efeb42cf0a68d8c02dd45a7f4fbbee275dc14a96b6d010823d604f46e09dd1b99939a625f9a419be178bf6244929897d1387928e5013a0c76db37e7c048f60bb",
+          "padding" : "30353011060960864801650304020105847fffffff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "6c5623ed04e763ad3bd1f370b1bb67ff8e9029e0c34d81e160c580fe548aed6964d9187a45e8fa87f79dd3d8a94d521f2bb8a52cfc34f76385a924c88e63722a7ca365127c0c56e0125ed29ac2f8c960ddf1c99700a19d42cde3e5e46b96bf319fbeb93c2b54076628e81c2ee998f4257afa27a681e8dbb49fa149acdcce9d55222960d307b2e18b33729a61ecfbb01461e3b159c2c958fa1111ad7b4ea80d8897bfeacaee2afe4b17b9b0c7b19f9c2e394429649aea3eeeab3503fe9966c8f3e6b7f0d5e482d6a07d93dfa1eea617a99e55bba32f957c1472d7605a4ba93669d15365f989be09187a9eb58beb942948b9fc7b658a1c06289bbe0d2e6a1e0084",
+          "padding" : "3035300d0609608648016503040201050004847fffffffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "64401a452e3b56bebb1d5f3cdcac3dbb0a6f6e81bf2fe938143b9df7e8f6380687249a0c30a2bc5ba0fdb1e4d0fdecfdfc74064d365fb8dbca0cefeec0ba6fb4f775b4650839f03dc681c1f78d298f6c789ef4734d0a3ceed09ba8850671911e5e68af41ba2f37f3e56f7864fe4775ccc6af928876290ffcd20b988540c0146db97e333da0eadd4772cf15cb494e366f1f3bae740dbc69cd339a5d1f8a5e608cd61eafed4e85886796520ec5ad7240d11f1ce25463b57d0723509fc368f8f81a6c63ed2c61a216629dcdb9fd226215f8b248e2dbab5cd4f62600fbf921f4fb666384333d92251578dbdc5dcecfacc2c4435a211cc984346bf254b7cd52aa2bf5",
+          "padding" : "3084ffffffff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "8998ed832b496be462a431b1b32c3696374d816bbdd2e348d98795a5ad27b02766aca9b161d8e8c94370fa38c56ab0ea9aeaa0bb37fee33a7bc27024024d321b25504874343cbd50dc31ef1429b16e2ecf53deeef15b4a8e5a447cc3f1b212179ccc5ae4a62e5af2127c02e53e8a23cec5f1863ed53e62f472ea65d599272a5e4c0a0802553f31dd22103b7fb7155fc8ef4a3a7061f78f6e72c265e561436159722da4b8850204a7d85f7d45c18f5ed4e452cb146c47963e38cd29f2dd3652720fd4206bf96ba2c7601895c8771d1b73f03fa88ecf81b8a8f2f290094d85521048ae0c097460cf8340ab32262115b5332abd75950d46ae77ff03cb618dd69e52",
+          "padding" : "30353084ffffffff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "9175f30fa7863284e06e3a81a23f56b639d0ae37a4f42779c71a6765e6a2e94aaf76fa32e7c29a8d936b9936bd02181c2de75a41a703e99d35ffd4dd3074803e77fddac42fb4ccdb5793b7e6a530297efc326559253d493a8677cebace5ce7b5f5b61c253b4512c3fd58ddc94a5e7c241bb4046ee1b3d955a80d02eacf0b231b3093cc17f18e84ad6d2631d225aff74f66f3e0afb1ed290e8ad10ba44ebb9e3ac198a17044c3abb4e41c4351a7d6d86847f654d3839870a78641aedcded01de60665d8edbbd9d7ff46953d2fcb6127c3e4864a7a64cd4872a2f7074e4ada781e25f18ab3b60d712775b45cac1230e403adcba7af3aad81e532490fda65c5f044",
+          "padding" : "303530110684ffffffff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "12c8a3d061fad3c4cc7b6cacb83a8abcee495ff2255464495c9d6a600c6e64a57fa9dcb18cd648ef5133dcab0f1a9c57361e4b2b9b0b996a673615f292601fea09dad776659b014dcf62c35ac063dcfb7186fadcae0b506e7b95c2b8794d771856d0ecf907025675d980746c5dbeeb71482ba4141e50f67dbea79f78b40875a98ec80fe1d7fe2eba043a966543a79317c28a824c3c6b382c0c57068a3036687fa53149788990dacd547723b3f0051f57829b10aa97a15cb4f9fce9617158e77a8399a22629e9d4a708114a1497d0465e3b5a4e1bbbd0096dafdba7b12cb10dbaa54834025043055e5fc6cec45c6ce9c0946e055ef77ed49522892a267ea2c123",
+          "padding" : "3035301106096086480165030402010584ffffffff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "27e64c5bc5ad2b95b745e868c21585b53a912249344faa36cc0a963bff4783ee128fa6a8251991c76cedca73b70f7fb27210dc89a93574c2e3a61a8ced2986a1578179c969135656b07502a622fa7c4d208442a8318509f0a736fed1b0dd33dc8a30a5c3249aed7a0aef71ab8858d9f1f9cad06d9802ca9bc125a7fc0354bbb55069d73434b98aa9c7be61fab59fd5c96cd0e64bf704c1b213bed2cfe97e66fc6f6b061cd0a9b01421784c32e71775bed2bb2890c8135c42372f208602ad9c4e3e18ff2cfe24871598803845618308d7956c8314a58eb188e083fed8a11533c933970c2bc313137726273f09e36e827c9e1af36b7ac450e0b544a03eee9a074f",
+          "padding" : "3035300d060960864801650304020105000484ffffffffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "09634aaa108980fb190dbaa425d9908a4237a2531c6471ad47dced90ff65e217baa0d9a8b5167d1c07fb414c88214e6caeeb6a1809cbf28f9c6083bd54cb2fea79296ad2dc1e27de2e96c056842ad7694391b40c6b6a6693c64fc1e3dab13185f8c1406ad4d2c39a04c3f6437519489b3d6185d9415d97e9cc405dcafcd488cc4b93a9df5100c1fa8dd31c60575dc64067f2fcd26d1f5c44919a4e28ae00688487c279130d087161137d6fd480111d45b03057bfb7f79ae75362439775f28e84839156b9f1fd1aac698f1b1874ca19964d30a725e92d4ab784b8da18258291f86e0116c9d3d4be6931568c109068ec52af3a26aed5ec136abadab1688f06488a",
+          "padding" : "3085ffffffffff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "4e63d527dd005236fbe35e838f51ffb09afd2669b684d9bf7488ba49730154be9147a63dd33473ebf547272cb6105b114f72f544e4568d45dc814a3c5250acbcbcab008dcaed3458e02159bf5be9e4b20420f9e4c075d27bb980748528327a1bbbc93f63db57ab03e7fd86c61db3ff8c39bf7d818a26d573fe57f5010718021e45299624e25a2f5acabcb3a1ca608fbde28d13cf74a3f58d283fa5a41e875854cc480c5948d2c0d57f2b857988a28e34a7dc5159c86ae1f970f3e318e9dc9d29641a521eabc66353ff0dbea4f237bce4ae546b8d05f6ad19a4ad8d4cd086b22458b311eb970ca33c484f0b9dc544ed4ddd88e7f70edc32702d66ba570b749428",
+          "padding" : "30363085ffffffffff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "36f243ff8df76718fcb54fb3ee26a497df468d14cb2e9463797349c85de2fd05ccd1d3c8b969414add075a55c9c4eee7c1b046aa5a9b65c47db59c236ee44b165c38b224379d39b131b63b6df44d6119c947c01eaa14980df1a5e8d7d6e6c5e8306151b16dfd001773331a408b7442dd83a63adb705cdc171d4b43591817a7abec70ac6f85a73db930b651ade05c9d119b63937109ea17aaf72582427e174ce84a1b82b51cba8483d41d06dba51f0355db3e4f48aeeebc3df5942eaecac74ca56a588da107df4be3edd56c4510f12b85760da6676b778024fecaa217cd0f359834cf2fc94985136001d50cc7b38d6f7c7383d3ab58df97a464968aa651d6ddb0",
+          "padding" : "303630120685ffffffffff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "789094730a65d2a48085a67c9018839b2187bde7a2898c13b17fe25e509a437c152f9376ad710423e8a08e6c98fc43f9039b630e77cee3629791bfeefe37eb168a46053c80805221fec513e796db2d58f119ab33b6d0a1a62e1fe2824f2d5145de791d651ce86ea84c8740ed423938339d786964139b6e62680c991ab404cfeb166069d8c27a560780722d8b6b9299086904308458b47b9d85ea48fa78f861b396c630b3bdc1111edff7441b37afd526a4066e0a130b0953d51e5c3812dbb054f188440e5d0cc8e134a17e770d5a93d8b1cb500c72ef1f49b7e760828f92ad65050ebe4131ef295c7f8afe19a0d0c5be318353641d02262d557cead9a6052f6f",
+          "padding" : "3036301206096086480165030402010585ffffffffff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "6cb9ed3d4ae69ca29c8d865135a86758317510bb3576086999f6985c9f605376f778e9c5f3b80ec6730be4bae0cd4d5d2361a3441ff41118cd4ae3a3bf875c7725f97fcf32805fca3a1e686d408fcb4695db384a179d3c59e3260b17031f971b1c5088ff1849022dedf2d1ba55259c407e57bc01203a2397c7a9ceaa1053a1a75df95ba6a9878e1e40237642c7a4fed84162f4124a1ad45e6f4b98b7e607d730b872467ccd0079d2037e2d4850ac59cddaf4ecc0d2070983f44155eaf26ed4b57308a44d52a36f8093ed35561130e34708c9a3a33285ebf11cef99a4a06fe9318c6bbeb1e770cb71e1645fe343652ec8174aceb462745d4721c8af3e3d2f4b54",
+          "padding" : "3036300d060960864801650304020105000485ffffffffffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "467e9fdad9a1f83ffaf7622a156384920eae46b89f63c3fa61c5066786c34108ff73213ffc7ee9102f367726854aebdd9eaed49b32c88517e136778dcdd7e231716bd618261615d029241a77f148c1e5e39777a9f85fc3d4e9320f2455cdfd3280184ae17e35bd9be0a0a0d1c2a2d321a3bc86588fce12d929de1a2f473026e0920b1cb8b6dbadbe3810af22a3e95dabc9553733afa026e0c7847493182aa1f3057a3b227775a3d7ba139c1724b3196f6300ca4ef457c2bb3f09bb2be6fb4e7caee6d4502c962291da0e499213209a28cbf2c4adf5d559e44075631c3035990aceca49bf6161203390509a80bcec1d274f1e9a1bf26c9f59244a695adb2c5fb0",
+          "padding" : "3088ffffffffffffffff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "063b7dddb7483a77af978f1f09180b98557643574b40522da25e8636d5e5a71888c79ebc5de9ba6ac0e4c30c8dbcc4399661b117e4252d980822cee7cbd4d2aed3a10f91011d11ff92228d02393cadac68030123f52529d76ca2d41546cbfbfd28a43c5d52026ff582a6bcdd10a3dd944fd7232bb950ed162f8827a5625ff322bf98e079dedc770e4d586a7f28b4e19452a353eef2defdf56e0d07dc2fe5625d91651629c5b7bf6e180dd27a1cb51787ff264f0138b46bbbd32c5e1ea63722b4baa8e235f27e283ba6c46f1af28bd744e2db92e326ee7139b9e5370fa5b5e2c2bb79b60c9f9e305a8acaf29340edabf7531d17fffca6f43ff07ef5cccb50eb32",
+          "padding" : "30393088ffffffffffffffff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "7757a37d09443fcd3836e17cd254d3d03dc705d23f1d656112bf3aba485ee6220c7844912405d41978a94a2be8a16d8afb098b87f2b641e0f9a7d3845b02f10a7d63c2d871cd1d832679209e4a8c66095757b723557a7fcc9a7b6f6f9bc9a167364412905e38a843883fa7b9761e7fa664cd2bfb0a5f0043cf2a6eb7804ea07f79a6ca6633664b3813d8c6e95ab7f376182f315b7c6b043913e19759485d583fa92a4464d76140a9be4305fab54219dfe69590d6841f024bc29d48b39563b6053456dadcb8c7903c7bacbb3a80e3d0a8acfd222758b2647592ca4c4f2bb2a26a04ef15ed65e90c14272d15fb4e0464ed31e0a3203c6242c102f480aac6bcbc6a",
+          "padding" : "303930150688ffffffffffffffff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "8b2e3c17fe8adaa8e7c8eaa0e3d98369131c8e9b76f36bc97fc95888c4a0f6ae4bb85fdb2435bc85d6763dd07dd923e29a8eb046512279ff6947b12bb2e2a6b6a3ccd64c7de88ef6b53676b25472997163fd7da09815af219120d6cf58f3a0fb3f408ebedf235e5e0d7bf6231cd87d95cd26c2ed506a0749abf45884c22d795bbee01b01884eedccdc7ec04d6394e4200233b8da3dbf148555e4168123749267f0ace21e1b468ab0d4f99a59ad10bd3bb35f517836d0034e53efa6f4a042434a69d6987b59110cfc99267835d7ebd2ddd0a621116e0fbfeb1b60ae85b9e80bdcc52fa3341f82da73bbb841a0e665b084c6cafaef5bef5de609f4f94005488f68",
+          "padding" : "3039301506096086480165030402010588ffffffffffffffff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "58f32013534e2feaf9a78986204ba3912715c4ab8f1e04ad4edff544a3c29d80959a0d5a169af564a4bdd5a9ba3b6e485cb76438c3fceaed89bd7d3aca0096627cf2b6135914c7ace9df9a9c8b5b1c97ba2db844c5e1b73d105fc033571ef8e652e4d95bc8605b28a0cbf92f373e2f31a6fc254c2eb9ad944ea376c150b88bb1887848c290d42314f1c512759d25ef7a79d18c8e5f81318d28f9794f1d6cb30be36bb30c6dcae2cbaf489678f87a008042c02e6eeb067f99ede27043b2b4166d46e1ef02cdd26e9189dc2794bac12334e34e8f93bff071961b52e693f01fd875af73784e8d142a22ec9c477890d47edce8251026aa4e4b001d0d046bda8519eb",
+          "padding" : "3039300d060960864801650304020105000488ffffffffffffffffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "5afcf0d327a427f6d51b87aec24789fd7ebaca9c4eebcc307664aa6e92b6acc22b112faa3918ea3ef24552665965842639a532a09b914bcb3b953a0726d5f88eeac1bf65bbdec56d55bbdac534da0f83e182dc8cfd6e9a59095bc82b5f0f5f56a1163f716ce722d80394a712bf0d5d24cc13961079082e4598c8df5510e20febb3d1a778fc5876c65a3e1d3700ea537c8d67f7534780fa8d1cb0ef9c39e439dcb8a4c8b76a723ff8309e3f3cf39e6cdd6e52edca5308aa6be2628608d5206e82251f9f7cd711183f3604d83e1c23ba71041b92d33a695225b1a3f61fc742f969726d79504b224be259e9115f1988bca3c1e2b61541527227c3d629b22a95791a",
+          "padding" : "30ff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "543ffa8db719767c9eaeacdee487311bd4c1d3b6bca2a07c6a3989eaad5f39042dae40b45a9b5aff326a2994f36f0a2a59ff3d46a3d4abc705d26afa3cd35a35bb662292c6ae3a47cea9b32de37cdadf797cf72c7c62f7c9b61024ad8c7c82f5efa27c8dfac28840677116183f1f0721fa36ccfc13ee5863589b0433b20b6e1c954cca97b3796232a3b0b2b6205382de80db8487bd00b620a4b423acfcaad649a683b915de7caa65a4efa6b0a1249a6d90348171b816deb0cf8c99013ffd84b8ebdc660866b56545de6dc4aa23156cd86c5bf3d5765ab48d8d601f43dc898ea6e05fc0460a28bfa2a776e8917c59f02f1c8e1cc454558658768acfd717718c6b",
+          "padding" : "303130ff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "1b7e55659dcbd51e3c3de5eb5cc2c4224009489948385cdc8d5e564a49402ae38c1e51f2fa9affe9575b2f768e21565c39b5c0ad107cc1e5e466cc77328b8919321ffefe5431cafcac48bd7d45fb2830a548cb1424e3c94ffbd85e9bc4e6392f56c2b6931a301230b37135e93e460a30026da53bb55e3c6adb68800b694172174615bd2e749e8678023cd7c07fa3021e3bbf75a7ce81ba849efecc3a7d8a0af088a5c437b114bf45be2d10d2280da8a6208049143620134c76933278d54c236065b795b005ffd7be8dcdbbbc7ad822f3ce7a0426dc4eb0194768470b0e7317466899f60c40ee3d49d7902b9c355f6cad7dc26386227c1fe8a264d3b7c0b830e8",
+          "padding" : "3031300d06ff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "4706e77141ec16f6936a2bfc200f9c5ec3e147be7e2e6b71790750ec513ca2ff2ac2a84b76fb96ad5f9af0c766af1b7fe8927af940c2487631fef6f7fdbed533df4f5da4f1aeb89c8f8a34c3a6ed7e5e10e28fa1c64f33985ada66a92e9c3b8b5f5366f075b2e9ecc0a41a061712ccbaf2add75254f62e1b66a820924b18239559791dab3dad8f60500fbaa3d76dc754df7a848912aca54e6cf627c5e9f9db9bb22c2cd3ce0fa13838125d88e80b3ae6baf8b65f0530885d307d47f1e3eb4bf6126dd631a4b6de235ab136886ef70d2f483cfc962cdb52e291ca899d108b9980b91eb47087b3132d154c317622077a28a904de3daf415a5634d79625f926fee6",
+          "padding" : "3031300d060960864801650304020105ff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "1a6de4aae4ad4de60bf01b8557e47a805fb435ee7e8214b2152bf22655e7f3d6c7e090a79674acdb67126a7c01568f5592ff68d4210104ab92eac884887122b3d489055a55a4d7407862356d192a9d7f15edf8a2eb4ae9ce615c594c0f6918a427e5e27e725b292d2109d94de5afd37d1228ffb293c73ea7ca1c6add14e8f420780d2006109a47d04b70eef26741b846a47387d5fefaecb391063ae1af3e77f493111493bfc5554e164dbc5584f74b3fd833e6d1f3d346d17a3bbc8c171d997d06780d9ba149b688ec575740313181de87f371aac306cdb79b2d256deab35b1806f63aaf2eec73099c937a94ddbf706189ee046fb060d0e586bbb7f951e17861",
+          "padding" : "3031300d0609608648016503040201050004ffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "5f912ddc495c20f1975219b0b5cdf0629585a98d5565e8ef2c98fd945cd851d703be32da38e6a376c1269734de5e72734cc685cded8a31d430f526dc3788dc2b54de838ce6514ef970afecb8bcc0b2cfe0c5e8de29d2a6c009813050114374e1db8d7f4cb714ab291a6095b7e2713a28b5dffdbe3ef127307e10155e0386e3af886cbc8e1b9b66086dc9c48d07e460fa4cf66197414a4e1a72f6bf09ca94964d668666ec1daeffc52a3384cb61abe1a4ee0c26674df776c7769fd0c89667a421855de0b060b169eeab02ce0005a1e7d7a126c8583da8a4900f14fbce7ec1b4120994ebebd3e97e0d9465bfb53f2ebef725a10fccd0359a2724a9ca18b2b7f715",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "5dec8ec2a5ccc79cec9d4455a2479f562c049430d572b98e5bd44b83ccf6a08d94cffe4699dd29568dbecddbd28c92c771e37e2ce716ab7455e4a92ad87f9e5b76aa1ef1a08e3a77633bc71b3756e3ac956eb8d5974cb50b88a6f49f36d5d0e84bfc4d379621fde3bdfebfd9cd916e1294c854330218d50aef788aaff97e68f7cdb2e7a12e8350dedad00a0ede2d72fe294effd152ec33f95d66fdc648904c657eaf6fb0c322f5881bdc1f16305c3ef90c3df597a0e75222b82d79f5d6dfd913b2f9620092f418a3e67c48823b85e96b1fe85d306f3653a799811a1ed3dc612461383a6c1eeac737dbd2c6c20fbb56567bf544d199a474bdc38621c8b9bc7920",
+          "padding" : "30313080060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "a2ada8ff1c1821fadf49dfc156293dd59ac8f51367633f73d2200bbb65bd960f7b888d1a843920044ce98528773f3d3df57de92f129c03e1f6d425d39ac83978c7c8ed7cdcc8d47a778350f99f8fde4f6028d5ea77d46091f98f72279c59fb39ff8f73b35ab1c6748970d325c65ff49fdf833e8c2f40621bb770f2dcbdfc34fb22422f0105f5f582c90be73e664c215cc6d89419a8909f0d13f6535182aa567d4e16a2f7ce1e562a6cda4582304a5cef821c538de46c68509f3936166c109da8ef13f2000117644024ee1ec10e8ee4056879c07a6604956e1d03828dae5ae0eb60c322dbc6ff183a57b258c06a2b837021d4df94baab66be636b505a5a5b2697",
+          "padding" : "3031300d068060864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "743209d44a3c907ca08c0b236b9cbabcaf210bf522de862005c977bf7099cb7a38eb9fb15b765a044703c9410082b6a35a7866821f33bc2e2a58ca8bde08b78ff6b3c53e771f8d7fb43503d8060a884ff6012101278564edd6d64fabb6add5f4d4c62707c2ffc45f904acb43ca2ab5609a23daf9cdc58aaaa638f6325a54a5e272b253bd57246d0935bcd19c7aa31f878c474c8298ec567b6a7e165c2e7eedcc80748953c90d20699ab8303062580d4693c058ac761678df6c875bd91d465430afc93cf0bce027ed00a35842ad560d79bb640cf3ea55d8ade362c258fa707397663fec6787d44ec075d857a6fc55c50f8df898da77252d8903220641005177e5",
+          "padding" : "3031300d060960864801650304020105800420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "098464aad869fbb37c36f56d750ba97ba6bbcf96c9e25d92fbd5778fcf214f6a24d1fa276a14b5945320eeb37dc9ce4cfdae21ba57185246052ae26718b549a59a81cf26387356b3d3fe39a45cf303741587e664244233fa2263cfc6f209f796112d61ca5e9f16e362765b0651e8e197920137a3842483772428b1088e7c1a7aec2152b62688c5655410ebc4907680753079706931359e893ac76ebce92a3572c7eb32c58b386d7ab0f3af24acc5047258b5b7c0db4c1ea4a4b64203d65aaf6c879ed89bf046ce5ffb1c647e95630ca485acc9fcd6beb6a5d17bd54fb518cbfa226d9738beb55325f1883ceebed860d54f5db3f1670ca910762d877f78af80d7",
+          "padding" : "3031300d060960864801650304020105000480bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "498209f59a0679a1f926eccf3056da2cba553d7ab3064e7c41ad1d739f038249f02f5ad12ee246073d101bc3cdb563e8b6be61562056422b7e6c16ad53deb12af5de744197753a35859833f41bb59c6597f3980132b7478fd0b95fd27dfad64a20fd5c25312bbd41a85286cd2a83c8df5efa0779158d01b0747ff165b055eb2880ea27095700a295593196d8c5922cf6aa9d7e29b5056db5ded5eb20aeb31b8942e26b15a5188a4934cd7e39cfe379a197f49a204343a493452deebca436ee614f4daf989e355544489f7e69ffa8ccc6a1e81cf0ab33c3e6d7591091485a6a31bda3b33946490057b9a3003d3fd9daf7c4778b43fd46144d945d815f12628ff4",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "4da37914ee4ecf0c0973cc89f9476e2d872eeb2fdb3eddf6fcbcad9b21b8eeff2dde26be6a26d5d5aae6300b4caf4f77f2ab7907af2434026c3369d76268c88b1a4c555c9d54723b17ac48ca1118d94e147a4c63c2c4baefd244235cde4f9c254bce8c8c21b45b7a2fd9d5971b21abad1bef74b9d5583d352ef67483ee611ff3f97198c023cfc56c667c81ef03bda4729b2eff85c24e75aafdaaa4c0f47419d8a63fb2ff72c074ffe985ec7f88bb0e93cfd375c656137722fc6aa45069771c6c66d4b109a5dfd8500331d8d840edf9a5c8024b2520daa56641ead240033b0aa300ff3f951009ac46a97ab9311f8af9467b8ecbde36c9744e44168314f092529d",
+          "padding" : "30220420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "1aff9b9ad34e142421069661c71e35b98108a8f976191b45a97cf12e8ae8ebccd64c0fc6a795f4ed798fa4a2f79746c57a86f894110c1a5402dd72577c2bd9817a9e7a1b0b7e389527428140d53f4918b305e154f7c143011dc27ddb874c52b57758a3f4ee4395108897f0cf7b4fd7136ebf991dd9758bd2cb85cdc6f9d96a40f8e6a0c12970c18325d5742b80ae499da45655f972f33a80373a93572fe302dca03cf7e004690618c5b725e3b9be6e05dfd0ab8f28b8b994ea202875268837d3876681a63e88a410a0bf4a4c41f7336be2799c6e62514a5ee0422cb6d5c57c2e45e9f96d667f8629e0987421f01a9391a3334dc1e8a35425501bef6641f9e6de",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "7a1eca54a78ee1e92b8c29d667bc89e9ffbb404c5bf13a87a864e99c7d3089c458865a8e3ab714fd76ea4f01edf15e1f80fc9109cdc53184de1443efa533939f498bac27b0f127beb07e4f788ac5d9390da29dc156aa156d342158df68b825732a8d8e852644afd1bf230bf01c15ebced9f710f062b5aba0ba0edb2c1bf9f4fb453d6ba7cc9808d763930b6d8dabe8224db6004aab4a9ed4495fba8ddf371592b05bc057aadeeb3d4b800dc849eefca86f7414b2ca3af53e04b524ec566f646974c17acc6c76e66f7689b9824cf4f98f75de9b3997233cdadc1a79679c47dafcfcc107351f7e64084d67bb986dc2cf693f9e9af2d46c5f8a560b1c7ba2d3a202",
+          "padding" : "3023300420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "0e6eb88e130cf0d79056bdcb87f016f99edd9f35519c44bb509a38cd346d996e3d9b7b21a40fc976a935f2904a6423dc0f251d8a89c4e1424d3312b1e7e0c14f057fa3a45841dcda2bfcf107c2103c0475cbb34d4c769e98b08cbd35964aefc3a8dc4178725c16ed7da6b438107da2488af8fd5cb2c15a8849a531e1a955c40cd6c147956fc3e8a15a1082e9e9a7878efab929c50d52fd6c14cad0987f667221a0c8ab29a682de04e437b20c82e9a759291dabd22fb38e86121b71b3ab473ea0977441db6b137d01b63e328412996ccb8dc27e57c8cd6cbeb31e321160df29ea3151f34ba36846495b6e4bb766f0bcdba00062265ad7d01847e22c06a463dfeb",
+          "padding" : "3033300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "755f090081189878ea1ad03070944d3466c773ffb2632b045ea28655c8527488aca42357718436f6c9222a16ac61ae8d752ea18dcd9f0c5370e76730c31eeb772755e3a763509a9126b64007341c5fa48bf95bbf3e3a9ddc36096625b0f6bb27108dc1c4bfa191d66a403e11df2838fd401215cd2dcfb5806ad0955edc2feda4a19e0d84968a6e1756036bf0aac8990d7b8bdbe45a6c0edd8f55720f105d70be7e42aac114a528f1b3beb81ae796d455beb05b4936ea3b0893e8c2fceb8a6b8e1bb6de37c40e4b3da2a1ebe9a52244a5f4bbd1ee201d218d3a120d6add7171ab56da3062de4952495b602dcfb4404d0c900144bef9d46cbce6d7ef936160342c",
+          "padding" : "3033300f0609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "8083dde7cef1b018fab0e9aa58744a665c24dad0791dfa6e8fe3e95b320a94038926f6cbaaf19562fc53f3a69e0aca0d9780af9eb9267f19a081343294356fba81518fdb961574a7ef38625c201036ae954238b889c8eeb3677f7f9df07badd5f27ceb0ccbeaebedc41b977609f8b964f028454b4406e22e0034c3655ab499d01d1b6be0c19bfc9e4ee2e209dc033ba1a66b50ffececa532c2c806cd2ed2586325d5bbc57f42840d8df88636b488ea363bb7f3ec35d65a635befe9d96ce2cb8c4b7b0f90ae3eea677debde8c6b2f63a0bd6b694922ffcdbf8e54864f4a90202eff266678490e53923dc48d70e9fbb756536fe6196553c8492fb5ecbd0a5e66d1",
+          "padding" : "30330000300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "85a965f4cfddb17eb81195bdcb081d307fd7f218de37c6daf043d1be8c9bdfa85b3a7a0951569e670cfcc695365dc45e3b9e44a7d79fdc3b8ba92912a642ecbcea85d56654161b777b280b46be78abf7f0ee220dda1ae3eb4e39fa7ae4d2511d4111b31fe17dfeb897bad9ffb1fb367076ab336b1f48530f7d39f106cba2fb8961e59ed3b060c64f5b2873ee51ae59526e782afd794905923c8753be18ec9cd3791e96eb00433548f2f2da478053c7bc222281e7342a0510224c9f9e53c082a11331f0923c44da8533b56563adb781c76f4bc303ac5754bd6d7448df0e23e41063992ce6abb3d31378be040aa815fcbfb333559fb402124c53f1a5b4e6fab559",
+          "padding" : "3033300f0000060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "51e52edd65ff6f2fb812d2fd4f3f9852eedd745630c9bf12e6f63347c2c80402ab0da654155046e4831ea02fec6dafffe94e6c450a96cf56831a0bf8e48b99456da7e17b9f642e9d6e033153f740095a67c86f5fa4fb37eec9cffacd7dbc368bf07ee00050606748dc887fe0778871ff64953c249244e78ceb4b62efffd2e9cae6803c25504a67fd94941eff1a320b1e0618eb9cc350d8241892adfc42790f24745be12ecdc63f891bb6c0066ee28895c78a9f1773ca527e976eb29abf4f649f83f0fdd7a7f72b7dd3343149b4c1b699588948e5508a58bbc481fbda5115cb5822cb10834cc01989264c79794ba032967271a7d2af9c12a493d1bf3c070b7207",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "84a55f8bd78994a9e204bf57292e1c29d663a8963c01225686cd646ff8b23f7ce6be18817bfd284d2649b075fbfe233a2f8cd59ae465af14602108da6bdad31fc97500f791ae1bf4459a4b3be350362b46f84697742c6fb6671533cbe73dd15304e7c569c673c799227a6523a54eaa4e4abba2e451c3f75cff2ffa6cbd9b04cf4a73a35e6bbccb4445a99a1380fbfc2cdd5fda03bde573b4bb88a205fbb38344648ab03829f4e3687117ef7c12522ade2ef736b24633ddefd0ce6da208e860ca6f3a79492bf4db6b466500371e40de78d5d2708c2a97999239e38852de7a02981203c8402274cb1aa24fdb3e2cd27a4305b15797a498145848e74d5dedab41f8",
+          "padding" : "3033300d0609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "19ba81c3e688c41625d6714da91efb9bfc95a634409325f1cfab3dba44b807fe063740fae7604a839efce051d254af50efe044bec96280a831ae8e4e93a0d0611e0a43de6aeafeb3eebbe0d6ec74e84fdfbae3ac8cadf657fa342921274be801d05e553f589e8f48d2af38b79404d965e0a4def7c0975d6d9b5351ea82451b6bc26db3fc64729325b059f45089c90f5c8792933487d4c5317b62a02b9367a99e8d5c4148faa1781ae21200f1c39be49353d0976502ff19e08f374ee685d58f14dacf613fbb3a56ae3f1bff1afc060ba36aac11e2d038272c01c430bd463fcf55b311024cd7ce10bf59c32ba3d9943f75f8f76870bf0a8dc3e786e0718df3c01b",
+          "padding" : "3033300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "2f84141b773914947f72db6981d6d0815aa77fa8ffb0444c13b7612d6d89038b02eb60a7641dec20079d6d87961502330f228b936aba65ff8c59a651656bc3ad7a3131e55312d334da0f600f3538f3b65ed61a5d298e32f74453385d09ae45eb93a4d35ed2dd7a7497085d5d3a36e65f1a0bd8683480397dad3b304e49cee02201a9a1ca5b778e91e68ea35ff72827f968426465845698ac0999f7311e5c532438e8fb494d8d92efb520293c503cedac0036fb42907e78377f897bd7b94328f6a1a594ea2ce3770a49bff8702e534798e1eff6324310c6ecc71e5363a0b23f5604a2aa245808b72c9f6eee364bcbb22e8f144460c5300d3f89f3b8b6fd26c15f",
+          "padding" : "3033300f0609608648016503040201050005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "5e97f3122d202fc0c7688f28a0eba5f5ae8795438b09f6532a2bc3e75a164075146f72e0b3397bf086ec8e7299b67f5c54e4263aa0111f4ff3c16de9aa06682d63be4d8e82b5e2b3c15d913093e29ad844c70f9ff9b3a084d41648e322a2212463ec758823591117e03d90997d6264e5bfcc15b834ce7ae785bf22399a85fc454f6fe9cacae568e0d9bfead7ba998cfa1f25a1b7392edda3115801eb31c9bd0eaf6b5c070224fed09fdb071f87266a6247cc4e3c72c591c5a88a6b41241c491215512a810efa993b0c77e9d3ea4fd78fe9ed4baae8cd8d41196efa3d5f2fa2b4fa6c027f4c385f98c88a296cbc5c6459f91dee01bbdfa059c50b42639641b29f",
+          "padding" : "30364981773031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "8f32f73f3387f371465e3a75a0d1c7df7c52c11abecdb69ba83602c9f8980177e7df76438f2e95ccbb031e0ab972c30279dd2641e5cb43a24ece04d7477879bf989e504887513eaa197c0b5e6365ba62134eb51fcd3a713c69acce9332ca50ec1796d88ac9921631a1fa182e6fddbeecaeb9ec468773cada71f908915259967fd7932f41a3734f09d230b1dd487f3ba1df1ad1be8306096f3dcca684548bd458b0211738c79a8104a17689bef8bb9050cf59df1b0efd3aa3f203b10cfdbd3deafa36d79802126de196c9bffa362b797ccf253af546c4751b68f7a0b819a5b634a9baa6b981b1bc325ecf2b0c48c0463f85b02031589dd793eb682023cfdc7058",
+          "padding" : "303525003031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "2f02de916b44a1aa31811b48ae20efdc26319f2569fffe23d0734dc4f4085352945135b209d4609bace95f8b850146b35f703854d4435536d00c3fbd9e9fd93812b4741f64c33271c01ded56a6c103121dba041b6fa1ca7f9f8e26fb98c6741ffb9e2c7abb10d3581e8f0a8ebcefd386957daf36d0aed4861a2b480467eef8fe5109012b765c6219dfb260a2aa016432dfe74ff2e71c2a748d9c99e1a6a9a98659ad6b5934d7e538c7aceca9534e6a48d27469a6ad582ddd838f135a5fef309e0efdf815485756e7d8046e0db84cf136a725f5defdd78935047dbba4dcca1ba153c68cca59844e1691dcfce73a4fb11cc915a4ee9549c26d08a86ec51a69e104",
+          "padding" : "30333031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "1c6cc57e11fa138c36bdb069b0787fb67a46c70f39124ab2aa2326386e0b055b8195897e024a7e43b7840df0c0d94459830cac7e33ec3f127cb1e9563167b61b3767964122a243e95b15ba9c8e1a992e20d4e70ce14134f932cb5453e795d84fe5856dc5ce39da38af6ea4b6029fafa7f804977ed075c30412ffefeef27277e541e3877f439e49154bf25383c9517162b1d6e469f5e861c385f2e8c45fecbd26504747ce9378f3f25a77ada8ba8343f50cb040f2f8c224d16834c6a4d97b4b8af5d1a08598e9b7c0fb1026ee19feb2a7063f73d78bb9cec8f499c4f66c1fe55049d4fa183b1a5779240b9a7c908c84ef1405e8ed3c53cafb92956d1ba2445ac8",
+          "padding" : "30363012498177300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "077b81fdd849f2ef237cf278e10e506dde35069cc046c4d491cf74ce419f11e4cadd66ab1acb99a33f23654a65c860c9901ca1f8ebca29f0cd78e8eda1f69eca20eb12a6c1448eb679fe5255fdf634f3fe2e716c590b5345515c02636a4f2ba30a2b62efcf5cdc13a6c09757b2d1ebe5943a7804249f5ce9901d95b3030eaa0a2065d9fb5eac8006a176bce1f4ac537941c6d74c9dc73e85264ab058cf5043633535b09abafff891ca6a83c45a7e998de6c8b9b275ae9fd0e7e0ada7ce1434146ab6bd86a6eb790d724b8d3ff921231f92d5fd86f0634ec45b911b07cdd6f0fe275f22ae2219f9497db982e55033dd9867357e6a09a9f4dc281c6aa36d8d984f",
+          "padding" : "303530112500300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "048d13daae417db317d655fd73b112cfeb8cb8be13cb34bf3235cea1e81c4248a7657a005ce89d81fe85f4706a478dd9739fe438373edf453db22fc3480edcaad7acfbee27424173ab89dc37aa50c722a9404bf697f333c5cce65c0394c3a86845029bab0f3e2be57bd98b707e3caeb270d5c0ca72f7fb11d8d6e4717cd0dd6dec4ec5b0829c66d44ecfbcf0b9b46aad8f192c66f1da67c2520fbbb8cf847278ffc665b7d97760ed0581cfa4ebba4333f03f3f7d30b366ee313a8dc3eaa68f1c596b87a848ecfcffeceb961f0e970da56aecad945dd78660446bcf7d5890d0f66ec012c8f2a84a38ac528050a9dc883fbe95b7bc9f289f7762292ee51133ecd2",
+          "padding" : "3039300f300d060960864801650304020105000004deadbeef0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "20c0e1476060b1ed708c5f7e15d973eb79f23c14d6746cf1f1c0fdc0fa9c3b2acf6593f6d67a541ee279751b384df714a3ae13c1919947638504f0caa2c84291ea00f5b323b38e720035e8ba409b0ad77ca1ccfe909582c4de83e32661be7da06950d959ee812471d878563c75469ed82ddf806a06a4859166d7e7a65953779f9f1a3b72a2063b5c5e6b546beb42bd7a41cca54ff06abfd093a9470202856da9b8709bf1615d7a4520f6842ed29c8911c701e312669d8f7927ea16e4519cb573ac1915061407e957d0ad1e2e732c4f7c75f4c5ee71f25d0aa6c55d2ef7af05deb50656dfce222cdb049a77e6c30d6d8cd1a88938be1cc04ddb1a542409e6a881",
+          "padding" : "30363012260e498177060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "210413ed83069efa72a4215cae4e59f23edbd5d1385294cfca4a8408e69200d3bb73748ca484a5af10b5e665e23942c9e9672ace86228484a8ab0d76f8f5ba63d66c1c6b8d1c032f82c531e4a96856d19dae24b7e090955e9c5716643a81e6a4af6e67d4225f6c3ed2293b8e536c333aa82fc80386249590af1a60307d8787b50419772fa738a753a8d592cdcbd8eab403b744ab87fcf8d42b03040b74a6479acdb21b7b8262aa3d393d34a8f5a5cbc7966bfeaa771641d25611f1e9ecd8acd8532d0c79d3eb80b41c2c6ba03600dde2b555a5b2b7e5970921b6a7f2c341ed1ce44d70dbbf9f038acbed1a4d16004d48fe697ee38a6261c107a6c488f1330a57",
+          "padding" : "30353011260d2500060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "19c1b847f37fe29638684cd2aaf0a8b09af6812685d503713d357d4c97cfa552703d3690f9f3c87d6c95ee417cd47f1ffcbdae96b01e31c59dd4519d5c0d8ac706b6a365394df9c7a49078b489fd612a07d147b98a4b58ce9a0f812f35dfb725e2b53ba807b891e87cb735deb40bae7bb1842c52b924a9413bc893450da1b36edf0a02f8835330a54a2b1ef7bda97f3cb9f3bf354a0c119eb54ef38aaacdcd60aa3e92272754de6d51a54994be7ab44c8dcb11dbd61a593a3ea71f4d616bf055749438f53225b1c0746c6c491c726664ef80e20391e510e6ac99ee8f7453848be2562c173b87742ba48b0596e3080a48e7091cedb9c23fb7d9208990381e815e",
+          "padding" : "30393015260b06096086480165030402010004deadbeef05000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "5f6143cc96b7343e57cc83612c6e85d46352b1eaa4b6bfdabee0af42609a9ebde9dd07db4c10d130f58318f7210cff30f122d9dbc1d0f88a3a0b7c04442c6f23794411dfea767609dc5c767ded7662e5996051052f98ce4eb0e6bcb72fb0109370b86fb0d4ea99d0f02a4e0101cc88d01ec56168510d77b0e7890015bb3b22a032957d8f1ade702aa70a360bab6bb77f08e9340c1c53b72b992187cd4f7c879ed83d462fc69062746e7f0041801709b05a58ca4b034060ad14d25257ce4aa93573db71779072c5c5b21168cda09ac775b37b2975f2d5ed8ad4bd07872e74e6fae98e6d9e8e46f7a2623b940ccb662e897ed6df058c8081ad78c9cbc5468b2afc",
+          "padding" : "303630120609608648016503040201250549817705000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "324d4aa12baa7237b487b756f251b41bcc3cc8c516e582187035127e1cb3dcc789d5306370ab39f243ed45b8834e844fec49c0a190eeb5b4428a9925057a9f26ed57bf34592bd5676b7db1cbd95378c397a6818b75a65da03767038e5d111f5fee2a6d81663f1c8317ea6c4e64498253bc55f07659d14e0efb0de842af6b823884e7dc2eca3ac56c53f618c10362671c575a1cae42416b1e39962bb06fba2369afb336ce44f3fa3868c835d831746c30c3a609ae5e44d528f7f6c7d306d3839bb46b0da1edefb5eaf59b03dcf9c5116ce49b03cf03c1fed3f3ba474ee078ce37970173408660120b342c4b547e9c400c81be8a6d3852a07ab299556ecb868730",
+          "padding" : "3035301106096086480165030402012504250005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "90a3025f33b6508e08d407443f139b1c03e1fdf203334763e4f010c69d7b1728d37ed146ae7a3667a655ab8ba20c93b5dc432d9d546dcbc41f9a2c4b9411785efd530543f78f5d98e2490a9eaae9164e085a3e50a8aa56ee11f9c27c471a433c6c48da518b890630185ea711a5b3bb0a966af679506ffad0c1f1d2937a6c39ce7e908cab5597c5cd5267f5e724460b12938c70e5b8b589f16a845534702706980b3781ed12bf2a76f9d3a19ee771dc561a84a8b7f4587d4f0763357bd512a1193f07830e64813b6abacb922bf31af6a23d7e2c6d44cd8283b301060b6f6fce58bba01623306bdb761e40fb298a300bc7148c379a4f778f2af934bec60db7c586",
+          "padding" : "303930150609608648016503040201250205000004deadbeef0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3c1543d5cadefa71b2b00aa9bf5ed02fcba33eaa8237adcf6eea90f100e3133c944f434961a115e8bc8c757ce82734328dc2b442887ea984ab74c5fd415941b0876e45b3a338868aa07dde0463459a358ffe8e625ee2c2f94dad9aecc0d011dca6ba841357d308e0d3d2928f85c42ebeb5613918063c4cf398f9d9c6e57337d4a3c50e900c6035ca0833d4bcb705a0ef8565cc591fb67159bfa1e58c9c9e4985c0860126bb4853d700b13cf0c34ead0f691ae046778e8cd8596fe9189136541429887ccef244b71fd494770c6819ad3ee62a89f8cfbb6a9d7d7b01af6482cedf328ba7b3d7c30c179409b6a6a659978dd26c3e3bffb93cc985a747811b45f69d",
+          "padding" : "3036300d0609608648016503040201050024254981770420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "8897b2a9b6d6eb401b297f006e7b1a81b26bdcc6ec530968c4bf9558c3648beab5e706954ac50b18e20f3bb2f1061215e5013111e651c456516ae34e63f1d4e15d380abe36baddb7c3d0ad38c0f3f59621024c8cc37bf35871dadfb49c1795a87136d5b04a827a4f8fea6a7f6a2612f6866965cbd6635fdc2dee4e582d602c230ccfc29450810be09390125da052823766729a1c005506b975cf22c49c6854dedd737da6de60632e583bcfb4fed6f5a5c8593e999db7db53642f091e9792843d142411b16bc3683fe6a748de93c49a712b405227f1536ffe257c00b3eb525cbd91274ff8472f113c50621e3221173a058c923bd40e28ecf0faf42c9fb7b01f9c",
+          "padding" : "3035300d06096086480165030402010500242425000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "6c1eced47b60318495f7cce7800139d09229c4804482063413e96868ce3074fd99f8880dd01937dc0b956470494afd577d35d5c76ace00bf484c2eb2b9ccb48bee3e85697bef79d7d2b6f541ce5a83d3a71c09d5b8d80943030e6e54c5dc29c5d6e4837078c763cc018cff3c4b214de76d0ebf5bf2d7dcda39fdcb936d1a26c25ecf79342e8a3703cd929aaba16ce0340e5b8134894e6b3b2145969826cc5f1c2f72c1c8035a920c7c00b108ca796dc077e1d19692b92f5d9f12a7cfa3506ef449e13c41530044c1195cc7658b3d0a295877bae7d2fd74044c318d34889004a4f1e14a727c66807e5be4124f5a6819064065c0b14d7545cf0395cea881734f8b",
+          "padding" : "3039300d0609608648016503040201050024220420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "3e7d8ce9db20f4b8f3ce10a548544cadbd05f23a7d7c21233bd12641692a4cc153f17e890385b7047b0997f5368b3162078e4fb7fc12b250423ac365f0651c5ba2d0e92f74886ef2f5624e6677679a64acac595c30d8bc3b0d1e838e18705373124adb1f6f01aa816f871eaed99240d6e6d4a18088944ffb11da666b6fe5dbd1ecda75dcb8b5ccee024b0ff9a4f1788fcef403af316d5b1d1611a1ad3f36f9a7bafe1b209a7dfb091f7e63858a119dbcb793bdee7e68234acf06979c0dd5b869dc4c92921422907f01bd3dcf2517b2ead3d1ccacc68da587531d773e1934d766f9ff40566ab3757df02e20a5147e39c92d65534160cbd33d32036e4f7beab5ef",
+          "padding" : "3039aa00bb00cd003031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "507bc632e1a5a2f787b0befa375b322f1989d6dbf4254df8d6e37208c9bc6ce1991a8600abfbb36b9b8fb954b4e5fa134e66bb528d63cdd6c6b05be5844e80d63ebb1503580997c817eecfe7fec54392614f79e2a3c27878e7261b78b433cff39c9a4805502aba917955da4c7bb816a5e636300d75d47b93ca0676ca35ddd15e6d562f8d376f3b60ab5e88290a2a2e0d884392921416d3405e3a3ce3e7e4e6e549c1361be042d060b0a6d5b418369509cd63dfc538fa648083574937ac49ae02246c2a0aabbd6a710f7826bf06dc16e47572e0ed990f3d2392cefb5c6e7eb4b6cdcfa39b08496f172481e20b4cd0c1d529d98e411e0025fa6aa3caa9446a6c9f",
+          "padding" : "3037aa02aabb3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "84b76f221b3b7d29be54cfaefd1d16d0ebcdd06f30fc49d9c432b7112039d99bc8fd5bbd8e1e8b2ffc0d6adc9df34a7319ec33f86c39819b4ffbdb5de30e94ac6b725690a4a3fae09aa91c0001f9e526b2315ea1e766c5685754101fcc1eeba20cc078f12f166191a5bac18045894d673cc6159738c6901f5edeec291243b42f2390f13006d4f3a29e020744a7889139b7d4b1d8378a80da405e2ec7428ca751ffc17e2186daf177b8762244e059abf697563728ea8fd6a1df30b4b390fb7b0bcc1fa11503777ab66c589ac097e0be98f39a8a2e21ecdf5404ff9b17d092bee119e32001e10cdb11493498094423257291a0d835a1c1b90b87c521fb1c559e36",
+          "padding" : "30393015aa00bb00cd00300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "67bc94022123f356e465b4f42ea02200cc8b526ea393a0c35da34e612b8f7d85853ea31a0b869515ee783ef903f86186b97eb7269420cc1a3c55295119ecbd51ca47c7b3caf4ac6a53433d3aa23d953606ce3692a248c9e43ea5eb067533f4f03369417c8c5d469e9c56b2dd1a60b7a0c520de2ed2d16cdbc323ca43dcb0d0886be11ccf1dd4ec687e205d33eb771531a9bb46d7847aee7017690bd1748b1d39b6c669342a83eb93a070718970c161e8c4c3cfcd83e562d9e4fc87abc1882b16f1c63dfde2d34e230ebc9959e0936fb48aabe716ee751fc4abc62007e4cb875dabe9f7a5533d99514b5296d481df6481ad3bdfeea5a85fc6cfb928ffaad6584b",
+          "padding" : "30373013aa02aabb300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "7ecc2550cfd058167ab406f7f4b3af4180b4b84526ce4fa1d0751a8f3947e027f4b93991409dcf5b4abcc902ad136cde8f65ec2566df0076d46ae2a34b971bf792e5032f026dd03c6f6a1e9bfc535cb15d8c52374bcf09eb2777d38a7767fd1a6baaf65335fc679b8289ee22a32745731ec7c8bd2319b1898286062cbe9302853d42ae61ff0a97cadbce838826c604c042fc6a0579078bfd9dff2bb2d9af7e29f12943fc0dbeeb81b65e3cd6dbb53724bbc3df590fdf9660b634443d485cdb05e18d57e7f9c06f4696c55930b83d70b17e15f49971783133041f6bede672c59df0486b914f61efe622dadec842e85c1da50567decc57dcc842ba946c4cc77e07",
+          "padding" : "303930152611aa00bb00cd00060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "71f92fa1a1d60a965e0fc90f260a322a561ae3d4017409566ff113b0d8f03022d96eb0129755de4d62d8b031c20c93b8c476c3dabfe00f15975029797f593a63a971d465940657a3f147a359fa8dc6f22d0e0b43cca953bed63117670e345ee6c12d2fec365a2b6b49433f1c1b2fd656c8604ce2d83112f457486b8bc5ad376568468487f3539a981ad9c8ebb196f49c797e7a4542e95d7ff77135f533be20222db369f59df8a4e9d081510698409828d0567e0d28a0c1cca2cf674027b18b51122800fc97cb45193592d264cf5e74f707287df9deb77a26f2323b3ec1c1c17be5e11cffcf4ced2508525026deed6b8cf84c5cf7a9ed19e322043a81c0f7f519",
+          "padding" : "30373013260faa02aabb060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "30e738086ddf782ba014fa326769c14b9e23818f48dedf3a3d09252dce42c160dbd7fbac9a72b8d3b6c3d6fb0e4f726c20b8c4ed31d8eb2f92a8b6d239fb78668f3687703515fbd9adcf64d272443a457735cce9eb102f881596c416739b316be58cfcf0e4d1fce32a25c2483253b3d7571a9c72479f86123d830a721ccde80e4c243e6bbcd1a895cc17dfbd0e2f8d7bbbabbced4973d578e4da5299ff15ba170d15d87ca2652e724d533288012fdba420e8427a2d1009e3ace74c03d80ac5d0b5949bd1ff42c6a728f28511264fa4152ad77e09ff60caf1cd5ee13a78d67a838294717a23f3940ed7356473dd07ff58c360fa0cffb3dcfcc2a2b673d9d574ad",
+          "padding" : "3039301506096086480165030402012508aa00bb00cd0005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "9e1300bf1ac3f95d20bed0c450beada85fb878c4e280f3ceaef1ddf6c1723be2023aae1c5adc0c8565c76615e6d8dbc491506a4b086bcafcd211327a01ced188fe1e1802f7bafd3f79a434486d07b417e3fb8139de422ae29d921ec2e8e5b6843719ce8af35349e69623f2d39eef26970c80f67f23409a8b4e4c4b8ca3e5db512eaff96499302f7828a44eee7e277e58e578de56118a7d5e647f8aada1c03eed1beda3e7c57ccce9cc7585b2bf75427747b0e09310c4f9f9e0d2f48cc62e3f413e445ae2a6eb706269a0a1941021222be8663508657557c49433bdbbc7bc4727a405bc12bb0ba3ab7fd46b7458b9112ad010076bb96c596b9682de58ae074863",
+          "padding" : "3037301306096086480165030402012506aa02aabb05000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "45e4acfe9e0f98d8841778018db1d3280a75a08231bc511bfb2392a6120b629df7bc59b2cb2f3f327ba07cbfb4e48b62aa7f871e44e614a824bf7b7852cc020b17147a35dc0bb8baee6479b8a1cdc032514fa412bf4bba8ab531615839f1c4e5730994131f8c01103c8ca84417a84e95d3fc35c94a2cde9437518ba74ac91e9c2e48432a16277310f867764b72ed1c656a627b2f4cd3991708536369e4dad049d45c5ced889c5dc61dfd36ed30060c7bc0bed22d06ec212b68dd7385aeaa25813424653831f7515c4de611a664e1e43205d016e622c632ab297abe51673b447d3a3e067cba4bfd21af1c25ac6cd24e26567e654f12f0cce613edea5c4f14eb56",
+          "padding" : "3039300d060960864801650304020105002428aa00bb00cd000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "79da043a98e24a49eb5c250a5cdd0ca01c744b411774e1e660e7dcb41c12fcde79c90270e750f2758ff1d6d3d73621a13e27424f93c57f777277666964304655a0bedf717daf19915acfa00313ad4f4dc33d69a048741f04c601a009bd27eb9586c41080c56bf8e0b7abaabd76a2d5e9e57a8b8b9d91f30daae3342dd292692915231354db1a665d9c231310b9805d616920a51c66bad7094d6836697161542e09041c12220ca26a3fb6d22cc62420bc3f07ae349b91d3826ace394b0210d710e240468ce7fb821b3a01b8c38287382ec64b093392a82884df2fd0bb530adbd49ae71528f268fd51fc10b43cbb8f383dfa3874b7cfb4722e047e7f0b941ada31",
+          "padding" : "3037300d060960864801650304020105002426aa02aabb0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "274dabbe063aba2a29f31badac85f874657725510e1f194ff51b43aa4034d86de9b6542720792d2bc07e95e8106b6072e9337ef0c721a07e3ebbb23edb76ec2b93e97a3f0b777d3e28d18cdf4167efff6fe548a1344834f7c92c6fa379070da86240096a030f6362301a601c2da026d72590f0ef30d94acf676c603809f619f432571666b57015a1e41de41a0140b6b79ac5d6613ac3f9fe1eb1345b198f495c27eb8d5ce83e1126a90559a62befa469e7e6ff41d81627b4da0b67891e09b9db22c76f653eddfe83b5b1626c6dc3c13024b27a66e04c070792a6345953a7832aa6ebb963a745914516e1e8a3887ef953934cbda4419b5e6e1080fe379b1eaca0",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "6970f7dfb793edd1ad41c0d6f57137a9ebff66e04efbfb82c882df25d24f0913b9c906f4214b2b776e6cd6c158f701af8e17487fa77dcc9d66732c568356104ae5450e1e2559d3475cb27858ff8bae188cfb778a587eb243ff6adec6117eae055ffa5de62cf50ee16e0924b0afeb927bad811316a1c2abf01b6a72de25ac30e466d0051d1fea51ca2cf160cddfc9a373d4c796a19885237afac7aac698cbfdc2d10de86c58de9f6597cf5a701d2281f7343176cbea53f088bd7c5c755219066f4b35ccda85c7c8e67ca08cb70a02439a49238e5309f6bd647e1076d67b0b339bf4d5323ddc1e406b13c29010bc325cc17c0c338c38102fb523bf0f4f341c22c4",
+          "padding" : "302430810420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "21d55371d842235e234aeaba3f33e6d7f5fea10b7940939250a07d8938e70f073d1514f54bf9e5bca902190f1149955e3e6251c98e297576f726e2c982969317ec7416c7df93b9340c879dd167431153bd64d3010456d40dee836d71d405bd3127f90a6cb61d837b4355d30ddd1ddaafa5e4204815221f562d10684a6881d7bca66b1e462b8a1b3c889e916c848c4f88b179bfb76debb18208946d40f464f9e5e385cefa1c9065118b104f216f4ac22abbf0bda8583870bfbcc339ccd6a0da7bc46338e90dbb90964100c47dc3af08ead7978e39dd7369084f5f9f941a3a2d7d1fad0dd4b60658b5931296d6357e28fca5fc8d84fee546e1f06e07efcf8f1e4e",
+          "padding" : "30803031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "84567b5a2cd8993fa4297e61067d1d0b34a4d7015c46438bf4e02cdc934c3c586f9f80316307928cb20fd4637852674d99a560352c931559e26e414d67eae6661a34a52809d4a8e1e9b94c72e5afdccc78bcd99f444cbf4617c18f481b36fa36d4dcef140986f2fe6fecdf8864a99d32cf2ca43e7b30d9a5faa61237177ece4fae0f03debc9dc07d1b9de0eeccb76a8b84852bd534cbad9b0845d7f9e9af5d55ff49832ef725e74fd91c45a6bf9d2a519d0c0b0c4e42b42eaaf5b1cc5aeaf18228695838cfab32a47b1b048ff6cd7833ba54d8b83afc3a45fe546b68cc26434b1021217c1a5ee8254ed50508cf79521abbccf81e9d3ade87f236b13b2aef8151",
+          "padding" : "30353080300d0609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "211b7ced5b5d0732453757fd3b828aad6d5fe12752d17e79577f7604f282037ce5df075908b53bee8eb9df54098c8c44f8da32fdf95b778a51f333ddcae7069a6e8afad390dce5640ae25597823f0bad036e50dcffc224f86c3ebf09e3ec0679019cf7637ab0b2ab77377266dc5762314bfcbd3a90cb7a3d7cdeb72585ca9a11e1965f029a29c769e003f6abe8bfc1214e4e0cd044d16d0eda0c7357f5a94a71af57d076baf455f56d0c27a437bb649aff9100d55d2988995eed9980999da0271c5c533ae9055a07302d65cf16bb26846ca04c87a72c2efb3355bf6c125524a445250535d984675ff99be9abc0c544fe3fe8d33a9442d2a57b98f159129b23e6",
+          "padding" : "3035301126800609608648016503040201000005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "1271847c6516bb1deb1487be33819ea16e72cc739f4752b75c8e899fdfa28ef0b40de5112734f6b4a0e2921ea34966da45998834e8429e7a7c8dce6bd432fe90febaefc201e421a93d21aee907210c97efc2890d0c094ae82a5e734958d4e5509b85cd0c17267e1fe1cbee894cb0838508acf9a3e31402352cf4134eabf882f69afa24a7fa490f22d60c180ccdbb14b41ea53aa549044e940f5e5e519b04824f9c97099e83593fd48c36d71dd7151c1e212fd772abdb72429b3931a67cd7527fd45aca652536ef3476955747ef98759c1e561bfda80733d6dfa927e1e32ba070941bcadcfcc21c3bae98e362586b82fb4ad48d347915ed5c89c15b2a13950704",
+          "padding" : "3035301106096086480165030402012580050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "7d4c142eabfb72a880070621ef9fcd351129f31664ed11a744cfa209a4199b9293f8b603f1d0672b7a2160b4c620982ee7d2553e46f5056ee8ec2711946566f08d23adbf904ce1ab8d744e6df61c6788b22154ac9a516682e26ec31846b6a5fe8a9a519931ab61a9fd424b2babd883c3410c772b89328df17296b464c8914b31b3ad63d6984d46c772b6b9d791c21d3e3ce0984ccbf7f2902deb0961898e8ef835c658db4aa14387857b6b7ab8b38dd06a4885622abdc3669d37bd953584a3f3d19d2d77115d9bea244a65b7b26faf747aec73e8dfc0bed10a85e4ea6398dbf8d9a10154ed3f1ee51e6b3ead792ed2da838c0a25d0b2ea3190fc33bc9902e579",
+          "padding" : "3035300d0609608648016503040201050024800420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "8c76ad15a8de757cfe122ab8759991a1374236f7bedc12495201053b9adf0042ee64665abc4b9485a52818ebb2f5e0dba6d667cc1aae89163fbe0db066b80011f6342ebc22bb3decf96a3901e0fbc44ba79cb17adc811c15bef290026bd9e33ef69bc5717f2c774b208cbfbe88f0e2097595e6cef35745a512690593ac1f0799655a73318e8bf1e1403e42c29622b09d0000f9756ba9a0fc44692e7f86e6be28467cefb8f95aff478965226205ea082848dc503fa0f16b4cb636b916de0e9b0e91216a72950a65855692d1595b5fc9bb55a48cf584048317aa10b63acd505a45537c751c4e898aaff55f0e4e75570b36babc13ca158dc7b009fc4901ed407015",
+          "padding" : "30803131300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3a8c6928a87795c3025ec336cbf4aaa80e1ca6e758c41c7df1b63e223cc140e7703815300ea7ca9c169a972a3049bcfa9452fafa34e0491c99a1867d6f0e1ff45be4feb071c9c1f2e72c12f8aaa2a9542e0a3a037305e57fdc8f2584036b619ca5a30bae66e8c212c8e2e2013209f502bd6478d112bfba869427870e84023ca06229969818ed557e5617c6ccc23f908423c87bbdb03d011d328c81f0c24057d8245bb8d4f861dc76d3a9eed3e31a16af114147d7b17b4753b8294290a3c8fd3d135d7ec144f2eed11e4dbd4dc1e89d96a06d7860e5b1f806e5d15badbe05a310b9da804abb41297b179cf4e8d077258b2f7df549092ec6c8e7274f25aaf257fb",
+          "padding" : "30353080310d0609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "64b01c13163085cab7ace03109a35f5aaef67670699dff14720a7d9ca0afafe396746a997ff3efc0eaea70a658bf0eba2d0a146fe93dd5a8b45d8693054e52f4969cf021b6395c8b57abaeba260a4b2e6ffc328069ed30e992191bd17f7be889bfac716d24dfb47667a40eb72f7514ae2feae5ba11bc24793b3e324909fbff67f5000fe7e6e71986e2b79c7825aca40cf6c426def806d59415d6f477d321ef69ecc8eed7d061f242b088df548427ba6188cbedeaccc6dd4d75311658e4dde6d838a8049699893997b6e268d54d5ab13f7d1e38729d1e0f55ff607b74d6f869a5ef50980118047ac859d8cc57c79e0f3cf1f0562dd705689bb471c459c3cdcf4d",
+          "padding" : "3035301126800709608648016503040201000005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "82240214858bcce755f761d3b6416c15322aa97b4e130a01263cefc1cb11fbb10ac28c5c22207b609f86cd63759a689d6e7f825ed84e6042b66d06362441998c715db426157554e8384898cd63177a1ea538bc589bf7441ff9d3256b851f9ba519e3213da248645e22314b34a53739f035157e222006112c1f6ba8e7add0326d618afbefe456e530532bb29769db477089330c0f0dffdd4302666b128069d8ddcb764f154c8700c45e5a8cdea403f4e4231b6260f18e6039bf497fbf09420163f1dd976af573068e0f87047d338c6446d480c585e6a6b82eb387a8549b7a28c909d88d3361a80baa25eb606e4e5f9eb61be9bb8bab17eaa7a98d5f5e406cb0b9",
+          "padding" : "3035301106096086480165030402012580040000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "3b243a065df77eaf4fc8665e8439377181c422acd42da5642ef55ba548555795ee700b156d690d9fd29cc31d7ccc59d6b29472feba8fa644cc49c4f5d46722516820554e3f98e1dc03e44bad5040ce4f0748c82a5a44bec4c4b5d1b0312e74cad9e87c022385dfa034e91f507e72d7c1f7fe99c6933801eb202c8314c5b60fbd67427fc14efa9e7569d401c6af268e9e3d864fd108f78ea5ed1a2ecfd1c41da2e9353aba41d4df48d3f2535d5ec60cdebf7497eb25db4415875f7ccc15a49ebb493a7eb9476dbc11815eb414577ff76953a63991938fb6ea73e0b77a8cbb77eabf3b893c22aacfcab7108dcb9a3bbe3ec048c17b416b146d4251c7c36fbf0445",
+          "padding" : "3035300d0609608648016503040201050024800520bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "8322390ab9d742c87b5b105f63940d9e4ecc613c12a921798c2b2a00c1e5c6f6fa38b33339c3fa762487629bd589cda879977e257de58a0d3ad4eb9bee9e3d41c57ababe557d0f3f8bef808dd7d5666b8a635b1a1d08a94bd24ddf10db4d6a366c3ed7a6891b7878328ae5d928a6a14bb425c4c1e917044a08ae0cc679b646be53177962bf04f19a345428f7a0c877f5749264edbf0835cec2f5aa66b7a1ae9b5e8db22748bb8b8f37636de4d02c9edc5dd182fe1f3c227d7fff6111005326ca3fd693248759fcd56a356068d3be8f78ab03d484a363fba9a13491ff5752bb263db2d905a90c556c8e5b12315b577786e038c989d13ded424adef4932c87a5ea",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "0279b5b3e03f864b05e41a6e964c5cea2b777be5e670bbc43d2550c9c443bdf68069a0eb91e4ef95dc9918eb1786a123acb034fbdef2690e5f2f4f5aa0dd10627342b90f2c3ec1e3b6ec77c01a92b0c24e7760cb49f845a168afc256686dc428f48667d1971d56ad81153e7a54a59f10a4b00986d9752f1ba11774923374a990996388bc26dae6be26cdbb4c1eb76cd0d98532720e94caa2904fed7b937cd94481e4212037c628df3e213d5d856776a337ecdb52a4d256b3267fb66f0cef10e39a5330a9899e103817ebe6c32c741dd4eff16f37fb6ac91facfbce7f467397739b1557f0ea4234cbd8d393abb1f842a2a182e8ad9047c7ed643bcfc02156b106",
+          "padding" : "302405000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "24c8587350927113af79616a76bc5aee56e9b580452eec608dc4b25e8ae4101244bc456368e14b1cb595aee9c1d05bfd169981d2f5819023c43fcbb857b5feb7f11e2e3469cb1d53bfe66313cf662057b84b8f9fc1743547d848d24d1678d14bf44fd29b2c10b24da5f42b93534dd535505415c32f05e4078a8d31461bf42f2e465ab90d33c24f2ffc4cf430253f50478fff57dc1eb91debf89e0fac9c382f8acefd9f1dd2f2fa2203dddfa56fb275309bed0671f623f24927abd562b8a4cadec561a530f04dd58863458b802e8fe5fa57cb22708b700be9b250a6163b6e54bc9921944c9a8d468d02981b7fc41b9c6ef92fd705b24da3cce58a90b6b112dcfa",
+          "padding" : "2e31300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "58b5bdce097aa778d5232055b695fe11a01fd06dd2c76f6c4ddbd89b28d823a6dde045d541bf3baa04651fede28dd5bff79719e0310b285c4b5ef39f426ca9eb9d20b759b6455c8ca94b08f14e8b237429cc93e6cfdc8d5f9590ab9eb1a05243a6205cf26323dc5b4c1ea1f815c3d26e9a4d5f58e99b06e213117f6ef7fce8ecd63e661381aafcf2134c0cefe49b9432ee68e9e366d7ef85ac82befedc5c7476befcefcd7a6ca7f0267585576680c6ac901cb4ef12c3abd319f74183c4b5d852e898a955628775b941f91594cc00d281b3e69b034765077e967f9282a1bc16043a162ef1fd193921a3da4e4974cb63bdaa7745278175ac3183976b4bf1534f7a",
+          "padding" : "2f31300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "5498ddd6aa8ec6434d4d772df218db7724d4df79dbaac872d187a9cf58bfc62b194c263660e663b2d50583dfb1e232a6a855c3be31a7297ca1c801b065a13871686f1e379f50935f754243dabea67176fc4d92351e9bf1e3c9655b5de16d725f0e925d554d215bccd55020e749afb612420d30ac95c5723855e2414c9d7bc8d2a9ddf33787c521888852e1946bf866411f72ebaad3ae730ffd13648fd8e5464036e800064472806ba78a0ef8a10c1739fd512cb2913d91325cad3fae38a922c3f0e5482781bfaee6e097e09bdcc6eb67772ff79d358079e522f9c8f32fe5f8b227f126803f0e78554c513bc0316ea267b51aaaf17f1dca423f1e0996dbcdc6bd",
+          "padding" : "3131300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "3b2299256cea4f270aa108ace666ff3a44b693c27fe72e21e3f0443956dc277b1f24ce72a48d512d7545825db729983bdfe4ff9fb0ecc6f0893a9d326d39a46e7040f8891ced1174d2abd7acc27f79781501c3a972d562f0b5c57a3ff2ec703100b7fad948c7e46494cabc1955dea0e8734ceb47239b915476b969f317a9953653e0e5d4820bb28a5c81b9a4f1d0f18479096a60b53d0808acdd4efcf16cdc4ed82b69b33d6e5e5261347e821c2e366f2826fd81e8f282840495f6f2613be6b9f1efa989d912b86257d5449c88f7b3cdb39c7bee6d411187a0f2cb83115e5cf3a187d9cbbbbffd9da0a62780b265c2a5a33465abf90e41550f8b7f62747f5252",
+          "padding" : "3231300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "6224ef796a605bb30a142e4671549288d3ce9a7ca6ce58ef79d08b25e95a81143b99c84efc7a0b92885029752b8bc1bab7fc56048c19d50ca21e8c009024dc9dac2746a9b961db242a1454f0df944bbbbe28a9598878f9392746798aa1db8c69c6d36af64726704f9252ad71e655a02adb6f3e8453ad59a0a45ecd1ea512eedab7867fc50b508c49caa7399f343097f76b2361fb7ac2544f6ab1b745965a8d7e83bb9a1d39a21fa6b4c14e9a800983f5c76fd8de81fcce99f4926e48bdaaaabbe09528a203f5e76dc19982021618f231e37758e8e729968c267390fdd759e0ba88c9492e4ae0ae7512ea389bfc6b64d90eee12c012fe278da80a915da794f6e0",
+          "padding" : "ff31300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "81297d38465c4346e408293d770242ca6e9ba2f2ea9a66dd932eb3bf42e72bad344ff31bf058e38bdc716e5a747963e6eb96ea1a48813f39200596d6d589f2164bab35c15f545f80d10276eb6d3b7d13bc7bfebfd0f6949fd7547c45266fe6573389c2343e3adf9fd64ba627baed14e0e753a8fb75a3d1821e2fd03f5422bab3e71dede7470b43449e7e49dec566464fde545a1ca53a567ae460a1d994d295355eb301048413cc92aa34963fc59e054e88bbf2af2ebb0ac0df18b06d1c5d9ddc4f5c3046c5b609a9965a646db2a1c70b0c851e7aac01a5df8e2c822300d3732ec182e3d868adb99d6c0186cc5dd17dd8c89658c0ae021475fae278e7ff464501",
+          "padding" : "30312e0d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "73b38e74ba14249c5fb4d2b3923e2a848898a2a5b1b9e6c17848177e6b0053fbf768d5b393088c3b7c5e12d41d24cbbf214a5bebbea6661229ca55f79b76b1d1118a2f7a6a96f36f88e1388283d446b8f8fa4b10b3a6d8c54ca207ceeed96e06147475a3d47d68cb2790dd0ada7d816fc1edac6e10f4f8e6bcd807cb70d995d7d6029dc774b1ab86de3b31c4fe1033517a64163b4867861d6ca0bacb3e32ffe4761de071a03fb79f8bae8515973a4eda2d7676cdf5ff05974654f97d6dadc6bde754f7b297264945b3bb69b950000a4d597c071fc1b9198fc1ade0047bcc7e79dca09e8f01bf4ab46183cd48c8b243865eb6267f0974e29072e38f65957594b9",
+          "padding" : "30312f0d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "56502d3cc755778ce731048dfff628943f94a966763917f8a9244be934208ca6fff2100faeddea5693273b965e62e08672a2ae4037b2a6681e1037ec8d4f00b7ca75b792d596e01f6312733929751dcb629ab54a6f910a57dc01895cc92d2338b4ddb1271be183f906e128ecdcb5cafe1096beac38e3e49eac7ebca6c91bd3900e83d96910feb192496aae8f55ceac814e6829d9c068f2619b048f1e30e2cc0b7d64e7e335ebc1b566f12b545a5e610fbf5317a2efcfd5d18adebe17b3b71bd788bbd581afda953dead19a0241c6beb851581249d780e780be43c995f23e90ea4190fca6b9e81885031beebe6a65a53db274bede417c35e7e1e597c6610a1ce5",
+          "padding" : "3031310d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7c49a57abc1b7cdd2699b2d64c9ed240c4ea19ce2dce960f611b5264acd37fc4e1efb3ebb5699a4e2292d9d63dde3b80f30c34118614c617444d7e2b770d6434c58b176db042b74810b40fac6006bfd84a51e32aee8900ff40bc8de3fc77277f9c34c174769afe2bf9c8674712c645db823741a4425043b6152940bce8eadfce213dc4de62fddb626fd12b56efbdd3fbf0b570dfce0ef3ee7b3f7c7ac383fca18e04a4b347fd589e30f283ce56fa60b9761e9d5f584b493062f490680ddb7a2a6a23ba0145ab184cd8e3c5a2f2b297b85db51438233db7d3c72739b7074f6d7a524ad83aea2465f6c1bb236d5ee34e5f66297d549679574a9847ec45180a8aab",
+          "padding" : "3031320d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "41abeab011f029748cd5651c173ffb01f3a5ffb4e198549bacbf8f98523b404791704f52c8ce631d77b31066b1891728e761047a0464e8160fc6093c9ece6f359860da1ce8b229327cd683a2854047aee8afd36540d35c424a19f0db5ea444cf91cdc548dbb9a196f3aac9dc9c4365522618c354c0d99e7a0efe40a2b69b9b99d18f3b941044ab37e0e564543a51cc919870c38a4843d3ff4c6a7d503dd38126b5b76ae7736c9e1790f64f5f6e2faac7fadca3a8f75e6998270004f1836624b580e1430a31c386506b9def2adbcb01c716b74f6a4e1e85e55623d8d3dc4fe8553e1e1feb75eaa4c71829315f67b46c2e018caed17c9dc2a31642ce574a599ffd",
+          "padding" : "3031ff0d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "95ddc932d45b05c0a1f4c2bbf30ec6aba93ee9ae560b4a9c124c6be307cf930b754b6b7b1c8fff23c43c2354b847d37073214ca3c95d27e0551aa45ca36e873122c109c0067df39797563168e5e6cd8d20e972ad364a6c3f162415595ae273574b7b35807072b71a8b17afd06bc26d3ab8374df32ece1da2ceb9daa582ac11fdd9246d162fe4830846d08fcec90234ffd9622e4db5576d86fc4b913882da7bc5b1779b2acc0261cf434cace117090546d86dbf5056d0453fc003ce9c3918a015086583d266602403353f0c62eaff4ef4f5697f6e682163277818af6f487600ac326c76f34cdf49654d3eebc7913c0f12a669fb6bcdc809b2621d7ff5050da3d6",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "51c0e29286c44d53354c2e11b057c373690cc8a6979ac1e184bd4bdf560c0a3fa76e80aabd7041b0b1cb40e703966312b8037dc40a36acd170ec8fc70e35c1edb41d9fcc8ddafa54bc1e96199b842c72f2421803f8e95c734f19ac169e581fb3ce0da042108b21218f28faacf7141baa0e2b72fc3bd38930f4ab139c1347a9806115b25d3cad3e00fc29296b2d90e403e5ad0dbb9901dd2855fb49f4b7c9500e9428e4037abd6aa767b604edf426cc68e39bacd9862dd61612f0f5c5666e1593bdcc6ba38682f19c5512b1217f05d1905bc47eff2625ea5d6581f3657caa3d84ea9b948aadce632b3bd4ff33699f384f618350b93a223e037d6790bdf7be128b",
+          "padding" : "302430000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "1a9f00a0a13bb63a9a2b98a93a53cead0f0d0f0befcf19404e838996ea86c67919611edf2962f621480741ae34eec18e6c87b5f40b2115f81e73bd1ba59dd32ad41534d143bd82f982f4ed60d84dea28d77ec78dd6301145c63a0778e465e973e963502cf1c9a21ff5a84f5f4a673d81a9f74906fa0f28b81fd4c1be7eba5974266802149a616d5b7b9bfdbf51aaa9ab3051082a0483b33e7b43b52f86bbcb33f07783e3dcc3ade6c70acde471613b6d7863c4dd091017ca9f0d9fbf7405fcc7e7a012f38404fb0c3ce03b2e601611fcbffa985535c238b5a1d529ba092a3c41c8c255da68eab9e84a7b3f6f29eca3b52bb4b977b6c5e1375b691f6ea413b557",
+          "padding" : "303530013030300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "8270bd31d9183e02c4423798ea8f1092bdabc33e144cb9e79187586cf92a2239cf52ff324848461bcc89d0409574655b8374bca84c38df11facf035a6f54f25a7c2e691adaa074d5ebc08b0d20b45346679d94da1fc67f57444a9663704bcce7a6964a7e7d6a98bc89b674bd3037b15639ec5bea57c313331dfdb0bc0d2017f1381cf5f29245af5bace9b7a690b573bc7abd9c36fce49307f0524b37b29776fed6722bcef049e566c8a5a0db44ca6932bf11e2e7447b82318c71eacd164093eaf40b7b122f306cbae65098b68b5b920e96f2143637db6d70070036c2cfd64db05ac87d77806d53096bc63d6fbbf2efc29d8514c8b909ab79495a04639f27b882",
+          "padding" : "30353011300106300c0960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "0f7e36a02137a094719570754763ccf4cbfe21a05b95634fffe0cf0cb46210d379b5e7dda7ad815081d12dc43452e35a89b1fb715e4a507b364da2b73b3fdf91ecf1b04a6aa3ab9b90718660291478e6ac0cbd29c18d4beda2b0bfeb53979facf2e5d8ef1bed5a36686cb034082feff665686c41572441a673e7426a89866f65529de9fecfa32a2cd1c7098e7e7bcf2a720d46cebf23988c259dc880a3acf8e1b17f1ba8de6e8e9cfb8af2b6398f7541d45162438c3f14c308dc6d778bc91106c7d48332d8968fb083bdadf1edcba30638853e5bf1398d61bb8eb6b61363cdd859ce4f6160f7e819758afa067c612be054b4c0e2567fe39a81550001cfa081d3",
+          "padding" : "3030300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "0571ed711f75daa6e7c7b65645cc10ad040b37fcc3230d4e8655b9b40cbac0e1c5e7d9ddf18f7995bb2a630235f7959791b1bc21c72ccd88ee50b5136472fe63c13a4a391452782b673b90fd6e768385e9f09023ed975c9fd5187b86d0d147418396a971faba4c5d968b29df04a28f90f0a2eb89a0777dedb38e4f41cb1c373f88906da1218a80b47334ed4e5cc0bfd1a93d2ddc5141b243bb002dcc513d98e68d512728204bd0d0d9ea5046ca21bd6d32169b69ba8b1f829fdbc4b4c931d0d29ca72e4fc2d92a74d2b5e1569a222f4b8c93c6cac09c67c08ab08fa08b1fe9ba78fd016aec186cf2f9443b8a3af242019a4888839f8c6021f26476e32300af4c",
+          "padding" : "30300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "690df1372a35a30d9c76a4bf91cb951cff5291bccf26a1043bf84805d75d27a28c0567d353a95685d3411acde938df718f2c845d72c4676044f692e8ceda2b22da5fdf32bf493462fc83c59cd8e5ed0f62f607bfc6d04fa38a6b01a5b3cb6b58d55d9fc2c0a36fc4ab80fa3a0dff60d55a0ca946c568451616441fc9f14685077388a069c3892f1b208c5431b69bcd5e6ca8f789e210f63af6b4ead0a8f3380e818f0463b2287599f5c4cc08bffc460ae8404069cbc01e2b1fef6fdaa810478abcabad6b7405d01e5d3f44884ed0c3d69b614b2c794721066887e5389d72fc634d14716f0cec8fbea5a12c70cf6b4471df4f46058c0db75ad3783b2dfe3ce2d0",
+          "padding" : "3030300c0609608648016503040201050420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "13ed9422722bfb8b6172cb5656b9951610f509bfff5d10e2b91ddcb4c2e8ca58879a7db943375343fdb794302c28e3db0e1b850e8428653c09208dfd46f065e3996927d85979927930b89ae12590753ff03889b8eab41acee725b7092472ed00ad66d00a96370c909c2f39fb6300175d510b368d3ec06ebeb0f62f179e191fc1ac9f7abc36d19d0180f50f7a33337daaf73a76f9b38361e91ed7c0af2c9a3519b4f538c532f3bccab27258d711856b29c41f215ac87f6c7f3ea52c3bf30db5e7930f44e489205396e94c0bf11700499b5a72b26c9f3641c45bb248a235b42c410a908e5ddefcb481ae619b23f8a5ed7afc1a9cd782020aa119af745abecbfc57",
+          "padding" : "3030300c0960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "054582c86eb3bac23c330ebe275884ec6c740b477ff69795681bbd88d9da5369ee5d15fa2dd64910947cc4b3a713520716ac747834058f50852233fff1465b4c582ddfa2411ee43d26abe6a26aedd5bb79384b44a45d24b1a374cc9d193c3686fcf7290569173b07b5a698ca75653eb83ce3feecc40767680f6253fbd0d7151b42c82ed7126e6a2d73cd1c64378294932eb790f5997746af7cf87dc5292058c2ae575f5929426fefe7d78867b725fdf6cf2e40c052b69fd8104fec8c017561737e02651aee89c11327f866875dba4cc6a6e69a5f2ab612b4e72671c8206d22c2a9d69dbf1dd29eaf06745bf2267ec2cd89552338136a8981da13b4223d79abe1",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "67ba3a10105822c5f34c661cf7765419ebe52142b5ee9358674a174abf5981fb845d4877315a6a5f856c6a30992f520bf3e979a7169adf0e1666457905d49b91481b641158817cf2ee2b8725bee0d7a659777a128fc7509d3f0fad7a53b04a77339074401cc306328d7fca7876b06a54a2fb46edb4d763598e5fe21b9818c1d61ece98a4fdbc0376fa2f9b3c50217f576124f292d6032234a0a6e34835a8480b25a5254b9718c665911aec227c0f432d2dfdf0a6aae40030a05d3c03a02e54507ce0652cab324a2b29814451c985be5f4dfa2546e5b310e670f9fa510c24352e534d3c46beb8767224d90ca8dfe1ac534a5a8b80fffd5704caed8d5180adcd3b",
+          "padding" : "303330800609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "8eccc4b661d66f3c8b4e26791927ac035e2a633b872c60fc006324886d45a88ab29b9bff8075701e61cdfb7d85b3f6d41bb78ae12d2d40b046f1f7bc6ba11cda5eafacf3002457aa6951dd7e574b6ccc7e0621f6e4110336003ac2f368b50969dc45370ed7a673f9b8cfaef3c40a6814afc2ab4ae6eeb8749e8d0230b38658c17fd44aaa9ff65773d001430d0963167fbd08fc72343b1ff40920741423439ee3795c036c912e53f9e75b2d255160e67cac99ccc2db7faa8b488e7f1f56ae3bd0fa6a277b9de387651debe4e16ef29215054d9565ac23a3830ce37b326a4eb5c6cb5db7a8cd961f6d7d7497ac14aa459b3b64f2300da1f95b42687d2126e60d8b",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502300",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "574192671e303ee2fa10bb741b24c8632d520a54dbc24184dd70ddae468e71971ead18932c8b74cd6e27b13014a2ea96f2074a9fbdaf432153f408118306922d111e861ff91f549e8e669fbda98c4975a60d36019b2c4bd25ee2fee0e319c56be4554f5334edf152f911a2317123aac2ff0d11359e43189223673e4b4b613cf070841364470b08f5390951e8d9c6f8c3422f79e3bf4863b2e4ae694d63d57f77620511eb308c3fb454270a4d2190c83828bec4c0fe2283e0d9fe945f6aefe7b806151caf38bbc963a40a97d92b8f71428fe89e8f468509f34b2cb35542fa717e5feaa6cf4cd6c8ad87d8921d5b62d97fdd58642a5d8d782c87f8f6a53a9aaefc",
+          "padding" : "3032308006096086480165030402010500000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "90bc6a2164881905a53cf42cd42753f61a47cf4703d4658343dbcc30b46f97d8656ff1ac6c395e1a36f27562d7c23ae859239c1086b1a6473eb4f57d9e0d47f626f8de059084f681032e6fdea27590a08d5e57f06adc0b8960b640d156b31047d26180f1a9c510dcdb316948ebddade72ae3c8d9d6fe49642394f30951a614d03d37c5ea640f0f72435b49a0d382b93121603a424fc84307bea44e0ab83f25389c639eaa2614819d6039c721bd622b86822ceaba916ce302d2be47f38d4ef37e5ce40c3771cea37bbb200cc64f4180199a7e6aa2863e0fa8355b1b456f748fd1cebee88972fc17d9fd77fe9bf8bb7f2ca4299843434b3ed24910c5e2abff7c42",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502305000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "7b590ff6d404fec472f9231d39a4ecf4ce6b5e9438b8597c082e01bfdf0909c7aeed2268a3e568c49d9959352378840454f9119beccccc07b46ef2c1f143da08818c578c6b2f7acca6a85109c8acb719fe9f06282c25728d466b4f138a4b129de607de9ca3bc6180f4a2a45941416f8f5c60ea19c921f76047e0dd0738853c0b24c25476025ed4291beeec5db8e2c744795de8367530cd5f5d0876c3b99ed248cef9f83c54a9faa6565eb0662d6a126c15a5a4a55ae3433cdf37c6e8854563d2b9c06363a86f4a648951226a34c612c3e6b6b883c974d4d2a8e07d99f88fc4eba0a9ed28799c95fbb1404b3599578a164721121ee387b0509ed5e00b3df84033",
+          "padding" : "3035308006096086480165030402010500050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "8dd4b03ddf0c4f8c044fcfe70a0b97ec8d8f31b519d11d7e00702296ac731dac508e074024305a285fd32d93aa80b26e6c1d9bca4dcdf07dd141557f685c473f8a323492e9674ed28fc0f78f141418da63e24ff1d82a9e280d2b63819107190cf0018941a440291ef291fbca9616074efb977c2debe71b4609a6510138754d126d203ffd9c234ab334506bc2607eeb9a64e0600ae45e45b2ec398316f4ffbf405d985be94b23566f71b77679eb34dfd560bcf81d790dd1a30dbbef3b928d13534890d4640d47237b11c56a22401e8354b3327101cfe07be6da690d1b43df4486eb185728d7abdd8e4139b506821640a432a219b1787569cac4a870cf17a3dc28",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "3c6f82cff4559f83ea73f58e5303b37ac576572fb8f94041640e6bfc0d1e527f77af011e5b62f8e854ad052500439a9a6386ec01504a899860eba9f67d78badddf2e72fc92e0ecf25895a807431cb8381cf0bc5eb2fdb28f96340efbf7e54af7d1bf132b53dd9af5b8d8ae37fccddb32f4469b880bb01a84892cc43b394e94f82b22c454e4d308fdfd7e893369498aab4d42ff7048578a5e2d85893c16f8f12e2f8e7be48490fbc8f82c405d1ec3fe8bdc0243898c58dd4306796c40890fd467d024b033ba724c67a1119fb98da9d8c0c9d3673f9d45e3f40811fd223265c8e75fba57dffddd9ef6f94ba03552d18773d009ff142cf09e62cba6330916453f5b",
+          "padding" : "30373080060960864801650304020105000608112200000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "0f8deaf286c4e55b6e1a936abf3467b99ccda07cbabadec1798d81db7c720d6d8c278c14c494faa48a4def3bd4877b5054ae0dc7cfb6842b69ea1626b667ecb22dd8864a55b7d39205141c5068559874495738c6b9b756c0e46b69ef21ace864740e300c57d3dbbd356d992d08afd4f78d4b0813ba6ff629fc837e04032e6831f931823cc43076a69a91c3da38f76ae4ce127d11ee0aa6c436e68e3b4c496ef04f00778bad4b51807791e901000f6c75f81568b86fa1c606acd36661b1487a45cf36c2991a7bb87e7fc9da54c1f8a98b1ee0ecf26336c4a4088bdfdd7ee463ef3944100785ac16fdf77cbf8d6f6f578418495efecad9dd1c279be63fe5fe9319",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "7b600cb582f01b2093b8c6836b1ea72a27bb54d167c3cd067de1b9f285e824f46b5712f0024cf4115e69bad8c6caec74742076dbe365acda52fd50368edb854d63020e9d698a4f1f753b4817b282acd37a625e88997c6d067f5f80e43c2f000008a57514989c8ddb6ac36e6ae15858f16a6436588e79391b7fe142be5b66cae553f4b998ea9ec2dc8712af14b9a2a7086631889501f77bb81ce8899dd57f75fb3cedf82394627a72fcf7e1fb5670edb260f71e5a67c502501e1531111978048cd181cd28ba37f20e3c24f9895af9b9067d1c59f69794e43bb64eb8f5b1519255623fdc64bb85e1b85b7c793b0ec42de4d850bd542160791d6e543c633ee21171",
+          "padding" : "30373080060960864801650304020105000000fe02beef0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "16378bb4a3a00a1916e10733b6db3b960c20c82929d1d50f6ce694f691b8b1a2be1377d6860b6d678fd27e797d7dec9850d99aec1079ab45e08a70a54b6c6b13ef7c335d48a7119fc855ba69130e08af62540a0327dee39ead88e5dd923edb41f0e0c840737eb35704cf5a3f2320a1b4eaacac70846d05eaafd743046200a5cd25d37ca312d1800fde082652a8e802f15ed775e055b781aaa7375de845378d57ecc516e23d445844edc1442cdf7eacfa60a995c7a9b062765dfda8aac031287b72044af30d5b0ed4e815aaa55b068212b187845e829adbdb2902dfbe2023870d006b8bf77779b8ba205dcbb3225e3c854d853587b08482264c5083576cca1107",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "64316a2c63e71413bcf87cd2d8efa6e88a527483bf4329a27520217903dd7b4a74ce427cc388786fad14061d50755ae6514e8161dc596a5eac1260a24716523e5016dd55174b25f826a7e806e4204949e8d23a4a7a0a244df064c57432f39d4ff3c90c282fd4f49712d6a922b9b3ce8297f35611ae846bafb060bcaff0fb5c484f9766b0b36b2727c11cd7f6e95410b8398ac5ae1f1473ce16df25b2b4edd80ac083a3796863e2b55428a900ecde671f84c21fd8fe224c03878c62b8d988f487d063e2c972ee46f72a8d859e9659483a860938613c9f4b4c26313d27e828dfdb4fdad98d4edc31e07b050962cdca2f2980cd2034a5a4eb82bedde65f837a04c3",
+          "padding" : "30353080060960864801650304020105000002beef0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "49cd3a96260855d9a0ba3005b8ab18f077e18dc88923a4acbffa7ce91a948601db5317c6e6d7e55a7686f735d378ea12bd17ecb26638dc1ef5f613c527c52dd91ec1fab9d3823ccd51d7ad1af5383f4920478116e20fe43996a8ee7b61116cba0f69f42d5661c97c71e62a0ca792d592e6e0ef28e67e27b1ff7260ac427f35f7788ac81dcc69ed4f4ac4eea07a69303cfe083a7cde808e75abf62283424a8727cf0a85df2e26060de2dc04dd12fa6a0471a00f003b30eb4d14b65438d7090c2bdc953588207c0951f39d0aee482dabb782cf593d631900eebb3dca524f9d1607440ada91e20bdb7117486ae90d77fc44cf5e4aacf4c850093ca883ddb7b3a040",
+          "padding" : "30333000300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "9dfe688124026010b835f972719361baf84e104ead160ece75d8778200f1dfac867d262f6e8dd12cf25a8018c16f176d032b28150079c35a6d831f9825c80e986a9768131fc6e221e897e221a14be3355921369d5accc9fba6ab8649bb444913603db70cf09188c1f2f34eebd06907dea1b7a970add4c01aa4858d78dd2910c251dc832157e0f373e4d6bc532e1fdc85b8f6d3bda13585e789607e823ea8808e71c1bb61fa40dd219c2980f5a84b502363be708ed3a115c5711c69d16427d60a7a605a9c282c5659d6cd203e0dd181e41aaff5dea6233985882978172f03ff34b651f3592155adc34b26ba7a32df6cf5ccfdf15a7ab95d2f217a0565f4564fda",
+          "padding" : "3033300f3000060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "7b17d3b2cde9c95d954e3d795eb7fadec93e788101d337ff0366a3d2fd7de8294761b0d11daa19dbe5fefea7bbba4986853bcb065a0d5fc34d4386bd0d9ca9f1dfab415377a8ca0c8e879aa2ceee9adb3aa57287adc2b2ce1b4ab07c09212b3d443d29297fc206968dd22ee2160716bece2ac0cd9bc9550cf0bcc71319e97818cf1658f0384d991b2eff0001da8329d50935b3d3efb4a045cf1f88c98a8c91f316a320b90c73487a6b132304c547437c5581c2c66cc1b23f2361e65d888872cad4c16de7138c1ac2cb13a6d84cacc93019e7fd84ea99409d8d8184cbe40bbd75792aaa283183eb290d517d46c7da3b1ecd6a2ce086fad43c565b696ed3fc8250",
+          "padding" : "3033300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050233000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "5ba48570aea8cea4f6f76ce4d92a9588a6478e6a6dfb82d26eeeb6319420419eb8553dff3fc9843d01c9c708947a413bef9c5e7beee54a57d3ea9a01a81c7fcac04c4a3f0c7ce17bc8fa7c3e47b03d3be004a2f4340fb8c119d6134981d9933b9510e7b89fbae037809b8e49c429fa9e01ba6af5899f0c2f60666d42a62f4ec1f8e2182e9bca160116bd447e9aba05c9ffe8cbd6f9abf3061679a50d567221c2b808a48f1694188820f7ad07e9883fd67ef7f9f2d78ccd13fd8017d8836101de319d17f05beea9d7b1a2c8b1f7dcdca212d332befce5c0c2a89bd29dfe2bcd6be1dc9600baa0ff970393469ac32996c2710bc3d07763b481b6a713abb9880604",
+          "padding" : "3033300f0609608648016503040201050030000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "25918876ee17947c7ea13c95b6f5e693cfee2ab988a68b72765853a4f47b0075d105952afd7d271e3aa39a88bb35549b18d0aab49a48a0ff25c64ec8d052cdadc92418e84436f3e930f6ffafd0614b5e0af4f87e0c6e646be9e7dfd996139cb73838de8699916317c79fb16df1272efeedf3044fcdff7255fd45ecf26677f8e3cf7e86b40f48e7aad2f4185433b5f04e06bd105c1081e5452d4292346e07f91f9b29cf2e4dd9ea335c065cab8daaff554fdfa1990130dc1650124fd7af5be1eca9c38a4bf2813af9f50e51d293b4b8fe4fc6b40f8da779ea595ec0b43c4db3abf7751c74e92e28481ca919857d9a92c8db1387be5f4ae4b8cd3372d350e57cb3",
+          "padding" : "30333031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "3dd518a77a43fd87d8923314e8a78d4dac476188c113377fa71ed7d2fda4be726b17e10bd7870ed018368a3c36be143d4c3d59ce35a18cb46e457ed2afabd69bff77fe94ad6fb95b360249944fa6228faa4159531e67490c8ea44dd64b471d96c48bae5d1da7c6fb144604ca8e8abfde84f681b9b700d62649009c135fdfec200c92096bdf9a699eb1b8936e8769044ca0127070b40e2cb8289a9f98b91be61ec77861013cd9ce5b33fd2837ba8a93caa480632aeddbe283fef6ccb953f2e4af9ff6fe5bd01beb0d1a0b3f08e9d22f26749b5c9f5f302002f89af05c7f9a09fd416691abfa0ced5eee4aeba83113bda1ffd418ac4030443b9072cd6602fcf797",
+          "padding" : "3033300f300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "56e666f4c8b916f556ae1139f9626a6862de59780f148165f924965aeeb35ca681b7fe2a603bfb1098ecd06e3e185564e031699ba6f5b7c4192e60f1c7e06131eea6a6e772f9b7e9be4ec4e94d89eddc0351347c5cd7dfc58e2c9795099144428563b77bc3e3d5dad50cbd19374ff5c7915c8987f046df62907b7ded38deceb2f04f18a868abbbf3f095ac660774be8274d0788b88001c17b7c3a59f792e81e18fd01bf8d67289012f60a887202968c17f2ac684e5a4a05673a0b2189206ca3358ddbef03b54488d5a794d3a5767de1e4e9032e35bbf1c8fbfb9b9be9a8bc5ddd98f12d3853485cb6a38cbc7044e10a61b704c6987e4b76331aef926a843f85a",
+          "padding" : "300f300d06096086480165030402010500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "759f6957706866606f2ebec1d6400b87afa134067897d332edd191036f318e1e21a71dbcc88e0e3b7599123cc8fbe19a15273b481a795303eb7941139e7d48afc490b61e3fd38078ef756ffa8de344f2e930b56452c619089062c27a47b594c5fff1fd7f5870cb5dc7c30f83b245cc838724639785c2ac7d8295e9e1a99004284ce1a5a5f4c90f1edf87be994e2176ced8b0339bca21068db978864e75e84bf9b65b5b28c3bc9fdfa451b39125a271dc280b9c6cffcdda1d883f5be07cf8c14aa4aef6f7993e86dd9dac620ca24c027b83be7cae015d2a55b85cca9ef1e6d080c298e58c4f0730de7820951df305d85eaaea46f087c74f3ffefeee09aabd5827",
+          "padding" : "3053300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "313233343030",
+          "sig" : "4e856814cca0d9c39a2ad4efe2b425ca0ddf90634278255edb4b7f643a868ea468f8d1afeb72b1bb60455139f44c046ecc121354f1a9507accf5865aa1268448935790cd1b02604cd800f6f2f0aee5adda9bddb6b5b32e0504e2fe2012896ff9b8f670364ffe6e563e1a9a19b491ba3414f779863bc8bf411ee0e8a0e6ddf1b4d4a70bdf6a9a743818be75628773558bad898e4842fa9727770a15a6aabde3b503709d1e9f602f6fb23115aa46706cc78e48bfe57cc1fc4409c4f1b5f440a3281f955b73eaa662adb9fffaa40b4a8495659625c6b7b51218df928d51cd66f59c25d7b94b798c9fb6e97b43ade5f4d17f59111deeb03d442edfd144f26d3df606",
+          "padding" : "3026300205000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "313233343030",
+          "sig" : "7dab5f7f0430ba2ed6dc53d9db80579ad10343b72a9d8a37ce0bb38403224a4abab252c3a0b5a950170d2f663ff4a8d03217e289d715b27c069432c5fc9591972f1b4ac468ab8e933c1fd4831978c0381ff9b8ec85baaed76d1351a8abc38a53329e9c8bb3c1f77a8bd15c29e509b198d46bb28c8d98f03c01f9ced381d24ed9d28ffd1d2eab5416ed5754ccbfc1214b5ebc3339f5a6d667581fee46d60eaec42074de8200d71e1773a9c83061f2ba4b9a2475f552f9ba99fec5028a020f4ac2208196f55c9fa8901c31ac31fbf671be577c9cf64f7fbf3ef7ed60132f2a204f6589d23bbcac7a87dcd46607871988b5f9afa5299f35562d58e93478f1d973ab",
+          "padding" : "302730030605000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "7b677618a244ccf2d2b9ad60413580b07be0460cbcb449e663f1d3504772c369684eb6fa5a3a18e2bde19f8f2584a3a3204bc9026c492137738058ae433d68836889e72aecdbe0385c9fd56c4df102d979f7ed6b59c1be1627575be24401bbaa88ec2346f6633e8b01afff790a4ec4bc1900214d8b9d34f29e0a548e3acef57c197425afac9e4dc2b9d8b9da30e771e34740e5780a52d028ff2016399f78a802f032b92e9f1c4c9b9d8ba9be494f8e652c43cc0a0b4952b5d03795359a130e4cbb0708dde79db136f256f1dd885f340e7a870fb4c3e8efe2bd20deb63fc63a01a8e1161eee493e4bda9879c814d9f16123071dce45209341c54476539a9b1a2f",
+          "padding" : "3033300f060b608648016503040201000005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "2a69e572a00d5d2fab1f91c04c151ab21e1cda5a7675b9e6f67277b120781494f5ace1ad3cdf78e6b6022eece7db55301f5749966c89df5dbf2852bdb182a75baa295697fb1e78122400d013e579cecf3789396102aa494623b5a4145c9bba954e80473fe613513cb9fcaa6792ba67660a9a754d6ed6e3568079a7966396794c1ab9016cf980dd3963179c8f3f0c010f3f136c4b611170fc11c133836cce42fd43952c00d3a7dd868b1715da5ef403e93a64673b15ed114e671caac4109bd2392b43062434c19a68dfbb71938aa8d45b96711950380de2a1c259d770cc5e98ae79fab1a7fda2f53e3098aba41b6fc486b521eb330bb226d0f95fd14aa83e2b14",
+          "padding" : "3033300f060b000060864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "36536ad1227a5d13acae18d8233a00d21e8064b14964a6d0fdb43ce46a76b9ee1749d77d82227d5bbb031ecbcb2030586360460ce3bf14c7a4d1a0202be3a46913913498b3390cdf96ee89914e7e78548f902a175a7f5f35b48838add2418b25cb7f919c1a0ca558f9ba77dfb6e4df85432071ba78fb6fd0edcd343f8c735f061ca9033e5b3441756188ed588564902602e18745a5ce8b57e3af413173801ddf0cc914d1b4d29e3377110a7b844be6c19773f9db22d5b266b12e8e3d4833b721b1497fe7194c0fb4e3d83ea9193e0a12053680a1396ca5fbf69a717758c5bff5b794ea18e56c0e82af3a1b97f6420f4d268f298f75d7c3a7b820d5557b44d035",
+          "padding" : "3033300f0609608648016503040201000005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "313233343030",
+          "sig" : "325957b2999e0ee32b5ef7302fde0299c7c3647ee225d51ff330f7cc67b6b406cc4dbfd6a33ab2c831c78fc01685c4c3bea94f2194cdde48b6ed1e87f5984de990b5a8525470dd23153e329660bf31e433159addf094b6edac8f118d9fe59c34b83db1dfd26df7154d13e874830e42cad61cb3186fa80b54b7d7ec9da3274d2544dfb42bd8f29a3bcf976752589ece5b731f63f3b072b7bf95b930fef428c121560e1daae7d8636a5f40312786dadb81c07577d4a04ac94dbaf9b161a7f8987fae51077a7caa74da3c84e46c3e1000f2590ac2b0c04d17a7a3cbddd639e762e80d30608289bc6b7211d69af76602d2ef33c5750cb3c183c11450a3423d6dcf4a",
+          "padding" : "3033300f060b608648016503040201050005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "313233343030",
+          "sig" : "5da303d9c88ba80e7df9c1bb650e8317c601676af8fbadd86550d15da9aa9f3d465d2719096e738e922b8bbd1b2e032f7cdebb111266814641fc45857af8b10ebf328c9a434170101a04be7cb2559394debb8a5efac20c6ed858b13d185536270f056913790a4cd269c424075183620c6a312aca860f7d3d694bf5e969fd0fb9333f7e42e8955ace71d957f8eb9fe1965117684c2e73eb2dbdd97c1b2f7802dc68fb9824254b128055932399c796dd3ab14d62b917b7520760e678f7c5eafd82f6510906d959faad867c92a5bd8bbe8c1e64a34025621b20dfa166e37251bda6e76c296dc823acd8ddc73aaa29a5572fac2344f8d213c21e5fcfa1e50b8b2eba",
+          "padding" : "30283004068105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "313233343030",
+          "sig" : "73ae94e6749a14bf9e157305231ca7941d8cc42892410520060f916e1de657e11b50e42a4766c5e7b55494c605ad3324e78d80f8c4b31b1055a599a3b31843c900980ce057cb8bcf09906c8832a97536fba159723e7ef271a8017545bea5bc0f3cfe19f967f9ecfe0bc9f786daf5367be00456f97d4f3b69d932fc5d119779de21f7a4e0a9e80b65bbee18494c4c48c4be3a62a19b483bd56d194ff1c88cf146c2eac3fa2a05afaf3a813d5efe29342f6b0fba81c1241d565306d0936699dd20248689c5b6b4ec2f31a12c0d5909013ed97799c47ef089b9d98ee7e79c8d89d7a27563c529917977ff12a0753bdf8b4f62b660d33f7f6da7860ed4b021f51d01",
+          "padding" : "30283004050005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "468c5f910fbcd2e2e412de22199a9ec2e46d084e2450e3752e58170fc7a7cd9870c24859ca131b967e0a734d555a78795ada986a1b13b81ac3bc5b7e858fb3075708d2cb03e4cada94455970fa7d849479ec8e5484270196147ac77c20c0a14628b8d3a69388973e17d571005ae218fef67c70f62436ba32e5a53566ff6310944417c7dd0f7e1e5aafbbb9d4d0853d84624f9d6e3c8078c17c34aa16f0bc8971580f456c2dc49f13af44cad2e3dd7120b70d3bd2c0a0957d5a739a95932b24ffc564bb94d748242cb95875814fbedf58e8c036a516b540ab62a7afdd6e3f304242173fc69ceeb95871bdcd530d53b7145459ccf41afe2c8ca9ccbffa28d405e0",
+          "padding" : "3031300d040960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "9e7e0c0d929bc15ef8ad6b64f9dfac6a7f0b55942eca76df1ada99e443fc3925a5dd9e2b25befc7a9e1c09c9d9c19a3bb842c0f35e8ecd4229807012de47130335175d6f558b79aae6fd7bf2bee86ea2902fcd9067927f485b007723af826511d1a01042ed6a7a2b2c558c929a580cabbd83c5676e1af860c596ef784b043d5c5ed963c859761499111337cfcf9d4cdf8a305d6da83ac6239a4b2c16281d1f4f30a06310bf4237ba6594b93de279e8fda3406bd5c7be52a0d3cb2c7362a6ba028e74572c8f21e3ebb608ce284b4b378b211ccc8f42471ee86923f57fd7c2b8926c9fe0a915e160171cd595b37924ebda6ee187f4a5e7e4a63161e246f27eb829",
+          "padding" : "3031300d050960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "92617dc932c110bf61e88895560638df4f8d05172f435af4457231ad08a5650f1f505604029f423028247d4231c86af51db339c180177bade39076dc67f9691fb7234d9b8c097e650ab3f2822414757f3633a047c5d5082eb469c35757678be46db32c4cb628f30121fd8f5894eeef27707c8689ada5fab7ab0c2e2290a76a1327828f41869eec62c2c03ff50d95a678bd95bbf56f533eabc5474df2f23ce2f8c0bb71b8bd79e2dcc28a682ea34eb20e670018becd44200115ae5116664cdd0429fe227fd0d599b60c6bd3911082a7428ae1f57bcff5b9377fb30994129e2bec9429d6e613c1b527e9f51c6e9921f59be1763dcc210cb2e4ce86297b774b1a0f",
+          "padding" : "3031300d070960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "144d33ca3e767af7d1cf7de00481c6dd6541189cd4899cbbe3125463469e8d317018d0feeb5f3c875a4b7217bf1128f448068af845886de43a4bf4bfccbe7f4d02ec30569760119ea1446ad2937a0ce28ebe3cf65b8212cfac09d19988c3ebceac6ee62d7ed3d716e12517f2c9aee98561ccdc8e7430c6f9f48e13e1061e18c02d037d22fd4b40ca203b7eecea229d155182fa8c4d70905ef9b42885fae0b99bdb945283be021a521a57de94958785bb9fd8b9ff5f7a334a0062892ec1967db6db2f9d9af726432162857996faa863ead0f7ed761643961e80192b72c7bc2210d80600bdc5d9d766fd4c1e82053f42c54e79f2605705181a4d7039377dc36c02",
+          "padding" : "3031300d080960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "8cac0ec2416e1ffcb37acb5b86227e5a6b88b7e4f50981aa54a1ead401e9b968f68b1e0278e55300070f3f05963cd74124ed58fa3969c41c5106a145490174001338c504fc01d2574384223eca0a755142697631e59556669e686b6ac89561c283c855e6ac27e4c9e4c6989c97d86f7f9ce042a65f20ea442bff4f6e3025854a2db562f4a25e2e9d0cbbdca056c09bbf2308c3d34a0c0e39b932cb6c6ffa47f471f6276439b320044c8d9d00dffd9f01442326a209fc01cf034ab84b0d9fa8f63c2c342deaa9baf32b904b66451590febe4c1821fd6b6e88a5c1307b053cd0fe9040abc3257766a82e4d9c6f9a059fbb41bb7116bb6d71e6fa778085930895bc",
+          "padding" : "3031300dff0960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "313233343030",
+          "sig" : "8cf2a2d4f7e3bce319cbf1f2611c9209edb696e61ba984512067db8a91e7faf6bd1bc399cfc9e7e744662d07437f677b1fd04fab3de3f9c89499d4a15a90c194048b7723ff22572acf54187852381c3453ae11da318b92513d3544e671f742bbc3bd69c8552f1d4c58b43a6f7e6bfcc9eaf78f9b94cf59b7be21ceb2de33e50e50fb8a4592441e0919c621477a49f87d5190fcefcf4164ff7d2d5803f03a8dbdbe74258342e50c33fe307294ca1ee3b2dc6f400a12cba00002871bbd852e105b350dc11e4b551182ecf2088cc46af1a899e606bef793897f538792a09901150cf40efdae87e838d6c2a5ac84771599daa0e5ed9db1cd35468ab3b5e2c12a6d1d",
+          "padding" : "30283004060005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "313233343030",
+          "sig" : "2dd458297ce1a8845a767f0a1e40bc30d3b9b54b4a82f6240a3b993cde0f70695435de7973ab17352699e8e383391f17f35caff60e64587e2714fc6807b00e98344acb71195e20673d7ae0360e2aeb66a5831e1165432534f873c0f625eb3aba9307ecfb7a460ba4e28610a7242cf0f76a73e33d6b15c489e2755f91cc4dc47acd6e9261a2e34641fafe52da98a10e4a8306c843ccc8f1bc3c98f1b4d7e3ebde5607243e4a4bc442f87d2a2d09a83c9acad25e558dbb72277512b284a0f93be155172b9f8463e27a701b3616c3021801f893b72abf7919f9963a20d151a5a8d0bf2dbe528d199084a2d7d4f3d1c0ed5893117620cc6800ad3d7d246ca074c54b",
+          "padding" : "30353011260d0601600608864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "313233343030",
+          "sig" : "09b1fcf9a76a1cc0819fbfcc70d54d52ec5c5007c13581415b742cfed2185c2a26784aa85a208dd4ed140654df11436c5487c170bb213e9898650019848b26413f8dd6f0aae6edb41ac017c079b63de311fab7dcce522b9361feeb941e9371bc20936689d0a7e464c869ff8db1f85890d604e814a3fa9c39d101bf7a4b40ae89e122d314462606f8a5e5039f86bbd3da35f8d213b64fa82aff067817936da0c009d9f724abb2060588f8ce3bdc13ac587d51a197acff533d0e4e03083589d1d7363827c34f2616162b085715417d3b8cb1782c04cd0a37dc91780dbfb5218d674a2d2c1096c2f05b28aaa575b60e38123a8ed8d343ef95f777081eee898ea455",
+          "padding" : "3031300d060962864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "313233343030",
+          "sig" : "889bcf54a28525d32db03e8452c6e0f0aef9941716dbff0497014ea9b0b181be70d319574c24fbbd752dbb9ffce4b198ab43b950b05c2a1288542b6052c557c87450168e4cdd399ed8d9b7aa7c841a39b28c7bef5bab0f1716e8e9de9a15c1132bc12cfbb77f237409608fb8baaa2e851742655e272e03f28866723b202d639f28e29372f18579c4482570b3816e037f8f256d7a95116988b676e0599885cea80d3c24b6984ec8080a80af020e7d5631ce8646c9d270d4a521122c009ff626d2c428b1b8334569a7e79aa64a5dcecc7c7e4881746bc3754a87fe51018cb401bdcd6982c4fb4b3782008b951847d64d3eafe4e974bf61d215e63b750313163c47",
+          "padding" : "3031300d060960864801650304028105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "14dbd0f32a7fd64ca18913ef840e113d7bdaf22aea671414c9c44de02218b474d6d4867a9a4b6144bc6274deae6f615ddfc54a9e74b4c657187c818781e399798db8e62987a128105086fbcff4d5a06bb43823b1f754e485dc24d9f952d1d4ede9504c92a2511cf51e68eb67db959152ba1700af0e0aed533246d7ce9e0c012eda62d66ab5be82b0ee5fe4863d3c16b59ed6d463c382b25a9c8ace7dbb26b125afaf44bf93edf6a63942b38f40deef43ae354934056917c9af6655872b010b0840403c1cd5c053355fabaa23ba39dd381f4867a2264c476ba67d46767c546ed3ea59488c5500c79cf5e0670ce744c2603e01e7c53f452c22ba15a8c5930c61e1",
+          "padding" : "3030300c0608608648016503040205000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "4bad954b43b0fb966ac33ed7c8ccf2fa8246279677172b39854268b3c2a3fa670840aab9e0f53a754bbd105f2e52a29b132991ed814cfee0a102e293451420deac214bdb5a574f9cb4b3661b10f6804f5c27d1239556413db01cf123132882972d04b9a0b8d046b8993eedae811f67d9acb9e28b3ab4b6c4d0e42f85879623f1901ac082c93ef0fbc12f3ffcaf252c8953bbf8abd6fc01b2f272e27448f4f77fb369f2c5215c7eb68b2fcfe2e584fea33e505e22a2aad0844d1c8689160a19ef377e7513e96dfd4efb1aaf180b8d5dd8e6168cea4b34156f2ee20a97deea0fda18c6438485fdca6c705806d7d48ff93f3b8dcb847eacd2235ce1db391bab325b",
+          "padding" : "3030300c0608864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "9fc7331e80dc59018c96e65ee6576a82fe34c356de829c7153cb3a492835f55f3a6c89d262fb69a531ab2dfe2ddedce11fdf5c0f3308828ed7c1c0200a03a4ddb034077e543706350f25e7ac6fc35a66588ab0a42f2aa0c18f82c93564a35f4746ea30a4c4d18ae61dd641ceab66a526ba0a23d36f9c4851a358e19c2b9b7abae9666616a909ddf93e4c8f095c6f6c5508b65ef2f22242be3706a3ef9404fcc6c3c49b02461420a7ed8cb48cd9ee1ee822dfc37cf531d62ea14d50c2892421821200e82ac81451155ee8bbd21828993669c68f604881299f88500c369505bdd03c0951cb8e7635ad38e56d82e55eb3fe09ebd2b58d44795d86ab45442169fb7e",
+          "padding" : "3032300e060a3262306530333032316105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "0b8daaad5184ea2987db1d6606ff2eb33f5c9422269392647e09e91773b8c8570bd73963cbbd8fbc0c4788ba95e0de2e0947c542a7a7974daa3dadd807e8c7024f98bfc892c90c3086dbe49d2198a09f659dd4a9f7ae2c0fef7827b2d739cc426885a715cc6a962da140cc9e72eb8e452e7e47dda32ee7b5125a1b811a14d5ccc9e3ad39f145c81abbb390d61d0b10c8785aa67808d02b8bd81aaaeb8963ca21996a65ecf60ffe8bff7f4b8db2d8be0eb0a35ba6e818d2fd6a22db1ed04b71482aa51aa0a54dbf7cc5669fb2be5cac10b3dae866ad4ed188296ce069b8f411104e1ff9d3e47d535b2e86f9daaf5cd7bc1729edcf2344795293552502d2ea7bca",
+          "padding" : "303a3016061236303836343830313635303330343032303105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "313233343030",
+          "sig" : "9c499c849f5d3708dd29331f152110e04c994a343174f364dfe76bab69cae0b2fed36472ea368b9c2c11687e28f5187e924a0f14825191adcd2f6521559e16f8d5aa7801379fe3932ee064ec7fa74f318479e5a07dedb9363b9bb8789f02e2961f634f685c0fdbc1fa54ffce768ff87c550fb2f5df7fd5fcc5c53f8a5915dab8f416dae759ab034da87769d4fde3cd4184717195946c709af8d42e253ffefbf9545e943474cf0c1a3f23016e4f125e6882ee72bbe81062c29b5ad0fec58ca21f88dd19a7bfdbef2acbf8e3f76aafbc93829a9cfe62488bd9fedde2bef43e774c1e38d3f2153e39296b30a7dddc55b079ea3ab716ae16953936df42638b13bab5",
+          "padding" : "303c30180614363038363438303136353033303430323031303105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "5614741c87cdc959f99ae020b7e48b16e485e9197feb8be2778090be2d81cf6c816601bea90bc2a49035e67c66970328b9924b36cae255c4a81c3652f514133e18e6e2a75a33b2a49b8f306e80ad4d84cdaf06d5aae5b550ebe8beece723c1b37327aff25074a1f9db0cb2a7a798684ef45b691c735f1375136372cf2d69806597e8dd208a878e4a40e08b54713c27a606c2dc450f4eee893d9385284de1b31221d3d2d78dfa586f142f82d273d534bd7034d12c70e75c9575d361021f38d765a49d8c6056da1bceffc0492c7047dd73aad77132f6fc2988d264a303d393aa16b7d989eaf4f6407f847c2956bd1e1fd3fa2398a03af3fd9492712e4dccdf113d",
+          "padding" : "303a3016061236303836343830313635303330343032313105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "55982db3387bc911e8b9a26b342534aa7c0022d8094d5c9fcbe550807dfd400b161c9e65634e5725fb5fcb1906ff85c11ffd348d365f2b76850adc0927ecefd26e457e8e2c10ed1c70b0d32c11d98002428cd15590bffa81579ba8938228cb9d899dc7220b9daee3593691c5d1d0002bce9f52ffbc95c5803d669936227d8f1e9c73a75958be0a04cef8df30b85ed6ad005477b359d88b010d9c80a8f83221e896924ce04c16b1db9dec202355a9ae6b723a7966db26bfa3d1819365bceb73c66fb501ba90e32c85271d4ed0397c52431b7cf55ea5551f295117f089e3c60b0fa72a5dd1c7424d4ca6a2962f569198e6bf0928a743396ea58cb865c1e3409522",
+          "padding" : "3042301e061a363038363438303136353033303430323838383038303830303105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "313233343030",
+          "sig" : "80f361dbcf7ac9c30a19650c774696b5b565c7874b3ba1fc7e6aed0b685443092136003f8f536f35dc26a1e611d1a85e0bf2372088c83d157dd20d88176b3c8cdff1b7ad066b26f4ea9dc18e107f290475a7a5721746432a0aa6b325ef0569a93321c3b141465ea42dad7ea0e5c2b94d64b01cd295e3d08c889c021615bd1c14311fb4f19c82f6404bfdce07e7e2180431a13c233a1815822b4004edf3a1059477937ae609970bbd70f583b4cdde521cd5a9d0c307c21cc85758bcd238057ed50e252365a36e64ce29c2d089b039a8a6b1fff51323cec688dbc6cb635afe50c0d404838d23398bf8cee82d54c8ab34290bae21fe2bfc5ccd935b5f4c4335b66b",
+          "padding" : "304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "8fb57d8e72232bbcd4c737521cb402eed26c264c3ff14de0a5dfdbdeb4e65eb4e7de957b51571ecef1534fc4d850b257bb5c8820997cf14a273c447e9e940251fd17c7d14662f447fa96d34be1728d47799318f592a76510577f18bc30343d35fab9c09720520217358e76f16b2af8feeab3ec650a02c814b2e8614efbce52b501c590db9a6290ae4ff0f7fcbe205a94145fb32e5563ecc0717b1e9148b4a9135a5cd7f1f7c1580ead8aee1e9d492d21f20495f75e67138676f1231468967e7f482a59fbf42433e63effc334f92f02f806492053a0429a5b99b4cefad7f29d4b3daf2fff7d38d6095a690dd9109d5d63d47f5322b2423af5f3c20eb97c1dde53",
+          "padding" : "303d3019061536303836343830313635303330343032303165303305000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "3f52510fde9cc0425aa29ab11dd95bb0063c94b9e835dc4ad839b409e1cd8994c87ef018e0dbc1571d3e3e321d35d88e2694bbdb9422c31cd64331945a8f6133fb8079dd5cd8a55ca761a88f280725f6e13c178ea94bd7b7395b4327d572e2615cc60366acffff56d3f555397b2cc348844c42dce283c948c28fc8d077d07c390b8c78193dae608056c93950cee202d68f02b3d8fd58026a690cbd8a95f4d1f1fd15a19e119b3340d02710faaf1ddb66af60fdd5dbe8f0cac69a370cea0a4297a8a2ba728141886f6aea3aaa113a42b6f9acb2fbdc9f7a0eb295066a1862b75acbeee9eefa0adf208867cbf173aebcd4a9151a657a041577cc4265c0c1ff9e47",
+          "padding" : "3032300e060a6080864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "313233343030",
+          "sig" : "78e59ab23d412938f10996b4332f5a412d85b8bb8b3d55c9d017337357823b3cc83d2d1f2b9fe0025fd3f898d2661ac2e7d7a834465f096a0d29315fce69ecd15241750df027eb082d799e4d56497bff65a115e69c2cc57cf1b5e1c62edb25d8646fcc89a74082b9ba36c6aa92ddbccae8858ecc06391f6b39ff5a740be97f012b39f2d48134701cf27b5172297d217e8eb679732253591f45bdf97957f29b596f27ec29f7c471a966818c50296ced411e5010fe6da1c26b9e3489316cb16e55f8b65fc5a1b1bad4077dc34c7c9730402205f12e4e61983e6f5ad163324345a59381fbc3cadcb460aebfedf15323cf1be78c45198afcc803719bf13e42ac560a",
+          "padding" : "3033300f0609608648016503040201050200000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "313233343030",
+          "sig" : "46412b003a67d7cac1dc7992d31259013069a1aad4292368ebe0e597f41883e8291aaea88c2a8115b47fb87265ebb9eba6fe9006bc1e34795a1c2bd8a39c46a28ad075d5cad833beddcb116221411efcb8e86863063b5f6b5885082c8fdb6501e708d734df29c87a723e103b3cb487138cccae90c7431a16189ea8971ae152cca07678491c5b3b68d88c4de18ad771fc252a9bef889b963b353621a0d52ddcd043ebccd4bdcfc5fd4f878aa2fecedb11236de9f44cae8559668f9d035f7adf90e03a707d5e0f97ae84c2da6866f85d49a8dd09106616519df0f5d94a59b1199ab50884cf6d912a061c7488fb5491df32c58d1af741a164a21c5a271feab9a2d5",
+          "padding" : "3033300f0609608648016503040201050205000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "313233343030",
+          "sig" : "951b3c537c26d27fe06f602bd224906b1c1d26e41d22c7a22479f11f913978c9a0f7791eac42601122e6a812730cfccd410aec252b203cb0020d3998fd6bd469e335cd664230fb6dd59e0c141dbca861346ff2af394d86b8fdd2e6d5f0cb3d942c3393d917d62cd0148ba82666adfe4c1d999e1a254cc466ce268cc0f14d352e7b0bea8548a5b6fd3745a81f15a72b00d278f881a55677fe37044394ea83630dc15f794b4f6192b7546e841fae0cdf9c00cd3a455596fe9c5fa37d3f3973c58f189db8d39e8ae149f57bdc0b16f9853b798c87e08ae5ca75e89d4b4f3baf87c8c0b699e8c216509e51ea60b52d569491b186abd2365ef5cab983f71abb233b67",
+          "padding" : "3031300d060960864801650304020105810420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "4b75061a5487fe328a32c9f454bcd7e40f234cb1acf55f7d3bb8a50ee75edb8b4ad16c46b8da533792983de2dc2d6371d7eb08762e2bcefc45467c82130d483819ba06735985b26a19c391f94f854e31e56cc09ca20d542e62e4474d40d5000910a9a24b1443c66451878656d3a5f00a19f476f1c9be86379036555de05b3198f749e40c51e87772a5ecc59abaa9e9a8d0a1681a3964c9f022215a71be814c8859a63b2a62caca2b6e98f5b10a872bab1ee1c00bf0d640926b867a87640f64402596df229d7bdb74f1e39973aeaea0661787a3878b7fec9d31274e227b59d14b1ce2f707da4521e430f17d09fd6e3d61c97d08bea35631611737780f2ac40bbc",
+          "padding" : "3031300d060960864801650304020103000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "490cbd8f51a6f8aa64af8eae7f76ba045aefefa5bd072a3de5590d7ed120f21aa4f91decd13ae7e9f414bada7916ce26854cb8cb0dc63731c58c94a9a9e621163546f19152c6666648ba9291f5e477ee86ee735cf326958afc468ef7dd9a5b2131505c7fffd17dbb7b35b14cb81058d533c7e9f6ede933825dfa689457af1e1b6ded479e1508f167199be1d8c640d7373283b3fc76d7c3c1354ba725eeab08a24b5529553dd38cef48b9d45f2b90f9aba0663839de4de17e2a838e243b898cf040cf6053a3be2a4bb346b1199a93bb8295c9c4e1ed40d0a5d5628a1be1ba21f45c1c28b936452c3e163810f0a20fa717dd484e46ef92477853592ed3fbe71da5",
+          "padding" : "3031300d060960864801650304020104000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "7f23aa1e2965383e38563ab246870c43817dbfef46b008de4b1744e3610b1adfb89c96ca9a9e575edb97c471861bf613cc67428234dca7bd72c422f0c75877da341bae476ff43487b087f1bec13d31fb777e94bff6830527bde2bbe83578ae2173fed5a03f142c2a41b8ee8873492c21b623cb8143134f9de25872b39644fafdb1fc96ac072935efcbdcd0fa5a97cf036248388946223399053770197b886b39673a438f67b0ea789b9d206257f9a3be5a13017cba89d28ea493ffbfe596f9f5d040ac3098a9d968198e3d004d79d6d704aa42801ad6de597cedb3676125e9a23f971083b2bff18e42aabeba6ec760ae8b8c19fbffd18947061d44060f754600",
+          "padding" : "3031300d060960864801650304020106000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "13db6c6f0fae5be1caaec197b79dcf6784582e508c7e0ed3e56c2674e8a74c0b542beab6b7dffb0773a87f00e4648332d4e9771ba85df0ac1f9ca2874dd7792480799209155773e39f1bdfaa561b2d8133f67d47c96275e6b1098d1b56a8b8ab5525c14555f4c9b1f241be6dba874e5d794d0fecbbd82a624b7d31b12bd60ce27451125594c744f7f32029c6c7cd0663627b99f7c5636a836e115d0c55a44f62775eb19444020506b6988e11b2726b2330471536066e1f0d194ff9e6e457442b9154261eae83a178ee2f1eed06ef36e417a04cd007060ab83c53e28056fcf49a26e022ec2baf2badba859490243a0d71e5de61c75d259b53cd3baf7675a1db0c",
+          "padding" : "3031300d060960864801650304020107000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "6a0b7c4e2b7efa7002c444307bd3848306d2ffc70c8e767a9d5b17dfb3df076c06ac0374a1c23a011d466c095184616abc028b74bc58b91df76aaecf8070d509d7c7b9f6403bbac80040ae854d139af21bf7a0909cd8e059b5a9b444b11fea701bb1e052d77c7863b557647c7d468fd8ac2f6540eaf18896284f56ee01aa66ad89fda43cb38cdf1ba553e63d4301869bf9ddf076cbf68fde5706787470cbfe78174a516c53ffb6d5d1a91ed78b4e297971f30afbb5bdd02dfbd1097128837541e2974be63541f8df256c8a77a3800fc340093355b5690326242b0d90b3dfe63160382fb3bbbdf9bcbd5b0309ca9d748a343f4a5f8a54b3a2736199e27386a4fe",
+          "padding" : "3031300d0609608648016503040201ff000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "313233343030",
+          "sig" : "4f611ad1c6ae7158bfdc5ade114098ab879a79e7c70184884f97dd875bbd6b1b869bfcd82ae7f3ee6fe88de98d813103df76f4001fd430de68b0e18c5bf4c8e0805f46d1f98e44112cce945943f682e1af1444e20a4f5e5ce05f12c00e4af3d871730d5e18609a7abe3b7142fc2042077d03e6184ce935e668570271ceaea52c36e553fe791bdca3d966c31299138a2690a671a76dda745cf2aac5e5153a06d89aa4396aca684938c0ad142d5e75e6615364c921c8d18d2841e9a4722fa1ef136adb3aec7be74a018ebd97d48f62358623a7c8d13a76fecfb0ef73c9477aa59ba225416582faad0d7d466d6de53749c3b51f1c55c92fa9a2a08b83b6dd42848c",
+          "padding" : "3037301306096086480165030402012580aa00bb0000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "313233343030",
+          "sig" : "7d36a779f2d88b6e0b55fd0cacda1295fea91d1fba45a992befd742c19f3d955ef16b6d2f5e8a98be0cb72f0aa71356c14919d67e546d69d8ff47aa393b8da04a3b73188b0980bb3a638c962940829a6903dfb28f3d68bae1334d2b63b11cfd22baafb231b5b93cdcb405b43a0c6e7a2cbac3c70054bd8e48f458893ae7a4ff62764bd17254aa4db52d67e7a7d1b44a277580786dfd9fb702efd9727d2808f4f859bab9b3da9d6a18fae30742857892d04a3bd001ac10d04842dfa4be2c6209a87defd735000d5704b1f754bdc254fc131765e573510abb5b7307eba62299ed9c3696e88c3a54cbd56305f2a3010b67ce54cf9e77b86ac50d69b8400017e7052",
+          "padding" : "3010300d0609608648016503040201050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "0b7312cc652255319e75a857440a77c01a73de1cc26fe95aa0d6296cb037c79839584b67684f57d3b2959df2bed426eafb6b364ea283674b5bc8ff6f400298781134e56e080b227d47cfa088774ec73f478602c9e4a571ae383a572fa951e8b9ac66e86a532512ceb862339a5050adfe723f1c1e016a3cb944d29ff6d55f9056e6ddce98ee4a80e998f6fa4d535d3f42ebbb2382dcfd5bd4ed179240c2178019e184b957bceec26283575c00a9bc22f8a6ac8dfb99e85657f33a7f52c44e9feaf89ca7fbabfb947032d112dbc99f05badcc995dc012955a7b3169d9956cc091b69051c5f18b1aacaf30653599068d0ab6d380923fcd7b7c8435b88a7344ede84",
+          "padding" : "3033300d060960864801650304020105000422bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "24599a537c2958d7ffd18b4d935ccb1d045c8d10afd74452ddc10f8811023584950c546b9920f92cbfd0c08dbc85cacf6a16c76f6cb52bba27ec14837d4b3861b59b9645bba8ad588c07cdaf73d873004d0c4a51aedacfdce1bf3dd63c68e0f2c4b7c9d4f2027b7f35d60e9e2e9c913ab58a21f054f2a2257f46afa9cd300e16a37a4ee116b43f3fc4ca2c58dcf41a99f10835bb788d27f061fa790ad503a9be81ffc01599edb722aa5787a94c99904993676fde027c3395a3260ef9fc9195c85af4db3f15dfdf03178caaaeffa3e33e5b9c454047b2016a82d09ba7521e273b022688f7af5d885b2942a296f2d1bb666b4c2cb2cca98c7462de5ae85749119c",
+          "padding" : "3033300d0609608648016503040201050004220000bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "313233343030",
+          "sig" : "0a16c4a930b1abf1dcb5e65a48096dea21c0631fdf403c382de73326642d693159ea82831ee14be40cb8a15709e359d6838fad5cc26aebee85e50320cfd2c4f74da82d243b6d9b4212d2977259f36c5c08d31a75fdd920b40543c36b73c8c244ed1766164f99e2aaca92346705583f0b5df277270951a39aa22dc456417b21586b618043da2ba6835eb46f58590f4c21512db1e1965ec8e39bd0aac87c4473af7e1cfc3eaaf3fbdcf30055fd9a47058ce214aa02c0f96b2492c489c5b563954da1651eb7d4bc6d07d49346fcdf7afef5d9b649e67243f900ccb867452f54f73fed48e671fb65dd4f5508d495df8f54228a707e339fc590a1ab9527ce4f328657",
+          "padding" : "3033300d060960864801650304020105000422bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "313233343030",
+          "sig" : "9ef084bc6824070ddb5af82344467ac985d82e6de8b5e988f92ec1ab41ba5f41ede314b6e64b0ceec5c9e6800a72d79c1d64ed1caf2179f82764a52fc491e5cd20796f040812e38a15c40a4a4509367de92b22af477b2286cd5ef3587480be05b63c513df02c728c30051ba1770de61e4826282d82ca8d80125186870b17256f9fee25f81ff55a8a0a92b1648c09e9f58ac66711087126c1e773a881a10c06168664899bbf1d0e68f256620689f85f1f8254c59a30803966e55012e28ff90a07359d66a73b80945e016ba1381aa66c490662441ab6d6c19d330b4fe39838780be91c07f74bbdb189354557e2f9524856a466c948d350f57aa87e8e97f5bfe616",
+          "padding" : "3011300d060960864801650304020105000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "313233343030",
+          "sig" : "15739f4caf4284e47e7b53dcc8167964f8772bba88a2692da445edfa2eb0f96d2a0a9f25be5f22e8658eda0f9e29881b47229c103bdc0f19f24560da6ed9f8f2c768bac88c19bde510ee301e188f8d86b3ea5d4ad9bc410ded0015213b4044d0b2ad4f0c88a4ea987f5829521a3283214ec3d7e6779f98c29873f302bfc58307e11dccd964fe0f7745bf2e4e92acc1d120342a8e6aab8abc57aec2bcf932efc971532057844758508e00e1abe74c6b6fccc083aaf862b939ed4771c04e2e5f8b7eac4ea4517e3b87084de8eecc6a3ad06ef87f5e4cafd4a1d313fd8e4b19c69493d227f09b72e1b65e08b40837b8c1d275743b699c4a49f3f59bf43e47c1125c",
+          "padding" : "3011300d060960864801650304020105000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "0f9b7c0622ce7129ec1d6108b3664fcc7c5fb9e38163897ffc30eee20b5e502f64b2211d903ceb7e14a26ec8720a38cb2801dbaf4d86b42aa87347de85a21e3f648706afa774eb50d10db3afcfb1943d3cdf20240b9322403487baef167571acb0a035cfaa6aa1c0be9450c5a36c02373a6a71c19ed3e4f4941c35b4be82014c915e839f31c27c4338bd5ea954ba2433c4003bd2898ae197c8a276b10afac3538049630f0af67767aed14f646e0303c372ff4f97683f543d7be01960f1d772890e290b44abe59f4e218fdd7b324720dccaa33d380e99ca5d5dd53ab5950dd3aef373643e53f184e36b7f2b399bcb5c6a30780fdc2ee9387e6c13c537913910a4",
+          "padding" : "3031300d060960864801650304020105000220bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "3f070db7471e7d6c9d32dc5dd19bcb518fdcf2ef2d48a1724d6e3dd6299cdde3b5ed771a0f1a872d872e401373cdb53fbd7bb92a4a13442059f55bf0522d48539db5b52f67b444046a923c7dae3f07230d602bee9f29afcf4880f123d0363de4efc18f6e4fa08610d4203dca4705d26ded912498f653a5ac8a811068c1f3ba547aec31cac73825540e208438e22ee61f20e0506ccb0d6be3459cede4edb91916afd453eed5088df58e023c6040d794e3cf7f531fbb8b0200939ef7c035320356c491c0851a598dc6984c8d98533172ecce1622b7010e49083b5d10ad71c7bfd089ee5695b42eb263b005827928c3f93aba26fe7b6382df948ba761de80dfc187",
+          "padding" : "3031300d060960864801650304020105000320bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "96a45e04e0fc9a701e680882fdffbd56f5ca0067b93e59f06fb9be63720781790ddaf2d6a981d669e8eca75d5975203c77bbe7cc0e4254cbe40d5d59145f746e3d14f1e393600a150471c4f3f288ac40b8d53de28dca2537dfd1265803bfce7c423179e3483ac86e72865707b0e9b05a8f6f932044b90dff67c444286e8c9cab31df8f70f0658a4497e596526572645b282baab02462e5f34656b0d22d94370339cf52408f71105b668f6b7c37020b12e807c05848b627246d94789e2543a9f69db7ebb1172203c00495ebd64f380ebdd1a1180ea08a323ec88972263e7ee2ba644ce3bfadf46634fae4a2e149bc275fc798f021541145cb2783474bc4060e6d",
+          "padding" : "3031300d060960864801650304020105000520bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "038c6f8d890722a43126f4d9a053e45f2e10447a62cb931bfdd8b14b342bf651482fc194165853fee8491263e7a7170d13d56eb45449fa09c3c2b2df0dcf51e823d24f7533a348ca00acf910fd10fe2dd9b1ba5b46876763db3a83dcf6311cd9abd02e28331b433961c55c2fe1ad51ed4a4066ed83a0f03b619c411dc8b4542297555d468f6f083331c55b85c89a44e0aaf58c7c953d92f0797b137253061c0f218d48d5cd30d7bd47c7449673304980979d79adb93b91c1eed4f046b45d05f1b3b27eb9e62eca141fa6ac866ad947ff3210987c7d75275362ccbad1792d68d3b8060c5f089aa2a07f06a164641ff5288ac2408bf4c3a9a934f264f962fb9a43",
+          "padding" : "3031300d060960864801650304020105000620bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "682f3723b4d560faaf6f6b52fa4b387d9b94bf4c436dbee647efd892d661b601a4df467e192b489ba4f3d7a2712da2b09cad25cc3aab2af21ab3ba0d51503c02a577236822e31ca2cf382063d60229003128645ed54ba9813c1de735506a1a63ddda51c3320f60151eb383e56bf6fcea8f6def400305a55ff2103d3697922833eaef804d65f9c1ade60fa5b69eca886b6d472626d444efb74397d37d2182df0db192d382566a6cca3acec93495a61a0802c1197a062b0231f3aca1d1a9e1482dccab4198a0a9df40aa1b354a4e884174d1f4f517776e1054286347623e3b123528b68598dad94cfc79e7a418493eef4db4af8237950018881ec12629f9cfdf79",
+          "padding" : "3031300d06096086480165030402010500ff20bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "313233343030",
+          "sig" : "321fabda209fa9eb11a555f2d5642274ac93f47dc6b09dc98d870117945e0ec326da4cdd92c9262885387c9660bd5101feeb536bca7de135d517e4c9163672c86e9d47c7ca05e8f6b4d1a472a2a91565029909bc7b007eb39e8d6e6a28c1b80f7c289431b144c99da8264420b8a22ecac431daae7e9627665c64e93c9fd38917d27aefcb74015bf2b4aac0abbf3aa2b1be74e4ea28b4bab05c5181097e50b56e2f3c2143914780ce7b4861dd142b0432f05d23ba926c51a91cd875e7cbea9e65ec7a5d2ef9128eb9857b290314be39b7b9e102f3d3884179ef16fe98fd9ad72e9dfb62a8a5ae81a9f7831159fdc601101d20293ba20042a7736dee9448077c0e",
+          "padding" : "3011300d060960864801650304020105000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "313233343030",
+          "sig" : "656c5b616e74f4337340a6ed4db988edaaf677dda18e9871806abde19f26231ccadb30ead180ab3cfa27c74a7ad40eef610d5c99dbc321b049417cb9a36b27026d63940dc05149d030d0e9e34e291416ec857f9b4736f9100a691f8f10a6023258d62e0e1483bd03166fe7640b21de04a533f0d5e9c726f4eda195db54409792889712eee58d56d0b4b2e70f90cb8edc2f55792add333ce591425a0f2a748e97331109e677b72ffd372a88d3518fb7cd716fcd096e3b5393fecd86206947168dd91559ad915874df3bad476e4ec8dd97884190bf6356542878c19e3ca7c7748fe7a639f863482ab230e5ac01ae85e4ed26036ec281017f7cb2f41cf02e6877f4",
+          "padding" : "3035300d0609608648016503040201050024240401bb041f5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "313233343030",
+          "sig" : "22f31138d107f7f74ce012c46e9ac322874648bd1e3388d588098e952d7273ab97d1d17f265485eeb2ab0521b91ce47cdcb74342571e5ae103d228dfc1b967aacb0d4afdee4bbcba330abc3ad445e0e7d94ef39e05b4db732240af7ef1538859866750a039697abb79ce91d377a9907271ba865a64d57c4db4ff886e4e9b157d3e9ada5eca127478483fc7548abc1aa27f8ed088dd437ffa9d3959dbd8768b1d1c35c7bfa390d9aa6e8554bb990ac89da7e49b4bc086438be7670a5f9b1871491e2ae8a23f06ca3e7b87a7fb87ed0bb5e6fd64ad6f1af7b8514115af4e9ae53e35ebe90a5912c45d6dc3aa4b9c7c46a3b4d20ec48a7fae3a5ef8981e965dfcef",
+          "padding" : "3031300d060960864801650304020105000420b95a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "313233343030",
+          "sig" : "4142f9fb5e58eb4ed8c1dab74515c643b9bc4a013373e79c0280547fab695e88729600167ceba6460d7fe8bb2885d6488f0d929be7be7528910828106f16cc5e39685450c8a859fd4b65a383dec054af0756e67b2ee0b2ea756b17e602c9f5ae20b062c5845596c5cce1b13572f54f251e2976c5d137168a6ade05a14227f719bab6c40da8e8015687099fe78f79eae35a00bcbaa56729f60b8ce6b965ad03cef2c33c3519f07c1dd63e6d199cc56be298d027231d0b6e8471038da9f26474adbf28d52c6a582617046cc678f2cb19abe5491cfe9c8e396477fdd878adf244fbc19d78e9419035f3249ce52dbf281622df55fd8b3cb2c5131591e1d565f4f0bd",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050a3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "66d88b8adc0caf4ee0524546be91a69aa3a7c8bb4f68e3a199b8d4b0a0cb52158f785f9ca26fa30bf5827524facff27b9f0b1ed06870c35033bd55ff386c4946facacd0bf3be3393777d3043e6050e5750cf6da7a7f4fd495262158dd4f6b0fbe01b601451fc4f090d03eddba5cb140fb01a65ee6912a8bb594f9e25a9b73608c058705a0a41b17ecea9e0016fa7128ddbc561285e3238aeeef72f8133ea6fdd755e3a910e2e2f2c4c5c7e1c7f608f5796b943f2e860f37bb311628153bc7baaf11d4f33e8aedde79f4fd080636739129dbe2a951725fdee5f32e471c9d267999d9a11bb13ad40b315647b3f7e91c373c53f845ba8db9b30b31d6740da10964d",
+          "padding" : "3030300d06096086480165030402010500041fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "9f24ecb03b77a906c8a865182b5cf5921a98f8002d1c59f7c398c469444776fb38d7221b386c5bee4f72ca5dc36ca1b08c2a21947832c4e6e7e755faa4ad61fb1362cc084d0adbed10ac8165f5e13eaa1f6c77bb2e058050b5f902abbf0041c1a3a93497a95608d9dcb5f7d4cfbb4c037453d5558f0f9bd2b1d3a769e2b651252e9054071dd34f065c0350524a39cfea3bb0dd10620288f9e5ca0c92cdbde4277f9961be882ae2f07b1b75f279fb48062945139cb28ea464b4e00b2a5259aae4397f0ce063321df7ef6045d4dad8ac0649c992bf2d22e728827f4c992045f376cabebe75e58e97edb43991bcb38c66009872a5d5c235c483d8d5bea083c6231d",
+          "padding" : "3030300d06096086480165030402010500041f5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "16b5347808defc31a231c28edac36a3f1789d4c549e8f5c71e2fcf5d5304ba437b4c7c0eb7ffbd80f5c5b2277bf24412b39ee3e74c368517717c438bb88b80b12ad14f7295ecf8841947e5e7457e66d2f869c30d28e9ac2019d7e5eca6229812b649c8b6b4ccd4e17b254e7ab496aa5325525e7974be348dcd53c652e6315e670236bbbef2f501e246631b735c50e388ea3af8bb0030fb7fba9743eb70fc6687cfdb92d46a4537ce88dba96ef52744e22fb7257af1538e3ffc4e2d9ac9101d6f71bc2f5aab71ddcc73a6c635500fa0a9174d25ebcc85dcd7dd85a7d2e8d3138effd171176bbdf23296ba3df630ee42185720ec141ceeaed1681a6ad0c156e099",
+          "padding" : "3030300c06082a864886f70d020505000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "0043058ff1d0e41ca8034e843d17284e41a93df84ec80c927a2443e954025f74630f118b683d6fc4e3c6b7ee4538cc6b4bbe3505f70ae40a336948f7da8d83b1d7fd4ae3541b885537e92e86570c2b7f622d2c4f63b0e0380e3d13be8ac930d06ac9cb1f3d33882cc235f93702a4118038a343b6da20914c40e52a2842009bf9c8312090bc2abbc4e48541a6b2dffbed3c1d51e989479d017c60e6cd2d76ec292e75ba550c1c195c6ce06c017e5349e10a90adecbcc43f71f3d24493796d464dc89737264dc102d1fdb9fa1262ca696528d87dbf45996b7087e755ee07075c8fbcb2036050c8946866bd972b0fa59a2995fce09e12250341a2e43d5e2c8df8c2",
+          "padding" : "302d300906052b0e03021a05000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "57d9d9356676927b5b073de32f930db717a920d484b220ed784cbe2805abed86a27ce84f3c9b5c00b5c9bd146249ed776b02c1494faf4dbb2e435d0b914bab59f3e716121fd212a6967f17b82bf1f96911e126d8251279ae28749e24ce8958d54b126e623b880c1c80d15b0c1f5bcddffbca8b957276fe73a076dcf5627f54f36f35195ae5a777479f945abfed5298531c581ae5f71d2ab6fc34aa08a84d53a03829e756f21cb4482649ada260daea8befdaabd2addedcc5515dc439059739f13ac77d1049fedbf38dc00b11fcf2a1432debdd694118e3cfa7ba1cc6ff716255af532c80784fe570fd5b48cda8c50878377ce4503a8ddfb88e7e3dfcb466b8ea",
+          "padding" : "3031300d060960864801650304020205000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "628db8142e4a89ace83835d484ff84f40e70a0983fc97ad5874c2bf78361ae02f925b41e6af645c0c5d99c3e59929146b3e6de62070cd03be2eaaf760874ca6879b6cd695050bdb8a6c0aff0785918d3b83d214bc1ae73e3207f9dc7ac550cda509dbceb5309658fc52cd1873d747df01ba52a28b09ab4c0eddeab6108e3b75740a80369c0a3296d3514af9a966c5edc9127b88797279291f1dcd3da2a512601880d2ca98cb20d512c0426140f30c11dcf49e769529a72270542501961a5fd3fbde56af7d85bce7521160a95e5388d941fec7a0f312ef9efc8382676735a6ece2d31716e1cde8bcc86063741457644e0a47474f5aac76c618fc960dd9c6d3f29",
+          "padding" : "3031300d060960864801650304020305000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "9492ac64c45a6ee14fa5996c865c18a0310bad275a26be5f4df7eed2f49bb3fb76b222c9f7e92d413d00fcc9cd6dbe590a48c1250ec6807ef5d231585c202934182266f9bf931be91bafa1ea47d0d6dfbd39b5516585142cb52daee704a6c36f5a216b5e42a20b8deaa3e6d8b26e97cee7ff4cbe4b72980edf50283a48034b1b0deb36730439509424d7a5229a5dbe08005f372057b7bc6c45d7633d509d833b90be33e706b023027165e2be40a165240f28f7708cea38ee9fb87aeb8ffbe53637d6f652755f312038f6dfaf5db3b89df86a7031f4d92d1a1b1886fc9594b8e2c29135aab5e6a66ba428552559ab9cda9d915de834505297471145e0a64fed3d",
+          "padding" : "3020300c06082a864886f70d0205050004103fa6e1540a9e5b94313c5907267a7331",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "3ec58a94c9495ecec016babf77fa114d78097e484840d82c3cfe7de98d2ee21b499992bfe3a778161e781f89d20745bfd1ea6037c2e7fd67c3f95479315dda5b87fb53badf0b813f28410de6e79a11b351b1668586500917feb44aae0fc18ba6de2bdfb6444d89b9b8b67490c1f2b81e3081e5c5c7c39f4f8f9bca2ae2a9246465610a9e6a5a67162a3a40857fea59e128f21903afa9143bff67df9679918a0f5c7288af9154f096c03a13601db5724356131051ce39037c6b870bfca5198cb9385137b7cf5383630b459cc6132b7ac611d13712f91b2911b9f8526e02a8c61acb7d184a7c6d86d6246cdc6bd13174b6969e5033bb90c4abaa907968edeec362",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "73225d8f91bef922f7fa479aa9cf384df5cf30ca893ebf8be19f09250b35df80cb8fccc5e13e550b926a852d40c6ba0edcf9645d0965e469d38b1212637b1e4041e47ab1af8fe8b738901bb916270061c1032907f6240f33abceb57dcc93da9cadbaf1c26f42922b3a3e0b407bcc4927658d4a465cdae48a138ba7859c303d23b135a3413751f25b108b0058a313271343ad6f0b81458ae7b050bfeebaca51891d94ec9fc07a698471ee3a0a52fe61dd7c028a70fb4c22314ce3f251a21db5e13c8514809ddd0e8e4ed76a01efd1ccd10f73e29fcdb8d8d4f4c60341e166e376d8a60d05816fe1abcb30152bbfbadc9172ae15e58fdf41e4bc53f39f5b0f477b",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "3d1e67d3b6f474f7e23ee14223cf10d3d28beb454dc7f7ba972bb3eabf6b66eddf245f34c2b9a2486c693fb193891a084bde18576b50b17dec8f9390a8d10dd80a4498cd718f7134ade41538559ab1140e28aa5753bba7a60a515cfc6aa245d3104a598ae06cadf881be563b42dc138af99de76b080eec50f59c0620136525a8b4a3bfd861a24fe5a2467dc23da5b0a7c298435172e3f280fcf14a2ecac790dbf1907ab0670974433861a2ea6e097feb99827c9626b7464d1fbecd7d2d939db1474c30d9be20b77b1adb92094fe1ddd55c1f66d8cc37bceb1460a120fff35dfc24a7e1e3a0b7f7ff4442b36d147ccb635513f415cfe6305b8b713f813497e6ea",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "46bbab5068ebec737454655b811dc71877f4b5cfbfd90b340dfe549942d2493114873470f91f1bb342a39c0bf614268e7bc9f5a68543d57d8ee14fac4b3abffc27bb8d3dbde46ee6cd171b5ea32881f1d037e67caf954769e416c8dea94b7b4d71af3aa2ba321afb997f2120c1ca4ca53583d85a4ffa13552120ae24dd41c71984becf4aa9234ba0a5d9b918c6bd12a85be40d0e390b88150c1635357e891bed185482420bcb2c4f88f21927f4f8e81fc96cdefe82e735c9a34708d5f225e462340a4c71dff89da993e821972b8ac963aa8a73271e602c6f23ecf1f696bbfb3a2bea774b1c058cd8a3fbd8a4a73ddc31a607c9fed0052e3f78766f71dce75773",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "01ccdf739b6385b875254ee9a25872ba1bda2b87cdf57ac741604ee962632e17fdd32effadbaae5ba52904a731925debc87509623d95b0ecd8e97ce7af10f1f9650698d22eeac705a7fff23710c0909d4e8a736a991daa074e32bf8564430ee6f5740df310cfcd3b7bdd98c4c6a1ec24f08a90a015d64ff43dfc00f142838e0cbc2253d8d4a99dc344e6826c79cbc0983147152b0777682e85fb18a9cc0a73d98566aa856f43356eb611ed5b5ae2f551671731967e04aecf96b751e68efa11a3c2174ae0bd2a14271268437c6f60c49a2c1dacf413b2a4f1623502be024488006abcb6680034efccd3104e8c685e0da25f35c703fe91716565241bbaccfb3225",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "313233343030",
+          "sig" : "4b140acb262c451b0761236b926afa2829e8a095828f7dcf196eaf7fa46fdcf7fbcaf194aa3000ae8d3dc7dacc26952502b1558a67fb692da5fcc7dbf48cbc5260e2b2a7041fdf7bf46f531d4ef48998dfcb65e182065535aaf182ae6abf6e819e7d96ec86178137a3c14383f89438ab35f0dc7698e1811c415e163f8bac5435dddba5db55aa6b393d538d31b34332fcc34ef8e6eb059d4cc453297d6895ba480593a5536a4e553a55417295b6f6798734df67e739e54d3092de4f476cc0f65aac6950631081df1116097a7f6a9d00a1afbe0ce6b2bd32ef22acc95219f05df9fb7e9a8b391e6277cffeda298bf094730f5663172183dc5842056de36137ee90",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "313233343030",
+          "sig" : "7c408d5f2efcbcc3f1c6c2a7f14eab73124910f21e4a4b90a782ec8ee5c72d6e84c43bf76fab6a4953e80e712d755489446130b46dcf8649a316868aca5334afeb7c957db77940e93b4241cdbbfe2a0a31a2594c93afa016ea3b95c6c4af1d076f7d7c1e6d66e3267eb05aa4b52014bd8d9e83f0183a9934963b4e4778176f0ab8fb18c327da3ca10c03797faebb4a0b862746bf19ce76ef214507db80b3497e6b2bebd98087029c458389166364c1a81254e8684b37209579c8d32c3cb02ae6e319e12c30c84422df2e82f99fbe37864f6badd947b4785011a93562de2a55c562335afa67b0853e725f2c91f0f49b2a28bb32bd179d928ec37428c41bf631cd",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "CVE-2017-11185",
+          "msg" : "313233343030",
+          "sig" : "a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "invalid length",
+          "msg" : "313233343030",
+          "sig" : "a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "empty signature",
+          "msg" : "313233343030",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "0",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "1",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "2",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "n-1",
+          "msg" : "313233343030",
+          "sig" : "a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d4",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "n+1",
+          "msg" : "313233343030",
+          "sig" : "a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d6",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "-1",
+          "msg" : "313233343030",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.json
new file mode 100644
index 0000000..68ca594
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_2048_sha512_test.json
@@ -0,0 +1,2095 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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"
+  },
+  "numberOfTests" : 230,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001",
+      "keyDer" : "30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwsSoYCNtPJCWoHbWulEH\n4Pe9geG6kW9zdXJL0rCwtjlWgTcVo0V6sEWLcfs1pFsn+e96w+V53qRd+/0HgZ7W\ntwIapTNsWEQqrdlsqe6dMkc+nZJ4VitNECWK3mqY+xx8/cOzcW713sWM9zs1nziV\nmbS1hlqYY1GesAHDJDh9p1VFDbNBMJNg44B8BWW44sRPvV5ujQTQBtfudouOhDYI\nKpD6DoN/MvRgh6tKDZviiqfaF5TOsBcqf1DtIPbfZB77y/0qrIl3XHYacxAJPGcc\nl3+hiw1uAfsl96QytCxlNZeExokgVxnBz246Zdri2kNMMm3egbtv//vb9t5cFrun\nSQIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6",
+          "padding" : "3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06",
+          "padding" : "3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d",
+          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d",
+          "padding" : "3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa",
+          "padding" : "3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77",
+          "padding" : "3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "313233343030",
+          "sig" : "b73d6d97834d8d14bb4536b050dbe47db349dcf6847586f80624425065e10360f9ce491c38ae5e48f6640bd3a314eb097f08c859625d3b7e8198b0b9dda03920ce5fc4937adf8c16af3dea2cc3137c2c200cb8538baba5bf36c9913784e079d8cde826f615313cad093d53110ed616591e5c38f32e2873225634ab10fbc7393dcabe742ebae9ea3802031ffdd6356a30aee51d126064584db555657f11cf742b8ee1ee41119b5c2e65c740219bfc36e6f65fe8db8d16684ba4cd7a12b5bf22551192fa75362b142b95a0b0d786eb26c07547e73ee3f3a3f0b2f2f37ba562f61e86c4bb25e7e059ea504f0ea8f5883382d7b17c95c5297a934479b4d40b632e99",
+          "padding" : "304f300b0609608648016503040203044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "93611a697f527bb2d6e4193ea34e079e0b8ec8e4a516962a74cc91c157528bcf4654beb487f5eac5ed445f858fcf8461e63fc657a57bd8226d980b212fb5e61111e0c654e0a6aa0c959f20001f6345a60ab14b8ef5631a81cdc552a04ad3f17eef287b011ce401be17900e79b4b045c12a90412a852131a1b9ae7c31051e8fe6f066b4f7e1d8e9997aef10a8c516fa3d782c9aed73dcbaa1d9794de7300c607c17607740f091c2dde354b58c0ed9d4b8fdc43e249847b494821bc9560fbc3c57f363e5d2bfcc488c041f123fc379c7bc80a9ea6ae98b7fb76058f9260c0f5fa1000a7f865e5a63d1d279fc7f452775186608cae1f3b640594d4b3fd8af4a5a4c",
+          "padding" : "308151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "a98a9744f1f1893343ba5b702d7d431e40900a3e3948d3e6630fdc0a8f391eabe2f4b5521a2bb03a16053e87a15015d5bfbfb0e7ea4877a05f491bb8df5893c867070256e8bc348f896ca2c8ce4e0ab6a9adf10ab98412e4ab6a4fb8440243fd34749596855cc14745d7096842c48db0647fbd71361ebba7fc263a2d191d719d23e727b1ce36e543cccd521b540cc42e01120994a06a95f43cb83ea51f73dcdb9d5a90683f627a070ba8afe67f9e29b003800479b6b8ecaeb6f2e68bf19f1eb568b170e56d70a8ae41d2524a0e76bfd0f4d27ac8cde9b00900b49577c55384e948c6c6dce081d277c3623b1e749748488e648d9349b9f17cbf072d7083c377ed",
+          "padding" : "305230810d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "13e9948a6ff7595299ccf4fee8f9bc52ca20d8899844c1fcfffebb64052063bef5d4c03460495a475144a252fbf30f00cf58723dc1d4ea48f6d961bdd20d0fb20ded4c90fa9b0384c0de08a2fd4b7f94c6f66a8f3123fffb296cc430ac962001d0bc7d211a80dda72be7e73b84c8b40dcbb8e84722f19ec21aae93924bd2f5dae584d0082ae6c4c52994a7431ad2ab3c80710b089cb79a884d8b40f7452a1874c9fd2f22cf46fbdaeaf5894efd3b0d96bef147b9d600cd0400412b2b8a5fd939e14516e9c2574e02c6f7e4e8f2a5cb0194a34d64a4c5160c55ff1750c5912107805d2c5767a260be1223bdfdb509f59782570c7ec093d7f19f5cbbaa64cf88ff",
+          "padding" : "3052300e0681096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "81752aca9fd0847f603186aad9e57149bc9971f24d1e11b7d12361f989c9ae6e221ff02ad4f907c8cc31b55278ff51d900de8b1635ef5b7bee09b41ce099709e63078d7c0ef58a2dc5c2b5aeb7fe27a283087b9e148c97b29cfdb3a4ff4debd22e60989cecca3fb85c6b5da660bf7d00b4d88d65c0c74ff879edc8ae2848d1e2055856832d05b3f4effdb1c057bd1788e67dfff3d96cd1a4a8b04fe3c82c4fdfef4f91b352b6afc47d5f843b898908c361511ac3980ad1b83994b69400b7702c1bace5e344dd0c5eba651466c2a76c5a8bbefca2fd2bc258dbf424a5465f33bf0a410c606fa3de882cfa5c8038495e3f1ed5e919e18cb107505771a346bef3f9",
+          "padding" : "3052300e0609608648016503040203058100044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "73c5fb16bf8b5da488f290b61eed03b17bac3cdc98b0951e610580392a74f6300961dd15670f8e388ee9659aafccf9dcc1fb97596b9bd39dbb60fe5cc62efb463dfd29f491751b3204e10dfe9845e5c111d335a201c7515e33ce30c4bcc72a6618a9bfb79322b00b675191d763c4299f2a771c9e7e26c0bf0d6fab1f96d0ab60170cb88a101616dbad060ab079dc4ac6f91bb49776642d7b47c3b898fc2cd2d68ff477adcbfb1de10b782c554f1f963fdeead16c2fe5b4e584c6ed8c81725169f27ff371282305d4b1428b89a7a25f057763c417f73ad013e62df8afce855a38dc6f20ed68f4e37a9a4bc7395b9f3a4aa8c54252505de3f9b3e0301316bb376a",
+          "padding" : "3052300d0609608648016503040203050004814043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "1075928172057bdc681a626808436b13f556883057c93b452326c7f51316939cef89fe3072c6f1365120eceabaa0c12ce4ce05762843a09debccfa01ccb9a85f8b0f1f7f030ed2a0c1514ef1c25cce22557d30627cecbac23f9f1fb645776883fbdf502894cc373e18ac6bf47d655894b528369a341ec1e56c2801a30f4c93e5219a24f727b5d41c0789d01b868742dc9225f5bf3b588e5836aed54bb009e44b9598a96bb36df4bf3521cdfd792c2bf9647b01f77e80f8063299ee26a9a36aae9594536b7b3d3ab2fa8df3dfd7e4380eabec23ea09b046d9bd07a11f084107bb6caeaf32559685611791912513f50b0fca6bbc37f93b4c0048a41758228539e0",
+          "padding" : "30820051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "7a21f13f8af98f47bd62b03985a2e91ffb3c7c3a5af6ec75c2269e3ab11d859cd45a214b48310c7fd7983c8577d839cf63d3c3815302ea649a17f813d6cdc75803a6caf2195fe17a5e84d8a59eac0651232dc793d9b7554eb1123e3594e1f6a57a72e2bfa6b1ed9f1f9a6168aaa83ba2d8b408f3c709354a278b991751207075e7e5548f0c0f764d58775db3143191a210e702b69dfa8d8946b1a65d67b3da6f3451f70a65d29314ce5b7ff13b95cf7ae68854f586140d97a0e9de4ede07be81fe20a5b6330bd9c63f15a3d4904b3a4596951ef5c591007ee2f6ff94fa90abd1093d4dec45a9904eb656713a110faaeec429fea9d1b8c47133787ff6aad3f938",
+          "padding" : "30533082000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "608ee7dbc573b80a6fe241bfe38854451a25de5ec32bc17b067f9cc9679382c8ebaa5607bd4b9f540046129ff555cc203728551001fd45487edde84a80f6c4b035051553b683881c17ed34bbd1e071f28e73cafb9e679489e5c73b02be7698c733d5a6316735c57a4c38a820987d934c463556183ad25f0d2a69e882acd7ac32cc3fc229e0ff80a1c5002095c417a559f84278dd75098b75370e89ae1c6ba708c453322f9be79e74530b062a098956dc6727a515a5e06c3d528f1a8f46318c561ad68060aa459dbaad3b8d8502fcf8109400dc3f1ab6e2bcd0e03c11d6c659f28953d70a9403c12ab154b054d860e534ac5c322f38685239cd20b367ea6b5c77",
+          "padding" : "3053300f068200096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "b06f06dd6e71e4cfd3191fff49312e1e89c9ff09b502f8d81c6710bc25480e34519b70f1282f56c70ff540b507f729702dd6b25a33a3b96848ca94974ffabbe7ef753ed5a6b08459a1229e163777313f7208e7d4bc30eb8221e832efee50fe22ee7f915e6000aa8d38a96bdd1bc87e432fa10da0a1cb70116c62d894d05130aa2994796a4b514531b749405f56aa84874da4c25b4743814e0de174401d28d822f0485b267fd77511eb936011bce790fe8742677622c97f6ee8f749c57b254291deb8cdc759bafd8b8e0e95eb26d2e25097beb24e7b752090549a5f12c276ca182f911b095afcd87942504a026bb2ba3511bf4d32ac7fbaa8e44dafa39a47cb03",
+          "padding" : "3053300f060960864801650304020305820000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "7520c52e90e539f8d2014f1bc44b0c328df96d9f93e6d12fc56c895945993b73ef01834db08369da066eda44e585c56e675b2b96801442e6978d041d0e263a706ff384abc1e9b7b0c0ac4a3602db96694608a83c799a2bb679fdaf6771f2d170827fa284acf4d8ea77b5837794ba74540f52c2db801ed02f040e38043d6447c1aa6db5a76d8cf425d7e6b85bbba2515d9de7063b8acb3bf0d44d364d69fb4a20e0b6ead6fab8c8b17e7c0fbeaf352e5cbd34b2a58decd81dcf452acddc6875b079cde93b10661b254fd04262918a705a1b28926388b069e0184ae4f7349afb33aebd1dc37296e04f116c691b14e5728cdaea04462610bc64b300e8b5b903f912",
+          "padding" : "3053300d060960864801650304020305000482004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "a7db33f68fd972b3e122e2dc8c749561d14e513e7df9b03f285422015879de35021689bccca37b31aa7d156f39399063a06fc9590c58cee25d83e1debe90037a8713eb0c58194e7b54ddaa86baa0e9f83b604afb5585aa1e1a45fe24f38576e644eedbbb86f57031cb43f3ef1428a33998c1decf44011b63763e47d2b2fbdaa90deae270455607b928645b3f5ac39553feab8f5115c9e2f26497155076c13d76d95af3ef342bd1828e382949a63c54cd0d4c4c53cb00ff4b8e285034e78ee0f7dccf9017839c189ccb3bb8b92f515beb63345c9973e77dfb388b373b8076578e41aa3bf3e86bbd4e1875996ad19c8d618c8d69f4eb06b4103cceb2b8ccbd8a58",
+          "padding" : "3052300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "72eeb72c3c87040a35b98244d6d93cd309b65bcc793bf9b10d5f7501bcc4dd8030eea73c4670de7ed9605b3210dee4e53e758fe7741c6410dcdda4769df6351ee82380b5b2387c1cc8935a60d58408fa1a51b485949e0a4d4a82a27e8b2265ee634815b8fbe3778a00fcdef0201179bc4999ae16e1849027ecf92d53f53ae3e04c9d7a39e71f9be774036d40d38777fd6e115d0bb7d8b538e57cbf16bb4d5748ffac01e1b20347bd688b0b45448fb5028fdeaa190e3c288df6dae55ad078b50cd64adc36d471f0c31b574fe86680afac6a61ea7c2fa5942687e1a4027833655f88a123b50e7ccafb7cbb73c8ebcee7f915258b8ebc47a792832242176e2713ca",
+          "padding" : "3050300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "c280a6067d62ed84b0f9f44bfb322bad0ed92fd26f5c8ec7e91d9a115eec2dd6f5a589c124b50b732bc5f4e382ad344a3498ba280d70a8e7beb9759972fe31da8ba57b29a13c17004e4336207109385a5e27d53f12abd5bb6059fa917afbd45ca8a4322928cccc776cfbdefd7559eaa86326c21cdd6ae4c40c40b1659016520e5d34b1b63b7cf744a37bb795ffb86d853dec82a7c2c57ec5b14f68535c12279841fccacb94b35049a5feed59496db1ed372f968a4de1d70dd98c64e3e17e541d0fcc971a735cc610b9504680cb615301440cb211a73b6bb9355a677be77de6330dbdebcf6abf3ca83d457dbb951f3189d017022c354d08fd7a5d0f8f63aac308",
+          "padding" : "3051300e06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "bb7d11eff4ebfc47082969640c3883ae3b2a95efc08f0a4c4cd59c61fa5f15e1235a3e53a9653186f09c21e11757a016a671db51ab597959a437f26dd1f864ab7c67306fbc578dcf614c304f8ebf6b745967c71b8093485f74348f81865bcbadb39075497e1ed9de3f9e21209d21ce609d2d11c3fe837dc7381ef8aebf4680e680276cfcca5506d3c1eb5fce1655b566ed63cfa69e4e186140580ec9c7a51aab286a54fb674cbc1b527ef6d778ad228109a93ec4a7dd39c30c5879e2517a540ce7c0f4989b7a930899c1ff51143e7d2d3802c2328000331b9c6e9c887fe8242d2dfbff5f828f604050268c450d74779f8a512dd0632b90c9b5870c541b45d163",
+          "padding" : "3051300c06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "423e0dd97d9ce8afc746250cdc9d4cae42ec240e53f08a32bdf9028bc5be2d6848ce48e13655f009e719d19a150923c145891fd2ceb63d2ba5540b658c18514f660831cd9fac648a487cf74075116ef2daf99e8c65c5b3acaeac974769dcf693b535377d69e55162b3c77c8bd92e21d874174e44f6e129d217c0aed09894f4cd75c7d370516cff3a588d4c89da64e60ee89abb4cf28ece616335ed3efe4c9d6f1fe5ade4dc1bab24410f48a9eac864699f4d3dd80bdb34c600cb53a4505613245df1e0edddc9a09a4d7dd540c661a5cde0a32ae22ae5dd63bbffd6fdb91f4bda8443cb8f8dc5ddc40d62859e5cf5911c2f843dd62b82f0c1f39e0bf3e8edf094",
+          "padding" : "3051300d060a6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "16526d1cb139aedad31a0e397aa3fab0232b3d6432dc7fe1bf223246ea35ca6576c224afdabc95571a57108bcad87faf73136bc694f16f44bac788982382d6c46ab751683a13575f917acfc9830585c9961a61de138bab17171b6c8466fc35065e08a9bc6dcef84e46c37507306d60d855e661db7c41dbe59f3737547063796c618b5c9983726dad445edd1a89a5960758b99058e3fd0159b739649e40e9bf57f39e66f7bf23ef72252079d1527e9099b0f2be56b36c350468202562e33489d1531bc5188640c2d3f4f2745cdd190dd96e3e9e0a578da8132cfaa12ac736c4b5f9a4d6398195a88626f5c38b16016c9e97c2246175f8a1ae5660629e109cf60c",
+          "padding" : "3051300d06086086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "27e34f147a216612af33b2d780da400926ebabd939b41b6d6acf64765087231c6ee9c32398921641dc586048fb2e5a6750bea7d99b1c5d0ebce67fdbe7474fcdb67d9154971556b7dcdd304a28181123b05fac0b738d8ae21dc84c0c7fc6c152c06628579e708d4d7531eade2baf0539ec0b3985cc03f9e5325c093a46f2f53a4a0cd9a4209ab4d7100a06cb446444715c746c4619d3f32a7516c8c13638ecba66242222d3b636a3c609fe2618e080484ca741bcb755d217b50fe2e560d6983b8f708597adf4bcd0b948766f4390d0c1409cbfd87f8e1e1208561a849d79826cc60f380255dc4949af3c4857ae626e2e0dbf4dd5fa4de585a9c0ddff5decc465",
+          "padding" : "3051300d06096086480165030402030501044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "8de2a7328634e513526db5c50c132c3e955c22a6022a904b4fb66d72a2d2aadcb250a6cfb838c9780ea047048b8a6d1650062ba0348a251f61247c0f1babbf1fc6fa5a4da9e01cdd7a80a6e3d8a566f56599eec09903e6b4b14d3b16153bc43fbdb1261bb5328056c9f95cbbe7f7072c93011f6ab837d6f3a38129ffd14c65e1f666f64c6455654748cac6d18c08b1d45481720a7834580452d1f62aec30245aa84ed8a7aeb686d46c2c512fa4e0f3f423c62f5db51a3e74a6e1c6f1450d61bd43c172dfcc355f56bf283421d3d60b2676c39122a99a6e397250c319419bc1c8febcefd04eb40ab336554c870b6dc719c4fae74929ce79807eb712828c85b482",
+          "padding" : "3051300d06096086480165030402030500044143f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "71d7a71edbc49fe622c9fe146967b2e4dc3ce1e3b49e022216b7c64eec7ac9294185a9309f0e2b78c1a828893f0ec1c09a4d7eddcaa60010807cc9878094fd18b179b41cbe73b4ecc03a7a9900eaebe560bdc7b92c22fe7a20fbceeb388d0bc1d440b265166524c7183f577bfcdf2d183257bb9699b529794568756b388f34a987bfadd2344f331092ac1199d7d8688dede96b1ecf279b1f2b027105439224133b43a95d2a31196edb0ba7bb5f72df9d986f0d55466fc37cebef4eb9f5b942e274eddc8f7d51beb95afc8210d88fd1578b28ed31947ce64cbea9c4e7c6a9fa2bfc3ff07f90f0b0e10a1010cac8c6768ca3ba9321c3da03640eb4909f5dc75bf6",
+          "padding" : "3051300d06096086480165030402030500043f43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "4988c316c1057404e4b0b1aa3d0aa039e0b4dee3917449c0cb816c7d738db50c5e62275770f2ac0372fa84e88a20a23b9c36970c6065c599ab4c23b5b28d260e95b7f020d760e7b7e00f0e7f7bba51ba104ef62205fafc6226c95c0f483486980eb163497d7c33aa1b856ff77bc1dcf94c57442edd91923417afa48fe718285f358a24bc7bba48707155e41145d16d9e37a12b8821ff29c581dbb2f3fb64172633c6d7c1ff6b78debd5fa8faa4623fa3fa93352834c7948f7b68311fd8f2189e54420d73dd5190ab34dc3a8efc9bb7787603f6030f0ea2eca2aa7e87c4373c9b0b3c8d9fe16afa3922639501b62459c34012313c160c8707f740330870ac2273",
+          "padding" : "30850100000051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "8f9a07ec03306424540f913dfd03eff0567cd419dbc5be4a28b3dfae5de126a01d1fe4c6147aa4f1a2f57fd50be2566ef8ef52ad8ff816abb114060d6efcfa64abb0864e613907ee142a4f96d965b3aeacc6c870bdfc316c72d43a5c9172fd2a5ba0de6c521fd82023c511c40700f7b7651e8e98a0a20d84f7be365ee540a403c9afc6087dd5ae8473006fe4203a790db4723520be38fa3b9247075c93e6b5499fe8ab997c7267e495d1a99d5865333acda265c02569040787d5aed0bd4e492e3f76605120bd41840473da0e4fe1a388cadca7b4d543f5beec4be9c3fbccd0442dd0b11f9d79c6e910177aa1c997028d675980c439e61571011ff9b26818a69c",
+          "padding" : "30563085010000000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "c1cd6bdf82c00f4d1ac1bd38ee4ff5929c7651095587293d97f4afe324dfad1c3aa111abafd30cbd4d9d61b68430e9a88e016a85866ae40ac542c2803e0b0959d3a3f1e66b8e79dfc73f69ddfac4c86892c2da5fa2c991ff20cb2630cdd0a8a38d1c4dd3fa623c219ef50430798faad662bc15caed462513ccee3a1aa358d6e55790357fb34221a32796e0c6988dfe18320b3dea14f3423aefe12bc4bf1f78fbcc70a1cc15e8653d6a591bbd662859d81df47bca498e5649c07cebf9cb26d4bffc1ed0aea7059767a6b47dcad293dcd24855afecfdce49e8bc885511e61e754fbb8a6278582bdeca1c04fac5465f15a14d28cae2241a0be7cd662ea87680525d",
+          "padding" : "30563012068501000000096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "b8291b35c54446e9295655967a687ae59a795e96885dfbaa83cf52095d2ee55646cd939ccd8473a5f1fdbc8c10a77e87e65b6741ef2f854229f0cc7f8771ba6ce56391061aafebdc7b4d65d798b4492cb5d58b106c2e9fa5705016e22067b9cbdb6820159e390b8ec4bf41661a224581b774b61bee9238d5a8663217f6bd57e7e3405447126fa0dc3cae2734da94b2d848b9602b4a313c5283a5a5306ada0387589d1a5e6ba004c949dfc1c07350ded30494829d46578251c8a777867486483c0af6f6fb96a137573a72b81872162d051603362e873e5923ede5f418626f917a53ff66cf0d5e35a8fa2b800b8fd2fe68e07492da3bbbea36dfc282f05f243271",
+          "padding" : "30563012060960864801650304020305850100000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "207d9fc28178464713a14c9076366375fee88f884707b3e30d1542be03db648007de08890e60e1a0226927853e13f48908dca2201221deee23c1ec02b8b62da8f5fe6d603ecc8e4fa50b45f65953b418a81ba9783ecc53c45d3c027d7e891c5c9ddfd4e71809370e353904d5a65d31dc083b37c3316a7e59fdcbcd9fccf65132a6736d2143e55c786d73e3c10971d1783ff46fb9d782e8849d2edcda14d9b1587117ddc0defdc612f532bee3bfe12eacab5ad7f7f4961d5a7cafe691409495517c3579b5e9afb1286f8e877b6c92180d892345569f694a779dc45ae91c7181142bc18352f7bf21e62f3c25b486690baae34759fe0d7b5bd5f85c2f6bdead0fa0",
+          "padding" : "3056300d060960864801650304020305000485010000004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "22f3151da8a6c4d0b32ed9d6fc8fe090e218f18289b5a7d780b9cd78618f57415b49ed7a2ad1064cbeb8a20dcca021cff65e5d51a6d662f947dd2286e4734ea6923ff40acd41cbe4e6b33e4661966a8de0673e59958f71fdc191b24a9ca7b08a78bc318de1330ec7025f526cc6704faa7923c042e561f83719a7edcae9a3cc6ecd91d86a94416d2ef60ab3e74e1f587c0b5c26fbc4e2f67983d4845f907e58866936c80b3159d352383d1deffbb9bbd67a2eabdcc43450ebfda73495618c6b5b8093d49e1c0c32445f5e945227de1e8ce1cec611cbee43cd6956944d6554b5e120ff63899755836df131feba79d7fb06fc3a3b0feda121243ee00cf8965d4acf",
+          "padding" : "3089010000000000000051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "ae0ea39ab7ce7af3075d67f8edd5862508eff6170b43c02e4f592c9101a7da1dd7ef2e4be53ba3449dd6c2a6c1837884f12fa29dbe8e9d40c677d1edb6122f61205b203ab0f342f21ef8cd45839b9fe9f61738e7ed0915ff398a679a983124009fd37fd5bc9891d33f4830aa6f89cf30b59dc3d84cf955ef960a0980f524c686cc8123dcff7bb9dc7e7e1bfb3585bec3aafacd5a0c7ba63f6af332dcd1b5215f95f06d2307cd75dbafff2ac5cdcf4587a68eab0d3d277ac6e999ede44a551a0d266f9358074715931a7787f4ca26a94ece1c963a96f6558a6c8611fef31a5d459635bc2781ecb35e75837829864001074dd585d70b7e5fa6abe2a6e28b67d48a",
+          "padding" : "305a308901000000000000000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "7be6a7fbe11828cbdde67e5e0f2580b09adfe1b81a564875bb522eb59ffef9c3541208e520b4e73b597a30a526dd954272cf936033cf88891b551d1eb9bfa033a1cdcfd0ab8f51cb8503995d18a0acfb644d5ac892f828166ff25b48dc4ebef7acb8aaac10baa402c8db37698f048cf407df57bf27383db2663ae3e208b320f9634af208c23cc23aed64b7a6f3078f4b873113e75457e3f6baf23d3f49ac6cd64a11c90469a6b6fc9837634c72763f0cf35505b88fae96e149a0b87a0c71820c5696fc7a6100138f07e65c40b2384dacb0c8557837d0a5082773a09fb0ea369e7c296cd75a5e8a4dda61de1f923d31e4d8e48783c39d5eced7c7e82a6e36a1e0",
+          "padding" : "305a301606890100000000000000096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "8c03145d0ab288cb35d62df31d4d9d3f7e8f3bea809f5fd2b02722a1783ec778bd38b861bdb5b5d1d3d283493a7f75a7e458b165df40bc6b370ff901e12b5193187d85860f391594f75276596155b802e497a7b7c0bfae298f8a7627f70924e5008a0c5b2da24eb33346f80d85c7c5851b67e1aeab3124ce64f0c3298c2cc8d3c7ad46ddb945be4b2cb9ee37d08b252372731b0321b617ee2873d187898e9079cad56a9953f38def6f318e6e9f30eb79060dcb82f3013b16444cb10fd84051b9c9c954d9af65ce4f6607063a02e179dbd67cc0a98cfa50a78c75d7e7ab53f5bfef34e0a0afcb782ff74f8846faabf24f3073110e4b1f72b050644adb386c0c84",
+          "padding" : "305a301606096086480165030402030589010000000000000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3ee1be0f2f1033fc034979a6de92c97f9cf26737f8143859b49341bfdd8263f1bfc65e246bd2bb655984b8e98add8bfd43632964a36fa47be4b567bfdb51f10817a34085c4f391717bfc7132736d05ca587bb090b9d2db16b90ae951524f30bcca9aec60f8cde84a373b06050b231ab7a1fbea4c7d1dd8102c2235437d1ccb89571678ff1cab3659061829f867787e6f70b8aee07a0f63345723bef4d26915401862449918e00f9de0594c77fb2ca13259404be5f787bb7bdc49005f2da4a6a2e5beae1623340e7af7fcdeeb7df228d3f7f5cafea8bd8d06bcffc80708e4703f64d874f702533c5642878f408db3ec7f1bf573e92080fe532dd7f68c96679ef9",
+          "padding" : "305a300d06096086480165030402030500048901000000000000004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "ae177278bf000f22063be4bbe62c28840bf0d293096cdbda95eb2794930c96544817c7af9e92f22dc81ef2b64f43fc50243ac91a99ff41d05a5e38005a32c519473de62f05a5250643412d6339b44fcc3ff2eb671da073ef72832cd9a4e892fa67c59f8dbdb1b5564f1c8b93ec9e9a1080670e649450b006afac18937a62142e2041cc5394f87325e723fee67bea8385eb8847058fc56bad33419314e4097852994286c2094e4d0360870aee0a6fa2a3823d27eb3650e727845df9dc1af0e475a8325cb9a39f0a9ebb2104a3b66214a7cc02b2ad3be12f91fa434553927dac42aec55b8fe2b5230b0951d738b42b73063b97eb6cf1fbebf76f5f7f5619c730c1",
+          "padding" : "30847fffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "1037912266d26bbb66bc872403272075ebc3c0352ee5201b189db701f64ef193dc2facec45af460a38b8d2a71d1ccb17dd0f8532bd87e5d7f6b8e1414367b5128e3f6035b26054d3331ece1f926c2685f5c286ad0befce4be76df6c26bae8a6df520ad073a058eedaff3d5fc6906e8e1c864d5b989ce9319e87fb121623a27432e2c06e936d151b7657d6500a08e8a3c71a0b491cd3908811b18d00add825f848d6a0290f4c0ee2e289274cbac8c8ee00168631d43e7e637609444c18aa4cc0a887bc104d6ec9f699119840a99a9e6b7ee3dec0d0b4a1f6a1e022a44721066b0fbd6a7c6b4f51401036e755924845bc94de315f494c5c19901b23e62e9db6aef",
+          "padding" : "305530847fffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "70a231ac8da499eca0f1f4abf682accffd04f7a611dd850cf5241f13759592877b8d43682a1f84fd01c86247f5fd9fcec98cda26d9845026f15923a16fc6ae438e718159ffe1180df97fd66babacc4b97b156ec6ec500030b0fcb62c52a208cf1ab803a2d8c52be242075cf4f6c84abae285ce2259acd437e7764da25588bc6dd254456158e2ccb9c5f0e89bd899d97621e9c2a6049a60c978428fdbfd7869e3b12aede869d7daf7e3fcff841ad88b6c2be36b7765e3fc24d996e83c592c32fd1c45bfad63acf0bedefd30529dc6f57877ca0c72424474dc7eed3d4f502a45299f14d64f79f3394e00d160c4dc0a05f57664d2cef729b93d37654df8f1cc010c",
+          "padding" : "3055301106847fffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "6ac40fedc37ad7d9529d4327f81b3d223adcc7050ed1a6cf060a48035f01fbb19f8f90f17b1a5474ba1b362d7d826d2a62bb6cf0a6c41987cd624f887cb259e3a5d7606b479842b4a3dd69421355111df9d1230c2ac9e082cad89619a34d6eca3f317992fc3933b3cc29bb36787102b077d8b87911bc8376e68ee1e5b405adbf62e5ca46d8f500223a386553c45d5d085cfda0b68428eeec08ab0fecac33da41c30062fa4e7c89da57224522343df9c42d55b5b806d02e6ba11b8b434f8f4a638a3d78f4e7a295f17063e6bd8fefe1e452b6a7ebdefd82aa399637b804722849e6a3950df8abcac54e7faa656e52678ebffc9b69e2e8d3b77590ae592bad00e2",
+          "padding" : "30553011060960864801650304020305847fffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "7f6acb039833635053f8746feb3a6df4e3e98d9c253dbed7dcb01b3fa729aa93f7656048d094ecff6b7f283daef8af14bd328422a90c838754c92f79fbdd923c6975ea16ac4b02b9a4e9b67ba729228a35dd94e0272c759ef7d48f75f9e329a0a14e29f925675f9deb1885c1de7f61b9b95dd2067b1305149928093c3c99776c00d4facdbde91b5f975b2a4931ec369efc7f50252d58219a3c7ecefa70410e78b6cdccb96b14384809c257462434e146501cc042eb014eb3c7e0b712c88facaeb8d8bcd7274a0fed55c01d9bf6c7b9262166ab0d52c320a15c1dab52ae3199ba043c50843eb6ffa66fe147b2f1cf33f836017c3652b79f8384b34f68c7daeb8a",
+          "padding" : "3055300d0609608648016503040203050004847fffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "47fc62936a9113548699f3133f7252e4d2b060969d2a992e4e83e2cc6330f4d3c9e5cc2005ab49f26cebe2834b7febf478cd01d0338a56f262955f61c70bf662a55ecb8848374f38bbb16b0b25bc012197e2b92d62b5c38bc7b2b570b376f6aaab95a134cf6d0805f3e5823bfbc5f57b69cd84fc103d7f3fd7f87186a08dade4522cd32a7cca292d25c02c90ea0a44f6c38c13eb58b71a54b58e42f17245f1881087d32df31be3e83a2716ff9487e3b389e2398d79ed80c0cb355322358bd908d397b7365185ec4f55a50a5879bfa87e248d31a6ff51617b282dd2c07e228510790babe57b466e5d7e7ea6491dd720e98c77124354b3e544d064895ac845c35f",
+          "padding" : "3084ffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "389f60a3f7e33801cc6067cae353b16263aa75279d0cfed16c122b4ed81350538039fe7f43859a1f76bff62b613bc8abbac257ee6eb3e5088e6ec33815281d6f6702f05ff75f2c6260c8791e43dc168f69eedf1d33d42fa5da0ddc9d2f071ab3f9dc0654ff1a3db8c855cdd9941e6c6609aa29d69f6b1b1254c3437196fa871f443fed2b2beb113257da4bde8aa7bf232fd9c0ae7e7419bf977f14c4f2c4d128e5f79f6f5c63939e7fcec231ba64145f8fcf6f43b821b41776811a848d613b5da4cb8418a1a95402c3ee5bd7195666e8d5b13f12b08cbd730938c7ddea9d65ca45683e9de28d618af1b618aa0bc88e3d1db4521dd069be105b3145e54004eccc",
+          "padding" : "30553084ffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "2dbcfbd059d95582e3c0bc4b91163fedf41dc471aa1fdaee288eb6aea12cfdc6445ad75dc1906397516180884219116bb4415cbc1a45d08ec53b06f3c823cab4f633ad62d3035a66155a706f36f5899c9ec33ce22cc18028311c121000ccb23f34c4a071a8d296466452453787e7a955c5f83dcb3e0c8adcd58806e4d0fc5c90a18f6b570d007c7b5f6200cc96ee8b78c457fb3be09146ebbf7812a747d7d2aaee76085f6f6a14aa7aa7757b17e1eaac0885b0cb4532f46a4b0d5278966db84f5d7513cee0e269d32254e9c041bdf77bc4c2a08020f015f19fc4ecc74ddeb0e58c2693e42c554a7aa9c83a97e8851aa408a39725f123b10f47c4a30cddce2fe9",
+          "padding" : "305530110684ffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "0f6a1d4ba914e27eb6df8dabb7d9e042ceec17d40b54171bfcd150278c64d64d4fda06ed0895920a141696a1fbdfcbb4df8ba357b81a8053de2ed74d423ad46220f6af244815b02d44fbd45b31cc2dd26145de9100063e3b1f24cb0e001837c0ec82fe739fa46ac8e75deae417e4ea7b2cf63a1c6d013b2a17bcdcce9a740149e70dd890acbbeabaeed4fb85b2c2c4037593c68769ee060e270d086755f16a2c4efdb84aa690c2dc105d47d0661f794f9a5c2d8bfa01228eb97ed79105dfe80b3bf8c06cf0c54749e9dd94ea26463d3155a268676123cb4562473a7cb6b3292d57fbf65c1e77537f43ea13d4429c76e0efb922b6954aaf481a85cb12d242beff",
+          "padding" : "3055301106096086480165030402030584ffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "099e3cefadbac010305b80308665c50dc8513e75ab7a19a64ef0c25f1d5336c73b7d50a0798b2b44cc7bfa00eda29077c52b303f1402a90ef4a6bd8c68a6304c30e94a082335d73f064e67e61a95b0ce9507b3b5c04b51380da72d15e22c4bda161b28c9cf73af37737c1d6eb155cb2325160f006aa9920f11253b03fe3a9b1dbf601d29ee89ba7bfea43d7258c91e706c0650091c7169692d1713b6cfb0a4533a8195d67ef679ddbfffd13148c22035583eaac176704179dcf899c86524611ba58640fc7c91b8f477ff0ad39d897aece17bc4248337dc1547fe8eaed37d16cf829a7a77e3d7f3b6438a37ae15c16ab1debabf6117151ba19e5be7bca1477a62",
+          "padding" : "3055300d060960864801650304020305000484ffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "7528546f84b9a056e49a848644d876452449b0e228681cf1a83c82aed6d1d68da0da6b880e31d71eeadd4ff2f59cd55340d630c6c548b4b9c600de0cc4b18d0e6144a5a294216e4c9901250ec8a6897eb39517212fcb0ba823ed763427e477308194927c7ceef49c440c690f5ed33375cf29d697da0fec04e4bcb0d2bd0f52a3bcd209218605eec678ad665e8adc2ba55caf883d14fc6cedb87634a36b0fb6019849693fe47b0e5ab62bfee78b415397887cc3ab293b170b5cb4217f912e13ffaa27f8ae6bdd4210dffa0179d723a53ecf6d4996992ea0ac9ed6b10064bc793256bfb4ac5aab69858d9ec4cf9bcf13c1bca969831639fe8bc372ca67b7603fd4",
+          "padding" : "3085ffffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "a736d77611787cfc46ef5e49ca0d39f9a1249326fa77b50e024c657c791da09ea1d363657fb7b9d5978dd9b75a2b7593528e3c19e6e41abbe0e71273cda50382921ec6b366b07f0edc0aedb048484d51b603d062aaa18c404d6bdbd61a7bdbcb32e917a79bd95799cdf43a992ee3d93193f9a20fd113cbe168df7f884067825b79fa73c72b9168f7b83002096fdaf613919ecc40422317fd14b5ef8d2561639a3bcab462c3ef8e0f59929c43e23cf21911be969afe3548c1b449baeab90a8f6b52be5f6cfe47b941a625d4020785e8180eed315b7a6840986b33b6ad6d519c53179a2c3cb180583808dbd3ab5acd90e4ee01687d0946578ed9d7558ab8de8a8c",
+          "padding" : "30563085ffffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "2675d35e89ae0383be3c9c622c1dff2963444bb319ab7ac8dbda22abb32296c6a5d09419e054a2c8740f79728ed0b1fad7d6213bb7fda21ca739996d97a3d5a21205f13692c4985e360a8297a011432e09c7c4b39816158337319b1704f503b96f3b9b3e270f41a840deda4c869036e456849b8185e03c2d88b6795a397559af36f479d6a5f95b93cf3a87a21307e8bd08b3bab11d0a3fc8342589b0c55093d366af08a3cbc6c0b7d324f09c21670dc50cf1ec1222e41fb114ab4312ec2cd74662a96bd79fba6d6cc9c677f19dca6fdd22d8ea7009fb330844496138f0d119211d9c4dd54f416c6ea0db267ad5077fa1b5aa4fbac15f7f4584922494365b2df9",
+          "padding" : "305630120685ffffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "a8872892622d1126133c7de0a0a87f9f31ec8dc37969b81f93f9e43434d305d2bb1d1d990fd3f8ec7068cde599634b42b67529c5ec3585ad9897b45d6f791413d160de78171506cb7f2edcd530ec217b62bf47bbcc4a56cf11ee5f8f736a3a14198784534882b85f2e5533d80add216c9e5d0bb7696f318761f2c0ad788f2894d5aa70f2161b1f9a26cfed2922ee04d05a4bf11ef7800c5fbdf880fc1083ea7482e50133bfd3f514a44ff1d34cebc78c4a3db2d2a244585a23a587b38deac25fd15299deaf9b0e1d8df689876867687f98e60c250b5a0a35ea60763b0d842ebc5c8e3e572f72c8b9c678d17cd65322e1a9288c6b41190b2c39bea774dd02060b",
+          "padding" : "3056301206096086480165030402030585ffffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "2c2bc9f2b9b0ab9a5f4a02b2b02fc0ebbde33c53fde074a0899597d9a4a93e64c008584e89b281828fadc8cf6c7a6a99870a881bfc854cfe02ae508be21e63fab8c6cf6d910e0515532d695789b2faffa1209596bfd37828ca2b4c687f8affbe13e3ca76fc421f0d76283e6ee2fb60e5460449be80bdd740a14a0cbf98845e373a0e3b0cadacff00d3803d8228d96f75d025071d71056724fa9b2c77af66656a4f71de0c38cbd382a883a92ece692c54f255c2c8552f573605d25486fcbb06aa5da4cac4acbc5831b7f68756fddd48d7fbafae05990e2bba2539a37e534e4f57fdff95ed5ce3e11baddfb4415fbae94db41647b9801fe62c9d8a1585ddf25dce",
+          "padding" : "3056300d060960864801650304020305000485ffffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "bea793e3475943e123a0f811de9b3066d85d6cf394e1e8494741d8449ec11eed7b3d796ac69a5a3ee4279362f4a69decdcb1dbf397c7e0e46b9b855feb3b125f3ee8c735f79282a9efd6fb25bef533a9f3641f47d1ee3bd647e4b8e0c1bcb48ca35468302cbb32ece10135a63b4d4e14300d0a30b3eed9412b24139134c84cc2231dcaf505a15ebbb8cdffb96ba06b24f8e85e4274588f20454175752d94b0c71aa8d50a776ad13662c8badce5ba74f4d086aab60f12cfed831ee562d3b9d9bbf4cab8b53071dae0ce35644b425202595f155eed25a8d651349a2dc734130e0bff2f09b12750977fec65c79449b95957e3602104b4b0936d8e41d5fdfd1e2c72",
+          "padding" : "3088ffffffffffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "9740ab49e35c355c40c6eb4839c47c85a27231b2b96133015267e10a7b0f786130308be8255c68584aa3f6d4c1ac2c304130b5bced81ce26cf6a0a0bac293f23b31e2f04f5f91d98ff17750b299dc521cfc946134cfc76ab629f9abf5275739befee3fcc9c217e6e7c81a71dae3cf3407e5362ca0c0db20386ea943466d59ffb9e512022df97d666cb15c35b0d1a0cc532e408727e8f76cf9955587bfc1e327dd5f58d1f7edab6fbc7232d1d2afb9616fb5a5de1795cf6e93896a55285f793edec78ded83560b34b4102f505c4f2ab8f15f603a7fc73b75cbbad2bff29c374fbbd9e1d1a6a1dc10a09140bf0cd5aad2ba8a0926b29b3d830959e6c45e8d8fe32",
+          "padding" : "30593088ffffffffffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "3008e12d14734a49882eacf2cf0b9dd3b4c9d3f40ce7e2fa02ec0577e473171b2a54bdcb8b2ce3569bf95034cd27487d8d90f0ec428876dbcc1bc858a97f521a61149bb8009d5a4eddf55c67e268a53fbd381e0b918455ce7b71a0a8663bc16d8fe2812a3951389db9a114339b16a13d54c88fed79a8c83042e3a436bb4488ad1ab501cb878dddf09a2b5a76a5d065b6f2353bd264c12692aa1dcc463afabf760e55f499110352f527fa98c30feea6d5b0591f4c6639716c0134855df6ada769fbbdba68354d364c2c19bad500c00dd53d5950d0344df58f5dae54ac532b5cdbc78cd5b25243378a903b7b5c9c2f03a7aa9e7b3cf5df2a5a0040d0ad993a0e9e",
+          "padding" : "305930150688ffffffffffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "bbecd925ad43825c692249dfaf8d329e195611162f5f92a9041aad022b32d3f557c5492ac4b3909a61d4cb140d66290c5237c19989dbb97f38ca1c3db2cbbe557c23ac33768ffdd28edae33452c84d555aec763752322d285de31ecb8da49d8308aeb978d0e64614411a28b21a848b864ed36665f7490a277f885ac3adef86cba6e09161947f7555d875ed8c09c1d0d2b7abb8305b30211b7cbb5a948ba7f4b4f1b8a3d95112b13738aa7a8d76a65c35af1f4ecf908bc2cff1201e165be270b029ba6e47b9420cbab4bf354cd2e5e617b031c53c4d3d9b4e47084e25007e6dffcd23a4e3372bb52ad7ccae4dd5dc856fe0b1f6540048644290468132e3466c9f",
+          "padding" : "3059301506096086480165030402030588ffffffffffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "b3fc99e3edc4f81ae19855341b8625b2367e92e5c4b989cd28fa3a78d2f9b6254f314c6e31f6f5cf2ce2c6d835518b7e9a180127e3ce31dd31f896f5f910ff347a98dafc4b441d6046f433c694d300ade547ac6a509cc8a089141f32b1b58e8f87653d382bd58a258a7495d0e0b3737e20e6edff09b314ac7a44f33e83cc524d81b95ed0a2b9969d73b3cb256a0ad207c8c622c557db0c9871eccc36752433aae2393f06bceef3be7ad0d5f9875e24b3d7db00a905aa7066da5317aede4a0964dac144f556dd16f3e626cdaeb78262bd526101ad98e064f42aa9497c37eaafd4a0a2b0252de2556e20f201df34fd1bb52829cf544959f13fd380c435fbe39e8e",
+          "padding" : "3059300d060960864801650304020305000488ffffffffffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "b5f76f1fd7a6e786981f7a4fa8430dddd9a27ac86f683d4c7abc383932e57e5b15a30d6efc79cd266acac752fa73ff06e3f2169807133d3f9813932cdb7c83de7e57ee196f1785c12341142cc3af2048ea81b4b265ad16408a764b412b7ad96dd29fbf899d8343b01e74b63faba19c36ec825102941acfdb55f8388e7d429a89a5d10e96e2e612e231f8cd857127f6b19c7766e6d0f79d54e9ef54bcf5bcdb457509154eb5cb0640de286e2d4fcdc6941aa4d97f67fa99a1213deda89c78e5373e40a0fce38e71e57da2030575271012c4fe96eae29f65462ce293943952db34a93abb2719226592cd3c651d3d4ee6a36f8082a3f325290869bc3ca5f02de629",
+          "padding" : "30ff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "1c41cc918d7f45458e0bcf5a8e4ba5eecf39beffac05fc670adfca933f8e997061fb546a2faacf4cbc92f7b6da6b7ec97bc142b41f38476458836df716b9b7597072f11848bffaf7ade3871435f2b06fa0baeb08d3be31466d6c10409e3871c92df4a6a5346b5d7c3e82b90539033d170e4950320169c7d9db5159201bb5457e9b3c02c9aa6fbf2b5359f4b657702d37f34bb0ea2841e46c73f6d30ac546c1cc8a83c72319bcabf4ac741a542f2c45fbdbde6f4d8be88906a24efa7f62cd5e7697ef02a76c3fc827c1d2969d8c4ef05658ac4de9ea06dac8c6c0a65bc3d05ae3517428883a0c219084486c8793e2d546be6c8cffe00e07eb7b82a07449c726c4",
+          "padding" : "305130ff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "c098a958a53b531cf766bcd77119b565fd9e943eceda96bbd5e9a3178bd8b01f71169660ccdaa440d0523c03a455af18b27ec331756281618f9e23c29b088d2d2ffe0854d665279d3cf305d7b1bb5e5d50341460c483831f1712801496371d1b406a14b6317d495a4042c326e21d578bcbad406589a2bdc3fc0b4fd02dcc41c3379513b370b7c3ddf84614ecc4c3bd9e623153447f1b0dfad67f783f30a2e8c0dded1b085530412cb33b785de9b919f7d7971463bc89dd390aa46970df198d2a25d718c8af793cbb28dc0468190e04f0958145a76ab170400fc2ea35f05b20d2f96fe0f4c68031516fad5d850daa1d2dd2ac89a0eababc037619884e87379904",
+          "padding" : "3051300d06ff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "a347a01df709ed197c3b2d2cb37ba7b47b77c04ac8f2c8b210536635ca7204ee94715a8eaccf53ec5d0ec2de0491f9ed35f5b8f380e0d4fc97f380381312dabf7bbbe2b8916ede4b6172b084a46ed834ac7c6fe891eb165d606dff803ac345595e2c7123b827d16a3f0aa3ba10a33a8d92b30840a53a4bbdff30f093b2cb0d77fb4905458cf56313d4e13efa8c4322f75eb0247ca91a3c440c367de13808624c6accb006aef61812217aa2821ec82503f93d22b56029ea0c995982c82aa5036fe63663591165c6be4d5aa357a98cc8f70fd2d7a68aec6c5e2273933f954d7198f073c2cc3263a38d6b4af0079b5f3a5475152feb2d90c1bfa2c859ce909f452c",
+          "padding" : "3051300d060960864801650304020305ff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "376929ad5fc3c2b1692d36a18402752ee5c18aecbfabe02f09e604b5f6203222eee92f58bc3eb387744b07c55c5e8da5db88501dba16f0c2d75bfc49d0e8ddacc31de46b478916dd4ac26c98302761bada412621287a4d2a72881e97b955cbdfd4ab5093835f6247c5132a5310b5482044704fba3128f3ae14b8b4fb14a347d9f96836a7ce51346d9405f65ddb674f99c4325eafb9044c8e3e1c817cd47c3ea8ff0807a4c863398f4d9658ef729391ad36831ebe616f6fd9505741a93009748f24e849a737aeb4872f267ca94ffb2c6663d0006f22637c27eaa44dc597dfefc2235766f5f001bcfa8db334d88348ef0894732c8b8dede9b8e6801a0b28071f6a",
+          "padding" : "3051300d0609608648016503040203050004ff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "1b80690c323802241d2b9fd1b024571fce1ba770566018753d6434d0927336d9d4441a845d629ca275502d14bf818ae7a58ff7af427c3b8ec88997473537cc564267270bb2be0030e0cd934c417f814091831fcf776331daa9e73b7e426f73f0ca9c1733d015f37cce5893723f1ce9fb2fa0bfc3df6fe7ac28549983fed2f05b70eae4648011da36855f892dc65c06c909ffa179a8950501f4e650fc6a1b05ab988edd59aef685d5b05224445d9603d5b816f1ea3b3743fde547de72f15ca60c305c6f493310d22e84523b036bd71b1fc3e38164ef7b954b0bec028fba60c4720710356d080917c1c5abce6d27d3ff35d63baaf685db37dc76568e3b35147d54",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "596d8e9730030342f72f0a850fa5ef746f63b89a1e0c48b67a817f775ac937454936cd8400653f4d1f82e315597b9e5146ff3fe4f9412f81cf6f8516d9d440c9c01c6a8e0a56838e2a206216b2f3e419e5fcfeaacc7c9be4fffc7586ec21d8bca6b49a2efe44d66266f298a3b70c4310eb22e64366bbd5f324a1c9c667cf0d970ecb37190bf7c98977f180100d3d6c63e3dbfe382e406128eadcbb99e45407a858dc6a443bdfef2c9531bd2461186ce21ed34cf5715b764c5bb4d4cca9fb59c7f90d9f71f43eafbb256906095edc27679b8c752b6232ad374c668d4ef2c55bc6fad362f8538b553ecea8658adf73fbee8c6c47289d9ac5c4471f74847697ed26",
+          "padding" : "3051308006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "766027246bf7d6eb5d4a137dfc5d537fe2446156834428d928f6c2c927f8e911fd57db474d55b4e8007a0cc65d40e7f3b13c16ab4c106550e5a89059862a86d95b2de4dae32d29f7fa0ab67bccdb74f90708153e5c726614ac33d61b3ff90c90a2c8b7277dc33e677647cfdd303462ed192c145264f253cfc403bd55a48855ea683b3e0d39b866c9408f149f76beee227a9b22720cb5eafe4ccab94dcda783ce5a15c29905c2d932b57eaf359e1e066ee4e41f97ee2338bd61f01bc0516463a6189cbddbd083e61f82e6ed918942242ca178de8ec45d9c3abbe0d6a621fd395114ec2f53683cfce25c5d5c5758f81bda5f2323c4f5897e7bdb5e0b1c9a2691cd",
+          "padding" : "3051300d06806086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "7465093e55ef94f127a95582587d4096c69391e5fd935f9679cd2423d5e4e2edb53e1c6106f12e57fb372f0ad6f0795fc9619651568834be5f78d4614498b79615f894058d5e9be91138895fc5f38f4dea435ee9d8f9a43cf3bd98778b1c6d17ad4285338b26ac1288b97c4b2fd1ad27d02c152f38e2cab73677de734e56e6d48f1cb5c8bb5cdce8597952fb63ab5801d60acde502e5583825173646d4ad4a7f47dfe060eb7eaf34e44a45f621a57c6afe57a4fa2bf785b09f0ccaa2d6179f4169b65bd8d71b1ddb3ec92807708354cb10d10a4f198dcd1eaf8210079b12ec50a0b759e0f32103f46d256156e8635c99c973a03f70f31e32ed7c441dd4d7e36d",
+          "padding" : "3051300d06096086480165030402030580044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "7925db05fc296b0d369a6695038c4196ef66d47f0a389ea05f0904eb9c048eeb464516de247437b2c8aba8fa6f95b563c982d21f5141505d2676b7691454a5f0c9c9d07d19b81c901b01f9c1cf5bd9b0d5e0b2e244b8475a1931efd5676bc18f84a8bf97031e2fadea1160ed8437c2dfd9a8f7fa918e93dc8803de821a067b0eeda6a6ba7c0a74f403b3fde78b182c7a22b6ca779513e0955a8fcc69d9a6d7d1e7960c032539f17322cc40e8698c146df8448ec2a430203dbe53421f2cf19158bfaba36840a5336a775200395dd1feb4363a4df2d115b6508fb2a52a7e1896a85fc778af2e014d485bd270de8727640d7e878fee0ca41b552241a83c1531fcff",
+          "padding" : "3051300d06096086480165030402030500048043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "7255b2ff2dcd7241daf5c0973f37f460e2ac85bd20d4310c2797f2e263f4f8df1a70eed714bf5fb19ccecd66391abf0d3d6266313cf28b828694ceeb9846e9adaace75f691f9af5818e05fdccb2e2dc0c9cbef64aee2e058a0954ec3ac9d5146073796fee6f1fbaca676a5cb70b00bd0023b7d171e4f79d22d16fa3d6886f7695ebf19ef51d0d6e193ca73939c620c632881a26d61a354184e00e805e20326173fc14f1e0ad0e85c74272138f58345c365e4e46623c624995bda7eb6be14be0d276d6b6ab770b1d1e424aeba562e80bec509fe3c3646f455ad9f3ce1db8f8b923aed9ac89a72505e608f3ec9e58be7bd130e81c1e7d3b0bcfd20bdcda9e0945f",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "9cfcb1b8abbfd5ca02379491ae39e3982ac9fe8bdf9577957ae39cc3b7c82815063a179822657aee3670e4b37436d47d7c24b79f5ac06d14a9ef51d5d48be524d09d1b8068b1af518ec4c80e2da596d9cc5f0fcd261a366ddfb191d0767e02371184ebe7b5999879ca805a79c428315ebc350ebe3d832fa0bca87248be57b1c1ce72df271cd7826888c43dbc4f187640ee5cde3ee3f004b530bfcddfc0eec7884998255351c7cfb7ae5d8356fbce910df9ec471ecfd15c3666b7943ddbbf3c688289ce3375bfa8a0fbf3f6078376c5f310690872c7e608b87b680be66d91630c8f3a71e44906c75560855ef3f341bd8cfcc1e49cbf77b58222ee1288b6979ad5",
+          "padding" : "3042044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "67c3f8293b514637ca21417422cad5f3c5f39fa97cffafd617ac72649a9026047e6d8ad968e48a9523d0883666dcf1d7745e2bca246f01dc285c34b87c10bae061e8e9e9b27c673e43c311bd23531443960f132d78e667ea8d22e118ada4efeb34a84d147b9206a5c462f89c49c34785416575e7ec1d61c0cddcb4aaca309b44cd5a5d0a0266e7dd71171e160b761dc3f12024b2508196caaba0102ae74c7dd1cf1c1f45127cf532f274489e9af63c02b2d5664375faaf1b7ba2b556d46b145c28a8d123b5c88c0151698f7771b790c00c17e75bd63d48406b4b245827364fcafd4fadf605bc5f68a78323d362189ce601a7919e7927e3c62c2149c99025d5b3",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "584ff1c5a6668279b29b0e4a49fd2eb654c7b6466e76501a79cf204540da66e98d74abb67a990140e2c580cc17cb0eb9a0eca5d92f05c742eff0a037e841f22baa1144e2908df2c2dfffd0574eddf71eefa0a6d9eab16d29acba2af2ea9c6b28f9e577cf24e8fd68b160047d01601a407c048a62af4380b2bd300277f3f95531e0c4648567cd043207e8c80fe93a763214ded5c6706fa2617d8e0e6cb27cb2727b966122ee5031197c1c6f3f84ad1139d867f8c770c3dc0de731ed67e3fbed068ff86e39cba44201a309fc75b2f7c7f99e4282f8e1c7376a70198fc8d3564f7d015c7930658456a94f594abfb6eb6c87f41ab340029c57c761f415f5e5faf6b0",
+          "padding" : "304330044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "19ab49725adeffce9e1be9623d1188d5449e62403909441891a6179d5803dc61e3c647858d8db24ab61aa8f1160db289e7ea0787565d28b097ac975e5602f4052b703de1211f112380aa9264180ca1ac117fd21db9c2fe6b32dfa4b9e6fc42a94e5be8700577401b0958888adc4ce5d2720ea79b1e869b42b22e885224fff14de367bd9765e1e426bea325c7ee7982d7d234209e9f07115363fceb459572fb14c9b2c1477d36d687dfb2413fbff70a7edebf86a7bbdb99b1b6de454544597d499b240867d2fb2b5efaeeaa1107ef4fd62f5684c44d1aee075e52b467187c3312e46889edcc39f3e0bd9b57490c98022c89e5f61a2dd5931685e5d5e8fa1cfcce",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "7bac3340b1498d463629f91de4401adc8794d07610b10b81ef8b936e4a1dd4e7753ff7befb08394ec3d2213a969adb00492ef61247fcd77e1bdcc4f5bff41aaf904ac021b194b1b53e8763be5331e71f7d0f30a70b12c5e1f11678767704f925827e90097d8116e3268a67b77ba40b2ce3f29a8027e06d3072accb1638a08d119819350135d7e3713f7366becbba4797b294e7745476b57504a9464cff1d43bd6ac7b9eb17c9017e951684d1d851737a4e0785be8f50e9981af883baef33dd4bfb293d6e86a8ec34582a5508dbf1860ec5906ec9b18b2dd05ec3df360a5a756cd0328d2001e752674cfdb5080371a9bc62a56b3247f900eff0c98b426cd5aab1",
+          "padding" : "3053300f060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "2fdcf46433528f55e55c59db36b48325fb1450446cdf238c5af6edf60d96eab9e0b7e0dd7df8978e61afbbbf98eea261eb18d05c008eb994ad3a4b819d3cdc530bc26cb7e20ae25784fe3b1ec655370bfa5ae8fe9e9a52d4e0d1ea59f579f774df7fcdbb1bb0a46ca9f793bf4955aef584d361c412f488cc4cef9306574dc9c6ab9fd39846b823b4baefa37ed955c882755656c415a4d9c30ffca9da196563154c0935ce0b4445328bd814b2df982312a688faab1b6db92fd6b37d5a55e0af70db5d5cf3e35e5dd626341f53fb3c28514c9c6812f725d5671d9221dce918c397d7484f0a87d884bdb623003bde8eecdcb87aad7227df07b6e738c3db1e46c932",
+          "padding" : "30530000300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "671db30f2d644b954f940763486a3153300b841d03f3879e18d4b146c850a998e8bf284ad997b5c1bc91b053be869a93ddc439c1360ac22e54247c770fdead309dc2b8ee1fc192528751ca97c5cba6cd833e65047e1b136b9e16c89d339d1c4611deed08d78a24573506729df3a67ab6273d653341875cb15c4aab9e32685cccd6d73461605f2d397cc7d8249cb374ef065aed42378c939b3875f64f16fd5b59db0158569e6075aadd5206ce7650a0095d3c11312c3e5f21dab98917b59aa5218b69339853e29fd50949fa24302c6475ff232929562f03980606412ba6b58bfe4baacaeeabd8f6cbe807006c5a527f368cc7719788bba8f5e3de908f40d2fb4e",
+          "padding" : "3053300f000006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "02889387aedced02dda2786e1b3229958823fe9784b81f0c19bc61920ba00e34aa392409c582fc9f18dd2db125bd47e25820665a91b4832373588a0d2fecc4dc2921da9860e148896efd00c7525c64fc8defcf53551ef8970662b43cdaf14710055d490c031df27206adbed6b4d2cc5e65200eb3e37eb7b3fe5c8897a2d8f1f1546459f1888752cbab6657bb9931c5dd6cd106c114e9f15aad0898c72eee9209db93e8a3f4ff595778fd0f70e205c1e21cc37f64e741dcc5240d9709115781a17ce1b9474bd96e6bf30e320f95d9cd4f234bbcc7d23f493acb5d0a58dd84e1fb1622c08940fea7f6d1c842a948ebb5f4f478b02e8282dc55e69cf014509fd770",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "2b9fe93da30f53e330a798d543fb4e7fa92130388c55091d28e80ca9ef40061026a0138264c8063187e1fa37baf41ae159d1d3899ec9f22a6a37325e807ac8df2486dbee7f287a896e9124df0872a941fa85138333fad7619f010533e817c23dca7e86c7e99c191e3aba443d80e4c80fc45fc0fe53a6e01df3ae620bc6a7121c533091344c52fe496c349eaeadfa63ba22c58a9070f8d4e705dfff90acb355b789115e3c79e8b146587b06b2167a852be4622354152d24a625bd0a176ea2d3a98fecd4f455fc9f2ad3b4b20ed21bfdeeb498d18fded0d4383a9731b9ed2613dfd13aa2e603e9680dcddc3fb5727fd63dc34da27d3a355079adf6ae74f37767a8",
+          "padding" : "3053300d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "6461025c5ec1eedde863cae192d8a34596d7d620ac1e14abf94d68ceeab229af5c0b966e70e54cb0257a8e26d60cbfb4f40d3ea675e7aba2ce18f2754a8130a0f38018b6e0349afcf63ad02b7bf75cb370b63f2905f2b5326be8bf74707b69487293fb206d4dff1ee0be775c259bee1d862e821c10afa60c3f6e9c610af5c84cded299daa97652a1614f649a90c188622b501dbcdb3ca4d13e19221899e49579a6c6f36238cb3f3d67d87d2df3b824e64724f8c3b8c2755e7384ba0b7cf31bd1e5ff16cbde4e00e5c5b866702467502ab5c1f226f7e2caca913d993755eeb6289af7b75c9548a28f9d51941c5d62ba37b1c76dceabb705fe0254d1d603f40015",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "3047b4b63cd0273a80b6162fe1d13a5b92c1f93ea91bae6a3573975e98016c13299e73d8f996f86573e389a8554de79a9dc873bbef1c849b9643f6f75537fdac9e76f07e94f3777f97c2872b351096a67d0ccfb3dd6b415480d55caad089fabfd3a3de04aafb83948734eb9b56ee5aedb66bd539619d9b5e5ab4fd6c94f74ac3d1980ed1e126a7452b4dad5e0caebfbd7d107dd0c3c0ac654fa5808c2e33aa50598334ea2e1743f45ec1f8a037c869d69b8d6aa86d27720ff214b0a6ec8cf5c775fc2ba8148489700db930de18e0fe5d9e7fd8786d604cb7c85cbffe32ea16a749eb31a6ddd24aaef9ae0edda02b0e8f6bbd1124e3befd7ce56351c4f5632e82",
+          "padding" : "3053300f060960864801650304020305000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "b45aa577e7ee5a6e0b230fb3a2676e47c064c14007ff5d3a56db38ae488e66f260e9c1e9a49d771cdf507ce9cccaf1d5e864f761134444cff79b78ecebb91f60884828df831c38090e718276fb7a57189c978bea9df2e8bf1e9c20dd402ad88e1e08dcd2036821cf47efb29ae10a7507c9d4d6c6bb902230ff99619e9ee4058bc360143db9da02c08a6fcc9e4fa2e068ae4184a166a64f817e1c5e6ef786ce0eee5712dec4c604588d6f907b4fe8a43a7c0a01257566f93b461c8fc5ffa4d55913185979e93fbea0263cbf99d6af7e4873a57da09803fc435cb233aad7b2b1491fc9a123be89378b4fbeed3f55071f96fd9aea7286625769b18a982c8c3a3887",
+          "padding" : "30564981773051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "090dad9560cbeaaef4a311285473f5cfaa4a264bb685d583f50c4b2c13025ac22959e81fb3b253a0e20199e8ec0c50a554675df9846ee579de3e40e72fc4dacff0f847d26155e2c0c42dac136c2ff5f427c63228342c56cc4f56e588dc4d676fbda7d15f59b30197e21feceea75b205d01c29e691a840e884a2a6b6d2042367932c2f71b42ac28f685bfe80868956fba265bdb96a6c8bd101886f7bc6b92111e2d5942b25f3660cdcd0254f09920ea4fae54e40862d7a71be42a2922f8dfc708c1ad4734e6d3452c902da9ff7c9b653ff5ee152fbe0b039f3b1f1a4b125f4a1162d12ae067d614f6b6cb46504dfaa78535c1f5705b4094176a1f968b4f4726be",
+          "padding" : "305525003051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3327d0e8a13c15a84b8e77bb0b6aaa8c437a7b52bb793d00a992612fdbf9dd30721884fa7d96d614266d5667cd4f04e665b2d9fdc07c74aa239d523c01397043176ee4fd4fe542198c4ca9575922a629f6ee6f5d23fe57a7dbc060ef98425e2d0c7a368d2dc3126410233a77f2e9aeb8e0ecd99149bb55b4fbba4b49d968d266aae48d88539cbf64ed738c834b682b1960a13640afda6b760076dc84f059f4f4416aeb62b5311dfb900ff945d7f4b597657d6fd0ff16741031bb36c892e403831d99c250c66f54ac34db3f548029ef2443469209e9f36d7fe6f79af249cbd56b30b767ce09dee699cc5903bce7905878db7e62cf9cb0a0e889152e8589e24d3e",
+          "padding" : "30533051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "54cacd037a775ea0004e41ccbe0779d22926403ac988d1490dee91bcccfa442d509eeaa6f620e09bf9088f42a3d32b7b726be3b4d5e8e9562314ba96a95564ba1684ea4d132f81c14ee67d4383eac8d6ee984ac539030919f81806be095831db118b6821cdf61591517b38e45daba68fe2d1403bbc79ba77d721a9cb45192e28c4292f7ddb61fa3860ed3bbfc53cf5acf6bf9dc01238bee8083a25d93f7959ad931d1f47390d26c3a417eac4b73c48e6536662f41aa8986a65015532d094d85879051611337474abc9e3eaf1c97850e204d298c8c38296d6a5a0058e6114023af7e28ca7fc94eb70a42d37c1ee69775501642bedacb5dde8f7b75ef096fba3e0",
+          "padding" : "30563012498177300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "87493eb1ca944ed8d38710e5231adbc2d21664a963aee4df2fc2573b3839a6daa9269dad4d1eff34ab00931d2e4cc939004ddc429b0c780ba2eaa3e937641468fc3455490906c5c0ecb3c488d3f69a5e2ddb29076a2e2abe36a9542e9b9920db662dea73c1818a71b9299f8e26504a8e2e81e87e713100feb5c75c3b222090987fbe851d53595648fff3490cf6e1b978753ed6250dcb3aabb5498708c2555db98ea4adce3b2a0cff130f38839669ebacc6bf86a177804bbd93155c71f6a754e41e731bc67142488cff417aa2d4d5232eec0e55590e6fb4dd9b22d23803941b922e31b70f2d9a29a1dea5e356719b9fe15adb9bcea46cd935133e2bacdc635e4f",
+          "padding" : "305530112500300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "6dbbb9ae8b55d0dd42bfd45c8086bb09950143d0c0c10b26d1d3d9005fb48830fcd0d720054638b501a2cd7311db9cf664e6c587688193e0fb62f897b295b051c95dae9054770c5d165e2f37ffe4d2cb7e7763381a69ce7d3e0cf8a1ef95d26da58d03341d7ec73c4f843c4b225531996463986f275f9fa7fc18036f69e4e3c3ae3d122c6f035f9a36b7e36e5a6ec811d4791fe7bb603fea4cfcc13044c484431954fcc61c2d103b302698c6470d6a8ae181060d02ee36c7104b6984288718eabceb2c52c36992503fa035c7bf4e37c468fc5783b33d1bcfadfdfd2b04d4db985a4159f7bf08d3a50fe23c1bd4bccecc79ecabd3e0271574531e93f11ae38ef2",
+          "padding" : "3059300f300d060960864801650304020305000004deadbeef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "4aeb1e493470a207c0ba34de3a752639557db9d7e86424a3852c927d5ec5f384591c0440b55ae33db33b1c3380c96f72d94a93760155a259abc7ac068d86c44285cf3280f75087c5bab487539c002b933638a7851fa491366e89e8c33d27a6ba8c3bd2af0269bafe24abad6d57c86c5c70f61ed0b3a35594a73322997c49ac194eae12e00e7f5a332146786992c431203f836b3ffb1cbd02cea793fb6a133354436d78503e41055714c7cb74351c4d2e51839f42bbfa391ecef0b252e9040454452aafe63b57d4f8c6620cfff49005718454830976fd6dee6cdac55212a4f91082b64f5968f05d405398881e1c27b1d9fab81e63b21725369f1ab7bf29cd3dc9",
+          "padding" : "30563012260e49817706096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "5e005e27f9c909819bca7e39bcb9b83725426ee28521807cdd06c42265a4d0eb4a71f8173edf095969e3aaddfb8c431120fb50d5c5edb9c0b136957245593aa255f06ee0119f301f9ebddad5a826c74c6faa8b2807cce226aefa07d0df0e0ebc92f34d42cb2a0e5c44f150bc78c822b2cb3715f9f2f59e3104e199597abd4c54f473e5a5260da3b826e769b2b0ea0f086c397fab96c727a22bd2758ac1e180e1ce18d0be398e640994b144504f4910f2f437eeb52e597abd1106ebd80cccda505066f884bfe991200b88b6816a80d8a5dd1feced5622c73e1f3964b0148a17bf0e326719d71c8f15189ff676ac154b5c41f787a11443de0e2a953e0a0cc1e937",
+          "padding" : "30553011260d250006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "7e9e9ae62b8e55e530a179b44e1dc4b2c8ecf08c8f7461bacf03fd78aaccf5ec7168220785969614bb84b44fe5464bccd6ed1073785c8a51d3bb61fe0161d335119ee807298ed0eafe9e248adfdd90ed3e5b5b107db429765da0246c669f65f283c81ca959caee80624deaf312702f407dbc7b4c856b6b28e64f9cd385c5150ceab551f1f17b245915d25795592c2b2486ef2e0095b71413ad195c10c76cb816cd96fd091327821dc40c9ad0b4190c7ba912514d51b8c1191b8b81b7a318d435bd97e50c9c0e459a874230e99c66ec5fd5d9f4af360c744463ca2925df12a47fd76592927d55eaf60014d652527649749509ed6ae24d554cf31b0c3fec8f944a",
+          "padding" : "30593015260b06096086480165030402030004deadbeef0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "45ac5b2611957ad7f3949c0f86abe649e3b6b08aebf3ead9df022741b87c09ab969bff2827fc96ab1f569463e889e2c42e37718b9ccef9670ed736d90a6b07915070f60bba52c53a1c8e4b56940ffcf628184d410da6e413ff905dba8f38813dda5de7d7aaac84794edd80bb597106f239d1f976203c704abc66bcfe04518bc759c8d40a6866c41f56d17a29c81871968ed7e591f0b0deab4570d2c8c12d6bf815acc3f4e281280e2251195b85d2e8713ab632018b1991e381dbd9c750f6938062460f79bb88793e7ac132219c426d39dd6cc691f5c081d705f13e66df9a4b51862d83e1a5add751dd85ef883db58fe7ddf8a501b4449fd5cbc9c6c1b14b102c",
+          "padding" : "30563012060960864801650304020325054981770500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "22fa9a0051d15ecc5bece4d6ebed89856e69d8142ffe9a5f033dbb1ad51be298d41706fcf15cae260262f41c847e8685126d300a7da7346c6a27f96f4a72f55fd49d71291ebdf56b3bd6c89ee3cc2583f6e437edea19858eb9c086e248c6ccd5f2ad5eeefd907900047152ed760a5a6f4427cb7c3348c62a4aff532836545a9f98eca5862afe03e1bc4ba9ee7134c8cbe30471331f90da43955b3d25db691268afdf18bbe76030e276128b94e6937e1a14b8af87f4e9de84fd0a38a19d86fda4bb952b7b8b11421c2fe700fc58902a8938d6918f5fb5936889891ffc88a8e6996d39af02c21c4ba9b75c8c0ed1b38596c0a8c271d1b598248c15cb27a31f9402",
+          "padding" : "305530110609608648016503040203250425000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "97628cf0b4a0b2d52849a51742d35739731c3572082681d8f4a6a5e3db87a9c5af93fac70109aba06f9befed48f069e1db2bf39e5b5645860875ac5c1c09e4beab0793f40c3072634a1f0ebf121d957e4ebeb92b5cb2b42c387b6d2a31612570c902fccd03c47d7ea38062905c2f8ec457d989833d6fc506785a3d86f6b077ef9ea454fa1dc2f8f6ebab997aeeb5c5a275fad733e28fd5f43c44c46658a7193bba88d1e2bc515740c1c9804524296be7321768fdb0879c6564885b628cf3b7288caffb1d038d446b6e8384b94f6fc14e5d7d51f07468d4356a9ed16c7f7fa1ee899ba579f09d65ad7c5e77311287912d9069ff93eb05297f8d24d7a7e37194c5",
+          "padding" : "305930150609608648016503040203250205000004deadbeef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "6e31f57bd445e460399878f65fd7ded779319a738c1577248bd2a35e3c6e527a51cf920fc367beda727bd540beab689f0d1f82982f6d5c22a44bedcd1fdd0bd8980a09e4673110dc4ccb696973110a428c978f9f73a96ae984d8a3546e0acdf68bf6cbba4d8436717c5c4f136f8640a2ebc5b0596d2ffd677bd80df4fae538ba27c838b76e4eebd2449bbaed35bc66e2dbbd9dc591086af4ec86d66cc2185ec871e9964ecdbfcc4dcac7ac23642f688dc67ce1391174e7158b06afb5f4b86e0b86ba9dea277840b1076e9a71ed9385af6edfa71cdf8c24a960d5d3e0938b75f15a68bc5110b2c6d2785c1eef49e1308d47d70daf8df22838fc4adec798a322b8",
+          "padding" : "3056300d060960864801650304020305002445498177044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "a6038ff3fc350ac0c54bf0a0724734565afa24e28f119245df0fd0d64780d9a814461629f41c8df83bbd3d1a2af15ea3a6a80999a10482478ec77f141a97a6fae9c58b0984683e7695a6a0353a5ffa8cd1ed4c6f5a0ba56d1351f9b26c943f63043ee71323124de90d2cccfa39d14dc269fbfce545188489c4a15bede668855a81caf4e2ec544f27862633d1e5275e012ce91d80289988d6fa7792011a20e1081d994f21986d8aa72d2514f5c9baa1b8fec3b543e4e2b32d95203f274740e7ef56c3721884897af0b41116dc06ae3d7bcfe7656b333995158797091e20453eaf8da37f20fa52e234ebac3567b736053b211cbc73c8f4e753f000c823c84742ef",
+          "padding" : "3055300d0609608648016503040203050024442500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "1c2a1a28043403ab356f34272b37838011442562695e66e8af127ee75b71ac0f3dd40d60f0a62331e8454f3a422090c24209201a954227cd06eabc05d605f7d6e44a97044e61b9aa40aade2e37611dbe470a043f0df3ebf6c54f715b89dcd88c63adb710386a839308fa1f71abfafa56a9fe678c7d2652e4aac60884cf54b14376d3be85aeb8212888f372d5800f5f25c1bd894aa460905b5151cc712bb3792a0d1b1b85519234b169354f2ed16b3e1beaa7a9da7dd574e1b28a993b4f9d3bf32854ca4881bb1379b11473268bab5919ea3323ed95104049197d9095947433e9356ab2d4800e20fd54999185ae51cb25a50dfd799b9ec575e73d411f373d96e2",
+          "padding" : "3059300d060960864801650304020305002442044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "6efa13c513d0ad3fd5e633e565837e59ae8355453697efbf04256bc76010a09fd257488df9d8cef8d78b2e5819182119092fd483e601a8c4d984cb5e8817b798bc70031bd7325be8a7e0b44508a9350ee179a4792b351d370259724e565e60df9b72186ce2800c4e79511767f66aa84cdcf70e646065c942c9fa2dffb16b0d819dc861cb16a52ef1d5f36833a8a9312189898b142426bace8bc631b1b74c96d03669eb92f1ae83fde6bd1f7db7e94a93d117e21f1368539c3348165a0126fe08a60b8f170455d67cae0c1c5e651a635392ad1818d51412a6b6f958a5a80553f8cdb4be940f78a3366e360cb3edef88419571f0b5ec1f1b5829e5584c2c3d6195",
+          "padding" : "3059aa00bb00cd003051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "647d39715b34361190bd842b775e7b53052b72f9e85a0de8be0436a2a61ab402237cbb85de1466e702562ed04084366d662db011aac0dbace307078ffbba1b3a37495fe6e604fb5bde54ee9afb15f45308a9a3af51f6c8e79ba69935635360cafec26986d339ab8641a1bff1f1af0c1196919ad4d0c9bfc7ae3e43296c04fd5e353ea5f754149cd618172558263d3f17cb6182befe4c40816be06045e5428da0ec1c3aeb71460802485b390b350b37b8ae1264ceaba74b21c052c295e36068e685cf9601673baa2d935ad3e323000b3397bddf91e64ace3669dce6c704e65142773a27c5a07eaf74e850bd72b9cc464dfc5daa8b6c396d0add2937bce611beb0",
+          "padding" : "3057aa02aabb3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "7f8f298c1628a3d42d4a60d93d269d2bdd2aec2b894aff12cb2cc2edef41b4b814622e0afb0f893327e157bca9ac0edfd1b76eedeeda70c0a0c2e8eb85f2098bf9808a0a4e9ae4c738c8f721ce33452c68d0d06ab22184af90bbca42000a90dcf5e3228722db3a206bf2cc6e31c90f1ef233898acc957433760f380137586415056467d43900a7c21d25fa20253b37d7288eb88a9348343b985409843d6491a9e12ee6907233cd83cf8b5b6b45fd22f4b5bbbbbeb152b44e22c3e03c8c18dc608cb5ec6643c17f9165eec5b8135d14bc16a0e70edb5daa70a2d50991040de1f0cf4382ecbded2e6adf8ea5acea034ab00c33b1eaf0f6ab10f62dd30406d83667",
+          "padding" : "30593015aa00bb00cd00300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "b0b831b5ee661f4eb43b906a2f9ee652f7f0a4346a9e4049555d8bda185e195d8af881f2e36304c8b66abf5f8f030cc0b7ffcfcfd67fefd5e7efdfcd8caeb1daf441f834004a610f091ca2f8c974d51a0b7ca76563927f19d0e120a90393ddd6f999dddd766d2435ca3e526247cb2b649d4ca13d43d898369730c6fa7fba937a274721d21e2e0578f4af4824d0cdb377e292c6d142c26494cc0474a9da3f57c60eb2bc8900347b4e619bae96eee6489dae5e2b94cef512c9f2e8a17d277e02ed744c71215e21e6d95896a5e10a982b0f35621036308ce9f556726d9a83fbdd3ba6df047e56b4793ecbcfd57db1f08e6323b3d9ffe3111f7bbcebb46eb33694fe",
+          "padding" : "30573013aa02aabb300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "c16723c96cb88b871f9ec6edf3b008e2d003a8e90b93cb0a1927adbe736a8109cc7bc70f9bc3dfbd656db4fe779167306d97782981d0639252d3b498408357d4ff5828dadf89f4f602462330d4c6fd61d02ba17c39d072a87ab23e926abaae6528c2817faea5c8c02befe96d93bfeb86c5fc0b5ce1c24e3a4986a512f9b935625107165179b53a137b013b0717fd203df902631ebe4331fba1631214f1eac855f50c6a5a59eb8aea944b138dc6c1e92da8cfa514b254aab63395880ec4cb8117779c6a46faf28917fe77c399863598284dc3a5d8671c0d2856dba7791c84b207a2ba18be5d685dfa1b3f9b5582afe9904b2d273113e015b1f4194d3ab070e095",
+          "padding" : "305930152611aa00bb00cd0006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "4f0248aea56b71437bfcc7bb572c198a4f9f120a8ceb9a0b2fc2e61af786bc447b49b99bab96d009cc6bb8ece7d66f08765439e5fdb4ecb771193bb8b99e20af4435446844252d29e054c0c75fb0baa20760929885575998045dc6840554212ea6d240af67eda477923499f7f5e7d9c3d95d9fc35e40c17e7d5fe22824ec3bcaddfd71744865f775cd7eca63bd615d718518b0ca6c127ed6288b7768445ef8ab6eebf0a3bd0fb5a18e94d28f09e45031c3e3e8c4bc0bd230140de3882959115af01bc6b9efc05554318f733da51f6f9b66c899324eb2a3f21cbfe64e4772889dc5f52dac755d640182a1ead5e0203dfcf1746b64d6d4f4337228698ec757e0f9",
+          "padding" : "30573013260faa02aabb06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "43a674e2a0fe1adbc05065c7a098244c05581303352a797e003c39309b09d4f4303d1757aae29cb2ef361992c28d955af3e293b98c0c977744971c6996c1dd93f2da8bd46c771885a4634952d0538789406723048454ba3e88d78ff44126eebb0a7d850223a02a64285f678d961b4ea77142bbdb1b708db912425c6f4049de3b75b046463638a6abfc463265494ded66db720adca38aea8f5f03a930ddb784a3731124209ece721904fc66d4983a36f6a4d5adbc109a4d66c7b861ba92fa57f846a811a9a4f56187b507488bd49265cd017ef1721e4decb3b2c66666977b2af010ab1985bb6b8b8322ba564b60052ddde7f106777da138cf0013dae91887d71d",
+          "padding" : "3059301506096086480165030402032508aa00bb00cd000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "91c7ca442c95b09a08ffceccaec1ad24609a1593c2a89dbba9f30de5650ee6d534a9c476251c7a601482ff44531350e87bd070bf8d8d3f716c3dfbd635a0719c5bc2a5f042baa13646266d640b414349f008256aa70a8c4ae0fdb34be64684547548a6794d4cc1677fbaa50eaad7cd5ded53c07a601c65358060423498801ac9d2ea1d227f5467f15accd6efd3662e344a724a5728e651b199fc20cd62c4144e60781b458c06bb1521161527179d8fddf3a2087757a0920dcd2e75f88d831e95b246784c765cd21c6ad698bd059d96aac722a70669a13fd3681da3acc784c79924b9b0e6ef4bce2d9d2dcb994c41443b932bf8e5d15797f846b39924ee6c0658",
+          "padding" : "3057301306096086480165030402032506aa02aabb0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "2447976e684d4f5d35e1c33ec207f921ff9767732e8864cfbac5da51db7533b11d27c07e96f278979da3a6d3bce53807bbc2449390f5ed40bbb81c7517bebfbdfc3f1c15a3b22a8b2c08cd7efccc90e39c2e001bcf2a58a4e29d38426baf2ee533f1cae67c8c1f4ce24d6505ed9a118cbfb192fc4e378a9b5187615e69296e1bcddab1cf88127f05c29f43606d00ebe259868668708de9f5a9bc51ef0dca83e8d73f0a762015100553a440688feacca6364c4c68226582028eabd275692e133054d2f70d8c4b3cbd2ee69e17a571d6a3473cbb2c3fd8450262981180cd1c81194f09bc7cb3a2f7a949d8c56cf69e13af7d981f170073f2ba8ca55c9d1c9a9343",
+          "padding" : "3059300d060960864801650304020305002448aa00bb00cd00044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "10b900848ec8daf64fc40c57765d01462225893d6e5d46c21a1b7de405fd6fb505b678427a274d1e8954f866f3abc6c7d5ebe78af88de6ad8ae31f42827dc7792b160b70dc4d177e7e4925ba24b75fb19c131d443b0d4f0ef73daba868ac342b79209e313b439d5a18e07e9858fc6ca913fbcd1256397456b47db9d987227d84eccd0df2fc2f4ae8ede958382200dc867731a426c80e83f3eae20134f8ae7254c815b1ed75ef2807938b57993f5597f42a0b6542efaba2f5d3ae6c5035ffdfc9adcac7384e53ec601e8624e3471aa6066796bde6241f9d9fc40af340f6bc6a82e15c338706ac25ea7fcddedbfc0a77a852d1becce0ac8fd7a7ac3f376d2e0b56",
+          "padding" : "3057300d060960864801650304020305002446aa02aabb044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "bf524f0f24998c53749025f33201b8270e4800b6798ef21d84f363597299657c49dd6ac74e0500c343b5f5f14d31a422ff44342001f79067ab9d0b0d69b461c687bd4deac90e4300c1bf1f2a809b55fb870d0f52b751c32f0d824e73b82f8186b604af5d5847fb95a4bf4563c65e460ca61913081398d57ad37fd81e652dc13083e9debf8389cdfd564b00398c965ed85cb4f5dc8fd4661215b3a8f7ccfed76eff03085884f08faf20c971032e13483df6ddf78e1bc0c50e77ca69dd678f5e69ef376f206410d9f8336b3789091679e302353362964650593cd1049cd0186dc3ff30cf62f66e3b37f2768e0e5b66d5c7b858e4aac6b53fa727cf42779e0d4ddd",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "5d0891ba0fa3e7dd890ca0ba77fdf832819d40b84cc8c90940605893e44aa22aa7780aaa3c7f7696bc3f5a7286c270a6b0cf1b0e370b6ee868cc1139ff412ab28877991d541d227092465e034bec6e3fbce0d763de2e0eb045dff2e52c6bd42b4920f13fccee1cfb25e2f54a8221bd733db7e2577e88477973ebf8d3e3e23b0fa4ca2ee182cf65e2bfd3826d2ac3f34ce5142f949d400ea9f3989f54bc852ac2c37ac4e4bfe934c552ef428925b92d5ea23ee5be3cedf0145735203d4aa28d6fec3889f83482e57d16c15e100f35e9697af561dca27c435ab99c99407eaadf200fb7e8172a85b5ca9e080f290408ff81d79f318540d1ee4138adbe3079fc5c1f",
+          "padding" : "30443081044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "7097201c4ea62b8711bb9c5fc1f2f360faa2c1e975622570225cee8df555b46645c4f23de2f6a0a8b018123beb401b0baacdd4f1aaaf8736054ea781ecaabb237d7ed6f0bbbb2da8b8df63f8009440f4829312bb167e035bfbeb39cba467edc1c1bff6d390849046bf89636a87201fab64d04092e13db975bba25736ad560ea297752ed97f67f760acad3e01e5902ed1c768578dcb57c61a17ec1582493ecc6f41c97a439e3fc46ed0954b9b799b88d4f58219f4a1b6515b08c7b5584a0f304f2aab4292dd06f1f616c5a5cd132be50f4519d7d51f0b87e0e0fee39e3ef0e984e9fe489816286108315fd0c19e9fcf2334e00da5334bb7afded2892ff43c04ae",
+          "padding" : "30803051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "2e58069359c7e48521bc0bda40aa98647b81840e82cbe107ef66f1ff6daa1ed22d15c01bd80a39f3bf9f191f5698e1f1dfa43f8c71a4913db2c5186dfa76c405ba83bdfe5011736b6478f598f0f0620987f323b52ff9ea56ca6953a039f44ee0f61c8bbea923978ef1fe2e81ff8066f4dde848035d377f192b5e856539ea875c76df009e1b4c9c3c78ce31b997fe842aa34ff2105ffd54266092f1e8a6c33e4087071072c3f3a19156e1fffb2295fbc741a958559439bf84085bf8641936573576804626734ddd89c889e9ca373c498d84de52bb7a830b4f1c6ba54e66f0869bda2449eba214df065738e823249c0fca1a88236cbcb4381f1cb1930c04f59187",
+          "padding" : "30553080300d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "7fc58ab285b6bff2af7f3ff1036f4d2fe8483d4c36b89e78b0a39f76719eac94c1a7cd1c44447dd408e201726fc7300459122cbb5ccef288b57d42d6efda841945892bec222a10da5d92854b1a7d86fd1ea6fd25f097a9810e3237d8cd615a3acb7a800876f473f6ff570c41a62bfea8d24b7fd4e2c46c0d4904496e536b0cefa340eafc1828d2a0c872788a1046fbc6150ed9e2d15fac878730d9c5666bdef5d1799d43985e711dae99e19996a199e33766ff4469d6cee3687b6703a4f9a3e70515c0761822efb22bb45292b84e8908103cad9c6bb83437088a137db76ddbec9b5c8c80d68024cdd22f16d3deedefb9da927c478f0755d042b662bb34ffb5a4",
+          "padding" : "305530112680060960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "648115f0266f9c2e9e891088aa19d63b52d0834c367d525b1f904c675e2c20c84c687465119fe51493a0059377239edd310bcdd2265834025ddd7b9299d733dd071b682c301ad304743c2c18fe4b94708917ab131a4900939218715f4d3db8fc9dcb4c7c0af77310cc296502a7682a050d6a8285fcafbc62a8cc28f7f6d404eabe263f9732a4a01060a2c669a3e0b7e17e6da44ab7df25876852de52e43daa09d9438988cf3c5b410dd24f1b72e557f01cd4ff15af5b3ede5d6be6de21b19a945b563ad0b6f169e02ca11a4ca96a80e7d49222f0e4103d19c1862c27a79593e54f97011e67205c5c6b9bf5119b9031d4003be3c17bcd4ad9eaa499f053d92e20",
+          "padding" : "305530110609608648016503040203258005000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "0f4df0a0623c2513a39adae1d5719ce01052d7b72cce3f70373d8bfdd0bbd37ad89e512f78a3fe5ed907b77c14db1bf7ce65d5ebd04d48fcb5a3b475d3343bd7b56cb61a7e437d1532bf4b904b874369459327bd0e9150c709421e7bd54fad085324bed49b3da6fd5bafdfccceaa39ddda0c737b5c3e284c2fb2dd31ebc770b257aee15e926280132e698acc60aa2352bb2d27424707c05ec66905a6294cdf70487aab1798179c125381274850a40c118d65acef6fe7f6d561b2a1723d7ee3c20970948452f308a07cf9a7fae33badafc576387fc993cf37e17726b05dc619e35a6a587a81613dd0aac82d9ea503688f9df225253158a629d674f90412285ee9",
+          "padding" : "3055300d060960864801650304020305002480044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "37b22230608119fa91a6c8b10d573e0e9719570cd0e209abcce67a3b23751617b28518a681ce66ac24f6ef1fcf1f66f3d0e477b85302b0b19852ed3459333511bfe3e589bd567d77e58e411769bbb2ff52c56969cbcddec971520d7461746d1ef920786e099477c33d7584d23334ed21186cc9bcef7edee82790ea1a20f91bc1dd531a9de124437f9f20e6660994b8d0c1b6d60bb7b261dd3d23da6c38115b95af518d12fb24bb930cf2a0378e89bb620c02364f6dd3c0db53526cdc401fcf28975fb4327bd36b1b985d1d8444b7cb63146b907f74a19c96cd3bde356bfee145f25eae40e1b07dadc5b03b3ef7bac252e1197fe64a378de32158bf1abb1b52e0",
+          "padding" : "30803151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "325aa2dfab66503c6bfd45e770465b03ef7492c3f43f4d5169d907fb85b5e6e00947b11c6ba28d1e45ccbd74fdea67552f2e0362035aab025cf583d274377dd837293178c69c97c9f31b61c128fb19f333f72bbe13643cc389d239c393c91bba05dfa0bec8ea8e13deeea943d5fc91e06da014ea5a7b76ff62f9b53d62e6041b0a53c0ae7796dd42666dbe65c12b1b4143b33004cafe7d69ae76a73943c5d41604f0e9185f758021ec71495034711d37d9bcb5cb3aa302b03d36d79e9fe9a8785df1524c2ecbecda6fb7221c8cc89e896db301d572e6cee253beb7311b0b1fcddc33b2bd84d7ce77af9c702b8ea1ab2d405213f08af17f53a95571e95d14b1c0",
+          "padding" : "30553080310d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "bad07932d5e267ceeabaf78b85715044b99e7a85afaebaf15d2a60c6082c22b1080c663be9544f44f3d70ebb32780465b7a35a3537267f09c65072c1046784c93d90ecba33ddd0399024bc93837e4aa214fa11d258d35c7ac30ce0ec6802554ccaf52b86e20efa055f4c1010ebc3a6cb0b8fc3ad5bda2558554031a7ea9f549b53545b36b658bb3367e93ee619bdfe88e9299fb4f7c6eef5d822c48a227b839f05d23061b2d49481a4a9f164ad3fbbfe2b20806fdaa9e16a465b3e721001002cebb9b9939c605841c831ce785c9c65e866e6c00606518ec08e5598c8b789923c3fdf4ce05524588d3b0b5d9eb56c5de1f20333cfbc7d8e7d43e46f9eef13d6c5",
+          "padding" : "305530112680070960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "66ff77a8056aba526746d6fc1d6962795512f6cecbaaac2197374426b0983eaf78e00dc9a895f202ffe467f9705564acba03d8a5c2722a2d9cb27a59e0ede7f71614b3a03f32bcb4f10ed094d258e7e2c49dbd0aae647c0578bb4071017acd187a684392297dd8b422b5c0e66ca9c6cfc4c3fb52b9a66efee32c1e2c0a217bec3eb030bbe97297f01389ed3b884d7623dbea779d5570327630f4d863071e3d2dc50b5dfd192bffe5b866c3ed7d3442ba282b8d3040654c97d0f89b436576288599845b3801be28b19d27f2052c0cb792104d58f79eb87c43b626ba46ccc9b288bd8a0e09ed974b2eaa6ac148cc97e5154feacb03937db217a1c3e3e8117b5d92",
+          "padding" : "305530110609608648016503040203258004000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "b55443ab3d8eeaed33a73c1b2f7874782dba51df091d3a6879b050493c43ef8feaada78c06fb4842c690456f5aae3a81871b6961a097dbbe04f63fda2c5581902a1671fdd82ab35efc35d07af64f9791f99cd31239f070c96b34efdc68bb311ae5398271378d12892d40a54c15d7286dd5ea618567f24bec646afa89dc04a1ea5ee770cea923dbff457d7f2f93f602a287ed7180c0ce6e70cb7f02d1c11fc8f9266980a97e00454f9b93c6a06b8132ed7f6d2255214678f22fa2c0a3719a8ca8e685b4b0bdbe59a890c2e11e5608bd049041834a450f4b6eafc1411536f12adbac2712c048ec11ea556a3bb5c98c1ff72c540fe9a9160b4bb0dbba8c50a38523",
+          "padding" : "3055300d060960864801650304020305002480054043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "0e063ec0ba113694f86e107a61b79867edb6e40ba1053fb5132fae6a665c042f371b76a24cc37437bedb0835b44ed8f7e910303a565ab6985c3233dfdb59bd29fcd514577243ba437add9a584a22b704086857b92da088ff72f13e4ae29a94ec9c6276967075a8dd7a51cfbca1a70c3d7d624a6f1f9703092740b3d552cca1e3c69850e88b25d0a830cf5ddeab64e8f856daf921ba8692e3e34c362208c4661d171ee9456fd8be4bdf7354cd6ed703366ce369a81a8c445a62641a1e57fc1de6d3cfe2184eeef69473ddfaa556de0270583a84a60ebdff77cd31f73cfdee04362fbabb3320b7e18ac00e298fa9c502236040423a31ede48601df77f26c7f0090",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "8b00079190ec5ddfecf3394edcee7c2c7fcf394ecd185c29509d6818bb7c401040c7ebbbe806c20f2c414b72026dd058a12aaa1a90c6d4254ce2e26f98747778786057086663e3a50397d02887af11694718091b0aaaae6ab79740c8285513f92fab0ae112cc25e739fbf7438e2e48a37a1cc86c4443e5ff53c49258878c2d9f08f322651bbf9030a8563a2993d3e2e663b0d7d8ac2cf871fb67a7a5d9ebafb35dff6329c1929e14a66ec62ef92c3490c1daec8fff67c763b1686fae7c4c79993f9c51659436e989338430f4f772aeeade41f4711802f7b5110379b3f0104ad2c897f182cc148d403955d3212b226e99cb6b4bb9cdf89f43198898b5453a4a91",
+          "padding" : "30440500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "02b469c37056f5f17eef3cd2f3e2bf0c37f0c917f3fd0f5341f610cfc5ebbf425a4950dbc42fa3d2d6499f44c31012b8c8f4d26b6aa20905fc198c9ab2642d8208861a3f363470ee499328521749ac7556c3c9b1604fc17f37f72a732b26c9a7fdd5984ed38065a93954b57238a3a6c3e0fcf8c75f6010c1929a8de5e1fcf4729b9ca804251c0a04f364f4f47a042146d13b1e016b43fbf7bc1193307a864df078dbb60449acc1e9621d14057f579141905c323ee6198e3b63f40d75a78e7adecc4b14e0ba346061bda490258298606bc28e8ef33fa041ee2b0f69080651ec7717ad1ff14f1cdd8435d70abe5363d5e4f320339285916bd84a2ce88f890ad8b9",
+          "padding" : "2e51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "0de9009bcfadfba4e031565e32ba542c22d890329905cfd7dc4c46d86d87b992bfe4c91962c96354c5369ae60e1960a9925671d2c41e5da0fee8fac65ae4c72b1d2d3dc8b33aabb5dd656c1652c04faa17af753e9ba332f74e0996666dbf8a0a4e2634f640c9f2b7da64941f6c81aaf9b6fee9434ebdefa89694b378278a5ed71524c20f85e33ba37c15984d5663f0a5733e65be9fab5655bf80d7b92b231dcb4743dde798cbce8a3ff059f70abaed958719f06ea8f55f18f71bbac78447f3e4e775a7ae02676a3cd11b1493ca8715bce0687959b0cd1a9ca8b6a3792f9f6377ed1f488ec8e3ed95f87aa932f79a6412e2cf5a241b24107590a1f1cf3e7c8545",
+          "padding" : "2f51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "6a505dc2ab0dd4292cfc68fbff91c28f49d079d02c842db9e9c2078092bbbddac03e8c32efe8b239a5c8570268b86ca1de0dc96c8b550c14f2326c779ab44906c1dae63c3b1c9fc0fbcb03afd7360ea6297b10cdd098131b35ad271aa3b2e39c828ebbdafe97b3dcf12b0c41bfc577fdaa37dad459ffea653dd5bea70abc624fddd856ca9f023116af3eedc18f2747b2e96032253dc194e2e40a4a3257e5c6e210441d31bb826dd70423d12acbac290849ff45dc4ecdcdb07fa9e7f9c3ffacef0800e63979fe70daf04566250860a974eb2297c46d7478108f419055c0223915e8a4d95aa58440e2af3a6ec6d44c157579ad851a53413351c4b8bd5d9201395a",
+          "padding" : "3151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "60f2f9b066a7329fa2c0e01bfc7d0ce06a77f08fda918703fc56c43e8a4ab058a81a13225af87d7469380fedc9ca5966a29d6631b88b3c1d0b9802f13c4a8c5e3049ec3b3ef4b79b7e03846f96536638a82997d2e55f1c5c3cf5b93685dede69aab95c3ad10ef59f878a69b96ba71421598157048705826c96f6edd6231b4165767d94dd85e68beee6502f0f91a3803e247c22030945ffa665fcc5946d022f938e8973e231be9c81bce34fab30edc9167288bb2bac0fc13f46e3f03d0d76a501b7f4adbee6300c66a13d1918d4fca30e62ebcc16ce97bffa3470929ab65889aabd4b18daece2ede653b85fc070f309cc381365486a36db4b2e85f27c74471507",
+          "padding" : "3251300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "25a236f8161ea633d5e093cddd5fcd0905bc8714e1fd26ac00ba021a8af1612b0f678a9a5e985b32abd3fd7dd711f4eb49dca5421cb728736d074fcda041608ba79efa9fed40ed6d4c0dd0ef4ae6eda4334e374966f079453c755149c7099ede7c54f595c53a83fca7e4f74a546c7259a7f0c62c82005d60cb49a4c0b43f119070aff6429e1f6cb5a7ad9ac34a0863340f8eab186bf4b923d2481c1e830c18933ce28b8b2a847b1d5f515e412bc3e71030d1beb5cb12879c0f7ced790234a3059e3e964b9b17d7129a6c83398f4fbd8c04db7c33879f1475e3d5dfe1d891f1f7134108375c0ade5627c53fc9fafd8a66d2e204fd3ddfdcdcebb6a6d5d6191db4",
+          "padding" : "ff51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7e0fcc77e2df20a7c6d81aa9a8368d017203dcbe8c66169c10db0548f0f0fb3d17889cd4fca9952347dfd9bf9ddac6627dcf4c47856a47f4aa1593e4a4483abed71449ab1cb0475b1d039ce7aacdc803a6f271e89c47adf14a1b14250b4552176ba2d6fb18332ec320725bde4df6c347f3e41a81ac581fe519ee95dee3680a0c638694eab145ac5d463f48876996e4e650c0b677fd926cc093a274506fbefd3fa70423f7e5c970437588c228cf9f0906ed05d707596244d8b85424eda776018dff56ab788c8fce1c1ef1f4507805cf6cb37be6da10904cd24ef8fd658c1b98840ab4d24d6e8cc3c282fb9245b76557a6d5258d8c9f1d973b10e350577a675a3b",
+          "padding" : "30512e0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7fced2a61a55dfbcd398dd25ec813c30f176fee22fa5aa0cf832afcb8547c4a73dbb40eb723cc3e8248d3f0d9e395d79dbd82af8be5d7dfea1110394528ab9fe031677bf914225de7b325ea136921eb48c206f681942a5f15287658146b5ec959bf86a4244ce34df1436f900a36ebbf4bd0abc28b1b20d5d560e34b634812f54360316a066c4a4e284bf615e6280251a194eecab697e2d0eb8decaebe574a3e222576d394c0fbaa7f4dd97e1016a3c0ea05efaa50c768310d7e2a375b28d526dfabf2ac989e4693bd5a61ac7bfd53704b8538b1d85fed950ee46adbacf820163e03f71329f4285f74ea05777c53c51a91e1c69f1d3e6f0b34b64df73b1b46005",
+          "padding" : "30512f0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "89e1130ad970c6e236c2dc4152c7879aef47c1bfc3ae6401342900cc53f2e1854734194509bf92e5a533724b27d076049d701300e5fd2747d4c7b90b55cfc7110bea516e380f37d9aba8007d942fa504365181a4c9cbbc6ff7fa0c9f7423414b5454e57c225cd4a15f93f1259a8de85d9deba1c722eda75192a080214e1a039d272eb0ae0be72d45b35ff5d61b316a62606a58490d86ab5c1bce3a27a10a5a0fb6d74f169fd0a21d1f841dd564ec0bee3ff6b8be891b91adf4622aaa926a60de08c002d71312a5d2d4d1a7ef45ac892bf0a6fe496fcf3b223bca3de0cdfe52b0885ebe288fe5bbad0c84542cd0ce0446615b604d47ea3b2506030f986d057035",
+          "padding" : "3051310d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "3a8075727fce3bc85d1b454a9f53f0e6353bc206b8ea30ef8e1354c4420abebb103ad6999184937c412a037c24c84267b198238fd25d55b5a3c27ac7ca221736786b2c4c18139bef13f9ae28792d5f439e9bba6f710e074d16f589f0e2cad2e319a6054fd91de2cbaa657a7c22a34db8561e7d4919e2263f18fb3d176178d711f7f1ed5e0945b5d36456400b7ae43ea4c379916e549221e43a1746424d1dedb0303fdf074c3209d172167a7af1b0a4ec6305decaba57fdb9aedfece4328ae51c2691f578d7e9d2a1c8f4f0fc4626d37a4a1d507766b82f7688f997b991ee4e27dea8631e36d9bdfb24eb5b326b73b793c82e9a0c7f974eeb34843304f000f02d",
+          "padding" : "3051320d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "247f0836500c49f74256360eadfa3c00b7220ea7e306a7fc1f5d0fc5a214d47d5c0a03e72a510847516e7c32a72a899b7a0a840094aa557bf0671c6607cb0793d15586004ef95a90f076c27b4c5d9eed04ea3c4a833e05529311189387df81b2d9a17ef5387ec87d6acfaf8c2d2bce866fe324d6cdd9905eda3d63d1083ef75f29d72b005cb073aaf68fee0c9cf1d8c5b639658c49f65d5cf6f9d0b8c485d641ecb4374449bc823d3bea8c3509eb7884ecc275a3e95c72f3ef5dda3b47438a554878c96048d0278c5c44d8fcae61cf69630645aa595636fed3015fa8617dd22a5d36c37f9605c5a4f386cd194942391ce99177e42afc52350656501e8fd08133",
+          "padding" : "3051ff0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2874dc4e08a70a652af91e419c2379bd874a74ac75e6488653c99f332825dd111d3cb498a34054ea1cfb5588df892a3c34dd04f29665a0c939526591493d536c6f5ab9e72518f3965c6d595cab132060faa67c031c3c5dc16765ccd2e7fbfe5aed4a019500c7d3c06c31b6605e658e6f88b126d2866d78db75917d168836222f7402097bf2349b5c11ee4b7338e97041b168cd2b0a30e7ded7980b7dfc95e55cac2be1f2371d2c69ea025e59d21292903501caf243b30aa30b13e3c65f8f439d63676e5486e1d9c4827bcbadb73bb40810ff8eb6fe8ff5635cf5038a52fb84112806708746041c52f7d27a6bc7ab5f6ec54ce042ed7e6c258df7fce2d00bf3f6",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7ad94d2bb7b43fc3312c4932adb8ac70870be57207411e39174d5b1a8618e94d3369802c8e24ee87e5f0e340bff584f05a4b622835cc75e0ca7a02caaffaa3a7bfc2e6bbf7be33d55807d01c00ce0b3998a1fefa86814651b97399564a862216c57fddda297bfea87aa609dc878e527ba84ef82784f07b37eb7c16b2abb6ed3e7784def03f1623d553697f24b049cb1edbabdf67347983eea902ab3d2cae2d88cdaa98f35dd179d2a6f2617bac5b9694f889cb9a2ac0891db284fe346b5f845adcfd69b76ae7c69d2ff26fedb982815bcbae92a65a5db9dbec68c6ded7dcebea20acb0ade92ad148a66bb2a568bdfb299726f1392345c7138a5629d52a0aced2",
+          "padding" : "30443000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "b46f1ad5f9c3ee1d131cbf92373916b4c45201c02d631be04444bb6892d25371e6c78ff82286e340d1844c0db3ac2bf32f1cddba51096fb6e515eb466fdcfe47ae84b6d5a080e992f1b3149c23bf875b694e9ab0bab8e3c855825c55f8986e58f8d856a0b153145a1b378482b008af81b30ebd73d20cef495f97e548b5367e25d4ae335233b98c051a4531a65dbb2d18241e702643053113810a1a56b9c7e4c7b8e10fde8aa95c0f1bd5088b39b5c45e3393c2cac01365b78a8b455b436805290f1e43ed94873b5e1aed3e6a38dc7459e82a9de9e0095b67af779b5473fdb12dd95491ea7912b5d7271c88ff6fd5a887efb8fff685900d8dcddc031fad7c15ac",
+          "padding" : "305530013030500d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "10791ebd2e8a04cf4d99da2cc43d296e7d2276787d8c0b1cd2628abc74e54c2b88543dc9f1885f2c232be41d8182867a2011e8f28a2d2ebcfb053a31b94eda6974eabb6e8bcb8c273394978a3771bddc8cd21fefe814d32459848ba06672f46c83bba26ce69101c865989d85e5b04d8ca180e1a67ea816594eb71d6536bc57eee88b9ba17b7c3f7b85f905ee1f1dccdd57b1ee6424da71b7e466181befc1e3763d1a367d99a7f2c59939d30a552110f7395750a591b1237e1bfa1845a685aaff44ea7bee45bfbfdfdee6d2e6277a77793e3ef9c5874b5e13ffa9e1725560d5538211fa7bd658f359f085466cd6720093bfa3faecdd137ea0cd0155bf73741044",
+          "padding" : "30553011300106300c096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "b2a06b54e578326e41c2c7f7071dd8458b5fe9bbc42be12b068fc10ae51dc9daa35ac85239e11c30c5a714c5951d09dcb99cf7b400f7a81274ab4409262b3c9362e735cc1dbaf3f4e7afe32b73894cd3191936339e5cdd78b56eb84d48c78a714af0e710d60ea72199955c5f8e9ee9acbc1492e3c1bc2187ca9f77cebff25444622c28c900f213e97100a0653cf8f6307729ff8ecdca410f30aa8928533a7c6190dfae16f63df83a0461bd72aea5f4200c9a831ceb5b0333f1e5c42805155abbc387b271fc4df2dcd4e0e597f616cdee14d364d9a6dbaf5d145581171367b1db517b9aeda83dd731d36a83b1444ab412d8f0c871f72d01f941c7c68b32006307",
+          "padding" : "3050300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "086b546296bb96a5254a28190b345df408924354f6ebc521e1fbc82cc113e6f2b9a03c1cecda71988665220c65cd269b40a36d452ff08ea2c5f31914a45c038810c0e47171682e53b93996ee958c091eabc84c95530a8707765c1a5a783b3c022648879bd8caa4392139bd7975a2dccf6445c8a2c2ab084e72e87bde250091677522cbe71f9121b80dfb365962f97e6108c4c8449fed8cb87561c9f6178a0b96fc7bbeb105122ffb75ce2fb234919d86bff858abf1ba37c9a3ec886cd0cd228afa01b83857116eab734c46031dc485e503abc1a9f9bfd126c887c528379205aa1c8910c94c0c3a1e4f1fb4a637184aa5d36c474791d37e01981678cc63ec8ab3",
+          "padding" : "30500d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "a4b495fdd1120556d60b01459a7935c6eba0642474447fc76cf0bd691a1cc0170c409a969e3d69907d39c9a67e27acb13fe875136a1f466ea10b6b1d2d5d1b97916359851156d085e785128b0d5bf1484c3a44c0c18cc0799e5e22e1f87f33ef78b89d7a21064dbe26974dce5451e60c5d885806c8126d539b1bfe668600394efdff7b840f07a2c3ef8d15dd2c0624bb6919f1862ad606399c8b94b9a19a5404c9857e029a4c76dc1c02655c037c004885c2c16fc727954d8811ccd726a1a4d9f14b2f5d11feb2169aefb7c32af559fd62220fc652f1fad3c5dfcd0679adfcac20ca484d9847b4f9413b0664b19151e6cb42a1cd7ca54c1e5d8a8ba024a3ae91",
+          "padding" : "3050300c060960864801650304020305044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "7ea7ac9d5851bd2e33a6f39ffa512c37eb07944de484f5e000db07e609ff86eb759573949440cdaf4846ed2787137977ba05a17b06761ca658b931089afeacfef78e4e2607a9043253d0c6e9b5a8ea2b176fd3aa835927d4eca9dd2b470296499b8194908c505459d988d492d1290de9a9125d5b73962aa9c139fd18696fc5695d5d852d8afc03ea536f3f77988afa16b44ef9d679bc27e1da7e0673d5d7365a46a3e87bfac629069f820100a13d22aaa88ec010a0b931c9221cbb329b1bf14103ab6623ff7e198d7287c0b11eafdf3bc0aedac23e37f4d97830a0ee3d47cc19c21f13b55d7928ca3baf0c66520069db293f569ff0722fffc9032d4be928bb24",
+          "padding" : "3050300c096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "1342c8de4e6534e10fd55b7a7dbd447d55c79c6318bca69d9f2b30b7bbcee67ba796bd4c38199835c9e0ce6afc0c649c1523a2a14ed9d50f512c4b64eddafd9ecc73b96ad03672feb599b879c4cdc4da4b53606405177aace48dec044f32aa18d23ab3277ee0a99bb87879115832e45eff8d6a653542f879a1c6a79e96eab719b7fcdc19669395ca95df933242ef299942965e2b943c8c5754c6f136535ef76f4b679a693554e8e3bc45af26a4f5ee9f6682734ffb5ef822b62a5e448803b97b7563a0893ec098c0501691b7fe6a9f367cd6cfa9cc8494fe6647f7eefa941f56d14470e5315c9081f3d7a2f5e688ef43d14d1ffc0c189045754d1ec4913a462f",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "5bb15e1401b13223187ec4b9069edc1b7c822f300e09b2c49c8b3a76d6520a0361689e2d5535311beb55fcedd905fa834474dac5d4f8ac7f64ed76e864100dc262abf43c47912f6e1233e8d0a327467ee31c580b42e36c81e6dcde10a5acad83ddc4c72e95bc8ff5d6b3ddfcb06e43cb673c00d855da419d97dc72ac9dc5ba84e59c566925649380c98dc03bdfd94b2178aa5088e4f3a87ab9a9cdd3f6e880329b66940a13336b83746ecc122f711eeb816b460927381bf72367bc4c07529802e083c589ee2d53f84163847cc3da94cbe807b1fc12105f9f1d3e7ade0fbfb86b6e68bb1f67d124aa9c93c76fa6fb95438464173fc154db866e35437f6668f8ec",
+          "padding" : "30533080060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "ad644f64d1d3da05772de46bf9e93aa88ba29b1caea1805f4c74335ac9cb8113dfa53fa4e254e6932a3bdee5024f3e4522d0d6354a84b11d8a7dc2d1263009a3ce0b1631229c62c3ec537cf819b052feb88f5aa3cd4901488e1ee51db8332a15eeec5797d450afd5f49bd625e425678c95eccdbf91c24d9824f28258d8edfb4d7af2f3b71d4dd9cc14374069e5d28168c985e1a5485ec7720992fa5cd6c1b8e370ce6c583bd4475304bc2a70e8ffeef40a445cbe9f0d506c3d73814075c9156ae44ef62f2e40a319f5e09e9b39c754325ad59bd81e00bca12efea07c6ce5dda532b9b5c0390db56ff096b73547935f00ac056166f19743a24239b6bd4dc5d38e",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "5666334ec38779802e7c1c18e9b7be98daa86bdbb44b12bcbda7348469fd8a38b18ce25fc6a2e12f84274c23d7d7a4cb9f7b75e17afc5d3221c4224a49e6e32e2079a95e36302ffda163c3eada3aceea77bd75bf57e5cf87071d2b5568204ace66aa58e12bb127b11e9e78fa2a79c7ec738483df8d102db54e9d16ca6de170a5b5adeb9340c5dac1c9c846bb173e056fd5f224619eb043f4916ca1667a11be65811da6c0be2ca2722e858b2ae14c79616e2a558416e1b6de240f8f5dafac00d28f94aac8bbb8661f0f648c5dc001e10488afc6b5cd8604b028faabefbb26fb3813a5f2dcb7adcf01d946bbb17adbebec64ded62962e98fc3931f61ffffbb8258",
+          "padding" : "305230800609608648016503040203050000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "3d24d14d20e9adbcac72a678f082bb084fdc4bcd099d8bf85ec7b2cd90ba8d89a056fcfbcfd9e1fd8f4123fd44b8d4074e52ee5ebf3f8b9a016b68743cce84606c09e63ae5106e9e246b54f4e02d0aa3215ba37dbb7e72784215919d24a74d8f057a4d5bcb1df671c898933f32e9cc475401179ea2231c12582ea13a6acca83bce09815ba8f783c80d49d75d610e3584058e67c581cc8c9d268f3b331fc150a436965f5cb4bb9808de727473131aa442c08fa98594441aa3409ef0df3e108a02dfc70f06b9cc89578a0ba0e5cf4bfc65f5778a95bec0d60864c92b8716eeb308077922f7f659b706beb27a0f3b82395c5d4ba8335d67dfca8a186c0563dc37b3",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc05000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "202277c26e39060d39753e47c8e93266d73b7af28a7b527c4140258164ccc368de4ed91c5e6dc2a84811da2b9fc76f353bc508740d93f9d81987e3e54d4a42c4389b15a0365dd907f07cd44df04d51fe14d60320cebddd3f68b3eb4b2618b222f6c9afe51646a9992247d74fa5313b5e332802ebe3544ba551af2b89c6860718d97a0d36c9fe132410d6215ee90d28b8ec272fdb332c188eae4ca666090dae19d97784601a4ed1f7390864762693f2e3c68465125340921e6f64319c2aa54d0565b6b34ee935f10e69b77c439ca70b087f8f91d6fc656c8a43f05d9319132a67d26d3dc9db37e78cbb4b92bd6165cf83b94a876b6711aa9e430848b257ad192e",
+          "padding" : "305530800609608648016503040203050005000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "38600d6c91ceae4c31e08d7bd27e99f5da851a023eb838266841c2d173eaee4e7f59f1729d11491397bac90137631c14fa8da9f7bbb84e6ee70823b6746dee0eba41e80c25860b62201e1f58bfd4a941f26c8997a1237ad12fb7e3d5f21b65a739f3955a04c76be2352458e3a7b7bb622b135238bb09305e75a068dcc4f5cbbd15690e484176cb07a74333cb401b0975fefe772bb80332025861aff08aae24fe6f58d1f59e02e6af68b0532c7f471ba0e4b5e25ec4b35a38e09dd0202d19512e7e56628377d8fdb45f23694d6846b1d5594c1b8ae858683f3641e4eace65b3996b893b324e8b73ac16f4a9c518ff833848d19aef8d3819835a222112e051436e",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "4416f75cc33c479c6115de4fb437ed353bdfdb231aacd1f4f13b229d7b25f904aa0ead240dca564d9674c6a979ad28244fbf274abc8998461b572901f21e8ab60a6c61ae6d0ea0d5de35a1859a123e8485548aef1833863ca8228aa40ceb202cfee1cb67152a31e4ec8be5d8a24b83846e6f2c05c819d0bc37bffec2933fab9601d072eda2d6f704d80b235ae5b91bb3f4a7173c92e53e144df171e021c4b13889ae0d7d99ae80809c5a6ad173137b21aa545a902f9e5b08e5c09c9bff264c32ea0151eb8a5498a8f582215217c7cfbcaba9ec0f8a3ab1821e0b6cae644d7b487947f33a72d4f050da5f31cd9ee6d18aab50a9abc8a34cc2a6b45e5c23fbd9da",
+          "padding" : "3057308006096086480165030402030500060811220000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "911dbd150f8ebe9eed71419dc8f6bf2a09590efebacae72f7e6bfd912280b1dfaa2fa7461502368de5f4c609bc992ab8421c86bed775befea591ddfd9701f6bf46b03c2472a2b802e609bc02707d33105d7a00f3f079c4b3b542b06b6d5cbbef6521fa56119a39e1b0e1b3dd86c0050092275dfdaf13fb3a453332888afeda4c376722d45b71e2dc8ad12610dc1a11cea80cb95855dbe120fde8bfc9d1c13b38684db78d62019a9536932c61f441d9d292f5277f00f7e97fc0a37cc4cc8050318475b0ed5ffddbfcdafbc951da39f317d39284c338be3586e352ca1e382b527e21b08f5ed9ae812af902ff0037f9709c5c792f5f0be243aa89b0fe467a04d72a",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "5d2788622abed2c9d557aa4b66cb8cdb7289f3dadbd6dac50317c9a6103447cc0c333ea9f950a9ace342d82e05f4c88d7eea7dfce425160ec95fe95befedfd8d24b274a887073909272482bd9426ff10805a9d54792dce629f48e1c7f7446b1c1d542180df758dcc2668fe9ba94fe9d347c897725142083f44efe8f41c210ec809e5c96e00848c12e16a1bd792360624028185e597a62f4685e53d831063e4bd6cf50b2600870ee835d9d6067a5d81205cc88d02ebafdb014a80a06d517295b238c13bb0ae31f2fa5f68d14c4bca9015aa122f81d82b9aaccb0cbccca3751ddc8f4cf971190b765ae246bbc10bab538cea8123e81b68d417bb04233eb2b66668",
+          "padding" : "30573080060960864801650304020305000000fe02beef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "1779b32fdaf19771df92f2e365fff5f5c2f432af48f660014ef09b9c01913e5902bc0be92938019502178ca736b46fba68a513a884961ad19ebaee84a977ce11ee4f2fd13d72b611be3e30fa9926d1bab6fdda62aa031d79f18a09b9b3a3bb26a8a368ee42846edc1f85f9023c2190d844042a6cc9e5a1b274fcd075d58ad132fad05fd5e2713d0255625ba0e56ec0d64fa66d5e78fb242af25f12d41180cf2d651ab9c812f683262274426b4a539fc36602860e4b7543878c582ebd641ae31dc2e8ff5de9576e24d878350243120ccf800e608d9bbae41d10b8a1a6c3957529b263c6e80d7c8b54c32b15e3ffcfe85fdfc0df5698fe9d6afc677bafc1e55bd0",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "1a2fe05ff3073be36aeb55e736b7489447f42482f91c7539b9d8ffb27f7dd6d58d1e6274861490f30773b6be750acfbec31e5cab7be070630feaaae2ea35b0cca36c67b544d709fa17de1145489236bbc69fcf3637b1c4c50399e34a5866ccfcc7c572143cad581184eb78fb1e84b9af4075da358ecded93288a609b2d5bf9c159a542fae376e438bb947c8139def481eb308f568345e1a902b433a5766c266b89749bfc4dccafd6b53a8b6c5df1af7eceedcaccd9809d94bacfd82c82a0de376971b6454dcf0dd70a2d94364c73f579b78242967b28bb6e4e08bb1efc47281ced3d0b2d771820336bacbba1388bf73edaf9b140c4eafc18cc16856b78599b63",
+          "padding" : "30553080060960864801650304020305000002beef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "551797652916d3e62a0cd534f4a0e6bd1552d7aa38e94ff522e8b4fb39b6dff8e1698ecef6100b4a2e3d7063ef5abd42ccc0e5c49d26e353a903cd06f8ad3297bcd60a8597afb2d7aaf8b70896f1f3bb1d2953fa76ba3059559cac7e5378fd129ba8bfce5851600abe78aecbbcad2516747c7706bba3c835319b1761e237ff593d8165b5a1f58bfe2d437f1b8230f5bbfe61b3c9eb56c60a19f70816dd3c86e28805823106b3f1798feb36b903e6e52340d559721679bb95700d9969367c50997d6786aa10e7614eee58bd98dad66f81c7084068946b391f08fcf3ed67ff4208080d8b093be71d023fd0d66d7e2af5895f5369ff76493f51ba67712ddb085d42",
+          "padding" : "30533000300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "6a9a4de61a2a54615656280ec94cef9204224fc0b4d0ffe5a25177030d7ed597cbe199c18b18667d54830872fa0b2ae363ddd44dd07941268d5760b8808ff87c942287a4e719f7034d223d1baa21f6d88b2fa52fde4cb7abbb84e1e07417792206f70c208bb1c1d767b13b9d675c5756455bc27852c76c1ce924d7e981f2af4e770969ab86e5f01aa3820ffecad848c7be52e85ee19769acf17e0b5117a8a14885a85eebfb63d4294e87a24fc710e8e560d998da812c7de3fa0f531f2af7553f153cfc2780db420c7a17312266eeebb7ec04c0fcaca815f092156cc3bb65bb7d7e1db3b5db955851b3b3415f60ceb487bf74696cca2eba09f2ec9636ca59e390",
+          "padding" : "3053300f300006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "3ec47c244218719cd70bcad5ba1deef15fed2dcbcf4073ac3f05cc32750842bb74d6ffd506224b8543d562b2584e944cf4ab855da0e4f3336c97cc4636bddc2eacd66b3398ef48f5fa74054035475526733ed14bfcaedf421c3165e3a40a5abc098136e687bd7c7ea7e935f5940868cbde5efe0b51c99d15d4a64c7e4ae65c16dbeee1322f7cb3bacb4bf2c7c8a2f5bb03e264824de55eb3510338494dcb1513557120adc5150afac38bef002bdddda43b5c14891d4aab66ba50c20e229c2c3e1a10d5f194900abd3c217a7f5e82b9e77d0571589a51e9f56384d67b4865a7031f57a250d765cf19018dcbb335b856e2376c15c1a78f5ab9bb8836b820ec2e4e",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "68f20b149aa70ca60748e1c95b10147093aa384a28148b31799839fd0d087121b236503057fcaf6d1f390cb8ac6fa92a18768c6fd04844db995f073e893f08a86a86d003d508262bf01fca7de1e082ffce53308e6ed5b462211013f151c16a375a342b0c1d2fa607a720242558fa82a403b8443360fc0f1b64e4b7bbbe74b10ebaa715087d71fb4539cd1f5b3a72edeb89235c56018a57e04c5ffa5291cd1346cd7cc0feee2b99a3770031aa4319af0a365ba77978c486ac174009a2d3d97d3a113952eea3a8691dcb4b716460365341256b2dd5c846184656135162f38acdbaf70a4c527ee751f384d91d09ca7b618231edb72cc725a942211b00c58d4ea7e0",
+          "padding" : "3053300f060960864801650304020305003000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "13b9208bef3ecc8a4d327a3b6da582c2ca2326f84d233cc41e962333612edd7d2973305619186247279bad6d849d7dc7426477dbb35635b0b843e977cd8540b078dae1dd156644c4b24bb75fa8a8d247f95842483d9ad0274d5d9f7aa29002f93313bbc277b01f1cd0cdbcc9462f8b984ccad2c05e95b50e1dadf8e6c9c26574151e720abb9747e899812bcbc6e43b40a233804a91a6f50420b309d4291e2c2e1250094625d59079fd264fc1930f72fffae6fb2e3378bdf30543985690e61dc4f1262c762881061e59024b2069f53391ca16b215371e6cfaeaff1815fdc6bc1a8b7b53be114e157b6edd2930e0a7bfdb242c8f7a83013ecbb6c583f0a041723a",
+          "padding" : "30533051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "4eee2b16048f104753e25236a051720c2d73ef183d70c084e792ad6ed52b0a2535a99c0adee80c59577f2d25d257f790830221711fde591ef71beccd654431a2de33887cb2e2dd4aaf3958806740691448351e5fa44fe869af58bbf15d2f489994c5c3d6b8916c5725b4457a2c7e4764a9043d9455325de8118f9dd60f7988abb3e52c48b40b94d2752f79e203bb75178fad51a0220563d98e798825fdae83f698b8504634c380081179b64042a44f146712203843c7291bce264b64fb3b8ec44854e046c8c4cf5ed786701e2be6bfe8d015826ccc430e79b63e718c8c0ba6ec1cbcdbaa014d5bcb51fe9d74e01890dcf827780a337f495537385311262e9a71",
+          "padding" : "3053300f300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "459cdcf7a5a6ceb515027f05f54d2457c862d780cb64e502da7a2c4b9eaee3f19391494771811b1d1c60b7aa3343474d16648b85cf30af69203b6ec09f9dbec5942559c8fecfcb08624438415772dc439c62ab785ed2b246644b8f5050a3629a1280de7e5cab55a0b1c22d79cd1a851bff929d393ef521a3bad2f76a8d12435c6c5b83a0bd977d4fcfe3afac7f359cc2e45472adb0fee40aaabc6ffd060963453d96f3f34afd24e95c17cbd222865eec529518746c2815ce6126ec6bd3730e43dc701a26e0c903c51fb5166db09aeb812288ab932cd1ddf42ec17ca2364561267ea4b136198564d768e4da6b19d51f3ca3936451c25e6da102f8c4f10c6ed283",
+          "padding" : "300f300d06096086480165030402030500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "308be7470d0c265794934b0f211ce54f7d67936b6a1760154d585a1ec6b05da313d942847fd3a1133acb8fb9c5eac471e342755268bfb7f2c762b7d25c4b53855e9bffde4f68460683d2dde2723b0aa5e9705c4cb25bad26bdcea726c9315c2c9341515daa6e12e714c6011eb152a050c903d024ae8e06742c3c8c86612d207f5288093830a83761ee40729ebb2c5dbb0e6e98b785040b1cb3bae9d1463f43e39d752b212aaee52753fdccd6de71eecb17dfe486b296d6c455a17e5718fffaad9e82f999723c8a66d0fd2457c3cf3f1b3df127bd73662651fefdce95f91f1a6ebd370fb2163bca19c9759e7f5901bf177464ffecb8dcd911a4d5ed5d5e7402fb",
+          "padding" : "308193300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "313233343030",
+          "sig" : "64a7a262c21daacd9a5650b5d86e0bdc07ed09fc4a89e4d3fb260cf5f6e2e4ad529982a0e677b37d8d945c0c98a802f10770f6148ec47bda1b59f63229bc81424e3c53ebda28adbeff58b0c59c9f96721c187be69a6c38ae4bbe664c185c297c150ca49a51812720429438e293a646895e4d30bd152097fae13f05a3b63fae91ea15fb556cece63dd9616e9550af7c2f9e9732ac288fd42258c34a48cd22ae389b9f38a9e16528c7d8deca2b11b609af2259393fb28b353f082ee9346a5aa55111c3362cc245bc671704746955f496f58b574fc193be8581a5aa0a7ee333b6d9f049011b306afe9f99d2ad01545f278aa0fe20502077529849c0eac95ad99fb3",
+          "padding" : "304630020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "313233343030",
+          "sig" : "b5ee078736ce4de46ba4afed67454a5d3133044607ce2a5efc69a20cda031e4418b15de0765c6bdfec1e27577624a8d188d3c6a2942a6e9c77afc4d851ef1c489fd400f19b1da93bccd00c43753638944436b0598efe8aea545bd11391062599e4733ec4fd99cb59b16a57b07d7c63e245b9eaee1aa637195a04c51d8b40b33d00a08419365a69b2611e60430352c4f81eb423670b76c556bf3fafa602a4cf97caa580f646bfe6d795d35c547509705fef5c5198b878c467eddb9552051d9c9eb0e86a28d2e5896adc3048a97c0681048c5654081160b0ce2118570a76c648344dc1948a644b7fb745ee47df6344b22c8969d08442885e101efd5e66a9de17a6",
+          "padding" : "30473003060500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "7ee548d37ad707c16067c91cd1b3f2d9c212d13c5b228c04b904446aa5d5ec13718c8fb36a698a644437dc0ddf1fa2519deec3316b3703edf450df964242b467b01f4162f555de37b10748dbb26f1424ad671b7aec5821b5a9e14a1c7e321924157beefed43d2effd1128416e93f9a4c676e7c564169ce161cccb4a6bfd000d40ca317beb66905fe2a5d0ceb9b65918070c18cb338dfd2718ffedb160d2dd3f321c025ac8bd8b31fb87408ee0c1100b7ae72c731cf3625601e13d23e6ecac8bd5bd475a37b32fd4e8548a268d7d0df133a4e2c417d124572f6b9e741c4df1dc2c2cd6f660663495d93e1c506310af8dd3cee5c0116702c5d2484ad281c78e7ef",
+          "padding" : "3053300f060b60864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "00369a147162e880067ff3543d2c4b2572ea1e79629851141e1e1ea5a023bebf1032177cbf07df027b655d617b752075f12276bb40ce958c43c5ff61ad88d6f057b1f38b0a5692b4c8711d886e4608ca76a7e4e30492c37a2590ce8b23a9c78fda60d8254fb4d5dc3356a0c6385fb045e78467c6caa333af9c683504a1c5c40ac7affc005bfa3cf75c4cf9f6dc281e701d18554ec757cd62b5afc3a260ccf19d9047f09044c63bac9d3e90164208b3d69d1862c555fe8bbc916b3410584131ea5f575bb9ce15f17dbeb243764f62288d3f92fb3213d94218c84bef34c97ae2eed3a454a4fec5a69852ab12beee94acf0979a1549d2e975bf176f7bb07494f4a1",
+          "padding" : "3053300f060b00006086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "1e31c9be7dd863bcf2c486c18f350c7caf4a46fd87fec097c492aa0630760a3f8c9aa729cf2d16d1f234090f194f03009bfaf5294006a840f9e6ffb33f3c7c8bd5397dfd1ebdc8d0b755a0699c8cca65fe6127bc0176cb64f658d9ef653c245da12b83669625a585a0afca004bc8450c4e8be8cadc0f7cff7b7a793a4eea7d9334778b6326d404cfe6437dcad120e2a801cb408032e0b617f95cd7af90df1641285b082547c6a55c77b8006c6f575c555ba9445246fd5d9b1fe351deb9be539ee221bfe8a0e1813186f19e420766251cf73028cb70bab2965ccfd67c9a9d8b137045230bd976b666df73489f2af2b5bd1d5e39b1f063a8a93f39ffce0fe69113",
+          "padding" : "3053300f060960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "313233343030",
+          "sig" : "b6ca1d31f2ebf35e1410304bfb2841bb600d24f234f163cbf2dc907088f43cacdbeabd0ceb585432286947e02edb6b5d04af456b214023c79d22ab7056e674bf6f124653e1adf12be8805158bcbb4aeeaaeac13ca909d89121e278931ab590d7279e1c720809db409bc484b6bd388f759e9581dca851a97767fe4b017534c1986d8066386c8cd49dca14ad0f00a01db076c79414261a97a353f824a7e07a8eea966bfd87b58dfb93ceecc02d159659b9fc035a29391292571ce4defe1e54f4cb37257401b54f560a4601a5fe39c6898a193547eea558bc6e4cc1d675d46b86b38fdf2f629df7d40bf36eb7e4a46e025c298fc582252b2c17ed7300e0ff4b1673",
+          "padding" : "3053300f060b60864801650304020305000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "313233343030",
+          "sig" : "6522df9e982d2032265bf683bd586618b9b392d81fde606d9b5f629c170279967455c46e4024b0afe305f245a62cd0460871a6d470bdfbcf0f5296e59ceda6a5444606d7c38491d1ae76ef0f2c26398bbb1850138c8830d1e2baebcb8ae05b81302f490ab08252f2dcb13466437f2b196b4570ea78f34bcf9cb464e5f43dc2e28c3819ef744e5a541254be84f9fda3bf688c7b2181fc5943be1e484f01ce80ec01474e09f55fe6ba54fe92b57613fef41d5d67d4e740229842449e5314125328b6bda2eb3baafb623951ea12b1c4827b2d395b5c470ae83da4af41840dbcf2d0b3eca0403995d0f5644f0f6d9ce5e18338fd097bd0793d60d749dcc431ee429b",
+          "padding" : "3048300406810500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "313233343030",
+          "sig" : "258f8575c6a1fb31f6979bcbef23df0d12da874a5f12c6d59225dc388582571f30e0585abe7970b0c57b7c4bbf5e41141f9a484a8c01eafcb1b87d612fce7be6a45d7c126e186fcdd108e9b2a55a6f00684c561d486644eaa9653b0f580f05a9876b9d7e7727d82a3e89f9b5bc790939d5546f1404bc34756caca7ca873a9f64fb8ea553dc6c31a61e302bbaa731982b6faf0f44e5fcc1a7aa81a302597901d772bc3b012b2e10eaa3c6f1668d7dc67ac2d0035155c3e32e4db79af54db3ff78683facb523054dc8274f01c0e52f658f62c62a42ee7c05b9426b5a0255689c579aa10875eea16cb14a529bc0e37a17314c37ee81eb99c11f2497e270a9e187fb",
+          "padding" : "3048300405000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "0e5a02eefe35f7cc3b99aaafe148aa6e904a832f61debe61ab99961df933ba6bfae5010db70671fadf05d7596fbc3a42ba443aca4c046e9dcd46680b16eadb024e822b1c973bffa4a6147c6907e7e5cb5108ed9b710f3a27ad57cd2c69f8c246786d0255159207ea83ec93bd84cdfec3b9d7ad6bbdf3fd35ce4c59f040df0b9f549c03c37e8c9a4a77fa63dc8f0fecae5a4482e766e3e8e7b4509ed700ff3248ed7e2db11c04c8423cbbe86008a194dfd6703c4e172b4eadaf7d179b266e33378809ed389d9cb879d22d9b881442051cbaa5bbb264a3746a15889649af13d3fda9f59ba28aa569bf2a8e79b69881a6abe310d49967edc12207a98431a9c14ab3",
+          "padding" : "3051300d04096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "7d3451b9055c5922fb6956a1296b243f2ab1c3b689fb1619ed07a812414bafe3e41c2b71ccf90ec30a7b7c6cd6499611c3517e0d91cfd832cdeaaf016056fac2b3f458046fb8af03d521d07fc8649ba62331e6ad894d760c78b95c7369c84f68bb573660de2a08500faa131261a81f123de87abc839a8a6720b0ef0edd98113592818e0f027a0e0e5f1d9b6d924949073d5d061296504f4480029cb2422e6505aa119a5006b6b37e68ce866b758366e4ee8b00231f61030e5d221fe26f5ef30084e04c62a7a965cc1903ed0945dffd830607ad579446bb3292d9a84a1c0172486b4554677b64e21bb9a00bb33df7664dedf10b06d7f691ed5b0e9683ec6fe899",
+          "padding" : "3051300d05096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "4a3c11a32aec24532f92b8a4cfa5390ccf67caca60d6d1a5512225b80aa811bc4fba8f323c5d71dc1941a2fe02e97bcee6c7a936ac1f95e7817378eb78a257a25dc9ec3a446503a046fa008df571c53301e8bfca9dd4bb9ccad909a1f1899e4e012246824859306011c9a48d678ebef2398712df229988826cbe91a458077f6e4f7b9af84d2ae5901d73e7ca778f8e9635b37f57386f146202be3e95f42909840a4348757085c8de8431e4e1c91aa667466d899b1e41e691745d73d1e2fb9968ab197ef1aa97b70dc49c25bcf62bc0746bbd5a97921fe851d96dee01753fdf6272cdd86ae5b7c4b3f9817994f898e2ef39738b52e62e788bc878fb446f1f0f80",
+          "padding" : "3051300d07096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "1753bd81f2bccdd8ee330df96e0c03345951b813c551e72dc7d101f16245723df7105b3e815f0e23fd08254158f60a9bff84c8cf5be766d7c150639ed017264d30e568f182c74a7e0d6f6c7d32ebc41d4cff8c09265fe60e8d52f204e6128a57e54a18fb90a587897ed16c50c0b901072f175ebfb20ba3670a5422908043f4e416b5622e02fdcf8d1e632d769d2d1764a537803088921175cc1a7337df11eb006d946576cd08934caab187d71c2184f0502e3827db97976f7485bc34760bee949346d3b3de8ff48642a4ee0ae7f9dd97084ea6f70118e0dc3148a428cdb662b03941f6a505da8a77e00be2013ce2762703c72105885ef2507f9146df1ae15341",
+          "padding" : "3051300d08096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "1ef6f0daf2eada9eb09ae8b7aadf70dd9c511eb427d5edf04c62b6584f851e47228f0e7ed71cb7a0a1729b62885380f132f63d54782b4c5981593bb4a270b43b2a93e7cb727e11acb1eb649d8f77d9615751d1de6f9b596071b61c19cea2d3941bbe66ec7bfb2718a16110f90f9b852d0d69ddc67923a9861e51fcd22d9faa859b94feaea5b3339817c9e6c7a6d8b4a907787279e0f82174947db7d110690e0bec1ebd7d4d36dd0c8c67dbd54e95e78d150ef635e7c7b6ebdb443aba2eaed29c1b6cce426dbd86dcca2ad0c217fd4d22b2806176f45bf7873839d4051bb15cf0a3bd29d4e80ab39b3b92a1b2e058cbf3d3bed89a8c688f37812497d37aefbd23",
+          "padding" : "3051300dff096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "313233343030",
+          "sig" : "3ca8aca6df10b57108c39833e880401c593d24594f3f0b176df9bc948171b84b3d1b80fe11770cc3340cd9d77cf61836f5f3e4ff05b4da313e41fc2dae072adb596d43da649280a85933c7f4044954222f06ef58979e2ad172b8bf4a77729dfa7780adc59a52a255e664a85b1f0412246b0e85721275524197c77e03f7beac12b9a43f3ff633d4458baedc4e6f37ed566ce67cfb4fe392411e086746122e8680e3be330c9ccb2acff91ed8eabec3fc84008d8d3e9a3f8a379f1e5d1923a39ce3ecd69231dda661bad8779ab04dd93872bc3a706408fb5e23a4d375af4637da1dd0437ed9398367e3418972f711021db80ca9eef88823c35ec31cdc1509f8d222",
+          "padding" : "3048300406000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "313233343030",
+          "sig" : "0230849ceb04f40b8a6e42546816fbf497fdef532670ca9828fa9f12b127d7a97c5c2c56f95048c11b0c4c0ffdb1bc5af25dabbb09379b707c7b9902f0a730013437e8c5b20690c58a131f77a57320a8258b3df073c63ba75576a552f65f3834bdb7dcc802b4a92dcc81b1e6091cf0f1403fd376cd53ddf62737af6ea847978cd8edf36650ac25cd741c02cc0d1bd503af90ce0b8da6708e8e83ba5cefb28a033b04602999d38acbf03ba0ce675e3ea4833e67ddbed6eea332b6bad6e92973a359e2228cd3020ab4fbfe9056d18470e15a52de034f7b441cbaa5484a6a5882d706ca49a4621a9c159cad90d2b3adabd71df4bc9c63ebc631ad5cf6e5e2e1729a",
+          "padding" : "30553011260d060160060886480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "313233343030",
+          "sig" : "61bdae14771e75b523505ed9d9f4f276f72769b723ef6de8f0be6bd482b89a55af6cbb6448474c58ab53f25e0680d8a37a0cd6e6d7c1cf87e6d94e88e405c9044aeeda7380504ace1fe5fd1b8241e74708d513f3396fbfdde9a81a814e82413aae10920610a7e4ed2b00d51b54886a811b63b18e6ffff58549111d7fb5dd0331831ed3be62dd4ae704e140014dc83b57298323af840b53fad3ade4d19086243b433fa39375d32536f42747700914c688bd74244d8393fcbaa6a321abbdefc711485dc17bcdf73fa259fcfac4a5a37111145cd2934ca80cd786117073ac7d42b2b8d9761c6130aab683bf5549f79f95a342717679e67700221ab4b021e5855644",
+          "padding" : "3051300d06096286480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "313233343030",
+          "sig" : "6598c1239a83d0c0723b68fe38250516ab689a11a2f61c027f8c0d23877cfac192b03d3beb50c4d6525195383f01ab4a696885bf0f7221f2a4481654019db4a8c463033a8ce16a7e05fd9c93f931e1430be94d8e9d05a62d2d0c3aaf6c4d559b1811b82aa9d37f82d194b86e593c94bac6450ccebb8a6929217b534c00e3e287cd30eafdba3279c97a614153e187be4c2da60167da375c736bfa51239f34690071e0f1f8a73b631553799d1174f36e0c7b7785cc768812f597a69ae74b8f6973084bb272b5fbb6ca56a21a7e0370f08489dc306b0854fc9f9e5aab570d4100d90404f4d9b5c7781fc791759fda49815782b38ec9f58adcd18cb70b2a651a18eb",
+          "padding" : "3051300d06096086480165030402830500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "0ac9696f7b0b311a6814d3e5d63c48a445d03c89df77884af972961f49812506ec8456747ec53e288937286f14c2e41a8f74fa421f4e14996de675d9751200f42604dec63a68c45430a575da116d77bbd38d60577206c743208fcd843578b575908e569514cf93f597075ab0afae8a09200a1743bfe3610736b70b259becdc38b67bf73721814c0134da8e484ff272cb9326bbf2bb769740132f0b2e44812fb54fbfc5ab96123c0d13eb62bbe115cdfe33222591e0286a09a963e20bb0afc0cd7bd2de7aa36251ba7cac6997a52186cf28dbf31ae3f571f9c86bf26a05412cf1e1a4114db0d5c8ea4e6b07ee215e3189afbc0b430d9fd8a5d2d138ffc0ecd984",
+          "padding" : "3050300c060860864801650304020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "b29d1a63166fc63e249b9375636e95d9c054dddadd20e0ae1a3da348feefcca44a27bb23164136a8ca5964afaca45fd0543657801b1ba129c7afb554172abd19ee9edd058018e4dae4968372dea904afc553414f45bfbc26a92172437a699d3040389f0f507ffc9399f5c36956a11aab1e97aba595fb424abcca14ce28928bbac4c4e275fbc96854189509eadde522457e12b22c4fea0aa6a5cc751c87ba30ba3270bb0b6aa1ab580b663e46090104d55c5e9bafbe5d347ec7116676d1fc9100a2eb7c0710f5225885a1796965c923dcb7be7c25ca95458dcf3e48f42373fc3fc55353a029f9dc40050288ee419054203e840ea14fae81fd81ec55797993f076",
+          "padding" : "3050300c060886480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "3eef2851713beb0573f7d2f79fc883e7f03a167ff005bc7ba3ddaff97681596a0fe6d3544168b05d1fb018f89df1aea8ce23b686487efb62fb51601194696539fbf3fdb6087080b2ab6936e5a91dcc940318525a175762a2166632cbb64e77078e75a50b762acf784c09db1d5382c4e517f44873a31af879d208f6420d022f6d9fcf92106306084c945458a67eff8cd4d63e8face6c6ef72121dc6438e025af2b649b8b3f5c6de008fcd672d775eb7d784142a48f05ed2e98a48db643d7f790cf615a659364b89c3ae4eaa46a54f306c784c33572d05edf400dce23da68da37259eb4c61bb418bc27568a3b79186f9cd436f546c27ff64e9a993b77340026ec4",
+          "padding" : "3052300e060a326230653033303231610500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "8a8f0df2852c4277395040054f6a26038854bfad1b2ede42d95dcd03583dc97b399dca21c34680caa7a0676e7dfb6f200d32f5d9414e2130c80257bb82297ae52341733d3d7fd76d4cf0bcf7b009fb7ef2f95829dae093be816df5e22e47a3ad6a106c67365f92ebd889286f717de1b39d95e056af48f918880ab62a2e46773d7880d19bb3e435eb170a9858c22d77c3e9f0d307169bad328b8887ee4332ca4a4bde9023e4a578018daa51b59dfc155189c88a44a4956553fd6284f80fe84a3db08945434075d70cb744aeb0dcda0873db6b768466022e568801d867f79d26c35c958e046cabbc7ad1429d241d4b7e61f04302b900a9bdbd73cda784ef181929",
+          "padding" : "305a301606123630383634383031363530333034303230310500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "313233343030",
+          "sig" : "7f1d64af820f4b91be39f8960c5aa79703d2a3a4414be6c546e930b4bdb3de24090c156f0797e9fa695c3d87c97230ab8e91aa760879af1362b9f094104b189a440fbaa42161ab5f61597fc63994ada230ee9a9ff4abbd16710336265c06bb5c7ac49478df11d31fff267cb7d53a0740d336602729ed5db8547495e36536c9a0367b8ba86fc0cd846da5690f6ef48873141e873c4040ebc6340b4b692cb9fa29b87de0f4f017fb6803f4c063bd1e517cad88139aabade1b946541eb7c1336e9cea97381e49f382abd92b35d2d2b83f1559b635ee72e53d328b731c74b804ce134bfb817be683cf1877d836edd4b691c1f8effcd5f0387028e29929c5942db11e",
+          "padding" : "305c3018061436303836343830313635303330343032303330310500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "4eb3918539959c1be188f0f43b6044b5dae507f4689d32559d8d6d9a2c9bbf5eab57f9c9971f12341e734febbf7f86385570cc74292bc513aee3cb592ab0aa51d81627191bf50365df0e3991ac6fd68166e903ad40a8453f49ae9e10818e8c0b9805354396810787929aa39def74f04afef5a6acf267cb6e7d8ec2d9d5ee71cfbd4fc8799d6662b1ea216f85b8707cd0912153d1fc545a2a2d3499839f93b314efd359641e302c7f1462c5d27e6c1d26a90e5cb09a14f7d7568a107c0560742444ba65c7d41be3faf32e5fe535952ef4c4b6ec04439a7375e50345be06a0e404f0f9c10200d7e33816d26bb38048aa118e74fe4d2794a261b1edc931790e6dd9",
+          "padding" : "305a301606123630383634383031363530333034303231330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "2ea8e4b1c5f02af9bc327abdb99f436133e3ca71a33de8d2c9cf230ef8e632aaa6861cb39c2663ee5456cc0043648d5b9eb5875961cfec7ecef0f65877e1b91053adb77690923fc1fdcf34353dc5fabaf74e8f71b9aa363bacda2ce8e1c6a5d33e4197428286959f3cc485825525243401c9cc7a3299f59219cacb5e77db74b1032057cc955c94cdcb1ccf892dcb07deb1479844e0cf7ff1700b6c8ce86cf4b1cb215c630699aa13e2dd1b2977424f6e00485cc23273d8ee6b9ec128135152b8b1864be5a4512710bfa41d26b93fe4d34e8a1712130c279228c9061551ab2b2ac50a06b660b69a17e3b82fa2d7a958fba1d54d52040e73a4420eb0e66b379f7b",
+          "padding" : "3062301e061a36303836343830313635303330343032383838303830383030330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "313233343030",
+          "sig" : "0fd08c49fd3a73c3dfea351ab38fbab8978c327f8d48d5b1f3748c8803eb265a15c5ff768c1d8d147274ebe9954dca5309a7cf310e5a75728fafb6976bf78ce23cddc97cd7be1c16c9d4a54f3329235fd8056396250886feee30dcf8c23d3e3a60f4ca7b8b4f9f740b12972f43c0571c3ac70dc8e8ad5ec6402ad4f866714158eb1ddbd823f1fa7190277f081ce9eda1236ea094efbd101a365364edc479a92cd4c40a18fb18f55094f53af0d345c562c495fa169e26a78da421042167040d755fe50667bf9063b3e745d7ef40ca493ae8a32a6b200760752ee4f48b1787b109fab89a555b75122ed70c2ebe54547d2e08ec23ad0b5e63f4f89fa441f4f0f537",
+          "padding" : "306c302806243630383634383031363530333034303238323830383038303830383038303830383030330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "09ff22e383647da8f86cf4ff7eb30846cf1c38457cfafbfd3ba0a9102db7cf3c4df1fc9c18d438c2194bc1ff9c1972edf8d5a5aa178aca278b9269574f06ac6d3e532b60fb0072e3637fba5e396ef62092826f44a4268a09bc812f563af25bbff49d30459e463322ba3604b3c2609b8dc42f6d74fdc0e766b47c064f472df5301e57a6dad07a531f84661dccc41069412e3c6aa2ab30fd7babeb77e9f2759f5e33ed6adce6617797c645269dfdd7138a166938a5972c5f59c5b1f81963a6d6872854b36c803a56664006e2f15c332399c349c8bf9ba98308d9fb0276f1b65bfec39fc8b9eb3c5475e6f9e8759cb357cde0406cbd7a30cd56929d9efe5ae5c7e8",
+          "padding" : "305d301906153630383634383031363530333034303230336530330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "aa0665f8b14da337f7212640e270e75a75436ada44375e45e6e976b1549bcb6d5a1d4042f160d5b4a3e7ae6cc8c5485450f94cda3c8c52fc071b4b5db3289cd68a4c48045375b7896cb6e8456c33b5bc4238f92ee242628baba30bce1a8856bcaeab25076414d4468d72d26914b9216bd23ccb77e1e5863481acd26bd2d1706c5f9c65ee84c536bf674eaa9d480d631de47bb6c422232e544f977af1eba39741561b2932f286a22681fad7faf5bff4d3f2d9fb22e9fafda6a677ab7eaa005dda5a67228dbda74b043f80d2fccfb0955124db86112cbffeb1db382218151f4baa2837c0f1692ef9a08529f09792ed0b2324157dd39daf63fe972748810c97ce0e",
+          "padding" : "3052300e060a608086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "313233343030",
+          "sig" : "54bb859f5b913bff81a26bd83526899cfa36ab1f5d0d3f582aa414ad08629d279d694e4d585646dd59ad3fa116e1b7e6ca7548bb8dc81c69b76058b57a4cea6f8db185a02a4fea5a173768faa26c8537a68558cdf8b4fa82b4384a04fe598b1612a7ec357be733546c618466da5175162ca99d9323dc89e9b7fc0c99dacc3c7779fcc1222c23f7375d4926d2f1970f4359cb3083321216169cae055686364c77ee32c339d89ce1884d815cb61702b738436b3f0f9ac3e774c6f74993bf1c7bfd54741476ccf111791e353a991d707f77cd5a52d470a187d6550a17bfa13c33c7dee5da8a07a201ad5a1afdc33e863c7bd80382989fe9a14f6b6314af53cfb71e",
+          "padding" : "3053300f060960864801650304020305020000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "313233343030",
+          "sig" : "450f42cab5828ed1719c100259528c39c2ea655b86f1c45fb8491914f48ea1dfd82b368b09a6b53793b7cd65e1c363a886dd0482360c366a04ac626c6e24717df9ebe0fede2e50b2b2fb5cf715942670ce7ca417f213f6500429ce3953cbea17d1adf4422d56d1598fb194026c40b71499462f240bd778de1162946f3af9c6f72b9daac8562c897d32339e40ac858fda5e5dc9abd6caf4af1b01ab5bf4d99cc86d9d39d12e5d85cd4892bc149da4eea5aea46d37641f3b1c4c15e9bbc9498649e5ff00f329514b890e14bfbea31ea811330b3a3587a556ae2ae53c46e3ebe915d3f3885e6c75f3285c539b95a9dca59513adc89369dda1ef18b064bd74aaa2dc",
+          "padding" : "3053300f060960864801650304020305020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "313233343030",
+          "sig" : "816256d2f65d1e78a763c2eaf69a6923d2c6bebc46278ac9f4f005b40fecad7f9f0d2a06ec69b08195b76b6651d4873f5acaea9a122b99d381b35fc08a790c8d88ea63c102e4fddf6f923fd5d0b048598fc19bd35e62ff0b41ab729d167e2bb33ad8dee0b3e33ad8e7ef647f51b4e255f677b99e491460f26ac488cd35fc73147d6a18199839b747c53f15a25f14ea56ed0a5e381a774ef69c69d976a0a2847a6ed865a6f402c9eabdab4a8c03956213c19a9783aa8bc153301aca3acb538eece52c43bd7c208452681b877e05c66c914a8811eef729185db3630ae24f0d2a7b46da2b2ee12a0de676df07bf3a84195d5ec354f6bdc5287d8b2349eed31487ec",
+          "padding" : "3051300d06096086480165030402030581044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "840b053b40a9778db629e725103848e7bc13aa540929c6df42a55c186e2f0330d8894d5247c203c0659301f6fe8784e165ed253a7bbebd35723917c329fefdb439e784ae7aa13411b9de20cd1695ff3a084824b39c25fc6e3187dec94f28f9335b6e03458bf9e0b7099314dee2ed29228c4bc78d1ba0ee0eb9bb340242b083416afd193a93632a9bd761faf1b78444fab6c8a43f159f486605808ff35af1fa0dbe17a093d1d5f47fd8c1eb2e6789f66d7a4dc74145c8ef43b8cb3715d3c7d6f745273b0b1a7c92a6134ba9bf6d0b6670465fef1c176476d53f26613987b5f363c38fd3972e802d5114904fa6c8614fc789b5a40bbfa5cf5d4fb37e2f8049a136",
+          "padding" : "3051300d06096086480165030402030300044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "b889dd445907633a178a31b9784e0fc57598a6062bdff35cf0fabcec275138fae388cdafe2ce748b89334b54f0dea56f6bfadc1b35f1d81e19c7b633ba0065d3d04855eeae5c175d984d1da2182589e09dd1228a7bcfc118d884346fa9d2f95692f7e10b8848d90ce20f6401a092bb10145ff817b7be159506246267886becd34cdf14aea0af2da54de8f888a5ca1d71ed8a2c213a2c2f963f368a3bbf0cec495f161925418ac5eb5cea816160da64e992670bb900b9bcc1f9fc57a3506410e7e53554f3a8f06701693fe0c3df9fb4a45c1f567cf787d478c409ec97c55f0aa8c9b5b688fb2786bc0a3a20bfe5a57632cdecd75e5eb350f4ae2fc28c9c287268",
+          "padding" : "3051300d06096086480165030402030400044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "538f60dbb84589f86b608a0457fb1f0019d9058b58c6c9578f7d49ad4c9f312c58b868ab5832e6c0f6ecf1e52582dafcfd6ff46f3fceff1a56ebae05adc421a52b33f8f93893ec760a1b52ce9b5b04570be56fe92eec59ce950441a06ed3d7ce83a17f8cad57f8eedc380e771878e8d8191b14ca783242ce005717acf9c9e05bbec4d9fc0d1007bc0aa2975ceeef98e97750e7f6ed9e91200062ddfb7fa7bb070f7b6539e4590d2c5d92b7ace0367608b9b7b879d592c9f2d0152d3f0184c2ca9e50f14f9f3edffcae85f1122cf579787cd0bd2ed2d98826250654e96fa5aff5d00bae6705fe3d95cbda5cb0dceeee98c17eb2a434a18184cd15b08804a9e5aa",
+          "padding" : "3051300d06096086480165030402030600044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "1229188a8f890df59c2f8b9a7ea411329f0f2c968d7efd14e7534a9b2c902300a48ae6d5a32b16fe7056bc697cb3a32b1bebb9a459922b37723740f0169def4228787b3817af52d441e59a548995955cb09938d83230be08cb2ee8ea0ac97d8bc354021589a20f7f5a483d29f72646e0d2cb344f915152c18c99ec04512fc5caea03220a48fe91dca9a53004b118af8b940f62a40b6d9f1876149c65ef2e8cc9a8eaeaced66e415f8de62df25d8e5e94e1ca1e52ea71c926df99e97e967cdcf5e1bcb48aed57bf66a34baabc9e773d5048cb436d9ea196829ff0d8b9f843a6eeed72f393aef10a45b5fb9d9ca99acec4744f6edc2d926d665cdd5fa97b29c003",
+          "padding" : "3051300d06096086480165030402030700044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "19ef5e467b218a8f5dda1f5d3ab6c5c6c275d73292f3da402d41359fb61212309877fac2effb0734dddf6fe6772942d046f89eefac510a5ea511fe8ee690cdff7df4c6590ca9393bd53484630f744ec48c310379994f381608ab1ab356ed5ea1f3077e44107b5967c4a4794cf26b389d92d01b40071f023ba0051e4cb210e31972d12a3a678fb43975a8107d1bb5b883774723fa019a2197e48edc35bcb42781dbfff8cb368e27f6f0d82457ac25713e38340ac5a31cbd4a560d6a762251605badb9f818162e338393ae9fbdf19824de991f459e96b167194c50b223849f9def538507f61daa21c457a4560d7880b6996668024211639ed9fbc4fafe7aaf4b38",
+          "padding" : "3051300d0609608648016503040203ff00044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "313233343030",
+          "sig" : "bac08a201a27e4c05af0ab67c097a77dfab297546f2283c6d8179fffe4116d26c3d9068315594640046ced0248c157ac27e8d2afa2819817e1854f7f8b712bfe9da5eeac951477340b1fb59c85eef525d46e8cf20a0b9e1cf8b799ba18d9ec8cae60d6663c5a921b97d195d1dae5967b288b4a1268a66c5bd22606416bec803c426c406c25d96bb2aa7f58c3041341031368286af25bf96fbac021036321dc4418aa33a49194faefc68dafd7d2239a1d1800451d4906de61eaaf29a61f860f82fd6ed8b5bf4461e8821e91e67fd8a73513014b7625869bc5572a98c048e6d7fba0a22f4eb4a92532aec16c7b6eb762188bb40619f7ef28b77906dafe01852b00",
+          "padding" : "3057301306096086480165030402032580aa00bb000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "313233343030",
+          "sig" : "535f91dbcb5b924f6979f1bdb9dcd1d59fdcdaf2fba34db7ec68c0d5e334149931ab4dde9b5e711ba06adcba7b529d7dbda571cf53d7988bd31f6f9804799c8ab3e193b712bef52bbe4c2561bc27ae4a0f267cf7636eaf7afb11000e6cfd311ad5a3cbf746bba29cec9a83f73ca3db339a7d570c025e20e4416d2a4c1ac0eaf23812444f1ac0fb7cd96f62da9cdbb8febe3e77a04c09c3e64e48c0ae2868e93d42c2cfc97f1aadde8fae28bf942074cdb55e9a04d23090de87913e36407d98a93fa0785e2eff28d7fdc9f80a457bad3a780cc128439b36cf2ed021e357cfab5ab08da906e1b2337c42f18c01cab7754bb085f5857f2ccb19b055756ae7dac41d",
+          "padding" : "3010300d0609608648016503040203050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "21d0dc541ca6f3766392be26516c1ff06add55fb6341641c884814511af5ad230d036ed7a547da9ea054cd509006f7fd11c39e97364b265d3606a06e44971cf80a1426ad76e699f68937be16cd256ccafb94ff31053d9e01fead1f71c838e05eec5c98fa91607bbb3fd17766dd56daabd826c7aec83ae56f1d60c74b06885aa8cd94ae1e105dc96d13b7927dd08f07daf784155fdaf54a42851c7873ad77b4b2508180cebbf75e0c30aeb82988a20301071f338846e8fd6981c11baa11626aefb15c2e83ea87f0b5353ed2a3fae1cd8a5c9e61a5d387aaa989093e1c58960c759d6699de374cef8ff56e42deb6517f552459a1fe84ea1a8e4da9562d3f567c69",
+          "padding" : "3053300d06096086480165030402030500044243f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "5a6b7dacbc1dc464698f2406e9991dcca63bae465a872f62bd9c0626e98386c3ecf7935cb1a6598fe167b61c1c0a8c0b3cbc3c1c911ed56b82bb443838174babb6f7ecead6afb94b371de70328143f367402a55e15e0f390964933e0553ba892bd03f0d42f88e1a67d47b7d9e218aaaa0caac46ad88e76a2f887439406feb886800788469a27c2b911fafec28a23a9a4781018fe491b1876fb514e6c73cbb166ea4c1f1d878b56d2029f277b3471557ca546db6ddfce9f367583c28d14491f82f31e50c11f078801317bc29f6bdd5ad6986e7c0a33d2944f2d4469243fae4d7e3bdbcf6a8b5a01bd5c094b1cc27d772d6f7e5bfd67b83269a60df11cef3b6b10",
+          "padding" : "3053300d060960864801650304020305000442000043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "313233343030",
+          "sig" : "842978d43a61145541fd3421315fcef1e95ca32896bebd6dbaa0a0e856eb0c47d1ff7fb2eb981c26fb8f7d6f1964cdc05f856ec994517f1eee6165786eb12c44ddc60083eaaf02778400acba6702e54f891c7b5865bc0c735e5443043b4d6dd43f8c9554a524b808be58893e18762b68d893a970638d2de3e677ecf3b6c0889bb1816e910f243dd1c4978ae2cb1aac745d06b2a8add4b6f18b71e016ffdd930c4d5490257f9d0e9969900e1b49796f3e3fb3a110b0fe1a00236191d34dcb5b7c2c75a042f9a50449dc403403af09cda51926d8f32875c8c0e5903700e41c7f93a585f6a6336fe48174d1939e029f6bc30800c269fbf85997424bd2624e5c76ca",
+          "padding" : "3053300d06096086480165030402030500044243f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "313233343030",
+          "sig" : "5b85cd70c97ddf46244456e8d4f303239b7e401674fd96f96bfb8e28271abeff96f07776090731acddba70fb758571e6d3b015bb20d5e88981a9b9940dcf1d77a4a61954b56a86c22870c8ed4de7d6d991d3421c08179c03cb4d2625f2255491223c66fcf14635a97b8734c4f823adf99d7e04fe44c2206bad08c82868a25685cba38e275559fc1a8fb9f81673210ff766131e05bb727cdf45a39e1e4352f29dfd9f49ef21528a202da5f2c9ca4abf5a2041dfba41843109c22d89d6295229aeb9cd0a4352c5cd8694389e8d43dd6eee8258e57f085e9f0d39c0ba17a35b0bc036c3d568aa901f1b6a3597c43f00d330a92a39cbc4eadcb73e5e9f39b3762496",
+          "padding" : "3011300d060960864801650304020305000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "313233343030",
+          "sig" : "17116ceb9e397e3070704a060eac2b5dba73e325e5841e13209d2c3e836a081839a153d3afa6b336f9c077d9c6f4ce7e1ba77a91241e41a836d12783239d6bdbc12b1c6cc3a0959fad86d1528ecd4f18ac95b2aa0bca0bd1d7473694ce57e72a30b93088541002b92592165d516cb2797f34f686276a80880f18a24fe18204dbac867c646ab6c8b59e007da8ca119b8a0a7fffb127e7b017dafe6d21aeb112219920ca14ff16bf5a88550a7261e20cce9626191c817991d99b671f60ca8e9466868d58e3588be2254f2a1a69b810987eb27231ff5a0046ed4215433c9d8631375d02db3774f3429de73480a16af9819bf8403cd5794292aaa2fa4ae0a28c8092",
+          "padding" : "3011300d060960864801650304020305000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "53394fe68d3b43c6037d8bc922be22587d2ef728300b3ec7bd0da9fcb8e7f6a3b68e849a18a7720a9ecb2d93b84f913955ee7be59bfbb9f5981844ce107052a1348533ac30cd421c548f2479b978404b984867f48436256db3de8cc7f76912a796418745d42cfa6aecf5e137431eac95c956f543ac092ee53d439a249fb439b2e1e629d86ceb8139b1229355e203ed3d887a340a97748ab9b7884cca8e7a2ca99ebc7bf0d365456e2203d0b983674ebb87a8d9adde73595790e7aca88100b13fe3355d43322d84e5c41cc50824878c8418562a4bed7a0cb65f9e3c6751fb3b7fc79807c78bf57b0ed12a9341be7f5f39823d02f7a3bef0f86fb1a57569760dc9",
+          "padding" : "3051300d06096086480165030402030500024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "c0dbf6f41b307c2eb228f72ab5f763323cc30ac5c3a5f027172e735160627afbe1b5e05dddef7f1cb0bd145d16d128d1a35c03803a01bb2e12f05ee21d05089b9b7070fcfe107194088ce841725433d1b59f3501796930ae4cfa3c20c9176927ce3223dd434f8dc2be9bf706020583f58e73c25d7008783bb30a26fb273efce258e802c509dd319938fef1e5f6a951649a3f461b99488dd3acf45c254eef2ce742d176a58179f720a6578f5101d89f74026bfe2710d150275cbc3b5087e63dbf37c0e7692d18fb53f5b62ab67f51eddff22bbc62dfb864a58047b0d5b83a94c44b1c0aec94f8c0e32b00f3367e505a5390a3d3dd40237ff6f148c6974bba31a6",
+          "padding" : "3051300d06096086480165030402030500034043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "8300a625836213ab8267dd9b2d5a785bdcfc56c56af0d97d648c2ac1e40855581daf13af70ad1f37111e72faf7bdedd1083cbf05de550ee7f43aba0869d254a0c3a6a2ce2d2a801a9170aaaf452b7e5ededbd685f6cf2c52f3f5842a737d56fc9ee99c4ee9d0c3199957ab9a7a584792c9fc22173744b3eb7076a556505751d6e08414b5e7f4b8779ce8d5a2a30d58960cd94c051c0ef6716d0697fff2d9fc79e362b9c03a2f6c07d27024a2a61424a80c331da1fc321b42834759b5de5dc280248f02d80e85704e754fe29ddf0b680672ee27a65accb8233db3775a81eb1a6126d9ee657d74c878be876f6983521a13310ed3035d8069186c2824dfd8b7623d",
+          "padding" : "3051300d06096086480165030402030500054043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "be0398b3e6d268582b4de2a05342d5c72131beae600bdab1f3f13d1e21b42d0b4b60d89589bed32dc00b230102f553df95b2960e451f1a240206330d0eaa69c11d50363bfaf360312aad5d3e9356733201ebc3a69a5ae731e20426263591fad1cfe31e0e87d2fb4027de3c57fe32b15c275b9c8f7ec166ae688d625674dd4efc8b5931a41bbb922e2ef1bf7dd9bbea8e98f1556f8aeb99baf2fb848e5e1fefdbbf73d61013171f46ec4f09849d7e7a2388f7ec05491556eba3a3df18edcc9a8db46e10b13593fe37beaf1646138da87e61a98b02b33297cc0f4d7a91d6ecbac28a159d410af25a8b8e653a093a45c3ed19e617cda1709e8b1854cc1028cf886e",
+          "padding" : "3051300d06096086480165030402030500064043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "6bab815040a7ba6cc82af2d5449931628126eaacedbafbd28673003fe9f5bfb2b53de6700081477f769d9e5456b109250c9409ef998e334e44e132a88efd33d41c8395fa0ebe58c871b289bbf20391db3919f2b51189b2d51f900829df95f5543bdc62be8f94272ccb620a841a4ee4373212b853cdf1d079ee5256c188d3fa17f91d651ebd522b60b5f3eaeb97b302a70ed9cdd05bf1212f9ceafaae5309303e16f18c4477badc580383c13a2333910f6665fd08dca1597f216096614b2b7956142735fa800f5d74a422cb4f568ad9182e0b96e49614e129679d46b387825820017faa81087568e87ef13c89474420c613bb071b5c295ffb9487805d147c7cea",
+          "padding" : "3051300d06096086480165030402030500ff4043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "313233343030",
+          "sig" : "87007220bbef1a21ab37ea2b757caa112233a61688a0c0ef1d454b86843c434a98f43f451d6eba7da2e8a82e52a93d44dc82d2a0734c69a1e9a77265fe9315984ea2971e729abafe4f7adf4b0bbc750fa4f59fdefa59339bc838d5f6cb9556aa4498f8e596c2d50516fb540bb4ba98b2d04ad3803eddf55767ac7b121b909c9d435d49dc6ed03a9ea0a16d251e63459be47056e2341c239ad4f532fbf4cff50ad3029da8962ff09b4c5e47ae29c28692a53d492361af254ff86e99468e53887708ff9f805894896ede5f7d04530c0eaf6a2159d390a63ee154062789215c160895cc9b8c4a6afcd31b1d474b51bbf157f95e9f2be6675844cd3ac9c4acfd40e1",
+          "padding" : "3011300d060960864801650304020305000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "313233343030",
+          "sig" : "185d46fd6c9c3728852a39c11a39b1e8117da5d2be36ee12d7f87c262983690189775eba623251e1d28304bdd7e94d7e9bac6114e4969ad2ccc3fc45b94cdc5904bf3f1aa62cfd8685b2a7b49aeeab673ca2de7b73dce357fa38e1d6c7bfe79329ba7f579d205b4f3c29559baac344adb2db1d5f90ceb542943740901193997c31dc1c5101fdc354b47d8ad37540bc1058ce57a8afb76cac731e03903ebe880ebff1c299d61ca2d3d48204e4c37cce0d80b7458fcf552ceb225e2bdc55c58b3497339ce1662e7064fc59c342d0ca6e6798cfc7b6457e7284ecb5684ef9b68ebc257532a8da54cc830aca53d091fa60d9e1af166aac5da8bc56b79eb9f8433020",
+          "padding" : "3055300d060960864801650304020305002444040143043ff800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "313233343030",
+          "sig" : "1e28082a4d00e25231308b793dbdec873d93340a3e85bf0b1af485c4be16514322761d6e80bd848a97d394e76b647b79bf25b23c44cc208650b7877435498cb4e7494145fcb43506e58f15b83fd2a25b3b93232c1f9cfb748b8f83cc961de3fb3dd2856a36d63af7ea488272ebc0174982a7e1f1873ff86bb219dd87e25509f11e47b1cfebb895d9c6745354dbaeb8c5842377b1e9326c28a489285fadac25912f9fd971a8ab4b4bbeb07364dfd998f774633269b516f889633d49351f05008766dd0556aeac57987f3b18db2ca056042068f1ea4fa87bd90fb06c6331ede38ed6ac3c77c3431e30f4c3b977c0e3ef635fe59b0d884495c95d2342eedb3d2266",
+          "padding" : "3051300d06096086480165030402030500044041f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "313233343030",
+          "sig" : "1dc7a0aa238280e0fc150a9177a3e4ea9579d6383991210c524db4c07871edc5b89d3c8aa45a27351581366d887bf1060393a1fe62870938805e97bf4aa055199fcccab3523131469ddfc4e7436844fdfe3c2421f1c2e4853d891edeafdcdec7b3e27b71b41e1b055893fa40624dee585898b194942ada5a143bdf2a8d04fe06c449e21093c8be5986e3409c9730b0630c4f8d2b759f50f92be0a13876f0be20e8132f2134e221b9abc03cbca36b3a47cc865bb24806fcbf9b3c862f35610e240634bf97c28b459978f7da007d29e0159fc1f3435a8c4c5c232d4382c9d2d16e168eaf10e1cf0db41fff58807c979f5102925aa50dd27567272303bb4cc8e70a",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb34c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "04784d6cfdd749438e88a2e61defac5f50002bb0607ec2b696e94c2d9a012e12a8a6de60a08fba0bf4e372416cea84a8e93fee36276eced5fff257747e3a535608b446cc716887d6ab64859ada40222b86dbac347e5528e65b70a2287319c57addee766427ecb491113014389409214e87029cf5a219108dda4f1cec11637c7290d3096267ef7a5c433f93cfae6b54d4af4da4568f4d88775da1bd94f93ffbddf19e0cfaaf2e200b71c68df04188678ec392fa718d89497feda1342a2100cc8dc7c9a616981e2447b0235241bcb48c0d384dd6e6c4f24f3a1e2754e7ef8348160ae27ae207c72c74866023c35685e1566a4df12d92fd5e7b44188f56e3c00f9f",
+          "padding" : "3050300d06096086480165030402030500043f43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "65acbb86ca80e6a03047a2ced4c4a461835bdeb42b27845fcef96711bc0e7d3d3b8ee95a87dffa2287132e01d9ad7e07c230fd6d2c1871aa7f113c42174dcfc2a78f2442355f0f10e68749b0ea097a6158795ca0b236f9c73b0b1af7de9be110b244bf8552105f35c761dad993323bb33a03b89ff26c312042073f1eff9807791449ec52a50a8799d0604fd35ea1d10f316843c1ca780cfd4af1b695daa0282d6dc743331d239a087f725fa67980c7ba1515326cb82faa07711df1675c9deb9960955bdde07c8e1f57884cf71ab4bed2b1080be4f4558c3f5484c578530695bbb2ac3405804aa7b5df4a301713c18d4db2c1f9378d32bd5a94a0cca2ceb4518a",
+          "padding" : "3050300d06096086480165030402030500043ff800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "735758c0d252c3d7eb0d5f7d9b1fce3f3bfaac9c27ab9c64d9dbe53d5a20354a1bab7d7b1da1818852f9d8f3fd24afbd7fd94709672106d7b389c1c07f7347b025e49ed058406bc4e0cbdaca5f550e57f4ea07cf924c371ad89dd72a4b5bbfe95e172436b5ddf10b564662a36c1762a88cf94cc164ec65b538ff8c8d527dbb09aa2ab60972856f1b4fbba5fbe4d82ba53cc8450feac18a276938a3d175095cb7bb923589f54e721b836cec671f7672548392196e1b907afa5fa22f8817d628c922cc1de6c9ff2dbaf691bcc7a53b30d5b39ca8acdbebe6992aff3c28ebc00bb6a91d3714e6cacd42d99653cb9eb3f148a44fd2cbaab35336776e73657b756955",
+          "padding" : "3050300c06082a864886f70d02050500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "ba75b94a31f9d4cd88ef2cd76ffd0778bee027436f66e9daae2859c331fc57f0ebf6d8843e5897dcd8c94cc775a1546b84ab6e1847584f418539356e50e59863ab15e56a7ccc96bd96400e0b6a6453bebb6d7f9db6e23c59048cee4cb6ca099cb4a67d0df948822195379d01c7b5e3349c4affc78c402a02572ae152904ccb1997b96f030f68362de99a381c6079e4e3b6b0707d17227e3e2b4baa1ee2b35c434295deed6f30501e5a068400684416e5bb0966b4ab74c1bd139cf8b7fe09c2572639c5b87794a89cabf9cc47f35ddc6ed5a86933c564eee6e6fb4590ea20fa012133ea6178780a2f009af14b9e5fd6c298f986f61430b279e933d6d234d3f41a",
+          "padding" : "304d300906052b0e03021a0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "61a425423adecb5f5f407ab11b80b32f8ad08ac6a1a16cde833f2d8ddbe6bb311ac30fc71935337a54af6d1509ef70a01b7fac6db659c8de7c5839a700e98e0f6ff4a2fa9b60fe3ae1b09dab7e8f56ea96e326d2116bbf65016b7ed600339bc43c4cdbd05dcd20d8d46dd324833f2c3b39c85aa7cad40313c8523a5926e6bd7dd2335136f518c44e745a178e92b71199fd6c7395462bd9328313d7ab45b3fc45a91ebe4f000b3c84394713a52ad986496bb2714232d6edb11c8cc43257553526b908838ac81f2b566bf5bb193d7ce7b77109c9bc71f70b04e52d0e6d106dc148b61b6c758b79c7259099b09615d43532c8845cc136e1ffdadcce785bd406b785",
+          "padding" : "3051300d06096086480165030402010500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "409aa4fae8fe1e807391b23ac3a34f9b83554a4765526b3e508bd0d51c054ea3542e6f7853c74ca5ba675833b7b7ac1611e3f4b6d5a88c8b045d45690eb7713d491bb1961be5f7a788c602fcaa558aae928a3afeec262d54cabcafb77ff9cbd7ebda3e0d8af1bfd2ea6a441b99306601a7f456f50a693e0c2489470277572051c0d443b34126cd8fb46e53fceed29101a82b5c0de4efb4dd48cc45bd383c6c208903ab4640de5e6ae7d2c7ec80590d979150775c167e7f2399c9df892c929d8c71c8f084338fac7798742cde063c51926dacd683c2435e3d6c75967b732d2040d89ec3903da1ca5a057bc2987a0cfabdea681a6cbb564b96f320170d9885220e",
+          "padding" : "3051300d06096086480165030402020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "697ba35bc32c2ed66e4231a7c98a947b99b67484bbc3eccdbdbdfe8c926b38c484a216bf12250a425004ddb4cbbc1e47112dbec6393bf5d19ee6a9d46cdd618cec2ac8ef12518c6147e524910e8b0c53026b44359f003aaafef681b0ac4137618c3e571ff247b67daf347058fd7d3c145c8e70f7bb5018ace902923dfb002b08922f0584f120f39d94e7f132ca30787b5663c40fcfc93fc1920496f80a4f47b37f0e668cc7a6ddf39ce502badfbebdf5db6dafff8c8abddfdb272eeef478c09a70f4c286c127832d98044e549e20901c968e3f327cef80ce581487438e76ed86d384985137f081ba7995fab6ae8bf9a8efdc8a08f0fc19dba8882ae716472a03",
+          "padding" : "3020300c06082a864886f70d0205050004103fa6e1540a9e5b94313c5907267a7331",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "5d71198021ef4a0c0ed77cda6f1e7989f023f62fefd5ba81c70d31e1a6a1c0301e4004c2ced7acd9e98938b7faa1d20cdb12b9cf6ac59c9501d8f733b3bc543669440e74cf63be3d41d8b377c2a222cf1ba40cae4c24fec5033bf2ab6860d9d0312413ea8a3446e6040c6166c06ff5bd1070b5cc5f8693cbcf90c1e7ffe562240885ca18c181c86cad85971c743b1f70a4882e0cfef08ecf8a3dee55273bb06bec7dc19263d13a3ac887cbb27510d4e45cc4f183ceec9117f4b0c7ad4af6a89fd9e85bae9da3474d0be8fc42dc9fc1e7a6b98ca1864037d76adde226ff72a609495ab76c2242aa2391b21a3e8e3164e98ab6f1adaa5fb3848eeb687472699508",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "aec1eca91968d08b4bf15b9c5fddd9e7a6a20be74486502380faade04d84d9a5916a6c0ef2dccfd5ac7397e76a301096732584e8442f20ae80627588961cdf97e344e131d79e6894be6fd51b72122bc2654d00f943683a8db630d35c6874ea56f908eea64902f18c0a548905b3c13114e3526f3d6ed39061724c8e9df498545ac7f455c37d2e05beecd47c15181161873925049bfb4a671e4d1901a75099c7edd6499268229353073a598174fc937f856fe85f950e9059496348d0a1d9f98aa94208d66ff3f58792ab0afe27075b241a636f1b5835f4a4b330c6f9e032a736119a1d8feb99f6c22f3490a82a65710abc3767e81ad70a230ac4b1db9a327ede40",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "60899366735cff786b22572d67c50af5f644bcdfd50c559d989018efb91cc888398ce3b556d8ed134627827e7af0ffd5106795ddf96f988e581d8498ac2c2ac9ac5195d7c15bca548ccaa070924c6bc8de828fc08f5e74b8eb7cf94477310436b9d139e54e97a9764d0750182867e00f0f9e5b4b6122137bbb65271bda16add4bfb9bddb3d8ebc063296d9ca073c377e56993cd5f3f1bf229e0f40ad3efee00fde0a9ef1604f01a24c20d67fee04fe8848cd245a5b0e69d619dffea08fe1afb6cf075c2594d00cc6a21353656b1aed51af47159ef88b61891842a6eed6c3d294c1d226009d457e4c54108f8ebf4305d0dcacb07e60b51976c35d9dd5aa10b9a1",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "a5521057430948701805207688507441e3ee85b3e8ef9334922c8ae9a9a8485f95f5747778b2f7db8ed3df6655e57b03022bc1244d04961d6ee57e62c762040b581bacefe7e5beee3fd1613a142baa6ad106e720206cb119c1884f41b90e3acca402b18deb5593c3f2d9d841e23b2f9443c13d450463b4e272a08fded7f00d26029f7c0478af557d41e7285c48d9a0ae3719a95a14bf8b9e25351c7513a5ddd86a2e6c124a54be07f29660bb09da8fa8e484c0c930833fd727b429ddd2b8a6e1626d05f6265bd88eb88e9783123a7720068f590d566d16bf19b474d58ab5ca9f718eb5d432d11f6c65e9325a2378c6588c5c6ee89edf7ac708c93bb9b04a1f80",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "9c0eb700b26efe50ee6aafb76f0a996890ea71533c374286ded0c21a567afc5bb212e81cf80cfd6f2d26a3b27fd7f17a4c976f093b240fac274a2a22969d119ebcb26f81ae0bf5641dcef96510757de9b0e7b02db74efc1ae55c55e8135320156ee9152dd05c922066aa895319708bda1c7a9db1890ef7cdfe7de3925f4c9852a8679f4d71714cabf8fe834ff442794ba96c2f1df73641eef076b172ea846d7649e9a42bded0a7da4647e07ed4ad8c1f2d7858f416fdba4d63b7ad80241d8fd60012b3a77e7e0a759091274d350f688c8a73334a6c0f2cece789042cbc16585cc84150278bc3465b3df701533674d272c33d06ac852cc4ce6648e35cfe60da60",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "313233343030",
+          "sig" : "084fc83861c80ca0f3c7d5f063916b2de3a1b3f93d11a5289ceb608ed3246bdf1fd79b7bbe22bf40ca7462d6689f1f50a53c0fff60b4899cbf86825f8e834171aad934a06687787c7c833cb4c6a2172002445389583edee72ba4d31a6c5cd09b1bcc18c3358faf548369af125a915d47affcfcd30f934b739a62ce37ee0060e568211ac255ed9481f6a3a871812ca2e86417b807e6d352b0aa0ca078c75319a64bdf4323a34f379dc2699201b1d6ab1599ad02c2e103499dd7cdfe0545716e73e400ea298005481288d384b76f1bff69dab1486921622fcabf0733c0bb392c3a9876d168e0a0ed453d0e020bcdc0432aa00ebcdab36538d616d93cd01ab3a63e",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "313233343030",
+          "sig" : "471eccd41ca3c301cc79447afec99925611ea09e5701fbba0ea0458be7d77b35e798452fd19865903b33e2121d4f21cbd0a2df7e2d10e8d20ddad3b9f0194cdac071a3c4f4f879ccd88fd03d761d4cf0770abeecc946a3dcac65e1f4152b833d4a43b65777bb146099800ae324479d98f623c5321cf9d0aca42ea93cd9df23f5bf27cc128f20ff41d9a5f4048357397ea45463f04ee665bf4e10630a006f57833ddae1b3704a6f50f5e2766b3f0c700c21160b24e0666c54eb3661f13cad3fac33b0d63860262e6759632204f0f87a3e1e039e38c15359c99cf89942cea589d78fd3710a83b5e9ab09f1630fd7f9d7a8857efd763d361e158bed5cc85b3776e6",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "CVE-2017-11185",
+          "msg" : "313233343030",
+          "sig" : "c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "invalid length",
+          "msg" : "313233343030",
+          "sig" : "c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "empty signature",
+          "msg" : "313233343030",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "0",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "1",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "2",
+          "msg" : "313233343030",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "n-1",
+          "msg" : "313233343030",
+          "sig" : "c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba748",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "n+1",
+          "msg" : "313233343030",
+          "sig" : "c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba74a",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "-1",
+          "msg" : "313233343030",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.json
new file mode 100644
index 0000000..f33246e
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha256_test.json
@@ -0,0 +1,2095 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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"
+  },
+  "numberOfTests" : 230,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001",
+      "keyDer" : "308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxv4jeSVmAjwmUofFrG9x\nVBwJlNEdBZ7mQDmG76IcJLUb2R2IYvnfeaTjKOPifIPfJgslqbQ0IK/8RLUejXUl\ntvKcNypAUQRzIAdSemLtgvrHP0iSqA4JaCpBpYzTRwF/O+fYATNPktkyGq/VO1G/\n+r/HUs/Mrgse4Dva/55CjMHBF/GslrT+I/jCPmOBGGpm/VkokzmuVcS82tv/hKva\npTIkDU4dKLLQSB2t07JGVXyo/hgJKBdzCznm7jeP/MhbGf/ckWqbmRprZtSpx7q1\n9eejciEBFC56QQjBXVc7FSieB+RurqB7QsKry6Mw6ZVUtGVhZbtMDbK2OToH7KV1\nxRqTxOFb2w90eQlEfj7+NMZ8qJVLUw5WogobbYTUXtG806pY7AbxhO5YV6qoGeHM\nqaJvTijWuXfTORbbmJbSUtGvp2Lih8sNOEzHW/5T9Oki0C3QpIHAQuLTBrSzwYk3\nHldbJeAAWhZM9p3Ql25NW+R2gG6mvmCE5xq09axcGxIDAgMBAAE=\n-----END PUBLIC KEY-----",
+      "keysize" : 3072,
+      "n" : "0c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade",
+          "padding" : "3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772",
+          "padding" : "3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e",
+          "padding" : "3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b",
+          "padding" : "3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11",
+          "padding" : "3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "313233343030",
+          "sig" : "8b889902d581f3be759dab7e53cf3419d5dcfc825d203c736a374f37ac5570da2b87239c938bd299691a46387fb47ca656bb9ab639f6736207e19680ad1a0c7a7818f2498ec98e4693c51bfe414fcecff4bae7afc6db0d72cb9dc447e2ce4ce9ff435b9daa98cb125d77b7c7d2fe2e39ba15122da11bf19d341b9878de33d3cc134bcb77b9963d19a3037a67458b17eec462eb0d7eb7ce69b71f41287d3b104b45757c76440f370dedb720a0c721c08c055c5b815650737fa478898246d36f7722e913c0913612e753908400bf6b456f269538102b778257af0c7c14339d0ae1ddcbaa357369a065c0b3627cade311a627e1e3179514cd3761463eab7f9485f6651793cdff282daba9b16c2f79adbd24ba54ce4890a9685ca78d73e8785d722825c9fd22ff327b97f38d5e0b95f449928114ee9756aef5213eb95cc40774fa1733fd02bf37cf5243e7ca76f88e7e3fa8d28a754b5adaedf31a91e6911688a6149ecb52eab8024e72e1bc3a98579d9eb242e08fc42bd491e3b0924b03fb95bd1d",
+          "padding" : "302f300b06096086480165030402010420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "46da0267738cab66df530dbea6fbbebbe904ad3d6ea7e7a06e39a3b5f3e38bf5856624185080fc756941b226a52c8e6126d07714deb781f6f7944f47147c680aeb0dce310c7d6f429429ac73e562510678c23042b635116174a2c2f4e8e8becfee1e4ba3cfbf4e2ee541c7f7c27b1916a2aa165cdeeaafb9f81c84e9754d196c3a9bdc777fc55d86b6bbd16270bc4d3cc75c2960f2a7a661105184b436a31de2cefad722a14abc1cd2f2c75738b2c81580fecff78d7d385b20d1a03d4aa2c21a168e13da18fd628e34be16d821b48136b6dcf7594ab3e1243c0a2a9e785fe40436cc6fc460879b673b068cd35a9114b59c2dc61fb875310e103610b74aa5e3620c51a257dcc3b9b0adbe774426ede0f779ea9d370f18a19d8844ed9f5d90ebfc4e0607a467645711da2b500840d4851e3de63723283bda8d08acc51a012699df0e8f5aabe269206f93ba4ca6597e17cdc01d2ead46b5dd2433b82237da01518ee3168b133b6a42e9a73194fcf9162b71d08528254c34b20d692e141c657c969d",
+          "padding" : "308131300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "39c1fd7fd0bc4578c3370787ea5a133e8a34ec9702dc1456c1ca7f8c3cda7bdcb8beed72e4098de5ab3e467f325141a324ff55af1390ff6f3d0cdf680f4319378f099604c9044025e04ed1af1ba5c74805265d8963684c7555cb835e8b1bfc162812698679e47b96744809002c805b75bcc5233f378fdfdf3e56593bfd6b0228f416f58b4c32ec0c2d32fe113cf7f3c347425b69e8bda1a2c5bbc3cfd0c1bbc609086d91175fab0adf050a8b3e904fc4a700d747500433fb72c55cdc25bd283d1bfa1db93604f18b8960127e9b7080227235e6ce234880de8e3c49d5edfa205140b8ea383e546e0bbd4c5dc59d0c058670ed91a02a3bee241ccceac20d434a442bf35ec6d5922196d78b080b1c14aca63b827434679d7b6e666db10dd9a85b2da60c6b47fc97979974f11b6051fe9378d96c78328ccf4e5cf5c120c2641b3f6b7abdfd0832fbcf59fd3787100032ae65aef2b076631788e7be1019feed9b863f39759525be659f3ec50dd7e9724bf6d09d8b771bc60e8a8e788ced8d945c89ab",
+          "padding" : "303230810d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "c0fc6e5e9e1398d0cf6575806d6ce8c10f63d414d3ffb7d9945b986362d9da16d61e9e662ce133ad6672964adb4bac861abc4693286f826e4e77cfd72825a4d6dd03c8befc8a9712c12b0a4c2e0f3128878bd9fea55b629abf7029cb7e9cc381fe6b0eebfc05e8a8666c661641fd247ffb6e3c25bf435283a21b2b785b9d4b0b552ab3538e310bae7f36af1d2c6697df7821bd469a10dc53f007c7a240910f9f137c6d59060390c41a32edaa8f49a5b28484f0f69d2f8ac99bc04ef06d7d8cc6e850376c9e66875d00282805df54398bbc5bd8e8216943f845c89e59fd6bbd6a8e2cdbf148c656982440bf2ae364becac976cd8e40a6159b366d8d0522617f422531bfb83ac8bbac33f6b5c8c75bfc107fdd17d3cc4d54c66cf5bfca36cb1e3ccf4383080f18883b890af744b05279111095d6aa0238a86a6f3433185c3ef37203c9bf46ef7bbf3cdad39072e970a1e6dad6983e8bafa6e50a10a6ab7a316a6104e1361bab2837d51735fec2b81cc79ae415051bef115231f6e526201d0cc6ed",
+          "padding" : "3032300e06810960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "33e76286146ec82e95494f798a413f2569722f1dfdbba39e7daca5d654fd9bed5b25272fd3083d493ccb228b9429f672f5f6aecaccc3b6b66e6cfe2748c55c772c7becd12844369fa7283a95aaefc7b7e6b444ef9ea0151655bbd358ba6a42a4b2b9f9c8ee8dd805724bd8fa4d29e322d56e997ee1dced90e10b80a4e2d007985214be77a1807935b75a2df81b9c87b177515bce12722b1ed2ba8295df7342a707fc02f4ac1b17b9413a1f61015c4ba998ae75fda119f20aac84e921bc5d2232f7bc9c6eb29d8de3c57f4bd62cf73fc20fb6759db4f9c47988155bf73d4102bd78b09cb88905dd0be0b8e613f076cab8cf89711670a1ccac6c1b9fd775b05ea6bbe25ff038bda5fe828b561d7be73d68d881fa7b2c3c3cc513da9e19105cc99a02fb3791becf89e7419d2f430713de41ba3c439e6fbd4531aa0949e1fe8f3e910183e75b706083ad11cf3aca16bcf8dfc606ce28c2466dcc111312f3578bd41af4e190436f5c382cc14728c7b7e3f836662acbf7286e621dc5e121d5f5bf8af7",
+          "padding" : "3032300e06096086480165030402010581000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "0679679d5be320641d3f545816d0b04741dcecbe8a6c0d1af3ed2faf80449ed184edc4d1b58c54173a5b26f27ce50d8e6562d9dfa425cd732fc08f47eab900060dfa975b2b4a7b30403557950cbbad3414e61cd7fc004ab1ad7658840d9eb5d001d82fa8ab862ccac8eb2a96fea79fb58cdb05a0e8d601e95fdaaed3c4362d1d6a4e8a396668f9a5d119ca32e4a1c926563231e39bb8d3966f2d986d8ecec22f361c7430636bba2031c60a8eab06ae56d3c491a301a3a5be0e0e0a1daca0f0c90945c2b81d0c873e4eae4b1790c61720f0f7df2d56b9c3a21216d604ce550c547e75bc59c401ef1ea588aaf43b7a17bccbceaa47cc62090df5a7d5a0e908c25d589d54be59b2800a5f6ad29599a01a51b82426528f311824e801babe52f2ca2fb058006f61c7e50b621fd44d4d0fe5e4cf92b48afbf6c37254b82100685c6f57b0ff32ad9a17240788366586a5c3a9458bb5169026cde4f703373c7895b3c86173ea9f24ac89e7a218bea90c1092aebf4cfe7387fcd61fd1f13f3230193a009d",
+          "padding" : "3032300d06096086480165030402010500048120bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "530bfb86fd2a4b31587767d5809e5ec2002cbdd9121e135391392c242354844a9b4c8993ae61bd85810a0ed240203cc4be48ded5997832570875a7b775206460067b30df7c3b7f7af9d98e436f0007ce0d6360de0c1a4e75912b885d1154ebc25df90465ecb5f07a6cc477e44d3579f3a629bb49b7a19a619f44e6b630b684f3ac4daee5eb386dea0386593be825a696656e130ec0e4a4bd5411c45ade6ddb4a6284f343b0a746bbaeaf03cef31120f19f2845dd9a7fb818406b0cba91598ece880836e0b17e6f375b8941381d0b301d0ed1bf746c992649b40899d2ed2b39d488981970cea6da2453b5fc85f23c8d671a3c7544f4a7133fb500f5448da44d4c405bb70e85aa3aa399204148c01d1a79de3f784dc5a9141dcb41872461e62deca48dc567b984ee80097a099290e413e575411faa54f7f3387cd7759f71b8013ddcf9ff2079503ef802c54fb731e3131316c93182dead523f41551bdd3a96a4261bf6c3dc72a952ed4b7cc95d116741c653494b5ba8ed9aa565ee57ad22a4dc83",
+          "padding" : "30820031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "94e0075930de07ea37f0eca5023be15c472a674513654d837befcf17765225c73d17e93ac4c69d855027747c7ab81c6bfb3080ccd5b6dbdd41e2ea4871fe30131bf2dbc143ddad0292dd4156c60cfe5172fd9703729daf99b2067334af23a2aaffd0f74d574955c406ef8ccb1796189c140d1a45701c993737b9de11e44112c4df9a5b2c7ac827c9329c5f63f4bd740f3f1baf69a8fb6b69ddf500272beccfc2f24902c592b91de99783242fbe9767f3809b38368f04b02d973c761fd999b0c69eab43a2187d6de4fe5455e070e20bec5bcb8ffa5e439b04e3883804a5dbeeae652260a405ef5e2e6b9b7bf7e8018065a900cd831b05674a093650644c42341c3f5429d59fa3aa93737a6b525a80e0748518cfe19e6a4de792d3bf842e2a864f04da31a8ecd0b191ea656f1c2987a1973ba1b10e16b09524a3cd07c96814b395b29ae1a434e76bde8e0b6e4e29ea3c6871ca447fddf077f53a4c2c3499c7e96dc6de112cf28ba83d8d274ec03fcd1d570b74e22ddddece554b7645380a2a7483",
+          "padding" : "30333082000d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "92f154acb89d20388e78100191d964c992a2360f2d205a5f008091439f454f865d3d5ae276adfe4b552afae3859a71acaf151eb04696b6222a07e1274d6ac314a60090bc928164596e2de56e77e2cee607080a293b71cc8403bb2466519f0f14d26009ae7f09fd9a41447cf8d26fccf9a564cf3849be92d9e4bd2b3d7095087d43e462873ba0534ae512fa8edb2884d9e1613a1ad3522ad9d449f78cdb8331c35502851e8354829a78c56df4fc9ebebbc7bbc468f2219e93e4c524b3b8a55d7c997bf3151848ce10bfefa6f21207f2ccb2fe9526a0bfc417c239a8362282af93124a0ed209534dd540bdc8a1a08613587a1d62baf3530ba0297aebe6e03c2889942658d50f80f33c6ba0d021f9703933b2ba4a24665bb23103f0498e68a0f5094a9b9a7ac146bcd5842039dfe55191f06a70f103bed094f7adc3c3f3b4a12f2cd76db1e9ca7ad3c9d8ff41811da6adf3a9450cab6170e74270755021fa6f4dbe3b1226de09a334ee82617ab44ce93c6420168f6a75224456910b907ec2de68bc",
+          "padding" : "3033300f0682000960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "2f2fe9ae01a02e6d91f4fd785c4cebe581cb323898e110062c1808801f822cb2e255f9b2bcaf2691e931df9e15c7f876082e569b3448cdb88f44b2a1e0665fce0ddf27c84ce4d9586da28d401e76a54e9e65f7270b0c34e64a7eaf720bfaceb063f984359f38816876d3253770512c5beb06326a62c86b7f05f394b28d09d389cef7644f03acefbbace66c7b1e3de93d39d831b2d27d3998190063adad46335dee71194793739780678056d7a7dce03e2352cb9b22fdd4922cedd5430a3f56d96f9b2cf22669bccb70aea9108fb81d7266d838bafdf7b707da06eaca841996abbc3637a9c246ea52776455b80fad6810eb01916242b3069d333e541b78778bb0e92faa4fbe4ef7feaffce181be52eeb5b6807610f060a93ed663028bea60de1de63b6f69a106d61a93929b6da73f41de02c58572083dacd98e0b11f57c16bc5f0e3ba1a95faebac48c42912a791488fd96322e52bd022d686582eb88fe85a48348bed36d95947f39fcb17ed2512974804c467c9a4ee5e3fe586bc54a22d65c85",
+          "padding" : "3033300f0609608648016503040201058200000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "5af6ce6cd7d8cba3c9be3478cb3ffb94b16c6e6880a2667790cfb8818ac081edd53d49cae910f9e3461b18087504525fe0a97f8d6536829eeb16b0311bc0a07b8ffb061b8d749894b0ac1628a9d8bbe62f69fd1b19222483980145ef76be38f6b497fc1749387f99da7fb5cd0ab7e1a6a186a199ca9f86902c08fb495b5458198bbfa57637cf86fb4b12f7b8e59e0af3336e2fbb2f82cf36193a7c06601b010387e86ef6eeaa5aaf7be0a1b9bcb4a23cfff0fec5f3ab645cf9ae47569cd15b55811fb65be2fb83f4c2f376419fbc6d8a2e4c7901a97c660a05cc9beb925a7dacd91bc97eaab1a13f3728187779635c6b9f706e59a1589ca2974fd1195cc07528a024aa07624aec1b0fa39851e77fa67d36cc11552f4c3c91dad62aba44b989baa54a4dab606559b637b6fae9eab10af9ab5aa156b2bbb169a3a8df4bf546aebcbfb87b620e3aa4530e29b9a4a2e18d859db2c6ac8378ea9b36c3c83d292dd6db85a3e7a5f2580d2615027db3731d80c43c917c2771667f2f8fc2a105223fdcbb",
+          "padding" : "3033300d0609608648016503040201050004820020bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "3e65342b3d9322ee9b0473f54f0c3be5a17f56f2cfa5a8168bcf3001ca1256be867d3a575b07c3d7d020037590aa10d75dd764a1d57a123976116286ced29b68e3b625c3ce0c235a629e27e4f8011afe4b383117a8bfc927a7718bd81ec4a156ef6ec5cb206c2f23941b595ab3e8e4a3eed825c8e2af444cc7b0ae0e303c8f109cc149fed6e8a2679c55a2f483dc64642170d0f62f0f20a5387a80c5ee3e72d275a8c3e18c65de6f9af8a7ce886b83d84cd0270bddbca64db5d6de42619ab0f37ec18594a09a80c0183d44dd3ec6b46ca4846daab73effe1d5e2d8ce302db26708ae9223369ba5c488bd11ad27751abbf994e2bd18cc999dfff0f65e8c6d6d04e229252a5d6704483458d7d094dfdc96cd5a7b0573a2e0b50fc14a8d291fc856e63d82343534b75b25298c6ab7af401ce1215cebedf87635ec80d0cc228831d26c40efa5997105fe4b3786d0a44c17be443a67181d35a5ee56da18b7e97db573879686a406c3bf340851d12d8ed57c0530433d655aea85eb3211bb7f128c91c0",
+          "padding" : "3032300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "a7ecbb2fac0916fc1bc793f4503d496cf2683d1529632eaeeee4fc89bb8174e7797a8d78faa95a52da0c4c887585d61c680fc4d1224e02d3a0dd2b33031120a14be8ad16e267656c683c179d261f6aa6089a14122168748a4bfccb59ecb086c0b7edd342bc61d2a9a2f5aab2f4558d458971ca04672e513d3db5784db83fdb93816bf8f1b443470973d96ed20a7d85adf93bcb497ae07022db0f939028b9387a1d448b3fab2408c2754478621640cae0ee6af76fb6e653e4d418e83d431f7967e435b748e8c7a26384addf77115e0dbbf7cb5be6ec0d11b183edd6def81d0554a2e7fffe692e3cdaa6c138cd73bff960f047c0226ff0ce1abf9d16ecca4c3b998ae8ab1fd1e35f80b04979ecf0338497d1df5cea3108bdcb1d0bbb6636ae234cd81e6f2df123d263ae38924783a2a11c85b7605808e84433dfd72d9ae5b9d82fc6a8cf385b0994d32afabf3ba62e8578ffac2073d81d69c808a2c9f46b1115ce7f26885d1be3052ca23e2cfd05e92469795bbb274c4cca1b992612d0610c27f0",
+          "padding" : "3030300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "7c2c6b135814accef0caafe8a22b8cbdb832a30c997edfd33e01a9578e309988322f08c64704080dbec0469274fcbfb131b4388cc1181ae2004a63cfec1080087dbd3b9e7409fc0f960ca721d456755f1bce99bc91ba36c65e747e4cb693ec4253f0ca37d8b9d64d5f7d0526ab809a4f476e6537263adc00f20d4261d78e5b6f22896706c665e885d5283716dd959400d2a7cb35974a3a3adb1a4bf3bf36e9773ca539787c0f6a05d17b75837452e247f065803513eb8c6c995e989a52a5d48bec77930a91cdfc1f373c58b344cb1700b7707a1801a758246267c8ce932035f8a93241f57e9ea8c4d2dab3ff4c5fe06caf37e5c996e60e7bcc4f3a6176a69e61df24f8cc080b7489bfd8395d30b6a4cde92ede49a26a0a03c766cef25ca6bf982fc3126ed7b1b1b2bf4a7ad9ddbe1a3a456a6720953460cebe6e1bd5c333b9ab2812f9b47452b2759436137424832753d8a97fd456603c5585620342fa1dd056be6247297d5758529c152d24fa2644e613244dbb66815278385be78cfa4224b5",
+          "padding" : "3031300e060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "27b9f6f0a34cfa0a71fe15c15c910b7c8f2096225213e7021649aa3689ccccd5e2041578ab5be9d110a05456fdc516c5675561dc82a23fca94cd66df6dbd4b0805ab85b57734f5dd2d6efcb1a0bd8c3da6f8ae7a68f54e015a324212b916a0eae4095975f76f509ea383edc4fd888217abb893693f821f4a3c72dff39dfb0fa7abace8c16151d01bb81be374122f0e479748df2c82ec87b443325ba908bd00b2cab985e64c7f6a1edc62787c64b84410d93ffaf6d9a33bf3164e4348d7e1afeb6cc7d3e8a51d723ba6ff27ff5ef1358001ffb8eaf651cf48ca5534bf5d86650e73b540226fc2a2c1a7c52e6003d89a108a65e1c9df183b47d1753ea697f05e77b3a13cbeba8daf25683a6bd423b2b7acefa66eb5e6d08ac1984007aedb7df5d4fa1da1aa3c6ea5f383571aebfa42ae1d42060d996cd9dcbcbfa605f002dd7ae653e7c295eb3c3d03c9f6c479068456a8b0087f0c61492ff7c125e3bffe30cc45a136d72c75b047b246dba18ebb41f3fb9ad0216a09d888885b4402200291e6f1",
+          "padding" : "3031300c060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "9094c58ae7096b725fc29065eb17648925b972e5fd176a546cdf03b50d3df72e84650e99960c783c54558a44166cc67b0e6a9c8cbb0095b984440995e17e6e7b5c3f561f3a8a0fac06b973076c16c31e11cde1ed0716c41074afbd94695953a7d075acfa529f89e98f406ad028dd48602884b7f1c04d60a2317ce10a4c3574800f05b83eb8f170ee6c6d084fc68d2db32d0a430184719dd0c0141798fe608ba150f5336079c4a712d62a2f58a88d6f6bf334bac46d1be0e6341695995aff0b05e152a4d75898d713cb2cc6a01ba4df3e4b45914a2fe7f2380f94b71facdc6c50b1c61485e3acfabb986cff365df2436e50c44afb7711a53655b250c3336bcc12c251e1f0e7788c71c5f80dd02fe4cc03b1103691b45820038cc094553f8fb2a5b829a230eae9a97ef4b6c7850fb7e1bc99852dd0b7027fe8ffc5e2c1a50bf5b4e42c249e55c7955ffa4f4336a60ce0d8423f349abe3434e3eb9f3425661e0686fec79ac14e435c1f6c3df4982c7392ddb8ed77f3f65a5c9210ab81e40ef3eb76",
+          "padding" : "3031300d060a60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "59e8c182b8d7c58cba812204a8132fa02af9bb2af8ea16dc10907a14ea29a224a80e0eb6c1e12e16a3144bf01b539133f53a4c2007f15787cf61560c6bf8fb6eaee9ae65b924c5f852f622d8e9bd0b67a46dc8fcf551d577a916c9a0af9ddb50c05dd27e716c4c9e75f3ddc3585cf739986de48d9add7d39bb113234459637f159e7b95245e59546aba7f07f4a40a1d6ca1c6d1cd946e8a2afda98cf663e0ff6e9bf1a05fcb0c46486976e2d9a2a35e43f4b79dba5087fa4af8ca4cff44340b3a60d153b5dd3c9bed8b5dfc684454adada547c1f428dcbb70566b86ad87310aaddd9e935dc5a6c68456b3c2ff98d3484e471e586271c06259cb754cedbd0913981bd5afb5e49dac1e8cd86cc8bb53863f87d11e6feaf489670ba07ffd133ea14a7c60f9263f986b1d13e1e67eb0a72f67db108852f97e424d455633336f3c4388898efcfe500bd45cccadd505c481b5c89729bd1451bd790bad68d2572ff09f8c19bcba18a1b6c9ff260562d1f1ac35373449da2467082b288a4edb76c475795",
+          "padding" : "3031300d060860864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "4c7d25a7c86329b2dee76f6972d27481bd4eadfe1c901371d27406bcdda5c447d35b5b4cde6eff94fd5bf2e83ef8f1bab37bbf04307dad6d38b96a2ff6464970673b0c05c04c1c07e0e28d1fa228510d9b2bc9f5b4461330e348ff61a1eb533df887c6b3719c85d3ed4d75f36b85ee8540048600f4b4b70fef885e90c4e3c8d924cc0a53c44047cba805d15bf88366a50d8b60d5dfaae09e20e5efb186ed49f005011bdaaecfd97074a8cbcf87e3c810d9e698eb2a6f8b77e3868377af16ce42496a8f19b9ef8809dc35364d35d614f1309a3765e3da35b06ebefd522b688b86337a9f578e69a2640cea2ebb5634665ed7fcc7faf124ae7ac70c298e0b3493abd22ecddfe23e595355d5deb305ca5040246bc3aa450faa3a5bb2cd2eafa2433e4a40d1d602422c8d41f02d5a3a7d4908190e065fa5b18f0160298a52d7eaa828440bec7eb234b2c506172e46068823f6084058e511a8fb59fb722577005552346c04f85c841487285b6b2a469e68a374005d8404aaedb57d3c962c186ee7c27a",
+          "padding" : "3031300d060960864801650304020105010420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "369197d34d2131d501babcfb49f789ef8ead12e732279f06d99e87336d840294a40ba22f7f303a4dd2738744e22779ef753ae9eb7bb996c1a10f5e70702d4688334319ed10f9d5159db9f4f58b3a7ad43ec531cfa9238e3e68b63551f4809f6619bded70a38d70b7fe62e892172d1994be13dde2b2c4ac86fe2ef5897412cd665ebb9e26d7d450b05bffa1d201c460fe38ec76b80c7a3671be4847535226ac9b8d8cbd3ff0df537eadde670444cc61c88724178cb4513df04e10c5f0e5ae6d123bf8f966d7cf777eb4140a3d10146ee687d460414f6c883184292a9e3bf052526433d9053957818188a2ee0a6ed8a0f2a4db321123a367d2424960ac462bcf109f65861cb62451066b7aefb5283a6ae50bef219d151d9f23df8f66fc0a8128219770fbaad551b4c7b02c6b3e20380f1e65182c2db933fc5152da8f22b3372dd97f454230b3fabe4edda79562147df5403824d6f44ba5ba00f8649db460fdd29c9b67d32b0d88d56af66f06272a401bf872ec639d5c79acbc020e930095d52f4c",
+          "padding" : "3031300d060960864801650304020105000421bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "935c94aff85633cf56d8e3dc3f58edf03cc95c14e721d2f311f944999b8b5c413f37a5ab1f3ef809683a436d3efe95a679828b8bf6f2d40b17b553cbfa7f32d3d9cbb6a99f8f41efa09a4bd2d17111277be2121c2d85da600bc7ea8f26572bd70d9b66c02a89748f0d8e14520c0696b7f0d18521a632dc9620c19d411278b6a13eaeab0aa84275aea8f548a8ca25b8d59775e61ea2cd4eacaab836337cd3656629c6d896ed289a14c109a4019b8897c9b6996ff7b20a2a1db2a58ce5728a49806d2630b8b64d985be2c2ef14c8b791269bc387355f646ddc19db25cf64d2b2b6eba30bb007959cfed2cac0292dbd207126adc90b8758a65094068fdbec21ff2db53aaf969692e7d0ae22ac850f853b2892290ba6f198aa6754e713f549172d154220fcd6996deefdbb14c9329b015448060aa0152a08b4d1a5e32d6fc5bb60a411ba8b206fecbedafa9883a3bd5d9fa905119656563df1d2d08c24cca881a6ab2222440b64bc12a859a9d20c7f9ea02322c436003c55723cf8678dbc8303f97c",
+          "padding" : "3031300d06096086480165030402010500041fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "39c7a8c06ac4835655fa719be214556e0adc5a00ab466d88d33e694c30882e7c41d7fdefde724fb8255a44ec4bdbbd03d1ed528b4ea980bde20717349c0f2eb78141ed6f4490173e62cb2c48b76357c7816d1b0eb5f85391143d04cf6a100ed6917c46ec661a35860b3210ebf71bd7e6b8e4b8909914226ebe925c99a7a5a66f1d02c876f25d80ad4482899193d9a444a8a1d0ad8d5afa912b53995dc36ea89599f4f181241a6f4fbe698de8c7c794a82f1f576c255e701751d3815f5b6fe93efe9a678d2422ec9a4a5d090beef2e552db07a4d146f90bb4cdf1ea6fb844ffa1948542bdaaece102fa3359d2bd23c6447ddd64dfd7e4c94c801c2b6ae17b07b07a4dc79bd69ce5ec46aca637845a0185a372feb8adb7d60996133b9c37c32a9ad869ff5534f39aad8701e3487e1e6c8fb9ddaf71a1c34374a09ffb85fe44790ddea79439bae8eb51ce12e5abed6af335ad1ddbda07a8507b6df0d0f3ce80dec487968d29d92a139eb1d5ede5c28240320c5ad9cd0edefb69fd156f0626f6d45d",
+          "padding" : "30850100000031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "4c8a79462d5c62f418c83b35e67899db78b04883afddd506855ba23e7ef8c5336c1492faeaf1d57444d1049bd008c317fe7249d5decc09fb4f39d7858edd097c3949c53bca1a439674a61b355ff5a9388a60b7d5c7255961af7079e72c07fade552d0b77c36ea3d2f0c7c9985b8ce478df8658de208dbf4690299db7f1d32660585b918af94bbedbbde7ae9444972abcca2f6b3c4004e3c87940793f1a625d932ba14e715dc1b5f9231e0f34956b2920eaced888b3a320ec8376b059fd48ff369beb1ebfd32b9e9c9623d28b54856919b3af12239df425a055cf43e448541af94b88a223a90580977a72782b831ba0a88877cad65f8fb49c68d5e3b2f6224637e61f4b356fda8b8ab916cc31b18e6f92d33e0e27971a480491fde857715cc55388b281e7d313ebb0abe3337f7d4544ef9d144e402f49c2b71eed30f8ffe8e600c31de5960947bb07fcc4e15ac0d7bf00bee0920c9f092c8bed16ad9ab7d752433a96dbe49ac2cf33445257a51dd347dd77dd5ae0d08b223c457db3b57d727f52",
+          "padding" : "30363085010000000d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "b7f073c6413f4f710af62ab1b9f023215fa39db9f47e3156df5d0dffbfe4afe1aa9dd72dd7c681b3ec542ef926bedf01608bf7bf0874fc68fd90d12e0b26b2a049ed75968b77c8a24c626a5c706fedd36336c58b8158a9f1fda4bc3f6e01f2fc19544378756c48a3283e4c8c3dcedac07b71b6610e3a10aa19996efd006b970ce00afd9256fafac4e831cf598ed29d27e6d3238b7e799e1d0d96bf78cc9f50584d6702661ca93a887010d16c711ff138f8b07dc2c4616c5204344f402067527e2eddc0fa70a48fe929e6a195e27159b35121612eb116ce2bac85e9230895044755a4c56f83b45fb3ad795728579719a68bb739bad1e3b1f0f79985a65c43758b29497f99785dfbf985cc6524d9a97739fedff3b1d6af5a7c23957807a5cc2de62110b59a0a5e47aaf33247644beeeda8b1a4bf2ec3c1260701b4c1c052276eae49994b6f8b2f8008cd5e637a9025d364ebb27c908b7f7d803dde6591a543524aac3ea330445b9e7a3090ac3c9c63c964ed6e1e6698d5481704a495f8e9ffb1a8",
+          "padding" : "303630120685010000000960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "4ef8d630c4ba8a424ae7dbc197dc7cab463ff00f93fb6db064d9987f224f2a589fdbc40e7d3c9043f1cbaafb47475cc9dcffd85a41a0b50614a206c5720d1151229d1d988dd6b8f56cc538b8cf0d55d1dc7003f51b87dffc178b3a63160b759c88e829afa2dfcda4b4cdc9e228a7a81f301e2edbb10da5bbd8ae9dc93ae8eb98d47e760012d990ef53ffbfbddcb8a7633b3cdd8695a75ca6b196f9e2709ae9b30b4f7b606eaba508bfe8f46de14dee5c0d663d01718ddd053dbe204475d5c1dac048f6d628019c8b4126003e4364e90121aa0d9472149590537e35858e9bcecadb9a1f2504ec78ea8d09772c992a7a12e31a8850510ca726ea3c1231f778b51d8818b8694be37f4656bd6f3896f6c19f5e9aef74f55d6b44071bdf1ed9dbe9b26e0b124f28db5d32dc877fbdc63d1b51f62997b83877e46785051df7cf4230c82b1007251cd4f3ccdf204103f99b27c5cd48b3ed529702d89e78cdca05cf52d0d99b99c9e9f479c537a578e47194c9912e7df890f15ec671f7ebb6d304d3e834",
+          "padding" : "303630120609608648016503040201058501000000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "71601b43bc8ce6f6ea74985843de5a2c9f71ffa37bde9aac20c59abb025b0dbec4cd8d3623b515f0d098803cfa01564a2d319c93d3acbb5e3603f53e019ce2cd2975905f9faed64ea4756254bd064985e5245d051ba7756d4b1eedf928f9552e9854b0626639702d3ec0c40c2346af7572e86c128d1aea0ca218e63c3bdeccf290ea995bc2a0bc7eb1229395ebc6b9f8f9b14f3d5c1191bb6738ca1d250965cc80c73b3fbcef29d08767038c5c9ab006b100bbfac35e15f35698f6f8c6a1ff3c9039bf4ac984e2429540818632bd02015552e9757f363e8317fcf8998a55154f6161b67e00910cbc736daf7fe738443a3ace0763fd6505cfcaf11368dbe5d585206ca41d76e39feb68519d309dd92a54dfec5791311f5c00bd0bdc7fc5f2f47d558f51a5f3cc2c86c33958d118dfeefb8b531fd4142892e28ccbb2c574b6c115169981af4c3ce6e019fa27c2efe4aa34c0ef104e16c7f02a3b7bd46390039c7d4ccc6b27deb5f6796714d67af88456a8da6395e670b513f45b62ba0aac65579f",
+          "padding" : "3036300d0609608648016503040201050004850100000020bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "93391857ce1fae6df31b1ad972189803a1fc3ae91b89a264ff86246d6efbdc599003bb7c35814a4215dfdd3932834d4064b497f464fa93054363f1fa5e365825d1b87881e125a50deaf22d75aae32fc0fe1e8f3115f7cab6af0c2aca54d6f21f5a72fa77a0731c9f8ea82ac2e31155fe56a7950f61fc1b22c274203ea91b28a4bba0a925ecaaa017b9258e1d0f492c24336334e328054a12df916e1e4108d0b7e5d8b2bdb3d4a10282cc1653b9df2a24a7ecbd753cc7677c88c2acb7f741e3d56d670c226a827fd6b19aefa445bd277eed60dd13619427a048616dd26770ce76a3031bf5856b50f0ceacc7bbef257d86f6e9fae62aa6af550c9d526a6076d1de77a9097acc15728cbab9fedd1428c33a89e07c0a49dc89822558da1da6db6f8f738ae309fec8f033ceda8773ed3eb5bf6203fed189c3b7a774cc5f44073dd0db9e4a614bf7c8005d5c6e022fda36b82dcfe66f4679eea23269ff39213851798e63e42c1ec5be20b3cb5e20787597b43248d4fadd1c10cc94d066639736b7781e",
+          "padding" : "3089010000000000000031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "1d9a1575ce2cd06e5f160063d03199cac5e912cea51439f738d98ede05aaf7b821d8b26082ecaf4d12fd01d0f64be9ea2e1831388cdb5e7c7564b73146de8f9b5314ad6738d98e1053ad0d7d594425043ece575c75128888d0d7b090ba5d5e008be46abadbea23c9b7741a023151ef281d99fdfd684408992a8aa9f2c85376a40e53d9d223ef4ced563fca832ef03bef29a47bf381eb6728830ba37c69a99568494efc85370e8e9c3fcaace1a59d6c98afd03a0e8bd5da2f5c909df5710e385ceac35ab0fab92a6cd918ca8d32cd5d4bfee5dd644e0adb3d188a5d0e7a20a305bda34ec10bb65c922a0c074e8427cec78a590c095a0c670cea6d34bc7a88b2f1f06b00b368b8009cbfe6a14b18bdf2b01caab7041d46e6b76fbb1f63e9b309f60fdb4f1a6033a11dd7dc1eb15d7faf922b3fdde28796c44e226633813a969ae1fc54388525d0a125414060862718bd0ee1337de2133fc773d06bf83987a22e4d2e883765e3affe55ff8d92771da79ea0898258f0d7e858fa3937ff24f122669d",
+          "padding" : "303a308901000000000000000d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "43bcfef9e1c31f739cf7273b1a83fc38c319d4ef394b28147e99566d60d58459482054f2b8ec88db88fa4033132c03eda101406873c76703be2bf0d0703083e9420a917233fc1baf2ccfb8b725efc7d302b474195d54d4d3c7cbcc0573c5fa0f2b07a6ecede1b445ee59d8fe101e8b0b97f9b521963b0933efe4d10bcad18219bd2d33bd2dbc81431bc6a3ae6a827c7be7d3b0a1d1718225670cf25a405ba12e9c7550612a866efc6edf994c155f24f069574d3f73bd09c74eb44326af7846f22687b84b8caf54b4052364f107ce5295bafb2d91ce6f4efd667e6ca40db672385163d1b7a27ad1d57723dbbf00571cfe56a1ee02d6b6503da2ef3f78003d3fc07f778926f16ebcb05762fb72fa50b75f78c2d97f174bae392065db2699b00ea80649ffa470ca92e57631db263aefa225bc1bdaf14093ea1323071f7fd614b475f5fd6ca0ab5df4f03624fafbf5cb3a49a92651d9a6aad2e405a7f76d9eb76644dc6b77d5f3846942ae662fd5a11707feb5dc67912c1285913ae2f54527ef39ff",
+          "padding" : "303a3016068901000000000000000960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "8c1a2b91e9d9fbe87865fc4e6b478290d1e4b189866912508402aa311b953f7d4340fdcafe8f78d76c4a3d6fdd7a387fb38cc507ba6bf383743c8f6aa404d97007d60911622a8b96971cb3956a1be3f3c5e49501048cff335130c9184b78e3913d47ba8a69ce8b457910c69369a1b4ee05ccbb0bb17070efdccb94ea8ffa4f683356b1656485f73b19f7b6d1669b55bc28bbc37b7b0eaf88cacc8c019aad99778c032858ce1da532ce2b039294c8ed0660d20b6bf2019bb864e43623d600b83a1fe09ec5d7a6c434ff42fb3f2c08eda52c1ea033dd757db02159188f1b6383f93e1ccddc027bcaf77ed85303fa86644b2164bf99ebb394e0d25298b28e98da79303621d0b188bb2dc65aa19cd14ddbe0edc1b288fb46daac7db10d49bbafe28acb9e1188331978562fba048badc2f72b942d54c23cddb895250dd590df62f4cd184df7ed6ee88ee82b01eceadc939d822c176cd16f21b9cee6efe6cc4cd7b3b62fcefc83cf4a546c69a81668622e51a11a5b728b7689f4e16692e5d2c7e5b70d",
+          "padding" : "303a3016060960864801650304020105890100000000000000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "241332a0e34ec700cdf2297c8994ee0cfb848e6f5d6f31216524bd3d40b1539ee5d4955d405497fbf19f9b3681306408a4ef5eba87e75799dae8e86ab050b7e78ebbe9a2be1e02f9cec519a51e7880a7f653a8327275bf9a2a298678493df013d3c3a191372f5f84aeed7abf72697ade3e02d521655d2d79003932b92e26ec22a9260606954ed32c536015a8d5306de8354fec6d51b48a0f258e5742eeff0d2c76b86bdec0b42a6606ae043e86b2de8f4242be7ef65b9ce60fe4f798a8aa19f947aea9ef40fb4a467d7c5413d526aa9491ac9a98f9e6342a154a99264ef601293cd2d4a979ffb5dbb5fcf79ee727f87f9cf7cc6570dd88d60816232eaa57dd75a7f0ffc8160f65715fc12508fbf00134964968d33dd30742e93107eb74c3721cf6615fff5ba1566844ad6859e028ce769823f037a6205edadce32f3d38bf778d47c36eaa67a36cb53f572b1beb90622e5217b0833de3e6f8000adea76d4543c803aa707932105724706ca4db008c644336a89b3ae8f196b7f2b3ae306e18176c",
+          "padding" : "303a300d060960864801650304020105000489010000000000000020bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "c0177318feee842e802480dbe0dcfc6215d75431a30bb8492cfb1cb84f7ebc73dc37f56cd0dbca1f6a6516c6eee3de3addbcbd569bbc79d533a4f5955d95babc717cd4c8f5039ce49ce7dd20aa44bdb96a394f8499172079f8ed20c4ed780ffbe11cb00d04aeab80c882eac517c153993892549f2d4203d8e3fdc719fd745b06103b49f54ad51b6dfd0f4c94b08b7059875073ac11701e16af0b73d7b305d9a420fcb560b490d01c4afcc52b9b21a467e95bce62da8f559527066116c602bbcc29a434ca04ea3227a25a07d733f1b867040ad1c85b001904c749505166635c217d8858e637cbd74ebd1b86a400961f2713cd00e64947c2b5d2b97a4ef795822eae56328bc4bf8e8c9c8bb8d759a3743cbe9d368d985299d8338796ad6e24df7eb7db18147450d2db91000c8667681b47aa9f0f2e08b48aebadaeeca32976dd03ba94ae72950803a07f566e091670c83c8ad01cf1a2a921467010c20975e1b9653a7b56d2137799eee863a576a2275c33320445307670bc62fa039c7cdc8094c1",
+          "padding" : "30847fffffff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "5675e16b96e961dd428de891451ed0d23706165d65392d277eaf846e24f0c4388536b2b52e519c07d0e10686a164bed5a05314249a77f77d140dd16d42fba947bbed204ef4c8a958e49f3aa4e62438ee333812d6a9719ff166839e467080d8762a4268fb575a33070209013741ae8ea0c757bb44d12450579ac8e22870569c6892edf1fdd0bc12a7823b695c4c90e93c3cea57c2fa004eb3306d13ba60cfa7aa3f1465a232c3f4cbb765a82bd59551d0f130137829871bd35cea7c59cfa12f188c91dfc214d8102810a7deccce40f204562993633ba4669f4d7d02418d5a66db59af8ad001884969b8e00951492bd846ad7db619d623b3466cfa062ae9282a1cddf150e761c90a3413e92f2f1fb2b5b62d410cdaf6bd8885d635f05f20331416fc3808fccd342764b7c244c1aaf78fa7a1166b1b204058a16ab750ac3fafbafdb2610f52164f75e7cff8a4c3cb899ebd5fbe1834682ee94e6cd810a4015ed7f0fea7f1494c5a477b572d172056629320307e8ece3f72de5dc0652e688d79d154",
+          "padding" : "303530847fffffff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "0ec454d968f05e44953e179199eeacffe08757e89401d89f0c34875f81363aa99334615de41513ff604ec742730911b75138d3dc489094fea7ee75de8dd72f70af216817b5fabc521e391d5a0a870f2c089cd76105f96730ac1e33a2ad07896efe98b4237e8a937635f8d1dffd7fc77dd23b3e6959fa450e48b70611878727874df80d4f7949e14133a3135e422fb6fc7dffa6d6cae3ff75df25458c53f859a8ff34e1756b8da403aacf3b7b12980eb8e69f786c4433d92a5971d615251381185ae436d9d8fb04c6bd7264ca6b65b4d6dfdde13668f27fa81cc78115a07cc88f68462a15763041b3f44fe9d6fad4afeb2cd99258df774995b03a567d85553210111d7f0eeecac6a065f3cefef4ecbc607d49972aeb8be6042cddd844149275696cadf5778629c36d524f8b99b2445a8358afbad1c0d549312d6f5d0928fdd563e286ebdfa2e7db8acc4fbab128557ff6dbd03d123bbe525d0cf37cf9624f06821e422bf0f0ca8e27baab590a50d1e563098c920be15c0e8e965a2994d5916af1",
+          "padding" : "3035301106847fffffff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "b42bcbbd1403e77665fd47c2199d5d962ec7b224c00a30367d482f3f5beda989f72ba20822a46f5c28e9b5524de1ed6f3efb390a4c0fc222047f3a238a1b53ce6c4f2debf4fb4d92a8e1ede0895c39545c7a3fe07148c8c5944ba76a57315fc814f0c2a08d8627af126c467f281643d648128183379e90f99e97bbdb0acf2ed03f4ed38c61df3ced83a195b92ae786f2a81ed2bd6d1f33a7b1233c5ab13380621950fb27fbcaf63ecdc703bed0b1a58b1d36f84914be476e857a861bad98d35b248fba6afe10e410b93435e5854530f07d5d0c375fa6ee5cb8b306c2e40ce5eeadc16ba8fe40d7bbf31ff9ae2f70b458a8db46f4faf6373ee3cb0e5398b5db53b65bc8b0e4b336dd22de54c7e8e3b09eda2d33bbe53daf8626e63d16808427359cfc8076f07259772f00cfed32a6c1466b1fa1847bd9e7bbcd68b6ca9e8ea8b577985bd107bf1752353390656784f92003d43fb585ef2a4137c7f83cdad4bf3fe1eeed2cf76c79c0bf2cc322950f6ff0a98a3c68f83d7a9dff5d87420295c18c",
+          "padding" : "30353011060960864801650304020105847fffffff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "60aa59b8254b47199db7b29de45c02247610f3cf9cadc3f46c969aaf36ea1ecfd7aa2c6cf626a5ca11c275485818b2a433e9648c3dd8f6e100d530b215e107bda795ea13bdd3aed87b5edda40a5bb0105ef3731b44341b6a3300409db7b1bf2dea3b84507bd5fa0d7a11709ddb106df8fddf1a9625c64552b875ea96d5ab33820b9acc94a30f37e8817ba1d757c1555795cc82a26c6adea36676eac2934dd3d54e1bb0fca770f6051c108de1e8cc04c15306d94b088a0ebfafeb93bce91e283ef6b4ef88ee8abbfe549eaf2491f23e3ae13d3319c73330237e06d2d00989cbd9d9c8a095e82534e14845caaa66599d996df6b583c22c3e73f747c5e597b6263efd3d484fa75e227873f50c993eff26e14bca16e2df14098854167f0de73a157df996d0beb2aeb6750b5743b0a9f4d685ee8cfa5df01a4b924a679d14919d2753f8935b82ba4e2e4670097cf11bcd59a613b5f34a2963dc56f59f25f2b8b91e9a00a2cecee8b488d860044dc7e10f82037030d62d48e028022e7c3774bf3c25ca",
+          "padding" : "3035300d0609608648016503040201050004847fffffffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "562cb29e3b27d68a9f8741a57006296a943bee15c1e0cff97e8748ad822a321234a15fb3b89f4e07c1756d693507461172981189e9191e0175c71accbc258d3e79bbc627365c95f19fa416aaabf223bf22fbfd46cb8022a88600fdaf84aee70e9c8939e24de4e8a5fb2536c4fda5e3e3d71adc377708c1f4d7982c0c2267265d4f85d9e27f689de2c216a21239d6d4f95dd30ce102da43ec1b3e72ee5696db8c63cf06d94b8ccba75e197b2d26350d35336475f66de615daf8c1900ba37d7699ea881c0f7af84e936c402c08e15d3923733aad0894b4e78216225911ceae7f4c770a17d90fd7178a196050bef7218d7e0fe7fd22eb5c3854c806a5cd179e3a82b59d9b4e9e2dd1d4cd998ed32ffbf19a91cb19149c948b74861fd0e92174c2f35c82c9232a8413adeee723fe489dffc8aded50c7716403c02549802e083f16584b05e3f67a4e726dd8ec6d4adcfedc0695a47ab75e6d0b0486e946b6485f89162349eeeb88f20dc3095ec5f45bae1c2b7af4352138e864e6fec18b9bbe98fbf4",
+          "padding" : "3084ffffffff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "2302f69cbfe30dbdfb830918913fb556f2634e268210efcd0afff8bc527fe30ea1dc36833b01fc1b7b1d8781913a5004a24c2412b9e0713b84f228b6b08349eaec2ac6908861157576c89bcf472572be53c0075e48534d335b954f46aa456c90653912e07137a418f8eb59329996e86fbcab8e585d80b7a8f97e7aacad3d08d24dbe30a76ef8f47788d36926e74c0f24df942f73fbdfd649ffe9a952acddf3fd8ed9aad055c3a950e749dfce25d0c45114f40dae0a449f23d7915dea8ee1f6f163849affa4b7b8105badbbffc5690190fce192f4a647b81b14101b4fd9b1f0379b08379901f0908ccb48d5c88e8a3d0b6563bf01117ebcecbd84dd61e6bf05b77dd2a3c63d9c36a394843df28b8184de81cde4f381eea84822002008938d3549550cdeafe31606fcc282ef2c2a4ab90b437d0975a6d576fb705e26131bd07add5bcd34887496b653f3e9c2a7760eb367935cc8052ea896c6f2023f0d2a5bf3267835cb4adb079019b8974426953ef1447069a79cdb51fe8c32fff14a9bb8f78e",
+          "padding" : "30353084ffffffff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "69a1305c5eed4c40a1799a68e0bcd73f2fddf4cdc750d24c1035eb256eadc6e59c13a7784b22b09f4ef0c34b772ebe608f9306bf5fd7a463ce0f96ad0e3a2df6e1dfa8ac846ddf54b1b10dd9583724a96a0500d5aa6184052d553266d6b69b14bc76e82e15386d3b961323b326d75886fa61efe31244f5b79f83eb4ba8eb5d19d066e1844c11ba8ef225ad6817d6b560c0ef551fab8589366ecd74b93a944aa53becaf4c8e77b13e2da12fe5543c2680ad76291f08a146ed42e0273592bedd08e493121843f1f544c766017aaf581bd1645614edada2f90d4dfa5f80c1ce9e21efe901b8ab5687fad0c022b52e154abf2bb1d0c02e7cf934519c0d934ec995c79c244eb3e5462fa86dc7b13feb69abbba73610a70f69dac24e6e5ee98cc7376102f5f3b58240f13e0eef2ad0cbf1b33e828345d17d7940732886a20e05c00f2f400d2f45ab68778f3ec85246e0a2851e44fa77cb6079addf354a37512035643ec785bdc9a011e6d0788208c1e14c02aae32c3ff764f6455c8f8ac4e5017a5d5c",
+          "padding" : "303530110684ffffffff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "8a8634d606e5c507f60bc6f932db58af00b8b057132eb1148b278ad00be6e595893982b2f248a3b098dc58dc751bf42094ac236874bcb4b40f95e56f07f1267e559d2bdcf316af97dbb6c9b2356fd7eccf47698190dbe3a116a24ed7a09eb2d51314c8272127f9a5960158ad8c771489aac374b9ed43cc4d85737b808f49fbfaba2fcfe044a526fa067401bf6c4e8b3d89a527dd2340983ec0fe0301a00857726ba5144b8fe1bb6d995c82455b04ddb6dca1c02e1e3cf0086f95e6d51420891231f5422bd16cc84f41705451d5dac7725029e9a4e4a1d1a7d0dec7126e1bdba68dc32fcf5a2ba9d2893d2732847b42659c68da741c3eba87bfc6f127edfaa1ec5c05ffab1ea2d9f412600f0016540f07387b4146c1774a9a0230c23b1ecc8c14ddff0ac8b12bf47b64fe9c7c3c2bc0ae59d1c22d1e1790d88edb1c6d31d90c7996dccca9b91e3da10cf185cd36a35267acd92e13909cae9ae19440f142fb270496396b983c79963a07013a3bf089fad02334c1f76bea4a8dd8578db9174b22d0",
+          "padding" : "3035301106096086480165030402010584ffffffff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "0d814684d79c28bc169da20859fef117d2d6c98a9c7d52b788d972fc098db62d46f52ba2b5083cc7de5cff0658d4266c113a8b35cb3bf04061d4c6ba6b7b4cd67eeb48d56101555e4fb556a6e90d513ebe468eed8ef0202118998b2a1c0d9879b14367f21d9b4889b9f2b41cd260d95f540dd8489b78ddec27999ba507da902f60fe1dca5f7fef00a85829166a1839162b8e61436bf6723a136d765581963b812b0005b4cbda844cd76c1054c87f69641d5268abe4991afa2fd98dead30ba26d747aedebf45a96bd1002aa3b8c86cbbadd86124817595f123a39f9cf3fd26543afe54c6fcfe170060af7aa096ee2aa16e206303f8579554b7bb1f412062eecd486219c94798737e9ff75ca2c1f34cd03182c9431382f0e12cc7efa13b1c5ad367f34ae84af42b4614a7eac8ac7f1ca10695b88bf6ef17006f06975dfb4fd02731d5cd8a6e429515c4730d0aec054b3533d5d429150fc9714665e3881c25f5850fcfb3e8dae79c364d58aeaf2bcb0ee5d899af92adc93d632eacfe529ff57a0f2",
+          "padding" : "3035300d060960864801650304020105000484ffffffffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "92218f94fc3552f215e98d21758992429cb17fc3313f780feea3f482d0e32cf97fc8832205e74286e69a1fa35062b984635687692d15e6050376afd8e8501b4a07e8c61006a2fa6eb27e2a4c310f54b907808027eaf9cb0530f8ade781c4fa9095a41bb6630c1e0973783eab65cb0849f9c8e89f3c997ea3ab930b4fc629028dda3d5e0e7dcd99b2951282c31b8e3739b6724a414dbc254802e63a1a6a268e7fc6a91934cbb27d9cf0ec994fd02334a7451c3658e7ab13aa5dd27e81736c9cb316679eb9a3d3f87c3739ca07a7be08a0402ab2883d860867a4eccd2476c8d9e37e2ec214d6895664bdda7ce7344c95622791cdfaca32508c8b7388391846b720659de2aea7bbb84520fae9edea66638270e735677f175f115c582f8d76185e8edb3d105e3d6c0f490ec486f7ba41f750add6d50997ec85ed351a2b14a4c328a41faf70ff3e50fd4ddfae6f9c74fd72a7c1bc0df045e31fd72f04b6a797e0cced07bf2fce788d75ef6d783cd6e4eff98c49e99487c76ccd4e08ea26d36c29aae1",
+          "padding" : "3085ffffffffff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "55a36002b43d9b5a2f99ba0acf767cb04b54b7849fc2443d123bae5b6c6b6fb666d7ffb96e09580462df5fc560cbe9744c166f8f43be98b7b61ab71b86323d771eb6aed87ca4261b4e4d76af84813173c01cd82a87fda653c47f3700fc2110a852def8c785da96dbc779615335ec871a31ac3590562e8f50972b5e217d45089a217e8b0b1905693e7dcd121542d11c0083b967b04a8927211ce89262329ba2f7875412b8785ebe47693b8f3b76f98192bdadd3f4359999d48d751290e87264a5f2e53ef5814225931b253b451a3246f22ee3fc7295806ead7992bee92e74b19dba84b1228a8fcec6fc0729f4840d2b467956f86a916129c57025c7465fbfd760e0ddfb480f748c422c08a98fd0f73a5ef04b28fac58355e6d9bbeafe84d0b24e6ba19ed317bba9dd6b9f0008d5d150b3a27b839ec2bd72205c345211c99c8bd92db11c1bc16415b082f0e6f23bfdf9fb00b80a6921a023cd2d8565d2c98c60b5d44b2593126f6ebea96c6529e54d3f2a503262bff664c955d6435185247b32b9",
+          "padding" : "30363085ffffffffff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "8475c42278f3ecfb53a8b19904c4cb40ab5eac50077bf85b8cc71f6faff06321110aa240f9a7e8d3e99b813f29c4bf35acc8caecff0873511c9bb9f87e0228a5ccb82601dcec8b8b99acf08683e70981af9f7f2ab570023156471d77d9e944f221bdff3e666f87dffabd079606a4fc139af85031e1de8664590340e39e2c117054c8b48b20763b7b5fca7b5fffa645f93d4a9d6f3336e229f9ddbaa4e1490235c0e7f516b2e995d5abf602803c9e7286fae0fdc7cbed07a69f5b1b11cec32062330fac3b85cc4b549450ee358b859a10b2e8a33d988e52ac6921d5503f95f47d4ca26d04b4d850235f78aef513258b627d27d47edd8374828a1dfc26e4f1c2009372110c729c01dd9a65464bb1ad4be056318a0c0beee9458962e727852374dcc27f437c6c550be2333d014767d1ba0aabaed99297a544ecdb27098cd2acec886ef4aaca14a030d07ee42dc0194c1f867b77aa8b7187358a5d185ebecb24097b00a136d39553cc508ca82dc088f359cd836497b3e87276437e132096b03db97e",
+          "padding" : "303630120685ffffffffff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "4efcc5b2b023e2347dd71bd948cb661534e1bfd77fa55e768b9ec3edf20709786ce113b6c9026448e97808d098d33590488028c098b0d7f5719dc39c2cca636d9cf888230a803c75c1a9a4a2c884ebf19d7bbbe21e62f0b3ea8dba5706c98027b3fdc0a6429578fc2ed02625f9bb9c9d3f193ba98b78c510fe7e7beb42513e76d84b72b49abce43d33e23aa25d8038bdadbc3b115dae29d4b4e4616108c9c1727f14bbaee73ca32f8bf4511cf45959c2ad217bceb544f9ad7fc69344a6305680723dc1f18de7d81f2fe49c2d058f9de6b76dd8ae7d94dbb0fa0a54d253d51ad4b7ceb939a239eedd455e9c6645988530ba59fa7311b3ab26eba68d5cca744f57a5cad7fea64a6fd323e93e92cfcf4504b4174f3fe7fa93d68abd98b1128ca909a03fbe82bfbec0dc4017675d3fb54a39ded1e00f93fff69b9374c280bf124ae1a0928ec39bc2a650c345a9192221c172f2a3d22301db276e32e78dcf75dbb3569f9ca45b9c5db35d766910bb8d644a1a3ef02609e42a586e2c9096fdf3fa9d73",
+          "padding" : "3036301206096086480165030402010585ffffffffff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "550ce3e78b5e1301a0b375e5c6bb6ceff056689221188d00c6116eba6920eb8c6aafab5bcc11e52984e05f68920d44be9dc2356617d3e7ada79d51865885262defae63a4d34b8c003ef5ff324b59ed6657dba99765ae425ed2c9bdcf11f41ae0164a44c1c41d98cafc66ff4e916390c42c82244196887d18121eae27b6e21c57354b0d37e160f324b95e790956a5093a9283dfe9a72922cdfde37d15bc317bd05909ed8d1c8dbcbf600fda9d26c810da486a865887191e1bfbb21a68c17c217fc3f8aa2efde650fc8ccd3fe5f6d7270231ab0a97e3d5f3b63981e09d0b8201ceb649505346ab22f664b9b6a63ab088bf4ea01fa26142ea3795161f933164bfc4e2412a2961bc09ae13257df7171cedfd2fb48e5a61034a2494b3bf70dc51a3577de4a948bc0bf35036b0496cf79c9b4d1bae0e9184068260189a6b5531715dd47b9e4f011622306ae7cccd7743eb42b4748fdf46bc5e3285373b385b5e38185d9990dec73133a9b88bd3d7ef0cda141f2c6704ae967af791056ff249c3ddb7ae",
+          "padding" : "3036300d060960864801650304020105000485ffffffffffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "79ae98a76ace727161e1ce51f127445bad0f3aa45443a099d246b3e04057097bdf2c99e744fee3a55a6feb7f386e89b3b4efca1cd4bda07c0fb4a06c3130c9d23550f56899480f4dac7b74af496e74271eb23f96236d61e12d5fb616b3bab8c53845816efde0d33a8f041fd0b8b01391e99811bc4723941a0b5cef0974eeeb2d4726b51e9a8687709788abc5376374af650724ba6aaca36b854afd09fe978de357de3ff1cbaba28b8afc24887742656fbf6007f61715e9102aee9c1544d8e7300196f5ed3d86d3e665db7b8f98d16d249f92f34b0faf3025387c31b5aa572404b8d3338ead9d7e4a9891f0796cd6866ae0b34ac57592ead287b984794d6ce7da2c89ab5b352b79ea94f8c0a47e03eb11fcb7cb55d2d00a88a09e22b9b8d5040003e4a8b9b5d411b21673ecaa59424bbc59a2e564d7d7fd8a3730c09eeed6b6f3f1a6af60b9e96b2021e27df6893a8c9c7bfd394c7aa02bcf2af96a392497ef1587cc271755b84db15957d30064fa1be2bfd8bb46de4285640e551bb8cbb843ed",
+          "padding" : "3088ffffffffffffffff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "3894bf87b1af9047d10bbf45a65671c8f96c5603ec84ac2edb97684354cc7e1ce2050afdce800626c238b3de0b7d94e59f03c1926fee2ff49b52b11fe64c8825eedfb9fedc4b58fb53b9bed5d5f0447514e6e5af4dba869632bf92051e268835883d16f08ed8ebbc9ce5decfba43acafb72f8776a2cfcfea0d2b43e17d4185782cefbbc27a3a249275cf47456c1486fdb57396d5ac0321c6676432d25ffd946ccc781d521c67995493ca3e6fb05e46a1b906cb0e48096611383a072d5a2b0fa58c003e5c58311267922bdb4217a19f9405b79d0fec5a177de5247f1f939d5b9201378d09328aa98d1e5a7e1efb63ac9bcee721208cabee3e488a4551e444d47236f89a6846d1459abdbbc2096cd7dc1fe69bc3cad5ec7ddd02359c6b96398b455a39022129ca179e1da702fe7019f9d73b8a8bc25fdec727bb70dc1e69e57faae10c8fe6a71fc903b1c2272901a94fc2721fdd8642a61666211f8557bf5f184e524ce64978596e8477ec4ef9abfd9ebd170ccb632b76da9d015d3d7f3306a0aa",
+          "padding" : "30393088ffffffffffffffff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "ab5bdea7d6018c803966227c8bf584a231fec444b6bc1e53fd3f240b30c7a3d84ff099899902ab9a11f1f2876dbebe6514f190838af546a249f3ce4353831a20effbe944b97b523c3857eec96785dd117ac188ffa41b7c8374ac37b03bd14afb828641b0c0bb2b47c1913ccaa5c1428258461ea57a72678e1ee41fb2ce9b5a1c3bcf3d44b8fed062de9a3600e940949b7478b452af12c97412cbf8f0bf1d95cb2bd4c3581d1ada8a0efdc2055e52a16ed7c2adc36e5f26d5367582b475a61bafd28d92c589cddcf99d3b94c64254a9ec0ea409fb5f480cd3a6e18728b68637b563467c48370286457012f92106278375b018a2cce2a4b274a4971725254049065198ff18e0c6a2f216a3df4accceb0077ba4b8d5492d7078d093e442b24588bdf9076d727b3a17f17172c8240294938b45ce0d695d637f11c8b9a4d71eefa0237828a6ff62d9b0c88fcd4d8a97f71b09df62274f51daad2036ae7765a03036ed637f3de571f4f8af7522e41acbe84d305f43d74f878365ba3fc0f2dd3fce2335",
+          "padding" : "303930150688ffffffffffffffff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "70e063e00143ae6836b44a35a084218baea5bcc469be89df6a63cd58de6b40f4718d6b7517afba52a459ce12dddd06cf9e3ff41533e7df2300119af7fb5fe943b133d548695860c4598fb418b278899e4e0e5084d785f468b6cfd9945af926ad6509e7b6cc0482dc0d2b8d1201cbabb619fa8aef07d9700ed0e97062604574aae8bdd9ae2eaead2a22be6aca035f56b25f419ea378dc4bf6cdce24906c62facbe2617804b54c83d35c651d14d5f93e4416a4ad9ffb0784e292f7813af00dffc5971c1f6ef6725754ca06aa116a92cde6088f95ccc8c5ae19a821fce9c316b2c74f07baf29511f3f608e3e8a2c276043e2631a1fc651d622754384ffc10045883b93675c7e4aa8453692b0e984b12c213f31a225c77d28fdac426aefc523f8c5e55512c3a44f4e75b9bc04da2befdae590f09463a0d0fc417a4ae8eb31aaa5820324450b0dddcf8a9b06bb066ccb333a4bf445dbd10c025333154752ac0e919f714deb58ec58f38742fd3379754336ce9944674573cafa81bfcbd71e49beb5ecd",
+          "padding" : "3039301506096086480165030402010588ffffffffffffffff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "3b2eb94128068de15497d0fb6d8612fa6b900a7c8d38512eea2c579b9f62c45d1bd198ecbc5b2facd875bc0291b6df8de78fc3367529d2e36996f14017f3ef71883d3b95f2525f62ae32d294a170f664d3ce1cf5a5cfed4df8b5c658e45ed65a606b238349cf1cd53d6f74278dd8e0d898c1375f007b8d2777889a104735ab7306df6751d9539447e86bc106e83ce6ed856505e5ca3d9eb58d8f4caafe13a07e2d3670b3934f5a08d1c76f723bf2b2130fb8a99393338912bfb06fc6974bb0493a43e14549927215c4cd0aa76ca99754fcaab897f2cc7a149caf0d2692a82e91c5ff0bc9d33e2f6620544b7fb0734b304df20a1e4389f1da4d8b1f40f019060708a5a05582606970a30ef75606a1cc46609615404b7689520db0dd22434052d6348c01cf8d7a2bf80e19b1799e70d049cdca517f262f754e71f000bc0f83bf9fc59fe3865a4e75f275d514cced20cacf10bdba843b824bbc1c9c9c22e4a8e234be197cf90575f132e1c53cac7d87979a84c612b6ea0c2f0f1cd1da0559661e73",
+          "padding" : "3039300d060960864801650304020105000488ffffffffffffffffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "4bce06246b965920ba5768f11973b7773576c8ca811031d091fbf88f0aeeef793859aeee2220a543df5dcb0a6932ab7eda80ca2d9a45687d00c570c0494deb6960424d936a21664108047a4b4f0a3f120d337c7e010e56098e9b707319b1e306a499843d53ae351db6eac5538a4cef9d49660345bcb5bb18900381850b371ad17a47ac57860d1ade90b839402c6bdd8479c79e27fc9cc3fbbb8ded4348da6d70ceb8b6c95d9c8efdc6fc0a51f952ba0e7dcd21f28dfbd39362f2a817c4045b1a3cd6da4c2bfce76516bc918a11dafb9f0c4776bf3f23802b38be8d03cfdc6b3551998842a028ee1585a6c232409469a869b3b144d5d02debfefe09a8e14d0e915dfcc722fccdb87e055929140257428de416d6caeb2437857d585ee6c3a4eb64a5d8f51df2050f28286e3e1987c6e3e3b22131597ed1c83410a2569c8d7cb04a80ef8f37bd043230502987013f560d7ba865759a01f588611d9a9783753093d87e3da0827c7903851ae9601d1d0e7766ba645a0a386d49ae2c5eccac6667f449",
+          "padding" : "30ff300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "7af993a700d939dc8e6b16384c311e092883680d4825c26cea5c25d4b738365473b0dbd01e944d84af0f658993b35c1dbf8a657cbedcb1e4b003694aa401c8e568b4e65c9646cc861d689c02f4f1b176acb79aa8eb9006f0f68da78f41eecd4869ecc576f849e9a20e6c1132f9af34eb92da154a459b5a3034abc8ab4c5b26d8721b89ae1099f88c971a9cd58c28369a9274bc7e2df4eb2dec049fea944ba505f61f3d6c4d65e643fa15ed99e915471d2631840ba05e7e05c714b84f102c8fcd94fae291ab216f0845bbee06a5452ed71d9e429bdbd50d11710890673c28de3cd07448a68c92ae052256837429590176c160e7eb42371753e778a6728a40dcec33d58d46ae03ba97fe2f337288a7ef67d71a42ff3944c1a0ff29b8d59820e5b3429342ac74f2978bcb4b56d455ed7b0f035237863f0dbb249f570c591d46a67ef2ec54bc9fca010d9b6c018c415fb4eaa81bb6fad502c273e72bae7acf4b4e3497c9d42bcdbf731c0bcd04604d85171fedc4b750b63d31fdcca389b6ff7e6dcb",
+          "padding" : "303130ff060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "32329315f2d1bde7c6d3ff918ff3101084385adfc2216c0bbbb22b1e3dde65dafcf76864189d3ace3695e51a40ae844ac6e9fc72f1fbb04a047c58b0b6a86df0f2f73726eeb8ea2a428f1588a222bc95bd550083da397add4a6d37a14358f105e85d270b14fc3ed99c35e75ecb818889a065e9afba8918a8f0590d292b507fe36cc4f416e9168cda8ec687ae7cbe2018a585f4c9d76323656ff4d554744c516128eeca1eb6c77c5f566b1ad66665cfc81632cf47f76c2d366f3b5fa0818ccc39e1a95ae9a5a018e8b9defb060482a5e38b4037cf50d23bfbaae13f096491a811a633ce2aad8317376a087bc46f12154e2fd14b2a008698b0acd3485d326dfbafb1c36a1dbf5d7da8119f3f456a4c0db555aacd48905646ad6d65b64deda1b248e133f251ab7db6bc8449cdec4ccb5f45b1a3452e25c3a04f5881ad19c0c241e10f18ea4aa41e1856123e2694dd701edb7310e651b3d7d295bd193f800000931eaed32e4c4c52e339e939de6612ec6bd10d384ee228d2d14498fd1ee4ad3b46bb",
+          "padding" : "3031300d06ff60864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "889989d3df5ae514b1bc95c5231248b30e38d08e48b88ee8270db52c2cf65427b3f7c59ffb718965849e774e40370587dc37fe4de5eafe74865e8c84ecc7a64fd3ffd657c309db28516100f7b57e70c557302e49f612f185f11540d1cee57f643ed976fcef5c71e0c1db38d12c621b8c80e7cb2a02406ffd728cb3029c23d402343f3040d4fbc0cd2439392a93d0492fd90a89176cd72e6b8a434cef5ac4511ca14d4b7d2dee0937bbf5daadee6a1bafecfad41c000f06f72f73c6426fd540d59b0153934fd059e2dec7a6dcb29f64133b856c3b18ee5531998870f3cec2c375c44060778adc1b159e9411bf43f391f0eb82c20e8ea6c6ffc60c4a0bf27fa82e5f79857ac58de7107472670292c66337781070e562da9bbe023d2396d5f75b852551d721f8aa1a737918db641520809e0be68f5aae43994d6666d31805431b9fa146251424600fa08466622e970f520b4bf5a903e329f21c1c74945cd6898f2f8464eb6b48da5af543bf1937395adb0e4e6b4ec0f11c9ffaf0071a453db37d6e",
+          "padding" : "3031300d060960864801650304020105ff0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "6496f96674d13a493992dcf6193b557680962c4152826f35b82befb713a5e86b09ac350b36a4b27a730112b91faffd84eef3e032628e5a06e98600e49665c9755b2f48161edafbc9ce527e3403ca919e1614708a7ab697a20a398233fa23f32ca77a9c81e16bddcc4058015518258bd48b955fa81cafa34282bb5e6d42bbd1c82fc30ad3a7aeb1d4381cb2ef951da28941c4b9617be518dd3616a0472669c25ed43acfb5f55e58a87fa6181337efc97256635e7c678f099c2d62f78aff5b54663061c0cb3c6c330c43e8a4c4a50a8229839ef6ca0c5943e87e9216da644aedc80c698f9eaafdf81046548bdfd119cfaf95667bebec6ce029ca0a4c96c9a17c8ef735d43af9c81bc82a9317046eb8444a765cd4cd848e61370b3014af893ef92faba5a14b4217f076872d187d8de12381ddb7e30e40abc6caffb5b267067c411f9d104dcfd1e395e2b73c67b1d884690a6a4ab58aba1e7c720c187604864440b6dd87d85188e94b0c6fd99038f299d44e161de8ca7fdbae62c3a8b6ee003afed3",
+          "padding" : "3031300d0609608648016503040201050004ffbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "1123e2e0acbc7c8816b6dbe2af9359a2e0b6c10dd522bb3fdfae93855ba73a95961290ed808b3ff8eee8a9f58f3a77f05d03ea1c09d849080c415b3d4214a706692fc72692a75c07b6bc21b9ba4e79f842519b1a5c67259f028995d34c993d0ee0d71262892e3e76d677e838a308a2b4bac5fe20a6ec073148b1a420d5eb5bc4f2c9a45b10ca993d51be5146ca9ad4597ac6ef522e0441e2977fa6470545b086d434d69871561033419e8540299d92f5425e91f82ec902a2d2f5ae8f9017131644107d120786802f30746a116cc67f85ee9676d1738dbca0b360ef257588879f2f6a441d66d5aaa20a98ed3f57a73c3b96e4ced07b8129b50865efe1b8e20f0b81ea5cea294dc99f67cb515a25c646b749b2cc3cf18a41f1e3e66d77710b1854c3af1938a74c991a7e7a93971acc3fc3de3dbab92a84b498d711718106c98c3fb39d3c6eaf5c3621af25d3872e0de8d7588f742183918267458e5975bf5cf0f6c43846ccba256f76529580ff9913776600d1538002690dce5bfb8cc3356d96d7",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "194494470fb927c96faff5627eaba83b85cfec16ad38d166a5d7858d6c77580a4a8bb94c16eabf9b22e7653b7957aaed312695df9bade2b4722dab393a286fc2b734cf6f7876083d42f238d0af3082eaeb85e61158e9dc352bf151de4f1329e7c379b40aeb312fe331df8c460c423ce08bcb6290d7e772a75ba6679eaf4be77227c296246eaadc05fe3451203479eebc0fa86ae86ba9d3b42160f0f58ec0652805000ee8e520fd58f80421ee5e78436ce64a58a8273d512bffd3794b04b37a3f83e7b5805d19595f61d07f7a4790bbffb57565b27e8edba4273339ca62fa711c22ef459e78429e9c1f06f6cf8c6c8d5e0aec1bb88bd29a516f6bc1789fc790188c26c484231a78696bbcb181f608b08084426e49daef7d7cd080ff0a82f9c70605748bcba1fd4ec4976319de01a44b76097f86e627c37c37e92ba35bdd51027651b47f9e87e8490f7ce2d2ef8e1566da7f3bfa880e98564bbe2f80c642d30949391081801af2bd79e4a9de3116658216b9bd7949752661d7ccb7ca3ed5918288",
+          "padding" : "30313080060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "9f6c7acabb5676d40357d7f58dc188aa11da3b032e0fec24d1d377e9dc4aa71d52945873bd82a6b1540b07f6bfa3158a11beb46513446cfd8af28118e693a4f700ce677988221f2cb0f308e29b42feb8c5ce768e34a9ce889fe5429b6b1d9dd5cce537c311228bc524a983ec83d5326cf1141cceabec8170a8ef00d3e003a86962ac760d6de2f906499e60ddf6cdaa394ff2880c4cbd7d658e02c3babdc8c39707e4ab59ece61eebe3e6266d635e0d594e1cb114b699022149b2105157d20c0d4e289c8558348820250a03931033b2cafd400cf62c21a617b16e83cf9c4a79a1df59101eaa180d8b61e5ac2c387f190bc5d01c0766641c8e796afdddaea9a8f625a7eccef21cf8c9bbb391f13fcab5f253f598b880e0391c2e34a64d1aeb028fcd84a3158f692466cd953334db71f4512030534f31a21eb65b459969a00307e9b2ab828f6e4966fbcadec694a394a8b89f94ce1eedd3d2731fc01395d30794ac2abdb0b60dfd14a46b533727d137168fd5b42183cbcb79d38b9259b725fd2485",
+          "padding" : "3031300d068060864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "315f909380797c58724f05150a19becb372342fc5fb8f0073633808be07fa49be3cccd3892417c925674707c1e36e7188d5f1313eadf99a9907d6b0ba2093ddaa28c3e030d64448d935e2a56b7d989475a7a7e577f2329c6e8e2b2ece2a553679ec90a15089b494028c914d883c460eacaee1eac472f000076a4642136ffd2558c5b7033d71cee3a592899fcdaa05ec41de962f19060a32ec686b34f85b105a413f3baa819bc6cdea0f00fdd07900a8b041fde463d7e44cc6c45c48f7a1974e76e0fd67eb495b6448d739fe091a99eaa79f8436839daf485085253ced9ae1d5ea2dd5135fb5caa44d51d728c4e70479c6f0c239fa585fa557e08062edd07141754543c5af6e554afe5b54e7be52d886c83c7ce6ca9f3fcb3e8329816cc6c0d046bb1daeafb271ad6ed3da795a1b8fbaa3a056d407aedafb457045b6e067582be605a7abcd4643bdc2fa492df1e0fd43cc3e8cbac05ae240392ea02db489e6a5561895dfd14f47cb5ec6ac594427642eac91cafec05182f3415dbdfd12a348c3d",
+          "padding" : "3031300d060960864801650304020105800420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "2bff6effa697277d05bb0a7c6a7f714a0c2f23f9870f51c6b2a678d3b06f5c892d75f377f24fbb14c3c9aba52ae06d3741ebe3e116c0d49dc4e651251367fc63720c8553646bd7465298ccb7b4bf765607dd05052fe5a660c84e0e516aa67540af1ca35befb2250602742a53d4cd97cbd98b9136049336e553c3e7dc64eb39f3d96be6fb1146c16f2180992d0f16fdb9a4c9012753901fb7b293e6af23187c76d9ef55a6956b299bf9e9c9c27c9a4fd524360a4a6988ca1168f35f8bd2038869d77f117ce6d20e710a78b363973a08a5eb091a5ae7332e83617deca9911a2b241aca731624905b91ae63a87045bb2c356c934c70a6cc22bcecd7eb26adb6f98b1c1d727582d7329235a438e1161dcc01f82f760833bfd8d54f8d856ec475ef342072c3d6066425cd0309c4bed7a0861afd7e64b92cdf969ca4d2655a2ee47679134fc2ed39b41cd1cf2665eaaf1e21e8bb9fe6f19b16a057d8277d68ea7a240c95978deedff766e84ef46490720a3809e3ce2a9994af4a04de2059c5a393cf3a",
+          "padding" : "3031300d060960864801650304020105000480bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "6e8ac44ae4bfe2af008414861bcdba58127d547d3b4ba6516ab18875ca3dd015dfe303d54b50b2fa8c001951d16e64aa9c2b14da674b4547317f14d2921f1f22ff72f1529dc8074725872720f3799bb9364e27add3c4eed2da587a6a8fa45387a80a68b879b309447874b8d81b74c69486c53aee543ec53c02433c9d405b86d0bca97b34f38db3e7536b838a87c2e007cdb675b7c93be81d1b102ef60672b740f3a9c8124885b6228bb3aae713b69224c5278cf9d4b23028d8fe0890f9897b215929e110265d93b66b98357bbdcd7efd51598012c313b120233911001a8519a9d98b742650296f8c5a67ff0fd0446b3006ac254cf8085036bf6074da96230fb0ccd02fcd95fe4b1e8dc7cdadfa2677da92a80efe36081333c557a4704422c3780a00beb6670a7ca95a30c9ecd78d46c88e30a081d0445142761ffa4e8c8682610395d2de0602043e6567a6d62a77cd6c697fcd362b13aee3fa92946036086ca3b002f1eef8dd5550a4aec137a6f60f7d943c9522f55cdc14dfe58639b17350a3",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "83dc093ac399d896efeaf13a4e5b9f5404592c7740af42186b01f2147e3de7f3f46ba323dfa3dec885e10d92c4f5871f50861dad583794b25e3ca2b68eb1458ac3640c7d13711d3338dc509f10df2c52620e0b7c2e2a72608fb52b981b6191765ffe4e675c6a7896c0f026598a3b156f1777b781b6ee688ccced77b95b61ff54b1bf492cf732b9c7a8212b18b5c899929acadc622069c6b4b905add8de54a2332436b5e6f6e16d572ffe46fbb76067e1c67c7bf58d449d2cecfebba5cd7f8246d6511cac17b106e7421c6c65e704a2496773fe86b937265cf27e81a37a3f4f5b21e47fe214e84a9163cc89781468b3e5868ac3414dc112f0fe159d909fd312382a8b76fe194c32bab360d9d694fae4a1c9639103556a7d283252bc922d889c0d5eb6cc657373bbb02119cc8527e6aff051d555ed12806f7b22a5df8bf13c5fd35d5095ac6af7e106b02d4b18dc4400d2404a3221e1f1c8027e722ebcea1d6271cb878d0e6b825f4e3a692fe7eca65c4287a63a3586810c3865cbd7fddf450f99",
+          "padding" : "30220420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "6823574bd9fdd7e59ced33e5660e9b5cdc90417fc350cb4535d78dda72c07ce81ac1aee37b90a85ae15f8f59be9461e846a45bdaf3e5f5868b83d1c9465b080d5bffeb933aa9341b6d508b059cfd2e62dad31f35d7fe9058bbe65024d0f73d43a3450eaa707957fc452a69ab9a8ecbb8ba002c870950ebefb06fbd9399bd08d64f72dfb4b2d3dbf662daf7c2c1dd8c3c445e1402e2009b47fd92c3a23864a495037b7f2fbc3adf19355f171e2a9f65f5a3a2c45b131e5398c434ac6daff018e5b5e44b9cf1564cdbab39f407a334fe1f05ecf84f49cfee88836d1068012b4fac6b50f85f8b1a8c37a333028e38f719ee6445a9fcdf7bc0fabaeff32dea7e45d6e1c12003cec8dc5680be584ef2cb478b9988fd7484e8d374d825a95efa5163309eebaf962d0b8ead00b4b9e4791dd5c6bd26c085c96462f2e4d19cfef3a0a97cfdbceb8c6ac2b45aac1df4be4e6c775021c6730e88f86babd96bddeb0e36d0fc573c9ea9346d6a93bd096c8fce248b93dbb0ad00596788cfa6fc0635fc0d0778",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "90954e5cdd1888a510092205c3f66fa1cc9ebe82b14e80e0353ffd417876c69701801153402aaba503e98fe9020f54f717b0af8968fc2524a3081e709974ca8001dd93e52fe0d1782e3eba03a51d260582e4222937252e454ae7d5ac8ede7a4888ff826547350c594186126efac622a44e9731620a57cb73de7e29bbfd727c2dabb6a5f6cf3eb0dbe072990a8b8ead67b8a719e5734d7f4d96fd674c404491becb4b3ecddab7f872afa3326b7e18d47d3332f654793323e13b4d9d2f77871c7ab50ac4d76f57fce635da6656b1e09b3571b8e841835023b2226a4ba8cd0b95588b0827bdd4b6f45fd183100d327777c2bdc0a0d55f0e4e1760cdfa7a2b701f06c0c5800fb49bd48d57a077ac90f1726ce2ead834fa1bdf735b13fc234a07685537a5eb01ec44ff8dcf086d2de02007981bd2338bb2b455a1379d72ca8a552bab119692b9ae1f2851ae5e838c33d1d2255114cb3223edc18512cd41057b71c4185022c4765049089836d62020905faf3eb92ba80dd91db64e51a75dd4f206c140",
+          "padding" : "3023300420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "058742fca1521993d7e3bf04b3369a8cbdd505da63f7684ba9279dc8db6841342664a5d780dab0b87cde7b2dea6a0fe77ec1b723a47592ea932f895faf2d1e8dd8ab16228942a217db65d51c5cd29c05590ce9ddbf6f19111c9092e60e48ac5ff720e0f76cce93c6de41023033a902be28cd5c0203d06f589e7b63431dd741a3e227709e73793d0e2bbe0fd22dfbbbc1bfd8343dbdb8ec3614d771f1c58e107b567b81105546a3b2b54d3b56f8c5785d50f3cac892e03f7f879f22c80c4cef3faceb1038234e6bcdf2382d8565d3ef3ed668b05c64e08e0c7bec759ad77c6178161652b95142ff1bb1b3ef0d1738e444082f113a448e4aa7d3bd182ef8caaf6e2d07448ef5ca7cf7933690040d6d41b5d19378f41bb9cc7e659251bb63444c3983377bb01a176828dae9b255885bc0d872d33a0a257940f3b30b352986f201646efeec10796c6bc43031813f33634b6450a2d9a9d3d96ea95a6660caba876a0f311e4b083b25e2fa9f69e405e59fe81d337ef0b27996e76c816bfa84929b8a73",
+          "padding" : "3033300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "bcf07d322c37a507d2288f6a079b037a6cfb1b5bbbe07de90c9a13b00d400f94a03c8101a2f9a4ea258e3d8ce167fd40e48e5ac42be2095302071f23596474e22d2b9fc20800c2cfceb3b92ba847717eeeb030e4304a5e1138976166ffd83467ae7790bcc4d0e1d093ff09b41b62cd389a612ff3b9204af9a24efee6ced39de96bffb1ad3636d7aba49f8deda056735afc848381546d9c2aeb0a72ed2602b4a619ab9a534186f8bbf5924618b49cbc35bb021e575c68ce5ccd886ad2d0c968292f2dcdd411826470b34717fc2853f52e10307136add9b68f7c79c56d992a08b461418781ce66311f8bc37abbb1dbd3551f924be3b1edfa7340267303cb48de616e7cfde59111dd1f91592f268b20581fd1936d8b3ace85cdf3e0d4cf55e170ac99de5bf5df69b851024858f8f3bcebf3f45d7831ccf72016877ac59ef49ed5d81112a2fbd9f97e40ff1e6f4cb42511dc246a75af9fff33bcde3ba9dfa3249a8df3c8429e700c1b3d701914802b5edebe909ef86b8f57b556da3b1f4e675711d9",
+          "padding" : "3033300f0609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "7c6c491e6fe9fd16192b3baf32127f4f9f7dc21b1d2950e67006453f472cf4ba3fd7bcd7cf6f4fbff726b4d757bba414e1a848df8759a0ed67ac8275962c5e812a0e5ee123fc87a0bfbd9428e9f5fb0b484bc0e28b507606a71a5df14a02e968bef67e1a55f66bf54260e5563f8cb14d98ee2567a7653ab93050bc443f6cd857ad4e26e129350cf283ff7c6141ed0a5c5f9034c5e3a4a740ec1e80017c9f2806e87eb946fe7c2e322091632746788d9763a2c11563f871cdf0917ffbcaefa858e03503ea4ac73c6491ae12e9e32f67f217f903f6cff2b3f1beaea6d2fe4aa82dba43d07fc1cadf48f4891acdaf8e622edb0c8d7e0eb745e02f39e69efd6803105fc8413f16e891113272b1c3800b336867a1a303cf8b80527611fa2328c444d293287b226ca32172af6aa79f191811dcce404f5cfda1084e8b8cc8f26c875213ee3ff2d758f58db2e7eac571ab62d4095283083e5287e61623ea9b01be7b2ad31e887146f73ef3a1d70e86428b33db66de0a0e12d9b6960c00d9048b266958ac",
+          "padding" : "30330000300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "43d99d627869bb5cb798be4db332583afc162875ef4200b10b0f019cb186a44894b511fb674ee02f4adb6e2d529ed86812e559797a7d60512747cc6a135dd708bc12f1acc01aaa6f6584a8f9c02351e23b77bdd2999b79660ee956e9bac5b98647068c0c6e1c5c5907f712b6993050abc872a217699ad5468cb420b90f5d74812e9d9af4e5a200212c01469799de9669f28d7b6e9726518a2c4fbe5fd1ec5ad66a1d472e8710fc5559b9e75d3aa625825886e9045c2c8019be254d2f11d3a55b9a3fb87f083a009a7a6634198fb9f4e6521d2706e3192e3e669fe201e60bd80574b5e8f66e8ea08740f3b0f0f3cb78ad90ddc95843e42bf4baac25adb2b57f667618ba7bd1c10b00c5ec14dfc3ff1f8f5c036ca7aa149f71e7560f1b1490baefb2b7d656fd6ed6e9115b9b59167a304ab7383e091c57f57e3bcf1ff57e3a4b99192b91f4297abbe9a5d94b6bac7fbc9a5bdb64657949ff0040ad276e2d9de21df2c02d68929a6c366ba3d0514b8b50ebb3224ca32ff88511d35e5ac6e51a28ca",
+          "padding" : "3033300f0000060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "544f8bc68d5fe49ca8188815dabf1c434ac7379a3796c5c78fea5fd2a9e36a71d50a194724f65cdd9c9562fbebd44f5ae3a690946fb6e528554f51353ccdc899c0c3f635bd83afd3429ea7cccef96f69cd6de7ff58ba4d22ba032bd0a113dbebaa780f149a47203a65973c27f0bf00c168382f2311de1e900253418c77d521d5c5838d4fedf6c3255d8c05051c396f0f6705cd511a94b19a96b043e3c4f95422cdce64c34767ff6373199ae1d3168b62ebc353b8c7e044f4a1ac36b1f692183729f8865d24966101ef047422c284cd9dae44f968b209cb1dc11c60cbe2880c3745862bc1c64899480ffd3229a551fa6e765f4c01731a978a1e2722f1fa0d7f235ef114523756848816cba51a561744355d5d484119faffb953f5ee9b32be692a09ae40bdd8860687197544c39535b196766e69ac8a05dc40c733a0d906d0f7735014810621a6d83a9e6234e6d2d9dc7b1417f8ff782c8f7c44c713dc9fe30757ff95cbcbd159f80fdfb86eae00bb8565d497aedbf3c4233c616ea852b60b199e",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "866c67760ebdc192e302d47ddb40a927392833cf3a3a3b9c33923600fa08443da118b47db980ea74bb73518382723e375fcd9baa773f3b022d37a4b0fdfc817edf2a4d9e71987e034cb5cd80caeb97881abc45e8e6b965941dab478d17039d98c989178daa541507b84df445655f1171431da75bbac810729f973cf8f3606529c89b036e046ad7265e4e15c7f18b319a3c870cbfb7953e069794978aeabd9c20d3b8a3b9a44b68b620196eb1817d70162b22078fc4a63921a7f35c5500de7ec0aefa27d93282ce80d2ccd42c2d3ef1212c10a833582b42be78c6e866e887b8ee329b883cb08f3e374ec5064f7d1b760b717976761a44eed64d12021e2fd58c9640398e616ad96ab2e56ac95e32421f7c577e00c35b1fc95f1825a0214cb49047ede981a0db76c18e7ef8a9628702ddb4e9d5dcfe55da36857c497b44d182761a7c185fff68f136846c698b5dc0753956209c2c0e0d247b815d711d49683e9386387e82f6b4ca232b653c365485efafa988e799ce681f3c7c37275391e56a3233",
+          "padding" : "3033300d0609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "0767adfd75befa190f623ce2a00fd6c0dd2a8f1e53456489f8329a2ff6dfae00ec4dbd3156cb278c41c197bc80b260c9b8332d5f0d39fdeed33c772c45c17d3594bc37349a31a9ae58b4426860036680546c66d10d3d539ab377c2fd3ae25de99476f94187b895ef9384c7515aaf9b8d580eed7ed9273354eaba4ab57e4bc9b7b48529072dc691fd7e1a51a4164a795e2a3ccb2520cab25b8e78fa7ecfb057b05e8c056fbd407895e83cad14b6840ca773d6e6c8f2c3e7e34d77e3f746351562829a81e04450076c144176bf52c42189336313a71924964bdd34b207c9e69c424030e15e9f2daa50b4f162d2c872828606b12d71cc845e38149d76ce72cd11c33c46e837094b73905534cbe6ea9d9f84f74e9125a07c23dc32ff7535177eed47f979e7d98f62864ced2545a5e994eccce3c9ebab7c746f9a79eca3fa8523cafbe69b5fcadeafe8ccd00d91c1b0f12fc2868aeb19ba57863bea62391235eb35fa7924ba74b73bbd0929aa33862419982fae0389352840833e4c8442449a392105",
+          "padding" : "3033300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "1baf2ccfd98c3c37b60101bc5c8f3ef871937f3e4cd7a21fd765023f03437c3179e6fc9715d6ae00425c7838e5a5eaaf1effe9f7b591f588667a596c539326e8b7d8765d78bec33e057a25067209dd26e7a9d149b0e0a3ba13d7af57c436ab9bebd871a2cf4f88b26da4ac30d6aeed5e67b871eca23c2dc34d0685a7bb9ece53ec9e99228c0561578f39c269cdf19e8c98cbaa2731ba1faa1008fce7df30a1e5f26beabf6cf0716faafb81d1de203a1aae8f6ebab2b123697838b3c0896786fee11e2953667900a7ebd359bb81b340c0b9e4353af1091b008b5d5f8ecb64d75c574193aaf772be64ed106b374cb842ad62adf9c98461327f254f866bc28290b425a3ec9d8e17e126fe930d58fab0a5985d7844d85ada69803bc29026e5be9c9a9bfba5e4ae00c91afcd2901bfa399e459ba87bdef0577366b6a546b91a8bd858e33a3ead31ee07405199b9638f09848af52b21092a5690719c75b28f12b983712b2c79035eb727e928e81df39fec2d939510927e749c4833c02c12139f19447e",
+          "padding" : "3033300f0609608648016503040201050005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "c5dba54644047fe0d229d54710c0ed4f226380e4d1ac8aa865f3e8060ff6c5b3decff0836898d75b59d6e7a6bff092ced3782a8d46af8f3861eee72045a297b25edb181d1ef69c3ae0e69da6c04fc9286e2f919a531c44af2b2cab59a815f3c02f67a1a2d0b5ac5dc1d8a1fc7f6fd07ef6e3e5415987523d06a9a6a46a6e71f8892756fb18ad6307c22cf97075f6e3abe18992b55925d26dd2fd8227f34f992358736f22ec94ddf9b1401e901931e035fabe04abde7fc3e1b3aae5ea51d5e8c1e4cd6ae0adae1f0840a2c990109bd1fd39d6ad66cdf56b9759067c10d743f39ddf608c8fc7792c753cbadcf5ae6088bcb485c851025c5d7d0f28b099977d619b5b78c3ac9ae15c1fec85ce2ade0743c11bf7709e6e48823a9371e380a9fd0c06f2f7abf6177ebe017ae8d9c1008f04b93a8588848dc963cdcdc26ff6275a7680dc0e5039414d746decb067d058f767291cd1a0ea62850496460f75540ddda51171db09e45098833e2d67e53bb6f3ff7da92b48191c0d7b4b3161bec990359001",
+          "padding" : "30364981773031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "1a9716b7cd0e7d9b2c348076459a9384544de7d52a597fda1d6227247028e21b910472a11e6f3924118a364936c895eb4c3ff4cc4064c43175a78f0b4de4464fa32c14c3593af96f262ddf302abcf7e6756b2a79b821dbb195640e8d30ce57d216b178a4a34415dad08f4cca150e39a901aa478d3f5fe4d4ab351d41a66df0e0677780f84becb4ba59655e211ee6f421685cd42616fbba2c7cc8cef92508b022e525195476fcff4357b79f292ef7e4fc754de490400364ff0969946c9c76366f17cc985aabe0fe6011e734d9dbfe6501a13dbb60daa4c78673a25d84565a1e13b7e981157576b8bd3e33ba750c9bb7b5eccc8f8fffc4ed817e2444425bb5b5d42a5d702d8b0cc093a57336d4becafcee90a65a35ef4800e0e0a5fab2018b1bb5ea153ca23ec59ba40d05b8a3df4cf807d934483fb0d8a2e7c174eb8c3f2efa7f82ac8a047d0b700134eac76a469d6f40e87d2ca2408642218f47e4359e697c62355813e7df722ef622659784406eb5ea26c1fe3c5b3e917b13a12363b20c5d17",
+          "padding" : "303525003031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "191593fff20301e6587a3e57b9228b77260edae7e376416eb8fd4d80b31a4e7326d0e59f3ad3e178e84936c66501a8fafe8f2f4c9e4ba138cd63991342eb5be66c4b6231e995d6dab798efe105f7133db0cfdebe8862b21c447a2acfa9626e4307a0c7ae0fc7f4de3c78f9ec480dc3756c4d2b8c2d748bce4a7865fcdfa5753d72f2b84b609af4c0039425a0b80ee4ebac04bece2e11725f9f766f93917f3822c94c8a186f4ff7855ed54da3a959ccbab54b7ec2a3f41073d5254a06ddd8a240a997e391b06b083dc4d9b3fe7feef65453f356c84492d3842e957ab113897ed874ae9c5ce061be8fac4da3228c0fddb7cabc89c8a2edbb3a1b3f78a8cb41810863f9b1ab8e0e2a6a2782045002d4bd07cbf0c6ce589dddac5878599be97cec0c04dc42594e2366493919c6306d1b2abb1c1279daaf85c90be4904b93064acc73a7d59eff8191e3d4d9e3a763dfdcbaea492741e2e17707285a9ab8d9aaf8d2d95cb4ee0bf1402297917ab025cbae8a201099c4c06ea7eaf0c6808d142057797b",
+          "padding" : "30333031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "105aa4e5e08da8705bd94fda6efaecf22363716f59ec83d0d4fe1a40160276a6cbbaf1fbf3501ae445be06c9c04b541caf22b58357404eeed16093e3d295391732dbbc3eec7589f80c02a5f01dd2b371197b46ec2e45723f086d6e4a72efa11a609c7e528b04a519afee2d01453d8504fe4e039dea8f5fc1035918829b59940eb97f428910186d6569af61371736f3c3aa65913b4b0a585494d386cf83bf6eef442f9e763fa1f205e49a80c35c7906264d5d07012147b557d0f8f5728d1d533b578d0a8294defe7174c3838289ff2505dda63ca7a1d261b754555572fae41db05ea1f3994d4469d490fd9d251d4b53df0a7ee9f091657a717368c4275e3c3e1a2cfb05cb64cf22d1e7d9bcabd4c91da37aa73a05a2f2092b218c081217456aa69962d5660cda5393408cdf1d2c7fd1968bd1d3232bc5fb90041dbe707b63f082c8ee743cf3102792d4b1cc9650d5d9f6004a31b3b32e9613d3fabd94395b1a01026a33fe3a42db19100d3c0eda29b849ce420e4ac0c71fb9a610c730f27bb026",
+          "padding" : "30363012498177300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "396b9f59618e6b824e1ebc57b8f18a133b49d96bd3fa39c66bc4a206e79ee7984013a324dc41d00bc469285e8d255dacd178f106c9a37f11344e21a24275417ac29f2dbe14377d0feac8061fc24d5b178762700c60d6cb0a9d3896961daadddd11712c2c006eecf154b5b0a9fa5786106e8c12cea3e3968c42a165f640fa0bcd5bbb3734c55f57d14506169d7f805a4ec4e055f5ab2f1c0b0968b396119e2d64d8eb81cd0ab78e09790e33ae752e21b1b64dd5aca05259aba1c2014b390e84ff25f2dae3cc198a7ba5d9e4b104ac6a5466e1270a1631e6ffe777860eb63120f1fe8b3422a467a083463a133ba9db8bd18978ec559676f969e5e466ff2a8f0998bab5bde97bd4b759eb3b14b8171f0f5c19a2d590a344284b69d0b08729ed67824665701c360fabc9a48cca7591e8bc3b2300f1c76e4c6c13002f53b2fd5d45da382a63c1073cc6f4c43fd06bfd4d70104c4d5e2c74ae18a5dea531f5a6c2e9e23c381b1fb0fa1fab4fc94d662db842ff202d55f8cb0732628c6f15f824aab121",
+          "padding" : "303530112500300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "82d26da118ac4ce272ad266f402323cfc25d45c885d8a8880e04a6ef52d7de7971b00ea0adb51768b31348f590bda5e41a8fff36939b59cd0012eccf474552ccbe2308db3b3910ea4856a290babe54fbdb1f482f524d3fe81d1037cccb5dfb6a570c898680f19af007abec62fa233f9396279d0c6f9e8f9bf87f7a7e088f9193febca5316f0f10e139fd010de1a37173ee90d2b35467b768625dc59ac028505b885934e55c2bda0a97f3def80a2e26f14a4f2f9ea4fffab807eb2670aedfc85c2f95f9898f7a07dc2295c4f91ce2b96134e92aa9e053dfc2cc012513e39788a6f0af4e14ca6eded4e8e7befa85d69e9c45b98ef9bf0a067e9fe8ba29314b2be334f4a5438ae4bae6ee85b6b9086bd3bc13838ad27f033208c834ddd3f48fcd9c556bd6a6ebd6ca625372ef84f6bd44dd0c24c0184b3815e893952bbc42fb790b472e89beb93338dfc23198551ac7257ccf7ad1ddd776c7eb620dd6e6d341dd0693dcd91cef175f1b3165cd7d99a2623c7607dec9d0eacc0b6c487ee1f90e4236",
+          "padding" : "3039300f300d060960864801650304020105000004deadbeef0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "02cfa2d1774246a4fa94a7f9142ac84270792fba20b09a47f0ddf702a41e671dda6690451937b0063ce2797c2146eb68d2e84c87211cd3f9e8d169579e88e522c98469ba814c5a0ee2f0f42386d44e07c8d447b77b04fe3799db3f2d7d20843027408a4f1f08a0eebdfec3c3ef81e8d9b4fec722a5782b2e2e920cb60b0cb8a28e7ab9b8c82ebf6dc25d439bdce586f4dbf41b01a2f777ddefb13fcd0e268aed975d5aa986cfff0403b0bc260bdbba4db2b51bf1f0dd88c54b0a7a6bcbf3ebc8840e751c6dbe405d6cbf94f12820c536700ba940a70a4ca8aea4c7690e33ab09c0d1fab7a962167e5a8fc51e4b07c82312b0c97e07d42bb2e2abdbb57442e9a8520b0085af7f3168077a842195a4e19c7fca15f2e7471caebfa80f949528d81b619632fb3345bb7bbccc825ae8bd20fe34474b70b7420fdc17317f711495040cbaf5ae21d7cb70b47a2997b794de3d9bf805d1dcb8104b50ea69429f3861e61b1a0dbeff7a03432f98a8d537a03b37ac38d9838a7c6a7ed0977f29f96b858ad0",
+          "padding" : "30363012260e498177060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "5efc66fac14f6c109e9a2e219bd3852b28cfaca26f3c26fc8777959dfea55c738c5c086e819377f8f4baceb66b4980de412c63fd5a1e329d13a14ffcfeaed1d89047dab579e243b3fd6b85f87069997aa7d07f71ef40250ae307b280f0db1c30a4a7c2411ef723746eab7045f973277a174068bb8bbbe69c0773ae9977a7f20e971d405bfa5f0f975b5acc17237e7341f0ead535ba863c61c155377c47d4bca280c6312c0fdcd76f52eabbca08b442e0eb629a44a0169c6c63e5e1c52cf7e2c61dd29abb9142fa7c83439306c2c1f6cdc3257ad63d0a57ee0d5f41341acc7f452519353aed51d739ea9153bea1f6f029bc4eca33ae0511db90df1bcc780b3ceb6edf3213b0b2e20530d26bb6ba112aa6e1363da049d669266a956fa36e890464399fbc43baf7c8fd3d47ec6db5e1029bf6e603b8e1cf5ed9ddf6536bd8d6a7648af7fde533bd51cd8f9a6cc28779163947dbfecbd6f50917839b900e3fa37274d97a2049daede1525c145bfd1660d4577caad7888f5c84867c6fff30ee8356de",
+          "padding" : "30353011260d2500060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "a4e7378d2aba9bc6cebe5c8e5603fac9bce6e3c193c1675df95ab30904a149ac3f3d7a1312429cd63eec085f7392051a2bb883c0e078af0bdf29464bac2268a8139074ec53330722e1482b935fb57956214c7445d8a778686b624944bbeee7a608dd15ed277ba378f4e2dea04b33103e437f94404a09517f4327c80530a1f183e046756c166e526aeef53565cfe34122ec23312bfaed429369ccf08f52c2351e102f439751f26ebbd5423f9efb3da3d3da0edfcfee3b9607fd77dbbcd7546ca4df84905fdfafb469bcbd78d6cfe6e420993740b64e0846b5c0026990224cf3b5e1c325326376c5d6f3d1971365ff31498089482c7df06dd92f7952e0472bfd81a52b0fcb2058f5abdc70bd7d55e2d843821083bf6e8d13b3c11cb4fa420fc90721f226526ee677a8eff890b664e2a5aa5735db7e752b6c06218a1fac315d6f1cd6120a30fc46e8ac220a1bf2e6e4cea5f352ceca4ed4c5675ebfe68ab15da158a22fd044459a4aa9673a5fc078e7851170faf652c9791b665ebf62e16891b54a",
+          "padding" : "30393015260b06096086480165030402010004deadbeef05000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "616a47c86dc9e2423c5678dc0ddb74cd9555f63c219caaf182f82cc0b47fc5505afb0405a693c4b45ed670e009908b6316d22692d89798521b477d45c913cd31042b8a0a52626e1727bc36878d1303c52ead0cd69c0e9711e8c5693ca3fcadd48e2641cd73e40eaa26fb7de1aa89f54228fe67cef381f52a571c054ec1b815e37d071054b08280e940735569f452dfea10d86e742ee8db6c52c696699b99b730bcae337f093418598bc4b648276b6a7f65130bf8bfa1b2b2c7893e408a6eadee77bab6c28aecaa0e3a200da9fd4a7d06ab00c38e7c0cd7e41f64dc43526fa28e5d9779730b41e90b6366fa7fd10055d76c95cb694d07c3dda1776fcc774c2b42eced3c82c9327d6865ce3c76b6666770b625eb49d6b7df9fb1eaa4867a8b13ec1d15af66bb5c37ad8ffcb7b059ebd9f198fa9388d706efbb20d7bd6f1a2d6a192e55c5adbca41fbf1f27c9afe7f94775c123cfb7f1b13a980e86b812f5a8a848b9bc76472c52f31f556c02eeb4b71e388c7cdde33b22bf4a5ebe1e9e10a08afe",
+          "padding" : "303630120609608648016503040201250549817705000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "a158c783c6141376270cf0ab8f4c08e5a4534b576786e0249fee264afee8d92558a2cc1224422a5b33f1d0661fbd2891f72edf381f9b52aad268dfe82effc96bbca66f4eecc7abf2449aa3fb858ef5606299af5d477242cf91e54edbe042a766cf108731ad6b7b038f28a3534360906272027d2a83ae32cc0ef53c1a89e1372c50edf86b2f9f09f06e49e1072a5260cba1528e8607b8336286fee545e325f34568bb2867f3344a7fd53729da935589671d6ce956462b4729f8a1c97aad3380852760f1c16dc0f9fe9b9f64e7e0317e242cd777ecba0bcda61c19d6e21ce54f007da49e2ef35c10a0bf42ed8c522e6bebab94eeb5557df840c23739751e7cd05f02c52306827c71e14b6f8771e2d3af07670a7956eef491cc26a512a32c3a21a547925406184fe55882303c17c8bc2392cd44a77f3723dfb4c24936dc66b66da9c72a3ed5346ac14d31f5efd227b87faee10e5cd88a1ac73f67e5e6527752d55a12490afee5f500c4b12a28e2ab4ecb8928aa5c889f8aa9696e9d5116f748da8f",
+          "padding" : "3035301106096086480165030402012504250005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "0f442a9b1d7aaebd50a48a9f81623bed9a6e57a9aafb22f8cb6e56f28086ab3609a8c13f9f676451271325d453f9e3b31c0310a38e71f91ae90899ff610bbf474138a9e610cbdeaa52985446d873695e35d1de1c777efe02eab419d8f0fd5184c850112bfc8a271307f2a9997155383a85b80ac99f6031d94639a6603fa842f731c4920c7841228441136cc0b07ae11c4a07c28b3305ad2cf6a8594ddb6fa357f17a9fd7a72635323265a9a5eab8029215d21f2b3d2ea41350d031c93bf8d3ecc314d6ed13ed0517e12df45ade2f7a3cbdf0b17b220e83031ee06f4a670b47c7d5bda77c0da7f3df5278882049582faa073667a6270467d8b4c28b5930856ff55400aa1c7f7fb52d838d5e9508b8fd4211e130dced03a6996b9afb860c066a56a6d3e1f1f7fde8179adebaeffb2b8bb91b83b7c1c56a6dada297497b8d8de0069e31ea452c0fc4f820d769c12a744d22ed110fd99476a4524caeba7f766e1fd0e0ee01e91825bb5913c0e2f87497427d2687d776e2ca91055e38fcb6be3f843b",
+          "padding" : "303930150609608648016503040201250205000004deadbeef0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "6e317cb8fc092da3e09b63590743ba17426826083697bdd526f85d1ebf0270afc0fd89ad67762836567f36d2bfb52252a2a54ef9f753a4afbfe520e857a503385ab6c16df6d4e3494954912ecb31c514f6427b676a1c61c83ed38009693ebc39add66a1af1ac1834381df1144fe5f0444fc955334a2cff4aee6f3cdd3abe5dc54cc4ec25c5c66286e91d29a5c498872e7edbf3f4235bebb402dec4b91e629123e841dea66643f224c472f75caf31fbaf18943e7bbd09fdfa8dd908ae92631129b404f7414037d42b5914b532e7ff5a618876a550fdfb80289c5d635adbbc60e41ab577c59bb6895e2c4f02140b95a47dc327d5f414293b3577acb277427285f82dbfca53a4acbbe4497141efd0afea149a7c12b6c702fb9e48dc7dcb0d4ff1f96cb238d34e35fece1436b14592d3eee800641800dd9df1b9541435cb2ce933a0150498f9416446c95172a2116ffb58cf5f397f0d0af2e025e2951444d204291b1c04281c9242058b937b5d01f74b6cfa2d55d975c6622198c6cb271f289110d2",
+          "padding" : "3036300d0609608648016503040201050024254981770420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "41a99f4e616d19dbfec0e1e5ab8ab605ebd218c107176b2d90c58e41e01cd6f6950fe4a71c3b0ce81dcfd6f88b57e7345dcd466e43e3b5dce645ead38d0f5df81d307dc89ae059b3738b7900eda146f0ad965e67e760231ba58fe7e33d3f14fba66978e3eb7bc5dd6960b24ba2d59332760492961b5b81af6e37fc3065105915a4505fd239c79e6fa6cd8ba4bb585fe937d5d87955f659cbebd6bd9f0d0030e8a52341591fbd1624cd2236352e9e6bd91d7c121357a4af1184efd102fa911a7eb8d7dce098fbc02e34ec92d14ae333e502ab8bad7ffc275dc770913eee42a316b1fac871863e0f10899d72d0802bea9c07bf21b91050850547d6c8ff99ef52b1bddbd655352ef0fc4748c44d4bc4a4dc4ad3110b367e63620cf76139fff563a7c76a9b3a24cab86bede3568ef1524d476f8e39b9df374d1d2161167af5a00c61e0aea1bee56ae05ff1759e0826c4bb0b2058b5dc92a5c4dc865110bfa05506121ae58583179bd981100f42d1d89fd604db4f13db7ee6c49ecd381a546813b284",
+          "padding" : "3035300d06096086480165030402010500242425000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "9e64f806c7528a1cd1c8dd5b67ab67335b8f9a1ef1fba99afe67e9fb2cb11263c79dc422d51a68728464422307a0a445ac823d10021ab7789e6f701182f632786f77c23806b81324b5cd78e462c35e495532c2330a08e0e9ab7b44bc6dc5d99c70e052752a4718fff47d00c9b82c4dca22fe3302cec11026564288eda51b692f36fc23ab6b3a9091c332378be3582aa551c8471a9df5f9451291a1da952019788f461fc5262e822bf5d5e11f80b91fd8748bcd2d856e0bf7ee29333b627d6c44ec0ead86c0ab18f93ae9f29dc3a91562387a703b42a17cc4b7b310b6b6fc7d9bd7bdd907520dec948d2048d556dd6db3b0e5e95788d88d0d643c6336604d0b81fc996bb85d2b4993036635a15acab8dc486e061c8e2eab891daee57bf08563bc018401087ba854f300a97b9c5fd6c5a3915ffb240a577e7ed23c76fda89407be57aa7869db4c6e72fb69ae2af877f189992d99dc17a071894a2c6293ebc9e205ee3792c4da94de734b77c47b21c7a6572759126bdda03f4984bfeec0afd744d3",
+          "padding" : "3039300d0609608648016503040201050024220420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "71555a4df579d3970cc515fab9cd2775782e87a7eeb0cdf0fb9614db00ae74a78d495110577e29ba7d7ed8c2f71b8f476a87bc569aba9926c75811241b2a3525e6dbf3c339363b9d85511a89726ade496fb45fb476e0fbbd7bed7ac1fdc9e8948f622b2f2532cdc139fbd500f2807022739cc396023e09833f513caae70374296f6324e31f27b1f00978ad68a65a87f63e868f66589becdd34dcf732f7fb85a79a28975fad578cec2ff9f2b89fa7c03b03fcb14a0cf2cdc4d989b6131fd3ee11907f9405ded3963c2efb6c1bf79cd42335cfa143e108b8b9c2aa8f7d1e417c0fc7891456fd7ef72fc1d0d50affe882d0a31139df99a6366e7b5ca2cf5c11e7f50e2c52f91a36543c554e2e467185e0bb4fe29dda115c214c306dd450bd9c261aaa2844091796c2e8bec02b40c7876495b7b4d327c6ab19e1a0a90dce923ce8f8cd7cff7b6ddf59a011d821f2c86207b356d0badac5c1028b3b3727933f4fdad43c923495af16a23e913ccb998ba0975863dea15a42ddffff3f0b4f04a153372a",
+          "padding" : "3039aa00bb00cd003031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "a9ffef059db6395dcf691eff9ab53fdb762000fefdc58b964af85ddddbed15049cc8bb2eaed4aef8974bd3c9e65386f3a11effadc26a9f85f648bae5334d08ce23db566fcc8a6ddafb127dc95d4c3ba0d7b71546e1c010085d0e5c9e7f6d1f396b50c9fe712ca30e78dca2ffb58ac5fa5816702caea67b932f4b8669f2cd3a61a412c685d15678b2fcd982f3b8853ffc2efd841d59136501ba65707e9488fc0078bc03c318356968e7478ee3eba9aa0b186660f08b055cf025866db2d7162cf152c6caf4a3d68b5010ad9e9fb346e47cee9c95ca4dd5455211d0897ce239ab92a495cf2db2df2e1a3d8cd1039351984277ace1888b0194dde50d53cb9b05b28bd51939d95683160a9d7d36df412632ce7cd693fa89bace61a6a36347339d6e068f8a7d99f76b470f381553a1f901e5de43bdc8ebe32807670abed2d1d7cbfb212ce10fd5bd3769eea5c175f006aff33677b20383e61433f5b63da31404ae940675d3fc1c3cd39f56aa2cbb30efa646427614c2d61ee19e7d5b8ec5686a071b8b",
+          "padding" : "3037aa02aabb3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "c3ee2d5e72370734429ea8efb80d949ad0f0281909af720183edc0f10c83699f8549fa7820631d084c812d37e17e37d656f2749721b90db083ac0334b56a413399a92977b73fe292822433c1c97b2a176722259e9d19e28618dc7a42aa8585e9665b55f3ce00dfd28c7861eea80583fa99d68c8dbd5accddbfd8dc2f74b9205059637a5a09952b03ea2ec0bc2bdf8ad211e8cd6bd410337eae3331715f92391b631b5f1e2c339dba0cd6ccf9cbaf17c30346987236366ae14882046dacc32b676d84f4378c3f605eb81529c398882450f833969c8849c489934e0225cdb54ad6539f81e276f16004761361ac114581ab1fcb94bd05854687c8117c590683d7a49f7b5d2b80287cf47e001a7c11c74583ef2dcdd096bca5a38326f87e67d4ca1b5e36f88f0f0914ef5405d49349febbfea2ffd44932b7e5b12c7eb0b78c4de0accd9aac30612f6de12e710ca0d5c1db70cadd03e88198c07731995e4b5627dab808d82e2fb47a538323a65327f236c1fb192967fcea14f88c03beea4c31319fc2",
+          "padding" : "30393015aa00bb00cd00300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "c67ba5369bf9eab5141829d0ba753245c885cf33ec6e9ce6751f2abfa172beb3db01ed0513f3b936b48619c64d6cf58cf8fb1a6b85e0771dd9450e3b4535740e7078a06c7a9afa4cc28ed0ffc695a0f9bc532594f0410987d5a308cd2a8607f231186247a89e8babbc6a2adcb71827535d11a95228c38790236ad2fc4de9fbee03c2b2d1ea809f60ac8ee770209e39b3260796bcd63187ded4e70efdbfd89606e9e85b13c26396261b3c907954bb0d7d8cfe2dfaf9a94ba6d54d98c082fba79d254592bbdc3e190c8dffd24d84e03da96eb0d291f5cedc2a9aec051be76dcc9841e6a2201323f79d9f18ddc42fd45bb64d62151a30d1111782a9ac4b8b5893145285eddc0eeda0768e1218a693a863ae2ee5a959e4249ed995f85f1a9f8692e19ab609fccb0a93e986786bd548f0bd70022b61bff520d19aeb97597f98034a5b78d6454e55e8f4caf4eb019d6aa00ff736f9a3105f9e75ced7a5e30882bb5945f71a7c8a401cfed0c07f0347d46cbdce7bc1e931c6b0d5c1488206e39dca2512",
+          "padding" : "30373013aa02aabb300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "004c3e2c6d82ddb5af78bbced9b7d3543f69deef0d7b0acc29652b13fbc2b0a256a733f8201b334918dc8354b3817d2cff4a2ca7d00b329ca88217f28087020528c6c30a75a1f82e0c3ef3e49d8335c1c354c31b31562dcc2f98e6b960e52452d0a37cef4ac21c41110070eed657f2ff30839976c98f38151fa55aae5780ab72fe2f5a254b4f83c8493001a598f2b57197fb3d5eaf439671b4d4a596f7c4a4537d5ba3937c9baa57623aeacf54cfdb708dff8aaf09a23d285ee0ae6aad50ada1f51c1ff5c5a6468f791cdd7619138c06855675da115043795517395716cc8c0d282f5aa5c46b92a2d1cf20c50ff7f69749277611a36f18271d2ad91ca371ab2e87aba74f83c37523b50419e5debd36e56452b39059a32823e3ac57929452052ceebbcf517a8733300ef3500ef4b08e4d2f6533ff3193e866dbfcfb2e841dfc133163ad3d7b605efb3a8c7715f0dcf1aaf848c4721f9c5de2c49e31e92cca767b0fd34d34c1bd1db1dde2edb1eedb119079a4cd25b0862a4b2447dba751e3f3cf",
+          "padding" : "303930152611aa00bb00cd00060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "80fc40a92375cf58a2730a709f08395c7f7a7577ef00c7c4730781b806afd5f69cc0c990012c62ac76cd4f860ecbd8b6f96c4e9a7828595bcb56861cac5a0a1d39040d96637a8628431641115a1f298c144e3e2bdb3b43f8edbf943ca9b1378f256da835a560b35fabb3d0bdfed894643daca246a6e22cd6089bcfe033329a3d18f5a27194cb8c915ba5763b44e51e5380ec4096f7cf5296db6c7ed57ef8b8812edaa10d9f12adca6dd83bec5bab1561e174226896a46d104c134b3c17c876856d54eed489d64c2121d68e48cb1da6357d9ab3128e25f16b1809288c35ae38c901ed6bd1b80961853c1d4e9a60273cc39656078abb4ca9e8afa057df58a5fa851a4dfaacac3631e2065fa8e2e423b4692dfc96a73faa7c2af3d89cf1e98dcf3e69c35dcf38847fad526eb56706ff4f9edc068be609417e60d169ede36e4a9301cdb58a408bd12eb37457f05af1f96e431241354e181f92f1199d2bb45681caf56ddd13542994fab6bdc2027775564b782cfa2cc31d305e7e70692a96182a71aa",
+          "padding" : "30373013260faa02aabb060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "756428ea39f0895138538845d40ff1a8957b5c3e913e7b475198268e40efc604cfdfa189619f60f9dde5694932fe5419b666b10abd4adf096d6af10360e1c6937f3c0ef1e37e2af4faf064831ec44d1f581398121c29c1a4b3a056b20cad0fdcc99ad6f68a51e12717f72d2981038ba2b860f7347a435a69ff01cbacf8d4c66ef98959049bf90f6c78d2215e66b8453fd7de0c2d6ffef90fb003192d053046872fbef084fb1b104a37980c2604d61db8340254b37c8f4df3d5c1ddf6745a00274e7b826398e756d5ebaf19aca16a137a6a38e51612b580ca3fcfbc4d7eef58a743c8c7862135eed1926b4592071ceebb6133eadfd8ae270e1367f705f19b44e0232db2173a261dadb3c61aeeb9ab05dded16d95b6b0ac7815e9aef31314003949e19cd76ed5d7e57509057e6031cda36d17b1988479c2bf217e21a4865743452695415b70e905f836561f08e8df78c593e5a64efbb19b42929c4fc9d875a8769895f21b887b1780dc38937d0dc2efd10a14030e43ed63554b1ffac50b801de08",
+          "padding" : "3039301506096086480165030402012508aa00bb00cd0005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "579bb79622238ac1cbc0af03c3c0d1ccbaadbb29ad974f67b76d752b960df0928d364e33eb04fae281992aaa01fafcc0669eaf87791cb8a7142b597050afa58571f9fe78a93c647307ea0db9017e0c41a0ba712dc8871063bac01da6a3dae7d0c5bb5a40f633b45cd35213fdfccd296221a0275f3b552e56ef8c856f5bd96722ee3cd9799abf956dbcc0bde6bf65b1b2641658f04e063298cdab2029c8c0af0566878822737fa9d6cc48c175fccaf7e866d80e1e478d7568a3e67d39c3a14508711fadd84c3e7be8cc226a23368e9982138128628bbe97a3c572ee68606bf6427ee5b9862bebeaa4f6b08325241da15c9f223bd18b797e1d6e88b2b08a4cf95baadf4d684c8fcb7cd44711aaf203862ec79bd5f071247636623b88709f6686d6ef3178fcee04e2de0d661d92444f5cbf3216b07a5f6cdde0657b2d4596ed148255957b0a23e8f262b1ff628cbd7ec7e88267d100809ab5eea908aa05e11d823e794a0d1e4cfb82c76b0cf9affce1fa0fe370503accaaedcaec65d1ef3a696df0",
+          "padding" : "3037301306096086480165030402012506aa02aabb05000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "9a32e4a06f502fc0991ba84079044501b140af892bc3a3c46f9c41fa75c47745292de23fa60443adbd2e705ff47ebd1338771b157741c019c2187a2c8a08e06583a5e4d83aefb3146a6eae37ff79c499646116f2e457b9baff4543d2cb0c266fe0a6f75218a0f565c78904777fd63e1958320f084c9abd89056d118a269c11e00f199782353950c005316cd87058ed794235fb0997fccd6c17c7cf9d5784cf8cdbbbafb96d6111824e658c3bf574d123f6dfaa1ddf77f093ded9e636f5b921ba9b205667e3914932407aac17813457ba75e9f4380ba08eebb8abf5ebd281fcf5b2e5d138585651f25c1ca7194edead3507d6e69467013512b679dcd9ce400c66c1f3c0a600c9d0f6c33a56c366e56c1e413433f904eab089075ee9396650849d70faa450c1695400b2f88d42818ac212a13fd9bc2f6926e2ce92d7394f8627b4ebd27b8d45e179ad927099e3bb5e71cfe6ce275b65db98ec4fcdea0b43e2dcde6601f0a1c54de549ebb03d98d1b361be9239fe8dba8dae94cf9d1bae5c51007b",
+          "padding" : "3039300d060960864801650304020105002428aa00bb00cd000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "b5efca28b066937c2cab27c339106a0f40139a1e1a5b6d66ec3a76abb62824c06a3e4dff6bc0dd204610fdf386e1ce13c87159f4aa0e88f1c29d07b1320217347c52e58c57ccff23c01c2039c2a385625072f974b690aed9cc5f6341c33dcd2aaca6c260d5945d49c5963c4fec651423c765c973e457ea2ef33eb57b4b4eb88f0ffb66789303c725e3db8b76e4eecec73c5a466b25745ebc00dc347d33a71f787e7723358270d0e258719093736f72182ef5cf2c4f513fe648531d755d6e945b3c44843978ab009b0b6809bb0db6794a4bb2311991b1493fc15226c15739e2b3d621cbbeeb891286d747dbc71a7c9cf06b51442c8086d839f52d73a072647832309b59edb37522dc61a97a31b7bf3c63980060304fc647c5743687c15389f4d996e38c83bd9e631c3bae53c1ac35486e9348b730f066069bce7e840f1b83d5215a52284972f2258576e608c35c4521d87e9e52cc1f4f284674f1269730bafd4f5727ac61d9d179302c99ccdd4d9e024578803ae6e9fb76ab5f74c23d234313c5",
+          "padding" : "3037300d060960864801650304020105002426aa02aabb0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "0e5130e5c5145ff0822edeead396c87963494102b8a4a0e38d9f55c1e698d677e5fca1375cf5e027024966ee4fa8e2d8b4f25cc2ae8cbe49050bd675f39be5931ddcce426e1977576f60c6b79174a763f57395890026d762df6c8db0f79f02227196606256ef9af7f6a211b38cb1aa0c2af9be830e8bfa9d30169381a22b74f138939081a5261f3b277f01aabffc2dd3af713b3cf11bf772d69d157d7ed34c2ee7682745129cc7c45881e00a235c5103c09ab3719bf56f22cf29c4e962cf7bf4f633e01dd3e49fbdbb019cf2b56475fca8007fca63202e02dda6866bad778538e459e7df0bcd234abf919b5e6713a68a9981227f8d3ad204d077bf2d70117ac606e03caaeab26d8ff04c3583967a77c63a3a7cbf3d820d650d56c76d31c71173e9577d238f1ec9bff8faa48f3ca49f531b38eea21b192435e0b0138f83b54635e07c12ad6d7f06b5ef51bf5c21083e9170e86189a47f9907a9622201cf3c689b62373f94c540206c8600ba48a049210f1ecf93757d22a70c88402a17ca6a94ea",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "00eff78b2945917f92e9ba0847516157ed33cc85c64bd1f5bcdcbd62c3906c5b77b247c892536b115e6bb03ae3e692bfe94c9d6b58ae0627bb96bcc53a85975d2929bc930cda5308f8dc797d0b0d6a5f4ab5a36e096fa4e934a7854355c1562553738099640c3ba675399a9d386b6a9c61854d00f7b6fa5998bcd05191a9001987f9621d1469c9b094d72590d76dfdfaf9b9f52f4f8d28315ee6fc22550e5feeba3a41f223dc9284d26955247fbebede5a3d643b4308843165f658ea0887a9661b26a707d22f5a827f33b2a60eecac67e9c730983810952247fb903e62317d835d9cf6140559941c3cc5ee7333ebc4bf43d036983d0cd3a3dc2330062f22933c295b05e6680ad053e8f64898151c72680f4ce8af1583fbd2f730f7d63e6d00a3e6991f809909b6cc8843ffb25016701fafbd6393e65289106cca59f73bba012b0bfe29aefb4a2f458b52d4736add4c2732c7ab1264a33b9074153b5699dc5e9566882a29efad79309fab974fc32b96750f411e62ef0acde9f9bdfbc8ae78ceb8",
+          "padding" : "302430810420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "8d636450d02664f8fd18ca58d208b87ae5efab968fee42eb399f09ef0f3e6dc0ffa4217fa262d1c2cb488ef9625895018abb27feabca718268ff274a84358336375949bfadb21584dd59410c48968ed76b0f5b60e01adb37048416f1360f997d99477f0a18b367f91d68117aa9a0fc229cbf0198ee2f69493330dde8156a265e660f9169d874df428bbce40f00a366a5d6df2bfba9fd6f78da60155af0a5f72bb971fbcd64e144146e037bfeab5692b740bd61c28ccb5fb330bf5f10e595692608881ec857bfef1fdb94a1c4ba63e50ae0dcaf2de94bf50c7fc5d8efe099a51785aa42638d07cc0c23f796bf55d6032fa3027afa5b8d6072aebbb56546f15addebd36495830d7c08ce99533343e182e7d08031b95e50f729f5dde2d276a1be47e93d66ae45547fcd6e90c9a5141439c5a5d3b4000ce58e38ba4809657a622d9d659de3eaac858b6e8e34d16997a2fceaf43a9a733dc67f272f3bcbe560a75542784b7a16cebde20bbd90218466b5501b1f7299de1d9874f682fa0bfd41d6d54f",
+          "padding" : "30803031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "633e28886ac6e7c2c36a69e3c1d6d46caec4d115e852c8030ece2c5ae1489fbd795affa8478b23f484b22baac6d1571f6f2f33f36fd28c66cf9b2c963f051cbbbcf5c33764bf54867a757f6c74bf6574e3b7778eae92b55495bde44a9def4d1a31fc8dc783d60cc23d1e6ca973ec0832d6979e56a42269d6fecb6bffc3eefa36e2c340f89311a89902b40d2179e25df9c841993f245fd644b0bb65e5394beb84b1544fe878b165f2f6bf49b77f8ca4337c60be4a89bf7840dc642da1937f9a933276320d0488bb6cf4535e68cc4a558c95fddf04c65400500fa580b476dc53d60fc33ebd06191ce23ac289c7850a9f6c96caeb68732bbb028f10c496364e673236e55d54eb6b187d6905c9b894b7222b68d90b82da7bf29d1c0ff5a2aa552ca13dd49a9f50d7e69ad40cee65ec7ad140642002e75c3c6cd55d5892528d2503b33debd4be946a3c48d7ba46abc96ce2e79396116c329ce4e967ca28ebd56712fd6a9de4ce1a5ed00df621d18713d508f6f1fb959e2ce8ca9f8eec2e3a5a80c771",
+          "padding" : "30353080300d0609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "4f7025ce36f71e0b1c0a4659ddd25396a83e4911287700bf27f72ee19f8990235af6d6f33f3b3d3f7d400370a914de2ff23af964e4eef9c8a1b15a63d38935698ff70b7c2d2d2d34cb8bc82133d70fc1fc3c19d9f47f0fe463393b60a61fc19d49f84385836278bffd710a7ae72005821718d42b2f195b6a3bb5b1b6862443a84d6a4ae04449b6bb6b4347fa14fbb4ed802cfba5dd00aba3e5e1fff2143db0acd4e50bb9951460b1e6ae5608ab642780706522e971aa350b13390df5aec8585c3b4c2bff9b64c5950357fa6c91f88e981882c52a8d93f156718af5c91c7009b3f57ffaf98d9e280ed51148d5b2d0b57495276fdd8a5fe0885ce37426760789e671b4cbf64e2e21b6fe4a1fd3f538675fbbffe51d8cce7b74c9bb9c25e9caa84b88161630a8afa49265d172e68ad42836f6b9b619fe32a1b84734ae58f09a0d8c8a5f3181a5130a503306bcc2535b0cb325c060afe57e29c7346a5489f9dee3206d8eea75e07514ca3ec547c816d88a4e5ce4b7e4a61b3488d2c13eaf62204766",
+          "padding" : "3035301126800609608648016503040201000005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "90db572ad2c25dd02aee6f8e0ddd5d42f5434b9b59f0bc7057abda8924c2a061404f345b9ed3e2fd0486fe34e2be725bd9446f031071c4ec13772fe468ab4961623d16469a5b9577683f20035caf524d557291b700a6903dd6c472b50cd09455779289b990e86ed6f7135af290b320957c93db1a34bd66289b5304828a71d2928fdbbc3a90af3884fa2f710455d2e909422e66aaa1c01565fb67367223f2bf30661ac72b9c6a84fbf977927a86611514c0c387371cd94bb703f2325e3a11cf83cbc6727b5bd49f6fb31b7238c1a464b22ef6c5db0dd2d5039ab3d5a4a7b1ea01cae494c5dafa48b73a411c982389abe5fb2de35d6abd5d9dc33e7703f67d58feda3a17fb6e9ce3200f44fc614638f7931099f13bc175164d9d68e2a4d38f2c12224fe136fba4e7fca1fbfe3344afd2f52d8812624a1af39c4f128e1c9c1eeccc0ada519f27b694fd982ffb6467f791461a2b803cbd298a4467cecaf274f855583ddcf470092f642edc79b23eecdf4067169a2ee72ae95c93e3ee5d23ec407185",
+          "padding" : "3035301106096086480165030402012580050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "a2f7d989b2b509b4d774f5de9acf12e5eaab05684edeae1eb42dc090356e58b8e15a32d8fa313252633a8356476327d32915c52449aac56fefc012929988fa5cfbda0d04d81392eb35ea340dfe449511f5fdab774f7e659ca0a8c91911a255d828e00d93d64638f805d63cc926c17804cf1d857c40be5d10318fe06bc311a66329128bd1102756da5da819afaed6ec6864287c44952244e4a8fbf98a90ada98bc1b5519cb81173b64357ce82f29ff16e5d76a929d4b7db51d9f3a7f4c91491dbc6a0550bcaf5fd37646bd8f71ef459540ae8eba668723a81b941939540d92c4a7f9cb0543dba1cb7969c4d644c8f15bfc13aae4a778a81b27b82903dd223ba4d5d5c157a35371ea1443788d973d953318b204f232cd5c53a9a2517d571cafb62d3378655dcde55f46597295c89bf882041ba6f4352a88dd7c1748761728a2d8dd628433855364024d42a0097346443459b840415b5a56934ea476c5f9de84419d564e493c594a9049352ea82700b1767d75244ef84ae2c8a3d5b1853a0ad08a4",
+          "padding" : "3035300d0609608648016503040201050024800420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "5c662670149791048df0ad6c95a119bfae057011d7155851087c0085b901dcd6e95252391f9661159f909def924cc165b140f02db3863ebaeca40b57ad68cd77459ad258b892c090de55b93cb48bed9a96b5ef294e9c73325e4aa595431e780058a392c0b9d512e3731509fd537df0378caba38c3e20d17e3f8c4047181becf3a505acfca94a961cc6d952b387175e8e4274b81acb168f63df180210752fcc72dce93ee2e23333e547f4561ffaac06597757712ba8ce776f0a2c714c40be54b562ad693d631aa1c3a840c8749c833401e73dd05a9592a477dc43e52d140af0b2841a14b945a10bbc5e4d4f47dfda159646ef1d49d39054550dfd188203585d0201c33a42afae62aebccb463e3d2dd8748b8db65a3f5aa3ce7a1b227139041bc805b7a71144510abadff548318f9a76d8a7f64eb9d269f7739319e9a3da728d001e29628ee1366f53b752f7354055ae2e511a6d9fff4c9b1caacba36be1bde8fbfd0a4274145ef6f122cc203fcad66d8f51e97b0f8f25a08ea8c9860849940fe4",
+          "padding" : "30803131300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "30596e00b2ad31f266f2b47b598029146aba9d0cf372b4eccdc5fc9f475c36567e6a159a454b417c77b7bc576721c52f64a31204279d524409434b73de9ae4d819390c3124ccffa5b4aafa135fa753e71c1b3b3f05ead6e6899277d0e994ce6111f61f2464155f539b8871ad0167a30c234e0541b1f39def8deb531ed476d81418218c682dbbbc0f4c3cdfd674c5e7a7bd057eee05a9f1b8b796260380e38631303d227cd9df7e76fe9cc161f8db2d9db7306834b67ecc33ff91b3c59f35f789a65b6f1433f1cffd69545a146fcddbd047a847f55acf4adc9be2f2595faeadcfe39127edeaa9a1144a5a726edeb7b1a48fa900881b157f7f3516f47dc0c108630cfc9304a2acf821a93a867b063217db60c0514143eb53557ec8f86eb8a83a83219f8c3310baa122b79d49d48bff90492acd83de8c3b9d5f07cb2d061b243d813cb1be42c658e2ed52a9b31ef07360df5945406e7c81a80337169fedf5ea76b25a69a1900a673b648831745f3b04815df9ed7d71acde44fe36aec0a85a7d6ec5",
+          "padding" : "30353080310d0609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "23bbc7627ae0069673b6de161c79fc721fa169d7719400aaf7d60d53773649bbe5cbeb4ec3b553dbab1b0cfe63142d21ad3a46ee475b7b50ee617e6f58aeb6942b0793b94ea0dee9347ba233b05895b457d478449787cab04fd0c4b01e025088884272bf060a82405172d8da5e0b4e070c61af641d311885519215b0fbc4947097c765e87ee46a4a642bc44b7212bb8b64a2cffaec496ae139c248f6b00f203de256adb345be3f46c11bed0811bab43961e9d78646cf14be18b891552998782a413b6adf9829bc47926178ca118ae0722af0aaf6694d5aa64bf970d530f71e309319dc43f2077fc66afa48365d90061c0e1696ecd2ec29a15007bbb47278641b27e10a28b60e4e7405fbe5a05e5ffb8c0a52472ed51330f169440dd10d828f1830a23dade9fef0c4a2373eae849977e1cd15054e4ff004b9daf6ce8fe8010f9102d09bb4b18ed4e30cc9c3dae2629650e00f139eb433138fb49e2a896dea8a13253282d8e42c1dc42d490b719373b3c723b8c991566474257e96fcd0027808a5",
+          "padding" : "3035301126800709608648016503040201000005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "37a98cbe608f10cdefb4d787a23681902d7a3a02837438ffcc778091a12dc473aa6cd38d7abe75c362a877456e4b29db13659b4f3d9bb1ef73e0cab33ec2b11d06782ae4ca0a13d15f8856223abe0131f5ec5437b2b001e4f5903a78afd4c46d6a47af171271f3a4cf267b0afec0a1f368a789f4c03193e2f365fe6c0b8dcce1b2f1e6f1e0cbd7c6f1a98a8ab747bbd27485aa61ac84e837a95a178efba0b23725c53f00c94b3cee6831f4d000ecfe84af2a63f341e7bfc2cef7f5654d253654139245c4205c0b2418e8de35da690a8884507134a0b2f0bb9d20eb8f39fb134adbf171f1a8edb4e1489671005f8474708708d1a627d22c76b8ed0993a9c16a6b635fc090e3b38b96f37b28ec44089b17173647eae6ac4439bac2019ae8b928d094665aed8ba0ff89c308097b1e7ba74fd2579f1c21f63296712cf4f5405cf0f3eb60ae1600a5b8d717a09ed23034368c9739ef2f880c659bbfe855f809adbe231ef20d0eb6300f2b6ff02e9f3666876971a9d41f8f0f8fe954f00bf52c0ce013",
+          "padding" : "3035301106096086480165030402012580040000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "2c269aac4605a5e25a660071fba9f97d4b9e4c0f0d2e567459e5620884f889cbfb33ea6094feb6d2817747859f8c203c548d5bda97821c3b6744711ed3f0bf02954ef75ad6b9afcb6872273f1c164ba168db9a8bd72d715bef221420491ab6b67d5f4847743770ed4136280bda363c1fcc2f35ddadd1be3093eede6922cb95e3e206d02d98e91194a7fd39c304c848c1731e1f90e8a9433db71d94e7d76d7b5f2fdabfe20e8e1ac7deb56f81331fedd7a7e9ace76887dba2fcd72ebd2017f5bb85de1cd309b3b7f7fbb9d8901f61bf8992fd9a63f861e8054c9d4fc1472786d6efec3cf4bd1543116e2bf36698de85a6a3c17c200c73001b3218e72b8bd515f9f96d9ced500a1c6da4c0173f35ba24ee746e51cfc3ef00ce60441031bdcc2742d981833006bc05a513f1cf67d6a9e59ad4acc029995608fd05b744d48be829148552e13c7c76450f30b5acd4fab819a71c158c82d587fa7e839c3959a8150395f567387024f7b786006ec0b1f6960d3b5de347742eda16bc76e3359becd2e184",
+          "padding" : "3035300d0609608648016503040201050024800520bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "a2009e307ff24560348c7d796e1d69c5726c8389eb26423ce21cdb701623343a25d2a4841f994f3933fa82242f9d525464e3b6c770584567dd8bff3ae75f22f94139a9ba2612063e8117a23adbf72fb8c425aec994219c16d42299682eeffce61f4a0663d173980066009d542f09fe1186a28698109e0d5ec28ee2848e0a91185b492e53f67123c3f6d81826a943c60cd888e7d332310838f306913e3321c5ca89794f27a0ed36c697abcf665be1253637cf2226d7591884a9e7636b8f49972df71dabb14b6a4cfc4b4689e3c37869043bc0d802fb906a902a24b4445ada3b51f7661cff461c4b7b5a59c1974a8fda528039006f1a860eef799f15f606ec8fc23a20d4b80c01a639d34b9de0eaaef84855082e443f9a85964766473326d6ab6bf49f198c62269356e28eb920f858f3695cdcd77f3fb513121470c64c25f305a00977d0d61ab75143bac7eb57d9c99c8d51ddeefc41e3929f35da3dd544f55d878a9abdc0ead983a08d3d35d54b2afd653f61ddecfbbd936dc6d9721a959aac0c",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "8431b3c74190f8c0086d779639fed56544ad0fc422dabb1b5dbb600a7021a2e25fd9e69ef305d0a3da9af97e24ecefc11f515412edcc6a6685b3c4e8c251386a7728e3add07ccee395a851e5c1330fdd05c033269fe7a52df15a1e81764facb46718ddf598a83943d35716e3fe1f216b2e17075fde3751148290040a56535eba7e5d05ce7738d2fc7f6e8450bec68a0a35a5cbe8aa3ca0adca3886bcde8649fe491c4629be8a1b8eca64cdb226eb6a0e32397a7e0dffca2fe7b27b99754a428ba300cd62d0ee228e925d96418e75138f56d7219198d04dd7713c8e8d606d7a9bfa9f1b9d731ab9e0ec8553d1515a32994ef29f2d2e9c1ce8a32ebf8d970121655810b1afcb96fbfa0495c39b759921624498acdfc8d9abe95a0693e04ff6eaf8939e4961c32b86f3a5af479d294d6dbd01f90437cf6f830db644ad9466262333829fc2243ed32ca9fb08b9b56633bacc450d86af6b4733034ab987db01a118c5c41b9b792a83be1b4e068216cb642b11075a43efe7e3a81f0872c4481ad696eb",
+          "padding" : "302405000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "421b2b4795661bf967bf5e679f69d06c0fb9a02192d839a440d364533de5c3f620f8531a68603119ec4045391c8f3ed297ba295bc1215d4c4f0f315a73b338f31547c110d4fa1e3deb385eeccc2d57e03c0f6309f6c3c28e4d837d22787bc0b6d626201da55b605f4e8522ef75b92dd1d6dfa0a177b0e666f04fd211b713fce8b2fdd96bfd4c07e64e4b8253289e400da12fd99c2c0620395208b7f2d04a2eb696f9992b0b0485e3147c5b18aba35c8a90d10b0429f3fec71e59d019f270a5e0cb0fe0b5eef004461b5c6286f33ccda3ef358d99784500084cfb5c9d3ed8e1c5327c4ce81eb1ca34390ff613807f5a24e0428eb48c97900fe9c3dd68d201a1d2a55a20174adbed47e53a0d0f032acd4d65978c8afb55487af30439bb2f151e343a47b2ca3b5e082ea741e375885377a2e3769c712f4d4144d80c2a6f2b1f0fe41e9fdf9bb43d7370332ca51bb2f1325f4d1aefcb5dbc42614f9cf11a4ac72eaa350a9c2222a6e2d82f6aa29df12b33979fff1ea265fc2a5055600b9f96c8688f",
+          "padding" : "2e31300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "365aaed072b2d0e5135c82f25944292872f60ed39152eb19045b209140a4a74fb2074037dce30d674e0fbc8e98011ac681204429d9a5ebb8fc3bf20ec70e6b53cfa45b259d4f1312354dd5a00bc2ecf4e99b4434212f92bff2b99c94a08a1327fb45dd3367779a12d8dba9ca846b85c6216add315fe0b17240fb021bf61970446339dc93ed53cf1c57242eb4aaf798a1b8010e9471f78b6f0cfd7a628ace627bc64a4c6d853af0d7ff00500b8c682238eb37f59972ff87a9be9eccf69115475ff45ed6daf9d462e09ccba899315b5dd59a3cd5c3ebface31f99854e0475fd76cc7c191ec3f13ed7933663b3902b0cf7ce7696cc9ec28c13df6b9cbe9182980f7dbf7ebb603274a56871de960a52bb5835f4db71558876202b8d9c4edaa35df599f1c6dd105dffcb077a7ad8f7748c58d6131546694bfdf97a645ecbe3829dbd2da1263556a3d29e92a810337c8c1050686ae880314b3e808abad278c48655708bcd2d711cd93f446911a2b323881c98ac389582fe0a9601096911a8ab0dd8669",
+          "padding" : "2f31300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "24a95969a4ff4982bfa2021ee1ee009d2e4ce995e6938fb48ce35041842bb516ce21f5630264f3f7140e3135ea5d01eb0ea6aa6c3b85ea5f64f1de1de246bd6dbafac9cb0a8a0003c02e5eb68714d569c8036bd604aa7bc604999a85cd3caa209ccb12dee3b89dde2c9bb74f0dac1458399cacc7e4ce538dc3a5b54c5bf7d3132430110089d5b4731dc91c2711dbe0b46b97ad7ecc948cf5881c1473f5b6540ac62963357680f1b12a09a21a957b512126c7457b0635c185d36090696c313e8cdbdb92ddea8b8621d1a640bb2636be15180595e6373c04ec38f981f05c6e255a327d9abc3b3bc04680e277e593b04d8d89963bbf83574a5fb63b4aa1d06de63e4077e8f9242e886014109c3360be74dbdff64af766224aabbec9c0c0a2ca79ce12765cc8334bebdd1355164ff636e24432c042443371f9d7a4ac66658dcbcb001934ea8b896c0bfcd7e5ce140ae265d253180c72fc9fd05b4dce2b6b664b1c9852bf84eac06ce5d237f242fd2cc6d61a870691df8e9b5b0cbde491edf3c8861e",
+          "padding" : "3131300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2bde28ddbc4e84009a9c98c71f5e2b7ef6622d0283889c94a31b25074e8fc2068aa26e4ff0057de239b4588d0421b8351f8473eb2e66c4a2ea28a4ef81613b5216059b35c2aa990c7cd398f1edb7c93723a3ab489f7a91242977969c19a2e9bd421ce79eff960a06c52f05c251d1e8a1d4e3c799ed70948a6ea35f396f6d83dcf8e1c59604730e0d90c2704a9aaa2dbcad25c9c3c559a73b7092a016e6761a65d41b878a5c717ba63344cb1adc247a92d377345cdfc24b652516de0123232d3b0092cd3f5d540b66bcdc024a728d781536ceb7e41fd80622441feebe4fcaa6931c54d67dd28dc664df83e3ea2eed769e24ef7b7ee9f95f36b31984924318d506635f31efd096aebc8a3c04d6d09aecec36484012b5a5793a2405458a250897d246a5829ed7d99bf1638fb5225cea2d0a351fe08aaaa8ee724a824f2b6ddcd69221f4a992ea5edaab8969369f869810b4973cf65adf4529f68d1c0fbab24fd1e80a03b71ddf702418d3452a27b95752a0f86053d29b63b1880911f657e4fab978",
+          "padding" : "3231300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "88258637f7eb07cce4e8cd05cf23340e796bc7e067ec5e74bd031a7b870e87a40597be7ffa8eb135297f6c4e4e19dbfbccc49a23b5a7903d1c8cf979a4e0b181cef1c48a7ecc5adb8fb614415f9cc727d2985b0eccd51f72b714f2ee8a1632b36791a29e68b88a8f482b24e0596ee8c9d4c504aef0820cce5f5a71ee3c236931aea720ed6917ea7b41d13b50f909fa21f07e9cd9f79454a3a1996cd5a35bb92b4a1b1537afa65c9bb67091f340b47f3726407b95e68ebe8d4aae735c7802b559179c64da8385e72628f29aa4e4634777e6b7138f6206c79765dfcc066c034977118255f8c82c66425b5cbec3cf65f952f0f4daedfc2acc204df23a707a77e479d33da4db067608f075e29e4fcc3600819881463f071c0b879251c0b83ea5938761d7d63688006e2597eea88997aef9aaad009ab9cf54b4390eb808b09047a759224835e7c282b301b09007a15ed23e93a33e25079b5079089428607453ed25ec639a513311320dcdfbcbda5fd0f47f6035f0c995a7ce980ea7b2e74a4ea3b9d4",
+          "padding" : "ff31300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7bcd19e6ea965e860485b4a886d032b2d79971241ca2c512b781822dba95d8db8ad9ff4586e9f238c885e464d8e67f291263ab6481e93544904da7abe00cf7d312077447c7b0e5026114bb732191a06beeaff6a05986a02919264396b8f0ed1eb9bdff5f2888d63d3d66515f30665c9963e13e914feabd50923f674c31091d71b2d01328c07af2d9c4da3d41942020e179420f3d6d8265ca1555db51aaaf281ea92b0b5b9f8deb982723825cae17a877e6f0544d4fe48f8fe3db3a7018691bdc39ea7021ce4d2c052265b33a1a0cefe72392a52086f673a10dfa7240d88001a4053bf376bef41881c27510edb203ca07d8fde2955eff7bec85e9a44794c0fa757e385c376e6be063eb90c23a526f4fe4b5a3caff01ec148bd725ac6ccd8cbacd0b336185c3d98804bbf06626bed831afbaf3c106a847fb72a60e39b192940c898020137a291c656219c322cadfee3100cc988b98da6d203be161945e4d95d455cf73b28eccf5d6f9c36516b1b8a1dd57531d8bb943f3b50d04970b0c114a2a86",
+          "padding" : "30312e0d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "43f62292e9039df3d1160af93dbfbb2963efa6dc905aa967bc765415a74fe4a95612b53866c56c6ba42eeb76aec0a5afaefb24ac7a4eae23cf439918750b2496579c33806d9f60bdec575473371c96ac56de3b1df2d00036ea9166341720d4e164a9bbad13eac4f9364882772a20630e2b067f7d12ae3b02385a638ee562570d4b4913cf6d1f9ec6c36f724c545ffe7e0964d57531925a9de4a58511674f6ce271cbae8fe4d2502bcf5feeebe44aa6a6a6757eb3709b139569b40c019dbf0667d0e23d7a4f93075ea68a303df9aa58b02302d753089fcf6628c318a80815dd3034e5c67cfb88cf678ba1134e7aa722452c0da20328aedf3520939afe9dec999691dc3411f75815f568e3b03b8f8e3c08d99b958fc6e463fc512c44e583f869c9154d630ededfc507dccd68401ed8b37dc3f8c529936d5ce94e6e6ee06115c3d39ccd85e86ec0c27087a82774f05a031677bd5f8d5440dde337b860f00deb788bc9e81531bf7a9492ec4af8ce04f3c94c6746f8fabaf9b7be9e089ba956779d9d",
+          "padding" : "30312f0d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "73d4d40da6efbc72e01d95c3504c95737fc2e401ea73dcbc56b2f1f784b54d0c4587877137abdc84d67383ab0453f69381df09fde92edbb90fdac2b54451d76f00b5c553949ce6e39b86cd5a5fb555f231a1dabf895ef9b7c905ed9b92e333c0af57437662ede62093dbf6c43a8482706853c0025fc724ee13d17d6f052564550140c52cd5f52d98622e02da82ebca62423270dfe18333a9f202b9f6aeaa84bce014c8ff323be51327ba1a7897911df7172b819307bcf09069a3fc1559335e7fdf06f082dffbac70a973d70e5f4210c91744083d5113b510fe721650b3be52bd003b30372d56fd3268bf6aa0461af41c05cbec350f771eae198ef315c60c08dae19b0f31d3ddeaa144cf9940265660c34cc579b4b825616aa3d234d600248645d778a789d7275166cae5cbccc14c3d81c26596e5b236838ce6cf701b106e584d96b1bf40a75398763128d0a748e8f0548ad1d810a00e961a88db49898baeff2ccce4d56d3b0f059ec5727d03ae56499f811705bbf6ab41a1a3683e3debc5a6f7",
+          "padding" : "3031310d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "bf8c782edff2de8dbc7f480a9b29f1292a5f1ac96ebc92670aadfd369ec83ad35987bfc0ab3915dd388a504ca34ef43f0ff55d52e891aef35c47c81493fe6ef53a4cf5de1e415278e63339110722c444c6c2eb26becfd6589f18f2925dba814d5e63a098bfe8882a3bc73a9a184e8eec0c8b7db26b4524a7b3eb3975f63fd16bb461b42e0aef58b7953fa3ae09f5c8c38c4528fc48199fb652b27bffa9c85ebb162a0943af6c1e2ca954e44594157e053f35be8d40ee161dd30929576a2cbabc7dd0cb6bc3305f41dfb77644f32c67d8f04e7d68822def40d341f3963a12a1acc16338d3d8229ff500fbf6849b2507b4dcb68ac7c8e06a076450b3da320ed8673d86e7bf7c91f8379007ba05303489eb9537bf33c275845c923d3881b4a80998e7aad5b6a9f113bf157b3aa96b45791937d9038f94569f1fa753ec9ad612f75bc89fc79fa5d26711d39aacac5c05b06baa5efc40d9081fa39c2ab8de2bab3ee5023a0b668e17d21e470cd1efaf5e7087d440cbdd7b447f5fcd9046fd9197acfa",
+          "padding" : "3031320d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "18c76a48b8a07eb2d64933e6d369bd7c03cdcdf1fb3bb15367ace58ab1539c3798c1afba510f46b1f621c5374343d55e11cf82fa1da003409702635c013481fd785b32e495dbc0400502ac60b82269bb6e3b9a405f6794c34fb801f920413d7e243ab31c1e7e2bb25619e66a016c948a24d3fcd24a63d45f30f0cc41f7c963ced75755a11222095b3451726708b3d255d60c47746633b822ae2ca83ee50d7dbb5bedb2ca666a80a24766ff121b6495a26cb9ac14e0f11b5a17367fa2ee7a3063717e4511a7588c2325e5c9a479db77fc799b42a9cf0962d9fad45ed2cc750bd30e34a088049ca942ee1a83807151986df4b2e70afa7533691171dabfc861baa5ddabdae2db6a3f07086fd539fcefd4694fd9764af7d5d38a75c3a47ebce1820d1a15cf9791da6c194a4d1e3d9484773c256d48989cf800a83c2aa82fd88fe5fbf945856abbaf0a8b843422bf30f933de51739d583ab7870e0402c1c0d8fb95668a35027bc40a2164ea3938e7891fa052b353d87939724bc6e78c3950cd25c3d8",
+          "padding" : "3031ff0d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "89f4d0a739849f213436c9575620dec5f5c2d6a7e4f83cbab2a57b3876663af38a0456a1106efe9937f5ad6d8a8952ac24883918e91a9d19c07b5fb67ee7dbd1716c86ef7f45c651e74a41233eb01d0ec29c7739bc93877fa5a880f5e27dd28e3e58f2c034c6bd512b9034625cfa60fa1b1b966ddef324eaba49f07fde57dd751b22a132cfb50a2f37c69f773feb8637be2296680a1b1511e76f5f31154e6227f748dd101fb7ce4dc4d78aea619ac06a4419c23e2c7a6025f3084c65ee4e2d898f3b8da4b180f592a3e85a3fcd04d788fbd55e7543789c177076918fbbfd0b9bbd69106ecfaf980154b008f86418285623bef88173d6e21de37fc433163f719d1a5b59a69a7b3af6e2c5e8425135c9cb402db577bc0d57bf9e4a2ea6792e59f22149be5280f19f087f99a5a645e7058ced09552f7e324d1d786c939490177c6c882e53332fc64c24b95866131c0e78daf801a8d94e59e1b339529e59fdef88bd1440b9f4928b1c68b57ee8ba22191dd423c32fed56bdc01ad0c14850061d080b",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "75fa1d30a796ea7e6f6225bfc9001a3d48ee2b66985772624f51f74a4eac8fbf0e126a8a21e7904a4668c37257a2566f6d5398703e160c76fee8cf4510ec4b4fa38af5139a117a40cccdf5b2376da59ccc1030ffb37ecb65e7cea239eab5369c4b20ddaded7b4eb5ed79b3d878844217f4094a536d824b2d1b9960b8f9aae9dc42fc5c9266e0e15a503702096fb725fff3bfe4eefa8bbb232ba28542bcd23f434dc3b3c8b827ebea88bd1e5058763260c45ce83915d7f998b3b557a94a41f2d6e10d5c6c0881c5080f51a20c8def82ecdf795ca5682a4a4b451f627e26f1a0f4c01b0c4215d335c753908ec16f55290fdbccf0855047280c1f0e226199897300e456ecb74ee14bb1b68ed54408c5a3932eb0bea33ffb2f495577f37bfa6daabb8971bc227cbe817efbcc618f7365f5ae49b51280cce5d90a085fcb2568c7381943a93caede03f492869a768c7178abd6d8c051501a81eac5bd87da6bb0424655356d5cc86f0b04a598d83df52680cb20a49aec6f9966e03feed8de78c1e06b2d",
+          "padding" : "302430000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "afa99ed41a02fdc5677826e51db78440e7336159a829d315401f799bcda6eb283c2c442706e8ede5c9641a50f735247795fa823d257cb8342315603904fcb7f3fb94c1d885917b938bb57dd8114effb76f0ffe53474b3b6ac909b8ed94a1ef4886b8101727038f2d3ae6daf82a3e985ba5e005998c31f888c3c53aed0246b99dbf17d12c59c02befbaf580ae4b54bf6cf4098840d86ebb406df68b871ce3c6a6452fb936c975efa9b6b40b2414017eeb8cbcc58fe3547ebb16f95efc24cceedc374744cb102ba6c2de6b6e53d561c5a6be9525df8faa7756a2e7af39950013289d08ea48dfea7e6fb0e7f228a8ed0c19e229f1929fbac0e183aeb196c46a5c0130233d78568736e6cf377e26e3155576982e3d65e08aa4def25b1a1a5a225cf884145c187818e71a989e0745eb6fbf1768d6aa5f0ee20d8d534e1f4f17cfbc78181858d1e887848f359a92b44a8344abbf720e9a0a195003e6bd881d248a80982201f97d524ccc159d0d0a371cb5d913429cd43d4416d9d572d49dd140c00a80",
+          "padding" : "303530013030300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "b5eb805ad3344e51dfc3b5aaf0aee47a8114587e54079d1717ca04e3e0786681fb9a77aba6a915369573714638b408c4574f8951bf38ce7ae055bc95a078dd6c68af56f33d6c8e39e61c386b8d5d148e94fcb64b2ee4826004509f6c033978b75f403b8710b16d4e0029321e340c03dc4ee0cb2e4dc112c1199a9de821a0d73fe5ea361a453175596e0c945ff0812b5b4c92bdf3cb628637b4fca898b09be06188183f37a59dd33398b786c8ed44a0f36a3a99a597071a17b432c76420d5a68d683351d85c6860572e5213f45bb7440febcc4ba6908b3920079021d03c0befbfc0169d987d5e19cd81267aba56684be25b8b94e3f1229c5757966938b63c66ffdf0f07684214d415d73bed838212612d3cd4071a53ec43cbbc5d71bbbb60f51fe310c26054318876a5862033fc21eac0c1ad91f7d7eea9318398b2344dbf3c2f04574a5c3db3121971273244ec876a63363054aee10ee276e8cca376e60189645e3f67517ef820b35c930485479403d697b2a72689fc238f09f60e3b598ba562",
+          "padding" : "30353011300106300c0960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "0f058dadf6bd5ccdb3c9a70a4223439936ac81daa5928d09c182995503d72b8077dc01ee268658e8ec4da9097cba57c19d005243ccbd98454ec42bae8f7b7ff9fff4af6b2382a271931e7ecc15cedbf52d1426cef27e033d58d8e153341265552edbebc46bca1d8e88bbb9c0f82600d29c02283fb295caf4a743fd66f096b3ac12d8f301a1a1464a511f1e5da7e46f722919836ed985bdefe7587391443b7e9f6dc7193e51f0de9e0be451ee335a39b875be4fb6e54ec38d59aedd2000f6149dc1e07bcbc6f674baa3d9170759a2db41d6a1691086da82baba102cd85d97476beec17ba3c10e82c213ec0d09afb4fa70775097df3e9c911a2b8a8e3d70f55e4236447c0a539e499bb4f442d218096ad35b104270205d6677f37f7d96266bc180936c1fcd7a34f13976efa47110b86cc4f5b0e94af73887d31d37fc38f84db3ff7b06bf151f16c0077921179fdb52ee89414dce82c0248a97b88eb2aece5227078877148879f96777fbe7fdb1aba00d9c7340f7a66812a080ad1da514fb1d7855",
+          "padding" : "3030300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "93f7909a8a46597be65fe76b5c724bad99e5b2692e4a6a8e9a7adcb38a39bdd7f4048a00edab88fe9316f532b13be7283bde8f7c4ffc4a822575e992cb8ae46848015c0ee56817aabe22ffc2f25c80e04a0664a7e9a82dad7b001e21b5c33f08965d80a1c4bfff52efbaffacb74b0a9c10acc384cc707b5c5295fdd3fad5fb3b89271f8cfe0059c0317836b2a42640e4c0b3969aac4050bcbc756b5350dcb61cac15d045151e412b6aa94d082266e7f4c7dbc83b2adbe817476eb6bf5a07cc7f76fe80b4135e0ec5bc05b57cc823a0b993b7b3e4f3a6803879754220d7a6ddef0f5c6944b352ac5064b9d836a2565eb0e2049c9208b797de75b141a5f6d89bd6dbae167f8b1c7fa9a316d10d33d96fad6e2692b98d42fb6fb3d79a32a7a5eea23f421c5e1dcf09047b77b253217c3674b97b85afa0162d818e569d6c6438235f404e8fe9e3b3b7e38878b5bd296f88758b917b7d7cb650e6ddfcee085e52fa5143429b678a3fbed73b588b6b4cebc72d3e23266f8478d52629cdf1a80ba37550",
+          "padding" : "30300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "2c40ce5377f098678cb1a3f6177c8e290b691cbafb4195a6244d148ec48be99792f6cebd4c40614d9250bb3d6f6287171ffb713a0814a6746e2c4126c82f7bde8b40518ac506cc73ee8e0516a0d0257ef153fa2464e17cd17dd6ae5343d43eadf67c4bc629082b484985dbfce3cd941c1b69dd4a52b0f177f641945ae0037c79fd0b975ba955b2c1901883f2c5320fa7b43df6c673eba7c76c0dbfc03a470bbaa2a6083892af527d0f5921d2e20080804db8db936d02f53cae19d010a113f080e0f7baca77c70fab4819c2481f6f505b5459b59a2a482c6b8803a26610cf54418a931d48b8b3a2f0a5e82cae0ff81bec4ee9cc93e8fba9350b5cafc6c020b484847d1e590eb1484caa4afbb7d3cbcff85789ff47401d69de6554ae7ea679b69e115ebc0fb3f89ce9d104e4a27a3ce5098da2c4a840f496e1b2395a8725dee67259bbc71e89aa18c35a9c0db3d092e02bccdd93fd6d4fe51eebf17f5cff0e990215537cc0cefcd69eae4a596d8a95a9ec40ef651ea7da397630fafd26494da0be",
+          "padding" : "3030300c0609608648016503040201050420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "28d3351a970732d5ac3bb69fdd6d85f8923a20f7f7d72985d6df68e41f972dcabb638534d163eb8cf8baada3e1debb7249da4efab8e1ee782dfbd3b1add9e77253ce048c8d0a350936806ad473304f1dd0a0318ad10a11085f2cafc20114ab1f724ae5ffeadaad0bb17bf66277c499876d5ce17026d6d30964dc43e9f68e271d5b6c81b9953090f70bd9b9c05e3219942bae623faf06c6f21952427a5a1a40f05c0c5159ff6e9b94fe4aeb8310b0de9e69ac5f0f4787b6d489d1040ad63ffb1cf0fb924239d5417cbbd7afce71ac0841a0fe2b6d6a5742649fa60433c55fa2cd99e1e173b67528784dd0f55488f7a9939b46137f9aa33bd62e477a77d5fbcf0820a10a499aba3ca383210778e7d84dece64f121acd8d74a761219c6359d2dcf9aeab782c58dea8bfdbdedd4490bbef8fd514f90cc5a33992c4d3609e300797fe0d5dd203fa71f4ef0a47624e5e51455b74ef87e49b9d122264ebdec7fee7bc0249f02ba60159aa0aa8585ce19633cbce48e6e4765b0fe7b4f1da4a8417092873",
+          "padding" : "3030300c0960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "c4a4057d4d2eb4e64dc163add62d9ad01b24bff92fe0607c0cd39e3dd05e5661aa1a2c9dcdc7ae8a034b93e502a4eebc0384519a2589afa113a0dfd45b122fe16bb655b6a034b668d7d400dc250b25d7dd4511298c1185c3d02b82ec63f3f406da0c72d204881ef5ef43e63cc64b799044a6cbabb533d862efa9c3f483eea43b26859b134a2f321ba5ad09ac8dd3f740c0ebabbf35ad3736b093097769a635283c20c1b88ea0a115d59a692552ad8f70050d586532cd3b65bd9e281781d09712b1f1287350a20e40f11af5df580a98b258fd7431daf19f92546d5b997df560a3237e8a2e83e925e45effd4cbf2c1cc439d0d3e658d836d6b93513c41c87bfefc85579257cb8273dd0bd4b7ca21c9e2675ab60de22289b31f5f96f708b76ec72b0209c8846ac6e32f1d28996829ebeb949b2358cd2332178bdce80804e4650b84a46ba4f3bdf2aca0edcb7d4138e97dc14d30ba34352d62f547caf117856a745e1e99eec18cc2fbf223f4548755fa3ef8d9d7c0274a9a7411dfbde3bf53d9d84c",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "9a86cbb68e9a4449be3ea6d69e5cb21af81647a8a0105db03c54176fc83991c2b9ea548fa8eb3b248c72c391cd23dd675e865ffa561cda1abbbd58a85fe4fd108bafb213a8c79eeaad5bb3410c7d6e85a237d1e2f9c8e0b8b8fdb472732bd4bbfaf58f57600996a49a742a6ecfaf55319bf939eece50d1b93df931a144b07e075f8486b5dd65071bf43812a27351402b849872c849878634cb01483df78690ce0dbdc5d45d225ca87614ed1afcd084223c86fc9bc9c891996c096f9296b9d91a564465197857fd6769977c8acdf0acf2ffb1b24d311a8d0a46109594f1fc4dd5b139c180c6f02b88e72e155626a748ae9da4eb6a1195126f084b012f72405f027bd22baea81d765f435efd2b97fed2df6e38ea603ddf8f3ae969f9690ac22d8072211d1337125a3e88388fbeff1b0c7cc7677998ee5f7ac31d8e268ca900b72c98889721e18e8dd74f4b43b083998b28eda3895cbaaa607b9a05f90e36d1e172a95617e9b102bc0717dd2a1e807b11d72a8a15288ca4643c791694dce30808aa",
+          "padding" : "303330800609608648016503040201050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "71399eff1c82b67a7d5da71df51de813631f51679ba441b0532997ada04711a2c874e56ffe4d9289ebdfda910988e1c210507a450031592268385fb9c08102c1961d33bb789522d97fcd86b7e27b59d3c369280c7367286f46c1e815851349fc16e1bb2fa76af8ab168acb634a22a8d60d7c6d2a81f4db77e65c621bbb4d0e5628ee2320b042bb4c83e55e2137ddea75c3547f3a6b93f1b0a0bd29c729835edcbf5129b33112ad000458f4a8db1149d514db7ee70e4b58c11b37809dc32020dd81fd1e3b0bf1354154e7dc0da0403ec944fc5a855026473112c88f072a8fc39b984db2c97d085783d4f8d96c87f4b826f39414ba05f72c7a22e25ded75eff8f00e53401aafd0ec08b255b5d03b2f2cbb9603a2def9e5a754b33953d3c03ab8cc7f8db33ddf6184150f5680f7401dad6b6c38ef848c00b08a70ecead088f895acf5f25c9e21c87089fab3e3edb7ee3bf3570145041808ca738a46c8de389b5c2f84f98f76941fbe2a9a159525994781137cdc00951d4229f8df099b44930a7a72",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502300",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "661c8fc20646446cdf579d0a78003666c8fd9fdbe9845c02823b8e3b780f532d2891fec3a554c743e87fe898300ee17639077fcd0936c13eae51a40d98c329c3ff525f65568bf74fc84fa112b3036610d49faf17f3426309805636b9502c3dd81994465594333e2263969da1509168f1228ded2ab8ce0ca53c8d638db26899558ccbcf52af7b7017d68ba5d7bc79657d72f87a14ad8224f40d1eeb1925b51f8330b221ceddd530a73bb814216fd6afda33983a74f7da5cd733729df22ff78e027eff2cfde27a76ab1abc97e08375f670eed1beed74a9b9205ba2497faa1c46f0038f098ff5950be17d4dd8a3ef2bb0811a8945188d635a977de685435dc128184948c53f43abb70c053b9c6298b7dabf1df91116cfcf8945e78c7e3de5bfbdf19b6893e733cbe65cd33950c77132b7816dd47d9ecfef2f15b4290cc1a4cc5d327800215a49e679b640b0ad1aa1593a730eca633ae17bca48e9efafa0471a6591535c94c4d123cb2ffe33014302f3109712c279834871d9b18982ca413d131126",
+          "padding" : "3032308006096086480165030402010500000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "2b0d588982c68cc0b39c00ad80c19ac645e038d3bcaa384909d94cf6c8ecfc886a83084d19843f2878879e60f5a46af4ed8d62f533cda8ed04ad8aeede3e3c823913d62b28bcc20d9836f6ddd9ebc3eab3fa52e37638ecf897d7cc027bb05facd153090a78220c10ab177f1bf19b2c6ef6ce94611d466ef758eda71f4d496c420dd88e712c6dff77149f4bdb50d1585db27fde0f2fe37e04edf63e56eb9cb72106a9a821a670110d69683f32acf5972efcdc34ed5f8ea4a40f4f6329479499d584c4db4df7122a2c7f34e866564e68552ce12fc30c2a6f24ba7c7d9dddd7fc166ba8ab0b8b7c1cdcc8af880d6f1f2b621286ed722edae310891e3b2b81addfda316225965ddfcf0568486921b125cec003a7b48af9dfc95b0a9b94c53535bd4dd977f2a4aecafe2fb08b5bfeb997d22f6fa5fc946481838a32273b6c7a89817dbca3d2730bdffe63e096d3e88a7b9785e7ecc30cc5c847f193268ed761e05231e3009cf3ee58d2a4f03ab73f5053b0bc1e57960ed3ab43ab5b1493d5a73f6faf",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca60502305000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "a60239ae28daef9b18bc56ca81d0c6161762a66e8bcba6f387f71433464361450a6a08912bdbd86da34ea4954ad0c6548131d6a4de7f60615560524ac5644d69e14f4bd11a29b8ad20753e2c74db5529ae90a6c733032e2e365f9f57cdcd5adf5c66979870d8eb9c5eaef244973376f4872c323bc8ec32e5e92713527b6545aa85bfb7c31325000e6ac6dafd5b48db8286bacd05bb4a9de30d81a0eb8e4a2a888a71152e68c0ac99c74adc697ef9f34c9f61dd00514a8285eec30364e96652c49a32afb7b88f60e98a4f0d2382d795d026d8428818633cd5d62d97074839362fdd2508633da09ba491ba0ba0136056e7cc0c25a0367f637e90ccad93c60c5f735fc198810a01e2f1394f5bbeab64cb0eb87c83f0487b353c7fac6434805476f65292a72aad28b1bd7cfc5764a3a6457d05434814e7f669fee063e9a171a7e0dc627221b540bd360fb64ea870a03239eddb4cb582a0fddd6ce73e272c12901af1c9865d30f11a461fa1d7280eddcf12b8531fc1e5b6d6a771b9917fc3cce20188",
+          "padding" : "3035308006096086480165030402010500050000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "1acfcdc7d861cd9b8e26fd8dfbf13517caabeff310a2f5df45941cb6c4ff23fdd500fd1ea35a8ed95060496aab0273091dd9725ec98b14a71f214e7e9f9d8bf77e62c2f1b844d9ffdbcda7c11cae4a463f9e525acb924336a5c93a5331c2f7e167bae20464cdc68fd08f515f21bc897efb732c61219f8a741e867c3faee19dcd9443a8b1f192fa00df56a1de690e0670cbb0149bfe8bb5b95ebe64accf43a80f5d262666da65cba48937ff81b78b489482aa6a59951b1f56817d288d3942cd79ab7eed0b934f6ce092fe775eb0cb7ea9858e6810d3720751361b903706b50f17de49f10616f9d7d8053775b00f6a3d6e77a868045a85ad43c15dead74f5f86e46e2a455961b7f6092317e87d93b50a247c11b8c27087e3ecb3a680551e3bc3874a34cfba1f19f69a708762d1ede6bd560095f31b56863efe7913947132caf74e50c64b94ec8ce28a0ac1b4044f23b89e9fe5c706647ac8ef0305a0402a84d21a3c546cf7a7ab63aaa6577aeec89c8c260124cef46f587bb4ce940e0f963141b9",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "478e30fd62bc07a0ea6fcb4fd9875241139b012c921c448821356f29bfa331a1d44a03870a9c79482bed3ac275e0c2a15f731044133b5f6e1491af217180c7a5133ed781665265bd6fd9cbf3d65111d39c6c4314231f745291c70b6aa3d6ed696157612967a283003f982135520f959d24df7247d0aca3a81f7af80062d4d2b2c4fba1d1982bbfa37d5f9175747f6010391c78bf6445f553a5a77251f4607cac9eb17904680536c2965b5db4431619363245960dc8643c83b914479ef0162c70713b985241d2b271facab79253369b37fae70888db2003cf87677e915888d1f580e1d9fc7360ffc8a36c15fdc1f27eac143081612c004b81d4ed63bade76f04b0c9acdd5a79457c5be90ab26ba7c11ccb3945c05196b7ff9e29c713f6de873cadf6efac0879139d2bf25171474eb4b754762352bc77efcb50d4328e940ab4aabb8907043a4e24fc2eb0fd7da3f31bba14e1b91624212eee638ec4051f1cccab861b8aa6948326bcbcdddcaab5f2d0b38737ca7722d8cbb310585f01787007a9f",
+          "padding" : "30373080060960864801650304020105000608112200000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "1e035257b6ec35b3ceab42c5ce7a5fc87fe655a55802b7f8dad54bb048d92ac7b22982bf1910a810d0a3c5aa26c5eb9fe3e2692a272ea063a31607b0765bc3cd4365f75db38ac761651f9dce99c3400099fe37a76c9201fdc4f97b83094734dbb64d6ab62e5ac6b581412943285083e2f8ce252596f8bc0e0894d4685de91e248c62d68bf7665028d06b9a28a231243f9022c66c02ca8c47c711bcaae628baddd685f0a4001a23a11e4a898de0c0247373e0a5282e2214f7eda51513a903c810a70dce11a95c808dab26129af2555679d8ba048585a3134c0197ade27eafe7f4a777ae835f509301bae94e9c6d40ffe5ce60a43b96a55efc5abac62f747d5fb3a1c0b3dae4b9bcd8148eefcf7de3bf1731aab7bd21946d58beb2203da98397bf4c1479b1072a01782f8f08367754a1e25a93a096baab9e88475108b4032e473d005a9c91eb3043ed1774cfd36aad18446485f138da61dd9872364d35aa7e10e116c70773547ec1625c9861f0e6c92a9243379604271ba88904fa0d247459a6f0",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "6a245aa2bff7783e93fdf6f5014a01934272c88d6ca19ce53708237bd15ba9431d0ed81a6e81ccf78eb2d6e1d9ed5c46d39f818e1a1dbc7634fa1e2a1ec207335bc838932efd7eb85bc62fbfac07b0710740a9f0b0621bb212762c891f04e0846ec594922e917f5cc0509787603c9dac04d98407b967e463a0d912bfca979b92b12e756051e7bf023c9f0fe061c0d67a87b79d8ebde7f60ef4d2399964b8071e6a1a9c63a8f316a174e33edb1023fa0a0bf272800a9620db648d061eadb9d180c576817c759483f85ce359685598f15c9b8f00d75f4a8a1cb260f666fbff559da3a4f075e7915b284febf8bf21eb668012dcf31692123b94b4e44e3ef17c942644437d59c49b437398bcdc68b5110523fcb48241c60a8f4fdbc0ec45e80acf259e61cf8414f4dc9e9adefdebf94427b2794009b1377d64059977307059828342d605545e0b776cca88dd0db753b5d8aff63051f9ea49da13821ccd4cd11c2174f5cd179eb95c6998eac5b66a19b8f6a3b4c6b00d744ea14ef64599ebdf94f859",
+          "padding" : "30373080060960864801650304020105000000fe02beef0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "bc870ef5ce9468f85274cabad18feb0c0cdf2053f0becab52a3668d7ddf0239197eb2365f29e60edc36e673dc7b0f89f605ed6f3e9670b7bbdea42770957ccb11f8421a9982f38f2764f75f31fecfb1267a9b1e85cbef52c2d3e54aaf304d54edca0e2464a71946442970ee0ccc545946ad7cfe08363c87dd89cddd1d7d579c22ec49525fd9d83760909209c1e79a24f14750f0d0501d517909dbe852ba777415075a797a0f410289fce04c31db77a97f1eb1e8f978713d2b6bf9595c03f6376bfe9b9a5a8943408170d69272d3a5ad2b98b73d1213bfe97fdbed1b29b7b5a01bfff20122974b023251a2825512a2e99031777491fab2c1f41517953c10145b0b606171c22e06fcd78d6f51c02a25bb93edd7bba6fc3d606ca802f8ec4f82c56d1aeafbf6b7617c604ea53c736ba6cdd755df7b03bf3d00266645e68763a2bc53c7692bac8f57d14675d6131bca1319f251eb589c9cd71062d3792a3a359476038dd1f55784754bdd59b91fb7a9fbf9f2274705abf67b26a227e7ad1eba201a4",
+          "padding" : "3080300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "92780052295fc37894ca6c4ff5f6d68e21f8b907a5ef5411edc4fae49b615503e6b2beeb1501c0cbb0005c4c29bb918eced60c62fb21154d11d02659ec1cc2a41786c813fe80e8fef35594255b11a6f6903b93411b1db9697d69f2ce115954b095d5e56cb7d202c1d4f6fbc795d4966980255098f4929ef28cf80a2dbd5fe2701ca358c6acdd55cc801a0f8fdbee2be57c6b6bd168e90c39cc20adbaf6bf083e3b53332482a411da3983f054557ce976149d82e6ac3613cd95b876c450a474823d03ca31c1be5c7049a5b554fc2b658705f16e24eb9fa4bed22847eefa71ee4a253c52675fa82cd22c924e33467803faec7e4ff7fc81c40e3c8d102cc4d54ac8b5c06b8416041a50cbbc53723373bf13a7f5b2a062552ac843cbe18b3d5238a8bacc5592dd3af26bea3d8cf6db91d9b54f8e61d62f46b39bb9d918ce5d77370341e5c3ea5ce4f46a44bdab383ff1a5afc5ea96dde6094273606e4ce4ae545bce61549e1248011d6e2bea5dd6d219d9d8edc621db13631d17067765827c50aa96",
+          "padding" : "30353080060960864801650304020105000002beef0420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "abfa120284e8ecbc3ef8eb997e304c657bf2b7e78dbbc7b5d910e10f02a1be9ba1305c1ba831da12e5bf7ceb70a6bbe94cf2c422b2e56ddce696b0ae637f910a7032fa26c8b0489cd57b3af8b3eb09ceb24853e95315db7b6e468c2feb5287f4338d5b301efeb79815a981c8fb5112d16fa5ca1a6f243af9bb57c09e3c0c68a1cea5ce25cae53609295eff951bf030db144d3871580f1b9285f6e58b7d7a0b23dcaf5dbd2d96b81674bc9e4b748073aafcbe476808e7dae536971015891efe25ef14b00e37a63300ae82b6413d31d2453e55b3808670ed8e76fa733d24e346922d93c7d340a820151686f00c4781c08419caa56c950b9674406cce2c1f2658eff3413ed6be5ead69b6a46939120e1b03889c6045805a1f302339c544f32bf0ca56c7b49b2a24078093d2747c4eccb77b2db148df83e4e2094683716abff5599dc5ae6d4b132c2202aaafd8a5770827ea93a15a361a13eaac22edd47e0154164ae88022f6e5da9dd158a3a25f5fa02638b1522180293dc0e06aa0150b98e7903b",
+          "padding" : "30333000300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "6874b0d4afa491d22ea00d77f521010641dc45ab6081c939770c8a74553ae414fbdd1a2686f346eb5e50eec2b75be6b4d6e3c1574d36fe32968a5683dcec662480ec526136fb119ce78b7983875fed59989b24a2082b7dee49b00cbf3e18d6677ac640f723719362ea64fafcca71c4e5925159bfb36b7634acac6cdfd6eae269ad7a3c2880eaa5be35efb72d42ba30bc5fdcdc0a642e8d4aa2a6c1c7faf4464ee49284142cadb7851e9ee832a367558b1f3f06d4d55f50c8814ec6c2aa4a3284cdf3d471bc07506c4a5f061a441e44b87912612f1e4c576f4207348b40db8bc173002ff3437555b724684bc01e8490e34af10aaef0aa9d509840e5ff8a6cc92b2877d1ca108590d7a382d6a45ed0eea4c0e0abd5ff7675476b253f06a25f21c6e658634878ba318a3858737ad875d3bd1c1cd1128a094d778791e6163970e78909d4bc1f5b62d912bc643afe9218ac9dc29df522909d394a5178b285df3669fb321f0d7b6c7b50791b6ebedcb3740fd7f382410394f5853724970dfe75bf6ad9",
+          "padding" : "3033300f3000060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "7fafe1dca84d820316780965987a135054f498e3a9f70341dcd4cdc992789dc412b68440806faabde11f00c0b6499d84d5962ad1dc9586fbcb57ff05d57c907d74bded8fc8d990c71336d814f5b732d0fc3f441d44b29e1187102664fa71e047f0bcecbd57d9d6e36d9085c37add3a9c110be47b3ad2b34c5b8e94c6065a56a638fc073199b16e17efec87cc482a192f56f8d0fc0c84e211d1dc658fb222582be550439615803be1384ff8d2ade2ce1aa46bd6544141246ca74b86efefc8c7cb169484c122f2269fda56cd87cb257f7b31ced8516d01423c1ba7edc1ffb5de565979cb45326274f160a67f90a4fc6e66306cb833b914fb31b2070b3f60316aa1b2ad5cb5580be9aa47c3e2223fd9427dbd6f35d83e7a890a8054f71dd4d1b11d2597c47385d3a6123cab406dc61c562ef40d626e7561fb81fd3eb1ab72af94122a40a4f0649022e0ed52fcad209ae22613c5956215f0e3b4bf3d2ca6b45c5bd5c71138ebebecba05d0ff12ef257d5e8706a628876c958e238a3e4a8b3806bd4a",
+          "padding" : "3033300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050233000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "5015c5a03cba54943ebdb80e79fba8a8bd61085c0febd1a675aa2d0712cca98b1f0f43cd3e239c890af58dfcb40baef28692e81163bd87b5121d67c588cfe972ee8d560621ca1e9325161bd13014625ec02e433cc97f7025544a935e0f8cdd728f7fedf90a8a8e57d5e12d9c22306fbae77c092e13a3bbc9d98bcdb18714d62f3f24e65e74768c0a9e9b8600e87443eae345919ed7fe4c8581dc00f1bc0c2764cde2108e21d34cbb8f0ae4293a4f7d4ef938e8765bc862302379d979207d4f7e294f6bafaa309aa4013877588192ec5c669eda7f41427f81d75176480c85e3d122072d96174a57d77bd1e637254282c840db3d2a1f7f05de9f47422c32f0854a9703c668515b5b4030a5d26611e452306d8d239589458b8bf17f56f3447969c783496ceebe16a163a06f17bed06d4505b8e0d809e351e59883cc3ed15faa22683beb684e04323f146dfabd03e836f08382f5d00dd2d1e9ca17946446c306a2b97875faa042e3a4002fead6d15a07b7b4cc9a2a6b5b436fd03e231cb100a43fd1",
+          "padding" : "3033300f0609608648016503040201050030000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "5a29dc4f6d3138febf9978266c319c1bc69cb33dc63eee578ae1bd2a4736d28dd9d99a24926a2a6a5a2404f4b5a15112a7d0c00a24a427a0af817df199a4aebd77e6b2ecbc958d30179e00d8ecf9cb1500a91d5f7f4380e2469cbbe61d91b26573b2f7726e5af49af963e22578c08ff74644cf93c547c64965d708574b4e5496e3923d1d0414499220a6a9349a0116ff8d843c8a563865eacec1c284cab41c3d6aa813b0c5cca1add5e7d2edf36d8845499586b5118618e1a616d91ebc3349f5ee3ee1088d9323e79967929a7273910b389fe94882c28044b8978f5137a4b2d8537eeef53600e5c93734de279717141ac470b8b7c40eb0a3b0ac6cfe4e66fa2e50b44e8fb6ffb9db12c7ceefafc75a89c21d767f8d704aecc416f5771daad4310aef485f0b9c150a4a7fe6c38d81e352fcf0e49cb036aa02ea10c2e6222c4f0cc27bbffb7e89d1556457d73cd6333bec31f9acc6b7d927895e96f1e2c87aae21f8b1bf35d173b57820739c7f170c1be4b67a4db347bdbdee1baf477d7de4b9fb",
+          "padding" : "30333031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "b16e24d20ff575be4f5b0322b0fe67f02b7f2734a7e350f078c401a4f1170111b00e68524b566c7d191e48731d03e3f8e4b2ef90f8c9f798c57ceaa26411836f7969e234ef5e4da1ddbe2f6993efb4c4abd566115727831cee57a7511022c33e47716fd796f2263907c54dcfa7ebffb1912da68bb5572080274a664372822ad2b4516cb54dec43185fdaa0022c84856a178f69483bb743976f3d1f1ea4e2eb77d1c55800b7b405cc4967d3ef72ca6310ea6719617255c95a2e31231e6c8b6603aa82fab5d95009e908986d105296fc1f81eb3709ba27a68edb771e3e887903913e72c6386e3194dfba12defcb6e9764e07dba19a06504faeaf9a2313e345797cc4543c6f38a656c4c1032120ad6e83d65fe51275099c9c6d3619a491c5cd8995c42726f8f7f72644957e87b51b698ee443f81a24ba0564260fc2a776316f3f470ff3e1a3e3d071521351b11c6f4aad061c6ee81da1bfb2f40ed306ebf42f4779432bb79d7f0d20372c55aed8bc9df38bfb64fb016675ed3ac83520900113e1c4",
+          "padding" : "3033300f300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "3531e3180f6385e8235d402ef40db775cf88d115fe8c3426adba5a4b36d05063130bc2e711d5e71f4fef4cd2d7c21a7e2fe76a4dc02b961a6edd3658a96c78e3f7971649fc913ce8c9c4ec9ebd8be9209cb90073702b97ff94e96471c42dce887732d93f89f7376a1ee0190d7c646d56393f42c60a6db3724a734ef986380e934fc8cb92428851a6ff74f1a3feb94f7f6d3a331d4d61846026477b7d7b77077a8213555d4a7339ceec0c71d65492d2eadb9dc3fcc7b3c0f08ce2d09c97c14351dbe8d2745aeae9882b252ddfcfec719c312b789ba36430d81db2d1e88c29f0ccbe410789e0cc27eddb2b4b6d5d0b980f67700c05cf9e64ba96e5e50ec4e59067cebb580a6983acba34ec260f5ebc6abec53a899483d266b53a0cb24f81c9ca144772ecd622ca3cd0f502c5cfe6efec13574d51acc023f277c3a7efe128fac202e41033ccc4bc78b550a1663fd0d836bfa31c435badd977f38cce70a5fc353449a3357bec99a87b19f92f81c99e1a6d23ba23b5940355b078d05b2554e5885fd8",
+          "padding" : "300f300d06096086480165030402010500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "885adf1a5e86d463e8f6750b49a3c3a91a2e8bf90e4c19873e19dde041bdfcd08494a9d25ffaa679c3c4c6d5addf99256f75498f3cc6c09c45bc056daae88a509aed0c4b46df5c1a6a1b5b4f2c5d5d008bdabe5f22a0ba1f34e604fa0fc8c647709e82eddf9889241571a07e9dc91b4eca9af390f63ac20a7e526d945df9541fa43caae141ea3feba0d0fcac7c50f7b03d4172daecca84515448f3d8bdecd2513aea8565227c2da298a4e2cc8f5fe5603c30c220c2e96c3a4d802b87815b1d94e06f717030bb2d173339ec3ba700828bc7a02495a1042b644fcaa02fd9e67a26600718d056a050800eb546eea65fe9fda8258cf629cd48dba7393b5569112f156032d5d4e7a989605423d27945401ae7db0a9469375ecc8ccfcc3f2573570056027303a556115b0f98958fef8917e1861de6a59843842d269c8412da05cd2a12b9e2ae75d177ecefdd5af79cf4499488037fd2d592bcb2828b9ddf9cf7fbe309822a9f0f54368ec2a6e67550da715307eed5e1d80bc9baced4fef132b2f59cfa",
+          "padding" : "3053300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "313233343030",
+          "sig" : "6f4c5d8e23801e4dd6617c4670d2434af72844a997379dd7f877179bd7405bf407247e77a9b0e76956b0b3d61ac2592c7005fa85bf3cb53a231603070a83880c0202e6a2f5e4149ae05d5333f5daf142a8ee7b649cbc97d465b2354e68a192b1c63c51a1166feb428afb215d89e51bbb076eb0fb7f02a0bf512ef352561da2ea1a2265eae0dec4c7f2eeb232208965427c81c596cfc7f18ca9510bd34e83e5a51473e6e138b75368191d6b1b2b605430d9989e9ca4dcd2daa8f11e0ad05b20f3b0eae07795ef85385cb29df224769038f89599990d0ed75eb122e2cf6c0aa80f185c535bc328ae21e53376095ab9ef9f15ec663df2339fde30c480944026304d553b0a2f270f4ff999a0f39391a80a73c22644d53e1e6bb1820826f4aae6f126831b195c2d137b919b5d20d918b3fd3d85a83cca759850b27ca101460d1be3cd417dc16fff5912331118a4d514fa3634f67f72b31056cc65d8f6a11d1fe10618b88fc2754830eae79e12f4f302776137a772489e3488f37cbe0a1139848fd288",
+          "padding" : "3026300205000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "313233343030",
+          "sig" : "70f10afb809a64ab2407f0c3ddaa0f2f38f981b19536f3f5ac44a6fc85e5535e04795a16bb6c435528ad255402200b02f203bf3f539df42f0ce3cace96456728814df95772560057648867897603ddb96a92f3c7652ec24ba86af4fb7c1a8ddad03409e1bf982d01b63190661dddb932018cadba66a43cb5c4694233541c56d9d03e659e074fd6aaa18976856b8ca27342cdd3a516d587d5d46c9c845be535ad1a923c2242137d0f3dcc112190a807ca112c069fade7af53f17f2f74e2f11fda2b75f9a48250a4e9e8b34920fd20783b179399425b19e7ea99f395cd3bd7d37729a287d423623a33542100d13eb61d7f77439f4e3aed7265d7a08a7d9eb0477aaca23261e4d06d25ecf1219b87610e89af4c1b427f7a9432624dcc6f78454376d215a6fd8f6e5f1211a18334395ffa710c8730abd64de0daf686a45e979547c46f684fc130f8cd9c4ec6252408a87e29e38a8552a4a908ed86f3f83d42a9d7dba1574a2453dbf2613f8c9aa5b7fffd61f222c122e39d86bb01fce55acac1901c",
+          "padding" : "302730030605000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "36343b89eabc3dcaa053b5be3ed7faa79c143ec18800be18ddd3747ecd557f09998203325f89d3badb3eed7fbc20823680d38eb44dc368abbe180474f494431c04d936d7b5886ab3aa2306c0b03750df05c4e7fcc2dbab79736e2ec9b0e27e277d130060abb4ade70cb924ab950e95ab1c2335578c5cc40dc429e397691542edfaa8f4d408918beb9b0cc0668b6f1cfd9692b32f63c9fa4d482beac2745d5777b6da28ed7665bbaca9999f65309ee46841a8e3998fcc6670edebabc4515a438375ba820380138aa7f2e32b8f74d29db86cb85dc2b556f4a307c02237f18fdc5634811653ec2a440a53f8647c495b76221c058268713191a9bdcebc148a60d2159f28d92f79dc5f3b5f0c09e62bcb68f7003bf71bea00d25c4d7777a28103ea43e92951d10be77ed7c73cbea573f7e46f924e4d12cf9df8faa53560153c8fea87365b90ad3f0e6a50b41612fd191c8abc3a5d8f98bf4006e1ae31907afda4b20d7632829bcac43c100ff3f10f0032e1bffd3b207eea2d6a87027577e5458ab81e",
+          "padding" : "3033300f060b608648016503040201000005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "750133d796053811558b21dbcae35e267b2fa467a9dee49755d45599a6774682e40e00cc46cbdd412e6233070dda3a59814d6238f474d04d9102301bc281816bdef246f80bd3ad06646cca4c9a662527385d3c473d03ec4d021db74c7a1ba6ecd1cac005d58163644b993aea62060a25470083006a6515ed45b1e54601b9e5914b8d5e3a630f29bd88036f5b708d2036e4ce7832a239699b2879b6089048e33c05d3672c0e5c573699264de531a0f6c2c703335fa32cab0003d25f9bb8e0fac2fed05a82c45fdcffdfa0c2be8e5501212007eecfcad720310a8ff44ab7dd52e69900344996ff0dbb7c39d2398769987402a7e1d9a6378721f5aad9faffecfc4fee8c4092207e849715c56ffdd5c42875d170467799e0f8a08ad5edbec4b939cda099d30293bb76086c5315de60e967267f3ec113f7fac4bfa9af68c4288c69d5b0073848aa722124a9f53654544923b5556eab31bc22ecb6cfd8b18e665fb345e8b5e48cb63ae37c7ab8125a1f3e5d6c4bdbdb9778d8e27f91883aac99a69a26",
+          "padding" : "3033300f060b000060864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "4e9272dced0bf87a8a3b6ce118532d1ffba529ee783857ea0ca7510f4dead7406f10c48725092eb41561d067c1ddbe0c111ff24aebe1655edec615adc123839cd77c1a3de8baef7217911adece72b3a6b617c69e8c31464e2bc021ddd2dbdb99ad28042133a6a02df2be394d5004c6ca2d7520af46227171a5ec22870fc8a7dd8d6f4e137393261db00c57fae4fede6ddc7078f7c9fbc2235147da239979fff0dac3c5f0ad10fb3de6ad70e12ca6c3de49b8a36383649da69b62de49c967301cd36d439a6c1729bff6ea0e664a6fcc95898b190cee2492fc6535b7552b5f04d71b4be2dc0471dbeda5ddac313c9cd4e90109f04bb09515e54f6463450bcb6fe06a5cf80e7644f422cb83b123b94184c9d81fd0bd4357b60aa92bbf35a9a7251c515bdbd6016b81ed361837eb6021393daebe302c4c204ad3fe724b4f5b8e52f9590ea33e02ae1ec2863df83c33fb6b21ee051f489668adbccf04883d6aa972b77dcd42c03de0be2ec9e63a717d3713a2c7d31163da70bf53dd3ec342183e9696",
+          "padding" : "3033300f0609608648016503040201000005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "313233343030",
+          "sig" : "bee3e72ab46b5bb4cc6138dbef0aa19effb5067358d98252ff739aba22d21d7ada25aa395aedc0c29224ca5b88169072fa6d5da902130ce97f42072b86103e1b93313452fa6285c3f963689cf15c0aea60ebefa1058603b5c9f905d5849e496ab4036ee73e5ac612b364c84b34887cd0141ebc114e240eb8885b0ee82f31a9548fbcdb6faedc1c27e0fb1fb4037124133088d5edb6d34476e1bb93e6da177197b6463a0e1042581b965e9d0e7797c13cc841263b991af9af21f8ccd44f4ff161b6545296346ef54792dd5392d26b8bc2c5a9dcca41ccc6adaa1971cbbc5e676f0c6633ece739b57a24a6bc54fa75bd6c4f2d1e554d7d7e78a57e012f5a86121e6b11daef66a0004fd514e3b688770566f4f98db5d368f1e4ca9ae583c245e30e485d4b71cd3a624eb1157716d6532c866ccdb6c5ddf3e9a6e05952f7c2c6f37c50871b21258a2e9cb152bb877971aec6827fdfb4fcee828324ed2decada3692e3c4483dff53bbfa12b633544f04866b3c7c15f713786feec165502eb895382c6",
+          "padding" : "3033300f060b608648016503040201050005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "313233343030",
+          "sig" : "2cb338f3b3e9ca09f101b5ff3169edc180c1ed936f2e4a5f6ee7befe1e005eaa450c1ef3e78739d142dde992cf73b2349a617208f6979220c85f7c5286c3126816e47cf0946a17de1fdd80657ce79254881079da225d3b10898b1e5eadd04489f486a14ad530fa6a444c19d875c0be51875303abf214bcc6fedb1e7e43a257a3375f0ff7ef64e5369b1ac071ef8a64336f5660ff9c5e8fb389a6029a8ff853d4a8e565ba17b0f7302d4eeb5416598421858ae2ab65c2411ac92db844bb430a745470f402b13c9575b171fe9e64f71d6ac40e6ac65c5ee08160864c89df2d9567c13dbd6ab1cc6a767892f0fbcbf2d734424875e9775c2020deb25ad8e93472e1ea1235bcd06301ac181bb20a700050e08548a5cc00234a44e42134591ed70dd4933f4d6c6dac7abad2e6da8417fe42945ced787495fbeb99f2d4648b9382d253e0806d988b1f3a64edbb28904092941c834b63243d583303f6081067d1fabc5afcb818ba8a2edc31890ec28c204eb767e749950c18be17950bbe9df4ffd2bb97",
+          "padding" : "30283004068105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "313233343030",
+          "sig" : "85825bd4521c433e916152fc89c06d11ca2de44afe406108ba3cf299ca02d0c7165e41ffdac6279d0fe5b915f0aab62de6277e381fb8eda73a89e880fe546fa425f6698b89e47d457a349ac8cf0c38f255981b902f6e22ab9d90ecba5682da95b72ea32b243082d564466abb5e9abe6a66c5cb9f7977eb3b827a1b98af236340991db4b6fb957c4b055c23e13766061aae849a2a8edcd3ba1521f1201cec81c6ad2cc7c20123f8e1c13d1431e6dfcd3481b085e32ee4d935311f5341e3a0c594c709523bfbe9b4a0374967ba42390e9b9a1cda573fa6008b9a0a96250e9ccea74e5bbb019f1b870268a48df9d39b422a9064d923cbed7063d8423b020f07c57e4e33122705b523c845bbbf764e5d505d42940194699143188c7e694059416070f4da019eed7663af0f007d79433a091fab6cef6bd0f3d7021ae7e82ff956b37f9c88c2c82e57fd834abadd012286f1af916819bc9e91085eedcbda6b5cc44feb83018688da4b97c9dcdc1700d015b71597e96c0d6951f04873852a0dc3397f88",
+          "padding" : "30283004050005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "8204c6b2d4027f7d93ff89c36eadeda03a5b5464deb495e5bd4fe066c0d9778042b8fa130396c1652949f0fd577ca23f988dadc525a820cf82756992ff81c4a7562ac1017ea01f8f9cd0cfc787dca972f27103a4d92bf215eab991e6970e409d431e6bc2be4f0586f5b98b4ba708d9761905aab265aacb9d495469b1863f5938549175f30b30561c998e081c41b039918a6fab4eb2519e6cac910cc4d931c6c81e899655f06c8a26f7b9433992ff923f27d982c1bfd0dcf62e5ca4c3e035961aacb99f831bc0e42a668c01256cb830b7aba0f22314b548c0b85d84c61c9b4a8ef331bd7c98010c9a65bdb7bc4f0f09b87d0c8b8a1bd96b6bc2035b43348dea48f1f4a4ed6e393040500a12d7a2ce1e08ee8934218630ecedbf2fc7fb5c6748ee3118421967e8685488fba058f312ae41f7d386905646ee334e294662a97ce70486b450a64dbf8ad7c1ba50f0c56295cb2dbaad3833d3922566802c80175526e24b188e18574292e225bb958305dc2749ddd4b46685925c0ae9deab2671e1e799",
+          "padding" : "3031300d040960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "6593928f8e0a2a486c9af0b6af6ad78865c215f64ba3b72bf3a103788a352d216fe5a2a3382220f037fc2d8a2d25b42f48cda3337cc831e4746266121181bce964abbc7eb6378b8c59b9ff59de336989d58003534458a47cf18fcb0d0397333045f0f0d826445b62487217df62131ac0d84a38a02ab39eb7fb1451c7ab10f47d7e62c06d0d1b8ad35268ce58573432b1f4a9515bbc9bca4428bba426a3ae8ef8695bae7a2a3629177fe00edafad675811c90959ccd7800e4ca1e22b16910170b9d697b25af45b9d2febbec6b57d550b7854b425fece239155f068c6873e314ed3c97a46f7a61c8b82af22191feda559b7e93483350652354f005a78dc62bea279a888b4a6eff708eeb4d93ffa0f5c6381a9f6570746387f0e116376e4625a01ba34d68d39b6b793565dddd357493e8d45c8e676026e93b26abcec1b4ebf467f3f069dbddd63f30b6be3b93525618ce903463ae5cd091c39263327b40b76e4be0403f6686b0ae74213a5208bfffc360d3de49253b85585b181133e55bb38aac6a",
+          "padding" : "3031300d050960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "c138f33d241e4e88846f66b4c8f6d27c89c08297b8acb8e23f6026b4857f1bba758f5c15f4266b8d66aec30a5a46b32839f8863b3e2a909ff37c97322ca4a9eaafb2124171b52dfd63465e147b8e32c99cee9a60672b70163e747a238402477dce31497b2339f638d5907e43e3b794ed8f1521490957a57cb9bc82c0b066c20c826237c205bd47d1e6ba57eb5e37364bb5fdcfa8155c8015ca06562f7f0c9882cbfcbfefbd2f5ccfd2f78c684a9bd76c659bcef3de3622995ba63913120be5e0ab72d16d11cc1ddbf23d28abbb8a5831bd0f00a8286122a117d55578e58e0da5b7dbfb48aad8ebdac7e8615ccb9c21a1d877dc84f1d89aabb0976f59d038b9657c636b762801f214953b0d0cd55ba1bedb4701c5e2c3872f364585bd675927a56a3a0fa0b962a7170f925ee921c9fbb9d0d8a19057337ae74940cb86fd3103b232314385cbb59011506f94c14d18850f13556cd7f03cafdf9229030963f325b15c701c60668e6a167f9b3256bca99e05f4f5c2c3dbff30f3ecd36d79bd0db54f",
+          "padding" : "3031300d070960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "8c174bf6650026302423faa9b90c71e66c2e54e65ef77da93795f04dc8fe0cc05f992cf00c41486268252f52d17a4b5eeac356866162c031e55d3ba7d0ccce982fb42457aaa2a92aea50f9cede6c19fc0e1052a4dd85d8039bc3f96dc19d8f2faef835267b6d235c25feaef590c5035c2dcce1ceb6172b693a63d3ae5815f5972bba516a096bf45e006dcda300806eba09ebe7629a939800b7eba88e7f82467d4d65889ab65f8fd37ddb27e62bf4738748d9e429eeeb41bf2a4573baff6890cbec660fa0e1e0c38cfb8a1e086c432562fb14b28c74495689e356ebac1a701deb7328ea31d30227aa9ace477cf76ccc375519995788f90b41bc7f6fd4af812ddde49be65a2c7f9fa1108376701099ce79d640ca5ddf1d34634513a76eac0b3ae02d06a2195263d79e9dd6edfe9b5bc24819fd5ade71b1d1afc3f5302156b97bc3c4fd3386f0a9c00c449eb05b1d742c75f02ff4529ff1a0c0b34ce4cb91a5f8b700d9c38ce6402bbefbbbb3e158aae035074a6e0c91484ef8b65590e6870be30c",
+          "padding" : "3031300d080960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "39681cfed3cb5ce9fe0bf719a1e92aa3af1302f6b6d0c93cb22795e0ac581317796a79ffe29b5f88fd38b572cffd06fbd2426372efc6f2ec01b2267f8c225cb6c6d911c87e7dd756ca3828383eb5bd9c56d74261e62550c88e39e7642604529ba45c81c6adbbd4104788df8e00f04239e8d4c0b43ad15b497ec04d7cad30dc0082d586b1d88d121e5e5ec1396b207410a3bebbc065ea25b97ecad9bcb9594b749a6fa8f33dc11a64c48494201ea0efb73a203cf10ec68dc052bcb68d336e31535bb0f667001dc2da63358e37bd421fc88a3009c698230c057983968d61c31462363bd93c200ce4f5add74f20d877564e88c20982713da42a1b279caa845b486b090d5fe6c154800feb14e67498cf6d3176a707b2b1c82fc6773cf65befd64c9446a7b62482777b1c77c8dfc644798a3b21533c63e0fbd39e07b127b051ea2cd85b42c0592c27bd988781ef3a405dad25e9659d9ba5cf1b3c3110b59117c322491d55a9c93c8a45635b5b0d378addd082453a6d190b8fa0a89a59867d85dd4d07",
+          "padding" : "3031300dff0960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "313233343030",
+          "sig" : "7206322956aec277538b8bf09edf980c88df3eb0dc0689f834581b94f801883b384ac4fc218bad411d44e49c03a6d0ab123a19a4f0c7a8e72092acaf5162b0e30a2927f53543b31fca0b0b3c1abe56268f442e6f856018622584205dd898e2f98766b0def32894a508cf7c824ecc26750082b80408cf7a3fb752172afd53afd6ffb1f0b96b9d0c705574eb0f1dc1f291ad5af8c5d1f539757e19e19ad600013bfd2d1fc8b668d0e56a138381389a7fbeee5a7ac363fb4ad95006e3b3e16a3b9abd450aa3f16db19facca9f45cfea2fd52034e7a1835f6e10d40be16e44a0ce5d798a8bb9451488f78edcd203455fa6dc1253505fa83140d610eab8cac65fdb2c669667a75bded33bbd4ded3b0691de5e30c0eed12e01e9c78e56fdfa485481fe671fed3cf558730acb382f24c1810c674e5459ffe449eb82840bde95fd2f23b8438b844ca019882778edcb7d5b6f4d2ba16c5ab439556accadd3029173604e5ba40373d491779a049d0106dec560e084ca942eb6293bd3d88a6b4627332a615f",
+          "padding" : "30283004060005000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "313233343030",
+          "sig" : "2130fc5f94a8a359b90ba546795e788328f09c45903823452fd44c5a0703033c7ceaa0bd956c20b12eccc052c2f535400e0f2d0e90aa0fd1066e400d6e81ee19fc2b7827b48537129b54938d324680966cb39850f755b71d967b50fd7d699ce3fe956a150c17088a4d29740905d4d1a6b5e013c4450302bb3c125e90748c3eca09e39d7c6e1da6d65ad02328865e2c0efc0eda5de61153ae757b33965a95da80e23f531286a3288fd61694298e68dd21dac3816aa0b80c08aa57f16cc24c641164c67bd98b2c5a895926e1025d3d699ab7cb9e4f0b43e31f68bbe2fbd3655a705b28d4266807e236c4fecac9ea470dc9aa55690e428a1b353696314e5c62d9e5895ede07b7c584f65d63935865211fbdd78cd7b0090bfc169dd000342d14b068c6adb65068cf708c4e3c3be72302bbff056087fed642480b9bf2064fb3f0f0356b7875025a4641fe5af22b98432dd708872412144cc9706dea53d9d8f96ee55ed821715124bc824b408092e5eec66eb574f069be3b5d88a8f152ab73fd160b4d",
+          "padding" : "30353011260d0601600608864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "313233343030",
+          "sig" : "575ef9ef6335f748555a176d35ef3edd9428abcc6c00850723b926fd84c0937361b662320866f555f6e1062e1844aed72754da4f50b1c960b8522ac932cb263c40d301d232dcda65ced16d0e8272c2a23d2130db57cc2d39b0b1fa03ba4c7fbf03c6dcce9b474583538f48075793c26df725bb88113738e674f7fb4490ca61e56b350650e8039beb39a97b6b55b5693cb7f4106a26ceba9322ff889b0fccb2e35b8309a25bd91bf0b8f5c2459cf81bd9e8c2ded35a9e87ef701e26d82207348624aa596e4e1847b111c518d881da598e1ab6e635af91c802ab35f5cda75833217517e84159bbed67bba55f51d62dac8d14c2f9e1a8d1b1649e367ebe7611af0331424ed6784a5497f80ba4617a580270a69cb2ce8b0f63a73d5ab34c8d7e3fa966f465788efe41f57a99914ebd708922d570d1334a81bd6812882f0a3b3f41f88a25bd48de158c4da84c784235593c00280cce586b5d388e4ccf92ffcbbf69dccc8171a7b4bbc8d68d1f00d8628b725f08c194fa18f064ecd2f3c1bfea173cd1",
+          "padding" : "3031300d060962864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "313233343030",
+          "sig" : "a947601ade4bdd5adbb13779e2d0893eef5de17b6f217deaa8e005fcb9a5863e1e84d1258889dbda768ec247848e7c4c8bccd8fa10a322d05fad461ead9b51180070e5b263c5ca4bf471fe2711ca4d34312cc3741148ce2a0ae9ee7735984533606aee498481281cfc398f852ed82020e0c9f5036b38b31f9812f9bfee954411d7db1653c19194710b42d726ea0844022a2e0b5eda0bc205dd94e271883bf91458bcacd093fc40546bb71ab2ef72073e278d46baad57f744b4b31b100288ad6e25fe8a582263428f83b92646579d18438eadd89e59baa4de8da0d91fae6c3667be486fb7bd5891808930ed3c0f6b4d7a6b5e8898215ab479769f040380ed6636751dd19ba27c8284bc8661d7ab86c5242f6b012c48491966925c3f780b35a0286e1b389bfc134a60969d3345b4ce1d0bc23885fbb3883da50d1b470e1bca3e7df62e5872d7855072be216faa971684d632135858303c6de156dc89be01548ed69967b3265d208a62f5887c46e3b395847f8177debf3c572ef212dbabb8573799",
+          "padding" : "3031300d060960864801650304028105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "4c2912d0f4de569d7db9cc1a407a01874ab8e0bba81f38c370ba55920f64b41c21e6a3b67e5e0271f8d9400374f11396388966e2434aa0ebd4723042c92a876b635b8cfdab85dd25fba5f88236fff2f7caf23602c479c95b5ea6cd3e4f653cb3639e75ac1cb39d268a035e744453ce706caf3f53eafd89ec676baf74f2e6c9cf8ea4c288ddb1198f15a77ce07e7335671168eb1cbd8c607087dbb17b263c9ef83e650ce9a48ef2fb5fd37a13aab9e8239bae823c048cff16a7e1897f5f7e06cd685a829a85859695fe6956179cacdce7181d045419e69903f987b35acdad97a7dd2e7713060c67b8f447a02afc218484cb1948071eb64e77cc4e48d0bfc635340cedda460a1201b3eddec7ae5a008aada21bed3060fb17c8028eb2bb767d1d4c948bb5ff9e9a2192256e59ce48241f5dce29dde5ab2de0ba8240a992239b7a2a546ec66ef7ae549c8a15fca6a70cc1474c90945795e876d609d5bbed72b8f001673fd53b9540be4d187a484ed33506464f402160bb1f18a3dcdd47582cc74488",
+          "padding" : "3030300c0608608648016503040205000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "357ed432befdd0d673605a705dad0d8d2f100da229e979b1ffac404596d777269d9469dc1b9a4a389015faeb44639d2962a635c3aba4ecd7f38870980e87b2af9c7afcddf2fd379160cd415f261215a5d46ce5c0c9512f543a8b1ed961d2a75415c9f32db7892f1188bba23c6d5f2fb40aaf4fbb003ae6edb74cd0844f7461b3ee029029595b6b8d299e392d4763d3f6b31b222bac5777f87bf9e0beba302ee87da8be3dc5a0434b8482c165087d60532c52c811fe6389c7c2728cba5912d26d8089635fb01cb8d78aa5cb41cd274309d97cc10dc2a43461cf951647b110a65bf47b8c137a8363455155332287867e4c0765ce691cbb750e5e141aa6fe61fcf4e4b707420238e05d955e5dce215168b4d1742dff70ee87d4e24bc0fd9b73835d8cb359a28040935b4c64907a7623d11118e2997fb2282cfc73b2fa27d6e58ba9f5b317f35a14363c78f82466d7c9cfb8b07210289817cef53ad672f10892b0458f0004b68e74796bcd98e51f2e2635d494c615f6f087a293ea4d225b3cf4b0d6",
+          "padding" : "3030300c0608864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "6eb716c2e05f4e40cea436982787a425442f6031d7649fbb25422125bfc8e818c2509e9ec5938856bca73695cadc80224e5d2b1ec6396cfcfb91752b115f40beec2eb15461c525817109292a590a7da0976d5674328dff122358a349e5a18c29c9b1a5cd19b23dba26c60472366be9cc2d50cdab9f1da1d9888ea445b906e4dffe4fb1e0063478ac2118a28f99578d17073fa328f13ce4bad081fae8fb5070291080bdba9570c28aaa46faadb1dfa401cffb95ead0be7dcb4d5608d88e84aaa9ac90458558bcad4428f632fff04c9dfbee74722a226f16fb32b2963948bb9e3ba0e3dff1d5bbdb8e75762c4d561fb0e25e0a32df0f2a914879a40ad82bb9d0875123278807803d9a098badd2968338da39d7d13d43c5d78935157467a756a7c43bf603a18b98980773bd9067a8ed9d2254816ea9c9e52b9c4c50e0dfb19ef8bd8703fb5e79aa7e5a354da2335d20fff68294aefb8f4494f6fd807d14a46c489811aed166a43e6e2452c951b6d7b83dde6ca03f494ef31d81233bd2b5b25af4a9",
+          "padding" : "3032300e060a3262306530333032316105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "243b4b959eb29bfc5e2e75dfdd75b1609e3e74c91aa8c3661c7db5472e31acf64212f0a587d0225f096ab5f90b94581d9c1524d08781f98e177ef4792ab04cef9a983f8997cbae5a23156689c05f55fd877b7a725539236887b36a93c0efa64d78368ed8bf9eb7be111f1044b21abeb1adb0b0597417598c64fb21d400a8fd6a63abe6691a58d1e2b31e2f5082ac0ac6fa9efc7344d7853084a76dbfa7b62c90ac385e579b97c1c194bade66e4c39dcf4e19ca8e4ebd7586c7c3b78e0436c361ecbbcc0a46326ca19830a2c5b124d4573b692e58dfaf6b5efabe663a46f329708c41add4acb3d92aea60ae1adfd4fabcb7cbbc55a936286a49763119baa459e2bd3a86cb9ff722eb2832369f0bf1ed56f25f2dc4a44acbc34f7deae84d20fe99e68f5479923ee4c8f145618d956b31063a93757a514bb3ddaaeb51ba35aa1bcf97cfc1140906142dcc6ffaae82488e5a3fbfc3faaa5a3a2579909a6db62e83dfc4c2e7d02a156c837e89d5585a575c92de1b580b5e4843dbefd5cbfd747a2279",
+          "padding" : "303a3016061236303836343830313635303330343032303105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "313233343030",
+          "sig" : "463f3d894b269830ebc9edfdb2000bb7dcda806094701cdabe83f044e2b70047c00003e8690072a1e01733b72c243f0f7a6cb9124beef55063ff06204d37815b33dab22fe8247676569eb0e32561e3900f632d61d61c9fdb149cf2f8377b420b18e91b72f93f188ccd95eb95f7f553b9676272386ffbacfbac3327900b5bfc844319285e9690076b2956ffbf4da637434775b97f1fd6cda68bf437328e0e8b5b10b89c4af8a988b1f1ce97b571ed0b921b8ba6aea9b8c00888985a6aa03553b4369e5ffa4d01ce9c0ab18a2d74bb274417c3dbcad820a91d3a46e3090499d3eba12857adc4766b69985f61a9c0f43d2ba13d71fe11c23f2c03be6a81daa5eb91ff4fe30ebbb7ee7722a4898b6e094a511f663851768c0f673437170379f0b3a13d69127e596dad6a8e3a791985da08d105ed564c81e7f8f5c4aecad4b65e572916d4cc6383f03460bff2fff1e351c8aac97c4e7f7a14ae99fa6425b405c7a60dd81193091047cb2e0c5b508856d5af93538db9c7a7d5700cc1d89bafd23c8111",
+          "padding" : "303c30180614363038363438303136353033303430323031303105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "94f3af47cece8d24ae8de1792aa0115f4781a65a3247cf7967628415d22a73ca9c322206247a3a53fa8dcc6eec560d7d40dfa5c7550690b067120239ae1f29f75ad2db8a4e5a63841363fe735e649dbf0db6137195b1e26887ce7ea81617bb2f4008538b9ba167fd31bed97f269ab14e97ae09bf3cb44125767cba4afdc3fe13e57604170e1dbb0e5e93e6b557af6d05dafedd8a67765c3287565ca41fe4e7d18cdf4099e1d4bda091e84c5ba2314b044d9e10fc7724eeabb5136196be7aaf1393dcf15537cf92fe3aaf6e263c975a587c8bb5495f378ee983270d0e7fed332dd4261d655e3637fc3bdc519de8e3751ed40fa04be2f9b1a6a5282ed80096cd12d1d3941d3ec19ece7e0e7f9278546275ed242896243d8780d966e55f7fee99b1458d5df4def593b678956cc13f1c9742bc7dbca74d591dce9c282c63c01a0cd04a13caf14f78e11c0df956570feb4d834ac2e3acc3892c11ac734c51bc5d629b5b253c402efd1a69d00b7898616666a52a104605b9143a7b1624c89b91ca7075",
+          "padding" : "303a3016061236303836343830313635303330343032313105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "89dc343ded466a0e6a49da1fbc54d6d38ec55416db5ea15270c5c88ad8b316f39278088cc6e8d80642e15b90940e316a7a8c5e62b5a54dae89c3a33feff6a6a09cc197fe79ffefbf4157e3327f0caeba3bbe669cf50388390f7fcabc8c4a70dff4eed58f5d731570d13e16435d2e642f224cb779c49c025575476110504dc7a711a2af05e8936b0caede0299d730b792506e4c8d60549a55b3ed200f6c5c9d7874cf9c749c230b2939e263e1b039d1c3fd178a86784e2051efe5ac6bf7a086d0f434de9e762b9f45262b1d6953a927b12d5f1ff75923f9ee303ed9f4236f886478ee5f773c3b8662187e1e807b5aa28c6a53c9c8ba2955698583cc7b38a6de0934d3478fa2860226e3ed9b7bb275bc380cc948560375a643e7d89c0905cad48924a01d0c7596ac69927b642d7d905ac6ece1ab44a8499b5d96be56f694e3b91847d61487c00d4c1569734d07cb7ccf0f47b66b1f5e0756586b37f5bde3ce6055b0eab951964ac38911f520ba5bc8a46da8709e4347482b0f77195a531b164536",
+          "padding" : "3042301e061a363038363438303136353033303430323838383038303830303105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "313233343030",
+          "sig" : "81c61e9ee36edb7f807d4cee86f91acc67023324994b6506a6cf3399536d523126c8af25263d3370993a5d4ed6327b6c90f27052091c9aeb10040c78c416a4ed63cbada68602c7384d2bf8c7661ed98f42a680787eb8a9c70b32227d42cd81e05dfa02a9b49a766d867888eb511b33bd90e446cdae0d448827c6f4ee60fecba48ea455b3750ed38e9b8ec2b3e1a96ad556706abf5ce6b80585c9365fd41c12e5e353f8c9239c6369a0a3342324b99fe69bed94866d88e67b86a8068d0b659984e27b5043849da32a1a60533f526f32f4c05a1b8259776f9f2d117dd1bedb0bd2c4f8b6988b2af345ce67711eff66d184c9643c5318d495f0276cdc01b558f1336cd55542bf3642ab1d58c7eb8287d137ab041b7e1cef214ec6d8f568bea820a998ca7858dfcb430f39e69d1bd546a9e7c98937663ae12a05b34cf96ae0742b528dc5fb0d68fa7ac4a0d091fcf909f59c58e89c6d0a743fe9832051a20adc66168e2ee0dc51e87ef608c7d55ed9c3e50ecbd2c40d905bb10bc1cf7c19d5b21e70",
+          "padding" : "304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "3b2cd3efc5d98458e663bf2f32ceb472f5b66707152c041b052cb44ff4648ece7d33fa2b1e167959f34eeaa513d93a2ad08ff7c0535332fd7e106843bae674d409b22ef2b54e90d7c27bfaa6cb634f611388b0b0851b2c65d68886b89149980b7d53d8d5fda7d08329399a0fe754e5ef9885c0c1d91979eef0a2e96537ce5b633a2ded3a14220c0484c3b46bd70eed64a2008a9dabe06a257712e28eb1fb79cf982739c37b74a46d8de3bf31d3b39221dac91cb087c8e268e45e12b2bc8259e4c443a9673331bad88c27afc61ee1cd2560eebfe77d82cba7e8f82ddcd308b5aa83ce175b5a5b65b865ddb8f79c5ecc5fb4da6c24d1fa7d67166a43b173ddfdb6ac117eda90572c46b17332af1662f819c15344be72020ce0644109f4ad958f591ba13dd6ab529c4e31e7d8d34469dfcb94825b7d28baab516897accfe1c1a38bca0fb01a9404c2aada77abb25fd34e40154ac29d326cbe8d5262aa044fea2b0a54b00f18743f1a35387505b5b22263501894f7d87f103226f8c50d77f0d54edb",
+          "padding" : "303d3019061536303836343830313635303330343032303165303305000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "4a8db880aec3d9cf1e3b778b4f1616e1b16ab80ad3410eb847f4319d35b5ed5b63ea0f96260434e5281f6242807f1e776a9a5f6dffbd65c8de10b8ba7addd44289e30b46ff327f7db6c34b09250c22a1ff96044942bb029dcb2ad0022117aeec3c0fe89421e9a873d049e3f1f5884f3f1056974f2df6351960fa5090aedf544bcef4d59dedd3ea170c6bddf6bd5558d8d2ba5212fae3138406a112d0261128284c05178dbed5a25b589d3f1bf90e28ba9ce363f53605016248a7cce838f7ca2f20fe43298637de5327a9c67eb0aa10e6e92c0fe3f55fb299caf302ba1e87c1a3c50142a27947028f60b9baa272f662f443d78ae446f1aadbba4099496c8ed49d9b097d67ba2babe41b62f0feb8a11261f5c4bc86cd9a55baf5b83154116c1f344cb71f9d2d7ff6a8072ff5a9ba0d6e1817a798693be738f9c9b0563e40d7c8737f0f38c73229d00b57be895a75e2c1e5708d39d4a9447de6412be8d5983f5c1bec5a67f941e844c2ab8da51628edd6a03a8d2d9f5bce86a441b5981f7e6c0946",
+          "padding" : "3032300e060a6080864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "313233343030",
+          "sig" : "b81df2a5f0d8b8d3c5cd1c644f3e110597fd1d1abfc186f4c8012a6247c8102cae07155a7ad2edccf8e6c505e7a4ff0d29e34c8a5ff25aa25e7be34306844f49bb6d90e0d8a7ae3191dac814f00a2c41f6e2eb8122c199d38189770721b4dd0737286ca4456cc771709f23b198c936802c40f8061e6c971963878bde111f3c1f3e1a6503c5e58ddebd395966eb100e6882e71aee84b589e23278f838251092da897ba9ca862cf9c4d20cb20bd0094273f9cdb28164ba3229bb121b3965a02597919b7c75a93ca7e54c2a1a436a7172be4197d6819ecb4b71eab5b37d58600280951d6bb813f7cc5df3929d5b02860f024995311097e42554bb7083e613ba519517abb87ffdc39a0e5f4e4d4dc2d89e3c1b37f98166e80bff7be83f9477211b4ec8f45d8fa99b0dc836101c5cfb385072793698394310ba85772827c4c0774ad917b40fed0418864bff70be1b63fe4f401c411de9e4b57be72baeba53cffb807a7a9eb9c2b4f91049114823ad1abb83787b5d160787cf5d57d97dcfe95c44189f",
+          "padding" : "3033300f0609608648016503040201050200000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "313233343030",
+          "sig" : "0d6eb76e1cc70a4a16d760c0a518defa2bb0987e2d43d8d294a55c9d60507a62236be3a6ae0098a0b28bf7030b373242ccccb88e4f5d4ce3567d8c6ebbf726ebcecb4ef0b26a696b68e59596e104864e5c7c985342e93bb40faa0bb1cde596556951431af93258664c1c1a0dd44e620b2ce0bed8a37014c460c829e0ca104e66cc5a5566394b3a43e21661e5d5fc0497f52d0d8a1c6ae3a57cb689d75e6d94be30c756e9b4d6b7f497a60a897b83c289f6abccd133b63837cee0c2ddba2b2092c29d96831fb14175dc84dd1c5dd1cf42338225d3be6379dc2f0b51b140f5407baac7177bad2de991ca6ed246b53c94381aaca8a299569fd664234d4fe928086383fd50c2af8b91909bf74a5fcf2e2ef30959b7fc0ccfa5d41953e2f1d3886f77ea6f145550b99b0efa3212d2a927db2b3f133a9c45ff5038cf5321fba0dfdbcb8a6abfbc65a2484692c1a89f49a39d00844fc2b4c6d488dc78da5045be8b560228c1e9c93f8f3613555d15e7e39bb5f4160d6e8463ad6b2cedb4174c4813c8d0",
+          "padding" : "3033300f0609608648016503040201050205000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "313233343030",
+          "sig" : "3bf6856f73f6ef422be2e247ca197d3d7ea3c8aac7c12af4e26ab047eb7f8997a97a3b6afbea78dce4ad26aef24568640643293f338dc2a0b867ffd71b9e9a30e9286aaf10281df870d2413b20737eb8673ebe3479685459ebac4c30c123291d9eda00cfd580eea9e77c88087185b72fe6b3b0ea201d9b770f74e24595fc02d40db9356ae20d226f9fc09e59e3f7f760cc3aa855da72d510fbb8ce1e6586588f3e79a64bbfb2ce1983d813fa1ffb5890a5e59c8066842f1bde986b7f1af334cdc1db4d97b793d631d1dc67fd13207198106f58bf80dc1188fe571507b80cf4ca18ba4cf7b7953e937884344d4d8f525db151cd5f2bbd856bd3543fd5cf71bc7e5a45e10553dd1ae47d0cf5947e8dfdc8fa174f6642dfd5e3f4ed300d7571ea31c28f14bcb37dfc6e98ee6b1162d72ee1eab9ad21f4e976510178b6ded5d637b1245fdc48458f6928088d4fd792532144f737a9d9fb157fd22225a98e0a38e8197d4c7af95e2eadad8235ee0800a5ce584257035a6759ee0d70e7216c06b6ad51",
+          "padding" : "3031300d060960864801650304020105810420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "3428832b0a12ef303ea4510428a001d6c54d3c3cb4008cd07f57a3b73acd1fcbcef9d29f84a4ca1b70701bbd193598aad70e7d64d187da76bac023ff909b338ca75cc5fa7de2eadff33e377814de682aaff232975a1fb1c36e401fc40c4ea61941d7e6d36af36ae0bf30127f2d05fdbf95c8f0e80a27300373c055e3f5aeddb48b57936dedfa58a3712a2041580abfed8d214ee35e08a5c2d06e9bd9487112ea9862c56eb2eed3f5ef166bfb67bb76ddbb1ab56fa60e7e16a34f8d2dae992a255ba12a154130eb07c8cfa6c2d23331c043332c287528239b7b138f7787db620c3c908ba150dfbbf712a51d5e56bd139824ce046c598ba323ed3669021308b76d70925fdc7461059eaabb4c6776280bf985c34f1bc035e65024629f47c2026ec2c9242d840b037aa4c634659bbef8283c39785ccb596185689abec72e7ed527fce49264487cb40423fea92fec60bb547695abba011b862db538684fff0c77823b0df95ef1396dd93a5189c158c7a845682848455b73b8822a9c27b8a3e789c98c",
+          "padding" : "3031300d060960864801650304020103000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "264ab320b777d6c33b56c4a61d1beec9d4191024268a32d3ec83c247bd34bf55aa60660adf5d7480d1082237ee5515692e6002051900b87ed499ed879d7970028d308aab51496864f2d87d3ce95559b24646be209921dd147546203bbc38fb13f38120c4fa5cbdf5b9e39cebe2034588329dd0e2e393caf14d17135ce467397ff71db128316a7220561c6714e0abaa088dac39f98cfec71f14f6b3bb11848a4809240839eafb0b9695967ed8e9ea0b7b2fea9ad6a60c38005e3ce36aa38a4d2fb974e57a6482ea47a22b31cbf9ecd73ea7d63a4d5321dabdb1d9a1b66baa754805322040807982cc4a0fcaa1b30b13e3b8b1675e190c76e7613db3e57f199964d85ef6b8a169b0d70304355fa1633097407eb30e5c5ec6bb2e356b79d74e8d7a516e1cfa1e105c4e9409dc87ca041840b639668ba9819f3150929d2114ab54fed418fc940edd030c481292c90070542cacb0a7efce531f69ba818447fbced8c622524b2e6fe57c466345c2b74e7c6effe9d9a092e0c5a6b1b7f36b11bd2afb58",
+          "padding" : "3031300d060960864801650304020104000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "b6921141cacd717d45fba03ff01be38cccfab166c66121177ba660551efc193ab187baa767d12936d1b07fa736240b24e8c7f6bc02b10d82eda0c20b80c591ded6d27abc97f0640147e7c7bf8dca3bb250c993efd3de1f1f58b3e6d5baeb0652472af89d3a08dd8ff39bb4550eb2bf370d6c4f79d0f093c8e3d99953414a5f92593e00448130bf6b2466212d108cc0cd01621658c401cc55700a4e51da8d02ca634cc2560dec5210f28bfae4bcbcc62ffa10569491ad79e9a1b383b55291b8e9b431c51b0afad99eb5cddf015c7d91930c99dd7c47708f1e254ea1c8c09c10c796514478634a9a5c8ad87f6244903c59ca5cc374fb52b244c002dcf39f675caef15bd1329f6180006106111a1e91d4d9c7ae56d065d36fb9843d74b7f4fa8a789cebae586c072359002fb0c3698bfb74439d561f093587fcbc09759b60964578c3150fbfc1823c76804d6e643d2d67c0ec6fd1408d3a7e0ff92527d8c857a92f3ae4400b4312db163ac889b0634f424ee4fa55781e46219ea25b1bc08ddfd959",
+          "padding" : "3031300d060960864801650304020106000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "6467d159f5a3bcf671e1c4442e5f1455533866ec8053a788b7e15a0fdaa7d62dc93e66a5d9d9c85c11bd6bcef389174caa3aa9d54ad3978963bf69b5ab503e6243ebb515adc2bc45bdd6126446095d0c0bfd7632bcd8168147b141007592b1f1fdc8e6fb826094858685f627bf321457a8cd9df9c7290baaee6480841a5f2c6092a084a52f0abb5edc8a4cf750494b8d494f69b3efa970378ebe6846fb83ec22ce56ae8c2146ece552925d2f3eecea726d02f56ffc23c6010b52b5240119ea326349bbbfca1c799dbc5c24125f2c41fa21718dc5549906c6bccb748e10189d6ce73bf89158b47e6e44f20f95d3684cc710859e61d878e540a53de45388e98fa1a1acc92283ba3790d7b52b22e9ed671c5b661ae33ffcc924825efb90962b430e91f468b9ffae07e0bca510441b73db302296a170d64e8e024170bfd0f5396a369080c4ae8e7a3d23a91b021e100e33a2a1c1f303252e63c62b59aa797f5e61b453c45dcbd69ea14f9e8eea4346d7c4957740d868860d7ca554ab88bc47b0058b",
+          "padding" : "3031300d060960864801650304020107000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "16669d358f0681b0f7f54c5840192dbfc462bbda4e2e13ebcb23cfd554f1454f616d156a28fe5a2ad2690897a1d6f44b4579407eb7486fd19b5f643a599eaade6bb6197627f38b7fc18eb6e42fdedf030cd4cfa30587e3100302aa37e6840196e1d48be48da0f51e9f92ead2cfa8693b38cb2a732a3fcbb27d2aac903a594c567c2ec8249c97ebc89747047a5315f8b5493c732859e5793672548eaf0161156ff0e96fa7a6d4085aec19c4a218958686746eb0a40d9a6336809ea435e6b45c4ea97b771db37b514415b86d57900c59ceaf4541e0b53f786332ec055bfecc1e14ffe67dcf41e9350802416f31b3ec0654b87db474bd4c3143418de724eaeb74b95312cfc6bb64659a2e537c544673f9ede21dd5e343c15ca7a74478d06951d010acf69a6befbb224262c95c4ae70760d396958fc3ececf8a8c3c42944575e4f4cea5d94dfc1c93abf18aa8a9ff50b96615e8aa8c8649efbfb69e0d1401c0fad73376a589790aca696ee8f92cdf8680a9a5b9a1fdea7260392d9c7c85262af7fd2",
+          "padding" : "3031300d0609608648016503040201ff000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "313233343030",
+          "sig" : "33eeef2f8424d783c321bf75d1b30a57454cf54d5a9c43256db187a70bd58d0a807d807c48ef1f15bbb06d7e908f2160cf36f14411360de927b86bbfa9c726fb859ba05fbcf1614f3f26039815b8663fa715c842ea5613e1322164b37a9e7dd521b1dc3b4cdcdf2787b4aed9853bd1425e951bb16cef49d34fac2c792184255eab68e8c23118baa26a7084ac59b0ca699cf2476689e0bf28dc7b5c7fee4538c0926cc394579e8d20caa0de2548ce9f909abbe6a99cdf4e2ddd7ba91becb620b16262609b07cc2dd9dc7e9594ada4c899de7808633955a40eb3cbe7cebfc503e0a4aa9e89a738ab86033724f5cac153d4fb851b73b6857bfb569cee78c849bf5905cbe09e3bbbeaa5db4b2f13b911706aa350403b6288b53b570ea1223e875343f3f1e4ad2da3755007dcb7cea413dd7d3f8b5a995039152ebaf5617d6e40d01424834c6cbc352b2f76a6b763d8be63013f87741232f6b4c4c67f23fdfef08a4362bb16531dbefd3c7ca514e78ef0b8b7837e5614558c28dfd6fa8c4ad6f11a2b",
+          "padding" : "3037301306096086480165030402012580aa00bb0000000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "313233343030",
+          "sig" : "04b2a5ace2b1f16c675b02da8a8532511a25d59b2f37031baac48b4b83bb434df89ec93799ca6e3a9125049c051a0f9ba89dec99931cab9786c2bac52b2a06a6250ddec383e3290f423ba899869b4eaab192793d15156b13cee7f7d618ba7a6acf49c992d381b59be6f020812d5a0f90d12814ebffed3a02994a91eb3f2c079f03145576869878f641ccdadfa2eb946c84c122bc198e3d343f0bbd6b041701e7a20db8460a2ca79d35923497028b6abb3d72a5a6fc4b3e9092c2118e248140ed2526ea7b5ea56a2ef04bd40ff27436c7ceb1b3b29a887988d009167dbf2b0ef5ed2191d14ad2eb2d763a7f03e0d733c1f2c27e4634063c39bbb0234189d72bc7b08695e4b0f5b88d5a16f02914c74dcdbe55e7f8a773c9a7b9c9780a2d2ff0b0ba4f9adb0bf263afdddcf2fef8046c605d9e0ceb8b3ee793c41b4b320d7c71f9835dd6a604d5216f55c9a83f67b8f5bd28de1c7b499b7ccf8640c78538c88e00edc66b2d6bcb24bc4018d1d731c05d250d4f3c7b722b38c74bae05c1bae4976a",
+          "padding" : "3010300d0609608648016503040201050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "050789f05b63424da4d9bfb1bb9a6e816f2b77eadd4e127b2e0b2b5d16e0a85b9af3a7e42ec2b862f477261787e4b65d849254839d88165033edf953e954deb1ad3bc6a0b8e45b97ed267f8104e69ef0db1c740e5e587a4cc17f48e10fe240dee9666a4e71d7c58e54518a5b1d04cfcb9b67e76374e7974c44c88b9b4bcd7f8e5a10132745f398e3588b6dba5a4d680ea8af0311f9a3c78ecfae00217706a7d7acb187caa7883b73058015a2b9c3a663488e1a42ef143337acd5a2563feb38faba0c1c0be567481107402715ed56707d7d0015f9cdc38a9098d4aa9806f790ef826dce67bb766c3ea6547d987a00d5ea252e52d9f536ed2b7fcd39abdf93b43bb5110d3c472cc5df4da021e82ea132cee2646a302f6e5c9952c56eca12bf31d29e32bf810c9ff5c0535a9ea3264223874e1406ccd372e05c0cfd95b97cfc991a13c63178bb5ec5223e3b25e055188c77bf05d1c337617b83da328804ede26b599a76bada43cca9c3b271db2dccd7be1259cf3edbb020a4cda776084508081a24",
+          "padding" : "3033300d060960864801650304020105000422bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "9bdb19ee8de8003f29924535f141da242c069d7d5efec9c46044071834d2d7858e794591e277b87e1fdfa6b3108ec8b615fe76f3d374381562ce3624e35802730a4bfc2c54385da6eaba8903aaa8475dcadd67ace389724b59a10e7ba3bab6f332f44357c95e2e84a2741337a253bf85efb10cd9e69cc656cde704aa20681f993f2324ff323582c1feaca59ddfa26d696ae43b09832d2d34d126c40be89959dd2a353a2f3722e2e0c1cc070cc1dd0cc5e3dba9e9a7cae5a7e7bb20a58b37366c624180b2b1d77344351508a47ac5cb46277892f0a88db74daaea7a03ad8ac60a0e212ac5e18d01cc81af472d7bd905474c7596c374b6521579ecf115575eb90721c78c741bb48d4081d914b2cc9eaf9e7ff6c898b5c6d70117b2c8870713b4298bb88d7cecc3446dd4e10208c09cbe89738078f573ebac694d6da770b56900ac7e4dca41b7dafd8e3c96a63e79a28d9727a831b05169bb1debd17fab657d8b52d8f915590b3a67963ce5c5896fe6569ce4c90859cef89c79d1c9b8e48a46ee4e",
+          "padding" : "3033300d0609608648016503040201050004220000bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "313233343030",
+          "sig" : "b252d9c77e84f1274ac8019d0993427574d63a80a26c6e93b786fcc8ec699bb64306a9e425fc7fad43acf8a4fb40cc7c54bb29312430a67c0c23c79d34f2ccbbd3d196363901316bcb1fb1a7b6edbe4e457be1f9e92e272bdfd7b35310048212b8e8059d4dfcee86bedb0d7bb7bb0383d0187ae56b56851cee1f6740cad320af9fc25517d729c09ce30dfcf477a0f5fcc71c7342e99b17d831707150be963057a203b133e30adbe10c73df9079cc0d0b5b535c7a2f1e545352ac80473545143251bcc77ea46ab72f3c4be6ab4d5770020b765e900f33512ebcab8de4b9bae9ad68002abebae75773efcd84748ffe4be93ddbb736bc3cc3e5a81b5221ad4405adf4dd3f5fa9ffd5975116b56a0150fb715d22abe24e81af90455cf617d290873d14cc1b368f0fd969ad622b9bd299efb40f640507dac6bd6d4c8cc144014db6f74f71e751e7349176e549d694f68d4007ca6c51f6f58fc5a6822a3005478d5d890e1919990118ab5eb61535383c6aeebe1f514a793adae3c1a91f90dc3261279b",
+          "padding" : "3033300d060960864801650304020105000422bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050230500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "313233343030",
+          "sig" : "73c5e90d38f0fda07b0dd538fddff64534db7e4e7f0be09b62ed828c49c616663bcf565b2cca9ea19a77a5135d3dabd86bfc831c2b03d81817aae22f4991422e228e315934e993fb134905e1aa03b3539100d9293b8f68177f4326867bd71de9fa47c8e9f37ef46e1b9f3adcc2711892ce1f1dd9f238ee8e1cf2ee0c30408179cc290dc895cd46e2d717552f0a4dbc890fb85dea92554553c50f7f93b34f52625060b290860734cee378783b32453eea66b5bdb3de41839ea69d873346c710a114848eb0e53b26715bd143fe3ea67c3303d1d238be8032242f622a030571bf4726162788004541d642de9ebf1d4ad7ae7dd84fac1c3bd5215a18d65e982bca38342df82463cf606d7c30ea3a5bca3971f78328d0e55cb0bd99594dec125e73547aa6bf4fe22edb30fbe4ac4298752673b2a4bfd592a75db98a5a6d73e26ad1de4b63ac83ba1e29215125e74908bcc888ce8590925cab290711732e4638443a6dc60e705f3c54706b5cf23a654001de4e0f0c40a0078bd6b071cffc2f9f728351",
+          "padding" : "3011300d060960864801650304020105000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "313233343030",
+          "sig" : "6495b6ed3efb642c89767686ca55fc7f0296bda99a2c04cf03f269f7823de1f8da9f67d0ea773c03a9aeb41d8c56e4f0919c4f228f60d1be84dcc68f0448d95e3028c230ab5b7cd807ad8c939ac83ec77ab5ff44203a6b7ccb6e69a6ef0c902f1e70f31d480737e418b3a73b9b0bb5ab551e86ff80c3e4e9dbff385a49718d7f00b5063c4f7deabc566494314fb5297968538771e0b3a5b27a56f11f6c9f0b9f6ec644a3ebd9b6e7acf668a1e64dbd3ff84b860f91c3d4965e657804e6c5c92bf5921e10bb405f0d11740aa4f7b46a82224e0305e312cd4e17a30757eee88667f2372cb4ac971b774ef78edf1bd299cb172867352c574cfbf23a321faaef28774d65bb22b45647b9a526b7c4245b6c06f2225151401a77ecdde12e767066935c0f9cc94320d6afce02afc71d30a45344c79ea22c72a247a1be6989e27d59ae06295fc69898d5f3d2877e166b9227fc1a0172ac8e367828ba3f6db8ba29fb963a205e897fd2fe1273a6406551d9b2eb4aaf88a7178da423cdb4eda07b2e309892",
+          "padding" : "3011300d060960864801650304020105000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "4cb5a50291ed1e9d2514f4b5c8d005d81608ec004b035336991259fa908d5977ba8c75ab7f0fe0b31dc7127f9e81441e11b1fb94ba034459622b301cfc6918d49648b74680c0dfe79e455fd7c0bbe2d9cd0cdf8d28c71b949feb817575e01e3fef84f463acbeec12f1a5eb6b5af59d021413fded81f12e792ef3b4e29d3787f561a20884dfc296fa4490c40a790db98bec78be02d6d83907385a6ae8c15f9ce8b30315e9c0d1593b0a5efe03d25745f00f507aad0e607e5c81ed05838c3b4cee63405ac6b6a6034051479cb9f40f2a6cbb0c82913277e32d5d1c9c55c63aea1110cf6ec03fd7d908083a9aeda83db8bbe72f787af3914408d82ddf9d38e80ebfc152b36ebca127f7d82cba622684d44c150d46149dd452ce322820316bfc207a3b44a614dcb0f9ceed843a8f95bc7cd540df590dcc9a451c39d8d0a9770dcd7950b339990ec5100723bf07da131bd384d6141e98e18600dd44156750db66826d65faa991180866c752858536992a16cc0c89e56dc6cbc7c0972827e586757476",
+          "padding" : "3031300d060960864801650304020105000220bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "82cc73f7a3bd65b0910b012bb8a90593f78230d0b9cc0e3ad3895271492acf1d520c231aee97e20084edde67572b4f3f4d6f42f2e9b9d262c15479a0bd176c0767b1c89fb8e7776f18ebb210d353c870e4fd2ba3c42ce8949ec0c8a5899a3b841bd4f8de8b549e6736b1f3242ddf959b637d1be3aafc4ba7c46f2cae3a16228180e33796ce759aebbcca47a64ff2cebae8bd1dee8e5cd46b602360386620fe6d4704c16e61cd4801abef4f6832c1400e99c14a7024a46ee43e3f729241ae677c128d9b5c548066a8d765afbb42fcd3b491b480e2496c5ca5cbfc1b93f4f85fc5eb3dd81d882b86376cb800398efc25389750704986e5b79d1f6a22793cfa3519e519e0cfed2ff9e4ed454f87367239cd24cce8fb5b1bb35f9ff286ed565ccb1bd41c2c98094cafec4960e59e5c75e4f03794b7ff913e848c1ff0fc5e19d61b0cecf65cd37c95658e371a8629b091ba05135ef05cf57e7ec508be6f978787d9fc7fbc109132c2fe0efb8c3fff622b600b3d3fcbe46b79db032052e2c082257a05",
+          "padding" : "3031300d060960864801650304020105000320bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "943d197f031094c5f4938c130e3b9778c44ac5708e2b1346a77a9fad73948505d9630ba4cf537e9c17bae76033c7c6687ff256967c51d4241489440041a2956efeaf7ece62c3baf68057cf72b576258c79793ba81a1f726158867ea20cf1fcb9632c7eaefa0fdfc728c193d08e57a29855f2c4577c566f48cc1e45a6b0af10c0d68dabe814574a131b8ba167e1c7495955edf33f90043c9fa5cfb312b8d55d08689ea68e2c27d1c65188bd35475053196e05cad0ce63b9432bd40770c1b1dfce8ca497a352030c1178c6865b6615103b3634562b7ab1ccb1a08204761574aed2da75478f432add1b2888e21ab9da9ce2c00259f6a4b541388bb19a48daf91135aa9b540bd362a8ce1c986bb609056f19d12e4c56b2031a3c149ceeaa767f57939cbbabf1221d486c66ab5209f29480f63b367c8619d90f5e7eb3116cb87930ffb1ad45717480f00a01c6e69541523b998835c5d81633be9b4b82d492b1d54b2e6b14da2cb33b3fae8210611fcf15009fd7ecda3e135113baac619e8b74d70b17",
+          "padding" : "3031300d060960864801650304020105000520bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "1301f1131b35def827e8d8560f56d7dffcacdaf65df2200e054ab7717ca7a9f7f19a3628d8774cfaaba6a377e8b854613a4ba7c6237ab989976b0d1398753b7b66a724c91abba885fb77e908a2c6a3ad8d837f75d872eea76d7fe0d75363098a4c7af8bd831de55da3254b85dd199173c2708b191670cc659cd491eea567d633fc256134c2b47e1d1d28db03a5e8294f20a536cd7280e4fe86f750d99d41cbe5687217a55ccf7bae966caaea313258333d07fbb0b00859e5d9e21d71f190e4079ccb0026f074e7e4a984e8f478b298680470ce6338a2b25ff1da6f0aca3247c743c384d82406e44701a46a4c2e50312c11088567788d5743cd3165e3536b693e54f4c6ccc4586e462cbe4796eca57baa70b6296013d9c1c6f4e2e02a75bc6265900bd382892f4135a13ab600c764c546fea14febd51bc378bd1145c2282c94228db5e97d6ce7f29a505e46e373779b50b3856556d8907f07b61c2745ee4051d0f274947fe06eac7d4b091fd5476d6b7c54924018ad7acbdd252f1024080dd681",
+          "padding" : "3031300d060960864801650304020105000620bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "742a5c3575b6379d7166188aa6c9fe5406b157db778ee0900429d6c427fc530c4c0144a189265dc78ca14715a5a0e69995ff914fe0316e504802be88d5325af9344cc54db76e1d75030b3c41a27c8e9eef0c82d05ca92488475a109c878624133db6154799b4c2820997207389c610204f17d8c2b8d7cf61e49cef4b2a44ea88bf9c3026e29934be4afb3cff846482c5e76d0b581ce2851e4ebecf04f537e89c42f9ff29e0d8c94fa6741ec0a81fe7d3394ebef89d0cbf2824a374283a4e142ac6d7338ca1d6467df4bd97f9f6471c4e772995fceb7e34df6c7b583c73a6502677f23760369472b89e0051d6813bdb16bdfbfd1b9a49f474b29257883d218381a674fe9c245f3c419d0e0aa796e0c37c146469dc23f655a287370727da3a42e99f05595fa3f76165c6e5dbd0f0349daa60086fa30299f5e811c5ed4e957d4f52ffdc902a15fa97d2709f95f680ada1df9ac17ae1703471d00d2958f6f5642635570ec77fa1cf70c17e12d3a1202ff4106bfb7d51819f381b3c8f0d40b3a2f345",
+          "padding" : "3031300d06096086480165030402010500ff20bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "313233343030",
+          "sig" : "7c5f79bf21ab84e634160b5b201ef9fb0b2aa17713ce440c58e681c91ae777ad63d7ebdd1c77dbf90ce483160ed3451921df200e3eebff4a25a903e0db6c21a2e921a1423a2a23141a841444213524f36fe99386ef68ce319b9093162c475cda89a55487d975fac01318756ee64b70fc4bae1af18fc806acea41e74986716bc47a73293c5d3c55d267310744999e533904e73395f2c77fea30268f83318c6ecc657a4f4e87b239404c72798976258af3b444afa2049763e96072880f3d2a647e586ba284f0a50425a1deb8bbc0e52241d6ad589f5c20f09a2899fae574a4bd29e57b604a2214afd024a54951461af01d4f0a12f497136124bd3806244e8d8633336dd908c68ecf08435f0a97553d2943d060873411ca5ca62fe8337c526dc8146c60a0a1cbef0cf7b5818d6a2e96df207729276ced557b1fce70dde2be3a2012a6f6f20a9f94926504a593fe8dc6b04efbf559a362ec8a401772828d277d8f1abd9588441d575cf166752f57c1b50251cccb0282c75f0145df04e68da9f408b1",
+          "padding" : "3011300d060960864801650304020105000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "313233343030",
+          "sig" : "3743ed858c007e5f535e567a2cb63ebd669283a40d369a06df23068afd1bf91ff4521455e45ab94b0751c4c1e648166c7ea571b415faa4311a1598c5ec0ea75472040040994ae32209ef33393f040e05646b0ab14ca0309e1bae24c0bb8ef467edd7ef74bcae2e8ac7e22f5bea0a8537a907f42ab3f6bbe61e24084642f3de68b73c979645a3d43956e7c738ae3621df707638f8b0ab0fdb854eed46e8e307c653b894393479dd1d0dc9f7317bfcc736d51af55aa036e83752a6d6433a6538c5b31900401944288fbe8209728ad1f5394ea66718161511beb70a20bb3e67a464204bd34da479617c8bea4e878c842519655dce03627d833f9b9add861d5ea89e85fc6a56e623719a163159302dc041c7c0c7c493131e09e631c297cfd00388f9bbbcd9a216a8aef364ecd579719bdd5ad40f2dfdcaa3756f574045eaf4f8b05b4b78a7294b77b420cd317f1b74e40afb649209c769d82e434842397749fc5f80b89a1cfba4d532045459179259e37d3506265fbb1b54b0e0d55a036746447dba",
+          "padding" : "3035300d0609608648016503040201050024240401bb041f5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "313233343030",
+          "sig" : "7f63d99bd8bbd79dc7916069e234578e8966e7bfd0ed9b8dfa181fe5c340c7cbaa50251d4cf253346f4c4333567f754fb828e8e19399ea645e97a7006536d76198f42af8f57a03ddff688b83d481a222cd6e7f5bce75015783749a34fa5f20b2d0e17610e2c4526dfa780bca5c8d50d08b85e5377820ea657823599a32cc55d2966702e8b3f199f5dce42a2dcab5d372f6f30005e72aba34b149c89ddb14c7c7f5466902c0de4cfa2a6fcf2d297f76d9300e76ac7070091c9ff6a56bd80b9f09be64638db7c200dc455f0437009d3549f543364b03a2178bade56b1b33751752cf7cc744f2e69be572d56801e23e91e8a6f9d3260ad4d42c66cdbaa0b2252785f35500fbc7a61df87b09eaaaa4adf08cb42ed7414928f085baab1991fdbd73aa0afdf7623e14751ae28df8824711cd68c608bf6cf4829c2cc7db1159797ded24d017b9db6d284b5fa2ec7c4e22f56630b3b8779816ef0c77d6be4b3fe40cc0b286284a8773975327f535811278ebeea8530137385a8957964b33cb3489ac683b",
+          "padding" : "3031300d060960864801650304020105000420b95a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "313233343030",
+          "sig" : "661b1580ea4a54570440ff74a751624926471469166304117da3cf7c9ef2784c547f29d9c18cc3f0de876b259110180e12570868ec164492b7df971eb6640a0b8d99dfa4e40d1c0b0e10e6945428b2e7e4ab3cac129f34165bfc1e5f370390c865ee44e2e1eb011ee448cd547c6c42ced8b776c9d3e4bcc32106cf112f5ae94e01d8a662e350bd76aeae070b9ef3fdd0b8a9ba01277fd9a5b512e4e3c1a0509b725581959abb340422a0953e79002efd49b72354ed8e75999b633d399c7b7f4e6726850f05d655a600b99f0cef7716ca11a8ca98c40322a1edd15c6e090748994e967f381265705971f9d397fce9a6cb7ce5d3669ddf6c08481a1322fea8c3f030d53514927b269a49cdef8fa287985c3d6f877cdfdc221fbec2bd1f38b4c3d01fddb4ff33e872cfaee30b588102f8ebd97ecca29b695e528ab0ac4c01afa1262dd4275d8de4712a2017dbb085b24b99bfa0b1f94b3d24abd8bc91eec4ed21958602d01c85eb34c2f09c0823dc523b01098c3167de5746fdf6f2661e3c2b541c",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050a3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "3e124cdc65f1d8fa0ef490cb7c23f812f28175af02b82f168e59d25e80c27678db0a49a1c4884368856a71a4b1b2f82eb6e3141d20c1afeb2f1c3ed827041c7d4e37d6a2869192f9534158813b0acb938610624de4cd410b49dca8a99ba03cbdb5095bee0f6f9b7925e7fc75d3173e19632ffcf0a9800cf75c2676fa614c8218ee996c2914d2205809a7b5bc3cfa6f90613ed68691927aa46a026bd7b2eb59d6512092d87e613cc0f0e76225ac3496051cec1e2d0c390235f814bffab11f67bceb3fcffcd03804ee6da2adf173c1abcb6d1c55960b3d4caa45be02d668ff29a063831bed22985cf74a640420beca4c08d2ba803b847ff696c364aa9610b9eed9a39581f382e76cae1fbcdcd80372499292e302f662e19b36224cab65378dadb6859d9daa4fccc239a61df8e7e288d7f4f4d6332764ffd3790fef9eb64b8c0c14c781f65507570ad29d7afb4689919d3cd674a119bd703cb46e9c95617aac644d71827707f11ce9886ec67211a68869bbfe8ef7b5bfb6af446e75d87aa6d12dcf",
+          "padding" : "3030300d06096086480165030402010500041fbb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca6050",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "67a7cf917c469d5b4e5c5a6ad0665feaddba9246cf577e4feb2cee49eb971cd41e50386520c3c22e351caeb8d23103f61af2a6abe15753ce14ffc8afa3a66618617b8c2397bb1b14d3c2c39037260e55b1f3f837b193bf39fa8036ff74f9a7adbe5e6d1cc39d368cadb823ac1f969ccfeae89808eb383c89d514ca122f96a7d56f578a3f10e4725b152ec06002eae7bc2acda9728a3fe455dc5f639c42c09bc6517f92dc223f1f08b3367840506c80894edc65d5163fd73d20048136f10f2583c6048c7ed8e82f44d0cdfed868197884dba5ccb4ca532907eed31d3678ce82a0163f10de20e4d5b581b67cc10f7d6030d2477d17e29baf828903b25cf2f77c17d028de6df352674b288aa60a3437834d70c57d40c853df98ef1e38e6456a7cba3d8082c5c212ce08216f604a997d632e7d0f21b1b462df01bea08dd484e0a9e150574ecbf31dae214a8013c2e640a3b01b0945cfb4d0deb5c83a24438156602058b1bd6c30aace6742264f8ff7682e18529010f25c93980a5214a90d0d32dcaf",
+          "padding" : "3030300d06096086480165030402010500041f5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "a7f03b3383a083af9fe06879d4200e5315d5ab86056dd87ed326fbf48589f95da6b5465158e1b33099c26a962b7b5eccb81fc2962188181a167c6552f1c33ec35ef6eed346ac46b4ce31be3a1726b87387a7e5e7780900f7c0a909e6fa3a8299f5629bd8d2da3e6339c181f45d794879ed812974e5203f1cb745a1da6b34bf886928d6fef9111cea3bf64bb57057c885d8dbba5951a23781993c1670b75404b990a01d4eba230b15a65623ff2b2556077fb91d846b098e16eacf85b541cc23039e9516b465b07e2b06783019dff98420fe15caa3546e823e423c5262af7f54b6d9ed3dd854e41bd1ac9aa4dd951784714e5365d76c096395d76a647090f2348dfaed99b4ded7152beb3798da4bcb533813b653efa5789b9ba863cfe1522e5ed0de68e53b0382aee6b2b888e33482463962a3f9d817a2dbc26a070212046d5e6b80e49767cd85bac25ce2aa0d02c5ebfd4c75ab733d87408c8ef5d21baff4dbd409a4e6d5fa7c55cd4b63796ab79fbdab7587bf234f0690d8e9cd45baf4857ab0",
+          "padding" : "3030300c06082a864886f70d020505000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "5c87e321dbed16d59c49867ca35cbeed697be4f279027879604f1686dfe246dead0694eec5b2f516702b36702d7b11297075b489d9087bcbc0eb1fe5e756b5824a13d06bcf90d298592ddb6e13ef362ae9eecf0c36380159ec511abf3d071ca89b05a56d709c3350de5be1926007ab5830098cf61e677bb4c9d2b79ddf11d9115905bd862b4cd708a069c79cd276b73aefa05f920ffd6a8fb778131ffe4c8a5ca2d81256d43f60e123564bebf9bf14d04cb6d3109865f6f44b21a8896c294c50f62ece38798ebed8276ea7e40e1d1fac611cb511295c03199491af3e0c3d8baccd4d30b2c9d4d47067073f074f29c079f239871dd62e16f53352914d89cd4c126d0e38370f42a902f007fca4c1557b2d6b420936d1beb484c28e392b4502bac5cc5441cbb59daa3bbde3644836682a45ebf4d683f11bd12082b4e46610847cbc42eda82b80a20c4d847963fbddf016232a6c7bf12409108eb395f66c6335fcb6d1b15f54f825f15c7b2cdd2afcb797c129140626e32c8031caaa007acdbec381",
+          "padding" : "302d300906052b0e03021a05000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "995096c669017cf835c7be99440523256d5e7c11c06af56032d785d521b68272771ccbd2b403d7ad18d73905a63758ae3a5a5edf49ecac57299ae74987f79417b9880e66a0d9893e29f31d609ab1622cb357a8d19d95d037f5d19c41dcb586111355e7fe91dd51959beca4dc689b36a7f39684753e9284102afb229d50b022427925c2bd4dfb15fde2d2a18f7df3069fb97605e02a341e325b0bf163fd6eef8f7013b4aba1e6f3a311631f5cae20bd48fdc3246e63215838136c402894bcdf1179c05e11a76adb92686e3afecea8ede7456d05f62b7a04983c46fae7d2718515e875a11a261d54d30ea4e8f4db75600a1af0c884635164aa72bc129c1ce543dcaedfe62f7ffd72804db58066613c2235fb4095869975196c1d5f423207c8de777673832aac6e129f7532e2fc16d7034a1255f378c504ab10d149e8d2e79232b01f6261fe8cd73f9f89c277aaf38ddb71ca92194fcd569802a65f4325a4f6aa5e56e0bc5cf2156c04ec0aa9dc63278ae48de9a1657dbb62153c1392e96d551630",
+          "padding" : "3031300d060960864801650304020205000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "4205aa36ca11b03b644339d978e1b02228e2ad387aabba21fc649a8c75fd9a1a4f29e91b4e607b4b5e3b86794cf9242dec5509bb30e456e4f5dcc57e83028c60b461f748b1d7e79c8fa4f934ab117114956da7a2693a4023d349a68a4cfa0257486d42a0b6c348a9f77b2eb5d8822569e3dea0cb95c66d68b7c955e98a9df4e921bb2731855f35f0327142029f8ef4306d42481406de9deba401b31481597653cca1234cd20d6cf0341292362a4402dad4ee4807b38728b265ed0d10d7707c8562f14b6eb890c5a1d427725d39f10802c7e865638772a9e0709641a22809633b9ae19bcf052b40fbed8a00531e869761a6312216d69fad97a7f58bb20be27cfe75a776a45e207b6cf1a10215da2c6ef89f540006a2177c840493c83fdf616ac8c9cd647a415532ada9cefe067a81393df8bb94a3449ef74bdaaae0b120165f4a64703d7daa14e8dd13fe779b794699ad57b593ffdec9202f9852c33a4336cbc0223e2117b37118bf9fc4fa6204a7e584db27cb009b800915b4618548d24b3b30",
+          "padding" : "3031300d060960864801650304020305000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "8100d8da45f6b2d77ee4c5c5b6fc8c617d85867eefcb861206a991f50638b0a582908846c8c10eab4b694850b6e440d85fc256fdde3fc4092c262041b28e1daf88a54f48c0bcb5c17d9e76ebf5f86c87e3b89478d679bfef8135cad5394a8e6211c64614f6ffc813707273b4d9496276dfe6d566582eead31eff06769b4c6ca3de97c0a622fb282c646cf3de6fcf8a12317255d724f099f1efb4a7379f47d4f13aa11d87e778cdc79784d6a6b5a2d68b9e4ea52bd507a7036c575485c8c377b8db9cf662e6eb973053b3630a94aea288191d9f26ee5fef5f10be3468c5a721421a07d9b25d5604a190d842fb3b92e70f247bb339295da253ecf1c9011d8d49d68552e192eabfa012fdacd63b9756ffd508c04e28039df08867e5d5298da5e72bfc1f0483129581b25ad3bc69204f2822fa5a34e3af4f9eedc0bb68b66a0268532cdcdf5365eb5162d05cb5619041a2f9dde7fe444fea5e9b3c524e3760ce1c633758ced22d5b98f0e1ccac9af15cf825cbe9464a5a5d45a8d1ea426f9499db8a",
+          "padding" : "3020300c06082a864886f70d0205050004103fa6e1540a9e5b94313c5907267a7331",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "118bb4ed79ee68eba200bfaf9909e1af3216904d9dad25815b2052da7d6e057c1fd8afd0929e82ec945e9dc17740790f791a1eb546dfe8d382aff418b094244382b97b8b7dc67400c99aaa5c68ecacbcb429a151ad0a77d0ebfcea781cd3093c312758c7478d4b50682702ee37f69df129f0eb6f19d80e88982700cd9bc81786fadf5f7d9d37cb07aa4ec7c863ab706c42133dbb79e34a22cce78617d86806ace0b4fb28525a1b0e8dfb8da4de2b5792531709e1632e36d8b80c5bed87e559819b5aee7613f1841e9f4b1a3caa77736eb71c9c2b190a6c6ebfe97c922b7bf3c1ebff0accf555d447812a1677d576f3a41a8bb3e8062c49481222c8c53bc00ac821c1cea8b909031f23cd1647f685260d31641177b29096f426816337b70bec98cc0d911b0f926a5c2782466af2a8cc8e8ae78243c916986bddec9169eee2f7d84a9d070ef02878a3b15204aced6dbab3c0fb6f35d07bb2514755c318e92e48010cb4ea5e7b9c073fed05a2a5dfacc4a94b0d78ab89fbc5f8746ff440dbb229a2",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "1613ed80cdf3d91d6705bcb079fd15ccc29373b03f84510edb0d74b5651b91967e60738258a03ad3dafff8d83f3c18feadfb08e9a94f9f131d3038288976ef35b9c8dc41beac539dfb0fa1e9772524f512a2054e73467c8443abc599c8a58b46ec2340fc4b26f831af6e09b8d5b876596008aad2c4045fc09bdef06f445f54e36f591c73d798a6905a993177b094dfb345a55aacde1304b05cbe652a62e9f6654b24153a7cff6daae42a55272fc72a8250acdadc59f74dabefb9d321e80050ac1f211ff7946e56d14619355544058b714a000d8b4b096f56338201f22114c81370543b392725b735017a550c7f685b675263f8f9b43c1f8e8f8064764dcc34c0d581efea1647dbdff9a296f1501a1614fe9d53d52ed278a8b017215503c1e648a706c5e6c3a4eb26f5eeae804ff5ad0116fb9d2d246723eaf6533ec71d126bfe7d08273e587a025c97c4d2a55a1d850a730495af8998ed35558866bc580d7c51212e63841f33829156ca9a938aeebf3a38bf67495b686d484b02c4a151bb2661",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "906ed74270c0bdbdcf086ef69dccb51c524331e79d6186a8ad18f86c11657d77d752763141153dbbffe125f9e26c30f1d58808bb8628bd1e931262e872fb6503bc0c919b2586c4c5dc6dd53cb122086536a87541d61dc33ac6d437ea1b9a9e3f4476f7e7c3926e6985f3b8df8d7144f6a81568a04a6eae2977ecefe2664806fe144d9a174d53734be7deafc737d0a3e6e54891d85acd0fedfebb55d069cd3d3b2d6a1594ddf65cb433291ca4f2283c21a5aa4811bda25fa9a8b41ca9c5670cacf721bfd0dfbf388f683a7f87c39654d6a8c2f85196e23c915219e92189aa07f60dd6db16afa97cfbdc9413ec33f3bb98020ad58d4895f4959646727521ce4c2c0df3360fa3db123c455b65f4f0b0aa88caac6da5877b1da3c49a4fd587b3bcbf7fa0d107d69fc415842abc860c19f32dfefc8695b863468b112f0f886c8a249496c355740e07291493bb08ce9c941cd624b638b3466a4c2c51863410bd22488c5b7e00ff636f6dcde4ce7ae66614f8a283709b07f80a42739a0b2d7092031261",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "0b5d0e26ab8bef0ea2a577c3ba6fd712e5863c3008e85f46122809262efcd65658ee490c85c7945ae06b6fa342d7dfe01aa5faa9bae877e9bb0bc0cd608670b54bf4ab8593720304e2aa0d2bd62c568cfa6bb2eef302e15769e5054e95bf7a954e8d2997c06bebfb9bb25ac6f52b7b4e79c872b425be6b731a4fb9bea7c408703c768a30f9cb455994bc42a200ef17c64f4d4d6d7269f29bffed1ba755fe4ba3233a7ad464932abf831eef5245a18bc61dfb399c7b2da6455b6e023342833b5e5c7b255c8e06fafc78266856db13317af40b6df8990f8ff37344029e731a51c937a1ca4abd66e0fe90ece58be527dda10b3e34ac0bb661135eb04fac8b90b0756bb47d2453be8ff80d05a6596a1b27c0a33f24fc79260e9dc0a6e099f6a95a22a4e083a5acb201cc654d2fc6e21cfeece62eee3270e6c6211c2025d738953e4a8d1ec7e4cee254a8d2eb446429aac5d8ac480c4305b32e566b5a017348fbe2422246f0696c9895c2a72db471e058fe15207c40ae84a46cc7ecbdbbe9cb9100c0",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "37540f8ec9398571bbb6f153c1ff17055c96373b7e75e41f75d959c0b937d635baac3ab200f7907af63bab90b7d0128d603353d5628653bd067caf644cbd4b4319adc964869e2d7933a3c4b873bd2a4b3f8c0659943058293e42963906424a2cece6504fb8cdf76c21e772ab7a0359b191177d2c2231c4e4a5453a8af346db0e91e057fbd6b70dd486caf9516fa7d6f408d10b55fefb03a5795311b0722ee2a5d40a11e29316bd6fa5ab8eb34ef1a0375c87489a8821d0ae554c91bb051b03e8b3c3f301927d8478bbd62f3f37213c734099730c582bf19095e39ece2703ad09a7af236f175706714a80be282e262e7c903c59795754e589007648b550f93d4c7bfa17d116497b258014a86fb00403f05598ad588010eaaeebc2e81f936c5a9524446323a890c69ee99fbfc6917ffde3e04a591957279c334e76dc0dbd4e37a493de9ccd9fae9f3962e5342816901771890a22437f56bc201616359ba68c041ba1daca49e4c7bed3849f9c3758b47b7f90a9e2d03a2fb116b594e28bf74eb1a2",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "313233343030",
+          "sig" : "4c548eb5ab00b32b5cc200edb95a1f617fc9a2b82623da511a092c6cd7d428621016ec0e8be4ca66993a079125a4af990df598d5202f73822a5768de5c79af28487218d0f6a23960db9ea8f050b4da444a44bf116179c2d01c4e7b438ee298bb5769a8efca3bfd4492ef4f45494e1540ba279056354f5eb554193269627bca912f0e770e230d5e3671292059515d163cb52c181c160ae8b29de3e90c069cdd757d4adfd5014db2aaf8371a390d0ec6fdc19f37d78776b00b55db4d6e04e0f047ed08a3896cf69bd155e1a95f33fcff2918a58ed0b377cc46d1a09825d06799812309f6473b2a378ffdcb4e6a6d774009085f4cbeff43b542e2bee3aede395f3e0b5c878c303b6667c34c2ee6440657941638b8356318a9ab5d4a072ca83f7482ad764793add9f100377d750bce70b9d063d26ea3d8f29576de1a3795fe2be290623c119beedce6ecedc86804f73f3c210550bd582a98f6a7e86662b6461efbf0e518bf28d9100c09e44c8c78b5158197ed2ed1675291600a6442cf2c8c038fd7",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "313233343030",
+          "sig" : "7175635076412325c1aafb617fc38754d4a33800c55f307216233b6824fc26dae7bf8e4906c98ee4a22d527ba46e8161df8383e87018a12735d2036600b79217e61f6b76bf4cc6c50cdec487c28ca9fbd5cfddbd8f3021cbfda8d238c61d848eeb9fea97cb3e0cd6a56bd42f565a1b635f960d786dc229e5f58fd0c4465e32e39e5f10e21ead60641adb04d88f920d0458dd9cbe15214070dd74b1c288d8a1ad83e526bebd0ca0c35375b84ca1e05d9db0992c6453307b8c4d64e02fda6af6a56a8f53196e8bd8c1ac8fcfd699542d6f9ada11fde6a2c25ce3727118f05456ac7cce967726bf1beaa1093d8021b4dfef6cc765696de57d5abd4407ee2d96bc7439cd9385cb89a9a06b2f4cfa8715777b421d9c26e35d314a242c844157f61888b4a57c169407c180392e21ceee821a82d9ca8da77051d7efb1e1ad08c8824c7aad904ccdcc0884272d118bc7200fb112a709c4094884336304f6ac062eacec72ccf143c6dbe181e61c3efed13bb9cd0c7c2901589fad8fdfc880e24d9efe23e9",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "CVE-2017-11185",
+          "msg" : "313233343030",
+          "sig" : "c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "invalid length",
+          "msg" : "313233343030",
+          "sig" : "c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "empty signature",
+          "msg" : "313233343030",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "0",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "1",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "2",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "n-1",
+          "msg" : "313233343030",
+          "sig" : "c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1202",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "n+1",
+          "msg" : "313233343030",
+          "sig" : "c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1204",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "-1",
+          "msg" : "313233343030",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.json
new file mode 100644
index 0000000..cdb44aa
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha384_test.json
@@ -0,0 +1,2095 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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"
+  },
+  "numberOfTests" : 230,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001",
+      "keyDer" : "308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAoHiH83M3gZawt0jN8xwU\nc1zPoPEXrK/aoh/eS251WTkLg057kunhzJ1J/A/mz7YEKWUrS/mndo9x/EJxym/v\nTkMRkuvcmGML+5TFuvGLTPeIHYRIPkxEwi2xWpYncFoLQqJtbz1gCa7g0qcb7fTU\nsO5rb+wvFuEnfsqjve26QGRzpHbRaI3w+tHaeVUmx+ZBmBtIErBbaS1gxgsr+kJM\ni2IPQNydulnixxDn7nULPhNMH3H0MhBoiv8XqqQc21ZodT8ABrHPlRvFlR9NiaMR\nlphepVwJZsNmK8/k5M008S5K/X5cShMHObEBfWpYOIL9ctsaZ0GHAsiwE1PM91t7\nk/rsDgvjYhHV8r2RDhVSMjcRu+tzhY+JnMHsBj72fYjgxpnVponFIQbwbpYPCdKj\nz4T1O76ipHPt8ubgF2gB0/ocLTWOHlom9kask3luwfrcaZHA7BnJ3ZCyWi3Tv3PS\nzx7qiGf5bKpaLfVJc6yyotoKE2fsdK+7lo9Rd2UjjRdpAgMBAAE=\n-----END PUBLIC KEY-----",
+      "keysize" : 3072,
+      "n" : "0a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769",
+      "sha" : "SHA-384",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190",
+          "padding" : "3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625",
+          "padding" : "3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845",
+          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77",
+          "padding" : "3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246",
+          "padding" : "3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca",
+          "padding" : "3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "313233343030",
+          "sig" : "3b1a01f69afa77d96c1b7bfdff94d58e346746f3712b2bf2705d771b6ee082c7dd9d2c8a87de6a684177edd8038ea1b9bfdd6722a1453d68204e4d6effa584a1b9520561982f0181f102de2d62108418778b4976b4933a79c6a981bd48f84711a3f7cc26ddbf06c59aa669d56d60a741407f86e6a645dbdb1f7927dbc0acf996736899dd9aa367ec7bb157ed121da15f25bb21807293ccf6d3a66e18713d80763cd153cdef58b1e6e31b348cc514b8f2d357d14af7cbaae39993d7871bbd0cb9c136936b292dd368ef1d826000d3ca13ab48b659d231c95c02163d2e11e33152e69f6f3f08694918d89f9a04ad6a01c0887309654a4ea8a848422dc924f990cb65ba2550ce166b6a001cce4767a3f1cce74649876624d2a1111436a9a6b06dfdbafeaf329886d5e7482ce3e81a33b69a9fa7d82981aabd81c2650c3c2b34778f99efa2d3843b386c24377fe17483c490a63c6896212f8beeeee04a3959eeef47a00fec8061845d84fe7d7afa206074b41ff001be315a7e32c2cfabdc861eec45",
+          "padding" : "303f300b06096086480165030402020430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "7835e135188e97973f3cd0a05a102e888fa51ce232062c9856d134b30ff32b513093e07b7571b251f5b3618364b830b1af01169b0a19c203e079083c4ef85827f1a4095f0a6cfb9ea0c6ea4ad1bcbe27188f90b8c66a9ba0258d3baa49b97d0f8150370bbe9926e1471772f1f37dd85b37a5b9a4e15d32c02b427313407fa9ed693e0f444fc6f10dc1564072c360f9e5433fe985fa699860d6c9fc528aa82cd7b503854a975524b132eeed5f94015ed1b2d85d9dfc6b10b529e140bd611d316cb54f31f9d7d06b6deef9b63519c14ffe3d9694077bd0bbb3482b09a490b10ca2c6b510532f38dc2bfce51cfbf2ff8a43181fe2852e6876b760558129c3066a4f2f6e0f2f4e95c85f40ccdd81e795d5d2987c92013d542d99764bd0cac97024adacefc81ce89b36311ec4ee304b2307cf1e10d1f171f0ce7413cc03d5bd2c2233e0f80d98034e91d8b575e1ecab76d708c0899f27bfa1fee102e9a5f393ad18293d3ba93c7af3bb62e17311e79e02214dc9b62a85e6fe270be98a72391ba14e18",
+          "padding" : "308141300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "0e0e316e9d6d1e5f7333789d42f3761598bbb76da7847d5b75c376ad884ac2b61a0394bb2f65e1dbb986c26fa3837f905bda324dc65545fcc6d949ca4b8bd49f9ef7cc5b1c0c593bc34e02a56a0b2fcde4ced168a504ebd4ef1565cfb400cec0d86275af35afb01a5ed32263bc264a2c8a45a84f348c2ab7c7f74711e4e295323e2b9b76a7ba7475d8f8d72943b10ba64eb084c832ac9b2a984e1a2ce1bfb50b97f64bb754bf5d5832499479a198baef88d9dd21240cc95568c64664a704a359eb56534e241b106cd8d301b047448c9e83d0e3d9632da4641581ce53c8829e49701ed297d815c46f85528d2fc531a7813eeae45c0d249eea00dc69da92550ddd9e04787a1cbb76d7c6f4bf35b7d8582ce2f2e4c1184f79d3d7473d7637f42215ad4b9bebf143f958f3d0295b529d3b3db192dcdf4419d42ae219bd81a716f7d6472a6a86328e2728c5ed4c08cfc6f9c3277e42df22d15d7d46c442af610a45668de66d735e09abcbb638ac39cda905dab0cd802f5a542951df3233aa8732111d",
+          "padding" : "304230810d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "409bac0f385c5d75fcc9ec8a63cef1b00b2aa0b49583ac56c9ea697d704ef5347236a351007dfd7420134dfb8c860bc47d0bd6e303265cc5db8bf2d462744cae06bfd9b92a082ef0911bc8287dc202b2e4893ac15217acb2c29859cfca05769e90e8bd1010b67da6a2b0bda4c310174a9780492b802927f458da53da9d69efe8ac436c5a0ebe06c4d0c62d4421f018f468759b36ce050c8b242e4070d5ae9534406871aea1a7d65736763a27bd97d90828f0f217a745fcf454640dde39030432e8b3cf92686c367fa6affae3bd5fddc57803898a880ea28978c5e7e76bde18f451ea3b2a89d688cd5dcd5f19d1600ff222875f84100ebe2e97c2d98abdfe9cbbb733a0f257bc187a171326268cfbdef12acaa28125062fdf3e9edd756ad8ed9e695b61cbc9adb94046480693e6acd5b415dca69551dbea6883f8611b994ab57d736557b6c2d7a861393a0c8e9daa4be0fb3ba13201f41a56701f1953c3fcf54e2615a20b15a2fb73622d1f5272a9c1150dc975887f032a0bcf1681041a21c527",
+          "padding" : "3042300e06810960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "91f445878bb1b9ff36555ea7342648119f303694c7ecac4e9aba585dc16b36fe7b3dbff9706e1e2c30e1daa8ffdf57214b05c795163d43f6368757ea73a30637a7a7e892499fe8e9510be9e6bcd790ba887e66c6e1132ec553d306d6aa2c4b5a743a1535bbaab8f3e6eff467ae7f403c566d99a598d877860b66f5afb5d468cb94b8ee89a0d67a1e163d2debf7d381c571d8c5c334ee34583856e0ab56dfde8682508eed44afcbeadd60022db7c1446adbcaf6d7fde9b31f028ddf4cf0455849d9d219bc04629989918577b7f460ca46464494479cb4b6bccfd9e1d1a2ee53f16210f5dcc7390cede73b04354bd5bdf6c2e7cd4d4c056c013c0383ca053b15d2412271c7a384901e791e3d5702a9929a540cfc11b80dcd980fa64916dad7aaa9d73048cbb864641398f33775fe50ca590ea490abc0419c78fe0309fc0334312835a0076f1cf34a47623d10704f22e3ef86f1a0989565da39d0d3a0859488e48f057230159787c9443ccc7e8ab93a53bae722613e6c55c1371403b9ca48761e90",
+          "padding" : "3042300e06096086480165030402020581000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "033c248bbc3ff5231e75cb44bff8b3225d20f0252ee528ff24be672328fe66f413a4ff0259b3a22b6ca788b6f4bcb4315ac99f59434e097ef066c0e5821cac2ce1f50e4510d3709bd030a613ef05a818414c9a5580d51fd4e6d5b4b7b146f808af2fed1ea5f23c12a370e526fb1133f06f3acc4d7f1ae5891eed82dcfce4dc46ad947858a228d6e47cbb658176032290ad7b4cc76d219c41a358d64e1989faa294cd6f11b5f9d94fafe133b725cbe482e82ec6594313e0ae9b6baab9733e4ee01a88093ed171bbb8384780d1c26930d409bc98c36989a9db93fdaed7852ffc003e981c6969e3a21f1c1ec80552f3ddfd76f16ef8b04533799a298690c6a76a2e034119faa92d458089df4df5cfc3e5a2ac5fb7496835a4dce6b8522ccf5049e4d294216cc24392ad0b6bc7250f7d319c1352f58123377fc7ff9bd34d2e2f4f504fc272c9ebc41d11f83abe60495daa36c0ce6c2a26b985cb1f30873f7b9d6566bfe6963dc2154c128eee636a815e69ef32d75105f91f1597ffce0fb34b2b89e7",
+          "padding" : "3042300d06096086480165030402020500048130f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "02e31b3b6f1200f93fbe8426cf433575cf01030fa1284ab8bf74428acef25759df587be26a5260789cde2aae7b133d249783b1cae14796658d4b6a4aa24321f5afe684788efaae848b693846a457737694d1a7af6985890ffa7384769864064eca91ece6c03298f5ebfa7a18bf731ec9a7cb23025b7072ad4c06bbbfe33655654422cd4b97a9be3aff016000a6c7303ccfc73cbd908e82c930dd410c3ab2ace258bcd05e91e94e4a616a6ded7a4c64b00dc5cf202689a0ef3583a31e066337b1971cdd909c20a1ffc7c006944b81a89a5c96cf43a6def4d745134056becdb9c9275b2f2a97cfe0163bea5ac8dc32d0fa7b24dda4ec0c88f61cae77fac4c19a67c46fd26a03b990c5737ebeebde402879a02cde56728688394d577e5fc7c347a8cf66702b3b255084eb224436ca5c861b6886db60590a783c2d32beacbcecdfacfe6b6e520586856596b25cd918d586642db9acda72986078511bceddbea5239f229f1aee80cfb9d851ef9e84056141d026ff50abe0c83d2eba6288722457f916",
+          "padding" : "30820041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "0ea7aa33781b897d17e849f3967ff8f99b2f027a2f3d46bb979e5d4e58398f2b6798b6c6ff4e83df0a320cc964dfbd6542c0441668156e108d2eb5c7cd4947b4c310456fbe342a00ad7ec2be365d0e6c71abeba20f701b0b55c833e52e30ea9cde21bb1d23372b9ebf920e1c163703a484960872c2b5ec4e4840843447d108cc76a37474a9b7f2ba09e406ae26722b424f3de7a0c9b68ecd71fb1cbf3e87163dc780fbb8f0a16f06e05cd31a0b6de0c79912df07296bd059ff327fb5f860ddde50c3a28ccef959e89808120cb1298ca5f6f7bcb7366564981bf90161453df0bd8268e8cb34209c969bb5c7028476eb212baa30990526fd57b36c66b71c59180ccd26b02990906e0de5fb386bce5ac1b3d2d23e1893220f698b5d075ec0bd871843f473555df877bed9bb22cbe69cd7004d9eae7feec60808ec74db9f257ccdde2d20ff5eea9a4a8c3b89bd281286864d62e4997db92df8ae0d2a1fc3dfd9aebce9f7093c129c426b5b74e5dabb7fa2bbf8a59fa2e4b1aef9d69ff7ad653c2546",
+          "padding" : "30433082000d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "506d8fa1f4dd3222ef4d1db80d747562ccda3abfc129426610901780241300ad2c52e8cd5ee44b499928d7d42dbd37d0a0ddc0ac2e583a68c763cc3fd8e71cb80288c4a5d0c4fb8ff91abf99cadeba3691982a2f31838096d0d9e1b9e65d8030718aa11924d22f49d6cfc0406ec6af05dbc9ec4d1e8ab13918343f6a973fd23d5ed7bd05603685c5930bdd93c313c290ce678ff25d815c2e469dd6cccf914bcad6e8bd5121baf589dacda9f04a22cbe8b1d041e3c8eb6f902aef22859066ea22feecc33c898a7fc254ca1f84d66cf141d7b1bd1199070749f8f584eb7ec0ab819373a4770916e65acc0be006c301af2c0ca72ccfbf40dae37e316193555bac56fa982c0034a2c7c9785f58cc40945fec7c0ad145c03babc16a9bab02562afa4dfeaeced32cc409d344ec143730c290791fe78a3d6f8ef2fbb163cec5ed548e631f43d3e117258ab8c15f6f62ead7aaf3d590f9fd5c73e947661781fa1f56c3efc9596756c6bdbe4b3e3c8a05bf66220ca234e6043c900e9939d689b7ef4aceff",
+          "padding" : "3043300f0682000960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "804c6e1a8afee9f6201560676b65502a9fd4e17d390821a79c18dd7036f4d7a6f4efdc8a20b9c573b4f1bda1c3c281634bc1c1583ffea03e5dd84a5d3a0728935970c37380b97f81c89a3a2316a909da68946a35f77427e70767d6ccdfcd3ada7e503336b4d9dd1d269c7530994663a4d93f9e5e3d3208dd8f4f2622a2d3bfdc2bc79badb2541e6c04b40f98b5d3a7caca89fb793ef78b5aa0d71c1cff54a6a7548cecb7ae6ebff52aa3f79eccc0fa60dceda2fea8598ef135bd3b1703e072e6b07b9495ee8a48af86d7ee9d6f00fc11fd0cd5af343cfd69eff9c08299baa364de7b999714ab9b31b40efb7980563a6873480d1512dadc7495c105915f18eda472cf4a524a3bc3f7a163c11aec456226615221b321b7dffbf23d4e1e281aaa51203c966d440d4edf3d0c26eb03c0f36486f252680d2b48df239b5cdb7d4c77331fe8d771b999be67bf00a50a0fb806bf9bdcb91d74b6ac9e124f73d696ccd9766df1a8f2911dd27608c50b2a4a0706071a81d26d7e9fc6fbca395fb7f190330b",
+          "padding" : "3043300f0609608648016503040202058200000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "6e64189255c0d7b2a93f30bf771d9c0850f57a173f93f5dafcd599b801b997eba3f76e4f1d78d478c79adfe14ca8191aeadd81848aa769d65b50bc96f3e18654c2096e16eeac3b0246c8d40ce09acbeffcd5edd87815dbac35ec555925f33766a40f330675fee4a68b8b8f54d3550dd0e6a60d3fc9f971685ad1dcff49b17bf7a933a13153dc4b154ff5f56e1e72c8775366b6435b175ba420e6fd09dddb6466f6e87ce2075b2fcd75c99e4df5f2a854d9afb60a38df49452a20f46bc604f92af5c9f155884e3ac1b2319ddd4525c118b32130b7dab2fc18967181a4d5879dbee8b9094ce02683f30d44e5756420137037df7dc4e21efe99721b013098fd895a3593ee8661855644bb8729c36aeb16f230c4e8fb0ac4587e2392a26be95ddc57b19705018771a6160206dce2e6feb02b298dea43e732167cbf7bc96a5bffaf27e3a3b04eb07a77ef482d77b87e028f6cd0be364d9cd606f73ccb0a6ee19d927ee221f3c724e7a3d80c8a715617aa06db021a4e1b956f17e29b462a6daa6bde9f",
+          "padding" : "3043300d0609608648016503040202050004820030f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "556a31f90b1879a1374cc4f2922dd41cb2313a61fc526e889fc9a20868458ad5cd26d6b3d3a0106193d44be3a22d1384084a949e5d1388f1e671f638da0dd1ab90d9d316ce66a25840a332bc2ca312dd9fde87ba57ca718f99f1851b36be9e023e24b9984062828211a581127b0d81e4b1bf5977f23d1c70da7887c09830c0e3c5a4cb66bc8035da055596ee7cbc1ed4ea76d7712708330385e5a9359fa8e3a0f6e63a569e5d2db4e867812b40da15d3015dcf31ffa887fa7faf478a0cfad3125fad16d38a57fac2262e01217d6d7adc50a3af804d8881e61dedb535001d999b82e2d9250ebaac07c4e695e946b5f42c86b546ff18f1a16a946963c9234d56d44a78c4b0ba0adea30b17528ae91fc326f1f976891de26e9320bdbca32f3709f731009da45b0b09ed5ee788278f18baa5a97d039448785a4751b77a7b061489adb289eb85459e663d85f3bb300be43a185283bbb94336c41e08f50ef7ba378e525e48a844e3a165bd484b882db08284e5a51b392727d54f913d4bb9b7c153b884",
+          "padding" : "3042300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "3e5d3c3c140ee9a1443428aa0612506da862e56b1add3a86b13f4a014b65ab0be390c5b6be0aa14caa77c0e0a9116c543f3ae0ecb927924833838993d02cde56819fb5293b84b9a00ee84233c42cf993ca79a9af5dc7fb1d0074b9a9f895bf48f8d9f79f5d8535748196734790ded7f5e1cff092ba949bb70756835d1ff2472c82069aecb50ef4eb2078e59877ee8ebe42d90d8629580813f3ee4b9fe08960615c7b4c59acd071df543fdeb7440499ad473621dfcae3c14a2971f85e233925215ab08f7f2ee3cf70427e94be6c895cc11e2a3ba569d7a530d36e33f00cf76bb7f60b4fe7349cad86f09225a5ce0092b8fa2162b3ed556a7eba89e48461d32a241c4fc7016ed77a097ffb289ed34b88bc471d35a931a75b0309021dcfde235169d8b3f18de671444cc5a86acaccdaf62945fd39f71c833a58521f591c5ba04af3287444d6975d128f090c1030ae4de3100094c24e262481de1ff346da67ea73c410b80758273dcbd83e127524eb93a703bb982930644297545ea36000df500e7d",
+          "padding" : "3040300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "79184f204ed24bea8e2e768a55ced92dbc0b5d59ff9013db7d8b6828d9c631f47e1fea91d383b7c00a64a3a3e553e7953288cfdaa78affed5e7acd78f48878b507b02e85479c9fc529879e9c8c252a0e559543d78f0cde0e3b797d87fdfdbf960a8ec3bd49adf6ea370a10ee8caba7f8edaa44d36430163f1be74bb06a6e6b689aac34ec48c3dad3f95d21d5a453ea55d472331d56e2272765747a06909d8cba8d1543488cba40015af45608cd11dee21c22e76670693498ed7943732fc3bd4c3f5b78821f1d3481a1ecb73c878b190094b5b5094c54f68a017918768d9162c15e1e15e2623019e7773e6815bd6cfdc37560336619980829a61e950d34e87fcca3b5143ca26d55d6b9c896a28eaafd1d77320e18c46ea1933f681d32828486d2703903079633a61d2a828fadff6c617bcec466570da7d9d0a447e50d49beacb46a4488b65743fe8200cf6a0b44bc675ef6c6acb7c96fbaffb7b8ab0ffb6bee5d3d5bf94b6aaee4346307bc65be6e96de1fc84c52e8ccf2b81f65785f097f9bb9",
+          "padding" : "3041300e060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "11ad49205eb560672ca173d10d16e9f196ae3ae43350069549b74ff6c8c4aa71b31e017ba2abb0d8b6e8154652fe186a83fc34844beff934852a9c278286bf60166b6f99a30081a344e11c655a0fb51e1fc7a3ad700676ebaeb0557a2c8140686d5a803bc8e5ccc80f688bd0550bee603ea5f59705cf3add97712642f0b65e517a183b4637da5c7ac78665cc5ec07515fc4cd84c885ca673c35f33b01b9727342ddf269f4be73686b05d8fdbf83a149232f5c7e674d4079b8021dc314afcf3c5561915e03fef780f51eb5acb78ae14e84c82a1efe444330ac4638e3f9918ddc97b89ccfff94538d0031807ea147e068e5df45e7fa3592fec60fbb15a88094d491bf94394e0201a865b40516e1669695bc32813a443aa868de58f60b60617230f871f9923c2aabb9106c39b88650f150ac935485a246f559437a9f687104785630a6b18d5544a1eadeb259228e0a047ef829d9fc5c9ce907a344a89c5afc51408f8f23438be6885ac746a334e797213fb6f854e58dfb58baabaf05a4f2070244a",
+          "padding" : "3041300c060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "8812df05afb4bdb86568cfdd2345a77baabfefa7fafd393c79044c3576fa7b4537e834676ea22501604835cc685030fa596bb5d6ec4e8f75d65d0c69949fcf28f1b6711155bcf19512188dfc8afcc3521b7d875cdbbaa7cc4d993c67e3ada4f554f22a4d6c2ac033e7e2eef68cf1ca89a3267b18911e82c0aa72f452bfca7b296173f4e25842624942345416906576587b97f59a11717bac58cce7337812b9f7c224ad04a6b3c2236ef12983975979fc40719cfec7aa3f4a169156b03ce7952e3bf7af7c3cdf9ab5643c2e43aa1501306cdbf20f7f2ca3af47a4be5d9d668c503ce4406d2a95a209a79e081507edd4609aa5673737f48b04342be20aa1b46969986aa66156fda91b00220bab2e4c9585c3a35a1606aae9e577612f34fe18ef0cec1877c49665c34b17c2e6bc2062798c1f1d38602c7420c414ea3deb098eccb858f22ad5877be24c1c44c7025f934f68b5015a3d9ee0d3991a96d4870f0e7b46926248872cc46a74d7c272faed56f90981a30ad55c8996f38429628afdfeb414",
+          "padding" : "3041300d060a60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "7131f9f2ef70ceef69d90adacc74dddf5b82c7f0ba6add6e4d53be487861fd8f5b13fd2d9bb4b862336cefbfd369ffec5b7b37d77f5e6d54d4efdcc55c75cfef5500ac39aae0597bfbf6b2c4523a9cb97e539e4f0383dcb3aea4c705015d1748a4e11dbed9979c05eb5f7579a60b625240ade316cefb9c056647927e174241491c87a0ed01128d089e50d878403a4a2946d315ca034003b0899f4bb95613509832c76cccbed4ce3f794aeba83e8f59244e8230bd9f7c5352d12d9bafbb45b11e6d59398d6849920b1876082ab058e682e7fec79c1e0ec7ba6a95b72b9650516d2a25d28470d31e9232002799353c1cc2c921372cb4e38840466501b58629ceb51b1dbd17643be4acb59fc3cdb44de24caa49faced215faccd8d52f437c8aa5e529436facbe9c1efd85c871b65fff075d6d6faec3a7e7bd25f5eafea62bea007c45cfdbb8bc189835088c0691488f4ca2b0d6a6250b5e1fc76eb40aa415d9eeefcf665a41ee0bb53d421a27c2580aa89c6e25ddbda69e963d92145591bef8b910",
+          "padding" : "3041300d060860864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "4544c2ea627bface1242eb30cd981b03220a44587112127ec34b3cec6625f785b89d5466154db2dd8ae2cfcd529508652d4b8d4c3738270411c3fec03dcaac18c363d8ac77778925bfdde9b079b53c1cfa5a952c95895843668fe8a9f34c60f62b1cca341b2cc2ecd7b1b74fa1b8165963cf94c3080f920ac969ff945236eb47062c1f616f1a70ed08439a0ce48f65b7238afce44f51ff22bd2f4954e6c9ca56406d8cbf3a463c41399d958633dd93ce4604d3cf99d7c46cb0b70a5c3abcc7fad329c6ede9a2e2f38accbd55bbbf0562a2539a6258e16a583961564229e21a1b125389b058778ba2ec5e2571c0bdc6ec2740ca4e2c961bac55963b3884132b9dad7c0b172ef8c5abf07ca6f4ee8101d49f9ff9b7c634a713c4f58e8c543e26134564ee6ca5f89e690a92b9c4c195182ebde4898e62ba3ed1471ea6497777658e0cf6e1c079e021695960bd946d04c5fdfba915b2798e79809459b6544f828ff3f7b841581082b8820832f15b39045611059e408424878ec882941195e1e05fc2",
+          "padding" : "3041300d060960864801650304020205010430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "55b771a10f9d7f1dae6650f5a5898c7132e288e98e052732780be3a22bc5a06f00af59831aadebbe5dad715b1e2c80ca27160a126b372c6a02fbc597c9b132d147e5ac72b0ba81cfda442921bb65bc31b55f2cc9eb5ef9fa04553cf814155be4944138a79d053f0adcc8cc2fa0fe5a97ea6129593ffd1d3364cdc1da0d3a8ca2aeeeb96f4cd529919d155b09b35b6ef30790fd928dd623a3143091ae74b298d9e67135939194d6cdeca366f6f17b202ae5a9b291b810a165cfa6581aa42aa49138a8548267cd20bea61d90b208cd4549d9b1f4486ef933fa276fc71eadf7a0c332bd0ffb2c7a7a41239cdd2451b45a5f74db7177cc127edb752a8d38f543b0632bf8e92dc0aff15ce036ac68722e3013f219b6a3fb8b9f9d75e0ea71fd4178aafe16ba575e5fb7bef9d06f294658246b53314a0d05c5dfb36977a8d3f37a7095ad9cbf50bf4d45d7e8291faa72eeb83db4acbc12cf1c9abbe9108b4ab97f2313a9d0767786a13a0f8611c43627e23d0d180c10207db9d366165d5d6a6c183353",
+          "padding" : "3041300d060960864801650304020205000431f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "6551feb2b444f0fac650da3445c113ff927c26a1d4c8ef0f4b150b335635ec50ff1844f469ad6b3da8828705e0abb44270f86e92472b21170ee6e68dc49a46d1bd242c0e15974a863b3fa0f0489391e8791164347c56b87bf0258bd1fe04f6f11d14f7cafc1e50568b871a2bda206dde850f6edd46cfc484bb26e4bc8c9b7e5b5aa694ddf0dc217a8b85f8371e6e00cabda39b22fdef4fc6a7531c18bf03943b3af40f5d49ce4c45488f24a564eaabc4a54fabf3bc4848b309de0f5452415607c431805785d8d440a4d5b36f71d64c49c966001978159e60ad48199c45ab88333e329b65d5780be2650875ec0cca3f31463568e840e5420e387cb1788c614fb95e0392a97c0392d79594155ed58d45546d6ab7ed08be75f959d5232bcf08e77403185dbf5eb9398ce8b9a4fe3535ecb2e54b15965b9cabc427164ab23e284bb72d4f7d12b7b66335686ba988a26aa12617a267ede320e75c8b399a8dca3338613aac83f99bfed281523712fbe32a7046b85af27163e14193ece3bbef93361ed3",
+          "padding" : "3041300d06096086480165030402020500042ff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "135943bd12689bfe04cc1c0a8860d7c18f13b4bf0a82c334b44ada2c5e82fc32b0ae99c048c94e3508f59855c53e6b42bcc041c219fd6465d21582f4f99cba4b88ec1844ae5a89f3215caf458547f0d147c0fa1db67453465e593ad2bfbac8ea9238d672368d32ccb681663fd8b023115c4f41345551d5f2bfd387117830323a4d061fcbb6aa13f2dc0c5a317e6b7339f6cce5c543291154ed7b118fb8c55e8942d0ee9acba4ec3c9106278c982a8cda67a2f3cf74eef8a37fef7a256e27ab43f5b6f6a5645544bc7d766e4aeb439d255d144330fea4c10438d2b801b477da861f6f13eeaf61bf5ad0b79669dd1c795e03bb826627fc3797846005aa975553343c91deac0c777ba9e253da8f3b925abf5cbb0c317fc2ea6f8d750bdce9cf149ebf623314de480daab1139f882af161750d3b74ca437df8bd7c9570c23d0d896d4a70aa4e464d0a836c7bbc22306aae10058d1dfd81303dfe07b9231c651fe30e0ceb328570802e30dfb5910cbb0739c6f74c6088b2ff20088b7b91fdbbe96068",
+          "padding" : "30850100000041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "5513c16ec53402c0546785ed2febd651c1370352c121289d2a1fc9d4db74f99041af22d59c407d60769174e5976159ad64e84a3dd841c04a16b6f740067b50385cd31956d917372187d04bc169ac0d55555dda949bd422d39ca03e40817a3388a4ae03668af3148dd08e6faf1eaa170d4d8d9d1fd607ebc4f72c3eac163024dd2f86afdcd6b448c7c5d09f2594e95ef97b5fe6a38a265c06c12dda0665393ecbf64770be7cba42563293626c305eb840b54387d40fb371047014a058ed0082be31f59259971a27dc4de18a403bc26c7b4279e390844bfc13215365375fdec2f3c3873b1ff8f87f60506c55b7ccf03f3b3ca2534a4f686145536f65bd1f11bf7eca54f327c6bc120192fe4975657f54b962f0da0444c6650984213ea2b531b0b8432525a416e2de1790efb83a224d29d5d8153279d45f990e36c839ab7ef3cebab0dbae382b096a87075b5fe000a4369bae1335b22edccced1085f7c1fdc7f71c6ec16afc96df26df65bcab54321d91d59f7024ca5d65e4791f8a1589f094b797",
+          "padding" : "30463085010000000d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "2c478e7fe2835ce5363122c379ecee4e7cad31173dc248134a942a724c336200d91013935fbf80a8f5a81f40971ccc491ba5650cc3725e2869b76e06a30feca80d09b48c89696954bb91a41744082ab3a69f3a5b8a122a927fd9e7f41e6e53a26582d6625be1e1b8cabf3ffa5af3500cf9d21319ad5fc6edd85ee7935562fa29cfb2cb3fbcac9aaba5f7e5d2e252f6d30efc20d2176236fa670d4b0134efa570a9bf5fae8bb88da4536f4776f5bfb5304830ab8cb9cf8df3f90665b082ee7ecc03e9f36706cad9d7fb293c2e467800442ab39c0150304b668cef6f84b2afde87728f429802858e6988f8b6ced894dbe24353e5e2e53310acbcc291b688e76c0627152ac92d9d5579bcc73b38b275807569e7ff375cb93c977e52b1f21eac9334b9e1a5e68ab5fb1930b810f5636cfb386448413ea80a8174a616b10b9cfa321dbc648f9d1f8b8ac8087cec959d8245f2bd0ec1bbacdb96afe60abb5c7db43d98790cc3c3f196a1bf23aa1616231ada13a55ff6b345b90198588e3d44eb742ece",
+          "padding" : "304630120685010000000960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "6fa51fe3afa18272aa61fc9eb46e730dc62e41e1305962bfd52ffb1008373fb74127743707dc8a44cac5767bdadf5f9db8130369b2051017d27c4af5e00192d708a74f915128ab7b58bbaca311456cebc65a0b3281c67c13594ed75c478a3b943ba9f6a13e6e5eba3b313e9b48c052e1158e0579a61251694b378aa50d3c3881291758ee38328c6af167be0e13267cfc285d0e155655ef25f73f0e9008cfce46dcd35df1f11731816cc54f62ef292063c74eb13306253e341cb1095c1c87c0759b8362eda2f3b81bbb4254c91d6487fccb247516f5b2eaf075b9c1c8ec64a32541edab4f1d6d828f69762798bf141ab0e6c0a193ff85331ad051f8266392de58b949d3481b9681b2e0313bdbf723e69e9bcb033bca68f6727281b0f827266544023dc4b35a14d418dae7b0ab718326aa9008bed6df1b28fc76efb24ce0fe85a0ce44607f3679621819afef73051d49248f55778844731eb532e6cf476a0818ddad1f12f4a1c2a5950ac7c128c9f492013ed82e11da4b5fa3a281e2f35058bdb3",
+          "padding" : "304630120609608648016503040202058501000000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "16c1b7c4625d3ab8b9a7595bda96e1bb7c70dd7b43bc143aab817524d3fcf281ae9cd5df2c1e1949d6a7d4fede269b6308614c1ecad6db2ee71250deb38a955c07e76f70272a261bfb2b31ba3155b38cd3705bfddd2148f2e3e0976760c4f0051a1f251aec74942dff3fe78bdc36e9c8d41457f42903bded23e05683045c131cdd4e343831a2a1d2e418355e2028d2b3ec94688d3acd7e3a5ef4c0e53f4d722acd328cb9c3ca3f0497f6f5c54711eec8693c67fe9c235e45ea9f27b93901f7ae98e77edc295a697d8a17a91b954ea910900069b43908024b35b7aba822e3ca57af412916f1a5df213e47608e65d2d903ef762755ae60c241b1c36bfeeac202b8a35086dd961b06534ccc5a2a4f23a39131a915ee1d1caf8c5b50834b224cfef8ba8b752b7e030b5e955361a463a6b908f8c8d0cc513af925696614624d12c4eba4ad72b2a7727b5a2928b8335fe870bb17adf089d30116d7c9f0a6cbdfb53e5f5ab7f056af622ca5e77b797118f7add95a7115049e4ac31ef5d7858edf5186c4",
+          "padding" : "3046300d0609608648016503040202050004850100000030f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "62b1fd9511766e69a94d61d38e4b02f1c6b39a3c28e8e390175cd61df62001b189a0e44e7726cd8de44b0518dadd7aa360ebbffcf293c5ff749230066a63cc5e393ac443e73a345d79e4b54637ab3d1625a3d1e7d3d0c5bbcedb65be1c85317035cea9f73b282554f355350513a7f8564d5c2ebf93723f943d579878c89b63d25be92293538bb9d80793505b20c958da5ffde894c71c392453c506649b3891be55d69c607b6e4179d5a91a332f84a44ed32767bb189fdb7145bc13f128a0790b333be81288d4b52493cefb118d770aa5622a4318f5d37ba40cbea11d2433bf51d10d6f0d48f856ac1a87376c6a008ad9507d64103cf2e12d4f903f9dc7bd08c1c6e56a5710c01040a30575e755b8dabbdd83abbf53c9c0e53f184680a5d95526252f9ec04b03ba99731ff15e07d8566366ec78d3eea0f723c6df1cc32e0f906cf33b1967077f61ed045058f040746e4d414584d0c231cde7c28a108e15ccbf5e89744e3ba1f7bd3ec92934101be8af0bc0705690043261e98692ef737ed78e5b",
+          "padding" : "3089010000000000000041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "1b035a14cae3a8c4311b879f4ed000debbe72f9847fa91cffe371d2cc3e5e5853542eeec362006e7bb8fe2528d325071a8d8564ec9d60eea7655ff33bcb698d65cc30753084f773ddc3347e934942afcff23da35628dcb2751337afddf1fd900e2d83f528a96d4a5ebd4636aa7ce0f20b181176973c440b014d203b24b03a92531a79c7fc802cd10b7f633fc238e9ff3e184bbae1db31a8e70a69dbbebf925467e5684218e5651fdcb9ab2379b2cbb398363c410192c1ff0397e9e23eddd8e3cb473ed39dd9ad142a7806c2e753310efb1254edb928d781e70211d0483bcef6b7c43b52d04b96ed56de631343e29c99f4c115d11c0b74880c4d6a1235c55d0601b07b23530c9f619ce12289bc1b3efd4f0a5d1d2f7f46f9d58f0b93f659420cea287532e0f3b6c92d65084c5e188c998857989d5a2056bb973a7cec9f8a25b260963bcc2d4f74f8701aeb9ca92fe7551c006b21dbca74f481b8ca1640e251b98ffa768ef2ec7924cd708931b15752858d6f7dc0890fae266181b52ccedc87446",
+          "padding" : "304a308901000000000000000d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "6319debd263a0921f9d935f8b033a65f6e9fd9bebfa7a383e6dc2c0aae9969a2d29b6f8ba9c9d467f311f9de3d0af75230bcd662b7681f4967ab1dd4afcea3abcf12a7c4b89b3e31e22d112aaee76e114b98b81093684e5172b26f18deb45d47772957d4f68cd5f39e0d7015d983edd534b0ba59afa0f1ecc0cfce748ba42ff9c3c6f54fc447a343c24a3b5e244d18d15cd43a37e3ccf4e0a34a0b6361b650f27cd90ce9241f307975ddee05945430262c68f0bf08afe60c87fa6f2aa8cf0b26e67226cd962e1ca0e3affce55182e26dc5f29e0ebc48a1d9ae837041cbba28461accb677ac793b3bdae610c7f5cfd3ad221317c81d6a2b18415d2d00c25d2759b509cbe5e1a99ee9cca1a1d15f8ec1fb642b2a8772e61861bafd8c67c93a835134e9acf03f7630e1e2c99a1fe9ac08bdfcc31a6c88845d9a0e552a3fac84fa1202bea4ad2868fbd8a08b0368b9a1da078d3576625eb72b7f676b9e67bdaf687e867a66d70147f09b009200bebd4a866202b9de7dc97298b916dd8fadf817ce2a",
+          "padding" : "304a3016068901000000000000000960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "35ac34aed37bedc84ba18695c867d9766905a967cf406b765801be0890c3d52aeb3070f053a407085209bcfb99f5f45860206fdffd3badec9a4e8f19ec2d3f8206e6a4e767c4b52cbd8e262e30c52529a4568692ab8738f03e5b1ee15b64b74c39a57de8882aa512c1eca1e6be516ffa67465aac6472ce80a69985a8f107546b0d9a6086976de8d8b30ca46a76a8620ab64e2504824568b4bd9a5ea8819b454aea310531bff8c0884c52c80543660f2b7dc78fa15d8fcbaa9204f6496df560d66996fe3f022f4cfa36b6d4e427282f840b23c4983819bfb19139512949928d1b1806759c94b6482e9d7e521c42b1775644b885e6e179c20fe78e02b97a01a91f38d61c17d5ca676cb38b3f4313f9fe8520844c1a965897df0f04542552b5a30f37a20fb149b1064007d91ae0ab1e74f1b29d9b612947c6a5b5a3ea7181d216c77bca94ee8aac070022a4cd3aca6b740eb520fdab50e07135f4d157eee0416283ffdeea746e5a625a0a67d321ff0e2ae3a5dd4adbb3f5639f0b412ab047a1b5e9",
+          "padding" : "304a3016060960864801650304020205890100000000000000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "440d17b009f689abd5301d2728eb6238342ae5b63134681b24d61c18443209a18d8a9ff32ecfd231e77783a00be559152fe28807c0c32c8ef1287be6bd0fc3e70d0fb8741bbe2d30bc39a898569b845b1acbeb1688c82a34732f278257fae502db21238a504dc1157cc3298c6bf6137d6700ca6ce03e5a1dc7293271d43f5863e024595e63e2b98eecf3ed14afc2bd08bcabe0fb882d9df837f274077e79d08e1a46326cf5f3b4806945405c84a7e7bea28b6e84305058832c189039038b5e2ad54df21139e47acabd93cc53e91a8e4988a633a63fb8a7db32cc6580acf8467934969cb64fffe3da2744e7518140cbfb1af3f3183be3fcc951d79173d40bec9b5987cf9ada82a48c7734073fdd15296ed07fcf50b270e3f38cf227300138f742c00e02e8d636d6bc46c15eeb631ae0b25f649a1ba9a19a8d35ef313c769aee5e996526bb6a1d205998d366ede6abea912dcf8f39349a0cd0e235aa24d9a4f71b9de18db66d89c8f7a53485343e8ddef174653a454a3c856a3436e2f9872aa25f",
+          "padding" : "304a300d060960864801650304020205000489010000000000000030f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "0d6c8e033994b6ecedf22c5f544f2e3b688db8b2235a00dfc8f1b2bfd1391faf649be65815533d6ee94098a4382072beddc2a2f439837dc6df0c9826ec49c3c529b71e9cad2ce717fa047cebf81e0788ea71f8005a0c7ad1a8d59c27efc334c826b40c3f4ec0354633e7e6d71654509460e7d5eef7a44f4894f07e652d9d7860c78ba7facd161b65e5b8c47fd3df85816ee5af4ed35c03f9bf08c2d95d56bce82954f17da0195e95558dfc49d7d545ba004afc59e8f17236cb6f0d8d7d288f8bfc41122ac5e803ef855b3d02d11dd214a7f1e90617435b2840583acdee0feb145a37a8b8c9f5feef750d9a950a605b59841370a47f59a3aeaad2753f6b1ef1c4327133fd59895b627b7da0dcf5f9bb7660cb9002692ab94711db9c15d3bc5fb4cb0e62b36beff03bda7746a0161b4199366d3e2a3a9c7a762b6bf15ec1fa27585aa22d428e7c7ae7dfe8b8010a7df9f07a060d9115d235287ace863596e1e01fbf3551d9995e5442de650953cd2951c561317d331df010d1c6fcace9f8b05145",
+          "padding" : "30847fffffff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "7bbba09b554cdbeb72016995325649ab9c9d0a9bdecb5fc44ff0057bf619df2ca2bbd0c3b13dec3126a0545dc4936c043f200d7df11d87c390dfa1b0dd4e20c19877f283f62d6e20e0ff2f0d561589a683034bffb5fb2be9ce2be2a3f9f86667b53cb0901cdf40c23ee67746a49ba1ac576b2075bf1ff7f48941dd8bb9604d5369c9077d766776f265baa4db5dc3fe7a2643fc644a01f14c40a7a96d95713927b7cae6fd55faa5c802added32c5ff6f7026adef607a2f2abf59f2f0a8edd35547db4ace0b8d81961480412b02b5d51f1e7f0420086fb506b7d617605414a59db8d7f1374398efe6d38dfa39a0568a53fb58e1b71ced8e3c126db99b02c0a7b3e27a4d1493f2c077f51f5b9ae73bc89399b18c270e6e5766b69577283e084ce3b2522a77a994fe0e4a192eb997cb5b4bbd7592d24ec4fb1977809440c7e0dea07c384169e9cccb23c1fdca7773afee4ed804f63aa556492b7a4063a0699ddffe2b583230b826a320e1e26677adfc11d185a1992d38e4946631053330a542fe594",
+          "padding" : "304530847fffffff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "17a45efa88058bdfc012587998e163266a1b5e29f474b77fce1d699aeeffed91d2586c0fb65d20572bab41e678500e3e03fd7202f89f8bcc363d4feb40be4877ad51c2b31f23a4c9967e84e0310d35a831f1f4caab9cad13f7df6394a52375bcdda97c4c8df483eed1735ceacc9bb1270acd2f8e2b71dfedbd60b2c20bfa732053473ddf2e397a6a8c1edd01e1d37eec26a6d4eb858071cb95104368b9457096c0b4f1e8c51e7e51a2b9007f9f88b63aa83173ddf62e0c1e41472015220893f7c7947fdbc5759eb1b05f100440ee7ec166834a33388d0ac0d6b32d81c83853f46ef85e8db63b1eb8432f7f1d33d961426eaeba4156977436ae4e3539a687a02c08d6d6201f57244c83d11f5fe0031548e0267c9bec125cbe5ea2eb2da72986b477274698455d94a9a69267851682ece2da32aeec1aeb666cf969caed281dcd1d3cd9729cd5621883975776b5da8bf1a42c634bcf316c5f1466bdb89c78ef6f68336364cb9e2e29dadd72d19c9155039eb4b259914c0d21ce07145f833c638dbf",
+          "padding" : "3045301106847fffffff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "1157d82d3d7d64537c3d71d45c613730c35a2270b75664aa03745bd1145c61030825fc82cebb47b32b483dfd11188dcbeefc33a5a23cd394c8fb496bd46fc37c27f3b2a614f93b83216bb0dc5ed2ab4825e8cbd6146ad90023aee3a17b74567a6219f703d4d298b53adda7efa6e90e94597654eb9f0bdf605402b7e2970ef87d5c9cc361607d40e7dc57df65a021599fddfc33417d58a8747772a4bb2a50b02921de042acc8a7bb86659c29999159f5e528b167f3fc68fb0d6c62738e37a5108e14e80169c4a7aefdc4a6d7e5f8e04c46a99c55c8f3041e01ee25e0ea55e6fb61ab094628bdaf434ca2002abe822d83dcb6199198e28a596e31ca9a1d652279c1f583b0f4d8f62f6d3572cccd7972415fbf3320d53eb402545e5c680094e1d43fddfff9a7c6fc54d99d5bbd89b43b01f495312853897a9293341c66321dde1586afc9a87dc0ee6b96e9522c8e0d3c0d26efc8b8a1e72e920dde2cecf9abb0fc262fe6ed3cc433d1902e668b456da663977b1036666b1efd7609d2fba6c5ff809",
+          "padding" : "30453011060960864801650304020205847fffffff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "746e41c7844904f729d879917081761ea0020aea2372ee8568f6ccd91e5efc532f9cb12f08da3b98877f2b93851ad627db7411429367f9a7af703a16ba34f2689518f468581879bbcd311c171c781f0f75fe522d038ae5bedbba455ef8bf92d92f53f3d8bb06b6a9fd185d917d01a327224978ee898ab1c0af1105c65d27265b60912f84a3dab3720ed229869523abd565ceec086ddcd48a2404471e70f22e214b80c062f0d2a43c3d0f8c0fa12e449ca1b2174ed1d6f0e7940f1ec35cc74fd0545db764bcccac5483720d25acda5c3bcb9c99f4b60e7717836b8d3520c3a8e7db48fb68571dc9e304b3a3914eb2407c8cf3e8f17bb38495f3397ec850fef614117440aebfedfc40515abb112bccf09fa4b38301ddca73892f4f780c574bd52a913ddb74fb9f56dec6c54e0c8e910eaa95f2f1a9172cf673ffac01c2cc3572b80e93a325373c1770cf69c09fced6be76193c83c740f5e4cd468fc20ba9ba145939e052d2a58b3bcac19541e2f0bc408a2ed547117db7aa6ac3522c6409d8e06f",
+          "padding" : "3045300d0609608648016503040202050004847ffffffff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "7e13964d767f2f286807be50118481f2651e9da08d93d850bba4297890e79673480d7dc10f5435b5e0e318adc9af3dd5d99e0339f9bbfe21891f2bee35b9462b442ddd764fc278f77e7c17d017779888fd552537f8d7a9bee63dbddc10903c665e975cbb01cc1ddd0349afa100f325e3dad303b707f22ad2c120083e4e304eb1d12abdcee41f6d1cb276f58eb09cba643444697e43a899c5bd3b1d10ac939e618db4bc12ce6d822a29c205ad748d3f632b147a7232f799c14678ebaa0124a9ec16168e32df41d21fc31a2d87c3b6008b2cd90f51230e1dec00311faff09c2fc07acd78b57e39271a8912a0c5b76e3cdfd5915c6362f1559c28c95479750b72c4f0b79ef5f9a25d9022051eb1d9de1ac764fe683958ca8a6980098939b473d2ba58a4041ba3db8b5a6cd19b4a2212744e1e2179d6c94ddcfb770d55abe3e5d7a81032809767dda95683f1ea60054d19b61779f17346b7642a92b57da96c5d5421bd77b49c0cc75e6294354e307453718335f5c1d87f5179c9fc74f0b10de00f9e",
+          "padding" : "3084ffffffff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "31140fb3b755d517fa660fdc5b940ba6c8fcb667ea633605c730fa47a3b52c0641829f275d2f8d9b8ccfa16e546146561d53a4d16a88bfc7ebf5fc3f81882e9e563346e19944727ccdf53b2f71c30a108ef2a43dba5be533fb0f05ba0ff302cf18e77d2df46d903476a9f7fabfb0a4e8a23e040359326612fdd9411910899900c3987a4b59d2e8ada6d6db45ef7f420b8e8faac28c6b9b55806dcf44f0b2137084035be8475ac6e5c6bbac67069530a36892e1d6bff9c594dad9b7e9bb604200c9320abffedc8ed3a568acb8e83411e6d28e0561848776c18f8822a150c68aa8279b90422f39432b44a9f843a843d4b970ca608b15f54c42057e17b406f939db847113fc6949090b203b35bfe53e3f414837dc0e2dcd58d5f7b829adfbbc60e41a8c9ed4a9fd15f31a7795c4fb93d88f640b20842281e966098060eef25b2ea3df4d8da8b8dbd9454022bed7f33539761303b46bf810b33253ef1a5887a9e4175cff852772101b27d1bc266e8b2924fb37917aaba4a1ffcc9fc444ccad469260",
+          "padding" : "30453084ffffffff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "3d092c08b138223b594da83fcffe06d090dff3087daa313d9f691ff91572694acd79618016a21128d5ec266ffe6ffd45a55d9e21cc2d32680d12d46b0cfa332d7eb676dabdc9271325ed26d9a9e46dd3d4a2348724661a50c51827ffcd1123e43b09ad646838aad5372ceaf7a5d8e9d0a9daf1c1144c087331c1dffc3a4afb6402285902c0c0a1cddcd39c17d59e26ba87574f9d19e3dea6a907409a8ce60a1a343f99c03fd3c8c2304c4da3f856d2983cea2e212998adefbb4a3c11e11df734b625265b49f580ad733666e420d640fff98967666b9f135d842906e54a20eb922503e0bf0b829237404c376b9fa766ef0a1f9211fd268eeec297833f1a2b6a5f8d058b3b7f4cf06546307dac9a8f8983b423c5e4e35bd6015ddf1a9a118087ca9e836260a449152163438a027c294948b4b72d85e8fd9a8296615d17e370864b8f0fc99c3c177d78889240b47dd6f429fb5517203e45eee832aca712dfbce12ee112dde8613b285ca9cc62aab75eb9ee23a2e9adf7a1cf8d36ef55bca263c18a",
+          "padding" : "304530110684ffffffff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "13d10858e9dd83b88c6d06fda2b433637b55c611a9cffc566d10246e966eac2b404a7ebc5f1d382e1000bd07bcb3b47236eef93449cfce8902902dd1a963c69762420125ebd083dedadd93b6a4fe453492da1897f76f11cf161a8b7b54e70ea9fc5e4c8a3909a537eff2f1c693a86685f249be1e8b0a9db591a4d69502574fb161bc00746b1da9d0b697914a8f8032b45d61a3912b50228d6eacdbfaae960876c115034d8caebb4a6b426c3d8813a48eec5221feb6a11f9a4d426f5b142d099efdea1db072f7d776164080e2e42ea973c7b86215d980b1238f80fa0dd03187d1f42e4a6c1b5f99c57a83f0a7297e4f8df41a71637ddd82e6eec3750d226b43144b0595682fdfe29885f330f72ce3a4ac65cbf9abe8030776c224e1a77f818a625288a144ced77173f7d89686d5330831d0f49bb9121f8bd36476522011779a0dfb10dffdac7ef3a6ba5ca9a189a9d599c6dd9a0caa36ddf1a9260360f1d682f56b1bee11fe605dd46a22523d0cfeb6b410697a76aa1a96cbf9b397270eda3352",
+          "padding" : "3045301106096086480165030402020584ffffffff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "4468ae2dafefe85b8a52539cc8c9847d94e01161e01d377f6ea384bb1799ffd763e4a4210a39e937993311b355850a895286b47b26c251997c9a9f18964e793eff80fc652fbfb7ce1f7f052b39323970c4cf427d32a07708f3859f9d101c4c75899a145da0590da8f07738043e4264e0d3d3e3a2987636018823647e4dd7ec3bc3cf7d65fbfafe365859e6a5fd907d37e0db2345e67ec00d7dc0b75defcf88f50603ab55b1e99e0f788cded4751bb49522dfb4f9eee8b2bea813ac50be538916ce07e3513b1fbbeb9b2f83c4c2e004d42a49d31fe63dc9da6b55e9dd60d705fa367d2cea478466a9257231a53940164d4dcba5dffc17dff7ff023e8a95da9e9ae126cb894a06e0341aa3c3c83a52d83065bd18c36a9edf3d4410f8dfd46cefca3db9b64d6020f9b964c6e4d9b5630b465396790525e55d33b6bdecdb7ff4a085516dda3e5c0fa3a7bb57252f4c79fd56ffb350669ecf1075112c5e90268bd773ab912e1dedf36a859c415f774aafab370883981d3e54ce780097b0797403d610",
+          "padding" : "3045300d060960864801650304020205000484fffffffff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "7b4bbdd6a446be7d5ff306171d91aad0f94e7996c01b12f2e402ef415b06ea2483a39fc4db755f3e7667f474bfa282dfb8af30c26a561f499b506a9ac15500d8b994e6ec5dd7c0b6963dea7f0bf1e5df5ede5740e41b8f71ba6ff56fea051e44b441df0264d730514e3cb74e8e0ac5d4e0be7e3621be53a41a12c12d0966ce64c524c16f4e1dd04dff3077b50ef54f2f4bb1da42fe79aa81d1604ef346e24321a7d9355c7e3e64d83aedfdcc02038ee483d6c46fc9a2290a8d75c87ac56e04da09e661df1f6adbb1ddc19087a3d7a96896cb803068c496ed93ab184d8377cb277032d627cb5f89aefc574d799445232292382d70e13234e4342825ce75dc08501878f4d3d219442cec45c5c6bcda2a70047d671aac7593c746850d8491a4fc9f17ff16fda341ed97ce8fc9d3d8cfd889dd752eef198914c4dbb78646674a5c88da0f6dbc3083dd5453a520a68ef79a97b580b87ddc7b7761277108eebab138b7eb73fb6d73e8827f0d7b7f4411136cae3ee2f172adad6b5f3fe3acb478cf7ec2",
+          "padding" : "3085ffffffffff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "56edf756f30417735f334309157c56b1918947f55978e684fc98f2b1a528e45f162ea4dc2463bc3dea7e31e0ae19a8114689ac76464efb2ff7e3a2258ed9dc074d5bfc47d6d0f95b71efbe8dbdfbb0cf6a9f3f96978597b6e2ed5c5cfd365ab5607419c529dd315302a753939c920351e2d1501f63ac2b8e1e3064eb7571cc4fd2d6af08c6a6e54eac092f80304ace2d717d9cc75efcdb714d7c86460f73f962ff221a76a9345aa92a17afb7faf5ee30a9351259a304f8430dc6c063de9547774f1df890756e4a797bbd1faae7f2145940ad316dfdeee42bdc5ffea9bcb19dd329b4f84c48318d63476f09f8de7b88db07634289ed42c546b2998b583e19912092b1895a086a7d050dfe693f3676e3fdf26000ff156827a6bc94ff483e531a52d84bd0f3ba9a8d3c52052c12fb7330b318da34da565f14b37144a0196000ad96629483e4371effed018452e69ffa4c73b0270b6a3bce0c76bb594200f992b035ea653d54ed65b2b4e70bb6d6f51ef37c3a2efb337694e3c54637858d828c57da",
+          "padding" : "30463085ffffffffff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "405cd9478ad54df415faee76b02ce44a8ea555e9feb13657fe0fd0eb7e99a7195ccf80aea8094df48fad59f4fd7e8b383d1ace0956709cd2cc4a6018e5e364dc0867fe81f19b18a770fc82519848cf338139ccdfed78c5b699652ee4aedd5d529d51ca41aaae623469848b033bba3bb898e9e73a4d6b709f9697ce3c889d2bf2b100fc79feee0e5bb4ca9895d67adfd313fce9bf58a3dea9b6139a7ef7133e07f357c1081747e6093fa10f725bffcefb3ea79e80e66c8870e5cc933c479a64e682f9bcc459459581e483eac41a27af198023aca806b7833b1737912796546dd936dfc1e4c7e3e7b5d584c078d75930c26b6d53d5bc086ed1b5916a02409b6254a296bb0fddeda31c3b26b5865f1655c34654b4b46afc61cabfbc439dc5f5a282107dfb73e16c40e96236101dd998ce8311355529c79822ca442eb1bf089b6f32befb4a430cd3b38c015c2b7c5e74b2e6716ea6d893f8830a20092db85510e721eb5810a3bc7a531cb5e263ea4b1c851ec78da530c694226d6c5cd018f1def21e",
+          "padding" : "304630120685ffffffffff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "73d83c49b2f9f21266520b5fc02405ab30fc11097f3531e5ed891897b2111f6980ff87dc9e71037616af49dc7b95ffde6a409694ea5091287d5fb89890286cf018a0355066485ba92ecae9c6197003b8b42178352988cff33de298d6365e0b726a0b6050d2fee7967e79fc8da939a9e6d24930ca674906bd7a5c95a625ca320f28aafca85367f20f8bf4493543bb8a7c7534b28fda975c66d7b40e3997b0145900751b329658ce5d4f5246e96155207b8399ad9e920157b4149a2138915bbf5c8e4aab38c113e1375c6c9bcbd53c2280eec2885b1c9a826f2c938f6d42eb478fc32d27933ef3e0239f50989603366c98999dcbe73301f26a55e2028bd721f1e765225fee1ec13d42106127c826a810b3a0747ae5f70256d6dbefd92843797c708b4b6998c34e57c72d7bee5a1a720df1417a1e50ec274cc4579456c7f72c59803058c6ac5f9d6e97f3ac67b19388fbe2565e421347faf326ea2ab98795025408899cefad1db9f6e9c59fbb6b4ce50034aa26f52374d83e350f765c52e2571126",
+          "padding" : "3046301206096086480165030402020585ffffffffff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "77d8cec49108b8a6ba4315c2947dac12d8143248447b443d3c189267727ead92e054f8dc591df862eda32e447fbebaf5354f67dac043fbb254331481afb6c4da45b233e4a5449da2ba07b993ecd07de6e5c21f8a2dc8c06a6222eec1cb82043e23ed72bbd9995379672a3a6d700870db6b7e33c459f073b92bbc052935fa967ab7caa04eeea6461db6ddd7cc061d38d8db9de581151d8b38c25e8dd79f8a4e2cd147412bbe90452bcad114a7cbe8d6b6130659aa38be2feed6c96efb1a3b8231d2f8b290356e77d3fcf9230cd75a87a84479a34ddde67a826f09b41340f1372a5dc07acaa0c7db898d49251a95c88731eb93cb35423c0715713e248ca2c7a850a2bbc7816d7bf3d82bab216189dc15d9413e23d77a9fdd11ce16d48f3ffb2643cd611ce15389966656251e5adb08033baca6e69b289f4a03cf88ff493e648785210b30484ff9125d25217348af874cb97b23c8d07258f95997e14f31f646f70d2f94f00db8e2958506cdd8403f110602e92ba7bb0ed0cf8be74ecdc85a131982",
+          "padding" : "3046300d060960864801650304020205000485fffffffffff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "9e374703a9e94e6d708fab0d94cba375bd294aee74b8b63ed6e0e8396c1908a0284bf0b79b87189dda35b1851578b8026caaaaeebf879e0142ad1574d31f3f9bde867f25f4b3cddb65a273242e08ec77698c8bd1d095f92a87f7777fb865703de7b11f92ddcf8d56a330e43e2bd575cce35aea05f7a17d6b2e7e420a7cb2f6f969076a6a96068b4611e1e2a04c17be333afa6216e7a68f9314307fe49a3faf890f64122c04df658af93e05261b537344baa336cbc0aab6ff1a73eb540eff4922cdf6e0114161efee8178b5875c77f0c87ab5894d71d579f52044e13383d4747829744f3d899fc2278f2ab1d946969790bf62f3d55f015a0e8c47a3ed27dce9a4fae0d8523dee7eaf1703d1f2b1b5daa2bdf13a74fe6cceddab1c7e639df7883b5787579af5429b358a8453a325a3ab5746190b7abeec6babc198d0c6121bc420bc4192ec3cd79faccbf02a2b188d71a5fff9fff899be8101861193d2fd41d9fa253ae243a6de65d25ff86de236ab674e13f5f5ebc795f95ca4415a30cd3a48e0",
+          "padding" : "3088ffffffffffffffff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "7e1af37a290175e7191640d8c497c126714cc3d90e788a96c70fd2206485c783c3bcac949e09db18d4639ce1d26bb7acb76c3fd7922addfaa370c11d8c96138fff55936c62bef61bb5dc43660467f43039fb5d69a8964e023745ebce424b314df76ce9e5999a7fd8cd33c2d2ca7f62e2d1cb8ee0b349674fa5476949a002fb6be10e21f241b422e5b7a8ad8889d7e52451c261f9b83f9356ea4e37dca86dec14d371a23fc7c9a99e8f81542e5caa691873c57948a3b9b31c8a203ea46e353f4dad30f112ae545e985759b2272664266d8df7cddb889251c8fca0061a27d3682341a789b6626340b9c9a4bd7c063e96d08081b0ab1437283ad8e4d95c5ca48167d4a410565294b657cafc56e75acaf553d609fe02056a20374d3c06bb7484373adca95bdad39d5c5f204f56e9f4a689628a7f0364bcc0fc42f71a8769669764c0244c7956100fae4526c82bc62dcbe47bb6f37dffc59e9dbfdf50225eb8c583b8b161e8aa3c30f70e71181f412758ec9561feac3f51ea5d1960c541ba19795590",
+          "padding" : "30493088ffffffffffffffff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "1309305b47cf2c6293581a498ec0d9c0baaf682822c1e93c1738519b3845c535afc95d098cc5130e513aea85889f382eedb92447046b762c2ba76eeb89f4c974cfb8c16b0e258178c8ab06b6aabc37669984c4db5ec2eec7cd7785e0fac258ce4ec0145dc4401ff46a33c8e84dd8347327799281ec475a998cc92ea60bb1430954f174f8628eb84f46383514837a33a4b29e46130ad9d181277c4fd2405c9a41f796cb57b7da262255da243e76b1315234c241363abf5877d1ebbcd453b17a3cd2577579ebc0e2b7457b965e33491afc42083cac8526d6f44446425b13da09217fb2cfb3ab5fb5a2d84b837195eea58d412a83726cb67def7bc5f349c4b25fec9c512bbb3b34ba06d33e6fce13b991b9ea76976b2c641641e9d46a1ed19444deb9f20f98ec1fd1f7cab025e2394c5e659abb9968470804212c2bc526a3ed3ae38c5341bbee3b236441c40566bf980efcd1b3319d536876403a9962f8d84d2bfb65bbcbc7f5e7448f2f81418811eda1b758031951c2c7ce7e0e375d7709446c11",
+          "padding" : "304930150688ffffffffffffffff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "3f9364cc60c899ec9941174efd85467eaa08d1a61a9013431d28dda61586470415f36218d43ece41d4226e5b2ad325d31bf1c94872a6d491e342fa44cdd6bb14b6a9e33a72374d43cf8c671f1ab01df01be49b07478cf05eb936e551eae53f5bb3ec778116325faee9aaff2861ef3e9eaee8260c85ee1bd53c402df08477537cdc4d15fc577ce7bfe9ef3877dc3b2e27533654e18d62c02322b2d2c9f1dc65a552dfe4ec4f3e5fbcd474bdd9cf4b0ebeeff8adef924c2224265a7e31beffce81bc5e78a4ecf0d116ce73de9844dc025fde2d83db233ee965b08616fefb229a9ab4688d726177082ee11f745a68bd9f73f68f0049b4fd1d6eb6409a465b11ffc9aa9282724a9501e21e00e5d8e182ef35e8d60cf775c852969ef01df5a00455826d6811b4d71f45ad09709ff21ecd7d0162dee3332b0ef5af75a89d50a04fb0637fa89795c883bb156635231b11387b6393940bcddf0dee2511656d019bfc7752ffac5cc7a715b41526418f031e29721d8defedd0df3c360aae5f0615cc2fbf71",
+          "padding" : "3049301506096086480165030402020588ffffffffffffffff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "4ab6b85a2c2b64135217709b6ef5d267dc8e9f61e65c539fc92993b84900f9f2e6a035592751f5ca54001174c12599466ffbcf7f86b4e7e39a94214a8b84bb2baabedce3f526103e3e951728b35312a4a617a031167acb20e28f2bb7c175076f8556dc5b37e8bdcdb0320ef434821ab5f4b2a312342c7a64cd0fef8981b52d99dc7af0f27e506c7e099eca75109204394d5b50d26ae3770a1416aa73003461a750fb189acb23e5a6802d098f8b33c1397c44d6a4f3c0e6ef4956dbd285868d3f2fcca8280ff7a9afbe4927f444a394e0d62c3bb8e255396f22d14a2148732d80b6fae6de4ee6e4747764dfeb4c60da9a7b2828ffcaa670a136bb22ffdf997e1c8ba1f5a372facfb467d7e7378a64c38f447d45edba202e233f8ee06ba56e7c8a151c4c4b8dafe541de59a7b530a35bbae4cf7a885cd6ec1f2ee6d14930ec20b53893eb4457ec36df22a5ad015300d4d1034286471f72a05e395598f3b09c390e0a0594b7d36b4d9c1758ce3d2832ab64db2a4ca65211dc4e5b4e69b72b21b5e9",
+          "padding" : "3049300d060960864801650304020205000488fffffffffffffffff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "9d86754511daeeef9ff6b5a1828200670a1a1a9f7c60889644a24cb0664cb01fef5318237a568781c26f49cf9d0c094ae79df3baa9ea53486bd9910a57b3ffe7165f9208bddfe0476a16eee73cd85fb41fd072708eb3484e295ae6dd1cfacf2d63ac269e1dc6afd34d022030a85861d24d8fc73ecc5d9d6f510c2488bf00b311d114f2c73f18d4244bb4ef868c2315734605f8ce5022d74200bf520cd040d899dfa193367f07151ba0de412dbdcecf5cca924ae675631818a68c2b92a8a58d53d168e12f84e5f1cbb087e974590689df361cb3f0243d5a3f325bdbf4456a4d5991d245ff5ccf8d15c346f1f15eb8e6ae7ce4e427553982ba38005711443b4acb99c595f7d3b7f465f4e3642a016b4fa5d1d4108f6fd7aeac9d12afffe7f90619f56162e289a2646760c803f4246bf57bdfebe39aa7c563b8c25e68e35996a8a068fcd3e32ac4d34995cf8623e6d016c0d2ad22460f7a0e3ee8f608b027623e926c36a5b3502f38af59484b71ce68143755e1f2bcfb5b6ce7fc060fe48013a4a9",
+          "padding" : "30ff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "1be236c819d1e7078aa99ab03c5334ba84c4bb30ed75a05d4dcce54b0c3048720b20f69f703880f9f1ef38b65143f838478aff456fafcd7c7c56618f0a5f689e09d86abde3d4aaf248abe6c4632058cc519517a1cfd3d7c219aa4a53aa2cedb164e9387f789a4099b94fc23451f855e0eb759c522becb8d3b9ba9e73613e7c1a168c378eaed5ffda4e6062184d40b3409ff42dd7f1d1cb20a557122fa82292ef5513da40a16db1d45b0121656831b0f7213650478e835f43c5e103bf663bbce02ef5e34050ca38ffef5574d21dd212b57f65e59336142ecb64cc58a6c51bbf1acac55c8aa30a77c9b5d94416ac2d9c895760045f21901b19db9026aac3da725f90af498e108f3b0f3383ff197dd130ea425254d7a85b5d1d843609d925e09d9a0d0ca6fddd0d7af909134054480fd8f78ea8e106484dfabee2a7260205da8ce2a95ea2a42cdc9de07b0c94fd4682a574ff22ca14c033a18905f7155cfcca994c22c4321915afd0149843b3f2be74d28d3ae0b3017e8eeab4ffc531c382a1dabc",
+          "padding" : "304130ff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "1d7af7303b7480a2d492f87928ee58e4b30e5a47cde37cc368963d539661b503202a13db3d08ac507d9f98634f869acf6d7824f65fcecf03f7faff5d51732e23f03a20a784808a4f89f1c418a59a7ca7d1a5ddd726bed532bfa498942a6fb4dcb8a331641a261b94f60b43c0a857578fb3122b682d8a3bf9f97c5d98231e091d6a6f35d3b3aa3b2d2397c15138c4c91ce7d8f96b54a0befab5662442b4ff30db1a0d06970e9c1831798c65471e60a5f0e76cc5607fc12db3ec479044fa2ac9b0d36a2794931a644afe754b43716989b4db2a462a8be69b8c7cc2fbd78afb681816b21feb7ba71156eab4ad4dd196ace3908ebcca00d7487327e865769e9b877e4d1c172d4ae77a183bfbeca34e0b27f3d1f50f6739faf982e46340e66c89bced5046764d3dd9b02c6e18db151ceaf9d2789d5a923675e72e89c9e01aa2270f24a31386a7cc64897f4c79d58020634922c2926b72b0d00d1ea28099116465bb5120c64947c9821ba840c0fcb1906dfa88aed9431151f6071fd82e388330009e87",
+          "padding" : "3041300d06ff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "5531e7e612176c77975c1af25bded7a9dd232fcd51f3a8a447d4716e91161bfb7997ae973d20a5e555c84950757ca7709d840f0954be1c42b19a7d34178136872828b41e57d3b33b98fa61aa31c90d6bae10bf0a9c74b41900cb6b90cf88158018043c7ab996399904c212ce2b15f096657a24f697f27acd04f3997880a4a021b500a64b6894493130db373904f736de03abe71bb675ddde97885f0c73a770ccfdb8b25b5bfea0fbf5c98d6bf19d3cd2247c11b02cd0bec4476b9da97fe1d4a684158ae235274a1a93a03780b4929b8549128d8cba3af070978688dca296d81facce004d0e15f787c617008ffe3dc145d11d985a264f3ba2caf7a7f5a3bf99eac806af06611e106f2daa06ec6da6b72d8047c454c83ae79bfc44b8053d4be351b46e73cef389a9ecfd82881ce691a87972b3f7eb01881ab5670d6190cfef9e034fba0adb4015835f480d6464a07aeadb0fac199e4524dc6ee850c8aa2799e24128d00b402963549620313b87518a9d003f2babe91ffce92897f3999677553d97",
+          "padding" : "3041300d060960864801650304020205ff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "131d9d72773f3a6b9026f55edb23b348ccb4e34f6735ccc204592a69ff19663551d73d340cdebe9f1d26ca192ac58764b02989cea4e8253863a6d9376a49a2dd6ab53dceb678c3ea74e7f0b4ff97563dc168e2020bde4a56c21c988f88e379fe647b3a39651c1c561ba444eeb677d7130f9b9d5a9a4cd9b09fc879c2539f2c423bd15458ef32bb1c71d5b518a20dd50f4a9acec57648bebfc4df7964fb6d60d0d37116d594864be9f826ca53533b77317090a3bd1024bb7a39ca67f43a96f5e52aa5d73d69288ca3f2de548641579f54e484aba2e4676d91ce01a50a90996acdd32c2124a3cea110cadfa46338374c87fb52460087a9caea824fb83673796e28e2d00d5785b1e820b8d35ca1ad0523b724a310b606a4bfa6515a2b7af231dc203308e9a9d0a39bc10c2be68651860344661a73cd1e81b61cc3b39b2035c15f6feaf4d6821a38898e3e920f0e707ba72a20213d86b2642873dbc30ada5b5cfc30895f1cab0393383f61a7aac1e442f3a5ebd01d16d5c4b745e56b87b19522f649",
+          "padding" : "3041300d0609608648016503040202050004fff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "5ecbd91f09531622a73bb696711c450ab91af58c953139dc81fd527875be35b8ac7e377b5bdfc6f2cc502c0b6d3b1efbd5b74f2fcb49779a3c9ed716431aa0ecbf349b1dee3e7285cdd3774db949d27dbed08ed18ecf12ac24f04865b7e11719b9618bd77085106eb05cd994e769fe1f261f8b755d1d4702115638c060c1c5c430790250ca71bdcf10b3105dc3ed84be09ed12fe124495692b2ed841429dbe1382bb513416a488fb4aa7956734ace455695a641dd99719bc2530cffd6e02bdb4f8e0b391e70ab339b153653d9688f2beeb9046ea2ca41a11654978dd81552386827b8dc8e35d5d401f79c3ca2bf2e1188c35b27aaf78a36e2f3c0245a3b5dd1e0ab4bf60a3e5c18e883b4d8110914e08777e463932cdc5d01a4db721a27a99a3c2cfb7a497609243887eb244f6fa276a0a28d53a77d28bb818706e72f9bf91ebd99d3598761b3c38fb0ed0c4c5bb32831277574996fb1f46af34cf173c711fb81e0aec055dcf19a594a4cf5f667ff64166180ec8783d0e82716e57619a45f6ca",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "479f622eba6551b6f975f419bfd3fe5fc357d32199d85ae27d5c64a9a832f2f33dd93ff1fa0f3e9487d3f292b1a60ac1239ccc568998f5a5e2fdae7da0187ccfb7a91d754b23c98c34a810015b050f8fef78fe50f2c9a99e16bc936898a5355b0642ee15286f8a0851a7b91d3988875917e3905a0c265bcc7f5fff020c709fd11049e908eb42e4aa13bb6f7bcaab2a3256cdb2f58500717c7ba28464552901440bdf4ca6f4cb9c9faec372f557cb83d4258bf853808af35b81da76c937af62c926f7f963aa68735f6ea4ec1c487193cd4de17fd679a9fbd8ed18527cfb7bb8266635f4aa66c03f310b19aee57fd3977a76a858b7e7c405051fcbdce4ad4073d8993a1b5ee16b10f5bb3702ac8728c0f3c0c8b723e30287fdd5697fbf5f08c030f17e1ff988ab71e0ea8539fa68c30e2fa760f1998e5bde95a65013c686057a50105c9aa058b44a6982104deec31dd1f393a8223a25828130db01641660f07a5f9531babd71df640871806880f33a2b13db44ef9fb0d03b36ef58a2c554510515",
+          "padding" : "30413080060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "76760f4face7373dcd66f3f89a1cf93344c0ad0ef083ef769a8e26013e0551641c5ef00397eda16e9100be6ce21259eada475b0ffcb2d70ffc561250503c59280c63f5ee5a58cb5c11d27ba88bf1c219e4975f3eb4e02eb88191b3f4081e308b0455ca3d729adf5e9177f837e5b6279e84ce247f6f95164109f5151ac4bab08f5e1a2875e4ef16c0ae9121cd4b1a2601fd52a4f1d742ab6420161904816e4368fb7e64bc8f240651da39c28ae81f20699f6dd71c4c2a3dbfd2109ee973bf4df6fbd48379485e2e7ef6602e6b480a7f894d3385c80d9453191737516034bdc8cd93b35017a2f97356d670f424bcf4e6643b4d29ece738851fb57eb8561fb7260ca1919ec5c9f90c6cd4a5d60796aecd2d28907412ef986cb08157e15e5ae5ea98ea8dfdecf0cf624e65c762a00a78fe1453a070b6df6e89d7b51285379cd8bf4f3ee69a1a233d0caa324ef72a1ef19e5b5376403487b8c6f0d54cd5c2351d082907b045333cb34b56f9bfb3142b889a5cfc3b9e667e8971129a21b4a2e5d1b39d",
+          "padding" : "3041300d068060864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "9893a1f80a5399db63def36a1801903e04c68a22974c37b4c77e610acba1067f8faa6f54f47da6ac680d2f94b6167c71b6f626679d4099294914c53f00fc77263c42ffa995d3777bfda44477ca1b790685fb27997ab80db50e1a99ad4b77dc0aa8b05479ff2ac1589440476b13fcdd5712aebfd188b6e6d11af31718411dd09e55275656467220be8e0ab93ff03796321d72e9ccd32cca553c2dafbd35280e8d2aabfa8aa3c111a7a34da57785de990e1ca0ee13f2118b2277683105ff09fe5800fb0be608729393f2ef495cbcc4ec30bf18e7f23b8e81cb3d5e4973ea3451fa64ed7d2d6bf99245775c6d8c33d62368d5c90d73b9ea292043efaf7564129355e69787e618a199ebdf75ea53bf7b19b3783276f068cf01e744e7c13f99afb3796b6c1f18c8a961f02ce2b1280c66b31d7c2c43c563782359c0dcf67f1c23cebc4caa9f3d129fdd0dac6f0a7917eac5187f01c708b3a6d539e133d6486596c16ad6a2d32730c8593ddcc30e66ce41345e67a92b95b7e876cc6c48930b817d5cc6",
+          "padding" : "3041300d060960864801650304020205800430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "21db7c79c85f32090e2a0087d5558298c700c40f39a6f9e08f70860bbc042ddc1e98c290007f0d426b0cff6d6f32eaef0792f10ad12ab892858bb2ab510d9d5d8d2a2bd0a0c737602c9949d15e0c67d5c54dd85a4cce003582f892317869d34709696620fbcf0bb572d665316d11d14958a58e11ddfb75309c7bddb87fb851d8970ffc2ecef3d7f57cab94045158c01ea3a97843ebb542494b8f883686fbb83fbc89a2aeee590573bb41788824ca49da882f475f415d7bb64b113e046714dd67dbe0cec72416b9be30476d197ed0675deac614be24ed8b4511c41017dde5be0d09e1e4201e8ed9f43327da18ddf40fbce03c477f8a3831bc1d22b7ec72be3b4927c905d77066069962f6ac8a929f810044dc1cbfddafb763df8596d7a8197e8e70b4a818f4c2163a16907bead72940bf94f64f4ced5a5141dc2757d6b93a1c6e5034d47a5ee512f960f37fb269d1b0102b8801ac67eca3ec27a6938544415540f55b1c5919560778c6cfc8c6f9bb21d2438d2c65b95554420d038b1905e02d09",
+          "padding" : "3041300d060960864801650304020205000480f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "169a1d69376ce5e37f7ddb7996c66a6a0bcaefac6e41193cf6b1c15308ac9fcdbb68bce602aabb18d94b458302c7f96110eddad9c61844428513f10d5b82fa8a685b756bd2ae1e2c7a94da573f4bbdbcc49c965748bebbbd94fb0ee74944cd272da81ee3af6f747095d92562c0cb37eeeaeb24ccaab9bac22302c46c7846891f5de1286a16a1bdf4dcf78b4f94795890ab84b5a232e5a21b74e72d5d8897858897201d3db3a7f5a0c3da6eb6465975da790a8271619ecf2f8b14fe5ed986441fc8c26e506f408699b8d100bb2d9dc7515c114d9845e6f29a306800307b50fb4931a249f47dae58756e132684ae1ed6198f88179c5c97d3edfcf76d87931cc9012b23d9efd4d2f330d549eb7b30ac7e00b67f39c8e35268df5f12f163e3f7c45941fdf746a653144a3dc2fab365d527b2b270c185e020545eea07efc6baf00049addcd83874787a3fc986a571c0c11a4c7232b54a438be0332589ecb598348d0a1dc13fc931122cbfd8eb4d286beda183291e713ca1b872d8b831909fbc033b77",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "3a975ff773526672d671380dab20add0000035d47c04ccceae78ffa2975a90647945b467c4e30365cff5f3a769b053b5ed05e0c87934893881d896da2c714023394a1fbc08a09538cfc89ad3481bb0383472aced4e7d1947c40e65a06d6adc0d1d47493199aa981a7bde828a9c45349ce85ceeb00b3978a12c73ead5a65f17df8aa85de1ea87ebb0beb5eb9d96d6aeb242917b777a739bf805ce49e2d0f2f4d5115d621bc7839640d7f5aec3a4546958f62b94841a1e8e53e53ea820eda668f643354b1bdd771fb228f20ec3e968a6dd53db38f0fe847c45dc68aeffb96dca441b85180d9ab348a8a428cfe2d74f238fdf727d02e4eb6f52e740da85ffef408eb500a27ac9fb1461b7daf684f56af3a58e803792cbe2bc7018a2525fd3e4313f42112558ac821cd1274c0656b65a2ee2e9ee7c21d47c211a3018caef798eda6814a9c0a14c039cfeb29e495ca272f0471cf32517bdfd6bc36fa47890ce49fc6a48afa13c84cf7652f8ee1b6d91b0348e90f3801cd19f3dff1ad24ea5fd8b62ef",
+          "padding" : "30320430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "5c102bb519d831ec8b3777861d8da6e59708411d6e278b264e97c0e4963b6e4471175671fe27c64b00511d00fa7c8594405cdd0e8fd5c6fdc997a3f7867d5d6df13376955aa2cbe93120cbbec3f3121ec340d0c52b0b9ccc110d194dcc0154d8ee0a3eb056633a1bb14593afae4c461928b2209013b7ff516c9f8b548490fc1695b57361fdbb806962342652df898f297676b0a0bddc98ee4d35f2ed855205ae00a3bae11bdc7dec322e69e629e7342008b6242199e5a90f550107957e2dd5e037776f3b679e479b8f3842efd6a35a32da5f20ea59ea209b3e4d9e52fef6c3721fdf7caf5c8a52737b573b8e7222842c6b97623e38378d61dc46442ddd056cef1e62528c7f586832a86b39f02c516b766ada35efd6a7a88567e618546ffb027ca826343a9020491572b1b96ddbcc6aa3c34309a254adbf1112774b6ca0ba480f4e9375185d2a12b428943c8d0aad7420857e7e9c8f364a7215b5f3f89c4b345ca24ed6a4535867c7b8b5eed03e4ef02c3ad949522529c7893d4ca2d5e5cd52b9",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "4c8832f10a7fb51141c4f802bda680a69220ced808e5037933911b97f017ad739191d5f15514e9f42ad7adbfb62da4eef5564ed39806522fc7c7e09429fbafb7f48c23bcfb6ace666fd764747e2b1bb8b3a408ad80983ca0b794a25a2ec4e967b4d1f5cda3c7e708f1f90efeb068df2ab53b1ae279ae3850d8882a38ec2c92772a7a27d7411d50f768b3b99b8329339c5fb375ad513d24cf2ac0b300c4a901b486ae6606293d622fc6e76083a296d0eca5c0863301659d67714c95b48b93631e7e6aa6561d8dd14c0195d382d7bb60e0511fd98b21040cac16f5788ce09671b49f7a0d9397d96969ef3edb12b957430a5325013aeb9fd73adfaf5ccf5d610e5fb31d78a272583523adc899b24dabf8cf15b5c042a59fd87307914e61729eb72c6c1611d4a99cb80cd43eb72fc4f5339be227d4afd682f9666468edcf8f6e7d2ba57979289bc91bf8e2a5e114c7df98ff36d0e3c557917bfd9365f661fa417fc6a75889f8ae639c8ca4f31d5f3d87e1f1711f7f3698f5107146cbcca4f58bd689",
+          "padding" : "3033300430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "91cfec5f96441f0a05179b85502d8dfa2c41966cbf31694e258add869511d24f1846bee404179747dd17b6e6a9524ce397fdcd078bdc93e8b4c75f56699332b8ab06f3cbb868f1e6b2b410e4049cbd31c538e246c4f14f76e12bf230da74692ae55bc019d24eb8cf445eded9a14d5aa2aba24592072ff3b9c801961b0c7cbf8037290755879f2b5158fe133dc7023fd21ba4e21a39da7992b724ade2a52921385b6c359d9814b62b0494e5b1d436b17bf3d2fcc1e95b5f9556fcaee7d8088e808c3ba5d5a92cc1518f82ca24e9659e0435a362d4a1f1d033fecf855a3e6f05b6791b2322d81f1298af5ccb4588d9a6c6d4f1a425c72f9d034f7c35d8f8103ee2ca0ae7d4daee2d2929ce6f3f4ae04d8183427ea0b20f07870ac471503f5b94692ed809c5c6df9b95330baa3d13ae8a3ed21e7480f1f2a2bae1df9fec082ac154276f1f142627bdbaf1abb64703c67d9761a02f88f0e18e9bffbcb7d4bed3db5bae8e6421d9c04fbc88e43a822495cb49d2d6244508f3102a732bfa4cc0bb970f",
+          "padding" : "3043300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "4d13b9eb5da323a7e1877e36b830fe6a84ebfb35a618ca53e43378fa307c9990038520df453c951016ab4f918e94c1a1ce53327e0f9af6410d3e0fc20a22ede95cc21a8b81a55edcc8f64a497c579d5107ffaa0bff5fbe64be77f25d4763d546a3451633f5930dabfdcbc84c5c29f0937efc47fffb25930a7f737632e485176b78a575536cc7522efa7d90817ade8e6a2993e53796ae54f746c4d9e19f55f6cee53109d669d35f0711cb1eb0b835e8257bf4672aaeec2eaba4a0d5611d7573019ed66c3a5064210f187f64e5bd6f345737e76b12e3db4913a752dd7d1ca0a80276b38029f412079545c54997c1890f9f269040f7ce9b13660cb6c348caecaeff3dc9a3bd8f542deb50771a44a17564c992a163be49151654961fdd9975b77b47c2c4b5a731d78416936f0af467116c56dc5987b42ebec4e926184888eb053170b8808dbaf8b58e53b329ea24af08edb82c48f66d58c4b59117a711564b4a886d38e01dd83230d20c2d248594c28a4e16a6910d39ec05d4c46b549cdaba7c8ff1",
+          "padding" : "3043300f0609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "79f7076614b968d30136234124eb002100185aa41603b85530a87e56723e363e866ec18b2bf7cd69750eac12aaed2f5d3cd8a174037d1b11e0fddbae8248b6958047f4fb0836eacc7f63af9fe05c772b7fd84b6580f4160ab78239468aa9b7638272eb3bd03135780cffe958085fe571cf872cd3e063faeac687d85c440fd8f9f1b0284a4749ce22406f3d779318b0cf9820a226c54dc2387601a7b0ac8c4c7579821fccb8e8caffb1c506ec3c3390b4308fa5f0d3ea4d0f596b258c4c414c47f6ed143272df118d0759f707b50f4df9ccfac60f72a1eebe484bce46de29ab8450f35852ff06ff860cac57caf20dc81b9f0e8c7cf31667e993c0c502a54f91287fc4d20dcd3cdae22c4fd73c957be77a065a8ff04098b6e7ae166bdb42594cdd9c902e2d031d4ad421da7c4a7d89ff85aec4a05759fa207446f55408386ac9c3c74a52bbd9bf73c094b7a5434dcfd3822ac554a852d3be1ceb966fa5923b917ee4235aaf4624928d568d80f2155c2443c2138b0bfa5c63b7314c2073a72e7d3c",
+          "padding" : "30430000300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "823f727d76fa08e6124b857e24fa0e4d9308c18b5a750f26b8035d924ed56e2ff9226e0747ccdcee6b5df5812e432d952a93be3037ed9194f987bad87498810b4072f9874693b35690bf6a95759b0ad9613aba0b36ec8565d384c345669931366d19480376d79733edb09629791d9b3f7bd4ead3ff37966c3b9b78931e2933a0a9672904ef917c8098cecf30b0f7a11f41dc00c128e64fa52cb5681491fb0813519ee60add3b8750eff8a51faae4f96a5bbac731eedad4c11b81c9f116f2a8c9e7d727b84e90f9f89c37fed569ab6ca9e1bb80529a6361428a6f3e87b83a9122085ff0f9a81faa5e57070fca49daa38b1d590216ff1d38e1977a53fc89440a29e945e6182154aec7e43aa1f59070715be2dd0eef8e3772a2c7f2c44b57ee2a0491ae6fcb312838fddffbdf0e9bc21a52d9473ffaaf4fe9816a277c3c2200528e830ac2d7fa349e50550acb177a0a3621924b202fb44a542e551ec6cb7ba7b66db86ce0767094e89dca1eeea5ea2a732ec009958b7ac55c42001bb5de07d899f4",
+          "padding" : "3043300f0000060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "53785168755db72bcd3b7528e9ab4247f85c2425ee652334859ce25e1abdb26277150db9aa3641cdacb950d8cb430b638ad16f9249f2a0db6a58d0d832e6901becdf4e749bce08fece01d6c4ea7fe4293a66ae4ae39ceee5d0d12cc37b8481939735f7a55524250a0618d39afb3645e1af91fbea02145f1431ca225f6d1c4a562fb4bfc8c59e64887370e548fd973d4c0b7fc0d8d3281ebf3054fe3584dee13564a8818c6df1cd78838f4da2cbc2f447d673dead6a55b27bc8b028c8a9b212f9473f361cd38e8b24be043cfd2a18b42f5b4446a71d4c74dce7b7371658c5337126741eb70783512d2f91b9df8893e9f903183487353008495363e68a357108fc41634830c67d69989d25b5d3b24273542ce78ca72dfda0373598e103b54962dfd29a823fa5c0149e9f2c2f80eadd02b2436b7872cc5f3834437d22a26717964dda44cca259769bf852b378caa879a09718f36e352866f4e76346305319789d86263de746f87c8789f44be6493648789fd7864c30bb089f6bf66ec669da8ccfe9",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "5fb58effb5d46a67b88b52ceb30ecf285e264eb8f179f633c7d3c87f0401574ed7365ae5a02fad1437e3c6ce1bfa03986f0f93024bdf3cf0e04f08741f5c8032091d58ca8ac92785a31af964d499eed535d5cd14aefb61508146321e45fa0ac74a4c3bb4cd1a5b921f3368a65eb8df5d887ae303fa7a4531a07e522a7065618d1da75cda66564dec3320280a769a673015870c3f04a52c01eb6e31d74250339613bb3b39e67bc33edd45130b5005918f31dca231cde2a7e5e27d84f189898b537d78becc983f1e00126b21f3f947daab9102623e32639c9e7c66c6099ca1c69b4a4d24a0c56798baf8616c8d4245cbf7b2d7b212b9fb7c7bfd4a49b5bc1cf03dda5f69c7490a8e80473288c7adae02789ab4966ae3b4cdfbfe3a0db1989d1e392d90dbddb52c619b54e3e2855a1507f2c314e5f269f3934308f3aef49ba61e16f0abff6d3d1817afb82c097c9bef22cd439e717480bdf85d7de75e903b3a22060adc88dbdd9b854ed727b6d86f01e203c98d99a1a22dad91842a444f7f81a894",
+          "padding" : "3043300d0609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "7a87067db25b9b113b66ebde982d6fb68cb5972a2354061a649fbfa6898ba6e39ed2a206ef0901a5fd2d04ac250e0b1182c0b4820a7d36cae82a17d849b6b483c563192be8e3be5cded937b4a8ed348cad8b1612176f166fd64c4f9ad337494e0602c6707bb9fb0d8bc98b12f4fc07dce28e1c9c3f797d1873f091d3244ff2d8019f04dc5826aae36b3f146916fa1b4adff2c342c285108df07a92b2539fdbc568fb01b3110c465774bf1e7db1420fea6c2c59d9e1142a9ce2a3f14e36f30376dd25ec55a66a16aa53e0410dca324de691728bd9a532e7a73d4466c45c5a3f2b4cc9e79ba5965478f0519050422737703a54252da1c90e6344dad1b1f1100756b421765cac73da14d84d857cf1130796bb97bacc57442ea2f25070b0bafce234b86a5bc69f2ec29bee767a8afdb6e596eb2560b141fe29ecd7a111248662cbffdef2500b9e9c10ed4226811d99648e3a3f8ab0c9f2ef6f79fbe61d9f23cb2fe81e79043344808872e50d81d1bd1de211d431326fbcbcf5a36145f626e2ab021d",
+          "padding" : "3043300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "3710891c1bc609d7d31a58dd5094f70b434d5ff1d37d3aafa3ce31395cd0819d94d744eb0d79d942f0c65da6606be2a89a238954622f5e6d0e993a80ff623708b5186cecbe9a21ec4ab593a95fe46cf73547f25b0a2c8953c1dfef3a1e50c37a725216be9eec50895a62f536fbc9cf448112656cc775506b79a7e26dd6bf90e5f1e53e0d7c1a3f22e2c086bf916aa72f3455dec6c99b720d56b2f80cfe55b4a3e7944f56853910698e6cd974c19468df0fc0e1a4408a2c1ecfe239672a7e104a95b8f7a9dbfbfe4d538ae24b1c76cfbcdeeb31c27c49eb55d6d5d3247fd2411efa66d8e0a53d9d00b76541265a00b9ee0d71e89a38f63ff9b3169dca65158602efb4fa70419b3c7e1617a33df13adeecb46b114c8a96ff8e70eb2231ce8f50c785f0b3a3fb4fba97eeb25eab23115f71a65018a22c0eddc3bf7d31b7598574ffdf0d2baf9c23c660494243907b93eccb3f335bee80334f4572c3d5e57ec1753fd10c764cf4a6d1b5abd99c4ec844fb1ac16fb84501bb0f8cdb75296773523821",
+          "padding" : "3043300f0609608648016503040202050005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "044d5b6a176c87f3b605e222bd9e2af0635396f73cd2db7560e842b28b5c956eb74dd2aa46cdd9476acf3ff6edd02e0d1801a3e97f89c0611a3bed7732217ed7c8fd890a8319be159dc1038b2df28997cc31edb08f64d9c5ff84e4cd63100859afa5d6c54ada3d39363864e53ed16ebaa0d95df1a8af19c11b236420775bfd0c1c63f25d71b08dd97a023469e84d265d17ce17caf143459f35e3d8f1801f64ba8c97cdab77556c1f34ac570f1947a375f62fc6c4c3ddb04363c6455ff50717f8cbdeff55087c836eca9edc79976d1f14c40b3c4c5dac0c579a64c40a26092d062e1a8c2b4fc63a03d21abcacae6a0faf274db6a1d82ffa55eb272354b7507e0028eeb0bef2fadaae03b82d488ab450e1a7389de4b1f73fbe321d8de48c9118689507ba3bdf6581907523222f7820b85f601cfbe6b6b29771146dae34dee3d7a7bd6c78461c544c81dc1e962c7d78fe50df998de3308a4c2cfe68e3bf78083291f044349bc1220a7b969e7a2e773a9bc57e359d0826d15ce8ec09ad22f03bf2c8",
+          "padding" : "30464981773041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "320e2b1791735625a7846cc56050ef8258ec4baef5e5ae8e69bebbeb4a777407780a9be356687aa13c9f5c04f67044c5a5b10ffb17c9574360c697b72fd2f647a33b0f55867fcbbed311bc5d76be998a92696f37e6b99f27ee448d10e0dd17ffe6f5f7f07262f12a84bb8f539f63a85fbf530cfe1cd9b1be1c98da296e77bbafad6cff34dd559e083a40ed12ff4839e7a118b8d3f1a2a884437272bd9472c56f07fa8cc29f3e14d906c03622b55b0e9ccd7cf8dcfab4dc5ab2bfb158fc1667bb82354c19883808dde6c72e995321413663dbd01b2fcce0f4ed1638aff672aeaf2c82d37eca0dc5a4ec70c324952b71d37d08c7ef30f884c364c1c85524647010aae11b6887e5f2c86aafc7a6c23432eb4c8f57e35f529eef806ad10c39a32f65019a25e04252be1f795d174878cc9afcc4dcaedd73f8080dc3b812516b49a76d7b6c5b2960ee44c6dd4e8ecdb0f15f999d9c457f6bca0083f38aad6a80a7af2f46d89cf125e7f55c75511e4cd9d462d6c4a8c8248a03bb14a5f53987c1c9335b",
+          "padding" : "304525003041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "08a48199ef7c23be30287fa4c8b6c63ef19365b4529f2079ec10303f8baa719af016532593336401f93b922a17a760798b11364abb463a9273936b4a0005b9ecb9658630e8847c5e4ef785c44ff2ce0832c4ca25e1595a54eea621178c7dda27032ffebf3dc9ee27759a0a01400e36b87249b58c854395ea5bf831c08d42b69a57abbffbabea943c5d450dfaa05222f9a82062b103277ca751e99352c8561e7edf01654bf57ebefd8a5a4deeafa9e2aa0055d02d73c3ce43b1c8694513e98b490ece9181e83da0fa9ae2c32e71e27dc95f6df5f5cb78d1ae297bc044b7315d2b03d1df786ab0ac55022fae5c51bdefcd97efd4d5f0ccaa14c3f429d164077c23320da2c47d936a0841f401eee0aa18d3677abc1970905edaa6845de62d8b51166fea8c149634c64b7e552e4304392921492d83b624d917f6da7441ec650c76d8404a6851ba16cc691928b642354e91535ca5be6a636d524594abe1d53268652164a0752fb6bd855ff0e2f16f073f948dfe1d687150cefccd17df8065bf1264e9",
+          "padding" : "30433041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "498641a4096cd12ee4d68ab9f5c0b0bdec3588558fb12a4b4adabf30bd5ce8d757343078fe1f64f83f73d9039d75c8f37a1977cfc7bb8fdbcd94fda1edaa382b4a0e9b142e8ef9e4a101837dd96a9e3448be292d4b4ec59681076ae3f6de3bdbd55ddf2d80b54a9d82152ffeed01043c2a5c0e355ae368dcd0bc666eb46872a0a14a56e56345bdbcdc9592c84ed73ca6189e340a85c11f8e6eee064cd9e0e2a1cc4566e2d142f3f7beaac2f73b9a055c718d53ead553ec52372bc671254b00f6dd8b24cf6d25a965b742968e5013421b71434ec62fbbdcfd86f85db4a4fe1997379f21a89b7b1aa5cdbc13cc27be299d4e9488e938ce7d12a2b5c443047d3388748a3b955e31713ee3acf9a2767acadea54f1f7a728d0f3cf730be1e0a0ec7c6ae8a61fa4a8a3d1560f97ab882a23d20e6ea7beca62d91d00b825a2929bc036fc4b57bdfca3a6cbfc02ab7845a55128f27fe1c0ff385b5c03fd42aff8f8e88480c8c4f4c9123219abce84cce7c936b0016fa8116ba4e6268721e5dfd9118ccff",
+          "padding" : "30463012498177300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "33b201d3b0f66d29e5fac85bcb1430c570a7563d39d591dc8bf7cba5566a6d7106d52a682cdb135e52080df174d476d0b733e9fd376e34581a8ff71e7de7a89c09e03f1294384f3920dd5281d139a5d939902c5d201e975e06173b06e0f02dbbc69db16963a67f6f4dae9a80fd5a4b0796f53fb6d65f39fc9cad68059783491e37928b477c0db578d10a159ab5b0156a49f301e023e85776362e1c3149cc9c5513adf9505259bf92273c8922994810bc2c247838b4672b872792c617109bf46bfc14768e0bb7db4ceefda9997b253e79472605c048cfeaa2bf743e4b10a121810c2a595f1b51780b31484c7e81b2324fc42082240e1f8869932baba91803f633b2afed7f8402fb758cdf928fb1c8f9a5421662e4e086838100ab3fabb8e833999ee40f61e9d8e7b8f02e3207930a131f4c6fa1b890b40c27e1814b5a606f3198902aeef55fd19f327841d1873c0666db2e33ba4653470215773d89ed6bdd5ac8a4889d730f3bcb7e5c57eeb0d48d3f5b620fd02f837ea32629c1b5d747f38b4c",
+          "padding" : "304530112500300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "588f82aab413ba5b03748fe9587d34b9364c41936c8511a02b6e31d72ce7b0f62844252a98b2ef2beab1806b01225c938fcd5a878778b348d45085aefa02335153bcaaebd59071d99098db83a0d603410b45e8f3b56b4900fd23e733367370be2b0adc3eaf3cb0b9a8dfd362fac10c80f059cf3fb471b908d05806ea512ee95ad61d90f0536699a70fe3016244d328ff3dacd5b773b18288648f85c6cb395736dae2b7a52c43589f9e43ccc76c61a6d1c03610249808094e0a45de1b90daa1c4c9f779bd109cf4300e4ca9263565be44e338daa9266f9366a19adab638060937b9da317170ec633b8f8f3a53e283f67ac35def4b18679e84e59f9d262743c72bc7469a10cf8b953f7c10fc62ae8e095a65964841b4f53a152e2511089c83a16960ad1f12f52cd5867775e2e80d1c30be0f7492ad98328c22c8cf5b6aa84985ea0c1e724d3a7ec551f3f5144323948bbaba8f1a360d279c5db5bf85b640ad76e731963bf9daab653af6be27e1fbde4144fc312350e521208e884dce18436bd2be",
+          "padding" : "3049300f300d060960864801650304020205000004deadbeef0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "37130972f89d2c3ee87b9504938a624485bedabc3dba04dc37efb278b9c052c80bb8e601c189ba2b16ce016fec3e4b53bf57350df00f9b52894ef2d076b1b34e43aff4d7b2d09fef66bbf73b9ffbcd98659afd4eb7b96bea4ef99a1e303ce550e2842522f512aa2c3316747b1c4a13750a0c984675746278ec157bc3a4839b4d81584d9c03d77d907f4734492f0680eefb998bc917c38934105164abb65cdaab868b3b299b36bca62ca0e5e36c7a88171f6f8dea5de32e5d127331df9a06edaeff600a4780273b58e6eebcb9d5c391f62b908dcd1399264d2bf428df9d861d5bc4955a817d1762c9c70f4558a14a97897c71079c76e737723c3443e90f44b5b5e7b41ec0e8bed64edcce80c56aa3c0a1a5205f40cd4fea68707ebde9e961eefb0ed47a5ab1e21fd7954da403fe6e71369adb3ae2f2f8ab9c20a91b298209c1296af302091ceaba1373b142a22fc323f588757524884c5c3267e1c2f59ed4a01d0964298147f73b7cebdda37edf4643dce2f5b55f14e2c418621419fbe4c16320",
+          "padding" : "30463012260e498177060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "503bbf0800d6a11442e561278589ea651334def227b19cd636292a6c627d692c52a36a1c526f5810e296831e4c04246cd9d5122e47940a6af708c2e36d7403c5c2b4aff9793daf4ddc6ca12239660477feed36a3cce855c37b46b1c18659cb0f39df01a32ab7f7c4b0a8a2d1f5d2c9bae738a5cf3e1c9399f4e4d9008e87cb143930cf229dfd0f6198787f9cdc80e02d68f34ef7e9e5936aea035f1c3ae67e11f941f70371670039b5a3da37df56ef87e25a3838ad29e9919f1efb2da434628e80c5f95d5c39e781c3bd4063834aa1ee99c13d09927459cab25cd5020a304d0b3364e9848ba5ce852a841029d42ff4d64208a8a3b65b81ce86f3ad60be21d66c75121d51471a4271e34637cbb2a25e13221a310c376465e6dadcce806429f36564d1b86d6c5cde5611e9257a9ee98c6ec54f09d11e16562cd3dd7316f4e13124e3757d45dafa902a01bf04f9303cb9cf86f23517ede1350832c3768bb94232fd93b5c8c38c4bc61c0ddaaa24c3568c352964a6545c6614d0ffcef6faf658fd0c",
+          "padding" : "30453011260d2500060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "07585dd3e14468f327f3da7d401e5ad2fed4bc17d3abaed7a88194f3e9a8f3f95e49852baffe3e8f65192d4d946fced70ca2bfaec7e50469678251e08480f32856e60a46bc0bcc974ce01251c555a7553d9f83a3b19cf94bbd7d9ff39fae54bb4fe552adc92c47141aad66fcb0e65ea290022290f8d7944d54c63502c088a0c97acca122cde48305585f162478d44f42ab093f38280d62d29eddfda75c94d1ead34f240e1e2f3cbb747449518ef6d2338d2f65d95df4753652f1ee2cc55ae10cffd2646ab823cd583a7964e1bf5f9830a3b02abf00d314343154823e536d617774ec605db2cccaacde5fb9bbc3d68abef54c6a95a33fbdcd76b5b43638cb2e30cc2131d1fbd5d69461469d33697c034e1795e6eed75fde1b20f7265dccd4dc7ba90df3fed735660cf84142040ceb2887b662aa260e287fbc968d348858c23fa8908c6cb049906ac9065fcf3a755f905e91f2dd08d5af033084c73f705bd0e46fc864c16da6a8746c75e2a53d96830e8861a975458233dae0eaf43084b6da5205",
+          "padding" : "30493015260b06096086480165030402020004deadbeef05000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "31710db409943c4cdef364b0e8f51267d701170ec680130f959713b7d148656733e4276656ff870a9280b594f3ee50e45eef2a023b3ff2d75373000a4ac77daa789cfc438167d17d9007ed6c67ff3fa047f165a561982ef0924bdc2131a84995e9d039935ee53fe58fe226ca21f6f51e62d01e257165a647c475a069db568f8aebc164f87f97036e2d5925dc763a20e4cb3bde4e8af2cf411a9d4ef5d716c4ae2077c3038ac6d59bee603266b877fc7011d3a95535f0c2691687e62f0d82587d8abfda276294685a583bb98895ca62c59be501ab11c914361fc538ea24333d25a30e6e57d07dad4161a459e5fa1fd2c9b08d2d288b3dc5cc44f0eccb736d4e47766df8a124959fe2827457ec8777d8f98852db813c4612afd211ddf37e6e224abed61323718153b1b18f00a046ce99d4545a575461310cec3805edcfe8e72f916d4147a8f5b27115c2585dbba558ce0282feb8c6a5b051d9639b2f21fc061d205b28ee11016aae87e42f0672f85a0fb1acb3ecdec0c271ad4ed895a4f05599d5",
+          "padding" : "304630120609608648016503040202250549817705000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "9fcc612583b8a8b1098cb09d1421c725907044804e7d05606b788abecf34e80ec77ea0eebdec6970a947fd56931812357d649dedca5111dd8e1c1ca21545c41cc8c969eab26158001957e7e7f848cb61882ff7182e30f1826600f7aa121ac139fdd4980772707fd912a008cc72c002378b22f72b38bea4fcc309bae438858c5a270a81d31633b3a149093510b0bb885407be1bfa128256faccef43b584390b8db4dadf8c3ee2332abc5c82f1a44aab8a632a13a3b047cc90f4cded328afabce21a61f9c74d3ae209e35fc8a5eacf59495ba4dcd599bc4f282e25527cc3515ca3c6925fbf3e83f8afe37b5f496cee762ff1d5ab58cb06c549a76c181a1c75b60330dac711403e40f5cb934c33d4e2a2ad1944041a2fc6bf9f06a4080f7a4d1b9aadd4579c89657bf4ec6f8cfd74a286b48675e574cc2acbf562312fc9db4561699e45741fa6227576b2fa79031a96a8e5651fdb5685878b715ba913f59abe22ece33a224794d7876b2898910e89d4ffbf2ff95385ad41db3cffcc60bce4019f62",
+          "padding" : "3045301106096086480165030402022504250005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3bc6b4ddbc152df7fe32559a8327f5de5530046fbc14fee2ad4ff942ddd347719a830983ccdcb93f63e72849330a5cb4f1b0de74f56278ee78ba1fc1891a0f572c7694d3c30bf538deccc7c33c2dc863645927cc3dfcb3709cfedcd00454e26deab05d36a3b410df47f73c24c1e3271114b442f5497515b0b32739cf8fcff86c2ce01e0d79202ce6d36ded2047d007088e1500b1941ff72f00547e15ac52db8b03f4f90582c19fb17360a0355305507003abc367675983fbc522a1bd787b3e3cf3e44683099b7f04cfce3e5af53d87b6a9945ba970a0cd243ac4ae93edae84facab15fa3e3fe0e49a771305851c51f677002fec126ed7801c42bd4b32c4c410bf3be1ff439c6c0659a1faf8264b652f3418ac0dc6adfbf67b2c1725aa4ab3bd36f358a2249b4a1784fc965caf1f9743da75550108c1193c9b7e7650c1ba2ee0497ebc8a44283f1589bce15a5b85c87ff3eab980bbe18ed814d6ee8bb6126dc6eb4166637178836c6d2ec63aa332f6d4494855361b3d51f450452168e4b30808c",
+          "padding" : "304930150609608648016503040202250205000004deadbeef0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "64cebd7488052ce28e0a3161ac93beb58e73b9f054019095d268681a42acc2c4579cc0bd628a786b052787485243a763c1f880fc19ae41ccfd70f5e7b1b107244e878c318b1142633bb4fe109996273163c093c34e33c9db45d61a9a38dcff55c4375544018f555b4d3b65ce764c449e1056b288c5979475a6ac48a21718385d1704275dc7bd95535c0b351e60b06b6949feaf7e615a41ca111fd390fcc3dd172cd1a3642f3929a61c228f8a35aef4bd9f4fdbadcd1e61aca7c0d2f0acf4003c504d979aa065be42f769810d9bbb515e9f5ed524d388ca22e80a30085a38bfcccc7348f786b04e8d12ddadd51c1a450b11a3a5345363ca789e061068436cdd0e9aa480d1f9fc143f6bfe22a594068399746c49440e958a434e33136a4a120a314f8f617c3d0c856dc442b3ca53809fec686652becfcb803ccea9a216d5109c208c834f31529d051b4c51559ebea0b5305321895789f3d9d0c80e46ea13e5d0979487a3b75ae6d3034c424ed94a609c8eeddbf11e91d8c012459badf75bbdb3fd",
+          "padding" : "3046300d0609608648016503040202050024354981770430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "9b38a8f73ceb8ba6700fc87f64ef24e6ab775695508988b773169039dfd35171e8e11619c460f431816a75b7f69fa6938919a773b489c53cad243185cd0e09b5e89caaef999c93d0767c05adc26034da9e45ef4390861ddfae45bc41ce54a6f51759079356db05352c7f217920026f0545e872710ca24c1f7167d9d660ba1188eb42648ba07b88b5a9e7983d49819de25817b0fc8b95c6e3dd639e80dd9f5ecf303b7d9d6f3dc751246c8d9719d537a072ecb581867a7b90c92f91e5b46405040eae38696e84495b1283756e769ee5884fa58bdb2325cb4099354a59e191144810a24f7f2f29bed9277b7a03fac6b22ab9d87bab62aa076ada1bdd762e00d1fa2535ffc3e29e8b15f07c56d7e70d65fd4b8b761cf7dac6850cd25c4e8fc8209dff390186257f0e522a7c4cce9fc2a80147f2af9a99eb860073087566a698d8e74b17a9a197dec5acdfdacde6265d6443adf53aad6774d233e08145f7c9821a0a869bfae87b2e39e392c31cb47351982c1f69d54166d550d251be7e368af8f5f9",
+          "padding" : "3045300d06096086480165030402020500243425000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "640765ae60fcdc6e9b81d4846d0aa21779091e45c59e04d5627525926ed5b0a5ed16838903c23c4c53ccdd44f93ddb43ce1a82646c3014bdd5410c155fe72edad7dad7f6b172d4859ceb1774df11064fb60b6c37cadba8cd6744fd69f043fde4680521c82f78af1350ad9f2cb79d5bfd54d39e50e370d3ec2299226e4e86851dd19edd2a3ac1b6f90942219ea805fda80955923265f9abaf086a49a7a242d33fc43c3148eaace6276dc67b5ad428bd3dc5760d2fb2a33ad41fe568c09a89037ce48e91436963504b4fdf1092e3727c4eeb631d1096eec5cbe2ff502577d801e8c363b6c4c51e5c14e263e52ec937f66ca47a38e91ad2a8696cb2d4dddbb1512c6a262f80d95a3c7944a523bf66a5a0e06073b86c47f142a1f632122212b9451aba0e12c987bc5cb891b33719c1272d1c03db0294e09c0ac2cdaba018b7c36b033d96e6a95e9133341efefb4876cdb458f365fc2f8e7ff22b2ac8ee03c27232d405e65070fe0a03b2e1d6a040e78fb872c086a168b6099c26e2f32e88e2ce5875",
+          "padding" : "3049300d0609608648016503040202050024320430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "47eed8ea933bc0b1d22529cef51b0fde6c44ca18073b83165a81e417a16fc6742e886ac977a37bc6dd26c8b9a45e86c424881096d34308f3d406260da35b178619cf327d920ffc891740f14882652f922d8501d9b0c0309aef765a769d98536458e0a0e64b4a7b85d4403b66ece5a9778724c12d3d5701a73fa75e61d54ee7f2d92595a626d7041342836b264a6ebcbdbcc30c4a74dd142d5d4b76609ca20e10feb8348880f3848d72a9beeb02cbf9cc11c443ebe2a7dd786f4866e246f0b8b8de911a5581637f11498e4b05b21195520ca1bfb3b08d1ac0a5bec68d4f63c2afde1e31753f038954452145b6d27103d2f3e3852d4b1895e1c567557ec679bff15530638188853d4f0e48794544028d053294999a2068a81e408606373a8c77296a9cc3606c9b8a6fb7b598310371465668d1dd8c1eed0ce5a1b40058ef9b11a40e269168b5b403417c1e1a550dcfb466dee395d00b1e4d8eedbac1a01ee1653cd60ef96e0b31d721a9d035d63708a5a88dd311a73c07fc03b5897c694297d9e1",
+          "padding" : "3049aa00bb00cd003041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "586641b89ba4d44381eba31bd2031fb648175c94f47e7421df974b668875814978e764555f025481bc3df71b736842e13ed75667ab10eff46d60f9168fe4301b08132fbc847b9fa1b77a547b7e0740675b68e6a383b315ab11f6247f7b734be09addd1f209e80b6d98dc60d72f832a0b15a68aa05a03eab165069d6d477db4c2e752faac8c8e54a9d42bc81d22498fbf7b7b41e8c7eb24e9a64cecb444a37ba6b0bb1220220d201ebdcb2f146688d2f82dc9eef5d89cdc861d7bbaf56d296e91d8efa220484c0f54ed1818cf2b63911d5b2b21c5f9beb190c442d1737141bf2096554a289fca342513217a7219ab04b007aefdcc9a03064d01a57e2e955105aff31921fa6bcc02fae9f50fd88efc581917cc9bd7c8e90850dd2bce26ee7a2b60cf3995e71b3943f591d54b47e759ed5a452262a938b8f5b1f57b484f576b6b6c4b0777c7cd742e7561030f4e0c84ad700fcdf40543fcaa560935cf973eb26b54cda6b28e293c987349164adc847d3876a42e8b61bfd6e9fe5c22069de4a8c665",
+          "padding" : "3047aa02aabb3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "6b873d87039fe496cd375aa3aa3901632a1efc96c527948f6d3f083ec041af9183da0fb6d0934337be26fbf947d4fd986d2d0216f02bd994a1b2b052ea00f3d762a1516efe2b0b8c171c647c12b1d0de86f249f94462bb96ac3363e3a791fe68eaf1f385e15260a391a8ba8764c411aac0f7d4f2f71a8856c04f10e5be31be758c0456a1dfa90c9f7bdb5fb03faa5bc128c81af05a56d25a2e8b0589b49823fafb775f8b846921f41f48d0cfaffc2ee5b039cb3f7f3c666bf1353ac34f77def48a33bb8eccb12b4d79bc5479836b17b47e251eb3d8f73eab0dc015d3d26bddd3f2bc1433ba3e136a98f4354dee37a11c47d14ee1c3bb45b2000d4f937282eb0d849c78ae16d5079472991791fefbe99d0aa47b2bcce6ed14d336acbd461dd39a3cd2733352cbf120547b9fdca8418c3ad8a309989c3fa506d486d2dd076251065fd54876268c851d41cd72f28b1446c11b34043d5fe1478a63884a0b013c51c53adfa4a274a162c50d33d33bd58bb99cc978f69e0476a51577fd69678ea209d5",
+          "padding" : "30493015aa00bb00cd00300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "7731633ff4bbbfbb7f02024abb12c43197d6992c1c1202ed39d755177524c529fde5d9512a49c150e024d1ec334587ef004caa06381ab7d1bd4015c477da5e07098162cc1f756d0b5fe65d6b80343bfb8d710afa69dfb136971b09a7ccee6443001b834bbd94cbe1c5dd94787fb385687e744b5dc99879d5ed75a8925dfdc0014a480c64d1bf3732fdb1495e1af335c1f8141d03f9dd859a455607ae691a0a9f3232191b7a369c1b5fe634dcda20296c0029931d865004eab1a39bd931a54c934dc4b6c3874362b00bbff2e6b30c5c513e8c20ed63b9e96606994f5219f46ca9af1ee30e9b5c2b4ed74b20b926ca84427fd910ffa0c5368b3bf9a4a4c278b9e335e8c43d1a181af5cd928aca703afc24cee23fd87dc787d73dfee0e80765ec6faa7958ff3b35e70f1fa1812d99c1f23ced1a8c2403eca1e960f317bcb7bbdf8752be3a758df32c403213bd70ed4998174439bcaae4766260f1bbff2af9617af8419a9598738599289b7ce2f5a27c57b5f6a40a29956aae95b5bb45ba08caffe0",
+          "padding" : "30473013aa02aabb300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "73f9a2aca0b9fdcbf0a69a3e6c2e802e0fc6b0a32494989e7d1ebdbde6254317edb92a7c975da8e76a6cf4005de7f572eafd48eccfd8109b44ccc5899695517c274f982f1d41160b18caf2a6767ea9e3ccedf1373f37d2256f682ef8900a6df21cd5aab8de2f9fc9db9681246f34019c0a6b98292215156e685b0a65d2d1bc8555b8a27d31209a26236068bb29b7241b660e3f679daf6b25bf98c9746151e13339a20e5d1dbc11b7007971843fdbba12b9fb4c6423b0dd09265f6da03ad01197bb50937e709c21b4a751b60ce3bb5cdf4537b5127f8cf0ac7e6d3007b5f5a96e482f7d7000c83284998656bdb17b63b29f30676c7dbac14d47b507bc3fe7436f52a6f28f468e8c1ec1a751e7e9b9415fc8a2582da5d2c37294b59559860e69afb59ec0868d33f4632ba7cfd32b5bf66761b2abe326c87ac9543d5b63ac081ae92245a840c0f2e474cfb0c5bb6416b288f65ab5c50ec3a49ff1dcb66f68221c4101698757e7cd7e28c017e71896fc73b67a6e5656a2354ccb1f35fc99b8f6636b",
+          "padding" : "304930152611aa00bb00cd00060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "4469822cdb3c1fe53433001d64fb72128c477e7376e1e6baaa324fe275fd7c8bbedd186b57cc4e8f48d7453086e911c284a69623100524ad3d2104a25fe226845a45e5b9a0c986e443d89cc2458cacd9de6598087e07cd2bce47d8aaf4ff656ba439d7a680da2fe3464300a6eeeca1b9a8dfb6ff55408690e06b5a148485f50ecc1b2eb629c22831e19ccb6c074d78cab3d073ef4823d9a2ac492ed05af14ec9466f58ebc4be5e43769a6118ed2922c45c17b92df13fe872f046061d0a841f8baff6186fb9500fb7663c1597e5345b857ca8e9218cc1fc6ef40ee2a0297c5dd757a9967bbf2ed97dad0611aa3f88006b4c26323730b258bcb5cc401ac8ae52c304d340d6e32944aa65a4714655d930c038a03ef94eda4aeed3d5485c4059c014ef90029d1674edb6805a20c8fb68e55aacea705d06d8d88aa747d8e3d14b9ce72c00e760fda4f5f34640a43f331d0366ad61364a98c1a897d32c087ae038aee593bc3ba74f474e06af53109b2ed750c9049782af970e77f0478174b6c8e7e259",
+          "padding" : "30473013260faa02aabb060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "04416f1cc2f441bdc8f3b4ac16e1ca9fd8d36776bca1d5c8981123e0e76d6a6bb3db4592935ad661755931c23f6330411d592c51054aa898862adcae51ed87499acec4ab1a98f3d37c456c8eb02f8847c25cf31b68b135c33d051440d405e76df02bfdf20539f29134ea09659eba51971fd3d5e0b602592c37e4250e0a7633ce07233f3e2dba369e1ca82d001c309b641d6307f696bdf685666581c1ca92f416471f029d46744c2ddccc3fc7585600cb819a7386fe23b6a18b77dd59c7c2335594c8b2b0d707766658573b3bb056777f6e06c1e8feae6b83345b03db9183de96d08f085c429cfe3ba2ff6a8eb0b025bb4e316ca3985686eb8e6295b3306a62eff35f29c0324e582592b8f29f9797f5d4a26342c103f9f61968cc283210efa221c7d590a4863a84d3befc1e4c991a19d00b2a4e49241af116ffe1ae3bf7401abf0e0321307d9c3b0fbacd28c22d8ff2fb51d5f526e982b975f0ba3b8c7944f13dff530533c09c66e66fda505d90d24b77c2d302eabce7e921a80ec3c3405331f5",
+          "padding" : "3049301506096086480165030402022508aa00bb00cd0005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "1e7c69c23f692e22292cfb817c0a0bb60bd7550b6aff981e6aeb6ef7b2338646a3a1ab91917a590fbcd0cb142f724c638c5ba91dff9ae358823a749054f147b1045c53eff9190e2f945963b6783c729d7eb0fb9a9b06d18d04fc5695501a93627eabc5d04383456469aef45b634ec3694824d69816e6653a13a0503f6489dc42210396738e4c500c841fa08a7df20eeb18be5e05f18fe23a78813f190ebb921bdccdfda37477cbfe54f574f922ad7db9f566d0fb7cb3686e335b4d70f246dae458848a41a72f7aa702f54b54dd2612b21946d63c398e7024c3a23e8010b3c22dac1d610b1ec0a76f7d9cd87369b0ac768db470ae002835cf48040e659467e340c2363d345ef4153cfaa9d5ebdb5d60be138d34fd7a36aad4ca7da5b46f7821a47114031688fa3658e08c64cb670a58c0fae36b8a19a1a3e8dbc88b5532cbbb044ef90fe24b842eacb5ef1895c1a92cf1fbb5afaa63a62010e939f72b56c6006eb977627ef62542f5085d15c53b1a235b420ce4eaa85f7fc6656d5474ff87fe99",
+          "padding" : "3047301306096086480165030402022506aa02aabb05000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "6ffa54da77609087fd60bb517346a1813954bfc9fa43d1d9543613d02eec6ea3b64bbde3fa067271e56d96a9699b00d9da06f0a71e678b54801be474c15f717fcb42c53eae17ecc84bdb07bc286c37549b06530a145aca253347d39b01953f483329ede5a309e41ae39ab881052944bce75fdaf1c54605a9bb2de43d323cf59f029dc95f2f931e8a86bac79979e5eac2b41279b06c697f81d9a56858a5999e97c228b37622ff0ff20a8a0a4ad83c0fda687ac3a88f71c1deb17bddf789e491f7ca0462693cee4a6ad0f5fe53cd51d257d10aeb66741fd5e4f306d0a886dc63a524bb4ceb1dc99b4e356dd7123c0100abd8382e659ce4bed568e122052b7c78ad4d3c7f2863b5d7fc91dd099b824df381090dd9b401494a939a1bb7a6c718a36916fa0f2f3d27a998a9324547f64e68688ba6d3b948fb1f310908eabb9385fdd7d3a9a0d57a5801863100a5a01a3cd6b09955f6fc67867a8eaec817c3ce7f892a5d6af0015abb4946d3880e9e14b550ae87e3716c9c01ceae5ec20ba252809e63",
+          "padding" : "3049300d060960864801650304020205002438aa00bb00cd000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "3290aa822208aaf760449fa0c88ee9b6135d65ab391b97354f95682052df59a4c3f2187d6e15b563db2b8ad1c48c29945603d7a7b44fefefd642f51aab0034ce6f0ff1cbdd8ced3236bcc149b84132666982d83ddd23cfb5cd21891e927a523b21ab655b8b7d041482a16e7f722246a77542543a11e5b4abfffe8080e67a6f1b4e716ca8a9acdf67d499296d7d7c2193ee7003a9e563bce01f9e363dbe33a1a8dc45cfe37e0eb454809e52f84b682a736b8fc24bbe64f3828c88379a0ed639fb2b650d38321d3db534265b3cf32f8d8475296e0ab33a01c914f294af103be99a102c16c460fd79ad8abe689903f945325f1560b252693f52eb6f6f4a09685d9579b1dc99cbc2eaaf8b039176699337d6e2e4dc2ce1d34a29f71cf01744f74c7ffd0765663bb3e9dd95860618350376d3f39c805e577d01107f06b4efd2e399b261b555789507a7e4b11f26a19bac5d2d723dcf409f9f0c44be400d250235549ebf266fd02c699d45847614848ab73f4851f3c57181392212448c022f6e0303b8",
+          "padding" : "3047300d060960864801650304020205002436aa02aabb0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "7aba2179e63901af10b592252fd681f0df0d83a6a09f727c0446a642a25c4920041395e49886c8c78ff324c3476c7cd052315b91a16d24fed9016f829ba00e0b075158edb164ee03cc691b21d18467776ce0b2353240676cbb72643801cd2c87b0d45b6516a795ac72f4dc93116a5433cc0a2dc5d08e4993eb67fb937d5febe9a7cdad58b9cb57627d9a2b038445a9c8e6f79bfaf35ee057e7c113003e9b54913e4152b1b7513feed12be9d84e87ed9a5ebc1a18e60f63241803856eaca8bf0b648d9c1732573fec56c0e9f11bf0650ab0b3773519f248150419e6184f049841cf736205cd44cb0b2bdaa0421c9287bf5b60b1a703b8519ffb408c25f3f2ff0f6665abfc5d1d5541895fe453f5c29245e7ba58bbe11bf440ec4ed7b7298a2ba12fdaaaa775c34562fb640a6a63b36c74d8fa69adce790e12c2ec4285dadd029bbabf1117b425eee862330a3d52d8a362186644b31bfba6d7d322a49014744e466911578a5cc602c0066419d418a8d057fa280e2798d5f651e4e982068105adcc",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "555fc83ce658ccdcfe3751aaca06e58ca3860e2bb9d9bf9e1a6a83da94c9a83103afe196d421acabc488a0a296747d73e492cebd68d719a7c56cec53fcd1a21737adcbfddc0447c553aa5d3998bd9f58155c4857036808a9144f12d1fae029d541ec44722eb7dcfd544eb71aec72309b9671606502c183d12c452f37c906419664d2f96ecabbcf389e1ff1ddf5bc9233426e20a42188a4ee8d6f86e9085bc6c36178ec958bcaaa0ba07281be4c9c450570794104848d5b5f529492cc663b7255018e6debf6e6f5962ba6498ac2f3eb5cf5bda84e36979ef079c2bbcdb614bfb5ca9ce86a2a0449f2abc4d4c30ce432382711e621b00e85da71987e04359a879bbc2731a20268d15aabf3537bad25a2e2f0614955b6a689f6fecc1ec846466e24f33b59d3eb9da06f4e90a20c798f11d53b19255cf749a92af0e6ea078348fd5ff795c04c3a1768f8f6f9f00877424ce0887eb8572dd992e6b57e00b144f59b46ab1b364e76ad69a6ba0b3fe4a22986a185fb7ea704e613763935c6958ffea4cc",
+          "padding" : "303430810430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "44b0b41e209070c6f8a19505c7f5bd4c99d86d37de28a95edf8b430dd851eaf9d282f206d14a6a7fd29d3ca953e1a9b45a72ea871b02b2c055a1e6c845719c9530d3ff644065876340408de2aec8b0444c4f9c1115a1a8533f202f918322e01a180abd0d5f679b2b31622fb3972b480ba1aff7d01bd4ee6a44d4ae860c6f36710819f17b622c62c3557913900ea3d681c76e58ef7af7df34d498a4917ef66a6c04b4c0e09b6c70148c1dc083546969a8b4a62f8123f8ec83cb2f359e5ccc7dd4d5fff790d1940196c5495c9d3bba3bc320b14dcb7870b3b8972777eb96ef621f7c30e66225006eda4c5c438bcb996d0de3aef122a6130ed9257f3c7bdd2c048c8741f21583aa1ee0fe3f9338864a91a726988d6d0cff2b2923e8ea0d06fff6c813bb6d5202a90f287b5aa9cdccadf3135ceeb94c02146b6c6a852c67ef91dfe1c2fcb1ef08953bf911866185ff402604c976a0a8af052816a4c8570cfd3794bc273495b5b2bfa27c629084fa6bbab06ed87204a5bd22530ca947098e58738a01",
+          "padding" : "30803041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "93829d94d3153fae20e23e9c5543b64382c3b88fafefda8ecf55fa4dfa4003848bd543f49e7fbfc5ac9b76b347af44774c350776ef02ab3ad9e0f42849cd457b840e0c7b3e9ba419d3ef71961daf4bb637bf8393cd965588019e9ad73fa8c4d2478470c21e5a199196842c15891abfae4fe0296681f5ddca70838f01003ac380d5d8d6db2b5871b14bd20937bf7919dd7ff24a4e4ce14ceef989309de1c53b94ab89feaa567e140005bea8bc411bc24924c486a6819b45ca681e48148beb8997409049e3f1c09ba6fee22fdaadb25044a3bf360f0d29656ebbcddebc0f97129d02d7a155d27c077929dba148efbaec4f2cb776aa8daa14de00b3310922f668fa8881d28e6078299a40770a014157dbb74f242ff0a4dac31da3bffdf850eb7beaba2ec8116d978ffedc2330ba41e8c489e18e1702a3c3845f7a308f43033f1fc7549ddc30509f768be92540372b423a73793890d99b1eda8ca6e6cf4eba1229ed264368a7bbc4ac9412d9b07ce3ea6577e8e44fba010ac863d6d58927757badd9",
+          "padding" : "30453080300d0609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "226bb0ee3730072becec171cd12aef240c91ed58e9c2d23b325738575627d5296826403f1f789a7f9d9f285f4372ece003c3bc7e9c31c75e74192e95c1a71b1d67881a8c425b641fd510fd67e522e2588e6b7ded5a454234b8032291345199431f0c08c630e8bc524a352700f2a19d7e25f1229cf4c1e59f2a225e977497678d0594f693009ed970acef791be7181fc67a5b3817ac82448c064f2afd9654fcb8606b4a94099ef11ddbd9705622159f90d165accd894e753cfc134fdcc22004f3d6c271c44ae4958de5d3d0232c08acf03ff543368cb192326ded21b52ec0118e394921fdb335d37121d5c4a33c2370804f5795c26f7bcbb970bc4f5ec740c10f13247181d7ea339cd391318e548a73135979f07a7449acf5184126779a625540eb9220c4126a9561ca3389d5ac2378620674228c7587dc78e7aa6c9fa2ecd1e5eaa37e43a2d79073a20de7c0b21517350b4a1b459372d2fb6acb0504616da893c4a4cd8737c9c7881ed963b36e7e6e2318b9c5f18964308f8932dc7b1ac65436",
+          "padding" : "3045301126800609608648016503040202000005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "37496eaba06154a08cecd1a768808dfa1516c02105a4317e1e941d967b7160cf9bbe7912b2046db71a0cabe8629f8ed197f17814418d62e616cb10705e662d81775208aa7c272ce40b598c9a846c698532ac967d9aeb610e0033c2ea9d3185b3a549260c1a4a0ed56b10bb7da328c68c70ea058c821e29532bfe3031258d7c61b3ead7ffe4e1c4265dd6ad337e68ec7954c329c3285c80921fe067d072bc8e821dfb6e6d1a7d4354abbaf006eff47d9ab1325a4594d077c9ff20134383c4399e9d99c71b6a00f604d0b2c116cac0fbef037dea83ecc0a3168213b8d6b50a140a55d9d2be409989f7bf29bffdfbb6ee659fe1435438d48978b83529212d706a923d4f194c52c6fe54866fbaf0e8063bc9cdcb283ba9a1269d26010d155085d3fe82734de844a8873212ddf2f5369838aaec95fc7903b788190091c45d90393d929fdfb2eb83cd7300d5f89dfc605aca329a616650760eff74cbf697f6333acff478177c8c38264b4ff0a7f335f9beac0b47d3ae42b2d8be49c0cbb75eb4e39cb3",
+          "padding" : "3045301106096086480165030402022580050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "27c9de67db99c0490f34b5af2a0494c4888c8b02963fcf931be580faf9a01253c0da3bad70560f7b08eb3ad52989792fc0dcbe0d07ed0849f8a4bb424343997ae049a7552c3719e2f64d2c708df63ee1556b5b8c47b4109f5d534668a2e77b0437c673dae230b3b96129aaba91980f56daf496b2c64b4c11e890af9874e70c497ff2bda8bd70066423536a1044dd84f5d7f842bed546c03ec38fe20eddec53796ee8826de6db5e10dec144ea04893433b7c5387a413709676288b2219befd64bde0539ac32dcace2fff8dd5545c99ec4be8ebbd1e7520020c4c22107c39a13db2b5f692482456250b061d8d82943e0f73ccdb7728c26142540aaebdac04df32c65e6a823de3700d959ea54c5204951b9ba8908c18977b7f15bc89c9596d2eb5265ae1df05cdeca220f5d1b3936f5c346291e37a0b3c68d9867190f7484beb04c2c4c121f53fafbc567e88e99509fe11352cda2569001c8af02bd68b801e745711a3d7dc132e331b24398dbb08e1103a1a7d8b970227434eca6adb5400aa58305",
+          "padding" : "3045300d0609608648016503040202050024800430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "0fdc88f00e546f7cc63269cb15743bbfc025b9321c258df25e605a8a69a133a3a765bbeb6481de0bef05a39d071a425b0332fb06ffbc5724ffccdc3bb44e63e91752e96448f4eda2f3c5efb60a0d33602486aa34e6fb0fc92ea5d97b8840f93e688ab20f12f16b14071c0d87fbf83a5f10518ebb6da3b0a5041a6686f73a696ae6db2f1ac1321929497287aa281721f290d9d612e5d68b7ec5941f46802fa504bd810eeb3178081e0826b88177014a4f80df92a5b766d940c1ad9f3d0c79ed0587c0a97e59d0a3c2ee3cc573251c744f343638795c2181d9dce5b9c47fc1df0f784691d115639362aa49033b337aa2debc909f64dbf975a4a12f14ad52be2fdb4815b04cfbca6f47de56caca0ba3c4e7b211dfcece5a96570109b8a303786ae4b8d400a3fee11a05bc3de55256635d66cb314512331cd2c3d63a6ae7f9a0b1a9e5517265e8e536a6086c9270609afcb48459c75976063cadefe87e0bc02aa84473373ea4c369145631f510640f21c0a105e26216b06917820530100b59ca9c1f",
+          "padding" : "30803141300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "213fe8704eb681efd4bcb42bbede075c4f60f65a48eef3740abe24ca170115c0d7a653bef8d1f9be11d32623825b77aaea42595d97355b31e8a993452a16b3873e8ca426a45968d637ceaea264f3ccc2baa93bfda5745aaa03da3e2fbaa99b2b9460a413bc55d18365ceb29b3b0457bf272587c561f1ceee33cc44a968bcbb7a0ef2ef88f843d6a9414c0555c44fb4fc035f59dfd65be5ce81f5d532f817bca2294fd750ce47b656694241146ed5d82f3cadccaaaa6b0dfedf761519234f7c80bd9197a8ed4b209343fcf7765ec922637c7de6fabcd92cb2a0b4f8563f75c83fa0f6097e4794e377def3166976212a8b49fc021c0a66358e7a0c1f4158dc74247bc81ed4edd048af0c44538a9efb548010f612263f716dd6e0405cc1d1e3b9b18db849f5fd2f1c1386e687daa5b091b595861d81694af3cd62343a32ade113c935aaa57041ed137d7c677ce8ed2954eb3c55812e3a2b1948e1a435c46e0233c77d80813f23649ac1d904ea3c050252c5c62deeb462c6571efd5f08e041004197",
+          "padding" : "30453080310d0609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "012ce6406d457b7b55c0f77d140d4318abb425d13f285cb5f50f43690dd6a8afbf4b876a751fab263d0935d78f2dc01d885562050239d9cb849b497dc95a576810f930af1bcaf92ca6020de27d8cf4faf1e54dfb6a5ec666ae542a1583526b2d58c59bbbe042f3397d97021ed8fad1df1dcf7f6f9978a3f0645a02fef83edb42a7ec85beca2217c323a001e13d845332a272a5e00eed1a9b0ac29b45c5734e57c016c34e52b8695d32289b993581e4aa4c4254c6340b8311dbfd85486745c62394d929c15e990ae334175de99480ebc6b9e395842df806699ed326aab550ca47af93fa9133f4c4aba0d605e6f8ebc271f672b23c8934c15ae54d8e74a02e0be90e221dff74a9c17b3f013f8c0980b62747f120c046d69b3a43660f2a5798423e02b047795b07ed44f5d71e3bdddc2a1e7d7fec3d745b6a14092276d2253f92c48433f8f628e2cba8c626f3a4d7d51e4ff049d5e4fc3b27b8dfcfe75d38b95e5a88c2d7a0daf192688e5c0d97f795ca446f81496d29317b4dc5968548a106effe",
+          "padding" : "3045301126800709608648016503040202000005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "4f93bd8130c780bbc695c07e7c83c7131d4ad16cbb1efb1cfffff1c934dee9b2261ce189ee19bc0b94bd22ab01a21194512ca5ed4ad50f53fb6e577560889909fb5668bb70433466542b4509510d5f7c01b31f18e233aed157011643dadb205abcb5e82b79be7d66925c15b5a6fc0ea40145eebcb0a0fdb233a3f8d56a846cad59af29026aecb8dc7e36a5e7de648801921cb0b498fd76640494f396f07ef5d1ea8eaf3bc1ea6b92e5f92b931e7bd9fcbc9b46376f06f3bfa44fc12a5a1a62e23a2ef921638653074b8ce58845e18dbb5780e51a7eaaa14acf05e92f8c5b7b2e2a0f640db1662b0b4992171a5d69d0bc0dd9a2c8a317b268ec4672f2c6a46c4300be051b424fa904b3165cadeb5a443c54513f759a0530b04b955e81d6ddbc8a972e4e2d9092eed025a6d25226f0445e693ce9c5d21f9f53b411c07d68d6614cded03b8df580ec128fb600fc66760538c55a023b2f89f59d0f56c6e716a7289f268e2794527edadab8bf359e6c00bae5f8f0ff61712fa33afdb4bc0c964054c7",
+          "padding" : "3045301106096086480165030402022580040000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "1a19d23e9e200924e751b01b520ba6321b3f2301647ea667d1adfca563334038136d2779120cdb2301df3165c508c4a64c8407cc6792e0f3332d0b4ff4b1f9c905fdee8b0c0ab6f5fb4f67d3cca6cd90a0fa0d54071efb45f6ef1f155e232a2aa67cde2d7d392e05cc5d2fb49b6ce9d628722a16d2f5aed54e50ec01cbdb75cbf0c9923954ba1d3dfba1bcfe5428345321001ef0ca32d2cf70194a752c092c5d1095f90868ddc389c28938726e1a0000b4d1d8aba7b1ed78475c486f7e1e08cad2e5cda63f25ae05380902ed81ad172c01f01538b5e1e3aca49bf3abb7e3408736036ef14a2273edeba019c20fe5c6af066810debb8b76d98283e717b91caaa5db49917880518523e1ab7272afdcaa24ae4a03019bd4d9885fe1844079c7c55a44a2f06e40d87283a5677cec08f384c47e138edf434f1c52edde198230c3b64011de7482fa1f938ff6c4e1a66fbfbf13565e876ee1563a5862ffc13a1885e20bdc3ce6e34bf8331bfe17773f331b708dce7ed74d96fcf94dac411de53220951a",
+          "padding" : "3045300d0609608648016503040202050024800530f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "04f1bd2b132945662836f27a7236f15c357db02f39db46d902c1c9378a43f9a07c01e23304710d531aeb762070d80c64720801f86f5a2354d146d9b64927f95e541a530b5d20dcf94d6fea56a9646fc610741575cc87e68f43220566003baee8c6fe0ad8cb1bd1c3257d18c39ee05bce7f30750996486ec0069127e49f6aca963bab8892932607507059c444ad917e74ef7fb55c50d6e379b698bde71d116a5bb43f039edf944479122dd660d88187418db1c09c5ebd7e6e35ee78f32f863a19fdcd6245d6d3fbf9a13d9fca7593826715555030f67fbed499b400012852db9c1f4e12e0d88e781c114551d2261b016fd5c920c89ba83f76ae89f92f7693e2e25f625168ee4a153660373d2a29ce7d38139d1f6fb31a93aa4d887801fb44d4a2f586533844bb3abb5761e68f5922ba371d2d9c6db28d36dca63f549730ba90f19eabe8d4f57014af0b0063a340785ccbff6860d1794422ca6d83857f7f3c067d26b2d24a493bd3c13ef0970872941e6ae2c3ef79f4463087dd25a9baa57e3f03",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "279b3950ec796bfdd55acc8eb0d9c0ef9f209a61ac6c72a3adfc5c11264d84fdac10572e040cc7d694e50c73f8fa5e3ea6edd9b4d181fade7b5fcaf654947bf67ec5922e90f309597763a8901c3ac5ca4f474bf846d5f0887e4a069b6888f00b8ab10fd606c14d4e7f56e3184d171b8848d0c03f9cc0e33e05bbd1e0f40f15a750a802009192b9e3fdd72b1a242194e80110b5ad6f444c2022a5ca2afe8892a152c71cdecef6d33539913956c8ed85580b7bd077072bf0042f5a9ef6544781ad9d4ecdbe5c5d3220ae270826d355efcd13d4221dccb26bc458ccf8321fbc5b9997cd6dbe3b1d8712a262f9e8b15ecbcf1e2243ee3415a9eb7f6126bcf8f7c821b42f9e6a8dbcd7775fbe854b9bdc831f0b416ff0cdd9170774bf4b9b7c17002273fa72d9cae5144c348a86aec7583f81b222a1d8f17cd2e21f9aa4a29c7e8905330b63043594e62fa06f4c6708efa56ad5929eab8599505dc3daa2b55bc6a1b1ec25d6c5b01b277f98d6c7d65cd5450a68ae83ec79fcc519264eba6e69916103",
+          "padding" : "303405000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "960dda2c209de569a1740bd07a71e20476bf66eb192c6207f36a6188f4149da7d47624fb8ea0cc7eec4e9529a479f2822051551c9155670dcc3c8f889c2f3111373f562ac55131ad9e61dc4471ac96ec8f43184ada3112cb1f9e42cb734d85291b282b64c87bcdee549a3efbc79fbce13543b9b8da93883c4d997ec037ca10c5299225d8fc4e3d6e8f91015403d29ead6dab703635f7d82784f89ff5c55e873e5bc11c7579205c0ee6cd6b3cb644075c71738cb5ae2f19673c15f6d17163905df998d659492a40ebfc9b29583281705acf93eaec006f01feba6de073512af10428c2f0c53533129b37068004278503449dee77414d1c52f81f8c39b7100e86b51ca57d03566121885be87dea6b35c9dd5e165c3d10b59e3d5dce19b9c284df33a6431a87d844580b9c39d5c8c777f76ef36428ae34d019ad1b545b323c643e7c0f46529c241fb34ae7e116d62a194c18bd02c2a44229409a48cf8ef99da2bea86788d00360a3ddc3244995ef21cd7c32c6756a5d301f817c189dff3b9c47e351",
+          "padding" : "2e41300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "592b9218b580bf8a8d697769c588567157e106d59a8309fcc6efa858733e38bc3f45d6b762022c5463da73366f2f6cc333b6de44e807c2acb3c69dc3d1c739adea3fefa81ebdaa8a276a0d03f55416eb69ab32642434b55ef1854c183889d4f17c952c507308be7a8bc27af3333736b28842538e55a2cba66369a80fe12a8072ee99e398f2c3b23a4a161977c56c4947cf36d2067572373f85f0de625978700d9eef1fbdb6c79889bc2d90a5a97432da51cac57d69b142e8566584e914f74b74237f06e0b94ac00d76120818b0898800c182720bdbc11ef55e753276fbeb10a7dcff7f2115ef204a2ce606f093b924996a245f939ee2c971e02559eaba64191e25a0ff74e7a96a787c9b60021b02de75ed1ed3adcc9ea24c4ecf9ae0010a7d91db406c48992be7c6bd694e75fca42c58ed76d084e4574cd03f87cce4c399bfc0516abf7443842e53900f828ae660a527045c81da0b067a3507f74d6ff4b140ee992340d3db3eb2020f5af3ccf0455a1c54188b4edf55a14e678e7e12adf054a6",
+          "padding" : "2f41300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "82a8b93a19af90591e212559a93b99a591663f81c1d800d646db7b4a001bd569b06b05556057615629984b7f48009d955d84dfb9c0c4a7ae90c001310a0309b6f9d370add6ef038ef150cdfa6524043748d16d17866c9bd9b1eb58a70cebeb86a5a2ba7337dcbb88023becb7b526f82c5f6abfbc822c68ab0f049c54aee4c49fedcd03b10b4dc708b67ee70d476150c85f3af05f45170e9645cbbf3d5722612cb3424652a2f9ed1157ebae2ab627dc71dab539a5d3d4cfbbc7bcafbf71ac4535de96a47ea33553b76482f7bd7520f12dc9f5bc161759885a8ce244cdd01eddf328c518849c3cb5d8748dc4e9b9983b7c1fa4338c8097be273daae2b6fbd5c713930005bab58ab8c8527438ed21612f75e088bd97b5eadfaefc68a4f12a99165d7c6f61e4de6f3c22ddf84e50643ed41e99e5414c37a696c0a5fcefb3d8c03d9437402e5d6fb6b9631569dd2ced972a69e710b3b6e18419c9a4af401a242705f23d66cb61ea1e275eeaa2bf5700147142a0bf099d5ca426a7ea65399cd5bdf2a8",
+          "padding" : "3141300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "1423b1ab0964b6dd977c227648fcfc29a9c2f3c06909319b0629c6234ab9aa5cad3500b24a71405e7d8c299fa0f6d55aa709e321c712ad1eb6e32e7991f29be7dd116b0054ab4ccc29bac302b24e904c9a13a64dd95edde18edecc7fe60445595424b765cacd8d8071a01d45b6d38d5bd8321b14bcb2e9a3243815a9e6b23d24bb78c3bedf88b93af23c5b70d5ffd9d4e92578018196dc6447b1fea1a6752eb2dbe0d5b42313b7f5a3695078eb2ab251367eccb4ab64181621cadf7c92f8630a5d62500c306e2f9d213926bf75343179e2faaaadbd18c6c3e7856cbe4644337ef412b190819b33c1ec01e7ea371c0dbb03884436a45077b9e05f6d5dc260b9aae341d96820073dce8d02924c2395e0bb977f3245aa019650744f1fb16dff1986d43f99a27411013da06b425da98184ca8dd86b5ac83b8b1aaf71c0769722f1a1e8e49ee664271317c840fc8068eb5ecbffeed99199ec89a1c459aa923170b0dc0a9102a991859100a4cd3b9b7c73cf86303516379ef5221af13f3f1651b4d9a6",
+          "padding" : "3241300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "4c5409386930fa979633663e2e623dd687cfb608a3d2bd764df29540793ecc9362dbeedbf143bbdaea63ebb01ddedbba5c25c35bb55b74ce422a308f4ca7b76988eb781be4f9229bb4601800f99733098a1143e37de19fe0e4b6874c3c7e534ab1d62df42bd48bf6ce75c59400fc31c0d305c1217a3b225f0013bd46d34cba9982700fe7e1c1683c2177fa0f687b5f8d2a7283e122fb1aa0ee1bef057355a7aee117dda07ce79ea8604577473b64ad5e3ed093833fd0c7c496b67a2933edc5aaa550452bbee14d4f6c5c6e6f254faff6ab5bb96a06de99151936df691593c964d91ce1679fa3b55e26be7ea52993a25f67a4595c75c952174d1a6e79cf9f3e0625b7173481b840a8368a9bf45ea16a8f2320ae3b65dd6c654905cff5be15c390cdcad6c142e537f356ed6a5374a3e5b1d17f802f3dee2c1a9cd9230c72160ad5d9c376dfad8c5d39a52ebbbf5161b9cb1e70009a107fd214631c324148ec85ef6d438b98e3df7135ae1a7b052ab02c94a261af7155441751aef19bdd3c1c32ea",
+          "padding" : "ff41300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2aba17783c5e5ac85a1ecf3a76d74435aa6a686c2ceb34517452aa4436c7e961da24aac9e45d8c45ec7edde6e6ab05f1b5496c81ec5c0c47de5d3e490317381cc3619af4b6361c74ecfe9bf8ccb0a717cff26abfa5ec032ae46e6b358761b48993a90c56216c5b6ee91399e29bc1f5b605576f7420505b3beeb7c519a0cf5cb1e198b5de6d737093e12a826707ac009fa4585e777509f11d677f7bf069bebf0f0e555f47a1cd0baf36263bc1fc7e28dda83cbbb640573ea4b0762765180eb861ec6505317025895a89f1e1e4511ef8bcc46bf34974e083b251e2716ec298026cbaba3a2f392bc35b17c8415592c1f496844b20bc505ccdd3d4cbe2fdbc3730f3e54cff67653dc4318790208d825dc45394267e4ffc01f0e071615caae13349889b35e1a8d7dcb83b6402f69f9f1577b8687c2d4bea97240cee41b0b90349d19466fcf752032d395cca317380c6fe665595c4073951f1b0b42d8b50c91269bede7787c30b79e80cbe1740321a6abd8c0480394511e57a619ee80c132b7da6ce9a",
+          "padding" : "30412e0d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "960143a34171a7d6d303878c23aac9d7ccd8b9218a5d84edf0c0956c22d1263debdb5a08cf890e341836f94760135cce793b0b8fcf7c062ddb8661befee62cd790294e345efdffde7c26ddd9dc6d3a3adb0c6efecbfddd9e382c1d788ea9b00c5d2d0f8964c241657bd1c9f82fdf3e4b15452df6e2f7e46faeb34272573936934703dd1583efb419e6c03ff4f5d6ea1d7f1827528604729f1de24721900f3d3ec07237f4cde6846c12ce1b54a06624a3fc90254e3cf72ad26e8223159177376688d1e1e79f800b2f1de811b29c90cacbcbbae8421a34c74c4b0de29ab1e3b6f76e1188d700d8a55a490386073ad1b57898775442e53a78b1e4c9faeb9c15cfd0b735d97d459b11fd11916f6840c86a9eb446c3f4f1f41f62370a7eb9a1bbbfbc0e6098eedeaabb8bea2791a4aeba2443bde74a2bd10de0bbdcda4ffd062c2cd346376d33e540d1667f90b378ef663b5a84c927e3ee41b01aa2c133ca07cf43eccc33058cf4c0e2a66ae9129e14c57f01f254c40470dd6751304641730f9aa3d1",
+          "padding" : "30412f0d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "089a64c082a7db8c5768ca9daa426c446cb5015da417f98de000b4112e0b71a4641071759e96f1a0cf35d60d0c5e7a6190f288233acf9637c0dbf95da1b9a0fc9a6b7d602cb60e82fb03f67e8114d1d596ce637d78a33e176ddcd2a1376104b3dffe09abfd71acfdda66d590c1ef862f35afdb840efb79e8b976c5459a2d8b43cbed8262efd19d2e287a14bdfc5a28a221e94056eaf1b7e1ce382046723d08c4cb761f4ecab57ebe3e24ea1f8d099f67e5a3d57369520e2b1ba993ebe3bc0ec28e68b7d15694b5454953cb5aaf99c835a01a0c5307bb57fb95a2938c54fbc3e7f8ec687f049744fc5f9022e9a93f80f0be2eede75fb7a62d9440df8b5b803e94c9bda66d0a44d7c832fddfb41158128c001c37db31248d6dae5393599ac5297eb13f63ee10ca6e575294589f805c5eadfe16e5da1da78806016c11534ce510a8f7b76c0eb98bb87b90f5ad94e4a9b452e092d9491a0714fa02711fc7b6740d4d7fd49e51dfac1095d300736696d462bc0d796f6d0a837cd7e515e0c631781297",
+          "padding" : "3041310d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "519a4136764dd2a4d09b18e665b233a48a2aa306abb87fb5df1c6020e3cfe8cd85782b9244bbcd436a05eb9f1652fca28b1c8838625b978b6b22e1b86119ce80dec263bada9bd56dd9b7d7227b88511ad83042ba30f1be7159b157ec95b01531bbefbc6c392406ca6b6ea79480072443d921d71dd5e1d583cb86763efeede98d4a46eab1418c64ef929e37b410003bcfae882d66a6e97db80844747bc632cbcb0d38d2a6970b6272db4141cb8c8ebe3236e947848b276530cd76a56ae44279311ae2c0fac018e2b2d930c563068ab154e90f438899510b98d17a256b0411aec17352b137437176c7331b0b315a7eb764fbb7ccf7614b4185907d24063d1fdce8936c1a1ac13101ff7144280784b361eabbcc37f69252010c5c6310f70cde6e3ea89bcb4d7fd0e79018414e5fd3aa00f2c8e6e9febbbc4c02a0c6d794ba6f15038a66771cae6dc876add5dd2338b806d82a18d9ac1f6ae57c5b748ec3111fb56d6cd992b4c80e128434f8b8fc9025b2a21d062dcefa75566c242118b2b0619fce",
+          "padding" : "3041320d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "08e480b9d4324d10ea855e1a0b2a4446370a7a1f3d6565697f8c5b2a5ddb360deab67b0a5c75cf9dd491fb0ba6402b702afb22ff9c4f7daf26fa413323259e15f392393c24fbd2fb9f3008e64a775838d6ff66c68dbce260ee2d0b78b29a0da9d0d6d547193c88c6b04c6059223a68e35329e585911c5a2d7bd6fc4cd89945eede5e3be3f6fd54799e217e1708745634ad06cd103f24fb2cabd07a1d66545e0f641301d8503af94e4b176908254d1fac4cfbf6c227a518f13818e22ff7d5f12f03be7531ee3060f47377f2f0db528d69e6ba436d08a4c034fb23084cf71dd819ac199a4b159aba6a3f3f74733f5e9fdfa9f5af5b7746863ba70ff63a83dd4ad80573747b70173b32d67cfe3d6c44fd3b1071175c77c0353586760c8d6d7d0cd60cca68ca049ae1321d39735be3a71e7654841191bb8953ca6f6677a7a864520402e5ecadce5f0a20f615dfca01786b01e7e81a0a3987f4d1204a8b619867546b41069195f22a9fc0659543bc705ec08e011f5852852eb0a07c670b2b638c19a8",
+          "padding" : "3041ff0d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7c63c21d6e29a08a6f0edb1958f53b593a26124bcc2d57803bafd7a60404eed22efcda07a7bd8cba1946a488fd7078e807f68d2cf780b5c96ac7fe65c3e975b9274bb9bc1a79205d84d9cc96edad9641a58861efc058d425e07810b721c3106d055084f0711f2fdee8d1b18a8692d13583e502f74b65c909917b4684e4cc6a633e635b24c8be249716f8b86570b5ddeeb98e872c5403917b0ee18d27455ff0c5206bca624ca4b610294cbfdb438279929c4761df942f73dc1d544a7ed8bc2df10ca44d0c7802e3249127a086a209b2c5cc10bccf52a447feb24cb37c4bb332bb414e62e1acc0ba043e160bde9d8e3ad8167d89d1dceed4156fc0c0093f06f4c7f782a78f58328b2f86e8e04ffa94f9fcd90757fca13782bd08a6d3cde56476cd3ca431169534fd855fd9553455385abbd5559a47c1e4c86acf455ca21756a4a5310fef5e2cceff9fd637c0f03bf409788073285c8c0f56acd4f1635b0e21b84e32ba7abf95d3296d52bcbaee4ef4a43437227ebc694d462ca06eb886e7251893",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "03ed6a107120a2655098e12efaf80bbabb69ecb43632a42fbabe0bfc44d1f0f35b7058da628909fd2427781e470eb1b14c94355fda9bf5bfb47671706a41e5174c6547a266e7741f1ab9618035f3ca8f5e1af4abe191c0b62b47d09cbbfb25a1bfff54dc369096d3602cac21cf42fe206dddf762798621ce14c855b3b2f74f38b2e6801e20ed5b53ee90eadd6f9efc6a087265ce9065a6f525e4508a70322752409a0e5ddac1ccc105150b92e011b832f6c8de408ef1957c1d9621961dd01b4a425ae7244cfc6ed611966d10fff9d2598494bee39ac7020f45785a64be36094af7f26fc93d8ab3f79a83f1cf5ec0e3e9725d2c1059414af44917e19e33416e1d04a4934cb812530d2a0153b33ae02babe12f99599c52dc50801289469a5cd0b3467b988b39a7f43ee9c3ad5f903faae1ee387f7ea9482842780c61503ce50dc72e20300597d759b7c785cda11a45508b51e661efddd4b08af26854a293150085ebc954ce7f5e32e979fbb6ff9d18c38ff6d8287636e9b7268f7ae6bb36fe9514",
+          "padding" : "303430000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "09a748174eac93823247630e59fb5a50bfe1730cb49795ab6ea39b603332419b499f2b75415c45e70464213998ef403ffe533adc65f78aa37399fb81178e56653e973f4e317e2359e6c48c90c173bbdaee564268b45eb62554e8e4bf60bef2da4e261bc1948c7da9249cf97206ab23496b5857a8b0bb09896e16c7f8f5c3d620a2bc455fa5bf600ca5bf76241a512fc3b61148d62054fbdb897035e20aa320890b57dc852fcf8e31ce6e191851c7b11ed692215eb9ce8a508033ea2b7ce08be48e28c29dceb69fbb4a2a2320cbfb914c98edc3a2c1df94cb631ede7ef6ecce1173951e1b962d3f1dfd736cb7af994c7e7856439c9efee52f791b0a49058de7fbc67b630be2341030c88046802434e2a0fcb2e2ac70d5cdbe033eef49dcb872cb839a5696e60e438b718ddf2b79b1fbb4973c35595430567426aef7a641e876d08abf61b3b9535c9c0356492b4aa27adb21364071ebf8ec5cd0dd34e46a9283e997bab627b817e84bf52b09ac08eedf20383f238a573b39ca94b42d31b0a6222a",
+          "padding" : "304530013030400d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "6e702dd62b88ab9265d4ddd71b091eea6a2825d9a64023676488c1e6f467ee9a8893063612cd38da889520941a59f3cd7133b7cb31cc410dbd109566995bbc5146f648f7a014b641d20629ae8d8c75ca4342fd12f374247cc46e154faadbd593d8f9e404adebf925b1c9b0e7f20c01a91908b835cdc2d455d82cde8bbc6cccb0ef311d76dee3c1e832d8a59efbe0367540fbf2fa21cbee2cf345fdf8b9782947436ef7d5285647b1c8c57909d3511cdfde07723eb666599cbda596b08b6164272c8ac4711238615edd19f9dea06a87467d3b8fe2f87f45e8a3a1e5d0d3e15fe0c1802754064debb772e539bb9528f4cdef77e75faebcc6938964cf45d32c7e24d9c9b699b9d927744b2e4324462c38c09ee70a587a8c26fa7fe287f2a8f552aeb5b71836c2e92b6f0cf1ae21178234b8a25ee23c65384eb332d6113a9d48fab1073162806c5671b9f2783f913bc85aad9b3a08ad960a4817e1b4c4e7c63c344b22f6db60e05c3f2c2c025561723be9f9ae007c3e8a1d6c22b0b3957af4c942ad",
+          "padding" : "30453011300106300c0960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "28d3b6aca52dac1cb97ac1893cc5940b8fad22ab50918c78500436546a1cdea65e9000aee44fddb0ac6925421de0209711a51c9c8802636f990adcd17cb1f0889a5cb09ceea430547e8a32679f97dc644874543bb45da2ce442eccdc7f73bff6b8f09d51906e2ec1eaa16c17383ca65f43a76d054f1ee65a1629b7f9d5fdc44c71671bf10ae75a22d7ba9a11acbeda960a47e5732ad838197100fb89e782940f0ebead4bf9b10b7a5d48811a3a8330363e863bc3b56f6e54b70f0fac33a88348c5c49c9359519622d6c79eb1a6433bd68a624b1757a9dca7c7be1bfacdef1f38936f2a35486cf7cee85d801089d6daffa572c25b4f5a70378970a8e4fb48840c74c1be3cbac84798bf9281e29b93a631f23742b93261c96913479598bafede637ff5f4a7761a28c70ef860a4b33abe7fdeb49e9efa9fa9dfb17702be1661789decb6e30a989e00bc6f42a901d1a4345c47ab87d8168e6cfcfb339739f7105de5f68bf011fee5c90f5fca7b2b163ac77e34995d309715e70bcd35ea557a843e27",
+          "padding" : "3040300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8dea",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "07ea7ef7fb61a021c1b5c26a1ebeb8d8fc943b4a2e91d0cbd9b023e8a786e2d521ddd43dd4e75bbf9583213405db98bc3d7aa6b1f0baea1b13f18aaa769ca4234d35fedec6b4017db591f27b9e996c21d7d510d81e3331cb76b320a1338ed2d740e2802fd4a3159e1a47eb0f2e82c442c9f138a630b507f14c277d83df4818054ec8adcfaf170adbfd560d69bb88fb9f7de2a294efb61ae18bb8159ece5da31a4d9a6094cb956d1d9e85ab13755f4e95a9a8dbe9130fe5eafe0f5832cd82b972f2f0f65c60e72e5df412b3f9280cadfd11ecbc28bb1e6655f1c12decba70cd75d90cb1ae494b416c5ad6bc83d0f9eeccd7a0a9686c28e903883e7fd1bcbe4e9dbe3ce1a3226d71dd6df459f72e8415697cb16fc3d2ffff38376a8b1b07397d2e6e2ff65ed7b2b0009faa20a5b425157c847481de2593366d7b7bded304d133fc59a7887513cf5067c1e9713366a533b2ee72324589c46ef9a05d08ca8055c47f0c12c541a854e0dddea4171e6f1f08d091fd681cf90df86c7bdea044013f0485",
+          "padding" : "30400d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "22d60fa58e7b904fc1a8e3dd73855a727153e58a798c0b566c1b72d23a4ffa29363472557b01ebdca870189c024af76aa9560f538bb32e2e76909607e23bf9450912d0cae66cd4c2b168f28b479a5a4606710ee8067462c396773b18f0e1568341728120b718ec8677902b556c89b33690252684684aec96a12e5f9beba0f8fa10fd7809c6940ba7389f152ef6cb39160157fba99acbd5e80e48e54bb5e7b7134dbceec62d73d8d1b3dd0c0a27555d49f622bbe157e3e731ff4628a988ec060271184cf8d4407f95dc5839a55297521694bfe8978cac511d4fabfb9072a79b205bfbaf3cbd1e18c1b877b2ee9dd89d126072bc1e63579d17780d8551dc463ed9ac655b849ed9630ad18cb40e54fc60e56417fa0a89ade99169571c9859dc801139b395b62fdf49ed4748c6b2e21e129c9a5bbf346fc46ff408dd7e10f7ad1abc7f374635e292994de9f3094167d34a1d104f4459b7f48cd05b7e150ad7e3bd69a7e619bb081763a4fb6f284c3d330c4df63d42e0dbf2856044ae1c17ad4e8112",
+          "padding" : "3040300c0609608648016503040202050430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "48dc5549c7d0d689396d966a08e69dd6a9ae38b32f6c726ffad684953204b9f74eb843a7abd788ca7e95acabf44e0b00e1dcfd77919c3de38a77b8f2947461a29e7038290473a95913cdf57c7bf4de826289850281433aab7c8754eeea7e0ae6152b58792d02a8b762550d2c7433d2542e4356f5b8a8db524f9a044e0261c1d2c08387b6257daa1d9974bd7cdf46eabc6eb8168a535e590fa5df0998436c08d6574bf7611443dd9d4aa48c038ad1847e9e661fada41b6a52a95264ec82bd0e497b3ff28fb2e401e7a03cb1ec823cc3ee4efceb31c09ea2dca2d20518cb8af93524ee83a6ec4090685c974f61110eadfaf4943de93ed0eda4d513cfb91f3bad5bc54a4a15742b3b5c06da7a73d43dd9eef9d4df4c2022fc62b1d93b285efbc2a823d3e15ca90ff6b00540d878143ce06f51c996d628e7a5ec185de7c5d37a9ed30a5daa7bda64057174bd1a415aa9c6800b82ed5c0892f174422c51e8592bfdb2f3ba51056012345e92e6319604ded5488636dfcea8139ad8411b13ff5bb89580",
+          "padding" : "3040300c0960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "9cc09df45e13b4d33ee31c545026be5f9a63d393a9b43da7f42722eabd1ca783cadc21e3bc1f7e9e8f70c3bb8ec4e2fefa82db9cfdc106eeb41f49207d6654ac374b07301604abfc28066fb524c97b24e64c2f62ec98307588e4de3b239130123d3f8d0a71582b123612b100be12393d878658e8e122161b1f4848ff2d3cad68edde6406fec0a60f5327120a6d9a4a13746542642d6f918a99892565b7c4ff10b2b7f2344a4506648b5ed8f0dd1ff31687ab535ea991e55f5321f376fb93925f8a0e155092427ad5eff03efb1a712e347f0afb7df9446409d443a839d5d28713cb4064c9c4ff527587d730be3f989c66084ab7270e46e38e4fd2f26686b0f9eb222391a25bb702022d3bb7d7452451efde5b8d1053662015ccbaf80afa51f075ed9fb3ad5ec4ad3ff19a976585e82d55dddf8b1989d44c21d73f1b19e6f259fcbe81807a115690bee1c6a50ae16521358d2ef8c1fbb9b9bc989ed64d9e19e7ac4de2124e3d8efaf09d70a6dfea102c7654924fb6ed944b447c65d81e4d8bbe45",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "60a14686f2e72eb198741efebb65831d2f3b7a51dffda9b39a9dcafbaf496a483e8136c20fb5cf3b9da4d71b256061cf3abf680a2e904bc40916edef0ecfc2bf6f50ab2fc9667cf307b9f236006f2983019c16c25711106ec766217745852f76b5178ea8d0c7c04550a97f38ec0feb9e43193a83c9ef3024d2b86a86142fa0f4c05449f24ce673bfc11d5e36d4d843bbaf0e36a322efadcea13a0081a8a4144ec9dcad0a90aa17cbb9c772957ab950176d1b320dd0651d3450bf3df68b6a39fa0c856109f9d42b058e0a222593e375669cabe963f1daed0fdb449d7b8bcbc2c4c70af474e6486a19ead5e8c3af3dffa613aece85d8e9ffc7e11146aef075ce0001a018f9e7859b3b9d0d5e8a77e229b892f008bba10ad0dddae63952845c0b6a4a1a296ca9e6d99605c923c5d96cd8f8976d2e3e340b637849f22013c99d5e866434189e9117031df332e853fb86174ea30380aecb8c6a11451273f19a352461393b9e941ccff8d4a080d068941984024e3f85c9656769b4d206bbd2f75dd325",
+          "padding" : "304330800609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "78d137671fb0c788b1401f11e26055c2b5672891c513713e53d17d1633235437e6205c0a42c40f78d37d940119ab028d0a67e1e61b83c97d41514c943b12c4d9f09797949c3f910e49b4a47a2d0f08996ee581233b30041dd88e599267e4f0da21303a6d0593bf7552e0288974bb198fa84d93b5c38e4ea6450b8d070e3153808ab6aa750fd02c359df30f9cf413ea59246a7e79ac78d8f89ae831b635dad8601344892cf194e6251ef72ffc813646016c25ee0d510dbae75b6a84df12879495a78a29d910e81c59b57c66e055d44720e6adf0e40324c930297ccd6a09a3c05423342c23008370826e9f55b3df4aa2f0f2aa6205d7dfe69c6b6bb70235fabb82651fee69d6b47da6bfd5b47bd4ef8fa475fd8f2202f0a5399b9441eade3a01292754e5b1b2ee88ccdb5b4c735df37632d3cadd6aced32c9657d2c5af50a605a04d4315aba0f7f55b361ac82548b51dd1103e6f9eb423489dbea07ba46ebd27773ef32317e6df26ad95be3e200f4d55e1b7a1c78939b3936053a94f56368e606d",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "390a771c1be9f6d6f4a2682209f9dfe2f565cc191484ff3a178e32272db6863681311a7b406472bb476c1beb597c8f0e9921aa45cd4a8a01e2143ee86a32f71acc84cfc213a1757acd21d81862115400c5cd1408ba65a4f126734efa77be071404a611ed75f08ae28045e014c02c2c79c59c736fca3ec865943d46ec2a6148be8924e4942b79c68e408c60b57c0aaadb234d2bb6eae34f57257a426bdc5aa665230eec4c9aea2af275f0ba15f76655dfbe4e915191c8b804b392f5a9d04efb1a3f4c870850d65244dc9e431249aa906d206f1497b0a1d6deb4d691b61ab9a1e61f72a924cefcd0f6fb566f77a69067b1f6baaf23d1d7ec7c134b9959bf78ff79eb750be286a3f03b769c199ad49e769e913db72317f12f12aa340265060218f0cb28de4be5550dc56151a628061f50599094ea68177d5a9d5a97ccb3a69c53fe5ea36af5974c57dc95b6ef3b067c204eb98249e6a213300e3f28ff7eafa1a1a61ab95bca729d17f849d1fd2857ed00777f7cac3b05ff98e7e75fdcb3a13ace16",
+          "padding" : "3042308006096086480165030402020500000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "7fc48d42f239de51b276d1aca92ff54dfe57a3948992f676c2036df0aac90df4f25e47c713c552f104839452b5c38a0529fdc2b21dcacca0470c82c7a42c80837e293ce4afd3c1ec3e086b961db8209d073c7851eb1345d6f6f372dd358795f0c02761a26df1d0a84901a8ca63e1a705e841a81e849032f8fefb0e3943c45b08e4789841f9e39737f86b9ed88339864da9922e05202cc1f73fc321aa317ad027ad5533fe586b46f92b56e7a32daeed3bd5e56765750c7ff84459c0c0d5fb1d17f0a0b9782b203b5519aad78a872a80bd7b0aefbbcb8b8d1c5e93e7f28506caa8267a575f064f4e6d4df3965760829266d225e1343552fa657850871afef79d2fb25bbad1c84a47a62e2be3d5826a49ab476f386785642ad1186894cc542fb91308a64d1000678a9864578398f02b84ed1f0027c4ee28a5ca5fc97d5e2b27107f6d3a9a68e6d5eebaf6194d22edbbde652b496fc4fdcd65bbc10c292df7c3e8a1df8c6ccb2f70b4e679a820dd250692926adfbff5d127f29a0465bd8c8719a7ae",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace05000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "1950963873afaef51578241b79a6035b4b5b51d950c550aa00957e8eff6ec72e8e7c5c9439eb531f2f050c3e3638e946bc7231b10ea14e47bff11247bb83d984c56d9aee11ffb0772ca915cf80b9e6f5d7768fca787e5051c315007de4cf8c0b697a44a955de4f56999861a3d8a01c897d212ef32c7f79fd986f8ed09955617a3f5bdcc0ae016a414cee5a4df402965e9cd46884449237ddd304e90f7c6856d48ca7c7c9d1a0cf4d2f21ccddba6e7153ddf65de5230a0b21562a9569bd643fb926f14f0d26a8e14ac3df3a2051711307b7dd260e54d1f89c26b02f0f1cd378a09b2116d308979c997e42fbde1facbeb69f0c788e39d09b8f8797bb65f9f2a4c73dd95d028059bbb6807fe7f1a710b453ed16bfd9548fca623fe650da8a701c92579e4a82361b42ed3a22c60276547c7843813f99848dc60aa3178f4c01f8763b0b5d3dd6843213b5dcfaf73a64c5628a3553eaa1f955ee97b8e7a837d69413de9f61f89c2b8efe6b9b6c7fef421a249f4a8be71c2a9cf900e21219080b2651c5",
+          "padding" : "3045308006096086480165030402020500050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "7795eee4bdd138a4baeb5159c60b56caf396313af6a46ba5375b8dbb88e8bf37935185de5c8ea773b6ab2f6f7872538b6b0ddf35ddaa06afe519ca5c8110985c710b8e8ae876753bc9653764a810bebd29524c362844f106e3489722756af1164fd8cdd96069139a779aab6ae283a95a17da7c79aa43ac43e2512f9eeea845b99f4d284b46aea6596e43f3dc3d1581d9f9943eab06c2ad8aa506ba1c778a1128a1adfcb97372647bae1cf12357fe0e44c307e97374d2167bc864def4ec7a24d35fdb4542c6f3d330c2a630a6f300a1e571cdc4eb76b13e0c5de6b06e2099dadc5f5e8a23958492634cc1cdad8b52629415d779d60b76299e45223a40728f375382492ca0abf45ab23b5fd9f5a45c5e71e1380b47ba32a60b0ab7568c651e6e997e7e8ad401510d30bb32427f9a2a43ce9f58fd1687d86c171910aeab8be986999ab7391e854e2f6e8a815def90eec3bcd2d800deaa63c6dff88aa52c1da9698fd8f1b16a705f4b3de7dd0b228eff75c5f48d3408170d39626c7e9d3ebe437bc0",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "23887a22776bba317c2488243d77916cf706275e3b8ecbba526c0164a11e7b5369b491bbd8e4b413567289c386b922fc111f149c5c1168d49e1255e8d18f28b173acf1b0f0ade32801d0c95627ebf063626bfcbe3ec117c40331ed2757a2cb2b6cf99e0059260cb97627203b7e69dffcfad099ef43728f6311240aa1edd5d4055108098108a23d3c4ae74ae3b6bffc4f97aaa50a41a3d5b22ebe767fe0e1749a3cdbe3ff40e982d9d34878160102afc14a10a3921dea6b89dd813dfd6802f26eb76f223186fc3454b599b2f4528d676efd18b7b28e25b5d9040fb8ef0af2c36491478b10bca1a16741e6276fe2482e63e3b5df6a38a774cf0e2469a5f3d6c63f3a68b562bd63c791a711e1d9379cc919ddf8590310b04a99d8af9508f0a66738fe2d0519ce2a58bdce05e8691afb095c4c60bbe0ff18f2c732e91190b3dbcbd54c5337b12144d98aa918b463c3b3a961121218b70cd032272b0bbb1c545bf7a7b9feaa6eb77d179c13541860a9c78bb7d763227f5a14533fa8434c63e5e05caa",
+          "padding" : "30473080060960864801650304020205000608112200000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "01d1a157da33355d97b6f363f2cea4f98b31ec1adfc2d4523b40d8fa293f2ed93ea5784a6d133a4d88584ee57d2510162fa16c069961ea904b32446fc1a46692657e0fdc2ee070195ac398359ffd9d338c40d727524176714f550d95f0e6e988a9bb8460d569eafa252ea35c398feb120cb068c9c8b9ce892110a1a4672bdfe4166bbafe667200f5de03493e74e8960b9afa800fe5b3b1a3b8ec857be750d7aac89ca95c03744d3e67ea599e08cae7facfff1eb316d0ed2664c1f15c3559f3a7000eaf89c9d12ab2c4cd212be64a86e80ccab6b23c4ecf2eff3efb84d84bc20bb371717bf1ba83bdd4346c332212f31e82c9f9d89b7b5d44f3628504614fa0b78ed4db11e3fac5041521e8e9e4da9f4a768843e1dafe6e4669f2f6539e947efe24de701c425e1a63f6aafdea19df24c37c23abb2089c0a499a9ddc2f16e4e92de19831db2988b1e53b711bcfbdb3519352a7bf3dd556735f83ef9f438c7d92fc2a561354b19cd028c9b9e92ae420372c4676b7d681a4a1ceadfc11444dbfbba0",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "0ff8a7a6f38dc29d0ab58605dc1172c32e052e26957b7d3532f7087352b21ae4917824218d79d7c2efefd18284d82b8ae18974949c627cd5d7f75870ff94ecc4b4746b23d8499807286d20fd53215fb33deaa2367d818514744c3aaa877365d23aaac52890a6a14b2737f906997d5bea4ad2c0e6ffe95f28494760dfbe0d21e392a357fac9ba126af9dc1b079757aeadad0631738ac38734064d22ef3f52126f666c10ed05d2b5db78f6725f5de1a7f357437f3208ef4f8426c2824309a6e0e7e82a264da5782151646e711e4968886c4662f87c357bb9311155dc2ccba00642c862120de0c79024a2855dfd97509b15159a2e4eec467b7ac2778fc35d2e941cf3c5d46a931c23752fa69344b6ecf183693806b85f48992e7d1f208be3119a37dc9eecf131fac71f9e55b6a5f5a21d62a7c2422e11b2c5002ef953a6f34e1c1391162e50099865fb24b6297ed528cfe1949999e48b28d0e927f03ac8c256f9711aadfd0d97e98acd12e9c7a2331ff060128a93508d13b019b1219df4f2cf5465",
+          "padding" : "30473080060960864801650304020205000000fe02beef0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "404a71bbc91ced5b6079d94ca7a0e4c601c3b12c7c1e89c0bce718ab0899cd25a1c3399858480cdd0774a1d24ab72141f5072f6fc85202ea6c45fdedb196133560ec9de18964e0e16cc49959c290b69e5b80f7d0cea34075ab24220f12a324fab92ede089f645cf4c30c18275c3d5224af53e3703ff7b6a8413aaeb41a1e39e29d41986698a7aa7793a40f3f7f389e33860c7d97fd1f158a8a0effc48d08ca9d8c54fd4ec80d4a210e2eb5d09c9afae6fb5788cab46c8251e42285879a872f1b48b847172234e79120047ead865abaf31682c1a2d104f40a2cbcb329404f9502ed7e9f9ba7e1eda6b94a36a8b28ffd4a2b8730b86f9013b5369063615671a58ec601bcc9703f3df6d0427522aff488e57d23a90daf79b894babee8a73e2c18b55a3d5c8bb16ae47eccedf1aef80dc1b84dd9c25c2af6bd39dabd0ddf396c44c22cb15641dd9cc409b1538d6728111b2101f99647e69b9228f522aad40e3f9812f9cc4f506beb5b666242466dda4e7e8e90a4c9d1394df23b93e74eca2393a42a",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "64f873578fbdfb0543e7412d585ec60f95919216529d93ce7a16afcdfa577bd2f1aa6eb660a5f2ab3b79827de197177a461e6afcc444909d955f30e6524e4fa5c9a5962c7a824a8938543c397c2556471f6c0a030fb79f0cf147ee29532aaad54c67aeeaa8e6db4bdaa869711fe9f02143f9b8532c99e58c3a6629c5e17b9ae02b18695fb1c4c9e61cfac678c75fa27a744a8126e86e0d1d420c3a125f3a705bfe6a7bff256747bcf047cab3842cda6efba927a687d7d9641b2e8cd53404b8510b273717dc3466476888337c37c427f977db09848b8d1faaaa7c163b8ff4608ff90e8d8676703ebba1cefca44c25c732654ea6d45ec0cc58bd00214a217c055aeac7f2dcef5dcadb314454a2e1e5724a1d7621f07c2a77b08d540b74e363244d879bcc1584d0b179ae1144c1e3d8f9769230b936bda8d38be450a223a19d780ec93f5fe678e8d9e6d1d81a4920320f8733b37cdd04766c1adab1feff63136578ac1053adbaa1aaeffd2559d0269e7dc01adff4eb8d8c9902bc42549ad7675f14",
+          "padding" : "30453080060960864801650304020205000002beef0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "00f67052a70789e75039f18cc6aaaf9b1db8f77e5c2e1c496d2274b5c1d5ca097ff6bf9ec8d8ae5bba13bf2c12098afca25bcf2c26eb5716ece3286c6a7d64f56a473e3116c4e6885fef7ed2685760fc8864613b635fad956b65100bed60477575e5e7bba50bc26e623f4370068870843da5925f7f123403d38d4cb30457e14c3eed2a0268bb9b97d377fa2e47fd5238ac643cf22793b3fce62da501fc0c287e5ae960b78f7acae20ce81866b9b703f85d2c9ae2057cdd2077959356e51903a03fe2757eecf47acd33ac4992522ddda22c8de751ae373a5970a466d8c80c68d435856cac74d2a85c6c0f8474f6a1b89139e15ed9ec8689b1cbe4b97f7eb9ad978d4992bb38e2ba57fa4890166ab792cece41284f97cbd6e892b32d49ed63b0fbab25670c27399627911751427faa6e5a0a475adbc01192be2fe2eb2d323d25ea5210256247f8186db87314bd484dfaeced367256d0807f8e981caf86d42b3bb13639598001d0e57baebf222fccbc5ecebf35bba31238991ac68edeb4e70681f0",
+          "padding" : "30433000300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "42bf86f17a82ea6cab7eb84215779691819019ed827c485faa11855947183a49f52fb0f6c591de616d2ec5de5480a8017fb1bc3f785ec5e5648c5db9101b087a31b3fd7d3155aad77b69ae3dcfcdd6e32031f670143436bff324566f727a9408bab195a0ab61e79e884dc2fa66b00da52c0c683f1e9fb16016439f6e90c7c3efed53dce7eee9dbf05287c92b23d3d970b745a34b801dfdf9e846da2b4afc086c58daf3eb1132833a9799216da6ce730b94ad7e01ebeeee17794e295f9ade0a7ed8b1b597023e95d67e238e978eff2940c0829e7cf0c1ea885b17803b3730c226b97ea1ab161e862c0183789a729c31232b596afcd9b192d69a429ed2371fddf2bcad11973bd27b2f6cf355f8beb3dca268852930e7c8b194bc999b92ec059e7122bf05b849c0647c399daedaf79998881da3b86a3a5ec08d7ec47ad37012d1a87e6aa4477009ef91176aa61f73dcc040e1063b2003fa2b84635e6b4a206ba4721d0b7882a1a3e360de362f1b01db6afec1cd01424013f66faf2c503eb84b3929",
+          "padding" : "3043300f3000060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "8bacaebd990eccd128ea06c8e135e50d3f9b00c4b31a58f960458c9256031c832c501cda67ae4f1aad98cb1103d145caad9121113a1a365ac19f4135341763155cb448bed3cbc3185fc8ca63d2bc8b6f0784b37a6df4486bed7978b490fe36aa4d72738e3337e4827806c5970ffc4313966e5246e05804951868fa45d4d417438fd8ea8cb57f4a75717a3012900b19f261d8aad8d48b1e4132604a3273e17fe3bfca080083509b90315013d677e2932e029ba89e9a8e2c3be96dde760f9d3ed422c11bf8d6c9f5c4aac79ca910c0f06a0b0d757f6233ea821c1e2c123c82d32e9638dc6c84cb85dc94ca83026af301d0390d1d3186422ed8a544b675b5267369e4a276743fb88d926b9ccade5ab4d31a7ecfa23fb271f47e14ffeb795fe65adbabd7bcb9fd606003bb8b0cc818162937b36eebe1da0685907cec64e6ea0cb71e01001bb99d19dd205bb264199ad87a07ec20912770c0b6107ee73b094607d31558c5b1c31a1a8c79d22e5c77ae34da98e2a14d3365b7eee4d7789781c8515797",
+          "padding" : "3043300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "62aa9127d8f3d53285814d9b3e66fe3f75644ad1ca071a6a895ecd148d7fb7df9605ad182fbbced4f9e078563f909398b4324d4d192d2f7abb828445aed783d4c9c76a82ead7fedf109310a6d65852aaeeff87e66303354478085474f60873f0c677b1ad9138dee0de2589235a121b6bbefd6b7d8ebd3d296c2ca091c3445b346ac39f52addf12489955fc4ff0ad218f5f5db5ab808587fc42bbb2052f9782001f828b8294ba1ebf4c6a67ebaaebeef386b56e23555df9231cc22b5a49ecdee35649714040715387f1313b7d8e2ce6e60d20b4aa394d180ea7dc1c70a71e738ce06048ed9f1f6ea1c262c3f77f613968bd86490bc91c43f7e9302a2c9c3f934de2f368d516d0693910b420a9f32689852cb6a3184fe815ed00048e2ca87cf9b4ee53c178cff7bf3398dcd444136a55b6753e0af951cc8e7c53712dd9814d67ed1ef1828b3d827eaf53da05529bdd2d0d24dc1ad64be7bd689f3aeaedfe31a8ef74c46453953b1f1f3466020dff6c690d3e06d5ed9f51c3f28fd3239d1634b93d",
+          "padding" : "3043300f0609608648016503040202050030000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "772227d41321eda0b8e0625f87cb555befb7a6969df63d03924108c5bd89974bff3c69d8dc963f315f6911cc49d76b2f575bc15ccd6682929661b659b2436b3945d158f2a95721ec1eb8ea4038f5af4cf85266a987b77d318b6c1631999574bfcbc28280dc0b656b33467eeddf75c57129657ee5b77d671118d4b57a55c468bcd91a0f71799433beb7afb8558ac0e70ff91ed48564d93aa55ac79b35c468af57cb64ddd62a4ad56c29f74bbe829b586ccb9bf1b0ac56fb9761b278d1546d2d9d8c8c54822f71ca47929ef6d988895527f6a364bfbd0587f24b8bd1790fdca3eff36339979165a5948ef17125ac8e8d3f3e2aab868013569b57417a53303d5acffbd11e65e5638fc4f9d9b23c16779e82ab38c353ab282eb8035fd1712e15f9f441be8773251e53629fbe9a4d8eaba7607b0d4263df29e425b47345ddbab4da5cd6b66a616729c967c6f28a29e8a8057d7c2bec54d854c8935437ba2205c8a615501d0938a18d10f3ad9ae3f298840eaf87b41e42ad811eb8ba48d915962ff5ee",
+          "padding" : "30433041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "2ceafd49de62fcfd29d10308a37e84e7b88d990ddfd5787d4d4d945c4309febac385a13c285555161bc14f83ff5ff326da0b6d6278bda7bda7bcb7acd7178f8d71e0c297eb3c98e80b97ec6eea564cf64933ea75d3458fcc4d8cd56254d91efed6152953beff778032ef384925b1e45c91ab30ab6adc979e9ad02c01b1eadfc96311b4ce98745b0576e90f5cf471cf9c75cf3473ddcb0a674d0b3d03787e8446ff1702c4fa588520738cdc48fbce72cd7867ad1ff5a35615b51dd5d42cea9f721cbb12d887f1ed58ae5d3269d781f764e51c1bcd93da5ab32369afad9f6b67218f9bf8dbc0fc1374e67ec360b183594740b63d29d86340d2187c2291d280d3509ef7ccd3b2cbfd45ff6a5f67bf1f92135be0f4b7cc29400cade412e1522d81a138d5e27619993865f8c3d73fc24bc2eb7147a7906b25d8965a4480c4bb46b4c7df348fd0d83119b599619a7c4fd985aaaa1040641679a8ae69aaa2a3a315557595806de350f33dc169ff2905c1b432de34443ccfc3809ff5ec7462ac0fb2a5f2",
+          "padding" : "3043300f300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "4fc3980f88d8da1814ded92a3f4a4bd66e524e2c6dd98d80b2ae56b59b0006a332c0ebef85b7632b63ec85528aeccee7cf09016ec2465c00cf012c324d21db80be0839b87f631c051d7d152e251f6203c5e937b8f756176f2356f13e947e47619548751c4ebb96b6532f22510ee1ebf946851cd20c098504429dd7ee7472d7ad9b93d9ba415e7547773608834848bf4f80fefdfa233a95fa9a535bde32dbee28a0ce38650bf022bbdcaba39c436d7f7e2d1bc74079fca8dfb9c3affb7f58faf90837aa8d770382f270e815764b52a2eb3f9c2c315e290007df5e881b041b4bee65b6ddc7c549948734ac8e1a8d27f205a30c68b0eb36b63aaee373e0e4fe303d37988cc179ae169552af975d69cc663d82e1159fdd8b1aa14efa3cf465421401d301fec71def2fa1b1c185bb6e9217267b34dc2e13b21a5ed68640e6981820f349b7d35816a2eeaeb5881d12300e0022a15477de159ac9015012bacefe4bc1749fd96d1fb1bd2273f86e6a733688632ccee551ec71cd68f7f204554ca48d345b",
+          "padding" : "300f300d06096086480165030402020500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "9e9547adfb919109a3a7291bb041f8a431ec229a922c0cf256c16a5c422c860292ffc626ed00f09ae1faa7230f5721807c0a99134091c6ab0b726762592cd61eaa4c58ef2046912c9881119c517c84315096fa0b729ec201a804ca4c4a4b34d4768e97ff099053f6a628eeeb6f3052efb26a61e45f65ea46b6a08f446f239ece38775eddf57eff5f2cd8ffb9d4fae4348c7a4e94a08ebb9aade57cdcab2d39285cdbcf964e5c5b175ef41b4fda46b63d8a810044d93a04d344e072ff348ef8c58f77dd0b46369904f174b144ffee62ad8b1d44a67025a527a7261b78a831b3f91f399ec3dfd5bb38e599a485e9b63cda14f8ab06c1df236b210bda7382df6b1ad8904ffe44f70b893d990d321246d541b4090debe02f2969e04244144a345e4e89f1ee5a51c6a3d83a8b1866152cba055866eea6417ae60cf72b688c5e7b1a1919cd4813afded685f3c78f8edafe6bd642af232daf2e12a4097008a8e7a1aa7d3d4e5583cc922246a4fd051bda5c1e76b5f89c28abe88d606f86b9c26512a6d5",
+          "padding" : "3073300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "313233343030",
+          "sig" : "13931038753dc1a3f632966d301340bc8d6e63038ac4e9e5bfd3a899c3faa8bc37009313f116e038e55e82087cf593a978d4f56caeb9f8e686887ae351b8c70c06525e0850ae1534fd96887fab5661bcf9ac8ad51a209832e6076ff8a1514c1d229dd77e1e7b10c44769cd3626126cb6231f4a18d9bcbf20e613ebd2b08a855a88adb61f1fc66a134f5e37fe991a1d794ecce4d745c713ee65c293643f418d35ae2335f76dc2683364674c675d93a6e09eb850a703657c0b30faf2268bec61e8cf1294696da8bdc8a13905169c2dcfbe67e3e88e025cc1096a8d02910dda6074be914a2543506aa61af23cc2ebb36af18e4fd5fb13f891ab12a76f3c274143232a8b9ae989cb06db3678a189488fea9e1f5580d35542108cb127c056e923081867d39f3e00cd17dbe18ebea1f2370e1156880eea6a9d649f06250cf60e72bc05879c61a7953c5881966c01751944716bfdf196332478f883c8c1621f9698c975b6adf3d3642cb2cbfd83ca7c8a5eccd4596e19677f42be162dd19731a1e4d6a3",
+          "padding" : "3036300205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "313233343030",
+          "sig" : "20089ce845c5a3c8a28e3901c74386f1f73babe62b639b636d6d307729dd5c92d8a73c970a880ad5ea79a4b68d0d8e9f672c5441be95f9db740101f99e5076e7572e248a93504167b0ef7c47a54ca159b13856d6648c049ff2cc132bea493ebbbfde6348706c4c2104a53e8c9098a90d59c97928cf5588c8237222470849dcdeb66ebfa6bee33733e16d50efa8f79ac4c5a6c6d1b9851782f0fe5145ba998edecf378e999e91d8d29007ac4431c62de576b953556f9bedbcc6b415b7b29fadf6524a41a4abcf01bd367793eeb841ba934c571c92c52cf76642f6f1e931a8d076540bed56ece9421dbf5f965a828db11627ec062590869d290c27020d5aaf3d626cab8700f20d672f6ca0941e059739744ed192d4dcf4e835b61c74e4537b3c3a80586c68b47dfea8ee429dc1cd4491659eaf7a87a9fde116dac9eb4254aeb265f4f0ddd33549a63ed9096d81f17792b3e4eea06db19cd87b00947ce2fa1584b89b26cc7eec9bc48b6b77c0e0d306a0bc5ac2f8823c464702d491da90fd48e7c0",
+          "padding" : "303730030605000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "4471378418fe3baf5389f910f1765862b44f4529f7fdeed9ade8f22506152e070f80ec9dc9a55547db688762874fe06be1c1145070b4e91805c23285eb5c1a2e2e0d53a3431516a051d6b880bae3dbcc6adec3934d323910eedcf1ebad0193e75ad17cc6fae778a92e5c6c3460235f1689a9d6af96471b6b4962c10db9a83e72e2614e2cbbd788735a9ed5955c5a0a8a609b5b0adc7d01e49f97bbc33a33c1a47d0fd522e1af333c7a79e4d3cb68a356afb812d44d4bd575791960e375a0ea44e65d0f5b207ecce201c6484ff06c2292bedab8d05e81fdfb14679e80ce22173e21f48aa626b7eb2b92b37df875a1431ce3b09ff97d6cdcf7558c5e745c2453dcd02b3cbdb78e8f4fd804dbdfd9cc9c24ef9334df3f965ba999e556745f717a325346f7a53e3a257972069da572d40b07528ecfb01271fa04d7ac1490ca4c6f2d4c70de47866d8d39e698fb90fab53c072928415a784f5efd2d9222494f089607dd1b61ca6edc86ad3c26b1cd831ebf0bf0c25d85d1f54ae0cff0aef177bebfe5",
+          "padding" : "3043300f060b608648016503040202000005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "24619e4465d1f0ef48a66a18a6c76a11fc9383be6cb9d19ec4fc0928959c6d96f9e45665949a0bdcc9a2609329185851b3a35377b84831f7b4f8f6168d77d25169ffd1f747303c93de0d939c912efc5a16439d1512def8213694c79efe59d85351e466ca148b1ce43b74692f1661e95373bb5077c6591bd0a867d317ffd5b98f2283503e4ee9ce57913adb02def14f0302389317f163301a3f1bb177bc1e91bb5d88a7d2306f54362a1a5138a9bc1653da0bb0a9c0f13c1f3affce6bb0a28e0b4287f5cff033d8055a915e39ad29cdf9d08973d81df34d5a032e53466804859176eec8a52f12134c887282955566cf590385f22d4b9178c1fd11120e8800f19c10e5b3dd432da78b317d54305f76579fd38753961fb66c61f7e81d8a369da1b1ede47bc0ddee63505c53570b2c79516319f2afa05467cc3a3939c9ed5e0ddc8290ca76be90d557553fb146d419e751a4c9631db00491bbcabedfca3605d569647f5543cb196687360927417387bc27b774b1486c7f7668c1665e76d1dbb03b19",
+          "padding" : "3043300f060b000060864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "0796e1ac938aa24c995a03fb2c35a39a5206140c7c2919978f7a84a1e2b5ec93efe70045e213912b6e1e77e65a62df6032925cfcf2f5cade306f4debad6c2e1c6a84a221acb86f8d10769f66cc3e1ad66bb52e9611c3d8eb50de8e21a850d394e2ec690494264269c75c65217e2df1fd4b88e13eb4747a04437434a536b96bd2dd251c49123e1341b7c7ebdf0ba3c7307270be47b0b10d6a52a834a7404ae7725cc0c7e0f7c8c10d525c642965df7b821fdc5d0f7945d94bbb2f8d4cf14f91eda9720b8f345d35a326866ea7040cc3dec32aea044646e9b52c36b8a30218d1c2f1b64ca9dd16d588b6f4a22634c551c22fde9e6c8c0e42e0a29640dd2bb85e734541a974c6f89b44b615e39741899ef9f1e4f3771830aea67de978f9386eea5520aea35dd3820bef1fc90a955edd30c8a299941c623158fed97f08f51d5354c512686778f7ccdfdc396f9de48aaf9ac894e65424e2e31ace4c5c1db28ac809ce6a3f7fff4ae55bf1b96dbc4b5da5beed795281bbd6a0ab75f6660deee3081e36",
+          "padding" : "3043300f0609608648016503040202000005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "313233343030",
+          "sig" : "12dac1bca4777d2cb7e7f072e61e87f1a526afb4278d10f498f5a936e4386073b8e262442895c553c4453ccefda23a24a18601f765a3d7a39c5bfadadb80b631a708ba4571d19013be451832ca64952e9cd985059d55d37eab94e3c8fb1cf7565cc1be2ff6b45a7f1b1785d8a0775442b1b96ead3707f9bd712f75c8470f985773ada0433e720af3b8b7389919505fc626733fc90bdb1064cf6cc9ef41c2752c6fb6fbb44043dfc97bb3d31463ac0d8bae9e19658b723d9c74371da9dfd74cbbd7cc8041e2437aa6249651805f8cdf2af2b256142c53073e3c9ac6059b65a8ed25f00d9e31561af1bbf9d27023693803fda4f511af523416337b208430815f09b3aa78c35be8ee439343bc79186702351c9182ad1f5ecf4260e9929d0acfe883a6052397de9e49b51ba7044c751aa6e4eba622e1d9f7db431f3b7048137e17c5d6d28cf31a7995b46cdc5b454eb3593e622a54a96f2b10193ce41608dbaa7a16b7f1e96f627b0b1a2ed2f0714687214372127265d091834b55247e951ed83869",
+          "padding" : "3043300f060b608648016503040202050005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "313233343030",
+          "sig" : "890d8b035cf1d2938593150aa00c3f4242098c6250aff9c3c33044e1b9247c81049be88addb57cc68a2cb98b30919c25bbe4931423771e5ae6fa9b15275d058fe931985d896ccb26dc495ca9003fce602d63161c4f00399d7aa46e6616181a06a0cc78906afbd80e65fd0165c7303551b9d0b1d4cb3efdbfc3138da4d1a6cccc43f8cd8613932d9d092cd2936f95b1775ca485f4c2e9a7c0d559a0112a60ed2f1fbaf49e3b514c598de80e0ddc072dc84ae8fdb565ea91c655e5c989d5b0a7bcb241fabf0705c6fcafbfe27abcafb25b26165c2822f9c2b681a86b97cfbce75150fc58a3f9ad92ce9a14c29bf087c2d9813c0e5fa59066dd260ba6e06668b0d305a8612d6d0224b7418c6308b8140f7735bdfde3f0f645eaf20bc0c5e6a4c8e6402e6d1c8016a0cb276e2001b63d2b7de52bed4e0f99b511f060773e5d2d67446e15a9ebf5ba4cdd995891301f08b2892e275a47a5a566d405507f6ec51225a02f8416758c4b35586863cdfc8fe57424b8e35fdc558fa5b3ad84743c5869e405",
+          "padding" : "30383004068105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "313233343030",
+          "sig" : "99bb35ff27e19ea04dd2ec367ac90d6043e8c205b50af1061f9ad89013aef6257edef5c865d04cf7a17406b910d3c493fd0cca41edf36ef2f7fc3eb1d4ea842ec044ee89f6d192c69564b2377952b450627af4066c5ff2ee53981797493150094362cabd68f8b52763086654606019c7c293d752ec65dc3d76dbfba6a3675e02041aeb86758d4a53e4d5c938219c101cbba5b5a61890c2ec16e569d8d11a2fe0a838aa0beb5a555145f23411c209124449dd9d19636403018b8e382d5956bcc81f47c5c29348730809b3f3eba2934a39bc954c7787c5a86e5cca144fa93abe1d8a34e65de29151e08f70951acd62b96cb1a8bd9566ea136ce75b83214f8132d5af2cbcf4d159065d22588b3a78d4eb9d86eaab23a35b451719f6ad16635b35bc01705f03a5d8ee71080e69e2a1de5ba2687f458f30b8a5af7596fe65f964645d871d4d7855a372e9c9d4ba6571516d8dde5d9b5c5704c4cc727f9022e2a4ffec77cc8668f320db0aa4211862da93a03e5348f1090e54df3ec9de50c093a79cf3",
+          "padding" : "30383004050005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "731e25011da87b990f38e7fcf08faae045402472756be9874d764933f7f1ef54edbb79e2b9660f40d7c9e05f34253fd3a7b8a12edbf9ae5218a203ba82bff1cbb5fa691020615ee59bf69deb02338f0ba879a7b5c6601798a3ae30352404ccd7f84e1c12d021e32871105e8ac34c2c1ec7fde8248e4913e07ce69b5ee9984f0a4e20c2f434dbc9b6fc466e49fbd1d13b7f15922184edc6a985c64b76675d46485263da1251b4ab0030df8cf0ae3a8c92c19ee9ebaf1e803288e209268b13e83127cc3a424fdece29afc03e2990026d710940018e61a2ad90ecc1f25f3e21f174697ad2bf3294888fe3902d240ab35f4dc68ce04401cac82b27ffecece9894c6e83cbb5f42bae62d5a62300afe225d68f54d2b57f70683b6ada55e70cc9802401c761832ab09b40af2a939564dc4ff7265ddac1feb099d22bd7fa4d2b776914be0305e1080f1b1c524b83c13b945f499c2ac043f4832371168853ebb17569eb6d53423447a2044471c36168f78b4145160a8842d4d5b9ce8868da533f6760db2a",
+          "padding" : "3041300d040960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "07df55e096e6d4fcab3214546aec5cbb90fa6ec621ddbb3256692f8ee683e3e828aea4299c720bc4d2b8b63ea25d53afd91573a2ff9b88ce09176f7b8a73bb8b95cd35fadb4f68d916ab7448cd845b5f1af10809b9e7f359511afef75147b5f5681b346313846461b9133662ab0ec38175e1a9c767659d0dfd9c298d229550403991f74cff05cddb723e5c7edbe9d69bcc6053c1c15592a6be6297dcffac0b4d9d3a49e74a2042480ae831f4c62986635462b39e244a3758cd22dde75b023daa5856e0867892d57d8fd805cebd21fe0862278a63ff39a11e0450999d9d0b01c8f1a045c3474a059617ea21eefb46947a44625e4f017af73d20faa4bf0210c9663c18b203b02a2f0399552c31531cae621bb7717b5550a12fbb896f4c0e30e5fdf9c8e9a6763eb815bfaad226ca947f1da6ba84455986c33aae2ff741905bf1910eec450bb746cfda374cefd6489fa0854d4e4411f439f31ffd7cc0351af22eb0b3ad044636c241e3101265cd7b285d7b6faed192c8015d8a6090b175f1092797",
+          "padding" : "3041300d050960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "353b37a0e4860de2b2142667988cb7dc30e29d86da33b4b27984aef1803db66edfe116f0ed7d13b98ca30f7e6cd0fb98b02bd86dcbd7988d2db68c611ffe67a11531d83c8216133aaf53f601631fe2f3c900788b568c9d4f6a72ea87ae99af32228638154319c5974ee1e804954dd1aea7a0d4cefbf4442bf69bc67ef002761ce7a5c67a3316f71b2317236866ec3c3e4ed0e902fc2153278cbdc0d2ad2c36a4ba2562f098e71f7fb6b06208bb64031bbe5f95c824c8da862324aec7fd436065986fb704ea44f4d543cc578da5f44ea0f3adcbafb28ea189ca16adfde1dc0f852954cd492289959707afa1423e3ceaf064f3dc3075ea81a51f85717fa7e8b38cf989a47c77a3b9649caaab04a2384befa92e4fd4d2de8b00699d6ffd87c6507cd3b9a81f162b94e60c30fc4a9e70d52406b4d75400457e4c9c8ad900e8fee456de975ff075c08ef378bdcba69e7b1719f5ad6d91434c74b1ee577f016da9229769ec9a3d3e91e7466663212b7bb51182fc245e914446c31810e444923196b972",
+          "padding" : "3041300d070960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "98ff7ebb8489bcc3c8eafdd75225b744da3ac4bba8ccc6c0157e07294dd2687b50c9e24b206b4e1ba2f9326b8e30ac6561ad0a9642508b0b865dbd89d61930257ec26ffb7bb32ee6754edd09e610ce47a47db0ab0428c4c503daad78201a2006632a06e690d001f345dd4e9534bb64171c49fa2ea250f435475111b4a12460b40e74b14283af18fb4ba2af0c64a76455b2dc31c423817dcd50c0df0e55651bbfee48536f04f3d413ff1be6392dc9f3f3027ef20c58db18ef86bb4834705c1ca368afbf174575f480ec79b0df0efcf24a1651c1c9e260980dc5f6b0ab9bd98a248d9f8a6d2adf44fc501fdafb565ac47c227cd19f4a45618fad2686c765254f6f1fc92162460f7a9d32a91ce21257357988d86a25d6395be70c73c027b53edcb32e5ed58c36b9273495f027b7872c5a24ed39f5e6f07b1d0e21ec97ac3b17cafc4954c0184b01fd44c49fe3fa97698828df8b6f1e4ea27f3225b23263f1e72efaf9a6322e66826fe5b5d087119a5bfbda327cc7a610835230806c9233cbc966bb",
+          "padding" : "3041300d080960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "103c3122f6ec082438b704ece029f2426e2667411cac998014bd2d8d1fee917ba75753b9907ff4fbc65bef274aa4f863834a0ce45f97458f77862c426ad786a418d8fa3358145bc46cb6cc4ae3de6879127efe9c6fb135edba0bf96f7f2c7cbf3cf8a23799fdfb22d46d18842d3e5eb9f17423a4edd39432323625ce5559a50a602cb80431abc162ad80a4e7323d59467a3b6c2dacf386c38cd82c22658c4f954f2bb5fb8d8c4fb5d3523639b7872ec4b2e431778b41ddc20fea06869f661e6aa2c1092af421f38f52555244e5585b42723179b85c222af2ccb35deb93e5a1fe065b862c857ca096dec9009a17608e421202c227fad739764b064583db1c71af9a018800ceaee556c9f7deff6522d14a4881430fa10273e43fdeb992adc825c1b4472e1f7c298f11dd9ad2c6ce4103509b6c7f591c10cddf306b36bfc63140fd65223cdfbb06af12577353467b6774be789b7c5dd59db10f38451e0582c159246ed9eb2d05285ef3db4980199f52a7893b40ded3e65275617037cf04d054c4bc",
+          "padding" : "3041300dff0960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "313233343030",
+          "sig" : "0f626f9cc1d12cd197864bdbe12c188613385960d9ff9aad3c5b8d835e4a3eab6087bae290883b45796f436755583f017b2d1293fde26e9493b484cc6634a928d2630b0d76f3b2d26d9d81e9039fd187a1f94963d871280e451938c7223e83f34784e4fa1ef83b20b41975ff514e7624ba82da566b9fa30ddb6ebfca7130b70554720b120d094c731636fc5d938b8adde4c7a49e822d633313fffbdd4ea7d4797713896ea2c213f99399ce8c76e916361f883e1b76760a45de8a08971a2d3741e57079df4c93dc2801077f44395b59a816e55b5c5438b0372d7ccde0623f424442befd7b8db2c05bda177a5e6b6544762a5591989fd2dc3670e0174e12dca4c83f2b5c327b5f3db53897895594980ad4a99a4d3a41e586b27f2c44f30ced8d1779fbefd86e965e7642d4d74efb94b3751cd658ba80f3a6cf90d014582b51f39f41be6c53b5475a0bc1340f583f9491b8c91c9d673ca326af5cf66943a88aa04c04750a83fe8f429ee45c355d9bed7bdcdf886b5b9a8dcd57a99728f005bf7ac5",
+          "padding" : "30383004060005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "313233343030",
+          "sig" : "568437f4510335fb3cc818d177747da061ae597dcf21e84216f3223c28438d1157df0db8ed06d429c73366a76beddf207dc03b5f6fb3a911a042280e1943319a1cf8c0041611d1633f3e4c53387baa750d94a0c1ddac1e416590ac57a037d40076e276891e70508a1ee7886fbb5c838e34b620e288093b9bafbcd2bbacd4ad365cbe57f3487467de7804239dbfb837d65defa8ab1023b79492c4301419eff396e561224abce40a58d0025d7aec67c941c788b585d7f47913d8bfa8449a4854af5a3806bd3ccf6c2336993500297491304685277822e66e2e56f624c8ebe6a5a675123f488540ffb1c81771a222c3dcdebbebfe180259de8045ae2ef2b44a3e17e27e2a58590dc709b3990c1a1607514693c95f97dee5d1cb527c28e708560eec57b07a6718b2b2ee782ed7490172d08ab71c043434b302ebf297766e8213d8efa959b05cce5e29b85267c3ff8f1850b107b7358e5d1ceb51edc2906c26911bc2fcb3004ddf68ed35cbb5505c4f6ba8ef36cfe7a37e53781e29b57073cd01602f",
+          "padding" : "30453011260d0601600608864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "313233343030",
+          "sig" : "0a4d3aa01f80aff978c8dd9fb0e0a8605c8882a5e9936371ff9906f7feceb4ce5c981f41834c9ef6ae34afe6567bd1ccd499135a844e6dc1695b6a1fa7ac58f4ba73714fd3d4681b10e86302d271e44eb685146202daad33d0e3a7b25902a915fcd5c10e45677672581a7e12d7f51a4cbf6197ad013fa83d2b473238963e727af3cb1fe2054d85813a70c8139b795db3e514c9051671f993c9e5096a235665df2a7c0c435171c5012413ef95b2384cf910730ab52a5029b7f328d74f24bd33d41f431dccdc775717cd28ce611af50564da46a17ab2c0e64f5259e67b895631879a831bbdd02f97fdbafa37f92633b9a5925b2930e4060192e2e74832e1ecb280ed8e0aa0d85a025f32a38f9f43ac7fd2203db7424d14263576fe4cd4246949f4b225a42b1a282ce364d0dbc9b0a1119baa2d310a17de8b8e969a93e8a08c1f8a0f6c5baaa50ab9b0368dd9350561e492cec6188f56b0f53795d5303bb0eb6cbee53b09eeb63591314e52f62ed135c772219a9303abaec273bd62b1383471b128",
+          "padding" : "3041300d060962864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "313233343030",
+          "sig" : "0da333e509d78d8eccbedd7f9c40eda31131033bf765e895666b71f7efe54177117f10397ae3173e486dc475b9a894301d2670612824575fad6220d55b391b25af6d8779367f85d4302d56669251a08cf0b1a34b3ca7ae7f4740b63156042c040a5e0762df8677007ed3019cb2871064f884ba00b7f20b7aaf2fccd38e8d8c47555c9164a32bbb40458902fd8e086037190e25d57f810ae4ebcc42de13664f4f5c27c7068657f637256faf28f664dde1588f3a649f7bd5b60b9dfaceb29d6dac857fcb3b4bcf2b2c6d448c0fc1c710986825e3550a98312bf3d571ea2cb68e082cb0732d75a665128e56b6b0beaccd476030679cef73b3d07eb56774be3001c5ad89fc77f82743696f0505a6ae454199941d56f6002054ef651e6fade757531afc2bcab05397db8f322dd09d90d4a9a058bee0a16f73b1da816f86864259bea012e58ea7dbe6ffe5ef1c82fcfb97eea91adff47a0c755eae9f25fd5fd732e5bddda3519a6933ed696f81391350b9f3022c549cb6986ea16ee87175d0ba422bd6",
+          "padding" : "3041300d060960864801650304028205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "8ed8750078ff5a635d6ddf42dac288d6d0268d080ab53d2eb859b8f11352a3a148eec6c6bf888cda29bd80e2708cb5ebded4041f8b01b63cdad1d4342a6cc1bffdf81a3bfc2ec3d123f7d7ce5d6d8d455b1f823bee0c0acf6a9da03d053a0ba314b2dea1d4ae4dad8eb73a4d493d2ce9ed23c3b2678cf764b9b500838b9eea9b551600afbb3cc03b348b4ebba2f6a41ee3e5db39ef2a652994bb0534c8efe2962027609ef4a56203ade8bccb50c7554a22ecda3b80d02653f4e9d0398ca300e9f4d92ec3ba4a1b15565af56cb357f7373331ee795a19d2eef0060eeeae2dbeaea9e283245236b939bf4626581672ec7d0630068250072e86ec9ad1b51f264384a543a52f2ce42471a1505169ba30b608bdab23b9ccaa710bdc3cfcd47864710651873f2411ae7c1abf65d36ef2a2401b8d974d60ba951a023beb7689c099b0816b831a6f2a5364a92331d3fd0dc416d734e0581347108a4ebcfdc9dae2ed7a8b0cd93d2cf5605a9259bed2219478dec3bd38767fd5aa88643f61cbbb69a234b0",
+          "padding" : "3040300c0608608648016503040205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "4723279e6ffac2a5184ff10943720498c2352ea2e155fc802263e10b17801a030622f5f684adaea8eafc5087e971efda34a69420ceb4fcf3d6aa0c1d8ab3e9f009b9085518921cb684deb50517b57356caa3915d3d12348152b40a8a8693213d9a19c4499cfd42d09d4accd879f1bc2987cfad5278505f90cbd6b981500dadfda23582d2dc159bb9899ef0aa9f1154a4606a95be18a347aa1a77716fec9f84fcdd1b23a8b1d832de858d2f5ae88a5c32cda762d9619796f52a9959aaa86fe527d04e4bf7b19b184657450ca611c24b0c55577ca32b1dc6f6863e2ca5c27058d6803c3b13564dd416d1e9e6f695b4c51e74f2dc280ae3eb89bfbc8cf92d608bf3b2220b26fb60ed78c2d579255820e23eb15c3b3149d76f0ecccdb2dc7f0bea9a346fcaed75f6078bb9d7bcf9e677a15ba92ede667d60c3ad0e5d9097d4423bef4929a79d8bb953ca4dcd85fa1f6a65b578d31d3787402cf7b1d515cfab71fbc489b1f121643a9c048ca55364ce1e770c839311e9c3b8892612c829513d4167ae",
+          "padding" : "3040300c0608864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "84f849b5fb6c45b12e825c710324ea6920071ccbc816c8b724a55f1785fa18a77c1bc706973a6ed2039410c0e637ddd68f402f2ef894be8d35877ec67e6a984fedb5fb625eaf9f92d4a9bdcde0fc0e930b4a4457f823d24480843d338ab58d3f500a932596ed64673ae077c6985448bc3ee6bc580636ca75de726851983ed6407d6fa9ff31d3e0caa6a42a706d06a1a0cfc466109d277fdd58c33898932922874c4f410390ed3b7787945379dfd51211718e4bd1a8fcaa9ea78f1c04712093eae2ef6445e17e58608a329e5d06deda320749ed6ffc48ed60e747739ca7283ecb18f67afd2987097382c9a04155bacf37657e98056153d97a3aefad120515c69121b5e6deb3e7f66d14cad6925c7fa076a615af15a758331f9b29a6468b6e1f51ce2a0a9ffa6e0585da8389ea671832ffc50654d181de4949f94ca8cf458bb1756733dd081e56557b32ff1d4d61760e73c326a4dc988e64e9d5c9febcc397f161c8e3624395e2216db767231be9c3f842d03b33ab522f45e32df181ec079e98cb",
+          "padding" : "3042300e060a3262306530333032316105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "83e3141566aabd0a0af62a6da897a81195f7e4107f9dbb17a1c7159461b6d8c70f45c97fe7ef6078fed69ffe750c7693208d7bd2f5e2391dc00228de6fccc3dab8031577bbbd98ea98b351aea16b8f349039e8cc6451466cd5393ddf6e124ba3f56427a05e612cdd75ee5916fc81891cca8b3496480ee8896137785090fff1b04142ff58726fcd66b81202f64c7355fdc7f93d52423067d072930c38d90875cebe8cdb06149d4a766b2867f1e4a77336e630e7819f77b043171420f9ea6ae657b8428e4873be900a77db5540e645074585388acc97a0f58e920e53a3f001d4d1a1d24307e797209a140ba5635180f9950de57ce05b19faf5ab48e766f61365dc946b1f9a9353ca0b777f08f45c9fcb61e7719171017ea3a3ba256a44129d012a7ba1e35943ed1d44d5e7a387e49af50bb13baf3dc179b76241f8390f36a6ecfca03d8eb88e257193a6443b49e107c98be9a56aec5b1a4e562f64d3a59d5f0854b5f3852e0834abed6e03900f51cb654c73077cd43ccfd863977ceae718bb71f8",
+          "padding" : "304a3016061236303836343830313635303330343032303105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "313233343030",
+          "sig" : "8d676f5e059d92ea5023d85161739d0f30d98f9ea8b0db06c7ae7ce5ba329fa18acca82e8cfd2061d2a37129e51afd38b3686f96000efa3e81a666e7bf06b6b82dea36d704d622cdcb75f84020bd31ee59d6c3e1b40ba30aa9dbb9d4a4a7bb85d1d9f81d6db20bede3189b4c257e5c046ef34e6c06c3fe86973a1a9de382d951a23dcac3df1b8ba84421d1ae170e286e41987dd0b50f1c2f1608f0b1815bfbcdca5b6a01d824b8444ea170a8c9b2f951b0b066d3537e12f74b615bc7dd957085c895a548e0f8746646e11472fc0cb64daf5514ce01405fa0d5903794bc5f436456957e8f419a130f8f555eb5249e1c1439802e2d744eb918c0aa6eea75dec26a1cc3f5c71506197d4b71fb1791b7bba97f97882820040d74c6e8449b6fe0b0f3f5b1c9b2e9e86c0d526a997fcc92df5182a70307737863b1adfc9285d03cc73b284bae66c0a9965000cce4a66537e963115c4fea115249b1d9e83019b6b8ff23e6b968c2579aa42dc56c227b6eac7bf748e8a3e0729f315c93ac6c3046d6e662",
+          "padding" : "304c30180614363038363438303136353033303430323032303105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "95037fef1c445aa2d7e72f8b68ff2494fabb1f3d2e9a197b11683afd4f3aff17e3ddcaa707e7ecf45204eb6f8c694c333f0e426b1030ed416f61095719abcf64a398028e01357de3c6f5f4834e2bbe1f1092f71a8083d648283fa7955b7532021675dd642fa8fc6137f22ae5bf5db40f66c03026adaf494af890090cebd2e486b284799de03d62d3fcfc9038b8bf2741e09cb39db9a84d7282b793cdffd9ab5ca870c2584730f6f3c93f608078ef8e6c5bfd488add98deaef34c5d447945226de9724afcfd95f17fc69d5610e47993421035939c78304b6a954fca7f6ae00ea4519067c5b6bb26654d86f722d8d511fc6fce971aa27a2323d05203d6f390157ea0aa44b64ac59c86147e02cd6d0acb34cdb0bc1c3aa7e0529570c2dd7db848ee3b77e654a74fc6fdcbb73d9e6cde808b3d2ca22716c6911b5ebdf49f0520ec2311d1e8be5ba325bd7bc517c0e3112bc520c30c8242151baeb42b4bf099fdc8fb1dfee16cf5d0a34083418d9069b4ac9b3fbfc59e5ab6eaf690e32e736cbf04f3",
+          "padding" : "304a3016061236303836343830313635303330343032313205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "25cf65d782cf0c451a33939fa28d65f9484c0abea1df60663d96bbe1ebd619d29d9da35d07c52aaf62000be07f764e1d28c5053570316753d8676fdefdd6b181b08ce674a8a32c8eca5025f11d90cbac8bac3897d7d252714d5ddfc017d097f1b64eec822b318c4e6845527d0737939999798214c91e2227ea4a3c552834acbc3075906e9ae3fbdce81e4b29846b5802ff4b2f062c7a66144c58b227964119e7927e4159ece5592be5c1393af75cc879214477fbb5f6ced52a740d3e3567e30750b1799a7067d3ab2eac8d080a8eb0367d7b4e72384f20e10e9504fe0b3f57b856ca5057ac3d5472cc4ea05d862c8b17f5af619130acd44a5e3dc19dd111fdc7ebfb71613510e65d30d87b7512e56f59eca03545cd32fa7ac9d6ec30db19ef75a7769684d9f5449a908c99c063417b24c29fa4e9f40d34142cefa60d165df65d8f895678989f7bd846641d45cb15e5cbeed29c734c1cb18e964bc8671ef6a179ad63ac19144723cb3d8692d38f396a6cc6e6dc6644b177fd5fd9c0e5a80ed1f5",
+          "padding" : "3052301e061a363038363438303136353033303430323838383038303830303205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "313233343030",
+          "sig" : "58c4cc60774356a970125878ddf14b0f13493f396d6f7a9c134468b0b5f73b1fc966d3050bc9f21b45c13c2461906f9b4551cbb766336a9c19c2c26967ad0bb835f96d5fab890cb029d5fd06d857a04930da254fb808e5edd2b7205d8c703eb757d3b398c6684e119464f890749bb97529a0ed30ea2bc3b182f840be170af43f3b78dfda63953d5f880bb5ec0ed8509f4e70ec0cab4fce9c77468ebd1abb5658e1ac4e8d1e5c57727f8f69c587afc9241e8818ed4eaed2e5867a7d9e6887f1c9f5edb758a4dcf350d41b45ce6fedd9bdeb6f26304e60dfe9d1654aaedabc892120cef2ef5375c67ae9d0a5c39c0bc16075e26789d91f6965da42be0526b28e7f4be9e40f6e55bba2c0e2b76f539b4d79aeb0452c22a5e642219b82473087e111a98b909d2086aecafdff814b701abfb0e7c2fb4db658f77bd6fcb7e9d435fcaa689259ce2b4fe665cab557808191c6fa824405d7ae35a7f0bcfde02747f8e3dc410834ede8a4492c8a8327bfb62751291d60f0e308a38e50b38098e682d4760e",
+          "padding" : "305c3028062436303836343830313635303330343032383238303830383038303830383038303830303205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "18b574df9053faa01ab07cefe518c1fb08effee495e34f7646a2e1bdb535997c61c15d2f14e05118fef793b7321d57a5976a3be6c77d0d202a0b0ace2b1b5621942227807df8147a81111b98e7872037b148b61810d39dcad019ca37b2a4501fb20044d29129909373c6ce175bffdc6624f6defbdf50a6fa4eb03dffa222708934f703f1a608a1177eb2ac5a39f1dfcb7380f130bf1d46441e8a67b05cd0d476b3f98f6bd30a55131ea21712c75d0cebfa56665ee957df8439838a1fa1e05885aadebff0ba986e974b7323f91a11ba4897abd22c4ba5d13e9f747b41e6bbe3e494bf098e6bfe324671416e23e34b4cb27d7343e7679dc55a766b178cfe7715043935cdc8c8b9899e8c923502f7bd5097d3cc9460bb419acc6b3ff7fac7af542a51566f42237dbcc994dfe03d8425818fc085e3297ec34af82dad73a7114c907f7c5d1f110f0a928d0fef2289d01868d3f089f0c7b87ba1fed5c221d76541794b20de11a7993f87e955bd043346003eb856dfe32fac5b1dcb5f877b6591dceaf8",
+          "padding" : "304d3019061536303836343830313635303330343032303265303305000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "1ba3c4136fc31f48fea41a53aa08809c560738e63fe4c80a30b2976f4626d37e488048bc696276e8656ca071f7bd3aae45ce8911e3e49056d3ea54575aa93c58eeaf489039d7596f9e632a586aec5993de8939ed26b6363d5e888dd70c392b96d933b158570fd0917b76b46442964cd4e2692eb2d69b19e4c1c6e6b208a9a5ccfefada5e1ff54fe3fca74211ef01a6097dbae787a65062b00971eea93b8b3eed2a558ac75cfbde9698cca5d1484a2436fb7f54040ec0adf34299e66e3c5062179745618c2868092593dbc1e59236f7d55dd2ea1f5607cca607c00328d63d8e049beb97ee0f92a05927ed2639f68ec742774d6f69afc81e1d288c887f6c4eefb41529f846b49e0ac3c48871bfea4cc84cef08e08f2eb647146286bdca275621bffa048dc11012ed50ad9defc8107bf5344109548a02de126df0d694fb7be6a4db0f8444684e68eacad2af46658084fe9c4546b0df6917771bbfb05125ca4de8585c03584c916b458ad243692f7870b70e93c0cd031700451215df39cbbdf61aaa",
+          "padding" : "3042300e060a6080864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "313233343030",
+          "sig" : "530df212c308fa97d4e8539a62894771f63de58fb1ef7ff423b42991964f147de2daefadd9414a40059bb3f7b683ba887ccd96db3b9e887b99132a21ef8fb6c2032fc31fcec6b5c9c1de10624438d86e7edaca6baf4a9daae468bc27d985d8cb9f554f05769ca74886a72a42c51cd45ec2b2b6002ee01e52572aa1b17660ecab8c04119f3e5fee56fb54b0367b135d39a905594e3a43e91f24fbd178323d69839bfa2cfffdb7982d6da2f01e60974d905ce75164cb355c43d0057eebccc4451de40b923aa69e0d8339d5ca56e95c0e2e3e7942bf1c53ad40686950a7a7d266a716edace18b30675aa0d531e9c380cc479601136b37e4c902e6cd63b77a29d7d2cee1c044dc347a21043f3b10efdf48b3af769c399993f9de432941fab419b0883a8c5b137d00c5fd827aa803970b207a9ad28c0ea283a2f7c08d273daedd3e73b2dcbd154341a1b0607dc9208a4e0780a4575a1ca541b647033d6947386032b4f2b1ef3dda52fda5460f9e145beedce6d0a030825de385b997b3a61b5a8c8b72",
+          "padding" : "3043300f0609608648016503040202050200000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "313233343030",
+          "sig" : "36bed7e07cc416a7d5ac19b50b56eccddcb530d6739a9fb7aa0ea151fccf65ce872fd48a1d90c816e2b9887276ba07e21d95a8904c300602d5450d6ee996e8ce930fc11015563f6e5e5d8b6066b2cdfc94e5964311d9c7aeb76520cc19c1ec5182f942f93f22e1d1f5eed5572f3f0f90bb7b33f91070d4afc23ee49b36060e46b29a1b7a536809c5578a13ebbc04ab52019a017f946521770fc23be1f3adb1e84ba9abcafd44892d396914f51fa4a7acc0cee3f5d064571a654cbfe1dfd17d2bf3c64875abb62468f2a9b56253e478693a11d0e4e884457090eb3d9c8cb79c83eb64adab19023a6f6e003a74142fabb5b984a92695ecf0df02538c6d5da9fc0753ec36d8a02fbfaee8de74b297b8ecf08a28ddef5531f21fa9cdfb0791f809db1b0cf6cde4a538eaae02a6a459c76cb118d0b6bc06f401e2acdbf3e6baf7ff7b5d34b9113ebed0156fd639d80e51c7b41615096e4f954a300ad7ac98f6d3f1a5d45fd567a33d086532c7e56b55a89785f0eea0c28511d76effabb56e2b96f5d1",
+          "padding" : "3043300f0609608648016503040202050205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "313233343030",
+          "sig" : "94d4378d1c8c763f825fbb1d1a24fb4c62e923483a9728abd4e12519ad2602d3b676987e9ebd3989531f6306d963300f91a0c4498c16afc2dc82a8a97ec08e7c11861a6cd6f037ee90a967612996b78a738ca9ec51f853da12c53c78879afa15ec2e79944cdd036929ca7e6ed28ee9f2f556c1341f3002c9b621e3a5bd4f14965ebbac93979999934dcc7e4d30bbef77b80d7b4abbc0bfa027dfff28a8d16ccb9c47cd9298612a827d060de18c92a18fd92ba4ce86fa360df20b801c93c41e753bcbe3d00341a3cb602d94494bc44a86d6cd970492936d5cbe8c03689cefff2e91955489505ad98617ecd6b440b02167a98357fc4e4c3b5d70ad710fabfe91f244f36a488046097d339598da00c84e7cebf24a82f7bb85404d47b55b91eb1fcf4920aa93d43ca6050bfb2f8cee8625e523f3c620d1d3a85651ba5d0fcfa833dee73540f88b44c1eaddbbeb119ca4de7b163210f0a85591577e7488ff35a0dd52c752055a551d517b7afee521edf4ff60fb00b305fafb6ea47b0084abee01acbc",
+          "padding" : "3041300d060960864801650304020205810430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "6570b72bc1a3047758f7aff566764bfe3d4a7ae9c6a9ce4778ac3fc05dbc2fa0e3b1713a6fb93dc4d3ff1a8c305652c3478403a995f90065bd48bf3cc82e79382d22e62cf328a92d5191e0bbed42f3f852c984889a908784bf172f46c7f40cee2970429db36229199d2bcc28796628896eb75d86069419c019638cf21defdccd00443232f3ea44edaaa55b044763302f52e92c23ed715f40f7f2ec049719b74670b8b59cb44387acf01bd406e9806f3460bec87e5cc55c5401a3410dfcb0d9dacba84f841239d3416e1234cfbf81f5e88212748c60f5759ab93430b17e92bc8e6d80b5e892c7694f119c285348e77855affa6e24f9bc16a8da2aa245069cc18a3901201c881eb8bd805b49e8720efb24fc0746239b0e4e4521db23ce597cf3b3d7372253214542bc4c40eb5fe1a90b2cf8c75ded44b172e79ea61abdcccd9f27829c91c29d574e828d416e5261cd2d7de42e50ca351597f72795a8bd4fc0eb721437fc848b363fa9d3bff447879f1ddd1c1927d679b0215794c9256b546e1685",
+          "padding" : "3041300d060960864801650304020203000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "1bbe8fb3a0c107374a27858866d3c9e18861908439f631d6aa55e1f7eb8a62945284efa9f0f8390f7dbb662672b7b447a0bd5abe5aa170686288045227e2d036cb9361b9847516181b1b84dfb59adfb318af3796f54bce608bf9063898dc9ef5c5b806aaf9d1f49d093c3c1ac3a1a8adeb3cbfdc2a88e9a8b657f7a0cd3668f94a68eb6d89c016793777af6d046e9e7a4c51a8401a0f0b043f1b9aa5bcf3b64b25388c0a41f99c0cc15028ba58d9f8c137db4280213e4d4d4126d71e9ca2da4d0c56d215bf1b12efd03e3063b30ebc994b7a47c0101bb5ace808a5a9f0e595abec4f2a5ec8040c35728e6730a3ae79737f495ea9aefa232cd86a2fb728987f11c97ff47d6e65a155e0754d57161a6d427e54e6823e72f368ef02e0af0b38b893035acc60cb9ad8da2da0aedb61d554298c2d7fa855746f6c85cec85e61a287f2fa1ae382e6ebdf5e9574fbbec9be671c96ced4d8547e9b4fa3999dcccb0985b18e9094225a713632883530611bc854a92877e4237233ac8466394bd65145f232",
+          "padding" : "3041300d060960864801650304020204000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "3a98d7d9fab0680448b1386441fb373c0768bb59fd72484c0038e3e0448ee6d1ae727a1cea451e881f204d429e6bff49b52ea3e16a71c7265ead31d70c4282975c854f7a08f205aaf0cee4040a13a2b4cae71caf16b1f9a307ae029bde33a4659cc92fa632f9fb724717d0a0c126ea256978255358b6c3bd975d0454b974cba17f6455dd240604866c0b45d06b1ec1ea8d590c481dbb9e2806e556d4fb5e40f4f37641570cc2a9de98b26f0346b6fd5dc39e076aa0d836b0a3fe2824ca44e959215468d5ae09ddc8f48b4f1bf8a4eec683ba9d45863b9a544cc0d535b62451822fac336462c67ed0bfef1619d516af66fb147f0061d18b9a8f6790ef30274ab7fefb9ed89d4f2ca6d30c6c1c7fb990149f16af8163d0eba3e59ce59fc1a822a38cb1802d2be4af05c7e452f0674cd1409bca1abd9636ce54b98f1fc4ad22a482cf1e50e9609ae09741d6fd0b1ffec9b8782cbfcb706c41dfd52fd6c600330dc1cc42a4b86e0a85f26e0a269ab8fa76e3bf2fa79f4fd02e5a471961f67c3a7a94",
+          "padding" : "3041300d060960864801650304020206000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "33538b31ce7c5e24d7dc087d73265c61c312399e8920b8fdf521d3dfc590657f00fdfcadca3fd53d21314e7cc35129cd6e170c06b8dcc25476a47892a689ed5c8afbddf4191b9cd557d4cd29f59333201def168fbbf00253a942eb6c5e543ce01fe3c4a1940edc138cb95e249a32ab7b90fd1d98343d3ddf6062ded626f8b049ffc73a9f69264baa0ebb0b7e8fea0470ed08c2d4140c2d492eeb12e4749a7581835cd81306294737351ea302c9069132d19b0f7eb280760941cb59ead82e665bb138faf7093f45090ebf6beb5754293a1e4f0feaecc7678d5fd56413bdfd7014938f3031a912cbc57fa3211b02ad34139fd9c11f6fc27a8b6ae0ba22f64d4c9e2dc1ad991e3d89f5978d9c87d1fb052a68dfbc0b090abd1b31915ee07a0a481a9437dfc8163f84586d0f3cc3879fb6b4a4203bb44d84f5f5859f5b294bbdadf34eb2343de2d16e7aa005bee959beaa38482b6c0d0f7817f4a556f377cb2b388f609c377921d5e20f08d0fbeadb1a3e63a11fea5b7b7531c94c152a083221d238",
+          "padding" : "3041300d060960864801650304020207000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "206a841a7c9c2b0af1149a40a5ea82658730ac50bcd20bdd0762afb9e4e5debb745e9943153c8cf4ee1fc0e22c730a66ddcd52204cbe83c05149ccbb6fc60b9d641168af9a78e6d741a0a405731acd459a45b942581632111f9f447a27f1787cba1b3fac01f66e3c6756f63ffc18d550313f579d47ba847e9b3bf5a1f4a138697b938c04e547d22d3343d9ed1b2143f85109ad5a08b835802732a796f1f15698e46b47658648554706521252d265eb353231695eef004b913ba0ce9887eaeaae752a3b7d7db70a97c610c3e212c5336e2e865895291a70a1efb2a593b76b60950727dca1330d1215775f41f5614a094daf94c9a6c5ff04f699cdccc48b6d7953fde80621c796285bfcc56d1cb7ce0d14e555083ffed66d3abef9a9c2ce76c22cc57ca08793c6080cf0b74c21443c5d7338b5be15204b45628844f68b1ec3629e53f55137ff9a0ec9827bf41ef935c6e6cf67b2d5074a8fec929ab4b1b3663e6e755e748988e9d4a5310d3055c3269ad74fbe78354ecf97bdd404db93e8a42d7f",
+          "padding" : "3041300d0609608648016503040202ff000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "313233343030",
+          "sig" : "72434ecd0f59044f64be219f197dd2ab79c91b2bf5d3ced002bcffdb28e3c59ae04f4d87bd9a439f406a21174fcc5b75f2565bee2f36a83e5b89e22ce6e6e26e68cef6c6e7973e27502c3091e57448015f148f0847a805a33be8322127383f0a869d21aed276e9863ce3128ea240b63b6caea2df217644fbee930add2d0145d21f2f799a317c123aaedb1d71f40ade4e76637c9112c4e8f327bb2f6eb050078c9b802d3a2e18defe0c32f436021a6a894b03de5f68d6a677ca57bca8845385d5bda6b0f320325043008fb8be25c97a8499e6545dc99f27d7e2ea222541ae91941dfe812a8ed73f848b692aaba2317dc2eb84900605e0b8328c9e47170c4bb6a90fcbc0ddfe3314677ed4255b6582048846d2a8a738c4e6e60f3619ae722619df0f940660e8988abbc3fd6852a8f6b6b947cccd1cdddbcc676b35eedc5619aba1bf8adb0a74f2fabb31f4affe1555be5ef478f6c5c3936000c575acbd3bf6bdc1faf69276b3753e76331ff6130eb50fa9552c87d7ae047a2fc28a3e211d308765",
+          "padding" : "3047301306096086480165030402022580aa00bb0000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "313233343030",
+          "sig" : "09cc7ed5357f2eb7449514215b7d4bc94c3d0e3b9403a138683444f12a24fb4f1bffda8037602b19053727c2f1422f540d5c6c2ee0c0205a3e8d19e4ee968640ba857c04cebcfdcf7538e3a11b32226f57714ef6ac47045e94026748fdf05ee975cf8b47d790121a0bef0e86a2fc9e7444f28ebf54e2cc06f7adb7c14c1077f99f434b4f4b23d0e308c3af0809393639f40435b190175fab570b6acda0b2b94dd331cf75edd594aa7d49836620a720cf715643a73704f1f5d7136b3072d6e9058cae72c0cd3fe15394b4438731c37e6fe78971d8280630679131657b64edd132910aa1263ea2bbca36eddb34de0b4d9a42258c6e2727b71a41c28bdc07c3e367f194f0418a4fc7b5ff7e531db5f0e4e5dcd9ba332c0fb6c4fa73e10ada4840f7aa2c310856e2a453ed595e9b7bb0e0c729375eb0607694c4d44ac2203f797f701a13c0a4be1fbf5a90c6c680a78d871e3637637200e4d38ef6cf2c2db5c2a5e55c1105637bd97831c9f39e9ded20be2f381b96157decfa0e648696e5241f3794",
+          "padding" : "3010300d0609608648016503040202050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "8889ba3a0556d7d65a08bedcf40c2862409cf65c5deb821b7d12e6d1961859b8ac91177b7d50ff8168cf80fe88266e574c6fd719980705bd7c488d768e15d2f871f13904ae2280e21c7fe65da19988f2f62d84c87a32ada15fa3a0591e8f7bac5da67e7339966c94c0d864e670cea00c810a01ed78c0552562b37c11a04427c100cda4c6511f2986e577814e48ff565d3f8370e79321e612c371fd4e1b9cf93d53636844fc6c392e547f5c309fa3b89cf62d1912f0774c82c567989bc14399d1fa0b1d87d67ef15ae9c4d577f78c913f58c48cd28dab95d6358b49410926816242edbbca97dfe9fa9f44649fe02fc8c620fe86767708a1619606ab6c873e970c9bba1bb8083a71e2888a7a4917ae8767b3051ce324c8babbca7efa4509f8186264976109c3b0b2b453e1bb1b7468567be2844de295098a8d849602c0261f6c3284613517f79e84008de8ebc151b98a9c19a3833a8c322cd021af09422e09938db0b09cddad47db0beeccba5ea56d2b033e2d90e327359f056d22692cb7aeb2c6",
+          "padding" : "3043300d060960864801650304020205000432f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "252594c934192b66a349e58332c9ff111026c512a439f886df1859f327d875836f529e9c462a95d5b0e8ee6b407ed6f7a7512b70e42612c1479e856388da8dcace91780be2f56da99c4a76251f86f2efe2e214404ccfbe26728b6766f9a28f8787ae318d3fed0fa585b68bd76ab238e28739ef19afab1247ed1bb119fa50f1fcce4bb946047510bc683ae499730cf316eab96f14d654ab311786121ff7f2ac09ce146b98ec0302775c0b9f06be0240b28695894f53ec1a92ed985d5c6cd55d9ca5d64891842673d2dbe8f4d6a678da4929eca8450887884229a3edab3305b691f242da7b7043f0d759d6c36361664e4566aa419e26944195ab8746a05d56385943d971a1ebad627c2a9e6c429253a1142abcab5ab71bcb35b7c6dc89ff5795aae1fa0d7d8ae5fe327b3959d3c7c373c7a98cf382819f21e6fc1d29ae15897887728033b6c05c293c28bd9670b7bd7fe70051f1d30bc3e9b4f20d6caac77d331c3c864c61733cecb5cf5756a9c3e485b58f936261487ef2b8054b5a1f95c4295b",
+          "padding" : "3043300d0609608648016503040202050004320000f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "313233343030",
+          "sig" : "0fe6555340685f83444fd844ae5e7d11a5ab36922f3c63803432ccb84b3643f060fa7abdc6865891a1672b66b921867ab08fc62a4dc48104b9eb8e4bd89c26b821c490e843c3517fcdc249be66680ca40f2c3b7500228cbdd0323cf6b6a7c18a1846c042676f50be45802ba4f1917a84058382b9f0a1401b1656b494a325a9f151edc49fe2cc919d84e3a027d8c83afbb8ed5a72f6815586ada30fd7b6fb3c95b063ce9ee8fea2b134ae42ab8bf08110301a8838c42498f4d6b449e1dcc65454f81af0ad2f6c146f0b3ff0ebc761b53b7f855323cc4c16956607a89e238b376bd76415648a26c8a473709ef02b27a2cf626450c92ed1238ee95df90f4b9cb8ff1d6d092bfb79c0e0114efdb0ab989cef4280b8a8089b4d65460edc9f93d89aab6ad072afc903c74fcc889a1e06ac8bab8e61bceae5e325af68d1357cf0747bd10c103fa04f69d563fb270a06f3821305de3f02ac1617700f07ecaa6dd525ef9e54b9449e2974a94e7e7b8307659495d700181f09f8680064375ca19cafeb5b81",
+          "padding" : "3043300d060960864801650304020205000432f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "313233343030",
+          "sig" : "1c0849644c72821f89775e8240949fd317e66ad216beb2876865daf067103d51fc428bc9e19dea39b16df3cf55fe9af9941ed456a9b398b373ec7de6ca9c176352d7d2b2e2635529c37715c1139b36a105f7def4aae688266feeccf22a076d19d519aca76b88b71364fda8b5fd52c0832ed2483d3a379316e370b7e10c8e6209debf2172446741aff676da31d7761b7497f2e55bf78954cb3352e51c8f8686cf9949c53d03d6af5258cd3ccf442a6e773a687ec95a07d2fd3c37ad0c7c729a832f0ae3689d1f3bb272a1f901a1b2f9e161432b57c37fa3abfb509e7dd91607895df45cf2b7720f5ca34a9b74cdbf82c9637adb391ad70f53e47131a22f82709fed31c99054a2aaed935e9791a1a6190b724a16e5df74ca14d1d15726ccf96edfea8bf5dfe9f48747f45153056ec068429ed080eb5ec57f0f7ac9c81ce6b1dccc1defd5528088661e0a050322e1a2f315fd65a4decee9ef9f3021a34af2b1f6c365d680f00c0ce9d19ba12b5dfb515c129b7a63c34c5033edf9d876c03e1f3594",
+          "padding" : "3011300d060960864801650304020205000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "313233343030",
+          "sig" : "5681ec35b49708b8f8962a579a33e9689947e9883246a8df999a35d8bc24271ec1460668999ec74192b4f5dcd0d49f22b31c77afda748e3bec58ed52e96dd45b23f66b7b2c2c703add64e6794867e9be72bd3a4f80431ad6d76b9a502b9b81f04d126f65c18e9fe3953af2023c5519fae6958bc7a392ab5413b2cbcd2136491b5f25c02958a844d700468c2bca431d2b998cc1ec6b31856234f67d50872aeb12e9d401f597180d396e74db862db073fd157ff4c2cf0b73c86cfe5266d99ef969d986236960d710853c5540f62f12df09f0a81a7b0acb657179abb0442ade44463ce729540f31b3c2df9687151f142b5df3913d036604636fdf51306c329738fecc711d57713e5f2630e769662bee450bb5fc8c87e0da8a2bfc25902e5c52a5c2fcd46bf027550ae7976f8ed008cdf4b6b53d32bda37dfef9c98a3cb68200c3e06b0a10dd73d02da9c43928e14c7455140e7d4afbc972c089977e0bd69524a721acf48a4fb45dee76b0473db4ac1907ffd586c54c643d6e0ddf04d3821439f3e4",
+          "padding" : "3011300d060960864801650304020205000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "349e9fb23a4eb3c943d840912a447870aaa91c3d494c05b1f801bc5384fc0b7e9b0b0d6899462bcd0b357eb7094ce09e817a091f10cc34ba793fb7952759ccfc8ebda5bdc4b7b8932db3cd18f5cb0d3ccc07e1cd5a6537a701f06c07ee01433d50a16c5331a2a913a82dd3c8ca95e66b481237bd38bc76e213af3d32489a325ae448358bd68509d3541a94ca89c898acf6f6bd67cd66c8522222a1ebafc5f47df1b0b10c08b84dbb81926e9e7104c02e7bd5a77a19ebbfac4fb423f5ef0956a9ca3ef49ddec1f7591d851f66834868908cc8a8f569921ec7a9a1248d0f2aa68c380f194e80580e3113427cf6ebb695db18ce345845bf22c75f62bf91cca1c3eb393814a38f4bea08c0f35f03b9b77cc65140a382b4376af27c653e1b7a7c0bf801fdd3d18c5aa3759eeb25c158c1ed8c9865f8c1cf0b6438e412680667a94e4c390ad3d916b3b9c47a50a6ba460b1ff05a3df1f7f0f58596005d28af75eb457aed85ab6475a73172e8eb987af41558028c8cdada1a754229db1c35699d717982",
+          "padding" : "3041300d060960864801650304020205000230f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "419ad0e31cde95cb53d3b3a86b8a8fb605a0dd08bb4904cffec0d129ab7b20cba91fddedd019897fb486856fd779947702efbe929a006860417354b4932582084b75e3076498259fdc783b34441529c25381cc57d1016e196768dbc01879d768d158c299325cbb0f84a3712a0c9178e57c592e7da5e95ddf35a1adb1c7d217ed13a2f1f53f76344236ea93bea71f113a61c2677e3ed5c406a4e70eddd76439804b6860337452da8cbcef80af7b144ce9dbd7cee010268c9dc68a4145adf2bdfd05f64fe495a3c4c6996358e1833e07f6a189ee3b41952042696d4b9888e6ccf0940b4443adb78b787b29f6c1982e6f86b099a3a6bd0661a4259d4b968cc83467433632d86ff18c2cfc920dba2bfabe852e283525a15fbf2fe7a965b328f8e34514b3430182d426a7e3b392024d8bfe20e1baadcb484eac0ea97812ccc92a4044f60d446d2003080a6f2cbba47afb74fe3d48fc9d599c50227b30df75a941c8f19d6fd6ed66b9d3ded89947ed19bcac7db4fab8097a2d6ee652da61163a7b5a31",
+          "padding" : "3041300d060960864801650304020205000330f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "9555d56a5edad3ca7f1c40700ee2a072673159193586b08713362995898ba384aacb76f7ef3cbce1e94fb79a77f72bac5be73aeafd9cd3b60546b63abf575741a5824f5b0a621905aff6c7085531936504da15110edf31887be9c90b96950babdfbd6f5b0ccfe99c4c300f730408bd07bd7b9d035d7b829cfd7045150b1c9e89b4600d6f09baffaa4dba48611c8c3f745fb954a52fab6944b6df7f8cc4266c3042bd0e6d7b31a40640f726567c44d456dda93eadb7e2016d4fa10a0376e8acc4e4ed01d0849da3c178a6c75c0d7a8b695a8cfc84d0d8cf29619b3eedfacac2165c31fcc3c3a6f062fd5542c305460cf55858d372267bf95f58817f37ac7b90c19c69f17d9cdeb4504ed7c278dc10c12a86273a919e03419eeb25313d976d927fcaddbe08e4357f7bbbad0f273f0bb0302847e04bc89c850a8605f1b8ff0afe9fe9a00fd05c8235ced766ccb0f2d8590d9fd6c20c4fe16c5a60e056414eca6fe888ed5fa338e7b7e27240bdbc6c708e13a316c113c3af024b4e7dc5360aea3483",
+          "padding" : "3041300d060960864801650304020205000530f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "8829061808ea7aef2b338ebbcfbea99dcfcde31958420193326e26fa5aadbc9eafba2f49b38bd629f5bf1c2d3e92000050d5d89360896a8a29d147aaa2add622e5913da439451a951c0286863cbfee3083585af883909ea498314f5874282944546de32a80a9309fa9465ebf324d482aa8283c8589ee90757ac52de8f6654ee708b44f588c578f0833a820c8a56bd575552360adfcb95c39616a488f2c95fd94e083c305d5dec38a158eb94c40c018e6b4002efed29e28f78980cc9eae7456c6b68b04f5a0dc0c2a33b71b0911e058bf1e629b8dfc8187319d78285953d53a38bff1a994a23b017a74b6d18b86d37e09271cff51e5d113d9d947abeb188c074182cf281fdc879930685023a5703594820a4cb1dc22c7007083aebe9ec8525a044cdf67d58e775e525ec2d954f2eea316cc12701ea8a32627b8db02152cca9dde87a6bf5dd5eb4bcda3b34d35171d9152560f94ac2dc43bed33f3e0f026f1a578bee46c311e3b14d444428482952184e5a9b05c9cca0cba37b6b4d30844aad78a",
+          "padding" : "3041300d060960864801650304020205000630f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "9f8ea25a407acb845c6be6e4cb263be64cc2fca7d573536b3076c75ae9d38cb70156873eb2fffa3587c3650a81ce19a254e2ede3410b0c10f8a2f4b8972c75dfc690ed29ed1b41a44c149dfc36d5f07213101cd4d2c6bd3a9b367279af08f8a02fc346437452bb40c46d705db078efd49c0ac0fa6be275e3b2db60ab17204d87e35201a426c4c1b30340ffdc6667c2e0ba82dcccd11340e1c7ccfcd18c6b34ac1545e18e3034e296c2cb482e5b8aa923b68597667abd02af54af7cea95cb2fd923dc90ace6ff906989cdb98d36acb40f5663cfd6c68976e502e79b845b592aba02b43ab16699dbcad74c0f00decd1e26af1963c49dbbc6baeb585c9cbc8230827267c0f6330269317af01ba0ee928b04e83ad94fd871cbbd3a1d4da58acdcc40327042762930995083c10cdbb2d9543cfc6b5478e61ae544f66bb65332a061d4f07fae41f3b25130849aa9ee4ae9497bafb0143def8d0a2fa0e19f87b153fe34f817a46cb00348d39ab1507708e2c2defc388486724e9371148761da04d995e8",
+          "padding" : "3041300d06096086480165030402020500ff30f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "313233343030",
+          "sig" : "6d675527594f79cc5e66c9f795573bb7374f66eb396f97c1feed0772c86dbd1a3b36167f557285eae066567118670a787d4ff113a7a7ef575de05875c3bceada7af2c86aba621352f0b1ec1aa3a5937bfa830e859e836b3a0a62841feeb7d2460a266fd6d9305cf18421a1744d93183aa68e17ce1d61bc55eebe21a23fa8bf1b94045b10580f57e393a0c72081aa1c83bf9020e3d4c3e761456a18a1fead5e00157029b656797dfc321c754fd1b09cb2111303d1bd603c2c3e650951516c34bfe9650e03446071cc19ff9529505e1c6f69e2fd3f61a71398ca8b55310843033ad0c75578a11db3e83ad802fd335dcb71e83ecb4edf47faafd0b1bccfb89f3172f957eadfe61d9b097185150ba582d23f75387caa248d11413d143c38627be244bdb442ef4756236cf321288264a892856ba0b5784f91326e58fefe80e32f583aeb56f6204a54062119e87758ccd4ef0996ab51579240384149e1f19bcf54e270937b3f915060b989c026b5fda38919bb9fba6bf983091c2c6f338fabbe971c96",
+          "padding" : "3011300d060960864801650304020205000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "313233343030",
+          "sig" : "28ac59fd8a65c69dbd4c66e3aab2d1bcbd93d54e4710b3c3003bd8e1a85ffe6e21ffe6ba6526f3ccdcb563295db756f7ef29daf5c3210a36c34fa42fa13c6a557b4f7fae965147420adccd0e1013cf2100963dff6ca27371a34fc7ce72f7de62a1b6992b6bfe287046f01611c0fb65872fa3f988075295b73731ebf149df9b30016f305e950c46bef57cc40cc0daececdc3ca1979da134102e47319b0500cb32b337182d053c0f17ba9b9a7866a3852855d1e5f914a21b83548093d4a6c4f8f635f8c9d7b6625aad390a202c6d3cfc24b2b8a9d195135bde6ced5f57368d2ecba166e7f17e05d29598627d8ce6b49d3e681827e6185272200416502a1b9e1afcb4f9bd454fa39622c3eb839bc55f021ad006a90c4b2d9f9a933a92df7b2d997868352cd011f8ec17aac6619af0be4ece5747b9265a41185ebc6519dc43b1ba9ae20cf8929f54df6e4ce02f87e649b975d1e69c8610cdfc9b6364a148b2176cf1bde486aa141da819f639f58789eba896e9946896fe1995609fdec089e75fd742",
+          "padding" : "3045300d0609608648016503040202050024340401f9042fb127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "313233343030",
+          "sig" : "6d05e2f726e9a367b65f841b01844e615280364465071c86b3f4a527debbd7cd46f5732d6203727b868889438d569b821957762c45145951ddb8ff76fda97f5f8a279eb840f9f1f521f804c8e65168233f85adb863824a748b5a5b1395979335a14fbdd160e555ba064b79fa3b6d0b31692753fdf2e088eff549f7f6fcc4256444778ad1ae5112a59ce4e9962214bf0d4e7b4e85c93ca9ccaf55b55302ee3ad0795ea4f4da90af896caf2615aba2d3fb21499c4ff813f696c54d0b955b0fb34b4eea874bf9342193226c6d6b2967543b9d381f33f7370f5d7ff5f89dd79f388b5841e64f1b785d9e29fe235c7d509fd23a08d473ef3b75fb8a7e8ba78274d5538fcedd23886ed916cf20c0054dc43438060da6b685607219410a08245f214779acd278619689ba7e621d0257f54a2583a3508b0d69a968516b5745be891ee0731989a16187216d47600bab7000ab9d34d41d515d909d97419dc4d63ff014e9db91e6f3d5ee83a22d1009327586f451fbada7577f6540954a760a414cef0fe42b",
+          "padding" : "3041300d060960864801650304020205000430fbb127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "313233343030",
+          "sig" : "3b07c83eb71633cce02d709bfe927baab8139776565c90ef4f363b9dfe24b5197f4f457a4d5515b18b5833a9732a87ca0ca0f6572767efdc79e29a7429b8f95e5d91236ba88e03041f35188fcf305699a45a10f43d16991a9c4157f259d4c92a9f555468680cd17da5ec93bfb0f8f2fd1edb0646763466af4704ef46123c232ce230aadf0803e89cefa40e8bc00ff53bd6d46466b058b12ede7f6ddac04baf420b0373990cd3c69e277c1da421288ef85f7174793118ded6e65944c666bbc6ad80d2fc17e5fa0255812dd1f227cb9f62f1d8e8e727f77ee76110694f0217b3d1dfe5206c53a2d9908508bc902e0aadf318d8cce51a4dee027db4af891eb495fb69ee8f63e19bdbc7e79f636ecba4e73bc4cbc77cfc38f72349827cbe4ea7d416fd66bbfece0d8089e26917e6b3d16a466139974e5f5837938bdc7e5adb19abdf0c9601ae44895911d26ae0aed08dfdf0ed13a6070da51a7b346794fd4ffd1bb0e4b0eda4118dae388e738aa6d451fb8433b8a1ca4b04e5b36d8ff3dcd537498e",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8dea4e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "2ef1b57d4bae68d33603719c33a1d408f1edbf0262d7f11cf1fe1271206d3004ab581a11e870e7aedd9d48f4ced6d17920d46260331e3b6936be3976c0195d75f1ae0a31531885dafcbcfdab108f830ca811dc5465063b4b0be364e284cc759fac4a6e21aa156f6916654a9f46f850d714d245dd0c0542e61292101839c63c3598d58f56bb9b1efa44be5d6a2adc5548c4c672413d551ffdf239550140e91eb763c54256613c910d4e1c951a1a9b280049e368dfcd7a66448787ae0ac7638f4cc68bfddb0a837b124306b4e864d7a89eed62c20c6c650e1c24064c7c779726d5655e7c7c0f29b3298ee6518f44b316eb0e67fe1ff883acd0bf3e8f43d666db819f50ca3c765148d3552bfed9875ab76506c5ab8008ce19163264d5792caf479fd126f9ed8ccc234f3e696e62a8e6c5addfa0558d9a23bc09f4dee3bf03dc7f997111dd0f1fcc331c6c115ad299c0837cc4b52933d843faeb85ef80971ba4e6c358d29061a35632bf794ace4b85513db058e54f81fdb43a20d5e7c0bffc3f9cb8",
+          "padding" : "3040300d06096086480165030402020500042ff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8dea",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "2415c061a50da3a1ec6636857127378eeb1117194d9db2147ec4f11e5d6b4a9137e8159e51ef125bf397782fe3dcf15a110c1994f1ecd006c2030be5de0d94e0e09e55581cd830eafb14bfb473f29a2f11d7bb0b7ea7b7a7156147f7d6e13f3541f8dfd10a4d867b7f82e550bc7c553a43866b295b5430faaf7d5ff4220e8fe1b538837e92eac811fc713a83533241b31e1004627f583fe349ee5c7dfd334fd9b4494dae6809029c12b8dba865734ad7868288aa6d1bda45f37639d2d0feef3f3b1a742720faa0c628dfe016ea413a48032a1eccfc5c54f667c86d14e8c6ad5b9f7a44fc0a85e1aa768bf7fd778d71459a92cf07374d2cc9e6ed2660330f4e8b62e2c7117edca9d16d9b10d833b2c12309a7a2e9d96fb6eba760a4c3528e71ab3a8beb1b11039897443bbe8c85b708613c214a7ab7a7b81c86b493b75fc5b1196caa2b1138b239b0c455f17338ccb6caa35a420455d3ddcee6ddd01847632aad44ea88573cd50e6588e586f0ad6365e7aa3a8fa941e0b6089b9716e5832eb659",
+          "padding" : "3040300d06096086480165030402020500042fb127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "542afc8d3d3cce9687949f8c540f90232f008e8d2018fbef274870e99b6ce10ca6bd4eb9b47ffe547bcc1e7eadd9643f61be60f86f884dd8a66e1b152550b397d7bbac9cc4296c4af5e14bee66b04bc88a8ca1d35189ca4cd0fc7d0ae73c52086148ba26429709830c339c3dc89cb8dba0e182e3df9b95fb10e5150f18b81ee3023504a4b1daa8f85ca2236f62108fff221936203e9c5ab08d42bbb208bc318aed4869686e844c1b94d94cc3ba6dad5725b343dab9b01553ff5011e59496c8bd3173a1d2b2faba3793030433953ce1085c4b8a8b995cf5cfed340f24a2917af535a26d1c0c5f3a3bb106c300849fc8fe26203d14efcb3b1d9214a565493f5d07e084f3675c971ecc8fb6cbb1f7c4e07352b1b3ff9e4286d258e7b12e844c76ff9eb18e11304cadb7c781661c98bbeb8b8e28b760c66ed71890f3fca7bfdaa15c04fe7eb53622096a8666de2444095e03f016f094800848de29268982466ea0401eeb4c5b8a1853d4b6a33e7176fb3f6a31bdd6d573cbe857ba00c5d5371ee81c",
+          "padding" : "3040300c06082a864886f70d020505000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "3b40bd88f99c9e37b01472b6efc413c20eb223ec850fe20ef5e9d3d81f266b11225eaf207f3b712d792ee681b1d9d8657af67c995559c602b8f772da2794daccc93f9d7aa8cc50060928b078a1d934dd32f10d62aa492fc2a909ea6ad3dc10593fcbe42009e67dc7c83d7b42c2ed085c5a0b622bd1eaaba07065d8753ee99e323a18e4c31aac3a559268d2dc5ed7460c50accc9a70be784aed2bd4794d18a9a6fece6fa252bd0b5f6e285fc9c9f9f0190b8492f2209077f7215d26c31ebcdfdedffb4bdd1e407d7d2713d6439214d3077549ea5aee7f69ef52f26381bd822294ea22189a87a0aeea85e9b9a85f102c37d81074784ffca6ace2e44f8432bc7e2ce1babec1ab0bb8a17339d2017d254a39a0719957bb2c73f4ea67aadf8fbfac3958e845996caa02934b7064b4646c6368733b73289d5c1bef743893b3a5f570fa900b3328e076a4222e5fd56a9032c305231204a83cd021366b7bf2f1b1c55eb1cce8c11d5bf0804e8f6a29f601a89c3e92849c45fb013296c6658a9e09e6b8e3",
+          "padding" : "303d300906052b0e03021a05000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "113568a33ad2fb84007606720847b90f48f852950d4b6b39eade1c7304bf701e37eb0944f767a67bdbdfacd9af781727de044509ad7d094fde06fea6d0c6990a834eddbb47c1bdcc8fe39545f0f660dbd50c7aa3ecfe72909fc32dc183309365bbe478175f1be144b1012ea3d849baaf4e6172dc747d220eea7a5ee63120ba8764ce75c8fc1104ed54813b945668da1e73a8c3a802be6ee7d91c3536a49e7c8a39c563bbe3753086a261d19ebe1d5124e815f0624aa16129776750e521928c6578d8ad24bb14f24fc3d94e335b9293b01a6a02d1b75b80d357bc93c1e69d6f8aa51aa781ebc0eef18b7437f7926af3cd86957050e9b759b681462fd2e49daae518a5fdb2c7ce38a6399593b44f4ef32f7bde907ecd7bdc68b761365856603ae781fc0000dfbac9ff956a71c94c32f902d470572feb513b8cce6afa1bcaef04ed4995fec70395976f33feb4a878d27996b422118681d8b51948ee497d8c3bf6ed53500913f985e2f3589fccccaadd81c6fc08423c5643f6ba3ec4bab2b51b82f6",
+          "padding" : "3041300d060960864801650304020105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "31690fd711236dd6ca3acf585195ac53cbd636069684f40426ca86e1b2d7b033f6b9033fa75b36ed9a848e2c9f94e5b8dd05b9396c11514ddfae18e8de5a3d5116bf81aab21c2e564b19197fe5e83dbc87f4fc1afdc3a0a6617f3fdee4d63e89b07ccc30aafff4c192cc0164a81c032585cd92c997d852a0ab35a330030e59dd49fe113b889acef34d278eabc985b70b312e6bb62ba278d7d2cb557aa38c88b9a0a4f4ebb51b87306602619a9361d8daf8bc8289e232665f92a244ec0e8b041510c6c1015c01c05bfb0d36999de4a57fb3127258e1ab265365fe2b4c051633254b429131a330750422074803b6dece155bb3af508df4706fa6b465e3be280942e26d82830caab376db6a5c95caddca809a246f05fe1fb9336a433a49b1eb31b26fce820117914f6d7d489c3c79b8d67af29c815a2883470f5384f6516088ba1d999d0d4ad1c7a5d006df523ca69229d20ab6774ff7ad8d80c6f3912671475cfec977827bfee540c09c4be1e3fa1ae5516aeb54773b522621faff15024b20b447",
+          "padding" : "3041300d060960864801650304020305000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "12c17d7c5ae90aef671b6593279ed2c76219f9fa6b7a01e620b45906582d85611f95c8d5b4224fcadcad8d57e1d6ab7aef928c2a3608ac6d94442afec80945a8d2d25a04376e9a41ac77a76e572819cdafaa788a036a405d9eeb1ee3e3c956d53dbcea9e62adfc921ca0bbb651307818cfbf67000b8089416d09f04fab15382263fc9b2455a8a3472e8cd685be2d36bf6b9f073c0b37e76c3e74a09c968bffae2032b0708e8dcac6e5d539eb22c6e105031fc03a309e23f78fc7ad042196db84b877eda3a234368f982ad458442d998000f413b8a442c7188c9139284989d727d0effd09b6dae707758de61b8a1d6ee2b4873b9f38e87570842c150e7df520445e66565b7ced7bb610878884d08d6438f860c1911e2d07894dc706b14b1f83988c2968fcad0c0bd3f61aeb775a909c40bf4983175c690b910ce3dc402a2f8ab53a093a67f544d652703c82c55b49016d238953b0b31e0f9a9dc32c134032820c17a0275cf3e6bcad0b4adc864407482c9eb34406b7be6c16633fe9c2ed24de2e",
+          "padding" : "3020300c06082a864886f70d0205050004103fa6e1540a9e5b94313c5907267a7331",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "0797dca79b5a166961da39e28bbec6ebf0d9c32d61881067f667423f584148fe8a22d432fc00d7b560930b9874dd66d731749015af00e518c7105d4d40d48bd824e69b77e92a2e302f14b00af7935fae839c7402ad58e24ced541dcc2e0a95188504e652a7f051781718f741f205a6b7d814b39fa066dc0b300cb2ea8c9c7fb90f0b1a057e64239a97f0bbac7995c60ab8099b272d2e0dffd34a82e6a443211e13daa5ffc5eb28f4e6890a7841e88234495138f6d2b497dc2165c65cc8177651375fbc0e6d0f0815b9e5f49b53f67850249bad66703e84c2291095ba66ec33ff078f40ae5cd66fe3950514820c87c42e5866997a35baf0f721793b08bc50403598058526c0111f91bc46b387cdb212d3f6d144f27d3eb6a32ced5b5022e1775a74e4e2c52638a0d8dc4410718a7330f8d15ed5e1b321fc0cf7e3b209b49f1a61cd71560434068d1759529898f1a6a280d7e31b7cf498bca168208d1335bd35312bb4cb307d7aba823a9ce8767d4c29d9636b85a0cd077e552e59c552c201e495",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "56709e7ac1d1b37f162bebb32a9cb9f86c8f9473e5ebeeff4ce5506642688f0256b5f1fb06108b0c3bd89bf7956e07ac22a4154ee4bb2cf5672592852f24d1eb46211f3a9dc55c515fa87db83d5a747aba9a0b8b3e07e1be26bdb462a3dabe7312350e6814cc857a1cac7ec6e1789f69df392d13fefc49acfb3463ca61dc59f619f34d75de7c7532a1c29228a57337a139a08bcb376ebeea36fe92d098107cc57c1ab328226195844a8cbc292dbe31523a842c5e222271d1ff98ca8ef5985bdd7f8c0c6f9f1a582e07ad46fa64306cafd2ee768baea1e2cb5aa42443920a6ec40e168e5de50dd2a94243f717dcebc9b4ee47a5128369b41fbee068f848b8a9069350dce0b83e6d5a9a9ec66521b11b735ce4ea3d8c7b4ecd8695cd87221d1d7484c9a893cddcbcb304fd203e7c2120ea5104c0d3e8fec59a6e0d1c44abec68d98f6409be5da8aa8800a93f457ad6b085cff25f7a51602691f8465391276e71d7068977130668aac2a533444bd6cdf93d8808aa44f3b79c9930e276bceb33dedf",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "26f1c4ba5c1a316e6fc50e47e080740e2ed6869adec3e427d3e85b41e706c92a263924aad99df90d5dd1a7f778486f2bbfa649668b8b8be51f69906ce866b11e3ad2fe85e36bca16ab3b19c3f9662f5e58fa2adb25d706c2a1abf94dfbbdb19d44ee2aca040585c8b83c01d60dc0d6c21914521d5b4d9edf1dfd6301fe24b4a1b27276e61348686b743d3c16cf5ad590667fa231c0e8ccf96b4c30cfff37061a33b01258a6b3133c5087f3d4f90238d0d7689b46444f15cdae75c9f52d934230d5a9c8274c7d78f7b56cf1575ab30976bf4057a4db00080449318395d3453ed40a851ae93d44f0637a743a52dfcefeef2aab70546a7e23db718137c2476b29b9a96a6f144afa4780633562d14018806c5b1e156a0322eaf70aa574e2fecd1df95d22e91b45bf0c8e8a440542d1d70dbf2edc08c408bdb18d70d950286c20e6332cc4c715037e54388c8ca225618c94154241129e642c00fd7accaabdb63222d0e84820f861419b14e3e8cee4b814b1fefc626ba51c2f1097c6a4ebcb8c0ff9f1",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "48e9fa9c8e311a1e30a12356c5edbee8a6f426e2afd213bc404618c4a050f00e9029006fb0f285759bd643b03dc4683fc76810b8fa2eed9f559383d9ff58d7f4f67fa6b3f81d702c798b499f300caf17b7d590df9db39b890b5b4d15e33cbefaf4601fffe0d0628aafd028e9252beb0799e2f8dab8245476d141f0f40716145a4f4b7000e66cb388ea037d678f0b867964468467850a7ad6ce57f0662821259b0b937cfe072a587e562f9ea0d04fd5f646727305b1e164578ffdbfcec538ab4b55977f49e9f4643ef5fc91482cd50941ee3389583bed58ee57fabba1755a2994317d903b4933dc5e1b950d2023a1ec8647e47aa718cb3387d2f57c428363c1b96bc21b636bbfe02d329d68d5f2b8a55184997f9f250fe744099a28808b487c2387825d9eef46b898b16a6786391e2bbf651e50d172e6f1581ec3979434cfa313a19006bddab314f5de431da84b377b0b51e01af31c22046e5a08cf01c853e742116ae20722d9d6be74b3659a3a3dc3f72bc4808f6cb205953d8c36381031fa08",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "40be445399dc0f5bbfc80b5114d463155ced7f80afdd048763f3f1c42f7ba0421c30b3f433d4ddc34592985529514eaee3725a6da772328746ca6d0e8e600f18c27c91e3ae86f084144384816fb13083870ef06fae11569c2bf22303331fcd0b4c905c5dbf3f1fb844bb003a96cc8ad2ff8d13d814f8304aef179dbe53141a1b92c28e05a2acff47b0113cec3bd16d0d1d2844c95daecd2103dd8e1801b78bef6ac2bb4e9584956247235d186eba8dbc5ae278a7992ce58f4bd9f0cf79bedcc8c90238bdff6f2c9671ccf355154773dcf425df02d1beaf04ba79b466f036837e26e35ce55a6071b54a92f4e0bad91b8e1e0e7e57277a16b2d66377866371222f8fc747bc2ce1a4baa6ce6eb1289c25b1834377d52c693d90d63cebf7fdad96b22796bdbeec6dea78ec6f2d886c3b7c27b850e4ab9750c9a71e28a29e93db8b980908ae8f485155bb434e4925305ee06f08ca8be63691cdb60d32d28ebd50ccbac1c48e8f91a06fabddd51fb6ca26421ffda5b6bf30e38aff88cc24715f97cf51",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "313233343030",
+          "sig" : "98f649a766413ae1348a8e601a78000f7b284eb9077f2b4a202609c6540502d6b8e54a5ddde7634d4e0e8d5bda0a5673a042c659d5fd0366937f222582b0a41305cc382dedee14234f86015e9673defd1133d133b0daa87aa1e5eeebd3af545cd59effe44cc8a581791f874f491a10030837e619fc089c7671eb0551f17ffb8237c2085e0d5c90348b22317efc1ed53893e06242ec60a5d438195bf3c70b0a11b78a7f0edc6d4287129b412d9477b020937882a6bddb9cf7ae963e7bd44ea61fb671ce6fba1a2f085afbf781971359eeea082312f3618c199657653b37f07c46a43ddf6709ab3433d799158ff6671246aac560a7f7e26010d9937ee61537a6a06101163883b68b0e4dbdeabf22a0e9a5a0da15d33427440b48918d620c8947387f92377d3a236942758167aa459fffe96fb5ca7304742a3e4e049a2cca570da8f05c21bd7f797216f01f5f5cf844c05dd74d6a5fd10ea7396b2704c07d44d7d06ecaf18d2d3aeb716599c8013e78dd2812380e15d28272ac1a378fe4dcad9085",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "313233343030",
+          "sig" : "9f59ea3f9dee7d9336ed2f86adb180cd2872c032ad3324cdbbf68e26d579bc7580cf9cc28bca27ee4630c3cd69670840e1f8922018023c3ea0b2e85b86a518348b46e103237ada4b5d0edde8a0ff0a54656a156010b16d86dba3c2c1468318325710b8fab1479349739c02729472fd497a92a1a23f8e5b6717292596da69c3faea3e9cc836cd21043569ac64b3b88e394b8bd450538e63b0e1b507ec79969e6e4aaf9e893374103a01297422a6be9991882a48665cc955b6d55bff8c762637f82a181ea8ebbdf6ea25ffb793c09e69842a919881fd0a2f90636b88ea1a3dbf27305cafd0c7233fee01c4f4a4444bcbbc6585efa94a8c298966dd8cf2ea17981f6726c854560c1a908ef78bfa2ebce522072eb5f4b741b45c6365b8d5da492c067c25b4f467b6c34832032a0e2446f5aaad149b298b3b6711dbfeb360cf6149b0ca998a94afd9c835504c6ec97ef49a5b8427e577996bfc921d2da6be89957912f6183b289212279f6fefa768ce8ef4386abcf1dc8c7b6ada1dbde45b7e7624af",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "CVE-2017-11185",
+          "msg" : "313233343030",
+          "sig" : "a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "invalid length",
+          "msg" : "313233343030",
+          "sig" : "a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "empty signature",
+          "msg" : "313233343030",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "0",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "1",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "2",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "n-1",
+          "msg" : "313233343030",
+          "sig" : "a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1768",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "n+1",
+          "msg" : "313233343030",
+          "sig" : "a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d176a",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "-1",
+          "msg" : "313233343030",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.json
new file mode 100644
index 0000000..18c77de
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_3072_sha512_test.json
@@ -0,0 +1,2095 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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"
+  },
+  "numberOfTests" : 230,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001",
+      "keyDer" : "308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA+uEjY8xR4mbefXS5iQhf\nEPwI9ENj+rTqf8xWEB0RZhbEPeMTtwVpyyfeE07PNfy8xEioEIJnjuGuQnxI9Fmr\nLELJCFkRo9gckU8Ee6Ru8aUqSYProRE73w7pXoXNIyJM+DL+PpFtO/+m3c/uCSaT\niyxRyJBL7Ec5r8TweXnL6r1RS+WiuHq+xxx6KznHNtd2RC6p6V6X3fytTEw7Qf6F\nb4HM5Tm1BXq/xvsaoVMxbqT452uNyIBO4QMD/C3BgvfOXZB+eHKWeTM7OwEldLTH\nxhPAIM4TiK03/8D2sjMMxe33zpuoDrmEttoqxZqrqjopFy7Sk3kg9HwXRH5hhRGb\nmzipk1ZYmXtIdzWoGEyv8QqPVV0DRVL9V0cbKT+BPxmqbCE5h3mSQ2/RlJ6+IllS\njJFxZBSqcv+Qu1FC0v1ee6EtjfGsmVQI5/tkWpq3tvaV5AUFAKkEIlODOwVRgmV5\nFSRlifg2IgO1UXsvcRfSrKAV/OPMQcaxvLLmctsULVJFAgMBAAE=\n-----END PUBLIC KEY-----",
+      "keysize" : 3072,
+      "n" : "0fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f",
+          "padding" : "3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a",
+          "padding" : "3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a",
+          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd",
+          "padding" : "3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7",
+          "padding" : "3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd",
+          "padding" : "3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "313233343030",
+          "sig" : "7d550b35998d60a62393379e47dc02b1a4530bf60c892c4e559acf9b9a61208dd9ec054c865018aa2fcd11a88493b54935039d0fdf5371436da96ccc342bc1440afdc46eb7bfb6595303b013037537e695787324cf9593dc156881bd0dffe8d2d22d4e90c1bcc801c9bcf12cba9efb7979a293dc2ed17ef787515e2bac8011286c939c418234df353ff9a5e0617615acfd7bccf9aa31c6681950947df67690e36369c3c3bf6c466e9748da0582acc76bf15760e8ceead43b5c2e98d87eb502d5a823ca69702b6936cbe36295b5714fed51b35fad66c819cf1191b3708f398fbe8274f1ce219e8cc77690f30bb7643f9ea472811e6216253c58fbba5d19ab738d6fecad309999a4d814c19620c4ae998a5f0061fa616ec0ab96e3760dc5d3450ec376a1a0292899212828768bbec07a0e1ffdaf4d6e5fd1ef5a2e0567341b2fc0a4944fe8bca36369fdc0177885d5169747103418e2af807c4715d94c2bef45f5eefabe8980f90a11acc01ffe0453e1fed8a7986b07d8f6daae2fdf0cd266c587",
+          "padding" : "304f300b0609608648016503040203044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "a31ac04a54a8b6ff7e56a0fd57b356d1f854de8e0f9001cb216b859819279bd80d8584bf603999215ba8debd1e9e93fba985427be8e2169924a3954a43b58521e0c79e7a858a77081439beda623bb7b96ea46176fdd040682da77916fbeb77290e7c93b2e8a1d3722587a70ba56b8de3b2e9599bea708568ed88d2f09d7b9d0ebf9be2345b81d9b343c7392701d35d1f3400f343763af8d9233e40228aaff22ace45920af56956e07cd010af64e01e1f8f63a9dcc3b7b205de730199fad3e3b2f139c556748d704876af986b98785fa5686d5d2410cdd95f1c80a8ab8e24c23f06d5c40ea5f2be6f980db62b6d9b22cf7aed0ec00125e1900e50db95269148f6165f563b8ccc0d35c9867412c21f627ed436769842662c856392d3d0daef99bc47ba8f2738b4ea9d068b20c249d43dc01a067aaa8c249d43e110ce40de060c7c68866639bdd3c6d7b7b635b7ba71b44b71e7f68651b203ee07b914d65a2165791cf2f6d5dcbeddef7bdd7f786f812d9c5515f846eed933248b4f40a00b7735fb",
+          "padding" : "308151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "693fb14d0d6089db3aae22e292e43627af0cbd67234983ddc1b077b4baaadc45bcf0ea0f36ffdaf970f99ec5ed8ae8a58b7e94db9028963e14c2f624bed16bf24bbc5aafd472915d643e690f6e981287ee7856fd0f14ace63a790676457ac09692bafca0014b2866c870227a976fff547812641a70993da32acb962a3ea050845dc533390175900c668a5f36ffd495ab7917b768c68407f4cfe1d20bedfaca38f9f609e74d9e432829da2487f957069dcc290da513d8a453cca27c8253bebba2653f82f676e663db0248af2a310b254b00219c5969f05d04fbdb9ea0cfbd746050ab25cd10de42a02a0ddf223d40e233c6a6597992576f2d105b72cfd77b2f319fe3525da8a8f084c305b14e090e3bea5c5eedac3360d366c47fe9cd60c6bdeba472d408a79031343bce42bb1ef5d6f4e0e63cb7ad0cd22e4270392ce711d7c8efbf0feb888c74793f2dd903e3ce894ec758d69644f654c5a75378b0e5c63a5f9ae05e0f4818e2aea7286416aff545c1048eb4d359ce1bcd0b26a28f55695b56",
+          "padding" : "305230810d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "618987b90f8071495d4276c5dbbf43c8a7a2b952d5f81a30feec15f3201243c92628b64da8c347a9877499c28e1bbdf63398485c1f88913f803789538d3011469cda13483841bf15dcee6b896aee07bc90e9f7245b016c41fa03944b1676a7fe392bef538ea1a97b71be9d50fae8c6783ad35470d45668634f91187ea61d2cfe959a869034d333bd6616c738f0a99bb4e7bc66040421c833d5e3e1c39fb9a92df063ba851b5cd149d1eb0ea903241297fab62cc15901e82d2eb105e9e037202655a6904f6c051bc79af16b2b9e043d32872ee85bf9592039822835bbb7dfe426a6200e0f0b56b0867ead9c1cd5b8e966ad72ae287da6e84c001d29a9982521d9fc193337f2ce4dec94a9eda41d17a45a60bdbcdc85e6ea034bd696396bcfc40614ae6ffab3e8d78d525163ea55be5d4f1f3bad866cf59089ff727f58e5fdfc5b77f43a3fc0e5507035c875577f247d4d00f5dd6f5a9a8ebd6fffb620e803060fd0e742d7cfcd3ff408ce53b1003a351516ea42a47fad8a62313b8ea03c889754",
+          "padding" : "3052300e0681096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "d7212634520ae65f540677f72d8f230d9b40c37c9307638b1a8321ff6e45924680a68b89ba73b2400db38719906448bec9c35d5c2da337a9e39c82adfbf658507a74799ad647248ab9f21d2725d565ba015327d3a9a4d0aec2c4d2a34425d3feda996851e7547271e5f14543008c556a69341338d7ba9ccb34f42a71fcde9e410395e5c69e6b2c082246075e519096c0745786cc275e2d3fe65c6cca95d97a1f22410f8a2e0d2bdb36a61431b67c6b98f5a34a4592bdbac008dacd7acf7b7a244d5b3edd63e631a4e21f9b9809d832b76dbe82b9acc4531798b1f4a0ad9d84ce23d39652cb5d0fa522e98d442ff39656ac129c5a2611268a534089fa7c58c665fd276790c067e0b799be17975b0388ca2f455b8ee54758a184d25738d97ab9bccb4fc884d59df610809ec7ff9a8e52c5c8e93fa53e69b502975dd595d30496d9ae18fa8daf48d66292998e5a9a815c224ac0a21f6920f08f9f70fa60363cb67f386ff02223ae48300871a84e6a9e2e76e715fbe9fc156078a79f0a5f369a7e34",
+          "padding" : "3052300e0609608648016503040203058100044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "d28388441dcd3adb103515a74be1afffeb250255ca7528e955b94e7b8ce826c97df3f371da7e7f399477c1bb033d50f4bdbfa982e3d5eddb6bf45e08dfa41d5bbd976fed018d1b8bbda013e79fd80c020ddf5379e96929cc70868f025dce41e6f3dbc220b3cc6fe70d7a4bd0659c60fba376d672016599a44f89b62aff469e7e91b24bfe645d63cb0cb03902e8ce8448b41b5886d55ebf054ddbc21c23d571a4e6a353a5f880ec2478d206a2a08d431714de562bf2aa6a5885e0bffab51bce4ed9e243eeaa5d1b2297dff1bd844b440e9cb270b6ce40b76fd79c7591d3f38a719190a5992664f24b8bce0f4d050e8072ae4a27c51b2e284304af4e2ee2dda546a8ff91affe20882c119ec1caebe406ae2b04eec9bed107cb3b66420a730ecc797c028bd97f9dff631512342355b6efb3fffa49d55a9a5d5ad45182e16f7c378ca36135a520732bdbff39d525c89c0a3118c68a779bf2f2f43cd560b4d11c606fbd089b046fae8f01447d661bc374d2b6a0e094e7b40abc240856404d2aa7364b",
+          "padding" : "3052300d0609608648016503040203050004814043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "0783d81e403f352d1140b99d6cbdf63f413a55ef9a64fe1fe019adfe807b5fa59a18e63d455e0f8fd61edbeccd392a01e09dedfe28600d1c7507b1d81bc814d1e835a95219cefaf7525fc0d03bf211bc99397bc8fcce685445263a3db61184a8e44edfe7ee48e2a7a5e3c8c7f28158a308db3fc35d822ef6cc00e8df43ab1b0a7ec2c92e3fb7fccf8f8b35e68ff6d31657aafd756782996785bee97d3ca5c37d22b44f8a1a44ed6afe5b80b9659336f3a39870b5de2385630f3fe7ce3c91bb269ecef7b3fa999a79518aa3a06fb626a5a1e48db98199c1c4d7a139497ed8e9682cdcf343dd03b4a5a056edda9e7101d2da5ed8d5b953e765bd6585cab5a27030a8c909ef69e61c0ffe9cefd2ffbc6f7cb26f64de674ec5f4395f7627adc72203fd6362c17bb1f262c430e502a258edf86076336499fa89efe7e1298c7c932b0893088430a30d7309282cc4a58c5ff05fa3f1dd664b00139c309831b8084e9f3065816844fc3074d7e8bbaa638dfc2fc0aaa74380a1282e65c7934be1cb7cdffe",
+          "padding" : "30820051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "162e2eb2457e28016b961ece8cd8aa9d4d2f4b06a9ab069cb79238f5870075de2a9755fadc5c78c28c82441c474718ee905a8d7700ff2601d7c56d7eb5a9d7019e92db6897c823925cfa75b5608c7a79e24af37abc09c89008be7b2ceb70170c6d1404a892d0804cf9abde53f9aedd13815459c3c6a1b37f7dbfee6e4b9e25143d9c64a6a817550337d0c74bb5cb6c7b5db2bbb770c67037729341cf25aa880b14d39d71e66cba9b62e1ff89c348eaf4efc79c0de4734171406295e346e9ce7562be7a5462834f1a00da1d4d54d7fd7fb12430b4096610fc96ff1bdfb88609d6a961338bae78991b05f2c80d2a131de5eb3477946d0d6f5f500a0fd93d57e0be3518b60e5688d8ba5b25c2343e894326129173b86dc315fa183a0d96845464f24cc020dfbc341f4623d6732ef699b3af9274fb504422bdbcb491c8cfc63f6cf6adbafd4f2bb671b92b6f4316ea456d9d87b8f3b2228e37b0f34f2d1ff70cfb0ed16d14ad3ab5e89985d4e30e51e4eafe69c0cf6ee5cd1ddae25b5585622a8b45",
+          "padding" : "30533082000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "9547ae982686e6c57123cc12864b93c8e55488e90ef6c2b6779538036dee01392b62066077be8102cfd3d82f46920bfc29b6aec0f29bd56e71bc1dea1f287cf48b65707b5c950f60313efdc537a5ebf6d8fa51ab448c70e9e8726cd368c615c75218465f41446fb8e21beea8a0322f443f125b09ac9d4f4e1978fe93f9eb9ce2fa924a384a922e98a023f20c6fda672082d5f8904429a54d0bd60309d6059f76d66de8d02eb6bea880472f8e569ffa06c0ed88065f9b93f1c124ea881c0cba4d1d2b13564c5c1b221e6295b74840623d9d014e179343936bf583b8391e89ce5e913a6cc3db1e510f63a951bde0d83758a4670f0be237c80f9d5ca851ab835c5330463cabb8d31f4b8e188a3a226d2553668b773c8ded433df5de155c0653bde5d06223c31e39055273e485c78366bc84d013a277dc0ae44b48d3ced278506f2f07e81f74524b0a1353ed6b6c798a1f8e9a421dd8248b81eb25891916b2183580cb8cccbda2d5f45f69451575780d0bf3063f937931367f28d15d3b49ce1626ce",
+          "padding" : "3053300f068200096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "e2d20b15707ec4522a15239977be889b2f72a23f6531c14a14da66c59d5cd647a90441c100985055cf46e4e3d48b00ab99f2f280e5678918af9a7299783b35a1ec63251228d369f61635a6f6c6b228b3a83ef26ea1f899ddc009eabd33d36c325bbcb193fbe1bec12ed756ed02dc21d56d3e7934f3672a3591c655102f766a371a34983d40ab34d8b9476e927c7e23f094af98c9c0ee30df46641f8abe5241d9790af6cc61a6de8248f2e7039510d1ab92b52dd17d8dcba345befd58da2fac4794ebe3e7a41a1e704f9b8fb900b505df8d46a0484d7197beff7c081505616b8a5ab8c6cd25b7dc3c0bcc500bd1a2577c1f499e83cd228c48a0f40164f4716c4ea7dd74b8971cb21a25ea17e3d07c77106cc18652f82d8abbb2ede781e0e85ab668ee1d8769829b8be77d457991287c8308258d9ea2a3ad327f9dcae03fb5f6a71c419fa37416fcebfa3422ddec93c451a7f93b0f970df21be18af1399abab90c7667c1e9174e193efac179239db64a44590c50e52278f460785c6a399102e0b1",
+          "padding" : "3053300f060960864801650304020305820000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "473f662190fa09abd247533dd2d4cbd1880ad6419cc3b3b1dee6059d5672b28e768560c604260a181c41b6c33d9fd902163bd956f67011de608b5a7a0059e2e0be3699119afc8771c44f7f681ded984d0674754b0813fa906ff8d9db40e1e48fa25af65ac49dfebaa30c957e7ed0e06d2bfd04ca564f881dd8cb075a6a708eda0b47174c66386a5fa1b4bd2f8f2d1661d2eae0065c95560da197ef5644c7f317da9a8dce7f42f84bfd099e9cb20bbf1fcad1c4307903e18c9c5595ca8a0bf2f4b2c3c562561df21de86329a7bc5059209d05699b888848723488b111c0e72a0d84978b50242d94ee47e2df4a0c953947d846e56c9c9aaca0543ea13671e6e8b9e3c3799cef6582bdec5579f2edb171fded9e04a900c61c429cbe09768b93a417f1c59b92381682bd66d0018e94cc75dbdc0d37acd85877fa229db0eaaccd9b1e4275a9dfc2bdc60ccd7ad5a597e85c443ac95f878378d88453074b83d152d9ce4f583b57be32cc13971504d713c3ccd719e79303b0c1a866e21426e1049ce3bb",
+          "padding" : "3053300d060960864801650304020305000482004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "b17c7e6b49469e75e489f9647112354316bf3ce3a58aa9ae41544f73c8e1e56c284667381eda58b3466d3ef16962a2619d718f93edab9aa12e5be05f73cbfd4d8e546bc936ff9043d5c048f93794d68c9f8d99805f85665797a27b84a3e97883e74ea14c180aa2e5c0785af69275d484e14dffb50a4ccee742e809a03da229e70ce529d0166439cad74ec6457016b92df8e53f8ed68cc71229a1e1732b15175aff54ee34de4e908e9b6f9e720417d1a619ba9c1ed70a55e4f5d9bd940532b2f58700f404cee86c8ad9c72ad7731b8c2a063efbdb96c7b35d641d5027d55e8cf6c317613373dc303cf84a469b54df3c2ecf5cc8d1bb3882dda48e41b9e5a3dae95ded93f230959c547ef59131fed18c269a0d5c2be16891071299cf1bf77573fde1535836cec1daaf7cbcc50c563d08a79725d66d3720ecbbe1db7edf85ed3c4a9160350fe94326e3f0440619df346e33aab6333c1e38b9f34139a26778d0b0e64b8c4746e5879fc56eaa4c4641171f79f4f3fa711b9b0548cffdbc39929b4ae3",
+          "padding" : "3052300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "38f8952c63cb832a35b8808ca9255ab12fb5c27573f29d585cc30b94b050fc9e179f87821a2cf8d23f10d3ed6f2a8f461bd098eb5f6ab98923647f87594e2cec18a776af433cdf2b77dce0cd853651b50700c9812d2fec7a9760388f4c26da6bee3b768574644c4069775ce21e81446a9e7aa2c97865f4b953daf7acfaac13e75e079800bc5ffc94090ed6842960e03e95753be39e94dafbeea1745fa7a4fefe777ff5d278a8444c07e3c8526e80960f6e2146900ea86720fe35c881a61e3f23a32a6bbfbddf049084d9a6d1b32b9c2492161d1aec9479a8891c7b651d13e34e784e5a8d3cb2f5412d322689591a98b41ef9b010190e732a5ed0d28b695f6ab06870ebd23fee44845cc64d4ba39017047c7eadbc16a1e35788a9d2c2ff02b48badb7bc4605225b7b631913b19683b6f90e634582ed64c25bb6157f28102c4560945b6baa91dcc551b4a6bf2b5cd2adb8a0aa87e29c502b5b70bc4cce2e197479f9923c3ca35e5437c849d5264dc18cdd3f6bc7b88fd9182bed11f0cba3cc68b5",
+          "padding" : "3050300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "b24733b208d83a92b4a7c6d64209fa2ac1dbf615954eb99704ba9b6eed2a545aad13253234d88e0afa81277321a8662a1c9c59a7ff932c6b2889e44ee47e25e730427665a98f02b8897b24ee3036febef294a8ba02ce60b9fcd6aeb592f32daa1a79afe2a48f5097971f3a72ed3680433d93da0e3f19aa7d37082880b0c3745b86be89d184162287bb6354158ced89bbef14faac68649d995a4ba8576266bf5464106a82cafc07e4ae4dfb4ff3f6f0e8c713d3fb73673e75deb3fd04098c7c939f91594e45323432f30029122afd4e812475f69ec05248d6e2deec18e7dd02c7e9cf89cfdfca8b3412410b1e271023725272ef0d9fc72f35a94a484bdb0c1167c282dfda53a86b72922506d51adfab81df9dd257787aa5fb6033bd7fe61a577a7abe5b48174a3b2f7bf276ad6a6735593440867739851c91bb30fb2f6d279f35aced179d231dd9c5267cffd6b184bcd710a365b29957eb98aa81f10db84deb3448e2bd8ab50dcab06fdb3a2b1290eac0e60dbc4114243540585ec78473fe9297",
+          "padding" : "3051300e06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "a336c6c475b3ddb4f9e58bda547d867c25b155b19d14746f8fe9b22cafabc05aca001d019352e8e96cb0afbadb7bf16998e5052b834a0045e861f646fcfc07347079822e64dfd5e72c2f996f0d5ae5d31596b93c77fee310b046d9c461ae9637ca21020e48c6745feb9b7a8f7e98e47be68214405b55d81d190d0bcdce483b2915544108bc8daaac9563483399a69c19c644d4cc36be4333fa9e9221f17b0ebd2885e57e84d31bd615e438aaa7a1742f0d6f3779c55ea3dedce1940e819cc140cf887edde8506b4c919edf3fb6505293921889c3d6704ca6aef24e620d87d6073c0e9f8a8c43f98fbba9e84fc9c445bff081acf6f6559dc0a49c9acd49c1adeb11ac31e38fe8319389541144dabfff498addb55d974082988503adc422d78f3e6c1764baf174c451eccb13e0e2f9791512e9a949478109176671f56cb3b8b841fb55207bdb7dfee0b7d76ae95a76de6f6ba4e953ad0431bbd23311ef17da7f4272a7ec4a34c08501d01965c4ab325420f6464dfdf471fba6f59ee78bedc28524",
+          "padding" : "3051300c06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "a2d71c57b8e78998da1d98c13757bfd9e0977c5f17ba07e47bfb3afbbeb3a377f8c4c78c8d82890b57a311035e2225942adba57859490e004f8c9c69b71ba818fd1ee4c396215d90580818ec2d5f71bb3006596724541eadc981dca096fa4540be86465274f19a6d47836692d7d0ce80e934ffadaa70f110b08974a32f145d2df260436b0524571b3710bb4c7726d093c90fe333a0fb73af084795e7800a036445ac90a1f3ae08803053cbd06b9dc19ad70d775bfc52c9f2cd7096b4405ef62eb5f330ac6110d5af0872182471f3d9c2ddd65888f902ed0bda98c8a3faef74e50e39841266be25698d28705a577ba3c2f14f59b14e91f70bab478995155ba08c7e5a819b0310121845e9669d45095ce1452f426285e2159230e0dc8c4098cf01ceb3db982a88aaf7940d9f3c59a4bf9cf42c06c11ce61c21bebb92169a04ac0b2f13972c63a7a42d64dd67a6b8eb2d707bf059d831485fc7a73784621b559058f5fadb945f4228e9e01876dcb903448eee5e560539af7354fe5a4e4cd0ee586b",
+          "padding" : "3051300d060a6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "dd00c9e4579457cf35a1de0cfa01a1b96eb3395deaa2ef1dcb8a1f1a0671a28794db39b0432f00ae28435e5a0055d89ed6d9a20cb1be6aebdfa1a78db7a1ff13bc35040019729f9cf0d344cf1978bcc224e5c184dfe1d7c64a38e9ab3af3703180f8045bb55498e3b797e2c7dd8f23a8341c8b49d8f8eb4d08d96f109ed96b42783251a10365bb6b8a6f0941e1063be9977512462e84b42371b31217945b12c9c9762fdafa7b450386339d0f25c6bb8c9251c09cd58a414e95150d84834657d06bc8d2bbe5b36a18ccd04719c598374299c33e795ababf0eb2a23a053b3635646ac57b88a13b519b8734b1ed17d570dd167b9f95a98d67f0e36b9400e8e6bd61208be53d335b24f14cfe07d32011db038ad0dfe99277fa970a208572f805bba501399d66c7751db984272c89d4d8633af03872f45ba89026aa45e3b63ea861c104e9827d1e233127a79796f1c9ae60d6196c3f299dad4741184121617f9d6ac7bdce2d480e783568955193b0cc2d2272f3e5ee468d4ba84a89519d25926112a7",
+          "padding" : "3051300d06086086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "985830e50116006b97961dbbfa9939ee492284b10771fe3d3910275072e1e2b3d1f4b00a3ccdcaf310e04f10d4ddc2deb544dab03236d3263ca743e8b40c1ae24d025b2524bcda651e7e128344a6c009a148d48504f2c8fc4bdd7dcfc6fb3c66755f35e4e775fa498c1197f0cc1d538afacc3d087a3638220d7ae845ec79e255ecdb8917440026e9f8686c18b1e8dff0d897112bc19b087089abac233b274827d4d4c88f99be595974de26c79917a94772485c94391465e19588836205138cce5d19f7f62ae8fabdccb724c8f84a2d60c03425346189f97613f79ae652dc6b16e0b889b7f310361e52d134633f8cc15da56aa6a560de0c895fedf6de4dcfdcbff3cca6f10d2631119d7d75e0223ae73ad6f79b2f9bc32e4d28776e9a5ce4f733d824c3c7aa0162ce77a438df92a1f53d1878bcc4848f41dd0b0e8c88775d98039a05b91ecd7465186f6dd067db053f3557bba24cf4cf6a372b26162b228a8183484cfffdc7da2f9cc15972746cdef2e07e6c203209ccb7b925373d9f36250120",
+          "padding" : "3051300d06096086480165030402030501044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "c67de527c6b72c804a52df6e44b4fe2e408a9f048948ac16db55b664b5da6044ba9b2498a14f66a83ad76f1b2363f393d85b4470d318114247c6f33c4110e24801ca915800adc98e8b3f88da6fd84be3db00d09f027dedd60e68cb0b467c04d6bc4c629c168f6ca46988b6165347aa885cb954cb4a0d2ff2851b7dbe4cb55eb89ec48ce45064f34d6907ba62d0b5468b316753ed36b1ec8b8f36a05adbd59cc03f1aca50001bf59156b9065cdbbca855c54fc3dae251a0fd1c130f545b3e2d51a632f778999bb2a6693fbed677206b65d9ef04c4dde2e5fabab0ce9668135915389dc498d1641c2a504bcf62c94339d3111d64c5fbb476d7cbde4dc72dc2f1745d02e5da12fc92f9949aa672e9a567ee4dc760610fb3f280a9612b24fb0a367a6b041e5f9075d20cf27f33c34c7a005cb2024468f2ba51de56829cfe25182fe9c7ba95c6314276852b2739c4d7da4514c58a53db655d0a7cd442e3f5728e472b8d0bda4e275c3a3a7d9734a35409ac8b6bee2def19f1507e8b21e278cbad13a4",
+          "padding" : "3051300d06096086480165030402030500044143f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "b41adc2e291efe76182d118257243abc0f8e46353ae3acc7f22b1474ed255be6fef75c620e362c04c875c27a6e93d0beada311c01143a249b160b92753687192fe4875cbabcb09ac137db95eeeb06d9b220da294968bbfba6c0ac2e3e0089fa8038b0a501d90ec64f5270ffaf0bd135980ea84d18f7ebfb7417397c35d4cc09f7099ec5f9c5877b01b95056196d726089689189bdbd828f82ba621ee6c51e14f46de40529fb75550cc92b51887c7746eacff279ace83426de329484e2b3e366366a9570019a8e87802c8bc8d1188e1839837c3e2d108448bd9b78cd9f4d4ef7d2e038ebccdca08365115b68d08e39babcf87919918ee6d84afa8f2acf89e4ebc0847833a18b28330f6228ce6e42a1dce0144772a306e8e6abddc9970769c96ebc0e4c4ebfac7d02e9e87516396ef8134f182b4fedead9ddd8e5a14ad15a395009d58b1839b3543c9c30c01255a56ff93075b7cae3f6cc0717d8b932ba4ccb186a9af42c0df16e4af298280dd6d19eb9b806c05a9d08f2dfb436a9a4d8eb6d60d",
+          "padding" : "3051300d06096086480165030402030500043f43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "84d3cf49f14eb7e6d625614743859b9c1ef5a79c23d3c16e25c492c85df8c3d8f5ed0a6e548c042a71135bfac1d209cf434700e8a6247f8d9bd3f1527ae63a5b797880edd6b3112928b9878a890cb1d0aec6e84cd5da2d3191d590a57a82577c8db2cc51e8eff17c64a6f445ba202c9f13af6b20d5974c88f88bcac534ee80eae451d72bac360511ed77d9a09952937129790dbaebcc92014bde155de59c13ce95784ccec3b4e9ff0a08281fd30f5180f62667f3a2575e67550281c2f3ee42af8b9cd94721713cc95841311f81cfd5d50883d063425b8a307f8bab6bc19441eb5eb256b6cee8126586707eec75465bf8fed4bf010f00633f2d2a216af178f3439fe0857921a92a642b83c7edf45b8b7f0e280cb362fef1e6b77144465aa06968971861a03c8f6e6b0cc77f713a1417ee76934d441784fe9df0e65aa5f439a0cf9889c9366a213fa2f9302d8a70b4d9cf7707687cd2214d720eddf7a61eb0edbe679df5fdef79f2a8df50e90f26be5e156ccad330a3f81b998df0b610383fce24",
+          "padding" : "30850100000051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "f3d8e162aa3662eb0648048acd70eada84b12a7d15476e58e47f7720bca89a0f467f7bc2c6cfb17273d0ee66c82c2e82c7cb184d073af6a601cfa7c8df3c7eff348fd32973f8b3502d5257639016ebb24cb6011deb8ed816ffc44f262f03799b122a0c3bd7d69df064a34b166d7f138982fcb4bc2332384207117986d92bae3a5afafb0836a892a6c9403cf7054bf02a82851b35768ea77498b4d12a6e85018aa59623644e18fd9ebb4cf3490e8577994836a84ce6bca85ed3fce977e0fdac1eedc81e4aef60b9de47900b9dfd1b67a0c89b0be88ae67a5307576ff84a7f99f3f030e2133a51bf7af75142f59330e2492973373e64f34a05ba7f2262ebb91f144a89cd82906358e5a8bfdb5e7da91c2ca95d0e45cd2bca9912b27af36f45d4cc5535b0aa95e75d330cb01bcb01e23438d0bcc4207a2a7fbed4d762d6a81822993bdb42baab84a3b9cdec3dec31729c831cc28dec111605924ae0ce6d6c16ea9a605171a82cb11102bcab108229271e2167ba6ae715500038d1186204ae2fe685",
+          "padding" : "30563085010000000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "2c425edd6db32c3a52db746211cd9394a47a93dddc932e3c563c9a6a556c5fb4655009fd1d9a2645999304eb0972edea50155e6e1db3ee990eebf35a5a078397c284ec71205c0fc2fd09e20716f82c8dea46ba80f86b837c63809c2df1e51a05a8c9300f2140796fc3f22a851d98e96cc7d70a868c47dbb6364dadcb6f92f1af23c42685fe28c0cf5935d1a0d22be4dba0719644caa84eef15660aed1a32ecfa5dd5bfeba5c84375e5b92735d48d017162660149f8577837297c52522217a2c1adfc42c6853003a75adc7c011d695f3cd17d4266d73bb07553e146d4a944dd072124d339785e7b03382e36e2ee72c844686abba9d273eebd06e202b583fcf74bef871e1f2e15bc99366cf290eb87519cdbf9328da495e392f2ba47d05465f0f555ee915c4a28ddd14ecc82a26e88a2b74e4eed0c0e78aa8465345067c2fbbbd3e53b2c9c7fe69e30bf1c6500f9cdb1c953193d5c334db68318b753d8477ae8cba456a60b1641fbb6343cd0511adf3b836401ca20f01ff2dbc332a91396495102",
+          "padding" : "30563012068501000000096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "809455aeb2529962f94c2a7a214c7c449df1186c7a568d808acd7f21a898ecc63e23e859243702a7279a873109727d67a915ba48df76694cfa2370e5243386cc7751e2b0b40ff511fcbc08b8fd523fc094648c42907d3c30d21b6a3ab74cbf6787001a1dee5366a37a524b831be807c3776fec00575d3d723d4d4edac2cb8875f59c03f843bb9b379e833383e42bb841308a78fa1200f727bfeb3c418a7cecb03814dceaa65d21f8fee9707c198e3ba77b66a9dcee4af4662ba97e3fa83ac7c92694dd3bbf6360016923f0e6bbfbe050bc1b1a073ba08d0d567aed49ab215bced50d2eff95159810de874e174f614751eea978690aa868219b12449ccf74c6ff79e018428d8d41b1ddda2c4abf7609ab48fabda5800a0b97c0d88f546a5674cb507b909bb2c380d1c7f34d65f05a42a872456feb2e2b97e9071d1f17152e2cfe9d208353bd887eb36659d9468d7ec809058523347472d5bff81c44102c9b1db841ab6376d4d16c251bbc9885eb11b7b3187687d15635fb51d9ee918efe40dfa0",
+          "padding" : "30563012060960864801650304020305850100000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "8dd51dc50f3f37d9c4f4ce243a23ead21eb389c27478e295d95abbce83bfa439b29433b550c4e04832f16f59ceb29a7c8c38546a8b5070d37033229cae1ba097b18c05bc590c483d9e4653ce0d8d10734cbf74f35346c6d09867d5e54453c701b9ac228225900272fc916f1207e791c9cda36965935ed16a51ac1f38f773194744eaf00d6d26999ab50256553be60f7679c7001d33415ae3bc4a1cef1dfa720a65e4da6fbb87dcbe1820518b2aefc544a27a627073d6dc5e1db59991f70fccddfa909d7c1a261c355993408229fd78ec8cd889e3f7c686f5db7d66f0aecc750ac49b3fd5e4cfd7702fd2c8181a2540cc7c6ba944e2928eb547b8cb77430b1aeab5d6d1d374515106084abcc8753d3e92370bf2af7685c1fd4dd93f4a04a1dacf15109617f8652758d1fc9ddd78cfbdc44db85a5e233afa29ed6d6c239deadc93a105f47da8a77b34a6bd4ddfc302a3eba565184f3ebe4e086437edadcff4dbb0aa17fdc50401651de60ce7738d3fc0d5c51144be50b4d36b62a33dbe7a55fbc0",
+          "padding" : "3056300d060960864801650304020305000485010000004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "bbb3dba33bbc56a859bfe0cab3ef7ee4fd1b9b8196f5bf02f55c3fa70ab8eca32d5e2d95e3166d5137b7136d21ee17fe5d790b37f51b030521fba37b0e1aaaf5bffd62db0421bc82798e58f6b94046519adbe859675acdc9efd050792a3ececaccc3dbd774a9cf426c5e58527021cbe8212c9158baf67a8d3ca0361364d0fd486f0402e8b5a94894b3af023ecc6b9c0ec8c9b717736dab8ae1da1c1913df84b6a5b7e6019e3e53efba2bead981e49316f671816b7222deeb8f3f4875cca353351d810f271d3c2a6663e34a8ee083d80a861338e22ff97e542878760ec0fcb8dbb390834409754b95f902210be72d7104abbe1a87979c0460dcccd2cfa5a13470855ead59d0d7554eb6b5a12611c5c1ec9db3ec7d3dd795acce3a2c4c71bd55c15986562689e808683442ddbc8ccb048eb2b154a66e6e19af41c233d6196155912bb1a020fabd6e803f04fab88fc677162b0d98c42500977c002774341c3fa455b6092d8848958c94de4641a43a269cc6903e512ceea3512351a05c52bcc2ac18",
+          "padding" : "3089010000000000000051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "4ff317feb7f29b39f43c6dfe386347e057a97c5063007322c8ccea1761e5285a14a25cc84af041407130fde5e7e94d5196cefefc485d1c793432e62a8063557a0764305b40a7619b8e9aa9b395acd64a1c1321fed36e2187ade19b9a25e52373666cea888f5c699da92a59f2b2db76fa29b8e9d9b78e6fe42fe9d722c524a59a3ac8d7551ad5c5838c4ea92685ec6dbb23b6b69eb07e8a187ab78af4ea81c2d14977be336faf8169cc189eaac340c9578dc6d98148a14844c220ac1085a80c5e3e4c6f04a472cf1a4b893aad0f3370d56468ee1cef675b5fb77da481f128ce8aea30c67fdaad92f26db2df4c45000ef581e1a0f323ffb69e45981a6c1c8e45ffde22b4cfc0045fcb60e127820f4f1b2568797dc34ae29e916030ddc55d78629534f926a230c4144543d383aba05fd3fd1787bd70bb9fb8046d26c4d7034546452a682de60bac900337e5a27978e5b709475f4e01a1d57a00190b5e829d81e82f38450d3a21b5b6eb83ec0c491cd17cc91b6c0553d857a55fac7e8dbe378c95e5",
+          "padding" : "305a308901000000000000000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "80a9e92817a9edbf2862f1ecbd3029cd1ba0dbc7abae4ea0ddfe44f49c177319a37b646c41e7caa8153e7d88b174e720fd911e7bb09d595c2c46f59168ba2a6a8cbee8a5cb86e2440e4bd7579b6de5ecc56777ab3b0184f77d3d1757ee0e9c9d08d8296eabb488c4b91a14555178ae86f863756ed3a8beba4f59ef90dc75dc3f9d5faf6d4221dd13a6ab4e353a97b59d431042e72956cfacaf8fd95772c8c66ed91c8dc901436e508bae2db4ed99230ec54d0a13436baaac811b78d01050444bf488d507749e242086d11f147b385882d1046b855d335c3ee5e35ebbf7ff4e712e8bf76d4733e6e0f7b84c5e59fd792b89ab1cc456a89dc866bd6b0ac4b2aba3ac7218ecaccc96cc59ac357e1d9705fd848a94fea3d2034b657fc816466c376a55b98299790874988d078330cb19d8e354193066da3fb1aacce6ca61960d115aa3985f02a7948531102b1e473f73303925d8ef988ccd780c55eb0a3ffd35b71d098dd39d42841f19b0de234f18ce8303a4016fd09b73c911ee9609165382ae34",
+          "padding" : "305a301606890100000000000000096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "5936466b943bb0b11015c946373444d97e2af61ba6e67e8a4004c77ac6818aa8bfb5bef619d1267fce4f49fd40e6bf85690ef69d821afb75d6660d0a023fb67b7139f7316f7fde0ddf9d75c3073f1f2683dd02fe0c7a2a2d8551cb88cf3a4c1f4f73ffbdcc29e0fa0f148c7e6649b6f8e7453b708d7f019473103465a24d3b8dcfa98e44883b3bb6a24ee0152a4263b8315ddf52acd3d2f3509fa5c6ca0428aeab323ab77f0612e5e74710b515ea8ce35266540ea31361b1bffd59fa9139ec39962bf5507c0eb77161945e71270dad21ec30d54d9e97f088b829950bb236c0874f4c2ed134b565e7b0e5b63555a57d82ce6973e11f5b737077e336905c87504a24b03846f38a9fea414d7c7a7b902fbf34be86a0087d78935fb0302011a51c778a766751c1f0b11d014f5c33b5a1816eb86430d163c5e3f75ec28ad8f315db53294b5f52ecae24fbf8b1714711ad60766b3952e459b7ec9fd589ce2605bb1c11595e4580434cff6f748c00bf176738b21d2dfef0c44338a1c05660edb59f24f1",
+          "padding" : "305a301606096086480165030402030589010000000000000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "471a17bf9d8a875f1206e9c139877b50389e96d0fb6c15e2f5208ca8a35a6a11cab06ef4b2b8ecd7518f2a546b792897747f9ba849550aec6bcdc268cab059b63dd69e459e317ef3eae7b508bd9e33f4c58578b45a47364e7cac4629d43cfb9d6c4585bb2d8a2f8caf342c4004e933ed6baf652d178538b8a0cebbed2447906f83261df3edad17440e0eea7eca270cd7f2b5a404d6e72565764dcbf57888df3a0b8a6dcb52405b6819af81bcdf36d5c3e7ca8b73224929cafb9d1e98bb1be32f2cdcdaabede8255687d8228efc0713bc901855fb63757b9e755033cbbf09941824762bd0ad53c724d3c6fd01877424c2107e5ca9c1f7e84f1f9dea83a9f802e22d3c2f10833c475a3dbbb5b6544fe48bbcd25248da0357502e9c5f4c00914dc41171038e800082767c62a9c9ca6ff06561f7cd35d9626535fdcce5beae3c9505efbad478915936dfc3947f86776a25c5fbbdaae42922db2607809033ad2296d602fbf47f0fac1c0a281807c6c9fbd68f4d45be8b1d1a0818b0310558f7c81558",
+          "padding" : "305a300d06096086480165030402030500048901000000000000004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "c3d7c56f39e387328b551f8e33f1a8f6ebcd8375bf8a4ab92df72c732e73919778388f0a3aceec9f6753133626887c3a5793cfa2e8340466e8c0d602663cfc169643a46eccd913085dd1dd1efff1046dd441b1dd071a558c629573ba36631105ad76d89561f284c6321c9f35b1c4d5e588cc93be7c62b2db5b8c52526c8815c9dc5b755431de7abf8b2ae5750dea20823de561f92ec3630f80606a0638a18a7aa71d24a6e19f6ac3fa16eb77f769da4b27ca1b2bde187d10e297f6c8ae8c5aebd84e75948942bb64504ca0230a6801e58b23a7aeb2ae1458b5750a894cf6c5dbf3c60b86ee988bcef8e30f21afa7197e4103fa6f4f1a87680eec6173f480c94e11f8db980597e38c71f36e3c68215d810504ead6ff1b1291ffa5d178708ed3b0e5b9f5651fd1df9c18b21deaf20b1a8bc6de73de6e7337315bfd428156fac738542b38d03bcf1403ec210f67753e5b73db07d363ee85a595c205bf25827231df2bd576167e84c659e9276c7611a92fcc1e06af925543c4b11bac35df7ad14f34",
+          "padding" : "30847fffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "b2b73525c8a556fac8a98c717231601636d1ef1f6d52265bdf3da2236b35d6e673277bfa2b2b1222d6a90b50a30877447573210c87fd85a48469185198af8bfef4393e0b46b416ac0cb7fff2be11860209c340e470bd59d84dfa598b3635a5bdefebeb35feb4251157ec940a0c0fc6fd5ab97493c3e9c663dc943bfee7854f2da6f9b91a9dfacfb88bd21c15a488bf2b08bd00e311de4bb2aff850de3dbd9be9e73b9ae4af9a2dd0a7a3cea94f1badd56ae6679f5cb87cd3eb7ee6ddf7ff426686e551d846eb8399124e23d6b87897bcbbc0242cfaf48f8e08e9d5957b30bbb4dc942bced416ef50388b25208c5f4824ca875c4ee75eb1a705c1b5b693dac65e447e06f41251b295e05d4c5137bb7c0f451a19adb61bcf1282ce729b3ad581596d99c5876db7cd4a614112bc9d5557187b824a266434276c3ba8bd30c7f1541844a262ae8d4c09419c6e21881a3f4b0a8c3d958abd7ac0a9d0e7f1770d229177ad8afba36e324d254d36119d13cf1a47c93f0bedfb7d1776acca7c9f14cd56e3",
+          "padding" : "305530847fffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "4c8c062374efddac383db9c6c0fb53e6687c202caff3378e5499196496956785134abb5cf8c9b1ba586852e2fc5da928643fd375515930fa101371cb855611bebe46e374b8a5b4b2ff7b19e39fe09d8fd72be6183a564570f1fb7b488870d1941f9291d183f323bf9ec606c4388409205377d1a59723d67079689d4ffb138656e30ab4cfff33a0824ef98721f83498bdc7f98565ece6c627aa71844d9557ac6088f1ef2dfe81260c57b84b96d96afbf87e3c18c86a0f3b77bfd99f3680be9c022486c964c4c1de8d777486fe9dadf8d3c865f56069c947d634055304623ff789d5833c73ee381fc4c68ebda227593eef7ad9cad4ce4e165b82273d8bf8dc2c33004ec3c2be3419ec50ae20e8db48c2dcfc7ebd769ec0b04a4c3932707bd355e9d5980670408e9da32a5c90308f8ddfaf9c55b3b7be081a30c2d9cc155f2453a2004d3686041fe31f3473f2dcf04010469e2c3552c52d722e6d0e09947ff575edfb7b780ec77c6868e196229159fa197299008ceb4c8872877c692bc372ee5c4f",
+          "padding" : "3055301106847fffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "98baea66be8166939f2fcf1cc35963c154776a65fd7e58405e1fce04e2f9d7c25bd8a56be3b0f937b8c521f7e2a9df4c98297fc2aa696864696194c7e742a9769fad227db26af96f0e50d613e02ab24ad142e1642c779ba4ad4d4bde46ac19deba7a694e21659048468bb4da16f8436bf9def4dd148c9b1ffb92a5ce9263a65ce6d729ae9976c59d5de757548b11899704c62a47703fed0451944a82b3e2d592785038edc11a5da29975a5432a2742233b9e9f76969cfd9ce031dd16d1120e2f8dd1965f99d3c5d4a2b6486cf952fdc01f227716b4311154bd8a25939ecefb416e0cfd169a89f3acaec236f3dddb13d417748216fca0e32434ebe953cbbed454c263afa1ffa23ef047c9b06114f2a56109bb77ef58d92b9bc01bed5eeedd7f181628b90df2fab3a7d6615b01d41b9dd1a01d7c467fe1acb42cf7c7111341cbb0fe7f673230148b972ee2cfa781ce2ccbcdc467b8a6aa1c20196ca4479bc88ff06d8a2f0c19ee272997a0f43f2d0a02a0a6a8a1032ee8396574fbf79636970735",
+          "padding" : "30553011060960864801650304020305847fffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "c8443c63bafb0f500af4dd195734765d5177e2b81016fbb647a64642f08701cf00cca3a15b76ae0f60ca9d1469d3e226d5fbcbd33ed9b249def58f54ef90000df2ef35394f454aa232e3629bd95d021b393c7c5d7fd32a5ea7cc1f5eeddc14ae8d80c7af0d781ce0609993c52943e71e01659b51cd4726f9c7d9f8c23ecd6f946dbe5991f4d064a7e7ad92278a00efd19c87a1ceb5ec1506b14860e12db6817556e279b65504a97ade4aedf84e2f44256d88b7db263be75013b3b4e19cdf4f43d1861936eba689cf9f33e1bd514f294fcf4a37c42c2b64d6d40d3acba6b437abd74ff30f2ef733829fa5c5fd00dd5b9aecfc39ba72191130944347360fb721a8d47085aaa33e35b6f5ea43cfe37d71da69ac628cb496bfec81d0ec6663436117b58d5923c09b345d399425d8176f072eac65d3fe6823473c5491c4cdaddf004243ccac1fbb5133e14d8aa59dc936cb9ca1db1716f2c8a631a751b494ad67d3c2cbf8cde2c609bdb4e847a4e318ec19ba5bc804fb92e8552eaa74e7d6a5abf16b",
+          "padding" : "3055300d0609608648016503040203050004847fffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "32506bd08dd88da1d3a3172ed17a6d1393f40413bbf2a7fa4f9393314b7d158a905c1e528d4f0b0c47417d20234f55e58fb9fd87344773b311fe4a77137a829d3a80dc77dac5170e32be53c212404d2802e1cdf982cf57261ae64d402790a7ed8efa42d9d807698884d23187c3f239beb3007b014e324e9f5f070cc225ede15115d07da064665f8dcf5a439cd6ab2aaa86cb4b7bd0f8d97c1c9a1eb3b416702b534ffdad74f447428c04073335bfc96b6f0528b0ba541ddc7aca70e37ba0b9acdb8acc1410bf82d5e6a8effc291f5701565d468c1578025f529be0cc7a2ae473eba843dd72ea8a6f9b3022c79d05e52964287ec9c2156745d4a14b304ad7d52da8a45a854becb8095917a4c7196afb2d73d35a7ef65748138a46c69253f0f67970daa38e0d435fd8f8763e9eca8d3be5ac96618629e30d285db481f23906e8a145f70fc8eaa71e451421501c579446c9545a1d7d033bd9ddf62e587b97ad7925b60a5a69ef383405126e4e0061b0349f9cf292641bb2050a86fbb505a68d321e",
+          "padding" : "3084ffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "c0eb720b105f53c191b4e62f76d6e49a1c2319c89f4223f1849b0ce95872363e782531d8a1a5a45e4422ce872327a49651df41705ea48087d797e68c1fefe0b25cfc01b457361ac2f98f2b6d675c04a62aa32f18aef7c488205cd1d82c6bbd14708125d86fba57f2c54a667a31a32af54d8df6906c07595d2dd3147fe4ed42da82377c88f44b7d29c8c1daec6230fed36b4e57191d950ac98c78fcbc6e9405645b3c5fdd69111f9e3badb199888d0dfeb69ebef4a4a39465cf9fbc784c59c2fcee8e367387554148ee6318b8a23d3526266206de788c7ec4d93e60e537bc3a13a99add8087f5a33e6c8904050a9b9e2ed7efac91db3e4672a192b6d11f38ffa57f5420043da23c4c1fcaf46adf4f7ee4efaa5f72ab4560953a1e9435f93b00a8dd4b5865d714ce5d026a0ebe9dd56ba7d4b35f33fd764c04850c5dfa91fd6cad03d71d41845eda65f9c36c7117497e82988aa49f553a510e812ac475a0c510eb03e0d5d531edcee01c475b7cfe94a77bf45a22e06307a9f6c6953d0117e3892d",
+          "padding" : "30553084ffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "f6c8f078a23885c0028b37ffcd85c2bf29a853c4e07a65ff76299a9b9ff9dd4fec9553188fd352addd5e0d0a968b8c58b0b8d501cde7dff6efb40a08420e1ebbedd9d1afe0caf03392e8b1bc075e89f269867d5a04486c6fd64247c0cf2fcc5c6574013bc353264b0fd396380e563137a5c360f13e41a73c44fe6b5726a0787197bcc4048ba50c553e0e7ca2ebfc153e72c57f3a94d8e0ae1f48b5565883579ebb50e3cebbd289e378a284bf6b8c6ede76edb0285516a799b346bda815b860c913182ece4fc3afda940b9b027014bc08e0aa05be909204d624e0dd07d2a883271683936eb8bf2266f1f41073c77718fd675299f4c250222c031f24b0d1aa6d86c5aa54098324efa8704aba7d32e4b9242b3c440e82a4116c20bd1b055d64d9b4b2460764751f92c901706c6865e201da551e8213d979f6997853feed3bfa973e6948a20f7b3ad4d0c5f8e767b6071f0c095712c36ec226a36e030e8d5b9efabf2b626c3eb673ba8c14e099dd22f256b90321c74b4666eb6dd86037e1bb80dccd",
+          "padding" : "305530110684ffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "c2caaf308875c6fc7942adce507dc24fab21899905efdfebf24e4d189cb46734eef0547eb68b1fa0e9d3be5e8714f404c0ed1f98d31896f2149e34ec077d493849e369aca2047efb7b4e8accfed92678d41fe8551bdec8bc6073e467a26648b91b885df097c25dcfcd8477301eae038cd41c90d51496412be9ed858dfc111a3b45d9f1b3d84c0449b7f18af43064e703e3724cb73d49db2f92cf7b45ba16608ed332b7ee57c05edc283f7eb572d9fc18ae1d50de26655c06a55fbe09e3d68d61953fefd0b0d42fa470c6751282e190fa42eec5c2a0bfbc58df41198a7e52af01cf456fd5a50375b54edba81902aa21ea0b96919b95a4d605ed6022460e6e811ab23a6d2b889738aeccc2480519e8d3c07e10a9f79b6fe4c9feafd6d62b5ee68f8cf840059050ac40530a8b09f1767dcd6c6daa488fae26fd9daebfbedc42e851427b738129019ba4aaa0075710363c5f3f798865acf910d9be639468bb084c6293d218c1089440c3dbe3ecd4560af4ebfba79b680d944af3aba9205c73a2e7ce",
+          "padding" : "3055301106096086480165030402030584ffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "448f9991dcb8b062ab546671a097260dcaaf68163440840eb0232ff8a2bfc326d53dc49fe1e0aa84d190522b3020166adc2820fe7fb51529bb9b52caa6a50bea343e1e2169f44476bf3b38ed93206d7f3285df546b674a570fae67f1f55ec3cf3023827dad09b19efb3ad90fb462438a93e3c6f555c8c9fe235c35211aefde711a2b81a805b96c5b5a27f1fe1b16afcb95cd0cf4337d20ffc20b8f505a633972bae62274f15128ccb061822667a6a14c6011193df2d43d3366b79e8d5d9f49bfb8cde25771979fc3dc58b1d5ed9b2952b885340eacf1bdc88a9a83be6ccada327b967310c9653c08985975e15eb7852ef9b815b5530d60217c9b3e2acf38c2618fbb893fd03ab47011e7a17b2acefa5c5e7d09deb4bbe283f5c8a0193ee8273f826afd3ee5e035be329ab04a2acfa6e4f8ec6f90e4e9c8954e1cb4fd2b5846643be5ec81ebbde608deb60a9448e53f7b2d592dadd0734b99cf150dc7b1dc32b0b1dbd68074a2ead3c4d885b404e81162639a34d065626bbc98a46066f6887318",
+          "padding" : "3055300d060960864801650304020305000484ffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "a90662e02c0b8f5452f56d7343ba207ac0a8141977c46b74923a68f9dc155abd0230dadf771262b1c02db06de7bf78dc40904834e01b7b8bd07d48cb1f0dc9adc5dd140234b7ea8eb51ae64b84ce799b3948a8c7e3601328c3ff520b712fbe037d4ca78353d8b518660a0c0f61d3141f7b6a010e2f7b644665a2038a63174156d67f00fcddff3315d76dba6daee07d8315e518a376b3d4f695576670546656e538d7eb8851497c6e8428dfa0a5a10e3e7834a23968021c7cf17d2610254d411d2a9996fc8052c38c322004fb359bec00b4a781e4dfb66eb842054fa7ada84797010f1dff65a0729554266086e4767dbe7c174b8540f5da25578a3865caea12915e4cacf0284495c208dcc5096f861997d45ed89e534207c79737bf420dd5c9d6a6e81a5064c72c3cfcdd25d8a3dcaf2a9968aa97f8189a37db4a228ac26894f3218c1466343ad41d6b292621e795289bbcb5e80740ff91283012a7f747e0220ab94a8ce96fb54c417e0ff6fb1795f078ef6039939c24b9dd32d31c4b68069537",
+          "padding" : "3085ffffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "d8436c155e096de5d22e627bff7f42869fb228581273e9eadc0c3f35be02077b3d37c8c6e4fb39300a1093af1fe0cb42440caa0564f7a78295bd1f8946a218051f7257323aeb227d80f3430576da12a54687c96dda4c2ef7e359d5fd17b7d77a2fffb09480d17a60c80f30c4e06724783706b210212ec11cdaaf91cb1a7648b3d197a4c2f4b79380f356a06f026358a5381a4c975eefab6e9546619cf4df87ec106066448644a415820af3136deb86d34b61337b4b0e3a53ec136ce8b26f949a6741bf067ad69da068af1291451b0b882544ba72b74248f6f7df5186ac7da1946c4faf1e1e0f08ccafa7bae6c9224d1ccb6a5fdb778ac4e55ae414be393de1da87424b59de23d245da78bd714ac7d91103c296d4407ec50b61f1173248e9aed1b19ae50d416d9d2cc0464261ca9caf17060a0190baf5e1e3acb9992da2258c8338813b2a14dfb1da5947e694a44e9aa5ad75eddaebed2f837a2b3cb5827ace240f754a9542e94f9734d8ebf895a3175e978731726c24922daebb40ddf75aa1d1",
+          "padding" : "30563085ffffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "beaf12b6741d14ca48fe9824bf8e47c9d08e0fdf9f5538151dd92c85a039bc8d402e942bd74de61f4c1b7bb3dca3e41afb93cbe35db66bf58d5770cdea919cbf0cfd61febb4ace8d7469ba67bf4f7882f0bb756bc766995c458c11406b31adabe63b33c6203c461579e4c79b406bd626156549b9b222122b1a2d22f6a8d58d0f79bf212a61ca58ed6ce036785f7ea78aceb5490044b05fca41561d4e42802770ba24bb1e7cdc299f9c3cdce99a4b22c80a6086484048132933f0b8c5f42d840ab1ff22d0e7d182571555fd503215685626f4806e07b811f560ecb0387a4f63c525c84c3b1640be6f8c4f7a7562ef232dc10723b7008ab6463f7f5019499499c17c19852d7c60d284889ddbe376e5a4df0505e6cc7dcb69f04685d8d0cbe6aaf127a49bc61278d35d7b9eda9533939cbcaf0f8f8f85f5972ae842920dfea6e14fd5b1416c9303388bd14c4092e6fa86c127e6e8d7859a590cf16a792c3b03f71a72a49e563b7e787aa2982e76031e63c9b81e07c6a2cfecfe3573bfec21a8e9c2",
+          "padding" : "305630120685ffffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "b89b0c1f2bd605ee42adcb8ec138f8953395f21dbf983ae6f86296a561d8bad404de8999478d7bc39e9272366b37457a968e68a15d585ab00ce110c58345f290c53432f066c77a027cc8b5fc1509ab3c52e7b095d58e9d245fdba75d206274a01121521f6e6560300fd2331e9a5e8b03a139bc7a6b636e5e519cc7950205bfc03a0ba272ec010b96129407e8a6eade7a3520b56e1d68bd2edb4e0ac3d97e6cb5ebef9a0c9acc9df7fcaf0572935063b2e6912b1bebc4563ed36c295ea3ea27495a11e41ae83fd8d7fe0437947346950b87a44af579713ce590d4fac398aa961590c1fe013cc93b96ef404fd2203313d472a05d8f0fb20822d54a8c3d75939015749523897ac13f18d36c5641f5436eacf5dc02c659a4df5583a8e86b2d812d05da32d0ad9cd5a82e045fdcd558bb4e5106de858bef6b6b5f225f7512cb3d3cd7a23652deb7325328ed59e0fe922c94d5890ec582056eb7f282b48c9c1054dec9c3fd27f4c30609aea52e89e50a6b5408e910a18ba5111c545423fe23e043e0d3",
+          "padding" : "3056301206096086480165030402030585ffffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "e447af5561678214e302bf3cc4f4023df4d5ac8b27ad8e1586290bf074858cde3dcf624f6ddc6733ebad8ce49bb87dc04e6c492aa0df5b2726260de41353507cc15428e257e8f1068b79972d1f55fcb4100686dcf2cdba809d4ec70bbb22a9c4bf89e338bc63ee180ee4d65cda949c25c2137ef92bc33063ef5580cdde56f72ca206e38db6ab8825e895f5cc3d02508ce7345b16375892f3fa16b11ffd6076cb12e54c9abeb095abf01b4da32ffc977be357a6fcb4c4ba7cab3e60bc5772a83903285fa0183ca87a7bdc31b5deccd55909fb0a6a4d82af45e42a0d47c57a7541344d864c8732ac3d1f1f23cccb3f196f20edc6e1412a3b15e645a5582a9489ed697f4f46bc9a487154fb609dfdee41c424cf09719aad6c85d3ea1c122e29a8e46e0af8e7052fbb100788007d98b4a325dfcc3c4bb1eebf4d0c3c0812b7937713e8702be35a725ca5a0891f78a854188cf46ec97bdc5b44bad949359dc59e9d3e55bdd891b9850402c5ee055197065ee05d702d54f3ef7ebd7a32d44602e73383",
+          "padding" : "3056300d060960864801650304020305000485ffffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "385dccec5af89ab079eb126efacaf253d560d2f0807fbdb510f7b1afd9bf99bbd2f37e1a35c6d60517774be91f5f182726ae5bb031dd5013addbce8601b17e36ef790c99221dcec94a5f78d4d04deb3cac59db4dc87b0fa48e6e1e846c8efa86af95f13f28b3eb32b0b5afc71e7a74a713bc9f675629c77325527212e3a033f11722314f16b6f5597910a26aa71042ff8ae271d6adf3a294eb2af5dabb0406ede91a9f14fbd8835f83e50ab2f47756e287fd4f0fe09c73ba13b84ef6510a40a0aaecbc3e2d3451024ce5e08617e8b88cda10d3ae277636c13b61c2f81dbb1ffbdcdc4b681f4cea0ae6f9d30858b9576e5c4659aa89a5a32410f07fc6fd4ffde8f7cfcfe04a9b8b9bbc70863360b71ebd1b0c9c04889a2c45c24c9fa259e51deea5c313a9e18e8e44ba8c892b7e3cc1c3877cd7531b4886dfd7eb0104ff2af8e5a886774ea7114c24cb6fd617398c4096355df008ec9a27b7bbf6220618ecd71edf86ab2eac7506de4bcb2151605f767e3d7663dab57df275136299af1e59a5fe",
+          "padding" : "3088ffffffffffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "475af5abd6944b6985018ac37700f22f00ea36a9e1d6072450c5e8cc95ae37f13864b55ebbed41785a4222648e70841d3e5e702efb39cc58fbad00ef9629af8b9390b994ac91e366fc85518dce5a777553019604896d8b9130664cd5f40afcf455caa40d684ed09c3c968779b06a196b8a65966ddebd3bff289b6031bc1ef8ef64d69b9f98f47ebd8b28d5b761f7950942a714f487020a9fd23cafa893391712328a275a2656076e1ffac7ca816268e17e0ee5e71636c8757816d1f7cc199850c09cecef27db8b854023b174b8e266ff1694a05f78dfa84952399ed48102fe170929bb050f8d4b1fd2e5150a010b77e270c50c65585c36e9e6c860b20df609bbae4340070435f7a8c7acced87dec7f8bc4e2232098632794f2858f5ac5e13aad50c4c187bea9d4d7463530bfe565543079748d9f1fe794bbf7a7fd525a907d7d533e3cd2d6a8e40b26773084f0ab15aaff91c29a7c094b88d45ea39b37c14204682f9416226d11fd577dffc543066c5e954c1565c400fe07985cbcd982332e1e",
+          "padding" : "30593088ffffffffffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "f50372a93313b5a19689d40356e10d2f6829b9e46d14e613ee1ec8fc44d488b875ba440508c8b20d40124163fc5d7e98c8cf85943909b2c224196c08abfc2cbbaf24f779c672ef8f9410a7e8fcc9a9e01427155194433ed9078aa46deb3e4a1dc8d68fbdd3ac1280210fa3ebc917947a5672d58568ff54e85ae740e4f53f1c00a664efcde4937fdf3f6fa3a0ad5aeacc68108810e6e436f6fe8b3ae31bcfcebd3b7b679cb74d57c7eb78d81ae9b78e2de3716bb971316f6e2c0d1b474f74370400109bbf297efda08602efb86feb7e047bbaf92eb73332419275d9175943ec0d1a70ed8ad3d63f9696981b83b0003c93dac1d2d8b9fde2978993b42939c9e30c3b3d2da67988a89b8e1cfc22847baf8b390a0d3befb92ce103264f9fd91d1a9577b300a9ae5f9f0a77c41cf799fcdb2e188f9afc8029a5a88e76ad3b4688af5b272100e522b294af1fd093ddbb3f82e5f617e0371faddfbb8dfc605e2b9b89ad65c2e5df4d315d5dd4a16c8ae6b96ea289a6774fbb06d666f6e5039003824674",
+          "padding" : "305930150688ffffffffffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "22dda4b8c0af2d3038074ef87060d100822ccb58195fad6c084bc1fd81ca7bfaf3ad5bb766d265c48eccd4c3dc0f16e846e9ca36c5b49d716d64ad0710ad327d6478552267d5b5b9f6afb1e0cead454fc48f52b5e414626fc235d9097939f7e68f4df1076032eb024ea336ff34c2aa046252d42ec38b4001d0e1991fdb64b41cc69cf3385c9b32f0b45d56680e987df8f7616ff25f320f8ed22407ed24715ec190233dc4bd2fcc9ead1b91dc17fc807bbe8a7d47df0f9970c36d8a89d22ec623492fe028de0382b32d56b91af5954f515a76323cffe09052f68c35955ebc158b8d069e25b63e70933c2bf914d6d41e23cec30a50b2e35d0a80ed378cf9d43e7542fa656f4417c510abc6a62aa71916d0f010edd19403163d0e022ff41db48a7a1f343ae8589c86b7aa46ea554df5b5e9786ddf0ca3c2ee976e5314650f39c6cca280b09dd787257fac847d9051136b641d3f9d4c26856149540d6bc8d6cffc4c4446851a832c3c65854d341ff040921e9d282ad5790a27c46407e9c8bdac5e73",
+          "padding" : "3059301506096086480165030402030588ffffffffffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "557241eaacf5e190018db935feecf28d81ba14e2f91ce295a12ac5f48a9d7c7933bc886856b0a4556243b418b1f7ca3d37e3ac730e869f1b9ba119ea6c1b7d1ee906ed1e7fc31be8276b18902cfe59333b891dd864367e268404875452162ef0246be23a46acdd17234569778c887430f17f16ed1a565e97cb7e1dc2f84b68a3821df2177d4c1967b631362fbb128cbb6706b6128960169c3db606fa1b6e31e5b21c7ec1d8ef29a0138c62f902bea7b64bef7971fcd036164d4416884a97e79f641d10d302533790405f248cb502080b666e75041a6164b0cafa293f4d6793e5c4a42cb4041233d7185898daed6aa0044f1ddcc9c3ff57cfada82142cb54cb06868ee9c13b305a92f6efc4af8b8e8a569c57b3ebccb8bdc19e76ab85adb59e7075afd878356269c63812443c84d13f70c22f1c98dfa05faf85904423bb476b325244de80f8cbc874a5311a106a5b977d2d7c1c053cb2c9220d8ee34fba15757175e7c3ef5a139df245a44d08ddb8fb4525f978073c034c9001bd6fbc11786cde",
+          "padding" : "3059300d060960864801650304020305000488ffffffffffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "201e55e5d00bed299bbf003fda2ff30383c34b8db32828a0737b499f7b19297fe05c4ee5f50f404d1fd347c4042754f327e0aa634a832d098dc8c4a2019114569a48087dccf8e30dbebcde638c8f1d1c7c61ef9f15c478c8bea4d9ae0d5629f2a420e9d1cab335d3237ee9675ed06790865b901cbf29de2b730b77d8319ff9273aab3e041656226c129048040784edf4d13ee1def8fe4d52beb55394b34817c9fc5b64bf6702df68211b637e3f4211afecf8884867f614cdb0eab49a70d5e1e61947f7a2d71416dd72b826968592bf88feada316812301b82694feedaf8cc6f3e2542ae0a3c4023d3e8a9aaf615b8947355da990855538f256927325d65d4f0799039e911cf1e0e9e940a88f771a0e4ffeeccf91588a321e26a48ff2da5d921a0666deba235f7decbe1a3f6b929202227724032af86872ed2e436aa11712173cc0a926b31bead6ad31ecfacdbf98ffe30e1505a42036ccbc76c60f216486ff7d7286324107e95e935a9eba9a4edfdf8f6d76d49a9a9db3aa86f7439609a1a0bd",
+          "padding" : "30ff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "6419ec844dfdf0475c7db66d008c87e999d7ba56b4e567c344c2c6c06d8b07191f0ad831843db5cc931a96bfe30211447f639781c3563ff9d1991cc0e1ec9c7e4312440f801dda8ff5016ad5e1cd12cf69fb34f4b45118ea3baa18502fe291522b5c7f5016c4d770312d64f18401586904f1a96ae8f99c539026a3aa71967af53dfb88e68de1007b063a581d88720f7f5c7c52c32617b1f5f2cf3d4a2964456f6bc97ba97c11f7fd24f8a632a458d1cad6bf78389053c74eac14221a0adb1b813e957b3ff9a65d143b9ae9ebc8a5def0b0e8db934bc04eb7c91c62df274b50c955c374b5081af628af9f7b86486197688b7a72bb634d849be226cf8960b5cd9d1c5ddaef21c919e755ed17b4dc4aac8292d433ecd6b97826d338b785903e6d059d3a7d051d774183c4344c9119b93cdc5fa50ffeb644c09090fdf0083bfa9ef37d01081bb69e28f6d3e4cf2d8ccfe176d961e67f2ac58dd865d77bb52594aaa87be0b2979c3b569055f59ddcb5926303b3b9109c372d79850af1adf1538a5779",
+          "padding" : "305130ff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "df8d82d8bc8e14d29f72c862238c5c350ee2f08b70898fccf17d57fbf082d3e1a7b4755ba68d971190dac33dc1053be648ede6014a272ec7f7a1cde09315f90d931ba1df8d580542569dbe7e28772a7b11ecfb904d519a73efea0277209b596141a1a86f455e6036f869005d434fda24a0375eabaaf9b0e2a7c0ebce38a18336c411af96f31147b611132ba2b1ece8ad8996a4b604b4ddc3a87d85c8e58f0406b0f7fdc82bb6e1441030cc9ab2f610f084c2352b296444340a1d12b49e3cbbc065ef2e24e17516e181feb60789c45b181a3639c395471cbf9e013dfa56c6d5651fa0c1021fd8a2158764e2d8b4a0340e964360389aab5446e8617ed15ec3989881e2ebe086c0d992a7c56d5b38dcab7a6f92de59736d6547eac156ab76ff68a079b8ca062cfdcf1ca8c6f0b7ed1d70c3fe04a143a88870a7bfbf1a5cb7914db766bd91381f31b0dda66ae2c778cd751c676d725d3b8798d9793992bd4ebb0181af7c4b6533ece8251e524aac8466e025ef6d31397aeb15e4bd92a02e20d1e51c",
+          "padding" : "3051300d06ff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "e070274d94d99f502616ae11eab00aeb6f676b5bdeaf3f6e1f5b9c406ec6f56b8ee90d077f26ac42c0886b24213d38eb102745787eadd5b99ae24b4a986c24f624702902c2f43ed8f6592504328d939800a336d3fb742263d7b907074070673b24f5c5e8a9b402529590895d06c823c3fb9d5c933942c5a18878820243ad8c210b2f98b9163146b75a85ae1127ec1b9f80bdda356eead3c79e5d03a4dba63e382be85786c8c2fc28a26d028a440bb8057f3ab64d13a25ebc772de177e3d755e9866fae37ffb69aaf686d48b4ff07632bdfb3dcb21f666f5458465601e5793744c8a3af675b31f777d4fe7d59787d880939b2ef17156e293da74d5024e3715b866f567423e9e0a307c88397001e1dafa88855c314e5a5ce4e635bc9d3308996b8a1d82a5fb3356c0c37e41e5752e679988521c04278ef37dc112d999bfa1ec29be16a20ff9b8585ce900c234bcd064b1d7993d273982a3c02b026a58501fc5241a9b64ce34f388777d6085594faa5ef3b7f0b992648f2e050397cc30edbf3a841",
+          "padding" : "3051300d060960864801650304020305ff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "5693dd850f0170bac3e3530bffb8a9bb80b1717376b7736a9e13a343e3bb97211a4ddf47da7edfe019ae1f411bc29d5b70db962a8f36f85010c276b1141b14d42342485d81ebbc291238d1470687ae5f4d564c3f9e5d56eef63f6206c545a80cc59929d16b1916bf36de340552585db477cfe531c5621ced4ed2e450e9b995d8381294a0ae0188bbb7ae0e4501e590eaac173bed94ffc6c92cd7f95f759615b7f7152191aba74d62d10c22d7be5abc8490f659c337f612e21f26252c0da5455d5badf164b135164fc648053ab29fd73a5966af21f33c427ee121ceb563690254a33b764c6239021d83e25a0ae2d2f9b0b162907a548c28c34eead5b4226bac554789f95b7a7486c5160e345780c28912a7c5510bf661b00d7bf09d2a709b30e66fabc369a436cc1f24051e010d5e66115724d4e216cb2c2d5480a72ceeb694e7adafe963deb72e2d32f6a39b2bebd0bc9fcd9e32ec1d58d238b385fd967db3ee485ab5d6938f36e0cb475a61d2c93250e30172946157ffd67be345fb9d8a1930",
+          "padding" : "3051300d0609608648016503040203050004ff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "7c70ee1645524561876a1b311f389b53bbc5350bb4554e02b427224bb121ce8211b51ce67caece664fc45fad2df211c579e888ab20ad3b86e13b9adf5468bc161589778767486cc620822e1aaba416da06082f48b7331ab9b2c1dc32dc03fd9243b658c9d701f53fe46afaff90463ef6fab2e2467edeaeb01468f1b348d23106bee3637428482f2e8f65466dd9f9a79b892d45e17e7ebe1e0e4e0a227094aabdca782eea92fb78ca38d1e2f9eedded60f91388136f61c450ece1fa08f5fecf50c3e195ec6ab609cf5c20ef8fe342d90e21090a97eefdbd1a69432e2de36d8932b580a0e9fc7ccd027e73d8b5a580fa37a02cc0e304c895cc9f2527a864b48f531d64983e830cec0aaaa9895dd5ddc80a86529dcce89bbb69b6b8b03774e5c03f2412796dc07b5353c52420eab2664dd3ad216fb69c2a74f3bc2a1aeb8efe29602bbcfce10c077ee5768c6f26bfbe0d52ca169275fe87b26af1f2115d5ca592a1c8e63198c4c5d088f2b49aa6aa58c5c0bdf6e836c2cef0b34f7e3effde1ab9ed",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "71e837b50fbaebc31fd94343e5d6e5f8bc45c563e6d263fab9383256fd5ac1f2bac07f6c0d8d90474a1e985ecc5a62481d372ff8b37a867209db1f4389fe80895890607b01f0b44601206a06348813a7457b7a97c7fdcb1b21b2b4ab79731f351a515e2410f93646f889fd391d398a7fa5a0d21b1ce57f6d8c438262e81160dd0c8fd43325ebb6820cab91da203a988c2595268294388049df95b900cfad08fa4b8c5e7d2d4023d0c71d18604388a422af8e8307c6451cc2f206a70669ac7177fb8ef3532b0b3cd4231d350a315b340b9e6603b9b9c7831ef885a72f0f4ebe16ec9a7de4a90ad926b1a4843546f830d50b66d3652b9deeae9d9cc744d3d4f2152d3949b3e71fb0a9336fc8ece6fc733d63c0fa1141b63639048167e1d138a5e4b50ca77382996e7af183cbd330843d378371758be58a657a286c12cb6d555874f38981059a895b2c5f0e77ec0e53c97dd42d64060882bcf5d1239c007166376c0c12e9740b2ec3bb6416a23ff4794a525680d3ebb2c77fd697807044ad720554",
+          "padding" : "3051308006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "376ac86131ed100ff9dcc808553ca9467e94b564faf47c37a9c383e5dde02516975884fcbcae65b294483f74a585c2d61977174f86df067f826f60c8820f6b99fc78eb830106ec1c9ff4e5706b0de93829ebda0d18924503e92dbe58f68be94fa8dbd16ee7b962c58a1eefafc0a2fcb63e086754ae66e5e3366f8c739b589cadab242649e737a983bdfe88bfe239002afdec11dce52597358d79cfaa72820a37cab83b03e23863108920f435340f450ee66bb97b000cd12347febda1b4e55bac1f4835be2a77fb164dca4c1800099bb42f20fcc0a9f36a7bbadfe979861dc1767dc3c58000fc4b4d25c6d4f929333256c5aca2f7bbed9c9499785fc623ca1686915e7f46d66a888f331dc6d1a2b34a09a526908e9b2c19fa2dfb66fa4adda319023ebae533dc57f3fe9895e523ab67125e0d296271587774642e44a9c034ddd876f67c2c1cf7599c31581b57ec97df1841b5716406fb88ee991abab2a34f5bd06017947a1b43cebe448daa1d98c47a56e813e74a42b3ad05c3172cfc394d5304",
+          "padding" : "3051300d06806086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "9f71ed0cb9f065dc961b8ce1a397f5c3eed98aacf7366be7a6c62ed2c770bbb675081565e57d0805547d36b8166acef4468a2e122f92504263a716342db40b86515a34ce3b99505af3668b1e94e6d9be2ac4cf8b565c4fdad32e575a84e0118113e74875ab59a627b18f01b3d85d91b679de5d18adbad1391233fdff71fd1b08a639ff8d86a28b75f161ca0c711a11ce506ddac3fa450de7f0225c801b1a1a4438137ffa669c2d51d8ebec054aec406f890ba4baf52ab45d7e32f1b32d828d3c6d5cdd673dad9d67d192ce1a66c0b0f46725cc4499b8ce302e693a388b69d10ea58fb87c76adb1ec8e7a998f430380a703160b55b62bfeb0b66ecd0190435c387f6dcc0297603b68b4059d88bd671ceb59d34534f7780292c25f0227a7ac84b471714b74be44104817591c981dc4f795f7162beb8c5af79b267552965aea4cc97ce44524f3f812d455bb7b25cbd24f432751c20557fc16a763430f7541b97c4249a12a7891b67c964e0afc6c205e4d6ea5c531b6cb542d64d655341c61af014d",
+          "padding" : "3051300d06096086480165030402030580044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "938394f2a86941956721d808ccc01920c59f3d99370036e22c8a1d381a83feb1b4bf59de0dd2cbdd74c69f284a52e3c27196706c84ebd8dd7d08f4024609114d3fcbefe06ff94df832a37c8a8a756580b5fa5dd72e315bcae7fc0f94f5aa592f0b171c9771d5c4345edfb625967467b3534cfe958a76adc1337786c634db7074126570c080839f7cf8682f14cf8e62c8fcfe86d2c6fbb5cb32ba7982c924f2a0833db59495067cb20455e573d60af2ba687ccfa5ea0b0004b8ff7f49eddac928b61df4c865377438700faa2db63142cc64378fea33289478361ed704f9d419415c6b91d310bb41921b0b09789062be03ced9fbed5587414a6c0fbdf91c98001c8d479683cb3bc3c6cfe2ea222d3b58fe49bdb1520548d193333eb37ab695a99c9b98d2f8ad2de7e8ea12dd4740e11bf1a66fa33d3183790624dec2e25f20ac79ca1e605afb4c7feaa7c15fbc8bfce4835e4e2bb60b3d4691f9c792c954cac2a432254b8e293166e90d20e5ff6de6026cc696e5849f9b1b427212241b15791f9b",
+          "padding" : "3051300d06096086480165030402030500048043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "d7cac36637ee8e4851c5ea7d95d46092937c85e34d6a69c88a0beabe329013ae2ff61c4753a1670cb08d7b407b28161ac50f50f30865b563e684b90b652daff6b6babd850bf208969466accc03f5a48375f7de56853dac4679f1cad8da476b306b7d007f61a1dc169d1450a9bd25959b1d2b0ba5d043e4ec05e897613a5aed53fdfb528057140202d90bcfbbb47de8dfa7e95f5696ad245f2a2061e90ce825366c1e9b90996bf24c73a5dac95751bb9520b4294a76217c6cc3e0ad4e3d37ce4ba67ba09d7fd597536d90d3e65b391d589d0d4092ca44113da696250a6981dd26f4197db7c2135c0206a0120b9b42c08a1ec6730694e95cf73723dad6d40fd1871bed3fcb86678934dfc459131c84f5418b76d1786b55513938eb069e2f788460fef763ceebff1191daaa8e7bd811fa6b44d6b7eec52bd2f62b8eff81fa3b5459ced8e8a8b02d2c6d67e20117eb6bc3cce5d77488f9fa11363e8bf99129a5de92b49e23066e5fb6da9d352cd9ff6e0050a340fed391cdcf23d416d443a86878a9",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "e7b23269693fae38ea2261ea5acb4fd147c47a71a67272d1b1e2ea49b6a82d6abfe840cb8f2f756922eb6d12dfb9a3c95f9b1acda189df076f6e127e5a88bf3c745813ed9d858ea25eceec8393c0dae2acbc6531df80cf591b2f0bb758c1404be3e5e61e26dd194406ac42ec7b925142b40888b4a8331ab04932a184a586260861aa7eb597d873e21a2a36066c7c7490379b01b6b378a013b965c0e0f77d7cc6ae56e5c143811fc6fcf1eaf16bdda1d110e27527bb49b98efcde70bc742b307478dab7c693c543615fccefffff2410453ebaf289a9440920d230e556766902f9f4feb6e950f88ed1b4a08320f6ba997171f56dce8789a462be0ea6ef38d0195ef98fd79d51d1943be9e1649b221f5d087f96a4dcbcdf086161f1de31e46e3f65e1b63a2176eba38fad5ab259bf375d73b6d7227da661181c3b4a13d7ed2dcab26b71c0e1554bfe57318809e32f5b09eb3dab4f5d385495a1be1899548bd4cf4d5d6ec5b88eb1b69d6c5bf20a539af5d6be5bebf29c2813f1db6830258b3eebb6",
+          "padding" : "3042044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "0d2c03a46e39606fd20a39650049b00f2c218a92a590d887e26f33953e9cf8174004c3bde1676d9b3c17ffb7097670fde1c99a378c49d1134c67b82867440a4b2857237ce10a947333503a63b571beef37a59b3511ac6709fa3ea5d814d457af1a864ad365bbdaa383c862c38af292068d839728bcfc1dd5cb7b310baadf1d70419159191b33c6124d2d9750b88eed87c71e811a7f65a5946ae5ab6ebc8375c6d7fdd1e425d4f48b149d2f48fae14e6b3b97f53639c17a68365cb5b270b52bae1c24042776144b9e5d54932524cc83af8eb4a710f2d301276c215477f7192f82502970d5a332f912c0a9ceb7c4104eb0c104da8fbdb3c624d7e87de20b770dcd568f097cba0dc9c1b2ceb9ed4a9d73f7f805e6aa6f0c59868fbd8a6251598617b157ee31bdc119b0444b60451af8fa90e4c0991d91d2d08189283bba14e6153ee671e83ac12d1c8474a08374e47f0687b6fcbd0b844bc435735645657fac76507a7113fb5f4140c01070ec5b27523effcb47eb426bc3231d4e4dc874c4a16ee4",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "e383e41e1322976da40c9e5ce64c7dbb0571ed9ade7262251f7ea21ff94c75002f39edb73f0a9f86a2070b5fb143d078b14d908045135fbc930fb79a59920a90bf0aba0d8d7abb46f619cc95654a6aa675ff822d43e22b63b06c3060fbff2873f3e9aa728d663b64f0b0b561da9c3e98b865ddecbabb990463bbac0810b5703f5196384f0c8c4ad6ad55297cca2267db1ed3830e064aa52422d614340af68a361db77de375b7bb1c63997ca85319738c4d0d7519e0a8ecd8cf098075b9bba602f31d06451f83691dfeba27503f969f70767885c4c659e5aa1957259ddfd8676f58dd5d3fcdf951bbcc9009d029d17b0eb650184bf9a2b2df5e7ec8caf3a52f1223611f1c44bc529019a1e38db9c309ce3dfa8d5658ca89eb071a7fdc13fe666a09c7b22650f07eaa5e3943568780a2ac282fdb387d917639b9327237e7d74bb88b19f53719845d0646bb548fa5cfb945550cf1fb5187c142924f11a7043493c53841da19ffe27521dd472108e75980ed1f1ea80325a8aafb272939226284b7c5",
+          "padding" : "304330044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "01892d88434a5f51ab9502d5f3c41c3dea7d6f8eff6a14aa90077e495a0289e9ade4e9b1a103c5436ee2778ffccccf2c99ca4b844609cd95dbc1aba6353929d8d5b0cce922c8afd3da22bafd6f067e2444cc060c22e207f593832604fd94ba6a0c91431cbc5dffc9a272876cfa4fa83ebf1de5e2d889212818a7283433963ec9a15b3ffe486b69c6c3748b03823485182739b5e1eac0b90e6ee62aadd808160dc1ca47e2b345ade0245f1e03983942fa480a38c53c2dfd3666e2f81198cb85424224394efc0d915d7b4819c92316c26219c46c85e3e29adbcd6102a82159dc5227f9392b28b657b08fccab9233ce668646826a0611855547be04eba7dd469ba2110aafa398ec6f61eda59b620f7f95caee46b8a598830d851aca7b7f15fe35fc8e4bca694a0ae9af7567724ba45633ea12a6736dda8c014a0a00b9789905a6c1b2a38b1b270619d79532e07c8ed940af69cd7c4553d6b5938f9b6b4201b495e44358a09ba92f2c487325f9bf3a1311a47e1b55aada4c994496970f80bc2c4558",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "2cd3566990157944c036d72097a0a275da39b5aea4c5b091112cf8376cc1f1cee1b06eb2000b3a2f6d5f8f952e95ad92250227b1f790b23e394a97a9037762d5e1149ffcd952348932e56811caf717ace174c3ee096bb877eea046ae40478c14f81aba9d3c7e47a988204ae7d29f482923047c85b14ac51997b6a5166bca2c73d1b669d842fb16fae98c4dac5edb48fbc7cd38e120f8a70814592cc70dae5f8a7fa8c53bcdcdadf025f674e51abcc03bd9883f15eacdd0801afdc976e61c664a250b6fb211a4a69e0547906914247008beecdd3f513ca600ee3a466b8a78d86d0c5341035acc64c354f2b68830ff8d176272cf1ff541d1609ff3799f0c3a9e6e448e0b713ece48a14db4a58df585e2d13fa739d4314b98ec75c6cdc74d68481662c48988f48d1e8d98814395340e454085e1153f6bc9c20e4a411e2c610f424040b011f66a6c5579fae1b9fb53b673da0cb5a02ded3fb37e5dc117e4e71302b360a23bd300143f7efa1a5f2d0052d692c18bb4895d52c0bdebafa0b625e13134",
+          "padding" : "3053300f060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "d59ac64e907bfcf38d4bc3fa50b6f2799483d29879a006bc352620e31f395d8e8ee32f0689a1b145246316d27487fcf3f729eb644d9c44703aff5e57df0567035c18c3af96db6e86fab4aa0ccc0c6fb203a50941767dd17158fc4dfdc34151bae10269bd68e0777f23ea0ca8a332f7f9e77e5d95bb00cd6b8d3a0279da3078c1bdf4824c433f13117e4755eb3fde5f9bec4006a8ff9076ec5fe5247554a8e76ace12f27e819143819bdc6112af4be9b25b896b01608b0ffd11ddc87cb00f826458a5357a78e1308e5b5b961b53e8a19b33789c0f4984fb1e6d9315f9780f81e6196f908fd00da1d2fb6b61b67380bd2d2e579829edc44002111418f9ac624a6165cc538ed0ede4d7363b7f716c84e1e9213ed70f02b5de44ada49cd7c83ed819604433aaeca68d52de440183d878b0315388a884824371aaea41290221820cff49e405544cf3545e4eaa4e7697cfdee0a48eb87a73ff47f4d5d8dd3a4f8b09ed8cd2223ee83edf2d41b7ca572aba38b64e987e668bec1ce88d24fc499c92d0c7",
+          "padding" : "30530000300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "f294d22fcc6f9cce7bec0e44a9d7eae443ad7b750a72be5dbb41e3694f48720dc2c1256e030ae1ae06ba65cbb59e8d180b222430a8fb10ed7abcd69c869ad1c8070f33d0f262085414f7985c47d33d0b398da9d272f996cb701bc6f84eaa0861deb5b7cd7226d2b8a969b48d6272a98ab9a9e3b761231e892f4d8e9100a7d1bbf820d9102a62d7d41d92b3d9d55ff386cdfa066afac04c50bb2e1da0e1b9af62de2a7475bf403dd2a4a50f80f6a0f0eb9eef38e00f19861aee8d78a13328469475cf42e0a675f2d6f086115a14243a59f3ecbb6a47d25cd1011d0bb6e1ffc152060465b354ef2c66305165426ec72625d6fcdfc3e830a6f352383e05556f4e14f5ab739f6ba331d3ae8ebffb49157ce3c597eb9718635493e8a0254410bc75755c5d854a316a40845e97da60412eb028cd97d206d05afce20a3221f13ffb7389c400da0047c6690116de9b987c02f09db67313b163b9df54d2437b1f857832fb982666c19b832f6928db60f8c695a4d95571825b7f87bb9601003f95db54a813",
+          "padding" : "3053300f000006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "3d8b8f962091c0abfb446c89b26af8dcf6b607ecfc052c4d240742f5bf9568a7f27cbd016ab734220e8c532412fd3608c8dd3b2437ac93071b2e523356194f3d19cef8ec8c6a477fd9c78a67b5e844af28afd7a7c0e4e995020e5a33db394d24dee4577c41d040cb9f78fe31027eff68090b9841a66a83c4af2cb5d076d853d9de73e2059234ad3d62d56b23d80bf9de926bc251a5530dfbd564db9ded9edd75db0c96dca8f7e704d1ecaf2cc66f12ccd9e537e0ba4d64ca3718c439ddd8bc305367da8d11037275fa2589451fdbe2bdc9951af42034521a58f8743d4dc1164dcf83e6ddbf2cfca80ad5e6346e52b805e27702e382da44602cfa4fa98e7c084492fbe4569bcffd7ef3885a05e5b091112c3e39a7e3ee6917d33367a12f087653317ffc156bec46768403e80a8bf59721249c7b909642751ddaf3a7851ae65146d6b44104215218a5f2bd8c4170bbc5dd69afabcd13a5742909a41965f80e191c8bf21f2be9973c8f656bfc46812c3d64e14b52480c31806dcc2fff05ed7b82e0",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "04dcf055ea6c80a04a302f8b6c7c66e3ac796c4c8c112edaf75531ffa903c5a4c749947b51bb4f74a95b05572cf7f99505c7882dc8c9fb836930a7b78c48e282c287cd64c1ea36c494c1fd7b1597a727c9c0bdbefdac06a752aa5527400f8cf5d881c4364b4ce0dace6c619de1b11ad1461cb9fbc2ce9ccd3e2be901c3204cd613d0e77d7c740bab1ef2634aaa4ffb6f1f25f9982adc8f6c3246267e33de63e7e346f1e22b45ef4438b1f0a8324da5db56e749dd3879fbb5a6fdfde802ed618b15d3abb8fa237bf4623b66a55365b6d771489d8c60f34f83f30092df049c667e86421807561f78bd7075569cc302e3ea72b0559f9f9267463205dee24963c7d56236e433d6d944d4f3708da6fd12173555201df31a52694f0266a4a417b6866e5e33943847020936bdf843fdca5894fb984b6784b1d506360556f1afae4419021c74c6d77f2838b6e4b7d2d040bf6dac3ca591d60a3db50896162913665f7b8ed3ba1027fe246efe41c59c7b5e952aab011e2f8cf72ce3a1bc57c02e9bacbd73",
+          "padding" : "3053300d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "97ba0c5448dd06846b1383a32d9e5fac291036802c4f2bb5499d09dda2215eeedb381dc755a8ba1eacf01d30d60f7850e0d86880cfb11f181933afcb6c9101c97db5fc943e89f0185eb7505b8b0d905690dc1d9d042ec098fecf5443b98c61fec2131b86357cd34efe4f65071bb1a645aa1596795cadf69e14df98b511297f17330c7dc5b9403070f3840d8fa3740e997b4671b7a1baadef2d289e66fb01c43755cbab218c57b871071529e203dc5e884d6f86b45f28e37d80c77d81b3d69347ba7e476d521e17159e875ef7f49ae685ab56e100ec475ab67d10d9337294a1bc1ced1413a1ebd8bef58364b1a1a5ec1482447649ee27c4548f70f12f5c32d8555047834f5841f30a1556e409489826c0d2a03334a63da4957e7ec9608b5ed18e1193af87cb75ae32432021c8094b80a71ac283fe93855033e2cca47d5d362a37607fca51291957efb05711a53ccf7184d8e2a6b79e2da051781582f3a37c28c7ad095f53680088308d8faeca5b75e2a27d3b62c40c6eaeab9ab8a2d6234eb8b6",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "be57eeddc0bea94257eb26456a6a4a6d9e9c8fee1ae2e0121ce8e64806cba6692643186eb10ebf43c0cb032c641736401ec189adc48ef6b222f19a43b09b6d81a1626d93a49055e50968e295b78f883cbe0df94251d1f0c8c067d2a5d5ef7eb33b01289f9d666e1f691762b7ecbac496d0ce3dd2e40307131152068307f28f8d2d38b427e03843a7097c7af5628991b8a752bc1eedccf8cb2e4a7507d4d03ef6f18ddc6e757acf87444ca67d7292b273893b41c1ff4a2070043d5ba76f4284e4f16d75721da32f2120ef666d677b0a6a04e4fc8ea5e5d64552cdc872bc860dd5dfd9939143c271c7886505d696be9d7e7864eb586e396c0270d923574dd2dee855ea3d7f6cf57f834a7942ff2f5ccf88d312d4edfd08fd6615407059604a359548af4d92794ffd1a610d82f04d6453bcf35bd8ab523b06a6875e05dbfbb9c2196e2730c324ac51e8c9ff36930b3025bb2a081ead30f887e4eff6464f784ffccad644b9d7354b071101478fd6ed7c64167b90e16d066ff599c5591a943a5f4533",
+          "padding" : "3053300f060960864801650304020305000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "ecc5b9067a93fb90cda4b45f1c21d2c5503bea7fe7ab592922cbf90b38892741ef75667da1f0435a25588e22645dbaed66ea912db9951fe9adeb357ebbc25b5f524de9c366d657948c2efcd008decbc69cbf085f094cacbf7bbdc9b863cd5d9174dd35176f587ff4f7878817f31c3a9a669bf53aa38ccc782e98f7232b267045252a8cf3ae1bbefbb2030573bdc7cc9222550f5fda9923dcb6412ca0b21e17d464bf334fdbc9ae61887f1a4a96eb4ffdc1dcf29d6c2d7aab07fe96db30289970d5d8200ac95ecef8efcdd60f8fe4991a22427fcad68de1d94c757a764990acf5a76ff33da928a46ee007367b4e90449cdaa4d7bb222babaf1e2ea5a46aa9ba1a1f3999c6a55c2a36d083dca472d30a46dd312cc123b830ee39283a6fb11de58bdff24df169e716d3f2487f05dafb73cf3815a616e59afc78c177a1bc85ff89b431e988f5f7a43359dc9ab7063baafbce30dc245b5ff3ecaeef5a1d518a09a6426a6edf9bf9dc0a5f79860003ec1704b5c756d522dbd93c183dfea819c9758e5c",
+          "padding" : "30564981773051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "e495b2c030b082cd0d58097aa1d1d5f4021215109048db0e4725d3018de3d71dad07d0fd5d94df5f79bebb7678bc85ffc09d39574e7e495d17621c59bff6bc9cab066d5aeafaca13e02a79b3c1a5bd5d8540c4f3937cd4413e9ce6f2e3b7f5f8c7b2d15465435df005304db81181de6d496cb45ff03cfe84e75c5b1d4c4bfa4f055c9da0582ce73dc0974ab5132221a61e7bcbe1e3804937bd007d293861f419bf8ea9a72a142db387b148041f34c5b9cc3e034a0d3cc93cf3bd1e1a5b1bc63233fe8bd1e1d73f16386a70533113b48029a251bbd99106ea7ac9313e93e362a9c6956dac668aa316ed8130376912926ba9e9d2a8a9e808a3833614ffe0e22d7e1ccb49adee5445b1526af4e596eb675e12eb89751ffe5b031a106dc282c6e4f06a233291ae7fffad2b1607ab7d0fc06082de63f7e48ddede5122e3186dee3f797888c804b2aa0322564f39f9041d71b238a816b751216aaf83bfe407f4cd28ca2d319e3dbf873f13329c1ea8064bad9d43f00837cca98080b65fae383c17f2a2",
+          "padding" : "305525003051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "9ac18b311711323d7962279e8c6d693744db2c8500878326bce11a9beda2084a6552b89ff425c21a22598c09b538a194d177c3aa647cf43648e2b17b9675616f81896949bf455edbd0b0f5713ac950b57397c66281a63b96f7af4bad5c697b293387570926ef7ef85056dd11890c8765223b2569b4115bd36f5e17ad7cc8953a9b6c9a45627cff4addd96dc397051f759635ba3de256fa461a2c56848c924d81dd2a9a59cb921ab4a1b9b4657eb6c1709114ebe99b0acb8c598847a650fd7216690cef68bda445a3710fdbf8540378323d32168af666fa0524150ab850e68e1dea1ec00d2e5e63b65ba6943fcb92217acc16955f2d06731e0684a490ca9721183b2cb72633997e3dceb6fadec188da2d7ecc0ddd82ae7d828c640a89696e66ba7d33a64034100a1299c26ed90fb59efa80a88ac8057adea1378eb7d156b2ed30874eca2a0a5917953c0f865034f53de703893419fc650a0f9dc211f0828343bfcd76f16699abd468e863fd8696a52705d3b49268e76514ab6999b98d8eb942f6",
+          "padding" : "30533051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "700ba7745d6c9c146b6026d854f958d4ac00816dfeed7ee9beb4580abdbd491156bfff67215a7cc23dc0dcdbcdcbc79009c86dcd4bbdb54745a8dd85f7c74b96394ae1cf9bc88cebe88eca84776f263434958617b9817339d756e5f301548a1ca4dae92ce9489c5573b9e5f3841358e339e056eb75b105292d9a1897091218a9a95be4a76d2f22a7797a3853bd156a91f0889898a63cfeb764e643e6f4a5987e6de15fa334502aa74dd99fdf9c074e45e463083d434ca0a31424423257d1aebb68375b27fa1a79d721bd3b1cedf744b7afe62ed03cc4b7e6765c50497bf685392d9e95dd1cc11e0e7be8731ebb689d321eb1c67621d87fb1144d56cec866a308a0b3ceb941559f7d157e87f0daf107e82dc18d3c90c67307664415838dfa2969ef1790c4e99017a1f25977b1f787d6504e10693fa1b79f23b42ea1c5318ae79e46ccef01174a752efcbbaebebf24577fa859b6ba87b540f2e46903c3aff0df72b4f8d10b34630bdb22282d7fc1c4f3d7db661865ab5089d221a1f7c24f30230d",
+          "padding" : "30563012498177300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "f0edfb2e764945f6e6585bdc28b421dd735036a4d109d27bd1d79f8cab0ae46f5018e7290775f5a273459fc9992d217dee7051a9cc86670fc82f3377861193ae3cbf9ed4d9f51b9496233f8f01c9f88c43348f64dc64f2e5fe98f3208ece156aee90baf7c200fb8018d715185808e0efd0c570f5af1f0369ad01e18a3200a5e04319b779266b33d70604265c4c95ebf53cf43518988b7501bdec23c9abecc498d98b5195830b2883b261752b4afbe7dd7cdfa21bdf593dad93b106b91fcedddada864df066cb5f5727afe6ed1567ff21336e6b02abfe8ae391b3fad73a4de05728577d7cd4e0c639db381ea446e1b7c35e891bf7258b53fc356e714ea4bb2856ba037b50035b611f070d42445c9263e968e8c803aa040eda540c23d62a48b9884a9b9eb58bdc621a5369ddcb007e52be1da996f020d8c1a0cde9ce41749f33b9a65e5ad33386587b93723ac6eecf3adad996f5affa7a9772336db2ecb9607dae06cbc3a8d1a55cfcce20a43e9323c7fa7a11b83b0198dafb6f0ba860103a54af",
+          "padding" : "305530112500300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "350190cd72b31328cf1fac929b03c45900eb1dbdaae14c3553b40b53773324bc17b13fe11282d70b38771b5ceb0ff87f8517a787b0e06e97b83b71fc7b680cd5d61d616c15d6c1bc98cf93b058a5be99ce09f9936eb55c4f92751f00c4b403d9771994acc556d7e69f5682223807b2e7229e3bb5360125e4366052c9629cd1427f8dba9582348e10ea4f4d768d84dba73db5442eecfc90d38116b002dd4bb34ed8c346ffff883444248ec236c738959154decac717c041dcf3df5492f2c9a509c272d825a49149c84718a9835b40a38de6cfa7d6102042150039510ba401fbe53fdc7ed3b422848f75a9821c0cb0c7a0e4ae6219f305507ece7b84be1cc8c1ebda663fbce724ebe7a2f6793271e8098351991389546cbce7297c8a18c8d202227b7dd574b1c1778058947840ff0c601a7d65f035f7f66081dec7f3cfafd042aa15edbee6b37da61ccd4938e7517dc48ce272ed78cdb4f33cd000217ad142f01b967d7ec4e8fbb43db890ff4ec8fce37a00c88ad9407a6aabf4bfad3ccccba48d",
+          "padding" : "3059300f300d060960864801650304020305000004deadbeef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "2a32d279cb8e0f44a196a1f83fa8dd5bda36f2f857664f4155b2859d9f940e8fecd466b3a7589254b3a04846721b8ba3fbda7a85a6a00ae24abb2098d3a1e8cc853dbf693d12a1f02ef490594606990dc8aa7916ff6911254039f4a0565068af5620a3caea7f76b775b96a8d8456ffa7bc6dc9fe98832acc512a709ed83e06c72166512e3243e9e30487dc6cf3d288ef5406858b6bd60177b01f466cb8d963a987bf7ac242da9fb78563c2a8c9891b213544855d3fa92c62a8d3219db0dbe7229eda4178a540f7b103c0886d1a1a4ef2c6bf5388228e64d6caf6e65424b0683d0c6f2ecad03355cc7f5efd8f3a18a991e391bc06b0a645586316ca61e101fc0c262b7f67d7979cb0aa1bffeebd3bbee757d257ef9f84418d2b4f9cfc6b09e5efdc2328f7edbd02b1d9e13ea7ae86d044622773c50a8f0c53908079939ca60a08e652c2a6856397814304def15aec6e636eb6679ecc8619b820a655070fdf7fe2f204bba57a92d894cbe2d7328cf6d73fcab07ba83b020c3b2f0951bcdfab8ec1",
+          "padding" : "30563012260e49817706096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "1d95d2affd3c347ea5848aac974bf4c7ff675a876f0944d73785594e2c8d59a9671d8ce8ad1b7c6d0d51f818cce5ab1cbd7b6e3b69f1a1961c4446ae147d64b3794c6a8255386b96f062e022658e0898892b3e54493c7b6c1686d687ee72f5faeff077e6fdb9398b271b6c038d54c3cb0674717a7aa7e75ea3cadfe87b72aa1cf19c799ed2102264eeb646271a81eccf9dcafdab5aabd586fc03e279cb8500203b44fa7178a9d846a85f2cb6492e8175b2a7b04ce24f4df04e0cbac76bd15907ecaa7c07683e20dbeb1cf9f6f03fdcb0e31b55d77c8180f27780df7b253a2422f0f319a081781ac295bc89de4da40708eba17217a6ef42114bb46695cda20b27590565592e4575098ac1ff27af296245005a0ff49d6a697ab4bd70c6758a1897b0a1c09f32293d7d1b2856730658d43853362569bbad81389e85b3a27b316786de7cd0798c628344954ccd1b90c58495fd112dfd246fc623118c7cbba762535038e10885d7d8b96edc600ee03b1430628df94ea65da17b1376719f3ffb739ba2",
+          "padding" : "30553011260d250006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "c1bd919721819b72b389c27f0345d7506829b38a7973f7d4184184de56a0d78a800b99dbd8a0216f60bd2d423ce18a9fbd45f6e0d171e34689e06d9d155f3f3a0c9af594bcd4dc476dad915d17a4973af9a5d480f622bae2dbffa125e83d9995e81112d633daf225848c8e7ba17cb030a469748dbcbefea29e93f464fe16ec1b1456cc823efa3135d49d94e740146de75c44f380ae4e5a6260e64be7f0c3d29ce97c29c9a76e280f50d88557e52292ae9fd1e783643756f6b8fa867deac05c21793056992ddcad2ce5ad1698470cab4ea16d5e1784dd449bbaba725ec74c6480d0d39319bdfd24f55591ecf92e4352706483f96f75d63714fb1a288ef09ea8f6b7f5ace9c2dc659d95689786c5cf734972b5ef08f78eba8d7e18545dfbc1173a561e597b0412739ffa0fe4448d08f2d307baf85d9ecc5c2a57c008f490ba867f5fffbd21091f77eedf1c6cbc563613a443fcb987d776f05e8cd1307018439bd0ac729a7ca05a968d4f012200293a1740adff9ddb877b054c4d11ad42e1456bdd",
+          "padding" : "30593015260b06096086480165030402030004deadbeef0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "a6df51d80d2902569a0245422e5b5e8261903fcada8f01c2c2d4d9897be35c64b7286ac79fa73cf39db3d9e3135af2f00a888138df5d6ede7cac535767e17206f585c57149760ba379d8791126b699230b678bea9762e73a2f0abcbec943db9ac74ffbea3824ddf22c36fdbfe77960149d07da6d5acd80a7378675b3e65d4563d60b1937347a4db25d6a1592917e06bb1564542beae5330a8abf9ff854912efb0ec3d93f25c8c4e19fd8716f22ea63d8deafdbf9b9be61c9d98fa2fd4d2a9605de2fe2d0c1273f64b31675c440ee267f02a981c7efe142bf63a09af9693ce07f6807f389fbca151db87589b82a833daa3b104ad472f69b1a966f6b853c20c9a5a5c10657de941803588b1fa77398f18752c175fc3808441d9abdb5bd84c654706c20969c9f97e24806d64aeb9832540de12232838f257345b58dd4532830c531f7e0f42ce2a032bdaa3fce44cbf1bf2eb30277e2babfe3ad12937dcde9ca6d2bbb2093b7da5cd33446355ff0dcae75863f8da2c54872067a717aa07f1eda8853",
+          "padding" : "30563012060960864801650304020325054981770500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "f5e4ddb832cb5ae5314ed853498d9415027ede84e7280fbd802fa3a10a3a74f4b13303362f1c7dc1630d22712167dcc2869dda4c20b90a5f3b6e9b81f456be5a63691a2db758fd64e9adc4cb761e907cbc112353905858f6c1f0f95aa0526332245713ab02e374439446d8325898f169453933364739505ec6813ab53d6bca1362bf7448e9ef30780d2db73fd68d444490263ae2e3aa1d0f500a9f648e188795347f773d18076572d95d1971f02d781ed4d64b8b928777d9d2e59a1947b067c797596ca573dfb0ba69da0d3f0db71ad1e9b07b31c7fca0eeee3582c3c96a7ac4178e01756d5db8c458350527c9405f4c20b4fa1b30c9c7aefa2b7598bcdddf494ed1159ccf6fa3f36e1523cb6412d8d641c80122a6e2b21253a1268b11b8c80dd98b1011c54bfbaed8c7a9e67a96f0e6c8cd90481f1f7c18a98bfd665ddb512cb2a30ad417bb6186e5e3b3993310b3ae79c1064e353cca881478ad49c8c59696de17859e66b0b0877c711f433e38283092cb80c319b9e663a1ff99cf4e583b1f",
+          "padding" : "305530110609608648016503040203250425000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "452a4d8ecbf65423cee481918f6c9b7b4ba369fe652eb1346496553b58012fb7334f9a7c4797b3f3df594938181ccefd3984fc9a8fddbe740d7686e610af25b09a04336cf49458b724e92832e820ad5dbec08098e27431eaf02d81dcd319f585b99e75c311ddfd6cc157e17ae1b33c5fbb4bce28bd919771a27c48bc21b08d45cc4110061f4fe04dab8107b543569d58be18efa572df128c74fdf4193fd73c3bc4e71b772d58e094ba552b8a80c7ec5080d596ef50c7b0727857194f2e1b5ebe7900ede34121a115f4fdf716fc569ec4c6645f06dceda6972bfe2793bb1455b5bca72635aa8599bb67f601ca6485e6ab3b6dd304623ed5e8b3d7a2d07fb6b733fc32491795833f7bd97c313e0865c842c7ce6fac9a304c868e1af99fa686bf842f6c2118ff957b822aac3af68ff6451e1bbc23cb7b9a3234b63d227ce67d61763f9116860d31dccc7f984b1ec9d90377249e73af5dac9759dc82d46e07519f39c2bf21645c68ca6088cd8e28d1afa688cc9d9519e9a29812854f3304475371dd",
+          "padding" : "305930150609608648016503040203250205000004deadbeef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "a55c1c5b119675dcf844f31e349edeac5d79f87909481eb394ff5c4aabaca507dd0770eb7c7e08d565adf49d236c1b9f05ec9994e1ed01a8cb2e6ac628adcf316614f70d7b2fb813d8862f0c912e7459b23794029ccafb11d74727e5813267b1e423058ab13fc76504466d87cc80bd0a3e00e77a3777ec5202101ef44840c61aeb27ec38bac175980046ea39a13169613166ca401ef40a107fe1c03a05dcfdd6252bbd6a35b1fa4a54523d0efce0d45d194612e1cd6a51cc6d0be11078ecfe5691a43e58f1bbfcce28e09f97d8dd1c6163df9fe1e89bd894fec88676801c5f6567a8250331a3982d90be9be7ee5deb682d44b97a0335c20a9aeb851dd7c02eb7eb47354a02c13c3ce678de820d0e7f67fb2340d79f94754d21e6b61d95d1f14d63f27e47d823117df4f4c84812693193efad890dff16b5119dd78ec95653bf167f740346db8fc3cba757f2a43f9f53bee8e61eeb513790f379ca9cb2d074506c9ecad8843e4c450b26d34153164bee5730e0b6f2a7210953f46cc9d5cacfe30a",
+          "padding" : "3056300d060960864801650304020305002445498177044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "5d379e24ce1388e6ff8bd565b3455ab74f213581ba2e3422aa02d94596844b94c123f3289fe9edff9897cb913a957c4499bfae6d4fb2700187807dc9adb30f568ae5bdb978f1dc1761a465ec87000a4a7b24372d76699ecec070982f66d261788060f86bb0f087343fa9f25beae52436769714d572bdc4f4ab97ae7d47c8d314b53470dba0a3b340bd211d562687832e7d58e521600f69b8b60c10aa2948c1fe5342fd11bb3e218337bd77ced154146d527d493492ddb2e6cd2255be8967863ef0be88040e674a7b599f6388894c04e41d831b42dd9de2ca9c7314c4464801ad2c72e8c7637f320c2fe5c0dec3e4cf3f7eaff761a0a1760d1144b1186507224daf05067623513b045dda51872ff566dba379451e6aa53eb6af12132c4c4d77a90746b56a0a98147f1e98f2b16941b4cd5ff9936f9bbcb72d427a8b8ace967f5dffd6b5d6f345b4b99e86db01790cae49fac889a0f58387a795dc0bfea7f1c2ff3b8615debf9e7440e22de113ed0a76cc38d84386d2859b59460d7a8242f8d324",
+          "padding" : "3055300d0609608648016503040203050024442500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "0e5c7194c9e30a8e07631b3a6474041c85700a0d1dcd9701b3bec1d45bf2837312d2eebf25018229c86ed492d83a72c6fe2726ff15b44cbd5c3b6676b67e1e1360bf5725effcf5153d2b2e820b90848d36a5e00c2e0c2d8daa3f31cfe7aadddb4babf5b8bf2158611821df7435e2f73b1a130e8cc6151fef3ee51abde04c2bf0b0c1a6922638b115aee943a6153fc07f6dcc4c4bc132f3676d3de947bfc3f446323bda136055192e4f1550702d9f9716edff703570a5f736f0a8ce220a1de0746f557e2c81d1723cd484bc78e7fccc6d802bdb67b94d6be1d48450e4c719063ff07d6d2e01f4669f9739da38f62bfc01145739e291992052f17bcc59114cd5d2c12eea3324e7f9bfdfb1e0bda3e8b71a89dd351f9ac5e246d309a87092e06b7c32f67d5971b89482862ac89cbc168eed944106f647e33c33f27e52ed9b57173207ab0a2ff14e7cae22755025818090fa0b4e6827194c2561a7d43094eb6212b65395647349b4b7bac27a5c17c7903ca941fce3d7ee57b689b2bdc8b547aa5bf8",
+          "padding" : "3059300d060960864801650304020305002442044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "686131d0f3fb2b615ab435793456826776a9de40afd11e3a6c4e583beb7df00d6de5bba618ee35e25f9199e47f15c0f5807a10bfbd38bd0b9bfee3ca22b0f9ba07aad708cbdc5545d05448ad09d90742e1e61ceb6b7bb498ea77d3476fd283cc4d379b4cd2e29f1b468f733ee920d16a06f6689643fc611449e4375ac7f9275d553db3f5fe2a858dffe4c9126595e69366698d27efd6e304a92f43d0b43be5c05998e91ef6a73e34931914a3e29ad2f82a3cedc795a430dc877ab5a5bd0816cba7e8cc5cfd5ce8a3bad76bbf77dc66d92652a42eccd7452bc7104a1f208cb0e4252648c3036affbd527a7130edc3da5735229511228abd4cff1dacc1297155cd3a877be79e78020587d80ebe481af9036b83e4108b9f7a89da26ad50ae65d9008fe2374564e133cd6ae1e595a332d08bfbf3612ab7c8b96a735648173691eb124fcb36899df3a5c173dfc1f37fe6f43b7234cae9e373a212484d134f8fb45a34e02b6d9e59d3eeb7d07e4fc69209e30d2d6c1bb763b032ae342bdd6a4226b29a",
+          "padding" : "3059aa00bb00cd003051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "edad8c2d141137677b864afb778cab75c44ee960390398b25bca129b61763fd6ad2e9d24fe3a66b8098982b40081b7520a99e622f80d1f456cf5ae5a000e943966460e83f22c80d32f74cd38111517db3711f78126c0cfed6e5b528615804908b3428367ae7a2d68e5e41ff3826e4882c6996c26b6e879d298bd4fe7d917eda57d56e03392b112e0f940ed408124a5bbbbe4bd1fe4e12392494b155e5acfeb7c0c02305ff8bb17f291dd9adab088275691b217f8f805baab6d5c8ec656dbc67f1921f12b1c3670171e81135f16846e831f57f67ae700f6bfcb4d619d3b9348740bfb3ed9e9bab3c718c4fa9ca34d9814b96fd3c775d83ea7729ce0a04b84014552174968fd4be92f281d764a8bbef9f1b6c04e843ef7fc5618a945cb435891e0ae9332af46af185a91747194cce9f3fefef1bd0e6f1c72096053546d72cdce8c764b27baaa01c3530eb115780f2a9eb1555949f6838be7b53f282606a82ad8c56374b3dbc4d50870bccd1b5e2c50f6d32c0abb92d784de41fe54368e9c8f4ef1",
+          "padding" : "3057aa02aabb3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "9702fab86b0f4cb3594c237ee0dbec79b169a6c9ba83ad6eb3d4af38825fd04a938080429c1409e48e764cbdb56112e217b56f7fc2ab0cdc5b745e078b1cbecbac1dd0fa05f987bdd817c4289ca3418592a1ce84a6357e9943f49fa978a06f0c5cbca2e60a3f159719626e150c27b741481fb0f8e9987b93d72d40f709096fdab57bc3a0939e688136fa819d9729cb7417c18bb7aeead2ee533da70df0571c2798079f663a51aa94e89c8656a6e87171dc3707253b24fbc4342681b51be9418f34a5a443a8760d92bd36c6fafad5fba11ba24fa1a529b583f637d6b251d1f0eb9a650a020aee27f9e5dfe882c1da9caacde3671fb6be4b3af424f8312f1f92eac1cadc65fa1bb146e4d3df14534a320702e22addc9426344ccaeba51dc2d0d3d59a029328b059c7f76dd6a7bcd518530fba8ddc7cd83411b772fce1ed464d13a25385b5537a053e3431fbc958f04d1a539401f6660e5c7019f9617e6c4e5608c409e70d8b16c392e6b3b77860c3d45aa3824dff4b30372a061609f1ae1c88cd0",
+          "padding" : "30593015aa00bb00cd00300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "0eed6d489bde718f00aa338eb64e156e44ca165f4bd09e59ac893e02db61db21aa1a475731bf1ad7a907c94b1b080d33f6081e00dffe5025720b9d828523a4afd2fdf644dbba202d7ee2018ed999de038ea4fc5d96119ab65f0b2c9d889a47aaccd9c42dc5373c8b64f27d2a2521c7dcb8085b8a51c8a5bc08296b2ec2ae980c98bc8d00936b8c96805eff7c09d3835c1479f62a8b77057d8e8381a412c32cac8aaf295bf851a2711466113cedadc5e90c8d0fd1321e6a9015b798eaa66a41fb27a53b0dc80525c87663eb805e76a3853961c12a9fa6520c4902d4d69649b5543b48fb3bc8516f35d4029dc4a140886396f9a69529e8e1b7147e0bcf5819dad1a5340cba0ef530da999325572916bd4c1181cb90aae0be3e4124e08663ff26c8749032ed664115cd20d4f92d92adf2cbc704ce99e389aa0e3f0cd8c1ab905d1ea565701d1075863671618a94a47ae8bb2a2099ae390056beb9dfb1449e363cc86e5e662a176769d1434f249a21a8cf84a69e8a9d2df87b343352fba9260f88db",
+          "padding" : "30573013aa02aabb300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "e764485606b1b477efa3ca4765d452e2b8fd97c8a1c54c51d0235bd1360280cf9c1f21c9a1c148c2a8e560ed6a75d5c324b36d0148aaf20fb2db59c5f461f3399b112cc4bb4766de8d9789b8241c7689a5d296f091658284ee8b429bd3c3c4164f9a67bea9901c2fe89853d6c616921f304a93cc3cb4b38ef80b147866e0f7777cef50f2dc63ad61adb3fd522ec0b9feb3fc9781e97a0a0f1f6b1baca125d9d006de6d3befd9f823bdb307563cfe63ff49d767d68079386c30a03c373fb3cec92c66846b6b87bca60235e0ed1993598947aabd1fb284b0ffd3a4b4a69c5c79483d507d790bde13a6a9019c918736d511cfc4793f75f201405b62b256528d377411217eaa2789b2e839a8cda14d1ea408a3a8bfad6f6acfb33f0d9ea4aed34715501c807541d8dd5da9160b11c7c0ac8ce49fed32fb60a54b1e031f203872a6d8e5b4536fb25ca2e577a8cdcf8843e3715b97983fe935db972e6a8cebfd42c7f348a02aab0fd873ba03d8829d88dc2d0058a9315c6fc5f035ebee4c97a1d5ada7",
+          "padding" : "305930152611aa00bb00cd0006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "e220c5504ae996d68892965dbcf9d158739387c655c4c44b8695f3f5a00350044e6a3ced79ac812a78ded031c406ebba2d3df4223639747ece73d69e2a5788de752d58a581f2b02dfed499620248b48da2776fe349897d848b8121837714cf29e3a929c34113a05457e5914cd9c14bd683c9025e1491b9ab4865ec25b281ab9696a9bee80d2b32e9ed3e73c162420800c2997819eff42caefc5d193bc3107c567f7f364f3f1b8cc6c8e07b15d00eaa698fdcfeadda11149bbbf0d2ce84162b5f2fdb1763c0108e540c9536318b1eb67dca7cf603921333864a6eae20724ee53495bda6ef5e81a563584edd6a705a434948f0150f711be95d763627c0ba132b8592e9022b18542ff2c314acf0d597fdfc3f9ee3ed617b78cca7bef4cf259329a9ad95ef5dc636b86434e9e7f9f719a9f6022ae913c19737b81bcf1b4281f8561e981bcaf2c38f2265f44755cd9b2311b3ca157d317d98ee273b3a477dcd7954b5f0a6fcc629bbe3338d06773a92e07a8cfb32a96a28cd356acff3a6d060f20bff",
+          "padding" : "30573013260faa02aabb06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "48334ecde4d3717bde04a2257e8aaa94f5383fd49a8e7e6933f60958916d223bfb32c8324b50916e72d4ba62b715e1298946efb8c669e3331c4aba5b4b5d885e513bfe694de8594b0c268a44e1916e1d9460aa419d7e8fa8e5a69b96aa0078a3072f40ccf87685a0e4efd1f88822e2a1491dafb2bf34ac5c7d7c93ec0311e4531f65a8b35f763e9ead78d708e1cd3a45a70d84705e9684b00cdde81b265dc1222a608eb090a5ca0aa0803945a8e5fad9fd13bf9199119051d0fda7a0ce3a8cc186a6d9b4f880bd8d7191c9eb0ead9eee5ecf3160f9457aa9e0e1913a9a18cee98a5fc8c74825f916a002da58e47a85c98e2de0da9ab39d6ec326d5b795586251b8d42866ea5e40d9738d21132fe7163dd90814a7f0f308ba9883f24ec123c9711f1911160034c9d3404466c5f21941129127477baf8aa5e171d573b568a11175451f6fdbf081e976eba6c5f79af5ca99d73dfa2c468e0fbd7ac0f3acdc4755795e09c2363c0b145d23c33e2a0739c953d7bab1bb748062b2129e4eba15c5b6f2",
+          "padding" : "3059301506096086480165030402032508aa00bb00cd000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "2b1fe31339301988be9b729b9a14ba96cf9a6a549ff66a9ba6948af2fb8b2651baadc2fe1fa5ec7d466687553cdd06349c6d76b702aa2ccb6b76658685c7e1c4abc6cc2902d79ff82d3d6da0525be5198d07388b62b1173f88695b03108129e2915822910f25007a6229db142c8923880427645437c9f180765464a317fc882b877ef66d913e6dbbc6701ae7e7e1cf0003d681135a76f59fc9a035b8b6396c66f2fc94a4bd524a816ec028cb43da0e611d3ef20572e0a6f2fd33659cc85f2a4256a4badcb8d519aa780a290867f1a0f671d7de122a3b7c2ee474837dab5a6309f3f90ea42eac6ff768cb82290eff6fe0229333c5c252a650f4bce41f3353799e093a2193f9d6da2e3127db550877c32192b1dcf144b7981259c3e3a5724c993b5077cfe4d5ce3c76de5230d116a556e6272cae5e1ac6a2fcd4478668fd1fc4ef71226dd1ee36516b8b6933236119d4ec7e85d67f2e2684089dd4843cfb4fa0436a1b0195d0f28c52c35236f6f563e3e937e1df08c33a40d2981ac9fba210a670",
+          "padding" : "3057301306096086480165030402032506aa02aabb0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "aae38ac4dd42a1a038aae4121f0bed8a401fb8861e06cb96c4be4ff803dfaad82084113998081fbabc649238655f2bac523d0109c344bcaf3c2a5613ff8151f94dc4178cc56ed45b31c9935a4d35be965619335b9db9d6ed312d29c4c38aeed6893031fc0f0c9d86b4155cec28541ae7b17eae83243140f8d0df248ed9f921a3184aa944c3c1462495524f25b0fa00124710b36bf03aa80cd7cc549f62578031c6f01cc3b182af18d5f29bcac956e6ba549afef1f5d65e1361f4bce878bfddd526110d6b683a64a522cf56b8f22c2d6c8d181ff4de2b40fb2345badd8335e09cfad9f1e9db86d319f0f510c73a706f8191f7e5022497633867fe9d0d850d39107bf63e6c42513501affd5e253e329ba1145a650101384e40a804944f9347fcc3fed072832a4f2688588340bb2f53475bcf16a8cdfcd4fcb8d2ce874d912459a631c1f00a8e7648382c9f485c6bd86fe02087cb899c334ef7b5fc485f30548d0924d8fa68fefef46b96433d2e806b58b13e0a4dc1ceb92e61120ad5c2734f227f",
+          "padding" : "3059300d060960864801650304020305002448aa00bb00cd00044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "adbf4896d40ee3a9e30c01cd0392d508d3dffdfc36fa624e8040fbd578b1c40258e8e42ede92830cc9492e323166fe56cc93f440e57be3be96c6e6ed8d9d9540e5a68942d8df8adbabbd4962ce4238674e5d7702a7bb4dc83e0289a1b3d57019e278505fe66bd2b8901f832f9f563624cdb465b59e95f1fef1432b728f0af67b3d171b6c4a9b98a582a12c627405aba6e5a9f43a8abc90fa341b56c39afc84392756aaed1659b4c08b70588e65d9e4e245c598a14737bce01ae0c0c16c9da5cfa7c868c264ec46c7f297982f6e009093f93275e2da5e74cbb02cc73b6462a581534fa53cdae39ce37a1c66c27e162ca559aba518a8509bfc827fe4ffdeb2232bc01fb1c92ea8f23b1ec780933cfa0c8df707baa2a796e0190e93a9f90b05c3fe5e5128864b08cf0e27296ed862900e227bde557ff47eb9d7f97762baa59ff5d22b6461af29dd2f02b1e1e20e432b7dd362e8510998549a23857f083a44ac2036a925b92310d9749d8e85c59dcb5fb1aea5cf1cce6cb714dbd77510ee81015bd3",
+          "padding" : "3057300d060960864801650304020305002446aa02aabb044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "38981944b5a9536f7eec9ff78d3b7c1203e94f50313b30a654694397f597695141c3e86f0881923e0de58e0220428fe362c9feabd088d49c0ad93bf52e322b8ff4215b122ebed895a29ea72c8e7896d37f0fe49ad6c9433d4ff16258161ce21204a908869254f0fd1fffa383d8a23451b5c6dab2e9f5481f9cb1b427ea867c05abee1a76a130026908396f2b5facd6426b2a45e26ba6d623e6b56e4a0bcd6f88bf67c116853eac6f29355d3b68a074eecf7ce4daceb68892d078afd70d0f0fd906a592871356145e3227615d50302192dc498c61e79acbe2d2b9b1e61c2c18cae80155cdfe85aa110a6554871f7ee0e64ab3bf61a94c8c42369465d40679cd348928ffa582e678a618c6e8661b51c23368794e85ca699edbdb08d73b83bf66e945c18c7732b6ad85ea0c89ad880dae3de5d09f4ac32fd820360f197fa4ac548d73e44732d9984e46067d16a271469035f3084db2fac481d1f14b61d8273ac320e54e87c9627d3bd2428539c00366e4fdb8a367784e75460e35b50e111aa22b6d",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "6c773036cb6a6e2cefe921c155dba50e1ca1aab3596aeadda218b05b5cdbe99174f5e6932df80b349f557481e51dd8c3b01777d85dce5ac2d88466646d0a6db82ed261c5a8fe0eacd8913dc941f39d54209410a2f4c4dd4903e1a334aa5adec17e21b274c327c1c8c577fae3572e1acf88cc0567f60930fe7d3582e06ba1cee542985766fd2a5bd324beec1a0d7bb09f6e29f548e936c1966d75607275428dfb33e293d49ca216caf2074f4c8c698f9a02dd3191abf0df2750e56808e89718897eacc64fb6a1186512342cb041b55858867bc42e81bf67e94390f6c628863a6f5d1ae6c28caf921eac0a9738e35799573b862ddb80698c313543e256c0b939152436b8c617f9c0a6db58a1be76d24741d3dcec36a1dec76ac23e31ecca745c93423816b6197671ef8e905a18356494881baeee6c37df47277c9c978b978251929d5dd23acef7e83306b41d9831750cc0af3d67ac10d741f7f78dbb48be0e55641af08bc6566d332aba39710ae2e9d080daf44444f4886bd8b493d6885ff6fe00",
+          "padding" : "30443081044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "6620fea7f9ace7ac74c838dec6ad523e77af793103ba27faf2b6ee464984fe04cffc2e5cb822a10fbe3ab4abc82d96d7090d1fe468ab048bdd341550dbf19828f96654e3db78df2edc8cc09e2281829d70ef84d2f9d9ccbd860bdd61212eded03643cd68075c35ba391dc07dfa422b446bbc834f5382fdbb9c6b23ba8f7f501fc7b52c6e18ebbb42ed7d3e43d7e72911a2f24557b81b685644df9777308ba2a63d0baa7c4d744db45b4dbb756dbb5945ef978c3e140ff851c7128bc43ab48ef297f664ebc33a3490ff0f95899dfc7c06561e55ecfae73406e7b0bd9dee29a4bf9538d42c74ae0f9759ea2fe7ec65566d637e23fe645675e6ba8fd0ea50fe6b617e211bb79a471188030dbefd16c115c67c8ae6854487f68c5b8c196d046425d34e91da1937df0e48df892ee3291e2532fd2f7b0633fcfb8e9f59d03289653b36e93eac77f00c3ca751dc601f4ab7bb1581cd7f1785fa959d85b87d7fb44d83b6742728f8a6311096f6d73f282091745b56eec604fccc0dfaf019eb96abe37e17",
+          "padding" : "30803051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "aaff23fd935dba2da87b10702f80d722c19a81a05b675f7e0e19f6e006e37eeec3ce3b05f11b6a5e493712369a768346c948c657939b3f1aa9857a1d17775eb0c20c2c2b95514c5f158cda935de07e076a0b7e8e69b0a896e9e5757510f94c4cbb0952c804d882d36870497c0981ba9fe7419062852c3a3c3ddaeef9d5b59387474dd4717342d30981289d81689cc101a5bc60de467b19759b7cefe2ddd717ad13e65bfd0158e394721ef2c1ca0ba98af14e5c1d88ba05cbc012c1e944f7d06c4181940c46f64f70debdc474b3e46a37c25f8a6435aaae4081bf883eda779b48abd4abacf394fb5148f4b3f0b7e89ca8c0cdb3c1ab007f5b48f02628a48e67ac51c5dc74976705febdc1f32ab75fe8f683becb6de0f9b81fc76445d8ca68bfecea6e5ded79f92abbef664dad11e508d54c3a0508287c42b687b304687e609dd764f800855ddb1e6dab4b219938d0f890412f74742d6c1734c078ff1fae54bd43014611eba7e7c0c9dc399e638d160410e081c98694d82b747838514223980495",
+          "padding" : "30553080300d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "e880fa8476ba3b887d5eaedcbbc8c0147c9695d719e65242dea3364820908965088d9e89dfce9faaa94cd847282778e0629ab7ad20051656ffdd59020d5b3deb36dd680c5c77ed74e0f2c7bb364fc9b4affa04aa5a1f606ac0ea58928e0e88853acdb6a6883374c28833927386dceda7d5e99a97304c07a75977c859f5e5d8bf7a77130036c449c0a9781eb0909d9c791a1cd7e542a25d44cb11c53c065773392746f19678bfb93a0c5e1347b919c3199570884dc78d2c04924993fcffbdab41d3bc811e965f16742ba802b49946e1e9499db4014e1e9c5a22662ac5e437f0525fe124dd02e2e850e266478fe903325b1a0392662e7b0843391f93df870ef870b543aaf6a5a70d87474d8b013463a10924faee91750fd64e4d18310512756caaf970202401fb878de10eec97c4502581bf2c50d5d339392ee2e41375ee3d5cda64a291fd9ba853bdc7f8ca158d53d2d59c0d049dbc73179fc6252670ab2dd2ba1a30c9b96646bf5543fa2ca4e02d6e0547ff201c831262cf656e5a4c1ccdf693",
+          "padding" : "305530112680060960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "1b42ad089c3b4de1ad32dbd8f46fcc88abcd7f7099d3a95d1903e80f96e582fddfd94f56069385717fa3da22a281eb35d00ecf4392c00c1b518a1e54ca7d9971643d6c0a75b15518ecc46a73b1108026c2e89bf1fe153798e70420364e447f8dca5096a1b7bea16df4e38ebe6bdb7d758d839c3c61a7ed7dde193cbccf4f77ba555cf65c248313116a4d549c314b62fc5bcf1bbc649d336f46fab6a28dda4cb29dba704459a9a25160d05595a0be63d1fef5ecf3c1167c06868f3dfd3cadc5f61e1aaa2ef6cef1916ee215a2347fbc26078037e4c1c7fe9dc40a0e151daed6a5a30b6b09a29733599bff959885a1e88482da0e7ff8186f924ebc6aeb391c93883a682b6d66b3884ad51b8f1f7c664bd31fc01b966b68d26d6062bbc52f66f020edd561d38417a780f53ad9d8a1219df6be31913e7006f15648d96c3eca2b54c4258b78a27ede8a4a8f24eb4a04df289db6fdffac936437fdebff11f38cb1c958a2aaf68092564f5d9d995394869d9b45e8bffd28d60224a6c7f30f32792755ab",
+          "padding" : "305530110609608648016503040203258005000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "dbaea130782f159f2e7dbbc5d61d7404deab0c7e604a245a73a7cd1df1b48a32b7caea2180a2e3fc4d66f706aba4aec414662fda761c9b56d8c8ec100708d7fb3cb04a1e82385eb5645a4663d7b59d3fc2ef2de527e4c5998cf5ab064ae1833c8bbd714268034e7e269b2eeada1665298b468915342681e811d93ca0b21a847f49876b9a44b62c5e7be7ec16bd40676d31da7ca5cf3be55092b9dd5aefad9dd4711199ee6a806e4fb971f767277302bf5dd5a1b85208ec5a89faca3374854799baf8771e4fc3f98ffc0f71825e895a48c9be2f7697053a906a41fd9a4d853799029a7e4cb05d3d4764419dc3ea3077c9575f47929402090a0eac0b3a004a64f31bfefdf315f8080a0e532698bc704aa9530f7095aed9cddecdc4747ccdd2fdc9e3eb3a40eb7d3b432f00bfa237a082d8a0892f04bc11bacbb81c7c7729da186f6c9cf5d0840c3b79f89829fb061a6d0e1a983e7e99866564e8ae682a73c1e6e1e5a9b2b4d3e308ce8a7b7bf1987da5ddde05b34a92f25eb720c90335375c6742",
+          "padding" : "3055300d060960864801650304020305002480044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "8e22755f152bed807d5a31f9072dca0f388e761e24a0208475b07764e7da9fe76b1653cfedc0575889eae4adef5cde93e36538d2702808b4056ff59123797fce02442d08a4f4e4b957e7e597d732a51d81dcda3f5158a3dc7239b3e0d0598c923affd7f06e31608f950a96eda03222772ca14a3d02eb00c2b6bde5de36904bbf4b81a3401a5aca49a2c0fe0962d8443a3b3351309f8df1e83e64e3f4ed20c1a883cd61a32904208ad46eaeaf960c4e3c2c39af4c21be815f9ab2118af1574f3746e8d740784fa97a583133eff38c3e2b558d8d7c2e0276be9e01b6cb22e25defe0c52c0f68b929cbd62a034ee2c7a63ba81144207f6f804bf18543e8dd487977aa13835e359423db151a3c5347dfdc89ab7bbebcab001aaf78f39af10b923ec24cf795e86569cdd10a3a459e8cc30ecc496996b871d5c425387a986d3dc93e7cc6a5c058974af46be2b617ccddeb85ee101bac2dea07674943579896ddabc9533c560ca5f14da5ff031cac5b1ea587751710674e2f023211566a5536b9a7d8e5",
+          "padding" : "30803151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "ee8fe865ef88da82301e8724da2ebbf270a8be48d7e6e6d32bd57cc03841cdb6acf470ee716eadc23f155371c4b6b0183062ea44c6931922f2e26241cddbb6bd4c13cd7d74fd8bedc9d072c040508785042b218b55a42af61f0b52b17ebd694c12cf9fadb6854179b3ab8ac7cfd5b6167777f001554abae331b09f996afb5babf3292ff8fe9a380fa6d7bfede2f7b73aaf4684b3fb8a7753602096e17b05c0bfe531579a303eed596b6c7e583646e5746cb917ae3dfd1be2f2b04de3db7c32571c9d45c829df0fb59e9a0a3217498067fd121ec63b249566113aeb2a1733f0c47586144d35ebdceb79375fb86343e5034af795e6d197e09e21cfb9d3c2c3448dcc7e9eec34eb3f009575dacdcc25db9ed33974e279958229e46516efbb77e6274c20e6d86b712114c46da84b581e1a95428795563316b0f42667d2524098ba270f58e60c977136b89715419515d2d53be0fd22c54291d161521551006e3e413a006c8964b4734636e40c06c81171df51c534986d90665bd60d10f34b770ece5d",
+          "padding" : "30553080310d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "03e3a6d8ddaa0dc539796b84822e3e3f59ce2ee733246e891db71f1a3550b0fe17016382a429c7eeec8fbe2444c9bf4a8de7883ad7bba6a527e15cfbcab2f5bbd6dc6d8474bffe41688b6b73ebd8874b6db8a2d025ea9af4000059599660296f890d70d8cb61ca077e463e1fe3c3cb81d0378a603b2fe4405b28c92a5f70e06ca283f32d2650d7d04e252ce08152721b5c6852526b14828159bfc199467c901e658edeaaaa6272e8829cf1fd2f802f4aa565396310a19ff95b93e6291d2dcef36bd90eb3edda917f4fc1e999e335275748203ca0078ef37d0f7d4293c4f5fa3d90f02a92d8bb77922d5f7d02176a329fc1d587f80fa1c247cdc2bb654d2610b2a8a3c04abaa04ab2ee9533294290adc8a12b312449b2e5deb703b086c7ea4887cd8b197f1310aa32694516accf4701ace7a51b5264ae45d7d007294f141387b1761a0568b7ca36dc23694eddfbb7658f5836a353b1029898cea2e647f5e14b2adb01e8d1fa462daf26280ea94f14a252ef5607ce31d910ce1122b323e9a25273",
+          "padding" : "305530112680070960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "aed52b6e5941a4d7225768a427189ec37a5640f8083827f922bbe563b4e96ddd039e2774e4e790a55bd0986936de6c64c08b1637a1c6bee932f24adf58613d378db73a947e5ad20afe1549ff6e02b6a7f089a97e42ffb2ad5fcd05c4d49a2d82b9437bc34043ec6213f0ac593e42a9c9d0faa96534dc30cff56c8692bd71d376d591b10c450daf3c31b60b5377b0b4639dfbdd6e2ebd5c4e0c344c02dac5ceee2b661b97ac670564604a0d2bf74db73923089fd3a1adf60799289cbe6dd63883818550233e45698d3e7e4a9b0cc2078373beec13e8523d0b118e15705abdc804b785a7c2e8a8ba7106260a5dc860d8a59b717c47817d40be37c392f5fe11662bbd16cb15584f6bf9b5bc577cebc08ec6230e0480483dff16a56ab2ababa26acce9566a10bbf0998b78e1b4ef2379d8a2bbb28da302e6f43d2ea509846c9d079f723966c969e5c1dc383de47fa2571d9e515aa343010b1f8f1ec1d588ad51bb6742f354a5547e5b80151a70d6320c93ee66951b6d44472ab3664f03a3cf309d88",
+          "padding" : "305530110609608648016503040203258004000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "6cf1b3bab7cba1717d2a31fbcf7a2218e4f0186fc7488c3054c2193a97d3824dd15d2e15a7268676a2740dd428fc55572748c8a0b65ceed42ff18ed42439f25664d7ccae0c2b72e2578cac39c69c55d5ab852a34570eaef54db1f91dcfb938fe7d822e581a3a5eeacb836358216ddc7d0d8e56d9aecf1698079f59c7faf4bec74fad37352a1c80c737712dfcdc8f0b8240d478ebee8fc626cdea531365279ecca43f45096f878b18eb71cb924d7454e41bf8c7fbf0d117e082a7310dbf883b439c315e366c98ae886158d276c05e2bd732ecb32e1c5ea05d2cc8d4585c7d3af5b7cf72a02c0d91eac7edaac95ca47efb9c0cb9f2a519c139bf9a6c9ac59de0cdd35f5b6a17cf7f66b822e62aa568ed3046c399e834fc741420200d942fcdc648fecdf186f46a920e87e1313458a312424da15417286ef53fd08a9e38d18a97a819100dbc7b8b43fea385d15f9227332dbe606d795127d95e5f5b9794b81be57d49e48abf11d35fe52edd54e8dd0300588a0ba62047f562a5abf47f0a645f0d10",
+          "padding" : "3055300d060960864801650304020305002480054043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "5898c8ed989e4c4a3780a2868ff1b4801909ed8e0336b75cd32801f169cd81aa16c34dd21fdc78aff996da124f9edaf3542247e00a4cc5e47eb9a837d07984fc5d2f0814d22e274851643963d349a43167a0659549970c053b3cb4293769dc748c6f9d15ccf683714b5df003fd7601f9c62c2c31f5245ef0676585cdc008ad087b8237dd17cb8d5720c98256c9a46daea423fee19abc659b670574ea145d5057ac3837002166ebcc14ccd990388d533fd12cfe7e900c6e80334b9bdc89164dc4c255ca346775944337b6e9c4472a2b90abee876b3f743842ac46e3028815be18af5e405a8f8d4a5d9d890716c6bdb49d365edfed199b2d91aab958d839feeb62895dedcdb75447d741f1be266fb66f915af337716950a4078aacfbe3b744dc44b7d991330f92e2015de7a3ecc6024cdf4fb8106ace7d521f67973a7ec7cef27d66e359989009c68b08d1f0baaa8270ea0323602cda40c9721d7cf667c1f319542fc5eb74b85455b182539497672dc1e20a375f1ba75aa6297ec615d8ecd0ff6e",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "c353da6e54821c2bbca7bb85317ca50c0ea5486225dae8033c39385dcf3a2fc440ec6aa7dfdee90209cda40ae07d20f7a161df4d17020f620e3040c376f5bb952a7d250d9ed76c3c6fb53d99e2a7d606ee1893b8a62c403e2deba0db6fc27ed8f3300bb2a57618dd0665aad48a9a36ee0259f74b084fe9dc90a1c82d198ce0bef8f3ee44c83795f85e254027ba64487f546e475caf2e03fb563779e8ab3fa7e3f5740d2d3e97892d8d786f0a502f71e3e9e8d418cca8cf1d1ddedec0a5737a8c3e5d07388bccf27fe332b8a3c6965c777f3c6a7b8f6539942c791a78c9d78083dce7ee6b60bbc98dc36cc925d42cd2983176a9fc88d67f8ca1a325febd59086b10c3add5a6573f76154173763813f219e29fe466f0346a7dd9b6c952fb8ff6bd7a0b19baaeb9427fc554fab64d520c1b81a00887be9b50d34507d47dd347331e3948e633ec0738a83deb5c379bacd7623ef2b89c994db4825cdc1ec39113431166e4e240e73cd6635d9a9af25f72623fce4ae4167adf48d24ca19dca1dfc7993",
+          "padding" : "30440500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "aaaec870a8223d256457cb14183889938abb00b21366b90e36b3b51fed1e170c0b3a8944f5cba54b8d233879fda1076a2303309ebc04bf66ee4295030ffc6753f4eed4a138af850139defe1544d5eed4e7e8b75c6c39d66fc68e72921b98cba19f5dde1302e91336aa81e21654892dffb0032b82fee80bbfde4382f22e71281a808b81d58b4f335cfdd6b170fe0998e775181d0304e1195d6c2fb333bf9684b16b10a06dddf8c43032c8870739b39be55e87b0a66bc7d3d65751083ba92086a7750f965eb2952c745747d619ef4ccacc99ede9e2bdf25d62028da81afba377438222a053ee6945ecca2ba227c6da44397951c5b0e28e7362ac5c980295083dc0bb7c9783b0bada0f2ad61e232be626eab91b0c52f8774cc3331f6196b4c16d21e76a3eae64ac85c525c90c670fa422df1a23827a93563044c36af04c7b7c96ae7eb9833dac917e097a1f6a5951de61adc1f6fa3b6aed4edd4fe0d3bb796a88aee0588b8d15bbcfa572a6e697b7d23087d61f6db7740d307f5edca795188dce0f",
+          "padding" : "2e51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "41d3df075cb50c135e1d07a11d9239a9102dd3672169ccd072ff78e7e955f61c40d2971e10a4825205d067f37eed21f3487b9a512d0c80f09d58b6cac1689cb25133dc840c11a94372332aba692d5f6157a1559e28469ef8a57628b17204b2d81a8e21c0d91e0cd15633f7e612a127f98d64909b71bf3984b24aeb1ae3daa86ea44337e22a91e63b7e1273275e51dae473b0ce61a2e3ecf650d38fdea9e05bd0e83a564dc95869bf1fe1d19b5be985424f55581208b09f6e26397c0bbd51af1b22198f24d483a2e234f2f90ced3b780f7323f29b404dbfd517b4e53bf1fb40d29408812254177dbd7939347d0fd763d2f18fa7e83f0effa7e539a3061a3b7fe77d9b5df5d50600cf39055116f235a60f298512b783e22fd83935083185f565c9fafcd0f038e55ad23246ac5b1e9b6cd777dc36c889d4adce69494d45d5e15848f4ba57169df4a28599648f62e9919861f6d5d8c4e1de4e5601f9e41fde562fae0638c0988bb0c0ee63d24d002b67ba4986d1519694a41ce36cbf20c907d62d53",
+          "padding" : "2f51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7bcccc5b52d6a7360dbca47a47c6a360eb5f2f09bc402edc26e696fdc1eee72ed38b9bd3c9472e0e4336ce74dde05b4e94c6933c2763e95e64ab0a1d45256d129ec8cd5bc0a283f2ca0fabd18ef0ba2a6b66dbfac9feb7ff95fe76d443d0aa5caa7095a38619d44f07f5152c44df6acc766859134c5f9c9b8932c10931002e16564b074b28e2588faf7f127c02958a6ecbb04b3830ee05553c83ca8a6d5b1c6f31f2804276cd42e6489693975dfb1f17c09fb5ba41d9ffe597710a8f4d0b64907b2aca89d6d5beb26cc78125e4a4cb3565aee24da8c210dae2dbeefd2d468d006420127f49f5d8e45eb768f9af9eb54a130fe327bb0ea12771d4a6e36e89fe2367e1b373f7c46b34a67c42b165873bea2b763473ecaf60b3894f76bcbd78302bcb1bdbc9f8f42ab9f15c0a2175234074441aaa8da806a5a86880ddbedcae3be07e86fa1700c2437e63c5ac263d98833ed989249cd3e7db8f75323b828034fc4c7dbbf02eb8e3049010ceee24ffd64bbdc294fc1090c5998ccf40098c09650418",
+          "padding" : "3151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "291f4b35a4dd89e9ed5278e18d322d473e435c7b9b611bd62bef17e6ba619c9e811a295b5da39dd291b7c29303f0cae07ece61b8f3849644f34e0e3dd291df0de5e7225aaafeafd3d07e8e1846b53e0ca61121f91b293a3786fe6a23fbdf15c5adbfb8dbc43540721367d7e9db32588d7651b329985ed3602fa70b3554ef00718155054cbc9f3985ee0c731b05f4552bb64759f398bd36b2984afe66b50c51aa4bfe8ea8a223b827d24904e8781bb1abd5667f731009d315f37bd8b3400573eb96d738be26b0a13c98b147e3f99941ee3608b1f38720c55ffaedd8fef9f815c3e1c48b40134de9553f38a8f8945707d9bd0ce4edf51d626b15c522fb29852ac5f45e8c8fda54bdc81be05088372b2934d7ba9b73c081ceab58505f9080dc3c3941cf3121f5705cd42d9122958148b60740aff97e3e55eaba7d093e1fab65caaa065537dbefc75a3067375694e3f8b7b585718de51829d13e6233613d199c1dfb3f5d16bc056f768253739282bfc248b1870b5c098664714e3219d3d3a433c5ed",
+          "padding" : "3251300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "d43971650646e5535fe0b97a8fc8dc2bbc93140b750641ac2f4302f5fcea941cde611894d856b7c19806bfc7c7708c100254b2e4caaa56f6a3a5ff4e105058679e07b291eac95d8bccfa91811d6c167205f49acffdf0fde91c15e6d3ed37dca02d28ef25c7f11a910c67a91e996fcf397b814cb1537da377955d651d6baccd662e9d5c5264516e4e0c6d396fd5aaecd9a093bfbe8d0e8f9b64a2c84f8a2874b1a788cd94d307658740dc0358535fa1fb545df3125b7ae19f8761a3ecb1ddfc24c1ef754d166239df5bbfc5f4666c588b6a07927e3152a2cf5008a2f718499440066c59dd23c7258bd762c8b06bb12a89dccba58eb8c9851455148296462a2afbb2d392cde73e38d2a1e01ed5b47a85ee3033ea02f1f4a4898c3ebdd5967b88811727fe5431c52c8ef4e58c2e001059e8fb6967d37f819a2586bfc8c715f842334054d70d26882026b410c251a17b89f052ea23dbb9407bec32e2e61994bffb04ba11674c15bade539faa05d84d73aac4966dc075ca968bba6e5dbd8e16a66082",
+          "padding" : "ff51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "75cc5277b4df2add60a44bc66ee8cd4b62e19f1fcbb7b502e139b26c9b7f16c59a82041a1668d530522131e0b602fea4f5206a59bf793657bc51d320594f504afd7f681627115f49e50e2f3fc4e745b0d7c412d1a37f8b8cf1fc53c25a65b0bb18ea45667caef3a8ed608896741b57d7bf305740e238cc71e930b99be530e866227e0ef26a82f5be083d4dd58b21a3c5f01f29c72d265afce64f56e66f85373939185d312aa83e58d82ab01ece9a4ba5e4295af10d2e563ff571f8a32e68ae78d667af19e17cc1f954620184ec228d8e8982f19c0e4f7a10cc1bac881967371be184b78af4116ed00c7d4d1fcc3b2aa66d28461eac5422716d0a7bfb5d31d79fb4d6b2fb5799d7c86295cd4bfbfa6bfd6c8c35463885fdadc5e5edc2f5135323253d717d7d1e091be6413cdb898800ad96b36e8d2b7c1ccfbbe6a97f516eaf9fe08ef3ec6c902ceb54a9593d65d0976c7015e3a7e6780f238738d3ee725a16a94041b09484acfa8d010d37b78febd3d7a8a4e95d90118dc1897609be0854274f",
+          "padding" : "30512e0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "9b13eeb9c2d90c05aea36362cf7c99df17dbee7174efa2c2ebbe097211def94cc16943636cfa0ce56fe72254ef79558e4edf20de56edd93501853d63b009b00d40778fe0a46f3a220d0681cf1dc54e3c3f9578f69e9c14055c73a6ca4e2a2cf00e33499879a3c4f6c4ad928535b40220e6cc49a55d2f809181ebdb6ae6c439a235cdd36aa223e56de9d53054bdddfd9514a038b4edc4cc8145a5e37037b3b4bff7e664d87ca6221d7e22b1acd8b54a9a5c6da5da7574d2470476cab1785afc7d7598d4ecc7201ad0aecc09a8615f50ce839c75d224a1771cc29e8a429516529105ea9f8331d1b0a2d1a52d11663295fcd24245eb9ea04fef04d5d17dc3a77602ba98491bef151276a0d6e37e31fdd3b0a463aceb0b03dce495c9fdd85449c305f933dbc1b3fa71ac2853ca04a67727acacb77c48217446854de289e704eeb4279cbdb1d4abfb3e06a2b7d66e0eea608aa5f5843bb957c44902fd1a8d1121811ee891adb63a8fdf6538569a2564d7181c7aa4d4f02cf78f6ba928b00ad6544da9",
+          "padding" : "30512f0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "577f6e42fd397449565db814762df3efc12973529b0b9f825bdceb5c9c569d8f57da7e97f0007c23d8f8a88f79ad079644dccb2a20bcc56675267cb8d6ebc18d74dc9ab58b1bb508f3b30557ab6a09842d0c02b58d0bc23b6225c551364ba6fe15154ac2c279a2cfeeb7dfe5e4226f24802df3571b72f71b52f99cd2488008eea573aee351508ef0af9d8849621e5603158601444732b6f62185adf4134621e519444e4844d551eaa0779df03f1feb2633f6fd293fc1d3fe2ac1ade85e6b0f6104bd537f67fc09a21ab6f32cd98ec916a0e5e60d385cd4a55644b42707f6e4ab1558209521beac521960c1b3960d4cfd132e5454b18efbbaff1485858a1258de95b871eafe07211601b7f116d3b970fe36cac65c445c62e8473c544dbe9dd03f51d20645fdcae8c918c28ee42d46b8370787ffde9d3820bde2e13cb48d555eceb1db30b1c686d2f01ee83c44a07bfbbad044b786d6d02530f6a101f7a1904cfb3d4e3cbd2bd07accf88bb35c104412f1fa0994ac8d57af6b70caee6186cc44b2",
+          "padding" : "3051310d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "c2bda4a6569e430e701b1181abec2424faf9215a0a72790873f36a0fd935892b43b221596e840b062e7fd05b284b354e8d420efcb9027f1f4722a41c83813f6bc8917baf7046e4491a1291e606fbfdfdf8a18093d1a521d2ccc6a3444d9006c8d16721dce5fc82ff9da22b3eaa841e445ba58a40ea0e96cfa07d067a3a0e83f897fa941da57eff9ab5e0a9b6693dc36d471dd43bdc5b71fbc8d1fb8c22bfa91ea846b4d228e474ad999c2a5eff17ec85678b60a2de1430286f24bfa7ca744041c1c54bf08c9afad6d7387d318cc3980f2022dfe6abc6c15e1321dd835e684f61855546a4e6e74ebc40607e0878d61eed6c287b5ebc3c1b17b2b7b81bb91fcef3572bc8049dd7857614b97eb393bb432ead46679bb77b146a9b27b22e3961f47a8fa38f6370849630ad2caa216ce4645a13e518ff3d3e10bb6d390df6c280482f0d053e08292a9f4152b8bfc6e285ce0b4cce29430aed9956b6c43a40983c2140fa3a64b2d54ca29c52bc63bd67e22270f0bd76ead8e86c2b8fd6f42cf2628c54",
+          "padding" : "3051320d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "121c2499b559e438e8e0ef2e2c1584967c83691610dbf91c9f7422c92a6010bed4d247aab8c20135811193b27239d65fefaf8da30baa8d9d366da8c264a34d61abdcf731b2d4af79abaec9ed4b5dada3c1e982d99b617d42a4f632dd8725e51c937f7c45650aff47a36641d245d0060207908bcc4bf5491954dcb9ac27d1662afe0718a2caf7d451a4a17d68f67190afd4395c4be53eaae6f096d89cd0af20364c1f6f921de4ff75e77aebeaf048b71c4acbd61e13ea90daf65946d2fd7e38c2f50c71e2b9a17ee81017f99925016b0af93100a1d8ba576b07f3479de16d561b83fffd8aebc5ba373d2b28dd5feacae9c0f3deae0a60f3af071dbb3fe07d4142ef2f1836c8944d250ad5f162e92827e64a8593b7df3c932d72b8bb3b416f825c495fd29ef3c3c67efe917e53ec9a71d0ccd29ce5717326aed80665df34c038d6d6faf52ec0e4201acd4dedf6b9774c97b4c806ffdf6f45fe4a2b62433c1de34ccbd14386db40a2d85956fa062b26d232ca83325c38cb5b006ff509c32e50981d",
+          "padding" : "3051ff0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "0dadbb9332b072d1ad255e22a641abfbd36f4e1aeff311e8e2f81b4612769c285ce708e635549111c9d1b125de03da3adf921964d74299900ee85a379f63b2513e36f5e6eb8b57fe7c0b09244a4e592c6518bb498e5eecb43280d801ffba42bae65eae9bcd7067eeb3353d7914c2dada87e7035f4027b25e27ad6172d231fb27d661c3a7d1c99dc5b402d85ee471dbe0f85b9631a6f9314d99debd84f537cdb789249966265b0ef3269a876c2ff247566855a5570528be74cdef53c596cbb7f01beec17ce61b9f5032db0365673a5b48727617f8c4cb90afa4136e4ca511b80b4fae57afbd1834386014f2f352fb43d5d7119b5b61de629dae681f956bbea009ac2bb52f9ee4c33946ee84252dabe5ae3bcbd9e1a28c60f90a222b6fd97b499c024671f038a9aa7c8b7641dbe1443d3aec968d360ace3f9910984042d5256288260d754648f366574304437f2097e55c4a31787075f0b7af2a212969474848459ced0e3d2178c322b6d8edfc957350995145bea5e9ad81d4b3bef38af862f320",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "c2719fcf01676eb69173e5b862b3a2ff1f1e71ddfa0f393749deaec8a427ee39757d90dd21e9ff74d142ce9df67cc38e2feec46b74957b287d2767380b53b654507ebe96dc43dba78021d71ea7ce9d48c769d0bee0dee2ee99ecd9cdc9e7ce9f1ace832376316ae1d0755db466a521212747cc1aa94301bb99446a3d5c1e33dbbc60fb73bdb2a9e561ceb2d6ecd6d5c92ddcaf2b2eea8e12222a7050a8dedf44e55350a2c4d2cb0016fd95c2298d0ce805c140f75b4af6912fb3940dd610856671b9e354b767eb28a4f4dff3458f78c7add72617420a287ef3e5486b28307d88ef7bab3a737528cabce0d934fb722606c6fcc942c82ca993c9afa54b71b72056de2437ce393704da59413d419ea8439c3b1ac341e3121a03ad66dca6bc3caedf46cb7c43d33c5f79b40a25a922c640cd943fcaa1c2d8dd6c6dc645ec66c2a5e3873add5cddadb21ae51fa14115534fef8abdd153e2b944892a627cfda3faa71508fe489a28b5bd0d285117794239d4717bbd31b41803475e18b022eb458cb170",
+          "padding" : "30443000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "238a0867ac39812214e7293b9734b0cf70ddbd96c20f27b29abcd7fcb037534d8480fc9d9186227fd919ba35602573d55f1cedb9f307680ccdd850ef7b92a663b5907a83e9e786af8ffdd3181752f839e45649e346cbb0d539b1de62981620c12245079b46d2703e968fcd9d55816fcd3c48eba0a54d321c3d8c341004b45e90ac3013897d4816e007886799439525223607c5100f2d8d48d80b1fee6dd6b25664662460f64b9858f5809845010a6e962f2101606a6b52fa5e154e9e060fe8a4518943385a6cc9af1fb57e388544921d849e2dd72b65f8ec955093cb4c7f18783b347ea19b0325573d92ad4cc0518b6aefcaa156fd4ecada18fd68ca00ca70f8390adcd22aca5fbb5506e8719590d9b74c3a325cbe18b96c2e18d57be8d9907f76d156c8b3d265d12733025d568366879d233a9463e26509bd1a26f141c98946af0162fd5595c83821caeb253be2db73b3752d6dd2bf597064d6ccf6809d02ae0756df341e530697bea1deb37fb34840077cd3032ef1ca38cc302b19d26c3ec7",
+          "padding" : "305530013030500d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "abf57269b9d9d1f2bd1b8df08ab37e56648ea96d30ec02804505fd303213f0313a789e62949281a30e171176b17132b41e3b2163d98fba58e878d48927ea2fafb830f1c4ee6de870289f3513b2afd005f6b0adda15b6b9abe616416deaa9f9e720d246b4d19907514417744d3180d119a93b9b353d7da0913ecb83d01dbbcb8b44571a00bc46c656fca80ad9df6b2e4fb2cd8cfa9a8fbf6883a9c2dd213cbcf0a3e104c27274276bff2be215229756a4a58052e0ae3132ce018f4406210713ea9391ffe1580d8c0c937fc63bc514ab69bb556010802c5a53eab522ac151fd22417b0101f6dd3e020f8f271b8eb2f6086275422d42fa896a8fc3df69c17ce9bad8893ca2b8578bb1866c7673a3e8775dd776e28709225be821f6fccbd7926d1e18605520b90aafdb6a81554d97216f97697cf52bbd9ef55807de827b94a1e54aa2bfe8c778299b1753738e475aad93392dcf99c607c89c43e90e4c524f0a4754281e442c78fb1264e70a43f1d97df8bcabcef359a232cd1eaa36f4761f459ab76",
+          "padding" : "30553011300106300c096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "312fcaa24bb029f9178c3a2fd5ee46aaa41ba1270fd166a097679d632984e57e71e4b1eb7cbcbadb29cfff24b91ce2dfb7fb3020e889b3bfa81647c26a0d7b8f1555b947bf869d551e7a7aae3b38d3146e22c49dd358a62ce634028b42f45ada608c64e8dd548815a42f77ab3a2e52f99c034ad0337470b4ef68bdda89eac668cf12b54bdcbb95ac18d56ae75d530d44ad400571f8af25bf4c4656d862697143cc02b5b40b489e7279a52185dd88b54fb1af807ea2d1691638ab84360fca0e8ae40652c5f58b962fef9ccaa4c6a2dab76cc0c0a0b9096308807def0db94e472f1c97bd29f25ffdf5fae8bbd53053d304f4ec214f79514cfe34623c745e3bcf8eab336c41ce7e299da2868ac955f64c738de975fb970dbbe450e528fbe7d3dfdec8b6f174edf706d12c128d0e846c8bebb23b09c53b693b031395df1cfb8835ab7739f29eeb9758e904e93d10499ccf64fec6942305962b4a78023007fb9c7548017448c028dad3ed092c961b81a6b23f9e14de6f9f78c0f559955d1af00e34f4",
+          "padding" : "3050300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "d726ef3a63208fdda04a5fa68889a77a717ac64fa4a32e51906916ed7dcce303fb0f8a620cc9f49d481b9aa09745d4d2accab1f8ab2e2e60123ce73622709ba8585f6076742dc03071b52c17faee18f6675159c5a842c98a270923c212a1dca4137297f81c9775245afb4f08b8b201635ae7eb5466782a6717bb57f78254198c16326279744823cb381014e4fea28cd3a962d19a194e72fb067689c972a9d3b9af7a14fa63a8ad1b2aba076dc4f750396ef9ab952ab42a1f14d65d9390f75cb7d48a5ac4d0eafda58096924cd6acab19c2acbe1ab0a39a6a0231ca234b4c00beaabb78dfddeb81363594aba0a2a6cf238f2adbe898d5adefbfb74cf9e3e183df5d4bcdf59f87d43f55da0de74884392fc3ec335bf23568946afafe3e1fdb0d2444e878bc38a18a27d4695a2e98f80b001212dc309c3ff24a7faeb24800314761c0024049f7ef55bbf02ac49997bd4b623856553dc813eed9ad8453c83ef51cd7cd2799474559cea86a896607e5976515879760fb245a34e500800860280e5ec7",
+          "padding" : "30500d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "625b90b5decd25d50b44caaff4f911e53e2886383e13df40fa812ca6dcda7186ee306c87685d2992e2a5355e5be06d6174ab25ecdf299d0fb5a282874a19bd31bba308c7cfaa10896ff1f5ba679f20b76d7e59b28bebae065fec99ef94e0e3eb7261ce1493f66955f957cba49375def2de39bbe4402b5b673179a86872a5a41568c8d9e4212e7943084fe97d6409ace3e07aac64247e1132072f6512bf2608084f5f79af1120ea04de9c9505877bb81553544fabadcd0278a4e4913ede9c0eb0530a11ad6e6d507debdd37e40bd6ef9252bf4130644abfdcaa59d29edb2a56e0664e36686f261c6c6bc6f09cef1b840de2e7c1ffb5eb202b1acdf40c0359742a267333c1cec0c4b931efd05d7c2c6500e8e2039622d66ccf0aaaed914b479b677dabd08ec13f14a0e6b2760a1997918a186b84e33efdabbb899f8e2bfafa15077bbb73d85a5df756636acf87dac49300ed0f0e6c6c0dd518874fc84bb097ea4a80ddd500a413e42440c2442b8fe42afe39c9fcfa6d1d2415da85a8ad903bb741",
+          "padding" : "3050300c060960864801650304020305044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "d78b84dbacffe53f9f7b058109251835cfbd56a206a677974a45b7616d66c33c0ddf8c5fab8f6da081339fb9132421933c0f0356354474ea2f440df9d2716583e3755c807a73d4eb383ca677043b30d9828d0392817b64168429787f2845bbb638af68d77590c82d6d7890333cc1a5e31fd140be91a1cf1678806b6eeb65cce02b88d5a69abbf31a16ed3108392467b476f7c2eee9b6fab75cf43358cf353bb2c626062bcf92a8819ac4b2f73d3b00e1e18b7dfb60c2189a79939a390c0815756613f13a7d13d9a79b2182152a29cd498b973b8b00b13ec11af697924fcf0f193aa316a9e4c02cf44cdbed2fbfefb7a01348d72099166945105ec08b3db71b1da6741fb20b5e7206db870bbbf422ac577340ece1d1a93ee439dec9da18c0edf6c89f16a0db8812f187473c8d1c27c65361f5145cc9fb0b3931c45669c0cf8ffbf1721baf92a2876fb9e681762c994dc04806b1103e06d72b852d168ac5b715f0c940e4adccd7a747f7c79b9978eab6c090f938e035d4edc80177b537989daeb0",
+          "padding" : "3050300c096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "654d3d6433b71add296e323b4bd6f1dbbdc60d5f7befb1c7509133e79d30e98ed9432d85a8d123a13ed78a1855d1c9d9c854c516d028e401bfea1d8e58be0e8031e8ce582f7d334421ab504c317263ef33bf743202b3e140654a7c9b1487f0d9454922a919efcf2142f2b9d0e3ab3ce803be110fa7613db80d1da8de04b808a7effd729b751c896c8affdb1172418ffc3bca52cbc1563a5c183f86497195410b57acb7ffe18c2e31dffcdb927a3544caedc5c4f640289317635e5e0ec56e62f68831a717f2810d43265718dbfbf6d2942a5d4245d0a86e3dc17462f42fbdcb9e5ae57b28279f0a394b1e188fe98f3f514642b22d1c26218b2b43aad98a0c8ea73480dcefc02fccad043af277c6dc2a39013a51a24918fc78388327198ca5689c346aeaa2556eeacc63f745dd94d6c8b9b54681cc057fa3abb725c8faea599b685cf30d948b58a228d77fbcc1b18e050c6dc810f7ecb5a0c3501fb8f9bf69689d997637612883752c8a29e51e7b92040f3686d2a3ca020a50ab04361c69fddae8",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "dc8b26af772ad6eba277bab5d97f4335c95f56a1ee5f1e248fc71b409a76883d29b2ebd65a1bd85e3a365284f632672be93bede2000ba6c3cf5e100b4bd9a699af2519f8917631d7563f4f1aaa2ddfb729118c96a01722ab5b74c93e36bb706c8edba0e43225ed825c41b8203e128c45827f43f98cad8e8ea862ca7538e19737dac5b54631cf68b65624845a25f5106a92a111af43bffde1f215395a1d9ea2c08296db9bf97e2c7bd0d6a37a21f97c7bba3ab7544400e2fdd2ca001115928086c177ba9387fc268770652213012b2bb917edae3416217fc4fe58a916d20c9507f11a9404d36e26e1e2f962168f06d5e3ec254dc8b554db9a33ef99775f246974c3d43461ec9229dab0cdfa876bc86a661f783ac2a313691f9e919363b2aa4d7691f59152e331c18c7f1b0f2d39408d937cbb1e669c78d509dc99d10521ad0e6c4a34dc30b792bcf56024aee4c8b9370aa73269ad7c7142886ecc7c29a6d79890922c2c81aa2f5f0ee316cfbdceae3ffa0010de32607efae35ca5f906b04205a8",
+          "padding" : "30533080060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "6d19c9ab9e470c402578e0fa8f5d82fe57b3103b94ad551a9174e9e8a4533b9571188ebfb096aef7c1103ceb2a93f592c0f55279a2fa36a0ab77592b110ae7d61a5948f5c9b7bb941963a0acf4ceba0767c52bd62ea4e5d22251e2cb366e61940f11bccce40b35bf4137b9c6447a29dcf0f73ceb1954ce81f37043fda74d38dd7b45edfe3bdbbbd87b74aa71c7384cec2ccbac628271ffc4edd8e9578057aa130b683c25bd286fd652c12522fc7f85b4b55ba4d1cbcab096b19a04d81c2fe0599581237ed6cbd2a28b789dc3edc6f39746cc0375a35b86d09c02f4f996849f0333b76ffa77713787ca0845bfada29a27b66647b6e22cdaef29e8094cf11dde792ccb6f4ff3e33d2bab0215bc7438f34c96765216adce5b053240eb815ae2230173cc4601dbeee51bd3192d4af32c573b7698497dc8b9fc6fae53730e85ceea2cc3d9a15fd00eabfeb99f487367f971d4d0c27babb071df80bcf2398a3e0666a04c9d41c39f72235f125332f54d4ba27b48f0bd580fab9ba74be16594f17b241e",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "d58dfb5abaeb00f79173846f172df4da2b6fd056fb23ea48a4b1c04fbaacf74aac490f49f5bb437018e68260c5fea5ff4bd263f9093394e256a85e5ec8b783da1b296937a155a14cb2a027db233957013c00ea573744b4cfcf58cc51d6787cee3b4ed6f0b23511efb5cf8f553985999dbc54baef408bc5b3ce1eaaf7be828742c30870bd586a63d8c02cbb2517812101759eb290f70c45250f5a197da3cc6620611853ba6130d59cd70f3a4d519e5b49e7b7cb474223dd8a5bebe3f4edb9cc44840f829843c024a7a269673c84677729c4f6a24d40914d8feb182c5eafa02bb45d2d4afcc57751ca5f6b39b6c550876daa5fcc32ec9d4f5d9b6c49a3e6fab053104e344bc7041c2e6b7ead33116cb8ec7c5e59cd4349cf23bc96b1e7b2dbc9f160efab95d3d2ee495f8fb91ab4d53949c946419f36c62eb0363c46bec6d77dab0258eff8910a3df789ab28681a059a9785039529a292c55d431cb6f97525c5d181d113fc24ebee04376b2c22a5faaea5f9431fa48688d014d8a3e22819d4205b",
+          "padding" : "305230800609608648016503040203050000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "9c7c0260a14cbc98d93b0db2c40028fcbc672b4a213f2e284bdf0078b3f9fca950aa43c870ad59a15d21fa0a16cfb292ab54a093ca93e51f32a325edddef0885d1efa35cfd019b4f5d34f8126a1a65e7e2586fcb5c3c5a4e70153477115830024a2400136ed195982e8c3aa76409c38cd63cd8315751d26af0183c2a6a7919939ab1a626b66106d2cc6e884b7f9cda3555ecc16f96a261b74aca59c28dd84ecc668f1e4dcbaacf394ee62d995f3357e387824086f1da4cd35931390f1542c35251ef713a965cc9a58d74a257a6b8d2f7cff0c6155b88f7d201d90acd9e4127dec43ea842f41647891779581feae92a67c184546737960654fe4d74783b13ddc02f4e5c964ed6e1ccef71621a8b75c47b6c7fb98ae24831e72800484b8c38cab8620b0a7a2719d846792f8a04cc338f462e81c52328f8f6a0e5031334803129ed6c96ef8a5e53ff7ee461daa44595c9da95bad9475ccef8fb0839b78b95ca3be577afc9e4b7b63d357b0613aa4d46a0239c7ddacffe6b43fed020c5e4c7fea9b9",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc05000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "edfa8852cbeeb5310de2778612b2f7c1dd18227aec6af8b28d267a6cd481f08c0e9ef807188a7b4db9fb2b315e5a6211a4a46cb4321ea9c9cbd5b61cd3a3011094b82d55d561e3fc1d8830ab99355a8c72266ea6070197f79f191931a13d560a5ffcec16f0fec99a0232851c63397b3cf0f561d9c13d6c54b0840387dd7be3ac7e365baeee631eea26c8ef8a09331acae63a49f8f52026447f403be950184cd5c3dc25acdc1c7468a33b672a71b474131853cbe020f33b7699dd5960a5a817c960de36eaa99805f5a2a56b30113b98bd30b38a12652815dd7b972545be39b1c6573781c6907e0d510f0dc876fa404bef9f36ae895d34008078cd49053b4e4e49483fe8198dacdb68b5e864a491c4435dc7a86deac9ed959a6ea6267d9e3120ac2a091cd5d63950f0c91b3be9954252872620dbdd11c7bae1729652061c2e12ba1b9306eb8822863f479970767f231954a863973916ff5f08e9adf1e486403da4b78b654dd5927481b28af50ecb846073a7e7f95b552935993a7d660452fe89b3",
+          "padding" : "305530800609608648016503040203050005000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "b66681b04e8b3faee9bac3c52d9c6b6e62c5454f744a19df0c91d94f30c8faaa5769437e02cf4ee4f5e3cfa78901213b54476f8ef2d6e619e6ba6e73205eae6a573eaf34abda20e45fa23d9fdc7d474b8a70809c0e9aa233da83e0eaee1abc14858f519076159eefb770c6c3479cd70dd3ce4aab574a15cabf8d9ed64854f52f928310715d7633f3210e5a3595157c1b39e8e9f939c406318d1af7138faf6cf2d755c213aafb0784ac126e71c4d2d0b1f054c28e80cff43af8fc41c51efcb2c620c4600907061e075efcf1cdfb25cb886b64451e07e20e16bd10b223453a7d32c116c2b34b6419534f64964c95ea3bbc08337526fdc66b5ff7f90ad29615c550f74869c03afb91c97934f89d4aee124f3b280b335605d733e395f2a1bcae5454701397f02896a647aa070db7d36112b427d3ffc344281917dd27592c530b6669c0bc3f191ca578486e036f99abdc5ad3e72ae325bfd6a7651de9b965ee56a6965bb3a0b1b6f1288b17a196f4d7d57a31fc9008e665058b299fb988b64be31a91",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "65b6b1cead06a1ef0d9b593e58429e3cecb4be8f3654fcf6f1cf5240c5e1f617520a79c69f1a759889a60a2739107d694e2a21ee8ccbfdda25fd30f46b441f1a524dd0b7f4180705aaa70533e56cd15b73f807fc6d0119eb7f7acfed7ef96a917469b9c74898de4f28f2f8b207221ef062c8c9722ce3480ae352e99d43982b784faf9cb3b98b037a0e6cd994a4cd68cef59277daa3dddf4a0c492eb2e2f354504b5cba4759cb7e1bad9cb73389aa07f48e8410ecf7d46e3617824ba279a96811ae89d15335606da6afc5d68f3dbb71141203646bff8408827a76e7264fe4d47399fe74112b9909f3322f726fe20fdacff5b78492db20198432e497b4a73d0c9bc9a5aba64529a6bf70c9de78741c588b97487d9b13ff552c95e0fb47ca0201d47eb609c712762e23ff39b89827b89ddadd9888a5464bdadf5c168d28d976d9c8d8885ea2495f7221f317dc3d6dc5462eb5af6bd2b02a2e540b3286196abbb9bc36b684e141e4fdca882890b3b79ad57e2584ed8ab361b4a4f5725a7cdad0c1d9",
+          "padding" : "3057308006096086480165030402030500060811220000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "b5df4fdfaf1665d89a83242e493c8b2a44550228eeb00bf71688b664c1c133eea9f4c0a1adf9a784f7db87fc7bbabeeaab8ef424f9f12aac640be61aab8f5dc6dbf229cd685bab1981a27cb1c63c138f1476393faeda6710b2c6c1c9948f7815f4f488dc9b70ffdfa9c6ed8fea3de1f71c140a6d14ee5643ded186b9c2d94745e105dc0072b3653294e7ab3f89894d2eee9c09f01db2d36fbfcb58192d77b81f05c6a6e9d025b612f055369fb0b67e78ef476f88303f31a7d35917f00b5e4e6fd33af9e01c61e4eb1a2c1b79d126052313b9d9c2b2e257b3ca3294a46ede05727c8a0d1b55c95ab142cc385ee5e724107829371128f17280ac39b47e18215d775255c53b5e19b76507d5009bab76df1a413218b409273b7aefcd20ad38375c648fc85654d87509888b93714c18cb9394840e86fd71e704ff3eecb9a764a19cab975e7441015fd4a2da3299840df025944e69ac79b2e5eb51d894bff04c1787e5fb1841672ae799a3d27fe1c5661074eb2b321def70785b1422b34c7a428f8597",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "99436e45ec2e733ae7ed9b14664cc0d87b9d70d288cbfab5e903665a140365e6ab8aafe81be94b9707441c588d726c7be562efce80b0d1e6f74466d5520031707759ccef779e06e3a7ab6ae7288f348e111b219d53121ab60e4528455d42aeca72bac0c64632f402f6b8edf76ac7e13cb676fbe0082b32185d13b4acc61933f4707c43942ecd48e71160559d9eaef30342d3e3f362f4c028d0136acbce15897ccda53691ca89db559adf125ff0cb47027fdc7c6376c5b304e004e848f82c6a681235c02d3ca98fcbfce53000450cdd5a48378d7fffe86793520a0ed9bc9091de51cbfc6b88bfd2af75cfc558af37c41c969473a54051f741071e06a4bf42f78f21c4d7de13f6669e9203c77e09de584dbee7dbb5874f1330511a7666275cece3de7ab667cdc43b7a782a42b8e2be8bb983c7744c82fdd0454aba5e1725dd4cd39065bbb86c39239d4a7c56c1939fe37a94966e0433f6211e93e0d9fc9477258239df1292f4e74225547fd6ba68f8af30f5fdb6f2820423b8e8b17b614c91c41e",
+          "padding" : "30573080060960864801650304020305000000fe02beef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "b49672bf48881d9397d81b4d962d23b6f4d0da5733c4b4488981de8d61e6aed4083fe15d3e788149f8cab9ea0bda6156db278b4c66887a5aca6e511f0e51319476d329eea509b4a1e3ffa915b3dd39cfc8401164185fece011a6d82d71cf9171612450e24a3d06df84b80298cbbdfaad02ad4d49a178b3e16b4d2b69020f9bafe6c58d577ba4a933531ac3d2d525222073c3dc883c6958b36e7954162031d9559a497187d497e0c1eb6ae55c7050f701df233c4d6b98e45d5eae45b36339d9c619b474c3daf9a5651b1bf9ea5776765148b8e439f8466414247f898f6cdb75f222636ee965dfd9acff0321c1da6f1c3b0b528c75f5f63c4894f746db01f7edb34b1005ea99fb9f82f82e1cd9943e8ba336334c9b2edba2343d09b082629869aa03fe50937d9aa30060dbb4cde14c3f1bc225042a556e0c64ce0df4b3d0486d611bec3c7efdd3b2be977124d0891915bd68e41980389762e01c631af2f70e904a0b7041ee1a2c32c0f59903dadd8ce5cc335b761108c1c176d243fe2140adf792",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "781a3d96f3bfe9b6f0aabc4f4b6a0c5dd942a76b099f67732f82b6e342016082e6a2c1f584070585c7f2b67c9ec6edbd94e9cdc8693d7d7f3e15084bb02ac7f8d079d2f8a5d4d998c90d242f0a0cf786f99da2104d8b035abc069c763f8abcaecb6194ad78fd433114e61742820cc77d8e0eace89ec7a19b861166967cf22a608175360ff947febf804436ef129c45e86fed9ece9cd16e9756369c638eb6a9f1848eea24e2b9710092e31fadbcc72c82dde582069c2fba3b021bfb8e81bff479687098fd9ac9c7abfede1f1a2811684f745b8e10710fe469ad8f3128694694bb4b333fa59bbacf00c3665402ad486d5609b57f957bf9c964231002bbf190121813f0bd159a6c879edc44200c7e30caa5921d2b0994257d78e0ecaf7c13e67c07bb16b419f48943a956f47f87c839898875a106319a8f860b3d2d140b0bfe6163e2ae5e2b11da259c0c4ffa6d25cb20822049c72d2a142e051b760bc9fd128563e5ba714c01514530f76d50657e4a3ecab74229d773e08347c35e39352db85d3c",
+          "padding" : "30553080060960864801650304020305000002beef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "04c8fad7b52391e832af68e62e8cec1cfc2256d560db597138f1aecacf4fe31ee1515fcb1400ca18c56a1e0aad984709b962223a3d7cdaa59bbbcde52ddf9ded9b8ba38e182cb090fc0fb421eedd787a6c987cc693db6cc645c51c41b91a41afbf007f6c3dc291d036688ee41193f49758cc1dbc3c4809f0ef528d00f3ea2da7e8c74016b20de55a6a481e6279978fc851c692eff78886269e45259ff8607a2efab66e7a18d247ebd2826d5c9f7b9f75862d5da206954488ae1cf1c4f28630b46d8f60232ba8bd3cbefcf8b7cbc06fa7e84c06fca1be837d521f1dbd67e7feea7034d6539ed126316ca4401ed1d1ab23623e2ff91ab762809147b9437b46239044a69ed1fa737c896af9d611c1e8062f4a3faf4220d0afb1d8851a4205d34c6a0ffda9d5b114ed46d66c2f20be4611c0f8b73d69918d2079a6da90bb27828e5605cbbe7e3983c2850334750da49361821cdcf0af965f383519f326fe32456615cd8c72bb6ce7106cbbb4cf3627438ec5de18a4f4ccd967b7259585f5e35f050c",
+          "padding" : "30533000300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "6899934d13c7b6133be112f7f63e2a58de2503fdd0c9055921f94b4db0e1aa8475f5804213e79369f87007f70021382644239b4dbec4f8630c325a79a9c2f1e026a1792c1c43b64a57564fcbcbfc9702aa3a9f497f9f5b236495ed80347613170e5f18c81df504283a04f20381ff60cd11255fcd1fcd255ab4eca0b00c4aeb4d6b66a31d05c3b7d7cc329476a8d5e523af06b7542970bc174a6965bdfc42dc76f9efa2abbc61794eb208c48e33c293620f1b348e2048d82832cf293961844ccc6958ebace14ed3de52d57c0c166def97f602b486b75faa47ee8ff7fed50424ab5f2422d61a5c7bd2c64cd9e12a3750686f30ee965c4f672069796a75db2c106606ff7b9594741ac4ce3e9a29b43759b6c09601ad8fdc22c8ec8be269ab634064f6248cf5ce5c34d100a08ced73296055fbdbb8254cd50a799126970e07a5b42dd7939cc8342e82ea8d4f3037dc16abaeca4b8b97696d42ce51eb5241acfd21711d17e55f0cc31b8be6690bda116ffefd8837249a5efce51445740098148f5f31",
+          "padding" : "3053300f300006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "b763fbc33cc69215b354605de6cc21eca3c8e6a8b3378f86107a09476694d31c4d5db179183b0d0923f86c4177149e6143089bded2274b4a7e328f3e45c540421cef31972556c9d81332bd32edee010bca4e77c2113bdf2971800c6b61766a95a2eadfef6901bb1d79237b3af3a817bceb69e564d1de2853f016395bba5a436634dcc1b37f4f1c2f2da979892802046505b20dc28294c3ec9d6517b144c43caa77a3f4f9469295f7d4e0f566b2b10394d8a4e8ef50d06078ed7e614dcc1db9dc3e6f7c9ea8413413fa93d54a0e30785dcdf1cfe5509bf0be80c5ab8ac74579d695cd3ec471def759727470191d057e6d5f32c2c8ead53310890c932de3e6dfd0f3d485a3efb6d733c21d454d032b4d1388fc8f5469de8669e9ee610b725ff46bc08cef304204471ab14fdc585ee02e07191e1e9bb2a2327fee3b23a714cc5d1ea59a13528d97cf75b24357e1e232942aa54db19a980b3e7f64c672743395a9d470d11c32597d1763e62fafcbea2f480c14bef7774f74e2619b1062b84786d5c4",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "3dbbbfed1a149832c71a1293c20b81b1c8d35c4b75181f66c9f7e6aeaef04066cb6edf1241e9d87ddc842880b7978f18af9d2a33fdf7fd1a5e8c10dd547a5d334233ceeda2bab410d5dea9464f623961c98195b411bb187e981e107b6bf67be5865a059a6daaff8e2da602e91f4176f47c53c9f53b22605b748b68fe98ad9c5936957b074fe844567e7dd1b07d930929d3dcd46e84ba6f9121fe1f49dee955e1ad5a329cc0441d524a20215a9f7304e977df5097546a4d3ed5022765b5cda292f1819b55334e6b95119fb0825756d7fdc8dfe173a391b62e970e51729bf89eba61be3ac1f3a5835aa1f6676ef807395440e984b13e3711ad316b7fd61d0fdd9dd3fab9b75545882fc1a2fe1f0d9dc7c72385b0b445ec411877de83e38fb7111d5b935167f469cbd4f37fe1313b2beff0fd6ac4bcbd4e98e55e787a8e16967d8110b8c33ced213fd792e1741e4824e41be24dc6cdb947361cb9ad8c742b5ec01f5e71fa4eaa452801fdb6524b5c6d1cbe97b10d36bd53c9456977f662b6a1c85b",
+          "padding" : "3053300f060960864801650304020305003000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "dda96df9b188652fae7ca14a1d3a44e26359ad9f2778f0dba63b5e4aba7c30b55439f74ede96c56d48df4254f4b0a6f308859904f2f69f47ebf438ea87232f84e61c3e376daa2da8c0ab2391a5c8d478e42cdb2b70ba430db5dc3aaaefc9c7c6ee39e2b1393f024a75c4b91843d52a49bb2ebc9aedebec09d2bc5c200bff6556e689e48a3442b216bd7c1927946a41733e8ecce2589d0973ef8dd2a3a88dd9d4ea2d1d0babfa60239632dd2c23124165ab11c625b95c3a0c2141301aa0bed4228a1b87964ae14691b4dd02b34e38d538ea1e02a7fb20eedcc90176e8c57833adecbcff87df4c04f19a77f223976c41723f36cfdcecdafbb72f2fb944d4ffda0eb0796c3c0f1e3d19046c3824137260094bc6eb3b735153e9bd683cd741fb394f75dc7510ac4f6f3dae980b56db7ec4bd15cb193f13df1f03ff8a1b62aa9587df8d6ada3e8cb849cf923575bc5bc4bae87c93393f7894a16da39989305a6ecc77a1a3739ae253679bcea0d7ac472cd5fffc62c64220347765eb4ce21549654f41",
+          "padding" : "30533051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "80403d3a020d83681ea576847d5d1367e0210401b81413f948ff106e1e341be57b4f39f2d8509586cc477b0b8934c0ba78a3a97ba425c9d123ca3bc64bc26538c1da92b24adc50095c209b522dcb4f0892815064580ea87c208d7477b50d7330bf8d463bbd4ec66003576ca520a1d04f836d1e2abcdad2b0ada71bdbacc9623da2276c718a36825020dd20d6747c9b7616488c7ce0df20ab150d649c4417df73718f3c363927884bfa6134c636402b6e6c231d04b3bdc4ed6b29f479c8c35e0e02af932e59f800e46a14c0647c2f0c31748d56995f346fc6bbbd90e55be49767a16a6934798be43fca5d8ab10853cd20556634df53b13a1bd4c047d7d52b1102796611b016517a28b277510c87d398b4fabad78d11b0a6a094efadb7c21464129636c75eaf06a5c1fcc1a9cef40b9488f24279c6fedf93b576f5314800709929c54cfee383140fa71bdad7552b0db467e39caba1adc70e1ef22f62e81c5d4a50884d5a359de3c7bfaab1c00c31de9fffbbd4f8a4e8e8ae7e39eb29abe0612554",
+          "padding" : "3053300f300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "e3f92ba88bdc4136cda2e5a248325c98972c8a42872fb5779c46c406dc8a7f117d5fcf3c2ece96f3c2c0f5061547ee233f20e17fab48c4316441367e445d7100a173bda80b9d6d4411188a942c3be703f0779829dbefffadfe6cd95625fe4c5c1bd3f22b8221b2b69d3c20ea407c6d5ebdb5f5c137d056899859cc5faf5bdc87c223508a662e5b56b08ba3c8d2d344b6df040193e36263c11123a39d7b222377a131fe3c36bea8467390ec53e46946c54bafff4bb61a0bafc09c838081e4e66231957752fb8a49cf1904d70b024dbf470f17ae3c50e7407ed5342dc8ff9e556564fe37a6d922d2fd867da8d92be27b20deb8c7597a1bef71edcb402b2bbb986fce5324f4c02af643f5e3daf623f370c9ab7d3a55e1ec92a5a37f2148979c9bdf8488a49d2f6a31a8e99f1da98ffb5c635173a43b94248a8c5037dd385d16ceca4b4e769a8a5762d4ab952ec99f3fc9ac6115666e0f5f94ad59f23c3ef1798093807cad7e08dc86f3b4b85ed6a34abe354d50c772152c9844b9a34e9097688368",
+          "padding" : "300f300d06096086480165030402030500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "8085ebfe55c20755b6f1375ad924b868867d5c878c41943e61a9eeacbc68c7ee9dfb61f54b8ad22dcbe04c506814711ca1d36c2226a7d906f095ee1e0f6bb61ab8eb6344d727b13a7252543c842bc7fab0fcda70ae328abdc8ca3542a805c6ad30cacb432ad05918a65862f7f2d59d0821eb1e73ef8b7b2c24ceb1232b7b3b5a3ce06e7e5f214722a4fa4675217e09daac6764fc20b3a87d21589b8d2220a56b94eb71acc6ee4c400d47f415507d01207777ca6f3b2baf3cf27e75a6cdbe1eb0089f6b5c3825edc6a223a61c9d256006d30a6f0fcb2c5624ee8b49814f1f560260dececd9d11f697ef417bdad561a9b63236dc2e62d8914382bb92e98a1c39393815cf0915308cbf212c04bfb4a8e9dabfb5ecf957d0b6a3e4f7b0b13233d27998a1c447cd845cf926144370f754494e2c1b845646028e4e26b87888e8866c89e35a00da8f3ff3ff519a813d9016b8c31b861f4a292f7b25180447aeafd03439c543b6e7c94c03eb837d013fcd2151c17155e24127134cfe6f5d88d9515e3590",
+          "padding" : "308193300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "313233343030",
+          "sig" : "e75d3f7a4fa5564a8ec1bfde667c1a2e9d55645c1ec35c81a427584c8b31c014297106d8b6741cdd11d6f27afd040ea5509d626b54fc601640297adeb3e04878fa5ec4f553d0eb2f49281c0db547933a50e18aa1bf3f5e6cdaa6e452d9bc8dd1d60e7e1c21ea00fed3f70481ce9cba7c2ddee00c1eb3641654e41b92ccfa278874907788f934c1807909f2c9ac7a25157b7b7551e4955fb52a2b7d9a9e30706a1f39704deccda7a156af9da41b874298e78291b31c28fc958170015170454d154759eaaafb9b0800d7c4a7c9351c6e25e1395105a95af889a80340110f132edd2830fa313ec7714100dbca65e427f850c65adbbc94e6208faf33f26098a3d61c17a0b6dc8902eadff5c19c6887eed60a63b9b09753b250fe586f5c34e204fb0e3e4bb431ff1a78c4849fd78e7e6ec1736914d3b1cc6a5503707dd96fd9bb5e8777bd233dd421a6ed0b5dde9f11ff0d1fa9ed8ade754aa1816465a23845727f585d63f1977becacd3a0923b310464432237d2662e61622a00c1d310ece4ce145c",
+          "padding" : "304630020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "313233343030",
+          "sig" : "d358d09d7362c351759cff1a38cf5ed30d46ef8cfa4891e1de3f51b0b03f318a00ded0e1fc646b9a98bbcfb1107cd1ea1cd9fd5654814d6a417e0564d28e0e7b35751bde792c55b9ec4e3dbde0b791a04d996450abb85e4d3d60ea2bc0e623f04438948cc7a03e0f11933cc857ff37cf47d3878e6bbfe26310a754ec51bc034785cfcd906dd7f0a97fd5ea3171f333444df812ef93249711b649b46e557f38dfa43e03358363a99610088ed415bd6bb5ff7db644670637a509e8ae3dea48828e178d4cd28049f3c6dab0f2c5a3bbda7d2663742f5b68195e1ea4b14c2c4d8f66e89c6ca1dd51b9f5af289893b57142325f1ac2126db44b10784f12ddf1aed5db309ebdbbe31c99a3191a22a044db2022ec611ffeb0ee3944cc51324240e4d54ee5aca8ca8d3016939e3d4215e9b87a20775f28e7d477b4b9d3526d0dd128d0b97d7530d18dab5ca1d1de165e5638bc236efa62f87ac1c90a0858b41c08f9cb0db85765cc7fdb968e7f6f50546ee914fb7784e94107bc7bb348096bccf3de13ba",
+          "padding" : "30473003060500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "446145c6c678d35f859a08fe02d4e58a1b8be1cfd2f85754ae1f1576ce7e8c63a8333cc90880b3845c969505d27d4d7de731fb5bc2eba43acefe986891813008d737e200ef1af95a4fd2979c01abd7b06cb52bcbe514da42c5a5fe1bd0de6ef28f078c94101bc65bb187476237d992bb80479ea9470a9a9350b93830fa97b726e858034bdb02f1237771b94c71db8d16bfdfb8eff439e44c9f4b950b9cdf31258d36e6c170aed157bbab1563317499276259c87bfe92f6a73c02bdec02885d8c6cb06be332e87d3f3eda0ea2fb24761333f014e1aac01b076ffbc39322462dc82427b8b6af01ef5bf5bce0ab4d222ee660f3fd661766fc2c402879910cc59d743ef0ed1432ed120754ac0ae1de6239989f013dc17ba66353e1a39878d45333422e53187721b8257848ae5edb451cb1c6967f248e15e92392e5b9553ebae45a9afa0df9c5deca3c9d527c373f83abbec734f2b469e22a391866299fad635766812a339c30cfbc51f22cd6f1139cd76e6798e3e24d40ccbe39b7ea4f7d22c6c87a",
+          "padding" : "3053300f060b60864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "85af3a618063afd989a7e1747191e02e93c5fc39230acc8265c575558ea2f5b2dbdcebf00f7007be38c1e5182ccf643cb7e821a26b5824c2c3cdcca308ab157ff8038781d1e89de77ee4832e015fa490ccf6390e9111b7573188d9fe401bb1d32556de05b0cdfa27b5b9930c8d7e044a0470b4fcc03913c018932c700ab61d0a86c28ae4bdb0a9dbfd90eb8922fdf237f2a37a5e4e3ee50c784268048190e5da77588c5a351498113a60f29247f812c457c5183ee1bc6de62720b0383aba38461b6d0da451c55ea383527ed9c4844e5c86c41143f815a9c94eedf4f0ff8fb8b9b33ab1085d9c8103c7df6312cf00b1d094cf5bf2a3410b2c480a201d2db601fd3c906b96db716f7acd73cccec7b6189c9a0e0f11afac74c74d5e8f59ad403ed8cf63e220ddd0264fe4e7d9e038a7bb371221e670cbabf5e99dfe344642c68307ec55bb0a9e61de7b1c8a9b19d317a3a024bac9e5f81d9078817cba296a7977c1f300b01878abd4991e3acd3895c463bcd7b3cfe98c8a5b2aa36579cf9c4d698f",
+          "padding" : "3053300f060b00006086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "32d2095dfac746fa0f63271819bc652ebc1f5a32f16c041fe8e7783e4696ad79e3d2736c1481d81cb5c3a992854de7824e55e62406a44a6576430c86e48e0245da194065a58ca28259bc6294dfb71c30171b4a9b97ec6d7343e8e7e2726d1be0f75295da4f7bfda68a44d8fa78427409c3cb4fa7164da212848e8406ed37f9fe87b1ccf155d46efe2a6391c58f78d8697c1b9965d7f1050c720f10519ab1b42cbb0ff05ee58eff40fb5d0bddbc6b36f42a321d60589b46acb83c07373bfb8636e091d744e3ea643cd28e5bd3bc8ed8262515f6d27a573d38d121c474e132be3a66c35f4fe35ff378883caa731e1cc5cbcd63e4b37ddbb3d20adda51dda12de2c12bc8de468969ed06476139ed99eaa3a21557cbf082768c829bc2d14c7a9c7fdc76eb2a1d7c037330eb3a4f11017a29b7ae47c92a4cb69f932dfdfa4d9d91e2424cc47bc6bc259ce03bfaa7cc43f991e8056df2a6ba27db209c73a27c4e6c2dc2b81d7fe6c7df701631fb9a62f76e74354b74ab2f188a456fca5f241c655e829",
+          "padding" : "3053300f060960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "313233343030",
+          "sig" : "94cf74fa31189732accb5392f396fbafe4e0d99d4dd19fb9e91d85aef619e859aae3e27546e3ba5a70739c9d6972afe1383bc4ce501251b427a50f0a5327a55a0f3ffe847d454528e5eca7cfeb122be2bf48e537ee5f692d20f778f7dd9e332631ca7a869a760f6880c9af59e9a1cec96b268fd9bcd675636df91db986422fa04042090aef9b25a2285df8cb5e6c90e5f915679d9da3fed5b39702ab36911b03aeceb3be040e80bdfb4234675863249a5a49987f242282ca3a71197f9d412b71d1c08b70a9c396a832a62e57a56cd6dcf421605c326a95eedbfa85afc9e2e2dbd41e3c675ada6e3315202eb3d15c57e9c08b503093aaa51c2051c35578ce6cd34c40428fae9e9d13caca5877864fa9089979b385ce24c52a9fb807476a2b87856ed06483cd8d471ff3063830c1b6ad8328bf6ff01be02deb7ce5ccf8d38b650582173ba19cab73340e4d3b136d154bf98f5607a4738dfffd87381007701987f88f8fda3093e8b83c64a10d6d71e81cafe1cb33cada4bdab87ad6483e9af9cbd7",
+          "padding" : "3053300f060b60864801650304020305000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "313233343030",
+          "sig" : "49fc18b547fa4c7d19cb46197707422c411d53a2ed9bc8e0f9351acb69c86e258043130c44b86a0d7dc0590d04422700a230d8b7f0cac824288381d0dd9b310975c5855b7192dfcb5675a2782db475f3fa2ded14894c036cbb343ccd5308316735776e4a8b9b75ed133de1389e0fef59643cf2918974b14f315cdfdbbd6f4e0cdaa46eba5e8de283bcc8b3b5250c8b4b9336e9ae5dd96c375fd16c2d30e50473478ec50803e9f278746c4e6b912b37ac9707b4961484546366fd800bd8cf8d7616cfdcc22a7cfd24237da437ceb0e8016c3016446abd2daf313c325e951da8c01fe964487d3b6e4549af9de5dbc9a30462ecfbb028fce3ee470cad39fff62610fa5526dcae39de93e6909620319b214c2e0ef984a543245c441a3732cc281cf18b63bf7546a659ae226825a0ca5025d73c4c1a1be069edc16e80cc66a7ac0309f5cf4dc3740fe6894e8da2ce75b93a43ae0942bfe0602dbc90315baff355d7574e31a9cafa7c367e2a68fe040f419fb6e71317c30eb7f472e0239790a18825e5",
+          "padding" : "3048300406810500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "313233343030",
+          "sig" : "dd3ebe40edeec32720d32486b48ee2cf966c87602e5fa879917b9de79d1e4617e882336565dac061769085c9f4f53ca9392de1aad42656f23c4cc3637ec1e4efd2090d6f41d38aa587119451e15ccecd6b3dddf2bac8686776cd0207c0ddff44d10debfeb08cedfe56524a35e95d45ce733b9b86f62aee14c3202fa122dddb017e797f2714df68e72ead5b0a782e66dec732fc706f4c9308af889611128cece803c2efaf07c261a13486bf7d7a21aedd4449266ddcbfcdb5bd171ce4255de460a975badb19a5531dafc97e553058d21fc1643999f209719a0a17e3802ebdde28d261859d4858c30fa6c9defe34f7a7d7b0604363266e538e117a414a0a4af8b68a94d18f4ff8b731a4ee33ae8f2f81ae22d8758cce3c34d2f62786d45c8b0c69724c78984bea20b55c560dc831a674210158298a1e7c90984fcbd994febd83478e8121fdf7abe1f14f2f9764daa70615463ac1aa5e61e0bf457e1cc9ae83b44700ad2dc592943aaa948d9028e59e9999fce4c3374880c7f9b1aa2dbb9ed70eba",
+          "padding" : "3048300405000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "db0c7c8bceb36078e3ec67ccce2f56cd9de9dc4a8225554d13bfa5dbb2add120240c0ce7c369d4f4a9ac99614b9b44005bc18ea526fd1c00885a88c437debf5d557d8a19ca2e58f58852863d185ecd35a5e4c0fe5abfeb55a1febd9ca107646395f07c1543b9c19b02277368a45adb3c947919972ce4df484a64bf2ad5f16fd76b00b64c8ef9736c14afc99ca5e0160d5ecf33d623a47a053c6e0081a09a6b819eee701616aee79c4b8cb04c556117d738ec9064b92ad716c3ec11cbe6878b51716ebdc75d95cd463fb29f2630eb8ff61f7cf282e639caacec00359e971dd41853f39bced011b2db23c262f950004c2d6ae9476a8e66b4752b376bb549c63b36ae9e9f81c13d05f192c41676bce2823947dfb77d03978854187d3ca94c2dc98f10496a8f8b8bee690217648ef55af1721d73edf4f0a023a0b7e5a5b74f3caf81097a7def0a585ec3adf04df86bda63aca30b3b36d18584f103c8b310fc923f84bd4b9914869e8add86bb8f24af20e790beb984daca7956e85321ac772d1b034f",
+          "padding" : "3051300d04096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "fa714130cb868439d5d3a57505d6300731c9ded56175570cd5b843b2c6289e70450070e5bf30691dad249ad3acdc0f5fab7fb16d72a5a8d38b4481eddd2b3f8a390e3833997dd01cc953b6b9184285254395c24a911e7b65643582eabeee2f048b366bb50782732d155b70c98e67a89a330257313fc2ed9822c088b55bb7d645f348581f0ef4b89d44c93cb00b7d750e9fa195b87e4d9cffef99be38922da21188481eeedea4a174b25be42b6aa44f9186ac9228b0354896d362a394c1049e31b6db064fceb3a8d4d381e334efa494d6f22fa4c35bb61cf2c9e84090cc8da3083358e7306f2d21727230c7e2741e6175056ffa9ea3c85157fa8dbc76dab85999960739f126bf020c8c38d1b96b2b9e1b850a4be1e861b6505af251ab38f5bfa12022634038ad2ac93f9acc334dcbdfa9c5de36b9dd502ab08435852adaaf7d0f73c7c7133c7aa9f5a057f96b9d370e02c4bc39ff6e3b6bd011a25ff002538d2f238f673514362a98878a518ca98ba3b9e9c2bb454a52a3bec4290544c887a7e5",
+          "padding" : "3051300d05096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "218562beb53937237244c9185c62743e986519ea1fed36be7a6b6a44e5b88f9c5ea316d33ed5b9126148b5d6699114f804f4d3d698d24d85f0fe6691d5e804305c4b7d76fa7a238b4642035d2f2486dd575980aa2eb36c89e732c420c389d391de20eaaf1f8e23096d4ed73bdfa2feb710a444bfa6557c82c53cd15a2007f7a3f8159e01fd6c890dd9574226c39ede68bd57e3a1c5a70a77b586fb49703d52458a6b587244c39d5852cb2416a391a6bd0b58c99b32f1217209b4349caa0d7fa9397add65a9f494ec1d95deaa4e7257f03c3a08244889a6f682cfa4a6ceec13991b5f832cd7fb8f8349ecedb75ff2795ca33d73ecee7a42553966a1df438f65ddaf6000cf30011c064a3da0c87a66c212a5fd157c40dbe3d748477acd67ffa65ff7049e46da3da0f7bbc041f76173f4fc0acd6a1fa690e1d034aafae009912682f3800111a15a22709cde9ce00fde3b3f5f90cd55b4c5ce224f0c31b62315b5738461bc4606abb9805704312d2716455aac4fef649079ec2e62b901b289321dcc",
+          "padding" : "3051300d07096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "3652f7be92a00c508d7b1185eb8ff9e15b586d21ea715bd1c85425d4cf9e6a753114d766318f3f1d457a4d71d7464687cecba92df12c5f14236b4a52b52f58e9e3a0ef3bf500d292bc9680f99f016a01ba8923cff14723274c609a83b2e3e9ff2b029998defafa05d2067f8aa4726057e73a4b46eb5cc996c44474f977b550890e557eb83b6df446e620b836a09ca15ce7ee961a30193bd7f1c3b31be510043a38104fc3fa97f93edc51dc26468cad87eebb6be074eaa881aa40fff2c2054a136d2acb58d04f775266aba1f23d5a45afdac8b0a2de37c97d8506ebdf2345a36649a3a243c572afb900627fa89ec84fcacc7a9275024b9ab55af240e1c6f99135b3c78a08da3f23d2e3e81f3bc9c84a03760c415b74c7d00a0e228621c21ecab749292a30e5defe6363b29c590abfd91c1f8d1a819b52ce4deabd219a320f2ed0c9b47bb40ab7e9261b3a4a4987fd5bfb0f18f1a0ed76b44157c2e9093a8767fadba09665b20653965b04e211119f2d78b8c24ddce9cad69827ba4b453330b4cc",
+          "padding" : "3051300d08096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "f87286ceb7dab7a8faf1c8d68cacf38e576ad5e0999b9e136aca42dcec65dae729a9a94e0631bca93124804ced75e3d8e1ac0a7bc91e626d74a80ed3f20defa5d73283f6fe0b5f1655d49ad7b2c91e170e18ba90d4a0a701e4e7c0fb0178b3f58618a6cfc9cfb31ac94acac92072eb683d1bb5250926a57d6333b297264fa27f114db8e28fac4f65f5c899267b455b91267ab98e6b75c6c3b34efa76ac0c9d78079b037d7f151a7cfb70e52765f3a0d16012ad23b61b75a7cada0137d0a87fc7b82a69682593a77bd31d8b4d74c3d781016c04a1e2a5a1e1bc8afc9f039428555321c73c42a1dc7c60786f0c3d1941e65ad31e16c789be7672325bed8a5b9e779316ab8480dc0a8def681ab80d9902e25e6103844e848831f709ecfcd2403adf595d56a26b3562dcc2d0bc8a7970a5d0a4681686840a864f8e85185255a2ba1c43276353e36cc9b2c0d2d2d2cae1ce4b0d99b17774879192e4fcde186ce1b3d5ac8a33ad60ddacb15692ba4d5a49831a83deab5261bf303e30a0a0266790a204",
+          "padding" : "3051300dff096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "313233343030",
+          "sig" : "1f6bd67b020e7d210af1a4aa1bd4bf52cabfa3e2cdfcdd07150ca9b6d27f07f1fc1359da727c45e0cb26445a661f1e170312c77c97e03ee3f1c3ca89a633c95c0cc19a486ad09dc95e3b4b8b0dbc64e85ef05ef979ef0f3a7419dfceb1211197701c8dbd6adccd756cd06c98b755fc1cbc438a54d5ccb9c70e5378ef0ae111230865a06114d6e6b8b847417f627ec5b0189858573948147018afd58bf618f5cb2a06be8df46e433b6c42851cc323bca2ff8e286752f9c928efec8ab6212d2fb6ba85050615dd8a956472cc25fb45f7613b5caa1b5f262048ee646c9fd01692f029417fbec9429e5a697837b022d38bed59a5e892c6f9dcaa17d119b9428821d82be7ba0ebe3901078e1bcb98ee0c411911a2efab418e2288f5177e0c889319733a2fb9977b9855da4f6fded7c1684fd5900324075069804db29818c30f1a346446646a3b22dc0a19ae4fbfceb841226d754551597789493470d072d8d1af8f6631b4609521fca978faa56707ce5b18ffae93be4e1a7d27d1fb4cf6423401d50f",
+          "padding" : "3048300406000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "313233343030",
+          "sig" : "97491372bea1be6c54b767009bfa9e1b5d8fddaa2cbf04551584c15b61f30ee48ab25b6e14a2db402fcab453601ffe63cc5311484e9d39f6f0b3aac09875d31d98e8a30fbaed37c1bb68a6185e26d6e35e0daee8fd0cf9c3b8c46e5c97ccae80eff6cb18e6ac9ef15f61d9fa6b983d7f98eb38c8d862aaea96864a7cb2e500bd91ebb291fd852ca16b18897d70ca2d8a22f936b95e9fadda9a6e9595fa1942a942c3e690f5531e029aa5c38407391709dd0121f9820726767e1ab8501eb4641fd8ef3ab37a9918bfd5dca32bae1cf9c5e8f1129c2951804811a126ebf932009f4a30680d1ad9aac7f6c865398c8df5100fd963b91a5115c9cb84b31a1fa94f8ef4930be13f3157d0985a01c9562fb3aa7ae894f11bc54a1e46fec8f78d03c64dae8c8c4f2283175b9903771ab151fb482d64adc97bb371b8263eca46206d8ee8767f61815de44e0c034a433c383fa93d8fb278ffa345395f3399a3f178a3baefd2adf26a2aa998efd1fb7aa14a9fba4737f03b34893c1f2062ffbd4015555c12",
+          "padding" : "30553011260d060160060886480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "313233343030",
+          "sig" : "2eaa7958a6efc137e84c5c719a95d613b1b34e334f172eb97a8cbbd3dc7f568100f3b606ccb4942979be06eb02ce2cf5d4450423bf0e21ca8cf3af401d1d4447dd85ac73eb052ef71ba998c843b96c39509e9b15782f6be475dc5491e2f63837e7136d2b8df7571f47c07e4653a6869a6832e1e6c0498994dd94e05a86ed999474b9556f458cec1406a224f61377e97dbbbf578f34160eecb5a04941cc4e8d2211b2ee804e1d351e70352a5f94f1c50ff5ac1cee8916201c26de237386d91d0263ec95039dec97c8b21643ec619bff0a320c21c283809b4e1b7ae82808df8dc1bc87b4144d4486da7f9b0d50495c44d9e858ad5fb5c071c20082b9a50db8bb6a5fd3d23ab112922af6fe6968a568d8da6efa814bea870593a9c46b0d18c00466c8fe31669708d5b2b397f7bcf136c51521feeacdd196af91743f0b79da90dbebcb61094942bca654be2e2230c2094abec7424b5618cac15a7cadacb8d6d05779335a18f3434e1686c54d5d25d8c58ce55f6ffd39b3716ddeb35d0eb6b186c9d9",
+          "padding" : "3051300d06096286480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "313233343030",
+          "sig" : "e542315fc8ff4adb3c52637e051c40b8bb911602c21bf3c73072f9d3386fbcca97375f79f17f7f72f7009da6791a4e7d4dfe3c1374d4ff766c6204dd4dac88058c977baae7bd667392c7a3af0fee933caea4e463f2ad0c9c235bf31e526f3f4582b7836c8a0681949996d596b6ba0a5097193e984b7fc77e42fe99585ab21c18f1eb494226f354410805ab4ea02d79234bba5b958dc6bc1afe94810bc583b04e81f1c0ee71d60caa239d18cafe4299f0afddb71c3019f9569a7a4fbe1163cfd23b1b6f4e73d5b9771aa708e2a90e57d9e4875a4a110a960735dd114ecb112e691cbf622cb89d7776b0e98e6b9a5c5643795144f91ec73abb5d8877b80ae697035daeeafddb12993f3d0c8152dba01f074f13c545ff7c3c6f6fd1f1afac35bd3c8a6edfbc9d028e9788af2134cff12708cc65bf53b9120f52bcf5e780652dbc6bb841bcf63fb5106c6b3b3ec2fdde8df1e6bbc88d2e6e6a63e92fe9bb5335d48885d43f7070382f88aee394a714bb8657c120f38306cf9583f24fdf6a80fa6d08",
+          "padding" : "3051300d06096086480165030402830500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "6399a29b7292371f30ce9c2b61ff030ef5accc4503ec987194a53c9b5738ccfa4a9b3f3e0f59cedf8e55f6ab99bb27d21653b4dd12e277d98c32ce0b551234bae38226c32415f4bacfe80420185821f8a3c7441dd9cabe2bd334bcefcb96e117945f10fb9c2a3a9c3175299e6de82bb24ea3756d8db8a946cde1b5ae01f12d5ecdd114cd6279ca2237c26689580ef5fbd11ba4686b1e102c72d3152ce90d4a4c41835ff19afe2387b24af290bcd3ca9955b7d9a6f616d247f6ee2c52156b7953c9b13bd2840b962936f6cebd5be7549a4a33d16198b64c908224ba29dbdbed40f2c819511c10dc59b36be961a8b1301e5817455cb20fa328221cf04477bcfd244bd2951ff15a6fe9e7e41f1f704273e8d62ef51fc37e1bbc70f08339d0414687164fa6321e00c80115a4c6f1544d88305fe338b95767df72e3b33e7f334bfa50ff26f83e44ee92d63acfe6bdd17db240082b158bfae84ed0ac748c81699fe7a70d8797b5705533e6c6baa72cc5059fa9d856ae7068595113eff5e2625490560a",
+          "padding" : "3050300c060860864801650304020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "a3b266f266eb5f6dad2c4bbfbc4fd2db1e9514645efcd1e5465e9fd762d614db5c3d044c7c84c77143471c0d981359a974d6609319764d499823f356b1a0b6a3ebcce63dcd08be24c63a664338f64d1fd775139c0efa67cda0928309bf8815757b936fafdf85d27a17c059ff12ab185cce6fec640291f9089559b87d20bd9c1a0b890a9fc88280682594e97703adeebc0e6739df8388a2f4335e545e9597dd9fb57c2d1a7874b772a9493a3ea34d161a17d176bc2c197c561f0c7e80065a421f77f1f241178c9c70d392997cfedc94e4b1adcbe7a6bcfab7eb6a60cbda6000919973e9b1382e20da6032f86562115fe45ebe67e102e25d423bb6a99b47899da09dadb9f990c905c67559d4d78364eb6be40cff03cf60ceb023dad22082a7b73996640aa3c3e87c3ee8b4229b0ee70023ec7a39231202bd651dca6de076b683e894b845d8f3ad289c3b7c0da4e86eccb2f1b7b053ea4816ea376df01f001a978f9650d8124e3cf7c4d30a5e5369b1260e132b4b3ec838accc3a639580bf4ea4d0",
+          "padding" : "3050300c060886480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "7730f0e0dc80c1e000f936809fb26f0905c0cf038631abfb73a90c88bb14bf959d4c29e51c590f23bc2eb06c393678900c15eb5e2f8cc4f4c65e9e10bf12db162e89883d3e2fec6ae0f839ba54dc1fb2865b1667b52bf15c13f2cdc075f3b22d1541216c82b9413761f9f30e91bf85bbe5168a4d39c9cbd6cfc2a06ebbb1503be5ba3f2f2cd51b4af501ac4d6577e09d105074de3411c78ba0e3436c497c7b481bbf37269f2a1dc6121e6b02add0fe8be7cd852e93c98faa6c14b9f190f411ae77c5029f46920c60d802fd945de9712ac6dac159c224d39c0b3f043241d3ac3e9d1d9d4dbff036101bd8b294d088346b82f87db3ffe91c866f2921624bf3984dbd2990c53c7d9cc2a3db5aa6697d1f70f84153af2439b2d0e2f59efefa3cf921e46e1a0b7488264a5dc8024934e72486241aba3cf48187d58bae10851e719941f5f22cbeeba02f1fade23735e6af00fcc8ff89e5e0273a02aed810cc5dc8757f890972079bb9630c80ca131cc7e7852b6de3c507b53477bb9ae2d7de15bd2af5",
+          "padding" : "3052300e060a326230653033303231610500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "72aebee299543d9b3d0b33467948e07c83ca15d5114cc3ab7cf04a19d7e6b377cd3d8b945e0bc62d959f541991890e04288c90a7a9f37fd9935d2f7ae816cb6d8fc65de8e1325027c890d79d83c16f56e3a7a45c3f0593a7f5cd819be3446ec9ac29e3c39690c62acfcdebe7bd1a567b42fc8455295211f489b9bdd671814b9ba3fd3641bddab2dd4e8d8a2e9664531637f07eb89066978b3d67a11d776d0cab4f4638a6ff9cf42474963c5d0ef6f0be0bceb34ff312c1b4760c9ce80036635310b95bec475d36f9c4981ba565e8dd2406ec0cf5970a30cdecb9d1ea7c825d406de65d36655a8ba3759dac0c69fef642625a406452ac2660be5929a783e1281fe3cedb39a11f7318bdf3793484478b5f434000902e8f607c625b68b03734c6792d23ac04f94939834c18dcf0b22ec6ec855c623ae73c952a2b1cfd3dd5e7952888c3e55713f60ca4fe1dc47cc04f3df3a7191442779a47db1e5adf7ae33f9cfa808558a8010606b9828d22e08b594597f36770e12d474809349b9dec394bc8bd",
+          "padding" : "305a301606123630383634383031363530333034303230310500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "313233343030",
+          "sig" : "cee606b8787ee2d142aee79b55da0c551bb5c4499a255d1a6fb1ec0e028af61bd1678a5795b199ec9456a53c9baf65829a1ddeb97cb251e95f168d60add3c8e6f0fe052767064690f3861f92a89ceb88e3ab7aa6de24627c8d7572b5b8845e315daec3b470219a7dce159675cfba78f414da72583b7f0bf25bffc7c4445184e1ab353ede64d3a1900387d19838ec875837b5b0c1d2bb028ec221ab1c3dfe95d4e1e3a5bc612047db7b0fc0570f4c275c2f00cdcb90d3a8dfb1ab1cc6e6f7c5c41fac19cc2ca1908f6ac8988a8776064d94d21cc8555b1985643ec2965f88ab6140630dc53ea0143d1515b02a0e784ed1f55d19882bf933653146be334c5b049845e8f61c30d0871f9d3ae0d2f9608ad89345232d6abf6b4bf1bfcfa719f44ab580ff7f7677245421c8636b15f86a98671bfc32517422b476f59ed9e4091e44cd1cc64627512877b2a683b49bebe2e54b4ddff294b3987b7b290edc48fdb59b64273a0f13c6290cd1edbcbbd6e6f5d1eacc4e8831c12d32d3019f4f568ee71338",
+          "padding" : "305c3018061436303836343830313635303330343032303330310500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "532bacaa5f360c8494ab89fb96b0e8e2a6e3aaf4c2e8b07b85a26c059c9af7eece8656352d5260de34f07b745f95ad9f3dc957b3de960170fef3539b0d075cfca208cdf1fad281f2fd1bd189411f4840684753a998fba3dd05217b32f8a4a419b03b7fd0b8af1e5eab45ab1c3b81a56aca01f58f54c3f54184ed41796d67c9aa34fb9d93b1dddce00d2bf0af72090541b6f1a3febc83c6403ab41243abe96031e0bb99d2fb25d05c227bbda72447c3f5b0274b555efebb3313886661bb8338598cad34e218dcaf9c103f92425206f6ed95a908019e1f7c16b62485c988dd795e42bf174e106dbc896c08e4782d748fa281cb44c5410386fe5fd15972e5695a40bb5c786dee643ec08cd85c38435960789ca0176e640f5baee9a4133dbd960b11156faed1f13a2c7b09a0daf965e66a9cffa257946d049839273de76f1c6ff923927f29d078712124d3251f917f19247c9c4bbd3d9e75a10fabc6571857ccefb5f23a62f935f74280d76905fadb25711c5fae4bb9147412c152b91cedae6f1def",
+          "padding" : "305a301606123630383634383031363530333034303231330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "16e6b13be8f6159ec93abbf15f25ce6bc5924f558c34f1d34680ed0f4c385fafee17de093c95bb2017543f6a52ad3054250c3e18bea493e3985b7e0659a3437344b65044a879e916949e8a03520bbf136b47129ff9668d2cd6c43c27257208ac74c9bcd17d9b2392c3474280fc1199a9f7652301e258abfcf019643b5e201063fc232c382df943ad2f13d354203ee34c1ffe1ebaf21885920729f665877b5e72c0411bba88c3fac725b2e791467d7bfd45d6d366bad1120712e88bfeb22deeddd436b9a2a1c7b0c0af17ee2e0b021ae3162e31a1e6ea6280be03f2d9fbc3ea87288885c6a9ea70cea44647891724abb91ac2529f89b04de8acbcccf56952fea5a76de317106a8aee3203b047e8573d52828e7cad42254fae0576424c19723700125e02f943d6d8162bf27b62f818240ccd04d7d2643c3641b6a1997fc1ef7ec99836d73ca9dec402f276bb626c6247255463e48529cb08f95ae948eafd8fdf92950ba9f5ea66f9fba6e19a442541b751dfe281d30a2673b499437f2d18cd39cf",
+          "padding" : "3062301e061a36303836343830313635303330343032383838303830383030330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "313233343030",
+          "sig" : "c1fc0727f26fb36b08c29e733a8ce101713cecee7b4e4db87346a2759262cd6f51c694df61f30be69e98fe8e3867ab677ed2ed33e8afdbe8813b53caab18e50844f9fd88c0224b2e4e02af1c3ece83eaea21d7074a2e9ea599dfef5f05b7b84286129b6e24fa0c9632bc825a519a40550058848209fe0c58b229c6da9e0ab546d77313fdc891a3d911ead984d8b02900b7019f65b22e157eb42c74766c3b8e8b950a8cda86d7bf96b431f36c068540ded784aac6c045a719a0a3966287c921332fb8b444c835ee698093bada61ae77ca76276a1a0315f173a4ee8fa965e23d511479462088174e49e51e3f5eb8350c16197f4d43d89863135a8f5936c49d42e0e6f69bd8d96bb3b296bf2e1147c32b2fba9b03db5a4532504d5a557e62b425cb08ebbbc60a2658fe14e259722739c8a2098c2bbe1639503e75f6aa0b2f6f5facd8c179f28ea8d5638cfbf219219ac77ebc6df381752390d85b0f06b43649f51ec6483eaa08fca8802228895e219ff1266bb4d3d1802ba1e5d151d4163c7b77df",
+          "padding" : "306c302806243630383634383031363530333034303238323830383038303830383038303830383030330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "2b0d9609f16d5aabfdf9997801bc671fa263e588fb6866328bf3b8c7c3145b7c50ffa2996010118330b5bebd1dfdb28f3b4015a1a2b972d1d66bebc83b51f61e103bb2a99f9b28eab697ef08b365b721c5f1a5e68bd11ee56b02638c3d7b0a6055024e75f867a398884f1c6816904a6a43d3e061ffccff66e8b1cbd8f30f350fb764d4f2ad5283f1bfbfe8905a382ce4d7471ae0345b1ac70bc71614fd8b7a8172f9c4ac051cc6ebaa4aa73af18ede0ff6768ac43102c5572a8e651650473c93a890007e0a58f93326031fe5f14933c6a52bd6da8380db8a91d1d36d4278668db69450e04ae202832531601fd2f32db09608aa2cdf2d1c2f30f5e17a764d6983d906e86bd3619ece20817befde202784b4f7a50800d74d24bd01afd672265a5fca6aea5108fb64a2a311b17d4fbf84a1c265e5ba21d28940eaac652523fc4e9e94e8213cc23be7c9acb1c0f29c998acaf8ce05b6aa072c78c7b33247deaa38ccf0f575353ebce65fea97b84836c984e19941f739dbd5f749d7a57ec0a377f1b1",
+          "padding" : "305d301906153630383634383031363530333034303230336530330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "4345f8620ca6fc5f73a6f412c1cb6fea5c3be84044ac8a7a1ff72057db52ba841529e0796af2715389e83eade82dc9cb525591c44c100ae2bbcf0ded3a19252c486099d85bd7ab24b0fbc6c9e6ee7470ba1a2dd69c3f78c106e12de4842c42a1e0686d85e2ca3e30f015c76df87ad374c444774e4209369708d8eac9c02815f6d75989d993c31cc2ec1d963f4a149d9616b36d90783c3adc448977139ab34985a52f9b96c60c1a5933d8a9db99a23c91ccd41695cbf42638c44932a31a49874b1539d849b2735499680b5d04b1ec31034085be0bb59c651792667b21b2001fe1e4b26e3cc2c72a2037b551aebc304b51fc1deef2a5cc5eab705cc681e7a3d0b14435c9c3a73db06417e3dafe4188530719ccf5611e275e4ed690f657482bc90d87c3c27c95ee03e39eba957a4a7e27e9635c9e833366eb833927d96608f9f98bbd83be20a2be6ae6d7460310c6517d511dab2153eb5aa96e8d4980c2acdf25ccba234309343e85ba68ad6095fb139a30155ff6bbab46009db306f04c5781fe43",
+          "padding" : "3052300e060a608086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "313233343030",
+          "sig" : "d466b8d8b4fcb2a566b4f2203d786b81e63afd5be21ce8228f40a183a9de52c992e27a85bc7f61cf69ed0aa559880c79016731b5fb667795fd1b37fa0cb2c86dd3bfdc20caaba24d3254bbdd063e6ce1aafca2ba04fb90f58f7d9fbb5be9679e30676b80f7c7cb1af50eab77e77bb01b166d23648c3d36a4fc228d6210e9d64bb3759c1979c014703b85c4aa7a5fe0f9f014819d96c4414920c6b57de2aca8ab12f7067895b13fdef4bdf39c5d863a671d66112d1f841b5610c9065fe14b1b98103c45247c2078f8cda5bec1cb99890dabacf08086bd0d73af4df0a9113e704ce0781ce631d4e39683ffb9c8d21b65d999fd687301ca1f0f9e7744474af65089d9a29c805c3257b32c95eda56426efcc856bdba116a08a5241792b1c282479fedbd8421d746718e859434d3e0b093f9d2de02adcf86697520f05023caaac8740df9ed28fff20e97aa45de9e68075a73b09b2ffe7fe5398e971d69d296dfde0541757248bf0c3876f292373418724fbba47bbf16a6eff8228a8d73da863d882ee",
+          "padding" : "3053300f060960864801650304020305020000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "313233343030",
+          "sig" : "539d5ebdebf1057648e82a961ec142f82a979d34b37cd90a48624cc0cd63c15f835935c3fd7ce618f383a3997e841a0bf5476f4532dfc73e76f2cfe912d42a57c2f38b90a497aee58b280da0a8f2e9bd1776938540d630ac1681997e66e30cde7d5364f88465d43f0bf23b4b2a7476813be3a8b49535366441e126608a3e699023543ee7967b9c99bcada9325d87cf3c4a5ed333ae50d74554f863a05defbdab379d5a43367fddc240ae760fb257e51adf8ee4aa2451425b9e0f1aa6963f43da61714ccdcdb4986f0cb835eb064a112d5ce4ef5e9123f79f21d500b9b87e7ae11bc08af6082b5a284cc04aa9f58972af28ee70a4cb78913746f3184b76fa6e248f827e342338935c0301a18fbac9ac9a97fafb0f80e5c88c4eb9a1c850a118f32dbcf357a1ee8079c0efb912594617b44f1268ca7f256309f60250f7e0b0b7de5077d5c900f4581635e67e5b9f3d80dc8917b995e4ac1a3801a45a1b88ad0ff16f33141824a9769e9ea3359dd88668a9a64ff75201ac2b171d3c85a1dfd9f99b",
+          "padding" : "3053300f060960864801650304020305020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "313233343030",
+          "sig" : "094cd24b3a601b80b54a60040199c6c0f3ac766f4e7ad56354c9ac551af0cf22d6df1612f81b0a195e4e471eeda3efc95656b87645e05c3f224187c85b8e0fc01f118aec78c5d2533d22951261bdae5346d6d158ad56cb305fe0ff5ebd6b8d0e947f1262e56329479564c1d4a77e03f81ec7c520cfe10a3abaeb77ea602bbf8309a0726051e4313be579d50f2b9113b21e581c2225e5fe3ec435fd80d013ab24b6cae83c0047dd81328a4a3b9d7f5d342c34254ef3618d8cf822ebd738bc4aca8c3a2df349fb7421463e363ea77b78836f825bf023cc6ab9a6bb6528ea925789e577920d9cd1bb402e5cfe192a1cd6c2254e16080ff247f54e9a02c7cfee876583c276d736bda542be218cab897b50ee5d36c3673ca20e02c07e922bc49b054351c921b1d65c23a6d967619901f09ae048d4c09646567c3367ea86b86dc9e353c14f65e7dc6926ea5d70b36e23c66db53786444654d70d910764842689b96cb87ed85668d608d58b31c3632ed985b9051aa288f0005cab9ea1d4a278b3a68fc7",
+          "padding" : "3051300d06096086480165030402030581044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "06a763017fdada141ed44353e39b0d6a3038c903f059cf8132d7bfb05d49db22f978b86ce942568fcdc9c50354356ba4a1e43bb91172e898abee5b5acb9b0505f3873fa6ddff9f08413074fadfd1c6b977ff1e5cf5f7176726d99204de1031213f7d6c3ce956a93b29b898c197043aeb27db5f914ebf86de7d26e17fc0cbccacc8bfb4dcc7729306cb5aa6f8bd9320ce501aefddd1ff0de105806dbaf06c9c70e10b2a6193903d6e387e7eae612f9ff280614f86da8766c966e70548d255c9fa0e9945d0dbac5a0f0405132bdadd8da67bcbde0f5963f1e0fe9fefc0e238f5abb0030a87793eb952be375501636d86f68c5093b147ec0999987d6e830e90fd3606f1486dbc909ba0e8c6cef23eb4995a9b1264c696bfdf0f4cd969edebf03c5ce8a07258be91566722f0ebe3c736123aee981d1c1fab2a115b0814f584f8c59936974fcfeba4fa7cfebde8e9410494ef3110b6b2d419c3128884799d7ffb2ef99af6c272ccac1d8022fbd110a6fc12d13192e4a9fde1e7a3d8bf3ae53f6d8e3f",
+          "padding" : "3051300d06096086480165030402030300044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "7b0dbc9f51cbee3ed57cec73dabd268141d15afa82eb378d7c6bde7dcf0650554eae79a2489340b9eb81d54cd677c2d351e36642f1bc5699b5645ff9c4e8ef6c68bf5e337064f78f6eeb19dfd4e5e9e70b3600f4360938cb9336e12361f75f39ebf44994de531bebd230bfdaccc02e0f3452976f73055d24d673a55e58618dea96718d180e7bda5372df8f2adfe8f984de3c5711abfe75cdeb81771fa105f00be7de76e5b0a8838dbdd8d22226518fed7383e2a101f62ba3e79f59538ce3c9f368d6442063ef8591cdde03907fab38c79e5fa326bd67f6c0d017cdb01d39eab8fd3d7a901065986db241e30c80b977a7c5723ccf15c9494b08a39371afb9ea0e51f4cc35f515ed88a8e5b702b9108917061d2b75e9dd55a89a387aa2e4e0d5b9faead4ce10e8622553966c1324e92f8dece4b3d7cb981524ddcb65760aed7cbc32d47585afe5f48eacd24ed570334814121197c48505d790402b85a45a5937b0aa7cff371588e0a04030fe0ec1b8fec9516becac30911f689015b16a44f348a4",
+          "padding" : "3051300d06096086480165030402030400044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "654e9bcb87ac0bddabb2a877a1127cf9c306c9ce5da052f8ec732b1a98ea14c335ed82ab6f62d174651349407f1d91189bda73182ef8073e2dcffb39c21c2204081b36fa6c5d66c3fc97eb2ef3416ed16cd3e6a4e5e10c2decda13c3a08268893769b212f2932c954c121c01944c51dd5c2305cebd54ef65bb6ea48cb05a37acdffa34395e5e6f540fa87492adfb9ee1fed9d7b47841f75da0a890a0f2914b21aaa0a78781af9790dafa4dd23e511f9d9eb76adb25e85c6cdde568fa14145d821f8602e67569f869d6e73e396e247ace4b84d20522e45a066825450586e428e806a2672525b90d316a5b13dae5d215cca466e064e541f549b0b298b42ece5634c6cc48ce938611aa06ffb120c205955f537fb21cfa7c5db92908cc278f7e003ad2eef936343a70a2d6460a149eb930793fd45ee737776adcd04635aa87a3f7a12e4184689a88dbcf3e9d9f6d829e0fad1f08596768774fd149813fd9e03a42faae20f02ae026647d68f3c74651a7f469da2359758be1d697101135d6ca0da131",
+          "padding" : "3051300d06096086480165030402030600044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "5be6f89e6f531c41e248f0d72c37cae7b2a466886bd4c1059d966b5c973d127be3c75c7dcbd57a767bb13be20d9402a780a5e58faabb571399d7dfdf3c8f649c825d99309f84140db70d4bed2e160b22e49958e7e35aa444d4fc49aa24a02b2c170859fa621d14c3692a2353249118c7b01e018ba5d82354173afe122a71368e4342d88fe2bebf6a0255f719b985d5b57f720b0d4767f67b13ecd815ce40fab2b610c4af1054734934eae5fc232891f29fba6d364e4c0f2b26bf600836fb1ec9530d5aa14b90103e675efcbc92f6e88afa351369c694892e949da6d90e74f2ae853f5d8aa70d5fc132d9b41e20520baa8aa74b77c60daccf4da758b9d22745e50cd7ea118dc14926b9dfe0fe26600cba5b447e9e2a14d1d8a5e7af01ca143b6af298e031d2560d99aa090ee2d7180ec695dd553847175ce66084fae7b30ce6b5a3b1164757043dfe053853c84bdc9fd66708b029fbd44a2c2fbd8e5ac7c009f8cbf53ec2e285f2c365d823d31772bbfa710e70eba58d71787763bf0dc09ec5c1",
+          "padding" : "3051300d06096086480165030402030700044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "3d7186aa38d431642aac2fa01101224d652e468ca9e420652606d050f109825b4c2943f57d943a48e8559898f9b6ee174eb0748a9c84e9cb874c50c760d2b1656374703bf82b2e4012d4a4b642a20c2e5e9edac54f6b152c7d79ca5591d50bf9194bf36c8604dd8f31d9c40250909172346331bb73cda23c6ae481ca91dee49a2298df8cd40e5b7f6d497a183499d2a0950f2e440614ab5b4279c887e2b228c27700013ce15841937e319deae2f7350a2f76c43c6e02e5937686f4004369e478f61aa7dcbd38d50d93ce74a9aa8a13cbb1a8f92cdd382fb2c35cf292a9d45e404cb1cdc14608f5ed3e2c490c22862cadf0c6c63116c81b7ca3e8ab6594e55f10bc78769c3e4cbb5b44e5a1c2ab3341714a1a40702926bd5e4facf3b55dc978a2768166a48285c06722d5436bda3add1a7adef76fd317ef06f7286b47566a38720232bb58954efc44f2207de71c2f3661a3140ce5a94145df9d4bc4cce0a16144fe0205a1da7f57409fc8da45a5062b2ee39119c639436ed128983e1c7fc4976c",
+          "padding" : "3051300d0609608648016503040203ff00044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "313233343030",
+          "sig" : "9f32c9b659775417abb7219278e0ef2eb30ba487d42581fc22fbb18dc11f5ab081a40621b4b925fd40ee62ed792e853cc26f3589aa9bed4e04aaa7773a08b24cee1ca2b83331487f889d7d1770a55cfdf1654c4ce320542ceff8b0d62cd6c59c8bdbe923431d9308fce911b25dfd1206b9c97c0cbcc46b36faef1aee9f88e4e353a57fa48d44f88a76b3e67cfe276315305f71d0f3656f3b086d787031dd4c716cc906f9384b765a7d2a648ef497b7f89b8fb72d63351bfd0f019979d859407e30d7ac22f0eefdc92edd7ce8033b11d266d66eb19228f75d7ef300848927c9543e6e7f195bfc9448ed5cdf2963676e1644d09729115ba95878324573d4bfeb74c7713b405304155bf7abcf7f76bc3fbd96c6839e81624d96dc9f45f69af43c46e8720d1b488aa647c0a7f56dd36619c1c6dd5bc93b3fc00a00dfd49a19a2da23de40c3de197ec6cb55ed47062ef17ff15112a78728a8b5f3344d0a7168726b0d8d223037a52a2562dfe6c943cf09d82b9d777c3c2f1a2d2e2112388b324088de",
+          "padding" : "3057301306096086480165030402032580aa00bb000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "313233343030",
+          "sig" : "d562cad64efe72291dffbc533a218789806229690495e470c0f1fa92ac7388d8c9cd28185c30d302c1c12dc0a8a275a3038e90a8e1b4c0dd2cbcb1122b25fefdf3a3b5bc95c51151c7ec4f2c6dd91a1fdb4f1c95394291ce477a9bc6c374010d073b6d2699a302e10eac34432bde58b2ea64ffa5a165bbe9361221314e46fe63cd668c33f91c995e0ce090525d86509a34b8edfe333c5fc2f15c0bb823d0ce5cf407b38663bc9dd20b9520f9912d8c792771220adc083478a08884423c6f13852e356adea36476f5b7a6da5e127788958fd42a746d854a8aa2834445fc7caf534fe6a07e45330eeeac8c042f1cc528d39a8ef016c5bb88d9bde9fd8502642ccb9d120756cc6eefb34fd379ed20d6f3fd391b54a31dc758a8780935d52881082f23f0b5c9460e83369b9fe030d30be208f8a4686b9f74dc6dda9f29957eb02bc8238ccc3444af8e160f6511633c96b683a5e4f94499a9a944374283e76891072b5cb6216594d87581c2b00c884b07785dd58b954f4f850417f8bfdf6fef77f99f",
+          "padding" : "3010300d0609608648016503040203050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "25b461d95013af14d316948ff8776927113814cb3acc23b7f241799838d9081481e7f27fe1c57a40cb6303f4bdabe3c732c350abec0330164da650eafcd62cc44fd545b8ed7b2247573e4b8c7fc0a0f07a4b4cd685fa64cc9c27dbf7bbf35be98de52249a80e9610f91c724e09e657e3b95d2ad71478f8dd379c73c193fe503245ac003c238045c6e799b3bfd805e55096f86ee9a46e27fc2353fb59439bb7a01bc58956f052543c6da133c5902a053ed5e0c5ec074f35757bddaecef424a7705437e217224b5265445e11110a8dee8cc8881ee03653e9f68ea9ec5dd77810b9eb9cd68ae153531426f208b9e669be6a5013438283f00a1f9e827522178b9730ab72b9ffff5af9bd5dfa87632794d17913467ff0aea511a8aba2774d638a6bf8bc5a5c6589dc9e72df8c6ce28762a2094746e708bccfb4ec975f3676e3729d452542996dfa9dc4263e743afebff649a0b12c214efae176fa22e5342c8f66b10d012f6852136a82ad8da72d2a174b510aa99184df188be760743704d42900d155",
+          "padding" : "3053300d06096086480165030402030500044243f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "07de84b9faf2ae81955fb71df5e5e0b432f1ff72bab8b80a3305416d854e4bcc0c33db78d0ea4e51b63ff3c9ed9b7e428fa72a27f9124fe7f7810cf83b830c5993b8fdb85fd7738e8965d48807b087d58d322efa3cc1006abb273f32dc52d6e98ca411fac77617467297750d0413f0af18a39b7429045a0b6122c7cd601b4bb04611a38f6c82117389981f1270f81a4a6f81782ee8ade72559cc7008f86065d697ff5721f34cdca3f7ead956d25bc1387ede5b5e1bc84fc47a31dab45920817c6b86f15fadeab17c22123e6bd4162733ac5a97d58d2e2b9c1fac6cdf682436d719a7940210c546c74c7ed3d64d76d7af06d7eb1eb3d0a5b31dd2322fc8fa3147592ca4f35863c05c60431870c91cb537846dd9028e82f3e014dd8456603cbeba7e48ca89d75ddf053dad7c89fa6ee2d315d1e57841540004251372777e6feb350b6f8e04934b4e623d631a76b2ed78fe67d55ddee2750fc3fc56ddac7141640ccf2b4bbe4e23faf4c9de76b50980a1388afb4b342e6f94bcf6e37988ab523b71",
+          "padding" : "3053300d060960864801650304020305000442000043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "313233343030",
+          "sig" : "4e3712c19853d5431f8211843b51a56f8f09e182c52c21c8ec8af0b4b01330d3d82618048240eb27b7595b99532676b45f338453cbeb5bf089a2fe6c5a9f2766696254546b2579efa6020324ef17516192b8897f6b5f8e9567bb05b449a0749e2aef992454aeec0a44a4a49b9b2ee6e231428166720c178226f29e48b0dee66c7089aeee7a60ac9001a3dc7873717a4c25e11c3b15a2e688a740d3463f3d4d22c66ae7b749a4a17beb8bdd15fb64a20538edeb2bb5eca7837f4bfeafd0858e910ae943b3073847f68c08186cbbaa1c35e33262077fca3be60e2a8bc051553eefd08d23eca5665837d0a604ecbdfbc16560079a0f7bd1f0659b7ac251a1fcbc18870164996a9601d9882685f359a0ceefd9b476a297ec4e482496da0fe41a081c43bf9e05b4657ee76cec9f50410e190a814cc5ad6125b2c1dae0d07c3aab98839f78a77a20ac238b106289082c695275d989e77eb45f0b63db84546f6c63ba2c0247f73a340bfc55fdefdf02e5de4cb9047a2fc41747a661eed538d980ceface",
+          "padding" : "3053300d06096086480165030402030500044243f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "313233343030",
+          "sig" : "1d0050b90e5eb30d6f772999383dbf06b89f5752b461b05dc62cf9daea0340a1f43424ffc567c54a9be58a688315618734f2098005552a07d6916221c0f24f539ea57454907d5648670e50a7907a5c7a7156d9576689a3b72e7c78c892a0eb2f4a241484bda80916899fc8ba6080431f47a78a17a0467722ce8b7e66c1502eeafa5963857a1791aa61c355d1d56f1f9c76b4e1c05b2a669fcc22a305baa6754245477aa6c02947cfa15930807884014d3a5d784ed291b5e3261d4e4079a7bf5f07ede12d6a9ea4e0f05909dbd46fdf7f504132963a7aba86f23b0691bd69161e81bebce5bd8b5d545bca66c430e6a05ee7f7d1d9c3b6498c534d1bea91b127d432d45976b29de017523547b936d163d8d8d75d4ad549a502ec441180ef6f06b41ab827a57530499fff99fa4a8c308ecd9bca6764a0846eea97e15cdd19a028fb3ccb1d33f407ed8bf04d8b73b7e004e17ac8e5fc44be897d46e1420b5c57566c114ddc25a05ae8e8525b92ae9b28b2e313658b4f941a6989b46db6ddd8c371f3",
+          "padding" : "3011300d060960864801650304020305000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "313233343030",
+          "sig" : "9a0d31e7f932b616c73ff612e42dd74c9d6f7566a40fae8e6677cf6d54fb6f2e579b28d0d2d8670a33b3fcb3ebc57d7ffc202b801aade2229540e9c45327ede92354bda2dab08190ef6985d824d03af59709f022ab33cd8559b48745f1dfa158e100a68e6acef782407fb0ef4b96b4bf2fd7e40695191845aa88738e66cffd7267d04536e4979508312fed2894db446220014c3cfa8db1fece66e484b56f105755e6d65706bca5b8b4e0b615d56986f1d0ed35b5357d17f54a32f4d5063ff61ea4c853f0fa99d77efbcfd21081589fe63441324a0fedcb6cb31c91f6579b2b8b8ccd288a0f0fb9f907b474686d41c4ed25bfd07acb864118825ce56814babdf6dc8ffaf5a5cd6a30941f7760d9276e00d91e9ac5ba4fd0b3900d54539be2879bc95c6c58e6b8443cd8d561919ac2431528bb8b5f67cde0d05f2e5b4e22aa902771596b5389b662ee847f077f9b8cc35f0c8192576af7aeec1d2c719bf7183f072bf3bab37897aecd785078a4bdb06d0bc2367df36ade0583449ab25e8d035ce2",
+          "padding" : "3011300d060960864801650304020305000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "3495cf0c5cbf064fdfa088be1d7e57982a798c17933513d404197aff77c0513cae184df56e0bbbfe6b8311a281d8e2cbb42157a156938381f4b0b1aebbe408d6b0365fc20e8f00c39020fe740332b14d69fb3ec734984e92bf406f1449603164adf2c3c77675b30d25cd5f403acc5f104aa754f755626f1e5bc9fc0c570ef3bb9e7dd2633ec9163f056cddf73debc548d52bec6214af9b4c6b5860d54c2a08b6f81af40f8fbba9902a65e388a121402ea276cd89e0076315d4e12e045497236473dbf6eff14ef21f7875daaab03a81b5070394c127bba13e9fc4480ad245cf4ca8bee343028db6a808a2876b7130bf1f0b4d1de1f1a7f841609db96b50a28ad4e263a76b78ac2fdf3996cc5b67b6fd71f16bbed1067c0f9e71f399990b9223bbd8628614a7fad5a45970c4ffe174120a538ace6969fe0cffc9508929606e4a30ea28d555124206063f2ba7856c6beb0367012176bc258a6688647b161ab2382f9b3c926d33dffc12ec15049c2df248a46f961ba92a94b9e36083d0c229c406ce",
+          "padding" : "3051300d06096086480165030402030500024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "330ed439b3750e35bca2cbef5bc0470799c56b206256b543d026dc11a34d15d73c696e03340c8f0751b0dd204b53af0cebc32a1cf1f33b20b5755bc4f2b9f2c8bc91939f880e62a0d8f54fdba12e602ea37af779a2afb9258e19fdcd51d4e767733ff9827432adad2f0781a46991d3d1dd9a8e5a700860e7defb0fdd3b4097aa101f95814b848abc0cb5cbb260e61c42673e0e836eb31f97a0a50ae9aa1df72ef603f0e78c91459e690363042113335b2e1050eaee0b83ae5f6ceb50a4c88956d5b01451d56e72a7755c28768004b258d86c2d790ddbbd66cd0a7f5d017bb62b957fb0b6e6253a88eb94dd5d3cf90c92dc2563b728f46928b83b1a29ecd8100e7efe254c7e043f215933f7e9873fd0cea1221f03e31f43649cc2c1bb42d7f040bd5fb401a1f3381e5c4a4fc1f973b67460b5bd2c7c99d29dc14490922138b8a3b9a2a415f50206f50d254fdea8702cf2e4057ea77cea8f18c5da655416a1f7eea84667789f78faa98a871b0a6837babab974b60ed54cc7d287d538f140e7fd6a",
+          "padding" : "3051300d06096086480165030402030500034043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "6818ee1c57e9ef40da6b1aafb3d3cfc9376eff56c2913b8b2e0891dc7ffe4450fb25f2a8d1b379c13b6b8f45993219112adac050f43ac612e7957c9484a3bafef2e550d15a8dd88faf9525a2fbec8c702d0721a408b1261b3af2be9c817e0e1dfe8b6c58c569539d66f6346fe0813762caf0ea857895e1fe90d50e1e0bf1fcea7d2cae0d5bd2eae197b0eb6ea15eaac077dd81e10c07e71f948382db1c5dd6ee4d86b0144aa648c38eea0d8253eb988205a71af95e1afb33dd20fe8315c16ced59d6185acc43e8dddf968875c331c5ac31af14a9e55023ed03f503487229be4f772eef970f3f132d1fdf334737848994d939074c4ccd448e6d2b9065088003d76d9ef38e8c713a5d8a010c9ea6dbb0bc07d32a515ad1437029bad8eeaabbe92f1b173bc8c92af832e18fe0b60a006818ebf75622ffcea489cb3f165c905c18a52a04188bcf132db833d7416858d81bbaeb8a62f80c1b328133647b36db5e4b37ef16713a16223fb24e8ae93c9d687c62c77f4ecca256e30b3ff88cd8ca3c0c68",
+          "padding" : "3051300d06096086480165030402030500054043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "947f2927355398312e17781d59a713a6ecdccd4ee315049c041b788ca52c691a7037bb489f71ecac2776dd1171853483eb453d4b93f136d51318cf32469b3d56d04bbe6dfee2721abdda3f40551beacb3f2348dbf0a8056bc4bef013a4e9819e20e2b045c3bf77f79c116993c8064c46cef8895f874438c30e555a59258d1a01596fdaabb22fed93c51c2a4881c08bd09c3219e5fa2979a32775c00f61af935c839f7f0f54a74677b194749ea1831c44e61113474396e398e4d821d65e41b3cd55cbab2b703435073a3b0c2705622cf802f67f346babfde288ebd26bd909813d8bf51fa2b07946ac0e523c802173fe6a42f41568281944f4dee91077a12e41d37e53a4704d367c2b5b013c90f73b7f24d703cfb006c8d0b399f498ef2b62f08834835108dacf637959c5506a26bc3ef5e30e1100b093707fd3b5190b597d0a6f270b21eea9aeed5b1e77acbdc01c8875724744b37554791631cb60a96ed9d7b985c2d6a2c09a33a17475e2ba47b3f56f9a33072a0fa920eb88ca0d9bd195bdde",
+          "padding" : "3051300d06096086480165030402030500064043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "d054b2a5ae9bb9ded9a28528b59530dbd6ac220d761652fa44ace78743c5432a517024900c9b24574e096b6d1b295ee5251d2923a928e7852820c455c43b76e1d522ca82f98852d7cbdcfe0f85ff1f3de2cf383ed6172574b12af7fb03c58023644100effe836bfbf8e7362378541f0569606d1842fabfa288dae9ef271079023eaaafb6e6b4957e0ef96bb18b968d73de32707296e805691532925e18a709d036bd798a6ea0ee61c18aab41322a7063dc372bb1f0b9991d2314c94e370a8966a2187a8940d81b6db830931c101ecc47d13c0b9f91b3a07ad0268d0f3693684df91a8720463fd1442f01e5eaf6741d2c2391a8b4d55150728825dd9e922d89823051948c99921b7280675641e9a94c3a9d3de31332545cb6e88fe54d38a111a1f125241333ffc58bbbc4e759b3986d73a3a8f7f4fd81c1c634b65854d12dca87f1d40fa5624079426a53be23a1649252ef027605f3e82333861de641319b8418b963d2d043ff789406c3e34cdecccf111343632c1bad9deb525783676c36119e",
+          "padding" : "3051300d06096086480165030402030500ff4043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "313233343030",
+          "sig" : "28cad6c07a93289cdc0ffce1c1beb709c6d344883e0e175feee78cd6c9a9700cc89d51cbb214e7b8e6e84a3039ad2eb2be4aac0c968b9081af46ca68fa1155554b923eae4f4129cafe12c44891656b5433d4e048fcc1468710bd9a3447e917a35d6333d4b5c7118996f61e0730af44fe2c663e980b301d8c7c33279da81adbdf33c8e90b04011665c6263fecdc45716015e11b5d9ce3077d894f4168159f37f2ab3296e66f2669f766029f8772835d7b887aef0d597a537f1db4e84e1ee45bd8293b4bb6f302904021522cb9eec833fcec2ba008fad69a6372470cb67207f29bbddb4a22470d91cd58c09e37d54a0751613ae8e0f29007a409d31c4e61dd6ab8d181d14474b56eef68995f2ab50622c998fd49656c9f6507f583927209253886f60de38c294f1fb95cd0f5fe3bb8d9f1462730c599093aa9418429c3ed45d595fc43198094ce216acc729abc9d7d5c2a95014d8b02fd50a7bdf69a3c3bfbbdbf3e29de2217825fda34799f231fd7d3ff80d1fbf82f82ccc189598590a051c23a",
+          "padding" : "3011300d060960864801650304020305000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "313233343030",
+          "sig" : "d266da27670c18b97ccd0fe8beb45f2f83a0969258449fabbedc12d7bfe078ba741daca1c3fe504631b221eb1c899aa6c3a89d3a3904f48ebeeddbdca91b1bb9400eb1bb4d9f4ec903000ce239bb0a807de2c3b916336dc196ec87832774b701115796c4ffc66a6e344c9dd1ba9cd8517e93694f4d4502b20c72cb87426f250373113ab5b4f73c0b93de792ad714225eb70b9b44ee154719d89ad6c5c2c78917d3dcceddcdeea90bdaf0b35f2d77bd08f099a245cb39af8cf70d9dac0efeea156aaf83b5316b5f05c6fd9a3b6de3e82c9d02fdc5df5e25888c200219dc324c856d7a0b5687e3463a13accfb1b13b25f3b35ec84e551b2fd3738a1924dfb931b4d264e9515c508782c6ca04e2f66c30ec54873d39c0501459f0749aafc652531aca65d1fbf9b4d3f1272d8e87ed5dc680456d8e7771790a64b628ab05addd1078e99c0e197f9bd648db9caeca4e7160563496a18606e57bf5cd1c21bbfbca5a138852fc471eb09cd5a9e900409dcb2e0b733c54903a70d04e58cd64ee441d9ada",
+          "padding" : "3055300d060960864801650304020305002444040143043ff800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "313233343030",
+          "sig" : "bb94c13e6a00776c615fc879f33bde87218a3ba010138d8e239d6480db2431a67499a86d86558e3c16c8292ac5e5324981684894c8c7408f741de4bb4580ba6250f81ca6d0e8927f01de76b48f5e176634e0627342ec7d941fc25926d4b3efa0d94d9e53379c0f07f0d7a68f3fb26ec2073d257a6fed96393707e09e4f7eb247d106720e91911637bf43866d7ac90128159bd2381a5799a03b5658f2ec5956214383f3bf7b11837621dc4dd2a38fa4bf979bdbed9752ab6fb5c5af684304220faa3a5329bd106275900633488f25fcdb7bfb13db8435a53050f00866705c1a6c51507304a7c09c166e15bab7e808032da23405e8d2d25f64066c07a5acec27554782d2fee6d71a52f588268dc6fc928bffce6fc5eff2f53fb9d923f0e036df832c2e834b738646f1726c4016df56cef624d017a8755a9d9c8a885f53774af71ee69b34b7ab5eba4270a19f979909cf8331d64b32f759504ef35e6e1e839c66b000dfe24893a7a55a3d422c2be8c51417c266288fdd5cc98f8af150e579b42e96",
+          "padding" : "3051300d06096086480165030402030500044041f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "313233343030",
+          "sig" : "4f66ac4021d9aa29b43caf068b45c62300884232650b1809cc5c1eb9feb5834c9177d5281d53af9b9a868471936fe7911d5a1455fe101a394182c1c21d5aa7cf203eecbd02507797c8f9d1a7d69c53f639f61ef112ad99e87e65d02a15dc48e90acba7b09be2366eafb45a1d2dd4b2caab7fe07b0e3ba94e160a58df743c15d286bf8966447d4305c1b2d27d23203e1eae1a7e2ed7da7b7962c4f6e95e9bdb30e02dc1206039e84aaf495ab6c04628a661f06e7592c4a9f5ad9019e2c4f090fe05282f00b43ca98a8ab1a0b38db98a7ec36c1d1afc61a9839796fcfbcb0560aca2d11a8bfa7dcc46e76b69678184b8ded0d49efc601ec69266164f8e5ad7f7ed416a92c6bf62fff7fea732add959723247c2b688f60a7aa1cea5ebf913caee52cc70f7a850fe1c8b006e4e244cf2d4f948f040e28e90a57a80f2e4fedf6650d59683af70678f52e79b9c60a93536814fc6d669be8092703bee6f2d842518fb7a031d6562c740ec018918aac1ba9192b4b552a3cc620251bdd62670a834627bdd",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb34c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "ed93465874a3d62afda94f71718914dff11e99e0793d9a4ba45440f475eff498951cdf6f435f163d78f610a0dd06393e99dd2e7f5139db0c4ddc43a932ecd1b498fd8bf5443c7d62e53230869e631e5ff8a85e379b34c152d662afde843f205b99d15c2258ddf6fe286ae58005d21d4c24d016e2e084d78e684b7344302409e050dd759a5f5168a587a8189c2781f7ce784780c0a6a0ac4978a4a7f95b457b4cf2757246d73e14a957ed061edb0d0c8f345cce741dd7a1c79af84a81fcac9c4badf490ca28c8b8a4b90d2214299f8a6a092012346f8fd0d679439a0dea2e196cdbe8a9a9434982a5fa20af9cc19df2deecbb86dd4772297db08e407d78bd6d0d95aeb4c987a21007ef00276eff17ff24db4f51f5dda13a75cb7b09375e99b6965ca73f423dcc1d5e9aeaf20fd09cdfca37082b92a9a582781da5eed90eaae7b0a6c7684abd0f0417c3c1e8225dfbbb432176304754d82c96dee504fd36d4c1ec0c750d4276180a52c2fc93580192084f270925ba138c52b52a95ab16be998cbd",
+          "padding" : "3050300d06096086480165030402030500043f43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "eeab3ec4df4e69668f23a6de6d071be7ff5e01613dbfeccefc722997ded7114f680f0fea889a070ea1e1fccd513b1b23059d0eb99d41f4cb08f2b8a1af16584b34f29341722355eae5a8a223c391cb392193e9367b81cdb46b8d897916f5f054a7a02aae0af18fb553050c88ad94ad406e574a52dbb167997dba36d2e8707ae43df0ae089d663c93daca1c354ba9fad356ad788068c7a82a7fe82445f732908e2dfce7d16eea2212945a918d6eae80b8ae93f9fbc4babdddd4b09a040cc355200149ae4d82ae968db6d7693192adba439f33be49143266bbe157baf4291eb8f75328ef0c76fd5cafb554aa843fba336d4f9862f2a2223035fb9e37a43c7cbae811980bed620768d5690a9fb087d050b0f8a09867caaf23ddbeff490497f7d26cca6d69d0beaacbec5a7e4af606a1eef4c4316ac4084b9b51663b438f97e507b54b86e5579409e13de979d749f365e50dbff67b0ee7994ed38e96ac897135c6a249855dbfc10b4628025b7177c3cb0107b1eb66cef39bca2ae00afaae2bb236c1",
+          "padding" : "3050300d06096086480165030402030500043ff800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "2c5c3cc5f8cec4eac19265eb456fed4be0c582d3324407bdc6aab5002534fa32dccf93ef7f1ac30bdc5f5c2c4964a0483bdff24ea5694224edf98f808c847ceffba864c3cd8b2260626129bfc59ee0117b53bfab63f437c96af170c0caaa68d8d8ed84261cd472b1edf699483fe7b794d07eee92b637dc1c49aa7c1a6aa2dce34abffccb37db3647d3ab877fa11475d0ac2647b4d4e439185a11619cd956f9dbf9f73a33faa321f2f5c501114528817e932ee71be313b4507741ae81ce6b1ab3610f2a65ead30268cc1c5ce3189a37e8218459d717dab5c09f991fff3e07ee309b1bb607144dd0d477cd18b7147b065f9e09b8ecf282dcfa2745154a75cde6097329a9782968b118bb23f3d2b36aa3a023da114dc648fd740250e76cb952d7edc0ddcfe96573ce196cbb9ee3b309b88de6213d1b220a24a95d753cece91e12b211832968fa450cf8f752fd983e64baf9d0707dd708670d614105a574523d49e492d77647717d653c4ce6f997560c3c35e63342a903385d17a1e2174ac8ff4db4",
+          "padding" : "3050300c06082a864886f70d02050500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "002de47f8004371d52e2cea646c3d30c24c7067ccfe134c4195e79f3c1d5e1c515ae7f09b04184a0d2cf9c829388c11960824150ee619bfc8d55bfef47a58b2a662e62d692f531376cfc887d91f54223007ddd06a2205b4e35419897d0b332c10c3c9bd9cbfdabf44af4b3c9da04a76b2d4fb1e3aab5ae020116bf97623b71c6422656a3f4e9ac1eab2f7de9e0d048782dd312e0dfed774d87e454e5d593bc0f267093420e8047b4246f1561bdf500f1c70a7a96d0f037bbabfb2deece7618fd1453e88f26b6ccd24a8a0bf74450df11c9cfb5f6f9ccfa3ee2aaa8b254750987a14087418815bd7409f21a286bd5a2774e79fb5d6b36cf5259acaf04b8910bc2f6b072d0a4d02dcfbb0fc892043e3b73b1e76598bf95abe447cf995a638309ab1e21b987db52273d592267215b9af4de075821583b409607bd0e3618b2c0f93f5421ad53bbff8cb10be209c1f01a62b8f255f2ab51c1ad583386a6c34b7f60130f7a9112caa79e9e8f47da71be9626d4d68b2b8e3327673f8bbae6815107af7e",
+          "padding" : "304d300906052b0e03021a0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "d6b8ec6312bde1ecbd8e3a0bec28319c6778eb1642c1f1d62777c259002cd90ee9f4fe1e84de43c399721f7a954bf59279f53345e9c03160f5797ac477db9fd84866d02ed8ce4433de49885618cf0cac5ad01970aa72922fe658cd0766fefff0dd99a6ce3c10ef2967cacef6cf5af8a662ea35313166a77142ea6bedb2fa730e584211f3703126b3f79b883dd8c1ba23627b51f06b760ce38f01e5d658775db23b83a31236d52e347050172bfdc36ba3234d7d6bd918a48176bcb64d9450dc777288c98d89330dfea1ffdfffbf8a0d16acf4fc1f0acc92d6eefe9b2f56af13516b39be2af12838508db11175c761d77fe647aaf4f06c0a3d5700d04420d74f34f95ee992991b54b579cde870cf5c6a79c60fa1a89740e271dfa80784a3ad722681dfb0ea7c30c85ca57b392cd8fa322a94d2efb5deabb67326900c20f3366cebaf97891696d24b708d81993261b55969f8ac8b808325357a0bdd51f5902cd228e71a71693d3feda96a239bf10fb51f32994dcc439f43cf11185d23652a9ee5b4",
+          "padding" : "3051300d06096086480165030402010500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "d789585d72ef27eab443d409250ff15e4e188ed3bf497198167fee8c3476bfa2b7f3ed644fee7aeed40bf02df57ec28596fb0a5df4db780fdf78ec97e709c43ab7b805c381d32948f8e43ea2663a8e2fa6f817b99ae897a483bc37d4315f95e8fdd0735d742b9da61ffd7d468855f2aabb2c5d5d5f96c9f5458a4ec612b911a41618160e0a9bf0ac98f723e73a947e8826b1e05b7a293188f3ccec45aa8e8a225f386275287dfd5d6896a716532f876797749d3ac3a60b6dd016fc6fe11007419b605777d3e4d88a1d413bfdfd9698cc67e717e110c386e0c0fef2939648eaa0b0f83e1121a70c0c93dfdc3a92c6fa60f98355e8da8f368302defc9d5f3813de9de57dd493559460383413ac1adf3eccf8ba749e492c7d98da5356565a1eafccbfab2534e405ffb4c89a9548a162445d1027ed93ea6dcfbe4825af3b629dd8f0454cf54f54944986518be2f9bf6c68314c2e98bc10afede065d7c767f1c4ee11ec7121182722afd0f0e3ab65190fd35b227d86daf3f8f740d6164ea5310895a7",
+          "padding" : "3051300d06096086480165030402020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "068b2f62d5a72b3d9c1cb75c55699e539c9a9f97c5eb4137aaa30da1c9c2e6438aafca227f6bb87c02194646aafbebfda1f43f361c0fb0ec53ef07f86c9ed3db7ed39fcf08fd3fd0212ec51eddf3059104516ddd1cb0bd9ea329c793772aaf7003e3b0387c03a79eea56695f415c3aa0029238d0baaf619ce5aee8fa73aac1e79949048c330e7b33f55fa4e8822d926394c958045ab6a97859eee5f39f614711a11d5057b5a467802651bff2645d897fb8b95207a968babec7b7604bbfeeafed44e3000dfd4241ebdd87e29103af5184399c65620c9075a91fd2ae5a40c614e4f07cf2c94bb868f0b99ff284a4f4bc1f14834d26ed45349c959c30e8cedbcead87fa7adfb898f998118332a06404ac36d7a897595b64adccf9169865b0d412c204c5f776bfce6959230e29574111e50189dbf0f967856643f135a2c51c8e90f467cd55fac3e8bfe4314d23f46e8f28f399e626f9d576997b21b4be2d9b7e50fc150661a25032d9f150c97a9b4031dd646e411d09054765068e73c1da7fa9f9af",
+          "padding" : "3020300c06082a864886f70d0205050004103fa6e1540a9e5b94313c5907267a7331",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "1b9c7a5fdba8b0c84a6f98b1c419c6088a478346c75049822877b2402a5d28a0bd6759a1a579e6adb33a59c1bdbe1f829f2d3a4cce9f54ac7c1932a6d7e8c750e538e70a1a2e0af1481096687235d7b598c3ee9fdb3a6ea46b50fae66dfae54a1bb475ec742598dbce5febfce6de99f00176ac8cfde273a0eea6ebf0479f2dc676087873cd204bbf9cc49872571c4965b8d57c511328cd72811f89a6b216a28b9906c12b1dc38282b3cc7f2cbc52803123cb8cc0ac1a58397a7ce85656a17dc19e432fb124b607ac13879a4477dbc099d3826c3d92aa6af39f80fc4934816dde6b50a932cbf902f2f11125c8ec68b56aff6ac545601472380b1f3a19238ca8ee8e8f9e2ca3d3913c4a7f0d6e959590a739028a240d30813260e63e25132e572e7705acb241716aadbd0b9a051df5c5a7ac9a98304d13bdd518a84ddf589ae2d7f122aab5c1db9a7bcdd4688faf3209e80cd9aec91971121f1e5c799d55915b88dee9deb835ae74ad898293988e54662c29559535adea863ef606ceb559d9e236",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "a7ace057a106782b546816f8dcc81cf41216c18e587d8a5753ffa780fc51007196f37a816beac993023b41d192ac88cd30e2e9719309aedc367defd2893d767dae6c6148dbbe6fd4ce3636bed48b746982795dd206d11e603f77fb46fd56ac9e51a88f26c9c9512d3cf851afbfecb061bb6ffe7510bc4a8f4c17b8a6135f9b80557149834d18f4bb23822c1384a48a62ef3e3b723fdbd250d25d25177355ed361d54f372a78798cc111d6374d40062c5d4c5e43e8df75af841cab36bb15c5d4031afef9ae76670059a760e7aa610df8517deedcc6d616366473b8193fea07b3226bb67c3989778a868997371cc4f1242c77e85c2fab1c342ac49131937f16f4f0cb4342874374232ea1aabc7e3681aca47bdf358845f668a8844a7732a48075caaad959354592f5f3ec413cdddf337c64d0263b4096762a7eeb495bc7bf9868c9be5334697f7118c8c1274cdf300937955e36babc895745d02c22f1874159a33abe0cff3da62b76b3921b24573514dff80505c10c530a78b379da653dbc2947b",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "7beb0b9c393a8514932ce399ecbcc86d4725fc7c64840d24a45564548eb5c01774f89a75d3365e653fe39be83484b5243d3fd894191ff011f7a16195c1c6b4c9f474bb7abb45981077f49f696b5faae60e45755cc58e4f006a5fe1b02fbdba5e37f0d7a9d930bc2e68cca8f345713a9d0604ac8dd4c53e435631993f3b1aa9a2986dbd0aa9bda6e0789652387fb60aac6183b815743efdc4180917a30fe6f4fbc97cfd2c181855f4571408707fe61c5ead6bf36ebd4d13f4acae41b77160a4fa2ab8895ea7a36e6c8e48a4ab47be8addf9d1f1b9317b94889087a7c459fa89aa7bce959417674765b58554233e561bb03e7265afc15d7078fb18053445e865f5ba637d282406f7634e2d1ecb022b98569203b56c55c2d493b1414684984db401464559b339e37c6c6a147d3d5c05b56fb0eeeddd917a121ee1338ccd33f80fd0cac3cd7d9ff92ab080ed5f9bf350b39580fae2ef3046d03e67fb7cf0ae32872ed0515d27899409b34f842c8eac6a8c7f840fca270725b354500d1b1a904d06c5",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "d4328711d786df1aa78d2bd8f93921d208862d596d92273d861ae5296c0909a6a3bef5a5a49728896a9430e6d8ef9903fecc910c66cf0a9366fb1be322b7760ea0b02768a339d177a392de3efc44216c0a80b68212dfa2d43f95d2b3e4730c770979d67db173ff0f29e00b1abcdfa78afe2f20673f84d75c4b4ebbc0c4499d69c7fb5253bea5c06ba37d6fcbc384e69dda6ad7ae18a220b3f7dd548ff2ae547502567a6cd34456576fdcdd813b491d7f77117288d10ab91de9bc8342407b53d70dd83f4b94b00eee3ef7cd13e9147870382efee58563007b96dd910a7a83cb1246ea39a492e596190511dd313aebcb3ff5f8dd9bd0d9e29b01f75dd9a6a0c62f008f1b24769c0cfb9f56d05f2a102976985e7bf84f75ab3611ca40068ad9c4b1a3db684cd816bc605b22192ed3e0beb5ea42d4242e0ae939e6fdc3acf35755249af5bc8d44b34836463627220d388ba9a356525f77bb636106d961d5ddc069e2301e454f486d478e06becb8574860dc24b617f5709c6f3d981817703a13fcc46",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "2b938542a768f5d8733e373f6b21cdde86bec1a6693d4cb150527491a3707588026527c8bd3b5ce9495068eff3b828844d80b65aa86e0376a487776f648e8bebf487bb02f8b2a6a9703223975f540e7447f14fcbc9dea14463fe42a998934fa8d4516afd7144f199b9b8cc3026217b981649ef89b19c508c6f6880585749787274a7d91e3cee34d69eb52930dd52ecb034ba6f3d482b36446fcbde1e96d45fe36ac1f17c43a2a7b7028113f063ff4cd61b82cb61f4cca8a407848333ffcef570e6e4c39ae0731445e8430f474a1bf48ef138f5188d0e16334139bc40fae60a3cb8cab659cfa992f913bf91541823e38db370d30fcccb260f1dba1e859d7097c4456beb16d5c7674b3dea4a892710b1afb98d43482376fc323abbde6e421d43bc9be112969c5924fc831c43870c2f5e2459fcaaae3038f75028e998251877284506c1a1a231b322572a93fc42c3d8fe23bf03c1ff060100bccc616d92865db402f03f5d7632857156b71322492bd5c9676d8444267d28eddf9023ae84a96eecb4",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "313233343030",
+          "sig" : "08317cd804400c88a2cf3055bdb9add4ff6c5844cf5d521e05a59dd32d30397688a1abe7212b385ba4eb82cbf091dde7bdcf16e706675b6687f2765447f2647cb9b626abb96173baaf4f9c24a0ae0a25f2d337312cb58cb7a3487489c91d12390213fb6cc32459369b410e8f87c7013bec907fa0980a31afc213842501498068d3207b48405e13c9cc2e24587aa5621b4c76898ec8219d05043aa2c347805fa2141ced11126850d62b6cf63f05c568cffa1d58c25ebf9771fe0fcac49d1c9b7c6f04d1730f8ccb25722741a64f13f7627d2ed7c89187bb704a6b461e315f36342ad6d7cb270940286af3be4083a5f1d5c1441528b21d0b02af7791a6ca5b72f962d3b7a6f8892dafb35f91425fd7b921179a1280c056f3cf283c8294bf29da404f80e62a9c0a76a0359d8dc6c01159e369ef2d2a29dbb655dfede14f6e3b4fc0d4dc9dbd52501bc6b3fe747bcf8753379791204e4138bae4daf1d6db65e0f9dfd053d90237e12a044e331a6b6bb451ed26405c8534760d00e7d46a0c47b09537",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "313233343030",
+          "sig" : "6e35d7e838f318735a6050fb3faea4beede2e0c3e5bd007b096f4d2bf855af1c29909ee6859e3012f3509372f8975be33ba4cf4111f25e7cf91ab9cd23df7bb27e7246f6d03449dae81f93e141044b95365777e1127ef2df2f33c0a43cf1cb28a9b3e877ecc0979983bab8d2da8be009706b5636ec753828aa51c01f48b57c9e2bdd7f23330c47a27d556638ca0d8f92b8d1d5273e7d936500ba5ac79470a669da9ae334256d34dac2d3b241baa61d8127735bd42f43bbc928ef9881996d72012f940e7b8c81ff6d37b5b0f6c3b116d53d816273f33112008ae256352401dcacc12d27f5c912456b5a72334437ee0d4a04ef5c6e77c29d190563c1c500a558b2dee8a432c9aebc53a1f07ffb597d25c832f4df2a4415fb4c142dcd2d8b03020340976f33d58cd8f27b757e6936200f297027a67beef36b50ea79a88c39b0eb5cdb3de55fd8650dd3f480104f418bf7a8e6ed2304db3168beb1d060a00069180f4d820894566bc9237b12b0d87dc5266c07928de63258e3ab532b700cd7cde84b",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "CVE-2017-11185",
+          "msg" : "313233343030",
+          "sig" : "fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "invalid length",
+          "msg" : "313233343030",
+          "sig" : "fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "empty signature",
+          "msg" : "313233343030",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "0",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "1",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "2",
+          "msg" : "313233343030",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "n-1",
+          "msg" : "313233343030",
+          "sig" : "fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5244",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "n+1",
+          "msg" : "313233343030",
+          "sig" : "fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5246",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "-1",
+          "msg" : "313233343030",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.json
new file mode 100644
index 0000000..0dd9598
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha384_test.json
@@ -0,0 +1,2095 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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"
+  },
+  "numberOfTests" : 230,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001",
+      "keyDer" : "30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA46595b9E3n01fiOMjf8G\nPKcTRwd3q3hrSViE56m6Hd5l3n0rW+Pyt9GDDPbKjtXAXT8JSqrrHdLksu3ghhMQ\nmpujTH4r+EUCJZdDdEWfFtosFBksY3mF/r677wHwOB540P1jt2A49ePTXcfSJDlj\nNmr112hfG8/JncuR6UyTAZBoNTEi7dA8w+YV4Xwb8d18Q9rob0ekAjj7WUBBzr26\nJfP+lZOmwym398R26rdiXRe6e+eIaTa3M/jc5ubJN/WI2hMVwRF6vSnIOJXZWYjR\nf5/XYjlg2OQz18aEFQf/L6rDbg4ZpB6yzM2yosD66WZxmpnSA8kkNJvA7qE3Tv0+\nIwmbLRh5IgFv0BQIdSCmc2NocyK5DXqJDY9EZKjHlNKj8gcMzTsOu8orQrv466by\nwL+ACLVhbue4Finr/5epOluGGYnaoQ2nyOO8ewzbCV9s4Rhc+P09ygNes+UFy+Ai\n2B2TlFoUSAa5/gugfzq5xw5ytft3rG5MfgOqLc58XvInq6Gs1Iwdk+DibwHo8eQ6\nqXiA0V1skksGDR+s4h0Dp5bIYwH0p0M55HKy+WzQdVdBy53zU1B3OBrahNG8CEam\nxEyKjTz+G3qZE9Hz168sXqTmfOCn7TwAWCBv0TrZzK1aghLz7NeINoprYUgXjHxe\nqNbThSJ/LHagRyFuXiBrHtECAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 4096,
+      "n" : "0e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1",
+      "sha" : "SHA-384",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10",
+          "padding" : "3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326",
+          "padding" : "3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e",
+          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8",
+          "padding" : "3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1",
+          "padding" : "3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e",
+          "padding" : "3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "313233343030",
+          "sig" : "174f3644f5380c9d804287d8b58435cf141283eebfeb4e376493b401b812b525dca70833fdf626b043e70a71a9a54974be4b77b8fac0c8cd8b5141eb4c8a906cb16584b385124f2d339035906572e446d230cb60a0604e53454d8d0cfc588c0491190e2c26f46234bce081aab2c2cf15cd1d764baf46fd8b154e75e8be85d54c0b9062ee266e2ec781f7dbbe8764eccd13da5c107b46829590f6f28f595ef4de3744050fa2f721c3fbe1afe8250069d815c63273cfceb77505fec5844c21ad8e60a73149e5d7c3018895967abe471d7cc0800030c70760bd0d3d48d61e7eb12a0a27a91677216d0095a2a95a37f3c86942c1981dde4f7897a4190a270e962e2ba427b4e630e3187ab42cbb3f9aacc9c0f2eac9a8c44f6d73f96eab34b74dbba066c9dd56d32ba7df087dba9e479582bf73d5941cc107cad55c6596d4e25e39a7ee3704228ef978307605f2872eae23d8f2fc5d8c088b482e15adeda22a7cab9d00578d143d53af27b04416a1c3841aa88de6dc4f16b8dd320897d1498e4effb58a6d87b8ddcdcfaeee75ecb9ef64e3db62c232965f556ee3f74d73d2b19993e9a9b8d6ba56cc87fbbe3b7fb7ddcb35184ee2b881d55e55a7803ab2dcddcd3572cb8921bedf958185ee7046b12ef4e6190a314012006f8003aca93f430d121df1ada316ffe0b1ef85706e36ad2164cd1e40389b2f36cf10735e68e15022097884",
+          "padding" : "303f300b06096086480165030402020430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "34e01ccf88b7b25ed56f5fafc89ddcb9b6fade81ed2446b0c133f6949e73a1d68134973f59a551582bb3c28651b34fff77f97e91d947a96f269baef355697e15f4999d3b8b173c66c86eaa546b44f1aa42251df45584a938b40c6f1b5e1f8c58ff74f96257a044b10a70bc5075f9769c3c949dcde889e3b9c6d32d4eee6e312dfa2c74318954770556677d1937265e896bf044b3c0a03ac6ef1d82888a5a010787dc4a65a855368532b092a5f6c985dd720966fcd407d465b33426cd6e56ac30feff073bd4c55115bdbaef71c14f180fb559fa4860d7bc94b52aac8d121d0c0ae4c2a64ee32d1a1086efdb4264f4f93f4e8db096724f52d608bc686eb55f3e2820abc4384af6e4e4a8f9eca4cb3e52c43a67e673f2610ded69df520fec76d3aa50b9a6556fcec204cb959a0ebfa6dfb868068f583338e57cdcc2d2603acedc48c59500453522bfa8165c8e2c63e4ac97b3d4d70075c857beffb5db8df58247ec4842fda08a093df5ddae1cad03e374a350a87961408bf4fa99e5511ba42a9059a0ed73c1c9618ae0a300399347ee194003fb81f6e905f0286e1467fc0eef2c5691c0d05a480e52ec578f77d2616503061530de1346d1a424facd2cbb9a7c8da38d870e5f4b8cd406d41421c959101c6eeee60e092b2a5dc717f2caf292c8622d903856a266e31c7c342bbf09f8bc37f67f576a3e8b963b88ebda9aa31d093fd9",
+          "padding" : "308141300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "5da09302fd2e6eb0695f2d027893f42d71476bd0ad8e1783f3015fda3d1b5d4fac1b56fbf133144bf82f874160a3a248e2c6a4da691a7db2110e4bd095d536e72fbde3b47ce0bdcca2fc9050aaaf2395686f98b8da83a7ad152b2f517125843b8306828a0d5ef8d4b3abb874373644e81755e7a929a33e98069c4d4d0a732b65c5b836c2b7ffc6a914ce02c2ac0d4bd5e67f7a395da04d8f24031d1bdad73eed9d08982216aac5a067d90311bffc2b109f9dc3ab4ee2c051e23880a675fab15a3ceebf15f114d79523ea5780d62a0785caddd3d345697b8a1a785b1488eaecbb863f8ba22a307bc835f3c832ce37de47a416136b8c2e559b38fe8d2b94c4cd376fbe209130206b53271f69789bd0f2596b85d9ccb000a15e3f2e7c50e8820dabdb36b1dfac83cf0a307ee46eca142eb747dd72972f0e824e9107f318036e83274ade55d53fb47069cc49cc51460f982cb712074082559bef436c501c968e1b73fae4adae5f2d7111a1741d1299869b5f5d6c831c69c4ab323c4e04227e435cf3cbfba1a3a9e6e6a64368027d5c385acbab0012f385ffa331db5decd358d44afe4d7d047ca4ec9b8f888930c1c6ca1a01106c8f7482ed80cecf0e244ee76e28527d8464f41395e949eda74e233282f50b6fcceddd3478be8b7825ac05f0f1f09617f31f79eacf10d90be50711b8d2c0a4e1f2062a3d6d4ab9ed05c0f6678f94e7",
+          "padding" : "304230810d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "d7084e9d50f340dd41618f6236c0dd09f86ee1858c77e29fcf82cf88431111edd025d3ccfb90039f5b6315e1eaf2adad3f591f3cd4a0ee492061a73da45668485dffbec020947e3f4a07f82b3a5b4797623867ff4d928bd58c19096f604656f60d8e3eca9e218fab21d3470453634838bb52444ae1e2bbbc553b112ec3a3c0785bb3051183fa28ff255584d75b445102521c9376ed9114e84f7a22de4021c334e7da873aef6db293903a8d03cdeec3150bc1890d493b418ed23ee4df2631347247d418f201c04ffadbabfea441684621e78425b9f5e6dfe89977e7d5da88720595850b5e4586337c22c1a4eaf35d5a40b47791925d8ddb9471de7c8756b5bfbe1a440685d3c99fc91f73a334aa2d2b7071f5b5cffa643a40b9a8544b725a1e9f2c2bc62a4ed42dd4db24cdf80f1cfb8e9e5b5b86d200b5b950de96dbae50266f5ee7ec6e4e2cb2a635f4930e0b38d1028f878bfea22b56acc9526af21296a08849bc1c3a9b9f90686d4a0426dd8904fb44e3401fcd6fa3a625a8523184d2e03fd6d341e3bc365bb549c5307dd928cf1e409e7d60a1f3bfec1a95501d32eb79b38cb50cd5202f12de07d466531d85e0c668a70cee060cc3c46983cb488b8f79ca5311c91f2b90c8446fcd2a58d5617709b79ebcfd5234c7103489c4d2fc3d7b3387904e03bfa9f8c5ccb9d5b3f78eb05943273dc8a940ec0f74c5910dc93da81c",
+          "padding" : "3042300e06810960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "47e7664b1dfd6e4711f4de90fd311c1db87659ea992382d5e18aa9fe5a2429eec9cb7abc063e3fe3371e175ec9a51fe4a629d851355c38072743c37352674f6a113dbd79286994c5c6ad37f621283443e30cae094f834585e7ab2580f6d4d8a09310eb56be9105e0f44ce7ea9cf0da7766c2b9bedbf732113a4db1bc0bc7f2569cb71093eb50c0cb88668a78c040860cb54e19a3ceafd7dca8860c4920db6376dc37149e5b18d434853d36eb5977e4012c744faa739832d5f11e33151da54403746678456e3e70a7ac2b3802c719b0892207f2babaca7a3c763fe3399fe109846273e010bb69d15e09d7d9193b2ef00ff0dfb65c983a2c88becf232fc5bd246f441e9dc61a23d0e4c25cfbb527ebd64ec503ac7b4d501cd397e372bdb104aa2004b255a4e11424aac978c32c9e2b61978b1b2818caf2795542ae1a7808f47ff8af16e458f0771bdea370d31b1cfae0f0d73e14d99dd3872c4d9bedb3caf630ddc6ff49d98df360c9c6c4a61e0c94d5af3e5239ac443aa8ef1caecb1d22b148874669c263c325e6b7008a404e5374a9dc10214d412d5d00da814a6f9af0c83c40794e3fea7331f3d3e5736b176c8d6ee13a28efe25239addd4ce4d4ccbf9d79ede0f2cd53f575a4c47a46c14924178f2d4afc2d93d0722d85cb7d3e609d4cf270950e5300c1a75dd2fc10be6421a0c016db3d2d6863f644fb68a5ddf1354c6075",
+          "padding" : "3042300e06096086480165030402020581000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "913842cc62a41a3e105873bac488ab6e5e5971f24f38fb6d99fecb1b99d47519704bce498791e29ebabdefa89b02a516e92afbdea73d39c801a05ebc7b9988b732103d09064fb8137d96383b1c261b52614c8e531684ea0f1a29c043419ab9eb8610e2b5cda1ab9515b5ee19bae627bf622c8c802d6e97565e50a7fd6715ef3e921bdb3e0c82ba1e369541ac3037c056f911d5d434b3ff1185d33e2095a3627134bd6e0bf7e10d2a7a46712c9de87120daeb6b13eaec78d4c577a5f7d33f5a17e5fbe48ca4de7990df00e403cf2871050fe49d49e7b3121f48482d35600f5cf9a836554ee0f80abae1d6379b16833a64b8c354f80be5794fb6d6bac6e1b567917fb903237c79900146bd6120dc49cd1cd48cae7b84de5588d0c4a76fc4cb5b0f6bb3b1a13e7e6bc395d8f6f0723470d300d4529eac1ad6e1b2ed62d6903bd6f92475d585508d242c2b720fa694b09a7b66ec83317596ee62122324b0169cba1564d6c12345ff106472af605f732fb635646c9b608d6e8dce4951b8e72e56ef25eda9b8e81a4a6b40294fd8754340d9ca752274ad72ae3e4cbb5dcc85bdff3903016fdfdf1823134e1c10398d1ede0fa0dff7ab631db5a1bcd943bf6a2a73a03f97a4f504e5e8832df7f58c9ba99c54e843a4420b977a6602d555fdb4ed29e5237347be3707621a43cf809e3ec3b6b1c0e0c8ce7768ef96c7f4735c0632956e83",
+          "padding" : "3042300d06096086480165030402020500048130f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "10877ae7a63a66b8249e34557c24145c4a5bbce1b2d7191ed8a6b194b5a14c6f0c75e157772c90553632c4a58636aec356e50bb15035b7409084ba68e91d09cfa3d090e1b4e17c08c56a3d20fbebd483df984b5f800c7724c52c19339db62ff9b13b2cb38b1187c5927ffe5728b8c7a66d3f209db3e2a490b115e6e854bb8b5fb6e390aedb5ac7fc93921399824120a24c6dfe8b084845e4921c5bdc04f0d3f9dcd7896632252b69727996b325e99a07fddaf055328685035b629c001078c8182e4bc79155405aac2324790497ca082e0d9e6b2707a011a9530fed0fb0e2568a05ab26e3cd1e613d6cf4f10ee619f97bebff59df634427584e26fa81cf8efe07c40eb910a7cbe463eb568cbc0cb1992146fbd7280064a8189d22ee23283f661b9e980d2403e70753c1bca7505ec92c1d688200fe001d597874968d14a8f3d8edbe436a6f7328218b69957b1526d22eea70992ed14526a0415e12534af443a1d8100578be888bad5e2fa18638d77dc5eb177fbb12045d6bb2fc70bd4ac3d9f3a202503611ef6b55b005f6a39cf45e3a896c5a726f8eec1ad5b68624347be0b4561df68afcbbd665935b4b5219d75af0252849ae4bdc9ae89636f7d0bd9533b0a18f94fa2ec5b4c4fcb63a0880619a887b710cb92b3376a407fbc6fbc43d5794dd243c7d235a14e8cc3e4f786c3bd57f391393d05c283bd9c62104fe04cef29c75",
+          "padding" : "30820041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "bd9586f52f2e14b0694a447fc111086141f8864f0d2464ed83adeeb0b702cc0dc501b899f0c1ba5acb0c0163191dc8f46e26631fa236289902949c087ef4968585a9daddac00fdf4430561fd81605f7f3568222da3c4cdddb9047dd529527a5d370c343dd2058d3dd3885157e4594d7af160e2443297a3c87c4214ae3ae2fb3c13a8ff39e1e804fbb39f3097b097a7d2dd568d885a5abdc3d1bb012349758e96b608050285ad3c80132390ae5fc9eddac40ca98d6db6463b8f10f79e4c4a98d2aa91b7d8d6b9c2536d8131a3d447a9622467e7170c66c72495df3f8cec11951db3cc6407ce75ef398581677753773bceb6aece44f40292d8de15e020523644acf0afc79e1381875b6a67168bf566665c4a4aab1a8c6a2a384437f4cd2b242acc8d8385cb39764dab2c73e2476200c2136e4904f8ba0479e5a6ece38ac8b4e99b6be4a2f12310b265a8470628f9d198d897cace6efd9cc2b8bd299696654ae205e1470521ec7ec74d2cfffd058a1bd1f84d72a5e13d2bf44aa8306d78319569635d492c639397d886222d5de46f82dcc5bd9736d401ba2920577bc71e7cee77b9395732317b849d22ea98bd5c6ee461d8275df4fa8a9acaadc3db528d7c53e8b7e797e6647ddf9e2259af83b4c56d63bca901e1f0ce5414b5609fc1edcd2a6a7121b41a2f3082a7ba6fcc630fbc7fff4bc2535920d6e8345e0aa8d6240a5f04f1",
+          "padding" : "30433082000d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "c08f38df11975c781af71a9a75b80f89ca790240533b40de0363b19584977b411adbb2a69921f53d0aafe040ce96d6356b879e0e4f24eb0dc04eb8b3a19ef578033514c63ce08a01e5b3cade4d25ae36e7c105450c7c1e2f2b4077b492a3b23961c9c40616617eb081b8a5616a741c30ddef99e6fcd0934c4af56b99cb48d4419dcb5c0d0db5cabb1a3dd11eb8ebed9a6303efe4b9ba9d00014b72a03b0589cbf604a9a13f224d6540a2881c180370ab9e2c90c93e5c9bb5e58a0926b6ab75cc18c12431c4a173e8c3388170a8cb7100193a8c644ff27495d98fca0a5f0d49cafe618c769cd5831707c8baeadaf32df0713063820173803c58dba9ce292b8e318b93fea3b40d75ba0a0570512e148d9e84b5535ea70eca59e450aa053782ff8e5ffcca140dea1dbfcd37ad8ba3ba24e6087275e947c17a64cbdd8488bd6f98f9388549b00b3389d256ed0c6043785de6932f25c18bed5c0527ba46652f56df24d3ee969e109d9bf23ccc9359603648d8e7b064043c9973931ef78fd107a9df7128362b0ad4cfa449c86fc613c47d99222f9500a95584c746b91dd729a987bc5de7c6bb926d52081945a9b42ae061347c16e71d91a6553109018d159fa7fc13a8d0ac9a57b132bcf7947f19e0444148173728397afcde410416b1360ad1e37cba2762f7e15ff2fffeee2e09d03b83ace24e9395e3aa6a0fe97d035e213164d1c8",
+          "padding" : "3043300f0682000960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "4cf36bf17238f5fb54ca2c60abf1f66db89d674ba3598a19ae16b59c69b818bdebcd1c07848eb8d9bf1ac76d40c7f8277289f8399add2462993f41fe6b5e0cc93d82b691e38c2ff7dc7e0a2ad2676c6ce15b69e322a76cb05ddc6a6cd547b2d126549d6e7a62b37dc9121b68b52a156c0134c8679d553803ad2668551d62bda3d16fd3a12489c7e0edc87fa4da8965627e55256d441e005335cc212a7bdb42e62c7d23139344041b8eb0113bd0f5c64027ff6c5c0bd08a042a287b2ac5d45a002a92a69a7e8325a5456334219f79c174b959afe78c794df1a8aeff180e94ec3d2c1d25b8ad5d1c083c372b2cf3ceb569a5768518877d21105167eb89cf3793362fdc591066e26fbbb028e6f21da34a3ab13f26d8c3d0a3e8bdce05a301924837989cfef516ff4c18cf5e74b0ceb59c375f585bc5b9f99bb1c02968bebb18f7e16f632c33c79f341974f0f8f9d6243d59932e21b278760883f89724e996d5ed7d179afa967ceb37d0a4a4abdd694a386b6c36f7214dd339fd87e2771a36517fd049c04090827db6a0759178464bd013258fcc4f23335ec1398c285697b2f410777c8a9aa2c7c8995ffa16bf71da60fe56e0782a1fc6a58522e1bc000e5e9839e5b812ff220fc884fe35ff2769b4debe516ead552efc4f956a5ef9fa31d0f13523d6c4818d64d4b157c6a2f044dc68c85371a0f23dde353fa086de804cf1f8f916",
+          "padding" : "3043300f0609608648016503040202058200000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "b188bf6d0ef7001eda21409538960de8ce6765f52a39a886d5fe4e5d7854f56888ef04b8f005439ce3db47572166b13717de4c58ad31683e380bf23ac98d5c541aa558fec78b27c0e315fccc960f6b6445f8d732a144dac80980eccb6b6efb7dac2aa3c44c70ffad0d38f50c92acb71d799fa31b7efce919e9a7e7593c864e1eb19e1873a4359b4cee15f941fb70e4ed1c180fceee643c55f35e0a0ea45eda985ed5e104b696f6db37a21df74693c75311ac31b2213babfa473fab2c5eaff5b003264d8a1fae68b701879d8bf7d18af7f2380e513744b7eebe1ee83f6490cac6fb47962d59b2d304a920d7dac88b05260229a178f6196bc0977305a6f9de8aa58f6275df14ea42d3aa74d06760a712a257b2e1e7a83e0f41bd9c1da4f76d7634f8a9c2ea66ca1f16d82d27b55d55586399838c3cbc523c2f588e1de72b0f08ad782c5aa6f28f5eaf5eb04dcbe5b74fb5b3fecc99877330cea7c8bc9f2d99006c0f44f8908716ec8eb3c3273104418dc5b0d90593ddf8d73bfdc883dfa5f3abfa977861147fdeded55d4ce67a27bc8f68fe407cb86f5565879888b207576e05534dd0c6e5ef30a9f7d49dfb2d5023e318c6512a1c91d6a38961ae9681fe98aacb81802ab2415ff7889763329eac8a630245f0acbd2d29d18a5f5b7261e0379bf335e750c6a497d0725f2def9e4f0250e40dd11c62a4f4bee3cad2eaa361afcf06",
+          "padding" : "3043300d0609608648016503040202050004820030f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "23da245bc1defff09dc4a0adc58347ce419109e3002fd1300331a8dfbde68f4b17d7e65b8ecaaa69abc14134422b76036f4917b7d991e0f51d168074722a2f1ccd1b30bbd6f3139f147d29ef11a0da1204d4ad115df67a66d4d10509abeafd2502a6b671a40746861751e7e5912e23db05d0b3ebfa95f0f3fff8876b6f01af3dc3d5e94ccc7582536def9d40facb2c6d91e0eaef3ef7753fa8830c71e6e583fa21d423cdac47189337f8cca61044e492b073caee975cd3cd33ebd548eee68d7220fce78ba2db17ef8ae487d2ff06e94d3d4ae67e3ff9d3d78256403744dfc18c5649d529f3283b51edd7817cc3ee9a3d417d4e2e583f13a36bddc93f078cdfbdfba1c8cc486b50e8104f4dc862d4cfffc7c9209143d43fd7d55918d326f022db836d6d3ae155897aa4a12af78846c94e1bb42025a796d594920011945aa7d7f41eac8c0a42252286267433c0409371d20e312423062dea435283d3857a56d1b47248190b73b358ecbc998e7dfaa4f4b89acd10b05b58a172fa58fd37f07b707a978aa4e26d471726240edce522d4083477db37e4e230031cf06096d373d65e4e7fda47d421e4d000b722da6326d9e8fa5f09f2685f6af3a51f5649e99a67010bfb695f3f5bd8a6027ab1eb759ef0a022f5bd6775e5fe96aa22d9d76b375377e2b556199c940f0567f09899874e02e8b972940fc7d7fd632efa97a617c1d4767e",
+          "padding" : "3042300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "bec4ecc1e9935d26a8a448266a6d450ef1926d3e0353bb61f7d84934d7c66d66b4441d21b54abaf9200257fca89ad352fb0247b5b65fc952f4d75fdfd2c04a8b440817cf351c4c09493191ede4d73ca55d4142f1c8abd1982278c60c2f9f5f2adf4a0d1e0ad8ea2e3aa1778a846a91bcf4ba4b9637e4a2ae49ed91379c2127dce0fe03048e78dc9c37b700089ab84b84cff7872fe08d0d773818e158b896bbd6075af6df1a751909dd1e5dad968ecc91bc6219c613a4ab902de6b0acc46748a30fef9fb33a335820d737fdb353f9e8e5378e9ceced5b8809906ddb710038c6f2c4e3c80158f5ea4ab1e2357bee7f01e2dd2dc81e9912d8b260ef4ad38e181d7f2d5b07287659e03351e4cee0f0cd4e4ca477415504a8e59168937958e3eadda0a9e366fc370c308ad78505a8faca416e94b7f27f60f40709959fe26c1c6ab985a1141537d1fa110cce115ae45a10a3498591800e81102097ff514551819abfab67d876df37e1d04557ca98ac6d9c14cde0bd2e0f9ccfd6e2571750b3a69519ff2630c5f1a08f22767e9500727433126a7da85d992cd14d4d946aafeb596f7aa8ea2239d1d5fc0556584669a8fe968c7d1ec9f35a601afc7d8c5e2620af5bb95fd922dfb3b8d013f5b87c3cb1da4b3349ab13135a13d45de49b4991eefe8c6f6b1bd409b2f827288986e986cf08c643420b160a642dc47afb7af321d9eee89af7",
+          "padding" : "3040300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "6e5a44b4fe52c8104eb60e7d96e697c2fb0c7610fe17fe8c6d10fabc509cd3cb16bb4428935ec58fac84db83542ba166991f923a9889ee78088f0886deee107c1d0852ebcb295561c3977b2d69aa069e1c15e41d5ac47050b2221962413f9b5111a536a0a6c1762d04dd8ad96318964e34b8230564509e62d63b4bfd0dccafefc31bc44a0086daae5da89baf990e454f390343f1755f7db2bceaef0a310d07b7817a29371485d5abce1cb9b1e556b830e15b35de0b0aa977aeb1b6a54117bd787f7f9a64452123a3f29fc2e87256395102b6ac86bfde21c05a5aebd4862008be79eae34faaf324db09b5bc57e7e2650ba2d5a11851ef8c864dc5c04c58b132c208b7c579673b7419557d4bbdb47b2281129c72072d906e0e63f4e6dd55f3d3b2fc386a81a7b746a991a751d49d91a76fa4876b3c93c4b8e6bd9326957994354ce4d93dc93df5c5a8d115897d263857c702f2a95ff4a714d402c88b07caa43d4876ae5c37780a7a22a01e8f5a89ee1b50185a27318120a6d3dad156811ee818fa2d7b051d57c5a4f9b93a99dbe9630b3e301e94b04ff6bfd4361abcd95d86fc89046f66da80e29073365fcbbef0e7f29ea799e33302ee3a29792742f4a078f6cf86494c97e8b1dc2018d4a65ffaca21af43675a6461a4a8519e95f4320e2ce904f88ee8bfcc5d10a980684a2038b3dc8b34b5131995c684c89d01095b41b713be",
+          "padding" : "3041300e060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "856accc6420e940cb6ae49009afc46bc43ce4853098a25631d172c30b2d94b71268949c8ecb721a24f1d9b1dd0448f2825268c3f62c39a97d40bbb36cc93f36f9e78c1e87ae7e217a3f0f3b96c20b99c96d10d8a06b40dab75e7045f484bd6537610f423345df4b9235be70874c3754dc9131ad5041da7ce7c61ede789d87adac85dc9318b82985c83143ea1194c07386ecf2e3af4c1a72722c19649875378b43e85b8251e769e42405f70ae26d94e7b7492dc761accf9d793f5b9e3619a8192d8166ecc53679dc2bd1b8ff609d698bf92c75ac92895653c650ab205a9233237c5ef111d71cd13ae2cabe6c71f5164e896e9659afe547ed1321a6cf84734bccc19b9b93d796b54ee6f3f5355bf1a8f681854ada63ca8beaf9695c5da9adb1705ef06b3bfcf2d35be7793c48c8d8d32a1e2273714c314670447c51065619558c8ae80ef286048ced7e53d3c7b5293d1145b337a0ec34b21dbd3e2bac4897bc657737044c9ebf8c9d8ce82a33a56785a2f21c296b18435895005d1a5bef8c496a36c4608b9f7dff13bc7a741217b54b8293e8b754e1f1d98f9ad74bd3334f381726f405130509b815bcb09f34b3c34b3340870e7702b54dfab81fe68c20e1d6ec9f64ddbb73ef0768f3ed80babbfca7eafe69ccbe1bc8db50ed35614f1b883e702c04612af87fe3cf48063068abc42f3dfbe6499b8faa57ab75384bbc47c0a83bb",
+          "padding" : "3041300c060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "21aedb00191da333a649ecba6a9d715d4b5d379a854f27c6d27c2ce892d6d664664ecb53351ec7f1bf7573336b3bcccf7fb25ffdc3a6feb3b95483717c08eabdb8d9e3a9f91937f495a965028a1c89dbcea8390032d737289298d6124197090f10611e418d7f6d2b36542549de777fb8d0a257f7ede55a9b63a9b0d7bebdc21b4b8c845e43faa271d55d87781ab76bab9b57a2e2237c466bfcdd8e2b23f8f65582c2105aa37aef7687ffb514df3629a367bc2d3fd183199699cf93c687611fc8f190efdcb02dd6b9e228361c7a72c2ebdd5077e09ef866e304dfce2b4b80fe99b42a0ce9f47b8ded420fc0e7e462a46a82307d42e5f139198556c3bd74f7b0215d8d1552c079c895efca2f9de22bdabc46efcadc355d13cb8ad6262f7468b85eb1b1d5c13a9aec97884421914b474d9c5031f8963b5d635cfb8dabde4ba9550978d0bda9c6ea0e28a7f78b1a6ca82185acf4412770cef4189b491c16f77357df7b6b848f4722c098e20cb7c249f3883c029e76ff184f657ac4b38995b428d7acf40239b101787e5c798c683afee7fe19fcada3ce41d45e63d06afcc6baacdf4287e70f03d38ece2b523f57c3a74f89d23c9490f0771cc4259b1d6382f1f0d6ce95e7aa6002104c2571d08f201f57cc8058628677dfc7c9dd631f648327c9478671291acac13cdb02d54c0e7a7ba5899b8757796d976e97ca64b18af462047226",
+          "padding" : "3041300d060a60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "372a2b118adb8ad8f08f5a1d9ad3688c8507591aef9122fb295c7aced53d3ccd26854a348624757e008de36dcdd1367cff7bfbc94776e762a5c1fe61d1dd2ef8d25e714cc68c2651456bfe310b2c61d170bce07d2d6a574eb6a4fcf0606956d6c18a25406ff80c0e153fd8d78dec66d319a31080906150a8fbd3a6b5a42fc8345be0bd28335baffcdeb458150327591770697bf785cdc1774a34ec740b9ed76f386d941a81e0bf8902f403526797ec5bd5058700131bd42c9c1a42a7f883a85592679f1e81647f7a60981fb5d0975ce03366d4bc5a3cda125e6dde4173b4b99f674e5feb0b94ac15e4226f1817a43761b7871a82a8d0b5a22b30c3969eef469127bb01c3f8be5e35de49c41b3713ca204d750e191a5a303f03ccd67a3d3fc1162b197cdda6cf604b5d7b36c25930f5ca5029f071438fde1f940a27055cdb0a902f3da6f57f28ae670ea2d3d5554c99c967024386835b604b0fd3f148ab081c8e79da6ea467ca16f14c938691eeb831574dd35eee97a8ace57afacd1f5c564db178ca057f596f5f667fe7a6b938075c9ce3b110bd12ec2ba3b82c5eae0d12b6bf1962496bc7e13e4ce04de5a1639c261f9562aecf8f87211821010b0a32b28a4cd6b8c1818b3ea248b5f11ac9ea9372121f30bdde55f28013c9713761a2c85fe563c58c418c08081fecfc178fd6b64c6ba93a9cbd2e7d81bb971132156b03105d",
+          "padding" : "3041300d060860864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "5ac94a9a7fad561012e21c69abeefd2e31e79c2978f2512eb8a3d59c50430c0ba3ba47ebf001b7cd0f6b38455255c3bf241beeb1b4ffe47c8a32919ff9e7aefab02352d4a95f2508d35409dbf0883f2b9d6ba8963c13d8a403096cac6be6a61e52c6a62e416b98036104f4375666a9566e78d3be53708a41f0407d4912a7da03c28d0edf69e6dac1653f8edf05d081a637e3e179d30d595f35f7e75ff418e84991deafec863e100e758de855ce51c1d047fd2c52242ea4f36b0d5a7690b784bcc99eb09eb3a0d434e12aedc829cd9b43fa6d4d2dd6566e12295b25c9a204b0c50a65f3aa69ca20f8f1f2036067891a4927bf3fe00ba892ec904a6e64d01eda8c224765fd3ce14103cf4d4b6261e4dc4d0dd3ab112707f2ba113baf69a56324370689302a956f9d1b1042a9e2baae8d7ae38582f597ab86bfec08f99e8970df218772bda2076ae24f2265fa1a2d197d78143c3daced75e66604098d0587258eed61509cce845410a18a81ff44fe8b46de83909eb0ff18f7c99abb1e3763bc09de54d07500626bd5f11f21f0ca62d1b8cda6297d7ba833934c5a94c60f6a3cb8868a8f7cadd01a154f028d42c00097161253f223b14d7b3656405728804519fd6b903658eb0a56ada5c08348c2263d30b3b476bdbee5810f0dfc131527a5669a4194cfef11c045336c4d60a9966e9117b1b5c0331f9eb9b1669752b0b259bf2972",
+          "padding" : "3041300d060960864801650304020205010430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "88ea7c7ebd2b87ad0909f3c32cd4a460d33a96fb7e5c2fa353245e2f26ab1a6240c895ce28c94af7289d359836ff59dc634556bbac9689d33bb9515cecd733487a3e3b5440187bdbd524853d5102c500975db75252b96806350d875ef933f64ccab351143128ad81e3a02571e5b4048ec58b5a8f774ea5663f13f3e80f9452d67804c142b05ff2bc11de1d2ba0ec0b2e5e0f330006febe1fb470c93a424a05e14029834787d85f3b9d2a0a508a90d00c93ae76ec0a9009344f37c433ee15ec4831a0f14c5222928c2f4af0e6f581a77b3c8caccf5f61e46fc564fd2ef8c29f6ce07257499d70c2861247e3fe037cb986a782536b4bf05ca186e02fa5a5467b11a16f81e6d5eb9502e5d74fb207306c1bca443480b7fb69222152543892f8d4521e18a63690d392dec80db59f9e391f1b1eb733062268f9e5d9df7271b29ffaeb58563bf1eaede746788198afdacfd5443dec21e638e1eaf32341c2dee6a2a46b1a22d20b1c2ec698fefb5bbbeb3950e1f16e75578fbefcf5ce2a65a248d7dbaebf6c5ac23207ef7bf1ab0f52cf0daed998022efc6dd3132439e69b9208abb16dfe4d75a0b87edcd433a62b2be284a68d91ce0e987d5b79bec6924fd24cc030b2720a87fbff09baf20690dcedce53ba70a24fccaf89fe7bd6e70a94c957a910044d434b8326c4cd3cf85d2ac2cc41a4a86f336975ddb73229ea1c46c1637a3279",
+          "padding" : "3041300d060960864801650304020205000431f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "35f9b145c1ebe1e46ade2d5c23d421f944fc093ebd2de01e4a394954b55331c916101ce35eeeb6894e1aa41de098e076b18e258f24a9614581176ba9a5520993d9f4ceefa40943b192be0b39e27b6cb6dc972434d99150ef0737a8f2ceda8353013f0e74455dece6e0364168661b1f394c33f5543d77005feeebf72dbd5e553dc24af1d6f22042adb7ff5aec1ca4d808b490ded1fa867d15909b723cc0d82c45e0d4dbac745901d6f98c73b0fc64bd012d4ec94bb3537b4099655f3e37ba3fd9afa0f27951f57c88dac0658e73e9622fac5826fbf9386bda7ac59c36ca1350a5639215c6c5dd9c22221a8f47f413583a08b6e7d348db552db19dfb245276566df9698fa3685549ed93b95788c918dc4d3b37eb6c79a3020bb61cdc770242325d18b21081507968ae90298986903a55d7f3e4fd79b21bb1e669662a9c3e53f8d43aa201e65aa2dde0778744b2496ea2d9cef2099b68b4090b8dd73171ef95aaed07c4094ba842ebd4155e2d016ee872593bda7f020c59f3911a91d9f4b52dba9a47583bbe57fbf6603c7275de7f49a416440579ca93fedd626d52ce9faa51edc5502a9f28bae780e75cb92fc2a9453e7299d7783745d7bed7b3d1e54224f22f26668ff129ee7b64f4f065ac95b4caaeddb428035be9578ab51202bce32163a5f2b14802698f689216d9cc018ff1f33311f0758d99223a0fcfb3d5e6b451ef782c",
+          "padding" : "3041300d06096086480165030402020500042ff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "7658eabf44cbf5777f121c459c87744aee55b520f3163f9753d7c21d6487dabccbdd6a54bd8186cc5cd68fde76e6eaba46443ec0a750a1824e7f8e7581f7b57949cc6c44b5a6bc08d61178617c4ee99ec700053562efee3d8c7d532082cea526f6e0949b686399f15658771949cf6ea8eb455587fd328de1315180df149bf764ce52536c82b2d1e924e7b7cdc09d11f7e8e8e1279cfebd39b8dd64902206e3fe437697b0cde2620da6f3252d09e2ceb52a6bb1a63b407d3ef1a0ec2d6dfe7a413dd8e899b8da238032241514b44add07e2a3cf37cee9cbd50bbdecd386226b08020652bb651e292fb4ddf6a0cf8c3acf9ba13ad90e74055418d6cf0ec2dee44fba207a2052474c6e397a7eb30a021d2e44b343624657d4753706df893b031395d0cfd831eae47775b2a4ee21bb36f294f26a1ba1011d16d5a889edfdf0f69e3bcc10d85dd89f54318aa6403ffa0dd3711516a0d13771f04a23c7679a2fead20c57f067e9feb5f43729bf6351ee3bda720d5f01d56688ec2bd5f760977beab14b22bb72885e2b7f43572c0bfda433eb65e8f8c7da81414f96454fde33ceb6775ae73ee119e25a8f54a9cf33922fb06def12c6c6e3cdf01134a62a81412acb67b7e63778d675d110d8fbeef33db054737c9c99b86041e96a13bf064264d3abbde65af598cd60aa827f4f7416d3f3b0c622c038c7fb63ea7c10691e4900f0505a05",
+          "padding" : "30850100000041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "5bdf25b34b0452928d5616140daed62cb7916283165722a98f344e2fb86028f4a5a6459227502f558ab0e6d0591f28bbafc7fbab5a5411167acd7183936d072c3192d73aaf5f02ad4d31d0afec686a6c6c73cb0426c4320b57b73cf6dccc2a376d0cdaa2b0f86f9aac6bdc3700e5df7a75fe69881e3e0573167f3b8faba3d7be21635e7dd10ce82c7cb74e97611415f7e283bdac4b186f7b0c4e9e803a9f19220f686657300e4ec312229ff8cf69fb780964d14c3654df79903fae9969058533a7d0fc29f417f98c1c62aee7eb260a318404e64164699d18a16bdb934e5beaad513d6bb7bdf1f30c89eebc2cc02e623aa7f52532f2e89122f50ad8be9cd3d6476d815e721b789f148be254731e4d5236a678a5894b939de88067a8f70c3ff5355b7a10c2a624d09fadffe29c97e6c2b655b22cbc8f99a1912539d034537f29c343e94d762496ed93072940bc2d56bc419dc584e0f984bcdb4681920d650eac7bac0cf2ad14457566dcb2c4165813aee4d2891adf8979bf38e6d7a3b80073ba04c35b2d161575edba17520fa709e2f1ad8ee43ff5327fb8f40935b7563c0a1487701e964b282c3e5e294b5d5cb570d18108c2d8fb9f9e2419bc154e1f865b2512bcff2424a690afb6d0f582f4b84a41e4a211fe57ac406db5908ac95a5a26d7de6c3d7b4b27d4a7919c8362293e8c8dfe21675e800794d31cb96d9a400c15df4b",
+          "padding" : "30463085010000000d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "6c6f4014c6ea5c64e868215a495fb2e805065458db2bf01987d4457589d5735582c61ae5648d93ec37e3423f721311b9514ba7d59cad19fe731740af194225523889c451eddb5ee1af9b6f3e8da6a439f49052ea041010d0143f2abec804b0d6b1bd1a0336e8e1bf3aa74b817c212712f649862c68667abf57e0aac47b6d03de3b7099c7384669afd0b5dacbae4bc5c4d6b3bf52dfdc23c465d5904d6b6333ff685edbef1f9cdbe5912b4fcdec6c6be4ea77f3d913f47b09123a9d3afa48c231453063ec9c800130efaafe7beb7f7cce2ca5e3ea43529e68d85f93b11392e9912c9ee4b6df257c76d01a18aa6e6cd9d021d7d0d0309cb18b9f1e5a2f30972e57c5c3e12a4f5c37680bc1d1bf68911dbfa79553d993d7a9b197360ea9ea9ef6e7667b23b6eb1067d8bdba19a87d302c7cc627a4beb504860f17b89ff4e3fa7600d9ab651bf71bfabd89166033cfb5585cb6b2356391bdb06cfd034a9fbf467355ee91e19f25a9cd66b45456b50c8133e495e22075374374fcab1d373dbc52d57c1f38224b1aee50c8f0ffb34a7182220d1adfb780548289d7690ca5c2f0414c80e318ce0c62a3b74b793c34b708f1dfa1f87fed6d0ee5ae1813a7e881ef99b0f3c0df8616bde1aaad8571e106497b56c8515ac53bd24879489d7017f7f9dd182b5acb49bd3b76bac12ba7920b1c2e4f0b705a99e29c93963ca897d152329fa097",
+          "padding" : "304630120685010000000960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "8808740c5b391010d78d9daf18b3108f4c94a0efedd9294f73c977a25d6fb372535d5cb7a4a72455f1c540097f8763dc93748307c3cd75852a572d07030c1727dafc70674470e7aef12df09fee2eb53ba1f526de8e15599010a5bebf18d7711a82400b757186e55972ffc4f6493c1a984df0cce9aa53419d4caea1c4f4947081ef3ec9e7888b5b40e4ee943b2b2047ece7b7c63be08660408d8cb061fffd6b43b36d01d0617232c3a6770ce2a6ba1e5e0aba86c77af3e60c74677ea7e458719aaac0b26bc57c3e115db330603f2ff5aa523bd6530b6afc32e014b69a4a929cd83384aaba6ff6220d43bfbde5cab82f572b8d8fd9e1a57b8ec184f48fa174974ae43d5e7d1034301e1f656554929891d61929b43f77023c389bd651dcf5f2278bd9c99ef7ef61a46c1a1ea589beed36e80efc821e8865412a9c22aefe14940ab17e68055d79f328eb5ebff9d43bab4e829c51e9dddc5e8900c1b82381c9e5a3fc56f922a95e3b56c5d2e9cf2797bd394c0fb62a47a5c54f19c76428ecf0bd2e5e3b845a1a14f14660932a446c9617f1b7418a642212bd3465cd812592c0cbcda5c88c8820c514f0702a20c59380ae782190f0e2e4f5f6dbbd296729d7f81ff365f7d8f273f49d27e0e1224930b48f86085a702a45cadb1aefbc07eb0dfb56c2628313953befb3988b20f9bdfbc6481f1816a05344c5a776ce20404897571df934",
+          "padding" : "304630120609608648016503040202058501000000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "c03269d89ef851b1471facf40576a4e6eac16ac9d530f70b1b8af39a3d885b263c893536c943a1449396c38389ffcbeaa8bae8622fb327a2191eac27c1dd682c40ecfbbd977f7988509255a57879940b1e70f8f0252335e128f092b50157aaec86b46b0cb15dc1da05a593124a19a96889df23b6f5c6e2925057e0438aa79acd8fe8f02fe9bf6042668e9e8db2b2eaa67892e61852533e556ab5680db3db94a098c65e5b45526bea26c2809c406871bc32db868630890206c3ad3ac83ede31d8911724af0cd645a7cf99701c44f25d4e717de38e8a6972c9956ca14d17f66484a6e09c294911e5ca70fd29cc3099639f37e832e9baae0031b7f0e2825514683b6a0b38060354c6edef6d990f22ca88154b2a1faad0ff249a7b6e6ffa5d5a1b76534f4c8bfc305bb22872cb762d081485832ce74e9954fb4f6991e3b9adea0d728893d5511ea80a74562d126cb91e1d059621df2e61f59ef08b8f1dbf61ef5a983b168148b3cff5bd8fcc73630055fb50ec800de1a1b758daa39d79f17aae7790ff92c760d4286af58a8eef669e582d44d772bff4fa36d998b1a70f3a57c530d3b1416c1457903ed760f83a2b211c69cfd99d2a19cb604bc6831ef52338985fbf6f0ed657034bdc5cb528f576aeac77500717ff7cae5aebd6e8e5b6e7707babc79e0ff101f72727424bba8a9b50304dbf3843c63d4a4700d544d55e1b8634d75a",
+          "padding" : "3046300d0609608648016503040202050004850100000030f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "20dc09d6978139edbfb570a17a39704a662b77fe4047037275064346e761f2e198046a42ba19087fbf5f44977615a8c3d26950acb99ef1aabb32a99a5a069ba7008a0f8594c4fbd7010ddcdd71c2f5bd2ac972d4f2434cc662443e280f2e241f0c36ed47c276563763d09591c80d1c77fb1fd2ca278448f3d183fdc16f1d9acdbdf94c7a2408ebb7bd3883767ffd5f7a392ba1945c2ab9b03da850e745432f0a09c7c02e7065c8b55c3ff86b171b78b13c3ab933ea1a76c332a2690c852f4bc39e7e8cbff8d71f1d2e614c611e4ac5b9f6340fad1db3a3484fb7a295f9e7673bbaa8ed675da4915eaaf0b3cb882e9b9055ae4bb8ca513762c73a78f12f42bf3cc42c8e37eec06f7caf1da5cad92cda284d07de75aae9681cc4cc9974e2683d4a56a6af6c792f26a281e72df45ee3b2beeb7667e2b254405c3af92889e6add37aacd2e6f1ddb106d1e7de901f285ec7097b15898443d8f368a0756c2c937ef1ec177736e94043689d6ab04abcd7829d58e888335fc64d19783ef08544fae0ef5cda771e481217c09ebbc12e41981f56b68c4c9078172f575928c7003606f69c3d75ef2b397dddb856ad5625035c274b5bfdd6ee91045eb8aef15004160b98846c817cbbe8e608fb1426daff941e9f0d358abef9d8b52b59d3d25ff41a44cd1168e6ac32f09e86569adf3dd11c632ad14c43a4545575f4461bcc29122cbfaf5440",
+          "padding" : "3089010000000000000041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "380c5334185962bef9ee8ad0672b4b997fa0d1be3fad6300732dede2697e5900230c64f93ec093263e62aeea76754223acc93faaced53e558a7147b560bc19638642ddd82d1b240a7983bf2d7c70b986be5cf85abaf28b51599e8d3d50d49abaede889ad06644982aa010d86f3f9e9332443bcee685dd90d2b88a26b41a4bb3675b6242836a168917d22a5eebda2800d65c33da791c3befbb2bc72a17976c027686f967632ad94bddcac0559e82fce6918588f814dcf65cc3137344dd84ae82c00469308ec62e9dcbafa501fd6091e05888a28180b8401a5a2098702e5bc3c8a218f608586c1252cb5ef81bfec154198f0e2af6993e4ad57edd8f74f1212f70509b459b1058584463b96925723c1e9537086356887b450db8525d04f4e53a874b0919e663fc9bf8bd2848986054d56f3766fbeaac550565c8736b65c8b21cd68c3497852bfbc6f9c83f48e787fcf2be244017bef9de6c633d2906bc3a2907ebbc177aeb685e2ffb25be2933c39e426ed28046eb06dd9f02fbf133887fc930b44ceb52a7e45011d1cec76d4937399cf5f5310cc09f847c04efae92aa80543be893dab2b05c30c9b46dd8f075d4d03a8f5c6c07f059c740fd557a406f5147573a9d92c0a832ee25959239760ca0453ec1aea8a1c6a2b332d2a9700236b975b697640082c6974047cb2d3d39968761202701420486e1e271c5ee495eeb7967bfcd6",
+          "padding" : "304a308901000000000000000d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "df88a9d6ac58442587b86def97fc8b0bd5934b841c15f3f1bb78d684060ad8d58991bacdd86880be01e1921d2a0701834dec7b5eab1ce4d6f11c314d4cd28fc7ea6fb63d4bf49c78deea16ec7ad3d807e57dcce387f21b643c7efbbcb36ca23d22ffbfcc27ae5c019a9974fe1543ca1bc894abf08aef39e25f4634eb04f4573862a73aff683ba42a8bf344f8840070dfed0bae179a314d235a6930079c62b22ed6a0d945d237832afe911ebab772ba0ab6f8ce703e28adf589edb836b120f370eb2c78c34a9f5d6258b133f350d211d2ee2955a64d0c7bdf53e957ab1ca4499684ff828aa51b844015bf527f89daf8e54f315144d0ca426fb67ba965a92fe77aaf42290609eb6ee7d9c098b4c396337a4e667baa50ecfc21d53d43270efae88206f4afbb58e94f43ba42ff3bf43ff665e84e7b2c6707d51b71155a734a8cee902d55927e1bc020e72154c06bfae645177142b0d331b480221c5c33555b9ed83057543219528d118b7e66365d9df9eb381d2e31da9b0f6d8dfcf30edaa7da7c3dd2150d9f5c52735c05723995d348c7bfd9f6b38000848ce4ecd8e91b445300a3744e453bf36247df120e5df0f9686d99fb9a5847fbea8b09c2b64003daf243c46e017190ba5a7f7cc8a3c8d3af7f348a757e814f673a8680311769b39288582c9d33de02b2f20cef728cbc9de9629b6002dd71f8e6516eb1f000e17158e9d407",
+          "padding" : "304a3016068901000000000000000960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "62b367fd98766786960949acd2db1e084830ecad8dd52370500e54357ad5cd1f250274fd3108540bb54101981e326949b5a671f582ac3d05a4aa959be04754f1fcc20f3fc43ac910455a217579cb05f50abbc9091fa8cd76fd7cda030c899cad2eb7cd76ea3a3749d524cf08ad4898382e48faf9d34113628280b306e0180a1f9b8122bf8a69bb53ed19200c45fef52c8a41db390839696c4de65d287f0b90afb92d830b7b96a84f122c70df93db43a52876aa58d16c1ada28fffad42995075b41f0117d661f145f11b8bb18982708ef779e27d0d2303930752badd2b73f5720812c5626b38a1cf9b6a759c474d8256b668d50050e00f99ffdaa111cb3f4d96f8f6890ac908dfc56acd0076a6aea13de904acdcae17dcc8d3aabfc90f8f7a51e9f430e56ca8fb0ee3bdec82d2709f514ed037255ec7fafc22e7a396014ff7c479e9333455ab1707e0b65870ccbfd0a3f17b8a33c2fa3e06d9d2b47a77c3ea25dfc95519f2f28e54ed7308157965caa26caff01f64db282a7ac0f51fdeb3d6913939f1c8686f4434a2f4aabb0692ac2b09e269d74a83d8b5c917d1275481dda53a9b040f533b7307e2eba6d6fe582f5a594945182df5b1a7d855f36bd4fa9a47be0912c1be5aea36ca346c6f092157111c89fe825ffbd7bc9d9a5bd778b8c257c90c6677caf72c176efe2645f413acf5616fffc9dc9fff34d4d312a0647ccc296",
+          "padding" : "304a3016060960864801650304020205890100000000000000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "ce821022807ab70f29ff8ad554934d4ee6dbbc97073bafd17b16a72d43ee3691788048afd16a781fc8c48e6c4fe164a50ffed9acabc313531b77a4e3fbdb2bfe73016b3f58da588a98b8670b94db5f21f29ac475c4246c1b7bb06d136250f5e70cd3efd0ade5a107eff64d6c0269949935e4779161e0e0047c5ff6191bb3a7ae9c0188a1928807d694e0e5d60e6e04ab6ec025d958f97e9fd2ff9bc1068600dcd227bf02ec37811e48c2c6963276a157c0ba580b5347d44726626f59db6db03d2470b402325c1173939a96dccb438c81278a7a9ecec51637d2003ea74d66262a389b0937d5586dc4d8d86175625bcee7211ba6b2a037a156f45eb450073f813d4cd5bd7ed02e55cbaf112cc1221da9a0e133733561884ea82e295f8778603e9c438159eefeeaa7e6176c1287a887d97ed394cd37832db837c336bde154d525ea5190d0803fe2b89f12ac8d0744dc02b688915064fa260931fc0d46c2c630b4eec48df59e8eed49aa81f903a8fa9a35b83dc70ab658e8cf9c9b5dd0b12ec4b4187ff7168dd5f5878d1ace1c5d101f9cad3012600b3193c2968cc29a6fb123c640a556c568867f8a18b367a45cfa339615c93a170ddbe5978af9c35a20ed7329de82cac130442813c404c2165bd32437fdbcf6eacf2b07df7cdd637f63cb0ca0fd427ef66292559cb5aae38e4f33400b89d1adeb7a0f40f4dd0f2ae79702c0fdb8",
+          "padding" : "304a300d060960864801650304020205000489010000000000000030f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "b32024e88a28fefc022e4d54eb5e820b5ce205d4eaabc87d3c8dd1877cd163b1bbfb3d3d29c3da78b98d31f2478e8cf31e5238a1d2849b39d4f074ec3ca96bbce4c7364f9a14c83e363ac17a36e42ddbf61fb6638a0307f3feb468ef526b0b1e1d23030fc6eb323f405c3e34cf211e5967c8d84ac436d1ef722650117eb5f74d4ec6e168bbfda7e372c1ad828160937067cf0bed8939b8af2289583f459e6a2e43aa942a78ab811c5f720cdb92cf6357f995dc3c176be981ce4e86be3b63bcd5ca84382031f16440c8cdbaf4327d914166af22321ecdaa02da8faa12a5522de776f23ff9024b60446bca0da45e5e348ecfebb7c85ee4952cf6b543019b5cfc9108d9edabed761b8522e49354fecfddb24fe08154250b2524dae76128f3364f78008a414d0c01bce320b32e8fd8bc820d4598e5a818014cf8ceb119e991722c95e2e4380f66d3e7a2e96b49cfe06dba26b3c6eb4d67f2c61a9864c40230df50b784145be40ad067c0acbbfcfc0d706b87137020317d5d5cedc0bbaaec40c16b5900541eb2c2dee9227f69a006db0554b7eabbd6f5789bddbfbc0d729bc36759cb23c47cb9b0428246351d254735d92816f8f1cc1bb2e3030fb8dec028af473a643997d621b06aab75d8261e9d6e17a7f1c222ea7b4f5c4204a1ffbf60a7a1989fcd0e9accfe8f53ed03dc6ec04ee4ffdc1ab63b581137abac5995afc7c52b11b7",
+          "padding" : "30847fffffff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "0a95093021bc15ab7be12947e892fc72f12f5cb76600ee3adc0e536dccbdd235110658ff7d1d63b242b9e41ce4d6d8d20ffeacb59a86dab7f5729328d3f5d9d886e88d344788ccd8ac4daced3d4c7eefb5727037d5c073b3abd221c95207f2f7344ef4ff95ffd65a97f4c60a3a75901a616c9af07571bbbc25a9ea3f5caf40bc2790c824b6b31685fc92438b735226c1a2f730eb8596954be137182ee9bf0ba68606006c262d7b24360cb4c08dd5e0d144f8f0cae94d691aec91e0efc1c92d0128ed99ea7ddae3bbbcdbb1669485593a5313ac42f273525fd8dd6337037635571f05898baa6db86fb576054c2f62f9ee695f7bdb54e8224cdd914ce9ec073253917563f9353164b373a7e3d65f3d7860c9692ad5ecbd58ba4fb1c0db705aa2e707332df7573c704569ac92942fc8d7f0c49e973a71a7f7792ea8af8fef8055db774ec12579c9f32809101ab0ad92ffb5157f26a18343c3594a3183d2a92c293db280fc4e4dcfba02b4441048498e3ba8ec1cf92b2f54157349161c90f7259e2aee6572218587b99dccfed4bbcb6fcb2cb9fb2da566d5ce7075e5a8e2932ba467fd027b63cb7bdcad671c1c84b7647598506ff0a572c1762f5a3d9d84860bbae6022e4578d300c507219185446dcef47300dc156fff1b1806e2322b46390b4f38d65c8124baa8af2439ae0d04534cf0d53f8ca768e8c5341254885cce7410a06e",
+          "padding" : "304530847fffffff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "6f6718083ec44daacefd671314a9b2740e6fe164384d24642bdd71f6233d5de5bdbb6045ff38a86974822016f221d7b3d1c0035ebd7bcbc3f1d4e82bea0346f979242e5d279b41d05e30040d4994d8bfba56724a734298dcc01e7104814253f12ef0f1f677365a27173bb95aaf805e31a305e81d382142447d8c63a424a8cd5b130266659969cbf65f7ddf6b547d4e1bb752a96c6186bf29ffd52a9d8cebd61ceeebce3353b3d9797c6d1f15ab1db5d83b56b7c0b5dcfb10d68c963a7b819e2090645cb3b2be0c85919b114aafc7e08db4c5f05662a74beec2ce7f33a020987743e9fd7f580c6b17399178aa77c230bf1b0afde4ca9b8d5cb18442441f4ea54e5923adb44284cb0478965b5f7f50bf0f3d36eaf9210a5fbaac8deebebcf842d70f2386bde916c04120376c876e671f8df173bb12cc11746cb1b3a7bffac5576fd2fd670b95750b803c8edbf761f1f321251110994027bdfc300a0920ce03a18884d28b4878a1dc6ffe6a4710b37b9ec252b40f69902b737267f0cafceb3c8587c5e484f79abc607bd28135f88ceea3adf84153013afe1b415fea01a6e95793eda64b9f6f701e9b6a51d0f96a04f74a5fae2b19db2ad72d8cc358367cd8b6391e12a852f8963b559f863ae850777b2cbb602bd6a9da58b25464aa24315ecc78c104947b608c41d3589798dcf910fe5279c128c99d6c5467d7ddcfbe35e766c9ac",
+          "padding" : "3045301106847fffffff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "ad84f260175f9a0153420722e2d76c6de0d2bb38edccf510041f35818a1802b679b8b1ba3688ea486da1c58a0a22177c500d92e5eb880e6ea0edb543c30f11733e55167ef90bb3d91e0ae27ca2617f3ddf5cf2257335458ad65959eb6552df443de1dd3128475ba5db130524093007b5d4b7c6ff85186107152523b37aa1981e4fc995c1045a018e3559be52ab580eab73424f0d344612be29197b4bd571fc34287c987f090c639099db693f9b85368b61b6a506a283116df3cf651880959d0c98cf0e0372f4467f30b57eef683ebd057d6dc8a9b363bc9589c10edce9c522f2f6df7408e9453eb9439050c9a01eeb95f9a54a64c12bc8cbc883f23a4885c81b0d2fd01459cab54060721ac7245ab1b4cdc6b4c1c9bb4414a3d4a92d273b5edce9f947b9c5c238c10fc383461e3eaf11da8677e65236e70ff18db3966aa07cf596814ead0dca523081b47798dfcc07415720705a888b21d62316c675a8a3abf97deee7641ef7418da715ffdd00de54706de1bb458763142eca28aad1ffa928a06b5bfcb28a1629f1a606cdb6d9af8c0f93425e57cc1dd6b00b0bfbedb8f2bbf7f462cf677dd4483e3178558a0d6ef3cb4ad55f5a302b8d3b4d83ebed4accec1dee8a97c308f86197c4a9a2149531739ac00d3a832cc7f9cead2e8c3fc7c8563040503923090afad5b37266c297452b527211526230bca293bcafda4423983799",
+          "padding" : "30453011060960864801650304020205847fffffff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "056b0422a3c52fed3b4245e6d75557810d0605df9630c1c82c2b2e2bfdd3321a5e5d27a5c09e5babca9c489f104c17d1b185d6e2e471940869c65312c8c5fc3bccdf97b83a0307847c81bc775a2086327c825f063cc5ae421cecafd00651eb9b4404e8714ff87d753e264d91ef350c41f9d78bf48082fe70de64b29da11b139bb4fc3057d7d956c0863a1ef4e73dfdef88c7746175298a27ad247d6433f3328d4dcd81674cc58005b2383d175700798a55b08d4036066f8a42e021a455a753911a26a0d289f7fe0e2e47bff5e9ea690a5db22e78945fd08337314278b39c0c793cfb1756724f29a730355c969ceae1b2f5f128375f2557bb9f77c4d4a0dd5b375435afb0ba57e9a8535e8b18639ad594c38ed77f53e441cdc6b09827ed9cfd2eee3d8bea950f36d707eed98f4dcedab58ef866e61fbfa5fa12a42e776cec9319e578a3ec6878bfcecb073140b0c1cd3a3b57b7341f743a38cb203136a49cb037eeae34dddbd0fe2b495a508567514f9ed2f663325aa751dc689db7e4fbf94a4a42ece4b7fec7ba1b32c384cb5b083e3d3dadadf1ed303a4f3b6536f648b64915eba1287823834ce0fe9e7726e8714adfca53493ed5828449f1737e3d0b33427e4a1b34341272a8a9ebce78402abe4416292d7aa7e342402f92ca5284369fc8850bcad65e38af3848a5dceeb8b3c2337355e104a6f8892079fc4d140b165aece0",
+          "padding" : "3045300d0609608648016503040202050004847ffffffff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "d5b62dafa940c5f752457503a90e75696688f04e3723f25ee50765f7061e44a4a02de87395f70f0f13c163fc6b458d3df6bc4ba862be1299858f065373d2bbb5d61c8e43c522cc92ac612c6d508593fc5bdd0e025458094689298a1e8acd76f2cc777d86a430c431c7b1b119c619399ae89a789d99a070e2abff83b93c2a79b8a066a9561021771be167777589612053b3810c12a58ae994ef56917cfac3fadbf9e0c5538301ccbeb566c3736717e32d358e705be486b19a66533d1898fc4771e87929fc25ed6e76f16cf4b9e8801a6846fcc1e63c700e809ac2e4347735a17abf9ac04f6a88fd12a14d36370dafe73e63c802b917b474c6b1bf9e39a052b4193027c4893757f92f6ea8a5bbb7abd4219d561dd0b765408833a84ef118d50340676f8e108024220968416c71372b74c5fd678183e632e814f286f329555a192d2d0d996d47a7de6ee27ba68540adc9b1318fdeb6e2eac326db64cbe4ec7b6e0b019c5171757600eddf9ce00a30591e0fba2fe9037e14d8db08be53de4c89b14849d09022e1b2e914045d9900c80db8af2985c19957c693430ce47f1492c1df5e43bf22800a56be0551dcac39c493db50fc4d47109c93b058c487689c41c5523eaf98e88b792740353ca54dad3f7fb0e143b85f90493716faf91a43ec5a640784e2ab58c5b268ee44ffff1a41b57373b2a6f605067e1323a6892a0f0fb73f4249",
+          "padding" : "3084ffffffff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "7a4af45432969bd549b2425cfed92f2632f12a13d73f742dba27c886f2ed487ab7aff7acff1dfebb3f3c56b5ca804c3604c49fc328e680c3e1490e1abe753de6f798b7a4472dae1b7d992aef93aa1712fd2b016ddeab87557c5309056aad97a77a63c9668067560fe99973e78571c60e0c41f91dd9b6a6029cd911fa7f9d6145d34c4f49a46fdf0966b2994eec3707a84fc3a473d6d0279de1e8c02a50cdcc9a2784aa956d76a1aa11aceee7032a196cb03b1d374403700757c55363000553c18eed69a31658c77604792b2b9cef101d63c9a16db88d5572be93af8e1b683801bf058456dd033c12a7f4058bb9e55a8d318e4af0c3c62dc045b6c247c80a018485c27d107f6ff8d83bb234f902568085079a6c68042b724577ad18d82b470bec73af855d0b51cccc505fe3199bb7ebd332e7363f50743710a4812240114eeb1184a2bc79a33fcf69f29a61677ee15785d3b419f3d0a82fa32272b05b85495bf1ce2d2e4560aa0983a393b94b247350fac856b28799b84822567957a49fca2d4da6488c7216fff1d4895fcc8e62658643974b8c299bb05fcd46158f929446a536f8564a806e6b37b3058b2465881faa8157b7ec838998fec9fc251cb33630b1c5378d39960f3835b10aefa611bfc1ad0d11f736b9e56a434d2891bafafe8b42049626a8a39325b307c992ebd46f8e0a2a6a9f00f3d7e103fc18e7e6e624760735",
+          "padding" : "30453084ffffffff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "0c7b971b62c6a539a0f1c217fdf2796fe862e091e98390e752972fee87adf3a541d3c656962aa30f641a28972bd01f2074133f2077477e474f413b5694b872622a1798c776d001d76a2268b7b00020236e95b47f6dcc83e46074643d69545d4f80978c4b127be5eeec5dc87d3e5820432a23b717d276e86ab42eb9c87bea82f602b5036d6b28cba431460bdf475f2c74104d1155cf8004f083dd257aed7048428085a7c345f6e8359bf19a0e6e7d6ee100bbf706e3c7819d427d76920f0ded8d8d1a24c35f182198eb7f3d53bd4f85a011175d2bbe62918e3e021a1273a808bbd3639bebf3792ca0f6c4b541244775976815d5a1f989ffd93e5deb1cceb61dfd10a13eb2ad6b22ae6eaa8ba8c25bf64525dfb440813c5b7486c33651add322f833483e34e16527c5cf5cd881a5dc8f75e369610a301c6565605dcf0c631994bff502872ce62ed85a86412fe40af2289064a551ff8f5e22a79049398933a6d5dfbd4d525ac67781fdc680c9c22e40c0b92a8d25842c076570a983b852957dff31361fcfee297548bbff92be123361d6253adbdd0c0d8bb9d38546c79d59c1f9a09d711bc1728e68ebce398d94fb8244f1c959d54f071c321ec9a69a255e10a69c521d9a1a7128f61169a9621845cf4bfa700729e31edfb9cb9a01cec36882a1d31f8448b63be4d98affc9e5132f171b93604c83f8a688dfdbbae596d563211c36",
+          "padding" : "304530110684ffffffff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "24e1fadf0da791af63242170a1ed87c2dd8c9f66dc7c5584b953fa27cdacb3e2eb0175086b34b402bbf7da96f9e5cf6726a06d6472b818701b963530b9fdc8538cc229f0c05d883664de6dc58e0ef822c984bc83db6266f62f6ef6b661e360a1feace84ac3070ca90ee424e19afbbb6123e4ea1094078fafcdadd6a0e7c5b3a10ac38fa6456927021e5e201d5dbb32779e962252950bd3262f5951bf6a2d092e61e3610fd9f8f888a091fe95d0e29a6b519eb1808906458780afc51e476dc9c94d4d15385a0048304beee75ac739d698abd2372f59b107bf31c9af2d6a3476081c7a9a2b1faa1b7b414090f971491205d887dee30ed56e5cf43bf5ba160d6f4909d8cc35015533de2dc7948f51947e268ea29694fc44bc20582ac31184975ef043345b3296c7776999d2b65a5ed429826f658c79db5da04d511b01c2dde23cd0af17fbb95a99bfd0cebc94598adfc0c6aa58f3c6f24a2535849e094d8e87a860e232acbd4bbec060daccafa3fa1fa8b7dd68fa0374ae4feb71f7afd9e9911183db449ec67c89202d9ca3eb6319286b7377733abe0c8b215acb640352267530ab307f94f0a70fc86431e7f1920e97a2f67ec663418350a820ed5bc2df6dfcb05601d24128720eadc5068ccfe7d1df0391cf0427c5555b611f4c9a5f3748e525bb7d1de2bdfa37b8787917fc6f72877e2b9e970068982db3accdded9b533402a0a",
+          "padding" : "3045301106096086480165030402020584ffffffff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "db414598d4c4387f225934fd5e4c72084ff10722cc898dc51c2c1d45294b29ce712a53a09b710108811a46b33898e0fcbab281e029152fce0b5c29a83665252c7f205993e1f13d9f66e81e6e9394b82f107871cbbd72a44f04bcd433ed44e05c33029b0b5ad1e1d0e0c9e318c2c9b67078b14b75222c162193635f6dfa120429b1e0a4903d9edc3b503909403f2087f3f1eee09628ee7b74489a99abe3b7c7f6d76dcea609035f594194ee3c370e91d6f23d5d397235b07478a61bf983617b999a39baf9b008f34b615ecc2a6bf1936546dedab2b6082066ebf3713f6ba3bfd13733964a8daca273fb2cc11f09658ed20de09095655eac231c5141553d5ff7cf1fb90b4af73e12635b190270db4612a0e3e728d2f3e9495beecb5f05b2d3b235dfb823e1c4dbd5b6944d05f10987a6eeaa1471307483fa0f089b1af4f162eed20567c71eae78f4a409442f05e8465fe796fce7b2ba6ff729d5688d04d4af0f6730836abc1516c3cbc60c29e9883ef270591e98588da2b164afa4540e7707bf162163b5656254136b02bf1343f75b03a28e57d1cdabd20d0a3b0043d80671235e8f617748d4c5e2e574376f6b4af3d4d9222b0f660b0fa24ec53d5532daf334b9da6e5da51b07249579346b987d19481ba501237d82b0da87bb8f69615478bc9faf40f26d190b5dd160ca75226842db370080c0e861a944f97fcaee673db1dff2",
+          "padding" : "3045300d060960864801650304020205000484fffffffff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "591963c2164e2ef706cf711051010a9bb0e6f3bbe51e77b211431fb7b818873b0f4b62da58f970aa0f397dc65ab9c5a2cd3cb1cd1bb7b10a14d56af37814955db4e5bafaeb5e22956f2adb8b37d7db4753414a7551c287d618967bcd138c79ce2a8f590687285c14ceff93e7acd18005e64221cbe671f2dea1ece956227893031e2b4241a7f7bad418579bbd261913be9033102a03cdc1e3f509cc1597863c7a685921ca005011ec59c22382dede35f94acc06a19660f812e633d730b6ce73468508baf78a072a6b8428bb83f6c5d11df4fe14000fb0d8ecb12f8bf4fc811c1218d2522930972fbb33e0bf4927f51f5921d58ae4a63ed7499761937f482a22ad45efbe0d64e6304be819296a551f958454efe0685b921931a0e5742c94b8fa23ef472d0b718ef96476f27aa87a18562041ba1223ea3401df10ac43b433ebb8f434dbbfd1cdc509956df61c49bf6205a61b36b0df718ae108bd41e91724048c8b73fabdaecae53429ab2b57c7e13bae23a148b39639ef331e0c77ddb4068b1699dcfad43c7170e41c2446011e58ce1722b8276cd69365f798e0bfefafef766e41b3d0b59c8af8ef8f073ac6f540a2ddd6a1aa8628ae5100f0a2d9e2db9eb449e3d5a1c7f01e7cd52bc341b38cab3b26676103e19800391569f73d896fe4440bf3e97cec301fae4260fecbe9a0cc720f5b8c5cd1263456186d77e5c2052870db42",
+          "padding" : "3085ffffffffff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "8e09ddeb3998ab05c2e49d3b184db86d9d4a19680e38fc4ee1116ab488b2d51d7bc13c45af9611aaff2e2b2278439606cef737361c2a44f705f4797da447154ab72eddecbdf6c0120597728983736a90ffb0bdec5787de559a58b187422143fbe160dbc1ab03cceab3ad8053812a68e9dc87df1610bb68b3dfebd7ec7fed78d7dba4563e5b1a30bbadce6886fcefeecd3f6e3314087a315c1adb893362a32831097b099429efdd2815085b78814a73ed1a99e803f7d10b522f540a2b3d02c6c5ae70f29fc35ec1ff6ec8a0779b6bfcf91c509d423118efd7d9c91fd011e678f6d7adfce905555c06bbfc4bf7e2f5b8e8bad468bcd1f2b3db9a346f68063032c57d0715c7352c48f1171d32943840f5ada9142c50f202f7671b5b4a12b6b516bcccd488c1717dc49025f49c59879a6494c19e2e27445cbe9bb2b3743ac8dabe1139465b8b81939f9e2fcc90b6432b1021a377f8ce728c2bee156d3127163f96be29af1a149e69a9d3834c60e7ad12069933e11e7d6ccb1f36c442ff51250b6c10502b37071dece766b5ed55a068e2b7329ea29b7dfc8f841a7cece5319a14749967b42931e27eb832ec749b9ad8b3ae0802608eaa1fbe4223993471f72ddb90704fa645cd0d9a25da15f2e4d79f949d0e6ead887c309c8cdeff60c5d1990f358ab933077dcf5e6c04db4388da1e93bc3302ae6b7e6efba0f8d3eab4d735513630",
+          "padding" : "30463085ffffffffff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "df87b7a14a7127daff816395b61a9d9b8f6055460f79962c9561a94ee33f766f8fcf52879859f11df95018eb83abf3fd08331fc0bdb902104c7a931946a638aed114b0e1141c669d31516497945e2ccdbe386e1cc48fa19d9a3b4fea902f8fc62b8977bfd468fdf0e6b7cc2ae4219ee8b42b1ff5b22d72a0c60aea95cae3f7fc542469b3a4811925ce493bd9763a4cea8b87e3e4372d855ca61779a88a51832f72d8f96a31b5b0ce2c312c94cc477febc69d1afbf9c32258e88291d745442b153b4ad31ac376287e9fc20ee27442736d187e396f089f6ec80ec38461bd28af88165bcc5676fc0a09be3c0a322b07ebadc1e90152a50131719ff676efe3624056c03a2484e1745754c58d78a38802969eabbb9a750de6684543086c3b42a1d58c04ab222a465578af09c644e1c7a25bca4f3b5110ec89b5b8c6bc055706f0b4af09e772bd05c5f5dfd8b4e2241778d8d5b6ae3275208a016e53891618d6f6145cf5a6ca613bdacec5b75e183864c61c8354c9ec6939795c818353b8b99b043a2afad1e7b6bd2e91cdc5230169fb551754bfd2dca793124c3c863e7be8a7387ddea9409b745d952b53fca4a20cc29b6bed8bcdf5b2f51ed34721c59e0c630d08d19abbd7d95f6d12892aef338f0c57fdae3b67194c9906d09ffafb5588fb6925ce4a2580e7af10831efbe8f56e24c3e7171239af5e6be3303331c59574cc910edb",
+          "padding" : "304630120685ffffffffff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "4e29d514bab9cdc8821f688fd7c846daab154661b0fc6404b45a0e2b487b6ea8a66eb6bb7822e10e3ee4ce601207e64237b29f1e7080fa059c4caa7531ada59cd7d8d9355f382737ac4629273138912392120d5da6ab617e810cce32c67c0cd459ef2a95f8a153167a285f21b67a312a01c150ca94cd9cb6c204b1f98a45705ea48566bceb45a7200f162d30abfff33c97b7ecdf3abec66407d69c0d9bc8964aa8d5cc183b0ee0873bd3bd62d0d29838b1ae51655d2f0af2ff818730f5b26dba1570d569d271c874395e8bfcecc34035c0a216881f7c5ff6bbf715397c2d64119252598357fa9dbe2fcbd3bf76d34a35b9abb7ce42e336b00f7cd1e0369f296d0425fa40102120f76684def5c4d2cb1f82a9cbb35e0b0c62901c676959aeb8a469c07c21cf672c9878efeedea12fe48a10a938253730d2aa5df7277e401bcba1d83a6da09f06769d9d15d4c744ec39ea01135a645b89419197af49d0c7c71f8d40f578282d81f6f3001a8ee6c3b9353b458b2b3db4e66a2969940d3a2404b4c4cdeeba15648cb98989f9eed34dfdadfaa107b9d089d38153099fbb8447a7825ef41511af710eef6c227b1ce034c10a62945f40ecd388cbacf547fb44b8d533acfbbdbf13e078979aa2189aa533decb86f23b7fdae67c48075917b32457b4f67ba84b00e657bea303e23dce601f74a0aca78f6c5ef039d766678770111ff90ec8",
+          "padding" : "3046301206096086480165030402020585ffffffffff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "11283dbc06396d4c41d44796ffa79ef35040703def2dd15b591abca401e0929ea0eed828b8c495e63c13ea6eb39b646c91a57368d93f6d3546e875b573d05d538fe9bc1cf568488aa150913ac5d0434989e7bdcd86363ea056d7d95f41d8de4926861c9252b345de78986fdcf62940fc53badde36ac81618336e345cc27117533a2e6d92a31b8fdebd5d3d439f09f868d4a0dbc0946516bd833806f722698b1d6b3e7357605d2d1754f4b88371c84fc45ac9dbaa83c1f490f1c5a86ea4154665adbf9dae438984f1c7b2357d6dc51bb7da5f4962f7bdb11f3cd1eb502dae227c61123d9d62fe8ee90346601a0cdff03743576fabb6e93ffb5882d40e4acd41d8dd40819021432d035ad981de1e816a528e31c6f0670d59cee80c0f51687c27e600bddff43f4e15577745d34685c636ebf17c1917c02716bab26596800a43b80e6a46bfde3346945baf12283ac9c03fd0a8b693ad8da48576169132b730f608ed60390efc1af09e6759d9bac49a9b5baa262f071f21f701ff0cebb032b2a755c6ab5495e96c5bd28c8c3956b93eb353eea6fc832cb6d9a3da3b19abb6bdfdf8430de973dfa02006c110a8bacd705b2cf0293783728fcef3faf3bf691975ace772ad4f39c6372d8fee7760bc8867e6b2cecf2e80667ad52ff1d51dc8ef361204e66c1737b1a2ed42883b01ac665177dedc96d436b8780a14bd69b1398c2c27bbc6",
+          "padding" : "3046300d060960864801650304020205000485fffffffffff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "4dfe3bd4db47837f8c4903e0db204c2d14c0977691f66b21b0036bb849c4688f1472587fc7e1eb6752e41ac492fb40ff14914565998ec30ec3d9963c24167002e1934ad79e9f772622a5d74eecce81fc5e3c02790771c3e44b9ba3eb82f3dae44910a2a5ccb3b4bdfe05d7d0789bbf79412fc27df50b3e7ed7e3016c804705dd24e060a60b0599714dfa46c4e229fc3380129b9e540cbff28fd367f6f0fee13ff47dd2f77c04f18ff123d8f0b02dc8979c9b7035ab1533a890e49b2e19a6122e98ae4fb08978af7486e3e589cb9924cd79026a3262284f8c8fa13c8f29bfb2869a3ce1daa6f2513f939e1e9dd5c2ec8a8c3fc47f0620b38af8bf37059c24d6fe922ec1c9141a8e4804389e328607ff918fbb5e3de846479e71be55ccb4793365b985e4a2ac8b78ec2a40bb1f09ad5bf08bcd6fbcc3fc1eae8dbbc3f6f819e7e4b8f592e8e212eba13fed31483631e0bfea788de85ccccb45307e3a873f5088a3d5e6781eb5223d0e49dde2379b413ba1fce0197734a2a4f12204b16988d576a3d2de4b8f570bcbf5c5e008a9697e89ed47e837428d413a5faa1e98a73d92dae13da9802f615a37415d74e0622f30fb5f637890b28876da30cca8f36f63b755a8aa3f9f5a0490c250258200937d0d8371cc9fcf0cf8e22206a7086fc1e9335d496265a3ff0376f87724f7ff763f24c63c630a8da0ec4d762da5c4db57c5bd4bbd",
+          "padding" : "3088ffffffffffffffff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "42b9b53d0b6a1013f99a911e61b527fdb2c617ca3df908c74c36ee5a8e856a4b803bd39823bf093e191712c7f6c6fd2e08b0ee793f681ea52205d0c28d8d9cc09d7eb42a5227de646665ffac349718bacb75db619f5b04e920ccb44d45d6386cd697024193e68f39ca2b66906fb5575e9f0ab9d30462a8ab6daa8da2af3403584faf6c5d90801a599f9f6ad6aa8e0b05f9dcbd5da4a816b0e2bf89999bf462f3da047c26c623f3f00c928a1599afd4b7b902716d81e37c82e37e85a6c2e2cd6945dadcd3b0b4ab038b2d4b864358615d4c2d131cd734581f4542dd9c66318828247bff3a5ac977bfa6b6e279a5f01c339ff3d77ab1e35ff268f0be286a0d8a613410be65079062dcf700e262f469295d3392c747226c2a696e4c1b84dff4c8b77149fb9ee79a5f423952df41613715c021354c7ae88f4637d5209f5bfc5d9079fa578425e6b29341c12f7776a6b6386900a2422f950acfebfe4750e60fbdd26f3a9be8db57948e40d340b9ff6834b0893a6f4cc5da6adad48096348cbba72204215cdeb1ad26f772c7bf78ff1bf6eacad8da89262a6a5df69e7532f80f665285cb93b9f69a2aa506d652eb08e6f2592113619e32e9463dcb76d2b21cc298a130379dc0b368596e3b039a5bad86a88b0054225d608aa3e3ba729d3fef1fb9720c9ec19fec34f8002651ed2467764617b0a25c368747853760c3b31096f65538b1",
+          "padding" : "30493088ffffffffffffffff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "9c5700b7d722a8f1f83fd11359fde32aad1606d20834a7b7b84b22bf34b18f5c383a34f229b65c56f70e1347632ab59a75821ea623d0ebc09c4005c0f32a86e1bc873689ace2b73c7c84b91fe270f457fea200051e041eff72af27e7b773769d37d5569c02de5a101467bbb014b065bdfec7780823e83199a32064cb2149c8ea388162f7a2e3604c7c33e14e5cbfb54e3597704026ded5670f5efd979dcb80a0b5beca42e5f49ee80aee7a81348de4616e3b3d723dd4fa5e73c1f56bd9b3276f85ad8ace654fcd46d7b6160d8ecd640e823432a074d4bef0ab0b58a0dd14943e710b7f6d7d23abff0cc855b7e932a14c9a6a0d550dd28a7dcce4605391b0ad128bf78ef8b550187c4042ae89570670587b8f1f422b12b3cb20d095788a8b31a388efafe616dd1841cb458de9d45829fd1597e55ee0c24e5f6cc71d194fe02930dc371f1243ffa4260a03129f00281e8000069cbdc8701f4693f94d6679807e28944b40317ce760b8ac170390233ab0d00f4e42f1e514950c7699215e2e2cb0a70075a22e554b0821083ad45d63eb8adb54cd0063665c4cb10f679ea3caa647fd5488bb3af879a2f2facc56efb97880a168a3c656c4d100826936934253c47f87a26490e51843845722862b55daeeacf70b7da98e76b497627de060ab3ba712dd8bf9e1a9e15dab3d4674dc32d2ff4caf9b30f81c82e4c302f7288b762b205ce0",
+          "padding" : "304930150688ffffffffffffffff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "9e61a779b2a12e128f87cbc3097c4c4f76fc0d0276cf1e7a1cb4eced9fcc0fd4f545e247c6cd6bdfb93835582f153161403efac0ff2b604420855c668691b067a12e1088faa1b0570b6b33821b454b405ccccfa60a9d240beda3ea295c750f45a80e316b4c416a901594b7406decb58ce6aa412a9040807fcd50a100b7fcd882246d1d6924e587a6a625a0fd6789def10a77379ffb653c96eca0ebbb72a5b300c5477ea534e6f853f1a2865f5713a2379835b348ef0e6e79c23812d6231214237c9b19dcf92ed8b474bd5dda450aba3f998854f123710d282878681b92134b851458b071e92863f0305d959bcd7689e597d03ef48ecadceeb74f7ddb5546b8e21a9d3e49505d16520bf67ad8a02b1ed660e6fd9288da454e43d4d45d32ad2f4f087c24a899bf74f0163af4f7d058d14e733a2078001bd619875e0d603614a95b76d4650b338f6cd244b1fe2cf70230f453f84db1abeabb1e8f70cf2650bb3762e3119a156fbb8c5c1dadba6fcf94bd607192bfab2dcea15a6184e71b31d038baf93998e72135af1ee22c5701019f4ae4244b39242a603e983b919efa61c221ab85254d43235ee337b064131a52ddfbcb298d50079c1a9e84700c688f14cfb1c673f347becb6dd337c310f57b800d12a476c2e014efa85245cb5c587d69c3fec4f59bf2bd9482233f9d7a8fa3290dc075df31339447d44577a27682111a9c41c0",
+          "padding" : "3049301506096086480165030402020588ffffffffffffffff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "df34b1f8f45bf7f30425d81e8bf759ab02605330d5ca334ed2358b7098320c8cd2cb393b8fcdcf3e34b5979e8da7a39b9319f75d8ccb7fca4e67e92a8d19d4597bcceff395a9f27b9b97074e45ba7f041d464e543017a608b6abcefb4d4573eb864278dfcefa71d609ba6f806c95172bb7262f6f3fe586d819b6d6474909b8c03866c43d4fc06a028f30d574aba042cfd53f33a6c5f17ceb642018d4f65f429c4f1993c43c052a796297a5374a77485de537a3d3f94a84913367a90a1b25e9918aae8a1af92fcc6a166e90fba579934b04cc3f77b9f00a85f7c9ec0bfdce253a73599107567e73dd0f7eaceefa468f6444be09e8f598b197de5d81db3c54ed18bf6378145b31842473389c9c818ac5732af3085f44f2d273bcc4e9fe39dac188658f94f02af5f80a19233b5f210fea84d6864709ffd726d9e6d75ce653b2b2c628a355d0abede74a39a2fffcc9738a37bab90d4fd0a5b625e695fc36d289385e2125b55a4d3776eb42f38c18e9eb2231ddcdcca400b366d712aa140a1d9ca6af3744fab95cef9079c9b7b9abe8b93d64b0ad7da07ac6198a497fc4f827e300a98d6b572c89e397b3fc6c443168b23feda2986915d27fc857924cc5ae39ff3ddd357178cc1fe4e57ddc1bbf1548912a0d64e970ee4169b04e24c21fdd8b9046a6c07fdcf191d16691aa091d8547717c40374de170686076275d9231e90743604d",
+          "padding" : "3049300d060960864801650304020205000488fffffffffffffffff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "dce897567a75219cd59c02c7adef6038f5e937aecf7f1abb14163503e7a37a958b6fd815d088421610b669c47dfb96283c4e843dd6552598d5a10b16f4b638ee97005e13943efe09764f5eaa29227799477e4e10010d11dd09b9964d32d2c0dc5812c282c24d6fa3a2322f90a27d56f8d7d457b2c0965f17768a8c95c109bc73a0130c56fc1c8a2275e0216409b79dfb3c83055b1335006f76bf2eb629d6b2512d022c1683d0ef13af008df0db74cae1a415570ad0bef58bbf6f41ec3d69ef7f53f098b04c477a082bf27a3c4f913c88f5210618873f8deeb12ed59b758364ddfd3d1b19882f085a982feea5fb71594e78a61b0600ff8d460b29af6d155246c77de5e65866dd60b02de47722a898e1948d3e7f083968c9fc9ed995239525af099a51eb44fb95f0fd6f33045e38113ca5e8f38b7fbb2cb3002ee816fb88f4855c97ffc9170e5678d9693a246dad58e22ef4a28f98e235c80e26d1d5f8abd063535852f4c11b74b899a485dd262ce07ec03032179d14226a9b3ccc46bce3add8fb4df08c4678f252e55a972553514403e1804ce5f1e2fce2cc3fd2e7ff72b09d0a1fac8a51e8b4d7391936567ddeff3d1da45ae4c022a57318957f2a46ae8dba2b12623e8d681cfcef63829df00a50983666dbf4b7aa5bbd597579520f20aafa8ee0f7dc2383ca0717d22fb35ed75c9dd65535fdfe95684c9ad076a8dfa96f67b5",
+          "padding" : "30ff300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "7996321602d0a9b5aa742393e774cae9e747a4315dcfd17077cbde30abf1bbbef88d208ff462cfaddd092242f6d0eabeb30638f50157bd844b80e02fb00ebf79b3d67f83534be4f0a65f244bd21b947c379c71cd3d75e83f26ddaa7e643c5ba00ecf7bf18a8ba71a5d200c53d70beb1781e4ed3a1421b0a5aa52333763ba5c739287a1d8f0814258b292e3de344030fa099af0ef5986145da163bf7a85473704daa88116b3a079cb8e4685dddefcf3f8cb39987200a94bd82012a95f5b564cb958aaefdf6f0e84eac82b93004ddbf4ac434357605141e0d03566ed55596c0a4f5e2fee6ca57aa85d454cc11b3f002521b3f59c7e2ecdf0e55f5152625f7f829c3172d278d7a7ec2fbc31ac6b09d983f73bf8fd8413555d91a99ba1c95ddd8c614e7595efe71136f69dc6903f28914b1127e6d6eaf473d56870221abf63977669d215dd7681e8b95fe6cfbf6592a089e69dc9779187fb88536f7ce15fb820018a4b05b0843a18490c03ba611bb07f02d1150ce2d5a2c87bfcdf83b196564379413b899912baca97e1d19c5af7deb1eb3991ca2733604995a2e8c801a1d813b4a65569238b961655e19143610bfeda30f0a6c0526774a622a15bf6d91d5ff7a3bd87ad81a85c20183e9e7290d49f0a5c2e080453906a5f1e67952d6e0e5097c58720519cc5b8b52bc4f63aa9bdaad6d8052fc9e53d670df191d89c5dbc2d7359f1",
+          "padding" : "304130ff060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "84dc441ed215a1b7afa0815ea15f403da0b53709b327a8ad26677bdd79910bc931e84f6e0a9a0617af72c5bf284ee1c05aa0029d4bd5f7204404d58378b5150746097d2f650456bcea0eff70ee1d1371a8b3d14564252bcf655d539a666343883941b3023b095001cd1b05ab45aeb3057bb40f8fc1100108d9c1ba4fccbb776965ba45a5a9cc6eb0ecfd230b0a2c4da0d8ded54f12f290f681878ccfb02ce97c8055f29032497b87efec10e225c204315adc30921de222e4f2fe2a92f995152693f9048700aa127ad651e4fa8f6aace224953a436fdba27470f239c7f9a59bee180e2c114b7e435a634f9cb4ddf49717ec10e95db84fbeec6bc6fb09a10f613c6d8ae9ec315db947fdf8f116256235b02687f0bea2c706637ebfc309895be00264bb462348d524903cc8b134ce52f407aa8c871a829ba7cc568a03b80336603af5ef3d55e54f4bb1aad3353df4645ea9229b3a84c83092df72b0ad5a6ca0972c54f9c1dd7b05f3b8d45e2f5161bc5c32fce2cf9a35bb55e818ca267c0aac225a2e3b63587d9391094596365b3132eed6ce24299f365495cc6029480c2b9e3562d8b7be8ff01ab487c39df67f09ed69fe586eb1875ac71a7a2b696db2362037b8ec4f5f71872119fc975bcebe0247a8bc15cb61bfba478a6f178c1ee9b2936dfbdc0b408ab056d04e9848a7c95c8bd9b00013eb8a045f32a9ae4017557a23400c",
+          "padding" : "3041300d06ff60864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "034db01968cfcc19d6a59c9a15214fa3a7f57ea39a17de71a1b92e4210b48c9299964ec353a6a64bb185e545aa039b7967bab630ac4773fce449ab1a6eaaae89842589d6c92e0047fce4e7adc71190f554ad592c4975cdf6c5b0ce78b3738040d35fa0515479a0967482052ec9a0bf7d00ad2398eb5fcc07ea88682e158da47df3bfb0d895749b1d613160542b1ab30493344a279bd1e9fd4222951adea977cef7ea3458e16360f00ac44bfd8e6fc09e3f4ba5929e1bfb0a33909c180346385461d4b619e0cd2d2b7c30f94cf3192f72ca397901a0d385754b7f80393bcdd5bfb00931ae15194d0c83a8e6d4a3ce682c9f34e2d8f0df0941aecc2aa2d632e6b5a6053171fe54ee84318f305aa2e06280feb10dbcb98b0070b0db8b06209558b6404960f809d51085035b0d032cda67256d747925688f17f98d3f30895a435314c76f6f6936fc6f93b53d117fa0a99fa3953ffd614899ae2dda61bf695935c5fc408a1322ff8678c1a239d8733ac9b65173d4b04a24fdc3236901431fa195b2adb767990f6a9e1bc515e6971b5e34ab9f426b501df7c6fad19db554121a7d955e7fc3e9c3d33abe0198b2c8ff870decc2e3eb31af4d43d895147961278de29e9c11a67a5abf83b0ce89aeeca6e7085ea8ae30595e0f11e0eb65d0252e0cf682c813054b8f05fdb9d77cbf85207e4eeb3c48b9ca07df13d771218fbded402b7121",
+          "padding" : "3041300d060960864801650304020205ff0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "27c4e3f4b1afadcf0fcf455f2973f0c261934f3e4876020d91106a1b2909e5e7765ae76909f33a3fb40788b50330ec983764d2692d09f63cfb0fb109a32c799cad3c1f6cef40959a47eb988c364c85a70f6debc4adbfc9cf5e322b4466a6cf3272f897f072626c61e9d80b5e8f605c71db0a5df837949b023d9cd084b74f09a047c97822f2d9ca140b4a1f7636d49e0ab72d3e06935d67baaeba7eaa7e2c04216020ce84b3b8f424a46f615f1547051af2d9c0eb37a5967b77bd3455f32b029c1377bdb8bc24b9715a4ed04901d117ac3c2e243ad01074eff35c72f23b158b04e0eb5143417e611a5933f085161e9f99eace1c06eb0a12f0aa0e18222c3f9faa53651b587d48c1b455ee41b57b6fb592744b331c0b61962fe2f8e011dc891486bc1f93cab761d48b28635585217ed652cc22b7edd433226a62685405e086df7cba2942b728ee21cd3defa180865fc1da04edaafd86546f84e4569f763ccd70f560f838dcad56868967da89a6271d8e5daecc9b81d2848f8da7223628d016f6a8c8b7debc6fc7f457f31fd8d7e8dc81a9aa826b15569e9e28f9b2d807288f18f08f24ecab89e5d829c64a7a2f304a4b44e1e84966934b86e6d81b2489efa05a72fc8706460b305406e7340130132a7e16d5830dea332c78b8d8da73557052b22e59389a17f9ba3677a78d685ed435e96eed10c073f450a0c720ad3375946e19d3",
+          "padding" : "3041300d0609608648016503040202050004fff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "7892f12ddbd48d20aba080f3b7c92cb5c918c416a2f71999c89e790e92802968f683602929f8c37acaf2e0a7337e85b5f0bcb9e2e9a1208921d578b24eadf3bc8e130571648dadc144e07f6decff4ffe18a944b8feb38474d9df08db28b65ec155d168f37371708af138316be70103e8f4a8b372ac0d3a9ddeb3144db05120899f8759a37ccc93d0c0907c83e401f0f3118a76ddb2ef14c62a304f618318e2fbee1d5459e48437ed45f5c5efcd8a85e420d350f3c24dcb5f0feb1491019438e4d8f49317f3ec670eedae0d22fa6be70ff190057bd7c9df6411e2ae7cc0f35bec1066bc23d7f2be90b779e017f3b9499b32ce12547a98cb50403620eaaec33757bfad20c55c680fc8e5b0a9d8d9958b1fc377fd34739369cb9118b8ed40db29864975f4451abc2f0c9513ba1d6821ce65c05a4f7d0af7feb9267c5c890aff779b39e6782c3918521ed4a51ff049b8fe9e5d8f5cd9efd9e3b37dc3a0c61769fe25a3e75402121329ae5077b6e71f39ed32d6c6c3c26bda4cfda757bc42e5da1c9f6a99359fc3b3c15bae37528f1df374347ddf4684a5acacdc8de4aa5d7273cd91e29e84c75e197ea168004bed8038ad5b42343e88cbdd073baeb3b1fb7c8df155fb73b1f722f4454d649f939dad2b7ec93b309cc10eeee6634bf96b63aa14434e96dd714a72ffe2d581bad37ba0c73dae1dd23ee6d6743f457232ceb309b25860",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "c0a94ed1c9b55121960dc8d128d4dd62753d5198120db43451504287097c746d74b6be35cab6db103c1ae88189d91ec2028b71b05ee1361eff41b3eb191c08488bbcdde888f91d296ffe68b5a881611a104db77b8d3f7dec932e542eea14de6b0946cb8450455e40623cc9869b92142beabe3bf1e50a6312dea264402e079c5bb78e2f01dcecefbe19958a13078492535600fb052860f673c4046178a7f14f4f316f476b595447ae6acd2ab098f6c9a468b5909a8ff758faed6f457831583e52be6577ac693f3b51984888d3977e5f1d70f46e49e72d0cf46cdfa99047a9b684a2317c9b45cfd450e7a470d147677ac0dfbc6447b6d1dd288ea5769b7a6d6d38b536d952d256a1f5055d058eb5d7d8da33c35e2af92814384ab67241422c2124b30c8289fe7c506ef960f6fd65248b80638060421d1f274d12b5537a2b99030eaa05571dae32857fdae6482a6c989e987aa874a2ce5286d16fea05ca099cce49538ee82e2bd3991ac9aef37cbd9f5498e86c742abfe6778aaba7514ad826a3f53772e9e740df5fa8c3e8f88e836f3f74f743023dc31a49897c6236b37101279aa77f605d6f3b0b4b4ada7d2116ef95ec2ea3d93115112f4542a5d1309df787a78295a0b2572fdcb3f0e1eff6c53537488ef7622d980d9a8a2e33a9d69232dba00a6496da1ceecf055b78f196d3f67c80cc6931fb7c83934d1d44a3749cb19e77",
+          "padding" : "30413080060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "c46b6e7c4963cf7d9b40d58052d59a10d3a4636dc71164158099e3d3071b7dc4c706bf3b2d8763ce7f31e7829092aa74d2b800c0274e4d8f203d33953a4b7a5624ad8b8742a2835c030bdb022a96354f930b8ab6608e8c83c889ac5df6c27823e0050c3cead92db5f3d9624d7b4af915e4215bd25cc2e3138ffa07021e5460a036f6c249ca842e8ae704a7c252c7de2291ce101ea28665ee436e80b5678fc84bf12c4bc81f35d813fac8e71dbbab0320c0997170b07e5f06426e66ad7e09afee86c17224671455cfe893c2966b1fe4ff0ba3db1e4ccf541567d7966e29b132290da4705e9769e76e7be4d9caddca5d2c1aad3d0ff87fbc136468e0a32583949b92a395d36d856002f16c251693f147dee1dbf90f05838b25aa43712c2d85dad962362976423edf11631c4099b4b5c4421d9686480765c87e0bb046b2502dc85a71af6cf5264e7959d5beb6e797de18c3fabc79dd4d5b5e6d8f5dbd852463b7abe49c8602eee12b8b0d4a7bc329722c79d57504239f331d27a62e63ad1a9050d2dc3940badda9c55631dab5ad2bc9e6bbbc8d920274d54879220989ebb6d5db5ed6bd2fa36e1510a76a17447d7b1d8d2e9787c3a98e9684622152eb4f65c04cef55670556d747db203aa62562903d5f2293ce38c2920afb41a0cd94c87cd5c75ba84cd5b4ad841c97f32489562a8571cb282b9047d93ef285fcb867be3cf7a878",
+          "padding" : "3041300d068060864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "48821832360f4c8fc6a5bd036c58e36074e0404cbab3edf5f78e9a9a939b732bdbe5909d09d084fc47de1b6ea7bd1ee82d45167fa49934fa17fe2986bfd540b954990e8db0513872844da0b0b1aab4e7caac1ccbe6ca1a58d2364eb0fa52664082e92d7e05e9fb95b0f27f1a8c1202fd4d5a1b97eb61f4fc80afe72c38e5792f3376c32a01db7ade6704725c3697c65e4700e4b4c94017d2c169603b65388792de2ba38af6c758bf6456d61877ea3af8364e8634621e1fd8167c6af3255a44dc56e4915d4ee2fa77b0e1d3cdc3e1a0b2038095a6462b07c55fdaf5f75862d69dbec7db8d6e63b2df7d99f8b4a98093fdcdeeb680bd1631f89fd7fc667b2f7fa70d3794edd7dc70d3848fcbf47d29132fc344d52b058e99d9146ccdb0fa16b81abb1f1144659eb79bc0d3cdc159dfbe64658d78c0a591f50f88fdeefbfb89716d0c8b7ae983cf00cc0eb8c14ec18f5f7317393dfbefd81774f89171bc1b46e6eb0a9f575c8d31b3694184f8f121188f10560324a67c755ccf816632d143679661c0be62869b20c8b99d752255b67bf8d3f7818559218552d34267e82f805c0a6381e7b82fa862b1af81f96e7fde3d59d1b1f883822131f35a3a7f8607a492066d4958a46a339640533f431951c84662604896f04be007578b8fa0be96ae61946ff4d3853c021eee29541aba68f08c8ec32146058745ef14fc1fbef93bf601afc1",
+          "padding" : "3041300d060960864801650304020205800430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "130eccf66275d0518cbf167b6f922525de36f21d9d9ad74483a34acc65da996d1a98825e1b39281415e8724533b5ddfacacc7afeff1aa28e1cfa8d079483d35debe4ffbdd9cfcf06ea244266ce7444ad91e66fcb1d4fe7bab93d29e69726f6fe45df1aa684304e160c2db01b39628b4a69a1ca48305628d3e5a82d7890a0bc44354f3b640473c8d8f82a313ebe86b07935a94e6ca4ca06170227984ce2f8d20afc9858246048b96ba4d7b62f7247bac17c8d130046fe50e7abac7e8acee2e02cf68d6f8853ac58522751853e89eb36470d8255f43924138640d7566d0d2d66d07d49d2056d3b09bca497ec882c6b6010829f88ff48bb526d7215bcc5613c5b89d4cb12cd9d41761e16756b7164b237cddf0937797bff6020a5158bc3364afb634d0c292df068ed29f5e3501c1aa6961566c61d2641bd3f9012c2e3e346537502c50688ace379155910d98104205f1bded745f40ffb766a45dd90d085eda384fb3f112100ad27f437e56cbf4e47180ae2d6424172664c11136986ed53e5aefef07b927b5c46be8c5849843472bf07e6c49f2f68eb6d619460bf183f424e383b5c858e36c2f287f5c034c9e60ef9a92ed861abba9c057227fdf2daceeec04faf1680751285615cf03734a8b07aadd81f5762776a235258ad5962af2db8c206552e9ff77dafe457572e464a0dc324d597f35d89e0cefb8d0192a749c8ab8856754d",
+          "padding" : "3041300d060960864801650304020205000480f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "4afffe50d1173d25bbc0f2b430589925e1cc85a5370b32b3dd4cf051fa80185552ce457146372792abe9238bebf6727e8da06c652ecae75d1a33b254a9440b54cdc0c2f1fa5f82fda4826ed0e0bf230690a451f14e1c9fea3939a141d354e2240a7d49d57d40556a84ea0b1e27f1914f7acf67865c68e52f406228a0be9d5619dbbd0b090928ebfd87a357d43218a0d63fb5e87cd85f4673b0cfa45d578e608476d6e6e7fb632399e5ac7bb65aee1bc43e86919d5f283ac30ad1b21bff19c5176b24a3c5991f098decc122c35e2f809b6afbf9128395d126350e2a9ef50130064c74e30e34ba97d33192069a286214e4d723e1464a1eeb804d68dc5408252f1c420b98ae118fb50e290b919abbbc379aa5a1a2cec88982feec6029a7018e2b6353b7ff5961dd6e44dc72ca97318806e24dde46dc0f1434c506e070e31b76f4b731661141604047e93018ce7a2cbf3c38b8234a30498d81d0120fa70eadf890ced155ad5d486aa4f1790bf59bd9731cee686b5d4d115bdc1245079defa9092e839ab567a6e741c8760f342ff0f004d6f71dae463d04053b98d5019407f0a885778f7c38d1f6fe80b743354fd1d4c5f7234821a41f6fee658500242763e339a6ea362db1e9cdbc7177733f17331abd97ac4a148c8e2c6dc7e6776853d37308f3a3fc1a5f2724ed1e6793651da7b6fe9e8e8198e58d8f8137a36ec5275622f1018a",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "d90cc3b01cda923057562eb11c013ec3cf77da6c325655a8965eb426fad34786b9b47c3849906135d4a7e9116ce1aa3dbd489345686fb7983947c03ae82ad06faa44c95b7df8a8bad4628a95b8164f75f59f21ae26ac70a3c60009a8d7fbc7f59650d96f19232f8c101ba3ed1127e89f2f8d10c4a8550b0ee5a163b3968c9e252f13a835faddb090d357386a96a0354ab84b119d8eeecd973129edade6450a95f3b8bd4ee32f20eefa54275c5f522bbde6906664d5e612c15b5b7d55beb1a36880bceeb0ec63e62c8f007a836f28759247f606f7c03ac934d1285fd8886540054ac8212f9fb55c01b2aa7d3726c4de0fb9df4eb3e883fc479e51640602b0d306c117f0fc48d71efbcdb898a2b553b39333d31893ac9d7fc2ba13f4334baba4f9f4147aa072912c317f229f04571e56f771873bedbaf8c7641213b06509e1d38e5191573842690bd17d3d16faa0e4263cd3576ae8e25da20037e4701afebbb0e3c5ba8baf2eba91c7a63601577406f7fead119d4c3f0a216f4fda7fa6b869edaff2683b52122cc60edeb5b5536c8583c39df7d1e0c61f7a5ee19ce7c879440258a6b07483210e3b50827d118d0386cb511ceff59afe6d6914de84d7a5ed447288e046440264dbb48dc9249226c92786b5210feac2318e2db91661d96542a6192e3fcdbef679be33a8bff8d31e66ea41cdae65d0aa18c3c460ce9731b14d967abe",
+          "padding" : "30320430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "7b6a7e872b1845f321814af7b20fa9879ba28e1e1433b718a6fe0e521fc8725e57e4ab0cde1d53b0dbedc5a0cacf06237b2eb795e89b8d2fbd0aa22711ad30849b71fd57d67f6eb6a2a8893d8ed68552c163811722b405330040917affbe2a746b4d13428198111ac3e4d63368ea2ee2e3db0a22fa04552d847a0ed9b43efa3dbd0b71e297c4baf9e30f94b06b3f1ec0553713460af77cfc71e537ea1f794aecb1105b57620042e75b248189364c27980f0e4b382fc54cb4b7b2028ee73d04aafc71e77e19e751b1106b3afbff80876da433e13e4607a84bd4e2de85cccfa94337d818d2100d8ab3818f7a973d7164831e9e21f1c9510ccebb4d4cdfe93212757ef97b40b947a10dc846fe5e7d5d4f492acb3284a318a11c12aa9c2828013d08c68f854d0ad9278ae1e88ba8d6849fff026126c04f4dd633e6d35a74585cb4cab87848391fd3fcc77412676ea5c85fca75d5247c283ab168b48173b7753bcd6c20607645fb51e21f43ad1cf5c1968c73e4da07933ec68829d569c5cc270cafcc83015fcb6ae48e6ba4b4542ac802f398428d969e1b2ba5261e9d7ecec0f559b54a6bf1b12727dc640c8dc70d71f2876227f5f1b2b8bb068e94140eb1edddfd4cec54e9b93e0d60ef2d36cf4fba069a72599a7f856f9b12de77ceb658ea7ab615ff3606804805de196309015e4d4f3c73e091e8fe24d9f49d0f7107bc719e816e",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "5a6bb1b516d2406cbb398deafa93858bf9f4e3d0229bf1b36baf7534265b53aec5c039c371d1fdd6af2ee2a5d6e2af244415fd630443cea8ba4d796f48212ee3fca5815712be72ae6a68f36b5124bb0d5721fa04da44e3a49f02d14a468340000e0394a8f2c7ac78801cde387dda6ddfcd653fa50534e204cd44c679be66f2aee499fecd63946c5b4885baa597ba16ce2cfe9af382879d68ff06139fb5e7d1ea68ba5bf4f3570a1912fba89d6dc5271b588e1684c8f0b9f20e7cb24916e87be1c4600d2e434b22d924260c1b934d630df3adb64b79662925b09ac8c66f8e74a49868f8a7ff23280f5a4d75c9711e59cdb24b3021c02e3dc993161ecc3b3fdebf48581b2984e87ced238cc797e8a173ed0df1b9a8461bb56348f272a43b2c8a065b83ff9fd80e78ab7aa6efefe603a3c6f7d1558c4e5eeb3a89673250a9e15a3257abca309774728813ebab2ae0f4d4cc4d703310a8df68fb7e0fbf58dc280c139cdc14be97cd9bdd8cfa2cbf14ce7cf94f9191b1077909882ae4a181b0dce8aba69c69beb752c80c7fa19025e3d3908108431b10e270cdc7ac75ab040a8f0522e890f1a95b6c1746b9ef2200400821dc4d85ce9efddbd51b1580377b36326ac6b0d88e0a7263c3815605a517cee5cb89bb118fc783ad3ed56700ac82412255469c38c6352b354a0e8d7a0d0a3ebb98791c18aee99962c0d3fee3d49180128f1a",
+          "padding" : "3033300430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "a6f508b757f7a2299a0f259e025b53eaadb72cb0132983fac955cdee1706bb1321463634f707ccadf80291a45663c1676b7e7a24fd7a195d3ae8b1f3aa42ec55b5bf8102c1691a9f6feb4d6462e66219a9aa1a9c85c33a3ed123a6c563de615027becf2722bfb00b9427a641b6acca929caf2201630636f000e252246d979d027c566de5815c19a06edfba163cf0f78e2a73b926ed59e1874848d91a03e579289cd9dcdae852cfc61db8fe0153ce966609cccfac151157643aba1677749e140a81c5d4883e68d8a582c7519c9a0fd3600b1f813afe06b3f5039ac608f5b189bc1c5b0fc2fd2b3d91e936298b312bcda6554a51cda97aa9f22f7118f565017f5690fd500ab90176cac20c0251c5f82d691c0695ca35c7a550e3dda3a20c7e1d34870d04a01e9ecd9f0391143021a1328c74bedf8394530d5868e0fea177c02074e1d732fae99e5ef67de614753889d00c11acc07bbe61c5081659e2d9994f81b1510098a7f2d59a73569c689c1881e0370e00eb9826cc95b74569a7bcacce467701e11424f5d800b910606c453c7e908d8357f0333b829b10d2621832b5067cef0780c8ef9a369ff32569ed2ea2054ed1e25f2afaf34b110dec648533f0cfb4ae8ef327d8341ac054501655235b7dd0e8aea8c93dd656d289e24bc80e90bec472e876a0f1d508c09f1c8444be6e1030848ed6a891bfdb97677d30b8f5f5fe2aa6",
+          "padding" : "3043300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "e26e48dace9b39bb74735c99152cbb6703468744f52c44b21be6e3e2f9633842ef01ae9c38974b4aec38890f7cd3bd865a791eb47553b939c71979f16fe3b9d60c68545839b6089bccfbecc16abc2b9abfede4618d6913ec2cd7848dcd3dfd4c85ddbceadfd2277997e25239f66a3271036912d5974328d439b8935a10f84b04e29dc56e8f6cd851a52c69d658c369a2b5cee465b997c31320f3d9f8d578a25d28a43cf383064eea022780a28f4ad9f0962b1352ba441aca836189d2b01ac3094a68c18cb49edea1dd348aa32374e5d5ca329184d0139ad64a433e8899d41a448bab67f0350460f3bc081e32b18be25643634f3f5769e8c8c79589ea49a471ef9239086a814d4d8bcf53f1b9c9f327305d0d4e5879bb7702cf351d31e436888c63ad64ea53894c5c260dc7bcba2fc138c01b9320656a5cc9e9fabad0cc0f1e68609edd51538babcb4855e90debe0e57077860c4d310891405aab95c51c87d48d2ef276e1edba36048935f1883b69e6b09e84ebca727e6392d94d2325ff943e2d83800127290a6aef55c2f04faa862c17448952c7a18e6d4998d128459fddd24aa8298561e8af09d94f7ac58db509d376132c1133570a211604701a52c233896f20783b86d581474dad71aeb2a560d325d55e74abe17432143f7bae58d7948b2c743910fe3557731d75486f38bdc942dd1aeed216476ebe9e3b8833ef2ba97bcf",
+          "padding" : "3043300f0609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "3e1148fa9bebf37e875a51c52dc509a08497b6adfbda1a63565fb63c0f2df6f463be90cdbebca587114bf1ab32cf3516049d3c6530ce8dc7b7dfc6a8c4a6dda8221bbf6fdddc8965820a36ceb33fb98f37b0490caa2a9e5c3a1af0113d92ea9c6df0ea256ffcbf97dbac6316c6b5fc1969b5a3c390fcfdba370b4d802b2c3e53d9ddbddbc888bec7384322fdf550523e1492326434b77e26fa51e213c49606020e3547fe10b7949f6e734bb4ace65d1fc45b4a98b643cd0917aae9315833fc7114a154882bbaac999a86e9ca1e1f29ff2e4d3bf44aa91bee7ee18647a3ff9e033df28a9d34e1f3eea40c5848a39c29bd8b36fcf0264a58ee6586cb3e351eae22848e15a482e9288582c1505a917064db22909b81ea3718ff66c2551bf0bb72d210ae2c3568b71fa654993f75620a1e414fda3eba16406a6a74137752e0da1f9e264df5a025807547c72364682fdcca79dc040fd013b4b4ed3f83f5b2d729640f393a47ba0b4ecac45692ee7245809246b9f010896da355f4078ae0788a007d7fada58b9254e0b5eabe4e4749684c481b940a58a00db7d4e5296f4a5fcbf8a9c8f7ba51712ac64fb3f51fed9b866e86c5354b297796e66d54f3ada43948b5c0605b34ccd39f7c39112ea54d951c88b166c5d7190070e4022cf232161211dc13668f37f0b61602e51aaddbfa9c92f43ae42e057d89d94c41b0e93e27fd8dc8202a",
+          "padding" : "30430000300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "b99fe6f7e3d7a622bc628c60f1a8772309c2ae74e906aa7e0d7c332f991629859edf934f7a38d65a586a646462fff53fb764c7eb9d74a599c7561834c7edbb186c95341d7f2832234537d8c7d16d3722da8de0c4ccbd7f68fa41e0cd0259ec3cd70f25993931690d467351b6d6e89eb59e36ee9a2c871b704800941f2dfca80e4ef46bbdaabbe3ab74ddaa413b6d8b0a9122112e925f193e0335071fd9fbb80486cb29683180a672bfef9e22bd992d46f996b5de54bdf8b3772282dc9adfe3b05b9365359223cf2673b701cf681bf97d9aea8f1425cbb8bb0474db547024220b3592294c2c08998061ab5f788ec9c1b6f9245e621bc68560446306d6579698350132a89dc650f77b334c2d720d5437b1e455627d2726d88aa683b93a17fc8884d0481d00765c7708105321d57f18d64c8268058c94787acecf693da8c7cde204feac0993af053f5a91e78ebee07072a4638eb27a660eed29c4b4183639c51b700eb11e7316750426da74c9bea545051959b122753be9c709ede76d5e0bbc21427f95f8ecdcaad7e9076d1230b363a492bd162441fe22210280982138bb1e9ada871ed719b7f9f7a36e4ff69a2ec2c07d7adb421dec61864e608613bbc539c1666bdd6c2daff21c170d692fe923651f2aee28a88a97b3ee0e707dab503337716cf1c447fbd181f71bb521c1cb10ff2c64d23f1d64c8e1cc8c0b963839dd1cc2ee",
+          "padding" : "3043300f0000060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "d9907f701a9e5696add73ff7055d62ade27bc2f945327aa20f2e36cb9e67666293eae511e11db7de1602493f321a8eb295ab9808c1eb2d0b10eaf78002bdd6a7e65c2d279280b0374feea4b9ec1772edd57b3d0bee6c2c43a9f6edb9c6cd4cf15781ea859eee86e1a354c277549960e05dad60b83348f43a2a8c16fa2735e8562a811bda1ac318102c2f349fda3827b6176918bb8d19aff195d9a7f15d3397bfc437869b322cadd8582945ddaa4ee0741614b62ee2d322015b32da2ae6f3bfb4a4bc63680eabdc8ecddcfa13d56932073f7f96aa5944831a0bee75dfba553e6bfae8cc67ca893116acf8e7a9920eae393fbc40eb34120ce135659d95ae285aa00f8a77431a9a8f83e48f0840bc9fdf891130bf71e2dcaf090b6a87d427816931c5a77ca04b8431c4c96e9b9240dd1b89335653de84615208b9980ce33588c8a145b373f4dae0bf1c722a90f4a21939f9d400f4adcee397a3fb49bfbd3c745936985400eb9125126c5c4d76dedb75c11b1c2a4388d45e1dceac5d467a8eed5cefddbc663ef3c8d853ab1e09022e89218b042752955ebfad1447bc113e21c0abe32fff54bcb2b68d8f18f7a7189d5267c662a7831512b5c419dc34d452b2120642c31c0ffec828251a464be1af84e18768697e88ebbad72fd3a656b1eab86efe5223f521867359aa9202ce7a3cd29e2e20763e660d3bf49d602fa15cb2411def61",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "8c1e88b818fe8bbd9d82efbe963b9057e1a9758a6d3c22c9724ef766c3dccdca775bed485ae98d8da9a1fea495b5146ab3106e41e6c73e79290be5dc0d2345af061a8c9143ab809ad84e42564e6484b9711317823af7cd16a88669881227ec2879d8db30f19ce2e8eabccf6d4274809c6ff9fa778db591937406e3221650c3f44e676e3a9df7a6e405bd55e756e3cf19c0b7b2796eca70d836327e10f490d26fd6cebb73c45048c9451c9490c3ff4966a2c48e5c41c35ff982d6bc6c97b5c99dd8fffcd8c3fcfacd65e9c4e7a3b3043134891457649770a622384e9f2c8414d40609f7c3644020492fb84ffc71819713867d45ce5611cb35925b5e1fce8274457ec3608cc7b0f13ba8dbb65d3ce6a3451b5f22d3a62340f0b16669c5d128ed1c93af2dc2c466267d7a09bf73961d14e597d221ef853f036878c3f3b66ecb34a519bee3ff8711207a0fb7816d2d9cf0d5c752c0fec89a08a6e724600f5401e0712296e8c6e4e7f585f72549cf54bbbd3e28d3499310390e644e89f509162e005187b9e52244acda342884dc7964a880d59e5174363bb3e84310fc78d7d2d2b6cd70dd6e01ffb9fea6567231a0f7114d5aaf8741500f834bb03e43e74a1e6515e64475bfe96b8ac855a107dff12d4b4f6f24fd7dc5d5fe254bce1d946522c50387be15c5d6660ffe3fb9ae1237538c5e8f3fadc3c7b984907dc0b7c3b902b5d570",
+          "padding" : "3043300d0609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "568b017c1093af7eff04290be0619378435477999ece4008f8a4829fc668d0f75dc7c30a3822decc8df78da28ed12d1780c4dab154887609e2ecbed4e64b22970ec500567c6dcda59979d284f7944bcdbd511fb0e0f3850869e523c778ba53832e1c0806bf737340f7731c5126874f99ba0ddb38f3c2ae5ef879ee0728ef2a9bee6e08fc2d949de4b96ea8a6974b03804ea2574c210f06db4fff6e435c5b7400abe6baf9df97d56432d1082d46f98a302f2ad7ee19cf60d46103eaa1a303819233c62dd76fbcb0ebb1b48fcdbe462fe3dcc9d56b7ee57cbf07988bb6afd1a77f5795c16c261702fe6eadc228df8b4ac3dd371e10fef69f261b4b7460d174724fe9b676c91e24d62a996e7a877b7674d9b0cb01083077ebece7087004377a4450f3eb28abf73bfc3be41ca03691727b1a50409aa5321139826cd5ea3d830617bd1f8e40fe68b5f3e2c7d43dc5ef59482df795a7115a20dd58851c2bb42877507c099dd7a5cd29931ed4153970d4d1d29b36df95d1460f06396757657e3b4ee7b981c810f870702d48ed10cbc11f06595bf72386394c953da2e187a6db74b673967b1e71cc7f69d89747c3f7ccda9eb4f2e7df3b780bbd73ee75e873e5dc486991385c33b25a6ee5fb492bd51db6960e3c9452eb559413ba43140ee14d7fdd5fab8267320e255ef0d55e52680c5c518349d242c2ac2d7d0e3933addfac80e613f4",
+          "padding" : "3043300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "8770c11ccdf5fd9459f0361718db0e130720d2eaa098e8d8229c44d348b8c219c6af4515d33c86f620c81d8aa2bc8aeb4a6c40df8b8bc4a68dee303a0a1d67e6dfd8a69ec38ae7b09dcb4d513a2600e1107f55eccd5f5f1b95ab3c5d31bb56b3be465c3ae323b681d95be15ad1b048bbba2f5325a030098f2e0d54db13760f635acbcb1fa73dbfc695f62720a5ff534631108cb49b20ba3fbe339fdf1df7e14bc583b2166104dd053117a5b2b35b97a0f241cf4dcc6933d25bdad9f3bb5ae606d69dfc33b042f755c725296b942edcf87ebeb4aaecec9aaeee73c9bf04354d76130606f6e56729a459bc950e5cda8a147ce4f578796e3ce1b35d544d2536dddf97628e9acb3c2bca83acbd90bf6613d2bfc31c6895868c360de56b6087c1015be043a166fd67bf7f7865ad46184d68e500ce2d919ee4972c257c2f09ba1bfcf97a712488dee5db462e4fc964a7c7d7d99536f62c4b7ab2c18e8648deff7f2b21fd79a91b1d9eae5105d1dbc5cafba92ed803aa94fac2a7443787f2c22dd65bf1be7e40822dbc8897df8fd97668f997f716b460d0ca19360281886be8769da08cacf41deb7c497aba4e55ff2ab3e012a559420ad9e7730e9c218feec1ce64abe1f76702923eedc2b3b21c171af98e4540548102c586616e3ff5f97ae843e909d07b5b81a198b16d8a8b1b55ac21a35fc657e52bc6ea549eda09e53fd9e8c4f080",
+          "padding" : "3043300f0609608648016503040202050005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "0edea314cdcac3303b62b333b886360c775d9170e35dbb92d5b113e151828f8c244bf9ef45c607f3b84fdbe2d6775afc74cd8584dcb7b36c5c8deb47af8839c0cd4f1eb319bc88ab0a233f7ba897f96e60b506e83c42b8c35da4c1796bd33930c38490925b13d6ac1800e76a0ec011fea9a6b97cfc36628e519ca8e8422645f61bd26efb3e963f7a3eaa661487bebd9abf377ad9e9700adb2ea6fc60dc7186644afafa6abc6aac644d24efc726147a99d0a745c93ac5ac0d17a0c51308b3d4ad430339543cfc3728902268d024e35c14deb8454d39fffd638289862c7547653346a14760ca700350137cf900964ef4497cf10eda0035dac8d6cd9c1e8dd2410698b5fe3899c2d62bf8d7812c538512fb9ba593ec583643ee162174d7e2095575ea66df5dc6f970fe1add50a001a9c4f8b7f730ceae488d5d5b8fa8a08779a7ead3b49c6082790e35e229fc5532519ab6dfeaa190de89671ee7ff2cc2c06f0a1e056a86bf6c1aaeb02c3c50a534757cf3eeaf899a4866d67c31ff3c480cdafc2042bedc67d26de464032778e9db384df0664246d2514d72e1ba29b0003d051814c1c40c1ace9d4b2ab2d38415dfc6d2ce822de2fa3fa95b3f507130d7664d304f6b1d6efd67f817eff71163d9cc46c0b0069834b60e17948ee101d19311734ae77151c49f283417168518bca3d5ca2d94b4ed525276c363dc35fb45c06a0f14c1",
+          "padding" : "30464981773041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3adb1ea98e1c3eb5412c117762e5b5e98fdfd21e7b51e4eadb5a59704615c2b2d0290a14385bf3daa87c13d374628850a2ac4fd9a1980a015f1a2cc9743d6b6c0e8190e7d9620f7aa6dd7171823a3fe92733921ad95004eff8a3485535fc9ed6bf2e3ff99628d1fca044bdbdf9315e6fdff6d176165b2520b44dba7c17c4f833228ca442bc76f96c957e13c4cd1e3c3bf83d983e92654a55c56dfcee9ce354ee4064a1ad3aad03741825b7b8b155f4ee164890ccf470266468898f8822c964a3f00e3576a4d82e680e0bf9498b291cec1c55c963f2bf6354ea30d17f26c755bee0030b2f97b8c0d6e04f17295df8652a1df84639ef453fd9aab01f1659de48368c5761813ee64e9ad7acd06e5a1f47a26c8fa9adc6af2868dba525b01fc4173fb24e918a1982974cbe2b341ba4056d412cc9b24f06bd5055bbd2da558223c3b0cf7a6dfe97b10c96f669280d69d6ca0fd72d3730b9a9ca6451bbf10ccb6ea80a0ee9896d1102f5a6364e54b4c3f7539c5b185bf90debc8403e060fda58cbadc305ec6055b221651af2cb18b2d1eea8f34e6b5f7bf3a4eca8cc172eaa0498528083913bd42514c832daecc0ce11c5da1fd7665c741f232cdf01024c83b4140be2f34b2f550511b5d7676710941d5363a2bc837f55bb6df390e95929e2ba1f4f305823c9751aad2aa6307ebb9980794c0daa95362430290d6b1e50161c3445bb7a",
+          "padding" : "304525003041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "86404f1a251b770891f3fbe1a6b57add1a0d6ab6137efebe6405cf37a00b26f0a5acbf61d0fd46524780d554cdc4d6c6f5dd100e3a2a90c3de522c5491fd433c559726e06da3a0ed73613099fb17c7b4d3234b152ce4e0e6d26220d49f5ebf9aa65d34a83ac664f47ad1e247c9a1f2916ee6e519c2b4a3eef4afb1049c5f9351e15e43ad8d66d0512edaae3dca0e43dce60cb523e22ec14597c6c1da3d571142b1369d2dcc7c829845f1c59d23d29389cff0f6ddedc4b18241d266de5658da7b49118623b212e69b891b3698dfd0f63112d7a63af1be9a8f8ba88d78e3eeb5d846f71c0d5f6ec192f70a686088953e6c4ee1e6463e6576fb18806209225da46eb55cd888812d563f8d0dd403cc8faa2ec984fb0000a8a847f9572f3a0447a2575feb220cb928abb019e8f624d3fa1a6aed2c46406dcd9b13857f08a69cb59a9ec936295f67632a04d68230da4452a4adda23c12af159f0b5fd5afa282b454365cb5e47c696a00e1102b1bd7d478d6dd35cc68a91680e6f7ebfe8b98086f1cfa0ba89391d95733888093878be7d83ed58a0d758c64077fc42089dddb2f4ab25b312ff2e4cd545a507b0ba5e98372c9f61c8f8e854cd455d03382f5d95a985a45e17b5cff6ad3e759e4c00fbbfcc73e1b2f695f9c103f879b05f0d2d7a8b89070ba578a56bbb4f072cf81db13bdb2cf4dfbc744677b1a175373d075533fc99078a",
+          "padding" : "30433041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "b6f794713172695ae6a9b6c10489f3ad19fbd363329919ea81824c7e394c38f1498a9bed26e7edbe1974feb098d184af43cfe6e2ec6c3cf9b79451f96e0bd49a09a6779a351826461c17167f47370325599a30aa61365084ccd505e90128ea8f98dc54f08d0e2531fb03c109360c3fadb01d597ec51e98df1739737c6e477ba5f4de2d20025602fc5858900cb721da6818b12b6d9ec854dc5b0a4d472f20a7dc6a1ba15b55c4f5c6ec284c9cdc723e208a31c4a3a0ad5316af8a83839060dfdbe9e80e7048d4cf4c6c70ae1db30597d460ac727b41088e21a967e43974048482feac3b76d3fe25cc61626ad48929f83a3b17052d5ca36025095ee06e7a767ce2ebf40e0882191942ed7f1180cb0c449d8dd35306e3c3e6d03881568bbf4adac1274f354e345804e65bddfa54c0fc340fee750672f9a262ab2b54ea3d4c17b6f7a0853624507b320fa94af2a162f401a6898b2cdda7a2595057934656863945e8e3a11c4897fce95133fc4dfea279e94464889c58e7483116559909c405d4754dbca59c65082e9094d116bb7a6d457f9d6efd095882cf412f6aeb9c04fce6508ca47512fc9b802a57c8c9880f66c9092894217a681f636d284109f2ba1ecc6fc62103eed28c93832c9f5ec04cbe535ff9ac489667d48a1e78def8680c0cb81174bd51dae40df4106d65239935455863389026e123165348f46a1ec846c1043fa9",
+          "padding" : "30463012498177300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "dc886629819f93db9aa51ff96f33a3ed76a83f8aef11178e596785c068195b1ca53a951896558786b2cb3933ac12cad77197a94adcc77542acf2f0d9bb733ec6464c14dde15f4b1dd281e6256a9886fdc8bbf4d07cbf314e84692fc3571e2f26a2b7fc44f51bedb668d109a7b7181b2be96663e9bcfca0e8b73e79381bfd95e9ed7a1622cf1934fd18d0f1bbb81b000218a6ecc7e26b20cc9a8ea96c9c34742cb7243fc8135c89a8b7e793bbc433ef09f9e3c8e3a813b0831717ac076a5e1cc58f5055745c96d25422b0f435844bec0504022931b3cff27a4673cd687d071b0442eaef44dc01ce9cc24e239da85963a5ff50d16d74ae9b45418c5306895bb597bf64e0cd0a06bcdb2f08bb35e672841a092ea9723ed665129aeeb40fdeee7d843895a575e2dd757165247652b76ee39dd379b8a3c39db7f7c8946503f8b1e498fd97dc12f847f2f4ef269eb37e1d602b2df249ddf3f5c4a99ce5d0d4c131d89053e8ae848a2a6f281f7555fa2a61782cdbfdb6367a5fec9c61f5c4e2ee32003529c33c8a4f70e30997cc4a74c69e107aa658122c32ab864e1b33f7bd9bb0c5329e0d3195bff711972fc11a10580e16c0f4049b22a955872172f8fd4cc406485af45c34beeba96a23e78183a400bdd3a9d3328d5d2b3b9eb2da2f6f6b95f04b6da502d0b4b1af9704644309ce39378951cc86a0c277fc2a76f1e2c39a8a95e447",
+          "padding" : "304530112500300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "5a8c242268d4abca2915e7ac989fcc7e14cdff7982763487ead667bfcefab1022daae19f137a8921e24e1326db1618757c3210cd67c72a893c09e112915446587367f7a7469d0cfc1f95e40fd19fbf653ae1ad505a71d12dadede3a15721d3c917d7822a8365c5724acb43f45283511a3e8ff6e5958974eadd1a46296a7737802d04291f32bb7bffeafa8dd1325173faec9e3932b45496f0aa7fde91b1586d695684c23536068f1017b837ad2b21238d7ede902808f2e756db620bf145ae62fb9de07fa748d9f0d98599358eba3ac24571d015e44dbe3f4227c369e551005662ca42711877cee27c02a341005bfd393eb42a1384088ec42b4ca574ff548bdec9e1125c67b396da765944d35654776043baab5dc6af360d799cd70a6255a5691cd5d02f6cfacfd6d8747c735750b1b5a6746cafc8237d33ad1d13037884a21b7ba5c897405c34e4ddd4ddffafde442ebf0e34e88b101844bdb1542ebe432ed438ac7cf7f6a1798e8f81c0c296e266a710e83128c6de317df95a01fd60fe899bca898569c14e89edbad7b847675e511429bf22bb6da4f7f01f832916eb8c92e53913b433ada43e2ae909bbb13a05c174bd8827cc181984066ec687801c325e1b694b8fc2ac14066053c20ab52f9e34c3bc4b11584ce3e5350522f1eccc7846541b9f4857a20a13caaffa99b7c0c7c7575ce63143222fd9bf24ee8193d087823a1c",
+          "padding" : "3049300f300d060960864801650304020205000004deadbeef0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "3ae7c74e597df065e162d4c2a183a7dac48f6281c50f5e9ed4382e6ad0df3256a29c9423038c5642c17d2d28b733c0cc89eabe1889847f3e883889f4c37cf61a812573f983fdb0c8907c4ec15a46efbfc66a3174e0d7f718ad28cb86bcd3de32912321882f342b47bed73b243d9c01003ed17389b08101775ba979f7c15dc2e27fd7c67249b38b68211373592c59c541b324c88271c21144e924e78b37a40da423f9b61c59d1af0727ffa6e90719c73230feef6462571986185b47dac3dcc73818e84155c9c93075e454c3739c084d952edf1a6ce208cbbd60595fc18ac560c095522639646cb6787930ca76b09fe40a13a2987c997f45dfa9ee981af3437e4fe92cb1e909716335142cb98b73428d0f86630d08b5b48b9264a869cc68c0c25f30774d145c5067646a43d161313d0bdcd2e4602cfcc1ce8ebfc91873643542adcea5806c7c52895d77e365a2665ef6bd2a49ea86a96833786ba349f2ed6eeef4fc5ad45af3f12fbd57bccba0db235ac56594d9b9671f9b8e5a5e94ca19d84ebf68c3d588b16f14dc8806cdbbf7968f67cd25674ba28e051f35dab89690834111a1bd2fc8c20c12a0b517fe059e2318d22882e6942de196d52cd1a63b1594355fc1f4937798060472eed1c7919d304e6acb8ac022fb56a32a0b48da89e09ef8578a53f150ac4796124e101c531f5aed8bf2a010638c90eebaef8b9d4cd6871c95",
+          "padding" : "30463012260e498177060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "b489aef0ea7a3c7171468a91132d30bba759e3506289023b8d414e5b42829e81ec7257392fad82d2d54cbc2626df4f906ad3e899f202df6df5428ab992c4e2c33d3b4812c3f9eba9d210be1845b37363698d6bb3713003277abb0363b26989a30c151a65a0589bb25c053760219bd2e68c4b5e0a999b64cf7959e05dc427a799ea7f80835b44aef449c4ced5d708a9e12f82d3f4340f98eb9836d1471d76975188dae04bbcb34bbf5b65ece044397d3f05ca734ff978cf3aecd6ef8f2d7569e7d7828abee068445314b9ab143edd70c347863909393d217d7cc35a2e3c12285bea6d848bf0cac7530e306adf3f128044b83e3e2a0cfb2d22feb0af4c1e93ab79b706c903cc0a13cf6bf17a7e23ddbd0e92b68957dd1cf80bcb83a76a9001136712956ceec4523d9be19c71f4455f2c6aaf2f6dbe187b50cdf25855b3d86242404c5544919aed5129f07e2e24511c794aaa75112597a792fea352e1c8230e7ebdb6d48089efd8b85e09fda8d8f317d88792fc7ec2e9693edee4dff1d12acd568c91239b2fca4b6d5fb7bb8fea899976a33fb0e72162b1c9737bf84992d210f6374010187afc02fc27a97e07cf6604d8ee70277189ae97da0a865f93307c8029358ebe4ba1b04a5e06833ac0e468cf1ddf04490884c7fd5b776d578dcf73ffc813ef78d18361c0f4ddaa45afdbd02f5c4e7082ade911b2c69d0bc64d6238cbbbf9",
+          "padding" : "30453011260d2500060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "cf90ee6813db19fd26a6fcde2185d2bfedf5dbe16a87f7b3e04379845855450091675187bb43cb4c8394a38577b88b750b3659da84c6de73c59c63baae39077123192fde07b630dbeb1df55462541a0286ad6029f93f61e954d9f3aabe15732d0130e530ebfc1dff8d846b37904ea72781ab7b8d88e31ca5b35940e738e6594f9c801ebacb2aa227f483f63d52d2200d42ca1261e21cae1424cde46b0f58973a3d73eba6f372637b3679aa31336321501f1c0b28e735829f841de63177c3772020cd446482a76c0700403859d9506e32c99afb0cf674a23c5275529467e65f0dd6e9b838493a94a0af4ee21719270ba83b19f93eeb7705dad959b837f2eb9a6c6aca8d6edeaabaa43175477d644fa4b2b3f5a8a243b19868ddbd4a199f0521f4f00b91399fedd7f7a45df6ef145d54e2019ed8dc56f207e1a4d116a2dec57aaf68b2b8b847524cc1fd208063e74d508bfe648dd8c3d909b3cee1b675ba8fc660cbd1010bb4cd7df3825c3b2279321a9015a1c88022c941db129684e1a7d2817e8b362e5d9aafac8e675923ab8e76aff8aac56e8a682a789487501076f664e16afb5ce76f550bcbcb0e4250791000585ce762594c2f48701654691b0d7b09770d7c9d4b24729d4138995654fed704c47bf1b3341552e1143788630be88d44e7833e3e76f68f3cc81695d1514daadc12349e5e4cac57453e262cccde41238396dd",
+          "padding" : "30493015260b06096086480165030402020004deadbeef05000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "45c53db9a2345c4d808d6b309de82bb90b71431fb3cd7952a48d3aa90abcc9bb7801cdcc1ce324d9cc9314137219511dbd7d5f6195bfb78c85586ae9940ed29ed74ec036f94d440c9cb6750fa3e1389e3cf86acf77671e31c9b6876f80225d75bf18c2b52d96ba2274c91e1c6a0f18c952800f0a975a09e5b17aee54d6cc05438086bb71123bd403b4ae9e0523962cd1e0e5a36bb0411f429657ab0715269b6581c788cda17e806bfdcea6c244d156c01728446e12116e34d3739227817be078406660d8b84881150845aedc295cbf1e83bd3bd0bb7f2b397a3623ec49de587a4d2577e28d288931170a7a119a74ea9a1ad37e06f2913b5884cf563f4b367efa900edeb6948fd81a24877a429636dbb68d94d6a2a73514bdc4f198348f72acd57d022e295ba9829bedf756003818b722cde1e3e65595b28df3b95bc98a59dc3377d0bed0804221cacbb1f5a4f3f8d3eccd8837078447be684afffadcef59c240747172b30881cd960705d88c364cd022e438a1c200b98ad602246d5802ea71a0fbacbe62502ab0f1ed31da96ab5293c9ab6fa9b52674619d3525a4fc5a9d5ae32814f8f0e284a16d0b7917a578692b934bf3d62eabfb2f155328489f89f90dba95b2780419a410fc637b953a9d77549a877ee896977e166e3aa11123d9bd25ff54728453c4b42a5b493dfc88a3ea188d59bf48b8d75a608b8d97d198692483d4",
+          "padding" : "304630120609608648016503040202250549817705000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "87f22dd5dae36089e206d23ffa45fa5f0b05ceed7b35b24558d9fde749403d1a90929a5a34f25b6ddb44c5e40f2084b77393edd5ad8cdc3bc2853a1054524838bc1a4f70f2e043d4397c339aaa8a8bbf918ba192b225e758576e9f3a0b20a8d3ce79506223a4b926fa1bc302b98d37a53382b04d8e76e4739689b0094812d82e29148e297b217173790751036cc7c800b4a80614a18fee9b4885ca841a69ab44aeadcb81ced8612ec11596aa136a2ef0457b2e2c4924eb87dbcfe51ccfb4d229db275d8b9956c4cdd572b0255d08b8efd9368c056f8f147d28690f1831ecf26d70c66533c87616ad1dbc074cd0d3b058e93a0b6df107f8d713161fa38d916821bbc12bb654d7d23c59175a38694a040d1ab03592153d2ef7423bd4f8eca5741f91ac6ad4f25e7fd47d1f41ce63a886affffbcf71ec1bef39dc6ef09f1928c35a4d126a75332a31bc9ff8219f16c1226b872a95f89d03388084a7e2b55f9c04211ec1fb59966fae3446f9390a4a3607e6fb23c366401131296bdd961c76e5f1f19eb25ff8d887cf5f0e28b2a95bd8da627cf4673ac32b368cf62fd3e7bc9e5d1ca78ee406b71c5e965251d8567d9abb05b16dba5cead301c77a4771f08e3b290ee778ea4d7c43666a388efbe5b1a163e3d14417c4b318539344e86592e46374c1ca1b1423fabbe6bebe276067ecc25fc453180e0b1975d01bbc037342cebdeb5e",
+          "padding" : "3045301106096086480165030402022504250005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "8d3e95a6d3e758dff6cf320702f6865ab1baba3c7bc01e5e6e1bf501e3766e9efc7a3e2c73d1ae06dbc4025219ea6275a92a4b361eab888d100536e620cce007ba3aa7a917f6e715e29cbeecb28308b873d5e3dd4b619c484b9a3d80567570e426b15942c30e9d39879099d2b6e483af3752397342b7d0fc4e556bc8348af4ad280a3d1b1ed25f18b866a8bfbed243cc5257e1b1e5b5a4527f26c99691f2be8bd6e6ef75928672458bc4cd4bd04220b81ee70bd0111041d612f66d57d8b33c251e2ef69d693777cc9fa8d5c9299d2643f7cf95f6992db44ac5524ac9f3193cd4d1bbd1bca5309a830d023c129bffab5441c406572fa40b22fedd76fd23b04f3c6871baee621cbd5dae7e6580a6930105f842f9b213580485b11a01b9788b0c27926f6094851345dfb47f5ef90abd14412173694b8a14609bcd35bb93f9c8d5abccf1697a1c81093afbd83b972d5424195ae6aee02a7c91dcb198440e305b265b1a6e11c1d2eab3bf7d2d4bf17a1da5694701501674838d4e5d79c3b005a4cf08a6bdf8cef2ae75b7e054ee6d15ab0ee04897560060dd514d073d9352d50141e2444c9eda715e68b8a6c24f1e717dd53852fcb5bcfd0d2957f83cc67a7c5f6ad9235ed8355363e02111925faabf8f78f33879b7205695217b780fbae9f69ecf48dd3cde100267a914a81ecd021ad0fdaf2a0d047df68a0a1bf73c18a8cee865de",
+          "padding" : "304930150609608648016503040202250205000004deadbeef0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "5d1c5c91033b1025d81faea8acd768139c112a3669ce1ebb101151ae257f299ba5138b7ea2ce123e927bfdcd8865dc09154fb2adf40ed7ba82d8e757ddf8363063259e8d30d24b169d4d5e98b911ced54d88353c7767922c502db33bd9b4f4dccfb6f5335a0e1839c31405f4c960b9d7a60d7827a405f3bab6296acfaca844392a2f3bb824029c209747e35961a9eea605b12a93134d0b24fd6778dc10699bfc160ab12e39455c027df447bb4d9c915ecfba78d6e66e904c5bae25a9fcd78b84690902dbadc14f636acae14effd84aa28112252e0706262106fc02ec191e891807be31046134ff7922f07e88737ffa9bd34732f87f3d459a53e5e061febc44daf18d0df04cf125ea93064acc3f257652ff1eb9aae4aea921dd89fc28fd7dcb2aafe5d9366e0f6a11a7bd0f67afb62d12efdb537298d787c328390951da3d778d107413b238ea66c766c1a1c3cc364679f8f99098a1cd2b7f9505e7626c6906c837deb1b1587e2c4b680c5a8133782b863fd4baa6b879a292312abe76492cfee03c20790e5ff7c768f206d0b4e3138d46cc515a25bae0d2cd9219f78b9b932a2671097ea651f709477c1649ab3c8c9875e76efac70bdc70671217aa15c6be247c367354443c7e527065fd1874d6edf1826600663eab61097bd007478396be2a2d837d44bba28766048aa02b3860b46cc71915798787ed59e06d836f46ec0c31c0",
+          "padding" : "3046300d0609608648016503040202050024354981770430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "2b5eecfb4064a56748b56fcef79277e05ec827298359df48c41c75a65355c23c678d616bf25f08f44761ae7dbc7d161543b4394c5687d762c85fadb0eaa6e098ade6bb80dfe922b88231fc296e269411bd40ad3f18c6afff66a4bb2599628aa6fac25e4eb996cdeabdf6700327f73f26905ba5923a98908ea13f326538e1423805b75d6637262029c345cb0fdc7c6acf0897f138eb3f7b7976fe129587d4485cbeacadc16fc31dcaffbaeb7bb51c49a4f8bdb15e14a3d0ba958f330ee3d7e805db7474c4a7bfdc7f26a47cf82ae35a589559ff7b39a60564a3fc3b9e4e759bfce76e1e2844368d6d92e0e8ccbe74045cb3caf0ffbc470fbac748f72b5455b9ee38a615bfc5009923890802042a4d273fbd51bb1b00d78904ba06b0d5c425333616af7de7fffc8942a3d42f79ea6b3c5c0696f810e6033b0504ae3db2c6df83982bea64c1d8043573ac3310ffc17e210ddce4b61abf164a5e447591e072b67d01537b525c5388afe87636011ca70a0f2e75f3afa289a1d9de2894e7f8377baddf252019f4770eb1d99d4a473e92f9792066c4ac9019c2e0915a74acbfa9cc8882a4ad243a07767e77246c58618169578ba6a24af4ef24fc0059124668ff988e58aa4f654afd81383ccf9c80e2efd7b7f65aac3369d4cab253d1725a414c169d5c25d08bdd809af264ddf0a0c0d95f1b3acc71a1db00bd3efff553ea78703e54f1",
+          "padding" : "3045300d06096086480165030402020500243425000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "68c8e6796c0cab6fb142bd411354b642469102ae094ef94e1157b704ab4be36e1580adf1ceab32e1c94a2bac154b11c0d80a84284a87d5e5a48ed09f08639be9c7349e2c8b6d52190a241b0afa60a4993981b12a59a38f2ff89e14cd8c765ffe7a07fd6aab3e66aec6b15ba042dd6576ba9526d8a53816a8dec33a81b4fc8b5e6c4447f4db261842c12cd76a3f145269c6a488f6c1baf116624e697270f10f8eec462febc798bfbdf095593271cdf47db347da18f4c470472638b711da67654a6ff54147ed86aeab70f6d85ca62c4a374cf56d0aada38e75c8611343b3bbbb7a5a49bfa8ac327c70cf0a16bf8a700c95fc761a0caea994b9a51089dd90d4c3570717102f965cf78d2015bb6eb19711d51613220be1c9a964319eda9bd767d8d42c6390b19f053e759e027cef3f18431dca9ec303c175356a597bca8807e72e20c71f5d18285e96eaa66ff632a1378d1a38a76c1cd7120c5887a8b2583d64ceb3f5dbb9a0ea3151e8c9e86140b8bbbc5e00b8f1467b1f7dcee49204cc435ba129dfc3c714f144f9b6322bba7184961b496039fb5f015af34b55e2eb2f8eae26c63a99e7b4a04b43efd61b69b670afc39f5e7d5806320f9a6f8c85babefb617df537e2228f85696dfe2e2cca3c057995cb838eb0f39a390f257241de5f1afdbdfb33df3cc1098db7383bc9b47a3c3c68c3f66b8f2028d4176c00556479a9d32d96",
+          "padding" : "3049300d0609608648016503040202050024320430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "523c906493b202dd0ce8893f31ad828c81f07140fdc071f030e6f44afea4fb067dfc44b80edad16a26a1a2ee1c048e1479924f114eebfef6976d595baa77cebce5f955eb34c9f0a6d4d2a0518deef00b8a3fd673508907b7c46e8326bb874f593ea3562489dc03315a5e29f58223a110be55c37bb88509369f84e218d538439f13d46ea315367696299f3966560d282a2c835a9479709242ca2f49d90a341192b32aea1ffe69a2d2444eacf3ab92c083e8593f6ba06cfcb7a0e843d6b830c7b2cb9e9bab1249348ec7b97accc6415c86353fdb158b2008a27baa12e08980f216a724bee7632c9c49595c47e61e565448645fb3b349699ea3a8023256f76e8df613f59364aef561cc970bbf94545518012d5898ec4106af592c5fee551861c7e96659e47f133b6c4e7b63631105367fdabeb3ce38c033d5a965a4dbbed1aff66104df32d237c0264e44cd938d4335fe5c67db6e8be9ca79373dec2631985854fa010cb5be92922a1695d6e47e013a0d7728f3a0dfd519b54e0cdabdc290f4b6eb2c4e3b102055aa1d9005520f00532a8ef3e76d6e6b2470f270aa2456c5bea1db924b863b9749e4b09dcd186a0e0fbca8b3b2f7b98cb64e3682659b3de80e3ad723344269e908c393e8f9b72db5776d51262e9a59f275e56e612c106182745d0e5e8d5299860e631f97b0a5356534a7724c5412ddcf52c85628ae591f40780149",
+          "padding" : "3049aa00bb00cd003041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "30b0c596ab84978dc1e37e88cc7af788047ce46c06f804c749322c0ad6bf2bc5608cf8a7aca3bf695a922e826eb5c3e64b46079d23457c9fb0b98aa6acb470de05fa612e9dfafcc492bead178ad8cac673420f5da5d609b518f1d0b9c0faac154b9310ed12652988fbcd7d5ce757d0704a5aa0b5144345f85cfcb5ee3138dc86cbc291713e50908718faa9badfeebcb73cef9a687db4b811d996ad92c1a9af7e44d875842cef14ee59d6a1f335d4cbb9e41b6155dbb694e15a1487d664e5c8e6c37956ad1292958502a1f4dd75e08efdb1ad4276fbc5c31804937cb175bce6e0f734aaad59ef27c77ec6cc6267bd250455027581565cf91bcec27f62ca5e9a1e1b8b48fb47f91a086ed300c09bdf5e0a4cc36e7f4fa4f431cc5b00c7f7212dc321e9d483770397bdd8e1b22ded6d01ad2d12ea4253ae223c786b474f5751a046357d7caf4322e61ad55c2279ab06dadcff635fae5edd2dbb6d429759a173cfbbc8d3d537eb6cda911b290c0b0396b4b04bcc9a59a73b985b45f2a91612df57fc760a7eeba04ab1d8e728c7e2fc461553eafe21d2af3882b1cf95381c759714603e426748977294038ad528d82e8338f7403c78d78cd4d0fec8f6b0f8cbdc1fbc33f6d70f1cf792cb7066540768a44c4351319512ea70b20831b70682b96c1784316a1be737826e8f4022bd4fa84396f8dcd3ee4ba71542b6c6bf3b3ea9edf150",
+          "padding" : "3047aa02aabb3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "824ca998fad6a19067dec5785be1397c8e8b341c82b70c02960ce64284cda341bb38a5f1f86a428bcdd7085e939157ca627a18a823b8e3acf152391a8bc1f527cdbea011e44e8450749f0bd28b4568a30ed276d3866d2ed3bcf48e1e1cc8d9687e12736c0de3a1c0693913e39152d636210a3a50788fa9dcd5f747505f48f86b9a406927321a62e006b5a0eed073266efd9fe8d942bc64d1cf32e525e7dd9a036fc4e7229ec141ecd24e0ec67aa0e23f242c04212649b7fb8daaee515737c0d0a1b24a69ce324fc690d6ea0195ffe3f6f8969e19eb7505a56661243035edf27007b6e63bd5cb3abfd755726662a09199ef1a84b3a759cd86c469c5a7bc672cd4e9987154486614688fa3c7763d608f09ef07fda12b257f2550dcdf77617147d0c6ac25751aaa9b8e68210f94c7b2022a7a2659160e74d9bda4d6549a2bcd0930106879365ad7b807bff9971c6083147bb10b89bfd8611a2e363d0e0b77193ee746203faf89acdfd0e85e9efced46c0bf1f7d61c7778a7b8c091da878b5309ed503e9986984a56c857783501237326644b35bad0c50cab3f238b60d6fc63bf23176ae9a6d61e640e5b01aa20469fe5a75613e9da7131c97ca654377ff4f08d32048c99eea9414bf5e60f5d69d9f8c8787e12a4d526febc52b585764df437aa13b50f471fb9bd5cd6d265fde61fe159c4cc709bd27dcb3f18e333fb28265e9db86",
+          "padding" : "30493015aa00bb00cd00300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "844dadc18f1bd4b8bfcd206b0eb2163a3ac64e5fdabc81d17058fd97fb5c883af60bebb6f5a42e0dbf02cd66d3bc6c46787f581549bd22176d8e9b75eee0c10f64052af5ab3c02dd64fa87613b59293900fc5d2ed715d6a022ddd1572449233972a6b39b7c80ef408dd083e4f69ffe1ac2e7ec58153ddc52743c0a4caa9f58bdf44b4cf6890bfc99db817702bb44637a88f13ba92408d53145d693970ce81154124da6bd88cd96d731d0f248f76554ccdb34adf41fffb3c99c660ebe4ce501ab96ad52d184802ed4a66823d44b0374034841e4485909a7c7c888e01742d04f85bf9fabd39fdffacba9e97b3b6cfc3e27bb2530739275f3cd02ca0b4cc0a5b9485546bab8c101511b3d7f1ef335327b10b618cd7bf40a043ed02ee667d5e23277eff4b5d4fb51c92a82fdce10e412e03100c2667c084f54f3769b21dcf6fac728ef47fcb7f3fdf52b6243c155162fa63a832fdc4b48e650cdf17e887d0d37786061c5263a7f61e966a546584e454b61d2ae0b5365ba3fbdff4739ab388c082883ecc9385682c74c3057755ac90cbcac7dc296f795224a902bba9428fbac5cf197d36ada194a221cc6b36d9a93ec508dbeb9abc740cc736023c5298300f0dd3bf6edf0db417af44727807ee26020d33ceeec49efe751671bc06b5f4da2706bca7a0916445d11777725895f741a3e2d137349f43079a89f049f78b680c2e9cb5bdb",
+          "padding" : "30473013aa02aabb300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "c7ea4cf1dedb76167a8c96f7e42346822c6785c94be056d0aef3918c89c243d9a64adef8a7f42f736a19c3688c8ee5d013bc633fee0696408d28c38b9548d998677b3289c7cd8061751e0a7bed4c1ce74d85f66715eb31974f28640e82190bddc7048dc84f747bcb8f74f3567753da72e888e29c6dba6efbf4fd87940d3c707064fce7e600d38318dd1c742b154002a164eebe1e57418f30292f61ba4b2c4bde76699a0f0f069ab3949c2a97116636c6a21603d6e8a419099bcb19eaec3f8d6ac0c76c5b9512f7a0962297aa631e564aedce4d41f36485f3112e2ddc08145c0b02a87067ecdf6e256f70a34b483065c9d15dc294d1e7372c4bf45991a0ef9247d14c8de0acab93ea0b87892b103fb8c1823002c977a7d390b3a3d392c67b72ceec6af72b9f500dc92050327a286b8b9df09a68186c03a6fad8210184a551f6f2545cf86562d978e8a6f2aa697e059c1f37181769058ba7b199150f165edaae00f85a51670c2ef79e2bf4e8c4cc0cbfc5b430b763205e2f208b460b3b70ae504e08b5237c890bbc7312e61823aed4b6998abecf0835f6bab7c6fbd729143f833c1e5cbcebdaa7ead5b5a135b16eeca9255cce98983f3a9cedfa7a01d1c2fd179172a56cd661b642b52ef26a51e98f957c8cf4cd96bcab7b216a48267e661bb6acb328454d376cd3a2367bd47069b2daa01abc3e45dca349710dd174ca55ebe747",
+          "padding" : "304930152611aa00bb00cd00060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "19728d28c3d3ab395d47846577799244469fe195b59730a81e7bc3e02416a86a496d634d704d0a59dbe865a92090b9e37e3a5a0a76a18216f5641eee2a1a8e58a25d3c96500db282fbe476758bcd0bae998732332e42efd1c06db3d3d0dcdc63fa8955c06c7bcbfa968272d4c9f618d2cf211a156b19656acfeffc8749838fbdbbb033d6560bb2df8a07f99db7f18f850fd28aa5d89d1bdebd60fdba1f8b6044c946ab0e53a239e449674c5b9836d5f5a3a9eb1ffac8cb5b0a8714a8fe2e15b6e988b371e434b82891e7896de752216426e0769b11eb59c826856df058992654db6cf4e8999ad4c57d67bcf505fdd3b843d2daf0fc11016d64c554b17713ff838ca03ec5896ee6f26f90fad63cd44f78bb717ebd2c839b655fc5adf0e78018c5ebfc9422bb7efc669e4dd7ab1c306d328cd18e69d16a86b63f0b832e08144980c2e1d7a8c96636d4f4907f365959af5b5604408192d11311199f468ddecdd71e80d0e86f31f36df3576dc0823ee82a0bcaab62afff548201f054f7fbc2272c3dc347363e5b0fd78658db5c91475acf7d02a425ac53cdefa130e2686769daf742d05e06f79d0320617433e0f48980cf09354425d96334a724c1a3628e5fe437b486113bc5ddf70ad93322057e7cfac773fff134591e5133c18fcd49d5ba053ce021ca13744ab764b30c0233546d67b43bc253efbfec35f97d881c3e4c38fc4528",
+          "padding" : "30473013260faa02aabb060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "ba6fe199b2287df8633e89b1a7f38d651092d2fbbdf6cdf6d852590557497bfe731ae99c71b145ea009b6cd17313ced406f0188f773a4e8bf0e351decac56c0ce582ba1924d2d305ca3eb1f10ad87c869bc232a83fd6aa4d9ca4ab22b83dc5964f9dc4a1510032bc409c037e2367ee5a7f6dadf02e54137fe04e84468c424a050e722848c594d3ec59325842ab1ffa0fa25c107251e6d86233e5d43e9d6cc2bb3006bc1b5cd53417a23e1a880045995abe2c6ce8e54bcacee477e6c99e04bc3740b1bbaa246217770b553eec19c61e3267f9db9e68ae8a2ef216c253a668905398e073ddff62075a7aa7ae9530e588f40c18ac294e1d5c1771997887e27d2f07d20ea76989cd12785015cee5194e2db5fb736c2582cfd0486316ff3d3f26f19a348af147b77cf6cdc6264a38761ac270c2ec5d857785abc53a3a5d6d8a05236366180eb7df08765297b384a8e267994b847751b25398671453aab2770e1dd2448d1285e078ae5a561bd233a0ecfa2a4a9264a132beb83eaab5de5c29d9b0d2aacd3b125279e81336700f2ba8e76e756f4411c4f76cfa7580622ea86fab035acda5dffa60dbfea9df2b03b9540a1b89076559cf5606aa96987a5b9c46039593726b6c19c70515db21760817fbf588cd159b7bc56803f1c275533fb59e4913ae2b7973a7dbf034d58b6948a4910b5dbe688b2a2e48354d19259edff55c49527412",
+          "padding" : "3049301506096086480165030402022508aa00bb00cd0005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "82c99abbb7e54f234ff2f2645d4267ba80f4b4cc7e65a52702f1f735bbaad8861c3d57052d8da51c478e2863d2e806f9ebbaee76625d07be4c49a0fd6e3f8c56f186a43d994bad73eb09ccc7bc3ecd47d05defbe45b5615cfaa2630a1da049f7000f4fc398ca1a969c9debe2bc244f7eca92374a3d57794d5a1b7727b74a9ac3e0343724e6e23cc3645795bb464e505888ba01a87b089659724e52a4fd308ed0452254395eec76cc759b0b352bb5481f721fdc21d4cd31548d11c31541628ff58d6978cb0f8ca0659b53312229e79c17183b727a60f482dd8afe7b212254dfe425cf54c48aad515cedcd0e1184ed757f7d5df9fa7664f1dc2b950de557af0a7ac06782487e40e85b2864c9bce8134ea2ce6112173ccddee031bd53bdb63491d596d43b8b1767018fddb26703f0e5d84fad73c8f8f6fab38234ac60a96c0b6a12619b9570f54491cf86ff7c00fc0414e6bff2ba0c1d79ec42de7cbf5a3237c890dd6626ba6f0b94ece47d616da769b66670cf0e787606903eee99f74f30d453ee0f03a5d5fbe16b1f4954e37af07880e779a913aca04a084e234feca996362a6267304b2133619f91a1cd5dbc87320f46fb3d13637eaade44846fa6dceab8ae8cf591a9119fe50cff61ef789dc2b3fd7996e82d0846a5db6dcd0cfab96bff1dbe14047b213ad6da8229cd281f47abec5c1eb24238eef1006770e5730ff270d168",
+          "padding" : "3047301306096086480165030402022506aa02aabb05000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "a735f661613e78684ccee436e49d78af41a89c325a5d2cc8fefd734c76938ada09ff8ebaa3bbb1f35546fba76e74782076d56cda9a43363c3ec58bdb12183abaa5c50f5ae337ea53af2dff1148ae87825461d294fe433711c9891011f64b2433a643ee850d2227e59a1322a318ea66e3516a8a5844ef87fc4ed961eb55c146b6f98a389455b97304158283ccf03df52471e25d35a9c4693eb51e326ca0a2ae719af93388119365dd06ce0d942a810895e1ed0427960148a6f9e9d65173933482d1babbbfc2f3053d6ead274529254a69a903d7f2d15fe3a347e9e737fcfaf724b7a7cc21d02048dac0e0607aa7f6a7a8e5de4edb2f81c25c7973f632bfd522dad78eb6c628775e12484fc72d97e6bc35b8daf68f48456537682797cb66d4252d01c798606e440142f25859c4dec2e916b3f006c14c329ad67e6fe4f13bb0522145ad1583aa49239cc596cf276ca2e5894e448275a474c9353d2e7e7095cdaa1cee50d967e459b0619d5e48e32c328e0148381ea3f4b5a8afbf3e33ab58b98209d5fe152cf43af042efd5dab4224380e6f209f151642290513affb63961864f35ac85eeaccb8804da6a10aba85eda5438f9aa184f96412a0e205b6b8baf552e0e89a338cacf85eabc390af745694c51e26c877cd0c9c0e38f83436219eabf9dd23be5604a06c2411a08dec7e15cc6eaa99899c56c8c9fc151b838b998e8aebe58",
+          "padding" : "3049300d060960864801650304020205002438aa00bb00cd000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "0d7d84cec3b897703850d770826b1ac6f74ed87d4c5139a1121aeeab20ba0ad83447d7e767f2394ef5b8b28cc431ca907ab64d57d9419028471cae8d6c6dd76ad031f06b462d44f3c82052825bfbc4924e31ef5a89166d90402e082a01ae289d5a92b66ab26a9dad5f279dd39694f291f6113abb9337efdfaccb8a94cb49bed18e2a79865882d24074bd096a3525a6606ed00a3378f867a2ac2e81c4303d59a83871e77d4098f8fafdbf2db9a0e00006e9305dddbf9774d4c55ff925127df721679a0d701aeb8e987b6e061874b5a48a315a3758d398ef265fd7a14d76cbc8a2681bbb3f3cc3ef7ded37f99bf9862205b333d644945dff50fc6b20288b27591a204a415d79c9c1e1a088f9234edc4ecbe49e7951e08350ca64163d27d838433183086f8f5492d7a4c7e018006e82610dd7fc9b744419d3bca768709533e70ad77189a7190f5d1de2e55e31e68efe3724239b61dc8114060b69a0ef2a720eee08162901b05a005036752844caa02b69537efbf24dc522010c7eb53af96ee8bdb033678ec96829f4fbc33c94112c87d945ebdc3334f5b0fcb399b3733fdec76ec4c1d87b5706eb8294ef3f06877a33f311d5533180addae563c57fc939cb791404eba064c8f0009828eb2315b46c266d7352c563a41d6ff038258c94b51a710985ae678fba0a4731d4303b553085162d35440c453eb223d2d8cdb58cd4c348655d",
+          "padding" : "3047300d060960864801650304020205002436aa02aabb0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "673e324d7cd249bddfd4cc0fecfbc59fc92528386045c2c8df3ab0673e631d675a321752134e30947ed7d5cd2124b2870f8777c32ef7e5e8c76b51d262acd2e0b30904140979ee18dc5d6e7e3d4e97bb75825ada5631a1036e8aedfb194de2aefefe38827c13d528752d5337a752d3938ccb492793c99e7a726683ab7dcd9fcbe3fdd2908fffac6d866b13c9617d272b16b35c73bafa10bbcb216f44a543a9c75e88ac85e06c45cdcdfc2b0cbb900dabc11de036fe22ea06d33bf844d1371681c2a511e1c8a475debd0701c67b6ddd907818c300f32fed341ac4fcd7a356d30542cf096bf369dc95e35b59aef2a7c0a3b91e7ed4267e059398e282caa40d4cfd407001af2e85c78199ce9065944d8effcb1a330ea5cf5ccaca9fc448d967ac3e7bfbe1f2499700aafd222fe743377cc91302235e6446cdcde822ab441d074adbd175135b0777588d5a08c6e4a752f46b7e1d24b5179efc3c0e12068567b5c187d327a44de9f8cf2d4346a309bf91995faad1fa7b62270665bfc9d7ab4e5e0a0bf8d86901e5c904170fbc818d2db67f7a341bcf44a13b063d53c81fd7f7c5b83ad2554e5e624b6edb708d0bf1a0b45b0c9a087bc711dab3018615b5f41d164330d5f95dafe67bc482dc4183e70d3e16a4e4d438a728825d30831eb95f59cc65649b4ee89c01db4c013d96265bc85a55ee62fb3360e4cbc08e9dd1986840e8acd3",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "b01220c67ddd48e204e77994ffae3d6f96790f57837b141deece461202e89f15a4487990e4f5a703c1b24110aae87a8378b7bc5bc8896d51df2d10020ed3a3a3ec74d17db4024c2b23b7b7db958b4f8373cd3800f2acda5848c7d8ab163e54d49336fabc6c3b5d190a8fc78614b4b8ab12dda7846e4094b28decf8fe91f6f6133e2c10c6a8c27338f820416745d2be921d92b1ec557a40e2153bfb6f39e2ed4c462e8d6cea5108a715a857c3e0cbe905b6c9c71858a92aaad5dc8ee34123a8a58fed92edfc68053ad492d29197601994bf8edd7d1f1f86123f0ec55f8b8d15e1e0a9fdd78543f16a7b79a48dd9476466d57d2f0bf43ea4a153c093e2144e53e2fba6c41415c5f40b8a032e753995ba93082e66ab11e1e01321a66fcf65af2d270444f48f1e54f14bb271f4a5d206469ad1fcc6d2416d989c8a42c5f42abd525aec9736bab919ab5dd5bc6314e64d4c0770b963425dd021f90d9043192326974250ba86bf362c566a7012078087dad8c4a17b81466985baa51a306bf675e348c24d27d90a56aecbe7276d214f088313340dcfcf5e5f4400d6f3ffc1497c3eea09ebbd77ed8cfaea82764f2f9478715afa737b079aaa03cfb3dee6ee6fd219d1df49d4c8c7b57f24c8899804aea9f1c1a379616c04ab4b5810543c45f30ba1a660f1325cdd8592069b95196fbdc79c32da7976ed399ddc4948c0cb1994d2c8f109",
+          "padding" : "303430810430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "0922a02d38b254cfc1b02965be4db3b6db137a3fcc7414737ee34b1a204c575ee12a6860e84d8f204dbc67c6613e75ade8450364c05cd7945641dc920f49f92e0aacb59d04d7e302da6f030009305674cfd724946ef5bf661763585addc7081876fc4efbdbbadfd5d77a65221bfe2960b3c7f43842544cc97f3710ef90ce508096921a2e2c32cd55983b2685b2f5fdd7c0da5a2293ab6e7d47a61301222c40f5d64bc66386febd37c375efd2ee8e43abe68afb34ff2ea1236e3f1d01959625aee0e05fa40f95583c455322f8ccf7dbff80d5212bd8cfbc54a12cb6a689f8f4eb4977fc5bdb287ce02f7c5a714abccdf50efd2e5302a89e5654993fa09ff5e45086dace58eabc0f078ce2fce724bbc96b6de36ad9d0e5c4993f2c2fc416ea196b93ac63619f5eab707777a376d8d0a51d79a5c586b4469a54beffa8fe56b0ebfaba579b47844859202e5ff8bcc8660e132c37e46c3fe801aa614d50c9953025b338dc4d8cc2ddebc1d07745a7cec01bd9414d82892a3f4818c634d51c486b7065288e57ae9d1520cf02c397cc0296c674aa05cf671760f2f018b6dcb8db73f79f6e95ea2111c0645be64927c9f802f8277922bdf94a6bdd7023531247baaac95ab10d7fcbfc8354bb44616a859a83fb080ff895528076a5c328f89516e62694b2803600305d10a8513cf705866f459f362f764eec706f77b325bd7cd40255fe08",
+          "padding" : "30803041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "cefdcf39902d003e18d802fe6069039ec65e16a3d14e8e81d5d7187db2eae04a36b3636a0e0ceb37439ba21b0dc127ae57c8d07557d16903ae33d1b3523bf3b93c65e079e5dd7d3d6f467f8c065edade7704b62c3a4d422cd14c0e17220038b1df0e039542758b42a60603411494adca0fe357a33d140c2e53a43b756c0a2444618044fbd2b1844bbe0bac59bf10e527e2b9694887135a29ddec1c68af681547f38fb203bcde4f8b0cadb1930fb63e344067ea1c104f71562c55c5a2fddb1babc7f0de0c3c28a32931d0970f6e42aae2105332e04a36c3b9618bca0a91999c426e32c26a1277fb1338df1b194478d2fa30dffda105007a461b954c1b8bbf843b36964abc21e6b43bed000e19753060f795b9bc1f238a59328a24e7cb3bac9f1a4fdddf01577d8b8ba92523fbcc26e3fabc9dd17ef950d10d61832a269a09a1cd5123eb76c4be680b633d0f6cd58d87833aaab542bcc380971561a5a8d82a49dbb24e48ce5f90f84afb2ac8a32b8e60604650247df0aa9c8e6aeddb84b55446fb8334baaba4b08884d7db20c4abc1fd819cc1a39b1fe63d7a74d272eb4ae5ae25a6d854fefe0d089535a4c3cce02d247dd81f1504c983d8765f3dfa1b1778d2c5d7d90dd1b3ab07dd1bb21841bffeeaf2beb323403a7cbfee9f4fc9e83d3f90af100ea4f892626355bb6c0a9b14c6937cd5974b951afd7221545f1d4ab6cf710e",
+          "padding" : "30453080300d0609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "c7bb6a8acdbb237c80d697ae06513c4cbfcc6d823440eb42519a29fb17a7a71a02a8f07f9077057ab2e9664933d0b1905971ed0d8746b11f7036ca7d6fc6328911342c65412716316e6124d074b6a59c2e5c43f4d3d1663bb53882940b34bb34fbb871e0d56bcb590069e6fbdef4601331ae13f6d3a4aeca9ad2143c68e46af7d4114d48a9b33452e072be7a88188f729525e9c72f804402fa6070b24d4c2cd87b498031aa87909ee73d53d3ecc07e9e4766f45dcf8f02ffb289ff6e1507e913e55a9d68bc8c35589b0665ec498237341597f85b1d3e8e7c764ba7da01901f90e9eef54ae72f319ed17a608c256d78a615c16cd430d94af5c0d89777166b048d52fd54f81b548358b1ba94d65d677599ddd7c3b74f1002b2d084334713a39eb5499f5d5163aa2f56cad7d7e18bc42ee1edcc76d921896f0ff7b3b06906b7d074aac730909504b10678a83ead711cdc4c984748228ecd6f92729abd000e38e1755ef159ab0001abbb8af20315ce10fae39d92d2b692e6fb7a2e2200722bf8715b6a3a0bf4a8312b01c20aa1affbbcd49ccf7d6312c5ee3fdd443dc2b7639c417488c63722cf02710432c623854504ee0b6e1183bc3c940876d58f3a507a306c0018982f1cb1630c97c649bb645ef3d1b875189437da270f25f0b5e5fcd1576ad4cf38710bdef5f09131bfe35c82aa0c841e09a14837a5db728a1f377283f95262",
+          "padding" : "3045301126800609608648016503040202000005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "ab9dd3b3177b8f9fe49bf693b7d6eb8562fa2e0d04905de5bb2d8c27c9504af20cc90052e041880635f454045717779ebd2359a0d25c5d237f5279daf46d016fdba37d271622158b6b1f7defa08ecee01620b0b6e398feac0b3a14b84ebe004a2063d8248f9614b3a469c426f68df38e11c29d88563fa791604adec416b771ecfec6d4c7125b1a1a4c36a617bfb46ff11625914a09d6e72b411a35dfd7b805793ad7458892f7847d5f8d0185285aea27fa43020334e8b5c970f0ac306abcc33b179b2a1c22322543fff1b4031816b62f648490f96c8658752b96e12b222488e0e6bdb170c83d2697c0e97931c26895c9574998d67a2c9a2fe7309e498a22acc7977509e2a7c44764d10ac1f0f269812b0faf98273da99996e0d16816ab33c3c6a2dc8209ab39fe5fe0b121c4e07b3e3bcc5e2fdc46d01cac7dc1c9be8f4b1fb4434ea63d204313101b01aca2f6479d24ac2937c1f80a231de5a263f9faa5c36c1e0af380c550606a92b0b632bc486dc5d496c59c32665d13d8c19b2dcd2af6affc7cae03f7df5547fad63771023114fe8e68628b1bac81231a359b0a27ba86f5ee07e8a1f68c76a9862cbec38150c02c6cd01805d90d249ef0f6616ecca9e844fd9c9c10f4952534e95f0bd0abf66a24a6276dba332bc4dff19e17601da8007bbb2b0ed1e4517b2111e751506461a85271b7651d891d303eada229a311267311",
+          "padding" : "3045301106096086480165030402022580050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "c68d78d710aa7934f4ea6dbea0e50ea99fabd2ecf5bfbd51974aee80c574509f2bde952d4580b8fecca78a1034aa8b483dfc6a7a4413cc71c4f836f765fb86686ee68f46cf0eb2191f9e887b930544d3fcf20d98a2ec29b652eb77ef6d994dbc9d2bdb0e901b5bb6aac49ccedac770ab1a7a3fb95e33f0b5f42285886c52a65196061f53a308cd43e089fa9d17d14a5ea0fcc39dd837aafc6f556c3b5afff72d76d8a707e6766841baa75640cdc0d9e8c0b01b8d1f0a3a67d91bc12fc500f3a0fcb1c3342e27a6ff48dea24f24cace5494afcf3382d950279a07d175bb10f942fa57d3a28d5bfea906f2311b6432012a42ec25997ff35396c76e48767d6f0d0063b07222de97f1619ab8f4471f092694ef7c3822ac88206b3f491bc0cb92a343bd2912ae54b74330ce8eeb1f2749c99df30667f8c7b39e7c623d0c12aae78feb8ed47578f347eb9e6d9e330de8c1f29745b23e657403367ffc5064d6b62833a3944f4f7e41ff82f8a49a3f08395e5a8101b83621bc479a208236a6c32731206c5363997d5b12efa54fc7946d1cc1c6eb4c955183d9ebc0e16dc4bfd1c11701fc987c5abb11a48fe5c786325a7396f88a155f95a04790590927846d16a62574d2c5f3c716fd4966d9dd4d9c90019b864b23c81794482940400501b224ba9f4e61f690eda2b3359b1a24c63816c3b65d5274e21be2c7482a19865168bc2cc1cc0b",
+          "padding" : "3045300d0609608648016503040202050024800430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "894190558157e1924961175fb40c7d937b9087ebebf38f4456960ead945187ab3692a7990e51302577603487298ec75044aba599d46ff8dd7f97300f8797da644dd2f8299e3e4193e43c41197a9ac3bcc8ead4713a189c7ebac962b2e4a38c85ca94743998e6b078f936b9a53ec2f1afef70df7df96a6a40d03cd13218b884f4060bf2abe465db3e7ecabe9108fb4da987f1983bc0f79e2a2fdf86ee8272c5b8087bb595168c1ea59d32ea3a6538b9b13ace08ab09f75b4eb7c7aa6b23dc4bab318ac58b01758799e3459db3c19964c676d50d3b8196fbfacdc628d6e534061ed6e14a7b0d41c9856966df9c74f2ae82deac7148a9f786797ef4cebec6d431a2e1240727a793882dd3213edd4f22b1f94afea6fba4bcfdb4b41b4d3dc46400cb37bfe61d4236c518db4be052720e774351c7fb2cc7beed192e28a56d3353632ea4c807f688b368660db57b92afde5defa61c4cbc9b6ad1fb012b13b34d545065e448c614835b4bf88042039eb5ef3cfbe93361628635854c37487468e82f946e01da78c3648f04fa903704996a6b8feb98a6d1a393db42443bbeaf266d4fae1ab2c41cf9e974039e4aabe028e40acb4be89c6d7cd8be7b4f4ff743e12b9e3b29ec4b1508a059064c93020d2b8dca8a5488df4219d2e91db5542ca7483609ab8e881c202ed3a48aa6596c7f62cb73c9f0c433f563e49abcefed5c02e307954a7d",
+          "padding" : "30803141300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "2be0a2ea43b8a3a0568411d79a73aa29e74f3e7ab88d8e47426bbe6b6c8730b465f017fb8977caf1cb898300cd86cc873d514253fcaf2398980d89851215dce7f61b3106faff71655b218e2528897a4516014337dcd40867ac81ecc0ab0497908396237f3265be06c005b110b6eeb69dea0c1458ede4fe8b9161427723f0603f8a19cb90a221c5ee9f868f4ad29fe64721e202ab3985f6d93aefc7975380260ad0af2e77fbb9ea4c4326e31307879850d016ee12b239d1fcfa42383dd3e5ac4c11e8aaf3fc8c7b50c650ebcbbcee41c82326830c473e718dbe58adb20b5ae9374ccf3ad9eefaa9e015829ece498f5827326286e2f4c07ea5dc7618d8e56e4f09f0bfa53cd6895f3d6a37871fceeaaae9ad8996007a83a8ff070718e9014fc61c4cb9a4d9cd762b4f1df1883de6efcadd6849a0bdbf3095f4281ffecc278b20e56a978d23e2d2b0f0ff929dd4e11f0f93479f9e09fbcfc50bc3ee345784ed9354ef1dc384316d5a901a87d141238dcc25e90f739bc2d0f61cb5829a6fb298d01527726ffd63030fcfaed120f17836d1c1177f6dc5f10b228d38a3bd3bbc997f33925079e421e2b1e904ff34337f087b609b62f6ce4cc484d2bcad953d7436b4bd0f22036150be04ee75bed7eec5c9f282dd686037178b6c517402431809d60db3eb69fcae0f949131183cb532364fe2a54deb5663070666a6913ba2ddf7ad7007",
+          "padding" : "30453080310d0609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "daed6d077ca0d4725797747d0bad8e617b24c4d6bc22d6d6743a01e0b8f9e689c92567b13e68139235e0f0759a7ad4ee967b482828f85cdaacd9070850cedafd2b2fd33f1c5affdc826109e0bf68a0f8b655599c578650326674ba2570abff0ecfec37bd133fb795cccc83162bb84aa93fa4c928a943db51f7ee30c5002e92b8efae476c55560572a2f47a7ba04c9f85018402a4ad8cf2b21388a5276d9a31afa6d3e0f85e45406c54dfcecd1e01e8ff6e0f12f23b95cde387c3ebf6a86a9ead7631d775a39880225107cdff549ca8aa5474885c21a3db2129036b474abfd0abcc134d0866c05e043d16d49eea0109b621c51fd441850013cb2d17a5302f62646efe2dd383f4464eccf727b28f83a2dbbf8febe8472eaa975f6dc34f82571a5e4e1f21d65d19664aec694c1f54dbeed9bd3d6855b19892b4a9d2dc4e54451d2866311770bb2d3da6e091ae83cc261fa14a710511c103eac2fa7bc06c6b1c048133d1479d323ec79adf85908a81f106a20470eed3d1d60b8750a508d8da17164a952a170a2f2aadbdf611ea312b25d93fa10e202ea30edf8f584c3ebd3d7113d5e4ae618a63755b7103e5f5887ed8d33bea287b17162e6497aeca3632076b81e17fa03597f9336f279492899b8f04255a9a8dbd3adfb6ec17adb305dd0fc7a214402963342b33bf1eae98f5bdbc0ff7ca3f6b94cab3e93cf8af64d39d294ec6c0",
+          "padding" : "3045301126800709608648016503040202000005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "77d2bd2f55b37cd6812038cd8285b7e6dfb491c52b65a7f3465b35a198cdb694d44e8d6613f9061cf5ccbc6c8616317cab78c94a6560e1f64c25dbae259a47b753d9b1f95c62720462043ddc6a1390fda9e151848bfada7f74f523a9e729daf508f2053977f73fcf1a97dd5c227c5cfc03595ef82b36a99be50891aaa1d516eea29c094c4eee18d61e9a53e200b6fdaa4e48d6d954e9d6557f8b4154ece19c745ce348bc5886aa75f753086a1cc613b8b3bd8df209751aa6d7d7ad141eeb19463a44d836e36b1b88b22cbae08d87a713d8308c9af96679122986a2411cad90d4919be3284857a297c3fa4fa950ba0b74e9bf8570171bbd01672a5a0ad6e465090ab74fe6cf7d7d9ea6c5e2f621d52e86b69672e8bdda174f4f1efe745f040ab2745be06254dc94d92022ecd89feac48fe3eb181338bf679df7c06b8c6dd6e8badb7208c609e15ec6e38cbecccf2492b925d245cac1e50376801867d229f8fb92d49a9892645b6d7564647361ad047874f85c202e624128ebdea6e96794f4e941918015ded3b9b7566538f057bdd38866176f004b3639f680f63195a18e8020e042642fefac3edd45a2e746280bcd180e54ea4e8c9c7d196a919d0db1d30d3d5339747dba152bae5cb6eb7b53b85f00b8720f6d4de2109537804c1b1d65293b385c8d97660c1b9b84c46eddee1d2d97b810879ef95c1e83ee250574a9823639d8",
+          "padding" : "3045301106096086480165030402022580040000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "141921b1c1b1dfd44caab5b9439bcf12f1a5c7fa273da49e7ba8b9aa6cffb8474817a7fd799022c762defa18bc64e704aa3defd44de0ac97833f1fcae8a52b58f9ccdb93bc3aa68132584301852534aab75bf2da3da07f4abc46d8591ebbb9fd1f826fd55a9a9bce55c897dedf40379ec289b83ce2842c5953365ddf43b09c9d59dc70e8552ba34d57c8a4ce108c28bb6282439be010211c637980aeb30bb8c01d9b0839cd85e1a3642f3ccda4040cb6037de2f59cbf0af15fac420ca0393589d2d77336dc08a86255a4b9999e2db9195ff3ed79cb80c9ecdae380d684dc07ee1fbafa977dd248e342c12c04808d2fc89dacde84b701364671f5a44952598d2c6fd0e45d53b0e518f1dabe34701b69279253d99b8dba6798ef23648a06c4bf08b8061a956ecbaaeafb6df6d320acb71b6ac0a6a104624f1f54664d688e1853316e000e28e27e5f248085b17265fbcac4311b27b90756eebb3a8001d920c086f517c2aebfcc6a70b89b9130d826b927aa119dd10a15de8c90156efc7df8f684597b62ca9c79869a5157ebeb74d66f6fa6c92dabebe18d652548ae951c8ba659956b263bc2b08ced50176e5a4b2cf265a81511529f961338078fdf0652194da4ae51cd28480c952ee7722d04c5d69383ae8d06fd67e19ec8e6df47d192a9cc605d400b5fbead890e3841005e150ef8d0e1d3fd4e1e8d64faa452c4ffd55cda557c",
+          "padding" : "3045300d0609608648016503040202050024800530f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "077e1d74012e8d54b2583056d0eb8895fdbc56e0a6612b8a38c985d402788c3f0d47cee7bfd3a138dc8f08670fa045de7f1949cd1621bd0963bbd6bbfe8cb35289e998f07f08e101a5de1748acfc0d65bebdf6162ad23ff706b759a0ddad1c10b7685d510cff228c098cefff1cc12f2f9b6c1cbc4ac76cfdf79b49230264dc6a515f58fbbe035016a240df9d7a223501c10bf740332aafff301072d572fa5c6791d45e8cc87f03101ccfefa358afb598e822da5268fdaad0682f7219e6f4bd4ea8b1a138bc9b28e42580fdff4de74b75a10feb9e78b122f8699f5383cac12e8d0efd3e88c5d6d0f4c4c9702303fdcdfe115d662abda6bae43473494051ee74d6289996c4d54beed7e5b2de6453b0cef1f4f42a1fd057362f935d466b48c6873c8737af9a5e62d8c832c1546087f459999658f3ff1a6f7cdb56c2b834eafeb992791316ff9d52b1918da4fb3d091861c7b66f7db4474b501ad83da0b4ff1c4e3be7931949a7bbee7c9a48f01f5f83459ebf93b0cd34b7e8b6bdd35cfdf6815d747fd6f6ce405b9264ce4ab26a458ecb0269d5a849b10393ca441f7e80d90977ac0276599188f8cca39f059185267cb7d60c7d6f2c643343d1161175e39aee85be4f3e87c464bff1088c20edbe4a543e8b54a05c4f1cdcbf1ee887d14c09496b306bfbe70654d0bd19d266952d3d9c9d0b17342f8aeb73aac7f827e53da2585c72",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "994dd64cdb6233b09ff4b2a5126f50c3dc01880d0d8ac3e9d5c2d34bbc02c674583ddb9a520de643ac81f1ad407855da715e807f200a9310fc1a134f0d6e3cda9ebf541e8437199961c96a5f617e075fdf3e37788ab62c393c2808061e6ed92f72c25916ec8ed846d76adb3114d15ff77a323bbb22463bca4d7d7d95a8c9cdabee3c1b236641a6166d083eb7f772cba93d0945197bf6b9a8a54a24c5f12e6ed520eac3ee9aa244e8374ec4cfe95fab470cc09ead7999f054cdd6b90ff95bc6df33d34d765547fcb6c120c042f1deef402f764d494aeffbd9f8b59d012671ebcf08409e90b40d19fbccb29e105fa087eb1a1cbe6dabfccf41b7e33fb0508116de4548609c1b57d24bc744041362cebd3fe201944c4e4455290f950ca68f5efca364c985a5531957edf5857645fdff619f5dd013b3f751a7a9feac4c971323b730f3ac4663a6b36b21749e6643ef43ebbb3b81c601f23d159c9df3acf6bb3fe63cc86e53b6a846960337afa595ae25694d7a67145c1227c8c693e133131e2c622926e9b363e4445e6dcd89bb65dd74a4f766fbc8570f954513dddc8b5b16e3c200afd47413ce9318a3c08f8b092e0c527be4a6bcf7557264593b803f652652e59712ed718954353197ffd6f19853d8be525e1dd999284fee98ea3ca49dd39a1329cdc1b10ff336bb1b34be9f2334529176792666ed4b924f884a49bbedf0f430ae",
+          "padding" : "303405000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "d292f30cf75b901051216a9579ab9108ca9cdda91d618c08ff9b8ceb455ba0a197ae8b6f60c1722b1d212cda0048144f0147e1b61ec2fb65573e76746be9b237031e95af76d6c726185855436cdfe4051fd56ff929cbcf4ca2e2dd8014d8957c1b821100dd186776dbf463a46a884969bc6e2153b76805a0ced2230b9233fe9a30445d8a5aade694241e6ddaf6a1765a1719c4187e6b8e9a9722fb8b18b3fefc746d32927dce857b2083ac43ece35968b616090157db2b09e2dfdf378f5b593b03c2569e941084eabb29dee9cf6a6706800b274bab9526fa57c1e1fd6ff4195ae377c64a01e8842463ebc41312ac8ba9e72126fc6e31439314145991085a7e876793885511318b2e435461890d588286e8c938d63534da7bb734df3962069b62d1c84acebc0b2d0ecd349126e44da37e04f1cdf42a30941b0622735ad6c13e4757a3d48b96d51d2720ff9b0d02f5df213b26e75facea01a5a2452d3a3a041c4ebea57364bc5f9fb4612998acce1f4f774f8479e488e6efff6c21f68e9a6af70bd7fbe7798b75bf76fc2dc1280d109a8c5fb1ce23c02b1398556d5355f0673e84378cc26ffb27418109c24d30ecf4c4957f30ced867b6cff4f71e832ab81e61573a5ddd4c4091e26ddd0f0d0a85cfc369f8685aee93a225ec7bb23225cdc47ab102d699636be2521694c5aae2be6d282b3222f2e3da965fd0cbd583aeff86b658",
+          "padding" : "2e41300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7018fd12137bb5fac9fe8cbd2eb3e9d1d08de4546e8af48342160cc305d954b8f9460a12bf0bbcc47e6f93bfab80754fbe2ce64af899a71bd93ef5868e1ce15438843da5d1519d1833d75fc7b7beccdf159bdb175883f3cd71c7590526fd581bef307e21edac07d97c80a274418b7a5a1d5b5aa4de53f478c1d8dbe886d53ab82020869e4ea390d4ff87adea84a2949e2cd29c214ad0f15f041b8cdf427a3c26ec6f51af64142aa40892fe3692d2020eb4b9f3f2285a20ef0144e581e98a4844b4c495fb6213c00112ca114f9450b8abbb727dfee8d1a29b56b847ccef1dac8eca4dda740504a4ac172a8a422bf7f074dae49b5b8269375ffff4d150f07f605d97a3dac62625c25a81f3f5436d36f2386a541a5cbd3768f2fe97dbfcc9d30010401a4d6e679ee3aa7545aba2f0f096f81b579950724539e7538dd175011eb1e47b7e358db13e7785981ce36ed13f979d4bd720728f2d37bec72573aabcf8bf2990932c8e478598a72cdb34efb20f66b3b530a479c679620bf893b3ff0e33e85a3a6db1d72d7c87f9306977f18a8746179ba4948e51fa996d5dbcc27bb4f1c789feba3b1925b9c0af744d294de1375ef8f52ba8753444d798363a76a5f84a1fa542e431f8440df957cc731b7bec4e4ab6e52f092219374a525ec222029dae6448a41702a7cc8920058821a9790a3fa8c88ed06283b43c8ce15fec4138713cfbfd",
+          "padding" : "2f41300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "491a44b18097d9d62e0d3eb41b3f0172f3647d65d9ffcbedc31ee68f03f52795fdc5fa753fc8bd77a21dccafac57924c4051eb89ffd17c0c703fb9d968c0d18b2762ac02faf72d8ab448a5d0161a15eb4ab923f28f82dd6e97ef61fe4eefdb63066a140ed5ac486da016071bde06b617889ebfec7c71ee3f66f35cfeee2ef49e5491021c26d73ed920c8e3913514f65ea49d5453876b85885d51bf0265983578ffd05dc8df8efc0d915e90a4cef181cd0898befeba7300855de21a42600a4fb2d2eb7fed5bb3f940af3d1cf7404f9f6bb3da863fbde246f4d3931278fb7485d59c4af8a6f5354ff4e05153280f6fd6015a13fa15439b9b4ea1c20ce681acf92aac4f60a86fad5f6a636a7e1581b3f8fc1c90ff058c40b5d0e64b7d82056a5bd1fa661610382c92967bedea57af5eaf52d7304e774e4f85daf09d9cc5c039d5bdab649703044047828ef2291777061de497de6d3abe1d2b7d0c5244a6cd7d317327f6e596b1aaa552b2d3048bbd26eee31757aadab0e439460f530fa90b92665856201e4675e99c6c2173fee1828954f2f9cfd324ff1f9b77d6eb0d48f1745dc01fb4761a00d1d29de9c034d502658b2926f6f3c283f82dacc85b8e306f9881a75a71c2bb03f36b5ddc44de525cc3af0c72b1af01c4445e305058af24fde5569594e656ce85192f9409c6bb7f5fa08622dc00102ba4f8fe7f7762ac3050aac0f0",
+          "padding" : "3141300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "c9667d958f9646740576ce18ce3085fbaf6f3392524423be838d71af5c576f2d12ece21c30da0e209921beae756b9ab6a8b04c3cc10c06dcd785a118f45b59cc50be3f3e62ec01e70d0e9d5859e098fb4eb172ce430e32a5ee1d11a94f749bbc0d444e9e03bb2632bc611a70a1e6a4cacfc9118247ecd374f628d3acc5cca79572e45bf4a94bc1da631a59e4b781b88368979f3a909a01cc7c4fc543fd165b67c82d8f82b7961989dfec8e9c4fa6077c89438a6667e42be64aa56944ac43c7eff8e4b9a9fa2b968da2a1f3f03bf7a80e884d22b6d3ff4564444fa5dbefbe62361bfd46c32ab42a27c3f819cd56016479a40ad138b3288560e6a1f3831bdac5c3e850c3f2ce500f766843549f5af32e002941b50cd88ce822a46183f4938d58c12cf17e1ab29da94c0df368d3910318582624cd66f1bf08c7ef9c29a7489ade8086b750f432e1699676a6483099e9ddcd3fa9771b0ed58dbfdb3f61f882799e20114de7c6e0384785a9ee6b22266b2816d485ae09ed2d71d4f8bb0013c932c477745eea36bffed3abf8eabad517118088fe7d6c22c018e0bbcff07ab814f541ff1e4a58042cbea1bf9d5d6f6950691bc61cb918296e05b9747d2303085a8e9057add2b109a661490e357ebd10a8888c7ffc7fe788ca3da7bbba52a8c6b056754d88cc2dc2aecc1a7dd770d19d0a9412860d1a3d7cdf905ab92fd37d559e4e5679",
+          "padding" : "3241300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "0139a6c57398ec02a29cbd47a11129f51c07b61659d0d83fa68a16564795a669bb164e4162d19f852129ad135586a4227b91c54ccbb1e6a02e0a4b1d1e741291d508ac2e9f74bbd27a2d3d4a810ff016fbbd545a479fbe27a37ccd462a9cb22cbcd5d99ea7f99ce4a3e3ce3bba2db87d4343b22304436c60752f6baf33d3cf4d110f7b1b964110fdfa2e0058158325e78b5b4010801aa8ca59986f629912781cecebc33f7d9edb6f6ed529fee06f54ec2e62c6f4b72bddc8ab6ea30db83574bc931c0155db26d3a5bb830b1840c544b155788c66a42e6c8161f05a03e05b7271578d8380946c72b7d322bcc84b1be714cb97cc7851d06e1cb892ff39d88f821a5bebc043135326addaf480c4c99b21c26af904d41a014d5611f42481769228054729973b248ade31a4ea963a626770c5f9277782328ea0635e3a5f6013501e6275b419f145cb60ca2fbb3a7c4bcad7449c47a9336d658bc4a9a3c06b2f84ee9d8a8209ff7ed0505144311df3342d7fb25616c31566f29dd6139aac391e7832fcd0a6bb69cee74cc6a39a2cb29fead82bd23ec272e62bc87656eba34a5a44f443d69de2a572b3d7e9d5435ee69f6c281362c9fab99ef72c7e04bb8d4ff34497b2a80f5cb750462d131cac6da0907b8fc04cdc45a69c22c13c77606a6d6cbb7b27ec65fdbf496b123a3323b0370b031ce839d63e2e1ef59b0d95e646cae94bedc4",
+          "padding" : "ff41300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "1d6813c5fa766d4437e3fcf8c38e7cf829f02eba0cbcfb369b7b087bcefc6c5f65156d0e947d9f537cd885d4dc6050083aeb26f413ac082989b1df5efe7cfd7cca2a9acdea4b8f673ed943f6591ca2e603094fbe5dc4587ce41828b3ea08255ecca5ec6595f326d29616e9c47cd889d063ad8b90326163fff3010a5205883ae86c6cc95d90e449566d771873e5d3ca7584972f824015ec5bbe9330135a7ed18e58581b89d5a26ae0d13ac0b9272df6452d4d3c1761c2b6c5affbd7ac4a2f7d9b5ed2aba0edd11a068d58fcfeedbbd44011bc0b1e64435bf35c49a5411478239d7382d42c53c6fa972a20023da69daf44f091f1da06967809e4976fa851eab901c85514cf410f99c3686ae21c778b075fe73edac13173a13cb08f37ccbca2fab56329832dc0b7b8725bb8f95eb0fe811703dc2047eba3c23a1571c5c7312b38fdaf79e43dc00e82e63d8acef305c12d190b5abdcad1a82e2621b20c8484f56b1c84e55880c0ad9b03920c44a080d436181a7e742580be80602695ffbaa20c22c6b484adcc63cc2b417bd45ac6826764aaebc918a1fbe7ba4400cec0c9728c1c18f943069463a5747052d387f63890be573634f8f122efd0a75969b1aaefe14ae3d3fb3cedf5248df995415095a22dbb3c9d95cc4aa792c05116b727d60a7a9ce4086d00b963c177e3a661caacde70196f4541cbfd1b8909d1f7ff18da9f221b02",
+          "padding" : "30412e0d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7370d0c5dcd81ebe6544bcea2a73c187a5001c360c8a82c7cfa7b26eb703b73990e6f742c87008e0a2c676d2209d00f069dcfe8ec1dd7f21459236247061a6367bbc4dd02cd88d0bf6505b624c1530e6b730ef29c12da0a664c5e56bc0ed2928e1e2635c3bb82502d3f71d88e2108074664801fa4ee16d49e2de3cc638ba3f6f152b4b4289f715f48a26985c7ade2af50d8f0c1bfc92325863c64b864ee14dc8203be4ec8bf798bde95fc7da29d0a8d6ef2dc428e7e73df45f206646bd0242a49f673847b5d0cdc1da20a1ebc3f04c0e99b2aefb6a0dae2a9421fbc9f26f8f9601b9477145a0526db84440b0ea125182a9c1938c48fff51ea366e4bc2c499ea06d8056ed77e292f5a91a532c0ea68666687d2966249379f5476c35cb28b3242b546dce34c506b9a9991ebccd8fa9285b76b32a9c76d1afb431a040b4bbb5b7a3451ac80866075d776ef12cceecfd48f8202aa2444c44135cfe0b9f57de378326bc1eaae7b656b7dd8a5140c057b6cecb3e9941aeccb2ea87040aa980d06630ac8147282af6160fd36e003586d47b5ad5ba5df676c16c8abd90dfe2f5462d12498bbd2626cdb6fe419d4e98be24049b203288207298167a05e4f9d5c3f96ba3ac6dc14b3e1e6bce3b80ff46d5f370495dfac4636b2c9006299c2056129836b32e0e4d4c79fc300f9c7c59f973b48929f56c299893828343a2875e70e33617f0b8",
+          "padding" : "30412f0d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "2e171b383d528aac51817ba667915906775f6ba446878617d1d4d659d41607ed671f78083488103c0fafa3bb445fb908d548f41314237d36df3840ad82394d23ff9be4a5e45ae6a3bad3e6555ad4362c46ce6f583109ba2a2c2463f98364e1e596db59be7fafa8fe9ee1876dc306a3780900c7cda8f90dd727480bfe707ad46a0321a3cd1e679bdb16f1570ec3b2335665b0c77548c905debe1894a29431f9ebd19222fbabb379521006bf0c490bdbb6e700c06c2ced743c5953b5756641d4105bdb0448ac0daff3fd2e75932ef6f0b4514d483b026d2a6ab9b617f52da83e062d80ca7fa80146023d5fb3f57be6752b8256622364d1c0b793ff070e1b30824bce0b6a1d8115cc13127700072d42b719c849404e7e9c49e71dc5987414aebfde54ebee2238c0568dc5e386f384043967740a231e6290fd42d6dc2b8e2c59fb373a30adaa57eaed796677b9b7b849256c6dff0ca6739206fd30fa6f43692a9d1d3e43c003e5a7f021f691b6f61dfef0f803def665303d95d2e51c7fa4d33ec4efe33de2f6f8ec8de4542500df75fb1b8c0936c992fea43a53a7e22b483a2743fb1fd1f7fc057b1712c8f61af638abbb14fd872ad3df465e81d3036eba7b52587344b9cb25960ebc68e62f9187c1b564136f599746233ab299be16be2d13960d3fe3217733026aa88e3be09510ca181bef04b17d5c198120e5b56ab3e13a2bee61",
+          "padding" : "3041310d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "6be3d15693608f669ebb88cbdde4159a52412b2cb4d839af0f4d2d0c000bb1f6b651be8ae44405276456abd5fe78951c8d24105e2218734a1fbaf7997d1aeadbbf7c5f92c5652b4d447538205d9cfa5c20094bc992358f4c08776b9807d4d32e9b40bf54b717f2f691be337d881f1187b32393522ecaeb30a14de104fa9e229f276f3416675b7b39e92e1987e3d82e2765e35354f4238879bcdbd31a54aee464188b8750d64d2dd5317806b0c32888e0c8cd78264ab0da873ff9e8c9d833c4b00fb51b63155a122f880471f9b163fb63636d94710de21caa3017ce31986ed4e7e46a6e8d5ed7a7ca8df681bfad29cd7566e9e9e2716d37494aa0bf97e412f8e7ffc0056fa0d2000ae151e6a746290e8ef0a2adb8bc9189b8dccbc9b7ca59ded3fb7b1135c261de2a863dae5673cf7934148daa94d1da8e576b9f561af962e2411c5d0f3db0c5410adb7dfd9c25366ed7289389d3859afc92d385fbdf00153164f5f16d9470002c669500988e4a0e413d5b5308a7a3006eafdbc7f3e6710f84d8e76d43f0cbc09a686d7b023aad028bb91a72a4af271ba741d5eb853bded8e82c11297ca0853861c18f89002f76928f5af4db3edb79f91b70e4c5e98203011150488adecdec2e20f4ec6e8dea8a411a45363df881d1ca32a8bee6f2711fdd75c5cc8b27a04509e0e3a832fb83090d32b520db60c7867cf2c4426def622c120d4a",
+          "padding" : "3041320d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "8f89981a56c9e66d4bcf301c57c57a0c2ee2ad2ba19f497f553b898c4ff883fefbd4cdb7da8464cef028cdf35397b440d9367915c47c493f61da7bfa2a33eb62a4a421aebb5183287392f122e28a4963e45566e25fef1816071341b28daa7f586bd6a90fe3f6b9d786d0e57dfc5e4b3e300d5dce337784ca5f967488fcab93c9664a4efff22a213d127ae3918513e4824b5b0471a02d188a1da97cf94e828b2badea31e81dc14ae197c108d822cce7eefb5f4fad27b2e0fbba8d8e25db7b26b6411a87cf01c631675ff3cd0651ba67a419c29a4b9fc01dcd273bda9714a1028f55f926a7b469e4dbf01bd8276a9c04df24f653955c9671f37f001b254334d535e1659fcd4de185f21515c8b0072f6a9b6e93fe0195cb5480d81571270cac23e05a32809f204930ca25f554b22980b0f0ecf99f414fb8fa72cd9530dbbc7dd5ce46490c7c910f9ea229ad88a476ff9cfecd83dc1e9c68ed0a7024e841a81484ab7103c6e6695ddf4ede558e9c48cfa3d7eeae2bebca78ed5b0e3f6879d0cb4c59059e1710eb3142771e63514307cf4151a89875ea5af2c5bb0873a0114c7c1b43f47aeda2aeec62b0c6234793ff1421a36a46f0805fe5fe5b8daf234d48a3664b5f387c92e1a4ca67cc3d4d1783456d4b1a918eb833d14a0cb6f26920e843ee5d648d1332624a21e91a7d23a62dfcd3fee72380d59d78041a52d7e314192fb3d8",
+          "padding" : "3041ff0d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "9ca87049dbcaef6dbbf981c211100fc02b92a79380e2fc0c4c59e320b1f559ad83ed653d77fa0b5ba3aa005182b4359158ffb0c072e6c7d02ae32d19567de28e4fb035be09471b07ff6e72a10f1ab173e46f770d94f78e21ab0ec4d4c11b568f394ad3bf3fef14610afa6a8c8347c99116cacc8833affe119d913a6596e8a2ae4d09bd9816e2c1cf8fc2519ec6319f8f219e36cdc5eace1a4dedd47b09519d64586282674571972eb578cf1e640e58463930fc0b08b1b297c5760303b799b7f24faa760c2442f0adc7d83cddc56a99692cada6ba8ea3fa5aba200719ae43d0770b178ad9cf574ba5b0ce847dde18df9cac32d0adaf7b3cfb460f14db0c542413d5f528b6046e9ba47ce986cb134011efb55064f9eb2163b0cdb264a6eb9793f12203ea5ce9d48896f2c448926615d2dab2dc51a0fbdc6f5c2dfd474f455d0b0d421e3711326ed522d1840c0d0e93bdbeb3781c066b7c050e299a2e450640ab46af4fc1bf4291953372134340d4ced304430efe82ab7c9f391f28c238806249258b7e8cba2db75f62ba910b815db2f889326f3fd724f93adc45b031e08bdbbefb8b2a48d0a861f07390a9f041a0255eb9016157c526e52edd7d714bff40473eb36d0d381e7ec2277dcc3f145d2efa02cd63e5acc5f05632723d5c5e016d5dd5ee267ebb2eb39909c0ce31db4ba0cce2f404f0c42c44d0826b24e0778880067b5e",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "29835fc87200783df0affe15fbf9e7850b21180cc9033c9918520e4fed3efbd8f41a5f8c558b377782d5c6b4cf038dbc7d084ccee88d3bbbf33a7d0addb95f0e149b39c4a4bcb4ee918c7196fad1d591a166b369effe1d6f3e42bb64597fb7a152d51d18d45f45f9a0593adafd36e522a1e1f777647b225104dbbac31f1e08ca476dd61526e18c4c6a8de4ce4374e139326377d11122fa685dee074ff5541c88d6652af1e5a1b8fb42e5f591c7101d12f5172b6bc5c0002889d5e74653d5e0a86e4fac756ce20eaf5a20cab51e5b6b5dc99e1c481144ea22745d2d7e6c98b7ea4edbfe0161169fea2400d326c53cc5bcd60bb2df345a91333e076ee31c003505c19df7bc96365014a413adc07edc86bbef255c26a46cbdfc381f23192de7c768976dc8e75155ae8d07beba0af122f8a5dd8edc4d425825710bf6845da8008dbf6ab6bb7a5bca8ee7037c9682f8b4e2a5954290d49bf2b0a9e7aee22d63136b7cc2fd7e6cc48b4c88e8c60520d4ddb793c69cb1c677d01770756e58e5846bbf868e0a5996c2ff7faeb2dba19440acba41fa514f84283e66547c5d9e4df8165df402033298759c906c9afa8dd15933573183d5269b4a9a2c63d5636f8b2e0839919897fbe6f87dd2a8cdeefa559cb7071ed2ec18d79fe068cf8f6bbc4dd0dad7f6f7cc869eabd1eba5775901cd248cb500d23110eac0ed206a1649453b81b583b6",
+          "padding" : "303430000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "4bb15135ffc32d2a7e59a5c536d0788ec37633b9b1e5c94adb9f5b01c845dbfab129194b8a5361f352682de8f5a92f0a691df77e06a147c2aa759eb5bb72ca96ebca33367360e22d19f0d4d90c25c3e2ca3785a5cf26fb80e1993ffc08dc9f3d4c1554e5e90a46a21f8f00a2cb376ac4efdbe72e0ab1308bbcfa83b9b484f43fbcb3311a6ee4927e07c568f977545e7d5b8179e6612c2311d5b10c72681c9655b2529017f245639195e416fe0c2800853ffa387bb0934aa977adaea2a13fb87d2f8903cb362c1ae1f4e84fe13d29bcffe4dd92f856db6c5f1e9622268da090a8cf85481036c15d6d9bc97687a09bcbd92e73ac9008d22988893bf78ec3ef87620ee27633faf1fbf3caa3b79323c999932a728b40294ace55c6c7c73ed0fc03151a56c7a87962dee757a29892811dd4ced9500b8bdc905946575ad9521758856780fb4b6192eb6b52a81e9a1ee9c6e563a5682b867511093a14f735f5f20bd6e2ca1d01e4c6598ea6347bbc61dac6a69d05914e716ff1d53ef0b8259e3dafc203c24166f32067201e11c241ad4c107179b93b3e254defb5c67f2d88b732abe96ea5ce09cb360298f1a34b87a8860c32079d5c80ce3f4629ae27f4731293294fc2ab7cd9f2fc101ad87dd489e7a2b0edcca37910d51b8aefe80874088ec53c0d56548ad4761ef14a988739a02ce08fcf81935da7f65c375787740b94d48d8168f1",
+          "padding" : "304530013030400d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "9298b6ef7eec73665c848e50e2c221a013b951888a85d1f7465be1a306f9bc239b206fc3a85ccd438b8e45ac4892478c4945df6849e6148c62a81f8c58f8c78ca4be32806a3d8b16c1a258534f1a5d9694e364c27490ef31e8b45b96c88a10829d902aa48396fb1646fb5a50496780ea455a2f918a914c8408165d11651b2d490874d870b2c2d6c0c73cf654c3522007b8fbd4f1ac59906cf719228d1795cc479c9df3a7baa81f5cb71d8c73d154b90e4d33d208f311150e08f486e76fc1786bee3f287a8b07a768f91ae9d65c3529601568265780031e359273f93ff7df610f47c8d0b025d017e1dd088a676fcec39099f78b25192fcbda0a34c79fbaa6a5abb554e3babe386e7e2246d4f68f0bd60d6036133ea451a12e7c3ed1382e539a01fb3c21e1d21be7ed9372b943937ae4857adb7aff2721a5f5acec2580f2e7620d7fc8cc20fb315ddb42461abe93e8b8911613d06e0fc1947a6376c430837562f8ee8348c1f2086acbd60f8de959355ffd5cb4f58efd9291538f9574fd94e75c7a7710a119f7ee75c4ac0ed49e45b703b2f5e34db04fb71478cbef4292f59b2a76ed18b51992f164b88903da966a0ca3fdb98458979ef79ef83122a6bc2194ed0f737b75c02bd713c670e26aa19883327481597a980475405e8dc4f4eebcfb35e7cb73a05524c92c1599950f0226c11f2721e658673ba9abdf8bb39fe3be76e1a7",
+          "padding" : "30453011300106300c0960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "10b4e879f27b553ff426c209658d787219ebeec9bdba09afadf14362022bc1f6e35be08895bda1c67465c74f8c225de02d49878f460515831f1fb1dcd42b2547558ba805b85a97e17ced0a1f1bcb6aa5ac390129916fa79726452af274fe65a963074be70710c59463e3b90e69e1fe40dc8105f2fdc7f863cc9d808c6878480431b847f372e9cf6418203e9c9a267bc6cb1a1377c394b0f2d69911d48650717644c79fd02b355c4790610ee930c2e9cf1fa1fed72b111f3f4183a2ced3d3aded6b8b5ff3b80b4ed00e97aa6a1e947e95fdad77d91e36472fc9326f745c7127b231eca5b2dca161d5429c0d4c4fb15f43e066d80dc84cfa50949f4dfe3f3a1c9af6aefacef20604fd4d884b4656931c0d3bc02a70e37c810fc7758639e4710a229348e134b5a67443dc36853fdddf632b7688e7622247be4d47b39d8f8dd639f9a32db3bdaf3e45441a8807017a9f078baf89eb46e44e2484e22586842658d1ae39bcb4b6be3e5518079fb10fac9cf6ea9d1e98a3986148ec834cf2d00e365ef8b45af8e7b4f8ef1c36fc675aa704269d5c1cc34e63f4362e527c3c42bcf38c2b1262bc350373941a50102b5f2f1175ba09d9d5235a6c90d3db2875545b7330cc64d44ab5543ede211e9736124ba88db37680574e225deb86e40b1c2943eea5b8351486c75cd7536d6da8dad82334cde6f3cc55033d09c387d6abda7d98398e47",
+          "padding" : "3040300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8dea",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "a62486e6b5c6dbb918e6de18664bf6f2a8c8de6bc0b3b323fdb736faf48d9cca2792f842b3a5e80548a243ab59725c1dd6b2dce185b060008b623be218a9997131106b47eb2bda88fe9479ac8d539698b6f3b3e14eecb3c3a7f8c9e39d5398de8d1c5e9fcfd52bc8fb4e73319a8248f9c99592aaa9ba8c7f44142f63bd851f218a9a73845812f865b921faeed8bdfd8b61b98ea26fab09cc90f78e1e714b3ea6948f1647e1258f2fb965a407d1582f28663b76e187197b71e209bdcf3b7223c1596b9aa2df1e2736ceaf4fb830459415556aa52f47cb26e3e22e4ddbbab3904a7b1968e83661f5c8a02bb50b33200be928cdf1babd794e58e79890435f4e6f3af79b7015a7dd7d996f25d61d6b29bd0034445ab6d8b664667ca7bb4537f19edb9ab1f58ecaae3dd8c56a07b57d9cb60725bda9057e3d9c52cf17caa1d435f8022149901d27e3b152898e3865dcfb0580281838a72fef458328cc1130e59d4f69e58db5fd4552938c182128fe967a42c8413928008581bd41865e0c747b7d5be7df50435adcc707e00c7837a45da8a6e7a6c7ab5f5d3494f36d9f98bc2f422f3bf4c1ff0918529eeff3d4e8e5817ec22021f57a2c66078b8622ff4eedeab8bb61362488e215760dd82ff3a58ac5df2dd0d38073ec574084dce82aa9a056328fe5eab9e637aa71b9d6ba317fabb96944c65eaa00399d2793252a4a7140e1780d6b",
+          "padding" : "30400d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "b48e469d7a411e1521244f8817cf17566517969357f4a8e71297d48d736886793186dd648946bef8f9d74f87b0d0490e6eb58dcfcf7c3504adce0fb2886c174e04e5ee0544465607441a08a93a3d8ef41bde863c05a3825d083e48575175b897792ba547e79b38ab25b89c0067e28dc8014e51486c8cd5c17a190dff2375f3a920fa1c3879ecb7fe387edd215cac72f490cd7018ee17d46a0f4d5fad0b69a74b64ab3363415c6d5edb5b69aa9831984d24ba5f4d1cb192c19cdc4c095375dd5e5a562b17dad8dde34741c865772eb2451afcfb45aaa6023e5932a4d5fe0edbd4d1dd37276755938a47aa3392611013c491962b717744107d2f756f9808a2a2551079277483ab680b1289f2f42655ffe770c78b8f21cfbe461a9f2e8429837f7f15be891797dfc58ab59262e697a03b9ef351e08ab943fbacc7d8c0d23c7351e93a11b614dd8c9024a0a2fbfa91ec04be611b4c5a282278c33c5aa1500d31cf6b7daa8f27158bf28121684f24e8d79e706beb696452ffb71c4ec2c2b9904612e300f61fe9746eb370b3719fc7964e3459f8e61c98d5b1e9ece929381d6bd19ffad5a0ff36e6214d27a0259729a8358fe4ded419576d94de0a27e0828f95d60b0b25a567e397a6d2a45e92a161ad6bdaf503a1b6711d18a2f4aeda01b790f3187d6cb74ed23cea60716105ef65c9c01476c846a0e7f73c01ffe7e9774e74bdd0dd",
+          "padding" : "3040300c0609608648016503040202050430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "414f44654349ab1ee5933470957247bfcbed3bda71bfaf9688523ff3b198500b5e37a62634cba22a0fe2f8b8be9498fc916c704e1070d3940005d889e1618374d0035bd9198dcef4a6b5b7bbdcc1714dce5e21658f107be2d90e10ec048d5f2734f04d58cbf384b4282c839e3c587fdd8657c8201309178dbdfae5a2e0f2f163474cd7dbaaedac90782ac187b493f4f36040b8a9321253335de7a84402ea2bb4a64664030080c69c058426c952bd483de6691760de0b8d13b94ac72c8fe57fbaeee54832b7511113bde450158ffc96821493e37cfb6d21156b3bc038ec64f4e4b3e1e5d01b40982f52041214c55800f9129c2b9c76060f9317285e79a666fe3452d4f13fe1bd1f0ca3254d7dbf0ca5d740ada8db916a1a8305d6969567f39a2ff2662f3642612deecf0a99149420947e7984172bb54efe8dd72f7cae439947c8ca79436209d6de5b65f42542f24c33728e5b3192a76bc9ea51dc1d248f41381d898cca441dcea3c515e9cf15729dcfdaad5c249110254fe2f6738632b5c2a4090b76cbfd4b23378138e21b25ace3635ef68f3d679447cc744ef6d880fd5329058b2ea9cca1eaaf8bb31c8e0bab1342975d268eb4e8fcefa1f702ce1636ac04dbfa772fd2e778ad89c4caa9accb6e3a6324be7e5213790d80b4e217f362b34ce1ede12677ef547e8dd7ba229fc808ce31491764bcf85593f932096556b7d404a1",
+          "padding" : "3040300c0960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "1332f011b204562cc83d5f2a84606cc9afe8a6a374041192e02d13f425e75f9b6db68bf4004158fa11bd591ec7b63b568e18f19191b5b9c67cb2defb5faec6140f240c0014396e9d6e8fd5a0f84dda87f4a46c3b933c34bff55883adaa70c5cd3d69b93326fdeec53e7d1c8897494855f6d83c21470f0bd2248b0f731d45003b7f5897be4bc3993865a6a530952a6505cf49ef6c6e319a581f73a61b20cc678af45d53fa33e8be9988aec097bbaa22bb9544985a23c55df8a2a9776eaaa682bb706003f93d16695646330c8a0475f84900305b40f9b2e54d522ec0372aacb5109079d9db19c03595ad70350aaeefdac12009a4b9898ab4259cc5a29524f2000772440d3d0526cfc7f2d780888832b7527a3fc7b5df763d4d4d774712c31441269aadbe75378be716bf0b4f5cf3164707c8a8d300957564c5c1258119d988b59cf222950de826246f4fb5de111e8b72d6a7b038c9d03ac3b2d061a07c7d6d3b574860cce8d958ccf676324599b33e8ff0d24e24f25e4341fdbd872725c84bb666e604cd6e7521cb478aa80ec831279aea590654a8480ad545df96d89728c0de9e46718a6dcd74758ac354b47c772f23cad609ef6357266c4d21787528c16be7e2b74e23db435e9281029b6b941bf87c9ef9ecc222c2bf7d9feb05fd82aad572d03fb392445517e93ab6231ae9ff9354ddab4d49afa0291563e283e6ec3a7bec33",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "bf2d6fc105da6e9b202864ec36961da33148c02b3ef01919b54252458c48d9c47e8e6c44f68df073be76057a4ce99f7f39a42685522a1d3cb9f4a1a16cdacb079fc3f5947726478d403cec4f6d8547f8113ff42ab2c2a048cebb7f8d989d6b8690b52c19494f7dbb4e9f54b03233f05cf068f715006b0ba22d027b2b026c50690de6bdefb68e36ce3774ba496b4fd6eb9b4dc75756f492e91a7eff34df34739ee4c9d4c70e28cf0d101ef7ae131c602d3ad17adfa6fa6b2d9e290bd3133545d8f86fd9719068bf6466916b1fee375506f4759360dc67394eb5f2eb8229b4f25cf257d5ac798494f936b458f45e97bbb0e555c7ff0a83eb4cabffaf0acb62a5baf3eb76a571aa5c6fee066d9dcf4ee8e114f9b1a67b89de311c2d4e6305330224c10aaa8050c30f7eb611b544c74c3e76f38ecc193bffd82a2fb5538763db40a58d86c5d308d3fc40f7e9d2fc760ab91ec17872907be2b5b59cf8b63c5cb677e0471005eabce70776361e2cc91e98bb925d5576d5e9307b91e30d63cfbd1b77bcbe30541dc2e6367b75bfde9cbecbdedc7b6e83e201716434fc159705ae334e74417e35d5e08540f59061855cdceb1bff124810d6b44c673803257b8fb0d1d381a370d55f3bf59d8364299b7fe2f3ce0e0c8573be935c930a7cf301d5cad10601b5cefbf060e75642c9f6110df8739346c26ab3e7d4eeb8573aba901cdd7f5bc4",
+          "padding" : "304330800609608648016503040202050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "5924a0a489677abc21003678c30202453cbdbceb80a0730c318745baf67b9ce438861e71076bb3981849310aedd78866d23b493ba42c37ece84044404f43664dd2648fd0e2ccec96acddb8d7ac1a73efd782d994c257b367dc9e84433b09ad4283b87cd6ef27c64b73a33fff9bc80314712adf54abdca29b61722cf38e509de1a7a86100605bd602f4ef5511105c50b1b49c51fb974e9efdde71e6b83858df47228e2e6de6eed91946f03c4b8429dc91d76f449fdc4caa251adb6b55840540b3ea379ba6220a6ea75fc1a716d91fab436bef8894501ec2fec9ca25b4013ca066e4a6f093bf3f2c0fef2965b14acd44c032f28af20d142feeb35eed9f3b7e3339d39a2d20069654df27f6b2577720b3291c7f65dc78601e6088e6c81d9ddfc207d47472b4fe0b4c633640f43c8fa0ed860e9624335d6c8c873b8a57c55c319975c96cb7e1c2c91ba4a4bec588d91837d7698de14ffd27ca6a1407e6cb58657b9a9ea050bede8d3e15d8a1ae9fd5bbe6f544ac0a56e95f5819025e392167db36abff9dc7e22fa1ed8f4034f77b89bcdd472855b918d241608f5d48a0ddf72b97fccb8d5cbbfbd43176d0949c48553ad6d56412244c763deaecf92ae8e09432c871eb2e62c1fe0f385e3590fe9c39264f00bc10d9280d385d88e28a522199a9108bd6d76f7d0d12585c8f6671074ea8405d2b396da5a86d11152d7ed86935e84adc",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "18ac3a1210812bcad60da4018b757ed3494d9f41e8458fec434aea32dd9497ebe4872c19643ad7692ceb186179c168f9e21a58f65531c494f18cdebf315cfc2ab7e423fa0e3872bd1c81dac4f85ff2192c9efaebd2a5f2162a72d13dac495557853cb10f0fc0f06155a808a21202f5743ed6df409f3e8e563feba4b0b11f3fbdd9646a2af4ae47f375dcaf2880ff199f56f1c528868f0bb4ce21434be80ab0e4b8d8f0ad76002542d2fb1d582dca46cdac63192a1b1a23b28807ef569da9a4dd9abf31f6a7b6bcd1cf19cbcd3df50abac097b33ef20dc1f9f372c070c9cf96b8adcde790e02bec4e26204460090fcf13b9cfbb71122c29bf22c2fc1500fb9bce140abf739f84822b4f7c8b8a115f5050993cca0589c5f762bb290643b13d39673238f43219af66b2fe0fa426cd05a774c29e3f6174b210f1eec5b12d879890dbc4b3cc3c43c17ce6d5d4964e3592475ca2aad44b0528f83835c328788d3adc68050b20e399efb422879bab8e5bdec8744c2376fac385abf5f68cae5239a1662da8d56cc048d1b1f55646dced4d1b5d79365d29b330abe412217eccadef0f18e37a2a6b7693271c67143a65adb96dbb561dcfd4fdac0ff9d2ad3579f9d692716ca28008294724709756df98fc53af3a24505294b74d8b43f5ceff8556f021cda4bca401b21f2aa9af455da7f8ad45b1c0c31291ff00e55620480de1fc33f2c96f",
+          "padding" : "3042308006096086480165030402020500000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "ac914ad805a436102bc7f16f93f17600f5f37d53ca361b03273540f838e5b216cab3ae38652a1b23b25db59483f2fff00a369a80cf99d3d0b39d40a66cbc5491213c47f5ea013583653c68eeb5ccdc701a6ffd79f189dd6d6cbe0dee4ee7f537ca3d0399c7ed4171bbb27619c008745227ed2a45535a7f70684d2934cba5f35f60530a27ef9df9a122cda908c357c86ed656993eb8f700b375d050a7c5308cce03f86efdebaddd0ad10e14272047e504bc12145dbedc7fd0b4eae560a1db0688ff1000b4da2645c129b714ef72117505e458bced44cbeeb331399841296ff1ee9dc926edd04f95979653307a5c359b420face9f3b6d8504195bcef9911fb25db0bb3418e87370541a160c53c5db901dc397fe15f9b86f68dac53c9119a6a51ae60005756477fda826c4e0013b272fb2b029eaa8f87375c20ea9626e250927d9649f69ae9e554b6f993ad0976810c3c1b1db5275e1994e8f066c998190fe116bde212b6f11a7efa6c76695f324697cde80faabaa97a9e26bc4c0cfb2c42be2021406156971a74ec6b16ca9954c3ceec6f39c07e9b3c8d60a4c57311d5ea1e66bfcf3df18e3c0cef0e7a791db286e9fdddd143644fc6dde22854d3081fa0a5acbb4e50c14aaec6da1ef6698a20e1d2c1ea6a9f67e4d4658e63f7550e84769cf9d7a1f29ebf28b72ab2d35f7f079ead71abfcec576f862dbd32f6906334384660bf",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace05000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "94d625e64194e4ddf817475a9b0c6ba31804290ff703f39c0f806f54c200be4522cee5c0c37a350546115b28b3bd503f3b9ce17cb485e4c2875a48dbb5b664a280b971f5f7e3f33e09ff9818cb32f14e62eaad82bf7af60c84dde0be79b51c0764fca7b2eb6b3c193738cdc94a3177af0fc6e5fb2ad97e3777c423429e52b7fb937bb4d3b9e0851484501a1c77d0e0bc3b9766bdfcf58a7a909eecd6fd2984f5934e0616f56c1db1b4e72992796b00d7386890d6906170c8349e0a313599024ffb3ae5b7f7a857f9cf91b7b90460be3c975156ce3590ff8bef6eefa4d65e2966e5bd510467d864213367d3ac6db3607b4c6b773078620905d7cc19094e0407f4c92753971227e9888005d1cb12a855563552e610537385ce80ac1eb543ac67331394047c12f4c1f29578e62062b078bcafef26ac9c6a0a306b68cf0a717b99641ea7eaf5677d8effaacc6b6d71ad713c120426b225842accaf4921b9a96151bc9334c545e936462b5eaeac25ae02df0a2c4e76167a4091182d2159ea3d1b2dbfa45fe521fb25aaa56b8e7c5cb0746ef9c984d31dfbc95e40357051ee2182e3a949337e3eea4074ad2d9c0d578584f1a01923393ead31338f23dc48e6f9743f4ea9afa98354ea3c6f657305b4c35eebc391f1601a88e0022601de01a5caf66ed3fc7107c4cd37961cbb953547484efdc4807bbfc8574ee0d895f1bef46437b1ce",
+          "padding" : "3045308006096086480165030402020500050000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "10158b081c00409582fa82d751e779cdb9501972d673a5702d7df6268c8b6c6d76ae8e98ebf558e93c4460f9be3bef7edcd4f78cb3a8bb5893cd055e884d72525b0f249e2418308c7e81b73cd72fdb5f0710b01878917677019fb21165fb819451b807c5b6caa23123e7ff0b889ffbc3484690ff2484acaf8030b6c8221a0f933b82e0b2f92f3b3d17105e4a52dde787ca4e37252ccc060bcb04d9ad752b03e85de89d2eb5d455a91363d189c4f8c0730cd165f4773089896b460584d4048837d9a18941aeb2ef5172ca71d44c72769f34272f612a89691702047ac079c0c52e77229a1baa744620d3b551a26a3b9ac18feb2cfe17abcfe3b9699b2474478ba586b7fa19f8f582f9f57a96a414d81dec30027e2784e031e52a3913de59fd5b5a6645fc71e162b73f0bf37dea30278a50bfff343f4c9f511f1880dab8c53871faa5683c219877d6cb29da4ce3d22ccdd3079f74953fc64262be53ae4dacdde65bac77dc39634e3955c00d817e8321427b6643dbf9f8bc83b85e61c959539e18af5efc22d4c22a18fafddd36b4f18d6285cdf37452d4f6fdbe4da2d478d11c8b5d1ef5435b3c9955a488e76b049dad19f2407871349093020f7879a950536a0a6c0f07c3e7eec951c8ab42dd150405fafc93abf43fbd895686ff662efacf9e3d13aec7ec8a8f318750715b45074c277d25a6ca71142dd15920d7047a4bb4363a10",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "5eb6e05dbd5ef027479a4685b3dbb29ab9be86fe8951a6d6908643a94d8a6ffda59fdeed42df9d400f8b89c1341024560ce5c48646981d6454d2301bf4f1df70be0af6c6dfa2b312eedad88d4a86af49e4c8d8a795b9433c42d77c84fe58035b4ceab914c1a9a19b37f18c85a47fc4449bb403eb1f2de3bc55a1cec6ff7de41bdbcc708b8af6b3776464e9eea900f910e807acd7ba886a7c2b76cc2ae5a6d372c39a6a89035da6934a09be6bf632392289cedcaa1785f6c008f332a887be0b148381f39b5d6da18b1be87920cb5b598eaf87dee65eef6b51f985d02cf5e2658d2847aa05776a81ff06f84bf9445b02cfa5bea1529e216f903b75216b794f3536ab3791eea6b38da91e732d784a870eab2fbf96ba60685db8d618a6dccee306bbbb3fa2c3c755d8a629099593faad78014c9f10ff9b949ee0aeba8bd3b16ad55bd19f18d14820c3a99ed87e1c21da8409786be4cb1b5c48e11fae272d8fa65f53f0bc2b79223f657d19a37931a73b4204573049b96d2e60d6e01e5ece0df14776121efceba7252dbb90c3d889fb7dcb7c43dfae6cdbc5c83416252d3304a82836b1e379046d73317598e6cbdc13bd7a2e89de3e92aa844f41a343e5e682692eb4ed102b3fc29e89567d789cf226811f08fc6d7ca3af31a363087c9cbed0201a2083225062710110395ffb2a2e446784b5c124f6597aa787acf303a0f20fa336f1",
+          "padding" : "30473080060960864801650304020205000608112200000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "d42e9d65ad28358b663b241dcd920f1390247f086f8cb360e6eafbefc46d8cd3e58ec96f691d39981ffa2c6f1951f4466d71bba2cdfdaffd85646456146121295e672ec14b5ace16b2dbbfca9d8d2c9d9c37aea8598cccc56edec2aa30a592abf542e18febbb8e075b11661676e0099002251faeeae23557efef2d8ec21d713c2fd85f4d194318f9763b81521c270828db050e12248dd6cc60b36752d17d0d3355080370cbcebe4d7323d022b4cd463de54bef641027f4d1bdffcb23f6b0ca3bef588122e35989629c209337bcac8129054d1cf05c057c9ed266ef389791cefbe3b38697c87b8362a7f16bc2fefcd107a99ba1b776dcf83177e5034999cd56fd184ef93320a88f40c0eed889b3ba77a5378938f6c8f0b822e7f4afcef619823e789565de67a7a3daae4b4b9d561fd7361ed000fec8236b94cefe60095c0516f3ee3712b9d3dc8684843c0683881d0ff690bd82dd29e15349817fa12db6f8017374568e127db29115dd9217ffc11c2ea85a563065b3b21372a2173dc0d21a0f8008b73ecb36b605cc17f1603f0d7ba3b1ce95593b77b572ecccd6c4297c60bf260ce5fe07729b75005a9ccade5ee19a04e68549fd926ef629f8cf2f956436f47bed5636afef7cbabcb4fc9c94a190cbeea82c79512b5938f9a746b1d651bd6e1944b3f88289d9c377bdc463457e3e1fcddf8dce6637d88cafc53fa6a3e2078018",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "0ea22f253fe76780dad6680542ea0f0b559ba604c7f5e16f1f248c773092f6fce860792b7c0a691f3b854d8554f098519084df3cccfa3db83ce1a172edfc672aab5e8d13ea73b15457b0d497f268a5816f842d9d787485dcf1655f6b73378c8e85372485054ddf409a5ce8ed8e8e2769fbcf58648863f0463d4361aa7c32aeb1e2dd3742106a49c684f89cf9f0871c33991ea99f488b81b042721f346400382deaed4dca657ce8ac17a68af64cbf9326088b00913e41885cfab0a551f097b59e2e192101148634bc063a8b2301acc3e5e0088dd1d47a37880c28883f87164b4d667eb96733ab93198c854658a4380b28e5ace8decade9ac82da2d889ec0092d361e34ce2664cfd9c52a0b49a45aee3e65ad4b545fb8c2a9bf2478b7c3ad969f916ab44cfa26f90bc802400435488512c63c83a7a46a1482f89777b629f913ea11a9b7c723c672b7f3f0396239ed75b329b94e1aa33df30523fe904204983db25d80396937c439709e443ece935e51e2d018b6159dc33c064598db728f7199f53fd659df0f6e6cac74e97812920becfb20bfb71d31fb0624a14e521c7a88086830016bb22c43a4efc3fc2a7ceba4291301c5bbb4aa0858823b65b0d90f0baa680809546f0dca13b4dd62f76cad902b522106ac4468c601218896a73da1971d7364e0dd1b6bfbb6f372dcc3ebb4a3f75063b20d389f4ebc5a9938c66c278b5a710",
+          "padding" : "30473080060960864801650304020205000000fe02beef0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "22b60129d2653639fbe477cba3f07e1c8a6f05a5eeced1d0e1d534acee45949c41c0059a2c24dde635b3b4c11b5f2126eb67d9deeba2067b17546421c970b6f6c72b66fb0fc992d8ea1c871b1256a99cfbfcbf75b2fbe130e2e8ffb0dc1b57d19c2a8ad3f944e27cb3a14eb444c84b2227da621610d3569907fffe581708ac09dcc10d0d4893bf46f18de5be2a5dddfcab4edec6965ca6259c700edf114bdc86444dd2a891ed114c52471a7409f81da490509502ffde2af5ffaea6cbc9c6a37aa18918012a4ce9edec18adde61b8b4f7612e312f466aa00ddf0b27851420f61901d94efc0473cb1f5ce22090735ead3fe18e7e72234ef758fc0a6dadcab006ba54166724099aa8942d7f3ad90f7e0031d4d3ecd79817cee7a0808400deb50c1f0f30589dde23af0990683d5463fd2d3a661edbc9cc79681098c79d61291d1c225bfe2a1d53111d35164e23f3e1cf176f41d292cc08e36a70552ff0114cd8b8ea7a8fe0615b0df6113d2e300a142803132bf296630f331190a33f040d5e8d22ecd8b2aa044d280d72e59a98286e72583521d075be2c39d2d5c35c97b626d571cfe214eb4ddb9ae4353352f6634e0a80e31d1eed3adc698d9652041461e1dbe63ab3cbb992b8dc32ca0ab5e8e280b19585df23317924b888b18416f131adb1ffc30c7e43b330a5ddadcf930ee026a228c2faaebf5678ee5a78677dba739fd7e799",
+          "padding" : "3080300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "c31a07c948030712faaa219622fb7c5d0b617ac39b9a2c64e944dad71fe7d4c5ac41ac5b03b4d2ef702f86a80da37124c396efb3cb49a699a290a2aad3d94042e51448fa160305403559814627d6f6b71f4869382da10d58e3f3d9b960f3bc6d96b2c228ea08eb37d65099b18ccadba626b79d3feacf1735999e35999dd0925d3384b621d97958533eaad9787159843a431e984e12d502314450336511cbf28a21c313a6308ac7769147caaf7bfe1acb28d819250ba87679a52692f9b1c2f833fbeb68986081fe36d8a9c91bbb939b999d6b4535e796368dad07ab86efaff9cf03dc56f91532e802433c7adff70b18a60c402ce53a3c7077884a3f405014c59fd2efc9fd1c2c008120bb97831b9ef1df8088e80fdfbebc7f0136c9f77e7ffd5123eda1e5d4e40fbec8149f227c5752b0c23035b0a5711b666db60a3ffb1a9e7e704f9704fc735b07d2347c6389c207c9aa17f414712bad469fea9fe6230825955c3bc54949aa3838131c3012cf9e0863cab77d95a96d37e021efd83dae21b9b16f75d3a97d72e8096cffd2f267992c27511b8e1db80c45efd0d95d55b6aff706aa37d7b142193d1ea74b7c359d4f6c8af3aa0bc439f35649d7161cd2ce79041eb268957cda759602d1e197adc6a2fd7421f0ea74a401bf5b947c4b39e6d39c19b18652eb04398e03c9f33d47acc6e3cd4744911bb8ebe5f3b9fa2ef62ad2eecf",
+          "padding" : "30453080060960864801650304020205000002beef0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "0ef4e9c1a2dea678cfb6b58581e01ae001e67e8310244ccdd6b83dd34d3246fee465fe61853c2fe02fa9857becafa74fdbe59aa21166c210b11730c0699ed35e36a274d0952a88f52e5b60e948d6bc2684146c74cfb255f346a3fac2d7ba3435923877648803976112b19cd9fe347955d0100146d7b8279a3d48b4c55813a60411915388f40ddd87175fb09c0b4aca6b68dad94c811385680c0a54799cabe22d9f376eb73105749dc2408c033f20d21ce0082d6197b2e62ca2fad78f221d971c432445a9330fd06cab0cffbce8046ebe419bfb354a4c935be8d72e75f7f932fa45bc2fae7f6614d59936b669b6a81b15275d8ba7c9e181a99e7d82bae1e152c02b2d3f3406cc98fe85da5dbab2cd6f1f379c302dbfe80e82e0a368c43d4d45907dbbf3c58b2c5eced793e8863dccdfd4c503af9b69355069f1b5254a349ab7350a2584ec044af3ca4c2246bf4ab174bd0477b11d6bdbfed1a9d48f1693c761e340348583ee522d51c89f427dc5c74771f0dd33538b90249db9c67b879d65b65dc818c1b016c51e055be80e8ed68841001c396d19c3caae57bea782dfc1596dbc26a3642b5661dfac202210ab4c85d5a516c2479cbb546915fcc809c14e0db9e6b4c6ca0fbb3c1b5b1f00fb8036cebaa357e05c796b546fe31bb1bf461ab2b65885b48109fec7b215fec0df1459774c96bfa8624f0f4202cdc907ec63162dafbf",
+          "padding" : "30433000300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "ac7d5e195ed9531de7ab8c86b4ae02c6e0c8d4845d2adfe0580ef3331db8d3267f83d0920cb5384735e1d70b053613e3cedfa84ec606fb2de2de471f40657e05493a05ccd0618a0a1edbbcbb997db604b122b50e12171888cd0af9c5e87614b7a4b91a714e45b1108340127442010b50f135f2e00119d25b32277923ef98c7863c678ae2eb44e8078f60bb2f43aacedd95af37d8d7e773e6405493093c20d358cca6206c4f76c7835bc8b62cbd98962587646ceccf57ffd3a29e1df1ed3e2fc7c69dc1a5c9bf13cedb130e685622807fc1f5ea48de9921f8e53979654b819114fbb475ec43467250dc3ce9fac210924d29d09e16594edfe9b5ecbeb90c14e56ade3bcb0f99fbcec5d0b44089ac0f006b3bc7e51c04420b6b2cbfdc850602c461672d4d1f19bc94e016fb756d59b0818356f07fa9396703adf698a0f29c6709ceb2789d698896ccbf8aadc965596d9072327e84418a733f3ada1b9fe3a7b50319f66a948fad2554644cae7347dc184137ad4fee0d63aa1766f935187d842d4c7a4f51d752c2c22916a2abe41bd1cabd1e155e1637915bec41a5e792ae8ce41917a8041d169b036f705daab59f48d7e4b8e7a4c63b992a4bdbf7fefb14cc76d14936ddd7682363a2b5e9782a0d2a0b3d1cb2d2e4974e4f7edf4e50ac02c1613c33018d1d85b35b7bb435ec957f37b693d736f89769adccf85872818943a67c93a8",
+          "padding" : "3043300f3000060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "6fcdaa3bdd2851153a88d3ee180d531ffdb082b548f0ad27b1dbeaab932401c62bc47a6cc41a551f6babae17fcf81e8b1d290350d6c827a6219819e9796f1cdec2bbc8a2c75b59953d9003bc0e5d1e9633563e4120ce608c758ba03a779bc54022303fd59bf1f0238fde26748ee60c2d87411bf0c93fb67adc1bec65833bf5d3e80b7a34c8c652b67f73a36e8dd3e450e16b8edbe9623fc895692018899437e14136b72633cccd14703ff9845166793773562f5df070496f5e0b721534b35a5305699cb5dbf56cfd62c1a8527f7d06604bcbd74d0a8f8fce4dc8733bd8ca3aa08fd85a05e2044933702d90897e407b274a6cda2397b58abf12f9cdd377368131e435096915b1031fe900d308196de742c12f156c26e49d7d95c44f4cebb16de3741ce6ce97a4c932a3baa286f4b0521afac0ff081976f028f8e6cf3c14bc16d905818f8c6c5fa8befbe4f753da2c335181e99c92ad106de82aa152fafd8507bc0032d68f22949ff03e3dbc829c513d5c6b4fd003f76516cb2b23859b07b77131fddb427886329db959e4e3553eb8d049ef6e33e42090611fea717ab3b42d56a1f678b0e70dffe70125f5c924d8d0154a3efb75a555b970bde79c1c6c64af6ce2b803e46b8bc94d7db826eab51d9fd441affd173031c0b28447aa6c2dd666ad32814c753fea22f3d816da523f3565e438d73175d508a1cb24bbd2a892d87df509",
+          "padding" : "3043300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "a5a73b52429e9596e8dc30c0960699a9a39cac3a14404c0e79db0a4e3c81aeb8391ced2ac1fb2808f6d45a8e84432053e9cbc8bd12a3bb862b067697c6d8e602db8c79524ab379fb68da90aa27fdc54617cd4e27433253dab56fa380fbac707a8626129e20a49b207cf0674633e29801eb034354a5252acff7ffeba3d64b29bfc69c54480fdee04d7686b392bdbd489da711de0656b7b86aa174dd78a80e6ddc424e0de16a01c25624f200a19178054835ceaac2c20b183199e62668f3c8141c0c7e4048ebe7623e8b511573dc12cb03ff1023d41484262a0f8f57a73a6ea1e00b3237404dad1ce60c0d7f40faefed4f97f56aae395c6b28f6d2038a769cbd4ee32507c17b4bd17075e855367053b5c2eabe33727c1f54e0a96d188da41220d57575efac1ef2ff9784e0dd5be65bca24e918570c52aff4419d7b0571466091a9f68e3d55a59216f8f69357faaafef2b0627e85ffb6f8cf2338d427952c49e7430a427a5099d22bbee55e8afaf266e10e4fac632769619501c35f48789373f155f3f12adc0047444413a9ebf490e6fb68f8f75a575971333a14ac669f6056f1ca0196761df6a19d237e1b60895386feec829fc7ee1d74c4830f9435562568f858a75dbfa512782d9a3f817cb40d6a496a7e6161e066c8529f1d925eb215ed88b2984a0f98dd8e28886865945ff1be0789677012ec93b88c9593c4cca14d5a4a09",
+          "padding" : "3043300f0609608648016503040202050030000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "db24a033b6f1f1fb4e43ff98b0612b93c5d19957914cb21ca78c4cc6b3ad5242c13f575302ca531697c1b73cb06f1b7d29d017224a1f2e3fef14c97aee8290d86c00922af0b2e82f7d8010ed993fa983ca77c5dba14d491b32d7db94c56bdc1159e743f4812d73b1103badb4739f2f8a1d4b65d4b6c43fc7b83f35c0f30f0d9177219c133b9be10873c2bb0909c6a3658e5e1b3eff12b0a98c39b7a6b0121b240685113746834eabe950d61e0080ccca319dfe0d7fe33b28ac7d7628691be5211f2e1ae02b394aa9c88b1ad93ed64af0eb8af3898daa98d384e6751767b61687a5a54f6adb4c2fa76319565a5236253faf0497a625a62df92734799e192464f792ddfbb8f64ae65fa1fea3e3d0c4da249c28711db543a588493c5d20f42baf8812b3b41b059c7bba828700e0c032e55ef1c60a1a4d59dfdc2d9f10f9e72e24477256dc956ecc69af456409c700805ae0f04e9fd42c840382708e59214ddcd888e03cb96f2d22d594ec199c54162eabb5b65cec08473590f9c2ac034302391e1b2e9ddb78263bea393992a43ea1bdb3571075d56e2b77f874fffca00e291efbea0efdcb813a5083e4b74b1066ccff5e7a77fa4168dbd14ddec94d523816ac0289f5285b63ece4e5aa48854705a03dfcc6e41982139fac18f7e4fc0893954841be37c18c4f9b1f891c2b8811a60b12ee62b3085509754d9f33c30ba808581168f8",
+          "padding" : "30433041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "3ec8c8209450d96ed0cb462e1908c450926e7092378c8afec5f70636b8574e85c67635697b95b3fa3ecc024e5629c68435736d1412ca8665b77670afe1a48bd79d636855e2f85ad049385846d275f75b6e77bb69251112352f2d438a5b0db1b71f9f3c8e2d46744a4176ac3a7880a36e0afb157de03e5d59e01fc929c672c144a448c77bde4dda5d5a9dd74ea5e53e07d07e5db63d845fd1a18114548a5098665aa644601d6e696bd5d2f81f1f71d9f2e55e456042d7ff36d813b19ca420d608c8704efa0519e2e147f155c5f85b6430275b5c1fa913f94d78911e0f081f8749f5bf7dfbf21a21fe50312ec40b8f8c9d1c1d955d0a49e668b51fec3a52d268dcc826bd77fd5e0af4f2c447a51dee40fc15faad7f797e0db9072faeb1fecf7cf312814c7d854ff3ce000fb0680028c110e608ca25b8902709faf64d0ea53201abbaac6025b87992d961a455a2778ff556015becb6ca41b477733c22d991cff0416b842ec3d86c5404b2d9ed3f47efddb6fa1f0725385d1733a44bf75b51a6a6fbe25af3ce0840a95f86da227e7f93f30ad47c033660c45013be292820f33d9c9e5d4f68b5e05755e18a1bce10003b7d2ee97932af123f636295bd8a13e07577ee3f3bc46ae6e471fbfee565a3b461bab9af67f18e244bbef312c8a59cf1eac8e88d4ee1b7e085260c0507945dd907ed6797041a594b88bfb1f338669f06984a70",
+          "padding" : "3043300f300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "4d54e56f587d6fcaf2e43ee1a8eff33e833f83d91ca092d0b536d0fff80ad67bbd9926e7fae8b2b2215babc678e6abb916dd19b35c8bacf99b397c8ef364b9d75b595a4dc9f07d3d4a59c52fa4fbfea7815a2196b7971867c8bf931705be8f106d150e71bd7f7d652686ede684addb0a29987a224627cfad213064c1d1d6cfac92f88fd9fd0703a74741a71d43c8029804fcac4d14f5d8591b15eeb3dff5ba654b521c31cecf2ed7a70014c748f9beca3f1b69baa4fbef8400888c5b354a8f6c80587675435927699f0894e109b21aed4ea54ff60fb2c8298425b2f017db44fce14f6eb4fb95759d79d805f113493f7d40722fa37cf797e03b6937179db4438a7895e74263a93ba212e7410e17251d5fb49fabf05c142c9f4649d44617652a5869496345cd48245a3fbb6dead2ace71b7fc3965de6e70be503b2fa953bd9fc76f5be70c0f7d987a323f8a221b875c805282b6eb58a6e4343eb3caab62b902c9310e56ad50fb4adfdc68f11e9bf94d76410bdcf4ebf05dd90d341f025ab182bb8ea0e36579288f6274d47c6c25ea8650424c2e12682ae58078f6bf5b0772d932aa77d837c2ccbb0856efcc564a28a03fe57e9c674889bda54b452388ba8373cbcc26c74e7e93edb9cdf6b91d22fedd014f1151f8a5935ac64e28bf90bf71d92d8415af15127dbfdeb98ef80e841254015641596f331cf5214edb7d8b3dec1f8b0",
+          "padding" : "300f300d06096086480165030402020500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "3393a6451aa65fb86560a8d01c75c99485be4cf363e43f829a74ccadf02aaaaa85553853ed1cf0115ed5358580eed986a3de779a1feb8e4e1e312cded0824a0e1b5669422d00ade2d77da369cf2280a99b9cf42b6c2a7f3038aff49599555cd9549064d806625c077a85468c5d36fc8ea42078a16181ffa5f75db72f0eb19d2bbefb5ed86aa80a821078dc42bcaa0f206bf9712ced9f18853a6b24e80b418a0dfafc6f3d25f7ac4f20b305fd959c8972eac20fc1dd962c0e504ed23d2231425ffa5a8ce0a43216f07a3cce90cb503ace3a4dc6e43f4eb9a93a68a0eccacfc5300ce94a48f96cedd1179b294918bf6b1c6989ef4804bd62d820a8e9ffc04025b7657290f74fe6f02f2f6c6e0a5638d2b806aeb27110629ab78f1d4bfb22224e8ca09e47b118c972bbd3038024214e0d2a8d939ce06e0f13ad60d753fd62b26a83f9b2c28a10ab6b8e5112d3e52b03258edf0fb204ddbbe1270e41eae54c7f92c2f65cd287aad76e6dc7724711ec03b338e3f6ccb9c8c859f878c281dc0bc61a990d244154b39cacfe47b92d7f8752334e859b5796951ab3b3a09bb269de282b8530a018e5d4f15481400c0f3fa5e60d0d14ff4546598ced7f73a28468639cda085efd5099c12378b12fa4067c1678c16d0954f4b5954a48c2deabb4f694c171d69e7efdccfd18887e79207fdfd0e879824ab991aace5dbfcab0826ee8f44efb54",
+          "padding" : "3073300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "313233343030",
+          "sig" : "747cbc58a4e2564523c46358d210af9490c1dd2679ce66d26704351d19fa8ccbb3f66e32a066deb11de7dc910a37f46e250e0f9256dfc8df5c72cbde63a2b2ab561b1d79ea94d51e84d0a022552a7ed8e457822e8c17c30c723ad5c4e333e087211566cfaae130e79bb0103bbe093b30f1819f908c5691f4b4f0ace3d8cbca25654ebbb506560683fad45d8a4914b242b72b99a223a2c0a3ab20486d2cd1b0ac60b438d8cca5ec2f7bb8384690ec4ee9fbb005b3d2ea21749ab86ce9d64414e9a87827fc9177f1a5af6cd97fb823874ba82e9ff53093fa2c05566c63e4c7f5dbbad75d8263594cba2949113341fac7c83fa13350ca06d73177241b3793f78027d61a20c37c56e9f34fffda7258004b0202a12969f718c278854b136a110dfd65fddea97486786bd5785fa2596bfd6e78e353b4d28ee6434df0844af14de10efe2d6f088b2b3ec0a7cf6f9e4a5830d7b0123caed7857d0b71fe9c56e72c29a908bba3cb99482178d64a4e27972179e4da6058c97e648c830e0cb96ba71eddc1cdf41d38f852a16554f3d9821aec57ec8506f0bc1df2a630b58fb082c84dee5e7bf3b645c9887e650098508ea288370f9f2cd32fc3f74784c82fc42bc2a09aef3b8c5fcaf538c50e12adc672200739cb2dbb343b1559bf70b00b2f83ed3139b106ce717f906b6de178c0d9da66966782cad3f7727da3e32950af437f33cf14e868",
+          "padding" : "3036300205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "313233343030",
+          "sig" : "e168ece53793eaa84954f43707e9db53e1541394540472d502a676f12c5b4c1f1844d1e4a4fbbc3117c1cc503aa49a63138565aa366288fae712542b11b35026a027d3679c5a35f1957cb6c5942b5d86464e3b9dd6463ab9cfb9931136da744370f6b3307ff01e1180a5e79569e73e5ef9de4ea5c9f0d5a3b124714c1b645c8f0c1cc2ab4e1845969654ae9b0c565f4d17a844ed066366c17dca17f22ce69aa56e48937aa1c9f39fc85435770fbcb4d9f05048215664184ee40a4ff77ad44ae9b1d9dbcd9f9f013080b751ac9e2f05aa8f546575562194730f6cf1ea52f0d365d0dfc3fcef820c51d9a5263a2d1dc4ca97be6ef69bb2ebcddc3f8f4ea2f4e12c187949d95c3667f4c2dcbd65e06937fc788b5585b742eb5b99ccad8252be7dd0b4d38460340cccf82c5d2d58c29f87f0fd6f78a90ac7a113d0e5427aa56a42438c3c6fd98fdaaebb3dff5d8d3025cb408da8a6764988bef9d171c7c3a51d187aa1bab3f2a58425dfb82730488e83d97fc54070e2240c2f9083e6f6a4f49c50077067a4fc7d27e40bbf30f8fa90624d7be0e6f8c43ac1ce42760512aadd27f2cabdce2c6fbf7adeae0221e2e82cf22d2941ac56a3e10cf0f0c22242b4d7fcae009081eff5d23b6dbcb7387eb59922e5bf757c02143e1140b2831478a2a5785d056978e07dae02aa804141805acb7a5343acc17206c949d8b9f8fd5df0a36e7755",
+          "padding" : "303730030605000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "5a23159bb4948c16c9c31f7b3be4e2fd147717b755d13f5f86933302f7356f31003bce391de69f54ff602dacb1522b908fa1fb7156fa555f3f38bddccef9f85f22a53e4f53757f81d6455998169743a4a2306906a375235e548aece0715f94d83377e06faf758a36fc8758a586cadd368b1db26ee3861b79d6b69c0f3639c9ed0a24bf530625319125c301f5c10d12084b2f9917ab404a65a5bfd2bbc78fdd6bd1e583cfe87c0cbb4d41c710c137a7b330247b881af9aac5b2c5075c66ea33910a3b07d55c461940a54cb7579aaadc9e8f567d60d0548d6c2d3628e7bde8b631335f2ed00122e07f942f7005afbb0d2f0340c5c9270b27be30d10333b9ed5edb90ad6216b95594f6ad595abed26576a7b1d807530e7c5556a8698de56b481e5717683404f6b9ecc35bfb6ccc48a381a51537143abff51a717581f2c44df1a1f058c1b793be004b1a837f7acfd764644921b3472906e90a5bd265a0f0fda5e16be4db391e07f8daa84349fdf7a134aa138767441759b74a4913a4790f0e599691df06acd4f80cf5b64767052ff470617c93ab420d90b1838c0bc891bbd2581769bf203dbc8df0073bb826114e71fadea586d7cf6f06cf4d04bfedda455e043439937d330ce0a03ff97d420fc623163afbcc3e7de7025d0689f9441580308d1280e9235d8f5988ef12447067df3ec846c3e3319eee29c2b8cc713c979156d3e3f8",
+          "padding" : "3043300f060b608648016503040202000005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "819926a1c7a0e283aa3ef42cea08dc3893fc71d7295924d7e8909f46ced6724bf38d137541224982f072e39a80cb277dab8dd848ca85fe1ce6a102e8adaaa55f2e9169d8094f10280829c3332d24507a54452a026a541446fb388a7663eec512a0ddf7402efde859fa1662108c704afeac80daf6f8279e5ab5bd552dbb5a0a5d0f35fa5431e8ac36daf25a5e36e09699ba25f00fa69ed7fb527a49fb25908ef400ab9c080b73c5f4d41d965ab1faa1472f76c63d9cc359f7964d854d8f8db382c304572ea6498a6f7e39f6f6064aea336949eb157a2346975f1a71e1c18a77abcd0c7bc2f1ab6a0e9297d121bf13f42cca5662667947d70fbc026fd2a03c1353e34cec608dc2fba202163201cadb6341cf80f49048f55333db9754c5fe95b01219eeb608ca3e8b890df71501dbc579332c7ca6479c6fc3c34f31561c15d500ca81f25204e2f848f87c472cf030b5b40e499e3f034be87041dd5756173f1f2795d1f62bd74aa817f72ca8a131b0a5b7fea3fded32baf493871f0be8251970fb2b3031122c328e7809139d044d8f49e6bd31fa938b732a5ddc0039a723eb7e40491d7533092f1b7b7d8ae68add6001178ed1624fd3b660f0af184fb70c709c78e83b1dbf156b2c8848cb986160db4de954c12a29d88496283a3cf37acd0e7a63d86135376d43bde517c40e9b5e538999a86e55319eebd9a87149a81aea225a8128",
+          "padding" : "3043300f060b000060864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "dbbc34b6ead6c85534784953c2f6ffa36b018f95e15e0c28b214ca2f80bd9694e2f091d8bc3e25aad3c4c9e11edcd73b6785384693e4ccb183553eeee251c5587150bac7bb2d7c717fd6453a72803443c8372260a096596da4a0b7c32750fb264ed58acdc736c86c83396b705fd3acc0f3d7d3135dd4b576729d68664cb1e11966438f08d417c0db8bc37b0201cc9ac0daf9ef60b9b600cefb79c25104d2fd5480c2e2ac100e9500729a4676ab97e09078736696dd2f51cf90ff963a6ee99b765e4e0f7cf52094507294de601c0d46b87e8072e37b88621f9dcaad28cec7d4544ae2d1b5828bc1ac9e5258058209944ab8e924fd228a047dca03ffe2f28e88f49def895401ba3f05c305beaa10928b7a390eca9b61b73e864c93559a3295703c9bd82664b226bca0ecc90d2b27dff22dbe635f3f0a347c49239104080c5b8195eb4d750055889d5853be4cc984f215bb491e2a8c7b0017016dcbea3b9951ee935e967d1515e659ba295f76be48feac1c3aee2e35d309ac71877ae59f024dc9aaa9e2053e4d4223e482ec3fb1d7f9cae98c18db9dcfe307ea6916f137dece096398a0a62a594dce4048588f87e1741cceddec314d5960fbecaae8cf48afb09d3eeadbf5a77ea1c27905f7ae47dcf066207e621e892e7d780bcc9bae3ab62cbe2a4cb43b6621c47f904dcdcbe7036461ee2563de1f6061c22f33a5e4997adf9e63",
+          "padding" : "3043300f0609608648016503040202000005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "313233343030",
+          "sig" : "ae10acef7e1ff0d50705a425f623225fecd0ef91890696ff1636123023a6009b971a0fc20c50144ba4c42a6d45fbb9f48dce8a52514574cb41b71bf6c7cb255903aa9dae232c1c1ba567ef505cd040a910c2809be37a0f1d3aa8e6345ff77d0f95502fd6cb88d894d961b987c4c2ff6a11c279eab2c0759024e90ff7332e028391eaa1a9e5d50bf3e7d2a223b52619143afe8066faf3841c28e8b057f4326c0a5eda878226583d1d06e491ed2bccc20dc8ca7340f3582a7e9f313c90759f1fd076054ed464a10971c1f1e837d0dd7539bcc29ae9923691169f6f1b6a3f40eb09605fd987b75f4d035605f9fbb33a4d58f912b76089cdbed34f14d1c26cad0d400fc4f7d048990ab37749dd00b22f1b3b9bb31ec35a51cc336d3a7bfdace0ce5c916784a40c7cc76a8a2ec396939487b62516182b19830aafbfa6bb9c7947e7b1302f1e344100975c1d1ae523bcbdbb9a5a0dccf800447a7917b2a7c40e7b983e98ce15ca2516ed660975f1db031116196d4a52f8bd3ed40e904509506f8fa63daf1dbfce32b817dafd452c03e5502a36b8cf7391a3a7d9d303a9d5c5684dcd17634a80a73eb8a46855318239bc585eb2b1341bbd842baf93373e4b8e611dbd6c24767f1a8d620f5f4b97c8e00c67e77b13315abf9e5a98a08e56630b3d3049ea354ab3e69d5a5ba6c09d1ded3cc61d0006949a140b66b80ac31755c856be989b",
+          "padding" : "3043300f060b608648016503040202050005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "313233343030",
+          "sig" : "d9acf55c9c01cb10d9acf6dc61e7c7be67340ac52414cab198b8feab214a561b1e20ee5f6c5f169f0339836efbe99044ea672d41aba73cc40ee7eb47f9262eea426cb560232bce5dd11aff64d9af3bcca961207f8ae559fce24b3335789c8ec32e6f4732ef0136f59ca560f91aaa1fe6d53902822fe559d2dea8d3a318a94ce4d6fbd2fc399c7a78c0f14d70e44de3bac04f3668237f7d45d2cdf53782879a6dce950a33314122654fdce0158c46de33d991b9097b24fd11a2718f60156affb27ace6a880f04689ccde83eb365543406fb7e7826986f2529f0678441ada0b0be5870ce5d1c22d0c6684b5f897ebeeb9ff5833505ce2fd352b5286a3dc9209a490483f3607dd907006e1895b3cf887fd657058d9918e8170f4031f6dea28b73b83f59a94efeac01716a0128807a767860ea417ae681f5f2bc627c3c9de61584f30496d28fcb8f9a18276eb488144f9adc33df6727871d3570ad5f69085073a3622dd8bf4634881d7defaaac0ea73b3a40e98b0ef1214e895c1d449c05137b0440f581641c7f9be0c7c718a08c3c8a6537fca80ab3c5f026644435b873af6b098a792dd4dad914f60e3f0de666df582b0c2279c786a82d44f2bf2328b9dca6a92da5b8a5bbfccc6b9cdbdc741560e9918ca6228629437ce593080b2952af34d28f72fbee2af5347fbcea9c51798ada5e09a8d8b3db7096175b5a44e7005689b49d",
+          "padding" : "30383004068105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "313233343030",
+          "sig" : "5e82a192a85eb098c1413968d3a0e58d0084210b641355a74a1b59e8651914017920e905a2909c89cf7b3b097ffebc34c06457bb9647ac394b8a0db5dc33af5f4e95248c45cf22c53ab1906bf5516dd3344c0cb02073e99ebe267e5b36586f3b20cf090f3c9512bf1bff2e3aeebabb3b9c328c971039aef1da8608f0d05ef9128038c35002889af2f463df56d028eb0ffb5309474e7f7e6101ac9aaa854d56f1a120588201f4fa8362515a26201d6249b02f554e7c2a885b520b4ec352387b40a7baef56c3828432feed464c1265225c8183e781869455f36159259297006cdf368c2dc82a93a286941c136c6293b5aa753a053757a8cbdb59ddff5c8b2d7122327d89802b711ec638c6b7c4f8830f160b2aabc128d9f4104b5d794ecc35d5d7773baa976e0efc795e5272fe0b6dedebf3137e9d04085b19912d011cb7e746b10cad9eaf5063cf9e1c1e37c6957a72bacc261fb1c777795d16badee7dc0bdf3bc12672f4d8819eb111bbd2b3ac7b4658d97901ef0c44ecaae7b21d9b04ceced25e50044c69600573c24541608f1ed52c6b2f5feb0684d0b1bda858467f2de0b7c405490bc985817d1bb53d55f99ccc85e6f4dfe3729b43dc6e39ddb6f470e52221447dfc336fad0abce1ef06a4c0741ff70e52fe94af1088fbe6f7ca22bcb0a097e32f3dc6407f757d80fe345bca163f0def954e0b58211b2509a647bd238d08",
+          "padding" : "30383004050005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "15f0e55d2c991f709600d78d4e4a2ad19496adb55b99c5f6bd92f460112957c54474afde1f3e75908a5694883b9ce7dc956c28f89aa692b6ebbbd2873836b8ae596c914c11cab73e6333f2aac5d92778d95361110f9f4a23f09a37350c20a8850db12b522a8493cd085714b79906254c14ee5760c7bd41d605ccc106a94794988b2faa823e39b49c828a2a03bae06c57ddb675f0fad16f085a0d720ae8971395e8a317770b5da937b73ffb2a1d86dc6000f0d39be03c1dc0198f5f3121321c1ba0fc480c4280852cb315198ee86a3b295e37160aa2c5e8705b22ad9631a51a76789ffcb753c3cb4802fd7563da76b8ae740bd7546d8dc6b12c318dfdfed2d3f353bc94b0ab8a1c9111531a21c1af6d8422eb61d6fcfc77f983aa87ef8577a737bc095fc766a7a37025d1743969768c3f4389219f4660f9930f4cc45d62d181cd35d118b75ab3b013433b529234204f52bd0dade8609786ae30b97c0152e05ab1b119c3f8862c1eb1756dffccd5f1ad89c93cd946384e615e2c712fdbb0bf16ceb5c233b88e2ebc2b461e27bfe44b35ae09ecf6b726236f45e8b1a8f56fa23f0dd889a5d132448c04ce225d7c83695a891b93639f3214b7ab76418b0a252a595ae3f4e6dbd4e0d729bab70ffd3a31e6e8d8142df6f76a7d5ec60fccc8f04d3f790bd373bdce92e0f92af5bc90b5b7da24a18a38c8fee8f3a20dd303b540dd64a4",
+          "padding" : "3041300d040960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "d156c8f72fd7bb5413c822f35cb58dc39bf8960f0171b2bf045a46db932d402e63c24e954a466fdaba36689fedd624a0c44c02225866921414909b99aed97925736028ae48bf2ddc5cdc6f57257afaa46b6224a5e9675849493c097542bd778c5da2bc3406bbea398180549027d6602906e25233c078b7ea06b4af69cfa5860ca69eb0070ecc5273db8cc0445eb4caf565af68467a4a24d8a5c31f714ef82c7efaba313ab44f4cd4f6dddc78f604e2dd42802ab9f6d828e43da3dcdf67dc2e5e139bb5aa5c944589f6f57b1e0841c86fce76158b1d3683bdc0c8f85c361f0312dc4b0ed456ff9c670072520f1a139c49d70d21932a50783064d7775adbbb638f36c25b2c5d75af8fa67ab53440508860d1de242a815d0eb87f2692f5c8ecba455380b61dc8653130e2a85110532df6aa39bbe134da1f3a14adcc48a8e7f282e142ed34b1feb119c0189079e81ee35a86472245789d193bf6f5717b5fda552e4eb547b3518b292925f50d51afdc352469796e2c9d28791a7428a68925afd1eea528aa5e85b00edeb34daa09f7da65c49f31d8e12052fa22be651918a797edef66fc5946d5926f21318d8abf21dc15163bf7f630037ca055e83d31cb4cd47d6d44ce81491f318252c8b2d80aea4f5f060643812be02196df31e73c354f91f0dd2cacbfc73501b1d8d5cfd81d6574cc5be05dcbf7603819b81f6fd1b11dd0d3198c",
+          "padding" : "3041300d050960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "2ebdece5ba8e494f3810c98f49cc05c16369ba336ae0351123ab6f1f80f3fde76b98bcd9f79643993bcf0bee4e05ad6d9350729c4ef61597b454bbd716a85022aa9c9a0ee2471bfdc22e87c327086cbf76e36ae4f55fbf7fe3ddbabf50e744facaeed389aad2f58e8d11d355b2639f382404936d88db825b6de87aeaa3789eec51746db3cf7db9998ff8961a3f499079112c4f59535b8896a30b4deddf1ff6a52e370dcf3dff8b7f3b3164ce78b579469d823292304886cd596c512a1ee5f189e40eb9629095653d45f05683b53404ab2cb5ae55f64bbea4cdcd003ef80c3cec9f24e8842f83a992f8010cb996955a91a5362c6fd2c6e57a81f5dda1fdb931ca43997e51ffedb235d843b590a253d5bf395f6db9ff233af68a1a54349dd7cb37351a1cb3e5ee25cc79f19403ecb41e41eddc02d4eeaab64202b8696ca7149456ff00a563e8a2fc9f90a5d25ad754722763d8a04bd7336dd7884b5b577d88017b2cc66214b9d0d569267b43b0d3b7446f31cffe4b37161ba027e24353d2d63a339c8fb5bd495ac341e0eb864bc8ec25874f65fb627553031a58c932de9e99330a28e65a4066ceaf4120d1036f46b5cff421061796f245ca59a89715e86343a8b52f94eace323ee7578f0cd7ac8b2b6c9d53f1a979cfc863538c1d8a87bf21d07d7104975ec7a62afa2a551b5206d2729cdabf3f7c39396bba123a207a03c6686a",
+          "padding" : "3041300d070960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "5d02decff78b7129151a66d93a53d501ff3cac82d92694dac78b6833b088a3889daaadc9f1021b02b6d2ee77a2095745a84048f606810b980f715d18f15027ebe9f59279895d668b86d14cd1c056d3de0e1e7da6472349de57b10cbcfa2c71cec7bdcf966ae6407bcc90b3aaa3df2802dd70be459da4e7612be94598dbb67026d61bf3f88fdd014fd6f180b32b785037a396970279fc26c0e689cf47f2b006908251dc1448caf42e71e19bfa0668d7bc4436d11e694add08d86cc10316f07bf64c54508ff058ffd70c24074abe83797157e057465a1129b0712ebc2d3311a7d6bc8226411a824c28d8ce81b21a26eee3cf5de86bae79f8206abdc93698850d141fc54b22d7f8165aeedfefa8a34f78bda9baee9c2ffbe249c33ea2040fe31651a4ab3977a71f36d13f912fac5cda4c1ed36750a6f16bb2e097535de4f019489a18634c4036ec73a3a944fa45bd1ebe073e0d3c36c536340538ca349ffa780e408a4f10da0aa6c01c3bfdc41d4001dabd379d50184c1a78d27944a1bcd25dc17b36ecc89babd03665029bdacc3aaa8c86709e91f656ce7176a25a67622642a5013a7e4d6906f8c3c49f998e9d566b62409b016d7befb6a87ac983b1784e9a1963d7500159912ba514f82966bda58e2aa5ca13c8244c464508c3eb11e9469497a06f1f96b3c459055f6d2e56a73609b5adf94d0587a31e3d85f643b9bc6ce2df28",
+          "padding" : "3041300d080960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "39ea92860d76b373c6eaee74fb97f8439067c02e26e0da5a1a85e466aa9df4bbc1f2b644cabe5452b2692b4aa396d298e7a9e563d03ce3bb65a64272f903968e5ddba1d0e3322c90c80827beec9935094fe07681f41241bcafade0a2a7fa69f15f852ec457763427075ad4a3e129c229d75fc288b462a1713c8dee10d2a271168e109cacbb2b7f14e625007409aba3436d1ecc074c914b93fbcea73c5132591cf5037814ed9bf7100b48d0caa41f415ed7317072091d72036871a2d32107d02480bbc1f3c2cfaf407d0eb218d003dbd3a53c0a4ceacaf9466eecc741ba7763c912a594ceeebaeb3491ad7603cb74f5772567ff5c978c9dd1a3f5317d957492618b824a445155d1f7fdc25dc93b5d17c696796b21070af78c6bb4ef055b0e44f319af4235daa79b864fda2cf40030c04c1230e721565043e6ff907f17d7b1fe34961e9c8603461dc15c9969d62f17ea9e9ea8783459b135bd8943a8e1825bfcf7eae8437567280f6303abf5a9158bae430b1585c21b2be5ae189ecb5ec59ea66b97dc1d8247641e200c1b5b8ce905d6b095c0a0022efa707017378573eb309fb204c1d85baa39ccf3ac6841673e1aa8caa1954a3a3fd2d8d8bbef94541bcb593172a87b8e5a27f94272a053ba5fc940d905731977c20e050fc5864d2dabdc9b07c9a1512982b6fcfb1bd9ae4a4bf8be086e6c9f8904e1d0da3fe81f756852e982",
+          "padding" : "3041300dff0960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "313233343030",
+          "sig" : "a3d32a7d13de642496d925d37624c62ccefc1019fb614d289e74e71a71c98381f39dd0a041a364243687ec4d235bf07909fc862a1f9bcf122e73e53ca83433e0588988ae9e3cfd743f2d68404b3fb3b7ddddbf38f202094752f868caf1a234d984c2f80b26a69e39282b3e5dcd7c0a425e16788c1980497aa77aff1d545c95e1ba03b3a22933cbe79f047abdeaa29f9529c871702d59aad3e206579bcf9c1bd05f0986333031b0262734b3ce2c1e11f22408c751917832be4d9fa83e255249775bc9611e5966d08bd2813cd41cb2224d952e6f3d465ba97af6db4d957d72cd82505b6d814ffe92ffdaf742a1e0852b9899a512b02197ba58788513cb5eab15c87e45154dd11095758b7954f2bd10a363557d92e07071b2176230df060a2a6e026eec784bf65664d903a4bda0a6ca37c2463a5347e404cc49d48c1c006f43259441535d53ced7ef3451c705f90f33bcd7e770065c2bdf5af1b407548c79564ea766dea5a4c59a1c07a64b72a9421eb42a9b59107700aa94f9a674c3e948f476da18abc459f8cab734d2742d6557c4c6003d08f8bcb217e7a5aae2dac2c25a5b547d842271203862bf2b351a9848ca7e5b86de87fd1c58d05d801bf648a0b9233560f9704f4eafc35735dfc975d701492d453cc02fba018ff51874185c2d64898e3cf26138aade6e5d99e7d6fb3d1ad8eee11b366d000f1552acf5a4d261ade6f8",
+          "padding" : "30383004060005000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "313233343030",
+          "sig" : "8675ddacec059c224f46442ca3f2c506800fe11dd2444a6a341689fad88cb74047890df144bd1f4589fdd732b92b39a1c654dd33031f4541aa888295887362ac0db4eb7bcde0b2028e8674ed15eff004fda1e7ad4071d4b7eadb9e4a0106b90c92ce3621d9e12ead9917c5ee72b373cf4657dfe69da410fe30fd8ed72ca220c9e471195bae3face29e184c0f33a05b48b2737ba1ce2960a0ccb0ddc4760b5f88c463bb4a349446cf1c56ef332e50f1d6a6369cb3ecd7e2af504de42c075670438e7c58c5ef52e23804167b6db30022e1272f8b698ae457981a18d239c228f78e128a01c7c0c4fe62ab91dcfecf7b6a4e89e9be784d043b4b35fdaf8e81ef0ae534ad448a6650f496b15899abc5f61df6793c97cbed05cc1eadb227ac204bad3edfff32150c73c369a74ec0d84093fac2af59f53ca0d7d8723ea6d5c84a8349ee4936df5b71a3f162c2dbf6f5704a7465702acc00c91c247337d2ffd54f51194530be506660f21916c24305d1d4bded04e39a249a584178fcd2235f5e4997989febb486009e52f9da43b705732895b42c3c4428612aaf8bb966d8274d0b75afe0d0139d55e987211651c4d82cae3ee493c4cdbc7322489bd5d4ff12cf38e31241a817618a18cb5dceced2a5bbf2d32889912a6652cc8d4a4b6e05d9d7bfff47008eda7a0f9e292c360a2cf5d2dd5af567b703718bd4c4c040db4847e30124a29a",
+          "padding" : "30453011260d0601600608864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "313233343030",
+          "sig" : "3636498fdb54663dde2c0d06599bcc1ef3a10ef4ed2519c6da19893f3ed970c7f64ac516e14506243846d84e26d53f903e74acfab638a2c62c6aca740a83927561fa27d05296b6459088aa8d21ffaeaeb4e62330c49238b217146c60a777aa25ac96b701a561dfbdde859041d2fa0a116d14e5653a117e5988b2e7bf2bb5835a92e316903113fce30d23e1f55179b2049bb65241acad621d315187c1f0656efe345c7fbae6cc7c4de1e8f060f78acf2022fe6e7373966f5f10e525f0eba8b08a5a167108d3f5323a752577ee05529a5303262edaa6adbec6b7729e282f1f7d9722caa9eb21e856275979785e178b1c19b9b3a60ba678ed34994563b7caef22f13c6f6aedefb827a1afce0c899f72bdf27bdf9bd035ac37c071bc9f131c665e2adae13a14bb9b6d22ae96efa383b783c4d2fc8f5fd8c70688fb70173688f298208429465a7eb7b2e2a9a7531aed6a26d35c856bc099cc212460c0cddddde87440e552386e85ccccddd86aaff940ebf7cea462bda33579515ce1643323ef2d0c37290f3387355240404fc7b4ea610474b026616a4b4a837d78e4c9bda61320892e7cc1124357c08ebc5aad0ef5459ad0036884139ae05f3fd7fb23faaac48995474fa2d9c12f5dda1e3d68de42bf0578e4959bddd26d1ee79479cdf543605407c4ea2c24d84156210a278a8abb93969b519ae9978f8692fa16fd4921d8ae3dabc0",
+          "padding" : "3041300d060962864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "313233343030",
+          "sig" : "1d8f7364a550c1e7d07ea18b511aa9314f5bdb758301473b4f2ce4360e0489a8afeb09064f2071c1939b154799160d8cd205866624baac546edd3d8edaba18aa42c0cc9e8316fb8fc69f35d965ef5b7fe18f32d8f12b8180756c9322723b2c97546a2ae62f25b6f3ff7fa2c060f40e6ddb04d18b32fd6c51cf14ea7c2df2b0f2ffab5f0a9f6d1db361fb6d216847d5edb91bee9827eae208ddf18122c9c296020b82c7521c5ed6e30c6ff0b3f0a587f45ff6e993b855cfed925734b5ce86459d3fcbefc0458a6697e933e4d311d09b9bf896c1e2e7be6f739bfb2d5923ac0e69465becbd2e8b90ef3e73c06da041eead456fb5075daf8dfe3e48ab5e23b669fe4958f2b08e518df7eebf9cd8e0653400159c095667e204e1e122e889d87dd1898b27bcb1a40956f9a451cff052dd1c252e384d61e1c7f7015c79714d70a766fb14d2936b01f1d84af1a10f40a53897e6a938caf4c736289a4362fc4cc454f71650a78c1335b4199ff318de908bc098f685d0560abd8168aa0da4022a50b5b5249ceb4a9e52097bc60c254798deca930a5ea160950535a4583fcefe6a61b7d847302408eaf52dfc93478fa99e031d0623a9f5d353cdd735a0a4ca347e81f8d75c1939f5acccdb34f5a0624354b701f74a793d550e33b58b972ae1e7761f03b7a1db88c3dcc451441b89845fd6af4d9328092597f0541253c3bb695a0261dacd08",
+          "padding" : "3041300d060960864801650304028205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "b0bcd77729a5eb38cb5327a725f93c4d5aac39e8fb1ef6325b8625a37c01a00fbce9cb5f150005a147ab5ccff9c0f347257746d05085e14bea6c016fd56e798517ee93cf9911af32d87b92df6122cb4f21b75d898e5c57255344f8759380c44a06af52d91794044f1cbe022c59fcea76f9d4f692895a8aaed98e7834aa00f0496594b056b1b800271b653d1fc07bd81885f8ad2b4aa60300d30fb29b416020fdc890af547090d307c2034283fedef2edc4ff450457ceb7a3d14442c4c1640a5cb1b67a7db7d6e227258409b36ae1fd52d126f59b0599da776cc1cc960387beb5b0f57cece021f8402ac56d87eba3c2867e4046a8acd9769b9d8164c0d0f5b628d9ffd3c495381f34bd81b73c38bc94441bb62e5716091fe09d40a3ca9a71897f610a501ab173714ba801b22069d20e4edcbb980024a5862e19a600f9bb0657fa3b10be05710817e5bb8388517d8d7597ef5053af84a856c1f3ff403d8e2f028f7dbe110f1ef406b2a78e8afa220a8ff444481eccd1e79fa4c9c38e45d9942fca714fba026d9da0fa3c047abfef6e090e39b973e97990cb8527460edb5c49ce61d3669f27d90cc411b16c8eaddcadecd586d55d237661823bc4eba7078631ddc49960cceb6f6ade3cbdea8e43661d28fff86eed6999f6fed8b76a614f9f5e0a1df9d3bb4ce5b6838d7fbecc3778025cf50698abb0c4249e9aef98720f8ba3c54a",
+          "padding" : "3040300c0608608648016503040205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "052f44e3f7c5fb805564627c973b591454211db2446e10486a68c3c49847e6bdef7a0530f2db906a93f8e37c8f77bc1be341a96570a4807cc74e72e222bd8cdcbd406ff198df61ea9787d9fad51901a6931bcf67195509055e01b7095527f45e9cffdd4aa2f75fbcb039d011f5c2dcd87233cd74d496c53f95a8d90d1ce1063d9a9384d4bcd0013682974de3deaae49c44a08daf8a8ba770dba97b6fb1ca270535fd777c7b732a5852f48c1f52bf343a3215017af69bd6eb55ca379d556816859ea79f35a2d8e272fa0d8672da61aa10c100f2273772cc459349c015234ce17fd41d6a8cdb516f5e26aeaef9d98e4b41fdf748aef9e40ee2063761e32b919d1051285b3df90063fec355601f0e65e8e4b23579252adbbc3592c1d5479a9f5b8eeaaca95aad9c887540a950c9f83a03a44336672026d911fe40b137fdbfcb28e312a3f1aff09e2140055e89c8d3db97cd69e4f3512c211fab4b2997882d5e4a16b699c64ff73418126a10f63c83b922f1bd145739275aaa7e5d6446e8cf295e7e65244fea145a8d87d3f305a0d6b9dcc912cba677028a21cd1892737c4bcdaf925f2f56a6fdc9e0721fa8eaa1bfc4ef8f678dccd65bcd5726ddccb395eab8a82221d59190514ff08d6ca2043a73484b93fe5b5f6b5519d0973d4ca62e715d61f64d823825bb08161157477686f44ebd157f231d187e8907ddbaf77db58c90a390",
+          "padding" : "3040300c0608864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "d32121ca2fdd3e99fefd04a957891bfd88800711b9c0276ee0699300ce0af1c865be0aaa40cde4b9f09af2675bf1990d41bd79120de0277e0765f7b4a5449d83c598c830d8eed080940100d40cea3c45cd8349ca333f9052ae2ce111c086aa8e589cfe310b450ab04be9286f3917e178184b0bd51c437382d1c7845b50cdd703e9d13d2b598b51c05f91508b99e5477c11dc92e3a440731ff47cf7fad0ef20cfd99299f534b3fcef83beb3c89ffc7898d7501ff84cb3c73cca8103bda79f1617d28523454181b695ff0ec3a87fe0dd438b7f908ff38ef661a832085f500525c3463ef4a6ba9c9c0444b3a4d1c7951a169f85ef0edc57af72e3873a45684dcbd0ed204c04be0c096ed49fbac148501f0d79b53979a84778fda9947e79007083d3e3d253f8aa2a874452252c95eceeb2a99d132b83253b53824265b43bd98c2eeea5b48872082473b7f37526f53f5731c88a78e83b4cc826b825caabfea565d07937d7b6e3b419e9101873f141f0d566815e567bcb76b6aac39299a6dc0ebb635f1b52640065fa3c4c9e7b621f289b05e7f1b2b25254e076fe03ef22ca4b541559587e730d7832271c3dabb983a84284444f57a0fa4d5ee33695e6bd09bb059648c2a5285f9e636f8504e006f456441126359b0fa30be4626f73608ad9836a037122a1110f5f532a5a4cf1717b1a5efb56b4c1c6bbec25d32ef80ed2f86e1af762",
+          "padding" : "3042300e060a3262306530333032316105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "519fb6e6103b5b90b289654b740c10fa750090ec4f9e55943a220e02e0870436df3af22f3a38c63db2c960720053150d6966c3b1788d7a8dc8dbe75a7193d9302d4a344c1cbf4b5983b6d7ea4cbcf9b0ada18bc8bae51feaf906d710752f7af97e2b28894d7878eca1c32a48b95c276aad0375b15f99c58350e4d33379c27f0a36ac4992bbb2dbc86b2b74838e6eadbdb138df7ba158e5852698f4f1a62226a2ffc6e86af69252ed60d04e2e957887b0208b7a9d7d893c2ef7fdccfb015a961afb34c22b24ac3e04410d2fcb8279ab718b3746510dac74f819faa658c05965eb28ed6b570b39a2e486e8f8b2a3e4e29a89834ce5ed394e7e40481dc662c833f0d0d353b690ed7995703253e2d0b3092efbf884db88f3a0fa49bb53e89e590dc65d38ac8312a17b7cf1a1b7f8571d41a859d6e084b02038da80bbf20ac24705b50a1c02e79e60a2d1f74cbb9398cdd97f5ac07931e64a823153e442448ac0a9bdd32cb4926a2527a66e152d835c037995f04b8690431e96e20e2b23ad99d9981337f3a725e26b91272ed3ad2844355466b5aafb8b3b241b0f8261633618312454c7ba8d05834504100223c9fb8307602b71668dc9c0c7ef14c6fead9b8707049885205308c743f8e5940fa92add77cf985b8f3ce1b5f49696b3ea5a368d07fa21b2e407e2cb7d6fef8db99357c433f6983292c1852ae16d6de22a32949e684aa6",
+          "padding" : "304a3016061236303836343830313635303330343032303105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "313233343030",
+          "sig" : "a03a23e3cc68b06683890d3415a069b0e97f2d2d4d46bf03a972a33c98c5a443ac6a7f0be50d39772e6cd398ff3389dfa22b144f746f37d27c425bc61fcc9431efc5d246b0f74d7c37d46465e236bf606687c6d597bb62c270b39acb97f0830f7ea957659fa72cf0d368d4e440831af13653e6b447274d32e2ae229c83cb2c519cea9f5370b07a41aab933aa4cd735be9fd889c8067caa3740e4198218e02ebff57d1e1be80504732a21ccff98942f216ec6ecdcf1bbc0f3c210a55c57c7e2bc15fb3cf7f68ffc8be18d3f5e5ab1d8f8445f55720bb6f0487bd170c6403c0d82d480a577a4f77b88d078524cdd34e61ebab6c73f746f80eb5fa0c8c138d08d973e243a1ffbdd03ddb30bd22ceed6a12d76782f9281deaee888dd2ffe4327f291df918968a35bd1d852dda9ead959133dc77a1a6a7be38767b5a9a07d74f15812be40c9e1a9f8e2c049b13dfcce9e5ebb04c45594da06be9a84e2115e5835630c3c39fd18f244b276d856ea16bf7b063475dc5830fd7d9b21997fc10c557492db46590e38bf310e192c74ade2d4ec49b8b676fbfb984b80433a9fca72aa232d749383ad7274c4cc6f380fd9d264545978dab1098848895e16a2a8c0f525247d3b7d2e81ab881a930920e0857c2a105c2df8ae0597b7a8b8026d8fb8be042acf239161247d4dd335dae1599069e6145e08dcc157242602d069eb925109e76de1dd",
+          "padding" : "304c30180614363038363438303136353033303430323032303105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "3d80c40e3188a4a71b394258f72bde22587ac62bb7cf9a2b798e9e1fe4a8c5764937989eb46e733634dbbfbfb4020559fc2c39f25d52059ac5782ab3dc3b00e81885a85466403dfaf530338eb8078fba9e0479921cacf086a8f120539a4d661bdae7680b10a0f5fc5f83df3b2eab57be08e64e1476c914af4011b78676453f93f5fab6a299e747727b8c993afe6a6bc2d18ffc3a25dd5bfa15058b953cceea8eb214644e23dfd5a5a9a48c70f5004e3f0892609cf739f543456e1735de3cb5086b785db612a4d01b09617191bf19c07d5c8dd971de2a8ba493d5a09fcbf9c51afbbc70585af8ca9842266ff9b05afd07febb77e01e82e5d53dd6d5cd9aaff7b9ea1c9c5ef99b41818fbf57c4f22ce0fc11eb0ec85928dace93f7c43303928936fcfd80b516a2a982c60be91b82cebc0d31e9cf279ad90a0258b1281deb5e57de77ae9f45793b4dc59e59563d6c06210660065c1099a11e1b79406968ecc855a6007adf234cbb32931289aa86ca872d79ecdbcfb159550184b7c67daa9a4e4a5693b380a4448034b7ff2ce4ff5ab999eb0b0c5406bc0b94b536a7f99519a6fa3e1599a4fcb90cef2aa5a9bd76d86a8dfa73089b83fe79f74b712380c72ff556c5db54dea366256aea575ea9edb1083b42bff9c98f22fa8584addf4acea40fd0634bce9c6f776f3871c6c4616cead4dc955acc07a3d57b9f49c687fca32f69282e",
+          "padding" : "304a3016061236303836343830313635303330343032313205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "a131d5d3da43f590e9ca65cae8fe69867cbf56570ffee1e746cadada6e3fa3bca0e2d17e5a0fb4380283a66598934ea3faff4bdaa548b1a8f751c32ed966292d397ef1d5105f74b95e69910cee001a8375eb37be64384f6a0ee5d442dc239a52bc2e4c0b19f85c284f1bc3ed4306e77ff2f2da77e2b184fa0e578e79b7c8ef8dc39f58e2010369102eaaee3e981baddc780c052af7debe579fd37014f9455314b106812c3fe9ab0824fe79e52b922ca91c2bd729ae4dca8d02d410b099e33f99b305abfe7c9d1091bb80f4fed5c875263bf9cdbbaab28afed8252720a47e2c44728187808d454bf0cf5c90dcacd88513c9848f19849b23d1641780b0877df7f1688479f2114b6247de03bd2a377b7b996fc564ce2f2acc6f1807bd7d75350f0120a3846ef442de75d96e1e20f23e27c10bf2a54c6a7ac2ad780b3d6a2fc4511b17b38d835c8210b9907e63501462f531732bd54acfc086d1e4f655db5f144d095bdbe6f11b80fba729ebcc18369acff9897e0e715eece5ddd169d614a5b35fdc9b423e45d369cb8eb49a9c0c8c00a4947a3f33cbe58559ede6df527c654c13f393aa50e02a8674b0a7d9271ca9e2f74aab280b0dbb70e1ce951fc958639d71cf7ce68fd94d660d328b5a57a48ee1d902abc8aedd17101f05a803704cd5c2600fad8ad56fb86019070b841997c697f23350483ead5b26159cfb9c8cd5a314103f",
+          "padding" : "3052301e061a363038363438303136353033303430323838383038303830303205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "313233343030",
+          "sig" : "67b0229e244fc9d25d1147b8f129ec943ce4ab5619a6b64876ce1d932849da7b47cd2daf46a7c31f161317138a63d3c6e0d207fb2a343e5032eec2100ce1af2b6d00b52629b4c4089433803ce3f28302c8814abf4cfe266d50d6738df516c99138ebd20554f47737e0edeb2547997c4571a6fc6f5707f3b0b1f25ea2b1660168f5ad8a67f652247e2bff5b057af3fbe166e645976f3b5da48f164a4835956597dc9ec555559ea4e490084a20716189e48607da522e93e883eaad74621ba665ca3d009bb08344efadc44971ade287d939a24b2acbaa713c6aeda48eb1c1873e838e23292e3b0043bbe8cbd0fed03c106ec62112fb593d26e417d75e0a317f3a4b856f7d22d9592d59cac17cb65a37a7d3e1c49905a549d77b28f637a396558b5557189e88b44a7ef819726457746c05e5f097e667689c6e8fbb489c10c892623f97add5c8c2d442debf0eafbbb410c775282c625fcad8ed18c27c6b7fce881343278ef23320c1bffa721b97321d4a4c3e8c16c4205e60b621f7ab861e1f3a9f311b13cfcfedf2dd5a4d2d00c6ee72ca5b3d51f99356327f57fde58cdac9c836b025621b64f193809e2310ee1776edac33a2b3a1a113c6c6039b186bd4046a8637f89785c05defc7de8742e582e5c25a8e17715efdb391a8b28ef387c15622d6df2dbea6ce93e6f899421fed32f9b956d6684d28d58ee26a3647fc697aeb649a6c",
+          "padding" : "305c3028062436303836343830313635303330343032383238303830383038303830383038303830303205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "2e73488697eb1f598c792fb98437482a3dcab42ea74abe53c466e9f2337d607a2814f9b0960c796def2dd06256590540476fac0439ec40f3371a7b3b9ae4845a7b2788e8cad5f3dcb3b8ee8a3cbe227c45d276c2bef4ea86cb7c91125a32c85478bc6096321c4a043db0f99269b5dd3771a52929f18a20d7ab230b78096155312b2805b2360e6aad8825a671639d592a033209a356bd2d17947333dc713bea6ac2637d08be758db16fd6ef605a052c4108cc88630aa20e8393c60dd22851db43e650a0f677b6864729c8cdf357d6be1eeed97629a1d3f255217e33e4d8e558cee86468fea7d116ee9e29cd6f050d9d3bf291c82fcd350858fd7d862e609c2f14c8a8cbb3de79e7ef5a9656d3b5ea092c8564f741dc953f9421b2cf83c8c596ab57984663e526de6c9145fc610e4926a9c6df0b4db580a9a698ccac4a65e41bc1ee732bb9dcfe0acce38bb7f6a7b7b492a6f61d788babf431f10f90cb3304455d82f69355a4db180c69302cf7fff5c1ff9a381c8f7d711ebd411225ddae062400cf2550417f83b7b9e2b968ca6e82cfb716bd816408e896b48223267110e2b214649e33122eb5e35579d62fc33720ea361afe9696376774ae2faab0ca932f2f75e0a24e76497c58958a7f5b6c579b1a14b23f2218f4a8ee7f2861b03458afea1b9eb8bd7b3dd121e97e572f05dcd720e0d25499a5ee6a14fe9868f503d81bd5b5",
+          "padding" : "304d3019061536303836343830313635303330343032303265303305000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "a8008cf08682a5bda70df5f1cb05178be6f1f073095cd92e609f8babf0c45938a2cb8f025755b173af0181e87ee79f8a73e60133f4183ee172dc60d6ea0f6d30ab60bc816bd239b0bc70cd2f95e2d6d280bc7401d27cc536dac23cebedb38202a7f4a1709728b3d32dcb67b2e4081153c652ec0f53c13c856ddfc0c57088c4a6acaa4fef18aaea1abb902f8bca7147c54bb13d430f792c48e4d3050a705922d73b2a19f3074857841338521fb996810602683ab0c8299bbab9c598754a34947a2983dd63c76cf74b06f81c02a78d448d228eca205a88cac0877723835afb46869cf38a28b46962269f8fab5695423ac3b37f88d5dd95127c280a1a4018e47755b9bf5c54ba7c470c1ef5ce78dc49d9a175a07352edb26fa36b65c53163c261cdff35e9e2955c5e3a793a00a14cf7c90cb4c43a2009d8e3c896101e5226e65f096804f26f644ae1311f4247a972a60dc6b22062edb565540ce4f3f4cccfeb57ea2a2cc9205a592e7f522a8867fce5681f292c5f2035859fb40790572b319e748fae1b7cd8fcf87421e0ddf8a20b3ae9c02244c6523eeb350f70a19542587eaa9e9798f104136c8ab673c7f3bcf199532d14f17ab532f957cd6afc5b5e57f15064d8b39ef444ff513d7de02ccae382b14aeb2cac0028e5fdb8c1fc33615ae4d93534f3044c97126816a1732d814ced6bd043045b918a4f5b97c8e652b16130f205",
+          "padding" : "3042300e060a6080864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "313233343030",
+          "sig" : "4985a583b2e7cc653a5343d6bffa4f349e115441d35f594332b753ae0069b66ed24e65a93bbeab94b25d992ca871b64f18974fc65ea52dcef1dd95e46b2b758a847a7c66082cabbc1d08df1e3b4d69dd5e351af6e1dc1edf2db8851ee9ebf24135ad62ca44547bcb954ae58602f7d8eb35a55e8835926726fc31360fe822fb12dc3e08a03ca6e3c19299682feb785ddadce89486ee1175763b52ea96267e5e90cca8b49724c77c27102a2502f1b898353220a0894bee75278539eec5d19431f81ed9b2fa3ddf17955d41ba0b86cf5dc1e78828a8561187d87140ae1a8dfc22646b23df51ba756f0af64a806be81a652cfece86a47e5077f560b89e11758eaf8b01559be0376ea02f40cbeddc9735681b83450f10696f2306d06f98bf2879b3d35b05b75cdf316d62ed6cdcd7a64455c0642f44b1c603d35c1042aad35262db291383400797ab4a0875addda08cbff48811c925df7482e468a3076bc8cc89e8b4b76f7c9202acd554fbeaee95be3ee8d59207ffe2a5461fc3019607ec8da4c267be29ae4646aed386aea72b47e2abf1be5ea4c2ca0107aecf9813da0ba6b3db42c3d48816e35c3432a0db42f433b121b80b461e4b93bfbe26479eac726d5e70643aa2a0cb2c2e4dea03a57ab8e8158c6aa96fa0a70d050969e4ec40ba064bd9abe59d5f35cb7cca552a745d9306f05eb1a16945d5f20477f203f2a4cc69a06a52",
+          "padding" : "3043300f0609608648016503040202050200000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "313233343030",
+          "sig" : "8f4b449309fbf4b460d841593ba66bf21a11565e948d155c9989410e0a112bd38c950e245cbf3010b34218d48c47318116a5f6161c5ac19c9b7d65c6c51ffffe852ee655d33e9dc5b1b92b83efccc1e68376c8e29665a8acbf56837c3fd12ade872b248021e701a64ad8f99ee2d26367b3463bda23654fd736c64dcf737f12b372e146ef652c1d468cdbb669aeb50ddb966da6907d2cf7456d29c3e2b1334147327cf6fcd254c536dd4607f3a2a8b197d5c5f44570d88ebe5fe821f656a6b254fd0fa034f7a56cd1e51724b6bfbbf5fe301223512c6b30a08eb4f8d37f1000ceca973ff43d409a1b7c37586524aaba49d86cf5187dfecc24d8e8fdc2386dc18d519d3125f753b672fa2baf48c8f8fc883f01de016b9d264b31862870340721c8fe35e254689b1ef3beaeb8b9d0dcd6a28bea69ede8f2997206ac30e9999ebeeb15936e24b0964a2198f97f9efbdf45377b064c62aaa68f67d68b181859e2f9022cb2253eebab8c39090fc8828ed6b2a44a9465d4e3068f15bd41c7fa7160e0cf5565180ad3053499628e4d91c27bbf7416429d7e2763ef30719fe639f72e851c305f0ea4c6de7ecb7a010357c17e0a3a4ce3ae784a78b3eabdb524133ecb59b94c3afc1fff696d7d89b03928d0ff480ed32f8610dc36d941665a2880c4af94fd8aed67e70542ce3caeef19bb34517e62aa566c81f1b0f232c9adcfa07c8291ca",
+          "padding" : "3043300f0609608648016503040202050205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "313233343030",
+          "sig" : "1a23f908899cfd37778dc29a4944afea6494b2c3356480113316ed761fbec243ed42fd6f0e7a1bd51c6c432013cb8feb8c4e5203065a8bc5866d2159869d9e4b47f0b8749e606e371f9204dc6b8d1315b9e356cf4d361da1a9054a30620e48f668387b1d825f53752fde9f15fc187f64409df1da8fa8409f09951f445abaaa15c5f370975cd38a0051168779ac77a798a9956fc678acd6c43df3381558ca7b3bb30d3d2a77bf391cc55f057e25e2203c719bfeab7dd434a7bebc8427f70b239497bf1267e053901e161e8be2d461ab0006f151392c598ab08c189ab5797a349b3c06f87b82c894f7b1d6301338e10a960353a6306cd0f3997de6d4a9f31de9cf2da9517935ce7eb91900d517e45a664cefe494ab8c247e0ec7c76f201b6a3b619c286bd84759b5f1055d4a353d7e4feb71185b8e2b00ba3a06f180109941017fa849c10bd9cd187cba1154e64c4a9856f563c6af807d6fb914fbb2a843193c234c3f933e442fd6de4e2f2fba5b228dc0dc53ffc413f5b8eced36d9f19b890ad0aaf77b8e08fef44bcc53d2e7b277578632cb30180e642297d24e9975476236f46cd0fafcd93dccb47097fe91aed1a05dfe855b62768ab2bd65574e6974777d54a1e6620f31e3fe757a4f24e43817ae45538aed83c22ebe904b453bc89796998b3c43661d5b638670a9d46beed06e2208ebe9892da5bdac7127029e1a621731ef",
+          "padding" : "3041300d060960864801650304020205810430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "3cfa2d610f8884246aad5616c1ce4c5212b2cde20d26b7fb8809e988d6fff65ac322dd443df32ff4008d0f6a9f30a990da3b4c9b3830a9b6f9616e1be9194dcb6f05e634bcf8b8f1241991ec8e922f5b3db8c5f81cd1b4b92f5248b9ae87f00117375c9bb02ff436ee6d078c9f86f1d5635b1100c5c41daa43c9781b414fa2a065b906630259976891e1ba4b97848f10c3425bbddc1e94d7f3e88f8c5e35851cdb1f070fca63a0e49114afede07cb02f2688c2337e632849cef8b5266f1e1e752f4f038bb15c7c08de3bbffe8671280c50e389e2ada8dc33ef777f3b4bc62594061cae12c21a0997e1be807dc9a78de7a8b39d35458a385beaa10cce743cc5cbe105ea2b2f36fda69f7314edfcf14c906ba89fc7bd118a3fa2c874cf72fd50bdbb5519e9fa054b24a86117b1b6cff2674d62d744dcefaadde620970f626a69d9d1db151134f3dae14a02878001e0e4a7eff328255e9e06cd1cf1817fac0cf9e7644177a3b46f417d9845060a8c62e2002dbc6702af1f3eb78822edd87fdc9ed01eeb8d6fa3bbd434ce5b089dc3922c0f0a7d56ffcf874421ffcc843c2675f882de1ce707b9797e73e4144a1ec5324b6b367c2b1c2ab7a3ebec71ce88825192e1959fc1d4e45c7c8c6cc117420c8ac15143c7a4e129b99c61c07db1f01951c3936f5307566df63ae81208ab3bcd7a6a67990d36bfd18b4af41c64d8ee36500d22",
+          "padding" : "3041300d060960864801650304020203000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "a85de4a779b4d0a339959eba0f9517f408ed878472054e215d066760722aa54f18977e8a58c7b5fd36a5f06220d75b2e6bd6e46a471e6b58df82205b25458c13a7a36f7789bd52e960244403f1a495dfb4feb44e0b0d745b9908de3a7832f5941335a59bf9f4ce32d5b8fab88db64a6fbb043f084bfae5b3d388d38c3e22c893491db8d7995a9206fc89ae29806093e1c0056a80534d20f41ac99473eb3c50695ab5c98deeae78458a00366e620efb890bde973201d0bd2dc5e8c23a5a4d49f94d09e89667f029c68c7a64f46831a718da5f160edf9c85e7e990c6557a3dc6fd3f1f4ee05b6d135abb1c1b338e101061d9197ed6f291900cde627e3bf34757e65d670f3834c2e991c27cee515d36f306369f32b1136553245242d8ce4dda06d6cc1f6f59bf784cf6aae50d2345bab804a934bac9d3bda14ce8f0e658464e42f0fade2d6b464fce88496f7a876aa519f334f2084d83323a4310ca2db6ba79ed24efe8e1349963d3fc7dfbb56adf0752427dc057e88fb250780962df439a6fba2ce35ebb4a6668278555500d32759697ba383b2b6ac70b9307d9497065a4f940196b384a371fc90195de37080c7129f584e57c893b1d45ea1a9b87b1c22dc8e3ba79e2a91765cea094932fb6544c0365960ec87ae9d1ce42c7612c3e66be8595e5c48ec96c2cbd3db29f0ba770836a1ee01069fade93625b4222dd22f4690d21e1",
+          "padding" : "3041300d060960864801650304020204000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "90cf98fdad0342a96065e493823ccade9b64ba7d55854ea54d5427b5982193727e12382e5626e1c2129551d389b613c4ccf7d29ef7c1b7af895b1081760eab34d354180c22e64a6c4e9e5daa00a13a7d8046478503d3121a02c9ffe35c3bd2b881815f388497d66ea3985bac4eb92f783b53b4e8f9b51e54c7a115aa3412688e3b8a5261d20035945b91cee01839cdb8abe51d96a850bf506466bdca087dbafda1d7eff29170c4c977b18bf218d29212e2dfc170918cee6cdfb6fce32991b71a1103e7df86ee31900509e519e59ecbcc74c99800a241db9fe9f7900cc48f54a3b29366696b65f15a057b2b5299ce92b975c0c0438a2b785d933b131f6ed2ae8506cbfafc0057afb142857d90264c07dedd9707a866ba150a1c54fa76fa3ca46627ba438cf261991e1efa73204f8f6ca7ae1ef041dd52888667bce336641b955161c7c718756c4a4cee7fab6cb9d5b98a96e5417902b30f518328e6f8c405615e5ef53b1ee685081c3d4758da7872395fa7b7010727b873d38f2d9164f254ee8382261f8ca4e7221261082ce9d913362933a2e5f1b3ff1736147782b0a18e17e913353f10d9a8cbf643a73743a37b085b608f2d9579be7a985c1dee58172c5b50bc4315fb2cc32bd62f9876ae4826ad75548573d4b7ce1c0aaf816b91a9b71e4e7e134e4042b219b6ea185814b5a265383f70b9311ee33965f16020d259d34aba",
+          "padding" : "3041300d060960864801650304020206000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "26bc51a5ca916c06954c53f78cf9cb9828bebffcf0a8a665e3f57b21b1d5448d44d2013cd44df286080125c4996395384de92a32e301369f22c36d554b7fafef65aabde06577edcef85f432691064a07fd71244bd642973d5267e07b6d224b1af31f0f7922c35192f3011e32fd64cf57f9eee9af506136b50d0a8957e9a701b1a0ae2e3115c6a95ff437fe17db195f85db8cea850a6eeae99cfaf496ac1ce023b909127ec2f3d79817348790fb88d36d5777384e0c2ff36f5616a6f805b74078e501a1e8d61b29fb92e95f14624ff9fb56de3a24d28fbe10a111589ff33b28455980410b36c636bf159f94ef30b9f18ca3e6ed69a0d593e06a79bb1a0b066d718064956ea884c7fe13f7bc80f9960efee39ccdd45d36686be74c43ca4106e94dc1be24d799610efbd2fb5002e2549183362ca0eff49bd9971855c29fc4ac31a759a57b2de8db0b1e226d924b4aa0e04f035a3cf7c0ccdd118e577a0eebae4d984f0230287c666d989d4ace41e02da8c704c3b5a2aa95dfa1d18f47dc1532a9fcce3cec6a49ca16e47288857d7553d3526916a976f0eaa238a9e3a2d37714ddacce0b40e260f56e1ccd9073466230b7d328fa69caaf79030a84a1aaca741cc196ee2ac9a44d9ad4788856e9fb510c34b9ccd61aab89a725870171b8a8ebbca35ea0968efb441346c2f04e4fffc19428e54ef96b3cf96593c579a33336e6cc1cd2",
+          "padding" : "3041300d060960864801650304020207000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "ac0c2beed1984df4bc57b6ac738f12723f8bdba28d7c9a6b4494cd26ca118bf50490d366a1029443bd7754cc507ea785ae55e726762b11bf5ad687342f64b1e48ee2ed52a53f1dff4d5a939c585f2ddd1ce4cb15c460f5b48ac9fb8ee6f0f8e308237319cf7445c6d4c4fe7eecd5edb127eae01496b470aaab8a06488e9bb6473366ab21448855237f1f622a3c419093236cb2b6fdb672ede809f23afb675f15e7723facbe7d542950856e4b104109d6e647d80e29876c698f80dba9fccb279c2bcfbb289252e78477b776bf30b98c2405b9fbaa5ef53d5d846edf70215a99ed6bfa578a613a9cd0cdc5827269311efdc8cb9e907ffcf0e66161fab2c4eb4e3aae73a21a159b341a38d92755a3094854588b1e5e8a427fd310f24a0d5422fd8967d36fa0c54efdf471dd230cc2d0bb837989fc197d193786fc84158649c914e69322c1d831ef10fbd8d26a6cf5a78e86b6ff5958b492201abdd3c3c00f3508eed16c2d243d15b4a41becf2692b45ad351b388550c04520361349df518001e5b0a5df31afd63e67440ce02d72880df09b6a3556200f68dee0eb665e287d197975c998f13272cd02e0a6b41b6d3d4994360abb26b35579d2dfc256b99d110e8328cec738062b1b04aff46aa43f7ff3db2cb6f702a45c23a18949f4e63427c9a6aaf4e44bb6917ec578653eac975b80d9bd8e4f04a2dd518ac74c626022b9214e22",
+          "padding" : "3041300d0609608648016503040202ff000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "313233343030",
+          "sig" : "5e315a5a02fbce14aaec84d260b755cdafc00a9c0108766839d1b0a412eb9825f684118b78d8361fa3e51ce358654f6d179ae660aaab17f75f7f787f9447e7771e559593b0621bb7d169ae936e4e8c85e1a46a2e74364a3b3c965b263259fbd836ebf944eb2d81cacb367562323588745358511512aeb969e6ad5865c6065353daf9d14da626166228f0e9b16381d2717b686d37a3ab02c02ee673042df9ad204c260f35d5ef14fa74d903e6b759d0c558c698470267bfbbbc3181c7be95f9098d21a084bc3210828bfb32618f3c3345f7d54dc97ae69d256ad1e8ee4c7338290cdfaf90d35364ed3e2e9e212345f119571e59bb0fa867a93a2573145c9e943e6ece0e0b88c011ce15c69f143d4054b06897a5681503ca8882154044b003395195f25d32918b380339d13ed673fb434e3a94e104314a79589d53079179552d43de2a18d1e849696d4702d8c905f9cf29f0f805bf28a79ee8ba6557aa96d01a5ee4c8f3d7583a2daf1c5338490fff7dc276669aabe88d851026b3bf6818b7c17299e23412f4bd084a52a1604c00389b629d2310c932cb8606c6dafa16f357565b96d8af78bbeb6b2e10fa2f57cbdde3cec2b3e78d3f853bedaf58fb33d455387ce6aaf6e9d9681d74a88b767acf5f99cb83afe65e167c61b6fedae893b19bd9ebba8c9d1f791ec162aec15eb7301c881bf3bbdcacd1ab4d9bcf032a2472cd98fc",
+          "padding" : "3047301306096086480165030402022580aa00bb0000000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "313233343030",
+          "sig" : "bade6f04bccb08b16c76f8905a7b8487705e1c1298d0b9b3883014015457e65638e4ac31d5c2c88895c3435a5add7e2f107551f035fc823f1f9492e7f62629357cf03d899c90f09ce6f055a703c0a65dcbab879058975d9cf7c9036e1558278a085c9acd7a0e37ddf5f2395d51cc6312205717b981806add1ca8da8bfa3ab963245f534711b1a5223013270427a7f4282c42008a1d68280a2a9dcc2b61742013aeb6bba22406deb2b01894e4117e90093f2456bb5909320d579b2bcd35b48e5256d91f6c2f45eb0ec97d5238b427bb1995c5d396f1c1f6fcc5b51d80ed61961b1e031d4677415e9a1f7c3b11864426d967f7ffe89d58d6de00cea2933dd2efd018d7f42c8325921c09bb4c7639379cbb22d82ccd6e8b6ce8f309d7ac3b4ce836b7a3c2e10a22235b4b6af855069bfc2be8c509a05c501cbdd5bb76781f6a21bbe54124dd45e9419a7f6ecca95559340b111d7879b55b20a9b66ccb0efb0ac280a0af5a5087548b6dd57513d475f99d2309e1d813303b0317f509b270e016cf598eda54018c04dd9b5931c66ed751a38096bb7d0d37989a9c329a3e614c1feb2a45ed99c2cd32258351b98a3283a489c06bb5a7658dc09d7d50c9eb9a9779f43472c46a48071aad0c93bc08fbc422a4b2130f31099a7a8b6aa53915c448c6e1062008a6b3db1396ed9721fea2232c29b77668f590ff91a6a9171b45fc498a80d0",
+          "padding" : "3010300d0609608648016503040202050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "e0fe1aaa2e1f3a9fad69dfc47b59fc4b7a62fe809d601b7e1898eb1d4757af2272064446583468db4c0579c2312ae2dbcb8f53e3e775e00b6c422f17aead765cfc7bac9bd9a1ac95ce174716631f1436f418f87d4a0c22a239ddfd6fca4100a7ff5dac5a0aca2d445bdf8a0e0367612d8ca4b666bfd8ec11cc1a5974bc39cceb3023e26ed582089ff4c9e121104fe5e54a15013643eee10fdd063f7ec8a0617d69b880a50c4c53759b75bb7364e8505a630e0ec85855453f0669051d95c14636005f5884dfffedc042b68171b335ca8c1a0d9138bc48b3fbdc72b22a79f05acba1d1a95a4c7508cf2a0e7291575da7f0ed3bcdbf85ac0e5c9f717811a367045f13f6c46401184738d138e310b7b62180ed71d4df05181c6636374667d4c08a954845fe8fd7fb1cfc04eb673e5f76c9a15991986d3cbb0afee88124a705bbdc0875d5fd037eeeb16e84296da65db616fbf53ff57b0379be4902b26e8ad9f6d8e49a88987ba658673bf24bda358554842a6172b1656fed2dcb7d37ced7f25db9eb6f1e07ee6a313143c7acfcaf466034cbf7d2e6598dea6a4ddadb5ff6b3c595e9924df35942c53afb4894669de7af0a4d0ba2bb045f0969016596590a3233c13afe8af5a4f03e47a3e4b1310257ab6d42bb78527e7f36314d0bf37e6d35234ff8be9791694a4e018672678483859f4fe484718e324e1d753d90e95dbcf0273855",
+          "padding" : "3043300d060960864801650304020205000432f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "d2fc4f1a9c2d8ec2900a5f3fd171e869bd10a9e1be8b0ceae5581ad77b2e3ed42c0e1c1f64e2c813d0aa650cab443039fc9096b36ac2014d8ba3a4ca0f16f64c1b61b14b7d0247836228b3c4c9520666b6971e969096dd431d8467414d1afdcb9df197a8e1985693de6c8933049644dcbf2ad818600b16d77203648cd3be96393f8fbdc2cf885df2cbeefe27b8cb487eeaf75a2c05a18f0e8067c60dcbed330dd08c3e37708db2e2f0647de8f9370db07b4725b594aa23e4c5d991a99d5a889798e5974e783c87df5cc025b0e66d718c76b2977c7fb734b31628b102d280854046923cc31277e01a5567df6811ffedc36b5131c14d49ecb6b07bb10262dc24cc830ba47ff8037d95dd0db3e75b7c0bcace8012c12132889d5bfc68728ab7573fcfc7c0dca0a49f6e3603f911fb0c3865afe52a2e1f45ad880b8bd7d86dc549fc4c697462d0e4e017a307732351accd9f36b4e151554c6ffc300b0cc1a9ae9b517bcba3f2183fbc257fef21de1aac5d88c7cad1145bd20d09e12d757bd3c9f9666ff9f458ce7ea06272d898b8e8689105f699d2f63444ce1e10e901134b200f81424a3b01aec402632118fa103b36ba67a6a42cac9769db9f0013511a436d64ca2bb4f77db3c74ee45d1a745ca9b6080badbf6fe2c37fb8161405fbc7904a348ccd388afb23601099c59bc819231eae98c1c9a393780ea89a5381a65ec61ea3c6",
+          "padding" : "3043300d0609608648016503040202050004320000f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "313233343030",
+          "sig" : "89ddcabd561a4f806194b8946c8ee5763c45805019564cf69c69884f5139e7be9abb0a6c2bbf57f6ddb5dd4caca478bcbba0e47afa0d811a91a0948f96901fe6343c59769718c517f971c954d9b0a81026b6391839da3cf7deda8425454ca099f4f772de94306b75e92f97070a16d5cfff1446617ac6331de218c2bce80e4146ee109a4344bcf9e0f3a4b487954681d2f55a3a1f6fa6cc4a8cc535a62aa14f8cdb6649dc1323ed62871191bff0c29b2e17593a4ffcd3f453fde02cfa252926d800d4a5c76198f9d178bb5b0ea1142a89eafd52070b4a073667aa5c9bc2cd0b13ed22e3f5eebed02893828feb90db44d0fbd9cd0b7eeed1b46f465b131073b1a2f1e7fbbbcb3fb681b1d22acaeddc6783407dd349a593cba891f5caa2328e5812abe370a017436e25f28db1617bbc66cac26f5722f0b9d78ebf59aa416f41f44da46035ae02e2817ff53d4b9f53e34d81795e4d2fd1cbdf3993942938a323f2a8c05760d9c3eae60698a1a38852bcd8206d5a47c3bb62fe027ff0b699c33b031ebcf275dc31f90b780633db0aceafcf28b25e618c3b3993794f4dd2a6407295d80e9fefea100af06b00815662855a9d5b1bba952417f1787480b4e22dd3f9fbec04fd8b83e9ef6590f6d7387f3e991ab3b98cc88e9b3c625c78c806752a7cec21aa06334bacae39392d009f54e4f5d3a12b6e8a934506273c2059632bbd57dd17",
+          "padding" : "3043300d060960864801650304020205000432f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "313233343030",
+          "sig" : "afdb8b4cfb240b4ef8bc1b202c038ca85119be1c48ff7ae6039ff1a6d46e26286708ec8bfc3a9726304f944bd82b67201d7becce9a147441ba8eb9ceea369e004f702c29b59faeb1e5efc72d5ba3f989672b170cc1afdf77511a9a2178b6e14a008a2b347b5c8c47efe68c6b44d86c65b9dbd997bf42d143fcbcb90048c92860448e6ae8939add23fbe5ccae562a02df9f9681be016d2d90a96c77fb241c838b1f54526a1adcaff0a6fe50254c9b5c6b3dfd00906849ded5fb6ab06c22473f471288c745b591195568a5ca52f25f7893eb95b17a081763ce66e8490ddbb588fe23b8c9d339348df81b7699631fdb20756b8d915e7cfa3a20bb5a643c90a2dbbc97142a4ca091589a0222c459b8738efde499dfa10e729f863aa42b10a199f4395bf0d131c13891050147db51c8333fa6f2d021a263df37dd10e4b264df144657e9c8bf23175079ef4c9a24b561806d9304a0f342ae4ffa69925b629bf65948e53056ba8891def8b1b827f86a1da69945907bdb365b627bb47f3432616318164a751ee85691ef0a20fd7a3e61c1acc4c2d08bda5b9a23a7119b8b1933af56497d06af4627eb63ed4fa8cabacd70c42e9a2e638863de1138f332d1ddc8a24b4369d4605dacd4df96b1075235d10ddec93e13a20488ba9b649bea15d69a30c716f962119f31927bf4ad5741a739cbb794b68e4103bc05fe30877d5404976c5de0b9",
+          "padding" : "3011300d060960864801650304020205000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "313233343030",
+          "sig" : "e34288ff196d90eed5925c81a8a0127abfd0f0de550948f63be0f60896ed6ed7c474b544a62a96c0f82197e67a34bd53de8cbca4cbbc28b6d65593a154521ffe4331bc7f8459a4326413e838828c0709aa794e62f7518b028d811ab400ee7c875671992ab6553dab38e94a897be099ca7633e790ddd330b50325ae29d8b9f57c498156ba0b74c310e40dd10c1cf8d3ebd1dd40dddecebad7a3f2cb9551e7d384eac9d23bdff84726ea3e14d785994f3ebe7cc1c0cd336f95ccb8b0d6d8ad787ffc2ef008a1112b0315457c631df1641929675f2aa126f66dc88c5ae1b887e417619a1fb853cdc27182d35d1c2db526830540e2e96e9f16f15a0156d6ca4a418c911c2635338e366847b2bf0c48625f3b7c56ab5b19ddc5e1e1fa638a76f562b9d7d26bb4017895b84399317f110159f5710a00b3d9993b1a4d5fd3ab1d79b3aa75597e7ec07db221c84ed88ee9996f510c88ee0bcdc79e13dba8c503e1ae2bf2ea9c0fb7afd67eb2ec7d73823cba3e3bfa84d151b7720c235b13907e2dc5c2c90be719bfceb230448e7ac52b8e0da096182871e2485b96c90c56c9ec69ae4106803af433b50c787c24ad04836d959f9a624c1ef04de3b0f0261fd05720b462c3d6c946b11d337edffb2d44d806ed25f3a9038cb94bc5706e54a81a16fdea228be8356ec86305e7cae97200e8593b47caf69c81b673fc334f7bdcb637872340f2",
+          "padding" : "3011300d060960864801650304020205000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "4ff661f10890ed75355d79a70ed18965ceb4a7114154ff3ecde025523853d4efe1d0b80047b5017f4c929aed05d28bc71271ef2dad01142aa2d45a8b82fad9536034799519d51532ed4f1821490fefe3b4e8b305e1c852e0bb1a0231a969236e9abaec94bd62a4b9a7e2e4da50c43a6d284d5a6d596a8b7855a4ca8aef9a1f6b16386f29d161d2f5a7fca600da02fdae9d15f61b1336019e0f280065877f7ba130fd7fa4fa0e97d22ef3d36fba4595bb0f944a6c8da0c5c9be5359067c191ccd486f6475af452f808cffe772dca4726fee3e86bba959633ee16c507c06c35e8c8942a20c1fc6ca323f843414d7fc5022bb24271bed6843244dcea15f5374095d66b4b48fb2ef94684a82826461907705dffee887be660578cca4eb06a6aa53a73a3608bc4206e585b6003d1c67b9964c82611067930612f60a8432486cf11a0b210bf45561f0a97addbd2d6a83d7173c109bdec2ff97e94bf1333b5b09950cf53144ff8b7ae2dc0afe647234f47471655b4c8b0e95ae4ddaa5487c2edfcecc5bb604e2dce7ced405ace964f49d3e3bddd7a18d9d6196df422b6c31c475aa4a055855cadc2d76a644f747823b79f7a10814473ac020f5f776181aa8c202ff00333dbde525a8c312fa2f1b8b739ffc6093dd3f40d604f10c6aac5caab4bbacbcbbd171e44664a4506f6f877f0f043dc25a21ccf6a366974423942187a90b6e915c",
+          "padding" : "3041300d060960864801650304020205000230f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "1d2ea8aef61828d7421eb7a118de2a98a2cd0d629657d1a3ce68dd6d101347ada185feafb8b90ba2184d90c232636a25a450cda95a9fb0ac7d4aebecbed14f672a3acf8d9fc3f942ad993446bb6955c5dc821eba7a333970a00d8d50bf8b95ce31da018bd9ae5739acff8e06498247e6b3f2a86658f4b5aba6d2a4594b17429b160f6a57510b89eb0e9960aae2b41f516ad10d9caf4c0f2ba014d365620933aef5de42ac831ba096b7ae17ddf6c9ab72507302a8c32d132752c19b173df21efaba1c875548fd2e3f7400e410c7921db0929a1614de61725b26e84d2919d53ffee6579e99d4630b2fe6414f329f1998a771a85ee265a1686d5f89943a48bf817fbf0750255d4648f835e12ca37a990aaa8d676a8f085269a2943fc244477cbcda6c57226fab8de4ab60f6ee6f87aad20f675521624bce16d3f172190d86fbbb0d71ef72ea0f05b45baef86e5a482d613248e07fd2eb6eaf61d0def5e0fc3ac457d2e232a1eabf31908d22f1539002c115a7d9a5eac4aa63e3b1fd7bd2dae0abd001f7caa0c5b20bb45f269a7eb117621f82b508960f2a0cbbff2b52935b93f213a8cfdb1822989fa9605c8b828296e3d3a5ca31b27ad87f10d92c13e783e7e0c1edafa0904f3cbacd4e0841498653dbca0983a3b7d173a51f4de2cc23cda295a96efd310fd119cbcd163bf7bb66e9aea8116ade1a9348cfc703e51fd98eb1b0e1",
+          "padding" : "3041300d060960864801650304020205000330f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "d3290f4a3b1c0505d4c9b5152ef833339e71aaa0cd14bd0b2d03a521036f28e650619432759d127c2f20fda5abb7e88fbcb907892df94d67e6dd2d4a92a6a047e7e953596741cfd29b53f663527acec8d0504cc88c8e1f156e1ee45b51f98a4c8bbbc466af0722622140ee525aa03e11c3d62f4110eed8678b503a0cae1c65b89a4e97a1770aec47a0a6bac5ef72dc3377796c043c04ec25f697fdcce652e63fabaae912750342cd57231316539e28e99eae207fb457271f01ddf51790761c647cb8f7491105444f26b5cd2c1a03effc43689cd9b71a92965f250adcc1222ab43b0d3b1c1c3934247b50f96e847aaa0f0acb93124bc9bdc7beb4b9a3254df7a53eab2440228fc7c2c2dbdf3c629b7c8645d31ad4a0d229a5fc872230d35c058ad05b6d285eadb405f29913cc139b9e308de6360e07ac50811fc91edde0a74a6b7f2ce95854401faf3eb8befc1e1cc55022ef6d347997787c30c302d82137a634a74d9318c34788233731bf071a2ea9babc4e44006401222ea35fb82a7bb4d53daa757b7429a992b88d817488a785506feafd638af45b66b52198f53f9d6ca41650bcce8bcb8139f246342b964552ab4672dffba1c9d1272ae2c2619a4b58eece51e1a00fdae1df59fc32528a7e77f6095792e84c62b00be673c1772023a8890fa8d6032d4c145e5a48854b78784583a191e851e4698454e2b047ee1723c2e721",
+          "padding" : "3041300d060960864801650304020205000530f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "a4fb0c8c9ac70f9ef42b996437e16e4b5c7d17b821a5b38b5b0c648cf67967193b09e2fcb3ecfd6a9cc8b758bbbdc105b69a1384ebeef13bcdecafa1a6bf90a45100ad0689e71664f4244f814c8996bba8e11ba864938c256dbfba387b946d6ee631accb6b3758cf7db7255916b0e58862aa9d8a193479dcd2f72402d2f77e5f9084c013eac518820295177d46e99b5407da65eef2785fab0391f294678dde09781a5047666c6a49312498d888fcba2c7e614222dbb0065703535993946cd86f13f98b36411a6cd02c9071a0d5a3d45a96b73f728e8158ee16525bd3efb0f3f99a622f77e07dd54a9cbf158d20084e8a426c5f55f2d34714ba0057dbe37992292236dde94bd9dfaa686ae06a4519a5760f8e7eaae57eef705b4f508321f759362340216b0f8d652212c7688f39b3559807054af2b318125214b30c22f5f0f1526bfeb14feb388c441611130ce8923115f199d111de1710a81c578ab551b59c1cacc7b642fae437ded45d04dfbd2a18a8d79ee2fd7a4056e74aa2d15fe9c2d1abaa6c16ad412b96b8026c662b3f23abd8b7f15469684cae9b6fa2c720f3a79ffec8df5790a57454b70580f70eeeb2f34267c33ba0d5d9ea23bb807ceac9dcc3e028409c938a558daf691b63b426026308d3d9083c8093e6e78c35a3e281eb0745520deb51b68d4b1952d69b426f4a0204571fe96439083b0c5d0059d7447a1821",
+          "padding" : "3041300d060960864801650304020205000630f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "58422b206a09e3565c35b4f267dfd0ce1adfdc43ec9a055794338ef4416126e8e19f2cc560e2181a0bb06123b67eb5f4064fab203e21b53b3c9c947951a8c847ef8b93e737e8af6ce491cc6bb9c551eb396190cebccce7d5e4a635317ee177a703c558d5747a67c44d11a6bb4975f7ea5638f6250bef9a54afc6cce0845644e12f0eef92cd5d6257eaf866154c23b29e40963d9377450942e730f613c8514d2907a5ba5923c2c0aa953f78fbf735b7f92d5803384deb562d108b12e37509538d95f98a8fc19b4d3ebeea086b6798c6bd10eae7b3c2dd49da6f20a9f4f5d2a10d12cf42b7b00b5e1abe973df0d87efba3fd9ab3e1e8679dd8bf9ff242fce530806190b48d2bb0fc45190894402213420b170fac5485eeebfafa1067211853f7b90b627e52e40b50b7a1ffcba5cf658bd77812170cc0ab620d3989f5da77474d5026fe48776bb3868baab780fb67ea8ee8c91d414a82904b37b59cde4b9f07e7099ad493cc32933e5c809a00fe5f7455b1e086681e7b15c3dd3fb8ad56fe2b3d78751231cc5b8a006b3ca2c6b3485a7974a85d80ef23824d25588ab7298a3425806620ed51ebdfb58e36c7b8bce12ce956734c6c4776b4c62ffad9083c59648b56efd64d9646763fd49d67302fcc6ea850c7f0a8c95c2e507a73f4818c8683261bb6c5f53b82aec1d969b396d93517113482902903adc8751fac1b6f788ab21f68",
+          "padding" : "3041300d06096086480165030402020500ff30f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "313233343030",
+          "sig" : "42efdb22fe5240c1d2865936d0f9c6d1bf192c9f8cf4c4784876af753b45bb619b2417ca65d9cb24d1d1302c7ed5262c8b78baa6e167e96a4d612fec50bb7fb3a25dd1007ca0da4c83451515462594f38a1092a480a0e5a267ad312a556bff53f2fe02f9b011a97c48c8748d57340bc77ba12a1d6ac1f63a1751b945c7c1ca5521d6e66ac524ac6d5d8a8e02a7688384d39598034c76a1571a65f6f2246aa24773a032353ccfc764515fe1f2466ff95b2d49889b511f6518fcdd83843777968b2fc8317ae488daf8c66153da7339774180444f9498646f9533e7b7dedb87037891941001e92490cef687949087f1de9f96e0f5fc53aba7b4054aeb58c0b53e3357e1a201dc588470cb93b8ec631ea3590c1edd06de087725e9d11d474a730c3558303f9b3f333527acdc77db186883e821db8ee8517535c5bd17b20ba5025b92996237c7eb57d15e87c8bfd5f705646b3f9138f24d85a955a78d757939454d4715309d31c267e4f2914d2f4ea22a0b8c3acedc88812d4341fe0af38a84d3dbccd5b46326f8dd05d54d310449165bcb33e701600f5b65a543c96dc50e4035a5ebc11391db62ffe56d8359f64544edfe08f7426605d5d2c13f77c09330c6a400daf9aa9f406c3a4d25f589b37ca298a2bd5a53320ede5ce4af3d66737173840e875705d77a6835d0ae1896a696683cdfc2d57a07227bcf56d52faa9c7c7f3e3e7a",
+          "padding" : "3011300d060960864801650304020205000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "313233343030",
+          "sig" : "6f7a76a5951ecbab674440063d1e84141cb042487a12d45d262fd84731b2c17be86ff70cb498838d27ac9a9578ce66eeed034afc5f7701bdc94d7ae2232add9959dd810ad38ef28b49b5b86ccc48f4635c05a5f79a0915efed17cabee46c7bb4f01a73995e076f1b603005ac8337c616e933ff925db88ac61a674dca81c4adbc9c5c7b998cc2d517243da348212cd335c63b789777b1c10a3b0c37004ef7020d0738dfa6c16f4f8d8653f90d166468ca5b9afccc19a62e53b9c8a8e5aacec116996c253b801bdafd66894850d89e0af4a82af11aa8a2fbfa9ecefd8e91265eb3d10b745a018b7bbe7598682dd48aa9221d135c2b8151e611e09deeb145d600583f7158ec5f5cb79d626286b3e9c371339d52eec29a4ab31685f4363d6b14da452c0e1c07744dc831982792f417536186d8aa200f916ab14a462296f78461b104af201499682ef3c2e9500de916d18ec7bc6d4405a0fa54614e637e8847de309bead8750601876b2e0fb0fb86b59aa2176aa07b46e5d4e9c06faf6fc8aea873ce81e78d7dba87e6064e61c2ed382e940fa6804661f34dea0030d518c9b927da7043d13e1ca5c5d2e398c5c11c91930d262ed604a3f43f192e447beef0c6a3ce0c484704ae2cc36f16c88da090f856b802e93ac47b9d5c8a1ad6dba286ec1e2dcdfc8db758f0690d40a02cc02b552f4c9fc337943a2b32f75932a6b88797faebad",
+          "padding" : "3045300d0609608648016503040202050024340401f9042fb127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "313233343030",
+          "sig" : "90500ce4cddabd94c38fc4428e7a4d024ff698e05bd46c654e0f8e0d56c1816e9842124e30f8dc4307c67956759339248ffab63bc8a89b440d071d8dd513cf144fd8bdfbd9329a895945acca6515d2775458690baa1f91636b29057f322654c15d8d777e6e065892d2e2880b23ba740f3206b04f2be0ded63bd9797f314f6dcd127bd39322f08c12099f7bb6553f71696101244f34ad21d246e125c8e9581099888cb5b71becf9813e500cf54d6d07db780695d92cce8353bb4e8d78dd46512450508ec7da0192e8967675b572960e9bbcacea5958d56db1c8b3ac3ce5dc36da6e200c388194a51dc7f6edd86ceb9c4907d3150f9392298ff2e4058077ec9e61e13ebb45abf8eb51137bca51a8193e5e153894aa3beb7f6b5846da01acf0936858784598750b1c0494625bb6aff4af8b08e4198378677eb230282ccf57cf3dc82315107191fcd19b695bc3b7289b3c2f03d64fdcf62f06aa2eebeb09583659d3ee473f61381809c9ca3c268fc75ace4d69675fe50db2b8381935bda99b69f777fb9b26feee35aedd39725ea93ae945a9403478cb708a4054e3efd4e57eae8122b4b7632e0947452d5f417f08ded0ba479be8e05389b37d0b8e6875b0d4820cb5ea874dd7fe872c2e031ca2717f04bd592e7b8c2edd54b284cf8a713f13a46c4b7a501e1545ecdedfaab179d08aa6af51352f1510a61458b71dd18f46dd255140",
+          "padding" : "3041300d060960864801650304020205000430fbb127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "313233343030",
+          "sig" : "990e1338bb87618092594f64a8b924b5891fc8300b3544c6a35e56f9d526576ba80ad84479ee270364d7a56ce6d1ad3babe976c85866971ea1e4a579e178c457a2862c62d48d38fd6e019895b44a9945ec481291e1a8b4da0e14ac656db4932ad54f31493b7888881a70b263b1494fb842b3d7b28b2782c95902e3dc41979cab7019331437b4d1bb30fbc1e1d36bf282fbe7d3f63804ab61ba14f3d4249401694ea5263334010d22ac8466d4748916e5463a3e3ea330dee97363bbef5146f2f1b0a29767fa674ce724744ff67bfb583699dbecc3c12795b3d5b4e39d6318d4efd0610b1bf9cddc06feb587b7c67978968558173ab5e96c8518b694cec5806c21446b9acd975cde187dd30242afc3eaed7b841749b1df8372c3d5701b6bf9ae0d81d8cbf19a45089fb71843a6b8e933482fc862c80b5eb3193ecfff870f9fb58f5fd5d2463691193dd71b13553adbc54486c24557299b48436a75068baa9220d9537a52dcc20429f7356f1daac52a6077760aedfd82093996793cd506b3a08d50ca7e9972da658dfff8df88e635b6fd8ad576096ad274ce36313f662dd46b52a2d5e822eaded67fa51f74c4bc7ae66ea44dbc3c6f3b5dde792cc0176d780e34efd7174ab64a3249e530f5f75b0e3723deca0b1447d0256a2d3638b4b0d0f26afc1887c4dbbd73cff676e7bc67fb114fbbf791e9483a27cdbb6f24177ebe7d8d08",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8dea4e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "7e6e6f4d815794ba19f8a3d48d051c33d2a46e34d4239ebec18df040695d1712bf978993a142d7ef283f020d75dfc7ec1bf3576f1af6d844b091a2cf9533f3cbe0b408c079327b67bbcc161689cd3754108378c4d88995245069df43ce3328c91b0e7ef50454ce344147761e600d3f4ea33f18da72d0c4f5c2cf6f16d4935fbccbf57369f81d057341eb38023bc14a72f7b6284bd68281a1f43a3e10c00dfa09215e12cb5f091884bbb1c09dcc05f400a41f3a38090716ac1166374d42ca4b90cebfe78e886128b58a3d123d4a31102c0e9e7b3219201fed4fd1a690bcefe17aa37f534ea37391595da40e381f58a4323666d64691d4506721568e96a82376bf7b058e224d8dc977065895e1adecc31e68c469ec0199377fc59e3c9f65b8702fd7da1bc6f6e4840b902eee1fe4b77b847b407402c68295274b748b3ff93c505127a64ca61ef8a2c9e2615b60d559d1d03e06bec92bd54f671f115b2f17f81aa68b55535f3624d3ca940939578f54cd9e570db55e07c4a192d5086c534c4b499ca7d5ab240ddc1c6ce63364f39d2cb9e6489f2fce8941a20556da30f419ce039920bb266a38ad00fe8cecbdfe430066f9656b5a85d8984e9950e78f5cd1918adcc0c8dca978616e17734ec911985e08223a6175492d1aa8fe98db769fdd0c2ea375e085889a7c366ca471717f676ab2873c0f31bf9e9ae9a820f5985f37295259",
+          "padding" : "3040300d06096086480165030402020500042ff9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8dea",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "79e0a3e4c04ca817128b73f11c4286e6c39a25b6a979deea45f0ee0a6cc0b5b9bc67b206da977f628c8db3b242b451fc0faa8ba3e522f0ec09776801cd78129230e121d2e2c9d302a1ffc5489052eae15ba9152738d1e0fae879a324bde029546082da97f88f67bc40e3431425b9599d6d097c452059fac41839a6e8194e0e539a5ac1a94af4708fe29dee4df1e21f0085016aec68f3c4fcbf7e64b7820885bef35ed4cd6b5d8775d691d2553b61afb596eee499666b7dbcd043d928ccd8d0be5754c73bbf36226017bb62b27cdf64bcb900ded9452eee442fc0341211f58cf15fb6164cfbd0a187c3ac90c05c4620394ef3e4b93841191a299c763e24f5695a230d1c03b1edff006d774cf400d2ec2fa2d4c397a5aeed9394699553c7102839267ae8379a3d7311d8d7bcc2547773e8acbb5a7fa2a9d2724597304f865bd8ff38e975afead121e2456f669b54a442fd6312aaa3c9bf1320eaac7a9fddd82abf70c2c0d252bf9d74432f9595e9d19ceb1b89a416c1c10bc62e031215f579fd5049f6e2ef5c34717f192c28f34aed00bfd8314adad692bcf2e5af5e68bbf31ed2923949df8c28bd77be6f4ecc00f5c1ce725da9fca12b884ff5a8576db58b174fbb11822202a8b015dc6d1b3ccdd5d306b64dcf4e4df138e44e8ddb264326fa35e969dad71eae521697a1ee02b101ccf76e794eb252acc5472ea00d8366d4e2ad",
+          "padding" : "3040300d06096086480165030402020500042fb127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "388f02de647e67bc729a241dca57c75fc55d876559d697587b302bddef18222d1d0f53a9c5f6d9459d457c2f8b22db872078fa3ee73407be9be6ec15785f9721400d414fbe908aced1af9453092e241a41d9506944ee4c7f0ba79ca3d05195408cbed131a6cf4ee28167959ad35cffcaef2b88903213a7a9f7270278cfecc9c61077517e3b7c9fb72bee572bea2817e8c0a774040b5eb508bfb280e3bbc878ecaf8cacb91fbec22d130a1a123b8dd6451c3744de779dddfc7516e483fc01554f16ada990016ed6e4ee81470688b0d91b36199a8e7e0b8aa3f3e12161f53ca859b2accf0667a1a306bc10cf9e66e5562410c183c5322b1024f0eac7cfa4a5e633ff99412d769d52a0dc2c585b7b6a5706c7351b7d04b26d7b9061d4455a97f89b0824023ceabfde9837d743a06a36ec974ed0c1a626fca20c95e5dd1e1a3a59e15632bc6b556c8394ccf4733c85a9b9008c8dcef89693ca34f8cd32847816eb75f303c96b627ecc8801c3a25b612983f0d8b098c0833316b427f5dfd66834afbd9222110c31e81c61eb2eaacfa39b5082d2207b547eccc25c03a825648cde875a09a03d2205080b4352c5cd6b47c32a5257f9b77b6b4d25b606f87e353ca096ea5b63fb0ae5e51e0ade201ac4452d3cc457a49be9aac9068e584ca9f056fd5908aba626b5fb12fad165fdb1687a358a010adf42020d6aa17152676a11a6a060df",
+          "padding" : "3040300c06082a864886f70d020505000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "6dd73d8eb7f7af0e6f0bfdcd84a107a4cd6edaee3cbc50b137426e21e2608ff446a2ff5badb2dfd517cfb47c60d832c00f86e14292c79872633c26f92008f2664672a24e8f9347c3b37940ce86f64ac698a5038afd97d6545969a7a5c03e81a29cff5dfcd1c0915df288766c6483bf32b980e60b07208479be18046acc3050fe0f25def3cd63cd5c77f86d2bd0f41925dc7881e19b74bab0323b2bfef61da8948d77dac968eca8f66a10d384735d57badeb0cf738d90652f48512d05bf39bfb0c239de3c0573519c1067f08feccf48d928e8e36633e48025dbfea49efe70dae118f0cfdd2cf5978cb8f63df6ab89f39e13ce05e6d27eb1091d803b5a621ed95758fe45d1fb249811735e7e1a5f2fb6d4e413dffd6c4b95cf106f7f7629b0525a77c70dc78822cfdadda44681652e4d1baf883114bc558b4eac1d43c2701365d5863429f1ac71684e08bf3e5bbafedc5b419b148b2d5161e763a96b634f29b32f2b43dabc68b3a51136576df5e2bbc40f319332971c8fdf673e2b65c6a09fb981182701eaf5afd6bbbc17073c49d6a6de3a539c5429f48eccfe9359db691b06f122ee22864176bfa5dbf6fc6b4d6bb1ccb2f10d58ffb941474bf5d5be955f4b2d45edf7c4c5bcb0605186ad3776a2308852144ce69df2ad216eb5db72b904e50c7b9e25a8c3e7c14243e3fa9a91069561c77d0c51d3f84008f512032949926433",
+          "padding" : "303d300906052b0e03021a05000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "4ed5e27ff4a7733f60af2f99d2515c155f29854768664dc309f14b8040496645fe6a3e2c7d868f8c4aa8ff6152f38f3646b0b00e9fc8b60f9c893c2941ea6ea031d9d2fe212ed3f6c0b50e6c09b23bf1016d5f2ddb1d72f96a4a67a2c425795c96e4b9ccd22d3c1cba00a1b1c6e6f07acf1ecd730827c5a7ac0718a8f0617e7612e85c56b4359bab844753e2c8f7d15c853bc1a60fc58096036641ef7cd3d6ff8d3865b730194867022ed6a9a8c3955d95860dcfec490d6639c264a42807ff4978247498ede2dcd993c7d70fdfad848093f76710b8528ff8cdc6850eec48f0e59c278cab5da3fb35c26852f52c0672b87112332980a1910927561aad6fde18edc05f0eb607a976da88cd78e9c19e356ed79591736839a78ade95e098c04135e87b4062a6064913d079cf682a6799dfd41cc35a44cf8b04c5666e74b6cf4c1ef76dfb777eb8b071a42a1032450ff4dd198d0d429659948685854b4a4f97f4a281279d364760442475ea124f0f5f0d6c4a48ec7f8224e068dd640331138e8fbab4da96f757c09d96ade27c6a3f4c85192ab63c3c61ffbe21643c0e261d60791f59628fe128245f49b64227ddf357c0ea1b63ffeb48c1bacf088b63bcf6d3958cba85bfb081d3208eef0562f2df3d9d0b939d2aee3bc841e337d69243ed1ff627ece41fbb9fcebdbaaa9687f2a18fc43e571c8a1af885907d1a751d0253e918d04f",
+          "padding" : "3041300d060960864801650304020105000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "365c5a432cd3eec15aa93df76917c577a947c5442ffa98373c70f19199dea96ffd8faae8233f46963ca70052348123d394796f596102506e4e09e6717493aeb257d9dda41316afc0499678ad11df91104afffc1e20beefd94f0d57500fac2dd7b71b3ca0366f3187452f3c202bd4441862ea4ff715c12af53b68f01001e5054ef851aceef138b094461abb7796a5dc84bf53f7c4e7006effbd9ff91e1edc498e867e754854c59213c0116a8dde9ea694210731eb366c53729cb2b6a9d9038b153ba2879b0de5b5c9088b79a84a9552f3f6f2021213010dc915b041713eb9350f7a1858e338fee7063cee43aa0f195fc70639479b5fa9e6539e69033c8d3f12acd78eff73c3ac110025f6f7c7dce6d472a240f5e6aea2beec9b7d8bc413e27df4a0cc5be5e73e887ac265fb258ddf5c94ec90c0a4909c73a58bfd4beebcfd9f23602ee10f78a8a8b395aa17ccff5e737a0de2a061394355b1bc5e3c688ed06ba65e8b57967a429a2c352a2437a448fdbf8fe52ec1da0934b8eaa2b7c230e507341efa2625bc4e015c21a7f9aa4e050b26d3aac6e474ac7f2dcd709984643700a0521b0d840cf93c29a276c12e6ff32978d92adbf36690d2fe8bcc9e12a42f42c26119f1f432a7304b1350c3d584a04b14cc6f31e4566f72786ec1e24d5ae1fcb8b66ed7d8e28619a02cbb8f217b1d8a3ab2938aa0b92e5b3cd8d3d0fbfb77f5c5",
+          "padding" : "3041300d060960864801650304020305000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "64d797c9a480a0af29bc1d0fab877feb031e12d211621d1780f0e6c7d1e121fff78490dacb450c84ca886124336160b381c49e2985f90148b86015e32adb5d090f3a5b09e3cc46fddeb0905f92c3efb94e2ee887d160008d5a6221a637411ffecd725df8e92baaa8249f07c452439750c40b0afb88654585bd287bafe4a61de4509721eb4bd71d992f62d1f49ef96695c155055138fef906cf2846a2abf8c51d70a333206bd7a19ec8b0c9ea182a7b4d76c33c21196aa72d158a0ca7fb3dd44a39e4191fa47d061e2fe283dbb98dbb0914859a73d5fc199c297080f71a1c91547730b219a365646b5fdbbc0b397ed2b4eeb3055ea7ac38fa2e27ac236ef055965456bc2ea396acc1ea2802e367ed1b465d4706ff7e1ed810620247378abcf6545cfb3793a695a0abaf924333b291a6ba8e1714db4986a5b485f7a0618b731b9ad4b03b3d07ea3f8d7be90114f9d66211ff8b30febb2def245e6a561108264c237f8fc8c35e52b20953b9c49e620146beab9c3912f9a012cc5d421ef8ba5fdbbec3a142098ce9861c6750498cf7ad05d9d5e5cb557a2bc386960274d9d0bd091478bbe20c086d3321cf44c8f8466755dcece0078a0a5ec83d206d0c3f70744f234bbfe0130c3f6bb455f175a038db19ed336306ba77d1c4646a578d229fc94ad2dbabdaf773c49452bfa06ad01b8fc8aa6b63a4d4d8144c3270018bbc122f87c2",
+          "padding" : "3020300c06082a864886f70d0205050004103fa6e1540a9e5b94313c5907267a7331",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "26864e54d84f29b53367ac7073df84ce5d885c7b67320e09f3bd3a8468de72f8ee21253f1157e74680190a14c895897535e04d8861a7460039970e10bd1f1c7f4690a2b7e2422f33c4eb2c18fbefaf72a85b552a26dac27bcf5e66aa97a4763a1a32a8681b2627409c8a71c4a6e35b5d845e35a3ef67b976ef02940fe0a4e479535a0b6239e4d1eec727e4a214cc7bd7f3029b3c36aca191ce5bec40f0927cf16a38542a46453764ba94ecf0651946978df3396f6bf12dec23c3f33c78376df770842f28aff8d752f25308c2ecc74e588bf16cef324cc0f9aa156b0f52c93b1590056f3f5e01248c589f55e415ec387bdee72f96790b1cdf01f07a48f57f058d1eae9730dfffe05eefc8882952f88a4a193e76ea79c03a32941e051f750c49b39e5f42083664f8e56a1a09854ec7f11931f9b59b880dd19ec698e4fd299b155427e209614bad115f277812b1dfcbe81375342d8336096012ff6d5b819c0a3d3592ff31994c2e6734c11fe3aa9767f2e07ca61e5fcc1b38fb0284bcccb80eb4763aaaea78ae33483d0aa73e5109182913347ede34ecea4cd1571efba8086cf7a4532a85c872e27f39375f736aed8cd56348aef209544efb5c433b013b912a71e25e832bf7d8f657b8885062dfbdf092085e34eba9b60cd4523a118405985e85370ba59735ca3c8805616158eee9b2431fb135e061d2c9b7af6f1a1e100a77da79",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "05efbba03b90bda7ba280c6aa2bc8af655c884de2401c9ff9dd59e0d82c8502dca3d90879694692ea2b3e77c6dd3fb0e1f180777b237e462bae0a8b35cc21497c36818a1dc89dfa64bca89cb07babc10ddb98538aee10a4e59b4040c366c8413326e79bc015ca2ebe0a53ee6a4c49f5d9a87bac550e4b6a8173fb49188aeefd28457b594420cf2d77bbc044f6f4f6a7d7ba52d657f5dc6b631ad914bb05bcbf2901293e5eb5a17a88dad2326b508624b698b31d1fa08d00a001db8cba4a9f42bebb0eaba07e87235a883bc719513aa217a36ee016832b12cc4ca0d628598212d5da416af6342855da7d77ba153e5435ed7ea5d04b2459d68c721adeba8c071e979bf89c04a3c8219d67eb514a79b3a2f6926650c55e724b62f800b4f9060110479442e4f8b82ead56330e2374cde8b335552dcfdc3d0f940186192fa9fa6daa8156b1e55005896fe74a3b7164520823e7b7f21611421c281242b37da0ded476903f4b44be8ea35b594a2d97cb0c98a7d2a50123be606c3e3c11b4984c5a55ed01b1848fc54b83f681ceec448dbc4d35d15c389283b26de66c713f05a0d31993ad3e6e1b3aaff06b6f046ab075d93a8ca75c3e5558f8f2a445cf10d5eb813bd6f2754c502c93e81b904d845fb55c9e0810ca7259a012840cb0c85056b0a7e141e8d3a7fa5849da50e157c46164c9c02ffc099f42cffb71368f0ac3dac77b2ceb6",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "182a3c3009c88b744220bb4740f2e7a3fbaff9f691ad27dd572ef3678c908fc22897accadbd6900c8b754b47a5f680784303978971fd9ccc90364a19a13e2b681c980bd71be1b45280d57febc33da4d1cb6201bdb2f7efb61b2c48dee4b395738e6814fb228d41203a6cb99c5b6affd6e11a0327fb0a920db90319b0b8578399ed7461f0575acd25157153bf483793f047d02cc02466201fbf6383478b05e61c49683bdc610ad3b0e77e95d9adc991e7214f26db5e685d0ca7ccdd3ea77c5069085d421633c1d7b894c8253da0cf5905bb16e412ff92c5dd91bf0a88e9ebfd34cb65b2f0347e4f2148741e8f660c39e3a156700548a8f5e847903011af1c1821fc5b4139bf306449d77f0acb5a8703687063a16bbed3fde1c5ea05bb8c7ccf9201f44634fcf08af88540a005f590eb5f91421a14d96431be124655dc3dc11bd7dc9922c35699c8b5c9244bd3286dc2514df3b034c973db50a4289e49eb179b7424ecaff6c3ddb7c3f7038e63474a270adde2d5a347e6138dd9f1c5deb7b5bd3a0c5a3720d960314c6f6e47b1508c38fbabb63466e0029157c34f3b67517e9044b5c0c4473c0b88a845e314a4b0193e0057d460384c62cfbd7ec5ba725114635baf28fd44f35ab0f9023d59019c2bd3bf48a9d8b223931e1587057633749590c19c8e96175c8384c3a525d35575429d9b4e89d01585ea15caea456a6d947964df",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "86ebb86cc898d04b302d9dad510e9fc5e0018d685eb334c9fab116ae9187b9593b5e2b9690c9f32cb8219bbfc3317a9c2906a811415c7ff339531b554031248d668e29ce59e4f641cb1bfdc36bf12be43e86dc91ef095b18e8f60d671b20f06f1b0021e4e6e723abcd55ed4ddef563f837d8da6af8d078bf22492d4b00b0a4ebee2dcaddc918c585dedabfc69a9a98d553056e37f2888f2357d7e1292d4513db3cf8090af30b2c22057ffceefe98b9437f2ec751f8003f012aa4647b34bf230ba7e8128dd5b5628defc43a40d9107e4f36a4fdbe319d6dd210f0fc8c608db79956537deace1483ff2987327839fede77b1aca4ae0bdee7376e01df2f7ec6ee4735e9e573606dcf46038226273184b8dd1752d3c7fa989c32000fab98127ece022df538de31c65ed5b59d94bfaf1313618714c7d92c08137a35b3724dae445a088d209920a5867dce2e67338daf329d9516bc7fbc0a883fa96a9886a2d0c5a4671a1189013e07abd5dcd114929e5c3e7aa42d151696a467f58e4da1ae7ed623fa311eb16f67c3fac14bc9431f66146b3d015caf46205f2e70fe5d922c18be1f655e43a6f660752e388481ff2f8099c077ab7f816ea7dfe18f9fe2056af94a5dafc0565286e6fc2a7fde0d0beab06781c00b2253a30eba3407e2b6469aa3ea896e70780cfa00afaf73f441e1b726c1cc5be9fc69c0e62759893379c39f81be64e6",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "12053524fc1eabdd9eb1f39912999cb88339b12f53eb2817e50acaaf6ec0ba9b28a554e4037fdfdfafb6533fdff27be0e74dbbd53e95b66746ce22fd5c155d4f7f6898b3d82b3a917c300fa95a3471819be51199fde252ec77c4747d7feae66108197f7fefb8f5a2a78bb9f6adaf927839ef696cb5d5b0524cd3482313827821d56537a1af7c72ba4b68463d033b5af9c4aa9dbc7c69008a19793e60053259385947ec3672780704a772ac4b2481ea5252f5229d8aac50143c7049d2ae9e90a0205f1da466fb8d3fce4111bef81e856b8b362aa98826142f98b5d08fd36bda2b3d2b79f277beb942a6f28da26db50910646bbc78d06a0db015a8371bc75d29a75bdf91bf29adc2aa6e0f255093ab1e27ba31a9659fa7b4f5fd6d997f23150e3eca7e0abed2faa0d9069b37a95f4803fbd76dd3f4e4a657b8d7fa8e1cfc1c0f1734baf1559f49173da13b7783fdd0df41f9e73bd19bd6a93f3a43291faa740e95f7452c53c6ed05b4c1d25729842d461e2907aacd6a5e2aa84d9226d809d4b3bae8f8729fa08bbc93e10072d7920515479baf691a34b2ba7f71ec6d3b3a1630b4de74865b9c7ad4f1c3d3d73205caa67b18149b87f913701fe9c6fb9644bfc9efbe715223f3d0f75f5fbe1b6988c1d623cd4c3e2afa419cc950dd48b09dc8a4048163f899165b990eea24e9b1b43b946f5800c614e37c813aa9490e3d74fbaa35",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "313233343030",
+          "sig" : "78fbe68519b106475e9407f0ec83652a9ee79bc60c3eddacc3419860190237ae947b21ccbfdee04db09e7ee4383f2b5b1019aed8c7ce14d4832d48153316499f21f4348bb87126ede5f8976e0d31a712200ca85cc484b114bdb7c32990e067a15ece647d637405ce8cca20db1a0b5918a8b7e51c29c9e323582c78de565de12b828bad378a3e13c85d7771790f6bd89186c991560d8d83c405c212ca195d765d6a8e3eddbc77471a077ab4e239f75a147919d817cb8da78fc35c907624900aef916dc0a81c394e9f8124103a5096b8d737e395c1d5a8ea70f79f416e6e7277c28c041e02c7bd4b1b4b07841cf35701da7184abf8943430fb443e81f7844f2f85fb9fdc349620c8bcff4d7c8d1bf0f38e4b2476c27afd74977ebfeeb301f58e6982ff78b1442376fb5a60cbf26d9df59dee940ae42fc2071ceb4ca78aeed44214546aadd6b34774a1e487c0b383d02d458bb7d76b799244ed1bcde685d8d913a785803166440a9147af47de0500a65b8166568f5a1d9bd0b8a5a805ed3c665dd95d6b8241ab9c81bfdc0ca1da068839c46babe1b344ccf2a9b8abe3d4421ab7debad0be0102ccbabbed438a384f5fd131d2e3b85d3a733f9a625e55be79010c44d386a2df6d7d96e896b2db0d06e3fe9c2eca9970c3abe79e1d413db294515eb54e479fb3c718cdef7b47c6a89287e48f246177207b8e75b75f47a2a348062b5a",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "313233343030",
+          "sig" : "8fad4280452da19d7cb9c1ebc9098733b6d337ee8dab0ee913163d8632620a15e7f27aa9ae1539907916993e0cfcb6577747fdf5934897ccb36ade1b495286fc66d78226df5d8ebcf1552dc2d7ce495444241b7f4e53f0e53572df653678ca5a102857943ffd446ae261850026b2ccf8689df7a72f3fb024483527251ba84c2c334d0395f47365bfab6ebde0791a8c9c3e9dec028e2d5af58525a43181f91c69a5acc78b3672b67e09803c6343cef3aa0869613a74ba59ce4f1967ac2d87e56227ae9f7e24cf4e25b32a82753bd50fde846fbd3618a6985fb05326b91e6003e614466bde4713766551fe6838b3789302ec084e0700c37e9c62ee98fbf711d31b7b1173e77a104dee21b393dfb3fd2e4ba506db1d9c2d99bda0c3744d04e11a1374cce40e1bb0c1c3e4e1680c1199c5e9a71119cc4cb4e4d7482c365f6a4b950e0ef06092b330e94bcd310ee9c12dc08c62ac1166474101944165d26c7a9aaa9328935914f2a6d79090a79465c69239eef14adf66a32117709528fec892619c26f59e234b5755530d1c10c59973b40a55c289b85f5e5f34c5e147af44c84460e2ee834f0a4798f49aa61a16148c8a36fad5fc255bd02621b5f51212908d73089b10936d778b6882c031eda9e26c7fc8bdbbc4eb808e318090e89cd6daabb75c1d55d638d603b60d51d3f3a82ac56663a0e4df5d9cbf323e1ee7b1531e97a2129f",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "CVE-2017-11185",
+          "msg" : "313233343030",
+          "sig" : "e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "invalid length",
+          "msg" : "313233343030",
+          "sig" : "e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "empty signature",
+          "msg" : "313233343030",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "0",
+          "msg" : "313233343030",
+          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "1",
+          "msg" : "313233343030",
+          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "2",
+          "msg" : "313233343030",
+          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "n-1",
+          "msg" : "313233343030",
+          "sig" : "e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed0",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "n+1",
+          "msg" : "313233343030",
+          "sig" : "e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed2",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "-1",
+          "msg" : "313233343030",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.json
new file mode 100644
index 0000000..18175cb
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_4096_sha512_test.json
@@ -0,0 +1,2095 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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"
+  },
+  "numberOfTests" : 230,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001",
+      "keyDer" : "30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyadlwmYbRnTP80gOml5G\nKtCtL8m8b772KEezET0gmR9lOWeXHCglJ1P1+6zOASwqirWSkU0mnvr6ck+kuSDj\nQJMMEG97Nvec6/DmLojg5HaIjp8OIhhqzbbEUjojK2W0/yzCLcRPilWVJ9edfNfc\n83cyEve7mqEzwxFlzGY2kL8SPXOSPIOJKcyv7lnWxwlbjUp0uvLRksmk6HxOErxY\nATB4sop3iegunzHeH01qKqboBjK+jkvfJj6NSbCUFvsZxIjAetivciq3kYKyMCin\nHgZdAkEqnuvEbX2PTgPXkjjYwMtKl6mhIA67bsZAQuvsytlWdSbu7xLBfZTBBJyI\nmXC5bpTMNTFyomiknF6L7hPBWznexE8sehqjenoLb3IpCsraMrHYrx/D3IqJSHuo\nE0fL6xNQkl0w+SOVgQa0mVnIcefB26VdoHcuNiz4Yh14YQhouJThbl3+yWh0qTpM\n83m0fn4xjOMVBm1w7jk4FApgFI8gUIXO+KdwDKPFPVKldWpjs7FvFTBithJipoSW\nIQyL5O8/kCnKDqDjs6DV1tIm7bv0Ta+PBF3Cht7TxOxNtrRTRwefM+r5jjyVtLYO\nee9KMJP+7FQ3A0Irp0oRhRHCGTtU/otjOGbtLHBcy8bn2dNlaAnsPTNW50AKlkjs\nN1BQQePjGvHALu/pJKZwR9MCAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 4096,
+      "n" : "0c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4",
+          "padding" : "3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0",
+          "padding" : "3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9",
+          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2dbb7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c444347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c",
+          "padding" : "3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6",
+          "padding" : "3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9",
+          "padding" : "3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "313233343030",
+          "sig" : "47dd8953f9fef033d428958a32a4b30983d7eb9950c3d9acd167d50d9445cafe2bd02f44db5f7c5f6f999d3e1cae5b7458cd3220034132a3195481fbe5ba6b878d85c6f8ec53769f28245dacf66b562bec12399919265b3ce99c5f2217c3f5b33228a7300a0e87174675b379ffcd8a048467f04df2b5b7a7b8e3b8ffeb2dcd408a9363891518988a2a09453e98f7cd73aee8be03acb0bc8d67f7f944b62a717a7a5dc9869ac3d30e7fdf68cef439eabb8220c6923016f00b353ce5209ace5d387a7f50dbe09a7d2e521f1ce57251c48883229dfcea220e31810aff68da93744715f0720d49d8a5f3df2ce56d8fa42c02300729e8099df6e8d39bcfed502a5ef910b024e09031e141266e5493e64202a77c661da8c363f713b78247d8962b271e6ce968810775b6e76b577f01c24daeb7f765e9aa0118168103a51870dacbb4144389cb0e221e6529f9692005a2828e68936c339c96f7bcb4ae61494d03a3ff46adde34aec671b5aaff2fb61dc6011f53f9dd9a19bb6f0180ed90a4ed44ec0ecf97fc50c15607d1c6e42d35e36526f3a39278a7afa2601ba7610292bd6f04bff85f8c4f32f32b42379085b461eaee65de85ef2fbdce1d0dc39120f5670ee2ba5b12902878d2eae39290909dc55d64d1d6b03cfb4b144dab9e7bd8cbfe8500576e1a9f300818abce002ffedb4e8f2f0f58eab36f5c81929b50578d4ca3626b87fe",
+          "padding" : "304f300b0609608648016503040203044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "17ac14ac21d38aaa857542a9d871f7d81a829c39aa26cbe7db722f68e4397a7c758b11a0154edd42e1cc6b64047238ce4177558a0caac2a6c66136c8347ba058d6aadfa3630b4c44fa7205e0b8a9582eb5d904cdc7d25e5b9fc83bb4fc5723b3171834c07d59876f9ac771ee66ee17dae152dcfd86095fcd908697008ec1776536724d9e4322b6f7cfa59949a0b9be7990ada56722e6536b8e1442e0f0d8799ebb36e7881ccd52ddcd8a8033cfaf6d3e2a5f2d5aaa04291ab11e48e745c4de3fcad3120261d01eca03f502b69ea1d5d6f5556e9a198d663b05b7d631dc975cb7368b8f34fac47c621e60163914144b2e98e2f993606f1961d2f176a1b1eb17e119d48fd2249889a89be68ac78a415a8752f0425f1baa1cc5de9a4e0b51bed081ebdb538a70be96cf7519eeda55bccfa7ec5fc82acf88036af913cd8b30f182646d9f7f02daa27306f0ea2fdf436a40bace578ec2166a4080c7cef4a862804820020d9bdccfb2289c99ae61ee3fb3b3a9d3f6df672c4690e8c943f2fe23b5718a199439c5b2dc65b63d37e00440fbba51660242550484c94c8b6f504b0bb4e2579f1f560042b721db7d2ec2ea175401c14899062f9022fc0d8e4775c8d10c63cef61e9c649f771351b94620a3305f2d4b681c11089b5fddfbbdd291ccf9e1a997c1b2e6ab3cb1e1bdb428590ced534cd4da5a9548f3d8a6edc20139115d459853",
+          "padding" : "308151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "15850012d1a5af88b5d1105aa0aacf404c2417de3dec04484cac687f6bec531cd569074e5c44ba15b27ebd131d018c2a4b463ae029bef8295e89c594c23ac9878e6d7a03276cb7c0b5231e887fa7e0fc3529c11e2580e329e65c669c346998d687fbf7e76b3539605753c3cd708dc19a072331d77290d810311b23a76137ddb50737436fa31f078852bc0d546364a28456c4048bae337ccc0fd8713c02713a987f89f9868cb64658ab1b8298846bd36b8efbbca088b6489d69a674aef11191c3409ea5b6428c2d847833db1563c77727706d2657ae8f249a75e23a1782024f23383330d11f1b91ca7b0ebfbe3f4a5fc6b2d37210b16049a2aa61030ed1c15b5d2ebd1a0ece36de2f53b36323a0eb25d4f77ea3582591e13f00e836a87a1fd2fd432f074fdca1a27e97dfb62f1666277bef1404958601d4e6b8b24125b4a86c9dfb260c3eb84750ba00930a1f7772510fdc0b265efeafb5de8c2525f5706fdf52a6e813bdd18cf683dbe94a6df2464366707bec34cfebb097b2f025011a0c4b5f263d30fc0c67c6e5a65f2281b463988ceb9b072718802a0a80a52f90af1aeadc8fb290bcdfea333a90b55c1a73839665df30f5b42f3e795ff1f57cdd7edfdee1dcbc81155bc3be1e264084ee3d7af4fe8d9a5be9cb2692674f1f608139b9707dc4c4b5b6968d4081236946f4c6ed2c8836769a03f9e87efd1c555f4ac1013882",
+          "padding" : "305230810d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "4f7ebe74a37d53164e8aad17079b798dce589d4b27878e57789093081e1fd6333871fca7943ad1444010f8a181c2cc6fb35b0729830fbbe3313551d51dd443011fda09370cf7aff65c448e5270781e1483291efc6f6fedfec81ada2f141fd436f685d28acfd7e2a01ad2e87030e076d8a93c497bd986654409c427c4f58ff7bfb9937cc068230804fa78977fc7649f31202437db9475db9def4e9b8409438c0724b9c05f3ad9f5ed9908ae3211367d465442de238edc8c2ca8d0e109cabed865fe37f6a4994651bbcb4d0af61e466808be729cc6978d1c08a1332a21f04aef0ee77e62becf11590b096704ba67219147b0881a000fd06baecb87db7549a74e08c17f2c1b54d93cbd43adadcd94fd116f7aa45d6e595d9ceac28d5ea23847ae6424bebe2d856f1c5605f8c88ba0ede58b90382e3eacf64c1c153174732061f4c80d071bf985946fcbaa362049fa86e59a72a93781a26c0f52f93a80e42d4a01fa4d292911325fe2cd70fa48d7e02ae80ae50bd37a2b23010cb8805b26a6415c4c6d265b3e28196c54d65cb67736378b00551a44da7d2f9f345f697175e4d5628f61998429312045f2baa16579a8511d9b4656979bb89babdf101ca9b81d49dbe0e329c9104ff76e290f6182e96e729884cb8dc3c5d43818508a19f462f0b7e4c790ba7601ae40d41cc6678a8a6eeb694d7e2c374397dca9ebc6a49ff79ca5463d",
+          "padding" : "3052300e0681096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "a9e80f11d11c6a1c07319788837939fcc55b76cae1c7338e5858e56aa250343b3a3b2c898e0e47623f4f3cc1fa6499ff7f12bdd8d43b4c811c067ba6739958dcba6c849a7f1dd924b12a6442a6bfe5ea60876452b86589a904d71b7b997a1dc4486bc1b4f2a9776948e0c3d1da887c20be126db414566425a409577eef6969836bb84afb715ff8e7f434505503193ba9e398bb7a15df0b132bcabe98d64e05aef8007b9acc87b1792283468ba77fa8173585411da87308f3715d0caf957f44b05f5fae579551a111288bfc8e3a2c2bd41db3dd741ae3c70bcd9f01504174d9117dae1bfae2f38b0391a377d230a6dc246c552b4fe41c7bc4e797daaf5dc5b421d1b5e7d88c69c5d5d7b4dcdad3a2a854935c01fc7e44fbcce85e6419511bd3191c973c6590e024dd21e46c0a5144e71b4f7166f4bb69455f59c6e617ee457d0fd1aabc9f77b56a05397cceae6c4a7dfda5758e52f6c94a8949d426e6f554b2aa86767d32ace6885f4c63767775ea2bc925325d9fdf665dbc941d6cebcc0385f590ba36100e6848e309d3d2e2cd0523fa7ab95fa871d78510a978a988c34e10204f1d669a4f78858fb49672c13e9f489fca236b913fdf075a7167d1e27e45a6b3614e55f7817f191cb2e09fa3c98a6a77ad0330385af0c875c471010e33a8c1633a23badc03f7046a6c2634054892d60d5b3da0aeb3f14282749e7e5e62c9760d",
+          "padding" : "3052300e0609608648016503040203058100044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "313233343030",
+          "sig" : "8abfb449d903f408a10718ce5c72d6160d662b03cfffabfe52cda027247d2af8ac9d870446a8b657b496fbf8d74d9d8e36d396f2e0d85d3948404788fdcc02f5462be06329efd901f711c77e83014ff3a02751ba8f3dd28cb2f30ccfe3a958ef2945c0f8a3c6d331e38a5c6534e71612c3f0b45dc81396410e4d55c7d31401ae7c7a1549104c718bbacbc9623637705a2342f261c37bbe35ed30c64d87be17ac10a263a2cdf82947b73144d145f8711693edbb51e707f1bc75a63ec875572f6f1913469bd9e8ce4f7dcb542ed3c5a61e82f671a39f69895f0c360233b0613c73ad683bb4d2b7771c7b7a24ffec537d8e9382c0b1a274d96eecc6a541e6a7a8115cb07767d7ff40bf1266df4b22bbaf49c8f1d103a3b9d3aab33bfb05dfced5b1e04a842add8f18a462c47363793d707f4fd5fce6fd1d2be48faf532523955adbd22d7294dd66e5c586e90a59be612777b3e66139a72fcb608329c297cb84134f20e55622d6f56e9653877042b1532c143a2d9c00004a5bb4355eb290695524c38a45f97a0d67eb4d1bb487d3967349e25fd4dd5b1823a545478dad20ee4dee931c6637ffca4f88549ead5f36d86e799ee757cc555f910835077f273f5c38c9508e8d1a932169618daf6269e2c85676c515f3a190dcdabb0bf1c748a385fef8bf108cd716ec09cf2251916ba42c20d67f178fd0853d40a90327053cabd5d8997f",
+          "padding" : "3052300d0609608648016503040203050004814043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "b053f20b91837472425746c5cb3c26f4aa24bb58482556b418aad3aa6df71b9f67fb66855b83ee57e7a62aba93167d9a0aadb514c7d9f4c6e0000fea8525aee39ebcd59017fe5e58ba751c89daa976c158d9de60192230c0ce85f832882fb3db671ae091c886559dce66ad1d6ac0a5d1b2ebf2e1c30d88c46d43f9ffce192ad1cef57a7f0c437f6d25db071b74b49faee3b9732e9e0c7fef58e5b9971277411fff636aa2393ddc82202319f2aa5b2d14024609310f9c4fb6b8641504151f07ec1db8f729ecbbadd5a1d21969cdca6d4c9e7995de673ef79e95384f83900303c157ac79bcb681d2601e9b2f97a9438cef3a8ccb72a740750a2cdecd1b1b0df4a313e912701e82d76d4af9c8e18ad175345ef59968ea8c5dc62a8afb39f52515d6e8527902a03dab09419208636a3b0eeda8148d2ddce169ad3389776e10ac3a88b1e57f0f5da8e12bb1339f1cbfd367b221fc2754c185fd52897deacfadfa401eba9d55521592311ca3441c4228896a09c080443f78144e3e5d8068a946fa0d30b2187cea28085913ac86051e77f84873ff2b150455fc2486edad521ccd0b58a9055b049664d1156f4eb4ed393bf73a5d3d09cf7d163b4ef5df618dc6a57d2983024b779eb6a3331cbca72094052a8621d24d76db741a9f57dc42f41712b474cd8ad90fb348a2646f456c6ffd8a30657e344e57bcf890bd0a2d199bec9e2d5be5",
+          "padding" : "30820051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "4d8feae269696ba5aa750a49b64e7346de9e11ce331a3c7bf917c5467bb077099150b760541fce35521073fc68a5c638a5884fff577e97f0d78faab8161ca4c766ee4cd89e26d8b747671d84bba1865fd133e51a7e81e8986f0c95400ecb58c8b0af8aabc9ab352a675041e7bccd972c2be01080ad175c76e431ff670780e4b63d34aa69e3227696d8736a6d6fc2e20015180a680117a6f04f8f56836d907fd9efe10a7fb5a0f57f6461fb527494e9678568e168a83ad61b8c5cc9872f27a80e159f8547849186ebc43a54c41bd49c0dbc48fa2ce3781cec1d6623017035cf7425d7fd8a8562d3ab36c9e605738f82b5a77fc65afd217963e710a1e3a4e30862c8a8f18c97b095f68ae0878ce3cf1d062dd440764e19868c5b98f08575d65e0b944ce83b35028da466051d082ba66c2650eaca9ea9d83804f41437a3ea43932ddc217fee2c59765b5e862e85bed19e9ba0de41d64e518dd1c7c2f2f0b4bf44b40b26eeae0911d0c63b1b2cbbf3cb8e24a1ec6ddd70b9d442313e47fd36d1f1624d071de53d76384aeeedde697c206dd27cb1d54e513621351444a4d139cee2fd04ff760d08d6aa949fe9f2c2ebcecda4f8478900503eaf172a63d4d6deeac67b3b880cf20f8472394451caad83af1e8de2e29c0bf904f288d74b73fb330fb3a50b63ecafee8ad9701361db09a1026146bbd0ffc4f0375488e5a178af304b6301",
+          "padding" : "30533082000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "8023460b5fd886c16f15c0a31d2ec5a0cf43fecfb5a5bf4c9ca5a13e4c076cd55483398a20920138d821f1ddea3706ce3ea84df82a1542e9905f89322462e818fbd22873176ef1112d5bc2d8be0363b84dafc4dfdd4f09a694469d0c60133e2f4563a8718f0666f3d137456c2a1b644e963100e43b038b0896bca1775567d9ea6f0dc112918c2a5049c00823652222109eb6de7ea784e1f620666d61ba1127b4b2efcbd184a2300365d04b4724fa89a915d59c62903e93e8aa2b5cd04f6e1713de76335ae34ab98e2ab7c8b2da8009da54124685b2ec2688c4cd324e0b550c521274c848799a24fc901cc8f4cdac2a83d702e8ae0dbd1cafb69cb5ef4980e39d6683ef62454b47d0234bcefd2a9d93a482492a1bf80da22c8f43c0315b81f845b9597f855288370dce9f3d4256573e867d9fab46e5fcbf419f7f87c8ead3beaf9ddb345970648a0ceb2a94b487aebfecf020ca6b2950619da60af583abecd0c3f35fd449f20de3c6ae3ced3d348019c60295d324d68ca6be1071d336658e98d6882468ea8086af6ec66777076425bd708a046c259a391d90c1c89fcd4a8012de03872630368419d5d71dc1d77d0624fc6c29202c60cfd4904a1455955874c8fea2ebd940215d8978c5d23cd40cac7e99575b9b536eceb3351dee111e7a724798039a9c0bf8b5e671060e1e497877788967fb482ca6569472b6a4fd195dd1f9a7",
+          "padding" : "3053300f068200096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "c0886e882249dcd81dd653f46d96e5db093c4216c375e4e7cf7317254f978c846c11d34220b4460ab2062309d059c6314563b5c128a68c46da172fc9f07f569d5043b328e48a18ef5a59ae15b8368820891fa36b883ca71ea14632985e61181491e71b607962f2574f95e9bf95eb22370babf73361b704cac83c814c5c0597bd45658fedeadd0d5d87671c7f67f6825d0d18618f337e4d5e55062f474b242a08fcb1831916d46648ba55c857c897f3cb8868b19c3b6179966fb79f0586020e3b6abe68621f48004df422c9e9a69534542ad1b5585ec2f052768a67471357c0350323f3ce372609621692c4714a672b42138f274cef4a6d47047218576e9fecc506f5bcaa2339383972aaaeadf7f1efa3e4ecf1ae300735d27cb919c1366eed82f2eda833154c96eba7a5f9eb7e45504dff0320c0a12181244f47303b774b925fc3887259003cf5db9adaeb956d3748aaeeaf18e0d67b000076210470af70074bc7633b20d06ed6d3b9f9cf5868fee480ec2f80fb5ad0d115515249b4a72e256ae6caea187a89db3691de3d63bf4c6eec37ef2a4df99b9da6c47cc4546ce39111eec9983b8d352f7d34e7a975893beafee92e0c5b50f40f91e15be4f8af8c4fea1cc8c176be238bde66e9cc0778ea0d8b55e4cabe379e002904e1b5ee757bfe632b4f0858f42e0789d57deacef432fa528045336437ea1752730c72c9345eb3f7",
+          "padding" : "3053300f060960864801650304020305820000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "313233343030",
+          "sig" : "33ebb328fe4a82206ee3db40d58d9e3081b53aa51ef33625afc2d778c8ef56c174bf40ad2a20d3524675269efc92579bccc332b1b1af5ae33092a3579d21ac756a232ca4c18f6a5e73ebb1fd0547e18b6bca99cd8dc715f715fc262461f587b2ebf4c2f7bf41c9a21cd45455d492d5dfbeba588cbdc2ad00183a3dfcdba9ebac02bed5425ba71d0890efa95d0caddd9c871cf414f2357ae97a28b48b656b27b3ce1efee9b29114ec551c2afb28c4057451d52c8ca1050444bccc8863c0b8ea65f45c985264022a767d245d3fb2d677b7bc56007d55ccc85dd572d2cf669855e38b41ea69b75f2a6f405a55c495daffd75ade0f086ecff34e3b89dd80627041165a91be8d92b58a44664c32bb7baeb5b3906a475e5efd680a85a0a3bc0aace9bcda1b5f83239d88f1d8f085149c3bf9b4dd972444d3885f266d4b30bb5ff239b05f2addf7e2e8b6588fe46ae137ab7fb9e795a37bea74766f79938b0d56d2df81bd3c7ff79c387909463dddfe36029275ba18c7fc7d2f50a042b4e2a65ecbee8b89f99cc2a5e45d34e1d4d42855f2d36a2a8e2459ad564ac9bd83b87a5d73e499cafff57c3742c652fa8651ceb10456b3673eaa564e4d72352e7f4f24e15a16ba94e7673f9c584cd9a12670cbf0f1fbd6764e15544a179e9e1cdada1c42ce8ea189d0d4bb9a275bc3102a180f440b09dfefb355a56f0c74ad80ab8954c6e35767",
+          "padding" : "3053300d060960864801650304020305000482004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "5113288772030fec77b5bcea9a599a9502d8dc6b2b13832ae23c34e4be89eeefc4cdce3311fc6520ef8164ac409e9c2a8f6b3f7ae54788bd652f73cb8902be3f0f95c64b7135a231d8b0ac9dbb82441408eae432106aecd8167e0d3ff56fedfdd0facdaf1478183fc35a522e34933ec07844f21dcf76ed0eef71559769ee6b5a6bfb14f654528e6e24cd3f331634e88862f2b37e25cd61549a7ce207aabf6550292c21b187a30707eb0a463be2bc8ca7532f1b00f7bf3e7b561f685c91f6492c5b728ff2fa26865e6f1bc85ad84d44728fb549fc9d1ef6cc0fce603c3fd94ba8bf795fdf1b347a9f5ac58f1d922bc7cc3754cf427287a8458d075a148f6a336a0fde617f771789cdaf7223a2dab71448cfe2c2ffabd43eb839c5eca84538785e3c6f1cb0a19e532b5efebbdab5b98260f26190a359c378983548497cd746d4ee0021f148a6c7b5ae97e96d72565521b9d9ea066a3bbfba1427d40099ca367e378b227616d3d679ab5832b2dc93d2eb4993ade501059cfa8b916158aa8238bd5e1cd83e4a2ee676dfcb85051906f94a8861f5e2679912df5b48ba309b90fb383e213a70ebba0964b00f7df451c6d60ec38350e260861f5b5e86af8fadfd09d66d8d1c4955fc8dabba82b937ddea4003f9c39d4e7b152c4d13fd2e54fc95cd3c3e1bf20a065fb6a78d161e80bc4bc00c5bd93acfac027c94d21accbc423c2932db",
+          "padding" : "3052300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "78e1817f4671f8c737dd45ca7d069a572d73010927e5957dd6f05ecede34487e8b4168e666305a80ead3f6f5701d350397ee730ffb6a320161c9743db09cdfa272683383271287908eb5a61b0e72cb783b4b0f341f042973247e525330201eed0b0ad881582de9ca70aa66e5171fc08ae22a89a6d5bf61f056ec02fb5207a82ca0270da42d44afb79f299782da7fc8156320e837269c9170dec5a767451edf0543361c5e5ef4f6a165cde8b0f6c6b6c62ceddd73bbab815d08340046579482e39a216d2dc8069fea722937ba5333cd47905497e512b904db8731a88006aa6b650841f636cb75c1b6d0be32b955389eb1f6ab5df19bdeb9ec19f090d7a46b1d45063126037b9f8f025816bc79d33b983cb576392ae135bcef786665522b65a6afcae3e345c06d551d5a122b305b413144cda4a58012d539bc7f9326f1a80ff70b5cde353622577dd23d10f75d206839274c771f2c6e4da1eb7b93c3c0640ebf7d3d8010e22a2d58281b8f811cf8f99725542fc9059228fd7e01113b9c3c8956badeb798d89606f481e99c222ea1918a26aca49a9ce98bd4fd658ded3c5a2c946643ff312d418b7b0da0e8d96ce91da8cc037c16280632083ee0032ef65532ecdc45589dddac1fab52f8ed55e35c261425701d9778ae53caf595d7b32510f7dfa8a7c86af4e358fe08b8efc19835e0e9c40dda2f1ac05613a26520f0ca5a126e95",
+          "padding" : "3050300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "246873df5e978483ab6bde2bf90219bfce3d2b6dd6db3a32d5f3da3808e5ad945f1dcdf1186f066ef8860c8854cc80ea794758a84dcf399c9ecfc54f184de1397d48b2a15432422c60d50ae42ca8203be687f4a51fb27f46ae5c8ffe354b708d9e7007af22b42a2662a61ce1001761f3935cd6649efcf5049e4ecc0dadf8424dc3be83a299902ec387e42a79207170bea5db24c729d811b6ae9480065809aa0956760d40fe0759024af27620c12a9ce2f842b429d005848857a904ed62cca6752cb5be1935c6562c3319d42efddd490705eaff46c822f81a28c6dc44dc9e08893ffda5e044217a6e01fcb0f6e55ef1a6393ced7049657d4c37b3dca55f5ed8ca383a4a72c3a6ea6f096d1cdb63c767d0c5f4900006ced15e0d39a1a6c2d36f69af25b2a324fe6568e4665b4ca9730f50aea9ac98bb2a8aca25132e614a70c20533cc0b78c1092988482dd42cd13e4a3adabf45f811d638915214b184692ea09b83975a5e0c3384c9b37db667cf321f3d297c0f4fea1c80ed2fdc218c0b7db9cf8da370cec25549f2a0e5be001df317f0d1f6f36b4dbbe4a499e5e5c004a51bc88435872e4c4e34115619659b94bacada61e7d3283bf5a23e6c548bd089a6553524e430285e2ee278768242952b041732fc7091260537b0801d50e01891cdadab05c671a39dd46db4d9988e03593f7b4002b3ed4b0ce1b0e6d5253c423f59bf6e",
+          "padding" : "3051300e06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "0d93eb247bbcf1003b3360fd8ab063378baf9ca43df1ed46aac03429ad1d817071522cc56dfe61e96db6ee747a5ebfcbe2ae6ca7571b17b9e8e2a3f5fd8879f167d3f9c20fed72058c00801a4058446122ef04d8685a16804ff91c0073efa697ba4d6639fd789a3fef6a53fa5eb062c82c974bf8206dcd5617ed1851f537643ae16b58e368456636b56f4fcda9c81041def1cfc854203af0a5ad581ea126bee84a4452c58602a2eed0ee082ef19f4ac75f8a7ba52d927f35a3bdcfc64183238adf1174dddc29c49ae4e1e3388fb08d28d9cbb379dd6c83903f096f395ad3bef4fa245e6aa7af5533ab6bedff2775649e5cbe89513a18b00ba726954ef0ed94865a7d9aad1e845415cbc19e039b3f7a7e4fb8a0b47edffd9c6eb2834331f0b636fb5eca42925b5dab4ba08078a71a6e44896abd06276f6f2e41f122848b94e2a22baf2d262a06498e0084f700ed1d23faa7b2ba9f7a71673f4f8c2a9a00e611f53c2095c43d9e78c1a9dd73cdcf0b74aadb47127a990ce7dc335ee26f4c13fee45a1eb44b99b2325fdc30e33fd675fb991d487efd478ac79c8d7a57dd210c5cb9c6fcc7be1a7e4a86f2ddde1ec8e4ac687b61231646d9457b4bac5dd5eba2eecfadcc5852dd2f1f7b9a14a0d346c6effce2549c9fe552bf1f21b99e5a013d41b5693059fb905bc30eb40b075ea8da092fab2024e6c03c4630f53e31b8e78be253",
+          "padding" : "3051300c06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "6e936a844e70aacab2a52b08c722035c1fece44e7da375047c8a0131072d4cd34598250ce2d953f1bcd3b9f010f6e73da16b5956b26017831e4937e3331c74f67de02623a0553e236e2f2c6c37b5ea6f9e88f2ccb33b6aa92823e23407998fca861bd2474c266070d32433b2d2d880dee2969b483b7b4701fc2eadaefb0954d17a2ab9ea94b050e84a71e32f319cb517f1c84a2df48cf8792fd4fe41ce53f71fcbef77a2aeb4b5f1214564e9bc238f92fddb7a231d154b65b1d02441e45a44c68fb775ecbad29b6b6afe0bcf37f7b28b9c2d0bf2aea540eb1a0035552147b25354f695070decab791e6a6f4524ed7d5991bb47b055fe4110a55dbff10c8d906c3b05bf012297cba96001c175130316a6080e9ef61f0afc653e9b0f82b7a5f07734865754753993c80b1aed172b2fc097d9cc1bb0eed9ecacab4f1954f454954db7bac959828a1b2e3e60f9a72280237d54653daf3561f65aacfb930774dabd34b52955d7f44cb81071bba7843ee327847e6f9190a6898f0907435595deb3ae9ea6bd6a11d1834f663fb9af3676f76a5e12762e893700eb9e65f4679dd2357b093285a96af7654cde9378919b5459c92f9d439b88cb3d9599204543a5ed89f24457c5f43f0afd36e774a23642c4359d1dda581cd27aec0fad4fb2554058d37cd5f517e3f0e9f71d9e80454f8c201144d966a626afeb31aa36126c115a33496461",
+          "padding" : "3051300d060a6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "89d47254637f19d578cbbf89ab9f8dd5d658411d763501e10dc13a73b1898421be0b28352e2c505c3957cb65d745aa6dec6227954e7d7f9b6be8ccb98ff67f5733efa8b10d2041b862d2123a055291bc3038f9abfd340eac2e2ce9e4a6ede56feaf504903e7e8a2b1534bbf774cf56db230ec03be0da2299cd316af26c3e2058d3551ea3319b38a2ed142c8d806a0fe308a752277e8061aed64fe252464d94d60e1ddba421ba48262073b114566b3c9837cf643b8d168342624282dc20272dd5d92fa3de55fb1edc0079f4c2f63f2bad399323c3d3697e48eb5497289bedfcde9303e1e8de42f45e6ae9bbe94ce1cdbc1e92755ede9dcec33f49e711d0120df200c0dd6747801ef42e08e6d32902876bfd9a946ce2167a6575d4f9ff6ead1c320c2234482aead7fa90720b8115932cf243f49d3545e16e70afbec4c27b12dbab36954899ec927833a81087abb75d9bd854a4fe4daa1c3c6d466ffaf15fc2371789d64abef79ba05036b671311944179bce2fd6e707e4987ef9201a2a20531ab0dd163501892696166c47fc00e1060f5eddc64d79dcaf85551afe31ba3d87aad9c302e7c22bff0d7a5aae109f9a1bd95e02ac5c41bb3177a0bbaf4a1efef0dd9efa6e09d4cc3900c5a0164f6d391fdab7720c577b7fa1f6e3699457c72bd7ffc0bc32198e7ecc87a26946090c0199252a340acaf9dc5ed063b0b2ead7350ce5ce",
+          "padding" : "3051300d06086086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "9a4fe22826f1c64e9c88e178efd07f4ef95991c6c3e9c1cb10bfcf0a0c9d028cf05207e93edf3ac302b72d2961073cd1113ea5c8b3ba05a0e3c913535839884eb595ab189ee81c5e67763268f47fa7e313951e65a84165fb096edc7f1a8318e66d740c61d8bd9031d78189120262d2b9e50bf639a7bd70881e9e598f8f7d83de56793cf960971b60dbb24f3b6e8209d87464776e55d4cd6291cf8fa578a2d943fe03251898aabd477b748dbf12712f30b4cc5732826318b76bd638788d2bab9b178e12d28433e52856b7f466a155e3fea2e45e7d3e570074eb6c2227b0fa3ce6a3372f448f7791f2c7471a0cfcb098060bdeb700729a53e5236b5e35eafe765d672627014c94450289a8f62b90c4f928768372ace3658bd158f02a7953863597f0f0774a463125e0b5eea643f2d1049514e5c6590cfe2c28ec9ddced3c6185d5cb2656cea16506a302b65070eba32f8a873a873164bda838744a0d5a315e37739ee4c66b511d036661114d4a0443b2fb8ebd433abbd045d219423ece0a2d6d7f3f2e24b8a5dd88988eaa96fcf879eda5f01c26a19728f9ed917a6741448f9e3dd64b02c8eb059c13bebec0d6df85a44be3887b8b25797941d2252f8605dcc3f0e7d3aed45bd110b6c79acd65adc8d6d8551345ca8b277de67279f2315c0a19240bd57466bb6263ddfea47474420b1be82a37e2f65bec7f973c15c961d5dbbf55",
+          "padding" : "3051300d06096086480165030402030501044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "9f80040b3371cf9b2bcbacc068f03645a114b73c73313b3e146d2c20e8c6d4bcad24f0893bfd320febd6991379ec8ea796faefa3384b9289f3023eb4a188439c79ad5c501cdc0807630ee7f9617a4ffb0e00fda1674972eadbf57692f516f52b3ca7c4146694cad95d54257d76abd3a93b6e2a30114217d2439959d9df1d218b95eefe36e4a01456aae9311932bbbaa34aeb12ed21039d643524462c7e0bfdd647576a3ced6b2a28558230ce33dec63a5123666d1522f9b2e624574fee22827ecd7314bd2e2ba28cb5b0fffb0e78798da8a61b1b752753f6053b67def7b19936e35fd9a0671a12cc54d099a7db5c4429b39eb4df20ba325ebf478675e5532cf79b9e534a96129dc71225e9cd337207fc1a060734c132843317b05c8b0b2a253366dd340a7d65e61f825a8b96af263b351a13c312141c7f70794a048c704294b152a918e21c1546b0e50694c12fa1feb5e999b2076dde418f2b3a8d4c906824a9735f80f0914e94740366fdad81a02911cd40e1a590a587dbdc31d15196698b8f1d658262a5d88752a0c102208f4c24c0e61a66561175cb71b3dafcb599ac327ecdb72bfc4794568e3ca5696e1d0b64039caaf2d2808d9f528d9740243d781359f9b4b9b68244a381ea74023f8b5c7eb770ef189b1c2638fa1234ecf74037ad0f6f03d62bcaf10df7755846d8d1ff31223d20b0543f39092e40d5aac96e3c5f58",
+          "padding" : "3051300d06096086480165030402030500044143f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "313233343030",
+          "sig" : "7216b71f801c5c4976a9db1cdba4262f4158e424644b9c9f9dadfb3de7648175ed1b4f57f2ffa25f6b5977153d059366e80bb07619ec5d9ba865cdb004bffee65b066fc285a4829891d17e502337991baac032138d85c6f0b3398e3029343010fb7ddfa6d9e444022cd4992918a55e5df7bf0604120d9adf25b30eba21725105077cbb6b142e00ae97f03a7ea943f6107e4e7ac8c639fce407f3a335cae69a960dd423a511802e8d1fb25f7e736a49d8ebfc4cdccdee4168726eba22246f9f21ce0483e6f07499d6375158a7761ffefe81948b59d47f0e9a45a8bf104b19536535d5b315fa325341c4c199b3dceed592b3b06d10f5b8223644e7e85287038f71cff7302ef5ea1cac02511e47aadff53010e8bf433ac804df5f0c80f71e580f1cfba783ba758b8fd1f62a6278eac81a798ccde4b15e3ce1909ddea724ce9ccc674320e3e023fa0c35bb5a705bf17875ba623e4c30feef0e6ffdd34f4c303e042d551f5a83ff18120f9f44c104cf8a604fa9cd0e300daec6298581cf6426b9f89f4b7fbeb7de681c638a2873c27e73528362c32332b9cf7bb03560f30558d1fa0c3b1ad8b3478911ae41bf1c939b59852570529eee9f7615109f1ca228a5ec78258e57276bfba2ff77f6ea715c2bd0113bf28e7bbc152dec211d14ccd8fb30e72149bd8c097ea8b6dd82d49481dc8794b120164ee0d9cbf9a2778216abaecbf4fa",
+          "padding" : "3051300d06096086480165030402030500043f43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "3fe3db1dfbb41a675e4768562c60dc2c2ed3c43022b54f4c9fa8e99de6a93ce650984c6c27b7bc5524c0b032c9115fae2cd23ac7b03e496c6f4785e7045b24d226b2ac535b7eb605cf8b56906ab95ab0e2e6cb3e2b3df71b714c66685a2433244ed153a8f526bad60a530c97ea9a238fca6fc5aac295a257b32fa6fdc68f9216d8118907f282df1fb2085644cd8c51d1be9f6dfa9f3eaaa57acc75d1bd29c3a59f167215c90603e790c5658b2d7887254ff80630122ab5578083556351edf1cffb7e42775a5ef79b2ff6cad7a1b8f32a7704bdaad7d63844b7cb7a295155fd8643044c3a83f867d427511e352079f578f00fa55575445e4af5c6e42500d0e4ffeb718e13076d9531195bcc36333960060830496256702c20df4759c74cba389ad73001f166a3b6c2d9e69d2b3bf86a5f929c79d17483164d76cb43f8723cda7648cd37e5d9d3aaa5cf9d077a6f3a1135e3e62feac9d0a0d8c15d6cade7ed6d2b568f89f74d6892d645c89bbf1429cce33e525c4d151a0a4e9192fb6737f151d5b460c4915ba57e3fec3b537aed97ca425f58a81beb3144b5898e27905ae56539c97b9994cffdb9e4bd91a600dd02c2ab3c9d8c668ee077a2f1f58c8ab7d0db0333190c59d37ad615dc3029faed93f31a4334a1ea29bf7b53f3d9415b8b760891a4a649a92781eb0568d5442b65e574193f040af56e5d33d2e6a47da09b7bb8c2",
+          "padding" : "30850100000051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "34e1788aadfc237f7896f530426725bf06a553fad96003cf7f6dc90dc6ecf745ea1c6ed5facf0fed6a0b88f9eaea6895b6bdd4a6e79f114a75a01be620eb5eb782431bb58feef95956cfea2b5fbfcbca452f65ea049663639e996e35ef37c27987015ed3af600598543f1faef183199ceaecf01ef86b026e974721a94a549aff6545f42197df772729797f4b6c6dc7f500106a793993216d5a356104a72c880f8e55343bc4593f13f988834c03c45101a4c1b27ef8ade0b56c4df4592654c32289a706d7afd7095e7f8a7846d2607d12a409c67fff8a3997e4d6963abb979d51dba6c5be5e58b105738744acbffb6ebf7428ae4599318948767b40c831ea810f5d11cd3de09a066093205e852ebc663b0b970497c64081d1ac6a418289f7ac2eb755cad07390c553bdd82ff5dacd2937bedec7d84f820e054a3ec16ba447a8c25325c0f1cf1b8df93443c56947f5c9c8ba2eed73d379583fd6c57ecf4f70e1b899cdbff6c6d80834e8e88440cc8bb2596cb26df266544326c5a15b4e6fcd6f3296994ff3887898d95a0d32f92d179c3d1dedac8e2eab8e097770a0b35e886c2fe65fbf9766e397b746a2819d1e1d4f8eec4f7354e504310241bf6becf0b84d21a2b41ac6fa5ada51cde86b8151c409d642bde0307fc732de16476995628f79bf02295929e220e2a16dc17c6b271be629cbdd43823e0ac5a25c4596400b0b2f2a",
+          "padding" : "30563085010000000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "40a14c4df726ed0f62b294f62573994e821d855a28d990fe600b7efad50219b2b2fa584ac37aacaf50428a36194ae2674ca2d6775290eda47cd40bc7b15a43f1f14293ede4f90c29c3a5bdd4081328d03d19511663d1e83dae82a791fda6a97d70ce80a977e4cf6b68ec832c24e4cfab0b0bcc9730d95395630bf4ae205c54cd45a1b818c83b6f9e457644671370753036920d62c2d6f64ded5f8249c79badb8bd6c2a1664069979ec38a739a92fd81114abf1a143a51af4a8895912e83b5c08a5206931feaed126374e870bf73e36203c9ed70028bcfb8965f2fdd115538d3cd603e2b172555c11347ab15caf65cc535bc09429fd0e5ff2ee9ddea121b18caf4d6436c24c56c4d97de567d4dee96daeadd310c808358cb1fbbf7bacd2b87eadd063e9bd10d6969b9cfcbbb7287162eb2a5fc904d53408b64cfd346a507f39ba6d8bab3dc01a12ebd753a7113fe3bce02ddbb47e2d4ded5e342758cb9e9113f0f287da337594fa3da4ec03b167b606f1f5cb42aa205f275e5187d166d8769d0d210f88fd956580ffae30c6fc637bbf16204146309569fda24fd38ef7a7ca5bd0f74ca8197d2bb9b2ef82f58d5e541a54190d1198a1a3d88a4e0331f1900f8edf2d31d6d8c74f0662ad92ec598a7fa27ff41de4951fdc4c353cb90caee871e725bda215068e41ed1df37f6287157deaab3f6e30c68cdb71e3257165cdd4c1489b",
+          "padding" : "30563012068501000000096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "2446322c0bcfed72abd95c57f8e7d815ada2a5a1d15f98c567f568cd033c0aec84af602fe7376a885166f611d4139dd9f78bb581b3f1ec373c474947c7751e67acd90c7c66bdb233811da04d5ddf9dbed9c6b560f144f6ced47c810142325103bbda47fcb5659688ae56e678c117f33fe01ec8b01de1faf0ff40a27c57f851e4ef399d8108c229471205a5d3a08a41069af72764842314887d3c141d1899926bdb6d825a0616a0d635c4ecabc4324c0f56418e7db0de1a7f94a9861ce9148f9da47e034157b522d60bec3387a659bba7d14a63d31fba5865d7a7b061d75f87be4bc830617c84445d7eefa53c5c4f77a730f7e06335b3fa4f5ae201834caa5bb73a14916dc4e6c577a0357039c8fcee155ac51f47b0c19ca692b73ec194d7db0134065e59bf784ddedb87233859e639fb675ea80ea4458b7f783b6c2de5bad3313844b4a7cbde66521597cf964e48ecd8f9ce97fe7e40dd2f3247192a382694f3d0ba5dc95d64028f8c0a11afa8708651cbf9d80438a0426424182f9b19f064ae7294d54baabe358255e258ea129cc81133032b73398942430657b796655a6d4a21e284425fca023f7d8609f80ff564e34d4919c1168b48322a32c6f3808eb977c7e696fe7f0709e5e1001ceb17233b5452fcf1f4b5939b4f0302ca90897073170f0a6efc3a5379905af1a813b384f3c850a69d700f0375fabc0e43680d847e53",
+          "padding" : "30563012060960864801650304020305850100000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "c11a64adfcc6711c6b80549a729c311ecf30d66ca2c7d31eaa2e7f7e867b3c3b5101146f4161aa11f6e44756215ec09859602051c7cf6238dc49cf3afcfea22683c4cef0cdddab1ee87365d9999445c083c5fa28234597bdb19b90789a84393c72aef4b7767694b3e0c09e62b4a2a864525e43e858e1e9a1424d7ea29a44f24038bfa2cac74501156e3fdb7d7956cae230f5d3efe726d817988351e893b3727643a3a78a484d91103a5c50fb80efdb8fd5852e9d63019c8d80a1ecfa043783c918d45e356c552b0957ac92841f3acaf38e725fd2cff798e941ca9a63d53c94a578c9e936140c2c0ea7f261c8cfe6376fd20bc3171b30fb386d9cad48a24fbf17896781d0c56d7635d9e61348673defc7ff1ddcd2530dd3b7d6a8b09c0c94a44ae450652b0954671ee78c93a0c5213b0e97dcef53b738fee913215684e4858a6f3bd6533591ac8988b91f1b60dcda60f17ed3f0de1388656589ddd78c5d61e40ab2280e7c4ccf83a0a6c0c0845b3036d55b48be0100f0945a86a3bd539f4d2421cd93a722eea084a839f70b21790a503a5c5c5ee89dddaec3fbe4f35ceb6fde832f281b8e2eba35d9dcdb0fddab11a7c6fc6c365cbc0eb59607e3dcb37ee8e15cf473f5118ba8727ebd705613a7a2ce2df80f21af23522c585d499a2503f11614a0fb7f2949f8e7882cac49e0fa077b6d5435c9a49e3f0714dd118709f95a27e5",
+          "padding" : "3056300d060960864801650304020305000485010000004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "a79151876e4e870920cd837bdf756398cf9929bc47dd5d082916cb622c05b52f2d02406960c2eccbd387b722303d5de1edb4f0a2ec2ac82fe2842dc6b321bb1ac772270997594460bb14d9ac27c3fa7c17ffc987035a30784e0817b4a90fdbcbecddfcbdda814b2296b2fa976199c2cfe8e2567a56b100aeadc571b8172f05eabfe8e10b302fb3dca6079c387914430e64f32c5267dd41782fda4e134e691eb4455656f740048640e3bb1226d47f04c973236a2c0a864cb1bf0dd354f47df45486c60ee8fd931328d8298aa77dc561c394dc337b418d4c41040fc3f15fe72d3b6ef9d3c582c939b6a33692b8032ef32e025683b015c276161e526c19c3e4223e71460918c03c31496e8eae68fa97850b051208e2a989a8e53beff882484992fe9b5c47a4f72849aa8d7896adf4592736e31940c714f8198101d123b72c2715a18e8d58d2c3d7d0d3a36c303f62ffa1abb5f8ca057aa5c4030af66b931fc6bf80389d84dfc1af44dd69e73bfe22f76ae6c0da7f936f06f652a9432697a94bdc2f869f8ce2338cc938cbc2c7809a4000666002bc351ffbce64a860d7e00bfb1083c47a2cde7ba67ba5829769b0bd63d0f2277f000faec93e225234e3cdf1a3c41c8a327f67d41eacea3a7ba3dac55072429f47226d95c235857739027b85a9462e7a9906d8908e5c7f25f0efe596ee4c05a22b611a33580054686f6dc17e930a41",
+          "padding" : "3089010000000000000051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "18318a9ed077357126cea3c22f6dddd974374e2615a3b964804e3169121d24d7b3ad9aee6a697e6de7e85c76e40a0c4cec8c00b679530706408ca48ec12eec40291480e42638bd948fd55c0540eacdca1bb95dbd596455d48782a291ec35c2dbad742b46f84ac5a4bf6cc2ee23a8ca421477292a64598089a96739f905581f77d1ffac1288ebdc9daa41cdcafb517ab8b44d22799706903d9ef4d9e43756a7e0b146fee94fd6a899ebb6f46039c52c95ee5fbe3aaaca76f604f013749baa2d25127df4f358f0f8b8a0b90706925ff62deb6c30fd871bda0e40121f59ae0a683062dcf3afd85af83ee06a059f3c74c62c13e250f9ac7fbee4efd083d897db98b2f69a3241d10331c00eebf1c6bddcde26b45407f925fbb499bb52be2659cf2b6df5921f96f5d6d97a1ff80b4360135cd5e0660f08c3f4391d84cbadb483415a3e60730ebe52936a66edb549430de1549941d9442f0cb465081328a80bac3b4b68ed504e41af0ee6b2ceb087db8e6e497ddda5b0692b1d527b3ab9f5906098e62bbcbf39cf897b06df78c059b766f2fb17ff0434af9aa3d9a3b3b9ce8c0a2bcce33fc8ffd0bf06e4209050ebd175e292d2e9e4a36c702d6e7712d951cbbc516c2421b65b1cd9359629b7f772e410f1cab7a2c675d7c7e5082b09f9ed92f1d417523281a61d37d19b0f1e77d58a6956148ac20b5dbe28d8afec6ecc4e789ac08c52",
+          "padding" : "305a308901000000000000000d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "80c01d6f05ac1f8cea15e6adb85916192c365af6860d9760082ee6c15bfe56139b7bbe81865e9bccd775c0e805df4d82449dac42b29dcb7d404d5cb0532842572677fdfc834cd5fcdb0eb4be798a50d583b8d4ba730712e3f2d7c18c430aa7622b8239851441021fb08a9f98d51213ce81d0fb8e07ef990090610be6bd930367d76cd06835fb32cdff607d27f55a84b8ad7b8cdbab417cbc3072adaac5694c55a2e63a59a67585b925a56a4d9f47f0e9012935979ac75af96f7a40306363fe3bfdb428e9998adb3f2695e68cde1310212439abfcb5f78b56c5bd3db7b48caf897537d29c9433221359d080af9f8139d946d87ad5561741508f4ef400da92cebac640572c62ebd1d047a0f575fea856eefa057fac1fa3fc641dc8c1db63aa9074afec472feaf0082497cb37fe86fd84303b501f3e0346148635caa1ae2dc76f9fd7fc606529d5ffdc7a74d0ad667386aba017d510b11ee624adbc397e01b24ac8511bb1f3d1f74953a28114b5f26f0bd175f13949bdacaf9e69afc712f711d51c54c04db4da3c598c055ed786381c449265433719c26ebe442880f0797a254b165d0142527aef085a025b53c422e5ed4c4f8ad66455360e1344070c9ed3276979bcd210db43598033e60bfa302a02f77c30bb18487482d2c9b26447527d6cec876139379cc6b2a5df9f3ed91ddfd19a9ee6952ad4ffdece266203bb77a136a6de",
+          "padding" : "305a301606890100000000000000096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "7531710ce5187fb75a63038aeca4e24e4c64b6746320b231ecd1073fe8c8d002a2f8fa7debecb3a7a156cc9485dbb452d0c39922e6ec9fe0ddba0f068d8a3615a459c8c2787e5224034094ec18a744508590723523492be0c307f0a241549f5c12c8bf9ef2561c402fb2c4b1989c351c9746133e75bb3b0edefbd81d334c46dc9c18208f2ea55614edac9f01ffe02688e3f5831de580ae2e02b70e3925ae2f791af72e992abd82c5c79122d81e32db603b2ab19e484e5ba13e1c319cb14ad23e746e90fb2091165822a88289c45095d9f823196d9c62c4d0222c53aeb192b5f69aaff7997d88e76c923942e1ad889e80ae7aaf33a225acf23e14c41b649df7c94ceba04bb9eb53f19220835c998cc9c55be022f4037a027c0e25ed2ead758d8a305c35fc3e94f2c410a1e7d49d75e0c34cd01c7924cfe4f7dd76d44c22ff53e3f8433f8c18486c99ba7e25afe3dd2eb2484bf01af23c24e61d92cc0a31d1f3a60952020269e640e9b22788df23c28e8132fba1655bae5df03da2cbfa87a416d2dec19ec427a733f3284cf9aebe2b915113e0976caf6110577687e73d0882d6d6653844a22b82ccae942dfda37c669eb81aff068b724d2f21c7b0b1b44a6ffe1b7dcf0272b1fc3555956a5dd97f2ee460e500d011067cb2fa8f2b43e15f66ad48e63c1a26f00516f9914c05b45d0daa854ac7f5a3be7829f6cbceae7fbd558cfa",
+          "padding" : "305a301606096086480165030402030589010000000000000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "313233343030",
+          "sig" : "197247a515fb4a12e874a4d4c9be95cee53782ef475577df61e0e70e3c3bcd5bd4e9867c0e5c9ee5decdedc53603f5aaa5b783d756279f4f74cdeb36a93aa51bf6ae3db9d1647ee62f6a079286391c0f691d2aedc1378e83de154572db611b61b8f06a84e93b94a868b7e6f2d1346acfe7e154986e49afe19f906b69f3e8f420b57774deb244d26b515e88fc133eee717786da42a166de47d7ba2736bda6227ec63d089a37064130d95e1605c848407b38ae9d35850a3b4988a22b867078a01fa038281c5f7a5abd947a9ed12a2121a74e3da6b2b50a7d8c24009fecdd7018335a1de8d86677a2a2ce9c57241b4805310608fe7a5e7ed9d29d46f99f63f89f1c4a5012f41ca1696383d9b2b4d19bf92b7d0302639797b4dc5576a059278badf1da475fc4731bea6d6277117d03f4939ed50f989095286d5dfc484e535f7929cf0191c5e006f8876527169a49f3ccfb8b9b21a9fa48a371da5960ff7b399ac3cf89a1cc0dd0315b23207ebfff886cf03422a01405dd8c7098ca926f65db7bdc8f32ad9146ac2cd81f743568207ddd52b04420a6fdb861938790234b3ae923e2f483bc6905ddc5a084e6265b39a443178aba79079e33e7d18315a86a0ac42d6ec513e3a88c0619e09cb25195aea856355bb3df00820a856e1730a61196bae28b89fc1914cda5ce0f97447c5817798516b48c0dd437953ae7ca17a1c84502b31198",
+          "padding" : "305a300d06096086480165030402030500048901000000000000004043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "15948a4c114544bcb6ede3a68bf71cc062eb718dd9ba2818136084e79852026a4241918ed4ff81739356e960493f83da7cb4ea536c2a77ca574b94b44cc9fcfe3a35d442a2d43e91fb74c426e94d9b5381ae2853a1f1f06f9c9fb23ce3974d7184b3a3981e0e30a88f8614c305fb6d98b6af1175f39457c02a8c61364238382cb5a4cd861b9a406526c0308fded92dde543e1b26ca3fa2ecc6ddb6a5641760ec774b6f43c40880d57c504ceac48d550288617012f54d803b21aabaeccd041f6eae3beede1ee7146e91ca544721ad3de98e7118e1787f8b3fbce518b2c238f9ab8c10c1c1f391388759015c25365ea57fe6cf01188cd262ab3795b9f00aea6b333a64e505afc9fab75fb7df290668a5d60b5c2d3c18228b9ffbc5a56ee04edb24cbfd4a0a1ba42928342c25b9415e37f564672e7c83ba1824066c21ff578a081381b62f7fc8d2776fd6bdaa7cc68bb6e9ccccce8296334ee42dc33cfb6f2e56e01c9df06fd5dc43e868eed33635a291cc509c707638cd2f09cc595561d3007ff0bb49cdf9fc7c2d61d464878cb0abce6afea05f2806e65c7914ef33f8bbda8a2e7766750b79d60c00803dfa636339093f72ee4fd062508cfddaac7a1e3e0c1a0601000e69eb09ca3445893109adb13312b9e4f604d85aee88378993420f6d88da3763dac4844d01ad76c9030a60178444652d3e0f0c1fbe43ec2d558e0871f640",
+          "padding" : "30847fffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "bd94dbe35a23ac704c874dff24aab7514d82b17cb8eaa8a3654539d2a658307b4a4457259d985db4601beedd8e48036efb05a7f7131f18380a21117fe644c6363de327b73f424f45a98022315a02cd61988e359f1728984bd06545f04bdceae8bf8bda39cd67331ba88a88e9f24e6924e51deb29db461fe9c3bc6ad0d3d3093c2fb873ef9749b93fcad251f20d851e111f61c835c99b259130f4d08669d636506d1049081e4ebba38cf616628929c6c16bf0a5714eb91270aa3e28b9884de986075e308d84ddcdd4f44d47ee9cdcc95bf77ca9d2a862c5866d57b14b0a4e4adba7a520f0257340ce255abc2237810e5005e2194bbbb116f6c4d078f4fb2240f4daa732d5bc22347d897e517beccdda073b35ca8aa6f822a5a6b4acd20cebc2eb34b97e6c298e4264634017fda05db8efb65bf7cdf11ecd774124834f9edf6291a885e456f075b681e892ce86397e95b3a7c39edd39b8424b42f1d40210840d5768b39dbbb96ef0e5debf2c4bb8ad0c9a6e4b23799d5aee4115ee6a393a362d790c6b18eac3c32e37a0aa33b37cf986aa1c23f0ad49f44c303cfe304d799cd7448517d4ddc6b4605ce92ec5e15d76fcd2a50ba005e52925218dcfb22bca9cd988c3c703fd1f5de578d2d3b003a8c5b42506ac72ff19c553aac8e73183dbddecb88b75c78b2b56cd86b5de592b88279bd4608b38124bcbbca35fcdce44f8743e26",
+          "padding" : "305530847fffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "b260371786cab481593ce95cd03a0ae66ed3a9b9e15f0a5a928a94a44f26e0c965c0035901ca12d09b5acfcd95ae770c7598f49e9f67eb7cf5d62722242cb0da595e2b5ac350140dac4eb36df1fdcf2298365527f876e1f798396b141f083b5de06f4a37741da6d8a6b227a8ffa1437d9afb73bc5eac196d846e3d7b209e61ef8122809fd21571e22876c8229e3a6ba49501784199ad8836838d2c28b90f86c570e25edc8aa8ebdc2bc2c08e8b24a0fa61b57fcfaf9427e6899b8fd10f2c263e3d2eb6981537bf461c3bc0f13748b937fe6ca7dad710c1706fbea0df183efb1efaa5ea2a73a61be57acea6dc6480db146a0798c2d50a310bf538da086305efdcde7735da2bd5e4efe5f1546602abbb378b1e8cca85507e6af865914b07f271305cacab66ebbcdaa4f9a21c66bae144b97e80aef5b75150613d46a2da399f3a51d4abe8d5959f96819820594ac4b8e37672552f58e3339b259cbefb000ab82c3c00839c265c032bacd25fd5c0c7816e65539eb4598d669834e2771f0fc416c4527e0c904e96ba50dd6786f6296b4d0de93ddfee864f8f8cd1a38c82ff4f46494aed49bf928721945b5e7c881549dd31b603391f1eab6d67ed5065d19d78159766a807fe05083d13986949b5fa004bae48252878c98aeddb884b079dc55b3771a67e294bc3aed666d25dfc865c7302bb012ffca4f146abeabc1eb1268d88a6faa2",
+          "padding" : "3055301106847fffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "6e737db7a2273a789f038e94bace3aedcf7ef5e889b6859e1cc75a4a8854773368f32a500e9bfabf732548a3b3f4feaf62d0c20a0b5f4f7731f2dfec63dd1561fccccf0d9c91af47eb064c15e7883a41c9b49cbff3ee59f612a1b639617be841ac2e0fbfc5ea482a4ed9a245f8ac8a0a2e624ab1a4482eeea3e5f1e13f120c23829ee33ae2b6e2d5b90dec3b6f68eac069ac50634ce52b7f4f8653f48e3e92d3874172eb7d721d57d782475e8915b44476415260bd69eed4f15c2d99e2cdcfc2b1ef5d9cef4b105d00efbadfabf26392b1bf7b4f0634ba970a87eab426025d71191ac78e28abacded9d2fb99cfdd3d2dbebd6807da96c540e704b1396188c0778c022b9d0ce92dd9f70bd2c96eab2b47dfcbaa2f2a6546764fafd16ade9dd9c6ac65fbbccb7906138ad28beeb4ad74d87d1e477ef60763eb312954f8c1b3eacf0353f39b0cfe7da589d672a7403fa5ecd0c83ccf8879087639cf704edb09459abad3322b0b6d5c01138f4b19adefe1a02ab86f49cd964ff463e839f2334a39b44bb3661e80a55cd15343adae57e0e8f958ce50ee1693b40c4a61c48e119d05da98016dc6f29d85940a64d7a5b605f51313a586fc1ef9930073ad616011ad6662ef43c85c99857ed8a5fd0f6f7df8b180fb1c07a41374ca7c0fbb8334159243f630b63e76f068da81c6ce07c8b9f6fa543e1047418c126451f528e5ce8f495039",
+          "padding" : "30553011060960864801650304020305847fffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "313233343030",
+          "sig" : "568e9fe5954b9d77643aff10e698d24ca734bb988a6591bcbd38659638e58e8ba7d5b03a9114c9dc8cd4c91613a5e90e21a83ecdb08844a6b42639e1c4a2929754eef740b7dd21626d2a3d0f93d1a78e6402361ea406652d98db84e235858c6c35aa4ae83133fdd08807fba77825668c0f6e36af5adbb5422db4b5bde2c9669fd6973e56dc12866d48e132be7393a95aee49613df83a042c6ec389d51fdf2e38ac4f9e816eb3fa5467f50d5939481ede71c94577095d2f94fa1f09fcb2529e86ee0e9548b455eeb7d435b14764fd9936b0b000b6157cdfb1940ebcc4f4ab2470913fa9af408042f4cd09a6e32bea3301a1ab093ea930413c230dcc72360391b95e9819e4e245529b0a1e75511cab8f2d4d3c10c37f2bd1c2548ca688f3db84c274d66ef934d6ae55a48ea68e8b9b37214cfda51036a526f33744bf2ba5a63b7d8be0a4e6f503949d38bcef9dfb8137984ad9c87c44e7e79c00a0a82d00c5757823d2c49f4ac73f05589a9ac3f97bddafa208a5e07171f9b2e5dbb692bec4aa4c7122a72084346ea665b87da227e31d8773f49e086c6ba1d2cfeadfb356419b3c695a3634693f2eb023eba301d6218685993c201eda426a377310f853afe4f5eb0171d772089c63faef2e7341145408d7a32ce5cf2d1212408446c8e04bb5a2ff58badae4019a56a99d64c95daff600d8ece037f98d7c763f9b699136106feab5",
+          "padding" : "3055300d0609608648016503040203050004847fffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "5fed965c75ed7cb7051779c004ea0cac049734ad8579394d660565337bc0f248057b24f89a7e52d3bae2a3defa4a4c8359c074cfe96bb29c63d7f183c2d5959cd7a5f5728611fed9d511ad078b7fd6c6661aa269fced9216bd094664602f537c77871d8cba65f149c600007d5e57804d2540d4a5b0fb109c1811fc86775a19f716174c5331e693ad53bb893a950afa1b5821c97dd70f7a2ced3cc2e9b1b5f40a7dec2d44b17c8df9f9f2d956d5bed00c2718e7d3b724af758ee6e1577a2f4bae9c4d47053418b49c4fdf3f94e5835774a432598e456e1e9a474d9c39434d741450b02143d365bc28699cb470cef886e5a92a60c66b1a11934127aab6b36e93c7635fa42d8ec014ee26e679ea7e3470e7836f3948bfee3505e0434504884508ba66aaa79b32be94e2545881f47da2132bfa380aaf5380b7d45e76893b628deaee0336cadf927e64c3acddaedc182b92280bbb505ef6e70eb53717feb00c9c29b035f2e4e1431409ff809678188b400d70227c540fbce9b17eb5532645e762a26e00d532fc326f589a831f5fae74addc916942cc1e5025f55b8500fe55f44199a625514e017551ee8b4ab0cedea5fd1c7f6f66bb03f031ddcb572a4178f3feedd1174d91fa2a43b82972a14cf5a207c021595176bad8b6fa4b76544d42457410a140dc871ceb0617b36b9ba8cf4ad10111f5206279dafc6685bd7f56c6b19b1a77",
+          "padding" : "3084ffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "b14d10f659dd8ee3065e57bca4e4c0ea28531de697385355944e72a7e877ecef2760764e1451d88276b6223f5a973d3b706443ae1645b0ecdb019063d176589aeacb7886893bb0ac1289a5e99496892e5010fc5e3625de66c3f0c3394e9485a405e6b2b448a3c07ecf6d27e784c5b271bba20af97e86fe909d84e4b9ebc8e80ddf8f4f55df28aac9d332dcdf547849167767ca496883bb6c546447753e7f35aa0f9daa9a4a293ad172b8b5c383189478301574d8d2f0033a982013bf39d8f041c510df0fab7dbca86d092409af5c75d43b39a83e52962c576e891b00fe1bf9a26dfc75299e61aedf4ee27b35d024e6d5f00f9ee58a5aae97b65b98a900b489800c59a94ad91b2e99a5dda868c46be99154b874e85621f683543f70c5433c06e76b0921abcb5431e1e7094e4fa4c9bfcfdc6a29eba44a28fbe44c082d510dee9db21b002521754b47f072fd9e074025a2cb928abadefc045a925926cf53cb9702c059ed8cc48e37f5a4a639cb7aa1152e6099e183a63baab5252129897f92e388d819a1067c3c870e3630ba599f2445b92c04830b24c3067cb8ec39eba5a06de0cb9da04f1914d817b5fd56d2ff1e2e37aa588272a665afb3474a0709293412bfb6a94c185d8bd66a7de0720e9a66ea8f6652cbe172c0f3af0b48c6d349c73f654477460acc5cd10d757cbba8a8d9bf7bf8627ce7f76a99b9223fd5de3f59f3e3",
+          "padding" : "30553084ffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "84b69d46718915c6e9fb582d7209f64d7d05927985b47f60903584f73d1652d571ec61243051dafa5d440d9ba7ee59813c5ed847386952769b0c0ebb9633b302597a3eef713499129440a20e9f4c33d982261d68b87c5fec638475c41982e84229b6ce7e4d2fc957e66084dfe57702d94a7e8f31599c49e1baf6bcff00cf1a422e833c29233a71db631f125b1efd05c472d78f1244a2bdb1707d6c9f9b4fc7022b47a9a6de1530966e49a67e0b6346afb05bbf77e3fc415a696509b7ee4ca8e7b0a9b8cf7325f7f5d4cc37ebcdfa009d33d285e4064a554f0bf8010528db507d9dd12172236e02616a4e8693f064cc08e733eb1b975956d1db53b4d267fd0567e5a913f083df1dc3053e2377f0f2e063b69c4a741b51a2cc430a2539c13e831a7f35ce971587b08bd90ac0c3d801e22ece2a673ba1e224d4bed142f8a6fbdb6bc2a573bbd0674a05958868d994cc9c91165bddb67d6f2008a6b78896a77bbda1d14ca1f9c49dd34ae43f1e85585396b56223c2535b49df276e7e25bd6d75f137c9f3bc6411690c0dcf9b9d0882996df8ba5a36a5178e0975e8eea0007ca4b54bb7f6914172370226033f9780614236c21aa2864306da344876fce8f24a055caf66809648b608107ab0ce1881398ee5b14c2cdc6f49521317b9cb68fc877b3b52b4909be1d599a835903832bd243fd0dab75b43a02eabf7c7c61efdf59a2ce2ec",
+          "padding" : "305530110684ffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "9fb8c68e27ac09ce37068c09d56d3a4c354d5710945253078aa47f31c1e709cd2dd6d53be85eb45535c2aa0ce139d0dcecb093749193bb55d08d8af62f142db9a07dd178022b303ed05d49eb61e1094798f33ecdac79ae6f5726306dec7f652c58be5fb196c2b9479f0806b19adea15448d359987e9377f3706290e1e75237657310555d5cdbbbcef83dcfc90cafb1c98aaffd0c277c6b73c6e0023ec66136e60a6be3375e1140d87ebcbc11a753aaa679b8e4b2ab8d686d4954b0b85365f070a35d600f18b34151460227ee3b49d2770e07bedcff1cb69ccfddfbdc6541f3273990b6f3c708c0eb40863fbb691cf5cf8e19b87746270cf7cb827cb64984cc3be7b9357c66b00d8a90063d2af51c34bc3da3857f07eef270989fca58b09435d4b15335722fb5b214965494edd8a9dd0ac0abe5523ec62367d8c119a5ed637a97a507286705d06520e7df4077de24dce5e087bff576eae20f9bcc4b651a8630eb025edc7ea28ad2df19305658e20db4abbeb18b38aceab9c611da6ccf127429ca4d0c448aff54342431b3d99fc69010945cefefb905a4dc63def5c2adabf71bc9f02691b35bf9367408f4408c315ca0f8a0f28466f8b5a7b069ed76cf9180c0125e56df8b515cf590c1bd6d61f443fcbe584e0695b68c9b097c21e12c1d06f1ad0177252822474bbbb2c29b6f4810e749f71b18b306812525c42e727f92f1b949",
+          "padding" : "3055301106096086480165030402030584ffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "313233343030",
+          "sig" : "9d5698c424b9c2d5980a5913afc9fa988a5115e0e689b9684ac6a1f894749561467804d11fda1fd2e6fb7b983727f42229be82938ecba0e9c446bcae9f213d722baef08fe2386e490712104d795fe939ee7cefa78bdac9e63d23bc9a27f5a93f3577517b7607b432cd0b045babaf241c9fb6f2bc4abb0f710b7b707aee58249837fac16d3a0b8745713611082d50327daad96b57e8f9b256e72e0a32c11e439abaa21d1693de7e03016bfce396b3591d27d069616a8e0bdc340df8340048b0073a4b24dffc83f0d662a58ecf549b1821cf71f4acac30c1566c95f14f02f7dc3e7ab75f91827284c5417b47e3a513bfba2a8a34e15c253c5c4ecd87a4d470cffd49cccb44f1b94e0e43738e526e2fbde7a75d7984d317d2f7d0e3dff24d5c0edda477ce1ecde8e1ba73b84575fbf77d9dbe50112b9e130581f8587dc7a2dead3e2e52cd9ae558bb74243aea20fbec26c9323e45b30dd9cc6c68f1d0febd890920d89aa0fa1eab29b8658c7331d65790da9e12c4a92945ee54b38cb9b12795d74b5cb9bce70633b007a6051516d48018d0157a946a1b8297d5417d8fd54084ac611bac2ef2df20600c3bd1b6056d2a29c9d4369890958ba030eb25cfd33ea00455c682bd2c36bfd24b02a8862060feb3da9f437ced7faff2afbe5a157fa0ade435e94116fa17f67424faf3d01c22763f95c9486e03ca0c46527769393d47ba2daa",
+          "padding" : "3055300d060960864801650304020305000484ffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "183f3c9853c987fe83123605574c6317a7b6779047cba4e661a0b8b48a8d8b94a1a1fa9f3fd2b6c2d7d133d778d34bc2d9234c122e81019756f8ce88fb07a4ae0af3b532facfed257532e6f148b85111a5b8a005000e63f44e31113748ca045db35b85af307d5c5b6928c88395801d2983c198952985811ea64258ef4087c604b71570a54f9881c2c7139323d682e6e4c137cf391d9b91b1dd5370ae0d0cdbb24a8c0c376d6528381d1a63599e46e145ddf81ad18086ea2146969f16b21075cd89fb18f695ec6461e4d572be485838aca6d0e76ab0ea3c33484defa48522fe5069d2040260f55cb7ad9750a4ba94375b660ac25a7d71443ff8d3ef54d58e2a05709e3b679dbd4b9104763d386edaf807996ab84fe8006b33313c16958885f2fc22aefdbb28c34d6835225f03a7b18324a99a2175b83f198547e210d56b68a1d85315779df7957bf19c62aec044236a4bbe63a7d8e982b4572b386d3c85b18357f44d807ac218a8b8f75697db20800650a543f57a151c23288d0f5c9df00b780857f43596da4cbadd531f47017476cbedcc551fb1beb70f9f922d72a3cae9a467cd02258cf4cfb673c0cdcae118ae56c2d3b3892f1cdcf5087fa421588c09c9031056d297ba9e0bf443072fca124e53023e1d8db5b60d7aeba0bb1958002a72f54cbcefb740340c8f4fefb82b4e5dd57d6ac7bcf85f9f9d57ca4c1a60bfac4b25",
+          "padding" : "3085ffffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "bdeb05d5e66c9bf5f9771a973872e05adb613d2bcbb6748193a8d21105cfeb4e8ab5242e9f2a1bb2bc2e48ecd8669ee7d66f1a1a93ca824b1daf21b52b416bbba48c667facc86a10d0d54c9c08f2bb002b22499b5537351f5490b397bbf0533a34b3b7d058a50dafa7765b1ccd5afb89e4b354d538b89f42a5b5fb5eef7b4e5d8ca9ae40d46fb3c83e36fdae9dd08d282f1ecf5664d319f07f430ace3e321d215af9ac8cbec02275f7b26d89505e3a0d2668c8c06f30d57cbc09733d45bec55f2e877cfef31db7782b5de2f1d8d2a7f03b1f3e6c5fd517dab5c0145a8e36578a86eea7ecf9f3dfd6081042023f3025d6124ee9b2ac7b40a6dec3b5c2d29d46d834d2c47b9837d377c0a2e965ac248a84dddc9fcfd11ad448788b2b9a2aac2eb8cb25932eaf1d7c36529c6f6892980b4cef6759dcdfcfdc2aab28b10df46f39a1724824918669f0df2a9e7af87c3ef0602a56d09bad330f1cbf71b146fbdd3a5e45f16b701744e28c8821adc2397171554e0c6713355155065591e0b6fed94c17ecd47a9beba3da0c7a6d17bd5145f0fb438cc4fb4b53b08b16d239bf839b33a321fb030df77c7534c0cc0664cc0f485fb54745111891e92ea2bc1c3596bcbc3ad40034d6e511b7e9a3a7eba426bfde56926d05af2f98ba15cc3ddc26686d5ed5a3611ddd0ee774094111bfab88dbf5ad99c1b3f6edba85285e7478465d351755",
+          "padding" : "30563085ffffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "7755314b6e33091c4217c503165e7465cf272fa856ade2cd36ff9a5db7b8e846f15a39418ab5e681d038fbe89ab6c7f7dc8ff7bc57040844b0ca6905a9019e592ac6a523b0edda7d3f11e224da2535338e371b05f736b7593c37ff156f73003b1ff335271649beccd87c02d5308b339ffd5b909b005274a2a09c8a0ac425e7d51599158407fe05de1d41e11008143dfca497f70c0e283faf9554025fc0ecdb1ff83b1cfafcb6ca8f0cc6e97e3a3a7b62b00d61cc4c1401dfeae2408622e19d5c06e69fe7fc1feb4570d58a7049de874751309af9ee0fc7ca3b50fa6493d03368405db1d483b61486bf06e640985c3adffe3540883716c3f78281347de09dc3de044a5c60c33caf0608fbb685d21fae3213fa280ba68aab5f822b9f1f5afcd51832b59466a1212c92063d657441b55fc39cdbf16801137cb531fd23de3fea0ff01d5cc68a6804fb7115a7deb35952d9a0dff4d3e31d52af4b68104f85654619908d08b16881c68a52b9b52b4807c3b44425b0987c08ab934c1342bb5469646ec0480798453d5c4d471f1c2b59fd4e4e363e1b01e1f05e19157e2508e57b615a1016269effd29890148867f5cc4159dc409a3320f9b2124997da6fce481be241ad7d4f780786eddd5ea0ee7a0b52fe419148059aadf0b90cf81825719abe73d6f9110b01b96fcd5640f945870404afda9550926db3611d89b22b73d05976adb679",
+          "padding" : "305630120685ffffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "bf7d4aacb76f4174b6787a710da30bcbc9115857b5170f6f98d4aa4e9f74888fcd341824e5da12c26d05612b591d4aec64c008db58c2710f450eddb1fc71fcef26ca5f3cbac2bfe53f611f7f0b4f3909fd763481cf4aa76e25d755e33c3e7a2e3d7a2ab8cf9d49d2ebe952f02637cd901e8784556ee49407a5901d9a1b6cc777b5f036650de693440dbec5b466efb84053d73c7932aaf18350f9c6acba1cfee21f874ec779f0e5d756afe936644459edc592e217fad93d799c9bff84921a2159eaefb9a978021e8bc1673f8e1a809797d317bc8c3d4ce1c38ae1e995cdc37c50457a16d553cfcaa2cd58e36bb43557ef70e1588bc0f6a4fc59604f921abdde57a2b05375c4ddecf23c5ac0cfd3465a364a6387327844aae68e9732b776e04330744296429200be89136aced6bc329e4715de6be8db047d4810c62bc19c8c2ded5e34e6cf8ccf000563b342b6ac2df2833232d12be0bedf219dddc187ecf1a61f994225f04eadf96e330c2f8dd42fb7035d6785328f8f2a575513eff22390ecfb93bbf9a57b97a4458e95bfde6c676a9b8fca765ead93cdfe9927e2330cc17061da5f2860a0291513361dab4ee5bd7bfa91af6857d1afc47faab730066ac9777b69804f491f0e2106361161fdc83f1e89ad18e61a1cea4fb128dfa681d1126bb3fb11610a7071965c9f706347b2c521f63c6e59dde524cf107403205e905d0eba",
+          "padding" : "3056301206096086480165030402030585ffffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "313233343030",
+          "sig" : "a63a208ccc6becc02fc5c8b433d34b4e380e232e4a03a0b95b8df2ca86d6a5c402852d3a9e3ca48f65af6733ebadbf99226b3522db6a7c851873822f859ebe6c12014ee9d792bacaa7b917c0b8408ff1eb328bbe31a36832b0729344a38a60ee140f3ff708b64e1af538d888345b5afd7015163f5749d2d025bcc9fde2da10a3a193447ffbb6b9f110da2cfabefb9b4e00bd151ae7855c35d3da37f03a17490e02416ea7b8075431f3280afa904df88fb8c5e4d3bb0a7f2a52c67134d8c81756540921c9ec8273983079c4bbba69e11ae24240725c6a4ed90cd8ce1311b7531908b2cb2a58ad8b49eaa208a5bbc67c4293d97d34f507b120971aba0f1bc9c539aaeec3dbe1f9a252e203e48b05eef955e0a2aec652d330a4766705a73f6c4edacd9da5b4fb5cbc20d39e9ed1954e2c80ac15f59abfbe6d8f5fffa95862f4c151132a2b11c4d1a7b615cd6f5c1b2658593c43124ad3d5da14c3d3923fc11dd0e797decae73ce25b58966c5d00e48fad63afc4204c52b27985f4b15012ababd9c901dc81d7f63797fdd350e748862e56228f7fc0516a93f3e95ad15c1d2401eccabe185a533d42630e94b7cbec2a200a59405350a5a9399d83c58dcc3a64429c6d9fea31cb1917aa6b312416bd19b9c6c6113b9f44d812d7e83690d5a9120d4bcf3caec2c7d1e629a840a50143da2c242b2a761193fdfa3d33707dcac7d09563da",
+          "padding" : "3056300d060960864801650304020305000485ffffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "4df5e7aadd429163a756b8b9d9035bcf3d61151fb765688dbb4c238a2b0199ee7d520bf3d593ec42660f28ecb6825f72e5a124d6858a33514fd43e1485cc06b7813c7659c68273e05a615d1f7f51873e1e2c7582882faa2564c0ecebd364fc7d6a63c0f2abb4dcd15a2688ea5450d9b5ad445abe6035758aed19604e46ed2cf7b3627278c86c218a5d3dbf9446d94a53f59e46d540db4a0f714defd10b310042a63f07132d36fb13ea731d1124ce3c6138d3423b44f7b7680ac8c78f4d89ae98a6c226d5c4e3a1f5d69513199c629dd008cd4a2d272b429060f136931c41b58384f5297e88f6a72d7b10d982c93c4757e4f86cb888e8472417091e9fc5f3bfdcb673063c15d108a01b04819c53962ced6bc98894de71ffcb211a4d5032731b98cce5854efae284e247d224b71de20cb680ab64f32e18a2165986ef45717b710f3b23b3265c547980044455f9bff029de7b9a750645975f04ac7992d66393645aef61896e372d4df1c40685e5abb8db4a788d65e0ead96d6c13713eb2c5197f0c561a4889a0052380166936ef096637717ac8650b1b821164e2ebfa6efb6a0443079c2c8b04f2dfd2410cde6049c511a46ccbd4001fca328160f2f499380f03b17ec2d98ac3c9fbb38ae18309328a3a3230d0d85d55e9159b710d357100b4673f7c1b73ca66e08359dbb260bd0c72d6e95e293f1c6b7b754729c90f5a5102ed99",
+          "padding" : "3088ffffffffffffffff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "737fa672e21c243bad70363eb698965a67083b4abcc3576c66353ee8204e36d260b00e5efc8bcc2bf5d9667468f99c6353b06c4eafbf49414f4bc80213907ba5a455e65fad522a00e08ddf44137e417f8d4fcf61ac7f1b826bb38322a403e8f6d2eb4e76ddb4badec8c4d50944615930d86194d7954c686caf822dbe253e72a184ade53fd494873d38344ed2f41c09b3941813d5e3cc4827626d02d420ba50c46619914fd0e3b8ba5639b1bccfc12bc2017fb9aa679e5ba5f3f7fa898a977d2660a06339df5341ac63bd4595d327fd9f651e478f701d58312c5ef36cacbe9fd3b8f8c726a580639267c6d2f3aec161a6dab89169c50e68e116549da431b50c1b18d157f48c3a28d9f5c8bbe6e5ed535356843cb12fa06680d117d9c663c84e512c9500ea876a547f5b60286388bd13bafe446aad7420d67cd2a7925a0b46720ff5aaf5e9c2e7f8cbb8141892d2d27c7e0976913db329213f277a08d9a9c99317a14e92bf48f01443298901e57c287488dc4d4126aaf560c9423239e21052f1a0485d80f86b74f2748c0f192f416ce236a79e7c0e6d77d08a2869f49c3a5e73210745699cb677372e3afb14d64767c1f7f31932720c3ad0b08348233d757cd02a39025a9460c83e8daf8be59b6d9240263bf9cafce0f3656fd4f4b0f9f8ebfaea86ccef25b93a8c893789e6eea2d588815639c09abee232812b8b379b3248f39b",
+          "padding" : "30593088ffffffffffffffff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "51729b157cf61f9dc88245a3d0caed291c33d738c416ddc9f4aa73fc17a2a9b39500a361cd0db72243e02faf129acc8378f689842db2cff07ad43ee7cbf3948902d847ee2d43773e8a86fcc3016cc879d238ba4d7f19e097e331225146dfc915ae1c19184f81be47a3cace37327b134999c497425671a8f62e6678530114665f1861df49e8ef9a924e40424daf847b6ae1297d4c554ddf327f3b22b58488d83712fc5d736bb11e807bfb83297484902e100fa9abd4f36dae6195239d4ba9da11dd685574565df0b2cd9b4cd60dba42f646d76315d2eff56b24f7ad5744e109148d608a0a130b278974047992d7c508216a134cf0dc73931c85fa130ada08905d0046c2c5d05125db1fbac0af81c3c465bbec62fe0d93f7971639335013e7daebe749c1369764e9ca158bd27624fd1ed440046bdc49a6c4319ebc41a813f5859983fa023f781b0f99ffa62aa22d77363970f4e9085e2d5e928ce0dca2122df17dbcb3db72c73f68f7b507356ad1c7b3c47500408aaa4aa8b9070affa7c7fde7cbf29c3c93d29ac2283543e0912795d71e21e4c722d6db948ba8c30844879b151fa7e1543c0dddca62c34461ac3220a57e7efa9b01d48f8c41c13612c74e47feccae95fd8e1bf41b6e4c5946c32a5edaca3b6a89793ce34f3579fae2a765fc21c3521d5c3d5b3d80d7fc29f92bf94127ca0e509112aa579d66eb9a015c001be1d4",
+          "padding" : "305930150688ffffffffffffffff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "5b652650b3d26f1c5b3451483c4dd8072de76b639b34ed959f13328df20289042264a64d76d711a7b33dfc0b6e65a8d8a1ee8a747b7e4e1511c53200742b1b54bade56fea7895eca7557a45da92aca71daefde3e56cddc12667a06acaa609bef750ff1efda81490ecfec3838583c1a4d6453cfac3de7958dc0ee4fb650d50d36ed7724c53819a53de3e1498a8fd1cab183a567417c217a10f028edbfd4c35b339c4b5aafd0c8e04a474b7671681b80e95c3474702b2608478ae3ed0a8b0cef33d8265c98db5758a2c5c2166833cb560a0b88b9d2b5eb0f38392685cf8591eee3d38d66aab0a33b88e00dcca04f0a2a5b47d367d93390305e1fc0a49e70ec117836e6fad4d7cd5492379a612b2b0634f66195529a40293b1c08b87deb03ced33210721a63bc534e7e00761789d49a27cb348b2e89dfa1c238d733dbecec88d9e962bd32fbed47dbc134fc79990d0fac4dbeb7484b149a9b08169ee9ab46f1c9297fa19504f8f7060858bb57852386063c04d5e0a1c4e0545d57bda9d0f342574f02c7e3a2ef88842872461513bd524457856b24e4c25ab3f16527e9c90ff98ae9ec263358d6e8c192257c0269db714803cf2ef8a3e6c0d203c939adbdbdef1e7d37633c54873ba6b6ac5a26e8100f17f8b4be1e64ff884c40befef7c40e7e810cb03b1e738e6628ff424c20d2ca064df9b92a1f337b9905a918bb948fb9e03e52",
+          "padding" : "3059301506096086480165030402030588ffffffffffffffff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "313233343030",
+          "sig" : "b6302a6dc2c5c9e13b4b3931769ba271d97f0df7e54b7b636e3275ef69f06b521563bc5f5ca1cc3170705fb1800500e67c97dfce5d4986514f4e8dcc67c8318fde5794e1ed138f9f50f748a66ffdefc9eb0c227cb8bdb6b003fe63558c6698cbfcb12cd53b5f986ce977eda7be54e62ac9ea523fc38ca255998b744c8ff907a99dd8bfdb0305e0b1d8e79c8313ea0c78d47d6b76a25ded0da248502800ccb44b1665d1793de207e20fecd09152eef0dadc99d24fc013e55c983e9a4b3097895d41c38cc6e9c7034b225de5a03fe11bfaf4aa2f2cc290ba0765732adcb24796ac9a7c3e2ad159856750cc9417427ca013e26fe911d2a31ba8746da30ae717dfe866446b6b6ada2fe9a5b9137ab9e65e2ab8fd79d8ea8f55d5f7215e234fd5ead6c334ef3405c567999e0b3a540e9467ad17ad20dba6ac7de39c11545e86e2d973c39f0a83e15a62d22b628b4b88903015ccc5c2ed12818c9f22fc97a9ebe1d32f426acbae9723f71b86f7ac7b6fdaf7075b9fb14620486a218da4ed75578aabe4600f2a394cc6865ab2f5c35913cdcb7d7580285ec08389ed9d8eca93a7490098c89c720bf1af7e1f37889fb85ca6b4bec4d552784fff6fce0be5c62a79e6ccf05f048bbcd033e6c7210c1311c48876d3e739827ced4e8344b7477ce5cbe5f561ca32a61b1927d0af1419e75f383a5ea01b117bf4ea4c9e0c64052f2367af8b4a",
+          "padding" : "3059300d060960864801650304020305000488ffffffffffffffff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "52fa2c3025e2673fb95953747fc989615f634d32362d365dcabe6dd1c37370e0c582fe0cd54245fb2b7a892f9b45fdd6ce6bfa5e630eae4163f83c4ea2ca9a43a3f21e8a8b803d50d0345ba48155d1af3f419d8b0f2e8da897f7a36f88f0420bf53d89f3c2618852a858be2ab5d49d5a79b1d7866dff1421deea7143f75c27d9caee5372b1fe36c8ac8f3b5b06f4f71525c88be369b7743a7f5e84abad148492c23f6dc57f4218289a0be3ba1db5cc4468173b5fffe7455f94f5c2ca6c8acae8701dc393b9e5c2c5ab8633a67e4094ffbe2ced9700af85c8b3c0a31878696b53510a991b35f00e1f7c8d17106615b32e8649aaee855e25305c6864bdcea7ff583687ace773a9d56c67df5b462995444bf414b17ad7d5801c60340bec5bbffd49bb69ef97eb10156a490fdee3c3695fc8055cccf2cbf217587f5570efa8baaa384fe2053530791434610e4da67d075f6b8c5613e862e743bd42dbc1766dea5e67f2dc6117791ba42c737e56b108d6e8845b08a33f905416726b02354c6c2c17b296fb58d90fb2d87902e87a80ebe83f72380c9d8c7c5c74dbba510d658dc84976b2122b3216eb3b1cf7bbf868b844fd5559a4ea0c8a8a67219634fc9e4ceb637e6afaba347f7cbcaa562d21fa7e9364251aa9600a50b22694e4b532638d56ff3cce3a232d76b756bb2b7b21e8102841731f923ed410b04b4efb414454aaeb8120",
+          "padding" : "30ff300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "1a79e14f144c0b349987f2d2bf07b860848a6cb5abb07b3229796960a81adce08c7eebc1b935c58db8ac1b9a0998236cb726f704005b128e9da87cda8b47e43881a67d9fefaf081cd1597a8095c935e5eb3625940b1ad60d071a5085bafd3b662a2e7dd23205fd4d5af060c52ce23a9e8566977f696cd1d941508db5af70d6b065c3ec1ea08ecdd5c1d2591bbec6d48aef425d91b65761e1cbc38ef4c0792ca3a52c62b6a812db9d6c4ceebabbdb2e1c125e419912b12ba64ac1c89563eb5e10e55798513f8b6068235fffe66ea13815021f2e4cff34d0501aa4a8023a6c1e2aad933f69be3229b161da5902979bf0e71fbde0fedd73b2674eec7f478628d45e2ed59b5b1321b9c68d8c0ec79fb7422f3ef9cda93e97212412c1210c2d1c02a2e5ee1b653b923fd5b350ca17196c821095e5e71fbf32577e2720593b5f8a7786907b2d460489bf25ae961fdffb3aff6cbad48b067811f192e20971204085b2c297f8c4a1f64e0847d267ba11486f2304b03cf72880c78d92dc33ae458f436b266749f0b472ed0371c5a7ddd0701dd2a70578064986ffae40fb6bcd9d9c268821c0eeba083405318c43b9ffdd1053e717c938ae7ca2df8bfb4a69fad029c6de8993fff2f4be3fa051fcf4404362341e831e37be5f48081a9a439f07382c1706956f3088da20806b5cb56daed9247a9c414e08748f44681f84bea5d835af6e2f3e",
+          "padding" : "305130ff06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "b39a0d5cfcdf3534ffd2b1f7f025b33dd949164a50acba28b30499c7c6a5ced79dc278df30aa2e1e8086377b9b958a79751f32c4804a435f237c74fcdcac84c6fc635723446196b46d44356771eb5e276f2c8a2e359b2cdf052c0ad7fb629fef23fc22c82c375ee52601f858cae79643646f77e4c84fcc31f50455a48095c1eb72a54b4c0dd36ea3199a762a885d20694e0875ea2d2237053086dd7d34982ae10971b6bb478a85193d1114aea5ceae7821cfca3f521d62c57e7c97b55dd5fc1369602f15874925745503ccdf131345815bfd16b386de391f32cffd30a529e9f210cb3b9efe865f07b50c26810fc7220089b193e51003c819197e0d4a4044c5eeac1e87288a091db026886e09ecc386cfc378b775f42d403d6cccab2e473f1936eccb4cd41d5b246870ebe32785d8f9abc503db5ac269554ac3b6286b3b63434de33aee9df97b817050b0b857906d6cd4cd4d07b11df2058bcf924405ce020c42d01ffe04bb3919deab04b190d1eb4906378288a6feb1a1ce01e8256cf5b5f8888d6ce18b093151ae18bacbe81c42058fd35d6fcd1f6385d9d7a01a164cbfeb6882c7d094d2f058a5686d64708c928967dc8c7115ea940f994416563115d847e1c3e15f63618d42af12b47ed76b2ec0a96634b409c80241abcf3a68b0e255b9da7985a966ffe8098f1af6c7fe9da64be053c7db9addeb142f97a3ee6a90fe2329",
+          "padding" : "3051300d06ff6086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "8de0ebcefe961be81df5cfbf212c86481071c93b89c876272597e9a1e069deb3677a8cc273c2f29233ee063611cf7a9d42af04e9e1d4a8c148f0152e7b7b73e5b6feb87e964b6bd71d7666cc25f96947442844a915425af387a876623c40f9760edd28bf2f6a51251db8b8139266a04b13258a6294dbd08bd1e9eb5154265d691afeaafc4fd1a386d09fb71f8c2241163fb84b9ac18f6294c3d3ffd10515532ec501998c2f73790e8e15075645061e9ac3109cee0b3b23e49ee7db31512cd251aecbd536aefa435b54980d6d2668812fed9516ae8e3e0f7e235e338f40d4fb192d126e19d709eb892c2e54f55e15d43e08373f0358f7ffe874d23596b63ef34511f59b692a20e386f410c2238f46b7d5d546619329790c8dcdf825e9bcd7a5251c650f25f8cad5eb4ac50735a04dda2fd03ad759eb1c5e1cb61f4befbe96f3bd432a4ac7882fe3f7a8aaec56a0d9d0ed4ef29b1332ad3c0155d3069de4b6fc6dd299c319ba67d1156549f2ff6403a087f21559d084ad4a0e6e99c55a9fe1efbb6cb1eba926673d182ca112a2d42ae8c402f24d54c4f8ecf0c2d5140850b3dcd676754d7cfb423c5c4da1fba0c1ee257eb22864b6481bab3228d8e42e8068993a87af19e78bde89cf7afc0643121880177d817f04523dc9e792b987bfc96ee4d5aaf4d18465a0e6d28f50e9701dc84c347302b7cee5fe7d048d07be8ee620a34c",
+          "padding" : "3051300d060960864801650304020305ff044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "313233343030",
+          "sig" : "56c674dd1819d11b4546be728e25e19c23ff0529c927013e81d637a082b2d0ae13e2f6f9f48727f3b9e318d6f15d4e737eee63a7e0104ae6c115539cd26c4133ba386bf5265d2d9fc91997d3f262b53c311f2b54e75ffc716844d806ee30a5ab463d1bbd635f882e188b67b06210c2afca567bc47af50c76d1bcf703397512d30b67c198af319c2afabe343fd0366ca8099b4e8bf925bb01f39ddfda97c1f0f3bb7f62b8285ad6dbd427889bb4d29bee788ff4b46b29dd8ff4c5e5af919e61e5cbd4242a0e46a1af6a26ad99d8de39a1864501f3724e348b62445673a9d71b997afe2348bf8cc6f9ca262e81b955e5109b0258502ad9ac8a24c5e220536b99be690851169c3ea56a125eee7b2b374daf9f6b95eeedaf97f8151f618f1499256656afcedb8fefd1a524128068ce65c98162f9b5467fe3e41f73b2039d056745544d927ed63f8a588c820a8b45ad7bbf4cde144fdea2f241560199eb8ce45b1868498385677a13ba3f3db9f2ecaf8b55985a398a8c95ec2e02dae95d4e4c0cf864aff3fac920c1f12d7685961bb6e681b31e944d58ca22d64d38322d66d28e2d7db1bbe640df42a108daa275ddf2050ca93cadee433f3a65e88e7e52733d4a352dab1449baf69c9efa736427443c26b587bb0e359de5ddb75253615654b33246f1a035a23eeedb2f150704589e986a52cb8354697f33ea874079cb828be00d56ca",
+          "padding" : "3051300d0609608648016503040203050004ff43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "0a8e2386caa1122470b2b1c28bc9ff5e752726b52ec4a2205a45e8bdf28081cc12527d06ea5ea752de377078e2d0419b8e8da0ca5379b7d798c198e3bddfbc847fcf97baa52b2e8f03a03ca394d6e551b441d48a9a6cd005ec3c306c86b72feaa859dbc3076960cb5e43ec88092f2d0c69d2c6d55b0b8e955c514a420bd8c3d3cba6168f2c3ce212c8a04b534c8f2cf1b4cf5d5032ff5d23f74b332064a70e4fb9ca814269e0dd93d7bf7164361726d48fcb20820e3fddcbb480010b7589adcf19722d60097c2aa40ddeec5f02997e496c07b094f66f21288b1b6c634efc647301b76333c6bfe1934a038a5e83f0135d49156fa50bea7db362fe67bdf081f32de8418216717f63bb8ceca3664953aad3c0fc0629798635cbc193830551988fb7aee0b78dce22addfa3f4a830947a29fbe19464d0d0a74fb76237ed128e42b192fbd428e8d72c4b9ed37b07f800cc368e9c6aded9f1b1d45cb10978432990197ef5982290cb64e422a844e69a5fa9d96b854be009d3d9c223dfa4fadfb13a6e4c060308619c2d3682ce48c9b7ce29d2f0e56e5c95129f12f97b8857e0fc1d85480de20fea1db5f66a9a3eee6c085e1288c8a12fd0cda67ce1637d307a3852207184bca56b478fbfc07fa83b427f61320c6723bd877e1a34a38773f71df65b07619b94028001be0ddaaf43bb1f738c6cf728617bbb466161450a4ea79ac83d353b",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "78fa766502eccb06f5d328dd19237803a09beab4470437f46eecb745950c6bbb6e8c28213c1a108f472098f9b955449d29d33444103ec65861116dfacbb0d52e2fbb5fd3ecfa4658d34622e88d11fd1d1d2be67ca63e26e022de9cd14a0a1b20598b1cc0d0733015ea386fe92645e15d23360f9a654c1fec8da3982bc16d2848a62494fe24fe8c3aaffbbb0e017e42de8a886617d6716aca701a706344bb00ed486dd6c4976ce5e95edfe2616154975259ff539081f8b71dae6333b1bdd181cfc93bb15fe656a5a4eb964df55d1519a66fc8023dfabf02a59af4554e77fc2e391e9645909a70684f0beae65fc39b260ea86f63da19482a8286e8c7ee3bfc93fb7e0a09fda6f8a2ac59f7642e5e88373f93e242bfb2c1665186cc1223101df4843752cd9ceaf73157eee67a93d14ad939dcbc88d9c4e13a7328d9df5b6529c9db604770764355081f703030279a9f997dc9cb9af61e0c4d53e89005d664be47d07eb6bb4c4b5e79453f7afa2192bdc5491d34d9b5b34cd9c08c18a3cf9cd9cf3f9d13e229c8611a2fc583d22b0f3737f4f1a74ceb6944c0198c88c4b693a43cdfe353778a5f5fd792c4d165811b388fcc3e65dca3565131c522cf19e848fb2a38f1be44ae4f9b3c2840ed539d8add6f11a549d30255544e3e25a8b7db849ac3de562f8d7477f0fc58e26c89b6dca486b5bbef305ea1dfe91bf790124102e14dc5",
+          "padding" : "3051308006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "481b7bdecb34d4cfc817f217c883dea3248f2cfe0e004d830b0a5e6002af4d94a52a7ef208df247747bc26f958aa82dde17152612005bf5924c79557b3039105238a66b1754e0dddeff2b399182827a5f24fbab5dcef1d8134193db2b7358269fd02bc11ad83ca74114e7d0f36e700eaefbce93509ebfc6483b177b58292646d16e1c66a31deed0c041884456f3577757917b045b9db6ca5a93c54258255716e022916fe656883e350d90bc59e11d0f3687ad073e3a4f9430dbdf7209fedf051b7b2b6ef4decc1c8bd56e3b6f38e0343567909282908449ceac2fd162bf019175eaaeb9c74eff24180e04747537a8e6464acedf96e557ed956104453c03a191830ee9fa23d5d8eed138d1e498a9fdfb0603456df099b1650d78ff836d13cf1bf068c8d6c9ca828b234b9076439f6ab2b4b778a1ab529d8a6d6011becb7cdddf11ac5cf2f24af50425d26db425815d7913e6f76b804890b13e5c01faca314a8d79cbfff018b4f8c69005b4db1f4dd5a2706f17d5f7558e52368aedd61117b8f3b3e8f08615396c6427deb4a53d3b0237946a4d25bc47e3f5ea0aaa5c569e37f755a9e0cf172212920cbeb31eb00a1fbf2fd55d400fd5785c5d15a52865ce512ade691bcbc27459465bc4e65a9cfb07ae397c80e0df579635ee74d0cd38fdb58bb9bd506269023d3dc8c8c5f58a3d1151171ba92b35cc7cddde54e383dfed063ac",
+          "padding" : "3051300d06806086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "27ab14c45501ca20e57d171479b224267f159104fdc8a76db33244e25be46d2555280c20e6adda573133dbfa5a3be591483f2dfefe52fba5e524106c7565642ba5c035723f00202b278e3c0c4c0ac4c2f71271ca3d55a41ffa111b9b16b38bfdf64a7fbd3e4b747c44802775168358110ad9df1b50608a1576078c13f71ddb9ef1654d433ead4dad38de9ef07bbc0ecc9f157a73414eaee1ce395141c9595aa51781dbd81fbf024ac7a0fac3efe0086d22e1372179532660ea51a593f24ef7cab63f2493f994e8836c47a340d45b04acc0efefad4eb839e537b0f9b30589adb7923a06464714dcdba351553926e78846e3662b0f8326c02efbb93b11b739e1993f4302695850b1d09b558ff35392fb6006c6cec3382c192da7ba5cbf5e233520b13b56c2dc231a607aaaddb3449c0673428bb5e43fd27b5ffa6c6b2e073d7192962d81289f3b6727095e5e7b3527c8c27dc1b5958a87f3d073880c25e022ac4e4986f2fb5f176f964722f62115e15406464270d6f3aa15dffd1203ad732c42d91b3979fb182bb4a5f0a8d1142847cadbadeedf2a8365981137b87237f3699c0f0b114fcb41f83855b2af879bbca68001147af3f226fe82a2329ff7db263972730521e405c9bf408f36a1017950ed2f609a41164985634330615811b5005261fa3774166eb5a79bdda9b3e6c5528f54589ac294dbc6cc2cb0c8a76822a1deddeb",
+          "padding" : "3051300d06096086480165030402030580044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "313233343030",
+          "sig" : "b01aebed848724596b962d0d628a4420f25d12814e4d5ae253b3a67ea1c9638b540c678a8ae83622c0d755206fe423c29bb3f46cc52ab963ad9e8078240cb96c36becfd2e69b60644b1e4f2183ec24e53938fe2720c4c78252b2919e178b9a53db4168a5a65534cc149e56b3e93153bcb7bb96be3429583da9b5ab2ae7bd2546cd5ef2def209872ce619a2c1d1f98bd4d720d90cbf9396441db92e41a045b874061a6d2d196d3dbe19e871c60cad31460cabb88b0c35873939ce29e70e8c11cb35ddf80b5c82a47a399890cc20eb32181f732755d4f3e761c070e88b6b1d3dc38224349d26a7c77945073bf70037cb184ddb893f29f06b6864323f0963def7652692957d2ae6dfa25979f516763ce7cea66f21e2a774a8cd1e077af88c3927f181ee599239c76ca063631a53f419497efeabc48d4b31124fc986586760224621f46826e3e7acf1e83c33a09e4a6ec9d36ed286c37c27629725bb318525ba2f0332743227aef14b42c86696a44400c496ada4270cdee164a67eacdf5a1252e3066c0775d7d1bdce5bd42dcb429bf355428acfc7e3d9d0e88878054da4b5b0dfde7f31454488ac214f0b484b2eb95419395d7936d0ff3c6f2cd2e0ec1485a7c741a766656b3275533abeec8d598648d3527feefb378749e622f97b9e5c068e222fcbca164bd1a5cae13e0a5e9d0b32e8b64bad7ad7cd17967b06d18b8b5e6e8706",
+          "padding" : "3051300d06096086480165030402030500048043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "bb673cbe9c34aa4e50653b50f151d67ed2c1297ecd20ae73a53df4fbb4987d51c3c229b0cc6063b220a0b3afcf5afaeb1881f1307da10a41af9588276b4649b0d023621ad0ee4df1fca2b4e7d1f605c587c52b8bdc566097a72f99c29cb8d29d6167731441429ce6f8931a331b44d33b691d044a7efbe97a31cfa22129ad3df7633a78f3859ee5d4a970f404be87b5f486e8006562d3312f3b13a934dcc48894dea5985505a917dc6976151f17a9818f6ca4ffcd2b020fe9cedf53945ba1b5b840a7291f449f1b42c56da6d229e9d48b0e51764cdcd1e1709ef7a9e2def7306e32b6e8355140220b4a5c53f38aba8d505fce60541a47eea7c7e3d8f2dfae74e1cd1725b4ed477a8771f55f51a50be57bb97f40329fde3a2acc3ec8d13f51428320a8d184240bb0af9ea0b67eb7d441ab63782f7e75e11aab72a7ac87e3fa6143c969b4ac80877bbb21e0b0c66be69db1eb46fe475cf6a1d5d46786cdd11ab88a99957f451cfc743a0928dfc5ba41764ab9154a8783edccad25f8336599ca5659758bb55f77d0b2ec2ef6f627047b7a15a82065dff9fb436fcfce4e747c2a0c52d30fdd3507835b49ef4158d77ad86cdc51293399aa7424369d2fc11bc93ca0c66d3d7a75f82cd2b0002b28c28cf3c91ca89b5115bfaca6d04a0daa82fc3d4dbeec6e87db394b67026b6a595b5965db12cdd8ab2ca1519fc19d326056fec39ad5",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "313233343030",
+          "sig" : "94b660539810d7595c69b95cc2a59e20ad68292d1f381f639bb38f2f24f3ffeb81cebdabe27a56e33e7cbdf954bc00930de4afbebc7dc798a911efd3f62b2f6b8a3fbb71b94aab913d50a5f48250ec509a8a2fa3cc22cce006aec45697ef50672d44b574262422071424fa1e7a33b81df9a74ded09018072c9941d261e2751e173c6f32ffaa184fb51ad3b020b812a890fd650987d5fd374531535dd1c89dc52215c1660f71833060945a5e1a0b530a87b34a542549c1730989b9d25b0cda122e590f0304bcd3d08bd65b4f19df84d3755e993ac5a80f169797e16760d1bb4f714a762103895283b403b55271b4fdf0a8e486651a4a955cdc8e23f7287aa6f75f8c01e365d38fc4e783de00f05081399294b1be143af43904afd6d211d49ade9b78307281ffac4eef7a5624b9f867e113c30a686472f1af4663085eb8f65394f623dc029a0b5adf0140147900ecb0320bac5fe856baccd42eec8b5c9a5e69d2d6a42b00f0e60a6b9619b111ddfca6f94e845a1b8bfbcb4f6b13e52259852ea8475fb168bd8deba00a6424b6e54e1225542493a535e7a6cf01479da324f98c34403ee944a8e37f36596779b895d829b9f35f063723ec8ff2a423c1e78328de60a03bc61095d037e8a3e246e34e2e3df1b07f243daa208240edc73ff3d9b89a1db8086b1cc7fd0adbca26510723791afb390877222434982b8b19d566cb2f300d9",
+          "padding" : "3042044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "3f529f9eecfc1e50f2407c70f82ab4c0a62d7ac9401e6c239063d575b0e198449dfd14b8fd732a9dc562b7ba83d9bf6df2295927dc8293c8502f1db4049ad46fcf9996b9b3746a0264517b909e7415a9f7d97d0754b83de36d16e85e201666321df84177a862634f3667fa8f780c404178e744cf73a923f470e02411d452991822d6b509a786b48a89480eb559c5ca7a351c9a383c76f2895ff80bfad92b57c80aa621bf67963dc1924a3014982ed5f30dfdaa4429e65767bca3521b450c4f9c8a1c36b91a9652598ce31b3cd531cefe675299d171112d2e591357c12fee6be0c52b192baa95e951fd563c4471de85bb6cdfdcc2fe7e7219b8d0963a4d6d4d72a3e94f724756c198ca340c1e09bc418b72ce9954c625c1547589e45563ee79cde1211e0169e94514f9f27c3eb3f19ef78ec78d50638150b41b59d369ff44c1f5e54dc00961a05600c5491f558e698d316eb0b21074422cccc11f80ca7c6f6ea8942e198ffbe9375f1fa55103717b765ab0fde89c58cedd0933785565bbfb0ced42133ff4726b5d42afff53686da3348572eb3a24f6e7b119906d30f24b5d007900d7095e4be80097f509e89d630a931582e112eabfaed2f562e4cce3c121167c454f9043ffabd95cd8dfc1ceb2c10a5e58faca8a23f32c86aed077fef810c32cd7266080a8b0238607a107cd036414a2185ef4b0328c6b1023c178d4fab5de38",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "313233343030",
+          "sig" : "2cae83310a2b413f44e68ca488b6d13ecaca8289e797786076bc63b00b583e373c48128d8500924bcf95b1d67fcd6961f2429aaad0e07a3a8273d164b8c9031d7b90bbda134ada626562d45c693c92847fa180af4f67dd87b31485b4a3e11aa188a69cec24f7603548fdb523c064cbaaee173cf45c82824c0bf5398b6339f55e07b66d0377ddc4282e3bf0bea5e987c556ed138bb66e3976288e0255701223cf93d11f415066d405aac2c330eeeabd84e7c7d022d6805dc854ab29f1ea6528762e40abcb4710503b44801b23473bc8f15a58f5f3cb69a0589acd129aebd2480cbd1c90018ecf36c4e2ecf82ef8076d8c8747db8cff0e0799840305d11ea2ebb36e4874d689622c223e3744356aff9e9817b9a8c0af82956bb11546382747d7cf8a9eb861b1ec6cfba56678b5a1581213898c63454db21714e2da0fc3eaf897f8f21ef84e8ee207b6c90a9821d4689f603e27827c0859a497abd9d0af6e7c070671c407bc3f864e600c43107a0270bc06585a6a14fcc7547978296f7b51dd8ecd43303ec204b6c83dfd4e731e3486014987ae821d69446b3578fc9862f13384f66afd807ce69037c5d6a388ebfa3e5ea5b9602f5e48abf21472838682e23826179b9c60ed6c5724db772c087e4f4a5109cb8eb90a70ee95779e89909ff47b7ca553b8f35ddb2e6d57049ede2879408fee0cd28a3444790544f5d9688e54199a97",
+          "padding" : "304330044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "40dbf72ca7d7f8067728e9c31e118d8899d71bb6a5e57253462a107521babbf81943428ffaaf03bab926e41a12da79961fec9233150d0af2d2a384d75f0c83ba607bfa485f6614d2d08879906fdb8ac9ceaf98bb2015af14e36fbbf3b381dff6c033dcb157f46da42fd89aa3d95208b917ebc387313013b3c550a906c0ffc27ca7b6fb8dba26b7696b36886800148d7cbc2ef6cedcd938a97a4792ee150cfcddb7d405d5c7670852b1e40b8d3bf3b4b74e208210378c5caa2071149d5a0ed6f2f8b69ebd8922e5f6232369fa2774dafb6b69254083517465aabad8657e550d7c36c2e2ae7788f1f2fe475c17e910e796a0e84f36eed6dfb8a3650d80b91d77f0442075c8009bc76f84a289b45768307f00f583bc3d98bb92e2cafa4703d52d6164ba44940c393e06e9b5d7bc91a11bc9396c910763aeec359d1a98259605edb643b0bee6ccd8f830daf123bf802fa0424cff97218ca54e5be6fa49f1c1e4a021d4e8981fede024c87b7f1ca2f3edbd3b9510bd8ccc90178449689eb261521f88d3a6a4e9cfd5b3a74d139297eaa0fb5b0fe39b0034881a11b2da1679e266cc636c8066fb7891863d885bf0ab06403066e2e00692148c9980a143517a1044e04709d38efea7fc7825fea19379356055ee0831d2dc0ced31070514fdb2c0bfe4a1ac1c5001166bd9b3939cb213d43b28e0825a503abfd138db3ea9d170e02f0236",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "4d8f1f1511d2c2f4ba2572e057ee0f73377ac09fca0eba99e32a346ef406c504ac40ccc3b8f89fc566b9ad43e62d1d389aebb2ec4ac35edf65b71a4d05d8b712176ffd3d0025636785a01f7710105d13155bffe7f2c128ee9580248655aebcb98bbf1410ad652e73089fb570b33038e91b1b898451cf8cd4e65eef5ff25e94e19acf1593ec99240bf3d839c1c01538705dc62f93709dc1e59d00c4f9ee1879d3454e68a205a83165a7726d13a8e47a84fc88ae0a9a74389bf1d73b89fc2fcfcfc2780c1e2773b38d3688b82e03c2298c3f584968afd0181b5dd6221ef2b0d2813c6dfb95b763bbaa68771029b1b19c77c75acd36dcef0b5754dd85109d4c86f593df46d2adc57238abfd2ac3a9ad14bc443a0c4ec6f3d2aa4133b1598e77a5990d456309245268ec6b48f876b1fbad84d3c20c928fc2695197bb5893023582e0403e06954c03a3748b1d96df7abcfe77d59b97451499aa8fb02a181ab68fe5a5d6380fb7a7bfc16e186f119b6ecd18c4a4007b72be18efa2ebb005430a405ea0cc1f2740c1b07ac0775f3b1bb25637a2142416588e043747a4303b7f7265a8ae34aefb7ec0cc912a81ac7b975b16651426fc0392b8850d78af728503a9ccb687249388d05045733cc2abb27929287cbb8963e5cc4a18fd64d167922decf900f39d1a9d745d995568bbc56a80ac21940a991e6211beb5fbb4a7857a4fb151ee92",
+          "padding" : "3053300f060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "6918ed68ef3e63fb6a020a6af0504fa7caf68d21bd87306ae1161bb6b6658c2e6d42277c9eeec6676d6273fbe9c215d9dab12e3aec042d663ec40c2a6ba3a1847d4f81e6631f40e1f1de474b79318a6ee72e39943ebfe8217c4f6be9fedf801ea50d7532319f82f0c43d0bb80031f589364b0cf93553dbbcbada10ca0983f03a35801af10e373459673b1bff8d1154069828762778ac146efb4f2653ac1d42243a76036d0faf8040945b41cdd1cfa4994d4e9120b8dea24cc862ff4c6fc7b3da4f6a1867368165a5e4e7d786f85ad850193baf614cecd9dd1035105ede78d16daeb015f1c7ea44bcd2a75318652bc91895b40d9538568cf033a590106d370c778c0566c0881609cf0f6235296bba81fa78c59eaf76ecc275904947aa74ec1692e6d35e715cd09c4a57bf8ef2fea478a30c9ca8b773f2aa7ba49af33260f9d37d72eca27f67abc14d51cd8f644a163d2996b9e92ba424ef1cc7f657dc7591d4947fb5a19ac5cf8372c0b6ea64616873a2b8bc2cbeb6eb0d58e106984a3691a588dca0e0d6fbfc071cd3c5e4c00c3b0b3c245c685cd1932c58770cef8bc916ac11781994a9fb61f490fc707ede0e90ef1f700800c59d113ca7a347a61791100c60f3eb5aacb168bce7a7535d57f29ce61be9ed75f2f02cae48e3637eab25e1e26c432ae7d94e40a5ac8b6c9117f12fc1ca3df21aee1160df775e201c9d32c33393",
+          "padding" : "30530000300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "5c3930a672c7bb3370704c2118883d71eec08d0373c386eafaae8ad29f6e34cd9052f2c532bdc2dde0d33dcbc4e00b54984f80844462bd222a886abb303fd4e78735c34eed7d9e72039c01d8a6ab7b8ad0d5c161d6d6a50e67a72b1bbb58fa03656f6860bacc01d1e79d99818e26793100573a3a86441100dffe2b1bec0028c320e271801d9e29427c7e48277568775fcdb84199451ea0cabf17b44474dfb632552f03118338100118495dc62df9fbb2d623bf8f09de14a03a18c0d5895844bd08c7c982fa966af224bea611bf7fa7a38e7d0bb788827ed66413ec962a8c49a30c2b01697b0246f812d484afee38fc3f49e34770be2e7ae6dfb0a92c70ed84bb516b1f5e26a04ef51a00f22c894507fbde0c35563e2c1ffb33e2847d16fa1c713cfd7f25245df18062c8c8a6d30c4244b01dd243481a65ab0685ba3cc6be4aabcebd7c8af3e5bcc7ea0c75e2f7955bc834d4f4280c31dd3ccf30dc0ae5ffb2862c8e42fbd86919e4f449f0513587a346a714699c4d1c99a28d17f4b1cfddc3a6c032113608e36cf0dcba19d743189f40a4374b66499b737d7f53bfc86cf334ab9ef9dc9e178098751e32471e9edbc00251988cc18fbd9e786290e523ca54907d3e3c6ed78c8217708f06a5bcda4e048d698453d1e0deb0d79b3200c1a7380289ab047bbc99e05dd897f48526d7fbff7cd0cfc244c991c1f962b6570c83e409b7",
+          "padding" : "3053300f000006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "5179f20c7125d575420c85b0954d96a0fa73100b265113f301d91457cc901e04876f86603f7b5edfd2578fa64c1ca58ea48bdb7de0f7831f4f331f25548b35915167cbbfafa56ece7fae60f814c3faabd5101d82f04c80f53e3d1ae1a3ebc6e764e26676ea8ac34c64cc3f1d81a6343ce1622dde7b80f7d01f5906b1b05e6bb013f1c9ec9f60fd9a0b6220ad1ed6daf7b4a81371f3d80ee3a5f80bab868a70462b6414d700f60df20185bace77576a106594d2d5ce4b1eed154b85d779329d92b9187e181b321619e7fbe9aa711d98594b434f3e013eb64ee56cfeb7a70e0ca586e177540460512e61698035ed1e1537a635857c09e01c762809a8fc348278060b7b751c3009ffb9181703671546797a604b435625f21196b49d3cab7a4450c8bd339e2aee3a1ad8ef61e6643ec1037b593f66f9632a6fdd92cfc7edf472e62e386a3b5434a45f742461372ceb097d23b7b4f5d153d4cb4e7b692a736925e5110ad1a8ee42f992b96d4fc39ab47e14854913b7e9aa41536dba61de7f084e25609a08cda63f1b8677396778a0016445333ae370a3f26de61c607da3b1bc52dc3ef8c2b96b9a9d7261c4081449da088c6f02cd6f97222191a828dceb8d3c257ad60aed903d689123982b6d3af0b03ff17613a4b77d0bbe6f671c6cc04978714899714106892cb91fa91d912b1fd570665264508dfc1117b5d60e066ecdc494d7b3",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "313233343030",
+          "sig" : "2b822c97ee5998744c50488a0c2b47422c2ca0e13c8a07aeec7e42e0ef813077212ad5046b522898fd5d5f4a4662f25ebaa6403260ab5966599159c45e66e21e62b94f8dbd41cb760424cb8dedea67405e14bdf327065b2ee3844da82f7ae8a2ff4641b9a83ed6abe51cfdeb0c84022ef42570ca51f1f4a59956e43e3a59f132afaa4e872b1534fadd8568cfae195f6faf0fd4a405d5b2e8840df0db18ed8dbc2030ba57d2d49d364544dddac038628296b9937ff4eb97123bbba35fe7a32c676bc0292901b16fec329536eff1922a565b91b2b8ffc0985563a6ea245a20ac0fd096b227b0f3fc610f627a9e306336e42012ec55797a67a5c411c647e7d4f3422b3914ad8be283f33d654debafc3bedbd84bcac4fc16f70467c34461355396d59afdd13420a5cd5b290adb9c5d05e5ef3c9360c3ccebff652221dfe6076104e9acd92715344cbbec2b174c024ac06f7dadd34ca1d24750cb248bafae221e7d88750d3daf842717d567a7add339ef54b1b218d634caaca3a729b15561ac75f1f38a00ed34bc322e854f9bd5fb69b3e82062696e40602203f9e534295ce2ba8245afdd0c6028d1b02719962ff054d2e575cf33aa5076c75244d07fac155c3515a4ea9eafd6af33ad2d7536322f0e9ef91a28bf82e98feef675b50b223da27331425029a6c30d9ced424992b75d10c1657c0ec5c133f168304e34dedb4cda80128c",
+          "padding" : "3053300d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "5294afb7d060306ba815a17ba743aa671114bb97487289a092183bd41373e5e3a0df7244688781af07d118e9f18818468a837e83f2c58252da523f8b25e61c96fa6ac97434ee553ce58fded689ee82ceab47b38f845e725504b2ddd61753bb9e334a607fc45616ef66b347aec5cd44b8a78968abc6bcc0a2a19c36324937fd1eb11554516806dede4075c86b86835a35c60f4bb482204d0b0855bbaf67228d6936dd1886335e85a59ea445084735368f76be5b7fa3aeaebdbe87591451d9499cdad26f82ec680a46587d5b1008b78bd99575650af8975797bdea912932ac9398ba35ac95a615ef6b51b141f18eea88a1aac53dc13542eecab714285f5bf2ea75d9385425784fcffb33128bbe3646e5be152b2000020bdd0d00e008e674d5012170b2ded848ae57bdaf25877e333fa1c112acee9fa1498cef6b353e5b3c6da68bf49f302372bab5946065fe20b68ffda400f57f82f9e0bb024e06da7370d8ff47c8cc0098cb365ae97bba0608d14565f83a73008a454f028eb818dc8f5ff2897ffc964530990dceebcbe3acf46151b1f1111d79f99d988e89481144c39ae4902effebba8799ca9ff6d51994d94c70eacf33fd5e8a5c38c72d2f1e282688d2699a76a99f123dbca741d83aa222cbb11c85ca1019da80950c0e00a31922aabd37f6685150df7ef26587feb3cd825d5b4801a46b056b2d9dc491790249fff549bae0",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "313233343030",
+          "sig" : "15347a7617d234e8c94d0fecb9960972c2c99ccb33d384967fb821d9138debad76fa5dbaa4af3672c773cd95c9f0349251a90e813acced8b37d99255cb6190b5beb3083c176a6e30a5371fb32e8e1b8345dc60bb4b642aee31179e81107bfe71389bb4c821357f01c2fa352368f4d03f88e4b6ffbb82228681b1d8bbc40bad39ee532f35e747c7962a2a2b8b862939c017fd16f1f9e1cb68ffa78b491af152559376397f59ea0d13fa47a101c57fec26152ef46809244a7a1518d9a921a2f07b76e5b0269a504bd7add87de023a323eb4fb32a2d36b05d3edc840be4b93300cfce30db29d3b7e2ccdac422423e6027a8de9cdf5d998bd04feb953cd455d1b87e7cace1d5ef40cf41857e2611cb046bdcf6670d548e76015f2ffc48f482ee68aa9c963d81196ac8e99bde7e0959107e5646de07a1c44e99fd5ee6e2633b541c40579779baa2dd0448ef4e1169dbc7f328e59f618e8084212f07869d323510e88d19e0eee65784fe6b4eeaa584db42db2587740a6a89e746bac566fbe8ede6aa3e494db5143c5834454c70a1da8a66cc7382292f04102713132cf74f992e4690efea72dce8cc0345c0ce368671deb564515a43925d858f4e04d99c681195ca77e0731dc73ab14c1994a32703f7f30859a542e949cc5b07398246a2e428fb04cff95d4fe48a525384c9f03dec4d4a3220e17d55e6a2b2c241e83c76363a327d8483",
+          "padding" : "3053300f060960864801650304020305000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "81d45dd2ed7bdeb122eded3c9d8e2a9c0aed1857483764f86e8d9453ca398e159886710558cfd82594b82726c95806e364c857aac2309f249c3f9272e2842f19f381ba9f062ba12163cec808a9d2f75f01d3760937e3c795d3028223b29ebc6b23898205ce286fc2c7345e67644db5b5fafc539a4a07f8da447815204827e53421431e978e86f61c07e413ccdad6bd8353cb0b6929cab0b309f88891ad9306046835eb04e6295536bc39f95d4023d326b93896217f4f5966d7c297dc58940652c46af565871fa0af03d9445357cc1e62ee9019a3cf0709b395db776d69063a028c04ca1a1430cc85dcced8d05b42698304f674238394febf532e3aa281ea66248b5539a33c7320e6c080bde47ee1107b107761170ee18c094a45385dde9def358360114c7ff9b561901646f2872825d63547ea3dcefa9a07be2b96ac269e4065cdddea77b8462478c981d0ef19c0bc856e00680e728e9189674fee43e2ab98b8b43f822b0d3194ca8e7df40ca9b8c795848c9f4a7e7a7ad8011e07a1ad88322c84af0cc1b979efb2c53bda8877c0bf7620128dabb993c4df1f6a6b254aab3425b9ccef47eb04c20112d04d6089ab2bf67b1fa9e4beabca33f882a9075dab810dbcde8dca885c897983159aa6074e022a2e2e4e3b679452ffc04bcef7f267111df2e7ea57c7bb593454924c3640c37487b0d3a967e56748400c856c6530df8ca4",
+          "padding" : "30564981773051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "63bfae421bea1bc841c4c55761d3b902663c575777e3a4ef2231406600c6055f138a97d8e52a67b1edf7d47384e32c56ca0e9addb1f33e425613a4449ab1d511ec58f9b03cf8ddde8113b943148ae6456590a81746382d4622f260adeaf217434315e1ed44f52ee89e705b292a641a72e25d6393599af2d77524f720996c233540751d9d300ffd467acf58eeb1b3af0ea9805d5ebc8e6f70ed6bab6c5350088ab1d279b4ecbccb41a34a3d7f366df89f1c477981876ae70f019b9716e8c45519fed27f1599d469c93ac32ab0aeaedd37a067b6d460eb7de710e7a25c7c2e02f2d2a79a2299c6d4745af60e44cd30d804fb958e9c8851c191575b9cba358200f413e97dc435a8de7b996a935b87192a1fb9c892be426786c2a26e38ce1b61ed0600aa73b142498952ec8bafe3e261c5a51d70cfcd8f179216386f71956b017fae883697fd626798dc3ffea15fd689e59fd5c9143cae2f150e54243839fb48dced3c70c4061a88fb77d971420b858ffc221f3ad6577848117970d062af3f255e197ed358a5eb7efb063b54fb6c21073ae1187659099682fb1583a0242947bb804665912471e4121381e4a7ac9b33d9a1d82b48a12c8b98e434e97eed912a41363bb66b78d92fc52dfb7c153449a06a095f29798101577fafa4d9125775621853644e2fac9b2de281c0dcd8665cef3d1d6bbef61c2c091dfa931cc6ef40ee9d5b80",
+          "padding" : "305525003051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "921897122fe95da7b369055a24438e31977ae5ecebec0e6a969efc589fddf69237fe8ae0761a4ea886fcf52cf3c40a8432cc462815fe34480488b094d5e156df992564afcb2808939dee01a8d9398b7dac996a76a207f7538b382e4da8eaf403d470e8ec98b9ce939ec7c9d97a8a9eadc2b7ed4d01b088b57483b9840570ef35d404f5bc47be1ee7db3a19d9359f5433b7ba5d5770a1c2c319c0e4574e7068dc0481c6446a47291f8a658ccdc974842d85658106d75a3d2979baad2c90b597b036814535b3d437fdfdcd0977f72a66c51c27ddb846ad7181930ece42056be4c1b7f4d62f081f60befadfd4493b1400c749c9d343b15356a0c4b863b9dfe92baae0a6784e4cd25ee1d352c55d257c16c7ecda76954fbfdaf79c3ae8ba81a940264bc75203a1ce4090f1e09ac54eada3b84a06a13fa5253f38f61dd5bf8fccc8b4645756f08e66f44499c4cf3a235acf0aa156a24f6070e9496ac4ee0211068fecbc5e6c7ee19455351c1037561deb2e86ad855dfc8c02d73b109a4e775a9a104c0f389dfaced039127b93c8a6edd943f8aad35c7e074a918b599a9d305b31f32c52e1a5a735f71635abb0d7833e449d16247e4d1bc1dbffceeed7c92c4b1805460aec4e2442513ad391671ac87b9b089b8482eebc80efb9eb389c4e87a85f5f53f7882bd66b42bd09b0275e60e76b4208384e6fd864ff99a4d72b39f401962e72",
+          "padding" : "30533051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "37aa38b4532bc3cbba962bdd106979b4bd0d06963490f0a7c4bb0b1bbee5772fd976902c077799e6d24d21613e1aaf364687521ec8c75c763e27b94734c25a5595a1359e9f2a72641e473e70aff36ba14cd79495fdc0055c2f22cde8a0dc36bd0c4eb8d12f67ea9fbc05c282b57834b94f8704e8c229207b82bc379d959ca4284da7ea2bf6cf08c189439d765db056144f4e0f65db91128f506664fb1c136c7649c92b38bce90a4f8ab6e08290cbcc4d924c01b1178ad2993c971d055969b5253cbf98cdeab6a87cfa9983c7201ba7ff3522a292eac3a08c7f463fff16ffef3271175ea4eba206a634844fbd4b130a683a93785b7893e9ef8bd3ae73c513cee3bb1ed8da9be1a9c39b20ff0c6aad6f1f178ba75d3ebb71140f6d75f7aa71d258069a14e1d42934bdb8ddc3ddfff75b78c1cd8e1fedf0bb0fe66e2e817db92f98f7f73417ce821415a0c1b06a7ac5d1e4586545129d02a6fb171209446c7adceff80198dfd010f84241f3e18b0b99458092319f967b7064f3915d171875a2b63a30b45ae60dd1ed8af936bb48d8254e823f167a40e89bbfa2ff40ae2d48dae05989552cf8ab5bf7f571e5ffa7f9a1808723fc27555ee7595b09dbbdb3f35181da4b794995b5a07b96cfadf38d60204a8e0172fd92e0d3c8902fdb0c161f3ea3053bae2e21a9c478aea7bea42f8ab082e6e3777ee58ad797b0bfb7e7c79e0e371c",
+          "padding" : "30563012498177300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "15796dfe18c6eedb2488e75f4501f350c1c35b6af637f09460d94f3c61d4e119039c4779b88994006c3f62cb7f34f39e8ed8757f28dfafb55ca2ba207147960a71c29d1089550778b7b187a4953610e856adadcec93e166bb718cbb2e5e7fd09a2c0d978652eb89b698f2f629d71da55c2b2caa24d4069b82f4074dfad02d78ded1e1058f67117def7ceaeeab37bd48da1ba887bee751bef68ef4028c7cf4577f883f463eb56a5fe9145be0b2cc5455a9b3096d41af9f0f500da9489d00b6082689706fa01f40ecd0dc554c8e8bf6021139978bdcc25b73e11c3fdf6a74d3e1ec6260eaadf40c0cd86db81de9287b25e5cfbcb754a713eedba9e8253f65a7f02eab00851e2c189b3cf47f1d60a1c3f058f93aa644def56afa071677eff0d9f60eae8f3bfecccfb63724c618558e51d3455b7ed103ed1bab225dac9a675d56c960757cfe3609f178a13ba299ebca3468d7ed0ae53a5854134bcb3d875642224d330e4af4680fc951801392cf2c43bb8b299ba348cb91c890886f7db8ad8113b5e84215ca1be49199396be27553f8d3c1c4e281d4f911e39048229e4761197d2147276fb9d88565135d1a2767f8c8817ccb76b835dcd2b598c5567efdadde869d4ed4a3446f01f271f324c7cc943a194a4e6e1a9d56658419eaec73b0557f823a946c2f6f4dfb8505cb2620192df8f110fbbcdc4fd6b2298f124cd53041b0913e6",
+          "padding" : "305530112500300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "c699a76b8f2743d7fbe4c47d6052887a8cb6cec90f7eb95f39256fa677093c71f604645c9d01b6cf177e6b30f825f63a0ff805337e1eb4f64d5d894de4d2bb3d0aa3c39cf309580a3fbd5415710b4d9aa015edbe4e3189ace28cad4477f2a73af8cfeaac7637cb18bb5aca78fdd2914281d6c0cda03ea136ceec5920fb258da99e6816074dff6fe625873d3bfde7818c756329f84f398a52e7a7ac886169f77acd790dbffe66f01c3820d93dd487eb3c0e222c4f0c246b99b13b5038a81120d8035c5d023e1296fc25d09a64a1782ea557df44219748c0572df48cf8eb285f7c2231e1aa8706f58e5dfd6723c779f71d87b8af852895564f869031c6696838f9a00164e78069ea87c9106d439c43d7c050ff1dcccc17a83b05cfd2b59c7c267ad5c32ac6e467496650d6fdba12ede1cda8e15e03091e628149e6c43183fd95d4bcabe8d179096879551e1259c59d6fbf9f19838c6283936b6402039928c8a428ccbe97ab523f79e70adc17e324315a740b00be8ae82c2adfdc0aeb60a840beeab03c6e690f54d4103858bca95dc507333892c15536d62b1f6b32e3f50f6faac5cf29833186fada7deba7604b1229a8c832d1685323f0a45e67d32a447db8ebe1c1d5083fd84510a5c92e839573dabbb97c240cb1d53909e1d304807c79a859228a3dc5756eba16b9545940c077133e876c6c280f08c5dde9eff0498bd5187a7a",
+          "padding" : "3059300f300d060960864801650304020305000004deadbeef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "c4c8233dcbfc7d176ff4d31081ed91fe02a64cd00f66e830a97dfdc3ce1a7952fcac2696da6a95a54b76c14115ff9337ddf7c74bd36932e0d0abf5535b1d030ad6848f8f0184d62784d0d378d150fa8be447f00570492b6f540f88eba62917796cf9a76e7338f27779144ce3ec7196bba1f6cfb2b47541741ec454a97fc465cfbf1aeb681618837c481fb76074ecbcecf18f9ced503b5203fd3bb4c18a6a2d6858020c39d641063d28dd5d4903fe7437e914114e2fd8898b5170d3d50dfe856bd72ec1c676015a5335832892d015e39ac498e90c8d179967d425fd59663b8270fdbcff3b433fc2468f88f3126a4f3a5636ca92af919d6ab566598498130d777ebf8ca73705cc4e4dd6507f28baabebd462ca47ca24e2ad4a1a0ab930eea27053aeebeea63d32d6096fc0469adce1649132081acf55b80eeab28743bf7da9deea58d3ca0a96e4784397f459f6cbb040dfb9a6f813be0d55b1dbc1c3a0ed32e2e11ee01b4c6854cb4b3332027cbca24d0af9c2f9eaf61ea809831d44c4e194a0b142b49897496f56f933aee0e2fdbf4e542e0a05dbfc077d4cf1e4c41f8464f6ca18a9f958d859a6a6326230800e88eb6163d8056e0103b68987aaf0a601bbe5b9c50f6dda156315e84913cef48007933d4b52f100c763b7e1b78daeb2cfe7d6c92d32307039db8ab24889dadb7657ce0d36377f9e646da539747b266d849bb92f",
+          "padding" : "30563012260e49817706096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "42d49b58398a0600e337a94146eb805b9419d7424189ced4a3cbdb49fdb82f47aceafcada6b120f6ab678496ba35be664598cc35e230491f474475d5ac55638d02c5a1ff93287a684ade443b5ef6a4715ee19680d9466db8a85d152251a54afd2d102eeb546d61ad80552353ffbf93ce5c38850c60a627df67d57fec100cd70a51558dac111972df1a1f6923644cc53d0b32c8236f0d30fabe027767c81e429e77cf2f0c21c979939133eb3063b447f12c6df48d82aaf3294d6b2fd1ed44a9ee123c7a6ba68b278c412b673787f6f6161553604d7bccaa4178bca05eb4b650dd94d73f55c7b2a2859310d406f6ea36f1400230113b3c4c6a9cf2b5b79b7906a184d9bdf2445330e5d869693537897ff45dc8e9dff48a78626e7da181ae439068f80f2bf460e9274a42d9be27115a456f28593bbcee4f2b1e8c33da85cbb0d4a25f551340b2a6dc6cbc26802457a720b053ff39d70b164a019643ba9e61172b5792cf4f90a277637ffdd9eec290d1ca9717cfae6285ae504120db2a081368e06bee71dbf5ee70b63037044b1b3f20e5dbe1749832566bf2c5788826df2983c38049b806e06e568d18637a4209cfca714626a433dfd4f4954a6e348fc373f95c59d2aa29b9d3dd435630f500d50ab424cb8c7b795de92d14c7fed75f0e2181b7ea901286dc9fc61cd887c6289a357d633c7c0ddcec38461784cb59be0fc7430e03",
+          "padding" : "30553011260d250006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "28abe06eabb02be52b20e50de761f97fa5f454f4ce892484ca7df812c4dbcbab2d7163a20c0544ee454e43d1c96fbdfafcfee7d9c5114a5c6b324157e77bc283c3b0202e7067e252289f6feffd3bc287d6670f85175bac90d4d842cd902ecbc489c881abd113273cf3802ab3c4e347572394a8517763d7a2985214add76e757ade4994bdf23f7b9fe3d936eac96ebf11f13b3f09deb71e13705fb2a2c52311162eef035523902874989cd63e688ad53fb35bd5f0ead9dab6112db19c2ee186009c83455a57f6eceb4e6e5c2f46435d21d3d9f7d6e53583c35d859f42da569d0113322d7d0f91468d9c7c05b4a648b45b15ec638e210436ccc59acd2b223fd98255dce7cf75dea03cce9e8f80ebbb09b13fd2c0adc7c039ef0c5b369031600c29636a7ed8dbab4eac60a9940547e3591b48d97c329c47d86eff1b0a3f28f3b6cb213fc35bf35098e394c7f9f84277859fda51ac25a3e75dad7fdec12c29ea441612213c56d24b4cbb8529b8ea80d1c95690d540819ec36332d05ad922d71782fa48a2268fe149b6a77ea4b4f941b537c170607ad1a453550cb62e81ec6cfe8c0eac8fff6fef5e5b148c7ac5bdb5317a44c17bd9ece2a41305845ed3693911b3243b94f8a5f8cbd06cd1fbee782fff542f3dbb8367263eb1f79474d1419c6351923d861a347c53f298f2a959f6ea29015a99bf76034ba9ff91cd79a43402172080",
+          "padding" : "30593015260b06096086480165030402030004deadbeef0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "606368a102b687b3f77b23add45ce84f5ba81f69c55f327ab98c8a2af52a89d332e202bb3531a31394d683c691cfe3dd1087dc7001bbd58aa6eed9b22933c4e84ae303b449f38017dce2fe034a2cedc6ed4b2d29c8ba95dbabbd7337dd797429ddb2defa3410479bdf13b120f1ab1663f01fe13cebde75545ff950f374bee071a35d0078e0d11e56f4a73738a205431b10bc54e935f097c10559c7f8cd0fae3f60dced2ae9cfb90f641ef79c627a0eefeaf04f1c5d03c1a3e2dea991c7e18be5db6bd821b07297b630e33b58cd8e1d964935cc330921f89d97b3b14960d59d8a228fd1c7ded2728e7159a5121cac987c8afe63b58616b8b8db82942558f997be8853b3b152bebc39f251223fde61e05b6da00e273e54b29cfdebc54b2faf84280b09881def19f25ef3d36a13ee4a30dd30f517f9e738123f090e69a87f98b51b9a3100802e4be126b36f02dc999b1a1d83481a8903e6e87bec9c85182a6573747dd00d61c9daa35954cfa76196a1cbedb50b9491e41c28b2fd3cf69c262fc52307f97870fad0b16ad013ac7ad6f9ce9155d9c67d0f5e197aed564fee6a12b0c8c7fe3adc5e354397d80d7ce9afc2516b101f67b061cf0ca4842be2dc535fe51bd073103fd57b3872ccebed778cc2901abb454fbc77594e85c5d02e4d0d388e1e3ce0e3ab5b99a321de242f6631b70b44bb32a004d167ec248e6e0a9c55bc01b6",
+          "padding" : "30563012060960864801650304020325054981770500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "578e32b1a21efd13040da60f84b4b23177693f91f0655042a485aa72bbd8ab5c9404ddbfd679586e11ed1115784c1d0a052345106b8beab6073258d01758fbfe4dc6c6990c0eaabf24fccb77ca7bf85e7b18ad25817adeb6ddad6d85b7d7cb3214281676ebc2adf0a4e6bbc9a64e1301c31d0c0c55dccc050a798568525bc01e99fac22fb44dd636ea08f388f3ac0c515f92242cde081077e88ac47b13920206834ba3e27ff6fb4ecb7c364d8c70f66cd6df9f0e3a4742f72a8ece5a4578d7f6d54eb7ef24f6a693ff684d0358802d0d842f7ae8b29d934ab657265cc8af115da8b8049ebd8767192db1a876f9412d021ffc7b8e91e2495090d556a35ca16cd850c521b65a28468cd130f0f23fabad041385b3232583d70a904cb3d7b6d7f1781b4267bbe27e40d91b2cb2c18a8da23aa3dd6f82b3fd6e9325dfde9958a284845958f5cebb0bba2ca1f34e96c010251286fe440e6e395117b6e2c7d9b007f13dbfc4d5d512fe66464264e6f5c502bd6af825bd502f8bcf21d1f213ae69cfa68f16449634505a6e965bd68e959d5dd247e0944ec26e4f1bc857f1b46f55ffc4cfb85df6130cdefb147a65025fa6b12f313e0b893815876ab575c0f9647bf69f45f538bf0ecb8593dd6a39aa12ad3420187d291cab553cf3a4c801e282a5db349b54ba15fbfb1054e9aafec5b45ee83634dadb7d7a50af029291428f6556280b09",
+          "padding" : "305530110609608648016503040203250425000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "9759ffc461e0e342fc0ccab8bf5f71a528e12e368d45c371dbfd709e7a16d146c3b847b2a9a00d54b2eb91ffa080b072a630c0645f2c8c6de2f4f815702a754971651914ba24a9c35d895e747745dabaaf21ac9b908116e56a8043702b151555a9f90b33356cb46b6989a4a900b8b7911c2704440173321293ca6382b2289f859bedc8ba6d160355b029a4b3f30d4205b33416b41e97c2cb5848acfac5d52006ef8d93638d48a2e0fab5dd6d6009e1945463e7ab53809ef6aa7ebb297b5b72ed9f55c43df18d85596bada1b014a5576a195a99c9e6c729ccba224fd46da6f0ad1ce90422318b0a2edeb135b12fd61d0ed2b56be2cda4b4d9819d537bb10079cba8d44eb401498c194d1e9eed31604cf79ffed10f8675ee31d57dd2443afd43d07d55b7971ae50c38b2b00dda28f7b99d14d3f885b70762ed54eeaa899aa62c738035a972d0b6ad1574bfbaf0e8d2fbaefda5dfd7c64e44e5a81f1feaa3c9305013ccbb10af2268c6001d0c2b3d0edbf558c2eaa22d3a840e1cf678de90c341d310de3d7a3eeff1f275fc92119c7e13e9c7f8230da11c9acfc1ce44d1dbf3766cb83e1a335d9b2a51dd2d7c5e9316db24a8d1f9fece9b3e19abee6a54694a0b622120840629710eec4da9b1a1125f0a8d68a3a4e95e8d5de298a308857563add33499e50aa09dfed1ec34c103dbcbe400daeacd8d0d1a526b922afefd2e421c54",
+          "padding" : "305930150609608648016503040203250205000004deadbeef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "55c9f8533f91e175b2faef772dfc8452afdd8af6558e62d854688457772785a37fb25c9bdd54c94374ce39f25d08ae61d32e42389a01c7ebfe19ad81f85b2680b157ba885f77bc651da4744f06fa06219f791c19e6c65a443d6f8ee989e0112a9b2c7a50f7180474861ccff6bef6f4d625e06d072b987ab6d5f4e49397a1d6ab5de81fa17790af6c20d6cc173b7afd8a986e885db4596d784196a1aa6aa16566e4fd95ea1acca6abf75e76d23bb5bcb9ff77703924c6cf0841bfe20a9210c6b039837765fd88621ac40966a7fff636d8c08d6e01aae0e6cbbe6d939273b41fded42cef520723689533b9c9ef880cec7165b51d2b2661abbaeec93655075e8ba0966387770ee4bf6dc0b5c64f700a1627ddb6444331d3d84a5f049e4313ed3408b3235f906cf1f71cb8a659cbb9d2d21bdb570a890a84b4eda357f5798e491306a146f9e48548567c21ed146082cc827c298cc03c7e9948ce0aade3c663ac1ba599a0aa4794f80507c5948f68c72ec45815b714cbd5efc5cc44b9b8143a00dab66bbf96d8caa34d89508b05de17282fcf4cbc16232123634efda9dd797f38d54cba71f4d0c4d610368f7687dc0d042dc85088f8f8da3ef01583613b2a3093b9f0f67c29120a6de03c92de3fa40078d5145d9331c69ca03e4978bee78418ecfc85410a19092d2eadcea18edb79849b838dd991026fe3bfaac57ffb0fa4992e41af",
+          "padding" : "3056300d060960864801650304020305002445498177044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "622bc03c975ecbcf270d4fd0a81e245d2d2bb967211995550d2599b1ff72b0106fb155b2683ff4b3a61aeefaa4b9933a5177d45374eda2994c3b5394106a021ba370247559fa1217fb401b6a57c0c7f7af1dbfbb73ea8c1a8f60b23a65c1bbaaef01f35c0c950e70f430ebbce87ca13c2429b8e7a99bfc2fd9d563e60c68b0852da2db0acf752a1fe73f577fbd62a6c06f479e8bcbe0f6eece671644d0f650254b0131381b3b5e55529dda85fbb96ca8e7668d55acd5dc08dfbcba9962ebcf9e82469a11e38377d47aa6ac47e9a8985d35f0a23296da33457e3c95dbfeb57378dede44d8be3df8c88eb953ee82aebabd5ad5e632f5f89aef6aa7519a07fc52ed7314703cd8778672968ab6b31e5b371859fcac5267fc568c1339234eef70b22590dcfbb3678f8e91483fb2fda6c62b2dc38c7db4538d3c4673b7ab32806f8251b41be88226def56d05e031b1ae47b7375dd348081bfc34b655ad5181f83f4c7866510e947580c9f79d7cec9a2284ad169dc5c12a135df8f8aceb2bbb853246f9bed7ba175dec9c5f4aadac16c9b3ce74383260c9c71e88ad54161edbda05cda6922d906be8567d1dd5a78191a96c164976c0f6078d36468acc911f4c5782841273f7181be5781ad330d4b371e2b1888f53c26824ac4321efabe3a63a70775ba2a6b123d82365aa08aa01434fb973feee939ddba69d1d9ea0a4cf5c8750ecfb98",
+          "padding" : "3055300d0609608648016503040203050024442500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "313233343030",
+          "sig" : "48ebe9de8e53729f8eda91b65096655ced00e42b9e60135730e26f454fa2ccfb75ca69fe5d199b049200d5eb092052df1e49c7788f0dae5b1e1fd0b90ce71be65c3078adc9f2ca1690dea7c8c742070449f5f2e381711f64960a3c8af07492a7211c6c4c130b51cc02eb4705cfcc5de189e59a4ff1f118bcd05a99ba5bda03d789f573aa859df0f6fe2e09acb2b48f3f2205d9a1b1a576d10a3506344c82dcf636013ae464dd694c299f6bf3035a230ddc08b9bab222ac4ab8eedfd75cd00ff7574fd351d3908f9c625188916a44a57c3da0233043fc4c20d2cb2d2a02f134764982a9a0004324ac2e8cc68ce7d22cc50fa792923c5582321ec980231bf00be12fe58c942584689d2174260558c2ba96366185de989149b4bea1b45811ca835f98293f6da83325f9f7fc24a67652e2629e8b429ffcfdfb1f5f8835d4e5fedb6f37b0646c3593fc2085d6166202535d16da6eb67bf63c5de8972224356424e230e54710c25d0077927564c35f7898766a6f9c4aace37037c438a6d795e575bed7df883e8ec673dd7b40e801ca1fa943ca8794f3edb528acae6f083985f5fd05b2d8eaecb3db23304d6ca405507b0aa3ea0ce5dc3db24e1d4ed5567659a51aa2f0c32d5653a78a9a3664109b47c2ca8667a190dd5879377e2a9749f45b115dd6a89bd98befe252178f4a202479e6bf1ec5efa3ca4381e66cb2e69d56d68a5f9039",
+          "padding" : "3059300d060960864801650304020305002442044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "584e9969bb4b1cafaa2378ffd159216abc171a48487e7ff85533efbb00c31b133eaf6b61d1bc392c0eac00711c2c0a5815319b8e12f0a50c3f357d9fa419df1f1c81e1746ca5f4fb0d304f269f07d4041ebb0906de301a6ab99f8a792ffdcb26ed2fe000f8a719a4987425628e49559cccdaa74f56b3029b23ee6be01da127bb6c7c47067b281ad8dd47ab02ad93c87941a01e3369c7d21086279d45f2cde90faf493933539ed526eaebd254b03a5c5b69af634f81dbf30ec8b9cd2ee5d5638e7b9bb9051e9dbaed1895afd992db9cec16b30a440c640660bffe55621ade0ac1ee1f61823389577de5b76a0b52319a42b80c31f457aa9bf483a9d61820d418d90ab9a578560cf4b8d27ef68c338b2c5a6c7b92efa493ebf792b24218911b5acabf2d4101a62b90bc0d860c66dd871a9a748a4adcf8307f676bb49da703cbc24ca190a2641ddcf7e590f8b93b12ebcedbada2020ffcd25492f1683909e8f63a2139acbae12b9b077f2e327a990503b7ec079d288b23dc1ec70df44f821869e106d1717d384e8d8e55e29143042f91d98fd14f403740d0885f353519f2be192b172d4a0ae3399324ae7620514029bf60d1f80d4d228f3378b6d093729aab9af1defc2731929037b6f36495f764ad7b023517edbba0f9deb31e82456c98f7d1b7aa0a308af1350c17295208515b6055a6d2bf41e9a98f193a5568e9719523b6dc7e",
+          "padding" : "3059aa00bb00cd003051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "2eebba04c692db87e21982dab4776e0ea15be89e1ea2b7096225bb3d4c7ff8eb5a35c0ede28f57b052eeee4718a1215d4767b8d31931d52e9afb52e48b493a451f32e1a90564db40bc81ab8a1885b049609abe7d0f2e4ed8afce0f7b7d6fff141dd76a3004c2bd9dc8cd903a2bafb77e8b9524f38a4aee393a07b787c9527cc7f39d2254f10f1c834416ae9cc689dc71dad489051bec16469552714601fd5c059fd076c2f011a37b1ab0acf7fd4729e232e68dfd79ec0b6ee87413ba94ab4b53b1619d760c8473fad0d5d6b6921cc0838810c911e891d3492c2eeb008a1124c25a2a68c48c72064f4171c114a16effb23e351614cf6bf87e63df60bb59a77acf769924ecc1a7a6cbaa9cb29d69a7ee5721f1e3dfe8820120265195b8650a4c3f5c3fff2c66658a79c3f9e1e9b83985e09b42b0907791f65ff0c46bb10dceb0c16d0aa49c8d1b9b5f094eae440e62b938c842bdbfb0d52340e8b77da5c728574f0a090dd3e5eaa97a2c3fa7c1402768a693c7635ca722d81f101ebf1ad853ed6a3a2fda270c49e9afedeba199cc6dac0a329eaf47a35ca0a304286c5e9269d6d82cf9bc3aa49feb6b775e82a1e474d6bf5b40ddcf8f976f5017018ad1471ad50fa1237d1af971c153339cbdf9b6ac5bd4f348838c94c5d68183bbf81c87f3a362a795a714396c0e2c458bdd86c3ada3b8049b175d540d36b5ff48ea6f51cfd0b0",
+          "padding" : "3057aa02aabb3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "72e0dbe8885928b6f14fbb06089957a13e57a87fb1e1de0edcf859b35bcae036a4986c939cd93a67525e960a3863ef32a4eeecd5544f151e6838305cb7cfac7ff9a5040c078fa09b5b6b3e1297fdccf34ee22c69079e912a67acdff40ed543def23bf6185fe12c91b29f73f68baf91144d4298c6200941f7fa381cb70f02d951f261bf1e42543eb82a93e94c50c955e90d4fa70317b1d0d6d6ab771a6a4663a08a6b22248f855eb064364fb7f96d755ea62debc5f6b6f08e6024c221eb599465ffae9ddbb0db1f9a81f6e140b24a36bf16d4c02908af25478d1d5e8f35c2fb088343cb51a9280dfa5d0795957cf62ca1d4c51289e64c7b14ce178ca6ce0baab676c629f363d4a6ff8fb8395a1fbfe85d3de190252d058e2be5f1dc3f8a9929d5cee2320cf0945a82be5e649b83e8ede3a3b01a18259a5b5afc377c36a2b038e5fe5904651619e470a083da069efbd2dca6725c92f34f574d7f5d467453f1802b970211f041caf78139a41f671d7500b1e6659894b4cd7d1af04e6d7a3fc6359430d4680260cdbfcfc49d46d8ff1801eb6f28b32c1cc4278750529328d10adedd792e6397209bd0ce6db0c965df029eb835bcd3b5661b083a4b46b9616525da7f5783793ac5e22c0a58f343aa7b11c05c4ed039e19a072549e31bcbc6bb5f6889d3c28ece7f091b6abe7fa5a2d952d9ac2408127bc46b773b4dedeb78e76bdcfd",
+          "padding" : "30593015aa00bb00cd00300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "1bd88eaedfb86d2f11d9db39d011b4c001a20a726545cca555df9b3ba46f032dff5a259fab7ccab203a50faade4db09302a5dd3bb1f0d854d96baa47e74e59d42e54b94409a2cb63aac19aa2c601d49821c7a0cfe5f612fc00b5ac3963b19298bd4a00eb3eb8169d06b2c4ab7cef1e3e3504ab4750da995019cfe760ed976f7c996df4a353fb1177121a7b3d6165d08f6fdfe75716c031f49572c2b2981a770180723a62bd337d6a8916447cc25718c19e61122b32ada40a3948d1dc12b8a2940cb16245330e721e251955f3d48c7ffb8d0dba29c552270f5d5971fbc304729b7b0ce405ecef1e38d42a3823ea27cb177e85e8da196d8a07ca9a105f4e6ffc4a857d9a3a03cacfa097d3de68b2948dc29b19cffb847d0f1ebed4752d4f31697fa3adacef16eca901fa058efdc7a70338bd1541e851009916cf49b79b593010986e4042f7855b0c5a4a3fa331209e46aa2c7e6f1f180ec4e1ea6a81fcec25bb2c7f212ac4a7ab23ccdacaf81ac854d7826ab51cc991a1cb602f13e0039abacdce2e565c8709f4ee23ea3b3b23186af7560050676e905590fa9f6b40f0b874fbeaff6a467163a50cc1339e16f79bdcbf0b1670feb1dffc3cf867312861053a2908ed92be30edbd1ac1b3376c5fe7f05e27f56d72b08e7813c597d58ce3681cfbf943ce086db930f82cf0cb6b131169cdb8c57bee130d30eca2deec14dc0cf3b174",
+          "padding" : "30573013aa02aabb300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "57b03e4921cdc73982de748d94eb594090e998ce4ae520cb801b881a5b6ff9830a28b4419e7b3059e919bc0b27a5d020506f2db02c504b7029aa21a8be8a225ca9acc9472912d00348313fe856ed032dfa2814d88d7925c1f9e955e8ff4fd175b96e8fac7a5c6d749bb68073df1db6dd4b54b9cf87958379e327ea95c2b68a3fa8bd3aea08c34d82d82ac4e425fac275620d29704d3d636a5f6153b4b10695af831e694dd11bb17f72dcf6e72d807d7b876bcba57e49040297a417183f92827c449fc1ab162fc76520a74f03c979516f2ce46e2e25d07744ed93848a2bdebe55edcd978ac7249d0a61cebff1af4611a163b810c29140c93f05781b613fb046d87302ab6bb9ec68612c6e61481984f09eb3b57a80866e7085deb66130d24aa74bc9d9b44d7bd93e979c50265baa9a2528e98cd42668084f0c6d94d3740aaf55b66183d2b899808d418eb18e1490c7fa1224c870d9236e68ee071191dffc084a6590ebfaf7d54bcd2c7f14660f73fdd57e8339af64cacf159081bb4ba2a158b0c2e4795ea140383e4a0edaf6126721670919bba3fb41b4eff070608d364c0fcdf17c983938624d2eb7244a438a605a87a45374ddc6a5886a5550e5e2430a29b956aa24f2a217937ac96caf55488d9bff9956f41dfc00f017b9b53ff2ac77e69447ff53d0211745f0e9f91951e6f0b148f0488f88f70906c4606b47a6e6490be868",
+          "padding" : "305930152611aa00bb00cd0006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "b67f4a92151f8959f87b8c02ef7dfcab2a34f0d185432b277587e06fd14d00f580f66453ff4bf9e82cfa4fd399fef899f868d573b4dfc75b1b537a3d899e8064811417b5df57e02f8909b6fa45aaf40793a7b3ea3bc7941e785cd47e38c941d3b5976fcae196e6448646eb7d3110bdde27193dce9a199137b33374390bb6619096d219713981cbc199eb427de73a715f1e63e59c512c74d386b60ca716bb96646526445364205dbd102e05ef53d552ff293603554de2199e470e9c5db18aa885efc16771be1b4af38ef6a1d08282554afd5fca4f7282dbb07174843778aef52c70503a97b8f29acc72ca9becda1bf35ef6888c50905cc49d9747cc244eb3f023d822e977eef43e4cbea91993a0f9c9698ab45b21f2cc6408a55aa370662cc0e6238a2c18f77cb3db699828bce9b7a782b5448fdd0c1f9cd18544386f863ad07531385b9a2b5619672f706f22ee3dc9a20658178347135e9d22f141c0b759c3926ad8dcd9283a19c77791324a94f9200d53e0e7de40fff54494803559b0d72f5bb8f8a7903c8586c8e179a1787c8653bc54a3d1fef1dfbcc8e6f7efd460e5b255e759551b21dd72d4c68a73be8f7e5e7eb94cf3790d0aa5a2406e53e67b4cd32bca5d57b463821441b7d4feffa4894a2b1a1db26567256051d2f195b5f8e7ac676706788093b222e5617455a4ab45f291ed2382f12918a4044a502598d23b166d",
+          "padding" : "30573013260faa02aabb06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "c69503be9745fead30b4fc7dce08d8c6a0178754a15f805dae455ffe8f33262105017502235f8ab25c13d63b42703d9fdc272beaf4f9553f62832203dc1d45915d64032496749eed244b798580e3c2594c0cf3d100e9c600912dad5d777708b0a883490b28e5922c6061458f57730eea9c6b61c6c6325a7c46435b3626cc9d7d33142ef75551a12e644b50115c4feca83d69406482b0d7d4e5ade8cc8345575d61cd7cb4e9bdd2efa07d2c998e2a1c205b54445ccda6d54a885eeae9fea3fe6fdeab8c9ad58412cbdd2a3ae4b8290bc792bf64a7f36f8574f22ac8839a7c4fa68c23d7bec8638c08cc7b501ff0652b272442b89692a5ab724050add8cbf9b229f50e75ffb88b07c29f3193d1c90bf4973ba336f70b06830202ea0dc69fa965f4bb05bfcf9c1e896dc832c8d4fdc98242ef26ec72df311d011a7aebf850efe276fafc7ebe3b7de020863e9ca1a3bce423302f47487b17e24ce9305d98bd2222d27404ea8a2d25c688c85d0640d96c05a1c2b49ce27abbb7ff0895b3fa75a3d649a2e14872a2919004f6a1a833b8a15ca91db08d5a6261f63fc3c0cd8e95aaf78c328d60409bdbcad741c9858924a844ae55a80e1ece9e9505ab8f301d9b8ab6a5d49f90fc46c09eea0d3b0ef7586536712dc695b2b1053880bf6282344098d6658a94f9d2c81d931cd1d35441e57f1c24d85150ac37b2280033f16bcda1c4f86c",
+          "padding" : "3059301506096086480165030402032508aa00bb00cd000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "727998d4a172ced0ec2cb6d2d49f766837c1dfceff9fbd35dfe9e357a4b9b143c4d53a8214a39000467bc8c88bb3582633d471fdecc58c033bf3f66a29b893cf4f6777f58841e467b84c15c2c5007e0c322b0a51779490bad134e905e83bb90c13a2f0425331b97197d6485f2c4c534e3262f78dbda5a5adae63901504fae86d25ab579aa8b1a3f2451d1b8a02c2d81f425689c34cc9abb8d035c0acad50f2d166c58d1fcb75c251615e48741a38831da8124d821b2a369ebbf7c06cc5fa2c78950640274675d1ac38530814c4b0642fbc895f966bd7bc1648f526a611a979df403672b29d37786281311d9d537a9faf74020b8af03df4bea590463f31aa9b5aad6c602642d012b65eb70122a40e93ac059d25c6f7ade43ca1257bbfd17b29b1cac1ab46aca85213c9399e9f3c2bce25b9709ca52d9be29890a409090e8d4356aeb85751c3a8d85a6f49e498aa63e48f6fa08754711ae2e849dda0a784b29ed39fbc92cc54c2027b2912572da0242d480c2df0a347ca68f4435405c14fde7e07ab61860924fc9e2f0b123a7d1dc9505cf9219ee2e5fc0e3a40240cb9398fd5583b48971842e57227adf50927c7b2ce06fc52007920582a7fecf2a5848e8aaf44be1fdf01b39e833fe2e6874109154d321a00218c37e368c2cdaf2bf743fbc724b2d4ddf772b7dcb5c0f50aeaecca9e0351b93be126ff4f8653df60a21765c71c",
+          "padding" : "3057301306096086480165030402032506aa02aabb0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "0a0cf5f50cbdfd0571c75579da50bbe83c0f92f154534ad5682a5e4b5ea7da1f0b6967ccc0e228d03a0232901493954451713c76daf5b7a550c42ad6e9dcaedd42c6212c20065b09b2be9bbb6d8479bac00393ae00c82313efc6fd3de3e3e48355e232be62c89ac74077cac1fb83dc7315723d879c9282056ef53b2ebd2570b517c498f587eb23b7c1d84cfa7aaffe4839d8ca39acaf2156425ea49134b41d4824347bbcdf7798f7d56009e8def5450f9519e3520e956357f11abf364077c287ec249e54810757300bd9b5c4b525a998b19247d41301bfe3f01ef89356a7322d0b3effa08c7b6c996194ae6b154ab33a97b9b35523314e5f5c8bc130fe2504fe08316449f46dec845395edd389ee5672b5e8e3360bc54a6c45d02b04150e86f695afb6537e6d1000f8e7c65cc0a2fa1fdcd8f823e5d8d972a99fad864b9a7423d06e8d4f5421e439d54e3d250e807fdddecdb65705d98e0200026e1d46ae9461534361ca41f6c68e126992b177d9692ecc7c77a68df09fc74159d382e9943ba85a62825f700ea3c8010c385e1fb2f4c2d1755c54cafba826055c0a4d2a2bdb2093e0b8f6fd009d448b09806ba4a3714937c39a23370e99f96bd293af486674d746faaae76bddf56e43f1a0218ca64891d0cb1ad8130ea80156a32c0873bda12f372ae58cdc2766bed53dc27d81e7f16487ebea46893818b434c7c9ad4e1a60dd",
+          "padding" : "3059300d060960864801650304020305002448aa00bb00cd00044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "313233343030",
+          "sig" : "5aa65a18332c2b515bb70c97059bde6c6cfef26b9c7d874575dc2fdabbd1176199b208c3ccec06bf52324a0cf13222add3b65011bf54338e139b91602fafde29d01df109540c057786a20a211283bd87b051cd0c226cc6d5539048a9622105379db015326cbbc1353da1ee4575b5635784c67dd9fe2e464a949f84f9926f7102f92b2a3109a77785a05416ac162179ab3ea4425755c61c5fe04cfbf735318415cb17f45c90f86b3ac7112698a0efe9e903fc816ff08817e62d645437359781098efa9b34c0246b3bf43e10233d55b334ced1d9a590fddd1190b9eaa56855f464d8152a71eea9dc4e9a82f021472b84f34b48fb418a941995ded70529149acc84d50880a8370e00f7c9817b86ca8d58991fd517e3d1123cd46e459c13fa1b07d42c64e32e1855225739b4a29d28e0c550db2080d1e41451fb1eaa55cb69c7d7ee0677201bff841ce0d59277b09daa91aaae042ca730d2e835371d6e1551c72fdde0466188278a651178c769769c4c5e83f7b492bc01c94dea2906dcefe48473da6e00b47823ee1440af77f058b0b3c53787f26ac1879ca0ea0fd5fb4dde72cc47f22fa0897b8ebb0d594163201b6d1e565c6a9070abb42567f65f5d252b1ba537c496b2688e1dc864cffb8863727e5311daaa0ec54397d725b6fd88c5f10c76dd4878a8981d864358d16764d82915064c1df1d14edfc0217ff13a367d8c9634ef",
+          "padding" : "3057300d060960864801650304020305002446aa02aabb044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "8901dfd3f87f0a88bd64a6dca03f9b9143c12558838d7c4e8e8e7683f0a5fe4d89a6e92898ae653d7d54ff54f388f1fe6b3d7199619993fffbbf239a46bbd76573752a20fe645abd67856980c541ac70cab0f61bf08d35230d1c3dac05d2a109ca3695bac4525fda535baf36263856fd5060f95c9fdbd84c23f37fc8f00d9c545d491e33c056b1844b68cafb3d380563a9d24bfb85cfb871c81522cf70afe2d872d5cf98fd857abb68e14144651afcb52d3aed6cafbcf8473d63aa37732c3d6ac04439e0bdeb8708758dbbaef40726733c65a0714583ae97e9d61c7d59fc03cd5a8ee0201bf1e20c75c4d3a55f7c959b6e6b37168a5ed527d50d7ab4312ab3b4b20a57e8d4e1393abb77bd898bfe43385477850580a461a663f5ff587c67b33f2c7510833de38c2cf6188e52e6414884d10131fe66c0576cd0f786a07ec47590d777a9ccca9b542aedb4995da75878c7e56605396538972abf182148acc26f7b2f7b9812c09efcc7150f31e661aad6136a6148757a2a06661821848b2ee0bbdcc158fe0d7063a7cd7e65a519a0e97950c9cfe2a2550aa1a568b0cea62e16a9f96d75d49e4b0db0a9e6041de753dcebb1152f51b8140bc3e567c1fac0a5b37fd9ba91ccde9bb8c9d6da2b82f22d10137e78de24fd2ebb7a720d55cdf5e8375e3cf903aee907ba530d953c52f236b55411c082fc956b16a31a321d714a67e82a19",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "313233343030",
+          "sig" : "977e0e6d0d2153c34a30178af3fb99efb9edb76799ff0b1669bd0eea5b5e87150e84e5313a921e074108cc2ae6cbccc6ef0e0219af4f226a3e9e57f0a162ed209feffd5a89e65716486bcf5d6a79bf926edfacda0bf4091746345fdfa7d688aff90d9b3570185f664d94e5216bbe0de6143480d7051a36306ed99599631efb6a916e61cf49a03d10aae2317f758f1c4d1c46097e161a4ccf7d1029b4778645d5cf5e8d022681db62ff15c3854349727d7f65df9cd24f5cace6fc0fb131571144d24866be5509332fc77c3823779340c95637a003a549b3a8e1e90d8a3502e42cc355391371b09946a2274861a558d90dcfa12e1021cc1b98e96796264f7bbae5f6a3080ddc498a8e810e112ce6b6bacfafc8326e92956618886e2d3d4081a54339c895805d9242b7146f635af6c1f17ae1955f7fe49f45b148b65fa7c616cf48b5627de9f08c609575ec4581f0062f1476076b359145857325d19c0c22c30ceccf055dbdde9b562a1adcbaceef8429a44f62fb8f24a512d6ee70499bc3921f70831b57a15d7a3c023b18b6febde581d7ed5d3f2d587a4af0a3ed1f87be027a1cb7cc171756b170a65ae7a1fa4da832dffcf7efbd37cbd4d98750d437377cae209c51c049fbc166e381d4f879cc50a5dc3b31bf7d693c0d613171eeaf9e2572267236b08b655e4a068826300d7d92d370bc348124e63f8b871fbab0b2d85303b3",
+          "padding" : "30443081044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "a91c56df4ca300b638c505771bf7b9ac3ef866ef9b16979ea0e5f691f5c91b886bb4e3540be2eb3c5dfa7a6ec11c513a62036766dccf50a36c058a9d06dbee640c0830bef3e50747ad7de9dda9810309856bcb634043b0907b7dd70f50f49b8fa35e2181c4a7d386742639f049a758b05e8a66b5f41756909d8d7afc31f63eb4b03a346e3a79d3ec22ffcea5c01632641e469c441951765eaf41c09f5c7dec10f7aa0eea85cb991428c496b67880b3ebaf13397878af0264a4276b08d85eae131553c6eacda05c5cce34ede7e5248427e390af8434e567a8941aaec4ed57049df79996de2cf3355b7b16531e0bef7ab3a3d715eaef6fb19d5e03c755cbf9dcd1a1d8ea756c6c75df8080963a9bfbdcdb551a53a7f4ae14d9469d93f92a8a509a687e96ec567176bf2c0766f03a9947545302b750d8901beb87acc83b6eb358fc1b82138741b5d33aaa7b6186a96f78f28d1e83aab719b6f383fa2e56062dcc50aafdbac7877ce8c2cd794e72d07e6b10555e06ecdeb03ad3de8f45a65b4a654ea3dda0c8bedab17ff55768ea45b17cf66ed9c00c8156ba86c5ce0228d4e5996b0268f3e19c75f14c34a3327808015e46cb347e892e88429fffea65b295eefd007ee77b533fa2be245af0bee8f175b6170c3b9d85cab02c40d15c6aeb7651c325caeba8fb17bf177b38d0a06abbda7030fff4969c11bae68d0027a79bdae1f340",
+          "padding" : "30803051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "563ccc0f74bc3c6bd12af3bfa0a290244bc017a3b6c452eb9531906f5ab092222dc5eedfb06b129ccf1eeff16d5f3a241be62b671098393661ddf88d1ef751e5cc46d90118334961eb989b8c6f1c38f806fe636c1f8c1961604b9cb3f4275d520b7f037b4c6c78cc3162d6cf3caa589af31f77a8edae1489ba86a2b36652a84a861e34f480783ff10bb3c9d1bd0794abcb77b785a9d214eae906a51e2d65fd30ef722bbc687fe8eb43df347f9ede204ceca53f7ee9525b5498d04233df06631706acf65338a88cdcb9201607ae6f71f830653d6e3d320a362248617ebab100c6450dd88cbb01c6e3bdc183b8851e2cd2780ebdace96eb88d2c5672b28d9e77ddf9146b6ca17caeeacb472840d0e965a038e08e437b0f8a1402356bd6305aaaa9cfb8fea1282feb103cf3e2014259513f1f43316a5610d767398eca18cf3bcffbb1ae179df35ad4342d89bad741db6cf2f0fbcb08ad857a738d306c651e6f7eda3f9d0eeed6e6d11df2c0398b2d3e0cba596fa1891872021c7fbe6c99e0ed545f147b093397b2727756f1a0260a50fccab5ac17cba2926ceb3495a11db8f1537ba3530d0d428644ae8721c67baf87bd2788fbde87c7c907860c277030d3141a65c57df025551ecf385c12da746ec7b594305bed042104922751eede193dfc9e1c9fb4785bfc622328bdfc5607dd21a6817abe4c941f2ffb63657f8797e3c84973",
+          "padding" : "30553080300d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "2a7439f30d8d4600ba553f9100b26a2c5861d5d5106410b369b94801c262d124a262fb17b448bc14114f1dd5c24c36e0d5528c4d617093df934e0523f4adaa4e262c2fa1cfe59db2f51336c627bc2e2a11b3022bdffc649de8690aa22fb6b96f90f7573d0fe23ff65d95c81274543a01ea654728c57b64c717f0767b800734aa84af805fdaf2d04946303c80286a487b48638b8972e49d412d351b9101bc435dac70f28c78dc1d79986e9a8dd64bcb11c8fb3e90d2c036c5b74d22157be15ee1ba291b97606057a5926b84eee13fffb3c8ba245f153d47b48d836828d71a5bcc02ffb12fa7ca66b576d2d76f38643502c4e529605f833b1d0af3bc7a58f20b5fabe63de399693b728b3b35db26ddd52f62bf6268c502cdffe883e8485f4a7c60e438e1bb84070c7adbe021a6380989a76b72faba576d20c4333879700e5142522589dd2c49e539b7d49f1293634b18f594d3f8106687049cd4093f442d34654e82f20bb8c4b252287cda4d9e69223e22e95a717aa5008bfd232ec5e2b85c92ec093c6ec16a7b043aa5a86c136a38dc9d1c7fabaee3af9f1b77fa4f4517c596b129d8fea402c856f041af5f98d235ecf2e6894798a857fa3e295a4a63c4d5d7d5a5d3fd6452775cf512ab4bbe7355f71be5c07449e0a8345bd6c3960a999c3c3ce6681071f5078f331619a9f5283e01d184782b7e1393c8291d0c409094d45b84",
+          "padding" : "305530112680060960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "5276a6fab88bd401b451eff5d1a669c405225e90450584c5d6d2e4c05f715249900d10679fd58d736deaec1cc26b1000d6d0e60afe374981790dc850af0ce22d1e51946605783e37e8a2e899a607fa2551fa76ea9b20780b92e9b263be76e8b1da9a725e58b20a34e5013ede41c8601b466a7d693ea2b903295f0768fadef5c0ec3f0c83f659fa2db43fba1986bf3c6c7bb8bbb851905e62c4bf9b0b8f9029edf9f737ac3060f252cfe8c46b4bc4dd58f2ad8bb55a89a0989d9f2d684ee4934c1bb6859d17f8077275ec229e8bea6ce9e2d9383c2b89109380ac6335a46017bcfc57d500e5833cc404fb81b25f0b3ba28d71996a345ac8c9869167521daf8af6c89e130bbc27d55869717e5b7e3eb67f1c6912c6e9cf262544ac8d7b76ffa24bbd078c12c09f0b26e4f87aa227820aeaf17102180d272291d7c65dc40914f42c026cfdd5bc330b8d0d5c948e0c93f4beff299872f65da8790a9ad33e7a3232220b684cb8ea87d6855aa4c053c98fd20830dc89f66dbd1046f816405490884f97b9dc0ba5b5c2e9c8c0cd5dc13a156edb25ac384ab16bd5921008e823050b166b3f727efbd7f65d3e4fe741dec24d7e95f6ba707d5315c71749fdbaccd16b6e98a0cfdc456257878a2138ac754ecd96b76b9b63644c3c40a31f5553a0dfb5ce7c02ac8b9875a0a24b0f9b655502af4d5c5a8d714fe708f0e1dc188369a07f927a",
+          "padding" : "305530110609608648016503040203258005000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "313233343030",
+          "sig" : "8e96d28c66d90a67a5f09894c5b2db57b24cc18480fac7132ccff9b0b0da5f3cde652a919a7d20270083bf5da9635cb1c1e4927b8a2238e00c7e828c9fc251c8a5d326fd8e46f08ff6c36ce4b0a8b368806612e3172bff7534b2a28b365e4f74fced400efc93c1d4adc7483cc270b9d1f30afc7d25430b36e2abe82e3220f040e221483447f6d5b153eeaf137d4b2f5102a07e4cfa336e53e71a624236e3def136b479190072a55ed97d15be64bd92006623009b34cbd5197a3d57318c9754b90b105b3fef38db1acc0b8c3325581a1521371500bea1c1f5212d95f3def741d96e3d5387c4aab64b0a0f584b33fc00039e58c526280cf1aabb380c66d3b191ba11ce20b73944d76a50e8547fdad2d3486918a104c4622a78493eb1cec2ae748701ea5329d67814f581c8576149034e655c9d230dc72d93df0d37a0a4b23178220ec2a22dfa95f99ffa650d55d73c09ffd95fbed23407cfb5042e93a2baf9074ff85cb0efd306e5ec0813df08677dcb75e0c067559760d310a17c7ac0249c5193ed1823821b210e100b130909c2296b2cb1feff4e58f58065e8321515f99295d93400c133e528e44e659530e17b8b92156f151e49574774ff3e05038a31d6ba247efec4feb0a1efec266d5a90d0643fac6e390b37b26ff6e83c5f5aee67bb9c229b8362b50f4a10bf37d47df247841a28dd20d6d10934f6204c8681df0cfb1816",
+          "padding" : "3055300d060960864801650304020305002480044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "685f47587011d1f43cf865c9ef73b28f633f3a93aabc67ec69b6f3556b78c86e6b64409652b936d327bb1dd2bf96ece912d27b08899d11aa7dc9a27988d8dfa61f6ccb87084e22425a35dd57a43be80d508c04bc8fd18bd0348c790b1b33b6b84d9ddbec598ef50b739e4ecf1127457410ab2410e3164f313fc185f1d07dfecebc543eb5a9ac30cffbdd56d183c63efb7e288677492aebf212241a492ee1a736dc2d9e31c0200630d00a42b808d812c660ae2b4700958bc7f2f8223dc5ab0d32c788be311170608dff9378336dd152f4705ec687e75d4beec24c9495d801c3dce72fd604c3ebd50f0b7b6095f54cbd6c9b7a167a76649fdf98d627ed94d1307463430e4ddd99d4f79221fd0af76f42d94f5f472daf0faf63d9bd8649cb998f7be39388b85b5e0af9a3cf71fc8e72360f7efcd3e96af14601fcbc2d019bf4cb62fc9d892b070e191d7d68553a01fe04a3a46fce2ac45220e40f4033c07ba794bcdf31d90ebfeaf2da93f2bb7f51e58e884ac453e2274da963c60db990fed394f181f9578f7165b852ae2a9bf51415c89787b440f358e7774e6c8f2ae0a52588f13334cafa9f71c4262016e6995a76c98d5afe3e62bc8d23bbf62d3f2a3ed019165004a05a16c074a021b1064909c591e84c4a547c90de53e2bdfff68ef170660526708fe788e4b1b98d136295113112ec13f87ee3ec3f2590bcea4c34dbfa6561",
+          "padding" : "30803151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "1b68c793bbbc11aaaebe1b09036cdbb4b754b5d18858127699a1091714e6d07687b5d9ea9ceb4d937c8c09db1f919f33a319bbbf62efb506aeb085387632b9a1a016061f0ab9aa2b717c4602c5996b42e312f04854ee21852ad9fc9bcba137f59c981864b608d82fcd26964df05832983991cbe6bf74d09d851f95d13650994f56e8fa3204bc8685f16a0e7006918230a30f025547834145774758cec92d25c1b75fd143e4166c255aecf9af8189b90bacb4d08655d861b0ce2d58894f00b6eae3395a1d692cf7091f43885ce8220c5a4ea8d312625b650377238dac43da5b8ffac7420991d00b70453fcf633b844fe630e798b8ded1f27bc170ba0e7565a85299158bfd9249bc5d006f3ae97969f18334290b00c284c8a61ebdb1bc8c78f913f724f308c6f34d1b36ffef06f09a2ff5efe4e0f1cc6b16db8690ef0dd07cef88cd2b56c25cbc76d6ef2a0c1c7bbb5145eeec4ead730faea578f98c6fb30a4751fa15dca5a09d353c7afce7d572b8c725a8cf82386a3fe49c4ae31227c165a93fb821a93b47636170a2e1379ff57bd4ec495293eff1e0162ab6926c787005723fc58fbf3f4b23f466eebc1916c3d2a7e99a1416a06a3753284f02f4066cafdb9f6cd739fe8f34e49737b2989b37c4a01ee133fb41fefea2d437f4814f5a3ff433396800221428e420692c8d70271755234bfca374c43b331c20e3d8c77d11863b",
+          "padding" : "30553080310d060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "530e5a01bd59e922ae4ac02a57974759da8bd978d6331bf58a522460a4cea7cd3e78c76987ed9bf39f5e6e0a0127d950c3de95e3603fd9dfa9d2f8daecc8f84ede2dbf99f29fae1a73da64c6ea602a90a529d9da1d8b1c2c1575667a7ffdffb8347dba3d13174f63c387966b3661429fcfe8da1f3e3287769b5826be0ebc0f6bf04b47cf5f0e6d9f494f6073ff7533131d17d7ce859febda32f8c639b9e2a7aabf0e82a3da62aac20864738d215a862c984343a639d4caf91fde8e4289bc23c65321dc387d8dac38765e4a3bfb1b7feb6360fabb62b97efe71c9fe789347187562ae4a6bc35c6f842f7e8f1bda9ea31b39f58340b352ed31745306c4cb5dd24fe308bafbf1e654bb8898333ab6b2fc96ccee80a50c44bf8af4f77f2c146ad5f552b893c2a036e3e7e64b1e6f8ed152ed1ac66390b1b828ea9c43645d7f36723c111cc56a4f7c973c0ff99c460e3f82169fe2cb3d30e518a38f1c1e2bf4bd113b85a30d26d9ab03a803ed4cdc59fc7f16f095a84d663eae4a3b1c3aaafad19c2458528cbf37ffc46d5b1595422210c9378bad7ecfdd222260f12a304baf3113e0a20d40a1202de6a2f5b8d23a8bb2fa12aecfab4d8c6c402ac417f6ddbd27e17f4fc3f5349b97f5363c9f74b5200d8e96e1d38e08dbba1a68b8d09f115d0bd277c39bc02ecb13ec6ee590d0ba1ca3effb97021a4802e2d1ea47d58cc494a68f8c",
+          "padding" : "305530112680070960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "26bc4df6a3ac430e14349156fa87159cfe3be489c4f4a3bb3ab1e9fb6a24224bc08c8fc68d31c2dfa7bb1eee34486c189cde443569fcb046837278b85c2a3dd5d79a32ab234d962d9c3397901dc2cb9a9f2a4efa607b2d664974fc0ed8b21d83b6fc26fbec342aa000e798b398da25aec7f3036b4bf5b996268ca306497d49f94c29612fda4013e51bbd5f8ebd7ed6d3cb9651810f1953a0a0d91f21d23d2193d9124eb7b993b92c3f39b4b2ed75b9a6998899a0e627685244d692c9bbfbf57a32d2075066e26693b66c2d6abcaa06349610a30b9e365bcb40563232f5a618975d70b9ef3d2e370ebcf371e840400bc59cdb8ed8816e21295378668349f9b6872ed38cceed565b37d67f7cc53ef3048b4dae2ff6e6ef05c54f08da2b25af6ff8971b1e9b56eaf59312a82e074fd03ff310d2d063fd604807c2e1c9d8d10f1f63ade7df27f0894daef9cf713bc1900b8e9697bbd19c8ccbb6f7e608cd751f6befce4d1672190beac40e81feaea5987e8be14ef53f95af53a766c864e1e20922d745ad3db7fbc03b0889525a00ae2e748a9675628439b5967ee7dc3f3babc24f4497744940448806af9143b552a304a25f9112aefaf7dd32ba9cac33bc8c3e77f7133ad325cc83a10a2890c5ebe73cab87e756e16d7f17721af90c927ddc53d448adec90932dfbfd28c031e497953f1b75d16fc59f44f232eda3c6d9a05d601b05",
+          "padding" : "305530110609608648016503040203258004000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "313233343030",
+          "sig" : "62f48629c7a24179701c9c7dd3ad6573b147a46ad95364fe9b061f1a7a53f22ca9c94b628fb114ae94219eb443ce43847a948c04b9c9e865d06a508eaa53ea6e95bd06c0d678a99c68eb5d637e1348669853ed27aaf9eac212e10e63db88ee4ae572d71bcbaa9559ee698af1464e8c7e06a6089fac21e0f44673b59ad886870556b6aad683457ec4c8000a7213544de10d493f70a67bf768472c06a4d8d013d246cb6301c05d251d06e396297510bbd802adfb16c44d5667d49784f390cdd51a989227db8a0547b70139cee85fb98405157566f48df9bd99fc93f05164a3806a7a73225b0369b66b1a5b297184ebea4bf6e6d003458da70655aa78f936236dcf096d1bf2afae7552b42cbfa127343ef081a8a63cc65f2075b33f01ebde0c4c80306b36a70657becca450f3d720f5c0855a827e4d43fc2a12512f5f19301ba404ec46814e1bbfdf81e41dc03154283df7a10e6c38a89d2e1d1c43a71cf19edd6e4fad846ede85d42faaaa84c1b5380be55933200ec463f149915d65321cbd21ffd57c3afcfb84832c9b81e654f9a402d9c5b305fd3bd042e99a33dfbb4e3d6f441ad9646bbfb8473c9c01707ac4cff91e7ba9d5996ed795a1d562a174cf117b22ecce7e679e474e1f7e2e305818058aa85a80f87efa5c2877db870e4d784a3446802339b9f8e1f09e6eda2aea8c447794ca16a814bdcb1877c29a5a0e99243f70",
+          "padding" : "3055300d060960864801650304020305002480054043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "1f40a467924354f3025b37a3c5569518bfcc634350ce3f82ba8ba961d2dc9ba4206cf8b99ac3838e24c1ad80a8a967a7224ac47d3b3b141bae6b6ac34e2d5e1c65305038ac88f83e63e1d59cfd3db23ebdd8e3d32ac2a8c57b16c367540e2eadf9ae41a9fe284e3b0a9514557d468d17883cd55f741fa03f4ad166cc9b40b96eae4ce3546264582281562357d66942d09aad87d739dcfe6510295d08189562276a0cb11b38a32acd0b4372fbcb8ab19ada423416a99173205aecda49447d0d000cfbccaa8ed870416a1ba8401ad61cd94d4e99a98c4789f7af5afb24685fca9ba12bd7052f69517b3024c3b1fbeac62ac04a4746731cfe00948acb95aee3ea746776a90c7a4a54411432adbecd6bc239e7f629f02faa24e55f42bc15ca566d7214494577611d173746ffb3d59adc68fb3dce801993f779a2b6cdc0c10cdbfe5af0c99a2edaa23dca3152585221cc17ddded8474dc77954a6c96c5f903d179bc00603c6e0c9b809ff31bf31bc4d91c1973d29a0931c8dbdbb70ed09730f6c8274cc43adb64004bba369b1f6a9c7be6a49ce36a50121c342b1ac60ee51e89b73afa1afbe52bc86667a89536eba90d5cf036849bc2c26e7c45cbb7f919d3c7d139a3c7c249c0b8943ddb1da3bd875e5aeb917a9730cd20c58994e965f7dc35f26d35642e08210a82024343289a724709c9eca3a468b5825f6a13eb2e22da584634e",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "313233343030",
+          "sig" : "c3f770ae10c10780d0ba92c89a1fcfabc248c0c4f8cccc3c6fe3e2887b543661e946c0ddb982d5b7cd89ae430058cba9fd40a321641646e590df3a2cf86b9645e347fb368c6ef5695ca8d2e9a9a327fdc75ae0d54010f594a050c9be6c5c0f60a4ee41f29191f7570f6dfb2d17d6b0933a22bf7822f520b3cba26419de1a91e39fbb12a84bab08ce9b1deb10b56e576e7be5dd9b746118ca8c8d991255bbcc34f9c7ba317f5e1190637c585f5a4f10dd037a498176b7d84d33a0370da7f834d443dbcfe1e5f502f09a0ca946eb4e6373dce383c9ae8714a5ae45ff555ba407405057d60dbbedb0b9782608a92f0710547330e842ff95533537e01272898f7a4dad71d4099b372a504a0e02770efc85190e0987fa7bc49a3ae482905f47d23260a698842c1d94123c79320d042c8f39f5ab91c241bc7ca834aae345548660617d0d886d89cc91780e070ac36d67dd28bd48109dfd69f7229077dbf490467ff14b6b57dcc05c3e46fd8a2688f248011b539d2fd5dc2b217a0b41d57fe667b936158be8c91c0044c688e752566a383db0525b9a72d9059b9d2793cda58dc9980ba8f4c3557304d991d190c935e76a9eccf50953d04d561b5fef7e62b1368fbcff1797c6cd6768885c9bb98e6876d556b29a54e7e535df63be53a4f509f5454d492bc92be81d1bb68516e35dac89aad54fb10e286b012a0d41a04f75860c7e03113b",
+          "padding" : "30440500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "339ef221a9520ce055fc25955bcca1c6565b3f889fa1c2b2f078923905e9b6e950af0977e5d81bba0d8e39a5efc6a21ab6e6c942ea872d2311fab297d550d8444848ab12f920affb56ff2f70d750c3fcc4d5e0e8653b9f8cd1bc1a44985cd6c62b43d2b59e1f08e6a807e376295fde08fa32fc6ab25e8668a8bbe72c8e0332f83ba64e635f1cbecb0e06d548f24821a673a8b4600d45506a2e84fcbb57bacb0c47204a4006b0a5ac3d5e2677b01ec4b1461e4e862232010559dcbd177ca1c327cc2179b8c62f4b84c2bd77b8115b221ca83a1664daa100c060caf945dbce345b1f16c4c95f3fd8fdda21c1fd274b548862e751641d0152fe2be7f14e168c911c0400c589a6ba879995d017a31535a0dea22d29d6df8ad7d3f7e98c5f3c9a6c1a29f4dfa50002e59d39c9a46e03350dd2eada66f087e517dade0f72fe33ebd6af0859fb16d945aba9571d8e263127f633d14c68a61da09cec82dd75226388ba86c3b9499e6e5ab1fd34797a1f9f4a054d9636665e7e54442b24edf93c3b9e59119e15e0bc9e6d390aa42f3fba32b3c2dee6e66499ef065c0a0001b489e56ccf082264f9ebdb9ce1fc0c2de37c9fe81ca2c8071ea4e79d0cf70bbaa64e4b07af3a57a54ed85bcbc21cac3ab32ff623f38cbca65df1afc17ab5f6c7e7e54d67f8fb768a8c4f32d1a69b7b0ffd2ebf811a72219a9b0d26778ffce5da7cfa53655d57",
+          "padding" : "2e51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "1ac7cb7cc3dace7b4cb1f0900ad3e3d0b246d19095bb39c2afa0965995d5ebd42a4dfb6bf8931f8f641adc2eb34dd714b1da21c3c64bece5d77b3e2e5a7757fdf885ae0a92afc7da4965cc4cbd83cb5ae15d7d104d92eec701fe676a61347f11d0afc1bd4ff3cccec0ba5bcf47615ec6f4ff6dc5d036ea64aef6dabe6d47c2252095f45f9f9165ee591498328131a379cea3548f0e403d4f859dc083124b67171256cb54d6d328c206056bd00e3168b1184a8c21704ee9a4b990221c37a524579d0ce74703be382858d921a8d8afa1915d6cdad89c753d828bb8afebd22eaa0298470221260fb7ad9d3267fdf6840e4efe266a26e591b55bdc742a8605debe986ef689f5bc9a0c131317f06daa631712c5c33a604f5af4f6e023bae233a74dded177d6cfe42bcbad3a82468fdb7f60da8f4e11b61fe1c635e0a9ea0eeaa8265344a75e34d66d42ec85c817d86686d0d0c19d8419ecbb119d023b603ff48f22e39bbfdfbab66314f8f0e3f22e750b873336c37a1612c075fe7959b28dd39362749062afa4f57e08ec8dd8781f878fd5ca8707b07417adb72cfbf8fab72b21faddb8a1be9356227f4738f56f03212f4198c2e5ad0888d6cff60796be3e77d85425f666c7ad8a2c684257b922aaa6f1574d469a6a7f9840f4851454f5772161c8509877c6f3b6ac748a56a63b0e4d8e07942efeae3fd88d239cc5341261defbd83d",
+          "padding" : "2f51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "272f90a1f74f89ecd56326849a40d81bcb2ceb3cbbc7f961dd3c2a86fa187137b913b034012546e518e8cf9c5b07ce126435675f1f9f543e49f470a9d75f129d089c6c8aff33d19e51101502ea903f7b271817a58abe086dd8a2f41ad3aea277f17e26d3932c0fc0bfc506cdd19cd86cb41670d202bff6d55f413036c94520a197c12b58c3cbea1e9599e2ee80e361dad7ca71439a5e000720d8b0c979aa7f37e5637800f23fcfc736f8a9f687e2cdeca40936caadaac563a1a66c61b6e65ea3a251446ff0c38050516396aecef1762eb1d821b5c3d1a8dffefb29a77a8f680d240dfa98daea7d514216fb9dd5a9aa4e47795e6885c876b446df905a690044a85e30bd19aac5a32aab889e12663e5d68c2af656c12815c27ca62d28cadd5a08ef7c745a8dc0271799362da62dadc289243cfd8cdb422a348d23cbc5f3de64d2183d3d7e30677a665c656f60a40c0bfeab92442291ad1d15d9ee46e437df9391600af277bb2bd4000547dc4fedea3b0dcec337dc6db5bf2a18ff8561bf1952eda654fbdb865b7c06ec316a9244708c3466ca5b67356cdc702e1713d8a1591a4407e0f8eb6185437c2eb3b599c4b530aef6ec5a700f49ac3720f0761e69b97b71921212a75bf9c29ecd97ccbffa7f636860e12f54899ce4608cb774f2fb99b23c43e7f12dc262e593ee941a1b987936c16ade689e43d56ae9ca02fbaa0d4d7e9d3",
+          "padding" : "3151300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "90fceda255c8612798fe325acdca9c8dff227bb9564768155bae0187bf834cc4c03bf14ccc9a58516389da715e70376272dd4112150d678983878b5a3af8784d1302a04f7f3dd7dbc47e2deda258051fbcd018be39605f34aa0af4bdfc3015de49afa72e966d1667630992c31aea0747ddc925ced69407c64352bfc65c6aa48b0236cb0f9e7869f4a408ad90f2ee7ffe5ffceaaa9db1c778b568a3c6a1844d1af2051c81c618d3327c6085b18beea8ced2168921f63bdeb67dfee4ddc481f247237cd3a6e7ed0e4b6b0f2a332899ec6726cf90eb317b54375122d975868d785d2a99e42a3914798a0378ee293f6b12ea6de0370ba30dc8bd33d4f0c81459a21a729556fb02456a2abed752b3e0c666704b1b3195d269ee43a9de6dc224b69b2def19fe10d247d0554182eb998b49833fa874c6ce3a2148c9addba17db473c09cee1b910316be921cbb19b18b1c2aab1ce08ec1753080aeb17af2b4aa88a2b76474481bfe347c744dced8e7c627b4c99c490d6f8a24d049b7fab93a134a485127cb58b817ffa2123497bd4961722a1e23c5f9a275d9de6fcb0d0e94992e7903d4856a92c85696fdac207d4716896afabe0cb9e500650632088f1d1a13414aaae61ea0a13b756b71e88711c5a810b2729b7320cd58698cf08bf9d6d1304154a06f9d8c6f2e8362fc4ccfb9e261ebc3a600450f30d09cabd456eba321f21e2e9a60",
+          "padding" : "3251300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "af7c386df1cba24f753c589d9756266b6473ca3513b51cc50c888103636e9cc1e0f2ae4f74220004ab02c9f734ffa96b6db34556fdd27a0a6ced6bd0f695f4550d941064f509185e4b3dc2e71de6512725fbe167083650e7deba3035a5d7bab68050d2a0bb1f3ac6e13dffb43db0f6355cff1809e0450f629a99975e9368213853a1bc49538ece8aa64aeb1dfd837ea7e7ef54845bccbb8c9a409f262004f55c5e0a807ba3cbd6f3c43cf498852765f740c2c3e8ca8b3fc4c43bd7d28f6ec2d29bcb0ffa8e484b4d9f6f26c75add460a3b98c0e911a3ace448a66d8a313afc2c1abff8e4f7cbb30bd7660659da17b4c7e7c42764363899881d43c3fb306cc0cfb17c7b4d2c1de8aba3a43a5bc16431d8630bdc1338421c12d65b2909a87b7f82b9e8a3af44a28cc762f5b62b58737e07ed34ef550d553b0447f994405287a2542befed0b2eefdc552a6fb94e42e354928eec6c8e93e0b24ae6719da20dfc2d6a4a79086379fdbe5dfbd3c35e4ab219481f8a64d33ab84a94f4b8b57a174788dfaf9e558798a98c4fdb52ebaefc0f1f5617652de0aec1724e015381ef7145a15245917de42cdde83188dd12afba47cef5b1fcb064a3a6945fa4d7c6ef37ea582d4036d6cfb6621335747fb6473306b27fec80afffc4deb77578644637c9c3f2cee11a0eb641b491c84e9201fb2829d80e7fb0418ee0b44b76b7c2940edf29a4a7",
+          "padding" : "ff51300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "b986dd481be76a98b5a23ee494a8264f9cf2b37e2ce40caf5a7ceaa1b2a5cced5827a652c998e1c26d03b48b77c440733d1be048a651ea93ee60695c34b4642a88d848897d89bc4f285081345f54516fb9705c9a90589115ddd0587544ec6a1984a4a72c1b6d36f2a57218b647b57315177834169b29d0b57326b3f4cd1df7914b088f48573b6b32efdaa678118e85aa6aa319ffd85cdfc4ca054a0f04822d934af73a7aa4d5f51d93b443e4d8473831b31bcd9aee22fcf4a6234f0fd6e27125905bc0bed0d7274f0734bb1f51414a5151fe60e4510e158e98004f9203c7a711bb2057d0e6aa7066469f900bfad93c7f9b1eb87459900b915da4d1a59aed8393088d5f23ea4614551607d8cd0c0dd0aea75734ae23a75e93e50c09bfeb7303fb704f3c976ae573f363553e89391d6f65035c613831abbb5f266cf40ad5ec1ef2a4871d798575216606ad76a1634d78abe9f16d6b2cc4ae3e99d1d43ec25e93b52c547be4a30a98e5d6c180e44a7c2db4eb0247b2b42993552e691cd9eb22547ff3bc4ee6cb2033549b883a58d3f50e121a70d51070b0d37647cfb6227764ad2703e0fe5ea61108f4e7e3d3318fc87a9ff59b005e7a6d232243ae16d4420e9e024d3904a6e54b30815a5bc1f1619b4416c2baa464a61cefd7a6fe1442d4552238414d5b2ecfe531bec9045e811fea37f8cd2e7a8345bb309cf17654cee8884c1b",
+          "padding" : "30512e0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "5b3aac4ec4a0db836f2686221ab82071979fc1f09facbdaec056ad60e952c91ac77efef520fcd6627f5510b04b8651fe73c364e5fed835b412c37e5dbd81db1bb86838bf1cd865132fbffda55ecb18b2c7801be854a06aad0e1c2f0b4cafc8612ce40cba4865c3ddee40aa43782833f5ce775f2fc1be9a4097b1dd0fd5c7ea1afbeae7577fd70cd2c019642b74e2c94a259b26c34bcdebcd68982fd745127d0974a6397b92e9a3bd56ef74fbcf89a84546daf1b97b85be46106e6a6c91488694e25f9ed88ed136629ef0409a0686745c94322787dbb0df7f78d9e3424f5f47b24c6bd455d7bc1d89ce95e0229041bc985a6dc49695719878c28f821cd1aaf3cff0e23855890452bb92de37f04e9bb756fe62e9e4529e5f01b7b6a4374cd504cf7882c7377a82dbff7b4b87184709166e52238792368392c25d9b28218bf8730e6549cc9087e28fdc7bbcb0b6fc4c752b0482ab3b1c7c62d64b53fce9cfd558fcbba96c39c6a3d50708c0c5947dfc62a764f30feb857688e004d2e4e2c21523231dfa4cfaabb982b449ef516f93c81b53ff1a8dec51a441c50cc8a20ee5e2a19fa120b992e58e3cd5ca57a30f17c7ae47c6e579a572a1d667128e4285390f2906b69923fba414c6c92fadc58b87dae9378d2be30ad3240a27226530cb8afc70292eed5af4037ae6c0c28684fe964d049ddad06305ea30ddae64d0a86094339a6f",
+          "padding" : "30512f0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "4c53c7b94b6eaacda889c647202d90dfecaa05e75a1b78041a08526869cf299a48b306577c1a1d1efebc7dd694e45155dc434e11627a7e7246aa0703a1592b00898ce4cb40e672d35ffe4aee140a6bc1df6d40c560da214aaa637d94b665763a7cb34e1db10d0f6772debc15d05bd0e1af359b53a521fd359c7e67e28d87c903254bba1f0c48f95a8e4dfdf09ac7afa2fd37a836e85b10c2cc6e0e0986a526dff679d3bd9da38e24e1a8a91adbe57f40ec7fc713792294da7682008be9cda6652254f0af7128c5c5ada8f7d5530ca4659b19b3a2b4b900776a9e06fd7fbf96a80320f9cf52d16936038e151e1b4928a0232c7d0d69d7c16839cc975ccba76bf435f50521e1905548e68302e35ba6642cabd84facdb0e9e5964ea683e1f09a12939abf306564bd97bf95f2fd266ca17326c6bf4e2a3f52a32fee4acb963872893f502e7a12ed4e97080816d34a112f3b5d184f7e0c7f4fa06e716fefa909ddb8d04a07c13f23b9ac919e10231e8bccd43a91d71ef02dce87ba6728e32e6dd92b1cfd96e9f3997e56aeb57ebed6b5f9b33ef1b6e4fec0410053339a5e7eaf956f262bb0ee6e828204627755a4c7bfd29e0485cf9d38f459b36f4783a6888639e0117b5fb72505184a727e2f3c7d7117d0cd4ccf621c670b33b709d165b68374dbd1eae9ac58da2826336fa01fea00f2a09ddd7a32ec83ba4ce0cdf4108241a7ac5",
+          "padding" : "3051310d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "7c757f1a1ca4ddc9e1b4cac3b2166c6b8185de0b1214c48cf1cbafecb58147d5649e741af62736cb3945afc90e720b3d0d4dae820fe84169b2857e0bed0119593520f6f6d0103490526b9952e62ab19544509c174de8d2683722f83a332b4b2ec736eb85dc08faa8c76ce48b0ce51521a967a559fac7f39767ec4544f5a4901fc4b3c7fec298a843eda287a152d48ef75d1ed2464de565da4b82fcdb872633509b67c6b15be1ae709539261595fda30b6f46423aa74b4e12f505c2f160082b4cde448f59a70137aefa4fa4ff3f146a25a91a657c639e4855fc97c98d2f21b52376a881554d39a23acb938ba15f7f63f849b20465e1583c27bdb32952635e497d8f7321a2d45678cb8d5d3317f8c8a593c84aa0b767ec5472a0cfa6f7f4b6c32cb48dd11eaeafa25b1e195545a602f3b3cd18ac318a48743e9adc8ee1ee4134787d9de88b796340c46862d7c7ca97f142a28e915985308e3f703df70d88d72bc22404aba08d6bde21e2540a3d58d49517bf48cc0b3138d1ac08aa427876630199e11460cd6bb04bb9bb29210d9880bdd05b95ac9d769f00da72cc2f7ee20d3cc10fbb20490957022837656a69fefa83c5f0873aac068481921fe82482c05943a6607ae92c38806f5396387617c26b9f330c52384bc0e818c66465ff3650c1d3414d95bb528a768c82a7c076fa4050b353fa614a830bfb0c603a5d44a01d4d0e72",
+          "padding" : "3051320d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "313233343030",
+          "sig" : "ba1157f9b6c0d31a4c928e0c3dae7df2e13853eba781fd40605da2d2e71edbe65adac0f982bd940f52cd816f791232ae056d2553f5c82027616a65501a2ad1239d5c7b2b7511aae7c385d72f63944d1f1fcd9613ce5ccd192e674d22280a79817ab3308c3dff66c0fadbe9c0434f5318fcb9e1da396f11b4ba9e961de9f18e5b2ba3716d917e38de29027de43cda232f50d6ad948368a0faaf96f28fc4bea690d347f80e3ce21aa0aa49f445d3a4a1ebe5640f9f16e0b3d8b24405b1afae7d7eae6339ceabfa538a7ebdb66a4da5716dd3aafe0305c928c12175c648384ccc85e425b202e4cb34410f602a6bea3be79038ccf90af5357ae8ae842fd46359225d56371b05146798f04e92869c33c4166acef5bdf5b433c191a31eb4d4ef8827cd9bfe40345789d07f685f5d6fea483ace17fc8bddd120b245e7362a4516cfe4c192f3922bb9638cedd5e6958a6d2cb5da85fbae98ed6db16208336baa6950265adcba00b0203b669b62494bb56dcf3a417fe0f7d568c1e0ad1c11137d5b5736d344d0e5b3451721653c4bc9278284d9881ddf0e0fee8fcbb3f54db82747a0d8ea828229e09ce7d5459dfa590e4ad6ea2ac31dc72e68768a702546f0a98687a3dd45f2783e1fca8617d391598a6f9aaba7c829dc8f6e824cc5f9a7df39e209d12264205609d49c9958da2a3a59e4706ff9b119bfde600cb3a1127a75c77c77e586",
+          "padding" : "3051ff0d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "4614ec70586ef4c0e772106102b65652fd9e90aea637b0c808e6d28ed8aeab18ab750d5b7b5d34f918ce863eee94fae4cb67d8d30951db4bfadf62070436630a495e108f22c383c08107fbf7e363d5e7f7b610c134617c527027490aa2582ed0d8769853f9447afb7444aca2034a7e0258585c49aab54e6124ecb9f95daa507e86d7dde366c9fb2eb0430b7a990f1f055df4b3b6c2cb7e353b394723a1672301a43579028a34a92235cc26d2a15d5c7b9935c5b98a99c752badd0836e7902cde06abfad9ee917052814fb9d8a775516b948450c06d3e33b612e848c0f7dd7322e8b264d17bb67ef21177a93b13e9fd54b70cf5737a6aa870caa9a082595e70e6df68fab028e9cbb7f72e9d48c2f2106a98a8298dfddf575afb3fe266729c3346f567dbd3cf2fbafb82ae5851ca031c6e8259d822ea8623a3b63dd1de7c266c89278b3bbe2d3384ebd94c7557c63d08d290508cb77ed80ad97663540b7209ac3f7e9608be2db31b837154f1accfed92e0124fcd1c626d0d24db9e9c5a316d3e9fedf2c62fa55483ceea4c9c1c9a540d3eb8116422ac4229f3be8ddf8dbca64151590b3eef0411aaeb2b25ca03ccdb5309b28153515e9d343d5def471d5c67ac2ce59b62db6291b8753b0ec15038b8ba5ed0fd17050cbafebde18d78cda92f21e162ed72758f68fd50ad4b84b4a2318dd06279937db705d535d516fdb0757241a2",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "313233343030",
+          "sig" : "904acef8f764eda821c39c4c75443f43cc00e0ab0cdcc6ac9a3ecbf21c38999d04c15a9b11d7ca9de9c221b2ad3a233f988423868f5aff0ace189a48c4452c41d3cfd0bdfa29d6652cca3685062fd6d59122a37cded790122d1f4ddecdacfa50605658f23c2013c31814c23230ca2adef7ca10239fa9d56a141cfd6c4f48eb87b08d7fbf12e9e62d27a86f82f229cdad78ec31d1146d339aa6fe06261823f899f418d19a3bdf817f086077d7dfc8fa1b9f96586f0854279795e9b72596f25872f88a0e00e91ed18545823f8e427b2b4dde5dcc110381b77d4e5c397ad9cda2052062123b32293a1d73f7b32dd98761b9eac5cca2d397489469216eed8e4f359471c7025f66e7affd79c8b34c611233a197a96642ed5d7ae4d4a8155679f174386c5a90c8265f7c73faf1d9c510173dd52a00877bd7afc995f6399145816a764e68838afcc54dcebe67181290505d3a274be28c9b2a4db3924a98c3c13121239fe46b76685bedf1b89fa2c055f01d4a44679231dd9b9a2c24fcd0b7c95254c36de5251e496db67372c1f76422a687267186b3ebbb6b4fdb7a93ab5ca9eb0e0e45cab2b2b9ca8d5c8e19aad48776e45b92e1baa1b4275d7a8355911693e5f791793bd6cc01fba821d4b4e6150cbb4958cd1abf7e3c9e11e19254e74d441903791c8db111fc40b9cbe780ed3175596c98546073e918daffba9f87a92e397b61b8a3",
+          "padding" : "30443000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "b6b03138199eb4e399d472be6d3504666820c52260150bd3ed24fac67d346de3dfc5b94f8683704de5dce5e5e4fc2fc3dcd77a3f60ec393d4b7b183e3d609d2ada0e6b2107cc84089acf9209183607b22dfb9739f40557192292f51723b8a261bbf1f1184cbbea65f6da8118634abca9b8c23fccecd74f14c49fc0c83bf2e6c8a6ce20d8c50bdac4c52cc0053480626b01b3b468160fc47147ebf8edf75860a5a500455347630983ada520e7317e91824fdec6a0d17a9001b9d2322c39c8eafe67ec484efeceecae83c875589d6625b20f494e390fc79816cb80f8f305018143a68b46572252ce0ae5240fd55e40ad76d36993cdeec6bd6733ddfe71ea6be95998ce53a601dfe87e35ca08f6aef11a247cea520ee7f3a8c703053ecc85f9b041af3e68254b4c3cc28d10714cd9e1b6cb08b0f9a9e0a6f902a0bbaacc98db90caade714a1ede7f132593794e25a469243d7cbac76f852d822fc823515419e6f0ac8a85abae42abadf274abc5a9c4127a375cfaefe6cad2be69d14dd29829b62c9f748a2f64c632bfeedba192d7b0d686bcedb29be3ff0589866dae5ac16058e0227fc98eae32da566851c023ae67f5de3d2eea56a15effdb615d4aa217681216fd42d50b255ddcb9ddec8a81b2e7e881bacd3cc0f1a5212dd3f66dc52994555a67ac5df0607cdfd279adb3cb0983c05a0117daa86b2da84b5ce146c1dd58115a4",
+          "padding" : "305530013030500d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "313233343030",
+          "sig" : "a6cbc4959b1df49d751233e534513fba0efb1d4670e72f76ceb2b0aa90c1caad8430ba7067e4e9f4d0a274762a78c6a4c24c4039ea668e6e51ed4df98be132804078ffff469d00acad620fae3be3a9b46d89824a4f8a4a34d0c837dd6e612c05477c39623429fc34504524d6cdfee03104c6cd05ab2e01f2e4cccab8b08e905cae05d7f858a67a149e8eefbee4e7c01c851215a1c303666ec39272b5ba9870c0d3824546b3d314bf0407e33bbd8e7c04ac77c935f90b4679e8b14f724601a25bbd3c61e304028eb9ed0f974daacd5fc9f6feaf36237bbd413e16aaf188c65def2ab73353c9f17a5fa0d490598f27f3c7ec41bc2399436e7ba6a10b8f2cd6639c932c5f1f8512e3e25bd40d6e2776633828c2556f0661bb80ae7a5fd22eb50d8b617916b64df8e4927d07d61685a0c31b168bbd3f89dca636864735b3d6851ab6d4cefe983d7e765a251d26ab98c530d19de0213c7625a7904604acd68633d0284d83e6a559cdeee27f1dc308dbf23521a22a42739d5db8119dbc5d34220d1f30e62bcdd97808f00920f990edea9c3cd73ab659cc443e6c38a7209669176f8530699dc22ec02bf01feb4b2f58674c4838663fdb37c8aed415bfd2b79b7779384ad4555c62670d271c553cc00e46537e4d25fec955ca504351b7c7786993ad92335e19bfbcbb8f4441714523f28755b8cfba031c719d1521ac05e399092ad4d51c",
+          "padding" : "30553011300106300c096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "95313651a554ffad8c251bddb24dac0c4fab3544e82d62f7445cc6be99be3a5eb2b7f6b7db3f26b91795210a56907af9ae5306b73d6b8993eda74c44184385c4c0368b9d4314e05ba0f519dfb3959376554989f4e850d5e25cc0c091ffaf3388cfdbe94688d54e5ed4954e00f74d1f719d8f9615d4406882bf37f0c1cf8c1c0f2a6c7a82aab3a820f9fb241971cf51d15bd26f8df90cd3597d9ee31e258c53372c1949b2728559e174ae34726ff176d38055ec1bda06cfa96d07c4934f4fcebeb9d4a4c03080cee9d611cdf6af64f051c5cbcdb97d91fa2de5b92bbb9b01bd874e1e9ed2964982bdf4dc9140ea84b2700693f804e4ab9c6bccfe251964fca579879e2c015e6537c4889743da609fa78b155fc02548f353db6f470358b9c6e72b1c40cc41a5c3da88581663e721f02d443f22c9d8db056925d805f505c77c270f37c448b15c0ecdb2396cd790c434c1b9cf8cb889c272c0524c44351abb64b3b65194eb7b76241d971d2505c21af85588aa98b4c020e3da106275d6ad92ac77b383b463f712c70ad7085c49f4515402264cfe1fdd70a220b3a0552d71be2c8f1caa3f6f7e53b9147b42d4971d7b0314da97a20dac44795849a155a48f40dd10d2025189d5a2a6a176e44aed266e79a52713d8820a52893efd32b3d2f22509c813245a6df5fb9076a9340352167f2aba0e5d9af38569feb6edf485cb106dde284b",
+          "padding" : "3050300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "a057eeff7fb0d83799344e85b08e98410e2a85f6bd08bcb9c15a1662b0d4ccc9d7cbbadd7494b8ad390b58e5c48c9fead61091df7b3b59c721b82438265b7ba6e3cfaf3912bd3eee3a8f0ea64cb8696a393dbaf55959d7e516e16785d184847daac958445a79013a4884e434ee756de7533853cd219b0f5a4faa1133ff09d43c00c49fe37dffe0e3fac850c2d9c8e0264e64955eb3f78fa17795dd595c38324742ed77b85560e3dee3867ba4a793dcaf8f08faa612530355bd377c8009a08687999a76b5e4c74b36385a074e7316392457486a8679b226a1ecfa53f3666977af37e860e2c074e817b11b9dd4965d660074ae3c5016029a3fc210823f3f849a1c8fbeace5688a7ae7fd3358bdd6ee47d96c0ae6090360ba5601fa21cd60e71594438fb4d99b3276d49e506575d86fca9749d2db9639df69e15c89c3d555f1bb0c74e4f1ba3297b8affe1fa70d8fe5a19649a1f0d7f06804b0e021598c881b696d8a0b9396cecb61abe0e14ec200cde80fbf23cf521e110934ee7f33abd6355dca78f543d71a2b05327e0dbd88c9becb1817feb07f18df694e9312c3b4e24bbccedafef4d0bd99a268dfaba389f6462471eb9133a3bb49379bba80389105c5200b899b53b4f504d4dcaac174f99dd742ef574be0350d8c4f2db3a896e162e3058af5b919f40249349c0c3e780f685b113d01a1f4405cdf8ed4bd865adb2d1c3140",
+          "padding" : "30500d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "04050d0ef42a4d145e63322e2b20da48aec3bd58dc95a4658e69be740b655bc94ba3af9c5f9af76f023eb6051d9e2956ec963fdf64cfef1862bf15b4e896d37e884a0a23b60754140aac87d15583b0cb84d8f9083555ca64530c64984e3d322b4233b0a318ce33c57857829986dcfd1d23dfed79d3c59ffc6ba44052fe9f74232348b9e4e2d704070449b4852d6985609b3d4f5b1ee55d99612d23db06f5d2fdcabc0b1f5cb2f47187aec2fad8f385a438a5ad5d6212574c5b61f500a0d192d253968282c393c42855fbe46fd1e85627c154e4df999ed95d905e89278c23eeb79c581c9bd2f9252c265e3368951fa3270b6582c99d80f7e2b58a6ea278d98b295273abda89f0dda0caeb3fc7819673d5116ad16991563f08db0c5639e1fadcf0ca122a2d1286a2f994f646fe98efd35a83999915df0170094add1271f2e3bb193d5605d8e410d0fd0bb3e73f64295dec54093626f92a227498b6af7aaabd88ae1f057d30b61d5da0778d67cf45c65a3bee3a172039efe97e25f3b3145c47cb824b02b393d15f7b67e2167da3f2c740eb591f6a4a6afdee0eaf602fc963af1792cadc6fcf805432cfe005e2d4484df25c999eb484ffe618b03ee9bfd373418ef12af89b73ba49021b2721d18f5f9a024497dfadf201b7f6fb7415f255fd8534b62b2e2cf1e337a2270d6c286ffbadd063fc09f0f8e9880820a6dc7d03d2bcdf5b",
+          "padding" : "3050300c060960864801650304020305044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "313233343030",
+          "sig" : "25f364b8aed878c58caf9b40fabf09d3a9517f297dbe4e101eb1fd840a82e57ebe9ec185206756fc76a53d9f045eca0a4d819e87e81fb0569804c3b9f62a54ace4163c9695849878ade09dfae4f50fca5c68dd201e6a1bc2cb0cf970cdeab3630915556b79a9aed7903a526288b66b00a30f565e53875f448ce0b3b5b05e3b6cf71df9fbdf248fc1843eeb11955570136bcb4f8214c39e8c12ce59aba1f96062d7ba5e63ee178a9210f8cc53965b62fc4b0dfbcec2cb35933c7cc1bf5d5e26aa63aafe3c53e2b8d06bde785db99dd8ccc981435cc9a5c3d69a75de2c6ad22a87fb9262099563a6a149ed96012f25e0c87ea90885734332d21a66381b5c7c6a306ee571905a21d95a2e6374a3bb84aed9af3cecb5724a5afe5126541ceebae4cecf2a91802f18ab4c6f421c9ac31fec7fb6b883a576e1d26b1671663df442810ea405bb3d311b795dd8292b093e5650196189f83ae963623196ce850130f018eecf9a933c442f4f0f3b8067e24a50d363e4d10e2f254571b3acd5c318209c93f002436fdc0484373ba47b18b6ea50e9a9726dad987ff09b2bcd00bccd56e7572a75e321d1da85f0da1be719b893a06a40c3813ece6623dc70d0115946297ee0bc62d733aac3f1065e6f7b79d7b2a6f2be33e3264828e911b09e38582b56f0c1bb46c014506aa9c8293926401e0c6b4c1aabc2d70e739498f723605b7dce4eabf7",
+          "padding" : "3050300c096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "6dc8ab655d1a764a219c97ef4053addff2957e3d350b50f85d8c51c26e34d923a080ebb7a7ebf2feffa328b6d39109b821c241741ede029a55c83ed08c861f677470b8455ca048a0e329e67ec921943c1a6b5121ad714c3f7207a8b2ea1e7b100c3f95a8033afa5c0abf37f7f6120454466c019581bbf2fa26eb456f7f773cd5a60a6b1db90d9a26c652df8ef63e2de5b55b2fc14689e1a88df9cb95e11e5ce4944e1b9ad036d02cd25fa46ae08fddae96f5aa78539b062ba705af779a566209805190b57abf5698c129f149200ecd1260dd14dd59cb27160ead13c2f6d0494356a556295f6cbf5d237318e16b3ef9b0485c13a193e59f0adefba176d1f27ca5dbceed9ca6cbe8e112de56084ff3bd80d27a2d5e9306d6f56764feb4be5871930ad278c09bb444e213a7ec5f1fa6665a1f39c6fb4f4fc5aa8bec99141c4c559fdf9760ab4074780e191a9d3d1581ed411d502846748fa2956f75f779a2d0172c8011611da0a2e77e2fdf94aff98dfb549ca04227283d63224fe97d01bc3b80e08efab42b381013afdd1de26fe343acfe0d9981f0a432888c7e93afda0b4618d513663658556902c2396156ccfc4a8ea7bd650627a8228e51c4252b7df0ffd0f5b25df547c2691d6c4cae45081bd66e3e18ffe8eb37d378abef362024b4b73340cef4cceb36b38d78d816a2489be479244bf5fd25416a277535b350a90eb799c7",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "313233343030",
+          "sig" : "6f1c83e54cd4810755b1ab483607f44f5437b82d8fefd1428e4831a825ec7d2182fe4e0910a596413d425aea53665a58622f66bf3b2fd42b04d4fc0212a5bf06c6093c8fc87c3fdcd59ddfb4672e3e78a289e74f7715865035cb1d66dc82d70b4565594e368e02afce093f12106407f47c2a21fca84259fccda46fcd1de83b697d48123946b1cfcdd58415d3e8bb5603981b0ae3367f7a65fb80b8545104fbf8a7a1df79d2b9c5c2775c9e25d5675c8dea5beec01ddc6e404e1b13dba3cd00ee19f59e5fc69bb82aa31a26f7e5ebbc8884783ea3fbfb8a56558a487d12f2b54f6a79758f2f9c803475979c0ae53ef9f808a0ad08abc836cd87134cd956e76a440454e4b9632d38f67afc1fed63d142e58fe5b61fee453ad4fc180498f91d47ef3481622e390c81bb4ad16e641d2c6223aea9b99ac4a8c39aaa8048e2fe34fe938c0b2fd5f097df6f15280c6a8af7517e4f94b0d081582892937efd56aeae6dfd8e410c08527395fe58b7520c7557e3166a863c4c29c79172f164c4c99f084b7bcf661a2612851ae04656bfe640413b45e0597c05c221def5109be11c28038323d5fc183f0b8c487551696d800bc157303e06dcbb8ec86a7423bab242cf24fde4d08fc640735a0158865dfb338c23ce90a9f4976836860fb737d504e5ca6d3d733a4865d9aa9e97e9cc8d923d31b8088da0e575cbe4bf9c78410452704cf5a2e0",
+          "padding" : "30533080060960864801650304020305000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "92b2c003636f38616d66d59c6288063f36e8c81b57a64fbb4225fa0bce3d058dc3821098d60d44efe8c925c34d3c607bc79eb6a8b667bc99800843bcded44846a974dd0eccae8db6a5a6bf66bf8df83306ccd785e3d16b21bbebc9be03ee86f107dd9a99fb227d7c95aceafaaf2945b653df862269d16aa9eead9449d77c55dd998316f9f9f6f8de1b2fdbd9eac1791541e3b725902284e6ea5e29ab66bb00bde4b0f702891205363328f0a185527826a1cf3db16d016b34fa511234d672830606747f4b06c251cb153707207c22e76f1b85841db5a282554e6d35bdb540709fa1ff4a22d429ba582049766aa5b9a9767a37adef399ca976f086e7b8e0cdd61d8ec24258056921b487d2eb51ebeeb612d26d5678f51cf187be515a4dc642674c9c797ef0696ad4b6bffb3d958aa95b76b2320cc2383155e6ba45ec6546d57925c8ee96f212c46af7a3ad6f8bc833f3e3b416f5be85a1ff7cf77d112e7836ec085ae65c183b1fcc598e9f3af8bd032b0aaf83cdef8109bdf4c3c4a418c966fa459e1bbeb8ef48be950543a784016e84cb67d26f5755e499bf93e8047d16e954796d5522b28df0a20ba9f27b2141c9f20ee1a2421d13822fc35d50e1d6cc9ad4bb197b19b6b9613cf7f4d56501fe9188bd87a17f6ca070c95ec64c76f8637fd952188737895a327d3c90513f47cc9a76d7dbf74b554367882b934545ae2d030f3a",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "313233343030",
+          "sig" : "4e04d028ddc31ef77e19b3638cce03719a814aa2749b04c73be1d5d2235799185625bc17f1116b386bc70bff5caba577cfdd09270a7d1ba05de0770dd727f94c5a7a73a5beb611c68a765bfce90983e6f1948168b3921ee8fe338ae19d4af386b8c17dec3edf4ab7aa9cd98a3c8c6740b760de0b07bc7e5855c5c2ff196930d0af0674712f4b4b6c8043de8284d3175daef39756d8afe3bf5ae868045553ed7bd8233e087ddd4ff276246f16aa9676d8e8bd2d2499459c927c164c9faa9e9a0f12879c13fe204c422a4256fda1f67eeedfee97fd67c726ae522d2a67e56932588439aa6fa190b3cced40daca91f7f27e22c36dd17e4260e4e85cd1d005356863eee5fb09653054192003fce49dc211102513107f01cf0a86ff85ad0e9808a195f721ddc38405bd13b26603293b0edbe508f3df5da640270b33a7f4bd40558467ef1945087e57e387fc3864bcdff5de2246c86b11e1a5ec56161d11dc10cb116f099e9700060a0daa45c96930aaf58b440a5c78c58057cd93508558dc363c332bc9a825f0c0650e49053e69c6d3798e127236bb0397a4bbe0d7fada7b5caa28fd7ce9c86fe57c00eee1a7c0cf2e218519dc529455cf650ea19c6a446edddd04733376cd9423f3f64fd3dd9cd2ef9e79f1c905be8e1e2f1c95e6e0289cd57c281f715a283258e3887d853db97677e8f3f3a7fae06cd9eb29012ffec0ee3347b3ba",
+          "padding" : "305230800609608648016503040203050000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "968d675e64da18df5f5a42aeff479ecfc8cca4c2e95d3f75df51328496dadb3b33b9a0c0606fcc8c709e9bba0327f8caaa1f5bbe11fdfe89b9e34e5e3411cd3a64e08b268689386b2a83b0e05a997083befc86a74fd3db92c0445f9f253466807cbcacc80592c5befa2441aad8b3ca3c561522eb0571556d6a71e1cbbef325183fe70e92af1bb2d0011b0f56ac2688d7d24364e324bd76a8f86a3274647197c4ae625c44f24891365e62bdfd0e50d13b3a883ce21c1a563620a4023f228078e56a75ec884e376b09a6f03729b28e515b3ebf7179e21017d0c129832a19f9762cba6af38a2ee230f2c2d3e07258ea3f50a92f39f13050578ee0b5523f05a5be71ab0f84d13b0b63eef3632ebd7139de37b37056982d202141582b086ff099aa4f919ce2a346e43f252289bb21d0005c97175764cb9ce717aec0e8ee1b81de516014ee5885d442b2bfbdd6e40c69ac74e149612b21a017e6d0dec38513e4c4049f47fd01c23b56274eb074292a1c40bf5c0725ff83ca0fa1e32c7ed454ab6cbe57507a1929530462531560f8b075d363948dc3ef4c3f48f44853d395999aae8d8efb4aee9e83e490d6a3e76a91aa2569551e8b82b760029c5f38713af907bdaeb0c36079ab3e16dd678762e67c7bf3239deee05de9b11d5ac35dbba0affa55b0682f20bdd42f5f37a6022d962720dbdaf9c7e0f751070489c850349fbd9f9ff486",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc05000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "313233343030",
+          "sig" : "99c99292436a3f1b088154826d134aa10426f2a1d3a359a316eecaba5537f4f655e99e268d66e146250da025b82a3265d8ba2994f7eec9c9dd87c1232225cd985a40def354a42c4ed35c428743def6871d2c3381bf8586634558c28f5eec0e5020993359037fac4d1ecffc2468e75c88ed996c7bec2fb9c7893a6114381662be9e476653973f9e93d12ba4c738a51e67f813ad34d625c75f99acf5acb3cbf9997c86c52da8b41aa2012f2d492e30e898ae5f79af10db51bb492ea3b25f4bff2f4bc00b35af3aea5666289cb2685917d3c67b32c3eabeabfc79b1fa2722157b8e1d36e503314017d022f6d188a62c6f9aa05ab53ee7851e911dce4ee74c555c3534660271e3fbad5d398e5d0472651079ac2d79d5ce759ef71e0b38f2d2f023c4d9e7126a02773c41c996940b84193fededb07651ccd5b411e5f44d0e14614978842fa7a38c127d781a59b9c1a9f76b50ada3c4835c3ba2691556ec3b90ca5ffc93890ed1a6fdff6b2e40dcb747d1c2f7112e4ae75e79e4061823f330c6931663c4540d4898ed2004209fdda0f65eb06436bc562546d0d49f8181f7aadb15995d2e3468e41bdbe96fb42079dff14133f05175ffc5c6547e76ee232de0887713d9aed4daf1f72b6e131002821b5ad30a0afae478de9b3e4a559bdc8db9fa523b1aa402cb00a55320bc3d1e7bb2bc7cd1a3fe9f367203926a5da28a745d3741b368",
+          "padding" : "305530800609608648016503040203050005000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "a79dac666f7dd5d498b2e84b9b5eb5a88138bdb68e3d2377d85dd1608ccf2eb73cfbacab4f0ecc390c773e8676b88512fa3831093dc88264768a46a7914220b511f64155012df7927eac52a5367a8060e91259d169eedcc6be788dc39bee42b55e1c98f1c8597e5bc5ffe014cf2502dede3899e91ef7284689f726ee9ab4cb405d729452359e210d71219c236e1c66c694d69d36f85374d7f64d9ad4168a45e8e50309944b8bcec31f8131252ce42dcc840431a27a8b2d881bad3cafac25f653e65a182c8ed5afe75c82fb056ef7d6bc22e82c47f3bd0d389873c4decbc0b94313902331595c933bf445feeb6a9908fd2abe26f5744b963fcf6cb225d28612e609c1f443984f2ac84f1c49a8c814b21113d95dffd0307019b675f5b91e65c2d0756782ea1969e9afdba85d18ba0f7b4b5bc24bc06458cb3adb431af2be297387a28bac89f2266bd7dde35c9483183f8239bf7bb253df1305ca218d1d4ff7015f74df1ca7e1b29f7a66844f59e7ed96ed28b4bf53a3e6bc21b348fbcf144d26d4003d3e15ea5e51dfbb40bbf7eda7f5f0ed515532bdff3943f98fcebcf17c1d6cc73825f093a4fa261550417314ff9d53658c9f9aab00839394e91c1d07bce42a816f1a80f0192b76c482affa5c0e85d359e926d43bc595d0e74b44c3c6195bc5fcd3ac29734db6882e344bdb56c0dd367b9478880935bff82381f546d5182965",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "313233343030",
+          "sig" : "5a6d798ed5ea0d324429c38276b8f78bd3dd300f80b5700df516a4ef353587029bccac953861455cec0fd8cafc06dc18d1bf4883c76ba7c52a55213b7b57cae878e6ffa29890c4ee9b1f9f402f81168ca1f8fccdaaa1d3b712c6426e67690b868391d32e11e238c8edba7ac67e52ce364c9dd3302972a14405e43b93e212ed0063474b1227ce409d4e4b9b6c6d100d96670e464272b3db6e2688bf3d3214b766218d14cb2d33c53cfcb70cb955bc8ccac2fe2943e9209fdf046d03bd3d278898aafaf4ce87bcff6fc9ca1145e66fc35534cfe5e9323ac1ca62665e71912d50b3d0510c2f831c5829a33d5b86ed5d67270f21d514745e4a1b1413157c4c059bb43340fd30552a0b2443b3a005f824a3fb3ba930f836c3346553c50fdc4c344e8ba0ebed8c5a095c9fcf3f6725c49738740cbc450fc6a6e07accf91ebdc8d73fe70be3ead564823e4dc86a6cf2766b1d528ad04dd6578f4cd582b23faa2a2da787882012a8239d28ee4a072265eec50637b753c9f03ac890767df638c37834a266251f57a7283efa8ad9f9eab2f636608a7708d41d06c94382c1dd19c057f163e4d1363e93fec15c4739c41e1428ee3e013354739a6321d7149c51740c23e03a3e31ed1856c04fd35aa3f5e974e5900c29257c5033db7930e8e1c3b0c08de956cd89ffd1adde36f330584b533891505df523481c41945842b3136a13fc183b9d0d",
+          "padding" : "3057308006096086480165030402030500060811220000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "c16831c84203186d55d5391ca48c31c4a7ea17f4c83a773041af8fdbf4f98511ce7122decf06b7ed3a0b3e3a3fd3aa9927984c3a5e59661ae35366b2330caea6c2a33f01134d30fc210529c599e9f4dd0b12142acefef6b218ed6723dd06fe88a55d3e9f3cee052b83044a46e84d39a80eb1ebdbb0db8a0a7caa5231ea82a9738b1393e77965092377723f9a6b8f2d6a35deea4023d87c6e6a46fe9cde5fcec17ce55960a784df02dbfaa300f8e939d9afdc509e7805e253bdd64da9dc3e17cda39a4fa1e183c4e81f6fda5a79df2a4b9cd388509e350c47d5cc039514a25a37ec758ffe196afdaa8174578ba0e91d435580f17270847731123f0a9fe98a7586e6c82da1b9b59b43b283c03ace8da8eb56a3c4b6231893622100b3e277cdc0eeb13897ce9c676c0c1413b6751b220cc6394494962b4fc09aff620eb82d59f823afe1be2341908b3972eb0d17280a67de0156ea3430b498201e5bc38301928983a61473ba28fb8984daf6d1a551489c26d69b9f8761f2d5537e514e453d5d06ba960d298f25a16aeeb2dda3be6072535c336c8c8e96d99105a7b3dd93a310073e520e7cca1b3ca34bbcfd247c981685e7a0b141de1895c555d2feb883bdada9f070edf8cbfe32bcbc9d00a64e636c776fe7dc4ffb271ab92b673b396c90cf3774beeb7fc568dff65b46e73764c3c291c92ee2910604d75d3d890a90ef57461a2b",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "313233343030",
+          "sig" : "8cfbbab87567c1c9444563c93fbbc9900e197b42e47db8e082aee99df5eb7457e50282b28479c59a49a939ae6819eaec9f6e20b3631e4d1a86a23ae7eb5f7d7daa28ee3b5ee22b6ec7baa6541795d5785fd432d9586ea69951c0e2ab370ecda5836ce161abd44d2bf811c9145c40aa0d79eb3b26d2969b9e80d408c8a15f468989b0cd65af62445321c901309a18791eb87bd114dbd7f9a67d9ce717d3ee72c6604813593e885d52a7d6214c286c8b1160a50c816140ceba231b9b16e05f73006b90f63916941916b987d732138c6e8bab399f2ff0ef3e48aba6cbda52eba31555a89dca745c8e20c1dc4711189c49d58f212ab314159294aef96d6f3c3fddbcab72355d8d3b4cf26334543fd9f4e1b7e78314db152de2824f5001c1ec25fdb1cc9ad7a7ad753f4da458e70517e152b17961f27fd33b16222e974add27e34ff67f31da5bcb05c489d7b0bb163e0043d63d2e064a4f626f8d9917a9ac0a6ae79d94630773dee440af99562a7a918d77cac2d3c82e43cbf02a4cc00e4e7dbd149151b78b1aff4de3959b857fb8cf73f8c0da2d683101d4d3bfce02d234c343116836cf47aec0f593ce76f0ad9ce206194b4d830be1008937f5dd6418adbcd58f36c772e3ac456bb7d675f7027b692d3e759cbeb5f6fc57fd1ec70d459dc6153be6f056fa5c0b660cd37c0d3c73a8fe6a368e81c4f50a43d6147ffc057e6642000e",
+          "padding" : "30573080060960864801650304020305000000fe02beef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "06d7c10ab9db50ccadcab75474b8d9ac17dd43f24c5fb37ddac738e3e102150975e6b37c63bbcdd987b9675d6f96c1ffe35e74da3c13fcf689a5e0c33ad11db44e87fa3db110e19bb25a6c8abe573a52f0b35e718a2c3365dda52f566c62785e61a47f87f56d870f148ead3571a1569f2e58fc46a8f5f8b7bf03a6494d9bbba960da1ff465815dc697480c8c4d4ac08e960d9f17511aa2bb6347c0d95f33e7e9c444c302019100cba7aeb93eb4dab84d80764559ea3cd3e17ddc8606a279d7bd54f7f2d2e9eeee1ff28427cb8fc1d4d4c552b8c6a52940841a3409f0cdc28eefb5eccbb9e12f604bbc8ca24d02d706f633810810d9bdad9ee77cd4971c6c5c6aaf3718440c7a8191fd1e5b334435152552c34181aabad626384e68329b32b4abc53b157a255b8e077dbd950e9e6cba24cbdc59e54ef056139b5899ee90fcb0113909b0df2ca447ecc860c416c025f9d65f7f17afacb7075c3378660a9432f4e4582d5db2009c5180567522c5a58eb72efb1ab9b4799111f351fb5b0a8326559467ca4363094ce9de5ff622fe15ba857d5b24a091a39cf1bfc0a1f5ca167f3a61ef57bbecb827638abe183f8ff1bdd6231e262a98469a8dd2afa0b436d9c47e121ca9c9bf318ffa0020490e89684662eb540b4eca22282695f422aee1520f290e10c6a66cb7e2153bbd3bb90965784b46711cf93750907b632cd816fa9398614a",
+          "padding" : "3080300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "313233343030",
+          "sig" : "8bdd32c9ebc98617e93f5c81c5f9b2e65183486cd249dc4efdbe1a91aa9e3aae668f8008db7f2a09c42435766ecf436dc73bcc496e6908a17697129ad1594ea8d169b89198d632907e050340583a7e9580328cadc4c6cce0686eca1cf7cc5445b84846a4042648120de621104f05fea2f5f12ca2a856bb90654dbbe1ab3a15337deb7ef4798fae6eb3b9664d7afdcac73e1972e5abf2f16c8d1672e54c97e321f41d5ace05eaeb9513e2d18cbc2d7a1ad856aaf18bc84cc6cd6d7273279191315970e55838922b3d10fc4d99eedb22bca24e20e586258928343620a8361239b919d03a2ab2a537f2224376576eaa4a67e0e06cf79e335aa39b928e1c4d7a2a7c87ca4401d188715a6063802408582fb486c8890dab132276665f5f173a587fb2c4d3b1e9d50fb62e7ac6c548ca6da19d1a0c22a79d4c190550e109fd3a85a0adde9f00b22a9331eb72bedb1b564a788a5df7b5516388f37f8fb7b534adbd8ab7eb7be5e66963c6fd00bea58fdf570ed9b5b0aa7cebfb17b477e28ecd78461ab8b0cc026d2bde97fe1d1643a971670081ac495396e61d234b591ed07c58081fe938d0ec534eae561cef1999bc5cdb1f20cafe4dc4223ed015a41ceacbeef2e886bb0d3e5e70925f02c8e9f59afb86c5937598fd69d61e69054d5670c484ddd5b2b54a2e39633e611dbef4e4c72a8be0b7fd163ab5686e09030abcf373fe86138f",
+          "padding" : "30553080060960864801650304020305000002beef044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "9188914ee2bbab207120e12f280d6176cd8e12276eaa94f9c7b7dc66d886879b5641f12ab8b232982db86ad14145191f13ef8909f63108806c49ed9998824845730ab86db5fb3a4b4ab100f79da8af5c10d0372fbd2c9a2448ad5f3b10365fa316762c3031218b4a874b66d14be5ecada07c9e772283a9a678450b60d56fe71a6c2ebb4936c5c89b66dd2b68ba4a5cb1dc2866cc3792e710bf6548e24565ed2b15eb02fea87d239ec8802f802a31bb62591b72f59bfb4a63403d89663d9ab2aaf87d37400aee9c44de5f246571bb2fbf0557ae04a35cb515d42232b0a311fecd31319830ee6d2e505e6b315aedaeb68e7efff3015da5d390521782d32edc15386e102247f81d0607bda75cb15e06bc7bf25bf3063207c36c85a4d1cb3da5b96b638df3c80fa40579209834a1bd980e28da8f1916f62d9bf567e0afae734afc2bb2ca8288487164a3a7941b64af1a86efcd630aff21587ae9d2927faf1534d23765f7e88432a8e2fea53f385540fb992a8ce42e89176c07e66656e03fc875f81b897e002783bdea0eb92d1f1e6a95b676f616c6a03cd1c952477f3744c5473d4e2132e7945c290239428c6f140f79907ee082bfb7e6b96a3f314956acca345e8b832a8f97057a33c70416d2382c5e695173365261fd1f32039215db4bffa1a08a0991ff2bd09b31ee4642f090fb029a95bc1edb6e310cbd50cacff508ec1d2040",
+          "padding" : "30533000300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "313233343030",
+          "sig" : "bb7c6dd59e12462ac9895137d99e3c8d96772e6cce695c0c75abada842cb602c1a2a74d048e1ab581b237cca9dc909e6012bec30f40742375af7a0f6a00e85176c22ad0abb49cabfe3b15c90376898357e6b1faf61428cff699046a2b3b534b4c0abca5c1c5494c6549475a468a33e139edaa09ce1f59d58e51b80cb7c7e268b90338735bc3019c289cc610a9dabb6dd8751d00f7a90148db42d812aa53aee5223b76a19cdd0f41697aecbc2860f52aeaad6ea9927bfb1e7eb5b66c44c717c4378150c8df156a8dc9f42b9859a7905d79af61e7ab5e9aa7dacf2177c12c6cbb43c70815cbef1b4d4d7421564b1e6587553b64577961ed23b2da0113ca0b6a86f78d98ad3c91569992b1e1efec5a7accddafa8d806543f0705b0808fc52923575b068cfb227ca0bb8ddd65c421456c1d7028ecaecf56e2f42dab6b02c6b6df257263d941e7540c67cd09db507d1b63c59047ac7859f0d7d311419ce3016af5c2b74f68c3cefc073d5740aff573696c5f6c3e0c5f099f9d25d9ece981961a0591077e2ff0e07e1849bb75874350b68e368c48a1d9648a91904c53dda47b0071577a2217db4ed9edfa33aa44a250664d0a7c7c8defd05cd0c56d029f3c3213d1115cb44a109367617ff6cda8409e8e3eaf7042e49a9391e972b70024877ebae686909bb339d3f7c225256e1735d3b11028bff3ec7ac928f8469c60bc84c58fe7f41",
+          "padding" : "3053300f300006096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "a292fadf0c5839f4b4c282a8871f366351d2f5889daf595e2d309f750fe7d05961004a614f398ad47138a63a9eb493f4232e8073b30f48245c12d700a7ca19a95af5f128a5203f80709e7ca612a8d3924dcfe28d626351553287de2bba75a6aeab85988566555b22e4b13f8bfa5a81e6e8b66f51758b2de5639bb7bfef99df264d0e0d5f4e475b73ad5533c9862fce2ac8c28463f9a2d9ad6ba7db7d94a387c309c92da156c46a7413bb6fbea0dcc14492f1b8fce4009daadefd6304e864559a1b27e473df7a8a7166054d9eef10511c90ea6c69cc19389529101f917c2562de3a1681fa1b41c789cae6ccdd82f93a9dbdc4775274783d37a8b975945ec05a0d7362941a041e4fe7ba87624a586586010444ac79ffea8d58057d808d3b8c1f2c705b8f77ed5e3907a16ed8685eba933d34f1dae99743a11a6cc6a47c6c168441ccdac81c0a9006ffe79473385d2c9f74ddd55d593af03b209df03eca844a26068c2da0967b7d0f2f4f2f2caca2decdb2ed3b33bab1250a0be60a2b0722cd481921518eb025f4aad96ac49e408b74ec6e372ef7c4921622b250a73de56b2a1721b5db919182eb3a5cad4e0f383d9ec82dd588e544741035be958e9bf14f7f029eec8828d98f8e2efc943efdac302e78e424779dda31d29ecdbfcb583e9573f0a3eb348d9f63d683d9e190f8f7a51c1fc7db924f70cbcdf8c70ac1ecd2176d38f6",
+          "padding" : "3053300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "313233343030",
+          "sig" : "22e0569ccd3187cbe2091997452e48c5a91308a4f9c944f58afc3ba1f9b4c155121b4ebbcbcb90a548bdf98c8e713ba6ca20c701363af4fff2b0784af10414077f5a0747eb60d0f1a38a03d90aa952f3da3d908eb8d0de98d4dadee03d4fd2ddc4ada4389d21da9d8a2cd4ba752ace8be606c0c088e10e7b411c90eaa342c5e8425f5733d0668c586ccbece1482d0ee5855b3a5d93c5105d631df7a1d13c0597d5530b32c13ad5bc7ef5c578e442322267a48b427bc201d30c2010fc6c3e27c40bd924e897e9e4d932467c1389c3465c71374e8a289720332da4a0ec29d7aafdc115515edab8064cfb35c653b99cf651c2fb004dc898a0c4b66af1eb370b1556b3d28814cdce5b7fff88981e6b7707d95eece4b9b75d624b3c6efffc10222e742090dc030542b7c2918bb2c73e20139aa9c383be690e8be74f3ea9eb8881c6c0ab27c16ddf10867a4a7dce3496b1a0a2295357d49b498ff1ea0a27bc7ea182a7a89a7cc53859fe2ac8d876e30d1e810bbefc5a48bee8be7b3e12e83c1dff218814bd6ea42228faa6b69195121f0d079cd887d1da9c1be4e3b3ffa9e4d23a1884d19845e6c76e74d9319884bd31622e09525ae8507c4d4b66e93ab55d57e1dee708542e1ec9ba7baa2fbab8c41c8be4101bb7c75ff7f3178169f93899c0c0b4550276cf166962194091c177179481c620a50290fb85feb83665a399f0afe6d961",
+          "padding" : "3053300f060960864801650304020305003000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "57f36d681dbd16ac7cc447a9bd77b3f71ec31ae19853de2d9899d8acf7a95002f8e838efe479f56995d56e9822e5928d261017e1ff0042d00c9aa8b2adc00ea72778279e9665a394cba187af5b9ea3c9772cf0721528ca14d1cb6bcf0b13a71e455202641838f6bc353563204147960a5cadd5e370929cbed21150c85df76dfc907d4aa372e66e891adec59aab2460a97f473f0bc1f6480d2bffc94d0662d5a35c6771aaacd07e096f9802116b9b2440bd2c4b85c57556f4fe2d0765fef9c77b2428c39a1117fc26ef7f15fec08da0be03c0fd4617b32038d692aa3999f81bff85d1783a48a6f0973bbb7df191da707b797419c856e589a5acdff0a934b0646bc3e42fcf6f0568f233096209466f0aabb90d9e1ee5945820f46fc4d7d63f12048a542d3d4df4aaf21f43fd7ed74183971b458da1162864fe8c85187868a3916ba95e80cb130cd89116ce3ffac1b9d3090b8d90be18f48d61ac56635fda18498b4bc9a6ac1d41e5cc7f73b67f28dd03572f1efc3a73438652c3e49a6be79c9325439005be0d2d87d9fef65129bd6c9186a01fbc3812738b006e8952c500f4b271694f3cbc7b9dc648be76592fde4fd757f68f79d659ea3edb6b3434a73a125303e1bbe6d24bcd8e0e4b36e70b3e386b181ce8291492eca83fe7633901423ba5d273e1ce2bbb8da9b6afa8ca6870ce99cec7e5d470eee11d1835012fb228ca1c50",
+          "padding" : "30533051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "313233343030",
+          "sig" : "342ec794c9b7ca5d17ac049f38b6528a847ca8b9a56cbcf05d106b4f3ed1459b3d99df85f2f5c55f1c78aff72007ec8a04a7d484865120907cc4afc8cca65bbab407f60d7548e189ae03bbe3084a5eddb27412d63e2475b2bdd6f7e432e3715222dd21ab3311b70d1199fcf3a1577f94ddfa9ce19029b7d7e9bab354fb471188f03956773b839d4c2e2527d912fc13daefef311e023657e17f2accf7f76056e3ebb24ba42881ea916d88ee494eac687ce75c6af7bc5206a25ccf3988a6c39aadbefacf496ae5864a1176a1f556f70fa9885b4e0fc263d70f11463d1409f6dca8a3fabd5898a8b93add7cad8d46f122173a0b764328e649251ea1184c4d13d7236fd420c8dcdfd821df19e1ffbb082dac30220d3fb7e16bf9711917707842aeab180c3ee05ff2529a3c5be2677768be4ce7aed70c64c8dcb8c7b22fee404fbd9651a7a02d514c62e7dcd8038deeeb8adede607209fa263bdae4a5ac37b8e7f3c6e8c3a9c63ebd250c5846c331638c147e39f3f8ecb6356e9238b779e75da7b94f4924d63211796e88ca11343455a5d1b1f6c3918c311ece01e5fd65f766046452c644319cf4e495e67ae1c108e5b7c50fe5e3fbe3fa75c25ed71c013f81ab53a77dfb8014f357afe68a42da2e41e5f689ecdda7445e3c5996ccf16eb2dbc2b5f4c4601aa4094929986a776def1da70a530bd21d71d3ef62d559eb2727216f0f30",
+          "padding" : "3053300f300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "313233343030",
+          "sig" : "770f83107ea496e0b6104c4d507008ad00b37608d30426b960d834c64614b5ed556771cb945f69af00cf2b055a08c1e2292dbfef0135e913164732348607873891269417b291fa737bdf689a11f48638e55a5242b55698b1c19080fd01fb4b3d2409ec9cc3b8a06c0c6c3244ccfd38ee9af027e84a2ab0cc1a90bc9af780579dbac88ef61a5aad1a8cf6e625eb8b18df7413d4363d68171430088897f02c5751a321d5c44a2de28c4739e974a881a46bb3c7d33021dc40c6baee2b85baa12bc9a54047834ce19f2ac97859b1e3818cb9179fa04f339d0c348f3681f40eb775b0d5ae6df0a653b2816d98f6a3554846f007c357f1f357d4cfecc4177097b0eb88dc4d132d70872f3f51f18617781e6a4f7a3ed74fb653c7946ee6600392a113d446d5a957fec8b797313ecff115eabe61cc7f01af93fa1af6dedb962f26f10d703d4b984e5bc33e74de3c04289bb9a96db7180823bf74245b4ca80262438cea1cf2b552289976b026301fc1570d94fb8767def547f086d91609f5b133755631611b81b3bdf1d63e163c3457b2ff144bd2a98805ebfc29b75ccc605e2a98b75f66ccd4182be191f8558c4b5aaf3446b86ccc1fe74758b85b555a268eba91acec4473bf96729a423f22d3222b042aca2d7838348bcca7563df0659ac6625f1678454e7eeb35ae0a63873f0e0c2632a4ce990826e66b943d70bba0bf562db8a289fe",
+          "padding" : "300f300d06096086480165030402030500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "313233343030",
+          "sig" : "bda7b5ffedb9d0072c3dd8fb9ca35213dfb68e61eb9e3ac88e2647e3a7dbfc28de193485f97561b7c72e899416bcb191798cdcff2f50630aea4b296943a970dfb983acd47ec990d55b1ec8c16329ad94320fb1c2c3b896a19619dc204523aca890324f022b41a20bff7ca4356314bc4e952313edf91cbebfe55a65d27ea92290b975adeaf952c5fbc4415e7d8d3bd6e6319b578de5a66fd0a2197736b88d06bbd0a58ca65e1ba649759c70ffc914ab4b88bb81a1c7e6a2d4327944c967019ee63e34adadd5c1c77c2c733d02f93503e532af0a5178be79777a75a30bc2b4a5a374ca61f35f9d166d9bd3eb0aec8cc31b4c7e89bb751d1e38a16df5860e393c7c7ce995a315fb7c9a3d5c7eb38ffdcd3a9888c5b80b19cf35885f2ca26ce78a00d05654ee97c5dca4624f5c763bdac9fa45e8a0f53c3a18859f544421f746d00021aecde92466e5be57731900e57711e49868f826286ccf44133411b566b5300d9205aaa3231d02caa8434043e30b891b4e47969db9cf85ae95617db31e9a9d8834f816552c239649dd0962414cc683a39089144f3c1ee8c622c41c7b9b740a840ccd7f24275618a3f1e68c50f37c8fa073bfce35629c5512de29e50e74cfd66600564469de2500572a3e1867f549590bdd99f20487276246742dd114eca02905ebaade0a3895ee0f3d5fc70249f28612550f1f7a9a0356d4fed33020125b21c7",
+          "padding" : "308193300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "313233343030",
+          "sig" : "1747d4961c28d37c225f944ffbd967ae2fcb8f5dbd3ec217cfed16b1ed602f3d00b16007f94369a754f240ccfbf089f13a086d7e5cb5c39b4205d24c1b1838ab13618c8e6607d9fa52d08243d09c2ada538ee032fbf4bde8fd0b80ad97a557f6d3deb365481e6895525db6664c10f909a87915091608764707a7afc42a64a5c8a8effd4855485de4457d74765aa82a744614d35c83a21ea8f6b5591eec74a31476f39fce293328f9d3865070942308d64599d704aebaa707e406f3ab55945b7f9165392c13d069527011d813d20638d80eca7fafbdb548161e7f6c8ed25c0e8ed1d0faa3179dd18e75f0132ae11bc1904f7b195a345ea2b78025f0de6d81e05c01bb1734c766eb23e4032febfd5a3617ed3641ba7e18a16cb46ba9cf89dd406f8ed55748e0e9e868578a6575470b1066e336b4bf8fa42fc687d0590c8055866c3bb33d272f435258fcc2208a161d300267e7014b2a6bc95a42638daccff3cdad1570bc3e92746108d56d5ecb4a5fbf7d43062b5906571f41e09a3f7d2c5858b80cc25f9fe54774874539ffeefb485e25f2330893a16a0754b681ef34672eb8b881adb6700f5e19251259a3d20f42fd8b9bf3d9bce3b7b53639564171ae6bf78943009583bb1eca73809b1703f1ddbefc678e3f435c356676803a6072bbd0711d367f28f70338414895bdead3c97688c1e070f77697eef691a8cc609660e4f6bd",
+          "padding" : "304630020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "313233343030",
+          "sig" : "bc565c386b1056d48bf0bdfeaba954dca19874a51159f3ed835f2ed3d9023e3752171e70cdaa1f8ad1bb47cc921daab303f371759a5eb35a20722119921f2b3b866d2a806c4ce9ec9ea458b26c3e4d1e1c146b4e5cc855fffe27e4409a4fbf1c847ee6894a74a25a28e1dbdc4c3cc58c645e3b81be590aef4ea038add13779c29dc7c25710750cf516551d53e8a50f42f5117b9c6e139b2e8f1ab64331886a959136f55a03614d230b2f2b076c5d76df5dfe1a3ecdd38718cc6cf9c4d92f63df73b6672591760e46ed7e99ad65a800f15df2b88baed34d70242ae8f1a966f1289fd7beda15105bcafffa314f899016ad723a3e8fe067a7fb7763e019845caf1259b8f82cbf4dfb8682c7ac98d9293be1f0e697dd1c2c5bedac5a8f4c84e7a27f5fa5122007991c34a415ca7c8ea7cb15b16b2d85783e703e6b95ee7e2920fb5ca35b1f0e06b7f3107255e8b3d6041c5c105d225fd3eebd2799fc6677454a8a72d9086f741e0d83b4bf4a4c8051e5f02194328089182de71ad70c083287150c42eb48c613ced2aa51c713fffacf451c7bb03bed05280d3b30c2fb702e9efd31b7e79a3c27e419243da148024186afb40213a5c9b9325987c3abcc40187971b8590f6f4c3f945a63044851390ebb6ea99fc56e682c2c0c1b969f1fd265a7d6d11a38ec96f9ca517ee9849634bdd0cdfee2ecf0af21303ddc97b93e9c12e0a136fb",
+          "padding" : "30473003060500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "3d8f557eb9f275a861327edb49e64aab8f27f15b0503ef64543cb50003c8e8198d1a21b220ae7fa8f2b9a82d150a6c07777d68ddb51e2ce4954f96936bf62f4f8b0417138a28cdce24f760368cf8a2d316dbe30597fe6060da1ee0a6a8a79774431d63c425a70eccc0ba2e6edd5e6708183f556689235736610049a2ca48e3ea3f4e15966eb95401581d159f89128614af8ba09cb380b814a0e0798ca89413a7ac4dd882b051c95599e6997ea029667103433c8f899b97807ea5e08bfc96e2cf7b1f76bfebd1ee3bdec90b6ecdfec135f97ccdae19d9c2a8f27fd63bd4ebd8f081df8db0e467a6f8ccffc09525edf345558446a919ef25acb69d419264af84cf45ac9756af252d8108cb10fc63fe8d0f15d8ce8c3ba4aaa9131bee157b99821e2fbc479092a9bfaae7b816046826e104b9f89eb2472b1d604ca09d4d530dfbb5ce8ed2cb4caaa0b0bb0c7694b37e64ad1f7bc26a976bf69467c671561270b38b224f0817e0380be488f2a86d1eb753c1470de56eb72a18380979e7d2f4b6a39778b4546f8b4782b19b5cfa41544171ff640a90a418a8f3fbee0e0c7a5e3a30c7fc2beb63a6bb51a071d6fdb3ca6ffbfe9d49890529a4c47452cf34f828e46c2d14437c47fa7a0ed16a1024752b5a9112692ebec7fd4f81d443d52c94849d3a1de7880ca30886f1b7497a18ecb3da314e66b6ac35996b609682307e1846d1efdf",
+          "padding" : "3053300f060b60864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "7d26b01b6f272a51683167a0a345b132e2a259b1d2d255d839844bc1587837a366b9313c33a76a8e2c3b0dde023d4b4b45090fa8ee80ee3bc1ccbaa7a69aba4ca0dafaf412aa618b4ade92260a34b60792ab817a199d6a4efb8edbd1a6b1f9a2b9b100eca45f2566f29c9f3af891442804e7f9784ffe9cff2d8c78485640668ff7c0228acb147d66f8e42e72ac8961dd6f1102ed68d9812457c24e87708e4225ac098b4d604f1863fa90a45a6adbb67390d715a393e1229e1736bbc8a7a5cf7b7bf8a5d132122bc94f6056a47dd3f4ab0fb395adc96ea6f1ed3f96d0907e14b80d539abc99d5a5ecd1f7cfe310adf519a15c2cfa0447190c70982c07b35ca89c5717b8cc7bae01cdc7725af43fcd4ccea4175564b1a673c464d83f8c43dba42d0e2785245dffcc104f2e717782886dcddd29ca2a7ba5ee630ecd2ad185ae29647b728aed38924001ef055077ec01fb0333d5a687425a8385e7ec274635e780e0e4ed50dae9602b133111a08ffbd266945cb6e798b45820bfdece8b9ea7ac10253fa822e45071b8cfbe1387b0b7b70ca0a071cb20c5f0487c2ed022123606dd6a9228cbc892ff0c39e4816e8e1974942cc094cfa324e9074d55fc66acf160fb8577b04fa213a4010133211d59714fc1bc284a9d96d9a7351ac644d48e0ef6518142f06efdd702652638ac9725cb769b8c8faad1ac0c0edc344d17483f4f1dc073",
+          "padding" : "3053300f060b00006086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "313233343030",
+          "sig" : "19f9103e7ea9ba79c0e880bf8724136202b5ad3328108384813ebffa98e1c84c7f335c99473cb72207371222e86a6c6f601bbf017a1bc50a42749730a03bf6722c24a928156b86bccc97906be1ee6abde357a2ec4850719d8507a567cea7d1581c1bfd35b78aee7e44edcdecf768d636a257ad39f9def79e0459bc33aca63d97287e3bb37e41482bcdc0bc41071af3a01a33560db1a150ee744206dc5ea20da2bf75e5d2b7656d85e83d9bf63250d97998e3cbeee6eb3e112f590017c5d0883af97b7d3ed36ec7f8fce6bc84c7cccbcd7f69b205f9ffbe2aa940f929be01e25861efc0bc0701f366a5197e50da18f8d79cd277c48086d1373ed67b983dab817fe44fc1b85411c3205a46f4e209474a8b23c0da698f8c4130ec8e032714a05bb38dab60c79feacaac3907c4a353f21c40f00d3df123fa4327d686576606af1e380472712f65ff064f31ead17c79c87daaa0be792f8074099ce70bae1016a62f941aa124811b1316a6a584401ed8b3c5c58583cb43afb29140c90422c9557b8033413604cbf425a1f3d61e7d8aeb9f989a2b4d2549602f2db514b44b82e7850388cc396f5be16ac1a5d4e919724239c5c784e16d6439589e832031c1a133741ed373a1ea5a7ca08916b7a305ec97dd8f2ec080a051c60f4e7aee36ff5ec62ef81365806ce48a3eaf77ccdf4263b38207fe922ae4beb49621aa396376357b03dc88",
+          "padding" : "3053300f060960864801650304020300000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "313233343030",
+          "sig" : "a5c5c5ceb2d575014100aa459cee7136fa14894260c42d89da8b5d63e100ff5b504c25103319366e169a99516de7d0e14d37c590b586b5eec989a9cce06141f6e130e377285e4c64bdf57f2821f6aca81db1bb95539016956039d74f7c3f47fd689eed707f5e6defddf68f0d5185debd03d67bd84172481df01a83bfa45787585be655f7a064f8cd86d03fa2537f061edcbf8a141caec80c6a745a77c5fa8a00821582e7975e0f61a5ef0cc5ec2ce48fb793dd28dfd076b67424fd2498ee01a7e6721ce868474bcae0f29ede3a3afc7d6dae8bc35790ddf1e61f170d6609bb9634ed6bcf2482870c700dafa2af9769ddeb7bc98fef19fc04ce1663006d44f388c93cd6f4e4cc56825f341c09073a6252f142404b1521c83b42272899b19b7853d238e50784a9d5424290d1763a441a7709d02e49bec7c7837fffecf13ac1a8fc21764b5d88e333172a660c816ec8472a921dee5782d1037f32f9b938da205411c05f8ba0e869fed9efb7b898558d0a5480ae0092f836279bf4bea3f20d202bd8a2cde9cd118c84cad909be76a5aafccd602158052bf7d2ad765526e26648eab3526a5d5e8d198231e88f487641c8232a9e15e6acb1e72b550c6d60ff47f3247a558e94b2838032b2a43ebcea66e47e554ab8783308c75713d58e57bac17ffd472bbb8ace21cd8aa3dd60e712c76d81b7bec09b23d3db48549dbaa7dcb42e5e9e",
+          "padding" : "3053300f060b60864801650304020305000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "313233343030",
+          "sig" : "959e078e58b4daeeb3cf822627f6603bf94ecc5bb5d06afe4755fb188b6d7f96223cbf39211a8a37929dfa8c429544723de33d8fc7082625ea483abd525551a0be89a2d3c80d810e7a66b86129675c87cbe54b3b5b636c057a3858a4151890fa45652b673399ccb0fbd66856c43452407adbf856deaa851b3e3fe39df38ce388bf8d368252d3ae1f6290328a3db8b924870eff43e61469aaf2f3a82a5afbd4ffcbff173bab81de4534bbda85f92571021975e06ceda4232b821e8c1fbc8fd897086ebd5a364a212ad0fae314767ff535632abae2e11d2012d40b4f7d4657fa6df28fd0105e6075414cbc05fa139adbd0f777d280ca6cb84c46b819293f165fb288a96a19fe58bb4ce835e0f2fc8827dac483bbd60c5d7398a9723646644c20edd068efa8ee85806a0db06f761bd325fefd07566a34d9f5e61897c39af9d7b953c3deb5817bf01084bfa3f8b1783e2f545abe8ac76f1d1e32ddc5ac66695d976f111e05dd921f4413063b014167e45228eb070a390dcb44443ea6ec44794c86804a64368a9ed51dab5d95b34de8719c602727dbe1952d7a6107a43a54877871ec9a82dca237eaf7ae007a3c35f33f3f39401fa4e134623ef69feee6c2ddca8e25cb8a07f8a696a0b344d046cf3f83d3580b1ae75af0a033a000ed490204ee19c0338e5eac9906dc3d66f5edd402baf5576c7df56eea17070dffe047997851e0a7",
+          "padding" : "3048300406810500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "313233343030",
+          "sig" : "62f4be8408c6b8884e73392b37df67e92bc0efc3ac3f8d75a226d0d4955177b71d63d25b25353f34d4ecc9b9389958129d3467b57448e75820fc6630cd595c58263a582027dca51a7e84767c2e619fda7746f230e9f0679ba4407e1d2719774e8a4476afed55cd636df12391a55e4f94a37b81747abbbac5d95891e4971c705402e8a9e6d0d9c4a028f36ff2db53a12624086ed6d4deca25801d849d82d79e95d09eebea8d783b2461d1af6ef4ba880aadc1b25c7ab8dfe474f8eff200ee551fb261c620499b7cc36de32f20bdde7891eb0e7683893f3bd9aedf0af9cb06fb090628d0b83ce6cc3f7a22bf337a30e9b3c77e112ded280a391e5c66774da01b282ae7444247f90a4ef58eca6983fa271442b8706f881b3f1ca7c338bd5316f16bc8e7f5887e54f39f1858d2496f724ad49cbf9d1c53bcfa4ceebc9327d977d844ce25cc3ee109a54f33c7fb5ed72149f454b39da42aa64a96227965936e70c79b3d1e0aaa670179e5293e601e30cf18632b00480592403b915408a054cbe42c81a9812e9722fb19d96d9838ce9b5f83e953305278e34ed676f520c49814fe45ff07d85085fcc262f93b622fa26af2adcb5996b241d137aed2af656db1d00b55f16935b04bf6f56961f093632f3876cc1285cf48262b3d5431932d1ab7c509681b98714fe34c59ea8ff235118155d1ca81ec1f7467cbeec0baab014b84d26d62f4",
+          "padding" : "3048300405000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "93d462a876e26c401e4efed28a56ff2f4328d4b66d26ba4fe5679c334d7466d3b9907d4b4f78e933f91aa5fc18e36b751a6e40fb1221ba375dd55805fc0623834355d39985253dfcffa3802e8719db3a213fd3500506127fd9a3b856f06f1ba54c720458b1a40a7c349df52515615e61c7bb93ebf7871d7f781df46467e4cf37004fbbb87915fbea73368b5108de32ea25954d3ecc1777d1d6f818ed3ebc2b86b7c431df48974c5efccab71c44f8ee7882f9ef8057e87e1c48aeba10952b48f75ae296943988460bd489688a9179d27eca11e3878f7422177ab6f451ebc48d30ea79609b36c4fb16d35f43b0ac1bd2e765841f571413cd2474fef28d695a7daae3a42dbecfb4ccd3c3200b69bf39f725a15d749fca56eeee1b6c43bf59e490ae15237992561c8d7994592b4d911e8d26aa95b131ec228c5da95367e3a4a0ce74f73cf3a83d9ba31eac9673e73361ecc504ee52d943470db9668aaf8263bee6457338c19439cfc1d24a4f8fe20df2270fc32b145ef974d13e666124ddab7c5d879a2255cadcbcc78167e5a6afe692d2711450ed29f5459ca4a65168a090f17e82323b0ed5abd8558509071ec5b90acb7353a6bf5001bafd690c8c35cde3376e104a9c46b3c4d3302dbb00cfcf252d788a003c5cc50dd0e4cdb6a4038e4b7cf347ebaa49a9270c2b846d032b5dfced84571a1cf365c6a83a3f3eae71b97566a6c2",
+          "padding" : "3051300d04096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "1b1c3f45878014d91b5c757bdab09dc48b38af3068ea80e1c2d412b8518c6b3382d067bbb2308d3e5c109bee3e483c90717d7c6d71554812acbeae40566f205393c4873e63bfae5acfa95ee73559d152595b78f11ab33112fbaf0296b335e6efc4aff2dba640abc0cc76c69cdc0f4748aa1ab1c4ae9792e2801a852b63f297f0d6126fd57df87a628a12cd1b33f9fcfbacf140fd393282cb9c3c7d04a93d3c7e00ddd691095530643260973134504911d98aeffb49d04e8594a261b813995ba19ada639de090bccc10b87ed1f2304a16d2a4b5c0c868b376789d03f291ae8c0bb9ec336d89c5865536bb725fb94a73dcb830f03d49d4567a444b1ddcd1c575fbc27adcaea7b1d98949890acbb554b49bf92924ead8f616c83563ca93874317048a48d71ec0aada0a7b8d05daf073e8095bc9c6fc280c6e35ffe414d75b059efebcb67ce51c3f6efe0967bff90ff5b1ec7cf818d9485f1dc8baa5e8e30119e055448f0d12b0005a0581c4a296e8490ca032bd4ea05ee8d7bc3bcf290cebe11ea116609e13f5fb7b9f2caae9c5fd233c88b8f5ed90b5c8a167187c9510e6e902eb927aa7b315dac3ce141aaa61a3238f29c19a2af0d76c9ee5944257644d81a4e8a3a5ebd4aba0001c4fe6eea68d01a0b0fe715f591e07d7b39f560a91f3559542a8fe9be39424fd852f5dea99524cddecd1c7127be1f6524d5de2acd10c01da74",
+          "padding" : "3051300d05096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "9de0c820290da7fede3b34f8936c27812fd7c039c23a49117215ee99e2c17ee43c48727b6cf75a404936d393c1c592ef014682d49144263cec28708c1909cd4aec3270ccdc81de872f30b62fc6379ccb5fcf7056c100b2db6e57f4d2dc217a0ec9a3d6e912776c401b11d75b193e4b5d0104a92b0110d8af03740860d1824c5569451183c0f9a8bbbb84b64d2acc0595ff5c68ee203e0a0b148fae4115298ae9efda89aed3c7a5185f8e26b9b846bfee61d98da9bf0bb6cd5e4029dbb10f96e9f30815316399807ab31aaca8b3127ad35e2de8c01f2f63082898ff7913e3b8cbbe9191ca94074c3c99ead0b363d35d64df211462f42a30b280f4933d17b0f9df9ecbf424c07c733fef868c1a42cc380421df8a6c2ad49059d0cf7aa585c2a3314e1a0930a340d30cb4d4dbcb0514a7e8fbbe93a6071352ca91e9bfbce906189b8a319a4f44fbd4aae52477f90b75f82578adbf1310c6c62011279f1bc8c71519428b8b9be578a5532125a47900e9167f33d18307ce54b140778b5502b5a22198d1300ce03d16ebb95c4a927a69b9dafafcebb4435cab780851ce586b746f1bb46186bcffc2e78c58211087948546eb9260742ae938b3f04f10d194a4c937f9affd573be9942945e0720c5d3b4740f6a498259195243e51127a581cd6728f0d8ef67261320737906816810324089d9e535b111355d4bc1b1a1d082fe44820774e",
+          "padding" : "3051300d07096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "1a14143280cfd555bd05a13d9d546a94f5fc0e7994eba32475ea07f73aaef2f5e914c6018db12835b3168fd8e39cd580918a52ae09df03b93afc2335f05caf5ed944f9210af9223108b50bc49a48627487f7131a12d35d338d840c74961a55b41c099b152d052371ed15a7849dfb37f65a980f628f4033803decab3db64c80cb39cfefd94a38e21c9c650d7734a40262200c1b9265c823b006a3c4d95e1ac3cdd493015e4616b70bf73ff0cdffe5c5c05de8e5007c8d58613fb4280e70e51ccf2680098fd89eec6aa1d860d03a8b2cb722208a68d721713ca6c2c5c514db6e296087a8aa4a65e0be3f721a9abf46aa4767677a0016e27e16fd12d00ea0b9bd30b8f44e698d659aedff34fee6f563ead88fd2d53f2c5260f23d299a4bea1829b85ae898b47d76fe64e6294c1a7629702e5807f9ae131a8ac34c694c8284065e986a4134401675ee4124fecbfb772ef057a5a2602b24e1842b7a4a160bf0ec6b599e9ec7ed6f4bb6be0c27c0c6505aff4b3ab889a3e8b9c24bd329d39a362b8446a9b01827330782323c455466855f5de197463fe4d9810d69490b12cb92023b4a02a01429d8e03f22dfe9f614aa326f0a7a0d153cc6f4f7c9b5d3916fbbf115839c7250657f03e17931269d043f16612be118f3d64b0a8a85fd57ac7fbc02ba7a5212c5e71813a3f711245c68a3b28db4723462af16e1a3db94e79c344b7614b4",
+          "padding" : "3051300d08096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "313233343030",
+          "sig" : "76afacb11b73f2de01c01482b3b9c0e0be0a814bd0f9dbfe73e5acc49d4089d7702dcd9cc4bb3a4efb3036c8ff062fd816b41ce2b144c6f7fccc9c6edec44609d13d052011ba6994c74c30c5e17670ba07868aeeeff18a65a70408fa422428bba9131b8586c2a4ac2af0aac2c2a0a2a56f3126d1b76dd2608a3d9512b9396559491a98c761226ed435ac657172664b865fc5a038747f3ee225694de434838e0b87d14fed71a9046fb36434104051a17a658d76b129bffd25a11098137f561cc4f2e3a72cc66619658848dafc5fabce6707acf3c919ca2f88fd4117eb3b9805d2a00dc65da7ae9656e77d671872d73dcc43e72a0c94846061cd7ab361f0e3d33e03d72732e39545e6283da8b50726c6ccaec0ff96c5a3504da85b11e61e167a7965ed18b828bce7606f1aabaf66701c2d7c23a6c7dabbe8e087ce5302d16b2bdfc372be4f7002e7d3204b5d410edab015995dbc4258205a76d9ba1981dac70aaff4059c87255ba196140a0a2b8e484edbaf242dd3e14780c499c78c5c809cb11fa0329e17d47d890b4011838aee545b4312517527eb59fff5e52a125ce8dbb9dae5f72f3577344cd4f2330f09758e36b50dfd38006382767393c308c0acf9f4bb0c580bee3eb619b8d94a30568eb5a67b32e602370f7023c363c7b6d8ac38cc2666914ebfbe0b190a032405d73c7c2a8cfd1349e4fecb90d7e50575e3d3f5be4a",
+          "padding" : "3051300dff096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "313233343030",
+          "sig" : "a08cc360ffd7fa1cdf82be1d2ee5a39b9dfa9d34eec9a7e5125444a080ce3ef49061d8f188facd751b06abf4ab4360ae343c245244bee8f6517c894491c2dbfd94cffca8344066009a4be1275dcbf3932d58566e8d71be2365d3ac081350726d429cc0a4edeec41713a3496ffcc476451862190142d895449851f07a79bdd3387697dc0b76a1476ecfe9cb05675b49a12f3552d0c3d90239899921fb41bd26774e00ab270296300c7dfc577f854d7868600f8ac69d7efa5cf331095ac1300d410c6f25ad48894474e9008c91cdfeb187feaf47c6f4cab4e4cf83b300b19a566abdd957677eb63d30c53c4feafd3bf37e2bd4680f2c4e473a1ceb44dd7ff18e99dca6c506feac0785255f91a03267a3268603e4d39ccf16880a436c2c87c79e075dd4e712577cb9dbe0dec4f42328cd1f369478ab43ed516bdb45d91fb237194149ee89dc656e0814f951ad30f75ea04a0ecdf8e3d4657d47290502d67bd1fe18b9530765e4db10211da2e1470849d7021a39cd4e7b954464296595064883374cd3ad5ac417fa48fb2816d5896bd7f0b588be9e483246c48afd9898b49889d13af851d064cdcbb4ce35747b15d1c7a050aaf494ba7e79687f59f326acae771742ac7f7b0f1a680321d0356f97164203260e187d661fe9387b9d20f8f26e3871eb0ae331b4962599490743e1ed509c50d55721be351ab7662f2d9e039699ebaa52",
+          "padding" : "3048300406000500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "313233343030",
+          "sig" : "bb59b5832cc0b4cb649cf9bd8548cc025f6596fe73c3315684ccce1b79b453093328336edfd8562045a4ba413aec0ae63678fef9402cb0aadeceb20f9419a654d81c83ef0e4183797a054091dd8fb06d8614ab0d266cbef3b871bdb5643dbe7a93fb0a733166a556993a60809083ef5a4bc70b525c5c0de3ef220d725059561436ec2162c3beb9793f4e9849e7b89e0a26c44446e52c514e8000c9f206676fd6a034d54a77c31ca73c2396f58048d6c90148fd6d2924bf125e3b126edd1f17fdf31498ba04b7b86da5f1c4a6843a7bf6394d021b1692acc641d0956ff3bd6b7663a4759eafe920eb28a363ad12cfbbf654343aca9f670ce6757ee12f21446c23ea32ac46b79d10a3bb55683caa97450607b5473920cf10c7059b5719430102dc511b039f9a55b9e1824332c9b0e29608666c0f1ca37c8c299a9c1c5ecb25e2b9695903f8d406c98c0ca3d74052f09d16cd2f4a607d70732b8d877285c9089ae59dac80e031e563283270dffc024dbd8e70120d44b0fd36c643c135a811dc042fa376eaddf2e3c1fd5f2a23c0b7f481f5a053da7a4971d911db3acc6d4a3e60b63b291debff77fb55acc5b7081dc75c651706986e90e9f77edc2dcf721ead020f86bbb1ba439ffd165d127e51063b0916f36ca292eae26962cf9a59f68ef8d200652d42d13c80ce7f0b5817fa9c701600a4ec3fe770a4b42aa8e6016cd16d8dab",
+          "padding" : "30553011260d060160060886480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "313233343030",
+          "sig" : "557a0cbd9b8b16b5c9603b2d36e541313d22a1904f446dbd308308679a096c2fc3110d4e98a474e0f5a7e04628f066b4480697dd29d63df810ef7f1890d5b16c3a7172200dbf7eff2862bbe6eea017cb8c98097bec1f342a985ed7d9e462a55da249f9a523c80b1cb5def853ce94cf43d22243c028c84201a993d2eb48a876722f939aaa81a9e92e65b07e541894e5bc23d8cc901b121dcb6f543a12272a81c8274bcf996bb010188d99efbbe07403c708085e5e7b24ac09e96b2fbe561c2d4ad49ab3f9d45ed7c2bfecdd26f089b9bbb3361c848607fb50ebb00fdcd8bc9dea6cd311ea49be89b1fc59063ef2da7a9b03c5b8aff5478e7d8a7aab8b271215d4f26afb0d6b71b4520eedb4687c72e26680e79c20ac06f7a245b0257567d3f325c186f891289513848c7066acb96241b1efc2bf2a2908f39576c9976131d89e4d1f7c71f0a4b97238d05e7e46cd207c0c864df8b8df368160fd766efb98cccd879afe48cf448eea4f660b069be0b15a6bbd561671997c5d92d0e1c0d24a52b5ac82aeceebe419b6e092ecc02b8f151a33108150301bffaacd8de624e4c50ef1e392063b9249ac6d2b7e747e5899619df886e41f92571d3015a1eccf1d1de6bf469bc54442161ecaa56d447c99ee5224e1d049e626faa95cd1b099151fe6091660fdd2dc9aae83b4c2228447b36a440c639bde2cf65a14fe778aaedb21fda83a1d",
+          "padding" : "3051300d06096286480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "313233343030",
+          "sig" : "857a7a9076c1d8345142a6f66d251882cd958629e8e4a101f22d75bf0080a964916c5224484f4ac8de771c2ae210567b09bf49e8842e08370c874bec3cb4472cbf597f4877571f9a89e01e2d7247229103a7d9086cdd86c488dd51065ad8dfed3b30c9505881f4daed5f86ee6e8ee2eebc995b8da2e8b3f44f768bad620192f5e798b31b6eae9abad0b6db18366958b5e6c04894af47deaa57dc443d03391adcd5fcaba34dafe33dc8bea6042fad8d5313cf8b5b7079bc3a3a7b68c36777ab2e6f6b72cdcd93ce0297509f3db4fbe69a628696b13f705622e679a0dcc64037aecdc5b3b379692c048162fb8290ac71f017e82a85a8e6550f53872ada3efad72da3632514e50e709f4ca60c1f079deb46e70724f7db31f1c47fbfafebe5be9e78168ee135a629b2daffecf3077b8456ff91dc520b344461bf2c8be7de3f9889a67d0811695efc5799853c23640cdf5f60d837019ea6a536e27ea9c16ab5a7014e1c4fb6005d74a74bf1921a6d7ec725e336d10e1d649f4731b4ec2be54ff6e61ccec57e07f6a90a80085897f584b371db73b27d0e8ca29dc7fc35a809f9c69d7a3bef3740c93b0aeb3938b59b018009a4580e35337599dd56b8d06c63025fd12952fa1f292e053adee0a8cfea8cc8b5ee5d01ed4f141356e294bf6056eb712248a0884508075f40d0facddeebba5d73e6a9dabddd829aead07c7e473859e479b3",
+          "padding" : "3051300d06096086480165030402830500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "3722ef91b2465c53451d59972adbbe6b7f65bf07c91677858924b5b5b4ec59422d6d57ec065fc652357963d616593862e74dda3b43d2f93fafb8366d4a7c708e3d0ec1098c6f92a53b7067bf73054662385957ed8efaa09675436154fe3b069614a0c61f58e78ee5e18dbf8daa2cc43a3bf46e4a71bc3db0a80c719cdcb7e009fe6f0757861a8d6e3c59a5596c428bb1767e5648cf682d03f5d0794061bebb57ef1b817956e697bc5ff3746510f29242eb7a4ccfdcab6b9a9daa343f4d86763f498fb71cfd842f9f8d1f7ddd766959099066a2adf21170288b2dec74ceff77728cb1f3a75c5897c0ff781564f628286e61f21b25dd5b36f8c8682f596b783a29d84d7b450c910c2b6b20434f377c304d08983af0b12e16a700f063b370882ad64ef9310f5716ec50402f33b336ee84a6cc96f115982ddd3d35a9494ed3d347d70f61cc699fdc7a7a1fe8808cad7f13e52dabf86ad417bb76614c0cee7e63a53f5f5e5b7e7bf04e94ed42d5db1d1e70455ffee317ee167f041b2619b6549dc6627c954f65b4b06171889429a21bf286cc6b80cc18db089fbc00ec827e3360fa1ce1f4224ada5f778c7e433863afe19350a248bb78b7c5aa6ecba8c2f8b9936980611c4260ac3cbf4d821a22a3d886f598085c3efc8818a95336ee6a748d0c811b7256f3ab8eee183597956f793a44e85be9f87e92b6b197baf7cf2f7a08c5f9c3",
+          "padding" : "3050300c060860864801650304020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "313233343030",
+          "sig" : "8d1a54e2472f14039f1a2e1019fc6ae4159ad89f6480d141b78ebd8cd4837246a94c5938a67f2d2e05b5d5d196ae055d26e1b4fda469d6b8068163bef5bed0be6d098deb84e7007c06b3b6eaf14a07130b44dd01c14d7cd0d3fc2579c220f2822628edb9adb9aa5509858c14d242bf1d77d56a10e379e370c892d1ff2becf19aebbef2302aba66763c853e575c29421ed66f842b859c222ac2c0636078057adc1a185511085111d279b520cb2fe43b011554e8e7e37baf2a9a51003630759a9b6f6d2f18074751327ed739f39ad69f5275f340bfa985a4adcf865478278430eaca43d99cfe865bfe279ce417c10cff0f8cdf4d73a5e5ce77c95a0e306f3500b19055aba5b389de3d7809498725469f4396f05c2eb89a09f55cbfa087202d7c9b1f25fcca58f3908199a9e733f57aabdd3ca42bf2ddcc5612c81cd8619bce0c3b339ba8e9010535513d2aae38953b573800a4924a3e26a5739af64fb0667370038ec0e2f09b053e1c32312c72583ae40b78846c7fc128fb17b5f5cf88b276eaab83c54ce2db2b8d6ffb6cb8f6d0dea42f6c4b8a01999285a55c2e48aab2a29ee15d6101b699bd7d361436a6547788b68d40b340af8e61ed6caa189e1d095fe735bf98dd4fa8730c204f67dce1faa021238a1dcd34b14869d8ecf8bc283f964cfb7c8f01e4d1ed92204316b5f3eb5355adfc8f04ba97a2b9f0f221ba103551458e",
+          "padding" : "3050300c060886480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "4beb33042824e7aec0ac557ff6eb9f9706d5d2674c14a76ed4e8b0daaf77b61f4a17e05beaf9eef2fc87d21e91d5f264844417011799334430ab58bb8421801511bb0255b1feac0309e6cdc0a5b56e8278bd822a2025ab6612f6b9e7c540abae7e0381399e0531a488adf56ae1cc7955c4cfd169db281249c6a300e267510552c257479906145cdad5779a738490794f1362f16ace172d01fd5af1e6925f08e8952c51c103bacd09bba4274540c25faacc090749140c13d2798fcfbc544e32f674906104f99828ba5a5364c5628e9e9dd159422b14b2d1de6dfce16eff1689878b0b35d94f8fdcd21282cbbc38da0becf7416446b6be9b62d0931370254eafe7eafd24f61c701082dfd6d787be273b5211a843f9b819559c0b64d75c20c0626d5b64f5b4960e629b10f3e1979499540f332476398dba841839c47aadc9d33a6f962b20fe2ef6242fbf3ea61efbc7c73546f701015037d85f0b440fe99737cf5b90e5bc205186e4e49a775a01c89fdeb7b51e23c178a7a926fa1d87ae8c0013e3e5138504402aaedc6b25200044a170239105460f8370b4da8fa3ef0330ab2360c5f9396033d5b3c0eacc73fbdfb9b87b22594df1de19a16c375e687a7f0e660242fc35cf21aecbe86533bed1eda52cd6e3f99475143697ce0fa8664512b42dc92cfd215042c95b621825f343b70361db55cc1bf0f72db03a27cdde0d3537c8ed",
+          "padding" : "3052300e060a326230653033303231610500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "313233343030",
+          "sig" : "1e04efbe2068c166c7e2ebc1c04a5fe2575d4fb320d85d23b951769cfe7be2b7ddf218651e7b09257c1f84b269489d32b24f28f1fd529a7795168889040c4a3321f352ce5a017ed923f21f7152699c020afa87f7e705b51329f120d61199db2a5cd792da1d213448d95d085f6160e554f86ca7bbe4a6f7719a7c19e4b0c2d77c5e3ffbe4cc6e1286a2cb701b1b8e93fd220af4874a4e76d168305ec56444562cc0f542864671d4f47cf746c69c96e828fba0bfe131d0e14f1ba3f8aff3af5628defa210ada0a8bb92d9154d83e8def78cb8365aa4e2e35f9900aab2bcfcea12a985366ea2bc79be5f4647b8f69dac992d44136ca3f84ddd90d1a74cdc12fef9d915c90c2fc07386becf3702e2d8bf9ce6911539fdaff9ca744f81b182400193fe0f069e19882b125758ff5c5ebb863c5b8ecd41433f65436c746bfd842a78b7c0f6bff5fc238d62b05ce01d145f5ba93dd9bc5bcfc38cef5b66551fddec5a4cc1fc64ec467fd8b51e814b39874c593c9c24bf45e61c5822c2990e51f43870a0fbd00fa309adb0ac38c89d6e48ffc9d4211f87417a9c7c2fe7fadbc76f8ab9985da3bab6abc2b252404ee126ae76668970b0ef6fb921778786ef80a80bf45fe922f0920256d304da0f04b0993f0a75883f8b63ce497d6bae43e5c939925b0490de86807ecdad3781f8bd57e528353b89ddd49d9385d426c69a69264d3e316b6c9",
+          "padding" : "305a301606123630383634383031363530333034303230310500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "313233343030",
+          "sig" : "522304296688eddce66ed041c3abf3b76fde0116bf277031c73953a0becb66d5d10bf2418caf41bf2bf6b48e3a346a92702fe69f90e4ec175c2de0a3ef4598f61dabc1d0216bb2d010acabd112305f247043b77e1d5cd687442d902472e3b09a26fb609aa919332c652b56c943986c188761ac46b8c6ffdf91e9f552358001fdf0944f038fd7b9bbc4200a21a343395777bd69b45b9a7d5472d3c35c4ea009a5de0f6281ef91319091b0a2bc71b97130eb4a41f1a47098f14f66c9dc68eb5b4a5b2f761b912f2121ed12007f594b94a30d25e38384f98ff45ea48f30aeb20fe9610aafd68d65d2b875722798740891277e44e844910d03bf70eda19c733693c90e397a828f3ee8dd0e52758d6bf42b2380f4ab7da1f36dc77c47a5488b715b5f884dd4f245d04e34d0551a872558bb6107275e0b5fb29d41e459b50f5dbf2fc4b582603eeff2234bbbbaae50dd0f577f7754964d93e78763153db7c3b0c7bd64a3c3cb7a1413f7a65d6d1375604de109a0432e854ac82527534892948c1a5ce1c5c01497270abf30f78c349abaa14048c00380ba5ed3a3e418a49414501201b44c0f8093dbbfddc3592ece3f16d15217c7f851d9b66977dbffdf2e98c705560f96ca6bf07cc73a187794d2b1dedaea3a26ea3a101141170377e332779eecbcc94aff80c92b42a2fc434c61e4e66cf9f823fa52f88a0725f69e146437ca8ba5fb",
+          "padding" : "305c3018061436303836343830313635303330343032303330310500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "457618f9f481945cffcf1f874c5e38fe7c0b6310b3493e23592e7033d07ce5ca9d41400d8d4d97193b5fbd52c05bbc9c1729b612288db74b57b2923cf496ab291c843b01afd5156bf0187f9007c57928108f1ba7c5eac7d9656db05a457e8ae8e41080511f8c3942d7aa17a9ad52e8387e68edabb94f2dbcb6cd9997e463e83a8554124af66faac2eee8cf2819968d83684f2d6d9edfb067bf052a3b1624bfc1b360b3bc531a270e91ebe01284d202d8fea7736d076a2e32b11b2cd8d7829cb63818ed51381f9bb67f7e1f328dbf139aad3d62b32f42973094eaf5272e41e133320ad0fbcab6c7c8b73a2b9f173ad3627419b69630dbb8673e4ee2eb72be49682d873e8061be6b04fe93d3c540b2a7d7d34da21a447d14da66a457cdf0afd6b496b8575aa0d14f1839919d6c3c17147dd5ee7e11208a9425ee83b1f69a855853263029a125b25add787d5263e4dd0311c16cab624dc221d176d78e2722124ac38a71f6f4761bb62de50f8a2e8b2bc3ce3146664de99ace7ad458088ef97ca2d0b59882d6a525ad9b316cfbe882d2d9a3e763b14d2a600f63fea356c19d9ee3138a95c35dfcbde201637a9327bc1cd85ecb93422134d10b9938f18f0565e0031e57a83fe7145964eb79acc2b657a0305421af387859388e78b5eee782167dd54a70e89be94c602fecadaec951e3a409f5e0fc370bbab026a7fcb4e28a18a2dbc4",
+          "padding" : "305a301606123630383634383031363530333034303231330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "313233343030",
+          "sig" : "9b19d42349a3edf406a827639d8655793e170b7adc259f1f63b0f6d7074051210aae941777b71685ac18a94e46604f8ab5915fa8c34c9d178cecf7eeb26294382554380629c12ab2d129c2d40cf09c8db8fafd69602ac5e1ab6a5cc7cf0d346080028fdd4396d9f0e7e032d33b29501ca9fc9b05f6fd2b2a67bf7dcb7411781c76fbee55ff1c179f8e0812550e261b8a06fb575944702eb13b5f99af7b920e44ac9df42db1b9ea3775042929c6a984992781b802a7c88ac14579fed757cede07e6cc46f7dc17cc024f8316f58137834072a3711eb725a9043126222c4d715c48dd4f8e65c06afa5a927f3d39dd0caad7fbd89f3d7219cfb9d028915b89886845326e1d5a18dd34a78c84bc2d28d872f2ac3e4026459535a2c929fd711d8aa03063063328b83bc330b2062e2b186889adeaca2232162a115dd4bd256e51872624fac294845d22533be374a4bb21273f567306b7d2b3b26b81e68065eb43ece48a1c7a4a13e13b48bab6ad0ee2c64f9d6fa169e8ef6d778954bfcfc884b6346ea65532a30268355975cce9907f7b0fb8e9160e0c59a45ec065d0f8f448b7d88edc604fad4a049846dc7db7ff7246d29dc86d625e8d13153113c0303e794a57394d065888274d1ea5a48f927f0a471125ecbffa8efb510199f1586986c3b8b4124d7c324ed5f1b2067ff275b3f164e07fe11539885a77d4fa5f0401a45d5ab1e5bc",
+          "padding" : "3062301e061a36303836343830313635303330343032383838303830383030330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "313233343030",
+          "sig" : "79e26bc7d1d180fc4ee14625d2207321e61c91fa9454143e1b3888b4bf4ad12c7dfb54428df91be2cef260d2c13b003a3cb3f4908c2f33d94e99104ad1c98ec0bcd65502f6130ed7c4ca14aa6711e950f5a0520431d199f502223567804929e5d24fddfb9f69516ed0e34fe843ef4a102dd90f1e6791020fcd20b4e170389ab29595fdecf7a66dd7243747480844ac2770436a92d630b90677c2540ad5d9db3bbd04663d0d62349bfc74fb3e8c6b41e0043ff32d8f108e6e74ddd0910f1df577eb9e7e155e411b78b791e9d2f2172378c4def112b8527a63114b3cb3d21077f2680d7d39b895a2000697a7f0355d5d0832aa4b435b37e9ef80e5d55eb46a22514b78dc624ec583c169cf204a1a928e26b10b98a35f65a7dfb0041439f200b127013b5cf86ae05ba3c1b6ad3ebc3ea513eebe4b280ca323dc3b943aa8980fd69b7c3c9378bbb86302cd298245a45e27dd3265f630e2799157fc83f20a1a7ec945c536d69abc139f255d8bad3dc2fe1804565ab7ff4af7693b015c7adbb74ce6182d0684ae034dd01e4d20ca16462599511f000cfa297b527f9f5391b08b9f7cec59f8ef962c7e4755f2086d7105d0fddad4eb1ac8fc555057c5d2a8a7f79465f7e1782dcefca3b04591fde2dfacc96484513dfa761e088edf99346d876d1425cb38c8f7e69a2dae1950fc863de2ef395e35e086922b4778e6481f7532dfca4f9e",
+          "padding" : "306c302806243630383634383031363530333034303238323830383038303830383038303830383030330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "25622d82412a7013e01afb4338fbe55179ada626af37459a20c8827399a61baa42260f04ee03c38f2e19b7ca7a429c4d3879fb618630a38ef497c0197814d5f91e2d9d07258d290dba1402b6b5d95b9c1fdd6066e4b82daede5387bfcfa899a880ac8efae5ba43c14b4a15b52a39e86220cd47fe4a27593e6a7c7b5adca5e7b2d2d05178daf1d4503ee8b64be7a5db79073f8b4b936b5cfde4d1b4bb8c8ab1e5072877514735684aeec0ccd16b128539f985231b6e01db91859f9987ca254ab6dbeab64088e0228e3e28b858daa0d1bb632c625488ba9c254fd9c9ba8170f385971962e825a50b67e1ef4809547a806799b4561eb4431ea20cf9e3ce91a69783b3153b1dc5c9a516ddd162d74e403a2eed8dde7e8dc74386b26a787a9859e949390adaffa1d37e6731469388ca6f3620d27e11ee49f3b7354885476fc3e7ffd094e1c9273912136197004828df7a0c7d85ce80ab3f27d568e564183f9f975d87b65a8b892862b2d82ed43d5222a3aca49680b1a28f6b1f1b119333b276e8125544637636c2bc48c90ee946823fc9744174d8a28509a2d3b37e7acac81357a28348e1aaa5669a8c8d0e07d660cb1e85727a37e8bf237507b64d1520d63d6658c7c8d5c3cf9f106a2f142b020d220a9155ddd777693018f089c4d5c4a66ed1d7b2c7e06395950e7c880d348084560d52d19e839b727569717367449aaaabe154c2",
+          "padding" : "305d301906153630383634383031363530333034303230336530330500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "313233343030",
+          "sig" : "43f736eaeec5b5ae03b1c68c460e115d20a6c1b456f5847599aed9af2900c6316bc090729d466a83b6879834108dda0325770913f14b248a71707a52fa2982db368f86b4eab52dcca31c07cc5e7ef1634c6a1b25e273fb35d3f802571278f79b8c27a6cf2a170205c493fc457248170ecbca4ebd0b42bc3d03198489680fcb5e58bb31c2b22d2aa1b99d8c8c3ccf42fb784c878f3c7632a656781ef638381c3604b0f4d84fc7086c0000664fb6bab33e55105dfd5dfbef634905dafbc12da2a25df3bd8530440fa636812da39c5faf26e76261a4ff947795156e9d159d6bd5b0c9c9b86ee1818d31dac3f541a4bb6b25a02df82057be4f9320c8be9764e989aaeab72d8559dd35bb1bfc221940624db06f46e467936bbeb1b97018b7e632d770447bdf7553d9f696b6ef56f2b737aa6171791d756c0809b3d50c5cde737492b87a9c5517c6607df77ca126e08e34139664137b6bd30ce2e6d97a9e2b8c4d4d4441c71697697bc3ff75fcd980d6e65e8ad8a0b3d29bc952e07c19a5bc0f5f09357cb664dc8b79ef7279f047ff1a7592b5ac8b1bc98b99a426da08a2178f76d96624ce84e1996e3b4af9e978e041c5e326f3c9e0db0fdd7787e2c138063db4415182e9af87c74cd36fef96761703e5843aca4c3963f484b90b1b800d189ff727debaa2773e08c8ca70c6f762bbc935687f4bb103b53805495cc0bd6caedee834eb",
+          "padding" : "3052300e060a608086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "313233343030",
+          "sig" : "2fcc3280d48b7b6d5e9bcaa5d4dcbe70cad1bae22b1c4f407591021f4afab50c0a1f454329f8ba4cdfa69f4a7bb6fbec6744e32c78d9bdc6d585f30160e17117fa364638215531afbef6822ebdaa6ed89708343e14c843a24a6c152820b9e130b1a1a406270f50db5b0f2eb63204dfdc8e4230738ab9f43bb982a2435988e1e44ca08b77dade0c55e57b35db27e4cb9af9a35d634a69f6869110b219b2d8d231ce92aa5c1c2d8bfa78d67cac339e4af01a238e6cbf5dfbd58b92765d7818963f68e107db5388fd2b430b1541f2560c79a861288c17bd066d51672866ae8f9796ac5385ea4b4c165f2860dbb950435d830cf9d920f79a42507af93ee82876c02dc097b6c47c56a6bf3b1b165b98bd34c4335ab212b66c99c43894f67ae20e3e5730fb1fc1af38333f46f4aa8c745ed0f58b5d2f5b48a98fad75e922864eeb43e339b9ff8768f71f92a3bfc5806e34e02f2f3769c6d36f3a4d9bc13d939944bbbe1449735f9d848d2a4681e0dfd426115397bca1df86ea5739871722b0191dda8dbf93be29a8b8ecc154ef4810022500533425891991c3c8fd5540263a69a13fae3cdcc72c337d7e37571e9a3a590e82ce6a05daa260ea38f7fda25737716ac5a3b558bbcb5055e473f0d87cc8a171a4766432e66ab84177f924eec6e8504f658571ef737f466407717f30c7276306995831487ed1c6031bfa8929b68e51fb341f",
+          "padding" : "3053300f060960864801650304020305020000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "313233343030",
+          "sig" : "6f76a4e433c0c2702e0bef87379cb827927b9350f9a6537aa67bc7812457c4406de7684ba9614e09e75ab4a54ae09717c7147c69ac0ce8b9b962f5842eed73aba82ba2db71c39337948fb4a2fa00ac018b5cf19e0dd9824f5b836ea9c04ac875abd8b8efdcffe7e6e17e75782b4c93ce0bc186a99e8567d9fe089dda051aa77b82f329dce58ff7228fde880d5e86342e3d049118f8e4c9034f2d586f3376851ead317eb691e9975f08f1767bdf8c5db321428fa7899e23ebbe11e2b5e7575805319a3b18a1e0fb7e763f6390434df2ec5062f4a4223b353bd12760d09636829a740cb3b6761536c1aa7f50f36711180ed2925d1aaa6bdd38d5d5c45b9b5f9c09de47751449ad6962cffccc6eb9a4939f7551a18f3cfb3dcfe13f1c160eef9de768b23faf85b480a2342216238ce93c59d202d861dabb693639695cbbd8009151ff64e5e3eab3bcb5e6a539bdd8d4bb5434f30a12a12ea92ae5d21dfacecbf559a2ce1dc9e5082e2217cea6c122b3468f01c737f0be0391723c8448f3372d88c9dc46cd40041e11a592606f6409c1fd831fd51fd6adc8cced49e62e9466cba70d177adb0a295019011d463b153c5e05a6c1177548c3dfac3ac1b2e8978e39ce1923244cf10dab652d250b2cd6abae03df960add94e9519dd801f4dcf2242cd5c22e287b34091fc42f6644e83006402dfce2b82bf8acebd4b65a9738642963bf82",
+          "padding" : "3053300f060960864801650304020305020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "313233343030",
+          "sig" : "b1cb3df9c5d8e04a90cbaf83a03e1e976535db1d66372c4efa3370948e546cc310d827fad9227a7e35923d8b2fc56dfa1039d25968f984e5f22614cb2dd0e5dec8e1719fc7bd7018843889e3fca0c9e9ffa6de47fdf67c266398de961c51e7831475b0b8021a0c587617d62eef417b93e675630ca26d8f41111b20d944c39f47adaff1b636d7fa1ee000fca852038b3ccbb05d99a2fd664a50129e5062b8e5ab04a65476aa60dfc872345be0139f4e30f107f7e1d40a7a01a7889592c5ab40c2bfb188f345d3086af7e725b5a209420798e30084561fd5ac1626e93ccbc42e9c1f283073bf91232cb48f571c32c71e4b47c2575295726340cfb69112877501618575748da81e7f8fc6f898003ab89a11a8d7e3647c72f4389d30b265020e99814ea8bf0406bd75292aa55e69c5a168f5915bb1e9df30be1bfc1f097bcfe78d6f7ea963f8f0482f2a122d1b3d3c66465b6d7d035ac5249d4a3a2c54fdae260a9d50f29c84cc39defd53b616c785da76a862fc60a619e25903bef207cf1c93e8c765a13f87027c9bd7736fc044ef4f6dd3cf3752beda24b3d2890f09ed85e5f45c02fdcc474ecbac108d63f4bb0266f5f08d4a4cc09e5217793ed16532d0796bc22f05607f6f265d967e424e47d73a3c486532efbc91d8f7bd970cc9412fbf1650cdaceb99635885b78abe2b8047d3e04b07573018a5c8b9518d26f25fc6b64ff6",
+          "padding" : "3051300d06096086480165030402030581044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "b4fb9d923c57a13fd71e27c25cf0edf872de5a7345f04c2d5e002a9a42445f823e976f078fcd9b24014d74b31c2380f953007afd3da3ffa66e89f03425faed2befeb11cdc7725e9a031277be6e2c6216b0f2d0a53bb8242f055b80fc4709292b1c56a18101f2c2abaeb9bc5ddcc6ad3184e6ae8562c30216e22b43c889ce27cdf1469fd996ed90ac09050f31264cd93051507aae73eab22c64a63a28150de06b43b3b4099aeda795811cdd47e2b73515c2cad2609b9d8adfa543ed2ab122285a12bfb7df219151f0eddfdb4be45a5624621e1d45ec511e7b505c92516b70bc7981ad61ac6b8b1037b5e00aabe9851e3577d4e335244f32de627a7fcf9e937715bf31414bf432d339c65ab8ceea49bfac6f5ddaa4ed0a9d2bd7f5d2abb29819ffdd7ddea9c71c3bd575eb18c4d69f50d98c4955373408651ae19bd2ad839ab1fcb43f5881fd290ac2109df9c16fc6c14a86a614fc5509b7329e7dfd8197bbf659966701a1395a5f498988c485025a25822423efb7775c9b44ad3f3c7c79efb329735b21339611e7756a532dfe00d2c426b2b41942d65c48be63f9188f0b851348405dda0ce3de333fb82ea80e3dccb7f4f2453415ab86bf5a5cf8512c6f5bc1846961fdeba1955b96a5145cf447aa34d6fa22b226bc6696db29a50e3455474754db86155065dd596f9412cac880a0132b1e1fec5ed015b1c8dc8b682ba771021c",
+          "padding" : "3051300d06096086480165030402030300044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "98a116f889aa8209366a0ff461bc3a2283c37f78b990622ee49e7046af1dfb8d5b56c2c669e71e4a0fa1f1cc5024d387d6f9f5d981e8fdf09142da58d760c1cf10ce4ce8f2b467f054a9c26eecf4abee45d3b582f9f881e77d626b3b30054507efcfa2d4444dca8a3075780d306f5780de76f70db07a57e0a49f80883bf0d9e838ca5770f07ced784ea09e4eee412d02e20411ee5ec48aa85330c5e2c7a93ade0ec3383ac0f821e086871c207144472a47ae36e15b5b6eb5c564031b1581afe321de00be20e5125cf4fa01d2cb7e510f85eb690c32bbcbf79de19d6f162805c4b630d2f0122176222799b9e5ec6729bc150e360ff7e5ad28741626577926efaf8541336a9bc1adb4d1205e0b2e7eee73740357ce21599ff5414082d228f089f2e218f413109fcc20bd61dac6218d84f90c2926a6dee012edf069adf4007465a8e3574033c4be54bedb51abda9bb2cec081d1ee2aa616178aa08cb0fe4836ec7536649cebd2a29b9056510b4a6fabc6b91c72fca3c46572f397749486e4b118df5237703be3de3b5efbbf31033905300c50efce2aaa7f0a819b819ace881984707bb1ec6680b9ab97186b0696e9cf1043ae43acb3fd9cac9fba305d756c4406418e5dd148034f6b3b87e207fb9d1ac3ac24bcbd5f681645773177d09c73e8c14874bca763c79f873a2853e742aeef70b4c74f88e2b2c8b094dead8ed088dca294",
+          "padding" : "3051300d06096086480165030402030400044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "aa4cd5424b77ce7dbe0654a7609ce273d77cb2b2b0a2262a093f4ee53cd4fcc4bb01e16fb50a13b20023fe6f3003ac635d1fc7148318745b52e4df0a88a72a20ba60334fb5b445f9e67f31dcbc08b0933d10d320cc48b0ab426ccdbe5658d6dc66159d622a0b3550a970e4b90de79e76f1bb5e5f073f7802a627493dcdf5e8c22f3bd3cc6b48b1ee4077527b75fb38a23e0ab2ffb302f7c50a85215cbac99a49357ad13cbc12496c2495fb70608c242118e3bf01ebd0a63dc259e605c5421cb83e1003643a6ffa96e385bbff3f49a17de6846f54631c95d4534f3a9069069c578a40ca248be0e5915e6e499a42cf11f2652bd9b81719750f0e0a9707ba30753771af12726afe23a9c4e38b03e34c0bd18eb0cc93770a6f00543966d1709b659780a35af82b32c259d46f19efe26cb51f062d142f897cc99940bef767805c32ac8a1bda03d5e20c7f60385720e2d47544f8dd5999fdc766afd8c988751111521381422dfcc8816b862c422372e9b86a5d9859be32d8dfc02bd6f5e61f6bbba6cf7f4531ed7b12341c91533133d90402d0668552fc17470c21bb843cb36b8a4fa6a3db24b0d4254b3e16b92515d31baf6f76b988ccec2a420d0f0e9591962de92fdedd1b619711417af45702d7e1d5ce0daf2ef0154bfc46c6460492a8855d87e9a5046071a990d6e7fb0ca63c03b15b12c42c1ad5b0a20cc0472dc5e0028c642a",
+          "padding" : "3051300d06096086480165030402030600044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "5f9515d56d86e65d565634ad95002b9595f25ecfbaf4dc44897a7d468d3c71278131444d48b1cbf19e6409b6756fe753eb6c3ac1c73fd6391d4cd6e1e7be9f0fc044cd124db1a3db575046698d140d477a4c6d95a5eb06de11d8bbbc8b2e6c04f8184008cb2388574fef51aecb8f188ab2206da09333cf536d004dfd33890cb24be2af682d02bbbac68fb1fcfa6a5cafd3266ef4b09a758c667ccbded9affc37c13ee29daa9d0db2c1afde3f6e7b070e2a9b5a9b3b7d75e0871e4e60d868d8ce38fee726c40a27fc4f54287fa7872e5f719198f20b7887ba524262feda06d751a670dc1827374cd2fd25330a180e21bca4cf8dffef445acdee58eaa8c6aea3cfe55ec6ed963c05b7d492e7984f976d6ee4831c4ea1e65b840a1d190f1c49b3cd7f8d289c3a2751c4885cd6368f17bfd0da533bb2ffdeeeef4281a1efa93667b9fb07042e0ce3d17c7c94d39fdf81c348bb3a9caa17b96b028fd04f89bbdaaba37ca3c867b5b06f913b6c3bd6f7c1dabc82be3cdbd4a184b1ee30dddd28b00b4f015765cc95db18c74847839ccd3ac02f3997ce47f63f26c9f20d02dc1aea57dbc768778534a8460f88554ded387a64fc65209c0413fcbfa81dc24a9b8a081e14509fd1c2cbc05aaa90e202acb0688da67cebcd3eb0eb867eaadba412cb6c88f0fe9c780b2f61b33f47ce2d70060b8146a6cc5ae825b1edc492a88b4e397f5c05",
+          "padding" : "3051300d06096086480165030402030700044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "313233343030",
+          "sig" : "550fbcf50804c11a93debfbf269fbb6437b171fe00b9e93076ca7fc7db88e91765ee439bccc417d647d145943ed7994324b514a2d4a70527d8f857ff5933f4a47168b49f5920641c49ca5f287b0497ce878857f64c51afcf36f5f115b4a8e8491286e972f54deec16ffdc4b8b602b5eb76d8a729d35fa964fd685813bb7ef3ae6529d6610af6efcc825eb234e4561973956c0b0ce4f93c4bdbbc6787418a6a738b7771547deec774c404589efa676bc800019a9ec8a68f4f479d0c03b7cc7e7f04444fbcde9f8b1180db9a7e60a7fc82ef7f4e7ca2130833c5f5683ab06e244ca904e791dfd01be0a96cbd55b69cfb31d640f4bcdb72deac2cec6fcb045f3c259ff598e82c52b34b96a6e0f3e2558b6e84e8b90591ebec10c66f809c37738349cc6e2691f02d69e95a2db99510cc17e76993a5d860d7f19f21593f6be3907a3a56aee4e79eb2d5f61d9c8732796e3894002bc09a8550e682d9acc92fa3fbad21503b117c6a6382651d08eab777cc87dc06266709625d7f162739532ef1b8e25fa0254a71ac1dfb00c77ea5b593267b142fd60f565c6825985812e1a8c1e47353ecb743a2ea52f165c330a5f0a25a0a2edc515ccfda97dcaf40b774140e1306e68911932170e103aed2ffe108efd2197a05188f9f18b1f59bf59c6571f27ef20d12bd1f0b12d513243d0e117630b0f521e29e401cda904a0484eeed9ecf1d049c",
+          "padding" : "3051300d0609608648016503040203ff00044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "313233343030",
+          "sig" : "78c6bcc6e22b2051f5dcba26edd20d680536ea15aa5d5ed438db92b3b2ecce0eb59dd46c2496dafeac3e49911dbc72f895ca0cf6679f36c770847646e99ea102648b8fcc3d6e41466c5fbfb0a343d985fc95f4582b671650d991768403e4f75d852856a450804ee29e0203c076736076ae79929a88d307c07efa0992e45fe49205f67061f7ae2adc2caa37cdd4ae3e4b9157983834055bd521124360e8e03021f703ab4b245ba30b4e421505cb3263d955c6d315fbcfd08dba056e2eb96daba28abfda149084b0052a9f0013593692a35d52f3843a76ed35ce3f0c8e8aa3418a53bceb9d5cef61b84c766648563bf00ff3def6a71d02a03acbe3458679ad8b710225544af5c4f7142bcf0289e54f76b4ab0d2273a651ddaf4f565ad76f231eed8c80b5d98481eb6dd507da55396c6fec6571d81c3008081c7cb4792c47025ef33f89332a4f28f03bced3111c895c5f48fdb64faba97dedd1c18d86335be0b66a334113a0149c67dcad53040d8ad2325fd6c11b40350a92f03fce0d991034e25272ef3665d2bcffc8f52b7c08a23d821fb824713d04196075b05e82d3138c06319759e859c7973ce15c3aaf1baa2bf90ebed260f87a413ef0a17fa654c35aedfccb4e496612b947235522eca5b10e195f7341951cabe3e0db663532a8fb6cd8eea06a3667e1fcc4002a0a0bbbcb4d7b7e20bb635a4934f58213775693ed2c64f8",
+          "padding" : "3057301306096086480165030402032580aa00bb000000044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "313233343030",
+          "sig" : "876d9d2c9fe40b3d3c9b3589ac75cd8876b5e3b65fd15d39cf61daa157dabfb659ac0d411e5da5a4fc69edbd33f3f2dc2bdd12b5e2a497c7a0d6486cdccef0ca8ee1f654aafae800ed764670a34d2f2d6491a97724e6d8c933a318726bf91765baf06bac71788178e565ad8caf12c4c1003ed4f724d7fb83ab09cf05cebf660daa44fe8918b6bc6525e7361ce4190625c52442bc99ac3657f25a0ace3890b90eb947d8229adccf191f7b7362ebda5f62794de03589b7437d85991c91fd55f0123b6c489e18514c0a977a798ba90453f4bf4521f438b6c096f2cf76352e2d48737a28cbc26fcf1515ee54e6bda99524b9c2fb454abbcaa9835f36f73509ed7fdf1b367be380283f0d391a1ff6a9819bffe629e7144ae5fbe03fd5fa9bb9acb9bfc0c2906aba09f8d797c38046c996f458a2e55f1451dcac20e082257d6ebb13f6966b0c2cbee4b8df9e75d31b457205a8b534efecdbbfd8706aa8258b2a85669641fe9ee8132e6fb356ddfca16344329f9245b856aefd263fa4a74fec495e28eacc50eebb822792c400b2b3c0741013da880d5f739bfc5ed23b0f523c719588f3a1f4c45b8f3058794013ee49cd604888a1477b3227c9de0230210479dbeddb1fdd6b94573141200db3da79a6caae2b0118fa8ef28b924b7116b304d2f2b469db8757fb463a05c495baac6d63a76119ed4a8c4910048eb7813fdc86eb9b9db1de",
+          "padding" : "3010300d0609608648016503040203050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "b0f76eeff1462f8ee6e73c524c8fc6792547774d17c00f38df8533546d802c0d8ebe192d23a5f1472eaf562423c423d3646c12574f69f7c85fed1aed0083532d1e52050053a8a111e3cf4e24a24b0944f0f14afbd70fe53615764524a9715e3336bfabad476c12faaeca1df21c0162b7ed9a5c91ea64b2b8ddfbe5d7d1b50149b31523d396e6c96ea7c5f9c2fd20fbbdcb699a6d75fa00adc390ff6ab95de2b405c314a1ae7398087f4d54f37b6805318fc8088a49ba46b2b1f7dcd6dd16881a641d922aae80e3cd0baa82cf1bc1da9b0d3af24d4b04bbfb1d1570b2385c848cad1902083f9e7823fd8f6afe84051ba54c76db9d7313238959791fe2b0947cef28b2954234a56ea3823433ff5fcfbeb37dd8d18f6a04d202c7757d2f0c0e91d6384a9037104041dabd72ca429a3b649315c5e700c51d35c16a585b0e9b6b9e019ab36c9168a17170fcc38b4c8dbfaf413b148b3217efee713e0a44540498f92cb33e8439ec585d03fb9c5ddb443253914b0ac90ff97c6c9093003bf10cb05652ac59cc2a4fb54e92ff6438f3985e7cedcc0fc7ff18e2e2683d5bc41eafb8bd267b3bb50b6370b164fd84f053acacd8dd38a26c08a3ca1ae85284249b5b9419080a6dea945191421504a1eaf3230ef8d1a8b353fa68452aff1423f5021e3b9b6c7d290c9eeb03101909f96a3b02d87a1239663e3460c6ca0453f5b2c17bc2f08a",
+          "padding" : "3053300d06096086480165030402030500044243f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "313233343030",
+          "sig" : "9ab76d318d79a840c7d81a15fb67baf380901dda026d6ad392eee9cad2520a7d87a659a49b65d5dee773b30c0d319dc57f31818902247868a55874f210b1e0b8629f4d565626837ee063deee65d95c8b569f3c38673172c48ad68cbacaee2d8c69fc3e22523f95ab75f587af15d5be529d95835f72c163b54af9d92831ae8f3fff0cf7920d57c28a88a23084649cb20a68216458ae67b6d99d54387fc00d845174e2f3e930c1a0e089cda56273ea4f673af196b56b55924b57aa0b91adee03b69e98438b12ef9d3c3a65f7ba06d7c58e5fc10eaec8253cb6fcdaeed5c31f177291945bf0c69e7bfa273d30504cc6e94f7b7d60754135117411ad5b25b6003ea86b808ad80efed199a559f9c84f473fa1f554eea985e7111dcb2df4c4bee1aae22e58fe0216c4a0c937aa08d62b9222833fde32d991e4f8eca619d0353c2770e61ba3abe08e9b71de29fbb71c10ee6d8220f0ac6289c9c425f4981fc290f9faffe65ef6d207572055a5cd5a33caf6a61f4eeb6205c76887accff381591c51499a32a310a50ac479b45ec1a3f05c1bffe4d38d1f083926a208d9ef6e8b9e852a6261cb4a9224d35b0eab8bced1a3e0946736e6d49edb2885325a01bc0e7f89a58ceb57f88cd7047c5b002104fb180415094251e49bed59112eeccb7ddf99977d1a25544cdba5b10516d7f6f95c9e9275b484fad64b7e2e25d995a541d28448329d",
+          "padding" : "3053300d060960864801650304020305000442000043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "313233343030",
+          "sig" : "1d21743f51fa1fe1038b8126f6ed9e62f99a0fccc2a8b645fd90b996de8ee8d76e0752c83ec965e342a87c02c248b96665413de03aa7cd413ca67b17f74bf9886c9fd8223cd94dd71c98f874476667ee96c311fb40e17f8e7446624a41c02791726e62c0489accdcebffcbde06bbe3ccae1d669667f0f6157b463eefe4474ee89f2e9c6ef07b6d63c1582c4570f8473e07b2d7d0be72ee7446633b7ca5f7838e92b977558444580f0d305dba8ac74e3542b0277c6c21d51491c1a5fc6abf3ece671675e48a41c254f78e1d2a58c2d5a0294ed4720e511985e03502458108200fb47ba00ce379da0f429877b62d6d60133f231debae91a29b940c8e8dd278f7551bb5df882a833a3205d2058958a0f11685b3bc0df0dfd5b8b2badb8e02c4449f1144fd744ebdc2452522ab32de4bba59a3abee73c9baa120a74474d79a5b414645ed827ed3b19842a78e9bb83f03ce2a985cd5ecebf6e773594af60e285638a7ab6fa5db555015460f03fe3fe2e4e815792108d5a39f2fc5fe620145e7899001cb722b1c1524c0c409d8207e48e7341ad209ffc2552e4fa4eb09c749c320f9568cf9fe1f4c0f1a04c20ebb522fa77a1d2016305a75dab806ff3f5dfa49a191bed0468fc5bcd680e0f5f4c730123571408d6e3c3d466fb5adb838e9be035d8588f1fc9055473200cfa569454bdc5a31531d9af5e7861f035119b1584356c7f505",
+          "padding" : "3053300d06096086480165030402030500044243f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "313233343030",
+          "sig" : "807554d5b4af18450ab5584c0d81a98da3c2cd417048399c060fdc8d45d8fe3f621a06f7ebf08953c091157014bb9c555673aa6bafdfcff69bf27b62992af6694b1426236cff69fdad373f11044d2352259144ad73f37025bd23b2a9fb9b9d310eedef1c875c269194584c9672f229af762274bbff201e9cc0faf3a8ea4b0ac0605666aa358b87c63ad12c4fd644113fc049f98daf2b076abe82670f85853ca2ba8058480b124461057be13f690057a9cf68cff0cab120de21c6d18b7b6a099a0a3cd60c9bb40fc683c19a4def659ad9d806dfa876a2860c6f63bc48c96bb75d0e3bebc1fe6da96251703264b9657d4a3c355f692b27608ef72d5cc88b0415273c3717f5a3809fd1bab1be928881efe8ac5968050494030fbb332bca315a6b2b31ddb433cfeb1dcfd4a8aabb50d3db62f33822cc6d68d96f1e600fc83edb4b8784930c0b9c9b7ebb22b12218840fc65c6467703ce961b19d7a64aef4cd4c2acd350779df4ddb1050429a0858570ab155b174c928e168b818dfcd311e0d2d2135c7d2d639ef5e66c2b806ffba10edc6e789f3816b7de76bcf84e0db5e7509babe5c2cc057d835428aea81f13a5de5e38d5a4a34dd657c72874c21065c02b4f0bd841bcf58e1c35ae3f1214d719f8790f1c873ba3f0d7a70d18622382d94d0468c2f5b1834b57abcd33d1ecd71ff9cc18ff398a0c14a88a2ef0738d866c767d8b1",
+          "padding" : "3011300d060960864801650304020305000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "313233343030",
+          "sig" : "7bc68409ccab429900777ef7996b067cf577eb5c5005f8244e0aebc2d09f35dae9f555c6b3c103fc01df943d90d6d57ff6594d47f080dc486607df002fcbf308cdf2a0291f702c23127d7856e9e442ab0cadfaa393dd6a0cba3c07c66e864f8fd488ec6b309267a18bd3099be8f38c31eb016a7ba00d2a74103a78e7877365da66f3c16a7fb2165a9de1e8b81d7e2ba33f3d687298545af611ca205912b79a5c63425f8c9659ff27d0041ade0ef02a1cb204588000a37733de3b2099d6eb7addb0baf2cbd6c9c92ea36b39c38943d6550d13adccd447aac93c664efc2100f48a0a6f9cd490e2668de46299347d04090f39b01de69032cd527e2b961cfe90f888053cc177fe98eaadb3ebb1b8eb44a1b232aa0e286d6f7ffebb7ac0a4aaea6711c1f0b95db88ec6dd10e2b84e83c672e4015edca760899d69f0f7801eb95a50d6673220968db8d7459ea74982ef3e907caf08ed42343a48d60f529fa64011ea457f69d2fcf693013ed6da6eaea5e80965d4d218fdf3b3d46445ed081d47e9b148ac2aa7669b3f1ada4f5b110ccb4bab9c869f849bd1947aad30cadab36b69ee0de614765315b7926055d3704aa0ada17b9d109111e538ebe431ddb745c6a4910dfe276eda05629126422d70dc3d9490cb79cd25625cbb96b300e11c0ed68a2ac10f87322129494468999ac29a7b2f1871a6d06fa4029903bdc441c7bc6af879fa",
+          "padding" : "3011300d060960864801650304020305000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "3fd9709bd5e962443646b263ec4869daa6faeec59433cce2f237fdd1a1c6c4373bb770bc4172cb2374d937abadcd12abde5287705ba3b7c76aaa36e92c73e44b0dc629514ba6c24ce82daf867c21300d573970877b588c1292e2dfa8e9eb6dda466bd64c1f484e0a40fa25885f8cd3685de748df58e2fe3203451421b3aa0cedd45559e2c723747fb4d63c42ff078479b52ef98db0ad558def856f23ed9093ff8e7a36b475c66993ee13ca6ec2ab8d27d9021b5195cfe57c0d48fc51bf9237a7876d693bbb27cfd1668306bf5aaac676aa6a4095c8691d77b75a3e98725d2cf80a3136f64d2b7d11c26735f98b3f49000a67cbb37ed39a985cc3cb3af3ffe4ef43820b4bc9db22d2c5d7ec74b52b7b2ac1dcedca614265dddf30066fccc217043dcb37c1d40a370e6039a1490f41830be87766415dc6f0423e3b979e90f4ec0cc738ec11c03cec9bfe7cb1bca84c9086e0824cdcb55fcde0df40ba1fa4acaa51d2c548a58cffa69b14fc71f34f36c457989da718f9ab2ed5f428337bcd7211ea982879593724b8ad8a347bf1a8b260bf56dfe0994e2104c00d5cc1f6fadcff927b4e12ce53a2b784430a5b55ad52a1927c6a6c949fad1fa121b0061fc838e6923ec22734c94758b3d1ed033ca1f5c3235fbf79fddb61618b620b76bacd320ffc20e0110c8e106ef1fc8ba46f4cd42786a689c1ed80df66dde2c8f76716c5cbf7",
+          "padding" : "3051300d06096086480165030402030500024043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "0e698f7add604508b556c6f9a02cb65d3c8b494e68d440fdce02375781c264e4b0120bb5a417c1f1b47e355dc68821a5d2a72bd3bd5424e1f9671a1267c7672a411e1e6412998a1ef45f80d96a11e50a6585696389250f8f84dfcd8c9e357fc35edc022084ba99eae2af55885fb145db13636a81a5f7ea52eef79c9268cf98cdf43f1a47674daee33cb1df5f7a09f875c65f7f9978442827bbc156ced42e564070ab44d551bebc7d218617a9d1ec4a5f48619e5987629060700bc188ef8b90a48137f5b31eef4710d5ee7561691832a0af77df933bbaff392be3b2b598b57acb38240a5b204ff9b28b0a52972f278919a8c14d01deb6447fc78e9659c32ac9e68706c1b16f8db3303290ee0c94b5c33db127e741f6980d1868a91571ac2d72e3a174dd3eb417f3739ad61c68110b0ce8ec78cae6b20cc59a6e7a07a8ca7cb37214105f1cd04447127144882dc3cc7b86fbce2827b9b756deac3f911e11a35599db509cca6f41e2b718a850befb7401772a5b3453dfdcf99b1781f9f41411e1f67d22dccf2ac2e0db7b524feac72ea2029cc8ae2ff834ae17031d4e052652ad957593ca6a042501dab1a8b000d6499d7a79741b0b73ebbf497023e6854753cce30a43fd01cb3db662c9e06da25e17122733987cc156cebeae44d67f3c0c5abe680fe105d2b8b501960f75bfb2397130f1d3ac0c5c13aee841f3e5c0aca621300e",
+          "padding" : "3051300d06096086480165030402030500034043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "06956b9875fd5b4f7e0bc252a1fb560303d1d5eab0b676b6aa555b0bfa9be63100357c74a05624f9babbbe980a94b5e68b37202082d6ae713b4dfd0a7689ad5ed3ff70e9aafba45f7e905ac6b9aa9e4717969065d51c003d23bad8f2c821e709746ef58a9fffee3a99dc782811b8af30501d28d6865d0f52899df3c08b2254b199faa6402ff9cbab16b168c801bda906e537f01d9a541bebd77f112947480f1d7d470add94411e0598e7f0895b1ede3ba2f1b907ed04b10ed415fc3880043871677624ca0b74ade7f18f6e01bedc0d1931986e29e7eb0e7e2514742f828879cc8668d110f4bb940d1f7573835a504ba6021d6075cecbb5a1e4e908a418f56b1cc7edc77957305521534fe00e919d6cd03ff0a3b9416e44fdf31cedbe02b47932a6d95b702418ec6fe6e3e69ce5cbab745bec15a6122b5e74dc32bf7ad2b984f25bf4018d4b62fe92b1010558024b28009a72cc4f72412a559d84559b97d12c549cc569f2ce4ec25a31567930cf85caa4cdd34117e775f48750b6b5c70d819b9e6e5579009179eb8fdf779bb8b898686f03617501d9293ecaa5df479b046819706d73a9b3afa0ed6292aa30504b65ab73aba5c1acf8485472bceea7256540a00e6c4624623286c9e4847172881b091f40e520e0a6d1280cba14abd774eb0db338f76a0d86ceaa5df7ce4fed554b890fec7f32874798265d1838a590be8634c217",
+          "padding" : "3051300d06096086480165030402030500054043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "7afebee544075bd481ae14685a0fd2c391eca22ac5dc5379a2dfcf9cfaa21ff2cbc334c7ee489572c9cf30f34fef16457dd60f391f85c304779482bfe2ddfe8573345fb16860f60e3489f4314f971d169e8a4ebb910e05013965384830750e6d82e4dda7b366ee11372e638de2dbbab1c1cbb3439f45e57a8863bd7abe7c53d61f050c0a52b63bacf5e92fe47e3e7448f16ddf73d2576bd222ec6466572a134e54921ba1a7c29b6c6e7049ca08172e1d55cda0bcaabc7f6a38e17033d92b5d81e5c6c45fe117230fbdcb11541f019afca47ee5132d9368903ac946e5522b636fbd302c9013f0e5cd2acae07cf7e806fe7e96ed3390f214769ffe7a78fb76879820990ccf7799991695286944b5416aaa09e85fce29ac1360f055e7ff698a11c40de0be6c5d5d39b8e969552da090274fb2f996a0b7baf57d75e63669efd5113667f732a91aefe57c9fc18022ec83d1865f858c74a397806588c3849a30235749bdd7dbdd3f3d8debaa92d4c91cbde08fbd929073bc9d9d5855614415eb54ca518dc2b91ed1b90c0d2ec27a149d18f6ea006abca2cbccf1fdd9c03d46dab827e9cf420ffdc9109dd8505a0db745312d19bc3bb6896f99cd9ca124bc4ed4edfcfb972abd98b1fe606662ccd77471a35b8ae3f405d688cc8c6b2e27399fdc89d189b8aeb67031138c7168afdef50b9b2bf9c23191fd19203ba4e9d0b4629e5a0dd4",
+          "padding" : "3051300d06096086480165030402030500064043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "313233343030",
+          "sig" : "806cbf33b9b7c058714403ea504babd8ac78416b0a3e77b4f821e6fe2161f86104703f2ecf9e747be60512aae660fe8f7c1dbacdde77b421172b5e68aec78d7646ae8e849fdc878b8dee55947e58deb80235f1d79999dedfb2967e52b2554350ed7954b21710c96537d58ee2ffb4f3310e77d8663fd6b1ff92efb0fbd5658d757c887b92c84f8d79c17bcc498543a38e97219029343f59eb0d67b0f16e80bf74d50361798999b7783f92575d3ae4fe8ad6efb51346fea20e6c0beaeea2f56af5d073dc45878e6e975bbab9632d38f84da8296165320652c4fdeaaeb8cf17e5a3ba72aea4e46d91008de112144d770ad7ce78ee230b296cb2df5b4a1585c6346566ba8963648750c3744a17de3dad45fad71702bc0f0396969cd6ffe6368b6274418d23b56de452f14894db50720f657bf2e3700635cd1e1fd80fc61de45297fb7f180d02d4563edd24e757c461987a06ec07638bda0f362a5b3ca2ca1d7272d6039d4cf161e2cadbbc755ba3d19157d4fbf320845e9c7242265807add4b18f5952229e4dad0d1eaa5d225d4d1aea144e83254e6c9690272e3312995ab337d673a285707fee499e72701a5283e0cf5802c49d07a113383d65e3496de37b3dbbfdec2b90df48490bd9e9dc21ae294144759434a7183c9c8767e0d8efcae2a6bd1bc794781f8df000431664256b0d1e3413824317eac6db977937e47f2e401a7c70",
+          "padding" : "3051300d06096086480165030402030500ff4043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "313233343030",
+          "sig" : "4c9e5d015a27bbbdffff3fefa717015004f1daa497060fa5d67660621ae82c148dd128cf2c3b6a2212ee74303ede9736327d56b79bd967dbe4593ec445d551582f0094e4d6573f1425325778b1a9720949d4a67ad98019839314daac19044472fbb463e576f5164ea0815b013773ab8abaf57d895316e6b7baa4fea6168b2d5f622f88ea37612b75417016ed92defab4de906951df472ad10700b11ea13f8f43ebe8bc27a944572ac4435e8f03772ac427bb794bffc52cb26bd7f058750a991d2bfcb5eaa205a1ed321487e7a2d80157f6d394ea1fb4f51ae546b8f8189c41415cd6a983fc363422ee0cd1bc9c6b0e3f5171fac51406af6b93f47a9449c0ba274584c8332d6253aa967690e59671591f9cc783d045f8cd2e53ae695d2b43c6dbef08398f17cb53faffa1ee45475879bd6b1763c361af445175723c6fc55f1dd2f108d51f9e2249e6b1c0b11e8a1134dc4aa348942ca2818df11a84be7ef9056b57d0701e41373909b0b7f2acbbec997c20f9c4c5b6fb373396608f8e2cbf4d246b5ab7bef83eac4061caef51895ad856839c8b776522ad217f8cdf54311720c28da64ab5d9a339ca82d43ba98eac57b8532c5606dc6d1a9c7fcb20dab617ec74984246b326ddf2596326267dd90cddd41586ec2279a25c2798fafb68684df90036f3bbab85ccef8d50209fb317af04825ea69c844b613d0f8388db9c2cef819c",
+          "padding" : "3011300d060960864801650304020305000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "313233343030",
+          "sig" : "1b4fa86e9437a740396f01dfc719b300bc30013ef20702a886018f73ff6009e20b0aea169d6c8d3f8e5b39938edb137e2118fadf6c6b66a352880d08fd59d0db8e5682214fd2344a67ce6dce96e4e7d0bca67211498b3cb2688dc312c97b051bfdcb6e950c19edad779d41df34888a89ab67e9ed352890a8e29a9c9009d0c22facf3f18351faa3ebbbc617be26ed26787208e8c6028534155fe983e8a856addecde394e7eb182177e32179582f3eefa06f8db14915f65053e7e5a17575551774be4848c00c8d781984e6e421df5d2e2cf6a59fd7049c2a2a299bf1fbbe1aec676ecc30e2e20656410d98eacabaa9de1c216f16363097e81b49bb0783a611ab32dd19eaf4dea1f97c4ba1204cef5f6dc1f1b20ec8ae246c3ebcce57d61d0dcd13ac4765ff8f0f36c0f2e7249b85b9178ccb454a4aaef2c9a5d05bee8e1464404036f4e17fa1c6dc31aa622f4e130ee6c447ee85d78852b424bbfe55330265d2f013915edf736da1a3871d3c62df5a1b0007306706286fa6c3897eea636fb2de3f4cb6a0f3c23294a4831d388b4ddd0fdff21461a8cd27b84da0a12d1e35405e2726071c7a0ac8523d19254a15296737a8a08630a767aabe2ea6eeac27271479e1fca1ca2b13ebfe8341c52411abd3056d00947f68b2434d94129a0f604b3fc76734d32e5ea65078af02330543d4e7f728988506095925a9c215f1b8ee0e734ec4",
+          "padding" : "3055300d060960864801650304020305002444040143043ff800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "313233343030",
+          "sig" : "5b2d1405cd372618413fccf1492dda7ddd2aba5e48f1f0396cd56e4f51a8728c67d3e127839b8fd44871165e2b0ef25f31e612fee9614f5ad6a1112f20e9283ca7906eb93cbe75290d015bc90957e570324689e466ff8822863178fccd491e5aaf34b0e16bf00986abd15e2117523643761f45eecbd7beed4d59fc8be32473872f2cbc91b17410a35d55badc3bfb746cea5f725863dcbc6aedd0228f56e94f5021ccfbd522c5d25f6b8ec86ba5c15f784b4d819e91ac622edc774cb4863844ae120c35e5fe78ec777bd815b07df996ceb679d74141684358aa50f96c47940157aed461e465d6aafd16b1e22c85e93336f93cbecfa9cd113e72af41012374a8bc143f95004705925b35f1724369000ccc3c07ec572dbcfe36a0d29cfe99b9fb5d6fc620864a717b8556c931e05d32ee93674c092025cf01f37e36ec21d34b9631b3ce3fa40893376abfdaa2f7aad26a60817106651660948b8ca568128348534c82778af0c91bc6204ce6b6bcba682146244903d0c6ec12130005c97d390977f71ed0a3acb9fe5c69b62db6ecc0baa94d608a4c95a62f98ca67f9d4583cc96c98cedff1f563ce9254d4e4cc88d127d74b7f9e6e59bd83a03ad3c720cc687e102cde5bdff8bfa0b4969bf037126b2eabeaf4d67bbd8f19449ac1af10442c5976f0d99e57070d6fafd0c64a25ec8fbc380cb71ef952f120530f3940227d0de6c8c1",
+          "padding" : "3051300d06096086480165030402030500044041f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "313233343030",
+          "sig" : "0ecfdc9e8f66eb0091fd4ba2c702c3be35664feb4a8f2cb6612b3aa6585180c8dd1cb81956b0ff84dd7463a00d007bd26bd4132f29fc540b8f6fd2a29806fcebb167ce31cfe9d307558deb60db8e68f6c22fc153ad979686e0bc82bc199500a1a71ceae7b3cced4141c95dfd54fe0d8af15c0fa93e416525892d30ea6890ea451c0425db2ad2437f6dd77d0487fafb966f2d82f6752456f8604a66ea9367c7fd5e7dae8e4a8237da2cbadc97814fe05be3fb8da7a8263151451300e8f6ac051d1f2757920d59d5138181c41649b786f8957246a3459a299177f5e895d47d1156bdb2dde021b20a1e6153aff898fbdbb17824036cb0c0965ab508f1a323044fcaa8bb7955ca9188aa42ba3807c595ad27632b7b381a219cf162d0a80d56f58c7b5089a167dd0766e6cd77f5a1af2945a1930752b46a3c729233f6d849a6aea1dd13ed3a2e7a91ee0b8bd00bcf4c5888542fea02792367d42a9a675d3b3c973c8f1497811d6fe27a8bd82bbe5b8b4abfb39cac4c2265da619a01fb5847e5a4fd423674b2d3949d262095805555597e4930a2895bac40b8e18c711223ae7b2ce23dd556ac179c0124a6f1ac327807e8540b1497e1c72499757468b1ea8c39e8e9b9a5058db4340846c410ccb4dd6c477484ef3c96b183b6586fa79054b06ff22475dd6fa7aa08bb6bc3451dff8de4457523a4c0fd832007396ecff76b16ad19017b",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb34c",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "97b76bef18ef7d36234435eb59cb4e7c93d3820b825122b19c2e0824f255cca6486aff6ed6f2cba7603e81e17c5839678b6e498e41c0959ec95415ecc8795a091655790cdd335ac12fc7be271587433ae2b8cec08d2375c16a02afca54b4a68fdb63e3645678977ecb5f05696fa668ee06a2e390e48057999f018e98ef9fad938b124d86bd4a4739282f5273d198339faadf0d6488e4b6a968ac25d7a0ca88ea7cf8aff0de54509970fee9bf9914773bf247b622f7471d0df722ee5e7fdafd18c33ad92c6673d464c9e1f0de460c106d4a54be1c7538248f65004eb7ca94aabffc4f37cce9f4e628fde81a3d8300e0ee486b52555c94d4182e5e7cd1eb6328f872f9b1528d0e1337d20bc96cae3b5744ae88db90bd9f3a5cb3ba6d64e949e9b64d84c47ec5f5b7af02b08fd06a820b4df22b808203d0f9e327ab64a54282a30ad12abddd03b9beb83b8647897c52a889e7039632fc63b40c3cd5a8554f0dc96e3727fa24948d97cf0ea2644f888129cc6a450840cc526b9bc9446430393d571e4081a10e6fae856e15ea97b5852ccb253517bd8db2ceedf23e50e51c1b3500919e0e4c915a3ef3b75c862290bc0b6dfd88129195ef4fb4b16837a0064c60513246f1d4ac068754aca0f59aa847ab5c7086ef65d371075ed4caf0345bb22a69163089d683465d48d27cff4d5a200a1cc93e54bea0033b6082d52cdec5726c9bb9",
+          "padding" : "3050300d06096086480165030402030500043f43f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "313233343030",
+          "sig" : "50bd7b6ee4aea6da1a7e92a2439817dd3e521030d55ffb99889681a9e938f9ff0fc50c4a329ce439f862b8c12744fd565f0f18063bc27357faee33bcaf24887a72f15851de6c014664501954ad7e27cadfa2a1c852bbdf212928807be0185ef51d11175195e8621dabf5d29a58cfa28d96a1aac79a60bf83dbf6508fe891177f521388e13ffef6e870614a35c60253c5717020d6e91f860c3f447f038d65891cd783d06095b615bf1016b0d73183bf417521bb05d007f6fc23ee5c46e9e43307b0e2ef35bab3d7c86601c54cdd7cf9d495a4a514a0e804e084f53235ba8b7050fcea6c858eb67c17f45f1baa9f4afb7d7cc0c0df4fff8301ff4cc3a5754ac6a9c2956e78ec3ed3faba10994621b8474982809418124f8392a123abf92d8bdb717b94e8dbe87fa620c1c8f597401ee7f3087cd1765d9bc008db8bc017fa151860c9280984db887cc74c9429b503413b6c2d29765a3bb04c70dad254d598104becffc37173c892048c490df48addf5970193f748eb51c5536692e61c21f6f33f5a4728455ca916e3d707053b6d781535ac3c75bd33a1f6048d3632b092fced4f4214a6e060aaf0e6fcb5153f1f65cd3e62d65842e8587b378c0310d9fa6197f1981adcefb5b33936763945704df6b871d7026a3a2d011e43aec8651020b01902168c216ccfe367edb111184ac012abff7dc1a188fdfe5d8e865db27fd9ce4a4af5",
+          "padding" : "3050300d06096086480165030402030500043ff800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "8aa39e382cd8607c148606cb9693ec37591bf4f663b0ac40892656050e57dd9442cbfbf34d1b45d6e6b2ba24fb5910c6521627c45a580af8b26bc2c4dc411794a0115d11588fe7c24324661ad04023e8700f0958bd700e7319685e5e349497037a9dff809d5d8a2b89b62bb1e7530f35f5024ea927a4ad4c40ae09736fccdd967d0e59dba17af33d803061e4349e19066d92ecfc327cd660fd7dbf2863a1fb6685b5a7b9386c232fb7df96fee7244f37a5df24e4a039931a41cee3763919544bb1bb6d14e2adfb88607ab80fc0e434553a5e4c2186064a9c0d844571644977da31d6e5bb70d1ea319a6cd270983d22d73e226f65a5a5bc0c804272ebbc4553cf9666bd0985a97ddf676788d09889b2d323241c6fac07e13b7440554734d2c0aee1f3b882085f3a266b452ed2fb69d518304c5289b2c2a6484ab93f8a540e6d1f423aef15a8441485e5768cd0e9f47cbebdb85d7dcf045a5d2714f0d422fa2ff6a77325d5fddfe194eff9f03fb02a3914096a9078d0d954e981e7542c975fcf43503d2aa806bce49b2c6cdc971b290b3b2fe45b3e0b6c106cd6fe0e7003103fd2324665f800068f0a8ce635b6aa3de021ae52b2cf33cefd54b9e874a0665ef31fb8584ef80df6eeca5e1c323feeb36d804266cf2193c9a660efc6c791d9f571c22de39296deed36f10f59acb93b1558a15d5da024574a1a5c190ea80de8d9cc97",
+          "padding" : "3050300c06082a864886f70d02050500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "37a5fb4d5ba5c2177b7fe767e59ed949992e0bb6b0c9e5d1cd2b777bd1f57f60e79799b42cea9eef4b0415d6d1825199f44d703b80298c93f4cf5a46b33c891a93f9b54b9462f0286e6504f0877e32160d098fa7b8f593010c5a315399660567adcba7fcaeaf557feb6b0b743d09866cf92abb2586560c70897d2d1d5c7958cba4bd8fa33814091acf3e36260b44158faeed33510f1de9a6c8ca38f3182328576ca98ee18531b24c8699e4f975cdfadce528f87914aa1e9fedc573634534b2f080ff4458f64e1e02d71b2490a0db3595797b5ddcf213238d4b91d04c44bda997740e4d1a73b150f82e874cd6d062955f2993fbdf3523f2132d6cfd6ffb1e33ca1fca9dc53f2f767d604aea78a3f2751df2a21ef92b408d10549234490172c26168e293acc3b862e5537f9e6975476246e91a72e38b5554405e130caf094ffead06e397e885d79994dd3d7eefd7decce7e93621e93867d33c68ed87ed11ffa4ca700ee3c36cf06ad467f339fcbc35da52bad2c8e3cc65e9a89e6046ab0142095f0502f6ddab68f341f5b71c39d57629cd66bb7b0b4fdd507105cb12ec3810361430a78ccd1f0aedd96fac40f8f31823d6c3c11534ab3dc6978838ef91e2526362ae869fdfc52a6166bb5611a43f4783867649db78fda04954cb6a52f43d81048934519429de8de14a75a87f1802625c391138d79a96775b87ceff69d0f8d2b729",
+          "padding" : "304d300906052b0e03021a0500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "0139c2571d73ed85895ed7e78bc4fd1eb47b9883d5feb7b17cf7b571ab4d9731e3210c4d4c3eb6c6f1f833f59e01e9487afb35a0ac558f8c337a1261f2c6bbb21de0a54d2f8740d452477ddb8ca734ac9fdbc508e77f266b6ea3291bd26b1617c7f2737fea1b154c035ecd0ec7c796955a66d23a799f755c64e28b0996ce26c529a11d876423df3aabe0f2cb7d8b5a7688b4b1a0563ec3ec9265171bd766f226e855567348df48da3e7c5b12bb6cd6b3773eff51d82f0de2fcea359d88b664dfa9b33c5aa079a9e0d874553a9ecaf76c0e1358c7e1f4cf2d0b8943555740a827b98d141e760c27f7c673c54d562d28ef86770b3673dfd205222e6ff0b03f394e89ce5e04825b4696c4c88e92dc3242746872a8a409e5e01b07ff64ef1e9554c35cd1630a842125516c6f4073b455217640711d80d6352e263ea0439cb67dfe9d9e169c5a9f0a34d21de64d63e67b4474e1004af8a251200e21ff01acc9290e6afcd02da6bd5f18c2af4ac01414eed63211b14af38ce103d190061ee6eb54edb69b4e443708703125883647466784e45ecdb6ff15a9be7281491bbd1e557445c77ef7d5de6d50f8b03ae9bbf670edc8d87b7ce3d39fb57fa245ea98b54c4da97ff4928206368841257880198236b308ac230a18b20e5b89ffaaa58be66fb748a2971794a88f36c7c3b81e389ca5cd993a0fe6d911838ae07480925d4899e38e83",
+          "padding" : "3051300d06096086480165030402010500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "313233343030",
+          "sig" : "bde28951ec3257efc054f48bb34c43fa230009131244f0a909bbbb387527e8251d9594d22e435db30fa55c01c43421dd51ab38dcbc23cee280180d74b6a9c1c30fdcbca02070ce3e0868419d9f28b04dcb1013734bfe9678f7c16f156f382596d9561fc32fa8b9de8b7b1bbc0047a4a2deac7add9a0736f0b0546956291d231d39b53d19e533d99924c8237df0ff91bd74a5131f4f361d7e541083dd4f3d711ce4ec9aa869a082e4d93ac9cec840cd00690629d7aa30454991a18d8d342fd582d8054eb66c6bc41df3e7c98b47b50ef7d1955215d5ca27f80d2b919a75c25f6c18bf427caaf3431d64e27969b6002cf125758316378fe05a26e3b2cd0da2f86016a5a9a8587577463592ae0c02f95c0b099f2bb0ac2143a13b9131ba86af8b32414d33c63d4cc281d5b1b442a68033dbdb445591ab88d33d184b4d87e84ea09fc047261f6cdef18462ea8392ef9f8593b71acbcea15f81fa68c9418ef37720c8077d7384f9544f85a519614a6e900f178f57535761cb388f60fd15eff8ab321f49bc152626c2749bc3033f46bdc20e853e2b5d98297c4f74d9b0b632d0bd1b6b64346cb6704afcb8afe94979caba4f56713c4c966ceee9bc0d7d1f248bb55dca1c58b55fd04422c8f2c390238c1fa4778d6f31b54a3ffe7654fadd8bcb14540333ca3aee93184ea1022b355a902373d7de9b60f3785465668bb0ab7a2542bd86",
+          "padding" : "3051300d06096086480165030402020500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "c996f9bc755208b9231ff74c7eb386572fae494aa1ef14d906947d8e392a8c9729df0875788716010cc0b65c2e7fc445425a3e0f3f268a981886ea82fa6638eeb399b13e382c699c9c2120190315dfbcabd96c64cc65251cadc8eaa344fd48bfb139a7f3b84d0b9ba2e8ba730807e8f39035672f4fcc6e16959e77b33457881af75f658ad3493dc8cc10e8ebeee25f6ab0c435b6608fa1754ce3610a729a8f620ab5007fe95866feeab912deaca144b8dcfc682bafd0d766372d37ca4f78ce57bdb180079f577ba2a8b38754d7849179df6fb76c26fb6e744d2ae5bc1ec622eadc77dc58789e691160f369e02c1490316a3236dd8938bb17627e9a2e0a6450ba6617b65d068ca22c3e2fd32c94a1edf25d05231dfa1848a79959f327ca2eb2a5945f3c6520f6fbee14f4271e22b47c53879f1e968979f08232619aaa82e5477692edf1df76ce5c7588bfcecd32986360ee77ff918d34b7fa81df9d9630cfbbe9e789382679ab360c9623a414cb8472ea1bb85184099a66e53074d35d8c6bfd8a7e2ab60fde351d253a69f5f75c103a43457024f2500c0175f09af86694e278f6d7c967445195c1094d93b5bc1d3871a673ba4038e59ab4e4a3e034b1ce2385ede252e6ca5d8b40785fe3c0f9fc02071db80e97deff27dff9d9b96679ef5c25e8e68d1ad5c17b1e35ee054d7a3e7e9bc8fb97b68918979741f8d73bf75ba910f0",
+          "padding" : "3020300c06082a864886f70d0205050004103fa6e1540a9e5b94313c5907267a7331",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "b5fdeed7f0f69e4c0c2aeb07d36e868c827d2e7eccf409a77ee8bdb810d2dedf337dfbbf723bcf9411c5357650f8e92ca9189ed821dd2baddab466084d348b0580b19acb9dc7346739a314846aaa59d5c28e3120621b961b5d0b0c1d4de49739cd95eed627738cc1e4512881568e41ee94a77b9b0ae19c7c4f07bda6900c010a5e10ac9f8d110f2edf368669002d2585b1394aff0687e98ebb7e88a8fb1d950bd563e77c8c9852faaf941e17405c1d7f12a51e8ac338f5c0d6a605ed2445814c14ee949a781c65d318cf2e46064ed0eb8cfe68fbb0970115aace71722b6c5649017125685a79ea175c30d1d0ada039d453a56c59f4d01333948e769580db290c271c15e5800706db6b5ab775822b293be7c62c647f42feb2effc270d50accf866dc1b19616e7b2d7c5c91e298df86044df61f00ac48ebe2957258ad7d9f4d69266627a0aa7acce8350bcdd2d139a0e8a641d38b85070ee7a909ea71d3d10f9108324a5ba8288137b322367d973e5a6a8a8a12c2442eb93879bb4b3b3495960a4b704f7dab9690c44528d2bd442cf2d597c1ed9681f9352077bfe6177b3ecb157177cc572db7081113e45750d8850314a49e7fc38c31b4cd79709161b87d1f31280f496f07d39804d8b638819d250a5755b00440c91be15114e1244bdd8e5a783a61da98688af5781cff347fea61445580103bcd75422d43bcd77177c7ea0b554",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "8682d5bac51bb32bf283b8cab1172d6e8054dbfc672de6f35f33a9f7b3f0662fe19ec01a74d5cbe6d90351843e2b129d0ce30884fdbdcfc962d2721fec5b3b7f6a9db4a95b13def111c737cfae72d13aef4d0ea9c29181891505a0d28c5c8853ce5c37476654703ea2e7c68ed52591c182bc051b5d837ef3be064901be454967be52f9c7d406b7409e93308b74a826d3d1e6aedd8aba3f5f971824784167df53d042781b7c2d3cac29428c7da1fbc451680cc211517f9175ff1b2c00f819916d6d25581542c8f05479aacfc245e5894763db8e79849d3e2dd8d7178a38cd4cb7b03436c150c467540dfcdd001d6c8994b2f8b332705b2b5ae0c841708c83dadc7d647ae15e547403d689a00a6bd4de8602633443e0b7edf060bb7b529e0afeb1b4171f70a943a14f69c59720b4b5ae59313325685c102d992645fd23af12f3b8f8de79399cc6c80f9a0c006c316ff7a6963a1f8ef58a67d107e5b49fd8d7079bd45f23ef67f6a83127da157f54fef9dc01415a6cf7a957f5ffa15457a1a8bf831273f48f927ba8bde79da623a8a2784e7d8950c5fcbeef5868311acbb793cdfa54c702209073ad8599c4c74b31ce3b662399789febb36d922d77cddf63c1de3a6aba21d6d8ed54a1b48f48955602d0f6a4f5eb5546131561809236f0c71b8374290106b893ab70f6fec1fbc3bb6ef5e6c0263a7c8cd90c289968671744e853d7",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "313233343030",
+          "sig" : "088bef646bbe07ef0c2d8b191ba0b36420a35ca1a85f222bd9622af778497ec8e489fe00f0b7b236e7a594ac83963d8f07079e97397b8b973402225215d2fab8ddfbc11ab3de487fbf9fb704a5e0cd1191acfdd61031e72ab931407029a9fdf519de6fd39e61f89c6f8773b588b1645ba193de9c44cf9e237c4aab05767ac6b13b125b39b9e303d175f38952d536cd1f0a4aa92872fe6bbf630414bee94a824f063dac6238f846ff829ea4dac1ac46037ab115aad3fe76c58c28bfd15a0f43b445e0d2ca02f7a886ca123fb19ee6b9685b4a704796e35c2e05c3bdd7106efde0a2fc3f478fb734b39e1f6fe6507d8804d8067dc57a02f6687a5efa85168131db331b1b426a0f86a6c2581cb3101b1baa35e24c2fc5d8127ad8c749cfcb62e94f0bd1c68341cc9c680aa2a067d242b1085cc6724d5411e1e71fd0747b2a17408371740b2c95f6956385936ab4322c977d95d03dc320629bd8ac9326169c073c2c1a87f4e36bda5546766c2d8a1f6599e20aac010d447458b84f5160e186861096f035f28c44cfa6e6a4565ee25b8f1a2868fdc079e1e93beeaa0c2da15adbea1af2f4de54b4015218420e309c330476bca71e303bb2910edec339ffe7f9048d16d98c0e3e6f4c582c50fdcc85c54e11b72542ca7b1fe4507095b0fba9cabfe5ff9596ade9efddafe266d7a542ea8549bba6c52910a76ccdf5ce296271380ef6b3",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "6364ba6ae98bc935690023d9df5f4bcda28e09e344719597ee429ae66f4271dc0420c366c2ee339a1964d9794cf5f5c8f1b823639088a0a7a1bc553edb8db695ac74e8498de5cd34a1d95248b05de56da0878d23f646072ebc37075a4c625f721149104578213dea116b26bf726ed2550b451fb893fb90bfd6963f3298f6c10629d42584dff7c8dc7d5060b52f93492c8dffb71cd3b55756b93ac27569acb2602dbff71a95ce74cafe6ef5759dcb85949c142384b4f15b059070dbc0511734ed977ad70bbe1dc2a45dc724e8d709559c975a731b619e5ff9737db0c7fa1c77fde76a63334e8fda761531d35d292428b199a5f2e08cd4ea2a37d5b2bf47b68fc18f0ea0c6b5f903f10e597f4c768124668ed832f9d6a8fd17c8bbfd352685196cf7b7a8f6b6c55aa4b1fb0fc516bf9b618ba23661d49fb70a4e0827b9439f7786fc29132752e258261ed8f6e2a06a869d85e2e48489114b636558edefeb1ad6de98a21125e1f2401cb20e76496037d801d7cdaff0fb5cd3c817efc7a67a30fab316593e9a6d487115a82ff32ca64eb79483ca337dac18e8b17f6f998bcc5bfafef937fb1233fcc06a2f151982a27ac27b3005569251ea6d1995dafe4f82f592dcce808882621ba245619b0a7ff4fb1a445b598a3ccd7acc072864729c5572d8a4c8c207dd7eafc9385a44e6a6e07b5a744795c74a1a789e1a3520e43eaf06640e",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "313233343030",
+          "sig" : "7104011b21345d72d2c8b9264b8841db3db436ed2b1d4943596a756144626de1663a5ff4f294c3bdadff4998a127c29522c63c44d8ae7af49a0e6715551a2a7da73bf69866ffe55bd20a9b2620b813b21d404be5d2a8ec857a95d160adca91f15bb8d95f5d53aca7a2a32611b113ebfa69a3ea903fdaf5d33488394dd574ac6d1359dbc584b00218c2bf3415baec27c2286054770ac75de56936d6a0429d1b46fd9ac35dfba0ff2d23e935b970874c128970876ae0e60326d2f7f117a72e2f205bbb63d9f33bf624aedef361b5d60d295cba044a43cffc079451158812a794b516aac6f4f086059e1a1adb94504cad7b3e4f6296c14a162655e54fd68f95576782700afa51357144485cd4959cf2cbb9c2be718f39210261d90b963f8e6cc9bd94442a13f98d2bc7178ae460e749d72cb648dbb7d9966b9700efbb908f039487abc607bf88fd4e7df9a4f045f998810972e68811c1c3961556e0ec85808d3ea4093ff0e0b10bd1d066f5adb9deb852a726690bc6294fa10f83d9281edc380c0cfe5e70e6ea344ddfdc2d071c37247821ea5a290f72b2ce509406968853d6fa4b2ceb635a612486cc903c01bb76d34c19d4bc75b39150de67fbc125e7022b3774d01260c0d62e6bc6eaaa189ebb70a00b1bb9a8ba25564afe00498d541010dbcdef82a597ad313871357115f8af3de78f366c3f0d9439acdc79556c8a3be6604b",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "313233343030",
+          "sig" : "6048d8149c4c3744c35b315117e983d47ac0719c8417b41e7d001af0b9dcf465db93631d7ecfd4994086409d39cfbb2b2cb08a30c69bd45ad74d63007e0853f763dd5006d1f1f9b457d5fde60fb86904b669e0f3d5379eef168dd74f0d33989c308a80fcb26b61002a81a1ddd619d5c9bbb4f9fbd7c4f99eb2d4df27e37d0d4984ec2853475cfb533b5cacce9c31d65f06d7fb06613530d942696ff427150e112be4fd06517d643e50c59ee0e5f8fc28ad2f8a220399bdaa66569492dbc1a817bf76dfd07d9d99fcd2c290a6a289e4f5030508ef4d07c77fa1f61084cd14bc3041b20d1672b3948a4de3005e3709e126c46eb1ec1f63dff00785cdb4c16cd02645a7acc1bab969625977d2037a7ad910185c4c8109dd72294d553ef8b73998c12a118c4feeb40c27fa8ff4fac98da8ecb7b5883f22e09487db871351b89d484d113d58dab0dfabe42c06fd46547588c53f5cf11088025d54f61f724623275b18d4c361ec021379f2fa50df7d2bea9efaf028d13aa5f6a024dcd93454b278790844bc42cd39af896c23a46c37f5dbbd7fb791bd8e5378d5df68ef053264710c224fe80a197c9a9338a4433f174be73c37e25af31158c5bffd71fc480514560db478553adedde31fbb65ed5d28201e3bf15750f328834e5a963d0fc2daa4949df041f54a6a196ebcb789f023084e48433820815ed7e5c5359d3a0fffdaae8b34f4",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "313233343030",
+          "sig" : "81fd5d22e36e8bce36644c47467559bf83c2aae87a22032922f6e0aef582e4c799b2a12ec8534183c982ff1cd97ec7410e7203c3ad426ed6a97efa158261c7d9486effed3640c469a6444a5b1e43ebf7c359b04aa37135bc51de5750519231f682c0ed6fc715d78c34bf52df4e3ccd28edd0cce4828042d3894381fb99429aa306b326bf59f030b752535914d324284ebb5073c14ce3cc1000e0d65ca90f068ddde05e2d7b22ba575b409aefbe37d110f92aeb4afb58d4d03d140f74fe04b6772b52c960bb1120d359b270f0bc926bbc21d0a42d7d8bc56c5756dbddd0b32af7fde1e8930e195874f590001fcf63968caa75bf9acf3067f22a64370ea68302bb36fcfe35b1c39f7e69bc69328ab6af1b5b67fe3f86c06dc823e34f8652a0f5e38f6965f930e3ec4abaea3e9ab3b81132a14b61357aae48bba795f585a4f87a81bcaa612ca564fffe043e663dd8469ccaa4a8f388fbf5dc498bccb23f72cbfda7a853c9c132c0ff27435a6baf40d77b7a52ad8e8ee7ed6f0d6524cdf060e3e843b538e586facd8a5f5f3dd97712ef426f229d803ac6d6ee6567ebd0ccc467b2301f567c92e1c4731a4134c18edc00c55779d7a34a6c155823320914157fe9d7226907a7750bb78f7b6b61b134c18133de7dd4357a7763f88fd3886d95d47449a6385243cde3bfb975738e96078cf8759d516b31268c0052045635ce50f8805ff0",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "CVE-2017-11185",
+          "msg" : "313233343030",
+          "sig" : "c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "invalid length",
+          "msg" : "313233343030",
+          "sig" : "c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "empty signature",
+          "msg" : "313233343030",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "0",
+          "msg" : "313233343030",
+          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "1",
+          "msg" : "313233343030",
+          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "2",
+          "msg" : "313233343030",
+          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "n-1",
+          "msg" : "313233343030",
+          "sig" : "c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d2",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "n+1",
+          "msg" : "313233343030",
+          "sig" : "c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d4",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "-1",
+          "msg" : "313233343030",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_test.json b/src/third_party/wycheproof_testvectors/rsa_signature_test.json
new file mode 100644
index 0000000..e475582
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_test.json
@@ -0,0 +1,3694 @@
+{
+  "algorithm" : "RSASig",
+  "generatorVersion" : "0.4.6",
+  "notes" : {
+    "MissingNull" : "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",
+    "SmallModulus" : "The key for this test vector has a modulus of size < 2048.",
+    "WeakHash" : "The key for this test vector uses a weak hash function."
+  },
+  "numberOfTests" : 362,
+  "header" : [],
+  "testGroups" : [
+    {
+      "e" : "10001",
+      "keyAsn" : "3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001",
+      "keyDer" : "30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuw1BJMIBMGiLhBn6vsxC\nfZRsUJbc9p7LDrafz1rtFdfh5f5ONPvib4skSqPwiNVGoApTFGS6S4mAvMTV5UvM\nIOGlGvqQRPf97Lxu23UbWl+nq0A6BOX3e6eGXdbSEdoK+nEmKnemPZwG6LALYWyh\nXxHqW0lIlzhkGD9XA0dXBVPjh4N2yk91Nq1a+sEMCns0pcEfjPFhFfuutLMjsa1v\ndcfsO5VIkcqyYRzxdozsmDwXF8V/Z2dtchqVW9u8IWozRbsx19Y+Br2slqa5kboe\nARPQHkjHerMn02tCbC+P5IJaN4d0JYhckn6SQjtpd/wwQSKiw5fLdIRf6ZYduiLB\npwIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 1,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "9f420516e9d063e5e2961accd80e3eb0198b10f4d64e749b5bd39a80f7356d2ca0fdbbfe5f5b2bba92da7616a83912b449e69f8ce6e35a27e9e553279d6a9317a1d07d897dddd9a8291321359c6a8a31a4ad7dbb54432bebaffbe8940e40cc875d941ecaa10196e1aa68b83e0db67e34f3937dc1dd11cc0e5b40cdb0b90ecdcad793d7279dc5b5f6cb356b805e6357baa1b3659dbbdfc9a0f042131760fe1b78202f289699e04b5c55f3ec26fa25460ce3de5aeff0b1f5c435e022e1168f9fb86147e7a8b0f11cd988d59c81c3fe74116b350e0396b1cdb2b4e0326b5c90dc384529c7f794c4c2f40958f97ea203d76a75076d5360228e7ddf166842b9165e8e",
+          "padding" : "3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 2,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "b4e0a273bbf6e942cb22ae5ccbfd9d843400ba451c5e086fce9b3b1f90bd892fadc54ac45b61f3b3b37aca67d835fda1b37d5bec427382be2348062716d4592c7eb5c9107cf391e1cec01c74d64dfa5cb7052f2f8e442a09d21c22ef5484cb045c25a05b3057b266335f619ea8dc43b72e9abf38c19b5d71c21b9bf2eb8b63f2fe0fa868f7dbc9deae9745adb1fc26027bf5e2770b2d250c7507faf2fa63fabc67eeada9f2ed8f724dbd99d43294e5ec11d1575101d32af1a308abb56f7f15f544204b533fbd96fd3fe9174db3bc2af67c35401cc4003bbce360a7898dc831011ff0582c0658663a8c2e7c0e7a0df7f3c8ef95175bc136c3b49eb7a65023b08f",
+          "padding" : "3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 3,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "9f74957ef2ec67062c5064143d096610d04af16f23189bf010f560d49bd793d619f70125dbef4edb4d4c923f8447e48a744428d8b463745d84a718d3c5592cdf6f611a735c7e04fe3f89920cc61e0113df20b93c719df7cf62013a2db3b497c033704352519dd51975eb156ee733d7bb342093bf494e6d7c8e92537adaf8b9170c0a2f0d76af847f716ecc87e8cd3545151387cafe062d5a2db83c5463b84d13b1ede8656efb3ae9509b449f4676084042b7c9091fb75476c8a866bbdbe57e125d7c64f2f7f1d4f732666bc7ac09c8e767d145f22243dd1f10943aa61b75e85256c52c522426c1dafde98af977c8538f7441ccdbb4eabff1990304c087070b12",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 4,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "257d5214d02f48bf63a6a1f2604824bef64108af97a6032d9eab48b7964642e104f13c462289fa889109274360dfedaec2ace0f5f190d2e9ba0d2d522dc763dd60fcee52d513bf9ca7c0b29de279ca8b401bc2016c10d837cca56498dd644e4d350315819767e2908c1c33b71acecd0143e2913f9eec1978a900a3326bd8bb7574521c39efa2e987327c9343b9da06b304d1e4688ef80e6c285a6dfb64b57ffbfc786f69a2a1c0948ee6781dae288089a5dcb7fcb1e53a74b828b34867b8d7fb5a0151e43076772bd53a537937f8ad6e44adcf96a18181b460b63e530edc56a773fa3adb252cfc8bb664ca560a054f374c2a03d7532ac8986377b76ad0a4f1d6",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 5,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "339b527aeec23ed9319d5c5ee671e8e92fde09932648734b1ded4eeae420e113a7ff1119686aef90c0bea5248ee1d50f5081515fba7a68a7ac8e2ba9828ebd58237d211c8212267f2a82363ffe790e3ad5282bef3842ead902cd98194d440cd1a53cc34121862034670dffd82aff9bda7f867a3893c2ba2d60cd3d5a3ae1c446c718e99bda195e8b19af734786c62908e1e18b155dbf791283c1bf3e02ce009e08415444d56f5defe78200557d513c8d93414228c4b746a10262cc4dc573da6801f624c5d99c200bd5731142e49d69f9cc9d6d914be18d09bcff4411f62bf028223ea559a41c71a970f5e0010ae487db94461a662d56e124d7b275e8266e55f0",
+          "padding" : "3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 6,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "6ea7297a28c575e4348878b928d6e938a2e3d77dc46a785611a64817fa0e9c8ec71728bc7e8f9eb3268aae0f3bfa23dcb73d503e0147432b4003400167ddf2f9fc8d09464e0b91a44de12c1efc8c38732e1ed87f91cebae036610c43a3b8bcd5bb4beac4f9fb5e39f193cfd4bc00d4c7a3a98d00c4efcd1bd64f260a2a957fc730df6dba68d622441901c51f5788d6c3636299ed3eaf0bc23000650ca97ed62d367a844f23649bdc23efd0349dc8d58cdbcf655aad1f9d3a21afa02930d68a2c2db68e364b0966b005c460b682717035fd43f0cb0e7008a3d841a90c0449de8d154082703313cd9abdcc836e6c1ae5b1887f75d2e4b6387e7971128790a62c00",
+          "padding" : "3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 7,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "5a7186589cda0f9fb081dad864032ffd26a775fb33c7dae0ac080aebdd4ab53bc3ed37cc09f0a1b1edee78f0790ce0d1b656e4a788172db08900bb1474159937ad29a7899d6bbc87c743945c798307e61141ac21542af06bc2f435a47b505b2aad2619800a97396392f141772cfa97d762c42ee8afdef27617dc8056fe75b23ede6c8f4e9abe31c8344edd2c73e5304621283021ae7003cd760c3e34caec5b4b5cc6d291cff1ea80e5b9b68c5b7b045c04714d3dc73e150eb770d3d3ed788a4ed039117881ed5cd03eb3db6e4084679e09078110630aa6895029e7a6dd19d5b77952bbb06de26c2179fb06c64d184caee0079287c7b18f5ae7843e3cd01eae28",
+          "padding" : "3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 8,
+          "comment" : "Legacy:missing NULL",
+          "msg" : "54657374",
+          "sig" : "38e80b028443d96685ed76d4574b36c43cf9722e5fbcf08bc974385454316dee326a308c935a6e612ed26ef4e470e5f3f19a223e2866a2f1c805f74c804e2184f5620c1e84f894b890be7d46420178a2a5ad97b4bd3d31db24828281587207041a96792d8ee57889c666719c769f759c2175361434b18f188de387c8c13f6fb3a7e96f1abbb6124e94fbb4c6bc1d88caf54136b8f01c9eedfd614bc35375f33277d2e71a4dc5f65254179bbe75634e9dfe05aff9e1f1d792f4e6caf88e4299ed90d212d3d7ac9bfc71a8ac85ffbf2f49f77b41d36a64bccd3fe8948054cbad480451b0ca5f7fe35b0f6c772d64b70346f469808dc0057ba1c25c6ae7ac8450e9",
+          "padding" : "302f300b06096086480165030402010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "acceptable",
+          "flags" : [
+            "MissingNull"
+          ]
+        },
+        {
+          "tcId" : 9,
+          "comment" : "long form encoding of length",
+          "msg" : "54657374",
+          "sig" : "33a82ebc17f79f56f79073afbe0ff3f984f868684c529ecfffb3bfffaf52a99bfc057b196c3faeae3cf722c386c224ac235f781d9025ff8c9dcf10c4cc7f93c1f1aa5e1db9b166a71ac7350134ae1a1e5537a67f846f8c6970c269c4b91bc59ec783b7710afbd763ae42b1125eb9d0fc28b4045071c72320448a474006eefb256bb403b30a67c253028a2a0af7e4e36e85aa70ea73541ee2694d2bbe1415b37d2210def5ec77ba23c6f5cbe31ee21e072b49313e6e18bc6d6f2ffbd6b28267a5cdda24a62edd2151bff87ea6858db5b863c13a8e2a6445d8d31fd6b3ce8fa5a31060f97545f1e04df6819648a1933b1bcfa2470bb14844963f53175f1b26b612",
+          "padding" : "308131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 10,
+          "comment" : "long form encoding of length",
+          "msg" : "54657374",
+          "sig" : "37c62aaa10e8cb4bcce5fe466ac8688431e8ad2105dc12c6b7a0dfe8657ef3dbd027d04847c7d708c2099d7d38ca2b21aa5146ec0ffc7fd1a44c91c24689fa37475013e5b30c92c3565e3d53afa73fcf269dcf3b2bfc48a2ff026130bc008a724cd29ffc546d1aea5aeefc8cd13779b3b821d78bc7b7664fc7a89ce0273a8eed1e4a683c739005640c2edb756ea95f48d9c91d1ae9f57f24f6ce3193cedbcc52d05eb0dc8a9634a0ca8e12a446e9ac3378cfabc37b498aa4a1a9d1d3a6fb308411566f9c68063c0bc8e78621fed3a22073260aa87c76c5768c3db7f674f84d8826381fc3491f46d417a73ab88587d905d1c090e37913c99cfe29dae491841d31",
+          "padding" : "303230810d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 11,
+          "comment" : "long form encoding of length",
+          "msg" : "54657374",
+          "sig" : "875b9204a6603968f50d6e4dc13d3192077a286c3475165b0bd160ff3df39fec5859a512886fc1e06916c2025e01ae2f7ab3b341b6372f819a625a42c22cdafce031d9635f95dd962a8f202b52f9925f07bc0c94434a2091d861729551e37d7c6019e16a47ce87f3f4051b8e9adf62444b522f522918c391d82940418cb3976f0c30634bc5dff2c4c3f36a4489d00c5ae65021b3bcf5abbef9257e3c976e5fd305fb30ccfe13c43fed64c371f8532dddc70a1f411cae257f37b6743da2d9567f9dc3513b267ee26e2da1a6ef005526fd90b6ecdfaed9a8d9e2bbdfae25b0adb81004501ff32fe1e7b7acfa18de5a1ab876705784181b1336288aefdc91186c3e",
+          "padding" : "3032300e06810960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 12,
+          "comment" : "long form encoding of length",
+          "msg" : "54657374",
+          "sig" : "3cba108ad11cc9c6cfb4b849b1533c37557dd1ef2e201a78da42e164458ac54a29f0b11b1931e72f57266264584c13e910267e52bbcf15883e109a45ce14a86ac8e700cb04ea0ccccb55b01ce699275190b98c77981d2734d35d8ad41f94edc6481cc831a44d38a617a32855df03fcc44914e55b88271015c971bbf051d878b3ae7a8f53582ac8e2ab5d10e5023e67599725e9122b8ec42a96b40410edac51b26bec597b727404a6b1b24807e3df2fca8847de8b7517061edb009a40c8b3aa82cb22de080d3f7921c504965d5a23887ddb54100bc81894991c1ace0ee2afd1c38c554fd00ade0240c2067f01977326916d1708af027453f734b0a22331bc9453",
+          "padding" : "3032300e06096086480165030402010581000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 13,
+          "comment" : "long form encoding of length",
+          "msg" : "54657374",
+          "sig" : "50c6c70b2cf065c62b8b69884ae779e08b376574fe9307e2dc4ad58a50c5b2a8b74c1e8929b190045dec835e5f26c73824ddcf1a4b63f54b9f90c5f80c36f6a0cb616fb8b63926cca91c90761f960b83381cbbed3f8ee83eee92324fd9697b7f2cc0e784c956354b58e9243495800235156ca1698c407dd9b6332281bb5de1ff180dae7bb3393016e6396cbc7a02ca159b5eccee507a36ccb9338623e050d217be8d9826d0683d59c0acbaa190ba91da6b8579b6086d86d32edfa0f6f17ea5a58d3b8bb9e06ac1517eb66a8fb38094ee19e22b3d6d3cf8c1d001635e3c7e18823b69b9026d81975cb209024b8ebbdd88accbd9c5279c7a2fcd824697907223ef",
+          "padding" : "3032300d06096086480165030402010500048120532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 14,
+          "comment" : "length contains leading 0",
+          "msg" : "54657374",
+          "sig" : "ac3c440334308e0eef1b3c3afb42dd050c77f1bfe9f3c3c83d466a46bf708502f1866f423d52866147554a5c9f86f10c079d2bd47192dce0968e8aefd5f43a2892ad21b0bdb92be45bc380c11565ac7c01be00cb1e294048a1efb4cbb19be44fa4b542e0bbf9a47549d09e456f58ff377adafbd68ef8d86dc2d7d56c5d3be08ec6cf12c0d04bb7c64c13f08f75377ba896bece7f409d50809521b7f6496c992c90ce15a70a8f8096f8f2cbd3e575acb618c87f56324885cea1a6ded33d2f09d684f8d5a98c78f94853d74b9e6ab503918fea323e5534d3e45d51b3097e082c5da614d03a5ac422e5dcc3b764bbc02aa633a517bbe391d2662d71ab851e4eb3f5",
+          "padding" : "30820031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 15,
+          "comment" : "length contains leading 0",
+          "msg" : "54657374",
+          "sig" : "65fa4957fe03c0eb8a6680ede12f009178d3ce357927c8586ae056f209e0ab0c110871fdf0b95a2ff684748beb4e5a6a73ca3c657b23bfa06d362a300f260f4d60d459a066c9f5311d634bf96ac7ee4c80ffec2fca27eca7dbd37025bae76122a1fed1914da70f2bfb6bf2e1bf3a624acf2a6377606fbf06044a21a39ccd55b2cc1f0ff184d9df95bd73942a190f30028e770139d38ef3156f64fc3eec68ed5170c41f09f110f5a0fd195cd42c4dd8e394f32d195c159c7c2b69943ea966039b20c7ca17cec610be60aaf7ecdf3511590a662b74a181fb89135604d84cf9c4d6cb6cc0b4c24f4b5e7e9e9cd969855cdb92e3b399f32cb31319ac81701d056e84",
+          "padding" : "30333082000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 16,
+          "comment" : "length contains leading 0",
+          "msg" : "54657374",
+          "sig" : "305b0cb38db7ba5dd11c1d82195313b522f57ceb7b4045249dcf5977b99315f6708e9d8eaef6a89da0c11fa6f8dff3aa9050369cd520dd6e957226144fb68c846255b923a49ce896fed8828f8956d0d7aa5193123940ad0a5225e921ca0dc0852aae48507c7e22ca007f403bf0fcb6553d0af0bcce6be17eb53b0e8401349c8d144eb1ddbbf8215fc0e06d6adef096acf52d71978b1bffe95ffd21899256dc944fa9cfd4d7a25e62843f965d55515f6c45b22a825288773e25410582f62b9f1fdc1e0c6d4c941b90de7d8c3b18cd3eaf5319862d7ee160a5edba133cbc67024771817c7eda526c92d146e3b38b801025d01871c3efc2591a32ffaeb7b20e7dbc",
+          "padding" : "3033300f0682000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 17,
+          "comment" : "length contains leading 0",
+          "msg" : "54657374",
+          "sig" : "69c99cb5b397c6f9fa0f38b0d311f8b64eca97b578302912208bdae5c04244da7cae594e59a6bc0935b8878b7a55b90acbe73ed2adfabbe561cf104d2a60aae3c4fb58cb69a11ed739dea095c224c98bb0fcbddd44d4e1e4b71a8681730c4605d93a93e40e27e6b1182c57fe5f4332898872add7e2e7c3b39e0b45d07ad7cf3c90ea5bdad70902533ce78130c74ded898cad1d1830414951f33ecc0119ae785722d1d4320781178f393ca1fd11dd96da6f44bc586fb4b5a911fdfbb87b7d88833a9a1e036405e205013e2bea23e663dbb2fa813f1d8420f1c57b25dc5bc09fd7dcf99d0dd4a5b3bba8ff2cfddf2f9aa9ea78b8f4132cf0f373157b97097fdffc",
+          "padding" : "3033300f0609608648016503040201058200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 18,
+          "comment" : "length contains leading 0",
+          "msg" : "54657374",
+          "sig" : "29a239412587861ba02da5cbeae093ff6217ca4b1c80eee56baba352290d6cf721260021b3779a009a3050c2e5fbf19e1e717f906a7f62e52d626c4a31e259c8324796e63ac75bd04081cf2d1f22a5687ee9464cd47ce491eb7ccace2b6bda1ad3c99de2b4dae26021d08dc270a2e84d4467f7a6a2cc59888f3b74cb107311c62ccf5f327c75adc5bdc830c2bee5303a1c43cdf80e00374fd3601f122b19ca4b2f36476abbdd0633561eb3f05265282b4d637647a1e8a2be47b4ea40e4248c3e2541950ef2eb98a487569a35d3c8d8fad28d42ba57e3134f828aa1222c4d13b6fba906086cf8f07f5f3ad539cff8c0cefaf42d89a884444e62e408e36236e70c",
+          "padding" : "3033300d0609608648016503040201050004820020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 19,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "36f62f546a36d5215548e6a770a14fc6edd4a9353ff8ed6231369cbb6598d25d86018b8cea9f1a87c150fda18c7e89b2c907f0ce485c8c321be467a97febc05dce335db88cabdb99ebc4c187a04fdc8e879487f03c2aeccb6ddaf006f0613d32b197c79b2a8cfae015909e02746fecb9ae9da3f07ee91ba70c0356984dd15d078cd0b93dd9e3c1cc03d6f255c1383e6e949e529ca4408f0f453e7e94c17e9b47f841f73dd62e5be047c44e1d9d7eee0d9f2a56bab13d4397494812793a49e8dc0d237242bf134aaead8f303226e532afd0c2e9748be08d7b7fd74f6f1806cfc4092af39d6eada4e0b6d7aa6f06592f6cd7dd26c1fcc84fdff1bf3086e8e2c81b",
+          "padding" : "3032300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 20,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "6e18d86059eb2f05c0c1277abcd8d2380ea39ea0c4587ae140d2f709363eaa2b0b7f801a75fbe15aa329129c4abe43ec0fd84f552a3aff7e4de40a5943ef13cc3b2d02a1ad90309e8091d5c2c6fe3b6dc2472c94116cd9adf367e575720906a9fe41068a86c15214e3dae39ac41b84f5fb824dbf5c911c8c640254cd19910e15a6488c2a59179f271dbde468d540cb33dd5add9a864780e27a3e55c87402d9e2c0e12d70c9a41681bda6f9f337e7a26dd2ec06580e6fd9cd4db40a62002feaf5a4c93dfe05dc392b63809d4caebdcdac74a7a240260a6eb8db8dcbf25527d4297e4c6145decb0a888817b4f949fb66ee63e5cb2c2477a9373d1e30b4d71cd7c1",
+          "padding" : "3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 21,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "61a6e5ea6b3c5241d75dbf0cb397da7cd9d5b2c23ffefa183ddd1d34b6cf116b127045f4681877fd58907c1209528a6b45266cfd5bf4e95361b9036c77fd6cc7891cb2417d081ed897ab97588dfcf975992ac9c0239aa9fc19dcf6d6d0f3e4bf72da5ab09cdd4b205b41a27e6b36dff608a638925d13e3ad7143b1ea9a2758c787a2f33790ad423749c1b79b3239d1f96fc4690b19a0b8edbeff446b148fbf39a890ed8e4a18ea09d5e50c25855e1a4a4c28c5437c906d1a9c371569936c858c29bd16e98af749edf2f048933d706068928e81ac7e219fc923f6dee8a411f40ede593468ada31e5c647d4a576ddb68a335bd50cdf7446dc722ee711b5c71ae93",
+          "padding" : "3031300e060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 22,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "6494a47f97d18199ce0948b2ddf81e408e2d4acd58705059454b728b1be79842ca8b9e197a29347bfc02a6830aa7189ccd84469e696daed24fd3e45a403af6d38a2bf3e5e8005b9535a00a5b1520a9665676aa51a1b274a3c0270a20b86a5168e08000fc4cc60673604564f8620e9a2a2374ae148ec6fdbf7e880fb8be7bd85131a3b2cc08e85ff3270a4b433a6f58583a16e5b18eb2a093e6249e0e5e27c13e1cfc3fb8e078ede70034f52f4540f5fc69dc9124671200c5dc6961aee740d39bb5b6ea9f9325f2dc9eb85be46b998b29ed3dd9c7169d58e33efc212c9cc0b09e356e65463b9becc52e7654cb22a374832ad6d4e219e0fc5eddec8debf779031f",
+          "padding" : "3031300c060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 23,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "99647015158993892da3dcecb4fd837d0111d7ac81efac2e1bae2242e6605182ff1ed43e41b81b85448367815c6549e363a635b946ada99ca0118cc35f37872aca53b024aab1d809909d27bd664f32be9501c3d4b7e3539c2ef10bfc340a89c23cd2c25e51425e2e7f989076bb716057078c968632e0d47ec81192f37dd5dc4d8a0ffb5e9b828b08b47b350801bb4d358e91165444e8ce8bf5d59d4dae17202919f67c7ec8b78105e255d1714ead968b9c075c11e69b5478c3595756858a98e39f321957b6ddd63b37c69d34891beadfded732f0ba587fba6ca62b0e932acddb5c5a75ac316974dc3b5a27cefd81d799a8a6244a9a78fcbc403e6fb41e4f157c",
+          "padding" : "3031300d060a60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 24,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "629e5afc04cc1f4c602f030755deeedb0a5f5c271b3d52556e81c44911296bcdad7f5d223cb6d72cf9740554bdde2936a7e3cbfad72a7704d27343240f68e2f598892911e50340c2c29a41c0d10ebb996c7e92a94fcd23a03507488be345ffd63db338b19e95d47a1095cb6894079865d299ac8101a443e6b5a9557acb9113552932108565d1d3409aa30b6c013c54bc571a08fe9f39c6a3ddaad948656bf77e7407cee8d74a037ca6860a466ad06082c39f9266f7ea16b62b5fc149a7d23093b5f7c48f81673574c8a68b75503c15ae7565775160e16d0e4035489179735c0c9736e52654d4c84c1a785f8b5a9ec2f42aecf88cd925dd274ceeec7e1d31ce4f",
+          "padding" : "3031300d060860864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 25,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "278b61e00fe4e47bfde76cf6c436bfa0e7fed104493a2457ba41ba5fa430cd417ba2ffd345b27d739f6fe7b414e9498e1e44a0a5af8af2f9091f4b42470da0cf09fd1d3542f8a991f4a3be0ac6fb499290889a0e5ba595ca1ed9d97f4407dee17867ca650a49e42c701e3429a34a8bd8e934aa8d107f1761a6fe774c70a974c4ba30990b55a082c87f39266b526c13c4021918196797336e49de36844c908234def2f66aa82e84715834019cbb906011d8bdb29afcbb31dc7503ede0bc39124ac7fe054536d4d79d99186542454253f94a604559a6e992116230c7c9ce4137308b8a091f31843a87e39e29c4ce1520803beeff3fc668741cf504754bc870908d",
+          "padding" : "3031300d060960864801650304020105010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 26,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "b9709d62db65f1584a5f0dad0602cf2d1ad02447289312f59d001fac696d5b52ac9311e0e5266dc04f5a382405259f6568274a8aca4782d5017b97c765742c6a3bec33c8f3cde398d55bf7ee0b2d3fa768b416c0b1a58e70b865c39057bf6ccea37112ba2d277159ccdbaca928fb4fbf5970296462df7b8ea7715f76c14bf1ac7e4a48a6086e7ffe71653e4246aadcf97a9999782596c87ee5098d788a1a82c2c52bda65ff5c417f9583537aa52c5d8151b3dad189dc0f93758c9e3d45a216359f9952388dfa3eb7b5727774815647b17f6feb39d963340aec6b37507a349eca6c677fdec97d9a5d21a87e999573be5c90d71cbb1b58946036f3f4e6c26dcedb",
+          "padding" : "3031300d060960864801650304020105000421532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 27,
+          "comment" : "wrong length",
+          "msg" : "54657374",
+          "sig" : "7cc584726f5874d041a892993bcac52a34e71ba6fe4c3db4d48960b1abae664549656af526b59b3018fbfe7447c4c6730f0e93cb148c0f0fda55fa0a93aebab07519123805ee1d551f19c4c69c09549ae56455710cf7b5468206b820672a0d7221fc7972e958e241d4ad164ef1f90cbf769a1ccb466081cc60877d28a05c91f90eabe57d9ff8d097a3a1f59fa69761f0f3b356c2ce1fa7af8bfc70a1c4753af9c715387a5b3249cb792532d1cba87be23624836eb33f0074e927122479a9d71f1962ee6e7e7be1ead8a514bfed9abfd4cbe33ac2d3adf438bb86ec47734961292bae4b61224e957e331b794c22066cde9e51847dad897e7c65d35c98803830f0",
+          "padding" : "3031300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 28,
+          "comment" : "uint32 overflow in length",
+          "msg" : "54657374",
+          "sig" : "55d1cee3129381d3c8526661a5f2c9b59bef9972a8d3ecbddd3cd859db06be0971a181d9deb7a7333b3f40eab2e93a67342da7880961fa3b931b3ee94cfa5eb7cc76ca8f6f013bda5b1dff7a7d8ec7afa76fc6acb7809b411e8d77e97fd11f4d13af1033a04b949ce35efdc52e125394759df4f7658fb4c807823f80c01b74c5424744a39193c901a8b7238f77c330f0c37877cdfb493228a600dbb5694ccaf9521b0e2921cf84fb0a778d6616ea76f79d89ddb344834bb34a033f2399289c35ba4b5b70b1aa6d504db3f15cd1be6215678f01f3df03a3a38cd2f6e9d18755c484b4b4ee514c976a7a3edb9d93f475c4fcfa6fec43e6f815095d4dda75a5ec81",
+          "padding" : "30850100000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 29,
+          "comment" : "uint32 overflow in length",
+          "msg" : "54657374",
+          "sig" : "759135e8b8f94d853d92e75bed21033eaa80c88e1cfa202aeaeee96fc9dd8f5430da9baa436062c843e2a6d06801e4397c93a7643b52e4e33c298638f546be9f8b2961c0da08a172ab2a9185eec9b9b859a8b46cb240317e66469882269a53b34c9db60ba080e1831942db3ad65d3779c7205aaa366c00b6372496d71fd5cebc14b885303fb7c9e968f7d4f9f0511bac5f273608c8803db4ce582eddb0c672d579b4d1d67cb5aaa4fcaa14d744acb8124f3715bb82417ca020cb1b2a597f149364f859d5f1dc17dde4181628b96438df017e9b96b87f45d40383badf6b6a89620adf601c9c4fee15b1a868f8bf7ed6f59d1f9a960fcc1d961c8d010002e238f3",
+          "padding" : "30363085010000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 30,
+          "comment" : "uint32 overflow in length",
+          "msg" : "54657374",
+          "sig" : "829207379fc900183437b9794d8f7fe9ce67bf4dfb66b04c5e841575ff2ca607766acd6def23b5e22d25be703c0126be641d72f245bcdd60ca0fa8ace694fb8866ded8d5b572852ab899b5ed8808789167ffc699c242c7a6124f6aa6754b2b8c7e654f14aca2446a40f64030b0d836562ea9fd44adb75d235f1b7ea86048b4094aef96f0cd76c31ce25788aa9fae68c1062ae48c9a6b9130652b50be2f98ba64c89a987c0e566ba74bd3616f79567bbdd867f0081e97d0fbc948b6819f46561281061a413b4f3f43d5eb4174052055745d950caa95c320c4c7fc5e02f604071bcc361c20d72dd5509aa496a9bf1d497b61a064893880e052957353b2fab31476",
+          "padding" : "303630120685010000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 31,
+          "comment" : "uint32 overflow in length",
+          "msg" : "54657374",
+          "sig" : "8daf99c4f0ddc3b0eaa50d674076e2806d744bda24522938c6e4ee2970a5079586d866f0c1abe824b16d40bfe0239aebbecbf67a9155b2855da4656a15d23fc3f1d3518567deec75587d7ea77d3b510b9dd2b1672c8d4774860535f8690a286ea8da3636a1b65f38689b25e9e9b0ddadfb52a0c60ac90b376af968fc654387b5d712f93cfcad8f571ae550072d42b77e439cf28ab0b5857646b4bf2f7b57af7f0443944943828ad174780e1ac0d182fa92cf992991f8fcf2a9d5fcf72eff4ec1847c30f268092b87825fd5931e5306955fe0457e1b9f7162683218f6a9abe5213442a7f8f6a5f4dfbc6084b1bc01f11558fb314a0f07b86b0c6538cd3c7d2fb9",
+          "padding" : "303630120609608648016503040201058501000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 32,
+          "comment" : "uint32 overflow in length",
+          "msg" : "54657374",
+          "sig" : "0b93779478f1ebd8d0b018e0db874d2f639834d48d2440cf5215c9b914acc3a7eb9111b5f77d605903a40c7020ec8a4be9cced3714df84586d5f9e0fe44fc1c61a0ac529e9fda9863086b77555e68e290ef716b9add9455b2349d9e14d7d2825af2ed0f619636c50599616508c79badc2dc2c47489028c5bd793022d189058f559dc272a01ddffddb8fee9d83c259cabecd93398d48591d7acc2787e1b8598cb0218b007440ee11733100ec3a3a9749ed81b3b62d4b9c32dddde30740c4875e451e3cf89fe5a970bb92f4065aa7d43fc6e08eefa416aba932a7bde5a10df11b433527bafb2854439b463f6a0a13ae66265dfabaeb4d8de6eeeba4de45e0be421",
+          "padding" : "3036300d0609608648016503040201050004850100000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 33,
+          "comment" : "uint64 overflow in length",
+          "msg" : "54657374",
+          "sig" : "8fcf0a72c6fd0f9b505effcd2c074051f1d25840f8803a68f1c149dc43af6b94a114efa7ce2b399a91aba823470b9f32a70fb6631dfef593dd312801062c7f64d7c7b8724bcd36b05df16838f9e2ef209c2dfa180717d9d1bb59c10d30bdf6a0c0041ff395d4eee8a1c60af17b8152906a58786ab39840909508f7a8f3a05096e92eb57b31c07e79500091f119698bf31bd14399e122e16c3f0083d0a9a6f6413a8427dd27dd5473a9060450349f51ac265030778dbb04d4a35aa98dd72ea38a548be905717b46a1e31cc0b2c9247b7a64d26c027b7d09fdc5f2c6f3f625ecc3a5e07e37d2623b099aa776c48c66d62764def44896651c6b0ab10f1db7105f8c",
+          "padding" : "3089010000000000000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 34,
+          "comment" : "uint64 overflow in length",
+          "msg" : "54657374",
+          "sig" : "a34534b9e1b82be8c7a70d643c85664cb3919ced9c6b6cbf470f4aa8c62194d3e287077d3dc03e9e49d9069b69a4fc2caa5c9fc0ff1f08cb9b8370d044baa4be1b5918174997d74579c791a4c9d53f0348d33b6dd9151ec11823fa765a04cf03791f9d8f89048bd702f03247e3d9ea4e9882d9c768166e60b2db47a1bd76dd8cde45933dd1e4c3fd2bd46bbb8b2fbd6a2630f9db7e09dc342a3e279927a68f3da34192d0a283e2df7530b06a42ad1680b4a33c8b4bed2a8e799ff39ce4c5853a2f9d016610e58ce819771cd0ca5cc286134fafdcf36eb6c0f198e312e0e2cf722c47487a43cf4630c0703e65f5cc23972d5c16012b0e338aa6bbaa9a6110bb7b",
+          "padding" : "303a308901000000000000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 35,
+          "comment" : "uint64 overflow in length",
+          "msg" : "54657374",
+          "sig" : "615fd599966ab4eb5d30e60eb0fd82ceff2eb244b4888442ed7f6a1f32005ec8818cfbe3e6f4ed7bf9d51775635307e281ece422219059736e938931dcb7fa1c0aed81808d39ec396acf70766e918f017fd41209972ccc55c1e31c84eb217a2d82dfd84499c4499cf0362ea60c40439c3d47e8a05128fcb5f445f08f5d92a29df6824d7c8bc735941ce54f464e44f2bcc6eb3619248bb52d04da149a5f9cbd9cf617257dc95a152681656f537a2e2053170cb2114dff07737872703914144acfa7f26b148c59258ef72e2061dea6c035853a6be96063dc05109ec7f2176a4d601c41caa637eebe907b248922c6fda83bb7e9481ea500576144355dbc98779944",
+          "padding" : "303a3016068901000000000000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 36,
+          "comment" : "uint64 overflow in length",
+          "msg" : "54657374",
+          "sig" : "a9648dacee46c926af22555c2d4784f01f3565949f177f5cfd4c31659186645d115d4a24dfbca04b583ce8f0c1e452a953fb081fddfd61b9ad9e59df2d52be9a6ac1ecfb58c211a8182f93093ff4f14f5e729e15dc0690aa612a09dee2ec44ec05f75ddfbc0b5a88e93e098cb8b0f7b74a3dd07ec559f964962f83fdb95ed913f2603ee50b36482e8a379522d12c620af2b0ac7537a95417df11430a72f72c0ab16babd7396e0c348f033026dc7239e2a61fe75b8ad4ba4ed154bf05cbfec5260f1e4f2cc0bf5f39542e12a3cc8e490c20a554d3b9afe73ac65c0a4c22bd9349ac39ee25d0feac57b6d5e065d82a757fd1fea928a4e741aa8ca724269415c1e9",
+          "padding" : "303a3016060960864801650304020105890100000000000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "uint64 overflow in length",
+          "msg" : "54657374",
+          "sig" : "174cf250f8b41af4e2bcde276dabe55d193d51d80db308ee072cba6d7823e49ea26b32631a18316f48a8c933ff9660352917d5f197d44afbaf89808fdd16853786e3cb3a348009d58056e3ed84388ac73789732105e0c57fef0362b38ad103aa7eaaff599fcb07520ccaf39aae20ee0e1bda9a604e76646c72c9b4156efc0fc4a2fc733a5c080f50d9a5bed24a35ec863bbc7297c2a7ffdee9c7b3fd614da2466b9e77a72af6d2dba40bab35235e14e520278df7260b588528f0b32072aa532d09471f4e1992c8ff3534e6d0723c1664e8c6ec141eee2f7439cd57cf167f1b6dc681aac0a6ddfceeee9a81c53845ab87c145452627547a0961e0fc89b17ef70f",
+          "padding" : "303a300d060960864801650304020105000489010000000000000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "54657374",
+          "sig" : "87bff62986cb2cd250de8d56fb4674c65cafd441da9dd4e42b1e7e14231519b63fa59608cd70d3ad761fdba810993ab3da3ba5d182dabefdce2c383e153df2b21c4cd4b58ea94e353d8c02bcfef4d565cda92975610207c9c30754cbe22bfe0f7cebaad0b6fe1d470d9119090adde8587d15cf27965f525d92ccb2c8778261f9d126ffdd8b90bd00acbe648979567a3ecb1fb5ceae06bbfb1df595e2155889ce62b3b47bce372a7527fd59ab5dca37378d0a90f4487690385acadea3766fa407d277ce4e76416daaeeba1591aa31dc601efd0d9e29b50ccc68d1511581b00f75de4c05d145b7ce0f74ccc509748fb1f8c636e1a56c9c412142d5c9a95efd0b8d",
+          "padding" : "30847fffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "54657374",
+          "sig" : "2fadb8a429803ec2956ae6012289f15f7ed8d535c07412994204ade72d2e7a5548024390e1356d432b7e68c1a8738382f5aef3cc7739f926b44f9b9905222323a97fe7b303c130eb4147a5a4c69a031bd0c459779f7c3bc00bd5ad616421d14aa90ff3f5f4f700efd19826d89c80c6c4ab4ec81ec05498bb543be74acb3f61e6e1bef48e61646ab962da08502fb092961c5fb324026a52abfd1c47b9ea76187f5134916c5dbfc18668933c2a562a02c102b6efb9ca2df40869e920e84f8e73668a73c1cea83bc8600f7dbadeb5babfa74b99a3d02794b924b01dbf087da3d8d579514647633d8d6922a59a3f5625687a4b1c3b5cc67858e9b78ebbc7adc20aa7",
+          "padding" : "303530847fffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "54657374",
+          "sig" : "249c65c65a3334eb4be16dcc3db0732547ded2ce4ae6c10b1e1a0f474298b2ce230c59e7e746ffa173d5dad3b16dd4325e5469daf6ffec2af4ea23db279601b014b54fbcfb3578b078a8ec53121038ad666ac9408d65e8ff4570aa3b5747041f4c3a45a0e9856f2ed04b3c2060925a5c77314f7bfb5c85a71155df5b23f694a9caaac2fb11dc6612bac680d7494ee19bd4945ee82c5d1f5acdf6b5ab46e937a90bc4d6d3f301373026edeee725da4ba5202e1896b716bd8c69ddb95fb364d697fc596709b0ec48bc66041df7127aed311110545c4aafd228ff55986781780455241830397f8fb6764e33d0262aa65814521ec71890700a093f50db4659cc5e2c",
+          "padding" : "3035301106847fffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "54657374",
+          "sig" : "7d2652c6ffce45a2fc4d740db90e1e87795e38dd5f58d3905b9fd41a2a49f3b6c3c14db49f8378fac35cb67b3593a0991ed4c2439cb7890ef727b94833e455edb94b11c2b0cd7bf5c11f8a206e62f540928f873fc6c6b0ea4e520e85f01140d21ff2ed65945e602e09d6880c275fb9cb0cb9cf7a85dfec032f29d5bbb4303256c0cd02a99a3433186558b0ee9bbd93e5e2a89c9ac2b8f74b94e0d9b02438d1bb54dde5424893683f5e74d9acd1424456a55f74d0654b20f55d199d17d5b3184930d5f95068f61c6d1ca4b0e75f01d56fddeb13a9fc07e185b514ec05bc657f97e1ed7c25670a1ed4e16172ed2c19c7521914dd3001d23219c8b578c566eb2c1b",
+          "padding" : "30353011060960864801650304020105847fffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "length = 2**31 - 1",
+          "msg" : "54657374",
+          "sig" : "a47037577d6a1480d07bda7574648d9b4d613a6d112f7027e873cca188cc41ad35cb8c931928d2765b60c21af9756b6f0acbbfe0b44b4eb63abded9d8547fb1a37706ab562b448b47f29a81673e27345c156e0fa29a353b90c3262a8a48b0f002dab41aadcd0edbb016973fd85ca98e53116cc3a3cda5754c76ac8c8e44e31aac06d1e248137ba096237d14119538f55a1cff1c7a93e1095eb40918233e5b33e092741f658962355541af6eef3bf3b84e9b87fac775f53e7bade8581804139b765090051474b08c82555daa5407fbbe998f29fa337d21b24b6917d4cb315d035dd397a84c47b6b806bd1e7812795d653073cf349c57193397c542f3fdd512bcd",
+          "padding" : "3035300d0609608648016503040201050004847fffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "54657374",
+          "sig" : "85ec33234ac05061985a24bd9e5e13de3fc8e8c246f75d85abf8021cd993f97c38ec6b73d713c6417effc7a751530feff849a5591ca0c4e6dc5bf6bf97c34bace7faa2e448bbc81e3d8551d4f82f7ed095ecdb19e91498e357909f090fd8c215f830b2741a4a4af518341c312bd6f7fef9c1b563cd4284f785430c538234f6bd3fceb2b49ab872cb481447b2d45a37d45dafad4d6de26246634b99b926e37832a8302d24b35e315f0b971cf52c60ac486460d7678152beff5369441c84ed54f16177f5ae560eacac13d7f94f14764ecd42adeaa0599a1a47e7f500e6b14e0a3b198aaa18fdc6d9141932bb28b20e71f69c173c2b841fa042a3fa0a388e164fd3",
+          "padding" : "3084ffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "54657374",
+          "sig" : "4d28f0c7915b1eb63badbd931675ecf29f8d69b4b2e1b1fad776fa5adbccdc17bde98029059d46b197de49e061ec57cce2cb77a63deec3c75c2cc14fc9bb4a2ac29d5f4a05e6b4ff97ecbcc26a0dce39760423740141e675b52878a83aa044f68e84d9abd0ea6bfc5e6fc3acd971af258b7b9a01079010e68e70bd7bd31a9f9bdbb70598758ba274fb8feeb8ff46a4b2331a4da03330cf55910e6ce940c1a95b6bee9adec351354774139e3b213627a6d7e8381656362b4c6f83e97f93630939d22763f0850f1b4d38a8e3ed213d2febeeb125ec03854a4b276fb59087904ffabe83cfa66c1af413af6ecde5efcbc5241d5b958425b66ccd31500ceb9b80d793",
+          "padding" : "30353084ffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "54657374",
+          "sig" : "2c59c0f5bf7fa3b6bda22a75dfc3ba14c26ff3e7ad24c1527ee7ab7c032dbfda6ea5171d88df2de56c1ad6d955dc41bcb8395e83518e40b840c062cfe982c0e42065d7e2a9bcbf91dee53949bb6f67c99d1e1fc44cda982a3df171f9c35424efb2f6c0cc169a44b6e5015df5150796a9c669515aaae57076bb1fbc9480a8ca6954990612eb0314da7efea7d14223081618f2225ce3ce43770d457e84b54a80cb3a35f14c511a2fa2a4d295afa6ed3996d47b5a0c6b1d7c11ab14bbff13af67b7475ac543307626598d69557255bb3a92c07e36c3e9d1530b21284b3d5c2066057035bc753894c01e0f33764b51ca3319ef32d4288d11c7a1767ed7ed89433216",
+          "padding" : "303530110684ffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "54657374",
+          "sig" : "6bbfb1ef162a8cc8c140dbcc73e922e1b25c0a5f29e59b879315e5336697f86dcffa1f26c435ef3f38657a501e1a3dca7dea9226ae179eb6e7b4604c4a984da95421676c0a1d5b5ceeedcb02def8ca2e90f657b257695e7f87aa948c7d54570540657f8b79f3622347d4c3aaeb8c8c72abb45a156b7facb3ec3c4abaaed5491b84263ec9614a08dd4ad2fc81682e11d834c328ab21bf6af4f25cf26b81032ef1aac9edbd1879b64e04a24f36f6bbd1b317a58fbfe6657a4450deb0b07386be1e4c9f692d6e96740e300905fe7ab3f48ffa279b581b98afeed03243779127fe57d97d7313ee6b2ffbb5ec7e2bfe5d1509b9e8a794cc3cf45ef488874c3e494214",
+          "padding" : "3035301106096086480165030402010584ffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "length = 2**32 - 1",
+          "msg" : "54657374",
+          "sig" : "790911646b9fc46991a8c1fdd0c7a5a8b45a078305d71eafad2dae2ecfeb5f7122d1ba2c77faecd5bab50b05b355740f93c6cde64c42ddb3be48362a741fe29173d58d950b2c242753ba3db6f4dd576c2240f490f53ccf9b6e781fc610966b80cd9700f41c8bffc87790a01a45f3623a82167ac42e52c5ab5ef539b29f5d19449e9fb0b6749a559010daaaa19d15f3fc53b58b1a912db79a46caf10fdd5ea81256842acb1e06282ee66c0bccbd69131b532b3cf7ef72fb725c910338e24cdf2653d443f209efbd03573b54536f98fb002e57a27f62fbb117cca57d9d6a2ac04cb0211e227682988c64421a5f8ad6dd3916d0d84b441847324c03451a4ba24fd0",
+          "padding" : "3035300d060960864801650304020105000484ffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "54657374",
+          "sig" : "02d431509bae6e097fffb5e719b16a296b81fcfc9fc6a64b85b337c88049fed54971ef61e635388c2653554685e652059c769c5947af49858439d9c388a40703a016f73cf231726853f498f94a0a9a98e14e0cf8f0c8284b4d992f00cbb8dde41b07679c7bb7a2b4b7b307f2edda65fe3e002c7235eb85dd2ba41483b26131c997793ed64fe92a9fa9198eead1e8506385db0c3c4dfb93b87e2cfc09d9d3b00937cfc0a35bc211cc8efa4de83745c5eb0bb28ae52a22ae4ec8712be72bcf420476fdada50b618f0e9576e3e7ad8df5a0ebab78b1bfcdcef594cb7ff56a895b5ab5e0a30f82453880d394bad6ddb92231e44aa275f945ba6220d9f226da4d0aaf",
+          "padding" : "3085ffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "54657374",
+          "sig" : "665e80a08c78f4c8a2768d1ba374bdd5e5101e61a594300a18a071d7c98c68cdb73acf32831ea077734e2486f1b13f76cd779a80fedbd76716fd022006a6faee19cb9789359e5b7013a59cd671a2a91c8328f4a1697e14a085c897eb45692d0bec074b400ded2820c6a5dbee2feac84cb6a37baece0ce763dfa7ca3b3fd4a82863a0eb35fcff709ca401c0bbb73f27f251b627cc442dd43eea634942bcd8bd72f1e8f192ae8dec1b7275c7739db254ced8b57332407f8a85285a190c94ea7f1c9318b7fcf67369ed23243c2454dd2ffa153ef12074a842878b38695336e8acfebf2d56d3560e43cdb039c27b207ae35f7a527b05baffc73fe76e57813b484f00",
+          "padding" : "30363085ffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 50,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "54657374",
+          "sig" : "31e48e30de0cf259d0273991b633da6228289d540d84c527d5f12a13d2d6fd489b1ee282ff5261eeffb8e1c716572b207eb59c1dcf04bf9d4a9ca92feccf318254aba5fbe1df1dc6e3101f2ccd0cf329d23cfd9fa19c2acfc98c319be1c4d9831e86343513769e4dded967f512d5371ee845e47544c303d52ebeaae15e139eb2606989268b1ab641c44efd8b1ee3a5fea73907cafd4322c00d666d3d0e11ebebae763b0bc4948acb034eeec91ba2b90cb40218f8c8f4653338eef0a4d31e3dbd29a3d90b9a11c8fd8e613ccbec221799fc2d98625215ad28ed9b7c38eff27c44fc5cfd408a6ef1c7af90465cd4b5aa424c48604e2d72bc10d9ddfafc30129a42",
+          "padding" : "303630120685ffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 51,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "54657374",
+          "sig" : "681e2eb5134130900a52086c86aa16e20c7b95e7cfde30607e84e467fc67797d01674240cdb189aee160f8574f773095200c66c96507524f612e0d00adc1b4edf4c5f6c3e499a0bcb892e917c01c2c0ab9bafb6ad219ecf4030f6aac5253cfde1c1e71f1a7c1de03e65f9751d3ecdc09e4b499a96f9fb22da50a8ee8f4d62c9b67281848824d787c40fed31dc0036577e17c2d9a43cf7170c52ae92311725599d51957364da73424464d63c0edb55e79361f7798dd61d0c4068e4d0821ce80e27054459e9ec3fc0f202e9a30f4ad01747c6ee854b1f3615059d4bcce267a857287e7a9cc6058836af04d9f8d9b4adde905bb455901418e2aea9659c65aca0cf8",
+          "padding" : "3036301206096086480165030402010585ffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 52,
+          "comment" : "length = 2**40 - 1",
+          "msg" : "54657374",
+          "sig" : "876fea7a5f814cb533109f000830bf5d8776d57b502a86f1df6e4dc50125a18e08f267edb7abe0afe44a5e75e8f4fd5e11fb2691fb73735617bdc5dc270e2b51adb064f5a560a4557c0b925e6af7852a110ac3f8c33150d3dd1d5253b7fc69d11949a8e80aa2e240cb3eed5a44afd0ed7a651ff6205bb80333cd060a2d2dbe5e37de3fe38c342c1635d553a7bab6be1b6ec1bbe9524944ec967200d35bfea076846b8460333d17cc90be7c6862695fab2cb5d02beebd6b1b86229e48d64f391ae3e506a7d252ecef54b61d4c186ab9fc8f2b32e006d07d9958292b6f4735a4c4d8e63713c212558f73de273647dc37bead249379831979c8062c0768148bcdda",
+          "padding" : "3036300d060960864801650304020105000485ffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 53,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "54657374",
+          "sig" : "58bb9a11f29ec8bc8ec7bba4c056e09087fcc881d8fe8e5dc58fa74d979676a20e00468e16238d8e2a53e40b4952ae47cc857807558b12224b3ab06ae355fbbd35180e555d7d468c23c6466ae74c8003d2b1591fbd529cc479e7469f5645787b8d7baaedb089efacf7f4395cc1382a3068770530ae97729089100960f22a13d73883a3a5ce6867c77a9e833d60f8f3c79fc2f36e63cbde5a02cdb7e226f387588456b9161814abb84c638aafb44f293e19f1bd5093e36d68386e365a5ab076b64275880823bb77502924d26bf443e94e45921866c68edaf5e66b24df38155b6faa25e531eb1af900780413cf5d5d903146a9cfe9350a3a1509beb679d7b75cd6",
+          "padding" : "3088ffffffffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 54,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "54657374",
+          "sig" : "ab35fb3939affc42b2ac00248105dbd3da37b59db5d489d1ab1962418e6bec3b6fb4dbc03fb47c2a64cd09fee70acd723a50402b47cc2a3411c716a1f380138511d693751e37a0bf23751488293a68382a909202b7d18dc3721521f9c8fa3554dac15b20ce5ff9638edeba6ae89afaa100cfc92f51326b82e8fea27ca216b8b953afe00d0a02c0df5ec76ac494c1ed3398144a2654570d8daebfb27dc698bb5fc3a69e7b3759c1f1c7d5e807f509185a17b642f8b24934b5efef55287dff737fe633f19e0d1af46a0b4675b300583f96a3670b1e50f1c27441b5e601b8c4cee015854d680ab544900e65f4e205e2666ac0087586012d8ae52711a9cda02ee520",
+          "padding" : "30393088ffffffffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 55,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "54657374",
+          "sig" : "300282f3e571048e6a298d3b1d979961d17e5f460510227aecd83d7e8b3e21c76a1a304bf464dcbaaaa3e134bc5b25ecb745b78829fe5d7590c1c799bd613ccb8e1e55ed89abc0fc663599e77ea87515c2446091cffa063d6b2df5e3c623da69bcdfd9da5176356f76b05c98413d762cbe0f47ab6d470eaa8dac88dd55890a8c386d5ba195bba8751af133a24d204b7e7077e7a9268cb9dd7021d9348f12dcb46f145a19f0b408e2563d5487281db1c2807908ddd125db751b735adaed2f8e8cb55ea470a45383e2991b80ae0126f93555908a9154c1633c820e8942d4c37c807ac6a94507a3b9e1f95ae5a712cb7740180eb4e56c15d4e1829fbee2bb1e642a",
+          "padding" : "303930150688ffffffffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 56,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "54657374",
+          "sig" : "2021ef89c0db9b47dde3df73014ec88ad9d33575e64ff6cbd46201b45811b15f197594de8e35c26139be07132600cd48459e0439b93c2fe734337c914fa87c3913887275ab41aae8a70d60c1690ddacab4711ca0f1949fec70a7173c39116992c051c5802d1c1f005cda7f5b1dd61a8ebabb27563313f6d25347654c64437165590e29e78dc0bfd5491d02d6ed45a0f2ad58c46367670876050ab385f7af6e9f9bb06b279e360519d047296ca055429935b0a96d6b1d6ad1e77c130bd99db29531b0bb6a6abf3bbe1156217a94d137a76736cad06e5d53b9671204a49d54bf5371b8a3d7bbaaffe7871dc8c4ae8165c70bf14dc6ffce5ad74450a564f21f59af",
+          "padding" : "3039301506096086480165030402010588ffffffffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 57,
+          "comment" : "length = 2**64 - 1",
+          "msg" : "54657374",
+          "sig" : "4b06f62bb29091d0ae2dc52c2443bac02e9bebc68f84bd0186e0e565483db3fdb2ee8c3bf17e2fc256f7df3810c5c597fd03dd65d9726f4699734a89fb5dd88176ded8f2caba4c1a869ba85ecee2ad4ed782006bb5d1f6e9a8ced64a9a74298a9c512b27cdd93b7f3fb4845bf2d95af41acc95a43fda8784424d3ff5ce18292abb0d43ad644c28ed076011947a317a5543fc48becb1836a8f57a1dbebd5dad249a00e01c102b98a799b05c2a08565c5778e629264727a9cb8fb4ecd71f8f3db26e3ebbe59812462d6c2e042a4f92456df56cb9caf959ce3181aaa1956109a0dfb8524ef802891e80dffcc2132ee1cf380641c7da5d1e3ef1a3b37c8b9a7d4c05",
+          "padding" : "3039300d060960864801650304020105000488ffffffffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 58,
+          "comment" : "incorrect length",
+          "msg" : "54657374",
+          "sig" : "3f9ed26d39ea6b13377ba941923d1c55544c4ef8c9187dc6430eb1e7c8b86292e528fbc74b7876016ff3cf8014da3d85f37e975810c0a7a8996c91533567e40b0c8464de887b18c9adf84571f7703147cee96c81e5eaa61cb3c40840d21cc0a280991173d5fb1cce01514003bec10e28420ba01819ff003d9ca8658f41a6e02c3295a53613adac27ddbe959d90faa58e33c3326c4b5b6a5a015955541531fc62ea216a4dc54878b65e6a12e0fd548046e103d8dd4516bcebf008ae4d5b971e9e2eecc8379356ebf76b69943b6f0d87ccdc19036007f7c79f363ace8e85bb97c40f7b59bbeacba0325decf642cc8cb8e51efb55a7296bb23bb12a3a1b334f5ca8",
+          "padding" : "30ff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 59,
+          "comment" : "incorrect length",
+          "msg" : "54657374",
+          "sig" : "748e7f86340f83dfe05a19e73449b7814398c6951a649029509c3072b6ce053e6176453d9046677e4996ea9a490fd602d8a735042b29d2a17f997817c6d9600bea2d5f7d7129a361bac6b7f76df520f4971790d250fbf89df5c22bb9e7a510bb6fcbd18251fcc5b77d61128f27adb3784c9c363eedd2c0acf9fbff65c9b4c67d631c98ec6ad6ce56389420a9f7e78973e3b55c90b3c3a6b37ffaa74ced4889cf306eb75e87d4b34519a349d1b7842f81eb588c3137e80895fbb98d67fda3621c7510815a5d5ae512e6566088dc333107a3a6f4309d6dda5417bfa795c72d4e70253775afeda3940d4bedb9a094502e1bd90084cae6f66c5f0369d3ca6a00d4f0",
+          "padding" : "303130ff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 60,
+          "comment" : "incorrect length",
+          "msg" : "54657374",
+          "sig" : "7705d76a011d696708921967a9e86166528d77c656946a5ab0e157a78073f4b2f2785a1feef6efd8d337a22a8ef59c6e710e984844498f0ae0c1f61b5d7057d09e3fed79922d492302e28c0c0401100049ccb68fab95feceff0acc24a913840290b27477b295f942ba232e6ec76d112632c9f02f9d40505323d81f4ff1bea14f42d6743a3c2867df273f80274fefbb20346c3f1cf0c2f87b55e8de277a8b2f4ab8006346dc8ceaaaf0d4af382337952e3c55cadab336da343723bda0ec0272ad6251995d58764679135c1a20098e9c3df54f161bb16bce5a600a075b36022f224ad5b4c7dda09bd94bc7eda7a853d96b5100e5af8fa2dc1a6964e4e1fdceb826",
+          "padding" : "3031300d06ff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 61,
+          "comment" : "incorrect length",
+          "msg" : "54657374",
+          "sig" : "b298cddbcc889842ade9fc8a116492416b2fbb01b3f414e0dacb2a17d386dc26b1c046192f70ebcba7475445c7794e137afbf0c252077272b645a91b9cfd8312a83d75a696c777b762d832272c544ae96be8e28ae5a639e7581b1bb1c395e693c0cbfdb0f2706e2b93134aaeba76de19674c6a0317eed9b06119fd3025a3141e06211047468e9a59fb8932dee92db824b4f3a8a11ef4bd0b3a015d861ebae48f842203a79a66395da42a4b2f943b51c8824eadc11cbbfb34c4a82c553f83341cdffd8256871ee06f160852ec6b0e7a79c1f06aeaa474efe6309f7caeb4a26fb33364737496f233ee6fafa5e13dde525fa414078271cc439fe5ad0a52fa6401ee",
+          "padding" : "3031300d060960864801650304020105ff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 62,
+          "comment" : "incorrect length",
+          "msg" : "54657374",
+          "sig" : "8b15577f817c9f63a94b9633fdd36af378d9f5f471636c7b518d467a37aacb5013a3640d4ad384286c68dec71ac5d6a4ba2578fe2c61d1db0922108bc777703c8f09f251cbec3a6d2a0e26d7e4f271efcc3458e96c710cb8b120eb7d5d8a5a535e823b42d6c3d59f8647bb244eaedea2b91e3b4e3e4fb9f2b0fd4d877d4fc10f135c54ed5f6228a48605016c7348ac4d7c00246be44d9e8660616bfafdaaccda021c33bbc564a5594ec98472b0f559dc45ea57b254a6397685643d1fbc1e074fcbcfcbc5de4f5833a7dcfddef6a1af5bafc6687ac8664d9920f9be8d8bf9e3b404db41b1d3ac1c87e9627a4b69a2b04c0ac751eaced3b7fa618bd7c0dceee17b",
+          "padding" : "3031300d0609608648016503040201050004ff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 63,
+          "comment" : "indefinite length without termination",
+          "msg" : "54657374",
+          "sig" : "672bf0ea5541b809287c9e2b6a584da21271f24d58eb68cf2dca42f604bf3d62fa9d5a52ea20e234002ceda5bd919ee8ff344c8f84e2cf4d8efc511560e03f930b6533cce2ebaf14203401317fa8b0fd17807389b3c5449ba24a8a1f16d143ad06c1dc62c5c40facabe64faf0a9816d51a831b648ae9c99b465535b342085ebb1aa44ad23c08bf4dd9e0838209d4805f48cb16d9bca302d161ec3f6e66ac734f001e232c3133558c4b89c00eba40bd53c37c5b03ff6fb3f323d0b79510592141946a7a7b16abfa78ab81d886d7c4d4090bdcb782efbf0c4a76b47abb18e1fc9259cee098929a1843a04ba52704bc9be25a2b96779a2b647d3ba7c11e2a8dfe48",
+          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 64,
+          "comment" : "indefinite length without termination",
+          "msg" : "54657374",
+          "sig" : "94818574cddac115d352d1740c4e5581ce36f1eac658a7cc9c0fa26a1d6f5f43279c9f2af313b3e0df805ac1e24976d58aee16e2a4616cbe421e46f5263ce46e301d8c295cb8a807a9c65610b176c61ae03229fc6601cfcffcf90d53edcfe869a1bc692dcdf88ce84f23b34733f9c8046d1cb7df77f1eb29cddcd4b420dcc8761169f3c7dab4f04e2eccbc046b0b26007406dec7505a38273e3bab522a81a054241afea6b6576cb1fdab2569cfa605c0cfcea0f4665f489273b92d2fcaae21be8f2d37dc40a38d847c56c3df5a2d5cab476753c91bb4e2dfbf2bd9ded2010e202976055c78de4fb2ec3f2a6a44d6816c7cbb829c83646156941418b4f060e196",
+          "padding" : "30313080060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 65,
+          "comment" : "indefinite length without termination",
+          "msg" : "54657374",
+          "sig" : "5c54c39c0a079e7a842c8b7f5c6bc63f4b90873e1379132fc1a52fb78fe6eb46aece7f5ebeeaf2df8862622442f0a470d2a8ae252c5c5d71702033c6b5e6e983cf44ac0e818d9453b86b91b5d99a1af0fa5ed8aff718d49864c093e4cd5be4db1fd44b6ed38e58df96e70cab32fae1889e091be25eb9f15c07ad2c304e0ccb881cdbb1e45ba993b95e169358a169c70e7d0915ba34955bf20fe1df2c7aae78fb78c893d184c85a56524643dfdfc41e62539da005751409a18fb4e59d2877c6cc45a4b832fbfa8ad2880775d9fe92b6516f8458bb52cd5820710bc16ca32cd7bb3998af0299778a2dab50d62d73415294a857d92bc5bad97248e70cdacd50dd5d",
+          "padding" : "3031300d068060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 66,
+          "comment" : "indefinite length without termination",
+          "msg" : "54657374",
+          "sig" : "9b91890eb53272fe7542c2067a4e9295b8c7b8ddf1c9ece6a75fcde79c9af2cbcbcef38d342032b85ccff9d6c82d3cfd68a7b27a38eaa45c78a17741c230391b3df0bd79dcc3447c8717b7207fa1fd04e917b5282e3a7dad48e8f2f6d1360f6c720f9eaf1d1d59f061d71daac1548538c0a06fa65b2ac87abc9e6fed3a6e15f48422bd9c4c681fa98a27c873d7efc5c100e708d58141b60e5a691747df4036162456bb11f92f2a391170233ca1c03e1786a32fe9ab8a94246dc643a884ad59edc40e2eb873713e84816e4a7f7857126da3f063cb9a3dda0547207c426f7cc985b5a3b6374cfff51d0d542ce9f82ffc07ad24c106363ffaed12c97526394a84ff",
+          "padding" : "3031300d060960864801650304020105800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 67,
+          "comment" : "indefinite length without termination",
+          "msg" : "54657374",
+          "sig" : "0f07dc8786a46a7ae2fe2bd534715044f46ad17b836b00370996258aa90bddf563b5f3e7eb1500ed0604f9380491a5a6c6c004b560b0f280a2de30d191928bf5aa0378fd6beda830beb1db8b6b1c8846079b6013cf586e384be0e1163c62b526fbf8e26992afba6ef5e5f15755ec7b5287a149b19e577e79bff6526d72616e28d921661752e8cd0e4b950d7ee9f2414e45b3069a80a2e089e46d0b3da5cc0352c07305f8dfef2e1e928e85bb76c5a0f1516383143184f66f31c69adc0b8219f11809501927744fa37d1c8cc1e2a6712d54ed66dd177714b7cbd005e6a6f83db92041b595dd934b0b19fce5db369e504fb45c9df1e645e81bef62cd4da3497e9d",
+          "padding" : "3031300d060960864801650304020105000480532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 68,
+          "comment" : "removing sequence",
+          "msg" : "54657374",
+          "sig" : "70f9515388762b320cf84e90eb571b27eee58a43ebd4773573bffbce8b162bf17e6c0317636b211b2bc56aafa99b968ec950466ae5cd7b10d94c993dabace14b94bed501dacc0b40feb8a89586eb1a792e92115ba5430ce1183ffc6f538ca657fed3ea684a1b9d998c0d9ff004e150a0a32d20455176e8db3d96b5063a60106a7bf6c9d0baa8879ddb77d9a3037400348ed1ee4b88f8256e8e632b15b0dc2611da3a9faab929a0bd4881418d7fd8fc7760c523e1ca4cd3f25c8243b8bcdcd51e96a3840de589744bb8d655851b9cdbd8b7f2d47a57144d9c2a7ea07d49c0d141cf918a4eb1507f8a7b11cbaa28c1a35745209a5fad2bd1e66f7929fe0223d505",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 69,
+          "comment" : "removing sequence",
+          "msg" : "54657374",
+          "sig" : "8804d661bb17ffa73e371d134984ee95e426d7c12af978d9ad00ce746db4a3bad36546709f029d2c9ed13e6d27123cb7a1954f1f65f3fa46eeb56f449ba6b5e0736e5dd2586d642711d98aa19595d9da1c4ec20953009e2711738263170b487072566558de1301e0d0253f8fc14d12c8cfb4644b50aeb3d3a9fe1a26fd3bccd72986cbaff34fc4fa38ce52e65821f169d54b78037b8ddcba141ffc72797023c802564989a20b07b9a2ba6a256647e937b1c16df2081cb61bc6e6a2ec6ca9939db91ec2ae62c4b2d0d7f61a0bf0c693165175c91b100c195f3611c3ecb797c531439655ace9aae18e53a69e66698fb593f48084117ba288a134fd0389ee0f7544",
+          "padding" : "30220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 70,
+          "comment" : "lonely sequence tag",
+          "msg" : "54657374",
+          "sig" : "47004cf187bd2a34c6ed89f6f8eb9f67a401a40d66a95c8cddd98fa0faa829bbfc9e62a854788e4d23015a68f098a77cc5daac7e23c6ba56167518753187a8ead68edc686c393940f77255fc8092c4c65a01aa6901c0af96830c05747791e511c8c01da4358feb38bf5507543184fe887c5821c4af048c5082bed56c7934985d86de2402b37e16a6f3e23d5a1e838992bef2a46d4fa87971f0cb01a470e185654a6b174d9bba81117e8df24b19a7be0d1f8e3906d3029b5ad4f0d8c152375dfc4fa490f9fa3a5b52fb929a7d41a84d61bbf60d80162b16334b4958ec879bbc0098962d5d3220169c8ccb338d31c664c23144cc85bc371b2d9da61a69f0b4b658",
+          "padding" : "30",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 71,
+          "comment" : "lonely sequence tag",
+          "msg" : "54657374",
+          "sig" : "24bc364503e9aa28177f9fe7ebda884cbe9494a6b589b0db875541174cb1ceb60f514b74838a0df3bfa8e59b06e4ff83e4a4e336b41761da705b5ff9c0fb36e522cd50ead114067f58b100d6868581b69ead695a5c4b15198c5ae35d67e5181335590ec176af6eea69dce2a69e87d9f4a03f351bdad1c0c80dd1d27b75cc7bfb6acc7c25bdd87d0233ae4ab186f1b11ede86139954d9e886b910c3030d372f8900645b8e17b08e61cd64e520b882203b57723f00e96a6698fd65e7d99664351cb797ed2ed67901475169d47cd64fedfcfb6b67df5fa5d7c5ba53d65dd86d26d899df5aa6811c53a3a28fecb72df39e0eef50053d674d521acedbf6cd17ac2108",
+          "padding" : "3023300420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 72,
+          "comment" : "appending 0's to sequence",
+          "msg" : "54657374",
+          "sig" : "b6a1d94b0ebd824f6b5a95f6697af65995eb388f3ae12c87399accdc639cf5b7e71bcf436feaaf8bac9f3234d0f429ab1b0c081f71340ecd727d9b94c66fad1fa070c4b80350eeb55878ba427e4acc5762597039fe1ef92ce29aa9919607045ed76326744b0e361cefa24a24725af612b40febc4f8293d4ca9faae0d19f1f2dbb5c4f0d27f92eba41457b39f9cb2c75695834992c326d5e39f56adfbdafad08589a5d4aed79f0abd8af3e056558afca803e6d75da2379a0cc52168f88e88a2c14abff048ee8174c0e2f31854d6687b7097d0f3352fea3a02dcfcccbece2819d4b5e1c97f93857151aaef70cde099a7226fa39f89a8c92e08de354fa80744dbae",
+          "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 73,
+          "comment" : "appending 0's to sequence",
+          "msg" : "54657374",
+          "sig" : "32fdb9a7898c2281cf10104e74adf455a4553ba47e96bcaca5671c9ed13180140cc8556d7a429319079622e352f5f364193ce54528a3d3906628fa8945b9050f1365e99a58dfbe50572dea466cd9dc96d2c773cf35c5f1e51a6d2da23a5631bf4aeff50019e1542cac38e71ad2a1580c24865c8f65217e330415df95f83f1a29a41e4a20f63ee1f06a3ab10ed2f10994291f8d7c80032adca004094dad4b2d33203c09b134dfd5ce9ae577f8b7edc7637046d5c59036362ffc283a7c297641d6d7a36a95843661266289365e021a393d80459e5c63cb71e504661c814d8cdaef3d5cdc0ea2f95be650a0e14af9fd560acee1728fc46f5253557e8eda487e4659",
+          "padding" : "3033300f0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 74,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "54657374",
+          "sig" : "6dde567bbdcef450502b9c76daa040d2ab0cbbbc79533c5576287ceaf79aeaf587c58ce90974d555f4d7bd099abb90d61a25a6c064b58826fad6eafde247457564f8183ce79f7881bb2ceecc830c8891c35704ec66694574838c14287024eec643d7dcca4c4990b616c8fa98b0f97f914230e786a102a4e2ecb926ec89f40c69b39b54ed8890fc08edbe50f338c909b7b6c816a44010addbe65b527734e0502c59aaf8bb7e108999c540a023b60a9227ec052348b01bb1bd5ce7b7580b18f40b5f39b556bcb560ced438c84b2e8e67eeadf4837340d7c913afb7e0ed7fdbb2c58e3d9a71ccc59ebd8a63a80a8049bd9df49b164219fd87f345e1da34a929546c",
+          "padding" : "30330000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 75,
+          "comment" : "prepending 0's to sequence",
+          "msg" : "54657374",
+          "sig" : "97c4a36c30fc317a6c1f712fccbd699f3de5a7420efdabf17edfefd790b90e20afc914d7e0aa34dbabf736db460eb697abc285f029d784b2b394d689e1a383af8a51f153b4bb77e199441ce622e6d146a842244f35d5eb3d410dc78c2c85dc73c570f848063de0445871e7210207b02144f461b7105b3a74ea3caf25412eb92d1058f18e9afac51006e859da988c733293d1e64164b733936d563c4edd8e81f57b4c463934ede932cc93237bd26fa0f86c5745d804722f8b837b19e50d415889d58fbc78bfd4eb35ea5dece233638689c11d212c47a1e1bc0b733eff107ec9dcc90a7a7395e06785e75973e0d4a20dc0c562405886c9603daaa20f6763fb9f7f",
+          "padding" : "3033300f0000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 76,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "54657374",
+          "sig" : "2fbc69383978c97e1075a9d8f9ad1e01dfc6fdef216b381ae5349f005617c739e086f45ffd2cdb45318321bbe77e5a2d67fb1c6b209c81eaa2388c38b036f66575590447219b7771a92bd6c594d8190339dafaffdf2a5a8b73e0382eddb2b2f95a42fe0235042965bd530584fa9db7fafc8c14a417c84b1421c63419610ebd67d20966e1ce9406c4e938784e967ca37b9499d9df4dded8b74c55b08c6244ea8285b17d55a6c51367562563524e6a45ff7956e656a1bd46229db68398f8a0011ded00f30f6bb46c5599ea3fbffb30746b56d83b17d461b20dde2bab7303f92ad9a322e41ea9962065b9ed683f56e31a58be7177505dc35a10e6703c4628933a01",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 77,
+          "comment" : "appending unused 0's to sequence",
+          "msg" : "54657374",
+          "sig" : "94087e73e94662f9f925abc756bdac96a520ee6d5c8baba1c8947ff9d7a22fe43aac67e91986890b83eac61de630aca7813578e65a2268d78dd25982b89aa7a9d693bd868acf156c9cbb70779bde1cf7fd304b040c428d7aa48f972f0ff0c24f4d2aa88b622e801a1e2011804f331e80d17b3d15f8410b8cb301c7ef4da7eef69089fbbb4aa05433d16e673171d881357f304cb4ba929a7ccb6690bbd6911f6f5fb7d570345719fc55a5129dc8e870a7083457cbaeb86c3cf51f0c5f605645fe40410055942bbe957d9911d84a1d423978b37ffc91eadba802443cae32f48f7d987eca24719f0e77d568f56726e24e3d85b1a1d13a0bcf0c72f0424650ce50c7",
+          "padding" : "3033300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 78,
+          "comment" : "appending null value to sequence",
+          "msg" : "54657374",
+          "sig" : "46ebaddd8f38c7acc4f2874a34dbabf6596e42b8f62313d12f9e01d16cca9968d0b73a5407ac15cb3ffb232b925acad2d5b29b7ac1907e294cba0107d9b0fe46f728695f3be72df258e504771ae356ca180cae5bfce3e67b2de72f8d7d13c63772810162132a2d512c041fdfd49b2bed59942ad0aa9c11d192292f945a36f6ff267c5ddba7dbef67645efaa8e8455957dcf6723e4d1df6e5e3fd60a43bff3d1549d0c89906b4ece2a1cda030c7ad644748610182f92ae01b65e2ea9b006af277ae685c4690827091346e1f2169a7dd93a520fe4123612e8960fbfe3367583b50be4f3acaa5f07ad9705a48640e828f797d37e58fccfbc9c39b9989e7b5a5f827",
+          "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 79,
+          "comment" : "appending null value to sequence",
+          "msg" : "54657374",
+          "sig" : "a4782205277bafd94e1b611942552b9d6171a15b171f75c3d13459c6d813302941d1ff03536b76508f333ea3736dff38a0ef61dea1e83cd81433c683ad4568365617f603a13e1fcc2813b08915eb681140bf52d4f10ca4e9d95811494ff3f2ce5c27d3a6f43f21375a8bf5b70291b57b24b18a99b38132cc002cfe5396e7d3ce5bcde6fd82ccea835e1ced230effa174a1b8b02544222d9e3ef6ea13433c2f2847bce7c4c55320c849fe9a21f558d3c2205a550b4d04b3bc49f79e4f471c44d4d8a34eb674cbf5762089494ca4d7d8528d61098ddd543bdeb9556247e3821d91954bf493edd6888c1dd23a9d06c44d0faea21f146d0f1a310a8700d66b4093e5",
+          "padding" : "3033300f0609608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 80,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "67fcd94d1573d0712a7da64cb211d9049b3dd043b2b17cd97662f837226379c1c94022bbd5d82d1c67597f510f15959033b63bad63fde6c6f972b60337f52aa45e34f826da9a9040ecc6c268179dd1d10794edbf5690bf834a6a26d07023ad99794e71b675a8c6b202234ae9fcdf43b04dc9c933aed66222154ba7c2fb324b6a6bf9c4eb0535807eff2016b44002a3557564559141a34719b142245fcfb3737166ed7f83227d257f5accc579d20f4fd0debbd2ebf7fe4c8680847aaf17514dea444caf74dd0fc67dd07b9067ec16093d7b21db72a82a35af2b71b0c214136af03ac411b14bdb5a9ab2b3b603becb1fd808dc36a9065c744faae07f18b8d71195",
+          "padding" : "30364981773031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 81,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "6895daf9824474538545d9e1c7288bbc938bfa56cd6ebcd639a897f45624ea7f409c2fedb2ad09cc98143c461262f22f9646e26aad9325af0063024e29bf63b2807c41d615ea8902de10357c747b37e8264d55f48bfe8cefdfe19ac93d251634453c4a0c00dd9a0795c3195d047256abcfec964cdeb3ebd663ad29c457c307e0d05bad643a160e343b516da6a015193cbd2b28b7eeebac2f1a2156c2e62d85f4883ddef31011628d680d4d608e5074574459d6dce4bb623d059ffd39e6956f7243382165fda42cf1064a1bbad91ef5d0a0906785cb8c78ee641a3a4c9afc2030ee4188b32ef2dba42dd6ef5c86e43a9e413303c5ae978b41e74f646ae5185c35",
+          "padding" : "303525003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 82,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "a6a996451e9217ea6c0ea0aa0cb6442620847d85a8c2e9e8464d929e91b5e8fae333cdb81678fb7f90285f8a4e77f6e249ba2c342cf5603df2224df31bd9fd74a244f51b639c5f0ddb85c51eae877426ea611cd8e01082e783604c38c7dfa882d3c5b4c4ae59237a9bdba51f1627dae88e9773ccb94abc6113217163ae11e6590abb26038f651335cc6dacd5db4436b1550a37dda9258919cec2c72b78c9bd4205fb3776e7e785f85518b4d2e0529903b39a49486aed55b6622465d4ca581a71c86c40ec96e2300fcd438ebd5dacaf8c585411d8978ddb8d040f4cedf48969791ed638eb5666cf9a77b0b27e1a572447e3b0005337af99d2e5dbeb96bbe06971",
+          "padding" : "30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 83,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "4e1280bb478bb46f4e9f49a455bfa382b4231eba33ab8d7861d852d2a0aab225f08635b73c3602021c0d5aba603b09b13c4b1ecc53f702d21e225da737e87b5820d628277254ae6d244c02068f2bb0dc532e7ed04e72296340d2241f0cf508f7a96f3683614478dad9923610f9cd285d2bbfa98ba86e2aefe49a52dad162a36fa2a763ca4a09c1afd3ab86de4986ad0e29150f070dc9f5330c62d1da6c2b494f2d8d97caefdb508fd468d121a7ed36ca9c1d7612d386e2974fc12f3f701577cee82b13098410cf65fd9619151f2f69e0cbdac7d3838d94345b5d3059fdda42e527dcc2200193789b347f90a273b06106abd0f6fa79de26086751d0289ce4766d",
+          "padding" : "30363012498177300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 84,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "09691e7bb6a322e91962d6868e380fe98ced520bf556cd085fb8e8d41efe7ba220a67a13bd72c7fefed3e1d4500e055398b29dec57d0a4eaee6e1016ff7c65b837fee29962fda0d65186bd317dad959dbef96ed34e2c89ac2b5841995b2d78d14945ecf01e632c19325dc77fb879988c7ec2f6924abc8eb0a6933bf091617add696c186aff6bb811042862cabba547ee91b8000e92fcaba7edfdbd1bd03b3d6bf5c2b5d7fc77f2c0adbc398de8995e8bd1c4040a73e5490372bf75a33f111666ce9d69b0f61c9a01cc541b4c0e6a902988ae3f876c0a0029d2f0741523a49c12034d572c6dae9b5d170208f0ffee12be344288a3c53519388dbc20d86066f5f4",
+          "padding" : "303530112500300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 85,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "128bf8c66a90e5267f7aa9c89b8713ce22c118845c5cb9b579d29287ce720c747608b68fbfca40747178e1dda3cdc3921fed5ccbfae5d976d286e9382fbcef3026eb988d537bfc9a67470094f8ae30e4da19fca114e6626811c3b355d104ab1f921c3ed8abff6148e817f5c9f21d270b2ac8983c6acdbf789ad54f32aaf9773f0b2570e810058b0f9f12b523cc763975884d13902580cd4f9981ccfbc84fb18f6a9670876c3a120b6907211b003b035a1846cedcd7a414dee37cd77b16c89ad22035c3754b098049ba72b78259c333bf88609184571955c74974083dfcf5d70d940bfd64a6c575fc52b3b8ed5571519961f2356b7bff6a127128103ba24c5142",
+          "padding" : "3039300f300d060960864801650304020105000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 86,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "1901af3da39f5eaa20edd6002255b5977d3285f99a2bad2c4d7a57899e8b19d89da3bc5e418b39b744138a0a60dacd84542922f208b0e7fb0e1ab7b47891aa9b95921a46d2de54687cb2a79b3a7f3a640c2b21a139ad7f8a456faa22c16f27308ef95ffc92fa9b70e5feb0e317de4bb5b0a1558af98d177c097dffd7ab42eb8520935fa87512fd6f0172645631cee29187227fe01bd49dd0f6a28d2033276d696e0631ec2da88f7f1128a7a9acffda408ab10c26cfd6a3bfdbe4e9afc93001deea66d443137936d65bf31ca0a940e25c72b2f8c3cb7f3bce957539136cc7af0e6e5a4f9d8dc0b5fc656952d225ac9612072d037c07f9909261c02934caf542b8",
+          "padding" : "30363012260e498177060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 87,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "1ba99c4dffe02d72a6a5abc06d7aeeb7478aa057d8752ba59f72165e12e740160931f6419b1cd5a0cce4871ea974453f821cc43a0bbd7f541f4320fded5ed89c1abcf32806c13aabbad83c09173a2f8dd1fc15fdea66e9ecae0f92c376ea6ff1c2ffaaba304f74425e3f2df4a6436b5b1bb15035cc44466c240a2a2fb41d275ea8751136686d69adc53373a0eda516148aded67f8fb22d0985f92b6fcf236e7782687ac95cf5ff0104ee3de37523cf6faa1c5b428489e11a115f502fcf56567ba18e3e39830c6653bd29abf86b3b842bd1f24928277f1b3fca68a525243fe1bfe085307802803378d9854cc0f90318c79b79a4e939de2730a08269077fafe57f",
+          "padding" : "30353011260d2500060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 88,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "89476619f367778d5252add21e8a22395c44e2bbcd5a743fcea07655c3ad3a7f4c8c2d4e871a1c0c3787763128fe21d2d270c07c8ef0aa607dc2e9697d9ffb8263b3e0c82851e0a5a884b23fc4842d60ae0eef01670f988bbce5055cd8d7e613ec8294b9ed61459486907e37ed816e7c795bab8dceca60e476d01cad4dbb1c00336003319273f85b57808b6f1c8d8d8d1f119faa4eedccf3c98cbeafff20e54e3b101c094dbed77d33c54f63932ae49f8c584d66ab61373eecb541fcb89e788a5e43f99c67f4921d63bc54a2cfef49cf4ade494d32449db5c8e0960bff24e8ffdcdd5e4a71bafd1e3753786bcf8a8388fc9b9c53f95622763394f1ef88cfee85",
+          "padding" : "30393015260b06096086480165030402010004deadbeef05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 89,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "8227c6081b51017a528a59ab9a2d5275ad7769fb418a2514965a9e2acb1acf807685e57fcc438187a01bb5d592bfdfcf68ea2ae3182ce349c5bc5445131e8693bcc63d6abb96881e112b0e0a9b3d85c0ba5a463e6d6035ba18cc395176ade7fdcea30abd725d6ed4ce5c3905e0d12d0cbc7622e44ee8c3d343a3e6ef046c4310ed7d12e7639436176e2a1b7faf54e1bd97d77fcbac40368013c8a2491f2c9e084ad110dff1a2621d704c8f5e8ab1654220e959fb665e6e6770da6c23a66035571d844a1dd2eae68001169bb95253d7e18dcf5c376b5a31e9ccdf7918715d281fbc027d0b2510184f2a4c454805b73aae89370cfd80b345c8ed878ad1c314a7a4",
+          "padding" : "303630120609608648016503040201250549817705000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 90,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "4360d9bfd89ed3c5c40290142efb667b2afff6fcf53256660409959a06c24d858b3999b2b1fbb8d9c7da7958a5a4ad9c2d9ea617c5f7edecb7ad302b0004957a979d6eba0d56fc378946fb5145429dddb6d12dc2245d4a071fe162947b67546fddd5efb1f277c9e0ffe4281572c3f6ccc9ca5d19c8c1284a5b2816b529a54c02e9acad68fcc71a5d274cad33cee0c2826d0491eadb1e4d0f05776aa02f00fc702b50927d333c2cd9ba753b3e70c26461a0c6d374a20fa6a006ef77a630ffaef2bba01f4bab3314f7f110c4b9c56aac18ce9fac6ffcef3fc140afcc0adda45473e241d592fbae6014f701fc58bbf655b519d2315630c4827e6e16d9f24e9f9407",
+          "padding" : "3035301106096086480165030402012504250005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 91,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "b0939c12151b60d2302513c5901647b0800a5fdd45ee42009828610a83b017a32ce042db7257f17f5504b3347c7b482499d3547282cab6d35360b88b88bf57f0b6f7051452f309a324be5792ff00c0057fe3936a9d584ddbf64b8590ee3dbd04961aeb0fc11598a4bdbb92453b3c646e55bfba321d1d21b5ff883a8e7b22afbd66de6a273cd3e4bc5d857af6c55198358f22a54fff26a903e9fbc3af78ee158dbf9a546dee4b5c77c33980619eabf13dfc72007acd263ea2cfa3f4a89f97b48ca684a1be77925e051184387fb0b8d7ac4063aa84d63b8846932d220f5052eb91debde89aeb6533903fcd01a53e12048990b506773239c83e891667dfcfda3076",
+          "padding" : "303930150609608648016503040201250205000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 92,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "8a439878c5c694fb16b51bf584c67cea27287e51e5b259efcd62e8ef1c7441555e788e66bbaf0f508440370cf04e87b9474cf0aefd15a7150fadb809ab4bd981036d906cd3bd6eafada91632123de1c38aa486c9d6117e6a1b57099a8fbd78848c7ea47be3125c866151a8d46a3bc0d8020b34915ba17f3d835e641bd797b1e55ff44fffef98a4820063434229315035165196377dff2c5f50b7475c835729bdce9b63d120bfe27d5606fb051c7c946a0512092e08ca7e800abc734e0d8234262ab56037ffb2e8ab3099d1fc11a202bdaf4c7e322995ccdd5efc18c234e1b6139d84d0193dd27751e0db9d077aec1bc23f978d2127fde875e1ed7c992a82d051",
+          "padding" : "3036300d0609608648016503040201050024254981770420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 93,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "b95dd2dafad0610015fcfe7d8b5c83c34a76dcefe627c513011d953cb2238ef20273feb8b8672475fbda75112c85340e7ab08fac809b6e2b4d314110866e61abe8d15d02f64952036525b0069f2cbf61042a39810d37b7860fb6eb1c423aac7311fe7bc98d6880954055a9ba7d7a1bfb4e45255f4cb68babe6bfcee6da47ba18d95b4954c3374176782f841b85fa6e773f58c5d56fa85f85a4d8c7b8c6412ae83e26b3fae582c3090a9fc6d2394d1a02e3864111cee49ada14e5e625da3650608bde5a5bbc0b99a46095fbd7c01d87dd6c83819c13825bff3a62cf893af31d03f44875388a4f8e83b7a7f360227182b26dce8b310b389e2c672016a166f71557",
+          "padding" : "3035300d06096086480165030402010500242425000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 94,
+          "comment" : "including garbage",
+          "msg" : "54657374",
+          "sig" : "b4fbe49100d4f15bea29586e58d27cdea5270a035432d89b245e7a323cfc19f77afb4f2652caa2afb3acf712746710e837ee932e9d315ae21732c164835fcd77f8498109ef05704b081df7f0a5566f8c176e5031b184ea6aa7c590b0eddc6037d642f463f41f61c00f4b12d0b4bb7924b9caef831961857854ba53521f2b9da0210cb38132b46892ec7d44bca599c5efa9029eca8f1663ec301fd064df65f9fc35f14ffae2a3794a3e1519ab077cc761368014acd84989e690449b95c5c8c59e4fbfe260c64ff044be245c33b4fdf2f44c87ecc6510b524927a296a1f32cf57024f07a8609ebd164139ebc129b5eabcb0a84f24048673b7c9ecf89e24099121f",
+          "padding" : "3039300d0609608648016503040201050024220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 95,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "963142f737aa6b8eac11c6e52dc02b3ea881f4a1a29dc672b8392f4eabf487d9296c0cfb3acbc6d56c1b4eb4378b6f118e6e754d2a16ebf20e9b66f7961d7af4e1a8deb9e4d089d540496c0ea89cb2cfff8220bc7c5bc7ffb8a002d549900d773d00a7cfbfb9499523f353a1dfbfdc9e28054bdb69c64d2bce0e172b586f6ba615e1af9c822280324b1b9db915a50fd0658083eff495f1721eab30d3be3ee276d33c3177aec8fd5dbfd9689195e7a944108ec8e734d524a27e9bc67fd8ade717c234627e2fa25279bb216fecf1f79e1d724e65b10614f334c161f2a2cc50db7113f9dc1c73bca1c67c41f6f77f80c3950d4d4e1252b64300264473cc904b0e61",
+          "padding" : "3039aa00bb00cd003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 96,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "3d1ba856ee722aafa5bb68d8b2901c95dd1ddf22559f05b70aa3e92afdac040e08819db5417cb8f551cfea76e622a2aabde7863c183d41c23f4690da5983c29db4e0d603d349086aced24d33695a788c617348ada9f68baee069c0dcc43d671382158c70f0f91134aa4d2bca45e1e5a106710025240d496d79c3e6bd70e15f5a4d732b37d53f400aeaa0dd49cfb24fb7af9811cfceb185c697d70c61ff454672128a0fefc6dd776befb87ff0c7f248373a17f8d2a08f138aaaa986182c084178103897fa8ad0e921ffaedd7e650637cc0c09a185eec68413e75a6f80c9fa2cba46f328b00d2f3e414f670be8056a77810240eebba03e923c01c096fadef1cfaa",
+          "padding" : "3037aa02aabb3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 97,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "582b5c38000b069573bec33ebe6d4cdd9e250affdc8b4c17937afa464d107f41bf3ea182b86ec8143c9ce977ba2caa3d5656323d4744556f7bc85ed4054d2ca170d35e8958bbd299aed1bd983a7ceeadb2454bf3f5c19d1e3d98785d644585a1ad3a914cd40401d587f18da2c05bf2a9394902254914ddd4d2ec216bf791d87a8e8cfe6518d9e7520d080376cc35cf5b8cc92995f1e825bd5260f19b0185fa9340f1b15d6c7e0d0533268f8e269295de143449ffe15cf03a0036b17899bd18cc48ac7f18bf270f0949b659dbcea7651634da97e27a2ee1da78b10ca674e5c38475a7ecd654e051161c95fea16c5bd8aca95773bbf18f7f2abff4912bfa46e388",
+          "padding" : "30393015aa00bb00cd00300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 98,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "3ae33c56969f5a2b11e0a29698e60962db13458531739d56a4d30379aca857b0d33d48a111865a010a6a6942a64bfb2df5dc3f859f2134b7ca6a9b48093187f3554047a95d22c5d013ee4f5a65ece677229b6bb830d5e33d8bcd749c63d5ff41c1d48e6de89c4ef43048d8be79ab7b547ce1e5731a4a5fa0f71df485e514978dc34cc297a34215e519b944b59d3762b71a5c885fda79481a886b5b587bff0e604d2cc1a02f506f1e9353d3811b154506586af833bb42192ddaf4c78a1f01f65999ea602f79de8f55e987c5bd63f01f27de24361df86173f3d4a2020b440f32fbded2dc62bafb7f77c5b1bddf4b774a820d45d98076bc456aadab3e6b55a50568",
+          "padding" : "30373013aa02aabb300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 99,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "86cc2f6da999d54a27f1d573b192e01350cee91adec8f9a02b67b1528dfab632160fa962bcba95594dc342840cb4fdccc3698cd4e186c005c68d342432e5e7ea8019469becdb33a76f806504c26e619a17d8de1b79474f669e91e0bd07b31444e53cbb525b0f47ec438391a3587912805c485dd2909e14d8289310312a7616cbd3465c2922a00c5afe88a89d3807c614bac7c5b9697e8902bec0a2fd9e466eeb932b668f6e643a8109292ef8bdfbca19459715dc569f3f12b90faf1f31d7f8506cad98bc4742b47ff0f8f1de840e10e62afb66e93df34d43a2dfeb3346fb3e0e19402235e00c4805bf6f5dc6bb10a1406d8eaaaccdfd118cce8d1a62eaa4a97e",
+          "padding" : "303930152611aa00bb00cd00060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 100,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "18d77b56276d2a2960630b730edde16b0a26b6c65b28fa20ad7982b8b48d1de6038a940f8c543d7fb71181ea2feb85592f608b20bb93ac7c06ce725026f39c645c7f964a14d68ea53de398cb64cd0a26262ed6fd5091332f8b437b71e98ec59122abeb7a27259130b203a81da5577fb0590e2d6842e22e943256c0093d143f58c023e719df92454a979bd76d08c550de11dbf7085afce1581c31a2214752548af5913485c00b7466a1cdfc60e7d857a913694fbc2fca13d77fc5b775f7adaa79668a5afe0b743f13bed6078006e6b7b16ee6ec576554aa2e864f77b43e4e61786780085edf3c6e8deebfcdc057a1de8d8d7d8a6b188a8c771e347365d25240f6",
+          "padding" : "30373013260faa02aabb060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 101,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "a2066d53103e4d5ed9c08d7dbc8be145d932bac9d6363a146784fbe172ad2e02216cabce279b3599b5f3858e7179561e3c489b87f47f33d266cb019b747ec49d3dc1069cb078419f6dbe7dbf640500cd110a93e54f2bad919e60cda6401f7d88e52b9017b7675f082ac349e4fa4e49b0a0c6006d2821382fdd00fa0b9d4e948db23c1a4d3d658ea857ad829aa7a3474e0f8f86520970edbdb3035ed195f039c807f8613cf333a13a14c22f1a5e4b77ebb0db9c98c35f33b19c914801f4aa4459af043a39ec5e016af1602bb795bf2c3655c9f9e30ee2f49c6e059d0d616eb7bf7c9650581ab0f29d1e2d1fb06b4d78dbd06f0d3155494a6f3d7730f55a03c1a6",
+          "padding" : "3039301506096086480165030402012508aa00bb00cd0005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 102,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "b1f2b2ceac435cb3c650e8214ed70a87ea039da7c6730ea29958c375c85d88459065a8987dcf66b93e732ae5b92af964e7341eceac3c252b93c62b2474b54a9477053491179986eea94820ed6ea58edc7e758177c1d150aca2531651963272231f98daaf1b90e7b61a02c7e61b25f9b7c33d7f57d846284699a924d11c45995c9b85bc3192f349af5e669d893eda953272516c1a86764f46ccc17569880ccee30bcd607a21c306f84abf4b6a5fe6839ba00b73b2df062b1d9d7285c4f3b7412b8ab5f68130000c95761a587818811e4632d209f34c4a8c9e13e78358a37b696cb444ff022bb1508c299a6eddce1f8961bee97c5eaf29267d6ff4f6ef9e30061d",
+          "padding" : "3037301306096086480165030402012506aa02aabb05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 103,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "012e5e56d0e1bc77798b42190ac5a15665cd5f2fc1257c66553d8d00acbe85cd2b42e56f344099da06024c5578851c3463d86d00f7c43c4c959569e2a0657840305b655f4607bde3e44ee1ade5a40162544c9e81a94612d600c069f3073c3e9710cb4006aa5e4a8b9083c4cc4f18fb2fbc3343075c8eb8f7d8b7595532d52301944cc79054512141bdce292d339f85008161af499002dee163d01eb8211e6115e637b7d3ad074507e8492f1a524e39e1a5151802b44b74e1c78dce275825a67d3945e80e73c605ea44328d10a16a99f4960e8f83ca5c01c277beb245f4d0758bbafe969dcb497915d787d760673c86755c1ac38e06e530d24e54b4dc90b67e25",
+          "padding" : "3039300d060960864801650304020105002428aa00bb00cd000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 104,
+          "comment" : "including undefined tags",
+          "msg" : "54657374",
+          "sig" : "51f6196459dff03d29f6fd4c7477faaa392cdb0b2541056b94484fb8a266c1490e97d90050843010629f7eb61c3671daf8fb5344eca91dada6c2408d3ae9d6a66fd74c725ded0a4470027d13a09402f0d965a6177ebbf0c24ce66cc463892ad282ae07c0231b394725ba8f14705f4cb860495b2df5bbf143e3e48bebfa3503f6bd2bb56f4b5b589e5be883a0fc2249b6b59d6dca99e13b14868df7aa7fde62b4ef75bc6f2e90c18685922be7335d4d3f55eb629e2873d66305e434180701b805f832be5f5757117543ae00141d49d094d37e66091fa4a0b06c630156f99bf2a42d7f9315b9e4e2bc66883b9a83e1bd83fe9904642f66b19b40ac0c0a9ad27aef",
+          "padding" : "3037300d060960864801650304020105002426aa02aabb0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 105,
+          "comment" : "truncated length of sequence",
+          "msg" : "54657374",
+          "sig" : "7f8104fe5b383a7745e52b6eb6cd2404abd1d6e5ec4255424fe802ebe76b70594c3f5e8a38959ae9e72076de7ee5a485636cd59e51e9270ad5ee38af4c5b295855d86efebb2678a66b6fd0328479b1b75461b9eac59e71ed9441cf972af074f20320d5c01d93feb037cd212f5c9774ba65754a003f1380ee0c77d3f7fdaf753adc1f7912ecbaf801959d2a70ebb5c24a68ff725ff8f9901a712ec338d3a798294ea0f10fefbce5a99bebfbef2ed91f6668d8e25b676731d9595d679b8a7e8c35c918ff0bc6b080f0f0a187f526b55b450d069bc0d4b47c59f7bbc58ac3af21180ebd6707d7237c967454e459b696842d41841d02b4c34fc964677b0116a22879",
+          "padding" : "3081",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 106,
+          "comment" : "truncated length of sequence",
+          "msg" : "54657374",
+          "sig" : "9bf8795b877ed9a89e70af142e44cffdc770cd2ddee32ecf32b962840dc26406b1449f03ab16c7c9c72e41e2ab24bbd163d2b7213ff7ea8ccff463cd41ab87a39232383a6405911fc9bf33ea82fa9fee0954912afad0b50d80a70a52cb043f5d8fef8f80249f4d2a8a1f47d524bbfe9678ffd3a3c9d307d9c61a909478cf87d45001d66f5786a7d22d8069884c3248a3e5f223d6988e6c595009cfe24947a564f43964a1ac7d4319a446e7491230a3814bfdb80ab2227a2029a36b13da4a584c7cfccb337bdac86b5f727169596bf6a53467c06eb94b7d168624847df7679f27877f43954c4593cc4e28951dfbaf4727e3728cc9b9a59efa92c3249a4e796f33",
+          "padding" : "302430810420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 107,
+          "comment" : "using composition with indefinite length",
+          "msg" : "54657374",
+          "sig" : "48e200aab82c1d2798b90dc2ddc522ad5d638699b2349b26596a58aaaf7d14f90f52f44a320fc424ae2ef781dbe5ac12de05b85a02866895329f36b1f2e8c78b5a8161ccde69de9c112682331363398659f832544c7848806a3f2076a3127a9b4813e6d5c8ef31bf7a102b136fd5f9b3675c5e8ea7df25bd9b8df6cc46e9134b5aa185c13e40c935add77fbe1c1853ca8dd28fbb53942e7965a44d9694b96dba9ddcd8396d7b191c7b385629e6c391242ec76a916cf038cad4f5239a4c17816a39deefb43ceecd31fae33d3afe50edd8086dd501f6b72ef43f21ea1858dd46ad56ed63402bb92ab06b85a0d17fed8d9028b22f528a9544b8827dced2c778d082",
+          "padding" : "30803031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 108,
+          "comment" : "using composition with indefinite length",
+          "msg" : "54657374",
+          "sig" : "4323f6998549f0c6d79dd67cbdbea827da1ed45026bc16ee020d42b1d448a66810677b3f0278c20213a3949b204a773b533e5e203f2eb48b936b01ce5b151c32be13f89c1f56b20b44d5987e1d7220c67d07578f8af642b6d504e1fb11bf1657203eef4f9882488f68ef830be437a3ef948def0a6b34715056926504439262cd5e971a91ec5b2948498fcdd5fcb1e4b4f5ba04ee2631546a5454f28304a07c5c14d01a75322bbd764cc452aa9042bb03a466b0c62a8bf945b85c63b6726f378a72555108d27029268706976de496f7098d093a3a542db8fd5aeb805ef3b547267234271124e9e267f27a9525bf224e3f5d33b67a64436d65cdcee729bbf28897",
+          "padding" : "30353080300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 109,
+          "comment" : "using composition with indefinite length",
+          "msg" : "54657374",
+          "sig" : "225c4bec4924b6aec5e2524258edc63007b35b37faf9c735959c9f932f982f5d5434fe0f11deed690f9a023337a20dbedd42921f2a019ad6ff033ffd297e8225269bb6a83bc2fe8e08b7d0b9af492917bd3d0cc7e3c7bc213e0be8401ddd2e4b5c1687ab6da434ca3870f0ed3c2c1b08a00b9f52715d2efe0f4e4097510395a087b5bf389471bbce2e85814a43f10d68d8d77398b3b3fbf196cfc35f6eee8b21117fd6c0d317674a6f89b2f7635c7b5a91301b6e64578fbbfa327fefd9d8e4c992bb88a23f8561298c60a075c4f29fd737387349037c1cc360238dfe4e2c3bb6da805da25feb9466923e00242dacae167b40c4c4d5f4473e22adb0851162f7d4",
+          "padding" : "3035301126800609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 110,
+          "comment" : "using composition with indefinite length",
+          "msg" : "54657374",
+          "sig" : "1e416fa2194a2297866cd7df7d4db6477bd71e2b2159313204dcdfbfc69ec84f826f01e35e4ce6bbf43c8377f34e7d4bc9c339d20307ba6391c2091698885480a776628addb3ad0f5a7fbcf944ef41fc2ea9ab078ed8ea62ef4ddd1067d8863d61c1b52534d51b2473a11208d260460008da01f8c88540a594b3eb6c2145472efc20770342f2e17bd2a0025fa2b8d820b8d5fb41eb6025ff990b054f741a8f716f354b18064902e208648b9e3eb312f2917782c0db5c8ef49ac0707a82f71182e8a21daa75d36e0d4938cee289742a3463133082faec3fca8979372957486d5410b90de7e232818b839882b513da01b4cb9fc59c0da62b70ac5a4de1ebbee89b",
+          "padding" : "3035301106096086480165030402012580050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 111,
+          "comment" : "using composition with indefinite length",
+          "msg" : "54657374",
+          "sig" : "9801706c663bfa15fe7877c8d09f58d4664d3619471c27d333ca869536a6c4f4e816c905b2596c71a4ab3bcf07b550ccee0e8ffd5f7a9fab3afb5b8bf76f8e118b7d07170ab6f82e7e33db4a81f2f9ef1f86d04a1b2fc141768d9b4e44792ff9ed882032ad5578560d51c7ab2fa96128fd147bc260d05074ef42846db7c8feb7ea71ec6755efc554e46ad4c9dc77c259aa834fea03ccb9b931c7d3c8b0316e30d25346b682df91a6bf68c6266723ffc77576abf8a732ce1a7368b71d740677c28029d2854797fd515278d884f4eb0806f21752207b103de1e19d357e480021d3e28ba9461b6895b777f1b6a9e08bd4cf713cc41f4e9a5bd7071921a614f0c3fb",
+          "padding" : "3035300d0609608648016503040201050024800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 112,
+          "comment" : "using composition with wrong tag",
+          "msg" : "54657374",
+          "sig" : "71c756c9def03a24fed38e597b1925905783f0b25c974602d982c1e7413e7bd82c78466df5decf09100b924ff254ef01b2bd425b2e0ade75ee4ec58aec4f3da80030eff25601f3ebfec46452e01cf51ecc6c0d2268f754795486f7886b8dc181c96f6fe4dda05a2b54e6fba77869fe347c2eea5b42081d2140cb9fa7a6bf023a6b9f806bef65038aa680fa6ab6263d756d3cc7acdbb93ab3952998b2cb37aab72a50657e276d70dbac6be84526c17c5c1790f0a1eb0dc0644e6c47510d3704fbe9e10c8509419f6c49656e06f7bdc4637891afebd376f1e1be139a87b2eec9063dcd815a17a08f63e2a4e9f9da822cd0cb5539c4623da6d279ffece0b8e58f86",
+          "padding" : "30803131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 113,
+          "comment" : "using composition with wrong tag",
+          "msg" : "54657374",
+          "sig" : "50d70adc01b502dee439ae57f59ec78608d05820f858a6f0e9271a4372b47042613aef6ec2f36da7dea07dfae4c84f57435980b4982348e2d33c4df6c3384accd7c7e3892184a3778943ef50477b906c2890b5c93322c065315b960be0ead30bfa496960d53a4dcc08c8df158ac5090c10c395d18cb33c8faadb7b8d6bab8fb9997e017d5c12789c1ef0b285761d2e43fbd5b4313726cfc85061f9ae33e3da0addbd86e267fef72b966ad5286220b2da94bc1b667016bece0111dbd2ee4943d9d0fd041b666d93bb3dab53e16995d6b10d1a3b4aa07be08dcae8f0f5cc03c6b9c3419d5ff8268103a850c2f2043842637f54468aed58aea06d6f2dbb965a3208",
+          "padding" : "30353080310d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 114,
+          "comment" : "using composition with wrong tag",
+          "msg" : "54657374",
+          "sig" : "b96e8894734529229c0830d77834f5a07060c22186c2cbc7c0fdbaf405b466fb9727694a527acf3ad0a35223254efe854789375311ffb6ea35d1335216d7b8fb215241cd3dbbc90dd569c0ae8979d9c0a2dfede3988c85e18756835734d45974dd50aaf649c1b9635f0c53dae4e44b0d2315897ee248998f6efaaeafe72a41f2f13a1271500bd6f9be8ef84421f443e68488a3eb40604cd4f28f7e9cefb539c8c5e87de966017d9ab0a3f01275fe25677c0049c0fcd7ff5799b4b96cc0490bc4199da554daaed28ae235dbd3104f9f2462468facc932da3bf2e5822a8159d6e8e8d9ea96ac200113a60a57f3253b8e05f3f0e8e040fe3a55b1a8ba749d5d5ef3",
+          "padding" : "3035301126800709608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 115,
+          "comment" : "using composition with wrong tag",
+          "msg" : "54657374",
+          "sig" : "1b640c511649dcb0d23df1fd808a340415cb87bf3b15ff5e19cb6ced922fcfb4ee376d6dee61df8aaca7e108c8a0868c8a2e99db2c0e769c80b7e5adc3bb4cd4da70f7fa68933470aa61d50a793702a49d3dc635670fa77f2dc282e28f4a74aaf5a76c9383b093e529ffde33e3f8f947719c5aa2680b1ed4a4c07a72189e03cc0528a814a6ccc7cbcb4148667c9170c882ecd4bd6cc8dee957b9f334e8e5316fc4041ccd6b422cf658ca6cca6f27972f818ab2f0defdf35ff5e4dd87de52d6a1d2cbda5f7649a13d83f989d208d95b076a1984b548b71232325469d111a8dd0b508e4affeb2f6dd42c90f4cd1e10dfc4e896e483bd9e96c3e951a51519a19486",
+          "padding" : "3035301106096086480165030402012580040000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 116,
+          "comment" : "using composition with wrong tag",
+          "msg" : "54657374",
+          "sig" : "8dfc2c2577dc3f36d36430f25f76fc01ffb2af51e1f5aa8fdafe6d42f57a0934a106d88254f834999177b204a5388543a49d638af70d52edde954fc9a6a2a0b99bc3d3e2c148058a72e2a50c1c3774dd83f151e8fecab64e1bbc6095cccafd0d1774b8b4ccd8d4b995af3e1ba9c9430fd8fff39bac43b0c6bfd051c5d20758900c9e79e11c7918af1a38523090454b2c14f01d1aa16b6d3c2d94bf4724a37c471e3bbdd710ad1f268030ad3b3fceb83e808c1cbb1d3b4d3a4de84f0a4f6f1d7765b324ebb81e1bcd08ace01a4713c6b376069114b8f0cd236f7bbbf3bea3bc583412617d97d508a511c54eb32f166dcd7f80d53a5c0c881030de35266a30dae0",
+          "padding" : "3035300d0609608648016503040201050024800520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 117,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "54657374",
+          "sig" : "a43fe7407fbd017415df9e194db645a0a5744bccc05dcc89044e7b978a97090833589251d57ac70f0591ef9a787788360602624dbf50209fdf21f578f0839b9b27c9aab1bd58d2a17ab1da720fb686420fdc17f2756edbd8eed82502a1e66c3b2b90c08dd4150f6f6d0b569cdb14f7cad5f7925d9c8a1fc3f0a6092219ab6902599e018f88247f2e4edebf9050104a387de07db955bad9cd01f2b189d9a6a2ee9369bf1f6ba272449e26d4a67712a3a22947ab67de53b1a416f38e304011dd477eb33c8191d46101b17d9e835d9816f76dbc540a2d6a0ced2562325b9a21ee7c90f010c22fe7723ab4fb16197af8fcd507f61387dad1ce8ecd7a39fc84eb8da0",
+          "padding" : "0500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 118,
+          "comment" : "Replacing sequence with NULL",
+          "msg" : "54657374",
+          "sig" : "852f74fc801faff2486afa44197fec789d36c1a40ea41b55d46b6fb6a5c994a9943c6d9b3d46165ab2023124271ed5fb34ea0299b205197e4d8432c1dabb40236a095c05587e885e6f8ed0e08611c2c7573c928c6ba6159541fbe6751c04486ebbe2f20ccbe8410ff39d7db6649eb46c6f0ba552f0dffcd183628e863ce2ef8f44faadf3fd94659f98517a5e8b5969aca73c32ae22c433887315ba8631f4f10cbd7a0c3204e377e7366c136986d505f1e8855f80c5f8f97b9ec76a69e9290734e80906701372e1f9fff6f22d15508e4393539dddfbc78471fd2326e7fbfcb5fde066f437171329905fc90c95eb174e9bcca53ba46b5c42b5f3f47f1e0fa4df04",
+          "padding" : "302405000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 119,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "6ae97ba33d02719f5e4a809f5b44054331d0ec1b61c34067c6c8996d126c972df2eb48f2decf74623116e4b54401bbfc05023501e00245eb98d86aec6357697e67cdc78e0eb37c53b3ce06cd078af9bbde0206ac5d63e8a842726d4bff489e6695c6539de3bef40a4fbfc500bf932c35db6d8185ed3ae713ef6f7931b8e4a76834a6cb59c4114c230dcdefaf3b4460775650e03d3461deb3a229511bc97636341c0bbb1aad24f477c3a1658155c338d37aca1d6b5ba039f3a486535a2e2dda68e4bf1998b8931a52781e465d32596c6781612af4a6f495974c023b68a0f537fee00a32c3e499da4f8b2e4ee677b68b058f99a104dde579ac31e6ff966679cd47",
+          "padding" : "2e31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 120,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "b00ec164825f457f144e3208dd887c0b69762a2877f62d8795ac3eca14e49988f898d3c939613caa5094e21ea361c804c8ea0c5f6a0e09e118e183441b5719ae308eb95d705046218e7dab336e53fb30a7c1ddc59cba08785ce9bda385743526e6b7bd15b3cde6bfa10f8ad4f6f20534c388d7f61dd04f34009dc4d6266f7363fcc59853f24e0ea5f9ee100f0004adf75767d95c12b30473594f67bcd5ca63cb76a4b837509901dcf0bbf5f2d109700bf04e2169cdb47ba4de1019fd595665acb114039bc75a62cc07624646fd1ac2bd71625974567a9508c512b0576ecda69a59e950802331002662dfebe08d2548968ea8939364a27e202184380cefc1796d",
+          "padding" : "2f31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 121,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "1778c178579119618a407ba834a7de8ff244d4da6ed2f979c54684dc459257e70240691ee844f745d72e64633200b800be5da738484c0258405e7319800c8128d023db5227fc2e348c426a026c3f84060a4548f0ddc2dc92be1dd42bf7a819a9e892d318eac58919a01f1ce3da9c17528af6022b2cd088144fe44c3dbba60ccc83970199b758fd49c2226f5b742668d6685dee1a5feee173aa8f4428118a18701ac503600e0704410595e8fd7208e22c161c81e108056b52da131f1f806c3bc118f934cc78b8e047c0b181ee7386d9c283a3dd251ca30a81a9b6f562b3364815ec3d247e5cab8ccdd78e0653e2067c6148b76191bb797e800f0d6e9e282409d9",
+          "padding" : "3131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 122,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "13b647d93816de9c2fef162f8dc37956690dd40d2124b0b7b724ddbe5c62b1242369f82851b24cf98b1b462f6f5fa40c248c02d778ed28d3ec8d2eeb1668081c691f6a3939f72345f0eb58fa02737ab0334693c6333b9e4593eacd3dcb71586623d11b5230eb624034561f3c6c7b151c1f18d3311f359a166500d78995d6ede43421058a571c639f228a804e33deb8aa06e646c7aa425a8d0ea245e4b2c2a5d48413c6ada61d195e2302577cd517876eea82b043c6741aba882242d9c97fcf7edf0d0a3ba6cf3723f5d3006790d22dcd8ec6bca701568cecc2420284e140c84d94e4bcc72861bb31d61a9dccd53857060f7f6bde1503580f2d52424afd1c0794",
+          "padding" : "3231300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 123,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "ac52288eb0ae64f6897a5b383e9e4d734b45685fe3a75e2f5c65ad8235311a6a2fdcb5a8aec47b430a7a84efe10bac9da10786badd033089243526a4d9ea57a9e7103ca9e7dc889a9d1a4e4b86deb34ebd3a5b454d0afa940af71422a4c4dae4e1a5bd1e4270ad32a486e2a1334db7a511f3251834d112b9696979dcb0abf8ca83f304e4e8cc6892c4dc5188e416428570f0e3e56e4b171a3ee741787384f9375019fee5cda1e161d4876e9ebb349fc1f33ded8a733bc5c7b719c0367ee44ca8212c517eaede6689e1caae2b5cfd347378efbeab78114435986f95add85e48d433074288e0cace49de21c0fec2414bed9b01274a8e8f6959fdc29648bfceee70",
+          "padding" : "ff31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 124,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "6b31d3f3d9c007718c2a7f9bf201ffc003581b3fca2371fc15aeba38214e51d6f72ddc632a7632ba95f79c868230c56851231a8fa178cf6cde67fc25cea8c8a811d33e451844b86fdc11c1a75b03de5084a9642490d5e9b49de50d51c93c765bb36388f1b3506a098a8a9d58f509d48e76477bdeb4ae2fdfe410c17cce011da703b47035fe2041fb82d82a158480fdc25d8e868209aec6f788e575635a7df9fa58a95919356d52a38e678a8268f3baa2af7a6efbe3af72e23eed354bd43472ef7c7a877842efbf3d9f08ef45cd562ca3ed4f903d7d4a571bdda531a00458387135e09d276729ef230297c289d9a0010d6db66c40b96d91929e685742946a4c05",
+          "padding" : "30312e0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 125,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "b72975609463db5cfa161a7f29ca78c1e8ec6083eb055bda72fa7245d71d565af2855f175ed29dbe881e2106f90a84f3abbf7d229db8cb7be2a7d5d29cddfb16468d9f142e07d2e5f4780ab52354504743ef0cb4e32d3cc1c2e612245324afe6604004518d8fad3ea2884104ebac9eaa95e14180e86c54cb801ba9b8510bee1e2df90fc49a005b1a26ade197c63de5f1cdf8ac8a84f6c67768c0adb54ae853388de71d1643e07d8bb083166efd077251cbcea5905fc035f01919bd143fa8d5b600cc9062d8b61eb86d118c0ce9f98a3622f90084236124ed6a5024b0b7a61bf7641cbc7647008099decf493b56c59458a1a9dfa19c13ba96c0e050d3df512491",
+          "padding" : "30312f0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 126,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "6afd7245b1521c942c1d38b8dc0b9a3bbe124833ee97de0b50ea9e537973e3d199376f1de834ec239318389e479a89c97b5df2bb08d3fc565c33903aab595f4005461c833bcbb5c04d90a21aa7c251e1342e2d8db768ca1c23ca473adc011f40eef9faeb783cca57657b6fc4200fd54694ad457db2942c8a9271b61e3cc1aea81f97052c3c4ce968b5c6b56710d5733615d960e29a636bb959a4fe3644c41f7cb85987b9112df1204f81c69d193f10b5ac2aa9d8f223c77641ade87567469c07b82918d1b44df6d047a0ed9291e489abd7050cf7ba1adb85cc5fd079cde65e8168c2480121ee7145bb094dc846517b6490250648f9b58398130a69dba9ceee10",
+          "padding" : "3031310d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 127,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "582dd05a81d329fb7c4c1bcb5716eddd21334fd2f7763aba0de67eff550838dc7f4284ea5e4b94bfd0ea823aed8bac214e3c9adb0144c7ea34ad98cacb583e8f5e2ceecfaddda67031de748b3edea986dd13906ffe06695b7fbbdc455e350b64a459a8cb260ee87b0004433d5dfcab404da5bd9a116168d8453071dcbc13af9abdfd009704721e65df950984b564b957984108afbfcf1b6f14ff50425a16da4f1d043778a50b91ff340d94e04d9cf9e7e3b35a7482cd2096370b189844542b2976713466cac44b356581411db0bad42a5b0898d05e5b19d062e04d4d22e3170001d46499a20ad125779ae95d3477cf2ec3d39634ad787ce1ed0136bc432cc813",
+          "padding" : "3031320d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 128,
+          "comment" : "changing tag value of sequence",
+          "msg" : "54657374",
+          "sig" : "666430efff090b85acbd66acc054f29a8c05720e140a599c211fd699955c8857ff68dd8ebe56517a1d4b10ec5cc175b17488161d8de9c07c3263e5c3c73a9c649d85e8b4cca02035f6ed9b8ec80e0fb1e102a06ba60e30a2d2d2026b1efa283b6744c1f2a9b5bfb2aa054fc061626bb7c5d18cde129e1a188b62f440abb78ff3eec10943b60c168c2aebddec92191d04c2d06fe1af82e9f6551834f2c6142b7e81bbd4b4b501986056530602489d59a338694b08f56b83089c76ebbd0d2700ab2b1489cdf43913586b426b22574d20bfecfa1efb0a72b72d7374ba235c8708eb68feeefa9dfeb71c94bbf999b952b2bb5d6f47bf3404427f931360e94c8087d1",
+          "padding" : "3031ff0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 129,
+          "comment" : "dropping value of sequence",
+          "msg" : "54657374",
+          "sig" : "4f1b6b6f44242c393d6047cc0c52f5f11e53ee6f67cda2ee9995ef5d85846e35bd501adda9e0e274147b3898b56d80a78127569ef977872f46bf6f996ee398a489843d51216b90dac9bf173ee966cde1903c072f3da2551b47930d0d4c8c74836e2027ae33a34056c40a9bb7d811956463dd01aaa305899130d180e61532a604910d0eb25cb14a6e46ebce99914f820e64ca685a33a2409b3df75796cee1e0ea4e907265d4478327cea93d2779d607854d3f327125e4fc641f6f87da99b9138afc90965dcd95f95e54729618cf0785a115a0e7d9534fdf4442646602b9cc305eb48457f692ed6740ce315ab8a6facfddc36077a8bcf0ebd2a4cc41565c71bee8",
+          "padding" : "3000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 130,
+          "comment" : "dropping value of sequence",
+          "msg" : "54657374",
+          "sig" : "0ff1386eda5e2e274e20fc68a2f2e04e0b299b99ef4c3c043761992e669da54a51d9ee1c1626674ad35b95e7c9cdd72312616f461bd933bd281f3ed79b532b54a39f1ad84602edd80767ce0e89dafa6841fdc9c4b2339ad0a28aee8ac5859881e23b4ff38e2ffc9648489b5fb61f64c6201c0558858f01ad97ec7fd40965567d7aa98c03ac0b3615c2d17d1c7695df50e03c362506f2a7e0a3c95e1e5be6e382a86bc66c4f1fd4d0972af088a3fa7f9dd439ca4b44cdf40cc84370d087ac198af66e6a99415c3b4954cb6893d1cdef0f7329ba339e01fea4ee4096b94bda9c4d0c74351009678a723402524976dc01e70f81bce36c4d39ace0d12111733ec1bb",
+          "padding" : "302430000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 131,
+          "comment" : "using composition forsequence",
+          "msg" : "54657374",
+          "sig" : "1a183748037cc7201b866108573e83611953f72b96a56a33eb7052399614834d04daaf3892bcfb194aa1ca19df3a149720a0ea970fe9aae1bdd09c0548071ad50d806d8a6e40a8036fdc5803de61bdc14ac155d26dee61e1c23dde867c16f28cde28dc6a357010ed1714a0d8c6fbc5a1894d1dea159c3a8f4c5251233ac2cb1ee715d42b15360bd045a38be1fae6f5b5c5b5f8eb97cc537e18d71f506790b35e69faeb43b30a80ce6c291dd2ee4b0fdf6dd97dc197df9b125c59809cfec7045698ecb700cf99f3feb6099f7516dbbe17665ed515ab41e7154dab04e568e1fbd1b419d9d261ba35f05512f181f87d23143f0649ff5711cc4c66d4e7b702903fcb",
+          "padding" : "303530013030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 132,
+          "comment" : "using composition forsequence",
+          "msg" : "54657374",
+          "sig" : "3134086af9ed8e92e0dd74f4a83807bf263b3bd5ca32fc975391091016dd632b980c1df91854508164088e61c8af8ab1cf2149a8e8b2fd7d223e67da5d524cd6dfd3052bd307c991761bd8047c2403fc84871430978a0099954bc4befa89c7281ae62b10972a06b5dc8f4cd6d7e1ba42d19b486392fc2f1658ac31fbe9f0bd6d7b7738ed9f7e7f51649989de4817c7e4a613e357e9d4d0cccd5fe365ca4505f99ecdee8b0f9ad3d76deae39de4a815493611128919e344ffef0776b917541aad6709487f4605f1aab878c3a62d881085cb1ff1cb55bd6436bbfc4347c0ebfdfdfc6482581bb1402bcb787e9c6fbd3c96d9dcd16245f1935279116223aaacd83a",
+          "padding" : "30353011300106300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 133,
+          "comment" : "truncate sequence",
+          "msg" : "54657374",
+          "sig" : "39963c8d72f4b87502bddf258c441e3b7928c0e99f5f4c7c66e45db5cab0aff14102cc66de1555e6053e7285e53cbe1c4645883768d4e3e6bb18dd87eba514f1fce3177854b7f58adc573d2f14ba065f0cc36d62e62988a85ffc4b1ed6e7e7f3f5c18d185495f2ddb1fe32ac0dcf2404cdd3078ea5986e293e2cc28b36f4be1c654f8cf86d0b8fea5be318bceb08d62594255273b420ed9f6aafc9a639fa384259c636132d8297d92cd9bb4e8f2eb77785005683905409978b50b97685c39274299cb9da6098ad02a66971943f0e7c6df90622e39f2e8582770f252fce3f1659ad742e68dbe4dbc6562c065f82f5cf7c85f8967b9de92dacd2b05cc5d1ff0457",
+          "padding" : "3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 134,
+          "comment" : "truncate sequence",
+          "msg" : "54657374",
+          "sig" : "10da62f2d21b08fa1f0a9c6be729d60939340de884ee9ddf15e37944517b9c1e692193029e3aee69bfe92fbdf91bb7018deaf025e75944952b379e85c35d079cbdc1da17f97d844c78b0f0849b7e81e284bda48f0e354daf99fe5ad35f3b782beae791966d2d6cc7d6ec262a86089c385fd56d1e8e21ad69b85d305b43a271fa410c65f2ea088941ece8fd98063d50d6bb07e50119f0c4cd9c27775bcd40803124c85fa7dc2c555bced956e131a473a0e3d357a8287c0aedc6bba5239d3c8e92421918b137c08c08b424040e26a559b8cdee5daca596e7506109515e822d3de3d826284140b935683483185f8ad5684b0ed648a2cbc9e549fc4b0294d7384684",
+          "padding" : "30300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 135,
+          "comment" : "truncate sequence",
+          "msg" : "54657374",
+          "sig" : "48751b8bf25b88354852664446a3133204880e38e9bb4e34ee79beef8b464f138c83a45ecab05ea954038ffe6a2fc2f90dfd76f2d2a6c3a2acd36f63c43569999d54aef4b9550fb2406344779d695c773b9605d189d42a825ee489e4b69d5f1538e4853132cb9fc97a56bd9180a0ec32c2fdf6beb855d62ef6b18ea45354d49bfa225145ca639e57e10248a3e947c84d35502f6b40a64c44f813aa34ce502edd4dea72ceb11d453e66d1175d9ccd5d925e087aba6e8e34ee641eb7e76cde594409969752061847630c7d7f8d87d3fd019ffdf5cb3fb0ae5c51a8e66b03fb1f6a8601c1cf79a3596c4ee9c66331e159779f7e7c78bf0462bbaee953c31ab6be6e",
+          "padding" : "3030300c0609608648016503040201050420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 136,
+          "comment" : "truncate sequence",
+          "msg" : "54657374",
+          "sig" : "17ce85f7b037ff2f5902e3df389932e95b3814547414bcfef491ca0aa9f6ad8eed3bff73f240352410bd67caa01c77994543af721d1c93beb57a6b5ab348ab51b75d75cc4b5addfab9479ec0f852984b81ad6eb0ac7005b24ddcc43723b37e24f509dce252e5cbc3dd5ba4fa43385f773b9d8a49ab07735db9a7aec91fcdef0fbff7a6c3dd8c8e7ca1710f90ac3ab1594a20e4421491cae9abce372b2bd703808363e26feef7ae93d40c298865de766a4de885f2e9efd2ad0b465d569893b15b194d2d8c9ef66b5557df770ea009d1520b87078b7339a53c84a3dd477c185c2f7e3e0370346df5951dce75d4b9e49092deaf020e0651d409d7ff17a5b5439286",
+          "padding" : "3030300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 137,
+          "comment" : "indefinite length",
+          "msg" : "54657374",
+          "sig" : "299a19ce5d0226447644ee011e1633135feebb8765072c33c18c7786b93797c6ff66f182a698d291f50f60bb20d244721a3e1304e425e4caf5d893690fe555c45f2eef068fc829d313499c0e2301c127c032caafeecaba6e339a96b5654d8dd61dad1d31e594fb538042a7c14c2953ed843207d628cde26453241edea643a2a50eb6a9446ae1d266550f558a5c8caac34ab4e812a2afc751e0033a16a1bc09eac9118ac7bfd39440926da48867dd1baf0cafe46a2f3d588a01fedefb7e8b0fbb294d9beb78229dc2a1ee2b045517e25b2c521c0b6431dd490376b7e3874da096535ff2cbadcd7507d048c82e550b2da59cdf3435dd6c15d00b81072d0b0cdebb",
+          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 138,
+          "comment" : "indefinite length",
+          "msg" : "54657374",
+          "sig" : "5047ce51895b102150c34f652bb0e6f683189dc2b4c5baf7787d01438f0b24a4fd3120f6fe958dea1aeb126ea1c93745fe8d0d0f9280d701a00bb4ba9eaf35a4694345b9d38f724f0dfec600e379477999ffad9122980ce111ad4492cb4349ade4aeb85f3de7e71be992a42240a78ec9355d3a2bdc44525a93d66a41cc18a6910f43e11a528d67237901a4196383f64fe6ce5f246ed02ee2b5f5ffa86bf16044a20540d2313384cca1317cf3d18bf9269f3b539b78a6c84cb4df1e9f2cdd4d9a9b53b11f329ff7db8248d23ff3dd53e805242ecb307bcf2cfe23d90de16c68cb3d33a5e461b3a6db28eb1ee25bae53076df190e6f9cd23a4880514264356f02d",
+          "padding" : "303330800609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 139,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "54657374",
+          "sig" : "47e9373136f0034afd98de6e5519770af7ed2bfb4926ede7b6b774cce7d8df94fd56de9b5c8a2d0d3a23c2a49b171e62e9233bfdd88a48d66ef3b1007cf7425b46d5823b3e11a4527716f4cfa9bb4b9ee0fed76c00a6f5e1093ceb2117eee845b1daff24f8da60456d429a94d180ff40600e29088d1c181a60a233dda2c01fc3bd24f248f8d55d12c9b818ce608d8ef9194ec2379ead30addf1d88a4b9879f5217419753d036fe39e88cb0461b5856af8f2cf0b5e6e74ee8c0d052b851029ca7ad23c2eede49a3d916d5ca5a0190a92ff3b2f9cc4e41dac240620afa6efa358a9f1539abcb1073fd7a5fd18552437bc01cf5149506359e822cc405f5b474510a",
+          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 140,
+          "comment" : "indefinite length with truncated delimiter",
+          "msg" : "54657374",
+          "sig" : "9de821d4fcecd5c3ec6ebe88582c61390c5d471724a7c9aad4d4eac2576aaf133d92e5c53e45d43bd707ad80a5d3bcff1d45599e048ea27899f27a873151392afbdf287aaeeb7020491c835050c7d7fa3a905eb529fe2760e55bcf994bdd25f4bbeaaa26653660802b4131cda45e1a51fda7f6ae42f38ff688c8be59a70b7ad805e30186177e094ea2ead3b1dac4c24a42accb112155abaa12fe452bac975485fd8a40a549b484fda7d078bc6e443ddcc0289aab9f99061b083676fb00492aaca801cae31578247487fbaed775a74fadac298be953e0a108533211088290b3ed8af563186a18976ccc04e24097e4642d0e2d5242a28ec13ba321df4b8705624b",
+          "padding" : "3032308006096086480165030402010500000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 141,
+          "comment" : "indefinite length with additional element",
+          "msg" : "54657374",
+          "sig" : "7c566a9339a3bff1a30d14b7ce5b4f2b1037907657106945a1159ec0daa86d687fc3db4b0f434bf6f5797f3870fc935f0aa1a67cafdd57b3e260a5ca95f17fe9e745a8aae891860e98600b835c0e18d119f41053612bfaffb9c780318d8628a965449b38a508bc2ed5e9ca208f44189ee72ccf5b28208eb27968fb5613bf070686d638e48d8f2dbd3b8ede717f350c41e1d97e9dd4d3a82bd0fa7ba4c49ddb50ebb1d522355f0307297e7d833e11125efd6d4201e6ed7fca9f0db1813c634af35d780769dc08738bfefe32fcef60014d5049ad739aaf7d2b885c2dbe97c726c269333d592d0c35d0a1b448b972346dcf849cbe370854ef33270e49b17c93ce7d",
+          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2505000000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 142,
+          "comment" : "indefinite length with additional element",
+          "msg" : "54657374",
+          "sig" : "92996c9f61dc7e216d111ad097ddbee4cc15ae29b37b944ecdb2976b440c5e94ab693d118d2c129f10b327c46ee8225099750df108ec8f412796dfe607c2f0535ef8a4a66394bd3d72e242e8182c3b1f9e8b2e29420aa6f1dc4c6268d982931f1ffd177293223de1e6c8bf65e1593876a6865ac228a898f475510ff938ca9f1568b0a90560cfc79dc4f05734013cc0aa65602aae3015dd83a7566937808b1e7d8d64fc0db46a47e35185ecdb9c086f4b857007ac3649a7e773b04dd8b6775adca21611b819e4b90f9315d4769771cfc674c41c054fe8493149eed9c84747b067e5efdf289a798368298aa12628a4ed8021c0827b0893c3458eae2f8104c12999",
+          "padding" : "3035308006096086480165030402010500050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 143,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "54657374",
+          "sig" : "3abd11508528361765b79ca41cdf3a114305b9c481b11eb71b742694d5f9ba59f3010c066971df5b80f969fe1971449550031ed1348de43ce3bd9fba4d1b93e1f7d1e4e0f79e98466ad37cf0e5ce9fc01b7e08a9a540d458f546bf53fd6f2bc215366cdafb9572600c0b85e9f3bbe0dc287b6630d7fd10114ff692fe2799959f6777daa709fe7b42d70161cfdc86c03a9cc815e51febbce992104020da3f7abb3c800f4c8ad7f7bb56d0c82689a32764a3029210913a1f78ac54c50af92fbd5df563dba505235deabc0a6e6a39c4f8b211747151e3a677eb93026b513f0a121fbcf4b533afa41c13378634536173b1838fb3d436ffab58cedb48bf2562d59554",
+          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25060811220000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 144,
+          "comment" : "indefinite length with truncated element",
+          "msg" : "54657374",
+          "sig" : "70f8af936746d605b1527960344f07f63c2933c32f43cfb0509f4461b897bf09fc7c37e1828b4f63c55b9be11cc9642c2c1b6d44e388857207676e6914aef480ea49645296f5c0c01c63e1269ebc0c27544042ac036af2dbefa2eaea0be474d534e34995871c4efb9ae6f85b0f0c724ec191b3fe46554094a39d785441dda07713e51f6f9af8116689f65296e40ab21919c7f9a67c33be44dda122771c2fa1c5bce89e07dc739f671754a99ca273e256bd2a6c0812b9f3f3e76c2ff7ed972be9836a8a926cc680df79361dc94b948da882021ea1e1f5cb6848b2ddfa285c5daec97606c029c33c1fa312b409794c8e701a414f3cfe987b08f37b635d1c68ec8d",
+          "padding" : "30373080060960864801650304020105000608112200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 145,
+          "comment" : "indefinite length with garbage",
+          "msg" : "54657374",
+          "sig" : "53dea4ade112b2919cac494c1bb1bb9027ed7a70685451c21d3618ae862502bc052ed40a0000471085792a636ab95093b73f4eb4505ce6896fad47a27322a245cceb730dd53365659cb4467308bd001773b20cc7a850f48e78a0100eac31052857ca323dee8ae643241dcc33dbd2ac098aa5a6c87624483d7ff51b1d1d2f2409ab2d1d0aafd29002bff4640f8dd0d24375f7e0d5789bf71035ebab7b6ccd23cd0597103ff93882e58c0a5ae2899bbbac9df615331a9142c0d39a46d57a57c94ceaaddba6beb5ec6027b096ef3f8786d498db1baea9bf8e23996c8ccc17d6bd5b8f4a616ac31b0f5ea1181a092fe3e5b960d309497792eb5046c4ded68a460fc3",
+          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000fe02beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 146,
+          "comment" : "indefinite length with garbage",
+          "msg" : "54657374",
+          "sig" : "97b5788236de2f816fd21cc21cc39b04be38d51c39805d98c59ef4647523a5fba15f08c7a2076fd63b71282ba90d14656c696f312626a17db5d74e0ed8234704238ff0dcb7539a846adb85795d0ecb407457404df35fcc04d41ce92379c08896eef2cd5547158431e71ee1cdeea4e1e42e41abfa6fb13dce3bf2955f8ecda8bc4fc7e413a21988d189794eb5ceecc722203b9154bae7b14c3c6f7e51081d7898eaee4d4cc84665909ebbf31d7c3dfa216e854c305c7ea42e502af50d6045ca3baf89a836c7f11242aef492586d77b4e6d96bbb7f428bd38e583768fa67ce9622a8e0c8d77c6af211eef2e2bc1418141dcb8401f67b8321095d623e00a3d65bde",
+          "padding" : "30373080060960864801650304020105000000fe02beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 147,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "54657374",
+          "sig" : "41ea411be09bb58c61d4ef960c124d68e9c2e594c9e2f460b1fc2259b20678418e2d0a7fb556464c3cbb0df01e1eb304c64a9815c992640679559fa3b2652553072575804fdee685121efdf4b49d8174ad1441c9a563ce0d02ee15e0e418ebe86aa1bc75cbb91bf910f8bd7dc1544319d0c1babfdd331fe6de6b6999c31890421a3803a99679f70b9b628c7ddff98f57cf2d4660feecf3deb76c35862e90a3dde6ad0a7e09d38485cbdc6c0a86e68bd913e09478f2bae177d51650f9dc630775f9b91d81c149a1e1db0367fa321488501493a715a8a70b406bfdec8b1a79843a63d6c5db1dcbcc7244f3576556081432930f152f466495612315479a5c2ab3ba",
+          "padding" : "3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250002beef",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 148,
+          "comment" : "indefinite length with nonempty EOC",
+          "msg" : "54657374",
+          "sig" : "4ad9f71529be0829b7a89c58aec8bd34e251f6df8e50aa5c51c57ed1611d72faf1cb114a8ff12dde0ab838583541a2abb38109f82e248ca8522cf7c4b385153badf5140bf84bccebf88f549aab8ce6fc438dad7ddc87eb2797cb8e7cf3d46e7bce4c853edcb7f0ca2e7dbe94444a3fe45d01818197ddcc20803d91793cfc34f34eb07bdae151fb987f164bb27b5cdb7c6867f2340ef14b900af51c335e68185997174534acced5d97db67835c03ec2bea14c3806810155a1ce916ebd80ec112515baf25f600ceababd9e06069176619b4c1bcfe7f9c151fcad91b018dd9c5ca6536ec999a7387519c42bf71f3b088d915f5150d4b388349b310644a5dc834cf7",
+          "padding" : "30353080060960864801650304020105000002beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 149,
+          "comment" : "prepend empty sequence",
+          "msg" : "54657374",
+          "sig" : "72ae997b4a0bf2841fc14c64a0c44580607eda384aea73eaab998708b2b79b44815ceb2c907ee4c49c1f083574e3476fe1e3dcd2c581596af38ccff0676c2cb24df91535b22e49e8f0723238555c748675e80e4907261b943b167ece76e9d767b64585a1ff6054f09dd5e22dfc7f743d691704698e778b8c031df4464004f2ba03e642654051165c9bb7fc2a1c5ce3054a8579cfbc710bda13b7b2bb2f23e6eb7221fb51ef2404483e914075cc4a9f8eb91f247a600675a9411a6cdc516e5f8b9b4c9900086a3733ef932255235c4e5b4484f49bf9f5937d3d9e1d0ffad627ec0ff0aabe08a0b0197d430abe67929bc6bb1a96b907c34b2498bad0664b1eeda6",
+          "padding" : "30333000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 150,
+          "comment" : "prepend empty sequence",
+          "msg" : "54657374",
+          "sig" : "8d6ac89a1e6e7d09e463eff106d8817d50ac80e101df01329d64f6001c7b713ffb4a96159f4cafa5ffa0cea9bc6b1a25dcf6f01572666382e546c0da556da811b5fac121a200825964cc2e90e8147c846ed3a4cb4b25151e1c832e3fab42d140bcab9f17a247d1ef819db5e6decea280f44cb4db5ff24e56515317847b4849acb6e58c16beed80200b65305270859eef3c5bb2677dc318e5841092c21dde882a02b16071a5c951a7edab12e3df75f4c842bbc48f876eed02a7f3b878e13a213c18fb54bea46fe8e9e397817794ad24033188b1268c7ed4255376f7807f9491c6370a3eff6021861840ebeee2bf7dfc8bff45ec9b04db5099a586d44ca71d8876",
+          "padding" : "3033300f3000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 151,
+          "comment" : "append empty sequence",
+          "msg" : "54657374",
+          "sig" : "a613eb54af4df4410229cfd628f646ef26dfb7d610682d1187e9696d35fe5849cd9ec3d48f0b5b239628a08cebfe9c539c6828995beee9788f6aedfba31dae0c7b32221b4220cf5b0d53acf5d8de4d80cfdbd2366203a68b43a72bdfbfae12b96314fef915d1b6fcc645ca935385d23d66418d47d60fd4c7395afccac61c4a02df3b0edd3152c2e398556785e9c982f8bf55e2417e614ef694c17082e556b4a48ff9e7155021747b952011abb053dc09e487450cc7a8a02b7af672b776ea8561504b8b08e2e219919ba8cc7e24e605cd7ef856cf25f3d3391311415ee67dc369b52d676f425c773d72baf572b3f5829fc76925e3386cb770adaada942dc0a4ef",
+          "padding" : "3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e253000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 152,
+          "comment" : "append empty sequence",
+          "msg" : "54657374",
+          "sig" : "7104a754fb3341262f603e5695d700b35eee82e4ce5b5f82010f7b8d788cbe44230aa11289d739ab6478b7336772fe869eb5e702a6275a7c385b7488cafff3d7d8f6843229674a53bb6be30c84b3bf58c7591c7374fdfdf1f5fe8c948f7d472007e6c327d9f67f44622af44c55592946243275e5cae5f8ea8590d6efad7820a06181e8180cb2b9f5f0480fbb4e7ca32ae5265e019acc39b46d02e77e0f09426a2b211ca4420a970c805e61fde998d39b14a9ecddfc852efc8d52e669aa80405647330e284f87206e97d4db2e5f798f77a83043dcdbe76a9c876bbe7a14528bff82c35418a6fa6d93beda59bebf2ebc050adf7091df4a20b03ccf9cb335875868",
+          "padding" : "3033300f0609608648016503040201050030000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 153,
+          "comment" : "sequence of sequence",
+          "msg" : "54657374",
+          "sig" : "7c26f8b91b43be4d09cf5ee7490a27ce7bedad4575fff6980a07bcef5cf783eeb57aa1863ade6ede8dc95d07c1a3d0841652b357be04556a549fd8234ede8f5e5083a3d4af273e3023f610029a0b3cf85a8a2f276e4f57251e2a6338d2ca0305a685dcb240f36c966dd0da783176313ef7c93ae6d13008099f846438ad2c9dcc0ec9f8c343cb3377d5d14ad23bb25b11c19a5bc460592591697e92ea088160f87c0418b0903bca2c7567dc76da84da000233c391f93b05e9e8f01b78639bf95bb21f74b7fe1c00b64ebace8458d292bef3acdbff89276702c547171d8aebd56dc24f98d832feaea03cd16e977b99382040f2ecc1ac45885c4f07dfbf9fe61d35",
+          "padding" : "30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 154,
+          "comment" : "sequence of sequence",
+          "msg" : "54657374",
+          "sig" : "4a4b7998d9282ad4b458b6b041da104e98f8252b711bd07b7900d4acd3cbc7b1c90cf78eba718c87b9b6ad94fb35566560d6d6be59e801862505e908ef42c934d085ea82fe47de6ae3efbbe1dfcbaf99005ef250ed6fb74c09095a031a30fd33e52a7e7d0b73736f3f7516ee96a08f61e3df85e174650bae50b4dc632698f6e7f1efd2bbf10464153ed4dba71757d2fc1966d3c80e0c555d252d9e9dcdf59534175feb7db6d9d17f30c82678d6ea680876c2ed71447f127dc3c75852dc0fdf0e1c17fd1bc38bcd25501f07a5c0dfcfe295f0be27cfe18a5c596960407623097cdad148e5043433bd4567951ded89d0bdd8528497b8525212b8affbcc976a50f6",
+          "padding" : "3033300f300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 155,
+          "comment" : "truncated sequence",
+          "msg" : "54657374",
+          "sig" : "6fb0241a3961a03138b8473f8bd3ec202979a98f07d325909a2e85a52167fc379ab164c4a03986edba638abf1f8817c1cb89f297387f2d5938e707aaa53eee6bbd6a9a7fe8b70a31373e675f443c902dc1d0dfcdfe4b3ea83cd575bffb04071220f1094b9a3e7cd04fabd70c0b8761231abebd3f4eda11f74f83d77a1a44e28432d05da33998419e5cafba0e81960963209379a51fa9c5c27649ec89f8a528ef0a885f055edf3f66ab1d4baf07a405b87678ed6d170ab890ded0e8ee90ca1ec0e9f6e5ac247e01009d6eb7101da6eded84339ca191bd6194e3b6bd8b094da788c1ae068d8ce7322fc7e22189e6cea7655b1ae690da05a0aae46466800ddd6f26",
+          "padding" : "300f300d06096086480165030402010500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 156,
+          "comment" : "repeat element in sequence",
+          "msg" : "54657374",
+          "sig" : "9300a86600b600330a19b750ceedca9da6c96a99bbf65ab7dda6a5924d22a5fc9a2162e3375172fb38f62aa52a9fec71af1007ebdc5ce29b02163d9c55ead2141959eaea28f13c482be046d676770e02b71268d54d52839ddd929117e4857c9a6a17f92915d0acfef9bca2c40819ef58130eec1bd60359bb8f47ce67f0663086caf2281136b6076b20310203a9ac1b293c511a53e10ff880ffcb7184be60fad58586bc9a11fb51d7dcff71b401e42c1c7e92cacae3c50b62dfbea390c285c5feea91c288fb845401417fb01a09b3b6f0a1621df5c172632d40fb2936a7c2b62e989b848a06c098e69a333759d9ba2d270853f65daee1f7a81bdaf64af2347517",
+          "padding" : "3053300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 157,
+          "comment" : "removing oid",
+          "msg" : "54657374",
+          "sig" : "1d35c1575269b1ca4e071f2fa19ae31388f4cfbc7875449b2027984d2b363bb2c77c80819725e03ce9f3db97cf939b07895c55b93cfbb204a3b036dcb69470e9e99a5584195ac3dd24214758a82f354338e50c69f3a5de6cc0920b845550fcf104b397ab4b4add6659efd34f64b9b673e73662ef5fced6e7737147e41b48e36410eece6db65f5803b16d33c25cde6bcaeda8930e7635656d9174d179c74f5df33b08d5b90e866624180f0a03fc6a94a8c40731658a5d90a071c6f77e460c6ae1e6d6350869db442219bf3730cdf3e74ee102d6579fab4892e8e410f06bd4cc19d776c47ffe667071fa437c80452950df7e12d909e0d2f7494a8500e1bba86435",
+          "padding" : "3026300205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 158,
+          "comment" : "lonely oid tag",
+          "msg" : "54657374",
+          "sig" : "5cf9db664d1baa241293db08ee7c8d4cb7cfd374d9c4e0a4fe3c81fee279be9f0452e6545a01ad3adace3d0843ccc26826d446c9bbcde6dfce30fcdcdfcae415b6771cce7f1d7505c07969a8abafb200828aff641d0c07cdc4a9621c6d0ac607f950ee0652c138b4b48f724a632c8345b2919abc24fce3d815f82b99026f258a6d2cae1fb767a3d20591aab866640b4fe821e010e19db0d696a513db246ba42603b302c64f17c0296414dbc14a41726254d333f1dfcf29f55fe22a576eb6bdc65c7d0204d22001e858abb48069f65f7c1d8e8e84365429c01c048d4319765de14c48e68a4f7c898598597677b294d71fa2b5278a0a9eb52bb627c118a5bf2163",
+          "padding" : "302730030605000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 159,
+          "comment" : "appending 0's to oid",
+          "msg" : "54657374",
+          "sig" : "a15fd53bf93274aba318e4f37dfabd414a47c27631f0c779bc8cc1223621730380817ccf1147a18b778481c64c48edad0815988e6942199d0b0599a1e33636f7e83e6addd65d87e53d734357b5d2111231cafd3a4e40845073ae50d4506f37d671b184246ce15a77f36f554607f016e7f7806e5099cb2a69ab4127c893f28cd8fb8989863e787151cdbdfc9e0be0b3235b1057a39e656ea482aae6d7c3aa08bd06fd38bc0f9b21240233624ba5c767b5f3f48c7fe365ea1552c5a9e64934869974ed2555ae81f9d5cd20f48579f238de1e150fdac4b321a05938638b81f0b7292a61e12528b077949f7ab3e6f8e1f78be81da0602fb30b47f569f7290cef3366",
+          "padding" : "3033300f060b608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 160,
+          "comment" : "prepending 0's to oid",
+          "msg" : "54657374",
+          "sig" : "8db939e248a2140b770acfdbe16ea6153d968ef51c56b024dd1ec56cd600ad79172a14f6253d0a9bdffe9ad10b6ebf57eab8528474fa96a06c9284e5fe08c48dad5520730cd182dcf1bac660ce3411c7cb68686b3b91c5a55b8627130f0e31cf340298117b3a0b358a42e9deaba700f8d2dbc934236cf81c0c4d15017602e82545e1eaf9d31e4e8ee51d35054f3b05b7a7cd121854a0661ca19706ae95cdb0582cde723e389d58579d02c679f8d287a2d0ea51f442df0641682458ac6590b3df77230273eb779ae4b827c09075c7163b993eae72ec0596c2adafc8e20201e21eda1f4a13c27dd9ca7b3bdae47707b362912979357aa587ea2d86c9c2c2587ac7",
+          "padding" : "3033300f060b000060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 161,
+          "comment" : "appending unused 0's to oid",
+          "msg" : "54657374",
+          "sig" : "0c985f857ac4219bbf98f767f42c7e0ba886889a0a7612a3e7d7c8bad581250aa7ec8a71567490d0c509a6b927b8ad714107e7248ecd5f1ead25828707072c87913e7cb765fce62d175c4335d09d764bc5322648e53a73eea7f55371a9a73a5283500e0d1bea254d217fcccf917d5e0f28b987e9a16d11361dde37d699edc524714122333d897279eefd79274c095c2d6c9683673318e7f3536296c6be23837d69e7222683004d7e52b017e61a27c5ff3c8bd4ccd8622a52de0d24baaff3c43116e4f043ab30cf8549dcccab4905f458ab7761792e7655c6a66eba7668e4b731c62ecfabefbc31a1cc8b3e8f1a69cdf9c8f7825ef266d9c7e34710f6af936670",
+          "padding" : "3033300f0609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 162,
+          "comment" : "appending null value to oid",
+          "msg" : "54657374",
+          "sig" : "9957846928b38e0fb520a2786df5307373a096bdee5c5605500791321564ab48283a682cac388bebab9212a6429f9e03519f4f830719df9b313d62f2c46b78eb936b3ad13f3e6ce3429181678359ef6392e68bab0aaaf925721c6f991d989fe1a6edac5be9faad908b0ffb9b0b0b5e32cb6080bc9007a5da47fee8e343803bcccd4352f284df0e418bf6c8317b6ffcd7b4d9e82a911d654f0344b28f39f55ba9f1955d7976ca153059d5de7bad54e21d49bcddf8051a53e4ae496759504eda1ea3ca3bca7f6d47821440850bf44b2ac43d4afc1620b150b77f288af03b41c4d32977f726a91c80cb5c37177bddcd5fc5e206c4284537d8eb740f3285ef1a62de",
+          "padding" : "3033300f060b608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 163,
+          "comment" : "truncated length of oid",
+          "msg" : "54657374",
+          "sig" : "2d99760b2853ce20a37f51045006ed11d83b250d54da4122e200179a564a296292479116406d69b858cf15b8575bfe9df9832e484ca8fe4f0a24bf62aa350194ed642c68bb074e70790d7e18209b23dbdef6756f037a3391e6bf841f7b6dc763547565fee7e9416e62504df61cbc00cc2ba5907261e4e39bf9337e7a15594732f08ce136f37752a585e286c001424351f30a9bd585e3c2e2d99a6c91f3ff3081194b24f6bed3864b36b14d1ff3a05b584e06a994df9dceda839ac788d08d608009681db0aa23931d8f4a3aa1b1f93b6851a7899723e858eedeae4d25394bb7954bdffb975a3a1e4d46339a0e25f8e85958b006cc5f0d5b60c9fad1a829e81342",
+          "padding" : "30283004068105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 164,
+          "comment" : "Replacing oid with NULL",
+          "msg" : "54657374",
+          "sig" : "3e0270e701eebc757862ec646322ab99511bd27d1351bbc3ab0584e218dbed9952a9074ebb7c5fb8f846a0f5d90dc1040e2c45914c86ae0b722f1fb95f7621b986136d7656a2a4300df494c0235166e51e3c9e9fb98bfb4604d4838adecd5c55300332ae0e141eebb328524f1fd95adfcb9ff7fabd203e89775f94a2e84ecc5efc0d9626920ca8a13154dd0e97f2527d6d518e6d460299cca0db870b0834d5b99e464760c390768e97c091708887244833117afa89baea5c1641b88d45bb9d711bdbd559af73bbc8eb91ef377a0140cd639fb7e8024dd3c48ddad6e37e31ed0a3fbc47a6c28b5fa3df0f38a912a4fa2895c2e25f0cab70bc5e660f725fe22da2",
+          "padding" : "30283004050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 165,
+          "comment" : "changing tag value of oid",
+          "msg" : "54657374",
+          "sig" : "a781bb3225276cce1858b9f9316f6dc40abdabda8119931faddc5a871b5ae9c7c68fb1151d9cf477a66e4a13a6c3f114087bbbf219beb524e308a91fa88411d450053605f9f00bf28a146c10b825ac3205174ec57675035c8cc2c9f411fa1df596d1e33a7da0afce271c6b456c665c430cb619c971d60754afcbab103ca02aae079b3803492109ce37c800051ead6d47a4e0c30b8cc147c66d5eac20399249af4082e70c7d5556d2b0d46508e2e1fb805b6ded365c2f0d20f33315a8d49f62896ade6e0ac9187e186a73e5146cf8da9821c2e5fc5ad4ff0b28347322c09da2dbb196120762093ce33fdb53d8a9579c13fef218a62a834d5fabf53e1ca8a751b6",
+          "padding" : "3031300d040960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 166,
+          "comment" : "changing tag value of oid",
+          "msg" : "54657374",
+          "sig" : "5032da548bf0168a4b3b3f99c144e3e13ce14b7d539e397f37847ffa8db34a0dfc0d73d30e6e3f2a23f0ac92bc5643af1adaddf9dea73c688ea98364c1e610835b62f1ea602589fd44a8a2cc73b00cebc75c212228b508634137c1eed7a942c18bc6ed4bd0ffd39961f54bd4455155c08a304c2e05d78950e42e92275b2f02df29ec2b2523bf97511a0ea3126c1012ce9683e175a45f7ee24a721707b7b7534ba8441633faf9953cf120dd6a13c8d88cce5e0b374ad2a3366f1e96f823128bfe6b830345e94d611e1d923620a57db4ae51e5d17b5d8a0eb4acea8377cac9b35553b7464e40190f40cfabef9bfd393d0f87e6e5bb08775d9d4768e8f2f0cc4a24",
+          "padding" : "3031300d050960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 167,
+          "comment" : "changing tag value of oid",
+          "msg" : "54657374",
+          "sig" : "489a6107f0052ef49f97222aa666c8025f2a30eb4bda5f47c888d256dc742094b2b03aea0b087d3f27e6df02fda958780626512441910fb83a7e4412a3aaac388933798922f6a4dbd48b851680d1f3f84e39fd30716921f99b87945001d26955ad33ff1047b5771869a6f1519906e461a7a50d8fd08d67a9f9fc272699e7cbc30a12aa8601fbab4884878a371b3c1b00054e9e585df1e2a084ff3f6a3be5f3e32cc6295939c1cdcd9b3aba7e58ec73dedf0caf5d3f5618c6909435823140b29635ccc13f658f1339fb2a3b21e1919be181c15edaf1cb6feb142464e6eb4dd18b9633f55fcf370b6c0643d6710b875df63a6220ce340a97987e577aad0fab4eeb",
+          "padding" : "3031300d070960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 168,
+          "comment" : "changing tag value of oid",
+          "msg" : "54657374",
+          "sig" : "41858f3edb8f7fde81575c399fd90c01162e6017d0c03b5c68167fcb668790d054b40d4d2438daa0411034ddbea901ab1924248185dfee64d5944486530fb407cf967d171110ba8acf00d1dfcc6c7a330f5f828fea17a9168e083f8e118857d29baa32351dd284a2efa0672ccc3d0e917818663cdda0e5dac638ae150c308b8737a50cc9f17a595800ae925930319cfbff91c02535d3d35d3256591094a38b3dd10af4f51c2eaee0f8bce27aff7819e22a2191019e419f4e45fba1272d104e0c278654ff6a21b9506ea4317832e7767f46d97c64e0041c767ac1ef88f3ded74fca09bcba82b519fa7716a9f7c4a2b78931f6805b4f914f6e6bd0a3adbde2a88f",
+          "padding" : "3031300d080960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 169,
+          "comment" : "changing tag value of oid",
+          "msg" : "54657374",
+          "sig" : "b1771079fca7ad8ba3698a9cdf7bb5309d55ec40500fc83424f1469c9fb77ed08082b5ad1e66890b51465763d1deeadecfaf9c8efaabadae7f7fec17589271ac920cfd1cb32135fca21ead942ba15f09a38414a796f67a5cb29f877caa6ff8e1c71755fedc58485dd9d4d62455c7a8b2ca2d1906e8045e60f681c39a0a162dfd63a9fdab5954352515a926324dfe252aa1a1e576b4dab1588b08344aa40f406f6352317055a8feb9292b9611c90d417b0bd42fa7e4a4b82c63885423283ae4b2467fba84c34c391339a5a3154d70d9543401cd260e9db236b1f96e705fd9704fe557a53397ff99d74d9d97847247e15ed410aecc0f74bd7bdebded30e34d3412",
+          "padding" : "3031300dff0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 170,
+          "comment" : "dropping value of oid",
+          "msg" : "54657374",
+          "sig" : "9464a738ad70b16f8621a806e95d4d2cb1866383dd6c0d61ee85bda1ac8b56c3833373257daff4d360b1c366c10938929a8ca0819ff929311346501c67aac447500b2fe5b812d7cbf93db5e5631cbff3c498461fb446eb0f25c881043b2339b13c373012d7546b9b194d45b9aff2283d7074f6119420bb6442af9116236b91ef37f5abca8aa9eab2b0ebd44d3bd302ab51a67e1d9433dedeb1bca87edce75d02ef149dc5784e1772c9ce846c17e4f7ccebbc908c46cd062e0e4bca76a033125a407919f7862a6ecef7f6bdc279fe65ab938be35858c98956c95c396b15d2a17c1c2ac996b5bf0fc345321fff7dfc44fa4b0b858db0f556de1d477a85a19f1856",
+          "padding" : "30283004060005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 171,
+          "comment" : "using composition foroid",
+          "msg" : "54657374",
+          "sig" : "06d0a8d9247e6e39a8e09e7f8db128c23225d88e831068cb3187a6cf657d709710c129f688c3b1560448986e1f9e83a56e9053e7e7ec86f61c597d3713ba8326f7ac0098fb51a49ee64e306c249a09533f464a59f2e5ebb3fc85da8be6a60ad076e8091774cdce2742d5f9112d8089fa8e3071283e2bb7b6869f3c44d6dd9803ce6e467bcc8122d1e96832d05033f7ccdbd6bbd0666bbcf41ee1aa077454d0e136b725e7fe0057b2e5bca0d9a645cb50a67ea0b98e7c0c60a91c5b5098638a3027bba417ddf5ef968ab5d1695fe3c2b1fcc664624a783cb5ed2c6261e0627a26f351d8d2eb055098a2b8540791c2e763ef27086b1f7cee54837514790defed29",
+          "padding" : "30353011260d0601600608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 172,
+          "comment" : "modify first byte of oid",
+          "msg" : "54657374",
+          "sig" : "b06563b316ee2d9a41adc5a99748b373538f15a44c3c9227e46ec05f99bcb14f4316110b1d1a82709dfa57e6a81dff1f3f692d27a96ca51f44e7b9fac9d2d87eebadab0a2d4b8d90427af8797ec5819dd451787ea741023f2e208ebe8542dd95f4b24cd86937bba642ce66851a782588fb2bb9e2d8fc9cbcd20b79f758537799740fde8e1a8ac4888abc363feb341758160f0d21498eb754e5189fc556448621a4dc095a47ba5b2759315beb9430ccab5deaee086cc87ade1cb243a8f4d9c63bc80f200dfdbfba9624e6084046e05dbbbb836ef5e4b0a06a8a26578faf21eb155cf0adca6b72817dac6c3c992a80c708137422b015196169bed668cbe78a9792",
+          "padding" : "3031300d060962864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 173,
+          "comment" : "modify last byte of oid",
+          "msg" : "54657374",
+          "sig" : "8848be6a99395116fcb45143dabbf7f8a95b800c269af5a986430190d9834502a37839afb083b66a96713159ec17e66cdee5e4110d0f9c9c17697f38af177b93b17c0fead88ff2dc53a0b5c502f96c4f3d402c623dd81408b06426bf6ff7d602ccc8eb21db91c6c0d614d108703ed32026de99e1a5c411edd7c6a66976faa57cf022a34111d791f0e469080c7eeb84999e0e9040def04df707fcc937095993f1a8bfa889c45127feb9de274bbf08a805d32f4830b4c5078b65a9340bcb9b74b9368c02af63d2b3481da5f57eda94ac2e5255d3b72bd1a19e45edcab46a119736d7e2508111a0838d1e6fd5bba4eb67ef697976f3cce044d29c6d8d76c2d92e1d",
+          "padding" : "3031300d060960864801650304028105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 174,
+          "comment" : "truncate oid",
+          "msg" : "54657374",
+          "sig" : "0baac664f223ae40e336ad610b804b5997397b46a4a2905de1287481aa43a5bf059271b6a3ec648faec7345823aacf1bcbf09189b9dd349bfdaa979df8fa78fb199fb7c69fe824f83f83d566ff49e2ea28c704de66f187e3a42e90663423bdd0c8b67dad4e92cbba14a1ccc1810a43d116347ee7ec21ff9a8324a4c110e661092426769a443627ddaf25ea4d144427993a2e82e0b15f20936dfc2405da8ab5a6232b9552f175331e220337f22008033910dde7bdfe87b2f7f3b4847e665da5e03dbdb866b05d92c5ba490bf5a75903aaff4f657bf734d284081f52d81e6bfb040dfd6811bae2b73831ca3709b6044134200c700f2946f234f946a69886be2bb3",
+          "padding" : "3030300c0608608648016503040205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 175,
+          "comment" : "truncate oid",
+          "msg" : "54657374",
+          "sig" : "2394109f99286c6d9cf82b46d1015a086f826e3725998819ef5e1d99e504df76a7dca903360567cc58d6bc327e90d7555d646f42f7c452777071b3e6be8ef1a97c0b33fa50709806d83fb3b8acf656067050708ee080af5a85aa2ca3f871324759d06d9a019b8314c66c15cb0c314d807026515d46e2163a19e89a7808af30a71acea51f92dc5e39d237eabdcfd46abe7cb8af5a47bd352cd5b1d0dda6fbc6fa5dd19b3051ad13ebe75462080bb3b7f23b013085e6f6010819494b5b303c279c2cafd1595831daa558624ef42a46a4621b6374cdb2113ec5d8e8a3661e19814b60b5394d9305c7d02073a7d930ba9bd912cf72efac5feabb8e69f34b74ef7775",
+          "padding" : "3030300c0608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 176,
+          "comment" : "wrong oid",
+          "msg" : "54657374",
+          "sig" : "3d0632482138f5b9525dc60a459624d40d8c0187264cf1e076d7490295c59aedb5cf68fdf0d7668a94d3d585cee39ca6a05c0a2817b2f5ddb0ab52385dac4e1845378a113d43b936739b21335261aa4b96727ba086c75f88f600b4375d7cf796e62bbcd8d8d59f18fad4972c3638367de39d36f3e1ec4672fbac6e33246263feb65f2a014163ff1329fa3b7a97ac1b07d71059d23f631ed4798b05dae25204c0e4b29101e2828b972c63d11de274781e8882ec8ac5e1f5284dad188de1bf62ad234d56ade827eaf9c7378447da3791e4b49fd2559f8e37002171152d530da5b13342e3a9c7f45552c9208e83205271a767ff3862b5090db5971fc0cc8ee08a17",
+          "padding" : "3032300e060a3262306530333032316105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 177,
+          "comment" : "wrong oid",
+          "msg" : "54657374",
+          "sig" : "3ae4a98262c515ec4610a836597409747dc21f91ec5380cd949925205cfe42026f6603b73c1d38ca6580a67b7ee11c4bd85bd2b610c7fd2809bc63b23b98b151c0c9298793fb5e13dae893713adc8761d6e98389d918853dd2b7799e32eb3bf9d97f1805bb0d59efa7978f5bb7d3432797c851c4cf4fe6a3c54cadafdc770ccc012c0e80750e339007747a7711b0f2229fcdf3c53b48cabbdd61ae6de1bb7a50b03052ceb1cfab6e80931fcb5d8faa4b37ee3f7875298d64b7f55cc766a11ada020a6a198f92c2077418b0eccb4f432e35b31952a53213b0f3dace6349c6d96d3061d9168635864ca3b95b480a179cf90d1bdb318147813b9cc4d61caf80b963",
+          "padding" : "303a3016061236303836343830313635303330343032303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 178,
+          "comment" : "longer oid",
+          "msg" : "54657374",
+          "sig" : "4a5ca8f9c21990190bcd35e09815b509521a9c421f2eed985c90bc6e5177d6bd452f89f3f035911d23b01de756b4a65cdf8170e5f809cc0d2973bba249e6bd495e334aef2bc8951d46b55dd669a360a9cf1601f088049ea40ee30bd37eb513d0e06c6b01840bb3220d2d427670faeffdbf5e69c4647abeb29e7dfe6fdcbe78794685fd538df7dc32f08307a5460523578011e05db78a3468cd022b1b164dace85bf2b0dd26c1947a98f519efd8dc86cd8308abedec30ec2a25c293b7fa9bdb0430c99717e6cde1249fbe44252299257a3e4a51dba86961707b3f62281da804929698cf04e471b9fc0cf36b7472c66e74f3632a74c8b1d70e0f4492671a38b9c0",
+          "padding" : "303c30180614363038363438303136353033303430323031303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 179,
+          "comment" : "oid with modified node",
+          "msg" : "54657374",
+          "sig" : "5a75946d283b9a97c0a8f3329869bcb0bf69944e594935238b02ed32586f0f4485fe5c2fb3d7aa03843d8b34468e8d268d1a089362e96b0fb2ed670fa7d971abb3e34172262406269d94149603d7a728d32161e1cb3b77d932e6857047836e2d13f9e51b6938c14f450aa30868cb966eba324e72026562fd0a90d2709796ea089a5ed72703ca1a86606f299ab1b150166b4fcbfbaa97ea2102608a67bf9a282adb96dc1880a93020ba83d03d5388851e35c43b505fe563b087606bf6502e0e7d046d960d0e3881ab5a1b76a23df3b0816e314bbc66f216a76bf123e2631affd3bce91160a39dd39523cf06f9f62fa6f22cf39aaf5efe7fb38742291cc1bc732b",
+          "padding" : "303a3016061236303836343830313635303330343032313105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 180,
+          "comment" : "oid with modified node",
+          "msg" : "54657374",
+          "sig" : "7d93fbf46c22edd6296dee68a2e0ba67ea48c05e2cfdb5c08f5a6d2651e8c8fb40ef9056194a8e7e2d04274e93a5c166b1bbafc90aff1ce5b753169329a98a29f7a6ae12a55fc5f06cd11dab0d3fde97393b6d6606145075e16e6c1afdd826814e2a185fa88fa5798a185a78deed1c5ec8e5d5f02fb9e0c2e27d2fc809a615bd3e0c665a750d52227cfcb23732ebe646c1f16ec295bd6806e9e68cb34292413c7d41adaca17ffed4439f2bc50570a2de3e95be3cd20eaee46d5f93fe933961ddbf57a92958e2c7386e1547ed00ac9da5b3a5a263c68c145144dd653d80ecc4af81aae1f5f7052d24dab5ed098e2e42aadca0f4e23d34b77225d01ad0a3d466a3",
+          "padding" : "3042301e061a363038363438303136353033303430323838383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 181,
+          "comment" : "large integer in oid",
+          "msg" : "54657374",
+          "sig" : "1a7f1394c001ca2901a0ac44d334cf48e7254f1ea5acf2833cf9f9e409a0194f6d196f915e885b1b15458f42089f44f2e26b9c6ece6f770947519485c8dcc31b4ab910ee6b83b8f906685e38b23c9e250495d5b754f6ca845d1860d5a4f6906c50d05f09dac23956ac2684909017454901681b50c3a55a990643e7df7b940ef27b901755b14730e5f534789127be7c15e0fc68d7f043ced9d515d3ba592f62c59272db977b31b509ba6f738a7b8484c3eb8878f178b18c56675dc349e72c5a29bea0ed00aa2705d3699ccd90cc285f430212693a04e02b510607681e70f1f9aa206120d085964278e6c108b5699d73c2d56273021107b7b9d71a339d466911b2",
+          "padding" : "304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 182,
+          "comment" : "oid with invalid node",
+          "msg" : "54657374",
+          "sig" : "5848e40bd96dfab48d5885e90ea3eb2e89209577cc36cead08328313a65b75436e88d4a8aa5be55667544ae77193e0813ecb6469b8d6bd028e3b5a3821bad3816921c6ad27271812ac6bef72292debbfd64f123d7799fd36e4d27ce557df21e06cee4a5198eb22d70e0ab86f4490a382a790ce341a50a006573f5be9c1c067b42d9998e867fb1c03ff54ca1d3688e887ef2b445ca69c0d79053b9de5580dab688eee42e65f1aaaf89cc2003e9402f7afc21350c912c70a7585ec76bd6fb302a9d5d211723c123a4cd64cb7fca0cb877b235c0fb362cd092760581e065ebee1a18e0109f22cf6b7bc7ef728c092f871dca0d21fe54e2778b836869ffcc804cc98",
+          "padding" : "303d3019061536303836343830313635303330343032303165303305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 183,
+          "comment" : "oid with invalid node",
+          "msg" : "54657374",
+          "sig" : "a38dcc4e8070333703ce26a8b1eaa28d242bd5ff4854fad67959caae66db5e6654aaabf81eaf31441b8c5e7419a3ea5b04efdea91fd1910b5e5c6f02ff77b7cf42b2efc55b03407363069b8dd031c56d6d0ac54838760d7ecf9f3dc03828b27a73b827f394700558f160c196503855c255332efea838098e637cd1c7eea9e687fc552b5422a62f6c6b49fb16ad56509dca5a9148ed9883f1d76453f8d607d9fdb7589f4b07eecdecca950e58ccfb9e7784db9592b6406691a413caef5e994ca06f21fe61f0986644be041878429d721e403ba6ad8dd8629eb78cf4fcac5cc42ec03d51ab64c051cba22b5cd4b160aaef28646b5776a19605cbed694e0d6310c5",
+          "padding" : "3032300e060a6080864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 184,
+          "comment" : "appending 0's to null",
+          "msg" : "54657374",
+          "sig" : "202c2fa04697b4c4f5b9889e67c90e597c403fc7b97bf43f3b7fd9bf648bc13db56f02aa517cc5b8b79ff90529528304c877a081a634de4007cafd341cdc19152f5d117a422b5e2df3f4368f0aeaeba2e242823422e3a3e896474edbc636b491baf44e032d5f671f45f599761530b18efa0300d56f0f141b22f0ba9a8187dc771b1575ddac950948cbc7d043c1686e4ae22d093ce4650a99d88752a2748285e935d46ea3a69e84338e1afd57fadc2fabc1dded35706759af7ff32b9f75664f50ffe23700dc46eadece6c5ce271208326f9342e7a63c852463a156edfca011df3a1889ce94fe8be66b125c80540de3aade0dc8bc1baa3f33a892cdd6099560562",
+          "padding" : "3033300f0609608648016503040201050200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 185,
+          "comment" : "appending null value to null",
+          "msg" : "54657374",
+          "sig" : "49a336a5a98444fb1617e4dbbec502ca47a888aa84ca700c5909da12a4ae44f8831d2e42fe711c5909533885837ef60be1f37acc7a9a2023d63f0f5252473568aca337f672983058c35df36c4880b17ad15b5e2c1b289ca30e9af9566b5844a30685d59430f4f399188a22fbdd9a892415a7c169cedb52ff274b5eeb25a0f1f33e327a077a98342ace7227710a3db891f579315cf772dfaa142612f5bdb612fc31d940cbe338e6fbdee76ee31fb6471215f176d2f3c884bdb5f55444adf0fa6ad4015b25f494fbdb5a2bd7622b2b9f77b84c7e37e5df8ee553db37cd07e1f0c8003184e3f6404efe27341f41ee9c44f5acb09606ea686fd79108c9d6970ff80a",
+          "padding" : "3033300f0609608648016503040201050205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 186,
+          "comment" : "truncated length of null",
+          "msg" : "54657374",
+          "sig" : "ae3857a0e8604a5e8bf4e70aa110a9973da8d78853525b265e9189e7a495ddd200c9773c2b733a50f2e748224966ea27c2b87d9d15355a9b65ad02cd04539cf92f257030ba50e63269c5586a6103ca8abbc3c30fa9d232737d42af86a598ce4c8c591c70c3af322a29397a17c7dea43fb7354f8bad1c14e63b9e84909dec485e17e4331921d091bfe604d5aaf14b014ccec2ef23ba477cd8cda620d1c44f5d9c2e67f96f0a9920ea866cba0661f75a687e4d08e731a6e7bc52a79e08210bb03a33ff72e2b791c3baaf760dab4abe08c8d2f6775b03a3e7024cad124b5bc77312777bf24633683cfd033b459ca0115503a886c76e0af975f93a553616f3636154",
+          "padding" : "3031300d060960864801650304020105810420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 187,
+          "comment" : "changing tag value of null",
+          "msg" : "54657374",
+          "sig" : "b9965f3c8202794e341e140f1801c29966c67c758f01caf07c0433821f803f6f3bc932043a5c42d0d1a90c9687908c428c3bdce32b2756652862c647c4884af0ee00d55bddb5a56fb9c06ba0e29a3c4b61febe6eb09df43c607f8138d7d0ad2fd49398e69d6baf9764cae101a6933c430a9b45f981769257fe3e342f8835ae8a1129787069dc008dd40eb039cb0e8e1ce0965a98959b7e69001437567d0f336666cb6c8e5826b12bd5f195a18833428dbbcb1733642d129be808159eee346dae44e3f5468859c34af260d2bae45b92e04ec1b5ddaf950b774333c4b433c797ae1ad53f4d5d4508805d663920c2d9b78517dade0d3eb6fc17bfe08d0b2e314c97",
+          "padding" : "3031300d060960864801650304020103000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 188,
+          "comment" : "changing tag value of null",
+          "msg" : "54657374",
+          "sig" : "4421d6cdcacef33e31663941531d1253765b01cecc92c741fd5a4c254f088b0d95a478f2ac913f408862b107f82c09c11867e3f27e34a0c1ea72010224c199a942383f4f6205884751091c9f4b190fceb7eff09110fa0a1546a857b091b930326a1f774a0185332a57185df89196ad4f56a0f8394fd6a49a635ebde48bc8ff23c925f846100ada2c3bd40f7d1a92fc31c1327af4d40933de0ab0c4a94d0d47c4d53e956716ec96cffdf0669e81bfe9552df8dd72a687f670896d7279b4ea5c9bfc26e93cbe50449776ce78753738cc9de7ab7aa02130efda3599ca0377346ab3b71bc31d56a8eab581ed70967e9e05463e19ff372130c5a1d9c2217f0f5a3f58",
+          "padding" : "3031300d060960864801650304020104000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 189,
+          "comment" : "changing tag value of null",
+          "msg" : "54657374",
+          "sig" : "a71e400721490c8e2baae3b0c49e3c3af9bfb341db3626cb22d2137c5989081402e440cc7e0445a447e5371920a9637ea696a482c0ecbd8eb93a16ab1ba991359e5bea0f6ce0c0ecf927bf8dbb543e307dc17840a0ecc17eeb23caae349e1f12f95abe10fb85695da43e8688855bbbfa842b4a73543fa61ea8076ca3a63505430e7723b39f4859e1cee10e558f2e54a671ee2f040f1eac7d5464bb8482dae2690bed114a6e56f4816e7413ad6ad05cc803446f65c5bdb596a6eb63491709789ddefdb51d461abc777a6a0306dd8a83a6a7792c42559fbf426fa881e55d45a4d346b302efba670443570bda58b9963abec39e6e49d2a17ce572c16446564ae339",
+          "padding" : "3031300d060960864801650304020106000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 190,
+          "comment" : "changing tag value of null",
+          "msg" : "54657374",
+          "sig" : "0bfda5d7880717ef40cce0a8437efa8404ac1ead0472a7d4cf54934f8f3432db4db9ed4c8d98cb606229902b383112dfd4fbef54a28e7cac91338b1f591e2de4addc08943596058132b3a75442f44ad4d18b663b1c1be67c00aaab52e92d87759dbd89b386666dbb4b67429267d25c1ec12ce5cf03e4438dedcdd591c442459eeb86d6e74a937bd7c470ef90dcf8cfd497911413c4a817e7dbf826858807059f8426710ac582ca9d7c657d22a07289fc6c1bb37bcbe27ac755dfc50a54232c16eadf3b1694827ce435aca9061d21699029edbcbe05524d6bb35a866c78122f06f45b8a3615ff38c9bad24b9127287e5c46b73b7435a7bec837c4336f61e9fd01",
+          "padding" : "3031300d060960864801650304020107000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 191,
+          "comment" : "changing tag value of null",
+          "msg" : "54657374",
+          "sig" : "05f2928db82cd2f734f233d59897fe873f57714e5f5abf5132b33d924038a9d0616b62aa25b9353e69dfa17528945043da1d38c96bb6161a34c2529bb32d83fad6b65c0d186105afd1f27f92626860ecf18c7c865a02c3bc16a89c38fa9449d6e23cd389b6083e245b894c52507d07adc123c131998e8dd768b72c08a94bb709ba773d0216c9ffaeff15755ce005b8dfb03d1edbe75780cf3c493767d00b679facf4b188394e3218118d39bac152516dc36c4cc5f88ea9066bf3252670a5714fd5021688ac6b94491012666f0a41463ab265ed62939320a7e3c91298c82ab31f84a3afc62fef61ccb03c011c0317a93728b896f6f8da1ff4e6a04df5cdc14097",
+          "padding" : "3031300d0609608648016503040201ff000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 192,
+          "comment" : "composed null",
+          "msg" : "54657374",
+          "sig" : "1b02fa06a93da1fe5b74c877eba5629fa9469b01e9919016717eb8cd627f05fcbedcbe2fee00cbf2c954fa7f9d6f001312026b96209fe551b736a4c25e9203be7a706ffde8df35dc7db4add2ae9aa3ce76bc055b5fcdb057139d521fd94a241b2571fd8b73d7e07502819291b226f560b01c0aee7210bca486f623b3f7f84b098bc7bfe9a1a46ff2b6d114373ef988cbcf8d87b3eb7b8374b13b85650b9b894183e589d1ae1646c144a3e6054f7387c548632870f14842683830ba1ab80789e3f8b3e65cf86684ef73cef5dada6a93b6dde8b836ffbb79703b39c3e7179055ebe2071d19a49a8b85af694d9d3cdc0a054073a579e054c76c74d851cc08a95a2c",
+          "padding" : "3037301306096086480165030402012580aa00bb0000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 193,
+          "comment" : "lonely digest tag",
+          "msg" : "54657374",
+          "sig" : "abddf6c8fceec1026b0fe6799db56b01e0b2eb066f9e5d0821f6a954462b71e1d22ea111f1b69bb86c1e4e77b6cf035573b9f6e0894ca4bc0990f9986ca209ee41bae1a48a764c5c464ca4e5de36c8fbc47dd8865775f9771ad6c6bb82f6b2802bd045c1f2d4a1845798b7dc16ff37866c90a613f1d019e53602fe2c99ec4650360ab69eccefaef07f9156f58a1f5f65fa00bcc2a544feceb70adc74e6710ea01e9ef4829a8165d7ce24647e6a8770eb8247bfa87de15ac560b6dcddcd112c24bf9c694090060bd9f0b5e50a59ff65c135f0bcc527c8793f4c84769b7461e9e2d755f99aa13b4c938f8fb7816e9d9f7f91159779b9d7749489b549aa263d8d92",
+          "padding" : "3010300d0609608648016503040201050004",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 194,
+          "comment" : "appending 0's to digest",
+          "msg" : "54657374",
+          "sig" : "35446aacce869a91a157aefc5e3d4660a7de0272debbee1ff6253f74e38e8d54637cbba4412c0c211589a477eefd3dd0106cd878c46870cebba6e053a990f3341647736b00b5691d6b83dccb6684ee35063e2da6a6b1e8daeb5739d96291522d7c9fa54aa7d9208b1d73828c9a0f657ff39ebd09c709a8913b04a83c7b610fba815c222db8a2f00b089768cb4ae9ef93441c1463a43a6a691b407b4c1266e0ad4e146b0f8d06ccff215d48b513528f7cdb53a3be1be8031a48d092751e195b09a65b26d63795020c2a887eb4af5f002944b878962cf87a08c676946290164c667a3817fd8ad48e508d4a1e4811ff85b5844ce0af7937eb48fb99e8cf7e154c4e",
+          "padding" : "3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 195,
+          "comment" : "prepending 0's to digest",
+          "msg" : "54657374",
+          "sig" : "b0fec4f0f9b06a684c9816bc221f888860c1e5ceb40e67bd440bfb322c6026120b28af4905183d0ada4043b4f4a0df4710b20f37cc5ac9c5ad391e379f12784135cbab2cd7e3770fe1bc68fbf5e0e07c4fa07a5597d5f5c3f682e57cbf047cc5d8de859e3e7f997fa91c4a16026f43bac22a7afebcf56c804f656ad510dd03e6c4cff8be628a9a3fcce0034105152ebdb148100203f17eb37b7165b03661e5526f4fe1bcefea270e74a2bd9afc7fc00e52c9256548f36db3486b7cdf6fa9bea4d558d592fc6ed7869b8a59ce26608d21328a0e5001c273c8d29e3350c9d69d3b4a57d5574f1b18686c66598ac6de82d50af4589d53f1c5fba9e103ec787283d3",
+          "padding" : "3033300d0609608648016503040201050004220000532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 196,
+          "comment" : "appending null value to digest",
+          "msg" : "54657374",
+          "sig" : "b21fb36d1ba5ac09f4bc9c9bb1c3b08ef4b5e39d5a13bb27de6d949022262723fc6f96e1d0f76bf95e1f90eca04fb20bc65262233f6335d8a0b8211f0e2481819607354700ede1ff85c8e53413685ac5d31db4fa5f807aaf6818b9531baf1555db3e062a3e74ad677e9f378bc6020a73673decc9f6176f4c2dcb02859932b7a7a9d12da602b668a14846eb8acd2abfa0952fe5ec78a67a8f6d751ba3b420464c10cdfde93b96847b9bd05504b1ca49121cc92db8f2b7a33fac17535fefe32028d0c1484f1aee86b4260b668d9dfba6cf27a7faf2bbe0df47267108a84bd5cf595f522f9a2ae52e4c4b7c9c08b39200683bd33043f14b562d37b910dd438f714f",
+          "padding" : "3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 197,
+          "comment" : "truncated length of digest",
+          "msg" : "54657374",
+          "sig" : "1d582d82ca0b3db426ca8adf9465e46531e60d71b2cd7276f0d764e629a767e61171e1667a22c1a1404adf7e87b2617268c56e792d9f9653466666a09bc82d4c1c2c04fb9b8fd6c532f169196009598b6efc8feb2850f4ba8adb75d37705fe07bfc2e67356231f1845556ed8f3f8793f4c7e58572fe849ec0148a840e442968c1df6910152a5a4c0be18e3a7891ce2e16e53414366e8d92c1de75073818da1dde1c3c3f8f5c4d31d13da73bb507947e986915cbf3d9edf92a6bd17775eeadd9d5b363adaf1a33ccabd441267a476b314aeb86a91837b5c9a5d969001259fdc5a2b69982ca41405685379e758c255fcf35267dc2f1075ccb57ba0c339dacd7feb",
+          "padding" : "3011300d060960864801650304020105000481",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 198,
+          "comment" : "Replacing digest with NULL",
+          "msg" : "54657374",
+          "sig" : "096a7f2148458f37e9c6589c25e4e90626468575849037e8f62534a01e08dbdb34332da17528bcd83683e1d05a6b159a8a629225e9067f20b0c7484bddf978178107128855f63a29c727d2a49ddfb650954e5c9131b98fd188858b595a2be7196921fa872ac945336a47224a4f572c85469ed34303bb23a5822b1fa87f5b5fa0a4bfbcd9927c32c32c349c0689600ab4f616f31dc19ba9b5e6f45ac64bdc8070863358949e10a46f2af51a071db4de3d7ce5a9b2d76ec66eae8d1e106edccf72d27159a113d888d2f3c73cbb738bd096fad53a7bd3ead255f928b7915b137152bda12b3365a1fb7f9c4f53cef8484b5bd59c5c34c692f6ad20e129651a7cab69",
+          "padding" : "3011300d060960864801650304020105000500",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 199,
+          "comment" : "changing tag value of digest",
+          "msg" : "54657374",
+          "sig" : "5ac9934544425ddb9678fcfd28245b7f5568eb1de108e7d3e99e2d3810ee261b877073d32ae8abce7279f2177d6b11f36234ae2d9d03e4fa51907677a950ca4c644e64399ceed4395b18dd89a152f62a16520ee8ef27867387b3082db40e6462baa7ae6148c9e3e7d069d00431dff74b38556b31f3622b79b3714bfcfb6c662c6e92b3332f7e029debfe21430ea04fbd7cf75e410d1be0712fb5f754a9610f24f34efef2bf4690a589d387001dc652226775fb81b726b3c036fdce3a52ec7131d1fcfbfc2d6bb8434699d9905d9d7992d7977ce0a599309040ff4cffbff2028c9d6ebe7d0f9de0d17876f2da3a497b2a36170618c82e3f169e0ea0708557f1bd",
+          "padding" : "3031300d060960864801650304020105000220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 200,
+          "comment" : "changing tag value of digest",
+          "msg" : "54657374",
+          "sig" : "13731f7476ca8813b66d36cd6cdb93a48eb42742cca037b828774ff5971c173bd08e88542f2c39f53ae8700a56be54755b64e1e81a00097cad58ad21b2ebc59518ab6bc345db326572bc0b39572590c90b2b72894b33cb2fcc37fbe549405a7fc656dee567df49bcd93fc4d2c235e2d14c2107952de0e635ee93cfcd167d4dc5e3ea1dd0cf79973bc96cfe43a738be7e1304d4c1e318eb32612cf3d6784e1f842b8780dc5e3a8ec369eb8226ffdf9be69b54867f2461c810c74187d72cefec60a646c4a576d8ab977d4daea3422007454a306e5acbf3f7043d5d3bda70752e4979d1657918fbb863d4eb8eb58ba6f2a372636871b75af84e645a7f49e99eb300",
+          "padding" : "3031300d060960864801650304020105000320532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 201,
+          "comment" : "changing tag value of digest",
+          "msg" : "54657374",
+          "sig" : "0cbf884a755f8ea52d3da21e3e88fbcbe2562d35440d1fa0f8c3dbd4f27aabb5603e6d1b172af543c6739c8b644a4f438df55be7ad17a82c69a03d08c628c8fdbb7d1ff9202a7fb7bd7d4f4c400fbcaef8aa463f1e0ec72b1df8834e07cd4f465a97f7129fe9221ed3205043d2ea4597b857088fc27e95da84900e87ce9578d8bcb120b23096b1f143ced492cc966e2ef60ffe9055f5d225cad682c12fff248347f234713970565c532cc2302965bc69af16acaa3ac8b59b9f8698261a1a6074e3a3bc2a6e87dd01f2c0f13a628c134aaf65500681f1a002d921725b362d94c5dacaa8726c0a029749f9ebb699028b48e59d22dac2aa27ffdc35648a57c57f70",
+          "padding" : "3031300d060960864801650304020105000520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 202,
+          "comment" : "changing tag value of digest",
+          "msg" : "54657374",
+          "sig" : "711f73de0bbe41e3296a1473121f47a735d093a06c9c7be63559987d98f5fc52c6dee6de2a3fa565e9dc6c75308652978350e5dc407560474ddefb45f8bdadc8dc89b5640aa8552117161d8da703b52948b08596b92dfb4d343320aff80af3507d11a27ca6d2db3e2f028cc1d53adde20ae164f602ee146bbadec7a22b36eaf08849e35425a88bc1d6c8f1434a82f31998f980579c287bef989607c0e09977c52932c9d1b1a7437a3c87d09d9ce521c59fc44c51a279d9d3c94c88405ad38c3122e2e993348360490e1698d4ab126b05066fbf764f259c69fbc7d875eb69a78bcdad95e3ff1eef50183791acec694449e6c944bf2bebc01e5f1cc62d60b83966",
+          "padding" : "3031300d060960864801650304020105000620532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 203,
+          "comment" : "changing tag value of digest",
+          "msg" : "54657374",
+          "sig" : "3e85dff099a3f6cef0b15f86f749cfd21c5ca4a6d7ecdfb075a9dfce9e11240599be07f5200431771763469e1d13eedb3914c2d991fc49f32769ceca68e3de4ca53c1fee5f27b54c05ccc69d4cf0ad3ba62202bf7f1c6fd5cfebc7a8ed29e489f6350372f439f606d0b1e879438463b400704ccc2a323acc70ac4f46a621f0dcb49dad6d72cc8f4225dcd9e228f0611e28847745d0f24514506a91ab2a85b4f8f0fd02850c37e2e923ec14c2099ba90b9cf72ced38180d94cbe313215e19dbe46923e2d573115443f3e98bdb96305dac90564c4e667cf3430d174cd077c5533ecbf3f8ba08e7ac56c0b03c4d2dd0caa9d13c968f6a4e968418e42ef4f52aaf77",
+          "padding" : "3031300d06096086480165030402010500ff20532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 204,
+          "comment" : "dropping value of digest",
+          "msg" : "54657374",
+          "sig" : "b9861f3d1a03cdd4f49e90947a21e5da9fc1281a816a9f5b520a7de27740504d43333f5facf65dec5bb06699c37aa1aa911bd4e8acd7aaeeb6dbe50e577731b4babd4587504821be0ec4798b14124e9adcdc2831d8822e7768302338953584147af1e323a9982ad01cc79f46e239c804b6c119a022e1850f4445d98dc27e83f808f33f8c0c81bbe16d5f04ff0128e34d03ff6a65260a7ee6e10dcd08d09d9db7912fbfebe0304b00135ab184e063a884992ccfa5d64953ae98f050c751817629fd5491eabaa52b0e52626bfd025c926dbdc25af5727d92bad2acc5ed59f5f597606c9752579c57ed0e015440ac194228323a71f708fb92d5cf36c841e8a07366",
+          "padding" : "3011300d060960864801650304020105000400",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 205,
+          "comment" : "using composition fordigest",
+          "msg" : "54657374",
+          "sig" : "8729c630297b010164e90d0e99fc65eaaaf2bbbdf309f20bb48037bbd40e59ebd8d6fb7e23911051731b5ba5a8423bb3d0ab44bcaea5eb03f56eb8f3ead1c3fd252197fea478fb4b9b9b4e0649503d4f45922ebb72a4cc1716f914b3e8dd8fb111c9300e946c0eae83a2e6c40093fd1f55c684e4c4b2b0f09ecf03ef71a01449eb0cc2c4a274cfdd55efee7ff136a28626eb86af9d88c25bd0ba012d8a0218d43bb02d9b6b1273d3d2414789aaa076da4dcbde9444a151fba9c25ce225876b63b09e17b16e0e115a7db6860afd08c48ad37aa64a54d8b0230314354f1c943fdcebc1607e66121fdb7390f131ba6bbf8f88375497505d7d3ba4dd9761d842e937",
+          "padding" : "3035300d060960864801650304020105002424040153041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 206,
+          "comment" : "modify first byte of digest",
+          "msg" : "54657374",
+          "sig" : "6385c6d4dbca9ee08e1f525a8b7915831a732854c7b26cf42681bc90dd49078873025b62e1830ba193445e129fd419ee12cde859032eefc5758c6c12ffeed3ed049322609d2665b5e1eead21af5f354acf336629e62cfc4a740bf9a51fd66e6b72287ed5558261252f50dc925417c1e48a4552589a7099ab0a3371cdb1c209573f7f5ac9436d298fda9606f9582e8c873420e7c4edbf5ead17e3c93fa3209208b91728c208b3fd10b27045be1cfbf242c5d34cadda97608271326444ad35d309d47f4add6bfc5ad95710db6d65f82a06a04bd7c71e335c2b86cf6a466c311f7e735b8ff8c2912269c3b1f2007f7d1369a55440a5abd98a46a4389756f73782ef",
+          "padding" : "3031300d060960864801650304020105000420512eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 207,
+          "comment" : "modify last byte of digest",
+          "msg" : "54657374",
+          "sig" : "1eff927cfa95030c95547b3f3403636ed63fe85c99e21e64bdd8593f56119329fd7d75f876e13317aafe540b79964cdf62330cf98be66ee41ec92d7ab9ba7988e8bf6eba3dc95ffedffe09b382a9ff566f07c61c06944de3b68dca4c4a3b2076e778286b50c6ece0dc066c29dae7d824969fecc6d5f8bbc2731e875ed9780428d53591d2f2021aa7864baac55d276cbb14098e9af5869e18c29c89d8732503fcf8e65a384454785ed39dbc516eba130e2add655a8e7df260a668ff9214194681033fd8b57202fdf627270fe4f63a49fbaffbce1520562ce53c9ecef6da5e942ad06c8ce3e673524b84c19da4f071d9d0ef9e24d4c8b0dd64627ccae7468372bc",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345ea5",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 208,
+          "comment" : "truncate digest",
+          "msg" : "54657374",
+          "sig" : "ae443b008918b477cc8f80c54afc175ea0935ad53bbb2784fb1948ed4186f0374b760302dd2346c3797e79a080461c802c39cd72bfc9101b408ddf8ac4e449e2f2f0f03cc1fa5dd77e72becd52a36da64150edcd290df30fdff2a4701c7e923756eb4700184af4e06078517385f9f52d650a46eb94393b37761444fa1d3fc925579133c85e63b25a7a7d1587dc43fc500e54a70ead1cf872e47b33f34ce7971331007e5e74aafe18895f4e5b1faf925437af5dd7d5ac520eee778752130ecdba9d33a792e189e9c8d95770a4d5ecfd71647c99470604b269f14921b1fa50ba063b47bc6c490e9926e4065d5602555e51c9cf6669ee53b7cc7cd0da607478a5a0",
+          "padding" : "3030300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 209,
+          "comment" : "truncate digest",
+          "msg" : "54657374",
+          "sig" : "5189a516b2ff014f527ffde7cfd65cca11f0b907160ff901a51511d4b94317e86f3065600728ad0c43e68a6f1f7017708bb8dbbc84e388f43a9c83acb98eaa6b4532cc68c4c6a44f649989b5d254f89fec6de1fea45e3e5b83e562608a7867f0919a2320a120c871421eb164895ed4bae27d34227b1e8cfb600292d208cd15cd62068aff9d692ae8088c9c08a51202694faec5d6c78e995e5e013f931b8a6cdd726357d0d5c6e9a83dc634810fe383ea1a89adc42c2bc675f075e571ecd3fff8581a0df3f83b1959a5e64b5eb1cb9bfb5c4c4c17d47a24a2ab3da66ba62d54b74624555c19c56ffa94203cf78101d181ffeafe8e8fed9e0897b27a88419aa540",
+          "padding" : "3030300d06096086480165030402010500041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 210,
+          "comment" : "wrong hash in padding",
+          "msg" : "54657374",
+          "sig" : "8b009088b814c2e2a306b4cfd72d87db4ca1ebf6ad5f37e7aa29777b77d93c005922168e3634be085c9e4b147194046e38b7d32fe6814652672cc6eb724742a0a22fae278a9953e665e7351281c42e98d4fca8237be482080b9fbc471b9854ee75ece636868c6b3270dfc7dbb32cfd2e28901ff6ac699dd74d8bf096bfe89c22c228522474df25d13e5b7c1148edd5df5fbc06fe165729418221c610a8fbac579955b8625eeaa8e00aea009b42b2456c9316c5c005688bc060e61bf302418740f0be9b5a30df845608a9008804e89d1a5233d34b6fa84c3698451e472fedd9f4aa6ffbc9f4491256df7181334ff181cd66dce7dc66ef9d3c511ae5e6e3c88083",
+          "padding" : "3030300c06082a864886f70d020505000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 211,
+          "comment" : "wrong hash in padding",
+          "msg" : "54657374",
+          "sig" : "4469b8e895fb4340328360414352059a4b701d2c21cc2125d91f5025b7b22ae7ba840123ef45ba9c8c27a8a34a74f010a4fdd6be9474ac270501bd96a602afb05df7becdcaefb29df9be5d090af6869a4311fe94b70bcc0c5633d69169ca038b2fcb2a4abe60c0b542b308527781d184d06966632d7404da5e3494d76bc72e9f87d006950e7a4388334f99e212d5f253c11fa8361179be7bc927d9437ed11b7685529e832162e41a72ba3106b9af7acf5fef70178fd83ce3598683ad61c27cd1d69b437dfdf93ac43a1876d594e0eb8523a0ef8f75ccf1ab079d4538bbb726d04f45ec864b04f57c18cd6984f1a3a08a7c3944c6946c3c3e090f9d833c5d3d81",
+          "padding" : "302d300906052b0e03021a05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 212,
+          "comment" : "wrong hash in padding",
+          "msg" : "54657374",
+          "sig" : "68a90a62da7b0ac09e26ca8786723164c0e6535e82f28839d12c08348aacccdf0218d3470290665e6d6fbb59cafda63c9e50d596442b02f4ec7b55753b13b82b217e32fc5f3818e3fee1a6b89855f5902dcdba3eccffddb7491317961af36dc74f5b6a4477f57aeb28d57658fcb8e77f8e223d2870b730d53ca1aadeafb389d3f934ba609689ce50bf82b08f31dc2578d7f076d26be5b267e87d2ca4df8d57c112831f45c46b9078c3ec13b01f0b5d67e82579243408e4eb29a154314cd5c68cad6b7198a02c522d87aad93e17aaf8fea49d38e39314c12c816e73d997c0fd10cb12d47aa7af0e82fa4b939f1209085c01a88f5cecd533901d5b1ab2866e753f",
+          "padding" : "3031300d060960864801650304020205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 213,
+          "comment" : "wrong hash in padding",
+          "msg" : "54657374",
+          "sig" : "a1060a690b31b1b2feba5f0b8ede1c8f025da644da1f1d66a6cb218226ea6751a7f391ad063d80b63035cdb991e6a549d85c9f569f7677a40becf0326cb93297e23ed49dce7a5c1a4866d788aec24d23cf9c9cf15783ff5692a579db8f11b7e1ee8d28aea15f358b4d01e127dc438f5edf53346744594c3f946492a39aeaa17352a6791a52d4812637c8612323a50af3b7dd4216100020df91b653e5e4772bca49750ab9844c8cf13d651541d2a1aa7c74a673e645971df9acee059fa981ad39e8011b06bb39a86cdbba9fa544b8f2460188ca04354a95effed4e7c5905d5bf25973589809360d5e154e7a3613c27f4c5c920e71996063c2f86c44b7ad12a376",
+          "padding" : "3031300d060960864801650304020305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 214,
+          "comment" : "wrong hash in signature",
+          "msg" : "54657374",
+          "sig" : "49cea19f5adb723c41e895337a24ced9e685736ec060f2aeef35bbdcf37741056d5f3ace051b0f6099585d82f576591da0c1139a590685b3e35ff9053bc6c3e381cba077700558328fa785128f78f5cfa481e6bf581bc9424f101cd8c2efeb4f8f00684776416c309d217df1dfde8f1e4643aad23207541fafeb5b7d263fb560cfade4792d716f68e7809cf8478cc4dc6a4c14e4e5df4f137d7a05270c6b0ca1f73e77eac07f5e7b60c8574b5c7487db4aa334173fbe03d93805bba291194f02f77ec0eeae2373ec9fc467a621feb77afc7d3757ca98b4f3fedbdc391f99df24663233f7394935b14eb81cf5b24d169cafa7506bcbcc2a4166fcf8fdbd5f7f3e",
+          "padding" : "3020300c06082a864886f70d0205050004100cbc6611f5540bd0809a388dc95a615b",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 215,
+          "comment" : "wrong hash in signature",
+          "msg" : "54657374",
+          "sig" : "b1e5095d61e4a986fe3425a08401ca726bafcb778dc818254e7ea5d299a9ee3e8c303a51ce19644b60a7f6156850b3325f4ada0958ce9a0a8cfe2a7ca085538b9b9abcfaaaf7413c810d6b2c03b5a3bbf98faef5374053cbff979815e5f1a38980087b291e1cf1683febc32da71b9040bedeb014de01cbc794ee40c12e7d44cbd01336ee92884d60d20bb0c9a5fe4d7dbc93478dab044bb6f04050ee4a3c8d2577c0e8443781f1ba5d8e763ed7f879f0bd970045299d2e2bc00ae47598e822fdf2461343c5c5f2111b099823c35b7ec4f07d337e52729c19e1df28c4bab6e7fbd1abd9cd3052920875e59ad251970e98c7a944ee6ba71787f65eda75e84cd048",
+          "padding" : "3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 216,
+          "comment" : "wrong hash in signature",
+          "msg" : "54657374",
+          "sig" : "ba0ac1ff39b108015703583afcea5c777ec70df6ad11f561f23ca84eeacc73b7d93375f5e44c6c84e16273d442f93e36d474c7190184a0766e5b2bfe9896f0f0906a7a0c08dd78f0a9702cf3f706040893885f1e1da9cd01aca80de8c0c8197bb6e5e34562c37ff3256fbc6e99d1e9a7459a2cb1f49eb371a9e3cb1e87a460880664adb76e6bc3f2652010a7a1dde552dd4aadcf30366b0de3964e85d76bf79e20ced2aef87c9d31b4f2756cea23d9cef75ce07cea41204b42260a25ded448df639a0493d24262e1c411b7c294cabb56b95126c44d333385a63dbbf9219f22499812ae99772ba6c30d881c4bfdb3d074cc8f6090810546e64b1dfff6847a21f1",
+          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 217,
+          "comment" : "wrong hash in signature",
+          "msg" : "54657374",
+          "sig" : "4ab504da964bee491512b40b79fe9befa7e5960b142b619db35569cc9387265cc8fa8d4505b3b7cde5e884853bbea5d47ce7d60aa7e4c81853f0ee3f6b357dda5efe13119fc42f464b0cfb9d3506024c2c884eb57373e16611a6ec1eb803a61300bd248587594d081b501d5a141d2ea38d9ef69a87a3ee9d8d83aba410b8d30765c81f997d71457dc8ff1d9c3ed83f06f0156826105bc0a6fef0260ba6fb24578de5f58e7b0a64d5da1512f525f41e987a27e4d59c7d4917fb60586535341bf1644f6bf6a7e3cfba1c225a66bd65cc90b1eaed3696eaecbbc24a318a2e2ad711af85b02ee730940aa3dcb2d87aa8dadac182b5eefebaa3e729204d04e8ebf09b",
+          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 218,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "54657374",
+          "sig" : "a5280543fcf9276baba49a297f0803ca4782cc05d35c53a7bd692b0356991d1ef6211efd591ef2eaa5d39b00bc193f3a5f175dd55de90f04396874b799374625a8af5ac162f9af79eb5f3615dac8a33c8d41182c6183db82b9e509ddcf4de0231e419d0e07487fbbb42d84ffc9b4f4c3ecdf6efe2efbfc64f3f665978ab6d210febb690d05a4c9252f97ddca64884df93fbcfc6356954ea7c4f486f2c201e6988400802904f61c02acf066698ff5af6fc8eaba4f81ec93d886a47e4652aad5df2ecf463db049b923a657ca629ba91ac0090be3a1381432ca2c3abccfb85b3c251776b910bd7ec4283d7493e309d251e07404324de24d65a3dfb8e3c5cb8a5a83",
+          "padding" : "0002ff...00<asn wrapped hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 219,
+          "comment" : "using PKCS#1 encryption padding",
+          "msg" : "54657374",
+          "sig" : "4f2688932d7bf6ec48e50c69933006d28b055aa97621fbebf3ca336536b8dc61172c8ad52e453c4ec203dbb2904557012dcf43da92f55d62baa56961701bef821240a5fd2d1735ae14be136ea92ee10adc650eff7ef6b5cb08c3f4a9dc17bcfc66cf50616f305908719f467af5abb45beea1835f95544f53cf2813394767959ff3440da42757bd135806be3ed2698ea3d903e0f2447916c94deacbda484cb1e074114dcf3b41bf60383153b838f018f8b2e35e3af68eefd202a2b3d7ddc1ec134fff746f1ce9548f9e53a3cc41faf2e991ea1b5860c55f5c000bff72f5524bed9cb8f9e8dc34713f3ce443d202c8ed3df13dec385e8c19871508804c3267b67b",
+          "padding" : "0002ff...00<hash>",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 220,
+          "comment" : "invalid PKCS#1 signature padding",
+          "msg" : "54657374",
+          "sig" : "412f631c6df4c4402f70528635f4ed69094f33b198499980ff880e8e5fbdd22236c7836cc65ce18c1b3f183b69a47c27f3699fe7477462fa8d17e8a247e6ee9e994037ade036583ecf4497c083f78db36a15bebc291f164568655c27752f2ad27efa13a7fb897e658cd9f6aa1515bd14a4793fedb7722fb148c3a0e48cae63d14ad939a99a90f1dd7a7c09d478c9217e31f083c12dd3395332af68a4231a15069b1f43765584f6aa094645596ecb4923c59430e6ba76ae7ac4aa724b0fa9b5e2df9d9254857df70423f9323bdee97d74d662793ac72a0d089a79038b8b85e4c0d3a6f616fadca300a77bbd53ec69287a1f0f6fab0560ed90a28262bc310c14b1",
+          "padding" : "0001ff...ee00",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 221,
+          "comment" : "PKCS#1 padding too short",
+          "msg" : "54657374",
+          "sig" : "77dc98b3302f80235104cb8810d290be782529da8d49c7ed804c59f6435464668dc2d1fc3040ff31d7da3e31a472e218e7f8bf20b626673cecd2a56d7c15af20b42f3b1e155cb5bd3cc0f15c71152a64a6f15fa3e12f6060c2539f6f635c56a0192be82925c277f5f317b6531f1d5618ca95d038b4df9c1a99df4d09e6f5eb8940f8c5919051180822ccccd49c88da70c9c0bc1f206fe8a6d8e5678c02097f821b1d53a26e5542d9287442e9f74780fdb40f10fcd06aef31bc8f14de73eeb437555c4510762fe6bded19a21eb5e94ce51445ca10a6569f2a92bf70caf2e442975611c6f02b3e2875f911260bebfd5131956c98c5932461831313e3cdd9e7ef0c",
+          "padding" : "000001ff...",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 222,
+          "comment" : "CVE-2017-11185",
+          "msg" : "54657374",
+          "sig" : "bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7",
+          "padding" : "n",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 223,
+          "comment" : "invalid length",
+          "msg" : "54657374",
+          "sig" : "bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70000",
+          "padding" : "2 bytes too long",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 224,
+          "comment" : "empty signature",
+          "msg" : "54657374",
+          "sig" : "",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 225,
+          "comment" : "0",
+          "msg" : "54657374",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 226,
+          "comment" : "1",
+          "msg" : "54657374",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 227,
+          "comment" : "2",
+          "msg" : "54657374",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 228,
+          "comment" : "n-1",
+          "msg" : "54657374",
+          "sig" : "bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a6",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 229,
+          "comment" : "n+1",
+          "msg" : "54657374",
+          "sig" : "bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a8",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        },
+        {
+          "tcId" : 230,
+          "comment" : "-1",
+          "msg" : "54657374",
+          "sig" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "padding" : "",
+          "result" : "invalid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "30818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001",
+      "keyDer" : "30819f300d06092a864886f70d010101050003818d0030818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDQlB5jqYD6kvsl7Ux7Mwf4JwIw\nNK5/GnSR8Gmcp2ByheYq2OmUusIbi24wXjNPSHQGfSjjBCMNyn8OhffOWVdwtuBU\nyfhEuobAaW7roHadjUo0fo/oXHJKwcRJlK8Yo55xn3IfG8UMRqOebAdfzRZJ8B8i\nYIzn3GlVUCJYM2mH2QIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 1024,
+      "n" : "0d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9",
+      "sha" : "SHA-1",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 231,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "03e64d148e05201b021fb5d3d72ab6abd4294be6c1673277ba5822ad2fe7ce4bb29ac547b2fdf09c2894ea0e31e76f1b3e1937db91c389467e9a8ac7be0a4f674456f01c5b4fa4277a26028b49b16e25689827d0a4b9f1c25a63350dc15131da908a05c7cfa8c08a67ac9efe3b0cd04aba7db12064cbc36729eaaec540c4bc12",
+          "padding" : "3021300906052b0e03021a05000414da39a3ee5e6b4b0d3255bfef95601890afd80709",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus",
+            "WeakHash"
+          ]
+        },
+        {
+          "tcId" : 232,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "1d19763e80121e228ac4dbb3be8448560aac613ec74b168efe1d8a8335b77e6d8c3cc0f641de8c8e26a2aff9d32a4ab77340912fec0e60e89257b5b6b19c8deb866c2d2349fe63a06ac6b72397b478cdd4198ead64f8d36b9df29651e95ac7b886978cffbb5f7498f136b1ded7580cbcbb31620415eb71cdb5bd615b47eff813",
+          "padding" : "3021300906052b0e03021a050004146768033e216468247bd031a0a2d9876d79818f8f",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus",
+            "WeakHash"
+          ]
+        },
+        {
+          "tcId" : 233,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "0891ef2061c4d3377744cd7243ccc444619df533f4eadee216f7ffb9244e86d3e0162fc82c0b9502dc7aeebaf7884067e5f18f21b395c43bbfce5559ae84157ffde2aa457b7f44675e706af443acd9e38070428dfc6471a24cdc0d44f9283ac158704ad114375f10c24e3adbd12c55dabb78b8c41d3938124acc74126c82bb0b",
+          "padding" : "3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus",
+            "WeakHash"
+          ]
+        },
+        {
+          "tcId" : 234,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "8277e8984d536f81667feeee7e24068ca5bb8b815210b3e9fa82294e11cae92c45164c9dd5683be4650e4b7709eb8879f793ae804620750b26032894e53333158f6afa6b52318e6c730a4a55d5a0fca6d029744f2ecaa2e00d3d6dffa0716acefd5c91afeda74b7f1a1bd7e635283bfa2142ace513da24eb8f25f3578a401ba7",
+          "padding" : "3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus",
+            "WeakHash"
+          ]
+        },
+        {
+          "tcId" : 235,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "b41191a7a1d11e973600e9a28c8d6e6d1513f7d970cb05ad50c686bd6fc42b7848559b2b3073a8cc9839f464d82f8a7d864cbc9698cc1a4b5b8c8103d07e9d79e5d24e1b3ab69053461bd76ac3b62935c31ef9f0c44120bf5c0a012eeedbd2a39d347cf6676ee8c81a88eb87eef2708edd793ebb79d6fced626e6475681fe73d",
+          "padding" : "3021300906052b0e03021a0500041468f4145fee7dde76afceb910165924ad14cf0d00",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus",
+            "WeakHash"
+          ]
+        },
+        {
+          "tcId" : 236,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "29f69d320ea3221cd0704300f456295becf54e877c2b9b2704dc47ef992588c7dcc1648d17172d8c76362c488aadb3437be488fe667a192c5db1440f70d102361d7e85ffab370c7bdaceba0d15b1f32ba0801ccddc9fbaed1323834a60d19ff13ecd46a27f06e79cb0d3aefdefc0c69d8e85fbe8761d83f35e362355ba675933",
+          "padding" : "3021300906052b0e03021a0500041486f7e437faa5a7fce15d1ddcb9eaeaea377667b8",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus",
+            "WeakHash"
+          ]
+        },
+        {
+          "tcId" : 237,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "9aa3040e7df724bf506881f6a92a133ff76f6a168f0f3ced70b3363835ed6b655fae6f39416555af4071c16262da7556412d9905279d666f9e15fb8a813b313d00007cef3ed2be306b9e29e6b69c2c5bebe36aa057feba44ccb6c8619076a5b23f39729ef78bd6478249f34ee99f3abeef37c504410910d1ad3f1a712c8d697e",
+          "padding" : "3021300906052b0e03021a05000414b92747057fbbdde83bc06b7e869eb40c32d08a6d",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus",
+            "WeakHash"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "30818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001",
+      "keyDer" : "30819f300d06092a864886f70d010101050003818d0030818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDfvm+ILIsMQsMinynNhYvq0lwh\nO1wDRsMFL4RLBFrHksgcHfWtambp1PP3wRCW8Gn1/A0dfaVVxuaFz2cqsqZZnwFg\nX1DJOpHWiC9YhOTPPpxBp5CwxEJHFQd3+VrPaTErDtaPPIJpPmtn8OHqWSfA7qs1\nVMLBVxgfRjTne8sIiwIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 1024,
+      "n" : "0dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b",
+      "sha" : "SHA-224",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 238,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "507e6233a3c80971daa07c13f34a532d53441e196d642fd6564b347fdceb865c55dd47330587622a30f8d4ee66bf8f163c626f8dd26b313bb4095ea1ae9d6a96a24365f4c20056998eb9d1e3f2e1c78257361e5c21e5ba76320997e8cb30021e8f11a580000891bca3537d7a2c0972e06844f1a01a1dbc9a3f8b8a2955f7005f",
+          "padding" : "302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 239,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "414de39059daab523a725efe437d688824a43689766b33136aa3e6da0a2fcf1c2aeff952605c2f1a12a29e36f282e59631f442af96c7659e0717bb24807835aa06f034906670b042f8db1cdcbf3c54e25472383b6b9097a09bfbd73b2e7c10e18731c6bad47af591bdb2d376680f6cb62048a97c19f23a70e98ddedf02786efc",
+          "padding" : "302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 240,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "aa5d174e95f9a1ff88c1ce60b3aed1d39e256e28b0512cc4b52be1d41b8ccfa2a739945aefb5b697886f4f08cef365d18bdd8151acc588fd4ebf2aede9bdd904aa3481822206f3fedc5889c9f9889a8dd4d160d65e587ee228f9ef155108cb283c4e2a697a1e739827cb4a9790f96023e6ad24cabe51741a7c7cea8c52f08cdc",
+          "padding" : "302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 241,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "54a81c62bed2f716feb2939f504db144c1c3b70485a1f35b2871ede567ffcdeb8d2ed0c57c56f21b70388d631be05b4c738e67f160f34ec42f236cef92b03d3dc8e50145b33e634a6fad8e87f84624e96feefeeaa91ddbb003c3969017dd2d102da2e7d5de8ed298139d5e503e0aaab136fb583b99ece2e6b1681699a04b977e",
+          "padding" : "302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 242,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "11890613a8ae298c21bda95fbe4059c37426f41ceccb7bd79598c72ab4662e012f08b7009c15155b5ae9d132b4ede565963e6014241305279d60662f57df7119e5d4088d32bfc7e0847036f41ca71f9a92660f90ec13ee9e19717d0b567ec5a6b5978a11337d5ee4e9147352fb954817be04fb767ef35c07babb03fd04a31338",
+          "padding" : "302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 243,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "0fd461012145fe0ae9362eef22ee35dac0d4751a037ce4cf0792012bb179d101f9a9752e5ebc5454b18684fa1b557f3136ae68edc087dbfa4bbfaa59be42d0daa84b574a9f23238d4d538ae3e6c32f8dbd98b1138b545badcc10b184428fe2707aec73206367f147196f7b83f358377562e8c7d9f1d396a1cd9aa74f8a78cb1d",
+          "padding" : "302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 244,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "307e421e06bdec1fc1750d53529f5f007eddcc991af8351477e1d67169409e3acc93367fadc412a4554854004c4a29c8af4af09793e55967ed439645034cc9e9ae565edfc861e04c763d058ff3aa29bef3942277b4c971d830be1259aa30c125a6ede65971b0120758c2a6eb21f238ff18228f344155ff9109a0f9656cae2351",
+          "padding" : "302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "30818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001",
+      "keyDer" : "30819f300d06092a864886f70d010101050003818d0030818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCskEinpPVgr5G0/K9ioUWVy5yp\n7BIAD8hF5IVyETyrKJCtsBGpGVdaQHYNHyP+klCcilgQttBZkLkJ3Q9MYBTysxtq\nvYBbrOmYFuLtpB/XuVQF23xcj0z2ursU9VDV0N1RebVJUf/2qpaG8w9HjbZJt8cE\nTMIC3MrQA0NGjqrPvwIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 1024,
+      "n" : "0ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 245,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "a0abd165a5ef8733ba111fa0fa092630222d809d8ae811f24f8bead4968b7533af31019663713ba134e7dd345c38e7166a037025eb34adcd6891c9ec941d2e3eb1e4bded1d269272b602cb9b53568b992ddb5103914e6424c75505701a37996c8318b0b6f8640cb6b6e770ac44314b866a7c683a6903f7bba07b6f197ec554fc",
+          "padding" : "3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 246,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "41339884a9b3940e8488d666bb158063c6a2a2717cae7f564834a876fcbf7098ecf3acbfabf37d38a8e6127b1e313744f1f896e165efdaea0b2e7673867842b9e94db0868ed9a92bcdcb370a4e20ff275c82595e4400a8b9e9f12482f014846b48216f321266ae6ae6338dbcdc41b711e483e6e3e728772e7f9f5ef95c30196b",
+          "padding" : "3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 247,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "8883676becdc27878ccdff53dda011e5e2f886e31e1e88d520bb161cd63aa001fded9f0656109c1507bd1ba5d3bb3e725029a236b4c3c0420a1fcfffe348c5277d6aa51bf75d9af26fdc15fc49d637b078a8b0478b5b0a9c428756d260068e5e622f193b9f9a2c1d979e3322d7f3edc32053541c6efa2485e42e99a804f94388",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 248,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "9f2e01b92bc9dd32dcf24aee91467797396649a3255bac943dd0e03c9ef416f349c0cbb728704730f3c7a7c244066a94b229a6e86bde7753c8940129626307b542cc7f596583932b4fe6ea9384d5353e08654e966a64b63bd6745503f7e4383dcef74ad4516ac25c8790db6702ac5b8b057a8fae75669b6a9e689e9211a337b9",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 249,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "3cb9557d9fe49b889319e0d41efc00cba34277caeed2b2c54fc89772c669200dd63f02f340cb6ed579a379a3fd6a568ca9d4bce206655ae4586850638ee6bffaae2bed7c7afe7353d22418d7e4f6b15e198c85b649d3e5a67f00702dd9fefed7dc72136bb4440fac58e64453e4ee63a81de4270446571b192f414116e165efc0",
+          "padding" : "3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 250,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "06e6fb568e366fa20d48704be40e991a291d47a464296a49c37718c1153b0fea17ac18a01ff97b32a92d07635dfb9143d011d003c9153020f5ef7fd3ef258cfe92a7a2120718fcc85c73acd34cbd50670c2e044dc3b82fca29b1017912b65d8a844515655308367d8797ae5b7fb91042df573f32de69c1842a128ac88937c0e9",
+          "padding" : "3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 251,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "327238fd701dc4a829827550aad98f9bcd75e9f3831c3679998c869c1dd8381bc6b74b721e9d3377034e059d6637690ba3a184ffd98af951d43a22105a51838f72cf592d658af01adeedf721cf2eb2bb2c90c68311cb267f0cfacca903c1a2a73f7228badb5d86976f5d3371fe9b00cca048a7a0b0fc4b03da11c5a098045e07",
+          "padding" : "3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "30818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001",
+      "keyDer" : "30819f300d06092a864886f70d010101050003818d0030818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCh05EuZdmU4LpRE194hE2aPqUW\nHlRQ0WqM8Bc6CjCaHulOlDhd/8XifepmkqFxNRavht8ig8jjJ+YO4mp7fPzLCvP0\nte/sNYZRmWuX1bJdqTOwY0kM97Zwc9OZsErVXAqJ+Ow21/XK51fb09bQ9bd/fJTi\niHg5fLRc/RePPwftAQIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 1024,
+      "n" : "0a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01",
+      "sha" : "SHA-384",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 252,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "8bda47e85848bb1d98eab90bd5f1880540204c8753a17b2552ee4778405e4c42cc3d25a4d869eb38f1e6fd122a2f52fa8685c3ef40400ade2017555ae88fa892a1ad2793f7c23762f0e54db0852cfdb2e52ebd02c8acf81b9a1e78accb5fbb57a29391cf4fa9aa298111c7b94fe240f0f576b1b52853853fce13da155f16e81d",
+          "padding" : "3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 253,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "74b9a7b9548a281c5a258520c879e0e64d8a28812a7b6461c6e418e0502b61008a8e535a5b55fb64529a6a6df2f60ef33c1844b27f81532be2bc2992d0eb5e524112da90bf40adefcf206469639ff3895a9826674ee1acbdd623842ab0a9a36d48da13ba17c4ee069254da2ea418d5a8f135e2a414c0654a266d538621917545",
+          "padding" : "3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 254,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "10d9c8b0bf55586e985799be60a17979eb0461daca00ea6defcc62fe720ea502e7e486c02a48f5ca41ecd96c67b5c762a067c465c35a8e416748897ede3ee2cd3c3e1b1199da5c7f0dd0f036774a1730e63ba781d6ee43d78b067608e831a16dbec6075c8ec90e81a4d8e2ac2587b0ae43f7445478b03ab7eba2e63d4043c2e1",
+          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 255,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "2cb15eb09030fade89eabc41794d288275c456f12cb0d414311e5edb551a51c3e1354f134b27aecae50536379a871a4ce6ab2e1b999c0308f5fed2ec48d97d68885b37a1e3e26b841db103b64f720f9aef265632f4f4a207ddffe19092e8b16144b0a3443d779c0b648077d3b04b72dd4f4051ac232261ac9df65974764b97a9",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 256,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "9c80154e3087b443fe6d9bc24faa7ea009330a210f2f1063ea1b61261507a5e3853079a0287d5b27983bd751ac782b1a5c31130978d3f2a8a95101c4ed87eacee964953ad32cd2cd4caeb7c37330d1650d7ca19dfa6e8f1c184d3dd9a3a759d6badc700b7063d2c579b336c5e141c200614ba613d9bb6493e87d26978b438573",
+          "padding" : "3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 257,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "99fc12c90f67dff9600c30c9f81bbf335492151345c809c05771d59ef73d438f88c5c43ba507a3cad6633641d70ec3f3c38f67cf7f2566489f59422a2dad1f647e790bbd28acc290ab392d48ce7a140184bb71023f8c9c5dcd9469ebe848063d96bad26fbd390974b38459d51727eb8c0a5b8a8ef1d3394b6f852dd2b22cd22c",
+          "padding" : "3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 258,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "869b42bb93624a139bb98c043cba8fe12d612aef040e3085994824a480274c0cca24d08d178321acb048055b777d897e267cd50809bc7e9f86c276beeb8a8d59d82aa2091c66c71e41ca59738b0e18f055f9c75a01e87aaad446e64ac0183c002ea2080415ebb4f85a590622bfa4e701a6e37d0b33bd78d5ff874d8d28fda263",
+          "padding" : "3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001",
+      "keyDer" : "3081df300d06092a864886f70d01010105000381cd003081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIHfMA0GCSqGSIb3DQEBAQUAA4HNADCByQKBwQC4vhKWOOnIBTWeYWmyYyZeKo7E\nuEkQHyoyHOUjZl45mVSsOGXujIXRTz0/JPvVg2ZL8JOUy8f3/8mKrclO2jXKS5YU\n/S13PHgghqHqnKI/NXyyzcRl+4UQAXKEXWspBtyTFaVC0gS8xNzmjZBIQZjiNQzW\ngu75MToT3zYHZpqk3RhvVjugrj7gVPhXqSmF8mlKVOGoftcyesv9o+Yey/7P3Rt7\nLQjdMGEi/UQmjwhGMwZ2D0Dft2NOcdenLxIk5hECAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 1536,
+      "n" : "0b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611",
+      "sha" : "SHA-224",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 259,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "9cbe6b808679d666332a97049be279327c7e00e3c17354fd1d5f611969f487d9e397456b90549a77582a6e8b51fe212399ff68b979fe293efcd11ab79cbfda818cc4039c62d32b58717fe0abf2b4eeea0304baa5afe23ff6614dc6cec45b518d6d58a157ae211e0a67c36a0ef6468d0dd68f6155a818bece4f8d35884f4f90aa6ac6250bb3459604d4598ca7c7e57489d484351aa936be4fc9051e28e229f4bb60fa97a3f018ef37fdfe78ca8cfc0caae758c53d0f68edb8b9df2b826c80272f",
+          "padding" : "302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 260,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "570c9a8a85a988b5e254b74af7611f0a1e4843e4727c9117a5e2bbbec29b0a6e84c5ccc2cec9b100410b37d1e0eef9a2a21a2894e1a5b581e6567d1043a980166ed7449e557fd7f1fb19fff60f3cfc85c79c9793c553314060b95f0a2199f4de16792e35888b78f7bbd4520eb09efc7aede5d24a51d8c123669ee2452357dfd089986005506df4431c50432509302e7c7e9aa8e9f383ef8b856fda1ba8db44f36b7aae91c597bd6aa0b4f12573a664f328b23b7a7e8738d5bfe772b39d5017d7",
+          "padding" : "302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 261,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "74cd13a7cad1ba8c0254967f1cf7d594a084995b5778b113a42f35654151556e36ff796f609146bcc519a8f983d0093a1fe7d2789d0c2688d8444ff4c3c8f6759eb71d6fb7f47a2eff42e62ecdd14fb3cf2e6df4b0717094863bf19a84457a656d3fd64aa5c086e09a8097e3576ba1d91fa17b7a1222b9064e2c6b06aba5b692a7078117838c64cd6598bea415a231daf4e62d4bffcbc0986c3cf86ae6a3bbb7ffbe85ee002ce9af3177b1f2c0ae14b8b1cd41b1bf1b2ccc688794f092c91873",
+          "padding" : "302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 262,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "1ecad2c46d9d37b3bdecb7f9002cc48f8345a2aec090f5d599350c855c4eb58f8a503d8dfe042525a66e771bd8dd8a70fb4822aea1a0cf33577ea658288e6f2fd886888cb9225f1ea0d03bf5b5e63afd3bf59c0c1d3f2cf4f4ba2a8dcf23182feec72f76a60d252a8cb0b770b7d0dd6c72c072098f81b852f7271007273eccbc55a9099e426e566a52e11be82e78bc8ce8c6bb721f858816c43aa253a950da5810e5690c193b820d9ed4f02046a548503c72755abf1450c09dda9c84dd2a079a",
+          "padding" : "302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 263,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "402c91c41a3e1782ae406b04ff52cbbf9f71cc5f3473b9af43a2ef96245e79b62551d9b23a85e6e80a2041b616dce2647312258b29bc6b549eb38afb083d823b3c2619caee52cb1583a7c20cba7da2159ac8154b98a9683388bcc523c10b6e560fe0c8a0cce9237ab1991b207e708b601b13c5d1d86825d89fc5aaffa0e89ddcc11d2b516de64e34783d86c6d05ded6024274498b6f3dd5593feb03147cfca3890f92487b64e67ccb676b85144899e6d257b28edff14130eaf0cc45b60ddec80",
+          "padding" : "302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 264,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "4d93f0d689c59942d9e7c26cfc5af040cff4b3a114c7e191851baa888133ea52583899520f8e063d7ea1ac7773ccca280b92840082d960b0d1e20bc8549c83f989b6991613c1711a0a2586de7fc2bd10750023e2866fce48329621e9203c2818373abd69bc1807fc1158639d3837b5391077a39f829f04472c74bab0a15757083a34ec2701abb6839ade2674f1220af9d109678d209bf5f16eceaa8227ab028d0017530900f52b8be12c33f007dd21774a5bdae2ee12d7e47e98e5cc7d301d9e",
+          "padding" : "302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 265,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "44a571c4bbf737001fd5602e8d096123de21b47c36eea780f3e0e19fd2243605066ea949c88b6abb8353ee8b88e394a485031e9e980936e09bbd17fb6dfe340f07bcca5cc51edcbd5bf98c223f44976b6ba3b4b2157f1a14a7b2a20728f92a31120f968138a33164c78b7fe9146ba6d641d6c7b7cc9b1b4062e96002054eb9cd2e738fd82564dc0fd87f08b5006f52db13a7efd4602dd6736cc9667701fcb9ad48c5b3625a11e44e034d0cecb38cea4766b03416c94f01418b411e2f4739ccba",
+          "padding" : "302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001",
+      "keyDer" : "3081df300d06092a864886f70d01010105000381cd003081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIHfMA0GCSqGSIb3DQEBAQUAA4HNADCByQKBwQDrR3yQ1GvRiWz0kwzyYVFA4Cmn\nQ/BkmuWG6wTVHyGsUkF0S1hyzOvIe0AUh6nIWRdsn8ggCyBUh14sgRpWtdlGjm06\nmcBYsciVR/VaPXsdCIUvZz0yiFRKq5BuVzZMrIF3KNzqGLwRk+YiaeBBEsGUUXAs\n+qRvyvcW2xTy4cm40xK9sV3eUGlFOVvbCGXyKsBVP4J6J3GcLHA6g8bL/ZSdBtTr\nVgqP3f8FL9bwog9s3rKQkhG3X4GC5YWQ0GmionECAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 1536,
+      "n" : "0eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 266,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "e4f7f0076b4bddb632c470881bbffe95a148573a75c014689eda7acf5e57a546327d4bead01da0b093b2c4eb5b048fd707d27a4baf85d610e4ff8861feca57e1ea88ff0c4b803c4b0d62ae0cb89012b0ff041b438e49a79680f2cb30722a5a2a3aa9b516ff2a02947ebe27186aa9ffdb35e15328c0f49f172af51f764258e909651469ebc6a59cd98c996fa3417008252e3386b9a2d059d3c67983ce62ae2d052733c55732320679eae156d0e4b89da1022bd052340819cfcdd7366c34b65a01",
+          "padding" : "3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 267,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "8d2611d4c79f6b2087ae8bc76610905c361b9fe0a6629388197b4293f9e14ecbeb377206e4c1db35cdc0ab163dc5c51e8a7370a059e9ee8014d18ef0937f7936879d7825c792180a4f10a0d46e0a954f093d703b82bd076dcec0b8a66fc3be9bdf79ce4550c453015dc1c7397ec1bfceed040a4d777915546b9cbcf1eeb13eb71ac49c235e69cb07c315d529442f4863d61b7d5caa5ce07820edf649a9342211a26f8280dab9c5dd11af0752168326f8e8d5e834ddba3bce063f011eccc8f46d",
+          "padding" : "3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 268,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "e12e3540e7f20fb5533772e91b708151c12d8440ba9bc994791f5916d521726b53969063f9e13114ab89de0b0adf119cfaf19dd74a65b5eee32f39e69ab6776dba721adb2a8dea1495c51d5984b6aa2b5d216eb48459103907442f725410f53ddd5d006762dd3167c2da3bdb19f07d27e3fda712f444c093f4c8126d40ca7c381ab1d3875294df84055239ebac5039490b597366b58c2806e52f1f259c9ed16f829f41851b6ce7e390ea73251395bf940997d47bc323657160ede973f2342b91",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 269,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "90ea80b14758fa12319e54c446e70bf5bede38f5d8d8e978531e6c54c567b63a0fb7b870ab963f979c4015c27714dc9292a48123c0a1f13896055f6628687040459488bca149f410cdae4249ef918f10329e902f1344a666fdf96085b7bbfb086ee2f4e5891904f945d867a50289da018c245be31b684bebb8dc367d43d53448865dc005ffd58e2f76f1ae8ac51fa7ad723db9bf3b78b82bc5b0e209ed216575009c27a6d46bfd1d9ba35fd50eaf4a39afd7b3dfdbd2f437d0d97b5b08e1870b",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 270,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "3ebfdd69af2a561bdf4315d015d397b8af75f6c17a3e6e1c6b52bd6e812bd9112e1920f6cabd82b996b1b48be3aa40e447d29689be7dc64b8548ce5414318c4288a6ccee97f55c523661e629d3cb124b97a042c1e77a9b039a8631815c535c8216912ea47684a7220a63c198ef2b80568882e153be8fe92ae4c786a5fd56a1e64fdb235663f3a242c121e59df3a19c29282e647a5123583378577925f399560f6ad3b2a4c2b18ca2547aab5e3ed4030c6585fd2abd1d65fc720bb30354c966d9",
+          "padding" : "3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 271,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "7fbb42d2bc1c3e5a0f66fedd581e5ce3e555f6f1c736db24b6e963d2ba72118cc989e2969c21bede87ff3f4209f2b009263b7ca3716a9d3e7115dfe65bad1ea2a1013304696248dd2b1d70764dae248bd1e9d49623826f2c6640247cbe8bcda47d882e298f30bcf3db1f496c26b738848e9876e4b70f0ca8259760e919e5c5c0a2ce3d05b5804a94b67f4c719fdeb3ce23657a26635f867af0271736ba20abb7fff18bda006c48d9c3ed774365d00aa0340a04906fc07f00b18a572c96f986f5",
+          "padding" : "3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 272,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "b9b478f6ddabce2b1ffb306e2135132df09585be16eaa5182b8476796c10b0eecaff9b91100882f5872e00e3d1df2df40969ca4d00596b6d6c9c13d3a956dd8d91decbd3a48728aea05b8f7707414a8a5de3bf0becbc20ae0ba852ee7c4f2c177f3d95a4a8375ac50e11fd2be4da1f94608786fc84747117604138d06956387924e5d7baa2c97e25d1b0125122c0a13981559db80ac2d6848f4db163027c4484a51ac5095f5653b12059440dac69970b5680e017a7eb2861c857a607446b9420",
+          "padding" : "3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001",
+      "keyDer" : "3081df300d06092a864886f70d01010105000381cd003081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIHfMA0GCSqGSIb3DQEBAQUAA4HNADCByQKBwQDRBg/nxtGF8Jw8GGXPa+r13JMG\n8vNka7zPGeR/rfmM/adxbHl9Fa/lBtVz8ZFjriqw7Zlkx7El2teEESXTjdn0MLMP\n5eoNJAg8ubCfJBsHAIIcteQNx4HnLtlaKoz9M9oGXFjbi4Fmquw4Wl2wT0cxmPo7\nJ9TeCjJnsRdprxF40oT7nKasL/0DuUBQnb8jg4ONOeDVyT/immgC4ScWQx4lll9b\nexRmY/TlVnrEw+34gkkT0m/y3QODDIoGRa2wTX8CAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 1536,
+      "n" : "0d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f",
+      "sha" : "SHA-384",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 273,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "6428e8d022f52b4a9307fe0f93e650e9665680d3c4a66194c6d50cf08726a3de45dbd8f24c9b5d4ad3fb6fad8bf3744d166742c6bb8cd690325e8eeb8d33e1303234d2a9ef9f12f8adb29a423279405dfa25d5bbbfb4255f6d739dafad66e4024fd413b16a167ea4cd66a75258c476e9f23cdf99346cecd6a51d44176346e6704e1f25fd953123716dca1eb8e2ba0288a38723f76c7b873299e34373fc2b18027500c26aa32c903389eed545b87061988f9e06effab524655e52103be7551fdb",
+          "padding" : "3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 274,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "58c4c42da5eee1b757b31e3362a95d75180c0fee472c431527ff5500fe0b5c1d59968d79e6e41650f013a6b3e37c5a1d79233b818ef76c4ed469a09607becdc58987e6a548610de14ff06899ef284778dd5329a27b85072e8ffd46b63a5e8f7602ddb9fc5a07224c49818fc8057581ea36da033f2b936f0761186c7fd82b474e87d47aa1b7ec610642d3bcb16c59bb70ac68b1f081a9c9248f069474d6ed9b29c669fc40a979cdfc2053e1a3c0cf40efa29c01785323995f1d8f3850c32bdf92",
+          "padding" : "3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 275,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "62a81171990b2066d9c8a12d75b719b1d81513e9ab0a38ceed12c19835e8291db53045c6be238fb8a0a7daa974f8d0e10495c197c8d94b617a5e84982b849a121377a4deaff1c61f07365a4429b3aa90a0a475d3475e93b27254e1e0a75f49864287f2027f7b4c8c0f54ad69649c042e2445a5f131dc5d7878d7a040ac8499ef4208f3cf7b63863feb6fc3ae7d9e299ef5777b1d872cb19799f5097d456473760e5953a650a207f50f5dec349e71b848640930608208dd0745bc185d78284482",
+          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 276,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "af896fc432e8f0d10c082153fcfd95b9ad7c90fd1f757d3be4e57556553b982af328b2f3d96fdffa3d26a9fb58e011206f88bfb7dc453f8ecc1b8a86910f993e91a1f70e2d75311015d676ed9245f1a9379f4f29ef26ab403eb1e76184855b10696f5254f2b51e536df54c84189d1a1f97bfb56a3b7cd13a82d8c0262229795a3d2bd46f28c3e71d5ae18c2ab32b295477e3f0fb428c5278eea15622ec47efd731b78d747568757f82a943fda22d37d883d8daff25dbb168032b5b36e081ce2d",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 277,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "a3c4eb3756805db479ee0aa802a9cccec9c9e146e736ed48b8739f2c8f108c579f1a16a71b7d222fd146f82292e78d254ec030b47267490927843c13005b88e2956550bdaab0e5748dafbbaa825425e9d83283a9a5fb086603ce00c8dac8f73dae249082378fcbdef763ef2f207047e9a9eaa35ce466e9569470f612c87292df4babe1d1446c55be5ab0109895afd337843eed2ca777f3ea1c08898fcb36e02674772d6dc3c71fbc49c897d05c81cf2aaef212dab088d9722db4033bb8f2ba56",
+          "padding" : "3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 278,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "d0deb372624d4e1f64b9f3d7517fe2bc9407b1cb99ca0e6f641d5557935b4ce3e0e7fc88a75a8a6b39a7d03b9c9b43d6f5da250bc2c672ecad4f559a02f45bd6319d7377d305493264b17beca8ad93656a88767221113a30c8402794a920da9edc530a6649b881abfee5b92dc857332970973366ba05954d70a99f378e8f65e3c1586ec71f79fec02657bf6dc5ed82c835735af15ab1f305bad5c49ae4dbab4f6bb4a5c70d35ba779e01b85ef208d7def3d0358fbe9202923fd035d58ff36a06",
+          "padding" : "3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 279,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "4e47d4cbe778a471ec643bb235fe9ef8d10398bfb2edfeeb9c9bc12caafe4031e33144be385e3adcd1609652f4c9dfe15f5cd6ba3ff38b34dd67c47c659473cb12f9b3905306d92405d38bb763474ad65e96b7f68104c1dfdd217ee56c912f42b054f16efe23fa8821093d8169826a64a77b86ef33061210280e3b4793fe540a09cb910f5a1f12a410b588c2793726999021f8880b7d9b83792ae9ed282871921a63976131b8aef855078787bf32df696458e507b1dba70d7422d4d37edbbdfc",
+          "padding" : "3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001",
+      "keyDer" : "3081df300d06092a864886f70d01010105000381cd003081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIHfMA0GCSqGSIb3DQEBAQUAA4HNADCByQKBwQDR8zxNDDsSfP1McRrvBU4pHLmp\nt7dp1t/OpboC2Z8IB/+2Pwl+17XF4q0JV4x0mGOpaivtw+cnOP6IekofrmyoyOci\nyN7cBlpN+fXDjpUBdafg3pAI86mmfjQT+YkeL4pwsp9V3SHSy6FvjiMA73w17R5C\n6/vnBkUjDd2MBn2ukGmuXzKTeiB+DniW6H+zmebJO8W/bCUE+9s+z8KB+NopEVsu\nxB65rMQXbjEf6NvKwktX+NZWYA5ftAletL+QtukCAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 1536,
+      "n" : "0d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 280,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "190497b9c697bc8571dea0e67a6594d1ad0c401904a6a8f6e44837452949b1fb2044482ada64df89978f1168d5caf866afd928817afcdb589ce3dc6ffc5d58cb76fb9edc59b7d9188ead57981e1acba36e21d76a668660fb7bbf6f0c946ccc86dc251855c2cc19de83d11aba1d2c465db713725c2014e48865778b762dcbefd40de78f624436c6a3d316594dbfb3b05af97cb1d19229b3cc29c9cc6df414ab963bf1d6fb4e50c82dbb1add6d091d5930de580a988e3268cc5716d86c90dc12bc",
+          "padding" : "3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 281,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "5259fe9566e1bd81952a805384b1657374f33550ee0895b57b7a0869a831270d3b3b2db8e295a4eb98d8eb036183b3d228ad22b8e493c7eb0f9ab00eeab2e086f10f8018a8daaff4858ae745a4d70881a166963c64403216422e18974aa456d8229ef2e43002e0390166630c7fabd14efaa974a9521a72a69e0b446971db077ce80f6dd95cf797b6ed276873bbf6b1ba6a79df8c917c2a3fbbc0e5347b0bb99eec6ad0b6bdb7bc9d3e0a7f6b7b623f2aa9dba1e940676ec5629d39778286f261",
+          "padding" : "3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 282,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "288226f169838f352ffe409368cf03d840e0c0ac5e2c8d24471a924bab05ccbef26f202aabed9fbdaa33ae4a95de90e4196d92a72926971230f90a08fa68e51b326c9b5dde4b7bfe76766b0362695315846c2270a67e7c3f623367c87ce13670c8c778ba379b7de015a1b3fddce8d54825ddd22a8f88d89a43a0c5be784c1c1a1b920aa0dd31102a23d50e3874c411051f724a9b6181299d63db58dec0dbe667f7455f97f5abddc87cdd9d85e7e8139fa5e4ebd167aa8af8439934f34eb7f1e5",
+          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 283,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "15eec15039b374bab3d0eafff08146e4ace24e67a2dc14dc6cd19826cff0ffef52f62210d5d1299ee482c6d39be0fc4544b2911af75a8c5fc1b57b658febdf094d4f648f82ac88717c14204e3a570b2c796ac3a2e3cab052c3ca8f5d39c5e5a4ce883b5aeb6a9e6f0b72d6ef7b8caaf75c4914df6a8a0e7ba6180ac639296d9e29f21b7b6ddc09ebd9559ce95d3fa27d7325a2c3e8c4dbe52f18036a9261a2f35c48e34bb5a137fd92549746b0095008e63d351acc66033f3c9b6623d2db976d",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 284,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "17f4a3294054ba76deb171fa60d4d224604082432b5119253bb28766aeccfdeee20fcd450fb2b1c76496d28f871b7d3b3b768a81ccb5313ffc37a25760c30d282c309fc929108ae743507edca29b594360c924c8f00f472bdb15fe207fc76c83d4160ec3ef502349f4baff23cf2c954029db4c68eac992447dc63abb3126c1b82af57472aa205c40dbd445f008e01dcb3ddf770fc0d778c3f4913a9c4615dc6291e29e0debbc3b02a82f0a52ed59f0ea19cced519cf037b4d6159cab53c23c67",
+          "padding" : "3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 285,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "505ffc20f64d17502d9697458c58153b34bcf607a01dfa4fc77c89df2ec41e63f9b396056b76140c46b2b47d6535fea8dca0ba19395df2f7e7f2ba53d05c9cb4eb2e04d2a123747f15899c65cee85e794626e35c0f1dbd3e592904c0f0324e417d122a0adf401a0a5d5e7516d263fc8f6909c7ea7c984a4e3f1c9535e6a6e66d8d35689ced12049b4ded2cc93a5e6148773dffdfd1734ab55822a6e38a654a7bb82fecf83d5816228962e17bb8bf6f3108f0c89bc4430d67c38d648d7a17a29b",
+          "padding" : "3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        },
+        {
+          "tcId" : 286,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "75627812c1b05dea5a309394dd74d9fad11a6776cbe6d8ad0936b343bdbd0b6a770ed1075676bf55cabaded9c6f74913e97f512dbda5b9ab0578b1f1dcfde313fd88c4c876252f4334c2d4752abb22c484e76237f59878b42d4d75843c93761ab3532295b6a26dec558fa6a65321d0f6f3fc88c8c21ffb8b0739de2459f1a3fe1fb9b71a92de934d86a8efdd0447885cfee91ed8b559df65d5b57276b5ae2068ec30f3dfe48371ea59fe487419c9fb3c4b58449c46553b497a2ddf7b30aa7a78",
+          "padding" : "3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001",
+      "keyDer" : "30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwyzQ4UQf3ooolso6Ezc1\nvi0QEHd8/HOa/He22qZvNn1IdtzLMCH8IsJUUKaNbPsRkdSFy/ul7EW0kobXyuK9\nrlU/R+ELlPhnq8xtCv/HM7rMcl5atN4auhmjnXSLTBNV1aanEKUr0EwMJOe8O9q4\n88466G7LMcS0XhC0Ddtf3UDLJBG89bHTkuHu+VnP8nCabgKyD/O0NDZBpreFmVhu\n3JtnPZ8/Xp0znO6/lqGjFlWHbDn8sAscPlcZCMm3RHZQR6u1wj7MQuVR4TdV44zJ\noT4eArzV3OycMB+rdb4+Go7pxCmBYHq6eFX0u+dsjBYOgEaLVL359Dixd8M97jCw\n9QIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5",
+      "sha" : "SHA-224",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 287,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c",
+          "padding" : "302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 288,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251",
+          "padding" : "302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 289,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67",
+          "padding" : "302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 290,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed",
+          "padding" : "302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 291,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2",
+          "padding" : "302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 292,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02",
+          "padding" : "302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 293,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b",
+          "padding" : "302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001",
+      "keyDer" : "30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAorRRoH0KpfluRVZxUTVQ\nUUqKW0YuvvcXCU+h/ugiJOY3+XRtP3yv0xh42AMltu9aFwD2WQO0aUKeidbqyIRQ\nl7WrOTGJ25JRLtincRoSU/rNIPecFegkfz0+QuRuSMmOJUov6XZTE6A+/48X4aAp\nOXofomqNzib0kO2BKZYV2YFMItphBCjgnH2WWFlCZvXAIdD87KCNlFoSvoLeTR7O\na0wDFFtdNJXU7VQR64eNrwX9evw+Ca2g8RJkIvWQl1oZaYFvSGmLy7obTZyuedRg\n2Pn4Xnl1AF2bwixOWsD3waRdElaaYoB9O5oC5aUw53MGb0U9H1tMLpz3ggKD90K5\n1QIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 294,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486",
+          "padding" : "3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 295,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102",
+          "padding" : "3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 296,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 297,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 298,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8",
+          "padding" : "3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 299,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907",
+          "padding" : "3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 300,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852",
+          "padding" : "3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082010a0282010100bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f62750203010001",
+      "keyDer" : "30820122300d06092a864886f70d01010105000382010f003082010a0282010100bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f62750203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv7GHPD6Fo4OxTDb8CmMM\nfE7VGjt8j+dS/e4lnMpSY0r0uSdjleWDgbwBi9bONyBN8UDFV/vFKFK9+72jFZbG\nNXQ2fuJzrLBhZCEKajGT09pqcgQwuJ6MgpxLzQgUUoL7KVqEgJU38mqOEmYSxXpg\nXKKzPtBnSq0ZkU4Mq3Paym4BhzWjNmGzmUcm5RWOA5D9v+KtH6JyFujCpLd4V6lf\nmeLTUyZDi6n6CsEZ+pMKgXJzKZ9uSetluk9SHh1QxEBULH/j90h2GP/EaTAQ4AST\nRNRl+lfc+Zmra0LnARVxqb9tesPIQ0Tahy6c46irVoLOIGu6MSmQMxYRaHAO7U9i\ndQIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f6275",
+      "sha" : "SHA-384",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 301,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "446e7cb43ba8c5fc5835f35f764e183fd54cf26e406149343f1346aa2acd215a6e1f26b9af53fe165c81429f6dd69e422ef7f0930c750ce0a79d1bc8491c0df320d81cc57606833d02f1c82e3c55d730e982e29e3c59fdad24d3910d8ff75df99cb3a67b8bdad00f7dea293f98c90e812ec182132b257c65a328ccc3fd203eb1b09181f50c6b4a8767071bcbf9c08c8d7fca99f80476975cd6e6509014cf4215475435fb520bb7374886c5664577092ee47a6460396fdcc8c7450c3b87ff9a951a8cd6e7209d762350157f7a7f8d6858bae4aaf13e38d2d06a7b10dbf96ea2e444ea66c9d1c91def798abe927715ffcce2d4d18f34b23ed6bcfc2aa79327bb80",
+          "padding" : "3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 302,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "51c1c99864e703b875e3e1629a7227d1d777e13d12968e28b358f5fc910cac6c836183aaad8baace0822a9468539d476a8a1a8cb2fad7486d400b11794ae38ec288f1e6e0c76e3616601634ce4286230625dd4c970ae97924e5a2982ec6be8cb0bdb6dc62523999cdcb8408e1aea3048ebe020c8c86db2f9b424ba1b1ff7afebc775b76725dab5a521e06d7ca876ffce9c6ac210459d19b65f9a7ae96a6febb352b500d2e2723dde3ca2c1a073cdfd99945fb521e8ebeb1e8da1c382c3f4eb73ccd5e6af07ad4ba647bbaf6c9435040de3924dc25289eb87419e367565ba105ed7747468acdfb3654fd3a2da7fa33f26347f0efce04ec91968c03bb6153a333b",
+          "padding" : "3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 303,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "623c0920639c8cdbc0f0190a9488ac6996d36d4fa4c61019ac5347da64862b3bebfdb112365d0473d32736dffad9be3a24acb57d1ec2ef7a41fd8e972a70beca630867ed6052b76c467c86c5851db0ed0b898fbe33cd79a000ca529eaf07254d979140d0a1aa43f1214fe13876483e80e96f1d17004c89d598d359e11764e0c4b0491e9c52345aebaeefe484f9ba0c9b5ea824e267f1de9f75b882c0b89888718a5dbcaa0966ccd0f2e7243e794e33fdfbe0569c0e975eef3ba50152db5292d36ffd6f85bfedb6abf3c65e6f789a504dfdaf003facd1f16c66c06a79549552109d55c1bdcbf0abbabf7cf2b6a8bbf0065fafe41e029f783d69ed61360cbffb01",
+          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 304,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "22a290e37fa590f3e164cbd7c211faff31e43ca0abe1f5d6f6b33bf16fad3925b0f9c41c9d847d9fc4cc9ec1816bd133f916f8650c2d77f482a753e7b8e7e2693bc345895de467f17690f8330d2212928d9090d34802020bf73999197f70896afa9ada4f353d438b6a0c809f74c28e65d2431f3d0c50e1d536fd3efcb6eb8327f18f0ce3964eb39100531f73a51b10a42d5bde73969630727fd74fcdaeb2a49687e344fedb0d54d1ddc7070aac0b08f4594b0f9e7e4c3d18b9ec24e20e957eaf861753ec6a2de28de823e2f4c7ee3d6d42a5f5480b4e32dae97f802907248bfb29dac52f24ab1009c3d0ae13c4ad6bed1e575aa86ac9d69ddcfc771df7b890ff",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 305,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "0c9ec254a5e405d6b33be22985471c75b6b66158ec73d1dec8bc54a25d1036baf23e902a9ca025732d6cf581a7eb0cb59aa7fcb27c99c5ce5146a59627e5453faca300a0a5f95d9d55782bec4db4e4b2acbcad85d222403996f2f05552b8abffe11a1b517deb4c25e39ca38cc53252c987bbb992643c4c280ffc71fc87cf776d94adf3d2cba279df2c2021f68bbd4a87ea6045068cdae95a773c1e7f1066d37e67b91ac7c5d7850a25589b8bc814eefb30547f847fe9135aca321c56291aace07ccdec8a5848c7a80c419aa35ede36f50d6f1c593453561a46c4d767a7cbfafaf1d448c5ac118e121c0d06045cabf171fdc43192bb7b30449467ba95c671d3fe",
+          "padding" : "3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 306,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "ae7836c86c23e8b41ec2cd750838e78c5de9d8d54e74e3985c88a7380446d4fbd6366925ce5dcd213f46bf2f5f6de2cea4df015f2cd8c2c3d71b7adc743d1d045c88598c0b1ddf1bd734c2fbcfb446c9ead91ec468ffc37fba4f948fa950ce6f70455907f34d76f6a68e7b4d7bf2f805384fe2c0128eb3418f804a87d96c2968d69d3487e2d827cf1da978b0c723b312ab65bee05e01245ecba28ed45f46cb249641be080a3b35a3f1925997f52e774a3a509a384dc7f66f28d6930f8ef33704da53f582305b61ba234d11148aba024c1dea63fd74b6f34e4375a130975f7bd257df5184573c426910d3930a902e1d05975ec45042241f3322c34f4a697c429a",
+          "padding" : "3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 307,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "8de7393e352364d42d6c45ba249cf557d61b6283558384000b7552267acfa6ec3607d550d37b63850f4e734adf90608b76ed05a74e97fa4e8f42f79a14dae885e1b02d83a2707241518295e5844cf6e7dcd418bb935aef3bda8309eaca38afecf80e12fcd256b3ba724f7012729c1cc2b5ad36135877b4082b718ebd10212f19e45f17d05d416267a67759392b58693d093cdb2747c4c06f2a102e164e9498f83111ca97250a89dfb9eada0095062b90f2c44442220e4ae04738d7a76394e3ee859497224c33b92866941d171355017bc5ccebd61ed9234963fb63acb6ffb6571b1b20ff806a7050ecb14d48eb745c9acdc95d102f62455225db05eca49d4ec8",
+          "padding" : "3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001",
+      "keyDer" : "30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwsSoYCNtPJCWoHbWulEH\n4Pe9geG6kW9zdXJL0rCwtjlWgTcVo0V6sEWLcfs1pFsn+e96w+V53qRd+/0HgZ7W\ntwIapTNsWEQqrdlsqe6dMkc+nZJ4VitNECWK3mqY+xx8/cOzcW713sWM9zs1nziV\nmbS1hlqYY1GesAHDJDh9p1VFDbNBMJNg44B8BWW44sRPvV5ujQTQBtfudouOhDYI\nKpD6DoN/MvRgh6tKDZviiqfaF5TOsBcqf1DtIPbfZB77y/0qrIl3XHYacxAJPGcc\nl3+hiw1uAfsl96QytCxlNZeExokgVxnBz246Zdri2kNMMm3egbtv//vb9t5cFrun\nSQIDAQAB\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 308,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6",
+          "padding" : "3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 309,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06",
+          "padding" : "3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 310,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d",
+          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 311,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 312,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d",
+          "padding" : "3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 313,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa",
+          "padding" : "3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 314,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77",
+          "padding" : "3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001",
+      "keyDer" : "308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAxv4jeSVmAjwmUofFrG9x\nVBwJlNEdBZ7mQDmG76IcJLUb2R2IYvnfeaTjKOPifIPfJgslqbQ0IK/8RLUejXUl\ntvKcNypAUQRzIAdSemLtgvrHP0iSqA4JaCpBpYzTRwF/O+fYATNPktkyGq/VO1G/\n+r/HUs/Mrgse4Dva/55CjMHBF/GslrT+I/jCPmOBGGpm/VkokzmuVcS82tv/hKva\npTIkDU4dKLLQSB2t07JGVXyo/hgJKBdzCznm7jeP/MhbGf/ckWqbmRprZtSpx7q1\n9eejciEBFC56QQjBXVc7FSieB+RurqB7QsKry6Mw6ZVUtGVhZbtMDbK2OToH7KV1\nxRqTxOFb2w90eQlEfj7+NMZ8qJVLUw5WogobbYTUXtG806pY7AbxhO5YV6qoGeHM\nqaJvTijWuXfTORbbmJbSUtGvp2Lih8sNOEzHW/5T9Oki0C3QpIHAQuLTBrSzwYk3\nHldbJeAAWhZM9p3Ql25NW+R2gG6mvmCE5xq09axcGxIDAgMBAAE=\n-----END PUBLIC KEY-----",
+      "keysize" : 3072,
+      "n" : "0c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 315,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade",
+          "padding" : "3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 316,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772",
+          "padding" : "3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 317,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 318,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 319,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e",
+          "padding" : "3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 320,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b",
+          "padding" : "3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 321,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11",
+          "padding" : "3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001",
+      "keyDer" : "308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAoHiH83M3gZawt0jN8xwU\nc1zPoPEXrK/aoh/eS251WTkLg057kunhzJ1J/A/mz7YEKWUrS/mndo9x/EJxym/v\nTkMRkuvcmGML+5TFuvGLTPeIHYRIPkxEwi2xWpYncFoLQqJtbz1gCa7g0qcb7fTU\nsO5rb+wvFuEnfsqjve26QGRzpHbRaI3w+tHaeVUmx+ZBmBtIErBbaS1gxgsr+kJM\ni2IPQNydulnixxDn7nULPhNMH3H0MhBoiv8XqqQc21ZodT8ABrHPlRvFlR9NiaMR\nlphepVwJZsNmK8/k5M008S5K/X5cShMHObEBfWpYOIL9ctsaZ0GHAsiwE1PM91t7\nk/rsDgvjYhHV8r2RDhVSMjcRu+tzhY+JnMHsBj72fYjgxpnVponFIQbwbpYPCdKj\nz4T1O76ipHPt8ubgF2gB0/ocLTWOHlom9kask3luwfrcaZHA7BnJ3ZCyWi3Tv3PS\nzx7qiGf5bKpaLfVJc6yyotoKE2fsdK+7lo9Rd2UjjRdpAgMBAAE=\n-----END PUBLIC KEY-----",
+      "keysize" : 3072,
+      "n" : "0a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769",
+      "sha" : "SHA-384",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 322,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190",
+          "padding" : "3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 323,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625",
+          "padding" : "3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 324,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845",
+          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 325,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 326,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77",
+          "padding" : "3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 327,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246",
+          "padding" : "3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 328,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca",
+          "padding" : "3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001",
+      "keyDer" : "308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEA+uEjY8xR4mbefXS5iQhf\nEPwI9ENj+rTqf8xWEB0RZhbEPeMTtwVpyyfeE07PNfy8xEioEIJnjuGuQnxI9Fmr\nLELJCFkRo9gckU8Ee6Ru8aUqSYProRE73w7pXoXNIyJM+DL+PpFtO/+m3c/uCSaT\niyxRyJBL7Ec5r8TweXnL6r1RS+WiuHq+xxx6KznHNtd2RC6p6V6X3fytTEw7Qf6F\nb4HM5Tm1BXq/xvsaoVMxbqT452uNyIBO4QMD/C3BgvfOXZB+eHKWeTM7OwEldLTH\nxhPAIM4TiK03/8D2sjMMxe33zpuoDrmEttoqxZqrqjopFy7Sk3kg9HwXRH5hhRGb\nmzipk1ZYmXtIdzWoGEyv8QqPVV0DRVL9V0cbKT+BPxmqbCE5h3mSQ2/RlJ6+IllS\njJFxZBSqcv+Qu1FC0v1ee6EtjfGsmVQI5/tkWpq3tvaV5AUFAKkEIlODOwVRgmV5\nFSRlifg2IgO1UXsvcRfSrKAV/OPMQcaxvLLmctsULVJFAgMBAAE=\n-----END PUBLIC KEY-----",
+      "keysize" : 3072,
+      "n" : "0fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 329,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f",
+          "padding" : "3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 330,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a",
+          "padding" : "3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 331,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a",
+          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 332,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 333,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd",
+          "padding" : "3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 334,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7",
+          "padding" : "3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 335,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd",
+          "padding" : "3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001",
+      "keyDer" : "30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAlWNT7LdWGUXcVUTkYCRm\nB4yT8oUHcB/9OeKpgTyKyHQOatYclV1ITlE7Pc6lJ+ABoBjuLCB8GAapZ2MoAjbN\nPIIN/3mDfJtwnLS1ItPdvJGSJCJZxDvnXqJE03zPqKTHUCSiz3zHboQuppzHyhIn\nQFsHAEc4elBo5JduS47V+arde02wJPu4172KBA2PZhDBxusdS2Bt/RgiNdA2CIAw\nTVp1BgOvDEJLjI5tvBLDaX0tYJyXVH53Ti42LqltFpDclDIRLFNSWLPbLEwyrVEN\nbAetB4g1eIOGnvuLYpKYckhHklz0KzQ4a+cA8CkD21hSJ2vuI3CUHzl73DkF4wlk\noLXnNgJwM0CWDD7WB4JjthHxl5Vf7M5LmjLkPNHS5eh8TOtl7ciFOn7jHSjhblrf\n+4rHt2D7/GPV8XT00JNkYduxLJZKa21s7nUuX8oatKn9I43T6IYKHXY9IBn557me\n12ZtTgOHEPkOAJO8VmmH1sAJL1cTducFs0LQZsVObiV4knuSwfCSjeROmm4fSbkH\nxqpPYF7Jw5jVXfgcZzc7A8yBEBYvtBf5b9MhBIZH38uzkkVRFc2RLqgzUYU+ahhS\nhGSIQq3L0l5nF0o7k7imTOLOneDoV3uLZizjLiVleCZl3Tjlu1/MT+EuQyDat3c7\nVFoJxtOdnbrUWfIfPmJO5u0CAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 4096,
+      "n" : "0956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 336,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "368105195f0dc82c2cd37e8edc6ddc0c983dc13ddcf6f9db9a24b52921e5280319a1bcf797f774066d643e5c99b811f0ad9df2a3f430f4848a03ddb97e06daa4d01ddd50bf2b638935cd26b19d6ffccba884a4e7cba35830c6cc5ccce38bc0fcc4ea421347e241711a551c67923b3daaf2e9c51635d416cc2393a9a4f108f84f26990c11dbaacea75e39dc6082b539cd2c0c8dda6c78cbad12e14a352b9dd5c92a3702d8538fcce0e92e26489ea83d75c174ab671210fbc6c397be2167864b519b5136d23a4363ef773ebc140e1da4b0a788d7b1f15a300375ee42b27261675fdfc60c29bab7022dc2e624c7d1f31e278ac089c5880e701bec41f63c8f897c0cecc5eff0a801dbc58d7d4df6e860c20e61f31d9ab2d50e8fbec7471070d8ed06c4c9c725cb63afde0cc4475d3dcb7dcad7eabd874ddf7294cd9d2a66b13b6367a14dfe3827da0c6c8b9e734deece80fd79609ce5ce0a16de6610fd04a09b0b2411bae2bc3222ab4c02867838d0c8346c60589e6204b226efb401841fb95da05ff32989ef935425b943d1b5d2f8af5113491a36c60a98c90b6453144f5fe00a0df3de8d02f0f59c7b94ddc7c8895b1dff8d88f69a9a2cfbb55eda0837800950601fc9e230a5514c9674fb576df8391c51ba0febc29c267462ed5337326b6f40d243ad7d81459ecabbd00126b2142e6ba10d9f903a9918d2280c63ee84b47062e1",
+          "padding" : "3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 337,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "46a6c9cd78e38d5567795dbea71872ac16da06725975cee7d8839d2de665ec3b8411277f3e026fd2f9b836d788b48539755858bc8be0804147b59c09354b372713145e5a000ac15744ccd2db5795727e2f4d5f67bcab5e7cb1290824963ae88528aba0e6785989c8adb86084d26dd1faea3ae2a6175739fe978b576eff673832e513419806d206e0984d1ef0e1c8d8981084ee2ee569806b003fb7f08e775998eba1771f1efa070c00a769363c6101d5c5fc6140f102469574cd09746130ed80d14eabcd0a0418a752d5595b5f40ee0fb05f5f9860e600d75fbdd53461f5ea18be5bd807281f9e8fd6cf7eb31985206c9a5033cdea631512bffdd977fee5e692b3153a2ce9c7708a9c7d665d84762740cc9ea374bd32c18c2d76320e4893a2fac374ca7122e01e08011c351bd33725a6adad96becd44e4ec1032fbfb0c8dcf13cae9556eaf419211d0149c574b8d12ffe5bc59468c7c549283be541697258af847e52a9aa8063557dfa40404adbaa95e38ad28eba053aec3c123e98ab1b947bb774841e9040dd5409068a2c8a84c530fc4273897ed845d76dbafbf45af1a8fd2767234fac1e852453d8b7eede02af228d8b5821238a50a321490dab74d687a3400c34f215b85823424c9d966b516cccac38fc7f08769f47d66c57b9b75ea67be82508a513946bcbc809436efc4ee85f139b143c5bc15ff69ad1f3667c3f69bcf",
+          "padding" : "3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 338,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "43929c2fb0986fc4570a3ee7f6701b96a78ec9297a997415a142ae539031c0e196add5e4c6ec572de0a2b109cf23a42567ebe98f42cf312d07538e4a32b0f20403b662c652ba9e3d6e38a625d6b5e91cce5c810d7a02262338e144a57db4ac4debfc536e8eaca7fe08022a2f64741d66d25e3010f2fd259d4c6b00582584bbbdcde4266d86eddfd0443ff24b06cf7ade6d733c637a48a398dbb28355ffb9bd21a49de6b345ef635b68d917b5bfcb9016f7c64c444dc0036ecab8f59b0d29098facca02335df44db87d30d02f08553ffd0379b33d13d09a385cae7d63b6db52e9b1eb8fd549e0e1e18210de1d3e9527547e5c72f816eb36288b09d96db772f955ca46fc8cbdb6eea93c841e1075c00c3c45e9442d28095136cc5ce8212ed8c60c9668898ab5d64734d4d0f2311f104cf8a732e6d88fb2064cb57bd54d3cdef7c11c840ecb238466c747289233a317b73785778ff4349949da47c9b4b2dc9f89bd1fe7e98b582500dfc05dba3fa410cca66acd854669940543c22ed1038eac7f0212b9ce4aedba0eb15ea1e75a73c45c1ae03fd241662e9cb89b051939c468db3a0adab822617b5bc669d1e0226cf6b475445d9d5e77ef54ed646cd81f0952b949b7f4f37381ba6427e060966467a76e1d9261a5fe8c68398a89eb5025cc39339885b6c33dde898a159f0af4acc81461fae37f5f4c61de4a888dc4f6b1e2b7336f",
+          "padding" : "3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 339,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247",
+          "padding" : "3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 340,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "0a882c367ff495646c21ef0489ce268d6c4e6cd0176bf9488d4b8edf04e1706f23d121b500b427eb8652099689429a08e73294cfd29694f9b4f33ebc8a7f9d0f9d11f114d0f848114d116ebcab828c7ed4c64d5ddce9958bd0883ae82ee2be0a185d54ae64690accd816971ea5ef80d7d601e72a814b9b61e8d00727a843ac90639f2c83cc7e2a9065ebea3e7aad3b12dd9ed8a1ee03a43e669598571490fd92b699d2941fda3af7271f8864c844f8efcbac20066c7bee682c644da2329db721ff33a7a81869a7bfb7a910fde6008e1bdb4e9ff989ff78fc0a9f43b38399083808fb3f38f0e96d4020bf8a4b329bbf81d59dffb03f5d1ea34276ddcccc2a4319393e1777488c843f9b0aef1fcab7a97e00d50f7f83bbfd30272c8ea4a5b0d7b74e7f7b70a9295d0e942e5b6e627ff8457d0f60c1aac8fe10b7d7ab1b8cd18d3904bfde2a316a83ee2b7633c3dee3141fbd61c8115f88ee7ca4b2b677d1803a1a35361c956c1adcfa8c8e10f0422eb3347b4983eff3c1c79e7da80a2e7c6d55e61f5af74254bd91db0d4bc10c3812513d832bd6a603a6bafd29cd5c062d9e3b74631f873fb3ab47e59791446e5f795d6ef5bbfa267a541d4405dc09e82c8b03f51db4798cc96dda7a7bce7ba9c679d851d5dd2e6b3735aaa2fcff0d558d68959c6af8b283fd383315762767cd0e4ef6e027020148cd3b14833cad4d92c2c9ce15",
+          "padding" : "3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 341,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "374603f5d4728526e6cc7c7bfb6f456bd33bdabf37d942dfa8132a9479f6e4a9c2dfee515d883ace45cf1d660190e442a9ea7590d67aac9bde6951314af90baac21bed537c774148afb7927337d626525e13fa15664cdd78dfa5e3886ee1fe7137ad5f69aadcb098a0d49475b0f76ed1bb86cbd08a0cae9a6ec120eabd55b7e5c4456bfac2b2acc3892110b7f62c0dbe7ec7e491474c5c641453743fd70b15f7a726a0ca44a78bfaf3445a979bd4df362b7f29d4ed9189bfcdee01476cf1b48c2edaf02d226b41f587a8db161bd36e6ea20d64c8773fbe8c0296b9e016ccde333b380161a641d822bc65d3b60417534072263cd461a4f77826cbd0508ea11720081c34b12d80ef0963857624d48c53748f279bf6ad338ba564e35d37d1dea27d19ad5dcb76d6f4aac62e49eededb1121e06b9f78eb285f7d7ee2cd475e791cc04c029cb76e5b33743aca3ac3adf5e317d95aa79a2f0ac3c328e69ea4692661b8107d89eeaaf3be01122544fd9d0c61511e87c6a5507c5701655d35f71586badd55b26363b51f019896c03326c72332de5be8a0f146d630a6e747a906684c7dc59d3bda667c8a92432e879f6a4d91d3cdca89b9840285bd8a22e5e5bebc32011725f64cb5fcbade8a5f5f9ba372a9be7f0a4907e40b4d06feffee3a558fd023514b504308a1d821c41955c305f550ffdf005b9bd5dfce2d16d3d09bf17c156c4a",
+          "padding" : "3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 342,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "401bf4e63be4259b54c5909797b2b01fca18a6f74d76fecf75535f2876079ad9ee56c653dafc3513eb02114f5c96efb4025cf58c2cd576d003f688b11458fe3df1657657ed52b2756a99b48c6722708ef11765c8da2f3b061c779f26a64fe13e4be4602d0ca2553793d36c23f3194705e34a75b9b91ff7f4e554c5907b85ecb561a8d22262aa3669cc7be2fc5c21b9170869ff52dcba46b2b1c688e4c04e7a8f099e3a4196863bd1e828fb5ea5443b64b190327622055d44ff4c9999601338e56c175c716abf8d6c2ce6b9ef17930e846745e751f882ffb3f0b1a20e68ce9083d1466295caacdce85bd4a34615d09f2051839ff83650708888db818aca9229c38ddef86848a2c0c88b86a2f5a1079dcf0e888be62e116850b7e8d06785627fca1899f6d7c02eb60c3bae0d538cde8a05ef7281bba7f35757360ffa79fdd08642b6af5aaf8c71a32aecd0e9f3d9a2ef164da1740a5c2dd7943603bafde05e38f2ba78c15c3eef13a5059f3f242f07af2e6044896d1d6d9810ed3fb8203ca4efc116e95d2f53be8c55fc1ce653f02597c0df7d4a7dd88b41c2a65e40bf5dafbef2a97e4dc3bb49445774cac283ae131c08492c9715712f998241e16eb776915f15b7e9544ccf1dc220a9e139defd63cb2951090808395ce56555a7cdab4564d82151ddc0ba00db24454f2174bf0fe7ffe6e2d9d82a92437890bcae1601dbcea29a",
+          "padding" : "3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001",
+      "keyDer" : "30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA46595b9E3n01fiOMjf8G\nPKcTRwd3q3hrSViE56m6Hd5l3n0rW+Pyt9GDDPbKjtXAXT8JSqrrHdLksu3ghhMQ\nmpujTH4r+EUCJZdDdEWfFtosFBksY3mF/r677wHwOB540P1jt2A49ePTXcfSJDlj\nNmr112hfG8/JncuR6UyTAZBoNTEi7dA8w+YV4Xwb8d18Q9rob0ekAjj7WUBBzr26\nJfP+lZOmwym398R26rdiXRe6e+eIaTa3M/jc5ubJN/WI2hMVwRF6vSnIOJXZWYjR\nf5/XYjlg2OQz18aEFQf/L6rDbg4ZpB6yzM2yosD66WZxmpnSA8kkNJvA7qE3Tv0+\nIwmbLRh5IgFv0BQIdSCmc2NocyK5DXqJDY9EZKjHlNKj8gcMzTsOu8orQrv466by\nwL+ACLVhbue4Finr/5epOluGGYnaoQ2nyOO8ewzbCV9s4Rhc+P09ygNes+UFy+Ai\n2B2TlFoUSAa5/gugfzq5xw5ytft3rG5MfgOqLc58XvInq6Gs1Iwdk+DibwHo8eQ6\nqXiA0V1skksGDR+s4h0Dp5bIYwH0p0M55HKy+WzQdVdBy53zU1B3OBrahNG8CEam\nxEyKjTz+G3qZE9Hz168sXqTmfOCn7TwAWCBv0TrZzK1aghLz7NeINoprYUgXjHxe\nqNbThSJ/LHagRyFuXiBrHtECAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 4096,
+      "n" : "0e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1",
+      "sha" : "SHA-384",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 343,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10",
+          "padding" : "3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 344,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326",
+          "padding" : "3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 345,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e",
+          "padding" : "3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 346,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158",
+          "padding" : "3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 347,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8",
+          "padding" : "3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 348,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1",
+          "padding" : "3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 349,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e",
+          "padding" : "3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "10001",
+      "keyAsn" : "3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001",
+      "keyDer" : "30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyadlwmYbRnTP80gOml5G\nKtCtL8m8b772KEezET0gmR9lOWeXHCglJ1P1+6zOASwqirWSkU0mnvr6ck+kuSDj\nQJMMEG97Nvec6/DmLojg5HaIjp8OIhhqzbbEUjojK2W0/yzCLcRPilWVJ9edfNfc\n83cyEve7mqEzwxFlzGY2kL8SPXOSPIOJKcyv7lnWxwlbjUp0uvLRksmk6HxOErxY\nATB4sop3iegunzHeH01qKqboBjK+jkvfJj6NSbCUFvsZxIjAetivciq3kYKyMCin\nHgZdAkEqnuvEbX2PTgPXkjjYwMtKl6mhIA67bsZAQuvsytlWdSbu7xLBfZTBBJyI\nmXC5bpTMNTFyomiknF6L7hPBWznexE8sehqjenoLb3IpCsraMrHYrx/D3IqJSHuo\nE0fL6xNQkl0w+SOVgQa0mVnIcefB26VdoHcuNiz4Yh14YQhouJThbl3+yWh0qTpM\n83m0fn4xjOMVBm1w7jk4FApgFI8gUIXO+KdwDKPFPVKldWpjs7FvFTBithJipoSW\nIQyL5O8/kCnKDqDjs6DV1tIm7bv0Ta+PBF3Cht7TxOxNtrRTRwefM+r5jjyVtLYO\nee9KMJP+7FQ3A0Irp0oRhRHCGTtU/otjOGbtLHBcy8bn2dNlaAnsPTNW50AKlkjs\nN1BQQePjGvHALu/pJKZwR9MCAwEAAQ==\n-----END PUBLIC KEY-----",
+      "keysize" : 4096,
+      "n" : "0c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 350,
+          "comment" : "",
+          "msg" : "",
+          "sig" : "9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4",
+          "padding" : "3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 351,
+          "comment" : "",
+          "msg" : "0000000000000000000000000000000000000000",
+          "sig" : "659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0",
+          "padding" : "3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 352,
+          "comment" : "",
+          "msg" : "54657374",
+          "sig" : "46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9",
+          "padding" : "3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 353,
+          "comment" : "",
+          "msg" : "313233343030",
+          "sig" : "12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee",
+          "padding" : "3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 354,
+          "comment" : "",
+          "msg" : "4d657373616765",
+          "sig" : "27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2dbb7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c444347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c",
+          "padding" : "3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 355,
+          "comment" : "",
+          "msg" : "61",
+          "sig" : "2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6",
+          "padding" : "3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75",
+          "result" : "valid",
+          "flags" : []
+        },
+        {
+          "tcId" : 356,
+          "comment" : "",
+          "msg" : "e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff",
+          "sig" : "811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9",
+          "padding" : "3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "3",
+      "keyAsn" : "3081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103",
+      "keyDer" : "30819d300d06092a864886f70d010101050003818b003081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQCJhj9pkxd9ZeXxttQeGD694f6M\nDyP6jJmJO6AmdBa3TZO88Ey3f3u8UBX1AcAB/oHu1cM5/KjWgEwpUjZo1Xsy4gWL\nIDZsTWbF4WhLklvXxxlZuksCKkzkoEx+T/E/pDP4FVOZntnnPcb04M7FsARSORu3\np0L1uTLApOzPgCEgzwIBAw==\n-----END PUBLIC KEY-----",
+      "keysize" : 1024,
+      "n" : "089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 357,
+          "comment" : "short signature",
+          "msg" : "3831",
+          "sig" : "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c68149efc8a4a913a26c9170590a1ed9064323c12b6ebde15ae8c05a0e5205c91f57f5753815ff39c918",
+          "padding" : "3031300d0609608648016503040201050004205316ca1c5ddca8e6ceccfce58f3b8540e540ee22f6180fb89492904051b3d531",
+          "result" : "acceptable",
+          "flags" : [
+            "SmallModulus"
+          ]
+        }
+      ]
+    },
+    {
+      "e" : "3",
+      "keyAsn" : "30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103",
+      "keyDer" : "30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAkKXXq6LI3IKOYW/B/EXH\nxSEwyFidy+KRPaGHVy9sIyF7iaUYa2+Qy+BTq/sIhakfFB2+EGzmrTA5BKWUHfJs\n7RBHjLVqe9bPExPElm2c98RQnZ3GNWaqMj4RCvIZ8zmMBOebtIbehwN5NHMTb1yQ\nUa8kvSwCCOob+TIaPo8krwCqyhIWhC6rJI1Yz0aseGxJ/TyoVX6bU5k6S5cYzcXE\ndL8c/ljAetl7LFrLfYaszA/HvtFHrbLne4aX2AFQlIEXcUuAb/dvnYgUfYTpOYe3\nJL9IcEKehaentRSGp42KiPFoj2DiFdQ9BiIeK5k7XBKmB7gOngEiRysplF92tVc3\nwQIBAw==\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 358,
+          "comment" : "short signature",
+          "msg" : "33363730",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c",
+          "padding" : "3031300d0609608648016503040201050004209385aabddf6b3fe60d2955cb9303e9354b775e8fab2f95cb72ecf3553c64633a",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "3",
+      "keyAsn" : "308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103",
+      "keyDer" : "30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEA8u0OkyKPN8LOHCFeAMzk\n7wDiwIoASjnEFw3HPl+9m5HnxV5ZZXnsnGC5vTQegwKbGTTmST62AJm2z7uYBNQX\nnJgwmeGRAruknqoo+lBe+sxanVN0SZwMV3V3gxftNw3hkZ84r/ItWu6MivNqhtA2\nAp52HyQ9/zwgWhHpvOmsHWuvgeea1BRrEZq7E5A/hWLo8+apGPSCI0ZbyT1efVq+\nPQhQPsQpmP4Ieh+TXRuGc8SV8AXfp0U9r5d+FgiownbaKkzQVn5K9NGMugX9vtze\ndEk8yr2QYMJ9NaAvNcdgsSpN6uE1n2SfJz+kCGJvt4nJFkNKZC1Sj0Hbho/5O3+I\nnwIBAw==\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "0f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 359,
+          "comment" : "short signature",
+          "msg" : "38343432",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932",
+          "padding" : "3051300d0609608648016503040203050004406114f0b81fa48090bf41e600bbf301f49262bac5794aae087d8921eb23bf4de867fa9403b85e21cf6f59a14127ef0babdbc425d415f15c0ea18d2962839471cc",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "3",
+      "keyAsn" : "308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103",
+      "keyDer" : "308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBoDANBgkqhkiG9w0BAQEFAAOCAY0AMIIBiAKCAYEAq1Sk8lYLn2X6ovg7z3fU\nGAPAgOTlw+qzU0IQmCu6il1+UTulC6Hs4zVVxUV8QbpY8/YFoENpQI9YbCbf2kZM\nezAKAfFhaJMmTHYG2q1M7RTfmolKHzRYYYEpQpfjzrlYCwx4XAVtXFZkZ/byJ/MI\nSRjRzRftFW5/n8zkdXxXlPkncHcepc8xAcoEJchGd19Wk4wdHK1EAfTfL14NOjsn\ncPmePBy02dSJbHyokoe0WDEhiwma3UvfHatuL7VdJ3VCk4bIXf8ywHpt2lBKlidS\nndgslDVUqvI8Wl9s6pwwG0sfBmuGu+8uS66dxbXoLh+gPCn/i/OFVnKbNW1bpB03\noGn8yPwjrHFbvqBMGXKi1QxXzAFZpGtZGftnD7KlAtWrZvCqmeUQFrg6QGlDzpvf\nCrm56UZXSlsyzpXZesix+7SPC/fjwNS3oA0TGWbQCZl6FmpmMN7kp0wUHN4BFKpC\nM1Gx3904k6hW/GMrbZDbx5yKYan54xcCumn7Iihg5gqDAgED\n-----END PUBLIC KEY-----",
+      "keysize" : 3072,
+      "n" : "0ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 360,
+          "comment" : "short signature",
+          "msg" : "34333630",
+          "sig" : "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667",
+          "padding" : "3031300d0609608648016503040201050004205d19d2275db8df24fd8e87092599d5b8c7c798f483bbb6cddb4310353b903971",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "3",
+      "keyAsn" : "3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103",
+      "keyDer" : "308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBoDANBgkqhkiG9w0BAQEFAAOCAY0AMIIBiAKCAYEAhzO5wrx1Qhb6yJkVmrtx\nxcqEvjcVNyAEDzPykfX3hhvBIsr94wkbUhG8ge4D4oDjxsKQLsSa+4Qywyc1Nu3O\ncRYEhRPpsz4vz+VvlZfIG8m+gaGx1G6GPKEdssM6wb3r98VSMyBn4uWISX59ngc4\nyqV6c90oFX6I/CArMbvjuZk1SDmaCw35ty3+7OdezXg3YifpzSHI0kykqmT6UKWe\n6OdiEVjnusJCD8DXcGTTlZr6tmTs2g3suMl560AnlbmlYvLeMQqn/GhkRprIiGd4\njFfulvbcMtvb46p9P/R65LeOEQbhvIA1CyOD2uVBQKRgX0Ew1+XT94GCYqJ8dqUe\nTG20q0WQtHZrjFDsG/7VPw1xa1x9nclxOZJGx1zid0UUcVHy52KQOfCy7+2Zx/F8\n2o88Pfdk37QMwMKte/K2xygp35Mymkuta+hjWVPdEIQIiHhO6nOMdjvp9dw7pHqe\nnYAOIbT/zBgZPlkeilKDGSQm6IZzMccr3aBqDrSTZ7sBAgED\n-----END PUBLIC KEY-----",
+      "keysize" : 3072,
+      "n" : "08733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01",
+      "sha" : "SHA-512",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 361,
+          "comment" : "short signature",
+          "msg" : "36313237",
+          "sig" : "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef",
+          "padding" : "3051300d060960864801650304020305000440925eb0238e4d842826b081a74083e55a2d89e67c524d5a903366c1e26afd1e478cb4779e6f69eb70e7034556745f6bddf9547987d8785a7deaa8765aaffbf2c5",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    },
+    {
+      "e" : "3",
+      "keyAsn" : "30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103",
+      "keyDer" : "30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103",
+      "keyPem" : "-----BEGIN PUBLIC KEY-----\nMIIBIDANBgkqhkiG9w0BAQEFAAOCAQ0AMIIBCAKCAQEAkr8Xzb/7QvqZV843gmu0\nUXCOfN7IdSuAnIGo0W/l/k2rap220R27EghmRdt1RmQrMi6DMd1/Ke/2i/QLJPgI\nhPUVKx/am5964vzichze4PxI+FpujmT3Z+2XJ/0txZeWfidqXi52hSiv3Z30tt3a\nTBdDAOTaPBmjwyKZ4eeFeTTBTdYgPYwmcSibw5JxFZcVU2SlkEayufGQX+cXyn7+\nu0wZabgEEY7/okDBHr+XzWjCqhnHh7O+IeaMDjl8fwTG75iVDifg4ZpA2pKj6hCA\nD+klK3cCbRTC+h60rBAkkeV3MnnwfYVtRG9FFpsJv2C4omlfXkhk6q+VkK7Ix8L4\nbQIBAw==\n-----END PUBLIC KEY-----",
+      "keysize" : 2048,
+      "n" : "092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d",
+      "sha" : "SHA-256",
+      "type" : "RSASigVer",
+      "tests" : [
+        {
+          "tcId" : 362,
+          "comment" : "signature is close to n",
+          "msg" : "32353934",
+          "sig" : "92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622",
+          "padding" : "3031300d0609608648016503040201050004208f87edbf7e3fbfba22df722036c493b7b8f35321b7d147f22c4789a9d0a4cbc1",
+          "result" : "valid",
+          "flags" : []
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/third_party/wycheproof_testvectors/rsa_signature_test.txt b/src/third_party/wycheproof_testvectors/rsa_signature_test.txt
new file mode 100644
index 0000000..edcf5f0
--- /dev/null
+++ b/src/third_party/wycheproof_testvectors/rsa_signature_test.txt
@@ -0,0 +1,2649 @@
+# 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.6
+
+[e = 10001]
+[keyAsn = 3082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]
+[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70203010001]
+[keysize = 2048]
+[n = 0bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7]
+[sha = SHA-256]
+
+# tcId = 1
+msg = 
+padding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+result = valid
+sig = 9f420516e9d063e5e2961accd80e3eb0198b10f4d64e749b5bd39a80f7356d2ca0fdbbfe5f5b2bba92da7616a83912b449e69f8ce6e35a27e9e553279d6a9317a1d07d897dddd9a8291321359c6a8a31a4ad7dbb54432bebaffbe8940e40cc875d941ecaa10196e1aa68b83e0db67e34f3937dc1dd11cc0e5b40cdb0b90ecdcad793d7279dc5b5f6cb356b805e6357baa1b3659dbbdfc9a0f042131760fe1b78202f289699e04b5c55f3ec26fa25460ce3de5aeff0b1f5c435e022e1168f9fb86147e7a8b0f11cd988d59c81c3fe74116b350e0396b1cdb2b4e0326b5c90dc384529c7f794c4c2f40958f97ea203d76a75076d5360228e7ddf166842b9165e8e
+
+# tcId = 2
+msg = 0000000000000000000000000000000000000000
+padding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90
+result = valid
+sig = b4e0a273bbf6e942cb22ae5ccbfd9d843400ba451c5e086fce9b3b1f90bd892fadc54ac45b61f3b3b37aca67d835fda1b37d5bec427382be2348062716d4592c7eb5c9107cf391e1cec01c74d64dfa5cb7052f2f8e442a09d21c22ef5484cb045c25a05b3057b266335f619ea8dc43b72e9abf38c19b5d71c21b9bf2eb8b63f2fe0fa868f7dbc9deae9745adb1fc26027bf5e2770b2d250c7507faf2fa63fabc67eeada9f2ed8f724dbd99d43294e5ec11d1575101d32af1a308abb56f7f15f544204b533fbd96fd3fe9174db3bc2af67c35401cc4003bbce360a7898dc831011ff0582c0658663a8c2e7c0e7a0df7f3c8ef95175bc136c3b49eb7a65023b08f
+
+# tcId = 3
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = valid
+sig = 9f74957ef2ec67062c5064143d096610d04af16f23189bf010f560d49bd793d619f70125dbef4edb4d4c923f8447e48a744428d8b463745d84a718d3c5592cdf6f611a735c7e04fe3f89920cc61e0113df20b93c719df7cf62013a2db3b497c033704352519dd51975eb156ee733d7bb342093bf494e6d7c8e92537adaf8b9170c0a2f0d76af847f716ecc87e8cd3545151387cafe062d5a2db83c5463b84d13b1ede8656efb3ae9509b449f4676084042b7c9091fb75476c8a866bbdbe57e125d7c64f2f7f1d4f732666bc7ac09c8e767d145f22243dd1f10943aa61b75e85256c52c522426c1dafde98af977c8538f7441ccdbb4eabff1990304c087070b12
+
+# tcId = 4
+msg = 313233343030
+padding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023
+result = valid
+sig = 257d5214d02f48bf63a6a1f2604824bef64108af97a6032d9eab48b7964642e104f13c462289fa889109274360dfedaec2ace0f5f190d2e9ba0d2d522dc763dd60fcee52d513bf9ca7c0b29de279ca8b401bc2016c10d837cca56498dd644e4d350315819767e2908c1c33b71acecd0143e2913f9eec1978a900a3326bd8bb7574521c39efa2e987327c9343b9da06b304d1e4688ef80e6c285a6dfb64b57ffbfc786f69a2a1c0948ee6781dae288089a5dcb7fcb1e53a74b828b34867b8d7fb5a0151e43076772bd53a537937f8ad6e44adcf96a18181b460b63e530edc56a773fa3adb252cfc8bb664ca560a054f374c2a03d7532ac8986377b76ad0a4f1d6
+
+# tcId = 5
+msg = 4d657373616765
+padding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91
+result = valid
+sig = 339b527aeec23ed9319d5c5ee671e8e92fde09932648734b1ded4eeae420e113a7ff1119686aef90c0bea5248ee1d50f5081515fba7a68a7ac8e2ba9828ebd58237d211c8212267f2a82363ffe790e3ad5282bef3842ead902cd98194d440cd1a53cc34121862034670dffd82aff9bda7f867a3893c2ba2d60cd3d5a3ae1c446c718e99bda195e8b19af734786c62908e1e18b155dbf791283c1bf3e02ce009e08415444d56f5defe78200557d513c8d93414228c4b746a10262cc4dc573da6801f624c5d99c200bd5731142e49d69f9cc9d6d914be18d09bcff4411f62bf028223ea559a41c71a970f5e0010ae487db94461a662d56e124d7b275e8266e55f0
+
+# tcId = 6
+msg = 61
+padding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
+result = valid
+sig = 6ea7297a28c575e4348878b928d6e938a2e3d77dc46a785611a64817fa0e9c8ec71728bc7e8f9eb3268aae0f3bfa23dcb73d503e0147432b4003400167ddf2f9fc8d09464e0b91a44de12c1efc8c38732e1ed87f91cebae036610c43a3b8bcd5bb4beac4f9fb5e39f193cfd4bc00d4c7a3a98d00c4efcd1bd64f260a2a957fc730df6dba68d622441901c51f5788d6c3636299ed3eaf0bc23000650ca97ed62d367a844f23649bdc23efd0349dc8d58cdbcf655aad1f9d3a21afa02930d68a2c2db68e364b0966b005c460b682717035fd43f0cb0e7008a3d841a90c0449de8d154082703313cd9abdcc836e6c1ae5b1887f75d2e4b6387e7971128790a62c00
+
+# tcId = 7
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a
+result = valid
+sig = 5a7186589cda0f9fb081dad864032ffd26a775fb33c7dae0ac080aebdd4ab53bc3ed37cc09f0a1b1edee78f0790ce0d1b656e4a788172db08900bb1474159937ad29a7899d6bbc87c743945c798307e61141ac21542af06bc2f435a47b505b2aad2619800a97396392f141772cfa97d762c42ee8afdef27617dc8056fe75b23ede6c8f4e9abe31c8344edd2c73e5304621283021ae7003cd760c3e34caec5b4b5cc6d291cff1ea80e5b9b68c5b7b045c04714d3dc73e150eb770d3d3ed788a4ed039117881ed5cd03eb3db6e4084679e09078110630aa6895029e7a6dd19d5b77952bbb06de26c2179fb06c64d184caee0079287c7b18f5ae7843e3cd01eae28
+
+# tcId = 8
+# Legacy:missing NULL
+msg = 54657374
+padding = 302f300b06096086480165030402010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = acceptable
+sig = 38e80b028443d96685ed76d4574b36c43cf9722e5fbcf08bc974385454316dee326a308c935a6e612ed26ef4e470e5f3f19a223e2866a2f1c805f74c804e2184f5620c1e84f894b890be7d46420178a2a5ad97b4bd3d31db24828281587207041a96792d8ee57889c666719c769f759c2175361434b18f188de387c8c13f6fb3a7e96f1abbb6124e94fbb4c6bc1d88caf54136b8f01c9eedfd614bc35375f33277d2e71a4dc5f65254179bbe75634e9dfe05aff9e1f1d792f4e6caf88e4299ed90d212d3d7ac9bfc71a8ac85ffbf2f49f77b41d36a64bccd3fe8948054cbad480451b0ca5f7fe35b0f6c772d64b70346f469808dc0057ba1c25c6ae7ac8450e9
+# 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
+
+# tcId = 9
+# long form encoding of length
+msg = 54657374
+padding = 308131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 33a82ebc17f79f56f79073afbe0ff3f984f868684c529ecfffb3bfffaf52a99bfc057b196c3faeae3cf722c386c224ac235f781d9025ff8c9dcf10c4cc7f93c1f1aa5e1db9b166a71ac7350134ae1a1e5537a67f846f8c6970c269c4b91bc59ec783b7710afbd763ae42b1125eb9d0fc28b4045071c72320448a474006eefb256bb403b30a67c253028a2a0af7e4e36e85aa70ea73541ee2694d2bbe1415b37d2210def5ec77ba23c6f5cbe31ee21e072b49313e6e18bc6d6f2ffbd6b28267a5cdda24a62edd2151bff87ea6858db5b863c13a8e2a6445d8d31fd6b3ce8fa5a31060f97545f1e04df6819648a1933b1bcfa2470bb14844963f53175f1b26b612
+
+# tcId = 10
+# long form encoding of length
+msg = 54657374
+padding = 303230810d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 37c62aaa10e8cb4bcce5fe466ac8688431e8ad2105dc12c6b7a0dfe8657ef3dbd027d04847c7d708c2099d7d38ca2b21aa5146ec0ffc7fd1a44c91c24689fa37475013e5b30c92c3565e3d53afa73fcf269dcf3b2bfc48a2ff026130bc008a724cd29ffc546d1aea5aeefc8cd13779b3b821d78bc7b7664fc7a89ce0273a8eed1e4a683c739005640c2edb756ea95f48d9c91d1ae9f57f24f6ce3193cedbcc52d05eb0dc8a9634a0ca8e12a446e9ac3378cfabc37b498aa4a1a9d1d3a6fb308411566f9c68063c0bc8e78621fed3a22073260aa87c76c5768c3db7f674f84d8826381fc3491f46d417a73ab88587d905d1c090e37913c99cfe29dae491841d31
+
+# tcId = 11
+# long form encoding of length
+msg = 54657374
+padding = 3032300e06810960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 875b9204a6603968f50d6e4dc13d3192077a286c3475165b0bd160ff3df39fec5859a512886fc1e06916c2025e01ae2f7ab3b341b6372f819a625a42c22cdafce031d9635f95dd962a8f202b52f9925f07bc0c94434a2091d861729551e37d7c6019e16a47ce87f3f4051b8e9adf62444b522f522918c391d82940418cb3976f0c30634bc5dff2c4c3f36a4489d00c5ae65021b3bcf5abbef9257e3c976e5fd305fb30ccfe13c43fed64c371f8532dddc70a1f411cae257f37b6743da2d9567f9dc3513b267ee26e2da1a6ef005526fd90b6ecdfaed9a8d9e2bbdfae25b0adb81004501ff32fe1e7b7acfa18de5a1ab876705784181b1336288aefdc91186c3e
+
+# tcId = 12
+# long form encoding of length
+msg = 54657374
+padding = 3032300e06096086480165030402010581000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3cba108ad11cc9c6cfb4b849b1533c37557dd1ef2e201a78da42e164458ac54a29f0b11b1931e72f57266264584c13e910267e52bbcf15883e109a45ce14a86ac8e700cb04ea0ccccb55b01ce699275190b98c77981d2734d35d8ad41f94edc6481cc831a44d38a617a32855df03fcc44914e55b88271015c971bbf051d878b3ae7a8f53582ac8e2ab5d10e5023e67599725e9122b8ec42a96b40410edac51b26bec597b727404a6b1b24807e3df2fca8847de8b7517061edb009a40c8b3aa82cb22de080d3f7921c504965d5a23887ddb54100bc81894991c1ace0ee2afd1c38c554fd00ade0240c2067f01977326916d1708af027453f734b0a22331bc9453
+
+# tcId = 13
+# long form encoding of length
+msg = 54657374
+padding = 3032300d06096086480165030402010500048120532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 50c6c70b2cf065c62b8b69884ae779e08b376574fe9307e2dc4ad58a50c5b2a8b74c1e8929b190045dec835e5f26c73824ddcf1a4b63f54b9f90c5f80c36f6a0cb616fb8b63926cca91c90761f960b83381cbbed3f8ee83eee92324fd9697b7f2cc0e784c956354b58e9243495800235156ca1698c407dd9b6332281bb5de1ff180dae7bb3393016e6396cbc7a02ca159b5eccee507a36ccb9338623e050d217be8d9826d0683d59c0acbaa190ba91da6b8579b6086d86d32edfa0f6f17ea5a58d3b8bb9e06ac1517eb66a8fb38094ee19e22b3d6d3cf8c1d001635e3c7e18823b69b9026d81975cb209024b8ebbdd88accbd9c5279c7a2fcd824697907223ef
+
+# tcId = 14
+# length contains leading 0
+msg = 54657374
+padding = 30820031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = ac3c440334308e0eef1b3c3afb42dd050c77f1bfe9f3c3c83d466a46bf708502f1866f423d52866147554a5c9f86f10c079d2bd47192dce0968e8aefd5f43a2892ad21b0bdb92be45bc380c11565ac7c01be00cb1e294048a1efb4cbb19be44fa4b542e0bbf9a47549d09e456f58ff377adafbd68ef8d86dc2d7d56c5d3be08ec6cf12c0d04bb7c64c13f08f75377ba896bece7f409d50809521b7f6496c992c90ce15a70a8f8096f8f2cbd3e575acb618c87f56324885cea1a6ded33d2f09d684f8d5a98c78f94853d74b9e6ab503918fea323e5534d3e45d51b3097e082c5da614d03a5ac422e5dcc3b764bbc02aa633a517bbe391d2662d71ab851e4eb3f5
+
+# tcId = 15
+# length contains leading 0
+msg = 54657374
+padding = 30333082000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 65fa4957fe03c0eb8a6680ede12f009178d3ce357927c8586ae056f209e0ab0c110871fdf0b95a2ff684748beb4e5a6a73ca3c657b23bfa06d362a300f260f4d60d459a066c9f5311d634bf96ac7ee4c80ffec2fca27eca7dbd37025bae76122a1fed1914da70f2bfb6bf2e1bf3a624acf2a6377606fbf06044a21a39ccd55b2cc1f0ff184d9df95bd73942a190f30028e770139d38ef3156f64fc3eec68ed5170c41f09f110f5a0fd195cd42c4dd8e394f32d195c159c7c2b69943ea966039b20c7ca17cec610be60aaf7ecdf3511590a662b74a181fb89135604d84cf9c4d6cb6cc0b4c24f4b5e7e9e9cd969855cdb92e3b399f32cb31319ac81701d056e84
+
+# tcId = 16
+# length contains leading 0
+msg = 54657374
+padding = 3033300f0682000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 305b0cb38db7ba5dd11c1d82195313b522f57ceb7b4045249dcf5977b99315f6708e9d8eaef6a89da0c11fa6f8dff3aa9050369cd520dd6e957226144fb68c846255b923a49ce896fed8828f8956d0d7aa5193123940ad0a5225e921ca0dc0852aae48507c7e22ca007f403bf0fcb6553d0af0bcce6be17eb53b0e8401349c8d144eb1ddbbf8215fc0e06d6adef096acf52d71978b1bffe95ffd21899256dc944fa9cfd4d7a25e62843f965d55515f6c45b22a825288773e25410582f62b9f1fdc1e0c6d4c941b90de7d8c3b18cd3eaf5319862d7ee160a5edba133cbc67024771817c7eda526c92d146e3b38b801025d01871c3efc2591a32ffaeb7b20e7dbc
+
+# tcId = 17
+# length contains leading 0
+msg = 54657374
+padding = 3033300f0609608648016503040201058200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 69c99cb5b397c6f9fa0f38b0d311f8b64eca97b578302912208bdae5c04244da7cae594e59a6bc0935b8878b7a55b90acbe73ed2adfabbe561cf104d2a60aae3c4fb58cb69a11ed739dea095c224c98bb0fcbddd44d4e1e4b71a8681730c4605d93a93e40e27e6b1182c57fe5f4332898872add7e2e7c3b39e0b45d07ad7cf3c90ea5bdad70902533ce78130c74ded898cad1d1830414951f33ecc0119ae785722d1d4320781178f393ca1fd11dd96da6f44bc586fb4b5a911fdfbb87b7d88833a9a1e036405e205013e2bea23e663dbb2fa813f1d8420f1c57b25dc5bc09fd7dcf99d0dd4a5b3bba8ff2cfddf2f9aa9ea78b8f4132cf0f373157b97097fdffc
+
+# tcId = 18
+# length contains leading 0
+msg = 54657374
+padding = 3033300d0609608648016503040201050004820020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 29a239412587861ba02da5cbeae093ff6217ca4b1c80eee56baba352290d6cf721260021b3779a009a3050c2e5fbf19e1e717f906a7f62e52d626c4a31e259c8324796e63ac75bd04081cf2d1f22a5687ee9464cd47ce491eb7ccace2b6bda1ad3c99de2b4dae26021d08dc270a2e84d4467f7a6a2cc59888f3b74cb107311c62ccf5f327c75adc5bdc830c2bee5303a1c43cdf80e00374fd3601f122b19ca4b2f36476abbdd0633561eb3f05265282b4d637647a1e8a2be47b4ea40e4248c3e2541950ef2eb98a487569a35d3c8d8fad28d42ba57e3134f828aa1222c4d13b6fba906086cf8f07f5f3ad539cff8c0cefaf42d89a884444e62e408e36236e70c
+
+# tcId = 19
+# wrong length
+msg = 54657374
+padding = 3032300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 36f62f546a36d5215548e6a770a14fc6edd4a9353ff8ed6231369cbb6598d25d86018b8cea9f1a87c150fda18c7e89b2c907f0ce485c8c321be467a97febc05dce335db88cabdb99ebc4c187a04fdc8e879487f03c2aeccb6ddaf006f0613d32b197c79b2a8cfae015909e02746fecb9ae9da3f07ee91ba70c0356984dd15d078cd0b93dd9e3c1cc03d6f255c1383e6e949e529ca4408f0f453e7e94c17e9b47f841f73dd62e5be047c44e1d9d7eee0d9f2a56bab13d4397494812793a49e8dc0d237242bf134aaead8f303226e532afd0c2e9748be08d7b7fd74f6f1806cfc4092af39d6eada4e0b6d7aa6f06592f6cd7dd26c1fcc84fdff1bf3086e8e2c81b
+
+# tcId = 20
+# wrong length
+msg = 54657374
+padding = 3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6e18d86059eb2f05c0c1277abcd8d2380ea39ea0c4587ae140d2f709363eaa2b0b7f801a75fbe15aa329129c4abe43ec0fd84f552a3aff7e4de40a5943ef13cc3b2d02a1ad90309e8091d5c2c6fe3b6dc2472c94116cd9adf367e575720906a9fe41068a86c15214e3dae39ac41b84f5fb824dbf5c911c8c640254cd19910e15a6488c2a59179f271dbde468d540cb33dd5add9a864780e27a3e55c87402d9e2c0e12d70c9a41681bda6f9f337e7a26dd2ec06580e6fd9cd4db40a62002feaf5a4c93dfe05dc392b63809d4caebdcdac74a7a240260a6eb8db8dcbf25527d4297e4c6145decb0a888817b4f949fb66ee63e5cb2c2477a9373d1e30b4d71cd7c1
+
+# tcId = 21
+# wrong length
+msg = 54657374
+padding = 3031300e060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 61a6e5ea6b3c5241d75dbf0cb397da7cd9d5b2c23ffefa183ddd1d34b6cf116b127045f4681877fd58907c1209528a6b45266cfd5bf4e95361b9036c77fd6cc7891cb2417d081ed897ab97588dfcf975992ac9c0239aa9fc19dcf6d6d0f3e4bf72da5ab09cdd4b205b41a27e6b36dff608a638925d13e3ad7143b1ea9a2758c787a2f33790ad423749c1b79b3239d1f96fc4690b19a0b8edbeff446b148fbf39a890ed8e4a18ea09d5e50c25855e1a4a4c28c5437c906d1a9c371569936c858c29bd16e98af749edf2f048933d706068928e81ac7e219fc923f6dee8a411f40ede593468ada31e5c647d4a576ddb68a335bd50cdf7446dc722ee711b5c71ae93
+
+# tcId = 22
+# wrong length
+msg = 54657374
+padding = 3031300c060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6494a47f97d18199ce0948b2ddf81e408e2d4acd58705059454b728b1be79842ca8b9e197a29347bfc02a6830aa7189ccd84469e696daed24fd3e45a403af6d38a2bf3e5e8005b9535a00a5b1520a9665676aa51a1b274a3c0270a20b86a5168e08000fc4cc60673604564f8620e9a2a2374ae148ec6fdbf7e880fb8be7bd85131a3b2cc08e85ff3270a4b433a6f58583a16e5b18eb2a093e6249e0e5e27c13e1cfc3fb8e078ede70034f52f4540f5fc69dc9124671200c5dc6961aee740d39bb5b6ea9f9325f2dc9eb85be46b998b29ed3dd9c7169d58e33efc212c9cc0b09e356e65463b9becc52e7654cb22a374832ad6d4e219e0fc5eddec8debf779031f
+
+# tcId = 23
+# wrong length
+msg = 54657374
+padding = 3031300d060a60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 99647015158993892da3dcecb4fd837d0111d7ac81efac2e1bae2242e6605182ff1ed43e41b81b85448367815c6549e363a635b946ada99ca0118cc35f37872aca53b024aab1d809909d27bd664f32be9501c3d4b7e3539c2ef10bfc340a89c23cd2c25e51425e2e7f989076bb716057078c968632e0d47ec81192f37dd5dc4d8a0ffb5e9b828b08b47b350801bb4d358e91165444e8ce8bf5d59d4dae17202919f67c7ec8b78105e255d1714ead968b9c075c11e69b5478c3595756858a98e39f321957b6ddd63b37c69d34891beadfded732f0ba587fba6ca62b0e932acddb5c5a75ac316974dc3b5a27cefd81d799a8a6244a9a78fcbc403e6fb41e4f157c
+
+# tcId = 24
+# wrong length
+msg = 54657374
+padding = 3031300d060860864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 629e5afc04cc1f4c602f030755deeedb0a5f5c271b3d52556e81c44911296bcdad7f5d223cb6d72cf9740554bdde2936a7e3cbfad72a7704d27343240f68e2f598892911e50340c2c29a41c0d10ebb996c7e92a94fcd23a03507488be345ffd63db338b19e95d47a1095cb6894079865d299ac8101a443e6b5a9557acb9113552932108565d1d3409aa30b6c013c54bc571a08fe9f39c6a3ddaad948656bf77e7407cee8d74a037ca6860a466ad06082c39f9266f7ea16b62b5fc149a7d23093b5f7c48f81673574c8a68b75503c15ae7565775160e16d0e4035489179735c0c9736e52654d4c84c1a785f8b5a9ec2f42aecf88cd925dd274ceeec7e1d31ce4f
+
+# tcId = 25
+# wrong length
+msg = 54657374
+padding = 3031300d060960864801650304020105010420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 278b61e00fe4e47bfde76cf6c436bfa0e7fed104493a2457ba41ba5fa430cd417ba2ffd345b27d739f6fe7b414e9498e1e44a0a5af8af2f9091f4b42470da0cf09fd1d3542f8a991f4a3be0ac6fb499290889a0e5ba595ca1ed9d97f4407dee17867ca650a49e42c701e3429a34a8bd8e934aa8d107f1761a6fe774c70a974c4ba30990b55a082c87f39266b526c13c4021918196797336e49de36844c908234def2f66aa82e84715834019cbb906011d8bdb29afcbb31dc7503ede0bc39124ac7fe054536d4d79d99186542454253f94a604559a6e992116230c7c9ce4137308b8a091f31843a87e39e29c4ce1520803beeff3fc668741cf504754bc870908d
+
+# tcId = 26
+# wrong length
+msg = 54657374
+padding = 3031300d060960864801650304020105000421532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b9709d62db65f1584a5f0dad0602cf2d1ad02447289312f59d001fac696d5b52ac9311e0e5266dc04f5a382405259f6568274a8aca4782d5017b97c765742c6a3bec33c8f3cde398d55bf7ee0b2d3fa768b416c0b1a58e70b865c39057bf6ccea37112ba2d277159ccdbaca928fb4fbf5970296462df7b8ea7715f76c14bf1ac7e4a48a6086e7ffe71653e4246aadcf97a9999782596c87ee5098d788a1a82c2c52bda65ff5c417f9583537aa52c5d8151b3dad189dc0f93758c9e3d45a216359f9952388dfa3eb7b5727774815647b17f6feb39d963340aec6b37507a349eca6c677fdec97d9a5d21a87e999573be5c90d71cbb1b58946036f3f4e6c26dcedb
+
+# tcId = 27
+# wrong length
+msg = 54657374
+padding = 3031300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7cc584726f5874d041a892993bcac52a34e71ba6fe4c3db4d48960b1abae664549656af526b59b3018fbfe7447c4c6730f0e93cb148c0f0fda55fa0a93aebab07519123805ee1d551f19c4c69c09549ae56455710cf7b5468206b820672a0d7221fc7972e958e241d4ad164ef1f90cbf769a1ccb466081cc60877d28a05c91f90eabe57d9ff8d097a3a1f59fa69761f0f3b356c2ce1fa7af8bfc70a1c4753af9c715387a5b3249cb792532d1cba87be23624836eb33f0074e927122479a9d71f1962ee6e7e7be1ead8a514bfed9abfd4cbe33ac2d3adf438bb86ec47734961292bae4b61224e957e331b794c22066cde9e51847dad897e7c65d35c98803830f0
+
+# tcId = 28
+# uint32 overflow in length
+msg = 54657374
+padding = 30850100000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 55d1cee3129381d3c8526661a5f2c9b59bef9972a8d3ecbddd3cd859db06be0971a181d9deb7a7333b3f40eab2e93a67342da7880961fa3b931b3ee94cfa5eb7cc76ca8f6f013bda5b1dff7a7d8ec7afa76fc6acb7809b411e8d77e97fd11f4d13af1033a04b949ce35efdc52e125394759df4f7658fb4c807823f80c01b74c5424744a39193c901a8b7238f77c330f0c37877cdfb493228a600dbb5694ccaf9521b0e2921cf84fb0a778d6616ea76f79d89ddb344834bb34a033f2399289c35ba4b5b70b1aa6d504db3f15cd1be6215678f01f3df03a3a38cd2f6e9d18755c484b4b4ee514c976a7a3edb9d93f475c4fcfa6fec43e6f815095d4dda75a5ec81
+
+# tcId = 29
+# uint32 overflow in length
+msg = 54657374
+padding = 30363085010000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 759135e8b8f94d853d92e75bed21033eaa80c88e1cfa202aeaeee96fc9dd8f5430da9baa436062c843e2a6d06801e4397c93a7643b52e4e33c298638f546be9f8b2961c0da08a172ab2a9185eec9b9b859a8b46cb240317e66469882269a53b34c9db60ba080e1831942db3ad65d3779c7205aaa366c00b6372496d71fd5cebc14b885303fb7c9e968f7d4f9f0511bac5f273608c8803db4ce582eddb0c672d579b4d1d67cb5aaa4fcaa14d744acb8124f3715bb82417ca020cb1b2a597f149364f859d5f1dc17dde4181628b96438df017e9b96b87f45d40383badf6b6a89620adf601c9c4fee15b1a868f8bf7ed6f59d1f9a960fcc1d961c8d010002e238f3
+
+# tcId = 30
+# uint32 overflow in length
+msg = 54657374
+padding = 303630120685010000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 829207379fc900183437b9794d8f7fe9ce67bf4dfb66b04c5e841575ff2ca607766acd6def23b5e22d25be703c0126be641d72f245bcdd60ca0fa8ace694fb8866ded8d5b572852ab899b5ed8808789167ffc699c242c7a6124f6aa6754b2b8c7e654f14aca2446a40f64030b0d836562ea9fd44adb75d235f1b7ea86048b4094aef96f0cd76c31ce25788aa9fae68c1062ae48c9a6b9130652b50be2f98ba64c89a987c0e566ba74bd3616f79567bbdd867f0081e97d0fbc948b6819f46561281061a413b4f3f43d5eb4174052055745d950caa95c320c4c7fc5e02f604071bcc361c20d72dd5509aa496a9bf1d497b61a064893880e052957353b2fab31476
+
+# tcId = 31
+# uint32 overflow in length
+msg = 54657374
+padding = 303630120609608648016503040201058501000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8daf99c4f0ddc3b0eaa50d674076e2806d744bda24522938c6e4ee2970a5079586d866f0c1abe824b16d40bfe0239aebbecbf67a9155b2855da4656a15d23fc3f1d3518567deec75587d7ea77d3b510b9dd2b1672c8d4774860535f8690a286ea8da3636a1b65f38689b25e9e9b0ddadfb52a0c60ac90b376af968fc654387b5d712f93cfcad8f571ae550072d42b77e439cf28ab0b5857646b4bf2f7b57af7f0443944943828ad174780e1ac0d182fa92cf992991f8fcf2a9d5fcf72eff4ec1847c30f268092b87825fd5931e5306955fe0457e1b9f7162683218f6a9abe5213442a7f8f6a5f4dfbc6084b1bc01f11558fb314a0f07b86b0c6538cd3c7d2fb9
+
+# tcId = 32
+# uint32 overflow in length
+msg = 54657374
+padding = 3036300d0609608648016503040201050004850100000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0b93779478f1ebd8d0b018e0db874d2f639834d48d2440cf5215c9b914acc3a7eb9111b5f77d605903a40c7020ec8a4be9cced3714df84586d5f9e0fe44fc1c61a0ac529e9fda9863086b77555e68e290ef716b9add9455b2349d9e14d7d2825af2ed0f619636c50599616508c79badc2dc2c47489028c5bd793022d189058f559dc272a01ddffddb8fee9d83c259cabecd93398d48591d7acc2787e1b8598cb0218b007440ee11733100ec3a3a9749ed81b3b62d4b9c32dddde30740c4875e451e3cf89fe5a970bb92f4065aa7d43fc6e08eefa416aba932a7bde5a10df11b433527bafb2854439b463f6a0a13ae66265dfabaeb4d8de6eeeba4de45e0be421
+
+# tcId = 33
+# uint64 overflow in length
+msg = 54657374
+padding = 3089010000000000000031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8fcf0a72c6fd0f9b505effcd2c074051f1d25840f8803a68f1c149dc43af6b94a114efa7ce2b399a91aba823470b9f32a70fb6631dfef593dd312801062c7f64d7c7b8724bcd36b05df16838f9e2ef209c2dfa180717d9d1bb59c10d30bdf6a0c0041ff395d4eee8a1c60af17b8152906a58786ab39840909508f7a8f3a05096e92eb57b31c07e79500091f119698bf31bd14399e122e16c3f0083d0a9a6f6413a8427dd27dd5473a9060450349f51ac265030778dbb04d4a35aa98dd72ea38a548be905717b46a1e31cc0b2c9247b7a64d26c027b7d09fdc5f2c6f3f625ecc3a5e07e37d2623b099aa776c48c66d62764def44896651c6b0ab10f1db7105f8c
+
+# tcId = 34
+# uint64 overflow in length
+msg = 54657374
+padding = 303a308901000000000000000d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a34534b9e1b82be8c7a70d643c85664cb3919ced9c6b6cbf470f4aa8c62194d3e287077d3dc03e9e49d9069b69a4fc2caa5c9fc0ff1f08cb9b8370d044baa4be1b5918174997d74579c791a4c9d53f0348d33b6dd9151ec11823fa765a04cf03791f9d8f89048bd702f03247e3d9ea4e9882d9c768166e60b2db47a1bd76dd8cde45933dd1e4c3fd2bd46bbb8b2fbd6a2630f9db7e09dc342a3e279927a68f3da34192d0a283e2df7530b06a42ad1680b4a33c8b4bed2a8e799ff39ce4c5853a2f9d016610e58ce819771cd0ca5cc286134fafdcf36eb6c0f198e312e0e2cf722c47487a43cf4630c0703e65f5cc23972d5c16012b0e338aa6bbaa9a6110bb7b
+
+# tcId = 35
+# uint64 overflow in length
+msg = 54657374
+padding = 303a3016068901000000000000000960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 615fd599966ab4eb5d30e60eb0fd82ceff2eb244b4888442ed7f6a1f32005ec8818cfbe3e6f4ed7bf9d51775635307e281ece422219059736e938931dcb7fa1c0aed81808d39ec396acf70766e918f017fd41209972ccc55c1e31c84eb217a2d82dfd84499c4499cf0362ea60c40439c3d47e8a05128fcb5f445f08f5d92a29df6824d7c8bc735941ce54f464e44f2bcc6eb3619248bb52d04da149a5f9cbd9cf617257dc95a152681656f537a2e2053170cb2114dff07737872703914144acfa7f26b148c59258ef72e2061dea6c035853a6be96063dc05109ec7f2176a4d601c41caa637eebe907b248922c6fda83bb7e9481ea500576144355dbc98779944
+
+# tcId = 36
+# uint64 overflow in length
+msg = 54657374
+padding = 303a3016060960864801650304020105890100000000000000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a9648dacee46c926af22555c2d4784f01f3565949f177f5cfd4c31659186645d115d4a24dfbca04b583ce8f0c1e452a953fb081fddfd61b9ad9e59df2d52be9a6ac1ecfb58c211a8182f93093ff4f14f5e729e15dc0690aa612a09dee2ec44ec05f75ddfbc0b5a88e93e098cb8b0f7b74a3dd07ec559f964962f83fdb95ed913f2603ee50b36482e8a379522d12c620af2b0ac7537a95417df11430a72f72c0ab16babd7396e0c348f033026dc7239e2a61fe75b8ad4ba4ed154bf05cbfec5260f1e4f2cc0bf5f39542e12a3cc8e490c20a554d3b9afe73ac65c0a4c22bd9349ac39ee25d0feac57b6d5e065d82a757fd1fea928a4e741aa8ca724269415c1e9
+
+# tcId = 37
+# uint64 overflow in length
+msg = 54657374
+padding = 303a300d060960864801650304020105000489010000000000000020532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 174cf250f8b41af4e2bcde276dabe55d193d51d80db308ee072cba6d7823e49ea26b32631a18316f48a8c933ff9660352917d5f197d44afbaf89808fdd16853786e3cb3a348009d58056e3ed84388ac73789732105e0c57fef0362b38ad103aa7eaaff599fcb07520ccaf39aae20ee0e1bda9a604e76646c72c9b4156efc0fc4a2fc733a5c080f50d9a5bed24a35ec863bbc7297c2a7ffdee9c7b3fd614da2466b9e77a72af6d2dba40bab35235e14e520278df7260b588528f0b32072aa532d09471f4e1992c8ff3534e6d0723c1664e8c6ec141eee2f7439cd57cf167f1b6dc681aac0a6ddfceeee9a81c53845ab87c145452627547a0961e0fc89b17ef70f
+
+# tcId = 38
+# length = 2**31 - 1
+msg = 54657374
+padding = 30847fffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 87bff62986cb2cd250de8d56fb4674c65cafd441da9dd4e42b1e7e14231519b63fa59608cd70d3ad761fdba810993ab3da3ba5d182dabefdce2c383e153df2b21c4cd4b58ea94e353d8c02bcfef4d565cda92975610207c9c30754cbe22bfe0f7cebaad0b6fe1d470d9119090adde8587d15cf27965f525d92ccb2c8778261f9d126ffdd8b90bd00acbe648979567a3ecb1fb5ceae06bbfb1df595e2155889ce62b3b47bce372a7527fd59ab5dca37378d0a90f4487690385acadea3766fa407d277ce4e76416daaeeba1591aa31dc601efd0d9e29b50ccc68d1511581b00f75de4c05d145b7ce0f74ccc509748fb1f8c636e1a56c9c412142d5c9a95efd0b8d
+
+# tcId = 39
+# length = 2**31 - 1
+msg = 54657374
+padding = 303530847fffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2fadb8a429803ec2956ae6012289f15f7ed8d535c07412994204ade72d2e7a5548024390e1356d432b7e68c1a8738382f5aef3cc7739f926b44f9b9905222323a97fe7b303c130eb4147a5a4c69a031bd0c459779f7c3bc00bd5ad616421d14aa90ff3f5f4f700efd19826d89c80c6c4ab4ec81ec05498bb543be74acb3f61e6e1bef48e61646ab962da08502fb092961c5fb324026a52abfd1c47b9ea76187f5134916c5dbfc18668933c2a562a02c102b6efb9ca2df40869e920e84f8e73668a73c1cea83bc8600f7dbadeb5babfa74b99a3d02794b924b01dbf087da3d8d579514647633d8d6922a59a3f5625687a4b1c3b5cc67858e9b78ebbc7adc20aa7
+
+# tcId = 40
+# length = 2**31 - 1
+msg = 54657374
+padding = 3035301106847fffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 249c65c65a3334eb4be16dcc3db0732547ded2ce4ae6c10b1e1a0f474298b2ce230c59e7e746ffa173d5dad3b16dd4325e5469daf6ffec2af4ea23db279601b014b54fbcfb3578b078a8ec53121038ad666ac9408d65e8ff4570aa3b5747041f4c3a45a0e9856f2ed04b3c2060925a5c77314f7bfb5c85a71155df5b23f694a9caaac2fb11dc6612bac680d7494ee19bd4945ee82c5d1f5acdf6b5ab46e937a90bc4d6d3f301373026edeee725da4ba5202e1896b716bd8c69ddb95fb364d697fc596709b0ec48bc66041df7127aed311110545c4aafd228ff55986781780455241830397f8fb6764e33d0262aa65814521ec71890700a093f50db4659cc5e2c
+
+# tcId = 41
+# length = 2**31 - 1
+msg = 54657374
+padding = 30353011060960864801650304020105847fffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7d2652c6ffce45a2fc4d740db90e1e87795e38dd5f58d3905b9fd41a2a49f3b6c3c14db49f8378fac35cb67b3593a0991ed4c2439cb7890ef727b94833e455edb94b11c2b0cd7bf5c11f8a206e62f540928f873fc6c6b0ea4e520e85f01140d21ff2ed65945e602e09d6880c275fb9cb0cb9cf7a85dfec032f29d5bbb4303256c0cd02a99a3433186558b0ee9bbd93e5e2a89c9ac2b8f74b94e0d9b02438d1bb54dde5424893683f5e74d9acd1424456a55f74d0654b20f55d199d17d5b3184930d5f95068f61c6d1ca4b0e75f01d56fddeb13a9fc07e185b514ec05bc657f97e1ed7c25670a1ed4e16172ed2c19c7521914dd3001d23219c8b578c566eb2c1b
+
+# tcId = 42
+# length = 2**31 - 1
+msg = 54657374
+padding = 3035300d0609608648016503040201050004847fffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a47037577d6a1480d07bda7574648d9b4d613a6d112f7027e873cca188cc41ad35cb8c931928d2765b60c21af9756b6f0acbbfe0b44b4eb63abded9d8547fb1a37706ab562b448b47f29a81673e27345c156e0fa29a353b90c3262a8a48b0f002dab41aadcd0edbb016973fd85ca98e53116cc3a3cda5754c76ac8c8e44e31aac06d1e248137ba096237d14119538f55a1cff1c7a93e1095eb40918233e5b33e092741f658962355541af6eef3bf3b84e9b87fac775f53e7bade8581804139b765090051474b08c82555daa5407fbbe998f29fa337d21b24b6917d4cb315d035dd397a84c47b6b806bd1e7812795d653073cf349c57193397c542f3fdd512bcd
+
+# tcId = 43
+# length = 2**32 - 1
+msg = 54657374
+padding = 3084ffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 85ec33234ac05061985a24bd9e5e13de3fc8e8c246f75d85abf8021cd993f97c38ec6b73d713c6417effc7a751530feff849a5591ca0c4e6dc5bf6bf97c34bace7faa2e448bbc81e3d8551d4f82f7ed095ecdb19e91498e357909f090fd8c215f830b2741a4a4af518341c312bd6f7fef9c1b563cd4284f785430c538234f6bd3fceb2b49ab872cb481447b2d45a37d45dafad4d6de26246634b99b926e37832a8302d24b35e315f0b971cf52c60ac486460d7678152beff5369441c84ed54f16177f5ae560eacac13d7f94f14764ecd42adeaa0599a1a47e7f500e6b14e0a3b198aaa18fdc6d9141932bb28b20e71f69c173c2b841fa042a3fa0a388e164fd3
+
+# tcId = 44
+# length = 2**32 - 1
+msg = 54657374
+padding = 30353084ffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4d28f0c7915b1eb63badbd931675ecf29f8d69b4b2e1b1fad776fa5adbccdc17bde98029059d46b197de49e061ec57cce2cb77a63deec3c75c2cc14fc9bb4a2ac29d5f4a05e6b4ff97ecbcc26a0dce39760423740141e675b52878a83aa044f68e84d9abd0ea6bfc5e6fc3acd971af258b7b9a01079010e68e70bd7bd31a9f9bdbb70598758ba274fb8feeb8ff46a4b2331a4da03330cf55910e6ce940c1a95b6bee9adec351354774139e3b213627a6d7e8381656362b4c6f83e97f93630939d22763f0850f1b4d38a8e3ed213d2febeeb125ec03854a4b276fb59087904ffabe83cfa66c1af413af6ecde5efcbc5241d5b958425b66ccd31500ceb9b80d793
+
+# tcId = 45
+# length = 2**32 - 1
+msg = 54657374
+padding = 303530110684ffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2c59c0f5bf7fa3b6bda22a75dfc3ba14c26ff3e7ad24c1527ee7ab7c032dbfda6ea5171d88df2de56c1ad6d955dc41bcb8395e83518e40b840c062cfe982c0e42065d7e2a9bcbf91dee53949bb6f67c99d1e1fc44cda982a3df171f9c35424efb2f6c0cc169a44b6e5015df5150796a9c669515aaae57076bb1fbc9480a8ca6954990612eb0314da7efea7d14223081618f2225ce3ce43770d457e84b54a80cb3a35f14c511a2fa2a4d295afa6ed3996d47b5a0c6b1d7c11ab14bbff13af67b7475ac543307626598d69557255bb3a92c07e36c3e9d1530b21284b3d5c2066057035bc753894c01e0f33764b51ca3319ef32d4288d11c7a1767ed7ed89433216
+
+# tcId = 46
+# length = 2**32 - 1
+msg = 54657374
+padding = 3035301106096086480165030402010584ffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6bbfb1ef162a8cc8c140dbcc73e922e1b25c0a5f29e59b879315e5336697f86dcffa1f26c435ef3f38657a501e1a3dca7dea9226ae179eb6e7b4604c4a984da95421676c0a1d5b5ceeedcb02def8ca2e90f657b257695e7f87aa948c7d54570540657f8b79f3622347d4c3aaeb8c8c72abb45a156b7facb3ec3c4abaaed5491b84263ec9614a08dd4ad2fc81682e11d834c328ab21bf6af4f25cf26b81032ef1aac9edbd1879b64e04a24f36f6bbd1b317a58fbfe6657a4450deb0b07386be1e4c9f692d6e96740e300905fe7ab3f48ffa279b581b98afeed03243779127fe57d97d7313ee6b2ffbb5ec7e2bfe5d1509b9e8a794cc3cf45ef488874c3e494214
+
+# tcId = 47
+# length = 2**32 - 1
+msg = 54657374
+padding = 3035300d060960864801650304020105000484ffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 790911646b9fc46991a8c1fdd0c7a5a8b45a078305d71eafad2dae2ecfeb5f7122d1ba2c77faecd5bab50b05b355740f93c6cde64c42ddb3be48362a741fe29173d58d950b2c242753ba3db6f4dd576c2240f490f53ccf9b6e781fc610966b80cd9700f41c8bffc87790a01a45f3623a82167ac42e52c5ab5ef539b29f5d19449e9fb0b6749a559010daaaa19d15f3fc53b58b1a912db79a46caf10fdd5ea81256842acb1e06282ee66c0bccbd69131b532b3cf7ef72fb725c910338e24cdf2653d443f209efbd03573b54536f98fb002e57a27f62fbb117cca57d9d6a2ac04cb0211e227682988c64421a5f8ad6dd3916d0d84b441847324c03451a4ba24fd0
+
+# tcId = 48
+# length = 2**40 - 1
+msg = 54657374
+padding = 3085ffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 02d431509bae6e097fffb5e719b16a296b81fcfc9fc6a64b85b337c88049fed54971ef61e635388c2653554685e652059c769c5947af49858439d9c388a40703a016f73cf231726853f498f94a0a9a98e14e0cf8f0c8284b4d992f00cbb8dde41b07679c7bb7a2b4b7b307f2edda65fe3e002c7235eb85dd2ba41483b26131c997793ed64fe92a9fa9198eead1e8506385db0c3c4dfb93b87e2cfc09d9d3b00937cfc0a35bc211cc8efa4de83745c5eb0bb28ae52a22ae4ec8712be72bcf420476fdada50b618f0e9576e3e7ad8df5a0ebab78b1bfcdcef594cb7ff56a895b5ab5e0a30f82453880d394bad6ddb92231e44aa275f945ba6220d9f226da4d0aaf
+
+# tcId = 49
+# length = 2**40 - 1
+msg = 54657374
+padding = 30363085ffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 665e80a08c78f4c8a2768d1ba374bdd5e5101e61a594300a18a071d7c98c68cdb73acf32831ea077734e2486f1b13f76cd779a80fedbd76716fd022006a6faee19cb9789359e5b7013a59cd671a2a91c8328f4a1697e14a085c897eb45692d0bec074b400ded2820c6a5dbee2feac84cb6a37baece0ce763dfa7ca3b3fd4a82863a0eb35fcff709ca401c0bbb73f27f251b627cc442dd43eea634942bcd8bd72f1e8f192ae8dec1b7275c7739db254ced8b57332407f8a85285a190c94ea7f1c9318b7fcf67369ed23243c2454dd2ffa153ef12074a842878b38695336e8acfebf2d56d3560e43cdb039c27b207ae35f7a527b05baffc73fe76e57813b484f00
+
+# tcId = 50
+# length = 2**40 - 1
+msg = 54657374
+padding = 303630120685ffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 31e48e30de0cf259d0273991b633da6228289d540d84c527d5f12a13d2d6fd489b1ee282ff5261eeffb8e1c716572b207eb59c1dcf04bf9d4a9ca92feccf318254aba5fbe1df1dc6e3101f2ccd0cf329d23cfd9fa19c2acfc98c319be1c4d9831e86343513769e4dded967f512d5371ee845e47544c303d52ebeaae15e139eb2606989268b1ab641c44efd8b1ee3a5fea73907cafd4322c00d666d3d0e11ebebae763b0bc4948acb034eeec91ba2b90cb40218f8c8f4653338eef0a4d31e3dbd29a3d90b9a11c8fd8e613ccbec221799fc2d98625215ad28ed9b7c38eff27c44fc5cfd408a6ef1c7af90465cd4b5aa424c48604e2d72bc10d9ddfafc30129a42
+
+# tcId = 51
+# length = 2**40 - 1
+msg = 54657374
+padding = 3036301206096086480165030402010585ffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 681e2eb5134130900a52086c86aa16e20c7b95e7cfde30607e84e467fc67797d01674240cdb189aee160f8574f773095200c66c96507524f612e0d00adc1b4edf4c5f6c3e499a0bcb892e917c01c2c0ab9bafb6ad219ecf4030f6aac5253cfde1c1e71f1a7c1de03e65f9751d3ecdc09e4b499a96f9fb22da50a8ee8f4d62c9b67281848824d787c40fed31dc0036577e17c2d9a43cf7170c52ae92311725599d51957364da73424464d63c0edb55e79361f7798dd61d0c4068e4d0821ce80e27054459e9ec3fc0f202e9a30f4ad01747c6ee854b1f3615059d4bcce267a857287e7a9cc6058836af04d9f8d9b4adde905bb455901418e2aea9659c65aca0cf8
+
+# tcId = 52
+# length = 2**40 - 1
+msg = 54657374
+padding = 3036300d060960864801650304020105000485ffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 876fea7a5f814cb533109f000830bf5d8776d57b502a86f1df6e4dc50125a18e08f267edb7abe0afe44a5e75e8f4fd5e11fb2691fb73735617bdc5dc270e2b51adb064f5a560a4557c0b925e6af7852a110ac3f8c33150d3dd1d5253b7fc69d11949a8e80aa2e240cb3eed5a44afd0ed7a651ff6205bb80333cd060a2d2dbe5e37de3fe38c342c1635d553a7bab6be1b6ec1bbe9524944ec967200d35bfea076846b8460333d17cc90be7c6862695fab2cb5d02beebd6b1b86229e48d64f391ae3e506a7d252ecef54b61d4c186ab9fc8f2b32e006d07d9958292b6f4735a4c4d8e63713c212558f73de273647dc37bead249379831979c8062c0768148bcdda
+
+# tcId = 53
+# length = 2**64 - 1
+msg = 54657374
+padding = 3088ffffffffffffffff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 58bb9a11f29ec8bc8ec7bba4c056e09087fcc881d8fe8e5dc58fa74d979676a20e00468e16238d8e2a53e40b4952ae47cc857807558b12224b3ab06ae355fbbd35180e555d7d468c23c6466ae74c8003d2b1591fbd529cc479e7469f5645787b8d7baaedb089efacf7f4395cc1382a3068770530ae97729089100960f22a13d73883a3a5ce6867c77a9e833d60f8f3c79fc2f36e63cbde5a02cdb7e226f387588456b9161814abb84c638aafb44f293e19f1bd5093e36d68386e365a5ab076b64275880823bb77502924d26bf443e94e45921866c68edaf5e66b24df38155b6faa25e531eb1af900780413cf5d5d903146a9cfe9350a3a1509beb679d7b75cd6
+
+# tcId = 54
+# length = 2**64 - 1
+msg = 54657374
+padding = 30393088ffffffffffffffff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = ab35fb3939affc42b2ac00248105dbd3da37b59db5d489d1ab1962418e6bec3b6fb4dbc03fb47c2a64cd09fee70acd723a50402b47cc2a3411c716a1f380138511d693751e37a0bf23751488293a68382a909202b7d18dc3721521f9c8fa3554dac15b20ce5ff9638edeba6ae89afaa100cfc92f51326b82e8fea27ca216b8b953afe00d0a02c0df5ec76ac494c1ed3398144a2654570d8daebfb27dc698bb5fc3a69e7b3759c1f1c7d5e807f509185a17b642f8b24934b5efef55287dff737fe633f19e0d1af46a0b4675b300583f96a3670b1e50f1c27441b5e601b8c4cee015854d680ab544900e65f4e205e2666ac0087586012d8ae52711a9cda02ee520
+
+# tcId = 55
+# length = 2**64 - 1
+msg = 54657374
+padding = 303930150688ffffffffffffffff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 300282f3e571048e6a298d3b1d979961d17e5f460510227aecd83d7e8b3e21c76a1a304bf464dcbaaaa3e134bc5b25ecb745b78829fe5d7590c1c799bd613ccb8e1e55ed89abc0fc663599e77ea87515c2446091cffa063d6b2df5e3c623da69bcdfd9da5176356f76b05c98413d762cbe0f47ab6d470eaa8dac88dd55890a8c386d5ba195bba8751af133a24d204b7e7077e7a9268cb9dd7021d9348f12dcb46f145a19f0b408e2563d5487281db1c2807908ddd125db751b735adaed2f8e8cb55ea470a45383e2991b80ae0126f93555908a9154c1633c820e8942d4c37c807ac6a94507a3b9e1f95ae5a712cb7740180eb4e56c15d4e1829fbee2bb1e642a
+
+# tcId = 56
+# length = 2**64 - 1
+msg = 54657374
+padding = 3039301506096086480165030402010588ffffffffffffffff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2021ef89c0db9b47dde3df73014ec88ad9d33575e64ff6cbd46201b45811b15f197594de8e35c26139be07132600cd48459e0439b93c2fe734337c914fa87c3913887275ab41aae8a70d60c1690ddacab4711ca0f1949fec70a7173c39116992c051c5802d1c1f005cda7f5b1dd61a8ebabb27563313f6d25347654c64437165590e29e78dc0bfd5491d02d6ed45a0f2ad58c46367670876050ab385f7af6e9f9bb06b279e360519d047296ca055429935b0a96d6b1d6ad1e77c130bd99db29531b0bb6a6abf3bbe1156217a94d137a76736cad06e5d53b9671204a49d54bf5371b8a3d7bbaaffe7871dc8c4ae8165c70bf14dc6ffce5ad74450a564f21f59af
+
+# tcId = 57
+# length = 2**64 - 1
+msg = 54657374
+padding = 3039300d060960864801650304020105000488ffffffffffffffff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4b06f62bb29091d0ae2dc52c2443bac02e9bebc68f84bd0186e0e565483db3fdb2ee8c3bf17e2fc256f7df3810c5c597fd03dd65d9726f4699734a89fb5dd88176ded8f2caba4c1a869ba85ecee2ad4ed782006bb5d1f6e9a8ced64a9a74298a9c512b27cdd93b7f3fb4845bf2d95af41acc95a43fda8784424d3ff5ce18292abb0d43ad644c28ed076011947a317a5543fc48becb1836a8f57a1dbebd5dad249a00e01c102b98a799b05c2a08565c5778e629264727a9cb8fb4ecd71f8f3db26e3ebbe59812462d6c2e042a4f92456df56cb9caf959ce3181aaa1956109a0dfb8524ef802891e80dffcc2132ee1cf380641c7da5d1e3ef1a3b37c8b9a7d4c05
+
+# tcId = 58
+# incorrect length
+msg = 54657374
+padding = 30ff300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3f9ed26d39ea6b13377ba941923d1c55544c4ef8c9187dc6430eb1e7c8b86292e528fbc74b7876016ff3cf8014da3d85f37e975810c0a7a8996c91533567e40b0c8464de887b18c9adf84571f7703147cee96c81e5eaa61cb3c40840d21cc0a280991173d5fb1cce01514003bec10e28420ba01819ff003d9ca8658f41a6e02c3295a53613adac27ddbe959d90faa58e33c3326c4b5b6a5a015955541531fc62ea216a4dc54878b65e6a12e0fd548046e103d8dd4516bcebf008ae4d5b971e9e2eecc8379356ebf76b69943b6f0d87ccdc19036007f7c79f363ace8e85bb97c40f7b59bbeacba0325decf642cc8cb8e51efb55a7296bb23bb12a3a1b334f5ca8
+
+# tcId = 59
+# incorrect length
+msg = 54657374
+padding = 303130ff060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 748e7f86340f83dfe05a19e73449b7814398c6951a649029509c3072b6ce053e6176453d9046677e4996ea9a490fd602d8a735042b29d2a17f997817c6d9600bea2d5f7d7129a361bac6b7f76df520f4971790d250fbf89df5c22bb9e7a510bb6fcbd18251fcc5b77d61128f27adb3784c9c363eedd2c0acf9fbff65c9b4c67d631c98ec6ad6ce56389420a9f7e78973e3b55c90b3c3a6b37ffaa74ced4889cf306eb75e87d4b34519a349d1b7842f81eb588c3137e80895fbb98d67fda3621c7510815a5d5ae512e6566088dc333107a3a6f4309d6dda5417bfa795c72d4e70253775afeda3940d4bedb9a094502e1bd90084cae6f66c5f0369d3ca6a00d4f0
+
+# tcId = 60
+# incorrect length
+msg = 54657374
+padding = 3031300d06ff60864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7705d76a011d696708921967a9e86166528d77c656946a5ab0e157a78073f4b2f2785a1feef6efd8d337a22a8ef59c6e710e984844498f0ae0c1f61b5d7057d09e3fed79922d492302e28c0c0401100049ccb68fab95feceff0acc24a913840290b27477b295f942ba232e6ec76d112632c9f02f9d40505323d81f4ff1bea14f42d6743a3c2867df273f80274fefbb20346c3f1cf0c2f87b55e8de277a8b2f4ab8006346dc8ceaaaf0d4af382337952e3c55cadab336da343723bda0ec0272ad6251995d58764679135c1a20098e9c3df54f161bb16bce5a600a075b36022f224ad5b4c7dda09bd94bc7eda7a853d96b5100e5af8fa2dc1a6964e4e1fdceb826
+
+# tcId = 61
+# incorrect length
+msg = 54657374
+padding = 3031300d060960864801650304020105ff0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b298cddbcc889842ade9fc8a116492416b2fbb01b3f414e0dacb2a17d386dc26b1c046192f70ebcba7475445c7794e137afbf0c252077272b645a91b9cfd8312a83d75a696c777b762d832272c544ae96be8e28ae5a639e7581b1bb1c395e693c0cbfdb0f2706e2b93134aaeba76de19674c6a0317eed9b06119fd3025a3141e06211047468e9a59fb8932dee92db824b4f3a8a11ef4bd0b3a015d861ebae48f842203a79a66395da42a4b2f943b51c8824eadc11cbbfb34c4a82c553f83341cdffd8256871ee06f160852ec6b0e7a79c1f06aeaa474efe6309f7caeb4a26fb33364737496f233ee6fafa5e13dde525fa414078271cc439fe5ad0a52fa6401ee
+
+# tcId = 62
+# incorrect length
+msg = 54657374
+padding = 3031300d0609608648016503040201050004ff532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8b15577f817c9f63a94b9633fdd36af378d9f5f471636c7b518d467a37aacb5013a3640d4ad384286c68dec71ac5d6a4ba2578fe2c61d1db0922108bc777703c8f09f251cbec3a6d2a0e26d7e4f271efcc3458e96c710cb8b120eb7d5d8a5a535e823b42d6c3d59f8647bb244eaedea2b91e3b4e3e4fb9f2b0fd4d877d4fc10f135c54ed5f6228a48605016c7348ac4d7c00246be44d9e8660616bfafdaaccda021c33bbc564a5594ec98472b0f559dc45ea57b254a6397685643d1fbc1e074fcbcfcbc5de4f5833a7dcfddef6a1af5bafc6687ac8664d9920f9be8d8bf9e3b404db41b1d3ac1c87e9627a4b69a2b04c0ac751eaced3b7fa618bd7c0dceee17b
+
+# tcId = 63
+# indefinite length without termination
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 672bf0ea5541b809287c9e2b6a584da21271f24d58eb68cf2dca42f604bf3d62fa9d5a52ea20e234002ceda5bd919ee8ff344c8f84e2cf4d8efc511560e03f930b6533cce2ebaf14203401317fa8b0fd17807389b3c5449ba24a8a1f16d143ad06c1dc62c5c40facabe64faf0a9816d51a831b648ae9c99b465535b342085ebb1aa44ad23c08bf4dd9e0838209d4805f48cb16d9bca302d161ec3f6e66ac734f001e232c3133558c4b89c00eba40bd53c37c5b03ff6fb3f323d0b79510592141946a7a7b16abfa78ab81d886d7c4d4090bdcb782efbf0c4a76b47abb18e1fc9259cee098929a1843a04ba52704bc9be25a2b96779a2b647d3ba7c11e2a8dfe48
+
+# tcId = 64
+# indefinite length without termination
+msg = 54657374
+padding = 30313080060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 94818574cddac115d352d1740c4e5581ce36f1eac658a7cc9c0fa26a1d6f5f43279c9f2af313b3e0df805ac1e24976d58aee16e2a4616cbe421e46f5263ce46e301d8c295cb8a807a9c65610b176c61ae03229fc6601cfcffcf90d53edcfe869a1bc692dcdf88ce84f23b34733f9c8046d1cb7df77f1eb29cddcd4b420dcc8761169f3c7dab4f04e2eccbc046b0b26007406dec7505a38273e3bab522a81a054241afea6b6576cb1fdab2569cfa605c0cfcea0f4665f489273b92d2fcaae21be8f2d37dc40a38d847c56c3df5a2d5cab476753c91bb4e2dfbf2bd9ded2010e202976055c78de4fb2ec3f2a6a44d6816c7cbb829c83646156941418b4f060e196
+
+# tcId = 65
+# indefinite length without termination
+msg = 54657374
+padding = 3031300d068060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5c54c39c0a079e7a842c8b7f5c6bc63f4b90873e1379132fc1a52fb78fe6eb46aece7f5ebeeaf2df8862622442f0a470d2a8ae252c5c5d71702033c6b5e6e983cf44ac0e818d9453b86b91b5d99a1af0fa5ed8aff718d49864c093e4cd5be4db1fd44b6ed38e58df96e70cab32fae1889e091be25eb9f15c07ad2c304e0ccb881cdbb1e45ba993b95e169358a169c70e7d0915ba34955bf20fe1df2c7aae78fb78c893d184c85a56524643dfdfc41e62539da005751409a18fb4e59d2877c6cc45a4b832fbfa8ad2880775d9fe92b6516f8458bb52cd5820710bc16ca32cd7bb3998af0299778a2dab50d62d73415294a857d92bc5bad97248e70cdacd50dd5d
+
+# tcId = 66
+# indefinite length without termination
+msg = 54657374
+padding = 3031300d060960864801650304020105800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9b91890eb53272fe7542c2067a4e9295b8c7b8ddf1c9ece6a75fcde79c9af2cbcbcef38d342032b85ccff9d6c82d3cfd68a7b27a38eaa45c78a17741c230391b3df0bd79dcc3447c8717b7207fa1fd04e917b5282e3a7dad48e8f2f6d1360f6c720f9eaf1d1d59f061d71daac1548538c0a06fa65b2ac87abc9e6fed3a6e15f48422bd9c4c681fa98a27c873d7efc5c100e708d58141b60e5a691747df4036162456bb11f92f2a391170233ca1c03e1786a32fe9ab8a94246dc643a884ad59edc40e2eb873713e84816e4a7f7857126da3f063cb9a3dda0547207c426f7cc985b5a3b6374cfff51d0d542ce9f82ffc07ad24c106363ffaed12c97526394a84ff
+
+# tcId = 67
+# indefinite length without termination
+msg = 54657374
+padding = 3031300d060960864801650304020105000480532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0f07dc8786a46a7ae2fe2bd534715044f46ad17b836b00370996258aa90bddf563b5f3e7eb1500ed0604f9380491a5a6c6c004b560b0f280a2de30d191928bf5aa0378fd6beda830beb1db8b6b1c8846079b6013cf586e384be0e1163c62b526fbf8e26992afba6ef5e5f15755ec7b5287a149b19e577e79bff6526d72616e28d921661752e8cd0e4b950d7ee9f2414e45b3069a80a2e089e46d0b3da5cc0352c07305f8dfef2e1e928e85bb76c5a0f1516383143184f66f31c69adc0b8219f11809501927744fa37d1c8cc1e2a6712d54ed66dd177714b7cbd005e6a6f83db92041b595dd934b0b19fce5db369e504fb45c9df1e645e81bef62cd4da3497e9d
+
+# tcId = 68
+# removing sequence
+msg = 54657374
+padding = 
+result = invalid
+sig = 70f9515388762b320cf84e90eb571b27eee58a43ebd4773573bffbce8b162bf17e6c0317636b211b2bc56aafa99b968ec950466ae5cd7b10d94c993dabace14b94bed501dacc0b40feb8a89586eb1a792e92115ba5430ce1183ffc6f538ca657fed3ea684a1b9d998c0d9ff004e150a0a32d20455176e8db3d96b5063a60106a7bf6c9d0baa8879ddb77d9a3037400348ed1ee4b88f8256e8e632b15b0dc2611da3a9faab929a0bd4881418d7fd8fc7760c523e1ca4cd3f25c8243b8bcdcd51e96a3840de589744bb8d655851b9cdbd8b7f2d47a57144d9c2a7ea07d49c0d141cf918a4eb1507f8a7b11cbaa28c1a35745209a5fad2bd1e66f7929fe0223d505
+
+# tcId = 69
+# removing sequence
+msg = 54657374
+padding = 30220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8804d661bb17ffa73e371d134984ee95e426d7c12af978d9ad00ce746db4a3bad36546709f029d2c9ed13e6d27123cb7a1954f1f65f3fa46eeb56f449ba6b5e0736e5dd2586d642711d98aa19595d9da1c4ec20953009e2711738263170b487072566558de1301e0d0253f8fc14d12c8cfb4644b50aeb3d3a9fe1a26fd3bccd72986cbaff34fc4fa38ce52e65821f169d54b78037b8ddcba141ffc72797023c802564989a20b07b9a2ba6a256647e937b1c16df2081cb61bc6e6a2ec6ca9939db91ec2ae62c4b2d0d7f61a0bf0c693165175c91b100c195f3611c3ecb797c531439655ace9aae18e53a69e66698fb593f48084117ba288a134fd0389ee0f7544
+
+# tcId = 70
+# lonely sequence tag
+msg = 54657374
+padding = 30
+result = invalid
+sig = 47004cf187bd2a34c6ed89f6f8eb9f67a401a40d66a95c8cddd98fa0faa829bbfc9e62a854788e4d23015a68f098a77cc5daac7e23c6ba56167518753187a8ead68edc686c393940f77255fc8092c4c65a01aa6901c0af96830c05747791e511c8c01da4358feb38bf5507543184fe887c5821c4af048c5082bed56c7934985d86de2402b37e16a6f3e23d5a1e838992bef2a46d4fa87971f0cb01a470e185654a6b174d9bba81117e8df24b19a7be0d1f8e3906d3029b5ad4f0d8c152375dfc4fa490f9fa3a5b52fb929a7d41a84d61bbf60d80162b16334b4958ec879bbc0098962d5d3220169c8ccb338d31c664c23144cc85bc371b2d9da61a69f0b4b658
+
+# tcId = 71
+# lonely sequence tag
+msg = 54657374
+padding = 3023300420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 24bc364503e9aa28177f9fe7ebda884cbe9494a6b589b0db875541174cb1ceb60f514b74838a0df3bfa8e59b06e4ff83e4a4e336b41761da705b5ff9c0fb36e522cd50ead114067f58b100d6868581b69ead695a5c4b15198c5ae35d67e5181335590ec176af6eea69dce2a69e87d9f4a03f351bdad1c0c80dd1d27b75cc7bfb6acc7c25bdd87d0233ae4ab186f1b11ede86139954d9e886b910c3030d372f8900645b8e17b08e61cd64e520b882203b57723f00e96a6698fd65e7d99664351cb797ed2ed67901475169d47cd64fedfcfb6b67df5fa5d7c5ba53d65dd86d26d899df5aa6811c53a3a28fecb72df39e0eef50053d674d521acedbf6cd17ac2108
+
+# tcId = 72
+# appending 0's to sequence
+msg = 54657374
+padding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = b6a1d94b0ebd824f6b5a95f6697af65995eb388f3ae12c87399accdc639cf5b7e71bcf436feaaf8bac9f3234d0f429ab1b0c081f71340ecd727d9b94c66fad1fa070c4b80350eeb55878ba427e4acc5762597039fe1ef92ce29aa9919607045ed76326744b0e361cefa24a24725af612b40febc4f8293d4ca9faae0d19f1f2dbb5c4f0d27f92eba41457b39f9cb2c75695834992c326d5e39f56adfbdafad08589a5d4aed79f0abd8af3e056558afca803e6d75da2379a0cc52168f88e88a2c14abff048ee8174c0e2f31854d6687b7097d0f3352fea3a02dcfcccbece2819d4b5e1c97f93857151aaef70cde099a7226fa39f89a8c92e08de354fa80744dbae
+
+# tcId = 73
+# appending 0's to sequence
+msg = 54657374
+padding = 3033300f0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 32fdb9a7898c2281cf10104e74adf455a4553ba47e96bcaca5671c9ed13180140cc8556d7a429319079622e352f5f364193ce54528a3d3906628fa8945b9050f1365e99a58dfbe50572dea466cd9dc96d2c773cf35c5f1e51a6d2da23a5631bf4aeff50019e1542cac38e71ad2a1580c24865c8f65217e330415df95f83f1a29a41e4a20f63ee1f06a3ab10ed2f10994291f8d7c80032adca004094dad4b2d33203c09b134dfd5ce9ae577f8b7edc7637046d5c59036362ffc283a7c297641d6d7a36a95843661266289365e021a393d80459e5c63cb71e504661c814d8cdaef3d5cdc0ea2f95be650a0e14af9fd560acee1728fc46f5253557e8eda487e4659
+
+# tcId = 74
+# prepending 0's to sequence
+msg = 54657374
+padding = 30330000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6dde567bbdcef450502b9c76daa040d2ab0cbbbc79533c5576287ceaf79aeaf587c58ce90974d555f4d7bd099abb90d61a25a6c064b58826fad6eafde247457564f8183ce79f7881bb2ceecc830c8891c35704ec66694574838c14287024eec643d7dcca4c4990b616c8fa98b0f97f914230e786a102a4e2ecb926ec89f40c69b39b54ed8890fc08edbe50f338c909b7b6c816a44010addbe65b527734e0502c59aaf8bb7e108999c540a023b60a9227ec052348b01bb1bd5ce7b7580b18f40b5f39b556bcb560ced438c84b2e8e67eeadf4837340d7c913afb7e0ed7fdbb2c58e3d9a71ccc59ebd8a63a80a8049bd9df49b164219fd87f345e1da34a929546c
+
+# tcId = 75
+# prepending 0's to sequence
+msg = 54657374
+padding = 3033300f0000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 97c4a36c30fc317a6c1f712fccbd699f3de5a7420efdabf17edfefd790b90e20afc914d7e0aa34dbabf736db460eb697abc285f029d784b2b394d689e1a383af8a51f153b4bb77e199441ce622e6d146a842244f35d5eb3d410dc78c2c85dc73c570f848063de0445871e7210207b02144f461b7105b3a74ea3caf25412eb92d1058f18e9afac51006e859da988c733293d1e64164b733936d563c4edd8e81f57b4c463934ede932cc93237bd26fa0f86c5745d804722f8b837b19e50d415889d58fbc78bfd4eb35ea5dece233638689c11d212c47a1e1bc0b733eff107ec9dcc90a7a7395e06785e75973e0d4a20dc0c562405886c9603daaa20f6763fb9f7f
+
+# tcId = 76
+# appending unused 0's to sequence
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 2fbc69383978c97e1075a9d8f9ad1e01dfc6fdef216b381ae5349f005617c739e086f45ffd2cdb45318321bbe77e5a2d67fb1c6b209c81eaa2388c38b036f66575590447219b7771a92bd6c594d8190339dafaffdf2a5a8b73e0382eddb2b2f95a42fe0235042965bd530584fa9db7fafc8c14a417c84b1421c63419610ebd67d20966e1ce9406c4e938784e967ca37b9499d9df4dded8b74c55b08c6244ea8285b17d55a6c51367562563524e6a45ff7956e656a1bd46229db68398f8a0011ded00f30f6bb46c5599ea3fbffb30746b56d83b17d461b20dde2bab7303f92ad9a322e41ea9962065b9ed683f56e31a58be7177505dc35a10e6703c4628933a01
+
+# tcId = 77
+# appending unused 0's to sequence
+msg = 54657374
+padding = 3033300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 94087e73e94662f9f925abc756bdac96a520ee6d5c8baba1c8947ff9d7a22fe43aac67e91986890b83eac61de630aca7813578e65a2268d78dd25982b89aa7a9d693bd868acf156c9cbb70779bde1cf7fd304b040c428d7aa48f972f0ff0c24f4d2aa88b622e801a1e2011804f331e80d17b3d15f8410b8cb301c7ef4da7eef69089fbbb4aa05433d16e673171d881357f304cb4ba929a7ccb6690bbd6911f6f5fb7d570345719fc55a5129dc8e870a7083457cbaeb86c3cf51f0c5f605645fe40410055942bbe957d9911d84a1d423978b37ffc91eadba802443cae32f48f7d987eca24719f0e77d568f56726e24e3d85b1a1d13a0bcf0c72f0424650ce50c7
+
+# tcId = 78
+# appending null value to sequence
+msg = 54657374
+padding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500
+result = invalid
+sig = 46ebaddd8f38c7acc4f2874a34dbabf6596e42b8f62313d12f9e01d16cca9968d0b73a5407ac15cb3ffb232b925acad2d5b29b7ac1907e294cba0107d9b0fe46f728695f3be72df258e504771ae356ca180cae5bfce3e67b2de72f8d7d13c63772810162132a2d512c041fdfd49b2bed59942ad0aa9c11d192292f945a36f6ff267c5ddba7dbef67645efaa8e8455957dcf6723e4d1df6e5e3fd60a43bff3d1549d0c89906b4ece2a1cda030c7ad644748610182f92ae01b65e2ea9b006af277ae685c4690827091346e1f2169a7dd93a520fe4123612e8960fbfe3367583b50be4f3acaa5f07ad9705a48640e828f797d37e58fccfbc9c39b9989e7b5a5f827
+
+# tcId = 79
+# appending null value to sequence
+msg = 54657374
+padding = 3033300f0609608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a4782205277bafd94e1b611942552b9d6171a15b171f75c3d13459c6d813302941d1ff03536b76508f333ea3736dff38a0ef61dea1e83cd81433c683ad4568365617f603a13e1fcc2813b08915eb681140bf52d4f10ca4e9d95811494ff3f2ce5c27d3a6f43f21375a8bf5b70291b57b24b18a99b38132cc002cfe5396e7d3ce5bcde6fd82ccea835e1ced230effa174a1b8b02544222d9e3ef6ea13433c2f2847bce7c4c55320c849fe9a21f558d3c2205a550b4d04b3bc49f79e4f471c44d4d8a34eb674cbf5762089494ca4d7d8528d61098ddd543bdeb9556247e3821d91954bf493edd6888c1dd23a9d06c44d0faea21f146d0f1a310a8700d66b4093e5
+
+# tcId = 80
+# including garbage
+msg = 54657374
+padding = 30364981773031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 67fcd94d1573d0712a7da64cb211d9049b3dd043b2b17cd97662f837226379c1c94022bbd5d82d1c67597f510f15959033b63bad63fde6c6f972b60337f52aa45e34f826da9a9040ecc6c268179dd1d10794edbf5690bf834a6a26d07023ad99794e71b675a8c6b202234ae9fcdf43b04dc9c933aed66222154ba7c2fb324b6a6bf9c4eb0535807eff2016b44002a3557564559141a34719b142245fcfb3737166ed7f83227d257f5accc579d20f4fd0debbd2ebf7fe4c8680847aaf17514dea444caf74dd0fc67dd07b9067ec16093d7b21db72a82a35af2b71b0c214136af03ac411b14bdb5a9ab2b3b603becb1fd808dc36a9065c744faae07f18b8d71195
+
+# tcId = 81
+# including garbage
+msg = 54657374
+padding = 303525003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6895daf9824474538545d9e1c7288bbc938bfa56cd6ebcd639a897f45624ea7f409c2fedb2ad09cc98143c461262f22f9646e26aad9325af0063024e29bf63b2807c41d615ea8902de10357c747b37e8264d55f48bfe8cefdfe19ac93d251634453c4a0c00dd9a0795c3195d047256abcfec964cdeb3ebd663ad29c457c307e0d05bad643a160e343b516da6a015193cbd2b28b7eeebac2f1a2156c2e62d85f4883ddef31011628d680d4d608e5074574459d6dce4bb623d059ffd39e6956f7243382165fda42cf1064a1bbad91ef5d0a0906785cb8c78ee641a3a4c9afc2030ee4188b32ef2dba42dd6ef5c86e43a9e413303c5ae978b41e74f646ae5185c35
+
+# tcId = 82
+# including garbage
+msg = 54657374
+padding = 30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef
+result = invalid
+sig = a6a996451e9217ea6c0ea0aa0cb6442620847d85a8c2e9e8464d929e91b5e8fae333cdb81678fb7f90285f8a4e77f6e249ba2c342cf5603df2224df31bd9fd74a244f51b639c5f0ddb85c51eae877426ea611cd8e01082e783604c38c7dfa882d3c5b4c4ae59237a9bdba51f1627dae88e9773ccb94abc6113217163ae11e6590abb26038f651335cc6dacd5db4436b1550a37dda9258919cec2c72b78c9bd4205fb3776e7e785f85518b4d2e0529903b39a49486aed55b6622465d4ca581a71c86c40ec96e2300fcd438ebd5dacaf8c585411d8978ddb8d040f4cedf48969791ed638eb5666cf9a77b0b27e1a572447e3b0005337af99d2e5dbeb96bbe06971
+
+# tcId = 83
+# including garbage
+msg = 54657374
+padding = 30363012498177300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4e1280bb478bb46f4e9f49a455bfa382b4231eba33ab8d7861d852d2a0aab225f08635b73c3602021c0d5aba603b09b13c4b1ecc53f702d21e225da737e87b5820d628277254ae6d244c02068f2bb0dc532e7ed04e72296340d2241f0cf508f7a96f3683614478dad9923610f9cd285d2bbfa98ba86e2aefe49a52dad162a36fa2a763ca4a09c1afd3ab86de4986ad0e29150f070dc9f5330c62d1da6c2b494f2d8d97caefdb508fd468d121a7ed36ca9c1d7612d386e2974fc12f3f701577cee82b13098410cf65fd9619151f2f69e0cbdac7d3838d94345b5d3059fdda42e527dcc2200193789b347f90a273b06106abd0f6fa79de26086751d0289ce4766d
+
+# tcId = 84
+# including garbage
+msg = 54657374
+padding = 303530112500300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 09691e7bb6a322e91962d6868e380fe98ced520bf556cd085fb8e8d41efe7ba220a67a13bd72c7fefed3e1d4500e055398b29dec57d0a4eaee6e1016ff7c65b837fee29962fda0d65186bd317dad959dbef96ed34e2c89ac2b5841995b2d78d14945ecf01e632c19325dc77fb879988c7ec2f6924abc8eb0a6933bf091617add696c186aff6bb811042862cabba547ee91b8000e92fcaba7edfdbd1bd03b3d6bf5c2b5d7fc77f2c0adbc398de8995e8bd1c4040a73e5490372bf75a33f111666ce9d69b0f61c9a01cc541b4c0e6a902988ae3f876c0a0029d2f0741523a49c12034d572c6dae9b5d170208f0ffee12be344288a3c53519388dbc20d86066f5f4
+
+# tcId = 85
+# including garbage
+msg = 54657374
+padding = 3039300f300d060960864801650304020105000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 128bf8c66a90e5267f7aa9c89b8713ce22c118845c5cb9b579d29287ce720c747608b68fbfca40747178e1dda3cdc3921fed5ccbfae5d976d286e9382fbcef3026eb988d537bfc9a67470094f8ae30e4da19fca114e6626811c3b355d104ab1f921c3ed8abff6148e817f5c9f21d270b2ac8983c6acdbf789ad54f32aaf9773f0b2570e810058b0f9f12b523cc763975884d13902580cd4f9981ccfbc84fb18f6a9670876c3a120b6907211b003b035a1846cedcd7a414dee37cd77b16c89ad22035c3754b098049ba72b78259c333bf88609184571955c74974083dfcf5d70d940bfd64a6c575fc52b3b8ed5571519961f2356b7bff6a127128103ba24c5142
+
+# tcId = 86
+# including garbage
+msg = 54657374
+padding = 30363012260e498177060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1901af3da39f5eaa20edd6002255b5977d3285f99a2bad2c4d7a57899e8b19d89da3bc5e418b39b744138a0a60dacd84542922f208b0e7fb0e1ab7b47891aa9b95921a46d2de54687cb2a79b3a7f3a640c2b21a139ad7f8a456faa22c16f27308ef95ffc92fa9b70e5feb0e317de4bb5b0a1558af98d177c097dffd7ab42eb8520935fa87512fd6f0172645631cee29187227fe01bd49dd0f6a28d2033276d696e0631ec2da88f7f1128a7a9acffda408ab10c26cfd6a3bfdbe4e9afc93001deea66d443137936d65bf31ca0a940e25c72b2f8c3cb7f3bce957539136cc7af0e6e5a4f9d8dc0b5fc656952d225ac9612072d037c07f9909261c02934caf542b8
+
+# tcId = 87
+# including garbage
+msg = 54657374
+padding = 30353011260d2500060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1ba99c4dffe02d72a6a5abc06d7aeeb7478aa057d8752ba59f72165e12e740160931f6419b1cd5a0cce4871ea974453f821cc43a0bbd7f541f4320fded5ed89c1abcf32806c13aabbad83c09173a2f8dd1fc15fdea66e9ecae0f92c376ea6ff1c2ffaaba304f74425e3f2df4a6436b5b1bb15035cc44466c240a2a2fb41d275ea8751136686d69adc53373a0eda516148aded67f8fb22d0985f92b6fcf236e7782687ac95cf5ff0104ee3de37523cf6faa1c5b428489e11a115f502fcf56567ba18e3e39830c6653bd29abf86b3b842bd1f24928277f1b3fca68a525243fe1bfe085307802803378d9854cc0f90318c79b79a4e939de2730a08269077fafe57f
+
+# tcId = 88
+# including garbage
+msg = 54657374
+padding = 30393015260b06096086480165030402010004deadbeef05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 89476619f367778d5252add21e8a22395c44e2bbcd5a743fcea07655c3ad3a7f4c8c2d4e871a1c0c3787763128fe21d2d270c07c8ef0aa607dc2e9697d9ffb8263b3e0c82851e0a5a884b23fc4842d60ae0eef01670f988bbce5055cd8d7e613ec8294b9ed61459486907e37ed816e7c795bab8dceca60e476d01cad4dbb1c00336003319273f85b57808b6f1c8d8d8d1f119faa4eedccf3c98cbeafff20e54e3b101c094dbed77d33c54f63932ae49f8c584d66ab61373eecb541fcb89e788a5e43f99c67f4921d63bc54a2cfef49cf4ade494d32449db5c8e0960bff24e8ffdcdd5e4a71bafd1e3753786bcf8a8388fc9b9c53f95622763394f1ef88cfee85
+
+# tcId = 89
+# including garbage
+msg = 54657374
+padding = 303630120609608648016503040201250549817705000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8227c6081b51017a528a59ab9a2d5275ad7769fb418a2514965a9e2acb1acf807685e57fcc438187a01bb5d592bfdfcf68ea2ae3182ce349c5bc5445131e8693bcc63d6abb96881e112b0e0a9b3d85c0ba5a463e6d6035ba18cc395176ade7fdcea30abd725d6ed4ce5c3905e0d12d0cbc7622e44ee8c3d343a3e6ef046c4310ed7d12e7639436176e2a1b7faf54e1bd97d77fcbac40368013c8a2491f2c9e084ad110dff1a2621d704c8f5e8ab1654220e959fb665e6e6770da6c23a66035571d844a1dd2eae68001169bb95253d7e18dcf5c376b5a31e9ccdf7918715d281fbc027d0b2510184f2a4c454805b73aae89370cfd80b345c8ed878ad1c314a7a4
+
+# tcId = 90
+# including garbage
+msg = 54657374
+padding = 3035301106096086480165030402012504250005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4360d9bfd89ed3c5c40290142efb667b2afff6fcf53256660409959a06c24d858b3999b2b1fbb8d9c7da7958a5a4ad9c2d9ea617c5f7edecb7ad302b0004957a979d6eba0d56fc378946fb5145429dddb6d12dc2245d4a071fe162947b67546fddd5efb1f277c9e0ffe4281572c3f6ccc9ca5d19c8c1284a5b2816b529a54c02e9acad68fcc71a5d274cad33cee0c2826d0491eadb1e4d0f05776aa02f00fc702b50927d333c2cd9ba753b3e70c26461a0c6d374a20fa6a006ef77a630ffaef2bba01f4bab3314f7f110c4b9c56aac18ce9fac6ffcef3fc140afcc0adda45473e241d592fbae6014f701fc58bbf655b519d2315630c4827e6e16d9f24e9f9407
+
+# tcId = 91
+# including garbage
+msg = 54657374
+padding = 303930150609608648016503040201250205000004deadbeef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b0939c12151b60d2302513c5901647b0800a5fdd45ee42009828610a83b017a32ce042db7257f17f5504b3347c7b482499d3547282cab6d35360b88b88bf57f0b6f7051452f309a324be5792ff00c0057fe3936a9d584ddbf64b8590ee3dbd04961aeb0fc11598a4bdbb92453b3c646e55bfba321d1d21b5ff883a8e7b22afbd66de6a273cd3e4bc5d857af6c55198358f22a54fff26a903e9fbc3af78ee158dbf9a546dee4b5c77c33980619eabf13dfc72007acd263ea2cfa3f4a89f97b48ca684a1be77925e051184387fb0b8d7ac4063aa84d63b8846932d220f5052eb91debde89aeb6533903fcd01a53e12048990b506773239c83e891667dfcfda3076
+
+# tcId = 92
+# including garbage
+msg = 54657374
+padding = 3036300d0609608648016503040201050024254981770420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8a439878c5c694fb16b51bf584c67cea27287e51e5b259efcd62e8ef1c7441555e788e66bbaf0f508440370cf04e87b9474cf0aefd15a7150fadb809ab4bd981036d906cd3bd6eafada91632123de1c38aa486c9d6117e6a1b57099a8fbd78848c7ea47be3125c866151a8d46a3bc0d8020b34915ba17f3d835e641bd797b1e55ff44fffef98a4820063434229315035165196377dff2c5f50b7475c835729bdce9b63d120bfe27d5606fb051c7c946a0512092e08ca7e800abc734e0d8234262ab56037ffb2e8ab3099d1fc11a202bdaf4c7e322995ccdd5efc18c234e1b6139d84d0193dd27751e0db9d077aec1bc23f978d2127fde875e1ed7c992a82d051
+
+# tcId = 93
+# including garbage
+msg = 54657374
+padding = 3035300d06096086480165030402010500242425000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b95dd2dafad0610015fcfe7d8b5c83c34a76dcefe627c513011d953cb2238ef20273feb8b8672475fbda75112c85340e7ab08fac809b6e2b4d314110866e61abe8d15d02f64952036525b0069f2cbf61042a39810d37b7860fb6eb1c423aac7311fe7bc98d6880954055a9ba7d7a1bfb4e45255f4cb68babe6bfcee6da47ba18d95b4954c3374176782f841b85fa6e773f58c5d56fa85f85a4d8c7b8c6412ae83e26b3fae582c3090a9fc6d2394d1a02e3864111cee49ada14e5e625da3650608bde5a5bbc0b99a46095fbd7c01d87dd6c83819c13825bff3a62cf893af31d03f44875388a4f8e83b7a7f360227182b26dce8b310b389e2c672016a166f71557
+
+# tcId = 94
+# including garbage
+msg = 54657374
+padding = 3039300d0609608648016503040201050024220420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250004deadbeef
+result = invalid
+sig = b4fbe49100d4f15bea29586e58d27cdea5270a035432d89b245e7a323cfc19f77afb4f2652caa2afb3acf712746710e837ee932e9d315ae21732c164835fcd77f8498109ef05704b081df7f0a5566f8c176e5031b184ea6aa7c590b0eddc6037d642f463f41f61c00f4b12d0b4bb7924b9caef831961857854ba53521f2b9da0210cb38132b46892ec7d44bca599c5efa9029eca8f1663ec301fd064df65f9fc35f14ffae2a3794a3e1519ab077cc761368014acd84989e690449b95c5c8c59e4fbfe260c64ff044be245c33b4fdf2f44c87ecc6510b524927a296a1f32cf57024f07a8609ebd164139ebc129b5eabcb0a84f24048673b7c9ecf89e24099121f
+
+# tcId = 95
+# including undefined tags
+msg = 54657374
+padding = 3039aa00bb00cd003031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 963142f737aa6b8eac11c6e52dc02b3ea881f4a1a29dc672b8392f4eabf487d9296c0cfb3acbc6d56c1b4eb4378b6f118e6e754d2a16ebf20e9b66f7961d7af4e1a8deb9e4d089d540496c0ea89cb2cfff8220bc7c5bc7ffb8a002d549900d773d00a7cfbfb9499523f353a1dfbfdc9e28054bdb69c64d2bce0e172b586f6ba615e1af9c822280324b1b9db915a50fd0658083eff495f1721eab30d3be3ee276d33c3177aec8fd5dbfd9689195e7a944108ec8e734d524a27e9bc67fd8ade717c234627e2fa25279bb216fecf1f79e1d724e65b10614f334c161f2a2cc50db7113f9dc1c73bca1c67c41f6f77f80c3950d4d4e1252b64300264473cc904b0e61
+
+# tcId = 96
+# including undefined tags
+msg = 54657374
+padding = 3037aa02aabb3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3d1ba856ee722aafa5bb68d8b2901c95dd1ddf22559f05b70aa3e92afdac040e08819db5417cb8f551cfea76e622a2aabde7863c183d41c23f4690da5983c29db4e0d603d349086aced24d33695a788c617348ada9f68baee069c0dcc43d671382158c70f0f91134aa4d2bca45e1e5a106710025240d496d79c3e6bd70e15f5a4d732b37d53f400aeaa0dd49cfb24fb7af9811cfceb185c697d70c61ff454672128a0fefc6dd776befb87ff0c7f248373a17f8d2a08f138aaaa986182c084178103897fa8ad0e921ffaedd7e650637cc0c09a185eec68413e75a6f80c9fa2cba46f328b00d2f3e414f670be8056a77810240eebba03e923c01c096fadef1cfaa
+
+# tcId = 97
+# including undefined tags
+msg = 54657374
+padding = 30393015aa00bb00cd00300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 582b5c38000b069573bec33ebe6d4cdd9e250affdc8b4c17937afa464d107f41bf3ea182b86ec8143c9ce977ba2caa3d5656323d4744556f7bc85ed4054d2ca170d35e8958bbd299aed1bd983a7ceeadb2454bf3f5c19d1e3d98785d644585a1ad3a914cd40401d587f18da2c05bf2a9394902254914ddd4d2ec216bf791d87a8e8cfe6518d9e7520d080376cc35cf5b8cc92995f1e825bd5260f19b0185fa9340f1b15d6c7e0d0533268f8e269295de143449ffe15cf03a0036b17899bd18cc48ac7f18bf270f0949b659dbcea7651634da97e27a2ee1da78b10ca674e5c38475a7ecd654e051161c95fea16c5bd8aca95773bbf18f7f2abff4912bfa46e388
+
+# tcId = 98
+# including undefined tags
+msg = 54657374
+padding = 30373013aa02aabb300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3ae33c56969f5a2b11e0a29698e60962db13458531739d56a4d30379aca857b0d33d48a111865a010a6a6942a64bfb2df5dc3f859f2134b7ca6a9b48093187f3554047a95d22c5d013ee4f5a65ece677229b6bb830d5e33d8bcd749c63d5ff41c1d48e6de89c4ef43048d8be79ab7b547ce1e5731a4a5fa0f71df485e514978dc34cc297a34215e519b944b59d3762b71a5c885fda79481a886b5b587bff0e604d2cc1a02f506f1e9353d3811b154506586af833bb42192ddaf4c78a1f01f65999ea602f79de8f55e987c5bd63f01f27de24361df86173f3d4a2020b440f32fbded2dc62bafb7f77c5b1bddf4b774a820d45d98076bc456aadab3e6b55a50568
+
+# tcId = 99
+# including undefined tags
+msg = 54657374
+padding = 303930152611aa00bb00cd00060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 86cc2f6da999d54a27f1d573b192e01350cee91adec8f9a02b67b1528dfab632160fa962bcba95594dc342840cb4fdccc3698cd4e186c005c68d342432e5e7ea8019469becdb33a76f806504c26e619a17d8de1b79474f669e91e0bd07b31444e53cbb525b0f47ec438391a3587912805c485dd2909e14d8289310312a7616cbd3465c2922a00c5afe88a89d3807c614bac7c5b9697e8902bec0a2fd9e466eeb932b668f6e643a8109292ef8bdfbca19459715dc569f3f12b90faf1f31d7f8506cad98bc4742b47ff0f8f1de840e10e62afb66e93df34d43a2dfeb3346fb3e0e19402235e00c4805bf6f5dc6bb10a1406d8eaaaccdfd118cce8d1a62eaa4a97e
+
+# tcId = 100
+# including undefined tags
+msg = 54657374
+padding = 30373013260faa02aabb060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 18d77b56276d2a2960630b730edde16b0a26b6c65b28fa20ad7982b8b48d1de6038a940f8c543d7fb71181ea2feb85592f608b20bb93ac7c06ce725026f39c645c7f964a14d68ea53de398cb64cd0a26262ed6fd5091332f8b437b71e98ec59122abeb7a27259130b203a81da5577fb0590e2d6842e22e943256c0093d143f58c023e719df92454a979bd76d08c550de11dbf7085afce1581c31a2214752548af5913485c00b7466a1cdfc60e7d857a913694fbc2fca13d77fc5b775f7adaa79668a5afe0b743f13bed6078006e6b7b16ee6ec576554aa2e864f77b43e4e61786780085edf3c6e8deebfcdc057a1de8d8d7d8a6b188a8c771e347365d25240f6
+
+# tcId = 101
+# including undefined tags
+msg = 54657374
+padding = 3039301506096086480165030402012508aa00bb00cd0005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a2066d53103e4d5ed9c08d7dbc8be145d932bac9d6363a146784fbe172ad2e02216cabce279b3599b5f3858e7179561e3c489b87f47f33d266cb019b747ec49d3dc1069cb078419f6dbe7dbf640500cd110a93e54f2bad919e60cda6401f7d88e52b9017b7675f082ac349e4fa4e49b0a0c6006d2821382fdd00fa0b9d4e948db23c1a4d3d658ea857ad829aa7a3474e0f8f86520970edbdb3035ed195f039c807f8613cf333a13a14c22f1a5e4b77ebb0db9c98c35f33b19c914801f4aa4459af043a39ec5e016af1602bb795bf2c3655c9f9e30ee2f49c6e059d0d616eb7bf7c9650581ab0f29d1e2d1fb06b4d78dbd06f0d3155494a6f3d7730f55a03c1a6
+
+# tcId = 102
+# including undefined tags
+msg = 54657374
+padding = 3037301306096086480165030402012506aa02aabb05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b1f2b2ceac435cb3c650e8214ed70a87ea039da7c6730ea29958c375c85d88459065a8987dcf66b93e732ae5b92af964e7341eceac3c252b93c62b2474b54a9477053491179986eea94820ed6ea58edc7e758177c1d150aca2531651963272231f98daaf1b90e7b61a02c7e61b25f9b7c33d7f57d846284699a924d11c45995c9b85bc3192f349af5e669d893eda953272516c1a86764f46ccc17569880ccee30bcd607a21c306f84abf4b6a5fe6839ba00b73b2df062b1d9d7285c4f3b7412b8ab5f68130000c95761a587818811e4632d209f34c4a8c9e13e78358a37b696cb444ff022bb1508c299a6eddce1f8961bee97c5eaf29267d6ff4f6ef9e30061d
+
+# tcId = 103
+# including undefined tags
+msg = 54657374
+padding = 3039300d060960864801650304020105002428aa00bb00cd000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 012e5e56d0e1bc77798b42190ac5a15665cd5f2fc1257c66553d8d00acbe85cd2b42e56f344099da06024c5578851c3463d86d00f7c43c4c959569e2a0657840305b655f4607bde3e44ee1ade5a40162544c9e81a94612d600c069f3073c3e9710cb4006aa5e4a8b9083c4cc4f18fb2fbc3343075c8eb8f7d8b7595532d52301944cc79054512141bdce292d339f85008161af499002dee163d01eb8211e6115e637b7d3ad074507e8492f1a524e39e1a5151802b44b74e1c78dce275825a67d3945e80e73c605ea44328d10a16a99f4960e8f83ca5c01c277beb245f4d0758bbafe969dcb497915d787d760673c86755c1ac38e06e530d24e54b4dc90b67e25
+
+# tcId = 104
+# including undefined tags
+msg = 54657374
+padding = 3037300d060960864801650304020105002426aa02aabb0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 51f6196459dff03d29f6fd4c7477faaa392cdb0b2541056b94484fb8a266c1490e97d90050843010629f7eb61c3671daf8fb5344eca91dada6c2408d3ae9d6a66fd74c725ded0a4470027d13a09402f0d965a6177ebbf0c24ce66cc463892ad282ae07c0231b394725ba8f14705f4cb860495b2df5bbf143e3e48bebfa3503f6bd2bb56f4b5b589e5be883a0fc2249b6b59d6dca99e13b14868df7aa7fde62b4ef75bc6f2e90c18685922be7335d4d3f55eb629e2873d66305e434180701b805f832be5f5757117543ae00141d49d094d37e66091fa4a0b06c630156f99bf2a42d7f9315b9e4e2bc66883b9a83e1bd83fe9904642f66b19b40ac0c0a9ad27aef
+
+# tcId = 105
+# truncated length of sequence
+msg = 54657374
+padding = 3081
+result = invalid
+sig = 7f8104fe5b383a7745e52b6eb6cd2404abd1d6e5ec4255424fe802ebe76b70594c3f5e8a38959ae9e72076de7ee5a485636cd59e51e9270ad5ee38af4c5b295855d86efebb2678a66b6fd0328479b1b75461b9eac59e71ed9441cf972af074f20320d5c01d93feb037cd212f5c9774ba65754a003f1380ee0c77d3f7fdaf753adc1f7912ecbaf801959d2a70ebb5c24a68ff725ff8f9901a712ec338d3a798294ea0f10fefbce5a99bebfbef2ed91f6668d8e25b676731d9595d679b8a7e8c35c918ff0bc6b080f0f0a187f526b55b450d069bc0d4b47c59f7bbc58ac3af21180ebd6707d7237c967454e459b696842d41841d02b4c34fc964677b0116a22879
+
+# tcId = 106
+# truncated length of sequence
+msg = 54657374
+padding = 302430810420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9bf8795b877ed9a89e70af142e44cffdc770cd2ddee32ecf32b962840dc26406b1449f03ab16c7c9c72e41e2ab24bbd163d2b7213ff7ea8ccff463cd41ab87a39232383a6405911fc9bf33ea82fa9fee0954912afad0b50d80a70a52cb043f5d8fef8f80249f4d2a8a1f47d524bbfe9678ffd3a3c9d307d9c61a909478cf87d45001d66f5786a7d22d8069884c3248a3e5f223d6988e6c595009cfe24947a564f43964a1ac7d4319a446e7491230a3814bfdb80ab2227a2029a36b13da4a584c7cfccb337bdac86b5f727169596bf6a53467c06eb94b7d168624847df7679f27877f43954c4593cc4e28951dfbaf4727e3728cc9b9a59efa92c3249a4e796f33
+
+# tcId = 107
+# using composition with indefinite length
+msg = 54657374
+padding = 30803031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 48e200aab82c1d2798b90dc2ddc522ad5d638699b2349b26596a58aaaf7d14f90f52f44a320fc424ae2ef781dbe5ac12de05b85a02866895329f36b1f2e8c78b5a8161ccde69de9c112682331363398659f832544c7848806a3f2076a3127a9b4813e6d5c8ef31bf7a102b136fd5f9b3675c5e8ea7df25bd9b8df6cc46e9134b5aa185c13e40c935add77fbe1c1853ca8dd28fbb53942e7965a44d9694b96dba9ddcd8396d7b191c7b385629e6c391242ec76a916cf038cad4f5239a4c17816a39deefb43ceecd31fae33d3afe50edd8086dd501f6b72ef43f21ea1858dd46ad56ed63402bb92ab06b85a0d17fed8d9028b22f528a9544b8827dced2c778d082
+
+# tcId = 108
+# using composition with indefinite length
+msg = 54657374
+padding = 30353080300d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4323f6998549f0c6d79dd67cbdbea827da1ed45026bc16ee020d42b1d448a66810677b3f0278c20213a3949b204a773b533e5e203f2eb48b936b01ce5b151c32be13f89c1f56b20b44d5987e1d7220c67d07578f8af642b6d504e1fb11bf1657203eef4f9882488f68ef830be437a3ef948def0a6b34715056926504439262cd5e971a91ec5b2948498fcdd5fcb1e4b4f5ba04ee2631546a5454f28304a07c5c14d01a75322bbd764cc452aa9042bb03a466b0c62a8bf945b85c63b6726f378a72555108d27029268706976de496f7098d093a3a542db8fd5aeb805ef3b547267234271124e9e267f27a9525bf224e3f5d33b67a64436d65cdcee729bbf28897
+
+# tcId = 109
+# using composition with indefinite length
+msg = 54657374
+padding = 3035301126800609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 225c4bec4924b6aec5e2524258edc63007b35b37faf9c735959c9f932f982f5d5434fe0f11deed690f9a023337a20dbedd42921f2a019ad6ff033ffd297e8225269bb6a83bc2fe8e08b7d0b9af492917bd3d0cc7e3c7bc213e0be8401ddd2e4b5c1687ab6da434ca3870f0ed3c2c1b08a00b9f52715d2efe0f4e4097510395a087b5bf389471bbce2e85814a43f10d68d8d77398b3b3fbf196cfc35f6eee8b21117fd6c0d317674a6f89b2f7635c7b5a91301b6e64578fbbfa327fefd9d8e4c992bb88a23f8561298c60a075c4f29fd737387349037c1cc360238dfe4e2c3bb6da805da25feb9466923e00242dacae167b40c4c4d5f4473e22adb0851162f7d4
+
+# tcId = 110
+# using composition with indefinite length
+msg = 54657374
+padding = 3035301106096086480165030402012580050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1e416fa2194a2297866cd7df7d4db6477bd71e2b2159313204dcdfbfc69ec84f826f01e35e4ce6bbf43c8377f34e7d4bc9c339d20307ba6391c2091698885480a776628addb3ad0f5a7fbcf944ef41fc2ea9ab078ed8ea62ef4ddd1067d8863d61c1b52534d51b2473a11208d260460008da01f8c88540a594b3eb6c2145472efc20770342f2e17bd2a0025fa2b8d820b8d5fb41eb6025ff990b054f741a8f716f354b18064902e208648b9e3eb312f2917782c0db5c8ef49ac0707a82f71182e8a21daa75d36e0d4938cee289742a3463133082faec3fca8979372957486d5410b90de7e232818b839882b513da01b4cb9fc59c0da62b70ac5a4de1ebbee89b
+
+# tcId = 111
+# using composition with indefinite length
+msg = 54657374
+padding = 3035300d0609608648016503040201050024800420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 9801706c663bfa15fe7877c8d09f58d4664d3619471c27d333ca869536a6c4f4e816c905b2596c71a4ab3bcf07b550ccee0e8ffd5f7a9fab3afb5b8bf76f8e118b7d07170ab6f82e7e33db4a81f2f9ef1f86d04a1b2fc141768d9b4e44792ff9ed882032ad5578560d51c7ab2fa96128fd147bc260d05074ef42846db7c8feb7ea71ec6755efc554e46ad4c9dc77c259aa834fea03ccb9b931c7d3c8b0316e30d25346b682df91a6bf68c6266723ffc77576abf8a732ce1a7368b71d740677c28029d2854797fd515278d884f4eb0806f21752207b103de1e19d357e480021d3e28ba9461b6895b777f1b6a9e08bd4cf713cc41f4e9a5bd7071921a614f0c3fb
+
+# tcId = 112
+# using composition with wrong tag
+msg = 54657374
+padding = 30803131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 71c756c9def03a24fed38e597b1925905783f0b25c974602d982c1e7413e7bd82c78466df5decf09100b924ff254ef01b2bd425b2e0ade75ee4ec58aec4f3da80030eff25601f3ebfec46452e01cf51ecc6c0d2268f754795486f7886b8dc181c96f6fe4dda05a2b54e6fba77869fe347c2eea5b42081d2140cb9fa7a6bf023a6b9f806bef65038aa680fa6ab6263d756d3cc7acdbb93ab3952998b2cb37aab72a50657e276d70dbac6be84526c17c5c1790f0a1eb0dc0644e6c47510d3704fbe9e10c8509419f6c49656e06f7bdc4637891afebd376f1e1be139a87b2eec9063dcd815a17a08f63e2a4e9f9da822cd0cb5539c4623da6d279ffece0b8e58f86
+
+# tcId = 113
+# using composition with wrong tag
+msg = 54657374
+padding = 30353080310d0609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 50d70adc01b502dee439ae57f59ec78608d05820f858a6f0e9271a4372b47042613aef6ec2f36da7dea07dfae4c84f57435980b4982348e2d33c4df6c3384accd7c7e3892184a3778943ef50477b906c2890b5c93322c065315b960be0ead30bfa496960d53a4dcc08c8df158ac5090c10c395d18cb33c8faadb7b8d6bab8fb9997e017d5c12789c1ef0b285761d2e43fbd5b4313726cfc85061f9ae33e3da0addbd86e267fef72b966ad5286220b2da94bc1b667016bece0111dbd2ee4943d9d0fd041b666d93bb3dab53e16995d6b10d1a3b4aa07be08dcae8f0f5cc03c6b9c3419d5ff8268103a850c2f2043842637f54468aed58aea06d6f2dbb965a3208
+
+# tcId = 114
+# using composition with wrong tag
+msg = 54657374
+padding = 3035301126800709608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b96e8894734529229c0830d77834f5a07060c22186c2cbc7c0fdbaf405b466fb9727694a527acf3ad0a35223254efe854789375311ffb6ea35d1335216d7b8fb215241cd3dbbc90dd569c0ae8979d9c0a2dfede3988c85e18756835734d45974dd50aaf649c1b9635f0c53dae4e44b0d2315897ee248998f6efaaeafe72a41f2f13a1271500bd6f9be8ef84421f443e68488a3eb40604cd4f28f7e9cefb539c8c5e87de966017d9ab0a3f01275fe25677c0049c0fcd7ff5799b4b96cc0490bc4199da554daaed28ae235dbd3104f9f2462468facc932da3bf2e5822a8159d6e8e8d9ea96ac200113a60a57f3253b8e05f3f0e8e040fe3a55b1a8ba749d5d5ef3
+
+# tcId = 115
+# using composition with wrong tag
+msg = 54657374
+padding = 3035301106096086480165030402012580040000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1b640c511649dcb0d23df1fd808a340415cb87bf3b15ff5e19cb6ced922fcfb4ee376d6dee61df8aaca7e108c8a0868c8a2e99db2c0e769c80b7e5adc3bb4cd4da70f7fa68933470aa61d50a793702a49d3dc635670fa77f2dc282e28f4a74aaf5a76c9383b093e529ffde33e3f8f947719c5aa2680b1ed4a4c07a72189e03cc0528a814a6ccc7cbcb4148667c9170c882ecd4bd6cc8dee957b9f334e8e5316fc4041ccd6b422cf658ca6cca6f27972f818ab2f0defdf35ff5e4dd87de52d6a1d2cbda5f7649a13d83f989d208d95b076a1984b548b71232325469d111a8dd0b508e4affeb2f6dd42c90f4cd1e10dfc4e896e483bd9e96c3e951a51519a19486
+
+# tcId = 116
+# using composition with wrong tag
+msg = 54657374
+padding = 3035300d0609608648016503040201050024800520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 8dfc2c2577dc3f36d36430f25f76fc01ffb2af51e1f5aa8fdafe6d42f57a0934a106d88254f834999177b204a5388543a49d638af70d52edde954fc9a6a2a0b99bc3d3e2c148058a72e2a50c1c3774dd83f151e8fecab64e1bbc6095cccafd0d1774b8b4ccd8d4b995af3e1ba9c9430fd8fff39bac43b0c6bfd051c5d20758900c9e79e11c7918af1a38523090454b2c14f01d1aa16b6d3c2d94bf4724a37c471e3bbdd710ad1f268030ad3b3fceb83e808c1cbb1d3b4d3a4de84f0a4f6f1d7765b324ebb81e1bcd08ace01a4713c6b376069114b8f0cd236f7bbbf3bea3bc583412617d97d508a511c54eb32f166dcd7f80d53a5c0c881030de35266a30dae0
+
+# tcId = 117
+# Replacing sequence with NULL
+msg = 54657374
+padding = 0500
+result = invalid
+sig = a43fe7407fbd017415df9e194db645a0a5744bccc05dcc89044e7b978a97090833589251d57ac70f0591ef9a787788360602624dbf50209fdf21f578f0839b9b27c9aab1bd58d2a17ab1da720fb686420fdc17f2756edbd8eed82502a1e66c3b2b90c08dd4150f6f6d0b569cdb14f7cad5f7925d9c8a1fc3f0a6092219ab6902599e018f88247f2e4edebf9050104a387de07db955bad9cd01f2b189d9a6a2ee9369bf1f6ba272449e26d4a67712a3a22947ab67de53b1a416f38e304011dd477eb33c8191d46101b17d9e835d9816f76dbc540a2d6a0ced2562325b9a21ee7c90f010c22fe7723ab4fb16197af8fcd507f61387dad1ce8ecd7a39fc84eb8da0
+
+# tcId = 118
+# Replacing sequence with NULL
+msg = 54657374
+padding = 302405000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 852f74fc801faff2486afa44197fec789d36c1a40ea41b55d46b6fb6a5c994a9943c6d9b3d46165ab2023124271ed5fb34ea0299b205197e4d8432c1dabb40236a095c05587e885e6f8ed0e08611c2c7573c928c6ba6159541fbe6751c04486ebbe2f20ccbe8410ff39d7db6649eb46c6f0ba552f0dffcd183628e863ce2ef8f44faadf3fd94659f98517a5e8b5969aca73c32ae22c433887315ba8631f4f10cbd7a0c3204e377e7366c136986d505f1e8855f80c5f8f97b9ec76a69e9290734e80906701372e1f9fff6f22d15508e4393539dddfbc78471fd2326e7fbfcb5fde066f437171329905fc90c95eb174e9bcca53ba46b5c42b5f3f47f1e0fa4df04
+
+# tcId = 119
+# changing tag value of sequence
+msg = 54657374
+padding = 2e31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6ae97ba33d02719f5e4a809f5b44054331d0ec1b61c34067c6c8996d126c972df2eb48f2decf74623116e4b54401bbfc05023501e00245eb98d86aec6357697e67cdc78e0eb37c53b3ce06cd078af9bbde0206ac5d63e8a842726d4bff489e6695c6539de3bef40a4fbfc500bf932c35db6d8185ed3ae713ef6f7931b8e4a76834a6cb59c4114c230dcdefaf3b4460775650e03d3461deb3a229511bc97636341c0bbb1aad24f477c3a1658155c338d37aca1d6b5ba039f3a486535a2e2dda68e4bf1998b8931a52781e465d32596c6781612af4a6f495974c023b68a0f537fee00a32c3e499da4f8b2e4ee677b68b058f99a104dde579ac31e6ff966679cd47
+
+# tcId = 120
+# changing tag value of sequence
+msg = 54657374
+padding = 2f31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b00ec164825f457f144e3208dd887c0b69762a2877f62d8795ac3eca14e49988f898d3c939613caa5094e21ea361c804c8ea0c5f6a0e09e118e183441b5719ae308eb95d705046218e7dab336e53fb30a7c1ddc59cba08785ce9bda385743526e6b7bd15b3cde6bfa10f8ad4f6f20534c388d7f61dd04f34009dc4d6266f7363fcc59853f24e0ea5f9ee100f0004adf75767d95c12b30473594f67bcd5ca63cb76a4b837509901dcf0bbf5f2d109700bf04e2169cdb47ba4de1019fd595665acb114039bc75a62cc07624646fd1ac2bd71625974567a9508c512b0576ecda69a59e950802331002662dfebe08d2548968ea8939364a27e202184380cefc1796d
+
+# tcId = 121
+# changing tag value of sequence
+msg = 54657374
+padding = 3131300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1778c178579119618a407ba834a7de8ff244d4da6ed2f979c54684dc459257e70240691ee844f745d72e64633200b800be5da738484c0258405e7319800c8128d023db5227fc2e348c426a026c3f84060a4548f0ddc2dc92be1dd42bf7a819a9e892d318eac58919a01f1ce3da9c17528af6022b2cd088144fe44c3dbba60ccc83970199b758fd49c2226f5b742668d6685dee1a5feee173aa8f4428118a18701ac503600e0704410595e8fd7208e22c161c81e108056b52da131f1f806c3bc118f934cc78b8e047c0b181ee7386d9c283a3dd251ca30a81a9b6f562b3364815ec3d247e5cab8ccdd78e0653e2067c6148b76191bb797e800f0d6e9e282409d9
+
+# tcId = 122
+# changing tag value of sequence
+msg = 54657374
+padding = 3231300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 13b647d93816de9c2fef162f8dc37956690dd40d2124b0b7b724ddbe5c62b1242369f82851b24cf98b1b462f6f5fa40c248c02d778ed28d3ec8d2eeb1668081c691f6a3939f72345f0eb58fa02737ab0334693c6333b9e4593eacd3dcb71586623d11b5230eb624034561f3c6c7b151c1f18d3311f359a166500d78995d6ede43421058a571c639f228a804e33deb8aa06e646c7aa425a8d0ea245e4b2c2a5d48413c6ada61d195e2302577cd517876eea82b043c6741aba882242d9c97fcf7edf0d0a3ba6cf3723f5d3006790d22dcd8ec6bca701568cecc2420284e140c84d94e4bcc72861bb31d61a9dccd53857060f7f6bde1503580f2d52424afd1c0794
+
+# tcId = 123
+# changing tag value of sequence
+msg = 54657374
+padding = ff31300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = ac52288eb0ae64f6897a5b383e9e4d734b45685fe3a75e2f5c65ad8235311a6a2fdcb5a8aec47b430a7a84efe10bac9da10786badd033089243526a4d9ea57a9e7103ca9e7dc889a9d1a4e4b86deb34ebd3a5b454d0afa940af71422a4c4dae4e1a5bd1e4270ad32a486e2a1334db7a511f3251834d112b9696979dcb0abf8ca83f304e4e8cc6892c4dc5188e416428570f0e3e56e4b171a3ee741787384f9375019fee5cda1e161d4876e9ebb349fc1f33ded8a733bc5c7b719c0367ee44ca8212c517eaede6689e1caae2b5cfd347378efbeab78114435986f95add85e48d433074288e0cace49de21c0fec2414bed9b01274a8e8f6959fdc29648bfceee70
+
+# tcId = 124
+# changing tag value of sequence
+msg = 54657374
+padding = 30312e0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6b31d3f3d9c007718c2a7f9bf201ffc003581b3fca2371fc15aeba38214e51d6f72ddc632a7632ba95f79c868230c56851231a8fa178cf6cde67fc25cea8c8a811d33e451844b86fdc11c1a75b03de5084a9642490d5e9b49de50d51c93c765bb36388f1b3506a098a8a9d58f509d48e76477bdeb4ae2fdfe410c17cce011da703b47035fe2041fb82d82a158480fdc25d8e868209aec6f788e575635a7df9fa58a95919356d52a38e678a8268f3baa2af7a6efbe3af72e23eed354bd43472ef7c7a877842efbf3d9f08ef45cd562ca3ed4f903d7d4a571bdda531a00458387135e09d276729ef230297c289d9a0010d6db66c40b96d91929e685742946a4c05
+
+# tcId = 125
+# changing tag value of sequence
+msg = 54657374
+padding = 30312f0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b72975609463db5cfa161a7f29ca78c1e8ec6083eb055bda72fa7245d71d565af2855f175ed29dbe881e2106f90a84f3abbf7d229db8cb7be2a7d5d29cddfb16468d9f142e07d2e5f4780ab52354504743ef0cb4e32d3cc1c2e612245324afe6604004518d8fad3ea2884104ebac9eaa95e14180e86c54cb801ba9b8510bee1e2df90fc49a005b1a26ade197c63de5f1cdf8ac8a84f6c67768c0adb54ae853388de71d1643e07d8bb083166efd077251cbcea5905fc035f01919bd143fa8d5b600cc9062d8b61eb86d118c0ce9f98a3622f90084236124ed6a5024b0b7a61bf7641cbc7647008099decf493b56c59458a1a9dfa19c13ba96c0e050d3df512491
+
+# tcId = 126
+# changing tag value of sequence
+msg = 54657374
+padding = 3031310d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6afd7245b1521c942c1d38b8dc0b9a3bbe124833ee97de0b50ea9e537973e3d199376f1de834ec239318389e479a89c97b5df2bb08d3fc565c33903aab595f4005461c833bcbb5c04d90a21aa7c251e1342e2d8db768ca1c23ca473adc011f40eef9faeb783cca57657b6fc4200fd54694ad457db2942c8a9271b61e3cc1aea81f97052c3c4ce968b5c6b56710d5733615d960e29a636bb959a4fe3644c41f7cb85987b9112df1204f81c69d193f10b5ac2aa9d8f223c77641ade87567469c07b82918d1b44df6d047a0ed9291e489abd7050cf7ba1adb85cc5fd079cde65e8168c2480121ee7145bb094dc846517b6490250648f9b58398130a69dba9ceee10
+
+# tcId = 127
+# changing tag value of sequence
+msg = 54657374
+padding = 3031320d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 582dd05a81d329fb7c4c1bcb5716eddd21334fd2f7763aba0de67eff550838dc7f4284ea5e4b94bfd0ea823aed8bac214e3c9adb0144c7ea34ad98cacb583e8f5e2ceecfaddda67031de748b3edea986dd13906ffe06695b7fbbdc455e350b64a459a8cb260ee87b0004433d5dfcab404da5bd9a116168d8453071dcbc13af9abdfd009704721e65df950984b564b957984108afbfcf1b6f14ff50425a16da4f1d043778a50b91ff340d94e04d9cf9e7e3b35a7482cd2096370b189844542b2976713466cac44b356581411db0bad42a5b0898d05e5b19d062e04d4d22e3170001d46499a20ad125779ae95d3477cf2ec3d39634ad787ce1ed0136bc432cc813
+
+# tcId = 128
+# changing tag value of sequence
+msg = 54657374
+padding = 3031ff0d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 666430efff090b85acbd66acc054f29a8c05720e140a599c211fd699955c8857ff68dd8ebe56517a1d4b10ec5cc175b17488161d8de9c07c3263e5c3c73a9c649d85e8b4cca02035f6ed9b8ec80e0fb1e102a06ba60e30a2d2d2026b1efa283b6744c1f2a9b5bfb2aa054fc061626bb7c5d18cde129e1a188b62f440abb78ff3eec10943b60c168c2aebddec92191d04c2d06fe1af82e9f6551834f2c6142b7e81bbd4b4b501986056530602489d59a338694b08f56b83089c76ebbd0d2700ab2b1489cdf43913586b426b22574d20bfecfa1efb0a72b72d7374ba235c8708eb68feeefa9dfeb71c94bbf999b952b2bb5d6f47bf3404427f931360e94c8087d1
+
+# tcId = 129
+# dropping value of sequence
+msg = 54657374
+padding = 3000
+result = invalid
+sig = 4f1b6b6f44242c393d6047cc0c52f5f11e53ee6f67cda2ee9995ef5d85846e35bd501adda9e0e274147b3898b56d80a78127569ef977872f46bf6f996ee398a489843d51216b90dac9bf173ee966cde1903c072f3da2551b47930d0d4c8c74836e2027ae33a34056c40a9bb7d811956463dd01aaa305899130d180e61532a604910d0eb25cb14a6e46ebce99914f820e64ca685a33a2409b3df75796cee1e0ea4e907265d4478327cea93d2779d607854d3f327125e4fc641f6f87da99b9138afc90965dcd95f95e54729618cf0785a115a0e7d9534fdf4442646602b9cc305eb48457f692ed6740ce315ab8a6facfddc36077a8bcf0ebd2a4cc41565c71bee8
+
+# tcId = 130
+# dropping value of sequence
+msg = 54657374
+padding = 302430000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0ff1386eda5e2e274e20fc68a2f2e04e0b299b99ef4c3c043761992e669da54a51d9ee1c1626674ad35b95e7c9cdd72312616f461bd933bd281f3ed79b532b54a39f1ad84602edd80767ce0e89dafa6841fdc9c4b2339ad0a28aee8ac5859881e23b4ff38e2ffc9648489b5fb61f64c6201c0558858f01ad97ec7fd40965567d7aa98c03ac0b3615c2d17d1c7695df50e03c362506f2a7e0a3c95e1e5be6e382a86bc66c4f1fd4d0972af088a3fa7f9dd439ca4b44cdf40cc84370d087ac198af66e6a99415c3b4954cb6893d1cdef0f7329ba339e01fea4ee4096b94bda9c4d0c74351009678a723402524976dc01e70f81bce36c4d39ace0d12111733ec1bb
+
+# tcId = 131
+# using composition forsequence
+msg = 54657374
+padding = 303530013030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1a183748037cc7201b866108573e83611953f72b96a56a33eb7052399614834d04daaf3892bcfb194aa1ca19df3a149720a0ea970fe9aae1bdd09c0548071ad50d806d8a6e40a8036fdc5803de61bdc14ac155d26dee61e1c23dde867c16f28cde28dc6a357010ed1714a0d8c6fbc5a1894d1dea159c3a8f4c5251233ac2cb1ee715d42b15360bd045a38be1fae6f5b5c5b5f8eb97cc537e18d71f506790b35e69faeb43b30a80ce6c291dd2ee4b0fdf6dd97dc197df9b125c59809cfec7045698ecb700cf99f3feb6099f7516dbbe17665ed515ab41e7154dab04e568e1fbd1b419d9d261ba35f05512f181f87d23143f0649ff5711cc4c66d4e7b702903fcb
+
+# tcId = 132
+# using composition forsequence
+msg = 54657374
+padding = 30353011300106300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3134086af9ed8e92e0dd74f4a83807bf263b3bd5ca32fc975391091016dd632b980c1df91854508164088e61c8af8ab1cf2149a8e8b2fd7d223e67da5d524cd6dfd3052bd307c991761bd8047c2403fc84871430978a0099954bc4befa89c7281ae62b10972a06b5dc8f4cd6d7e1ba42d19b486392fc2f1658ac31fbe9f0bd6d7b7738ed9f7e7f51649989de4817c7e4a613e357e9d4d0cccd5fe365ca4505f99ecdee8b0f9ad3d76deae39de4a815493611128919e344ffef0776b917541aad6709487f4605f1aab878c3a62d881085cb1ff1cb55bd6436bbfc4347c0ebfdfdfc6482581bb1402bcb787e9c6fbd3c96d9dcd16245f1935279116223aaacd83a
+
+# tcId = 133
+# truncate sequence
+msg = 54657374
+padding = 3030300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e
+result = invalid
+sig = 39963c8d72f4b87502bddf258c441e3b7928c0e99f5f4c7c66e45db5cab0aff14102cc66de1555e6053e7285e53cbe1c4645883768d4e3e6bb18dd87eba514f1fce3177854b7f58adc573d2f14ba065f0cc36d62e62988a85ffc4b1ed6e7e7f3f5c18d185495f2ddb1fe32ac0dcf2404cdd3078ea5986e293e2cc28b36f4be1c654f8cf86d0b8fea5be318bceb08d62594255273b420ed9f6aafc9a639fa384259c636132d8297d92cd9bb4e8f2eb77785005683905409978b50b97685c39274299cb9da6098ad02a66971943f0e7c6df90622e39f2e8582770f252fce3f1659ad742e68dbe4dbc6562c065f82f5cf7c85f8967b9de92dacd2b05cc5d1ff0457
+
+# tcId = 134
+# truncate sequence
+msg = 54657374
+padding = 30300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 10da62f2d21b08fa1f0a9c6be729d60939340de884ee9ddf15e37944517b9c1e692193029e3aee69bfe92fbdf91bb7018deaf025e75944952b379e85c35d079cbdc1da17f97d844c78b0f0849b7e81e284bda48f0e354daf99fe5ad35f3b782beae791966d2d6cc7d6ec262a86089c385fd56d1e8e21ad69b85d305b43a271fa410c65f2ea088941ece8fd98063d50d6bb07e50119f0c4cd9c27775bcd40803124c85fa7dc2c555bced956e131a473a0e3d357a8287c0aedc6bba5239d3c8e92421918b137c08c08b424040e26a559b8cdee5daca596e7506109515e822d3de3d826284140b935683483185f8ad5684b0ed648a2cbc9e549fc4b0294d7384684
+
+# tcId = 135
+# truncate sequence
+msg = 54657374
+padding = 3030300c0609608648016503040201050420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 48751b8bf25b88354852664446a3133204880e38e9bb4e34ee79beef8b464f138c83a45ecab05ea954038ffe6a2fc2f90dfd76f2d2a6c3a2acd36f63c43569999d54aef4b9550fb2406344779d695c773b9605d189d42a825ee489e4b69d5f1538e4853132cb9fc97a56bd9180a0ec32c2fdf6beb855d62ef6b18ea45354d49bfa225145ca639e57e10248a3e947c84d35502f6b40a64c44f813aa34ce502edd4dea72ceb11d453e66d1175d9ccd5d925e087aba6e8e34ee641eb7e76cde594409969752061847630c7d7f8d87d3fd019ffdf5cb3fb0ae5c51a8e66b03fb1f6a8601c1cf79a3596c4ee9c66331e159779f7e7c78bf0462bbaee953c31ab6be6e
+
+# tcId = 136
+# truncate sequence
+msg = 54657374
+padding = 3030300c0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 17ce85f7b037ff2f5902e3df389932e95b3814547414bcfef491ca0aa9f6ad8eed3bff73f240352410bd67caa01c77994543af721d1c93beb57a6b5ab348ab51b75d75cc4b5addfab9479ec0f852984b81ad6eb0ac7005b24ddcc43723b37e24f509dce252e5cbc3dd5ba4fa43385f773b9d8a49ab07735db9a7aec91fcdef0fbff7a6c3dd8c8e7ca1710f90ac3ab1594a20e4421491cae9abce372b2bd703808363e26feef7ae93d40c298865de766a4de885f2e9efd2ad0b465d569893b15b194d2d8c9ef66b5557df770ea009d1520b87078b7339a53c84a3dd477c185c2f7e3e0370346df5951dce75d4b9e49092deaf020e0651d409d7ff17a5b5439286
+
+# tcId = 137
+# indefinite length
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 299a19ce5d0226447644ee011e1633135feebb8765072c33c18c7786b93797c6ff66f182a698d291f50f60bb20d244721a3e1304e425e4caf5d893690fe555c45f2eef068fc829d313499c0e2301c127c032caafeecaba6e339a96b5654d8dd61dad1d31e594fb538042a7c14c2953ed843207d628cde26453241edea643a2a50eb6a9446ae1d266550f558a5c8caac34ab4e812a2afc751e0033a16a1bc09eac9118ac7bfd39440926da48867dd1baf0cafe46a2f3d588a01fedefb7e8b0fbb294d9beb78229dc2a1ee2b045517e25b2c521c0b6431dd490376b7e3874da096535ff2cbadcd7507d048c82e550b2da59cdf3435dd6c15d00b81072d0b0cdebb
+
+# tcId = 138
+# indefinite length
+msg = 54657374
+padding = 303330800609608648016503040201050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5047ce51895b102150c34f652bb0e6f683189dc2b4c5baf7787d01438f0b24a4fd3120f6fe958dea1aeb126ea1c93745fe8d0d0f9280d701a00bb4ba9eaf35a4694345b9d38f724f0dfec600e379477999ffad9122980ce111ad4492cb4349ade4aeb85f3de7e71be992a42240a78ec9355d3a2bdc44525a93d66a41cc18a6910f43e11a528d67237901a4196383f64fe6ce5f246ed02ee2b5f5ffa86bf16044a20540d2313384cca1317cf3d18bf9269f3b539b78a6c84cb4df1e9f2cdd4d9a9b53b11f329ff7db8248d23ff3dd53e805242ecb307bcf2cfe23d90de16c68cb3d33a5e461b3a6db28eb1ee25bae53076df190e6f9cd23a4880514264356f02d
+
+# tcId = 139
+# indefinite length with truncated delimiter
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2500
+result = invalid
+sig = 47e9373136f0034afd98de6e5519770af7ed2bfb4926ede7b6b774cce7d8df94fd56de9b5c8a2d0d3a23c2a49b171e62e9233bfdd88a48d66ef3b1007cf7425b46d5823b3e11a4527716f4cfa9bb4b9ee0fed76c00a6f5e1093ceb2117eee845b1daff24f8da60456d429a94d180ff40600e29088d1c181a60a233dda2c01fc3bd24f248f8d55d12c9b818ce608d8ef9194ec2379ead30addf1d88a4b9879f5217419753d036fe39e88cb0461b5856af8f2cf0b5e6e74ee8c0d052b851029ca7ad23c2eede49a3d916d5ca5a0190a92ff3b2f9cc4e41dac240620afa6efa358a9f1539abcb1073fd7a5fd18552437bc01cf5149506359e822cc405f5b474510a
+
+# tcId = 140
+# indefinite length with truncated delimiter
+msg = 54657374
+padding = 3032308006096086480165030402010500000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9de821d4fcecd5c3ec6ebe88582c61390c5d471724a7c9aad4d4eac2576aaf133d92e5c53e45d43bd707ad80a5d3bcff1d45599e048ea27899f27a873151392afbdf287aaeeb7020491c835050c7d7fa3a905eb529fe2760e55bcf994bdd25f4bbeaaa26653660802b4131cda45e1a51fda7f6ae42f38ff688c8be59a70b7ad805e30186177e094ea2ead3b1dac4c24a42accb112155abaa12fe452bac975485fd8a40a549b484fda7d078bc6e443ddcc0289aab9f99061b083676fb00492aaca801cae31578247487fbaed775a74fadac298be953e0a108533211088290b3ed8af563186a18976ccc04e24097e4642d0e2d5242a28ec13ba321df4b8705624b
+
+# tcId = 141
+# indefinite length with additional element
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e2505000000
+result = invalid
+sig = 7c566a9339a3bff1a30d14b7ce5b4f2b1037907657106945a1159ec0daa86d687fc3db4b0f434bf6f5797f3870fc935f0aa1a67cafdd57b3e260a5ca95f17fe9e745a8aae891860e98600b835c0e18d119f41053612bfaffb9c780318d8628a965449b38a508bc2ed5e9ca208f44189ee72ccf5b28208eb27968fb5613bf070686d638e48d8f2dbd3b8ede717f350c41e1d97e9dd4d3a82bd0fa7ba4c49ddb50ebb1d522355f0307297e7d833e11125efd6d4201e6ed7fca9f0db1813c634af35d780769dc08738bfefe32fcef60014d5049ad739aaf7d2b885c2dbe97c726c269333d592d0c35d0a1b448b972346dcf849cbe370854ef33270e49b17c93ce7d
+
+# tcId = 142
+# indefinite length with additional element
+msg = 54657374
+padding = 3035308006096086480165030402010500050000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 92996c9f61dc7e216d111ad097ddbee4cc15ae29b37b944ecdb2976b440c5e94ab693d118d2c129f10b327c46ee8225099750df108ec8f412796dfe607c2f0535ef8a4a66394bd3d72e242e8182c3b1f9e8b2e29420aa6f1dc4c6268d982931f1ffd177293223de1e6c8bf65e1593876a6865ac228a898f475510ff938ca9f1568b0a90560cfc79dc4f05734013cc0aa65602aae3015dd83a7566937808b1e7d8d64fc0db46a47e35185ecdb9c086f4b857007ac3649a7e773b04dd8b6775adca21611b819e4b90f9315d4769771cfc674c41c054fe8493149eed9c84747b067e5efdf289a798368298aa12628a4ed8021c0827b0893c3458eae2f8104c12999
+
+# tcId = 143
+# indefinite length with truncated element
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25060811220000
+result = invalid
+sig = 3abd11508528361765b79ca41cdf3a114305b9c481b11eb71b742694d5f9ba59f3010c066971df5b80f969fe1971449550031ed1348de43ce3bd9fba4d1b93e1f7d1e4e0f79e98466ad37cf0e5ce9fc01b7e08a9a540d458f546bf53fd6f2bc215366cdafb9572600c0b85e9f3bbe0dc287b6630d7fd10114ff692fe2799959f6777daa709fe7b42d70161cfdc86c03a9cc815e51febbce992104020da3f7abb3c800f4c8ad7f7bb56d0c82689a32764a3029210913a1f78ac54c50af92fbd5df563dba505235deabc0a6e6a39c4f8b211747151e3a677eb93026b513f0a121fbcf4b533afa41c13378634536173b1838fb3d436ffab58cedb48bf2562d59554
+
+# tcId = 144
+# indefinite length with truncated element
+msg = 54657374
+padding = 30373080060960864801650304020105000608112200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 70f8af936746d605b1527960344f07f63c2933c32f43cfb0509f4461b897bf09fc7c37e1828b4f63c55b9be11cc9642c2c1b6d44e388857207676e6914aef480ea49645296f5c0c01c63e1269ebc0c27544042ac036af2dbefa2eaea0be474d534e34995871c4efb9ae6f85b0f0c724ec191b3fe46554094a39d785441dda07713e51f6f9af8116689f65296e40ab21919c7f9a67c33be44dda122771c2fa1c5bce89e07dc739f671754a99ca273e256bd2a6c0812b9f3f3e76c2ff7ed972be9836a8a926cc680df79361dc94b948da882021ea1e1f5cb6848b2ddfa285c5daec97606c029c33c1fa312b409794c8e701a414f3cfe987b08f37b635d1c68ec8d
+
+# tcId = 145
+# indefinite length with garbage
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000fe02beef
+result = invalid
+sig = 53dea4ade112b2919cac494c1bb1bb9027ed7a70685451c21d3618ae862502bc052ed40a0000471085792a636ab95093b73f4eb4505ce6896fad47a27322a245cceb730dd53365659cb4467308bd001773b20cc7a850f48e78a0100eac31052857ca323dee8ae643241dcc33dbd2ac098aa5a6c87624483d7ff51b1d1d2f2409ab2d1d0aafd29002bff4640f8dd0d24375f7e0d5789bf71035ebab7b6ccd23cd0597103ff93882e58c0a5ae2899bbbac9df615331a9142c0d39a46d57a57c94ceaaddba6beb5ec6027b096ef3f8786d498db1baea9bf8e23996c8ccc17d6bd5b8f4a616ac31b0f5ea1181a092fe3e5b960d309497792eb5046c4ded68a460fc3
+
+# tcId = 146
+# indefinite length with garbage
+msg = 54657374
+padding = 30373080060960864801650304020105000000fe02beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 97b5788236de2f816fd21cc21cc39b04be38d51c39805d98c59ef4647523a5fba15f08c7a2076fd63b71282ba90d14656c696f312626a17db5d74e0ed8234704238ff0dcb7539a846adb85795d0ecb407457404df35fcc04d41ce92379c08896eef2cd5547158431e71ee1cdeea4e1e42e41abfa6fb13dce3bf2955f8ecda8bc4fc7e413a21988d189794eb5ceecc722203b9154bae7b14c3c6f7e51081d7898eaee4d4cc84665909ebbf31d7c3dfa216e854c305c7ea42e502af50d6045ca3baf89a836c7f11242aef492586d77b4e6d96bbb7f428bd38e583768fa67ce9622a8e0c8d77c6af211eef2e2bc1418141dcb8401f67b8321095d623e00a3d65bde
+
+# tcId = 147
+# indefinite length with nonempty EOC
+msg = 54657374
+padding = 3080300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250002beef
+result = invalid
+sig = 41ea411be09bb58c61d4ef960c124d68e9c2e594c9e2f460b1fc2259b20678418e2d0a7fb556464c3cbb0df01e1eb304c64a9815c992640679559fa3b2652553072575804fdee685121efdf4b49d8174ad1441c9a563ce0d02ee15e0e418ebe86aa1bc75cbb91bf910f8bd7dc1544319d0c1babfdd331fe6de6b6999c31890421a3803a99679f70b9b628c7ddff98f57cf2d4660feecf3deb76c35862e90a3dde6ad0a7e09d38485cbdc6c0a86e68bd913e09478f2bae177d51650f9dc630775f9b91d81c149a1e1db0367fa321488501493a715a8a70b406bfdec8b1a79843a63d6c5db1dcbcc7244f3576556081432930f152f466495612315479a5c2ab3ba
+
+# tcId = 148
+# indefinite length with nonempty EOC
+msg = 54657374
+padding = 30353080060960864801650304020105000002beef0420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4ad9f71529be0829b7a89c58aec8bd34e251f6df8e50aa5c51c57ed1611d72faf1cb114a8ff12dde0ab838583541a2abb38109f82e248ca8522cf7c4b385153badf5140bf84bccebf88f549aab8ce6fc438dad7ddc87eb2797cb8e7cf3d46e7bce4c853edcb7f0ca2e7dbe94444a3fe45d01818197ddcc20803d91793cfc34f34eb07bdae151fb987f164bb27b5cdb7c6867f2340ef14b900af51c335e68185997174534acced5d97db67835c03ec2bea14c3806810155a1ce916ebd80ec112515baf25f600ceababd9e06069176619b4c1bcfe7f9c151fcad91b018dd9c5ca6536ec999a7387519c42bf71f3b088d915f5150d4b388349b310644a5dc834cf7
+
+# tcId = 149
+# prepend empty sequence
+msg = 54657374
+padding = 30333000300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 72ae997b4a0bf2841fc14c64a0c44580607eda384aea73eaab998708b2b79b44815ceb2c907ee4c49c1f083574e3476fe1e3dcd2c581596af38ccff0676c2cb24df91535b22e49e8f0723238555c748675e80e4907261b943b167ece76e9d767b64585a1ff6054f09dd5e22dfc7f743d691704698e778b8c031df4464004f2ba03e642654051165c9bb7fc2a1c5ce3054a8579cfbc710bda13b7b2bb2f23e6eb7221fb51ef2404483e914075cc4a9f8eb91f247a600675a9411a6cdc516e5f8b9b4c9900086a3733ef932255235c4e5b4484f49bf9f5937d3d9e1d0ffad627ec0ff0aabe08a0b0197d430abe67929bc6bb1a96b907c34b2498bad0664b1eeda6
+
+# tcId = 150
+# prepend empty sequence
+msg = 54657374
+padding = 3033300f3000060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8d6ac89a1e6e7d09e463eff106d8817d50ac80e101df01329d64f6001c7b713ffb4a96159f4cafa5ffa0cea9bc6b1a25dcf6f01572666382e546c0da556da811b5fac121a200825964cc2e90e8147c846ed3a4cb4b25151e1c832e3fab42d140bcab9f17a247d1ef819db5e6decea280f44cb4db5ff24e56515317847b4849acb6e58c16beed80200b65305270859eef3c5bb2677dc318e5841092c21dde882a02b16071a5c951a7edab12e3df75f4c842bbc48f876eed02a7f3b878e13a213c18fb54bea46fe8e9e397817794ad24033188b1268c7ed4255376f7807f9491c6370a3eff6021861840ebeee2bf7dfc8bff45ec9b04db5099a586d44ca71d8876
+
+# tcId = 151
+# append empty sequence
+msg = 54657374
+padding = 3033300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e253000
+result = invalid
+sig = a613eb54af4df4410229cfd628f646ef26dfb7d610682d1187e9696d35fe5849cd9ec3d48f0b5b239628a08cebfe9c539c6828995beee9788f6aedfba31dae0c7b32221b4220cf5b0d53acf5d8de4d80cfdbd2366203a68b43a72bdfbfae12b96314fef915d1b6fcc645ca935385d23d66418d47d60fd4c7395afccac61c4a02df3b0edd3152c2e398556785e9c982f8bf55e2417e614ef694c17082e556b4a48ff9e7155021747b952011abb053dc09e487450cc7a8a02b7af672b776ea8561504b8b08e2e219919ba8cc7e24e605cd7ef856cf25f3d3391311415ee67dc369b52d676f425c773d72baf572b3f5829fc76925e3386cb770adaada942dc0a4ef
+
+# tcId = 152
+# append empty sequence
+msg = 54657374
+padding = 3033300f0609608648016503040201050030000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7104a754fb3341262f603e5695d700b35eee82e4ce5b5f82010f7b8d788cbe44230aa11289d739ab6478b7336772fe869eb5e702a6275a7c385b7488cafff3d7d8f6843229674a53bb6be30c84b3bf58c7591c7374fdfdf1f5fe8c948f7d472007e6c327d9f67f44622af44c55592946243275e5cae5f8ea8590d6efad7820a06181e8180cb2b9f5f0480fbb4e7ca32ae5265e019acc39b46d02e77e0f09426a2b211ca4420a970c805e61fde998d39b14a9ecddfc852efc8d52e669aa80405647330e284f87206e97d4db2e5f798f77a83043dcdbe76a9c876bbe7a14528bff82c35418a6fa6d93beda59bebf2ebc050adf7091df4a20b03ccf9cb335875868
+
+# tcId = 153
+# sequence of sequence
+msg = 54657374
+padding = 30333031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7c26f8b91b43be4d09cf5ee7490a27ce7bedad4575fff6980a07bcef5cf783eeb57aa1863ade6ede8dc95d07c1a3d0841652b357be04556a549fd8234ede8f5e5083a3d4af273e3023f610029a0b3cf85a8a2f276e4f57251e2a6338d2ca0305a685dcb240f36c966dd0da783176313ef7c93ae6d13008099f846438ad2c9dcc0ec9f8c343cb3377d5d14ad23bb25b11c19a5bc460592591697e92ea088160f87c0418b0903bca2c7567dc76da84da000233c391f93b05e9e8f01b78639bf95bb21f74b7fe1c00b64ebace8458d292bef3acdbff89276702c547171d8aebd56dc24f98d832feaea03cd16e977b99382040f2ecc1ac45885c4f07dfbf9fe61d35
+
+# tcId = 154
+# sequence of sequence
+msg = 54657374
+padding = 3033300f300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4a4b7998d9282ad4b458b6b041da104e98f8252b711bd07b7900d4acd3cbc7b1c90cf78eba718c87b9b6ad94fb35566560d6d6be59e801862505e908ef42c934d085ea82fe47de6ae3efbbe1dfcbaf99005ef250ed6fb74c09095a031a30fd33e52a7e7d0b73736f3f7516ee96a08f61e3df85e174650bae50b4dc632698f6e7f1efd2bbf10464153ed4dba71757d2fc1966d3c80e0c555d252d9e9dcdf59534175feb7db6d9d17f30c82678d6ea680876c2ed71447f127dc3c75852dc0fdf0e1c17fd1bc38bcd25501f07a5c0dfcfe295f0be27cfe18a5c596960407623097cdad148e5043433bd4567951ded89d0bdd8528497b8525212b8affbcc976a50f6
+
+# tcId = 155
+# truncated sequence
+msg = 54657374
+padding = 300f300d06096086480165030402010500
+result = invalid
+sig = 6fb0241a3961a03138b8473f8bd3ec202979a98f07d325909a2e85a52167fc379ab164c4a03986edba638abf1f8817c1cb89f297387f2d5938e707aaa53eee6bbd6a9a7fe8b70a31373e675f443c902dc1d0dfcdfe4b3ea83cd575bffb04071220f1094b9a3e7cd04fabd70c0b8761231abebd3f4eda11f74f83d77a1a44e28432d05da33998419e5cafba0e81960963209379a51fa9c5c27649ec89f8a528ef0a885f055edf3f66ab1d4baf07a405b87678ed6d170ab890ded0e8ee90ca1ec0e9f6e5ac247e01009d6eb7101da6eded84339ca191bd6194e3b6bd8b094da788c1ae068d8ce7322fc7e22189e6cea7655b1ae690da05a0aae46466800ddd6f26
+
+# tcId = 156
+# repeat element in sequence
+msg = 54657374
+padding = 3053300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9300a86600b600330a19b750ceedca9da6c96a99bbf65ab7dda6a5924d22a5fc9a2162e3375172fb38f62aa52a9fec71af1007ebdc5ce29b02163d9c55ead2141959eaea28f13c482be046d676770e02b71268d54d52839ddd929117e4857c9a6a17f92915d0acfef9bca2c40819ef58130eec1bd60359bb8f47ce67f0663086caf2281136b6076b20310203a9ac1b293c511a53e10ff880ffcb7184be60fad58586bc9a11fb51d7dcff71b401e42c1c7e92cacae3c50b62dfbea390c285c5feea91c288fb845401417fb01a09b3b6f0a1621df5c172632d40fb2936a7c2b62e989b848a06c098e69a333759d9ba2d270853f65daee1f7a81bdaf64af2347517
+
+# tcId = 157
+# removing oid
+msg = 54657374
+padding = 3026300205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1d35c1575269b1ca4e071f2fa19ae31388f4cfbc7875449b2027984d2b363bb2c77c80819725e03ce9f3db97cf939b07895c55b93cfbb204a3b036dcb69470e9e99a5584195ac3dd24214758a82f354338e50c69f3a5de6cc0920b845550fcf104b397ab4b4add6659efd34f64b9b673e73662ef5fced6e7737147e41b48e36410eece6db65f5803b16d33c25cde6bcaeda8930e7635656d9174d179c74f5df33b08d5b90e866624180f0a03fc6a94a8c40731658a5d90a071c6f77e460c6ae1e6d6350869db442219bf3730cdf3e74ee102d6579fab4892e8e410f06bd4cc19d776c47ffe667071fa437c80452950df7e12d909e0d2f7494a8500e1bba86435
+
+# tcId = 158
+# lonely oid tag
+msg = 54657374
+padding = 302730030605000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5cf9db664d1baa241293db08ee7c8d4cb7cfd374d9c4e0a4fe3c81fee279be9f0452e6545a01ad3adace3d0843ccc26826d446c9bbcde6dfce30fcdcdfcae415b6771cce7f1d7505c07969a8abafb200828aff641d0c07cdc4a9621c6d0ac607f950ee0652c138b4b48f724a632c8345b2919abc24fce3d815f82b99026f258a6d2cae1fb767a3d20591aab866640b4fe821e010e19db0d696a513db246ba42603b302c64f17c0296414dbc14a41726254d333f1dfcf29f55fe22a576eb6bdc65c7d0204d22001e858abb48069f65f7c1d8e8e84365429c01c048d4319765de14c48e68a4f7c898598597677b294d71fa2b5278a0a9eb52bb627c118a5bf2163
+
+# tcId = 159
+# appending 0's to oid
+msg = 54657374
+padding = 3033300f060b608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a15fd53bf93274aba318e4f37dfabd414a47c27631f0c779bc8cc1223621730380817ccf1147a18b778481c64c48edad0815988e6942199d0b0599a1e33636f7e83e6addd65d87e53d734357b5d2111231cafd3a4e40845073ae50d4506f37d671b184246ce15a77f36f554607f016e7f7806e5099cb2a69ab4127c893f28cd8fb8989863e787151cdbdfc9e0be0b3235b1057a39e656ea482aae6d7c3aa08bd06fd38bc0f9b21240233624ba5c767b5f3f48c7fe365ea1552c5a9e64934869974ed2555ae81f9d5cd20f48579f238de1e150fdac4b321a05938638b81f0b7292a61e12528b077949f7ab3e6f8e1f78be81da0602fb30b47f569f7290cef3366
+
+# tcId = 160
+# prepending 0's to oid
+msg = 54657374
+padding = 3033300f060b000060864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8db939e248a2140b770acfdbe16ea6153d968ef51c56b024dd1ec56cd600ad79172a14f6253d0a9bdffe9ad10b6ebf57eab8528474fa96a06c9284e5fe08c48dad5520730cd182dcf1bac660ce3411c7cb68686b3b91c5a55b8627130f0e31cf340298117b3a0b358a42e9deaba700f8d2dbc934236cf81c0c4d15017602e82545e1eaf9d31e4e8ee51d35054f3b05b7a7cd121854a0661ca19706ae95cdb0582cde723e389d58579d02c679f8d287a2d0ea51f442df0641682458ac6590b3df77230273eb779ae4b827c09075c7163b993eae72ec0596c2adafc8e20201e21eda1f4a13c27dd9ca7b3bdae47707b362912979357aa587ea2d86c9c2c2587ac7
+
+# tcId = 161
+# appending unused 0's to oid
+msg = 54657374
+padding = 3033300f0609608648016503040201000005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0c985f857ac4219bbf98f767f42c7e0ba886889a0a7612a3e7d7c8bad581250aa7ec8a71567490d0c509a6b927b8ad714107e7248ecd5f1ead25828707072c87913e7cb765fce62d175c4335d09d764bc5322648e53a73eea7f55371a9a73a5283500e0d1bea254d217fcccf917d5e0f28b987e9a16d11361dde37d699edc524714122333d897279eefd79274c095c2d6c9683673318e7f3536296c6be23837d69e7222683004d7e52b017e61a27c5ff3c8bd4ccd8622a52de0d24baaff3c43116e4f043ab30cf8549dcccab4905f458ab7761792e7655c6a66eba7668e4b731c62ecfabefbc31a1cc8b3e8f1a69cdf9c8f7825ef266d9c7e34710f6af936670
+
+# tcId = 162
+# appending null value to oid
+msg = 54657374
+padding = 3033300f060b608648016503040201050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9957846928b38e0fb520a2786df5307373a096bdee5c5605500791321564ab48283a682cac388bebab9212a6429f9e03519f4f830719df9b313d62f2c46b78eb936b3ad13f3e6ce3429181678359ef6392e68bab0aaaf925721c6f991d989fe1a6edac5be9faad908b0ffb9b0b0b5e32cb6080bc9007a5da47fee8e343803bcccd4352f284df0e418bf6c8317b6ffcd7b4d9e82a911d654f0344b28f39f55ba9f1955d7976ca153059d5de7bad54e21d49bcddf8051a53e4ae496759504eda1ea3ca3bca7f6d47821440850bf44b2ac43d4afc1620b150b77f288af03b41c4d32977f726a91c80cb5c37177bddcd5fc5e206c4284537d8eb740f3285ef1a62de
+
+# tcId = 163
+# truncated length of oid
+msg = 54657374
+padding = 30283004068105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2d99760b2853ce20a37f51045006ed11d83b250d54da4122e200179a564a296292479116406d69b858cf15b8575bfe9df9832e484ca8fe4f0a24bf62aa350194ed642c68bb074e70790d7e18209b23dbdef6756f037a3391e6bf841f7b6dc763547565fee7e9416e62504df61cbc00cc2ba5907261e4e39bf9337e7a15594732f08ce136f37752a585e286c001424351f30a9bd585e3c2e2d99a6c91f3ff3081194b24f6bed3864b36b14d1ff3a05b584e06a994df9dceda839ac788d08d608009681db0aa23931d8f4a3aa1b1f93b6851a7899723e858eedeae4d25394bb7954bdffb975a3a1e4d46339a0e25f8e85958b006cc5f0d5b60c9fad1a829e81342
+
+# tcId = 164
+# Replacing oid with NULL
+msg = 54657374
+padding = 30283004050005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3e0270e701eebc757862ec646322ab99511bd27d1351bbc3ab0584e218dbed9952a9074ebb7c5fb8f846a0f5d90dc1040e2c45914c86ae0b722f1fb95f7621b986136d7656a2a4300df494c0235166e51e3c9e9fb98bfb4604d4838adecd5c55300332ae0e141eebb328524f1fd95adfcb9ff7fabd203e89775f94a2e84ecc5efc0d9626920ca8a13154dd0e97f2527d6d518e6d460299cca0db870b0834d5b99e464760c390768e97c091708887244833117afa89baea5c1641b88d45bb9d711bdbd559af73bbc8eb91ef377a0140cd639fb7e8024dd3c48ddad6e37e31ed0a3fbc47a6c28b5fa3df0f38a912a4fa2895c2e25f0cab70bc5e660f725fe22da2
+
+# tcId = 165
+# changing tag value of oid
+msg = 54657374
+padding = 3031300d040960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a781bb3225276cce1858b9f9316f6dc40abdabda8119931faddc5a871b5ae9c7c68fb1151d9cf477a66e4a13a6c3f114087bbbf219beb524e308a91fa88411d450053605f9f00bf28a146c10b825ac3205174ec57675035c8cc2c9f411fa1df596d1e33a7da0afce271c6b456c665c430cb619c971d60754afcbab103ca02aae079b3803492109ce37c800051ead6d47a4e0c30b8cc147c66d5eac20399249af4082e70c7d5556d2b0d46508e2e1fb805b6ded365c2f0d20f33315a8d49f62896ade6e0ac9187e186a73e5146cf8da9821c2e5fc5ad4ff0b28347322c09da2dbb196120762093ce33fdb53d8a9579c13fef218a62a834d5fabf53e1ca8a751b6
+
+# tcId = 166
+# changing tag value of oid
+msg = 54657374
+padding = 3031300d050960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5032da548bf0168a4b3b3f99c144e3e13ce14b7d539e397f37847ffa8db34a0dfc0d73d30e6e3f2a23f0ac92bc5643af1adaddf9dea73c688ea98364c1e610835b62f1ea602589fd44a8a2cc73b00cebc75c212228b508634137c1eed7a942c18bc6ed4bd0ffd39961f54bd4455155c08a304c2e05d78950e42e92275b2f02df29ec2b2523bf97511a0ea3126c1012ce9683e175a45f7ee24a721707b7b7534ba8441633faf9953cf120dd6a13c8d88cce5e0b374ad2a3366f1e96f823128bfe6b830345e94d611e1d923620a57db4ae51e5d17b5d8a0eb4acea8377cac9b35553b7464e40190f40cfabef9bfd393d0f87e6e5bb08775d9d4768e8f2f0cc4a24
+
+# tcId = 167
+# changing tag value of oid
+msg = 54657374
+padding = 3031300d070960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 489a6107f0052ef49f97222aa666c8025f2a30eb4bda5f47c888d256dc742094b2b03aea0b087d3f27e6df02fda958780626512441910fb83a7e4412a3aaac388933798922f6a4dbd48b851680d1f3f84e39fd30716921f99b87945001d26955ad33ff1047b5771869a6f1519906e461a7a50d8fd08d67a9f9fc272699e7cbc30a12aa8601fbab4884878a371b3c1b00054e9e585df1e2a084ff3f6a3be5f3e32cc6295939c1cdcd9b3aba7e58ec73dedf0caf5d3f5618c6909435823140b29635ccc13f658f1339fb2a3b21e1919be181c15edaf1cb6feb142464e6eb4dd18b9633f55fcf370b6c0643d6710b875df63a6220ce340a97987e577aad0fab4eeb
+
+# tcId = 168
+# changing tag value of oid
+msg = 54657374
+padding = 3031300d080960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 41858f3edb8f7fde81575c399fd90c01162e6017d0c03b5c68167fcb668790d054b40d4d2438daa0411034ddbea901ab1924248185dfee64d5944486530fb407cf967d171110ba8acf00d1dfcc6c7a330f5f828fea17a9168e083f8e118857d29baa32351dd284a2efa0672ccc3d0e917818663cdda0e5dac638ae150c308b8737a50cc9f17a595800ae925930319cfbff91c02535d3d35d3256591094a38b3dd10af4f51c2eaee0f8bce27aff7819e22a2191019e419f4e45fba1272d104e0c278654ff6a21b9506ea4317832e7767f46d97c64e0041c767ac1ef88f3ded74fca09bcba82b519fa7716a9f7c4a2b78931f6805b4f914f6e6bd0a3adbde2a88f
+
+# tcId = 169
+# changing tag value of oid
+msg = 54657374
+padding = 3031300dff0960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b1771079fca7ad8ba3698a9cdf7bb5309d55ec40500fc83424f1469c9fb77ed08082b5ad1e66890b51465763d1deeadecfaf9c8efaabadae7f7fec17589271ac920cfd1cb32135fca21ead942ba15f09a38414a796f67a5cb29f877caa6ff8e1c71755fedc58485dd9d4d62455c7a8b2ca2d1906e8045e60f681c39a0a162dfd63a9fdab5954352515a926324dfe252aa1a1e576b4dab1588b08344aa40f406f6352317055a8feb9292b9611c90d417b0bd42fa7e4a4b82c63885423283ae4b2467fba84c34c391339a5a3154d70d9543401cd260e9db236b1f96e705fd9704fe557a53397ff99d74d9d97847247e15ed410aecc0f74bd7bdebded30e34d3412
+
+# tcId = 170
+# dropping value of oid
+msg = 54657374
+padding = 30283004060005000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 9464a738ad70b16f8621a806e95d4d2cb1866383dd6c0d61ee85bda1ac8b56c3833373257daff4d360b1c366c10938929a8ca0819ff929311346501c67aac447500b2fe5b812d7cbf93db5e5631cbff3c498461fb446eb0f25c881043b2339b13c373012d7546b9b194d45b9aff2283d7074f6119420bb6442af9116236b91ef37f5abca8aa9eab2b0ebd44d3bd302ab51a67e1d9433dedeb1bca87edce75d02ef149dc5784e1772c9ce846c17e4f7ccebbc908c46cd062e0e4bca76a033125a407919f7862a6ecef7f6bdc279fe65ab938be35858c98956c95c396b15d2a17c1c2ac996b5bf0fc345321fff7dfc44fa4b0b858db0f556de1d477a85a19f1856
+
+# tcId = 171
+# using composition foroid
+msg = 54657374
+padding = 30353011260d0601600608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 06d0a8d9247e6e39a8e09e7f8db128c23225d88e831068cb3187a6cf657d709710c129f688c3b1560448986e1f9e83a56e9053e7e7ec86f61c597d3713ba8326f7ac0098fb51a49ee64e306c249a09533f464a59f2e5ebb3fc85da8be6a60ad076e8091774cdce2742d5f9112d8089fa8e3071283e2bb7b6869f3c44d6dd9803ce6e467bcc8122d1e96832d05033f7ccdbd6bbd0666bbcf41ee1aa077454d0e136b725e7fe0057b2e5bca0d9a645cb50a67ea0b98e7c0c60a91c5b5098638a3027bba417ddf5ef968ab5d1695fe3c2b1fcc664624a783cb5ed2c6261e0627a26f351d8d2eb055098a2b8540791c2e763ef27086b1f7cee54837514790defed29
+
+# tcId = 172
+# modify first byte of oid
+msg = 54657374
+padding = 3031300d060962864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b06563b316ee2d9a41adc5a99748b373538f15a44c3c9227e46ec05f99bcb14f4316110b1d1a82709dfa57e6a81dff1f3f692d27a96ca51f44e7b9fac9d2d87eebadab0a2d4b8d90427af8797ec5819dd451787ea741023f2e208ebe8542dd95f4b24cd86937bba642ce66851a782588fb2bb9e2d8fc9cbcd20b79f758537799740fde8e1a8ac4888abc363feb341758160f0d21498eb754e5189fc556448621a4dc095a47ba5b2759315beb9430ccab5deaee086cc87ade1cb243a8f4d9c63bc80f200dfdbfba9624e6084046e05dbbbb836ef5e4b0a06a8a26578faf21eb155cf0adca6b72817dac6c3c992a80c708137422b015196169bed668cbe78a9792
+
+# tcId = 173
+# modify last byte of oid
+msg = 54657374
+padding = 3031300d060960864801650304028105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8848be6a99395116fcb45143dabbf7f8a95b800c269af5a986430190d9834502a37839afb083b66a96713159ec17e66cdee5e4110d0f9c9c17697f38af177b93b17c0fead88ff2dc53a0b5c502f96c4f3d402c623dd81408b06426bf6ff7d602ccc8eb21db91c6c0d614d108703ed32026de99e1a5c411edd7c6a66976faa57cf022a34111d791f0e469080c7eeb84999e0e9040def04df707fcc937095993f1a8bfa889c45127feb9de274bbf08a805d32f4830b4c5078b65a9340bcb9b74b9368c02af63d2b3481da5f57eda94ac2e5255d3b72bd1a19e45edcab46a119736d7e2508111a0838d1e6fd5bba4eb67ef697976f3cce044d29c6d8d76c2d92e1d
+
+# tcId = 174
+# truncate oid
+msg = 54657374
+padding = 3030300c0608608648016503040205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0baac664f223ae40e336ad610b804b5997397b46a4a2905de1287481aa43a5bf059271b6a3ec648faec7345823aacf1bcbf09189b9dd349bfdaa979df8fa78fb199fb7c69fe824f83f83d566ff49e2ea28c704de66f187e3a42e90663423bdd0c8b67dad4e92cbba14a1ccc1810a43d116347ee7ec21ff9a8324a4c110e661092426769a443627ddaf25ea4d144427993a2e82e0b15f20936dfc2405da8ab5a6232b9552f175331e220337f22008033910dde7bdfe87b2f7f3b4847e665da5e03dbdb866b05d92c5ba490bf5a75903aaff4f657bf734d284081f52d81e6bfb040dfd6811bae2b73831ca3709b6044134200c700f2946f234f946a69886be2bb3
+
+# tcId = 175
+# truncate oid
+msg = 54657374
+padding = 3030300c0608864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 2394109f99286c6d9cf82b46d1015a086f826e3725998819ef5e1d99e504df76a7dca903360567cc58d6bc327e90d7555d646f42f7c452777071b3e6be8ef1a97c0b33fa50709806d83fb3b8acf656067050708ee080af5a85aa2ca3f871324759d06d9a019b8314c66c15cb0c314d807026515d46e2163a19e89a7808af30a71acea51f92dc5e39d237eabdcfd46abe7cb8af5a47bd352cd5b1d0dda6fbc6fa5dd19b3051ad13ebe75462080bb3b7f23b013085e6f6010819494b5b303c279c2cafd1595831daa558624ef42a46a4621b6374cdb2113ec5d8e8a3661e19814b60b5394d9305c7d02073a7d930ba9bd912cf72efac5feabb8e69f34b74ef7775
+
+# tcId = 176
+# wrong oid
+msg = 54657374
+padding = 3032300e060a3262306530333032316105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3d0632482138f5b9525dc60a459624d40d8c0187264cf1e076d7490295c59aedb5cf68fdf0d7668a94d3d585cee39ca6a05c0a2817b2f5ddb0ab52385dac4e1845378a113d43b936739b21335261aa4b96727ba086c75f88f600b4375d7cf796e62bbcd8d8d59f18fad4972c3638367de39d36f3e1ec4672fbac6e33246263feb65f2a014163ff1329fa3b7a97ac1b07d71059d23f631ed4798b05dae25204c0e4b29101e2828b972c63d11de274781e8882ec8ac5e1f5284dad188de1bf62ad234d56ade827eaf9c7378447da3791e4b49fd2559f8e37002171152d530da5b13342e3a9c7f45552c9208e83205271a767ff3862b5090db5971fc0cc8ee08a17
+
+# tcId = 177
+# wrong oid
+msg = 54657374
+padding = 303a3016061236303836343830313635303330343032303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3ae4a98262c515ec4610a836597409747dc21f91ec5380cd949925205cfe42026f6603b73c1d38ca6580a67b7ee11c4bd85bd2b610c7fd2809bc63b23b98b151c0c9298793fb5e13dae893713adc8761d6e98389d918853dd2b7799e32eb3bf9d97f1805bb0d59efa7978f5bb7d3432797c851c4cf4fe6a3c54cadafdc770ccc012c0e80750e339007747a7711b0f2229fcdf3c53b48cabbdd61ae6de1bb7a50b03052ceb1cfab6e80931fcb5d8faa4b37ee3f7875298d64b7f55cc766a11ada020a6a198f92c2077418b0eccb4f432e35b31952a53213b0f3dace6349c6d96d3061d9168635864ca3b95b480a179cf90d1bdb318147813b9cc4d61caf80b963
+
+# tcId = 178
+# longer oid
+msg = 54657374
+padding = 303c30180614363038363438303136353033303430323031303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4a5ca8f9c21990190bcd35e09815b509521a9c421f2eed985c90bc6e5177d6bd452f89f3f035911d23b01de756b4a65cdf8170e5f809cc0d2973bba249e6bd495e334aef2bc8951d46b55dd669a360a9cf1601f088049ea40ee30bd37eb513d0e06c6b01840bb3220d2d427670faeffdbf5e69c4647abeb29e7dfe6fdcbe78794685fd538df7dc32f08307a5460523578011e05db78a3468cd022b1b164dace85bf2b0dd26c1947a98f519efd8dc86cd8308abedec30ec2a25c293b7fa9bdb0430c99717e6cde1249fbe44252299257a3e4a51dba86961707b3f62281da804929698cf04e471b9fc0cf36b7472c66e74f3632a74c8b1d70e0f4492671a38b9c0
+
+# tcId = 179
+# oid with modified node
+msg = 54657374
+padding = 303a3016061236303836343830313635303330343032313105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5a75946d283b9a97c0a8f3329869bcb0bf69944e594935238b02ed32586f0f4485fe5c2fb3d7aa03843d8b34468e8d268d1a089362e96b0fb2ed670fa7d971abb3e34172262406269d94149603d7a728d32161e1cb3b77d932e6857047836e2d13f9e51b6938c14f450aa30868cb966eba324e72026562fd0a90d2709796ea089a5ed72703ca1a86606f299ab1b150166b4fcbfbaa97ea2102608a67bf9a282adb96dc1880a93020ba83d03d5388851e35c43b505fe563b087606bf6502e0e7d046d960d0e3881ab5a1b76a23df3b0816e314bbc66f216a76bf123e2631affd3bce91160a39dd39523cf06f9f62fa6f22cf39aaf5efe7fb38742291cc1bc732b
+
+# tcId = 180
+# oid with modified node
+msg = 54657374
+padding = 3042301e061a363038363438303136353033303430323838383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 7d93fbf46c22edd6296dee68a2e0ba67ea48c05e2cfdb5c08f5a6d2651e8c8fb40ef9056194a8e7e2d04274e93a5c166b1bbafc90aff1ce5b753169329a98a29f7a6ae12a55fc5f06cd11dab0d3fde97393b6d6606145075e16e6c1afdd826814e2a185fa88fa5798a185a78deed1c5ec8e5d5f02fb9e0c2e27d2fc809a615bd3e0c665a750d52227cfcb23732ebe646c1f16ec295bd6806e9e68cb34292413c7d41adaca17ffed4439f2bc50570a2de3e95be3cd20eaee46d5f93fe933961ddbf57a92958e2c7386e1547ed00ac9da5b3a5a263c68c145144dd653d80ecc4af81aae1f5f7052d24dab5ed098e2e42aadca0f4e23d34b77225d01ad0a3d466a3
+
+# tcId = 181
+# large integer in oid
+msg = 54657374
+padding = 304c3028062436303836343830313635303330343032383238303830383038303830383038303830303105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1a7f1394c001ca2901a0ac44d334cf48e7254f1ea5acf2833cf9f9e409a0194f6d196f915e885b1b15458f42089f44f2e26b9c6ece6f770947519485c8dcc31b4ab910ee6b83b8f906685e38b23c9e250495d5b754f6ca845d1860d5a4f6906c50d05f09dac23956ac2684909017454901681b50c3a55a990643e7df7b940ef27b901755b14730e5f534789127be7c15e0fc68d7f043ced9d515d3ba592f62c59272db977b31b509ba6f738a7b8484c3eb8878f178b18c56675dc349e72c5a29bea0ed00aa2705d3699ccd90cc285f430212693a04e02b510607681e70f1f9aa206120d085964278e6c108b5699d73c2d56273021107b7b9d71a339d466911b2
+
+# tcId = 182
+# oid with invalid node
+msg = 54657374
+padding = 303d3019061536303836343830313635303330343032303165303305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5848e40bd96dfab48d5885e90ea3eb2e89209577cc36cead08328313a65b75436e88d4a8aa5be55667544ae77193e0813ecb6469b8d6bd028e3b5a3821bad3816921c6ad27271812ac6bef72292debbfd64f123d7799fd36e4d27ce557df21e06cee4a5198eb22d70e0ab86f4490a382a790ce341a50a006573f5be9c1c067b42d9998e867fb1c03ff54ca1d3688e887ef2b445ca69c0d79053b9de5580dab688eee42e65f1aaaf89cc2003e9402f7afc21350c912c70a7585ec76bd6fb302a9d5d211723c123a4cd64cb7fca0cb877b235c0fb362cd092760581e065ebee1a18e0109f22cf6b7bc7ef728c092f871dca0d21fe54e2778b836869ffcc804cc98
+
+# tcId = 183
+# oid with invalid node
+msg = 54657374
+padding = 3032300e060a6080864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a38dcc4e8070333703ce26a8b1eaa28d242bd5ff4854fad67959caae66db5e6654aaabf81eaf31441b8c5e7419a3ea5b04efdea91fd1910b5e5c6f02ff77b7cf42b2efc55b03407363069b8dd031c56d6d0ac54838760d7ecf9f3dc03828b27a73b827f394700558f160c196503855c255332efea838098e637cd1c7eea9e687fc552b5422a62f6c6b49fb16ad56509dca5a9148ed9883f1d76453f8d607d9fdb7589f4b07eecdecca950e58ccfb9e7784db9592b6406691a413caef5e994ca06f21fe61f0986644be041878429d721e403ba6ad8dd8629eb78cf4fcac5cc42ec03d51ab64c051cba22b5cd4b160aaef28646b5776a19605cbed694e0d6310c5
+
+# tcId = 184
+# appending 0's to null
+msg = 54657374
+padding = 3033300f0609608648016503040201050200000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 202c2fa04697b4c4f5b9889e67c90e597c403fc7b97bf43f3b7fd9bf648bc13db56f02aa517cc5b8b79ff90529528304c877a081a634de4007cafd341cdc19152f5d117a422b5e2df3f4368f0aeaeba2e242823422e3a3e896474edbc636b491baf44e032d5f671f45f599761530b18efa0300d56f0f141b22f0ba9a8187dc771b1575ddac950948cbc7d043c1686e4ae22d093ce4650a99d88752a2748285e935d46ea3a69e84338e1afd57fadc2fabc1dded35706759af7ff32b9f75664f50ffe23700dc46eadece6c5ce271208326f9342e7a63c852463a156edfca011df3a1889ce94fe8be66b125c80540de3aade0dc8bc1baa3f33a892cdd6099560562
+
+# tcId = 185
+# appending null value to null
+msg = 54657374
+padding = 3033300f0609608648016503040201050205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 49a336a5a98444fb1617e4dbbec502ca47a888aa84ca700c5909da12a4ae44f8831d2e42fe711c5909533885837ef60be1f37acc7a9a2023d63f0f5252473568aca337f672983058c35df36c4880b17ad15b5e2c1b289ca30e9af9566b5844a30685d59430f4f399188a22fbdd9a892415a7c169cedb52ff274b5eeb25a0f1f33e327a077a98342ace7227710a3db891f579315cf772dfaa142612f5bdb612fc31d940cbe338e6fbdee76ee31fb6471215f176d2f3c884bdb5f55444adf0fa6ad4015b25f494fbdb5a2bd7622b2b9f77b84c7e37e5df8ee553db37cd07e1f0c8003184e3f6404efe27341f41ee9c44f5acb09606ea686fd79108c9d6970ff80a
+
+# tcId = 186
+# truncated length of null
+msg = 54657374
+padding = 3031300d060960864801650304020105810420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = ae3857a0e8604a5e8bf4e70aa110a9973da8d78853525b265e9189e7a495ddd200c9773c2b733a50f2e748224966ea27c2b87d9d15355a9b65ad02cd04539cf92f257030ba50e63269c5586a6103ca8abbc3c30fa9d232737d42af86a598ce4c8c591c70c3af322a29397a17c7dea43fb7354f8bad1c14e63b9e84909dec485e17e4331921d091bfe604d5aaf14b014ccec2ef23ba477cd8cda620d1c44f5d9c2e67f96f0a9920ea866cba0661f75a687e4d08e731a6e7bc52a79e08210bb03a33ff72e2b791c3baaf760dab4abe08c8d2f6775b03a3e7024cad124b5bc77312777bf24633683cfd033b459ca0115503a886c76e0af975f93a553616f3636154
+
+# tcId = 187
+# changing tag value of null
+msg = 54657374
+padding = 3031300d060960864801650304020103000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b9965f3c8202794e341e140f1801c29966c67c758f01caf07c0433821f803f6f3bc932043a5c42d0d1a90c9687908c428c3bdce32b2756652862c647c4884af0ee00d55bddb5a56fb9c06ba0e29a3c4b61febe6eb09df43c607f8138d7d0ad2fd49398e69d6baf9764cae101a6933c430a9b45f981769257fe3e342f8835ae8a1129787069dc008dd40eb039cb0e8e1ce0965a98959b7e69001437567d0f336666cb6c8e5826b12bd5f195a18833428dbbcb1733642d129be808159eee346dae44e3f5468859c34af260d2bae45b92e04ec1b5ddaf950b774333c4b433c797ae1ad53f4d5d4508805d663920c2d9b78517dade0d3eb6fc17bfe08d0b2e314c97
+
+# tcId = 188
+# changing tag value of null
+msg = 54657374
+padding = 3031300d060960864801650304020104000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4421d6cdcacef33e31663941531d1253765b01cecc92c741fd5a4c254f088b0d95a478f2ac913f408862b107f82c09c11867e3f27e34a0c1ea72010224c199a942383f4f6205884751091c9f4b190fceb7eff09110fa0a1546a857b091b930326a1f774a0185332a57185df89196ad4f56a0f8394fd6a49a635ebde48bc8ff23c925f846100ada2c3bd40f7d1a92fc31c1327af4d40933de0ab0c4a94d0d47c4d53e956716ec96cffdf0669e81bfe9552df8dd72a687f670896d7279b4ea5c9bfc26e93cbe50449776ce78753738cc9de7ab7aa02130efda3599ca0377346ab3b71bc31d56a8eab581ed70967e9e05463e19ff372130c5a1d9c2217f0f5a3f58
+
+# tcId = 189
+# changing tag value of null
+msg = 54657374
+padding = 3031300d060960864801650304020106000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a71e400721490c8e2baae3b0c49e3c3af9bfb341db3626cb22d2137c5989081402e440cc7e0445a447e5371920a9637ea696a482c0ecbd8eb93a16ab1ba991359e5bea0f6ce0c0ecf927bf8dbb543e307dc17840a0ecc17eeb23caae349e1f12f95abe10fb85695da43e8688855bbbfa842b4a73543fa61ea8076ca3a63505430e7723b39f4859e1cee10e558f2e54a671ee2f040f1eac7d5464bb8482dae2690bed114a6e56f4816e7413ad6ad05cc803446f65c5bdb596a6eb63491709789ddefdb51d461abc777a6a0306dd8a83a6a7792c42559fbf426fa881e55d45a4d346b302efba670443570bda58b9963abec39e6e49d2a17ce572c16446564ae339
+
+# tcId = 190
+# changing tag value of null
+msg = 54657374
+padding = 3031300d060960864801650304020107000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0bfda5d7880717ef40cce0a8437efa8404ac1ead0472a7d4cf54934f8f3432db4db9ed4c8d98cb606229902b383112dfd4fbef54a28e7cac91338b1f591e2de4addc08943596058132b3a75442f44ad4d18b663b1c1be67c00aaab52e92d87759dbd89b386666dbb4b67429267d25c1ec12ce5cf03e4438dedcdd591c442459eeb86d6e74a937bd7c470ef90dcf8cfd497911413c4a817e7dbf826858807059f8426710ac582ca9d7c657d22a07289fc6c1bb37bcbe27ac755dfc50a54232c16eadf3b1694827ce435aca9061d21699029edbcbe05524d6bb35a866c78122f06f45b8a3615ff38c9bad24b9127287e5c46b73b7435a7bec837c4336f61e9fd01
+
+# tcId = 191
+# changing tag value of null
+msg = 54657374
+padding = 3031300d0609608648016503040201ff000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 05f2928db82cd2f734f233d59897fe873f57714e5f5abf5132b33d924038a9d0616b62aa25b9353e69dfa17528945043da1d38c96bb6161a34c2529bb32d83fad6b65c0d186105afd1f27f92626860ecf18c7c865a02c3bc16a89c38fa9449d6e23cd389b6083e245b894c52507d07adc123c131998e8dd768b72c08a94bb709ba773d0216c9ffaeff15755ce005b8dfb03d1edbe75780cf3c493767d00b679facf4b188394e3218118d39bac152516dc36c4cc5f88ea9066bf3252670a5714fd5021688ac6b94491012666f0a41463ab265ed62939320a7e3c91298c82ab31f84a3afc62fef61ccb03c011c0317a93728b896f6f8da1ff4e6a04df5cdc14097
+
+# tcId = 192
+# composed null
+msg = 54657374
+padding = 3037301306096086480165030402012580aa00bb0000000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 1b02fa06a93da1fe5b74c877eba5629fa9469b01e9919016717eb8cd627f05fcbedcbe2fee00cbf2c954fa7f9d6f001312026b96209fe551b736a4c25e9203be7a706ffde8df35dc7db4add2ae9aa3ce76bc055b5fcdb057139d521fd94a241b2571fd8b73d7e07502819291b226f560b01c0aee7210bca486f623b3f7f84b098bc7bfe9a1a46ff2b6d114373ef988cbcf8d87b3eb7b8374b13b85650b9b894183e589d1ae1646c144a3e6054f7387c548632870f14842683830ba1ab80789e3f8b3e65cf86684ef73cef5dada6a93b6dde8b836ffbb79703b39c3e7179055ebe2071d19a49a8b85af694d9d3cdc0a054073a579e054c76c74d851cc08a95a2c
+
+# tcId = 193
+# lonely digest tag
+msg = 54657374
+padding = 3010300d0609608648016503040201050004
+result = invalid
+sig = abddf6c8fceec1026b0fe6799db56b01e0b2eb066f9e5d0821f6a954462b71e1d22ea111f1b69bb86c1e4e77b6cf035573b9f6e0894ca4bc0990f9986ca209ee41bae1a48a764c5c464ca4e5de36c8fbc47dd8865775f9771ad6c6bb82f6b2802bd045c1f2d4a1845798b7dc16ff37866c90a613f1d019e53602fe2c99ec4650360ab69eccefaef07f9156f58a1f5f65fa00bcc2a544feceb70adc74e6710ea01e9ef4829a8165d7ce24647e6a8770eb8247bfa87de15ac560b6dcddcd112c24bf9c694090060bd9f0b5e50a59ff65c135f0bcc527c8793f4c84769b7461e9e2d755f99aa13b4c938f8fb7816e9d9f7f91159779b9d7749489b549aa263d8d92
+
+# tcId = 194
+# appending 0's to digest
+msg = 54657374
+padding = 3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250000
+result = invalid
+sig = 35446aacce869a91a157aefc5e3d4660a7de0272debbee1ff6253f74e38e8d54637cbba4412c0c211589a477eefd3dd0106cd878c46870cebba6e053a990f3341647736b00b5691d6b83dccb6684ee35063e2da6a6b1e8daeb5739d96291522d7c9fa54aa7d9208b1d73828c9a0f657ff39ebd09c709a8913b04a83c7b610fba815c222db8a2f00b089768cb4ae9ef93441c1463a43a6a691b407b4c1266e0ad4e146b0f8d06ccff215d48b513528f7cdb53a3be1be8031a48d092751e195b09a65b26d63795020c2a887eb4af5f002944b878962cf87a08c676946290164c667a3817fd8ad48e508d4a1e4811ff85b5844ce0af7937eb48fb99e8cf7e154c4e
+
+# tcId = 195
+# prepending 0's to digest
+msg = 54657374
+padding = 3033300d0609608648016503040201050004220000532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = b0fec4f0f9b06a684c9816bc221f888860c1e5ceb40e67bd440bfb322c6026120b28af4905183d0ada4043b4f4a0df4710b20f37cc5ac9c5ad391e379f12784135cbab2cd7e3770fe1bc68fbf5e0e07c4fa07a5597d5f5c3f682e57cbf047cc5d8de859e3e7f997fa91c4a16026f43bac22a7afebcf56c804f656ad510dd03e6c4cff8be628a9a3fcce0034105152ebdb148100203f17eb37b7165b03661e5526f4fe1bcefea270e74a2bd9afc7fc00e52c9256548f36db3486b7cdf6fa9bea4d558d592fc6ed7869b8a59ce26608d21328a0e5001c273c8d29e3350c9d69d3b4a57d5574f1b18686c66598ac6de82d50af4589d53f1c5fba9e103ec787283d3
+
+# tcId = 196
+# appending null value to digest
+msg = 54657374
+padding = 3033300d060960864801650304020105000422532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e250500
+result = invalid
+sig = b21fb36d1ba5ac09f4bc9c9bb1c3b08ef4b5e39d5a13bb27de6d949022262723fc6f96e1d0f76bf95e1f90eca04fb20bc65262233f6335d8a0b8211f0e2481819607354700ede1ff85c8e53413685ac5d31db4fa5f807aaf6818b9531baf1555db3e062a3e74ad677e9f378bc6020a73673decc9f6176f4c2dcb02859932b7a7a9d12da602b668a14846eb8acd2abfa0952fe5ec78a67a8f6d751ba3b420464c10cdfde93b96847b9bd05504b1ca49121cc92db8f2b7a33fac17535fefe32028d0c1484f1aee86b4260b668d9dfba6cf27a7faf2bbe0df47267108a84bd5cf595f522f9a2ae52e4c4b7c9c08b39200683bd33043f14b562d37b910dd438f714f
+
+# tcId = 197
+# truncated length of digest
+msg = 54657374
+padding = 3011300d060960864801650304020105000481
+result = invalid
+sig = 1d582d82ca0b3db426ca8adf9465e46531e60d71b2cd7276f0d764e629a767e61171e1667a22c1a1404adf7e87b2617268c56e792d9f9653466666a09bc82d4c1c2c04fb9b8fd6c532f169196009598b6efc8feb2850f4ba8adb75d37705fe07bfc2e67356231f1845556ed8f3f8793f4c7e58572fe849ec0148a840e442968c1df6910152a5a4c0be18e3a7891ce2e16e53414366e8d92c1de75073818da1dde1c3c3f8f5c4d31d13da73bb507947e986915cbf3d9edf92a6bd17775eeadd9d5b363adaf1a33ccabd441267a476b314aeb86a91837b5c9a5d969001259fdc5a2b69982ca41405685379e758c255fcf35267dc2f1075ccb57ba0c339dacd7feb
+
+# tcId = 198
+# Replacing digest with NULL
+msg = 54657374
+padding = 3011300d060960864801650304020105000500
+result = invalid
+sig = 096a7f2148458f37e9c6589c25e4e90626468575849037e8f62534a01e08dbdb34332da17528bcd83683e1d05a6b159a8a629225e9067f20b0c7484bddf978178107128855f63a29c727d2a49ddfb650954e5c9131b98fd188858b595a2be7196921fa872ac945336a47224a4f572c85469ed34303bb23a5822b1fa87f5b5fa0a4bfbcd9927c32c32c349c0689600ab4f616f31dc19ba9b5e6f45ac64bdc8070863358949e10a46f2af51a071db4de3d7ce5a9b2d76ec66eae8d1e106edccf72d27159a113d888d2f3c73cbb738bd096fad53a7bd3ead255f928b7915b137152bda12b3365a1fb7f9c4f53cef8484b5bd59c5c34c692f6ad20e129651a7cab69
+
+# tcId = 199
+# changing tag value of digest
+msg = 54657374
+padding = 3031300d060960864801650304020105000220532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5ac9934544425ddb9678fcfd28245b7f5568eb1de108e7d3e99e2d3810ee261b877073d32ae8abce7279f2177d6b11f36234ae2d9d03e4fa51907677a950ca4c644e64399ceed4395b18dd89a152f62a16520ee8ef27867387b3082db40e6462baa7ae6148c9e3e7d069d00431dff74b38556b31f3622b79b3714bfcfb6c662c6e92b3332f7e029debfe21430ea04fbd7cf75e410d1be0712fb5f754a9610f24f34efef2bf4690a589d387001dc652226775fb81b726b3c036fdce3a52ec7131d1fcfbfc2d6bb8434699d9905d9d7992d7977ce0a599309040ff4cffbff2028c9d6ebe7d0f9de0d17876f2da3a497b2a36170618c82e3f169e0ea0708557f1bd
+
+# tcId = 200
+# changing tag value of digest
+msg = 54657374
+padding = 3031300d060960864801650304020105000320532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 13731f7476ca8813b66d36cd6cdb93a48eb42742cca037b828774ff5971c173bd08e88542f2c39f53ae8700a56be54755b64e1e81a00097cad58ad21b2ebc59518ab6bc345db326572bc0b39572590c90b2b72894b33cb2fcc37fbe549405a7fc656dee567df49bcd93fc4d2c235e2d14c2107952de0e635ee93cfcd167d4dc5e3ea1dd0cf79973bc96cfe43a738be7e1304d4c1e318eb32612cf3d6784e1f842b8780dc5e3a8ec369eb8226ffdf9be69b54867f2461c810c74187d72cefec60a646c4a576d8ab977d4daea3422007454a306e5acbf3f7043d5d3bda70752e4979d1657918fbb863d4eb8eb58ba6f2a372636871b75af84e645a7f49e99eb300
+
+# tcId = 201
+# changing tag value of digest
+msg = 54657374
+padding = 3031300d060960864801650304020105000520532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 0cbf884a755f8ea52d3da21e3e88fbcbe2562d35440d1fa0f8c3dbd4f27aabb5603e6d1b172af543c6739c8b644a4f438df55be7ad17a82c69a03d08c628c8fdbb7d1ff9202a7fb7bd7d4f4c400fbcaef8aa463f1e0ec72b1df8834e07cd4f465a97f7129fe9221ed3205043d2ea4597b857088fc27e95da84900e87ce9578d8bcb120b23096b1f143ced492cc966e2ef60ffe9055f5d225cad682c12fff248347f234713970565c532cc2302965bc69af16acaa3ac8b59b9f8698261a1a6074e3a3bc2a6e87dd01f2c0f13a628c134aaf65500681f1a002d921725b362d94c5dacaa8726c0a029749f9ebb699028b48e59d22dac2aa27ffdc35648a57c57f70
+
+# tcId = 202
+# changing tag value of digest
+msg = 54657374
+padding = 3031300d060960864801650304020105000620532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 711f73de0bbe41e3296a1473121f47a735d093a06c9c7be63559987d98f5fc52c6dee6de2a3fa565e9dc6c75308652978350e5dc407560474ddefb45f8bdadc8dc89b5640aa8552117161d8da703b52948b08596b92dfb4d343320aff80af3507d11a27ca6d2db3e2f028cc1d53adde20ae164f602ee146bbadec7a22b36eaf08849e35425a88bc1d6c8f1434a82f31998f980579c287bef989607c0e09977c52932c9d1b1a7437a3c87d09d9ce521c59fc44c51a279d9d3c94c88405ad38c3122e2e993348360490e1698d4ab126b05066fbf764f259c69fbc7d875eb69a78bcdad95e3ff1eef50183791acec694449e6c944bf2bebc01e5f1cc62d60b83966
+
+# tcId = 203
+# changing tag value of digest
+msg = 54657374
+padding = 3031300d06096086480165030402010500ff20532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 3e85dff099a3f6cef0b15f86f749cfd21c5ca4a6d7ecdfb075a9dfce9e11240599be07f5200431771763469e1d13eedb3914c2d991fc49f32769ceca68e3de4ca53c1fee5f27b54c05ccc69d4cf0ad3ba62202bf7f1c6fd5cfebc7a8ed29e489f6350372f439f606d0b1e879438463b400704ccc2a323acc70ac4f46a621f0dcb49dad6d72cc8f4225dcd9e228f0611e28847745d0f24514506a91ab2a85b4f8f0fd02850c37e2e923ec14c2099ba90b9cf72ced38180d94cbe313215e19dbe46923e2d573115443f3e98bdb96305dac90564c4e667cf3430d174cd077c5533ecbf3f8ba08e7ac56c0b03c4d2dd0caa9d13c968f6a4e968418e42ef4f52aaf77
+
+# tcId = 204
+# dropping value of digest
+msg = 54657374
+padding = 3011300d060960864801650304020105000400
+result = invalid
+sig = b9861f3d1a03cdd4f49e90947a21e5da9fc1281a816a9f5b520a7de27740504d43333f5facf65dec5bb06699c37aa1aa911bd4e8acd7aaeeb6dbe50e577731b4babd4587504821be0ec4798b14124e9adcdc2831d8822e7768302338953584147af1e323a9982ad01cc79f46e239c804b6c119a022e1850f4445d98dc27e83f808f33f8c0c81bbe16d5f04ff0128e34d03ff6a65260a7ee6e10dcd08d09d9db7912fbfebe0304b00135ab184e063a884992ccfa5d64953ae98f050c751817629fd5491eabaa52b0e52626bfd025c926dbdc25af5727d92bad2acc5ed59f5f597606c9752579c57ed0e015440ac194228323a71f708fb92d5cf36c841e8a07366
+
+# tcId = 205
+# using composition fordigest
+msg = 54657374
+padding = 3035300d060960864801650304020105002424040153041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8729c630297b010164e90d0e99fc65eaaaf2bbbdf309f20bb48037bbd40e59ebd8d6fb7e23911051731b5ba5a8423bb3d0ab44bcaea5eb03f56eb8f3ead1c3fd252197fea478fb4b9b9b4e0649503d4f45922ebb72a4cc1716f914b3e8dd8fb111c9300e946c0eae83a2e6c40093fd1f55c684e4c4b2b0f09ecf03ef71a01449eb0cc2c4a274cfdd55efee7ff136a28626eb86af9d88c25bd0ba012d8a0218d43bb02d9b6b1273d3d2414789aaa076da4dcbde9444a151fba9c25ce225876b63b09e17b16e0e115a7db6860afd08c48ad37aa64a54d8b0230314354f1c943fdcebc1607e66121fdb7390f131ba6bbf8f88375497505d7d3ba4dd9761d842e937
+
+# tcId = 206
+# modify first byte of digest
+msg = 54657374
+padding = 3031300d060960864801650304020105000420512eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 6385c6d4dbca9ee08e1f525a8b7915831a732854c7b26cf42681bc90dd49078873025b62e1830ba193445e129fd419ee12cde859032eefc5758c6c12ffeed3ed049322609d2665b5e1eead21af5f354acf336629e62cfc4a740bf9a51fd66e6b72287ed5558261252f50dc925417c1e48a4552589a7099ab0a3371cdb1c209573f7f5ac9436d298fda9606f9582e8c873420e7c4edbf5ead17e3c93fa3209208b91728c208b3fd10b27045be1cfbf242c5d34cadda97608271326444ad35d309d47f4add6bfc5ad95710db6d65f82a06a04bd7c71e335c2b86cf6a466c311f7e735b8ff8c2912269c3b1f2007f7d1369a55440a5abd98a46a4389756f73782ef
+
+# tcId = 207
+# modify last byte of digest
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345ea5
+result = invalid
+sig = 1eff927cfa95030c95547b3f3403636ed63fe85c99e21e64bdd8593f56119329fd7d75f876e13317aafe540b79964cdf62330cf98be66ee41ec92d7ab9ba7988e8bf6eba3dc95ffedffe09b382a9ff566f07c61c06944de3b68dca4c4a3b2076e778286b50c6ece0dc066c29dae7d824969fecc6d5f8bbc2731e875ed9780428d53591d2f2021aa7864baac55d276cbb14098e9af5869e18c29c89d8732503fcf8e65a384454785ed39dbc516eba130e2add655a8e7df260a668ff9214194681033fd8b57202fdf627270fe4f63a49fbaffbce1520562ce53c9ecef6da5e942ad06c8ce3e673524b84c19da4f071d9d0ef9e24d4c8b0dd64627ccae7468372bc
+
+# tcId = 208
+# truncate digest
+msg = 54657374
+padding = 3030300d06096086480165030402010500041f532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e
+result = invalid
+sig = ae443b008918b477cc8f80c54afc175ea0935ad53bbb2784fb1948ed4186f0374b760302dd2346c3797e79a080461c802c39cd72bfc9101b408ddf8ac4e449e2f2f0f03cc1fa5dd77e72becd52a36da64150edcd290df30fdff2a4701c7e923756eb4700184af4e06078517385f9f52d650a46eb94393b37761444fa1d3fc925579133c85e63b25a7a7d1587dc43fc500e54a70ead1cf872e47b33f34ce7971331007e5e74aafe18895f4e5b1faf925437af5dd7d5ac520eee778752130ecdba9d33a792e189e9c8d95770a4d5ecfd71647c99470604b269f14921b1fa50ba063b47bc6c490e9926e4065d5602555e51c9cf6669ee53b7cc7cd0da607478a5a0
+
+# tcId = 209
+# truncate digest
+msg = 54657374
+padding = 3030300d06096086480165030402010500041f2eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 5189a516b2ff014f527ffde7cfd65cca11f0b907160ff901a51511d4b94317e86f3065600728ad0c43e68a6f1f7017708bb8dbbc84e388f43a9c83acb98eaa6b4532cc68c4c6a44f649989b5d254f89fec6de1fea45e3e5b83e562608a7867f0919a2320a120c871421eb164895ed4bae27d34227b1e8cfb600292d208cd15cd62068aff9d692ae8088c9c08a51202694faec5d6c78e995e5e013f931b8a6cdd726357d0d5c6e9a83dc634810fe383ea1a89adc42c2bc675f075e571ecd3fff8581a0df3f83b1959a5e64b5eb1cb9bfb5c4c4c17d47a24a2ab3da66ba62d54b74624555c19c56ffa94203cf78101d181ffeafe8e8fed9e0897b27a88419aa540
+
+# tcId = 210
+# wrong hash in padding
+msg = 54657374
+padding = 3030300c06082a864886f70d020505000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 8b009088b814c2e2a306b4cfd72d87db4ca1ebf6ad5f37e7aa29777b77d93c005922168e3634be085c9e4b147194046e38b7d32fe6814652672cc6eb724742a0a22fae278a9953e665e7351281c42e98d4fca8237be482080b9fbc471b9854ee75ece636868c6b3270dfc7dbb32cfd2e28901ff6ac699dd74d8bf096bfe89c22c228522474df25d13e5b7c1148edd5df5fbc06fe165729418221c610a8fbac579955b8625eeaa8e00aea009b42b2456c9316c5c005688bc060e61bf302418740f0be9b5a30df845608a9008804e89d1a5233d34b6fa84c3698451e472fedd9f4aa6ffbc9f4491256df7181334ff181cd66dce7dc66ef9d3c511ae5e6e3c88083
+
+# tcId = 211
+# wrong hash in padding
+msg = 54657374
+padding = 302d300906052b0e03021a05000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 4469b8e895fb4340328360414352059a4b701d2c21cc2125d91f5025b7b22ae7ba840123ef45ba9c8c27a8a34a74f010a4fdd6be9474ac270501bd96a602afb05df7becdcaefb29df9be5d090af6869a4311fe94b70bcc0c5633d69169ca038b2fcb2a4abe60c0b542b308527781d184d06966632d7404da5e3494d76bc72e9f87d006950e7a4388334f99e212d5f253c11fa8361179be7bc927d9437ed11b7685529e832162e41a72ba3106b9af7acf5fef70178fd83ce3598683ad61c27cd1d69b437dfdf93ac43a1876d594e0eb8523a0ef8f75ccf1ab079d4538bbb726d04f45ec864b04f57c18cd6984f1a3a08a7c3944c6946c3c3e090f9d833c5d3d81
+
+# tcId = 212
+# wrong hash in padding
+msg = 54657374
+padding = 3031300d060960864801650304020205000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = 68a90a62da7b0ac09e26ca8786723164c0e6535e82f28839d12c08348aacccdf0218d3470290665e6d6fbb59cafda63c9e50d596442b02f4ec7b55753b13b82b217e32fc5f3818e3fee1a6b89855f5902dcdba3eccffddb7491317961af36dc74f5b6a4477f57aeb28d57658fcb8e77f8e223d2870b730d53ca1aadeafb389d3f934ba609689ce50bf82b08f31dc2578d7f076d26be5b267e87d2ca4df8d57c112831f45c46b9078c3ec13b01f0b5d67e82579243408e4eb29a154314cd5c68cad6b7198a02c522d87aad93e17aaf8fea49d38e39314c12c816e73d997c0fd10cb12d47aa7af0e82fa4b939f1209085c01a88f5cecd533901d5b1ab2866e753f
+
+# tcId = 213
+# wrong hash in padding
+msg = 54657374
+padding = 3031300d060960864801650304020305000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = invalid
+sig = a1060a690b31b1b2feba5f0b8ede1c8f025da644da1f1d66a6cb218226ea6751a7f391ad063d80b63035cdb991e6a549d85c9f569f7677a40becf0326cb93297e23ed49dce7a5c1a4866d788aec24d23cf9c9cf15783ff5692a579db8f11b7e1ee8d28aea15f358b4d01e127dc438f5edf53346744594c3f946492a39aeaa17352a6791a52d4812637c8612323a50af3b7dd4216100020df91b653e5e4772bca49750ab9844c8cf13d651541d2a1aa7c74a673e645971df9acee059fa981ad39e8011b06bb39a86cdbba9fa544b8f2460188ca04354a95effed4e7c5905d5bf25973589809360d5e154e7a3613c27f4c5c920e71996063c2f86c44b7ad12a376
+
+# tcId = 214
+# wrong hash in signature
+msg = 54657374
+padding = 3020300c06082a864886f70d0205050004100cbc6611f5540bd0809a388dc95a615b
+result = invalid
+sig = 49cea19f5adb723c41e895337a24ced9e685736ec060f2aeef35bbdcf37741056d5f3ace051b0f6099585d82f576591da0c1139a590685b3e35ff9053bc6c3e381cba077700558328fa785128f78f5cfa481e6bf581bc9424f101cd8c2efeb4f8f00684776416c309d217df1dfde8f1e4643aad23207541fafeb5b7d263fb560cfade4792d716f68e7809cf8478cc4dc6a4c14e4e5df4f137d7a05270c6b0ca1f73e77eac07f5e7b60c8574b5c7487db4aa334173fbe03d93805bba291194f02f77ec0eeae2373ec9fc467a621feb77afc7d3757ca98b4f3fedbdc391f99df24663233f7394935b14eb81cf5b24d169cafa7506bcbcc2a4166fcf8fdbd5f7f3e
+
+# tcId = 215
+# wrong hash in signature
+msg = 54657374
+padding = 3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa
+result = invalid
+sig = b1e5095d61e4a986fe3425a08401ca726bafcb778dc818254e7ea5d299a9ee3e8c303a51ce19644b60a7f6156850b3325f4ada0958ce9a0a8cfe2a7ca085538b9b9abcfaaaf7413c810d6b2c03b5a3bbf98faef5374053cbff979815e5f1a38980087b291e1cf1683febc32da71b9040bedeb014de01cbc794ee40c12e7d44cbd01336ee92884d60d20bb0c9a5fe4d7dbc93478dab044bb6f04050ee4a3c8d2577c0e8443781f1ba5d8e763ed7f879f0bd970045299d2e2bc00ae47598e822fdf2461343c5c5f2111b099823c35b7ec4f07d337e52729c19e1df28c4bab6e7fbd1abd9cd3052920875e59ad251970e98c7a944ee6ba71787f65eda75e84cd048
+
+# tcId = 216
+# wrong hash in signature
+msg = 54657374
+padding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3
+result = invalid
+sig = ba0ac1ff39b108015703583afcea5c777ec70df6ad11f561f23ca84eeacc73b7d93375f5e44c6c84e16273d442f93e36d474c7190184a0766e5b2bfe9896f0f0906a7a0c08dd78f0a9702cf3f706040893885f1e1da9cd01aca80de8c0c8197bb6e5e34562c37ff3256fbc6e99d1e9a7459a2cb1f49eb371a9e3cb1e87a460880664adb76e6bc3f2652010a7a1dde552dd4aadcf30366b0de3964e85d76bf79e20ced2aef87c9d31b4f2756cea23d9cef75ce07cea41204b42260a25ded448df639a0493d24262e1c411b7c294cabb56b95126c44d333385a63dbbf9219f22499812ae99772ba6c30d881c4bfdb3d074cc8f6090810546e64b1dfff6847a21f1
+
+# tcId = 217
+# wrong hash in signature
+msg = 54657374
+padding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31
+result = invalid
+sig = 4ab504da964bee491512b40b79fe9befa7e5960b142b619db35569cc9387265cc8fa8d4505b3b7cde5e884853bbea5d47ce7d60aa7e4c81853f0ee3f6b357dda5efe13119fc42f464b0cfb9d3506024c2c884eb57373e16611a6ec1eb803a61300bd248587594d081b501d5a141d2ea38d9ef69a87a3ee9d8d83aba410b8d30765c81f997d71457dc8ff1d9c3ed83f06f0156826105bc0a6fef0260ba6fb24578de5f58e7b0a64d5da1512f525f41e987a27e4d59c7d4917fb60586535341bf1644f6bf6a7e3cfba1c225a66bd65cc90b1eaed3696eaecbbc24a318a2e2ad711af85b02ee730940aa3dcb2d87aa8dadac182b5eefebaa3e729204d04e8ebf09b
+
+# tcId = 218
+# using PKCS#1 encryption padding
+msg = 54657374
+padding = 0002ff...00<asn wrapped hash>
+result = invalid
+sig = a5280543fcf9276baba49a297f0803ca4782cc05d35c53a7bd692b0356991d1ef6211efd591ef2eaa5d39b00bc193f3a5f175dd55de90f04396874b799374625a8af5ac162f9af79eb5f3615dac8a33c8d41182c6183db82b9e509ddcf4de0231e419d0e07487fbbb42d84ffc9b4f4c3ecdf6efe2efbfc64f3f665978ab6d210febb690d05a4c9252f97ddca64884df93fbcfc6356954ea7c4f486f2c201e6988400802904f61c02acf066698ff5af6fc8eaba4f81ec93d886a47e4652aad5df2ecf463db049b923a657ca629ba91ac0090be3a1381432ca2c3abccfb85b3c251776b910bd7ec4283d7493e309d251e07404324de24d65a3dfb8e3c5cb8a5a83
+
+# tcId = 219
+# using PKCS#1 encryption padding
+msg = 54657374
+padding = 0002ff...00<hash>
+result = invalid
+sig = 4f2688932d7bf6ec48e50c69933006d28b055aa97621fbebf3ca336536b8dc61172c8ad52e453c4ec203dbb2904557012dcf43da92f55d62baa56961701bef821240a5fd2d1735ae14be136ea92ee10adc650eff7ef6b5cb08c3f4a9dc17bcfc66cf50616f305908719f467af5abb45beea1835f95544f53cf2813394767959ff3440da42757bd135806be3ed2698ea3d903e0f2447916c94deacbda484cb1e074114dcf3b41bf60383153b838f018f8b2e35e3af68eefd202a2b3d7ddc1ec134fff746f1ce9548f9e53a3cc41faf2e991ea1b5860c55f5c000bff72f5524bed9cb8f9e8dc34713f3ce443d202c8ed3df13dec385e8c19871508804c3267b67b
+
+# tcId = 220
+# invalid PKCS#1 signature padding
+msg = 54657374
+padding = 0001ff...ee00
+result = invalid
+sig = 412f631c6df4c4402f70528635f4ed69094f33b198499980ff880e8e5fbdd22236c7836cc65ce18c1b3f183b69a47c27f3699fe7477462fa8d17e8a247e6ee9e994037ade036583ecf4497c083f78db36a15bebc291f164568655c27752f2ad27efa13a7fb897e658cd9f6aa1515bd14a4793fedb7722fb148c3a0e48cae63d14ad939a99a90f1dd7a7c09d478c9217e31f083c12dd3395332af68a4231a15069b1f43765584f6aa094645596ecb4923c59430e6ba76ae7ac4aa724b0fa9b5e2df9d9254857df70423f9323bdee97d74d662793ac72a0d089a79038b8b85e4c0d3a6f616fadca300a77bbd53ec69287a1f0f6fab0560ed90a28262bc310c14b1
+
+# tcId = 221
+# PKCS#1 padding too short
+msg = 54657374
+padding = 000001ff...
+result = invalid
+sig = 77dc98b3302f80235104cb8810d290be782529da8d49c7ed804c59f6435464668dc2d1fc3040ff31d7da3e31a472e218e7f8bf20b626673cecd2a56d7c15af20b42f3b1e155cb5bd3cc0f15c71152a64a6f15fa3e12f6060c2539f6f635c56a0192be82925c277f5f317b6531f1d5618ca95d038b4df9c1a99df4d09e6f5eb8940f8c5919051180822ccccd49c88da70c9c0bc1f206fe8a6d8e5678c02097f821b1d53a26e5542d9287442e9f74780fdb40f10fcd06aef31bc8f14de73eeb437555c4510762fe6bded19a21eb5e94ce51445ca10a6569f2a92bf70caf2e442975611c6f02b3e2875f911260bebfd5131956c98c5932461831313e3cdd9e7ef0c
+
+# tcId = 222
+# CVE-2017-11185
+msg = 54657374
+padding = n
+result = invalid
+sig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a7
+
+# tcId = 223
+# invalid length
+msg = 54657374
+padding = 2 bytes too long
+result = invalid
+sig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a70000
+
+# tcId = 224
+# empty signature
+msg = 54657374
+padding = 
+result = invalid
+sig = 
+
+# tcId = 225
+# 0
+msg = 54657374
+padding = 
+result = invalid
+sig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 226
+# 1
+msg = 54657374
+padding = 
+result = invalid
+sig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
+
+# tcId = 227
+# 2
+msg = 54657374
+padding = 
+result = invalid
+sig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002
+
+# tcId = 228
+# n-1
+msg = 54657374
+padding = 
+result = invalid
+sig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a6
+
+# tcId = 229
+# n+1
+msg = 54657374
+padding = 
+result = invalid
+sig = bb0d4124c20130688b8419fabecc427d946c5096dcf69ecb0eb69fcf5aed15d7e1e5fe4e34fbe26f8b244aa3f088d546a00a531464ba4b8980bcc4d5e54bcc20e1a51afa9044f7fdecbc6edb751b5a5fa7ab403a04e5f77ba7865dd6d211da0afa71262a77a63d9c06e8b00b616ca15f11ea5b4948973864183f570347570553e3878376ca4f7536ad5afac10c0a7b34a5c11f8cf16115fbaeb4b323b1ad6f75c7ec3b954891cab2611cf1768cec983c1717c57f67676d721a955bdbbc216a3345bb31d7d63e06bdac96a6b991ba1e0113d01e48c77ab327d36b426c2f8fe4825a37877425885c927e92423b6977fc304122a2c397cb74845fe9961dba22c1a8
+
+# tcId = 230
+# -1
+msg = 54657374
+padding = 
+result = invalid
+sig = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+
+[e = 10001]
+[keyAsn = 30818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]
+[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d90203010001]
+[keysize = 1024]
+[n = 0d0941e63a980fa92fb25ed4c7b3307f827023034ae7f1a7491f0699ca7607285e62ad8e994bac21b8b6e305e334f4874067d28e304230dca7f0e85f7ce595770b6e054c9f844ba86c0696eeba0769d8d4a347e8fe85c724ac1c44994af18a39e719f721f1bc50c46a39e6c075fcd1649f01f22608ce7dc6955502258336987d9]
+[sha = SHA-1]
+
+# tcId = 231
+msg = 
+padding = 3021300906052b0e03021a05000414da39a3ee5e6b4b0d3255bfef95601890afd80709
+result = acceptable
+sig = 03e64d148e05201b021fb5d3d72ab6abd4294be6c1673277ba5822ad2fe7ce4bb29ac547b2fdf09c2894ea0e31e76f1b3e1937db91c389467e9a8ac7be0a4f674456f01c5b4fa4277a26028b49b16e25689827d0a4b9f1c25a63350dc15131da908a05c7cfa8c08a67ac9efe3b0cd04aba7db12064cbc36729eaaec540c4bc12
+# The key for this test vector has a modulus of size < 2048.
+# The key for this test vector uses a weak hash function.
+
+# tcId = 232
+msg = 0000000000000000000000000000000000000000
+padding = 3021300906052b0e03021a050004146768033e216468247bd031a0a2d9876d79818f8f
+result = acceptable
+sig = 1d19763e80121e228ac4dbb3be8448560aac613ec74b168efe1d8a8335b77e6d8c3cc0f641de8c8e26a2aff9d32a4ab77340912fec0e60e89257b5b6b19c8deb866c2d2349fe63a06ac6b72397b478cdd4198ead64f8d36b9df29651e95ac7b886978cffbb5f7498f136b1ded7580cbcbb31620415eb71cdb5bd615b47eff813
+# The key for this test vector has a modulus of size < 2048.
+# The key for this test vector uses a weak hash function.
+
+# tcId = 233
+msg = 54657374
+padding = 3021300906052b0e03021a05000414640ab2bae07bedc4c163f679a746f7ab7fb5d1fa
+result = acceptable
+sig = 0891ef2061c4d3377744cd7243ccc444619df533f4eadee216f7ffb9244e86d3e0162fc82c0b9502dc7aeebaf7884067e5f18f21b395c43bbfce5559ae84157ffde2aa457b7f44675e706af443acd9e38070428dfc6471a24cdc0d44f9283ac158704ad114375f10c24e3adbd12c55dabb78b8c41d3938124acc74126c82bb0b
+# The key for this test vector has a modulus of size < 2048.
+# The key for this test vector uses a weak hash function.
+
+# tcId = 234
+msg = 313233343030
+padding = 3021300906052b0e03021a0500041421f0fb55d0f5f4e1521ec82216000a17e728f773
+result = acceptable
+sig = 8277e8984d536f81667feeee7e24068ca5bb8b815210b3e9fa82294e11cae92c45164c9dd5683be4650e4b7709eb8879f793ae804620750b26032894e53333158f6afa6b52318e6c730a4a55d5a0fca6d029744f2ecaa2e00d3d6dffa0716acefd5c91afeda74b7f1a1bd7e635283bfa2142ace513da24eb8f25f3578a401ba7
+# The key for this test vector has a modulus of size < 2048.
+# The key for this test vector uses a weak hash function.
+
+# tcId = 235
+msg = 4d657373616765
+padding = 3021300906052b0e03021a0500041468f4145fee7dde76afceb910165924ad14cf0d00
+result = acceptable
+sig = b41191a7a1d11e973600e9a28c8d6e6d1513f7d970cb05ad50c686bd6fc42b7848559b2b3073a8cc9839f464d82f8a7d864cbc9698cc1a4b5b8c8103d07e9d79e5d24e1b3ab69053461bd76ac3b62935c31ef9f0c44120bf5c0a012eeedbd2a39d347cf6676ee8c81a88eb87eef2708edd793ebb79d6fced626e6475681fe73d
+# The key for this test vector has a modulus of size < 2048.
+# The key for this test vector uses a weak hash function.
+
+# tcId = 236
+msg = 61
+padding = 3021300906052b0e03021a0500041486f7e437faa5a7fce15d1ddcb9eaeaea377667b8
+result = acceptable
+sig = 29f69d320ea3221cd0704300f456295becf54e877c2b9b2704dc47ef992588c7dcc1648d17172d8c76362c488aadb3437be488fe667a192c5db1440f70d102361d7e85ffab370c7bdaceba0d15b1f32ba0801ccddc9fbaed1323834a60d19ff13ecd46a27f06e79cb0d3aefdefc0c69d8e85fbe8761d83f35e362355ba675933
+# The key for this test vector has a modulus of size < 2048.
+# The key for this test vector uses a weak hash function.
+
+# tcId = 237
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3021300906052b0e03021a05000414b92747057fbbdde83bc06b7e869eb40c32d08a6d
+result = acceptable
+sig = 9aa3040e7df724bf506881f6a92a133ff76f6a168f0f3ced70b3363835ed6b655fae6f39416555af4071c16262da7556412d9905279d666f9e15fb8a813b313d00007cef3ed2be306b9e29e6b69c2c5bebe36aa057feba44ccb6c8619076a5b23f39729ef78bd6478249f34ee99f3abeef37c504410910d1ad3f1a712c8d697e
+# The key for this test vector has a modulus of size < 2048.
+# The key for this test vector uses a weak hash function.
+
+[e = 10001]
+[keyAsn = 30818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]
+[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b0203010001]
+[keysize = 1024]
+[n = 0dfbe6f882c8b0c42c3229f29cd858bead25c213b5c0346c3052f844b045ac792c81c1df5ad6a66e9d4f3f7c11096f069f5fc0d1d7da555c6e685cf672ab2a6599f01605f50c93a91d6882f5884e4cf3e9c41a790b0c44247150777f95acf69312b0ed68f3c82693e6b67f0e1ea5927c0eeab3554c2c157181f4634e77bcb088b]
+[sha = SHA-224]
+
+# tcId = 238
+msg = 
+padding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
+result = acceptable
+sig = 507e6233a3c80971daa07c13f34a532d53441e196d642fd6564b347fdceb865c55dd47330587622a30f8d4ee66bf8f163c626f8dd26b313bb4095ea1ae9d6a96a24365f4c20056998eb9d1e3f2e1c78257361e5c21e5ba76320997e8cb30021e8f11a580000891bca3537d7a2c0972e06844f1a01a1dbc9a3f8b8a2955f7005f
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 239
+msg = 0000000000000000000000000000000000000000
+padding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480
+result = acceptable
+sig = 414de39059daab523a725efe437d688824a43689766b33136aa3e6da0a2fcf1c2aeff952605c2f1a12a29e36f282e59631f442af96c7659e0717bb24807835aa06f034906670b042f8db1cdcbf3c54e25472383b6b9097a09bfbd73b2e7c10e18731c6bad47af591bdb2d376680f6cb62048a97c19f23a70e98ddedf02786efc
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 240
+msg = 54657374
+padding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923
+result = acceptable
+sig = aa5d174e95f9a1ff88c1ce60b3aed1d39e256e28b0512cc4b52be1d41b8ccfa2a739945aefb5b697886f4f08cef365d18bdd8151acc588fd4ebf2aede9bdd904aa3481822206f3fedc5889c9f9889a8dd4d160d65e587ee228f9ef155108cb283c4e2a697a1e739827cb4a9790f96023e6ad24cabe51741a7c7cea8c52f08cdc
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 241
+msg = 313233343030
+padding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c
+result = acceptable
+sig = 54a81c62bed2f716feb2939f504db144c1c3b70485a1f35b2871ede567ffcdeb8d2ed0c57c56f21b70388d631be05b4c738e67f160f34ec42f236cef92b03d3dc8e50145b33e634a6fad8e87f84624e96feefeeaa91ddbb003c3969017dd2d102da2e7d5de8ed298139d5e503e0aaab136fb583b99ece2e6b1681699a04b977e
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 242
+msg = 4d657373616765
+padding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38
+result = acceptable
+sig = 11890613a8ae298c21bda95fbe4059c37426f41ceccb7bd79598c72ab4662e012f08b7009c15155b5ae9d132b4ede565963e6014241305279d60662f57df7119e5d4088d32bfc7e0847036f41ca71f9a92660f90ec13ee9e19717d0b567ec5a6b5978a11337d5ee4e9147352fb954817be04fb767ef35c07babb03fd04a31338
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 243
+msg = 61
+padding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5
+result = acceptable
+sig = 0fd461012145fe0ae9362eef22ee35dac0d4751a037ce4cf0792012bb179d101f9a9752e5ebc5454b18684fa1b557f3136ae68edc087dbfa4bbfaa59be42d0daa84b574a9f23238d4d538ae3e6c32f8dbd98b1138b545badcc10b184428fe2707aec73206367f147196f7b83f358377562e8c7d9f1d396a1cd9aa74f8a78cb1d
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 244
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601
+result = acceptable
+sig = 307e421e06bdec1fc1750d53529f5f007eddcc991af8351477e1d67169409e3acc93367fadc412a4554854004c4a29c8af4af09793e55967ed439645034cc9e9ae565edfc861e04c763d058ff3aa29bef3942277b4c971d830be1259aa30c125a6ede65971b0120758c2a6eb21f238ff18228f344155ff9109a0f9656cae2351
+# The key for this test vector has a modulus of size < 2048.
+
+[e = 10001]
+[keyAsn = 30818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]
+[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf0203010001]
+[keysize = 1024]
+[n = 0ac9048a7a4f560af91b4fcaf62a14595cb9ca9ec12000fc845e48572113cab2890adb011a919575a40760d1f23fe92509c8a5810b6d05990b909dd0f4c6014f2b31b6abd805bace99816e2eda41fd7b95405db7c5c8f4cf6babb14f550d5d0dd5179b54951fff6aa9686f30f478db649b7c7044cc202dccad00343468eaacfbf]
+[sha = SHA-256]
+
+# tcId = 245
+msg = 
+padding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+result = acceptable
+sig = a0abd165a5ef8733ba111fa0fa092630222d809d8ae811f24f8bead4968b7533af31019663713ba134e7dd345c38e7166a037025eb34adcd6891c9ec941d2e3eb1e4bded1d269272b602cb9b53568b992ddb5103914e6424c75505701a37996c8318b0b6f8640cb6b6e770ac44314b866a7c683a6903f7bba07b6f197ec554fc
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 246
+msg = 0000000000000000000000000000000000000000
+padding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90
+result = acceptable
+sig = 41339884a9b3940e8488d666bb158063c6a2a2717cae7f564834a876fcbf7098ecf3acbfabf37d38a8e6127b1e313744f1f896e165efdaea0b2e7673867842b9e94db0868ed9a92bcdcb370a4e20ff275c82595e4400a8b9e9f12482f014846b48216f321266ae6ae6338dbcdc41b711e483e6e3e728772e7f9f5ef95c30196b
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 247
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = acceptable
+sig = 8883676becdc27878ccdff53dda011e5e2f886e31e1e88d520bb161cd63aa001fded9f0656109c1507bd1ba5d3bb3e725029a236b4c3c0420a1fcfffe348c5277d6aa51bf75d9af26fdc15fc49d637b078a8b0478b5b0a9c428756d260068e5e622f193b9f9a2c1d979e3322d7f3edc32053541c6efa2485e42e99a804f94388
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 248
+msg = 313233343030
+padding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023
+result = acceptable
+sig = 9f2e01b92bc9dd32dcf24aee91467797396649a3255bac943dd0e03c9ef416f349c0cbb728704730f3c7a7c244066a94b229a6e86bde7753c8940129626307b542cc7f596583932b4fe6ea9384d5353e08654e966a64b63bd6745503f7e4383dcef74ad4516ac25c8790db6702ac5b8b057a8fae75669b6a9e689e9211a337b9
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 249
+msg = 4d657373616765
+padding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91
+result = acceptable
+sig = 3cb9557d9fe49b889319e0d41efc00cba34277caeed2b2c54fc89772c669200dd63f02f340cb6ed579a379a3fd6a568ca9d4bce206655ae4586850638ee6bffaae2bed7c7afe7353d22418d7e4f6b15e198c85b649d3e5a67f00702dd9fefed7dc72136bb4440fac58e64453e4ee63a81de4270446571b192f414116e165efc0
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 250
+msg = 61
+padding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
+result = acceptable
+sig = 06e6fb568e366fa20d48704be40e991a291d47a464296a49c37718c1153b0fea17ac18a01ff97b32a92d07635dfb9143d011d003c9153020f5ef7fd3ef258cfe92a7a2120718fcc85c73acd34cbd50670c2e044dc3b82fca29b1017912b65d8a844515655308367d8797ae5b7fb91042df573f32de69c1842a128ac88937c0e9
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 251
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a
+result = acceptable
+sig = 327238fd701dc4a829827550aad98f9bcd75e9f3831c3679998c869c1dd8381bc6b74b721e9d3377034e059d6637690ba3a184ffd98af951d43a22105a51838f72cf592d658af01adeedf721cf2eb2bb2c90c68311cb267f0cfacca903c1a2a73f7228badb5d86976f5d3371fe9b00cca048a7a0b0fc4b03da11c5a098045e07
+# The key for this test vector has a modulus of size < 2048.
+
+[e = 10001]
+[keyAsn = 30818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]
+[keyDer = 30819f300d06092a864886f70d010101050003818d0030818902818100a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed010203010001]
+[keysize = 1024]
+[n = 0a1d3912e65d994e0ba51135f78844d9a3ea5161e5450d16a8cf0173a0a309a1ee94e94385dffc5e27dea6692a1713516af86df2283c8e327e60ee26a7b7cfccb0af3f4b5efec358651996b97d5b25da933b063490cf7b67073d399b04ad55c0a89f8ec36d7f5cae757dbd3d6d0f5b77f7c94e28878397cb45cfd178f3f07ed01]
+[sha = SHA-384]
+
+# tcId = 252
+msg = 
+padding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
+result = acceptable
+sig = 8bda47e85848bb1d98eab90bd5f1880540204c8753a17b2552ee4778405e4c42cc3d25a4d869eb38f1e6fd122a2f52fa8685c3ef40400ade2017555ae88fa892a1ad2793f7c23762f0e54db0852cfdb2e52ebd02c8acf81b9a1e78accb5fbb57a29391cf4fa9aa298111c7b94fe240f0f576b1b52853853fce13da155f16e81d
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 253
+msg = 0000000000000000000000000000000000000000
+padding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63
+result = acceptable
+sig = 74b9a7b9548a281c5a258520c879e0e64d8a28812a7b6461c6e418e0502b61008a8e535a5b55fb64529a6a6df2f60ef33c1844b27f81532be2bc2992d0eb5e524112da90bf40adefcf206469639ff3895a9826674ee1acbdd623842ab0a9a36d48da13ba17c4ee069254da2ea418d5a8f135e2a414c0654a266d538621917545
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 254
+msg = 54657374
+padding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3
+result = acceptable
+sig = 10d9c8b0bf55586e985799be60a17979eb0461daca00ea6defcc62fe720ea502e7e486c02a48f5ca41ecd96c67b5c762a067c465c35a8e416748897ede3ee2cd3c3e1b1199da5c7f0dd0f036774a1730e63ba781d6ee43d78b067608e831a16dbec6075c8ec90e81a4d8e2ac2587b0ae43f7445478b03ab7eba2e63d4043c2e1
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 255
+msg = 313233343030
+padding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace
+result = acceptable
+sig = 2cb15eb09030fade89eabc41794d288275c456f12cb0d414311e5edb551a51c3e1354f134b27aecae50536379a871a4ce6ab2e1b999c0308f5fed2ec48d97d68885b37a1e3e26b841db103b64f720f9aef265632f4f4a207ddffe19092e8b16144b0a3443d779c0b648077d3b04b72dd4f4051ac232261ac9df65974764b97a9
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 256
+msg = 4d657373616765
+padding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329
+result = acceptable
+sig = 9c80154e3087b443fe6d9bc24faa7ea009330a210f2f1063ea1b61261507a5e3853079a0287d5b27983bd751ac782b1a5c31130978d3f2a8a95101c4ed87eacee964953ad32cd2cd4caeb7c37330d1650d7ca19dfa6e8f1c184d3dd9a3a759d6badc700b7063d2c579b336c5e141c200614ba613d9bb6493e87d26978b438573
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 257
+msg = 61
+padding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31
+result = acceptable
+sig = 99fc12c90f67dff9600c30c9f81bbf335492151345c809c05771d59ef73d438f88c5c43ba507a3cad6633641d70ec3f3c38f67cf7f2566489f59422a2dad1f647e790bbd28acc290ab392d48ce7a140184bb71023f8c9c5dcd9469ebe848063d96bad26fbd390974b38459d51727eb8c0a5b8a8ef1d3394b6f852dd2b22cd22c
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 258
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8
+result = acceptable
+sig = 869b42bb93624a139bb98c043cba8fe12d612aef040e3085994824a480274c0cca24d08d178321acb048055b777d897e267cd50809bc7e9f86c276beeb8a8d59d82aa2091c66c71e41ca59738b0e18f055f9c75a01e87aaad446e64ac0183c002ea2080415ebb4f85a590622bfa4e701a6e37d0b33bd78d5ff874d8d28fda263
+# The key for this test vector has a modulus of size < 2048.
+
+[e = 10001]
+[keyAsn = 3081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]
+[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e6110203010001]
+[keysize = 1536]
+[n = 0b8be129638e9c805359e6169b263265e2a8ec4b849101f2a321ce523665e399954ac3865ee8c85d14f3d3f24fbd583664bf09394cbc7f7ffc98aadc94eda35ca4b9614fd2d773c782086a1ea9ca23f357cb2cdc465fb85100172845d6b2906dc9315a542d204bcc4dce68d90484198e2350cd682eef9313a13df3607669aa4dd186f563ba0ae3ee054f857a92985f2694a54e1a87ed7327acbfda3e61ecbfecfdd1b7b2d08dd306122fd44268f08463306760f40dfb7634e71d7a72f1224e611]
+[sha = SHA-224]
+
+# tcId = 259
+msg = 
+padding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
+result = acceptable
+sig = 9cbe6b808679d666332a97049be279327c7e00e3c17354fd1d5f611969f487d9e397456b90549a77582a6e8b51fe212399ff68b979fe293efcd11ab79cbfda818cc4039c62d32b58717fe0abf2b4eeea0304baa5afe23ff6614dc6cec45b518d6d58a157ae211e0a67c36a0ef6468d0dd68f6155a818bece4f8d35884f4f90aa6ac6250bb3459604d4598ca7c7e57489d484351aa936be4fc9051e28e229f4bb60fa97a3f018ef37fdfe78ca8cfc0caae758c53d0f68edb8b9df2b826c80272f
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 260
+msg = 0000000000000000000000000000000000000000
+padding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480
+result = acceptable
+sig = 570c9a8a85a988b5e254b74af7611f0a1e4843e4727c9117a5e2bbbec29b0a6e84c5ccc2cec9b100410b37d1e0eef9a2a21a2894e1a5b581e6567d1043a980166ed7449e557fd7f1fb19fff60f3cfc85c79c9793c553314060b95f0a2199f4de16792e35888b78f7bbd4520eb09efc7aede5d24a51d8c123669ee2452357dfd089986005506df4431c50432509302e7c7e9aa8e9f383ef8b856fda1ba8db44f36b7aae91c597bd6aa0b4f12573a664f328b23b7a7e8738d5bfe772b39d5017d7
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 261
+msg = 54657374
+padding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923
+result = acceptable
+sig = 74cd13a7cad1ba8c0254967f1cf7d594a084995b5778b113a42f35654151556e36ff796f609146bcc519a8f983d0093a1fe7d2789d0c2688d8444ff4c3c8f6759eb71d6fb7f47a2eff42e62ecdd14fb3cf2e6df4b0717094863bf19a84457a656d3fd64aa5c086e09a8097e3576ba1d91fa17b7a1222b9064e2c6b06aba5b692a7078117838c64cd6598bea415a231daf4e62d4bffcbc0986c3cf86ae6a3bbb7ffbe85ee002ce9af3177b1f2c0ae14b8b1cd41b1bf1b2ccc688794f092c91873
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 262
+msg = 313233343030
+padding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c
+result = acceptable
+sig = 1ecad2c46d9d37b3bdecb7f9002cc48f8345a2aec090f5d599350c855c4eb58f8a503d8dfe042525a66e771bd8dd8a70fb4822aea1a0cf33577ea658288e6f2fd886888cb9225f1ea0d03bf5b5e63afd3bf59c0c1d3f2cf4f4ba2a8dcf23182feec72f76a60d252a8cb0b770b7d0dd6c72c072098f81b852f7271007273eccbc55a9099e426e566a52e11be82e78bc8ce8c6bb721f858816c43aa253a950da5810e5690c193b820d9ed4f02046a548503c72755abf1450c09dda9c84dd2a079a
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 263
+msg = 4d657373616765
+padding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38
+result = acceptable
+sig = 402c91c41a3e1782ae406b04ff52cbbf9f71cc5f3473b9af43a2ef96245e79b62551d9b23a85e6e80a2041b616dce2647312258b29bc6b549eb38afb083d823b3c2619caee52cb1583a7c20cba7da2159ac8154b98a9683388bcc523c10b6e560fe0c8a0cce9237ab1991b207e708b601b13c5d1d86825d89fc5aaffa0e89ddcc11d2b516de64e34783d86c6d05ded6024274498b6f3dd5593feb03147cfca3890f92487b64e67ccb676b85144899e6d257b28edff14130eaf0cc45b60ddec80
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 264
+msg = 61
+padding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5
+result = acceptable
+sig = 4d93f0d689c59942d9e7c26cfc5af040cff4b3a114c7e191851baa888133ea52583899520f8e063d7ea1ac7773ccca280b92840082d960b0d1e20bc8549c83f989b6991613c1711a0a2586de7fc2bd10750023e2866fce48329621e9203c2818373abd69bc1807fc1158639d3837b5391077a39f829f04472c74bab0a15757083a34ec2701abb6839ade2674f1220af9d109678d209bf5f16eceaa8227ab028d0017530900f52b8be12c33f007dd21774a5bdae2ee12d7e47e98e5cc7d301d9e
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 265
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601
+result = acceptable
+sig = 44a571c4bbf737001fd5602e8d096123de21b47c36eea780f3e0e19fd2243605066ea949c88b6abb8353ee8b88e394a485031e9e980936e09bbd17fb6dfe340f07bcca5cc51edcbd5bf98c223f44976b6ba3b4b2157f1a14a7b2a20728f92a31120f968138a33164c78b7fe9146ba6d641d6c7b7cc9b1b4062e96002054eb9cd2e738fd82564dc0fd87f08b5006f52db13a7efd4602dd6736cc9667701fcb9ad48c5b3625a11e44e034d0cecb38cea4766b03416c94f01418b411e2f4739ccba
+# The key for this test vector has a modulus of size < 2048.
+
+[e = 10001]
+[keyAsn = 3081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]
+[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a2710203010001]
+[keysize = 1536]
+[n = 0eb477c90d46bd1896cf4930cf2615140e029a743f0649ae586eb04d51f21ac5241744b5872ccebc87b401487a9c859176c9fc8200b2054875e2c811a56b5d9468e6d3a99c058b1c89547f55a3d7b1d08852f673d3288544aab906e57364cac817728dcea18bc1193e62269e04112c19451702cfaa46fcaf716db14f2e1c9b8d312bdb15dde506945395bdb0865f22ac0553f827a27719c2c703a83c6cbfd949d06d4eb560a8fddff052fd6f0a20f6cdeb2909211b75f8182e58590d069a2a271]
+[sha = SHA-256]
+
+# tcId = 266
+msg = 
+padding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+result = acceptable
+sig = e4f7f0076b4bddb632c470881bbffe95a148573a75c014689eda7acf5e57a546327d4bead01da0b093b2c4eb5b048fd707d27a4baf85d610e4ff8861feca57e1ea88ff0c4b803c4b0d62ae0cb89012b0ff041b438e49a79680f2cb30722a5a2a3aa9b516ff2a02947ebe27186aa9ffdb35e15328c0f49f172af51f764258e909651469ebc6a59cd98c996fa3417008252e3386b9a2d059d3c67983ce62ae2d052733c55732320679eae156d0e4b89da1022bd052340819cfcdd7366c34b65a01
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 267
+msg = 0000000000000000000000000000000000000000
+padding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90
+result = acceptable
+sig = 8d2611d4c79f6b2087ae8bc76610905c361b9fe0a6629388197b4293f9e14ecbeb377206e4c1db35cdc0ab163dc5c51e8a7370a059e9ee8014d18ef0937f7936879d7825c792180a4f10a0d46e0a954f093d703b82bd076dcec0b8a66fc3be9bdf79ce4550c453015dc1c7397ec1bfceed040a4d777915546b9cbcf1eeb13eb71ac49c235e69cb07c315d529442f4863d61b7d5caa5ce07820edf649a9342211a26f8280dab9c5dd11af0752168326f8e8d5e834ddba3bce063f011eccc8f46d
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 268
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = acceptable
+sig = e12e3540e7f20fb5533772e91b708151c12d8440ba9bc994791f5916d521726b53969063f9e13114ab89de0b0adf119cfaf19dd74a65b5eee32f39e69ab6776dba721adb2a8dea1495c51d5984b6aa2b5d216eb48459103907442f725410f53ddd5d006762dd3167c2da3bdb19f07d27e3fda712f444c093f4c8126d40ca7c381ab1d3875294df84055239ebac5039490b597366b58c2806e52f1f259c9ed16f829f41851b6ce7e390ea73251395bf940997d47bc323657160ede973f2342b91
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 269
+msg = 313233343030
+padding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023
+result = acceptable
+sig = 90ea80b14758fa12319e54c446e70bf5bede38f5d8d8e978531e6c54c567b63a0fb7b870ab963f979c4015c27714dc9292a48123c0a1f13896055f6628687040459488bca149f410cdae4249ef918f10329e902f1344a666fdf96085b7bbfb086ee2f4e5891904f945d867a50289da018c245be31b684bebb8dc367d43d53448865dc005ffd58e2f76f1ae8ac51fa7ad723db9bf3b78b82bc5b0e209ed216575009c27a6d46bfd1d9ba35fd50eaf4a39afd7b3dfdbd2f437d0d97b5b08e1870b
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 270
+msg = 4d657373616765
+padding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91
+result = acceptable
+sig = 3ebfdd69af2a561bdf4315d015d397b8af75f6c17a3e6e1c6b52bd6e812bd9112e1920f6cabd82b996b1b48be3aa40e447d29689be7dc64b8548ce5414318c4288a6ccee97f55c523661e629d3cb124b97a042c1e77a9b039a8631815c535c8216912ea47684a7220a63c198ef2b80568882e153be8fe92ae4c786a5fd56a1e64fdb235663f3a242c121e59df3a19c29282e647a5123583378577925f399560f6ad3b2a4c2b18ca2547aab5e3ed4030c6585fd2abd1d65fc720bb30354c966d9
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 271
+msg = 61
+padding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
+result = acceptable
+sig = 7fbb42d2bc1c3e5a0f66fedd581e5ce3e555f6f1c736db24b6e963d2ba72118cc989e2969c21bede87ff3f4209f2b009263b7ca3716a9d3e7115dfe65bad1ea2a1013304696248dd2b1d70764dae248bd1e9d49623826f2c6640247cbe8bcda47d882e298f30bcf3db1f496c26b738848e9876e4b70f0ca8259760e919e5c5c0a2ce3d05b5804a94b67f4c719fdeb3ce23657a26635f867af0271736ba20abb7fff18bda006c48d9c3ed774365d00aa0340a04906fc07f00b18a572c96f986f5
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 272
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a
+result = acceptable
+sig = b9b478f6ddabce2b1ffb306e2135132df09585be16eaa5182b8476796c10b0eecaff9b91100882f5872e00e3d1df2df40969ca4d00596b6d6c9c13d3a956dd8d91decbd3a48728aea05b8f7707414a8a5de3bf0becbc20ae0ba852ee7c4f2c177f3d95a4a8375ac50e11fd2be4da1f94608786fc84747117604138d06956387924e5d7baa2c97e25d1b0125122c0a13981559db80ac2d6848f4db163027c4484a51ac5095f5653b12059440dac69970b5680e017a7eb2861c857a607446b9420
+# The key for this test vector has a modulus of size < 2048.
+
+[e = 10001]
+[keyAsn = 3081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]
+[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f0203010001]
+[keysize = 1536]
+[n = 0d1060fe7c6d185f09c3c1865cf6beaf5dc9306f2f3646bbccf19e47fadf98cfda7716c797d15afe506d573f19163ae2ab0ed9964c7b125dad7841125d38dd9f430b30fe5ea0d24083cb9b09f241b0700821cb5e40dc781e72ed95a2a8cfd33da065c58db8b8166aaec385a5db04f473198fa3b27d4de0a3267b11769af1178d284fb9ca6ac2ffd03b940509dbf2383838d39e0d5c93fe29a6802e12716431e25965f5b7b146663f4e5567ac4c3edf8824913d26ff2dd03830c8a0645adb04d7f]
+[sha = SHA-384]
+
+# tcId = 273
+msg = 
+padding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
+result = acceptable
+sig = 6428e8d022f52b4a9307fe0f93e650e9665680d3c4a66194c6d50cf08726a3de45dbd8f24c9b5d4ad3fb6fad8bf3744d166742c6bb8cd690325e8eeb8d33e1303234d2a9ef9f12f8adb29a423279405dfa25d5bbbfb4255f6d739dafad66e4024fd413b16a167ea4cd66a75258c476e9f23cdf99346cecd6a51d44176346e6704e1f25fd953123716dca1eb8e2ba0288a38723f76c7b873299e34373fc2b18027500c26aa32c903389eed545b87061988f9e06effab524655e52103be7551fdb
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 274
+msg = 0000000000000000000000000000000000000000
+padding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63
+result = acceptable
+sig = 58c4c42da5eee1b757b31e3362a95d75180c0fee472c431527ff5500fe0b5c1d59968d79e6e41650f013a6b3e37c5a1d79233b818ef76c4ed469a09607becdc58987e6a548610de14ff06899ef284778dd5329a27b85072e8ffd46b63a5e8f7602ddb9fc5a07224c49818fc8057581ea36da033f2b936f0761186c7fd82b474e87d47aa1b7ec610642d3bcb16c59bb70ac68b1f081a9c9248f069474d6ed9b29c669fc40a979cdfc2053e1a3c0cf40efa29c01785323995f1d8f3850c32bdf92
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 275
+msg = 54657374
+padding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3
+result = acceptable
+sig = 62a81171990b2066d9c8a12d75b719b1d81513e9ab0a38ceed12c19835e8291db53045c6be238fb8a0a7daa974f8d0e10495c197c8d94b617a5e84982b849a121377a4deaff1c61f07365a4429b3aa90a0a475d3475e93b27254e1e0a75f49864287f2027f7b4c8c0f54ad69649c042e2445a5f131dc5d7878d7a040ac8499ef4208f3cf7b63863feb6fc3ae7d9e299ef5777b1d872cb19799f5097d456473760e5953a650a207f50f5dec349e71b848640930608208dd0745bc185d78284482
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 276
+msg = 313233343030
+padding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace
+result = acceptable
+sig = af896fc432e8f0d10c082153fcfd95b9ad7c90fd1f757d3be4e57556553b982af328b2f3d96fdffa3d26a9fb58e011206f88bfb7dc453f8ecc1b8a86910f993e91a1f70e2d75311015d676ed9245f1a9379f4f29ef26ab403eb1e76184855b10696f5254f2b51e536df54c84189d1a1f97bfb56a3b7cd13a82d8c0262229795a3d2bd46f28c3e71d5ae18c2ab32b295477e3f0fb428c5278eea15622ec47efd731b78d747568757f82a943fda22d37d883d8daff25dbb168032b5b36e081ce2d
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 277
+msg = 4d657373616765
+padding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329
+result = acceptable
+sig = a3c4eb3756805db479ee0aa802a9cccec9c9e146e736ed48b8739f2c8f108c579f1a16a71b7d222fd146f82292e78d254ec030b47267490927843c13005b88e2956550bdaab0e5748dafbbaa825425e9d83283a9a5fb086603ce00c8dac8f73dae249082378fcbdef763ef2f207047e9a9eaa35ce466e9569470f612c87292df4babe1d1446c55be5ab0109895afd337843eed2ca777f3ea1c08898fcb36e02674772d6dc3c71fbc49c897d05c81cf2aaef212dab088d9722db4033bb8f2ba56
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 278
+msg = 61
+padding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31
+result = acceptable
+sig = d0deb372624d4e1f64b9f3d7517fe2bc9407b1cb99ca0e6f641d5557935b4ce3e0e7fc88a75a8a6b39a7d03b9c9b43d6f5da250bc2c672ecad4f559a02f45bd6319d7377d305493264b17beca8ad93656a88767221113a30c8402794a920da9edc530a6649b881abfee5b92dc857332970973366ba05954d70a99f378e8f65e3c1586ec71f79fec02657bf6dc5ed82c835735af15ab1f305bad5c49ae4dbab4f6bb4a5c70d35ba779e01b85ef208d7def3d0358fbe9202923fd035d58ff36a06
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 279
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8
+result = acceptable
+sig = 4e47d4cbe778a471ec643bb235fe9ef8d10398bfb2edfeeb9c9bc12caafe4031e33144be385e3adcd1609652f4c9dfe15f5cd6ba3ff38b34dd67c47c659473cb12f9b3905306d92405d38bb763474ad65e96b7f68104c1dfdd217ee56c912f42b054f16efe23fa8821093d8169826a64a77b86ef33061210280e3b4793fe540a09cb910f5a1f12a410b588c2793726999021f8880b7d9b83792ae9ed282871921a63976131b8aef855078787bf32df696458e507b1dba70d7422d4d37edbbdfc
+# The key for this test vector has a modulus of size < 2048.
+
+[e = 10001]
+[keyAsn = 3081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]
+[keyDer = 3081df300d06092a864886f70d01010105000381cd003081c90281c100d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e90203010001]
+[keysize = 1536]
+[n = 0d1f33c4d0c3b127cfd4c711aef054e291cb9a9b7b769d6dfcea5ba02d99f0807ffb63f097ed7b5c5e2ad09578c749863a96a2bedc3e72738fe887a4a1fae6ca8c8e722c8dedc065a4df9f5c38e950175a7e0de9008f3a9a67e3413f9891e2f8a70b29f55dd21d2cba16f8e2300ef7c35ed1e42ebfbe70645230ddd8c067dae9069ae5f32937a207e0e7896e87fb399e6c93bc5bf6c2504fbdb3ecfc281f8da29115b2ec41eb9acc4176e311fe8dbcac24b57f8d656600e5fb4095eb4bf90b6e9]
+[sha = SHA-512]
+
+# tcId = 280
+msg = 
+padding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+result = acceptable
+sig = 190497b9c697bc8571dea0e67a6594d1ad0c401904a6a8f6e44837452949b1fb2044482ada64df89978f1168d5caf866afd928817afcdb589ce3dc6ffc5d58cb76fb9edc59b7d9188ead57981e1acba36e21d76a668660fb7bbf6f0c946ccc86dc251855c2cc19de83d11aba1d2c465db713725c2014e48865778b762dcbefd40de78f624436c6a3d316594dbfb3b05af97cb1d19229b3cc29c9cc6df414ab963bf1d6fb4e50c82dbb1add6d091d5930de580a988e3268cc5716d86c90dc12bc
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 281
+msg = 0000000000000000000000000000000000000000
+padding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3
+result = acceptable
+sig = 5259fe9566e1bd81952a805384b1657374f33550ee0895b57b7a0869a831270d3b3b2db8e295a4eb98d8eb036183b3d228ad22b8e493c7eb0f9ab00eeab2e086f10f8018a8daaff4858ae745a4d70881a166963c64403216422e18974aa456d8229ef2e43002e0390166630c7fabd14efaa974a9521a72a69e0b446971db077ce80f6dd95cf797b6ed276873bbf6b1ba6a79df8c917c2a3fbbc0e5347b0bb99eec6ad0b6bdb7bc9d3e0a7f6b7b623f2aa9dba1e940676ec5629d39778286f261
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 282
+msg = 54657374
+padding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31
+result = acceptable
+sig = 288226f169838f352ffe409368cf03d840e0c0ac5e2c8d24471a924bab05ccbef26f202aabed9fbdaa33ae4a95de90e4196d92a72926971230f90a08fa68e51b326c9b5dde4b7bfe76766b0362695315846c2270a67e7c3f623367c87ce13670c8c778ba379b7de015a1b3fddce8d54825ddd22a8f88d89a43a0c5be784c1c1a1b920aa0dd31102a23d50e3874c411051f724a9b6181299d63db58dec0dbe667f7455f97f5abddc87cdd9d85e7e8139fa5e4ebd167aa8af8439934f34eb7f1e5
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 283
+msg = 313233343030
+padding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc
+result = acceptable
+sig = 15eec15039b374bab3d0eafff08146e4ace24e67a2dc14dc6cd19826cff0ffef52f62210d5d1299ee482c6d39be0fc4544b2911af75a8c5fc1b57b658febdf094d4f648f82ac88717c14204e3a570b2c796ac3a2e3cab052c3ca8f5d39c5e5a4ce883b5aeb6a9e6f0b72d6ef7b8caaf75c4914df6a8a0e7ba6180ac639296d9e29f21b7b6ddc09ebd9559ce95d3fa27d7325a2c3e8c4dbe52f18036a9261a2f35c48e34bb5a137fd92549746b0095008e63d351acc66033f3c9b6623d2db976d
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 284
+msg = 4d657373616765
+padding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e
+result = acceptable
+sig = 17f4a3294054ba76deb171fa60d4d224604082432b5119253bb28766aeccfdeee20fcd450fb2b1c76496d28f871b7d3b3b768a81ccb5313ffc37a25760c30d282c309fc929108ae743507edca29b594360c924c8f00f472bdb15fe207fc76c83d4160ec3ef502349f4baff23cf2c954029db4c68eac992447dc63abb3126c1b82af57472aa205c40dbd445f008e01dcb3ddf770fc0d778c3f4913a9c4615dc6291e29e0debbc3b02a82f0a52ed59f0ea19cced519cf037b4d6159cab53c23c67
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 285
+msg = 61
+padding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
+result = acceptable
+sig = 505ffc20f64d17502d9697458c58153b34bcf607a01dfa4fc77c89df2ec41e63f9b396056b76140c46b2b47d6535fea8dca0ba19395df2f7e7f2ba53d05c9cb4eb2e04d2a123747f15899c65cee85e794626e35c0f1dbd3e592904c0f0324e417d122a0adf401a0a5d5e7516d263fc8f6909c7ea7c984a4e3f1c9535e6a6e66d8d35689ced12049b4ded2cc93a5e6148773dffdfd1734ab55822a6e38a654a7bb82fecf83d5816228962e17bb8bf6f3108f0c89bc4430d67c38d648d7a17a29b
+# The key for this test vector has a modulus of size < 2048.
+
+# tcId = 286
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0
+result = acceptable
+sig = 75627812c1b05dea5a309394dd74d9fad11a6776cbe6d8ad0936b343bdbd0b6a770ed1075676bf55cabaded9c6f74913e97f512dbda5b9ab0578b1f1dcfde313fd88c4c876252f4334c2d4752abb22c484e76237f59878b42d4d75843c93761ab3532295b6a26dec558fa6a65321d0f6f3fc88c8c21ffb8b0739de2459f1a3fe1fb9b71a92de934d86a8efdd0447885cfee91ed8b559df65d5b57276b5ae2068ec30f3dfe48371ea59fe487419c9fb3c4b58449c46553b497a2ddf7b30aa7a78
+# The key for this test vector has a modulus of size < 2048.
+
+[e = 10001]
+[keyAsn = 3082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]
+[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f50203010001]
+[keysize = 2048]
+[n = 0c32cd0e1441fde8a2896ca3a133735be2d1010777cfc739afc77b6daa66f367d4876dccb3021fc22c25450a68d6cfb1191d485cbfba5ec45b49286d7cae2bdae553f47e10b94f867abcc6d0affc733bacc725e5ab4de1aba19a39d748b4c1355d5a6a710a52bd04c0c24e7bc3bdab8f3ce3ae86ecb31c4b45e10b40ddb5fdd40cb2411bcf5b1d392e1eef959cff2709a6e02b20ff3b4343641a6b78599586edc9b673d9f3f5e9d339ceebf96a1a31655876c39fcb00b1c3e571908c9b744765047abb5c23ecc42e551e13755e38cc9a13e1e02bcd5dcec9c301fab75be3e1a8ee9c42981607aba7855f4bbe76c8c160e80468b54bdf9f438b177c33dee30b0f5]
+[sha = SHA-224]
+
+# tcId = 287
+msg = 
+padding = 302d300d06096086480165030402040500041cd14a028c2a3a2bc9476102bb288234c415a2b01f828ea62ac5b3e42f
+result = valid
+sig = 19c576f191c273306ec6ee9e26c673bdcf3f821adaf13a0759df7787511ddb096e964f5dc199ccc5cf131f855065d6ff0a6c720651477d9026bed82d201f6e84a23b37725fd24f5b75aedc2afa24524e7222c0dd7c6d2742430bab3ec46d12204a94a533e2a9147723d087d619e07873a4261c420226ec1869abd70117c787d4b1827fe98779287451086354292bbb90617ceb391122efe70887710c5cb4549d163d37e79b33c1b336826cb53b648689e6da54241d20df822cf7770d7beaef4bb00068252786580a88cd00e93f5ef42b69efa7c364b98749fe734ee7bd13d0aca585d84e4fe4b29478697170280a5921278997ef9856f7372b6995d7eb43ce0c
+
+# tcId = 288
+msg = 0000000000000000000000000000000000000000
+padding = 302d300d06096086480165030402040500041cbd4f57a4cfb1649cca33372f5c5ad32b993ff73aaf4fb75d52798480
+result = valid
+sig = ab2e758c8de97282a7ede3401680ead187cc08658be0041f108851149a9b9d2588d5ca544039533eebd0305c07f394504d91a578f5764267149d4ef70b88a2a3f8cf0b1061d06882af53a88bef195aac87294dc833d80f42d942f3a59bb242b187e23bb89a068bb4c8a215247d04aec57f81f75c14e711b5878b04863e715d0f359ad13f008b79342b7a4ca095fd021f639e8f48860c1eafe6fa19162c2632a2d3a05330d149f3ea6c9aed9f89fa3f7bcb2cf2a3d1af0484178710c21c046a812f3b8d68027173ff5aeb1ad19ea6639e2d886eabf8149a8fb491d2c36ccfc4da2a9785a992046f24a93d2dd7765a171cd8ecb68b94ee70b0e5bf791967267251
+
+# tcId = 289
+msg = 54657374
+padding = 302d300d06096086480165030402040500041c3606346815fd4d491a92649905a40da025d8cf15f095136b19f37923
+result = valid
+sig = 61c702c72b0177ac857e52707c1a40b84a1859bf1d7d1cdbda643f924e8bab7c3d3eb2065aff837e92f93836fd54ea52e085e19cb0cb59fa58afad48480c2dac579315340883886e78456ce750fc55b6c188b716bda7957ff547222f0cc1462344de4bf078ec19f1ba5901a0e5f40d93dbae4aac407834b272a2be82c8da085a3e1e9e0a57d3f43d26462566f0aeade04ee8981fec8d7e34c916fe78c0c5c43781bab2fecab654fa55ac99182545d0ddf070d41f67efe0737d8ecab3411720c84862606c8e4b53e60faa1c9a98386e92b03d676b53e3fdbca3bdf0187ddc50086cf82ca6052be55fbb7f3bdb6c6c0432defa5634797c23b494c3880846169b67
+
+# tcId = 290
+msg = 313233343030
+padding = 302d300d06096086480165030402040500041c753bb40078934081d7bd113ec49b19ef09d1ba33498690516d4d122c
+result = valid
+sig = 965f82f0649a338ef14387a7f3335b9e2d5d3b4009eecfd26c0110344a30117bde6bad668cf083beb28242460fbb96adf9754b9a4d4505f6412e677bf3349868fd5b5268786308a5293f2cb2f7ffda76104351f10381e504e72d27435d5bea0517d20ebec0afa531e520e5fe484475a330a40ba1109c204fabc44ec099878a5e31342a650047c299a5f2322f057b9586cd9eebeed1f3d2d94aac24f9d7b2f05c6f28bc49cb2b00f5e56870fa099cfb2c3e276381adf5a030ab6ffd9cb96fe309061d44c2ca5ccdd76a69458be561e3f0ef603ebe9ecd533333584236970dc7414124ace98357c496369bf94123bf0d4e57b03aee567c2f83a9e6378e62a42fed
+
+# tcId = 291
+msg = 4d657373616765
+padding = 302d300d06096086480165030402040500041c3dc6a3fd912b08bf15170296c4f1694f512ffa1dc9bddb8b9e1c8d38
+result = valid
+sig = 105c68d221aa579ab6206d23be01d0c91f98fb67ed8d2044b6278916223758aa346bd6d5c7282d23a2bf702e0facdfb884e0b389202a5073a715fa80158e31d1e3588af30d2fd8b61233499ab7952f0761c84912b700fec807937d00a021eaa84d96f59760cc7733236138cb4ff1fb04c7d4621331b5c729f9694555b6f9c324e74db4a7a8b72f2853dfd0b9fe63759b3468bc66017bd6c1aada2070dc8643b5e581f12cad170d9fe754c65dfd0a5925cfe846a8413d729103e9d7e8825affc20f477d5bd3860947c2665ca4170fc44f2670bc33b51d42e5df78134919bf4660cfbc092c1cdcc09c8fda1ec9383512abe253cd1a470271832e0c7de5a6d9a7c2
+
+# tcId = 292
+msg = 61
+padding = 302d300d06096086480165030402040500041cabd37534c7d9a2efb9465de931cd7055ffdb8879563ae98078d6d6d5
+result = valid
+sig = 3662fc9bc91b00d457bce2fbc667dbb31ce7fa451acdbad95b4b418782b8af67d2fbaf1424be2c99e95e2637d8d39e751d757f89711ae165fe5bf142fd88b284df696e948ee714e3f2062c5d01d04bb6c0387aa5ff1511552dd066bda861e1c5cbfe73dd8c6bc3039b729c700c8f297f48ba2a36aecbb626b5c9f9b3c04102f55ee65ef5477d8d1d14d9b7b048cdac54d7239177e702d0629d3617de2a9fa556a6d4ec37fe38a46b768e39f1d8a380484ffe0cef59abb7e20ffdb7c11b14a42ee3cedda99ef9f71eae7cf760fd81172e03a3f2a9f7e42a813db3b089c11528350e93b131641b8d023d47447f58aeb9f3f38760df8a9b1ad4b8d43ba0c9018e02
+
+# tcId = 293
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 302d300d06096086480165030402040500041c15a322a18b35c3afd3937b5ac133fbd8d883d300a29ed9d9e2b3d601
+result = valid
+sig = 8392c4d888e7c63ae2a3d53d560ccbc226dbb1d9f69100fd86a19ef30a83981371169deb4ef87aafcfb4186c5ebf8d83764470acc8c9cbe36a9b15037e25b1dfc63e929b0bb3891be2d1804b8c6a0bf65891943e4c0fd21e7df55c134dde69682244d22510dac2b304c10a2e31adc134ab27ed186568fa9091df16f1c9f4e7044ddef6675269de710774ed124b52fbac9bed285b4be5ef9f2fd50e1d95383e145553762fb87a1da173b8b89a7eb9e947d08b5303ef0992bf4e3783c30253a43b373d90a75bd52fc53ee4fb86bfa1bad035a8177f8c0a9f53a6214ec950c2a07cea7f908c55c24dc31799867f819af18fa30f304ea001ce9cc87eb703ab578f5b
+
+[e = 10001]
+[keyAsn = 3082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]
+[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d50203010001]
+[keysize = 2048]
+[n = 0a2b451a07d0aa5f96e455671513550514a8a5b462ebef717094fa1fee82224e637f9746d3f7cafd31878d80325b6ef5a1700f65903b469429e89d6eac8845097b5ab393189db92512ed8a7711a1253facd20f79c15e8247f3d3e42e46e48c98e254a2fe9765313a03eff8f17e1a029397a1fa26a8dce26f490ed81299615d9814c22da610428e09c7d9658594266f5c021d0fceca08d945a12be82de4d1ece6b4c03145b5d3495d4ed5411eb878daf05fd7afc3e09ada0f1126422f590975a1969816f48698bcbba1b4d9cae79d460d8f9f85e7975005d9bc22c4e5ac0f7c1a45d12569a62807d3b9a02e5a530e773066f453d1f5b4c2e9cf7820283f742b9d5]
+[sha = SHA-256]
+
+# tcId = 294
+msg = 
+padding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+result = valid
+sig = 840f5dac53106dd1f9c57219224cf51289290c42f20466875ba8e830ac5690e541536fcc8ab03b731f82bf66d83f194e7e180b3963ec7a2f3f7904a7ce49aed47da4d4b79421eaf937d301b3e696169297b797c32c076a12be4de0b58e003c5123051a84a10c62f8dac2f42a8640008eb3c7cccd6760ff5b51b689763922582845f048fb8150e5a7a6ca2eccc7bdc85349ad5b26c52137a79fa3fe5c29ab5cd7615013219c1941b6708e9c3c23feff5febaf0c8ebca5750b54e3e6e99a3e876b396f27860b7f3ec4e9191703c6332d944f6f69751167680c79c4f6b57f1cc8755d24b6ec158ccdbacdb23107a33cb6b332516c13274d1f9dccc21dced869e486
+
+# tcId = 295
+msg = 0000000000000000000000000000000000000000
+padding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90
+result = valid
+sig = 8a1b220cb2ab415dc760eb7f5bb10335a3cca269d7dbbf7d0962ba79f9cf7b43a5fc09c99a1584f07403473d6c189a836897a5b6f8ea9fa22d601e6ba5f7411fe27c638b81b1a22363583a80fce8c7df3e40fb51bd0e60d0a6653f79f3bcb7ec3e9dc14cfb5b31ab1735bca692d50ac03f979dda92747c6430f8045efa3513ba6e0ce3e9e35570e1c30c8ebe589b44192e1344ca83dfa576fc6fdc7bf1cd7cee875b001c8c02ce8d602769e4bd9d241c4857182a0089a8b67644e73eef105c550efa47a40874289395ac0c4e02fd4ba98e130a4c2d1b95521c6af4a002ac3bdc6e52122ae4c08cc3da1c896e059acbddec574ac0432f6103dd97273d8803c102
+
+# tcId = 296
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = valid
+sig = 264491e844c119f14e425c03282139a558dcdaeb82a4628173cd407fd319f9076eaebc0dd87a1c22e4d17839096886d58a9d5b7f7aeb63efec56c45ac7bead4203b6886e1faa90e028ec0ae094d46bf3f97efdd19045cfbc25a1abda2432639f9876405c0d68f8edbf047c12a454f7681d5d5a2b54bd3723d193dbad4338baad753264006e2d08931c4b8bb79aa1c9cad10eb6605f87c5831f6e2b08e002f9c6f21141f5841d92727dd3e1d99c36bc560da3c9067df99fcaf818941f72588be33032bad22caf6704223bb114d575b6d02d9d222b580005d930e8f40cce9f672eebb634a20177d84351627964b83f2053d736a84ab1a005f63bd5ba943de6205c
+
+# tcId = 297
+msg = 313233343030
+padding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023
+result = valid
+sig = 1758eb94588e6fc4f50c1be1afcaa41027869f304cad513b1fb12c2f446d63cdc05c4830a7e3e630da7b2da4f7867cc173bf6420f9732277282596de41ded32e21d0cc31441174da8765f57419c7764ea758f55bc17646eb100c435d1ac0eed6fc7ba6de5f832094ee2f479979765e05ac9976788db3c241a9e32a0da864f0019a87646ba623d63f4411af5dee1be9ec488c7e3e1b231479de70b9ac5f78a17b1f4120aece45f26c07e7bb345fdfeb05e14bcaacc614672a465fc523624cb19f66f9c6c3f642b832ca44cb25176d679f0e05606c3fed022cac24c2bf960a406d48818e3eb7ed53b0446032469047dfed95fc18088c92d91d93722c47f88163a8
+
+# tcId = 298
+msg = 4d657373616765
+padding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91
+result = valid
+sig = 513a5abde16b5e0ecb8659d3ca0845800adf75cfc4437d42fa34e7aafbbe35fc5984d3560cba938f9a622e932bb6162b7fbb6cd8c1cf8815f28c495995ac18cdbe8fabfdce29c17aa021df192ac02d080d7c5eda6bd4c99154178a9d5e1cf3ff4177106315f4e6d74c991b601069acd60b55b3bb4dbf6316c35096a487d6756181d3394944f1c742a2f4d608ce4f6abbfb72347ad7d342ae15dd6d1049fbd0ff55f4d7c43ab805f81ff1fbe9256b5c78c2de6beb787f4b6d66d290a3d4c4857368aea5f7ebaa1296020c8f9e3670441a08038bb810e853a654e44316a4e52428745123ce2714020d00e55a9eb82f7fb41c73d852a82b003670246c6ca2045fc8
+
+# tcId = 299
+msg = 61
+padding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
+result = valid
+sig = 38c042a00d6f27742a46f1f963a7b2e04f0eac637849631a491b8e4e58fc721c6ce620d5e705dc8e73409c3909c1c68b6bdb2b30f882cf2797e65030b38c4e7daf6fef9d1f115c890086cf54ca3e7c2b21dcbfd1250ed1d925810970f17dbf482d1784f296adee9ace6979075c1e12f5580cfb322e8737db9d127d38e1b99ed87ec49448a18a6fee650d3c27e4a2a86a3d6e3ce4fe64120be60872fa07a3f78a112715c167fb6c900698ba1afd824087a4cf733335c4a6d5120e3b29bc42f3b3d5db79973e4e321e0910a288d18cdba172d060283c4f4c6656e9175a18b756b7d06251e9060bbfcab04978853eec6032850a0e757bc0c61ad38aa4eb6bb6d907
+
+# tcId = 300
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a
+result = valid
+sig = 2ae8d95b19cbd64d0e343ff413fffb85d8e6713c06ac8a1ceba7f3924fa740f8d2b3e120fd71f22711e795cd6468c5e263b1a5ba6ac6b8fa9e23d2d6e7243f510592a61d134e68b8ead00612dbf38c5b7302abc3bf33f23e6d4816a6e3ddcea6482566e84f57464f7d56de4cef0b2256ef21874dda4c131a47292ff8ef853f93804483c8e6373d39ca3a22552e75427b812b861de6a310ff4c366f6f6604116efd9770170aa423554c4ebbd2b5c0698950e66bb5b7c5c346285d9f5c35146255736b6e818e8e77983c93b21e7f60b04a7a525598e7fd8049b181000bffc7f3753a504370f6bb70617ac8e914deb05a198a5758a459c9fcd2fce1aede48e8a852
+
+[e = 10001]
+[keyAsn = 3082010a0282010100bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f62750203010001]
+[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f62750203010001]
+[keysize = 2048]
+[n = 0bfb1873c3e85a383b14c36fc0a630c7c4ed51a3b7c8fe752fdee259cca52634af4b9276395e58381bc018bd6ce37204df140c557fbc52852bdfbbda31596c63574367ee273acb06164210a6a3193d3da6a720430b89e8c829c4bcd08145282fb295a84809537f26a8e126612c57a605ca2b33ed0674aad19914e0cab73daca6e018735a33661b3994726e5158e0390fdbfe2ad1fa27216e8c2a4b77857a95f99e2d35326438ba9fa0ac119fa930a817273299f6e49eb65ba4f521e1d50c440542c7fe3f7487618ffc4693010e0049344d465fa57dcf999ab6b42e7011571a9bf6d7ac3c84344da872e9ce3a8ab5682ce206bba31299033161168700eed4f6275]
+[sha = SHA-384]
+
+# tcId = 301
+msg = 
+padding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
+result = valid
+sig = 446e7cb43ba8c5fc5835f35f764e183fd54cf26e406149343f1346aa2acd215a6e1f26b9af53fe165c81429f6dd69e422ef7f0930c750ce0a79d1bc8491c0df320d81cc57606833d02f1c82e3c55d730e982e29e3c59fdad24d3910d8ff75df99cb3a67b8bdad00f7dea293f98c90e812ec182132b257c65a328ccc3fd203eb1b09181f50c6b4a8767071bcbf9c08c8d7fca99f80476975cd6e6509014cf4215475435fb520bb7374886c5664577092ee47a6460396fdcc8c7450c3b87ff9a951a8cd6e7209d762350157f7a7f8d6858bae4aaf13e38d2d06a7b10dbf96ea2e444ea66c9d1c91def798abe927715ffcce2d4d18f34b23ed6bcfc2aa79327bb80
+
+# tcId = 302
+msg = 0000000000000000000000000000000000000000
+padding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63
+result = valid
+sig = 51c1c99864e703b875e3e1629a7227d1d777e13d12968e28b358f5fc910cac6c836183aaad8baace0822a9468539d476a8a1a8cb2fad7486d400b11794ae38ec288f1e6e0c76e3616601634ce4286230625dd4c970ae97924e5a2982ec6be8cb0bdb6dc62523999cdcb8408e1aea3048ebe020c8c86db2f9b424ba1b1ff7afebc775b76725dab5a521e06d7ca876ffce9c6ac210459d19b65f9a7ae96a6febb352b500d2e2723dde3ca2c1a073cdfd99945fb521e8ebeb1e8da1c382c3f4eb73ccd5e6af07ad4ba647bbaf6c9435040de3924dc25289eb87419e367565ba105ed7747468acdfb3654fd3a2da7fa33f26347f0efce04ec91968c03bb6153a333b
+
+# tcId = 303
+msg = 54657374
+padding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3
+result = valid
+sig = 623c0920639c8cdbc0f0190a9488ac6996d36d4fa4c61019ac5347da64862b3bebfdb112365d0473d32736dffad9be3a24acb57d1ec2ef7a41fd8e972a70beca630867ed6052b76c467c86c5851db0ed0b898fbe33cd79a000ca529eaf07254d979140d0a1aa43f1214fe13876483e80e96f1d17004c89d598d359e11764e0c4b0491e9c52345aebaeefe484f9ba0c9b5ea824e267f1de9f75b882c0b89888718a5dbcaa0966ccd0f2e7243e794e33fdfbe0569c0e975eef3ba50152db5292d36ffd6f85bfedb6abf3c65e6f789a504dfdaf003facd1f16c66c06a79549552109d55c1bdcbf0abbabf7cf2b6a8bbf0065fafe41e029f783d69ed61360cbffb01
+
+# tcId = 304
+msg = 313233343030
+padding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace
+result = valid
+sig = 22a290e37fa590f3e164cbd7c211faff31e43ca0abe1f5d6f6b33bf16fad3925b0f9c41c9d847d9fc4cc9ec1816bd133f916f8650c2d77f482a753e7b8e7e2693bc345895de467f17690f8330d2212928d9090d34802020bf73999197f70896afa9ada4f353d438b6a0c809f74c28e65d2431f3d0c50e1d536fd3efcb6eb8327f18f0ce3964eb39100531f73a51b10a42d5bde73969630727fd74fcdaeb2a49687e344fedb0d54d1ddc7070aac0b08f4594b0f9e7e4c3d18b9ec24e20e957eaf861753ec6a2de28de823e2f4c7ee3d6d42a5f5480b4e32dae97f802907248bfb29dac52f24ab1009c3d0ae13c4ad6bed1e575aa86ac9d69ddcfc771df7b890ff
+
+# tcId = 305
+msg = 4d657373616765
+padding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329
+result = valid
+sig = 0c9ec254a5e405d6b33be22985471c75b6b66158ec73d1dec8bc54a25d1036baf23e902a9ca025732d6cf581a7eb0cb59aa7fcb27c99c5ce5146a59627e5453faca300a0a5f95d9d55782bec4db4e4b2acbcad85d222403996f2f05552b8abffe11a1b517deb4c25e39ca38cc53252c987bbb992643c4c280ffc71fc87cf776d94adf3d2cba279df2c2021f68bbd4a87ea6045068cdae95a773c1e7f1066d37e67b91ac7c5d7850a25589b8bc814eefb30547f847fe9135aca321c56291aace07ccdec8a5848c7a80c419aa35ede36f50d6f1c593453561a46c4d767a7cbfafaf1d448c5ac118e121c0d06045cabf171fdc43192bb7b30449467ba95c671d3fe
+
+# tcId = 306
+msg = 61
+padding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31
+result = valid
+sig = ae7836c86c23e8b41ec2cd750838e78c5de9d8d54e74e3985c88a7380446d4fbd6366925ce5dcd213f46bf2f5f6de2cea4df015f2cd8c2c3d71b7adc743d1d045c88598c0b1ddf1bd734c2fbcfb446c9ead91ec468ffc37fba4f948fa950ce6f70455907f34d76f6a68e7b4d7bf2f805384fe2c0128eb3418f804a87d96c2968d69d3487e2d827cf1da978b0c723b312ab65bee05e01245ecba28ed45f46cb249641be080a3b35a3f1925997f52e774a3a509a384dc7f66f28d6930f8ef33704da53f582305b61ba234d11148aba024c1dea63fd74b6f34e4375a130975f7bd257df5184573c426910d3930a902e1d05975ec45042241f3322c34f4a697c429a
+
+# tcId = 307
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8
+result = valid
+sig = 8de7393e352364d42d6c45ba249cf557d61b6283558384000b7552267acfa6ec3607d550d37b63850f4e734adf90608b76ed05a74e97fa4e8f42f79a14dae885e1b02d83a2707241518295e5844cf6e7dcd418bb935aef3bda8309eaca38afecf80e12fcd256b3ba724f7012729c1cc2b5ad36135877b4082b718ebd10212f19e45f17d05d416267a67759392b58693d093cdb2747c4c06f2a102e164e9498f83111ca97250a89dfb9eada0095062b90f2c44442220e4ae04738d7a76394e3ee859497224c33b92866941d171355017bc5ccebd61ed9234963fb63acb6ffb6571b1b20ff806a7050ecb14d48eb745c9acdc95d102f62455225db05eca49d4ec8
+
+[e = 10001]
+[keyAsn = 3082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]
+[keyDer = 30820122300d06092a864886f70d01010105000382010f003082010a0282010100c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba7490203010001]
+[keysize = 2048]
+[n = 0c2c4a860236d3c9096a076d6ba5107e0f7bd81e1ba916f7375724bd2b0b0b63956813715a3457ab0458b71fb35a45b27f9ef7ac3e579dea45dfbfd07819ed6b7021aa5336c58442aadd96ca9ee9d32473e9d9278562b4d10258ade6a98fb1c7cfdc3b3716ef5dec58cf73b359f389599b4b5865a9863519eb001c324387da755450db341309360e3807c0565b8e2c44fbd5e6e8d04d006d7ee768b8e8436082a90fa0e837f32f46087ab4a0d9be28aa7da1794ceb0172a7f50ed20f6df641efbcbfd2aac89775c761a7310093c671c977fa18b0d6e01fb25f7a432b42c65359784c689205719c1cf6e3a65dae2da434c326dde81bb6ffffbdbf6de5c16bba749]
+[sha = SHA-512]
+
+# tcId = 308
+msg = 
+padding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+result = valid
+sig = b03dd72dc84b305ea811267a489aba10a1dc54b59f92e58546a2f0b6883f543512d621951352ef12abafe4bd6e10c2e5b0eabbbbf1d081b66e535fc9b8ad379040c3c71ec8f2b4f5d319f5d2a0240a767ddb4de1fbc878b2c5e8e1e260217bbd70971789fedb8c677fc8193f67e4637239607c7b9d3511868ccc0df372374abc685c9b4b74b2c5f11758f809b19bb3b5c464db870fea61ddfa5e18be2c4106f3e165fe85a7f8241db2806d0fc3c45d8a7f1eb4ca411a46ac411b81c04fd8c4ced5eff497da6bcb8e2fbe1f95cf4c3e761fc3037c82276f7ebfb7e6cc8534cb4fd34192074f580c6e31008df4f1404ae8dbcb111503d4bdfe6e7107a1ab5cd8c6
+
+# tcId = 309
+msg = 0000000000000000000000000000000000000000
+padding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3
+result = valid
+sig = 4de4dbf82607b36a5c6778ae6351d83b7ef5b4af64c3788889eb10ef1838822847ceb531914392360b92dee055796f73e3cdb8b3d50910a537dd2244fd7f922780356ea3f01e99e5bebcb1b6ef398d2399bd02472a871417daec3bbe6f89f45f1af0bf819a446dcbbb75c56958d34ba27c8120cee6ff97242921ccf58de9216995fa0c49cb3e6d60e46411b2df3b01b78fa81ca145ce8be594ee009031eda672eb097ba5ed6687a703b154ef616757f94237f4275f54738cb59d36b20a9c84ae133bd715747952f0222573a91faf740e4b7eb4e88abaa91004e72a1709b401616b2edb2784e491f671fcf5ebe326b669facaa5d8a0f6f8469ea995c4db772f06
+
+# tcId = 310
+msg = 54657374
+padding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31
+result = valid
+sig = a0f46582cde6be215351bb7b29e8ff24398816fad9e7e2ed6ccf1d0b5296bad827316c18b1565253291fa1c0baea9a735357cff8920e1024ae5707dd2f0cfcc9e6cc81402217d9b4f51e10def2bc2f4924e7d22c022fc87d6c3e772f4952050d027b003ab4267ff227a15cc7c884cdb46bbc7eb38852d0e6d8a12f485ccb0312157097687debb6feaf2b6dac998224c6047c1d5727195bb8ce05a59669034e88de0e4815af00c65def5b9748d017455056cc1ac6d3a77e31fcea4e726eda6be7bd33e509696e54d1d1858a1165fa9ece5d62e493c1a33ab3c94d294838a19f367fb799d6b69161bd9532a6ef317deb919923d78e33309f14a97b68023d600b4d
+
+# tcId = 311
+msg = 313233343030
+padding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc
+result = valid
+sig = 9922f7bd01d7ba6b2de255b91209631af92e5537a4554b3b7a50e39f2fe9b6085a7e418084213d445794ebc19be43782d9f80df1daa7498a1c67d935ec00dac6b7a194033a14431320acd1d7f3d4c2b7b5b1649dd93931c49f538c94e34f44fdcb8dac9d31539f87e6720dc887c6605284a6a0408e244325e35917b1e1ccdf5959ca87091827c8157bdaa31239e2103ca8a112cc76a8e7e90f352fb8cb3a3381e52cedf4d4188bf881054b80387605e7041ab149cccea1ac2bb6560b45000601c33ebc31cebdd499c0b8fdafa7c1691d6dcc48edc98519d55d126a757b2a753eda4f2bf35cb191face371c9c34b2ab57242053b9ecddc91e4b621e650432adc8
+
+# tcId = 312
+msg = 4d657373616765
+padding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e
+result = valid
+sig = 99996fc01a53bca03382b96e9ad83a3139bfacc5d37b180a099fb5d515a7b78a5c21a339ae6bd2bee8e0f503ba2bf892c1885ad5f4940a99d8d49df6f4623da16c337a011fb895c006100286aed82977be3fda054d1e935a872939b704750c3e2871c33768946e65a737184efa50060c6898247a6472854884fdbfc2533c936fe9c922d881bd5f093851b46693cf633e25f27efd6db65da3ad96f2e8154ac39f2a9859f15c919a92c8cd22285c1f9e87444e61769f6833bd0d56106f87825e472e59caaca1fedd8d4065fad9dbbc252a84c196bf5d6c40bd8660600bc6c825bc7470aaf4ad118c6c139a5c6fefd5223ef490d4afa6c06269ea8c0054aa1f368d
+
+# tcId = 313
+msg = 61
+padding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
+result = valid
+sig = 7930ceed4b191365ccac54cc8a5bd38498c0d0c1fa5a862b6c0744edf9bf1969ec4f3c7c42aec737438acc797b8301aa8b30be2a4a4c1323be0427411dc8be84881036e9062a55fa2334176049305a44b97f90ed0b3becf56f8c9f164ef0bb45729f9fab1d459f690c58f07ef5ef89f21b15da14a235f3012e6f83a7f226e118d3b7fdc9356c39667e1cea5c667b54ec5ca6a0d58ad933484f447c670e5bd3647361c81831dc710360a90692eb7e4a57ad225b2516d9c3bcc77323a9354d1b92d0b3f5ade911f5faac4e4bdbead32f3349840ee66f4010789a84f0934182c2b0cb7d6e72e2b2a6839d03d7c9f681bb7148449161ed50b4466d60002cdb7492fa
+
+# tcId = 314
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0
+result = valid
+sig = 16b5ecefcd0167682fbb3601a016bfa8bce9dd5855bf305ff00b45d97e50fecd27716997c37ebf8efd8b269558385b3ecaf2b6e38313508a7a14546107b75afb450b1a0e39cd0760151b666451bab43d7fdbd93771e9d98152ac889bf1abbe1c3f62049c4735602ebd6a90a0361dfa08417ba03c55fc6b7bfabb136851ab01eacf528abb1129bef47f2b04e2aa24c0341720f728bc9fe12cfa5d4248976aaf7035d19c18302fb9ae2443286a71198b500034d48113b705c83e64561762c583dc013cc099c7e5bfecbfaa7b971c8f1a4d3868fe0a4ad518372ca68c65bdefbb726b1fd92ad92ab739d2bd1af97724dc076ba011a9f32db3979ca4cf94c5370b77
+
+[e = 10001]
+[keyAsn = 3082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]
+[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b12030203010001]
+[keysize = 3072]
+[n = 0c6fe23792566023c265287c5ac6f71541c0994d11d059ee6403986efa21c24b51bd91d8862f9df79a4e328e3e27c83df260b25a9b43420affc44b51e8d7525b6f29c372a405104732007527a62ed82fac73f4892a80e09682a41a58cd347017f3be7d801334f92d9321aafd53b51bffabfc752cfccae0b1ee03bdaff9e428cc1c117f1ac96b4fe23f8c23e6381186a66fd59289339ae55c4bcdadbff84abdaa532240d4e1d28b2d0481dadd3b246557ca8fe18092817730b39e6ee378ffcc85b19ffdc916a9b991a6b66d4a9c7bab5f5e7a3722101142e7a4108c15d573b15289e07e46eaea07b42c2abcba330e99554b4656165bb4c0db2b6393a07eca575c51a93c4e15bdb0f747909447e3efe34c67ca8954b530e56a20a1b6d84d45ed1bcd3aa58ec06f184ee5857aaa819e1cca9a26f4e28d6b977d33916db9896d252d1afa762e287cb0d384cc75bfe53f4e922d02dd0a481c042e2d306b4b3c189371e575b25e0005a164cf69dd0976e4d5be476806ea6be6084e71ab4f5ac5c1b1203]
+[sha = SHA-256]
+
+# tcId = 315
+msg = 
+padding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+result = valid
+sig = 157ffb942b1363b5989ec4beb93fb0187ef016de4ce055620825d13c3dafd4fff621c71920e884ba28c5e98b328baac29ad4bfc4d2cae2f0ecb9d1b6c9fbdfc385aa565aaf6c5b3150e085e0316e21d7d440a873074e5d2700d961114ed420478647a4769d832691f7a004d934a89dc249c9343341902d5d0c3d1a623001265634216beacd5f756821f21c3b58111790657690918a2eafa9e85ab1ee44edd3d8bb89e892acf411ba9eaaeef88eca37dffbda72751c117364fd1b38c840d7b42318fcd011a4449aeffc2de32836d3a4f704d4c8ad4e078315d0d1758f098f2ea749ccce62aac592ac4041b5e733ba0431b88332a39a2af7f68f9bb1f469a793b280b964f285ce5cd1ff3adcd7dbd464a7c9414ed45791073f08415be2dd9f01dc2fec8c3a26fe97d9778e2b2fccf71a1ea5e9ce017d2d46778d7e37bb832ebd5825b3257a7852db5cb6c132bcf9ba3522a670b0e866585444ed3601fd32a922818ef6611626eee3ea99cfcfeeaa4c370567cc65e0479bd35e091b772d7445cade
+
+# tcId = 316
+msg = 0000000000000000000000000000000000000000
+padding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90
+result = valid
+sig = 631cb4bed6b79dcd3827879f6d64de3ae17e0fdb022be013e733bbfe0031cf204f0508ab87a2e2bbdfaa16cf24acc96b3fd2e72bc4a224428e515d6f1e0ea6927eba6ed7282a959e5df5e52eb3be9a39cfe139ea2fa45c21eb81b3197eff655b918f7c5fff6abab33945557a922063f9600a372ae7701db686f7e1fe4a6e804a0f624331fbb59536733bed3710dcacd22ec74b1a1386d045372853cac91130703ecafad7f6f42ec1aade5cb865339743c83e882f248b0db0855f487a6d3b55442f67773611a11813ff46a58c762b1bd70b5e870c3095507f23758e90b3c84526f47a825f0ae787acfd3ed349ca6786a2e84ec500c6042a9027a994c328c7a6868e6a81481b294383edda62773fd224af46e782ea3f00468515f6100486d94e818afca1bdb81851e62b3bf4f9236f061afafb3e399b93e6f6a295ae200c9bba5ff5aabcac8361c84f2e69aff8a8a21720b900d52ea4bddcfbaba3a231bb9b0dd48f0a4ef1cdd255b3524ca0633d04907ab672314c5e3173108313ff4a97df3772
+
+# tcId = 317
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = valid
+sig = 5819a699691c01a7f35f0bb1831a1cb65631ef693f7c9ef89f1e8460ee2ec312f6fd38fe382b3bf4db8f5d208146c32c5ed2d3b13105743767a73529bfddb5753c8cc13148d41db97f69ea1dee0ef1e1de990ff565f633bd3cfd315a7dafc70aa7f27d4f6486a2f1e2711e7919c5c73c518069338c0ac984d75f58b00fb0eee0f7da6c9c84d97955137417df8f20c02b7893b5cd929ba37f6b3278a1bd35748e14086c5f7100abf2edebeab5f767bb83d999a61cc27531bb67e44a92004fba9944b9c5f770bc66671d2efc74e01fbbd2885c5175a1fd72b91937c324b8d99d3592bfb73efb9641b87949266de441b61d180e141de510ae0cdefc2160df918c08c53799f050ca4eeb3a8b6b5ed35b8b59d3acd13a600a8a137eb1b8c1abbf55f3e99cf52d7092d1e3acc08583b04aa25a052668bc982abf060ffb17c1782daf76fbd69e7fc9510c5c6a68bd525719be5b81d0f2a8b961f1aeac7dc13aeeeef9986c7a47b34f8b96167d79f7ec458fef7345c1c31bba599d09b3fe33e738bc7da1
+
+# tcId = 318
+msg = 313233343030
+padding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023
+result = valid
+sig = 636d31d8d5dfe0fc6ab01ef2ccd4602dfea62d386b002c429e7e846e7a98d0cb1d448d25be039d5158887ab46a9dd49c41537a89036a065fc10329df051e5f2e5c1d4436e84790ff6db4d3f31575e5f0fbdfcaee625722c5492fceaa3fb29d0a865200dec06e117b04753ca9450a7ca7f7d1a1176cc38ecab721864413a0d7a22d8fc1595b6cd0032fbf154fbbb31b56d3bf963761ce8ec9fb38bba3419716d0d39e976857e79b1faefd5f5a2ce0ebd94968da1ec3a387804694d90f37b34033c7f70ccfb26beffaafb7bf56c1b8385d489217458e0a68b5d680f9fa45382fd1c227ff3c11e3ec82426ec648a564f0e886e5b12e695dd2fc8465bd9d08731fb140084c79be64d915bcb4ba10f1edb4c37e35231753be2d9f339d37d7b5f22c91584a68a973f9cc469a23d3b5800157dbd72a8405fef4e444ff01f7fd23efa143c1887504e81773743843d8a73209a1deb66c5f305df539bc30e871332e82330e5b66fa6ea253b2b64b4c9781011d20e80ddd8cb83916834eb8fa696b0a4b6bcd
+
+# tcId = 319
+msg = 4d657373616765
+padding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91
+result = valid
+sig = 08e0ae3dc0d16c927c423f12a87313afd1d66fbd5d09f48a4dd1a8b52102bbdd208284cdd692932869803a5c7f041a4492ac2e664bb6dd981c370e0c79ee3f7c5c6dd37018986fc2cc618139fe3eb85c0616f0673403c4afe7cbca49c1eff27bbf6d7e541b285ffff20b80bf61dcebcc4250068e25ef5a8e7c3306e49fcc2a1ee0f500a3ec603b472082f12ce4a6a12a6ac66cd4da8b6efac0796e9dcdc66c095a6282ae9a32ad274efe63f43e725410e6ed4c480828ed876b76b71b1cb8c142d0c7a51dc202af796d7bb55cf544dbde2f564f31994911ec7307015b0da2c51abe265a04a74b9afd0791a68e725cd7d8b473296c5d948157c10bc4682f74d843ce72e9ee8719a7a49d9de2f982c5d4490451eaed62c305eae3d0f9cb3493bff056a0dbca8579b7b41dc8deb1becfd5abb455634569d58c5b5535ff1356ccfaddd14e0f9f7f69a7ae9cb9f4c0c9f661fde349facd21f0021423d3a9ee5031855dd242f27009090ff0c15d1655317383231799b18c01fad231385aa5020990f41e
+
+# tcId = 320
+msg = 61
+padding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
+result = valid
+sig = 9858e2557c6b99fbd84bc7eac3e31283a4efb351ff019343760a1e282368938e29ad902d3eb6cb29b35a036dfbcc7e06d2f1d15548df59ced35326295375bacd7a9d28a01b4e8acfb676d80b6295e19c6b7a259df56456e1df72f6a746e9cd31fed9b79b35d7a30a7aa257e9e8ac60ea886042b9194e7a383d1c9f71c84511faf6c96f7ae0e690112b26bb60cf7bb10f684e4fbe2a3a1b1c0caa9b1bdc79fde23fb758c2ba57880a4de461ecd2bc696689438183e2b9724fa68258f461bb4405425620a4d95c87ddd83e04be381bc743b05d26ede2ceff8a858636baadf56ef1dab54080da0f516307c579833717def053c8906d4f102448ab22693e7f52d5850193a40ccf0d68d1303953771a73924e4bcddd8486e1477d96250bf6b480a5f4b822822183694c52a2edacb331564444f0335d3b17d511ece59889b6d961767a3192d7f081caf7e671addb3757451776d4bd3b03f7b689843dcd59019ae4f292dba54738a88b86cc6ce3b123c61a446f4878b627a7f3585d8ab7bca9b258f10b
+
+# tcId = 321
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a
+result = valid
+sig = 1294490626bdb36a31c93fa7853d93152d920b022f1b473bde3083a99e11aeba8c03218fa07d6c4a5f8b2504d2cb54505c40130fef5a2412f7a5ddfec5e2c8b5058f7cbde7ace0ac01c7ba8a1bd897e8974d991ad2b95c2f03100a34ff408a788c70ab5ec73b5356a4e3c7beb44fcb9e2f3f25d1c974ed962b148167684351dc2a223a174c9744b092071d58dfd39c38364f47d292651e7806ad7962bbedb64739d7ea298f0254244790e3971c15b861c95f00f65532aa1c77fba5c04ad078525128e92ed2b4f1269ae744547e3efd4ebb63e9df844df152a098c47fa492bfe0f1917ec973867c7491f64c172cf3ea1bc3f97b42a397e6ad88d12e150d3dbe360071a3285d6a68ee6e736eb4d7d637c649c2f545259ecd430b25b38a1618d69a4602ca8a2a151066f12c3807f5dc7cbd06bf095711e4483cb0a89c26dd9e4b0b03e05beca349f601c894f9a245aca3204584a9bd844772dd87b83d481c8df18b615307eaf643cbe856488c160e077458e899755301749d2d27bc190d68a5da11
+
+[e = 10001]
+[keyAsn = 3082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]
+[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d17690203010001]
+[keysize = 3072]
+[n = 0a07887f373378196b0b748cdf31c14735ccfa0f117acafdaa21fde4b6e7559390b834e7b92e9e1cc9d49fc0fe6cfb60429652b4bf9a7768f71fc4271ca6fef4e431192ebdc98630bfb94c5baf18b4cf7881d84483e4c44c22db15a9627705a0b42a26d6f3d6009aee0d2a71bedf4d4b0ee6b6fec2f16e1277ecaa3bdedba406473a476d1688df0fad1da795526c7e641981b4812b05b692d60c60b2bfa424c8b620f40dc9dba59e2c710e7ee750b3e134c1f71f43210688aff17aaa41cdb5668753f0006b1cf951bc5951f4d89a31196985ea55c0966c3662bcfe4e4cd34f12e4afd7e5c4a130739b1017d6a583882fd72db1a67418702c8b01353ccf75b7b93faec0e0be36211d5f2bd910e1552323711bbeb73858f899cc1ec063ef67d88e0c699d5a689c52106f06e960f09d2a3cf84f53bbea2a473edf2e6e0176801d3fa1c2d358e1e5a26f646ac93796ec1fadc6991c0ec19c9dd90b25a2dd3bf73d2cf1eea8867f96caa5a2df54973acb2a2da0a1367ec74afbb968f517765238d1769]
+[sha = SHA-384]
+
+# tcId = 322
+msg = 
+padding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
+result = valid
+sig = 473432cf11b6f96b1dd41e1742ace21cd10e8dad89a3e00ec68f3b45411059d0bbc6c8a3f077bfb4b12da60aca86dd856934061aa8e4c3221a019b7ed3d4e70ed8bf53fa140d3c31877a135a6ae140e021bea9408ee61fe7f32e60cd18932282b1aef1019f9a39789cb48991e535568b55eb26cf96e9bab35d03121f6be9f0d65079b064cff923edb5639cf08f48ecaec0670ab37b03e4cc2e604582e1cccef79f262c8b3d146887303c542ae7c455b0f68e882c5e2259ecd9f76cd3706e9894766089b267ed3bdec29df5b57e6a6f8deff21e093ce611724ba1012cf63aa2c62e7267af4b1df5ef030e6cba7b217d46fe43fab255f41ce086bec5e4f604718c95acdbd5c56bf8b68541ac0dde0a5e0f2336ea608864abdc5324b29b9f7bd35c514373efde38bb593b8d4b249535984662bf4b397b2a584ca15624416537320fdef81133d6038edd99ee19af9567c9fa536474effa925555c9c2fcea525fe2da935b791ec1d7d3bde33a58f80dd1e587e1c433239c65332e94d66d3c79bfd190
+
+# tcId = 323
+msg = 0000000000000000000000000000000000000000
+padding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63
+result = valid
+sig = 69d89aee9a1b9827228c40c3f3bdb9479ed36bedd2c77b3f5dca19917a5cde9636b9f6ede29718a391224ab58f464c9052b5e6786178194a90ec04d2d2b7513b19df2799b0e7a2d6d1ef2c49ec6870fb8cae45ee1103692da8d211bf61f656d304f69adf68c0227c7af5ceb8c2db4a3668bb6a1b8cc3a437b9df79bc0dd650d6e3a42295b4a6e23d40b3a9b7548f3760e0faf69200df230d2c143807b2f35fa449cfa73792844dff5d2ae50adc272c0dbacacd60eb0b7964012a5c1981cb2f358ff53509f90b0ec41259fef321e9a306a08363ed194e51ab6dbc00ceee576c048c02704a19f8f357250adc70cdd2819157d71af04ab0cc63ac9c6fa4b5799eae521e275f26ce53302017510826f96c4a2889deaef19fdedacc70a6598aa89e2bcf373239bed98d1f2267fa7c2436add13df68d9ea296fab52fed0f5ee46874f48735fe32c61ed2b1c977ff1862ccce093bdf7d84a6b03c3007c4c926d1e52d81dcc0bc2a553a12be363b764f6a322e41a8318ea7408c18e33c260aa05d039625
+
+# tcId = 324
+msg = 54657374
+padding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3
+result = valid
+sig = 259332bd5a274bc347ffa3e8a31c8b27f216cc865d32c917a5d7e4c06abd44b6c024f44eba997862c812d8ebaf7caccbb234293178e44b2532478e8bebf6af5f83318ebe398e0850e929a89cda860cd18ec94554e4e0d45a9ec2d9acd83fbef2b5d31dd7b2f3c12e791afd3e39a9437fda7724c9426194bcfdc6bd52036f62aeea7853db2c8c498103eb60180281170aa0fae8139417974d917090dba8f9061665e92d953827dff4d450f5566d2c5b753b65c9b522a0c4da868629569a666b7c292b22060e92acf4ed65e51245403a4f162c8b504b85a810906ecaca2956d395c163a7f6f23573156968ecf62ef46b72b9ce39303681e354e91c5d7944cd3288b2a84a1ea28e7e6f260bc5f8d92be419ad649a8f55a2195ca46130922d82759f9bc030c8b122211d952c3ee7851f09f30c2fecd1070656c69c2598584b55cbe6567dd2719305dc52dfda03ea289a5db920fc2c777e7081cfd92864316d3fca9aaf8e2218ed8a5235e746e5cd9bcc856b0c615b901dc610f0193171869202e845
+
+# tcId = 325
+msg = 313233343030
+padding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace
+result = valid
+sig = 1f32b36eb43f87b18e569fcfe7021763bea0ca576cd273c0b20352906ed8484428d250241709c825704518ff9e97103bb70cd26f437f87754bd40407034a9653d00e868a759a190f3067ce5efce9ab17c8b46000d88e2d9e68b8dae0a0eaa4a31d3bb51c8c8d0fc839b0b273c83dad57016b1b5c1d8eccff1c753e5c6d189ed07b801f0a54a1144c142011fd3226451faea43d52597b003f9256cedb0d7d7f56d86dfeef50179a794f0b0de97da1926e9491f025bb3c3e8e031661e0ead860c8914f0b294bf8cfea2d5ccc726ad0743e192510732dc84301eee15eca3c6a5213ba66d0871789315f8537a44b727bd8a10d6e54636b345715fc0b6f5b5116f22557b0af9f948558b0ff4a3b0faf1de7da1965b977aaaf039c5b7b09b4f03efeeab3189d2a09fddc3983e4815df35ddd1c2198b695cffc35aa6662839f82468cb676b677d53ee4857ab9be7bd99e1749c811e2d6584427cbce14d2ca15df061165e85502420602666993463733b43c1c1ebae8d37780470b8cf5cae31cd7427799
+
+# tcId = 326
+msg = 4d657373616765
+padding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329
+result = valid
+sig = 7e3165358b5d09ab1ad1599935bbdab27abc32486910382a0ae630f725b5dca5ffaa9e606e2e555122c1e0f3409d7d915ea00d8784b814a6721d0dd117297c951c8d225a484a549e488fb80f996ad65490a09defb0b46f9cfca2e952b04dfd5418da920dfb2968e48dba8f0729b16fa32a832fd8b789bfebc63f01a1190813cfd55ace949d802afffbe9a1ec1e6a5df196e5ffb241c918d712e466f30c66c0bddd48b57ba4d0baa0c2ba9bcf519c3a26140df6aa5efbdd5ac9beff48613f92d247b35efbd6014f3d714705933e47d582f4a5da05b15a79bcacba1aa15a5fd6ddb228bbe4c5236f9ac607f41a492e6b1c92bd68ce30659eb5b27a5b2f76a5867dafbf85a9dfddfdd476c383fd03e38e81f2e1434553643e652cc006e5df7313272335f122a7fd9cae6f2f5a7da65865698d6d08d688000a730c90919e1826bfa1db85d5607ff9d76cb100ea1649442cefc4251a8cc1d823215e0ad1abfb2976bc4a6b2bbd793ebf9c7770957dba1e2a8583d9a82a072386d0957789b450993c77
+
+# tcId = 327
+msg = 61
+padding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31
+result = valid
+sig = 8bc948c5c16603ab63e75e18bc7f062ea4c675ebf98dcacc1a9826b0eeab0004e2592b07525fca53bd288bb56b5961aea93b548771068f5b0cef467c387e2d62c91e045872922b516dd6c5b8ac3615c986a9c8b5211a05f63e82387175e8749709951273cd9d8b2eccf678284761c72285be5c189c4400629c26f87bf18ebfe5e56f2057fd91fc9209ec48a872d6d23bc330f1c81ede7fc5a0e2b09c3a4735eff9c8adf73152b3406a62656897c1eef075c4fb02244ecd93912dd36fbe0d358a71e02d2b302dbebd28ba50860e4a963071f0a890a2e400c18f530cf9440a897eb2781ceb17bbc58f61828a6456b93c86df972c42d082b913c4d8807b7563aafb7b330ec39dc988674a5c3b36f6bbdd096201f1c7c25ca9ea8f28e923ba46dbe93910268d6e35cfb605b92ecf98699ae9b09dd4634d1280586c5e6bb0b1a4b5e5e22b225453f5c66f9a7ed7fff83ecb201eb157c76c9beff95227b495c8516bbc7118f011cf9237b6e794bd7a9ba19e35d0a650dbf7c06a0c9ddc95f108a78246
+
+# tcId = 328
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8
+result = valid
+sig = 09ee821221ce7bbeb4d66ea3ec88387bb5c5bfb055b8beb36ccba4c2ce9666b1a09935689db1cc2312d797ac8b6f62643de736f38269a81f969308eb616cf41960341fa8edd3501f4edf73736806b6fc1387df4ef3e1e26c03249f3db6471ed580699e8ac77d0fd9a78972347e8657b6cdfe172fda324eea00d60d38b47e066c4a6fc0e33f75d1d4ecdf46efd966ca9aef80d22e43dfc2cd0af37fa70d6df7c637c3c18a219bf58dc1e7bfc941a235bfe81ee7101530a2c264527608d7148dd91325b7895817ae50d774e8dcd2def8a476a9592d55be743c62c1192f0ad69981fdc8651c1db828097ff8088b720c637c60c771b5091f9d9e174bc823115a1f7dbf086f9ad36a403c2d710c47af4753fe6e43c675c30219abc2b8560bd18c25aac719546ce7a74080fcf22bd4e6cffc270e57baedcf2739c5cf4fc5fac18f5dd023301caac1b1faf4dcc65327255ccf54f5fbd3cf82801a8685c2eef3c5e7f608cf6f747b8307f617fce148347b76facf0e1f7895aeeb11e3225e3a6066a244ca
+
+[e = 10001]
+[keyAsn = 3082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]
+[keyDer = 308201a2300d06092a864886f70d01010105000382018f003082018a0282018100fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d52450203010001]
+[keysize = 3072]
+[n = 0fae12363cc51e266de7d74b989085f10fc08f44363fab4ea7fcc56101d116616c43de313b70569cb27de134ecf35fcbcc448a81082678ee1ae427c48f459ab2c42c9085911a3d81c914f047ba46ef1a52a4983eba1113bdf0ee95e85cd23224cf832fe3e916d3bffa6ddcfee0926938b2c51c8904bec4739afc4f07979cbeabd514be5a2b87abec71c7a2b39c736d776442ea9e95e97ddfcad4c4c3b41fe856f81cce539b5057abfc6fb1aa153316ea4f8e76b8dc8804ee10303fc2dc182f7ce5d907e78729679333b3b012574b4c7c613c020ce1388ad37ffc0f6b2330cc5edf7ce9ba80eb984b6da2ac59aabaa3a29172ed2937920f47c17447e6185119b9b38a9935658997b487735a8184caff10a8f555d034552fd57471b293f813f19aa6c2139877992436fd1949ebe2259528c91716414aa72ff90bb5142d2fd5e7ba12d8df1ac995408e7fb645a9ab7b6f695e4050500a9042253833b055182657915246589f8362203b5517b2f7117d2aca015fce3cc41c6b1bcb2e672db142d5245]
+[sha = SHA-512]
+
+# tcId = 329
+msg = 
+padding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+result = valid
+sig = ebf3c64e4c19fcb0fd920e65554a552cc1e652312c2e0e51cdb3b92c94b2b41ee201f61f434a6aa4703e87416388f4661c04fdc2e459e199af3ea208c61b99d746f4b00d82105caf4f0196f1305e806bc13b4c6e6bf581962862dcb0eb15a0ffcb0fe6b36502320011b540799e1432baf2a56a428fad64811afb57d210d859a1201ec057dd8d2a68784b48dd07357162f21e4c82f8d5e385b1f72834dd4c0d85ffd333410f08ff28fdb7365e408a60af177c80298726940bf4c40efcddceee3945b1d921b9d04080dfb12d3ae61863ad2e3e302370f5a8858a1213dfcd500269ebef76f4ebf0982a751d8ade1aeed95f41d4560084711362774b11b6240c0ba6ee4ca634ba8298f6e63ef560a39047481b9eaa546178e69e4daf5651c66c6235ba97c231241c63ad16efe59b7b5505d9c3f1818368b9462cda71849e431648be9757620c15f99ca78f4e250afc41ffdcdc52693a1fd43506274c431caf34a4d37321f5ccf04971a25c5010b9ada07596bf9a20bf307db9d5e86146226081b25f
+
+# tcId = 330
+msg = 0000000000000000000000000000000000000000
+padding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3
+result = valid
+sig = b9bb1751f2336ef5126508541b949d40f1719bd23c2f0fed64a7b73ebe1819377e6e4262f8440a3a3cd456f5eec0b1c0956bf6989add2c3d1c7ba4acf7a617d198179dd974051fa7a14ecd8093ad572d7e233daa2a9a46fe59bcf7e01c6ad8d68c0afa89a58247ce257566edcedd799173e2babadac15405e2812ad12ad900ad997035966a05a02988e11133c21e111a8e06d7ce509de1e0c11de55379482cfa072348fb41c05083529c2db86aebee92095e7450a75d97fce7b3103ef1f8598459651dcb9b6e90f299c9efc95d7ced2f6e91526ab3788238e2b5e109d3ea984189ea13939d58fd4ab896c76bca4f6a92fd3bc124dddfabef1f286583a1415d1fdb8c80de8e7583fd6d52836a22c3926f69723301904532b9fac2a37d0cedccd4b3d0ddf3550377191f813d4f92a5c126ae91e03fbffbcf59637ebbf1f30acba1dfcb0f93285381cec6da60bbcc62074075c71300f8424e0f964422dfac19d205251f227614bc13568f408284b6b53bebd7dc4adfb7e242953564763292d9c01a
+
+# tcId = 331
+msg = 54657374
+padding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31
+result = valid
+sig = 1cc02717a3321a83da62deb3ed0b9706cf7ca9fdf3674617fcdc3364a697825b910d54b891b5f8eba197049047cf0048ffba6425d47374ec24a84f1f7f04716b7ec54daccd04aff858e2e7c8830e4420b5f99df756018083abe46d3fbce2da6e8ce6c893fc11ce5967a5f367159f9ad38d957078dbfbd32e818a26b49ae00151350044d22b58a4a61a35fadef67e3f8247f407f026eb17b8dd4ab29d388bfb271a1ec606e141cef3fe57e2e55ae8b40fb076a06f5898362b695545124e9c185c50647cc5b83f09f406e780f626ec60462fb50caf8560aa72fbe174111142029b19f2d681f771a774afedfe2500fd8b1bdd437fc41709253ffdedc302f47afa774f5ad23777a57fe44067182f4b35a28923edc82255cce11d2fbe91acbce29289b4e0e8f5e99e906e6607637b05eab4028d85e91d060fc1fee052a09baeea759917b34855e09b8e5b67ad60f45851e991cf01dd528b100327961eefd0c29f1d1d8771bbf3bb1e7f048d9c2e1dc5e652e6ac4f6a2aef86245b83f611700bedd07a
+
+# tcId = 332
+msg = 313233343030
+padding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc
+result = valid
+sig = a0de9c2df76523499c6c344173d944b8e02ee1520f90759fa3c27ce284091f80215a9a26c9fcebc125171da556bb732a0645cd64b05c7cbcd8c187d3995e3c86cd59468118e9278ecdb8e791badca8785e56f33478ba03eca721591930db01bc1a5da5e193b2dc9022e98948644a406138a4c7971ad8ade585a3d72e6c9de50320b9fca1ac0e054835005cd39c96400c491e1b706eca22ae2e9f1b844284226fdcdab1f2cc942a8280f7786e0f2cd069b9ae99f04aae424a6d24eb023e064513931b2e4f7629151af6bf83f4c5c58616960f080c6f96eeab07a87b6d7cef3fe6b071e49ed340b48867a5bea30dee332cb89e1a54d9e3a9a8bbb87179c6ad206fd48dab07104b1f887a02160b59f9ddac6d1f8801c1a8df507ec199e970e02058c749475b7636ba2def322160b11b21773fdf904cc665eb5eda887ecb6d9be245d3dbd85cde107d082cc6d8492a087166e23835a379ac69f5a996ad9032cc41e205078c5ec9c50f85c396822c057b25595a35471a2fc3bdd3f75eb8ecf2d1189d
+
+# tcId = 333
+msg = 4d657373616765
+padding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e
+result = valid
+sig = ddad8eeace34f1eb1b0dd28db89ba710ee68aabb54b0a826c2d69355f63acf0f2f2e0dcb96f388d44d0940774d7d55fe81ba6a8a880aeee8ce842101c7e8837fbf2704971341d38bf3289dfc61a6b3b557588db93eef2789d3735000c8e2d830a32070626d079e710c943082a8bd1c0cfb64b2dd911eea76001f8e08cdc01cb072f027fbd9c72331b857d07c1c2f3090eca53accef8b3b015438942e8d2fd3406cbc54c7ec3797a163b13878881f7b4ef5ca45056e16e0c2a76c3d5108c6f0f48803d27eb4b0d55e90b19b6fe372dceaa61270b9efe2800bb259dbead955635ca44ff979bb054b5cdf86d4914ee553d7d5b1a49fb8e49f3f761224802858458f702aa4428964a32a45bed5738224517489f2be075f9ec7234a019005be922b8265bd78abdeb1d1633fe7e5aeb37b61d36b1a03a06847a812e50ed551853d3cdebffaba8b056b788a1bc452ebdb5a3f043a116e5a3d262c745fc15897ad4ad955595292a79eb85373d552d6079ad77e469f7d3a60330702125127b1ee770225cd
+
+# tcId = 334
+msg = 61
+padding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
+result = valid
+sig = 2ecc537edc397ae5c3c789638204ba3393bff5cd9c1f0552db515a8258a311b6bdc88325f9072d2ae67bcf132a92c0b4d01ef0f2916349adc6d8f1b415c86bce6b5afcf4cf2d3137897d0f8a33063a0ff69965a5d2ef00dc3e010094ec8214c95c064313c8e90bd84e34c86b2e19b056539bdb3c83eec23722b3e380a53826bbb31cc97ebb8ca77cfd96d3e6a2da59baaace3883c652a92e79653941c5615bd30c77aa38ad74c49d36ceb9f76544835d57f0cd14999c2c0cf3debbee17a8aba6d777ebd9ffd44b09e093f1a894a8aee80301c3a5a59626a79e445254cb1df1174450bee22a7518afeeb15495d663af289dbb09216543bccd136abf2646bac573551cfd04e6a35b5cdf9729c8b14d34c06660a42b3ab365a42ffe470b69062d0f305c733c43844565b0b94d49d2019933de9686088d219d57b256170c137a21475d03f2a7e0783af11426fc6e64895fb92da117702e4487558e8bd21db82f263c4bdc64065c4f66d87c87889ec5aa9cee02c95d001b08636dc3420f817c228dc7
+
+# tcId = 335
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0
+result = valid
+sig = b9b492d4796fa2cb7066069a00e36aab8b8755f9dc8294401137efb3e2681c9b57930c0ba87b45c9d70e214979cca91a06562f710a2427660547006ead7b3e619cf4652131fd84999c5ff1c9a1cf057363b8ac62501bbfb1fae840cc963a95169c658add96c6c969d415c10bec5e2457a5c3fa4fe81e7de1afdec6f4e59e3fea185c7cd1bee4b8a42d2f22c7bad7d4933621a0cfacf0136abffc3ac54ea37c63af719425084cade944999aca3f43c7625d22af10149f39acef32ed7c92f781809aaa945b2f446a03e66150a524c7d88b7bec587ba7d6fe2db4ebb7a8c3bd46e7fa1cae291ff502acf33f003dfd1417fc60674501728e52490476d813f0079f56a9456909ccee3b76b30aca26fd4487527f4ee6283bdb2e72393d661ec0c35b2d1675f679f823fd28e044fed090721ba4c6be46da3eab26e5eb356d17d04fc3ac31425a6f6a50474e2725bd4dc30da74fd3767a122ced21671e47b1fb33bb7018349f7cbc916c6c7f4ca7334735a0e0ec18e01735107bd2ff02cd9508fa5832dd
+
+[e = 10001]
+[keyAsn = 3082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]
+[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed0203010001]
+[keysize = 4096]
+[n = 0956353ecb7561945dc5544e4602466078c93f28507701ffd39e2a9813c8ac8740e6ad61c955d484e513b3dcea527e001a018ee2c207c1806a96763280236cd3c820dff79837c9b709cb4b522d3ddbc9192242259c43be75ea244d37ccfa8a4c75024a2cf7cc76e842ea69cc7ca1227405b070047387a5068e4976e4b8ed5f9aadd7b4db024fbb8d7bd8a040d8f6610c1c6eb1d4b606dfd182235d0360880304d5a750603af0c424b8c8e6dbc12c3697d2d609c97547e774e2e362ea96d1690dc9432112c535258b3db2c4c32ad510d6c07ad0788357883869efb8b629298724847925cf42b34386be700f02903db5852276bee2370941f397bdc3905e30964a0b5e73602703340960c3ed6078263b611f197955fecce4b9a32e43cd1d2e5e87c4ceb65edc8853a7ee31d28e16e5adffb8ac7b760fbfc63d5f174f4d0936461dbb12c964a6b6d6cee752e5fca1ab4a9fd238dd3e8860a1d763d2019f9e7b99ed7666d4e038710f90e0093bc566987d6c0092f571376e705b342d066c54e6e2578927b92c1f0928de44e9a6e1f49b907c6aa4f605ec9c398d55df81c67373b03cc8110162fb417f96fd321048647dfcbb392455115cd912ea83351853e6a185284648842adcbd25e67174a3b93b8a64ce2ce9de0e8577b8b662ce32e2565782665dd38e5bb5fcc4fe12e4320dab7773b545a09c6d39d9dbad459f21f3e624ee6ed]
+[sha = SHA-256]
+
+# tcId = 336
+msg = 
+padding = 3031300d060960864801650304020105000420e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+result = valid
+sig = 368105195f0dc82c2cd37e8edc6ddc0c983dc13ddcf6f9db9a24b52921e5280319a1bcf797f774066d643e5c99b811f0ad9df2a3f430f4848a03ddb97e06daa4d01ddd50bf2b638935cd26b19d6ffccba884a4e7cba35830c6cc5ccce38bc0fcc4ea421347e241711a551c67923b3daaf2e9c51635d416cc2393a9a4f108f84f26990c11dbaacea75e39dc6082b539cd2c0c8dda6c78cbad12e14a352b9dd5c92a3702d8538fcce0e92e26489ea83d75c174ab671210fbc6c397be2167864b519b5136d23a4363ef773ebc140e1da4b0a788d7b1f15a300375ee42b27261675fdfc60c29bab7022dc2e624c7d1f31e278ac089c5880e701bec41f63c8f897c0cecc5eff0a801dbc58d7d4df6e860c20e61f31d9ab2d50e8fbec7471070d8ed06c4c9c725cb63afde0cc4475d3dcb7dcad7eabd874ddf7294cd9d2a66b13b6367a14dfe3827da0c6c8b9e734deece80fd79609ce5ce0a16de6610fd04a09b0b2411bae2bc3222ab4c02867838d0c8346c60589e6204b226efb401841fb95da05ff32989ef935425b943d1b5d2f8af5113491a36c60a98c90b6453144f5fe00a0df3de8d02f0f59c7b94ddc7c8895b1dff8d88f69a9a2cfbb55eda0837800950601fc9e230a5514c9674fb576df8391c51ba0febc29c267462ed5337326b6f40d243ad7d81459ecabbd00126b2142e6ba10d9f903a9918d2280c63ee84b47062e1
+
+# tcId = 337
+msg = 0000000000000000000000000000000000000000
+padding = 3031300d060960864801650304020105000420de47c9b27eb8d300dbb5f2c353e632c393262cf06340c4fa7f1b40c4cbd36f90
+result = valid
+sig = 46a6c9cd78e38d5567795dbea71872ac16da06725975cee7d8839d2de665ec3b8411277f3e026fd2f9b836d788b48539755858bc8be0804147b59c09354b372713145e5a000ac15744ccd2db5795727e2f4d5f67bcab5e7cb1290824963ae88528aba0e6785989c8adb86084d26dd1faea3ae2a6175739fe978b576eff673832e513419806d206e0984d1ef0e1c8d8981084ee2ee569806b003fb7f08e775998eba1771f1efa070c00a769363c6101d5c5fc6140f102469574cd09746130ed80d14eabcd0a0418a752d5595b5f40ee0fb05f5f9860e600d75fbdd53461f5ea18be5bd807281f9e8fd6cf7eb31985206c9a5033cdea631512bffdd977fee5e692b3153a2ce9c7708a9c7d665d84762740cc9ea374bd32c18c2d76320e4893a2fac374ca7122e01e08011c351bd33725a6adad96becd44e4ec1032fbfb0c8dcf13cae9556eaf419211d0149c574b8d12ffe5bc59468c7c549283be541697258af847e52a9aa8063557dfa40404adbaa95e38ad28eba053aec3c123e98ab1b947bb774841e9040dd5409068a2c8a84c530fc4273897ed845d76dbafbf45af1a8fd2767234fac1e852453d8b7eede02af228d8b5821238a50a321490dab74d687a3400c34f215b85823424c9d966b516cccac38fc7f08769f47d66c57b9b75ea67be82508a513946bcbc809436efc4ee85f139b143c5bc15ff69ad1f3667c3f69bcf
+
+# tcId = 338
+msg = 54657374
+padding = 3031300d060960864801650304020105000420532eaabd9574880dbf76b9b8cc00832c20a6ec113d682299550d7a6e0f345e25
+result = valid
+sig = 43929c2fb0986fc4570a3ee7f6701b96a78ec9297a997415a142ae539031c0e196add5e4c6ec572de0a2b109cf23a42567ebe98f42cf312d07538e4a32b0f20403b662c652ba9e3d6e38a625d6b5e91cce5c810d7a02262338e144a57db4ac4debfc536e8eaca7fe08022a2f64741d66d25e3010f2fd259d4c6b00582584bbbdcde4266d86eddfd0443ff24b06cf7ade6d733c637a48a398dbb28355ffb9bd21a49de6b345ef635b68d917b5bfcb9016f7c64c444dc0036ecab8f59b0d29098facca02335df44db87d30d02f08553ffd0379b33d13d09a385cae7d63b6db52e9b1eb8fd549e0e1e18210de1d3e9527547e5c72f816eb36288b09d96db772f955ca46fc8cbdb6eea93c841e1075c00c3c45e9442d28095136cc5ce8212ed8c60c9668898ab5d64734d4d0f2311f104cf8a732e6d88fb2064cb57bd54d3cdef7c11c840ecb238466c747289233a317b73785778ff4349949da47c9b4b2dc9f89bd1fe7e98b582500dfc05dba3fa410cca66acd854669940543c22ed1038eac7f0212b9ce4aedba0eb15ea1e75a73c45c1ae03fd241662e9cb89b051939c468db3a0adab822617b5bc669d1e0226cf6b475445d9d5e77ef54ed646cd81f0952b949b7f4f37381ba6427e060966467a76e1d9261a5fe8c68398a89eb5025cc39339885b6c33dde898a159f0af4acc81461fae37f5f4c61de4a888dc4f6b1e2b7336f
+
+# tcId = 339
+msg = 313233343030
+padding = 3031300d060960864801650304020105000420bb5a52f42f9c9261ed4361f59422a1e30036e7c32b270c8807a419feca605023
+result = valid
+sig = 0e207de1295caadb15098f51f5db90f9f000776055b107be58bd24d52a01d4171cb9e47a40790254f86a8a56c8ae38252f909aa3b9bbe7b7e1fed008105690d9afa647067ac122a272d30ac28213d2cd37b45cf81dc48d59e87d9ffaef6e1c9cf6ddf4ea5ff6123523c9cc885344b7e1ef4c8096bb542bc0fa5c47abaabca9a58ca85bcf092924741503a0f3c54c725c48855dc434b09d761f729051fb15af5612bdd387b4cd5019577327bb2e64edb065f713d50ff4285f1d184fe709207f809b9c38d064722897a868f8a09bfe1d33c80be0693e98d7e85600befb643e9f713584c716306731d7f8087dff66be1c4f6dddbc51b6ffe6034845cf0f88749e039ec314887c94648154f7c97235323bf78041ec2c8ee98ea7c553ecfec1f9fe89279c9c91ac6acd12ebe969da4c67fa6534ef9ace4b629c7b1de8c4ce1dc2b0f5bd7d416db6eb512a4dc8eda0322138cb7c65b9a58d712284e4aaf059db80af5785af4d83d391b7d8bdc4071636712410d1dde662478eada1a2f1f35786b78eec77b2788536108e7463d676814a91f81fd5e2084a8c1b1cc33988e73184110c6e6b0ef1de874104602eb33b5276ebbac95d91b943e25de6dfc66b31d8091961c78dcddd358de7f25584d9f74dc6271ff31294bee2cc9b2f97a2583c9b33243600500bc723b05d65839de7442895bd57a1dd508651a20e20f264d8dcb59d485247
+
+# tcId = 340
+msg = 4d657373616765
+padding = 3031300d0609608648016503040201050004202f77668a9dfbf8d5848b9eeb4a7145ca94c6ed9236e4a773f6dcafa5132b2f91
+result = valid
+sig = 0a882c367ff495646c21ef0489ce268d6c4e6cd0176bf9488d4b8edf04e1706f23d121b500b427eb8652099689429a08e73294cfd29694f9b4f33ebc8a7f9d0f9d11f114d0f848114d116ebcab828c7ed4c64d5ddce9958bd0883ae82ee2be0a185d54ae64690accd816971ea5ef80d7d601e72a814b9b61e8d00727a843ac90639f2c83cc7e2a9065ebea3e7aad3b12dd9ed8a1ee03a43e669598571490fd92b699d2941fda3af7271f8864c844f8efcbac20066c7bee682c644da2329db721ff33a7a81869a7bfb7a910fde6008e1bdb4e9ff989ff78fc0a9f43b38399083808fb3f38f0e96d4020bf8a4b329bbf81d59dffb03f5d1ea34276ddcccc2a4319393e1777488c843f9b0aef1fcab7a97e00d50f7f83bbfd30272c8ea4a5b0d7b74e7f7b70a9295d0e942e5b6e627ff8457d0f60c1aac8fe10b7d7ab1b8cd18d3904bfde2a316a83ee2b7633c3dee3141fbd61c8115f88ee7ca4b2b677d1803a1a35361c956c1adcfa8c8e10f0422eb3347b4983eff3c1c79e7da80a2e7c6d55e61f5af74254bd91db0d4bc10c3812513d832bd6a603a6bafd29cd5c062d9e3b74631f873fb3ab47e59791446e5f795d6ef5bbfa267a541d4405dc09e82c8b03f51db4798cc96dda7a7bce7ba9c679d851d5dd2e6b3735aaa2fcff0d558d68959c6af8b283fd383315762767cd0e4ef6e027020148cd3b14833cad4d92c2c9ce15
+
+# tcId = 341
+msg = 61
+padding = 3031300d060960864801650304020105000420ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
+result = valid
+sig = 374603f5d4728526e6cc7c7bfb6f456bd33bdabf37d942dfa8132a9479f6e4a9c2dfee515d883ace45cf1d660190e442a9ea7590d67aac9bde6951314af90baac21bed537c774148afb7927337d626525e13fa15664cdd78dfa5e3886ee1fe7137ad5f69aadcb098a0d49475b0f76ed1bb86cbd08a0cae9a6ec120eabd55b7e5c4456bfac2b2acc3892110b7f62c0dbe7ec7e491474c5c641453743fd70b15f7a726a0ca44a78bfaf3445a979bd4df362b7f29d4ed9189bfcdee01476cf1b48c2edaf02d226b41f587a8db161bd36e6ea20d64c8773fbe8c0296b9e016ccde333b380161a641d822bc65d3b60417534072263cd461a4f77826cbd0508ea11720081c34b12d80ef0963857624d48c53748f279bf6ad338ba564e35d37d1dea27d19ad5dcb76d6f4aac62e49eededb1121e06b9f78eb285f7d7ee2cd475e791cc04c029cb76e5b33743aca3ac3adf5e317d95aa79a2f0ac3c328e69ea4692661b8107d89eeaaf3be01122544fd9d0c61511e87c6a5507c5701655d35f71586badd55b26363b51f019896c03326c72332de5be8a0f146d630a6e747a906684c7dc59d3bda667c8a92432e879f6a4d91d3cdca89b9840285bd8a22e5e5bebc32011725f64cb5fcbade8a5f5f9ba372a9be7f0a4907e40b4d06feffee3a558fd023514b504308a1d821c41955c305f550ffdf005b9bd5dfce2d16d3d09bf17c156c4a
+
+# tcId = 342
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3031300d0609608648016503040201050004209432c1a7d343fcfacb164bdc44ff71c1281c004886b1c428419088d06cd3561a
+result = valid
+sig = 401bf4e63be4259b54c5909797b2b01fca18a6f74d76fecf75535f2876079ad9ee56c653dafc3513eb02114f5c96efb4025cf58c2cd576d003f688b11458fe3df1657657ed52b2756a99b48c6722708ef11765c8da2f3b061c779f26a64fe13e4be4602d0ca2553793d36c23f3194705e34a75b9b91ff7f4e554c5907b85ecb561a8d22262aa3669cc7be2fc5c21b9170869ff52dcba46b2b1c688e4c04e7a8f099e3a4196863bd1e828fb5ea5443b64b190327622055d44ff4c9999601338e56c175c716abf8d6c2ce6b9ef17930e846745e751f882ffb3f0b1a20e68ce9083d1466295caacdce85bd4a34615d09f2051839ff83650708888db818aca9229c38ddef86848a2c0c88b86a2f5a1079dcf0e888be62e116850b7e8d06785627fca1899f6d7c02eb60c3bae0d538cde8a05ef7281bba7f35757360ffa79fdd08642b6af5aaf8c71a32aecd0e9f3d9a2ef164da1740a5c2dd7943603bafde05e38f2ba78c15c3eef13a5059f3f242f07af2e6044896d1d6d9810ed3fb8203ca4efc116e95d2f53be8c55fc1ce653f02597c0df7d4a7dd88b41c2a65e40bf5dafbef2a97e4dc3bb49445774cac283ae131c08492c9715712f998241e16eb776915f15b7e9544ccf1dc220a9e139defd63cb2951090808395ce56555a7cdab4564d82151ddc0ba00db24454f2174bf0fe7ffe6e2d9d82a92437890bcae1601dbcea29a
+
+[e = 10001]
+[keyAsn = 3082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]
+[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed10203010001]
+[keysize = 4096]
+[n = 0e3ae7de5bf44de7d357e238c8dff063ca713470777ab786b495884e7a9ba1dde65de7d2b5be3f2b7d1830cf6ca8ed5c05d3f094aaaeb1dd2e4b2ede08613109a9ba34c7e2bf8450225974374459f16da2c14192c637985febebbef01f0381e78d0fd63b76038f5e3d35dc7d2243963366af5d7685f1bcfc99dcb91e94c93019068353122edd03cc3e615e17c1bf1dd7c43dae86f47a40238fb594041cebdba25f3fe9593a6c329b7f7c476eab7625d17ba7be7886936b733f8dce6e6c937f588da1315c1117abd29c83895d95988d17f9fd7623960d8e433d7c6841507ff2faac36e0e19a41eb2cccdb2a2c0fae966719a99d203c924349bc0eea1374efd3e23099b2d187922016fd014087520a67363687322b90d7a890d8f4464a8c794d2a3f2070ccd3b0ebbca2b42bbf8eba6f2c0bf8008b5616ee7b81629ebff97a93a5b861989daa10da7c8e3bc7b0cdb095f6ce1185cf8fd3dca035eb3e505cbe022d81d93945a144806b9fe0ba07f3ab9c70e72b5fb77ac6e4c7e03aa2dce7c5ef227aba1acd48c1d93e0e26f01e8f1e43aa97880d15d6c924b060d1face21d03a796c86301f4a74339e472b2f96cd0755741cb9df3535077381ada84d1bc0846a6c44c8a8d3cfe1b7a9913d1f3d7af2c5ea4e67ce0a7ed3c0058206fd13ad9ccad5a8212f3ecd788368a6b6148178c7c5ea8d6d385227f2c76a047216e5e206b1ed1]
+[sha = SHA-384]
+
+# tcId = 343
+msg = 
+padding = 3041300d06096086480165030402020500043038b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b
+result = valid
+sig = a454390b04bfdd69c4be2ad1bad96ec901639f0bb60df268415b4a93b4cd53510fe64f394b319e66ca8605d7d5f7a05dae5eff827060013503d857a977c09ef742525e43b7e69d3802a58206e696848a87ee17b2b9de6829044349036554c659c8f8866c401fe85869c0a5ea90739c4983a1561a84e4f0bceb00015a671f5283f41f0bb8599774829b6a2de24f14d83351c96e35ae1475c8b4bcd2cf66889237a206d147b0e949f2b2028ead379c74203017904ac09a5561a8ec343be22cf46c3bc2a87b12cf9cf6e8fb22de884bdd9677626b757a005d3745f387d296347d3852ddc2c4258cf572dc40df3ff6a8a5f9d8b1b410c54739b9ae182611ec01805c80b445d058ce2afc4bd58d87c03fc9500fba237bcbedb0960a1a02efef52b97cddac63b5eb0481c0c0991375735338ac84c0505415ad2bf8e7a819ad269460668ba8f8c879f521ec9dc709e406de023fc0f9129a3a94eb1f3af08d33eed6273e5166f31110097f5558d8d9028ff558e627c9c0db2454b134a82a9dacca5b4032bc0e27c4d41cf55e9d89cf51528bb4f08c6ee5ce651af3772f008a44863c851933a57cac8e29a84756c9fa7f80435b3b78486f9908512902d5461964918239c76b6790b780e09d2f1d3db1c59b275d20bb24fa4f518b25af3254b61d34ed8b444d3ca736ceffdddaf767bdc92b4543f68b25421cb8c1328f2f253e446be46d10
+
+# tcId = 344
+msg = 0000000000000000000000000000000000000000
+padding = 3041300d060960864801650304020205000430a5a2cb4f3870291de150e09ee864f3b2b3b342937ac719a149439185ad6a47bb4f23ae83ff20f0c8f0c79a1764244a63
+result = valid
+sig = 909c1f13b544933ccf3bc73ff5053a8a65a8f01b447d4b40f109cbde29d866368aaebf46c19051092063993862b32fd166006bdd4d988794d4e9a77821fc9e684fab1366a2d988eaca60e4fa8ea947dbc4b8438a9fc036691107d3d0be52c46c61342ef8fb7e08032921c1b455c55de28d58c77c1eaea03f13c26c4cea73d14acfa8ac2907f6a775273e7686ecf4b882b88a42cba11cd1efa5b985cf5a227654e54cdc9e2d283b80d250cce553fda636279336ba13f7f3659d70b5b2995a2ac7b60f329c62790d8eed1c3dacccd0df468a91e767c190be41a028d4efc1c5ed5e6f3a77930f50217fde9ce9ccb66b75731957959834839fa3bdc1a769fabebab03d3f0e605a12aa9fccb2a9421591a7427d82068623582de592935904b59a42e59b50419cd12d71da871862149a6500ec6870d989423346879551e506fada7c0c01b328244ac5f2e2c5bcbf4b5b09a4512a0edc90fee4d4dd9eb88582bfe37b49b8d8189051b32cccbc4d300284f9e523674a601b1a725722695d5ef438b770b575b6d0955edc761250bcc6a30e8d5c7287093236f223c2da8d9ab7d6b58e5d0e9167f2e8c58255ed16b63789ea16046bd0f987b156e9898076d444cc7a4aadc76699a2e3a442d63ca4c3f92da9f3b2c4ae13edf9d4e28ad206ed0cbd2df2a46920e298abd1904877b75c1a9ff80c5bf05bc5d1ab94d379d064fad894918ce326
+
+# tcId = 345
+msg = 54657374
+padding = 3041300d0609608648016503040202050004307b8f4654076b80eb963911f19cfad1aaf4285ed48e826f6cde1b01a79aa73fadb5446e667fc4f90417782c91270540f3
+result = valid
+sig = 65956121a818b842d861d0dbcbdef22aa05c7e94ce5d748308663e142881feadb85dc4421d9d01833b8b4c2713842c77949cee8b853286107c655de7778a5acca11afbf1d9dad429eb6a281c1e8ae1cfd37cdf530fd4f2b765c352bcea26ce44e2165c36553318d89b1e06ffd8a210cb988cbfc916a9401fbdaa56a1a2a4cb66ef00a3176182d33dec5f3625b760c37c82cf618cd2875079a36015af21d060dffeb5c9e1f4255d7fea64386d8d860c6868cd79ef6d7a87927753a78bdb63c4845306de1d73c5d7dccbb6cca9b65aef19a7b9e53d9c02a4a2bd6910e076959f9f40c30eaa0a6ef783c0b73f05566e4492e16b832729e03fc939e54bf0336d376a3b4cda534bee446dad3fe51d20bb8a135103e7e12220484bbe02e99c5803282ab90d11063e5243297f80d3f24ab08fe8f2fb62702b0543f0203972d35287ba64facbc635cb438a888c83c7028a325555f07521c3095bc4e38bd0f60eb90828319777fea2276e0bc76f2c13ebf92f802a08844209ccddd2aac1f2700e8a5107e86426e6ab76288fa01de18b8a63551fbe8705824d16e5190c559c7bbe8a17031e7d352a681b0418cb36423632ec48a8d3861136b250ad2fc72388e771b41849893cdbffe04aac4037209944ff3174f86f7a88414b1666727c960b1e54a2cdb82e39cf9f2661f4ad6e22f330b350eae7f588a623524617b1846486fe9f04abbf5e
+
+# tcId = 346
+msg = 313233343030
+padding = 3041300d060960864801650304020205000430f9b127f0d81ebcd17b7ba0ea131c660d340b05ce557c82160e0f793de07d38179023942871acb7002dfafdfffc8deace
+result = valid
+sig = 3b35a042a4791dc1ac1561ad1038750bb9a575a7ff72db2ee60ba027f8994bcbabe41fed36417bd139a286ed0aa6c3ef2868a7251442d060c1cc67d4470c3ab7c307acb0c0641218a45b9cdde05546653850c2168a59f1788cd55dacd40afe38eb941ff08ffa8bbe609f2aa795c73c0368f482d53d691980891ba43b69f5791c2e6f70e17a996a299e60ce1c9d44ebb9f29e700e9ae216df749149f6c222d1e1733953553a792745c382d44f52ff404ed5ee04c41ac8acc97c250f9a5e3cc6d70902d51e8ac000d05e36279d83491dfe6a40f222bc1dfcfa7fa5e0197cf47528f77719e007b65ca39dae17bd0f323b00ee63b66401e2ec5f8917ef600a41c3a61571a4d922c0b0ad0a290ee054ad15e63f1a0cafb749f80cae6cbeb06be62e1608b502182d247bc6a37abe5fd750ead8b7216a35e74b969005309b14be36a31c5e6c2266701d5afdb5ca2314e2f32ae17387d8284ad2c7225fa63ed47e7245a65b74f53a5bd22654b3878ed09b1e5e070bc20eefac6c95b006b8f3e613b19f518c48ee6781a12bd08ad36ba384d03d3ea3c4e0b1facc39741f9ec73d0335d2ee735355955ed12cf8b999d155d389b1a3caebdfbba32c883ef7d0e112d86e6149a3328b63b9385c68fe8a7b679e8436aef7466067a8e8bb49e31675729b3f448e7dd3c048973d2a5f8f7173c4428f3982a99361fa691d1588e39cd4485c450158
+
+# tcId = 347
+msg = 4d657373616765
+padding = 3041300d060960864801650304020205000430b526d8394134b853bd071719bc99d42b669bc9252baa82dcafabc1f322a3841c57cc0c82f080fd331b1666112b27a329
+result = valid
+sig = 09d8512c4667994623530a2317bbda738eb8917bc80c84b64793351463da171bccc88b95049a57ccd917a4687da3be63db21b0ad0972ed9ed182f4ecc8e06647675340192a57e6591eacbf15d2f5fbdcab568b16ed86e668144d9e676e55ec4df1dce61f672de9f53d1743b72993a5d21ffeb7ab58e0f83e297cccbf25ed68c70dd8441c119afb6c07fb1d83edd9bc1ac34046733c8b827d002c3b6072d74a6c2cf7f1d968e9f7b0873de8ee5adf902dc68fbc93171f763c425964ea6e3af6691f1a303ff7837adb07a09f728de3377fff74adb34c959d363db650fa5c3035febfe8c62a0cde3d006a9d34d51c5b2c4a1dd4f2423c532c6b5fddf03e0a05fdf8d857f98787d6f55f0ce1d0ca95a37177657035ee48bd4f39f7d520ccc48ee999777868b4c3876e2242f59b725798bca28ae66c267c507cd65fde612c1fdc9362994ee31134d5561ad7c3f523858f43611c249cca3c134d00ed966a82b800da11add213731b58caf232fb2094e9dd42ceaffc7002f1592e79b85eb6e39ed5de8484f5509e0f54166426095e8522f88363fd0dd7bf64414011a710c7834958c0aa308189819cd4488588b84729dafe163e79856b913ef55afed55e83ee5b812579b87cdb80d5bc9ffa02ec32a0d97b0a56bfaead58a438cee53d40dd197fa2eeef4aff98eb5590163e68b5f3de443909769080c8a6bf87e3808bf265a41a3b79f8
+
+# tcId = 348
+msg = 61
+padding = 3041300d06096086480165030402020500043054a59b9f22b0b80880d8427e548b7c23abd873486e1f035dce9cd697e85175033caa88e6d57bc35efae0b5afd3145f31
+result = valid
+sig = 798f597e9ad4ba8b3d00a9527f4e785af5c55994e2953046a1b9062945e8dfa35eedb1e31af3daf1955d7b0afe74fbc53739b1aa02fa2dba629c31b211cd513e2248ed847dd579406ab603d3369de3bb07143a581734fd8b1ca0358c4fda639045be1f192b233efb8848bb2c544e4e188e0c7ce311bb4841077d15051c6f6b31998ddd8a7bd30d75b7b3c824358bccb35f8ffa8c0fc5ac37ed71cdd48ed3c0269a638317756bdc9287043be1b4f3c6ef6423f1d0d38857c195e7be81c3778648ab889474109ff3c7be0fec790d3f5f50b966e3df40c566f572f8f252d09e97d4c90442badf820c7db74d6fbb004bd7eb53c0b1a871bb9f480821bbb48b363c85c9866bf8a86de9c6732a3136f2c80e88a29540a9036b72fb8f4c898e7b487c41d0f693c91309bb3bc06f1e3b2fa9918c31ba2a4b82a37a927784a7c7d2aadc3301524ce2708774c3e2189ca188b3d85a33348d28ed6f080a06452bf8316d483e6a5e28b831797f85a8ca5ca922bcd94b9045f588ea9e15f2a20dd26817eeb80b3421c5de72db98843dc719cfb1aff1f927ee1df1bb718732159bec70d5b6d0f98a3fd5d42c31ecf4124cb1759f183838d676eca2cadb4d57f2d6a52cd0115ffec0fd79c99aa78df8c6b54797a590bfefd4c34e4c3f39750ba47f4d8002a131b870ff8e65c6c37b75e5c54c8a2bc2fdacedb41f30ed8bc9029819b7064b6514a1
+
+# tcId = 349
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3041300d060960864801650304020205000430ae9ada2a808aca7097c9e9c30fba4ca60a5e79874a6be0f5afeb7f5df3538346f04b84ee06bef7ac879a0085bb2036c8
+result = valid
+sig = 41fa907da9f78e107b58ff6c4ac0e92a9bbc7f5b510260572fce4ef047c73cab3fb0d00b353b4cb9256dddad432c5815652bd83c78e657075781140de56189ecfbe1601f24bdce05c63f511a3d04673d24c4e943695d7812aad66f374a74a906177dc729090070cb5d6d518e7045f4cdece06ce2ae42e1177c46856a8425e60bb06040400c8ba0efb8d4f395a4377d4c2c128c68e6b30e358a73d9904d7aa1e517ef396526cb64d39b3b36ed7204b3bab1d91b23ca95b2ca1da3eee91c7d27b4e4e658fbf5060a79cce69be1d95252b0d7d7220797a53982dc371372969d4e06556507e7e7870a9efd9e03766702f217be1c8f7f80006c08d13e175040cf28b215deac6a1ebf3520a3ad9e91f9072dfe50c69d1aa5a0df73ad63f72831b055f2367ea35cfe676a4f7970bc85e2b58917d1bd449ed3d274ac40f7a515e261df3d067a277ae610e4ee4cf68b3a947ae8c8339c818ed10e73b6480577b2a13722023cbb09d3b378cfb71f6c86bd481ee09a1fcbb807338e968aa5af993697eab562aa4975562eea6b1169e86c75ef13e877cfcd4608994eadedea3eba55af19a7a55b19e92b974450a593cde717bf0d7ddbf0bbe8fef90816fecf86ec522a2d06a04ebbc50a1eafd67aa461a8a9cd705ece0bbb46cf773689cc19cd69607594fd2ebde06aaa1e34ebec001edf318fa22245876461fc46126172db41ae9ecd74700e
+
+[e = 10001]
+[keyAsn = 3082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]
+[keyDer = 30820222300d06092a864886f70d01010105000382020f003082020a0282020100c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d30203010001]
+[keysize = 4096]
+[n = 0c9a765c2661b4674cff3480e9a5e462ad0ad2fc9bc6fbef62847b3113d20991f653967971c28252753f5fbacce012c2a8ab592914d269efafa724fa4b920e340930c106f7b36f79cebf0e62e88e0e476888e9f0e22186acdb6c4523a232b65b4ff2cc22dc44f8a559527d79d7cd7dcf3773212f7bb9aa133c31165cc663690bf123d73923c838929ccafee59d6c7095b8d4a74baf2d192c9a4e87c4e12bc58013078b28a7789e82e9f31de1f4d6a2aa6e80632be8e4bdf263e8d49b09416fb19c488c07ad8af722ab79182b23028a71e065d02412a9eebc46d7d8f4e03d79238d8c0cb4a97a9a1200ebb6ec64042ebeccad9567526eeef12c17d94c1049c889970b96e94cc353172a268a49c5e8bee13c15b39dec44f2c7a1aa37a7a0b6f72290acada32b1d8af1fc3dc8a89487ba81347cbeb1350925d30f923958106b49959c871e7c1dba55da0772e362cf8621d78610868b894e16e5dfec96874a93a4cf379b47e7e318ce315066d70ee3938140a60148f205085cef8a7700ca3c53d52a5756a63b3b16f153062b61262a68496210c8be4ef3f9029ca0ea0e3b3a0d5d6d226edbbf44daf8f045dc286ded3c4ec4db6b45347079f33eaf98e3c95b4b60e79ef4a3093feec543703422ba74a118511c2193b54fe8b633866ed2c705ccbc6e7d9d3656809ec3d3356e7400a9648ec37505041e3e31af1c02eefe924a67047d3]
+[sha = SHA-512]
+
+# tcId = 350
+msg = 
+padding = 3051300d060960864801650304020305000440cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e
+result = valid
+sig = 9cd28bf41b99fa4df2852d86536257fe111f63f01815146c057dc3bda9b6633e49495d38822392b6b901e6ac69c4f09623a524e49246c3710c85a1957943d89c8399b0c2a649938bb07340f14c6981a0da0fd35163bc7eedac80ad1cbf06a4c32a4a08523554256eb221395c76e1f79a5e3c5b9636673db3ba27eebf8315468888671f8441324e092124df31d396ad8367eb7c9d0afa44dae85d56208ba21ec7c1f0ed6a3678f5d97ba7089422c662d86cd514fe853f38481632197c1ba07e4d92735eef3b75afc25ffa900769c74ba34f2d157e74bbab64cf413bc858cf6c393e8afe24f9e71168e97db96717d0081d88a27257d8c692dd0e001f3fdc2090512550ad38725c10a201fc50f8dc89ecf363b4d21a7d815eb78557d42e657cb44bfc785203e8de00f9e18af1c8e12953a33b0717af215d9b04b71fc320bdf4d558faf55d03d30844237551e35ed6606bc706ca43a47e6c493e14719049065eb8e00760283ee72c1ae3ce019ce3263a90b8340d1a47b49b78d5cae9602539b379186e5c1e847b69c75152036c8d9ef3c77ecd151bdae7ff36a459d0bbc1dfa33ce3dcd94ee2cf6ee08a77485746306ed987eebaae2baa544b543b5afe143e4122ade5adfa4fd463a246f29482dce7a51573aa18fce87f7edde842e7f21ff9e40c4101b922616ee4c14ea1af3c4d417fe8876af381027d837fc40dc684e81b9eecd4
+
+# tcId = 351
+msg = 0000000000000000000000000000000000000000
+padding = 3051300d060960864801650304020305000440d296b892b3a7964bd0cc882fc7c0be948b6bbd8eb1eff8c13942fcaabf1f38772dd56ba4d8ecd0b626ff5cef1cd045a1b0a76910396f3c7430b215a85950e9c3
+result = valid
+sig = 659ffcbf6b22f5d201fa4114077aa7df32b513a1fa5948ee01f6e21c1862a2b91863f7aa53d1aadcab9347955210a91829a5f7c86b3e2850bd1f76b3c4f4333615ceb22830a7a9d7a13436683a48995bfd62f528ef4959d30b6ddcc8ed2a431c06c337250f8274417f6369b7a08b927885df52bd7370d3675094bf1bd32a7f5b0ca9a399a59f868cfb78f87b8647ab37d0d7a58d6f4a58f3e3df7ae88ddfa6470050229754f4ccfa265cec0635f0360c485d8f81974c6b8a11adce3775dd01936b82db37641ecf5f43cb8538055a053d4085c38a8a1c4e0c8af961448a779288c5efaab1eb4401c8f388c0b729e42243d935df1ad3705c1c5a7ffb6ea8ce77a69481a3b930f95ff118cd0fdb17393a37139b3b5a9c275c6bbbc819e18f49c369153bf1f7807b450e54fc28065a6ab6d5b0ee91d0a9302ebc0bccd35c2fb2fefc341a954b67e91f6d8f3f7b62c5fbe504508594f357b1ed951fcac7043a082b9bbf41ccf609881861e2de15ee99d373c0e99027ff240c0b6fa52be2e199967860baffbe25b3254fcd375da7152bb94ce8dd01465290fbcdea0838a69576e97e63cb636db79c2799a26f94a9fb044e3bf66c520895b4683bd799e6b04ab62f621dc00f20a4adb131606f127b84025269466c760181d7dd9ffd0aa5381180b541e5e933e1841d6386ec55a63bd9d8674a775526d30dbe34e4db87067a9326c6dba0
+
+# tcId = 352
+msg = 54657374
+padding = 3051300d060960864801650304020305000440c6ee9e33cf5c6715a1d148fd73f7318884b41adcb916021e2bc0e800a5c5dd97f5142178f6ae88c8fdd98e1afb0ce4c8d2c54b5f37b30b7da1997bb33b0b8a31
+result = valid
+sig = 46eaa4624a4d2c1f1043eb3d17b48d977819a8796f48f20174c50da624c657e64d3154dcfa2a5b1d8c6d2ed07cf1f1c19aaa611d6466f7e7ec73df5ee786573adc5a9e3c1d0a25559dad282db26e889807764115a05a23959acf48d23b3b33a93d8b6c7de3ee446f113eef96055d285fdfd27888e569c50f022d5e8abafc874dd5a61df6258e85268bff66cc5643107f7d9097496caedc185b37311ab6979f273e5670f143146b68e44b49389554772c1ca7bb7a12fcf67d67a1fd0c245bb4cbb924276ae756098599392cde076a1c0edc8096d9125e5a5d30c2a93d00fe2e0362e98592c8fd31ab5b4c3b34e65d38ca0c25874eb394e04969982b70932616b75ee2912c6a07f20ec70e52be630ebe024c0622aed125e00bc84980416b80cba7752eb90af2b8215c4b559880d2e1c577b7374531038083725d23d02d4fa5d8b5a4c68e9ea5e11fe2d9e03c1b8a4db0b053097b5a175b1131e8beef5d559bcc3f17ed2e6f6304c0e4650a2bb675aa8de44af8a2e301734584eea145c4b389f6180e6395412ae70e57f488ed15d45895be580bd87cd916b8f20e46ad2fff0367dda54266778bb444c6e4fdd45fa62cae3aeb54b6a7a6b4d8068e3a4d0730f0260340a6c32c3c5d33f514612c941bb63d730df5584933e12546500495b5ed3ba3631a3db871d17353d4c16676a0332ba4c4c4c68cdb6ff21ff737ee249be153c1d9
+
+# tcId = 353
+msg = 313233343030
+padding = 3051300d06096086480165030402030500044043f800fbeaf9238c58af795bcdad04bc49cd850c394d3382953356b023210281757b30e19218a37cbd612086fbc158caa8b4e1acb2ec00837e5d941f342fb3cc
+result = valid
+sig = 12813153b37fa6c0fd755a1c7c409bb8169c5a39d045dff2da02b2f8e8897b0cdc6c2d40e6945b97006f18e1b26983f77b70bf2961b5e5f2759241daee8c56fca7c53c81f69d3a0341720d9761a4f7be8c068464e881c85a2c39e0ac6f74f6f5cb42df8c3713f66a282d7fba85b7a09a6af83a068b78bfe83ab25841e4bc67c9e40cf2a0974f8875fb81cc6a115b91f922419c44ea82b33187521a7e1f46c0ab9459b4e97a3f4a1d9e92403a37168826fa0ee914232afb6c4d7dd082d0c58885e356d0efb8aa9ae33d045f24b4b3182d5c54556f5838c449d31a49a3ac4ba568c248ed72c111b5ffabd991ebf5c48efbca33cb38996d584992c4abdcc7b93700ca03619412a355b41b000a32f6cc4935f942209b56a23cfb7b788dceb692343995f77daffa25e44d672f8bc451f776560b415d0d1bfe9925af1c2567a8e9bd15b8554d93377c62b0addabd27e8d9e0859f498ba8e03094e1d86d41e69f7606d9f1fac04744c3b7b8fc4942a846e2a3649bd9416d500b9895455fb6741ed8ed4f426f20ab40d8ab2e6cf6c63f5c290fc011768b317bde49753efbdfd12583f1ca79287225f9c3d3ed0c4530815e4f5e7ed78d14aec0d04142d0ac0fa3bb5d73b4bfda2fe7103a2ab40672abf08ef4d9e537b9f856d32450e2e41d9277be62ad0675d1a530709f2747f51f17aba10381fdc70c626bab45d51166b6f6ad978d2dee
+
+# tcId = 354
+msg = 4d657373616765
+padding = 3051300d0609608648016503040203050004404fb472dfc43def7a46ad442c58ac532f89e0c8a96f23b672f5fd637652eab158d4d589444ef7530a34e6626b40830b4e1ec5364611ae31c599bffa958e8b4c4e
+result = valid
+sig = 27a042625f50673fe9edab9aa2fb4c60dcae0be2e8b75662bdddec7b1d698065510a193e17981bb0b1c32e46d237e15915afe2e2d4890c09907e1866095c19763524b6c8d2dbb7814ac5047f0a082f7fed4109741f4719e12ebb91f27a3cda71e80ec8a7f6c882ea5b3de3c9f156cff033a0d3cf787f9a8a833a29d0c96f0b68ccf55ffc62098e21f0df1832b70878dc94ef1a3260ec2fa56dd3c4fece5d855644d26012f56d2af85a0771d61367b7e266577e44c444347970908ab6cfae42069e2ceedf63679c2bd03697957e287d156b2717a416f0e4ad96868e1c7b80eb84e99778f670ca39c15e1f901def1efd824ea5f7bbe127dce8c8f53d849fe1172a1254caec13b10b0612e72d3f8e7206eee2620e8e3c0ea176deb4b1fdf5d8d37b57af553cf7628ead74443f98655b5166cdc08190d7e3b134d71c21bfacde3e4673529e6d8a9c7a8b419451e7ecc6c16a44b8e1b3f2c9d1c822df8f2b51d8fd027074ab2d1c52d16aab0a266c7d9ec03df7e631052e67a28963bf8560e89326168bb7c8f5a152f7ac54a46e88190c62a938628950df881a4be4136a55bad4f608d39ff37907a6f99bdee065e5ccd2921f8f1a2ebafcb336fc6ca96a207a5a0a7873420a2ea383a5f1c604c93b6c0ac69244f05d54cab184c6592e9bc4069df60d3cbcbf16729dc2f3f3540474890abef29e1b21dee8af0386ab61784d7af8d79c
+
+# tcId = 355
+msg = 61
+padding = 3051300d0609608648016503040203050004401f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
+result = valid
+sig = 2e642b8a5208890b52187729c43a1a308cf6b846ba1c2fff152ff4a1b051753f14ab035c2f3f732d5a9df7c2cb732d09f8147509bf02df8ad26924eeb04dded8467b66c5e3eae384568f624e55c81cfd8e3204422677ab62d919a176471b1fa8bae44bcc8d4d116a6afe5ea2773ac52a24186d6a4374171ce0516bba8733c59f38d622b7b6b7ca7ed2123f7f46b6c06b02f4c7506c46327d7cd908ddd503fd42be3cc896008eb9202bbd7af08b9908121a8b27fa44747217ef72a8c549444232e9209ca1345ee017010409527faf0722e3f13641ede5730639bf560c8a655e2f96cbba7b2811da8a1fc3e5125c92754ea7b823f394998b8890602b1713c2a4d352066e01f55ea86fe3da71f9119300d84874b667a6538a90ab24aec2bdfd9ba9a5f0c3072d549653b16f4a4319ca398147e6753f9a048b5b250c64d599115bb717ce85c8370df62c93da7e10fe705a12482e6f25e6ef1f4851a305aa4dc21b08791885867fc10c5503a769a6d6794ab5a9cc5da68cfc3546b0e848ed8629ecded620ee3fa6dc1236b59874916c45f9c409c9889bb85d7b289ee5f45f6d33262dea83b32c071417d3759cf650b9d43468ff0c2e922632e8d73feb4c55fe4233dc1f0cc6f6e522fbc9e9362f1d69441d56ee5f3252dc0559339335901f539ba274cc3640ec776a12c5c7e5c1cfeddedccce36884ea01071c2bcfae7ebfb5b874e6
+
+# tcId = 356
+msg = e0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff
+padding = 3051300d060960864801650304020305000440aa0a2e60e45f276fe3aefe9fc07c6f2435f143ee2afd895e4809384e833be66a6396c839d6f7db83f37736645454c6e63712b27e70edcdd7440e1275235070c0
+result = valid
+sig = 811dec041124d3ed9d5eaa9c760ca5756e42525687d4af701231671e8f7f4448ea9b9eaacbd9c99659ee3c175277d30cdede73e1b332ffe41b8b737150ce1f1c67aa6b22ff801077c4241a6ff4af8f4db9462c70c13e1da86edec4042a70be9d08384d932681dae48fdb83149170472564a5bc68cbe952c76e476b99c8a5a1ecaae809690a014b28224ddb9c9dce0d4f6a77fa2888a71f3aa9b5deda0af40ad0464d9adbd26fde242523c096106124048bafe824f733b0af480056de2314f5e27db5aa3fd15705777e14efd2ac43beb12f8f496d09103ab377971cdd45e9afee8baa874c23d3942ee3a505bbc3901dd4cf55ea8a30fac0cb754793fb2d8f4edc29afd51b99140a8d03aa0614169428205fcd66c1047d3366fb32f1c2b1bcfed8ae23580ed254c3dcb127daf16aec1892714ee05a1ceb4e561a1e9c8fd4118ef8cc9e063bd86c55d28b8acc9d5b4c589583e7c6b78fd518d8ca85b88517f10c27aca2f0bcfa54ba5bb94ed5b005e3d871b68b86e96adf12588037adc97cbef59c05f0d2162db2e4cce41227df11eab5449d612be56ef6fc522452573340d4d68af0178d4f19db6a0ded521f1a982bc5567dbde2036f74d6d67b806ccc7c7f70d3092c22c9c1acf307b751d994fa5259a5046668a047afe4c3302e908bf70bc6b55c39726bf24ceca809357c623b89fbf0eaf8b5d18823337e7e0245d865574cb9
+
+[e = 3]
+[keyAsn = 3081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]
+[keyDer = 30819d300d06092a864886f70d010101050003818b003081870281810089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf020103]
+[keysize = 1024]
+[n = 089863f6993177d65e5f1b6d41e183ebde1fe8c0f23fa8c99893ba0267416b74d93bcf04cb77f7bbc5015f501c001fe81eed5c339fca8d6804c29523668d57b32e2058b20366c4d66c5e1684b925bd7c71959ba4b022a4ce4a04c7e4ff13fa433f81553999ed9e73dc6f4e0cec5b00452391bb7a742f5b932c0a4eccf802120cf]
+[sha = SHA-256]
+
+# tcId = 357
+# short signature
+msg = 3831
+padding = 3031300d0609608648016503040201050004205316ca1c5ddca8e6ceccfce58f3b8540e540ee22f6180fb89492904051b3d531
+result = acceptable
+sig = 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020c68149efc8a4a913a26c9170590a1ed9064323c12b6ebde15ae8c05a0e5205c91f57f5753815ff39c918
+# The key for this test vector has a modulus of size < 2048.
+
+[e = 3]
+[keyAsn = 30820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]
+[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1020103]
+[keysize = 2048]
+[n = 090a5d7aba2c8dc828e616fc1fc45c7c52130c8589dcbe2913da187572f6c23217b89a5186b6f90cbe053abfb0885a91f141dbe106ce6ad303904a5941df26ced10478cb56a7bd6cf1313c4966d9cf7c4509d9dc63566aa323e110af219f3398c04e79bb486de8703793473136f5c9051af24bd2c0208ea1bf9321a3e8f24af00aaca1216842eab248d58cf46ac786c49fd3ca8557e9b53993a4b9718cdc5c474bf1cfe58c07ad97b2c5acb7d86accc0fc7bed147adb2e77b8697d80150948117714b806ff76f9d88147d84e93987b724bf4870429e85a7a7b51486a78d8a88f1688f60e215d43d06221e2b993b5c12a607b80e9e0122472b29945f76b55737c1]
+[sha = SHA-256]
+
+# tcId = 358
+# short signature
+msg = 33363730
+padding = 3031300d0609608648016503040201050004209385aabddf6b3fe60d2955cb9303e9354b775e8fab2f95cb72ecf3553c64633a
+result = valid
+sig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000989e7ff72e67e680bd21d5f966e4ad8a48c3592dbacc4a2f035b4ef4d17a2f25f8a9fef7e78eb99d76d68629ed02d67c43c4b7ec8c3badc32e3d0a524c326537739b0fde156723b27c23ae2b09895e470c64d700f5c
+
+[e = 3]
+[keyAsn = 308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]
+[keyDer = 30820120300d06092a864886f70d01010105000382010d00308201080282010100f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f020103]
+[keysize = 2048]
+[n = 0f2ed0e93228f37c2ce1c215e00cce4ef00e2c08a004a39c4170dc73e5fbd9b91e7c55e596579ec9c60b9bd341e83029b1934e6493eb60099b6cfbb9804d4179c983099e19102bba49eaa28fa505efacc5a9d5374499c0c5775778317ed370de1919f38aff22d5aee8c8af36a86d036029e761f243dff3c205a11e9bce9ac1d6baf81e79ad4146b119abb13903f8562e8f3e6a918f48223465bc93d5e7d5abe3d08503ec42998fe087a1f935d1b8673c495f005dfa7453daf977e1608a8c276da2a4cd0567e4af4d18cba05fdbedcde74493ccabd9060c27d35a02f35c760b12a4deae1359f649f273fa408626fb789c916434a642d528f41db868ff93b7f889f]
+[sha = SHA-512]
+
+# tcId = 359
+# short signature
+msg = 38343432
+padding = 3051300d0609608648016503040203050004406114f0b81fa48090bf41e600bbf301f49262bac5794aae087d8921eb23bf4de867fa9403b85e21cf6f59a14127ef0babdbc425d415f15c0ea18d2962839471cc
+result = valid
+sig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000009e7a1269086f0bbc0778ded8d7108ff4edcc2313425088117b2d5c53e9d9971950a5fe8b2b67d2bcd1be74f6b557a3f90650a96d7e4dbd63c05b94f73337eea682417c058d66ce523e4461065ac8ba990c4ecd04932
+
+[e = 3]
+[keyAsn = 308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]
+[keyDer = 308201a0300d06092a864886f70d01010105000382018d00308201880282018100ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83020103]
+[keysize = 3072]
+[n = 0ab54a4f2560b9f65faa2f83bcf77d41803c080e4e5c3eab3534210982bba8a5d7e513ba50ba1ece33555c5457c41ba58f3f605a04369408f586c26dfda464c7b300a01f1616893264c7606daad4ced14df9a894a1f34586181294297e3ceb9580b0c785c056d5c566467f6f227f3084918d1cd17ed156e7f9fcce4757c5794f92770771ea5cf3101ca0425c846775f56938c1d1cad4401f4df2f5e0d3a3b2770f99e3c1cb4d9d4896c7ca89287b45831218b099add4bdf1dab6e2fb55d2775429386c85dff32c07a6dda504a9627529dd82c943554aaf23c5a5f6cea9c301b4b1f066b86bbef2e4bae9dc5b5e82e1fa03c29ff8bf38556729b356d5ba41d37a069fcc8fc23ac715bbea04c1972a2d50c57cc0159a46b5919fb670fb2a502d5ab66f0aa99e51016b83a406943ce9bdf0ab9b9e946574a5b32ce95d97ac8b1fbb48f0bf7e3c0d4b7a00d131966d009997a166a6630dee4a74c141cde0114aa423351b1dfdd3893a856fc632b6d90dbc79c8a61a9f9e31702ba69fb222860e60a83]
+[sha = SHA-256]
+
+# tcId = 360
+# short signature
+msg = 34333630
+padding = 3031300d0609608648016503040201050004205d19d2275db8df24fd8e87092599d5b8c7c798f483bbb6cddb4310353b903971
+result = valid
+sig = 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011a21abeac8409398319e65c8656f8f72e179dd1e99358c7531fddc037e47c1e688cd70eafd6eea01c823516bc79f89d7e52ee1eb4ffdeaad1d550dc0a47185bc9c42e47fce5503c3370a60510f834b4691152ef668deca633cf3873ce6613951784aa7dafde118f37f1cdf1a687ac236d5c956bced564b73cf202e3bace59667
+
+[e = 3]
+[keyAsn = 3082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]
+[keyDer = 308201a0300d06092a864886f70d01010105000382018d003082018802820181008733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01020103]
+[keysize = 3072]
+[n = 08733b9c2bc754216fac899159abb71c5ca84be37153720040f33f291f5f7861bc122cafde3091b5211bc81ee03e280e3c6c2902ec49afb8432c3273536edce7116048513e9b33e2fcfe56f9597c81bc9be81a1b1d46e863ca11db2c33ac1bdebf7c552332067e2e588497e7d9e0738caa57a73dd28157e88fc202b31bbe3b9993548399a0b0df9b72dfeece75ecd78376227e9cd21c8d24ca4aa64fa50a59ee8e7621158e7bac2420fc0d77064d3959afab664ecda0decb8c979eb402795b9a562f2de310aa7fc6864469ac88867788c57ee96f6dc32dbdbe3aa7d3ff47ae4b78e1106e1bc80350b2383dae54140a4605f4130d7e5d3f7818262a27c76a51e4c6db4ab4590b4766b8c50ec1bfed53f0d716b5c7d9dc971399246c75ce27745147151f2e7629039f0b2efed99c7f17cda8f3c3df764dfb40cc0c2ad7bf2b6c72829df93329a4bad6be8635953dd10840888784eea738c763be9f5dc3ba47a9e9d800e21b4ffcc18193e591e8a5283192426e8867331c72bdda06a0eb49367bb01]
+[sha = SHA-512]
+
+# tcId = 361
+# short signature
+msg = 36313237
+padding = 3051300d060960864801650304020305000440925eb0238e4d842826b081a74083e55a2d89e67c524d5a903366c1e26afd1e478cb4779e6f69eb70e7034556745f6bddf9547987d8785a7deaa8765aaffbf2c5
+result = valid
+sig = 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001bdd0c9e451b5b3e5513a94492dbee1ada9ea87e65a8cd95cceb4d304294ce34bf09a212f14908f5b865c7a34a72e68e389794a2d1c5767ba17829e2044108ac7842b6bfe0a5663b433d656f4e38522c5a5a23c460b898833828d257350e5814291b54cf13089080f84998edcacf0fe5fca0c1f8b176b172c5f9989491a039bef
+
+[e = 3]
+[keyAsn = 30820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]
+[keyDer = 30820120300d06092a864886f70d01010105000382010d0030820108028201010092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d020103]
+[keysize = 2048]
+[n = 092bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240c11ebf97cd68c2aa19c787b3be21e68c0e397c7f04c6ef98950e27e0e19a40da92a3ea10800fe9252b77026d14c2fa1eb4ac102491e5773279f07d856d446f45169b09bf60b8a2695f5e4864eaaf9590aec8c7c2f86d]
+[sha = SHA-256]
+
+# tcId = 362
+# signature is close to n
+msg = 32353934
+padding = 3031300d0609608648016503040201050004208f87edbf7e3fbfba22df722036c493b7b8f35321b7d147f22c4789a9d0a4cbc1
+result = valid
+sig = 92bf17cdbffb42fa9957ce37826bb451708e7cdec8752b809c81a8d16fe5fe4dab6a9db6d11dbb12086645db7546642b322e8331dd7f29eff68bf40b24f80884f5152b1fda9b9f7ae2fce2721cdee0fc48f85a6e8e64f767ed9727fd2dc597967e276a5e2e768528afdd9df4b6ddda4c174300e4da3c19a3c32299e1e7857934c14dd6203d8c2671289bc392711597155364a59046b2b9f1905fe717ca7efebb4c1969b804118effa240b8bf4bb1a6d0616fd5be2f081dc9ef741a9a4ae7274418b791432de470c4556463108388e8e8ed5dcebf3558e4650c2ac97c86fa682176f09b5dd8cfbf15d19c3fe4f961f4607c12cb3dfad9b6a0e59c92faa1fc8622
+
diff --git a/src/third_party/wycheproof/x25519_test.json b/src/third_party/wycheproof_testvectors/x25519_test.json
similarity index 79%
rename from src/third_party/wycheproof/x25519_test.json
rename to src/third_party/wycheproof_testvectors/x25519_test.json
index 474bf44..3b16964 100644
--- a/src/third_party/wycheproof/x25519_test.json
+++ b/src/third_party/wycheproof_testvectors/x25519_test.json
@@ -1,10 +1,12 @@
 {
   "algorithm" : "X25519",
-  "generatorVersion" : "0.4",
-  "numberOfTests" : 72,
+  "generatorVersion" : "0.4.6",
   "notes" : {
+    "LowOrderPublic" : "Curve25519 or its twist contains some points of low order. This test vector contains a public key with such a point. While many libraries reject such public keys, doing so is not a strict requirement according to RFC 7748.",
+    "Small public key" : "The public key is insecure and does not belong to a valid private key. Some libraries reject such keys.",
     "Twist" : "Public keys are either points on curve25519 or points on its twist. Implementations may either reject such keys or compute X25519 using the twist. If a point multiplication is performed then it is important that the result is correct, since otherwise attacks with invalid keys are possible."
   },
+  "numberOfTests" : 87,
   "header" : [],
   "testGroups" : [
     {
@@ -22,6 +24,18 @@
         },
         {
           "tcId" : 2,
+          "comment" : "normal case",
+          "curve" : "curve25519",
+          "public" : "9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "4b82bd8650ea9b81a42181840926a4ffa16434d1bf298de1db87efb5b0a9e34e",
+          "result" : "valid",
+          "flags" : [
+            "LowOrderPublic"
+          ]
+        },
+        {
+          "tcId" : 3,
           "comment" : "public key on twist",
           "curve" : "curve25519",
           "public" : "63aa40c6e38346c5caf23a6df0a5e6c80889a08647e551b3563449befcfc9733",
@@ -33,7 +47,7 @@
           ]
         },
         {
-          "tcId" : 3,
+          "tcId" : 4,
           "comment" : "public key on twist",
           "curve" : "curve25519",
           "public" : "0f83c36fded9d32fadf4efa3ae93a90bb5cfa66893bc412c43fa7287dbb99779",
@@ -45,7 +59,7 @@
           ]
         },
         {
-          "tcId" : 4,
+          "tcId" : 5,
           "comment" : "public key on twist",
           "curve" : "curve25519",
           "public" : "0b8211a2b6049097f6871c6c052d3c5fc1ba17da9e32ae458403b05bb283092a",
@@ -57,7 +71,7 @@
           ]
         },
         {
-          "tcId" : 5,
+          "tcId" : 6,
           "comment" : "public key on twist",
           "curve" : "curve25519",
           "public" : "343ac20a3b9c6a27b1008176509ad30735856ec1c8d8fcae13912d08d152f46c",
@@ -69,7 +83,7 @@
           ]
         },
         {
-          "tcId" : 6,
+          "tcId" : 7,
           "comment" : "public key on twist",
           "curve" : "curve25519",
           "public" : "fa695fc7be8d1be5bf704898f388c452bafdd3b8eae805f8681a8d15c2d4e142",
@@ -81,87 +95,103 @@
           ]
         },
         {
-          "tcId" : 7,
+          "tcId" : 8,
           "comment" : "public key = 0",
           "curve" : "curve25519",
           "public" : "0000000000000000000000000000000000000000000000000000000000000000",
           "private" : "207494038f2bb811d47805bcdf04a2ac585ada7f2f23389bfd4658f9ddd4debc",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Small public key"
+          ]
         },
         {
-          "tcId" : 8,
+          "tcId" : 9,
           "comment" : "public key = 1",
           "curve" : "curve25519",
           "public" : "0100000000000000000000000000000000000000000000000000000000000000",
           "private" : "202e8972b61c7e61930eb9450b5070eae1c670475685541f0476217e4818cfab",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Small public key"
+          ]
         },
         {
-          "tcId" : 9,
+          "tcId" : 10,
           "comment" : "edge case on twist",
           "curve" : "curve25519",
           "public" : "0200000000000000000000000000000000000000000000000000000000000000",
           "private" : "38dde9f3e7b799045f9ac3793d4a9277dadeadc41bec0290f81f744f73775f84",
           "shared" : "9a2cfe84ff9c4a9739625cae4a3b82a906877a441946f8d7b3d795fe8f5d1639",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 10,
+          "tcId" : 11,
           "comment" : "edge case on twist",
           "curve" : "curve25519",
           "public" : "0300000000000000000000000000000000000000000000000000000000000000",
           "private" : "9857a914e3c29036fd9a442ba526b5cdcdf28216153e636c10677acab6bd6aa5",
           "shared" : "4da4e0aa072c232ee2f0fa4e519ae50b52c1edd08a534d4ef346c2e106d21d60",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 11,
+          "tcId" : 12,
           "comment" : "edge case on twist",
           "curve" : "curve25519",
           "public" : "ffffff030000f8ffff1f0000c0ffffff000000feffff070000f0ffff3f000000",
           "private" : "48e2130d723305ed05e6e5894d398a5e33367a8c6aac8fcdf0a88e4b42820db7",
           "shared" : "9ed10c53747f647f82f45125d3de15a1e6b824496ab40410ffcc3cfe95760f3b",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 12,
+          "tcId" : 13,
           "comment" : "edge case on twist",
           "curve" : "curve25519",
           "public" : "000000fcffff070000e0ffff3f000000ffffff010000f8ffff0f0000c0ffff7f",
           "private" : "28f41011691851b3a62b641553b30d0dfddcb8fffcf53700a7be2f6a872e9fb0",
           "shared" : "cf72b4aa6aa1c9f894f4165b86109aa468517648e1f0cc70e1ab08460176506b",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 13,
+          "tcId" : 14,
           "comment" : "edge case on twist",
           "curve" : "curve25519",
           "public" : "00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffff7f",
           "private" : "18a93b6499b9f6b3225ca02fef410e0adec23532321d2d8ef1a6d602a8c65b83",
           "shared" : "5d50b62836bb69579410386cf7bb811c14bf85b1c7b17e5924c7ffea91ef9e12",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 14,
+          "tcId" : 15,
           "comment" : "edge case on twist",
           "curve" : "curve25519",
           "public" : "eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
           "private" : "c01d1305a1338a1fcac2ba7e2e032b427e0b04903165aca957d8d0553d8717b0",
           "shared" : "19230eb148d5d67c3c22ab1daeff80a57eae4265ce2872657b2c8099fc698e50",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 15,
+          "tcId" : 16,
           "comment" : "edge case for public key",
           "curve" : "curve25519",
           "public" : "0400000000000000000000000000000000000000000000000000000000000000",
@@ -171,7 +201,7 @@
           "flags" : []
         },
         {
-          "tcId" : 16,
+          "tcId" : 17,
           "comment" : "edge case for public key",
           "curve" : "curve25519",
           "public" : "ffffffff00000000ffffffff00000000ffffffff00000000ffffffff00000000",
@@ -181,7 +211,7 @@
           "flags" : []
         },
         {
-          "tcId" : 17,
+          "tcId" : 18,
           "comment" : "edge case for public key",
           "curve" : "curve25519",
           "public" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03",
@@ -191,7 +221,7 @@
           "flags" : []
         },
         {
-          "tcId" : 18,
+          "tcId" : 19,
           "comment" : "edge case for public key",
           "curve" : "curve25519",
           "public" : "fffffffbfffffbffffdfffffdffffffffefffffefffff7fffff7ffffbfffff3f",
@@ -201,7 +231,7 @@
           "flags" : []
         },
         {
-          "tcId" : 19,
+          "tcId" : 20,
           "comment" : "edge case for public key",
           "curve" : "curve25519",
           "public" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f",
@@ -211,7 +241,7 @@
           "flags" : []
         },
         {
-          "tcId" : 20,
+          "tcId" : 21,
           "comment" : "edge case for public key",
           "curve" : "curve25519",
           "public" : "fffffffffeffff7ffffffffffeffff7ffffffffffeffff7ffffffffffeffff7f",
@@ -221,7 +251,7 @@
           "flags" : []
         },
         {
-          "tcId" : 21,
+          "tcId" : 22,
           "comment" : "edge case for public key",
           "curve" : "curve25519",
           "public" : "ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
@@ -231,127 +261,291 @@
           "flags" : []
         },
         {
-          "tcId" : 22,
+          "tcId" : 23,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800",
           "private" : "10255c9230a97a30a458ca284a629669293a31890cda9d147febc7d1e22d6bb1",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 23,
+          "tcId" : 24,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157",
           "private" : "78f1e8edf14481b389448dac8f59c70b038e7cf92ef2c7eff57a72466e115296",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 24,
+          "tcId" : 25,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
           "private" : "a0a05a3e8f9f44204d5f8059a94ac7dfc39a49ac016dd743dbfa43c5d671fd88",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 25,
+          "tcId" : 26,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
           "private" : "d0dbb3ed1906663f15420af31f4eaf6509d9a9949723500605ad7c1c6e7450a9",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 26,
+          "tcId" : 27,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
           "private" : "c0b1d0eb22b244fe3291140072cdd9d989b5f0ecd96c100feb5bca241c1d9f8f",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 27,
+          "tcId" : 28,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "0000000000000000000000000000000000000000000000000000000000000080",
           "private" : "480bf45f594942a8bc0f3353c6e8b8853d77f351f1c2ca6c2d1abf8a00b4229c",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 28,
+          "tcId" : 29,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "0100000000000000000000000000000000000000000000000000000000000080",
           "private" : "30f993fcf8514fc89bd8db14cd43ba0d4b2530e73c4276a05e1b145d420cedb4",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 29,
+          "tcId" : 30,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880",
           "private" : "c04974b758380e2a5b5df6eb09bb2f6b3434f982722a8e676d3da251d1b3de83",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 30,
+          "tcId" : 31,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7",
           "private" : "502a31373db32446842fe5add3e024022ea54f274182afc3d9f1bb3d39534eb5",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 31,
+          "tcId" : 32,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "private" : "90fa6417b0e37030fd6e43eff2abaef14c6793117a039cf621318ba90f4e98be",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 32,
+          "tcId" : 33,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "private" : "78ad3f26027f1c9fdd975a1613b947779bad2cf2b741ade01840885a30bb979c",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "LowOrderPublic"
+          ]
         },
         {
-          "tcId" : 33,
+          "tcId" : 34,
           "comment" : "public key with low order",
           "curve" : "curve25519",
           "public" : "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
           "private" : "98e23de7b1e0926ed9c87e7b14baf55f497a1d7096f93977680e44dc1c7b7b8b",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
+          "flags" : [
+            "LowOrderPublic"
+          ]
+        },
+        {
+          "tcId" : 35,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
           "flags" : []
         },
         {
-          "tcId" : 34,
+          "tcId" : 36,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "0100000000000000000000000000000000000000000000000000000000000000",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 37,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 38,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 39,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 40,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 41,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 42,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "0000000000000000000000000000000000000000000000000000000000000080",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 43,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "0100000000000000000000000000000000000000000000000000000000000080",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 44,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 45,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 46,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 47,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 48,
+          "comment" : "public key with low order",
+          "curve" : "curve25519",
+          "public" : "eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
+          "private" : "1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae",
+          "shared" : "0000000000000000000000000000000000000000000000000000000000000000",
+          "result" : "acceptable",
+          "flags" : []
+        },
+        {
+          "tcId" : 49,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
@@ -361,7 +555,7 @@
           "flags" : []
         },
         {
-          "tcId" : 35,
+          "tcId" : 50,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
@@ -371,7 +565,7 @@
           "flags" : []
         },
         {
-          "tcId" : 36,
+          "tcId" : 51,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
@@ -381,7 +575,7 @@
           "flags" : []
         },
         {
-          "tcId" : 37,
+          "tcId" : 52,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
@@ -391,7 +585,7 @@
           "flags" : []
         },
         {
-          "tcId" : 38,
+          "tcId" : 53,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "0200000000000000000000000000000000000000000000000000000000000080",
@@ -401,7 +595,7 @@
           "flags" : []
         },
         {
-          "tcId" : 39,
+          "tcId" : 54,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "0300000000000000000000000000000000000000000000000000000000000080",
@@ -411,7 +605,7 @@
           "flags" : []
         },
         {
-          "tcId" : 40,
+          "tcId" : 55,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "0400000000000000000000000000000000000000000000000000000000000080",
@@ -421,7 +615,7 @@
           "flags" : []
         },
         {
-          "tcId" : 41,
+          "tcId" : 56,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "daffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -431,7 +625,7 @@
           "flags" : []
         },
         {
-          "tcId" : 42,
+          "tcId" : 57,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -441,7 +635,7 @@
           "flags" : []
         },
         {
-          "tcId" : 43,
+          "tcId" : 58,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "dcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -451,7 +645,7 @@
           "flags" : []
         },
         {
-          "tcId" : 44,
+          "tcId" : 59,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -461,7 +655,7 @@
           "flags" : []
         },
         {
-          "tcId" : 45,
+          "tcId" : 60,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "ebffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -471,7 +665,7 @@
           "flags" : []
         },
         {
-          "tcId" : 46,
+          "tcId" : 61,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "efffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -481,7 +675,7 @@
           "flags" : []
         },
         {
-          "tcId" : 47,
+          "tcId" : 62,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "f0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -491,7 +685,7 @@
           "flags" : []
         },
         {
-          "tcId" : 48,
+          "tcId" : 63,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "f1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -501,7 +695,7 @@
           "flags" : []
         },
         {
-          "tcId" : 49,
+          "tcId" : 64,
           "comment" : "public key >= p",
           "curve" : "curve25519",
           "public" : "ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
@@ -511,7 +705,7 @@
           "flags" : []
         },
         {
-          "tcId" : 50,
+          "tcId" : 65,
           "comment" : "RFC 7748",
           "curve" : "curve25519",
           "public" : "e6db6867583030db3594c1a424b15f7c726624ec26b3353b10a903a6d0ab1c4c",
@@ -521,7 +715,7 @@
           "flags" : []
         },
         {
-          "tcId" : 51,
+          "tcId" : 66,
           "comment" : "RFC 7748",
           "curve" : "curve25519",
           "public" : "e5210f12786811d3f4b7959d0538ae2c31dbe7106fc03c3efc4cd549c715a413",
@@ -531,17 +725,19 @@
           "flags" : []
         },
         {
-          "tcId" : 52,
+          "tcId" : 67,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "0ab4e76380d84dde4f6833c58f2a9fb8f83bb0169b172be4b6e0592887741a36",
           "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
           "shared" : "0200000000000000000000000000000000000000000000000000000000000000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 53,
+          "tcId" : 68,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "89e10d5701b4337d2d032181538b1064bd4084401ceca1fd12663a1959388000",
@@ -551,7 +747,7 @@
           "flags" : []
         },
         {
-          "tcId" : 54,
+          "tcId" : 69,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "2b55d3aa4a8f80c8c0b2ae5f933e85af49beac36c2fa7394bab76c8933f8f81d",
@@ -561,17 +757,19 @@
           "flags" : []
         },
         {
-          "tcId" : 55,
+          "tcId" : 70,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "63e5b1fe9601fe84385d8866b0421262f78fbfa5aff9585e626679b18547d959",
           "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
           "shared" : "feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 56,
+          "tcId" : 71,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "e428f3dac17809f827a522ce32355058d07369364aa78902ee10139b9f9dd653",
@@ -581,17 +779,19 @@
           "flags" : []
         },
         {
-          "tcId" : 57,
+          "tcId" : 72,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "b3b50e3ed3a407b95de942ef74575b5ab8a10c09ee103544d60bdfed8138ab2b",
           "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
           "shared" : "f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 58,
+          "tcId" : 73,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "213fffe93d5ea8cd242e462844029922c43c77c9e3e42f562f485d24c501a20b",
@@ -601,7 +801,7 @@
           "flags" : []
         },
         {
-          "tcId" : 59,
+          "tcId" : 74,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "91b232a178b3cd530932441e6139418f72172292f1da4c1834fc5ebfefb51e3f",
@@ -611,27 +811,31 @@
           "flags" : []
         },
         {
-          "tcId" : 60,
+          "tcId" : 75,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "045c6e11c5d332556c7822fe94ebf89b56a3878dc27ca079103058849fabcb4f",
           "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
           "shared" : "e5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 61,
+          "tcId" : 76,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "1ca2190b71163539063c35773bda0c9c928e9136f0620aeb093f099197b7f74e",
           "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
           "shared" : "e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 62,
+          "tcId" : 77,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "f76e9010ac33c5043b2d3b76a842171000c4916222e9e85897a0aec7f6350b3c",
@@ -641,37 +845,43 @@
           "flags" : []
         },
         {
-          "tcId" : 63,
+          "tcId" : 78,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "bb72688d8f8aa7a39cd6060cd5c8093cdec6fe341937c3886a99346cd07faa55",
           "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
           "shared" : "dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 64,
+          "tcId" : 79,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "88fddea193391c6a5933ef9b71901549447205aae9da928a6b91a352ba10f41f",
           "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
           "shared" : "0000000000000000000000000000000000000000000000000000000000000002",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 65,
+          "tcId" : 80,
           "comment" : "edge case for shared secret",
           "curve" : "curve25519",
           "public" : "303b392f153116cad9cc682a00ccc44c95ff0d3bbe568beb6c4e739bafdc2c68",
           "private" : "a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63",
           "shared" : "0000000000000000000000000000000000000000000000000000000000008000",
           "result" : "acceptable",
-          "flags" : []
+          "flags" : [
+            "Twist"
+          ]
         },
         {
-          "tcId" : 66,
+          "tcId" : 81,
           "comment" : "checking for overflow",
           "curve" : "curve25519",
           "public" : "fd300aeb40e1fa582518412b49b208a7842b1e1f056a040178ea4141534f652d",
@@ -681,7 +891,7 @@
           "flags" : []
         },
         {
-          "tcId" : 67,
+          "tcId" : 82,
           "comment" : "checking for overflow",
           "curve" : "curve25519",
           "public" : "c8ef79b514d7682677bc7931e06ee5c27c9b392b4ae9484473f554e6678ecc2e",
@@ -691,7 +901,7 @@
           "flags" : []
         },
         {
-          "tcId" : 68,
+          "tcId" : 83,
           "comment" : "checking for overflow",
           "curve" : "curve25519",
           "public" : "64aeac2504144861532b7bbcb6c87d67dd4c1f07ebc2e06effb95aecc6170b2c",
@@ -701,7 +911,7 @@
           "flags" : []
         },
         {
-          "tcId" : 69,
+          "tcId" : 84,
           "comment" : "checking for overflow",
           "curve" : "curve25519",
           "public" : "bf68e35e9bdb7eee1b50570221860f5dcdad8acbab031b14974cc49013c49831",
@@ -711,7 +921,7 @@
           "flags" : []
         },
         {
-          "tcId" : 70,
+          "tcId" : 85,
           "comment" : "checking for overflow",
           "curve" : "curve25519",
           "public" : "5347c491331a64b43ddc683034e677f53dc32b52a52a577c15a83bf298e99f19",
@@ -721,7 +931,7 @@
           "flags" : []
         },
         {
-          "tcId" : 71,
+          "tcId" : 86,
           "comment" : "private key == -1 (mod order)",
           "curve" : "curve25519",
           "public" : "258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75",
@@ -731,7 +941,7 @@
           "flags" : []
         },
         {
-          "tcId" : 72,
+          "tcId" : 87,
           "comment" : "private key == 1 (mod order) on twist",
           "curve" : "curve25519",
           "public" : "2eae5ec3dd494e9f2d37d258f873a8e6e9d0dbd1e383ef64d98bb91b3e0be035",
diff --git a/src/third_party/wycheproof/x25519_test.txt b/src/third_party/wycheproof_testvectors/x25519_test.txt
similarity index 63%
rename from src/third_party/wycheproof/x25519_test.txt
rename to src/third_party/wycheproof_testvectors/x25519_test.txt
index d474128..5f6f149 100644
--- a/src/third_party/wycheproof/x25519_test.txt
+++ b/src/third_party/wycheproof_testvectors/x25519_test.txt
@@ -2,10 +2,11 @@
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
 # Algorithm: X25519
-# Generator version: 0.4
+# Generator version: 0.4.6
 
 [curve = curve25519]
 
+# tcId = 1
 # normal case
 curve = curve25519
 private = 4852834d9d6b77dadeabaaf2e11dca66d19fe74993a7bec36c6e16a0983feaba
@@ -13,6 +14,18 @@
 result = valid
 shared = 87b7f212b627f7a54ca5e0bcdaddd5389d9de6156cdbcf8ebe14ffbcfb436551
 
+# tcId = 2
+# normal case
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = 9c647d9ae589b9f58fdc3ca4947efbc915c4b2e08e744a0edf469dac59c8f85a
+result = valid
+shared = 4b82bd8650ea9b81a42181840926a4ffa16434d1bf298de1db87efb5b0a9e34e
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
+
+# tcId = 3
 # public key on twist
 curve = curve25519
 private = 588c061a50804ac488ad774ac716c3f5ba714b2712e048491379a500211998a8
@@ -24,6 +37,7 @@
 # If a point multiplication is performed then it is important that the result is
 # correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 4
 # public key on twist
 curve = curve25519
 private = b05bfd32e55325d9fd648cb302848039000b390e44d521e58aab3b29a6960ba8
@@ -35,6 +49,7 @@
 # If a point multiplication is performed then it is important that the result is
 # correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 5
 # public key on twist
 curve = curve25519
 private = 70e34bcbe1f47fbc0fddfd7c1e1aa53d57bfe0f66d243067b424bb6210bed19c
@@ -46,6 +61,7 @@
 # If a point multiplication is performed then it is important that the result is
 # correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 6
 # public key on twist
 curve = curve25519
 private = 68c1f3a653a4cdb1d37bba94738f8b957a57beb24d646e994dc29a276aad458d
@@ -57,6 +73,7 @@
 # If a point multiplication is performed then it is important that the result is
 # correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 7
 # public key on twist
 curve = curve25519
 private = d877b26d06dff9d9f7fd4c5b3769f8cdd5b30516a5ab806be324ff3eb69ea0b2
@@ -68,62 +85,99 @@
 # If a point multiplication is performed then it is important that the result is
 # correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 8
 # public key = 0
 curve = curve25519
 private = 207494038f2bb811d47805bcdf04a2ac585ada7f2f23389bfd4658f9ddd4debc
 public = 0000000000000000000000000000000000000000000000000000000000000000
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# The public key is insecure and does not belong to a valid private key. Some
+# libraries reject such keys.
 
+# tcId = 9
 # public key = 1
 curve = curve25519
 private = 202e8972b61c7e61930eb9450b5070eae1c670475685541f0476217e4818cfab
 public = 0100000000000000000000000000000000000000000000000000000000000000
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# The public key is insecure and does not belong to a valid private key. Some
+# libraries reject such keys.
 
+# tcId = 10
 # edge case on twist
 curve = curve25519
 private = 38dde9f3e7b799045f9ac3793d4a9277dadeadc41bec0290f81f744f73775f84
 public = 0200000000000000000000000000000000000000000000000000000000000000
 result = acceptable
 shared = 9a2cfe84ff9c4a9739625cae4a3b82a906877a441946f8d7b3d795fe8f5d1639
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 11
 # edge case on twist
 curve = curve25519
 private = 9857a914e3c29036fd9a442ba526b5cdcdf28216153e636c10677acab6bd6aa5
 public = 0300000000000000000000000000000000000000000000000000000000000000
 result = acceptable
 shared = 4da4e0aa072c232ee2f0fa4e519ae50b52c1edd08a534d4ef346c2e106d21d60
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 12
 # edge case on twist
 curve = curve25519
 private = 48e2130d723305ed05e6e5894d398a5e33367a8c6aac8fcdf0a88e4b42820db7
 public = ffffff030000f8ffff1f0000c0ffffff000000feffff070000f0ffff3f000000
 result = acceptable
 shared = 9ed10c53747f647f82f45125d3de15a1e6b824496ab40410ffcc3cfe95760f3b
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 13
 # edge case on twist
 curve = curve25519
 private = 28f41011691851b3a62b641553b30d0dfddcb8fffcf53700a7be2f6a872e9fb0
 public = 000000fcffff070000e0ffff3f000000ffffff010000f8ffff0f0000c0ffff7f
 result = acceptable
 shared = cf72b4aa6aa1c9f894f4165b86109aa468517648e1f0cc70e1ab08460176506b
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 14
 # edge case on twist
 curve = curve25519
 private = 18a93b6499b9f6b3225ca02fef410e0adec23532321d2d8ef1a6d602a8c65b83
 public = 00000000ffffffff00000000ffffffff00000000ffffffff00000000ffffff7f
 result = acceptable
 shared = 5d50b62836bb69579410386cf7bb811c14bf85b1c7b17e5924c7ffea91ef9e12
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 15
 # edge case on twist
 curve = curve25519
 private = c01d1305a1338a1fcac2ba7e2e032b427e0b04903165aca957d8d0553d8717b0
 public = eaffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 result = acceptable
 shared = 19230eb148d5d67c3c22ab1daeff80a57eae4265ce2872657b2c8099fc698e50
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 16
 # edge case for public key
 curve = curve25519
 private = 386f7f16c50731d64f82e6a170b142a4e34f31fd7768fcb8902925e7d1e21abe
@@ -131,6 +185,7 @@
 result = valid
 shared = 0fcab5d842a078d7a71fc59b57bfb4ca0be6873b49dcdb9f44e14ae8fbdfa542
 
+# tcId = 17
 # edge case for public key
 curve = curve25519
 private = e023a289bd5e90fa2804ddc019a05ef3e79d434bb6ea2f522ecb643a75296e95
@@ -138,6 +193,7 @@
 result = valid
 shared = 54ce8f2275c077e3b1306a3939c5e03eef6bbb88060544758d9fef59b0bc3e4f
 
+# tcId = 18
 # edge case for public key
 curve = curve25519
 private = 68f010d62ee8d926053a361c3a75c6ea4ebdc8606ab285003a6f8f4076b01e83
@@ -145,6 +201,7 @@
 result = valid
 shared = f136775c5beb0af8110af10b20372332043cab752419678775a223df57c9d30d
 
+# tcId = 19
 # edge case for public key
 curve = curve25519
 private = 58ebcb35b0f8845caf1ec630f96576b62c4b7b6c36b29deb2cb0084651755c96
@@ -152,6 +209,7 @@
 result = valid
 shared = bf9affd06b844085586460962ef2146ff3d4533d9444aab006eb88cc3054407d
 
+# tcId = 20
 # edge case for public key
 curve = curve25519
 private = 188c4bc5b9c44b38bb658b9b2ae82d5b01015e093184b17cb7863503a783e1bb
@@ -159,6 +217,7 @@
 result = valid
 shared = d480de04f699cb3be0684a9cc2e31281ea0bc5a9dcc157d3d20158d46ca5246d
 
+# tcId = 21
 # edge case for public key
 curve = curve25519
 private = e06c11bb2e13ce3dc7673f67f5482242909423a9ae95ee986a988d98faee23a2
@@ -166,6 +225,7 @@
 result = valid
 shared = 4c4401cce6b51e4cb18f2790246c9bf914db667750a1cb89069092af07292276
 
+# tcId = 22
 # edge case for public key
 curve = curve25519
 private = c0658c46dde18129293877535b1162b6f9f5414a23cf4d2cbc140a4d99da2b8f
@@ -173,90 +233,251 @@
 result = valid
 shared = 578ba8cc2dbdc575afcf9df2b3ee6189f5337d6854c79b4ce165ea12293b3a0f
 
+# tcId = 23
 # public key with low order
 curve = curve25519
 private = 10255c9230a97a30a458ca284a629669293a31890cda9d147febc7d1e22d6bb1
 public = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 24
 # public key with low order
 curve = curve25519
 private = 78f1e8edf14481b389448dac8f59c70b038e7cf92ef2c7eff57a72466e115296
 public = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 25
 # public key with low order
 curve = curve25519
 private = a0a05a3e8f9f44204d5f8059a94ac7dfc39a49ac016dd743dbfa43c5d671fd88
 public = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 26
 # public key with low order
 curve = curve25519
 private = d0dbb3ed1906663f15420af31f4eaf6509d9a9949723500605ad7c1c6e7450a9
 public = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 27
 # public key with low order
 curve = curve25519
 private = c0b1d0eb22b244fe3291140072cdd9d989b5f0ecd96c100feb5bca241c1d9f8f
 public = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 28
 # public key with low order
 curve = curve25519
 private = 480bf45f594942a8bc0f3353c6e8b8853d77f351f1c2ca6c2d1abf8a00b4229c
 public = 0000000000000000000000000000000000000000000000000000000000000080
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 29
 # public key with low order
 curve = curve25519
 private = 30f993fcf8514fc89bd8db14cd43ba0d4b2530e73c4276a05e1b145d420cedb4
 public = 0100000000000000000000000000000000000000000000000000000000000080
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 30
 # public key with low order
 curve = curve25519
 private = c04974b758380e2a5b5df6eb09bb2f6b3434f982722a8e676d3da251d1b3de83
 public = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 31
 # public key with low order
 curve = curve25519
 private = 502a31373db32446842fe5add3e024022ea54f274182afc3d9f1bb3d39534eb5
 public = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 32
 # public key with low order
 curve = curve25519
 private = 90fa6417b0e37030fd6e43eff2abaef14c6793117a039cf621318ba90f4e98be
 public = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 33
 # public key with low order
 curve = curve25519
 private = 78ad3f26027f1c9fdd975a1613b947779bad2cf2b741ade01840885a30bb979c
 public = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 34
 # public key with low order
 curve = curve25519
 private = 98e23de7b1e0926ed9c87e7b14baf55f497a1d7096f93977680e44dc1c7b7b8b
 public = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000000
+# Curve25519 or its twist contains some points of low order. This test vector
+# contains a public key with such a point. While many libraries reject such
+# public keys, doing so is not a strict requirement according to RFC 7748.
 
+# tcId = 35
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = 0000000000000000000000000000000000000000000000000000000000000000
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 36
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = 0100000000000000000000000000000000000000000000000000000000000000
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 37
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 38
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f1157
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 39
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b800
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 40
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 41
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 42
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = 0000000000000000000000000000000000000000000000000000000000000080
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 43
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = 0100000000000000000000000000000000000000000000000000000000000080
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 44
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 45
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = 5f9c95bca3508c24b1d0b1559c83ef5b04445cc4581c8e86d8224eddd09f11d7
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 46
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = e0eb7a7c3b41b8ae1656e3faf19fc46ada098deb9c32b1fd866205165f49b880
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 47
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = edffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 48
+# public key with low order
+curve = curve25519
+private = 1064a67da639a8f6df4fbea2d63358b65bca80a770712e14ea8a72df5a3313ae
+public = eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
+result = acceptable
+shared = 0000000000000000000000000000000000000000000000000000000000000000
+
+# tcId = 49
 # public key >= p
 curve = curve25519
 private = f01e48dafac9d7bcf589cbc382c878d18bda3550589ffb5d50b523bebe329dae
@@ -264,6 +485,7 @@
 result = acceptable
 shared = bd36a0790eb883098c988b21786773de0b3a4df162282cf110de18dd484ce74b
 
+# tcId = 50
 # public key >= p
 curve = curve25519
 private = 288796bc5aff4b81a37501757bc0753a3c21964790d38699308debc17a6eaf8d
@@ -271,6 +493,7 @@
 result = acceptable
 shared = b4e0dd76da7b071728b61f856771aa356e57eda78a5b1655cc3820fb5f854c5c
 
+# tcId = 51
 # public key >= p
 curve = curve25519
 private = 98df845f6651bf1138221f119041f72b6dbc3c4ace7143d99fd55ad867480da8
@@ -278,6 +501,7 @@
 result = acceptable
 shared = 6fdf6c37611dbd5304dc0f2eb7c9517eb3c50e12fd050ac6dec27071d4bfc034
 
+# tcId = 52
 # public key >= p
 curve = curve25519
 private = f09498e46f02f878829e78b803d316a2ed695d0498a08abdf8276930e24edcb0
@@ -285,6 +509,7 @@
 result = acceptable
 shared = 4c8fc4b1c6ab88fb21f18f6d4c810240d4e94651ba44f7a2c863cec7dc56602d
 
+# tcId = 53
 # public key >= p
 curve = curve25519
 private = 1813c10a5c7f21f96e17f288c0cc37607c04c5f5aea2db134f9e2ffc66bd9db8
@@ -292,6 +517,7 @@
 result = acceptable
 shared = 1cd0b28267dc541c642d6d7dca44a8b38a63736eef5c4e6501ffbbb1780c033c
 
+# tcId = 54
 # public key >= p
 curve = curve25519
 private = 7857fb808653645a0beb138a64f5f4d733a45ea84c3cda11a9c06f7e7139149e
@@ -299,6 +525,7 @@
 result = acceptable
 shared = 8755be01c60a7e825cff3e0e78cb3aa4333861516aa59b1c51a8b2a543dfa822
 
+# tcId = 55
 # public key >= p
 curve = curve25519
 private = e03aa842e2abc56e81e87b8b9f417b2a1e5913c723eed28d752f8d47a59f498f
@@ -306,6 +533,7 @@
 result = acceptable
 shared = 54c9a1ed95e546d27822a360931dda60a1df049da6f904253c0612bbdc087476
 
+# tcId = 56
 # public key >= p
 curve = curve25519
 private = f8f707b7999b18cb0d6b96124f2045972ca274bfc154ad0c87038c24c6d0d4b2
@@ -313,6 +541,7 @@
 result = acceptable
 shared = cc1f40d743cdc2230e1043daba8b75e810f1fbab7f255269bd9ebb29e6bf494f
 
+# tcId = 57
 # public key >= p
 curve = curve25519
 private = a034f684fa631e1a348118c1ce4c98231f2d9eec9ba5365b4a05d69a785b0796
@@ -320,6 +549,7 @@
 result = acceptable
 shared = 54998ee43a5b007bf499f078e736524400a8b5c7e9b9b43771748c7cdf880412
 
+# tcId = 58
 # public key >= p
 curve = curve25519
 private = 30b6c6a0f2ffa680768f992ba89e152d5bc9893d38c9119be4f767bfab6e0ca5
@@ -327,6 +557,7 @@
 result = acceptable
 shared = ead9b38efdd723637934e55ab717a7ae09eb86a21dc36a3feeb88b759e391e09
 
+# tcId = 59
 # public key >= p
 curve = curve25519
 private = 901b9dcf881e01e027575035d40b43bdc1c5242e030847495b0c7286469b6591
@@ -334,6 +565,7 @@
 result = acceptable
 shared = 602ff40789b54b41805915fe2a6221f07a50ffc2c3fc94cf61f13d7904e88e0e
 
+# tcId = 60
 # public key >= p
 curve = curve25519
 private = 8046677c28fd82c9a1bdb71a1a1a34faba1225e2507fe3f54d10bd5b0d865f8e
@@ -341,6 +573,7 @@
 result = acceptable
 shared = e00ae8b143471247ba24f12c885536c3cb981b58e1e56b2baf35c12ae1f79c26
 
+# tcId = 61
 # public key >= p
 curve = curve25519
 private = 602f7e2f68a846b82cc269b1d48e939886ae54fd636c1fe074d710127d472491
@@ -348,6 +581,7 @@
 result = acceptable
 shared = 98cb9b50dd3fc2b0d4f2d2bf7c5cfdd10c8fcd31fc40af1ad44f47c131376362
 
+# tcId = 62
 # public key >= p
 curve = curve25519
 private = 60887b3dc72443026ebedbbbb70665f42b87add1440e7768fbd7e8e2ce5f639d
@@ -355,6 +589,7 @@
 result = acceptable
 shared = 38d6304c4a7e6d9f7959334fb5245bd2c754525d4c91db950206926234c1f633
 
+# tcId = 63
 # public key >= p
 curve = curve25519
 private = 78d31dfa854497d72d8def8a1b7fb006cec2d8c4924647c93814ae56faeda495
@@ -362,6 +597,7 @@
 result = acceptable
 shared = 786cd54996f014a5a031ec14db812ed08355061fdb5de680a800ac521f318e23
 
+# tcId = 64
 # public key >= p
 curve = curve25519
 private = c04c5baefa8302ddded6a4bb957761b4eb97aefa4fc3b8043085f96a5659b3a5
@@ -369,6 +605,7 @@
 result = acceptable
 shared = 29ae8bc73e9b10a08b4f681c43c3e0ac1a171d31b38f1a48efba29ae639ea134
 
+# tcId = 65
 # RFC 7748
 curve = curve25519
 private = a046e36bf0527c9d3b16154b82465edd62144c0ac1fc5a18506a2244ba449a44
@@ -376,6 +613,7 @@
 result = valid
 shared = c3da55379de9c6908e94ea4df28d084f32eccf03491c71f754b4075577a28552
 
+# tcId = 66
 # RFC 7748
 curve = curve25519
 private = 4866e9d4d1b4673c5ad22691957d6af5c11b6421e0ea01d42ca4169e7918ba4d
@@ -383,13 +621,19 @@
 result = valid
 shared = 95cbde9476e8907d7aade45cb4b873f88b595a68799fa152e6f8f7647aac7957
 
+# tcId = 67
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
 public = 0ab4e76380d84dde4f6833c58f2a9fb8f83bb0169b172be4b6e0592887741a36
 result = acceptable
 shared = 0200000000000000000000000000000000000000000000000000000000000000
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 68
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
@@ -397,6 +641,7 @@
 result = valid
 shared = 0900000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 69
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
@@ -404,13 +649,19 @@
 result = valid
 shared = 1000000000000000000000000000000000000000000000000000000000000000
 
+# tcId = 70
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
 public = 63e5b1fe9601fe84385d8866b0421262f78fbfa5aff9585e626679b18547d959
 result = acceptable
 shared = feffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 71
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
@@ -418,13 +669,19 @@
 result = valid
 shared = fcffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f
 
+# tcId = 72
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
 public = b3b50e3ed3a407b95de942ef74575b5ab8a10c09ee103544d60bdfed8138ab2b
 result = acceptable
 shared = f9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 73
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
@@ -432,6 +689,7 @@
 result = valid
 shared = f3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3f
 
+# tcId = 74
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
@@ -439,20 +697,31 @@
 result = valid
 shared = ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03
 
+# tcId = 75
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
 public = 045c6e11c5d332556c7822fe94ebf89b56a3878dc27ca079103058849fabcb4f
 result = acceptable
 shared = e5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 76
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
 public = 1ca2190b71163539063c35773bda0c9c928e9136f0620aeb093f099197b7f74e
 result = acceptable
 shared = e3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 77
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
@@ -460,27 +729,43 @@
 result = valid
 shared = ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
 
+# tcId = 78
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
 public = bb72688d8f8aa7a39cd6060cd5c8093cdec6fe341937c3886a99346cd07faa55
 result = acceptable
 shared = dbffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 79
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
 public = 88fddea193391c6a5933ef9b71901549447205aae9da928a6b91a352ba10f41f
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000000002
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 80
 # edge case for shared secret
 curve = curve25519
 private = a0a4f130b98a5be4b1cedb7cb85584a3520e142d474dc9ccb909a073a976bf63
 public = 303b392f153116cad9cc682a00ccc44c95ff0d3bbe568beb6c4e739bafdc2c68
 result = acceptable
 shared = 0000000000000000000000000000000000000000000000000000000000008000
+# Public keys are either points on curve25519 or points on its twist.
+# Implementations may either reject such keys or compute X25519 using the twist.
+# If a point multiplication is performed then it is important that the result is
+# correct, since otherwise attacks with invalid keys are possible.
 
+# tcId = 81
 # checking for overflow
 curve = curve25519
 private = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2
@@ -488,6 +773,7 @@
 result = valid
 shared = b734105dc257585d73b566ccb76f062795ccbec89128e52b02f3e59639f13c46
 
+# tcId = 82
 # checking for overflow
 curve = curve25519
 private = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2
@@ -495,6 +781,7 @@
 result = valid
 shared = 647a46b6fc3f40d62141ee3cee706b4d7a9271593a7b143e8e2e2279883e4550
 
+# tcId = 83
 # checking for overflow
 curve = curve25519
 private = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2
@@ -502,6 +789,7 @@
 result = valid
 shared = 4ff03d5fb43cd8657a3cf37c138cadcecce509e4eba089d0ef40b4e4fb946155
 
+# tcId = 84
 # checking for overflow
 curve = curve25519
 private = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2
@@ -509,6 +797,7 @@
 result = valid
 shared = 21cee52efdbc812e1d021a4af1e1d8bc4db3c400e4d2a2c56a3926db4d99c65b
 
+# tcId = 85
 # checking for overflow
 curve = curve25519
 private = c81724704000b26d31703cc97e3a378d56fad8219361c88cca8bd7c5719b12b2
@@ -516,6 +805,7 @@
 result = valid
 shared = 18cb89e4e20c0c2bd324305245266c9327690bbe79acb88f5b8fb3f74eca3e52
 
+# tcId = 86
 # private key == -1 (mod order)
 curve = curve25519
 private = a023cdd083ef5bb82f10d62e59e15a6800000000000000000000000000000050
@@ -523,6 +813,7 @@
 result = valid
 shared = 258e04523b8d253ee65719fc6906c657192d80717edc828fa0af21686e2faa75
 
+# tcId = 87
 # private key == 1 (mod order) on twist
 curve = curve25519
 private = 58083dd261ad91eff952322ec824c682ffffffffffffffffffffffffffffff5f
diff --git a/src/tool/client.cc b/src/tool/client.cc
index bdb5de7..4ab0742 100644
--- a/src/tool/client.cc
+++ b/src/tool/client.cc
@@ -181,7 +181,7 @@
     if (!PEM_write_bio_SSL_SESSION(session_out.get(), session) ||
         BIO_flush(session_out.get()) <= 0) {
       fprintf(stderr, "Error while saving session:\n");
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      ERR_print_errors_fp(stderr);
       return 0;
     }
   }
@@ -221,8 +221,7 @@
       if (ssl_err == SSL_ERROR_WANT_READ) {
         continue;
       }
-      fprintf(stderr, "Error while reading: %d\n", ssl_err);
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      PrintSSLError(stderr, "Error while reading", ssl_err, ssl_ret);
       return false;
     }
   }
@@ -267,14 +266,14 @@
                                          "rb"));
     if (!in) {
       fprintf(stderr, "Error reading session\n");
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      ERR_print_errors_fp(stderr);
       return false;
     }
     bssl::UniquePtr<SSL_SESSION> session(PEM_read_bio_SSL_SESSION(in.get(),
                                          nullptr, nullptr, nullptr));
     if (!session) {
       fprintf(stderr, "Error reading session\n");
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      ERR_print_errors_fp(stderr);
       return false;
     }
     SSL_set_session(ssl.get(), session.get());
@@ -294,8 +293,7 @@
   int ret = SSL_connect(ssl.get());
   if (ret != 1) {
     int ssl_err = SSL_get_error(ssl.get(), ret);
-    fprintf(stderr, "Error while connecting: %d\n", ssl_err);
-    ERR_print_errors_cb(PrintErrorCallback, stderr);
+    PrintSSLError(stderr, "Error while connecting", ssl_err, ret);
     return false;
   }
 
@@ -315,8 +313,7 @@
     int ssl_ret = SSL_write(ssl.get(), early_data.data(), ed_size);
     if (ssl_ret <= 0) {
       int ssl_err = SSL_get_error(ssl.get(), ssl_ret);
-      fprintf(stderr, "Error while writing: %d\n", ssl_err);
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      PrintSSLError(stderr, "Error while writing", ssl_err, ssl_ret);
       return false;
     } else if (ssl_ret != ed_size) {
       fprintf(stderr, "Short write from SSL_write.\n");
@@ -333,7 +330,7 @@
 
 static bool GetTLS13Variant(tls13_variant_t *out, const std::string &in) {
   if (in == "draft23") {
-    *out = tls13_default;
+    *out = tls13_draft23;
     return true;
   }
   if (in == "draft28") {
@@ -500,7 +497,7 @@
     if (!session_out) {
       fprintf(stderr, "Error while opening %s:\n",
               args_map["-session-out"].c_str());
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      ERR_print_errors_fp(stderr);
       return false;
     }
   }
@@ -513,7 +510,7 @@
     if (!SSL_CTX_load_verify_locations(
             ctx.get(), args_map["-root-certs"].c_str(), nullptr)) {
       fprintf(stderr, "Failed to load root certificates.\n");
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      ERR_print_errors_fp(stderr);
       return false;
     }
     SSL_CTX_set_verify(ctx.get(), SSL_VERIFY_PEER, nullptr);
diff --git a/src/tool/server.cc b/src/tool/server.cc
index 23a47e9..bc90630 100644
--- a/src/tool/server.cc
+++ b/src/tool/server.cc
@@ -68,7 +68,8 @@
         "-early-data", kBooleanArgument, "Allow early data",
     },
     {
-        "-tls13-variant", kBooleanArgument, "Enables all TLS 1.3 variants",
+        "-tls13-variant", kOptionalArgument,
+        "Enable the specified experimental TLS 1.3 variant",
     },
     {
         "-www", kBooleanArgument,
@@ -147,6 +148,18 @@
   return x509;
 }
 
+static bool GetTLS13Variant(tls13_variant_t *out, const std::string &in) {
+  if (in == "draft23") {
+    *out = tls13_draft23;
+    return true;
+  }
+  if (in == "draft28") {
+    *out = tls13_draft28;
+    return true;
+  }
+  return false;
+}
+
 static void InfoCallback(const SSL *ssl, int type, int value) {
   switch (type) {
     case SSL_CB_HANDSHAKE_START:
@@ -185,8 +198,7 @@
         SSL_read(ssl, request + request_len, sizeof(request) - request_len);
     if (ssl_ret <= 0) {
       int ssl_err = SSL_get_error(ssl, ssl_ret);
-      fprintf(stderr, "Error while reading: %d\n", ssl_err);
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      PrintSSLError(stderr, "Error while reading", ssl_err, ssl_ret);
       return false;
     }
     request_len += static_cast<size_t>(ssl_ret);
@@ -308,7 +320,13 @@
   }
 
   if (args_map.count("-tls13-variant") != 0) {
-    SSL_CTX_set_tls13_variant(ctx.get(), tls13_draft28);
+    tls13_variant_t variant;
+    if (!GetTLS13Variant(&variant, args_map["-tls13-variant"])) {
+      fprintf(stderr, "Unknown TLS 1.3 variant: %s\n",
+              args_map["-tls13-variant"].c_str());
+      return false;
+    }
+    SSL_CTX_set_tls13_variant(ctx.get(), variant);
   }
 
   if (args_map.count("-debug") != 0) {
@@ -342,8 +360,7 @@
     int ret = SSL_accept(ssl.get());
     if (ret != 1) {
       int ssl_err = SSL_get_error(ssl.get(), ret);
-      fprintf(stderr, "Error while connecting: %d\n", ssl_err);
-      ERR_print_errors_cb(PrintErrorCallback, stderr);
+      PrintSSLError(stderr, "Error while connecting", ssl_err, ret);
       result = false;
       continue;
     }
diff --git a/src/tool/speed.cc b/src/tool/speed.cc
index ed3484a..2175baa 100644
--- a/src/tool/speed.cc
+++ b/src/tool/speed.cc
@@ -308,7 +308,8 @@
   // non-scattering seal, hence we add overhead_len to the size of this buffer.
   std::unique_ptr<uint8_t[]> out_storage(
       new uint8_t[chunk_len + overhead_len + kAlignment]);
-  std::unique_ptr<uint8_t[]> in2_storage(new uint8_t[chunk_len + kAlignment]);
+  std::unique_ptr<uint8_t[]> in2_storage(
+      new uint8_t[chunk_len + overhead_len + kAlignment]);
   std::unique_ptr<uint8_t[]> ad(new uint8_t[ad_len]);
   OPENSSL_memset(ad.get(), 0, ad_len);
   std::unique_ptr<uint8_t[]> tag_storage(
@@ -351,15 +352,25 @@
     EVP_AEAD_CTX_seal(ctx.get(), out, &out_len, chunk_len + overhead_len,
                       nonce.get(), nonce_len, in, chunk_len, ad.get(), ad_len);
 
+    ctx.Reset();
+    if (!EVP_AEAD_CTX_init_with_direction(ctx.get(), aead, key.get(), key_len,
+                                          EVP_AEAD_DEFAULT_TAG_LENGTH,
+                                          evp_aead_open)) {
+      fprintf(stderr, "Failed to create EVP_AEAD_CTX.\n");
+      ERR_print_errors_fp(stderr);
+      return false;
+    }
+
     if (!TimeFunction(&results,
-                      [chunk_len, nonce_len, ad_len, in2, out, out_len, &ctx,
-                       &nonce, &ad]() -> bool {
+                      [chunk_len, overhead_len, nonce_len, ad_len, in2, out,
+                       out_len, &ctx, &nonce, &ad]() -> bool {
                         size_t in2_len;
                         // N.B. EVP_AEAD_CTX_open_gather is not implemented for
                         // all AEADs.
-                        return EVP_AEAD_CTX_open(
-                            ctx.get(), in2, &in2_len, chunk_len, nonce.get(),
-                            nonce_len, out, out_len, ad.get(), ad_len);
+                        return EVP_AEAD_CTX_open(ctx.get(), in2, &in2_len,
+                                                 chunk_len + overhead_len,
+                                                 nonce.get(), nonce_len, out,
+                                                 out_len, ad.get(), ad_len);
                       })) {
       fprintf(stderr, "EVP_AEAD_CTX_open failed.\n");
       ERR_print_errors_fp(stderr);
@@ -783,6 +794,10 @@
                  kLegacyADLen, selected) ||
       !SpeedAEAD(EVP_aead_aes_256_cbc_sha1_tls(), "AES-256-CBC-SHA1",
                  kLegacyADLen, selected) ||
+      !SpeedAEADOpen(EVP_aead_aes_128_cbc_sha1_tls(), "AES-128-CBC-SHA1",
+                     kLegacyADLen, selected) ||
+      !SpeedAEADOpen(EVP_aead_aes_256_cbc_sha1_tls(), "AES-256-CBC-SHA1",
+                     kLegacyADLen, selected) ||
       !SpeedAEAD(EVP_aead_aes_128_gcm_siv(), "AES-128-GCM-SIV", kTLSADLen,
                  selected) ||
       !SpeedAEAD(EVP_aead_aes_256_gcm_siv(), "AES-256-GCM-SIV", kTLSADLen,
diff --git a/src/tool/transport_common.cc b/src/tool/transport_common.cc
index 55f2059..8cc63d7 100644
--- a/src/tool/transport_common.cc
+++ b/src/tool/transport_common.cc
@@ -12,6 +12,12 @@
  * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */
 
+// Suppress MSVC's STL warnings. It flags |std::copy| calls with a raw output
+// pointer, on grounds that MSVC cannot check them. Unfortunately, there is no
+// way to suppress the warning just on one line. The warning is flagged inside
+// the STL itself, so suppressing at the |std::copy| call does not work.
+#define _SCL_SECURE_NO_WARNINGS
+
 #include <openssl/base.h>
 
 #include <string>
@@ -33,6 +39,14 @@
 #include <sys/socket.h>
 #include <unistd.h>
 #else
+#include <algorithm>
+#include <condition_variable>
+#include <deque>
+#include <memory>
+#include <mutex>
+#include <thread>
+#include <utility>
+
 #include <io.h>
 OPENSSL_MSVC_PRAGMA(warning(push, 3))
 #include <winsock2.h>
@@ -91,6 +105,33 @@
   }
 }
 
+static std::string GetLastSocketErrorString() {
+#if defined(OPENSSL_WINDOWS)
+  int error = WSAGetLastError();
+  char *buffer;
+  DWORD len = FormatMessageA(
+      FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER, 0, error, 0,
+      reinterpret_cast<char *>(&buffer), 0, nullptr);
+  if (len == 0) {
+    char buf[256];
+    snprintf(buf, sizeof(buf), "unknown error (0x%x)", error);
+    return buf;
+  }
+  std::string ret(buffer, len);
+  LocalFree(buffer);
+  return ret;
+#else
+  return strerror(errno);
+#endif
+}
+
+static void PrintSocketError(const char *function) {
+  // On Windows, |perror| and |errno| are part of the C runtime, while sockets
+  // are separate, so we must print errors manually.
+  std::string error = GetLastSocketErrorString();
+  fprintf(stderr, "%s: %s\n", function, error.c_str());
+}
+
 // Connect sets |*out_sock| to be a socket connected to the destination given
 // in |hostname_and_port|, which should be of the form "www.example.com:123".
 // It returns true on success and false otherwise.
@@ -121,7 +162,7 @@
   *out_sock =
       socket(result->ai_family, result->ai_socktype, result->ai_protocol);
   if (*out_sock < 0) {
-    perror("socket");
+    PrintSocketError("socket");
     goto out;
   }
 
@@ -145,7 +186,7 @@
   }
 
   if (connect(*out_sock, result->ai_addr, result->ai_addrlen) != 0) {
-    perror("connect");
+    PrintSocketError("connect");
     goto out;
   }
   ok = true;
@@ -188,18 +229,18 @@
 
   server_sock_ = socket(addr.sin6_family, SOCK_STREAM, 0);
   if (server_sock_ < 0) {
-    perror("socket");
+    PrintSocketError("socket");
     return false;
   }
 
   if (setsockopt(server_sock_, SOL_SOCKET, SO_REUSEADDR, (const char *)&enable,
                  sizeof(enable)) < 0) {
-    perror("setsockopt");
+    PrintSocketError("setsockopt");
     return false;
   }
 
   if (bind(server_sock_, (struct sockaddr *)&addr, sizeof(addr)) != 0) {
-    perror("connect");
+    PrintSocketError("connect");
     return false;
   }
 
@@ -215,10 +256,7 @@
 }
 
 bool VersionFromString(uint16_t *out_version, const std::string &version) {
-  if (version == "ssl3") {
-    *out_version = SSL3_VERSION;
-    return true;
-  } else if (version == "tls1" || version == "tls1.0") {
+  if (version == "tls1" || version == "tls1.0") {
     *out_version = TLS1_VERSION;
     return true;
   } else if (version == "tls1.1") {
@@ -320,70 +358,312 @@
   ok = 0 == fcntl(sock, F_SETFL, flags);
 #endif
   if (!ok) {
-    fprintf(stderr, "Failed to set socket non-blocking.\n");
+    PrintSocketError("Failed to set socket non-blocking");
   }
   return ok;
 }
 
-static bool SocketSelect(int sock, bool stdin_open, bool *socket_ready,
-                         bool *stdin_ready) {
+enum class StdinWait {
+  kStdinRead,
+  kSocketWrite,
+};
+
 #if !defined(OPENSSL_WINDOWS)
-  fd_set read_fds;
-  FD_ZERO(&read_fds);
-  if (stdin_open) {
-    FD_SET(0, &read_fds);
-  }
-  FD_SET(sock, &read_fds);
-  if (select(sock + 1, &read_fds, NULL, NULL, NULL) <= 0) {
-    perror("select");
-    return false;
-  }
 
-  if (FD_ISSET(0, &read_fds)) {
-    *stdin_ready = true;
-  }
-  if (FD_ISSET(sock, &read_fds)) {
+// SocketWaiter abstracts waiting for either the socket or stdin to be readable
+// between Windows and POSIX.
+class SocketWaiter {
+ public:
+  explicit SocketWaiter(int sock) : sock_(sock) {}
+  SocketWaiter(const SocketWaiter &) = delete;
+  SocketWaiter &operator=(const SocketWaiter &) = delete;
+
+  // Init initializes the SocketWaiter. It returns whether it succeeded.
+  bool Init() { return true; }
+
+  // Wait waits for at least on of the socket or stdin or be ready. On success,
+  // it sets |*socket_ready| and |*stdin_ready| to whether the respective
+  // objects are readable and returns true. On error, it returns false. stdin's
+  // readiness may either be the socket being writable or stdin being readable,
+  // depending on |stdin_wait|.
+  bool Wait(StdinWait stdin_wait, bool *socket_ready, bool *stdin_ready) {
     *socket_ready = true;
-  }
+    *stdin_ready = false;
 
-  return true;
-#else
-  WSAEVENT socket_handle = WSACreateEvent();
-  if (socket_handle == WSA_INVALID_EVENT ||
-      WSAEventSelect(sock, socket_handle, FD_READ) != 0) {
-    WSACloseEvent(socket_handle);
-    return false;
-  }
+    fd_set read_fds, write_fds;
+    FD_ZERO(&read_fds);
+    FD_ZERO(&write_fds);
+    if (stdin_wait == StdinWait::kSocketWrite) {
+      FD_SET(sock_, &write_fds);
+    } else if (stdin_open_) {
+      FD_SET(STDIN_FILENO, &read_fds);
+    }
+    FD_SET(sock_, &read_fds);
+    if (select(sock_ + 1, &read_fds, &write_fds, NULL, NULL) <= 0) {
+      perror("select");
+      return false;
+    }
 
-  HANDLE read_fds[2];
-  read_fds[0] = socket_handle;
-  read_fds[1] = GetStdHandle(STD_INPUT_HANDLE);
-
-  switch (
-      WaitForMultipleObjects(stdin_open ? 2 : 1, read_fds, FALSE, INFINITE)) {
-    case WAIT_OBJECT_0 + 0:
-      *socket_ready = true;
-      break;
-    case WAIT_OBJECT_0 + 1:
+    if (FD_ISSET(STDIN_FILENO, &read_fds) || FD_ISSET(sock_, &write_fds)) {
       *stdin_ready = true;
+    }
+    if (FD_ISSET(sock_, &read_fds)) {
+      *socket_ready = true;
+    }
+
+    return true;
+  }
+
+  // ReadStdin reads at most |max_out| bytes from stdin. On success, it writes
+  // them to |out| and sets |*out_len| to the number of bytes written. On error,
+  // it returns false. This method may only be called after |Wait| returned
+  // stdin was ready.
+  bool ReadStdin(void *out, size_t *out_len, size_t max_out) {
+    ssize_t n;
+    do {
+      n = read(STDIN_FILENO, out, max_out);
+    } while (n == -1 && errno == EINTR);
+    if (n <= 0) {
+      stdin_open_ = false;
+    }
+    if (n < 0) {
+      perror("read from stdin");
+      return false;
+    }
+    *out_len = static_cast<size_t>(n);
+    return true;
+  }
+
+ private:
+   bool stdin_open_ = true;
+   int sock_;
+};
+
+#else // OPENSSL_WINDOWs
+
+class ScopedWSAEVENT {
+ public:
+  ScopedWSAEVENT() = default;
+  ScopedWSAEVENT(WSAEVENT event) { reset(event); }
+  ScopedWSAEVENT(const ScopedWSAEVENT &) = delete;
+  ScopedWSAEVENT(ScopedWSAEVENT &&other) { *this = std::move(other); }
+
+  ~ScopedWSAEVENT() { reset(); }
+
+  ScopedWSAEVENT &operator=(const ScopedWSAEVENT &) = delete;
+  ScopedWSAEVENT &operator=(ScopedWSAEVENT &&other) {
+    reset(other.release());
+    return *this;
+  }
+
+  explicit operator bool() const { return event_ != WSA_INVALID_EVENT; }
+  WSAEVENT get() const { return event_; }
+
+  WSAEVENT release() {
+    WSAEVENT ret = event_;
+    event_ = WSA_INVALID_EVENT;
+    return ret;
+  }
+
+  void reset(WSAEVENT event = WSA_INVALID_EVENT) {
+    if (event_ != WSA_INVALID_EVENT) {
+      WSACloseEvent(event_);
+    }
+    event_ = event;
+  }
+
+ private:
+  WSAEVENT event_ = WSA_INVALID_EVENT;
+};
+
+// SocketWaiter, on Windows, is more complicated. While |WaitForMultipleObjects|
+// works for both sockets and stdin, the latter is often a line-buffered
+// console. The |HANDLE| is considered readable if there are any console events
+// available, but reading blocks until a full line is available.
+//
+// So that |Wait| reflects final stdin read, we spawn a stdin reader thread that
+// writes to an in-memory buffer and signals a |WSAEVENT| to coordinate with the
+// socket.
+class SocketWaiter {
+ public:
+  explicit SocketWaiter(int sock) : sock_(sock) {}
+  SocketWaiter(const SocketWaiter &) = delete;
+  SocketWaiter &operator=(const SocketWaiter &) = delete;
+
+  bool Init() {
+    stdin_ = std::make_shared<StdinState>();
+    stdin_->event.reset(WSACreateEvent());
+    if (!stdin_->event) {
+      PrintSocketError("Error in WSACreateEvent");
+      return false;
+    }
+
+    // Spawn a thread to block on stdin.
+    std::shared_ptr<StdinState> state = stdin_;
+    std::thread thread([state]() {
+      for (;;) {
+        uint8_t buf[512];
+        int ret = _read(0 /* stdin */, buf, sizeof(buf));
+        if (ret <= 0) {
+          if (ret < 0) {
+            perror("read from stdin");
+          }
+          // Report the error or EOF to the caller.
+          std::lock_guard<std::mutex> lock(state->lock);
+          state->error = ret < 0;
+          state->open = false;
+          WSASetEvent(state->event.get());
+          return;
+        }
+
+        size_t len = static_cast<size_t>(ret);
+        size_t written = 0;
+        while (written < len) {
+          std::unique_lock<std::mutex> lock(state->lock);
+          // Wait for there to be room in the buffer.
+          state->cond.wait(lock, [&] { return !state->buffer_full(); });
+
+          // Copy what we can and signal to the caller.
+          size_t todo = std::min(len - written, state->buffer_remaining());
+          state->buffer.insert(state->buffer.end(), buf + written,
+                               buf + written + todo);
+          written += todo;
+          WSASetEvent(state->event.get());
+        }
+      }
+    });
+    thread.detach();
+    return true;
+  }
+
+  bool Wait(StdinWait stdin_wait, bool *socket_ready, bool *stdin_ready) {
+    *socket_ready = true;
+    *stdin_ready = false;
+
+    ScopedWSAEVENT sock_read_event(WSACreateEvent());
+    if (!sock_read_event ||
+        WSAEventSelect(sock_, sock_read_event.get(), FD_READ | FD_CLOSE) != 0) {
+      PrintSocketError("Error waiting for socket read");
+      return false;
+    }
+
+    DWORD count = 1;
+    WSAEVENT events[3] = {sock_read_event.get(), WSA_INVALID_EVENT};
+    ScopedWSAEVENT sock_write_event;
+    if (stdin_wait == StdinWait::kSocketWrite) {
+      sock_write_event.reset(WSACreateEvent());
+      if (!sock_write_event || WSAEventSelect(sock_, sock_write_event.get(),
+                                              FD_WRITE | FD_CLOSE) != 0) {
+        PrintSocketError("Error waiting for socket write");
+        return false;
+      }
+      events[1] = sock_write_event.get();
+      count++;
+    } else if (listen_stdin_) {
+      events[1] = stdin_->event.get();
+      count++;
+    }
+
+    switch (WSAWaitForMultipleEvents(count, events, FALSE /* wait all */,
+                                     WSA_INFINITE, FALSE /* alertable */)) {
+      case WSA_WAIT_EVENT_0 + 0:
+        *socket_ready = true;
+        return true;
+      case WSA_WAIT_EVENT_0 + 1:
+        *stdin_ready = true;
+        return true;
+      case WSA_WAIT_TIMEOUT:
+        return true;
+      default:
+        PrintSocketError("Error waiting for events");
+        return false;
+    }
+  }
+
+  bool ReadStdin(void *out, size_t *out_len, size_t max_out) {
+    std::lock_guard<std::mutex> locked(stdin_->lock);
+
+    if (stdin_->buffer.empty()) {
+      // |ReadStdin| may only be called when |Wait| signals it is ready, so
+      // stdin must have reached EOF or error.
+      assert(!stdin_->open);
+      listen_stdin_ = false;
+      if (stdin_->error) {
+        return false;
+      }
+      *out_len = 0;
+      return true;
+    }
+
+    bool was_full = stdin_->buffer_full();
+    // Copy as many bytes as well fit.
+    *out_len = std::min(max_out, stdin_->buffer.size());
+    auto begin = stdin_->buffer.begin();
+    auto end = stdin_->buffer.begin() + *out_len;
+    std::copy(begin, end, static_cast<uint8_t *>(out));
+    stdin_->buffer.erase(begin, end);
+    // Notify the stdin thread if there is more space.
+    if (was_full && !stdin_->buffer_full()) {
+      stdin_->cond.notify_one();
+    }
+    // If stdin is now waiting for input, clear the event.
+    if (stdin_->buffer.empty() && stdin_->open) {
+      WSAResetEvent(stdin_->event.get());
+    }
+    return true;
+  }
+
+ private:
+  struct StdinState {
+    static constexpr size_t kMaxBuffer = 1024;
+
+    StdinState() = default;
+    StdinState(const StdinState &) = delete;
+    StdinState &operator=(const StdinState &) = delete;
+
+    size_t buffer_remaining() const { return kMaxBuffer - buffer.size(); }
+    bool buffer_full() const { return buffer_remaining() == 0; }
+
+    ScopedWSAEVENT event;
+    // lock protects the following fields.
+    std::mutex lock;
+    // cond notifies the stdin thread that |buffer| is no longer full.
+    std::condition_variable cond;
+    std::deque<uint8_t> buffer;
+    bool open = true;
+    bool error = false;
+  };
+
+  int sock_;
+  std::shared_ptr<StdinState> stdin_;
+  // listen_stdin_ is set to false when we have consumed an EOF or error from
+  // |stdin_|. This is separate from |stdin_->open| because the signal may not
+  // have been consumed yet.
+  bool listen_stdin_ = true;
+};
+
+#endif  // OPENSSL_WINDOWS
+
+void PrintSSLError(FILE *file, const char *msg, int ssl_err, int ret) {
+  switch (ssl_err) {
+    case SSL_ERROR_SSL:
+      fprintf(file, "%s: %s\n", msg, ERR_reason_error_string(ERR_peek_error()));
       break;
-    case WAIT_TIMEOUT:
+    case SSL_ERROR_SYSCALL:
+      if (ret == 0) {
+        fprintf(file, "%s: peer closed connection\n", msg);
+      } else {
+        std::string error = GetLastSocketErrorString();
+        fprintf(file, "%s: %s\n", msg, error.c_str());
+      }
+      break;
+    case SSL_ERROR_ZERO_RETURN:
+      fprintf(file, "%s: received close_notify\n", msg);
       break;
     default:
-      WSACloseEvent(socket_handle);
-      return false;
+      fprintf(file, "%s: unknown error type (%d)\n", msg, ssl_err);
   }
-
-  WSACloseEvent(socket_handle);
-  return true;
-#endif
-}
-
-// PrintErrorCallback is a callback function from OpenSSL's
-// |ERR_print_errors_cb| that writes errors to a given |FILE*|.
-int PrintErrorCallback(const char *str, size_t len, void *ctx) {
-  fwrite(str, len, 1, reinterpret_cast<FILE*>(ctx));
-  return 1;
+  ERR_print_errors_fp(file);
 }
 
 bool TransferData(SSL *ssl, int sock) {
@@ -391,81 +671,80 @@
     return false;
   }
 
-  bool stdin_open = true;
+  SocketWaiter waiter(sock);
+  if (!waiter.Init()) {
+    return false;
+  }
+
+  uint8_t pending_write[512];
+  size_t pending_write_len = 0;
   for (;;) {
     bool socket_ready = false;
     bool stdin_ready = false;
-    if (!SocketSelect(sock, stdin_open, &socket_ready, &stdin_ready)) {
+    if (!waiter.Wait(pending_write_len == 0 ? StdinWait::kStdinRead
+                                            : StdinWait::kSocketWrite,
+                     &socket_ready, &stdin_ready)) {
       return false;
     }
 
     if (stdin_ready) {
-      uint8_t buffer[512];
-      ssize_t n;
-
-      do {
-        n = BORINGSSL_READ(0, buffer, sizeof(buffer));
-      } while (n == -1 && errno == EINTR);
-
-      if (n == 0) {
-        stdin_open = false;
-#if !defined(OPENSSL_WINDOWS)
-        shutdown(sock, SHUT_WR);
-#else
-        shutdown(sock, SD_SEND);
-#endif
-        continue;
-      } else if (n < 0) {
-        perror("read from stdin");
-        return false;
+      if (pending_write_len == 0) {
+        if (!waiter.ReadStdin(pending_write, &pending_write_len,
+                              sizeof(pending_write))) {
+          return false;
+        }
+        if (pending_write_len == 0) {
+  #if !defined(OPENSSL_WINDOWS)
+          shutdown(sock, SHUT_WR);
+  #else
+          shutdown(sock, SD_SEND);
+  #endif
+          continue;
+        }
       }
 
-      // On Windows, SocketSelect ends up setting sock to non-blocking.
-#if !defined(OPENSSL_WINDOWS)
-      if (!SocketSetNonBlocking(sock, false)) {
-        return false;
-      }
-#endif
-      int ssl_ret = SSL_write(ssl, buffer, n);
-      if (!SocketSetNonBlocking(sock, true)) {
-        return false;
-      }
-
+      int ssl_ret =
+          SSL_write(ssl, pending_write, static_cast<int>(pending_write_len));
       if (ssl_ret <= 0) {
         int ssl_err = SSL_get_error(ssl, ssl_ret);
-        fprintf(stderr, "Error while writing: %d\n", ssl_err);
-        ERR_print_errors_cb(PrintErrorCallback, stderr);
+        if (ssl_err == SSL_ERROR_WANT_WRITE) {
+          continue;
+        }
+        PrintSSLError(stderr, "Error while writing", ssl_err, ssl_ret);
         return false;
-      } else if (ssl_ret != n) {
+      }
+      if (ssl_ret != static_cast<int>(pending_write_len)) {
         fprintf(stderr, "Short write from SSL_write.\n");
         return false;
       }
+      pending_write_len = 0;
     }
 
     if (socket_ready) {
-      uint8_t buffer[512];
-      int ssl_ret = SSL_read(ssl, buffer, sizeof(buffer));
+      for (;;) {
+        uint8_t buffer[512];
+        int ssl_ret = SSL_read(ssl, buffer, sizeof(buffer));
 
-      if (ssl_ret < 0) {
-        int ssl_err = SSL_get_error(ssl, ssl_ret);
-        if (ssl_err == SSL_ERROR_WANT_READ) {
-          continue;
+        if (ssl_ret < 0) {
+          int ssl_err = SSL_get_error(ssl, ssl_ret);
+          if (ssl_err == SSL_ERROR_WANT_READ) {
+            break;
+          }
+          PrintSSLError(stderr, "Error while reading", ssl_err, ssl_ret);
+          return false;
+        } else if (ssl_ret == 0) {
+          return true;
         }
-        fprintf(stderr, "Error while reading: %d\n", ssl_err);
-        ERR_print_errors_cb(PrintErrorCallback, stderr);
-        return false;
-      } else if (ssl_ret == 0) {
-        return true;
-      }
 
-      ssize_t n;
-      do {
-        n = BORINGSSL_WRITE(1, buffer, ssl_ret);
-      } while (n == -1 && errno == EINTR);
+        ssize_t n;
+        do {
+          n = BORINGSSL_WRITE(1, buffer, ssl_ret);
+        } while (n == -1 && errno == EINTR);
 
-      if (n != ssl_ret) {
-        fprintf(stderr, "Short write to stderr.\n");
-        return false;
+        if (n != ssl_ret) {
+          fprintf(stderr, "Short write to stderr.\n");
+          return false;
+        }
       }
     }
   }
diff --git a/src/tool/transport_common.h b/src/tool/transport_common.h
index 492416a..7d45d1c 100644
--- a/src/tool/transport_common.h
+++ b/src/tool/transport_common.h
@@ -53,7 +53,10 @@
 
 bool SocketSetNonBlocking(int sock, bool is_non_blocking);
 
-int PrintErrorCallback(const char *str, size_t len, void *ctx);
+// PrintSSLError prints information about the most recent SSL error to stderr.
+// |ssl_err| must be the output of |SSL_get_error| and the |SSL| object must be
+// connected to socket from |Connect|.
+void PrintSSLError(FILE *file, const char *msg, int ssl_err, int ret);
 
 bool TransferData(SSL *ssl, int sock);
 
diff --git a/src/util/BUILD.toplevel b/src/util/BUILD.toplevel
index 6e569ec..d7c731b 100644
--- a/src/util/BUILD.toplevel
+++ b/src/util/BUILD.toplevel
@@ -22,6 +22,7 @@
     "crypto_internal_headers",
     "crypto_sources",
     "crypto_sources_linux_x86_64",
+    "crypto_sources_linux_ppc64le",
     "crypto_sources_mac_x86_64",
     "fips_fragments",
     "ssl_headers",
@@ -37,6 +38,11 @@
 )
 
 config_setting(
+    name = "linux_ppc64le",
+    values = {"cpu": "ppc"},
+)
+
+config_setting(
     name = "mac_x86_64",
     values = {"cpu": "darwin"},
 )
@@ -77,6 +83,7 @@
 
 boringssl_copts = select({
     ":linux_x86_64": posix_copts,
+    ":linux_ppc64le": posix_copts,
     ":mac_x86_64": posix_copts,
     ":windows_x86_64": [
         "-DWIN32_LEAN_AND_MEAN",
@@ -87,6 +94,7 @@
 
 crypto_sources_asm = select({
     ":linux_x86_64": crypto_sources_linux_x86_64,
+    ":linux_ppc64le": crypto_sources_linux_ppc64le,
     ":mac_x86_64": crypto_sources_mac_x86_64,
     "//conditions:default": [],
 })
@@ -101,6 +109,7 @@
 
 boringssl_copts_c11 = boringssl_copts + select({
     ":linux_x86_64": posix_copts_c11,
+    ":linux_ppc64le": posix_copts_c11,
     ":mac_x86_64": posix_copts_c11,
     "//conditions:default": [],
 })
@@ -113,6 +122,7 @@
 
 boringssl_copts_cxx = boringssl_copts + select({
     ":linux_x86_64": posix_copts_cxx,
+    ":linux_ppc64le": posix_copts_cxx,
     ":mac_x86_64": posix_copts_cxx,
     "//conditions:default": [],
 })
@@ -128,6 +138,7 @@
         # Android supports pthreads, but does not provide a libpthread
         # to link against.
         ":android": [],
+        ":windows_x86_64": ["-defaultlib:advapi32.lib"],
         "//conditions:default": ["-lpthread"],
     }),
     visibility = ["//visibility:public"],
diff --git a/src/util/bot/DEPS b/src/util/bot/DEPS
index 4a51481..5dab203 100644
--- a/src/util/bot/DEPS
+++ b/src/util/bot/DEPS
@@ -18,16 +18,18 @@
   'checkout_clang': False,
   'checkout_fuzzer': False,
   'checkout_sde': False,
+  'checkout_nasm': False,
+  'checkout_libcxx': False,
 }
 
 deps = {
   'boringssl/util/bot/android_ndk': {
-    'url': Var('chromium_git') + '/android_ndk.git' + '@' + '635bc380968a76f6948fee65f80a0b28db53ae81',
+    'url': Var('chromium_git') + '/android_ndk.git' + '@' + '5cd86312e794bdf542a3685c6f10cbb96072990b',
     'condition': 'checkout_android',
   },
 
-'boringssl/util/bot/android_tools': {
-    'url': Var('chromium_git') + '/android_tools.git' + '@' + 'c22a664c39af72dd8f89200220713dcad811300a',
+  'boringssl/util/bot/android_tools': {
+    'url': Var('chromium_git') + '/android_tools.git' + '@' + '130499e25286f4d56acafa252fee09f3cc595c49',
     'condition': 'checkout_android',
   },
 
@@ -35,9 +37,20 @@
     Var('chromium_git') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb',
 
   'boringssl/util/bot/libFuzzer': {
-    'url': Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + 'ba2c1cd6f87accb32b5dbce297387c56a2e53a2f',
+    'url': Var('chromium_git') + '/chromium/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + '658ff786a213703ff0df6ba4a288e9a1e218c074',
     'condition': 'checkout_fuzzer',
   },
+
+  # Update the following revisions from
+  # https://chromium.googlesource.com/chromium/buildtools/+/master/DEPS
+  'boringssl/util/bot/libcxx': {
+    'url': Var('chromium_git') + '/chromium/llvm-project/libcxx.git' + '@' + '85a7702b4cc5d69402791fe685f151cf3076be71',
+    'condition': 'checkout_libcxx',
+  },
+  'boringssl/util/bot/libcxxabi': {
+    'url': Var('chromium_git') + '/chromium/llvm-project/libcxxabi.git' + '@' + '05a73941f3fb177c4a891d4ff2a4ed5785e3b80c',
+    'condition': 'checkout_libcxx',
+  },
 }
 
 recursedeps = [
@@ -138,7 +151,7 @@
   {
     'name': 'yasm_win32',
     'pattern': '.',
-    'condition': 'host_os == "win"',
+    'condition': 'host_os == "win" and not checkout_nasm',
     'action': [ 'download_from_google_storage',
                 '--no_resume',
                 '--platform=win32',
@@ -148,6 +161,18 @@
     ],
   },
   {
+    'name': 'nasm_win32',
+    'pattern': '.',
+    'condition': 'host_os == "win" and checkout_nasm',
+    'action': [ 'download_from_google_storage',
+                '--no_resume',
+                '--platform=win32',
+                '--no_auth',
+                '--bucket', 'chromium-tools',
+                '-s', 'boringssl/util/bot/nasm-win32.exe.sha1',
+    ],
+  },
+  {
     'name': 'win_toolchain',
     'pattern': '.',
     'condition': 'host_os == "win"',
diff --git a/src/util/bot/UPDATING b/src/util/bot/UPDATING
index f5a831b..67949f0 100644
--- a/src/util/bot/UPDATING
+++ b/src/util/bot/UPDATING
@@ -1,5 +1,12 @@
 This directory consumes tools from other repositories for use on the
-bots. To update to newer revisions, follow these instructions:
+bots. For a similarly-configured local checkout for testing, run:
+
+   mkdir boringssl-gclient
+   cd boringssl-gclient
+   gclient config --unmanaged --deps-file=util/bot/DEPS https://boringssl.googlesource.com/boringssl/
+   gclient sync
+
+To update to newer revisions, follow these instructions:
 
 DEPS: Set all revisions to those used in Chromium, found at
    https://chromium.googlesource.com/chromium/src/+/master/DEPS (Search for the
@@ -36,16 +43,26 @@
     The current revision was built against cmake-3.10.0.tar.gz.
 
 cmake-win32.zip: Update to the latest prebuilt release of CMake, found at
-    https://cmake.org/download/. Use the file labeled "Windows ZIP". The
-    download will be named cmake-VERSION-win32-x86.zip.
+    https://cmake.org/download/. Use the file labeled "Windows win64-x64
+    ZIP". The download will be named cmake-VERSION-win64-x64.zip.
 
-    The current revision is cmake-3.10.1-win32-x86.zip.
+    The current revision is cmake-3.11.4-win64-x64.zip
 
-perl-win32.zip: Update to the latest 32-bit prebuilt "Portable" edition of
+nasm-win32.exe: Update to the appropriate release of NASM, found at
+    https://www.nasm.us/. Use the same version as Chromium, found at
+    https://chromium.googlesource.com/chromium/src/+/master/third_party/nasm/README.chromium
+    Extract nasm.exe from the download named nasm-VERSION-win64.zip.
+
+    The current revision is nasm-2.13.03-win64.zip.
+
+    TODO(davidben): The Chromium link currently does not work. It will get
+    filled in in the future. See https://crbug.com/766721.
+
+perl-win32.zip: Update to the latest 64-bit prebuilt "Portable" edition of
     Strawberry Perl, found at http://strawberryperl.com/releases.html. The
-    download will be named strawberry-perl-VERSION-32bit-portable.zip.
+    download will be named strawberry-perl-VERSION-64bit-portable.zip.
 
-    The current revision is strawberry-perl-5.26.1.1-32bit-portable.zip.
+    The current revision is strawberry-perl-5.26.2.1-64bit-portable.zip.
 
 yasm-win32.exe: Update to the appropriate release of Yasm. Use the same version
     as Chromium, found at
@@ -63,3 +80,5 @@
     upload_to_google_storage.py -b chrome-boringssl-sde sde-linux64.tar.bz2
 
 The current revision is sde-external-8.9.0-2017-08-06-lin.tar.bz2.
+
+When adding new files, remember to update .gitignore.
diff --git a/src/util/bot/cmake-win32.zip.sha1 b/src/util/bot/cmake-win32.zip.sha1
index 22926a3..574df8a 100644
--- a/src/util/bot/cmake-win32.zip.sha1
+++ b/src/util/bot/cmake-win32.zip.sha1
@@ -1 +1 @@
-f3ba5a7d4be36d6eba1795011ba0926bb651f35f
\ No newline at end of file
+f4fac544e5d8392b3f2fcc967e22b473d7cf8e79
\ No newline at end of file
diff --git a/src/util/bot/go/bootstrap.py b/src/util/bot/go/bootstrap.py
index ae38ccf..eb6eed9 100755
--- a/src/util/bot/go/bootstrap.py
+++ b/src/util/bot/go/bootstrap.py
@@ -45,7 +45,7 @@
 EXE_SFX = '.exe' if sys.platform == 'win32' else ''
 
 # Pinned version of Go toolset to download.
-TOOLSET_VERSION = 'go1.10.1'
+TOOLSET_VERSION = 'go1.10.3'
 
 # Platform dependent portion of a download URL. See http://golang.org/dl/.
 TOOLSET_VARIANTS = {
diff --git a/src/util/bot/nasm-win32.exe.sha1 b/src/util/bot/nasm-win32.exe.sha1
new file mode 100644
index 0000000..62afef4
--- /dev/null
+++ b/src/util/bot/nasm-win32.exe.sha1
@@ -0,0 +1 @@
+fe003e1128188bba6f54307802051f2eddfdee85
\ No newline at end of file
diff --git a/src/util/bot/perl-win32.zip.sha1 b/src/util/bot/perl-win32.zip.sha1
index a185995..ac0c3f0 100644
--- a/src/util/bot/perl-win32.zip.sha1
+++ b/src/util/bot/perl-win32.zip.sha1
@@ -1 +1 @@
-1245124da188c699fb41c4b5a60622bd0d363106
\ No newline at end of file
+10a112b4d5f4efbbba4e45ccbe1fa50943e106c6
\ No newline at end of file
diff --git a/src/util/bot/update_clang.py b/src/util/bot/update_clang.py
index 982031f..ac7f945 100644
--- a/src/util/bot/update_clang.py
+++ b/src/util/bot/update_clang.py
@@ -19,7 +19,7 @@
 # CLANG_REVISION and CLANG_SUB_REVISION determine the build of clang
 # to use. These should be synced with tools/clang/scripts/update.py in
 # Chromium.
-CLANG_REVISION = '328575'
+CLANG_REVISION = '338452'
 CLANG_SUB_REVISION=1
 
 PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION)
diff --git a/src/util/bot/vs_toolchain.py b/src/util/bot/vs_toolchain.py
index 71b59c8..2530662 100644
--- a/src/util/bot/vs_toolchain.py
+++ b/src/util/bot/vs_toolchain.py
@@ -87,9 +87,9 @@
     # Update 3 final with 10.0.15063.468 SDK and no vctip.exe.
     return ['f53e4598951162bad6330f7a167486c7ae5db1e5']
   if env_version == '2017':
-    # VS 2017 Update 3.2 with 10.0.15063.468 SDK, patched setenv.cmd, and
-    # 10.0.16299.15 debuggers.
-    return ['1180cb75833ea365097e279efb2d5d7a42dee4b0']
+    # VS 2017 Update 7.1 (15.7.1) with 10.0.17134.12 SDK, rebuilt with
+    # dbghelp.dll fix.
+    return ['3bc0ec615cf20ee342f3bc29bc991b5ad66d8d2c']
   raise Exception('Unsupported VS version %s' % env_version)
 
 
diff --git a/src/util/check_filenames.go b/src/util/check_filenames.go
new file mode 100644
index 0000000..886c3f6
--- /dev/null
+++ b/src/util/check_filenames.go
@@ -0,0 +1,67 @@
+// 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.
+
+// check_filenames.go checks that filenames are unique. Some of our consumers do
+// not support multiple files with the same name in the same build target, even
+// if they are in different directories.
+package main
+
+import (
+	"fmt"
+	"os"
+	"path/filepath"
+	"strings"
+)
+
+func isSourceFile(in string) bool {
+	return strings.HasSuffix(in, ".c") || strings.HasSuffix(in, ".cc")
+}
+
+func main() {
+	var roots = []string{
+		"crypto",
+		filepath.Join("third_party", "fiat"),
+		"ssl",
+	}
+
+	names := make(map[string]string)
+	var foundCollisions bool
+	for _, root := range roots {
+		err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
+			if err != nil {
+				return err
+			}
+			if info.IsDir() {
+				return nil
+			}
+			name := strings.ToLower(info.Name()) // Windows and macOS are case-insensitive.
+			if isSourceFile(name) {
+				if oldPath, ok := names[name]; ok {
+					fmt.Printf("Filename collision found: %s and %s\n", path, oldPath)
+					foundCollisions = true
+				} else {
+					names[name] = path
+				}
+			}
+			return nil
+		})
+		if err != nil {
+			fmt.Printf("Error traversing %s: %s\n", root, err)
+			os.Exit(1)
+		}
+	}
+	if foundCollisions {
+		os.Exit(1)
+	}
+}
diff --git a/src/third_party/wycheproof/convert_wycheproof.go b/src/util/convert_wycheproof.go
similarity index 76%
rename from src/third_party/wycheproof/convert_wycheproof.go
rename to src/util/convert_wycheproof.go
index 07656b3..0d1432a 100644
--- a/src/third_party/wycheproof/convert_wycheproof.go
+++ b/src/util/convert_wycheproof.go
@@ -132,7 +132,7 @@
 	}
 }
 
-func convertWycheproof(jsonPath, txtPath string) error {
+func convertWycheproof(f io.Writer, jsonPath string) error {
 	jsonData, err := ioutil.ReadFile(jsonPath)
 	if err != nil {
 		return err
@@ -143,11 +143,6 @@
 		return err
 	}
 
-	f, err := os.OpenFile(txtPath, os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
-	if err != nil {
-		return err
-	}
-	defer f.Close()
 	if _, err := fmt.Fprintf(f, `# Imported from Wycheproof's %s.
 # This file is generated by convert_wycheproof.go. Do not edit by hand.
 #
@@ -162,7 +157,8 @@
 		// Skip tests with unsupported curves. We filter these out at
 		// conversion time to avoid unnecessarily inflating
 		// crypto_test_data.cc.
-		if curve, ok := group["curve"]; ok && !isSupportedCurve(curve.(string)) {
+		groupCurve := group["curve"]
+		if groupCurve != nil && !isSupportedCurve(groupCurve.(string)) {
 			continue
 		}
 		if keyI, ok := group["key"]; ok {
@@ -188,10 +184,15 @@
 		tests := group["tests"].([]interface{})
 		for _, testI := range tests {
 			test := testI.(map[string]interface{})
+
+			curve := test["curve"]
 			// Skip tests with unsupported curves.
-			if curve, ok := test["curve"]; ok && !isSupportedCurve(curve.(string)) {
+			if curve != nil && !isSupportedCurve(curve.(string)) {
 				continue
 			}
+			if _, err := fmt.Fprintf(f, "# tcId = %d\n", int(test["tcId"].(float64))); err != nil {
+				return err
+			}
 			if comment, ok := test["comment"]; ok && len(comment.(string)) != 0 {
 				if err := printComment(f, comment.(string)); err != nil {
 					return err
@@ -205,6 +206,13 @@
 					return err
 				}
 			}
+			// If the curve was only specified at the group level then copy it into
+			// each test.
+			if curve == nil && groupCurve != nil {
+				if err := printAttribute(f, "curve", groupCurve, false); err != nil {
+					return err
+				}
+			}
 			if flags, ok := test["flags"]; ok {
 				for _, flag := range flags.([]interface{}) {
 					if note, ok := w.Notes[flag.(string)]; ok {
@@ -222,34 +230,56 @@
 	return nil
 }
 
-func main() {
-	jsonPaths := []string{
-		"dsa_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",
-		"x25519_test.json",
+var defaultInputs = []string{
+	"aes_cbc_pkcs5_test.json",
+	"aes_cmac_test.json",
+	"aes_gcm_siv_test.json",
+	"aes_gcm_test.json",
+	"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",
+	"kw_test.json",
+	"rsa_signature_test.json",
+	"x25519_test.json",
+}
 
-		// TODO(davidben): The following tests still need test drivers.
-		// "aes_cbc_pkcs5_test.json",
-		// "aes_gcm_siv_test.json",
-		// "aes_gcm_test.json",
-		// "chacha20_poly1305_test.json",
-		// "ecdh_test.json",
-	}
-	for _, jsonPath := range jsonPaths {
-		if !strings.HasSuffix(jsonPath, ".json") {
-			panic(jsonPath)
+func main() {
+	switch len(os.Args) {
+	case 1:
+		for _, jsonPath := range defaultInputs {
+			if !strings.HasSuffix(jsonPath, ".json") {
+				panic(jsonPath)
+			}
+
+			txtPath := jsonPath[:len(jsonPath)-len(".json")] + ".txt"
+			out, err := os.Create(txtPath)
+			if err != nil {
+				fmt.Fprintf(os.Stderr, "Error opening output %s: %s\n", txtPath, err)
+				os.Exit(1)
+			}
+			defer out.Close()
+
+			if err := convertWycheproof(out, jsonPath); err != nil {
+				fmt.Fprintf(os.Stderr, "Error converting %s: %s\n", jsonPath, err)
+				os.Exit(1)
+			}
 		}
-		txtPath := jsonPath[:len(jsonPath)-len(".json")] + ".txt"
-		if err := convertWycheproof(jsonPath, txtPath); err != nil {
-			fmt.Fprintf(os.Stderr, "Error converting %s: %s\n", jsonPath, err)
+
+	case 2:
+		if err := convertWycheproof(os.Stdout, os.Args[1]); err != nil {
+			fmt.Fprintf(os.Stderr, "Error converting %s: %s\n", os.Args[1], err)
 			os.Exit(1)
 		}
+
+	default:
+		fmt.Fprintf(os.Stderr, "Usage: %s [input JSON]\n", os.Args[0])
+		os.Exit(1)
 	}
 }
diff --git a/src/util/embed_test_data.go b/src/util/embed_test_data.go
index a083848..5376fdd 100644
--- a/src/util/embed_test_data.go
+++ b/src/util/embed_test_data.go
@@ -44,6 +44,8 @@
 			buf.WriteString(`\v`)
 		case '"':
 			buf.WriteString(`\"`)
+		case '\\':
+			buf.WriteString(`\\`)
 		default:
 			// printable ascii code [32, 126]
 			if 32 <= b && b <= 126 {
@@ -100,19 +102,21 @@
 	for i, arg := range os.Args[1:] {
 		data, err := ioutil.ReadFile(arg)
 		if err != nil {
-			fmt.Fprintf(os.Stderr, "Error reading %s: %s.\n", data, err)
+			fmt.Fprintf(os.Stderr, "Error reading %s: %s.\n", arg, err)
 			os.Exit(1)
 		}
+		fmt.Printf("static const size_t kLen%d = %d;\n\n", i, len(data))
+
 		fmt.Printf("static const char *kData%d[] = {\n", i)
-		for i := 0; i < len(data); i += chunkSize {
+		for len(data) > 0 {
 			chunk := chunkSize
-			if chunk > len(data)-i {
-				chunk = len(data) - i
+			if chunk > len(data) {
+				chunk = len(data)
 			}
-			fmt.Printf("    %s,\n", quote(data[i:i+chunk]))
+			fmt.Printf("    %s,\n", quote(data[:chunk]))
+			data = data[chunk:]
 		}
 		fmt.Printf("};\n")
-		fmt.Printf("static const size_t kLen%d = %d;\n\n", i, len(data))
 	}
 
 	fmt.Printf(`static std::string AssembleString(const char **data, size_t len) {
diff --git a/src/util/fipstools/break-tests.sh b/src/util/fipstools/break-tests.sh
new file mode 100644
index 0000000..5b1cd21
--- /dev/null
+++ b/src/util/fipstools/break-tests.sh
@@ -0,0 +1,53 @@
+# 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. */
+
+# This script exists to exercise breaking each of the FIPS tests. It builds
+# BoringSSL differently for each test and that can take a long time. Thus it's
+# run twice: once, from a BoringSSL source tree, with "build" as the sole
+# argument to run the builds, and then (from the same location) with no
+# arguments to run each script.
+#
+# Run it with /bin/bash, not /bin/sh, otherwise "read" may fail.
+
+set -x
+
+TESTS="NONE ECDSA_PWCT CRNG RSA_PWCT AES_CBC AES_GCM DES SHA_1 SHA_256 SHA_512 RSA_SIG DRBG ECDSA_SIG"
+
+if [ "x$1" = "xbuild" ]; then
+	for test in $TESTS; do
+		rm -Rf build-$test
+		mkdir build-$test
+		pushd build-$test
+		cmake -GNinja -DCMAKE_TOOLCHAIN_FILE=${HOME}/toolchain -DFIPS=1 -DFIPS_BREAK_TEST=${test} -DCMAKE_BUILD_TYPE=Release ..
+		ninja test_fips
+		popd
+	done
+
+	exit 0
+fi
+
+for test in $TESTS; do
+	pushd build-$test
+	printf "\n\n\\x1b[1m$test\\x1b[0m\n"
+	./fipstools/test_fips
+	echo "Waiting for keypress..."
+	read
+	popd
+done
+
+pushd build-NONE
+printf "\\x1b[1mIntegrity\\x1b[0m\n"
+go run ../util/fipstools/break-hash.go ./fipstools/test_fips ./fipstools/test_fips_broken
+./fipstools/test_fips_broken
+popd
diff --git a/src/util/fipstools/delocate.go b/src/util/fipstools/delocate.go
index 827e446..d58e5be 100644
--- a/src/util/fipstools/delocate.go
+++ b/src/util/fipstools/delocate.go
@@ -795,6 +795,9 @@
 	instrTransformingMove
 	instrJump
 	instrConditionalMove
+	// instrCombine merges the source and destination in some fashion, for example
+	// a 2-operand bitwise operation.
+	instrCombine
 	instrOther
 )
 
@@ -820,6 +823,11 @@
 			return instrJump
 		}
 
+	case "orq", "andq", "xorq":
+		if len(args) == 2 {
+			return instrCombine
+		}
+
 	case "vpbroadcastq":
 		if len(args) == 2 {
 			return instrTransformingMove
@@ -855,24 +863,41 @@
 	}
 }
 
-func saveRegister(w stringWriter) wrapperFunc {
+func saveFlags(w stringWriter, redzoneCleared bool) wrapperFunc {
 	return func(k func()) {
-		w.WriteString("\tleaq -128(%rsp), %rsp\n") // Clear the red zone.
-		w.WriteString("\tpushq %rax\n")
+		if !redzoneCleared {
+			w.WriteString("\tleaq -128(%rsp), %rsp\n") // Clear the red zone.
+			defer w.WriteString("\tleaq 128(%rsp), %rsp\n")
+		}
+		w.WriteString("\tpushfq\n")
 		k()
-		w.WriteString("\tpopq %rax\n")
-		w.WriteString("\tleaq 128(%rsp), %rsp\n")
+		w.WriteString("\tpopfq\n")
 	}
 }
 
-func moveTo(w stringWriter, target string, isAVX bool) wrapperFunc {
+func saveRegister(w stringWriter, avoidReg string) (wrapperFunc, string) {
+	reg := "%rax"
+	if reg == avoidReg {
+		reg = "%rbx"
+	}
+
+	return func(k func()) {
+		w.WriteString("\tleaq -128(%rsp), %rsp\n") // Clear the red zone.
+		w.WriteString("\tpushq " + reg + "\n")
+		k()
+		w.WriteString("\tpopq " + reg + "\n")
+		w.WriteString("\tleaq 128(%rsp), %rsp\n")
+	}, reg
+}
+
+func moveTo(w stringWriter, target string, isAVX bool, source string) wrapperFunc {
 	return func(k func()) {
 		k()
 		prefix := ""
 		if isAVX {
 			prefix = "v"
 		}
-		w.WriteString("\t" + prefix + "movq %rax, " + target + "\n")
+		w.WriteString("\t" + prefix + "movq " + source + ", " + target + "\n")
 	}
 }
 
@@ -883,6 +908,13 @@
 	}
 }
 
+func combineOp(w stringWriter, instructionName, source, dest string) wrapperFunc {
+	return func(k func()) {
+		k()
+		w.WriteString("\t" + instructionName + " " + source + ", " + dest + "\n")
+	}
+}
+
 func isValidLEATarget(reg string) bool {
 	return !strings.HasPrefix(reg, "%xmm") && !strings.HasPrefix(reg, "%ymm") && !strings.HasPrefix(reg, "%zmm")
 }
@@ -938,16 +970,9 @@
 			symbol, offset, section, didChange, symbolIsLocal, memRef := d.parseMemRef(arg.up)
 			changed = didChange
 
-			if symbol == "OPENSSL_ia32cap_P" {
-				var ok bool
-				if section == "GOTPCREL" {
-					ok = instructionName == "movq"
-				} else if section == "" {
-					ok = instructionName == "leaq"
-				}
-
-				if !ok {
-					return nil, fmt.Errorf("instruction %q referenced OPENSSL_ia32cap_P in section %q, should be a movq from GOTPCREL or a direct leaq", instructionName, section)
+			if symbol == "OPENSSL_ia32cap_P" && section == "" {
+				if instructionName != "leaq" {
+					return nil, fmt.Errorf("non-leaq instruction %q referenced OPENSSL_ia32cap_P directly", instructionName)
 				}
 
 				if i != 0 || len(argNodes) != 2 || !d.isRIPRelative(memRef) || len(offset) > 0 {
@@ -963,13 +988,14 @@
 				}
 
 				changed = true
+
+				// Flag-altering instructions (i.e. addq) are going to be used so the
+				// flags need to be preserved.
+				wrappers = append(wrappers, saveFlags(d.output, false /* Red Zone not yet cleared */))
+
 				wrappers = append(wrappers, func(k func()) {
-					d.output.WriteString("\tleaq\t-128(%rsp), %rsp\n") // Clear the red zone.
-					d.output.WriteString("\tpushfq\n")
 					d.output.WriteString("\tleaq\tOPENSSL_ia32cap_addr_delta(%rip), " + reg + "\n")
 					d.output.WriteString("\taddq\t(" + reg + "), " + reg + "\n")
-					d.output.WriteString("\tpopfq\n")
-					d.output.WriteString("\tleaq\t128(%rsp), %rsp\n")
 				})
 
 				break Args
@@ -1021,6 +1047,7 @@
 
 				// Reduce the instruction to movq symbol@GOTPCREL, targetReg.
 				var targetReg string
+				var redzoneCleared bool
 				switch classifyInstruction(instructionName, argNodes) {
 				case instrPush:
 					wrappers = append(wrappers, push(d.output))
@@ -1038,23 +1065,45 @@
 					if isValidLEATarget(targetReg) {
 						return nil, errors.New("Currently transforming moves are assumed to target XMM registers. Otherwise we'll pop %rax before reading it to do the transform.")
 					}
+				case instrCombine:
+					targetReg = d.contents(argNodes[1])
+					if !isValidLEATarget(targetReg) {
+						return nil, fmt.Errorf("cannot handle combining instructions targeting non-general registers")
+					}
+					saveRegWrapper, tempReg := saveRegister(d.output, targetReg)
+					redzoneCleared = true
+					wrappers = append(wrappers, saveRegWrapper)
+
+					wrappers = append(wrappers, combineOp(d.output, instructionName, tempReg, targetReg))
+					targetReg = tempReg
 				default:
 					return nil, fmt.Errorf("Cannot rewrite GOTPCREL reference for instruction %q", instructionName)
 				}
 
-				var redzoneCleared bool
 				if !isValidLEATarget(targetReg) {
 					// Sometimes the compiler will load from the GOT to an
 					// XMM register, which is not a valid target of an LEA
 					// instruction.
-					wrappers = append(wrappers, saveRegister(d.output))
+					saveRegWrapper, tempReg := saveRegister(d.output, "")
+					wrappers = append(wrappers, saveRegWrapper)
 					isAVX := strings.HasPrefix(instructionName, "v")
-					wrappers = append(wrappers, moveTo(d.output, targetReg, isAVX))
-					targetReg = "%rax"
+					wrappers = append(wrappers, moveTo(d.output, targetReg, isAVX, tempReg))
+					targetReg = tempReg
+					if redzoneCleared {
+						return nil, fmt.Errorf("internal error: Red Zone was already cleared")
+					}
 					redzoneCleared = true
 				}
 
-				if useGOT {
+				if symbol == "OPENSSL_ia32cap_P" {
+					// Flag-altering instructions (i.e. addq) are going to be used so the
+					// flags need to be preserved.
+					wrappers = append(wrappers, saveFlags(d.output, redzoneCleared))
+					wrappers = append(wrappers, func(k func()) {
+						d.output.WriteString("\tleaq\tOPENSSL_ia32cap_addr_delta(%rip), " + targetReg + "\n")
+						d.output.WriteString("\taddq\t(" + targetReg + "), " + targetReg + "\n")
+					})
+				} else if useGOT {
 					wrappers = append(wrappers, d.loadFromGOT(d.output, targetReg, symbol, section, redzoneCleared))
 				} else {
 					wrappers = append(wrappers, func(k func()) {
@@ -1239,8 +1288,8 @@
 	}
 
 	w.WriteString(".text\n")
-	w.WriteString(fmt.Sprintf(".file %d \"inserted_by_delocate.c\"\n", maxObservedFileNumber + 1))
-	w.WriteString(fmt.Sprintf(".loc %d 1 0\n", maxObservedFileNumber + 1))
+	w.WriteString(fmt.Sprintf(".file %d \"inserted_by_delocate.c\"\n", maxObservedFileNumber+1))
+	w.WriteString(fmt.Sprintf(".loc %d 1 0\n", maxObservedFileNumber+1))
 	w.WriteString("BORINGSSL_bcm_text_start:\n")
 
 	for _, input := range inputs {
@@ -1250,7 +1299,7 @@
 	}
 
 	w.WriteString(".text\n")
-	w.WriteString(fmt.Sprintf(".loc %d 2 0\n", maxObservedFileNumber + 1))
+	w.WriteString(fmt.Sprintf(".loc %d 2 0\n", maxObservedFileNumber+1))
 	w.WriteString("BORINGSSL_bcm_text_end:\n")
 
 	// Emit redirector functions. Each is a single jump instruction.
diff --git a/src/util/fipstools/testdata/x86_64-GOTRewrite/in.s b/src/util/fipstools/testdata/x86_64-GOTRewrite/in.s
index 0f9c70e..ccbc0bf 100644
--- a/src/util/fipstools/testdata/x86_64-GOTRewrite/in.s
+++ b/src/util/fipstools/testdata/x86_64-GOTRewrite/in.s
@@ -6,6 +6,12 @@
 	# As is the equivalent GOTPCREL movq.
 	movq OPENSSL_ia32cap_P@GOTPCREL(%rip), %r12
 
+	# And a non-movq instruction via the GOT.
+	orq OPENSSL_ia32cap_P@GOTPCREL(%rip), %r12
+
+	# ... which targets the default temp register
+	orq OPENSSL_ia32cap_P@GOTPCREL(%rip), %rax
+
 	# Test that GOTPCREL accesses get translated. They are handled
 	# differently for local and external symbols.
 
diff --git a/src/util/fipstools/testdata/x86_64-GOTRewrite/out.s b/src/util/fipstools/testdata/x86_64-GOTRewrite/out.s
index 0485c87..3d421e5 100644
--- a/src/util/fipstools/testdata/x86_64-GOTRewrite/out.s
+++ b/src/util/fipstools/testdata/x86_64-GOTRewrite/out.s
@@ -7,21 +7,45 @@
 foo:
 	# leaq of OPENSSL_ia32cap_P is supported.
 # WAS leaq OPENSSL_ia32cap_P(%rip), %r11
-	leaq	-128(%rsp), %rsp
+	leaq -128(%rsp), %rsp
 	pushfq
 	leaq	OPENSSL_ia32cap_addr_delta(%rip), %r11
 	addq	(%r11), %r11
 	popfq
-	leaq	128(%rsp), %rsp
+	leaq 128(%rsp), %rsp
 
 	# As is the equivalent GOTPCREL movq.
 # WAS movq OPENSSL_ia32cap_P@GOTPCREL(%rip), %r12
-	leaq	-128(%rsp), %rsp
+	leaq -128(%rsp), %rsp
 	pushfq
 	leaq	OPENSSL_ia32cap_addr_delta(%rip), %r12
 	addq	(%r12), %r12
 	popfq
-	leaq	128(%rsp), %rsp
+	leaq 128(%rsp), %rsp
+
+	# And a non-movq instruction via the GOT.
+# WAS orq OPENSSL_ia32cap_P@GOTPCREL(%rip), %r12
+	leaq -128(%rsp), %rsp
+	pushq %rax
+	pushfq
+	leaq	OPENSSL_ia32cap_addr_delta(%rip), %rax
+	addq	(%rax), %rax
+	popfq
+	orq %rax, %r12
+	popq %rax
+	leaq 128(%rsp), %rsp
+
+	# ... which targets the default temp register
+# WAS orq OPENSSL_ia32cap_P@GOTPCREL(%rip), %rax
+	leaq -128(%rsp), %rsp
+	pushq %rbx
+	pushfq
+	leaq	OPENSSL_ia32cap_addr_delta(%rip), %rbx
+	addq	(%rbx), %rbx
+	popfq
+	orq %rbx, %rax
+	popq %rbx
+	leaq 128(%rsp), %rsp
 
 	# Test that GOTPCREL accesses get translated. They are handled
 	# differently for local and external symbols.
diff --git a/src/util/generate_build_files.py b/src/util/generate_build_files.py
index caed812..11b9a8a 100644
--- a/src/util/generate_build_files.py
+++ b/src/util/generate_build_files.py
@@ -47,6 +47,7 @@
 }
 
 PREFIX = None
+EMBED_TEST_DATA = True
 
 
 def PathOf(x):
@@ -220,6 +221,8 @@
       self.PrintVariableSection(out, 'crypto_test_sources',
                                 files['crypto_test'])
       self.PrintVariableSection(out, 'ssl_test_sources', files['ssl_test'])
+      self.PrintVariableSection(out, 'crypto_test_data',
+                                files['crypto_test_data'])
 
 
 class Eureka(object):
@@ -609,16 +612,18 @@
       FindHeaderFiles(os.path.join('src', 'crypto', 'test'), AllFiles) +
       FindHeaderFiles(os.path.join('src', 'ssl', 'test'), NoTestRunnerFiles))
 
-  # Generate crypto_test_data.cc
-  with open('crypto_test_data.cc', 'w+') as out:
-    subprocess.check_call(
-        ['go', 'run', 'util/embed_test_data.go'] + cmake['CRYPTO_TEST_DATA'],
-        cwd='src',
-        stdout=out)
+  crypto_test_files = []
+  if EMBED_TEST_DATA:
+    # Generate crypto_test_data.cc
+    with open('crypto_test_data.cc', 'w+') as out:
+      subprocess.check_call(
+          ['go', 'run', 'util/embed_test_data.go'] + cmake['CRYPTO_TEST_DATA'],
+          cwd='src',
+          stdout=out)
+    crypto_test_files += ['crypto_test_data.cc']
 
-  crypto_test_files = FindCFiles(os.path.join('src', 'crypto'), OnlyTests)
+  crypto_test_files += FindCFiles(os.path.join('src', 'crypto'), OnlyTests)
   crypto_test_files += [
-      'crypto_test_data.cc',
       'src/crypto/test/file_test_gtest.cc',
       'src/crypto/test/gtest_main.cc',
   ]
@@ -650,6 +655,7 @@
       'crypto_headers': crypto_h_files,
       'crypto_internal_headers': crypto_internal_h_files,
       'crypto_test': sorted(crypto_test_files),
+      'crypto_test_data': sorted('src/' + x for x in cmake['CRYPTO_TEST_DATA']),
       'fips_fragments': fips_fragments,
       'fuzz': fuzz_c_files,
       'ssl': ssl_source_files,
@@ -675,8 +681,13 @@
       ' [android|bazel|eureka|gn|gyp]')
   parser.add_option('--prefix', dest='prefix',
       help='For Bazel, prepend argument to all source files')
+  parser.add_option(
+      '--embed_test_data', type='choice', dest='embed_test_data',
+      action='store', default="true", choices=["true", "false"],
+      help='For Bazel, don\'t embed data files in crypto_test_data.cc')
   options, args = parser.parse_args(sys.argv[1:])
   PREFIX = options.prefix
+  EMBED_TEST_DATA = (options.embed_test_data == "true")
 
   if not args:
     parser.print_help()
diff --git a/src/util/whitespace.txt b/src/util/whitespace.txt
new file mode 100644
index 0000000..08ccc0a
--- /dev/null
+++ b/src/util/whitespace.txt
@@ -0,0 +1 @@
+This file is ignored. It exists to make no-op commits to trigger new builds.